KR19980075619A - 움직임 보상장치의 출력버퍼 - Google Patents

움직임 보상장치의 출력버퍼 Download PDF

Info

Publication number
KR19980075619A
KR19980075619A KR1019970011861A KR19970011861A KR19980075619A KR 19980075619 A KR19980075619 A KR 19980075619A KR 1019970011861 A KR1019970011861 A KR 1019970011861A KR 19970011861 A KR19970011861 A KR 19970011861A KR 19980075619 A KR19980075619 A KR 19980075619A
Authority
KR
South Korea
Prior art keywords
signal
output
read address
motion compensation
count
Prior art date
Application number
KR1019970011861A
Other languages
English (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 KR1019970011861A priority Critical patent/KR19980075619A/ko
Publication of KR19980075619A publication Critical patent/KR19980075619A/ko

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 움직임 보상장치의 출력버퍼에 관한 것으로서, 본 발명의 장치는 시스템 클럭, 시스템 리셋신호 및 시작을 알리는 신호를 입력받아 쓰기 어드레스 신호 및 쓰기 인에이블 신호를 발생시키는 쓰기 어드레스 발생부(672)와; 블록의 시작을 알려주는 신호와 이산여현변환의 타입을 알려주는 신호를 입력받아 읽기 어드레스 신호를 발생시키는 읽기 어드레스 발생부(674); 및 상기 쓰기 어드레스 신호 및 쓰기 인에이블 신호에 따라 입력되는 화소 데이터를 저장시키고, 상기 읽기 어드레스 신호에 따라 저장되어 있던 화소 데이터를 출력시키는 저장부(676)로 구성되어 있으며, 상기와 같이 구성된 본 발명에 따르면 영상 복호화기에서 움직임 보상을 수행함에 있어서 동작 속도가 서로 다른 블록간에 인터페이싱 기능을 수행하는 블록을 구비하므로써 움직임 보상을 효율적으로 수행할 수 있다.

Description

움직임 보상장치의 출력버퍼
본 발명은 움직임 보상장치의 출력버퍼에 관한 것으로, 특히 영상 복호화기(video decoder)에서 역 이산여현변환(IDCT: Inverse Discrete Cosine Transform )된 영상 데이터와 움직임 벡터(mv: motion vector)를 이용하여 움직임 보상(MC: Motion Compensation)을 효율적으로 수행하기 위해 화소 데이터를 인터페이싱 하도록 되어진 움직임 보상장치의 출력버퍼에 관한 것이다.
일반적으로 고화질 텔레비젼(HDTV: High Definition TeleVision) 신호의 전송을 위해서는 대역 압축이 반드시 필요하게 되는데, 이때 대역을 압축하기 위한 방법으로는 크게 세가지가 있다. 첫째, 화상과 다음 화상간의 관계, 즉 움직임 벡터(mv)의 값을 이용하여 전송 정보량을 줄이는 기법과, 둘째로 한 화상내의 정보 압축을 위한 이산여현변환(DCT: Discrete Cosine Transformation)과 양자화(Q: Quantization)기법, 그리고 셋째로 이들 변환된 정보를 확률적 분포에 의해 적절한 크기의 비트로 변환하는 가변길이 부호화(VLC: Variable Length Coding)기법이 있다.
상기 대역 압축 기법중 움직임 보상(motion compensation)은 보다 나은 화질의 영상으로 복원하기 위해 영상 부호화시 검출된 움직임 벡터를 이용하여 영상 데이터량을 감소시키는 기술을 말한다. 동영상 부호화에서는 높은 데이터 압축률을 얻기 위하여 시간적인 중복성을 제거하는 움직임 보상 부호화(motion compensated coding)를 행하고 있으며, 이러한 움직임 보상 부호화 방법은 MPEG(Moving Picture Expert Group) 및 H.261(ITU-T: International Telecommunication Union - Telecommunication Standardization 에서 정해진 권고 번호중 하나) 등의 국제 영상 부호화 표준에서도 중요한 부분을 차지하고 있다.
움직임 보상 부호화 기법의 핵심 기술은 움직임 벡터를 검출하는 것으로, 일반적으로 블록 정합 알고리즘(Block Matching Algorithm: 이하, BMA 라 한다.)과 화소 순환 알고리즘(Pixel Recursive Algorithm: 이하, PRA 라 한다.)으로 나누어진다. 데이터 감축면에서는 PRA 방식이 BMA 방식보다 우수하나 시스템의 복잡도 측면에서는 블록단위로 처리하는 BMA 방식이 화소단위로 처리하는 PRA 방식보다 계산량이 적고 하드웨어 구현이 용이하기 때문에 대부분의 움직임 부호화에 널리 이용되고 있다. BMA 로 움직임을 추정할 경우, 가장 일반적인 탐색 방법은 완전 탐색 방법(Full search algorithm)인데, 이러한 방법은 이전 프레임의 탐색 영역내에서 모든 블록에 대하여 탐색한 후, 현 프레임의 기준 블록과 가장 유사한 블록을 찾기 때문에 최적의 방법이라 할 수 있다.
움직임 보상에 관한 기술은 미국 특허번호 5,379,076호, 5,469,517호, 5,473,379호 등에 개시되어 있는데, 이러한 움직임 보상 부호화는 이전 프레임을 이용하여 움직임 추정 및 보상을 행하는 과정과 보상된 영상과 원 영상과의 차분 신호를 부호화하는 과정으로 이루어져 있으며, 움직임의 추정이 정확할수록 보다 단순한 차분 신호를 얻을 수 있어 부호화 효율을 높일 수 있다.
이처럼 영상 부호화기(video encoder)에서 움직임 추정을 수행하여 움직임 벡터를 구한 후, 움직임 벡터를 전송하면 영상 복호화기(video decoder)에서는 역 이산여현 변환된 영상 데이터와 그 움직임 벡터를 이용하여 움직임 보상을 효율적으로 수행하기 위해서는 보상할 데이터를 적절히 인터페이싱 해야할 필요성이 제기된다.
이에 본 발명은 상기한 바와 같은 필요성을 충족시키기 위해 안출된 것으로, 영상 복호화기에서 효율적으로 움직임 보상을 수행하기 위해 움직임 보상될 데이터를 적절히 인터페이싱 하도록 되어진 움직임 보상장치의 출력버퍼를 제공하는데 그 목적이 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명에 따른 움직임 보상장치의 출력버퍼는, 시스템 클럭, 시스템 리셋신호 및 시작을 알리는 신호를 입력받아 쓰기 어드레스 신호 및 쓰기 인에이블 신호를 발생시키는 쓰기 어드레스 발생부와; 블록의 시작을 알려주는 신호와 이산여현변환의 타입을 알려주는 신호를 입력받아 읽기 어드레스 신호를 발생시키는 읽기 어드레스 발생부; 및 상기 쓰기 어드레스 발생부로부터의 쓰기 어드레스 신호 및 쓰기 인에이블 신호에 따라 입력되는 화소 데이터를 저장시키고, 상기 읽기 어드레스 발생부로부터의 읽기 어드레스 신호에 따라 저장되어 있던 화소 데이터를 출력시키는 저장부로 구성된 것을 특징으로 한다.
상기와 같이 구성된 본 발명에 따르면 영상 복호화기에서 움직임 보상을 수행함에 있어서 서로 동작속도가 다른 기능 블록사이에 데이터의 입출력을 적절히 인터페이싱하는 기능 블록을 구비하므로써 움직임 보상을 원할하게 수행할 수 있다.
도 1 은 일반적인 MPEG-2 영상 복호화기의 개념 블록도,
도 2 는 본 발명에 따른 출력버퍼가 포함된 움직임 보상장치의 전체 구성 블 록도,
도 3 은 본 발명에 따른 움직임 보상장치의 출력버퍼에 대한 구성 블록도,
도 4 는 도 3 에 도시된 쓰기 어드레스 발생부의 세부 구성도,
도 5 는 도 3 에 도시된 읽기 어드레스 발생부의 세부 구성도,
도 6 의 (a)는 한 매크로블록의 휘도신호(Y)에 대한 포맷도,
(b)와(c)는 색차신호(Cb, Cr)에 대한 포맷도,
(d)는 도 2 에 도시된 입력버퍼로 전송되는 화소 데이터의 포맷도이 다.
* 도면의 주요부분에 대한 부호의 설명
100: 움직임 보상 제어부 200: 메모리 제어부
300: 메모리 400: 버스 제어부
500: 공통 버스 600: 움직임 보상부
610: 입력 버퍼 630: 반화소 보상부
650: 합산부 670: 출력 버퍼
672: 쓰기 어드레스 발생부 672-1: 제 1 카운터
672-2: 제1 프로그래머블 로직어래이 674: 저장부
RAM1∼RAM6: 제 1 램∼제 6 램 676: 읽기 어드레스 발생부
676-1: 제 2 카운터 676-2: 제2 프로그래머블 로직 어래이
676-3: 다중화기
이하, 첨부된 도면을 참조하여 본 발명에 대해 상세히 설명하기로 한다.
우선, 본 발명의 이해를 돕기 위해 MPEG-2 영상 복호화기에 대해서 살펴보면 다음과 같다.
도 1 은 일반적인 MPEG-2 영상 복호화기의 개념 블록도로서, 영상 복호화기는 버퍼(10), 역다중화 및 가변길이 복호블록(20: DeMux VLD), 역양자화 블록(30: IQ), 역 이산여현 변환블록(40: IDCT), 움직임 보상블록(50: MC) 및 선택블록(60)으로 구성되어 있다.
도 1 에 도시된 바와 같이, 버퍼(10)는 영상 부호화기(도시하지 않음)로부터 전송된 부호화된 비트 스트림을 입력받아 버퍼링을 수행한 후 그 버퍼링된 비트 스트림을 출력한다.
역다중화 및 가변길이 복호블록(20)은 상기 버퍼(10)로부터 버퍼링된 비트 스트림을 입력받아 역다중화 및 가변길이 복호화(VLD: Variable Length Decoding)를 수행하여 양자화 레벨, 이산여현변환 모드 및 움직임 보상정보를 출력한다. 여기서, 가변길이 복호화(VLD)를 수행하는 이유는 영상 부호화기에서 가변길이 부호화(VLC)가 수행되었기 때문이다.
역양자화 블록(30)은 상기 역다중화 및 가변길이 복호블록(20)으로부터 입력된 양자화 레벨 정보에 따라 가변길이 복호화된 영상 데이터를 역양자화시키는데, 여기서 역양자화(IQ)를 수행하는 이유는 영상 부호화기에서 양자화(Q)가 수행되었기 때문이다.
역 이산여현 변환블록(40)은 상기 역다중화 및 가변길이 복호블록(20)으로부터 입력된 이산여현변환 모드 정보(필드 DCT 인지 프레임 DCT인지에 대한 정보)에 따라 역양자화된 영상 데이터에 대해 역이산여현변환을 수행하는데, 여기서 역 이산여현변환(IDCT)을 수행하는 이유는 영상 부호화기에서 이산여현변환(DCT)이 수행되었기 때문이다.
움직임 보상블록(50)은 상기 역다중화 및 가변길이 복호블록(20)으로부터 입력된 움직임 보상정보(즉, 움직임 벡터, 플래그)에 따라 상기 역 이산여현 변환블록(40)으로부터의 역 이산여현변환된 영상 데이터를 입력받아 움직임 보상을 수행하는데, 본 발명은 이 움직임 보상 블록(50)에 관한 것이다.
마지막으로 선택 블록(60)은 상기 역 이산여현 변환블록(40)으로부터의 역 이산여현변환된 영상 데이터 또는 상기 움직임 보상블록(50)으로부터의 움직임 보상된 영상 데이터중에서 하나를 선택하여 출력한다.
도 2 는 본 발명에 따른 출력버퍼가 포함된 움직임 보상장치의 전체 구성블록도로서, 도 2 에 도시된 움직임 보상장치는 움직임 보상 제어부(100), 메모리 제어부(200), 메모리(300), 버스 제어부(400), 공통 버스(500) 및 움직임 보상부(600)로 구성되어 있다.
움직임 보상 제어부(100)에서는 가변길이 복호부(도 1 참조: 20)로부터 움직임 벡터(mv)와 플래그(flag)를 입력받아 움직임 보상 과정을 제어하기 위한 움직임 보상 제어신호를 발생하고, 움직임 보상의 계산 과정에 대한 타이밍을 조절한다. 이때 플래그(flag)는 움직임 보상을 위한 정보로서 유효한 데이터인지를 알려주는 신호(decoded _pels), I-픽쳐, P-픽쳐, B-픽쳐중 어느 픽쳐에 해당하는 지를 알려주는 신호(picture_coding_type), 상위필드, 하위필드, 프레임 픽쳐중 어느 것에 해당되는 지를 알려주는 신호(picture_structure), 움직임의 형태를 알려주는 신호(motion_type), 필드 이산여현변환인지 프레임 이산여현변환인 지를 알려주는 신호(dct_type), 순방향, 역방향, 양방향 예측중 어느 예측에 해당하는 지를 알려주는 신호(macroblock_motion_forward, macroblock _motion_backward)등이 있다.
메모리 제어부(200)에서는 가변길이 복호부(도 1 참조: 20)로부터 움직임 벡터(mv)와 플래그(flag)를 입력받아 메모리 제어신호 및 읽기/쓰기 어드레스 신호를 발생한다.
메모리(300)에서는 상기 메모리 제어부(200)로부터의 어드레스 신호에 따라 보상된 화소 데이터를 읽거나 쓰는 역할을 하는데, 이 메모리(300)에는 네 개분의 프레임(I-픽쳐, B-픽쳐, P-픽쳐등)을 저장하도록 되어 있다.
버스 제어부(400)에서는 버스 제어 신호를 출력한다.
공통 버스(500)에서는 상기 버스 제어부(400)로부터의 버스 제어신호에 따라 상기 메모리(300)에 저장시킬 보상된 화소 데이터와 디스플레이부(도시하지 않음)와 같은 다른 기능블록으로 보낼 보상된 화소 데이터를 전송하기 위한 전송로 역할을 하는데, 이 공통 버스(500)는 12 개의 화소(pel) 즉, 96 비트의 화소 데이터를 전송하도록 되어 있다.
움직임 보상부(600)에서는 상기 움직임 보상 제어부(100)로부터의 움직임 보상 제어신호에 따라 상기 공통 버스(500)로부터 입력된 화소 데이터와 역 이산여현변환부(도 1 참조: 40)로부터 입력된 역 이산여현변환된 데이터를 이용하여 움직임 보상을 수행한다. 본 발명은 도 2 에 도시된 움직임 보상장치의 구성중 움직임 보상부(600)와 관련이 있는데, 구체적으로는 출력버퍼(670)에 관한 것이다.
한편, 도 2 를 참조하면 상기 움직임 보상부(600)는 입력버퍼(610), 반화소 보상부(630), 합산부(650) 및 출력버퍼(670)로 이루어져 있다. 여기서, 움직임 보상부(600)의 내부에 입력버퍼(610)와 출력버퍼(670)를 구비한 이유는 상기 메모리(300)와 움직임 보상부(600)의 동작 속도가 다르기 때문이다. 즉, 상기 메모리(300)는 81MHz 로 동작하고, 움직임 보상부(600)는 54MHz 로 동작하기 때문이다.
입력버퍼(610)에서는 상기 움직임 보상 제어부(100)로부터의 움직임 보상 제어 신호(start_block: 블록의 시작을 알리는 신호로서 이 신호는 카운팅을 시작할 때 이용된다.)에 따라 상기 메모리(300)로부터의 12 화소 단위의 화소 데이터를 상기 공통 버스(500)를 통해 입력받아 인터페이싱을 수행한 후, 9 화소 단위로 출력한다. 이때, 입력 버퍼(610)는 블록단위로 데이터를 처리하도록 구현할 수 있다.
반화소 보상부(630)에서는 상기 움직임 보상 제어부(100)로부터의 움직임 보상 제어 신호 즉, 반화소 보상을 할 것인지 아니면 안할 것인지를 알려주는 신호(hpctl)에 따라 상기 입력버퍼(610)로부터의 9 화소 단위의 화소 데이터를 반화소 보상을 하거나 그대로 2 화소 단위로 출력하고, 순방향, 역방향, 양방향 예측중 어느 예측에 해당하는 지를 알려주는 신호(mb_type)에 따라 I-픽쳐에 대한 화소 데이터, P-픽쳐에 대한 화소 데이터 또는 I-픽쳐와 P-픽쳐의 화소 데이터에 대한 평균값을 2 화소 단위로 출력한다.
합산부(650)에서는 상기 움직임 보상 제어부(100)로부터의 움직임 보상 제어 신호(dct_type: 필드 DCT 가 수행되었는 지 프레임 DCT 가 수행되었는 지를 알리는 신호, mc_type: 어떤 형태의 움직임 보상이 수행되는 지를 알려주는 신호)에 따라 상기 반화소 보상부(630)로부터의 2 화소 단위의 화소 데이터와 역 이산여현변환부(도 1 참조: 40)로부터의 2 화소 단위의 화소 데이터를 합산하여 출력한다.
출력버퍼(670)에서는 상기 움직임 보상 제어부(100)로부터의 움직임 보상 제어 신호(dct_type: 필드 DCT 가 수행되었는 지 프레임 DCT 가 수행되었는 지를 알리는 신호, start_block: 블록의 시작을 알리는 신호로서 이 신호는 카운팅을 시작할 때 이용, out_buffer_start: 출력 버퍼의 동작을 시작하기 위한 신호)에 따라 상기 합산부(650)로부터의 보상된 2 화소 단위의 화소 데이터를 필드방식으로 상기 메모리(300)에 저장하기 위해 상기 공통 버스(500)로 12 화소 단위로 출력한다. 이때, 출력 버퍼(670)는 화소 데이터를 매크로블록 단위로 처리하도록 구현할 수 있다.
도 3 은 본 발명에 따른 움직임 보상장치의 출력버퍼에 대한 구성 블록도로서, 본 발명의 출력버퍼(670)는 쓰기 어드레스 발생부(672), 읽기 어드레스 발생부(674) 및 저장부(676)로 구성되어 있다.
도 3 을 참조하면, 상기 쓰기 어드레스 발생부(672)에서는 시스템 클럭(54MHz), 시스템 리셋신호 및 움직임 보상 제어부(100)로부터 시작을 알리는 신호(out_buffer_start)를 입력받아 쓰기 어드레스 신호 및 쓰기 인에이블 신호를 발생시킨다.
상기 읽기 어드레스 발생부(674)에서는 움직임 보상 제어부(100)로부터 블록의 시작을 알려주는 신호(start_block)와 이산여현변환의 타입을 알려주는 신호(dct_type)를 입력받아 읽기 어드레스 신호를 발생시킨다.
상기 저장부(676)에서는 상기 쓰기 어드레스 발생부(672)로부터의 쓰기 어드레스 신호 및 쓰기 인에이블 신호에 따라 상기 합산부(도 2 참조:650)로부터 입력되는 2 화소 단위의 화소 데이터를 저장시키고, 상기 읽기 어드레스 발생부(674)로부터의 읽기 어드레스 신호에 따라 저장되어 있던 화소 데이터를 12 화소 단위로 출력시킨다. 이때, 출력된 화소 데이터는 공통버스(도 2 참조:500)를 통해 메모리(도 2 참조:300)로 입력된다. 여기서, 상기 저장부(676)는 도 3 에 도시된 바와 같이 6 개의 램(RAM1∼RAM6) 즉, 제 1 램(RAM1), 제 2 램(RAM2), 제 3 램(RAM3), 제 4 램(RAM4), 제 5 램(RAM5) 및 제 6 램(RAM6)으로 구현되어 있다.
도 4 는 도 3 에 도시된 쓰기 어드레스 발생부(672)의 세부 구성도로서, 본 발명의 쓰기 어드레스 발생부(672)는 제 1 카운터(672-1)와 제 1 프로그래머블 로직 어래이(672-2)로 구성되어 있다.
도 4 를 참조하면, 상기 제 1 카운터(672-1)는 시스템 클럭(54MHz), 시스템 리셋신호 및 움직임 보상 제어부(100)로부터 시작을 알리는 신호(out_buffer _start)를 입력받아 제 1 카운트 신호를 출력하는데, 이때 제 1 카운터(672-1)는 6 비트 카운터로 구현하였다.
상기 제 1 프로그래머블 로직 어래이(672-2)는 상기 제 1 카운터(672-1)로부터의 제 1 카운트 신호에 따라 쓰기 어드레스 신호 및 쓰기 인에이블 신호를 출력한다.
도 5 는 도 3 에 도시된 읽기 어드레스 발생부(674)의 세부 구성도로서, 본 발명의 읽기 어드레스 발생부(674)는 제 2 카운터(674-1), 제 2 프로그래머블 로직 어래이(674-2) 및 다중화기(674-3)로 구성되어 있다.
도 5 를 참조하면, 상기 제 2 카운터(674-1)는 움직임 보상 제어부(도 2 참조:100)로부터 블록의 시작을 알리는 신호(start_block)를 입력받아 제 2 카운트 신호를 출력하는데, 이때 제 2 카운터(674-1)는 3 비트 카운터로 구현하였다.
상기 제 2 프로그래머블 로직 어래이(674-2)는 상기 제 2 카운터(674-1)로부터의 제 2 카운터 신호에 따라 필드 방식의 신호를 출력한다.
상기 다중화기(674-3)는 움직임 보상 제어부(도 2 참조:100)로부터의 이산여현변환의 타입을 알려주는 신호(dct_type)에 따라 상기 제 2 카운터(674-1)로부터의 제 2 카운터 신호와 상기 제 2 프로그래머블 로직 어래이(674-2)로부터의 필드 방식의 신호중 한 신호를 선택하여, 그 선택된 신호를 읽기 어드레스 신호로서 저장부(도 3 참조:676)로 출력한다.
도 6 의 (a)는 한 매크로블록의 휘도신호(Y)에 대한 포맷도이고, (b)와(c)는 색차신호(Cb, Cr)에 대한 포맷도이며,(d)는 도 2 에 도시된 입력버퍼(610)로 전송되는 데이터의 포맷도이다. 도 6 의 (a)에 표시된 Tb 는 상위 박스(Top box)를 나타내며, Bb 는 하위 박스(Bottom box)를 나타내는데, 상위 박스(Tb)와 하위 박스(Bb)에는 각각 4 개의 화소가 존재한다. 그리고, 도 6 의 (a)에 표시된 R1 은 제 1 램(도 3 참조: RAM1)에 저장되는 화소들을 나타낸 것이고, , R2 는 제 2 램(도 3 참조: RAM2)에 저장되는 화소들을 나타낸 것이며, R3 는 제 3 램(도 3 참조: RAM3)에 저장되는 화소들을 나타낸 것이고, R4 는 제 4 램(도 3 참조: RAM4)에 저장되는 화소들을 나타낸 것이다. 도 6 의 (d)를 참조하면, (a)의 첫 번째 상위 박스내에 있는 휘도신호(Y)에 대한 4 개의 화소값과 첫 번째 하위 박스내에 있는 휘도신호(Y)에 대한 4 개의 화소값이 앞부분에 위치하고, 그 다음에는 (b)의 첫 번째에 있는 색차신호(Cb)에 대한 2 개의 화소값이 위치하며, 마지막으로 (c)의 첫 번째에 있는 색차신호(Cr)에 대한 2 개의 화소값이 위치한다. 이때, 형성된 포맷은 총 12 화소값 단위로서 메모리(도 2 참조:300)로부터 공통버스(도 2 참조:500)을 통해 움직임 보상부(도 2 참조:600)의 입력버퍼(도 2 참조:610)로 입력된다.
이어서, 첨부된 도면을 참조하여 본 발명에 따른 움직임 보상장치의 입력버퍼에 대한 동작을 설명하기로 한다. 여기서는 설명의 중복을 피하기 위해 쓰기 어드레스 발생부(도 4 참조:672)의 제 1 프로그래머블 로직 어래이(672-2) 와 읽기 어드레스 발생부(도 5 참조:674)의 제 2 프로그래머블 로직 어래이(674-2)에 대한 입출력 관계를 중점적으로 설명하기로 한다.
우선, 쓰기 어드레스 발생부(도 4 참조:672)의 제 1 프로그래머블 로직 어래이(672-2)에 대한 입출력 관계를 다음 표 1 과 같이 나타낼 수 있으며, cnt_1 는 제 1 카운트 신호를 나타내며, wr_addr1 는 제 1 쓰기 어드레스 신호를 나타내고, wr_addr2 는 제 2 쓰기 어드레스 신호를 나타내며, wr_addr3 은 제 3 쓰기 어드레스 신호를 나타내고, wr_addr4 는 제 4 쓰기 어드레스 신호를 나타내며, wr_addr5 는 제 5 쓰기 어드레스 신호를 나타내고, wr_addr6 은 제 6 쓰기 어드레스 신호를 나타내며, wr_en 은 쓰기 인에이블 신호를 나타낸다.
[표 1]
입력 출력
cnt_1 wr_addr1 wr_addr2 wr_addr3 wr_addr4 wr_addr5 wr_addr6 wr_en
000000 000 100000
000001 000 10000
000010 001 100000
000011 001 10000
000100 000 1000
000101 000 000100
000110 001 1000
000111 001 100
001000 010 100000
001001 010 10000
001010 011 100000
001011 011 10000
001100 010 1000
001101 010 100
001110 011 1000
001111 011 100
010000 100 100000
010001 100 10000
010010 101 100000
010011 101 10000
010100 100 1000
010101 100 100
010110 101 1000
010111 101 100
011000 110 100000
011001 110 10000
011010 111 100000
011011 111 10000
011100 110 1000
011101 110 100
011110 111 1000
011111 111 100
100000 000 10
100001 001 10
100010 010 10
100011 011 10
100100 100 10
100101 101 10
100110 110 10
100111 111 10
101000 000 1
101001 001 1
101010 010 1
101011 011 1
101100 100 1
101101 101 1
101110 110 1
101111 111 1
상기 표 1 를 참조하면, 쓰기 어드레스 발생부(도 4 참조:672)의 제 1 카운터(672-1)로부터 입력된 제 1 카운트 신호(cnt_1)가 0, 10, 1000, 1010, 10000, 10010, 11000 및 11010 일 때 제 1 어드레스 신호(wr_addr1)는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호(wr_en)는 100000 으로 출력된다.
제 1 카운트 신호(cnt_1)가 1, 11, 1001, 1011, 10001, 10011, 11001 및 11011 일 때 제 2 어드레스 신호(wr_addr2)는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호(wr_en)는 10000 으로 출력된다.
제 1 카운트 신호(cnt_1)가 100, 110, 1100, 1110, 10100, 10110, 11100 및 11110 일 때 제 3 어드레스 신호(wr_addr3)는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호(wr_en)는 1000 으로 출력된다.
제 1 카운트 신호(cnt_1)가 101, 111, 1101, 1111, 10101, 10111, 11101 및 11111 일 때 제 4 어드레스 신호(wr_addr4)는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호(wr_en)는 100 으로 출력된다.
제 1 카운트 신호(cnt_1)가 100000, 100001, 100010, 100011, 100100, 100101, 100110 및 100111 일 때 제 5 어드레스 신호(wr_addr5)는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호(wr_en)는 10 으로 출력된다.
그리고, 제 1 카운트 신호(cnt_1)가 101000, 101001, 101010, 101011, 101100, 101101, 101110 및 101111 일 때 제 6 어드레스 신호(wr_addr6)는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호(wr_en)는 1 으로 출력된다.
상술한 바와 같이, 상기 제 1 프로그래머블 로직 어래이(672-2)에서 출력된 쓰기 어드레스 신호(wr_addr1∼wr_addr6)와 쓰기 인에이블 신호(wr_en)는 저장부(도 3 참조:676)로 입력된다.
한편, 읽기 어드레스 발생부(도 5 참조:674)의 제 2 프로그래머블 로직 어래이(674-2)에 대한 입출력 관계는 다음 표 2 에 나타낸 바와 같다. 다음 표 2 에 표시된 cnt_2 는 제 2 카운트 신호를 나타내고, rd_addr 는 필드 방식으로 출력하기 위한 읽기 어드레스 신호를 나타낸다.
[표 2]
입력 출력
cnt_2 rd_addr
000 000
001 010
010 100
011 110
100 001
101 011
110 101
111 111
상기 표 2 를 참조하면, 읽기 어드레스 발생부(도 5 참조:674)의 제 2 카운터(674-1)로부터의 제 2 카운트 신호(cnt_2)가 0 인 경우에는 읽기 어드레스 신호(rd_addr)가 0 으로 출력되고, 제 2 카운트 신호(cnt_2)가 1 인 경우에는 읽기 어드레스 신호(rd_addr)가 10 으로 출력되며, 제 2 카운트 신호(cnt_2)가 10 인 경우에는 읽기 어드레스 신호(rd_addr)가 100 으로 출력되고, 제 2 카운트 신호(cnt_2)가 11 인 경우에는 읽기 어드레스 신호(rd_addr)가 110 으로 출력되며, 제 2 카운트 신호(cnt_2)가 100 인 경우에는 읽기 어드레스 신호(rd_addr)가 1 으로 출력되고, 제 2 카운트 신호(cnt_2)가 101 인 경우에는 읽기 어드레스 신호(rd_addr)가 11 으로 출력되고, 제 2 카운트 신호(cnt_2)가 110 인 경우에는 읽기 어드레스 신호(rd_addr)가 101 으로 출력되며, 제 2 카운트 신호(cnt_2)가 111 인 경우에는 읽기 어드레스 신호(rd_addr)가 111 으로 출력된다.
상술한 바와 같이, 상기 제 2 프로그래머블 로직 어래이(도 5 참조:674-2)에서 출력된 읽기 어드레스 신호(rd_addr)는 다중화기(도 5 참조:674-3)로 입력된다. 그러면, 이산여현변환의 타입신호(dct_type)에 의해 다중화기(도 5 참조:674-3)에서 읽기 어드레스 신호가 선택되고, 그 선택된 읽기 어드레스 신호에 따라 저장부(도 3 참조:676)에 저장되어 있던 움직임 보상된 화소 데이터가 12 화소 단위로 출력되는 것이다.
결국, 본 발명은 54MHz 로 동작하는 움직임 보상부(도 2 참조:600)와 81MHz로 동작하는 메모리(도 2 참조:300)간의 동작 속도를 맞추기 위해, 움직임 보상부(도 2 참조:600)내의 출력버퍼(도 3 참조:670)에서 인터페이싱을 수행하여 12 화소 단위의 움직임 보상된 화소 데이터를 공통버스(도 2 참조:500)를 통해 출력시키면, 그 공통버스(도 2 참조:500)로부터의 12 화소 단위의 화소 데이터는 메모리(도 2 참조:300)에 저장되는 것이다.
한편, 본원 청구범위의 각 구성요소에 병기된 도면 참조부호는 본원 발명의 이해를 용이하게 하기 위한 것으로, 본원 발명의 기술적 범위를 도면에 도시한 실시예로 한정할 의도에서 병기한 것은 아니다.
그리고, 상기에서 서술된 실시예는 모든 점에서 예시에 불과한 것이고, 이를 한정적으로 해석해서는 안되며, 단지 본 발명의 진정한 정신 및 범위내에 존재하는 변형예는 모두 본 발명의 청구 범위에 속하는 것이다.
이상에서 서술한 바와 같이 본 발명에 따르면 영상 복호화기에서 움직임 보상을 수행함에 있어서 서로 동작속도가 다른 기능 블록사이에 데이터의 입출력을 적절히 인터페이싱 하는 블록을 구비하므로써 움직임 보상을 원할하게 수행할 수 있다는 데 그 효과가 있다.

Claims (8)

  1. 시스템 클럭, 시스템 리셋신호 및 시작을 알리는 신호를 입력받아 쓰기 어드레스 신호 및 쓰기 인에이블 신호를 발생시키는 쓰기 어드레스 발생부(672)와;
    블록의 시작을 알려주는 신호와 이산여현변환의 타입을 알려주는 신호를 입력받아 읽기 어드레스 신호를 발생시키는 읽기 어드레스 발생부(674);
    상기 쓰기 어드레스 발생부(672)로부터의 쓰기 어드레스 신호 및 쓰기 인에이블 신호에 따라 입력되는 화소 데이터를 저장시키고, 상기 읽기 어드레스 발생부(674)로부터의 읽기 어드레스 신호에 따라 저장되어 있던 화소 데이터를 출력시키는 저장부(676)로 구성된 움직임 보상장치의 출력버퍼.
  2. 제 1 항에 있어서, 상기 쓰기 어드레스 발생부(672)가, 시스템 클럭, 시스템 리셋신호 및 시작을 알리는 신호를 입력받아 제 1 카운트 신호를 출력시키는 제 1 카운터(672-1); 및
    상기 제 1 카운터(672-1)로부터의 제 1 카운트 신호에 따라 쓰기 어드레스 신호 및 쓰기 인에이블 신호를 출력시키는 제 1 프로그래머블 로직 어래이(672-2)로 구성된 것을 특징으로 하는 움직임 보상장치의 출력버퍼.
  3. 제 2 항에 있어서, 상기 제 1 카운터(672-1)가, 6 비트 카운터로 구현된 것을 특징으로 하는 움직임 보상장치의 출력버퍼.
  4. 제 2 항에 있어서, 상기 제 1 프로그래머블 로직 어래이(672-2)가, 제 1 카운트 신호가 0, 10, 1000, 1010, 10000, 10010, 11000 및 11010 일 때 제 1 어드레스 신호는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호는 100000 으로 출력되며, 제 1 카운트 신호가 1, 11, 1001, 1011, 10001, 10011, 11001 및 11011 일 때 제 2 어드레스 신호는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호는 10000 으로 출력되며, 제 1 카운트 신호가 100, 110, 1100, 1110, 10100, 10110, 11100 및 11110 일 때 제 3 어드레스 신호는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호는 1000 으로 출력되며, 제 1 카운트 신호가 101, 111, 1101, 1111, 10101, 10111, 11101 및 11111 일 때 제 4 어드레스 신호는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호는 100 으로 출력되며, 제 1 카운트 신호가 100000, 100001, 100010, 100011, 100100, 100101, 100110 및 100111 일 때 제 5 어드레스 신호는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호는 10 으로 출력되며, 제 1 카운트 신호가 101000, 101001, 101010, 101011, 101100, 101101, 101110 및 101111 일 때 제 6 어드레스 신호는 0, 1, 10, 11, 100, 101, 110 및 111 로 출력되고 쓰기 인에이블 신호는 1 으로 출력되도록 구현된 것을 특징으로 하는 움직임 보상장치의 출력버퍼.
  5. 제 1 항에 있어서, 상기 읽기 어드레스 발생부(674)가, 블록의 시작을 알리는 신호를 입력받아 제 2 카운트 신호를 출력시키는 제 2 카운터(674-1)와: 상기 제 2 카운터(674-1)로부터의 제 2 카운터 신호에 따라 필드 방식의 신호를 출력시키는 제 2 프로그래머블 로직 어래이(674-2); 및
    이산여현변환의 타입을 알려주는 신호에 따라 상기 제 2 카운터(674-1)로부터의 제 2 카운터 신호와 상기 제 2 프로그래머블 로직 어래이(674-2)로부터의 필드 방식의 신호중 한 신호를 선택하여, 그 선택된 신호를 읽기 어드레스 신호로서 출력시키는 다중화기(674-3)로 구성된 것을 특징으로 하는 움직임 보상장치의 출력버퍼.
  6. 제 5 항에 있어서, 상기 제 2 카운터(674-1)가, 3 비트 카운터로 구현된 것을 특징으로 하는 움직임 보상장치의 출력버퍼.
  7. 제 5 항에 있어서, 상기 제 2 프로그래머블 로직 어래이(674-2)가, 제 2 카운트 신호가 0 인 경우에는 읽기 어드레스 신호가 0 으로 출력되고, 제 2 카운트 신호가 1 인 경우에는 읽기 어드레스 신호가 10 으로 출력되며, 제 2 카운트 신호가 10 인 경우에는 읽기 어드레스 신호가 100 으로 출력되고, 제 2 카운트 신호가 11 인 경우에는 읽기 어드레스 신호가 110 으로 출력되며, 제 2 카운트 신호가 100 인 경우에는 읽기 어드레스 신호가 1 로 출력되고, 제 2 카운트 신호가 101 인 경우에는 읽기 어드레스 신호가 11 로 출력되고, 제 2 카운트 신호가 110 인 경우에는 읽기 어드레스 신호가 101 로 출력되며, 제 2 카운트 신호가 111 인 경우에는 읽기 어드레스 신호가 111 로 출력되도록 구현된 것을 특징으로 하는 움직임 보상장치의 출력버퍼.
  8. 제 1 항에 있어서, 상기 저장부(676)가, 6 개의 램(RAM1∼RAM6)으로 구현된 것을 특징으로 하는 움직임 보상장치의 출력버퍼.
KR1019970011861A 1997-03-31 1997-03-31 움직임 보상장치의 출력버퍼 KR19980075619A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970011861A KR19980075619A (ko) 1997-03-31 1997-03-31 움직임 보상장치의 출력버퍼

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970011861A KR19980075619A (ko) 1997-03-31 1997-03-31 움직임 보상장치의 출력버퍼

Publications (1)

Publication Number Publication Date
KR19980075619A true KR19980075619A (ko) 1998-11-16

Family

ID=65950616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970011861A KR19980075619A (ko) 1997-03-31 1997-03-31 움직임 보상장치의 출력버퍼

Country Status (1)

Country Link
KR (1) KR19980075619A (ko)

Similar Documents

Publication Publication Date Title
US5638128A (en) Pixel interpolation filters for video decompression processor
CA2154856C (en) Dram mapping for a digital video decompression processor
US5963222A (en) Multi-format reduced memory MPEG decoder with hybrid memory address generation
US20030138045A1 (en) Video decoder with scalable architecture
US20070195882A1 (en) Video decoder with scalable compression and buffer for storing and retrieving reference frame data
KR19990006744A (ko) 동화상의 부호화방법 및 복호화방법
KR100391038B1 (ko) 감소된메모리용량을요구하는압축비디오데이터디코딩방법
KR19980068686A (ko) 엠펙 디코더(MPEG Decoder)의 레터 박스(Letter Box) 처리방법
JPH089389A (ja) デジタルビデオ信号の並列復号化装置
KR100335057B1 (ko) 동영상 수신 장치
KR100442229B1 (ko) 간이형hdtv비디오디코더및디코딩방법
KR100681242B1 (ko) 동영상 복호화 방법, 동영상 복호화 장치 및 이를 가지는시스템 온 칩 시스템
JPH11298903A (ja) ディジタル画像復号装置及び方法、並びに提供媒体
JP3696490B2 (ja) デコーダのビデオメモリ条件を減少させる方法及びビデオデコーダ
JP2950367B2 (ja) 逆離散余弦変換器におけるデータ出力順序変換方法及び回路
KR19980075619A (ko) 움직임 보상장치의 출력버퍼
JPH11136686A (ja) 復号画像変換回路および復号画像変換装置
KR100277953B1 (ko) 디지털 티브이 수신 장치
KR100248651B1 (ko) 움직임 보상장치
KR20010011309A (ko) 저 복잡도의 동영상 인코더 장치 및 방법
KR19980075611A (ko) 움직임 보상장치의 입력버퍼
KR100255793B1 (ko) 움직임 보상 장치에서의 p-픽쳐 및 b-픽쳐를 보상하기 위한합산 회로
KR100255794B1 (ko) 움직임 보상 장치의 선입선출 버퍼
KR100243476B1 (ko) 움직임 보상 장치의 반화소 보상기
KR100269426B1 (ko) 개선된프레임메모리를갖는움직임보상장치

Legal Events

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