KR19990005576A - The address distance calculation method in the frame memory - Google Patents

The address distance calculation method in the frame memory Download PDF

Info

Publication number
KR19990005576A
KR19990005576A KR1019970029788A KR19970029788A KR19990005576A KR 19990005576 A KR19990005576 A KR 19990005576A KR 1019970029788 A KR1019970029788 A KR 1019970029788A KR 19970029788 A KR19970029788 A KR 19970029788A KR 19990005576 A KR19990005576 A KR 19990005576A
Authority
KR
South Korea
Prior art keywords
macroblocks
blocks
reference point
block
macroblock
Prior art date
Application number
KR1019970029788A
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 KR1019970029788A priority Critical patent/KR19990005576A/en
Publication of KR19990005576A publication Critical patent/KR19990005576A/en

Links

Abstract

움직임 보상장치에 사용되는 프레임 메모리에 있어서 어드레스 거리 산출방법이 개시된다. 이 어드레스 거리 산출방법에서는 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에 있어서 블록들(b0, b2) 중 하나에 위치하면 CA[4:3]을 1 증가시키고, 블록들(b1, b3) 중 하나에 위치하면 CA[7:5]를 1 증가, CA[4:3]을 1 감소시키고, 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하면 CA[4:3]을 1 증가시키고, 블록들(b1, b3) 중 하나에 위치하면 RA[9:0]를 1 증가시키고, CA[7:5]를 3 감소시키고, CA[4:3]을 1 감소시켜 수평 어드레스 거리를 산출하고, 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하면 CA[4:3]을 2 증가시키고, 블록들(b2, b3) 중 하나에 위치하면 CA[7:5]를 4 증가, CA[4:3]을 2 감소시키고, 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하면 CA[4:3]을 2 증가시키고, 블록들(b2, b3) 중 하나에 위치하면 RA[9:0]를 30 증가, CA[7:5]를 4 감소, CA[4:3]을 2 감소시켜 수직 어드레스 거리를 산출하는 것을 특징으로 한다.An address distance calculating method in a frame memory used in a motion compensation apparatus is disclosed. In this address distance calculation method, when the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one of the macroblocks MB0 to MB2 and MB4 to MB6, CA [4: 3 The CA [7: 5] is incremented by 1, the CA [4: 3] is decremented by 1, and the reference point is incremented by one in the macroblocks MB3 and MB7, CA [4: 3] is incremented by 1 when it is located in one of the blocks b0 and b2 in one of the macroblocks, and RA [9: 0] is incremented by 1 when it is located in one of the blocks , The CA [7: 5] is decreased by 3, the CA [4: 3] is decremented by 1 to calculate the horizontal address distance, and the reference point of the predicted macroblock is calculated as one of the macroblocks MB0 to MB3 CA [4: 3] is incremented by 2 when it is located in one of the blocks (b0, b1) in the block and CA [7: 5] is incremented by 4 when it is located in one of the blocks : 3] is decreased by 2, 4] is positioned at one of the blocks b0, b1 in one of the macroblocks MB4 to MB7, and when it is located in one of the blocks b2, b3, RA [9: 3] : 0] is increased by 30, CA [7: 5] is decreased by 4, CA [4: 3] is decreased by 2, and the vertical address distance is calculated.

Description

프레임 메모리에 있어서 어드레스 거리 산출방법The address distance calculation method in the frame memory

본 발명은 움직임 보상장치용 프레임 메모리에 관한 것으로서, 특히 움직임 보상에 의해 예측된 매크로블록을 블럭 단위로 읽기 위한 어드레스를 발생시키는 경우, 4*2 분리 필드 구조의 프레임 메모리에 있어서 예측된 매크로블록의 기준 포인트의 위치에 따라서 수평 혹은 수직 방향으로 인접한 블럭의 어드레스를 산출하기 위한 어드레스 거리 산출방법에 관한 것이다.The present invention relates to a frame memory for a motion compensation apparatus and, more particularly, to a frame memory for a motion compensation apparatus, in which, when generating an address for reading a macroblock predicted by motion compensation on a block basis, The present invention relates to an address distance calculating method for calculating an address of a block adjacent in a horizontal or vertical direction according to the position of a reference point.

MPEG(Moving Picture Experts Group)-2 표준안에 사용되는 움직임 보상기술은 매크로블록 단위로 시간적으로 인접한 두 화면간의 움직임을 추정하여 보상함으로써 시간적 중복성(temporal redundancy)을 줄이기 위한 것이다. 즉, 움직임 추정 및 보상과정에서는 인접한 영상과 현재 영상을 비교하여 물체의 움직임에 관한 정보인 움직임 벡터를 검출해 내고, 이 움직임 벡터를 이용하여 현재 영상을 예측해 낸다.The motion compensation technique used in MPEG (Moving Picture Experts Group) -2 standard is to reduce temporal redundancy by estimating and compensating for motion between two temporally adjacent pictures in units of macroblocks. That is, in the motion estimation and compensation process, a motion vector, which is information on motion of an object, is detected by comparing an adjacent image with a current image, 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, a P picture performs forward motion compensation based on an I picture or a P picture of a previous image with respect to a current image, The best one of the motion compensation blocks obtained by performing the forward motion compensation, the backward motion compensation and the interpolation motion compensation based on the I picture or the P picture of the previous image and the I picture or the P picture of the next image is selected.

프레임 메모리는 이와 같이 움직임 보상을 위한 참조영상인 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 저장하기 위하여 사용된다. 또한, 프레임 메모리는 MPEG-2 영상 복호화기에 있어서 복호화 순서와 디스플레이 순서가 서로 다른 관계로, 복호화가 완료된 픽쳐를 일시적으로 저장한 다음 디스플레이 순서에 맞게 독출하기 위하여 사용된다.The frame memory is used to store an I picture or P picture of a previous picture, which is a reference picture for motion compensation, and an I picture or P picture of the next picture. In the MPEG-2 video decoder, the decoding order and the display order are different from each other, and the decoded picture is temporarily stored and then used to read out in accordance with the display order.

그러나, 상기한 바와 같은 프레임 메모리는 I 픽쳐와 P 픽쳐 혹은 P 픽쳐와 P 픽쳐간의 거리(M)에 따라 적어도 3 프레임 분의 영상 데이타를 저장할 수 있는 용량을 가져야 하므로 그 가격이 비싸고, 따라서 전체 영상 복호화기의 가격을 상승시키는 요인이 될 뿐 아니라, 복호화 완료 이후 디스플레이까지의 지연시간이 증가하는 문제점이 있었다.However, since the frame memory has a capacity to store video data of at least three frames in accordance with the distance (M) between the I picture and the P picture, or between the P picture and the P picture, Not only becomes a factor for raising the price of the decoder, but also increases the delay time until display after the decryption is completed.

따라서 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현되며, 4*2 분리 필드 구조의 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 블럭 단위로 읽기 위한 어드레스를 발생시키는 경우, 예측된 매크로블록의 기준 포인트의 위치에 따라서 수평 혹은 수직 방향으로 인접한 블럭의 어드레스를 산출하기 위한 어드레스 거리 산출방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and it is an object of the present invention to provide a video decoding apparatus, In the case of generating an address for reading a macroblock predicted by motion compensation on a block basis in a frame memory having a 4 * 2 discrete field structure, a predicted macroblock reference It is an object of the present invention to provide an address distance calculating method for calculating an address of a block adjacent in a horizontal or vertical direction according to the position of a point.

상기 목적을 달성하기 위하여 본 발명에 따른 어드레스 거리 산출방법은 1 프레임은 분리된 필드 구조를 가지는 복수개의 RAS 박스로 이루어지며, 상기 RAS 박스는 4 매크로블록 * 2 매크로블록 포맷의 8개의 매크로블록(MB0~MB7)로 이루어지는 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 블록 단위로 읽기 위하여 행 어드레스 RA[9:0]와 열 어드레스 CA[7:0]를 발생시키는 경우,According to an aspect of the present invention, there is provided an address distance calculating method, wherein one frame comprises a plurality of RAS boxes having a separate field structure, and the RAS box includes eight macroblocks of a 4 macroblock * 2 macroblock format MB0 to MB7), when a row address RA [9: 0] and a column address CA [7: 0] are generated to read a macroblock predicted by motion compensation on a block-by-block basis,

임의의 블록과 수평으로 인접한 블록에 대한 수평 어드레스 거리를 산출하기 위하여,To calculate the horizontal address distance for blocks horizontally adjacent to any block,

상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계;When the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one of the macroblocks MB0 to MB2 and MB4 to MB6, CA [4: 3] is incremented by 1 Calculating the horizontal address distance;

상기 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b1, b3) 중 하나에 위치하는 경우, CA[7:5]를 1 증가시키고, CA[4:3]을 1 감소시켜 상기 수평 어드레스 거리를 산출하는 단계;When the reference point is located in one of the blocks b1 and b3 in one of the macroblocks MB0 to MB2 and MB4 to MB6, CA [7: 5] is incremented by 1 and CA [4: : 3] by 1 to calculate the horizontal address distance;

상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계; 및If the reference point is located in one of the blocks b0 and b2 in one of the macroblocks MB3 and MB7, the step of calculating the horizontal address distance by increasing CA [4: 3] ; And

상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b1, b3) 중 하나에 위치하는 경우, RA[9:0]를 1 증가시키고, CA[7:5]를 3 감소시키고, CA[4:3]을 1 감소시켜 상기 수평 어드레스 거리를 산출하는 단계를 포함하고,If the reference point is located in one of the blocks b1 and b3 in one of the macroblocks MB3 and MB7, RA [9: 0] is incremented by 1 and CA [7: 5] 3, and decreasing CA [4: 3] by 1 to calculate the horizontal address distance,

임의의 블록과 수직으로 인접한 블록에 대한 수직 어드레스 거리를 산출하기 위하여,To calculate the vertical address distance for a block vertically adjacent to any block,

상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계;When the reference point of the predicted macroblock is located in one of the blocks b0 and b1 in one of the macroblocks MB0 to MB3, CA [4: 3] is incremented by 2, Calculating a distance;

상기 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, CA[7:5]를 4 증가시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계;If the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB0 to MB3, CA [7: 5] is incremented by 4 and CA [4: 3] 2 < / RTI > to calculate the vertical address distance;

상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계; 및If the reference point is located in one of the blocks b0 and b1 in one of the macroblocks MB4 to MB7, the step of calculating the vertical address distance by increasing CA [4: 3] ; And

상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, RA[9:0]를 30 증가시키고, CA[7:5]를 4 감소시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계를 포함하는 것을 특징으로 한다.If the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB4 to MB7, RA [9: 0] is increased by 30 and CA [7: 5] 4; and decreasing CA [4: 3] by 2 to calculate the vertical address distance.

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

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

도 3은 도 1에 도시된 프레임 메모리에 있어서 본 발명에서 사용된 1 프레임에 대한 RAS 박스 설정방법의 예를 나타낸 도면,3 is a diagram illustrating an example of a RAS box setting method for one frame used in the present invention in the frame memory shown in FIG.

도 4는 도 3에 있어서 하나의 RAS 박스와 인접한 RAS 박스를 확대한 도면,FIG. 4 is an enlarged view of one RAS box and an adjacent RAS box in FIG. 3,

도 5는 본 발명에 의한 수평 어드레스 거리 산출방법을 설명하는 흐름도,5 is a flowchart for explaining a horizontal address distance calculation method according to the present invention,

도 6은 본 발명에 의한 수직 어드레스 거리 산출방법을 설명하는 흐름도,6 is a flowchart for explaining a vertical address distance calculation method according to the present invention,

도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

100 : 프레임 메모리 200 : 메모리 제어부100: frame memory 200: memory control unit

100-1~100-4 : 제1 내지 제4프레임 저장영역100-1 to 100-4: first to fourth frame storing areas

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

도 1은 본 발명에서 채택한 프레임 메모리의 구조를 나타낸 것으로서, 프레임 메모리(100)는 복원된 영상 데이터 쓰기 동작, 움직임 보상을 위한 데이터 읽기 동작, 디스플레이를 위한 데이터 읽기 동작이 메모리 제어부(미도시)에 의해 제어되며, 버스트 길이(burst length)가 8인 SDRAM(Synchronous-DRAM)을 예로 들기로 한다. 프레임 메모리(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 employed in the present invention. The frame memory 100 includes a memory controller (not shown) for reading data for a restored image data writing operation, a data reading operation for motion compensation, and a display And an SDRAM (Synchronous-DRAM) having a burst length of 8 is used as an example. The frame memory 100 has two memory banks of 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 each have a capacity capable of storing one frame of pixel data, 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 one word is 8 bits). In one address, eight Y pixels, two Cr pixels, and two Cb pixels, a total of 12 pixel data are stored. Here, 1,024 row addresses means the number of the RAS box. And, the column address of 256 words comes out of 8 macroblocks per one RAS box * 32 pixels (= 256 pixels) per macroblock.

한편, 프레임 메모리(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)을 각각 나타낸다.On the other hand, the actual physical row address of the frame memory (100) (physical row address) is the first to fourth frame storage area (100-1 ~ 100-4), each with respect to 000 H ~ H 3FF, 7FF 400 H ~ H , 800 H to BFF H , and C00 H to FFF H. However, the first to fourth frame storing areas 100-1 to 100-4 are independent from each other, and the second and fourth frame storing areas 100-1 to 100-4 correspond to the macroblocks located at a predetermined row address in the first frame storing area 100-1. The macroblocks in the third frame storage areas 100-2 and 100-3 have the same row address. As described above, the row addresses in the first to third frame storage areas 100-1 to 100-3 are referred to as virtual row addresses. 2, an address used to convert a virtual row address in a corresponding storage area in which a reference image is located to a physical row address is stored in the frame memory 100, It is called an offset address (frame offset address), and it is RA [11:10]. That is, if RA [11: 10] is '00', the first frame storage area 100-1, the second frame storage area 100-2 if it is 01, -3), and if it is '11', it indicates the fourth frame storage area 100-4.

여기서, 제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 the reconstructed I-picture or the motion-compensated P-picture image data as a reference image for motion compensation, The third frame storage area 100-3 is used for storing the motion compensated B picture image data and the fourth frame storage area 100-4 is used for storing the encoded bit stream inputted to the image decoder in a predetermined bit unit . ≪ / RTI >

도 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 procedure of the frame memory 100 shown in FIG. 1, in which the decoding order is I, P, B, B, P, B, B, P, B, B, P, B, P, B, B, P, B, B, ..., and the display order is I, B, B, P, B, , And the display latency is two pictures. Here, the underlined portion indicates the currently decoded picture, the arrow indicates the picture referred to for motion compensation, and the storage area to which 'D' is added indicates that the image data is being read out for display.

도 3은 도 1에 도시된 프레임 메모리(100)에 있어서 본 발명에서 사용한 1 프레임에 대한 RAS 박스 설정방법의 예를 나타낸 것으로서, 예를 들어 1 프레임이 1,920 화소*1,088 화소로 이루어지는 경우, 30 개 RAS 박스*34 개 RAS 박스, 총 1,020 개의 RAS(Row Address Strobe) 박스로 분할된다. 즉, RAS 박스의 번호가 프레임 메모리(100)의 행 어드레스(row address:RA[9:0])가 된다. 여기서, 하나의 RAS 박스는 4 개 매크로블록*2개 매크로블록, 총 8 개의 매크로블록(MB0~MB7)으로 이루어진다. 그리고, 각 매크로블록은 휘도(Y) 블록을 예로 들 경우, 4개의 블록(b0~b3)로 나누어지고, 각 블록(b0~b3)은 통상 2*4 혹은 1*8 구조의 8개의 박스로 나누어지고, 2*4 구조의 박스에서 각 박스는 4*2 구조의 8개의 화소로 이루어지고, 1*8 구조의 박스에서 각 박스는 8*1 구조의 8개의 화소로 이루어진다. 이때, 프레임 메모리(100)의 열 어드레스(column address;CA[7:0])는 해당 열 어드레스에 위치한 RAS 박스에 존재하는 매크로블록의 위치를 나타내는 열 어드레스 CA[7:5)와, 해당 매크로블록에서 존재하는 블록의 위치를 나타내는 열 어드레스 CA[4:3]와, 해당 블록에서의 박스의 위치를 나타내는 열 어드레스 CA[2:0]으로 이루어진다.FIG. 3 shows an example of a RAS box setting method for one frame used in the frame memory 100 shown in FIG. 1. For example, when one frame is composed of 1,920 pixels * 1,088 pixels, 30 frames RAS box * 34 RAS boxes, total 1,020 RAS (Row Address Strobe) boxes. That is, the number of the RAS box becomes the row address (RA [9: 0]) of the frame memory 100. Here, one RAS box is composed of 4 macroblocks * 2 macroblocks, total 8 macroblocks MB0-MB7. Each macroblock is divided into four blocks b0 to b3 in the case of a luminance (Y) block, and each of the blocks b0 to b3 is generally divided into eight boxes of a 2 * 4 or 1 * 8 structure Each box in the box of 2 * 4 structure is divided into 8 pixels of 4 * 2 structure, and each box in the box of 1 * 8 structure consists of 8 pixels of 8 * 1 structure. At this time, the column address CA [7: 0] of the frame memory 100 is a column address CA [7: 5] indicating the position of a macroblock existing in the RAS box located at the column address, And a column address CA [4: 3] indicating the position of a block existing in the block and a column address CA [2: 0] indicating the position of the box in the block.

도 4는 도 3에 있어서 하나의 RAS 박스와 인접한 RAS 박스를 확대한 도면으로서, 빗금친 부분이 우수 필드(혹은 상위 필드)를 나타내고, 빗금치지 않은 부분이 기수 필드(혹은 하위 필드)를 나타낸다.FIG. 4 is an enlarged view of one RAS box and an adjacent RAS box in FIG. 3, wherein the hatched portion indicates an excellent field (or an upper field), and the non hatched portion indicates an odd field (or a lower field).

도 5는 본 발명에 의한 수평 어드레스 거리 산출방법을 설명하는 흐름도로서, 예측된 매크로블록(MB)의 기준 포인트 산출단계(제51단계), 기준 포인트가 위치하는 매크로블록 및 블록에 따라서 수평 어드레스 거리를 산출하는 단계(제52 내지 제58단계로 이루어진다.FIG. 5 is a flowchart for explaining a horizontal address distance calculation method according to the present invention. The horizontal address distance calculation method includes a reference point calculation step of a predicted macroblock MB (step 51), a horizontal address distance (Steps 52 through 58).

도 6은 본 발명에 의한 수직 어드레스 거리 산출방법을 설명하는 흐름도로서, 예측된 매크로블록(MB)의 기준 포인트 산출단계(제61단계), 기준 포인트가 위치하는 매크로블록 및 블록에 따라서 수직 어드레스 거리를 산출하는 단계(제62 내지 제68단계)로 이루어진다.6 is a flowchart for explaining a vertical address distance calculation method according to the present invention. The vertical address distance calculation step includes a reference point calculation step of a predicted macroblock (MB) (step 61), a vertical address distance (Steps 62 to 68).

다음, 본 발명에 따른 어드레스 거리 산출방법을 도 5 및 도 6을 참조하여 설명하기로 한다.Next, an address distance calculating method according to the present invention will be described with reference to Figs. 5 and 6. Fig.

프레임 메모리(100)에 있어서, 현재 매크로블록의 시작 어드레스와 움직임 벡터로 부터 예측된 매크로블록을 읽어오고자 할 때 필요한 어드레스는, 필드 슬라이스 구조, 반화소 보상 유무, 프레임 맵 구조와 예측된 매크로블록과의 미스매칭, 기준 포인트의 위치에 따라 달라지게 된다. 여기서, 기준 포인트는 예측된 매크로블록의 상위에서 맨 왼쪽에 있는 화소의 위치를 가리킨다. 한편, 예측된 매크로블록을 블록 단위로 읽을 경우, 기준 포인트의 위치에 따라서 블럭들(b0, b1, b2, b3)를 독출하는데 필요로 하는 어드레스가 각각 달라지게 된다. 이때, 블럭(b0)로 부터 블럭(b1)을 읽거나, 블럭(b2)로 부터 블럭(b3)를 읽기 위해 필요한 어드레스를 계산하기 위한 어드레스의 수평간 거리를 수평 어드레스 거리(Horizontal Address Distance;이하 HAD라 약함)라 하고, 블럭(b0)로 부터 블럭(b2)를 읽거나, 블럭(b1)으로 부터 블럭(b3)를 읽기 위해 필요한 어드레스를 계산하기 위한 어드레스의 수직간 거리를 수직 어드레스 거리(Vertical Address Distance;이하 VAD라 약함)라 한다. 이때 HAD 및 VAD는 해당 RAS 박스에 RAS 라인이 걸려 있거나, 혹은 CAS 라인이 걸려 있거나, RAS 라인과 CAS 라인이 모두 걸려 있는 경우 등에 따라 각각 달라진다.In the frame memory 100, addresses necessary for reading a macroblock predicted from a start address and a motion vector of the current macroblock include a field slice structure, a half-pixel compensation presence, a frame map structure, And the position of the reference point. Here, the reference point indicates the position of the leftmost pixel in the upper part of the predicted macroblock. On the other hand, when the predicted macroblock is read on a block-by-block basis, addresses required to read the blocks b0, b1, b2 and b3 depend on the position of the reference point. At this time, the horizontal distance of the address for calculating the address necessary for reading the block b1 from the block b0 or reading the block b3 from the block b2 is called the horizontal address distance HAD), the vertical distance between the addresses for calculating the address required to read the block b2 from the block b0 or the address required for reading the block b3 from the block b1 is referred to as a vertical address distance Vertical Address Distance (VAD). At this time, HAD and VAD are different depending on whether the RAS line is caught in the corresponding RAS box, the CAS line is caught, or both the RAS line and the CAS line are caught.

그러면, HAD를 살펴보기로 한다.Let's take a look at HAD.

먼저, 움직임 보상에 의해 예측된 매크로블록의 기준포인트를 예측에 사용된 매크로블록의 슬라이스 위치 및 매크로블록 위치와 움직임 벡터에 의해 산출하고(제51단계), 프레임 메모리(100)에서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단한다(제52,53,56단계). 기준포인트의 위치에 따른 각 경우에 대하여 살펴보면 다음과 같다.First, a reference point of a macroblock predicted by motion compensation is calculated based on a slice position, a macroblock position and a motion vector of a macroblock used for prediction in operation 51, The macroblock and the block in which the reference point of the reference point is located (steps 52, 53, and 56). Each case according to the position of the reference point will be described as follows.

첫째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB0, MB1, MB2, MB4, MB5, MB6 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b0, b2) 중 하나일 경우에는, RAS 라인은 걸리지 않고 CAS 라인만 걸리는 형태이다. 이때, 블록(blki)와 수평으로 인접한 블럭(hblki+1)에 대하여 HAD는First, a macroblock MB i in which a reference point of a predicted macroblock is located in an arbitrary RAS box RAS i is one of MB 0 , MB 1 , MB 2, MB 4, MB 5 and MB 6, When the block blk i is one of the blocks b0 and b2, only the CAS line is taken without taking the RAS line. At this time, for the block (hblk i + 1 ) horizontally adjacent to the block blk i , HAD

blki+1= hblki+ 1blk i + 1 = hblk i + 1

이 된다. 따라서, 블럭(hblki+1)을 읽고자 하는 경우 블록(blki)의 열 어드레스 CA[7:0]에 대하여 CA[4:3]을 1 증가시키면 된다(제54단계).. Therefore, in the case of reading the block (hblk i + 1 ), CA [4: 3] may be incremented by 1 for the column address CA [7: 0] of the block blk i (Step 54).

둘째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB0, MB1, MB2, MB4, MB5, MB6 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b1, b3) 중 하나일 경우에는, RAS 라인은 걸리지 않고 CAS 라인만 걸리는 형태이다. 이때, 블록(blki)와 수평으로 인접한 블럭(hblki+1)에 대하여 HAD는Second, a macroblock MB i in which a reference point of a predicted macroblock is located in an arbitrary RAS box RAS i is one of MB 0 , MB 1 , MB 2, MB 4, MB 5, and MB 6, When the block blk i is one of the blocks b1 and b3, only the CAS line is occupied without taking the RAS line. At this time, for the block (hblk i + 1 ) horizontally adjacent to the block blk i , HAD

hblki+1= blki- 1hblk i + 1 = blk i - 1

MBi+1= MBi+ 1MB i + 1 = MB i + 1

이 된다. 따라서 블럭(hblki+1)을 읽고자 하는 경우 블록(blki)의 열 어드레스 CA[7:0]에 대하여 CA[7:5]를 1 증가시키고, CA[4:3]을 1 감소시키면 된다(제55단계).. Thus block (hblk i + 1) column address CA [7: 0] of the block (blk i) if the character reading: increasing one of [5 7], CA CA with respect to: reducing the [43] 1 (Operation 55).

셋째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB3, MB7 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b0, b2) 중 하나일 경우에는, RAS 라인은 걸리지 않고 CAS 라인만 걸리는 형태이다. 이때, 블록(blki)와 수평으로 인접한 블럭(hblki+1)에 대하여 HAD는Third, a macroblock MB i in which a reference point of a predicted macroblock is located in an arbitrary RAS box RAS i is one of MB 3 and MB 7, and a block blk i in which a reference point is located in the macroblock, In the case of one of these blocks b0 and b2, the RAS line is not caught but only takes the CAS line. At this time, for the block (hblk i + 1 ) horizontally adjacent to the block blk i , HAD

hblki+1= blki+ 1hblk i + 1 = blk i + 1

이 된다. 따라서 블럭(hblki+1)을 읽고자 하는 경우 블록(blki)의 열 어드레스 CA[7:0]에 대하여 CA[4:3]을 1 증가시키면 된다(제57단계).. Therefore, in the case of reading the block (hblk i + 1 ), CA [4: 3] may be incremented by 1 for the column address CA [7: 0] of the block blk i (operation 57).

넷째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB3, MB7 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b1, b3) 중 하나일 경우에는, RAS 라인과 CAS 라인이 모두 걸리는 형태이다. 이때, 블록(blki)와 수평으로 인접한 블럭(hblki+1)에 대하여 HAD는Fourth, a macroblock MB i in which a reference point of a predicted macroblock is located in an arbitrary RAS box RAS i is one of MB 3 and MB 7, and a block blk i where a reference point is located in the macroblock, In the case of one of the blocks b1 and b3, the RAS line and the CAS line are both occupied. At this time, for the block (hblk i + 1 ) horizontally adjacent to the block blk i , HAD

hblki+1= blki- 1hblk i + 1 = blk i - 1

MBi+1= MBi- 3MB i + 1 = MB i - 3

RASi+1= RASi+ 1RAS i + 1 = RAS i + 1

이 된다. 따라서 블럭(hblki+1)을 읽고자 하는 경우 블록(blki)의 행 어드레스 RA[9:0]를 1 증가시키고, 열 어드레스 CA[7:0]에 대하여 CA[7:5]를 3 감소시키고, CA[4:3]을 1 감소시키면 된다(제58단계).. Therefore, when the block (hblk i + 1 ) is to be read, the row address RA [9: 0] of the block blk i is incremented by 1 and CA [7: 5] , And decreasing CA [4: 3] by 1 (Step 58).

다음, VAD를 살펴보기로 한다.Next, let's take a look at VAD.

먼저, 움직임 보상에 의해 예측된 매크로블록의 기준포인트를 예측에 사용된 매크로블록의 슬라이스 위치 및 매크로블록 위치와 움직임 벡터에 의해 산출하고(제61단계), 프레임 메모리(100)에서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단한다(제62,63,66단계). 기준포인트의 위치에 따른 각 경우에 대하여 살펴보면 다음과 같다.First, a reference point of a macroblock predicted by motion compensation is calculated based on a slice position, a macroblock position and a motion vector of a macroblock used for prediction in operation 61, The macroblock and the block in which the reference point of the reference point is located (Steps 62, 63 and 66). Each case according to the position of the reference point will be described as follows.

첫째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB0, MB1, MB2, MB3 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b0, b1) 중 하나일 경우에는, RAS 라인은 걸리지 않고 CAS 라인만 걸리는 형태이다. 이때, 블록(blki)와 수직으로 인접한 블럭(vblki+1)에 대하여 VAD는First, a macroblock (MB i ) in which a reference point of a predicted macroblock is located in an arbitrary RAS box (RAS i ) is one of MB 0 , MB 1 , MB 2, and MB 3, (blk i ) is one of the blocks (b0, b1), the RAS line is not caught but only takes the CAS line. At this time, for the block (vblk i + 1 ) vertically adjacent to the block (blk i ), VAD

vblki+1= blki+ 2vblk i + 1 = blk i + 2

이 된다. 따라서 블럭(vblki+1)을 읽고자 하는 경우 블록(blki)의 열 어드레스 CA[7:0]에 대하여 CA[4:3]을 2 증가시키면 된다(제64단계).. Therefore, in the case of reading the block vblk i + 1 , CA [4: 3] may be incremented by 2 for the column address CA [7: 0] of the block blk i in operation 64.

둘째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB0, MB1, MB2, MB3 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b2, b3) 중 하나일 경우에는, RAS 라인은 걸리지 않고 CAS 라인만 걸리는 형태이다. 이때, 블록(blki)와 수직으로 인접한 블럭(vblki+1)에 대하여 VAD는Second, a macroblock MB i in which a reference point of a predicted macroblock is located in an arbitrary RAS box RAS i is one of MB 0 , MB 1 , MB 2, and MB 3, (blk i ) is one of the blocks b2 and b3, the RAS line is not caught but only takes the CAS line. At this time, for the block (vblk i + 1 ) vertically adjacent to the block (blk i ), VAD

vblki+1= blki- 2vblk i + 1 = blk i - 2

MBi+1= MBi+ 4MB i + 1 = MB i + 4

이 된다. 따라서 블럭(vblki+1)을 읽고자 하는 경우 블록(blki)의 열 어드레스 CA[7:0]에 대하여 CA[7:5]를 4 증가시키고, CA[4:3]을 2 감소시키면 된다(제65단계).. Thus block (vblk i + 1) column address CA [7: 0] of the block (blk i) if the character reading: increasing 4 to [5 7], CA CA with respect to: reducing the [43] 2 (Step 65).

셋째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB4, MB5, MB6, MB7 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b0, b1) 중 하나일 경우에는, RAS 라인은 걸리지 않고 CAS 라인만 걸리는 형태이다. 이때, 블록(blki)와 수직으로 인접한 블럭(vblki+1)에 대하여 VAD는Third, a macroblock (MB i ) in which a reference point of a predicted macroblock is located in an arbitrary RAS box (RAS i ) is one of MB 4, MB 5, MB 6, and MB 7, (blk i ) is one of the blocks (b0, b1), the RAS line is not caught but only takes the CAS line. At this time, for the block (vblk i + 1 ) vertically adjacent to the block (blk i ), VAD

vblki+1= blki+ 2vblk i + 1 = blk i + 2

이 된다. 따라서 블럭(vblki+1)을 읽고자 하는 경우 블록(blki)의 열 어드레스 CA[7:0]에 대하여 CA[4:3]을 2 증가시키면 된다(제67단계).. Therefore, in the case of reading the block vblk i + 1 , CA [4: 3] is incremented by 2 for the column address CA [7: 0] of the block blk i in step 67.

넷째, 임의의 RAS 박스(RASi)에 있어서 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록(MBi)이 MB4, MB5, MB6, MB7 중 하나이고, 해당 매크로블록에서 기준 포인트가 위치하는 블럭(blki)이 블록들(b2, b3) 중 하나일 경우에는, RAS 라인과 CAS 라인이 모두 걸리는 형태이다. 이때, 블록(blki)와 수직으로 인접한 블록(vblki+1)에 대하여 HAD는Fourth, a macroblock MB i in which a reference point of a predicted macroblock is located in an arbitrary RAS box RAS i is one of MB 4, MB 5, MB 6, and MB 7, (blk i ) is one of the blocks b2 and b3, the RAS line and the CAS line are both occupied. At this time, for a block (vblk i + 1 ) vertically adjacent to the block (blk i ), HAD

vblki+1= blki- 2vblk i + 1 = blk i - 2

MBi+1= MBi- 4MB i + 1 = MB i - 4

RASi+1= RASi+ 30RAS i + 1 = RAS i + 30

이 된다. 블럭(vblki+1)을 읽고자 하는 경우 블록(blki)의 행 어드레스 RA[9:0]를 30 증가시키고, 열 어드레스 CA[7:0]에 대하여 CA[7:5]를 4 감소시키고, CA[4:3]을 2 감소시키면 된다(제68단계).. 4 reduces: For CA [5 7] [:: 0 9] an increase in 30 and, the column address CA [0 7] block (vblk i + 1) block (blk i) the row address RA of the case to read the , And CA [4: 3] is decreased by 2 (Step 68).

다음, 반화소 보상에 따르는 어드레스 거리 산출방법에 대하여 설명하기로 한다.Next, an address distance calculation method according to half-pixel compensation will be described.

첫째, a 와 같은 경우는First, in the case of a,

RASi+1= RASi+ 19 (상위필드인 경우), RASi+1= RASi- 19 (하위필드인 경우)RAS i + 1 = RAS i + 19 (for the upper field), RAS i + 1 = RAS i -19 (for the lower field)

blki+1= blki+ 3 (상위필드인 경우), blki+1= blki- 3 (하위필드인 경우)blk i + 1 = blk i + 3 (for upper field), blk i + 1 = blk i - 3 (for lower field)

MBi+1= MBi+ 4 (상위필드인 경우), MBi+1= MBi- 4 (하위필드인 경우)MB i + 1 = MB i + 4 (in the case of the upper field), MB i + 1 = MB i - 4 (in the case of the lower field)

로 나타낼 수 있다..

둘셉, b 와 같은 경우는For example,

RASi+1= RASi- 14RAS i + 1 = RAS i - 14

blki+1= blki+ 2blk i + 1 = blk i + 2

MBi+1= MBi+ 4MB i + 1 = MB i + 4

로 나타낼 수 있다..

셋째, c 와 같은 경우는Third, in the case of c,

blki+1= blki+ 1blk i + 1 = blk i + 1

MBi+1= MBi- 4MB i + 1 = MB i - 4

로 나타낼 수 있다..

넷째, d 와 같은 경우는Fourth, in the case of d,

RASi+1= RASi- 1RAS i + 1 = RAS i - 1

blki+1= blki- 1 (상위필드인 경우), blki+1= blki+ 1 (하위필드인 경우)blk i + 1 = blk i - 1 (for upper field), blk i + 1 = blk i + 1 (for lower field)

MBi+1= MBi- 3 (상위필드인 경우), MBi+1= MBi+ 3 (하위필드인 경우)MB i + 1 = MB i - 3 (in the case of the upper field), MB i + 1 = MB i + 3 (in the case of the lower field)

로 나타낼 수 있다..

한편, 상기한 상세한 설명은 여기에 제시된 특정의 실시예를 설명하고자 한 것이며, 본 발명을 한정하려는 의도는 아니다. 당업자라면, 상기한 상세한 설명 및 도면을 참조하여 본 발명의 기술적 사상내에서 RAS 박스의 구조 및 매크로블록 블록의 구조에 따라 여러 가지 변형 및 수정을 가할 수 있을 것이다.It should be understood, however, that the above description is intended to illustrate the specific embodiments set forth herein and not as an endorsement of the invention. It will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention, the scope of which is defined in the following claims.

상술한 바와 같이 본 발명에 따르면, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 현재 매크로블록의 시작 어드레스와 움직임 벡터에 의해 예측된 매크로블록을 블럭 단위로 읽기 위한 어드레스를 발생시키는 경우, 예측된 매크로블록의 기준 포인트의 위치에 따라서 수평 혹은 수직 방향으로 인접한 블럭의 어드레스를 산출할 수 있다.As described above, according to the present invention, an area for storing reference image data in motion compensation, a region for storing decoded video data for display and a region for storing a coded bit stream input to the video decoder are stored in one memory In a frame memory implemented on a module, when an address for reading a macroblock predicted by a start address and a motion vector of a current macroblock is generated in units of blocks, It is possible to calculate the addresses of blocks adjacent in the vertical direction.

Claims (6)

1 프레임은 분리된 필드 구조를 가지는 복수개의 RAS 박스로 이루어지며, 상기 RAS 박스는 4 매크로블록 * 2 매크로블록 포맷의 8개의 매크로블록(MB0~MB7)로 이루어지는 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 블록 단위로 읽기 위하여 행 어드레스 RA[9:0]와 열 어드레스 CA[7:0]를 발생시키는 경우 임의의 블록과 수평으로 인접한 블록에 대한 수평 어드레스 거리를 산출하는 방법에 있어서, 상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계; 상기 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b1, b3) 중 하나에 위치하는 경우, CA[7:5]를 1 증가시키고, CA[4:3]을 1 감소시켜 상기 수평 어드레스 거리를 산출하는 단계; 상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계; 및 상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b1, b3) 중 하나에 위치하는 경우, RA[9:0]를 1 증가시키고, CA[7:5]를 3 감소시키고, CA[4:3]을 1 감소시켜 상기 수평 어드레스 거리를 산출하는 단계를 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.One frame is composed of a plurality of RAS boxes having a separate field structure and the RAS box is composed of eight macroblocks (MB0 to MB7) of 4 macroblocks * 2 macroblock format, A method for calculating a horizontal address distance for a block horizontally adjacent to an arbitrary block when generating a row address RA [9: 0] and a column address CA [7: 0] to read a predicted macroblock in block units , When the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one of the macroblocks MB0 to MB2 and MB4 to MB6, CA [4: 3] is set to 1 To calculate the horizontal address distance; When the reference point is located in one of the blocks b1 and b3 in one of the macroblocks MB0 to MB2 and MB4 to MB6, CA [7: 5] is incremented by 1 and CA [4: : 3] by 1 to calculate the horizontal address distance; If the reference point is located in one of the blocks b0 and b2 in one of the macroblocks MB3 and MB7, the step of calculating the horizontal address distance by increasing CA [4: 3] ; And when the reference point is located in one of the blocks b1 and b3 in one of the macroblocks MB3 and MB7, RA [9: 0] is incremented by 1 and CA [7: 5] And decreasing CA [4: 3] by 1 to calculate the horizontal address distance. 제 1 항에 있어서, 상기 방법은 상기 프레임 메모리에서 상기 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단하는 단계를 더 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.2. The method according to claim 1, wherein the method further comprises the step of determining a macroblock and a block in which the reference point of the predicted macroblock is located in the frame memory. 1 프레임은 분리된 필드 구조를 가지는 복수개의 RAS 박스로 이루어지며, 상기 RAS 박스는 4 매크로블록 * 2 매크로블록 포맷의 8개의 매크로블록(MB0~MB7)로 이루어지는 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 블록 단위로 읽기 위하여 행 어드레스 RA[9:0]와 열 어드레스 CA[7:0]를 발생시키는 경우 임의의 블록과 수직으로 인접한 블록에 대한 수직 어드레스 거리를 산출하는 방법에 있어서,One frame is composed of a plurality of RAS boxes having a separate field structure and the RAS box is composed of eight macroblocks (MB0 to MB7) of 4 macroblocks * 2 macroblock format, A method for calculating a vertical address distance for a block vertically adjacent to an arbitrary block when generating a row address RA [9: 0] and a column address CA [7: 0] to read a predicted macroblock in block units , 상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계;When the reference point of the predicted macroblock is located in one of the blocks b0 and b1 in one of the macroblocks MB0 to MB3, CA [4: 3] is incremented by 2, Calculating a distance; 상기 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, CA[7:5]를 4 증가시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계;If the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB0 to MB3, CA [7: 5] is incremented by 4 and CA [4: 3] 2 < / RTI > to calculate the vertical address distance; 상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계; 및If the reference point is located in one of the blocks b0 and b1 in one of the macroblocks MB4 to MB7, the step of calculating the vertical address distance by increasing CA [4: 3] ; And 상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, RA[9:0]를 30 증가시키고, CA[7:5]를 4 감소시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계를 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.If the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB4 to MB7, RA [9: 0] is increased by 30 and CA [7: 5] 4; and decreasing CA [4: 3] by 2 to calculate the vertical address distance. 제 3 항에 있어서, 상기 방법은 상기 프레임 메모리에서 상기 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단하는 단계를 더 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.4. The method as claimed in claim 3, wherein the method further comprises: determining a macroblock and a block in which the reference point of the predicted macroblock is located in the frame memory. 1 프레임은 분리된 필드 구조를 가지는 복수개의 RAS 박스로 이루어지며, 상기 RAS 박스는 4 매크로블록 * 2 매크로블록 포맷의 8개의 매크로블록(MB0~MB7)로 이루어지는 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 블록 단위로 읽기 위하여 행 어드레스 RA[9:0]와 열 어드레스 CA[7:0]를 발생시키는 경우, 임의의 블록과 수평으로 인접한 블록에 대한 수평 어드레스 거리를 산출하기 위하여, 상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계; 상기 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b1, b3) 중 하나에 위치하는 경우, CA[7:5]를 1 증가시키고, CA[4:3]을 1 감소시켜 상기 수평 어드레스 거리를 산출하는 단계; 상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계; 및 상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b1, b3) 중 하나에 위치하는 경우, RA[9:0]를 1 증가시키고, CA[7:5]를 3 감소시키고, CA[4:3]을 1 감소시켜 상기 수평 어드레스 거리를 산출하는 단계를 포함하고, 임의의 블록과 수직으로 인접한 블록에 대한 수직 어드레스 거리를 산출하기 위하여,One frame is composed of a plurality of RAS boxes having a separate field structure and the RAS box is composed of eight macroblocks (MB0 to MB7) of 4 macroblocks * 2 macroblock format, In order to generate the row address RA [9: 0] and the column address CA [7: 0] to read the predicted macroblock in block units, in order to calculate the horizontal address distance for blocks horizontally adjacent to any block, When the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one of the macroblocks MB0 to MB2 and MB4 to MB6, CA [4: 3] is incremented by 1 Calculating the horizontal address distance; When the reference point is located in one of the blocks b1 and b3 in one of the macroblocks MB0 to MB2 and MB4 to MB6, CA [7: 5] is incremented by 1 and CA [4: : 3] by 1 to calculate the horizontal address distance; If the reference point is located in one of the blocks b0 and b2 in one of the macroblocks MB3 and MB7, the step of calculating the horizontal address distance by increasing CA [4: 3] ; And when the reference point is located in one of the blocks b1 and b3 in one of the macroblocks MB3 and MB7, RA [9: 0] is incremented by 1 and CA [7: 5] And decreasing CA [4: 3] by 1 to calculate the horizontal address distance, and in order to calculate a vertical address distance for a block vertically adjacent to any block, 상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계; 상기 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, CA[7:5]를 4 증가시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계; 상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계; 및 상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, RA[9:0]를 30 증가시키고, CA[7:5]를 4 감소시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계를 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.When the reference point of the predicted macroblock is located in one of the blocks b0 and b1 in one of the macroblocks MB0 to MB3, CA [4: 3] is incremented by 2, Calculating a distance; If the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB0 to MB3, CA [7: 5] is incremented by 4 and CA [4: 3] 2 < / RTI > to calculate the vertical address distance; If the reference point is located in one of the blocks b0 and b1 in one of the macroblocks MB4 to MB7, the step of calculating the vertical address distance by increasing CA [4: 3] ; And the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB4 to MB7, RA [9: 0] is increased by 30 and CA [7: 5] And decreasing CA [4: 3] by 2 to calculate the vertical address distance. 제 5 항에 있어서, 상기 방법은 상기 프레임 메모리에서 상기 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단하는 단계를 더 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.6. The method as claimed in claim 5, wherein the method further comprises: determining a macroblock and a block in which the reference point of the predicted macroblock is located in the frame memory.
KR1019970029788A 1997-06-30 1997-06-30 The address distance calculation method in the frame memory KR19990005576A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970029788A KR19990005576A (en) 1997-06-30 1997-06-30 The address distance calculation method in the frame memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970029788A KR19990005576A (en) 1997-06-30 1997-06-30 The address distance calculation method in the frame memory

Publications (1)

Publication Number Publication Date
KR19990005576A true KR19990005576A (en) 1999-01-25

Family

ID=65999582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970029788A KR19990005576A (en) 1997-06-30 1997-06-30 The address distance calculation method in the frame memory

Country Status (1)

Country Link
KR (1) KR19990005576A (en)

Similar Documents

Publication Publication Date Title
KR100226704B1 (en) Method for calculating address distances in a frame memory
KR19990005576A (en) The address distance calculation method in the frame memory
KR100226703B1 (en) Method for calculating address distances in a frame memory
KR19990005601A (en) The address distance calculation method in the frame memory
KR100269427B1 (en) Method for generating address in a frame memory
KR19990026427A (en) Motion vector distance calculation method 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
KR100243472B1 (en) Method for reading a field-pictured macroblock in a 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
KR100243471B1 (en) Address generator in frame memory
KR100243477B1 (en) Apparatus of generating display address in a frame memory
KR19990005602A (en) Dual Prime Field Prediction Method in Frame Memory
KR100226702B1 (en) Method for transitioning block status 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
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
KR100243473B1 (en) Apparatus for compensating a motion vector during an address generation of a predicted macroblock in a 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
KR19980086111A (en) In the frame memory for a motion compensation apparatus, an RAS box position calculating circuit
KR100243475B1 (en) Jump address generator in frame memory
KR19990032813A (en) Address distance calculation method in frame memory
KR100243470B1 (en) Address generator in frame memory
KR100243474B1 (en) Jump address generator in frame memory
KR19990026428A (en) Address generator in frame memory
KR100248653B1 (en) Method for transitioning a state of blocks during address generation in a frame memory
KR100237486B1 (en) Apparatus for rearranging data output from a frame memory

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee