KR100237486B1 - Apparatus for rearranging data output from a frame memory - Google Patents
Apparatus for rearranging data output from a frame memory Download PDFInfo
- Publication number
- KR100237486B1 KR100237486B1 KR1019970048529A KR19970048529A KR100237486B1 KR 100237486 B1 KR100237486 B1 KR 100237486B1 KR 1019970048529 A KR1019970048529 A KR 1019970048529A KR 19970048529 A KR19970048529 A KR 19970048529A KR 100237486 B1 KR100237486 B1 KR 100237486B1
- Authority
- KR
- South Korea
- Prior art keywords
- sub
- pixel data
- frame memory
- picture
- block
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 프레임 메모리의 출력 데이터 재배열장치에 관한 것이다.The present invention relates to an output data rearrangement apparatus of a frame memory.
이러한 본 발명의 장치는, 움직임 보상시 참조를 위한 화소 데이터를 매크로블록 단위로 저장하는 필드 구조의 프레임 메모리(100)에 있어서, 예측된 매크로블록의 색차 신호에 대한 화소 데이터를 상기 프레임 메모리로부터 독출한 후 재배열하기 위하여, 2개 화소 데이터를 저장하는 제1 FIFO(50), 4개 화소 데이터를 저장하기 위한 제2 내지 제5 FIFO(51~54), 참조 필드(ref_field)를 제어 신호로 하여 제2 내지 제5 FIFO(51~54) 가운데 하나를 선택하여 출력하는 멀티플렉서(60), 및 6개의 화소 데이터를 예측된 매크로블록의 기준 포인트의 화소 어드레스에 따라서 소정 횟수만큼 쉬프팅함으로써 예측된 매크로블록에 해당하는 유효 화소 데이터를 추출하는 데이터 소팅부(70)로 구성되어, 색차 신호에 있어서 예측된 매크로블록의 기준 포인트의 화소 어드레스에 따라 최대 5개 서브 블록에 걸쳐 서브 박스 단위로 읽은 다음, 최대 1회 만큼 좌로 쉬프팅시킴으로써, 예측된 매크로블록에 해당하는 화소 데이터로 재배열할 수 있다.The apparatus of the present invention, in the frame memory 100 of the field structure that stores the pixel data for reference in motion compensation in macroblock units, the pixel data for the color difference signal of the predicted macroblock is read from the frame memory. In order to reorder after shipment, the first FIFO 50 for storing two pixel data, the second to fifth FIFOs 51 to 54 for storing four pixel data, and the reference field ref_field are used as control signals. A macro predicted by shifting the multiplexer 60 to select and output one of the second to fifth FIFOs 51 to 54 by a predetermined number of times according to the pixel address of the reference point of the predicted macroblock. And a data sorting unit 70 for extracting effective pixel data corresponding to the block, in accordance with the pixel address of the reference point of the macroblock predicted in the color difference signal. By for shifting left by 5, and then up to a reading unit in the sub-box over a sub-block time, it is possible to rearrange the pixel data corresponding to the predicted macroblock.
Description
본 발명은 움직임 보상장치에 관한 것으로서, 특히 프레임 메모리의 출력 데이터를 재배열하기 위한 장치에 관한 것이다.The present invention relates to a motion compensation device, and more particularly, to an apparatus for rearranging output data of a frame memory.
MPEG(Moving Picture Experts Group)-2 표준안에 사용되는 움직임 보상기술은 매크로블록 단위로 시간적으로 인접한 두 화면간의 움직임을 추정하여 보상함으로써 시간적 중복성(temporal redundancy)을 줄이기 위한 것이다. 즉, 움직임 추정 및 보상과정에서는 인접한 영상과 현재 영상을 비교하여 물체의 움직임에 관한 정보인 움직임 벡터를 검출해 내고, 이 움직임 벡터를 이용하여 현재 영상을 예측해 낸다.The motion compensation technique used in the Moving Picture Experts Group (MPEG) -2 standard is to reduce temporal redundancy by estimating and compensating for motion between two adjacent temporal pictures in macroblock units. That is, in the motion estimation and compensation process, a neighboring image is compared with the 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.
이러한 움직임 보상기술을 이용하는 MPEG-2 영상 복호화기(video encoder)에 있어서, P 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 또는 P 픽쳐를 기준으로 하여 순방향 움직임 보상을 수행하고, B 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 기준으로 하여 순방향 움직임 보상, 역방향 움직임 보상 및 보간형 움직임 보상을 수행하여 얻은 움직임 보상 블록 중 최선의 것을 선택한다.In an MPEG-2 video encoder using such a motion compensation technique, 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 performs the current picture. The best one is selected from among motion compensation blocks obtained by performing forward motion compensation, reverse 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.
프레임 메모리는 이와 같이 움직임 보상을 위한 참조영상인 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 저장하기 위하여 사용된다. 또한, 프레임 메모리는 MPEG-2 영상 복호화기에 있어서 복호화 순서와 디스플레이 순서가 서로 다른 관계로, 복호화가 완료된 픽쳐를 일시적으로 저장한 다음 디스플레이 순서에 맞게 페치하기 위하여 사용된다.The frame memory is used to store the I picture or P picture of the previous picture and the I picture or P picture of the next picture as the reference picture for motion compensation. In addition, the frame memory is used to temporarily store a decoded picture and fetch it according to the display order since the decoding order and the display order are different in the MPEG-2 video decoder.
그러나, 상기한 바와 같은 프레임 메모리는 I 픽쳐와 P 픽쳐 혹은 P 픽쳐와 P 픽쳐간의 거리(M)에 따라 적어도 3 프레임 분의 영상 데이터를 저장할 수 있는 용량을 가져야 하므로 그 가격이 비싸고, 따라서 전체 영상 복호화기의 가격을 상승시키는 요인이 될 뿐 아니라, 복호화 완료 이후 디스플레이까지의 지연시간이 증가하는 문제점이 있었다.However, the frame memory as described above has 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, and therefore, the price is expensive, and thus, the entire picture. In addition to raising the price of the decoder, there is a problem that the delay time from the completion of decoding to the display increases.
이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 색차 신호의 경우 현재 매크로블록의 시작 어드레스 및 움직임 벡터에 의해 예측된 매크로블록에 해당하는 화소 데이터를 최대 5개 서브 블록에 걸쳐 서브 박스 단위로 독출한 후, 예측된 매크로블록에 해당하는 화소 데이터로 재배열하기 위한 장치를 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, and includes a region for storing reference image data, a region for storing decoded image data for display, and an encoded bitstream input to an image decoder. In a frame memory in which an area to be stored is implemented on one memory module, in the case of a color difference signal, pixel data corresponding to a macroblock predicted by a start address and a motion vector of a current macroblock is sub-sized over up to five subblocks. It is an object of the present invention to provide an apparatus for rearranging pixel data corresponding to a predicted macroblock after reading in a box unit.
상기와 같은 목적을 제공하기 위한 본 발명의 장치는, 움직임 보상시 참조를 위한 화소 데이터를 매크로블록 단위로 저장하는 프레임 메모리에 있어서, 프레임 메모리로부터 제1 및 제3 서브 블록의 화소 데이터를 한 서브 블록에 걸쳐 서브 박스단위로 독출하여 저장하는 제 1 FIFO, 상기 제 1 FIFO로부터 출력되는 2개 화소 데이터와 프레임 메모리로부터 제2 및 제4 서브 블록을 한 서브 블록에 걸쳐 서브 박스단위로 독출한 2개 화소 데이터를 저장하기 위한 제2 내지 제5 FIFO, 참조 필드(ref_field)를 제어 신호로 하여 상기 제2 내지 제5 FIFO의 출력가운데 하나를 선택하는 멀티플렉서, 및 상기 멀티플렉서로부터 2개 서브 블록에 걸쳐 서브 박스순으로 출력되는 화소 데이터와 프레임 메모리로부터 1개 서브 블록에 걸쳐 서브 박스순으로 출력되는 화소 데이터를 예측된 매크로블록의 기준 포인트의 화소 어드레스에 따라서 쉬프팅하지 않거나 좌로 1회 쉬프팅함으로써, 예측된 매크로블록에 해당하는 유효 화소 데이터를 추출하는 데이터 소팅부를 포함하는 것을 특징으로 한다.An apparatus of the present invention for providing the above object is a frame memory for storing pixel data for reference in motion compensation in macroblock units, the pixel data of the first and third sub-blocks from the frame memory A first FIFO that reads and stores the blocks in sub-box units over a block, and 2 which reads the second and fourth sub blocks in sub-box units over one sub block from two pixel data and frame memory output from the first FIFO; A second to fifth FIFO for storing the pixel data, a multiplexer for selecting one of the outputs of the second to fifth FIFOs using a reference field (ref_field) as a control signal, and two sub-blocks from the multiplexer Pixel data output in sub-box order and pixel data output in sub-box order across one sub-block from the frame memory And a data sorting unit which extracts valid pixel data corresponding to the predicted macroblock by not shifting or shifting the pixel once according to the pixel address of the reference point of the predicted macroblock.
도 1은 본 발명에서 채택한 프레임 메모리의 구조를 나타낸 도면,1 is a diagram showing the structure of a frame memory adopted in the present invention;
도 2는 도 1에 도시된 프레임 메모리에 있어서 1 프레임에 대한 RAS 박스 설정방법 의 일 예를 나타낸 도면,FIG. 2 is a diagram illustrating an example of a method for setting a RAS box for one frame in the frame memory shown in FIG. 1;
도 3은 도 2에 도시된 RAS 박스에 있어서 매크로블록 구조의 일 예를 나타낸 도면,3 is a view showing an example of a macroblock structure in the RAS box shown in FIG.
도 4는 상위 필드의 색차 신호에 있어서 예측된 매크로블록의 위치에 대한 일 예를 나타낸 도면,4 is a diagram illustrating an example of a position of a predicted macroblock in a color difference signal of an upper field;
도 5는 본 발명에 의한 프레임 메모리의 출력 데이터 재배열장치의 구성을 나타낸 블록도이다.5 is a block diagram showing the configuration of an output data rearrangement apparatus of a frame memory according to the present invention.
*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of drawing
50~54 : FIFO 60 : 멀티플렉서50 ~ 54: FIFO 60: Multiplexer
70 : 데이터 소팅부70: data sorting unit
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예에 대하여 자세히 살펴보기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에서 채택한 프레임 메모리의 구조를 나타낸 것으로서, 프레임 메모리(100)는 복원된 영상 데이터 쓰기 동작, 움직임 보상을 위한 데이터 읽기 동작, 디스플레이를 위한 데이터 읽기 동작이 메모리 제어부(미도시)에 의해 제어된다. 프레임 메모리(100)는 뱅크 1과 뱅크 2의 두 개의 메모리 뱅크를 가지며, 뱅크 1에는 제1 및 제2프레임 저장영역(100-1,100-2)이 있고, 뱅크 2에는 제3 및 제4프레임 저장영역(100-3,100-4)이 있다. 여기서, 제1 내지 제4프레임 저장영역(100-1,100-2,100-3,100-4)은 각각 1 프레임 분량의 화소 데이터를 저장할 수 있는 용량을 가지며, 제1 내지 제4프레임 저장영역(100-1,100-2,100-3,100-4)은 각각 1,024 개의 행 어드레스(row address)를 가지고, 256워드(여기서, 1워드는 8비트)의 열 어드레스(column address)를 가진다. 그리고, 하나의 어드레스에는 8개의 Y 화소, 2개의 Cr 화소 및 2 개의 Cb 화소, 총 12 화소 데이터가 저장된다. 여기서, 1,024 개의 행 어드레스는 RAS 박스의 번호를 의미한다. 그리고, 256워드의 열 어드레스는 하나의 RAS 박스당 8개의 매크로블록*한개의 매크로블록당 32개의 박스(=256 박스)에 의해 나온 것이다.1 illustrates a structure of a frame memory adopted in the present invention, in which the frame memory 100 includes a restored image data write operation, a data read operation for motion compensation, and a data read operation for display to a memory controller (not shown). Is controlled by The frame memory 100 has two memory banks,
한편, 프레임 메모리(100)의 실제 물리적인 행 어드레스(physical row address)는 제1 내지 제4프레임 저장영역(100-1~100-4)에 대하여 각각 000H~ 3FFH, 400H~ 7FFH, 800H~ BFFH, C00H~ FFFH로 할당된다. 그러나, 제1 내지 제4프레임 저장영역(100-1~100-4)은 각각 독립적으로 존재하며, 제1프레임 저장영역(100-1)의 소정 행 어드레스에 위치한 매크로블록에 대응하는 제2 및 제3프레임 저장영역(100-2,100-3)의 매크로블록은 동일한 행 어드레스를 가진다. 이와 같이, 제1 내지 제3프레임 저장영역(100-1~100-3) 내에서의 행 어드레스를 가상적인 행 어드레스(virtual row address)라 한다. 그리고, 움직임 보상시 도 2에 도시된 바와 같은 프레임 메모리(100)의 스케쥴링 순서에 의거하여, 참조 영상이 위치한 해당 저장영역에서의 가상적인 행 어드레스를 물리적인 행 어드레스로 변환시키는데 사용되는 어드레스를 프레임 옵셋 어드레스(frame offset address)라 하며, RA[11:10]라 둔다. 즉, RA[11:10]이 '00'이면 제1프레임 저장영역(100-1), '01'이면 제2프레임 저장영역(100-2), '10'이면 제3프레임 저장영역(100-3), '11'이면 제4프레임 저장영역(100-4)을 각각 나타낸다.The actual physical row address of the frame memory 100 is 000 H to 3FF H , 400 H to 7FF H for the first to fourth frame storage areas 100-1 to 100-4, respectively. , 800 H to BFF H and C00 H to FFF H. However, the first to fourth frame storage regions 100-1 to 100-4 exist independently, and the second and fourth frames corresponding to the macroblocks located at predetermined row addresses of the first frame storage region 100-1 are respectively provided. The macroblocks of the third frame storage areas 100-2 and 100-3 have the same row address. As such, the row address in the first to third frame storage areas 100-1 to 100-3 is referred to as a virtual row address. Then, based on the scheduling order of the frame memory 100 as shown in FIG. 2 during motion compensation, an address used to convert a virtual row address in a corresponding storage area in which a reference image is located into a physical row address is framed. It is called the frame offset address and is called RA [11:10]. That is, if RA [11:10] is '00', the first frame storage area 100-1, if '01', the second frame storage area 100-2, and if the '10', the third frame storage area 100 -3) and '11' indicate the fourth frame storage areas 100-4, respectively.
여기서, 제1 및 제2프레임 저장영역(100-1,100-2)은 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이하기 위하여 저장하는데 사용되고, 제3프레임 저장영역(100-3)은 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이하기 위하여 저장하는데 사용되고, 제4프레임 저장영역(100-4)은 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는데 사용된다.Here, the first and second frame storage areas 100-1 and 100-2 are used to store reconstructed I-picture or motion-compensated P-picture image data for use as a reference image for motion compensation and simultaneously for display. The three-frame storage area 100-3 is used to store the motion compensated B-picture image data, and the fourth frame storage area 100-4 stores the encoded bitstream input to the image decoder in units of predetermined bits. Used to save.
도 2는 도 1에 도시된 프레임 메모리(100)에 있어서 1 프레임에 대한 RAS 박스 설정방법의 예를 나타낸 것으로서, 예를 들어 1 프레임이 1,920 화소*1,088 화소로 이루어지는 경우, 15 개 RAS 박스*68 개 RAS 박스, 총 1,020 개의 RAS(Row Address Strobe) 박스로 분할된다. 즉, RAS 박스의 번호가 프레임 메모리(100)의 행 어드레스(row address:RA)가 된다. 여기서, 하나의 RAS 박스는 8 개 매크로블록*1 개 매크로블록, 총 8 개의 매크로블록(MB0~MB7)으로 이루어진다. 그리고, 각 매크로블록은 휘도(Y) 블록을 예로 들 경우, 4개의 블록(b0~b3)으로 나누어진다.FIG. 2 illustrates an example of a RAS box setting method for one frame in the frame memory 100 shown in FIG. 1. For example, when one frame includes 1,920 pixels * 1,088 pixels, 15 RAS boxes * 68 It is divided into RAS boxes, a total of 1,020 Row Address Strobe (RAS) boxes. That is, the number of the RAS box is the row address (RA) of the frame memory 100. Here, one RAS box is composed of eight macroblocks * 1 macroblocks and a total of eight macroblocks MB0 to MB7. Each macroblock is divided into four blocks b0 to b3 when the luminance Y block is taken as an example.
도 3은 도 2에 도시된 RAS 박스에 있어서 매크로블록 구조의 예를 나타낸 것으로서, 4개의 휘도(Y) 블록(b0~b3), 1개의 색차(Cr) 블록 및 1개의 색차(Cb) 블록으로 구성되고, 4개의 휘도(Y) 블록은 각각 8개의 박스(b0-0~b0-7, b1-0~b1-7, b2-0~b2-7, b3-0~b3-7)로 구성되고, 2개의 색차(Cr,Cb) 블록은 각각 8개의 서브 박스(sb0-0~sb0-7, sb1-0~sb1-7, sb2-0~sb2-7, sb3-0~sb3-7)로 구성된다. 그리고, Y 블록을 구성하는 각 박스에는 8*1 포맷의 8개의 화소 데이터, Cr 블록을 구성하는 각 서브 박스에는 2*1 포맷의 2개의 화소 데이터, Cb 블록을 구성하는 각 서브 박스에는 2*1 포맷의 2개의 화소 데이터가 존재한다.FIG. 3 shows an example of a macroblock structure in the RAS box shown in FIG. 2, with four luminance (Y) blocks b0 to b3, one color difference (Cr) block, and one color difference (Cb) block. Four luminance (Y) blocks are composed of eight boxes (b0-0 to b0-7, b1-0 to b1-7, b2-0 to b2-7, and b3-0 to b3-7), respectively. Each of the two color difference (Cr, Cb) blocks has eight sub boxes (sb0-0 to sb0-7, sb1-0 to sb1-7, sb2-0 to sb2-7, and sb3-0 to sb3-7). It consists of. 8 pixel data in 8 * 1 format is included in each box constituting the Y block, 2 pixel data in 2 * 1 format is formed in each sub box constituting the Cr block, and 2 * is in each sub box constituting the Cb block. There are two pixel data in one format.
본 발명에 적용되는 프레임 메모리는 필드 구조로 맵핑되어 있는 바, 도 4는 상위 필드에 있어서 예측된 매크로블록 범위안에서 읽어야 할 색차 신호의 화소 데이터에 대한 일 예를 나타낸 것으로, 각 서브 박스는 어드레스로 구분된다. 여기서 상위 필드의 색차 신호를 4개의 2 화소*4 화소 구조로 나눈 것을 서브 블록이라 명명한다.Since the frame memory applied to the present invention is mapped to a field structure, FIG. 4 shows an example of pixel data of a color difference signal to be read within a predicted macroblock range in an upper field, and each sub box is represented as an address. Are distinguished. Herein, the color difference signal of the upper field is divided into four two-pixel * four-pixel structures, which are called subblocks.
도 5는 본 발명에 의한 프레임 메모리의 출력 데이터 재배열장치의 구성을 나타낸 블록도로서, 제1 내지 제5 FIFO(50~54), 멀티플렉서(60), 및 데이터 소팅부(70)로 구성된다.FIG. 5 is a block diagram showing a configuration of an output data rearrangement apparatus of a frame memory according to the present invention, and includes first to
그러면, 본 발명의 작용 및 효과에 대하여 도 1 내지 도 5를 참조하여 상세히 설명하면 다음과 같다. 여기서, 참조하고자 하는 픽쳐가 필드 픽쳐이고, 움직임 형태가 필드 추정 및 보상인 경우, 휘도신호를 예로 들기로 한다. 또한, 예측된 매크로블록 범위안에서 읽어야 할 색차 신호의 화소 데이터가 도 4에서와 같이 위치하고, 4화소 * 4화소 즉, 2개 서브 블록단위로 독출되는 경우를 살펴보기로 한다. 여기서, 설명의 편의상 색차 신호의 예측된 매크로블록이 위치하는 5개 서브 블록에 대하여 제1 내지 제5 서브 블록이라 명명한다.Then, the operation and effects of the present invention will be described in detail with reference to FIGS. 1 to 5. Here, the luminance signal is taken as an example when the picture to be referred to is a field picture and the motion type is field estimation and compensation. Also, a case in which pixel data of a color difference signal to be read in the predicted macroblock range is located as shown in FIG. 4 and read out in units of 4 pixels * 4 pixels, that is, 2 sub blocks. Here, for convenience of description, the five subblocks in which the predicted macroblocks of the color difference signal are located are called first to fifth subblocks.
도 4에 있어서, 색차 신호에 해당하는 화소 데이터는 서브 박스 단위 즉, 2 화소 단위로 읽혀진다. 이와 같이 서브 박스 단위로 화소 데이터를 읽게 되면, 기준 포인트(R.P)가 각 매크로블록의 시작 위치에 놓이게 되는 경우를 제외하고는 총 5개의 서브 블록에 걸쳐 4개의 서브 박스를 읽어야 하고, 따라서 총 40개의 화소 데이터가 읽혀진다. 본 발명은 이와 같이 프레임 메모리의 해당 저장영역에서 최대 5개의 서브 블록에 걸쳐 서브 박스 단위로 독출되는 화소 데이터로부터 예측된 매크로블록(MBp)에 해당하는 색차 신호의 화소 데이터를 추출해내기 위한 것이다.In FIG. 4, pixel data corresponding to the color difference signal is read in sub box units, that is, in units of 2 pixels. As such, when pixel data is read in units of sub-boxes, four sub-boxes should be read over a total of five sub-blocks except that the reference point RP is placed at the start of each macro block. Pixel data are read. The present invention is to extract the pixel data of the color difference signal corresponding to the predicted macroblock MBp from the pixel data read out in units of sub boxes over up to five sub blocks in the corresponding storage area of the frame memory.
도 5에 있어서, 제 1 FIFO(50)는 한 개의 서브 블록에 걸쳐 프레임 메모리(미도시)로부터 순차적으로 서브 박스 단위의 화소 데이터를 독출하여 저장하고, 제 1 FIFO(50)를 제외한 각각의 FIFO(51~54)는 두 개의 서브 블록에 걸쳐 서브 박스 단위의 화소 데이터를 저장하고 해당 블록의 화소 데이터를 출력하기 위한 것이다. 여기서 제 1 FIFO(50)를 제외한 FIFO(51~54)가 4개 사용되는 것은 B 픽쳐에 있어서 움직임 형태가 필드 추정 및 보상이거나 16*8 추정 및 보상인 경우 각각 참조하고자 하는 필드를 위한 것이다. 즉, 제 2 FIFO(51)는 B 픽쳐의 현재 영상에 대해서 이전 영상의 I 픽쳐 혹은 P 픽쳐의 상위 필드를 저장하고, 제 3 FIFO(52)는 이전 영상의 I 픽쳐 혹은 P 픽쳐의 하위 필드를 저장하고, 제 4 FIFO(53)는 다음 영상의 I 픽쳐 혹은 P 픽쳐의 상위 필드를 저장하고, 제 5 FIFO(54)는 다음 영상의 I 픽쳐 혹은 P 픽쳐의 하위 필드를 저장하기 위한 것이다.In FIG. 5, the first FIFO 50 sequentially reads out and stores pixel data in a sub box unit from a frame memory (not shown) over one sub block, and stores each FIFO except for the
멀티플렉서(60)는 상기와 같이 제2 내지 제5 FIFO(52~54)에 저장된 2개 서브 블록에 걸친 화소 데이터를 참조 필드(ref_field)를 제어신호로 하여 선택적으로 출력한다. 따라서 B 픽쳐의 참조하고자 하는 필드가 이전 영상의 I 픽쳐 혹은 P 픽쳐의 상위 필드일 경우, 멀티플렉서(60)는 제 2 FIFO(51)의 출력을 선택한다.The
데이터 소팅부(70)는 예측된 매크로블록(MBp)의 색차 신호에 대하여 멀티플렉서(60)로부터 공급되는 2개 서브 블록에 걸친 화소 데이터(즉, 4개 화소 데이터)와 프레임 메모리로부터 바로 출력되는 1개 서브 블록에 걸친 화소 데이터(즉, 2개 화소 데이터)로부터 예측된 매크로블록(MBp)의 색차 신호의 2개 서브 블록에 대한 화소 데이터를 반화소까지 고려하여 추출하기 위한 것이다. 이를 위하여, 예측된 매크로블록(MBp)의 기준 포인트(R.P)에 대한 화소 어드레스(P.A)를 이용한다.The
데이터 소팅부(70)는 화소 어드레스(P.A)에 따라서 좌로 최대 1번의 쉬프팅 동작을 수행하는데, 예를 들어 기준 포인트(R.P)의 화소 어드레스가 002인 경우 쉬프팅 동작이 없고 012인 경우 1 번의 쉬프팅 동작이 행해진다. 즉, 데이터 소팅부(70)에서는 6 개의 화소데이터를 화소 어드레스(P.A)에 따라 쉬프팅을 하지 않거나 좌로 1 화소만큼 쉬프팅시킴으로써, 반화소까지 고려하여 5 개의 유효 화소데이터를 추출해 낸다.
예측된 매크로블록의 색차 신호에 있어서 읽어야 할 화소 데이터가 도 4에 도시된 바와 같이 위치하는 경우, 먼저 처음 두 서브 블록을 독출하기 위하여 0번지부터 14번지까지의 제1 내지 제3 서브 블록에 걸친 화소 데이터를 읽는 경우를 살펴보도록 한다.If the pixel data to be read in the color difference signal of the predicted macroblock is located as shown in FIG. 4, the first through third subblocks from 0 to 14 are first read to read the first two subblocks. Let's look at the case of reading pixel data.
제 1 FIFO(50)는 제1 서브 블록(0,2,4,6번지)의 화소 데이터를 서브 박스단위로 프레임 메모리로부터 전달받아 저장하고, 제 2 FIFO(51)는 제 1 FIFO(50)가 출력하는 0부터 6번지까지의 화소 데이터와 프레임 메모리로부터 바로 출력되는 제2 서브 블록(1,3,5,7번지)의 화소 데이터를 서브 박스단위로 전달받아 저장한다. 그리고 다음 서브 블록인 제3 서브 블록(8,10,12,14번지)의 화소 데이터는 프레임 메모리로부터 바로 출력되어 데이터 소팅부(70)로 전달된다.The
멀티플렉서(60)가 참조 필드(ref_field)에 따라 제 2 FIFO(51)의 출력을 선택하면, 데이터 소팅부(70)는 멀티플렉서(60)로부터 출력된 0번지와 1번지의 4개 화소 데이터와 프레임 메모리로부터 출력된 8번지의 2개 화소 데이터를 입력받아, 화소 어드레스(P.A)에 따라 쉬프팅을 하지 않거나 좌로 1 화소만큼 쉬프팅시킴으로써, 반화소까지 고려하여 5 개의 유효 화소데이터를 추출해 낸다.When the
다음으로, 제3 내지 제5 서브 블록에 걸쳐 위치하는 다음 두 서브 블록을 독출하게 되는데, 이 경우 역시 제3 서브 블록의 화소 데이터가 이용되므로 처음 두 서브 블록의 독출시 상기 제3 서브 블록의 화소 데이터를 저장하였다가 이용하도록 한다.Next, the next two sub-blocks that are located across the third to fifth sub-blocks are read. In this case, since the pixel data of the third sub-block is also used, the pixel of the third sub-block when the first two sub-blocks are read. Store and use the data.
제3 내지 제5 서브 블록에 걸쳐 위치하는 다음 두 서브 블록을 독출하기 위하여, 제 1 FIFO(50)는 제3 서브 블록(8,10,12,14번지)의 화소 데이터를 서브 박스단위로 프레임 메모리로부터 전달받아 저장하고, 제 2 FIFO(51)는 제 1 FIFO(50)가 출력하는 8부터 14번지까지의 화소 데이터와 프레임 메모리로부터 서브 박스단위로 바로 출력되는 제4 서브 블록(9,11,13,15번지)의 화소 데이터를 전달받아 저장한다. 그리고 다음 서브 블록인 제5 서브 블록(16,18,20,22번지)의 화소 데이터는 프레임 메모리로부터 바로 출력되어 데이터 소팅부(70)로 전달된다.In order to read the next two sub-blocks located across the third to fifth sub-blocks, the
멀티플렉서(60)가 참조 필드(ref_field)에 따라 제 2 FIFO(51)의 출력을 선택하면, 데이터 소팅부(70)는 멀티플렉서(60)로부터 출력된 8번지와 9번지의 4개 화소 데이터와 프레임 메모리로부터 출력된 16번지의 2개 화소 데이터를 입력받아, 화소 어드레스(P.A)에 따라 쉬프팅을 하지 않거나 좌로 1 화소만큼 쉬프팅시킴으로써, 반화소까지 고려하여 5 개의 유효 화소데이터를 추출해 낸다.When the
한편, 상기한 상세한 설명은 여기에 제시된 특정의 실시예를 설명하고자 한 것이며, 본 발명을 한정하려는 의도는 아니다. 당업자라면, 상기한 상세한 설명 및 도면을 참조하여 본 발명의 기술적 사상내에서 RAS 박스의 구조, 매크로블록 블록의 구조, 픽쳐 타입 및 움직임 보상 형태에 따라 여러 가지 변형 및 수정을 가할 수 있을 것이다.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 according to the structure of the RAS box, the structure of the macroblock block, the picture type, and the motion compensation form within the spirit of the present invention with reference to the above description and drawings.
이상에서 살펴본 바와 같이, 본 발명의 장치는 움직임 보상하고자 하는 현재 매크로블록의 시작 어드레스와 움직임 벡터에 의해 예측된 매크로블록을 프레임 메모리의 해당 저장영역으로 부터 독출할 경우, 색차신호에 있어서 예측된 매크로블록의 화소 어드레스에 따라서 최대 5개 서브 블록에 걸쳐 서브박스 단위로 읽은 다음, 쉬프팅을 하지 않거나 좌로 1회 쉬프팅시킴으로써, 예측된 매크로블록에 해당하는 화소 데이터로 재배열할 수 있다.As described above, when the apparatus reads the macroblock predicted by the start address and the motion vector of the current macroblock to be motion compensated from the corresponding storage region of the frame memory, the macro predicted the color difference signal. According to the pixel address of the block, the readout is performed in units of subboxes up to five sub-blocks, and then shifted to the pixel data corresponding to the predicted macroblock by not shifting or shifting to the left once.
Claims (3)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970048529A KR100237486B1 (en) | 1997-09-24 | 1997-09-24 | Apparatus for rearranging data output from a frame memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970048529A KR100237486B1 (en) | 1997-09-24 | 1997-09-24 | Apparatus for rearranging data output from a frame memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR19990026423A KR19990026423A (en) | 1999-04-15 |
| KR100237486B1 true KR100237486B1 (en) | 2000-01-15 |
Family
ID=19521603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1019970048529A Expired - Fee Related KR100237486B1 (en) | 1997-09-24 | 1997-09-24 | Apparatus for rearranging data output from a frame memory |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100237486B1 (en) |
-
1997
- 1997-09-24 KR KR1019970048529A patent/KR100237486B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| KR19990026423A (en) | 1999-04-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0828238A2 (en) | Image memory storage system and method for a block oriented image processing system | |
| KR100201981B1 (en) | Memory Controller and Image Decoder Using the Same | |
| KR19980081641A (en) | Moving picture decoding method and moving picture decoding device | |
| JPH08186826A (en) | Image decoding processing method and storage device used for it and image decoder | |
| KR100237486B1 (en) | Apparatus for rearranging data output from a frame memory | |
| KR100235488B1 (en) | Apparatus for rearranging data output from a frame memory according to scanning pattern of a frame memory | |
| KR100243477B1 (en) | Display address generator in frame memory | |
| KR100243479B1 (en) | Output data rearrangement device of frame memory | |
| KR100269425B1 (en) | Output data rearrangement device of frame memory | |
| KR19990026422A (en) | Output data rearrangement device according to scan type of frame memory | |
| KR100269427B1 (en) | How addresses occur in frame memory | |
| KR100226703B1 (en) | Method for calculating address distances in a frame memory | |
| KR100226702B1 (en) | Block state transition method when address occurs in frame memory | |
| KR100226704B1 (en) | Address distance calculation method in frame memory | |
| KR19990019200A (en) | Output data rearrangement device according to the method of reading frame memory | |
| KR19990032813A (en) | Address distance calculation method in frame memory | |
| KR19990032812A (en) | Address generator in frame memory | |
| KR19990019199A (en) | Output data rearrangement device according to the method of reading frame memory | |
| KR100243472B1 (en) | Method for reading a field-pictured macroblock in a frame memory | |
| KR19990026427A (en) | Motion vector distance calculation method 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) | Reference Point Compensation Method and Circuit in Address Generation for Predicted Macroblock 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 | |
| KR19990005584A (en) | Output data rearrangement device in frame memory | |
| KR100243478B1 (en) | Motion Vector Compensation Method for Address Generation for Prediction Macroblock with Half Pixel in Frame Memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
| FPAY | Annual fee payment |
Payment date: 20111004 Year of fee payment: 13 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 13 |
|
| FPAY | Annual fee payment |
Payment date: 20121002 Year of fee payment: 14 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 14 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20131009 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20131009 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |