KR100226704B1 - Method for calculating address distances in a frame memory - Google Patents

Method for calculating address distances in a frame memory Download PDF

Info

Publication number
KR100226704B1
KR100226704B1 KR1019970022367A KR19970022367A KR100226704B1 KR 100226704 B1 KR100226704 B1 KR 100226704B1 KR 1019970022367 A KR1019970022367 A KR 1019970022367A KR 19970022367 A KR19970022367 A KR 19970022367A KR 100226704 B1 KR100226704 B1 KR 100226704B1
Authority
KR
South Korea
Prior art keywords
macroblock
blocks
reference point
macroblocks
block
Prior art date
Application number
KR1019970022367A
Other languages
Korean (ko)
Other versions
KR19980086108A (en
Inventor
이수정
Original Assignee
전주범
대우전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전주범, 대우전자주식회사 filed Critical 전주범
Priority to KR1019970022367A priority Critical patent/KR100226704B1/en
Publication of KR19980086108A publication Critical patent/KR19980086108A/en
Application granted granted Critical
Publication of KR100226704B1 publication Critical patent/KR100226704B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

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 감소시켜 수직 어드레스 거리를 산출하는 것을 특징으로 한다.Disclosed is a method for calculating an address distance in a frame memory used in a motion compensation device. In the address distance calculation method, if the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one macroblock of the macroblocks MB0 to MB2 and MB4 to MB6, CA [4: 3]. ] Increases by 1, and located in one of the blocks b1, b3 increases CA [7: 5] by 1, decreases CA [4: 3] by 1, and the reference point is the macroblocks MB3, MB7. If one is in one of the blocks (b0, b2) in one macroblock, CA [4: 3] is increased by one, and in one of the blocks (b1, b3), RA [9: 0] is increased by one. Decrease the CA [7: 5] by 3, decrease the CA [4: 3] by 1, and calculate the horizontal address distance, and the reference point of the predicted macroblock is the macro of one of the macroblocks MB0 to MB3. If located in one of the blocks (b0, b1) in the block, increase CA [4: 3] by 2; in one of blocks (b2, b3), increase CA [7: 5] by 4, CA [4 Decreases: 3] by 2, and the reference point If one is located in one of the blocks b0 and b1 in one of the macroblocks MB4 to MB7, CA [4: 3] is increased by two, and if it is located in one of the blocks b2 and b3, RA [9]. Vertical address distance is calculated by increasing: 0] by 30, decreasing CA [7: 5] by 4, and decreasing CA [4: 3] by 2.

Description

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

본 발명은 움직임 보상장치용 프레임 메모리에 관한 것으로서, 특히 움직임 보상에 의해 예측된 매크로블록을 블럭 단위로 읽기 위한 어드레스를 발생시키는 경우, 예측된 매크로블록의 기준 포인트의 위치에 따라서 수평 혹은 수직 방향으로 인접한 블럭의 어드레스를 산출하기 위한 어드레스 거리 산출방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a frame memory for a motion compensation device. In particular, when generating an address for reading a macroblock predicted by motion compensation in units of blocks, the present invention relates to a horizontal or vertical direction according to the position of a reference point of the predicted macroblock. An address distance calculation method for calculating an address of an adjacent block is provided.

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 must have a capacity to store at least three frames of image data according to the I picture and the P picture or the distance M between the P picture and the P picture, and thus the price thereof is expensive, and therefore, 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.

따라서 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 블럭 단위로 읽기 위한 어드레스를 발생시키는 경우, 예측된 매크로블록의 기준 포인트의 위치에 따라서 수평 혹은 수직 방향으로 인접한 블럭의 어드레스를 산출하기 위한 어드레스 거리 산출방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above-described problem, 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 the frame memory implemented on one memory module, when generating an address for reading a macroblock predicted by motion compensation in units of blocks, the area is horizontal or vertical according to the position of a reference point of the predicted macroblock. It is an object of the present invention to provide a method for calculating an address distance for calculating addresses of blocks adjacent in a direction.

상기 목적을 달성하기 위하여 본 발명에 따른 어드레스 거리 산출방법은 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 감소시켜 상기 수평 어드레스 거리를 산출하는 단계를 포함하고, 임의의 블록과 수직으로 인접한 블록에 대한 수직 어드레스 거리를 산출하기 위하여, 상기 예측된 매크로블록의 기준 포인트가 매크로블록들(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 감소시켜 상기 수직 어드레스 거리를 산출하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, in the address distance calculation method according to the present invention, one frame includes a plurality of RAS boxes, and the RAS box includes eight macroblocks (MB0 to MB7) of 4 macroblocks * 2 macroblock formats. In the frame memory, when the row address RA [9: 0] and the column address CA [7: 0] are generated to read the macroblock predicted by the motion compensation in block units, the block memory is placed in a block horizontally adjacent to the arbitrary block. When the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one macroblock of the macroblocks MB0 to MB2 and MB4 to MB6 to calculate a horizontal address distance with respect to Increasing CA [4: 3] by 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, increase CA [7: 5] by 1 and increase CA [4]. Decrement: 3] by 1 to calculate the horizontal address distance; Calculating the horizontal address distance by increasing CA [4: 3] by 1 when the reference point is located in one of the blocks b0 and b2 in one of the macroblocks MB3 and MB7 ; And when the reference point is located in one of the blocks b1 and b3 in one of the macroblocks MB3 and MB7, increase RA [9: 0] by 1 and increase CA [7: 5]. Decrement 3 by 3 and decrement CA [4: 3] by 1 to calculate the horizontal address distance, and to calculate a vertical address distance for a block vertically adjacent to any block. Calculating a vertical address distance by increasing CA [4: 3] by 2 when the reference point of is located in one of the blocks b0 and b1 in one of the macroblocks MB0 to MB3 ; When the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB0 to MB3, increase CA [7: 5] by 4 and increase CA [4: 3]. Reducing the two to calculate the vertical address distance; Calculating the vertical address distance by increasing CA [4: 3] by 2 when the reference point is located in one of the blocks b0 and b1 in one of the macroblocks MB4 to MB7 ; And when the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB4 to MB7, increase RA [9: 0] by 30 and increase CA [7: 5]. Reducing 4 by and reducing CA [4: 3] by 2 to calculate the vertical address distance.

도 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 view showing an example of a method for setting a RAS box for one frame used in the present invention in the frame memory shown in FIG. 1;

도 4는 도 3에 있어서 하나의 RAS 박스와 인접한 RAS 박스를 확대한 도면,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 illustrating a method of calculating a vertical address distance according to the present invention.

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

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

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

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

도 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 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). Synchronous-DRAM (SDRAM) controlled by a burst length of 8 will be taken as an example. 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 column address of 256 words is derived by 8 macroblocks per one RAS box * 32 pixels per macroblock (= 256 pixels).

한편, 프레임 메모리(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 화소로 이루어지는 경우, 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 method of setting a RAS box for one frame used in the present invention in the frame memory 100 shown in FIG. 1. For example, when one frame includes 1,920 pixels * 1,088 pixels, 30 pieces are used. RAS Box * 34 RAS boxes, divided into a total of 1,020 Row Address Strobe (RAS) boxes. In other words, 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 four macroblocks * 2 macroblocks and a total of eight macroblocks MB0 to MB7. For example, each macroblock is divided into four blocks b0 to b3 when the luminance (Y) block is taken as an example, and each block b0 to b3 is usually divided into eight boxes having a 2 * 4 or 1 * 8 structure. In the box of 2 * 4 structure, each box is composed of 8 pixels of 4 * 2 structure, and each box is composed of 8 pixels of 8 * 1 structure in a box of 1 * 8 structure. In this case, the column address CA [7: 0] of the frame memory 100 is a column address CA [7: 5) indicating the position of the macroblock existing in the RAS box located at the corresponding column address, and the corresponding macro. Column address CA [4: 3], which indicates the position of the block existing in the block, and column address CA [2: 0], which indicates 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, in which hatched portions represent even fields (or upper fields), and unhatched portions represent radix fields (or lower fields).

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

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

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

프레임 메모리(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, an address required for reading a predicted macroblock from a start address and a motion vector of a current macroblock includes a field slice structure, a half pixel compensation presence, a frame map structure, and a predicted macroblock. It depends on the mismatch of the and the location of the reference point. Here, the reference point indicates the position of the leftmost pixel above the predicted macroblock. On the other hand, when the predicted macroblock is read in units of blocks, addresses required to read the blocks b0, b1, b2, and b3 vary according to the position of the reference point. In this case, the horizontal distance of the address for calculating an address required for reading the block b1 from the block b0 or reading the block b3 from the block b2 is referred to as a horizontal address distance (hereinafter, referred to as a horizontal address distance). The vertical distance of the address for calculating an address required for reading block b2 from block b0 or reading block b3 from block b1 is referred to as HAD. Vertical Address Distance (hereafter referred to as VAD). In this case, HAD and VAD are different depending on whether the RAS line is hanging on the corresponding RAS box, or the CAS line is hanging, or both the RAS line and the CAS line are hanging.

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

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

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

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

이 된다. 따라서, 블럭(hblki+1)을 읽고자 하는 경우 블록(blki)의 열 어드레스 CA[7:0]에 대하여 CA[4:3]을 1 증가시키면 된다(제54단계).Becomes Therefore, when reading the block hblk i + 1 , the CA [4: 3] is increased by one with respect to 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, the macroblock MB i in which the reference point of the predicted macroblock is located in any RAS box RAS i is one of MB0, MB1, MB2, MB4, MB5, MB6, and the reference point in the macroblock. When the block blk i in which is located is one of the blocks b1 and b3, the RAS line is not caught but only the CAS line. In this case, for the block (hblk i + 1 ) horizontally adjacent to the block (blk i ), HAD is

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단계).Becomes Therefore, to read the block hblk i + 1 , increase CA [7: 5] by 1 and decrease CA [4: 3] by 1 for the column address CA [7: 0] of the block blk i . (Step 55).

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

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

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

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

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단계).Becomes Therefore, to read the block hblk i + 1 , the row address RA [9: 0] of the block blk i is increased by 1, and CA [7: 5] is increased by 3 for the column address CA [7: 0]. Reduce CA [4: 3] by 1 (step 58).

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

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

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

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

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

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

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단계).Becomes Therefore, to read the block vblk i + 1 , increase CA [7: 5] by 4 and decrease CA [4: 3] by 2 for the column address CA [7: 0] of the block (blk i ). (Step 65).

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

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

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

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

blki+1= blki- 2blk 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단계).Becomes To read block vblk i + 1 , increase row address RA [9: 0] by 30 in block blk i , and decrease CA [7: 5] by 4 for column address CA [7: 0]. This is done by reducing CA [4: 3] by 2 (step 68).

한편, 상기한 상세한 설명은 여기에 제시된 특정의 실시예를 설명하고자 한 것이며, 본 발명을 한정하려는 의도는 아니다. 당업자라면, 상기한 상세한 설명 및 도면을 참조하여 본 발명의 기술적 사상내에서 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.

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

Claims (6)

1 프레임은 복수개의 RAS 박스로 이루어지며, 상기 RAS 박스는 4 매크로블록 * 2 매크로블록 포맷의 8개의 매크로블록(MB0~MB7)로 이루어지는 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 블록 단위로 읽기 위하여 행 어드레스 RA[9:0]와 열 어드레스 CA[7:0]를 발생시키는 경우 임의의 블록과 수평으로 인접한 블록에 대한 수평 어드레스 거리를 산출하는 방법에 있어서,One frame is composed of a plurality of RAS boxes, and the RAS box is a frame memory consisting of eight macroblocks (MB0 to MB7) of 4 macroblocks * 2 macroblock formats, and blocks a macroblock predicted by motion compensation. In the case of generating the row address RA [9: 0] and the column address CA [7: 0] to read in units, the method of calculating the horizontal address distance for a block horizontally adjacent to an arbitrary block, 상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계;If the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one macroblock of the macroblocks MB0 to MB2 and MB4 to MB6, increase CA [4: 3] 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, increase CA [7: 5] by 1 and increase CA [4]. Decrement: 3] by 1 to calculate the horizontal address distance; 상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계; 및Calculating the horizontal address distance by increasing CA [4: 3] by 1 when the reference point is located in one of the blocks b0 and b2 in one of the macroblocks MB3 and MB7 ; 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, increase RA [9: 0] by 1 and increase CA [7: 5] by one. And calculating the horizontal address distance by reducing the number of CAs by 3 and decreasing the CA [4: 3] by one. 제 1 항에 있어서, 상기 방법은 상기 프레임 메모리에서 상기 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단하는 단계를 더 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.The method of claim 1, 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]를 발생시키는 경우 임의의 블록과 수직으로 인접한 블록에 대한 수직 어드레스 거리를 산출하는 방법에 있어서,One frame is composed of a plurality of RAS boxes, and the RAS box is a frame memory consisting of eight macroblocks (MB0 to MB7) of 4 macroblocks * 2 macroblock formats, and blocks a macroblock predicted by motion compensation. In the case of generating the row address RA [9: 0] and the column address CA [7: 0] to read in units, the method of calculating the vertical address distance for a block vertically adjacent to an arbitrary 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 macroblock of the macroblocks MB0 to MB3, CA [4: 3] is increased by 2 to increase the vertical address. Calculating a distance; 상기 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, CA[7:5]를 4 증가시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계;When the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB0 to MB3, increase CA [7: 5] by 4 and increase CA [4: 3]. Reducing the two to calculate the vertical address distance; 상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계; 및Calculating the vertical address distance by increasing CA [4: 3] by 2 when the reference point is located in one of the blocks b0 and b1 in one of the macroblocks MB4 to MB7 ; 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] is increased. And decreasing the CA [4: 3] by 2 to calculate the vertical address distance. 제 3 항에 있어서, 상기 방법은 상기 프레임 메모리에서 상기 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단하는 단계를 더 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.4. The method of claim 3, further comprising 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, and the RAS box is a frame memory consisting of eight macroblocks (MB0 to MB7) of 4 macroblocks * 2 macroblock formats, and blocks a macroblock predicted by motion compensation. When generating the row address RA [9: 0] and column address CA [7: 0] to read in units, in order to calculate the horizontal address distance for a block horizontally adjacent to any block, 상기 예측된 매크로블록의 기준 포인트가 매크로블록들(MB0~MB2, MB4~MB6) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계;If the reference point of the predicted macroblock is located in one of the blocks b0 and b2 in one macroblock of the macroblocks MB0 to MB2 and MB4 to MB6, increase CA [4: 3] 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, increase CA [7: 5] by 1 and increase CA [4]. Decrement: 3] by 1 to calculate the horizontal address distance; 상기 기준 포인트가 매크로블록들(MB3, MB7) 중 하나의 매크로블록에서 블록들(b0, b2) 중 하나에 위치하는 경우, CA[4:3]을 1 증가시켜 상기 수평 어드레스 거리를 산출하는 단계; 및Calculating the horizontal address distance by increasing CA [4: 3] by 1 when the reference point is located in one of the blocks b0 and b2 in one of the macroblocks MB3 and MB7 ; 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, increase RA [9: 0] by 1 and increase CA [7: 5] by one. Decreasing the 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 macroblock of the macroblocks MB0 to MB3, CA [4: 3] is increased by 2 to increase the vertical address. Calculating a distance; 상기 기준 포인트가 매크로블록들(MB0~MB3) 중 하나의 매크로블록에서 블록들(b2, b3) 중 하나에 위치하는 경우, CA[7:5]를 4 증가시키고, CA[4:3]을 2 감소시켜 상기 수직 어드레스 거리를 산출하는 단계;When the reference point is located in one of the blocks b2 and b3 in one of the macroblocks MB0 to MB3, increase CA [7: 5] by 4 and increase CA [4: 3]. Reducing the two to calculate the vertical address distance; 상기 기준 포인트가 매크로블록들(MB4~MB7) 중 하나의 매크로블록에서 블록들(b0, b1) 중 하나에 위치하는 경우, CA[4:3]을 2 증가시켜 상기 수직 어드레스 거리를 산출하는 단계; 및Calculating the vertical address distance by increasing CA [4: 3] by 2 when the reference point is located in one of the blocks b0 and b1 in one of the macroblocks MB4 to MB7 ; 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] is increased. And decreasing the CA [4: 3] by 2 to calculate the vertical address distance. 제 5 항에 있어서, 상기 방법은 상기 프레임 메모리에서 상기 예측된 매크로블록의 기준 포인트가 위치하는 매크로블록 및 블록을 판단하는 단계를 더 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 거리 산출방법.6. The method of 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.
KR1019970022367A 1997-05-31 1997-05-31 Method for calculating address distances in a frame memory KR100226704B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970022367A KR100226704B1 (en) 1997-05-31 1997-05-31 Method for calculating address distances in a frame memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970022367A KR100226704B1 (en) 1997-05-31 1997-05-31 Method for calculating address distances in a frame memory

Publications (2)

Publication Number Publication Date
KR19980086108A KR19980086108A (en) 1998-12-05
KR100226704B1 true KR100226704B1 (en) 1999-10-15

Family

ID=19508125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970022367A KR100226704B1 (en) 1997-05-31 1997-05-31 Method for calculating address distances in a frame memory

Country Status (1)

Country Link
KR (1) KR100226704B1 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100226704B1 (en) Method for calculating address distances in a frame memory
KR100226703B1 (en) Method for calculating address distances in a frame memory
KR19990026427A (en) Motion vector distance calculation method in frame memory
KR100243472B1 (en) Method for reading a field-pictured macroblock in a frame memory
KR100269427B1 (en) Method for generating address in a frame memory
KR19990005601A (en) The address distance calculation method in the frame memory
KR100226702B1 (en) Method for transitioning block status during address generation in a frame memory
KR19990005576A (en) The address distance calculation method in the 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
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
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
KR19990032813A (en) Address distance calculation method in frame memory
KR19990005602A (en) Dual Prime Field Prediction Method in Frame Memory
KR100243477B1 (en) Apparatus of generating display address in a 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
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
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
KR100226705B1 (en) Method for transitioning a frame memory during address generation and apparatus using the same
KR100243479B1 (en) Rearrange apparatus of output data of frame memory
KR100243475B1 (en) Jump address generator 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

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120702

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee