KR101401224B1 - 오디오 신호를 디코딩하기 위한 장치, 방법, 및 컴퓨터-판독가능 매체 - Google Patents

오디오 신호를 디코딩하기 위한 장치, 방법, 및 컴퓨터-판독가능 매체 Download PDF

Info

Publication number
KR101401224B1
KR101401224B1 KR1020127005062A KR20127005062A KR101401224B1 KR 101401224 B1 KR101401224 B1 KR 101401224B1 KR 1020127005062 A KR1020127005062 A KR 1020127005062A KR 20127005062 A KR20127005062 A KR 20127005062A KR 101401224 B1 KR101401224 B1 KR 101401224B1
Authority
KR
South Korea
Prior art keywords
codebook
frame
information
entropy
window
Prior art date
Application number
KR1020127005062A
Other languages
English (en)
Other versions
KR20120032039A (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
Priority claimed from US11/558,917 external-priority patent/US8744862B2/en
Priority claimed from US11/689,371 external-priority patent/US7937271B2/en
Application filed by 디지털 라이즈 테크놀로지 씨오., 엘티디 filed Critical 디지털 라이즈 테크놀로지 씨오., 엘티디
Publication of KR20120032039A publication Critical patent/KR20120032039A/ko
Application granted granted Critical
Publication of KR101401224B1 publication Critical patent/KR101401224B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L19/038Vector quantisation, e.g. TwinVQ audio

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Amplifiers (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

오디오 신호의 디코딩을 위한 시스템, 방법 및 기술 중에서, 프레임으로 분할된, 프레임-기반 비트 스트림에서 오디오 신호를 디코딩하는 시스템, 방법 및 기술이 제공된다. 각 프레임은 프레임 내의 오디오 데이터를 나타내는 프레임 및 엔트로피-인코딩된 양자화 인덱스에 관한 프로세싱 정보를 포함한다. 프로세싱 정보는 다음을 포함한다: (i) 엔트로피 코드북 인덱스, (ⅱ) 코드북이 적용될 엔트로피-인코딩된 양자화 인덱스의 범위를 지정하는 코드북 적용 정보, 및 (ⅲ) 윈도 정보. 엔트로피-인코딩된 양자화 인덱스는 엔트로피-인코딩된 양자화 인덱스의 대응하는 범위에 확인된 코드북을 적용해서 디코딩된다. 그러고 나서 서브밴드 샘플이 디코딩된 양자화 인덱스를 역양자화하여 생성되고, 오디오 데이터의 단일 프레임 안에서 적용된 일련의 다른 윈도 함수가 윈도 정보에 기초를 두어 확인된다. 시간 영역 오디오 데이터는 서브밴드 샘플을 역-변환하고 윈도 정보에 의해 나타난 복수 다른 윈도 함수를 사용해서 얻어진다.

Description

오디오 신호를 디코딩하기 위한 장치, 방법, 및 컴퓨터-판독가능 매체 {APPARATUS, METHOD, AND COMPUTER-READABLE MEDIUM FOR DECODING AN AUDIO SIGNAL}
이 출원은 "오디오 인코딩 시스템"이라는 표제의, 2007년 1월 31일에 출원된 미국출원번호 11/669,346의 일부계속출원('346 출원)이며; "프레임-기반 데이터의 가변 분해능 프로세싱(Variable-Resolution Processing of Frame-Based Data)"이라는 표제의 2006년 11월 12일에 출원된, 미국특허출원번호 11/558,917의 일부계속출원('917 출원)이며; 차례로 "멀티채널 디지털 오디오 코딩을 위한 장치 및 방법(Apparatus and Methods for Multichannel Digital Audio Coding)"이라는 표제의, 2004년 9월 17일에 출원된 미국가출원번호 60/610,674의 이익을 주장하고, "가변 분해능 필터링"이라는 표제의, 2006년 8월 18일에 출원된 미국가출원번호 60/822,760('760 출원)의 이익을 주장하는, "멀티채널 디지털 오디오 코딩을 위한 장치 및 방법(Apparatus and Methods for Multichannel Digital Audio Coding)"이라는 표제의, 2005년 1월 4일에 출원한 미국특허출원번호 11/029,722의 일부계속출원('722 출원)이다. 상기 출원들의 각각은 참고에 의해 자세히 개시되어 여기에 통합된다.
기술분야
본 발명은 통신 채널을 통과하여 수신되거나 저장장치에서 읽히는 디지털 오디오 신호와 같은, 오디오 신호의 디코딩을 위한 시스템, 방법 및 기술에 관계한다.
오디오 신호의 인코딩하고 나서 디코딩하기 위한 다양한 다른 기술이 존재한다. 그러나, 성능, 질 및 압축에서의 개선이 지속적으로 바람직하다.
본 발명은 다른 것 중에서, (양자화 유닛의 교차 경계의 경우에도) 양자화 인덱스(quantization index)의 지정된 범위에서 코드북(code book)을 적용하고 비트 스트림(bit stream) 내의 윈도 정보(window information)에 근거를 둔 오디오 데이터의 단일 프레임 안에 적용될 일련의 다른 윈도를 확인함으로써 비트 스트림에서 오디오 데이터를 회수하는 디코딩 시스템, 방법 및 기술을 제공함으로써 이 필요를 처리한다.
따라서, 한 대표적인 구체예에서, 본 발명은 프레임-기반 비트 스트림에서 오디오 신호를 디코딩하기 시스템, 방법 및 기술에 관련된다. 각 프레임은 프레임 내의 오디오 데이터를 나타내는 프레임 및 엔트로피-인코딩된(entropy-encoded) 양자화 인덱스에 관한 프로세싱 정보(processing information)를 포함한다. 프로세싱 정보는 다음을 포함한다: (i) 엔트로피 코드북 인덱스, (ⅱ) 코드북이 적용될 엔트로피-인코딩된 양자화 인덱스의 범위를 지정하는 코드북 적용 정보, 및 (ⅲ) 윈도 정보. 엔트로피-인코딩된 양자화 인덱스의 대응하는 범위에 확인된 코드북을 적용해서 엔트로피-인코딩된 양자화 인덱스가 디코딩된다. 그러고 나서 서브밴드 샘플이 디코딩된 양자화 인덱스를 역양자화(dequantizing)하여 생성되고, 오디오 데이터의 단일 프레임 안에서 적용된 일련의 다른 윈도 함수가 윈도 정보에 기초를 두고 확인된다. 서브밴드 샘플을 역-변환(inverse-transforming)하고 윈도 정보에 의해 나타난 복수의 다른 윈도 함수를 사용해서 시간-영역 오디오 데이터가 얻어진다.
상기 배열의 덕택으로, 수시로 더 높은 효율성을 달성하고 동시에 원래 오디오 신호의 더 허용가능한 재구성을 제공하는 것이 가능하다.
상기 개요는 단지 발명의 특정 양상의 간단한 설명을 제공한다. 발명은 청구항 및 동반된 도면과 관련하여 바람직한 구체예의 다음의 상세한 설명을 참조하여 더 완전하게 이해될 것이다.
도 1은 본 발명의 대표적인 구체예에 따라, 디코더(decorder)가 사용될 수 있는 각종 설명적인 환경을 설명하는 블록도이다.
도 2a-b는 본 발명의 대표적인 구체예에 따라, 각각, 프레임을 커버하는 단일 long 블록의 사용 및 프레임을 커버하는 다수의 short 블록의 사용을 설명한다.
도 3a-c는 본 발명의 대표적인 구체예에 따른 과도현상 프레임의 다른 예를 설명한다.
도 4는 본 발명의 대표적인 구체예에 따른 오디오 신호 디코딩 시스템(10)의 블록도이다.
본 발명은 예를 들면 저장장치에서 회수된 또는 통신 채널을 통과한 수신된 후의, 오디오 신호를 디코딩하기 위한 시스템, 방법 및 기술에 관한 것이다. 본 발명이 사용될 수 있는 적용분야는 다음을 포함하나, 이에 제한되지 않는다: 디지털 오디오 방송, 디지털 텔레비전 (위성 방송, 지상파 방송(terrestrial broadcasting) 및/또는 케이블 방송), 홈시어터, 디지털 시어터, 레이저 비디오 디스크 플레이어, 인터넷상의 콘텐츠 스트리밍 및 개인 오디오 플레이어. 본 발명의 오디오 디코딩 시스템, 방법 및 기술은 예를 들면 '346 출원의 오디오 인코딩 시스템, 방법 및 기술과 함께 사용될 수 있다.
본 발명에 따른 디코더(decorder; 100)가 사용될 수 있는 특정 설명적인 일반 환경이 도 1에서 설명된다. 일반적으로 말하면, 본 발명에 따른 디코더(100)는 프레임-기반 비트 스트림(20)의 입력을 수신하고, 각 프레임에 있어서, 그 프레임 내의 실제 오디오 데이터 (전형적으로, 엔트로피-인코딩된 양자화 인덱스) 및 (예를 들면, 제어 정보, 포맷(formatting) 정보 및/또는 보조 정보를 포함하는) 각종 프로세싱 정보를 포함한다. 비트 스트림(20)은 배선에 의한 연결(hard-wired connection) 또는 분리가능한 커넥터를 통해 디코더(100)로 일반적으로 입력될 것이다.
상기 기술된 것처럼, 비트 스트림(20)은 다양한 다른 소스의 어떤 것으로부터 기인할 수 있다. 소스는 예를 들면, 안테나(32)에 의해 수신되고 복조기(demodulator; 34), 비트 스트림(20)이 적당한 판독기(reader; 38)에 의해 얻어지는 (예를 들면, 반도체, 자기 또는 광학) 저장장치(36), 비트 스트림(20)이 복조기(44)에서 파생되는 케이블 연결부(42) 또는 비트 스트림(20)이 직접 제공되는 케이블 연결부(48)에서 비트 스트림(20)으로 변환되는 디지털 무선-주파수(radio-frequency) (또는 다른 전자기) 전송을 포함한다. 예를 들면, '346 출원에서 기술된 모든 기술을 사용하여 비트 스트림(20)을 생성할 수도 있다. 본 발명의 특정 구체예에서, 오디오 비트 스트림이 다양한 포맷의 비디오 비트 스트림, 다른 포맷의 오디오 비트 스트림, 및 메타 데이터(metadata)로 다중 송신되는(multiplexed), MPGE 2 시스템 프로토콜(MPEG 2 system protocol)에 따라 다중 송신된 것과 같은, 다중 송신된 비트 스트림; 또는 오디오 데이터의 비트를 나타내는 중복-인코딩된(redundancy-encoded), 인터리브(interleaved) 및/또는 천공된(punctured) 심벌(symbol)로 (공지된 기술을 사용하여) 변조된 수신된 무선-주파수 신호 등과 같은 다른 신호에서 비트 스트림(20) 자체가 파생되었다.
'346 출원에서 더 상세히 논의한 대로; 본 발명의 바람직한 구체예에서, 비트 스트림(20) 안의 오디오 데이터가 서브밴드 샘플로 (바람직하게 단일 정현-기반 변형 기술(unitary sinusoidal-based transform technique)을 사용하여) 변환되고, 양자화되고 나서, 엔트로피-인코딩되었다. 바람직한 구체예에서, 오디오 데이터는 변형이산여현변환(Modified Discrete Cosine Transform; MDCT)을 이용하여 변환되고 양자화되고 나서 적당한 허프만 인코딩(Huffman endcoding)을 이용하여 엔트로피-인코딩되었다. 그러나, 다른 구체예에서 다른 변환 및/또는 엔트로피-인코딩 기술을 대신 사용할 수도 있고, MDCT 또는 허프만에 대한 다음의 논의에서의 정의를 단지 예로서 이해되어야 할 것이다. 오디오 데이터는 여기에서 펄스 코드 변조(Pulse Coded Modulation; PCM) 샘플 또는 오디오 샘플로 다양하게 불린다; 바람직하게 변환은 한번이고, 샘플의 수가 시간영역과 변환영역에서 동일하기 때문이다.
또한, 오디오 데이터 및 많은 제어, 포맷 및 보조 정보가 여기에서 허프만 인코딩된 것으로 기술되었더라도, 그런 인코딩은 일반적으로 선택적이고 바람직한 구체예에서 데이터 크기를 감소시킬 목적으로만 사용되는 것으로 이해되어야 한다. 사용되는 곳에, 디코더(10)는 바람직하게 인코더에 의해 사용된 것처럼 같은 코드북을 저장한다. 바람직한 허프만 코드북은 '760 출원에 개시되며, '760 출원에서 "코드(code)"는 십진법 포맷(decimal format)에서의 허프만 코드이고, "비트 증가(Bit Increment)"는 이전 라인의 코드와 비교하여 현재 코드를 위해 요구되는 (십진법 포맷에서) 부가 비트의 수이며, "인덱스"는 십진법 포맷에서의 인코딩되지 않은 값이다.
바람직한 구체예에서, 입력 오디오 데이터는 특정한 시간 간격을 정의하고 그 시간 간격 동안 다수 오디오 채널의 각각을 위한 샘플을 포함하는 각 프레임으로 프레임-기반된다. 바람직하게, 각 그런 프레임은 비교적 작은 세트의 프레임 크기에서 선정된 고정된 수의 샘플을 가지며, 어떤 특정 시간 간격을 위해 선정된 프레임 크기는 예를 들면 샘플링 속도 및 프레임 사이에서 허용될(tolerated) 수 있는 양의 지연(delay)에 의존한다. 더 바람직하게, 각 프레임은 128, 256, 512 또는 1,024 샘플을 포함하며, 지연의 감소가 중요한 상황을 제외하고 더 긴 프레임이 바람직하다. 하기에서 논의될 예의 대부분에서, 각 프레임이 1,024 샘플로 이루어진 것으로 추정된다. 그러나, 그런 예는 제한되지 않는다.
프로세싱 목적을 위해 (일차적으로 MDCT 또는 다른 변환 프로세싱을 위해), 프레임은 많은 더 작은 바람직하게 동일-크기의 블록으로 분할된다(때때로, 전형적으로 더 긴 MDCT 또는 다른 변환 블록과 구별시키기 위해 여기에서 "일차 블록"으로 부른다). 이 분할을 도 2a 및 2b에서 설명한다. 도 2a에서, 전체 프레임(50)은 (예를 들면, 1,024 오디오 데이터 샘플을 포함하는) 단일 일차 블록(51)에 의해 커버된다. 도 2b에서, 프레임(50)은 (예를 들면, 각각 128 오디오 데이터 샘플을 포함하는) 8개의 인접 일차 블록 52-59에 의해 커버된다.
샘플의 각 프레임은 (신호 과도현상(transient)을 포함하는 프레임인) 과도현상 프레임(transient frame) 또는 (과도현상을 포함하지 않는 프레임인) 준정상 프레임(quasistationary frame)으로 분류될 수 있다. 이 점에 있어서, 신호 과도현상은 바람직하게 신호 에너지의 급격한(sudden and quick) 상승(rise 또는 attack) 또는 하락으로서 정의된다. 과도현상 신호는 드물게만 형성되고, 본 발명을 위해, 다만 두 과도현상 신호가 각 프레임에서 생성될 것으로 추정된다.
여기에 사용된 것처럼, 용어 "과도현상 세그먼트(segment)"는 전체 프레임 또는 동일 또는 유사한 통계적인 성질을 가지는 신호에서의 프레임의 세그먼트를 의미한다. 따라서, 준정상 프레임은 일반적으로 단 하나의 과도현상 세그먼트로 이루어지며, 반면에 과도현상 프레임은 일반적으로 둘 또는 세 개의 과도현상 세그먼트로 이루어질 것이다. 예를 들면 프레임에서 과도현상의 상승 또는 하락만 생긴다면, 과도현상 프레임은 일반적으로 2개의 과도현상 세그먼트를 가질 것이다: 상승 또는 하락 전의 프레임의 일부를 커버하는 세그먼트 및 상승 또는 하락 후의 프레임의 일부를 커버하는 또 다른 세그먼트. 과도현상 프레임에서 상승 및 하락이 둘 다 생롱다면, 3개의 과도현상 세그먼트가 일반적으로 존재하며, 각각, 각 세그멘트는 각각 상승 및 하락에 의해 분할된 프레임의 일부를 커버할 것이다.
이 가능성은 8개의 동일크기의 일차 블록 61-68으로 분할된 샘플의 각 단일 프레임(60)을 설명하는 도 3a-c에 설명된다. 도 3a에서, 과도현상 신호(70)가 두 번째 블록 62에 존재해서, 2개의 과도현상 세그먼트가 있고, 1개는 블록 61만을 이루고 있고 다른 하나는 블록 62-68을 이룬다. 도 3b에서, 과도현상 신호(71)가 블록 64에서 발생하고 다른 과도현상 신호(72)가 블록 66에서 발생해서, 3개의 과도현상 세그먼트가 있으며, 하나는 블록 61-63을 이루고, 하나는 블록 64-65을 이루며 마지막 하나는 블록 66-68을 이룬다. 도 3c에서, 과도현상 신호(73)가 블록 68에서 발생해서, 2개의 과도현상 세그먼트가 존재하며, 하나는 블록 61-67을 이루고 다른 하나는 블록 68만을 이룬다.
도 4는 본 발명의 대표적인 구체예에 따른 오디오 신호 디코딩 시스템(100)의 블록도로서, 실선의 화살표는 오디오 데이터의 흐름을 나타내고, 점선 화살표는 제어 정보, 포맷 정보 및/또는 보조 정보의 흐름을 나타내며, 점선 박스는 비트 스트림(20)에서 대응하는 제어 데이터만 나타날 때의 본 구체예를 예시하는 구성요소를 나타내며, 이하에서 더 상세히 설명한다. 대표적인 부-구체예에서, 도 4에 설명된 개별 부(section), 모듈 또는 구성요소는 하기에서 기술한 대로, 컴퓨터로 실행할 수 있는(computer-executable) 코드로 완전하게 실행된다. 그러나, 다른 구체예에서 그런 부 또는 구성요소의 하나 또는 전체가 여기서 논의된 것과 다른 방법으로 실행될 수도 있다.
비트 스트림(20)은 초기에 프로세싱 정보 및 오디오-신호 정보를 분리하기 위하여 데이터의 프레임으로 비트 스트림(20)을 분할하고 각 프레임에서 데이터를 푸는(unpack) 디멀티플렉서(demultiplexer; 115)로 입력된다. 첫 번째 업무에 관해서, 비트 스트림(20)의 데이터는 바람직하게 일련의 프레임으로서 해석되며, 각 새로운 프레임은 동일한 "동기화 워드(synchronization word)"로 (바람직하게, Qx7FFF)로 시작한다. 본 발명의 대표적인 구체예에 따라, 이들 기능을 실행을 위한 컴퓨터 프로그램 리스트 작성은 (여기서 참조로서 통합된) '760 출원에 개시되어 있고, '760 출원의 리스트화된 모듈 또는 설명에서 참조되거나 원용된 다른 모듈뿐만 아니라, 거기에 기술된 Bit StreamQ, FrameQ, FrameHeaderQ 및 UnpackWinSequenceQ 모듈을 포함한다.
각 데이터 프레임을 위한 구조는 바람직하게 다음과 같다:
프레임헤더
동기화 워드(바람직하게, Qx7FFF)
샘플 속도, 정상 채널 수, 저주파효과(LFR) 채널의 수 등등과 같은, 오디오 신호의 설명
정상채널(Normal channel):
1 내지 64
모든 정상 채널을 위한 오디오 데이터(본 구체예에서 그런 채널은 64까지)
LFE 채널:
0 내지 3
모든 LFE 채널을 위한 오디오 데이터(본 구체예에서 구런 채널은 3까지)
에러 탐지 오디오 데이터의 현재 프레임을 위한 에러-탐지 코드. 탐지되면, 에러-처리 프로그램이 작동한다.
보조 데이터 시간 코드 및/또는 다른 사용자-정의된 정보
헤더 정보
바람직하게 두 가능한 다른 유형의 프레임 중 하나, (예를 들면, nFrmHeaderType=O으로 나타난) 일반 프레임(General frame) 또는 (예를 들면, nFrmHeaderType=1로 나타난) 연장 프레임(Extension frame)를 나타내는 단일-비트 필드 "nFrmHeaderType"이 프레임 헤더에 포함된다. 이 플래그(flag)를 따르는 비트는 헤더 정보의 나머지를 구성한다. 바람직한 구체예에서, 그 정보는 프레임이 일반 또는 연장으로 지정되었는지에 따라 다음과 같이 요약된다:
다른 워드
비트의 수
일반 프레임 헤더 연장 프레임 헤더
nNumWord 10 13
nNumBlocksPerFrm 2
nSampleRateIndex 4
nNumNormalCh 3 6
nNumLfeCh 1 2
bAuxChClg 1
bUseSumDiff 1 0
bUseJIC 1 0
nJicCb 5 0
따라서 예를 들어, 만약 nFrmHeaderType가 일반 프레임 헤더를 나타내면, nFrmHeaderType 다음의 첫 번째 10 비트는 (하기에서 정의되는) nNumWord로, 다음의 3 비트는 (하기에서 정의되는) nNumNormalCh로 해석된다. 그러나 만약 nFrmHeaderType가 연장 프레임 헤더를 나타내면, 예를 들면, nFrmHeaderType 다음의 첫 번째 13 비트는 nNumWord로, 다음 6개 비트는 nNumNormalCh로 해석된다. 다음의 논의는 본 발명의 본 구체예에서 이용된 각종 헤더 필드를 설명한다.
필드 "nNumWord"은 동기화 워드의 시작(그 첫 번째 바이트(byte))부터 현재 프레임을 위한 에러-탐지 워드의 끝까지의 현재 프레임(32-비트 워드에서)의 오디오 데이터의 길이를 나타낸다.
필드 "nNumBlocksPerFrm"은 오디오 데이터의 현재 프레임에 대응하는 쇼트-윈도 MDCT(short-window Modified Discrete Cosine Transform) 블록의 수를 나타낸다. 본 발명의 바람직한 구체예에서, 1개의 쇼트-윈도 MDCT 블록은 128 일차 오디오 데이터 샘플(바람직하게 엔트로피-인코딩된 양자화 서브밴드 샘플)을 포함해서, 오디오 데이터의 프레임에 일치하는 일차 오디오 데이터 샘플의 수는 128*nNumBlocksPerFrm이다.
경계 효력(boundary effect)을 피하기 위하여, MDCT 블록은 일차 블록보다 크고, 더 바람직하게 일차 블록의 크기의 두 배임을 주의해야 한다. 따라서, 만약 short 일차 블록 크기가 128 오디오 데이터 샘플로 이루어져 있으면, short MDCT 블록은 바람직하게 256 샘플로 이루어져 있고, 만약 long 일차 블록이 1,024 오디오 데이터 샘플로 이루어져 있으면, long MDCT 블록은 2,048 샘플로 이루어져 있다. 더 바람직하게, 각 일차 블록은 새로운 (다음의 연속하는) 오디오 데이터 샘플로 이루어져 있다.
필드 "nSampleRatelndex"는 오디오 신호를 위해 사용된 샘플링 주파수의 인덱스를 나타낸다. 인덱스 세트 및 대응하는 샘플 주파수의 한 예는 다음 표에 나타난다:
nSampleRatelndex 샘플링 주파수(Hz)
0 8000
1 11025
2 12000
3 16000
4 22050
5 24000
6 32000
7 44100
8 48000
9 88200
10 96000
11 174600
12 192000
13 reversed
14 reversed
15 reversed
필드 "nNumNormalCh"은 정상 채널의 수를 나타낸다. 이 필드를 나타내는 비트의 수는 프레임 헤더 유형에 의해 결정된다. 본 구체예에서, 만약 nFrmHeaderType가 일반 프레임 헤더를 나타내면, 3 비트가 사용되고 정상 채널의 수는 1 내지 8의 범위일 수 있다. 반면, nFrmHeaderType가 연장 프레임 헤더를 나타내면, 6 비트가 사용되고 정상 채널의 수는 1 내지 64의 범위일 수 있다.
필드 "nNumLfeCh"는 LFE 채널의 수를 나타낸다. 본 구체예에서, 만약 nFrmHeaderType가 일반 프레임 헤더를 나타내면, 1 비트가 사용되고 정상 채널의 수는 0 내지 1의 범위일 것이다. 반면, 만약 nFrmHeaderType가 연장 프레임 헤더를 나타내면, 2 비트가 사용되고 정상 채널의 수는 0 내지 3의 범위일 것이다.
필드 "bAuxChCfg"는 예를 들면, 추가 채널 구성 정보를 포함하는 현재 프레임의 끝에서의 어떤 보조 데이터가 있는지 여부를 나타낸다. 바람직하게, bAuxChCfg=0은 no를, bAuxChCfg=1은 yes를 의미한다.
필드 "bUseSumDiff"는 합/차 인코딩(sum/difference encoding)이 현재 프레임에 적용되었는지 여부를 나타낸다. 이 필드는 바람직하게 일반 프레임 헤더에서만 존재하고 연장 프레임 헤더에서는 나타나지 않는다. 바람직하게, bUseSumDiff=O는 no를, bUseSumDiff=1은 yse를 의미한다.
필드 "bUseJIC"는 조인트 세기 인코딩(joint intensity encoding)이 현재 프레임에 적용되었는지 여부를 나타낸다. 또한, 이 필드는 바람직하게 일반 프레임 헤더에서만 존재하고 연장 프레임 헤더에서는 나타나지 않는다. 바람직하게, bUseJIC=0는 no을 의미하고 bUseJIC=1은 yes를 의미한다.
필드 "nJicCb"는 만약 조인트 세기 인코딩이 현재 프레임에 적용되었다면 조인트 세기 인코딩의 시작 임계 밴드(critical band)를 나타낸다. 또한, 이 필드는 바람직하게 일반 프레임 헤더에서만 존재하고 연장 프레임 헤더에서는 나타나지 않는다.
상기에서 나타낸 것과 같이, 헤더에 있는 모든 데이터는 프로세싱 정보이다. 하기에 명백하게 논의할 것과 같이, 대부분 그런 데이터가 오디오 데이터 샘플임에도 불구하고, 몇몇의 채널-지정 데이터 또한 프로세싱 정보이다.
채널 데이터 프레임
바람직한 구체예에서, 각 정상 채널을 위한 일반 데이터 구조는 다음과 같다:
윈도 배열
(window sequence)
윈도 함수 인덱스 MDCT 윈도 함수를 나타낸다
과도 세그먼트의 수 과도 프레임만을 위해 사용되는-과도 세그먼트의 수를 나타낸다
과도 세그먼트 길이 과도 프레임만을 위해 사용되는-과도 세그먼트의 길이를 나타낸다
허프만 코드북 인텍스 및 적용범위 코드북 수 각 과도 세그먼트가 사용하는 허프만 코드북의 수
적용범위 각 허프만 코드북의 적용범위
코드북 인덱스 각 허프만 코드북의 코드북 인덱스
서브밴드 샘플 양자화 인덱스 모든 서브밴드 샘플의 양자화 인덱스
양자화단계 크기 인덱스 각 양자화 유닛의 양자화 단계 크기 인덱스
합/차 인코딩 결정 디코더가 양자화 유닛의 샘플에 합/차 디코딩하는지를 나타낸다
조인트 세기 코팅 척도 인자 인덱스 소스 채널에서 조인트 양자화 유닛의 서브밴드 샘플을 재구성하는데 사용될 척도 인자를 위한 인덱스
그러나, 특정 구체예에서 정상 채널 전부는 윈도 순서 정보를 포함하지 않는다. 윈도 순서 정보가 하나 이상의 채널에 제공되지 않으면, 다른 구체예에서 정보가 대신에 어떤 다른 지정된 채널에서 복사되더라도, 이 그룹의 데이터는 바람직하게 채널 0(ChO)을 위해 제공된 윈도 순서 정보에서 복사된다.
바람직한 구체예에서, 각 LFE 채널을 위한 데이터 구조는 바람직하게 다음과 같다:
허프만 코드북 인덱스 및 적용범위
코드북 수 코드북 수를 나타낸다
적용범위 각 허프만 코드북의 적용범위
코드북 인덱스 각 허프만 코드북의 코드북 인덱스
서브밴드 샘플 양자화 인덱스 전체 서브밴드 샘플의 양자화 인덱스
양자화 단계 크기 인덱스 각 양자화 유닛의 양자화 단계 크기 인덱스
상기에서 나타낸 것처럼, (정상 채널에만 제공되는) 윈도 순서 정보는 바람직하게 MDCT 윈도 함수 인덱스를 포함한다. 본 구체예에서, 상기 인덱스는 "nWinTypeCurrent"로서 지정되고 다음의 값과 의미를 가진다:
nWinTypeCurrent 윈도 함수 윈도 함수 길이(샘플의 수)
0 WIN_LONG_LONG2LONG 2048
1 WIN_LONG_LONG2SHORT 2048
2 WIN_LONG_SHORT2LONG 2048
3 WIN_LONG_SHORT2SHORT 2048
4 WIN_LONG_LONG2BRIEF 2048
5 WIN_LONG_BRIEF2LONG 2048
6 WIN_LONG_BRIEF2BRIEF 2048
7 WIN_LONG_SHORT2BRIEF 2048
8 WIN_LONG_BRIEF2SHORT 2048
9 WIN_SHORT_SHORT2SHORT 256
10 WIN_SHORT_SHORT2BRIEF 256
11 WIN_SHORT_BRIEF2BRIEF 256
12 WIN_SHORT_BRIEF2SHORT 256
nWinTypeCurrent = 0, 1, 2, 3, 4, 5, 6, 7 또는 8일 때, long MDCT 윈도 함수가 나타나고, 상기 단일 long 윈도 함수는 전체 프레임을 위해 사용된다. nWinTypeCurrent의 다른 값(nWinTypeCurrent = 9, 10, 11 또는 12)은 short MDCT 윈도 함수를 나타낸다. 후자에 있어서, 현재 프레임은 nNumBlocksPerFrm (예를 들면, 8까지) short MDCTs를 구성하고, nWinTypeCurrent는 이들 nNumBlocksPerFrm short MDCT의 첫 번째 및 마지막 윈도 함수만 나타낸다. 프레임 내의 다른 short 윈도 함수는 ('917 출원에서 더 상세히 기술한 것처럼) 완벽한 재구성 필요조건(perfect reconstrucion requirement)과 함께, 과도현상이 나타나는 위치에 의해 결정된다. 좌우간, 수신된 데이터는 바람직하게 인코더 측에 사용된 전체 윈도 순서를 완전히 확인하기에 충분한 윈도 정보를 포함한다.
이 점에 있어서, 본 구체예에서 필드 "nNumCluster"는 현재 프레임에서의 과도현상 세그먼트의 수를 나타낸다. 윈도 함수 인덱스 nWinTypeCurrent가 long 윈도 함수가 현재 프레임에 적용되었음을 나타낼 때(nWinTypeCurrent = 0, 1, 2, 3, 4, 5, 6, 7 또는 8), 현재 프레임은 준정상이여서, 과도현상 세그먼트의 수는 절대적으로 1이고, nNumCluster는 비트 스트림에서 나타날 필요가 없다(그래서 그것이 바람직하게 전달되지 않는다).
반면, 바람직한 구체예에서, short 윈도 함수가 나타날 때 2 비트가 nNumCluster에 할당되고 이때 그 값은 각각 1-3 과도현상 세그먼트에 대응하는, 0-2의 범위이다. short 윈도 함수가 준정상 프레임(즉, 단일 과도현상 세그먼트)에서도 사용될 수도 있다. 이 경우는 예를 들면, 인코더가 낮은 코딩 지연을 달성하기를 원할 때 발생할 수 있다. 그런 낮은-지연 모드에서, 프레임에서의 오디오 데이터 샘플의 수는 1,024 이하(즉, long 일차 블록의 길이)일 수 있다. 예를 들면, 인코더가 프레임에서의 (각각이 256-샘플 MDCT 블록에 의해 커버되는 128 PCM 샘플을 포함하는) 2개의 short 블록을 가는 그 샘플을 커버하는 경우에, 디코더는 프레임에서의 256 PCM 샘플을 포함하는 것을 선택할 수도 있고, 이는 디코더가 두 short 윈도를 적용한다는 것을 의미한다. 이 모드의 이점은 (만약 다른 조건이 동일하다면) 버퍼 크기에 비례하는 코딩 지연이 본 예에서 예를 들면 4배까지(1,024/256=4) 감소한다는 것이다.
현재 프레임이 과도현상 프레임이면 (즉, 과도현상 신호의 적어도 일부를 포함해서 nNumCluster가 하나 이상의 과도현상 세그먼트를 나타내면), 바람직하게 필드 "anNumBlocksPerFrmPerCluster[ nCluster ]"는 수신된 데이터에 포함되고 그것이 점유하는 short MDCT 블록의 수의 관점에서 각 과도현상 세그먼트 nCluster의 길이를 나타낸다. 각 그런 워드는 바람직하게 (예를 들면, '760 출원의 표 B.28의 HuffDec1_7x1을 사용하여) 허프만 인코딩되고, 따라서, 각 과도현상 세그먼트 길이는 과도현상 세그먼트의 위치를 재구성하기 위해 디코딩될 수 있다.
반면에, 현재 프레임이 (단일 long 윈도 함수 또는 short 윈도 함수의 고정된 수를 가지는) 준정상 프레임이면, 과도현상 세그먼트 길이가 절대적이고 즉, long 윈도 함수를 가지는 프레임의 단일 long 블록(예를 들면, 2,048 MDCT 샘플) 또는 (예를 들면, 각각 256 MDCT 샘플을 포함하는) 다수 (예를 들면 8개까지) short 윈도 함수를 가지는 프레임의 모든 블록이기 때문에, anNumBlocksPerFrmPerCluster[nCluster]은 비트 스트림에서 나타나지 않는다(즉, 전달되지 않는다).
상기에서 언급한 대로, 프레임이 단일의 long 블록에 의해 커버될 때, 상기 단일 블록은 nWinTypeCurrent에 의해 지정된다. 그러나, 프레임이 다수의 short 블록에 의해 커버될 때 상황은 다소 더 복잡하다. 더 복잡한 이유는, 완벽한 재구성 필요요건 때문에, 현재 블록을 위한 윈도 함수가 바로 인접하는 이전 및 이후 블록에서 사용된 윈도 함수에 달려 있기 때문이다. 그러므로, 본 발명의 현재 구체예에서, 추가 프로세싱은 short 블록이 나타날 때 적합한 윈도 순서를 확인하기 위하여 실행된다. 이 추가 프로세싱은 모듈(134)에 대한 논의와 관련하여 하기에서 더 자세히 기술된다.
멀티플렉서(multiplexer; 115)에 의해 허프만 코드북 인덱스와 적용범위 정보가 추출된다. 이 정보 및 그 프로세싱을 하기에서 설명한다.
일단 프레임 데이터가 상기에서 기술한 대로 풀리면, 변환 계수(tranform coefficient)는 회수되고 적당한 순서대로 배열되고 나서, 원래 시간 영역 데이터를 생성하기 위해 역-변환 프로세싱(inverse- transformation processing)이 실행된다. 도 4를 참조하여, 이들 일반 단계를 하기에서 더 상세하게 기술한다.
회수 계수(Coefficient Retrieval)
도 4를 참조하여, 모듈(118)에서, 적합한 코드북 및 적용 범위는 디멀티플렉서(demultiplexer; 15)에서 추출된 대응 정보에 근거하여 선정된다. 특히, 상기에서 참조된 허프만 코드북 인덱스 및 적용 범위 정보는 바람직하게 다음의 필드를 포함한다.
필드 "anHSNumBands [ nCluster ]"는 과도현상 세그먼트 nCluster에서의 코드북 세그먼트의 수를 나타낸다. 필드 "mnHSBandEdge [ nCluster ][ nBand ]*4"는 과도현상 세그먼트 nCluster에서의 코드북 세그먼트 nBand(즉, 허프만 코드북의 적용범위)의 (양자화 인덱스의 관점에서의) 길이를 나타낸다; 각각의 그런 값 자체는 바람직하게 허프만 인코딩되며, 준정상 프레임을 위한 값을 디코딩하기 위해 ('760 출원에서 개시된 것처럼) HuffDec2_64x1이 모듈(18)에 의해 사용되고, (또한, '760 출원에서 개시된) HuffDec3_32x1이 과도현상 프레임을 위한 값을 디코딩하기 위하여 사용된다. 필드 "mnHS[ nCluster ][ nBand ]"은 과도현상 세그먼트 nCluster에서 코드북 세그먼트 nBand의 Huffman 코드북 인덱스를 나타낸다; 각각의 그런 값 자체는 바람직하게 허프만 인코딩되고, '760 출원에서의 HuffDec4_18x1은 준정상 프레임을 위한 값을 디코딩하는데 사용되고 '760 출원에서의 HuffDec5_18x1은 과도현상 프레임을 위한 값을 디코딩하는데 사용된다.
실제 서브밴드 샘플 양자화 인덱스를 디코딩하기 위한 코드북은 디코딩된 mnHS[nCluster][nBand] 코드북 인덱스에 기반을 두고 다음과 같이 회수된다:
코드북
인덱스(mnHS)
디멘션 양자화 인덱스 범위 미드트레드
(midtread)
준정상
코드북 그룹
과도현상
코드북 그룹
0 0 0 보존 보존 보존
1 4 -1, 1 Yes HuffDec10_81×4 HuffDec19_81×4
2 2 -2, 2 Yes HuffDec11_25×2 HuffDec20_25×2
3 2 -4, 4 Yes HuffDec12_81×2 HuffDec21_81×2
4 2 -8, 8 Yes HuffDec13_289×2 HuffDec22_289×2
5 1 -15, 15 Yes HuffDec14_31×1 HuffDec23_31×1
6 1 -31, 31 Yes HuffDec15_63×1 HuffDec24_63×1
7 1 -63, 63 Yes HuffDec16_127×1 HuffDec25_127×1
8 1 -127, 127 Yes HuffDec17_255×1 HuffDec26_255×1
9 1 -255, 255 No HuffDec18_256×1 HuffDec27_256×1
여기서 디멘션(dimension)은 단일의 허프만 코드에 의해 인코딩된 양자화 인덱스의 수를 나타내고 참조된 허프만 디코딩 표는 '760 출원에서 특정화된 것이다.
본 구체예에서, 각 코드북 적용 범위의 길이(즉, 각 코드북 세그먼트)는 특정된다는 것이 주목된다. 각 그런 코드북 세그먼트는 하나 이상 양자화 유닛의 경계를 교차할 수도 있다. 또한, 코드북 세그먼트가 예를 들면, 각 코드북 적용 범위를 위한 출발점을 지정하는 등의 다른 방법으로 지정될 수도 있다. 그러나, 만약 (출발점보다) 길이가 지정된다면 더 작은 총수의 비트를 사용하여 인코딩할 수 있음이 일반적이다.
좌우간, 수신된 정보는 바람직하게 각 코드북이 적용되는 적용 범위를 확인하고, 디코더(100)는 실제 양자화 인덱스를 디코딩하기 위해 이 정보를 이용한다. 이 접근방법은 적용 범위가 전통적인 접근과 상당히 다르며, 각 양자화 유닛이 코드북에 할당되어, 적용 범위가 종래의 접근방법으로 전달되지 않는다. 그러나, '760 출원에서 더 상세히 논의한 것처럼, 부가 오버헤드(overhead)는 정규적으로 적용범위를 유연하게 지정하여 얻어질 수 있는 부가적인 효율성에 의해 더 보상된다.
모듈(120)에서, 디멀티플렉서(demultiplexer; 15)에 의해 추출된 양자화 인덱스는 모듈(18)에서 확인된 양자화 인덱스를 양자화 인덱스의 대응하는 적용범위에 적용하여 디코딩된다. 결과는 양자화 인덱스의 완전히 디코딩된 세트이다.
모듈(122)에서, 양자화 유닛의 수가 재구성된다. 이 점에 있어서, " 양자화 유닛"은 바람직하게 주파수 영역에서의 임계밴드 및 시간영역에서의 과도 세그먼트에 의해 경계 지어진 서브밴드의 랙탱글(rectangle)에 의해 정의된다. 이 랙탱글 내에서의 모든 양자화 인덱스는 동일한 양자화 유닛에 속한다. 과도현상 세그먼트는 상술한 방법으로, 멀티플렉서(115)에 의해 추출된 과도현상 세그먼트 정보에 근거하여, 바람직하게 확인된다. "임계밴드"는 인간 귀의 주파수 분해능, 즉, 인간 귀가 다른 주파수를 구별할 수 없는 범위 내의 대역폭(bandwidth) Δf를 의미한다. 대역폭 Δf는 주파수 f에 따라 상승하고, f와 Δf사이의 관계를 거의 지수(exponential)이다. 각 임계밴드를 필터 뱅크의 다수의 인접한 서브밴드 샘플로 나타낼 수 있다. short 및 long 윈도를 위한 그리고 다른 샘플링 속도를 위한 바람직한 임계밴드는 '760 출원의 표 B.2 내지 B.27에 개시된다. 환언하면, 임계밴드의 경계는 각 MDCT 블록 크기 및 샘플링 속도를 위해 미리 결정되며, 인코더와 디코더가 동일한 임계밴드를 사용한다. 상기 정보에서, 양자화 유닛의 수는 다음과 같이 재구성된다.
Figure 112012015758294-pat00001
여기서 anHSNumBands [ nCluster ]는 과도현상 세그먼트 nCluster를 위한 코드북의 수이며, mnHSBandEdge[ nCluster ][ nBand ]는 과도현상 세그먼트 nCluster의 코드북 nBand를 위한 코드북 적용범위의 상부 경계이고, pnCBEdge [ nBand ]는 임계밴드 nBand의 상부 경계이며, anMaxActCb [ nCluster ]는 과도현상 세그먼트 nCluster를 위한 양자화 유닛의 수이다.
역양자화기(dequantizer) 모듈(124)에서, 각 양자화 유닛에 적용가능한 양자화 스텝 크기는 비트 스트림(20)에서 디코딩되고, 그런 스텝 크기는 디코딩 모듈(120)에서 수신된 양자화 인덱스로부터 서브밴드 샘플을 재구성하기 위하여 이용된다. 바람직한 구체예에서, "mnQStepIndex [ nCluster ][ nBand ]"는 양자화 유닛 (nCluster, nBand)의 양자화 스텝 크기 인덱스를 나타내고 준정상 프레임을 위한 허프만 코드북 HuffDec6_116x1 및 과도현상 프레임을 위한 허프만 코드북 HuffDecc7_116x1에 의해 디코딩되며, 둘 다 '760 출원에 개시되어 있다.
일단 양자화 스텝 크기가 확인되면, 각 서브밴드 샘플 값은 바람직하게 다음과 같이 얻어진다 (선형 양자화가 인코더에서 사용되었다고 추정):
서브밴드 샘플 = 양자화 스텝 크기 * 양자화 인덱스.
본 발명의 다른 구체예에서, 비선형 양자화 기술이 이용된다.
단지 bUseJIC의 값에 의해 나타내어 질 때만 모듈(128)에서의 조인트 세기 디코딩이 바람직하게 수행된다. 만일 그렇다면, 조인트 세기 디코더(128)는 소스 채널에서 서브밴드 샘플을 복사하고 나서 조인트 채널의 서브밴드 샘플을 재구성하기 위하여 척도 인자로 곱한다, 즉,
조인트 채널 = 척도 인자 * 소스 채널 샘플
한 대표적인 구체예에서, 소스 채널은 정면 좌 채널이고 각 다른 정상 채널은 조인트 채널로서 인코딩되었다. 바람직하게, 동일한 양자화 유닛에서의 서브밴드 샘플 모두는 동일한 척도 인자를 가진다.
단지 bUseSumDiff의 값에 의해 나타내어질 때만 모듈(130)에서의 합/차 디코딩이 바람직하게 실행된다. 만일 그렇다면, 좌/우 채널에서의 서브밴드 샘플의 재구성은 바람직하게 다음과 같이 실행된다:
좌 채널 = 합 채널 + 차 채널; 및
우 채널 = 합 채널 - 차 채널.
'346 출원에서 설명한 것처럼, 바람직한 구체예에서 인터리빙(interleaving) 이라고 불리는 단계에서의, 인코더는 현재 채널의 현재 프레임을 위한 서브밴드 샘플을 재배열하여 동일한 서브밴드에 대응하는 동일한 과도현상 세그먼트 내의 샘플을 함께 분류한다. 그러므로, 디인터리빙(de-interleaving) 모듈(132)에서, 그들의 자연순으로 다시 서브밴드 샘플이 재정비된다. 그런 재배열을 실행하기 위한 한 기술은 다음과 같다:
Figure 112012015758294-pat00002
여기서, nNumCluster는 과도현상 세그먼트의 수이며, anNumBlocksPerFrmPerCluster[nCluster는]는 과도현상 세그먼트 nCluster를 위한 과도현상 세그먼트 길이이고, nClusterBinO[nCluster]는 과도현상 세그먼트 nCluster의 첫 번째 서브밴드 샘플 위치이며, afBinlnterleaved[q]는 인터리브드된(interleaved) 순서로 배열된 서브밴드 샘플의 배열이고, afBinNatural[p]는 자연순(natural order)으로 배열된 서브밴드 샘플의 배열이다.
그러므로, 디인터리빙 모듈(132)에 의해 실행된 프로세싱에 따라, 각 채널의 각 프레임을 위한 서브밴드 샘플이 그들의 자연순으로 출력된다.
시간-근거 샘플로 변환
모듈(134)에서, 데이터의 본 프레임의 변환 블록을 위해 (인코더 측에서) 사용된 윈도 함수의 순서가 확인된다. 상술한 것처럼, 본 구체예에서 MDCT 변환이 인코더 측에서 사용되었다. 그러나, 다른 구체예에서 다른 유형의 변환(바람직하게 단일(unitary) 및 정현파(sinusoidal)에 기초를 두고) 사용될 수도 있고 본 발명의 디코더(100)에 의해 완전히 수용될 수 있다. 상기에서 언급된 대로, 본 구체예에서, long 변환-블록 프레임을 위해 수신된 필드 nWinTypeCurrent가 전체 프레임을 위해 사용된 단일 long 윈도 함수를 확인한다. 그러므로, 본 구체예에서 long 변환 블록 프레임을 위한 모듈(134)에서 추가 프로세싱이 실행될 필요가 없다.
반면에, short 변환-블록 프레임을 위한 본 구체예에서의 필드 nWinTypeCurrent는 첫 번째 및 마지막 변환 블록을 위해 사용된 윈도 함수만 지정한다. 그러므로, 바람직하게 short 변환-블록 프레임을 위해 다음 프로세싱이 실행된다.
short 블록이 프레임에서 이용될 때, nWinTypeCurrent를 위한 수신된 값은 바람직하게 현재 프레임의 첫 번째 블록 및 다음 프레임의 첫 번째 블록이 과도현상 신호를 포함하는지 여부를 확인한다. (수신된 과도현상 세그먼트 길이에서 확인되는) 과도현상 세그먼트의 위치 및 완벽한 재구성 필요조건과 함께, 이 정보는 디코더(100)가 프레임의 각 블록에서 어떤 윈도 함수를 사용할지 결정하는 것을 허용한다.
WIN_SHORT_BRIEF2BRIEF 윈도 함수가 바람직한 구체예에서 과도현상을 가진 블록을 위해 사용되기 때문에, 다음의 명칭(nomenclature)은 이 정보를 전달하기 위하여 이용될 수도 있다. WIN_SHORT_Current2Subs는 Current(SHORT=no, BRIEF=yes)가 현재 프레임의 첫 번째 블록에 과도현상이 있는지를 확인하고, Subs(SHORT=no, BRIEF=yes)는 다음 프레임의 첫 번째 블록에 과도현상이 있는지를 확인한다. 예를 들면, WIN_SHORT_BRIEF2BRIEF는 현재 프레임의 첫 번째 블록과 다음 프레임의 첫 번째 블록에 과도현상이 있다는 것을 나타내고, WIN_SHORT_BRIEF2SHORT는 현재 프레임의 첫 번째 블록에 과도현상이 있고 다음 프레임의 첫 번째 블록에는 과도현상이 없다는 것을 나타낸다.
따라서, Current는 (프레임의 첫 번째 블록이 과도현상 신호를 포함하는지 여부를 나타냄으로써) 프레임의 첫 번째 블록에의 윈도 함수를 결정하는 것을 돕고, Subs는 (다음 프레임의 첫 번째 블록이 과도현상 신호를 포함하는지 여부를 나타냄으로써) 프레임의 마지막 블록을 위한 윈도 함수를 확인하는 것을 돕는다. 특히, Current가 SHORT이면, 첫 번째 블록을 위한 윈도 함수는 WIN_SHORT_Last2SHORT가 되어야 하고, 여기서 "Last"는 완벽한 재구성 성질을 통해 마지막 프레임의 마지막 윈도 함수에 의해 결정된다. 반면, Current가 BRIEF이면, 첫 번째 블록을 위한 윈도 함수는 WTN_SHORT_Last2BRIEF이어야 하며, 여기서 Last는 완벽한 재구성 성질을 통해 마지막 프레임의 마지막 윈도 함수에 의해 다시 결정된다. 프레임의 마지막 블록을 위해, 과도현상을 포함하면, 그 윈도 함수는 WIN_SHORT_BRIEF2BRIEF이어야 한다. 이 블록에 과도현상이 없을 때, Subs가 SHIRT이면, 프레임의 마지막 블록을 위한 윈도 함수는 WIN_SHORT_Last2SHORT이어야 하고, 여기서 Last는 완벽한 재구성 성질을 통해 프레임의 두 번째 마지막 블록의 윈도 함수에 의해 결정된다. 반면에, Subs이 BRIEF이면, 프레임의 마지막 블록을 위한 윈도 함수는 WTN_SHORT_Last2BRIEF이어야 하고, 여기서 Last는 완벽한 재구성 성질을 통해 프레임의 두 번째 마지막 블록의 윈도 함수에 의해 다시 결정된다. 마지막으로, 프레임의 나머지 블록을 위한 윈도 함수는 과도현상 세그먼트의 시작에 의해 나타나는, 과도현상 위치에 의해 완벽한 재구성 성질을 통해 결정될 수 있다. 이의 상세한 절하는 '917 출원에 기재되어 있다.
모듈(136)에서, 현재 프레임의 각 변환 블록을 위해, 서브밴드 샘플은 그런 블록이 (인코딩 및 다른 수적 오류(numerical inaccuracies) 과정에 도입될 수 있는 어떤 양자화 소음에 속하는) 원래 데이터값을 회복하기 위해 모둘(134)에 의해 확인된 윈도 함수를 사용하여 역변환된다(inverse transformed).
모듈(136)의 출력은 인코더로 입력된 PCM 샘플의 재구성된 순서이다.
시스템 환경
명확하게 다르게 지시된 경우를 제외하고, 일반적으로 말하면, 여기에 기술된 시스템, 방법 및 기술은 하나 이상의 프로그램가능한 다목적 컴퓨팅 장치의 사용으로 실행될 수 있다. 그런 장치는 전형적으로 , 예를 들면 공통 버스(common bus)를 통해, 서로 상호연결된 예를 들어 다음의 구성의 적어도 일부를 포함할 것이다: 하나 이상의 중앙 처리 장치(CPUs); 읽기전용 메모리(ROM); 랜덤 엑서스 메모리(RAM); (예를 들면, 직렬 포트, 병렬 포트, USB 연결 또는 팜웨어 연결 등과 같은, 하드웨어 연결부를 사용하여, 또는 블루투스(Bluetooth) 또는 802.11 프로토콜 등과 같은, 무선 프로토콜을 사용하여) 다른 장치와 인터페이스하는 입/출력 소프트웨어 및 회로; (예를 들면, 이더넷(Ethernet) 카드 등과 같은 하드웨어 연결부, CDMA(code division multiple access), GSM(Global System for Mobile communication), 블루투스, 802.11 프로토콜, 또는 다른 셀룰러-기반 시스템 또는 비셀룰러-기반 시스템 등과 같은 무선 프로토콜을 사용하여) 하나 이상의, 본 발명의 많은 구체예에서 차례로, 인터넷 또는 다른 네트워크와 연결하는, 네트워크를 연결하는 하나 이상의 네트워크에 연결하기 위한 소프트웨어 및 회로; (음극선관 디스플레이(Cathode Ray Tube Display), 액정디스플레이(liquid crystal display), 유기발광디스플레이(organic light-emitting display), 중합발광디스플레이(polymeric light-emitting display) 또는 다른 박막디스플레이와 같은) 디스플레이; (하나 이상의 스피커, 헤드폰 세트 및 프린터 등과 같은) 다른 출력 장치; (마우스, 터치패드, 태블릿(tablet), 터치-민감 디스플레이, 또는 다른 포인팅 장치(pointing device), 키보드, 키패드, 마이크로폰 및 스캐너 등과 같은) 하나 이상의 입력 장치; (하드디스크 드라이브와 같은) 대용량 저장 유닛; 리얼 타임 클락(real time clock); (RAM, 자기디스크, 자기테이프, 광자기디스크(opto-magnetic disk), 광학디스크 등에서 읽고 쓰는 것과 같은) 삭제가능한 저장 판독/기록 장치(removable storage read/write device); 및 (예를 들면, 팩스를 보내거나, 다이얼 호출 연결을 통해 인터넷 또는 다른 전산 네트워크에 연결하기 위한) 모뎀. 작동 중에, 그런 범용 컴퓨터에 의해 실행된 한도까지, 상기 방법 및 기능을 실행하기 위한 처리 단계는 전형적으로, 초기에 (하드디스크 등과 같은) 대용량 저장장치에 저장되고, RAM으로 다운로드되고 나서 RAM에서 나와 CPU에 의해 실행된다. 그러나, 어떤 경우에, 처리 단계는 RAM 또는 ROM에 처음에 저장된다.
본 발명을 실행함에 사용되는 적당한 장치는 다양한 납품업자에게 얻어질 수도 있다. 각종 구체예에서, 다른 유형의 장치는 업무의 크기 및 복합성에 따라서 이용된다. 적당한 장치는 단독으로 사용되거나, 네트워크에 유선으로 연결되거나 네트워크에 무선으로 연결되든지, 본체 컴퓨터, 멀티프로세서 컴퓨터, 워크스테이션, 퍼스널 컴퓨터, 및 PDA, 무선전화 또는 다른 장비나 장치와 같은 소형 컴퓨터를 포함한다. 네트워크로 독립, 배선에 의하고는 또는 네트워크에 무선으로 연결해 PDAs와 같은 본체 컴퓨터, 다중 처리기 컴퓨터, 워크스테이션, 개인용 컴퓨터 및 소규모 컴퓨터조차 무선 전화 또는 다른 어떤 기구 또는 장치 포함한다.
게다가, 다목적 프로그램가능한 장치가 상기에 기술되더라도, 다른 구체예에서 하나 이상의 특정-목적 프로세서 또는 컴퓨터가 대신하여 (또는 부가하여) 사용된다. 일반적으로, 다르게 명확하게 기술된 것을 제외하고, 어떤 상술한 기능성도 공지된 설계교환에 기초하여 선택된 특정 실시와 함께, 소프트웨어, 하드웨어, 팜웨어 또는 이들의 조합으로 실행될 수 있다. 좀 더 구체적으로, 기술필드에서 숙련된 자에 의해 용이하게 평가되는 것처럼, 상술한 기능성이 고정된, 미리 결정된 또는 논리적인 방식으로 구현되어, (예를 들면, 소프트웨어 또는 팜웨어) 프로그래밍, 로직 구성요소(하드웨어)의 적당한 배열 또는 둘의 조합을 통해 기능성이 성취될 수 있다.
본 발명은 또한 본 발명의 방법 및 기능성을 수행하기 위해 프로그램 지시가 저장된 기계 판독가능한 매체와 관련된다는 것을 이해해야 한다. 그런 매체는, 예로, 자기디스크, 자기데이크, CD ROM 및 DVD ROM과 같은 광학 판독가능한 매체, 또는 PCMCIA 카드, 각종 메모리카드, USB 메모리 장치와 같은 반도체 메모리 등을 포함한다. 각 경우에, 매체는 소형 디스크 드라이브 또는 소형 디스크, 디스켓, 카세트, 카트리지, 카드, 스틱 등과 같은 이동가능한 아이템의 형태를 취할 수도 있고, 또는 컴퓨터 또는 다른 장치에 제공된 하드 디스크 드라이브, ROM 또는 RAM과 같은 비교적 더 큰 또는 부동 아이템의 형식을 취할 수도 있다.
상기 묘사는 1차적으로 전자 컴퓨터 및 장치를 강조한다. 그러나 전자, 광학, 생물학 및 화학 처리의 어떤 조합든지 이용하는 장치와 같은, 어떤 다른 전산 장치 또는 다른 유형의 장치가 대신 사용될 수도 있다.
추가 고려사항.
상기 구체예는 오디오 데이터의 프로세싱에 관계된다. 그러나, 본 발명의 기술은 또한 비디오 데이터, (지진, 날씨, 방사선 등의)센서 데이터, 경제 데이터 또는 다른 관찰가능하거나 측정가능한 데이터 등과 같은, 다른 유형의 데이터를 프로세싱하는 것에 관련하여 사용될 수도 있음을 이해해야 한다.
본 발명의 몇몇 다른 구체예가 상술되어 있고, 각 그런 구체예는 특정 특징을 포함하는 것으로 기술되었다. 그러나, 어떤 단일 구체예에 대한 논의와 관련하여 기술된 특징이 그 구체예로 제한되지 않지만 기술필드에서 숙련된 자에 의해 이해되는 것처럼, 어떤 다른 구체예에도 다양한 조합으로 포함 및/또는 배열될 수도 있다.
유사하게, 상기 논의에서, 기능은 특정한 모듈 또는 구성요소에 때때로 귀속된다. 그러나, 특정 구성요소 또는 모듈을 위한 필요를 완전히 제거 및/또는 새로운 구성요소 또는 모듈의 추가가 필요한 어떠한 경우에, 기능은 어떤 다른 모듈 또는 구성요소 중에서 원하는 대로 일반적으로 재분배될 수도 있다. 기술필드에서 숙련된 자에 의해 이해되는 것처럼, 기능의 정확한 분배는 발명의 특정한 구체예에 관하여, 공지된 설계 교환에 따라 바람직하게 형성될 수 있다.
따라서, 본 발명은 그 대표적인 구체예 및 첨부된 도면에 관하여 상세히 기술되었더라도, 본 발명의 정신 및 범위를 벗어나지 않고 다양하게 본 발명을 채택 및 변형할 수 있는 것은 기술필드에서 숙련된 자에게 자명하다. 그러므로, 발명은 도면에 도시되고 상기에서 기술된 정확한 구체예로 제한되지 않는다. 오히려, 발명의 정신에서 떠나지 않는 그런 모든 변형이 여기에 첨부된 청구항에 의해서만 제한되는 그 범위 안에서 고려되는 것으로 예정된다.

Claims (23)

  1. 오디오 신호를 디코딩하는 방법으로서,
    (a) 각 프레임이 상기 프레임에 관한 프로세싱 정보 및 상기 프레임 내의 오디오 데이터를 나타내는 엔트로피-인코딩된 양자화 인덱스들을 포함하는, 복수의 프레임을 포함하는 비트 스트림을 얻는 단계를 포함하며,
    상기 프로세싱 정보는
    (ⅰ) 각 코드북 인덱스가 코드북을 확인하는, 복수의 코드북 인덱스,
    (ⅱ) 상기 코드북들이 적용되는 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들을 지정하는 코드북 적용 정보 및
    (ⅲ) 윈도 정보를 포함하고,
    상기 방법은,
    (b) 상기 코드북 인덱스들에 의해 확인되는 코드북들을 상기 코드북 적용 정보에 의해 지정된 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들에 적용함으로써 상기 엔트로피-인코딩된 양자화 인덱스들을 디코딩하는 단계;
    (c) 상기 디코딩된 양자화 인덱스들을 역양자화하여 서브밴드 샘플들을 생성하는 단계;
    (d) 상기 윈도 정보에 기반을 둔 오디오 데이터의 단일 프레임 안에서 적용되는 복수의 서로 다른 윈도 함수의 배열을 확인하는 단계; 및
    (e) 상기 서브밴드 샘플들을 역변환하고 상기 윈도 정보에 의해 나타난 복수의 서로 다른 윈도 함수를 상기 오디오 데이터의 단일 프레임 안에서 사용하여 시간영역 오디오 데이터를 얻는 단계를 더 포함하며,
    상기 윈도 정보는 상기 프레임 내의 과도현상의 위치를 나타내고, 상기 복수의 서로 다른 윈도 함수의 배열은 상기 과도현상의 위치에 관련된 미리 결정된 룰들에 기반을 두고 상기 (d) 단계에서 확인되며,
    상기 미리 결정된 룰들은 특정 윈도 함수가 과도현상을 포함하는 어떤 변환 블록에서 사용되는 것을 지정하는, 오디오 신호를 디코딩하는 방법.
  2. 제1항에 있어서,
    상기 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들 중 적어도 하나는 양자화 유닛의 경계를 교차하고, 양자화 유닛은 주파수 영역에서의 임계 대역 및 시간 영역에서의 과도현상 세그먼트(transient segment)에 의해 경계 지어지는 양자화 인덱스들의 사각형(rectangle)에 의해 정의되는, 오디오 신호를 디코딩하는 방법.
  3. 제1항에 있어서,
    상기 코드북 적용 정보는 상기 코드북 인덱스들에 의해 확인되는 각 코드북에 대한 엔트로피-인코딩된 양자화 인덱스들의 하나의 적용 범위를 확인하는 것을 특징으로 하는, 오디오 신호를 디코딩하는 방법.
  4. 제1항에 있어서,
    상기 코드북 적용 정보는 상기 코드북 인덱스들에 의해 확인되는 각 코드북을 위한 엔트로피-인코딩된 양자화 인덱스들의 길이를 지정하는 것을 특징으로 하는, 오디오 신호를 디코딩하는 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 미리 결정된 룰들은 또한 완벽한 재구성 필요조건들(perfect reconstruction requirements)에 부합하는 것을 특징으로 하는, 오디오 신호를 디코딩하는 방법.
  8. 제1항 내지 제4항, 또는 제7항 중 어느 한 항에 있어서,
    상기 특정 윈도 함수는 상기 오디오 데이터의 상기 단일 프레임 안에서 상기 복수의 서로 다른 윈도 함수 중 나머지 윈도 함수들보다 좁은 것을 특징으로 하는, 오디오 신호를 디코딩하는 방법.
  9. 제8항에 있어서,
    상기 특정 윈도 함수는 대칭이며 그 변환 블록의 각 말단에서 복수의 0 값을 가지는, 전체 변환 블록의 중앙부만 점유하는 것을 특징으로 하는, 오디오 신호를 디코딩하는 방법.
  10. 제1항 내지 제4항, 또는 제7항 중 어느 한 항에 있어서,
    상기 (ⅰ) 복수의 코드북 인덱스, (ⅱ) 코드북 적용 정보 및 (ⅲ) 윈도 정보의 각각은 엔트로피-인코딩되는 것을 특징으로 하는, 오디오 신호를 디코딩하는 방법.
  11. 오디오 신호를 디코딩하기 위한 컴퓨터-실행가능한 처리 단계들을 저장하는 컴퓨터-판독가능 매체로서, 상기 처리 단계들은,
    (a) 각 프레임이 상기 프레임에 관한 프로세싱 정보 및 상기 프레임 내의 오디오 데이터를 나타내는 엔트로피-인코딩된 양자화 인덱스들을 포함하는, 복수의 프레임을 포함하는 비트 스트림을 얻는 단계를 포함하며,
    상기 프로세싱 정보는
    (ⅰ) 각 코드북 인덱스가 코드북을 확인하는, 복수의 코드북 인덱스,
    (ⅱ) 상기 코드북들이 적용되는 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들을 지정하는 코드북 적용 정보 및
    (ⅲ) 윈도 정보를 포함하고,
    상기 처리 단계들은,
    (b) 상기 코드북 인덱스들에 의해 확인된 코드북들을 상기 코드북 적용 정보에 의해 지정된 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들에 적용함으로써 상기 엔트로피-인코딩된 양자화 인덱스들을 디코딩하는 단계;
    (c) 상기 디코딩된 양자화 인덱스들을 역양자화하여 서브밴드 샘플들을 생성하는 단계;
    (d) 상기 윈도 정보에 기반을 둔 오디오 데이터의 단일 프레임 안에서 적용되는 복수의 서로 다른 윈도 함수의 배열을 확인하는 단계; 및
    (e) 상기 서브밴드 샘플들을 역변환하고 상기 윈도 정보에 의해 나타난 복수의 서로 다른 윈도 함수를 상기 오디오 데이터의 단일 프레임 안에서 사용하여 시간영역 오디오 데이터를 얻는 단계를 더 포함하며,
    상기 윈도 정보는 상기 프레임 내의 과도현상의 위치를 나타내며, 상기 복수의 서로 다른 윈도 함수의 배열은 상기 과도현상의 위치에 관련된 미리 결정된 룰들에 기반을 두고 상기 (d) 단계에서 확인되고,
    상기 미리 결정된 룰들은 특정 윈도 함수가 과도 현상을 포함하는 어떤 변환 블록에서 사용되는 것을 지정하는, 컴퓨터-판독가능 매체.
  12. 제11항에 있어서,
    상기 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들 중 적어도 하나는 양자화 유닛의 경계를 교차하며, 양자화 유닛은 주파수 영역에서의 임계 대역 및 시간 영역에서의 과도현상 세그먼트에 의해 경계 지어지는 양자화 인덱스들의 사각형에 의해 정의되는, 컴퓨터-판독가능 매체.
  13. 제11항에 있어서,
    상기 미리 결정된 룰들은 또한 완벽한 재구성 필요조건들에 부합하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서,
    상기 특정 윈도 함수는 대칭이며 그 변환 블록의 각 말단에서 복수의 0 값을 가지는, 전체 변환 블록의 중앙부만 점유하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  15. 제11항 내지 제13항 중 어느 한 항에 있어서,
    상기 (ⅰ) 복수의 코드북 인덱스, (ⅱ) 코드북 적용 정보 및 (ⅲ) 윈도 정보 각각은 엔트로피-인코딩되는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  16. (a) 각 프레임이 상기 프레임에 관한 프로세싱 정보 및 상기 프레임 내의 오디오 데이터를 나타내는 엔트로피-인코딩된 양자화 인덱스들을 포함하는, 복수의 프레임을 포함하는 비트 스트림을 얻기 위한 수단 -
    상기 프로세싱 정보는
    (ⅰ) 각 코드북 인덱스가 코드북을 확인하는, 복수의 코드북 인덱스,
    (ⅱ) 상기 코드북들이 적용되는 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들을 지정하는 코드북 적용 정보 및
    (ⅲ) 윈도 정보를 포함함 - ;
    (b) 상기 코드북 인덱스들에 의해 확인된 코드북들을 상기 코드북 적용 정보에 의해 지정된 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들에 적용함으로써 상기 엔트로피-인코딩된 양자화 인덱스들을 디코딩하기 위한 수단;
    (c) 상기 디코딩된 양자화 인덱스들을 역양자화하여 서브밴드 샘플들을 생성하기 위한 수단;
    (d) 상기 윈도 정보에 기반을 둔 오디오 데이터의 단일 프레임 안에서 적용되는 복수의 서로 다른 윈도 함수의 배열을 확인하기 위한 수단; 및
    (e) 상기 서브밴드 샘플들을 역변환하고 상기 윈도 정보에 의해 나타난 복수의 서로 다른 윈도 함수를 상기 오디오 데이터의 단일 프레임 안에서 사용하여 시간영역 오디오 데이터를 얻기 위한 수단을 포함하며,
    상기 윈도 정보는 상기 프레임 내의 과도현상의 위치를 나타내며, 상기 복수의 서로 다른 윈도 함수의 배열은 상기 과도현상의 위치에 관련된 미리 결정된 룰들에 기반을 두고 상기 (d) 수단에서 확인되고,
    상기 미리 결정된 룰들은 특정 윈도 함수가 과도 현상을 포함하는 어떤 변환 블록에서 사용되는 것을 지정하는, 오디오 신호를 디코딩하는 장치.
  17. 제16항에 있어서,
    상기 엔트로피-인코딩된 양자화 인덱스들의 적용 범위들 중 적어도 하나는 양자화 유닛의 경계를 교차하며, 양자화 유닛은 주파수 영역에서의 임계 대역 및 시간 영역에서의 과도현상 세그먼트에 의해 경계 지어지는 양자화 인덱스들의 사각형에 의해 정의되는, 오디오 신호를 디코딩하는 장치.
  18. 제16항에 있어서,
    상기 미리 결정된 룰들은 또한 완벽한 재구성 필요조건들에 부합하는 것을 특징으로 하는 오디오 신호를 디코딩하는 장치.
  19. 제16항 내지 제18항 중 어느 한 항에 있어서,
    상기 특정 윈도 함수는 대칭이며 그 변환 블록의 각 말단에서 복수의 0 값을 가지는, 전체 변환 블록의 중앙부만 점유하는 것을 특징으로 하는 오디오 신호를 디코딩하는 장치.
  20. 제16항 내지 제18항 중 어느 한 항에 있어서,
    상기 (ⅰ) 복수의 코드북 인덱스, (ⅱ) 코드북 적용 정보 및 (ⅲ) 윈도 정보 각각은 엔트로피-인코딩되는 것을 특징으로 하는 오디오 신호를 디코딩하는 장치.
  21. 제1항 내지 제3항, 또는 제7항 중 어느 한 항에 있어서,
    상기 코드북 적용 정보는 상기 적용 범위들의 길이들을 특정하는, 오디오 신호를 디코딩하는 방법.
  22. 제1항 내지 제4항, 또는 제7항 중 어느 한 항에 있어서,
    각 프레임은 128, 256, 512, 또는 1024 샘플들을 포함하는, 오디오 신호를 디코딩하는 방법.
  23. 제1항 내지 제4항, 또는 제7항 중 어느 한 항에 있어서,
    상기 프레임들 중 적어도 하나는 복수의 동일 크기 블록에 의해 커버되며, 상기 윈도 함수들 중 하나는 상기 복수의 동일 크기 블록의 각각에 적용되고, 상기 윈도 함수들 중 하나는 대칭이며 그 동일 크기 블록의 각 말단에서 복수의 0 값을 가지는, 전체 변환 블록의 중앙부만 점유하는, 오디오 신호를 디코딩하는 방법.
KR1020127005062A 2006-08-18 2007-08-17 오디오 신호를 디코딩하기 위한 장치, 방법, 및 컴퓨터-판독가능 매체 KR101401224B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US82276006P 2006-08-18 2006-08-18
US60/822,760 2006-08-18
US11/558,917 US8744862B2 (en) 2006-08-18 2006-11-12 Window selection based on transient detection and location to provide variable time resolution in processing frame-based data
US11/558,917 2006-11-12
US11/669,346 2007-01-31
US11/669,346 US7895034B2 (en) 2004-09-17 2007-01-31 Audio encoding system
US11/689,371 2007-03-21
US11/689,371 US7937271B2 (en) 2004-09-17 2007-03-21 Audio decoding using variable-length codebook application ranges
PCT/CN2007/002490 WO2008022565A1 (en) 2006-08-18 2007-08-17 Audio decoding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097005454A Division KR101161921B1 (ko) 2006-08-18 2007-08-17 오디오 디코딩

Publications (2)

Publication Number Publication Date
KR20120032039A KR20120032039A (ko) 2012-04-04
KR101401224B1 true KR101401224B1 (ko) 2014-05-28

Family

ID=39110402

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020097005452A KR101168473B1 (ko) 2006-08-18 2007-08-17 오디오 인코딩 시스템
KR1020097005454A KR101161921B1 (ko) 2006-08-18 2007-08-17 오디오 디코딩
KR1020127005062A KR101401224B1 (ko) 2006-08-18 2007-08-17 오디오 신호를 디코딩하기 위한 장치, 방법, 및 컴퓨터-판독가능 매체

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020097005452A KR101168473B1 (ko) 2006-08-18 2007-08-17 오디오 인코딩 시스템
KR1020097005454A KR101161921B1 (ko) 2006-08-18 2007-08-17 오디오 디코딩

Country Status (7)

Country Link
US (1) US7895034B2 (ko)
EP (2) EP2054881B1 (ko)
JP (2) JP5162588B2 (ko)
KR (3) KR101168473B1 (ko)
AT (2) ATE486346T1 (ko)
DE (2) DE602007010160D1 (ko)
WO (1) WO2008022564A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332216B2 (en) * 2006-01-12 2012-12-11 Stmicroelectronics Asia Pacific Pte., Ltd. System and method for low power stereo perceptual audio coding using adaptive masking threshold
KR101435411B1 (ko) * 2007-09-28 2014-08-28 삼성전자주식회사 심리 음향 모델의 마스킹 효과에 따라 적응적으로 양자화간격을 결정하는 방법과 이를 이용한 오디오 신호의부호화/복호화 방법 및 그 장치
CA2858944C (en) 2007-11-12 2017-08-22 The Nielsen Company (Us), Llc Methods and apparatus to perform audio watermarking and watermark detection and extraction
EP3261090A1 (en) * 2007-12-21 2017-12-27 III Holdings 12, LLC Encoder, decoder, and encoding method
US8457951B2 (en) 2008-01-29 2013-06-04 The Nielsen Company (Us), Llc Methods and apparatus for performing variable black length watermarking of media
CN102081926B (zh) * 2009-11-27 2013-06-05 中兴通讯股份有限公司 格型矢量量化音频编解码方法和系统
CN102222505B (zh) * 2010-04-13 2012-12-19 中兴通讯股份有限公司 可分层音频编解码方法系统及瞬态信号可分层编解码方法
CN102419977B (zh) * 2011-01-14 2013-10-02 展讯通信(上海)有限公司 瞬态音频信号的判别方法
WO2012137617A1 (ja) 2011-04-05 2012-10-11 日本電信電話株式会社 符号化方法、復号方法、符号化装置、復号装置、プログラム、記録媒体
PT2951815T (pt) 2013-01-29 2018-03-29 Fraunhofer Ges Forschung Codificadores de áudio, descodificadores de áudio, sistemas, métodos e programas de computador utilizando uma resolução temporal aumentada na proximidade temporal de inícios ou cessações de fricativos ou africativos
KR101895198B1 (ko) 2013-05-24 2018-09-07 돌비 인터네셔널 에이비 오디오 인코더 및 디코더
JP2017009663A (ja) * 2015-06-17 2017-01-12 ソニー株式会社 録音装置、録音システム、および、録音方法
CN107924683B (zh) * 2015-10-15 2021-03-30 华为技术有限公司 正弦编码和解码的方法和装置
US9762382B1 (en) * 2016-02-18 2017-09-12 Teradyne, Inc. Time-aligning a signal
CN105790854B (zh) * 2016-03-01 2018-11-20 济南中维世纪科技有限公司 一种基于声波的短距离数据传输方法及装置
CN114499690B (zh) * 2021-12-27 2023-09-29 北京遥测技术研究所 一种星载激光通信终端地面模拟装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487535B1 (en) 1995-12-01 2002-11-26 Digital Theater Systems, Inc. Multi-channel audio encoder
US20030112869A1 (en) 2001-08-20 2003-06-19 Chen Sherman (Xuemin) Method and apparatus for implementing reduced memory mode for high-definition television
US20040044534A1 (en) 2002-09-04 2004-03-04 Microsoft Corporation Innovations in pure lossless audio compression
WO2006030289A1 (en) * 2004-09-17 2006-03-23 Digital Rise Technology Co., Ltd. Apparatus and methods for multichannel digital audio coding

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3902948A1 (de) * 1989-02-01 1990-08-09 Telefunken Fernseh & Rundfunk Verfahren zur uebertragung eines signals
DE4020656A1 (de) 1990-06-29 1992-01-02 Thomson Brandt Gmbh Verfahren zur uebertragung eines signals
GB9103777D0 (en) 1991-02-22 1991-04-10 B & W Loudspeakers Analogue and digital convertors
JP3413691B2 (ja) * 1994-08-16 2003-06-03 ソニー株式会社 情報符号化方法及び装置、情報復号化方法及び装置、並びに情報記録媒体及び情報送信方法
US5812971A (en) * 1996-03-22 1998-09-22 Lucent Technologies Inc. Enhanced joint stereo coding method using temporal envelope shaping
US5848391A (en) 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
JP3318824B2 (ja) * 1996-07-15 2002-08-26 ソニー株式会社 デジタル信号符号化処理方法、デジタル信号符号化処理装置、デジタル信号記録方法、デジタル信号記録装置、記録媒体、デジタル信号伝送方法及びデジタル信号伝送装置
US6266003B1 (en) * 1998-08-28 2001-07-24 Sigma Audio Research Limited Method and apparatus for signal processing for time-scale and/or pitch modification of audio signals
US6357029B1 (en) * 1999-01-27 2002-03-12 Agere Systems Guardian Corp. Joint multiple program error concealment for digital audio broadcasting and other applications
US6226608B1 (en) 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
JP3518737B2 (ja) * 1999-10-25 2004-04-12 日本ビクター株式会社 オーディオ符号化装置、オーディオ符号化方法、及びオーディオ符号化信号記録媒体
AU2001276588A1 (en) * 2001-01-11 2002-07-24 K. P. P. Kalyan Chakravarthy Adaptive-block-length audio coder
JP3815323B2 (ja) * 2001-12-28 2006-08-30 日本ビクター株式会社 周波数変換ブロック長適応変換装置及びプログラム
JP2003216188A (ja) * 2002-01-25 2003-07-30 Matsushita Electric Ind Co Ltd オーディオ信号符号化方法、符号化装置、及び記憶媒体
JP2003233397A (ja) * 2002-02-12 2003-08-22 Victor Co Of Japan Ltd オーディオ符号化装置、オーディオ符号化プログラム及びオーディオ符号化データ伝送装置
US7516064B2 (en) * 2004-02-19 2009-04-07 Dolby Laboratories Licensing Corporation Adaptive hybrid transform for signal analysis and synthesis
US7548819B2 (en) 2004-02-27 2009-06-16 Ultra Electronics Limited Signal measurement and processing method and apparatus
JP4271602B2 (ja) * 2004-03-04 2009-06-03 富士通株式会社 転送データの正当性を判定する装置および方法
JP2005268912A (ja) * 2004-03-16 2005-09-29 Sharp Corp フレーム補間のための画像処理装置およびそれを備えた表示装置
CN1677490A (zh) * 2004-04-01 2005-10-05 北京宫羽数字技术有限责任公司 一种增强音频编解码装置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487535B1 (en) 1995-12-01 2002-11-26 Digital Theater Systems, Inc. Multi-channel audio encoder
US20030112869A1 (en) 2001-08-20 2003-06-19 Chen Sherman (Xuemin) Method and apparatus for implementing reduced memory mode for high-definition television
US20040044534A1 (en) 2002-09-04 2004-03-04 Microsoft Corporation Innovations in pure lossless audio compression
WO2006030289A1 (en) * 2004-09-17 2006-03-23 Digital Rise Technology Co., Ltd. Apparatus and methods for multichannel digital audio coding

Also Published As

Publication number Publication date
ATE486347T1 (de) 2010-11-15
WO2008022564A1 (en) 2008-02-28
EP2054881B1 (en) 2010-10-27
EP2054883A4 (en) 2009-09-09
KR101161921B1 (ko) 2012-07-03
EP2054881A4 (en) 2009-09-09
JP5162589B2 (ja) 2013-03-13
KR20090042972A (ko) 2009-05-04
JP2010501090A (ja) 2010-01-14
EP2054883B1 (en) 2010-10-27
DE602007010158D1 (de) 2010-12-09
ATE486346T1 (de) 2010-11-15
KR101168473B1 (ko) 2012-07-26
JP2010501089A (ja) 2010-01-14
EP2054881A1 (en) 2009-05-06
US7895034B2 (en) 2011-02-22
KR20090041439A (ko) 2009-04-28
EP2054883A1 (en) 2009-05-06
JP5162588B2 (ja) 2013-03-13
DE602007010160D1 (de) 2010-12-09
US20070124141A1 (en) 2007-05-31
KR20120032039A (ko) 2012-04-04

Similar Documents

Publication Publication Date Title
KR101401224B1 (ko) 오디오 신호를 디코딩하기 위한 장치, 방법, 및 컴퓨터-판독가능 매체
US8468026B2 (en) Audio decoding using variable-length codebook application ranges
EP1715476B1 (en) Low-bitrate encoding/decoding method and system
EP1734511A2 (en) Entropy coding by adapting coding between level and run-length/level modes
JP2012238034A (ja) マルチチャンネルオーディオ信号復号化方法
WO2003096326A2 (en) Audio compression
CN1369092A (zh) 高质量音频的可缩放编码方法
KR20100089772A (ko) 오디오 신호의 부호화 및 복호화 방법 및 그 장치
CN100489965C (zh) 音频编码系统
US9015042B2 (en) Methods and systems for avoiding partial collapse in multi-block audio coding
CN101290774B (zh) 音频编码和解码系统
WO2021143691A1 (zh) 一种音频编解码方法和音频编解码设备
KR100300887B1 (ko) 디지털 오디오 데이터의 역방향 디코딩 방법
EP2412162A1 (en) Data embedding methods, embedded data extraction methods, truncation methods, data embedding devices, embedded data extraction devices and truncation devices
Malvar Lossless and near-lossless audio compression using integer-reversible modulated lapped transforms
Dunn Scalable bitplane runlength coding
KR101260285B1 (ko) 다원화된 확률 모형에 기반한 비.에스.에이.씨 산술 복호화방법
Chen et al. Fast time-frequency transform algorithms and their applications to real-time software implementation of AC-3 audio codec
JP2005181354A (ja) 復号装置及び方法
WO2014033421A2 (en) System and method for spatial domain audio decompression and compression

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170519

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180521

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 6