KR0141298B1 - 가변 길이 복호화 장치 - Google Patents
가변 길이 복호화 장치Info
- Publication number
- KR0141298B1 KR0141298B1 KR1019940030161A KR19940030161A KR0141298B1 KR 0141298 B1 KR0141298 B1 KR 0141298B1 KR 1019940030161 A KR1019940030161 A KR 1019940030161A KR 19940030161 A KR19940030161 A KR 19940030161A KR 0141298 B1 KR0141298 B1 KR 0141298B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- circuit
- codeword
- decoding
- variable length
- 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/436—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 using parallelised computational arrangements
-
- 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
- H03M7/42—Conversion 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
- H03M7/425—Conversion 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 for the decoding process only
-
- 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)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 가변 길이 복호화를 병렬로 신호처리하게 함으로서 처리 속도를 향상시킨 개선된 가변 길이 복호화 장치에 관한 것이다.
이러한 VLD장치는 데이타 생성 회로(215), 룩 업 테이블(230) 및 데이타 선택 회로(240)를 포함하며, 데이타 생성 회로(215)는 수신되는 비트 스트림을 복호화하기 위해 역부호화 데이타를 생성한다. 또 룩 업 테이블(230)은 상기 데이타 생성 회로(215)에서 제공되는 데이타에 대응되는 적어도 두개 이상의 코드워드 및 코드워드 길이값을 검출한다. 마지막으로, 데이타 선택 회로(240)는 상기 메모리에서 제공되는 적어도 두개 이상의 코드워드 및 코드워드 길이 값중에서 소정의 코드워드 및 코드워드 길이값을 선택하여 출력한다.
따라서, 상기 룩 업 테이블에 데이타를 공급하기 위해 사용되는 쉬프트 회로(219)의 동작, 코드워드 길이를 누산하여 버퍼(211)에서 새로운 데이타를 판독하는 동작, 테이블 선택신호에 의해 역부호화 동작이 병렬로 처리되어 모두 동일 시점에서 수행되므로 전체 동작시간을 줄일 수 가 있다.
Description
제 1 도는 종래의 가변 길이 복호화 장치를 도시한 블록도.
제 2 도는 본 발명에 따른 개선된 가변 길이 복호화 장치를 도시한 블록도.
제 3 도 a내지 f는 종래 및 본 발명에 따른 가변 길이 복호화 장치의 개략적인 타이밍을 예시하는 도면.
*도면의 주요부분에 대한 부호의 설명
215:데이타 생성 회로230:메모리
240:데이타 선택 회로
본 발명은 동영상 복호화 장치에 관한 것으로, 특히 가변 길이 복호화(Variable Length Decoding: VLD)가 병렬로 수행되게 구현함으로서 복호화 처리 속도를 향상시킨 개선된 가변 길이 복호화 장치에 관한 것이다.
통상적으로 가변 길이 부호화(Variable Length Coding: VLC)는 다양한 무손실 데이타 압축을 위해 이용되고 있다. 이러한 VLC는 데이타의 통계치에 근거하여 고정된 길이의 데이타를 가변 길이 데이타로 변환하는 것으로, 정보원 데이타에 포함된 각 코드워드의 발생빈도에 따라 발생빈도가 큰 코드워드는 짧은 길이의 코드워드로 변환하고, 발생빈도가 작은 코드워드는 긴 길이의 코드워드로 변환하는 방법이다. 이 경우, 평균 워드 길이는 정보원 데이타의 평균 워드 길이보다 더 작게 되어, 데이타 압축이 실현된다. 알려진 데이타 통계치에 대해 최소 용장성(Redundency)을 갖는 VLC를 구현하는 데는 호프만(Huffman)부호가 통상 이용된다. 일반적으로, 부호화 과정은 입력 데이타를 테이블을 어드레싱하는데 이용하는 테이블 검색(Table Look-Up)에 의해 구현될 수 있으며, 코드워드 및 워드 길이는 테이블 내용으로 기억된다.
그러나, 가변 길이 복호화 과정은 매우 복잡하다. 즉, 가변 길이 특성으로 인해 각각의 코드워드는 수신된 비트 스트림으로 부터 분할되고 난후에 정보원 코드워드로 복호화 된다. 이때문에 통상 VLD장치의 설계는 전술한 VLC장치의 설계보다 복잡하고 어렵다.
이러한 VLD를 위한 선행하는 VLD장치의 일실시예가 제 1 도에 도시된다. 도시된 바와같이 종래의 VLD장치는 버퍼링 회로(110), 래치회로(111, 112), 배럴 쉬프트(Barrel Shift: BS)회로(114), 누산기(116) 및 룩 업(Look Up) 테이블 저장용 메모리(118)를 포함한다. 버터링 회로(110)는 외부로 부터 비트 스트림을 입력하고 후술하는 누산기(116)에서 제공하는 코드워드 길이에 응답하여 임시 저장하고 있는 데이타, 즉 다음 복호화할 비트 스트림을 래치 회로(111)의 입력라인에 발생한다. 래치 회로(111)는 버퍼링 회로(110)의 출력라인에 결합되어, 입력되는 비트 스트림을 래치하며, 래치 회로(112)는 래치 회로(112)의 기설정 워드 길이를 초과하는 경우, 초과된 워드 길이를 래치하고 소정시간후 출력하는 것으로, 그의 출력 라인은 BS 회로(114)의 입력 가인에 결합된다. BS 회로(114)는 래치 회로(111, 112)의 출력라인에 결합되어, 소정시간후 출력되는 데이타를 입력하고, 누산기(116)에서 제공되는 코드 워드 길이값에 응답하여 쉬프트하여 메모리(118)의 입력 라인으로 출력한다.
메모리(118)는 BS 회로(114)의 출력 라인에 결합되어, 입력되는 비트 스트림을 외부의 VLD콘트롤러(도시되지 않음)에서 제공되는 테이블 선택신호(즉, 통상 다수개의 테이블로 이루어지기 때문에 새로운 입력 데이타를 처리하는 동안 테이블을 지시하기 위해 계속 제공되는 신호. 제 3 도 (B)에 응답하여 참조 테이블의 소정의 알고리즘에 따라 복호화를 행하는데, 이러한 복호화 과정을 통해 해당 데이타, 즉, 코드워드 및 코드워드 길이(제 3 도(C))를 검출하여 출력하는 것으로, 검출된 워드 길이는 누산기(116)의 입력라인에 제공하며, 코드 워드는 VLD콘트롤러로 제공한다. 누산기(116)는 메모리(118)의 출력 라인과 BS 회로(114)의 입력 라인간에 결합되어, 외부로 부터 입력되는 클럭 신호(제 3 도 (A)), 즉, 이전 클럭 시간동안에 처리된 복호화된 코드워드 길이에 현재 클럭 시간 동안 처리된 코드워드 길이는 누산하는 것으로, 이와 같이 처리된 코드워드 길이는 다음 복호화를 위해 각 클럭 마다 BS 회로(114)의 입력라인으로 제공한다.
그러나, 선행하는 VLD장치를 통해 수행되는 복호화 과정에서는 처리 속도가 떨어진다는 단점을 가지고 있다. 즉, 한번의 복호화 과정은 VLD콘트롤러에서제공되는 테이블 선택 신호에 의해 복호화 동작이 개시되어 배럴 쉬프트 회로의 처리 지연, 메모리에서의 테이블 룩 업 처리 지연(제 3 도(C)의 312), 그리고 새로운 데이타에 대한 다음 테이블 선택 신호를 검출하기 위한 지연 시간(제 3 도(C)의 313)이 가산되므로 처리 속도가 떨어지게 된다.
따라서, 본 발명의 목적은 가변 길이 복호화가 병렬로 수행되도록 구현함으로서 지연 속도를 줄여 복호화 처리 속도를 향상시킨 개선된 가변 길이 복호화 장치를 제공하는데 있다.
본 발명에 따르면, 압축 부호화 되어 수신되는 비트 스트림을 보다 빠른 속도로 가변 길이 복호화하는 개선된 장치로서, 상기 수신되는 비트 스트림을 복호화하기 위해 어드레스 데이타를 생성하는 데이타 생성 회로와, 상기 데이타 생성 회로에서 제공되는 데이타에 대응되는 적어도 두개 이상의 코드워드 및 코드워드 길이값을 검출하는 메모리 수단과, 상기 메모리 수단에서 제공되는 적어도 두개 이상의 코드워드 및 코드워드 길이 값중에서 소정의 코드워드 및 코드워드 길이값을 선택하여 출력하는 데이타 선택회로를 포함한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예가 상세히 설명된다.
제 3 도는 본 발명에 따른 개선된 VLD장치의 바람직한 일실시예를 도시한 상세 블럭도로서, 이러한 VLD장치는 데이타 생성 회로(215), 룩 업 테이블(230) 및 데이타 선택 회로(240)를 포함한다. 이러한 장치에 의해 VLD의 수행을 병렬로 실현될 수 있도록 구현함으로서 지연속도를 줄여 VLD의 처리 속도를 향상시킬수가 있다.
데이타 생성 회로(215)는 외부로부터의 비트 스트림을 입력하여 현재 복호할 새로운 데이타를 생성하기 위한 것으로, 버퍼링 회로(211), 래치 회로(212), 누산기(214), 쉬프트 회로(215, 217), 논리합(OR)회로(218) 및 배럴 쉬프트(BS) 회로(219)를 구비한다. 버퍼링 회로(211)는 외부로 부터 비트 스트림을 입력하고 후술하는 누산기(214)에서 제공되는 바로 이전에 복호화한 코드워드 길이에 응답하여 임시 저장하고 있는 데이타, 즉 다음 복호화할 비트 스트림을 쉬프트 회로(216)의 입력라인에 발생한다. 쉬프트 회로(216)는 버퍼링 회로(211)의 출력라인에 결합되어 비트 스트림을 입력하고, 도시된 바와같이 외부로부터 입력되는 클럭신호(제 3 도(A))에 의거하여 현재 입력된 데이타(제 3 도(D))를 데이타 선택 회로(240)에서 제공되는 코드워드 길이 데이타, 즉 바로 이전에 복호화된 코드워드 길이만큼 상위방향으로 쉬프팅하며, 쉬프팅된 데이타를 다른 쉬프트 회로(217)의 입력라인으로 발생한다. 쉬프트 회로(217)는 전술한 쉬프트 회로(216)의 출력라인에 결합되어, 입력되는 데이타를 역시 입력되는 클럭신호에 의거하여 복호화하는 데이타 크기로 조절하기 위해 전술한 쉬프트 회로(216)의 동작과는 상반되게 하위방향으로 쉬프팅하며, 이와같이 쉬프팅된 데이타는 OR 회로(218)의 입력라인으로 발생한다.
래치 회로(212)는 입력되는 데이타를 래치하기 위한 통상적인 회로로, 역시 외부로부터 입력되는 클럭신호에 의거하여 바로 이전에 복호화된 데이타, 즉 BS 회로(219)로부터의 코드워드를 입력하여 소정시간동안 래치한 후 다음 복호화를 위해 BS 회로(219)의 일입력라인 및 후술하는 OR 회로(218)의 입력라인으로 각각 발생한다. OR 회로(218)는 전술한 래치 회로(212)의 일출력라인 및 쉬프트 회로(217)의 출력라인에 결합되어 두 회로에서 발생되는 데이타를 논리합 연산하여 BS 회로(219)의 타입력라인으로 발생한다.
BS 회로(219)는 쉬프팅하기위한 알려진 회로로, 래치 회로(212)의 입출력라인, OR 회로(218)의 출력라인 및 데이타 선택 회로 (240)의 일출력라인에 결합되며, 회로(212, 218)로부터 입력되는 데이타를 다음 복호화 과정을 수행하기 위해서 회로(240)에서 제공되는 바로이전 복호화 수행한 코드워드 길이값만큼 쉬프팅하여 다음 복호화를 위해 전술한 래치 회로(212)의 입력단자로 제공해줄뿐만 아니라, 후술하는 룩 업 테이블(230)의 입력단자로 발생한다.
룩 업 테이블(230)은 도시된 바와같이 제 1, 제 2, 제 3 및 제 4 룩 업 테이블(LUT)(231-234)을 포함하며, 전술한 BS 회로(219)의 출력라인에 테이블(231-234)의 입력라인이 각각 결합되어, 입력되는 데이타에 대응하는 코드워드와 코드워드 길이값을 각각의 테이블에서 검출하여 데이타 선택 회로(240)의 일입력라인으로 발생한다. 마지막으로, 데이타 선택 회로(240)는 입력되는 데이타중에서 원하는 데이타를 선택하여 출력하는 알려진 회로로서, 전술한 LUT(231-234)의 각각의 출력라인에 결합되고, 또 외부의 도시되지 않은 VLD 콘트롤러의 출력라인에 결합되어, 입력되는 코드워드 및 길이값중에서 전술한 콘트롤러로부터 입력되는 테이블 선택신호(제 3 도(E))에 대응하는 데이타(제 3 도(F))를 선택하여, 전술한 누산기(214)의 입력라인으로는 코드워드 길이값을, 그리고 콘트롤러로의 일입력단자로는 코드워드값을 발생하여 계속적으로 입력되는 새로운 데이타를 복호화 하게된다.
이상에서 설명한 바와같이, 본 발명에 의하면 VLD의 수행을 병렬, 즉 데이타 선택 회로에서 출력되는 복호화된 코드워드 길이값을 데이타 생성 회로의 누산기, 쉬프트 회로 및 배럴 쉬프트 회로에 동시에 제공함으로서 테이블 룩 업 지연(제 3 도(D)의 317)과 데이타 선택 회로의 동작지연(제 3 도(F)의 318)만이 발생되어 가변 길이 복호화 수행의 처리 속도를 향상시킬 수 있는 큰 잇점이 있다.
Claims (1)
- 압축 부호화되어 수신되는 비트 스트림을 보다 빠른 속도로 가변 길이 복호화(Variable Length Decoding: VLD)하는 개선된 장치로서, 상기 수신되는 비트 스트림을 복호화하기 위해 데이타를 생성하는 데이타 생성 회로와, 상기 데이타 생성 회로에서 제공되는 데이타에 대응되는 적어도 두개 이상의 코드워드 및 코드워드 길이값을 검출하는 룩 업 테이블과, 상기 룩 업 테이블에서 제공되는 적어도 두개 이상의 코드워드 및 코드워드 길이값중에서 소정의 코드워드 및 코드워드 길이값을 선택하여 출력하는 데이타 선택회로를 포함하는 가변 길이 복호화 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940030161A KR0141298B1 (ko) | 1994-11-17 | 1994-11-17 | 가변 길이 복호화 장치 |
CN95117534A CN1107383C (zh) | 1994-11-17 | 1995-11-17 | 高速可变长度码解码装置 |
US08/560,088 US5648775A (en) | 1994-11-17 | 1995-11-17 | High speed variable length code decoding apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940030161A KR0141298B1 (ko) | 1994-11-17 | 1994-11-17 | 가변 길이 복호화 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960020495A KR960020495A (ko) | 1996-06-17 |
KR0141298B1 true KR0141298B1 (ko) | 1998-06-15 |
Family
ID=19398138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940030161A KR0141298B1 (ko) | 1994-11-17 | 1994-11-17 | 가변 길이 복호화 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5648775A (ko) |
KR (1) | KR0141298B1 (ko) |
CN (1) | CN1107383C (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160116909A (ko) | 2015-03-31 | 2016-10-10 | 주식회사 아세아텍 | 송풍식 방제장치 |
EP3654386A1 (en) | 2018-11-16 | 2020-05-20 | LG Display Co., Ltd. | Transistor having vertical structure and electric device |
KR20240011979A (ko) | 2022-07-20 | 2024-01-29 | 김응기 | 공기공급장치를 적용한 이동식 농업방재장치 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5818364A (en) * | 1996-06-19 | 1998-10-06 | Hewlett-Packard Company | High bit-rate huffman decoding |
AU728882B2 (en) * | 1997-04-30 | 2001-01-18 | Canon Kabushiki Kaisha | Compression |
KR100292050B1 (ko) * | 1997-11-08 | 2001-06-01 | 김영환 | 가변장복호기의 데이타 가변장치 |
US6147629A (en) * | 1998-10-15 | 2000-11-14 | Intel Corporation | Method and apparatus for variable length decoding |
FI116813B (fi) * | 2002-06-20 | 2006-02-28 | Nokia Corp | Menetelmä ja järjestelmä vaihtuvapituisen koodauksen purkamiseksi, ja koodisanojen paikannuslaite |
US6956511B2 (en) * | 2004-01-06 | 2005-10-18 | Sharp Laboratories Of America, Inc. | Multi-symbol/coefficient decode operation for Huffman codes |
CN100466748C (zh) * | 2004-11-12 | 2009-03-04 | 扬智科技股份有限公司 | 数字摄影机影像格式的可变长度解码装置及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4899149A (en) * | 1986-02-28 | 1990-02-06 | Gary Kahan | Method of and apparatus for decoding Huffman or variable-length coees |
US5173695A (en) * | 1990-06-29 | 1992-12-22 | Bell Communications Research, Inc. | High-speed flexible variable-length-code decoder |
US5245338A (en) * | 1992-06-04 | 1993-09-14 | Bell Communications Research, Inc. | High-speed variable-length decoder |
-
1994
- 1994-11-17 KR KR1019940030161A patent/KR0141298B1/ko not_active IP Right Cessation
-
1995
- 1995-11-17 CN CN95117534A patent/CN1107383C/zh not_active Expired - Lifetime
- 1995-11-17 US US08/560,088 patent/US5648775A/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160116909A (ko) | 2015-03-31 | 2016-10-10 | 주식회사 아세아텍 | 송풍식 방제장치 |
EP3654386A1 (en) | 2018-11-16 | 2020-05-20 | LG Display Co., Ltd. | Transistor having vertical structure and electric device |
KR20240011979A (ko) | 2022-07-20 | 2024-01-29 | 김응기 | 공기공급장치를 적용한 이동식 농업방재장치 |
Also Published As
Publication number | Publication date |
---|---|
CN1107383C (zh) | 2003-04-30 |
KR960020495A (ko) | 1996-06-17 |
US5648775A (en) | 1997-07-15 |
CN1128439A (zh) | 1996-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7817864B2 (en) | Coding apparatus and decoding apparatus | |
US5561690A (en) | High speed variable length code decoding apparatus | |
US6653955B1 (en) | Multi-symbol variable length code decoder | |
KR100748485B1 (ko) | 가변 길이 코드워드 디코더 및 가변 길이 코드워드 디코딩 방법 | |
US5652583A (en) | Apparatus for encoding variable-length codes and segmenting variable-length codewords thereof | |
KR0141298B1 (ko) | 가변 길이 복호화 장치 | |
US5650781A (en) | Apparatus for decoding variable length codes | |
US20060209965A1 (en) | Method and system for fast run-level encoding | |
JPH11501489A (ja) | 可変長デコーダ | |
US5901177A (en) | High speed variable length code decoding apparatus and method | |
KR100253366B1 (ko) | 엠펙용 가변길이코드 디코더 | |
US5677690A (en) | High speed variable length code decoding apparatus | |
KR100192269B1 (ko) | 가변길이 코드 디코더 | |
US5432512A (en) | Apparatus for decoding variable length codes | |
US5701126A (en) | High speed variable length decoder | |
US5754128A (en) | Variable-length code encoding and segmenting apparatus having a byte alignment unit | |
EP1506620A1 (en) | Programmable variable length decoder including interface of cpu processor | |
JPH09130266A (ja) | 高速可変長コード復号化装置及び高速可変長コード復号化方法 | |
JP3389389B2 (ja) | 可変長コード復号化装置 | |
JP2966437B2 (ja) | ラン長符号符号化回路 | |
KR100269805B1 (ko) | 가변 길이 복호화 장치(variable length decorder) | |
JPH08167855A (ja) | ハフマン復号化回路 | |
JP2009246973A (ja) | 可変長符号の復号高速化装置 | |
TW201824861A (zh) | 二元編碼運算裝置以及方法 | |
KR960011111B1 (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: 20130221 Year of fee payment: 16 |
|
FPAY | Annual fee payment |
Payment date: 20140220 Year of fee payment: 17 |
|
EXPY | Expiration of term |