KR100197597B1 - Apparatus and method for processing the reference of macroblock according to motion compensation - Google Patents
Apparatus and method for processing the reference of macroblock according to motion compensation Download PDFInfo
- Publication number
- KR100197597B1 KR100197597B1 KR1019960000751A KR19960000751A KR100197597B1 KR 100197597 B1 KR100197597 B1 KR 100197597B1 KR 1019960000751 A KR1019960000751 A KR 1019960000751A KR 19960000751 A KR19960000751 A KR 19960000751A KR 100197597 B1 KR100197597 B1 KR 100197597B1
- Authority
- KR
- South Korea
- Prior art keywords
- latch
- pixel
- pixels
- horizontal
- macroblock
- Prior art date
Links
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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
본 발명은 움직임보상에 필요한 매크로블럭의 레퍼런스를 처리하는 장치 및 방법에 관한 것으로, 메모리로부터 라인단위로 읽어들이는 레퍼런스를 수평모션벡터에 따라 배럴쉬프터가 선택적으로 출력한후 수평보간 및 수직보간을 수행하고 매크로블럭단위로 재배열하여 합성한다. 종래 기술보다 처리용량을 적은 구성소자를 사용할 수 있어서 구성소자의 개수가 감소되고, 회로기판에서 차지하는 면적이 줄어들므로 하드웨어의 활용도를 향상시킬 수 있으며, 제조비용을 절감할 수 있다는 효과가 있다.The present invention relates to an apparatus and a method for processing a reference for a macroblock required for motion compensation. The present invention relates to a horizontal interpolation and vertical interpolation after the barrel shifter selectively outputs a reference read from memory in line units according to a horizontal motion vector. Synthesis is performed by rearranging by macroblock unit. Since a component having a smaller processing capacity can be used than the conventional technology, the number of components is reduced, and the area occupied by the circuit board is reduced, thereby improving utilization of hardware and reducing manufacturing costs.
Description
제1도는 일반적인 매크로블럭의 레퍼런스 처리장치의 블록 구성도.1 is a block diagram of a reference processor of a general macroblock.
제2도는 종래의 기술에 따른 윈도잉부의 구성도.2 is a block diagram of a windowing unit according to the prior art.
제3도는 본 발명에 따른 윈도잉부의 구성도.3 is a block diagram of a windowing unit according to the present invention.
제4도(a)는 휘도성분의 매크로블럭을 나타내는 설명도.4A is an explanatory diagram showing a macroblock of luminance components.
제4도(b)는 윈도잉부의 윈도잉동작을 설명하기 위한 설명도.4B is an explanatory diagram for explaining the windowing operation of the windowing unit.
제5도는 본 발명에 따른 윈도잉부의 동작예시도.5 is a view illustrating the operation of the windowing unit according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
11 : 메모리 12 : 윈도잉부11 memory 12 windowing unit
13 : 수평보간부 14 : 수직보간부13: horizontal interpolation unit 14: vertical interpolation unit
15.25 : 합성부15.25: composite section
BS1, BS11 : 배럴쉬프터(Barrel Shifter)BS1, BS11: Barrel Shifter
L1, L2, L3, L11, L12, L13 : 래치L1, L2, L3, L11, L12, L13: Latch
본 발명은 압축된 영상데이타를 복원하는 복호화측에서 움직임보상에 필요한 매크로블럭의 레퍼런스를 처리하는 장치 및 방법에 관한 것으로, 특히 수평모션벡터에 따라 레퍼런스를 선택출력하기위한 윈도잉부가 보다 신속하게 처리하면서도 구성소자의 개수를 줄여 하드웨어의 효율을 향상시킬 수 있도록 한 움직임보상에 따른 매크로블럭의 레퍼런스 처리장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for processing a reference for a macroblock required for motion compensation at a decoding side for restoring compressed image data, and in particular, a windowing unit for selectively outputting a reference according to a horizontal motion vector. In addition, the present invention relates to a macroblock reference processing apparatus and method for motion compensation to reduce the number of components to improve hardware efficiency.
일반적으로 고화질TV(HDTV) 디지털위성방송에서 적용하려는 MPEG-1(2)에 준하는 움직임영상은 움직임보상을 통해서 본래의 화상을 복원하게 된다. 디지털 영상신호로 변환하는 부호화측에서 전,후화상과의 차이에 따라 압축화상을 전송하며, 압축화상에 움직임벡터(모션벡터)를 부가하여 보내게 된다. 따라서, 복호화측에서는 압축화상을 신장시키는 동작과 함께 움직임벡터를 이용하여 움직임보상을 수행하여 원래의 화상을 복원하게되며, 이를 위해 움직임보상에 필요한 레퍼런스에 대한 처리과정이 요구된다. 이러한 레퍼런스는 픽처단위의 화상들간의 유사성을 나타내는 정보가 된다. 이 레퍼런스는 전방 픽처와의 유사정보를 나타내는 포워드(forward)레퍼런스와 후방 픽처와의 유사정보를 나타내는 백워드(backward) 레퍼런스로 구분할 수 있다.In general, a motion image conforming to MPEG-1 (2) to be applied in a high-definition television (HDTV) digital satellite broadcasting is to restore the original image through motion compensation. The encoding side converting the digital image signal transmits the compressed image according to the difference between the before and after image, and adds a motion vector (motion vector) to the compressed image. Accordingly, the decoding side restores the original image by performing motion compensation using a motion vector along with an operation of stretching the compressed image. For this purpose, a processing process for a reference necessary for motion compensation is required. This reference becomes information representing the similarity between pictures in picture units. This reference may be divided into a forward reference indicating similar information with a front picture and a backward reference indicating similar information with a back picture.
통상, 포워드 레퍼런스와 백워드 레퍼런스는 현재 복호하고 있는 픽처의 종류에 따라 배열하게 되므로 특정하게 정해지지 않고 영상의 픽처에 종속적으로 배열되어 진다.In general, since the forward reference and the backward reference are arranged according to the type of the picture currently being decoded, the forward reference and the backward reference are not specifically determined, but are arranged dependently on the picture of the image.
이러한 레퍼런스들은 복호화측에서 디코딩 등의 전처리동작을 통해 주메모리에 저장되어진후 움직임보상에 따른 처리동작을 통해 원래의 화상으로 복원하게 된다. 움직임보상을 하는 경우 매크로블럭단위로 처리되며, 이 매크로블럭은 네 개의 블럭으로 이루어지는 휘도성분과 두 개의 블록으로 이루어지는 칼라성분으로 구분된다. 레퍼런스들은 매크로블럭을 기본단위로 처리되며 이를 제1도에 따라 설명하기로 한다.These references are stored in the main memory through a preprocessing operation such as decoding on the decoding side, and then restored to the original image through a processing operation according to motion compensation. In case of motion compensation, it is processed in units of macroblocks. The macroblocks are divided into luminance components consisting of four blocks and color components consisting of two blocks. References are processed in macroblocks by default, which will be described according to FIG.
제1도는 일반적인 매크로블럭의 레퍼런스 처리장치의 블록 구성도이다. 먼저, 메모리(11)는 주메모리(도시하지 않음)로부터 소정 매크로블럭의 레퍼런스를 공급받아 저장한다. 원도잉부(12)는 상기 메모리(11)로부터 라인단위로 레퍼런스를 입력받아 윈도잉(windowing)을 수행한다. 수평보간부(13)는 원도잉된 레퍼런스들을 수평방항에 대해 반화소(half pixel) 움직임보상을 행하여 출력한다. 수직보간부(14)는 수평보간된 레퍼런스를 수직방향에 대해 반화소 움직임보상을 행하여 출력한다. 합성부(15)는 수평보간 및 수직보간된 레퍼런스들을 입력받고, 매크로블럭 형태로 출력하게된다. 이후, 디스플레이과정을 거쳐 화면상에 표시되어 진다.1 is a block diagram of a reference processor of a general macroblock. First, the memory 11 receives and stores a reference of a predetermined macroblock from a main memory (not shown). The source unit 12 receives a reference from the memory 11 in units of lines and performs windowing. The horizontal interpolator 13 performs half-pixel motion compensation on the original reference and outputs the half-pixel motion compensation. The vertical interpolation unit 14 outputs the horizontal interpolated reference by performing half pixel motion compensation on the vertical direction. The synthesis unit 15 receives the horizontal interpolated and vertical interpolated references and outputs the macroblock in the form of a macroblock. Then, it is displayed on the screen through the display process.
이와 같은 레퍼런스의 처리과정에서 종래의 기술에 따른 윈도잉부에 대한 구체적인 동작을 제2도에 따라 설명하기로 한다.A detailed operation of the windowing unit according to the related art in the process of processing such a reference will be described with reference to FIG. 2.
제2도는 종래의 기술에 따른 원도잉부의 구성도이며, 제2도로부터 알 수 있는 바와 같이 윈도잉부(12)는 라인별로 레퍼런스를 래치하는 제1래치(L1) 및 제2래치(L2)와 수평모션벡터(horizontal Motion Vector)에 따라 래치된 레퍼런스를 쉬프트하여 선택적으로 출력하는 배럴쉬프터(BS1)와 상기 배럴쉬프터(BS1)의 출력을 래치하는 제3래치(L3)로 구성된다.FIG. 2 is a configuration diagram of the original drawing part according to the related art, and as can be seen from FIG. 2, the windowing part 12 includes a first latch L1 and a second latch L2 for latching a reference for each line. And a barrel shifter BS1 for shifting and selectively outputting the latched reference according to a horizontal motion vector, and a third latch L3 for latching the output of the barrel shifter BS1.
상기와 같이 구성된 윈도잉부(12)가 수평모션벡터에 따라 윈도잉동작을 수행하는 것을 상세히 설명한다. 먼저, 제1래치(L1)는 메모리(11)로부터 공급되는 소정 레퍼런스를 8(픽셀)×8(비트)만큼 래치한다. 이어서, 제2래치(L2)는 메모리(11)로부터 공급되는 다음 레퍼런스를 8(픽셀)×8(비트)만큼 래치한다. 상기 제1래치(L1) 및 제2래치(L2)는 서로 동일한 저장용량을 가지며, 8(픽셀)×8(비트)에 해당하는 비트량을 저장할 수 있다. 다시말해, 제1래치(L1)는 메모리(11)로부터 1라인이 8픽셀이 되는 라인별로 래치한다. 상기 제1래치(L1)가 소정 라인의 레퍼런스를 래치한 후 제2래치(L2)는 다음 라인의 레퍼런스를 래치하게 된다.The windowing unit 12 configured as described above performs the windowing operation according to the horizontal motion vector in detail. First, the first latch L1 latches a predetermined reference supplied from the memory 11 by 8 (pixels) x 8 (bits). Subsequently, the second latch L2 latches the next reference supplied from the memory 11 by 8 (pixels) x 8 (bits). The first latch L1 and the second latch L2 have the same storage capacity, and may store a bit amount corresponding to 8 (pixels) × 8 (bits). In other words, the first latch L1 latches from the memory 11 line by line such that one line becomes eight pixels. After the first latch L1 latches the reference of the predetermined line, the second latch L2 latches the reference of the next line.
한편, 배럴쉬프터(BS1)는 수평보션벡터에 따라 상기 제1래치(L1)와 제2래치(L2)에 의해 래치된 레퍼런스들을 선택적으로 출력하게 된다. 상기 수평모션벡터는 0~7의 값을 가지게 된다. 일예로, 수평모션벡터가 3이면 배럴쉬프터(BS1)는 제1래치(L1)에 의해 래치된 레퍼런스에 대해 한 라인의 8픽셀중 왼쪽에서 4번째 픽셀부터 제2래치(L2)에 의해 래치된 3번째 픽셀까지를 취하고, 취한 8픽셀에 1픽셀을 부가하여 총 9픽셀을 만든다. 상기 배럴쉬프터(BS1)는 수평모션벡터에 따라 선택적으로 9픽셀을 만드는 동작을 라인별로 행하여 9(픽셀)×8(비트)씩 후단의 제3래치(L3)로출력한다. 상기 제3래치(L3)는 9(픽셀)×8(비트)씩 래치하며, 수평보간을 수행하기 위해 적시에 출력되어 진다. 이후, MPEG (2)에 규정된 대로 수평보간 및 수직보간을 실시한후 매크로블럭단위로 합성되어진 후 재생동작에 의해 화상으로 재현이 된다.On the other hand, the barrel shifter BS1 selectively outputs the references latched by the first latch L1 and the second latch L2 according to the horizontal vortex vector. The horizontal motion vector has a value of 0-7. For example, if the horizontal motion vector is 3, the barrel shifter BS1 is latched by the second latch L2 from the fourth pixel from the left of the eight pixels of one line with respect to the reference latched by the first latch L1. Takes up to the third pixel and adds one pixel to the eight pixels taken, making a total of nine pixels. The barrel shifter BS1 selectively generates 9 pixels according to the horizontal motion vector for each line and outputs 9 (pixels) x 8 (bits) to the third latch L3 at the rear end. The third latch L3 is latched by 9 (pixels) by 8 (bits) and output in a timely manner to perform horizontal interpolation. Thereafter, horizontal interpolation and vertical interpolation are performed as specified in MPEG (2), synthesized in macroblock units, and reproduced as images by a reproduction operation.
그런데, 움직임보상을 실시간으로 처리하기 위해서는 한 번에 여러개의 픽셀을 동시에 처리하여야 하며, MPEG-1(2)에서 규정된 휘도성분(Y)에 대한 매크로블럭의 크기는 16(픽셀)×16(라인)이므로 처리단위를 16픽셀로 하면 쉽겠지만 그 만큼 하드웨어의 효율이 저하되고 구성소자의 증가로 인해 회로기판에서 차지하는 면적이 커지게 되어 전체시스템을 소형화하는데 저해요인이 되었다.However, in order to process motion compensation in real time, several pixels must be processed at the same time, and the size of the macroblock for the luminance component Y defined in MPEG-1 (2) is 16 (pixels) x 16 ( Line), it is easy to set the processing unit to 16 pixels, but the efficiency of the hardware decreases and the area occupied on the circuit board becomes larger due to the increase of components, which is a factor in miniaturizing the entire system.
본 발명의 목적은 매크로블럭의 레퍼런스를 윈도잉하기 위한 각 구성소자의 처리용량을 절반정도로 줄이므로써 하드웨어의 처리효율을 향상시킬 수 있는 움직임보상에 따른 매크로블럭의 레퍼런스 처리장치를 제공함에 있다.An object of the present invention is to provide a macroblock reference processing apparatus according to motion compensation that can improve processing efficiency of hardware by reducing the processing capacity of each component for windowing the macroblock reference by about half.
본 발명의 다른 목적은 매크로블럭의 레퍼런스를 일부 또는 전부를 래치하고 수평모션벡터에 따라 선택적으로 레퍼런스를 원도잉하므로써 하드웨어의 처리효율을 높일 수 있도록 한 움직임보상에 따른 매크로블럭의 레퍼런스 처리방법을 제공함에 있다.Another object of the present invention is to reference the macroblock reference processing method according to the motion compensation to improve the processing efficiency of the hardware by latching some or all of the macroblock reference and selectively drawing the reference according to the horizontal motion vector. In providing.
상기와 같은 본 발명의 목적은 메로리에 기저장되어진 소정 레퍼런스를 움직임보상 및 수평,수직보간한후 매크로블럭단위로 생성하는 레퍼런스 처리장치에 있어서, 상기 메모리로부터 라인단위의 레퍼런스를 저장용량에 따라 하부 픽셀 또는 모든 픽셀을 래치하기 위한 제1 및 제2래치와, 상기 제1래치가 래치한 픽셀 또는 상기 제2래치가 래치한 팩셀을 입력받은후 1픽셀을 부가하여 출력하는 배럴쉬프터를 구비하여, 소정 수평모션벡터에 따라 움직임보상에 필요한 레퍼런스를 선택적으로 취하는 윈도잉수단; 및 상기 원도잉수단에 의해 뒤바껴진 레퍼런스의 순서를 올바르게 재배열하여 단일한 형태의 매크로블럭을 형성하는 합성수단에 의하여 달성된다.The object of the present invention as described above is a reference processing apparatus for generating a macro reference unit after motion compensation and horizontal and vertical interpolation of a predetermined reference previously stored in memory, wherein the reference in units of lines from the memory is lowered according to storage capacity. First and second latches for latching pixels or all pixels, and a barrel shifter for adding and outputting one pixel after receiving a pixel latched by the first latch or a pack cell latched by the second latch, Windowing means for selectively taking a reference required for motion compensation according to a predetermined horizontal motion vector; And synthesizing means for correctly rearranging the order of references reversed by the original drawing means to form a single macroblock.
상기와 같은 본 발명의 다른 목적은 메모리에 기저장 되어진 소정 레퍼런스를 움직임보상 및 수평,수직보간한후 매크로블럭단위로 생성하는 레퍼런스 처리 방법에 있어서, 상기 레퍼런스에 대해 윈도잉의 대상이 되는 레퍼런스를 선택하기 위해 한 라인의 절반에 해당하는 하부 픽셀을 래치함과 아울러 한 라인의 모든 픽셀을 래치하는 제1단계; 소정 수평모션벡터에 따라 래치된 한 라인의 하부 픽셀 또는 래치된 한 라인의 모든 픽셀에 대해 1픽셀을 부가하여 윈도잉하는 제2단계; 상기 제2단계에서 윈도잉된 픽셀을 수평방향에 대해 반화소 움직임보상을 한 다음 수직방향에 대해 반화소 움직임보상을 하여 수평,수직보간하는 제3단계; 및 상기 제3단계에 의해 수평,수직보간된 픽셀들을 입력받아 상기 원도잉하는 과정에서 뒤바껴진 레퍼런스의 순서를 올바르게 재배열하여 매크로블럭형태로 형성하는 제4단계에 의하여 달성된다.Another object of the present invention as described above is a reference processing method for generating a predetermined reference stored in memory in macroblock units after motion compensation and horizontal and vertical interpolation. Latching a lower pixel corresponding to half of a line to select and latching all pixels of a line for selection; A second step of adding and windowing one pixel to a lower pixel of a line or all pixels of a latched line according to a predetermined horizontal motion vector; A third step of performing a half-pixel motion compensation on the pixel windowed in the second step in a horizontal direction and then performing half-pixel motion compensation on a vertical direction to perform horizontal and vertical interpolation; And a fourth step of receiving the horizontally and vertically interpolated pixels in the third step to rearrange the order of the references reversed in the original drawing to form a macroblock.
이하, 본 발명의 바람직한 일실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
본 발명은 전반적인 구성에 있어 제1도에 도시한 바와 같은 구성요소를 구비하여, 주메모리로부터 현재 처리하고있는 매크로블럭의 레퍼런스를 입력받아 저장하는 메모리(11)와, 라인단위로 읽어들이면서 수평모션벡터값에 따라 필요한 부분을 원도잉하여 출력할 수 있는 윈도잉부(12), 반화소 움직임보상을 위한 수평방향의 보간을 수행하는 수평보간부(13), 반화소 움직임보상을 위한 수직방향의 보간을 수행하는 수직보간부(14), 포워드와 백워드 레퍼런스를 저장하면서 최종적으로 움직임보상된 레퍼런스를 출력하는 합성기(15)를 구비하고 있다.The present invention includes a memory 11 having an element as shown in FIG. 1 in its general configuration, which receives and stores a reference of a macroblock currently being processed from a main memory, and reads line by line. A windowing unit 12 capable of circularly outputting the required portion according to the motion vector value, a horizontal interpolation unit 13 performing horizontal interpolation for half-pixel motion compensation, and a vertical direction for half-pixel motion compensation The interpolator 14 performs interpolation, and a synthesizer 15 for outputting a motion-compensated reference while storing the forward and backward references.
본 발명의 메모리(11)가 주메모리로부터 복호된 레퍼런스를 공급받는 동작에 대해서는 일반적인 기술이므로 구체적인 설명은 생략하기로 하며, 메모리(11)로부터 레퍼런스를 공급받아 원도잉하는 원도잉부(12)에 대한 동작을 제3도에 따라 설명한다.Since the memory 11 of the present invention receives a decoded reference from the main memory, a detailed description thereof will be omitted, and the original dosing unit 12 receiving the reference from the memory 11 and circulating the reference will be omitted. The operation with respect to FIG. 3 will be described.
제3도는 본 발명에 따른 원도잉부의 구성도이다. 도시한 바와 같이 본 발명의 원도잉부(12)는 4×8의 처리용량을 갖는 제1래치(L11)와 8×8의 처리용량을 갖는 제2래치(L12)와 수평모션벡터에 따라 선택적으로 출력하는 베럴쉬프터(BS11) 및 제3래치(L13)로 구성된다.3 is a block diagram of a circle doping part according to the present invention. As shown, the original doweling section 12 of the present invention is selective according to the first latch L11 having a processing capacity of 4 × 8, the second latch L12 having a processing capacity of 8 × 8, and the horizontal motion vector. Barrel shifter (BS11) and the third latch (L13) to be output.
먼저, 제1래치(L11)와 제2래치(L12)가 레퍼런스를 읽어오는 동작을 제4도(a)를 참조하여 설명하기로 한다. 제4도(a)에 도시한 휘도성분의 매크로블럭은 네 개의 블록으로 구분되며, 각 블록은 8(픽셀)×8(라인)으로 세분할 수 있다. 설명의 편의상 왼쪽에 있는 블록을 1로 오른쪽에 있는 블록을 2로 대응시키고, 하나의 블럭을 구성하는 라인에 대해 상부 4픽셀을 M으로 하부 4픽셀을 L로 명명한다.First, an operation of reading a reference by the first latch L11 and the second latch L12 will be described with reference to FIG. 4 (a). The macroblocks of the luminance component shown in FIG. 4A are divided into four blocks, and each block can be subdivided into 8 (pixels) x 8 (lines). For convenience of explanation, the block on the left corresponds to 1 and the block on the right corresponds to 2, and the upper 4 pixels and the lower 4 pixels are referred to as L for the line constituting one block.
상기 제1래치(L11)는 좌상에 위치하는 블록에서 가장 위 라인에 속하는 8픽셀중 하부 4픽셀을 래치한다. 제2래치(L12)는 첫째 라인의 8픽셀 모두를 래치한다. 현재 처리하는 매크로블럭의 레퍼런스들이 포워즈에 해당하는 경우 제2래치(L11)는 첫째 라인의 FIL에 해당하는 4(픽셀)×8(비트)의 레퍼런스를 래치하게 되고, 제2래치(L12)는 FIML(FIM+FIL)에 해당하는 8(픽셀)×8(비트)의 레퍼런스를 래치하게 된다. 만약, 백워드의 레퍼런스라면 제1래치(L11)는 첫째 라인의 BIL을 래치하고, 제2래치(L12)는 첫째 라인의 BIML(BIM+BIL)을 래치하게 될 것이다. 블록을 구성하는 라인에 있는 레퍼런스가 포워드인지 백워드인지는 해당 매크로블럭의 성격에 의해 결정되어 지므로 상기 제1래치(L11)와 제2래치(L12)는 임의의 레퍼런스를 래치한다고 간주한다.The first latch L11 latches the lower four pixels of the eight pixels belonging to the top line in the block located at the upper left. The second latch L12 latches all eight pixels of the first line. When the references of the macroblock currently being processed correspond to the forwards, the second latch L11 latches a reference of 4 (pixel) x 8 (bit) corresponding to the FIL of the first line, and the second latch (L12). Latches a reference of 8 (pixels) x 8 (bits) corresponding to FIML (FIM + FIL). If it is a reference of the backward, the first latch L11 will latch the BIL of the first line, and the second latch L12 will latch the BIML (BIM + BIL) of the first line. Whether the reference in the line constituting the block is forward or backward is determined by the nature of the macroblock. Therefore, the first latch L11 and the second latch L12 are considered to latch any reference.
한편, 배럴쉬프터(BS12)는 수평모션벡터에 따라 상기 제1래치(L11)와 제2래치(L12)에 의해 래치된 픽셀중 4픽셀을 선택적으로 취하고 1픽셀을 부가하여 5픽셀을 출력한다. 상기수평모션벡터는 3비트로서 A모드 또는 B모드를 표현한다. 그 중 1비터는 픽셀그룹의 순서를 나타내는데, 제4도(b)에 실선으로 도시한 바와 같이 배럴쉬프터(BS12)는 제2래치(L11)가 래치한 8픽셀중 상부 4픽셀을 취하며, 다음 단계에서 제4도(b)에 파선으로 도시한 바와 같이 제1래치(L11)가 래치한 4픽셀을 취한다.Meanwhile, the barrel shifter BS12 selectively takes 4 pixels among the pixels latched by the first latch L11 and the second latch L12 according to the horizontal motion vector, and adds one pixel to output 5 pixels. The horizontal motion vector represents three modes of A mode or B mode. One beater indicates the order of the pixel groups. As shown by the solid line in FIG. 4 (b), the barrel shifter BS12 takes the upper four pixels among the eight pixels latched by the second latch L11. In the next step, four pixels latched by the first latch L11 are taken as shown by the broken lines in FIG.
상기 수평모션벡터가 지시하는 모드에 따라 제1래치(L11) 및 제2래치(L12)는 래치하는 레퍼런스의 순서가 바뀌며, 래치한 픽셀을 유지하거나 다음 픽셀을 래치하기 위해 래치하고 있던 픽셀을 출력하게 되는데, 그러한 동작의 일예를 도시하면 제5도와 같다.According to the mode indicated by the horizontal motion vector, the latching order of the first latch L11 and the second latch L12 is changed, and outputs the pixel latched to hold the latched pixel or latch the next pixel. An example of such an operation is shown in FIG.
제5도에서 스텝(A1~A5)은 수평모션벡터가 A모드인 경우 상기 제1래치(L11) 및 2래치(L12)가 래치하는 것을 보여주는 것이며, 스텝(B1~B5)는 수평모션벡터가 B모드인 경우 상기 제1래치(L11) 및 제2래치(L12)가 래치하는 것을 보여주는 것이다. 앞서 기술한 바와 같이, 수평모션벡터에 따라 상기 제1래치(L11)와 제2래치(L12)에 의해 래치되는 레퍼런스의 순서가 달라지게 되는 바, 이를 모드별로 설명하기로 한다. 첫 번째로 A모드인 경우이다. 제1스텝(A1)에서 제1래치(L11)는 한 라인의 아래쪽 절반(4픽셀)인 F1L을 래치하며, 제2래치(L12)는 한 라인의 8픽셀인 F1ML을 래치한다. 제2스텝(A2)에서 제1래치(L11)는 래치하고 있는 F1L을 계속 래치하고, 제2래치(L12)는 타블럭의 한 라인의 8픽셀인 F2ML을 래치한다. 이때, 제2스텝에서 배럴쉬프터(BS12)가 취하는 4픽셀은 F1M이 된다. 이어서, 제3스텝(A3)에서 제1래치(L11)은 백워드의 레퍼런스중 한 라인의 절반인 B1L을 래치하고, 제2래치(L12)가 한 라인 모두에 해당하는 B1ML을 래치한다. 제3스텝에서 배럴쉬프터(BS12)는 제1래치(L11)가 래치하고 있던 F1L을 취하게 된다. 이와 같이 제1래치(L11)는 한 스텝 래치하는 동작과 한 스텝 유지하는 동작을 교대로 수행하는 반면에, 제2래치(L12)는 한스텝 래치하는 동작을 반복하여 수행하게 된다.Steps A1 to A5 in FIG. 5 show that the first latch L11 and the second latch L12 latch when the horizontal motion vector is in the A mode, and the steps B1 to B5 indicate that the horizontal motion vector is latched. In the B mode, the first latch L11 and the second latch L12 are latched. As described above, the order of the references latched by the first latch L11 and the second latch L12 is changed according to the horizontal motion vector, which will be described for each mode. The first case is A mode. In the first step A1, the first latch L11 latches F1L, which is the lower half (4 pixels) of one line, and the second latch L12 latches F1ML, which is 8 pixels of one line. In the second step A2, the first latch L11 continues to latch the latching F1L, and the second latch L12 latches F2ML, which is 8 pixels of one line of the other block. At this time, four pixels taken by the barrel shifter BS12 in the second step become F1M. Subsequently, in the third step A3, the first latch L11 latches B1L, which is half of one line of the reference of the backward, and the second latch L12 latches B1ML corresponding to all of the lines. In the third step, the barrel shifter BS12 takes the F1L latched by the first latch L11. As such, the first latch L11 alternately performs one step latching operation and one step holding operation, while the second latch L12 repeatedly performs one step latching operation.
둘째로, 수평모션벡터가 B모드인 경우로 스텝(B1~B5)에 따라 설명하기로 하는데, B모드에서는 제4도(a)에 도시한 오른편(2)의 매크로블럭에 속하는 레퍼런스부터 래치하게 된다. 제1스텝(B1)에서 제1래치(L11)는 한라인의 아래쪽 절반(4픽셀)인 F2L을 래치하며, 제2래치(L12)는 한 라인의 8픽셀인 F2ML을 래치한다. 제2스텝(B2)에서 제1래치(L11)는 왼쪽 블록의 F1L을 래치하고, 제2래치(L12)는 래치하고 있는 F2ML을 계속 래치한다. 제2스텝(B2)에서 배럴쉬프터(BS12)는 제2래치(L12)에 의해 래치되었던 8픽셀중 상부 픽셀인 F2M을 취한다. 제3스텝(B3)에서 제1래치(L11)는 오른쪽 블록에서 두 번째 라인의 B2L을 래치하고, 제2래치(L12)는 두 번째 라인의 8픽셀에 해당하는 B2ML을 래치한다. 제3스텝(B3)에서 배럴쉬프터(BS12)는 제1래치(L11)가 래치하고 있던 4픽셀의 F1L을 취한다. 이와 같이 제1래치(L11)는 한 스텝 래치하는 동작을 반복하여 수행하는 반면에, 제2래치(L12)는 한 스탭 래치하는 동작과 한 스텝 유지하는 동작을 교대로 수행하게 된다.Second, when the horizontal motion vector is B mode, the following description will be given according to the steps B1 to B5. In the B mode, the reference belonging to the macroblock on the right side 2 shown in FIG. do. In the first step B1, the first latch L11 latches F2L, which is the lower half (4 pixels) of one line, and the second latch L12 latches F2ML, which is 8 pixels of one line. In the second step B2, the first latch L11 latches F1L of the left block, and the second latch L12 continuously latches the latched F2ML. In the second step B2, the barrel shifter BS12 takes F2M, which is the upper pixel of the eight pixels latched by the second latch L12. In the third step B3, the first latch L11 latches B2L of the second line in the right block, and the second latch L12 latches B2ML corresponding to 8 pixels of the second line. In the third step B3, the barrel shifter BS12 takes F1L of four pixels latched by the first latch L11. As described above, the first latch L11 repeatedly performs one step latching operation, while the second latch L12 alternately performs one step latching operation and one step holding operation.
다시, 제3도에서 상기 배럴쉬프터(BS12)는 수평모션벡터에 따라 4픽셀을 선택적으로 취한후 1픽셀을 부가하여 총 5픽셀을 출력하게 된다. 즉, 윈도잉부(12)는 5(픽셀)×8(비트)를 제3래치(L13)로 출력한다. 제3래치(L13)는 수평보간부(13)로부터 출력요구가 있으면 래치한 픽셀들 즉 레퍼런스를 출력하게 된다. 이어서, 수평보간부(13)와 수직보간부(14)에 의해 보간되어진다, 이후, 합성부(15)가 원도잉동작에 의해 뒤바껴진 레퍼런스를 올바르게 재배열하여 단일한 형태로 출력하게 된다.Again, in FIG. 3, the barrel shifter BS12 selectively takes 4 pixels according to the horizontal motion vector, adds one pixel, and outputs a total of five pixels. That is, the windowing unit 12 outputs 5 (pixels) x 8 (bits) to the third latch L13. The third latch L13 outputs latched pixels, that is, a reference, when there is an output request from the horizontal interpolator 13. Subsequently, interpolation is performed by the horizontal interpolation unit 13 and the vertical interpolation unit 14, and then the synthesis unit 15 correctly rearranges the reference inverted by the circular drawing operation and outputs it in a single form. do.
종래 기술에서는 배럴쉬프터를 하드웨어로 구현시 8:1 먹스를 9(픽셀)×8(비트)개 필요하였으나 본 발명에서는 8:1 먹스를 5(픽셀)×8(비트)개 필요하므로 배럴쉬프터가 회로기판에서 차지하는 면적을 줄일 수 있으며, 구성소자의 개수를 줄일 수 있다.In the prior art, the barrel shifter requires 9 (pixels) × 8 (bits) of 8: 1 muxes in hardware. However, in the present invention, since the barrel shifters require 5 (pixels) × 8 (bits) of 8: 1 muxes. The area occupied by the circuit board can be reduced, and the number of components can be reduced.
이상과 같은 본 발명은 윈도잉을 수행하는 각 구성소자의 처리용량을 종래에 비해 절반만큼의 처리용량을 가지고도 원할하게 레퍼런스를 처리할 수 있으므로 하드웨어의 활용도를 향상시킬 수 있으며, 제조비용의 절감을 얻을 수 있다는 효과가 있다.As described above, the present invention can process the reference smoothly even if the processing capacity of each component that performs windowing has half the processing capacity as compared with the prior art, thereby improving the utilization of hardware and reducing the manufacturing cost. There is an effect that can be obtained.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960000751A KR100197597B1 (en) | 1996-01-16 | 1996-01-16 | Apparatus and method for processing the reference of macroblock according to motion compensation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960000751A KR100197597B1 (en) | 1996-01-16 | 1996-01-16 | Apparatus and method for processing the reference of macroblock according to motion compensation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970060953A KR970060953A (en) | 1997-08-12 |
KR100197597B1 true KR100197597B1 (en) | 1999-06-15 |
Family
ID=19449490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960000751A KR100197597B1 (en) | 1996-01-16 | 1996-01-16 | Apparatus and method for processing the reference of macroblock according to motion compensation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100197597B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100825504B1 (en) * | 2005-11-23 | 2008-04-25 | 오성진 | User interface using camera and method thereof |
-
1996
- 1996-01-16 KR KR1019960000751A patent/KR100197597B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970060953A (en) | 1997-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5594813A (en) | Programmable architecture and methods for motion estimation | |
KR100440522B1 (en) | Image decoder and image memory overcoming various kinds of delaying factors caused by hardware specifications specific to image memory by improving storing system and reading-out system | |
US5581310A (en) | Architecture for a high definition video frame memory and an accompanying data organization for use therewith and efficient access therefrom | |
US20010046264A1 (en) | Programmable architecture and methods for motion estimation | |
JPH07250328A (en) | Moving vector detector | |
US5541658A (en) | Image coding-decoding apparatus with efficient memory access | |
US8135224B2 (en) | Generating image data | |
US6850569B2 (en) | Effective motion estimation for hierarchical search | |
JP3141772B2 (en) | MPEG decoder and decoding method thereof | |
US6552749B1 (en) | Method and apparatus for video motion compensation, reduction and color formatting | |
US6160850A (en) | Motion estimator employing a three-step hierachical search block-matching algorithm | |
US5619282A (en) | Image motion compensating address generator | |
KR100197597B1 (en) | Apparatus and method for processing the reference of macroblock according to motion compensation | |
EP0825781B1 (en) | Image processor | |
US5638310A (en) | Pixel matrix filter | |
KR20030057690A (en) | Apparatus for video decoding | |
KR100474916B1 (en) | Apparatus and method for generating thumbnail image | |
US5946036A (en) | Image decoding using read/write memory control based on display region setting | |
KR19990065349A (en) | Motion compensation device | |
EP0615206A1 (en) | Programmable architecture and methods for motion estimation | |
JP3307856B2 (en) | Image processing device | |
KR100269426B1 (en) | Motion compensator having an improved frame memory | |
JP4155102B2 (en) | Pixel value calculation device, moving image encoding device, and moving image decoding device | |
JP2001339694A (en) | Image signal processor and image signal processing method | |
JPH07336689A (en) | Motion compensation circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080130 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |