KR100269426B1 - Motion compensator having an improved frame memory - Google Patents

Motion compensator having an improved frame memory Download PDF

Info

Publication number
KR100269426B1
KR100269426B1 KR1019970022373A KR19970022373A KR100269426B1 KR 100269426 B1 KR100269426 B1 KR 100269426B1 KR 1019970022373 A KR1019970022373 A KR 1019970022373A KR 19970022373 A KR19970022373 A KR 19970022373A KR 100269426 B1 KR100269426 B1 KR 100269426B1
Authority
KR
South Korea
Prior art keywords
frame
picture
motion
motion compensation
frame memory
Prior art date
Application number
KR1019970022373A
Other languages
Korean (ko)
Other versions
KR19980086114A (en
Inventor
이수정
Original Assignee
전주범
대우전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전주범, 대우전자주식회사 filed Critical 전주범
Priority to KR1019970022373A priority Critical patent/KR100269426B1/en
Publication of KR19980086114A publication Critical patent/KR19980086114A/en
Application granted granted Critical
Publication of KR100269426B1 publication Critical patent/KR100269426B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A motion compensation device with an improved frame memory is provided to improve the efficiency of motion compensation by changing a structure of a frame memory. CONSTITUTION: The first and the second frame areas(41,43) are used as a reference image for motion compensation and stores recovered I picture data or compensated P picture data. The third frame storage area(45) stores and displays compensated B picture data. The fourth frame storage area(47) stores a coded bit stream received from a video decoding device in predetermined units. Each picture data stored in the first, the second, and the third frame storage areas(41,43,45) is read according to a predetermined display order.

Description

개선된 프레임 메모리를 갖는 움직임 보상장치Motion Compensator with Improved Frame Memory

본 발명은 움직임 보상장치에 관한 것으로서, 특히 영상 복호화기(video decoder)에 있어서 움직임 보상(motion compensation)을 수행하거나, 움직임 보상된 영상 데이타를 디스플레이하기 위해 사용되는 프레임 메모리 및 이를 이용한 움직임 보상장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motion compensation device, and more particularly, to a frame memory used for performing motion compensation or displaying motion compensated image data in a video decoder and a motion compensation device using the same. It is about.

일반적으로 고화질 텔레비젼(HDTV: High Definition TV) 신호를 한정된 대역폭을 갖는 채널로 전송하기 위해서는 영상신호의 대역 압축을 수행해야 하는데, 이때 MPEG(Moving Picture Experts Group)-2 영상 부호화 알고리즘을 이용한다. 이러한 MPEG-2 영상 부호화 알고리즘에서는 첫째, 화면내에 인접하는 화소간에는 상관도가 높으므로 블록 단위로 이산여현변환(DCT: Discrete Cosine Transform) 및 양자화를 수행하여 공간적인 중복성(spatial redundancy)을 줄이고, 둘째, 시간적으로 인접한 두 화면간에도 상관도가 높으므로 매크로블록 단위로 두 화면간의 움직임을 추정하여 보상함으로써 시간적 중복성(temporal redundancy)을 줄이고, 셋째, 이산여현변환 및 양자화 과정을 거친 계수값들을 가변길이 부호화함으로써 통계적인 중복성(statistical redundancy)을 줄인다.In general, in order to transmit a high definition television (HDTV) signal to a channel having a limited bandwidth, band compression of an image signal should be performed. In this case, a moving picture expert group (MPEG) -2 image encoding algorithm is used. In the MPEG-2 image coding algorithm, first, since there is a high correlation between adjacent pixels in the screen, a discrete cosine transform (DCT) and quantization are performed on a block basis to reduce spatial redundancy. In addition, since the correlation between two screens that are adjacent in time is high, the temporal redundancy is reduced by estimating and compensating the motion between the two screens in macroblock units. This reduces statistical redundancy.

이 중, 움직임 추정 및 보상과정에서는 인접한 영상과 현재 영상을 비교하여 물체의 움직임에 관한 정보인 움직임 벡터를 검출해 내고, 이 움직임 벡터를 이용하여 현재 영상을 예측해 낸다. 움직임 벡터를 검출하기 위해서는 일반적으로 블록 정합 알고리즘(Block Matching Algorithm: 이하 BMA라 약함) 혹은 화소 순환 알고리즘(Pel Recursive Algorithm: 이하 PRA라 약함)을 이용한다. 여기서, 데이터 감축 능력면에서는 PRA 방식이 BMA 방식보다 우수하나, 시스템의 복잡도 측면에서는 블록 단위로 처리하는 BMA 방식이 화소 단위로 처리하는 PRA 방식보다 훨씬 간단하여 영상 코덱을 위한 국제 표준화그룹(H.261, H.262, MPEG-1, MPEG-2 등)에서도 이 BMA 방식을 채택하고 있다.Among these, in the motion estimation and compensation process, a neighboring image is compared with a current image to detect a motion vector, which is information about an object's motion, and the current image is predicted using the motion vector. Generally, a block matching algorithm (weak BMA) or a pixel recursive algorithm (weak PRA) is used to detect a motion vector. Here, the PRA method is superior to the BMA method in terms of data reduction capability, but in terms of system complexity, the BMA method that is processed in units of blocks is much simpler than the PRA method that is processed in units of pixels. 261, H.262, MPEG-1, MPEG-2, etc.) also adopt this BMA method.

한편, MPEG-2 영상 부호화 알고리즘에는 도 1에서와 같이 움직임 보상의 방법에 따라 I, P, B 3 종류의 픽쳐가 있고, 랜덤 액세스(random access)가 가능한 I 픽쳐의 주기에 따라 I, P, B를 묶어 하나의 픽쳐 그룹(Group Of Picture: 이하 GOP라 약함)을 구성한다. 여기서, I 픽쳐는 움직임 보상을 하지 않고 프레임내 코딩(intraframe coding)만을 수행하고, P 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 또는 P 픽쳐를 기준으로 하여 순방향 움직임 보상을 수행하고, B 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 기준으로 하여 순방향 움직임 보상, 역방향 움직임 보상 및 보간형 움직임 보상을 수행하여 얻은 움직임 보상 블록 중 최선의 것을 선택한다.Meanwhile, in the MPEG-2 video encoding algorithm, there are three types of pictures I, P, and B according to the motion compensation method as shown in FIG. 1, and I, P, and I according to the period of the I picture that can be randomly accessed. B is grouped to form one group of pictures (hereinafter referred to as GOP). Here, the I picture performs only intraframe coding without performing motion compensation, the P picture performs forward motion compensation on the basis of the I picture or P picture of the previous picture with respect to the current picture, and the B picture Selects the best motion compensation block obtained by performing forward motion compensation, backward motion compensation, and interpolated motion compensation based on the I picture or P picture of the previous picture and the I picture or P picture of the next picture. do.

그리고, 움직임 추정 및 보상을 위한 방법으로는 프레임 움직임 추정 및 보상 모드, 필드 움직임 추정 및 보상 모드, 듀얼 프라임(dual prime) 움직임 추정 및 보상 모드 등이 있으며, 기본적으로 모든 움직임 추정 및 보상은 반화소(half-pel) 단위까지 하는 것을 규정하고 있다.Methods for motion estimation and compensation include frame motion estimation and compensation mode, field motion estimation and compensation mode, dual prime motion estimation and compensation mode, and basically all motion estimation and compensation are half pixel. It is specified to have a half-pel unit.

이 중, 프레임 움직임 추정 및 보상 모드는 MPEG-1에서 부터 사용하여 온 것으로서, 상위 필드(top field 혹은 even field)와 하위 필드(bottom field 혹은 odd field)의 구분없이 프레임 구조로 움직임을 추정하고 보상한다. 이를 위하여, 현재 프레임의 부호화하고자 하는 매크로블럭(MB)에 대해 기준 프레임의 탐색 영역내에서 반화소 정밀도까지 완전 탐색(full search)을 수행하여, 가장 작은 평균 절대 에러(MAE: Mean Absolute Error)를 발생시키는 위치를 해당 매크로블럭에 대한 움직임 벡터로 결정한다. 실제로는 데이터가 화소 단위로 주어지므로 화소 단위의 1차 완전 탐색을 통해 화소 단위 움직임 벡터를 구한 다음, 반화소 단위의 보간 및 2차 완전 탐색을 통해 반화소 단위 움직임 벡터를 구한다. 프레임 움직임 추정의 경우, P 픽쳐에 대해서는 한 개의 매크로블록당 1 개의 움직임 벡터를 전송하고, B 픽쳐에 대해서는 한 개의 매크로블록당 1 개 혹은 2 개의 움직임 벡터를 전송하므로, 필드 움직임 추정에 비해 움직임 벡터 전송에 소요되는 비트 수가 적다.Among these, frame motion estimation and compensation mode has been used since MPEG-1, and motion estimation and compensation are performed in a frame structure without distinguishing a top field or even field and a bottom field or odd field. do. To this end, a full search is performed on the macroblock MB to be encoded of the current frame up to half-pixel precision in the search region of the reference frame, thereby obtaining the smallest mean absolute error (MAE). The position to generate is determined as a motion vector for the macroblock. In fact, since data is given in units of pixels, a pixel-by-pixel motion vector is obtained through the first-order full search in pixel units, and then a half-pixel motion vector is obtained through interpolation and a second full search in half-pixel units. In the case of frame motion estimation, one motion vector is transmitted per one macroblock for a P picture, and one or two motion vectors are transmitted per one macroblock for a B picture. The number of bits required for transmission is small.

다음, 필드 움직임 추정 및 보상 모드는 프레임 구조의 픽쳐에 있어서 각 필드별로 움직임 추정 및 보상을 수행한다. 이를 위하여, 현재 프레임의 상위 필드와 하위 필드, 기준 프레임의 상위 필드와 하위 필드 사이에서 각각 16*8 (pixels) 서브 매크로블록 단위로 상위에서 하위, 상위에서 상위, 하위에서 상위, 하위에서 하위의 4 가지 움직임 벡터를 구한 뒤, 현재 프레임의 상위 필드와 하위 필드 각각에 대하여 최소의 움직임 보상에러를 발생시키는 하나씩의 움직임 벡터를 선택한다. 따라서, P 픽쳐에 대해서는 한 개의 매크로블록당 2 개의 움직임 벡터, B 픽쳐에 대해서는 한 개의 매크로블록당 2 개 혹은 4 개의 움직임 벡터를 전송한다. MPEG-2 영상 부호화기에서는 모든 매크로블록에 대하여 프레임/필드 예측 모드를 모두 적용한 다음, 그 중 보다 작은 예측 오차를 갖는 예측 모드를 사용한다. 한편, MPEG-2 영상 복호화기에서는 부호화기에서 사용한 예측 모드가 전송되므로 이에 따라 움직임 보상을 수행하여 영상을 복원한다.Next, the field motion estimation and compensation mode performs motion estimation and compensation for each field in the picture of the frame structure. For this purpose, the upper and lower, upper and upper, lower and upper, lower and lower positions in the unit of 16 * 8 (pixels) sub macroblocks between upper and lower fields of the current frame and upper and lower fields of the reference frame, respectively. After four motion vectors are obtained, one motion vector is generated to generate a minimum motion compensation error for each of the upper and lower fields of the current frame. Therefore, two motion vectors per macroblock for a P picture and two or four motion vectors per macroblock for a B picture are transmitted. The MPEG-2 image encoder applies all the frame / field prediction modes to all macroblocks, and then uses the prediction mode having the smaller prediction error. Meanwhile, since the prediction mode used by the encoder is transmitted in the MPEG-2 image decoder, motion compensation is performed to restore the image.

다음, 듀얼 프라임 움직임 추정 및 보상 모드는 한 개의 매크로블록당 1 개의 움직임 벡터와 차분 움직임 벡터(dmv)만을 전송하는 것으로, 비교적 느린 움직임을 갖는 시퀀스에 효과적인 것으로 알려져 있다. 이 모드는 B 픽쳐를 사용하지 않는 경우에만 사용되도록 규정하고 있다. 즉, B 픽쳐가 허용되는 경우에는 이를 이용하여 더 좋은 화질을 얻을 수 있으나, B 픽쳐가 허용되지 않는 경우에는 듀얼 프라임 예측 모드를 사용함으로써, 가능한 한 적은 비트 발생량으로 화질의 향상을 가져 올 수 있다. 듀얼 프라임 예측 모드에서는 먼저, 필드 예측 모드에서 구한 상위에서 하위, 상위에서 상위, 하위에서 상위, 하위에서 하위의 4 가지 움직임 벡터 중 상위에서 상위와 하위에서 하위의 움직임 벡터는 그대로 기본 움직임 벡터로 사용하고, 상위에서 하위와 하위에서 상위의 움직임 벡터는 각각 스케일링(*2, *2/3)과 트렁케이션(truncation)을 하여 기본 움직임 벡터를 만든다. 다음, 이와 같이 만들어진 4개의 기본 움직임 벡터 각각에 대하여 수평 방향과 수직 방향으로 -1, 0, 1씩의 미세 조정을 가하여 두 개의 16*8 (pixels) 서브 매크로블록에 대해 움직임 보상에러가 최소가 되도록 하는 움직임 벡터와 차분 움직임 벡터를 전송한다. 듀얼 프라임 예측 모드는 영상 부호화기에서의 계산량이 상당히 많은 편으로 한 개의 기본 움직임 벡터당 9 개의 예측 후보값을 계산해 내야 하므로 총 36 가지의 후보 중 한 개의 기본 움직임 벡터와 차분 움직임 벡터를 계산해야 한다. 한편, 영상 복호화기에서는 전송되어 온 기본 움직임 벡터와 차분 움직임 벡터로 부터 2 개의 필드움직임 벡터를 계산하기만 하면 되므로 비교적 간단하게 구현 가능하다.Next, the dual prime motion estimation and compensation mode transmits only one motion vector and differential motion vector (dmv) per macroblock, and is known to be effective for sequences with relatively slow motion. This mode is specified to be used only when the B picture is not used. That is, when the B picture is allowed, a better picture quality can be obtained using the B picture. However, when the B picture is not allowed, the dual prime prediction mode can be used to improve the picture quality with as little bit generation as possible. . In the dual prime prediction mode, first, the motion vectors of the upper, upper, and lower part of the four motion vectors obtained from the field prediction mode from upper to lower, upper to upper, lower to upper, lower to lower are used as the basic motion vectors. The upper and lower motion vectors and upper and lower motion vectors are scaled (* 2, * 2/3) and truncated, respectively, to form a basic motion vector. Next, each of the four basic motion vectors thus created is fine-tuned by -1, 0, and 1 in the horizontal and vertical directions to minimize the motion compensation error for the two 16 * 8 (pixels) sub macroblocks. A motion vector and a differential motion vector are transmitted. Since the dual prime prediction mode has a large amount of computation in the image encoder, it is necessary to calculate nine prediction candidate values per one basic motion vector. Therefore, the basic motion vector and the differential motion vector of one of 36 candidates must be calculated. Meanwhile, the image decoder can be implemented relatively simply because only two field motion vectors need to be calculated from the transmitted basic motion vector and the differential motion vector.

상술한 바와 같은 MPEG-2 영상 부호화 알고리즘에 의해 부호화된 비트스트림을 복호화하기 위한 일반적인 MPEG-2 영상 복호화기의 개략적인 구성이 도 2에 도시되어 있다. 도 2의 영상 복호화기는 크게 복호화부(21), 움직임 보상부(23)와 선택부(25)로 이루어진다.A schematic configuration of a general MPEG-2 image decoder for decoding a bitstream encoded by the MPEG-2 image encoding algorithm as described above is shown in FIG. 2. The video decoder of FIG. 2 is largely comprised of a decoder 21, a motion compensator 23, and a selector 25.

도 2를 살펴보면, 가변길이 복호화기(21a)에서는 비트 버퍼(미도시)로 부터 버퍼링되어 출력되는 비트스트림에 대하여 역다중화 및 가변길이 복호화를 수행하여, 프레임의 형태, 양자화 결과와 움직임 보상정보 등을 나타내는 부호화 데이터를 출력한다. 여기서, 움직임 보상정보는 움직임 벡터와 움직임 보상의 종류를 나타내는 데이타 등을 포함한다.Referring to FIG. 2, the variable length decoder 21a performs demultiplexing and variable length decoding on a bitstream buffered and output from a bit buffer (not shown), such as a frame shape, a quantization result, and motion compensation information. Outputs encoded data indicating. Here, the motion compensation information includes a motion vector and data indicating the type of motion compensation.

먼저, 프레임의 형태를 나타내는 부호화 데이터가 인트라 프레임(I)을 지시하는 경우, 가변길이 복호화된 양자화 결과는 역양자화기(21b)로 인가되고, 여기서 역양자화가 수행되어 이산여현변환(DCT) 계수로 복원된다. 역이산여현변환기(21c)에서는 복원된 이산여현변환 계수에 대하여 역이산여현변환을 수행하여 화소값을 복원한다. 이때, 인트라 프레임(I)임을 나타내는 부호화 데이터가 선택부(25)의 선택제어신호로 공급되기 때문에, 선택부(25)에서는 역이산여현변환기(21c)의 출력을 선택한다. 따라서, 역이산여현변환기(21c)로 부터 출력되는 복원 영상 데이타는 외부의 디스플레이 기기(미도시)로 출력되는 동시에, 제1프레임 메모리(23a)내 소정의 어드레스에 해당하는 영역에 저장된다.First, when encoded data indicating the shape of a frame indicates an intra frame I, the variable-length decoded quantization result is applied to the inverse quantizer 21b, where inverse quantization is performed to perform discrete cosine transform (DCT) coefficients. Is restored. The inverse discrete cosine transformer 21c performs inverse discrete cosine transform on the restored discrete cosine transform coefficients to restore the pixel value. At this time, since the encoded data indicating the intra frame I is supplied as the selection control signal of the selecting section 25, the selecting section 25 selects the output of the inverse discrete cosine converter 21c. Therefore, the reconstructed image data output from the inverse discrete cosine converter 21c is output to an external display device (not shown) and stored in an area corresponding to a predetermined address in the first frame memory 23a.

다음, 프레임의 형태를 나타내는 부호화 데이터가 예측 프레임(P)을 지시하는 경우에 대하여 설명하기로 한다. 먼저, 제1프레임 메모리(23a)에 저장된 복원 영상 데이타가 제2프레임 메모리(23b)내 소정의 어드레스에 해당하는 영역으로 전달된다. 그리고, 가변길이 복호화된 양자화 결과에 대하여 역양자화 및 역이산여현변환이 수행되어 예측 오차를 복원한다. 복원된 예측 오차는 가산기(23g)와 선택부(25)로 공급된다. 한편, 가변길이 복호화기(21a)로 부터 출력되는 움직임 벡터가 순방향 움직임 보상기(23c)로 인가되면, 순방향 움직임 보상기(23c)에서는 제2프레임 메모리(23b)로 부터 움직임 보상 블록을 생성하여 선택기(23f)로 공급한다. 이때, 예측 프레임(P)임을 나타내는 부호화 데이터가 선택기(23f)의 선택제어신호로 공급되기 때문에, 예측 프레임 디코딩 과정동안 순방향 움직임 보상기(23c)의 출력이 일정하게 가산기(23g)로 공급된다.Next, a description will be given of the case where the encoded data indicating the shape of the frame indicates the prediction frame P. FIG. First, the reconstructed image data stored in the first frame memory 23a is transferred to an area corresponding to a predetermined address in the second frame memory 23b. Inverse quantization and inverse discrete cosine transform are performed on the variable-length decoded quantization result to recover the prediction error. The reconstructed prediction error is supplied to the adder 23g and the selector 25. Meanwhile, when the motion vector output from the variable length decoder 21a is applied to the forward motion compensator 23c, the forward motion compensator 23c generates a motion compensation block from the second frame memory 23b and selects the selector ( 23f). At this time, since the encoded data indicating the prediction frame P is supplied as the selection control signal of the selector 23f, the output of the forward motion compensator 23c is constantly supplied to the adder 23g during the prediction frame decoding process.

가산기(23g)에서는 움직임 보상 블록과 역이산여현변환기(21c)로 부터 복원된 예측 오차를 가산하여 선택부(25)로 공급한다. 이때, 예측 프레임(P)임을 나타내는 부호화 데이터가 선택부(25)의 선택제어신호로 공급되기 때문에, 선택부(25)에서는 가산기(23g)의 출력을 선택한다. 따라서, 가산기(23g)로 부터 출력되는 복원 영상 데이타는 외부의 디스플레이 기기(미도시)로 출력되는 동시에, 제1프레임 메모리(23a)내 소정의 어드레스에 해당하는 영역에 저장된다.The adder 23g adds the prediction error reconstructed from the motion compensation block and the inverse discrete cosine transformer 21c and supplies it to the selection unit 25. At this time, since the coded data indicating the prediction frame P is supplied as the selection control signal of the selecting section 25, the selecting section 25 selects the output of the adder 23g. Therefore, the reconstructed image data output from the adder 23g is output to an external display device (not shown) and stored in an area corresponding to a predetermined address in the first frame memory 23a.

다음, 프레임의 형태를 나타내는 부호화 데이터가 보간 프레임(B)을 지시하는 경우에 대하여 설명하기로 한다. 먼저, 가변길이 복호화된 양자화 결과에 대하여 역양자화 및 역이산여현변환이 수행되어 예측 오차를 복원한다. 복원된 예측 오차는 가산기(23g)와 선택부(25)로 공급된다. 한편, 가변길이 복호화기(21a)로 부터 출력되는 움직임 벡터는 순방향 움직임 보상기(23c), 역방향 움직임 보상기(23d)와 보간형 움직임 보상기(23e)로 공급된다. 그러면, 각 움직임 보상기(23c~23e)에서는 제1 및 제2프레임 메모리(23a,23b)에 저장된 복원 영상 데이터를 기초로 하여 움직임 보상 블록을 생성하여 선택기(23f)로 공급한다. 선택기(23f)에서는 해당 블록의 움직임 보상 형태에 따라 각 움직임 보상기(23c~23e)의 출력 중 하나를 선택하여 가산기(23g)로 공급한다.Next, a description will be given of the case where coded data indicating a frame shape indicates an interpolation frame B. FIG. First, inverse quantization and inverse discrete cosine transform are performed on the variable-length decoded quantization result to recover the prediction error. The reconstructed prediction error is supplied to the adder 23g and the selector 25. On the other hand, the motion vector output from the variable length decoder 21a is supplied to the forward motion compensator 23c, the reverse motion compensator 23d, and the interpolated motion compensator 23e. Then, each motion compensator 23c to 23e generates a motion compensation block based on the reconstructed image data stored in the first and second frame memories 23a and 23b and supplies it to the selector 23f. The selector 23f selects one of the outputs of the motion compensators 23c to 23e according to the motion compensation form of the corresponding block, and supplies it to the adder 23g.

가산기(23g)에서는 움직임 보상 블록과 역이산여현변환기(21c)로 부터 복원된 예측 오차를 가산하여 선택부(25)로 공급한다. 이때, 보간 프레임(B)임을 나타내는 부호화 데이터가 선택부(25)의 선택제어신호로 공급되기 때문에, 선택부(25)에서는 가산기(23g)의 출력을 선택하여 외부의 디스플레이 기기(미도시)로 출력된다.The adder 23g adds the prediction error reconstructed from the motion compensation block and the inverse discrete cosine transformer 21c and supplies it to the selection unit 25. At this time, since the coded data indicating the interpolation frame B is supplied as the selection control signal of the selecting section 25, the selecting section 25 selects the output of the adder 23g to an external display device (not shown). Is output.

상술한 바와 같은 움직임 보상을 이용한 영상 복호화기에 관한 종래 기술은 미국 특허번호 5,315,388호, 5,337,086호 및 5,353,062 등에 개략적으로 혹은 부분적으로 언급되어 있다.The prior art related to the image decoder using the motion compensation as described above is mentioned schematically or partially in US Pat. Nos. 5,315,388, 5,337,086 and 5,353,062.

그런데, 영상 복호화기에서 복원된 영상 데이터가 화면상에 디스플레이되는 순서(이를 display order라 함)가 도 1에서와 같이 I,B,B,P,B,B,P,B,B,..,I,B,.. 인 경우, 영상 복호화기에서 복호화되는 순서(이를 decoding order라 함) 즉, 선택부(25)로 부터 출력되는 복원 영상 데이터의 순서는 I,P,B,B,P,B,B,P,B,...,I,P,.. 가 된다. 이러한 디스플레이 순서와 복호화 순서의 불일치를 해결하기 위하여, 기존에는 비디오 프레임 메모리를 별도로 구비하여 선택부(25)로 부터 출력되는 복원 영상 데이터를 저장한 다음, 디스플레이 순서에 따라 독출하여 디스플레이 기기로 출력하였다. 그러나, 상기 비디오 프레임 메모리는 I 픽쳐와 P 픽쳐 혹은 P 픽쳐와 P 픽쳐간의 거리(M)에 따라 적어도 3 프레임 분의 영상 데이타를 저장할 수 있는 용량을 가져야 하므로 그 가격이 비싸고, 따라서 전체 영상 복호화기의 가격을 상승시키는 요인이 될 뿐 아니라, 복호화 완료 이후 디스플레이까지의 지연시간이 증가하는 문제점이 있었다.However, the order in which the image data reconstructed by the image decoder is displayed on the screen (this is called a display order) is shown in FIG. 1 as follows: I, B, B, P, B, B, P, B, B, .. , I, B, .., the order of decoding by the image decoder (referred to as decoding order), that is, the order of reconstructed image data output from the selector 25 is I, P, B, B, P. , B, B, P, B, ..., I, P, ... In order to solve such a mismatch between the display order and the decoding order, a conventionally provided video frame memory is provided to store reconstructed image data output from the selection unit 25, and then read and output the display image data according to the display order. . However, since the video frame memory must have a capacity to store at least three frames of image data according to the I picture and the P picture or the distance M between the P picture and the P picture, the price is high, and thus, the entire image decoder. In addition to increasing the price of, there is a problem that the delay time from the completion of decoding to increase the display.

디스플레이 순서와 복호화 순서의 불일치를 해결하기 위한 다른 방법으로는, 선택부(25)로 부터 출력되는 B 픽쳐 영상 데이터를 M에 따라 소정 프레임 지연시키기 위한 프레임 버퍼를 별도로 구비하여, 디스플레이 순서에 따라 제1 및 제2프레임 메모리(23a,23b)와 프레임 버퍼(미도시)로 부터 복원 영상 데이터를 독출하였다. 그러나, 제1 및 제2프레임 메모리(23a,23b)에 대해서는 움직임 보상을 위한 데이터 읽기와 디스플레이를 위한 데이터 읽기를 함께 수행해야 하므로 그 타이밍 제어가 복잡해지는 문제점이 있었다.As another method for resolving a mismatch between the display order and the decoding order, a frame buffer for delaying the B picture image data output from the selector 25 by a predetermined frame in accordance with M is provided separately. The reconstructed image data is read from the first and second frame memories 23a and 23b and the frame buffer (not shown). However, the timing control is complicated because the first and second frame memories 23a and 23b need to perform data read for motion compensation and data read for display.

이에 본 발명은 상술한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 영상 복호화기에 있어서, 움직임 보상시 참조를 위한 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리를 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above-described problems, and in the image decoder, an area for storing image data for reference during motion compensation, an area for storing decoded image data for display, and image decoding It is an object of the present invention to provide a frame memory in which an area for storing a coded bitstream that is previously input is implemented on one memory module.

본 발명의 다른 목적은 상기 프레임 메모리를 이용한 움직임 보상장치를 제공하는데 있다.Another object of the present invention is to provide a motion compensation device using the frame memory.

상기 목적을 달성하기 위하여 본 발명에 따른 프레임 메모리는 영상 복호화기에 있어서,In order to achieve the above object, the frame memory according to the present invention is an image decoder,

움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이를 위하여, 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 저장하는 제1 및 제2프레임 저장영역;First and second frame storage regions for storing reconstructed I-picture or motion-compensated P-picture image data for display as well as being used as a reference image for motion compensation;

움직임 보상된 B 픽쳐 영상 데이터를 디스플레이를 위하여 저장하는 제3프레임 저장영역; 및A third frame storage area for storing the motion compensated B picture image data for display; And

상기 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는 제4프레임 저장영역으로 이루어지며,And a fourth frame storage area for storing the encoded bitstream input to the image decoder in predetermined bit units.

상기 제1 내지 제3프레임 저장영역에 저장된 각 픽쳐 영상 데이터는 소정의 디스플레이 순서에 따라 독출되어지는 것을 특징으로 한다.Each picture image data stored in the first to third frame storage areas is read according to a predetermined display order.

상기 다른 목적을 달성하기 위하여 본 발명에 따른 움직임 보상장치는The motion compensation device according to the present invention to achieve the other object

움직임 벡터와 각종 플래그를 입력받아 움직임 보상 과정을 제어하기 위한 복수개의 움직임 보상 제어신호를 발생하고, 상기 움직임 보상 과정에 대한 타이밍을 조절하는 움직임 보상 제어부;A motion compensation controller configured to receive a motion vector and various flags, generate a plurality of motion compensation control signals for controlling a motion compensation process, and adjust a timing of the motion compensation process;

움직임 벡터와 각종 플래그를 입력받아 읽기/쓰기 어드레스 신호 및 메모리 제어신호를 발생하는 메모리 제어부;A memory controller configured to receive a motion vector and various flags and generate a read / write address signal and a memory control signal;

복원된 영상 데이터 쓰기 동작, 움직임 보상을 위한 데이터 읽기 동작, 디스플레이를 위한 데이터 읽기 동작이 상기 메모리 제어부에 의해 제어되며, 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이를 위하여, 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 저장하는 제1 및 제2프레임 저장영역, 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이를 위하여 저장하는 제3프레임 저장영역, 및 상기 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는 제4프레임 저장영역으로 이루어지는 프레임 메모리;The reconstructed image data write operation, the data read operation for motion compensation, and the data read operation for display are controlled by the memory controller and used as a reference image for motion compensation, and at the same time for display, the reconstructed I picture or First and second frame storage areas for storing motion compensated P picture image data, a third frame storage area for storing motion compensated B picture image data for display, and an encoded bitstream input to the image decoder. A frame memory comprising a fourth frame storage area for storing a predetermined bit unit;

버스 제어신호를 출력하는 버스 제어부;A bus controller which outputs a bus control signal;

움직임 보상 혹은 디스플레이를 위해 상기 프레임 메모리로 부터 읽혀지는 영상 데이터, 상기 프레임 메모리에 쓰기 위한 움직임 보상된 영상 데이터, 및 디스플레이를 위해 상기 프레임 메모리로 부터 읽혀지는 영상 데이터를 상기 버스 제어신호에 따라서 전송하는 공통 버스; 및Transmitting image data read from the frame memory for motion compensation or display, motion compensated image data for writing to the frame memory, and image data read from the frame memory for display in accordance with the bus control signal. Common bus; And

상기 공통 버스를 통해 상기 프레임 메모리로 부터 공급되는 영상 데이터와 역이산여현변환된 영상 데이터에 대한 움직임 보상을 상기 움직임 보상 제어신호에 따라서 수행하는 움직임 보상부를 구비하는 것을 특징으로 한다.And a motion compensation unit configured to perform motion compensation on the image data supplied from the frame memory and the inverse discrete cosine transformed image data through the common bus according to the motion compensation control signal.

도 1은 프레임 배열의 일예를 보이는 도면,1 shows an example of a frame arrangement;

도 2는 일반적인 MPEG-2 영상 복호화기의 개략적인 구성을 나타낸 블록도,2 is a block diagram showing a schematic configuration of a typical MPEG-2 video decoder;

도 3은 영상 복호화기에 있어서 본 발명에 따른 프레임 메모리를 채택한 움직임 보상장치를 나타낸 블록도,3 is a block diagram showing a motion compensation apparatus employing a frame memory according to the present invention in an image decoder;

도 4는 본 발명에서 채택한 1 프레임에 대한 RAS 박스 설정방법을 나타낸 도면,4 is a view showing a RAS box setting method for one frame adopted in the present invention,

도 5는 본 발명에 따른 프레임 메모리의 구조를 나타낸 도면,5 is a diagram showing the structure of a frame memory according to the present invention;

도 6은 도 5에 도시된 제1 내지 제4프레임 저장영역을 형성하기 위한 SDRAM 배열을 나타낸 도면,FIG. 6 is a diagram illustrating an SDRAM array for forming the first to fourth frame storage regions shown in FIG. 5;

도 7은 한 개의 매크로블록에 대하여 도 5의 프레임 메모리에서의 읽기 및 쓰기 동작에 할당된 시간을 나타낸 도면,FIG. 7 is a diagram illustrating time allocated to read and write operations in the frame memory of FIG. 5 for one macroblock; FIG.

도 8은 복호화 순서 및 디스플레이 순서에 따라서, 제1 내지 제3프레임 저장영역의 스케쥴링 과정을 나타낸 도면이다.8 is a diagram illustrating a scheduling process of first to third frame storage areas according to a decoding order and a display order.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

100 : 움직임 보상 제어부 200 : 메모리 제어부100: motion compensation control unit 200: memory control unit

300 : 프레임 메모리 400 : 버스 제어부300: frame memory 400: bus control unit

500 : 공통 버스 600 : 움직임 보상부500: common bus 600: motion compensation unit

41~47 : 제1 내지 제4프레임 저장영역 41a~41f : 제1프레임 저장영역41 to 47: first to fourth frame storage areas 41a to 41f: first frame storage areas

43a~43f : 제2프레임 저장영역 45a~45f : 제3프레임 저장영역43a ~ 43f: Second frame storage area 45a ~ 45f: Third frame storage area

47a~47f : 제4프레임 저장영역 51 : 어드레스 버스47a ~ 47f: 4th frame storage area 51: address bus

53 : 명령어 버스 55,55a~55f : 데이터 버스53: Command Bus 55,55a ~ 55f: Data Bus

300a~300f : SDRAM 1~SDRAM 6300a ~ 300f: SDRAM 1 ~ SDRAM 6

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

도 3은 영상 복호화기에 있어서 본 발명에 따른 프레임 메모리를 채택한 움직임 보상장치를 나타낸 블록도로서, 움직임 보상장치(33)는 움직임 보상 제어부(100), 메모리 제어부(200), 프레임 메모리(300), 버스 제어부(400), 공통 버스(500) 및 움직임 보상부(600)로 구성된다.3 is a block diagram illustrating a motion compensator employing a frame memory according to the present invention in an image decoder. The motion compensator 33 includes a motion compensation controller 100, a memory controller 200, a frame memory 300, The bus controller 400 includes a common bus 500 and a motion compensator 600.

움직임 보상 제어부(100)에서는 가변길이 복호화기(도 2 참조: 21a)로 부터 움직임 벡터(mv)와 각종 플래그(flag)를 입력받아 움직임 보상과정을 제어하기 위한 움직임 보상 제어신호들을 발생하고, 움직임 보상과정에 대한 전체 타이밍을 제어한다. 이때, 플래그(flag)는 움직임 보상을 위한 정보로서, 영상 복호화기로 입력된 데이터가 유효한 데이터인지를 나타내는 신호("decoded_pels"), 영상 복호화기로 입력된 픽쳐가 I 픽쳐, P 픽쳐, B 픽쳐 중 어느 픽쳐에 해당되는지를 나타내는 신호("picture_coding_type"), 픽쳐 구조가 상위 필드, 하위 필드, 프레임 픽쳐 중 어느 것에 해당되는지를 나타내는 신호("picture_structure"), 영상 부호화기에서의 예측 모드를 나타내는 신호("mc_type"), 영상 부호화기에서의 이산여현변환 모드를 나타내는 신호("dct_type") 등이 있다.The motion compensation control unit 100 receives the motion vector mv and various flags from the variable length decoder 21 (see FIG. 2A), generates motion compensation control signals for controlling the motion compensation process, and generates a motion. Control the overall timing of the compensation process. In this case, the flag is information for motion compensation, and a signal (“decoded_pels”) indicating whether the data input to the image decoder is valid data, and the picture input to the image decoder includes any of an I picture, a P picture, and a B picture. A signal indicating whether the picture corresponds to a picture ("picture_coding_type"), a signal indicating whether the picture structure corresponds to an upper field, a lower field, or a frame picture ("picture_structure"), or a signal indicating a prediction mode in the image encoder ("mc_type"). "), A signal (" dct_type ") indicating a discrete cosine transform mode in the video encoder.

메모리 제어부(200)에서는 가변길이 복호화기(도 2 참조: 21a)로 부터 움직임 벡터(mv)와 각종 플래그(flag)를 입력받아, 쓰기/읽기 어드레스 신호 및 메모리 제어신호들을 발생한다.The memory controller 200 receives a motion vector mv and various flags from a variable length decoder 21 (see FIG. 2A) and generates write / read address signals and memory control signals.

프레임 메모리(300)는 복원된 영상 데이터 쓰기 동작, 움직임 보상을 위한 데이터 읽기 동작, 디스플레이를 위한 데이터 읽기 동작이 메모리 제어부(200)에 의해 제어되며, 4 프레임 분량의 화소 데이터를 저장할 수 있는 용량을 가진다. 이 프레임 메모리(300)에 대하여 도 4 내지 도 6을 참조하여 좀 더 상세히 설명하면 다음과 같다.The frame memory 300 controls the restored image data writing operation, the data reading operation for the motion compensation, and the data reading operation for the display by the memory controller 200, and has a capacity for storing four frames of pixel data. Have The frame memory 300 will be described in more detail with reference to FIGS. 4 to 6 as follows.

도 4를 참조하면, 본 발명에서는 1 프레임(여기서는 1,920 화소*1,088 화소규격을 예로 든다.)을 1,020(즉, 30*34) 개 의 RAS(Row Address Strobe) 박스로 분할한다. 즉, 이 RAS 박스의 번호가 프레임 메모리(300)의 행 어드레스(row address:RA)가 된다. 여기서, 하나의 RAS 박스는 8 개의 매크로블록(MB0~MB7)으로 이루어지며, 각 매크로블록은 4개의 Y 블록, 1개의 Cr 블록 및 1개의 Cb 블록으로 구성되고, 각 블록은 8개의 박스(box)로 구성된다. 그리고, Y 블록을 구성하는 각 박스에는 8개의 화소 데이터, Cr 블록을 구성하는 각 박스에는 2개의 화소 데이터, Cb 블록을 구성하는 각 박스에는 2개의 화소 데이터가 존재한다. 한편, 프레임 메모리(300)의 열 어드레스(column address:CA)는, 행 어드레스에 의해 선택된 RAS 박스를 구성하는 매크로블록 수, 해당 매크로블록을 구성하는 블록 수, 해당 블록을 구성하는 박스 수에 의해 결정된다. 이와 더불어, 예측된 매크로블록의 기준 포인트(reference point:R.P)를 얻기 위하여 해당 박스내의 화소 어드레스(pel address:PA)가 사용된다.Referring to FIG. 4, in the present invention, one frame (1,920 pixels * 1,088 pixel standard is taken as an example) is divided into 1,020 (that is, 30 * 34) RAS (Row Address Strobe) boxes. That is, the number of the RAS box is the row address (RA) of the frame memory 300. Here, one RAS box is composed of eight macro blocks (MB0 to MB7), each macro block is composed of four Y blocks, one Cr block, and one Cb block, and each block is composed of eight boxes (boxes). It consists of There are eight pixel data in each box constituting the Y block, two pixel data in each box constituting the Cr block, and two pixel data in each box constituting the Cb block. The column address CA of the frame memory 300 is determined by the number of macroblocks constituting the RAS box selected by the row address, the number of blocks constituting the macroblock, and the number of boxes constituting the block. Is determined. In addition, the pixel address (pel address: PA) in the box is used to obtain a reference point (R.P) of the predicted macroblock.

만약 예측된 매크로블록의 기준 포인트(reference point:R.P)가 사선으로 빗금친 부분 즉, MB3~MB7에 존재하게 되면, 해당 매크로블록의 화소 데이터를 모두 읽기 위해서 행 어드레스, 즉 RAS 박스를 변경시켜야 한다. 도 4와 같은 방식으로 RAS 박스를 설정하게 되면, 해당 매크로블록의 화소 데이터를 모두 읽기 위해서 최악의 경우라도 매크로블록을 구성하는 4개의 블록 중 한 개의 블록은 RAS 박스를 변경하지 않아도 된다. 따라서, 프레임 메모리(300)로 부터 데이터 페치(fetch)시 소요되는 시간을 줄일 수 있다. 여기서, 최악의 경우는 예측된 매크로블록의 기준 포인트가 MB7 내부에 위치하는 경우를 말한다.If the reference point (RP) of the predicted macroblock is in the diagonally hatched area, that is, MB3 to MB7, the row address, or RAS box, must be changed to read all the pixel data of the macroblock. . When the RAS box is set up in the same manner as in FIG. 4, even in the worst case, one block of the four blocks constituting the macroblock does not need to change the RAS box in order to read all the pixel data of the macroblock. Therefore, the time required to fetch data from the frame memory 300 can be reduced. Here, the worst case refers to a case in which the reference point of the predicted macroblock is located inside MB7.

한편, 도 5를 참조하면, 프레임 메모리(300)는 뱅크 1과 뱅크 2의 두 개의 메모리 뱅크를 가지며, 뱅크 1에는 제1 및 제2프레임 저장영역(41,43)이 있고, 뱅크 2에는 제3 및 제4프레임 저장영역(45,47)이 있다. 여기서, 제1 내지 제4프레임 저장영역(41,43,45,47)은 각각 1 프레임 분량의 화소 데이터를 저장할 수 있는 용량을 가지며, 제1 내지 제4프레임 저장영역(41,43,45,47)은 각각 1,024 개의 행 어드레스(row address)를 가지고, 256워드(여기서, 1워드는 8비트)의 열 어드레스(column address)를 가진다. 그리고, 하나의 어드레스에는 8개의 Y 화소, 2개의 Cr 화소 및 2 개의 Cb 화소, 총 12 화소 데이터가 저장된다. 여기서, 1,024 개의 행 어드레스는 상기한 RAS 박스 번호를 의미하며, 따라서 4 개의 행 어드레스가 남는다. 그리고, 256워드의 열 어드레스는 하나의 RAS 박스당 8개의 매크로블록*한개의 매크로블록당 32개의 화소(=256 화소)에 의해 나온 것이다. 여기서, 제1 및 제2프레임 저장영역(41,43)은 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이하기 위하여 저장하는데 사용되고, 제3프레임 저장영역(45)은 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이하기 위하여 저장하는데 사용되고, 제4프레임 저장영역(47)은 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는데 사용된다.Meanwhile, referring to FIG. 5, the frame memory 300 has two memory banks, bank 1 and bank 2, bank 1 includes first and second frame storage regions 41 and 43, and bank 2 includes a second memory bank. There are three and fourth frame storage areas 45 and 47. Here, the first to fourth frame storage areas 41, 43, 45, and 47 each have a capacity to store one frame of pixel data, and the first to fourth frame storage areas 41, 43, 45, 47 each has 1,024 row addresses, and has a column address of 256 words (where 1 word is 8 bits). One address stores eight Y pixels, two Cr pixels, two Cb pixels, and a total of 12 pixel data. Here, 1,024 row addresses mean the RAS box number described above, and thus 4 row addresses remain. The column address of 256 words is derived by 8 macroblocks per one RAS box * 32 pixels per macroblock (= 256 pixels). Here, the first and second frame storage areas 41 and 43 are used to store reconstructed I-picture or motion-compensated P-picture image data for use as a reference image for motion compensation and to simultaneously display the third frame. The storage area 45 is used to store the motion compensated B-picture image data, and the fourth frame storage area 47 is used to store the coded bitstream input to the image decoder in predetermined bit units.

한편, 프레임 메모리(300)는 영상 포맷이 4:2:0인 경우 도 6에서와 같이 6개의 메모리 예를 들어, SDRAM(Synchronous-DRAM:300a~300f)로 구현될 수 있다. SDRAM(300a~300f)은 각각 제1 내지 제4서브프레임 저장영역들(41a~41f, 43a~43f, 45a~45f, 47a~47f)로 나누어진다. 그 중, SDRAM(300a~300d)는 각각 한 개의 8*8 블록에 해당하는 휘도(Y) 화소 데이터를, SDRAM(300e)는 한 개의 8*8 블록에 해당하는 색차(Cr) 화소 데이터를, SDRAM(300f)는 한 개의 8*8 블록에 해당하는 색차(Cb) 화소 데이터를 저장한다. 한편, 각각의 SDRAM(300a~300f)는 16 Mbit의 용량을 가지며, 16 비트의 데이터 폭(data width)을 가진다. 1 화소 데이터(pel)가 8 비트에 해당하므로, 1회 페치(fetch)시 데이터 버스(55)를 통해 하나의 SDRAM으로 부터 2 화소 데이터를 출력할 수 있다. 즉, 1회 페치시 각각의 SDRAM(300a~300f)로 부터 2 화소씩, 총 12 화소(96 비트) 단위로 공통 버스(500) 상에 올려진다. 다시 말하면 SDRAM(300a~300d)에는 하나의 박스를 구성하는 8개 Y 화소 데이터에 대하여 각각 2 화소씩 저장되어 있고, SDRAM(300e)에 상기 8개 Y 화소 데이터에 해당하는 Cr 화소 데이터가 2 화소씩 저장되어 있고, SDRAM(300f)에는 상기 8개 Y 화소 데이터에 해당하는 Cb 화소 데이터가 2 화소씩 저장되어 있다. 즉, SDRAM(300a~300f)에서는 한 개의 행 어드레스(RAS 박스)에 256 개(8 MB*32 pel)의 화소가 저장된다. 이때, 화소 데이터의 휘도 성분(Y)과 색차 성분(Cr,Cb)이 동일 어드레스에 해당하는 영역에 저장되는 것으로 가정할 경우, 도 6에서와 같이 어드레스 버스(51) 및 명령어 버스(53)를 공유할 수 있다. 여기서는 SDRAM을 예로 들었는데, 그외 다른 비동기 메모리로도 용이하게 변형가능하다.Meanwhile, when the image format is 4: 2: 0, the frame memory 300 may be implemented with six memories, for example, Synchronous-DRAM: 300a to 300f, as shown in FIG. 6. The SDRAMs 300a to 300f are divided into first to fourth subframe storage areas 41a to 41f, 43a to 43f, 45a to 45f, and 47a to 47f, respectively. Among them, the SDRAMs 300a to 300d each have luminance (Y) pixel data corresponding to one 8 * 8 block, and the SDRAM 300e receives color difference (Cr) pixel data corresponding to one 8 * 8 block. The SDRAM 300f stores color difference (Cb) pixel data corresponding to one 8 * 8 block. On the other hand, each of the SDRAMs 300a to 300f has a capacity of 16 Mbits and a data width of 16 bits. Since one pixel data pel corresponds to 8 bits, two pixel data may be output from one SDRAM through the data bus 55 during one fetch. That is, each pixel is loaded onto the common bus 500 in units of 12 pixels (96 bits) from each of the SDRAMs 300a to 300f in one fetch. In other words, two pixels are stored in each of the eight Y pixel data constituting one box in the SDRAMs 300a to 300d, and two pixels of Cr pixel data corresponding to the eight Y pixel data are stored in the SDRAM 300e. Each Cb pixel data corresponding to the eight Y pixel data is stored in two pixels in the SDRAM 300f. That is, in the SDRAMs 300a to 300f, 256 pixels (8 MB * 32 pels) are stored in one row address (RAS box). In this case, it is assumed that the luminance component Y and the color difference components Cr and Cb of the pixel data are stored in an area corresponding to the same address. As shown in FIG. 6, the address bus 51 and the instruction bus 53 are replaced with each other. Can share Here, SDRAM is taken as an example, and can be easily transformed into other asynchronous memory.

다시, 도 3으로 돌아가서, 버스 제어부(400)에서는 공통 버스(500)를 제어하기 위한 버스 제어신호를 출력한다.3, the bus controller 400 outputs a bus control signal for controlling the common bus 500.

공통 버스(500)는 버스 제어부(400)의 제어하에, 움직임 보상부(600)로 부터 출력되는 움직임 보상된 화소 데이터를 프레임 메모리(300)에 쓰거나, 움직임 보상부(600)에서 사용할 참조 화소 데이터를 프레임 메모리(300)로 부터 읽거나, 디스플레이 기기(미도시)와 같은 다른 기능 블록으로 보내기 위하여 움직임 보상된 화소 데이터를 프레임 메모리(300)로 부터 읽기 위한 전송 경로로서 제공된다. 다시 말하면, 공통 버스(500)는 프레임 메모리(300)와 움직임 보상부(600), 프레임 메모리(300)와 디스플레이 기기(미도시), 프레임 메모리(300)와 비트 버퍼(미도시) 사이의 데이터 전송을 담당하며, 전송되는 데이터 크기는 12 화소(pel) 즉, 96 비트 단위이다. 한 개의 매크로블록에 대하여, 버스 제어부(400)에 의한 공통 버스(500) 제어 타이밍을 도 7을 참조하여 설명하면 다음과 같다.The common bus 500 writes the motion compensated pixel data output from the motion compensator 600 to the frame memory 300 under the control of the bus controller 400, or the reference pixel data to be used in the motion compensator 600. Is provided as a transmission path for reading motion-compensated pixel data from the frame memory 300 to read from the frame memory 300 or to send it to another functional block such as a display device (not shown). In other words, the common bus 500 may include data between the frame memory 300, the motion compensator 600, the frame memory 300, a display device (not shown), the frame memory 300, and a bit buffer (not shown). It is responsible for the transmission, and the size of data to be transmitted is 12 pixels (pel), that is, 96-bit units. For one macroblock, the control timing of the common bus 500 by the bus controller 400 will be described with reference to FIG. 7 as follows.

도 7에 있어서, "MC"는 프레임 메모리(300)의 제1 내지 제3프레임 저장영역(41,43,45) 중 해당 영역으로 부터 기준 프레임 픽쳐를 읽어 움직임 보상부(600)로 입력하는 위상이고, "D"는 디스플레이에 사용되는 데이타를 프레임 메모리(300)의 제1 내지 제3프레임 저장영역(41,43,45) 중 해당 영역으로 부터 읽어 전처리부(미도시)로 전송하는 위상이고, "BBR"은 프레임 메모리(300)의 비트 버퍼 영역 즉, 제4프레임 저장영역(47)으로 부터 데이터를 읽어 비트 버퍼(미도시)로 입력하는 위상이고, "BBW"는 비트 버퍼(미도시)로 부터 각종 부가 정보를 읽어 프레임 메모리(300)의 제4프레임 저장영역(47)에 소정의 비트 단위로 저장하는 위상이고, "W"는 움직임 보상부(600)에서 움직임 보상된 데이터를 프레임 메모리(300)의 제1 내지 제3프레임 저장영역(41,43,45) 중 해당 영역에 저장하는 위상이다. 다시 말하면, 프레임 메모리(300) 측면에서 볼 때, 읽기 동작은 "MC", "D" 및 "BBR" 위상에, 쓰기 동작은 "W"와 "BBW" 위상에 해당한다. 예를 들어, 프레임 메모리(300)에서 공통버스(500)상에서 한 개의 매크로블록 처리에 할당되는 시간 단위를 '202'라고 하였을 때 각 위상에 대한 할당 예로서, "MC"는 '110', "D"는 '40', "BBR"는 '16', "BBW"는 '4', "W"는 '32'와 같이 할당할 수 있다.In FIG. 7, "MC" is a phase for reading a reference frame picture from a corresponding area among the first to third frame storage areas 41, 43, and 45 of the frame memory 300 and inputting the reference frame picture to the motion compensator 600. "D" is a phase in which data used for display is read from a corresponding area among the first to third frame storage areas 41, 43, and 45 of the frame memory 300 and transmitted to a preprocessor (not shown). , "BBR" is a phase for reading data from the bit buffer area of the frame memory 300, that is, the fourth frame storage area 47, and inputting the data to the bit buffer (not shown), and "BBW" is a bit buffer (not shown). ) Is a phase for reading various additional information from the second frame storage area 47 of the frame memory 300 in a predetermined bit unit, and " W " The first to third frame storage areas 41, 43, and 45 of the memory 300 are stored in the corresponding area. Phase. In other words, in view of the frame memory 300, the read operation corresponds to the "MC", "D" and "BBR" phases, and the write operation corresponds to the "W" and "BBW" phases. For example, when a time unit allocated to one macroblock processing on the common bus 500 in the frame memory 300 is '202', an allocation example for each phase is "110". D "can be assigned as" 40 "," BBR "as" 16 "," BBW "as" 4 ", and" W "as" 32 ".

움직임 보상부(600)에서는 움직임 보상 제어부(100)의 제어하에, 공통버스(500)를 통해 프레임 메모리(300)의 제1 내지 제3프레임 저장영역(41,43,45) 중 해당 영역으로 부터 출력되는 화소 데이터에 대하여 반화소 보상을 수행한 후, 역이산여현변환기(도 2 참조: 21c)로 부터 출력되는 화소 데이터를 더함으로써 움직임 보상된 화소 데이터를 생성한다. 이 움직임 보상된 화소 데이터는 96 비트 단위로 프레임 메모리(300)의 제1 내지 제3프레임 저장영역(41,43,45) 중 해당 영역에 저장된다.The motion compensator 600 controls the motion compensation controller 100 from a corresponding one of the first to third frame storage areas 41, 43, and 45 of the frame memory 300 through the common bus 500. After performing half-pixel compensation on the output pixel data, motion compensated pixel data is generated by adding pixel data output from an inverse discrete cosine converter (see FIG. 2: 21c). The motion compensated pixel data is stored in a corresponding one of the first to third frame storage areas 41, 43, and 45 of the frame memory 300 in units of 96 bits.

이어서, 도 2에 도시된 영상 복호화기에서 복호화되는 순서가 I,P,B,B,P,B,B,P,B,B,P,B,B,I,P,B,B 이고, 디스플레이 순서가 I,B,B,P,B,B,P,B,B,P,B,B,P,I,B,B 이고, 디스플레이 잠복기(latency)가 2 프레임인 경우, 본 발명에 따른 프레임 메모리를 이용한 움직임 보상장치의 실시예에 대한 동작을 좀 더 세부적으로 살펴보면 다음과 같다.Subsequently, the decoding order in the video decoder shown in FIG. 2 is I, P, B, B, P, B, B, P, B, B, P, B, B, I, P, B, B, If the display order is I, B, B, P, B, B, P, B, B, P, B, B, P, I, B, B, and the display latency is two frames, The operation of the embodiment of the motion compensation device using the frame memory will be described in more detail as follows.

1) I 픽쳐가 입력된 경우1) When I picture is input

영상 복호화기로 입력된 I 픽쳐 데이타는 가변길이 복호화, 역양자화 및 역이산여현변환을 순차적으로 거친 후, 움직임 보상부(600)에서 움직임 보상과정을 행하지 않은 상태로 소정의 포맷으로 공통 버스(500) 상에 올려진다.The I picture data input to the image decoder is sequentially subjected to variable length decoding, inverse quantization, and inverse discrete cosine transform, and then the motion compensation unit 600 performs a motion compensation process in a predetermined format without performing a motion compensation process. Is put on.

메모리 제어부(200)에서는 가변길이 복호화기(도 2 참조:21a)로 부터 움직임 벡터(I 픽쳐이므로 "0")와 각종 플래그를 입력받아, 프레임 메모리(300)에 I 픽쳐 데이터를 쓰기 위한 쓰기 어드레스 신호 및 메모리 제어신호를 출력한다. 그러면, 공통 버스(500)상에 올려져 있던 I 픽쳐 데이터는 버스 제어부(400)의 제어하에, 메모리 제어부(200)로 부터의 쓰기 어드레스 신호 및 메모리 제어신호에 따라 프레임 메모리(300)내 제1프레임 저장영역(41)의 소정 영역에 저장된다. 이때, 프레임 메모리(300)에 저장되는 픽쳐 구조는 필드 구조인 것이 바람직하며, 12 화소(96 비트) 단위로 공통 버스(500)에 올려 진다. 한편, 제2 및 제3프레임 저장영역(43,45)은 비어 있는(empty) 상태이다. 이 상황이 도 8에 있어서 두 번째 프레임 메모리 블록에 해당한다.The memory control unit 200 receives a motion vector ("0" because it is an I picture) and various flags from a variable length decoder (see FIG. 2A) and a write address for writing I picture data to the frame memory 300. Outputs a signal and a memory control signal. Then, the I picture data loaded on the common bus 500 is controlled by the bus controller 400, and according to the write address signal and the memory control signal from the memory controller 200, the first picture data in the frame memory 300 is controlled. It is stored in a predetermined area of the frame storage area 41. In this case, the picture structure stored in the frame memory 300 is preferably a field structure and is mounted on the common bus 500 in units of 12 pixels (96 bits). Meanwhile, the second and third frame storage areas 43 and 45 are empty. This situation corresponds to the second frame memory block in FIG.

