KR20050010918A - 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치 - Google Patents
가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치 Download PDFInfo
- Publication number
- KR20050010918A KR20050010918A KR10-2004-7020323A KR20047020323A KR20050010918A KR 20050010918 A KR20050010918 A KR 20050010918A KR 20047020323 A KR20047020323 A KR 20047020323A KR 20050010918 A KR20050010918 A KR 20050010918A
- Authority
- KR
- South Korea
- Prior art keywords
- codeword
- codewords
- decoded
- bit stream
- found
- Prior art date
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
본 발명은 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 방법에 관한 것이다. 상기 방법에서, 복호화될 비트 스트림은 여러 부분들로 처리되고, 각각의 비트 스트림 부분에는 코드워드들에 대한 탐색이 이루어지며, 발견된 코드워드들은 복호화된다. 상기 방법에 있어서, 적어도 부분적으로 중복하는 필드들은 적어도 2개의 필드들의 기점이 상기 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 추출된다. 적어도 하나의 필드에서는, 상기 코드워드의 종점이 탐색되며, 상기 코드워드와 관련된 데이터는 상기 코드워드 종점을 기초로 하여 결정된다. 적어도 하나의 코드워드와 관련된 데이터는 한 필드에서 복호화되도록 의도된 코드워드의 발생을 발견하는 데 사용되고, 발견된 코드워드는 복호화된다. 본 발명은 또한 상기 방법이 적용되는 복호기, 시스템 및 장치와 아울러, 상기 방법을 적용하는 프로그램을 저장하는 저장 장치에 관한 것이다.
Description
데이터 네트워크들을 통한 이미지 및 비디오 데이터의 전송에 있어서, 이미지 데이터의 압축이 필요한 데, 그 이유는 전송될 데이터량이 유효한 전송률의 견지에서 볼 때 대단히 많기 때문이다. 공지된 압축 알고리즘들은 무손실 알고리즘과 아울러 손실 알고리즘을 포함한다. 이산 코사인 변환(discrete cosine transform; DCT)은 이미지 데이터로부터 중복 정보를 절단하기 위한 양자화와 협력하는 손실 알고리즘이다. DCT 계수들은 이미지의 기본 단위(예를 들면 8 x 8 픽셀)에 대해 계산되고, 이미지 블록은 이같은 계수들로 이루어져 있는 매트릭스로서 표현된다.DCT 이후, 상기 계수들은 무손실 허프만 부호화를 위해 지그재그 스캐닝을 통해 적합한 순서로 배열된다. 상기 허프만 부호화는 단지 양자화 및 DCT 이후의 통계적 중복성을 감소시키는 가변길이 부호화(variable length coding; VLC)의 일례일 뿐이다. 가변길이 부호화의 원리는 빈번하게 발생하는 심볼들을 보다 짧은 코드워드들로 제공하고 보다 덜 빈번하게 발생하는 심볼들을 보다 긴 코드워드들로 제공하는 것이다. 상기 부호화를 개시하기 위해, 소스 데이터는 각각의 심볼들의 발생 확률에 따라 각각의 심볼들을 배열함으로써 처리된다. 가장 낮은 확률을 갖는 심볼들은 순환적으로 결합되어 하나의 심볼이 되는 데, 이 경우 각각의 가지(branch)를 표현하도록 하나의 비트를 정의함으로써 각각의 심볼을 자기 자신의 코드워드로 할당하기 위해 (예를 들면, 도 1a에 도시된) 트리 구조가 형성된다. 도 1a의 코드 트리로부터 알 수 있는 점은 가장 낮은 발생 확률을 갖는 심볼이 가장 긴 코드워드를 지닌다는 것이다. 도 1b에는 각각의 심볼에 대한 엔트로피(H(x)), 발생 확률(P(x)) 및 코드워드(코드)가 도시되어 있다. 상기 방법은 평균값을 갖는 가장 짧은 코드워드를 생성시키고, 압축은 원래 소스의 엔트로피에 근접함으로써, 상기 부호화는 대체로 효율적이게 된다. 따라서, 가변길이 부호화는 이미지 처리 과정과 관련이 있는 여러 표준들에서 필수적인 요소이다.
그같은 정의로 알 수 있는 바와 같이, 가변길이 부호화의 코드워드들은 길이면에서 서로 다르다. 코드워드의 시점 및 종점이 비트 스트림으로부터 직접 검출될 수 있는 경우, 순환적 종속성(recursive dependency)이 상기 코드워드들 간에 발생하게 되며, 이는 복호화를 보다 어렵게 한다. 상기 종속성은 가변길이 복호화(variable length decoding; VLD) 이전에 코드워드들이 비트 스트림으로부터 발견되어야 하는, 즉 코드워드들의 위치들이 결정되어야 하는 원인이 되게 한다. 복호화 과정에서는, 코드 길이 및 위치, 코드워드 및 대응하는 심볼을 결정하는 것이 결과적으로 필요하다.
VLD 구현들은 다음과 같은 방식으로 비트 스트림을 처리함에 따라 특징화될 수 있다. 비트 시리얼 처리 과정에서는, 상기 비트 스트림이 한 비트씩 시리얼 방식으로 처리된다. 따라서, 전반적인 착신 비트 스트림은 일정한 입력 속도로 처리된다. 상기 코드워드들이 가변길이들을 지니기 때문에, 코드워드의 전반적인 복호화에는 또한 가변 시간이 소요됨으로써 가변 출력 속도가 초래된다.
비트 패러렐 처리 과정에서는, 착신 비트 스트림의 수개의 비트들이 패러렐 방식을 통해 일정한 입력 속도로나 또는 가변 입력 속도로 처리된다. 상기 입력 속도가 일정하게 유지될 경우, 출력 속도는 코드워드의 가변길이 때문에 가변 상태로 된다. 일정한 출력 속도를 이루기 위해, 착신 비트 스트림의 가변 처리 과정이 필요하다. 다시 말하면, 일정한 출력 속도를 획득하기 위해, 입력은 바람직한 출력 속도와 가장 긴 코드워드 길이의 곱에 대응하는 비트수를 포함하여야 한다.
비트 스트림의 처리 과정을 기초로 한 특징과 유사한 방식으로, 복호기들의 대응 관계는 또한, 동시에 복호화될 코드워드들(또는 출력으로부터 획득되는 심볼들)의 개수로 설명될 수 있다. 복호화가 한번에 하나의 코드워드로 수행될 경우, 상기 복호화는 심볼-시리얼로서 특징화될 수 있다. 따라서, 복호화의 결과로, 수개의 심볼들이 한번에 얻어지는 경우에는 복호화가 심볼-패러렐이다.
상기 복호화는 허프만 트리 구조와 반대로 구현되는 것인 트리 기반 알고리즘으로 구현될 수 있다. 즉, 루트(root)로부터 시작하여 전반적인 코드워드가 각각의 리프 셀(leaf cell)로부터 결정되는 동안 상기 복호화를 수행함으로써, 부호화된 착신 비트 스트림이 2진 트리와 비교된다. 트리 모델의 복호화에 있어서, 효율적인 복호화는 단지 짧은 코드워드들만을 통해서만 획득된다. 그러나, 실시간 처리 요구가 많은 경우에는, 대응하는 출력 속도가 또한 긴 코드워드들을 통해 이루어져야 할 필요가 있다. 더욱이, 트리 모델이 비트-시리얼 형태이기 때문에, 이러한 트리 모델은 단일 비트 스트림이 처리될 경우 코드워드들 간의 종속성 때문에 수개의 심볼들의 동시적인 복호화, 즉 심볼-패러렐 처리 과정에 적합하지 않다.
상기 대응 관계는 처리 능력을 개선하기 위해 수개의 비트들을 패러렐 방식으로 처리함으로써 증가되었고, 이는 충분한 데이터량(최대 코드워드 길이)을 입력 버퍼에서 수집함으로써 구현되며, 상기 입력 버퍼로부터 개시하는 코드워드들이 검출 및 복호화된다. 심볼-시리얼 복호화에서는, 최대 코드 길이에 대응하는 데이터량이 상기 입력 버퍼에 축적되어 심볼이 각각의 사이클에서 발견되게 한다. 여기서 수반되는 문제는 비트들이 상기 버퍼의 단부에 남게 되고, 이러한 것이 현재 사이클에서 이용될 수 없다는 점이다. 심볼-패러렐 복호화(또는 다중-심볼 복호화)는 장치 또는 시스템이 순식간에 매우 복잡해지게 되는 문제 및 설계상의 도전을 포함한다.
1996년 8월, IEEE Trans. Consumer Electron. vol.42, no.3, pp.439-446에 실린 "MPEG용의 병행 메모리-효율 VLC 복호기"("A concurrent memory-efficientVLC decoder for MPEG applications", IEEE Trans. Consumer Electron., vol.42, no.3, pp.439-446, Aug. 1996)에서, 씨.티. 지에(C.T. Hsieh) 및 에스.피. 김(S.P. Kim)은 동일 사이클에서의 패러렐 방식으로의 짧은 코드워드들의 동시적인 복호화(병행 복호화 알고리즘)를 소개하고 있다. 그러한 복호기는 가변길이 부호화의 확률 분포를 이용하며, 이에 따라 착신 비트 스트림의 비트 시퀀스가 보다 높은 확률로 긴 코드워드들보다 짧은 코드워드들을 포함한다. 예를 들면, 착신 데이터의 16-비트 시퀀스는 최악의 경우에, 8개의 2-비트 코드워드들을 포함하며, 이러한 코드워드들의 복호화는, 한번에 하나의 심볼씩, 8번의 복호화 사이클들을 필요로 한다. 상기 공보에 언급된 복호화 알고리즘의 목적은 2개 이상의 짧은 코드워드들을 동시에 검출함으로써 복호화 과정을 가속화시키는 것이다. 다시 말하면, 상기 방법은 코드워드들의 조합들을 검출하는 데 사용된다. 예를 들면, 2개의 레벨들로 코드워드를 복호화함에 있어서는, 트리 모델의 제1의 레벨이 복호화될 제1의 코드워드에 해당하며, 제2의 레벨이 복호화될 제2의 코드워드에 해당한다. 따라서, 상기 목적은 동시에 2개의 코드워드들을 복호화하는 것이다. 상기 제1의 코드워드의 길이는 2 내지 k 비트로 변경될 수 있다. 상기 제1의 코드워드의 길이가 2 비트일 경우, 아마도 패러렐 방식으로 복호화될 제2의 코드워드의 길이는 2 내지 k2비트이다. 그 반면에, 상기 제1의 코드워드의 길이가 3 비트일 경우, 아마도 동시에 복호화될 제2의 코드워드의 길이는 2 내지 k3이고, 이하 마찬가지이다. 상기 제1의 레벨이 모든 코드들을 포함하고 있기 때문에, k는 결과적으로 가장 긴 코드워드의 길이에 해당하는 코드북(code book)의 최대 길이와 동일하다. 상기 제2의 레벨에서는, 보다 짧은(확률이 보다 높은) 코드들이 VLC의 기본적인 특성에 따라 선호된다. 이 때문에, ki의 값은범위에 있다.
2-레벨 복호화 과정에서의 기본적인 단계는 트리 모델의 루트로부터 개시한다. 트리 내의 각각의 가지(branch)의 비트 시퀀스들은 각각의 레벨에 관한 모든 예상가능한 코드워드들에 대해 실질적으로 동시에 테스트된다. 2개 이상의 적합한 가지가 트리의 제2의 레벨 상에서 발견될 경우, 루트로부터 계속 이어지는 그러한 경로가 선택된다. 즉, 비트 스트림은 계속 이어진다. 다음 레벨의 가지들 중 어떠한 것도 루트로부터 이어지는 경로를 제공하지 않는 경우에, 상기 복호화 과정은 결국 제1의 레벨 상에서 종단될 수 있다. 이것이 의미하는 것은 제2의 코드워드가 복호화될 수 없다는 것을 의미한다. 각각의 레벨로부터 획득되는 코드워드 길이는 입력 스트림의 다음 데이터를 제어하는 데 사용되는 데, 이 경우에는 상기 복호화 과정이 다시 개시된다. 동일한 복호화 방법은 또한 보다 많은 레벨들과 함께 사용될 수 있다. 최대 공산 비트 패턴(maximum likely bit pattern; MLBP)을 기초로 한 코드워드 검출 블록은 복호화 사이클을 완료하기 위한 3가지 요소들, 즉 그룹 내의 잔류자(residue)를 결정하기 위한 그룹 플래그들, 비트 스트림을 다음 코드워드의 개시 부분에 전달하기 위한 길이, 및 메모리용 그룹 코드를 회복시킨다. 상기 심볼은 상기 그룹 및 상기 잔류자에 따라 랜덤 액세스 메모리로부터 회수된다.
본 발명은 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 결정되어 있는 비트 스트림으로부터 복호화하는 방법으로서, 복호화될 비트 스트림이 여러 부분들로 처리되고, 각각의 비트 스트림 부분에는 코드워드들에 대한 탐색이 이루어지며, 발견된 코드워드들이 복호화되는 방법에 관한 것이다. 또한, 본 발명은 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 복호기로서, 특정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 수단, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 수단, 및 발견된 코드워드들을 복호화하는 수단을 구비하는 복호기에 관한 것이다. 또한, 본 발명은 2진 형식(binary format)으로 정보를 전송하는 시스템으로서, 부호기 및 복호기를 포함하며, 상기 복호기는 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 수단을 포함하고, 상기 복호기에는, 고정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 수단, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 수단, 및 발견된 코드워드들을 복호화하는 수단이 구비되어 있는 시스템에 관한 것이다. 더욱이, 본 발명은 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 복호기를 포함하는 장치로서, 상기 복호기는, 고정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 수단, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 수단, 및 발견된 코드워드들을 복호화하는 수단을 구비하는 장치에 관한 것이다. 마지막으로, 본 발명은 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하도록 기계에 의해 취해질 수 있는 단계들을 포함하는 프로그램을 저장하는 저장 장치로서, 상기 프로그램은, 특정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 컴퓨터 명령어들, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 컴퓨터 명령어들, 및 발견된 코드워드들을 복호화하는 컴퓨터 명령어들을 구비하는 저장 장치에 관한 것이다.
도 1a는 허프만 부호화에 의해 형성되는 트리 구조를 보여주는 도면이다.
도 1b는 허프만 코드워드들과 아울러 대응하는 심볼들 및 발생 확률들을 표 형식으로 보여주는 도면이다.
도 2는 바람직한 실시예에 따라 비트 스트림으로부터 VLC 코드워드들을 발견하는 원리를 보여주는 도면이다.
도 3은 비트 스트림으로부터 VLC 코드워드들을 발견하기 위한 본 발명의 바람직한 실시예에 따른 시스템을 축소된 도표로 보여주는 도면이다.
도 4a는 MA(MultiplexedAdd) 장치를 선도로 보여주는 도면이다.
도 4b는 MultiplexedAdd의 내부 구조를 보여주는 도면이다.
도 5는 MultiplexedAdd를 사용함으로써, 비트 스트림으로부터 VLC 코드워드들을 발견하기 위한 본 발명의 다른 바람직한 실시예에 따른 시스템을 축소된 도표로 보여주는 도면이다.
본 발명의 목적은 복호화 과정의 제1의 단계에서 상기 코드워드들 간의 종속성들을 제거하여 상기 코드워드들을 지역화(localization)시킴으로써 패러렐 방식으로 그리고 파이프라인 방식으로 복호화를 가능하게 하는 것이다. 본 발명에 따른 방법에서는, 고정된 크기의 비트 필드들이 모든 예상가능한 코드워드들을 발견하기 위해 상기 입력 버퍼로부터 추출된다. 모든 예상가능한 코드워드들은 캐스케이드 구조를 통해 상기 버퍼로부터 실질적으로 동시에 검출된다. 다시 말하면, 상기 버퍼 내로 착신되는 비트 스트림으로부터, 코드워드 길이들이 모든 예상가능한 버퍼 위치로부터 검출된다. 그러나, 이는 또한 무효 코드워드들이 상기 입력 버퍼로부터 검출되는 결과를 초래시킨다. 본 발명에 따른 방법에서는, 제1의 검출기의 결과(제1의 코드워드 길이)가 제2의 출력의 선택을 제어하는 데 사용되는 방식으로 유효한 코드워드 길이들이 이전 코드워드 길이들을 통해 선택된다. 이어서, 제3의 코드워드 길이는 이전 코드워드 길이들의 합을 기초로 하여 선택되고 이하 마찬가지이다. 실제 코드워드들의 선택에 있어서는, (상기 버퍼 내의 모든 예상가능한 코드워드 위치들로부터 획득된) 수개의 코드워드 길이들로부터 유효한 코드워드 길이를 선택하는 데 다중화기들이 사용된다. 상기 다중화기는 예를 들면 기본적인 논리 회로들(AND/OR 게이트들 및 인버터들)을 사용함으로써 구현될 수 있다. 본 발명에 따른 방법에서는, 상기 다중화기들이 이들의 직접적인 출력으로서, 상기 버퍼 내의 모든 완전한 코드워드들의 길이를 제공하는 방식으로 상기 다중화기들이 연쇄적으로 이어져 있다. 검출된 코드워드 길이들의 합 및 부분합에 관한 데이터는 또한 예상가능한 추후 용도에 사용될 수 있다. 본 발명의 바람직한 실시예의 특징은 임계 경로를 보다 짧게 하도록 MA(MultiplexedAdd)를 통해 길게 되는 캐스케이드 구조(cascade structure)를 구현하는 것이다. 본 발명의 방법에서는, 상기 버퍼에서 발생하는 모든 완전한 코드워드들이 검출됨으로써, 심볼들에 대한 실제 탐색이 제한적 종속성들 없이 복호화를 가속화시키도록 패러렐 방식으로 수행될 수 있다.
보다 구체적으로 기술하면, 본 발명에 따른 방법은 주로, 적어도 2개의 필드들의 기점이 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리되도록 적어도 부분적으로 중복하는 필드들이 상기 비트 스트림 부분으로부터 분리되고, 코드워드 종점이 적어도 하나의 필드로부터 탐색되며, 상기 코드워드와 관련된 데이터가 상기 코드워드 종점을 기초로 하여 결정되고, 적어도 하나의 코드워드와 관련된 데이터가 상기 필드에서 복호화될 코드워드의 발생을 결정하는 데 사용되며, 발견된 코드워드가 복호화되는 것을 특징으로 한다. 본 발명에 따른 복호기는 주로, 적어도 2개의 필드들의 기점이 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 수단; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 수단; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 수단(CD); 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 수단(MUX1,MUX,M,MA)을 또 포함하는 것을 특징으로 한다. 본 발명에 따른 시스템은 주로, 복호기가, 적어도 2개의 필드들의 기점이 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 수단; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 수단; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 수단; 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 수단을 또 포함하는 것을 특징으로 한다. 본 발명에 따른 장치는 주로, 상기 복호기가, 적어도 2개의 필드들의 기점이 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 수단; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 수단; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 수단; 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 수단을 또 포함하는 것을 특징으로 한다. 마지막으로, 본 발명에 따른 저장 장치는 주로, 프로그램이, 적어도 2개의 필드들의 기점이 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 컴퓨터 명령어들; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 컴퓨터 명령어들; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 컴퓨터 명령어들; 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 컴퓨터 명령어들을 포함하는 것을 특징으로 한다.
본 발명은 패러렐 방식으로의 긴 코드워드들의 복호화에도 또한 적합한 비트-패러렐, 심볼-패러렐 방법인 방식으로 코드워드들을 복호화하기 위한 선행 기술을 개선한다. 이는 결과적으로 보다 긴 입력 버퍼(임의 길이의 버퍼)를 이용할 수 있다. 더욱이, 본 발명은 구현의 파이프라인을 위한 단들로의 복호화 분할을 이용한다. 예상가능한 코드워드들은 코드워드들이 위치해 있을 수 있는 입력 버퍼의 모든 그러한 위치들에서 탐색된다. 유효한 코드워드들은 인덱스들에 따라 검출되고, 이러한 인덱스들은 이전의 적합한 코드워드들의 길이들에 대한 합을 계산함으로써 획득된다. 한도(기점 및 종점)에 관한 데이터가 코드워드들의 발견과 관련하여 발견되기 때문에, 다른 코드워드들과 무관하게 코드워드들을 복호화시키고 대응 관계를 증가시키는 것이 가능해진다. 본 발명에 따른 방법의 출력단은 입력 버퍼의 크기에 비례한다.
이하에서는, 첨부 도면을 참조하여 본 발명이 보다 상세하게 설명될 것이다.
먼저, 한번에 얼마나 많은 가변길이의 코드워드들이 버퍼에서 발생할 수 있는 지를 정의하기로 한다. 이를 위해,및이 각각 코드워드의 최소 길이 및 최대 길이를 나타낼 경우, 코드표의 코드 길이들은 그룹()으로 정의된다. 따라서, N개 비트들의 버퍼에서는, 코드워드들의 최대 개수는이고, 이다.일 경우, 가변길이 코드워드들을 심볼()로 표시하기로 하며 코드워드()의 길이를 심볼()로 표시하기로 한다. 또한, N개 비트들의 코드워드 버퍼에서 코드워드()의 최초 비트를 나타내기 위해 인덱스()를 정의하기로 하며, 이 경우이다.
일반적으로, 제1의 코드워드()가 항상 버퍼의 개시 부분에 위치해 있으며,의 기점(starting point)이= 0 이라고 가정될 수 있다. 제2의 코드워드()는 상기 제1의 코드워드 다음에 바로 위치해 있으며, 상기 제2의 코드워드의 기점을 정의하기 위한 인덱스()가 상기 제1의 코드워드의 길이이다. 즉,이다. 이것이 의미하는 것은 코드워드()의 기점이 이전 코드워드들의 길이의 합, 즉,인 것을 의미한다.
버퍼 내의 코드워드들의 길이들은 사전에 알 수 없다. 순환적 종속성(recu-rsive dependency)들을 회피하기 위해서는, 버퍼 내의 임의 위치들에서 코드워드들에 대한 패러렐 탐색이 또한 필요하게 된다. 일반적으로, 어느 한 코드워드의 모든 예상가능한 위치들은로 정의될 수 있는 데, 이는 N개 비트들의 버퍼에서위치들을 의미한다. 코드워드의 최대 길이()가 이미 알려져 있기 때문에, 최대 길이()의 크기보다 크지 않은 필드들이로 정의되는 모든 예상가능한 위치들로부터 분리되고, 상기 예상가능한 코드워드 길이는 예를 들면, 리딩 캐릭터(leading character)들, 최대 공산 비트 패턴(maximum likely bit pattern; MLBP)들 또는 수치적 특성들과 같은 코드표의 패턴 매칭 특성들을 사용하여 상기 모든 예상가능한 위치들 각각에서 탐색된다.그러나, 단지 상기 코드워드를 정의하는 모든 비트들이 복호화를 완료할 수 있는 경우에만, 즉 상기 코드워드를 정의하는 모든 비트들이 상기 심볼을 발견할 수 있는 경우에만, 상기 심볼이 발견될 수 있다. 이러한 이유로 해서, 마지막인덱스들로부터 개시하는 필드들에서 상기 코드워드를 검출하는 것이 보다 용이한 데,인 경우, 단지 하나의 인덱스만이 기점()으로부터 개시하는 비트 필드들로부터개의 비트들을 갖는 코드워드들을 탐색할 필요가 있다.
앞서 언급한 단계에서는 중복 코드워드들이 검출되는 데, 그 이유는 하나의 비트 필드가 보다 긴 유효한 코드워드의 한 가운데에서 분리될 경우, 보다 짧은 코드워드가 이러한 코드워드에서 발견될 수 있기 때문이다. 이러한 이유로 해서, 각각의 탐색 과정은 단지 검출된 코드워드의 길이만을 회복시킨다. 버퍼 내의 유효한 코드워드들의 인덱스들은 길이에 대하여 순환적으로 정의될 수 있는 데, 제1의 코드워드의 길이는 제2의 코드워드에 대한 기점을 정의하며, 상기 제1의 코드워드 및 제2의 코드워드의 길이들은 제3의 코드워드에 대한 기점을 정의하고, 이하 마찬기지이다.
도 2는 본 발명의 바람직한 실시예에 따른 방법을 통해 16-비트 버퍼에서 코드워드들을 발견하는 예를 보여주는 도면이다. 길이가 그룹()으로 정의되어 있고 16-비트 입력 버퍼 내의 코드워드들의 최대 개수가인 코드표를 가정하기로 하자. 위에서 언급된 방법에 의하면, 14개의 필드들()은 상기 버퍼로부터 식별되고, 그들 각각에서 예상가능한 코드워드를발견하려는 시도가 이루어진다. 제1의 필드()는 제1의 적합한 코드워드()를 확실히 포함한다. 제2의 코드워드()는 상기 필드들() 중 하나의 필드에서 발견된다. 마찬가지 방식으로, 예상가능한 제3의 코드워드()는 상기 필드들() 중 하나의 필드에서 발견될 수 있다. 예상가능한 다른 코드워드들()은 상기 필드들()에서 발견될 수 있다. 상기 필드들()의 비트 필드 길이가 다른 필드들의 비트 필드 길이보다 짧은 데, 그 이유는 상기 버퍼의 단부에 아마도 고정되는 코드워드들이 최대 길이()보다 짧기 때문이다.
복호화 과정을 완료하기 위해, 상기 코드워드들에 대응하는 심볼들은 상기 코드표로부터 회수된다. 상기 코드워드들의 기점 및 종점은 위에서 언급된 방법을 통해 발견될 수 있기 때문에, 상기 코드워드들 간의 종속성은 제거된다. 다시 말하면, 상기 코드워드들은 입력 스트림으로부터 분리될 수 있으며 탐색은 독립적으로 수행될 수 있다.
요약하면, 위에서 언급된 패턴은 다음과 같이 표현될 수 있다:
ㆍN개 비트들의 코드워드 버퍼 내의 코드워드들의 최대 개수()가 결정됨.
ㆍ필요한 크기의필드들()은 코드워드의 길이를 결정하기 위해 상기 버퍼로부터 분리됨. 상기 필드들의 기점은 버퍼위치()임.
ㆍ상기 예상가능한 코드워드들은 각각의 필드의 개시 부분에서 발견됨. 상기 발견된 코드워드의 길이는 회복됨.
ㆍ제1의 코드워드의 길이는 상기 제1의 필드에서 발견되고, 다른 유효한 코드워드들은 이전의 적합한 코드워드들의 길이들에 대한 합을 계산함으로써 획득되는 인덱스들을 통해 상기 버퍼에서 발견됨.
ㆍ상기 적합한 코드워드에 대응하는 심볼은 코드표를 통해 발견됨.
입력 레벨 및 출력 레벨 모두가 위에서 언급된 방법에서 가변적이기 때문에, 입력 및 출력 모두에서 버퍼링이 필요하다. 도 3은 앞서 언급된 단계를 구현하는 복호기를 보여주는 도면으로서, 상기 복호기의 설계면에서, 입력 버퍼 내의 모든 코드워드들의 동시 검출이 고려된 도면이다. 이를 구현하기 위해,개의 코드워드 검출기(CD)들이 사용된다. 제1의 코드워드 검출기(CD1; 도 3에서 좌측의 코드워드 검출기)는 하나의 코드워드를 검출하기 위해 상기 입력 버퍼의 개시 부분으로부터 개시하는 필드를 사용한다. 제2의 코드워드 검출기(CD2)는 하나의 코드워드를 검출하기 위해 상기 입력 버퍼의 지점()으로부터 개시하는 필드를 사용한다. 상기 도면에 따른 순서로 보면, 좌측에 있는개의 코드워드 검출기들은 상기 입력 버퍼의 다른 지점들(최대 길이 코드워드들)로부터 개시하는 필드들을 사용하는 반면에, 나머지개의 코드워드 검출기들은 단지 최대 길이보다 짧은 코드워드들을 검출하는 데에만 필요하다. 모든 코드워드 검출기들()은 실질적으로 동시에 코드워드들을 검출하고 발견된 코드워드의 길이를 회복시킨다. 발견된 모든 코드워드들로부터 적합한 코드 길이들()을 선택하기 위해, 다중화기(MUX)들이 사용되며, 이들은 캐스케이드 구조로 형성되어 있다. 각각의 다중화기(MUX)는 위치가 그룹()으로 정의되어 있는 각각의 코드워드 검출기(CD)로부터 출력된 입력을 지닌다. 상기 코드워드 검출기(CD)들의 비트 필드들은 상기 입력 버퍼의 위치들()들에 존재한다. 제1의 코드 길이()가 항상 제1의 코드워드 검출기(CD1)로부터 획득되기 때문에, 이는 제1의 다중화기(MUX1)를 제어하여 제2의 적합한 코드 길이()를 선택한다. 이는 또한 복호화 모드에 관한 정보를 전달하는 데 사용될 수 있다. 다시 말하면, 코드 길이가 영(0)일 경우에는, 복호화가 종료되거나 또는 오류가 발견된다. 나머지 다중화기들은 이전의 코드 길이들에 대한 합으로 제어된다. 이러한 방식으로, 코드 길이들에 대한 합의 계산을 통해 임계 경로가 생성되는 데, 이러한 임계 경로는 도 3에서 점선으로 표시되어 있다.
코드워드들은 길이 데이터에 따라 상기 입력 버퍼로부터 분리될 수 있으며 또한 독립적으로 복호화될 수 있다. 더욱이, 복호화는 코드워드들의 종속성들이 제거되었을 때 패러렐 방식으로 이루어질 수 있다.
본 발명의 다른 바람직한 실시예에 의한 시스템에서, MA(MultiplexedAdd)가 사용될 수 있는 데, 그의 개략적인 도면이 도 4a에 나타나 있고 내부 구조가 도 4b에 나타나 있다. 이러한 해결 방안은 코드워드의 결정에서 발생되는 임계 경로를감소시키는 데 사용될 수 있다. 도 4a에 도시된 바와 같이, MA(MultiplexedAdd)는 2개의 입력들에 대한 합을 계산하고 또한 실질적으로 동시에 다중화를 수행한다. 도 4b는 3-비트 MultiplexedAdd의 내부 구조를 보여주는 도면이다. X개의 비트들의 MultiplexedAdd는 X개의 전가산기(FA)들 및, 입력들로서, 선택 신호들로의 전가산기들의 합들과 아울러 대안(가능성(possibility); P)들을 수신하는 X개의 레벨들의 다중화 트리 구조를 포함한다. 상기 도면에 도시된 시스템의 일례는 2개의 3-비트수(A,B)들이며, 이들의 합(S)은 본 발명에 따른 방법에서, 상기 입력 버퍼의 위치()로부터 개시하는 그러한 코드워드들에 대한 모든 예상가능한 코드워드 길이들을 표현하는 가능성들(P0-P7)로부터 (가능성(P)으로부터 선택되는 코드워드 길이()에 해당하는) 출력(O)의 선택을 제어한다. 따라서, 상기 출력을 구현하기 위한 식이 다음과 같이 정의될 수 있다.
이러한 식은 다음과 같은 형태로 감소될 수 있다.
MA(MultiplexedAdd)를 통해, 현재의 코드 길이() 및 이전의 코드 길이()의 합을 계산하고 다음의 코드 길이()를 선택하는 것이 가능하다.MA(MultiplexedAdd)를 사용함으로써, 2개의 코드 길이들 간의 지연이비트 가산기 및 다중화기 그룹의 지연으로부터전가산기 및 2-1 다중화기의 지연으로 감소된다. 마찬가지 방식으로, 논리단들은 3-4 AND-OR 게이트들 및 2-2 AND-OR 게이트들 및 인버터들을 사용함으로써단들로부터단들로 감소된다. 도 5는 본 발명의 제2의 바람직한 실시예에 따른 MA(MultiplexedAdd)를 통해 코드워드들을 발견하는 시스템을 보여주는 도면이다.
본 발명에 따른 가변길이 부호화를 위한 복호기는 디지털 신호 프로세서 내의 주문형 집적 회로(application specific integrated circuit; ASIC)를 통해, 전자 장치의 일부로서, 예를 들면 개별 논리 회로들로서 구현될 수도 있고, 프로세서 내의 기능 유닛으로서 구현될 수도 있다. 전형적으로는, 상기 전자 장치가 또한 사용자에게 복호화된 정보를 디스플레이하기 위한 수단 및 상기 전자 장치를 제어하기 위한 프로세서와 같은 다른 기능들을 포함한다.
분명한 점으로는, 본 발명이 단지 위에서 언급된 실시예에만 국한되는 것이 아니라, 첨부된 청구항들의 범위 내에서 변형될 수 있다는 것이다.
Claims (14)
- 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 방법으로서, 복호화될 비트 스트림이 여러 부분들로 처리되고, 각각의 비트 스트림 부분에는 코드워드들에 대한 탐색이 이루어지며, 발견된 코드워드들이 복호화되는 방법에 있어서,적어도 부분적으로 중복하는 필드들은 적어도 2개의 필드들의 기점이 상기 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리되도록 상기 비트 스트림 부분으로부터 추출되고, 코드워드 종점은 적어도 하나의 필드로부터 탐색되며, 상기 코드워드와 관련된 데이터는 상기 코드워드 종점을 기초로 하여 결정되고, 적어도 하나의 코드워드와 관련된 데이터는 상기 필드에서 복호화될 코드워드의 발생을 결정하는 데 사용되며, 발견된 코드워드가 복호화되는 것을 특징으로 하는 방법.
- 제1항에 있어서, 상기 복호화될 코드워드와 관련된 데이터는 복호화될 코드워드의 길이를 포함하며, 상기 복호화될 코드워드들에 대한 탐색은,ㆍ복호화될 제1의 코드워드가 제1의 필드에서 탐색되고,ㆍ기점이, 처리 과정에 있는 비트 스트림 부분에서, 복호화될 이전 코드워드들의 길이들에 대한 합에 대응하는 지점인 필드에서 복호화될 다음 코드워드가 탐색되며,ㆍ처리 과정에 있는 비트 스트림 부분에서 복호화될 모든 코드워드들을 발견하도록 이전 단계가 취해지는 방식으로 수행되는 것을 특징으로 하는 방법.
- 제2항에 있어서, 복호화될 다음 코드워드의 기점을 발견하기 위해, 복호화될 이전에 발견된 코드워드들의 길이들에 대한 합이 계산되며 상기 기점이 실질적으로 동시에 선택되는 것을 특징으로 하는 방법.
- 제3항에 있어서, 처리 과정에 있는 비트 스트림 부분으로부터 코드워드들을 발견하는 데에는, 이하의 식이 사용되며,상기 식 중, s2,s1,s0는 검사를 받고 있는 필드 이전에 복호화될 발견된 코드워드들의 길이들에 대한 합의 비트들이고, P0-P7은 처리 과정에 있는 비트 스트림 부분의 위치()로부터 개시하는 그러한 코드워드들에 대한 모든 예상가능한 코드워드 길이들을 표현하며, O는 서로 다른 대안(alternative)들에서 탐색될 코드워드 종점의 선택인 것을 특징으로 하는 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 적어도 제1의 발견된 코드워드, 제2의 발견된 코드워드 및 제3의 발견된 코드워드가 복호화되는 것을 특징으로 하는 방법.
- 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 복호기로서, 고정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 수단, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 수단, 및 발견된 코드워드들을 복호화하는 수단을 구비하는 복호기에 있어서,적어도 2개의 필드들의 기점이 상기 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 수단; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 수단; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 수단(CD); 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 수단(MUX1,MUX,M,MA)을 또 포함하는 것을 특징으로 하는 복호기.
- 제6항에 있어서, 상기 복호화될 코드워드와 관련된 데이터는 복호화될 코드워드의 길이를 포함하며, 상기 복호기는,ㆍ제1의 필드에서 복호화될 제1의 코드워드를 탐색하는 수단(CD1),ㆍ상기 필드들에서 복호화될 다음 코드워드를 탐색하는 탐색 수단으로서, 상기 필드에서 발견되는 코드워드의 길이 데이터를 형성하도록 구성되는 탐색 수단(CD,MUX1,MUX,M,MA),ㆍ기점이 복호화될 이전 코드워드들의 길이들에 대한 합인 위치들에서, 처리 과정에 있는 비트 스트림 부분으로부터 복호화될 코드워드들을 선택하는 선택 수단(MUX1,MUX,MA)을 포함하는 것을 특징으로 하는 복호기.
- 2진 형식(binary format)으로 정보를 전송하는 시스템으로서, 부호기 및 복호기를 포함하며, 상기 복호기는 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 수단을 포함하고, 상기 복호기에는, 고정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 수단, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 수단, 및 발견된 코드워드들을 복호화하는 수단이 구비되어 있는 시스템에 있어서,상기 복호기는, 적어도 2개의 필드들의 기점이 상기 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 수단; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 수단; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 수단; 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 수단을 또 포함하는 것을 특징으로 하는 시스템.
- 제8항에 있어서, 상기 복호화될 코드워드와 관련된 데이터는 복호화될 코드워드의 길이를 포함하며, 상기 복호기는,ㆍ제1의 필드에서 복호화될 제1의 코드워드를 탐색하는 수단(CD1),ㆍ상기 필드들에서 복호화될 다음 코드워드를 탐색하는 탐색 수단으로서, 상기 필드에서 발견되는 코드워드의 길이 데이터를 형성하도록 구성되는 탐색 수단(CD,MUX1,MUX,M,MA),ㆍ기점이 복호화될 이전 코드워드들의 길이들에 대한 합인 위치들에서, 처리 과정에 있는 비트 스트림 부분으로부터 복호화될 코드워드들을 선택하는 선택 수단(MUX1,MUX,MA)을 포함하는 것을 특징으로 하는 시스템.
- 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하는 복호기를 포함하는 장치로서, 상기 복호기는, 고정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 수단, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 수단, 및 발견된 코드워드들을 복호화하는 수단을 구비하는 장치에 있어서,상기 복호기는, 적어도 2개의 필드들의 기점이 상기 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 수단; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 수단; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 수단; 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 수단을 또 포함하는 것을 특징으로 하는 장치.
- 제10항에 있어서, 상기 복호화될 코드워드와 관련된 데이터는 복호화될 코드워드의 길이를 포함하며, 상기 복호기는,ㆍ제1의 필드에서 복호화될 제1의 코드워드를 탐색하는 수단(CD1),ㆍ상기 필드들에서 복호화될 다음 코드워드를 탐색하는 탐색 수단으로서, 상기 필드에서 발견되는 코드워드의 길이 데이터를 형성하도록 구성되는 탐색 수단(CD,MUX1,MUX,M,MA),ㆍ기점이 복호화될 이전 코드워드들의 길이들에 대한 합인 위치들에서, 처리 과정에 있는 비트 스트림 부분으로부터 복호화될 코드워드들을 선택하는 선택 수단(MUX1,MUX,MA)을 포함하는 것을 특징으로 하는 장치.
- 제10항 또는 제11항에 있어서, 상기 장치는 복호화될 코드워드들의 기점들을 발견하기 위해 복호화될 코드워드들의 길이들의 합계를 내며, 상기 기점을 실질적으로 동시에 선택하는 수단(MA)을 포함하는 것을 특징으로 하는 장치.
- 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 장치는 이동 통신을 수행하는 수단을 포함하는 것을 특징으로 하는 장치.
- 가변길이의 코드워드들을, 상기 코드워드들에 대해 최소 길이 및 최대 길이가 정의되어 있는 비트 스트림으로부터 복호화하도록 컴퓨터에 의해 수행될 수 있는 컴퓨터 판독가능 명령어들을 포함하는 프로그램을 저장하는 저장 장치로서, 상기 프로그램은, 고정 길이의 여러 부분들로 복호화될 비트 스트림을 처리하는 컴퓨터 명령어들, 각각의 비트 스트림 부분 내의 코드워드들을 탐색하는 컴퓨터 명령어들, 및 발견된 코드워드들을 복호화하는 컴퓨터 명령어들을 구비하는 저장 장치에 있어서,상기 프로그램은, 적어도 2개의 필드들의 기점이 상기 비트 스트림 부분 내의 코드워드에 대한 예상가능한 기점인 방식으로 처리 과정에 있는 비트 스트림 부분으로부터 적어도 부분적으로 중복하는 필드들을 추출하는 컴퓨터 명령어들; 적어도 하나의 필드에서 상기 코드워드의 종점을 탐색하는 컴퓨터 명령어들; 상기 종점을 기초로 하여 상기 필드에서 발견되는 코드워드와 관련된 데이터를 결정하는 컴퓨터 명령어들; 및 적어도 하나의 코드워드와 관련된 데이터를 기초로 하여, 상기 필드에서 복호화될 코드워드의 발생을 결정하는 컴퓨터 명령어들을 포함하는 것을 특징으로 하는 저장 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20021221 | 2002-06-20 | ||
FI20021221A FI116813B (fi) | 2002-06-20 | 2002-06-20 | Menetelmä ja järjestelmä vaihtuvapituisen koodauksen purkamiseksi, ja koodisanojen paikannuslaite |
PCT/FI2003/000480 WO2004001978A1 (en) | 2002-06-20 | 2003-06-16 | A method and a system for variable-length decoding, and a device for the localization of codewords |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050010918A true KR20050010918A (ko) | 2005-01-28 |
Family
ID=8564212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7020323A KR20050010918A (ko) | 2002-06-20 | 2003-06-16 | 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6980138B2 (ko) |
EP (1) | EP1514356B1 (ko) |
KR (1) | KR20050010918A (ko) |
CN (1) | CN100546200C (ko) |
AT (1) | ATE363769T1 (ko) |
AU (1) | AU2003240915A1 (ko) |
DE (1) | DE60314139T2 (ko) |
FI (1) | FI116813B (ko) |
WO (1) | WO2004001978A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440979C (zh) * | 2005-12-15 | 2008-12-03 | 清华大学 | 基于上下文的自适应二维变长解码方法和装置 |
CN100466743C (zh) * | 2006-08-07 | 2009-03-04 | 清华大学 | 一种基于共享存储可编程的熵解码和反量化的方法 |
JP4841496B2 (ja) * | 2007-04-26 | 2011-12-21 | パナソニック株式会社 | 可変長符号復号化装置 |
JP4763853B2 (ja) * | 2008-03-31 | 2011-08-31 | パナソニック株式会社 | 可変長符号復号化装置及びその方法 |
US8660261B2 (en) * | 2009-06-04 | 2014-02-25 | Mediatek Singapore Pte. Ltd. | System and apparatus for integrated video/image encoding/decoding and encryption/decryption |
KR20120084639A (ko) | 2011-01-20 | 2012-07-30 | 한국전자통신연구원 | 엔트로피 부호화를 위한 적응적 정렬 테이블 |
WO2012099433A2 (ko) * | 2011-01-20 | 2012-07-26 | 한국전자통신연구원 | 인덱스 매핑 테이블을 이용한 엔트로피 코딩 방법 및 이러한 방법을 사용하는 영상 부호화/복호화 장치 및 방법 |
US9819359B1 (en) | 2016-12-11 | 2017-11-14 | Microsoft Technology Licensing, Llc | Multi-symbol, multi-format, parallel symbol decoder for hardware decompression engines |
US11211945B1 (en) * | 2020-10-29 | 2021-12-28 | Microsoft Technology Licensing, Llc | Parallelized decoding of variable-length prefix codes |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5280349A (en) * | 1992-02-13 | 1994-01-18 | Industrial Technology Research Institute | HDTV decoder |
US5245338A (en) * | 1992-06-04 | 1993-09-14 | Bell Communications Research, Inc. | High-speed variable-length decoder |
KR940010433B1 (ko) * | 1992-06-09 | 1994-10-22 | 대우전자 주식회사 | 가변길이 코드 디코딩장치 |
US5488366A (en) * | 1993-10-12 | 1996-01-30 | Industrial Technology Research Institute | Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles |
KR0124191B1 (ko) | 1994-01-18 | 1998-10-01 | 배순훈 | 가변길이 코드 디코딩장치 |
JP2746109B2 (ja) * | 1994-03-09 | 1998-04-28 | 日本電気株式会社 | ハフマン符号復号化回路 |
US5491480A (en) * | 1994-05-25 | 1996-02-13 | Industrial Technology Research Institute | Variable length decoder using serial and parallel processing |
US5798719A (en) * | 1994-07-29 | 1998-08-25 | Discovision Associates | Parallel Huffman decoder |
KR0141298B1 (ko) * | 1994-11-17 | 1998-06-15 | 배순훈 | 가변 길이 복호화 장치 |
US5835035A (en) * | 1995-12-28 | 1998-11-10 | Philips Electronics North America Corporation | High performance variable length decoder with two-word bit stream segmentation and related method |
KR100214593B1 (ko) * | 1996-03-15 | 1999-08-02 | 구자홍 | 캐스케이드 구조를 이용한 런랭스 코드의 코드워드 검출 방법 및 장치 |
US6411229B2 (en) * | 2000-04-28 | 2002-06-25 | Matsushita Electric Industrial Co., Ltd. | Variable length decoder |
US6542095B1 (en) * | 2001-12-14 | 2003-04-01 | Taiwan University | Universal variable length code (UVLC) encoder |
US6573846B1 (en) * | 2001-12-31 | 2003-06-03 | Apple Computer, Inc. | Method and apparatus for variable length decoding and encoding of video streams |
-
2002
- 2002-06-20 FI FI20021221A patent/FI116813B/fi not_active IP Right Cessation
-
2003
- 2003-06-16 CN CNB038142732A patent/CN100546200C/zh not_active Expired - Fee Related
- 2003-06-16 EP EP03730281A patent/EP1514356B1/en not_active Expired - Lifetime
- 2003-06-16 AT AT03730281T patent/ATE363769T1/de not_active IP Right Cessation
- 2003-06-16 KR KR10-2004-7020323A patent/KR20050010918A/ko not_active Application Discontinuation
- 2003-06-16 WO PCT/FI2003/000480 patent/WO2004001978A1/en active IP Right Grant
- 2003-06-16 DE DE60314139T patent/DE60314139T2/de not_active Expired - Lifetime
- 2003-06-16 AU AU2003240915A patent/AU2003240915A1/en not_active Abandoned
- 2003-06-18 US US10/465,033 patent/US6980138B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FI20021221A (fi) | 2003-12-21 |
EP1514356A1 (en) | 2005-03-16 |
FI20021221A0 (fi) | 2002-06-20 |
DE60314139T2 (de) | 2008-01-24 |
DE60314139D1 (de) | 2007-07-12 |
FI116813B (fi) | 2006-02-28 |
US20040070525A1 (en) | 2004-04-15 |
AU2003240915A1 (en) | 2004-01-06 |
EP1514356B1 (en) | 2007-05-30 |
ATE363769T1 (de) | 2007-06-15 |
WO2004001978A1 (en) | 2003-12-31 |
US6980138B2 (en) | 2005-12-27 |
CN100546200C (zh) | 2009-09-30 |
CN1663128A (zh) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100624432B1 (ko) | 내용 기반 적응적 이진 산술 복호화 방법 및 장치 | |
US6864813B2 (en) | Arithmetic decoding method and an arithmetic decoding apparatus | |
KR100950607B1 (ko) | 허프만 코딩 | |
KR100748485B1 (ko) | 가변 길이 코드워드 디코더 및 가변 길이 코드워드 디코딩 방법 | |
KR101678223B1 (ko) | 멀티미디어 서명 코딩 및 디코딩 | |
EP1024600A2 (en) | Data compression method and data decompressing method, and data compressing apparatus and data decompressing apparatus therefor | |
JP2006211621A (ja) | データ圧縮装置、及びデータ復元装置 | |
JP2010136417A (ja) | データ圧縮装置、及びデータ復元装置 | |
KR20030040567A (ko) | 허프만 디코딩을 수행하는 방법 | |
KR20050010918A (ko) | 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치 | |
Moussalli et al. | A high throughput no-stall golomb-rice hardware decoder | |
US6130631A (en) | Method and apparatus utilizing a simplified content-addressable memory for JPEG decoding | |
US8970405B2 (en) | Method and apparatus for entropy decoding | |
KR0180164B1 (ko) | 가변길이 부호기 | |
JP3256121B2 (ja) | データ符号化装置およびデータ復号装置およびその方法 | |
Nikara et al. | Parallel multiple-symbol variable-length decoding | |
KR100207428B1 (ko) | 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법 | |
Wang et al. | Variants of Golomb Coding and the n-ary Versions | |
JP2934603B2 (ja) | 可変長さコードの復号化方法及びその装置 | |
Kulkarni et al. | VLSI implementation of MQ decoder in JPEG2000 | |
JP2004056417A (ja) | 復号装置および復号方法 | |
JP3239664B2 (ja) | 可変長符号復号方法 | |
KR20180031944A (ko) | 비디오 디코더 및 이를 포함하는 전자 시스템 | |
JPH09307456A (ja) | 可変長符号復号装置及び方法 | |
Lee et al. | A fast dual symbol context-based arithmetic coding for MPEG-4 shape coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20110126 Effective date: 20120531 |