KR20120096541A - 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치 - Google Patents

디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치 Download PDF

Info

Publication number
KR20120096541A
KR20120096541A KR1020127016339A KR20127016339A KR20120096541A KR 20120096541 A KR20120096541 A KR 20120096541A KR 1020127016339 A KR1020127016339 A KR 1020127016339A KR 20127016339 A KR20127016339 A KR 20127016339A KR 20120096541 A KR20120096541 A KR 20120096541A
Authority
KR
South Korea
Prior art keywords
signal
binary digital
residual
digital signals
coding
Prior art date
Application number
KR1020127016339A
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 퀄컴 인코포레이티드
Publication of KR20120096541A publication Critical patent/KR20120096541A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • 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
    • 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/50Conversion to or from non-linear codes, e.g. companding

Abstract

a-law, mu-law 또는 다른 진폭 압신의 변수와 같은 비선형 표현으로 인코딩된 디지털 데이터의 샘플들을 압축하기 위해, 상기 압신된 샘플들은 예측에 종속되어, 비선형 도메인에서 예측 잔여를 확립하고, 잔여물은 Golomb-Rice 코드를 이용하여 무손실로 포함된다.

Description

디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치{METHOD, SYSTEM, AND APPARATUS FOR COMPRESSION OR DECOMPRESSION OF DIGITAL SIGNALS}
관련출원
본 특허 출원은, 2008 년 7 월 18 일 출원되고 발명의 명칭이 "LOW-DELAY AND LOW-COMPLEXITY LOSSLESS CODEC FOR SIGNALS WITH SMALL DYNAMIC RANGE" 인 가특허출원 61/082,170 호, 및 본 양수인에게 양도되고 발명의 명칭이 "LOW-DELAY AND LOW-COMPLEXITY LOSSLESS" 인 가특허출원 제 61/091,263 호에 대해 우선권의 이익을 주장한다.
기술분야
실시형태들은, 예를 들어, 디지털 신호들에 의해 표현되는 오디오 정보를 인코딩 또는 디코딩하는 것과 같은, 디지털 컨텐츠를 인코딩 또는 디코딩하는 분야에 관한 것이다.
예를 들어, 디지털화된 오디오 신호들을 포함하는 다양한 형태의 디지털화된 컨텐츠에 있어서, 무손실 압축 및/또는 압축해제는 다양한 환경에서 바람직할 수도 있다. 이러한 압축 또는 압축해제를 위한 기술, 더 상세하게는, 낮은 지연 또는 낮은 연산 복잡도를 제공하는 기술들은 계속 추구되고 있다.
청구물은 본 명세서의 결론 부분에 상세하게 적시되고 개별적으로 청구된다. 그러나, 목적, 특성 및 이점과 함께 구성 및 동작 방법 모두에 대한 청구물은, 첨부한 도면들과 함께 판독될 때 다음의 상세한 설명을 참조하여 최상으로 이해될 수도 있다.
도 1 은 일 실시형태에 따른 저 잡음 저 복잡도의 무손실 코딩 방식의 개략도이다.
도 2 는 인코딩 및 디코딩 방식의 블록도이다.
도 3 은 다른 인코딩 및 디코딩 방식의 블록도이다.
도 4 는 일 실시형태에 따른 인코딩/디코딩 방식의 블록도이다.
도 5 는 일 실시형태에 따른 가변 비트 길이 인코딩/디코딩 방식의 하나 이상의 양태들의 블록도이다.
도 6 은 일 실시형태에 따른 가변 비트 길이 인코딩 방식의 하나 이상의 양태들의 블록도이다.
도 7 은 일 실시형태에 따른 가변 비트 길이 디코딩 방식의 하나 이상의 양태들의 블록도이다.
다음의 상세한 설명에서, 청구물의 철저한 이해를 제공하기 위해 다수의 특정 세부사항이 기술된다. 그러나, 청구물은 이들 특정 세부사항 없이 실시될 수도 있음은 당업자에게 자명할 것이다. 다른 예에서, 당업자에게 공지된 방법, 장치 또는 시스템은 청구물을 모호하게 하지 않기 위해 상세히 설명하지 않는다.
이하 제공되는 상세한 설명의 일부는 특정 장치 또는 특수 목적 연산 디바이스, 장치 또는 플랫폼의 메모리 내에 저장된 2 진 디지털 신호들에 대한 연산의 심볼 표현 또는 알고리즘의 측면에서 제공된다. 이 특정한 명세서의 상황에서, 용어 특정 장치, 특수 목적 연산 디바이스 등은, 프로그램 소프트웨어로부터의 명령들을 따르는 특정 기능들을 수행하도록 프로그래밍되면, 범용 컴퓨터, 또는 개인 휴대 정보 단말기, 휴대용 전화, 셀룰러 전화, 스마트폰 등과 같은 다른 연산 디바이스를 포함할 수도 있다. 알고리즘 디스크립션 또는 심볼 표현은 신호 프로세싱 또는 관련 분야에서의 당업자에 의해 자신의 작업의 본질을 그 분야의 다른 당업자에게 전달하기 위해 사용되는 기술의 예이다. 여기서 알고리즘은 일반적으로 원하는 결과를 도출하는 동작 또는 유사한 신호 프로세싱의 일관된 시퀀스로 고려된다. 이 상황에서, 동작 또는 프로세싱은 물리적 양의 물리적 조작을 수반한다. 필수적이지는 않지만 통상적으로, 이러한 양은, 저장, 전달, 결합, 비교 또는 기타 조작될 수 있는 전기 또는 자기 신호의 형태를 가질 수도 있다. 주로 공통의 사용을 위해, 이러한 신호들을 비트, 데이터, 값, 엘리먼트, 심볼, 문자, 용어, 수, 숫자 등으로 지칭하는 것이 때때로 편리하다. 그러나, 이러한 용어들 또는 유사한 용어들 전부는 적절한 물리적 양과 연관되어야 하고 단순히 편리한 라벨임을 이해해야 한다. 특히 다르게 명시하지 않으면, 다음의 설명에서 명백한 바와 같이, 본 명세서 전반에 걸쳐, "프로세싱", "연산", "계산", "결정" 등과 같은 용어를 이용하는 것은, 특수 목적 컴퓨터, 특수 목적 연산 장치, 또는 유사한 특수 목적 전자 연산 디바이스와 같은 특수한 장치의 동작 또는 프로세스를 지칭한다. 따라서, 본 명세서에서, 특수 목적 컴퓨터 또는 유사한 특수 목적 전자 연산 디바이스는, 통상적으로, 메모리, 레지스터, 또는 다른 정보 저장 디바이스, 송신 디바이스, 오디오 디바이스, 또는 특수 목적 컴퓨터 또는 유사한 특수 목적 전자 연산 디바이스의 디스플레이 디바이스 내의 물리적 전자량 또는 자기량으로 표현되는 신호들을 조작 또는 변환할 수 있다.
본 명세서 전반에 걸친 참조 "하나의 실시형태" 또는 "일 실시형태" 는, 그 실시형태와 관련하여 설명되는 특정한 특성, 구조 또는 특징이 청구물의 적어도 하나의 실시형태에 포함됨을 의미한다. 따라서, 본 명세서 전반에 걸친 다양한 장소에서의 구문 "하나의 실시형태에서" 또는 "일 실시형태" 는 필수적으로 완전히 동일한 실시형태를 지칭할 필요는 없다. 또한, 특정한 특성, 구조 또는 특징은 하나 이상의 실시형태들에서 결합될 수도 있다.
이하 더 완전하게 설명되는 다양한 이유로, 압축 또는 압축해제 방식의 실시형태들은 바람직하다. 몇몇 환경에서, 가용 오디오 코덱은, 신호에서의 통계적 및/또는 지각적 리던던시를 효과적으로 제거함으로써 더 높은 신호 압축을 허용하는 하나 이상의 손실있는 신호 압축 방식일 수도 있다. 이러한 환경에서, 손실있는 오디오 압축 방식으로부터의 디코딩된 신호들은 원래의 오디오 신호들과 실질적으로 동일하지 않을 수도 있다. 예를 들어, 손실있는 오디오 코딩 방식 또는 프로세스 동안 왜곡 또는 코딩 잡음이 도입될 수도 있지만, 몇몇 환경에서, 이러한 결점은 지각적으로 감소되어, 프로세싱된 오디오 신호들은 원래의 오디오 신호들의 적어도 대략적으로 근접한 것으로 인지될 수도 있다.
그러나, 몇몇 환경에서는 무손실 코딩이 더 바람직할 수도 있다. 예를 들어, 무손실 코딩 방식 또는 프로세스는 압축된 오디오 신호들로부터 원래의 오디오 신호가 재구성되게 할 수도 있다. ALAC, MPEG-4 ALS 및 SLS, Monkey's Audio, Shorten, FLAC 및 WavPack 과 같은 다양한 타입의 무손실 오디오 코덱이 하나 이상의 오디오 신호들의 압축을 위해 개발되고 있다. 그러나, 몇몇 환경에서, 이러한 무손실 코덱은 연산 면에서 고가이거나 복잡한 신호 프로세싱을 이용할 수도 있다. 이러한 신호 프로세싱은, 몇몇 환경에서, 입력 데이터의 대부분 (예를 들어, 2048 개의 PCM 신호 샘플들) 을 저장하기 위해 비교적 대량의 메모리를 이용할 수도 있고, 따라서, 몇몇 환경에서, 현저한 종단간 레이턴시를 도입할 수도 있다.
A-law 또는 μ-law 맵핑과 같은, G.711 표준에 부합하는 입력 신호의 콘텍스트 내에서 하나 이상의 무손실 압축 방식에 적어도 부분적으로 기초하는 하나의 가능한 접근방식이 IP 네트워크를 통한 음성 통신과 같은 음성 통신에서 이용될 수도 있다. 이러한 애플리케이션에서, 16 비트 선형 펄스 코드 변조 (PCM) 에 의해 표현되는 스피치 신호들은 8 비트 비선형 PCM 샘플들에 맵핑될 수도 있다. 이러한 8 비트 샘플 신호들은 통신 네트워크를 통해 또는 다른 디바이스로 송신될 수도 있고, G.711 디코더에 의해 원래의 16 비트 PCM 샘플들의 손실있는 버전으로 디코딩될 수도 있다. 이러한 환경에서, G.711 인코딩에 의해 맵핑된 8 비트 샘플에 대한 무손실 압축 및 압축해제가 네트워크 대역폭의 효율적 이용을 위해 바람직할 수도 있다. 그러나, 전술한 무손실 코덱은 이 접근방식에 이용되기에는 바람직하지 않을 수도 있다. 예를 들어, 이러한 무손실 코덱은, 몇몇 환경에서 현저한 연산 리소스 또는 메모리 리소스를 이용할 수도 있다. 또한, 이러한 코덱은 16 비트 PCM 신호 샘플들의 특정한 범위 값에 대해 특정하여 설계될 수도 있다. 따라서, 저 지연 저 복잡도의 무손실 압축 방식 또는 프로세스는, 작은 동적 범위 값을 갖는 것을 특징으로 하는 신호들에 대해 이용될 수도 있다.
본 명세서에서 사용되는 바와 같이, 용어 "작은 동적 범위" 는, 최고 신호값 레벨로부터 최저 신호값 레벨까지와 같은 이러한 신호값들의 하나 이상의 표현이 비교적 작은 범위를 포함할 수도 있는 신호 값의 범위를 지칭할 수도 있다. 작은 동적 범위는 비트의 측면에서 필수적으로 정량화될 필요는 없지만, 그럼에도 불구하고, 2 진 디지털 신호에 대한 비트의 수로부터 그 동적 범위를 추론하는 것은 드문 일이 아닐 수도 있다. 예를 들어, 하나 이상의 8 비트 신호들은 모든 8 개의 비트들이 변화하는 작은 동적 범위를 가질 수도 있다. 유사하게, 64 비트의 2 진 디지털 신호와 같은 더 많은 비트를 갖는 하나 이상의 신호들은, 그 2 진 디지털 신호 범위의 하위 말단에서 64 비트의 서브세트가 변화하는 한편 그 64 비트의 나머지 비트들이 변하지 않는 경우, 여전히 작은 동적 범위를 가질 수도 있다. 물론, 후자의 2 개의 예는 오직 예시를 위해 제공되었으며 어떠한 방식으로든 청구물의 범주를 제한하려는 의도가 아님을 유의한다. 또한, 본 명세서에서 사용되는 "신호" 는, 예를 들어, 제한없이 음향, 이미지, 비디오 등과 같은 특정한 물리적 속성 또는 현상 (manifestation) 에 대한 시간상의 특정 인스턴스 또는 샘플들에 대응할 수도 있는 미디어 신호들을 지칭할 수도 있다.
도 1 은, 예를 들어, PCM 스피치 신호들의 G.711 (8 비트) 에 부합하는 A-law 또는 μ-law 맵핑과 같은 좁은 동적 범위 값의 입력 신호에 대한 저 지연 저 복잡도의 무손실 코딩 방식의 일 실시형태에 대한 예시적인 이용을 도시한다. 일 실시형태에서, 코딩 방식 (100) 은, 8 비트 PCM 스피치 샘플들에 대한 코딩 효율의 측면에서 효과적으로 또는 효율적으로 설계된 무손실 인코딩 또는 디코딩 방식을 적어도 부분적으로 포함할 수도 있다. 일 실시형태에서, 저 지연 또는 저 복잡도의 인코딩 방식은 비교적 더 작은 수의 입력 PCM 신호 샘플들을 가질 수도 있고, 다른 일반적인 무손실 오디오 코덱에 필적하거나 비교될만한 레이턴시 및 복잡도를 가질 수도 있다. 도 1 과 관련하여, G.711 인코딩 모듈 (102) 은 하나 이상의 16 비트 PCM 신호 샘플들을 수신할 수도 있다. G.711 인코딩 모듈 (102) 은 그 수신된 16 비트 PCM 신호 샘플들을 적어도 부분적으로 변형하여, 예를 들어, G.711 표준에 호환가능한 8 비트의 압신된 PCM 신호 샘플들과 같은 8 비트 비선형 PCM 신호 샘플들을 발생시키도록 동작할 수도 있다. 그 후, 발생된 8 비트 PCM 신호 샘플들은 무손실 코딩 (LLC) 인코더 (104) 에 의해 수신될 수도 있다. 일 실시형태에서, 무손실로 인코딩된 8 비트 PCM 신호들은 IP 네트워크와 같은 통신 네트워크를 통해 비트스트림으로서 LLC 디코더 (106) 로 송신될 수도 있다. 일 실시형태에서, LLC 디코더 (106) 는 인코딩된 8 비트 PCM 신호들로부터 8 비트 PCM 신호 샘플들을 재구성하도록 동작할 수도 있다. 그 후, 재구성된 8 비트 PCM 신호 샘플들은 G.711 디코더 (108) 에 의해 수신될 수도 있다. 일 실시형태에서, G.711 디코더 (108) 는 그 재구성된 8 비트 PCM 신호 샘플들로부터 16 비트 PCM 신호 샘플들을 재구성하도록 동작할 수도 있다. 그러나, 이들은 무손실 인코딩 방식에 관한 오직 예시적인 실시예이며, 청구물은 이에 제한되지 않음을 유의해야 한다.
도 2 와 관련하여, G.711 표준에 호환가능한 신호와 같은 8 비트 PCM 신호가 G.711 디코더 (202) 에 의해 수신될 수도 있다. G.711 디코더 (202) 는 그 수신된 8 비트 PCM 신호에 대해 적어도 부분적으로 하나 이상의 프로세스를 적용하여, 그 신호를 하나 이상의 16 비트 PCM 신호 샘플들로 변환할 수도 있다. 하나 이상의 16 비트 PCM 신호 샘플들은 가용 무손실 코덱 (LLC) 인코더 (204) 에 의해 차례로 수신될 수도 있다. LLC 인코더 (204) 는, 예를 들어, 전술한 인코딩 방식들 중 하나를 이용하여, 그 하나 이상의 16 비트 PCM 신호 샘플들을 차례로 압축할 수도 있다. 인코딩된 하나 이상의 16 비트 PCM 신호 샘플들은 가용 LLC 디코더 (106) 로 송신될 수도 있다. 이 예에서, LLC 디코더 (206) 는 인코딩된 하나 이상의 16 비트 PCM 신호 샘플들을 디코딩하여, 적어도 부분적으로 원래의 하나 이상의 16 비트 PCM 신호 샘플들을 생성하도록 동작할 수도 있다. 또한, 이 예에서, 디코딩된 하나 이상의 16 비트 PCM 신호 샘플들은 G.711 인코더 (208) 에 의해 수신될 수도 있다. G.711 인코더 (208) 는 그 디코딩된 하나 이상의 16 비트 PCM 신호 샘플들 상에서 동작하여, 적어도 부분적으로, 예를 들어, G.711 표준에 부합하는 (또는 호환가능한) 하나 이상의 신호 샘플들과 같은 하나 이상의 8 비트 PCM 신호 샘플들을 생성할 수도 있다. 그 후, 생성된 하나 이상의 8 비트 PCM 신호 샘플들은 추가적 프로세싱을 위해, 예를 들어, 연산 플랫폼, 주변 디바이스 또는 셀룰러 폰과 같은 디바이스의 하나 이상의 부분들에 송신될 수도 있다. 그러나, 몇몇 환경에서, 전술한 방식은 하나 이상의 인코딩된 신호들에서 바람직한 압축을 생성하지 못할 수도 있고, 또는 바람직하지 않은 레이턴시 또는 복잡도를 경험할 수도 있다.
도 3 과 관련하여, 몇몇 환경에서는, 도 1 과 관련하여 전술한 바와 같은 무손실 압축 방식이 하나 이상의 예측 툴 또는 모듈을 더 이용할 수도 있다. 예를 들어, G.711 디코더 (302) 는 하나 이상의 수신된 8 비트 PCM 신호 샘플들로부터 16 비트 PCM 신호 샘플들을 생성할 수도 있다. 이 예에서, 생성된 하나 이상의 16 비트 PCM 신호 샘플들은 시간 도메인 예측 모듈 (304) 에 송신될 수도 있다. 시간 도메인 예측 모듈 (204) 는 엔트로피 인코더 (306) 와 함께, 인코딩된 비트스트림을 발생시키도록 동작할 수도 있다. 이 예에서, 인코딩된 비트스트림은 엔트로피 디코더 (308) 에 송신될 수도 있다. 엔트로피 디코더 (308) 는 시간 도메인 예측 모듈 (310) 과 함께, 인코딩된 비트스트림을 디코딩하여, 적어도 부분적으로 하나 이상의 16 비트 PCM 신호 샘플들을 재생성하도록 동작할 수 있다. 그 후, 디코딩된 하나 이상의 16 비트 PCM 신호 샘플들은 G.711 인코더 (312) 에 송신되어, 적어도 부분적으로, 예를 들어, G.711 표준에 부합하는 하나 이상의 샘플들과 같은 하나 이상의 8 비트 PCM 신호 샘플들을 생성할 수도 있다. 그 후, 생성된 하나 이상의 8 비트 PCM 신호 샘플들은 추가적 프로세싱을 위해, 예를 들어, 연산 플랫폼, 주변 디바이스, 또는 셀룰러 폰과 같은 디바이스의 하나 이상의 부분에 송신될 수도 있다. 그러나, 몇몇 환경에서, 전술한 방식은 하나 이상의 인코딩된 신호들에서 바람직한 압축을 생성하지 못할 수도 있고, 또는 바람직하지 않은 레이턴시 또는 복잡도를 경험할 수도 있다.
도 4 는 LLC 인코더 (104) 의 일 실시형태에 따른 인코딩 방식 및 LLC 디코더 (106) 의 일 실시형태에 따른 디코딩 방식의 세부 블록도 (400) 를 도시하며, 몇몇 환경에서는 전술한 결점 중 하나 이상을 처리할 수도 있다. 일 실시형태에서, 인코딩 방식은, 적어도 부분적으로 하나 이상의 신호들을 처리하기 위한 가변 비트 길이 인코더 (402), 및 적어도 부분적으로 신호 샘플들의 하나 이상의 특수한 경우를 처리하기 위한 보조적인 일정한 비트 길이 인코더 (404) 를 포함할 수도 있고, 가변 비트 길이 베이스라인 인코딩에 의해 발생된 출력 비트의 수는 일정한 비트 길이 코딩에 의해 발생된 출력 비트의 수보다 크게 될 수도 있다. 각각의 입력 신호 블록에 있어서, 가변 비트 길이 인코더 (402) 및 일정한 비트 길이 인코더 (404) 중 더 바람직한 인코더가 신호 블록의 인코딩을 위해 선택될 수도 있고, 시그널링 비트가 인코딩된 신호 샘플들과 적어도 부분적으로 함께 송신되어, 특정 신호 블록에 대해 어느 인코딩 방식이 사용되었는지를 디코더가 알릴 수 있다. 도 2 와 관련하여, LLC 디코더 (406) 는, 가변 비트 길이 인코더 (402) 또는 일정한 비트 길이 인코더 (404) 에 의해 인코딩된 신호 샘플들을 적어도 부분적으로 재구성하기 위해 가변 비트 길이 디코더 (406) 및 일정한 비트 길이 디코더 (408) 를 포함할 수도 있다.
가변 비트 길이 베이스라인 코덱과 관련하여, 인코딩 또는 디코딩 디바이스는, 하나 이상의 입력 신호들의 동적 범위를 감소시키기 위해 적어도 부분적으로 하나 이상의 예측기들을 이용하여, 예측 코딩 방식을 수행하도록 구성될 수도 있는 무손실 코덱을 구현할 수도 있다. 일 실시형태에서, 적어도 부분적으로 하나 이상의 예측된 신호값을 결정하기 위한 예측 모듈은 하나 이상의 방식을 이용하여 구현될 수도 있으며, 이것은, 몇몇 환경에서 더 양호한 예측 이득을 발생시킬 수도 있다. 예를 들어, 예측 모듈은 고정 예측기의 세트, 고차 순방향 예측기, 적응형 역방향 예측기 등을 이용할 수도 있다. 일 실시형태에서, 하나 이상의 예측된 신호값과 하나 이상의 신호의 실제값 사이의 하나 이상의 차들이 적어도 부분적으로 하나 이상의 가변 비트 길이 엔트로피 코드를 이용하여 인코딩될 수도 있다. 일 실시형태에서, 하나 이상의 예측된 신호값들과 하나 이상의 실제 신호값 사이의 차는 예측 잔여물로 지칭될 수도 있다. 일 실시형태에서, 하나 이상의 예측 잔여물 값은 라플라스 분포로 모델링될 수도 있고, 그 특정 분포에 대해 바람직할 수도 있는 Golomb-Rice 코딩과 같은 가변 비트 길이 코딩 방식에 의해 인코딩될 수도 있다.
대부분 작은 동적 범위의 입력 신호의 측면에서 설명되었지만, 일 실시형태에 따른 무손실 코덱은, 치환 코딩 방식을 이용하는 것과 같은 더 큰 동적 범위의 입력 신호를 갖는 신호들에 대해 하나 이상의 변형예에 의해 이용될 수도 있다. 예를 들어, 발명의 명칭이 ENCODING AND/OR DECODING DIGITAL CONTENT 인 미국 특허 출원 제 11840880 호에 개시된 바와 같은 치환 코딩이 몇몇 환경에서 일 실시형태에 따른 무손실 코덱으로 이용될 수도 있다. 물론, 청구물은 이와 관련하여 제한되지 않으며, 전술한 방식들과는 상이한 방식을 이용할 수도 있다.
도 5 는 가변 비트 길이 코더의 실시형태에 따른 인코딩/디코딩 방식 (500) 의 도면이다. 여기에 개시된 무손실 코덱은 작은 동적 범위를 갖는 입력 신호에 대해 적용될 수도 있지만, 그 코딩 효율은, 선택들 중 하나로서 치환 코딩 방식이 이용되는 경우, 넓은 동적 범위를 갖는 입력 신호에 대해서도 개선될 수도 있다. 전술한 접근방식은 압신된 도메인에서의 차동을 수행함으로써 더 양호한 압축 이득을 달성할 수 있지만, 도 5 에 도시된 바와 같이 더 개선될 수도 있다. 일 실시형태에서, 저 지연 저 복잡도의 인코딩 또는 디코딩 방식 또는 프로세스는, 적어도 부분적으로 하나 이상의 신호들을 인코딩하기 위해, 예를 들어, 압신된 도메인 예측 모듈과 같은 도메인 예측 모듈 (502) 및 Rice 코딩 모듈 또는 변형된 Rice 코딩 모듈과 같은 Rice 코딩 모듈 (504) 과 같은 2 이상의 블록 또는 모듈을 포함할 수도 있다. 유사하게, 인코딩/디코딩 방식 (500) 은 또한 적어도 부분적으로, 그 인코딩된 하나 이상의 신호들을 재구성하기 위해, 도메인 예측 모듈 (508) 과 함께, Rice 디코딩 모듈 또는 변형된 Rice 디코딩 모듈과 같은 Rice 디코딩 모듈 (506) 을 이용할 수도 있다. 그러나, 전술한 예는 압신된 도메인에 한정되는 것이 아님을 유의해야 한다. 예를 들어, 일 실시형태에 따른 인코딩 또는 디코딩 방식은 시간 도메인에서의 하나 이상의 신호들에 또한 이용될 수도 있다. 따라서, 청구물은 이와 관련하여 제한되지 않는다. 유사하게, 인코딩/디코딩 방식 (500) 은 또한 적어도 부분적으로, 이전에 인코딩된 하나 이상의 신호들을 재구성하기 위해, 도메인 예측 모듈 (508) 과 함께 Rice 디코딩 모듈 또는 변형된 Rice 디코딩 모듈과 같은 Rice 디코딩 모듈 (506) 을 이용할 수도 있다. 그러나, 이것은 인코딩/디코딩 방식과 관련된 오직 예시적인 실시예이고, 청구물은 이와 관련하여 제한되지 않음을 유의해야 한다.
도 6 은, 도 5 에 도시된 인코딩 방식과 같은 일 실시형태에 따른 가변 비트 길이 인코더의 인코딩 방식 (600) 의 블록도를 도시한다. 일 실시형태에서, 예측 모듈 (602) 은, 예를 들어, 고정 예측기의 세트, 고차 순방향 예측기, 적응형 역방향 예측기 등과 같은 더 양호한 예측 이득을 위한 진보된 방식을 포함하는 다양한 서로 다른 형태로 구현될 수도 있다. 적어도 일 실시형태에서, 선형 예측 및 예측 잔여물의 엔트로피 코딩을 위한 효율적인 방식이 적어도 부분적으로 이용되어, 인코딩 방식의 구현 복잡도 또는 알고리즘 지연을 감소시킬 수도 있다. 예를 들어, 이전의 신호 샘플에 의해 현재의 신호 샘플을 예측하는 단순한 1 차 선형 예측기를 이용할 수도 있다. 일 실시형태에서, 연산적으로 효율적인 엔트로피 코딩 방식이 적어도 부분적으로 이용되어, 잔여 신호 값과 같은, 예측된 신호 값과 실제 신호 값 사이의 차를 인코딩할 수도 있다. 일 실시형태에서, 인코딩 방식 (600) 은 선택 모듈 (604), 인터리빙 모듈 (606), 유너리 코딩 모듈 (608) 및 Rice 코딩 모듈 (610) 을 더 포함할 수도 있다. 그러나, 인터리빙 모듈 (606) 은 몇몇 환경에서 선택적일 수도 있음을 유의해야 한다. 예를 들어, 인터리빙 모듈을 이용하는 대신에, 일 실시형태는, 하나 이상의 값들이 네거티브 값을 갖는지 여부를 적어도 부분적으로 나타내기 위해, 부호 비트를 이용할 수도 있다. 따라서, 청구물은 이와 관련하여 제한되지 않는다. 적어도 하나의 실시형태에서, 인터리빙된 잔여 신호 값은 하나 이상의 Rice 코딩 방식을 이용하여 인코딩될 수도 있다. 일 실시형태에서, Rice 코딩은, 코드 파라미터가 2 의 거듭제곱이어서, 다수의 가산 및 비트 시프트를 갖는 Rice 코딩에 이용되는 연산들을 수행할 수도 있는 특수한 Golomb 코딩으로 고려될 수도 있다.
인코딩 방식의 일 실시형태에서, 입력 신호 x(n) 은 연속적인 N 개의 신호 샘플 블록들로 분할될 수도 있고, M 개의 블록들은 신호 프레임을 포함하여, 일 프레임은 MN 개의 입력 신호 샘플들을 포함하지만, 청구물은 이와 관련하여 제한되지 않는다. 0 ≤ n < N 및 0 ≤ m < M 에 있어서 일 신호 프레임의 m 번째 블록 내의 n 번째 신호 샘플을 xm(n) 으로 나타내면, 현재 신호 샘플의 예측은,
Figure pat00001
으로 표현될 수도 있다.
블록 내에서, 이전의 신호 샘플은 현재의 신호 샘플의 예측된 신호 값으로서 이용될 수도 있다. 그러나, 하나 이상의 블록들 사이의 경계에서와 같은 몇몇 환경에서, 이전의 신호 블록 내의 마지막 신호 샘플은 현재의 신호 블록의 제 1 신호 샘플의 예측으로서 기능할 수도 있다. 제 1 신호 블록의 제 1 신호 샘플에서와 같은 몇몇 환경에서는, 프레임 레벨 디코딩 의존성을 회피하기 위해 어떠한 예측도 이용되지 않는다. 예를 들어, 몇몇 환경에서, 신호들의 개별적 프레임들이 서로 의존하지 않는 것이 바람직할 수도 있다. 따라서, 몇몇 환경에서, 프레임의 제 1 신호 샘플이 임의의 이전의 신호 샘플들에 기초하여 인코딩되지 않는 것이 바람직할 수도 있다. 일 실시형태에서, 예측 잔여 신호는,
Figure pat00002
로 연산될 수도 있다.
예측 잔여 신호의 N 개의 샘플 블록이 결정되면, 이러한 예측 잔여 신호 샘플들은 도 6 의 인터리빙 블록 (506) 에서,
Figure pat00003
와 같은 넌-네거티브 값으로 인터리빙될 수도 있다.
예측 잔여 신호들의 인터리빙된 샘플들은 Rice 코딩 프로세스에 의해 연산될 수도 있다. 이러한 넌-네거티브 정수 n 에 대한 Rice 코딩 프로세스는 코딩 엘리먼트들: 몫
Figure pat00004
의 유너리 코딩 및 나머지의 k 개의 LS 비트의 일정한 비트 길이 코딩 중 적어도 하나 이상을 포함할 수도 있다. n = 11 ('1011') 의 예에서, k = 2 인 Rice 코딩은 코드워드 '00111': 몫 2 ('001') 의 유너리 코딩 및 나머지 3 ('11') 에 대한 2 비트 코딩을 산출한다. Rice 코딩 파라미터가 k = 1 로 선택되면, 정수 11 은 이 경우 7 비트 코드워드 '0000011' 로 코딩될 수도 있다. 이 예로부터, (i) 파라미터 k 를 갖는 넌-네거티브 정수의 Rice 코딩은
Figure pat00005
+ k + 1 비트를 산출하고, (ii) 소정의 넌-네거티브 정수 또는 넌-네거티브 정수들의 세트에 대해, 최소 수의 비트를 생성하는 바람직한 Rice 파라미터가 존재할 것이다. 예측 잔여 신호의 인터리빙된 값의 N 개의 샘플 블록이 주어지면, 도 6 의 파라미터 선택 블록 (604) 은,
Figure pat00006
과 같이 바람직한 Rice 코딩 파라미터를 결정하고, 여기서,
Figure pat00007
이다.
예를 들어, 선택 모듈 (604) 에 의해 바람직한 Rice 파라미터 km 이 결정되면, km 은 이전의 블록 km - 1 의 Rice 파라미터로부터 구별될 수도 있고, 결과적 차는 넌-네거티브 값으로 인터리빙되고, 예를 들어, 유너리 코딩 모듈 (608) 에 의해 유너리 인코딩될 수도 있다. Rice 파라미터를 디코딩하는데 있어서 의존성을 회피하기 위해, 프레임의 제 1 블록의 파라미터 값은 이전의 프레임의 마지막 블록의 파라미터로부터의 차동 코딩없이 유너리 인코딩될 수도 있다. 그 후, 예측 잔여 신호는, 예를 들어, Rice 모듈 (610) 에 의해 원하는 Rice km 으로 Rice 인코딩된다.
예측 잔여물의 인터리빙된 샘플들의 Rice 코딩에 있어서, 이러한 샘플들은 각각 몫 및 나머지 값으로 분해될 수도 있다. 일 실시형태에서, 몫 및 나머지 값들은, 인터리빙된 샘플을 km 비트만큼 다운 시프트시키고, 그 인터리빙된 샘플의 LS km 비트를 취함으로써 각각 연산될 수도 있다. 그 후, 몫 및 나머지는 km LS 비트의 유너리 코딩 및 일정한 비트 코딩을 통해 각각 인코딩될 수도 있고, 그들의 코드워드는 비트스트림으로 패킹될 수도 있다. 모든 M 개의 블록을 인코딩한 후, 다수의 제로들이 그 코딩된 비트스트림의 말단에 삽입되어 이를 바이트-정렬시킬 수도 있다.
도 7 은 도 5 에 도시된 디코딩 방식과 같은 일 실시형태에 따른 가변 비트 길이 디코더의 디코딩 방식 (700) 의 블록도이다. 일 실시형태에서, 저 지연 저 복잡도의 디코딩 방식을 위한 디코더 모듈은 소정의 비트스트림에 대해 전술한 인코딩 프로세스의 하나 이상의 연산들을 반전시킬 수도 있다. 비트스트림의 시작에서, 제 1 블록에 대한 Rice 파라미터의 유너리 코드워드는, 예를 들어 비트스트림 파싱 모듈 (702) 에 의해 파싱될 수도 있고, 예를 들어, 유너리 디코딩 모듈 (704) 에 의해 디코딩될 수도 있고, 이에 의해, 제 1 블록 내의 예측 잔여물의 인터리빙된 샘플들에 대한 코드워드는 순차적으로 파싱되고, 예를 들어, Rice 디코딩 모듈 (706) 에 의해 Rice 디코딩된다. Rice 디코딩 후, 예측 잔여물의 인터리빙된 샘플들은, 예를 들어, 디인터리빙 모듈 (708) 에 의해 예측 잔여물의 정수 값들로 디인터리빙될 수도 있다. 예측 모듈 (710) 에 의해 예측된 샘플들과 예측 잔여 샘플들을 가산하면 블록 내의 원래의 입력 신호 샘플들을 손실없이 재구성할 수도 있다. 전술한 프로세스들 중 하나 이상은 인코딩된 신호 샘플들의 하나 이상의 나머지 블록들에 대해 반복된다. 그러나, 이전 블록에 의존하는 블록의 Rice 파라미터 및 제 1 잔여 신호 값의 디코딩을 위한 프로세스는 나머지 블록들 중 하나 이상에 대해 이용될 수도 있고, 이용되지 않을 수도 있다.
전술한 인코딩 및 디코딩 방식들이, A-law 또는 μ-law 맵핑과 같은 G.711 PCM 부합 스피치 신호 샘플들과 같은 작은 동적 범위를 갖는 많은 신호들을 처리하는데 효율적일 수도 있지만, 가변 비트 길이 베이스라인 코덱보다 특수화된 일정한 비트 길이 코딩이 더 양호한 이득을 산출할 수 있는 몇몇 극단적 상황이 존재할 수도 있다. 예를 들어, IP 네트워크를 통한 음성 통신 동안의 스피커가 폰을 뮤트 모드에 둔 경우, IP 패킷들의 스피치 신호는 오직 제로 또는 상수값의 신호 샘플들만을 포함할 수도 있다. 이러한 블록들에 있어서, 전술한 가변 비트 길이 베이스라인 코덱에 의해 더 많은 비트들을 소모하는 것보다 소수의 플래그 비트를 갖는 디코더로 이러한 경우를 시그널링하는 것이 더 비용-효율적일 수도 있다. 특수한 처리가 바람직할 수도 있는 다른 예는, 무손실 압축이 블록 내의 신호 샘플들에 대해 일정한 비트를 소모하는 것보다 더 많은 비트들을 산출하는 샘플 블록을 포함할 수도 있다. 이 경우, 예를 들어, 8 비트 정확도 데이터에 대한 3 비트 시그널링 및 16 비트 정확도 데이터에 대한 4 비트 시그널링과 같은, 블록 내의 신호 샘플들을 나타내기 위해 얼마나 많은 비트들이 이용되는지를 디코더에게 통지하는 더 작은 비트 시그널링과 함께 일정한 비트 코드워드를 갖는 이러한 신호 샘플들을 인코딩하는 것이 이점이 있는 것으로 보인다. 따라서, 특수한 극단적 상황을 처리하도록 설계된 일정한 비트 길이 압축 방식으로 인코딩 및 디코딩 방식을 보출하는 것이 이점이 있을 수 있다. 따라서, 각각의 블록에 대해, 가변 비트 길이 코딩 및 일정한 비트 길이 코딩에 의한 출력 비트의 예측된 수가 각각 연산될 수도 있는 스위칭 프로세스가 인코더에 도입될 수도 있다. 예를 들어, 일정한 비트 길이 코딩에 대한 비트의 수는 다음과 같이 연산될 수도 있다.
(i) 다음과 같이, 블록 내의 입력 신호 샘플들을 넌-네거티브 값으로 인터리빙함.
Figure pat00008
(ii) 최대 신호 샘플을 발견함
Figure pat00009
(iii) 다음과 같이 블록 내의 입력 샘플들을 나타내는 비트의 수를 연산함
Figure pat00010
다음으로, 일정한 비트 압축 방식에 대한 비트의 총 수가
Figure pat00011
로서 주어질 수 있다.
출력 비트의 예측된 수를 연산한 후, 일정한 비트 길이 코딩이 가변 비트 길이 베이스라인 코덱보다 적은 비트를 소모하는 것으로 판명되면 스위칭 플래그는 '1' 로 설정된다. 그렇지 않으면, 플래그는 '0' 으로 설정된다. 그 후, 플래그 비트는 블록에 대한 비트스트림의 시작 시에 삽입되고, 대응하는 코딩 방식은 인코딩을 시작하고, 그 코딩된 비트를 비트스트림으로 패킹한다. 디코더 측에서는, 이 플래그가 실제 신호 샘플 디코딩 이전에 파싱되고, 그 플래그에 의해 표시되는 적절한 디코딩 과정이 비트스트림 디코딩을 수행할 것이다.
그 후, 전술한 가산은 블록에 대한 가변 비트 길이 베이스라인 코덱과 일정한 비트 길이 압축 방식 사이에서 더 양호한 인코딩 방식을 선택한다. 일 방법으로부터 다른 방법으로의 전이에 대해 특수한 주의가 요구된다. 신호 프레임 내의 m 번째 블록이 가변 비트 길이 베이스라인 코덱에 의해 인코딩되도록 선택되는 것이 가정되지만, 이전의 블록은 일정한 비트 길이 코딩에 의해 인코딩되었다. 그 후, 이전의 블록에서 Rice 파라미터가 연산되지 않았기 때문에, 현재 블록의 Rice 파라미터는 이전의 블록과는 다르게 인코딩되지 않을 수도 있다. 이러한 경우, 이전 프레임의 Rice 파라미터와의 차 대신에 현재 프레임 자체의 Rice 파라미터가 인코딩되어, 베이스라인 코덱의 코딩 효율을 열화시킬 수도 있다. 이 문제를 회피하기 위한 하나의 효율적인 방법은, 모든 블록에 대한 Rice 파라미터를 연산하고, 다음 블록의 신호 값의 차동 인코딩을 위해 이를 저장하는 것이다. 몇몇 환경에서, 일 블록에 대해 어떤 방법이 더 적은 비트를 생성하는지를 발견하는데 신호 값이 연산될 수도 있기 때문에, 이러한 상황은 인코더 측에서는 곤란함을 유발하지 않을 수도 있다. 그러나, 디코더 측에서는, 블록이 일정한 비트 길이 압축 방식에 의해 인코딩된 경우에도, 다음 블록의 디코딩을 위해 이용할 수 있는 Rice 파라미터를 생성하기 위해 과도한 연산이 확장될 수도 있다. 인코더에서 수행된 것을 모방하는 Rice 파라미터의 이러한 폐루프 디코딩을 통합함으로써, 개선된 코딩 효율을 위해 2 개의 상이한 코딩 방식들 사이에서 비교적 심리스한 전이가 달성된다.
유사하게, 본 명세서에서 사용되는 용어 "및", "또는", 및 "및/또는" 은, 이 용어가 사용되는 상황에 적어도 부분적으로 의존하는 다양한 의미를 포함할 수도 있다. 통상적으로, A, B 및/또는 C 와 같은 일 리스트를 연관시키기 위해 사용되는 "및/또는" 은 A, B 및 C 뿐만 아니라 A, B, 또는 C 를 의미하는 것으로 의도된다. 그러나, 이것은 오직 예시적인 예이고, 청구물이 이 예에 제한되지 않음을 유의해야 한다.
전술한 시스템, 방법 또는 프로세스의 양태들을 특정한 순서로 설명했지만, 이 특정한 순서는 오직 프로세스의 일예이고, 청구물은 설명된 순서에 제한되지 않음을 유의해야 한다. 또한, 본 명세서에서 설명된 시스템, 방법 및 프로세스는 하나 이상의 연산 플랫폼 또는 연산 디바이스에 의해 수행될 수도 있음을 유의해야 한다. 또한, 본 명세서에서 설명된 방법 또는 프로세스는, 실행되는 경우 연산 플랫폼, 연산 디바이스 또는 특수 목적 연산 디바이스로 하여금 하나 이상의 동작들을 수행하게 할 수도 있는 하나 이상의 머신 판독가능 명령들과 같은 저장 매체 상에 저장될 수도 있다. 본 명세서에서 지칭하는 "저장 매체" 는, 하나 이상의 머신 상에서 동작되거나, 실행될 수도 있는 정보 또는 명령들을 저장할 수 있는 매체와 관련된다. 예를 들어, 저장 매체는 머신 판독가능 명령들 또는 정보를 저장하기 위한 하나 이상의 저장 디바이스를 포함할 수도 있다. 이러한 저장 디바이스는, 예를 들어, 자기, 광학 또는 반도체 저장 매체를 포함하는 다수의 매체 타입 중 임의의 타입을 포함할 수도 있다. 추가적인 예에서, 하나 이상의 연산 플랫폼이 본 명세서에서 설명된 방법 또는 프로세스와 같이, 청구물에 따른 프로세스들 또는 방법들 중 하나 이상을 수행하도록 적응될 수도 있다. 그러나, 저장 매체 및 연산 플랫폼과 관련된 오직 실시예들이 존재하고, 청구물은 이 양태에 제한되지 않는다.
전술한 설명에서, 청구물의 다양한 양태들이 설명되었다. 설명의 목적으로, 청구물의 철저한 이해를 제공하기 위해 특정한 수, 시스템, 또는 구성이 설명되었다. 그러나, 이 특정 상세없이도 청구물이 실행될 수도 있음은, 본 출원의 이점을 갖는 당업계의 당업자에게 자명할 것이다. 다른 예에서, 당업자들이 이해하고 있는 특성은 청구물을 모호하게 하지 않도록 생략되거나 단순화되었다. 본 명세서에서 특정한 특성들이 예시되거나 설명되었지만, 다수의 변형예, 대체예, 변경예 또는 균등물은 당업자에게 자명할 것이다. 따라서, 첨부된 청구항은 청구물의 진정한 사상에 속하는 이러한 모든 변형예 또는 변경예를 포함하도록 의도된다.

Claims (45)

  1. 인코딩 디바이스에 있어서, 좁은 동적 범위의 2 진 디지털 신호와 예측된 좁은 동적 범위의 2 진 디지털 신호를 비교하여, Rice 코딩 방식을 이용하여 인코딩될 잔여 2 진 디지털 신호를 생성하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 Rice 코딩 방식은, Rice 코딩 방식을 포함하고, 소정의 잔여 2 진 디지털 신호에 대한 부호 비트, 몫 신호 값 및 나머지 신호 값을 코딩하는 단계를 이용하고, 부호 비트의 코딩없이 제로 잔여 신호 값이 코딩되는, 방법.
  3. 제 1 항에 있어서,
    상기 Rice 코딩 방식은 하나 이상의 인터리빙된 잔여 2 진 디지털 신호들에 대한 하나 이상의 몫 신호 값들 및 하나 이상의 나머지 신호 값들을 코딩하는 단계를 이용하는, 방법.
  4. 제 1 항에 있어서,
    상기 예측된 좁은 동적 범위의 2 진 디지털 신호는 실제의 좁은 동적 범위의 2 진 디지털 신호에 단일의 시간 지연 동작을 적용함으로써 결정되고, 상기 Rice 코딩 방식은 부호 비트, 몫 신호 값 및 나머지 신호 값을 인코딩하는 단계를 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 부호 비트 코딩, 몫 신호 값 코딩 및 나머지 신호 값 코딩은, 부호, 몫 및 나머지의 인코딩된 신호 값들이 함께 그룹화되도록 특정 비트 스트림에서 조직화되는, 방법.
  6. 제 4 항에 있어서,
    상기 부호 비트 코딩, 몫 신호 값 코딩 및 나머지 신호 값 코딩은 하나 이상의 비트 스트림으로 조직화되는, 방법.
  7. 제 1 항에 있어서,
    제 1 의 K 개의 신호 값을 인코딩하는 단계;
    상기 제 1 의 K 개의 신호 값과 제 2 의 K 개의 신호 값 사이의 K 개의 신호 차를 계산하는 단계; 및
    상기 K 개의 신호 차를 인코딩하는 단계를 더 포함하는, 방법.
  8. 제 7 항에 있어서,
    상기 제 1 의 K 개의 신호 값은 제 1 블록 내의 좁은 동적 범위의 2 진 디지털 신호에 대응하고, 상기 제 2 의 K 개의 신호 값은 제 2 블록 내의 좁은 동적 범위의 2 진 디지털 신호에 대응하는, 방법.
  9. 제 1 항에 있어서,
    상기 Rice 코딩 방식이 잔여 2 진 디지털 신호들의 블록을 압축하지 않으면, 잔여 2 진 디지털 신호들의 상기 블록이 상기 Rice 코딩 방식에 의해 인코딩되지 않았음을 적어도 부분적으로 나타내기 위해 신호 비트를 인코딩하는 단계를 더 포함하는, 방법.
  10. 제 9 항에 있어서,
    상기 Rice 코딩 방식을 이용하여 잔여 2 진 디지털 신호들의 후속 블록을 인코딩하는 단계를 더 포함하는, 방법.
  11. 제 10 항에 있어서,
    잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값과, 상기 Rice 코딩 방식에 의해 인코딩되지 않은 잔여 2 진 디지털 신호들의 블록에 대응하는 K 개의 신호 값 사이의 차에 적어도 부분적으로 기초하여, 잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값을 인코딩하는 단계를 더 포함하는, 방법.
  12. 제 1 항에 있어서,
    좁은 동적 범위의 2 진 디지털 신호들의 그룹을 하나 이상의 프레임들로 조직화하는 단계를 더 포함하는, 방법.
  13. 제 12 항에 있어서,
    상기 하나 이상의 프레임들은 적어도 부분적으로 서로에 대해 독립적으로 인코딩되는, 방법.
  14. 인코딩 디바이스를 포함하고,
    상기 인코딩 디바이스는, 좁은 동적 범위의 2 진 디지털 신호와 예측된 좁은 동적 범위의 2 진 디지털 신호를 비교하여, Rice 코딩 방식을 이용하여 인코딩될 잔여 2 진 디지털 신호를 생성하도록 구성되는, 장치.
  15. 제 14 항에 있어서,
    상기 Rice 코딩 방식은, Rice 코딩 방식을 포함하고, 소정의 잔여 2 진 디지털 신호에 대한 부호 비트, 몫 신호 값 및 나머지 신호 값을 코딩하는 것을 이용하고, 부호 비트의 코딩없이 제로 잔여 신호 값이 코딩되는, 장치.
  16. 제 14 항에 있어서,
    상기 Rice 코딩 방식은 하나 이상의 인터리빙된 잔여 2 진 디지털 신호들에 대한 하나 이상의 몫 신호 값들 및 하나 이상의 나머지 신호 값들을 코딩하는 것을 이용하는, 장치.
  17. 제 14 항에 있어서,
    상기 예측된 좁은 동적 범위의 2 진 디지털 신호는 실제의 좁은 동적 범위의 2 진 디지털 신호에 단일의 시간 지연 동작을 적용함으로써 결정되고, 상기 Rice 코딩 방식은 부호 비트, 몫 신호 값 및 나머지 신호 값을 코딩하는 것을 포함하는, 장치.
  18. 제 17 항에 있어서,
    상기 부호 비트 코딩, 몫 신호 값 코딩 및 나머지 신호 값 코딩은, 부호, 몫 및 나머지의 인코딩된 신호 값들이 함께 그룹화되도록 특정 비트 스트림에서 조직화되는, 장치.
  19. 제 17 항에 있어서,
    상기 부호 비트 코딩, 몫 신호 값 코딩 및 나머지 신호 값 코딩은 하나 이상의 비트 스트림으로 조직화되는, 장치.
  20. 제 14 항에 있어서,
    상기 인코딩 디바이스는 또한, 제 1 의 K 개의 신호 값을 인코딩하고, 상기 제 1 의 K 개의 신호 값과 제 2 의 K 개의 신호 값 사이의 K 개의 신호 차를 계산하고, 상기 K 개의 신호 차를 인코딩하도록 구성되는, 장치.
  21. 제 20 항에 있어서,
    상기 제 1 의 K 개의 신호 값은 제 1 블록 내의 좁은 동적 범위의 2 진 디지털 신호에 대응하고, 상기 제 2 의 K 개의 신호 값은 제 2 블록 내의 좁은 동적 범위의 2 진 디지털 신호에 대응하는, 장치.
  22. 제 14 항에 있어서,
    상기 인코딩 디바이스는 또한, 상기 Rice 코딩 방식이 잔여 2 진 디지털 신호들의 블록을 압축하지 않으면, 잔여 2 진 디지털 신호들의 상기 블록이 상기 Rice 코딩 방식에 의해 인코딩되지 않았음을 적어도 부분적으로 나타내기 위해 신호 비트를 인코딩하도록 구성되는, 장치.
  23. 제 22 항에 있어서,
    상기 인코딩 디바이스는 또한, 상기 Rice 코딩 방식을 이용하여 잔여 2 진 디지털 신호들의 후속 블록을 인코딩하도록 구성되는, 장치.
  24. 제 23 항에 있어서,
    상기 인코딩 디바이스는 또한, 잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값과, 상기 Rice 코딩 방식에 의해 인코딩되지 않은 잔여 2 진 디지털 신호들의 블록에 대응하는 K 개의 신호 값 사이의 차에 적어도 부분적으로 기초하여, 잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값을 인코딩하도록 구성되는, 장치.
  25. 제 14 항에 있어서,
    상기 인코딩 디바이스는 또한, 좁은 동적 범위의 2 진 디지털 신호들의 그룹을 하나 이상의 프레임들로 조직화하도록 구성되는, 장치.
  26. 제 25 항에 있어서,
    상기 하나 이상의 프레임들은 적어도 부분적으로 서로에 대해 독립적으로 인코딩되는, 장치.
  27. 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금,
    좁은 동적 범위의 2 진 디지털 신호와 예측된 좁은 동적 범위의 2 진 디지털 신호를 비교하여, Rice 코딩 방식을 이용하여 인코딩될 잔여 2 진 디지털 신호를 생성하게 하는 명령들이 저장되는
    저장 매체를 포함하는, 물품.
  28. 제 27 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 소정의 잔여 2 진 디지털 신호에 대한 부호 비트, 몫 신호 값 및 나머지 신호 값을 코딩하는 것을 이용하게 하고, 부호 비트의 코딩없이 제로 잔여 신호 값이 코딩되는, 물품.
  29. 제 27 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 하나 이상의 인터리빙된 잔여 2 진 디지털 신호들에 대한 하나 이상의 몫 신호 값들 및 하나 이상의 나머지 신호 값들을 코딩하는 것을 이용하게 하는, 물품.
  30. 제 27 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 실제의 좁은 동적 범위의 2 진 디지털 신호에 단일의 시간 지연 동작을 적용하게 하고, 상기 Rice 코딩 방식은 부호 비트, 몫 신호 값 및 나머지 신호 값을 코딩하는 것을 포함하는, 물품.
  31. 제 30 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 부호, 몫 및 나머지의 인코딩된 신호 값들이 함께 그룹화되도록 상기 부호 비트 코딩, 몫 신호 값 코딩 및 나머지 신호 값 코딩을 특정 비트 스트림에서 조직화하게 하는, 물품.
  32. 제 30 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 상기 부호 비트 코딩, 몫 신호 값 코딩 및 나머지 신호 값 코딩을 하나 이상의 비트 스트림으로 조직화하게 하는, 물품.
  33. 제 27 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 제 1 의 K 개의 신호 값을 인코딩하고, 상기 제 1 의 K 개의 신호 값과 제 2 의 K 개의 신호 값 사이의 K 개의 신호 차를 계산하고, 상기 K 개의 신호 차를 인코딩하게 하는, 물품.
  34. 제 33 항에 있어서,
    상기 제 1 의 K 개의 신호 값은 제 1 블록 내의 좁은 동적 범위의 2 진 디지털 신호에 대응하고, 상기 제 2 의 K 개의 신호 값은 제 2 블록 내의 좁은 동적 범위의 2 진 디지털 신호에 대응하는, 물품.
  35. 제 27 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 상기 Rice 코딩 방식이 잔여 2 진 디지털 신호들의 블록을 압축하지 않으면, 잔여 2 진 디지털 신호들의 상기 블록이 상기 Rice 코딩 방식에 의해 인코딩되지 않았음을 적어도 부분적으로 나타내기 위해 신호 비트를 인코딩하게 하는, 물품.
  36. 제 35 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 상기 Rice 코딩 방식을 이용하여 잔여 2 진 디지털 신호들의 후속 블록을 인코딩하게 하는, 물품.
  37. 제 36 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값과, 상기 Rice 코딩 방식에 의해 인코딩되지 않은 잔여 2 진 디지털 신호들의 블록에 대응하는 K 개의 신호 값 사이의 차에 적어도 부분적으로 기초하여, 잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값을 인코딩하게 하는, 물품.
  38. 제 27 항에 있어서,
    상기 명령들은 또한, 상기 특수 목적 연산 디바이스에 의해 실행되는 경우, 상기 특수 목적 연산 디바이스로 하여금, 좁은 동적 범위의 2 진 디지털 신호들의 그룹을 하나 이상의 프레임들로 조직화하게 하는, 물품.
  39. 제 38 항에 있어서,
    상기 하나 이상의 프레임들은 적어도 부분적으로 서로에 대해 독립적으로 인코딩되는, 물품.
  40. 좁은 동적 범위의 2 진 디지털 신호와 예측된 좁은 동적 범위의 2 진 디지털 신호를 비교하여, Rice 코딩 방식을 이용하여 인코딩될 잔여 2 진 디지털 신호를 생성하는 수단; 및
    상기 잔여 2 진 디지털 신호를 Rice 코딩하는 수단을 포함하는, 장치.
  41. 제 40 항에 있어서,
    제 1 의 K 개의 신호 값을 인코딩하는 수단;
    상기 제 1 의 K 개의 신호 값과 제 2 의 K 개의 신호 값 사이의 K 개의 신호 차를 계산하는 수단; 및
    상기 K 개의 신호 차를 인코딩하는 수단을 더 포함하는, 장치.
  42. 제 40 항에 있어서,
    상기 Rice 코딩 방식이 잔여 2 진 디지털 신호들의 블록을 압축하지 않으면, 잔여 2 진 디지털 신호들의 상기 블록이 상기 Rice 코딩 방식에 의해 인코딩되지 않았음을 적어도 부분적으로 나타내기 위해 신호 비트를 인코딩하는 수단을 더 포함하는, 장치.
  43. 제 42 항에 있어서,
    상기 Rice 코딩 방식을 이용하여 잔여 2 진 디지털 신호들의 후속 블록을 인코딩하는 수단을 더 포함하는, 장치.
  44. 제 43 항에 있어서,
    잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값과, 상기 Rice 코딩 방식에 의해 인코딩되지 않은 잔여 2 진 디지털 신호들의 블록에 대응하는 K 개의 신호 값 사이의 차에 적어도 부분적으로 기초하여, 잔여 2 진 디지털 신호들의 상기 후속 블록에 대한 K 개의 신호 값을 인코딩하는 수단을 더 포함하는, 장치.
  45. 제 40 항에 있어서,
    좁은 동적 범위의 2 진 디지털 신호들의 그룹을 하나 이상의 프레임들로 조직화하는 수단을 더 포함하는, 장치.
KR1020127016339A 2008-07-18 2009-07-17 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치 KR20120096541A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US8217008P 2008-07-18 2008-07-18
US61/082,170 2008-07-18
US9126308P 2008-08-22 2008-08-22
US61/091,263 2008-08-22
US12/504,592 US20100017196A1 (en) 2008-07-18 2009-07-16 Method, system, and apparatus for compression or decompression of digital signals
US12/504,592 2009-07-16

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020117003739A Division KR20110043684A (ko) 2008-07-18 2009-07-17 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치

Publications (1)

Publication Number Publication Date
KR20120096541A true KR20120096541A (ko) 2012-08-30

Family

ID=41531072

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117003739A KR20110043684A (ko) 2008-07-18 2009-07-17 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치
KR1020127016339A KR20120096541A (ko) 2008-07-18 2009-07-17 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117003739A KR20110043684A (ko) 2008-07-18 2009-07-17 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치

Country Status (7)

Country Link
US (1) US20100017196A1 (ko)
EP (1) EP2319038A1 (ko)
JP (1) JP2011528807A (ko)
KR (2) KR20110043684A (ko)
CN (1) CN102057425A (ko)
TW (1) TW201015540A (ko)
WO (1) WO2010009423A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2765886C1 (ru) * 2013-10-18 2022-02-04 Телефонактиеболагет Л М Эрикссон (Пабл) Кодирование и декодирование положений спектральных пиков

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191534A1 (en) * 2009-01-23 2010-07-29 Qualcomm Incorporated Method and apparatus for compression or decompression of digital signals
CN101902283B (zh) * 2009-05-26 2014-06-18 鸿富锦精密工业(深圳)有限公司 编码调制方法及系统
CN102368385B (zh) * 2011-09-07 2013-08-14 中科开元信息技术(北京)有限公司 后向块自适应Golomb-Rice编解码方法及装置
GB2524682B (en) * 2011-10-24 2016-04-27 Graham Craven Peter Lossless buried data
JP5994073B2 (ja) * 2013-01-31 2016-09-21 株式会社アクセル 音声信号圧縮装置及び音声信号圧縮方法
CN106803762B (zh) * 2016-12-28 2019-03-05 中国北方车辆研究所 一种应用于数字通信的编码方法
CN106952651A (zh) * 2017-02-17 2017-07-14 福建星网智慧科技股份有限公司 一种语音处理装置传输语音的方法以及系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718087A (en) * 1984-05-11 1988-01-05 Texas Instruments Incorporated Method and system for encoding digital speech information
US5400075A (en) * 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5608713A (en) * 1994-02-09 1997-03-04 Sony Corporation Bit allocation of digital audio signal blocks by non-linear processing
US5818530A (en) * 1996-06-19 1998-10-06 Thomson Consumer Electronics, Inc. MPEG compatible decoder including a dual stage data reduction network
ID21087A (id) * 1996-11-11 1999-04-15 Philips Electronics Nv Pemampatan-pengembangan data memakai alat pemberi kode-pengurai kode padi
US5839098A (en) * 1996-12-19 1998-11-17 Lucent Technologies Inc. Speech coder methods and systems
US6125348A (en) * 1998-03-12 2000-09-26 Liquid Audio Inc. Lossless data compression with low complexity
US6611531B1 (en) * 1998-09-30 2003-08-26 Cisco Technology, Inc. Method and apparatus for routing integrated data, voice, and video traffic
US7423983B1 (en) * 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US6393394B1 (en) * 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
US20070110042A1 (en) * 1999-12-09 2007-05-17 Henry Li Voice and data exchange over a packet based network
US6694294B1 (en) * 2000-10-31 2004-02-17 Qualcomm Incorporated System and method of mu-law or A-law compression of bark amplitudes for speech recognition
US6934677B2 (en) * 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
US7408918B1 (en) * 2002-10-07 2008-08-05 Cisco Technology, Inc. Methods and apparatus for lossless compression of delay sensitive signals
KR100453142B1 (ko) * 2002-10-17 2004-10-15 주식회사 팬택 이동통신 단말기에서의 사운드 압축 방법
DE10258472B3 (de) * 2002-12-09 2004-05-13 Siemens Ag Verfahren zum Verarbeiten von digitalen Datenwerten
WO2005020210A2 (en) * 2003-08-26 2005-03-03 Sarnoff Corporation Method and apparatus for adaptive variable bit rate audio encoding
EP2009623A1 (en) * 2007-06-27 2008-12-31 Nokia Siemens Networks Oy Speech coding
US20110022924A1 (en) * 2007-06-14 2011-01-27 Vladimir Malenovsky Device and Method for Frame Erasure Concealment in a PCM Codec Interoperable with the ITU-T Recommendation G. 711
US8521540B2 (en) * 2007-08-17 2013-08-27 Qualcomm Incorporated Encoding and/or decoding digital signals using a permutation value

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2765886C1 (ru) * 2013-10-18 2022-02-04 Телефонактиеболагет Л М Эрикссон (Пабл) Кодирование и декодирование положений спектральных пиков

Also Published As

Publication number Publication date
WO2010009423A1 (en) 2010-01-21
CN102057425A (zh) 2011-05-11
US20100017196A1 (en) 2010-01-21
EP2319038A1 (en) 2011-05-11
TW201015540A (en) 2010-04-16
KR20110043684A (ko) 2011-04-27
JP2011528807A (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
JP4792257B2 (ja) 適応算術復号化方法及び適応算術復号化装置
US8879627B2 (en) Moving image encoding apparatus, moving image decoding apparatus, moving image encoding method, moving image decoding method, moving image encoding program, moving image decoding program, and moving image encoding/ decoding system
KR20120096541A (ko) 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치
US8909521B2 (en) Coding method, coding apparatus, coding program, and recording medium therefor
US8558724B2 (en) Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium
US20210050027A1 (en) Coding and decoding of spectral peak positions
JP5337235B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体
JP6681383B2 (ja) エンコーダ、デコーダ、および方法
KR101170137B1 (ko) 복잡성이 축소된 벡터 인덱싱 및 탈-인덱싱
JP6045123B2 (ja) エンコーダ、デコーダ及び方法
WO2010085566A1 (en) Method and apparatus for compression or decompression of digital signals
US8576910B2 (en) Parameter selection method, parameter selection apparatus, program, and recording medium
JP2004258603A (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
KR20100025710A (ko) 무손실 부호화/복호화 장치 및 방법
WO2011162723A1 (en) Entropy encoder arrangement and entropy decoder arrangement
JP4918103B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
US9070362B2 (en) Audio quantization coding and decoding device and method thereof
JP4241517B2 (ja) 画像符号化装置及び画像復号装置
JP3218630B2 (ja) 高能率符号化装置及び高能率符号復号化装置
JP2011259345A (ja) 符号化装置
KR100686354B1 (ko) 가변 트리를 이용한 허프만 복호화 방법 및 장치
JP3028885B2 (ja) ベクトル量子化装置
WO2005106849A1 (en) Digital audio compression/decompression with reduced complexity linear predictor coefficients coding/de-coding
JP2004184568A (ja) デジタルデータ圧縮符号化装置,デジタルデータ圧縮符号化方法
JPH02179073A (ja) 画像信号の適応型木符号化方式

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application