2) P 픽쳐가 입력된 경우2) When a P picture is input

가변길이 복호화기(도 2 참조: 21a)로 부터 P 픽쳐에 대한 움직임 벡터와 플래그들이 움직임 보상 제어부(100) 및 메모리 제어부(200)로 입력되면, 움직임 보상 제어부(100)에서는 움직임 보상시 필요한 각종 제어신호들(예를 들어, dct_type, mc_type 등)을 발생하여 움직임 보상부(600)로 인가한다. 한편, 메모리 제어부(200)에서는 움직임 벡터와 각종 플래그에 따라 읽기 어드레스 신호 및 메모리 제어신호들을 발생하여 프레임 메모리(300)로 인가한다. 그러면, 메모리 제어신호에 따라서, 프레임 메모리(300)내 제1프레임 저장영역(41)에서 읽기 어드레스에 해당하는 영역에 저장된 I 픽쳐 화소 데이터가 읽혀져 공통 버스(500) 상에 올려진다.When motion vectors and flags for the P picture are input from the variable length decoder (see FIG. 2A) to the motion compensation controller 100 and the memory controller 200, the motion compensation controller 100 may perform various kinds of motion compensation. Control signals (eg, dct_type, mc_type, etc.) are generated and applied to the motion compensator 600. Meanwhile, the memory controller 200 generates and applies the read address signal and the memory control signals to the frame memory 300 according to the motion vector and various flags. Then, the I picture pixel data stored in the region corresponding to the read address in the first frame storage region 41 in the frame memory 300 is read and loaded on the common bus 500 according to the memory control signal.

공통 버스(500) 상에 올려진 I 픽쳐 화소 데이터는 버스 제어부(400)의 제어하에, 12 화소(96 비트)씩 움직임 보상부(600)로 인가된다. 움직임 보상부(600)에서는 먼저, 프레임 메모리(300)로 부터 출력되는 I 픽쳐 화소 데이터를 움직임 보상부(600)에서 처리하는 데이터 포맷으로 맞춘 후, 반화소 보상을 수행한다. 다음, 움직임 보상 제어신호(dct_type, mc_type)에 따라서, 반화소 보상된 I 픽쳐 화소 데이터는 역이산여현변환기(도 2 참조: 21c)에서 역이산여현변환된 P 픽쳐 화소 데이터와 합해져서 P 픽쳐 화소 데이터에 대한 움직임 보상이 이루어진다. 움직임 보상된 P 픽쳐 화소 데이터는 움직임 보상 제어부(100)의 제어하에, 12 화소(96 비트)씩 공통 버스(500) 상에 올려진다.The I picture pixel data mounted on the common bus 500 is applied to the motion compensator 600 by 12 pixels (96 bits) under the control of the bus controller 400. The motion compensator 600 first adjusts the I picture pixel data output from the frame memory 300 to a data format processed by the motion compensator 600 and then performs half pixel compensation. Next, according to the motion compensation control signals dct_type and mc_type, the half-pixel-compensated I picture pixel data is added to the P picture pixel data inversely discrete cosine transformed by the inverse discrete cosine transformer (see FIG. 2C). Motion compensation is performed on the data. The motion compensated P picture pixel data is loaded on the common bus 500 by 12 pixels (96 bits) under the control of the motion compensation controller 100.

한편, 메모리 제어부(200)에서는 가변길이 복호화기(도 2 참조:21a)로 부터 움직임 벡터와 각종 플래그를 입력받아, 프레임 메모리(300)에 움직임 보상된 P 픽쳐 데이터를 쓰기 위한 쓰기 어드레스 신호 및 메모리 제어신호를 출력한다. 그러면, 공통 버스(500)상에 올려져 있던 움직임 보상된 P 픽쳐 데이터는 버스 제어부(400)의 제어하에, 메모리 제어부(200)로 부터의 쓰기 어드레스 신호 및 메모리 제어신호에 따라 프레임 메모리(300)내 제2프레임 저장영역(43)의 소정 영역에 저장된다. 이때, 제3프레임 저장영역(45)은 비어 있는(empty) 상태이다. 이 상황이 도 8에 있어서 세 번째 프레임 메모리 블록에 해당한다.Meanwhile, the memory controller 200 receives a motion vector and various flags from a variable length decoder (see FIG. 2A), and writes a write address signal and a memory for writing motion compensated P picture data to the frame memory 300. Output a control signal. Then, the motion compensated P picture data mounted on the common bus 500 is controlled by the bus controller 400 according to the write address signal and the memory control signal from the memory controller 200. It is stored in a predetermined area of the second frame storage area 43. At this time, the third frame storage area 45 is empty. This situation corresponds to the third frame memory block in FIG.

3) B 픽쳐가 입력된 경우3) When B picture is input

가변길이 복호화기(도 2 참조: 21a)로 부터 B 픽쳐에 대한 움직임 벡터와 플래그들이 움직임 보상 제어부(100) 및 메모리 제어부(200)로 입력되면, 움직임 보상 제어부(100)에서는 움직임 보상시 필요한 각종 제어신호들(예를 들어, dct_type, mc_type 등)을 발생하여 움직임 보상부(600)로 인가한다.When motion vectors and flags for a B picture are input from the variable length decoder (see FIG. 2A) to the motion compensation controller 100 and the memory controller 200, the motion compensation controller 100 may perform various kinds of motion compensation. Control signals (eg, dct_type, mc_type, etc.) are generated and applied to the motion compensator 600.

메모리 제어부(200)에서는 움직임 벡터와 각종 플래그에 따라 순방향 움직임 보상을 위한 읽기 어드레스 신호 및 메모리 제어신호들을 발생하여 프레임 메모리(300)로 인가한다. 그러면, 메모리 제어신호에 따라서, 프레임 메모리(300)내 제1프레임 저장영역(41)에서 읽기 어드레스에 해당하는 영역에 저장된 I 픽쳐 화소 데이터가 읽혀져 공통 버스(500) 상에 올려진다. 공통 버스(500) 상에 올려진 I 픽쳐 화소 데이터는 버스 제어부(400)의 제어하에, 12 화소(96 비트)씩 움직임 보상부(600)로 인가된다. 움직임 보상부(600)에서는 프레임 메모리(300)로 부터 출력되는 I 픽쳐 화소 데이터를 움직임 보상부(600)에서 처리하는 데이터 포맷으로 맞춘 후, 반화소 보상을 수행하여 내부 버퍼(미도시)에 일시적으로 저장한다.The memory controller 200 generates read address signals and memory control signals for forward motion compensation according to the motion vector and various flags, and applies them to the frame memory 300. Then, the I picture pixel data stored in the region corresponding to the read address in the first frame storage region 41 in the frame memory 300 is read and loaded on the common bus 500 according to the memory control signal. The I picture pixel data mounted on the common bus 500 is applied to the motion compensator 600 by 12 pixels (96 bits) under the control of the bus controller 400. The motion compensator 600 adjusts the I picture pixel data output from the frame memory 300 to a data format processed by the motion compensator 600, and then performs half-pixel compensation to temporarily perform an internal buffer (not shown). Save as.

다음, 메모리 제어부(200)에서는 움직임 벡터와 각종 플래그에 따라 역방향 움직임 보상을 위한 읽기 어드레스 신호 및 메모리 제어신호들을 발생하여 프레임 메모리(300)로 인가한다. 그러면, 메모리 제어신호에 따라서, 프레임 메모리(300)내 제2프레임 저장영역(43)에서 읽기 어드레스에 해당하는 영역에 저장된 P 픽쳐 화소 데이터가 읽혀져 공통 버스(500) 상에 올려진다. 공통 버스(500) 상에 올려진 P 픽쳐 화소 데이터는 버스 제어부(400)의 제어하에, 12 화소(96 비트)씩 움직임 보상부(600)로 인가된다. 움직임 보상부(600)에서는 프레임 메모리(300)로 부터 출력되는 P 픽쳐 화소 데이터를 움직임 보상부(600)에서 처리하는 데이터 포맷으로 맞춘 후, 반화소 보상을 수행하여 내부 버퍼(미도시)에 일시적으로 저장한다.Next, the memory controller 200 generates the read address signal and the memory control signals for the backward motion compensation according to the motion vector and various flags, and applies them to the frame memory 300. Then, according to the memory control signal, the P picture pixel data stored in the region corresponding to the read address in the second frame storage region 43 in the frame memory 300 is read and loaded on the common bus 500. The P picture pixel data mounted on the common bus 500 is applied to the motion compensator 600 by 12 pixels (96 bits) under the control of the bus controller 400. The motion compensator 600 adjusts the P picture pixel data output from the frame memory 300 to a data format processed by the motion compensator 600, and then performs half-pixel compensation to temporarily store an internal buffer (not shown). Save as.

또한, 양방향 움직임 보상을 위해, 반화소 보상된 I 픽쳐 화소 데이터와 P 픽쳐 화소 데이터의 평균값도 내부 버퍼(미도시)에 일시적으로 저장한다.In addition, for bidirectional motion compensation, an average value of half-pixel compensated I picture pixel data and P picture pixel data is also temporarily stored in an internal buffer (not shown).

다음, 움직임 보상 제어부(100)로 부터의 순방향, 역방향, 양방향 움직임 보상 중 어느 것이 선택될 지에 대한 움직임 보상 제어신호(mc_type)에 따라서, 반화소 보상된 I 픽쳐 화소 데이터, 반화소 보상된 P 픽쳐 화소 데이터, 반화소 보상된 I 픽쳐 화소 데이터와 P 픽쳐 화소 데이터의 평균값 중 하나가 선택된다. 선택된 화소 데이터는 역이산여현변환기(도 2 참조: 21c)에서 역이산여현변환된 B 픽쳐 화소 데이터와 합해져서 B 픽쳐 화소 데이터에 대한 움직임 보상이 이루어진다. 움직임 보상된 B 픽쳐 화소 데이터는 움직임 보상 제어부(100)의 제어하에, 12 화소(96 비트)씩 공통 버스(500) 상에 올려진다.Next, the half pixel compensated I picture pixel data and the half pixel compensated P picture according to the motion compensation control signal mc_type for which one of the forward, reverse, and bidirectional motion compensation from the motion compensation controller 100 is selected. One of the pixel data, the average value of half-pixel compensated I picture pixel data and P picture pixel data is selected. The selected pixel data is combined with inverse discrete cosine transformed B picture pixel data in an inverse discrete cosine transformer (see FIG. 2C) to thereby perform motion compensation on the B picture pixel data. The motion compensated B picture pixel data is loaded on the common bus 500 by 12 pixels (96 bits) under the control of the motion compensation controller 100.

한편, 메모리 제어부(200)에서는 가변길이 복호화기(도 2 참조:21a)로 부터 움직임 벡터와 각종 플래그를 입력받아, 프레임 메모리(300)에 움직임 보상된 B 픽쳐 데이터를 쓰기 위한 쓰기 어드레스 신호 및 메모리 제어신호를 출력한다. 그러면, 공통 버스(500)상에 올려져 있던 움직임 보상된 B 픽쳐 화소 데이터는 버스 제어부(400)의 제어하에, 메모리 제어부(200)로 부터의 쓰기 어드레스 신호 및 메모리 제어신호에 따라 프레임 메모리(300)내 제3프레임 저장영역(45)의 소정 영역에 저장된다. 한편, 제1프레임 저장영역(41)에 저장되어 있던 I 픽쳐 화소 데이터는 메모리 제어부(200)의 제어하에 12 화소(96 비트)씩 공통 버스(500) 상에 올려지고, 버스 제어부(100)의 제어하에, 해당 위상에서 디스플레이를 위하여 디스플레이 기기(미도시)로 출력된다. 이 상황이 도 8에 있어서 네 번째 프레임 메모리 블록에 해당한다.Meanwhile, the memory controller 200 receives a motion vector and various flags from a variable length decoder (see FIG. 2A) and writes a write address signal and a memory for writing motion compensated B picture data to the frame memory 300. Output a control signal. Then, the motion compensated B picture pixel data loaded on the common bus 500 is controlled by the bus controller 400 according to the write address signal and the memory control signal from the memory controller 200. In the third frame storage area 45. Meanwhile, the I picture pixel data stored in the first frame storage area 41 is loaded on the common bus 500 by 12 pixels (96 bits) under the control of the memory controller 200, and the Under control, it is output to a display device (not shown) for display in that phase. This situation corresponds to the fourth frame memory block in FIG.

상기 1) 내지 3) 과정은 복호화 순서에 따라 반복적으로 수행되는데, P 픽쳐가 입력되는 경우 참조 화소 데이터는 복호화 순서에 따라 I 픽쳐 혹은 P 픽쳐가 될 수 있으며, B 픽쳐가 입력되는 경우 순방향 혹은 역방향 움직임 보상을 위한 참조 화소 데이터는 복호화 순서에 따라 각각 I 픽쳐 혹은 P 픽쳐가 될 수 있다. 또한, 각각의 참조 화소 데이터가 저장되는 영역도 복호화 순서에 따라 제1프레임 저장영역(41) 혹은 제2프레임 저장영역(43)이 된다. 이러한 복호화 순서 및 디스플레이 순서를 도식화한 것이 도 8에 나타나 있다. 도 8에서 화살표들은 움직임 보상을 위해 참조되는 영상 데이터를 나타내며, "D"는 디스플레이를 위해 프레임 메모리(300)로 부터 영상 데이터가 읽혀지고 있음을 나타낸다.Steps 1) to 3) are repeatedly performed according to the decoding order. When the P picture is input, the reference pixel data may be an I picture or a P picture according to the decoding order, and when the B picture is input, forward or backward Reference pixel data for motion compensation may be an I picture or a P picture, respectively, in decoding order. Further, the area where each reference pixel data is stored also becomes the first frame storage area 41 or the second frame storage area 43 in the decoding order. 8 illustrates a diagram of the decoding order and the display order. Arrows in FIG. 8 indicate image data referenced for motion compensation, and "D" indicates that image data is being read from the frame memory 300 for display.

한편, 상기한 상세한 설명은 여기에 제시된 특정의 실시예를 설명하고자 한 것이며, 본 발명을 한정하려는 의도는 아니다. 당업자라면, 상기한 상세한 설명 및 도면을 참조하여 본 발명의 기술적 사상내에서 여러 가지 변형 및 수정을 가할 수 있을 것이다.On the other hand, the above detailed description is intended to describe particular embodiments presented herein and is not intended to limit the present invention. Those skilled in the art may make various changes and modifications within the technical spirit of the present invention with reference to the above detailed description and drawings.

상술한 바와 같이 본 발명에 따르면, 움직임 보상장치에 있어서, 움직임 보상시 참조를 위한 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리를 채택함으로써, 영상 복호화기 구성을 간소화할 수 있을 뿐 아니라 복호화 완료 이후 디스플레이에 소요되는 시간을 단축할 수 있다.As described above, according to the present invention, in a motion compensation apparatus, an area for storing image data for reference during motion compensation, an area for storing decoded image data for display, and an encoded bitstream input to an image decoder By adopting a frame memory implemented on one memory module as a region for storing the data, not only the image decoder configuration can be simplified but also the time required for display after the decoding is completed can be shortened.

Claims (19)

영상 복호화기에 있어서,In the video decoder, 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이를 위하여, 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 저장하는 제1 및 제2프레임 저장영역(41,43);First and second frame storage regions (41, 43) for storing reconstructed I-picture or motion-compensated P-picture image data for use as a reference image for motion compensation and for display; 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이를 위하여 저장하는 제3프레임 저장영역(45); 및A third frame storage area 45 for storing the motion compensated B picture image data for display; And 상기 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는 제4프레임 저장영역(47)으로 이루어지며,And a fourth frame storage area 47 for storing the encoded bitstream input to the image decoder in predetermined bit units. 상기 제1 내지 제3프레임 저장영역(41,43,45)에 저장된 각 픽쳐 영상 데이터는 소정의 디스플레이 순서에 따라 독출되어지는 것을 특징으로 하는 프레임 메모리.Each picture image data stored in the first to third frame storage areas (41, 43, 45) is read out according to a predetermined display order. 제 1 항에 있어서, 상기 제1 내지 제4프레임 저장영역(41,43,45,47)은 각각 1 프레임 분량의 용량을 가지는 것을 특징으로 하는 프레임 메모리.2. The frame memory according to claim 1, wherein the first to fourth frame storage areas (41, 43, 45, 47) each have a capacity of one frame. 제 1 항에 있어서, 상기 제1 내지 제3프레임 저장영역(41,43,45)에 저장되는 픽쳐 구조는 필드 구조인 것을 특징으로 하는 프레임 메모리.2. The frame memory according to claim 1, wherein the picture structure stored in the first to third frame storage areas (41, 43, 45) is a field structure. 제 1 항에 있어서, 상기 제1 내지 제4프레임 저장영역(41,43,45,47)에 대한 데이터 쓰기 및 읽기 단위는 96 비트인 것을 특징으로 하는 프레임 메모리.2. The frame memory according to claim 1, wherein the data writing and reading unit for the first to fourth frame storage areas (41, 43, 45, 47) is 96 bits. 제 1 항에 있어서, 상기 제1 내지 제4프레임 저장영역(41,43,45,47)은 각각 1,024 개의 행 어드레스와 256 워드의 열 어드레스를 가지며, 하나의 어드레스에는 12 화소 데이타가 저장되는 것을 특징으로 하는 프레임 메모리.The data storage device of claim 1, wherein the first to fourth frame storage areas 41, 43, 45, and 47 each have 1,024 row addresses and 256 word column addresses, and one pixel stores 12 pixel data. Frame memory. 제 1 항에 있어서, 상기 제1 내지 제3프레임 저장영역(41,43,45)에 저장되는 1 프레임 픽쳐는 4*2 매크로블럭으로 구성되는 복수개의 RAS 박스로 이루어지는 것을 특징으로 하는 프레임 메모리.The frame memory according to claim 1, wherein one frame picture stored in the first to third frame storage areas (41, 43, 45) comprises a plurality of RAS boxes composed of 4 * 2 macroblocks. 영상복호화기에 있어서,In the video decoder, 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이를 위하여, 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 저장하는 제1 및 제2서브프레임 저장영역(41a~41d,43a~43d), 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이를 위하여 저장하는 제3서브프레임 저장영역(45a~45d) 및 상기 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는 제4서브프레임 저장영역(47a~47d)으로 이루어지며, Y 화소 데이터를 저장하는 제1 내지 제4SDRAM(300a~300d);First and second subframe storage areas 41a to 41d and 43a to 43d for storing reconstructed I-picture or motion-compensated P-picture image data for use as a reference image for motion compensation and for display. Third subframe storage areas 45a to 45d for storing the compensated B picture image data for display, and a fourth subframe storage area 47a for storing the coded bitstream input to the image decoder in units of predetermined bits. First to fourth SDRAMs 300a to 300d each configured to ˜47 d) and storing Y pixel data; 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이를 위하여, 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 저장하는 제1 및 제2서브프레임 저장영역(41e,43e), 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이를 위하여 저장하는 제3서브프레임 저장영역(45e) 및 상기 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는 제4서브프레임 저장영역(47e)으로 이루어지며, Cr 화소 데이터를 저장하는 제5SDRAM(300e); 및First and second subframe storage areas 41e and 43e for storing reconstructed I-picture or motion-compensated P-picture image data for use as a reference image for motion compensation and for display, and motion-compensated B-picture. A third subframe storage area 45e for storing the image data for display and a fourth subframe storage area 47e for storing the encoded bitstream input to the image decoder in predetermined bit units, and Cr A fifth SDRAM 300e for storing pixel data; And 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이를 위하여, 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 저장하는 제1 및 제2서브프레임 저장영역(41f,43f), 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이를 위하여 저장하는 제3서브프레임 저장영역(45f) 및 상기 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는 제4서브프레임 저장영역(47f)으로 이루어지며, Cb 화소 데이터를 저장하는 제6SDRAM(300f)로 이루어지는 것을 특징으로 하는 프레임 메모리.First and second subframe storage areas 41f and 43f for storing reconstructed I pictures or motion compensated P picture image data for display as well as being used as reference images for motion compensation, and motion compensated B pictures. A third subframe storage area 45f for storing image data for display and a fourth subframe storage area 47f for storing the coded bitstream input to the image decoder in predetermined bit units, and Cb And a sixth SDRAM (300f) for storing pixel data. 제 7 항에 있어서, 상기 제1 내지 제4서브프레임 저장영역들(41a~41f, 43a~43f, 45a~45f, 47a~47f)은 각각 1 프레임 분량의 용량을 가지는 것을 특징으로 하는 프레임 메모리.8. The frame memory according to claim 7, wherein the first to fourth subframe storage areas (41a to 41f, 43a to 43f, 45a to 45f, and 47a to 47f) each have a capacity of one frame. 제 7 항에 있어서, 상기 제1 내지 제6SDRAM(300a~300f)에 저장되는 픽쳐 구조는 필드 구조인 것을 특징으로 하는 프레임 메모리.8. The frame memory of claim 7, wherein the picture structure stored in the first to sixth SDRAMs (300a to 300f) is a field structure. 제 7 항에 있어서, 상기 제1 내지 제6SDRAM(300a~300f)에 대한 데이터 쓰기 및 읽기 단위는 16 비트인 것을 특징으로 하는 프레임 메모리.8. The frame memory of claim 7, wherein the data writing and reading unit for the first to sixth SDRAMs (300a to 300f) is 16 bits. 제 7 항에 있어서, 상기 제1 내지 제4서브프레임 저장영역들(41a~41f, 43a~43f, 45a~45f, 47a~47f)은 각각 1,024 개의 행 어드레스와 256 워드의 열 어드레스를 가지는 것을 특징으로 하는 프레임 메모리.8. The first and fourth subframe storage areas 41a to 41f, 43a to 43f, 45a to 45f, and 47a to 47f respectively have 1,024 row addresses and 256 word column addresses. Frame memory. 제 7 항에 있어서, 상기 제1 내지 제3서브프레임 저장영역들(41a~41f, 43a~43f, 45a~45f)에 저장되는 1 프레임 픽쳐는 4*2 매크로블럭으로 구성되는 복수개의 RAS 박스로 이루어지는 것을 특징으로 하는 프레임 메모리.8. The method of claim 7, wherein one frame picture stored in the first to third subframe storage areas 41a to 41f, 43a to 43f, and 45a to 45f is a plurality of RAS boxes configured of 4 * 2 macroblocks. Frame memory, characterized in that made. 제 7 항 내지 제 12 항에 있어서, 상기 제1 내지 제6SDRAM(300a~300f)은 어드레스 버스와 명령어 버스를 공유하는 것을 특징으로 하는 프레임 메모리.13. The frame memory according to claim 7, wherein the first to sixth SDRAMs (300a to 300f) share an address bus and an instruction bus. 움직임 벡터와 각종 플래그를 입력받아 움직임 보상 과정을 제어하기 위한 복수개의 움직임 보상 제어신호를 발생하고, 상기 움직임 보상 과정에 대한 타이밍을 조절하는 움직임 보상 제어부(100);A motion compensation controller (100) for receiving a motion vector and various flags to generate a plurality of motion compensation control signals for controlling a motion compensation process, and adjusting timing of the motion compensation process; 움직임 벡터와 각종 플래그를 입력받아 읽기/쓰기 어드레스 신호 및 메모리 제어신호를 발생하는 메모리 제어부(200);A memory controller 200 which receives a motion vector and various flags and generates a read / write address signal and a memory control signal; 복원된 영상 데이터 쓰기 동작, 움직임 보상을 위한 데이터 읽기 동작, 디스플레이를 위한 데이터 읽기 동작이 상기 메모리 제어부(200)에 의해 제어되며, 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 기준 영상으로 사용하는 것과 동시에 디스플레이를 위하여 저장하는 제1 및 제2프레임 저장영역, 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이를 위하여 저장하는 제3프레임 저장영역, 및 상기 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는 제4프레임 저장영역으로 이루어지는 프레임 메모리(300);The reconstructed image data write operation, the data read operation for motion compensation, and the data read operation for display are controlled by the memory controller 200, and the reconstructed I picture or motion compensated P picture image data is used as a reference image. And a first frame storage area for storing the display, a third frame storage area for storing the motion compensated B-picture image data for display, and an encoded bitstream input to the image decoder. A frame memory 300 having a fourth frame storage area for storing bit by bit; 버스 제어신호를 출력하는 버스 제어부(400);A bus controller 400 for outputting a bus control signal; 움직임 보상 혹은 디스플레이를 위해 상기 프레임 메모리(300)로 부터 읽혀지는 영상 데이터, 상기 프레임 메모리(300)에 쓰기 위한 움직임 보상된 영상 데이터, 및 디스플레이를 위해 상기 프레임 메모리(300)로 부터 읽혀지는 영상 데이터를 상기 버스 제어신호에 따라서 전송하는 공통 버스(500); 및Image data read from the frame memory 300 for motion compensation or display, motion compensated image data for writing to the frame memory 300, and image data read from the frame memory 300 for display A common bus 500 for transmitting the signal according to the bus control signal; And 역이산여현변환된 영상 데이터와 상기 공통 버스(500)를 통해 상기 프레임 메모리(300)로 부터 공급되는 영상 데이터에 대한 움직임 보상을 움직임 보상 제어신호에 따라서 수행하는 움직임 보상부(600)를 구비하는 것을 특징으로 하는 움직임 보상장치.And a motion compensation unit 600 for performing motion compensation on the image data supplied from the inverse discrete cosine transformed image and the image data supplied from the frame memory 300 through the common bus 500 according to a motion compensation control signal. Motion compensation device, characterized in that. 제 14 항에 있어서, 상기 프레임 메모리(300)내 상기 제1 내지 제4프레임 저장영역(41,43,45,47)은 각각 1 프레임 분량의 용량을 가지는 것을 특징으로 하는 움직임 보상장치.15. The motion compensating device according to claim 14, wherein the first to fourth frame storage areas (41, 43, 45, 47) in the frame memory (300) each have a capacity of one frame. 제 14 항에 있어서, 상기 프레임 메모리(300)내 제1 내지 제3프레임 저장영역(41,43,45)에 저장되는 픽쳐 구조는 필드 구조인 것을 특징으로 하는 움직임 보상장치.15. The motion compensation device according to claim 14, wherein the picture structure stored in the first to third frame storage areas (41, 43, 45) in the frame memory (300) is a field structure. 제 14 항에 있어서, 상기 프레임 메모리(300)은 6개의 SDRAM(300a~300f)으로 구현되는 것을 특징으로 하는 움직임 보상장치.15. The motion compensating device according to claim 14, wherein the frame memory (300) is implemented with six SDRAMs (300a to 300f). 제 17 항에 있어서, 상기 6개의 SDRAM(300a~300f)은 어드레스 버스와 명령어 버스를 공유하는 것을 특징으로 하는 움직임 보상장치.18. The motion compensation apparatus of claim 17, wherein the six SDRAMs (300a to 300f) share an address bus and a command bus. 제 17 항에 있어서, 상기 프레임 메모리(300)의 데이터 쓰기 및 읽기 동작은 96 비트 단위로 수행되는 것을 특징으로 하는 움직임 보상장치.18. The motion compensation apparatus of claim 17, wherein data writing and reading operations of the frame memory are performed in units of 96 bits.
KR1019970022373A 1997-05-31 1997-05-31 Motion compensator having an improved frame memory KR100269426B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970022373A KR100269426B1 (en) 1997-05-31 1997-05-31 Motion compensator having an improved frame memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970022373A KR100269426B1 (en) 1997-05-31 1997-05-31 Motion compensator having an improved frame memory

Publications (2)

Publication Number Publication Date
KR19980086114A KR19980086114A (en) 1998-12-05
KR100269426B1 true KR100269426B1 (en) 2000-10-16

Family

ID=19508131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970022373A KR100269426B1 (en) 1997-05-31 1997-05-31 Motion compensator having an improved frame memory

Country Status (1)

Country Link
KR (1) KR100269426B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI260509B (en) * 2002-08-15 2006-08-21 Sony Corp Method and apparatus for processing image data and semiconductor storage device

Also Published As

Publication number Publication date
KR19980086114A (en) 1998-12-05

Similar Documents

Publication Publication Date Title
US8175157B2 (en) Apparatus and method for controlling data write/read in image processing system
JPH08237662A (en) Picture element interpolation filter for video decompressionprocessor
KR100298397B1 (en) Video decoding system
US8514937B2 (en) Video encoding apparatus
US7843993B2 (en) Moving picture encoding apparatus having increased encoding speed and method thereof
JPH0759096A (en) Video encoder and decoder
JP3120010B2 (en) Image decoding method and image decoding device
GB2400260A (en) Video compression method and apparatus
KR100269426B1 (en) Motion compensator having an improved frame memory
JPH07298264A (en) Image data processing method, storage device used for the method and processing unit of image data
US20030123555A1 (en) Video decoding system and memory interface apparatus
KR100248085B1 (en) Sdram having memory map structure
KR100243471B1 (en) Address generator in frame memory
KR100248651B1 (en) A motion compensator
KR100243470B1 (en) Address generator in frame memory
KR100243475B1 (en) Jump address generator in frame memory
KR100235486B1 (en) Method for compensating a slice position during an address generation 0f a predicted macroblock in a frame memory and circuit using the same
KR100235485B1 (en) Method for compensating a reference point during an address generation 0f a predicted macroblock in a frame memory and circuit using the same
KR100243474B1 (en) Jump address generator in frame memory
KR100255221B1 (en) Method for compensating a pel address and counter for compensating a box in case of compensating a half-pel in a frame memory
KR0128883B1 (en) Improved memory structure in image decoder for half pixel motion compensation
KR100243473B1 (en) Apparatus for compensating a motion vector during an address generation of a predicted macroblock in a frame memory
KR100243476B1 (en) Half-pixel compensator of a motion compensator
JPH10304373A (en) Moving image decoding method and moving image decoder
KR19990005602A (en) Dual Prime Field Prediction Method in Frame Memory

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: 20120702

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee