KR101311527B1 - Video processing apparatus and video processing method for video coding - Google Patents
Video processing apparatus and video processing method for video coding Download PDFInfo
- Publication number
- KR101311527B1 KR101311527B1 KR1020120020035A KR20120020035A KR101311527B1 KR 101311527 B1 KR101311527 B1 KR 101311527B1 KR 1020120020035 A KR1020120020035 A KR 1020120020035A KR 20120020035 A KR20120020035 A KR 20120020035A KR 101311527 B1 KR101311527 B1 KR 101311527B1
- Authority
- KR
- South Korea
- Prior art keywords
- transform
- blocks
- quantization
- unit
- block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
변환 및 양자화 처리를 수행하는 영상처리장치로서, 복수의 변환블록을 포함하고, 복수의 변환블록은 병렬로 구성되며, 각 변환블록은 입력받은 데이터를 변환하는 변환부, 그리고 복수의 변환블록 각각에 대응하는 복수의 양자화블록을 포함하고, 각 양자화블록은 대응하는 변환블록으로부터 전달된 데이터를 양자화하는 양자화부를 포함하고, 복수의 변환블록과 복수의 양자화블록 중에서, 변환유닛(transform unit)의 크기에 따라 일부 블록은 활성화되고, 나머지 블록은 비활성화된다.An image processing apparatus for performing transformation and quantization processing, comprising: a plurality of transform blocks, the plurality of transform blocks are configured in parallel, and each transform block includes a transform unit for converting input data, and a plurality of transform blocks, respectively. A plurality of quantization blocks, each quantization block including a quantization unit for quantizing data transmitted from a corresponding transform block, and among the plurality of transform blocks and the plurality of quantization blocks, a size of a transform unit; As a result, some blocks are activated and others are deactivated.
Description
본 발명은 고효율 비디오 코딩을 위한 영상처리장치에 관한 것이다.The present invention relates to an image processing apparatus for high efficiency video coding.
최근의 멀티미디어 서비스는 고화질(High Definition, HD)이나 초고화질(Ultra High Definition, UHD)의 영상을 요구한다. 그래서, 최근 표준화 기구인 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은, JCT-VC(Joint Collaborative Team on Video Coding) 표준화 회의를 시작으로 차세대 영상 압축 표준인 고효율 비디오 코딩(High Efficiency Video Coding, HEVC)을 연구하기 시작했다.Recent multimedia services require high definition (HD) or ultra high definition (UHD) video. So, the recent standardization bodies, Moving Picture Experts Group (MPEG) and Video Coding Experts Group (VCEG), have started the Joint Collaborative Team on Video Coding (JCT-VC) standardization meeting, which is the next generation of video compression standard, High Efficiency. Video Coding (HEVC).
HEVC에서, 기본 변환과 양자화를 수행하는 변환유닛(Transform Unit,TU)은 코딩유닛(Coding Unit, CU)이나 예측유닛(Prediction Unit,PU)의 크기에 따라 크기가 결정된다. 변환유닛(TU)의 최대 크기는 32x32이고, 최소 크기는 4x4이며, 코딩유닛(CU)과 예측유닛(PU)에 의해 결정된 N의 값에 따라 분할된다. 이때, 다양한 코딩유닛(CU) 크기에 따라 활용 가능한 변환유닛(TU) 크기는 여러 가지가 있을 수 있다. 따라서, 지금까지의 변환기는 변환유닛(TU) 크기별로 별도의 하드웨어가 설계되어야 한다. 또한 변환유닛(TU)의 처리에 있어 초고해상도 영상의 처리를 위하여 멀티 코어 기반의 구조 설계 및 개선이 필요하다.In HEVC, a transform unit (TU) that performs basic transform and quantization is sized according to the size of a coding unit (CU) or a prediction unit (PU). The maximum size of the transform unit (TU) is 32x32, the minimum size is 4x4, and is divided according to the value of N determined by the coding unit CU and the prediction unit PU. In this case, there may be various sizes of transform units (TUs) available according to various coding unit (CU) sizes. Therefore, conventional transducers have to be designed with separate hardware for each conversion unit (TU) size. In addition, in the processing of the conversion unit (TU), it is necessary to design and improve the structure based on the multi-core for the processing of the ultra high resolution image.
본 발명이 해결하고자 하는 과제는 병렬로 구성된 복수의 변환블록과 복수의 양자화블록을 기초로 다양한 크기의 변환유닛을 적응적으로 변환 처리하는 영상처리장치 및 영상처리방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide an image processing apparatus and an image processing method for adaptively transforming transform units having various sizes based on a plurality of transform blocks and a plurality of quantization blocks configured in parallel.
본 발명의 한 실시예에 따른 변환 및 양자화 처리를 수행하는 영상처리장치로서, 복수의 변환블록을 포함하고, 상기 복수의 변환블록은 병렬로 구성되며, 각 변환블록은 입력받은 데이터를 변환하는 변환부, 그리고 상기 복수의 변환블록 각각에 대응하는 복수의 양자화블록을 포함하고, 각 양자화블록은 대응하는 변환블록으로부터 전달된 데이터를 양자화하는 양자화부를 포함하고, 상기 복수의 변환블록과 상기 복수의 양자화블록 중에서, 변환유닛(transform unit)의 크기에 따라 일부 블록은 활성화되고 나머지 블록은 비활성화된다.An image processing apparatus for performing transformation and quantization processing according to an embodiment of the present invention, comprising: a plurality of transform blocks, the plurality of transform blocks are configured in parallel, and each transform block is a transform for transforming input data. And a plurality of quantization blocks corresponding to each of the plurality of transform blocks, each quantization block including a quantization unit for quantizing data transferred from a corresponding transform block, and the plurality of transform blocks and the plurality of quantization blocks. Among the blocks, some blocks are activated and others are deactivated according to the size of the transform unit.
상기 영상처리장치는 상기 변환부에서 처리하는 변환유닛(transform unit)의 크기를 기초로 상기 복수의 변환블록과 상기 복수의 양자화블록 중 일정 개수를 활성화시키는 제어부를 더 포함할 수 있다.The image processing apparatus may further include a controller configured to activate a predetermined number of the plurality of transform blocks and the plurality of quantization blocks based on the size of a transform unit processed by the transform unit.
상기 영상처리장치는 듀얼 메모리로 구성되며, 데이터를 병렬로 출력하여 상기 복수의 변환블록으로 전달하는 메모리부를 더 포함할 수 있다.The image processing apparatus may include a dual memory, and may further include a memory unit for outputting data in parallel and transferring the data to the plurality of conversion blocks.
상기 변환부는 일부 정보를 기초로 변환처리에 필요한 나머지 정보를 예측하도록 값이 설정된 변환 기저 벡터를 이용할 수 있다.The transform unit may use a transform basis vector whose value is set to predict the remaining information required for the conversion process based on some information.
상기 변환부는 부분 버터플라이 연산기를 용할 수 있다.The converter may use a partial butterfly operator.
본 발명의 다른 실시예에 따른 영상처리장치가 변환 및 양자화 처리를 수행하는 방법으로서, 병렬로 구성된 복수의 변환블록 중에서 변환유닛(transform unit)의 크기를 기초로 변환처리에 이용할 제1 활성화 블록 그룹을 결정하는 단계, 상기 복수의 변환블록에 각각 대응하는 복수의 양자화블록 중에서, 상기 제1 활성화 블록에 대응하는 제2 활성화 블록 그룹을 결정하는 단계, 상기 제1 활성화 블록 그룹과 상기 제2 활성화 블록 그룹을 활성화하는 단계, 상기 제1 활성화 블록 그룹으로 데이터를 병렬로 입력하여 변환하는 단계, 그리고 상기 제1 활성화 블록 그룹의 출력 데이터를 대응하는 상기 제2 활성화 블록 그룹으로 각각 입력하여 양자화하는 단계를 포함한다.A method of performing a transform and quantization process by an image processing apparatus according to another embodiment of the present invention, the first active block group to be used for transform processing based on the size of a transform unit among a plurality of transform blocks configured in parallel Determining a second activation block group corresponding to the first activation block among a plurality of quantization blocks respectively corresponding to the plurality of transform blocks, wherein the first activation block group and the second activation block are determined. Activating the group, inputting and converting data in parallel to the first activation block group, and inputting and quantizing the output data of the first activation block group to the corresponding second activation block group, respectively. Include.
상기 변환블록은 일부 정보를 기초로 변환처리에 필요한 나머지 정보를 예측하도록 값이 설정된 변환 기저 벡터를 이용하여 변환할 수 있다.The transform block may transform using a transform basis vector whose value is set to predict the remaining information necessary for the transform process based on some information.
상기 변환블록은 부분 버터플라이 연산기를 이용할 수 있다.The transform block may use a partial butterfly operator.
본 발명의 실시예에 따르면 다양한 크기의 변환유닛이 입력되더라도 변환블록을 선택적으로 활성화하여 변환 처리할 수 있고, 입력 데이터를 병렬 처리하여 데이터 처리 성능을 향상시킬 수 있다. 또한 본 발명의 실시예에 따르면 변환 기저 벡터의 반복성을 기초로 룩업테이블 크기를 줄일 수 있다.According to an embodiment of the present invention, even if a conversion unit of various sizes is input, the conversion block may be selectively activated to perform conversion processing, and the input data may be processed in parallel to improve data processing performance. In addition, according to an embodiment of the present invention, the lookup table size may be reduced based on the repeatability of the transform basis vector.
도 1은 본 발명의 한 실시예에 따른 영상처리장치의 블록도이다.
도 2는 본 발명의 한 실시예에 따른 영상처리장치의 상세 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 영상처리장치의 상세 블록도이다.
도 4는 본 발명의 한 실시예에 따른 변환 변환 기저 벡터를 설명하는 도면이다.
도 5는 본 발명의 한 실시예에 따른 버터플라이 연산부를 설명하는 도면이다.
도 6은 본 발명의 한 실시예예에 따른 양자화처리에 관계된 블록도이다.
도 7은 본 발명의 한 실시예에 따른 변환 및 양자화에 관계된 타이밍도이다.
도 8은 본 발명의 한 실시예에 따른 영상처리방법의 흐름도이다.1 is a block diagram of an image processing apparatus according to an embodiment of the present invention.
2 is a detailed block diagram of an image processing apparatus according to an embodiment of the present invention.
3 is a detailed block diagram of an image processing apparatus according to another exemplary embodiment of the present invention.
4 is a diagram illustrating a transform transform basis vector according to an embodiment of the present invention.
5 is a view for explaining a butterfly calculation unit according to an embodiment of the present invention.
6 is a block diagram related to quantization processing according to an embodiment of the present invention.
7 is a timing diagram related to transform and quantization according to an embodiment of the present invention.
8 is a flowchart of an image processing method according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.
이제 도면을 참고하여 본 발명의 실시예에 따른 고효율 비디오 코딩을 위한 영상처리장치에 대하여 상세하게 설명한다. 참고로 도면에 표시된 먹스(MUX)는 신호를 분리하고 통합하는 일반적 장치이다.Now, an image processing apparatus for high efficiency video coding according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. MUX shown in the drawings is a general device for separating and integrating signals.
도 1은 본 발명의 한 실시예에 따른 영상처리장치의 블록도이다.1 is a block diagram of an image processing apparatus according to an embodiment of the present invention.
도 1을 참고하면, 영상처리장치(100)는 고효율 비디오 코딩(High Efficiency Video Coding, HEVC)을 위한 변환 및 양자화 처리를 수행한다. 영상처리장치(100)는 입력부(200), 메모리부(300), 변환부(400), 양자화부(500), 출력부(600), 그리고 제어부(700)를 포함한다.Referring to FIG. 1, the
입력부(200)는 변환 및 양자화 처리를 위한 데이터를 입력받는다.The
메모리부(300)는 입력부(200)로부터 전달받은 데이터를 복수의 메모리 뱅크(memory bank)에 구분하여 저장한다. 이때, 메모리부(300)는 듀얼 메모리(dual memory) 구조일 수 있다.The
변환부(400)는 메모리부(300)로부터 전달받은 데이터를 변환(transform)한다. 이때, 변환부(400)는 복수의 변환블록(transform block)이 병렬로 구성된다. 변환블록 각각은 메모리부(300)로부터 데이터를 전달받아 동시에 변환처리한다. HEVC 변환 구조는 표 1과 같다. 코딩유닛(CU)의 크기가 64X64인 경우, 가능한 코딩유닛(CU)의 크기는 64X64, 32X32, 16X16, 8X8이며, 활용 가능한 변환유닛(TU)은 4X4부터 최대 32X32 크기까지 다양하다. 변환은 고효율 모드(high efficiency)에서 세단계로 적용되며, 저복잡도 모드(low complexity)의 경우 두 단계로 적용이 된다.The
변환부(400)는 에너지의 컴팩션(compaction)으로 분산되어 있는 공간 도메인(spatial domain)의 신호들을 주파수 도메인(Frequency domain)으로 변환하여 주요 성분을 이용한다. 변환부(400)는 다양한 변환 방법을 이용할 수 있는데, 예를 들면, 격자 DCT 기반 변환(Square DCT based transform), 격자 DST 기반 변환(Square DST based transform), 비격자 쿼드트리 변환(Non Square Quad-tree Transform, NSQP)을 할 수 있다. HEVC에서 8X8부터 최대 32X32 크기의 격자 블록(square block)이 사용된다. 비격자 쿼드트리 변환에서는 4X16, 16X4, 8X32, 32X8 크기가 이용될 수 있다. The
양자화부(500)는 변환부(400)로부터 전달받은 데이터를 양자화(quantization)한다. 이때, 양자화부(500)는 복수의 양자화블록(quantization block)이 병렬로 구성된다. 양자화블록 각각은 변환부(400)의 대응 변환블록으로부터 데이터를 전달받아 양자화처리를 동시에 수행한다. The
양자화부(500)는 기본적으로 예측하고 남은 오차 값을 변환한 변환계수의 크기를 줄이기 위하여 변환유닛(TU)내의 변환 계수를 테이블로 나누는 양자화를 수행한다. HEVC의 양자화는 변환유닛(TU)의 크기로 휘도, 색차 성분 각각에 적용된다. 그리고 HEVC의 양자화 및 역양자화 테이블은 같은 값으로 이루어져 있으며 양자화 파라미터(Quantization parameter, QP)값에 의해서 달라진다. 양자화부(500)는 QP값과 현재의 변환유닛(TU) 크기, 그리고 크로마 성분(chroma component)의 값을 기초로 주어진 QP 배열의 순서에 맞는 QP값으로 변경한다. 양자화부(500)는 루마(luma)일 경우에는 QP값을 그대로 사용한다.The
출력부(600)는 양자화부(500)로부터 전달받은 양자화된 데이터를 출력한다.The
제어부(700)는 입력부(200)에 입력된 데이터의 크기를 기초로 변환부(400)의 변환 블록들을 활성화 또는 비활성화한다. 마찬가지로, 제어부(700)는 변환부(400)의 변환블록에 대응하여 양자화블록을 활성화 또는 비활성화한다. 예를 들면, 제어부(700)는 4X4 크기의 변환유닛(TU)을 처리하는 경우, 4X4 크기 처리에 요구되는 변환블록들과 양자화블록들은 활성화하고, 나머지 변환블록과 양자화블록은 비활성화한다. 이를 통해 제어부(700)는 다양한 크기의 변환유닛(TU)이 변환부(400)에서 변환처리되도록 제어한다. The
제어부(700)는 QP 변경에 관계된 신호를 생성하여 입력부(200)로 전달한다. 제어부(700)는 변환부(400)와 양자화부(500)의 상태를 기초로 QP 변경 가능(QP change enable) 신호를 입력부(200)로 전달할 수 있다. 제어부(700)는 변환유닛(TU)의 크기를 기초로 QP값을 변경할 수 있다. 이를 수신한 입력부(200)는 QP값을 변경하여 양자화부(500)로 전달할 수 있다.The
도 2는 본 발명의 한 실시예에 따른 영상처리장치의 상세 블록도이다.2 is a detailed block diagram of an image processing apparatus according to an embodiment of the present invention.
도 2를 참고하면, 변환부(400)와 양자화부(500)는 병렬로 데이터를 처리한다. 변환부(400)는 복수의 변환블록(40)을 포함하고, 복수의 변환블록(40)은 병렬로 구성된다. 여기서, 변환블록(40) 각각은 메모리부(300)로부터 데이터를 전달받아 동시에 변환처리한다. 변환부(400)는, 예를 들면 33개의 변환블록(40)을 포함하여 최대 32X32 크기의 변환유닛(TU)을 처리할 수 있다.Referring to FIG. 2, the
변환부(400)는 이산 코사인 변환(Discrete Cosine Transform, DCT)하는 경우, 트리(tree) 구조의 가변구조이므로, 인덱스(index) 기반으로 모드를 선택할 수 있는 구조로 설계된다. 변환부(400)는 서브 매트릭스(Sub-matrix) 구조로 하드웨어가 설계된다. 이때, 변환부(400)는 완전 인수분해(full factorization)를 지원하며, 부분 버터플라이(partial butterfly) 구조로 설계하여 하드웨어의 복잡도를 감소시키고, 매트릭스 연산(matrix multiplication)을 효율적으로 지원한다. When the discrete cosine transform (DCT) is a discrete cosine transform (DCT), the
움직임이 거의 없는 영상에서 나머지(residual) 성분의 상관도가 높아 큰 변환유닛(TU)가 많이 사용되며, 반대로 움직임이 많거나 복잡한 텍스처를 포함한 영상의 경우에는 작은 변환유닛(TU)이 많이 선택된다. HEVC 코덱에서 움직임이 많고 적음을 예측하는 것은 어렵기 때문에 모든 사이즈의 변환유닛(TU)을 만족시키기 위하여 큰 변환유닛(TU)인 32X32은 기본적인 DCT를 이용하고, 그보다 작은 16X16, 8X8, 4X4는 32X32 DCT 블록에서 처리가 가능하기 때문에 별도 블록을 사용하지 않고 공유하여 사용할 수 있다. 이때, 작은 변환유닛(TU)의 경우에는 동일한 사이즈의 영상을 처리할 경우에도 처리할 영상의 수가 많아지기 때문에 복수의 변환블록(40)을 이용하여 병렬처리한다.Large transform units (TUs) are often used in images with almost no motion, and large transform units (TUs) are used. On the contrary, many transform units (TUs) are selected for images with many movements or complex textures. . In the HEVC codec, it is difficult to predict a lot of motion and a small amount, so the 32X32, which is a large conversion unit (TU), uses the basic DCT, and the smaller 16X16, 8X8, and 4X4 are 32X32 to satisfy all sizes of the conversion unit (TU). Because it can be processed in DCT block, it can be shared without using separate block. In this case, in the case of the small conversion unit TU, the number of images to be processed increases even when the video of the same size is processed, so that the plurality of conversion blocks 40 are used for parallel processing.
양자화부(500)는 복수의 양자화블록(50)을 포함하고, 복수의 양자화블록(50)은 병렬로 구성된다. 여기서, 양자화블록(50) 각각은 대응하는 변환블록(40)으로부터 데이터를 전달받아 동시에 양자화처리한다. 이때 양자화부(500)는 양자화 룩업테이블부(800)의 룩업테이블을 이용하여 양자화처리할 수 있다. 양자화 룩업테이블부(800)는 양자화 룩업테이블 업데이터(quantization LUT updator)(80), 양자화 룩업테이블(81, 82)을 포함할 수 있다.The
도 3은 본 발명의 다른 실시예에 따른 영상처리장치의 상세 블록도이고, 도 4는 본 발명의 한 실시예에 따른 변환 변환 기저 벡터를 설명하는 도면이며, 도 5는 본 발명의 한 실시예에 따른 버터플라이 연산부를 설명하는 도면이다.FIG. 3 is a detailed block diagram of an image processing apparatus according to another embodiment of the present invention, FIG. 4 is a diagram illustrating a transform transform basis vector according to an embodiment of the present invention, and FIG. 5 is an embodiment of the present invention. It is a figure explaining the butterfly calculation part which concerns on.
도 3을 참고하면, 메모리부(300)는 복수의 메모리 뱅크(30)로 구성된다. 메모리부(300)는 입력부(200)로부터 전달받은 데이터를 일정 크기로 나누어 복수의 메모리 뱅크(30)에 순서대로 저장한다. Referring to FIG. 3, the
변환블록(40)은 변환 룩업테이블(41), 변환 오퍼레이터(42, 43), 그리고 버터플라이 연산부(44)를 포함한다. 변환블록(40)은 변환 기저 벡터(basis vector) 기반의 변환 룩업테이블(41)을 기초로 변환처리한다. 그리고 변환블록(40)은 버터플라이 연산부(44)를 이용하여 연산의 복잡도를 줄인다. The
도 4를 참고하면, 변환 기저 벡터는 반복성, 규칙성을 이용하여 일부 정보로 나머지 정보를 예측할 수 있는 패턴으로 구성된다. 예를 들면, 변환 기저 벡터는 가운데 포인트를 중심으로 좌우 대칭 또는 원점 대칭이 되는 값으로 구성할 수 있다. 따라서, 변환 기저 벡터 중 어느 한 구역, 예를 들면 1구역의 값을 알면, 나머지 2구역, 3구역, 4구역의 값을 예측할 수 있다. 따라서, 변환블록(40)은 지금까지 이용된 룩업테이블보다 1/2이나 1/4의 크기로 줄일 수 있다. 결국, 변환블록(40)은 필요한 변환 룩업테이블 크기의 1/4수준의 값으로도 변환처리할 수 있다.Referring to FIG. 4, the transform basis vector is composed of a pattern for predicting the remaining information using some information using repeatability and regularity. For example, the transform basis vector may be configured with a value that is symmetrical about the center point or origin symmetry. Thus, knowing the value of any one of the transform basis vectors, e. Therefore, the
도 5를 참고하면, 버터플라이 연산부(44)는 하드웨어의 병렬 처리 시, 입력된 residual data를 간단한 덧셈 및 시프트(shift) 연산을 이용한 부분 버터플라이 구조를 이용한다. 따라서, 버터플라이 연산부(44)는 연산기의 복잡도를 줄일 수 있다.Referring to FIG. 5, the
다시 도 3을 참고하면, 양자화블록(50)은 대응하는 변환블록(40)으로부터 변환처리된 데이터를 수신한다. 이때, 양자화블록(50)은 QP값과 변환 결과값(coefficients)이 입력된다. Referring back to FIG. 3, the
도 6은 본 발명의 한 실시예예에 따른 양자화처리에 관계된 블록도이다.6 is a block diagram related to quantization processing according to an embodiment of the present invention.
도 6을 참고하면, 양자화블록(50)는 대응하는 변환블록(40)으로부터 데이터를 입력받아 동시에 양자화처리한다. 이때 양자화블록(50)는 양자화 룩업테이블부(800)의 룩업테이블을 이용하여 양자화처리한다.Referring to FIG. 6, the
양자화블록(50)은 미리 계산한 양자화 룩업테이블부(800)을 사용한다. 즉, 양자화블록(50)은 계산 시 PF(Position factor), MF(Multiplication Factor), qbits, f 등과 같은 값이 필요하므로, 계산량이 많은 값들 예를 들면, qbits와 f 값들은 미리 계산하여 양자화 룩업테이블에 저장해 둔다. The
양자화블록(50)이 양자화 룩업테이블부(800)을 이용할 경우 QP의 몫(quotient)과 나머지(reminder)의 값을 계산하기 위한 모듈러 연산이 필요하다. 모듈러 연산은 비교기(comparator)와 덧셈기 만으로 구현 가능하므로, 양자화부(500)의 복잡도를 감소시킬 수 있다.When the
도 7은 본 발명의 한 실시예에 따른 변환 및 양자화에 관계된 타이밍도이다.7 is a timing diagram related to transform and quantization according to an embodiment of the present invention.
도 7을 참고하면, 영상처리장치(100)는 변환 및 양자화 처리시, 입력 데이터, 출력 데이터, 그리고 상위 모듈과의 인터페이스를 위해 타이밍도에 따라 동작한다. 예를 들어, 32X32 크기의 변환유닛(TU)이 입력 데이터 가능(input data enable) 신호와 함께 입력부(200)에 입력 데이터(input data)로 입력되는 경우를 가정한다.Referring to FIG. 7, the
제어부(700)는 데이터의 입력과 함께 QP값이 입력되고, QP값에 따라 양자화를 위한 양자화 룩업테이블이 준비되면 양자화 룩업테이블 준비(Quantization LUT ready) 신호를 출력한다. 그리고, 변환부(400)가 입력 데이터를 변환처리하고, 양자화부(500)는 QP값을 기초로 양자화처리한다. 변환부(400)와 양자화부(500)는 32 클럭의 차이를 두고 데이터를 처리한다. 출력부(600)는 변환부(400)와 양자화부(500)에서 처리한 데이터를 출력 데이터 가능(output data enable) 신호와 함께 출력한다. The
QP 변경 가능(QP change enable) 신호가 하이(high)이면, 변환부(400)와 양자화부(500)에서 다음 데이터를 처리할 수 있는 상태를 나타내고, QP 변경 가능 신호가 로우(low)이면, 아직 변환부(400)와 양자화부(500)에서 데이터를 처리 중이므로 입력 데이터를 받을 수 없는 상태를 나타낸다. If the QP change enable signal is high, the
입력부(200)가 입력 데이터를 병렬로 받을 경우 32 클럭이 소요되고, 직렬로받을 경우, 32X32 클럭이 소요된다. 따라서, 영상처리장치(100)의 활용 용도에 따라 유연하게 설계할 수 있다.When the
도 8은 본 발명의 한 실시예에 따른 영상처리방법의 흐름도이다.8 is a flowchart of an image processing method according to an embodiment of the present invention.
도 8을 참고하면, 영상처리장치(100)는 병렬로 구성된 복수의 변환블록(40) 중에서 변환유닛(TU)의 크기를 기초로 변환처리에 이용할 제1 활성화 블록 그룹을 결정한다(S810). 예를 들면, 4X4 크기의 데이터가 입력되는 경우, 영상처리장치(100)는 4개의 변환블록(40)을 활성화 블록 그룹으로 결정할 수 있다. 마찬가지로, 8X8 크기의 데이터가 입력되는 경우, 영상처리장치(100)는 8개의 변환블록(40)을 활성화 블록 그룹으로 결정할 수 있다. 여기서 변환블록(40)은 도 2내지 도 5를 참고로 설명한 바와 같이, 병렬로 구성되며, 일부 정보를 기초로 변환처리에 필요한 나머지 정보를 예측하도록 값이 설정된 변환 기저 벡터를 이용해 룩업테이블의 크기를 줄인다. 그리고 변환블록(40)은 부분 버터플라이 구조를 이용하여 연산의 복잡도를 줄인다. Referring to FIG. 8, the
영상처리장치(100)는 복수의 변환블록(40)에 각각 대응하는 복수의 양자화블록(50) 중에서, 제1 활성화 블록에 대응하는 제2 활성화 블록 그룹을 결정한다(S820). The
영상처리장치(100)는 제1 활성화 블록 그룹과 제2 활성화 블록 그룹을 활성화한다(S830).The
영상처리장치(100)는 제1 활성화 블록 그룹으로 데이터를 병렬로 입력하여 변환한다(S840).The
영상처리장치(100)는 제1 활성화 블록 그룹의 출력 데이터를 대응하는 제2 활성화 블록 그룹으로 각각 입력하여 양자화한다(S850).The
이와 같이 본 발명의 실시예에 따르면 다양한 크기의 변환유닛이 입력되더라도 변환블록을 선택적으로 활성화하여 변환 처리할 수 있고, 입력 데이터를 병렬 처리하여 데이터 처리 성능을 향상시킬 수 있다. 또한 본 발명의 실시예에 따르면 변환 기저 벡터의 반복성을 기초로 룩업테이블 크기를 줄일 수 있다.As described above, according to the exemplary embodiment of the present invention, even when a conversion unit having various sizes is input, the conversion block can be selectively activated to perform conversion processing, and the input data can be processed in parallel to improve data processing performance. In addition, according to an embodiment of the present invention, the lookup table size may be reduced based on the repeatability of the transform basis vector.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.
Claims (8)
복수의 변환블록을 포함하고, 상기 복수의 변환블록은 병렬로 구성되며, 각 변환블록은 입력받은 데이터를 변환하는 변환부, 그리고
상기 복수의 변환블록 각각에 대응하는 복수의 양자화블록을 포함하고, 각 양자화블록은 대응하는 변환블록으로부터 전달된 데이터를 양자화하는 양자화부
를 포함하고,
상기 복수의 변환블록과 상기 복수의 양자화블록 중에서, 변환유닛(transform unit)의 크기에 따라 일부 블록은 활성화되고 나머지 블록은 비활성화되는 영상처리장치.An image processing apparatus for performing transformation and quantization processing,
A plurality of transform blocks, wherein the plurality of transform blocks are configured in parallel, and each transform block is a transform unit for converting input data, and
A quantization block includes a plurality of quantization blocks corresponding to each of the plurality of transform blocks, and each quantization block quantizes data transferred from the corresponding transform block.
Lt; / RTI >
And among the plurality of transform blocks and the plurality of quantization blocks, some blocks are activated and others are deactivated according to the size of a transform unit.
상기 변환부에서 처리하는 변환유닛(transform unit)의 크기를 기초로 상기 복수의 변환블록과 상기 복수의 양자화블록 중 일정 개수를 활성화시키는 제어부
를 더 포함하는 영상처리장치.In claim 1,
A controller for activating a predetermined number of the plurality of transform blocks and the plurality of quantization blocks based on the size of a transform unit processed by the transform unit
Image processing apparatus further comprising.
듀얼 메모리로 구성되며, 데이터를 병렬로 출력하여 상기 복수의 변환블록으로 전달하는 메모리부
를 더 포함하는 영상처리장치.In claim 1,
Dual memory, memory unit for outputting data in parallel to the plurality of conversion blocks
Image processing apparatus further comprising.
상기 변환부는
일부 정보가 반복되는 패턴으로 구성되어, 상기 일부 정보를 기초로 변환처리에 필요한 나머지 정보를 예측하도록 값이 설정된 변환 기저 벡터를 이용하는 영상처리장치.In claim 1,
The conversion unit
And a transform basis vector configured with a pattern in which some information is repeated and whose value is set to predict the remaining information necessary for the conversion process based on the partial information.
상기 변환부는 부분 버터플라이 연산기를 이용하는 영상처리장치.In claim 1,
And the conversion unit uses a partial butterfly calculator.
병렬로 구성된 복수의 변환블록 중에서 변환유닛(transform unit)의 크기를 기초로 변환처리에 이용할 제1 활성화 블록 그룹을 결정하는 단계,
상기 복수의 변환블록에 각각 대응하는 복수의 양자화블록 중에서, 상기 제1 활성화 블록에 대응하는 제2 활성화 블록 그룹을 결정하는 단계,
상기 제1 활성화 블록 그룹과 상기 제2 활성화 블록 그룹을 활성화하는 단계,
상기 제1 활성화 블록 그룹으로 데이터를 병렬로 입력하여 변환하는 단계, 그리고
상기 제1 활성화 블록 그룹의 출력 데이터를 대응하는 상기 제2 활성화 블록 그룹으로 각각 입력하여 양자화하는 단계
를 포함하는 영상처리방법.As the image processing apparatus performs the transform and quantization processing,
Determining a first active block group to be used for the transform process based on the size of a transform unit among a plurality of transform blocks configured in parallel,
Determining a second activation block group corresponding to the first activation block from among a plurality of quantization blocks respectively corresponding to the plurality of transform blocks;
Activating the first activation block group and the second activation block group;
Inputting and converting data into the first active block group in parallel; and
Inputting and quantizing the output data of the first activation block group to the corresponding second activation block group, respectively.
Image processing method comprising a.
상기 변환블록은
일부 정보가 반복되는 패턴으로 구성되어, 상기 일부 정보를 기초로 변환처리에 필요한 나머지 정보를 예측하도록 값이 설정된 변환 기저 벡터를 이용하여 변환하는 영상처리방법.The method of claim 6,
The transform block is
And converting using a transform basis vector configured with a pattern in which some information is repeated and having a value set to predict the remaining information necessary for the conversion process based on the partial information.
상기 변환블록은
부분 버터플라이 연산기를 이용하는 영상처리방법.The method of claim 6,
The transform block is
Image processing method using partial butterfly calculator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120020035A KR101311527B1 (en) | 2012-02-28 | 2012-02-28 | Video processing apparatus and video processing method for video coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120020035A KR101311527B1 (en) | 2012-02-28 | 2012-02-28 | Video processing apparatus and video processing method for video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130098480A KR20130098480A (en) | 2013-09-05 |
KR101311527B1 true KR101311527B1 (en) | 2013-09-25 |
Family
ID=49450262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120020035A KR101311527B1 (en) | 2012-02-28 | 2012-02-28 | Video processing apparatus and video processing method for video coding |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101311527B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040011359A (en) * | 2002-07-30 | 2004-02-05 | 톰슨 라이센싱 소시에떼 아노님 | Method and device for processing video data for display on a display device |
KR20050093819A (en) * | 2003-01-10 | 2005-09-23 | 톰슨 라이센싱 소시에떼 아노님 | Method and device for processing video data for display on a display device |
KR20100105745A (en) * | 2008-01-04 | 2010-09-29 | 돌비 인터네셔널 에이비 | Audio encoder and decoder |
-
2012
- 2012-02-28 KR KR1020120020035A patent/KR101311527B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040011359A (en) * | 2002-07-30 | 2004-02-05 | 톰슨 라이센싱 소시에떼 아노님 | Method and device for processing video data for display on a display device |
KR20050093819A (en) * | 2003-01-10 | 2005-09-23 | 톰슨 라이센싱 소시에떼 아노님 | Method and device for processing video data for display on a display device |
KR20100105745A (en) * | 2008-01-04 | 2010-09-29 | 돌비 인터네셔널 에이비 | Audio encoder and decoder |
Also Published As
Publication number | Publication date |
---|---|
KR20130098480A (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240171740A1 (en) | Transform and quantization architecture for video coding | |
US20230188760A1 (en) | Simplified context selection for entropy coding of transform coefficient syntax elements | |
KR102622465B1 (en) | Method and device for decoding image according to intra-prediction in image coding system | |
US20210195224A1 (en) | Method and apparatus for coding unit partitioning | |
US20220060748A1 (en) | Luma-based chroma intra-prediction for video coding | |
US10715803B2 (en) | Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding | |
CN106464878B (en) | The method of data compression alternatively converted | |
EP2533539A2 (en) | Image encoding/decoding method for rate-distortion optimization and apparatus for performing same | |
KR20150058324A (en) | Content adaptive entropy coding for next generation video | |
US11889088B2 (en) | Intra-prediction estimation using approximate reconstructed samples | |
Atapattu et al. | Real time all intra HEVC HD encoder on FPGA | |
KR20100079037A (en) | Method and apparatus for intra encoding by fast intra mode searching | |
JP2022538968A (en) | Transform Skip Residual Encoding of Video Data | |
JP2021500818A (en) | Image data coding and decoding | |
JP2024530476A (en) | Encoding and decoding method and device | |
US10462461B2 (en) | Coding device and decoding device which allow encoding of non-square blocks | |
WO2016194380A1 (en) | Moving image coding device, moving image coding method and recording medium for storing moving image coding program | |
Hamzaoglu et al. | An efficient H. 264 intra frame coder system | |
Do et al. | High throughput area-efficient SoC-based forward/inverse integer transforms for H. 264/AVC | |
Wang et al. | An effective TU size decision method for fast HEVC encoders | |
KR101311527B1 (en) | Video processing apparatus and video processing method for video coding | |
El Ansari et al. | An efficient VLSI architecture design for integer DCT in HEVC standard | |
CN116847082A (en) | Video coding method and device | |
Aparna | Efficient Architectures for Planar and DC modes of Intra Prediction in HEVC | |
JP2007266861A (en) | Image encoding device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161108 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170918 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180906 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20191017 Year of fee payment: 7 |
|
R401 | Registration of restoration |