KR19990032812A - Address generator in frame memory - Google Patents

Address generator in frame memory Download PDF

Info

Publication number
KR19990032812A
KR19990032812A KR1019970053964A KR19970053964A KR19990032812A KR 19990032812 A KR19990032812 A KR 19990032812A KR 1019970053964 A KR1019970053964 A KR 1019970053964A KR 19970053964 A KR19970053964 A KR 19970053964A KR 19990032812 A KR19990032812 A KR 19990032812A
Authority
KR
South Korea
Prior art keywords
macroblock
motion vector
adder
multiplexer
address
Prior art date
Application number
KR1019970053964A
Other languages
Korean (ko)
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 KR1019970053964A priority Critical patent/KR19990032812A/en
Publication of KR19990032812A publication Critical patent/KR19990032812A/en

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 움직임 보상장치용 프레임 메모리에 있어서 어드레스 발생장치에 관한 것이다.The present invention relates to an address generator in a frame memory for a motion compensation device.

이러한 본 발명의 장치는, 필드 구조의 매크로블록으로 맵핑된 프레임 메모리에 있어서, 예측된 매크로블록(MBp)을 2 개 블록 단위로 읽을 경우, 예측된 매크로블록의 읽어야 할 블록에 따라 수평 움직임 벡터와 1 가산된 수평 움직임 벡터와 2 가산된 수평 움직임 벡터중 하나를 선택하여 출력하는 수평 움직임 벡터 카운터(61), 예측된 매크로블록의 읽어야 할 블록에서 박스 단위의 쉬프팅을 위해 수직 움직임 벡터와 1 내지 7 가산된 수직 움직임 벡터중 하나를 선택하여 출력하는 수직 움직임 벡터 카운터(62), 및 수평 및 수직 움직임 벡터(61,62)로부터 출력되는 움직임 벡터(mv_h,mv_v)와 현재 매크로블록의 슬라이스 위치값(slice_pos), 및 매크로블록 위치값(mb_pos)을 입력받아 예측된 매크로블록을 독출하기 위한 복수개의 어드레스를 발생시키는 어드레스 발생코아(63)로 구성되어, 기준 포인트를 기준으로 한 RAS박스내 매크로블록위치, 매크로블록내 블록위치 등을 구하는 번거로움 없이 예측된 매크로블록에 대하여 박스단위로 24개의 움직임 벡터들을 구함으로써 현재 매크로블록의 시작 어드레스와 움직임 벡터에 의해 예측된 매크로블록에 대한 어드레스를 용이하게 발생시킬 수 있다.The apparatus of the present invention, in the frame memory mapped to the macroblock of the field structure, when the predicted macroblock (MBp) is read in units of two blocks, the horizontal motion vector according to the block to be read of the predicted macroblock Horizontal motion vector counter 61 which selects and outputs one of the added horizontal motion vector and the two added horizontal motion vectors, and the vertical motion vector and 1 to 7 for shifting in units of boxes in the block to be read of the predicted macroblock. The vertical motion vector counter 62 which selects and outputs one of the added vertical motion vectors, and the motion vector mv_h and mv_v output from the horizontal and vertical motion vectors 61 and 62 and the slice position value of the current macroblock ( slice_pos) and macroblock position value (mb_pos) are input to generate an address for generating a plurality of addresses for reading the predicted macroblock It consists of a core 63, and obtains 24 motion vectors in box units for the predicted macroblock without the hassle of finding the macroblock position in the RAS box and the block position in the macroblock based on the reference point. The address for the macroblock predicted by the start address and the motion vector of the block can be easily generated.

Description

프레임 메모리에 있어서 어드레스 발생장치(Apparatus for generating address in a frame memory)Apparatus for generating address in a frame memory

본 발명은 움직임 보상장치용 프레임 메모리에 관한 것으로서, 특히 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위해, 예측된 매크로블록에 대하여 박스단위로 24개의 움직임 벡터들을 구하고, 이 움직임 벡터와 현재 매크로블록의 슬라이스 위치 및 매크로블록 위치를 이용하여 일련의 움직임 벡터들에 대한 어드레스를 발생시키는 어드레스 발생장치에 관한 것이다.The present invention relates to a frame memory for a motion compensation device. In particular, in order to read a macroblock predicted by motion compensation from a frame memory, 24 motion vectors are calculated in box units for the predicted macroblock, and the motion vector is obtained. And an address generator for generating an address for a series of motion vectors using the slice position of the current macroblock and the macroblock position.

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 the decoded picture and read out the display order in a MPEG-2 video decoder because the decoding order and the display order are different from each other.

그러나, 상기한 바와 같은 프레임 메모리는 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.

이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로부터 읽어오기 위해 박스단위로 24개의 움직임 벡터들을 구한 뒤 일련의 움직임 벡터들에 대한 어드레스를 발생시키는 어드레스 발생장치를 제공하는데 그 목적이 있다.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, 24 motion vectors are obtained by box unit to read a macroblock predicted by motion compensation from the frame memory, and then an address for a series of motion vectors is obtained. It is an object of the present invention to provide an address generator for generating a.

상기와 같은 목적을 제공하기 위한 본 발명에 의한 어드레스 발생장치는, 필드 구조의 매크로블록으로 맵핑된 프레임 메모리에 있어서, 움직임 보상하고자 하는 현재 매크로블록의 슬라이스 위치값, 매크로블록 위치값과 움직임 벡터를 이용하여 예측된 매크로블록의 행 어드레스 및 열 어드레스를 발생시키는 경우, 수평 움직임 벡터(mv_h[11:4])에 1을 가산하는 가산기(A11), 2를 가산하는 가산기(A12), 및 수평 움직임 벡터(mv_h[11:4])와 상기 가산기(A11)의 출력과 상기 가산기(A12)의 출력 가운데 하나를 순차적으로 선택하여 출력하는 멀티플렉서(M11)로 이루어지며, 매크로블록에 대하여 블록단위로 수평 움직임 벡터를 카운트하는 수평 움직임 벡터 카운터, 수직 움직임 벡터(mv_v[7:1])에 4를 가산하는 가산기(A21), 1을 가산하는 가산기(A22), 2를 가산하는 가산기(A23), 3을 가산하는 가산기(A24), 수직 움직임 벡터(mv_v[7:1])와 상기 가산기(A21)의 출력 가운데 하나를 순차적으로 선택하여 출력하는 멀티플렉서(M21), 상기 멀티플렉서(M21)의 출력과 상기 가산기(A22,A23,A24)의 출력 가운데 하나를 순차적으로 선택하여 출력하는 멀티플렉서(M22)로 이루어지며, 매크로블록에 대하여 박스단위로 수직 움직임 벡터를 카운트하는 수직 움직임 벡터 카운터, 및 상기 수평 및 수직 움직임 벡터 카운터로부터 각각 출력되는 움직임 벡터(mv_h,mv_v)와 현재 매크로블록의 슬라이스 위치값(slice_pos), 및 매크로블록 위치값(mb_pos)을 입력받아 예측된 매크로블록을 독출하기 위한 복수개의 어드레스를 발생시키는 어드레스 발생코아를 포함하여 구성되는 것을 특징으로 한다.The address generator according to the present invention for providing the above object, in the frame memory mapped to the macroblock of the field structure, the slice position value, the macroblock position value and the motion vector of the current macroblock to be motion compensated When generating the row address and column address of the predicted macroblock by using, the adder A11 for adding 1 to the horizontal motion vector mv_h [11: 4], the adder A12 for adding 2, and the horizontal motion It consists of a multiplexer M11 which sequentially selects and outputs a vector mv_h [11: 4], an output of the adder A11, and an output of the adder A12, and is horizontal in block units with respect to the macroblock. Horizontal motion vector counter for counting motion vectors, adder A21 for adding 4 to vertical motion vector mv_v [7: 1], adder A22 for adding 1, adder for adding 2 (A23) ), A multiplexer M21 that sequentially selects and outputs one of an adder A24, a vertical motion vector mv_v [7: 1], and an output of the adder A21, and the multiplexer M21. A multiplexer (M22) for sequentially selecting and outputting one of an output and one of the outputs of the adders (A22, A23, and A24), a vertical motion vector counter for counting vertical motion vectors in units of boxes for the macroblock, and A plurality of motion vectors (mv_h, mv_v) output from the horizontal and vertical motion vector counters, a slice position value (slice_pos), and a macro block position value (mb_pos) of the current macroblock, respectively; And an address generation core for generating an address.

도 1은 본 발명에서 채택한 프레임 메모리의 구조를 나타낸 도면,1 is a diagram showing the structure of a frame memory adopted in the present invention;

도 2는 도 1에 도시된 프레임 메모리의 스케쥴링 순서를 나타낸 도면,2 is a diagram illustrating a scheduling order of the frame memory shown in FIG. 1;

도 3은 도 1에 도시된 프레임 메모리에 있어서 1 프레임에 대한 RAS 박스 설정방법의 예를 나타낸 도면,3 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;

도 4는 도 3에 도시된 RAS 박스에 있어서 매크로블록 구조의 예를 나타낸 도면,4 is a view showing an example of a macroblock structure in the RAS box shown in FIG.

도 5는 예측된 매크로블록의 위치에 대한 일 예를 나타낸 도면,5 is a diagram illustrating an example of a position of a predicted macroblock;

도 6은 본 발명에 의한 프레임 메모리에 있어서 어드레스 발생장치를 도시한 블록도이다.6 is a block diagram showing an address generator in a frame memory according to the present invention.

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

100 : 프레임 메모리 100-1~100-4 : 제1 내지 제4프레임 저장영역100: frame memory 100-1 to 100-4: first to fourth frame storage areas

61 : 수평 움직임 벡터 카운터 62 : 수직 움직임 벡터 카운터61: Horizontal Motion Vector Counter 62: Vertical Motion Vector Counter

63 : 어드레스 발생코아 A11,A12,A21,A22,A23,A24 : 가산기63: address generation core A11, A12, A21, A22, A23, A24: adder

M11,M21,M22 : 멀티플렉서 C11,C21,C22 : 카운터M11, M21, M22: Multiplexer C11, C21, C22: Counter

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예에 대하여 자세히 살펴보기로 한다.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, bank 1 and bank 2, bank 1 has first and second frame storage areas 100-1 and 100-2, and bank 2 stores third and fourth frames. There are regions 100-3 and 100-4. Here, the first to fourth frame storage areas 100-1, 100-2, 100-3, and 100-4 have a capacity for storing pixel data of one frame, respectively, and the first to fourth frame storage areas 100-1, 100-. 2,100-3 and 100-4 each have 1,024 row addresses, and have 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 number of RAS boxes. The 256-word column address is derived by eight macroblocks per one RAS box * 32 boxes per macroblock (= 256 boxes).

한편, 프레임 메모리(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)의 스케쥴링 순서를 나타낸 것으로서, 복호화 순서가 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,... 이고, 디스플레이 잠복기(display latency)가 2 픽쳐인 경우를 예로 든 것이다. 여기서, 밑줄이 그어져 있는 부분이 현재 복호화되고 있는 픽쳐를 나타내고, 화살표는 움직임 보상을 위해 참조되는 픽쳐를 나타내고, 'D'가 부가되어 있는 저장영역은 디스플레이를 위해 영상 데이터가 독출되고 있음을 나타낸다.FIG. 2 shows a scheduling order of the frame memory 100 shown in FIG. 1, and the decoding order is I, P, B, B, P, B, B, P, B, B, P, B, B, I. , P, B, B, ... and the display order is I, B, B, P, B, B, P, B, B, P, B, B, P, I, B, B, ... For example, the display latency is 2 pictures. Here, the underlined portion indicates the picture currently being decoded, the arrow indicates the picture to be referred for motion compensation, and the storage area to which 'D' is added indicates that image data is being read out for display.

도 3은 도 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. 3 shows an example of a method for setting a RAS box 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 8 macroblocks * 1 macroblocks and a total of 8 macroblocks MB0 to MB7. Each macroblock is divided into four blocks b0 to b3 when the luminance Y block is taken as an example.

도 4는 도 3에 도시된 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. 4 shows an example of a macroblock structure in the RAS box shown in FIG. 3, 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. Then, 8 pixel data in 8 * 1 format for each box constituting the Y block, 2 pixel data in 2 * 1 format for each box constituting the Cr block, and 2 * 1 format for each box constituting the Cb block. There are two pixel data of.

한편, 발생할 수 있는 최악의 경우(worst case)를 고려하기 위하여, 움직임 보상하고자 하는 현재 매크로블록의 시작 어드레스 즉, 슬라이스 위치(slice-position) 및 매크로블록 위치(mb-position)와, 수직 및 수평 움직임 벡터로 부터 예측된 매크로블록(MBp)이 도 5에서와 같이 위치하는 경우를 살펴보기로 한다.On the other hand, in order to consider the worst case that may occur, the starting address of the current macroblock to be motion compensated, that is, the slice position and the macroblock position (mb-position), and vertical and horizontal A case in which the macroblock MBp predicted from the motion vector is located as shown in FIG. 5 will be described.

도 5에 있어서, 예측된 매크로블록(MBp)에 해당하는 화소 데이터는 박스 단위 즉, 8 화소 단위로 읽혀진다. 따라서, 예측된 매크로블록(MBp)을 2 개 블록 단위로 읽을 경우, 먼저 기준 포인트(R.P)가 위치하는 매크로블록(MB7)의 블록(b3)의 박스(b3-1)에서 부터 8개의 박스가 읽혀지고, 다음 매크로블록(MB8)의 블록(b2)의 박스(b2-1)에서 부터 8개의 박스가 읽혀지고, 마지막으로 매크로블록(MB8)의 블록(b3)의 박스(b3-1)에서 부터 8개의 박스가 읽혀져서, 순차적으로 공통 버스(미도시) 상에 올려진다. 이와 같이 박스 단위로 화소 데이터를 읽게 되면, 기준 포인트(R.P)가 각 매크로블록의 시작 위치에 놓이게 되는 경우를 제외하고는 총 3개의 블록에 걸쳐 8개의 박스를 읽어야 하고, 따라서 각 박스군에 대하여 총 24개의 화소 데이터가 읽혀진다. 한편, 움직임 타입과 픽쳐 구조 등에 따라서, 도 5와 같은 위치의 MBp를 읽기 위해서는 총 24개의 어드레스를 필요로 한다. 본 발명은 이와 같이 박스 단위로 화소 데이터를 읽기 위해 필요한 어드레스를 산출하기 위한 것이다.In FIG. 5, pixel data corresponding to the predicted macroblock MBp is read in box units, that is, in units of 8 pixels. Therefore, when the predicted macroblock MBp is read in units of two blocks, eight boxes are first selected from the box b3-1 of the block b3 of the macroblock MB7 where the reference point RP is located. 8 boxes are read from box b2-1 of block b2 of the next macroblock MB8, and finally from box b3-1 of block b3 of the macroblock MB8. From the eight boxes are read and sequentially placed on a common bus (not shown). When pixel data is read in a box as described above, eight boxes must be read over a total of three blocks except that the reference point RP is placed at the start of each macroblock. A total of 24 pixel data are read. On the other hand, 24 addresses are required to read the MBp at the position shown in FIG. 5 according to the motion type, the picture structure, and the like. The present invention is to calculate an address required for reading pixel data in units of boxes as described above.

도 6은 프레임 메모리에 있어서 본 발명에 따른 어드레스 발생장치를 도시한 블록도로서, 수평 움직임 벡터 카운터(61), 수직 움직임 벡터 카운터(62), 및 어드레스 발생코아(63)로 구성된다. 또한 상기 수평 움직임 벡터 카운터(61)는 가산기(A11,A12)와 멀티플렉서(M11), 및 카운터(C11)로 구성되고, 수직 움직임 벡터 카운터(62)는 가산기(A21,A22,A23,A24)와 멀티플렉서(M21,M22), 및 카운터(C21,C22)로 구성된다.Fig. 6 is a block diagram showing an address generator according to the present invention in a frame memory, which is comprised of a horizontal motion vector counter 61, a vertical motion vector counter 62, and an address generation core 63. Figs. The horizontal motion vector counter 61 is composed of adders A11 and A12, a multiplexer M11, and a counter C11, and the vertical motion vector counter 62 is connected to adders A21, A22, A23 and A24. And multiplexers M21 and M22, and counters C21 and C22.

먼저, 움직임 벡터의 구조를 살펴보면, 수평 움직임 벡터(mv_h[12:0])와 수직 움직임 벡터(mv_v[8:0])는 각각 최상위 1비트를 부호 비트로 이용하고, 최하위 1비트를 반화소 플래그로 이용하고, 나머지 비트들을 화소 데이터로 이용한다. 한편, 도 5의 예측된 매크로블록(MBp)에 있어서 박스는 8화소*1화소의 구조를 가지고 있으므로, 점프 어드레스간의 움직임 벡터는 가로로 8 화소, 세로로 1 화소의 쉬프트 스케일을 갖는다.First, referring to the structure of the motion vector, the horizontal motion vector mv_h [12: 0] and the vertical motion vector mv_v [8: 0] each use the most significant 1 bit as the sign bit and the least significant 1 bit as the half pixel flag. The remaining bits are used as pixel data. On the other hand, in the predicted macroblock MBp of Fig. 5, since the box has a structure of 8 pixels * 1 pixel, the motion vector between jump addresses has a shift scale of 8 pixels horizontally and 1 pixel vertically.

상기와 같은 움직임 벡터(mv_h,mv_v)는 반화소 플래그를 소거하고 수평방향의 쉬프트 스케일을 맞추기 위하여 다시 3비트를 소거한 수평 움직임 벡터(mv_h[11:4])와 반화소 플래그만을 소거한 수직 움직임 벡터(mv_v[7:1])로 나뉘어 각각 수평 움직임 벡터 카운터(61)와 수직 움직임 벡터 카운터(62)로 입력된다.The motion vectors mv_h and mv_v have the half-pixel flag and the horizontal motion vector mv_h [11: 4] and the half-pixel flag erased three bits again in order to adjust the horizontal shift scale. The motion vectors mv_v [7: 1] are divided into the horizontal motion vector counter 61 and the vertical motion vector counter 62, respectively.

도 6의 수평 움직임 벡터 카운터(61)를 살펴보면, 가산기(A11)는 수평 움직임 벡터(mv_h[11:4])에 1을 더하고 가산기(A12)는 2를 더한다. 멀티플렉서(M11)는 읽어야 할 블록에 따라 카운터(C11)에 의해 수평 움직임 벡터(mv_h[11:4])를 그대로 선택하여 출력하거나 가산기(A11,A12)를 통하여 각각 1 또는 2가 더해진 수평 움직임 벡터(mv_h[11:4])를 선택하여 출력한다. 이어서, 수직 움직임 벡터 카운터(62)를 살펴보면, 가산기(A21)는 수직 움직임 벡터(mv_v[7:1])에 4를 더하고 가산기(A22)는 1을 더하고 가산기(A23)는 2를 더하고 가산기(A24)는 3을 더한다. 멀티플렉서(M21)는 읽어야 할 박스 위치에 따라 카운터(C21)에 의해 수직 움직임 벡터(mv_v[7:4])와 가산기(A21)의 출력 중 하나를 선택하여 출력하고, 멀티플렉서(M22)는 읽어야 할 박스 위치에 따라 카운터(C22)에 의해 멀티플렉서(M21)의 출력과 가산기(A22,A23,A24)의 출력 중 하나를 선택하여 출력한다. 한편, 본 발명의 상세한 설명에서는 멀티플렉서(M11,M21,M22)가 카운터(C11,C21,C22)에 의해 입력신호들을 선택하도록 하였지만, 소정의 제어신호에 의하여 입력신호들을 순차적으로 선택할 수도 있다.Referring to the horizontal motion vector counter 61 of FIG. 6, the adder A11 adds 1 to the horizontal motion vector mv_h [11: 4] and the adder A12 adds 2. The multiplexer M11 selects and outputs the horizontal motion vector mv_h [11: 4] as it is by the counter C11 according to the block to be read, or the horizontal motion vector in which 1 or 2 are added through the adders A11 and A12, respectively. Select (mv_h [11: 4]) to print. Subsequently, looking at the vertical motion vector counter 62, the adder A21 adds 4 to the vertical motion vector mv_v [7: 1], the adder A22 adds 1, the adder A23 adds 2, and the adder ( A24) adds three. The multiplexer M21 selects and outputs one of the vertical motion vector mv_v [7: 4] and the output of the adder A21 according to the box position to be read, and the multiplexer M22 reads. According to the box position, the counter C22 selects and outputs one of the output of the multiplexer M21 and the outputs of the adders A22, A23, and A24. Meanwhile, in the detailed description of the present invention, the multiplexers M11, M21, and M22 select the input signals by the counters C11, C21, and C22, but the input signals may be sequentially selected by a predetermined control signal.

그러면, 먼저 기준 포인트가 위치하는 매크로블록(MB7)의 블록(b3)의 박스(b3-1)에서 부터 8개의 박스의 화소 데이터를 읽기 위해 필요한 어드레스를 구하는 경우를 살펴보기로 한다.First, a case where an address required for reading pixel data of eight boxes is obtained from the box b3-1 of the block b3 of the macroblock MB7 where the reference point is located.

이러한 경우, 수평 움직임 벡터 카운터(61)의 멀티플렉서(M11)는 카운터(C11)의 카운트값에 따라 기준 포인트를 가리키는 수평 움직임 벡터(mv_h[11:4])를 그대로 선택하여 출력하고, 수직 움직임 벡터 카운터(62)의 멀티플렉서(M21,M22)는 각각 카운터(C21,C22)의 카운터값이 따라 0부터 7까지의 일련의 수들이 수직 움직임 벡터(mv_v[7:1])에 순서대로 더해지도록 가산기들(A21,A22,A23,A24)의 출력을 선택하여 출력한다. 이때 카운터(C11)의 주기는 카운터(C21) 주기의 2배이고, 카운터(C21)의 주기는 카운터(C22) 주기의 4배가 된다. 즉, 카운터(C11)의 주기는 한 블록을 읽는 주기와 같고, 카운터(C21)는 한 블록의 4박스를 읽는 주기와 같고, 카운터(C22)는 한 블록의 1박스를 읽는 주기와 같다. 따라서 카운터(C21)에 의해 멀티플렉서(M21)가 수직 움직임 벡터를 그대로 출력하는 동안 멀티플렉서(M22)는 카운터(C22)에 의해 멀티플렉서(M21)의 출력과 가산기(A22,A23,A24)의 출력을 차례대로 선택함으로써 0부터 3까지 가산된 수직 움직임 벡터를 출력하고, 멀티플렉서(M21)가 카운터(C21)에 의해 가산기(A21)의 출력을 선택하여 출력하는 동안 멀티플렉서(M22)는 카운터(C22)에 의해 멀티플렉서(M21)의 출력과 가산기(A22,A23,A24)의 출력을 차례대로 선택함으로써 4부터 7까지 가산된 수직 움직임 벡터를 출력한다.In this case, the multiplexer M11 of the horizontal motion vector counter 61 selects and outputs the horizontal motion vector mv_h [11: 4] pointing to the reference point as it is, according to the count value of the counter C11, and outputs the vertical motion vector. The multiplexers M21 and M22 of the counter 62 each add so that a series of numbers from 0 to 7 are added in order to the vertical motion vector mv_v [7: 1] according to the counter values of the counters C21 and C22, respectively. Select and output the outputs of the fields A21, A22, A23, and A24. At this time, the cycle of the counter C11 is twice the cycle of the counter C21, and the cycle of the counter C21 is four times the cycle of the counter C22. That is, the period of the counter C11 is equal to the period of reading one block, the counter C21 is equal to the period of reading four boxes of one block, and the counter C22 is equal to the period of reading one box of one block. Therefore, while the multiplexer M21 outputs the vertical motion vector as it is by the counter C21, the multiplexer M22 sequentially turns the output of the multiplexer M21 and the outputs of the adders A22, A23, and A24 by the counter C22. The multiplexer M22 is output by the counter C22 while the multiplexer M21 selects and outputs the output of the adder A21 by the counter C21 by the counter C21. By sequentially selecting the output of the multiplexer M21 and the outputs of the adders A22, A23, and A24, vertical motion vectors added from 4 to 7 are output.

다음, 점프어드레스(JA1)가 위치하는 매크로블록(MB8)의 블록(b2)의 박스(b2-1)에서 부터 8개의 박스를 읽기 위해 필요한 어드레스를 구하기 위하여, 수평 움직임 벡터 카운터(61)의 멀티플렉서(M11)는 카운터(C11)의 카운트값에 따라 가산기(A11)에 의해 1 더해진 수평 움직임 벡터(mv_h[11:4])를 선택하여 출력한다. 그리고 수직 움직임 벡터 카운터(62)의 멀티플렉서(M21,M22)는 각각 카운터(C21,C22)의 카운터값이 따라 0부터 7까지의 일련의 수들이 수직 움직임 벡터(mv_v[7:1])에 순서대로 더해지도록 가산기들(A21,A22,A23,A24)의 출력을 선택하여 출력한다.Next, the multiplexer of the horizontal motion vector counter 61 is obtained to obtain an address necessary to read eight boxes from the box b2-1 of the block b2 of the macroblock MB8 in which the jump address JA1 is located. M11 selects and outputs the horizontal motion vector mv_h [11: 4] added by one by the adder A11 according to the count value of the counter C11. The multiplexers M21 and M22 of the vertical motion vector counter 62 each have a sequence of numbers from 0 to 7 in the vertical motion vector mv_v [7: 1] according to the counter values of the counters C21 and C22. The outputs of the adders A21, A22, A23, and A24 are selected to be added as they are.

그리고, 점프 어드레스(JA2)가 위치하는 매크로블록(MB8)의 블록(b3)의 박스(b3-1)에서 부터 8개의 박스를 읽기 위해 위해 필요한 어드레스를 구하기 위하여, 수평 움직임 벡터 카운터(61)의 멀티플렉서(M11)는 카운터(C11)의 카운트값에 따라 가산기(A12)에 의해 2 더해진 수평 움직임 벡터(mv_h[11:4])를 선택하여 출력하고, 수직 움직임 벡터 카운터(62)의 멀티플렉서(M21,M22)는 각각 카운터(C21,C22)의 카운터값이 따라 0부터 7까지의 일련의 수들이 수직 움직임 벡터(mv_v[7:1])에 순서대로 더해지도록 가산기들(A21,A22,A23,A24)의 출력을 선택하여 출력한다.Then, in order to obtain an address necessary for reading eight boxes from the box b3-1 of the block b3 of the macroblock MB8 where the jump address JA2 is located, the horizontal motion vector counter 61 The multiplexer M11 selects and outputs the horizontal motion vector mv_h [11: 4] added by the adder A12 according to the count value of the counter C11, and multiplexer M21 of the vertical motion vector counter 62. M22 adds the numbers A21, A22, A23, so that a series of numbers from 0 to 7 are added to the vertical motion vector mv_v [7: 1] in order according to the counter values of the counters C21, C22, respectively. Select the output of A24) and output it.

도 6의 어드레스 발생코아(63)는 예측된 매크로블록을 읽기 위해 필요한 어드레스를 발생시키기 위하여, 상기와 같이 수평 및 수직 움직임 벡터 카운터(61,62)에 의해 구해진 24개의 일련의 움직임 벡터(mv_h,mv_v)들과 슬라이스 위치(slice_pos[6:0]) 및 매크로블록 위치(mb_pos[6:0])를 입력으로 하여, 다음과 같은 수학식에 의해 예측된 매크로블록의 선형 어드레스(LA[13:0])를 구한다.The address generation core 63 of FIG. 6 includes 24 series of motion vectors mv_h, obtained by the horizontal and vertical motion vector counters 61 and 62 as described above, in order to generate an address necessary for reading the predicted macroblock. mv_v), the slice position (slice_pos [6: 0]) and the macroblock position (mb_pos [6: 0]) as inputs, and the linear address (LA [13 :) of the macroblock predicted by the following equation: 0]).

LA = (slice_pos + mv_v) * slice_width + (mb_pos + mv_h)LA = (slice_pos + mv_v) * slice_width + (mb_pos + mv_h)

여기서, slice_width는 120으로, 1 프레임(1920 화소 * 1088 화소)에 있어서 수평방향으로 120 개의 매크로블록이 존재함을 나타낸다.Here, slice_width is 120, indicating that there are 120 macroblocks in the horizontal direction in one frame (1920 pixels * 1088 pixels).

한편, 상기한 상세한 설명은 여기에 제시된 특정의 실시예를 설명하고자 한 것이며, 본 발명을 한정하려는 의도는 아니다. 당업자라면, 상기한 상세한 설명 및 도면을 참조하여 본 발명의 기술적 사상내에서 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 and the structure of the macroblock block within the technical spirit of the present invention with reference to the above detailed description and drawings.

이상에서 살펴본 바와 같이, 본 발명의 장치는 제1 내지 제4프레임 저장영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위하여, 기준 포인트를 기준으로 한 RAS박스내 매크로블록위치, 매크로블록내 블록위치 등을 구하는 번거로움 없이 예측된 매크로블록에 대하여 박스단위로 24개의 움직임 벡터들을 구함으로써 현재 매크로블록의 시작 어드레스와 움직임 벡터에 의해 예측된 매크로블록에 대한 어드레스를 용이하게 발생시킬 수 있다.As described above, in the apparatus of the present invention, in order to read a macroblock predicted by motion compensation from a frame memory in a frame memory in which the first to fourth frame storage areas are implemented on one memory module, 24 motion vectors are calculated per box for the predicted macroblock without the hassle of finding the macroblock position in the RAS box and the block position in the macroblock based on the point. It is possible to easily generate an address for the predicted macroblock.

Claims (3)

필드 구조의 매크로블록으로 맵핑된 프레임 메모리에 있어서, 움직임 보상하고자 하는 현재 매크로블록의 슬라이스 위치값, 매크로블록 위치값과 움직임 벡터를 이용하여 예측된 매크로블록의 행 어드레스 및 열 어드레스를 발생시키는 경우,In a frame memory mapped to a macroblock of a field structure, when generating a row address and a column address of a macroblock predicted by using a slice position value, a macroblock position value, and a motion vector of a current macroblock to be motion compensated, 수평 움직임 벡터(mv_h[11:4])에 1을 가산하는 가산기(A11), 2를 가산하는 가산기(A12), 및 수평 움직임 벡터(mv_h[11:4])와 상기 가산기(A11)의 출력과 상기 가산기(A12)의 출력 가운데 하나를 순차적으로 선택하여 출력하는 멀티플렉서(M11)로 이루어지며, 매크로블록에 대하여 블록단위로 수평 움직임 벡터를 카운트하는 수평 움직임 벡터 카운터(61);An adder A11 that adds 1 to the horizontal motion vector mv_h [11: 4], an adder A12 that adds 2, and an output of the horizontal motion vector mv_h [11: 4] and the adder A11 And a multiplexer (M11) for sequentially selecting and outputting one of the outputs of the adder (A12), the horizontal motion vector counter (61) for counting horizontal motion vectors in units of blocks for the macroblock; 수직 움직임 벡터(mv_v[7:1])에 4를 가산하는 가산기(A21), 1을 가산하는 가산기(A22), 2를 가산하는 가산기(A23), 3을 가산하는 가산기(A24), 수직 움직임 벡터(mv_v[7:1])와 상기 가산기(A21)의 출력 가운데 하나를 순차적으로 선택하여 출력하는 멀티플렉서(M21), 상기 멀티플렉서(M21)의 출력과 상기 가산기(A22,A23,A24)의 출력 가운데 하나를 순차적으로 선택하여 출력하는 멀티플렉서(M22)로 이루어지며, 매크로블록에 대하여 박스단위로 수직 움직임 벡터를 카운트하는 수직 움직임 벡터 카운터(62); 및An adder A21 that adds 4 to the vertical motion vector mv_v [7: 1], an adder A22 that adds 1, an adder A23 that adds 2, an adder A24 that adds 3, and a vertical motion A multiplexer M21 for sequentially selecting and outputting one of a vector mv_v [7: 1] and the output of the adder A21, an output of the multiplexer M21 and an output of the adders A22, A23, and A24. A multiplexer (M22) for sequentially selecting and outputting one of them, the vertical motion vector counter 62 for counting vertical motion vectors in units of boxes for the macroblocks; And 상기 수평 및 수직 움직임 벡터 카운터(61,62)로부터 각각 출력되는 움직임 벡터(mv_h,mv_v)와 현재 매크로블록의 슬라이스 위치값(slice_pos), 및 매크로블록 위치값(mb_pos)을 입력받아 예측된 매크로블록을 독출하기 위한 복수개의 어드레스를 발생시키는 어드레스 발생코아(63)를 포함하여 구성되는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 발생장치.The macroblock predicted by receiving the motion vectors mv_h and mv_v output from the horizontal and vertical motion vector counters 61 and 62, the slice position value slice_pos and the macro block position value mb_pos of the current macroblock, respectively. And an address generating core (63) for generating a plurality of addresses for reading the data. 제 1 항에 있어서, 상기 멀티플렉서(M11)가 3개 입력신호 가운데 하나를 선택하는 주기는 멀티플렉서(M21)가 2개 입력신호 가운데 하나를 선택하는 주기의 2배이고, 멀티플렉서(M21)가 2개 입력신호 가운데 하나를 선택하는 주기는 멀티플렉서(M22)가 4개 입력신호 가운데 하나를 선택하는 주기의 4배인 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 발생장치.The method of claim 1, wherein the period in which the multiplexer M11 selects one of three input signals is twice the period in which the multiplexer M21 selects one of two input signals, and the multiplexer M21 inputs two input signals. The period for selecting one of the signals is four times the period for the multiplexer (M22) to select one of the four input signals. 제 1 항에 있어서, 상기 어드레스 발생장치는 예측된 매크로블록을 2개 블록단위로 읽을 경우, 24개의 박스에 대한 일련의 어드레스를 발생하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 발생장치.2. The address generator of claim 1, wherein the address generator generates a series of addresses for 24 boxes when the predicted macroblock is read in units of two blocks.
KR1019970053964A 1997-10-21 1997-10-21 Address generator in frame memory KR19990032812A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970053964A KR19990032812A (en) 1997-10-21 1997-10-21 Address generator in frame memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970053964A KR19990032812A (en) 1997-10-21 1997-10-21 Address generator in frame memory

Publications (1)

Publication Number Publication Date
KR19990032812A true KR19990032812A (en) 1999-05-15

Family

ID=66041960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970053964A KR19990032812A (en) 1997-10-21 1997-10-21 Address generator in frame memory

Country Status (1)

Country Link
KR (1) KR19990032812A (en)

Similar Documents

Publication Publication Date Title
KR19990032812A (en) Address generator in frame memory
KR100243477B1 (en) Apparatus of generating display address in a frame memory
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
KR100269427B1 (en) Method for generating address in a 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
KR100243471B1 (en) Address generator in frame memory
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
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
KR100243474B1 (en) Jump address generator in frame memory
KR100255795B1 (en) Method for compensating a reference point during an address generation of a predicted macroblock with consisting of a half pel in a frame memory
KR100243470B1 (en) Address generator in frame memory
KR100243475B1 (en) Jump address generator in frame memory
KR100243473B1 (en) Apparatus for compensating a motion vector during an address generation of a predicted macroblock in a frame memory
KR19990026426A (en) Address generator in frame memory
KR100248653B1 (en) Method for transitioning a state of blocks during address generation in a frame memory
KR100243478B1 (en) Method for compensating a moving vector during an address generation of a predicted macroblock with consisting of a half pel in a frame memory
KR19990026427A (en) Motion vector distance calculation method in frame memory
KR19990032813A (en) Address distance calculation method in frame memory
KR100226703B1 (en) Method for calculating address distances in a frame memory
KR100243479B1 (en) Rearrange apparatus of output data of frame memory
KR19990026422A (en) Output data rearrangement device according to scan type of frame memory
KR19990026428A (en) Address generator in frame memory
KR19990005584A (en) Output data rearrangement device in frame memory
KR19990005602A (en) Dual Prime Field Prediction Method in Frame Memory

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination