KR0180164B1 - 가변길이 부호기 - Google Patents

가변길이 부호기 Download PDF

Info

Publication number
KR0180164B1
KR0180164B1 KR1019950022590A KR19950022590A KR0180164B1 KR 0180164 B1 KR0180164 B1 KR 0180164B1 KR 1019950022590 A KR1019950022590 A KR 1019950022590A KR 19950022590 A KR19950022590 A KR 19950022590A KR 0180164 B1 KR0180164 B1 KR 0180164B1
Authority
KR
South Korea
Prior art keywords
codeword
variable length
length
tbl
output
Prior art date
Application number
KR1019950022590A
Other languages
English (en)
Other versions
KR970009422A (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 KR1019950022590A priority Critical patent/KR0180164B1/ko
Priority to US08/560,696 priority patent/US5754128A/en
Priority to CN95117558A priority patent/CN1108014C/zh
Priority to JP33407295A priority patent/JP3389391B2/ja
Publication of KR970009422A publication Critical patent/KR970009422A/ko
Application granted granted Critical
Publication of KR0180164B1 publication Critical patent/KR0180164B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • 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
    • 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/423Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명에 따른 가변길이 부호기는 줄-길이 부호화된 데이타를 입력받아 미리 내장된 허프만 테이블을 참조하여 가변길이의 부호어(TBL_C)와 이 부호어의 길이(TBL_L)를 출력하는 참조표부(10); 정렬제어신호(ALIGN)에 따라 상기 참조표부(10)로부터 입력받은 가변길이 부호어(TBL_C) 및 부호어의 길이(TBL_L)나 0 및 레지듀(ACC_L1)의 보수 중하나를 선택하여 바이트 정렬하는 정렬기(20); 상기 정렬기(20)로부터 정렬된 가변길이의 부호어(ALN_C)와 부호어의 길이(ALN_L)를 입력받아 이전에 발생된 부호어와 연결시키는 부호어 연결기(30); 상기 정렬기(20)로부터 정렬된 가변길이 부허어의 길이(ALN_L)를 입력받아 누산하여 라이트(WRITE)신호와 레지듀 데이타(ACC_L0, ACC_L1)를 출력하는 누산기(40); 상기 연결기(30)로 부터 연결된 부호어(CAT_C)를 입력받고 상기 정렬기(20)로부터 정렬된 가변길이 부호어(ALN_C)를 각각 입력받아 상기 누산기(40)의 레지듀 데이타(ACC_L0) 출력만큼 내부 레지스터에 저장하는 분할기(50)로 구성되어 비디오 버퍼(60)에 가변길이 부호화된 데이타를 출력한다.

Description

가변길이 부호기
제1도는 일반적인 MPEG2 부호화기를 도시한 블럭도.
제2도는 본 발명에 따른 가변길이 부호기를 도시한 블럭도.
제3도는 제2도에 도시된 참조표부의 세부 블러도.
제4도의 (a) 내지 (d)는 제3도에 도시된 참조표부터의 동작 타이밍도.
제5도는 제2도에 도시된 정렬기의 세부 블럭도.
제6도의 (a)는 제2도에 도시된 연결기의 세부 블럭도.
(b)는 (a)에 도시된 배럴 시프터를 설명하기 위한 도면.
제7도는 제2도에 도시된 누산기의 세부 블럭도.
제8도는 (a)는 제2도에 도시된 분할기의 세부 블럭도.
(b)는 (a)에 도시된 배럴 시프터를 설명하기 위한 도면이다.
* 도면의 주요부분에 대한 부호의 설명
1 : 이산여현 변환부 2 : 양자화부
3 : 줄-길이 부호화부 4 : 가변길이 부호화부
10 : 참조표부 11 : 입력레지스터
12 : 프로그래머블록직어레이(PLA) 13,14,24,25,32,52 : 출력레지스터
20 : 정렬기 21 : 2의 보수기
22,23: 멀티플랙서 30 : 연결기
31,51 : 배럴 시프터 40 : 누산기
41 : 가산기 42 : 레지스터
50 : 분할기 60 : 비디오 버퍼
본 발명은 MPEG과 같이 영상신호를 압축부호화하기 위한 부호화장치에 이용되는 가변길이 부호기(VLC : Variable Length Coder)에 관한 것이다.
정보는 가장 중요한 자원중의 하나이며 현대를 일컬어 정보화사회라 하는 바, 받아들이고 처리해야 하는 정보의 양이 나날이 늘어나는 추세에서 기존의 전송대역을 효과적으로 이용하기 위해 데이타 압축은 필수 불가결하다. 특히, 디지털 영상신호는 정보의 표현에 많은 메모리를 필요로 하기 때문에 영상정보 압축은 정보의 저장과 검색, 전송등을 보다 효율적으로 하는 효과를 가진다.
이와 같은 이유에서 영상데이타에 대한 압축기번들이 많이 개발되어 왔으며, 이러한 영상데이타 압축기법은 정보의 손실 여부에 따라 손실 부호화와 무손실 부호화기법으로 나눌 수 있으며, 정지영상에 존재하는 공간적 중복성을 제거하기 위한 인트라프레임(intraframe) 부호화와 동영사에 존재하는 시간적 중복성을 제거하기 위한 인터프레임(interframe) 부호화로 나눌 수 있다.
일반적으로 널리 사용되는 동영상 부호화기는 움직임 처리를 통하여 시간적 중복성을 제거하고, 이산여현변환을 통하여 공간적인 중복성을 제거함과 아울러 허프만 테이블을 이용하여 가변길이 부호화하므로써 데이타 압축의 효과를 더욱 크게 하는데, 가변길이 부호화(VLC)란 엔트로피 부호화라고도 하며 입력심볼의 발생확률이 높을수록 길이가 작은 부호어를 할당하고, 발생확률이 낮을수록 길이가 긴 부호어를 할당하는 식으로, 길이가 가변적인 부호어를 사용하여 평균비트율을 낮출 수 있는 부호화기법이다.
이러한 가변길이 부호화기는 줄길이 부호화된 부호어를 입력받아 가변길이 부호표(즉, 허프만 테이블)를 참조하여 각 부호어에 해당되는 가변길이 부호어들을 비디오 완충기로 출력한다.
제 1 도는 일반적인 동영상 부호화기의 구성을 나타낸 블럭도로서, H.261, MPEG-1, MPEG-2 등의 많은 표준화된 부호화기에서 사용되는 것이다.
제 1 도를 참조하면, 이산여현변환부(DCT)(1) 에서는 픽셀간의 상관성을 제거하기 위하여 프레임간 차 영상을 예를 들면 8×8 픽셀의 블럭으로 이산여현변환하여 이산여현변환 계수를 출력하고, 양자화기(Q)(2)에서는 이산여현변환부(1)에서 출력되는 프레임간 차 영상의 이산여현변환 계수를 소정의 양자화간격으로 양자화하여 출력한다. 양자화기(2)에서 지그재그 스캔되어 출력되는 DCT계수는 고주파 부분에 다수의 0이 포함되어 가변길이 부호화기(4)로 출력된다.
가변길이 부호화기(VLC)(4)에서는 런과 레벨로 입력되는 줄-길이 부호화된 데이타를 입력받아 허프만 테이블을 참조하여 가변길이의 부호어를 비디오 버퍼로 출력한다. 예컨데, 8비트로 표현되는 신호들중에서 빈도가 많은 데이타는 적은 비트로 표현하고, 빈도가 적은 데이타는 많은 비트로 표현함으로써 차영상을 표현하는 전체 비트수를 줄인다.
그런데 이러한 가변길이 부호기를 구현하기 위해서는 가변길이 부호화된 결과가 연이어 발생되는 부호어들이 서로 연결된 비트열의 형태가 되어야 함과 아울러, 이는 다시 일정한 길이, 즉 메모리의 한 어드레스에 저장될 수 있는 저장단위로 분할되어 버퍼 메모리에 저장되어야 한다.
또한, MPEG-2에서는 가변길이 부호어로 이루어진 비트열에서 H000001xx로 표현되는 32비트의 시작코드(Start Code)들은 바이트 정렬되어야 한다고 규정되어 있다. 즉, 시작코드의 처음 한 비트는 비트열의 맨 처음 비트로부터 8비트의 정수배로 표현되는 곳에 위치되도록 비트열이 구성되어야 한다. 따라서 가변길이 부호화기가 현재까지 생성한 부호어들의 길이를 합한 값이 8의 배수가 아닐 경우 7비트 이하의 0을 비트열에 첨가해야 한다.
이에 본 발명은 상기와 같은 필요성에 부응하여 바이트 정렬이 가능하도록 된 가변길이 부호기를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 가변길이 부호기는 줄-길이 부호화된 데이타를 입력받아 가변길이 부호화된 비트열을 비디오 버퍼로 출력하는 가변길이 부호기에 있어서,
줄-길이 부호화된 데이타를 입력받아 미리 내장된 허프만 테이블을 참조하여 가변길이의 부호어와 이 부호어의 길이를 출력하는 참조표부; 정렬제어신호에 따라 상기 참조표부로부터 입력받은 가변길이 부호어 및 부호어의 길이나 0 및 레지듀의 보수 중 하나를 선택하여 바이트 정렬하는 정렬기; 상기 정렬기로부터 정렬된 가변길이의 부호어와 부호어의 길이를 입력받아 이전에 발생된 부호어의 길이를 입력받아 누산하여 라이트신호와 레지듀 데이타를 출력하는 누산기; 상기 연결기로부터 연결된 부호어를 입력받고 상기 정렬기로부터 정렬된 가변길이부호어를 입력받아 상기 누산기의 레지듀 데이타 출력만큼 내부 레지스터에 저장하는 분할기로 구성되는 것을 특징으로 한다.
즉, 본 발명은 연이어 발생되는 가변길이 부호기의 출력을 연결하고, 이를 다시 저장을 위해 분할함과 아울러 시작코드와 같이 바이트정렬이 필요한 데이타가 전송되기 직전에 정렬제어신호를 통해 바이트정렬하는 것으로서, 예컨데 시스템 제어부로부터 입력되는 정렬제어신호가 0이면 참조표부가 생성한 가변길이 부호어와 가변길이 부호어의 길이에 따라 연결 및 분할하고, 1이면 부호어로서 '8 - 레지듀'의 수에 해당하는 0을 발생시킨다.
이하, 첨부된 도면을 참조하여 본 발명을 자세히 설명하기로 한다.
본 발명에 따른 가변길이 부호기는 제 2 도에 도시된 바와 같이, 줄-길이 부호화된 데이타를 입력받아 미리 내장된 허프만 테이블을 참조하여 가변길이의 부호어(TBL_C)와 이 부호어의 길이(TBL_L)를 출력하는 참조표부(10); 정렬제어신호(ALIGN)에 따라 상기 참조표부(10)로부터 입력받은 가변길이 부호어(TBL-C) 및 부호어의 길이(TBL_L)나 0 및 레지듀(ACC_L1)의 보수 중 하나를 선택하여 바이트 정렬하는 정렬기(20); 상기 정렬기(20)로부터 정렬된 가변길이의 부호어(ALN_C)와 부호어의 연결기(30); 상기 정렬기(20)로부터 정렬된 가변길이 부호어의 길기(ALN_L)를 입력받아 누산하여 라이트(WRITE)신호와 레지듀 데이타(ACC_L0, ACC_L1)를 출력하는 누산기(40); 상기 연결기(30)로부터 연결된 부호어(CAT_C)를 입력받고 상기 정렬기(20)로부터 정렬된 가변길이 부호어(ALN_C)를 각각 입력받아 상기 누산기(40)의 레지듀 데이타(ACC_L0) 출력만큼 내부 레지스터에 저장하는 분할기(50)로 구성되어 비디오 버퍼(60)에 가변길이 부호화된 데이타를 출력한다.
또한, 상기 참조표부(10)는 제 3 도에 도시된 바와 같이 줄-길이 부호화된 데이타를 입력받는 입력레지스터(11); 상기 입력레지스터(11)의 데이타가 입력되면 미리 약정된 소정의 가변길이 부호어(TBL_C)와 이 가변길이 부호어의 길이(TBL_L)를 발생하는 테이블부(12); 상기 테이블부(12)로부터 가변길이 부호어(TBL_C)를 입력받아 저장하는 제 1 출력 레지스터(13); 상기 테이블부(12)로부터 가변길이 부호어의 길이(TBL_L)를 입력받아 저장하는 제 2 출력 레지스터(14)로 구성된다. 여기서, 상기 테이블부(12)는 프로그래머블 어레이 로직(PLA)으로 구현된다.
이러한 참조표부(10)가 동작되는 타이밍은 제 4 도의 (a)에 도시된 바와 같은 클럭(CLK)에 따라 작동되어 제 4 도의 (b)에 도시된 바와 같은 인에이블신호(EN)에 줄-길이 부호화된 데이타(RL)를 입력받는다. 이와 같이 인에이블(EN)타이밍에 입력된 줄길이 부호화된 A, B, C 데이타는 테이블부(12)에 의해 해당 부호어와 부호어의 길이 데이타가 발생되어 제 4 도의 (d)와 같은 타이밍에 A*, B*, C*데이타로 출력된다.
또한, 상기 정렬기(20)는 제 5 도에 도시된 바와 같이 누산기의 레지듀(ACC_L1)를 입력받아 2의 보수를 출력하는 보수기(21)와; 정렬제어신호(ALIGN)에 따라 가변길이 부호어(TBL_C)와 0중 하나를 선택하는 제 1 입력선택기(22); 상기 제 1 입력선택기(22)의 출력을 저장하는 제 1 출력 레지스터(24); 정렬제어신호(ALIGN)에 따라 가변길이 부호어의 길이(TBL_L)와 상기 보수기의 출력(COMP2)중 하나를 선택하는 제 2 입력선택기(23); 상기 제 2 입력선택기(23)의 출력을 저장하는 제 2 출력 레지스터(25)로 구성되어 있다.
이때, 상기 제 1 입력선택기(22) 및 제 2 입력선택기(23)는 멀티플랙서로 구현될 수 있으며, 정렬제어신호(ALIGN)에 따라 다음 표1과 같이 입력을 선택한다.
상기 표1에 있어서, 정렬제어신호(ALIGN)가 0이면 제 1 입력선택기(22)는 참조표부(10)로부터 입력받은 가변길이 부호어(TBL_C)를 선택하고, 제 2 입력선택기(23)는 참조표부(10)로부터 입력받은 가변길이 부호어의 길이(TBL_L)를 선택하며, 정렬제어신호(ALIGN)가 1이면 제 1 입력선택기(22)는 0을 선택하고, 제 2 입력선택기(23)는 누산기(40)의 레지듀(ACC_L1) 출력에서 2 의 보수를 취한 보수기(21)의 출력(COMP2)을 선택한다.
그리고, 상기 연결기(30)는 제 6 도의 (a)에 도시된 바와 같이 현제의 가변길이 부호어를 입력받아 이전에 연결된 부호어에 가변길이 부호어의 길이만큼 시프트하여 부호어를 연결하는 배럴 시프터(31); 상기 배럴 시프터(31)의 출력을 저장하는 출력레지스터(32)로 구성되어 있다. 여기서, 배럴 시프터(31)의 동작은 제 6 도의 (b)에 도시된 바와 같이 부호어의 길이(ALN_L)에 다라 16비트의 데이타(즉, 8비트의 이전에 연결된 부호어와 8비트의 새로 입력된 부호어) 중 8비트를 선택하는 것으로, 중앙(C) 에서 중심으로 우측에서 현재 입력된 부호어(ALN_C)를 L비트만큼 취하고, 이전에 연결된 부호어(CAT_C)에서 중앙(C)을 중심으로 좌측으로 8-L비트 만큼을 선택하여 8비트를 취한다.
그리고, 상기 누산기(40)는 제 7 도에 도시된 바와 같이 정렬된 가변길이 부호어의 길이(ALN_L)를 입력받아 이전 누산된 결과와 가산하는 가산기(41)와; 상기 가산기(41)의 출력 중 MSB를 라이트(WRITE)신호로 출력하고, 나머지 비트(즉, 레지듀)를 저장하기 위한 레지스터(42)로 구성된다. 이때 상기 레지스터(42)의 출력은 ACC_L0이 되고, 한 클럭 앞선 가산기(41)의 출력은 ACC_L1이 된다.
또한, 상기 분할기(30)는 제 8 도의 (a)에 도시된 바와 같이 정렬기(20)로부터 가변길이 부호어(ALN_C)를 입력받고, 연결기(30)로부터 연결된 부호어(CAT_C)를 입력받아 누산기(40)의 레지듀 출력(ACC_L0)만큼 시프트하는 배럴 시프트터(51)와, 상기 배럴 시프터(51)의 출력을 저장하는 출력레지스터(52)로 구성된다. 이때, 배럴 시프터(51)의 동작은 제 8 도의 (b)에 도시된 바와 같이 16 비트의 입력 데이타(즉, 8비트의 이전에 연결된 부호어와 8비트의 새로운 부호어)중 8비트를 선택하도록 한 것으로, 중앙(즉, 왼쪽 8비트와 오른쪽 8비트의 사이)에서 왼쪽에서 L비트를 선택한 후 오른쪽에서 8-L 비트를 선택한다.
이어서, 상기와 같이 구성되는 본 발명의 작용 효과를 설명한다.
먼저, 본 발명의 이해를 쉽게 하기 위하여 MPEG2에서 제안된 테이블 (ISO/IEC 13818-2, Table B-14)을 참조하여 설명한다.
상기 표2에 있어서, 이산여현변환된 부 양자화된 DCT 계수를 지그재그 스캔하여 DCT계수의 시퀀스를 형성하고, 이 시퀀스에서 연속되는 0의 숫자를 런으로 하여 줄-길이 부호화하면, (런, 레벨)의 쌍이 발생된다.
가변길이 부호기는 이러한 (런, 레벨)의 쌍을 입력받아 발생확률에 따라 가변길이의 부호어를 발생한다. 즉, 상기 표2에서와 같이 런이 0이고 레벨이 1이면 11s 부호어가 발생되고, 런이 7이고 레벨이 1이면 0001 00s가 발생된다. 이때 s는 레벨의 부호비트로서 0이면 + 부호이고, 1 이면 - 부호이다.
한편, 본 발명에 따른 가변길이 부호기로 임의의 런과 레벨이 입력되어 다음 표3와 같은 가변길이 부호어(TBL_C)와 부호어의 길이(TBL_L)가 발생되었을 경우를, 예로 들어 본 발명이 동작하는 것을 설명한다.
상기 표3에 있어서, 임의의 런과 레벨이 입력되어 본 발명에 따른 참조표부(10)가 1111을 발생하였다면, 이때 부호어의 길이는 8이 되고, 다른 런과 레벨이 입력되어 111이 발생되었다면 부호어의 길이가 3이 된다.
이대, 정렬제어신호(ALIGN)가 1이 되면 다음에 시작코드를 입력하기 위하여 바이트 정렬이 필요하므로, 정렬기(20)는 0을 가상의 부호어(ALN_C)로써 출력하고, 길이(ALN_L)는 누산기(40)의 레지듀값인 011(3)의 2의 보수인 101(5)를 출력한다.
따라서, 정렬제어신호 후에는 8 바이트 정렬이 되고, 이어서 시작 코드가 입력되는 것을 알 수 있다. 여기서, 시작 코드는 4번째 입력되는 1111이라 가정하고, 가변길이 부호어의 최대 길이를 8비트로 가정한다. 이와 같은 가정은 이해를 쉽게 하기 위하여 본 발명의 실시예에서 임의로 정한 것으로, 본 발명의 개념은 본 발명의 실시예에 의해 한정되지 않는다.
본 발명에 따른 연결기(30)는 정렬기(20)로부터 가변길이 부호어 111xxxxx가 입력되면, 이전에 입력된 연결된 부호어(CAT_C)1111과 연결되는데, 앞서 설명한 바와 같이 배럴 시프터(31)가 새로 입력된 111xxxxx로부터 L=3 비트를 취하고, 나머지 5비트 (8-3=5)를 연결된 부호어에서 취하여 1111111를 출력 레지스터(32)에 저장한다.
한편, 본 발명에 따른 누산기(40)는 부호어 길이정보(ALN_L)를 입력받아 누산하여 8이 넘으면 라이트(WRITE)신호를 1로 하여 8비트단위로 비디오 버퍼(60)에 저장되게 하고, 누산결과 나머지(레지듀)를 내부 레지스터(42)에 저장한다. 즉, 상기 표3에 있어서, 처음에는 8비트 길이의 부호어가 발생되므로 나머지가 0이고, 라이트신호가 1이 되며, 이어서 부호어 길이 3이 입력되어 나머지가 3이 되고, 라이트신호가 0이 되며, 이후 정렬을 위해 5 비트의 0이 가상 부호어로 발생되어 나머지가 0이 되고 라이트가 1이 된다.
이상에서 살펴본 바와 같이 본 발명에 따라 시작코드를 입력하기 전에 바이트 정렬이 가능하므로 MPEG2 부호기의 구현에 용이하게 사용되며, 특히 연결기 및 분할기등의 회로에 배럴 시프터를 사용하여 회로 구성이 간단해지므로 제조 비용을 절감할 수 있다.

Claims (8)

  1. 줄-길이 부호화된 데이타를 입력받아 가변길이 부호화된 비트열을 비디오 버퍼로 출력하는 가변길이 부호기에 있어서, 줄-길이 부호화된 데이타를 입력받아 미리 내장된 허프만 테이블을 참조하여 가변길이의 부호어(TBL_C)와 이 부호어의 길이(TBL_L)를 출력하는 참조표부(10); 정렬제어신호(ALIGN)에 따라 상기 참조표부(10)로부터 입력받은 가변길이 부호어(TBL_C) 및 부호어의 길이(TBL_L)나 0 및 레지듀(ACC_L1)의 보수 중 하나를 선택하여 바이트 정렬하는 정렬기(20); 상기 정렬기(20)로부터 정렬된 가변길이의 부호어(ALN_C)와 부호어의 길이(ALN_L)를 입력받아 이전에 발생된 부호어와 연결시키는 부호어 연결기(30); 상기 정렬기(20)로부터 정렬된 가변길이 부호어의 길이(ALN_L)를 입력받아 누산하여 라이트(WRITE)신호와 레지듀 데이타(ACC_L0, ACC_L1)를 출력하는 누산기(40); 상기 연결기(30)로부터 연결된 부호어(CAT_C)를 입력받고 상기 정렬기(20)로부터 정렬된 가변길이 부호어(ALN_C)를 각각 입력받아 상기 누산기(40)의 레지듀 데이타(ACC_L0) 출력만큼 내부 레지스터에 저장하는 분할기(50)로 구성되는 가변길이 부호기.
  2. 제1항에 있어서, 상기 차모표부(10)는 줄-길이 부호화된 데이타를 입력받는 입력레지스터(11); 상기 입력레지스터(11)의 데이타가 입력되면 미리 약정된 소정의 가변길이 부호어(TBL_C)와 이 가변 길이 부호어의 길이(TBL_L)를 발생하는 테이블부(12); 상기 테이블부(12)로부터 가변길이 부호어(TBL_C)를 입력받아 저장하는 제 1 출력 레지스터(13); 상기 테이블부(12)로부터 가변길이 부호어의 길이(TBL_L)를 입력받아 저장하는 제 2 출력 레지스터(14)로 구성되는 것을, 특징으로 하는 가변길이 부호기.
  3. 제2항에 있어서, 상기 테이블부(12)는 프로그래머블 어레이 로직(PLA)으로 구형되는 것을 특징으로 하는 가변길이 부호기.
  4. 제1항에 있어서, 상기 정렬기(20)는 누산기의 레지듀(ACC_L1)를 입력받아 2의 보수를 출력하는 보수기(21)와; 정렬제어신호(ALIGN)에 따라 가변길이 부호어(TBL_C)와 0중 하나를 선택하는 제 1 입력선택기(22); 상기 제 1 입력선택기(2@)의 출력을 저장하는 제 1 출력 레지스터(24); 정렬제어신호(ALIGN)에 따라 가변길이 부호어의 길이(TBL_L)와 상기 보수기의 출력(COMP2)중 하나를 선택하는 제 2 입력선택기(23); 상기 제 2 입력선택기(23)의 출력을 저장하는 제 2 출력 레지스터(25)로 구성되는 것을 특징으로 하는 가변길이 부호기.
  5. 제4항에 있어서, 상기 제 1 입력선택기(22) 및 제 2 입력선택기(23)는 멀티플랙서로 구현되는 것을 특징으로 하는 가변길이 부호기.
  6. 제1항에 있어서, 상기 연결기(30)는 현재의 가변길이 부호어를 입력받아 이전에 연결된 부호어에 가변길이 부호어의 길이만큼 시프트하여 부호어를 연결하는 배럴 시프터(31); 상기 배럴 시프터(31)의 출력을 저장하는 출력레지스터(32)로 구성되는 것을 특징으로 하는 가변길이 부호기.
  7. 제1항에 있어서, 상기 누산기(40)는 정렬된 가변길이 부호어의 길이(ALN_L)를 입력받아 이전 누산된 결과와 가산하는 가산기(41)와; 상기 가산기(41)의 출력 중 MSB를 라이트(WRITE)신호로 출력하고, 나머지 비트(즉, 레지듀)를 저장하기 위한 레지스터(42)로 구성되는 것을 특징으로 하는 가변길이 부호기.
  8. 제1항에 있어서, 상기 분할기(30)는 정렬기(20)로부터 가변길이 부호어(ALN_C)를 입력받고, 연결기(30)로부터 연결된 부호어(CAT_C)를 입력받아 누산기(40)의 레지듀 출력(ACC_L0)만큼 시프트하는 배럴 시프트터(51)와; 상기 배럴 시프터(51)의 출력을 저장하는 출력레지스터(52)로 구성되는 것을 특징으로 하는 가변길이 부호기.
KR1019950022590A 1995-07-27 1995-07-27 가변길이 부호기 KR0180164B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019950022590A KR0180164B1 (ko) 1995-07-27 1995-07-27 가변길이 부호기
US08/560,696 US5754128A (en) 1995-07-27 1995-11-20 Variable-length code encoding and segmenting apparatus having a byte alignment unit
CN95117558A CN1108014C (zh) 1995-07-27 1995-11-29 具有字节校准单元的可变长度码编码及分段装置
JP33407295A JP3389391B2 (ja) 1995-07-27 1995-11-29 可変長コードの符号化及び分割装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950022590A KR0180164B1 (ko) 1995-07-27 1995-07-27 가변길이 부호기

Publications (2)

Publication Number Publication Date
KR970009422A KR970009422A (ko) 1997-02-24
KR0180164B1 true KR0180164B1 (ko) 1999-05-01

Family

ID=19421859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950022590A KR0180164B1 (ko) 1995-07-27 1995-07-27 가변길이 부호기

Country Status (4)

Country Link
US (1) US5754128A (ko)
JP (1) JP3389391B2 (ko)
KR (1) KR0180164B1 (ko)
CN (1) CN1108014C (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2757288B1 (fr) * 1996-12-17 1999-02-26 Sgs Thomson Microelectronics Microprocesseur dedie au traitement de flux de bits dans un systeme de compression/decompression d'images animees
US6522694B1 (en) * 1998-10-09 2003-02-18 Matsushita Electric Industrial Co., Ltd. Programmable filter for removing stuffing bits from an MPEG-2 bit-stream
CN1589575A (zh) * 2001-11-21 2005-03-02 皇家飞利浦电子股份有限公司 改进的位面压缩方法
US6891976B2 (en) * 2002-03-12 2005-05-10 Intel Corporation Method to decode variable length codes with regular bit pattern prefixes
JP4181887B2 (ja) * 2002-05-29 2008-11-19 キヤノン株式会社 可変長符号化装置、及びその方法
US6674376B1 (en) * 2002-09-13 2004-01-06 Morpho Technologies Programmable variable length decoder circuit and method
JP2008172617A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
CN101534125B (zh) * 2009-04-24 2012-07-18 北京空间机电研究所 一种超长数据变长编码合成系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields

Also Published As

Publication number Publication date
JPH0946237A (ja) 1997-02-14
CN1141538A (zh) 1997-01-29
US5754128A (en) 1998-05-19
KR970009422A (ko) 1997-02-24
JP3389391B2 (ja) 2003-03-24
CN1108014C (zh) 2003-05-07

Similar Documents

Publication Publication Date Title
KR0180169B1 (ko) 가변길이 부호기
US7573951B2 (en) Binary arithmetic decoding apparatus and methods using a pipelined structure
US6014095A (en) Variable length encoding system
US5220325A (en) Hierarchical variable length decoder for digital video data
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
CA2156889C (en) Method and apparatus for encoding and decoding data
KR100188427B1 (ko) 디지탈 통신시스템용 가변길이 코드워드디코더 및 그 디코딩 방법
US5717394A (en) Method and apparatus for encoding and decoding data
KR100624432B1 (ko) 내용 기반 적응적 이진 산술 복호화 방법 및 장치
KR100748485B1 (ko) 가변 길이 코드워드 디코더 및 가변 길이 코드워드 디코딩 방법
EP0745289A1 (en) Syntax-based arithmetic coding for low bit rate videophone
US5808570A (en) Device and method for pair-match Huffman transcoding and high-performance variable length decoder with two-word bit stream segmentation which utilizes the same
JP2000511738A (ja) Hdtvビデオデコーダ及びデコーディング方法
KR102123620B1 (ko) 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치
JPH06253288A (ja) 伝送システムにおける誤りマスキング方法
GB2268667A (en) Serial data decoding using state machine with plural decoding tables
EP0715414B1 (en) Variable-length encoder and decoding system
JP4181887B2 (ja) 可変長符号化装置、及びその方法
KR0180164B1 (ko) 가변길이 부호기
GB2306279A (en) Apparatus for decoding data
US5781135A (en) High speed variable length code decoder
KR19980702418A (ko) 가변 길이 디코더
JP3230933B2 (ja) データ伸長装置、データ伸長方法、デコーディング装置、デコーディング方法、エンコーディング装置、及びエントロピー・デコーダ
JPH03205930A (ja) デジタル信号復号化回路
KR20050010918A (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: 20121031

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20141107

Year of fee payment: 17

EXPY Expiration of term