KR100243473B1 - 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로 - Google Patents

프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로 Download PDF

Info

Publication number
KR100243473B1
KR100243473B1 KR1019970029793A KR19970029793A KR100243473B1 KR 100243473 B1 KR100243473 B1 KR 100243473B1 KR 1019970029793 A KR1019970029793 A KR 1019970029793A KR 19970029793 A KR19970029793 A KR 19970029793A KR 100243473 B1 KR100243473 B1 KR 100243473B1
Authority
KR
South Korea
Prior art keywords
motion vector
macroblock
significant bit
picture
frame memory
Prior art date
Application number
KR1019970029793A
Other languages
English (en)
Other versions
KR19990005581A (ko
Inventor
이수정
Original Assignee
전주범
대우전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전주범, 대우전자주식회사 filed Critical 전주범
Priority to KR1019970029793A priority Critical patent/KR100243473B1/ko
Publication of KR19990005581A publication Critical patent/KR19990005581A/ko
Application granted granted Critical
Publication of KR100243473B1 publication Critical patent/KR100243473B1/ko

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

Landscapes

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

Abstract

프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로가 개시된다. 이 움직임벡터 보상회로는 필드 구조의 매크로블록으로 맵핑된 프레임 메모리에 있어서, 움직임 보상하고자 하는 현재 픽쳐의 슬라이스 위치, 매크로블록 위치 및 움직임벡터로부터 예측된 매크로블록을 읽어내기 위한 어드레스를 생성하기 위하여, 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]로부터 최하위 비트를 추출하는 최하위비트 추출기; 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 2로 나눈 후, 8을 더하여 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]를 출력하는 움직임 벡터 수정부; 및 최하위비트 추출기로부터 출력되는 최하위비트 값에 따라서, 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]와 상기 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]에 대하여 선택적으로 출력하는 선택부를 구비한다. 따라서, 프레임 메모리를 맵핑하는 픽쳐 타입과 움직임 보상하고자 입력되는 영상의 픽쳐 타입이 상이함으로 인한 행 어드레스와 열 어드레스의 오차를 줄일 수 있다.

Description

프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로(Apparatus for compensating a motion vector during an address generation of a predicted macroblock in a frame memory)
본 발명은 움직임 보상장치용 프레임 메모리에 관한 것으로서, 특히 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위해 행 어드레스(row address;RA)와 열 어드레스(column address;CA)를 발생시킬 경우, 움직임 타입(motion_type)에 따라서 움직임 벡터를 보상하기 위한 회로에 관한 것이다.
MPEG(Moving Picture Experts Group)-2 표준안에 사용되는 움직임 보상기술은 매크로블록 단위로 시간적으로 인접한 두 화면간의 움직임을 추정하여 보상함으로써 시간적 중복성(temporal redundancy)을 줄이기 위한 것이다. 즉, 움직임 추정 및 보상과정에서는 인접한 영상과 현재 영상을 비교하여 물체의 움직임에 관한 정보인 움직임 벡터를 검출해 내고, 이 움직임 벡터를 이용하여 현재 영상을 예측해 낸다.
이러한 움직임 보상기술을 이용하는 MPEG-2 영상 복호화기(video encoder)에 있어서, P 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 또는 P 픽쳐를 기준으로 하여 순방향 움직임 보상을 수행하고, B 픽쳐는 현재 영상에 대해서 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 기준으로 하여 순방향 움직임 보상, 역방향 움직임 보상 및 보간형 움직임 보상을 수행하여 얻은 움직임 보상 블록 중 최선의 것을 선택한다.
그리고, 움직임 추정 및 보상을 위한 방법으로는 프레임 움직임 추정 및 보상 모드, 필드 움직임 추정 및 보상 모드, 듀얼 프라임(dual prime) 움직임 추정 및 보상 모드 등이 있으며, 기본적으로 모든 움직임 추정 및 보상은 반화소(half-pel) 단위까지 하는 것을 규정하고 있다.
이 중, 프레임 움직임 추정 및 보상 모드는 MPEG-1에서 부터 사용하여 온 것으로서, 상위 필드(top field 혹은 even field)와 하위 필드(bottom field 혹은 odd field)의 구분없이 프레임 구조로 움직임을 추정하고 보상한다. 이를 위하여, 현재 프레임의 부호화하고자 하는 매크로블럭(MB)에 대해 기준 프레임의 탐색 영역내에서 반화소 정밀도까지 완전 탐색(full search)을 수행하여, 가장 작은 평균 절대 에러(MAE: Mean Absolute Error)를 발생시키는 위치를 해당 매크로블럭에 대한 움직임 벡터로 결정한다. 실제로는 데이터가 화소 단위로 주어지므로 화소 단위의 1차 완전 탐색을 통해 화소 단위 움직임 벡터를 구한 다음, 반화소 단위의 보간 및 2차 완전 탐색을 통해 반화소 단위 움직임 벡터를 구한다. 프레임 움직임 추정의 경우, P 픽쳐에 대해서는 한 개의 매크로블록당 1 개의 움직임 벡터를 전송하고, B 픽쳐에 대해서는 한 개의 매크로블록당 1 개 혹은 2 개의 움직임 벡터를 전송하므로, 필드 움직임 추정에 비해 움직임 벡터 전송에 소요되는 비트 수가 적다.
다음, 필드 움직임 추정 및 보상 모드는 프레임 구조의 픽쳐에 있어서 각 필드별로 움직임 추정 및 보상을 수행한다. 이를 위하여, 현재 프레임의 상위 필드와 하위 필드, 기준 프레임의 상위 필드와 하위 필드 사이에서 각각 16*8 (pixels) 서브 매크로블록 단위로 상위에서 하위, 상위에서 상위, 하위에서 상위, 하위에서 하위의 4 가지 움직임 벡터를 구한 뒤, 현재 프레임의 상위 필드와 하위 필드 각각에 대하여 최소의 움직임 보상에러를 발생시키는 하나씩의 움직임 벡터를 선택한다. 따라서, P 픽쳐에 대해서는 한 개의 매크로블록당 2 개의 움직임 벡터, B 픽쳐에 대해서는 한 개의 매크로블록당 2 개 혹은 4 개의 움직임 벡터를 전송한다. MPEG-2 영상 부호화기에서는 모든 매크로블록에 대하여 프레임/필드 예측 모드를 모두 적용한 다음, 그 중 보다 작은 예측 오차를 갖는 예측 모드를 사용한다. 한편, MPEG-2 영상 복호화기에서는 부호화기에서 사용한 예측 모드가 전송되므로 이에 따라 움직임 보상을 수행하여 영상을 복원한다.
한편, 필드 움직임 추정 및 보상 모드의 변형 모드로서 16*8 (pixels) 움직임 추정 및 보상 모드가 있는데, 이 모드에서는 각각의 매크로블럭에 대하여 2개의 움직임 벡터가 사용되는데, 제1움직임 벡터는 상위 16*8 영역에 대하여, 제2움직임 벡터는 하위 16*8 영역에 대하여 사용된다. 양방향 예측된 매크로블럭의 경우, 순방향 예측에 대하여 2개, 역방향 예측에 대하여 2개, 총 4개의 움직임 벡터가 사용된다.
다음, 듀얼 프라임 움직임 추정 및 보상 모드는 한 개의 매크로블록당 1 개의 움직임 벡터와 차분 움직임 벡터(dmv)만을 전송하는 것으로, 비교적 느린 움직임을 갖는 시퀀스에 효과적인 것으로 알려져 있다. 이 모드는 B 픽쳐를 사용하지 않는 경우에만 사용되도록 규정하고 있다. 즉, B 픽쳐가 허용되는 경우에는 이를 이용하여 더 좋은 화질을 얻을 수 있으나, B 픽쳐가 허용되지 않는 경우에는 듀얼 프라임 예측 모드를 사용함으로써, 가능한 한 적은 비트 발생량으로 화질의 향상을 가져 올 수 있다. 듀얼 프라임 예측 모드에서는 먼저, 필드 예측 모드에서 구한 상위에서 하위, 상위에서 상위, 하위에서 상위, 하위에서 하위의 4 가지 움직임 벡터 중 상위에서 상위와 하위에서 하위의 움직임 벡터는 그대로 기본 움직임 벡터로 사용하고, 상위에서 하위와 하위에서 상위의 움직임 벡터는 각각 스케일링(*2, *2/3)과 트렁케이션(truncation)을 하여 기본 움직임 벡터를 만든다. 다음, 이와 같이 만들어진 4개의 기본 움직임 벡터 각각에 대하여 수평 방향과 수직 방향으로 -1, 0, 1씩의 미세 조정을 가하여 두 개의 16*8 (pixels) 서브 매크로블록에 대해 움직임 보상에러가 최소가 되도록 하는 움직임 벡터와 차분 움직임 벡터를 전송한다. 듀얼 프라임 예측 모드는 영상 부호화기에서의 계산량이 상당히 많은 편으로 한 개의 기본 움직임 벡터당 9 개의 예측 후보값을 계산해 내야 하므로 총 36 가지의 후보 중 한 개의 기본 움직임 벡터와 차분 움직임 벡터를 계산해야 한다. 한편, 영상 복호화기에서는 전송되어 온 기본 움직임 벡터와 차분 움직임 벡터로 부터 2 개의 필드움직임 벡터를 계산하기만 하면 되므로 비교적 간단하게 구현 가능하다.
프레임 메모리는 이와 같이 움직임 보상을 위한 참조영상인 이전 영상의 I 픽쳐 혹은 P 픽쳐, 및 다음 영상의 I 픽쳐 혹은 P 픽쳐를 저장하기 위하여 사용된다. 또한, 프레임 메모리는 MPEG-2 영상 복호화기에 있어서 복호화 순서와 디스플레이 순서가 서로 다른 관계로, 복호화가 완료된 픽쳐를 일시적으로 저장한 다음 디스플레이 순서에 맞게 페치하기 위하여 사용된다.
그러나, 상기한 바와 같은 프레임 메모리는 I 픽쳐와 P 픽쳐 혹은 P 픽쳐와 P 픽쳐간의 거리(M)에 따라 적어도3 프레임 분의 영상 데이타를 저장할 수 있는 용량을 가져야 하므로 그 가격이 비싸고, 따라서 전체 영상 복호화기의 가격을 상승시키는 요인이 될 뿐 아니라, 복호화 완료 이후 디스플레이까지의 지연시간이 증가하는 문제점이 있었다.
따라서 본 발명의 목적은 상술한 문제점을 해결하기 위하여, 움직임 보상시 참조 영상 데이터를 저장하는 영역, 디스플레이를 위해 복호화가 완료된 영상 데이터를 저장하는 영역 및 영상 복호화기로 입력되는 부호화된 비트스트림을 저장하는 영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위해 행 어드레스와 열 어드레스를 발생시킬 경우, 움직임 타입에 따라서 움직임 벡터를 보상하기 위한 회로를 제공하는 데 있다.
상기 목적을 달성하기 위하여 예측 매크로블록에 대한 어드레스 발생시 본 발명에 의한 움직임 벡터 보상회로는 필드 구조의 매크로블록으로 맵핑된 프레임 메모리에 있어서, 움직임 보상하고자 하는 현재 픽쳐의 슬라이스 위치, 매크로블록 위치 및 움직임벡터로부터 예측된 매크로블록을 읽어내기 위한 어드레스를 생성하기 위하여,
수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]로부터 최하위 비트를 추출하는 최하위비트 추출기;
상기 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 2로 나눈 후, 8을 더하여 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]를 출력하는 움직임 벡터 수정부; 및
상기 최하위비트 추출기로부터 출력되는 최하위비트 값에 따라서, 상기 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]와 상기 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]에 대하여 선택적으로 출력하는 선택부를 포함하는 것을 특징으로 한다.
도1은 본 발명에서 채택한 프레임 메모리의 구조를 나타낸 도면.
도2는 도1에 도시된 프레임 메모리의 스케쥴링 순서를 나타낸 도면.
도3은 도1에 도시된 프레임 메모리에 있어서 1프레임에 대한 RAS 박스 설정방법의 예를 나타낸 도면.
도4는 도3에 도시된 RAS 박스에 있어서 매크로블록 구조의 예를 나타낸 도면.
도5a 및 도5b는 움직임벡터의 수평 및 수직성분을 각각 나타낸 도면.
도6은 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 본 발명에 따른 움직임벡터 보상회로를 나타낸 블록도이다.
* 도면의 주요부분에 대한 부호의 설명
100-1~100-4 : 제1 내지 제4프레임 저장영역
100 : 프레임 메모리 60 : 움직임 벡터 수정부
62 : LSB 추출기 64 : 쉬프터
66 : 가산기 68 : MUX
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예에 대해 상세히 설명하기로 한다.
도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 화소)에 의해 나온 것이다.
한편, 프레임 메모리(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)을 각각 나타낸다.
여기서, 제1 및 제2프레임 저장영역(100-1,100-2)은 복원된 I 픽쳐 혹은 움직임 보상된 P 픽쳐 영상 데이터를 움직임 보상을 위한 기준 영상으로 사용하는 것과 동시에 디스플레이하기 위하여 저장하는데 사용되고, 제3프레임 저장영역(100-3)은 움직임 보상된 B 픽쳐 영상 데이터를 디스플레이하기 위하여 저장하는데 사용되고, 제4프레임 저장영역(100-4)은 영상 복호화기로 입력되는 부호화된 비트스트림을 소정의 비트 단위로 저장하는데 사용된다.
도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'가 부가되어 있는 저장영역은 디스플레이를 위해 영상 데이터가 페치되고 있음을 나타낸다.
도3은 도1에 도시된 프레임 메모리(100)에 있어서 1 프레임에 대한 RAS 박스 설정방법의 예를 나타낸 것으로서, 예를 들어 1 프레임이 1,920 화소*1,088 화소로 이루어지는 경우, 15 개 RAS 박스*68 개 RAS 박스, 총 1,020 개의 RAS(Row Address Strobe) 박스로 분할된다. 즉, RAS 박스의 번호가 프레임 메모리(100)의 행 어드레스(row address:RA)가 된다. 여기서, 하나의 RAS 박스는 8 개 매크로블록* 1 개 매크로블록, 총 8 개의 매크로블록(MB0~MB7)으로 이루어진다. 그리고, 각 매크로블록은 휘도(Y) 블록을 예로 들 경우, 4개의 블록(b0~b3)로 나누어진다.
도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개의 화소 데이터가 존재한다.
도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) 라인이라 한다.
도5a 및 도5b는 수평방향의 움직임 벡터(mv_h[12:0])와 수직방향의 움직임 벡터(mv_v[8:0])는 각각 나타낸 것으로서, 수평 및 수직방향의 움직임 벡터(mv_h, mv_v)에서 각각 하위쪽 4비트씩을 취하여 매크로블록내의 블록 위치, 블록내의 박스 위치, 및 박스내의 화소 위치를 결정한다.
도6은 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 본 발명에 따른 움직임 벡터 보상회로를 나타낸 블록도로서, 움직임 벡터 수정부(60), 최하위비트(LSB) 추출기(62), 선택부 예컨데 멀티플렉서(MUX;66)로 구성된다. 여기서, 움직임 벡터 수정부(60)는 쉬프터(64)와 가산기(66)로 이루어진다.
그러면, 본 발명에 의한 움직임 벡터 보상회로에 대하여 도1 내지 도6을 참조하여 설명하면 다음과 같다.
도3 및 도4와 같은 구조의 프레임 메모리에 있어서, 움직임 보상에 의해 예측된 매크로블록의 어드레스 발생방법에서는 첫째, 도2에서와 같은 프레임 메모리(100)의 스케쥴링 순서에 의거하여 프레임 옵셋 어드레스(frame offset address) 즉, RA[11:10]을 결정한다. 예를 들어, 도2의 두번째 단계에서와 같이 제2프레임 저장영역(100-2)에 저장된 B 픽쳐에 대하여 제1프레임 저장영역(100-1)에 저장된 I 픽쳐를 참조하여 움직임 보상을 수행하는 경우에는 RA[11:10]이 '00'이 된다.
둘째, 움직임 보상하고자 하는 현재 매크로블록(MB)의 시작 어드레스, 즉 슬라이스 위치(slice_pos) 및 매크로블록 위치(mb_pos)와, 움직임 벡터(mv_v, mv_h)를 입력한다.
셋째, 입력된 변수들의 스케일을 일치시킨다. 입력 변수 중, 슬라이스 위치(slice_pos)와 매크로블록 위치(mb_pos)는 각각 7 비트로 이루어지며 매크로블록 스케일을 가지는 반면, 움직임 벡터는 반화소 스케일을 가진다. 따라서, 수평방향의 움직임 벡터(mv_h[12:0])와 수직방향의 움직임 벡터(mv_v[8:0])를 매크로블록 스케일로 맞추기 위하여 16으로 나누어, 즉 mv_h[11:5]와 mv_v[7:5]를 취하여 각각 'mv_h_mb'와 'mv_v_mb'로 둔다.
넷째, 수평, 수직 좌표계의 선형변환을 다음 수학식 1과 같이 수행하여, 예측된 매크로블록의 위치(predict_MB_v, predict_MB_h)를 결정한다.
[수학식 1]
slice_position ± mv_v_mb = predict_MB_v
mb_position ± mv_h_mb = predict_MB_h
여기서, 'predict_MB_h'는 예측된 매크로블록의 수평위치, 'predict_MB_v'는 예측된 매크로블록의 수직위치를 각각 나타낸다.
다섯째, 다음 수학식 2에 의해 1 프레임 내에서 매크로블록의 위치를 가리키는 선형 어드레스(linear address;LA)를 생성하고, 선형 어드레스로 부터 RA[9:0]와 CA[7:5]를 결정한다.
[수학식 2]
LA = predict_MB_v * 120 + predict_MB_h
여기서, 1 프레임(1920 화소 * 1088 화소)에 있어서 수평방향으로 120 개의 매크로블록이 존재하므로 'predict_MB_v'에 120 을 곱해 준다. 'predict_MB_v'가 7 비트이고, '120'이 7 비트이고, 'predict_MB_h'가 7 비트이므로 수학식 2의 연산 결과는 14 비트가 된다. 즉, LA[12:3]은 첫번째 단계에서 결정한 RA[11:10]가 가리키는 저장영역에서의 RAS 박스의 위치를 나타내는 RA[9:0]가 되고, LA[2:0]는 해당 RAS 박스에서의 매크로블록의 위치를 나타내는 CA[7:5]가 된다.
여섯째, 다음 수학식 3에 의해 CA[4:0]와 PA[2:0]을 결정한다.
[수학식 3]
MA = mv_h[4:1] * mv_v[4:1] ⇒ MA[7:0]
즉, 도5a 및 도5b에 각각 도시된 수평 및 수직방향의 움직임 벡터(mv_h, mv_v)에서 각각 하위쪽 4비트씩을 취하여 매크로블록내의 블록 위치, 블록내의 박스 위치, 및 박스내의 화소 위치를 결정한다. MA[7:0]에서, MA[7:6]이 매크로블록내의 블록 위치를 나타내는 CA[4:3]이 되고, MA[5:3]이 블록내의 박스 위치를 나타내는 CA[2:0]이 되고, MA[2:0]이 박스내의 화소 위치를 나타내는 PA[2:0]이 된다. 여기서, PA[2:0]는 예측된 매크로블록의 기준 포인트(reference point:R.P)를 결정하는데 사용된다.
그런데, 본 발명에서 사용하는 프레임 메모리(100;도1 참조)는 필드 구조의 매크로블록으로 맵핑되는데 비하여, MPEG-2에서는 필드 픽쳐와 프레임 픽쳐를 모두 지원하여 영상 복호화기로 입력되는 부호화된 비트스트림은 필드 구조의 매크로블록이거나 프레임 구조의 매크로블록일 수 있다. 따라서, 예측된 매크로블록에 대한 어드레스 발생시 프레임 메모리(100)의 픽쳐 타입과 영상 복호화기로 입력되는 영상의 픽쳐 타입의 미스매칭(mismatching)에 대한 보상이 필요하다.
도6에 있어서, LSB 추출기(62)는 도5b와 같은 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]로부터 최하위 비트(LSB)를 추출한다.
움직임 벡터 수정부(60)에 있어서, 쉬프터(64)는 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 오른쪽으로 1 회 쉬프트하기 위한 것으로서, 그 결과는 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 2로 나눈 값이 된다. 가산기(66)는 쉬프트(64)의 출력에 8을 가산하여 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]로서 출력한다.
멀티플렉서(68)는 LSB 추출기(62)로부터 출력되는 LSB 값에 따라서, 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]와 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]에 대하여 선택적으로 출력한다. 즉, LSB가 '0'이면 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 출력하고, LSB가 '1'이면 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]를 출력한다.
한편, 상기한 상세한 설명은 여기에 제시된 특정의 실시예를 설명하고자 한 것이며, 본 발명을 한정하려는 의도는 아니다. 당업자라면, 상기한 상세한 설명 및 도면을 참조하여 본 발명의 기술적 사상내에서 프레임 메모리를 구성하는 메모리의 종류, RAS 박스의 구조 및 매크로블록 블록의 구조에 따라 여러 가지 변형 및 수정을 가할 수 있을 것이다.
상술한 바와 같이 본 발명에 따르면, 제1 내지 제4프레임 저장영역이 하나의 메모리 모듈 상에 구현된 프레임 메모리에 있어서 움직임 보상에 의해 예측된 매크로블록을 프레임 메모리로 부터 읽어오기 위하여, 픽쳐 타입에 따라 보상된 기준 포인트를 이용하여 행 어드레스와 열 어드레스를 발생시킴으로써, 프레임 메모리를 맵핑하는 픽쳐 타입과 움직임 보상하고자 입력되는 영상의 픽쳐 타입이 상이함으로 인한 행 어드레스와 열 어드레스의 오차를 줄일 수 있다.

Claims (3)

  1. 필드 구조의 매크로블록으로 맵핑된 프레임 메모리에 있어서, 움직임 보상하고자 하는 현재 픽쳐의 슬라이스 위치, 매크로블록 위치 및 움직임벡터로부터 예측된 매크로블록을 읽어내기 위한 어드레스를 생성하기 위하여, 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]로부터 최하위 비트를 추출하는 최하위비트 추출기(62); 상기 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 2로 나눈 후, 8을 더하여 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]를 출력하는 움직임 벡터 수정부(60); 및 상기 최하위비트 추출기(62)로부터 출력되는 최하위비트 값에 따라서, 상기 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]와 상기 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]에 대하여 선택적으로 출력하는 선택부(68)를 포함하는 것을 특징으로 하는 예측 매크로블록에 대한 어드레스 발생시 움직임벡터 보상회로.
  2. 제1항에 있어서, 상기 움직임 벡터 수정부(60)는 상기 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 오른쪽으로 1 회 쉬프트하기 위한 쉬프터(64); 및 상기 쉬프트(64)의 출력에 8을 가산하여 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]를 출력하는 가산기(66)를 구비하는 것을 특징으로 하는 예측 매크로블록에 대한 어드레스 발생시 움직임벡터 보상회로.
  3. 제1항에 있어서, 상기 선택부(68)는 상기 최하위비트가 '1'이면 상기 수직 방향의 움직임 벡터의 하위 비트 mv_v[4:1]를 출력하고, 상기 최하위비트가 '1'이면 상기 수정된 수직 방향의 움직임 벡터의 하위 비트 mv_v'[4:1]를 출력하는 것을 특징으로 하는 예측 매크로블록에 대한 어드레스 발생시 움직임벡터 보상회로.
KR1019970029793A 1997-06-30 1997-06-30 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로 KR100243473B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970029793A KR100243473B1 (ko) 1997-06-30 1997-06-30 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970029793A KR100243473B1 (ko) 1997-06-30 1997-06-30 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로

Publications (2)

Publication Number Publication Date
KR19990005581A KR19990005581A (ko) 1999-01-25
KR100243473B1 true KR100243473B1 (ko) 2000-03-02

Family

ID=19512727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970029793A KR100243473B1 (ko) 1997-06-30 1997-06-30 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로

Country Status (1)

Country Link
KR (1) KR100243473B1 (ko)

Also Published As

Publication number Publication date
KR19990005581A (ko) 1999-01-25

Similar Documents

Publication Publication Date Title
KR100243473B1 (ko) 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로
KR100235486B1 (ko) 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 슬라이스 위치 보상방법 및 회로
KR100235485B1 (ko) 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 기준 포인트 보상방법 및 회로
KR100255221B1 (ko) 프레임 메모리에 있어서 반화소 보상시 화소 어드레스 보상방법및 박스 보상을 위한 어드레스 카운터
KR100255795B1 (ko) 프레임 메모리에 있어서 반화소를 가진 예측 매크로블록에 대한어드레스 발생시 기준 포인트 보상방법
KR100243470B1 (ko) 프레임 메모리에 있어서 어드레스 발생장치
KR100243471B1 (ko) 프레임 메모리에 있어서 어드레스 발생장치
KR100248653B1 (ko) 프레임 메모리에 있어서 어드레스 발생시 블럭상태 천이방법
KR100243475B1 (ko) 프레임 메모리에 있어서 점프어드레스 발생장치
KR100243474B1 (ko) 프레임 메모리에 있어서 점프 어드레스 발생장치
KR19990019198A (ko) 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 슬라이스 위치 보상방법
KR19990005602A (ko) 프레임 메모리에 있어서 듀얼 프라임 필드 예측방법
KR100243469B1 (ko) 프레임 메모리에 있어서 어드레스 발생장치
KR100226705B1 (ko) 어드레스 발생시 프레임 메모리 상태 천이방법 및 장치
KR19990026426A (ko) 프레임 메모리에 있어서 어드레스 발생장치
KR19990026428A (ko) 프레임 메모리에 있어서 어드레스 발생장치
KR100243478B1 (ko) 프레임 메모리에 있어서 반화소를 가진 예측 매크로블록에 대한어드레스 발생시 움직임 벡터 보상방법
KR100269427B1 (ko) 프레임메모리에있어서어드레스발생방법
KR100269426B1 (ko) 개선된프레임메모리를갖는움직임보상장치
KR100226704B1 (ko) 프레임 메모리에 있어서 어드레스 거리 산출방법
KR19990005587A (ko) 프레임 메모리에 있어서 점프어드레스 발생장치
KR100226703B1 (ko) 프레임 메모리에 있어서 어드레스 거리 산출방법
KR100243472B1 (ko) 프레임 메모리에 있어서 필드 구조의 매크로블록 독출방법
KR19990026427A (ko) 프레임 메모리에 있어서 움직임벡터 거리 산출방법
KR19990032813A (ko) 프레임 메모리에 있어서 어드레스 거리 산출방법

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: 20111101

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20121101

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee