KR19990026427A - Motion vector distance calculation method in frame memory - Google Patents
Motion vector distance calculation method in frame memory Download PDFInfo
- Publication number
- KR19990026427A KR19990026427A KR1019970048533A KR19970048533A KR19990026427A KR 19990026427 A KR19990026427 A KR 19990026427A KR 1019970048533 A KR1019970048533 A KR 1019970048533A KR 19970048533 A KR19970048533 A KR 19970048533A KR 19990026427 A KR19990026427 A KR 19990026427A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- macroblock
- reference point
- frame memory
- picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 239000013598 vector Substances 0.000 title claims abstract description 33
- 238000004364 calculation method Methods 0.000 title abstract description 5
- 101100025317 Candida albicans (strain SC5314 / ATCC MYA-2876) MVD gene Proteins 0.000 claims abstract description 11
- 101150079299 MVD1 gene Proteins 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 abstract description 12
- 101150020780 MVD2 gene Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 움직임 보상장치에 사용되는 프레임 메모리에 있어서 움직임 벡터 거리 산출방법에 관한 것이다.The present invention relates to a motion vector distance calculation method in a frame memory used in a motion compensation device.
이러한 본 발명의 방법은, 1 프레임이 복수개의 RAS 박스로 이루어지며, 상기 RAS 박스는 8 매크로블록 * 1 매크로블록 포맷의 8개의 매크로블록(MB0~MB7)로 이루어지는 프레임 메모리(100)에 있어서, 예측된 매크로블록의 기준 포인트에 따라 점프 어드레스에 대응하는 움직임 벡터 거리(MVD)를 구하기 위하여, 기준 포인트의 위치를 판단하는 단계와 각 기준 포인트의 위치에 따라 제1 내지 제5 움직임 벡터 거리(MVD1~MVD5)를 블록위치와 매크로블록 위치로부터 유추하여 산출하는 단계로 이루어져, 예측된 매크로블록의 기준 포인트의 위치에 따라서 수평 혹은 수직 방향의 복수개의 움직임 벡터 거리를 산출할 수 있다.In the method of the present invention, one frame includes a plurality of RAS boxes, and the RAS box includes 8 macroblocks (MB0 to MB7) of 8 macroblocks * 1 macroblock format. In order to obtain the motion vector distance MVD corresponding to the jump address according to the predicted macroblock reference point, determining the position of the reference point and the first to fifth motion vector distances MVD1 according to the position of each reference point. MVD5) is inferred from the block position and the macroblock position to calculate a plurality of motion vector distances in the horizontal or vertical direction according to the position of the reference point of the predicted macroblock.
Description
본 발명은 움직임 보상장치용 프레임 메모리에 관한 것으로서, 특히 필드 구조의 프레임 메모리에 있어서 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로부터 읽어오기 위하여 기준 포인트를 근거로 한 복수개의 움직임 벡터 거리를 산출하는 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a frame memory for a motion compensation device, and more particularly, to calculate a plurality of motion vector distances based on a reference point in order to read a macroblock predicted by motion compensation from a frame memory in a field structure frame memory. It is about a method.
MPEG(Moving Picture Experts Group)-2 표준안에 사용되는 움직임 보상기술은 매크로블록 단위로 시간적으로 인접한 두 화면간의 움직임을 추정하여 보상함으로써 시간적 중복성(temporal redundancy)을 줄이기 위한 것이다. 즉, 움직임 추정 및 보상과정에서는 인접한 영상과 현재 영상을 비교하여 물체의 움직임에 관한 정보인 움직임 벡터를 검출해 내고, 이 움직임 벡터를 이용하여 현재 영상을 예측해 낸다.The motion compensation technique used in the Moving Picture Experts Group (MPEG) -2 standard is to reduce temporal redundancy by estimating and compensating for motion between two adjacent temporal pictures in macroblock units. That is, in the motion estimation and compensation process, a neighboring image is compared with the current image to detect a motion vector, which is information about an object's motion, and the current image is predicted using the motion vector.
이러한 움직임 보상기술을 이용하는 MPEG-2 영상 복호화기(video encoder)에 있어서, P 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 또는 P 픽쳐를 기준으로 하여 순방향 움직임 보상을 수행하고, B 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 기준으로 하여 순방향 움직임 보상, 역방향 움직임 보상 및 보간형 움직임 보상을 수행하여 얻은 움직임 보상 블록 중 최선의 것을 선택한다.In an MPEG-2 video encoder using such a motion compensation technique, the P picture performs forward motion compensation on the basis of the I picture or P picture of the previous picture with respect to the current picture, and the B picture performs the current picture. The best one is selected from among motion compensation blocks obtained by performing forward motion compensation, reverse motion compensation, and interpolated motion compensation based on the I picture or P picture of the previous picture and the I picture or P picture of the next picture.
프레임 메모리는 이와 같이 움직임 보상을 위한 참조영상인 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 저장하기 위하여 사용된다. 또한, 프레임 메모리는 MPEG-2 영상 복호화기에 있어서 복호화 순서와 디스플레이 순서가 서로 다른 관계로, 복호화가 완료된 픽쳐를 일시적으로 저장한 다음 디스플레이 순서에 맞게 독출하기 위하여 사용된다.The frame memory is used to store the I picture or P picture of the previous picture and the I picture or P picture of the next picture as the reference picture for motion compensation. In addition, the frame memory is used to temporarily store the decoded picture and read out the display order in a MPEG-2 video decoder because the decoding order and the display order are different from each other.
그러나, 상기한 바와 같은 프레임 메모리는 I 픽쳐와 P 픽쳐 혹은 P 픽쳐와 P 픽쳐간의 거리(M)에 따라 적어도 3 프레임 분의 영상 데이터를 저장할 수 있는 용량을 가져야 하므로 그 가격이 비싸고, 따라서 전체 영상 복호화기의 가격을 상승시키는 요인이 될 뿐 아니라, 복호화 완료 이후 디스플레이까지의 지연시간이 증가하는 문제점이 있었다.However, the frame memory as described above has a capacity to store at least three frames of image data according to the I picture and the P picture or the distance M between the P picture and the P picture, and therefore, the price is expensive, and thus, the entire picture. In addition to raising the price of the decoder, there is a problem that the delay time from the completion of decoding to the display increases.
이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로부터 읽어오기 위해 예측된 매크로블록의 기준 포인트의 위치에 따라서 기준 포인트를 근거로 한 복수개의 움직임 벡터 거리 산출방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, and includes a region for storing reference image data, a region for storing decoded image data for display, and an encoded bitstream input to an image decoder. A frame memory in which an area to be stored is implemented on one memory module, comprising: a plurality of frames based on a reference point according to a position of a reference point of a macroblock predicted to read a macroblock predicted by motion compensation from a frame memory The purpose of the present invention is to provide a method of calculating the distance of a dog vector.
상기와 같은 목적을 제공하기 위한 본 발명의 장치는, 1 프레임은 복수개의 RAS 박스로 이루어지며, 상기 RAS 박스는 8 매크로블록 * 1 매크로블록 포맷의 8개의 매크로블록(MB0~MB7)로 이루어지는 프레임 메모리에 있어서, 예측된 매크로블록의 기준 포인트를 산출하는 단계, 기준 포인트가 위치하는 블록을 판단하는 단계, 및 기준 포인트가 위치하는 블록에 따라 제1 내지 제5 움직임 벡터 거리(MVD1~MVD5)를 산출하는 단계를 포함하는 것을 특징으로 한다.In the apparatus of the present invention for providing the above object, one frame is composed of a plurality of RAS boxes, the RAS box is a frame consisting of eight macroblocks (MB0 ~ MB7) of 8 macroblocks * 1 macroblock format In the memory, calculating a reference point of the predicted macroblock, determining a block in which the reference point is located, and determining the first to fifth motion vector distances MVD1 to MVD5 according to the block in which the reference point is located. It characterized in that it comprises the step of calculating.
도 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 박스에 있어서 매크로블록 구조의 예를 나타낸 도면,4 is a view showing an example of a macroblock structure in the RAS box shown in FIG.
도 5는 도 3 및 도 4와 같은 구조의 프레임 메모리에 있어서 예측된 매크로블록이 위치하는 블록에 따른 각 움직임 벡터의 수평 및 수직 거리를 나타낸 도면,FIG. 5 is a diagram illustrating horizontal and vertical distances of each motion vector according to a block in which a predicted macroblock is located in a frame memory having the structure shown in FIGS. 3 and 4;
도 6은 본 발명에 의한 움직임 벡터 거리 산출방법을 설명하는 흐름도이다.6 is a flowchart illustrating a motion vector distance calculation method according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
100 : 프레임 메모리100: frame memory
100-1~100-4 : 제1 내지 제4프레임 저장영역100-1 to 100-4: First to fourth frame storage areas
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예에 대하여 자세히 살펴보기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에서 채택한 프레임 메모리의 구조를 나타낸 것으로서, 프레임 메모리(100)는 복원된 영상 데이터 쓰기 동작, 움직임 보상을 위한 데이터 읽기 동작, 디스플레이를 위한 데이터 읽기 동작이 메모리 제어부(미도시)에 의해 제어된다. 프레임 메모리(100)는 뱅크 1과 뱅크 2의 두 개의 메모리 뱅크를 가지며, 뱅크 1에는 제1 및 제2프레임 저장영역(100-1,100-2)이 있고, 뱅크 2에는 제3 및 제4프레임 저장영역(100-3,100-4)이 있다. 여기서, 제1 내지 제4프레임 저장영역(100-1,100-2,100-3,100-4)은 각각 1 프레임 분량의 화소 데이터를 저장할 수 있는 용량을 가지며, 제1 내지 제4프레임 저장영역(100-1,100-2,100-3,100-4)은 각각 1,024 개의 행 어드레스(row address)를 가지고, 256워드(여기서, 1워드는 8비트)의 열 어드레스(column address)를 가진다. 그리고, 하나의 어드레스에는 8개의 Y 화소, 2개의 Cr 화소 및 2 개의 Cb 화소, 총 12 화소 데이터가 저장된다. 여기서, 1,024 개의 행 어드레스는 RAS 박스의 번호를 의미한다. 그리고, 256워드의 열 어드레스는 하나의 RAS 박스당 8개의 매크로블록*한개의 매크로블록당 32개의 박스(=256 박스)에 의해 나온 것이다.1 illustrates a structure of a frame memory adopted in the present invention, in which the frame memory 100 includes a restored image data write operation, a data read operation for motion compensation, and a data read operation for display to a memory controller (not shown). Is controlled by The frame memory 100 has two memory banks, bank 1 and bank 2, bank 1 has first and second frame storage areas 100-1 and 100-2, and bank 2 stores third and fourth frames. There are regions 100-3 and 100-4. Here, the first to fourth frame storage areas 100-1, 100-2, 100-3, and 100-4 have a capacity for storing pixel data of one frame, respectively, and the first to fourth frame storage areas 100-1, 100-. 2,100-3 and 100-4 each have 1,024 row addresses, and have a column address of 256 words (where 1 word is 8 bits). One address stores eight Y pixels, two Cr pixels, two Cb pixels, and a total of 12 pixel data. Here, 1,024 row addresses mean the number of RAS boxes. The 256-word column address is derived by eight macroblocks per one RAS box * 32 boxes per macroblock (= 256 boxes).
한편, 프레임 메모리(100)의 실제 물리적인 행 어드레스(physical row address)는 제1 내지 제4프레임 저장영역(100-1~100-4)에 대하여 각각 000H~ 3FFH, 400H~ 7FFH, 800H~ BFFH, C00H~ FFFH로 할당된다. 그러나, 제1 내지 제4프레임 저장영역(100-1~100-4)은 각각 독립적으로 존재하며, 제1프레임 저장영역(100-1)의 소정 행 어드레스에 위치한 매크로블록에 대응하는 제2 및 제3프레임 저장영역(100-2,100-3)의 매크로블록은 동일한 행 어드레스를 가진다. 이와 같이, 제1 내지 제3프레임 저장영역(100-1~100-3) 내에서의 행 어드레스를 가상적인 행 어드레스(virtual row address)라 한다. 그리고, 움직임 보상시 도 2에 도시된 바와 같은 프레임 메모리(100)의 스케쥴링 순서에 의거하여, 참조 영상이 위치한 해당 저장영역에서의 가상적인 행 어드레스를 물리적인 행 어드레스로 변환시키는데 사용되는 어드레스를 프레임 옵셋 어드레스(frame offset address)라 하며, RA[11:10]라 둔다. 즉, RA[11:10]이 '00'이면 제1프레임 저장영역(100-1), '01'이면 제2프레임 저장영역(100-2), '10'이면 제3프레임 저장영역(100-3), '11'이면 제4프레임 저장영역(100-4)을 각각 나타낸다.The actual physical row address of the frame memory 100 is 000 H to 3FF H , 400 H to 7FF H for the first to fourth frame storage areas 100-1 to 100-4, respectively. , 800 H to BFF H and C00 H to FFF H. However, the first to fourth frame storage regions 100-1 to 100-4 exist independently, and the second and fourth frames corresponding to the macroblocks located at predetermined row addresses of the first frame storage region 100-1 are respectively provided. The macroblocks of the third frame storage areas 100-2 and 100-3 have the same row address. As such, the row address in the first to third frame storage areas 100-1 to 100-3 is referred to as a virtual row address. Then, based on the scheduling order of the frame memory 100 as shown in FIG. 2 during motion compensation, an address used to convert a virtual row address in a corresponding storage area in which a reference image is located into a physical row address is framed. It is called the frame offset address and is called RA [11:10]. That is, if RA [11:10] is '00', the first frame storage area 100-1, if '01', the second frame storage area 100-2, and if the '10', the third frame storage area 100 -3) and '11' indicate the fourth frame storage areas 100-4, respectively.
여기서, 제1 및 제2프레임 저장영역(100-1,100-2)은 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이하기 위하여 저장하는데 사용되고, 제3프레임 저장영역(100-3)은 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이하기 위하여 저장하는데 사용되고, 제4프레임 저장영역(100-4)은 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는데 사용된다.Here, the first and second frame storage areas 100-1 and 100-2 are used to store reconstructed I-picture or motion-compensated P-picture image data for use as a reference image for motion compensation and simultaneously for display. The three-frame storage area 100-3 is used to store the motion compensated B-picture image data, and the fourth frame storage area 100-4 stores the encoded bitstream input to the image decoder in units of predetermined bits. Used to save.
도 2는 도 1에 도시된 프레임 메모리(100)의 스케쥴링 순서를 나타낸 것으로서, 복호화 순서가 I,P,B,B,P,B,B,P,B,B,P,B,B,I,P,B,B,... 이고, 디스플레이 순서가 I,B,B,P,B,B,P,B,B,P,B,B,P,I,B,B,... 이고, 디스플레이 잠복기(display latency)가 2 픽쳐인 경우를 예로 든 것이다. 여기서, 밑줄이 그어져 있는 부분이 현재 복호화되고 있는 픽쳐를 나타내고, 화살표는 움직임 보상을 위해 참조되는 픽쳐를 나타내고, 'D'가 부가되어 있는 저장영역은 디스플레이를 위해 영상 데이터가 페치되고 있음을 나타낸다.FIG. 2 shows a scheduling order of the frame memory 100 shown in FIG. 1, and the decoding order is I, P, B, B, P, B, B, P, B, B, P, B, B, I. , P, B, B, ... and the display order is I, B, B, P, B, B, P, B, B, P, B, B, P, I, B, B, ... For example, the display latency is 2 pictures. Here, the underlined portion indicates the picture currently being decoded, the arrow indicates the picture to be referred for motion compensation, and the storage area to which 'D' is added indicates that image data is fetched 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 박스는 8 개 매크로블록*1개 매크로블록, 총 8 개의 매크로블록(MB0~MB7)으로 이루어진다. 그리고, 각 매크로블록은 휘도(Y) 블록을 예로 들 경우, 4개의 블록(b0~b3)으로 나누어진다.FIG. 3 shows an example of a method for setting a RAS box for one frame in the frame memory 100 shown in FIG. 1. For example, when one frame includes 1,920 pixels * 1,088 pixels, 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 eight macroblocks * 1 macroblocks and a total of eight macroblocks MB0 to MB7. Each macroblock is divided into four blocks b0 to b3 when the luminance Y block is taken as an example.
도 4는 도 3에 도시된 RAS 박스에 있어서 매크로블록 구조의 예를 나타낸 것으로서, 4개의 휘도(Y) 블록(b0~b3), 1개의 색차(Cr) 블록 및 1개의 색차(Cb) 블록으로 구성되고, 4개의 휘도(Y) 블록은 각각 8개의 박스(b0-0~b0-7, b1-0~b1-7, b2-0~b2-7, b3-0~b3-7)로 구성되고, 2개의 색차(Cr,Cb) 블록은 각각 8개의 서브 박스(sb0-0~sb0-7, sb1-0~sb1-7, sb2-0~sb2-7, sb3-0~sb3-7)로 구성된다. 그리고, Y 블록을 구성하는 각 박스에는 8*1 포맷의 8개의 화소 데이터, Cr 블록을 구성하는 각 박스에는 2*1 포맷의 2개의 화소 데이터, Cb 블록을 구성하는 각 박스에는 2*1 포맷의 2개의 화소 데이터가 존재한다.FIG. 4 shows an example of a macroblock structure in the RAS box shown in FIG. 3, with four luminance (Y) blocks b0 to b3, one color difference (Cr) block, and one color difference (Cb) block. Four luminance (Y) blocks are composed of eight boxes (b0-0 to b0-7, b1-0 to b1-7, b2-0 to b2-7, and b3-0 to b3-7), respectively. Each of the two color difference (Cr, Cb) blocks has eight sub boxes (sb0-0 to sb0-7, sb1-0 to sb1-7, sb2-0 to sb2-7, and sb3-0 to sb3-7). It consists of. Then, 8 pixel data in 8 * 1 format for each box constituting the Y block, 2 pixel data in 2 * 1 format for each box constituting the Cr block, and 2 * 1 format for each box constituting the Cb block. There are two pixel data of.
도 3 및 도 4에 있어서, 열어드레스(CA[7:0])를 살펴보면, 하나의 RAS 박스내에서의 매크로블록의 위치를 CA[7:5], 해당 매크로블록 내에서의 블록의 위치를 CA[4:3], 해당 블록내에서의 박스의 위치를 CA[2:0]이라 하고, 해당 박스 내에서의 화소의 위치를 화소 어드레스 PA[2:0]라 한다. 또한, 1 프레임내에서 행어드레스가 변경되는 라인을 RAS(Row Address Strobe) 라인, 열어드레스가 변경되는 라인을 CAS(Column Address Strobe) 라인이라 한다.3 and 4, when looking at the open dress CA [7: 0], the position of the macroblock in one RAS box is CA [7: 5] and the position of the block in the macroblock. CA [4: 3], the position of the box in the block is called CA [2: 0], and the position of the pixel in the box is called the pixel address PA [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는 움직임 보상하고자 하는 현재 매크로블록의 시작 어드레스 즉, 슬라이스 위치(slice-position) 및 매크로블록 위치(mb-position)와, 수직 및 수평 움직임 벡터로부터 예측된 매크로블록(MBp)이 위치하는 블록에 따른 각 움직임 벡터의 수평 및 수직 거리를 나타낸 것이다.5 is a block in which a start address of a current macroblock to be motion compensated, that is, a slice position and a macroblock position (mb-position), and a macroblock MBp predicted from vertical and horizontal motion vectors are located. It shows the horizontal and vertical distance of each motion vector according to.
도 6은 본 발명에 따른 움직임 벡터 거리 산출방법을 나타낸 흐름도로서, 예측된 매크로블록(MB)의 기준 포인트 산출단계(제61단계), 기준 포인트가 위치하는 블록에 따라서 움직임 벡터 거리를 산출하는 단계(제62 내지 제69단계)로 이루어진다.6 is a flowchart illustrating a method of calculating a motion vector distance according to the present invention, wherein the reference point calculation step (step 61) of the predicted macroblock MB is performed, and the motion vector distance is calculated according to the block in which the reference point is located. (62th to 69th steps).
다음, 본 발명에 따른 움직임 벡터 거리 산출방법을 도 5 및 도 6을 참조하여 설명하기로 한다.Next, a motion vector distance calculation method according to the present invention will be described with reference to FIGS. 5 and 6.
먼저, 본 발명의 방법은 움직임 보상에 의해 예측된 매크로블록의 기준포인트를 예측에 사용된 매크로블록의 슬라이스 위치 및 매크로블록 위치와 움직임 벡터에 의해 산출하고(제61단계), 프레임 메모리(100)에서 예측된 매크로블록의 기준 포인트가 위치하는 블록을 판단한다(제62,64,66,68단계). 기준포인트의 위치에 따른 각 경우에 대하여 살펴보면 다음과 같다.First, the method of the present invention calculates the reference point of the macroblock predicted by the motion compensation based on the slice position and the macroblock position and the motion vector of the macroblock used for the prediction (step 61), and the frame memory 100 In operation 62, 64, 66, and 68, the block in which the reference point of the predicted macroblock is located is determined. Looking at each case according to the position of the reference point as follows.
첫째, 예측된 매크로블록(MBp)의 기준포인트가 도 5에 도시된 케이스 a와 같이 블록(b0)에 위치한 경우에는, 기준포인트(RP)를 근거로 하여 다음과 같이 제1 내지 제5 움직임벡터거리(MVD1~MVD5)를 구한다(제63단계).First, when the reference point of the predicted macroblock MBp is located in the block b0 as shown in case a shown in FIG. 5, the first to fifth motion vectors are as follows based on the reference point RP. The distances MVD1 to MVD5 are obtained (step 63).
MVD1 = RP + xMVD1 = RP + x
MVD2 = RP + (x + x') = RP + mv_h(inc)MVD2 = RP + (x + x ') = RP + mv_h (inc)
MVD3= RP + yMVD3 = RP + y
MVD4 = RP + x + yMVD4 = RP + x + y
MVD5= RP + y + x + x' = RP + mv_h(inc) + yMVD5 = RP + y + x + x '= RP + mv_h (inc) + y
둘째, 케이스 b와 같이 예측된 매크로블록(MBp)의 기준포인트가 블록(b1)에 위치한 경우로서, 기준포인트(RP)를 근거로 하여 다음과 같이 제1 내지 제5 움직임벡터거리(MVD1~MVD5)를 구한다(제65단계).Second, when the reference point of the macroblock MBp predicted as in case b is located in the block b1, the first to fifth motion vector distances MVD1 to MVD5 as follows based on the reference point RP. (Step 65).
MVD1 = RP + x'MVD1 = RP + x '
MVD2 = RP + (x + x') = RP + mv_h(inc)MVD2 = RP + (x + x ') = RP + mv_h (inc)
MVD3= RP + yMVD3 = RP + y
MVD4 = RP + x' + yMVD4 = RP + x '+ y
MVD5= RP + y + x + x' = RP + mv_h(inc) + yMVD5 = RP + y + x + x '= RP + mv_h (inc) + y
셋째, 케이스 c와 같이 예측된 매크로블록(MBp)의 기준포인트가 블록(b2)에 위치한 경우로서, 기준포인트(RP)를 근거로 하여 다음과 같이 제1 내지 제5 움직임벡터거리(MVD1~MVD5)를 구한다(제67단계).Third, when the reference point of the macroblock MBp predicted as in case c is located in the block b2, the first to fifth motion vector distances MVD1 to MVD5 as follows based on the reference point RP. (Step 67).
MVD1 = RP + xMVD1 = RP + x
MVD2 = RP + (x + x') = RP + mv_h(inc)MVD2 = RP + (x + x ') = RP + mv_h (inc)
MVD3= RP + y'MVD3 = RP + y '
MVD4 = RP + x + y'MVD4 = RP + x + y '
MVD5= RP + y' + x + x' = RP + mv_h(inc) + y'MVD5 = RP + y '+ x + x' = RP + mv_h (inc) + y '
넷째, 케이스 d와 같이 예측된 매크로블록(MBp)의 기준포인트가 블록(b3)에 위치한 경우로서, 기준포인트(RP)를 근거로 하여 다음과 같이 제1 내지 제5 움직임벡터거리(MVD1~MVD5)를 구한다(제69단계).Fourth, when the reference point of the macroblock MBp predicted as in case d is located in the block b3, the first to fifth motion vector distances MVD1 to MVD5 as follows based on the reference point RP. (Step 69).
MVD1 = RP + x'MVD1 = RP + x '
MVD2 = RP + (x + x') = RP + mv_h(inc)MVD2 = RP + (x + x ') = RP + mv_h (inc)
MVD3= RP + y'MVD3 = RP + y '
MVD4 = RP + x' + y'MVD4 = RP + x '+ y'
MVD5= RP + y' + x + x' = RP + mv_h(inc) + y'MVD5 = RP + y '+ x + x' = RP + mv_h (inc) + y '
상기 케이스 a 내지 d에 있어서, x를 살펴보면In the cases a to d, look at x
blki+1= blki+ 1 로 나타낼 수 있으므로, 수평 움직임 벡터 mv_h(3)을 1 증가시킨 값이 되고, x'를 살펴보면Since blk i + 1 = blk i + 1, the horizontal motion vector mv_h (3) is increased by one.
blki+1= blki- 1 , MBi+1= MBi+ 1 로 나타낼 수 있으므로, 수평 움직임 벡터 mv_h(3)을 1 감소시키고 수평 움직임 벡터 mv_h(9:4)를 1 증가시킨 값이 된다. 그리고 y를 살펴보면Since blk i + 1 = blk i -1 and MB i + 1 = MB i + 1, the horizontal motion vector mv_h (3) is decreased by 1 and the horizontal motion vector mv_h (9: 4) is increased by one. do. And look at y
blki+1= blki+ 2 로 나타낼 수 있으므로, 수직 움직임 벡터 mv_v(3)을 1 증가시킨 값이 되고, y'를 살펴보면Since blk i + 1 = blk i + 2, the vertical motion vector mv_v (3) is increased by one. Looking at y ',
blki+1= blki- 2 , MBi+1= MBi+ 120 로 나타낼 수 있으므로, 수직 움직임 벡터 mv_v(3)을 1 감소시키고, 수직 움직임 벡터 mv_v(5:4)를 1 증가시킨 값이 된다.Since blk i + 1 = blk i -2 and MB i + 1 = MB i + 120, the vertical motion vector mv_v (3) is decreased by 1 and the vertical motion vector mv_v (5: 4) is increased by one. Becomes
여기서,here,
x + x' : mv_hi+1= mv_hi+ 1 이고, 이를 수평 움직임 벡터 mv_h(9:4)의 증가분, 즉 mv_h(inc)로 나타낸다. 또한,x + x ': mv_h i + 1 = mv_h i + 1, which is represented by an increment of the horizontal motion vector mv_h (9: 4), that is, mv_h (inc). Also,
y + y' : mv_vi+1= mv_vi+ 120 이고, 이를 수직 움직임 벡터 mv_v(5:4)의 증가분, 즉 mv_v(inc)로 나타낸다.y + y ': mv_v i + 1 = mv_v i +120, which is represented by an increment of the vertical motion vector mv_v (5: 4), that is, mv_v (inc).
한편, 상기한 상세한 설명은 여기에 제시된 특정의 실시예를 설명하고자 한 것이며, 본 발명을 한정하려는 의도는 아니다. 당업자라면, 상기한 상세한 설명 및 도면을 참조하여 본 발명의 기술적 사상내에서 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프레임 저장영역이 하나의 메모리 모듈 상에 구현되며, 필드 구조의 프레임 메모리에 있어서, 현재 매크로블록의 시작 어드레스와 움직임 벡터에 의해 예측된 매크로블록을 프레임 메모리로부터 읽어오기 위해 예측된 매크로블록의 기준 포인트의 위치에 따라서 수평 혹은 수직 방향의 복수개의 움직임 벡터 거리를 산출할 수 있다.As described above, in the method of the present invention, the first to fourth frame storage regions are implemented on one memory module, and in a frame memory having a field structure, the method is predicted by a start address and a motion vector of a current macroblock. A plurality of motion vector distances in the horizontal or vertical direction may be calculated according to the position of the reference point of the macroblock predicted to read the macroblock from the frame memory.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970048533A KR19990026427A (en) | 1997-09-24 | 1997-09-24 | Motion vector distance calculation method in frame memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970048533A KR19990026427A (en) | 1997-09-24 | 1997-09-24 | Motion vector distance calculation method in frame memory |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR19990026427A true KR19990026427A (en) | 1999-04-15 |
Family
ID=66045414
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1019970048533A Withdrawn KR19990026427A (en) | 1997-09-24 | 1997-09-24 | Motion vector distance calculation method in frame memory |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR19990026427A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020043099A (en) * | 2000-12-01 | 2002-06-08 | 이계안 | Starting system for fabricating severe cold starting |
-
1997
- 1997-09-24 KR KR1019970048533A patent/KR19990026427A/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020043099A (en) * | 2000-12-01 | 2002-06-08 | 이계안 | Starting system for fabricating severe cold starting |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR19990026427A (en) | Motion vector distance calculation method in frame memory | |
| KR100226703B1 (en) | Method for calculating address distances in a frame memory | |
| KR100226704B1 (en) | Address distance calculation method in frame memory | |
| KR100269427B1 (en) | How addresses occur in frame memory | |
| KR100243478B1 (en) | Motion Vector Compensation Method for Address Generation for Prediction Macroblock with Half Pixel in Frame Memory | |
| KR100255795B1 (en) | Reference Point Compensation Method for Address Generation for Predicted Macroblock with Half-pixel in Frame Memory | |
| KR100226702B1 (en) | Block state transition method when address occurs in frame memory | |
| KR100243472B1 (en) | Method for reading a field-pictured macroblock in a frame memory | |
| KR19990032813A (en) | Address distance calculation method in frame memory | |
| KR100243477B1 (en) | Display address generator in frame memory | |
| KR100235485B1 (en) | Reference Point Compensation Method and Circuit in Address Generation for Predicted Macroblock in Frame Memory | |
| KR19990005602A (en) | Dual Prime Field Prediction Method in Frame Memory | |
| KR100248653B1 (en) | Method for transitioning a state of blocks during address generation in a frame memory | |
| KR100243471B1 (en) | Address generator in frame memory | |
| KR100226705B1 (en) | Method for transitioning a frame memory during address generation and apparatus using the same | |
| KR100235486B1 (en) | Method for compensating a slice position during an address generation 0f a predicted macroblock in a frame memory and circuit using the same | |
| KR100237486B1 (en) | Apparatus for rearranging data output from a frame memory | |
| KR19990005601A (en) | The address distance calculation method in the 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 | |
| KR19990005576A (en) | The address distance calculation method in the frame memory | |
| KR100243473B1 (en) | Apparatus for compensating a motion vector during an address generation of a predicted macroblock in a frame memory | |
| KR19990026428A (en) | Address generator in frame memory | |
| KR100243479B1 (en) | Output data rearrangement device of frame memory | |
| KR100243470B1 (en) | Address generator in 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 |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19970924 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |