KR100195098B1 - 영상 압축 및 복원장치에 있어서 가변길이복호화된 데이타 재배열방법 및 회로 - Google Patents
영상 압축 및 복원장치에 있어서 가변길이복호화된 데이타 재배열방법 및 회로 Download PDFInfo
- Publication number
- KR100195098B1 KR100195098B1 KR1019950035370A KR19950035370A KR100195098B1 KR 100195098 B1 KR100195098 B1 KR 100195098B1 KR 1019950035370 A KR1019950035370 A KR 1019950035370A KR 19950035370 A KR19950035370 A KR 19950035370A KR 100195098 B1 KR100195098 B1 KR 100195098B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- read
- memory unit
- bit
- decoder
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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 characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
본 발명은 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열방법 및 회로에 관한 것으로서, 가변길이 복호화된 시리얼 비트스트림을 소정 비트 단위로 팩킹하여 각 팩킹 데이타에 대한 기입어드레스를 발생시켜 메모리부에 저장하고, 저장된 팩킹 데이타가 소정의 한계치를 초과하는 경우 고속 페이저 모드로 외부 메모리에 전송하기 위한 리퀘스트 신호를 발생시키기 위한 제1데이타 처리부, 리퀘스트신호에 대한 억셉트신호가 발생되면 메모리부로 부터 N개의 팩킹 데이타를 독출하기 위한 독출어드레스를 발생시켜 메모리부로 인가하기 위한 제2데이타 처리부와 해당 독출어드레서에 저장된 N개의 팩킹데이타를 순차적으로 독출하여 외부 메모리로 전송시키는 메모리부로 구성된다. 따라서, 리퀘스트/억셉트를 통한 타이밍 마진을 확보할 수 있고, 스타트-코드를 자동으로 바이트-얼라인먼트 시킬 수 있고, 메모리의 안정된 기입 및 독출 타이밍을 구현할 수 있으며, 독출/기입시 메모리의 독출/기입 뱅크를 효율적으로 스위칭해 줄 수 있다.
Description
제1도는 영상 압축 및 복원장치에 있어서 본 발명에 의한 가변길이 복호화된 데이타 재배열회로를 나타낸 블럭도.
제2도는 제1도에 있어서 제1데이타 처리부의 세부 회로도.
제3도는 제1도에 있어서 제2데이타 처리부의 세부 회로도.
제4도는 제1도에 있어서 메모리부의 세부 회로도.
제5a~5h도는 제4도에 도시된 메모리부의 동작 타이밍도.
제6a~6o도는 제2도에 도시된 제1데이타 처리부의 동작 타이밍도,
제7a~7k도는 제3도에 도시된 제2데이타 처리부의 동작 타이밍도.
본 발명은 영상 압축 및 복원장치에 관한 것으로, 특히 가변길이 복호화된 비트스트림을 64비트식 팩킹하여 메모리에 기입한 후, 메모리가 소정 용량 이상 채워지면 메모리로부터 8개 데이터를 고속페이지 모드로 독출하기 위한 가변길이 복호화된 데이터 재배열 방법 및 회로에 관한 것이다.
현재 광범위하게 사용되고 있는 영상정보의 저장 혹은 전송시스템은 아날로그 방식으로서, 이 아날로그 방식을 디지털 방식으로 전환할 경우 화질, 신뢰성 및 데이터 저리의 용이성 등에 보다 우수한 성능을 얻을 수 있어 이에 대한 활발한 연구가 진행되고 있다. 이러한 영상정보의 디지털 처리기술은 HDTV, DVCR, 영상회의시스템 등에 적용되고 있으며, 앞으로 그 응용범위가 더욱 확대될 전망이다.
그러나, 디지털 방식의 영상처리시스템은 아날로그 방식에 비해 그 정보량이 매우 방대해 자기 때문에 전송채널 및 저장매체의 효율적인 사용을 위해 정보량을 감축하여야 하고, 따라서 현재 MPEG을 중심으로 동영상 부호화방식에 대한 국제 표준화 작업이 활발히 진행중이다.
한편, 영상신호의 일반적인 압축기법은 영상정보가 가지고 있는 공간적, 시간적 상관관계를 이용하여 잉여정보를 제거하고, 이를 가변장부호화함으로써 효과적으로 수행될 수 있다. 그중 대표적인 압축기법은 움직임 보상형 이산여현변환(Motion Compensated DCT)을 이용한 엔트로피 부호화방식으로서, 동영상 부호화의 국제 표준화작업을 진행하고 있는 MPEG 등에서 이미 이를 채택하고 있다.
이러한 동영상 부호화방식에 의해 부호화된 비트스트림은 VLD, 역양자화기, 역 이산여현변환기와 움직임 보상기 등으로 구성되는 영상복원장치에 인가되어 원래의 영상으로 복원된다. 영상압축장치에 사용되어지는 가변길이 부호화기(Variable Length Coder : 이하 VLC라 칭함)는 통계적으로 많이 발생하는 심볼에 대해서 짧은 코드를 할당하므로 상기 VLD는 이러한 가변길이의 압축코드를 원래의 코드로 복원하게 된다.
본 발명의 목적은 영상 압축 및 복원장치에 있어서, 가변길이복호화되어 입력되는 비트스트림을 64비트씩 팩킹하고, 리퀘스트신호와 억셉트 신호를 이용하여 상기 팩킹된 데이터를 8개 단위로 외부 메모리에 고속 페이지 모드로 전송하기 위한 가변길이 복호화된 데이터 재배열방법 및 회로를 제공하는데 있다. 따라서, 데이터 처리의 유연성(flexibility)을 향상시킬 수 있을 뿐 아니라 스타트-코드를 8비트 단위로 항상 재 정렬함으로써 코드 검출을 용이하게 하고, 자동으로 바이트 얼라인먼트(byte-allignment)가 가능하도록 한다.
상기 목적을 달성하기 위하여 영상 압축 및 복원장치에 있어서 본 발명에 의한 가변길이 복호화된 데이터 재배열방법은
가변길이 복호화된 시리얼 비트스트림을 소정 비트 단위로 팩킹 하고, 각 팩킹 데이터에 대한 기입 어드레스를 발생시켜 메모리부의 해당 기입 어드레스에 상기 팩킹 데이터를 저장하는 단계;
상기 내부메모리에 저장된 팩킹 데이터가 소정의 한계치를 초과하는 경우 고속 페이지 모드로 외부 메모리에 전송하기 위한 리퀘스트 신호를 발생시키는 단계;
상기 리퀘스트 신호에 대한 억셉트 신호가 발생되면 상기 메모리부로부터 N개의 상기 팩킹 데이터를 독출하기 위한 독출 어드레스를 발생시키는 단계; 및
상기 내부메모리로부터 상기 해당 독출 어드레스에 저장된 N개의 팩킹 데이타를 순차적으로 독출하여 외부 메모리로 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위하여 영상 압축 및 복원 장치에 있어서 본 발명에 의한 가변길이 복호화된 데이터 재배열회로는 가변길이 복호화된 시리얼 비트스트림을 발생시켜 메모리부에 저장하고, 상기 저장된 팩킹 데이터가 소정의 한계치를 초과하는 경우 고속 페이지 모드로 외부 메모리에 전송하기 위한 리퀘스트 신호를 발생시키기 위한 제 1데이터 처리부; 상기 리퀘스트신호에 대한 억셉트 신호가 발생되면 상기 메모리부로 부터 N개의 상기 팩킹 데이터를 독출하기 위한 독출 어드레스를 발생시켜 상기 메모리부로 인가하기 위한 제 2 데이터 처리부; 및 상기 해당 독출 어드레스에 저장된 N개의 팩킹 데이터를 순차적으로 독출하여 외부 메모리로 전송시키는 메모리부를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.
제1도는 영상 압축 및 복원장치에 있어서, 본 발명에 의한 가변길이 복호화된 데이터 재배열회로(10)를 나타낸 블록도로서, 가변길이 복호화된 시리얼 비트스트림을 소정 비트 단위로 팩킹하여 각 팩킹 데이터에 대한 기입 어드레스를 발생시켜 메모리부(15)에 저장하고, 저장된 팩킹 데이터가 소정의 한계치를 초과하는 경우 고속 페이지 모드로 외부 메모리(미도시)에 전송하기 위한 리퀘스트 신호를 발생시키기 위한 제1데이타 처리부(11), 리퀘스트신호에 대한 억셉트 신호가 발생되면 메모리부(15)로부터 N개의 팩킹 데이터를 독출하기 위한 독출 어드레스를 발생시켜 메모리부(15)로 인가하기 위한 제2데이터 처리부(13)와 해당 독출 어드레스에 저장된 N개의 팩킹 데이터를 순차적으로 독출하여 외부 메모리로 외부 메모리로 전송시키는 메모리부(15)로 구성된다.
여기서 메모리부(15)는 편의상 그 용량이 64비트×16워드인 FIFO(First-In First-Out) 혹은 램을 예로 들기로 한다.
제2도는 제1도에 있어서 제1데이터 처리부(11)의 세부 회로도로서, 24비트 쉬프트 레지스터(21), 제1내지 제3디코더(22, 23, 27), 제1내지 제3카운터(23, 26, 28), 6개의 D 플립플롭(D1∼D6), 1개의 버퍼(B1), 8개의 8비트 쉬프트 레지스터(25a∼25h), 3개의 앤드게이트(A1∼A3), 1개의 낸드게이트(NA1)로 구성된다.
제3도는 제1도에 있어서 제2데이터 처리부(13)의 세부 회로도로서, 제 4카운터(31), 어드레스 상위 비트 발생부(32), 제4디코더(33), 4개의 D 플립플롭(D7∼D10), 2개의 낸드게이트(NA2, NA3), 1개의 앤드게이트(A4), 2개의 인버터(11, 12)로 구성된다. 여기서, 어드레스 상위 비트 발생부(32)는 앤드게이트(32a)와 배타논리합게이트(32b)으로 구성된다.
제4도는 제1도에 있어서 메모리부(15)의 세부 회로도로서, 6개의 인버터(13∼18), 제5앤드 게이트(A5), 멀티플렉서(41)와 메모리(42)로 구성된다. 여기서, 64비트 쉬프트 레지스터(43)는 메모리(42)에서 출력되는 64비트 데이터를 쉬프트시키기 위한 것이다.
제 5a∼5h도는 제 4도에 도시된 메모리부(15)의 동작 타이밍도이다. 여기서, 제5a∼5d도는 독출 사이클을 나타내는 것으로서, 제5a도는 액티브 '로우' 상태인 입 인에이블 신호(CEN)를 나타내는 것으로서, TRC는 독출 사이클, TPC 프리챠지구간, TAP는 독출 실행구간을 나타낸다. 제5b도는 독출/기입 제어신호(R/W)를 나타내는 것으로서, TRS는 독출 셋업 구간, TRU는 독출 홀드구간을 나타낸다. 제5c도는 어드레스(ADDR), 제5d도는 출력신호(DOUT)를 각각 나타내며, TOH는 출력 홀드구간을 의미한다. 한편, 제5e∼5h도는 기입사이클을 나타내는 것으로서, 제5e도는 액티브 '로우' 상태인 칩 인에이블 신호(CEN), 제5f도는 독출/기입 제어신호(R/W), 제5g도는 어드레스(ADDR), 제5h도는 출력신호(DOUT)를 각각 나타낸다. 이때, 기입 사이클에서 칩 인에이블 신호(CEN)가 '로우'인 구간동안 독출/기입 제어신호(R/W)가 '로우'이면 칩 인에이블 신호(CEN)의 상승에지(↑)에서 데이터를 밸리드시킨다.
제6a∼6o도는 제2도에 도시된 제1데이터 처리부(11)의 동작 타이밍도로서, 메모리부(15)에 8비트 단위로 데이터를 기입하는 경우에 대한 것이다. 제6a도는 CLK40, 제6b도는 CLK20, 제6c도는 SC, 제6d도는 24비트 쉬프트 레지스터(21)의 출력, 제6e도는 제 1D 플립플롭(D1)의 단자에서 출력되는 제1카운터(23)의 리 신호, 제6f도는 제1카운터(23)의 출력, 제6g도는 제2디코더(24)에서 SCK의 하강에지(↓)에서 제1카운터(23)의 출력 중 '0'값을 래치한 결과, 제6h도는 제2카운터(26) 출력, 제61도는 제3디코더(27)에서 SCK의 상승에지(↑)에서 제2카운터(26)의 출력 중 '7'을 래치한 결과, 제6j도는 제 3카운터(28)의 클럭 신호, 제6k도는 제4D플립플롭(D4)의 Q 단자에서 출력되는 신호, 제6l도는 제5d 플립플롭(D5)의 단자에서 출력되는 신호, 제6m도는 제1낸드게이트(NA1)에서 출력되는 RW 신호, 제6n도는 제3앤드게이트(A3)에서 출력되는 WCE 신호, 제60도는 제3카운터(28)에서 출력되는 기입어드레스(WADDR)을 각각 나타낸다. 클럭 신호 SCK는 CLK20을 지연시킨 신호로서, CLK40 및 CLK20을 배타적 논리합 연산하여 발생시킬 수 있다.
제7a도∼제7k도는 제3도에 도시된 제2데이터 처리부(13)의 동작 타이밍도로서, 제7a도는 CLK40, 제7b도는 CLK20, 제7c도는 VBVACC 신호, 제7d도는 제7D 플립플롭(D7)의 출력, 제7e도는 제 8D 플립플롭(D8)의 출력, 제7f도는 제2낸드게이트(NA2)의 출력, 제7g도는 제4카운터(31)의 출력, 제7h도는 제9D플립플롭(D9)의 출력, 제71도는 제 10D 플립플롭(D10)의 출력, 제7j도는 제 4앤드게이트(A4)의 출력, 제7k도는 제3낸드게이트(NA3)에서 출력되는 RCE 신호를 각각 나타낸다.
그러면 본 발명의 구성에 따른 동작을 제1도 내지 제7도를 참조하여 설명하면 다음과 같다.
영상압축장치에 의해 부호화된 비트스트림이 초당 약 20 Mbit로 입력되며, 이 비트스트림을 가변길이 복호화기(Variable Length Decoder : 미도시), 역양자화기(미도시)와 역 이산여현변환기(미도시)를 거쳐 부호화되기 이전의 영상신호로 복원하는 영상복원장치에 있어서, 제1데이터 처리부(11)에서는 입력되는 시리얼(serial) 비트스트림으로부터 스타트-코드(start-code)를 검출하여 각 스타트-코드별로 바이트-얼라인먼트를 행하고, 이와 동시에 64 비트 단위로 팩킹하여 각 팩킹데이터에 대한 기입 어드레스를 발생시킨다. 이때, 팩킹된 데이터가 소정의 한계치(여기서는 예를 들어 8개 즉, 8×64 비트 즉, 메모리부(15)의 전체용량(16×64 비트)의 1/2을 예로 듬)를 넘는 경우, 팩킹된 데이터를 고속 페이지 모드(page-mode)에 의해 메모리부(15)에 기입하기 위한 리퀘스트 신호(VBV-REQUEST)를 발생시킨다.
여기서, 제1데이터 처리부(11)의 동작을 제2도를 참조하여 좀 더 상세히 설명하면 다음과 같다.
24비트 쉬프트 레지스터(21)에서는 먼저 신호가 '로우'이면 가변길이 복호화 되어 시리얼로 입력되는 비트스트림(SERIAL_IN)을 밸리드(valid)시키고, '하이'이면 인밸리드(invalid)시키고, 신호가 '로우'인 경우 시리얼로 입력되는 가변길이 복호화된 비트스트림을 SCK 신호(제6도)를 클럭 신호로 하여 패러럴 데이터로 변환하여 출력한다.
제1디코더(22)는 24비트 쉬프트 레지스터(21)에서 출력되는 24비트 패러럴 데이터(제 6D도)로부터 스타트-코드를 디코딩시켜 제1D 플립플롭(D1)을 통해 제1카운터(23)로 출력한다. 여기서, 제1디코더(23)로 출력한다. 여기서, 제1디코더(22)는 MPEG-2의 경우 '0000 0000 0000 0000 0000 0001'을 디코딩한다.
제1카운터(23)는 바이트-얼라인먼트 3비트 카운터로서, 제1D 플립플롭(D1)에서 출력되는 데이터(제6e도)에 의해 리셋된 후, 1씩 증가시킨 후 제6f도와 같은 카운트 값을 제2디코더(24), 제2D 플립플롭(D2)과 제1버퍼(B1)를 순차적으로 거쳐 8개의 8비트 쉬프트 레지스터(25a∼25h)의 클럭 단자에 각각 인가한다. 이때, 제6g도에서와 같이 제2디코더(24)에 의해 '0'이 디코딩 될 때마다 24비트 쉬프트 레지스터(21)에서 출력되는 24비트 페러럴 데이터 중 LSB쪽 8비트를 8개의 8비트 쉬프트 레지스터(25a∼25h)에 차례로 인가한다.
8개의 8비트 쉬프트 레지스터(25a∼25h)에 LSB쪽 8비트가 8개 모이면 제2카운터(26), 제3디코더(27), 제3D 플립플롭(D3)과 제3카운터(28)에 의해 제6h도에서와 같이 64 비트 단위로 기입 어드레스(WADDR)가 '7'을 디코딩한다. 만약 제3카운터(28)에서 출력되는 기입어드레스(WADDR)가 '7', '15'가 되면 제4D 플립플롭(D4), 제1앤드게이트(A1), 제 2앤드게이트(A2)와 제6D 플립플롭(D6)에 의해 리퀘스트신호(VWR)가 발생된다. 이때, 리퀘스트신호(VWR)는 CLK20의 하강에지(↓)에서 펄스 형태로 발생한다. 한편, 제5D 플립플롭(D5)와 제 1낸드게이트(NA1)에 의해 제6n도에서와 같이 독출/기입제어신호(RW)가 발생되고, 제3앤드게이트(A3)에 의해 제6o도에서와 같이 기입용 칩 인에이블 신호(WCE)가 발생한다. 이때, 독출/기입제어신호(RW) '하이'인 경우 독출, '로우'인 경우 기입으로 구분한다.
즉, 제2도에 도시된 바와 같이 가변길이 복호화되어 제1데이터 처리부(11)에 입력되는 비트스트림은 64 비트씩 팩킹되고, 팩킹된 데이터가 8개 모이면 리퀘스트신호가 발생한다. 여기서, 리퀘스트신호가 발생한 후 억셉트 신호가 발생되기까지의 시간은 일정하지 않으므로 가장 긴 시간을 설정해야 하는데, 이는 다른 리퀘스트신호와는 상관이 없는 것이다. 본 발명에서는 편의상 리퀘스트신호가 발생한 후 억셉트 신호가 발생되기까지의 시간을 비트별로 8×8×8 비트 정도의 클럭 기간으로 설정한다. 이 시간은 메모리부(15)의 사이즈를 가변시킴으로써 변형이 가능하다.
제1데이터 처리부(11)에서 발생된 리퀘스트신호는 메모리 제어부(미도시)에 입력되어 소정 시점에 이 퀘스트 신호를 처리하기 위한 억셉트 신호(VBVACC)를 발생시킨다.
한편, 제2데이터 처리부(13)를 제 3도를 참조하여 설명하면 다음과 같다.
제2도에 있어서, 리퀘스트신호에 대하여 억셉트 신호(VBVACC : 제7c도)가 발생되면, 억셉트 신호(VBVACC)는 제7,8D 플립플롭(D7, D8), 제2낸드게이트(NA2)를 거쳐 제 4카운터(31)로 인가된다. 제4카운터(31)는 독출 어드레스(RADDR)를 제어하기 위한 것으로서, 제7g도와 같은 형태의 독출 어드레스(RADDR)를 출력하며, 독출 어드레스(RADDR)는 0∼7, 혹은 8∼15 까지를 읽어야 하는데 이는 메모리부(15)에서 현재 기입되고 있는 부분을 피해서 진행되어야 한다.
어드레스 상위 비트 발생부(32)는 메모리부(15)에서 독출/기입 뱅크의 중복을 피하기 위한 어드레스 상위 비트를 발생시킨다. 즉, 기입어드레스(WADDR)가 7∼14사이에 있으면 0∼7을 읽어내고, 15, 0∼6사이에 있으면 8∼15를 읽어낸다.
상기한 바와 같이 제2데이타 처리부(13)에서는 억셉트 신호가 발생되면 메모리부(15)로부터 8개의 64비트 데이터를 CLK20(제 7B도) 레이트로 독출하기 위한 독출 어드레스(RADDR)를 발생시켜 메모리부(15)로 인가하고, 메모리부(15)에서는 해당 독출 어드레스에 저장된 8개의 데이터가 차례로 독출된다. 그리고, 제4디코더(33), 제9,10D 플립플롭(D9, D10), 제3,4낸드게이트(NA3, NA4)와 제1,2인버터(11, 12)에 의해 제7k도와 같은 독출용 칩 인에이블 신호(RCE)가 발생된다.
이때, 리퀘스트와 억셉트 사이에 소요되는 시간은 일반적으로 정해져 있지 않으므로 본 발명에서는 입력되는 비트스트림을 64 비트씩 팩킹하여 메모리부(15)에 기입하는 동작을 계속 진행하고, 리퀘스트신호를 발생하고, 억셉트 신호에 따라 8개의 데이터단위를 메모리부(15)에서 독출하는 3가지 동작을 계속 진행시켜야 한다. 여기서, 팩킹 단위는 32 비트 혹은 128 비트 등 여러 가지가 있을 수 있으며, 메모리부(15)에서 독출되는 데이터단위 또는 16개 혹은 32개 등으로 확장이 가능하다.
한편, 메모리부(15)는 제4도에 도시된 바와 같이, 편의상 가장 간단한 데이터-입력(DIN), 데이터-출력(DOUT)의 2 포트와 어드레스(ADDR) 공용포트와 독출/기입(RW) 선택 포트로 구성된 형태를 사용한다. 이는 응용상 다른 구조의 메모리로 변형이 용이하다. 그리고, 칩 인에이블 신호(CEN)는 '하이'인 경우 독출, '로우'인 경우 기입을 나타낸다.
본 발명은 편의상 팩킹을 64비트 단위로 행하고, 팩킹된 데이터가 8개 모이면 리퀘스트신호를 발생한다고 가정하였으나, 이는 메모리부(15)의 사이즈 혹은 기타 응용에 따라서 다른 값으로 변형이 가능하다. 또한, 표기에 있어서 CLK20과 CLK40는 편의상 20MHz, 40MHz클럭을 의미하며, 물론 다른 값으로의 변형이 가능하다. 단, CLK40은 CLK20을 2분주하여 생성된 것으로서, 주파수가 2배인 관계는 만족시켜야 한다.
본 발명은 가변길이 복호화된 비트스트림을 저장하는 메모리의 기입 및 독출 동작을 정의하는 구조를 응용하는 모든 하드웨어에 적용이 가능하다.
상술한 바와 같이 영상 압축 및 복원장치에 있어서 본 발명에 의한 가변길이 복호화된 데이터 재배열방법 및 회로에서는 가변길이 복호화되어 입력되는 비트스트림을 소정 비트씩 팩킹하고, 리퀘스트신호와 억셉트 신호를 이용하여 상기 팩킹된 데이터를 소정개 단위로 외부 메모리에 고속 페이지 모드로 전송함으로써 리퀘스트/억셉트를 통한 타이밍 마진을 확보할 수 있고, 스타트-코드를 자동으로 바이트-얼라인먼트 시킬 수 있는 이점이 있다. 또한 메모리의 안정된 기입 및 독출 타이밍을 구현할 수 있으며, 독출/기입시 메모리의 독출/기입 뱅크를 효율적으로 스위칭해 줄 수 있는 이점이 있다.
Claims (7)
- 가변길이 복호화된 시리얼 비트스트림으로부터 스타트-코드를 검출하여 각 스타트-코드별로 바이트-얼라인먼트를 실행하면서 소정 비트 단위로 팩킹하고 팩킹 데디이타에 대한 기입어드레스를 발생시켜 메모리부의 해당 기입어드레스에 상기 팩킹데이타를 저장하고, 상기 저장된 팩킹 데이타가 소정의 한계치를 초과하는 경우 고속 페이지 모드로 외부 메모리에 전송하기 위한 리퀘스트 신호를 발생시키기 위한 제1데이타 처리부; 상기 리퀘스트신호에 대한 억셉트신호가 발생되면 상기 메모리부로부터 N개의 상기 팩킹데이타를 독출하기 위한 독출어드레스를 발생시켜 상기 메모리부로 인가하기 위한 제2데이타 처리부; 및 상기 내부메모리의 해당 독출어드레스에 저장된 N개의 팩킹데이타를 순차적으로 독출하여 외부 메모리로 전송시키는 메모리부를 포함하는 것을 특징으로 하는 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열회로.
- 제3항에 있어서, 상기 소정의 비트 단위는 64비트인 것을 특징으로 하는 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열회로.
- 제1항에 있어서, 상기 소정의 한계치는 상기 메모리부 사이즈의 1/2인 것을 특징으로 하는 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열회로.
- 제3항에 있어서, 상기 제1데이타 처리부는 상기 시리얼 비트스트림을 패러럴 데이타로 변환하기 위한 24비트 쉬프트 레지스터; 상기 24비트 쉬프트 레지스터에서 출력되는 24비트 패러럴 데이타로 부터 스타트-코드를 디코딩하기 위한 제1디코더; 상기 반전된 스타트-코드에 의해 리셋된 후, 상기 제1디코더에서 디코딩된 스타트-코드를 바이트-얼라인먼트하기 위한 제1카운터; 상기 제1카운터의 출력값 중 '0'을 디코딩하기 위한 제2디코더; 상기 제2디코더에서 '0'이 디코딩될 때마다 상기 24비트 쉬프트 레지스터에서 출려고디는 24 비트 패러럴 데이타 중 LSB쪽 8비트를 입력으로 하는 8개의 8비트 쉬프트 레지스터; 상기 제2디코더에서 '0'이 디코딩되는 시점을 카운트하는 제2카운터; 상기 제2카운터의 출력값 중 '7'을 디코딩하기 위한 제3디코더; 상기 제3디코더의 디코딩결과, 상기 8개의 8비트 쉬프트 레지스터에 LSB쪽 8비트가 8개 모이는 시점마다 제1클럭 레이트로 64비트 단위로 기입어드레스를 증가시키는 제3카운터; 상기 제3카운터에서 출력되는 기입어드레스가 '7' 혹은 '15'일 경우 리퀘스트신호를 발생시키는 리퀘스트신호발생기; 상기 제3디코더의 디코딩 결과값 및 상기 제1클럭으로 부터 독출/기입 제어신호를 발생시키기 위한 독출/기입 제어신호발생기; 및 상기 독출/기입 제어신호와 제2클럭으로 부터 기입용 칩 인에이블신호를 발생시키기 위한 기입용 칩인에이블 신호발생기로 구성되는 것을 특징으로 하는 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열회로.
- 제4항에 있어서, 상기 제1클럭은 상기 제2클럭을 2분주한 신호인 것을 특징으로 하는 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열 회로.
- 제3항에 있어서, 상기 제2데이타 처리부는 상기 억셉트신호가 발생되면 상기 메모리부로 부터 8개의 64비트 데이타를 제1클럭 레이트로 독출하기 위한 독출어드레스를 발생시키기 위한 제4카운터; 상기 메모리부에서 독출/기입 뱅크의 중복을 피하기 위한 어드레스 상위비트를 발생시키기 위한 어드레스 상위비트발생부; 상기 제4카운터의 출력값 중 '7'을 디코딩하기 위한 제4디코더; 및 상기 제4디코더의 디코딩결과, 상기 제1클럭과 제2클럭으로 부터 독출용 칩인에이블신호를 발생시키기 위한 독출용 칩인에이블 신호발생기로 구성되는 것을 특징으로 하는 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열 회로.
- 제6항에 있어서, 상기 제1클럭은 상기 제2클럭을 2분주한 신호인 것을 특징으로 하는 영상 압축 및 복원장치에 있어서 가변길이 복호화된 데이타 재배열 회로.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950035370A KR100195098B1 (ko) | 1995-10-13 | 1995-10-13 | 영상 압축 및 복원장치에 있어서 가변길이복호화된 데이타 재배열방법 및 회로 |
US08/581,374 US5822552A (en) | 1995-10-13 | 1995-12-29 | Method and circuit for rearranging output data in variable-length decoder |
JP27030696A JP3032160B2 (ja) | 1995-10-13 | 1996-10-11 | 可変長復号化器における出力デ−タの再配列方法及び回路 |
EP19960307456 EP0768799A3 (en) | 1995-10-13 | 1996-10-14 | Method and circuit for rearranging output data in variable-length decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950035370A KR100195098B1 (ko) | 1995-10-13 | 1995-10-13 | 영상 압축 및 복원장치에 있어서 가변길이복호화된 데이타 재배열방법 및 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970025176A KR970025176A (ko) | 1997-05-30 |
KR100195098B1 true KR100195098B1 (ko) | 1999-06-15 |
Family
ID=19430154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950035370A KR100195098B1 (ko) | 1995-10-13 | 1995-10-13 | 영상 압축 및 복원장치에 있어서 가변길이복호화된 데이타 재배열방법 및 회로 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5822552A (ko) |
EP (1) | EP0768799A3 (ko) |
JP (1) | JP3032160B2 (ko) |
KR (1) | KR100195098B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4614732B2 (ja) * | 2004-10-22 | 2011-01-19 | パナソニック株式会社 | デコード装置 |
US20060230241A1 (en) * | 2005-03-30 | 2006-10-12 | Mehta Kalpesh D | Buffer architecture for data organization |
WO2021174405A1 (en) * | 2020-03-03 | 2021-09-10 | Intel Corporation | Graphics processing unit and central processing unit cooperative variable length data bit packing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5119092A (en) * | 1988-11-22 | 1992-06-02 | Sharp Kabushiki Kaisha | Apparatus for encoding, decoding, and storing waveforms |
US5363097A (en) * | 1992-09-14 | 1994-11-08 | Industrial Technology Research Institute | Direct sequential-bit variable length decoder |
US5426462A (en) * | 1993-05-13 | 1995-06-20 | Intel Corporation | Apparatus for encoding signals using a configurable transform circuit |
US5592399A (en) * | 1993-05-26 | 1997-01-07 | Intel Corporation | Pipelined video encoder architecture |
FR2705805B1 (fr) * | 1993-05-27 | 1996-06-28 | Sgs Thomson Microelectronics | Système de traitement d'images. |
EP0649224B1 (en) * | 1993-09-23 | 1999-03-03 | Lg Electronics Inc. | Variable length coder and variable length decoder |
GB9400101D0 (en) * | 1994-01-05 | 1994-03-02 | Thomson Consumer Electronics | Consumer interface for a satellite television system |
US5502493A (en) * | 1994-05-19 | 1996-03-26 | Matsushita Electric Corporation Of America | Variable length data decoder for use with MPEG encoded video data |
-
1995
- 1995-10-13 KR KR1019950035370A patent/KR100195098B1/ko not_active IP Right Cessation
- 1995-12-29 US US08/581,374 patent/US5822552A/en not_active Expired - Lifetime
-
1996
- 1996-10-11 JP JP27030696A patent/JP3032160B2/ja not_active Expired - Fee Related
- 1996-10-14 EP EP19960307456 patent/EP0768799A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US5822552A (en) | 1998-10-13 |
JPH09294078A (ja) | 1997-11-11 |
EP0768799A3 (en) | 2001-05-09 |
KR970025176A (ko) | 1997-05-30 |
EP0768799A2 (en) | 1997-04-16 |
JP3032160B2 (ja) | 2000-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5963260A (en) | Macroblock-level partitioned HDTV video decoder and related method | |
US6192073B1 (en) | Methods and apparatus for processing video data | |
US7319794B2 (en) | Image decoding unit, image encoding/ decoding devices using image decoding unit, and method thereof | |
US20150146785A1 (en) | Video decoder memory bandwidth compression | |
JPH08251586A (ja) | ランレングス復号化装置 | |
JP2503853B2 (ja) | 動画像復号システム | |
JPH07222164A (ja) | ディジタルビデオ・ビットストリームコーダ | |
GB2480747A (en) | Different memory addressing modes, featuring Golomb coding, dependant on whether data originates from a video decoder or an encoder | |
KR100195098B1 (ko) | 영상 압축 및 복원장치에 있어서 가변길이복호화된 데이타 재배열방법 및 회로 | |
US6928115B2 (en) | Compression-encoded data decoding apparatus cross-reference to related applications | |
US6233280B1 (en) | Video decoder for high picture quality | |
US20040109679A1 (en) | Method and apparatus for writing data by calculating addresses, and digital camera utilizing the same | |
US5805483A (en) | Method of converting data outputting sequence in inverse DCT and circuit thereof | |
KR0176537B1 (ko) | 가변길이복호화기의 메모리 인터페이스방법 및 회로 | |
JP2004501531A (ja) | ビデオ・データをランレングス符号化するための方法と装置 | |
Lin et al. | Low power design for MPEG-2 video decoder | |
US7262718B2 (en) | Variable length decoder and variable length decoding method | |
KR0180163B1 (ko) | 영상복호기의 역스캔장치 | |
KR100209357B1 (ko) | Mpeg-1 및 mpeg-2 비디오 역양자기 회로 | |
CN101583042A (zh) | 在视频解码中降低储存装置读写频宽的系统及方法 | |
KR100238733B1 (ko) | 엠펙디코더의 데이타패킹기능을 가지는 스캔변환회로 및 그 변환방법 | |
KR100277679B1 (ko) | 영상부호화및복호화시스템에서의메모리장치 | |
EP0855106A1 (en) | High performance variable length decoder with two-word bit stream segmentation and related method | |
JP4714531B2 (ja) | ジグザグデータ発生回路 | |
KR0123082B1 (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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110128 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |