KR100226702B1 - Method for transitioning block status during address generation in a frame memory - Google Patents

Method for transitioning block status during address generation in a frame memory Download PDF

Info

Publication number
KR100226702B1
KR100226702B1 KR1019970022365A KR19970022365A KR100226702B1 KR 100226702 B1 KR100226702 B1 KR 100226702B1 KR 1019970022365 A KR1019970022365 A KR 1019970022365A KR 19970022365 A KR19970022365 A KR 19970022365A KR 100226702 B1 KR100226702 B1 KR 100226702B1
Authority
KR
South Korea
Prior art keywords
block
changing
row address
fetching
fetch
Prior art date
Application number
KR1019970022365A
Other languages
Korean (ko)
Other versions
KR19980086106A (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 KR1019970022365A priority Critical patent/KR100226702B1/en
Publication of KR19980086106A publication Critical patent/KR19980086106A/en
Application granted granted Critical
Publication of KR100226702B1 publication Critical patent/KR100226702B1/en

Links

Images

Classifications

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

Landscapes

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

Abstract

움직임 보상장치에 사용되는 프레임 메모리에 있어서 어드레스 발생시 블럭상태 천이방법이 개시된다. 이 블럭상태 천이방법에서는 움직임 보상에 의해 예측된 매크로블럭의 휘도 블럭 b0 내지 블럭 b3의 위치가 1 프레임에 대하여, 수직 및 수평 방향으로 RAS 라인이 걸린 경우, 블럭 b0를 페치한 다음, 블럭 b2, b1, b3 순으로 페치할 때마다 행어드레스를 변경시키는 단계; 수직 및 수평 방향으로 CAS 라인이 걸린 경우, 블럭 b0를 페치한 다음, 블럭 b2, b1, b3 순으로 페치할 때마다 열어드레스를 변경시키는 단계; 수직 방향으로 RAS 라인, 수평 방향으로 CAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 블럭 b0의 열어드레스를 변경하여 블럭 b2를 페치하고, 블럭 b0의 행어드레스를 변경하여 블럭 b1을 페치하고, 블럭 b1의 열어드레스를 변경하여 블럭 b3를 페치하는 단계; 수직 방향으로 CAS 라인, 수평 방향으로 RAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 블럭 b0의 행어드레스를 변경하여 블럭 b2를 페치하고, 블럭 b0의 열어드레스를 변경하여 블럭 b1을 페치하고, 블럭 b1의 행어드레스를 변경하여 블럭 b4를 페치하는 단계를 구비한다.Disclosed is a block state transition method when an address is generated in a frame memory used in a motion compensation device. In the block state transition method, when the position of the luminance blocks b0 to b3 of the macroblock predicted by the motion compensation is applied to the RAS line in the vertical and horizontal directions with respect to one frame, the block b0 is fetched, and then the blocks b2, changing the row address whenever fetching in the order of b1 and b3; If the CAS lines are hung in the vertical and horizontal directions, fetching the block b0 and then changing the dress every time it fetches in the order of blocks b2, b1, b3; When the RAS line in the vertical direction and the CAS line in the horizontal direction are hung, fetch block b0, fetch block b2 by changing the open address of block b0, fetch block b1 by changing the row address of block b0, Fetching block b3 by changing the open dress of block b1; When the CAS line in the vertical direction and the RAS line in the horizontal direction are hung, fetch block b0, fetch block b2 by changing the row address of block b0, fetch block b1 by changing the open address of block b0, Fetching block b4 by changing the row address of block b1.

Description

프레임 메모리에 있어서 어드레스 발생시 블럭상태 천이방법Block state transition method when address occurs in frame memory

본 발명은 움직임 보상장치용 프레임 메모리에 관한 것으로서, 특히 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위해 행 어드레스(row address;RA)와 열 어드레스(column address;CA)를 발생시킬 경우, 예측된 매크로블록의 1 프레임 내에서의 위치에 따라 독출해야 할 블럭들의 상태를 천이시키기 위한 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a frame memory for a motion compensator, particularly when generating a row address (RA) and a column address (CA) to read a predicted macroblock from the frame memory. The present invention relates to a method for transitioning states of blocks to be read according to a position within one frame of a macroblock.

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.

따라서 본 발명의 목적은 상술한 문제점을 해결하기 위하여, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위해 행 어드레스(row address;RA)와 열 어드레스(column address;CA)를 발생시킬 경우 소정의 RAS 박스 구조와 소정의 매크로블럭 구조를 갖는 1 프레임 내에서 예측된 매크로블록의 위치에 따라 독출해야 할 블럭들의 상태를 천이시키기 위한 방법을 제공하는데 있다.Accordingly, an object of the present invention is to solve the above-mentioned problems, in order to solve the above-mentioned problems, an area for storing reference image data when compensating for motion, an area for storing decoded image data for display, and a coded bitstream input to an image decoder. In a frame memory in which a region is implemented on one memory module, when a row address (RA) and a column address (CA) are generated to read a predicted macroblock from the frame memory, The present invention provides a method for transitioning states of blocks to be read according to a predicted position of a macroblock in one frame having a RAS box structure and a predetermined macroblock structure.

상기 목적을 달성하기 위하여 프레임 메모리에 있어서 어드레스 발생시 본 발명에 따른 블럭상태 천이방법은 각각 소정의 RAS 박스 구조와 소정의 매크로블록 구조를 가지는 1 프레임 분의 영상신호를 저장하는 제1 내지 제4프레임 저장영역으로 이루어진 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블럭의 휘도 블럭 b0 내지 블럭 b3의 위치가 상기 1 프레임에 대하여, 수직 및 수평 방향으로 RAS 라인이 걸린 경우, 블럭 b0를 페치한 다음, 블럭 b2, b1, b3 순으로 페치할 때마다 행어드레스를 변경시키는 단계; 수직 및 수평 방향으로 CAS 라인이 걸린 경우, 블럭 b0를 페치한 다음, 블럭 b2, b1, b3 순으로 페치할 때마다 열어드레스를 변경시키는 단계; 수직 방향으로 RAS 라인, 수평 방향으로 CAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b2를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b1을 페치하고, 상기 블럭 b1의 열어드레스를 변경하여 블럭 b3를 페치하는 단계; 수직 방향으로 CAS 라인, 수평 방향으로 RAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b2를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b1을 페치하고, 상기 블럭 b1의 행어드레스를 변경하여 블럭 b4를 페치하는 단계; 수평 방향으로만 RAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b2를 페치하는 단계; 수평 방향으로만 CAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b2를 페치하는 단계; 수직 방향으로만 RAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b1을 페치하는 단계; 및 수직 방향으로만 CAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b1을 페치하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a block state transition method according to the present invention when an address is generated in a frame memory includes first to fourth frames for storing an image signal of one frame each having a predetermined RAS box structure and a predetermined macroblock structure. In a frame memory consisting of a storage area, when the position of the luminance blocks b0 to b3 of the macroblock predicted by the motion compensation is RAS line in the vertical and horizontal directions with respect to the one frame, the block b0 is fetched. Changing the row address every time the blocks are fetched in the order of blocks b2, b1, and b3; If the CAS lines are hung in the vertical and horizontal directions, fetching the block b0 and then changing the dress every time it fetches in the order of blocks b2, b1, b3; When the RAS line in the vertical direction and the CAS line in the horizontal direction are hung, fetch block b0, fetch block b2 by changing the open address of the block b0, and fetch block b1 by changing the row address of the block b0. Fetching block b3 by changing the opening dress of block b1; When the CAS line in the vertical direction and the RAS line in the horizontal direction are hung, fetch block b0, fetch block b2 by changing the row address of block b0, and fetch block b1 by changing the open address of block b0. Fetching block b4 by changing the row address of block b1; Fetching the block b0 when the RAS line is hung only in the horizontal direction, and changing the row address of the block b0 to fetch the block b2; If the CAS line is hung only in the horizontal direction, fetching block b0, fetching block b2 by changing the open dress of block b0; If the RAS line is hung only in the vertical direction, fetching the block b0 and fetching the block b1 by changing the row address of the block b0; And fetching the block b0 when the CAS line is hung only in the vertical direction, and changing the open dress of the block b0 to fetch the block b1.

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

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

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

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

도 5는 도 3에 도시된 RAS 박스로 이루어지는 1 프레임내에서 예측된 매크로블록이 위치하는 경우의 수를 나타낸 도면,FIG. 5 is a diagram illustrating the number of cases where a predicted macroblock is located in one frame consisting of the RAS box shown in FIG.

도 6는 본 발명에 의한 어드레스 발생시 블럭상태 천이방법을 나타낸 상태도,6 is a state diagram showing a block state transition method when an address is generated according to the present invention;

도 7은 도 6에 도시된 블럭상태 천이방법이 실행되는 장치를 나타낸 블록도이다.FIG. 7 is a block diagram illustrating an apparatus in which the block state transition method illustrated in FIG. 6 is executed.

* 도면의 주요부분에 대한 부호의 설명* 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)가 된다. 여기서, 하나의 RAS 박스는 4 개 매크로블록*2개 매크로블록, 총 8 개의 매크로블록(MB0~MB7)으로 이루어진다. 그리고, 각 매크로블록은 휘도(Y) 블록을 예로 들 경우, 4개의 블록(b0~b3)로 나누어진다.FIG. 3 shows an example of a method for setting a RAS box for one frame in the frame memory 100 shown in FIG. 1. For example, when one frame includes 1,920 pixels * 1,088 pixels, 30 RAS boxes * 34 It is divided into RAS boxes, a total of 1,020 Row Address Strobe (RAS) boxes. That is, the number of the RAS box is the row address (RA) of the frame memory 100. Here, one RAS box is composed of four macroblocks * 2 macroblocks and a total of eight macroblocks MB0 to MB7. Each macroblock is divided into four blocks b0 to b3 when the luminance Y block is taken as an example.

도 4는 도 3에 도시된 RAS 박스에 있어서 매크로블록 구조의 예를 나타낸 것으로서, 4개의 휘도(Y) 블록, 1개의 색차(Cr) 블록 및 1개의 색차(Cb) 블록으로 구성되고, 4개의 휘도(Y) 블록은 각각 8개의 박스(b0-0~b0-7, b1-0~b1-7, b2-0~b2-7, b3-0~b3-7)로 구성되고, 2개의 색차(Cr,Cb) 블록은 각각 8개의 서브 박스(sb0-0~sb0-7, sb1-0~sb1-7, sb2-0~sb2-7, sb3-0~sb3-7)로 구성된다. 그리고, Y 블록을 구성하는 각 박스에는 8*1 포맷의 8개의 화소 데이터, Cr 블록을 구성하는 각 박스에는 2*1 포맷의 2개의 화소 데이터, Cb 블록을 구성하는 각 박스에는 2*1 포맷의 2개의 화소 데이터가 존재한다.FIG. 4 shows an example of a macroblock structure in the RAS box shown in FIG. 3, and includes four luminance (Y) blocks, one color difference (Cr) block, and one color difference (Cb) block. The luminance (Y) block consists of eight boxes (b0-0 to b0-7, b1-0 to b1-7, b2-0 to b2-7, and b3-0 to b3-7), respectively, and two color differences. The (Cr, Cb) block is composed of eight sub boxes (sb0-0 to sb0-7, sb1-0 to sb1-7, sb2-0 to sb2-7, sb3-0 to sb3-7), respectively. Then, 8 pixel data in 8 * 1 format for each box constituting the Y block, 2 pixel data in 2 * 1 format for each box constituting the Cr block, and 2 * 1 format for each box constituting the Cb block. There are two pixel data of.

도 3 및 도 4에 있어서, 열어드레스(CA[7:0])를 살펴보면, 하나의 RAS 박스내에서의 매크로블럭의 위치를 CA[7:5], 해당 매크로블럭 내에서의 블럭의 위치를 CA[4:3], 해당 블럭내에서의 박스의 위치를 CA[2:0]이라 한다. 또한, 1 프레임내에서 행어드레스가 변경되는 라인을 RAS(Row Address Strobe) 라인, 열어드레스가 변경되는 라인을 CAS(Column Address Strobe) 라인이라 한다.3 and 4, when the open dress CA [7: 0] is examined, the position of the macro block in one RAS box is CA [7: 5] and the position of the block in the macro block. CA [4: 3], the position of the box in the block is called CA [2: 0]. In addition, a line in which the row address is changed in one frame is called a RAS line, and a line in which the open address is changed is called a CAS (Column Address Strobe) line.

도 5는 도 3에 도시된 RAS 박스로 이루어지는 1 프레임내에서 예측된 매크로블록이 위치하는 경우의 수를 나타낸 도면으로서, 예측된 매크로블록을 구성하는 4개의 블럭(b0~b3)에 대하여 케이스 a는 수평 및 수직 방향으로 RAS 라인이 걸려 있는 경우, 케이스 b는 수평 및 수직 방향으로 CAS 라인이 걸려 있는 경우, 케이스 c는 수직 방향으로 RAS 라인, 수평 방향으로 CAS 라인이 걸려 있는 경우, 케이스 d는 수직 방향으로 CAS 라인, 수평 방향으로 RAS 라인이 걸려 있는 경우, 케이스 e1은 수평 방향으로만 RAS 라인이 걸려 있는 경우, 케이스 e2는 수평 방향으로만 CAS 라인이 걸려 있는 경우, 케이스 f1은 수직 방향으로만 RAS 라인이 걸려 있는 경우, 케이스 f2는 수직 방향으로만 CAS 라인이 걸려 있는 경우를 각각 나타낸다.FIG. 5 is a diagram illustrating the number of cases in which the predicted macroblocks are located in one frame including the RAS box shown in FIG. 3. The case a is illustrated for four blocks b0 to b3 constituting the predicted macroblocks. Is the case where the RAS line is hung in the horizontal and vertical directions, case b is the case where the CAS line is hung in the horizontal and vertical direction, case c is the case where the RAS line is hung in the vertical direction, and case d is If the CAS line is hung in the vertical direction and the RAS line is in the horizontal direction, the case e1 is hung in the horizontal direction only. If the case e2 is hung in the horizontal direction only, the case f1 is in the vertical direction. When only the RAS line is hanging, the case f2 shows the case where the CAS line is hanging only in the vertical direction.

도 6는 본 발명에 의한 어드레스 발생시 블럭상태 천이방법을 나타낸 상태도이다. 도 5에서와 같이 정의된 각 케이스에 대하여 이 상태도를 살펴 보면 다음과 같다.6 is a state diagram illustrating a method for transitioning a block state when an address is generated according to the present invention. This state diagram for each case defined as shown in FIG. 5 is as follows.

우선, 프레임 메모리(100)에 있어서 가상적인 메모리 맵에서는 RAS 라인과 CAS 라인이 존재하게 되어 실제적인 메모리 맵과 미스매칭(mismatching)이 일어나게 된다. 따라서, 움직임 보상하고자 하는 현재 매크로블록(MB)의 시작 어드레스, 즉 슬라이스 위치(slice_position) 및 매크로블록 위치(mb_position)와, 움직임 벡터(mv_v, mv_h)로 부터 예측된 매크로블록의 위치를 도 3과 같은 프레임 구조에서 찾고, 4개의 블럭(b0~b3)이 RAS 라인과 CAS 라인에 대해 어떠한 형태로 위치하고 있는지를 판단한다. 매크로블럭에 대하여 RAS 라인과 CAS 라인이 걸린 형태에 따라서, 한 매크로블럭 단위로 화소데이타를 페치할 경우 각 블럭을 페치하기 위한 어드레스를 변경시켜야만 한다.First, in the virtual memory map of the frame memory 100, the RAS line and the CAS line exist, so that the actual memory map and mismatching occur. Accordingly, the start address of the current macroblock MB to be compensated for motion, that is, the slice position (slice_position) and the macroblock position (mb_position), and the position of the macroblock predicted from the motion vectors mv_v and mv_h are shown in FIG. It finds in the same frame structure and determines how the four blocks b0 to b3 are located with respect to the RAS line and the CAS line. Depending on how the RAS line and the CAS line are applied to the macroblock, when fetching pixel data in units of one macroblock, the address for fetching each block must be changed.

예를 들어, 케이스 a에 있어서, 행어드레스(RA_1a)와 열어드레스(CA_1a)를 갖는 블럭 b0를 페치한 다음, 행어드레스(RA_1a)를 행어드레스(RA_2a)로 변경하여 블럭 b2를 페치한다. 다음, 행어드레스(RA_1a)를 행어드레스(RA_3a)로 변경하여 블럭 b3를 페치한 다음, 행어드레스(RA_3a)를 행어드레스(RA_4a)로 변경하여 블럭 b4를 페치한다. 즉, 케이스 a에서는 블럭 b0 이후, 블럭 b2, b1, b3 순으로 페치할 때마다 행어드레스를 변경시킨다.For example, in case a, block b0 having a row address RA_1a and an open address CA_1a is fetched, and then block b2 is fetched by changing the row address RA_1a to a row address RA_2a. Next, the block b3 is fetched by changing the row address RA_1a to the row address RA_3a, and the block b4 is fetched by changing the row address RA_3a to the row address RA_4a. That is, in case a, the row address is changed every time the block b0 is fetched in the order of blocks b2, b1, and b3.

케이스 b에 있어서, 행어드레스(RA_1b)와 열어드레스(CA_1b)를 갖는 블럭 b0를 페치한 다음, 열어드레스(CA_1b)를 열어드레스(CA_2b)로 변경하여 블럭 b2를 페치한다. 다음, 열어드레스(CA_1b)를 열어드레스(CA_3b)로 변경하여 블럭 b3를 페치한 다음, 열어드레스(CA_3b)를 열어드레스(CA_4b)로 변경하여 블럭 b4를 페치한다. 즉, 케이스 b에서는 블럭 b0 이후, 블럭 b2, b1, b3 순으로 페치할 때마다 열어드레스를 변경시킨다.In case b, the block b0 having the row address RA_1b and the open dress CA_1b is fetched, and then the block b2 is fetched by changing the open dress CA_1b to the open dress CA_2b. Next, the open dress CA_1b is changed to the open dress CA_3b to fetch the block b3, and then the open dress CA_3b to the open dress CA_4b to fetch the block b4. That is, in case b, the dress is changed every time the data is fetched after the block b0, and then the blocks b2, b1, and b3.

케이스 c에 있어서, 행어드레스(RA_1c)와 열어드레스(CA_1c)를 갖는 블럭 b0를 페치한 다음, 열어드레스(CA_1c)를 열어드레스(CA_2c)로 변경하여 블럭 b2를 페치한다. 다음, 행어드레스(RA_1c)를 행어드레스(RA_2c)로 변경하여 블럭 b1을 페치하고, 열어드레스(CA_1c)를 열어드레스(CA_2c)로 변경하여 블럭 b3을 페치한다.In case c, the block b0 having the row address RA_1c and the open dress CA_1c is fetched, and then the block b2 is fetched by changing the open dress CA_1c to the open dress CA_2c. Next, the block b1 is fetched by changing the row address RA_1c to the row address RA_2c, and the block b3 is fetched by changing the open dress CA_1c to the dress CA_2c.

케이스 d에 있어서, 행어드레스(RA_1c)와 열어드레스(CA_1c)를 갖는 블럭 b0를 페치한 다음, 행어드레스(RA_1d)를 행어드레스(RA_2d)로 변경하여 블럭 b2를 페치한다. 다음, 열어드레스(CA_1d)를 열어드레스(CA_2d)로 변경하여 블럭 b1을 페치하고, 행어드레스(RA_1d)를 행어드레스(RA_2d)로 변경하여 블럭 b3을 페치한다.In case d, the block b0 having the row address RA_1c and the open address CA_1c is fetched, and then the block b2 is fetched by changing the row address RA_1d to the row address RA_2d. Next, the open dress CA_1d is changed to the open dress CA_2d to fetch the block b1, and the row address RA_1d is changed to the row address RA_2d to fetch the block b3.

케이스 e1에 있어서, 행어드레스(RA_1e1)와 열어드레스(CA_1e1)를 갖는 블럭 b0를 페치한 다음, 행어드레스(RA_1e1)를 행어드레스(RA_2e1)로 변경하여 블럭 b2를 페치한다.In the case e1, the block b0 having the row address RA_1e1 and the open address CA_1e1 is fetched, and then the block b2 is fetched by changing the row address RA_1e1 to the row address RA_2e1.

케이스 e2에 있어서, 행어드레스(RA_1e2)와 열어드레스(CA_1e2)를 갖는 블럭 b0를 페치한 다음, 열어드레스(CA_1e2)를 열어드레스(CA_2e2)로 변경하여 블럭 b2를 페치한다.In case e2, the block b0 having the row address RA_1e2 and the open dress CA_1e2 is fetched, and then the block b2 is fetched by changing the open dress CA_1e2 to the open dress CA_2e2.

케이스 f1에 있어서, 행어드레스(RA_1f1)와 열어드레스(CA_1f1)를 갖는 블럭 b0를 페치한 다음, 행어드레스(RA_1f1)를 행어드레스(RA_2f1)로 변경하여 블럭 b1을 페치한다.In case f1, the block b0 having the row address RA_1f1 and the open address CA_1f1 is fetched, and then the block b1 is fetched by changing the row address RA_1f1 to the row address RA_2f1.

케이스 f2에 있어서, 행어드레스(RA_1f2)와 열어드레스(CA_1f2)를 갖는 블럭 b0를 페치한 다음, 열어드레스(CA_1f2)를 열어드레스(CA_2f2)로 변경하여 블럭 b1을 페치한다.In case f2, the block b0 having the row address RA_1f2 and the open dress CA_1f2 is fetched, and then the block b1 is fetched by changing the open dress CA_1f2 to the open dress CA_2f2.

한편, 상기 각 행어드레스와 각 열어드레스의 변경거리는 RAS 박스의 구조 혹은 매크로블럭의 구조에 따라 그 값이 달라진다.On the other hand, the change distance of each of the row address and each of the opening dress is different depending on the structure of the RAS box or the structure of the macro block.

도 7는 도 6에 도시된 블럭상태 천이방법이 실행되는 장치를 나타낸 블록도로서, 통상 메모리 제어부(200)에서 수행된다. 즉, 메모리 제어부(200)는 움직임 보상하고자 하는 픽쳐에 있어서 현재 매크로블록의 시작 어드레스, 움직임 벡터 및 각종 파라미터들을 입력하여, 참조하고자 하는 픽쳐의 해당 매크로블록을 블럭 단위 혹은 박스 단위로 페치하기 위한 어드레스를 어드레스 버스를 통해 프레임 메모리(100)로 인가한다. 이와 아울러, 프레임 메모리(100)의 쓰기 및 읽기 동작을 제어하기 위한 각종 제어신호들을 프레임 메모리(100)로 인가한다.FIG. 7 is a block diagram illustrating an apparatus in which the block state transition method of FIG. 6 is executed, and is typically performed by the memory controller 200. That is, the memory controller 200 inputs a start address, a motion vector, and various parameters of a current macroblock in a picture to be motion compensated, and fetches a corresponding macroblock of a picture to be referred to in units of blocks or boxes. Is applied to the frame memory 100 via the address bus. In addition, various control signals for controlling write and read operations of the frame memory 100 are applied to the frame memory 100.

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

상술한 바와 같이 본 발명에 따르면, 제1 내지 제4프레임 저장영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위해 행 어드레스와 열 어드레스를 발생시킬 경우 소정의 RAS 박스 구조와 소정의 매크로블럭 구조를 갖는 1 프레임 내에서 예측된 매크로블록의 위치에 따라 독출해야 할 블럭들의 상태를 천이시킬 수 있다.As described above, in the frame memory in which the first to fourth frame storage areas are implemented on one memory module, a row address and a column address are generated to read the predicted macroblock from the frame memory. In this case, the state of blocks to be read may be changed according to the predicted position of the macroblock in one frame having a predetermined RAS box structure and a predetermined macroblock structure.

Claims (3)

각각 소정의 RAS 박스 구조와 소정의 매크로블록 구조를 가지는 1 프레임 분의 영상신호를 저장하는 제1 내지 제4프레임 저장영역으로 이루어진 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블럭의 휘도 블럭 b0 내지 블럭 b3의 위치가 상기 1 프레임에 대하여,A frame memory comprising first to fourth frame storage areas for storing a video signal for one frame each having a predetermined RAS box structure and a predetermined macroblock structure, the luminance block b0 of the macroblock predicted by motion compensation. To the position of the block b3 with respect to the one frame, 수직 및 수평 방향으로 RAS 라인이 걸린 경우, 블럭 b0를 페치한 다음, 블럭 b2, b1, b3 순으로 페치할 때마다 행어드레스를 변경시키는 단계;When the RAS lines are caught in the vertical and horizontal directions, fetching the block b0, and then changing the row address every time the blocks b2, b1, and b3 are fetched; 수직 및 수평 방향으로 CAS 라인이 걸린 경우, 블럭 b0를 페치한 다음, 블럭 b2, b1, b3 순으로 페치할 때마다 열어드레스를 변경시키는 단계;If the CAS lines are hung in the vertical and horizontal directions, fetching the block b0 and then changing the dress every time it fetches in the order of blocks b2, b1, b3; 수직 방향으로 RAS 라인, 수평 방향으로 CAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b2를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b1을 페치하고, 상기 블럭 b1의 열어드레스를 변경하여 블럭 b3를 페치하는 단계;When the RAS line in the vertical direction and the CAS line in the horizontal direction are hung, fetch block b0, fetch block b2 by changing the open address of the block b0, and fetch block b1 by changing the row address of the block b0. Fetching block b3 by changing the opening dress of block b1; 수직 방향으로 CAS 라인, 수평 방향으로 RAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b2를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b1을 페치하고, 상기 블럭 b1의 행어드레스를 변경하여 블럭 b4를 페치하는 단계;When the CAS line in the vertical direction and the RAS line in the horizontal direction are hung, fetch block b0, fetch block b2 by changing the row address of block b0, and fetch block b1 by changing the open address of block b0. Fetching block b4 by changing the row address of block b1; 수평 방향으로만 RAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b2를 페치하는 단계;Fetching the block b0 when the RAS line is hung only in the horizontal direction, and changing the row address of the block b0 to fetch the block b2; 수평 방향으로만 CAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b2를 페치하는 단계;If the CAS line is hung only in the horizontal direction, fetching block b0, fetching block b2 by changing the open dress of block b0; 수직 방향으로만 RAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 행어드레스를 변경하여 블럭 b1을 페치하는 단계; 및If the RAS line is hung only in the vertical direction, fetching the block b0 and fetching the block b1 by changing the row address of the block b0; And 수직 방향으로만 CAS 라인이 걸려 있는 경우, 블럭 b0를 페치하고, 상기 블럭 b0의 열어드레스를 변경하여 블럭 b1을 페치하는 단계를 포함하는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 발생시 블럭상태 천이방법.And fetching block b0 if the CAS line is hung only in the vertical direction, and changing the open dress of the block b0 to fetch block b1. 제 1 항에 있어서, 상기 각 행어드레스와 각 열어드레스의 변경거리는 상기 RAS 박스의 구조에 따라 달라지는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 발생시 블럭상태 천이방법.2. The method of claim 1, wherein a change distance between each row address and each open address varies depending on the structure of the RAS box. 제 1 항에 있어서, 상기 각 행어드레스와 각 열어드레스의 변경거리는 상기 매크로블럭의 구조에 따라 달라지는 것을 특징으로 하는 프레임 메모리에 있어서 어드레스 발생시 블럭상태 천이방법.The method of claim 1, wherein a change distance between each row address and each open address varies according to the structure of the macroblock.
KR1019970022365A 1997-05-31 1997-05-31 Method for transitioning block status during address generation in a frame memory KR100226702B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970022365A KR100226702B1 (en) 1997-05-31 1997-05-31 Method for transitioning block status during address generation in a frame memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970022365A KR100226702B1 (en) 1997-05-31 1997-05-31 Method for transitioning block status during address generation in a frame memory

Publications (2)

Publication Number Publication Date
KR19980086106A KR19980086106A (en) 1998-12-05
KR100226702B1 true KR100226702B1 (en) 1999-10-15

Family

ID=19508123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970022365A KR100226702B1 (en) 1997-05-31 1997-05-31 Method for transitioning block status during address generation in a frame memory

Country Status (1)

Country Link
KR (1) KR100226702B1 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH0865685A (en) Motion vector detecting circuit
KR100226702B1 (en) Method for transitioning block status during address generation in a frame memory
KR100226703B1 (en) Method for calculating address distances in a frame memory
KR100248653B1 (en) Method for transitioning a state of blocks during address generation in a frame memory
KR100226704B1 (en) Method for calculating address distances in a frame memory
KR100243472B1 (en) Method for reading a field-pictured macroblock in a frame memory
KR19990026427A (en) Motion vector distance calculation method in frame memory
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
KR100226705B1 (en) Method for transitioning a frame memory during address generation and apparatus using the same
KR100243469B1 (en) Address generator in frame memory
KR100237486B1 (en) Apparatus for rearranging data output from a frame memory
KR100269427B1 (en) Method for generating address in a frame memory
KR19990005602A (en) Dual Prime Field Prediction Method in Frame Memory
KR19990032813A (en) Address distance calculation method in frame memory
KR100243471B1 (en) Address generator in frame memory
KR100243479B1 (en) Rearrange apparatus of output data of frame memory
KR100235488B1 (en) Apparatus for rearranging data output from a frame memory according to scanning pattern of 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
KR100269425B1 (en) Apparatus for rearranging data output from 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
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
KR19990026422A (en) Output data rearrangement device according to scan type of frame memory
KR19990005601A (en) The address distance calculation method in the frame memory
KR19990005576A (en) The address distance calculation method in the frame memory
KR19980086111A (en) In the frame memory for a motion compensation apparatus, an RAS box position calculating circuit

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