KR102492557B1 - 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램 - Google Patents

최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102492557B1
KR102492557B1 KR1020207016503A KR20207016503A KR102492557B1 KR 102492557 B1 KR102492557 B1 KR 102492557B1 KR 1020207016503 A KR1020207016503 A KR 1020207016503A KR 20207016503 A KR20207016503 A KR 20207016503A KR 102492557 B1 KR102492557 B1 KR 102492557B1
Authority
KR
South Korea
Prior art keywords
bit
bits
significant
spectral
spectral values
Prior art date
Application number
KR1020207016503A
Other languages
English (en)
Other versions
KR20200094752A (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 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Publication of KR20200094752A publication Critical patent/KR20200094752A/ko
Application granted granted Critical
Publication of KR102492557B1 publication Critical patent/KR102492557B1/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/002Dynamic bit allocation
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • 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
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects

Abstract

인코딩된 오디오 정보에 기초하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더는 스펙트럼 값을 나타내는 인코딩된 정보에 기초하여 디코딩된 스펙트럼 값을 획득하도록 구성된다. 오디오 디코더는 산술 디코딩을 사용하여 스펙트럼 값 세트에 대한 각각의 심볼 코드에 기초하여 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동 디코딩하도록 구성되며, 여기서 각각의 심볼 코드는 하나 이상의 스펙트럼 값들에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타낸다. 오디오 디코더는 최하위 비트 정보가 얼마나 이용 가능한지에 따라 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트를 디코딩하도록 구성되어, 상기 스펙트럼 값 중 하나 이상과 연관된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않도록 한다. 오디오 디코더는 스펙트럼 값을 사용하여 디코딩된 오디오 정보를 제공하도록 구성된다. 오디오 디코더의 수정이 가능한다. 오디오 인코더가 또한 설명되어 있다.

Description

최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램{AUDIO ENCODERS, AUDIO DECODERS, METHODS AND COMPUTER PROGRAMS ADAPTING AN ENCODING AND DECODING OF LEAST SIGNIFICANT BITS}
본 발명에 따른 실시 예는 인코딩된 오디오 정보에 기초하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더에 관한 것이다.
본 발명에 따른 다른 실시 예는 입력 오디오 정보에 기초하여 인코딩된 오디오 정보를 제공하기 위한 오디오 인코더에 관한 것이다.
본 발명에 따른 다른 실시 예는 인코딩된 오디오 정보에 기초하여 디코딩된 오디오 정보를 제공하는 방법에 관한 것이다.
본 발명에 따른 다른 실시 예는 입력 오디오 정보에 기초하여 인코딩된 오디오 정보를 제공하는 방법에 관한 것이다.
본 발명에 따른 다른 실시 예는 각각의 컴퓨터 프로그램에 관한 것이다.
본 발명에 따른 실시 예는 산술 인코딩된 오디오 데이터의 개선된 절단에 관한 것이다.
종래, 오디오 컨텐츠의 인코딩 및 디코딩에 대한 다양한 개념이 개발되었다.
예를 들어, 뉴 블루투스 코덱(NBC)은 3GPP EVS 표준에서 사용되는 MDCT 기반 TCX 오디오 코덱과 매우 유사한 오디오 코덱이다[1]. 둘 다는 MDCT 데이터를 코딩하기 위해 스칼라 양자화 및 콘텍스트 기반 산술 인코딩 (예를 들어, 인용 [2] 내지 [4] 참조)을 사용한다.
스칼라 양자화기는 단차 크기가 고유의 전역 이득 (예를 들어, 부가 정보로서 디코더에 전송됨)에 의해 제어되는 단순한 균일 양자화기 (추가 데드 존을 가짐)이다. 이 전역 이득은 스칼라 양자화기에서 발생하는 왜곡과 산술 인코더에서 소모하는 비트 수를 모두 제어한다. 전역 이득이 높을수록, 왜곡이 커지고 산술 인코더에서 소모하는 비트 수는 작아진다.
EVS에서는 대부분의 다른 통신 코덱과 마찬가지로, 코덱 비트 전송률이 일정한데, 즉, MDCT 데이터를 인코딩하는 데 사용할 수 있는 비트 수 (비트 예산(bit budget))가 제한되고 있다.
결과적으로, 인코더는 너무 낮지 않은 전역 이득을 찾아야 하고, 그렇지 않으면, 산술 인코더에 의해 소모되는 비트 수가 비트 예산을 초과하게 된다. 또한, 너무 높지 않은 전역 이득을 찾아야 하는데, 그렇지 않으면 양자화에 의해 유도된 왜곡이 높아져서, 디코딩된 출력 신호의 지각 품질이 나빠질 수 있다.
이상적으로, 인코더는 모든 프레임에서 최적의 전역 이득, 즉 비트 예산 이하의 비트수를 생성하면서 왜곡을 최소화하는 이득을 찾아야 한다.
이 목적은 예를 들어, 레이트-루프(rate-loop)라고도 하는 반복적 접근 방식을 사용하여 달성할 수 있다: 루프의 반복시 마다, MDCT 데이터가 재 양자화되고, 산술 인코더에 의해 소모되는 비트 수가 추정되며 전역 이득은 비트 수 및/또는 왜곡의 함수로서 조정된다.
그러나 레이트-루프는 계산적으로 복잡하므로, 복잡성을 줄이기 위해 일반적으로 적은 수의 반복이 사용된다. 이는 계산 복잡성이 매우 낮은 초 저전력의 통신 코덱 (예를 들어, 뉴 블루투스 코덱)과 관련이 있다. 따라서, 실제로, 차선의 전역 이득을 보통 구하게 된다.
경우에 따라, 구한 전역 이득이 너무 높으면, 소모된 비트 수가 비트 예산 보다 현저히 낮은 것으로 밝혀졌다. 이 경우, 미사용 비트가 많다. 이 비트는 (예를 들어, EVS 및 NBC에서 사용되는) 실제로 "잔여 양자화/코딩"이라는 추가 도구에 의해 사용할 수 있다. 이 도구는 계수에 1 비트를 사용하여 양자화된 넌제로 (non-zero) 계수를 개선하여, 전역 이득이 너무 높을 때에도 너무 높지 않은 왜곡을 성취할 수 있도록 해 준다.
또한, 다른 경우에, 구한 전역 이득이 너무 낮으면, 소모된 비트 수가 비트 예산을 초과하는 것으로 밝혀졌다. 이 경우, 양자화된 데이터는 완전히 인코딩될 수 없다. 다시 말해, 비트 예산 내에 유지되도록 데이터의 일부를 생략해야 한다. EVS 표준 (및 현재 NBC)에서 채택한 해결책은 고주파수 넌제로 계수를, 제로로 설정하여 절단하는 것이다. 산술 인코더는 (마지막 넌제로 계수 지수를 이용하여) 고주파수 제로 계수의 일부를 인코딩하지 않기 때문에, 이 방법을 사용하면 비트를 절약할 수 있으며 충분한 고 주파수 넌제로 계수가 절단되면, 비트 예산 내에 유지하는 것이 가능하게 된다.
이 방법은 낮은 비트 전송률에서 우수한 결과를 내는 것으로 나타났는데, 고 주파수 계수가 지각적으로 덜 중요하며 지각 품질의 상당한 손실 없이 (잡음 필링 도구를 사용하여, 예를 들어, EVS[1] 참조) 랜덤 잡음으로 대체될 수 있기 때문ㅇ이다.
그러나, 고 비트 전송률에서 이 방법은 코덱 성능을 심각하게 저하시킬 수 있는 것으로 나타났다.
이러한 상황을 고려하여, 오디오 품질, 복잡성 및 비트 전송률 사이에서 개선된 트레이드 오프를 허용하는 개념을 가질 필요가 있다.
본 발명에 따른 일 실시예는 인코딩된 오디오 정보에 기초하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더를 제공한다. 상기 오디오 디코더는 디코딩된 스펙트럼 값을 상기 스펙트럼 값을 나타내는 인코딩된 정보에 기초하여 획득하도록 구성된다. 상기 오디오 디코더는 산술 디코딩을 사용하여 스펙트럼 값 세트에 대해 각각의 심볼 코드에 기초하여 스펙트럼 값 (예를 들어, 양자화된 스펙트럼 값) 당 두 개 이상의 최상위 비트를 공동으로 디코딩하도록 구성된다. 각각의 심벌 코드는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타낸다. 상기 오디오 디코더는 이용 가능한 최소 비트 정보의 양에 따라 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최소 비트를 디코딩하도록 구성되어, 상기 스펙트럼 값 (예를 들어, 양자화된 스펙트럼 값) 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않도록 한다. 또한, 상기 오디오 디코더는 상기 스펙트럼 값을 이용하여 상기 디코딩된 오디오 정보를 제공하도록 구성된다.
이 오디오 디코더는 효율적인 인코딩/디코딩 개념을 가능하게 하여 오디오 품질, 복잡성 및 비트 전송률 간에 훌륭한 트레이드오프를 제공한다. 예를 들어, 오디오 디코더는 주어진 비트 예산 제약 하에서 오디오 인코더 측의 모든 (양자화 된) 스펙트럼 값을 인코딩하기 위해 비트 예산이 충분하지 않은 경우를 잘 처리할 수 있다.
오디오 디코더는 주어진 비트 예산에 대해, (양자화된) 스펙트럼 값 중 최하위 비트의 인코딩 (및 디코딩)을 생략하면서 하나 이상의 최상위 비트가 많은 스펙트럼 값 (또는 모든 넌제로 스펙트럼에 대해서도)에 대해 인코딩 (및 디코딩) 될 경우 비교적 우수한 오디오 품질을 달성할 수 있다는 사실을 기초한다. 다시 말해서, 본 발명의 핵심 아이디어는, 비트 예산이 충분하지 않은 경우 (예를 들어, 양자화된 스펙트럼 값의 전체 인코딩의 경우), 오디오 품질의 열화는 전체 스펙트럼 값의 인코딩이 생략된 해결책과 비교할 때 일부 최하위 비트의 인코딩과 디코딩이 생략되는 경우, 더욱 적어진다는 것에 있다. 또 다르게 말하면, 많은 스펙트럼 값의 최하위 비트의 인코딩을 생략하는 것은 비교적 적은 수의 스펙트럼 값의 인코딩을 완전히 생략하는 것과 비교할 때 (고주파수 영역의 스펙트럼 값만 생략되더라도) 비트 요구를 줄이는 더 나은 해결책이 된다고 밝혀졌다. 또 다르게 말하면, 본 발명은 하나 이상의 최상위 비트가 디코딩된 스펙트럼 값에 대해 최하위 비트의 디코딩을 (선택적으로) 생략하는 것은, 고주파수 범위에서 스펙트럼 값의 인코딩 및 디코딩의 생략과 비교할 때, 일반적으로 왜곡이 적은 비트 요구를 줄이는 좋은 방법이 된다는 발견에 기초한다.
따라서, 본 명세서에서 기술된 오디오 디코더는 전형적으로 양자화된 스펙트럼 값의 완전한 무손실 인코딩을 위해 비트 예산이 불충분한 프레임에서 심각한 신호 대 잡음비 저하를 야기하지 않는다.
더욱이, 이 개념은 스펙트럼 값 당 두 개 이상의 최상위 비트가 공동으로 인코딩 및 디코딩되는 경우에 특히 효율적인 것으로 밝혀졌는데, 최상위 비트는 최하위 비트가 인코딩 및 디코딩되지 않는 경우에도 양호한 오디오 표현을 허용하기 위해 충분히 의미있는 정보를 운반하기 때문이다. 즉, 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동으로 디코딩함으로써, 예를 들어, 고주파수 영역에서 2 비트 미만으로 인코딩된 오디오 콘텐츠를 고주파수 범위에서 도입함으로써 야기되는, 과도한 결과가 없다는 것을 보장할 수 있다. 다시 말해서, 여기에 언급된 개념은 비트 전송률, 복잡성 및 오디오 품질 간의 양호한 트레이드오프를 제공할 수 있다.
바람직한 실시예에서, 상기 오디오 디코더는 적어도 하나의 스펙트럼 값의 적어도 두 개의 최상위 비트를 나타내는, 산술적으로 인코딩된 표현의 하나의 심볼을, 상기 적어도 하나의 스펙트럼 값의 상기 적어도 두 개의 최상위 비트에 매핑하도록 구성된다. 따라서, 두 개 이상의 최상위 비트는 산술적으로 인코딩된 표현 (인코딩된 오디오 정보의 일부임)의 단일 심볼로 표현될 수 있으며, 이는 인코딩/디코딩 컨텍스트 및 인접한 (양자화된) 스펙트럼 값 사이의 통계적 의존성을 고려할 수 있게 해준다.
바람직한 실시예에서, 상기 산술 디코딩은 적어도 상기 적어도 두 개의 최상위 비트의 비트 위치(예를 들어, numbits, numbits-1로 나타냄)를 결정하고, 상기 산술적으로 인코딩된 표현의 심볼에 의해 결정된 상기 적어도 두 개의 최상위 비트를 상기 결정된 비트 위치에 할당하도록 구성된다. 비트 위치는 예를 들어, "VAL_ESC"로 지정될 수 있는 다수의 소위 "이스케이프 심볼"에 기초하여 결정될 수있다. 예를 들어, 비트 위치는 산술적으로 인코딩된 표현의 다른 심볼에 대해 개별적으로 결정될 수 있다. 따라서, 적절한 숫자 가중치가 최상위 비트에 할당될 수 있고, 하나 이상의 최하위 비트와 하나 이상의 중간 비트 (비트 위치가 하나 이상의 최하위 비트와 두 개 이상의 최상위 비트 사이에 있음)가 스펙트럼 값과 관련되어 있는지에 대해서는 알아낼 수 있다. 따라서, 각각의 스펙트럼 값에 대한 하나 이상의 최하위 비트 (및 선택적으로 각각의 스펙트럼 값에 대한 하나 이상의 중간 비트)의 디코딩이 존재해야 하는지 여부가 결정될 수 있다. 또한, 이 개념을 사용함으로써, 두 개 이상의 최상위 비트가 스펙트럼 값을 완전히 표현하기에 충분한 스펙트럼 값에 대해 최하위 비트의 인코딩 및 디코딩을 피할 수 있다. 이것은 예를 들어, (두 개의 최상위 비트가 있는 경우) 0에서 3 사이의 범위에 있는 스펙트럼 값에 대해 해당한다.
바람직한 실시예에서, 상기 오디오 디코더는 두 개 이상의 최상위 비트가 디코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 디코딩하도록 구성된다. 따라서, 최하위 비트를 제외하고, 양자화된 스펙트럼 값의 이진수 표현의 모든 비트를 디코딩할 수 있다. 예를 들어, 모든 넌제로 스펙트럼 값에 대해, 최하위 비트를 제외하고, 모든 스펙트럼 값의 이진법 (및 부호있는) 숫자 표현의 모든 비트를 디코딩할 수 있다. 따라서, 스펙트럼의 양호한 표현을 성취할 수 있으며, 이 때 각각의 스펙트럼 값에 대한 최대 에러가 각각의 스펙트럼 값에 대한 최하위 비트의 인코딩 표현이 비트 전송률 제약으로 인해 인코딩된 오디오 표현에 포함될 수 있는지의 여부에 대한 질문과 상관 없이, 최하위 비트로 제한되는 것을 확실히 한다.
바람직한 실시예에서, 상기 오디오 디코더는 제1 디코딩 단계 (예를 들어, 디코딩 단계 3)에서, 스펙트럼 값 당 두 개 이상의 최상위 비트, 및 두 개 이상의 최상위 비트가 디코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이에 있는, 하나 이상의 중간 비트를 디코딩하도록 구성된다. 또한, 제1 디코딩 단계에서, 두 개 이상의 최상위 비트가 디코딩되고 상기 두 개 이상의 최상위 비트와 중간 비트가 - 중간 비트가 존재하는 한 - 넌제로 값을 나타내는 모든 스펙트럼 값에 대해, 부호가 디코딩된다. 더욱, 상기 오디오 디코더는 상기 제1 디코딩 단계에서, 상기 두 개 이상의 최상위 비트 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 디코딩을 선택적으로 생략하도록 구성된다. 또한, 상기 오디오 디코더는 상기 제1 디코딩 단계 이후 제2 디코딩 단계 (예를 들어, 디코딩 단계 6)에서, 상기 두 개 이상의 최상위 값 및 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해, 부호 정보를 선택적으로 취득하도록 구성된다.
따라서, 제1 단계에서 디코딩된 이들 비트 (즉, 존재할 수 있는 두 개 이상의 최상위 비트 및 임의의 중간 비트)가 스펙트럼 값의 절대 값이 최하위 비트의 기여 보다 크지 않다고 나타내면 제1 단계에서 부호 디코딩은 실행되지 않는다. 따라서, 부호의 디코딩은 최하위 비트의 실제 디코딩까지 연기된다. 이러한 절차는 부호가 "너무 일찍" 헛되이 디코딩되어, 각각의 스펙트럼 값에 대응하는 최하위 비트가 비트 예산의 소진으로 인해 비트스트림에 포함되지 않는 경우 그렇게 될 수 있는 것을 방지할 수 있기 때문에 바람직하다.
바람직한 실시예에서, 상기 오디오 디코더는 상기 스펙트럼 값들과 관련된 최하위 비트 값을 획득하기 위해서, 최하위 비트 정보 비트 시퀀스 (예를 들어, lsbs[])의 후속 비트들을 순차적으로 사용하도록 구성된다. 따라서, 최하위 비트 (필요하다면, 부호)를 나타내는 연속 비트 시퀀스가 있을 수 있다. 이 비트 시퀀스 (예를 들어, lsbs[])를 단축함으로써, 인코딩된 오디오 표현의 전송을 위해 필요한 비트 전송률을 오디오 인코더 측에서 쉽게 조정할 수 있고, 오디오 디코더는 복잡한 비트 매핑 없이 매우 쉽게, 비트 전송률의 조정 (또는 가변 길이 또는 lsbs[])에 적응할 수 있다.
바람직한 실시예에서, 상기 오디오 디코더는 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스 (예를 들어, lsbs[])의 단일 비트 (예를 들어, 단계 6, bit0)를 사용하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 최하위 비트 값을 취득하기 위해 사용된다. 더욱, 상기 오디오 디코더는 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값들에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트 (예를 들어, 단계 6, 비트0)를 사용하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트가 상기 제로 값 (예를 들어, 단계 7에서 비트 0의 값 "0")을 확인한다. 또한, 상기 오디오 디코더는 상기 두 개의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트 (예를 들어, 단계 6에서 비트 0 및 비트 1)를 사용하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 (단계 6에서 비트 0의 값 "1") 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 사용된 두 비트 중 제2 비트 (예를 들어, 단계 6에서 비트 1)는 상기 각각의 스펙트럼 값의 부호를 결정한다.
이러한 메커니즘을 사용하면, 높은 비트 전송률 효율을 달성할 수 있다. 최하위 비트의 인코딩 및 디코딩을 위한 하나의 연속적인 비트 시퀀스 (예를 들어, lsbs[])만이 존재하며, 이 때 하나의 연속 비트 시퀀스는 또한 0 값에서 최하위 비트 값 만큼 벗어난 스펙트럼 값에 대한 부호 정보를 선택적으로 포함한다 (즉, 두 개 이상의 최상위 비트 및 임의의 중간 비트 (중간 비트가 존재하는 한)는 제로 값을 나타냄).
바람직한 실시예에서, 상기 오디오 디코더는 최저 주파수 스펙트럼 값과 연관된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 연관된 스펙트럼 값으로 진행하면서 최하위 비트들을 디코딩하도록 구성되어, 스펙트럼 값 (예를 들어, 두 개 이상의 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값)이 최저 주파수 스펙트럼 값에서 마지막 최하위 비트 정보가 이용 가능한 스펙트럼 값까지의 범위에서 최하위 비트 정보에 의해 개선되고, 상기 마지막 최하위 비트 정보가 이용 가능한 상기 스펙트럼 값과 연관된 주파수 보다 더 높은 관련 주파수를 갖는 스펙트럼 값은 개선되지 않고 유지된다. 다시 말해, 더 낮은 주파수 범위 (가장 낮은 주파수 스펙트럼 값에서 마지막 최하위 비트 정보와 연관된 스펙트럼 값까지)의 스펙트럼 값은 최소 중요 비트 정보를 사용하여 개선되는 반면, 고 주파수와 관련된 스펙트럼 값은 모두 개선되지 않은 상태로 유지된다. 결과적으로 지각적으로 더 중요한 저주파수 범위의 분해능은 최하위 비트 개선을 사용하여 증가하는 반면, 두 개 이상의 최상위 비트 (및 이용 가능한 경우 중간 비트)가 지각적으로 덜 중요한 주파수 범위에서 사용된다. 결과적으로, 이용 가능한 비트 전송률에 기초하여 가능한 최상의 청각적 인상이 얻어질 수 있으며, 이 때, 어느 스펙트럼 값에 대해 최하위 비트 정보가 제공되는지에 대한 간단한 메커니즘이 있다. 또한, 스펙트럼 값은 최저 주파수 스펙트럼 값으로부터 마지막 최하위 비트 정보가 연관된 스펙트럼 값까지 개선될 수 있다.
바람직한 실시예에서, 상기 오디오 디코더는, 상기 인코더로부터의 시그널링에 응답하여 고 주파수 범위의 스펙트럼 값의 디코딩이 생략되고 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코딩되는 제1 모드 및 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코드되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드 사이에서 전환 가능하게 구성된다.
다시 말해, 오디오 디코더는 비트 예산의 소모를 처리하기 위해 상당히 다른 메커니즘을 사용하는 두 가지 모드 사이에 전환될 수 있다. 제1 모드에서, 저 주파수 범위의 모든 스펙트럼 값은 최하위 비트를 포함하여 완전히 인코딩 (및 디코딩)되는 반면, 고 주파수 범위의 모든 스펙트럼 값은 이들이 넌제로이고 결과적으로 디코더 측에서 디코딩되지 않는 경우에도 인코더에 의해 완전히 폐기된다. 제2 모드에서, 적어도 최상위 비트는 모든 넌제로 스펙트럼 값에 대해 인코딩되지만 (따라서 또한 디코딩되고), 최하위 비트는 여전히 이용 가능한 비트 예산이 존재하는 경우 (존재하는 한) 인코딩 (및 디코딩)된다.
그러나, 두 개의 상이한 모드 사이에서 전환할 수 있는 가능성은 오디오 디코더가 다양한 전송 조건에 적응할 수 있게 한다. 예를 들어, 예를 들어, 이용 가능한 매우 작은 비트 전송률이 있는 경우, 제1 모드가 때때로 제2 모드 보다 유리한 것으로 밝혀졌다. 다른 한편, 제1 모드는 충분히 높은 비트 전송률이 존재하는 경우 양호한 결과를 제공하지 않고, 이 때 많은 스펙트럼 값의 이진 표현은 둘 이상의 최상위 비트에 더하여, 최하위 비트를 포함한다. 따라서, 오디오 디코더는 최하위 비트가 거의 없는 상황 및 비교적 많은 수의 최하위 비트가 있는 상황 하에서 양호한 결과로 동작할 수 있다 (제2 모드의 동작은 일반적으로 첫번째 상황에서 문제가 되는 반면, 제2 모드의 동작은 일반적으로 두번째 상황에서 매우 바람직하다).
바람직한 실시예에서, 상기 오디오 디코더는 상기 오디오 디코더가 상기 제1 모드 또는 상기 제2 모드에서 동작하는지를 결정하기 위해 상기 인코딩된 오디오 정보에 포함된 비트스트림 플래그를 평가하도록 구성된다. 따라서, 제1 모드와 제2 모드 사이의 스위칭은 오디오 인코더에 의해 제어될 수 있으며, 이는 일반적으로 어떤 모드가 가장 유리한지에 대한 나은 판단을 포함한다. 또한, 오디오 디코더는 제2 모드 또는 제1 모드를 사용할지 여부를 스스로 결정할 필요가 없기 때문에 오디오 디코더의 복잡성을 감소시킬 수 있다.
다른 실시예에서, 상기 오디오 디코더는 각각의 심볼 코드에 기초하여 적어도 두 개의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동으로 디코딩하도록 구성되고, 각각의 심벌 코드는 적어도 두 개의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타낸다. 두 개 이상의 스펙트럼 값이 산술적으로 인코딩된 표현의 단일 심볼로 표현되는 이러한 스펙트럼 값의 그룹화는, 특히 인접한 스펙트럼 값 사이에 약간의 상관 관계가 있고 두 개의 최상위 비트 각각에 대한 비트 위치를 개별적으로 인코딩할 필요가 없기 때문에 특히 효율적이다. 그러나, 비트 위치가 전형적으로 더 큰 절대 값을 갖는 스펙트럼 값에 의해 결정되기 때문에, 스펙트럼 값 중 하나의 "최상위 비트"가 모두 "제로"인 상황이 자연스럽게 일어날 수 있다.
본 발명에 따른 실시예는, 인코딩된 오디오 정보에 기초하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더를 제공한다. 상기 오디오 디코더는 상기 스펙트럼 값을 나타내는 인코딩된 정보에 기초하여 디코딩된 스펙트럼 값을 획득하도록 구성된다. 상기 오디오 디코더는 복수의 스펙터럼 값에 대해 각각의 심볼 코드에 기초하여 하나 이상의 최상위 비트를 디코딩하고, 상기 스펙트럼 값 중 하나 이상에 대해 하나 이상의 최하위 비트를 디코딩하도록 구성된다. 특히, 상기 오디오 디코더는, 상기 인코더로부터의 시그널링에 응답하여 고 주파수 범위의 스펙트럼 값의 디코딩이 생략되고 (예를 들어, 완전히 생략되고) 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코드되는 제1 모드, 및 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드 사이에서 전환 가능하게 구성된다. 더욱, 상기 오디오 디코더는 상기 스펙트럼 값을 이용하여 상기 디코딩된 오디오 정보를 제공하도록 구성된다.
이 실시 예는 제1 모드 또는 제2 모드가 상황에 따라 복잡성, 비트 전송률 및 오디오 품질 사이의 트레이드 오프 측면에서 더 유리할 수 있다는 아이디어에 기초한다. 오디오 디코더는 소진된 비트 예산을 처리하기 위한 두 가지 다른 방법을 처리할 수 있다. 제1 모드에서 동작 할 때, 오디오 디코더는 오디오 인코더가 고 주파수 범위에서 스펙트럼 값의 인코딩을 생략하는 상황을 처리할 수 있고, 저주파수 범위의 스펙트럼 값은 모두 완전히 인코딩된다 (최하위 비트 포함). 제2 모드에서, 오디오 디코더는 하나 이상의 최상위 비트가 모든 스펙트럼 값에 대해 인코딩되더라도, 일부 스펙트럼 값에 대해 최하위 비트가 선택적으로 생략되는, 인코딩된 오디오 정보를 처리한다. 위에서 이미 언급했듯이, 두 가지 방법은 일부 다른 시스템 파라미터 (예를 들어, 사용 가능한 비트 전송률)에 따라 장점이 있으므로 본 명세서에 설명된 오디오 디코더는 다양한 조건에서 좋은 결과를 제공할 수 있다.
이 오디오 디코더는 또한 전술한 오디오 디코더의 특징 및 기능 중 어느 하나에 의해 보충될 수 있다.
바람직한 실시예에서, 상기 오디오 디코더는 제1 모드에서 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 연속되는 비트 시퀀스로부터 임의의 스펙트럼 값과 연관된 상기 최하위 비트를 획득하도록 구성된다. 더욱, 상기 오디오 디코더는 상기 제2 모드에서 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 개별의 비트 시퀀스로부터 또는 비트 시퀀스의 개별의 비연속적인 비트 위치로부터 임의의 스펙트럼 값과 연관된 상기 최하위 비트를 취득하도록 구성된다.
다시 말해, 제1 모드에서, (중간 비트가 존재하는 한) 중간 비트와 최하위 비트를 모두 인코딩하는 단일 연속 비트 시퀀스가 존재할 수 있다. 중간 비트에 관한 정보 및 최하위 비트에 관한 정보를 포함하는 (이것은 일반적으로 하나 이상의 최상위 비트에 관한 정보를 포함하지 않는) 연속적인 비트 시퀀스는 비트 예산이 감소되는 경우에 쉽게 단축될 수 있다. 한편, 제2 모드에서, 최하위 비트를 나타내는 정보 및 중간 비트를 나타내는 정보는 별도의 비트 시퀀스 또는 비트 시퀀스의 별도의 서브시퀀스에 포함된다. 따라서, 중간 비트에 관한 정보 (및 선택적으로 부호 정보)를 획득하는 하나의 비트 시퀀스가 있으며, 최하위 비트에 관한 정보 (및 선택적으로 0에 매우 가까운 값의 부호에 관한 정보)를 포함하는 하나의 시퀀스가 존재한다. 결과적으로, 최하위 비트에 관한 정보는 제2 모드에서 동작할 때 별도의 시퀀스에 있기 때문에, 최하위 비트를 포함하는 시퀀스를 제거하거나 단축하는 것이 용이하여 필요한 비트 전송률을 감소시킨다. 오디오 디코더는 최하위 비트를 나타내는 시퀀스에 포함된 비트 수에 따라, 스펙트럼 값의 최하위 비트 개선이 다소의 스펙트럼 값에 적용된다는 점에서 최하위 비트를 포함하는 가변 길이의 시퀀스에 쉽게 적응할 수 있다.
본 발명에 따른 실시예는 입력 오디오 정보에 기초하여 인코딩된 오디오 정보를 제공하기 위한 오디오 인코더를 제공하다. 상기 오디오 인코더는 상기 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값을 획득하도록 구성된다. 상기 오디오 인코더는 상기 스펙트럼 값들을 나타내는 인코딩된 정보를 얻기 위해, 적어도 복수의 스펙트럼 값들을 인코딩하도록 구성된다. 또한, 상기 오디오 인코더는 산술 인코딩을 사용하여 스펙트럼 값 세트에 대해 각각의 심볼 코드를 얻기 위해, 스펙트럼 값 당 두 개 이상의 최상위 비트들을 공동으로 인코딩하도록 구성된다. 각각의 심벌 코드는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타낸다.
상기 오디오 인코더는 또한 이용 가능한 비트 예산에 의존하여 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트를 인코딩하도록 구성되어, 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는 반면, 두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해 최하위 비트가 인코딩되지 않도록 한다. 또한, 상기 오디오 인코더는 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하도록 구성된다.
이 오디오 인코더는 산술 인코딩을 사용하여 두 개 이상의 최상위 비트가 인코딩되는 스펙트럼 값에 대해 하나 이상의 최하위 비트의 인코딩을 선택적으로 생략함으로써 복잡성, 비트 전송률 및 오디오 품질 간의 양호한 트레이드 오프를 달성할 수 있다는 아이디어를 기초로 한다. 하나 이상의 최하위 비트의 인코딩을 생략하는 것은 인코딩되는 적어도 두 개의 최상위 비트가 있는 경우에 특히 해롭지 않다는 것이 밝혀졌다.
특히, 최상위 비트가 인코딩된 하나 이상의 (양자화된) 스펙트럼 값에 대해 최하위 비트의 인코딩을 생략하면 비트 예산 내에서 유지하기 위해 일부의 스펙트럼 값의 인코딩을 완전히 생략하는 것과 비교할 때 오디오 품질의 저하가 훨씬 적다는 것이 밝혀졌다.
바람직한 실시예에서, 상기 산술 인코딩은 상기 적어도 두 개의 최상위 비트(예를 들어, numbits, numbits-1)의 비트 위치 (예를 들어, 비트 가중치)를 예를 들어, 산술적으로 인코딩된 표현의 여러 심볼에 대해 개별적으로 결정하고, 상기 비트 위치를 기술하는 하나 이상의 "VAL_ESC" 심볼을 포함하는 이스케이프 시퀀스를, 산술적으로 인코딩된 표현에 포함하도록 구성된다. 따라서, 두 개 이상의 최상위 비트의 비트 위치 또는 비트 가중치는 실제 스펙트럼 값에 적응될 수 있으며, 여기서 최상위 비트는 비교적 큰 스펙트럼 값에 대해 큰 비트 가중치를 가질 수 있고, 최상위 비트는 비교적 작은 스펙트럼 값에 대해 비교적 작은 비트 가중치를 가질 수 있다. 따라서, 일부 양자화된 스펙트럼 값은 두 개 이상의 최상위 비트를 사용하여 완전히 인코딩될 수 있으며, 여기서 최소 유효 비트 (또는 중간 비트)는 남아 있지 않다. 대조적으로, 다른 비교적 큰 스펙트럼 값은 두 개 이상의 최상위 비트를 사용하고 적어도 하나 이상의 최하위 비트를 사용하여 인코딩될 수 있다. 적어도 하나의 최하위 비트가 존재하는 비교적 큰 스펙트럼 값의 경우, 두 개 이상의 최상위 비트 외에, 인코더는 이용 가능한 비트 예산이 소진되었는지의 여부에 따라 최하위 비트를 인코딩할지 여부를 유연하게 결정할 수 있다. 그러나, 양자화 분해능이 높을수록, 두 개 이상의 최상위 비트 외에 하나 이상의 최하위 비트를 포함하는 스펙트럼 값의 수가 더 많아진다. 따라서, 최하위 비트를 인코딩하지 않음으로써 비트를 절약할 가능성은 미세 양자화를 위해 특히 높아진다.
바람직한 실시예에서, 상기 오디오 인코더는 상기 적어도 하나의 스펙트럼 값)의 적어도 두 개의 최상위 비트를, 적어도 하나의 스펙트럼 값의 상기 적어도 두 개의 최상위 비트를 나타내는, 산술적으로 인코딩된 표현의 하나의 심볼에 매핑하도록 구성된다. 산술적으로 인코딩된 표현의 하나의 심볼을 사용하여 두 개 이상의 최상위 비트를 공동으로 인코딩하는 것은, 예를 들어 산술 인코딩을 위한 컨텍스트를 결정할 때 인접한 스펙트럼 값의 최상위 비트 사이의 상관이 이용될 수 있기 때문에 특히 효율적인 것으로 밝혀졌다.
바람직한 실시예에서, 상기 오디오 인코더는 두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 인코딩하도록 구성된다. 따라서, 둘 이상의 최상위 비트가 인코딩되는 모든 스펙트럼 값은 실제로 양호한 해상도로 인코딩된다. 이러한 스펙트럼 값들에 대하여, 최하위 비트를 제외한 모든 비트들은 항상 인코딩되며, 이는 양호한 해상도를 제공하고 비트 예산이 소진되는 경우 최하위 비트 만이 영향을 받는 효과를 갖는다. 따라서, 매우 양호한 청각적 인상을 유지할 수 있다.
바람직한 실시예에서, 상기 오디오 인코더는, 제1 인코딩 단계에서, 스펙트럼 값 당 두 개 이상의 최상위 비트를 인코딩하고, 또한 두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이인 하나 이상의 중간 비트를 인코딩하도록 구성된다. 또한, 인코더는 및 두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트와 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 모든 스펙트럼 값에 대해서, 부호를 인코딩하도록 구성된다. 따라서, 상기 오디오 인코더는 상기 제1 인코딩 단계에서, 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 인코딩을 선택적으로 생략하도록 구성된다. 따라서, 제1 인코딩 단계에서, 최상위 비트 및 중간 비트 (중간 비트가 최상위 비트와 최하위 비트 사이에 존재하는 한)가 인코딩된다. 그러나, 제1 인코딩 단계에서, 부호는 두 개 이상의 최상위 비트 및 중간 비트가 넌제로 값을 나타내는 경우에만 인코딩된다. 다시 말해서, 제1 인코딩 단계에서, 부호는 스펙트럼 값이 너무 작아서 최하위 비트 값 만큼만 0과 다른 경우 인코딩되지 않는다 (이는 최상위 비트가 모두 0이도록 두 개 이상의 최상위 비트의 비트 가중치가 선택되는 경우 그러하며, 이는 예를 들어, 임의의 스펙트럼 값의 비트 가중치가 임의의 스펙트럼 값보다 큰 하나 이상의 인접한 스펙트럼 값에 의해 영향을 받는 경우 발생할 수 있다).
또한, 상기 오디오 인코더는, 상기 제2 인코딩 단계에서, 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해서 부호 정보를 선택적으로 인코딩하도록 구성된다. 다시 말해서, 최하위 비트 값 만큼 0과 다른 매우 작은 스펙트럼 값의 경우, 부호는 제2 인코딩 단계에서만 인코딩되며, 이 때, 제2 인코딩 단계는 임의의 스펙트럼 값 (즉, 최하위 비트 정보가 인코딩된 오디오 정보에 포함되는지 여부)에 대해 실재로 실행 (또는 완료)되었는지는 비트 예산에 의존한다. 따라서, 최상위 비트 및 임의의 중간 비트의 인코딩으로부터 부호 정보가 어느 경우에 필요한지가 명확하지 않은 한, 제1 인코딩 단계는 간소화되고, 부호 정보는 제2 인코딩 단계에서만 인코딩된다 (예를 들어, 인코딩된 오디오 정보에 포함)된다. 불필요한 정보의 인코딩을 피하고 효율을 최대화 할 수 있는데, 이는 제2 인코딩 단계가 수행될 스펙트럼 값이 처음부터 명확하지 않기 때문이다. 제2 인코딩 단계의 수행 여부에 대한 최종 결정은 최상위 비트 및 임의의 중간 비트의 디코딩에 얼마나 많은 비트가 필요한지, 다른 최하위 비트의 인코딩에 의해 얼마나 많은 비트 수가 이미 사용되었는지를 알고 있는 경우에만 이루어질 수 있다.
바람직한 실시예에서, 상기 오디오 인코더는 0에서 최하위 비트 만큼 다른 스펙트럼 값에 대해, 스펙트럼 값의 상기 최하위 비트가 실재로 인코딩되면, 부호 정보를 상기 인코딩된 오디오 표현에 포함시키도록 구성된다. 따라서, 인코딩 된 오디오 정보 (또는 인코딩된 오디오 표현)에 불필요한 정보가 포함되는 것을 피할 수 있다. 다시 말해, 부호 정보는 최하위 비트를 고려하지 않더라도 0이 아닌 모든 스펙트럼 값에 대해 포함된다. 최하위 비트를 고려할 때만 넌제로인 스펙트럼 값의 경우, 최하위 비트 정보가 실제로 인코딩된 오디오 표현에 포함되는 경우 부호 정보는 인코딩된 오디오 표현에만 포함된다.
바람직한 실시예에서, 상기 오디오 인코더는 상기 스펙트럼 값들과 연관된 최하위 비트 값들을 인코딩하기 위해서 최하위 비트 정보 비트 시퀀스의 후속 비트들을 순차적으로 제공하도록 구성된다. 따라서, 최하위 비트 정보 및 최하위 비트를 고려할 때에만 0이 아닌 스펙트럼 값들에 대한 일부 부호 정보를 포함하는 연속 비트 시퀀스 또는 비트 스트림이 제공된다. 결과적으로, 최하위 비트 정보 (연관된 부호 정보 포함)의 개별 시퀀스가 있으며, 이는 최상위 비트 및 중간 비트 (및 최하위 비트를 고려하지 않은 상태에서도 관련 있는 부호 정보)의 인코딩에 영향을 미치지 않고 단축되거나 생략될 수 있다.
바람직한 실시예에서, 상기 오디오 인코더는 상기 두 개 이상의 최상위 비트 값과 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 제공하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 최하위 비트 값을 인코딩하기 위해 사용된다. 더욱, 상기 오디오 인코더는 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 제공하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 제공된 단일 비트는 상기 제로 값을 확인한다. 더욱, 상기 오디오 인코더는 상기 두 개의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트를 제공하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 제공된 두 비트 중 제2 비트는 상기 각각의 스펙트럼 값의 부호를 인코딩한다.
다시 말해서, 부호는 최상위 비트 및 중간 비트 (존재하는 경우)가 0을 나타내며 최하위 비트가 (0 값에서 최소 비트 비트 값만큼 벗어난) 넌제로 값을 나타내는 스펙트럼 값에 대해 최하위 비트 정보 비트 시퀀스에 선택적으로 포함된다.
바람직한 실시예에서, 상기 오디오 인코더는 최저 주파수 스펙트럼 값과 연관된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 연관된 스펙트럼 값으로 진행하면서 최하위 비트들을 인코딩하도록 구성된다. 따라서, 최하위 비트 비트 정보에 의해 스펙트럼 값들을 개선하기 위해 (예를 들어, 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값을 개선하기 위해) 인코딩된 정보가 최하위 주파수 스펙트럼 값으로부터 마지막 최하위 비트 정보가 제공되는 스펙트럼 값까지의 범위에서 제공되고, 최하위 비트 정보에 의해 스펙트럼 값들을 개선하기 위한 인코딩된 정보가 상기 마지막 최하위 비트 정보가 제공되는 상기 스펙트럼 값과 연관된 주파수 보다 높은 관련 주파수를 갖는 스펙트럼 값에 대해서는 제공되지 않는다. 더욱이, 최소 유효 비트 정보에 의해 스펙트럼 값을 개선하기 위한 인코딩 된 정보는 마지막 최하위 비트 정보가 제공되는 스펙트럼 값과 관련된 주파수 보다 높은 관련 주파수를 갖는 (모든) 스펙트럼 값 (두 개 이상의 최상위 비트보다 많은 비트를 포함하는 인코딩된 스펙트럼 값의 경우)에 대해 제공되지 않는다. 다시 말해, 비트 예산의 미사용 비트는 비트 예산이 소진될 때까지 최하위 비트 정보로 저 주파수 영역에서 스펙트럼 값을 개선하는 데 사용된다. 비트 예산이 소진되면 고 주파수 영역의 스펙트럼 값은 최하위 비트 정보로 수정되지 않는다. 이러한 절차는 최하위 비트 정보를 제공 할 때 저 주파수 부분의 스펙트럼 값이 고 주파수 부분의 스펙트럼 값보다 바람직하다는 것을 수반한다. 이것은 저 주파수 영역의 부정확성과 비교할 때 고 주파수 영역에서의 부정확에 의해 청각적 인상이 덜 왜곡되기 때문에 음향 심리학적 요건과 일치한다. 따라서, 오디오 인코더는 비트 예산에 기초하여, 어느 주파수 (최후의 최하위 비트 정보가 제공되는 스펙트럼 값)까지 비트 예산에 따라 최하위 비트 정보를 이용하여 스펙트럼 값의 개선이 있는지를 유연하게 결정할 수 있다.
바람직한 실시예에서, 상기 오디오 인코더는, 이용 가능한 비트 예산이 저 주파수 범위에서 스펙트럼 값의 인코딩으로 소진한 경우 고 주파수 범위에서 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩되는 제1 모드 및 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는 반면, 하나 이상의 최상위 비트가 인코드되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드 사이에서 전환 가능하게 구성된다.
위에서 이미 언급 한 바와 같이, 이러한 모드들 사이에서 전환할 수 있다는 것은 여러 다른 환경에서 그리고 여러 다른 비트 전송률 제약 하에서 효율적인 코딩을 가능하게 한다. 제1 모드에서, 인코딩된 스펙트럼 값의 수는 변할 수 있고, 비트 예산의 소진에 응답하여 더 높은 주파수 범위에서 넌제로 스펙트럼 값의 인코딩은 생략될 수 있다. 따라서, 고주파수 범위에서의 청각적 인상은 열화되지만, 이는 일부 환경, 예를 들어 낮은 비트 전송률 환경에서 허용될 수 있다. 다른 한편으로, 제2 모드에서, 오디오 인코더는 비트 예산에 따라 최소 유효 비트가 얼마나 많은 스펙트럼 값에 대해 인코딩되는지에 따라 변할 수 있지만, 적어도 최대 유효 비트는 모든 스펙트럼 값에 대해 인코딩된다 (고 주파수 영역에서도). 따라서, 제2 모드에서, 고주파 영역에서 넌제로 (양자화된) 스펙트럼 값의 총 생략이 없는 동안, 경우에 따라서는 저 주파수에 대해서도 인코딩 정밀도가 감소 될 수 있다. 예를 들어, 제2 동작 모드는 고 비트 전송률 조건 하에서 개선된 청각적 인상을 초래할 수 있으며, 이는 고주파 영역에서 넌제로 스펙트럼 값이 완전히 생략될 경우 현저한 열화를 겪을 것이다. 따라서, 오디오 인코더는 제1 모드와 제2 모드 사이에서 전환 가능함으로써 상이한 상황 및 비트 전송률 요건에 유연하게 적응할 수 있다.
바람직한 실시 예에서, 오디오 인코더는 오디오 인코더가 제1 모드에서 동작하는지 또는 제2 모드에서 동작하는지를 나타내기 위해 인코딩된 오디오 정보 (또는 인코딩된 오디오 표현)에 포함된 비트스트림 플래그를 제공하도록 구성된다. 따라서, 오디오 디코더가 제1 디코딩 모드 또는 제2 디코딩 모드 중 어느 것을 사용해야 하는지 쉽게 인식할 수 있다. 오디오 인코더는 일반적으로 오디오 디코더보다 특정 상황에 대해 더 많은 지식을 가지고 있기 때문에, 그러한 신호에 비트스트림 플래그를 사용하는 것이 합리적이다.
바람직한 실시 예에서, 오디오 인코더는 각각의 심볼 코드를 사용하여 적어도 두 개의 스펙트럼 값에 대한 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동으로 인코딩하도록 구성 될 수 있다. 따라서, 각각의 심벌 코드는 적어도 두 개의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타낼 수 있다. 스펙트럼 적으로 인접한 스펙트럼 값 사이의 의존성 및 상관이 이용될 수 있기 때문에, 이러한 인코딩이 특히 효율적인 것으로 밝혀졌다. 또한, 최상위 비트의 비트 가중치는 두 스펙트럼 값에 기초하여 결정될 수 있으며, 절대 값이 더 큰 스펙트럼 값은 두 스펙트럼 값 모두에 대해 최상위 비트의 공통 비트 가중치를 결정할 수 있다. 따라서, 최상위 비트의 비트 가중치를 시그널링하기 위한 시그널링 오버 헤드는 둘 이상의 스펙트럼 값에 대해 공동으로 시그널링 될 수 있기 때문에 감소될 수 있다.
바람직한 실시 예에서, 오디오 인코더는 실제의 가장 높은 주파수의 넌제로 스펙트럼 값을 결정하고 (예를 들어, 스펙트럼 값을 잘라내지 않고) 모든 넌제로 그룹의 (양자화된) 스펙트럼 값 또는 모든 넌제로 (양자화된) 스펙트럼 값 그룹의 적어도 두 개 이상의 최상위 비트를 인코딩하도록 구성된다. 따라서, 모든 넌제로 (양자화된) 스펙트럼 값의 적어도 최상위 비트가 인코딩되어 일반적으로 양호한 청각적 인상을 초래할 수 있다는 것이 확실시된다.
바람직한 실시 예에서, 오디오 인코더는 모든 넌제로 (양자화된) 스펙트럼 값에 대한 최하위 비트를 제외한 모든 비트를 인코딩하도록 구성된다. 또한, 오디오 인코더는 비트 예산이 소진될 때까지 (예를 들어, 최저 주파수 스펙트럼 값으로 시작하여 더 높은 주파수 스펙트럼 값으로 진행하여) 스펙트럼 값에 대해 최하위 비트를 인코딩하도록 구성된다. 따라서, 양호한 청각적 인상이 달성될 수 있고, 비트 예산에 따라 가변 개수의 최하위 비트 만이 인코딩에서 생략될 것이다.
바람직한 실시 예에서, 오디오 인코더는 스펙트럼 값을 양자화하는 양자화 단계를 결정하고, 양자화된 스펙트럼 값의 인코딩을 위한 비트 요구를 결정하는 전역 이득 정보를 획득하도록 구성된다. 이러한 (전역) 이득 정보의 사용은 양자화 단계를 조정하는데 도움이 될 수 있음이 밝혀졌다. 그러나, 전역 이득 정보를 사용할 때 비트 요구를 미세 조정하는 것은 불가능하다는 것이 또한 인식되었다. 따라서, 일부 스펙트럼 값에 대해 최하위 비트의 인코딩을 선택적으로 생략하는 개념은 전역 이득 정보의 사용에 의해 야기되는 비트 요구의 조정에서 부정확성을 보상하기 위해 사용될 수 있다. 그러나, 전역 이득 정보의 사용과 본 명세서에 설명 된 인코딩 개념의 조합은 비교적 낮은 계산 복잡도를 가지며 여전히 오디오 품질과 비트 전송률 사이의 양호한 트레이드 오프를 허용하는 시스템을 생성하는 것으로 밝혀졌다. 특히, 주어진 고정 비트 전송률은 인코딩되어야 하는 최하위 비트 수를 유연하게 결정함으로써 전역 이득 정보의 낮은 복잡도 조정으로도 충분히 활용될 수 있다.
본 발명에 따른 실시 예는 입력 오디오 정보에 기초하여 인코딩된 오디오 정보를 제공하기 위한 오디오 인코더를 생성한다. 오디오 인코더는 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값을 획득하도록 구성된다. 오디오 인코더는 스펙트럼 값을 나타내는 인코딩된 정보를 획득하기 위해 적어도 복수의 스펙트럼 값을 인코딩하도록 구성된다. 오디오 인코더는 복수의 스펙트럼 값에 대한 각각의 심볼 코드를 사용하여 하나 이상의 최상위 비트를 인코딩하고, 하나 이상의 스펙트럼 값에 대한 하나 이상의 최하위 비트를 인코딩하도록 구성되며, 여기서 각각의 심볼 코드는 하나 이상의 스펙트럼 값에 대한 하나 이상의 최상위 비트 값을 나타낸다. 오디오 인코더는 이용 가능한 비트 예산이 저 주파수 범위에서 인코딩된 스펙트럼 값에 의해 소진되고 하나 이상의 최상위 비트가 인코딩되고 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해서는 최하위 비트가 인코딩되는 경우 고 주파수 범위에서 넌제로 스펙트럼 값의 인코딩이 (예를 들어, 완전히) 생략되는 제1 모드 사이와, 하나 이상의 최상위 비트와 관련된 하나 이상의 최하위 비트가 인코딩되는 반면, 하나 이상의 최상위 비트가 인코딩되고 더 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드 사이에서 전환가능하도록 구성된다. 오디오 인코더는 스펙트럼 값을 나타내는 인코딩된 정보를 사용하여 인코딩 된 오디오 정보를 제공하도록 구성된다.
이 오디오 인코더는 유사한 오디오 인코더 및 또한 유사한 오디오 디코더에 대해 위에서 언급한 고려 사항을 기반으로 한다. 특히, 오디오 인코더는 제1 모드와 제2 모드 사이에서 전환 가능하여, 상이한 인코딩 상황 및 비트 전송률 요건에 적응할 수 있다.
바람직한 실시 예에서, 오디오 인코더는 제2 모드에서 모든 넌제로 그룹의 스펙트럼 값 또는 모든 넌제로 스펙트럼 값 그룹의 하나 이상의 최상위 비트를 인코딩하도록 구성된다. 따라서, 양호한 청각적 인상을 성취할 수 있다.
바람직한 실시 예에서, 오디오 인코더는 제1 모드에서 동작할 때, 비트 예산이 충분하지 않아, 하나 이상의 스펙트럼 값 (예를 들어, 고 주파수 범위에서)이 스펙트럼 값의 인코딩에서 고려되지 않는 경우, 스펙트럼 값이 인코딩되는 주파수 범위를 제한하도록 구성된다. 따라서, 비트 예산에 의존하여, 주파수 범위의 선택적 제한은 제1 모드에서 사용되며, 주파수 범위의 제한은 비트를 절약할 수 있도로해준다.
바람직한 실시 예에서, 오디오 인코더는 제1 모드에서 동작할 때, 최대 주파수 값을 결정하고, 제1 모드에서 동작할 때 최대 주파수까지의 스펙트럼 값을 인코딩하고, 제1 모드에서 동작할 때, 스펙트럼 값이 넌제로인 경우에도 (또는 넌제로 최상위 비트를 갖는 경우에도) 최대 주파수를 초과하는 스펙트럼 값을 인코딩하지 않는다. 더욱이, 오디오 인코더는, 제1 모드에서 동작 할 때, 모든 스펙트럼 값을 인코딩하기 위한 비트 요구의 계산 또는 추정에 의존하여 최대 주파수 값을 선택하여, 인코딩될 다수의 스펙트럼 값이 계산 또는 예상되는 비트 예산을 초과하면 감소된다. 또한, 오디오 인코더는 제2 모드에서 동작할 때, 최대 주파수 값 (예를 들어, 실제 최대 주파수 값과 동일)을 결정하고, 제2 모드에서 동작할 때, 최대 주파수까지의 스펙트럼 값을 인코딩하고, 제2 모드에서 동작할 때, 인코딩되지 않은 최대 주파수 이상의 스펙트럼 값은 인코딩하지 않는다. 제2 모드에서 동작할 때, 최대 주파수 값은 모든 넌제로 스펙트럼 값 또는 모든 넌제로 그룹의 스펙트럼 값 중 적어도 하나의 최상위 비트가 인코딩되고 대부분의 제로 값인 스펙트럼 값은 인코딩되지 않도록 선택된다. 오디오 인코더는 다른 모드에서 최대 주파수 값을 선택하기 위한 여러 기준을 사용한다. 제1 모드에서, 최대 주파수 값은 비트 수요에 따라 선택되며, 비트 예산이 너무 작은 경우 넌제로 (양자화된) 스펙트럼 값은 인코딩되지 않는다. 한편, 제2 모드에서, 최대 주파수 값은 넌제로 값으로 양자화된 모든 스펙트럼 값에 대해 적어도 하나 이상의 최상위 비트가 인코딩되도록 선택된다. 따라서 약간의 예산 소진을 처리하기 위해 다른 개념이 사용된다. 제1 모드에서, 비트 예산의 소진은 최대 주파수 값을 감소시킴으로써 처리된다. 제2 모드에서, 비트 예산의 소진은 최상위 비트가 인코딩되는 하나 이상의 스펙트럼 값의 최하위 값의 인코딩을 생략함으로써 처리된다.
바람직한 실시 예에서, 오디오 인코더는 최대 주파수를 기술하는 정보를 인코딩 된 오디오 정보로 포함하도록 구성된다. 따라서, 오디오 디코더는 얼마나 많은 스펙트럼 값이 디코딩되어야 하는지를 안다. 최대 주파수를 기술하는 정보는 비트 예산의 소진으로 인한 인코딩된 (및 디코딩된) 스펙트럼 값의 수를 제한하는 것과 최대 주파수를 초과하는 모든 스펙트럼 값이 제로 (예를 들어, 절단 없이도 실재 제로)임을 알리는 데 사용될 수 있다.
바람직한 실시 예에서, 오디오 인코더는 이용 가능한 비트 전송률에 의존하여 제1 모드를 사용할지 또는 제2 모드를 사용할 지에 대한 모드 결정 (예를 들어, 제1 모드가 비교적 작은 비트 전송률에 사용되고 제2 모드는 비교적 높은 비트 전송률에 사용되도록)을 행하도록 구성된다.
높은 비트 전송률의 경우 비트 예산 소진을 처리하는 데 제2 모드가 더 적합하기 때문에 이러한 메커니즘이 유용하다. 대조적으로, 제1 모드는 때때로 비교적 낮은 비트 전송율의 경우에 제2 모드보다 더 나은 결과를 제공한다.
다른 바람직한 실시 예에서, 오디오 인코더는 다수의 스펙트럼 값 또는 최상위 비트 인코딩 단계에서 인코딩된 하나 이상의 최상위 비트에 부가하여, 비트 요구와 비트 예산에 따라 선택적으로 인코딩이 생략될 수 있는, 하나 이상의 최하위 비트를 포함하는 스펙트럼 값의 그룹에 따라, 제1 모드 또는 제2 모드 중 어느 것을 사용할 지에 대한 모드 결정을 구성하도록 구성된다. 이러한 개념은 제2 모드가 (양자화 후) 다수의 최하위 비트가 있는 경우에 가장 적합하기 때문에 유용하다. 이러한 다수의 최하위 비트는, 예를 들어, 높은 비트 전송률의 경우에 존재하며, 이 때 인코딩은 고해상도로 수행될 수 있다 (그리고 미세 양자화가 사용될 수 있다).
바람직한 실시 예에서, 오디오 인코더는 오디오 인코더가 제1 모드에서 동작하는지 또는 제2 모드에서 동작하는지를 나타내는 비트 스트림 플래그를 인코딩 된 오디오 정보에 포함하도록 구성된다. 따라서, 오디오 디코더는 어느 디코딩 모드를 사용해야하는지 알 수있다.
바람직한 실시 예에서, 오디오 인코더는 제1 모드에서 비트 위치가 최하위 비트와 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 임의의 스펙트럼 값과 연관된 최하위 비트를 연속적인 비트 시퀀스로 인코딩하도록 구성된다. 또한, 오디오 인코더는 제2 모드에서 비트 위치가 최하위 비트와 하나 이상의 최상위 비트 사이에 있는 중간 비트, 임의의 스펙트럼 값과 연관된 최하위 비트를 개별의 비트 시퀀스 또는 비트 시퀀스의 개별의 비연속적인 비트 시퀀스 (또는 비트 스트림 부분)로 인코딩하도록 구성된다. 따라서, 제1 모드에서 동작 할 때, 중간 비트 및 최하위 비트 모두를 나타내는 연속 비트 시퀀스가 존재한다. 대조적으로, 제2 모드에서 동작 할 때, 중간 비트 및 최하위 비트는 최하위 비트를 나타내는 시퀀스의 간단한 단축을 가능하게 하는, 별개의 시퀀스 (또는 공통 시퀀스의 개별 부분)로 제공된다. 따라서, 인코딩이 완료된 후에도 비트 예산에 대한 적응은 가능하다. 이는 비트 예산에 대한 적응을 용이하게 한다.
바람직한 실시 예에서, 오디오 인코더는, 제1 모드에서 동작할 때, 비트 위치가 최하위 비트와 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 최하위 비트와 관련된 비트 시퀀스에서 스펙트럼 값과 연관된 부호 정보를 인코딩하도록 구성된다.
또한, 오디오 인코더는 제2 모드에서 동작할 때, 비트 위치가 최하위 비트와 하나 이상의 최상위 비트 사이에 있는 중간 비트와 관련된 비트 시퀀스에서, 또는 0에서 최하위 비트 값 만큼 벗어난 스펙트럼 값에 대한 부호 정보가 최하위 비트 (및 부호 정보)와 관련된 비트 시퀀스에서 인코딩되도록 하는 최하위 비트 (및 부호 정보)와 관련된 비트 시퀀스에서, 스펙트럼 값과 연관된 부호 정보를 선택적으로 인코딩하도록 구성된다. 따라서, 부호 정보는 최하위 비트 정보가 평가될 때만 필요한 경우, 부호 정보는 최하위 비트 (및 부호 정보)와 연관된 비트 시퀀스 내에 배치된다. 따라서, 인코딩된 오디오 표현에 항상 포함되는 정보, 즉 중간 비트 및 부호 정보와 연관된 비트 시퀀스는 최하위 비트 정보가 생략되는 경우 불필요한 정보를 포함하지 않는다. 이는 비트 전송률의 확장성을 말해준다.
본 발명에 따른 실시 예는 입력 오디오 정보에 기초하여 인코딩된 오디오 정보를 제공하기위한 오디오 디코더를 생성한다. 오디오 인코더는 (예를 들어, MDCT 변환을 사용하여) 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값을 획득하도록 구성된다. 오디오 인코더는 스펙트럼 값을 나타내는 인코딩된 정보를 획득하기 위해 적어도 복수의 스펙트럼 값을 인코딩하도록 구성된다. 오디오 인코더는 스펙트럼 값을 양자화하는 양자화 단계를 결정하고, 양자화된 스펙트럼 값을 인코딩하기 위한 비트 요구를 결정하는 (전역) 이득 정보를 획득하도록 구성된다. 오디오 인코더는 산술 인코딩을 사용하여 복수의 스펙트럼 값에 대한 각각의 심볼 코드를 사용하여 하나 이상의 최상위 비트를 인코딩하고, 하나 이상의 스펙트럼 값에 대해 하나 이상의 최하위 비트를 인코딩하도록 구성되며, 각각의 심볼 코드는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값당 하나 이상의 최상위 비트를 나타낸다. 오디오 인코더는 이용 가능한 비트 예산에 의존하여 하나 이상의 스펙트럼 값과 관련된 하나 이상의 최하위 비트를 인코딩하도록 구성되어, 하나 이상의 스펙트럼 값과 관련된 하나 이상의 최하위 비트가 인코딩되고, 하나 이상의 최상위 비트가 인코딩되고 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는다. 또한, 오디오 인코더는 스펙트럼 값을 나타내는 인코딩된 정보를 사용하여 인코딩된 오디오 정보를 제공하도록 구성된다.
이 오디오 인코더는 이득 정보 (또는 전역 이득 정보)의 사용이 양자화를 정의하는데 유용하다는 발견에 기초한다. 또한, 최하위 비트를 선택적으로 인코딩하는 개념은 이 개념과 함께 매우 효율적이다. 자세한 내용은 위의 설명을 참조한다.
바람직한 실시 예에서, 오디오 인코더는 스펙트럼 값의 그룹의 에너지 (예를 들어, MDCT 계수)에 기초하여 이득 정보의 제1 추정치를 획득하도록 구성된다. 또한, 오디오 인코더는 이득 정보의 제1 추정치를 사용하여 스펙트럼 값 세트 (예를 들어, MDCT 스펙트럼)를 양자화하도록 구성된다. 또한, 오디오 인코더는 이득 정보의 제1 추정치를 이용하거나 개선된 이득 정보를 이용하여 양자화된 스펙트럼 값 세트를 인코딩하는데 필요한 다수의 비트를 계산 또는 추정하도록 구성된다. 또한, 오디오 인코더는 필요한 비트 수에 따라 제1 모드를 사용할지 또는 제2 모드를 사용할지를 결정하도록 구성된다. 따라서, 양자화에 관한 결정 및 또한 어느 모드를 사용할 것인지에 대한 결정이 효율적인 방식으로 이루어질 수 있다. 반복적인 절차가 선택되어야 하는지에 따라, 스펙트럼 값의 세트를 인코딩하는데 필요한 비트의 수는 이득 정보의 제1 추정에 의존하는 양자화를 이용하거나 또는 반복적으로 개선된 이득 정보에 의존하는 양자화를 이용하여 추정될 수 있다. 따라서, 양자화 정확도 결정의 복잡성은 상당히 작게 유지될 수 있다.
바람직한 실시 예에서, 오디오 인코더는 전술한 제1 모드와 제2 모드 사이에서 전환 가능하도록 구성된다. 특히, 오디오 인코더는 필요한 비트 수에 따라 그리고 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 스펙트럼 값의 수를 나타내는 기준에 따라 제1 모드를 사용할지 또는 제2 모드를 사용할지를 결정하도록 구성된다. 특히, 사용되는 이득 정보 (제1 추정 또는 개선된 이득 정보)를 결정한 후에 결정될 수 있는 필요한 비트 수는 비트 예산과 비교될 수 있고, 이 비교에 따라 그리고 하나 이상의 최상위 비트보다 많은 비트를 구성하는 스펙트럼 값의 수를 나타내는 기준에 따라 어떤 모드가 사용되는지에 대한 결정이 이루어진다. 따라서, 하나 이상의 최상위 비트 외에 하나 이상의 하위 비트를 포함하는 많은 스펙트럼 값이 있는 경우, 제2 모드가 사용될 수있다.
바람직한 실시 예에서, 오디오 인코더는 전술 한 제1 모드와 제2 모드 사이에서 전환 가능하도록 구성된다. 이 경우, 오디오 인코더는 필요한 비트 수에 따라 그리고 비트 전송률에 따라 제1 모드를 사용할지 또는 제2 모드를 사용할지를 결정하도록 구성되어, 비트 전송률이 임계치의 비트 전송률 보다 크거나 같은 경우 그리고 스펙트럼 값 세트를 인코딩하는데 필요한 계산되거나 추정된 비트 수가 비트 예산보다 높은 경우에 제2 모드가 선택된다. 상기 경우에 제2 모드의 사용이 특히 도움이 되는 것으로 나타났다.
더욱이, 오디오 인코더는 또한 이전에 언급된 다른 기능들에 의해 보완될 수있다. 앞에서 설명한 동일한 장점도 적용된다.
본 발명에 따른 다른 실시 예는 인코딩된 오디오 정보에 기초하여 디코딩된 오디오 정보를 제공하는 방법 및 입력 오디오 정보에 기초하여 인코딩된 오디오 정보를 제공하는 방법을 생성한다. 이들 방법은 각각의 오디오 디코더 및 각각의 오디오 인코더에 대응하며, 해당 오디오 디코더 또는 오디오 인코더와 관련하여 본 명세서에서 설명된 특징 및 기능 중 임의의 것에 의해 보충될 수 있다.
본 발명에 따른 추가의 실시 예는 본 명세서에 기술된 임의의 방법을 수행하기 위한 컴퓨터 프로그램을 포함한다.
추가 실시 예는 비트 스트림을 포함하는데, 이는 위에서 설명된 것과 동일한 고려 사항에 기초하고 본 명세서에 언급된 바와 같이 인코딩 및 디코딩될 정보 아이템 중 임의의 것에 의해 보충될 수 있다.
본 발명에 따른 실시 예는 첨부한 도면을 참조하여 이하 설명될 것이다:
도 1은 본 발명의 일 실시 예에 따른 오디오 디코더의 개략적인 블록도를 도시한다;
도 2는 본 발명의 다른 실시 예에 따른 오디오 디코더의 개략적인 블록도를 도시한다;
도 3은 본 발명의 일 실시 예에 따른 오디오 인코더의 개략적인 블록도를 도시한다;
도 4는 본 발명의 일 실시 예에 따른 오디오 인코더의 개략적인 블록도를 도시한다;
도 5는 본 발명의 일 실시 예에 따른 오디오 인코더의 개략적인 블록도를 도시한다;
도 6은 본 발명의 실시 예에 따른 다른 오디오 인코더의 개략적인 블록도를 도시한다;
도 7은 본 발명의 다른 실시 예에 따른 오디오 디코더의 개략적인 블록도를 도시한다;
도 8은 본 발명의 실시 예에 따른 오디오 인코더의 기능의 흐름도를 도시한다;
도 9는 본 발명의 실시 예에 따른 오디오 디코더의 기능의 흐름도를 도시한다;
도 10a-10f는 본 발명의 일 실시 예에 따른, 오디오 인코더의 기능의 의사 프로그램 코드 표현을 도시한다;
도 11a-11d는 본 발명의 일 실시 예에 따른, 오디오 디코더의 기능의 의사 프로그램 코드 표현을 도시한다;
도 12는 종래의 오디오 인코더/디코더에 의해 생성된 신호 대 잡음 비의 그래프 표현을 도시한다;
도 13은 본 발명에 따른 오디오 인코더/디코더에 의해 제공되는 신호 대 잡음 비의 그래프 표현을 도시한다:
도 14-18은 본 발명의 실시 예에 따른, 오디오 인코딩 및 오디오 디코딩 방법의 흐름도를 도시한다.
1) 도 1에 따른 오디오 디코더
도 1은 본 발명의 일 실시 예에 따른 오디오 디코더(100)의 개략적인 블록도를 도시한다.
오디오 디코더(100)는 인코딩된 오디오 정보(110)를 수신하고 그에 기초하여 디코딩된 오디오 정보(112)를 제공하도록 구성된다. 오디오 디코더(100)는 스펙트럼 값을 나타내는 인코딩된 정보(130)에 기초하여 디코딩된 스펙트럼 값(132)을 획득하도록 구성되고, 이 때 인코딩된 정보(130)는 인코딩된 오디오 정보(110)의 일부일 수 있다. 또한, 인코딩된 오디오 정보(110)는 잡음 성형 정보, 제어 정보 등과 같은 추가 정보를 선택적으로 포함할 수 있다.
오디오 디코더는 산술 디코딩을 사용하여 스펙트럼 값의 세트에 대해 각각의 심볼 코드 (예를 들어, 최상위 비트의 산술 인코딩 표현의 심볼 코드)에 기초하여 스펙트럼 값 당 (예를 들어, 양자화된 스펙트럼 값 당) 두 개 이상의 최상위 비트를 공동으로 디코딩하도록 구성된다. 각각의 심벌 코드는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타낼 수 있다. 산술적으로 인코딩된 심벌 코드는 예를 들어, 스펙트럼 값을 나타내는 인코딩된 정보(130)의 일부일 수 있다.
더욱이, 오디오 디코더는 이용 가능한 최하위 비트 정보의 양에 따라 하나 이상의 스펙트럼 값과 관련된 하나 이상의 최하위 비트를 디코딩하도록 구성된다. 최하위 비트의 표현으로 간주될 수 있은 최하위 비트 정보는 또한 스펙트럼 값을 나타내는 인코딩된 정보(130)의 일부일 수 있다.
특히, 오디오 디코더는 하나 이상의 스텍트럼 값과 연관된 하나 이상의 최하위 비트를 최하위 비트 정보가 얼마나 이용 가능한지에 따라서 디코딩하도록 구성되므로, 하나 이상의 (양자화된) 스펙트럼 값과 연관된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트 보다 더욱 많은 비트를 포함하는 하나 이상의 다른 스텍트럼 값에 대해서는 최하위 비트가 디코딩되지 않는다.
다시 말해, 오디오 디코더는 두 개 이상의 최상위 비트가 디코딩된 스펙트럼 값 중 일부에 대해서 최하위 비트를 디코딩하도록 구성될 수 있고, 또한 오디오 디코더는 하나 이상의 최상위 비트가 디코딩된 일부의 다른 스텍트럼 값에 대해서는 하나 이상의 최하위 비트의 디코딩을 생략할 수 있다.
또 다르게 말하면, 오디오 디코더는 예를 들어, 최상위 비트가 디코딩된 스펙트럼 값의 실제 서브셋을 개선할 수 있고, 여기서 최소 유효 비트에 의해 개선되는 스텍트럼 값의 개수는 최소 유효 비트 정보가 얼마나 이용 가능한지에 따라 (예를 들어, 비트 예산 제약의 관점에서 오디오 디코더에 의해 인코딩된 오디오 정보(110)에 얼마나 많은 최하위 비트 정보가 포함되는지) 달라진다.
오디오 디코더(100)는 선택적으로 개별적으로 또는 조합하여, 본 명세서에 설명된 특징, 기능 및 세부 사항 중 어느 하나에 의해 보충될 수 있다.
2) 도 2에 따른 오디오 디코더
도 2는 본 발명의 실시 예에 따른 오디오 디코더(200)의 개략적인 블록도를 도시한다.
오디오 디코더(200)는 오디오 정보(210)를 수신 및 인코딩하고, 그에 기초하여 디코딩된 오디오 정보(212)를 제공하도록 구성된다.
인코딩된 오디오 정보(210)는 예를 들어 스펙트럼 값을 나타내는 인코딩된 정보(230)를 포함할 수 있고, 이 때, 스펙트럼 값을 나타내는 인코딩된 정보(230)는 예를 들어, 하나 이상의 최상위 비트를 나타내는 산술적으로 인코딩된 심벌 코드 및 최소 유효 비트와 부호의 표현을 포함할 수 있다. 인코딩된 오디오 정보(210)는 선택적으로 예를 들어, 잡음 성형 정보의 제어 정보와 같은, 추가 정보를 포함할 수 있다. 선택적인 추가 정보가 또한 디코딩 프로세스에서 사용될 수 있지만, 본 발명에 필수적인 것은 아니다.
오디오 디코더는 스펙트럼 값을 나타내는 인코딩된 정보(230)에 기초하여 디코딩된 스펙트럼 값(232)을 획득하도록 구성된다.
오디오 디코더는 복수의 스펙트럼 값에 대해 각각의 심볼 코드에 기초하여(예를 들어, 산술적으로 인코딩된 심볼 코드에 기초하여) 하나 이상의 최상위 비트를 디코딩하고, 하나 이상의 스텍트럼 값에 대해 하나 이상의 최하위 비트를 디코딩하도록 구성된다. 예를 들어, 오디오 디코더는 인코딩된 정보(130)에 포함될 수 있는 최하위 비트의 표현 및 산술적으로 인코딩된 심벌 코드를 사용할 수 있다.
오디오 디코더(200)는 고 주파수 범위의 스펙트럼 값들의 디코딩이 인코더로부터의 시그널링에 응답하여 생략되고 (예를 들어, 완전히 생략되고) 하나 이상의 최상위 비트가 디코딩되고 최상위 비트 보다 더 많은 비트를 포함하는 모든 스텍트럼 값에 대해 최하위 비트가 디코딩되는 제1 모드와, 하나 이상의 스펙트럼 값과 연관된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 최상위 비트 보다 더 많은 비트를 포함하는 하나 이상의 다른 스텍트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드 사이에서 전환 가능하도록 구성된다. 다시 말해서, 제1 모드에서, 오디오 디코더(200)는 예를 들어, 고 주파수 범위 (예를 들어, 인코더에서 측정된 주파수 이상)에서 스펙트럼 값의 디코딩을 생략하면서 저 주파수 범위 (예를 들어, 오디오 인코더에 의해 결정되고 시그널링되는 주파수까지)에서 스펙트럼 값만을 디코딩할 수 있다. 그러나, 제1 모드에서, 스펙트럼 값의 전체 숫자 표현은 저 주파수 범위의 모든 스펙트럼 값에 대해 디코딩될 수 있어서, 최상위 비트, 임의의 중간 비트 및 최하위 비트는 저 주파수 범위에서 모든 스텍트럼 값에 대해 디코딩된다. 반대로, 제2 모드에서, 오디오 디코더는 하나 이상의 최상위 비트가 디코딩되는 일부 스펙트럼 값에 대해서는 최하위 비트만을 디코딩할 수 있지만, 하나 이상의 최상위 비트가 디코딩되는 모든 스펙트럼 값에 대해서는 그렇지 않다. 따라서, 제2 모드에서, 최하위 비트는 하나의 주파수 영역에서 디코딩될 수 있지만 다른 주파수 영역(예를 들어, 고 주파수 영역)에서는 디코딩되지 않을 수 있다.
더욱이, 오디오 디코더(200)는 스펙트럼 값(232)을 사용하여 디코딩된 오디오 정보(212)를 제공하도록 구성된다. 예를 들어, 오디오 디코더(200)는 디코딩된 스펙트럼 값들(232)의 추가 처리를 포함할 수 있지만, 그 세부 사항들은 본 발명의 요지와 특히 관련되지 않는다.
더욱이, 오디오 디코더(200)는 개별적으로 또는 조합하여, 본 명세서에 설명된 특징, 기능 및 세부 사항 중 어느 하나에 의해 보충될 수 있음에 유의해야 한다.
3) 도 3에 따른 오디오 인코더
도 3은 본 발명의 실시 예에 따른 오디오 인코더(300)의 개략적인 블록도를 도시한다. 오디오 인코더(300)는 입력 오디오 정보(310)를 수신하도록 구성되고 인코딩된 오디오 정보(312) (인코딩된 오디오 정보(110, 210)에 대응할 수 있음)를 제공할 수 있다. 오디오 인코더(300)는 입력 오디오 정보(310)의 오디오 콘텐츠를 나타내는 스펙트럼 값(330)을 획득하도록 구성된다. 예를 들어, 오디오 디코더(300)는 스텍트럼 값(330)을 획득하기 위해서, 예를 들어, 시간 도메인-스텍트럼 도메인 변환 (예를 들어, MDCT) 및/또는 (시간 도메인 및/또는 스펙트럼 도메인에서의) 스펙트럼 성형과 같은, 임의의 사전 처리를 포함할 수 있다.
스펙트럼 값(330)은 예를 들어, 부호 있는 이진수 표현의 양자화된 (바람직하게는 정수) 값일 수 있다. 또한, 오디오 인코더는 스펙트럼 값들(330)을 나타내는 인코딩된 정보(350)를 얻기 위해, 적어도 복수의 스펙트럼 값들(330)을 인코딩하도록 구성된다. 오디오 인코더(300)는 예를 들어, 스펙트럼 값을 나타내는 인코딩된 정보(350)를 사용하여 인코딩된 오디오 정보(312)를 제공하도록 구성될 수 있다. 그러나, 오디오 인코더(300)는 또한 인코딩된 오디오 정보(312)에 포함되는 제어 정보 또는 잡음 성형 정보와 같은, 추가 정보를 선택적으로 제공할 수 있다 (그러나 그 세부 사항은 본 발명에 특별히 관련되지는 않는다).
오디오 인코더(300)는 산술 인코딩을 사용하여 스펙트럼 값의 세트에 대해 각각의 심볼 코드를 획득하기 위해, 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동으로 인코딩하도록 구성된다. 각각의 심벌 코드는 예를 들어, 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타낼 수 있다.
오디오 인코더는 비트 예산에 의존하여 하나 이상의 스펙트럼 값(330)과 관련된 하나 이상의 최하위 비트를 인코딩하도록 구성되므로, 하나 이상의 스펙트럼 값과 연관된 하나 이상의 최하위 비트가 인코딩되는 반면, 두 개 이상의 최상위 비트가 인코딩되고 두 개 이상의 최상위 비트보다 더 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않도록 한다.
예를 들어, 오디오 인코더(300)는 저 주파수 부분의 스펙트럼 값에 대해서는 인코딩된 최하위 비트를 제공할 수 있지만, 고 주파수 부분의 스펙트럼 값에는 제공하지 않을 수 있다. 최하위 비트가 어떤 스펙트럼 값에 제공되는지를 선택하여, 비트 수를 비트 예산에 맞출 수 있다.
더욱이, 도 3에 따른 오디오 인코더는 여기에 기술된 특징, 기능 및 세부 사항 중 하나를 개별적으로 또는 조합하여 사용하여 보완될 수 있음에 유의해야 한다.
4) 도 4에 따른 오디오 인코더
도 4는 본 발명의 실시 예에 따른 오디오 인코더(400)의 개략적인 블록도를 도시한다.
오디오 인코더(400)는 입력 오디오 정보(410)를 수신하고 그에 기초하여 인코딩된 오디오 정보(412)를 제공하도록 구성된다. 오디오 인코더는 입력 오디오 정보(410)의 오디오 컨텐트를 나타내는 스펙트럼 값(330) (예를 들어, 부호가 있는 이진수 표현으로 양자화된 (바람직하게는 정수) 스펙트럼 값일 수 있음)을 획득하도록 구성된다. 예를 들어, 시간 도메인-주파수 도메인 변환 및/또는 잡음 성형을 포함할 수 있는 선택적 사전 처리를 이용할 수 있다. 더욱이, 양자화는 스펙트럼 값(430)을 얻기 위해 선택적으로 사용될 수 있다.
오디오 인코더는 또한 스펙트럼 값을 나타내는 인코딩된 정보(450)를 얻기 위해, 적어도 복수의 스펙트럼 값(430)을 인코딩하도록 구성된다. 오디오 인코더는 복수의 스펙트럼 값에 대한 각각의 심볼 코드를 사용하여 (스펙트럼 값의) 하나 이상의 최상위 비트를 인코딩하고 하나 이상의 스펙트럼 값에 대해 하나 이상의 최하위 비트를 인코딩하도록 구성된다. 각각의 심볼 코드는 예를 들어, 하나 이상의 스펙트럼 값에 대한 하나 이상의 최상위 비트 값을 나타낼 수 있다. 오디오 인코더는 이용 가능한 비트 예산이 저 주파수 범위에서의 스펙트럼 값의 인코딩에 의해 소진되는 경우 고 주파수 범위에서 넌제로 스텍트럼 값의 인코딩이 생략되고 (예를 들어, 완전히 생략되고) 하나 이상의 최상위 비트가 인코딩되고 최상위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩되는 제1 모드와, 하나 이상의 스펙트럼 값과 연관된 하나 이상의 최상위 비트가 인코딩되는 반면 하나 이상의 최상위 비트가 인코딩되고 하나 이상의 최상위 비트 보다 더 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드 사이에서 전환 가능하도록 구성될 수 있다.
다시 말해서, 오디오 인코더는 예를 들어, 제1 모드에서 비교적 적은 수를 인코딩할 수 있지만 (예를 들어, 모든 넌제로 스펙트럼 값은 아님), 인코딩된 스펙트럼 값은 (최하위 비트를 포함하여) 완전 정확도로 인코딩된다. 반대로, 제2 모드에서, 오디오 인코더는 예를 들어, 모든 넌제로 스텍트럼 값의 적어도 최상위 비트를 인코딩할 수 있지만, (예를 들어, 대응하는 최하위 비트를 인코딩하지 않고) 감소된 해상도로 스펙트럼 값의 일부를 인코딩할 수 있다. 따라서, 인코더는 예를 들어, 두 모드 사이에서 전환 가능하여 비트 예산에 비트 수를 적응시키기 위한 여러 다른 메커니즘을 제공할 수 있으며, 이 때 제1 모드에서는 비트 수의 감소를 위해 고 주파수 범위에서 스펙트럼 값의 인코딩의 생략을 필요로 하며, 제2 모드에서는 (최상위 비트만 및 가능하게 일부 중간 비트가 인코딩되어, "부분적으로 인코딩ㄷ되는") 일부 스텍트럼 값에 대해서는 최하위 비트의 생략을 필요로 한다.
도 4에 따른 오디오 인코더(400)는 개별적으로 또는 조합하여 본 명세서에 설명된 임의의 특징, 기능 및 세부 사항에 의해 보충될 수 있다.
5) 도 5에 따른 오디오 인코더
도 5는 본 발명의 실시 예에 따른 오디오 인코더(500)의 개략적인 블록도를 도시한다. 오디오 인코더(500)는 입력 오디오 정보(510)를 수신하고 그에 기초하여 인코딩된 오디오 정보(512)를 제공하도록 구성된다. 오디오 인코더는 입력 오디오 정보(510)의 오디오 컨텐츠를 나타내는 스펙트럼 값(530)을 획6득하도록 구성된다. 예를 들어, 오디오 인코더는 스펙트럼 값(530)을 획득하기 위해 수정된 이산 코사인 변환(MDCT)을 사용할 수 있다. 일반적으로, 오디오 인코더(500)는 선택적으로 시간 도메인-주파수 도메인 변환 및 및 잡음 성형과 같은, 임의의 유형의 사전 처리를 이용할 수 있고, 오디오 인코더(500)는 선택적으로 양자화를 사용할 수도 있다. 예를 들어, 스펙트럼 값(530)은 양자화된 스펙트럼 값일 수 있거나 잡음 성형 및 양자화된 MDCT 계수일 수 있다.
오디오 인코더는 스펙트럼 값을 나타내는 인코딩된 정보(550)를 얻기 위해, 적어도 복수의 스펙트럼 값(530)을 인코딩하도록 구성된다. 인코딩된 정보(550)는 인코딩된 오디오 정보(512)의 일부일 수 있다. 그러나, 인코딩된 오디오 정보(512)는 또한 선택적으로 제어 정보 또는 스펙트럼 성형 정보와 같은, 추가 정보를 포함할 수 있다.
오디오 인코더(500)는 또한 이득 정보 (예를 들어, 전역 이득 정보)를 취득하도록 구성되며, 이는 스펙트럼 값을 양자화하는 양자화 단계를 결정하고, 양자화된 스펙트럼 값을 인코딩하기 위한 비트 요구를 결정한다.
오디오 인코더(500)는 산술 인코딩을 사용하여 복수의 (양자화된) 스펙트럼 값에 대한 각각의 심볼 코드를 사용하여 (양자화된 스펙트럼 값의) 하나 이상의 최상위 비트를 인코딩하고, 하나 이상의 (양자화된) 스펙트럼 값에 대해 하나 이상의 최하위 비트를 인코딩하도록 구성된다. 각각의 심벌 코드는 예를 들어, 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 하나 이상의 최상위 비트를 나타낼 수 있다.
오디오 인코더는 이용 가능한 비트 예산에 따라 하나 이상의 (양자화된) 스펙트럼 값과 연관된 하나 이상의 최하위 비트를 인코딩하도록 구성되므로, 하나 이상의 스펙트럼 값과 연관된 하나 이상의 최하위 비트가 인코딩되는 한편, 하나 이상의 최상위 비트가 인코딩되고 하나 이상의 최상위 비트 보다 더 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않도록 한다. 예를 들어, 오디오 인코더는 일부 스펙트럼 값에 대해 인코딩된 최하위 비트만을 제공할 수 있는 반면, 최하위 비트 개선으로 이익을 얻는 다른 스펙트럼 값에 대해서는 최하위 비트 정보가 제공되지 않는다.
또한, 오디오 인코더(500)는 스펙트럼 값을 나타내는 인코딩된 정보(550)를 사용하여 인코딩된 오디오 정보(512)를 제공하도록 구성된다.
오디오 인코더(500)는 개별적으로 또는 조합하여 본 명세서에 설명된 특징, 기능 및 세부 사항 중 어느 하나에 의해 보충될 수 있음에 유의해야 한다.
6) 도 6에 따른 오디오 인코더
도 6은 본 발명의 일 실시 예에 따른 오디오 인코더의 개략적인 블록도를 도시한다.
도 6에 따른 오디오 인코더는 전체적으로 600으로 나타낸다.
오디오 인코더(600)는 입력 오디오 정보(610)를 수신하고 그에 기초하여 인코딩된 오디오 표현(612)을 제공하도록 구성된다.
오디오 인코더(600)는 선택적인 사전 처리(620)를 포함할 수 있으며, 이는 입력 오디오 신호에 대한 몇 유형의 사전 처리 (예를 들어, 필터링, 대역폭 제한, 시간 영역 잡음 성형 등)를 적용할 수 있다.
오디오 인코더(600)는, 예를 들어, 저 지연 수정된 이산 코사인 변환과 같이, 수정된 이산 코사인 변환 또는 유사한 변환을 실행할 수 있는 시간 도메인-스펙트럼 도메인 변환(630)을 선택적으로 포함할 수 있다. 시간 도메인-스펙트럼 도메인 변환(630)은 예를 들어, 입력 오디오 정보(610) 또는 그 사전 처리된 버전(622)을 수신하고 스펙트럼 값(632)을 제공할 수 있다.
오디오 인코더(600)는 스펙트럼 값들(632)을 수신하고, 예를 들어 잡음 성형을 수행할 수 있는 (추가의) 사전 처리를 선택적으로 포함할 수 있다. 예를 들어, (추가의) 사전 처리(640)는 스펙트럼 노이즈 성형 및/또는 시간적 잡음 성형을 수행할 수 있다. 선택적으로, 사전 처리(640)는 예를 들어, (예를 들어, 음성 인식학적인 모델에 의해 결정될 수 있는) 주파수 대역과의 음성 인식학적인 관련에 따라 상이한 주파수 대역 ("스케일 팩터 대역")을 스케일링하기 위해 스케일 팩터를 적용할 수 있다. 따라서, 사전 처리된 스펙트럼 값(642)이 획득될 수 있다.
오디오 인코더(600)는 선택적으로 예를 들어, 스펙트럼 값(632) 또는 사전 처리된 스펙트럼 값(642)을 스케일링할 수 있는 스케일링(650)을 포함할 수 있다. 예를 들어, 스케일링(650)은 전역 이득을 사용하여 스펙트럼 값(632) 또는 사전 처리된 스펙트럼 값(642)을 스케일링하여, 스케일링된 스펙트럼 값(652)을 제공할 수 있다.
오디오 인코더(600)는 또한 스펙트럼 값(632), 사전 처리된 스펙트럼 값(642) 또는 스케일링된 스펙트럼 값(652)을 수신할 수 있는 양자화 (또는 양자화기)(660)를 포함한다. 양자화(660)는 예를 들어, 스펙트럼 값(632) 또는 사전 처리된 스펙트럼 값(642) 또는 스케일링된 스펙트럼 값(652)을 양자화하여, 예를 들어 부호가 있는 정수 값일 수 있고 예를 들어, 이진 표현 (예를 들어, 2의 보수 표현)으로 표현될 수 있는, 양자화된 스펙트럼 값(662)을 취득할 수 있다. 양자화된 스펙트럼 값(662)은 예를 들어, 미리 정해진 수 256, 512, 1024 또는 2048 개의 양자화된 스펙트럼 값이 프레임 마다 제공될 수 있으며, 이 때 양자화된 스펙트럼 값에는 상이한 주파수가 관련된다.
인코더(600)는 또한 양자화된 스펙트럼 값(662(Xq))을 수신하고 그에 기초하여 (양자화된) 스펙트럼 값(672)을 나타내는 인코딩된 정보를 제공할 수 있는, 인코딩(670)을 포함할 수 있다.
양자화된 스펙트럼 값들(662)은 스펙트럼 값들(330, 430, 530)에 대응할 수 있고 스펙트럼 값들을 나타내는 인코딩된 정보(672)는 스펙트럼 값들을 나타내는 인코딩된 정보(350, 450, 550)에 대응할 수 있음에 유의해야 한다. 더욱이, 인코딩(670)은 예를 들어, 인코더(300, 400, 500)와 관련하여 설명된 기능을 수행할 수 있음에 유의해야 한다. 그러나, 인코딩(670)은 또한 (예를 들어, 도 8을 참조하여) 다음에 설명된 기능, 또는 상기 기능의 적어도 일부를 포함할 수 있다.
오디오 인코더(600)는 또한 선택적으로 사후 처리를 인코딩된 정보(672)에 적용할 수 있는, 사후 프로세싱(680)을 포함한다.
따라서, 전형적으로 인코딩된 정보(672)를 포함하는 인코딩된 표현(612)이 제공된다. 단, 인코딩된 오디오 표현(612)은 제어 정보 및 잡음 성형에 관한 정보 (스케일 팩터 정보, 선형 예측 계수, 등)과 같은, 부가의 정보를 포함한다. 인코딩된 오디오 표현은 또한 선택적으로 전역 이득 정보 및/또는 인코딩 모드 정보/디코딩 모드 정보 및/또는 "lastnz" 정보를 포함할 수 있다.
결론적으로, 여기에 개시된 스펙트럼 값의 인코딩에 대한 개념은 예를 들어 오디오 인코더(600)에서 구현될 수 있으며, 본 명세서에서 설명된 스케일 팩터 인코딩의 특징 중 일부나 전부가 오디오 인코더(600)에서 실행될 수 있다 .
7) 도 7에 따른 오디오 디코더
도 7은 본 발명의 실시 예에 따른 오디오 디코더(700)의 개략적인 블록도를 도시한다. 오디오 디코더(700)는 인코딩된 오디오 정보(710) (예를 들어, 인코딩된 오디오 표현(612)에 대응할 수 있음)를 수신하도록 구성되고, 그에 기초하여 디코딩된 오디오 정보(712)를 제공할 수 있다. 오디오 인코더(700)는 예를 들어, 인코딩된 오디오 정보 또는 그 일부를 수신하고, 이를 기초로 양자화된 스펙트럼 값(722)(Xq로도 나타냄)을 제공하는 디코딩(720)을 포함한다. 예를 들어, 디코딩(720)은 이진 표현 (예를 들어, 2의 보수 표현)으로 부호가 있는 정수 값을 제공할 수 있다.
오디오 디코더(700)는 선택적으로 양자화된 스펙트럼 값을 수신하여 역 양자화를 수행할 수 있는, 역 양자화기(730)를 포함한다. 예를 들어, 역 양자화 기(730)는 역 양자화에 의해 수행된 맵핑을 조정하기 위해 전역 이득 정보를 사용할 수 있다.
오디오 디코더(700)는 역 양자화기에 의해 제공된 역 양자화된 스펙트럼 값(732)을 수신하여 스케일링을 수행할 수 있는, 스케일링(740)을 선택적으로 포함하여, 역 양자화 및 스케일링된 스펙트럼 값(742)을 취득할 수 있다. 스케일링은 선택적으로 전역 이득에 의존할 수 있다.
오디오 디코더(700)는 역 양자화된 스펙트럼 값(730) 또는 역 양자화 및 스케일링된 스펙트럼 값(742)를 수신하여 스펙트럼 성형을 수행할 수 있는 사후 처리(750)를 포함한다. 예를 들어, 스펙트럼 성형은 스펙트럼 잡음 성형일 수 있고/있거나 스케일 팩터를 사용하는 상이한 주파수 대역의 스케일링에 기초할 수 있고/있거나 선형 예측 계수에 기초할 수 있다 (스펙트럼 성형을 제어하는 정보는 인코딩된 오디오 정보에 포함될 수 있음).
오디오 디코더(700)는 또한 선택적으로 스펙트럼 도메인-시간 도메인 전환(760)을 포함할 수 있으며, 이는 사후 처리(750)에 의해 제공된, 역 양자화 스펙트럼 값(732), 역 양자화 및 스케일링된 스펙트럼 값(742) 또는 사후 처리된 (예를 들어, 스텍트럼 성형된) 스텍트럼 값(752)을 수신할 수 있다. 스펙트럼 도메인-시간 도메인 변환은, 예를 들어, 역 수정된 이산 코사인 변환, 또는 저 지연 역 수정된 코사인 변환, 또는 임의의 다른 스펙트럼 도메인-시간 도메인 변환을 실행하여, 스펙트럼 도메인-시간 도메인 변환에 의해 수신된 입력 정보에 기초하여 시간 도메인 오디오 표현(762)을 취득할 수 있다.
시간 도메인 오디오 표현(762)은 예를 들어, 하나 이상의 사후 처리 단계를 수행할 수 있고, 또한 (예를 들어, LPC 필터링을 사용하여, 스펙트럼 도메인에서 스펙트럼 성형이 실행되지 않는 경우) 시간 도메인 스펙트럼 성형을 실행할 수 있는, (선택적인) 사후 처리(770)에 입력될 수 있다.
따라서, 디코딩된 오디오 정보(712)는 스펙트럼 도메인-시간 도메인 변환(762)의 출력에 기초하여 제공될 수 있고, 일부 유형의 사후 처리 및/또는 프레임 링크 (예를 들어, 오버랩 가산 동작)를 이용하여 취득될 수 있다.
결론적으로, 오디오 디코더(700)는 일부 오디오 디코딩 기능을 수행할 수 있는데, 예를 들어 잡음 성형 또는 스펙트럼 성형에 관한 세부 사항은 구현 마다 상당히 달라질 수 있다. 스펙트럼 성형 또는 잡음 성형은 스펙트럼 도메인에서 (즉, 스펙트럼 도메인-시간 도메인 변환 이전) 및/또는 시간 도메인에서 (예를 들어, 스펙트럼 도메인-시간 도메인 변환 이후) 실행될 수 있다.
그러나, 인코딩된 오디오 정보(710)는 인코딩된 오디오 정보(110, 210)에 대응할 수 있고, 인코딩된 오디오 정보(710)는 추가의 제어 정보 및 스펙트럼 성형을 조정하기 위한 정보를 포함할 수 있음에 유의해야 한다. 또한, 양자화된 스펙트럼 값(722)은 예를 들어, 디코딩된 스펙트럼 값(132, 232)에 대응할 수 있다.
또한, 디코딩(720)은 오디오 디코더(100, 200)와 관련하여 설명된 기능들 중 일부 또는 전부를 수행할 수 있다.
또한, 디코딩(720)은 본 명세서에서 개별적으로 또는 조합하여 개시된, 스펙트럼 값 (또는 스펙트럼 계수)의 디코딩과 관련하여 본 명세서에서 개시된 특징, 기능 및 세부 사항 중 어느 하나에 의해 보충될 수 있다.
8) 도 8에 따른 오디오 인코딩 (스펙트럼 값 인코딩)
도 8은 본 명세서에 설명된 임의의 오디오 인코더에 의해 실행될 수 있는 기능의 흐름도를 도시한다.
도 8을 참조하여 (또한 다음의 도면들과 관련하여) 설명된 기능들의 일부 또는 전부는 도 3, 4, 5 및 6의 오디오 인코더에서 실행될 수 있음에 유의해야 한다.
또한, 도 8은 스펙트럼 값의 인코딩에 초점을 맞추고 있으며, 이는 일반적으로 양자화된 스펙트럼 값일 수 있다. 필수적인 것은 아니지만, 스펙트럼 값은 부호있는 정수 값이며, 이는 이진법의 2의 보수 표현으로 표현되는 것이 바람직하다.
흐름도(800)에 도시된 기능은 전역 이득의 제1 추정(810)을 포함한다. 이 추정은 예를 들어, 오디오 컨텐츠의 프레임과 관련될 수 있는 스펙트럼 값들의 세트에 기초하여 이루어질 수 있고, 또한 비트 예산 (또는, 비트 전송률 예산)을 고려할 수도 있다.
도 8에 도시된 바와 같이, 오디오 인코더 또는 오디오 인코딩의 기능은 또한 전역 이득의 제1 추정치를 사용하거나 (반복적인 방식으로 얻을 수 있는) 전역 이득의 개선된 추정치를 이용하는 스펙트럼 계수 (또는 동등하게 스펙트럼 값)의 양자화(814)를 포함한다. 단계 814에서는, (양자화된 스펙트럼 계수들 또는 양자화된 스펙트럼 값들에 의해 표현될 수 있는) 양자화된 스펙트럼을 인코딩하는데 필요한 다수의 비트들의 계산 또는 추정이 실행된다.
단계 818에서 실행되는, 필요한 비트 수의 계산 또는 추정에 기초하여, 단계 822에서 전역 이득이 선택적으로 조정 또는 개선될 수 있으므로, 전역 이득의 개선된 추정치를 얻을 수 있다.
따라서, 단계 810, 814 및 818, 및 선택적으로 단계 822를 수행함으로써, "전역 이득 정보" (또는 일반적으로, 스펙트럼 값의 양자화를 설명하는 정보)가 얻어질 수 있으며, 이는 예상되는 비트수가 적어도 비트 예산에 거의 충족하도록 하는 양자화 결과를 가져온다. 그러나, 복잡성이라는 제약의 관점에서, 전역 이득 정보는 매우 적절하지 않으므로, 전역 이득 정보에 의존하여 양자화된 스펙트럼 값의 인코딩이 비트 예산과 비교할 때 여전히 대략적인 비트를 소모하게 된다는 점에 유의해야 한다.
전역 이득의 계산 또는 양자화에 관한 세부 사항은 본 발명에 필수적인 것은 아니라는 점에 유의해야 한다. 오히려, 본 발명에 따른 실시 예는 비트 예산을 과도하게 위반하지 않으면서 스펙트럼 값이 인코딩될 수 있도록 양자화된 스펙트럼 값을 제공하는 메커니즘으로 작동할 것이다.
흐름도(800)는 모드 결정(830)을 수행하는 단계를 더 포함한다. 그러나, 하나의 모드 (본 명세서에서 "제2 모드"로 지정됨)만을 사용하는 오디오 인코더가 또한 가능하기 때문에, 모드 결정을 실행하는 것은 선택적인 것으로 간주될 수 있다. 모드 결정(830)은 선택적으로 최종 인코딩된 계수의 모드 의존적인 식별을 포함한다. 모드 결정에 따라, 최종 인코딩된 계수의 결정은 다른 방식으로 수행될 수 있다.
"제1 모드"가 사용되는 경우, 비트를 저장하기 위해 (그리고 비트 예산 내에서 유지하기 위해) 넌제로 스펙트럼 값을 인코딩하지 않기로 하는 결정이 있을 수 있다. 이 경우, 최종 인코딩된 스펙트럼 계수와 관련된 주파수는 넌제로 스펙트럼 값이 존재하는 최대 주파수보다 작도록 선택될 수 있다. 결과적으로, 고주파 영역에서 넌제로 스펙트럼 값들은 제1 모드에서 인코딩되지 않을 수 있다.
대조적으로, 제2 모드에서, 모든 넌제로 스펙트럼 계수에 대해 적어도 최상위 비트가 인코딩된다. 따라서, 최종 인코딩된 계수는 예를 들어, 최고 주파수 넌제로 스텍트럼 값이 되도록 선택될 수 있다.
인코딩될 최고 주파수 스펙트럼 값을 기술하는 인덱스가 제1 모드 및 제2 모드 모두에서 제어 정보 "lastnz"로서 제공된다.
이하에서, 단계들 840 내지 869을 참조하여 "제1 모드"에서의 동작이 설명된다.
제1 모드에서의 동작은 산술 인코더 초기화(840)를 포함한다. 이 단계에서, 산술 인코더의 상태 및 컨텍스트가 초기화될 것이다.
단계 844에서, 제1 모드의 사용을 나타내는 모드 정보, 전역 이득 및 최종 인코딩된 계수(lastnz)를 식별하는 정보와 같은, 일부 부가 정보가 인코딩될 것이다.
단계들 848 내지 864은 각각의 스펙트럼 값, 또는 각 스펙트럼 값 그룹에 대해 반복된다. 바람직한 실시 예에서, 두 개의 스펙트럼 값을 포함하는 그룹이 인코딩된다는 것에 유의해야 한다. 그러나, 개별 스펙트럼 값의 인코딩이 또한 가능하다.
스펙트럼 값의 실제 인코딩은 스펙트럼 계수 또는 스펙트럼 계수 그룹에 대해 최상위 비트 가중치 결정을 포함한다. 예를 들어, 하나 또는 두 개의 스펙트럼 계수의 숫자 표현이 검사되고 "1"을 포함하는 가장 높은 값의 비트 위치가 어디인지가 식별된다. 예를 들어, 이진 값 "00010000"은 비트 가중치 16을 갖는, 비트 위치 5에서 최상위 비트를 갖는다. 함께 인코딩되는, 한 쌍의 스펙트럼 값이 고려되면, 두 스펙트럼 값의 최상위 비트 위치의 최대 값이 결정된다. 선택적인 세부 사항들에 대해서는, 아래에 제공될 "단계 7a"에 대한 설명이 참조된다 (도 10a의 설명 참조).
단계 852에서, 예를 들어 특정 인코딩된 심볼의 시퀀스를 제공함으로써 수행될 수 있는, 최상위 비트 가중치가 인코딩될 것이며, 이 때 특정 인코딩된 심볼의 수는 비트 위치 (또는, 비트 가중치)를 표시한다. 예를 들어, 산술 코딩으로 알려진 소위 "이스케이프 심볼(escape-symbol)"이 사용될 수 있다. 단계 852에 관한 선택적인 세부 사항에 대해서는, 예를 들어, 아래에 제공된 "단계 7b"에 대한 설명을 참조한다 (도 10c 참조).
이어서, 최상위 비트 인코딩(856)이 실행된다. 이 단계에서, 식별된 최상위 비트의 비트 위치에서 (또는 식별된 최상위 비트의 비트 위치에 인접하는 위치에서) 하나 이상의 비트 (예를 들어, 2 비트)가 인코딩된다. 예를 들어, 단계 848에서, 비트 가중치 16을 가지는 비트 위치 5가 식별되면, 제1 스펙트럼 값의 비트 위치 5 및 4 (비트 가중치 16 및 8)를 가지는 비트가 제2 스펙트럼 값의 비트 위치 5 및 4 (비트 가중치 16 및 8을 가짐)에서의 비트와 함께 인코딩될 수 있다. 따라서, 이 예에서, 총 4 개의 비트가 함께 인코딩될 수 있으며, 이 때 전형적으로 두 스펙트럼 값 중 적어도 하나는 비트 위치 5 (비트 가중치 16)에서 "1"을 갖게 된다. 예를 들어, 네 개의 언급된 비트는 컨텍스트 기반 산술 코딩을 사용하여, 심볼 "sym"에 매핑될 수 있다. 선택적인 세부 사항에 대해서는, 예를 들어, 아래에 제공되는 "단계 7c"의 설명을 참조한다 (도 10d 참조).
단계 860에서, 잔여 비트가 인코딩된다. 단계 860에서, 예를 들어, 단계 856에서 인코딩되고 하나 이상의 최상위 비트 보다 더 많은 비트를 포함하는 (예를 들어, numbits> 2) 모든 스펙트럼 값에 대해 (모든) 하위 비트 (하나 이상의 최하위 비트를 포함함)가 인코딩된다. 다시 말해서, 단계 856에서 부분적으로 (완전히는 아니지만) 인코딩된 각각의 스펙트럼 값에 대해 (하나 이상의 최상위 비트의 인코딩이 스펙트럼 값을 완전한 정확도로 비트 가중치 1을 갖는 비트까지 표현하기에 충분하지 않기 때문에), 모든 하위 비트가 인코딩될 것이다.
상기 예를 참조하면, 비트 5 및 4가 단계 856에서 제1 스펙트럼 값 및 제2 스펙트럼 값에 대해 인코딩된 경우, 비트 1, 2 및 3은 단계 860에서 제1 스펙트럼 값 및 제2 스펙트럼 값에 대해 인코딩되게 된다.
선택적인 세부 사항에 대해서는, 종래의 방법의 단계 7d에 대한 설명을 참조한다.
단계 864에서, 하나 이상의 최상위 비트가 인코딩된 모든 넌제로 스펙트럼 값에 대해 부호 인코딩이 실행된다. 선택적 세부 사항에 대해서는, 단계 7e에 대한 설명을 참조한다 (도 10f 참조).
전술한 바와 같이, 단계 848 내지 864는 각각의 스펙트럼 값, 또는 각 그룹의 스펙트럼 값에 대해 반복되며, 이의 최상위 비트가 함께 인코딩된다.
단계 868에서, 다수의 사용된 비트가 결정되고, 단계 869에서, 여전히 이용 가능한 미사용의 비트가 존재하는 경우, 개선된 정보의 인코딩이 선택적으로 실행된다.
결론적으로, 제1 모드에서 작동할 때, 일부 넌제로 스펙트럼 값은 인코딩에서 생략되지만, 실제로 인코딩된 모든 스펙트럼 값은 (최하위 비트까지) 전체 해상도로 인코딩된다. 따라서, (인코딩에서 생략된) 인코딩되지 않고 남아 있는 스펙트럼 값을 결정함으로써 필요한 비트 전송율의 변형이 이루어질 수 있다.
이하에서는, 일부 실시 예에서 유일한 모드일 수 있는 제2 모드에서의 동작이 단계(870 내지 898)을 참조하여 설명될 것이다.
제2 모드에서의 인코딩은 산술 인코더 초기화(870)를 포함하고, 이 때 산술 인코딩의 맥락에서 상태가 초기화될 것이다.
단계 874에서, (인코더가 제1 모드와 제2 모드 사이에서 전환 가능하다면) 전역 이득 정보, "lastnz", 및 제2 모드가 사용됨을 나타내는 모드 정보와 같은, 일부 부가 정보가 인코딩된다.
단계들 878 내지 894은 인코딩될 각각의 스펙트럼 값에 대해 또는 공동으로 인코딩될 스펙트럼 값의 각 그룹에 대해 실행된다.
단계 878에서, 스펙트럼 계수 (또는 스펙트럼 값) 또는 스펙트럼 계수 그룹 (또는 스펙트럼 값)에 대해 최상위 비트 가중치 결정이 실행된다. 선택적인 세부 사항에 대하여, 단계 848에 관한 설명 및 또한 아래의 "단계 7a"에 대한 설명을 참조한다 (도 10a 참조).
단계 882에서, 최하위 비트 소거 및 최하위 비트 정보 처리가 실행된다. 예를 들어, 최하위 비트 정보는 하나 이상의 최상위 비트 및 하나의 최하위 비트 (numbits> 2)를 포함하는 스펙트럼 값의 숫자 표현에서 소거된다. 예를 들어, 모든 홀수 스펙트럼 값은 다음 (인접한) 짝수 값으로 설정될 수 있으며, 이의 절대 값은 홀수의 절대 값보다 작다. 예를 들어, 값 1을 0으로, 값 3을 2로, -1을 0으로, -3을 -2로 설정할 수 있다. 선택적 세부 사항에 대해서는 아래 언급된 단계(1010f, 1011f)를 참조한다.
그러나, (스펙트럼 값이 +1에서 0으로, 또는 -1에서 0으로 설정된 경우) 최하위 비트에 대한 정보에 대한 정보 및 스펙트럼 값의 부호에 대한 정보는 최하위 비트 정보 비트 스트림에 저장될 수 있다 (예를 들어, lsbs[]). 상세하게는, 예를 들어, 이하에 설명되는 "단계 7a bis"를 참조한다 (도 10b 참조).
또한, 최상위 비트 가중치 인코딩(852)과 동일할 수 있는, 최상위 비트 가중치 인코딩(886)이 실행된다. 선택적 세부 사항에 대해서는, 단계 7b(도 10c)의 설명을 참조한다.
또한, 단계 882에서 수정된 스펙트럼 값이 사용된다는 점을 제외하고 (최하위 비트 값이 제거된 상태), 최상위 비트 인코딩(856)과 동일할 수 있는, 최상위 비트 인코딩(890)이 있다. 선택적인 세부 사항에 대해서는, 단계 7c 및 도 10d의 설명을 참조하면 된다.
더욱이, 하위 비트 인코딩(892)이 실행된다. 하위 비트 인코딩(892)에서, 하나 이상의 최하위 비트를 제외하고 하위 비트의 인코딩이 실행된다. 다시 말해서, 단계 890에서 인코딩된, 최하위 비트와 하나 이상의 최상위 비트 사이에 있는 비트가, 예를 들어 비트 스트림에 순차적으로 기록함으로써 인코딩될 수 있다. 선택적인 세부 사항에 대해서는, 아래의 "단계 7d-새 버전"에 대한 설명을 참조하면 된다 (도 10e 참조).
더욱이, 부호가 단계 882에서 수정된 바와 같이 스펙트럼 값에 기초하여 결정된다는 사실을 제외하고는, 부호 인코딩(864)과 실질적으로 동일한, 부호 인코딩(894)이 실행된다.
예를 들어, 원래의 (양자화된) 스펙트럼 값이 +1인 경우, 단계 882에서 스펙트럼 값이 0으로 변경되었으며, 이 부호는 넌제로 값에 대해서만 인코딩되기 때문에, 단계 894에서 부호 인코딩은 실행되지 않는다. 유사하게, (양자화 후) 스펙트럼 값이 원래 -1인 경우, 단계 882에서 스펙트럼 값은 0으로 수정되고, (부호가 제로 값으로 인코딩되지 않기 때문에) 단계 894에서 부호가 인코딩되지 않는다.
부호 인코딩에 관한 선택적 세부 사항은 단계 7e의 설명을 참조한다 (도 10f).
단계들 878 내지 894는 모든 스펙트럼 값 또는 스펙트럼 값의 그룹에 대해 반복되며, 그 최상위 비트는 공동으로 인코딩된다.
단계 896에서, 최하위 비트의 인코딩에 이용 가능한 비트 수에 대한 결정이 실행된다. 이 수는 예를 들어 nlsbs로 지정되며, 예를 들어 다수의 미사용 비트를 지정할 수 있다.
단계 898에서, 미사용 비트 (그 비트 수는 단계(896)에서 결정됨)는 최하위 비트의 "실제" 인코딩을 위해 사용된다 (단계 882에서 얻어진 최하위 비트 정보 및 그 일부를 인코딩된 오디오 표현에 포함시킴). 예를 들어, 단계 882에서 결정된 비트 시퀀스 또는 그 일부가 인코딩된 오디오 표현에 추가된다. 이 비트 시퀀스는 최하위 비트 및 최하위 비트의 소거에 의해 제로로 변경된 스펙트럼 값에 대한 부호를 포함한다.
따라서, 제2 모드에서, 하나 이상의 최상위 비트를 나타내는 심볼, 하나 이상의 최하위 비트 (및 일부 부호 정보)를 제외한 하위 비트를 나타내는 비트 시퀀스, 및 최하위 비트 (및 일부 부호 정보)를 나타내는 비트 시퀀스가 제공된다. 최하위 비트를 나타내는 시퀀스에, 하위 비트 (및 부호)가 공동으로 인코딩된 스펙트럼 값의 쌍에 대해 스펙트럼 값 마다 또는 순차적으로 포함될 수 있다. 또한, 최하위 비트를 나타내는 비트 시퀀스에, 최하위 비트는 스펙트럼 값 마다 포함된다.
인코딩(800)에 관한 추가의 선택적 세부 사항은 아래에서 설명될 것이다. 또한, 단계들의 의사 프로그램 코드 표현에 대한 참조가 도 8에 포함되어 있음에 주목해야 한다. 의사 프로그램 코드 표현에 설명된 세부 사항은 필수적이지 않고, 선택적으로 도 8에 나타낸 단계들 각각에 대해 개별적으로 포함될 수 있다.
9) 도 9에 따른 오디오 디코딩 (스펙트럼 값 디코딩)
도 9는 본 명세서에 설명된 바와 같이 오디오 디코더에 의해 수행될 수 있는 기능의 개략적 표현을 도시한다.
도 9에 설명된 기능 중 일부 또는 전부는 오디오 디코더에 의해 수행될 수 있음에 유의해야 한다. 도 9에 기술된 하나 이상의 단계들 중 하나 또는 수개를 구현하는 것으로 충분하지만, 전체 기능을 구현하는 것이 더욱 바람직하다는 것에 유의해야 한다. 특히, 도 9에 개시된 단계들은 스펙트럼 값을 나타내는 인코딩된 정보에 기초하여 디코딩된 스펙트럼 값을 제공하는 것과 관련된다. 도 9에 도시된 단계는 예를 들어, 오디오 디코더(700)의 디코딩(720)에서 구현될 수 있다.
흐름도(900)는 단계 910에서 산술 디코더 상태의 초기화 및 산술 디코더에 의해 사용되는 컨텍스트 c의 초기화하는 것을 포함한다. 선택적 세부 사항을 위해, 예를 들어, 후술되는 바와 같이 디코딩의 "단계 1"을 참조한다.
흐름도(900)는 또한 전역 이득 또는 전역 이득 정보의 디코딩 단계(914), 모드 선택 (모드 1 또는 모드 2의 선택)을 위한 시그널링 비트의 디코딩 단계(916) 및 마지막 넌제로 인코딩된 계수("lastnz")에 관한 정보의 디코딩 단계(918)를 포함한다. 단계들 916 및 918은 선택적인 것으로 간주되어야 하고, 단계 914는 양자화를 정의하는 임의의 다른 정보의 디코딩으로 대체될 수 있음에 유의해야 한다.
흐름도(900)는 단계들(930 내지 948)에서 나타낸 제1 모드에서의 디코딩 및 단계들 950 내지 972에서 나타낸 제2 모드에서의 디코딩을 포함한다. 단계 930 내지 948에서 설명된 바와 같이, 제1 모드에서의 동작은 선택적인 것으로 간주되어야 한다. 다시 말해서, 두 모드들 사이에서 전환할 가능성이 기능을 확장시키고 일부 이점을 가져오긴 하지만, 오디오 디코딩이 단계들 950 내지 972에 의해 설명된 제2 모드에서 동작할 수 있으면 충분하다.
더욱이, 흐름도(900)는 또한 디코딩된 스펙트럼 값의 역 양자화(980)를 실행하는 단계를 포함하며, 이는 예를 들어 디코더(700)에서 블록(730)에 의해 실행될 수 있다.
이하에서, 제1 모드에서의 동작이 설명된다.
제1 모드에서의 디코딩은 예를 들어, Xq(n) 및 Xq(n+1)로 지정될 수 있는, 두 개의 계수의 하나, 둘 또는 그 이상의 최상위 비트의 공동 디코딩을 포함할 수 있는, 최상위 비트 디코딩 단계(930)를 포함한다. 최상위 비트 디코딩 단계(930)는, 예를 들어, 공동으로 인코딩된 최상위 비트에 이어지는, 계수의 총 (인코딩된) 비트 수 (예를 들어, numbits) 또는 계수의 최하위 비트 수의 결정을 포함할 수 있다.
예를 들어, 함께 디코딩된 두 개의 스펙트럼 계수 중 하나가 제5 비트 위치 (비트 가중치 16를 가짐)에서 넌제로 값 (최상위 비트)을 포함한다는 것이 (예를 들어, 인코딩된 오디오 표현의 시그널링 정보에 기초하여) 디코더에 의해 인식될 수 있다. 따라서, 위치 4 및 5에서의 비트 (8 및 16의 비트 가중치를 가짐)는 함께 디코딩된 두 개의 스펙트럼 값에 대해 공동으로 디코딩될 것이다. 최상위 비트의 비트 위치는, 예를 들어, 산술 인코딩 및 디코딩의 분야에 공지된 "이스케이프 심볼 메커니즘"을 사용하여 인코딩될 수 있다. 선택적인 세부 사항에 대해서는, 예를 들어 아래의 "단계 3a"의 설명을 참조한다 (도 11a).
제1 모드에서의 디코딩은 최하위 비트 디코딩 단계(934)를 더 포함한다. 예를 들어, 하나 이상의 최상위 비트가 디코딩되는 모든 스펙트럼 값의, 하나 이상의 최하위 비트를 포함하여, (모든) 하위 비트의 디코딩이 있을 수 있다. 예를 들어, 하위 비트는 비트 시퀀스로부터 판독될 수 있다. 상세한 설명을 위해, 예를 들어 아래에 설명된 "단계 3b, 종래의 방법"을 참조한다.
제1 모드에서의 디코딩은 단계 930 및 934에서 넌제로 값이 디코딩된 모든 스펙트럼 값에 대해 부호가 디코딩될 수 있는, 부호 디코딩 단계(938)를 포함한다. 세부 사항을 위해, 예를 들어, 아래의 "단계 3c"에 대한 설명을 참조한다 (도 11c 참조).
제1 모드에서의 디코딩은 인코딩되지 않은 스펙트럼 계수의 제로잉 단계(942)를 포함한다. 예를 들어, 그 주파수가 인코더로부터 디코더로 시그널링된 특정 주파수보다 높은, 모든 스펙트럼 계수는 0으로 설정될 수 있다. 상세하게는, 예를 들어 이하의 "단계 4"의 설명을 참조한다.
제1 모드에서의 디코딩은 또한 미사용 비트 수의 결정 단계(944)를 포함한다. 예를 들어, 전체 비트 예산 중 몇 비트가 이전의 디코딩 단계에서 사용되지 않는지가 결정될 수 있다.
제1 모드에서의 디코딩은, 선택적으로, 예를 들어, 디코딩된 스펙트럼 값이 추가로 개선될 수 있는 개선(948)을 더 포함할 수 있다. 상세하게는, 예를 들어, "단계 6"에 대한 이하의 설명을 참조한다.
따라서, 제1 모드에서, 최종 넌제로 인코딩된 계수 정보에 대한 정보에 의해 정의된 최대 주파수까지의 스펙트럼 값은 부호의 디코딩을 포함하여, (최상위 비트에서 최하위 비트까지) 완전히 디코딩될 것이다. .
그러나, "단계 3a" 내지 "단계 6"을 참조하여 아래에 설명된 바와 같이, 세부 사항은 이들 단계에서 선택적으로 도입될 수 있음에 유의해야 한다. 그러나, 아래에 설명된 모든 세부 사항을 소개하는 것은 필수적인 것은 아니며, 일부 실시 예에서 단계들 중 하나 또는 일부 단계에서만 아래의 세부 사항을 유지하는 것으로 충분하다는 점에 유의해야 한다.
이하, 단계 950 내지 972를 참조하여 제2 모드에서의 디코딩이 설명될 것이다.
제2 모드에서의 디코딩은 최상위 비트 디코딩 단계(950)를 포함하며, 이는 예를 들어 하나 이상의 최상위 비트의 산술 디코딩을 포함할 수 있다. 예를 들어, 최상위 비트 디코딩 단계(950)는 계수의 총 비트 수, 또는 계수의 하위 비트 수, 또는 하나 이상의 최상위 비트의 비트 위치 (또는 비트 가중치)의 결정을 포함할 수 있다. 또한, 최상위 비트 디코딩 단계(950)는 두 개의 스펙트럼 계수 또는 스펙트럼 값 Xq(n), Xq(n+1)의 하나, 둘 또는 그 이상의 최상위 비트의 공동 디코딩을 포함할 수 있다.
선택적인 세부 사항에 대해서는, 예를 들어 아래의 "단계 3a"의 설명을 참조한다 (도 11a).
제2 모드에서의 디코딩은 또한 최하위 비트 디코딩 단계(954)를 포함하며, 이는 선택적인 것으로 간주될 수 있다. 하위 비트 디코딩 단계(954)에서, 하나 이상의 최하위 비트를 제외하고, 하위 비트의 디코딩이 실행된다. 하위 비트 디코딩 단계(954)는 하나의 최하위 비트 또는 다수의 최하위 비트들이 생략된다는 사실을 제외하고는, 하위 비트 디코딩 단계(934)와 유사할 수 있다. 예를 들어, 아래의 "단계 3b"(새로운 버전)에 대한 설명이 참조된다 (도 11b).
제2 모드에서의 디코딩은, 단계 950 및 954에서 디코딩된 스펙트럼 값의 디코딩된 부분이 넌제로 값을 나타내는 한 (하나 이상의 최하위 비트를 포함하지 않음), 단계 950 및 954에서 디코딩된 스펙트럼 값의 부호가 디코딩되는 부호 디코딩 단계(958)를 또한 포함한다. 선택적인 세부 사항에 대해서는, 예를 들어, 아래 "단계 3c"에 대한 설명을 참조한다 (도 11c).
단계 950, 954, 958는 모든 스펙트럼 값이 디코딩될 때까지 또는 모든 그룹의 스펙트럼 값이 디코딩될 때까지 반복되며, 여기서 디코딩될 다수의 스펙트럼 값은, 예를 들어, 인코더가 제공하는 마지막 넌제로 인코딩된 계수 정보에 의해 나타낼 수 있다.
제2 모드에서의 디코딩은 또한 인코더에 의해 제공되지 않고 마지막 넌제로 인코딩된 계수 정보의 관점에서 디코딩되지 않은, 인코딩되지 않은 스펙트럼 계수의 제로잉 단계(962)를 포함한다. 선택적 세부 사항에 대해서는, 이하 단계 4에 대한 설명을 참조한다.
또한, 최하위 비트 디코딩에 이용 가능한 비트 수의 결정 단계(968)가 실행된다. 다시 말해서, 다수의 미사용 비트 (디코딩 단계(950, 954, 958)에서 사용되지 않은 비트 예산의 비트)가 결정된다. 상세하게는, 예를 들어 이하의 "단계 5"에 대한 설명을 참조한다.
제2 모드에서의 디코딩은 또한 하나 이상의 최상위 비트보다 많은 비트를 갖는 계수에 대해 하나 이상의 최하위 비트의 선택적 디코딩 단계(972)를 포함한다. 다시 말해서, 하나 이상의 최하위 비트는 단계 950, 954, 958에서 디코딩된 일부 스펙트럼 값에 대해서만 디코딩될 수 있어서, 상기 스펙트럼 값 중 일부 (모두는 아님)만이 최하위 비트 정보에 의해 개선된다. 단계 972는 예를 들어, 단계 950 및 954에서 제로 값이 디코딩되고 (단계 958에서 부호가 디코딩되지 않도록), 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대한 부호 고려를 포함할 수 있다. 따라서, 스펙트럼 값 (또는 스펙트럼 계수)은 최하위 비트 및 부호 정보를 포함하는 비트 시퀀스로부터 최하위 비트 정보에 의해 개선될 것이다. 개선될 스펙트럼 값의 수는 최하위 비트에 대해 이용 가능한 비트 수의 결정 단계(968)의 결과에 의존한다.
따라서, 제2 모드에서의 디코딩은 완전 정밀도 (최하위 비트 포함함)로 일부 스펙트럼 값을 제공하고 감소된 정밀도 (최하위 비트 제외)로 일부 스펙트럼 값을 제공할 것이다.
"단계 3a" 내지 "단계 6"에 대해 후술되는 세부 사항이 선택적으로 사용될 수 있음에 유의해야 한다. 그러나, 이하에서 "단계 3a" 내지 "단계 6"에 대해 설명된 세부 사항은 필수적인 것으로 간주되어서는 안된다. 또한, "단계 3a" 내지 "단계 6"을 참조하여 아래에 설명된 모든 세부 사항을 사용할 필요 없이 개별 단계에 대한 세부 사항이 도입될 수 있음에 유의해야 한다.
또한, 흐름도(900)는 역 양자화 단계(980)를 포함하며, 여기서 제1 모드에서 디코딩된 스펙트럼 값 및/또는 제2 모드에서 디코딩된 스펙트럼 값은 역 양자화될 것이다. 역 양자화시, 단계 914에서 디코딩된 전역 이득 정보가 적용될 수 있다. 그러나, 역 양자화를 설정하기 위한 다른 가능성이 또한 사용될 수 있다.
10) 도 10a 내지 10f에 따른 인코딩 방법
이하에서는, MDCT 스펙트럼 X(n), 0≤n<N을 양자화 및 인코딩하는 단계의 예시적인 구현이 설명된다. 이 방법은 예를 들어, 오디오 인코더(300, 400, 500) 또는 오디오 인코더(600)에서 사용될 수 있다 (또는 실행될 수 있다). 본 명세서에 설명된 특징들은 개별적으로 또는 조합하여 흐름도(800)로 이어질 수 있다. 특히, 일부 실시 예들에서 유일한 모드일 수 있는, 모드 2에 대한 동작에 촛점을 둔다.
이하에서, 제1 단계가 설명된다. 제1 단계는 전역 이득의 제1 추정을 포함한다. 예를 들어, 제1 추정은 스펙트럼을 양자화하지 않고 산술 인코더가 소모하는 비트 수를 계산하지 않는다. 이것은 전역 이득의 제1 대략 추정치를 얻기 위해서 MDCT 계수 그룹의 에너지와 낮은 복잡도의 반복적인 방법에 기반한다. 예를 들어, NBC 사양의 섹션 1.3.8.2를 참조한다.
이하에서, 제2 단계가 설명될 것이다. 제2 단계는 제1 단계에서 구한 전역 이득을 사용하여 MDCT 스펙트럼의 양자화를 포함한다. 이는 양자화된 MDCT 스펙트럼 Xq(n), 0≤n<N을 생성한다. 세부 사항을 위해, 예를 들어, NBC 사양의 섹션 1.8.3을 참조한다.
이하에서, 제3 단계가 설명될 것이다. 제3 단계는 양자화된 스펙트럼 Xq(n)을 인코딩하는데 필요한 비트 수의 계산을 포함한다. 또한, 이 단계는 종래의 방법 ("제1 모드"로도 지칭됨) 또는 새로운 방법 ("제2 모드"로도 지칭됨)의 사용 여부를 결정할 수 있다. 예를 들어, 단계는 여기에 언급된 시그널링 비트 (예를 들어, 제1 모드 또는 제2 모드 중 어느 것을 사용해야하는지에 대한 시그널링 비트)를 설정할 수 있다. 예를 들어, 새로운 방법 (제2 모드)은 소모된 비트 수가 비트 예산보다 높고 일부 기준이 충족되는 경우 (예를 들어, 높은 비트 전송률이 사용되는 경우) 사용될 수 있다. 종래의 방법 (제1 모드)은 소모된 비트 수가 비트 예산 미만이거나 기준 (예를 들어, 제2 모드의 사용 기준)이 충족되지 않는 경우에 사용될 수 있다.
마지막으로, 제3 단계는 넌제로 인코딩된 계수 lastnz를 구한다. 이것은 (스펙트럼을 절단하기 위해서) 종래의 방법이 선택되는 경우에만 종래의 방법에 대한 설명에서와 같이 구한다 ("이 단계는 절단된 스펙트럼의 소모된 비트 수가 비트 예산 내에서 충족되도록 마지막 넌제로 인코딩된 계수 lastnz의 지수를 구함, NBC 사양의 1.3.8.4 섹션 참조). 새로운 방법 (제2 모드)을 선택하면, 스펙트럼은 절단되지 않고 lastnz는 단순히 마지막 넌제로 계수 (예를 들어, 최고 주파수 넌제로 스펙트럼 계수)에 해당한다.
이하에서, 제4 단계가 설명된다. 제4 단계는 제3 단계에서 계산된 비트 수의 함수로서 전역 이득을 조정하는 단계를 포함한다. 비트 수가 너무 많으면, 전역 이득이 증가된다. 비트 수가 너무 적으면, 전역 이득이 줄어든다. 그런 다음 제2 단계와 제3 단계는 선택적으로 다시 수행된다. 최적의 전역 이득을 찾을 때까지 제4 단계를 여러 번 반복할 수 있다. 그러나, 저 복잡성이 필요한 경우, 제4 단계는 수행되지 않거나 한 번만 수행될 수 있다 (예를 들어, NBC에서와 같이, NBC 사양의 섹션 1.3.8.6 참조).
이하에서, 제5 단계가 설명된다. 제5 단계는 산술 인코더 상태의 초기화, 및 산술 인코더에 의해 사용되는 컨텍스트 c의 초기화를 포함한다.
이하에서, 제6 단계가 설명된다. 제6 단계는 부가 정보로서 전역 이득 및 마지막 넌제로 인코딩된 계수 lastnz를 인코딩하는 단계를 포함한다. 또한, 이 단계는 또한 시그널링 비트 (예를 들어, 제1 모드 또는 제2 모드의 사용 여부를 나타내는 시그널링 비트)를 부가 정보로 인코딩한다.
이하에서, 제7 단계가 설명될 것이다. 그러나, 제7 단계는 모두 (n = 0; n<lastnz; n + = 2)에 대해 하위 단계(7a 내지 7e)를 반복하는 단계를 포함한다. 다시 말해, n이 lastnz보다 작은 한, 단계 7a 내지 7e는 n = 0에서 시작하여 반복되며, 여기서 n은 각 반복에서 2씩 증가된다. 각 반복에서 두 개의 스펙트럼 값이 처리되고, 일반적으로 모든 넌제로 스펙트럼 값이 처리된다 (모드 2에서는 lastz가 선택되어 최하위 비트 수가 모든 넌제로 스펙트럼 값에 대해 인코딩됨).
이하, 단계 7a가 설명된다. 단계 7a는 두 개의 계수 Xq(n) 및 Xq(n+1) (바람직하게는 정수 값)의 크기 (또는 절대 값)을 나타내는데 필요한 최소 비트 수를 계산하는 단계를 포함한다. 예시적인 구현에 관한 세부 사항을 위해, 도 10a의 의사 프로그램 코드(참조 번호 1000a)가 참조된다. 절대 값이 더 큰 계수는 두 계수의 크기(절대 값)를 나타내는 데 필요한 최소 비트 수를 결정한다.
이하에서는, 예를 들어, 단계 7a 및 7b 사이에서 수행될 수 있는 단계 7a-bis가 설명된다. 즉, 단계 7a-bis는 단계 7a 직후의 추가 단계이며, 이 단계는 numbits가 2 보다 큰 경우 (numbits> 2) 실행된다. 다시 말해, 단계 7a-bis는 Xq(n) 및/또는 Xq(n+1)을 나타내는데 두 개의 최상위 비트 보다 많은 비트가 필요한 경우에 수행된다. 단계 7a-bis에서, 각각의 계수의 최하위 비트가 "저장"된 다음에, 계수는 최하위 비트가 이제 제로가 되도록 수정된다. 계수의 부호는 또한 계수가 원래 넌제로였고 그 최하위 비트를 제로로 설정한 후 제로가 되는 경우에 저장된다.
이 기능에 관한 세부 사항에 대해서는, 예를 들어 도 10b에 도시된 의사 프로그램 코드 표현이 참조된다.
참조 번호 1010a에서 알 수 있는 바와 같이, Xq[n]의 절대 값의 최하위 비트가 추출되어 실행중인 가변 nlsbs에 의해 나타낸 위치에서 비트 시퀀스 lsbs에 저장된다 (참조 부호 1010b). 그런 다음 실행중인 변수 nlsbs는 비트 시퀀스 lsbs 내에서 다음 사용되지 않는 비트를 참조하도록 증가한다. Xq가 +1 또는 -1인 경우 (참조 번호 1010c의 조건), 참조 번호 1010d에서 볼 수 있는 바와 같이, 부호 비트는 Xq[n]이 0보다 크면 0으로 설정되고, Xq가 0보다 작으면 1로 설정된다. 또한, Xq가 +1 또는 -1이면, 부호 비트는 다음 비트로서 비트 시퀀스 lsbs에 저장되며, 이는 참조 번호 1010e에 도시된다. 더욱이, 부호가 있는 스펙트럼 값(Xq)은 비짝수 값이 더 작은 크기를 갖는 인접한 짝수 값으로 설정되도록 수정된다. 이 기능은 참조 번호 1010f에 도시되어 있다.
그러나, 처리 단계들(1010a 내지 1010f)의 순서는 전체 흐름도가 변하지 않는 한, 변경될 수 있음에 유의해야 한다. 당연히 중간 과정의 수치도 저장할 수 있다.
또한, 스펙트럼 값 Xq[n+1]에 대해서도 동일한 단계들이 수행되며, 이는 참조 번호 1011a 내지 1011f에 도시되어 있다.
따라서, 단계 7a-bis는 numbits가 2 보다 큰 모든 스펙트럼 값의 최하위 비트를 나타내는 비트 시퀀스 lsbs를 제공하며, 여기서 numbits가 2 보다 크고 값 +1 또는 -1을 갖는 스펙트럼 값에 대해 부호 비트가 비트 시퀀스 lsbs에 포함된다 (예를 들어, 더 큰 스펙트럼 값을 가진 그룹에 있기 때문에). 시퀀스 lsbs의 비트는 스펙트럼 값의 순서로 정렬되지만, numbits가 2 보다 크지 않은 (즉, 두 개의 최상위 비트로 완전히 표시되는) 스펙트럼 값에 대한 시퀀스 lsbs에는 비트가 없다.
이하에서, 단계 7b가 설명될 것이다. 이 단계 7b에서, (numbits가 단계 7a에서 결정되고 스펙트럼 값 또는 스펙트럼 값의 그룹에 대해 인코딩된 최상위 비트의 비트 가중치를 기술할 때) 값 "numbits"에 관한 정보가 인코딩될 것이다. 예를 들어, 단계 7b는 numbits가 2보다 큰 경우 numbits-2 이스케이프 값 (예를 들어, VAL_ESC = 16으로 표시됨)을 인코딩하는 단계를 포함한다. 세부 사항을 위해, 도 10c를 참조한다 (참조 번호 1020a). 예를 들어, 이스케이프 값은 산술 인코딩을 사용하여 인코딩되며, 여기서 컨텍스트는 산술 인코딩에 대한 확률을 얻기 위해 평가된다. 이스케이프 심볼은 확률 p를 사용하여 산술 인코딩으로 인코딩된다. 또한 컨텍스트가 업데이트된다.
그러나, 이 단계의 임의의 세부 사항이 본 발명에 필수적인 것은 아니다.
이하에서, 단계 7c가 설명된다. 단계 7c는 각각의 계수 Xq(n) 및 Xq(+1)의 두 개의 최상위 비트를 단일 심벌 sym (그 값이 0과 15 사이에 있음)로 인코딩하는 단계를 포함한다. 단계 1040a에서, 값 numbits에 기초하여, Xq[n] 및 Xq[n+1]의 (이진) 수 표현 (numbits > 2인 경우 단계 7a-bis에서 수정됨)이 몇 비트 오른쪽으로 이동하는지가 결정된다. 이것은 도면 부호 1040a으로 나타내며 선택적인 것으로 간주될 수 있다. 단계 1040b에서, numbits에 의해 결정된 비트 위치의 비트가 변수 a에 저장되도록 Xq[n]이 처리된다. 단계 1040c에서, Xq[n+1]은 numbits에 의해 결정된 비트 위치의 비트가 변수 b가 되도록 처리된다. 다시 말해, 두 개의 최상위 비트로 간주되는 비트 위치의 비트는 변수 a 및 b가 된다.
결과적으로, 참조 부호 1040d에 도시된 바와 같이, Xq[n] 및 Xq[n+1]의 두 최상위 비트를 결합하는 4 비트 값이 결정된다. 변수 sym은 이어서 함께 인코딩될 두 개의 스펙트럼 값 각각의 두 최상위 비트를 포함하여 4 비트 심볼을 나타낸다. 그리고, 산술 인코딩의 확률은 산술 인코딩의 컨텍스트 c로부터 결정되고, 심볼 sym은 산술 인코딩을 사용하여 그리고 컨텍스트로부터 결정된 확률 p를 고려하여 인코딩된다. 결과적으로 컨텍스트가 업데이트된다.
따라서, 공동으로 인코딩될 두 개의 스펙트럼 값 중 두 최상위 비트를 나타내는 심볼 sym의 산술 인코딩된 표현이 획득된다.
이하, 단계 7d가 설명된다. 단계 7d는 최하위 비트를 제외한 나머지 비트 ("중간 비트"또는 "하위 비트"라고도 함)의 인코딩을 포함한다. 상세한 내용은 의사 프로그램 코드 표현을 나타내는 도 10e를 참조한다. 알 수 있는 바와 같이, 실행 변수 b는 b = 1에서 numbits-3까지 실행된다. 따라서, 단계 7c에서 함께 인코딩된 두 최상위 비트가 적어도 비트 위치 3 및 4 (비트 값 4 및 8을 가짐) 또는 더 높은 비트 위치에 있다면 비트 위치 2 (비트 값 2를 가짐)부터 시작하여 비트가 인코딩된다. 따라서, 스펙트럼 값 Xq[n] 및 Xq[n+1]의 절대 값의 비트 위치 (b+1)에서의 비트는 부가 정보로서 인코딩된다. 따라서, 최하위 비트와 두 최상위 비트 사이에 있는 임의의 비트는, 이러한 비트가 존재한다면 (numbits에 의해 정의된 최상위 비트의 비트 위치에 의존함), 단계 7d에서 부가 정보로서 인코딩된다.
예를 들어, 참조 부호 1050a에 도시된 루프는 (numbits가 4보다 크거나 같은 경우) b=1에서 b=numbits-3 까지 실행된다. 도면 부호 1050b에서 알 수 있는 바와 같이, Xq[n]의 절대 값의 비트 위치 b+1에서의 비트는 부가 정보로서 인코딩된다. 도면 부호 1050c에서 알 수 있는 바와 같이, Xq[n+1]의 절대 값의 비트 위치 b+1에서의 비트가 부가 정보로 인코딩된다. 단계 1050b 및 1050c는 실행 변수 b가 numbits-2에 도달할 때까지 반복된다.
이하에서, 단계 7e가 설명된다. 단계 7e는 계수가 0인 경우를 제외하고 각 계수(또는 스펙트럼 값)의 부호를 인코딩하는 단계를 포함한다. 단계 7e에서, 단계 7a-bis에서 수정된 계수가 고려된다는 점에 유의해야 한다. 다시 말해, 스펙트럼 값 Xq의 부호는 (단계 7a-bis에서의 수정 전) 원래 값 Xq이 2보다 크거나 같거나 -2 보다 작거나 같으면 인코딩될 것이다. 반대로, Xq[n]이 원래 0과 같거나. 단계 7a-bis에서 0으로 설정되었다면, 단계 7e에서 부호의 인코딩이 없다. (수정된) 스펙트럼 값 Xq[n]이 0과 같은지 여부에 대한 점검이 도면 부호 1060a에서 볼 수 있는 바와 같고, Xq[n]의 양의 값에 대한 부호 비트 "0" 및 Xq[n]의 음의 값에 대한 부호 비트 "1"은 참조 부호 1060b에서 볼 수 있는 바와 같이 제공된다. 부가 정보로서 부호 값의 인코딩은 참조 부호 1060c에 도시되어 있다.
Xq[n+1]에 대해서도 유사한 기능이 수행되며, 이는 참조 번호 1061a, 1061b 및 1061c에 도시되어 있다.
이하에서, 단계 8이 설명된다. 단계 8은 산술 인코더를 마무리하고 다수의 미사용 비트를 계산하는 단계를 포함한다. 예를 들어, 단계 7b, 7c, 7d 및 7e에서 총 비트 예산 중 몇 비트가 미사용 상태로 남아 있는지가 계산될 수 있다.
이하, 단계 9가 설명될 것이다. 단계 9에서,(새로운 접근법이 선택되거나, 제2 모드가 선택되거나, 또는 인코더가 제2 모드만을 사용하는 경우), (종래의 개념에서와 같이) 잔여 양자화/인코딩은 사용되지 않는다. 미사용 비트가 있는 경우, 이들은 lsbs[]에 저장된 nlsbs 비트를 인코딩하는 데에 사용된다 (단계 7a-bis 참조). 즉, 예를 들어, 단계 7a 내지 7e의 완료 후, 비트 예산의 모든 비트가 사용되지 않았다면, 단계 7a-bis에서 제공되는 비트 시퀀스 lsb의 비트 수가 비트스트림 (또는 일반적으로 인코딩된 오디오 표현)에 포함된다. 인코딩된 오디오 표현에 포함된 비트 시퀀스 lsbs의 비트 수는, 예를 들어, 미사용 비트의 수에 의해 결정되어, 비트 예산이 완전히 사용되도록 한다 (예를 들어, 최대 1 또는 2 비트, 또는 심지어 모두).
결론적으로, 여기에 기술된 단계들 또는 그 세부 사항들이 도 8의 흐름도를 수행할 때 사용될 수 있음에 주목해야 한다. 예를 들어, 본 명세서에 설명된 단계 1 내지 4, 또는 그 세부 사항들은 단계들(810, 814, 818, 830)을 구현하는 데에 사용될 수 있다.
더욱이, 단계 5 내지 9는 본 명세서에 설명된 단계들(870, 874, 878, 882, 886, 890, 892, 894, 896 및 898)을 구현하기 위해 사용될 수 있다. 단, 본 명세서에 설명된 세부 사항들은 흐름도(800)의 단계들이 될 수 있다.
11) 도 11a 및 11d에 따른 오디오 디코딩
이하에서, 도 11a 내지 11d을 참조하여 오디오 디코딩 단계를 설명한다. 본 명세서에 설명된 디코딩 기능은 스펙트럼 값을 나타내는 인코딩된 정보에 기초하여 디코딩된 스펙트럼 값을 제공하기 위해 사용될 수 있다. 본 명세서에서 설명되는 흐름도는 (예를 들어, 디코딩(720)을 구현하기 위해서) 예를 들어, 도 1 및 도 2에 따른 오디오 디코더 및 도 7에 따른 오디오 디코더(700)에서 사용될 수 있다. 본 명세서에 설명된 단계들은 흐름도(900)에서, 예를 들어, 단계들(910, 950, 954, 958, 962, 968, 972)을 구현하기 위해 사용될 수 있다.
이하에서, 스펙트럼 값들을 디코딩하기 위한 흐름도가 단계적으로 설명될 것이다 ("제2 모드" 또는 제2 모드 만이 사용되는 경우 디코딩에 초점을 맞춤).
이하에서, 제1 단계가 설명된다. 제1 단계는 산술 디코더 상태의 초기화 및 산술 디코더에 의해 사용되는 컨텍스트 c의 초기화를 포함한다.
이하에서, 제2 단계가 설명된다. 제2 단계는 전역 이득 (또는 전역 이득 정보, 또는 역 양자화를 설명하는 임의의 다른 정보) 및 마지막 넌제로 인코딩된 계수 정보 "lastnz"를 디코딩하는 단계를 포함한다. 다시 말해서, 제2 단계는 일부 부가 정보 또는 제어 정보를 디코딩하는 단계를 포함한다. 또한, 제2 단계는 또한 시그널링 비트 (예를 들어, 제1 모드 또는 제2 모드의 사용 여부를 정의하는 시그널링 비트)를 디코딩한다.
이하에서, 단계 3이 설명된다. 예를 들어, 단계 3은 모두 (n=0; n<lastnz; n + = 2)에 대해 단계 3a 내지 3c를 반복하는 단계를 포함한다. 다시 말해, 단계 3a 내지 3c는 모든 스펙트럼 값이 (lastnz로 정의되는 바와 같이) 디코딩될 때 반복될 것이며, 이 때 두 개의 스펙트럼 값의 그룹이 함께 처리될 것이다.
이하에서, 단계 3a가 설명된다. 단계 3a는 두 계수들 (또는 스펙트럼 값들) Xq(n) 및 Xq(n+1)의 두 개의 최상위 비트들을 디코딩하는 단계를 포함한다. 단계 3a에 관한 세부 사항은 도 11a에 도시되어 있다.
단계 3a는 가변 numbits의 결정을 포함하며, 이는 디코딩될 두 최상위 비트의 비트 위치를 기술한다. 변수 numbits는 참조 번호 1110a에서 1로 초기화된다. 이어서, 단계 1110b에서 컨텍스트 (이전에 초기화됨)로부터 확률 p가 획득되고, 단계 1110c에서 확률 p를 사용하고 산술 디코딩을 사용하여 심볼 sym이 디코딩된다. 이어서, 단계 1110d에서 컨텍스트가 업데이트되고 단계 1110e에서 가변 numbits가 1 증가한다. 그러나, 디코딩된 심볼(sym)이 이스케이프 심볼이면, 단계 1110b, 1110c, 1110d, 1110e가 반복된다. 따라서, 첫 번째 디코딩된 심볼이 이스케이프 심볼이 아닌 경우, numbits는 2로 설정되고 디코딩될 최상위 비트 위치는 비트 위치 1 및 2 (비트 값 1 및 2를 가짐)에서 비트를 정의할 것이다. 그러나, 하나 이상의 이스케이프 심볼이 산술 디코딩에 의해 식별되면, 가변 numbits가 더 증가하고, 이는 디코딩될 최상위 비트의 더 높은 비트 가중치를 나타내며, 이는 또한 하나 이상의 최하위 비트에 대한 "장소"가 있음을 나타낸다. 그러나, 최종 디코딩된 심볼이 이스케이프 심볼이 아니라는 것을 알게 되면, 가변 numbits에 의해 정의된 비트 가중치를 갖는 최상위 값은 디코딩된 심볼에 기초하여 결정된다. 예를 들어, 심볼이 4 비트 값으로 표현되는 경우, 4 비트 값의 2 비트는 스펙트럼 값 Xq[n]의 두 최상위 비트를 정의하는 데 사용되고 4 비트 값의 2 비트는 스펙트럼 값 Xq[n+1]의 두 최상위 비트를 정의하는 데에 사용된다. 자세한 내용은 참조 번호 1110f 및 1110g에서 볼 수 있다. 따라서, 산술 디코딩에 의해 디코딩된 0, 1 또는 그 이상의 이스케이프 심볼은 최상위 비트의 비트 가중치를 결정하고, 이스케이프 심볼이 아닌 심볼은 두 개의 스펙트럼의 최상위 비트의 비트 값을 정의한다 .
이하에서, 단계 3a-bis가 설명된다. 단계 3a-bis는 단계 3a 단계 직후의 추가 단계이다. 이 단계는 배열 numbits[n]에 numbits를 저장하므로, 나중에 단계 6에서 재사용할 수 있도록 한다. 즉, 가변 numbits의 값은 나중에 사용하기 위해 디코딩된 모든 스펙트럼 값 쌍에 대해 유지된다. 그러나 이것은 보조 단계일뿐이다.
이하, 단계 3b가 설명된다. 단계 3b는 최하위 비트를 제외한 나머지 비트를 디코딩하는 단계를 포함한다. 자세한 내용은 도 11b를 참조한다. 여기서 단계 3b는 numbits가 4보다 크거나 같은 경우, 즉 스펙트럼 값의 이진 숫자 표현 (또는 함께 처리된 한 쌍의 스펙트럼 값 중 적어도 하나의 스펙트럼 값)이 두 개의 최상위 비트 및 하나의 최하위 비트 보다 더 많은 비트 (즉, 적어도 4 비트)를 포함하는 경우 나머지 비트를 디코딩한다는 점에 유의해야 한다. 비트 위치가 최하위 비트와 두 개의 최상위 비트 사이에 있는 이들 비트는 비트 위치 2를 갖는 비트로부터 시작하여 (있는 경우) 더 높은 비트 위치를 갖는 비트로 계속해서 디코딩된다. 이를 위해, 실행 변수 b는 1로 초기화되고 b가 numbits-2보다 작으면 비트 디코딩이 수행된다. 루프 기능은 참조 번호 1120a에 도시되어 있고, 제1 스펙트럼 값 Xq에 대한 비트의 디코딩은 참조 번호 1120b에 도시되어 있으며, 비트 가중치로 가중치가 부여된 비트를 제1 스펙트럼 값에 가산하는 것은 참조 번호 1120c에 도시되어 있고, 제2 스펙트럼 값 Xq[n+1]에 대한 비트의 디코딩은 참조 번호 1120d에 도시되고, 비트 가중치에 의해 가중된 비트의 추가는 참조 번호 1120e에 도시된다.
이하에서, 단계 3c가 설명된다. 단계 3c는 계수 (또는 스펙트럼 값)가 0 인 경우를 제외하고, 각 계수의 부호를 디코딩하는 단계를 포함한다.
예를 들어, (최하위 비트를 고려하지 않고, 단계 3a 및 3b에서) 지금까지 디코딩된 스펙트럼 계수가 0과 같은지가 확인된다 (참조 번호 1130a). 스펙트럼 값 Xq[n]이 0과 다르면, 부호 비트가 디코딩되고(단계 1130b), 부호 비트가 1이면 (참조 부호 1130c에서 확인됨), Xq[n]의 부호는 반전된다 (참조 번호 1130d). 참조 번호 1131a 내지 1131d에 도시된 바와 같이, 제2 스펙트럼 값에 대해 유사한 기능이 수행된다.
이하에서, 단계 4가 설명된다. 단계 4에서, 인덱스 n이 lastnz 보다 크거나 같은 모든 계수 (또는 스펙트럼 값)는 0으로 설정된다. 따라서, 인코더에 의해 인코딩되지 않은 (부가 정보 "lastnz”에 의해 시그널링됨) 이들 스펙트럼 계수는 정의된 값(0)으로 설정된다.
이하에서, 단계 5가 설명된다.
단계 5는 산술 디코더의 마무리 및 사용되지 않은 비트 수를 계산하는 단계를 포함한다. 예를 들어, 단계 3a, 3b 및 3c에서 얼마나 많은 비트가 디코딩되었는지 계산될 수 있고, 그 후 전체 비트 예산의 몇 비트가 지금까지 사용되지 않았는지를 결정할 수 있다.
이하에서, 단계 6이 설명된다. 단계 6에서, 사용되지 않는 비트가 있으면 nlsbs 비트가 디코딩되어 lsbs[]에 저장된다. 다시 말해서, nlsbs 비트의 시퀀스는 최하위 비트 개선을 위해 사용될 것이며, 이들은 직접 사용될 수 있거나 어레이 lsbs[]와 같이, 중간 데이터 구조에 저장될 수 있다. 그런 다음, 디코딩된 lsb 비트 (또는 최하위 비트의 비트)를 사용하여 numbits[n]이 (인덱스 n 및 n+1을 갖는 각각의 스펙트럼 값에 대해) 2 보다 큰 경우 계수 (n, n+1) (또는 스펙트럼 값 Xq[n] 및 Xq[n+1])가 개선된다.
자세한 내용은 도 11d를 참조한다.
참조 번호 1140a에서 알 수 있는 바와 같이, 실행 변수 k는 0으로 초기화된다. 이어서, 루프 처리는 모든 쌍의 스펙트럼 값에 걸쳐 실행되며, 여기서 루프 정의는 참조 번호 1140b에서와 같다. 그러나, 두 개의 최상위 비트보다 더 많은 비트를 포함하지 않는 임의의 쌍의 스펙트럼 값은 루프 처리에서 생략된다는 점에 유의해야 한다. 현재 처리된 쌍의 스펙트럼 값이 최상위 비트보다 많은 비트를 포함하는지의 여부는 참조 번호 1140c에서 볼 수 있다. 또한, 처리 (예를 들어, 최하위 비트 정보를 사용하는 스펙트럼 값의 개선)는 처리된 비트의 수가 최하위 비트 개선에 이용 가능한 총 비트 수 nlsbs에 도달하는 경우에는 중단된다 (두 개의 최상위 비트보다 더 많은 비트를 갖는 모든 스펙트럼 값이 고려되지 않았더라도). 루프 처리의 중단은 예를 들어 "break" 명령에 의해 실행되며, 비트 시퀀스 또는 배열 lsbs로부터 새로운 비트가 평가되기 전에 최하위 비트의 개선에 이용 가능한 최대 비트 수에 도달했는지 여부에 대한 평가가 보통 있게 되는 것을 알 수 있다. 예를 들어, 이용 가능한 모든 비트가, 참조 번호 1140e에서 볼 수 있는 비트 시퀀스 또는 어레이 lsbs로부터 새로운 비트의 판독을 진행하는 참조 번호 1140d에서 평가되었는지의 여부가 확인된다. 비트 시퀀스 또는 어레이 lsbs (참조 번호 1140e)로부터 비트를 판독한 후에, 비트 값에 따라 또한 이전에 디코딩된 스펙트럼 값 Xq[n]의 값에 따라 다른 동작이 취해진다. 단계 1140e에서 판독된 개선 비트의 값이 0이면, (비트는 이전에 디코딩된 값의 수정의 필요성을 나타내지 않기 때문에) 더 이상의 동작은 행해지지 않는다. 대조적으로, 단계 1140e에서 판독된 개선 비트의 값이 "1"이면, 스펙트럼 값 Xq[n]의 실제 값에 따라 동작이 행해진다. 스펙트럼 값 Xq이 0보다 크고 단계 1140e에서 판독된 비트가 "1"이면, 스펙트럼 값 Xq[n]은 1 만큼 (즉, 최하위 비트 값 만큼) 증가하고, 이는 참조 번호 1140f에서 볼 수 있다. 스펙트럼 값 Xq[n]이 음수이고 단계 1140e에서 판독된 비트 값이 "1"이면, 스펙트럼 값 Xq[n]은 1 만큼 (즉, 최하위 비트 값 만큼) 감소한다.
그러나, 값 Xq가 0이고 단계 1140e에서 판독된 비트의 비트 값이 "1"이면, 참조 번호 1140i에 도시된 바와 같이, 비트 시퀀스 또는 어레이 lsbs로부터 다른 비트가 판독되며, 단계 1140i에서의 다른 비트의 판독에 앞서 이용 가능한 총 비트 수가 이미 도달되었는지의 여부가 체크된다 (이는 "중단" 명령에 의한 루프의 중단을 초래함). 이어서, 단계 1140i에서 판독된 "부호 비트"의 값에 따라 Xq[n]의 값이 +1 또는 -1로 선택적으로 설정되며, 이는 참조 번호 1140j에서 도시된다. 이어서, 제2 스펙트럼 값 Xq[n+1]에 대해 단계 1140d 내지 1140j가 반복된다.
결론적으로, 최하위 비트의 개선을 위해 이용 가능한, 비트 시퀀스 또는 어레이 lsbs의 모든 비트가 소진되지 않은 한, 상기 비트 시퀀스 또는 어레이 lsbs로부터 "개선 비트"의 프로세싱이 실행된다. 이전에 디코딩된 스펙트럼 값 Xq[n], Xq[n+1]이 0과 다르면, 상기 스펙트럼 값의 크기는 비트 시퀀스 또는 어레이 lsbs로부터 판독된 "개선 비트"에 따라 최하위 비트 값 만큼 선택적으로 증가된다. 이전에 디코딩된 스펙트럼 값 Xq[n], Xq[n+1]이 0이면, "부호 비트"가 비트 시퀀스 또는 어레이 lsbs로부터 추가로 추출되고, 부호 비트는 스펙트럼 값 Xq[n], Xq[n+1]이 이전 (제1) 개선 비트가 스펙트럼 값이 최하위 비트 값으로 수정되어야 하는 것을 나타내는 경우, +1 또는 -1로 설정되어야 하는지를 결정한다. 대조적으로, 개선 비트가 스펙트럼 값 Xq[n], Xq[n+1]의 값이 변하지 않고 유지되어야 한다는 것을 나타내면 부호 비트는 사용되지 않는다.
즉, 스펙트럼 값과 관련된 제1 개선 비트는 스펙트럼 값의 크기가 적어도 하나의 최하위 비트 값 만큼 증가되어야 하는지 여부를 나타내는 비트로 간주될 수 있고, 제2 개선 비트 (부호 비트)는 이전에 디코딩된 스펙트럼 값이 0 인 경우에 사용된다.
따라서, 정교화에 대한 매우 효율적인 개념이 있으며, 이 때 일반적으로 1 비트만이 스펙트럼 값의 최하위 비트 개선에 필요하며, 2 비트 (정교화 및 부호를 결정하는 비트가 있어야 하는지를 결정하는 비트)는 이전에 디코딩된 스펙트럼 값이 0인 경우에만 필요하다.
여기에 설명된 단계들은 예를 들어 디코딩 흐름도(900)에서 사용될 수 있음에 유의해야 한다.
의사 프로그램 코드를 참조하여, 여기에서 훨씬 상세하게 설명되는 특징들은 개별적으로 또는 조합하여 도 9에 도시된 흐름도에 도입될 수 있다. 그러나, 각각의 모든 세부 사항을 포함할 필요는 없으며, 여기에 설명된 세부 사항은 개별적으로 취해질 때 유리할 수 있음에 유의해야한다.
11) 결론
11.1) 일반
이하에, 본 발명의 일부 기본 아이디어가 요약될 것이다. 특히, 본 명세서에서 언급된 양상들은 개별적으로 또는 다른 양상들과 함께 본 발명의 실시 예들로 구현될 수 있다.
본 발명에 따른 실시 예는 저 비트 전송률에서 종래의 접근법이 코딩 성능을 심각하게 저하시킬 수 있다는 발견에 기초한다. 고 비트 전송률에서, 높은 비트 예산을 사용하면 고 주파수 계수를 포함하여 높은 정밀도로 전체 스펙트럼을 양자화할 수 있다. 또한, 일부 고주파수 계수를 0으로 설정하면 고주파수에 상당한 양의 왜곡이 추가되어, 디코딩된 출력 신호의 투명한 품질이 저지되다고 밝혀졌다. 도 12에서, MDCT 스펙트럼 SNR은 오디오 신호의 모든 프레임에 대해 그리고 두 비트 전송률, 32kbps의 저 비트 전송률 및 128kbps의 고 비트 전송률에 대해 플로팅된다. 32kbps의 SNR은 일관된 것처럼 보이지만 128kbps의 SNR에는 큰 드롭을 포함하고 있다. 이러한 드롭은 소비된 비트 수가 비트 예산을 초과하기 때문에 고주파수 계수가 절단된 프레임에 해당한다.
11.2) 기존의 방법에 대한 단계별 설명
다음에, 종래의 접근법에서 수행되는 바와 같이 MDCT 스펙트럼 X(n), 0≤n <N을 양자화 및 인코딩하는데 필요한 단계가 설명될 것이다.
인코더
단계 1: 전역 이득의 제1 추정 단계. 제1 추정 단계는 스펙트럼을 양자화하거나 산술 인코더가 소모하는 비트 수를 계산하지 않는다. 이 단계는 MDCT 계수 그룹의 에너지와 전역 이득의 제1 대략적인 추정치를 얻기 위한 복잡도가 낮은 반복적 접근법에 기반한다. (NBC 사양의 섹션 1.3.8.2 참조)
단계 2: 단계 1에서 발견된 전역 이득을 이용한 MDCT 스펙트럼의 양자화 단계. 이 단계는 양자화된 MDCT 스펙트럼 Xq(n), 0≤n <N을 생성한다. (NBC 사양의 섹션 1.3.8.3 참조)
단계 3: 양자화된 스펙트럼 Xq(n)을 인코딩하는데 필요한 비트 수를 계산하는 단계. 비트 수가 비트 예산을 초과하는 경우, 이 단계는 또한 마지막 넌제로 인코딩된 계수 lastnz의 인덱스를 구하므로, 절단된 스펙트럼의 소모된 비트 수가 비트 예산 내에 맞도록 할 수 있다. (NBC 사양의 섹션 1.3.8.4 참조)
단계 4: 단계 3에서 계산된 비트 수의 함수로 전역 이득을 조정한다. 비트 수가 너무 많으면 전역 이득을 늘린다. 비트 수가 너무 적으면 전역 이득을 줄인다. 다음에, 단계 2와 단계 3을 다시 실행한다. 최적의 전역 이득을 찾을 때까지 단계 4를 여러 번 반복할 수 있다. 복잡성이 낮은 경우, 단계 4는 수행되지 않거나 한 번만 수행된다 (NBC에서와 같이, NBC 사양의 1.3.8.6 절 참조).
단계 5: 산술 인코더 상태의 초기화; 문맥 c의 초기화.
단계 6: 전역 이득 및 마지막 넌제로 인코딩된 계수 lastnz를 측면 정보로 인코딩한다.
단계 7: 모두에 대해 다음 하위 단계를 반복한다 (n = 0; n <lastnz; n + = 2).
단계 7a: 두 계수 Xq(n) 및 Xq(n+1)의 크기를 나타내는 데 필요한 최소 비트 수를 계산한다.
Figure 112020059118842-pat00001
단계 7b: numbits>2인 경우, numbits-2 이스케이프 값 (VAL_ESC = 16) 인코딩
Figure 112020059118842-pat00002
단계 7c: 두 계수 Xq(n) 및 Xq(n+1)의 두 최상위 비트를 단일 심볼(sym)로 인코딩함 (그 값은 0과 15 사이에 있음).
Figure 112020059118842-pat00003
단계 7d: numbits>2이면 나머지 비트를 인코딩함
Figure 112020059118842-pat00004
단계 7e: 계수가 제로인 경우를 제외하고, 각 계수의 부호를 인코딩함,
Figure 112020059118842-pat00005
단계 8: 산술 인코더를 완결하고 미사용 비트 수를 계산함
단계 9: 미사용 비트가 있으면 잔여 양자화기에 의해 주어진 잔여 비트를 인코딩함 (NBC 사양의 섹션 1.3.9 참조)
디코더
단계 1: 산술 디코더 상태의 초기화 단계; 컨텍스트 c의 초기화
단계 2: 전역 이득과 마지막 넌제로 인코딩된 계수 lastnz를 디코딩함
단계 3: 모두 (n = 0; n < lastnz; n += 2)에 대해 다음 서브 단계들 반복함
단계 3a: 두 계수 Xq(n) 및 Xq(n + 1)의 두 최상위 비트를 디코딩함
Figure 112020059118842-pat00006
단계 3b: numbits>2인 경우 나머지 비트를 디코딩함
Figure 112020059118842-pat00007
단계 3c: 계수가 0인 경우를 제외하고, 각 계수의 부호를 디코딩함
Figure 112020059118842-pat00008
단계 4: 모든 계수 n>=lastnz를 제로로 설정
단계 5: 산술 디코더를 완결하고 미사용 비트 수를 계산함
단계 6: 미사용 비트가 있는 경우, 잔여 비트를 디코딩함. 잔여 비트를 사용하여 넌제로 계수를 개선하는 역 잔여 양자화기를 적용함 (NBC 사양에서 섹션 1.4.3. 참조)
단계 7: 역 양자화: 디코딩된 MDCT 계수와 전역 이득을 곱함
본 섹션 "종래의 방법의 단계별 설명"에 기술된 단계 1 내지 9는 종래의 오디오 인코더 및 디코더에서 사용될 수 있고, 또한 본 발명에 따른 오디오 인코더 또는 디코더가 제1 인코딩 모드에서 동작할 때에 사용될 수 있다.
예를 들어, 종래의 방법의 단계별 설명에서 설명된 인코더 단계 1 내지 9는 단계들(810, 814, 818, 840, 844, 848, 852, 856, 860, 864, 868)을 구현하는 데 사용될 수 있다. 종래의 방법의 단계별 설명에서 전술한 인코더 단계(1, 2, 4, 5, 6, 7a, 7c, 7e 및 8)는 (예를 들어, 새로운 제2 모드에서 작업할 때) 예를 들어, 단계들(810, 814, 818, 822, 870, 874, 878, 886, 890, 894 및 896)을 구현하기 위해서, 본 발명의 실시 예에 따른 오디오 인코더에서 또한 사용될 수 있다.
디코더 단계들(1, 2, 3, 3a, 3b, 3c, 4, 5, 6, 7)은 또한 예를 들어, 단계들(910, 914, 918, 930, 934, 938, 942, 944, 948, 980)을 구현하기 위해서, "제1 모드"에서 동작할 때 본 발명에 따른 오디오 디코딩에 사용될 수 있다.
또한, 디코더 단계들(1, 2, 3, 3a, 3c, 4, 5 및 7)은 (예를 들어, "제2 모드"에서 작동할 때) 본 발명의 디코더의 단계들(910, 914, 918, 950, 958, 962, 968 및 980)을 구현하기 위해 또한 사용될 수 있다.
11.3) 본 발명의 양상
이하에서, 종래의 방법에서 사용된 인코더 단계 및 디코더 단계들 보다 개선되고 확장된 사항들이 설명된다.
고 비트 전송률에서, 인코더 단계들 1 내지 4에서 계산된 양자화된 MDCT 스펙트럼 Xq[n]은 큰 크기를 갖는 계수를 포함하는 것으로 밝혀졌다. 따라서, 이들 계수의 크기를 나타내는데 필요한 최소 비트 수(인코더 단계 7a)는 높고 대부분의 경우 2 이상인 것으로 밝혀졌다. 따라서, 대부분의 경우에 인코더 단계 7d에서 기술된 바와 같이 부가 정보로서 인코딩된, 계수 당 적어도 하나의 최하위 비트(LSB)가 존재한다. 이들 최하위 비트(LSB)는 덜 중요한 정보이며, SNR에 상대적으로 작은 영향을 주어 제거할 수 있다고 밝혀졌다. 실제로, 그 영향은 종래의 방법에서와 같이 전체 계수를 0으로 설정하는 것 (즉, 최상위 비트 MSB 및 최하위 비트 LSB를 모두 0으로 설정하는 것) 보다 훨씬 적은 것으로 밝혀졌다.
따라서 본 발명에 따른 실시 예는 양자화된 MDCT 데이터를 인코딩하기 위해 소모된 비트 수가 비트 예산을 초과할 때, 고주파수 계수를 잘라내는 것보다 최하위 비트 LSB를 잘라내는 것이 더 효율적이라는 아이디어에 기초한다. 그러나, 이것은 양자화된 MDCT 스펙트럼 계수가 큰 크기를 가질 때, 따라서 고 비트 전송률에서 유리하다 (또는 가능하다). 결과적으로, 본 발명은 하나의 시그널링 비트를 부가 정보로서 비트 스트림에 추가한다 (상기 시그널링 비트는 예를 들어 "제1 모드" 또는 "제2 모드"의 사용 여부를 기술할 수 있다). 이 비트는 (예를 들어, 종래의 방법의 단계별 설명에서 설명된 바와 같은) 종래의 방법 또는 (예를 들어, 본 발명의 실시 예의 단계별 설명에서 설명된 바와 같은) 새로운 방법이 사용되는지를 시그널링한다. 소모된 비트 수가 비트 예산 미만인 경우, 새로운 방법이 요구되지 않으며, 시그널링 비트는 종래의 접근법을 트리거하도록 설정될 수 있음에 유의해야 한다. 예를 들어, 새로운 방법은 소모된 비트 수가 비트 예산을 초과하고 일부 기준 (예를 들어, 높은 비트 전송률)이 충족되는 경우에만 사용된다.
도 13에서, 제안된 발명에 따른 실시 예가 128 kbps의 높은 비트 전송률의 경우에 사용된 것을 제외하고, 이전의 도면(도 12)에 대해서와 동일한 실험이 수행되었다. 128kbps에서의 SNR은 이제 훨씬 더욱 일관성 있게 보이며, 모든 드롭이 사라진다.
11.4). 제안된 발명의 실시 예의 단계별 설명
이하에서, 본 발명에 따른 실시 예가 단계적으로 설명될 것이다. 이 설명에서, 섹션 11.2에 제공된 종래의 방법의 단계별 설명이 또한 참조되는데, 종래 방법의 단계들 중 몇이 실행될 수 있기 때문이다.
다시 말해, 섹션 11.2 (기존 접근법)에 설명된 대부분의 단계는 본 명세서에서 동일한다. 따라서, 상이한 단계들만이 여기에 설명될 것이다.
인코더
단계3: 이 단계는 여전히 양자화된 스펙트럼 Xq(n)을 인코딩하는데 필요한 비트 수를 계산한다. 또한, 이 단계는 또한 종래 기술 방법을 사용할지 새로운 방법을 사용할지를 결정해야 한다 (즉, 이전 섹션에서 언급된 시그널링 비트를 설정)
새로운 방법: 소모된 비트가 비트 예산 이상이고 일부 기준이 충족된 경우 (예를 들어, 고 비트 전송률)
선행 기술: 소모된 비트가 비트 예산 이하이거나, 기준이 충족되지 않는 경우
마지막으로, 단계는 마지막 넌제로 인코딩된 계수 lastnz를 구한다. 종래 기술의 방법이 선택된 경우에만 섹션 11.2에 설명된 바와 같이 (즉, 스펙트럼을 잘라내기 위해) 구한다. 새로운 방식을 선택하면 스펙트럼이 잘리지 않으며 lastnz는 단순히 마지막 넌제로 계수에 해당한다.
단계 6: 또한, 이 단계에서는 신호 비트도 부가 정보로 인코딩된다.
종래 기술의 방법이 선택된 경우 다른 인코더 단계는 동일하다. 새로운 방법이 선택되면 다음 단계가 추가/수정된다.
단계 7a-bis: 이것은 단계 7a 직후의 추가 단계이며, 이는 numbits> 2 인 경우 수행된다. 각 계수의 최하위 비트가 저장되고 LSB가 이제 0이 되도록 계수가 수정된다. 계수의 부호는 계수가 원래 넌제로이고 그 LSB를 0으로 설정한 후 0이 되는 경우에 또한 저장된다.
Figure 112020059118842-pat00009
단계 7d: 최하위 비트를 제외한 나머지 비트를 인코딩함
Figure 112020059118842-pat00010
Figure 112020059118842-pat00011
단계 9: 새로운 방법이 선택되면, 잔여 양자화/인코딩은 사용되지 않는다. 미사용 비트가 있는 경우, 이들은 lsbs[]에 저장된 nlsbs 비트를 인코딩하기 위해 사용된다 (단계 7a-bis 참조).
디코더
단계 2: 부가하여, 이 단계는 이하 또한 시그널링 비트를 디코딩한다.
종래의 방법이 선택된 경우, 다른 디코더 단계는 동일하다. 새로운 방법이 선택되면 다음 단계가 추가/수정된다.
단계 3a-bis: 이 단계는 단계 3a 직후의 추가 단계이다. 배열 numbits[n]에 numbits를 저장하므로 나중에 단계 6에서 재사용될 수 있다.
` 단계 3b: 최하위 비트를 제외한 나머지 비트를 디코딩한다.
Figure 112020059118842-pat00012
단계 6: 미사용 비트가 있으면, nlsbs 비트를 디코딩하여 이를 lsbs[]에 저장한다. 그런 다음 디코딩된 LSB 비트를 사용하여 numbits[n]> 2이면 계수(n, n+1)를 개선한다.
Figure 112020059118842-pat00013
Figure 112020059118842-pat00014
12) 도 14 내지 18에 따른 방법
도 14 내지 도 15는 본 발명의 실시 예에 따른 오디오 디코딩 방법의 흐름도를 도시한다.
도 16 내지 18은 본 발명의 실시 예에 따른 오디오 디코딩 방법의 흐름도를 도시한다.
상기 방법은 대응하는 장치와 관련하여 본 명세서에 기술된 임의의 특징 및 기능에 의해 그리고 언급된 기능에 의해 개별적으로 또는 조합하여 보충될 수 있음에 유의해야 한다.
13) 구현 대안
일부 양상들은 장치와 관련하여 설명되었지만, 이들 양상들은 또한 대응하는 방법의 설명을 나타내는 것이 명백하며, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 맥락에서 설명된 양상들은 또한 대응하는 장치의 대응하는 블록 또는 아이템 또는 특징의 설명을 나타낸다. 방법 단계들 중 일부 또는 전부는 예를 들어 마이크로 프로세서, 프로그램 가능 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해 (또는 이를 사용하여) 실행될 수 있다. 일부 실시 예들에서, 가장 중요한 방법 단계들 중 하나 이상이 그러한 장치에 의해 실행될 수 있다.
본 발명의 인코딩된 오디오 신호는 디지털 저장 매체에 저장되거나 무선 전송 매체와 같은 전송 매체 또는 인터넷과 같은 유선 전송 매체에서 전송될 수 있다.
특정 구현 요구 조건에 따라, 본 발명의 실시 예는 하드웨어 또는 소프트웨어로 구현될 수 있다. 이 구현은 전자적으로 판독 가능한 제어 신호를 저장한 플로피 디스크, DVD, 블루 레이, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리와 같은 디지털 저장 매체를 사용하여 수행될 수 있으며, 이들은 각각의 방법의 실행되도록 프로그램 가능한 컴퓨터 시스템과 협력한다 (또는 협력할 수 있다). 따라서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시 예는 본 명세서에 기술된 방법 중 하나가 수행되도록 프로그램 가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시 예는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법들 중 하나를 수행하도록 동작한다. 프로그램 코드는 예를 들어 기계 판독 가능 캐리어 상에 저장될 수 있다.
다른 실시 예는 머신 판독 가능 캐리어 상에 저장된, 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
다시 말해서, 본 발명의 방법의 실시 예는 컴퓨터 프로그램이 컴퓨터에서 실행될 때 본 명세서에 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 다른 실시 예는 여기에 기술된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하는 데이터 캐리어 (또는 디지털 저장 매체 또는 컴퓨터 판독 가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록된 매체는 일반적으로 유형 및/또는 비일시적이다.
그러므로, 본 발명의 방법의 다른 실시 예는 본 명세서에 기술된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호 시퀀스이다. 데이터 스트림 또는 신호 시퀀스는 예를 들어 인터넷을 통해, 데이터 통신 연결을 통해 전송되도록 구성될 수 있다.
추가의 실시 예는 본 명세서에서 기술된 방법 중 하나를 수행하도록 구성되거나 적응된 처리 수단, 예를 들어 컴퓨터 또는 프로그램 가능 논리 장치를 포함한다.
추가의 실시 예는 본 명세서에서 기술된 방법 중 하나를 수행하기 위해 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가의 실시 예는 본 명세서에 기술된 방법 중 하나를 수신기로 수행하기 위한 컴퓨터 프로그램을 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 장치, 메모리 장치 등일 수 있다. 장치 또는 시스템은 예를 들어, 컴퓨터 프로그램을 수신자에게 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시 예에서, 프로그램 가능 논리 장치 (예를 들어, 전계 프로그램 가능 게이트 어레이)는 본 명세서에 기술된 방법의 기능 중 일부 또는 전부를 수행하기 위해 사용될 수 있다. 일부 실시 예에서, 필드 프로그램 가능 게이트 어레이는 본 명세서에 기술된 방법 중 하나를 수행하기 위해 마이크로 프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 기술된 장치, 또는 본 명세서에 기술된 장치의 임의의 구성 요소는 적어도 부분적으로 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
본 명세서에 기술된 방법은 하드웨어 장치 또는 컴퓨터를 사용하거나, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 명세서에 기술된 방법 또는 본 명세서에 기술된 장치의 임의의 구성 요소는 적어도 부분적으로 하드웨어 및/또는 소프트웨어에 의해 수행될 수 있다.
전술한 실시 예는 단지 본 발명의 원리를 설명하기 위한 것일 뿐이다. 본 명세서에 기술된 구성 및 세부 사항의 수정 및 변형은 당업자에게 명백할 것이다. 그러므로, 본 특허 청구 범위에 의해서만 제한되고 본 명세서의 실시 예의 설명에 의해 제시된 특정 세부 사항에 의해 제한되는 것은 아니다.
본 분할출원은 원출원의 최초 청구항 내용을 실시예로서 아래에 포함하였다.
[실시예 1]
인코딩된 오디오 정보(110; 210; 710)에 기초하여 디코딩된 오디오 정보(112; 212; 712)를 제공하기 위한 오디오 디코더(100; 200; 700)에 있어서,
상기 오디오 디코더는 디코딩된 스펙트럼 값(132; 232; 732; Xq[n], Xq[n+1])을 상기 스펙트럼 값을 나타내는 인코딩된 정보(130; 230)에 기초하여 획득하도록 구성되며,
상기 오디오 디코더는 산술 디코딩을 사용하여 스펙트럼 값 세트에 대해 각각의 심볼 코드(sym)에 기초하여 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동으로 디코딩(950; 1110a-1110g)하도록 구성되고,
각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타내고,
상기 오디오 디코더는 이용 가능한 최소 비트 정보의 양에 따라 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최소 비트를 디코딩(972; 1140a-1141j)하도록 구성되어, 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해 최하위 비트가 디코딩되지 않도록 하고,
상기 오디오 디코더는 상기 스펙트럼 값을 이용하여 상기 디코딩된 오디오 정보를 제공하도록 구성되는, 디코더.
[실시예 2]
제1실시예에 있어서, 상기 오디오 디코더는 적어도 하나의 스펙트럼 값의 적어도 두 개의 최상위 비트를 나타내는, 산술적으로 인코딩된 표현의 하나의 심볼(sym)을, 상기 적어도 하나의 스펙트럼 값의 상기 적어도 두 개의 최상위 비트에 매핑(1110f, 1110g)하도록 구성되는, 디코더.
[실시예 3]
제1실시예 또는 제2실시예에 있어서, 상기 산술 디코딩은 적어도 상기 적어도 두 개의 최상위 비트의 비트 위치(numbits, numbits-1)를 결정하고(1110a, 1110e), 상기 산술적으로 인코딩된 표현의 심볼(sym)에 의해 결정된 상기 적어도 두 개의 최상위 비트를 상기 결정된 비트 위치에 할당(1110f, 1110g)하도록 구성되는, 디코더.
[실시예 4]
제1실시예 내지 제3실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 두 개 이상의 최상위 비트가 디코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 디코딩(954; 1120a-1120e)하도록 구성되는, 디코더.
[실시예 5]
제1실시예 내지 제4실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 제1 디코딩 단계에서,
스펙트럼 값(950; 1110a-1110g) 당 두 개 이상의 최상위 비트,
두 개 이상의 최상위 비트가 디코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이에 있는, 하나 이상의 중간 비트(954; 1120a-1120e), 및
두 개 이상의 최상위 비트가 디코딩되고 상기 두 개 이상의 최상위 비트와 중간 비트가 - 중간 비트가 존재하는 한 - 넌제로 값을 나타내는 모든 스펙트럼 값에 대해, 부호(958; 1130a-1131d)
를 디코딩하도록 구성되고,
상기 오디오 디코더는 상기 제1 디코딩 단계에서, 상기 두 개 이상의 최상위 비트 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 디코딩을 선택적으로 생략(1130a, 1131a)하도록 구성되고,
상기 오디오 디코더는 상기 제1 디코딩 단계 이후 제2 디코딩 단계에서, 상기 두 개 이상의 최상위 값 및 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해, 부호 정보를 선택적으로 취득(972; 1140h-1140j, 1141h-1141j)하도록 구성되는, 디코더.
[실시예 6]
제1실시예 내지 제5실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 상기 스펙트럼 값들과 관련된 최하위 비트 값을 획득하기 위해서 최하위 비트 정보 비트 시퀀스(lsbs[])의 후속 비트들을 순차적으로 사용(1140e, 1140i, 1141e, 1141i)하도록 구성되는, 디코더.
[실시예 7]
제6실시예에 있어서, 상기 오디오 디코더는 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 사용(1140e, 1141e)하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 최하위 비트 값을 취득하기 위해 사용되고(1140f, 1140g, 1141f, 1141g);
상기 오디오 디코더는 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값들에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 사용(1140e, 1141e)하도록 구성되고 - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트가 상기 제로 값을 확인함 - ;
상기 오디오 디코더는 상기 두 개의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트를 사용(1140e, 1140i, 1141e, 1141i)하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 사용된 두 비트 중 제2 비트는 상기 각각의 스펙트럼 값의 부호를 결정(1140j, 1141j)하는, 디코더.
[실시예 8]
제1실시예 내지 제7실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 최저 주파수 스펙트럼 값과 연관된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 연관된 스펙트럼 값으로 진행하면서 최하위 비트들을 디코딩(972; 1140a-1141j)하도록 구성되어,
스펙트럼 값이 최저 주파수 스펙트럼 값에서 마지막 최하위 비트 정보가 이용 가능한 스펙트럼 값까지의 범위에서 최하위 비트 정보에 의해 개선되고, 상기 마지막 최하위 비트 정보가 이용 가능한 상기 스펙트럼 값과 연관된 주파수 보다 더 높은 관련 주파수를 갖는 스펙트럼 값은 개선되지 않고 유지되는, 디코더.
[실시예 9]
제1실시예 내지 제8실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는,
상기 인코더로부터의 시그널링에 응답하여 고 주파수 범위의 스펙트럼 값의 디코딩이 생략되고 하나 또는 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코딩(934)되는 제1 모드(930, 934, 938, 942, 944, 948), 및
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩(972)되는 반면, 하나 이상의 최상위 비트가 디코드되고 상기 최상위 비트 보다 더 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제1 모드 (950, 954, 958, 962, 968, 972)
사이에서 전환 가능하게 구성되는, 디코더.
[실시예 10]
제9실시예에 있어서, 상기 오디오 디코더는 상기 오디오 디코더가 상기 제1 모드 또는 상기 제2 모드에서 동작하는지를 결정하기 위해 상기 인코딩된 오디오 정보에 포함된 비트스트림 플래그를 평가하도록 구성되는, 디코더.
[실시예 11]
제1실시예 내지 제10실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 각각의 심볼 코드에 기초하여 적어도 두 개의 스펙트럼 값(Xq[n], Xq[n+1]에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동으로 디코딩(950; 1110a-1110g)하도록 구성되고,
각각의 심벌 코드는 적어도 두 개의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타내는, 디코더.
[실시예 12]
제1실시예 내지 제11실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 다음 알고리즘에 따라 스펙트럼 값을 디코딩하도록 구성되는, 디코더:
다음에 따라, 두 계수
Figure 112020059118842-pat00015
Figure 112020059118842-pat00016
의 두 개의 최상위 비트를 디코드한다:
numbits = 1;
do {
컨텍스트 c로부터 확률 p를 구함
산술 디코딩과 확률 p로 심볼 sym을 디코딩함
컨텍스트 c룰 갱신함
numbits++;
} while (sym==VAL_ESC)
Xq[n] = (sym & 3) << (numbits-2);
Xq[n+1] = (sym >> 2) << (numbits-2);
다음에 따라, 남은 비트가 있다면, 상기 최하위 비트를 제외하고 남은 비트를 디코딩한다:
for (b = 1; b < numbits-2; b++) {
Decode bit0
Xq[n] += bit0 << b
Decode bit1
Xq[n+1] += bit1 << b
}
다음에 따라, 상기 최상위 비트가 제로이고 상기 남은 비트가 제로인 경우를 제외하고, 각 계수의 부호를 디코딩한다:
if (Xq[n] != 0 ) {
Decode bit0
if (bit0 == 1) {
Xq[n] = -Xq[n];
}
}
if (Xq[n+1] != 0) {
Decode bit1
if (bit1 == 1) {
Xq[n+1] = -Xq[n+1];
}
}
모든 계수 n >= lastnz를 제로로 설정하고, 여기에서 lastnz는 상기 인코딩된 오디오 표현으로부터 취득된 부가 정보에 기초하여 취득된다;
상기 산술 디코딩을 완결하고 미사용 비트의 수를 계산한다;
미사용 비트가 있으면, nlsbs 비트를 디코딩하고 이를 데이터 구조 lsbs[]에 저장하고; 다음에 따라, 상기 디코딩된 LSB 비트를 이용하여 numbits[n]>2 인 경우 계수((Xq(n),Xq(n+1))를 개선한다:
k = 0;
for (n = 0; n < lastnz; n+=2) {
if (numbits[n] > 2) {
if (k == nlsbs) {
break;
}
bit0 = lsbs[k++];
if (bit0 == 1) {
if (Xq[n] > 0) {
Xq[n] += 1;
} else if (Xq[n] < 0) {
Xq[n] -= 1;
} else {
if (k == nlsbs) {
break;
}
bit1 = lsbs[k++];
Xq[n] = 1 - 2*bit1;
}
}
if (k == nlsbs) {
break;
}
bit0 = lsbs[k++];
if (bit0 == 1) {
if (Xq[n+1] > 0) {
Xq[n+1] += 1;
} else if (Xq[n+1] < 0) {
Xq[n+1] -= 1;
} else {
if (k == nlsbs) {
break;
}
bit1 = lsbs[k++];
Xq[n+1] = 1 - 2*bit1;
}
}
}
}
[실시예 13]
인코딩된 오디오 정보(110; 210; 710)에 기초하여 디코딩된 오디오 정보(112; 212; 712)를 제공하기 위한 오디오 디코더(100; 200; 700)에 있어서,
상기 오디오 디코더는 상기 스펙트럼 값을 나타내는 인코딩된 정보(130; 230)에 기초하여 디코딩된 스펙트럼 값(132; 232; 732; Xq[n], Xq[n+1]을 획득하도록 구성되며,
상기 오디오 디코더는 복수의 스펙터럼 값(Xq[0] ... Xq[lastnz-1])에 대해 각각의 심볼 코드(sym)에 기초하여 하나 이상의 최상위 비트를 디코딩하고(950; 1110a-1110g), 상기 스펙트럼 값 중 하나 이상에 대해 하나 이상의 최하위 비트를 디코딩하도록 구성되고,
상기 오디오 디코더는,
상기 인코더로부터의 시그널링에 응답하여 고 주파수 범위의 스펙트럼 값의 디코딩이 생략되고 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코드(934)되는 제1 모드(930, 934, 938, 942, 944, 948), 및
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드(950, 954, 958, 962, 968, 972)
사이에서 전환 가능하게 구성되고;
상기 오디오 디코더는 상기 스펙트럼 값을 이용하여 상기 디코딩된 오디오 정보를 제공하도록 구성되는, 디코더.
[실시예 14]
제13실시예에 있어서, 상기 산술 디코딩은 상기 하나 이상의 최상위 비트의 비트 위치(numbits, numbits-1)를 결정하고(950; 1110a-1110e), 상기 산술적으로 인코딩된 표현의 심볼에 의해 결정된 상기 하나 이상의 최상위 비트를 상기 결정된 비트 위치에 할당(1110f, 1110g)하도록 구성되는, 디코더.
[실시예 15]
제13실시예 및 제14실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는, 하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 디코딩(954; 1120a-1120e)하도록 구성되는, 디코더.
[실시예 16]
제13실시예 내지 제15실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 상기 제2 모드에서 동작할 때, 제1 디코딩 단계에서,
스펙트럼 값 당 하나 이상의 최상위 비트,
하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는, 하나 이상의 중간 비트, 및
하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트와 임의의 중간 비트가 - 중간 비트가 존재하는 한 - 넌제로 값을 나타내는 모든 스펙트럼 값에 대해, 부호
를 디코딩하도록 구성되고;
상기 오디오 디코더는 상기 제2 모드에서 동작할 때, 상기 제1 디코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 디코딩을 선택적으로 생략하도록 구성되고;
상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 상기 제1 디코딩 단계 다음에 오는 제2 디코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해서, 부호 정보를 선택적으로 획득하도록 구성되는, 디코더.
[실시예 17]
제13실시예 내지 제16실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 상기 제2 모드에서 동작할 때, 상기 스펙트럼 값과 관련된 최하위 비트 값을 획득하기 위해 최하위 비트 정보 비트 시퀀스의 후속 비트를 순차적으로 사용하도록 구성되는, 디코더.
[실시예 18]
제17실시예에 있어서, 상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 사용하도록 구성되고, - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 최하위 비트 값을 얻기 위해 사용됨 - ;
상기 오디오 디코더는, 제2 모드에서 동작할 때, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 사용하도록 구성되고, - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 상기 제로 값을 확인함 - ;
상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 이 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트를 사용하도록 구성되고 - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 사용된 두 비트 중 제2 비트는 상기 각각의 스펙트럼 값의 부호를 결정하는, 디코더.
[실시예 19]
제13실시예 내지 제18실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 가장 낮은 주파수 스펙트럼 값과 관련된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 관련된 스펙트럼 값으로 진행하면서 최하위 비트들을 디코딩하도록 구성되어,
스펙트럼 값이 최저 주파수 스펙트럼 값에서 마지막 최하위 비트 정보가 이용 가능한 스펙트럼 값 까지의 범위에서 최하위 비트 정보에 의해 개선되고, 상기 마지막 최하위 비트 정보가 이용 가능한 상기 스펙트럼 값과 관련된 주파수 보다 더 높은 관련 주파수를 갖는 스펙트럼 값은 개선되지 않고 유지되는, 디코더.
[실시예 20]
제13실시예 내지 제19실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 상기 오디오 디코더가 상기 제1 모드에서 동작하는지 또는 상기 제2 모드에서 동작하는지를 결정하기 위해서 상기 인코딩된 오디오 정보에 포함된 비트스트림 플래그를 평가하도록 구성되는, 디코더.
[실시예 21]
제13실시예 내지 제20실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 제1 모드에서 연속되는 비트 시퀀스로부터 임의의 스펙트럼 값과 연관된 상기 최하위 비트를 획득(934)하도록 구성되고,
상기 오디오 디코더는 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 상기 제2 모드에서 개별의 비트 시퀀스로부터 또는 비트 시퀀스의 개별의 비연속적인 비트 위치로부터 임의의 스펙트럼 값(972)과 연관된 상기 최하위 비트를 취득(954)하도록 구성되는, 디코더.
[실시예 22]
제13실시예 내지 제21실시예 중 어느 한 실시예에 있어서, 상기 오디오 디코더는 상기 제1 모드에서 상기 하나 이상의 최상위 비트, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 임의의 중간 비트, 및 임의의 스펙트럼 값과 연관된 상기 최하위 비트의 디코딩 후에만 스펙트럼 값과 연관된 부호 정보를, 상기 하나 이상의 최상위 비트, 상기 중간 비트 및 상기 최하위 비트가 제로 값을 나타내는지의 여부에 따라, 선택적으로 획득(938)하도록 구성되고,
상기 오디오 디코더는 상기 하나 이상의 최상위 비트 및 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 임의의 중간 비트의 디코딩 이후, 상기 제2 모드에서 임의의 스펙트럼 값과 연관된 최하위 비트가 디코딩 되기 전에, 스펙트럼 값과 관련된 부호 정보를, 상기 하나 이상의 최상위 비트 및 상기 중간 비트가 제로 값을 나타내는지의 여부에 따라, 선택적으로 획득(958; 1130a-1131d)하도록 구성된, 디코더.
[실시예 23]
입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 제공하기 위한 오디오 인코더(300; 400; 500; 600)에 있어서,
상기 오디오 인코더는 상기 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값(330; 662; Xq[n])을 획득(620, 630, 640, 650, 660)하도록 구성되고,
상기 오디오 인코더는 상기 스펙트럼 값들을 나타내는 인코딩된 정보(350,450,550,672; sym, lsbs[])를 얻기 위해, 적어도 복수의 스펙트럼 값들을 인코딩(670; 800)하도록 구성되고;
상기 오디오 인코더는 산술 인코딩을 사용하여 스펙트럼 값 세트(Xq[0]… Xq[lastnz-1])에 대해 각각의 심볼 코드(sym)를 얻기 위해, 스펙트럼 값 당 두 개 이상의 최상위 비트들을 공동으로 인코딩(878, 886, 890; 1000a, 1020a, 1040a-1040d)하도록 구성되고,
각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타내고,
상기 오디오 인코더는 이용 가능한 비트 예산에 의존하여 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트를 인코딩(882; 898; 1010a-1010e, 1011a-1011e)하도록 구성되어,
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는 반면, 두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해 최하위 비트가 인코딩되지 않도록 하고;
상기 오디오 인코더는 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하도록 구성되는, 인코더.
[실시예 24]
제23실시예에 있어서, 상기 산술 인코딩은 상기 적어도 두 개의 최상위 비트의 비트 위치(numbits, numbits-1)를 결정하고(878; 1000a) 상기 비트 위치를 기술하는 정보를 산술적으로 인코딩된 표현에 포함(886,1020a)하도록 구성되는, 인코더.
[실시예 25]
제23실시예 또는 제24실시예에 있어서, 상기 오디오 인코더는 상기 적어도 하나의 스펙트럼 값(Xq[n, Xq[n+1)의 적어도 두 개의 최상위 비트를, 적어도 하나의 스펙트럼 값의 상기 적어도 두 개의 최상위 비트를 나타내는, 산술적으로 인코딩된 표현의 하나의 심볼(sym)에 매핑(890; 1040a-1040d)하도록 구성되는, 인코더.
[실시예 26]
제23실시예 내지 제25실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 인코딩(892; 1050a-1050c)하도록 구성되는, 인코더.
[실시예 27]
제23실시예 내지 제26실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는, 제1 인코딩 단계에서,
스펙트럼 값 당 두 개 이상의 최상위 비트(878,886, 890; 1000a, 1020a, 1040a-1040d),
두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 두 개 이상의 최상위 비트 사이인 하나 이상의 중간 비트(892; 1050a-1050c), 및
두 개 이상의 최상위 비트가 인코딩되고 상기 두 개 이상의 최상위 비트와 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 모든 스펙트럼 값에 대해서, 부호(894; 1060a-1061c)
를 인코딩하도록 구성되고,
상기 오디오 인코더는 상기 제1 인코딩 단계에서, 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 인코딩을 선택적으로 생략(1060a, 1061a)하도록 구성되고;
상기 오디오 인코더는, 상기 제2 인코딩 단계에서, 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해서 부호 정보(1010e, 1011e)를 선택적으로 인코딩(898)하도록 구성되는, 인코더.
[실시예 28]
제23실시예 내지 제27실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 0에서 최하위 비트 만큼 다른 스펙트럼 값에 대해, 스펙트럼 값의 상기 최하위 비트가 실재로 인코딩되면, 부호 정보를 상기 인코딩된 오디오 표현에 포함(882,898; 1010c-1010e, 1011c-1011e)시키도록 구성되는, 인코더.
[실시예 29]
제23실시예 내지 제28실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 상기 스펙트럼 값들과 연관된 최하위 비트 값들을 인코딩하기 위해서 최하위 비트 정보 비트 시퀀스(lsbs[])의 후속 비트들을 순차적으로 제공하도록 구성되는, 인코더.
[실시예 30]
제29실시예에 있어서, 상기 오디오 인코더는 상기 두 개 이상의 최상위 비트 값과 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스(lsbs[])의 단일 비트(bit)를 제공(882, 898; 1010a, 1010b, 1011a, 1011b)하도록 구성되고, - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 최하위 비트 값을 인코딩하기 위해 사용됨 - ;
상기 오디오 인코더는 상기 두 개 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 제공(882, 898; 1010a, 1010b, 1011a, 1011b)하도록 구성되고 - 상기 최하위 비트 정보 비트 시퀀스의 상기 제공된 단일 비트는 상기 제로 값을 확인함 - ; 및
상기 오디오 인코더는 상기 두 개의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트를 제공(882, 898; 1010a, 1010b, 1010d, 1010e, 1011a, 1011b, 1011d, 1011e)하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 제공된 두 비트 중 제2 비트는 상기 각각의 스펙트럼 값의 부호를 인코딩하는, 인코더.
[실시예 31]
제23실시예 내지 제30실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 최저 주파수 스펙트럼 값과 연관된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 연관된 스펙트럼 값으로 진행하면서 최하위 비트들을 인코딩(882, 898; 1140a-1141j)하도록 구성되어,
최하위 비트 비트 정보에 의해 스펙트럼 값들을 개선하기 위한 인코딩된 정보가 최하위 주파수 스펙트럼 값으로부터 마지막 최하위 비트 정보가 제공되는 스펙트럼 값까지의 범위에서 제공되고,
최하위 비트 정보에 의해 스펙트럼 값들을 개선하기 위한 인코딩된 정보가 상기 마지막 최하위 비트 정보가 제공되는 상기 스펙트럼 값과 연관된 주파수 보다 높은 관련 주파수를 갖는 스펙트럼 값에 대해서는 제공되지 않는, 인코더.
[실시예 32]
제23실시예 내지 제31실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는,
이용 가능한 비트 예산이 저 주파수 범위에서 스펙트럼 값의 인코딩으로 소진한 경우 고 주파수 범위에서 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고(848, 852, 856) 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩(860)되는 제1 모드(840, 844, 848, 852, 856, 860, 864, 868, 869) 및
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는(898) 반면, 하나 이상의 최상위 비트가 인코드되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드(870, 874, 878, 882, 886, 890, 892, 894, 896, 898) 사이에서 전환 가능하게 구성되는, 인코더.
[실시예 33]
제32실시예에 있어서, 상기 오디오 인코더는 상기 오디오 인코더가 상기 제1 모드에서 동작하는지 또는 상기 제2 모드에서 동작하는지를 나타내기 위해 상기 인코딩된 오디오 정보에 포함된 비트스트림 플래그를 제공하도록 구성되는, 인코더.
[실시예 34]
제23실시예 내지 제33실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 각각의 심볼 코드(sym)를 사용하여 적어도 두 개의 스펙트럼 값(Xq[n], Xq[n+1])에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동으로 인코딩(878, 886, 890; 1000a, 1020a, 1040a-1040d)하도록 구성되고,
각각의 심벌 코드는 적어도 두 개의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타내는, 인코더.
[실시예 35]
제23실시예 내지 제34실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 실제 최고 주파수 넌제로 스펙트럼 값을 결정하고, 모든 넌제로 스펙트럼 값 또는 모든 넌제로 스펙트럼 값 그룹의 적어도 둘 이상의 최상위 비트를 인코딩하도록 구성되는, 인코더.
[실시예 36]
제23실시예 내지 제35 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 모든 넌제로 스펙트럼 값에 대해 최하위 비트를 제외한 모든 비트를 인코딩(878, 886, 890, 892)하도록 구성되고,
상기 오디오 인코더는 비트 예산이 소진될 때까지 스펙트럼 값들에 대한 최하위 비트를 인코딩(882,898)하도록 구성되는, 인코더.
[실시예 37]
제23실시예 내지 제36실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 스펙트럼 값을 양자화(660)하는 양자화 단계를 결정하고, 상기 양자화된 스펙트럼 값을 인코딩하기 위한 비트 요구를 결정하는 이득 정보를 획득(810; 814, 818, 82)하도록 구성되는, 인코더.
[실시예 38]
입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 제공하기 위한 오디오 인코더(300; 400; 500; 600)에 있어서,
상기 오디오 인코더는 상기 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값을 획득(620, 630, 640, 650, 660)하도록 구성되고,
상기 오디오 인코더는 상기 스펙트럼 값들을 나타내는 인코딩된 정보(350, 450, 550, 672; sym, lsbs[])를 얻기 위해서, 적어도 복수의 스펙트럼 값들을 인코딩(670; 800)하도록 구성되고;
상기 오디오 인코더는 복수의 스펙트럼 값(Xq[0] ... Xq[lastnz-1])에 대한 각각의 심볼 코드를 취득하고, 스펙트럼 값 중 하나 이상에 대해 하나 이상의 최하위 비트를 인코딩하기 위해서, 하나 이상의 최상위 비트를 인코딩(882; 898; 1010a-1010e, 1011a-1011e)하도록 구성되고,
각각의 심볼 코드(sym)는 하나 이상의 스펙트럼 값(Xq[n], Xq[n+1])에 대해 하나 이상의 최상위 비트 값을 나타내고,
상기 오디오 인코더는,
이용 가능한 비트 예산이 저 주파수 범위에서 스펙트럼 값의 인코딩으로 소진한 경우 고 주파수 범위에서 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고(848, 852, 856) 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩(860)되는 제1 모드(840, 844, 848, 852, 856, 860, 864, 868, 869) 및
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는(898) 반면, 하나 이상의 최상위 비트가 인코드되고 상기 최상위 비트 보다 더 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드(870, 874, 878, 882, 886, 890, 892, 894, 896, 898)
사이에서 전환 가능하게 구성되고,
상기 오디오 인코더는 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하도록 구성되는, 인코더.
[실시예 39]
제38실시예에 있어서, 상기 오디오 인코더는 상기 제2 모드에서 모든 넌제로 스펙트럼 값 또는 모든 넌제로 스펙트럼 값의 그룹의 적어도 하나 이상의 최상위 비트를 인코딩(878,886,890)하도록 구성되는, 인코더.
[실시예 40]
제38실시예 및 제39실시예에 있어서, 상기 오디오 인코더는 상기 제1 모드에서 동작할 때, 비트 예산이 충분하지 않은 경우, 스펙트럼 값이 인코딩되는 주파수 범위를 제한하도록 구성되어, 하나 이상의 스펙트럼 값이 상기 스펙트럼 값의 인코딩시 고려되지 않고 유지되는, 인코더.
[실시예 41]
제40실시예에 있어서, 상기 오디오 인코더는, 상기 제1 모드에서 동작할 때, 최대 주파수 값을 결정하고, 상기 제1 모드에서 동작할 때, 상기 최대 주파수까지의 스펙트럼 값을 인코딩하고(848, 852, 856, 60), 상기 제1 모드에서 동작할 때, 상기 스펙트럼 값이 넌제로인 경우에도 상기 최대 주파수를 초과하는 스펙트럼 값이 인코딩되지 않고 유지되도록 구성되고,
상기 오디오 인코더는, 상기 제1 모드에서 동작할 때, 모든 스펙트럼 값을 인코딩하기 위한 비트 요구의 계산 또는 추정에 의존하여, 상기 최대 주파수 값을 선택하도록 구성되어, 상기 계산되거나 추정된 비트 수요가 비트 예산을 초과하는 경우 인코딩될 스펙트럼 값의 수가 감소되게 하고,
상기 오디오 인코더는 상기 제2 모드에서 동작할 때 상기 최대 주파수 값을 결정하고, 상기 제2 모드에서 동작할 때 스펙트럼 값을 상기 최대 값까지 인코딩하고(878, 882, 886, 890, 898), 상기 제2 모드에서 동작할 때, 상기 최대 주파수 이상의 스펙트럼 값을 인코딩하지 않고 유지하도록 구성되고,
상기 오디오 인코더는, 상기 제2 모드에서 동작할 때, 모든 넌제로 스펙트럼 값 또는 모든 넌제로 스펙트럼 값의 그룹의 적어도 하나 이상의 최상위 비트가 인코딩되고 최대 제로 값의 스펙트럼 값이 인코딩되지 않고 유지되도록 상기 최대 주파수를 선택하도록 구성되는, 인코더.
[실시예 42]
제40실시예 또는 제41실시예에 있어서, 상기 오디오 인코더는 상기 인코딩된 오디오 정보에 상기 최대 주파수를 기술하는 정보(lastnz)를 포함하도록 구성되는, 인코더.
[실시예 43]
제38실시예 내지 제42실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 이용 가능한 비트 전송률에 의존하여 상기 제1 모드를 사용할지 또는 상기 제2 모드를 사용할지 모드 결정(830)을 행하도록 구성되는, 인코더.
[실시예 44]
제38실시예 내지 제43실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는, 최상위 비트 인코딩 단계에서 인코딩된 하나 이상의 최상위 비트에 더하여, 비트 요구 및 비트 예산에 따라 그 인코딩이 선택적으로 생략될 수 있는, 하나 이상의 최하위 비트를, 포함하는 다수의 스펙트럼 값이나 스펙트럼 값의 그룹에 의존하여, 상기 제1 모드를 이용할지 또는 상기 제2 모드를 이용할지에 대해 모드 결정(830)을 행하도록 구성되는, 인코더.
[실시예 45]
제38실시예 내지 제44실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 상기 오디오 인코더가 상기 제1 모드에서 동작하는지 또는 상기 제2 모드에서 동작하는지를 나타내는 상기 인코딩된 오디오 정보에 비트스트림 플래그를 포함하도록 구성되는, 인코더.
[실시예 46]
제38실시예 내지 제45실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 상기 제1 모드에서 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 상기 제1 모드에서 임의의 스펙트럼 값과 연관된 상기 최하위 비트를, 연속적인 비트 시퀀스로 인코딩(860)하도록 구성되고,
상기 오디오 인코더는 상기 제2 모드에서 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 임의의 스펙트럼 값(882, 898)과 연관된 상기 최하위 비트를, 개별의 비트 시퀀스 또는 비트 시퀀스의 개별의 비연속적인 비트 위치에 인코딩(892)하도록 구성되는, 인코더.
[실시예 47]
제38실시예 내지 제46실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는, 상기 제1 모드에서 동작할 때, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트와 연관된 비트 시퀀스의 스펙트럼 값과 연관된 부호 정보, 및 최하위 비트를 인코딩(864)하도록 구성되고,
상기 오디오 인코더는 상기 제2 모드에서 동작할 때, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트와 관련된 비트 시퀀스에서 스펙트럼 값과 관련된 부호 정보, 및 최하위 비트 및 부호 정보(882, 898)와 관련된 비트 시퀀스(lsbs[])의 부호 정보(894)를 선택적으로 인코딩하도록 구성되어, 0에서 최하위 비트 값 만큼 벗어난 스펙트럼 값에 대한 부호 정보가 최하위 비트 값 및 부호 정보와 관련이 있는 비트 시퀀스에서 인코딩되는, 인코더.
[실시예 48]
입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 제공하기 위한 오디오 인코더(300; 400; 500; 600)에 있어서,
상기 오디오 인코더는 상기 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값(330; 662; Xq[n])을 획득(620, 630, 640, 650, 660)하도록 구성되고,
상기 오디오 인코더는 상기 스펙트럼 값들을 나타내는 인코딩된 정보(350, 450, 550, 672; sym, lsbs[])를 얻기 위해서, 적어도 복수의 스펙트럼 값들을 인코딩(670; 800)하도록 구성되고;
상기 오디오 인코더는 스펙트럼 값을 양자화하는 양자화 단계를 결정하고, 상기 양자화된 스펙트럼 값을 인코딩하기 위한 비트 요구를 결정하는 이득 정보를 획득(810, 814, 818, 822)하도록 구성되고;
상기 오디오 인코더는 산술 인코딩을 이용하여 복수의 스펙트럼 값(Xq[0] ... Xq[lastnz-1)에 대해 각각의 심볼 코드(sym)를 사용하여 하나 이상의 최상위 비트를 인코딩(878, 886, 890; 1000a, 1020a, 1040a-1040d)하고, 상기 스펙트럼 값의 하나 이상에 대해 하나 이상의 최하위 비트를 인코딩하도록 구성되고,
각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 하나 이상의 최상위 비트를 나타내고,
상기 오디오 인코더는 이용 가능한 비트 예산에 의존하여 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트를 인코딩(882; 898; 1010a-1010e, 1011a-1011e)하도록 구성되고;
상기 스펙트럼 값 중 하나 이상과 연관된 하나 이상의 최하위 비트가 인코딩되는 반면, 하나 이상의 최상위 비트가 인코딩되고 보다 상기 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않도록 하고;
상기 오디오 인코더는 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하도록 구성되는, 인코더.
[실시예 49]
제48실시예에 있어서, 상기 오디오 인코더는 스펙트럼 값의 그룹의 에너지에 기초하여 상기 이득 정보의 제1 추정치를 획득하고(810),
상기 제1 추정치의 이득 정보를 사용하여 스펙트럼 값 세트를 양자화하고(814),
상기 제1 추정치의 이득 정보를 이용하거나 개선된 이득 정보를 이용하여 양자화된 상기 스펙트럼 값 세트를 인코딩하는데 필요한 다수의 비트를 계산 또는 추정하고(818),
필요한 비트 수에 따라 상기 제1 모드를 사용할지 또는 상기 제2 모드를 사용할지를 결정(830)하도록 구성된, 인코더.
[실시예 50]
제48실시예 또는 제49실시예에 있어서, 상기 오디오 인코더는,
이용 가능한 비트 예산이 저 주파수 범위에서 인코딩된 스펙트럼 값에 의해 소진한 경우 고 주파수 범위에서 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해서는 최하위 비트가 인코딩되는 제1 모드와,
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는 반면, 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드
사이에서 전환 가능하게 구성되고,
상기 오디오 인코더는 필요한 비트 수에 따라 그리고 얼마나 많은 스펙트럼 값이 상기 하나 이상의 최상위 비트 보다 많은 비트를 포함하는지를 나타내는 기준에 따라 상기 제1 모드를 사용할지 또는 상기 제2 모드를 사용할지를 결정하도록 구성되는, 인코더.
[실시예 51]
제48실시예 또는 제49실시예에 있어서, 상기 오디오 인코더는,
이용 가능한 비트 예산이 저 주파수 범위에서 인코딩된 스펙트럼 값에 의해 소진한 경우 고 주파수 범위에서 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩되는 제1 모드와,
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는 반면, 하나 이상의 최상위 비트가 인코드되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드
사이에서 전환 가능하게 구성되고,
상기 오디오 인코더는 필요한 비트 수에 따라 그리고 비트 전송률에 따라 상기 제1 모드를 사용할지 또는 상기 제2 모드를 사용할지를 결정하도록 구성되어, 비트 전송률이 임계 비트 전송률 보다 크거나 같은 경우에 그리고 상기 스펙트럼 값의 세트을 인코딩하는 데에 필요한 계산되거나 추정된 비트 수가 비트 예산 보다 큰 경우에 상기 제2 모드가 선택되는, 인코더.
[실시예 52]
제38실시예 내지 제51실시예 중 어느 한 실시예에 있어서, 상기 산술 인코딩은 상기 하나 이상의 최상위 비트의 비트 위치를 결정하고 상기 비트 위치를 기술하는 정보를 산술적으로 인코딩된 표현에 포함하도록 구성되는, 인코더.
[실시예 53]
제38실시예 내지 제52실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 상기 적어도 하나의 스펙트럼 값의 적어도 두 개의 최상위 비트를, 상기 적어도 하나의 스펙트럼 값의 적어도 두 개의 최상위 비트를 나타내는, 산술적으로 인코딩된 표현의 하나의 심볼에 매핑하도록 구성되는, 인코더.
[실시예 54]
제38실시예 내지 제53실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 하나 이상의 최상위 비트가 인코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 인코딩하도록 구성되는, 인코더.
[실시예 55]
제38실시예 내지 제54실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 제1 인코딩 단계에서,
스펙트럼 값 당 하나 이상의 최상위 비트,
하나 이상의 최상위 비트가 인코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는, 하나 이상의 중간 비트, 및
하나 이상의 최상위 비트가 인코딩되고 상기 하나 이상의 최상위 비트와 임의의 중간 비트가 - 중간 비트가 존재하는 한 - 넌제로 값을 나타내는 모든 스펙트럼 값에 대해, 부호
를 인코딩하도록 구성되고;
상기 오디오 인코더는 상기 제1 인코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 인코딩을 선택적으로 생략하도록 구성되고;
상기 오디오 인코더는, 상기 제1 인코딩 단계에 이어지는 제2 인코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해서, 부호 정보를 선택적으로 인코딩하도록 구성되는, 인코더.
[실시예 56]
제38실시예 내지 제55실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 스펙트럼 값의 상기 최하위 비트가 실제로 인코딩되는 경우 0에서 최하위 비트 만큼 다른 스펙트럼 값에 대해 상기 인코딩된 오디오 표현에 부호 정보를 포함하도록 구성되는, 인코더.
[실시예 57]
제38실시예 내지 제56실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 상기 스펙트럼 값과 관련된 최하위 비트 값을 인코딩하기 위해 최하위 비트 정보 비트 시퀀스의 후속 비트를 순차적으로 제공하도록 구성되는, 인코더.
[실시예 58]
제57실시예에 있어서, 상기 오디오 인코더는 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 제공하도록 구성되고, - 상기 최하위 비트 비트 정보 비트 시퀀스의 상기 사용된 단일 비트가 최하위 비트 값을 인코딩하기 위해 사용됨 - ;
상기 오디오 인코더는 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 이 제로 값을 나타내는 각각의 스펙트럼 값들에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 제공하도록 구성되고 - 상기 최하위 비트 정보 비트 시퀀스의 상기 제공된 단일 비트는 상기 제로 값을 확인함 - ; 및
상기 오디오 인코더는 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트를 제공하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 제공된 두 비트 중 제2 비트는 상기 각각의 스펙트럼 값의 부호를 인코딩하는, 인코더.
[실시예 59]
제38실시예 내지 제58실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 최저 주파수 스펙트럼 값과 관련된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 관련된 스펙트럼 값으로 진행하면서 최하위 비트들을 인코딩하도록 구성되어,
최하위 비트 비트 정보에 의해 스펙트럼 값들을 개선하기 위한 인코딩된 정보가 최하위 주파수 스펙트럼 값으로부터 마지막 최하위 최하위 비트 정보가 제공되는 스펙트럼 값까지의 범위에서 제공되고,
최하위 비트 정보에 의해 스펙트럼 값들을 개선하기 위한 인코딩된 정보가 상기 마지막 최하위 비트 정보가 제공되는 상기 스펙트럼 값과 연관된 주파수보다 높은 관련 주파수를 갖는 스펙트럼 값들에 대해 제공되지 않는, 인코더.
[실시예 60]
제38실시예 내지 제59실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는,
이용 가능한 비트 예산이 저 주파수 범위에서 인코딩된 스펙트럼 값에 의해 소진한 경우 고 주파수 범위의 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩되는 제1 모드와,
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드
사이에서 전환 가능하게 구성되는, 인코더.
[실시예 61]
제60실시예에 있어서, 상기 오디오 인코더는 상기 오디오 인코더가 상기 제1 모드에서 동작하는지 또는 상기 제2 모드에서 동작하는지를 나타내기 위해 상기 인코딩된 오디오 정보에 포함된 비트스트림 플래그를 제공하도록 구성되는, 인코더.
[실시예 62]
제38실시예 내지 제61실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 각각의 심볼 코드를 사용하여 적어도 두 개의 스펙트럼 값에 대해 스펙트럼 값 당 하나 이상의 최상위 비트를 공동으로 인코딩하도록 구성되고,
각각의 심벌 코드는 적어도 두 개의 스펙트럼 값에 대한 스펙트럼 값 당 하나 이상의 최상위 비트를 나타내는, 인코더.
[실시예 63]
제38실시예 내지 제62실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는, 상기 제2 모드에서 동작할 때, 실제 최고 주파수 넌제로 스펙트럼 값을 결정하고, 모든 넌제로 스펙트럼 값 또는 모든 넌제로 스펙트럼 값의 그룹의 적어도 하나 이상의 최상위 비트를 인코딩하도록 구성되는, 인코더.
[실시예 64]
제38실시예 내지 제63실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는, 상기 제2 모드에서 동작할 때, 모든 넌제로 스펙트럼 값에 대해 최하위 비트를 제외한 모든 비트를 인코딩하도록 구성되고,
상기 오디오 인코더는 비트 예산이 소진될 때까지 스펙트럼 값들에 대해 최하위 비트들을 인코딩하도록 구성되는, 인코더.
[실시예 65]
제38실시예 내지 제64실시예 중 어느 한 실시예에 있어서, 상기 오디오 인코더는 스펙트럼 값을 양자화하는 양자화 단계를 결정하고, 상기 양자화된 스펙트럼 값을 인코딩하기 위한 비트 요구를 결정하는 이득 정보를 획득하도록 구성되는, 인코더.
[실시예 66]
인코딩된 오디오 정보(110; 210; 710)에 기초하여 디코딩된 오디오 정보(112; 212; 712)를 제공하는 방법에 있어서,
상기 방법은 상기 스펙트럼 값을 나타내는 인코딩된 정보(130; 230)에 기초하여 디코딩된 스펙트럼 값(132; 232; 732; Xq[n], Xq[n+1])을 획득하는 단계를 포함하고,
상기 방법은 산술 디코딩을 사용하여 스펙트럼 값의 세트에 대해 각각의 심볼 코드(sym)에 기초하여 스펙트럼 값 당 두 개 이상의 최상위 비트를 공동 디코딩하는 단계(950; 1110a-1110g)를 포함하고,
각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타내고,
상기 방법은 이용 가능한 최소 비트 비트 정보의 양에 따라 하나 이상의 스펙트럼 값과 관련된 하나 이상의 최하위 비트를 디코딩하는 단계(972; 1140a-1141j)를 포함하여,
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해 최하위 비트가 디코딩되지 않도록 하고;
상기 방법은 상기 스펙트럼 값을 사용하여 상기 디코딩된 오디오 정보를 제공하는 단계를 포함하는, 방법.
[실시예 67]
인코딩된 오디오 정보(110; 210; 710)에 기초하여 디코딩된 오디오 정보(112; 212; 712)를 제공하는 방법에 있어서,
상기 방법은 상기 스펙트럼 값을 나타내는 인코딩된 정보(130; 230)에 기초하여 디코딩된 스펙트럼 값(132; 232; 732; Xq[n], Xq[n+1])을 획득하는 단계를 포함하고,
상기 방법은 복수의 스펙트럼 값(Xq[0]… Xq[lastnz-1])에 대한 각각의 심볼 코드(sym)에 기초하여 하나 이상의 최상위 비트를 디코딩하는 단계(950; 1110a-1110g), 및
상기 스펙트럼 값 중 하나 이상에 대해 하나 이상의 최하위 비트를 디코딩하는 단계
를 포함하고,
상기 방법은,
인코더로부터의 시그널링에 응답하여 고 주파수 범위에서 스펙트럼 값의 디코딩이 생략되고 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코딩(934)되는 제1 모드(930, 934, 938, 942, 944, 948)와,
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드(950, 954, 958, 962, 968, 972)
사이에서 선택하는 단계를 포함하고,
상기 방법은 상기 스펙트럼 값을 사용하여 상기 디코딩된 오디오 정보를 제공하는, 방법.
[실시예 68]
입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 제공하는 방법에 있어서,
상기 방법은 상기 입력 오디오 정보의 오디오 컨텐츠를 나타내는 스펙트럼 값(330; 662; Xq[n])을 획득하는 단계(620, 630, 640, 650, 660)를 포함하고,
상기 방법은 상기 스펙트럼 값을 나타내는 인코딩된 정보(350, 450, 550, 672; sym, lsbs[])를 얻기 위해서, 적어도 복수의 스펙트럼 값을 인코딩하는 단계(670; 800)를 포함하고;
상기 방법은 산술 인코딩을 사용하여 스펙트럼 값의 세트(Xq[0] ... Xq[lastnz-1])에 대한 각각의 심볼 코드(sym)를 얻기 위해, 스펙트럼 값당 두 개 이상의 최상위 비트를 공동 인코딩(878, 886, 890; 1000a, 1020a, 1040a-1040d)하는 단계를 포함하고,
각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 두 개 이상의 최상위 비트를 나타내고,
상기 방법은 이용 가능한 비트 예산에 의존하여 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트를 인코딩하는 단계(882; 898; 1010a-1010e, 1011a-1011e)를 포함하여,
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는 반면, 두 개 이상의 최상위 비트가 인코딩되고 상기 두 개의 이상의 최상위 비트 보다 많은 비를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않도록 하고,
상기 방법은 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하는 단계를 포함하는, 방법.
[실시예 69]
입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 방법에 있어서,
상기 방법은 상기 입력 오디오 정보의 오디오 컨텐츠를 나타내는 스펙트럼 값을 획득하는 단계(620,630,640,650,660)를 포함하고,
상기 방법은 스펙트럼 값을 나타내는 인코딩된 정보(350, 450, 550, 672; sym, lsbs[])를 얻기 위해 적어도 복수의 스펙트럼 값을 인코딩하는 단계(670; 800)를 포함하고;
상기 방법은 복수의 스펙트럼 값(Xq[0] ... Xq[lastnz-1])에 대해 각각의 심볼 코드를 얻기 위해 하나 이상의 최상위 비트를 인코딩하는 단계(882; 898; 1010a-1010e, 1011a-1011e), 및 상기 스펙트럼 값 중 하나 이상에 대한 하나 이상의 최하위 비트를 인코딩하는 단계를 포함하고,
각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값(Xq[n], Xq[n+1])에 대한 하나 이상의 최상위 비트 값을 나타내고,
상기 방법은,
이용 가능한 비트 예산이 저 주파수 범위에서 스펙트럼 값의 인코딩으로 소진한 경우 고 주파수 범위의 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고(848, 852, 856) 상기 최상위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩(860)되는 제1 모드(840, 844, 848, 852, 856,860, 864, 868, 869) 및
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는(898) 반면, 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드(870, 874, 878, 882, 886, 890, 892, 894, 896, 898)
사이에서 선택하는 단계를 포함하고,
상기 방법은 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하는 단계를 포함하는, 방법.
[실시예 70]
입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 제공하는 방법에 있어서,
상기 방법은 상기 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값(330; 662; Xq[n])을 획득하는 단계(620, 630, 640, 650, 60)를 포함하고,
상기 방법은 상기 스펙트럼 값을 나타내는 인코딩된 정보(350, 450, 550, 672; sym, lsbs[])를 얻기 위해 적어도 복수의 스펙트럼 값을 인코딩하는 단계(670; 800);
상기 방법은 스펙트럼 값을 양자화하는 양자화 단계를 결정하고, 상기 양자화된 스펙트럼 값을 인코딩하기 위한 비트 요구를 결정하는 이득 정보를 획득하는 단계(810, 814, 818, 822);
상기 방법은 산술 인코딩을 사용하고, 복수의 스펙트럼 값(Xq[0] ... Xq[lastnz-1]에 대해 각각의 심볼 코드(sym)를 사용하여 하나 이상의 최상위 비트를 인코딩(878, 886, 890; 1000a, 1020a, 1040a-1040d)하는 단계, 및 하나 이상의 스펙트럼 값에 대해 하나 이상의 최하위 비트를 인코딩하는 단계를 포함하고,
각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값에 대해 스펙트럼 값 당 하나 이상의 최상위 비트를 나타내고,
상기 방법은 이용 가능한 비트 예산에 의존하여 상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트를 인코딩하는 단계(882; 898; 1010a-1010e, 1011a-1011e)를 포함하여,
하나 이상의 스펙트럼 값과 연관된 하나 이상의 최하위 비트가 인코딩되는 반면, 하나 이상의 최상위 비트가 인코딩되고 상기 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해 최하위 비트가 인코딩되지 않도록 하고;
상기 방법은 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하는 단계를 포함하는, 인코더.
[실시예 71]
컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 제66실시예 내지 제70실시예 중 어느 한 실시예에 따른 상기 방법을 실행하기 위한 컴퓨터 프로그램.
[실시예 72]
인코딩된 오디오 표현으로서,
스펙트럼 값을 나타내는 인코딩된 정보(130; 230); 및
상기 인코더로부터의 시그널링에 응답하여 고 주파수 범위에서 스펙트럼 값의 디코딩이 생략되고 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코딩(934)되는 제1 모드(930, 934, 938, 942, 944, 948), 또는
상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제1 모드(950, 954, 958, 962, 968, 972)
에서 오디오 디코더의 작동 여부를 나타내는 플래그
를 포함하는, 오디오 표현.

Claims (72)

  1. 인코딩된 오디오 정보(110; 210; 710)에 기초하여 디코딩된 오디오 정보(112; 212; 712)를 제공하기 위한 오디오 디코더(100; 200; 700)에 있어서,
    상기 오디오 디코더는 스펙트럼 값을 나타내는 인코딩된 정보(130; 230)에 기초하여 디코딩된 스펙트럼 값(132; 232; 732; Xq[n], Xq[n+1]을 획득하도록 구성되며,
    상기 오디오 디코더는 복수의 스펙터럼 값(Xq[0] ... Xq[lastnz-1])에 대해 각각의 심벌 코드(sym)에 기초하여 하나 이상의 최상위 비트를 디코딩하고(950; 1110a-1110g), 상기 스펙트럼 값 중 하나 이상에 대해 하나 이상의 최하위 비트를 디코딩하도록 구성되고,
    상기 오디오 디코더는,
    인코더로부터의 시그널링에 응답하여 고 주파수 범위의 스펙트럼 값의 디코딩이 생략되고 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코드(934)되는 제1 모드(930, 934, 938, 942, 944, 948), 및
    상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 각각의 하나 이상의 최상위 비트가 디코딩되고 상기 각각의 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드(950, 954, 958, 962, 968, 972)
    사이에서 전환 가능하게 구성되고;
    상기 오디오 디코더는 상기 스펙트럼 값을 이용하여 상기 디코딩된 오디오 정보를 제공하도록 구성되는, 디코더.
  2. 제1항에 있어서, 산술 디코딩이 상기 하나 이상의 최상위 비트의 비트 위치(numbits, numbits-1)를 결정하고(950; 1110a-1110e), 산술적으로 인코딩된 표현의 심벌에 의해 결정된 상기 하나 이상의 최상위 비트를 상기 결정된 비트 위치에 할당(1110f, 1110g)하도록 구성되는, 디코더.
  3. 제1항에 있어서, 상기 오디오 디코더는, 하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 디코딩(954; 1120a-1120e)하도록 구성되는, 디코더.
  4. 제1항에 있어서, 상기 오디오 디코더는 상기 제2 모드에서 동작할 때, 제1 디코딩 단계에서,
    스펙트럼 값 당 하나 이상의 최상위 비트,
    하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는, 하나 이상의 중간 비트, 및
    하나 이상의 최상위 비트가 디코딩되고 상기 하나 이상의 최상위 비트와 임의의 중간 비트가 - 중간 비트가 존재하는 한 - 넌제로 값을 나타내는 모든 스펙트럼 값에 대해, 부호
    를 디코딩하도록 구성되고;
    상기 오디오 디코더는 상기 제2 모드에서 동작할 때, 상기 제1 디코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 디코딩을 선택적으로 생략하도록 구성되고;
    상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 상기 제1 디코딩 단계 다음에 오는 제2 디코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해서, 부호 정보를 선택적으로 획득하도록 구성되는, 디코더.
  5. 제1항에 있어서, 상기 오디오 디코더는 상기 제2 모드에서 동작할 때, 상기 스펙트럼 값과 관련된 최하위 비트 값을 획득하기 위해 최하위 비트 정보 비트 시퀀스의 후속 비트를 순차적으로 사용하도록 구성되는, 디코더.
  6. 제5항에 있어서, 상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 사용하도록 구성되고, - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 최하위 비트 값을 얻기 위해 사용됨 - ;
    상기 오디오 디코더는, 제2 모드에서 동작할 때, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 사용하도록 구성되고, - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트는 상기 제로 값을 확인함 - ;
    상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 이 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트를 사용하도록 구성되고 - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 사용된 두 비트 중 제2 비트는 상기 각각의 스펙트럼 값의 부호를 결정하는, 디코더.
  7. 제1항에 있어서, 상기 오디오 디코더는, 상기 제2 모드에서 동작할 때, 가장 낮은 주파수 스펙트럼 값과 관련된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 관련된 스펙트럼 값으로 진행하면서 최하위 비트들을 디코딩하도록 구성되어,
    스펙트럼 값이 최저 주파수 스펙트럼 값에서 마지막 최하위 비트 정보가 이용 가능한 스펙트럼 값 까지의 범위에서 최하위 비트 정보에 의해 개선되고, 상기 마지막 최하위 비트 정보가 이용 가능한 상기 스펙트럼 값과 관련된 주파수 보다 더 높은 관련 주파수를 갖는 스펙트럼 값은 개선되지 않고 유지되는, 디코더.
  8. 제1항에 있어서, 상기 오디오 디코더는 상기 오디오 디코더가 상기 제1 모드에서 동작하는지 또는 상기 제2 모드에서 동작하는지를 결정하기 위해서 상기 인코딩된 오디오 정보에 포함된 비트스트림 플래그를 평가하도록 구성되는, 디코더.
  9. 제1항에 있어서, 상기 오디오 디코더는 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 제1 모드에서 연속되는 비트 시퀀스로부터 임의의 스펙트럼 값과 연관된 상기 최하위 비트를 획득(934)하도록 구성되고,
    상기 오디오 디코더는 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 상기 제2 모드에서 개별의 비트 시퀀스로부터 또는 비트 시퀀스의 개별의 비연속적인 비트 위치로부터 임의의 스펙트럼 값(972)과 연관된 상기 최하위 비트를 취득(954)하도록 구성되는, 디코더.
  10. 제1항에 있어서, 상기 오디오 디코더는 상기 제1 모드에서 상기 하나 이상의 최상위 비트, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 임의의 중간 비트, 및 임의의 스펙트럼 값과 연관된 상기 최하위 비트의 디코딩 후에만 스펙트럼 값과 연관된 부호 정보를, 상기 하나 이상의 최상위 비트, 상기 중간 비트 및 상기 최하위 비트가 제로 값을 나타내는지의 여부에 따라, 선택적으로 획득(938)하도록 구성되고,
    상기 오디오 디코더는 상기 하나 이상의 최상위 비트 및 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 임의의 중간 비트의 디코딩 이후, 상기 제2 모드에서 임의의 스펙트럼 값과 연관된 최하위 비트가 디코딩 되기 전에, 스펙트럼 값과 관련된 부호 정보를, 상기 하나 이상의 최상위 비트 및 상기 중간 비트가 제로 값을 나타내는지의 여부에 따라, 선택적으로 획득(958; 1130a-1131d)하도록 구성된, 디코더.
  11. 입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 제공하기 위한 오디오 인코더(300; 400; 500; 600)에 있어서,
    상기 오디오 인코더는 상기 입력 오디오 정보의 오디오 콘텐츠를 나타내는 스펙트럼 값을 획득(620, 630, 640, 650, 660)하도록 구성되고,
    상기 오디오 인코더는 상기 스펙트럼 값들을 나타내는 인코딩된 정보(350, 450, 550, 672; sym, lsbs[])를 얻기 위해서, 적어도 복수의 스펙트럼 값들을 인코딩(670; 800)하도록 구성되고;
    상기 오디오 인코더는 복수의 스펙트럼 값(Xq[0] ... Xq[lastnz-1])에 대한 각각의 심벌 코드를 취득하고, 스펙트럼 값 중 하나 이상에 대해 하나 이상의 최하위 비트를 인코딩하기 위해서, 하나 이상의 최상위 비트를 인코딩(882; 898; 1010a-1010e, 1011a-1011e)하도록 구성되고,
    각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값(Xq[n], Xq[n+1])에 대해 하나 이상의 최상위 비트 값을 나타내고,
    상기 오디오 인코더는,
    이용 가능한 비트 예산이 저 주파수 범위에서 스펙트럼 값의 인코딩으로 소진한 경우 고 주파수 범위에서 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고(848, 852, 856) 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩(860)되는 제1 모드(840, 844, 848, 852, 856, 860, 864, 868, 869) 및
    상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 인코딩되는(898) 반면, 각각의 하나 이상의 최상위 비트가 인코딩되고 상기 각각의 하나 이상의 최상위 비트 보다 더 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드(870, 874, 878, 882, 886, 890, 892, 894, 896, 898)
    사이에서 전환 가능하게 구성되고,
    상기 오디오 인코더는 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하도록 구성되는, 인코더.
  12. 제11항에 있어서, 상기 오디오 인코더는 상기 제2 모드에서 모든 넌제로 스펙트럼 값 또는 모든 넌제로 스펙트럼 값의 그룹의 적어도 하나 이상의 최상위 비트를 인코딩(878,886,890)하도록 구성되는, 인코더.
  13. 제11항에 있어서, 상기 오디오 인코더는 상기 제1 모드에서 동작할 때, 비트 예산이 충분하지 않은 경우, 스펙트럼 값이 인코딩되는 주파수 범위를 제한하도록 구성되어, 하나 이상의 스펙트럼 값이 상기 스펙트럼 값의 인코딩시 고려되지 않고 유지되는, 인코더.
  14. 제13항에 있어서, 상기 오디오 인코더는, 상기 제1 모드에서 동작할 때, 최대 주파수 값을 결정하고, 상기 제1 모드에서 동작할 때, 상기 최대 주파수까지의 스펙트럼 값을 인코딩하고(848, 852, 856, 60), 상기 제1 모드에서 동작할 때, 상기 스펙트럼 값이 넌제로인 경우에도 상기 최대 주파수를 초과하는 스펙트럼 값이 인코딩되지 않고 유지되도록 구성되고,
    상기 오디오 인코더는, 상기 제1 모드에서 동작할 때, 모든 스펙트럼 값을 인코딩하기 위한 비트 요구의 계산 또는 추정에 의존하여, 상기 최대 주파수 값을 선택하도록 구성되어, 계산되거나 추정된 비트 수요가 비트 예산을 초과하는 경우 인코딩될 스펙트럼 값의 수가 감소되게 하고,
    상기 오디오 인코더는 상기 제2 모드에서 동작할 때 최대 주파수 값을 결정하고, 상기 제2 모드에서 동작할 때 스펙트럼 값을 상기 최대 주파수까지 인코딩하고(878, 882, 886, 890, 898), 상기 제2 모드에서 동작할 때, 상기 최대 주파수 이상의 스펙트럼 값을 인코딩하지 않고 유지하도록 구성되고,
    상기 오디오 인코더는, 상기 제2 모드에서 동작할 때, 모든 넌제로 스펙트럼 값 또는 모든 넌제로 스펙트럼 값의 그룹의 적어도 하나 이상의 최상위 비트가 인코딩되고 최대 제로 값의 스펙트럼 값이 인코딩되지 않고 유지되도록 상기 최대 주파수를 선택하도록 구성되는, 인코더.
  15. 제13항에 있어서, 상기 오디오 인코더는 상기 인코딩된 오디오 정보에 최대 주파수를 기술하는 정보(lastnz)를 포함하도록 구성되는, 인코더.
  16. 제11항에 있어서, 상기 오디오 인코더는 이용 가능한 비트 전송률에 의존하여 상기 제1 모드를 사용할지 또는 상기 제2 모드를 사용할지 모드 결정(830)을 행하도록 구성되는, 인코더.
  17. 제11항에 있어서, 상기 오디오 인코더는, 최상위 비트 인코딩 단계에서 인코딩된 하나 이상의 최상위 비트에 더하여, 비트 요구 및 비트 예산에 따라 그 인코딩이 선택적으로 생략될 수 있는, 하나 이상의 최하위 비트를, 포함하는 다수의 스펙트럼 값이나 스펙트럼 값의 그룹에 의존하여, 상기 제1 모드를 이용할지 또는 상기 제2 모드를 이용할지에 대해 모드 결정(830)을 행하도록 구성되는, 인코더.
  18. 제11항에 있어서, 상기 오디오 인코더는 상기 오디오 인코더가 상기 제1 모드에서 동작하는지 또는 상기 제2 모드에서 동작하는지를 나타내는 상기 인코딩된 오디오 정보에 비트스트림 플래그를 포함하도록 구성되는, 인코더.
  19. 제11항에 있어서, 상기 오디오 인코더는 상기 제1 모드에서 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 상기 제1 모드에서 임의의 스펙트럼 값과 연관된 상기 최하위 비트를, 연속적인 비트 시퀀스로 인코딩(860)하도록 구성되고,
    상기 오디오 인코더는 상기 제2 모드에서 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트, 및 임의의 스펙트럼 값(882, 898)과 연관된 상기 최하위 비트를, 개별의 비트 시퀀스 또는 비트 시퀀스의 개별의 비연속적인 비트 위치에 인코딩(892)하도록 구성되는, 인코더.
  20. 제11항에 있어서, 상기 오디오 인코더는, 상기 제1 모드에서 동작할 때, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트와 연관된 비트 시퀀스의 스펙트럼 값과 연관된 부호 정보, 및 최하위 비트를 인코딩(864)하도록 구성되고,
    상기 오디오 인코더는 상기 제2 모드에서 동작할 때, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 중간 비트와 관련된 비트 시퀀스에서 스펙트럼 값과 관련된 부호 정보, 및 최하위 비트 및 부호 정보(882, 898)와 관련된 비트 시퀀스(lsbs[])의 부호 정보(894)를 선택적으로 인코딩하도록 구성되어, 0에서 최하위 비트 값 만큼 벗어난 스펙트럼 값에 대한 부호 정보가 최하위 비트 값 및 부호 정보와 관련이 있는 비트 시퀀스에서 인코딩되는, 인코더.
  21. 제11항에 있어서, 산술 인코더가 상기 하나 이상의 최상위 비트의 비트 위치를 결정하고 상기 비트 위치를 기술하는 정보를 산술적으로 인코딩된 표현에 포함하도록 구성되는, 인코더.
  22. 제11항에 있어서, 상기 오디오 인코더는 상기 적어도 하나의 스펙트럼 값의 적어도 두 개의 최상위 비트를, 상기 적어도 하나의 스펙트럼 값의 적어도 두 개의 최상위 비트를 나타내는, 산술적으로 인코딩된 표현의 하나의 심벌에 매핑하도록 구성되는, 인코더.
  23. 제11항에 있어서, 상기 오디오 인코더는 하나 이상의 최상위 비트가 인코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는 하나 이상의 중간 비트를 인코딩하도록 구성되는, 인코더.
  24. 제11항에 있어서, 상기 오디오 인코더는 제1 인코딩 단계에서,
    스펙트럼 값 당 하나 이상의 최상위 비트,
    하나 이상의 최상위 비트가 인코딩되고 상기 하나 이상의 최상위 비트와 하나의 최하위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해, 비트 위치가 상기 최하위 비트와 상기 하나 이상의 최상위 비트 사이에 있는, 하나 이상의 중간 비트, 및
    하나 이상의 최상위 비트가 인코딩되고 상기 하나 이상의 최상위 비트와 임의의 중간 비트가 - 중간 비트가 존재하는 한 - 넌제로 값을 나타내는 모든 스펙트럼 값에 대해, 부호
    를 인코딩하도록 구성되고;
    상기 오디오 인코더는 상기 제1 인코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 스펙트럼 값에 대해 부호의 인코딩을 선택적으로 생략하도록 구성되고;
    상기 오디오 인코더는, 상기 제1 인코딩 단계에 이어지는 제2 인코딩 단계에서, 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내고 최하위 비트 정보가 넌제로 값을 나타내는 스펙트럼 값에 대해서, 부호 정보를 선택적으로 인코딩하도록 구성되는, 인코더.
  25. 제11항에 있어서, 상기 오디오 인코더는 스펙트럼 값의 상기 최하위 비트가 실제로 인코딩되는 경우 0에서 최하위 비트 만큼 다른 스펙트럼 값에 대해 상기 인코딩된 오디오 표현에 부호 정보를 포함하도록 구성되는, 인코더.
  26. 제11항에 있어서, 상기 오디오 인코더는 상기 스펙트럼 값과 관련된 최하위 비트 값을 인코딩하기 위해 최하위 비트 정보 비트 시퀀스의 후속 비트를 순차적으로 제공하도록 구성되는, 인코더.
  27. 제26항에 있어서, 상기 오디오 인코더는 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 넌제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 제공하도록 구성되고, - 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 단일 비트가 최하위 비트 값을 인코딩하기 위해 사용됨 - ;
    상기 오디오 인코더는 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 이 제로 값을 나타내는 각각의 스펙트럼 값들에 대해 상기 최하위 비트 정보 비트 시퀀스의 단일 비트를 제공하도록 구성되고 - 상기 최하위 비트 정보 비트 시퀀스의 상기 제공된 단일 비트는 상기 제로 값을 확인함 - ; 및
    상기 오디오 인코더는 상기 하나 이상의 최상위 값 및 임의의 중간 비트 - 중간 비트가 존재하는 한 - 가 제로 값을 나타내는 각각의 스펙트럼 값에 대해 상기 최하위 비트 정보 비트 시퀀스의 두 후속 비트를 제공하도록 구성되고, 상기 최하위 비트 정보 비트 시퀀스의 상기 사용된 두 비트 중 제1 비트는 상기 제로 값에서 최하위 비트 값 만큼의 편차를 나타내고, 상기 최하위 비트 정보 비트 시퀀스의 제공된 두 비트 중 제2 비트는 상기 각각의 스펙트럼 값의 부호를 인코딩하는, 인코더.
  28. 제11항에 있어서, 상기 오디오 인코더는 최저 주파수 스펙트럼 값과 관련된 최하위 비트로부터 시작하여 점점 더 높은 주파수와 관련된 스펙트럼 값으로 진행하면서 최하위 비트들을 인코딩하도록 구성되어,
    최하위 비트 정보에 의해 스펙트럼 값들을 개선하기 위한 인코딩된 정보가 최하위 주파수 스펙트럼 값으로부터 마지막 최하위 최하위 비트 정보가 제공되는 스펙트럼 값까지의 범위에서 제공되고,
    최하위 비트 정보에 의해 스펙트럼 값들을 개선하기 위한 인코딩된 정보가 마지막 최하위 비트 정보가 제공되는 상기 스펙트럼 값과 연관된 주파수보다 높은 관련 주파수를 갖는 스펙트럼 값들에 대해 제공되지 않는, 인코더.
  29. 제11항에 있어서, 상기 오디오 인코더는,
    이용 가능한 비트 예산이 저 주파수 범위에서 인코딩된 스펙트럼 값에 의해 소진한 경우 고 주파수 범위의 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩되는 제1 모드와,
    상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 하나 이상의 최상위 비트가 인코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 인코딩되지 않는 제2 모드
    사이에서 전환 가능하게 구성되는, 인코더.
  30. 제29항에 있어서, 상기 오디오 인코더는 상기 오디오 인코더가 상기 제1 모드에서 동작하는지 또는 상기 제2 모드에서 동작하는지를 나타내기 위해 상기 인코딩된 오디오 정보에 포함된 비트스트림 플래그를 제공하도록 구성되는, 인코더.
  31. 제11항에 있어서, 상기 오디오 인코더는 각각의 심벌 코드를 사용하여 적어도 두 개의 스펙트럼 값에 대해 스펙트럼 값 당 하나 이상의 최상위 비트를 공동으로 인코딩하도록 구성되고,
    각각의 심벌 코드는 적어도 두 개의 스펙트럼 값에 대한 스펙트럼 값 당 하나 이상의 최상위 비트를 나타내는, 인코더.
  32. 제11항에 있어서, 상기 오디오 인코더는, 상기 제2 모드에서 동작할 때, 실제 최고 주파수 넌제로 스펙트럼 값을 결정하고, 모든 넌제로 스펙트럼 값 또는 모든 넌제로 스펙트럼 값의 그룹의 적어도 하나 이상의 최상위 비트를 인코딩하도록 구성되는, 인코더.
  33. 제11항에 있어서, 상기 오디오 인코더는, 상기 제2 모드에서 동작할 때, 모든 넌제로 스펙트럼 값에 대해 최하위 비트를 제외한 모든 비트를 인코딩하도록 구성되고,
    상기 오디오 인코더는 비트 예산이 소진될 때까지 스펙트럼 값들에 대해 최하위 비트들을 인코딩하도록 구성되는, 인코더.
  34. 제11항에 있어서, 상기 오디오 인코더는 스펙트럼 값을 양자화하는 양자화 단계를 결정하고, 상기 양자화된 스펙트럼 값을 인코딩하기 위한 비트 요구를 결정하는 이득 정보를 획득하도록 구성되는, 인코더.
  35. 인코딩된 오디오 정보(110; 210; 710)에 기초하여 디코딩된 오디오 정보(112; 212; 712)를 제공하는 방법에 있어서,
    상기 방법은 스펙트럼 값을 나타내는 인코딩된 정보(130; 230)에 기초하여 디코딩된 스펙트럼 값(132; 232; 732; Xq[n], Xq[n+1])을 획득하는 단계를 포함하고,
    상기 방법은 복수의 스펙트럼 값(Xq[0]… Xq[lastnz-1])에 대한 각각의 심벌 코드(sym)에 기초하여 하나 이상의 최상위 비트를 디코딩하는 단계(950; 1110a-1110g), 및
    상기 스펙트럼 값 중 하나 이상에 대해 하나 이상의 최하위 비트를 디코딩하는 단계
    를 포함하고,
    상기 방법은,
    인코더로부터의 시그널링에 응답하여 고 주파수 범위에서 스펙트럼 값의 디코딩이 생략되고 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코딩(934)되는 제1 모드(930, 934, 938, 942, 944, 948)와,
    상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 각각의 하나 이상의 최상위 비트가 디코딩되고 상기 각각의 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드(950, 954, 958, 962, 968, 972)
    사이에서 선택하는 단계를 포함하고,
    상기 방법은 상기 스펙트럼 값을 사용하여 상기 디코딩된 오디오 정보를 제공하는, 방법.
  36. 입력 오디오 정보(310; 410; 510; 610)에 기초하여 인코딩된 오디오 정보(312; 412; 512; 612)를 방법에 있어서,
    상기 방법은 상기 입력 오디오 정보의 오디오 컨텐츠를 나타내는 스펙트럼 값을 획득하는 단계(620,630,640,650,660)를 포함하고,
    상기 방법은 스펙트럼 값을 나타내는 인코딩된 정보(350, 450, 550, 672; sym, lsbs[])를 얻기 위해 적어도 복수의 스펙트럼 값을 인코딩하는 단계(670; 800)를 포함하고;
    상기 방법은 복수의 스펙트럼 값(Xq[0] ... Xq[lastnz-1])에 대해 각각의 심벌 코드를 얻기 위해 하나 이상의 최상위 비트를 인코딩하는 단계(882; 898; 1010a-1010e, 1011a-1011e), 및 상기 스펙트럼 값 중 하나 이상에 대한 하나 이상의 최하위 비트를 인코딩하는 단계를 포함하고,
    각각의 심벌 코드(sym)는 하나 이상의 스펙트럼 값(Xq[n], Xq[n+1])에 대한 하나 이상의 최상위 비트 값을 나타내고,
    상기 방법은,
    이용 가능한 비트 예산이 저 주파수 범위에서 스펙트럼 값의 인코딩으로 소진한 경우 고 주파수 범위의 넌제로 스펙트럼 값의 인코딩이 생략되고 하나 이상의 최상위 비트가 인코딩되고(848, 852, 856) 상기 최상위 비트 보다 더 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 인코딩(860)되는 제1 모드(840, 844, 848, 852, 856,860, 864, 868, 869) 및
    상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는(898) 반면, 각각의 하나 이상의 최상위 비트가 인코딩되고 상기 각각의 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드(870, 874, 878, 882, 886, 890, 892, 894, 896, 898)
    사이에서 선택하는 단계를 포함하고,
    상기 방법은 상기 스펙트럼 값을 나타내는 상기 인코딩된 정보를 사용하여 상기 인코딩된 오디오 정보를 제공하는 단계를 포함하는, 방법.
  37. 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 제35항 또는 제36항에 따른 상기 방법을 실행하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 저장 매체.
  38. 인코딩된 오디오 표현으로서,
    스펙트럼 값을 나타내는 인코딩된 정보(130; 230); 및
    인코더로부터의 시그널링에 응답하여 고 주파수 범위에서 스펙트럼 값의 디코딩이 생략되고 하나 이상의 최상위 비트가 디코딩되고 상기 최상위 비트 보다 많은 비트를 포함하는 모든 스펙트럼 값에 대해 최하위 비트가 디코딩(934)되는 제1 모드(930, 934, 938, 942, 944, 948), 또는
    상기 스펙트럼 값 중 하나 이상과 관련된 하나 이상의 최하위 비트가 디코딩되는 반면, 각각의 하나 이상의 최상위 비트가 디코딩되고 상기 각각의 하나 이상의 최상위 비트 보다 많은 비트를 포함하는 하나 이상의 다른 스펙트럼 값에 대해서는 최하위 비트가 디코딩되지 않는 제2 모드(950, 954, 958, 962, 968, 972)
    에서 오디오 디코더의 작동 여부를 나타내는 플래그
    를 포함하는, 오디오 표현을 저장한 디지털 저장 매체.
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
KR1020207016503A 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램 KR102492557B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
PCT/EP2017/078959 WO2019091576A1 (en) 2017-11-10 2017-11-10 Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EPPCT/EP2017/078959 2017-11-10
PCT/EP2018/080698 WO2019092155A1 (en) 2017-11-10 2018-11-08 Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
KR1020207016424A KR102492554B1 (ko) 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207016424A Division KR102492554B1 (ko) 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20200094752A KR20200094752A (ko) 2020-08-07
KR102492557B1 true KR102492557B1 (ko) 2023-01-30

Family

ID=60293975

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207016424A KR102492554B1 (ko) 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램
KR1020207016503A KR102492557B1 (ko) 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램
KR1020207016504A KR102492558B1 (ko) 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207016424A KR102492554B1 (ko) 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207016504A KR102492558B1 (ko) 2017-11-10 2018-11-08 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램

Country Status (15)

Country Link
US (3) US11386909B2 (ko)
EP (3) EP3707710B1 (ko)
JP (3) JP7104785B2 (ko)
KR (3) KR102492554B1 (ko)
CN (3) CN111656443B (ko)
AR (1) AR113482A1 (ko)
AU (3) AU2018365309B2 (ko)
BR (3) BR112020009325A2 (ko)
CA (3) CA3148963A1 (ko)
MX (3) MX2020004770A (ko)
RU (3) RU2769218C2 (ko)
SG (3) SG11202004287YA (ko)
TW (1) TWI758556B (ko)
WO (2) WO2019091576A1 (ko)
ZA (3) ZA202003441B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253941A1 (en) * 2019-06-17 2020-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder with a signal-dependent number and precision control, audio decoder, and related methods and computer programs
CN112735446B (zh) * 2020-12-30 2022-05-17 北京百瑞互联技术有限公司 在lc3音频码流中添加额外信息的方法、系统及介质
CN112992166B (zh) * 2021-05-08 2021-08-20 北京百瑞互联技术有限公司 一种动态调整lc3音频编码速率的方法、装置及存储介质
CN114550732B (zh) * 2022-04-15 2022-07-08 腾讯科技(深圳)有限公司 一种高频音频信号的编解码方法和相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100324912A1 (en) 2009-06-19 2010-12-23 Samsung Electronics Co., Ltd. Context-based arithmetic encoding apparatus and method and context-based arithmetic decoding apparatus and method
US20110096830A1 (en) * 2009-10-28 2011-04-28 Motorola Encoder that Optimizes Bit Allocation for Information Sub-Parts

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3639753A1 (de) 1986-11-21 1988-06-01 Inst Rundfunktechnik Gmbh Verfahren zum uebertragen digitalisierter tonsignale
US5012517A (en) 1989-04-18 1991-04-30 Pacific Communication Science, Inc. Adaptive transform coder having long term predictor
US5233660A (en) 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
JPH05281996A (ja) 1992-03-31 1993-10-29 Sony Corp ピッチ抽出装置
IT1270438B (it) 1993-06-10 1997-05-05 Sip Procedimento e dispositivo per la determinazione del periodo del tono fondamentale e la classificazione del segnale vocale in codificatori numerici della voce
US5581653A (en) 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
JP3402748B2 (ja) 1994-05-23 2003-05-06 三洋電機株式会社 音声信号のピッチ周期抽出装置
JPH0811644A (ja) 1994-06-27 1996-01-16 Nissan Motor Co Ltd ルーフモール取付構造
US6167093A (en) 1994-08-16 2000-12-26 Sony Corporation Method and apparatus for encoding the information, method and apparatus for decoding the information and method for information transmission
EP0732687B2 (en) 1995-03-13 2005-10-12 Matsushita Electric Industrial Co., Ltd. Apparatus for expanding speech bandwidth
KR100322706B1 (ko) * 1995-09-25 2002-06-20 윤종용 선형예측부호화계수의부호화및복호화방법
US5781888A (en) 1996-01-16 1998-07-14 Lucent Technologies Inc. Perceptual noise shaping in the time domain via LPC prediction in the frequency domain
WO1997027578A1 (en) 1996-01-26 1997-07-31 Motorola Inc. Very low bit rate time domain speech analyzer for voice messaging
US5812971A (en) 1996-03-22 1998-09-22 Lucent Technologies Inc. Enhanced joint stereo coding method using temporal envelope shaping
JPH1091194A (ja) 1996-09-18 1998-04-10 Sony Corp 音声復号化方法及び装置
US6570991B1 (en) 1996-12-18 2003-05-27 Interval Research Corporation Multi-feature speech/music discrimination system
KR100261253B1 (ko) 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치
GB2326572A (en) 1997-06-19 1998-12-23 Softsound Limited Low bit rate audio coder and decoder
WO1999016050A1 (en) 1997-09-23 1999-04-01 Voxware, Inc. Scalable and embedded codec for speech and audio signals
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
JP3344962B2 (ja) 1998-03-11 2002-11-18 松下電器産業株式会社 オーディオ信号符号化装置、及びオーディオ信号復号化装置
US6507814B1 (en) 1998-08-24 2003-01-14 Conexant Systems, Inc. Pitch determination using speech classification and prior pitch estimation
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6992626B2 (en) * 1999-03-05 2006-01-31 Rannoch Corporation Method and apparatus to correlate aircraft flight tracks and events with relevant airport operations information
EP1139665A1 (en) 2000-03-29 2001-10-04 Deutsche Thomson-Brandt Gmbh Method and apparatus for changing the output delay of audio or video data encoding
US7099830B1 (en) 2000-03-29 2006-08-29 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
US6735561B1 (en) 2000-03-29 2004-05-11 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
US6665638B1 (en) 2000-04-17 2003-12-16 At&T Corp. Adaptive short-term post-filters for speech coders
US7395209B1 (en) * 2000-05-12 2008-07-01 Cirrus Logic, Inc. Fixed point audio decoding system and method
AU2001270365A1 (en) 2001-06-11 2002-12-23 Ivl Technologies Ltd. Pitch candidate selection method for multi-channel pitch detectors
US7512535B2 (en) 2001-10-03 2009-03-31 Broadcom Corporation Adaptive postfiltering methods and systems for decoding speech
US6785645B2 (en) 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US20030187663A1 (en) 2002-03-28 2003-10-02 Truman Michael Mead Broadband frequency translation for high frequency regeneration
DE10217297A1 (de) * 2002-04-18 2003-11-06 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
DE10236694A1 (de) * 2002-08-09 2004-02-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
JP4728568B2 (ja) * 2002-09-04 2011-07-20 マイクロソフト コーポレーション レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
JP4287637B2 (ja) 2002-10-17 2009-07-01 パナソニック株式会社 音声符号化装置、音声符号化方法及びプログラム
US7318027B2 (en) * 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
JP4431568B2 (ja) 2003-02-11 2010-03-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 音声符号化
KR20030031936A (ko) 2003-02-13 2003-04-23 배명진 피치변경법을 이용한 단일 음성 다중 목소리 합성기
US20040162866A1 (en) 2003-02-19 2004-08-19 Malvar Henrique S. System and method for producing fast modulated complex lapped transforms
KR100923301B1 (ko) * 2003-03-22 2009-10-23 삼성전자주식회사 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
KR101063562B1 (ko) 2003-06-17 2011-09-07 파나소닉 주식회사 수신 장치, 전송 장치 및 송신 시스템
CN100508030C (zh) 2003-06-30 2009-07-01 皇家飞利浦电子股份有限公司 一种编码/解码音频信号的方法及相应设备
US7620545B2 (en) * 2003-07-08 2009-11-17 Industrial Technology Research Institute Scale factor based bit shifting in fine granularity scalability audio coding
KR100550003B1 (ko) 2003-07-11 2006-02-08 학교법인연세대학교 상호부호화기에서 개회로 피치 추정 방법 및 그 장치
WO2005027096A1 (en) * 2003-09-15 2005-03-24 Zakrytoe Aktsionernoe Obschestvo Intel Method and apparatus for encoding audio
US7009533B1 (en) 2004-02-13 2006-03-07 Samplify Systems Llc Adaptive compression and decompression of bandlimited signals
KR20050087956A (ko) * 2004-02-27 2005-09-01 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
DE102004009954B4 (de) 2004-03-01 2005-12-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Multikanalsignals
ATE390683T1 (de) 2004-03-01 2008-04-15 Dolby Lab Licensing Corp Mehrkanalige audiocodierung
DE102004009949B4 (de) 2004-03-01 2006-03-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ermitteln eines Schätzwertes
JP4744438B2 (ja) 2004-03-05 2011-08-10 パナソニック株式会社 エラー隠蔽装置およびエラー隠蔽方法
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
US7392195B2 (en) * 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec
MX2007012187A (es) 2005-04-01 2007-12-11 Qualcomm Inc Sistemas, metodos y aparatos para deformacion en tiempo de banda alta.
US7546240B2 (en) 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
US7539612B2 (en) 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
KR20070037945A (ko) 2005-10-04 2007-04-09 삼성전자주식회사 오디오 신호의 부호화/복호화 방법 및 장치
US20070118361A1 (en) 2005-10-07 2007-05-24 Deepen Sinha Window apparatus and method
KR100888474B1 (ko) 2005-11-21 2009-03-12 삼성전자주식회사 멀티채널 오디오 신호의 부호화/복호화 장치 및 방법
US7805297B2 (en) 2005-11-23 2010-09-28 Broadcom Corporation Classification-based frame loss concealment for audio signals
WO2007070007A1 (en) 2005-12-14 2007-06-21 Matsushita Electric Industrial Co., Ltd. A method and system for extracting audio features from an encoded bitstream for audio classification
US8255207B2 (en) 2005-12-28 2012-08-28 Voiceage Corporation Method and device for efficient frame erasure concealment in speech codecs
US8345890B2 (en) 2006-01-05 2013-01-01 Audience, Inc. System and method for utilizing inter-microphone level differences for speech enhancement
CN101395661B (zh) 2006-03-07 2013-02-06 艾利森电话股份有限公司 音频编码和解码的方法和设备
US8150065B2 (en) 2006-05-25 2012-04-03 Audience, Inc. System and method for processing an audio signal
DE602007003023D1 (de) 2006-05-30 2009-12-10 Koninkl Philips Electronics Nv Linear-prädiktive codierung eines audiosignals
CN1983909B (zh) 2006-06-08 2010-07-28 华为技术有限公司 一种丢帧隐藏装置和方法
US8015000B2 (en) 2006-08-03 2011-09-06 Broadcom Corporation Classification-based frame loss concealment for audio signals
CN101501761B (zh) 2006-08-15 2012-02-08 杜比实验室特许公司 无需边信息对时域噪声包络的任意整形
FR2905510B1 (fr) 2006-09-01 2009-04-10 Voxler Soc Par Actions Simplif Procede d'analyse en temps reel de la voix pour le controle en temps reel d'un organe numerique et dispositif associe
CN101140759B (zh) 2006-09-08 2010-05-12 华为技术有限公司 语音或音频信号的带宽扩展方法及系统
US7752038B2 (en) 2006-10-13 2010-07-06 Nokia Corporation Pitch lag estimation
DE102006049154B4 (de) 2006-10-18 2009-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung eines Informationssignals
KR101292771B1 (ko) 2006-11-24 2013-08-16 삼성전자주식회사 오디오 신호의 오류은폐방법 및 장치
US20100010810A1 (en) 2006-12-13 2010-01-14 Panasonic Corporation Post filter and filtering method
FR2912249A1 (fr) 2007-02-02 2008-08-08 France Telecom Codage/decodage perfectionnes de signaux audionumeriques.
JP4871894B2 (ja) 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
EP2015293A1 (en) 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
JP5618826B2 (ja) 2007-06-14 2014-11-05 ヴォイスエイジ・コーポレーション Itu.t勧告g.711と相互運用可能なpcmコーデックにおいてフレーム消失を補償する装置および方法
JP4928366B2 (ja) 2007-06-25 2012-05-09 日本電信電話株式会社 ピッチ探索装置、パケット消失補償装置、それらの方法、プログラム及びその記録媒体
JP4572218B2 (ja) 2007-06-27 2010-11-04 日本電信電話株式会社 音楽区間検出方法、音楽区間検出装置、音楽区間検出プログラム及び記録媒体
US10795949B2 (en) 2007-07-26 2020-10-06 Hamid Hatami-Hanza Methods and systems for investigation of compositions of ontological subjects and intelligent systems therefrom
JP4981174B2 (ja) * 2007-08-24 2012-07-18 フランス・テレコム 確率テーブルの動的な計算によるシンボルプレーン符号化/復号化
US20110035212A1 (en) 2007-08-27 2011-02-10 Telefonaktiebolaget L M Ericsson (Publ) Transform coding of speech and audio signals
CN100524462C (zh) 2007-09-15 2009-08-05 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
KR101290622B1 (ko) 2007-11-02 2013-07-29 후아웨이 테크놀러지 컴퍼니 리미티드 오디오 복호화 방법 및 장치
WO2009066869A1 (en) 2007-11-21 2009-05-28 Electronics And Telecommunications Research Institute Frequency band determining method for quantization noise shaping and transient noise shaping method using the same
RU2439718C1 (ru) 2007-12-31 2012-01-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки звукового сигнала
US8386271B2 (en) 2008-03-25 2013-02-26 Microsoft Corporation Lossless and near lossless scalable audio codec
RU2475868C2 (ru) 2008-06-13 2013-02-20 Нокиа Корпорейшн Способ и устройство для маскирования ошибок кодированных аудиоданных
PL2346030T3 (pl) * 2008-07-11 2015-03-31 Fraunhofer Ges Forschung Koder audio, sposób kodowania sygnału audio oraz program komputerowy
EP2144231A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme with common preprocessing
PL2311034T3 (pl) 2008-07-11 2016-04-29 Fraunhofer Ges Forschung Koder i dekoder audio do kodowania ramek próbkowanego sygnału audio
KR101518532B1 (ko) * 2008-07-11 2015-05-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 인코더, 오디오 디코더, 오디오 신호, 오디오 스트림을 부호화 및 복호화하는 장치 및 컴퓨터 프로그램
EP2144230A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
WO2010031049A1 (en) 2008-09-15 2010-03-18 GH Innovation, Inc. Improving celp post-processing for music signals
BRPI0914056B1 (pt) 2008-10-08 2019-07-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Esquema de codificação/decodificação de áudio comutado multi-resolução
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
CA2750795C (en) * 2009-01-28 2015-05-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, encoded audio information, methods for encoding and decoding an audio signal and computer program
JP4945586B2 (ja) 2009-02-02 2012-06-06 株式会社東芝 信号帯域拡張装置
US20100223061A1 (en) * 2009-02-27 2010-09-02 Nokia Corporation Method and Apparatus for Audio Coding
JP4932917B2 (ja) 2009-04-03 2012-05-16 株式会社エヌ・ティ・ティ・ドコモ 音声復号装置、音声復号方法、及び音声復号プログラム
FR2944664A1 (fr) 2009-04-21 2010-10-22 Thomson Licensing Dispositif et procede de traitement d'images
US8428938B2 (en) 2009-06-04 2013-04-23 Qualcomm Incorporated Systems and methods for reconstructing an erased speech frame
US8352252B2 (en) 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
CN101958119B (zh) 2009-07-16 2012-02-29 中兴通讯股份有限公司 一种改进的离散余弦变换域音频丢帧补偿器和补偿方法
AU2010305383B2 (en) 2009-10-08 2013-10-03 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Multi-mode audio signal decoder, multi-mode audio signal encoder, methods and computer program using a linear-prediction-coding based noise shaping
EP3693964B1 (en) 2009-10-15 2021-07-28 VoiceAge Corporation Simultaneous time-domain and frequency-domain noise shaping for tdac transforms
CN102667921B (zh) * 2009-10-20 2014-09-10 弗兰霍菲尔运输应用研究公司 音频编码器、音频解码器、用于将音频信息编码的方法、用于将音频信息解码的方法
PL2473995T3 (pl) * 2009-10-20 2015-06-30 Fraunhofer Ges Forschung Koder sygnału audio, dekoder sygnału audio, sposób dostarczania zakodowanej reprezentacji treści audio, sposób dostarczania dekodowanej reprezentacji treści audio oraz program komputerowy do wykorzystania w zastosowaniach z małym opóźnieniem
US7978101B2 (en) * 2009-10-28 2011-07-12 Motorola Mobility, Inc. Encoder and decoder using arithmetic stage to compress code space that is not fully utilized
US9020812B2 (en) 2009-11-24 2015-04-28 Lg Electronics Inc. Audio signal processing method and device
MX2012008075A (es) 2010-01-12 2013-12-16 Fraunhofer Ges Forschung Codificador de audio, decodificador de audio, metodo para codificar e informacion de audio, metodo para decodificar una informacion de audio y programa de computacion utilizando una modificacion de una representacion de un numero de un valor de contexto numerico previo.
US20110196673A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
EP2375409A1 (en) * 2010-04-09 2011-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
FR2961980A1 (fr) 2010-06-24 2011-12-30 France Telecom Controle d'une boucle de retroaction de mise en forme de bruit dans un codeur de signal audionumerique
SG10201604880YA (en) 2010-07-02 2016-08-30 Dolby Int Ab Selective bass post filter
ES2937066T3 (es) * 2010-07-20 2023-03-23 Fraunhofer Ges Forschung Decodificador de audio, procedimiento y programa informático para decodificación de audio
KR101676477B1 (ko) * 2010-07-21 2016-11-15 삼성전자주식회사 컨텍스트 기반의 무손실 부호화 장치 및 방법, 그리고 복호화 장치 및 방법
US9082416B2 (en) 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
US8738385B2 (en) 2010-10-20 2014-05-27 Broadcom Corporation Pitch-based pre-filtering and post-filtering for compression of audio signals
JP5625126B2 (ja) 2011-02-14 2014-11-12 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スペクトル領域ノイズ整形を使用する線形予測ベースコーディングスキーム
US9270807B2 (en) 2011-02-23 2016-02-23 Digimarc Corporation Audio localization using audio signal encoding and recognition
EP2686848A1 (en) 2011-03-18 2014-01-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frame element positioning in frames of a bitstream representing audio content
CN105336337B (zh) 2011-04-21 2019-06-25 三星电子株式会社 针对语音信号或音频信号的量化方法以及解码方法和设备
US8891775B2 (en) 2011-05-09 2014-11-18 Dolby International Ab Method and encoder for processing a digital stereo audio signal
FR2977439A1 (fr) 2011-06-28 2013-01-04 France Telecom Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
US9363339B2 (en) 2011-07-12 2016-06-07 Hughes Network Systems, Llc Staged data compression, including block level long range compression, for data streams in a communications system
FR2977969A1 (fr) 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
CN103493130B (zh) 2012-01-20 2016-05-18 弗劳恩霍夫应用研究促进协会 用以利用正弦代换进行音频编码及译码的装置和方法
KR101621287B1 (ko) 2012-04-05 2016-05-16 후아웨이 테크놀러지 컴퍼니 리미티드 다채널 오디오 신호 및 다채널 오디오 인코더를 위한 인코딩 파라미터를 결정하는 방법
US20130282373A1 (en) 2012-04-23 2013-10-24 Qualcomm Incorporated Systems and methods for audio signal processing
US9026451B1 (en) 2012-05-09 2015-05-05 Google Inc. Pitch post-filter
EP2874149B1 (en) 2012-06-08 2023-08-23 Samsung Electronics Co., Ltd. Method and apparatus for concealing frame error and method and apparatus for audio decoding
GB201210373D0 (en) * 2012-06-12 2012-07-25 Meridian Audio Ltd Doubly compatible lossless audio sandwidth extension
FR2992766A1 (fr) 2012-06-29 2014-01-03 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
CN102779526B (zh) 2012-08-07 2014-04-16 无锡成电科大科技发展有限公司 语音信号中基音提取及修正方法
US9406307B2 (en) 2012-08-19 2016-08-02 The Regents Of The University Of California Method and apparatus for polyphonic audio signal prediction in coding and networking systems
US9293146B2 (en) 2012-09-04 2016-03-22 Apple Inc. Intensity stereo coding in advanced audio coding
CN104885149B (zh) 2012-09-24 2017-11-17 三星电子株式会社 用于隐藏帧错误的方法和设备以及用于对音频进行解码的方法和设备
CN103714821A (zh) 2012-09-28 2014-04-09 杜比实验室特许公司 基于位置的混合域数据包丢失隐藏
US9401153B2 (en) 2012-10-15 2016-07-26 Digimarc Corporation Multi-mode audio recognition and auxiliary data encoding and decoding
US9318116B2 (en) 2012-12-14 2016-04-19 Disney Enterprises, Inc. Acoustic data transmission based on groups of audio receivers
EP2757558A1 (en) 2013-01-18 2014-07-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time domain level adjustment for audio signal decoding or encoding
FR3001593A1 (fr) 2013-01-31 2014-08-01 France Telecom Correction perfectionnee de perte de trame au decodage d'un signal.
KR102238376B1 (ko) 2013-02-05 2021-04-08 텔레폰악티에볼라겟엘엠에릭슨(펍) 오디오 프레임 손실 은폐를 제어하기 위한 방법 및 장치
TWI530941B (zh) 2013-04-03 2016-04-21 杜比實驗室特許公司 用於基於物件音頻之互動成像的方法與系統
PL3011555T3 (pl) 2013-06-21 2018-09-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Rekonstrukcja ramki sygnału mowy
EP2830065A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decoding an encoded audio signal using a cross-over filter around a transition frequency
EP2830055A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
RU2638734C2 (ru) 2013-10-18 2017-12-15 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Кодирование спектральных коэффициентов спектра аудиосигнала
US9906858B2 (en) 2013-10-22 2018-02-27 Bongiovi Acoustics Llc System and method for digital signal processing
KR101854296B1 (ko) 2013-10-31 2018-05-03 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 시간 도메인 여기 신호를 변형하는 오류 은닉을 사용하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더 및 방법
JP6396459B2 (ja) 2013-10-31 2018-09-26 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 周波数領域における時間的予備整形雑音の挿入によるオーディオ帯域幅拡張
MX356164B (es) * 2013-11-13 2018-05-16 Fraunhofer Ges Forschung Codificador para codificar una señal de audio, sistema de audio de transmisión y método para determinar valores de corrección.
JP6633547B2 (ja) * 2014-02-17 2020-01-22 サムスン エレクトロニクス カンパニー リミテッド スペクトル符号化方法
GB2524333A (en) 2014-03-21 2015-09-23 Nokia Technologies Oy Audio signal payload
LT3511935T (lt) 2014-04-17 2021-01-11 Voiceage Evs Llc Būdas, įrenginys ir kompiuteriu nuskaitoma neperkeliama atmintis garso signalų tiesinės prognozės kodavimui ir dekodavimui po perėjimo tarp kadrų su skirtingais mėginių ėmimo greičiais
US9396733B2 (en) * 2014-05-06 2016-07-19 University Of Macau Reversible audio data hiding
NO2780522T3 (ko) 2014-05-15 2018-06-09
EP2963648A1 (en) 2014-07-01 2016-01-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio processor and method for processing an audio signal using vertical phase correction
US9685166B2 (en) 2014-07-26 2017-06-20 Huawei Technologies Co., Ltd. Classification between time-domain coding and frequency domain coding
EP2980796A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
JP6086999B2 (ja) 2014-07-28 2017-03-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ハーモニクス低減を使用して第1符号化アルゴリズムと第2符号化アルゴリズムの一方を選択する装置及び方法
CN112216288A (zh) 2014-07-28 2021-01-12 三星电子株式会社 用于音频信号的时域数据包丢失隐藏的方法
EP2980798A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Harmonicity-dependent controlling of a harmonic filter tool
EP2980799A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing an audio signal using a harmonic post-filter
EP2988300A1 (en) 2014-08-18 2016-02-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Switching of sampling rates at audio processing devices
WO2016142002A1 (en) 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
EP3067886A1 (en) 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder for encoding a multichannel signal and audio decoder for decoding an encoded audio signal
US10296959B1 (en) 2015-03-30 2019-05-21 Audible, Inc. Automated recommendations of audio narrations
US9886963B2 (en) 2015-04-05 2018-02-06 Qualcomm Incorporated Encoder selection
US10049684B2 (en) 2015-04-05 2018-08-14 Qualcomm Incorporated Audio bandwidth selection
JP6422813B2 (ja) 2015-04-13 2018-11-14 日本電信電話株式会社 符号化装置、復号装置、これらの方法及びプログラム
US9978400B2 (en) * 2015-06-11 2018-05-22 Zte Corporation Method and apparatus for frame loss concealment in transform domain
US9837089B2 (en) 2015-06-18 2017-12-05 Qualcomm Incorporated High-band signal generation
US10847170B2 (en) 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges
KR20170000933A (ko) 2015-06-25 2017-01-04 한국전기연구원 시간 지연 추정을 이용한 풍력 터빈의 피치 제어 시스템
US9830921B2 (en) 2015-08-17 2017-11-28 Qualcomm Incorporated High-band target signal control
KR20180040716A (ko) 2015-09-04 2018-04-20 삼성전자주식회사 음질 향상을 위한 신호 처리방법 및 장치
US9978381B2 (en) 2016-02-12 2018-05-22 Qualcomm Incorporated Encoding of multiple audio signals
US10219147B2 (en) 2016-04-07 2019-02-26 Mediatek Inc. Enhanced codec control
US10283143B2 (en) 2016-04-08 2019-05-07 Friday Harbor Llc Estimating pitch of harmonic signals
CN107103908B (zh) 2017-05-02 2019-12-24 大连民族大学 复调音乐多音高估计方法及伪双谱在多音高估计中的应用

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100324912A1 (en) 2009-06-19 2010-12-23 Samsung Electronics Co., Ltd. Context-based arithmetic encoding apparatus and method and context-based arithmetic decoding apparatus and method
US20110096830A1 (en) * 2009-10-28 2011-04-28 Motorola Encoder that Optimizes Bit Allocation for Information Sub-Parts

Also Published As

Publication number Publication date
AU2018365309A1 (en) 2020-05-28
US11386909B2 (en) 2022-07-12
EP3707710A1 (en) 2020-09-16
RU2020120251A (ru) 2020-09-01
MX2020004770A (es) 2020-08-13
RU2769255C2 (ru) 2022-03-29
CN111656443B (zh) 2023-09-15
JP2021502606A (ja) 2021-01-28
CN111933159B (zh) 2024-04-09
JP2020204771A (ja) 2020-12-24
RU2769218C2 (ru) 2022-03-29
SG11202004285TA (en) 2020-06-29
KR102492554B1 (ko) 2023-01-30
AU2020203075A1 (en) 2020-05-28
JP7277065B2 (ja) 2023-05-18
ZA202004583B (en) 2022-07-27
US11380339B2 (en) 2022-07-05
RU2020119054A (ru) 2021-12-14
MX2020004772A (es) 2020-08-13
CA3148999A1 (en) 2019-05-16
EP3707710B1 (en) 2024-01-24
CN111933159A (zh) 2020-11-13
AU2020203074A1 (en) 2020-05-28
SG11202004279TA (en) 2020-06-29
US20200273471A1 (en) 2020-08-27
US11315583B2 (en) 2022-04-26
ZA202003441B (en) 2021-08-25
CA3082282A1 (en) 2019-05-16
CA3082282C (en) 2023-03-07
RU2020120256A3 (ko) 2020-10-28
CN111933160A (zh) 2020-11-13
KR20200100053A (ko) 2020-08-25
CA3148999C (en) 2024-04-16
WO2019091576A1 (en) 2019-05-16
WO2019092155A1 (en) 2019-05-16
JP7104749B2 (ja) 2022-07-21
KR102492558B1 (ko) 2023-01-30
RU2020120256A (ru) 2020-09-01
CN111656443A (zh) 2020-09-11
KR20200096233A (ko) 2020-08-11
AR113482A1 (es) 2020-05-06
AU2020203075B2 (en) 2020-12-17
BR122020009462A2 (pt) 2020-11-10
RU2020120251A3 (ko) 2020-10-28
BR112020009325A2 (pt) 2020-10-27
JP7104785B2 (ja) 2022-07-21
EP4336502A2 (en) 2024-03-13
AU2018365309B2 (en) 2020-12-17
TWI758556B (zh) 2022-03-21
SG11202004287YA (en) 2020-06-29
EP4336503A2 (en) 2024-03-13
ZA202004584B (en) 2022-07-27
AU2020203074B2 (en) 2020-12-03
MX2020004768A (es) 2020-08-20
CN111933160B (zh) 2024-02-13
JP2021005086A (ja) 2021-01-14
US20200273472A1 (en) 2020-08-27
BR122020009464A2 (pt) 2020-11-10
CA3148963A1 (en) 2019-05-16
US20200286494A1 (en) 2020-09-10
RU2020119054A3 (ko) 2021-12-14
TW201923738A (zh) 2019-06-16
KR20200094752A (ko) 2020-08-07
RU2767286C2 (ru) 2022-03-17

Similar Documents

Publication Publication Date Title
KR102492557B1 (ko) 최하위 비트의 인코딩 및 디코딩을 적용한 오디오 인코더, 오디오 디코더, 방법 및 컴퓨터 프로그램
JP6494741B2 (ja) 符号化及び復号化のための符号化装置、復号化装置、システム及び方法
US10504531B2 (en) Audio parameter quantization
JP7005036B2 (ja) 適応オーディオコーデックシステム、方法および媒体

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right