KR101327194B1 - 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법 - Google Patents
효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법 Download PDFInfo
- Publication number
- KR101327194B1 KR101327194B1 KR1020117027457A KR20117027457A KR101327194B1 KR 101327194 B1 KR101327194 B1 KR 101327194B1 KR 1020117027457 A KR1020117027457 A KR 1020117027457A KR 20117027457 A KR20117027457 A KR 20117027457A KR 101327194 B1 KR101327194 B1 KR 101327194B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- delete delete
- downmixing
- channels
- audio
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 160
- 230000001131 transforming effect Effects 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 208
- 238000005562 fading Methods 0.000 claims description 31
- 238000002156 mixing Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 13
- 238000011017 operating method Methods 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 44
- 230000015654 memory Effects 0.000 description 40
- 230000007704 transition Effects 0.000 description 33
- 230000008569 process Effects 0.000 description 31
- 230000006870 function Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 25
- 238000010168 coupling process Methods 0.000 description 22
- 230000008878 coupling Effects 0.000 description 21
- 238000005859 coupling reaction Methods 0.000 description 21
- 230000003595 spectral effect Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 14
- 230000009466 transformation Effects 0.000 description 12
- 230000001419 dependent effect Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 239000000203 mixture Substances 0.000 description 7
- 238000013139 quantization Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000006837 decompression Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000001052 transient effect Effects 0.000 description 6
- 241000610375 Sparisoma viride Species 0.000 description 5
- 238000007792 addition Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 210000001331 nose Anatomy 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R5/00—Stereophonic arrangements
- H04R5/02—Spatial or constructional arrangements of loudspeakers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S3/00—Systems employing more than two channels, e.g. quadraphonic
- H04S3/008—Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereophonic System (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
방법, 장치, 방법을 수행하기 위한 인스트럭션들로 구성된 컴퓨터 판독 가능한 저장 매체, 및 동작을 수행하기 위해 하나 이상의 컴퓨터 판독 가능하고 실재하는 매체에 인코딩된 논리(logic)를 제공한다. N.n 채널들을 포함하는 오디오 데이터를 M.m 디코딩된 오디오 채널들로 디코딩하기 위한 방법은, 메타데이터를 압축 해제하고, 주파수 도메인 기수 및 가수 데이터를 압축 해제 및 디코딩하는 단계; 압축 해제 및 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수들을 결정하는 단계; 주파수 도메인 데이터를 역변환하는 단계; 및 M<N의 경우, 다운믹싱 데이터에 따라 다운믹싱하는 단계를 포함하며, 상기 다운믹싱은 효과적으로 수행되는 것을 특징으로 한다.
Description
본 발명의 청구항에 대한 우선권인, 2010년 2월 18일 출원된 미국 출원 제611,305,817호 및 2010년 6월 29일 출원된 미국 출원 제611,359,763호의 전체가 참조로써 본원에 포함된다. 본 발명은 일반적으로 오디오 신호 처리에 관한 것이다.
디지털 오디오 데이터 압축은 오디오 산업에서 중요한 기술이 되었다. 일반적인 기술에서 사용이 요구되는 높은 데이터 대역폭을 필요로 하지 않고 높은 품질의 오디오 재생을 가능하게 하는 새로운 포맷들이 소개되어왔다. AC-3 및 더 최근의 개선된(Enhanced) AC-3(E-AC-3) 코딩 기술은 ATSC(Advanced Television Systems Committee, 미국의 디지털 TV 방식위원회)에 의하여 미국의 HDTV(High Definition Television)를 위한 오디오 서비스 표준으로 채택되었다. E-AC-3은 또한 소비자 미디어(디지털 비디오 디스크) 및 직접 위성 방송(DBS, direct satellite broadcast)에서 응용되어 왔다. E-AC-3은 지각 코딩의 예이며, 디지털 오디오의 다중 채널을 코딩하여 코딩된 오디오 및 메타데이터의 비트스트림으로 제공한다.
코딩된 오디오 비트 스트림을 효율적으로 코딩하는 것에 대한 관심이 유발된다. 예를 들면, 휴대용 장치의 배터리 수명은 주로 메인 프로세스 유닛의 에너지 소비에 의해 제한된다. 프로세싱 유닛의 에너지 소비는 이의 태스크(task)의 컴퓨팅 연산의 복잡도에 매우 밀접하게 관련되어 있다. 따라서 휴대형 오디오 프로세싱 시스템의 컴퓨팅 연산의 복잡도의 평균을 감소시키는 것은 그러한 시스템의 배터리 수명을 늘릴 수 있다.
용어 x86은 이 분야에서 통상의 기술을 가진 자들에 의해 흔하게 알려져 있으며, 그 기원이 인텔의 8086 프로세서로 거슬러 올라가는 프로세서 인스트럭션 세트 아키텍처들의 패밀리에 관련된다. x86 인스트럭션 세트 아키텍처의 유비쿼티의 결과로써, x86 인스트럭션 세트 아키텍처를 가지는 프로세싱 시스템 또는 프로세서 상에서 코딩된 오디오 비트 스트림을 효율적으로 디코딩하는 방법에 대해 관심을 보인다. 다른 디코더들이 내장된 프로세서들에 특화되어 디자인되는 것인 반면, 많은 디코더들이 완전한 범용으로 구현될 수 있다. AMD사의 Geode 및 새로운 Intel사의 Atom과 같은 새로운 프로세서는, 예컨대, 작은 휴대용 장치들에서 사용되며, x86 인스트럭션 세트를 사용하는 32 비트 및 64 비트 디자인의 예들이다.
본 발명의 목적은 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예는, M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 디코딩하는 오디오 디코더를 제공한다. 그리고, 상술한 오디오 데이터를 디코딩하는 오디오 디코더의 동작 방법은, 인코딩 방법에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들의 블록들을 포함하는 오디오 데이터를 수신하는 단계;로서, 인코딩 방법은 디지털 오디오 데이터의 N.n 채널들을 변환하는 단계와 주파수 도메인 기수 및 가수 데이터를 형성하고 압축하는 단계를 포함하는 것을 특징으로 하는 수신하는 단계와, 수신된 오디오 데이터를 디코딩하는 단계로서, 주파수 도메인 기수 및 가수 데이터를 압축해제하고, 디코딩하는 단계와, 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정하는 단계와, 주파수 도메인 데이터를 역변환하고, 샘플링된 오디오 데이터를 결정하기 위해 추가 프로세싱을 적용하는 단계와, M<N의 경우, 다운믹싱 데이터에 따라 결정된 샘플링된 오디오 데이터의 적어도 일부 블록들을 시간 도메인 다운믹싱하는 단계를 포함하는 디코딩하는 단계를 포함한다.
또한, 상기 디코딩 단계는 주파수 도메인 다운믹싱을 적용할 것인지 또는 시간 주파수 다운믹싱을 적용할 것인지 각 블록에 대해 순차로 결정하는 단계와, 만약, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 것으로 결정하면, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 단계를 포함한다.
그리고 상기 시간 도메인 다운믹싱 하는 단계는 시간 도메인 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되었는지 판단하는 단계와, 만약, 변경되었다면, 크로스 페이딩된 다운믹싱 데이터를 결정하기 위해 크로스 페이딩(cross-fading)을 적용하는 단계와, 상기 크로스 페이딩된 다운믹싱 데이터에 따라 시간 도메인 다운믹싱하는 단계와, 만약 변경되지 않았다면, 직접 시간 도메인 다운믹싱하는 단계를 포함한다.
특히, 상기 방법은 하나 이상의 N.n 입력 채널들의 비공헌 채널을 식별하는 단계를 포함하며, 비공헌 채널은 M.m 채널들에 대해 공헌하지 않은 채널이며, 상기 방법은 주파수 도메인 데이터를 역변환하는 것을 수행하지 않고 하나 이상의 식별된 비공헌 채널에 추가 프로세싱을 적용하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명은 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법을 제공할 수 있다.
도 1은 인스트럭션을 위한 슈도코드(100) 보이며, 실행되었을 때, 전형적인 AC-3 디코딩 절차가 수행된다.
도 2a 내지 도 2d는 하나 이상의 공통 모듈들을 사용할 수 있는 다른 디코더 구성을 형성하는 단순화된 블록도를 보인다.
도 3은 FED 모듈의 일 실시예의 간략화된 블록도를 보인다.
도 4는 도 3의 전단 인코딩 모듈의 일 실시예의 동작에 대한 단순화된 데이터 흐름도이다.
도 5a는 후단 디코딩 모듈의 일 실시예의 간략화된 블록 다이어그램 및 슈도 코드를 보인다.
도 5b는 후단 디코딩 모듈의 다른 실시예의 간략화된 블록도 및 슈도코드를 보인다.
도 6은 후단 디코딩 모듈의 일 실시예의 동작을 위한 간략화된 흐름도를 보인다.
도 7은 후단 디코딩 모듈의 다른 실시예의 동작을 위한 간략화된 데이터 흐름도를 보인다.
도 8은 도 7에 보인 것과 같은 후단 디코딩 모듈에 대한 프로세싱의 일 실시예의 흐름도를 보인다.
도 9는 5.1에서 2.0으로 다운믹싱하는 것을 포함하는 비 오버랩의 경우에 대한 본 발명의 실시예를 이용한 5.1에서 2.0으로 다운믹싱하는 것을 포함하는 5 블록들을 프로세싱하는 예를 보인다.
도 10은 오버랩 변환의 경우에 대한 본 발명의 실시예를 이용하는 5.1에서 2.0으로 다운믹싱하는 것을 포함하는 5 블록들의 프로세싱의 다른 예를 보인다.
도 11은 시간 도메인 다운믹싱의 일 예에 대한 간략화된 슈도코드를 보인다.
도 12는 본 발명의 하나 이상의 특징을 포함하는 디코딩을 수행하기 위한 적어도 하나의 프로세스를 포함하는 프로세싱 시스템의 일 실시예의 간략화된 블록도를 보인다.
도 2a 내지 도 2d는 하나 이상의 공통 모듈들을 사용할 수 있는 다른 디코더 구성을 형성하는 단순화된 블록도를 보인다.
도 3은 FED 모듈의 일 실시예의 간략화된 블록도를 보인다.
도 4는 도 3의 전단 인코딩 모듈의 일 실시예의 동작에 대한 단순화된 데이터 흐름도이다.
도 5a는 후단 디코딩 모듈의 일 실시예의 간략화된 블록 다이어그램 및 슈도 코드를 보인다.
도 5b는 후단 디코딩 모듈의 다른 실시예의 간략화된 블록도 및 슈도코드를 보인다.
도 6은 후단 디코딩 모듈의 일 실시예의 동작을 위한 간략화된 흐름도를 보인다.
도 7은 후단 디코딩 모듈의 다른 실시예의 동작을 위한 간략화된 데이터 흐름도를 보인다.
도 8은 도 7에 보인 것과 같은 후단 디코딩 모듈에 대한 프로세싱의 일 실시예의 흐름도를 보인다.
도 9는 5.1에서 2.0으로 다운믹싱하는 것을 포함하는 비 오버랩의 경우에 대한 본 발명의 실시예를 이용한 5.1에서 2.0으로 다운믹싱하는 것을 포함하는 5 블록들을 프로세싱하는 예를 보인다.
도 10은 오버랩 변환의 경우에 대한 본 발명의 실시예를 이용하는 5.1에서 2.0으로 다운믹싱하는 것을 포함하는 5 블록들의 프로세싱의 다른 예를 보인다.
도 11은 시간 도메인 다운믹싱의 일 예에 대한 간략화된 슈도코드를 보인다.
도 12는 본 발명의 하나 이상의 특징을 포함하는 디코딩을 수행하기 위한 적어도 하나의 프로세스를 포함하는 프로세싱 시스템의 일 실시예의 간략화된 블록도를 보인다.
개요
본 발명의 실시예는 방법, 장치 및 동작을 수행하기 위해 하나 이상의 컴퓨터 판독 가능하며 실재하는 매체의 인코딩된 로직을 포함한다.
개별 실시예는, M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 디코딩된 오디오의 M.m(개의) 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n(개의) 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 디코딩하는 오디오 디코더 동작 방법을 포함한다. 상기 방법은, 인코딩 방법에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들의 블록들을 포함하는 오디오 데이터를 수신하는 단계;로서, 인코딩 방법은 디지털 오디오 데이터의 N.n 채널들을 변환하는 단계와 주파수 도메인 기수 및 가수 데이터를 형성하고 압축하는 단계를 포함하는 것을 특징으로 하는 수신하는 단계; 및 수신된 오디오 데이터를 디코딩하는 단계;로서, 주파수 도메인 기수 및 가수 데이터를 압축해제하고, 디코딩하는 단계와, 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정하는 단계와, 주파수 도메인 데이터를 역변환하고, 샘플링된 오디오 데이터를 결정하기 위해 추가 프로세싱을 적용하는 단계와, M<N의 경우, 다운믹싱 데이터에 따라 결정된 샘플링된 오디오 데이터의 적어도 일부 블록들을 시간 도메인 다운믹싱하는 단계를 포함하는 디코딩하는 단계;를 포함한다. 여기서, A1, B1, 및 C1 중 적어도 하나는 참:
A1은 상기 디코딩 단계이며, 상기 디코딩 단계는 주파수 도메인 다운믹싱을 적용할 것인지 또는 시간 주파수 다운믹싱을 적용할 것인지 각 블록에 대해 순차로 결정하는 단계와, 만약, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 것으로 결정하면, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 단계를 포함한다.
B1은 상기 시간 도메인 다운믹싱하는 단계이며, 상기 시간 도메인 다운믹싱 하는 단계는 시간 도메인 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되었는지 판단하는 단계와, 만약, 변경되었다면, 크로스 페이딩된 다운믹싱 데이터를 결정하기 위해 크로스 페이딩(cross-fading)을 적용하는 단계와, 상기 크로스 페이딩된 다운믹싱 데이터에 따라 시간 도메인 다운믹싱하는 단계와, 만약 변경되지 않았다면, 직접 시간 도메인 다운믹싱하는 단계를 포함한다.
C1은 상기 방법이며, 상기 방법은 하나 이상의 N.n 입력 채널들의 비공헌 채널을 식별하는 단계를 포함하며, 비공헌 채널은 M.m 채널들에 대해 공헌하지 않은 채널이며, 상기 방법은 주파수 도메인 데이터를 역변환하는 것을 수행하지 않고 하나 이상의 식별된 비공헌 채널에 추가 프로세싱을 적용하는 것을 특징으로 한다.
개별 실시예는, M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 프로세싱 시스템의 하나 이상의 프로세서에 의해 실행될 때, 상기 프로세싱 시스템이 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 디코딩을 수행하도록 하는 디코딩 인스트럭션들을 저장하는 컴퓨터 판독 가능한 저장 매체를 포함한다. 상기 디코딩 인스트럭션들은, 실행될 때, 인코딩 방법에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들의 블록들을 포함하는 오디오 데이터를 수신하는 단계를 행하도록 하는 인스트럭션들;로, 상기 인코딩 방법은 디지털 오디오 데이터의 N.n 채널들을 변환단계와 주파수 도메인 기수 및 가수 데이터를 형성하고 압축하는 단계를 포함하는 것을 특징으로 하는 인스트럭션들; 및 실행될 때, 수신된 오디오 데이터를 디코딩하는 단계를 행하도록 하는 인스트럭션들;로서, 실행될 때, 주파수 도메인 기수 및 가수 데이터를 압축해제하고, 디코딩하는 단계를 행하도록 하는 인스트럭션들과, 실행될 때, 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정하는 단계를 행하도록 하는 인스트럭션들과, 실행될 때, 주파수 도메인 데이터를 역변환하고, 샘플링된 오디오 데이터를 결정하기 위해 추가 프로세싱을 적용하는 단계를 행하도록 하는 인스트럭션들과, 실행될 때, M<N의 경우, 다운믹싱 데이터에 따라 결정된 샘플링된 오디오 데이터의 적어도 일부 블록들을 시간 도메인 다운믹싱하는 단계를 행하도록 하는 인스트럭션들을 포함하는 상기 디코딩하는 단계를 행하도록 하는 인스트럭션들;을 포함한다. 여기서, A2, B2, 및 C2 중 적어도 하나는 참:
A2는 실행될 때, 상기 디코딩 단계를 행하도록 하는 인스트럭션들이며, 상기 디코딩 단계를 행하도록 하는 인스트럭션들은 실행될 때, 주파수 도메인 다운믹싱을 적용할 것인지 또는 시간 주파수 다운믹싱을 적용할 것인지 각 블록에 대해 순차로 결정하는 단계와, 만약, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 것으로 결정하면, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 단계를 포함하여 수행하도록 한다.
B2는 상기 시간 도메인 다운믹싱하는 단계이며, 상기 시간 도메인 다운믹싱 하는 단계는 시간 도메인 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되었는지 판단하는 단계와, 만약, 변경되었다면, 크로스 페이딩된 다운믹싱 데이터를 결정하기 위해 크로스 페이딩(cross-fading)을 적용하는 단계와, 상기 크로스 페이딩된 다운믹싱 데이터에 따라 시간 도메인 다운믹싱하는 단계와, 만약 변경되지 않았다면, 직접 시간 도메인 다운믹싱하는 단계를 포함한다.
C2는 실행될 때, 디코딩하는 단계를 행하도록 하는 인스트럭션들이며, 디코딩 단계를 행하도록 하는 인스트럭션들은 하나 이상의 N.n 입력 채널들의 비공헌 채널을 식별하는 단계를 포함하며, 비공헌 채널은 M.m 채널들에 대해 공헌하지 않은 채널이며, 상기 방법은 주파수 도메인 데이터를 역변환하는 것을 수행하지 않고 하나 이상의 식별된 비공헌 채널에 추가 프로세싱을 적용하는 것을 특징으로 한다.
개별 실시예는, M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 프로세싱하기 위한 장치를 포함하며, 오디오 데이터를 프로세싱하기 위한 장치는, 인코딩 방법에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들의 블록들을 포함하는 오디오 데이터를 수신하는 수단;으로서, 상기 인코딩 방법은 디지털 오디오 데이터의 N.n 채널들을 변환하는 단계와 주파수 도메인 기수 및 가수 데이터를 형성하고 압축하는 단계를 포함하는 것을 특징으로 하는 수신하는 수단; 및 수신된 오디오 데이터를 디코딩하는 수단으로서, 주파수 도메인 기수 및 가수 데이터를 압축해제하고, 디코딩하는 수단과, 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정하는 수단과, 주파수 도메인 데이터를 역변환하고, 샘플링된 오디오 데이터를 결정하기 위해 추가 프로세싱을 적용하는 수단과, M<N의 경우, 다운믹싱 데이터에 따라 결정된 샘플링된 오디오 데이터의 적어도 일부 블록들을 시간 도메인 다운믹싱하는 수단을 포함하는 디코딩하는 수단을 포함하며, 여기서, A, B, 및 C 중 적어도 하나는 참이며,
A3은 상기 디코딩하는 수단이며, 상기 디코딩하는 수단은 주파수 도메인 다운믹싱을 적용할 것인지 또는 시간 주파수 다운믹싱을 적용할 것인지 각 블록에 대해 순차로 결정하는 수단과, 만약, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 것으로 결정하면, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 수단을 포함한다.
B3은 상기 시간 도메인 다운믹싱하는 수단이며, 상기 시간 도메인 다운믹싱 하는 수단은 시간 도메인 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되었는지 판단하고, 만약, 변경되었다면, 크로스 페이딩된 다운믹싱 데이터를 결정하기 위해 크로스 페이딩(cross-fading)을 적용하며, 상기 크로스 페이딩된 다운믹싱 데이터에 따라 시간 도메인 다운믹싱하고, 만약 변경되지 않았다면, 직접 시간 도메인 다운믹싱하는 것을 포함한다.
C3은 상기 장치이며, 상기 장치는 하나 이상의 N.n 입력 채널들의 비공헌 채널을 식별하는 수단을 포함하며, 비공헌 채널은 M.m 채널들에 대해 공헌하지 않은 채널이며, 상기 방법은 주파수 도메인 데이터를 역변환하는 것을 수행하지 않고 하나 이상의 식별된 비공헌 채널에 추가 프로세싱을 적용하는 것을 특징으로 한다.
개별 실시예는, M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 프로세싱 하기 위한 장치를 포함하며, 상기 오디오 데이터를 프로세싱 하기 위한 장치는, 인코딩 방법에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들의 블록들을 포함하는 오디오 데이터를 수신하는 수단;으로서, 상기 인코딩 방법은 시간 도메인 샘플들을 알리아싱 에러 없이 복구할 수 있는 역변환 및 추가 프로세싱의 방식으로 디지털 오디오 데이터의 N.n 채널들을 변환하는 단계와, 주파수 도메인 기수 및 가수 데이터를 형성하고 압축하는 단계와, 주파수 도메인 지수 및 가수 데이터와 관련된 메타데이터를 형성하고 압축하는 단계를 포함하며, 상기 메타데이터는 임시 프리-노이즈 프로세싱에 관련된 메타데이터를 선택적으로 포함하는 것을 특징으로 하는 오디오 데이터를 수신하는 수단; 및 수신된 오디오 데이터를 디코딩하는 수단;으로서, 하나 이상의 전단 디코딩(FED, front-end decoding)을 위한 수단 및 하나 이상의 후단 디코딩(BED, back-end decoding)을 위한 수단; 상기 전단 디코딩을 위한 수단은 메타데이터 압축 해제를 위한 수단과, 주파수 도메인 기수 및 가수 데이터 압축 해제 및 디코딩을 위한 수단을 포함하며; 후단 디코딩을 위한 수단은 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정하기 위한 수단을 포함하며; 주파수 도메인 데이터를 역변환하기 위한 수단; 샘플링된 오디오 데이터를 결정하기 위해 윈도우잉 및 오버랩-추가 동작을 적용하기 위한 수단; 임시 프리-노이즈 프로세싱에 관련된 메타데이터에 따라 요구되는 임시 프리-노이즈 프로세싱을 디코딩에 적용하기 위한 수단; 및 다운믹싱 데이터에 따라 시간 도메인 다운믹싱을 하기 위한 수단;으로 상기 시간 도메인 다운믹싱은 M<N의 경우, 다운믹싱 데이터에 따라 결정된 샘플링된 오디오 데이터의 적어도 일부 블록들을 시간 도메인 다운믹싱하는 것을 특징으로 하는 시간 도메인 다운믹싱을 하기 위한 수단;을 포함하는 오디오 데이터를 디코딩하는 수단;을 포함한다. 여기서, A4, B4, 및 C4 중 적어도 하나는 참:
A4는 상기 후단 디코딩을 위한 수단이며, 상기 후단 디코딩을 위한 수단은 주파수 도메인 다운믹싱을 적용할 것인지 또는 시간 주파수 다운믹싱을 적용할 것인지 각 블록에 대해 순차로 결정하는 수단과, 만약, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 것으로 결정하면, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 수단을 포함한다.
B4는 상기 시간 도메인 다운믹싱하는 수단이며, 상기 시간 도메인 다운믹싱 하는 수단은 시간 도메인 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되었는지 판단하고, 만약, 변경되었다면, 크로스 페이딩된 다운믹싱 데이터를 결정하기 위해 크로스 페이딩(cross-fading)을 적용하며, 상기 크로스 페이딩된 다운믹싱 데이터에 따라 시간 도메인 다운믹싱하고, 만약 변경되지 않았다면, 직접 시간 도메인 다운믹싱하는 것을 포함한다.
C는 상기 장치이며, 상기 장치는 하나 이상의 N.n 입력 채널들의 비공헌 채널을 식별하는 것을 포함하며, 비공헌 채널은 M.m 채널들에 대해 공헌하지 않은 채널이며, 상기 방법은 주파수 도메인 데이터를 역변환하는 것을 수행하지 않고 하나 이상의 식별된 비공헌 채널에 추가 프로세싱을 적용하는 것을 특징으로 한다.
개별 실시예는, M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 디코딩하도록 구성된 시스템을 포함한다. 상기 시스템은 하나 이상의 프로세서들; 및 상기 하나 이상의 프로세서들에 결합된 저장 서브시스템;을 포함한다. 상기 시스템은 인코딩 방법에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들의 블록들을 포함하는 오디오 데이터를 수신하도록 구성되며, 상기 인코딩 방법은 디지털 오디오 데이터의 N.n 채널들을 변환하고, 주파수 도메인 기수 및 가수 데이터를 형성하고 압축하는 것을 포함한다. 상기 시스템은 수신된 오디오 데이터를 디코딩하고; 상기 디코딩은 주파수 도메인 기수 및 가수 데이터를 압축해제하고, 디코딩하고, 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정하며, 주파수 도메인 데이터를 역변환하고, 샘플링된 오디오 데이터를 결정하기 위해 추가 프로세싱을 적용하고, M<N의 경우, 다운믹싱 데이터에 따라 결정된 샘플링된 오디오 데이터의 적어도 일부 블록들을 시간 도메인 다운믹싱하는 것을 포함한다. 여기서, A5, B5, 및 C5 중 적어도 하나는 참:
A5는 상기 디코딩하는 것이며, 상기 디코딩하는 것은 주파수 도메인 다운믹싱을 적용할 것인지 또는 시간 주파수 다운믹싱을 적용할 것인지 각 블록에 대해 순차로 결정하는 것과, 만약, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 것으로 결정하면, 개별 블록에 대해 주파수 도메인 다운믹싱을 적용하는 것을 포함하며,
B5는 상기 시간 도메인 다운믹싱하는 것이며, 상기 시간 도메인 다운믹싱 하는 것은 시간 도메인 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되었는지 판단하는 것과, 만약, 변경되었다면, 크로스 페이딩된 다운믹싱 데이터를 결정하기 위해 크로스 페이딩(cross-fading)을 적용하는 것과, 상기 크로스 페이딩된 다운믹싱 데이터에 따라 시간 도메인 다운믹싱하는 것과, 만약 변경되지 않았다면, 직접 시간 도메인 다운믹싱하는 것을 포함하며,
C5는 상기 방법이며, 상기 방법은 하나 이상의 N.n 입력 채널들의 비공헌 채널을 식별하는 것을 포함하며, 비공헌 채널은 M.m 채널들에 대해 공헌하지 않은 채널이며, 상기 방법은 주파수 도메인 데이터를 역변환하는 것을 수행하지 않고 하나 이상의 식별된 비공헌 채널에 추가 프로세싱을 적용하는 것을 특징으로 하는 시스템.
실시예의 어느 시스템 버전에서, 오디오 데이터를 수신하는 것은 코딩된 데이터의 프레임들의 비트스트림의 포맷에 따라 수신하는 것을 특징으로 하며, 저장 서브시스템은 프로세싱 시스템의 하나 이상의 프로세서에 의해 실행될 때, 수신된 오디오 데이터를 디코딩하도록 하는 인스트럭션들로 구성되는 것을 특징으로 한다.
실시예의 어느 시스템 버전에서, 네트워크 링크를 통해 네트워크 연결되는 하나 이상의 서브시스템을 포함하며, 상기 서브시스템 각각은 적어도 하나의 프로세서를 포함하는 것을 특징으로 한다.
A1, A2, A3, A4 또는 A5가 참인 실시예에서, 상기 주파수 도메인 다운믹싱을 적용할 것인지 또는 시간 주파수 다운믹싱을 적용할 것인지 결정하는 단계는, 어떤 임시 프리-노이즈 프로세싱이 존재하는지 판단하는 단계와, 어떤 N개의 채널들이 다른 블록 형식을 가지는지 판단하여, 주파수 도메인 다운믹싱이 N개의 채널들에서 동일한 블록 형식, 임시 프리-노이즈 프로세싱이 아닌 것 및 M<N을 가지는 블록에 대해서만 적용되는지 판단하는 단계를 포함한다.
A1, A2, A3, A4 또는 A5이 참인 실시예에서, 상기 인코딩 방법에서 상기 변환하는 단계는 샘플링된 오디오 데이터를 결정하기 위해 윈도우잉 및 오버랩-추가 동작을 적용하는 단계를 포함하는 추가 프로세싱 및 오버랩-변환을 이용한다. (i) 상기 개별 블록에 대한 주파수 도메인 다운믹싱을 적용하는 단계는 이전 블록이 시간 도메인 다운믹싱에 의해 다운믹싱되었는지 결정하는 단계와, 이전 블록이 시간 도메인 다운믹싱에 의해 다운믹싱되었다면, 상기 개별 블록의 디코딩된 데이터로 오버랩된 이전 블록의 데이터에 대해 시간 도메인(또는 슈도 시간 도메인)에서 다운믹싱을 적용하는 단계를 포함한다. (ii)상기 개별 블록에 대한 시간 도메인 다운믹싱을 적용하는 단계는 이전 블록이 주파수 도메인 다운믹싱에 의해 다운믹싱되었는지 결정하는 단계와, 이전 블록이 주파수 도메인 다운믹싱에 의해 다운믹싱되었다면, 상기 개별 블록을 이전 블록에 대한 다운믹싱이 주파수 도메인 다운믹싱에 의한 것이 아닌 것과 다르게 처리하는 단계를 포함한다.
B1, B2, B3, B4 또는 B5이 참인 실시예에서, 상기 디코더는 벡터 인스트럭션을 포함하는 스트리밍 단일 인스트럭션 다중 데이터 확장(SSE, streaming single instruction multiple data extensions)을 포함하는 인스트럭션 세트를 가지는 적어도 하나의 x86 프로세서를 이용하며, 시간 도메인 다운믹싱은 하나 이상의 x86 프로세서들 중 적어도 하나에서 벡터 인스트럭션을 운영하는 것을 포함한다.
Cl, C2, C3, C4 또는 C5이 참인 실시예에서, n=1 및 m=0일 때, 역변환 및 추가 프로세싱을 적용하는 단계는 저주파 효과 채널에서 수행되지 않는 것을 특징으로 한다. 게다가, C가 참인 실시예에서, 인코딩된 블록들을 포함하는 상기 오디오 데이터는 다운믹싱을 정의하는 정보를 포함하며, 상기 하나 이상의 비공헌 채널들을 식별하는 단계는 상기 다운믹싱을 정의하는 정보를 이용하는 것을 특징으로 하는 오디오 디코더 동작 방법. 게다가, C가 참인 실시예에서, 하나 이상의 비공헌 채널을 식별하는 단계는 하나 이상의 채널들이 하나 이상의 채널들과 관련되어 콘텐츠의 사소한 양을 가지고 있는지 식별하는 단계를 더 포함하며, 채널은 에너지 또는 절대 레벨이 다른 채널의 적어도 15 dB 미만이면 다른 채널과 관련된 콘텐츠의 사소한 양을 가진다. 어느 하나의 경우에서, 채널은 에너지 또는 절대 레벨이 다른 채널의 적어도 18 dB 미만이면 다른 채널과 관련된 콘텐츠의 사소한 양을 가진다. 한편, 다른 응용에서, 채널은 에너지 또는 절대 레벨이 다른 채널의 적어도 25 dB 미만이면 다른 채널과 관련된 콘텐츠의 사소한 양을 가진다.
실시예에서, 인코딩된 오디오 데이터는 AC-3 표준, E-AC-3 표준, E-AC-3 표준의 이전 버전과 호환되는 표준, HE-AAC 표준, 및 HE-AAC의 이전버전과 호환되는 표준으로 구성되는 표준의 세트 중 하나에 따라 인코딩되는 것을 특징으로 한다.
실시예에서, 상기 인코딩 방법에서의 상기 변환하는 단계는 오버랩-변환을 이용하며, 샘플링된 오디오 데이터를 결정하기 위하여 윈도우잉 및 오버랩-추가 동작을 적용하는 단계를 더 포함하는 것을 특징으로 한다.
실시예에서, 상기 인코딩 방법은 주파수 도메인 기수 및 가수 데이터와 관련된 메타데이터를 형성하고 압축하는 단계;를 포함하며, 상기 메타데이터는 선택적으로 임시 프리-노이즈 프로세싱 및 다운믹싱에 관련된 메타데이터를 포함한다.
걔별 실시예는 이러한 측면, 특징, 또는 이점의 어떤 것도 제공하지 않거나, 전부, 또는 일부를 제공할 수 있다. 개별 실시예들은 하나 이상의 다른 측면, 특징 또는 이점을 제공할 수 있다. 이러한 것들은 이 기술분야에서 통상의 지식을 가진 자에게는 본 문헌에 첨부된 청구범위, 상세한 설명 및 도면으로부터 자명하다.
인코딩된
스트림
디코딩
본 발명의 실시예는 코딩된 비트스트림에 대한 확장된 AC-3(E-AC-3) 표준에 따라 코딩된 오디오를 디코딩하는 것에 대해 기술한다. E-AC-3 및 이전의 AC-3 표준은 인터넷의 월드 와이드 웹 상에 에서 2009년 12월 1일 검색된, 2005년 6월 14일자, ATSC(Advanced Television Systems Committee, Inc.), "디지털 오디오 압축 표준(AC-3, E-AC-3)", 수정 버전 B(Revision B), 문서 A/52B에서 자세하게 기술한다. 본 발명은 하지만, E-AC-3을 통해 인코딩된 비트스트림을 디코딩하는 것으로 제한하지 않으며, 다른 코딩 방법에 따라 인코딩된 비트스트림을 디코딩하거나, 디코딩하는 디코더가 적용될 수 있다. 그리고 그러한 디코딩 방법, 디코딩 장치, 그러한 디코딩을 수행하는 시스템, 그러한 디코딩을 수행하는 하나 이상의 프로세서로 인해 실행될 때의 소프트웨어, 및/또는, 그러한 소트프웨어가 저장된 실재하는 저장 매체가 적용될 수 있다. 예를 들면, 본 발명의 실시예는 MPEG-2 AAC(ISO/IEC 13818-7) 및 MPEG-4 오디오(ISO/IEX 14496-3) 표준에 따라 코딩된 오디오를 디코딩하는 것에 적용될 수 있다. MPEG-4 오디오 표준은 이 문서에서 집합적으로 HE-AAC라고 하는, 고성능 AAC 버전 1(HE-AAC v1) 및 고성능 AAC 버전 2(HE-AAC v2) 코딩 모두를 포함한다.
AC-3 및 E-AC-3은 또한 DOLBY ㄾ DIGITAL 및 DOLBY ㄾ DIGITAL PLUS로 알려져 있다. 호환되는 개선된 것, 몇몇이 추가로 포함된 HE-AAC의 버전은 또한 DOLBY ㄾ PULSE로 알려져 있다. 이것들은 본 발명의 양수인, 돌비 래버러토리스 라이센싱 코퍼레이션(Dolby Laboratories Licensing Corporation)의 상표들이며, 하나 이상의 사법권을 가진 국가(또는 주)에서 등록되어 있다. E-AC-3은 AC-3과 호환되며, 추가적인 기능을 포함한다.
x86 아키텍처
용어 x86은 이 분야에서 통상의 기술을 가진 자들이라면 그 기원이 인텔의 8086 프로세서로 거슬러 올라가는 프로세서 인스트럭션 세트 아키텍처들의 패밀리에 관련되어 있음을 일반적으로 이해할 것이다. 이 아키텍처는 Intel, Cyrix, AMD, VIA 및 많은 다른 회사들과 같은 회사들로부터 프로세서로 구현되었다.
일반적으로, 이 용어는 인텔 80386 프로세서의 32 비트 인스트럭션 세트와 이진 호환을 의미하는 것으로 이해될 것이다. 오늘날(2010년대 초), x86 아키텍처는 데스크탑 및 노트북 컴퓨터에 널리 퍼져있으며, 또한, 서버 및 워크스테이션 사이에서도 메이저급으로 성장하고 있다. 많은 양의 소프트웨어가 MS-DOS, 윈도우, 리눅스, BSD, 솔라리스 및 맥 OS X와 같은 운영체제를 포함하는 그(x86 아키텍처) 플랫폼을 지원한다.
이 문서에 사용된 바와 같이, 용어 x86은 단일 인스트럭션 다중 데이터(SIMD, single instruction multiple data) 인스트럭션 세트 익스텐션(SSE)을 지원하는 x86 프로세서 인스트럭션 세트 아키텍처를 의미한다. SSE는 Intel사의 팬티엄 3 시리즈 프로세서에서 1999년 소개된 오리지날 x86 아키텍처에 대한 SIMD 인스트럭션 세트 익스텐션이며, 현재 많은 벤더들에 의해 만들어진 x86 아키텍처들은 일반적인 것이 되었다.
AC
-3 및 E-
AC
-3
비트스트림
멀티-채널 오디오 신호의 AC-3 비트스트림은 프레임들로 구성되며, 모든 코딩된 채널들에 걸쳐 오디오 신호의 1536 PCM(pulse code modulation) 변조된 샘플(이하, PCM 샘플)의 일정한 시간 간격으로 나타내어진다. ".1"을 나타내는 선택적으로 저주파 효과(LFE) 채널 및 최대 5개의 메인 채널까지 제공될 수 있다. 즉, 오디오의 최대 5.1 채널까지 제공될 수 있다. 각 프레임은 정해진 크기를 가지며, 이는 샘플 레이트 및 코딩된 데이터 레이트에 따른다.
간략하게, AC-3 코딩은 시간 데이터(시간 도메인의 데이터)를 주파수 데이터(주파수 도메인의 데이터)로 전환하기 위하여, 오버랩 변환(overlapped transform) - MDCT(modified discrete cosine transform)와 KBD(Kaiser Bessel derived) 윈도우가 50% 겹쳐지는 -을 이용하는 것을 포함한다. 주파수 데이터는 데이터를 압축하여 각각이 코딩된 오디오 데이터 및 메타데이터를 포함하는 프레임들의 압출된 비트스트림을 형성하기 위해 지각적으로 코딩된다. 각 AC-3 프레임은 독립적인 엔티티이며, 시간 데이터를 주파수 데이터로 변환하는 데에 사용되는 MDCT에 내재된 변환 오버랩을 제외하고 앞선 프레임들과 공유하는 데이터는 없다.
각 AC-3 프레임의 시작 부분은 SI(동기 정보, Sync Information) 및 BSI(비트 스트림 정보, Bit Stream Information)이다. SI 및 BSI 필드는 비트스트림 구성을 기술하며, 샘플 레이트, 데이터 레이트, 코딩된 채널들의 수, 및 몇몇 다른 시스템 레벨 요소들을 포함한다. 또한, 프레임당 2개의 CRC(cyclic redundancy code) 워드들이 존재하며, 하나는 시작 부분에 다른 하나는 끝부분에 있으며, 이는 에러 감지의 수단을 제공한다.
각 프레임 내에는 6개의 오디오 블록들로 이루어지며, 각각은 오디오 데이터의 코딩된 채널 당 256 PCM 샘플들로 표현되어진다. 오디오 블록은 블록 스위치 플래그들, 커플링 코디네이트들, 지수(exponent)들, 비트 할당 파라미터들, 및 가수(mantissas)를 포함한다. 데이터 공유는 프레임 내에서 허용되며, 블록 0에서 제공되는 정보는 다음의 블록들에서 재사용되어질 수 있다.
선택적인 보조 데이터 필드는 프레임의 끝에 위치한다. 이 필드는 시스템 디자이너가 시스템-와이드 전송을 위한 AC-3 비트스트림 내의 상태 정보 또는 개별 제어를 내장할 수 있도록 한다.
E-AC-3은 1, 2 및 3개의 256-계수 변환 블록들로 구성된 짧은 프레임을 허용할 때, 6개의 256-계수 변환들의 AC-3 프레임 구조를 보존한다. 이는 데이터 레이트가 640 kbps 보다 클 때 오디오의 전송을 가능하게 한다. 각 E-AC-3 프레임은 메타데이터 및 오디오 데이터를 포함한다.
E-AC-3은 AC-3의 5.1 채널 보다 상당히 큰 수의 채널들을 허용한다. 특히, E-AC-3은 오늘날 일반화된 6.1 및 7.1 오디오의 캐리지를 허용한다. 그리고, 예컨대, 미리의 다중채널 오디오 사운드 트랙들과 같은, 적어도 13.1 채널을 지원하기 위한 캐리지를 허용한다. 5.1을 넘는 추가 채널들은 최대 8개까지의 추가의 종속된 서브스트림과 메인 오디오 프로그램 비트스트림을 결부지음에 의해 얻어진다. 이것의 모든 것은 하나의 E-AC-3 비트스트림으로 다중화된다(multiplexed). 이는 추가 채널 용량이 종속 비트스트림으로부터 비롯될 때, 메인 오디오 프로그램이 AC-3의 5.1 채널 형식을 전달할 수 있도록 한다. 이는 5.1 채널 버전 및 다양한 종래의 다운믹싱이 항상 이용될 수 있으며, 매트릭스 감산-유도(matrix subtraction-induced) 코딩의 아티팩트(artifact)들이 채널 대체 프로세스의 사용에 의해 제거될 수 있음을 의미한다.
또한, 다중 프로그램 지원은, 각각이 가능하게 연관된 종속 서브스트림들과 함께, 5.1 채널을 넘는 각 프로그램의 채널 캐리지를 증가시키기 위하여, 7개 이상의 독립 오디오 스트림들을 전송하는 능력을 통해 이용할 수 있다.
AC-3은 오디오 재료를 지각적으로 코딩하기 위하여 비교적 짧은 변환 및 단순한 스칼라(scalar) 양자화(quantization)를 사용한다. AC-3과 호환될 때, E-AC-3은 향상된 스펙트럼 해상도(spectral resolution), 향상된 양자화 및 향상된 코딩을 제공한다. E-AC-3과 함께, 낮은 데이터 레이트의 이로운 사용을 허용하기 위하여 AC-3의 그것으로부터 코딩 효과가 증가된다. 이는 향상된 필터뱅크를 사용하여 시간 데이터를 주파수 도메인 데이터로 변환하는 것, 향상된 양자화, 향상된 채널 커플링, 스펙트럼 확장 및 TPNP(transient pre-noise processing)이라 불리우는 기술을 이용할 수 있도록 한다.
시간 데이터를 주파수 데이터로 변환하는 오버랩 변환 MDCT에 더하여, E-AC-3은 정적인 오디오 신호들을 위하여 ART(적응 하이브리드 변환, adaptive hybrid transform)를 사용한다. ART는 오버랩된 KBD 윈도우와 함께 MDCT를 포함하며, 정적인 신호를 위해 윈도우가 없고, 오버랩되지 않는 타입 2 DCT(discrete cosine transform)의 형식에서 제2 블록 변환을 따른다. 따라서 ART는 6개의 256-계수 변환 블록들을 증가된 주파수 해상도를 가지는 단일 1536-계수 하이브리드 변환 블록으로 변환시키기 위하여, 정적 특성을 가지는 오디오가 제공될 때, 기존의 AC-3 MDCT/KBD 필터뱅크에 이어 제2 스테이지 DCT를 추가한다. 이 증가된 주파수 해상도는 예컨대, "코딩하기 어려운" 신호들과 같은, 어떤 신호들에 대한 코딩 효율을 향상시키기 위하여, 이득 적응 양자화(GAQ, gain adaptive quantization) 및 6-차원 벡터 양자화(VQ)와 결합된다. 높은 정확도의 양자화가 요구될 때, GAQ가 높은 효율을 제공하는 반면, VQ는 낮은 정확도들이 요구되는 주파수 대역들을 효율적으로 코딩하기 위하여 사용된다.
향상된 코딩 효율은 또한, 위상 보존(phase preservation)과 함께 채널 커플링의 사용을 통해 얻을 수 있다. 이 방법은 디코딩 상의 각 채널의 고주파 부분을 재구성하는 고주파 모노 합성 채널을 이용하는 AC-3의 채널 커플링 방법으로 확장된다. 비트스트림에서 보내지는 스펙트럼 진폭 정보의 인코더-제어된 프로세싱 및 위상 정보에 추가된 것은 이 프로세스의 정확도를 향상시킨다. 따라서 모노 합성 채널은 이전에 가능했던 것에 비해 보다 저주파로 확장될 수 있다. 이는 인코딩되는 유효 대역을 감소시킨다. 그러므로 코딩 효율이 증가한다.
E-AC-3은 또한 스펙트럼 확장을 포함한다. 스펙트럼 확장은 상위 주파수 변환 계수를 주파수상 상위로 전환된 저주파 스펙트럼 세그먼트들로 변경하는 것을 포함한다. 전환된 세그먼트들의 스펙트럼 특성은 변환 계수들의 스펙트럼 변조를 통해 그리고 전환된 저주파 스펙트럼 세그먼트들과 함께 쉐이핑된(shaped) 노이즈 컴포넌트들을 섞는 것을 통해 원래의 것과 매칭 된다.
E-AC-3은 저주파 효과(LFE) 채널을 포함한다. 이는 제한된 대역(< 120 Hz)의 선택적인 단일 채널이며, 전체 대역 채널들에 대하여 레벨 5 + 10 dB에서 재생성하기 위하여 만들어진다. 선택적인 LFE 채널은 높은 음압 레벨에 저주파 사운드가 제공되는 허용한다. 다른 코딩 표준, 예, AC-3 및 HE-AAC 또한 선택적으로 LFE 채널을 포함한다.
낮은 데이터 레이트에서 오디오의 질을 향상시키기 위한 추가적인 기술은 임시 프리-노이즈 프로세싱(transient pre-noise processing)의 사용이며, 아래에서 더 설명될 것이다.
AC
-3 디코딩
전형적인 AC-3 디코더 구현에서, 가능한 작게 메모리 및 디코더 지연(latency, 레이턴시) 요구들을 유지하기 위하여, 각 AC-3 프레임은 네스티드(nested) 루프의 시리즈에서 디코딩된다.
첫 번째 단계는 프레임을 정렬하는 것이다. 이는 AC-3의 동기 워드(word)를 찾는 것을 포함하며, 그런다음, CRC 에러 검출 워드가 에러가 없음을 지시하는 것을 확정한다. 프레임 동기를 찾으면, BSI 데이터는 코딩된 채널들의 수와 같은 중요한 프레임 정보를 결정하기 위하여, 압축 해제된다(unpacked). 채널들 중 하나는 LFE 채널이 될 수 있다. 코딩된 채널의 수는 본 명세서에서 N.n으로 나타내어진다. 여기서, n은 LFE 채널들의 수이고, N은 메인 채널들의 수이다. 현재 사용되고 있는 코딩 표준에서, n은 0 또는 1이다. 앞으로는, n>1인 경우가 존재할 수 있다.
디코딩에서 다음 단계는 각 6개의 오디오 블록들을 압축 해제한다. 출력 PCM(pulse code modulated) 데이터 버퍼의 메모리 요구 사항을 최소화하기 위하여, 오디오 블록들을 차례로 하나씩 압축 해제한다. 각 블록 기간의 끝에서 PCM 결과들이, 많은 구현들에서, 출력 버퍼들에 복사되며, 하드웨어 디코더에서 실시간 동작을 위한 이 출력 버퍼는 DAC(디지털 아날로그 컨버터, digital-to-analog converter)에 의한 직접 인터럽트 접속을 위해 이중 또는 순환적으로 버퍼된다.
AC-3 디코더 오디오 블록 프로세싱은 2개의 별개의 스테이지들로 분할될 수 있고, 여기에서 입력 및 출력 프로세싱으로써 나타내어진다. 입력 프로세싱은 모든 비트스트림의 압축 해제 및 코딩된 채널 조작을 포함한다. 출력 프로세싱은 주로 역 MDCT 변환의 윈도우잉 및 오버랩되고 더해진 스테이지들을 나타낸다.
이 차이는 메인 출력 채널들의 수는 입력 메인 채널들의 수와 매치될 필요가 없기 때문에 만들어진다. 여기서, 메인 출력 채널들의 수는 AC-3 디코더에 의해 생성되며, 여기서, M>1로 나타내어진다. 또한, 입력 메인 채널들의 수는 N으로 나타내어지며, 비트스트림에서 N>1로 인코딩되고, N>M일 필요는 없다. 다운믹싱에 사용에 의하여, 디코더는 어떤 수 N의 코딩 채널들을 가지는 비트스트림을 수용할 수 있으며, M>1인 임의의 수 M의 출력 채널을 생성할 수 있다. 일반적으로 언급하면, 출력 채널의 수는 M.m으로 나타내어지며, 여기서, M은 메인 채널들의 수이며, m은 출력 채널들의 LFE의 수이다. 오늘날의 어플리케이션에서, m은 0 또는 1이다. 미래에는 m>1인 것도 가능할 수 있다.
다운믹싱에 대해 언급하면, 모든 코딩된 채널들이 출력 채널들에 포함되는 것은 아니다. 예를 들면, 5.1 채널을 스테레오로 다운믹싱하는 것에서, LFE 채널 정보는 일반적으로 제거된다. 따라서 어떤 다운믹싱에서, n=1이고, m=0이면, 즉, LFE 채널의 출력은 없다.
도 1은 인스트럭션을 위한 슈도코드(100) 보이며, 실행되었을 때, 전형적인 AC-3 디코딩 절차가 수행된다.
AC-3 디코딩에서 입력 프로세싱은 디코더가 고정된 오디오 블록 데이터를 압축해제할 때, 전형적으로 시작되며, 이(고정된 오디오 블록 데이터)는 오디오 블록의 시작에 위치한 플래그들 및 파라미터들의 집합이다. 이 고정된 데이터는 블록 스위치 플래그들, 커플링 정보, 지수들, 비트 할당 파라미터들과 같은 아이템들을 포함한다. 용어 "고정된 데이터"는 이 비트스트림 요소들을 위한 워드 크기는 연역적(priori)으로 알려진다는 사실을 나타낸다. 그러므로 그러한 요소들을 회복하기 위하여 다양한 길이의 디코딩 프로세스가 요구되지 않는다.
지수들은 각 코드 채널로부터 모든 지수들을 포함하는 것과 같이, 고정된 데이터 영역에서 단일 최대 필드를 형성한다. 코딩 모드에 따라, AC-3에서, 가수(mantissa)당 하나의 지수가 있으며, 채널당 최대 253개의 가수가 있다. 로컬 메모리에 대한 이러한 모든 지수들을 압축해제하는 것이 아니라, 많은 디코더의 구현은 포인터들을 지수 필드들에 저장하고, 차례로 하나의 채널씩, 그들이 필요할 때 압축 해제한다.
고정된 데이터가 압축해제되면, 많은 알려진 AC-3 디코더들은 각 코딩된 채널을 프로세싱하는 것을 시작한다. 첫째, 주어진 채널에 대한 지수들은 입력 프레임으로부터 압축 해제된다. 그런 다음, 비트 할당 계산이 전형적으로 수행된다. 이는 지수들 및 비트 할당 파라미터들을 가지며, 각 압축된 가수에 대한 워드 크기들을 계산한다. 그런 다음, 가수들은 입력 프레임으로부터 전형적으로 압축 해제된다. 가수들은 적절한 동적 범위 제어를 제공하기 위하여 스케일링되고, 만약 필요하다면, 커플링 동작을 되돌리고(undo), 기수에 의해 역정규화(denormalized)된다. 마지막으로, 선-오버랩-추가(pre-overlap-add) 데이터를 결정하기 위하여 역변환이 계산된다. "윈도우 도메인"이라 일컬어지는 것 내의 데이터 및 그 결과들은 다음의 출력 프로세싱을 위하여 적절한 다운믹스 버퍼들에 다운믹싱된다.
어떤 구현에서, 개별 채널을 위한 기수들은 "MDCT 버퍼"로 일컬어지는 256-샘플 길이 버퍼에 압축 해제된다. 그런 다음, 이러한 기수들은 비트 할당 목적으로 50개의 대역들과 같은 수로 그룹화된다. 각 대역에서 기수들의 수는 높은 오디오 주파수들로 증가되며, 대략 음향심리학(psychoacoustic)의 임계 대역을 모델링하는 대수의 분할을 따른다.
이러한 비트 할당 대역들 각각을 위해, 기수들 및 비트 할당 파라미터들은 합성하여 그 대역에서 각 가수에 대해 가수 워드 크기를 생성한다. 이러한 워드 크기들은 24 주파수 빈(bin)들로 구성된 가장 넓은 비트 할당 밴드를 가지는, 24-샘플의 긴 대역 버퍼에 저장된다. 워드 크기들이 계산되면, 해당하는 가수들은 입력 프레임으로부터 압축 해제되고, 대역 버퍼의 제자리로 돌아가서 저장된다. 이러한 가수들은 스케일링되고, 대응하는 기수에 의해 역정규화되며, 기입된다. 예컨대, MDCT 버퍼의 제자리로 돌아가서 기입된다. 모든 대역들이 처리되고, 그리고 모든 가수들이 압축해제된 후, MDCT 버퍼의 어떤 남아있는 위치들에는 0(zero)이 기입된다.
역변환이 수행된다. 예컨대, 이는 MDCT 버퍼의 제자리에서 수행된다. 그런 다음, 이 프로세싱의 출력인 윈도우 도메인 데이터는 다운믹싱 파라미터에 따라, 적합한 다운믹스 버퍼들에 다운믹싱될 수 있고, 메타데이터에 따라 결정될 수 있다. 예컨대, 이는 메타데이터에 따라 미리 결정된 데이터로부터 패치된다(fetched).
입력 프로세싱이 완료되고, 다운믹스 버퍼들이 윈도우 도메인 다운믹스 데이터로 완전하게 생성되면, 디코더는 출력 프로세싱을 수행할 수 있다. 각 출력 채널을 위해, 다운믹스 버퍼 및 이에 대응하는 128-샘플 긴 하프-블록 지연 버퍼는 윈도우가 사용되며, 합성되어 256 PCM 출력 샘플들을 생성한다. 디코더 및 하나 이상의 DAC(디지털 오디오 컨버터)를 포함하는 하드웨어 음향 시스템에서, 이러한 샘플들은 DAC 워드 폭으로 라운드되며, 출력 버퍼에 복사된다. 이것이 이루어지면, 다운믹스 버퍼의 절반은 이에 대응하는 지연 버퍼에 복사되며, 다음 오디오 블록의 적절한 재현을 위하여 필요한 50%의 오버랩 정보를 제공한다.
E-
AC
-3 디코딩
본 발명의 일 실시예는 오디오 데이터를 디코딩하는 오디오 디코더를 동작시키는 방법을 포함한다. 오디오 데이터는 인코딩된 오디오 데이터의 채널들의 N.n로 나타내어지는 수를 포함한다. 예컨대, E-AC-3 오디오 디코더는 디코딩된 오디오 데이터를 형성하기 위해 E-AC-3 인코딩된 오디오 데이터를 디코딩한다. 여기서, 디코딩된 오디오 데이터는 디코딩된 오디오의 M.m개의 채널들을 포함하며, n은 0 또는 1, m은 0 또는 1, 그리고 M≥1이다. n=1은 입력 LFE 채널을 나타내며, m=1은 출력 LFE 채널을 나타낸다. M<N은 다운믹싱을 나타내며, M>N은 업믹싱을 나타낸다.
상기 방법은 예컨대, 디지털 오디오 데이터의 오버랩-변환 N 채널들을 이용하여 변환하는 것을 포함하는 인코딩 방법인, 인코딩 방법에 의해 인코딩된 인코딩된 오디오 데이터의 N.n 채널들을 포함하는 오디오 데이터를 수용하는 것을 포함한다. 상기 방법은 또한, 주파수 도메인 기수 및 가수 데이터를 형성 및 압축하고, 주파수 도메인 기수 및 가수 데이터와 관련된 메타데이터를 형성 및 압축하는 것을 포함한다. 여기서, 상기 메타데이터는 예컨대, E-AC-3 인코딩 방법에 의한, 임시 프리-노이즈 프로세싱과 관련된 메타데이터를 선택적으로 포함한다.
여기 일 실시예에 기술된 바는 E-AC-3 표준 또는 E-AC-3 표준의 이전 기종과 호환되는 표준에 따라 인코딩되어진 인코딩된 오디오 데이터를 수용할 수 있도록 디자인되는 것을 기술하며, 5개의 코딩된 메인 채널들 이상을 포함할 수 있다.
아래에 더 상세하게 설명될 바와 같이, 상기 방법은 수용된 오디오 데이터를 디코딩하는 방법을 포함한다. 이 디코딩 방법은, 메타데이터를 압축 해제하고, 주파수 도메인 기수 및 가수 데이터를 압축 해제 및 디코딩하는 단계; 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수들을 결정하는 단계; 상기 주파수 도메인 데이터를 역변환하는 단계; 샘플링된 오디오 데이터를 결정하기 위하여 위도우잉 및 오버랩을 적용하는 단계; 어떤 요구되는 임시 프리-노이즈 프로세싱을 임시 프리-노이즈 프로세싱과 관련된 메타데이터에 따라 디코딩하는 것에 적용하는 단계; 및 M<N의 경우, 다운믹싱 데이터에 따라 다운믹싱하는 단계;를 포함한다. 상기 다운믹싱 단계는 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되는지 여부를 테스트하고, 만약 변경된다면, 그로스-페이딩된 다운믹싱 데이터를 결정하기 위해 크로스-페이딩(cross-fading)을 적용하고, 크로스-페이딩된 다운믹싱 데이터에 따라 다운믹싱한다. 만약, 변경되지 않으면, 바로 다운믹싱 데이터에 따라 다운믹싱한다.
본 발명의 일 실시예에서, 디코더는 벡터 인스트럭션을 포함하는 SSE(streaming SIMD(single-instruction-multiple-data) extension) 인스트럭션을 실행하는 적어도 하나의 x86 프로세서를 사용한다. 이러한 실시예에서 다운믹싱은 하나 이상의 x86 프로세서들 중 적어도 하나에서 벡터 인스트럭션을 실행하는 것을 포함한다.
본 발명의 일 실시예에서, AC-3이 될 수도 있는, E-AC-3 오디오를 위한 디코딩 방법은, 한번 이상 적용될 수 있는 동작들의 모듈로 분할된다. 즉, 다른 디코더 구현들에서 한번 이상 예시된다(instantiated). 디코딩을 포함하는 방법의 경우에 있어서, 상기 디코딩은 FED(front-end decode) 동작들의 세트 그리고, BED(back-end decode) 동작들의 세트로 분할된다. 아래에서 상세하게 설명될 바와 같이, FED 동작들은 AC-3 또는 E-AC-3 비트스트림의 프레임의 주파수 도메인 기수 및 가수 데이터를 프레임에 대해 압축 해제 및 디코딩하여 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터를 생성하고, 프레임들에 수반된 메타데이터를 생성하는 것을 포함한다. BED 동작들은, 변환 계수들을 결정하고, 결정된 변환 계수들을 역변환하고, 윈도우잉 및 오버랩-추가 동작을 적용하고, 요구되는 임시 프리-노이즈 프로세싱 디코딩을 적용하고, 그리고, 비트스트림에서 코딩된 채널들 보다 적은 출력 채널들이 존재하는 경우에 다운믹싱을 적용하는 것을 포함한다.
본 발명의 일 실시에는 인스트럭션들을 저장하는 컴퓨터 판독 가능한 저장 매체를 포함한다. 이 인스트럭션들은 프로세싱 시스템의 하나 이상의 프로세서에 의해 실행될 때, 프로세싱 시스템이 인코딩된 오디오 데이터의 N.n 채널들을 포함하는 오디오 데이터의 디코딩을 수행하고, 디코딩된 오디오, M>1의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하도록 한다. 오늘날의 표준에서, n=0 또는 1이고, m=0 또는 1이지만, 본 발명은 이를 한정하지 않는다. 상기 인스트럭션들은 실행되었을 때, 인코딩 방법(예, AC-3 또는 E-AC-3)에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들을 포함하는 오디오 데이터를 수용하도록 하는 인스트럭션들을 포함한다. 인스트럭션들은 실행되었을 때, 수용된 오디오 데이터를 디코딩하도록 하는 인스트럭션들을 더 포함한다.
이러한 실시예에서, 수용된 오디오 데이터는 코딩된 데이터의 프레임들의 AC-3 또는 E-AC-3 비트스트림의 형식을 가진다. 상기 인스트럭션들은 실행될 때, 수용된 오디오 데이터를 디코딩하여 인스트럭션들의 재사용 가능한 모듈들의 세트로 분할되도록 하며, 이는 FED(front-end decode) 모듈 및 BED(back-end decode) 모듈을 포함한다. FED 모듈은 실행되었을 때, 비트스트림의 프레임의 주파수 도메인 기수 및 가수 데이터를 프레임에 대해 압축 해제 및 디코딩하여 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터를 생성하고, 프레임들에 수반된 메타데이터를 생성하도록 하는 인스트럭션들을 포함한다. BED 모듈은 실행되었을 때, 변환 계수들을 결정하고, 역변환하고, 윈도우잉 및 오버랩-추가 동작들을 적용하고, 요구되는 임시 프리-노이즈 프로세싱 디코딩을 적용하고, 그리고, 입력 코딩된 채널들 보다 적은 출력 채널들이 존재하는 경우에 다운믹싱을 적용하는 인스트럭션들을 포함한다.
도 2a 내지 도 2d는 하나 이상의 공통 모듈들을 사용할 수 있는 다른 디코더 구성을 형성하는 단순화된 블록도를 보인다. 도 2a는 AC-3 또는 E-AC-3 코딩된 5.1 오디오에 대한 E-AC-3 디코더(200) 예의 단순화된 블록도를 보인다. 물론, 용어 "블록"의 사용은 블록도에서 사용되는 블록과 오디오 데이터의 블록이 동일한 것은 아니다. 후자에서의 블록은 오디오 데이터의 양에 따른다. 디코더(200)는 FED(front-end decode, 전단 디코딩) 모듈(201)을 포함한다. FED 모듈(201)은 AC-3 또는 E-AC-3 프레임들을 수용하고, 각 프레임 마다, 프레임의 메타데이터를 압축해제하고, 프레임의 오디오 데이터를 디코딩하여 주파수 도메인 기수 및 가수 데이터를 생성한다. 또한, 디코더(200)는 BED(back-end decode) 모듈(203)을 포함한다. BED 모듈(203)은 주파수 도메인 기수 및 가수 데이터를 FED 모듈(201)로부터 수신하고, 이를 디코딩하여 최대 PCM 오디오 데이터의 5.1 채널들까지 생성한다.
디코더의 FED 모듈 및 BED 모듈로의 분해는 디자인 선택이며, 필수적인 분할이 아니다. 이러한 분할은 몇몇 대안적인 구성에서 공통 모듈들을 가지는 이득을 제공한다. FED 모듈은 그러한 대안적 구성을 공통화 할 수 있다. 그리고 많은 구성들은 FED 모듈에 의해 수행되는 것과 같이, 프레임들의 메타데이터를 압축 해제하고, 프레임들의 오디오 데이터를 디코딩하여 주파수 도메인 기수 및 가수 데이터를 생성하는 것을 공통으로 가질 수 있다.
대안적 구성의 일 실시예에 따르면, 도 2b는 AC-3 또는 E-AC-3 코딩된 5.1 오디오를 디코딩하고, 오디오의 최대 5.1 채널들의 E-AC-3 코딩된 프레임을 최대 5.1 채널들의 AC-3 코딩된 프레임으로 변환하는, E-AC-3 코딩된 5.1 오디오를 위한 E-AC-3 디코더/컨버터(210)의 간략화된 블록도를 보인다. 디코더/컨버터(210)는 AC-3 또는 E-AC-3 프레임들을 수용하고, 프레임 하나 하나씩, 프레임의 메타데이터를 압축해제하고, 프레임의 오디오 데이터를 디코딩하여, 주파수 도메인 기수 및 가수 데이터를 생성하는 것을 수행하는 FED(front-end decode) 모듈(201)을 포함한다. 디코더/컨버터(210)는 또한 BED(back-end decode) 모듈(203)을 포함한다. BED 모듈(203)은 디코더(200)의 BED 모듈(203)과 유사하거나 또는 동일하다. 그리고, BED 모듈(203)은 FED 모듈(201)로부터 주파수 도메인 기수 및 가수 데이터를 수신하고, 이를 디코딩하여, 최대 5.1 채널들의 PCM 오디오 데이터를 생성한다. 또한, 디코더/컨버터(210)는 메타데이터를 변환하는 메타데이터 컨버터 모듈(205) 및 후단 인코딩(back-end encode, BEE) 모듈(207)을 포함한다. 후단 인코딩(back-end encode) 모듈(207)은 FED 모듈(201)로부터 주파수 도메인 기수 및 가수 데이터를 수신하고, AC-3과 함께 가능한 640 kbps의 최대 데이터 레이트에 불과한 것에서 데이터를 오디오 데이터의 최대 5.1 채널들의 AC-3 프레임으로 인코딩하는
대안적 구성의 예와 같이, 도 2c는 오디오의 최대 7.1 채널들의 E-AC-3 코딩된 프레임을 디코딩하고, 코딩된 오디오의 최대 5.1 채널들의 AC-3 프레임을 디코딩하는 E-AC-3 디코더의 간략화된 블록도를 보인다. 디코더(220)는 BSI 데이터를 압축 해제하고, 프레임들 및 프레임 형식들을 식별하고, 프레임들에 적절한 FED 요소들을 제공하는 프레임 정보 분석 모듈(221)을 포함한다. 실행되었을 때, 상기 모듈들의 기능들을 수행하도록 하는 인스트럭션이 저장된 하나 이상의 메모리 및 프로세서를 포함하는 전형적인 구현에서, FED 모듈의 다중 실현(instantiation, 인스탄스 생성) 및 BED 모듈의 다중 실현이 동작될 수 있다. E-AC-3 디코더의 일 실시예에서, BSI 압축 해제 기능은 BSI 데이터를 자세하게 검토하기 위해 FED 모듈로부터 분리될 수 있다. 이는 공통 모듈들이 다양한 대안적 구현들에 사용될 수 있도록 제공한다. 도 2c는 오디오 데이터의 최대 7.1 채널에 적합한 아키텍처를 가지는 디코더의 단순화된 블록도를 보인다. 도 2d는 상술한 아키텍처를 가지는 5.1 디코더(240)의 간략화된 블록도를 보인다. 디코더(240)는 프레임 정보 분석 모듈(241), FED(front-end decode) 모듈(243) 및 BED(back-end decode) 모듈(245)를 포함한다. 이러한 FED 및 BED 모듈들은 도 2c의 아키텍처에서 사용된 FED 및 BED 모듈들과 구조상 유사할 수 있다.
도 2c로 돌아와서, 프레임 정보 분석 모듈(221)은 최대 5.1 채널의 독립 AC-3/E-AC-3 코딩된 프레임의 데이터를 FED 모듈(233)에 제공한다. FED 모듈(233)은 AC-3 또는 E-AC-3 프레임들을 수신하여, 각각의 프레임별로, 프레임의 메타데이터를 압축해제하고, 프레임의 오디오 데이터를 디코딩하여 주파수 도메인 기수 및 가수 데이터를 생성한다. 주파수 도메인 기수 및 가수 데이터는 BED 모듈(225)에 의하여 수신된다. BED 모듈(225)은 디코더(200)의 BED 모듈(203)과 동일하거나 또는 유사하다. BED 모듈(225)은 FED 모듈(223)로부터 주파수 도메인 기수 및 가수 데이터를 수신하여, 그 데이터를 디코딩하여 PCM 오디오 데이터의 최대 5.1 채널을 생성한다. 추가 채널 데이터의 어떤 종속 AC-3/E-AC-3 코딩된 프레임은 다른 FED 모듈(227)에 제공된다. FED 모듈(227)은 다른 FED 모듈과 유사하다. 따라서, FED 모듈(227)은 프레임의 메타데이터를 압축해제하고, 프레임의 오디오 데이터를 디코딩하여 주파수 도메인 기수 및 가수 데이터를 생성한다. BED 모듈(229)는 FED 모듈(227)로부터 데이터를 수신하고, 그 데이터를 디코딩하여 어떤 추가 채널들의 PCM 오디오 데이터를 생성한다. PCM 채널 매핑 모듈(PCM channel mapper module, 231)은 각 BED 모듈로부터 디코딩된 데이터를 합성하여 PCM 데이터의 최대 7.1 채널들을 제공하기 위하여 사용된다.
만약, 5개 이상의 코딩된 메인 채널들이 있다면, 즉, N>5의 경우, 예컨대, 7.1 코딩된 채널들이 존재하고, 코딩된 비트스트림은 코딩된 데이터의 적어도 하나의 종속 프레임 및 최대 5.1 코딩된 채널들의 독립 프레임을 포함한다. 그러한 경우에 대한 소프트웨어의 실시예에서, 예컨대, 실시예들은 컴퓨터 판독 가능한 매체를 포함한다. 컴퓨터 판독 가능한 매체는 실행을 위한 인스트럭션들을 저장한다. 이 인스트럭션들은 복수의 5.1 채널 디코딩 모듈들로서 정렬된다. 각 5.1 채널 디코딩 모듈은 각각의 FED 모듈의 실현(instantiation, 인스탄스화된 것) 및 각각의 BED 모듈의 실현을 포함한다. 복수의 5.1 채널 디코딩 모듈들은 실행되었을 때, 종속 프레임을 디코딩하는 제1 5.1 채널 디코딩 모듈 및 각각의 종속 프레임에 대한 하나 이상의 다른 채널 디코딩 모듈을 포함한다. 이러한 실시예에서, 인스트럭션들은 프레임 정보 분석 모듈 및 채널 매핑 모듈의 인스트럭션들을 포함한다. 프레임 정보 분석 모듈의 인스트럭션들은 실행되었을 때, 각 프레임으로부터 비트 스트림 정보(BSI, Bit Stream Information) 필드를 압축 해제하여, 프레임들 및 프레임 형식들을 식별하고, 식별된 프레임을 적합한 FED 모듈의 실현에 제공하도록 한다. 채널 매핑 모듈의 인스트럭션은 실행되었을 때, 그리고 N>5인 경우, 디코딩된 데이터의 N개의 메인 채널들을 형성하기 위하여, 각각의 BED 모듈로부터 디코딩된 데이터를 합성한다.
AC
-3/E-
AC
-3
듀얼
디코더 컨버터의 동작 방법
본 발명의 일실시예는 듀얼 디코더 컨버터(DDC, dual decoder converter)의 형식이다. DDC는 "메인(main)" 및 "관련된(associated)"것으로 지정된, 각각 최대 5.1 채널을 가지는, 2개의 AC-3/E-AC-3 입력 비트스트림을 디코딩하여, PCM 오디오를 생성한다. 그리고 DDC는, 변환의 경우에서, 메인 오디오 비트스트림을 E-AC-3에서 AC-3으로 변환하고, 디코딩의 경우, 메인 비트스트림 및 존재하는 경우 관련된 비트스트림을 디코딩한다. DDC는 선택적으로 관련된 오디오 비트스트림으로부터 추출된 믹싱된 메타데이터를 이용하여 2개의 PCM 출력들을 혼합(mix)한다.
DDC 컨버터의 일 실시예는 최대 2개의 AC-3/E-AC-3 입력 비트스트림을 변환 및/또는 디코딩하는 것이 포함된 프로세스들을 수행하기 위한 디코더를 동작시키는 방법을 실행한다. 다른 실시예에는 실재하는 저장 매체의 형식이다. 이 저장 매체는 인스트럭션들을 가진다. 예컨대, 소트프웨어 인스트럭션들이 그것이다. 이는 프로세싱 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 프로세싱 시스템이 최대 2개의 AC-3/E-AC-3 입력 비트스트림들을 변환 및/또는 디코딩하는 것이 포함된 프로세스들을 수행하도록 한다.
AC-3/E-AC-3 DDC의 일 실시예에는 6개의 서브컴포넌트들을 가진다. 이들 중 몇몇은 공통 서브컴포넌트들을 포함한다. 그 모듈들은 다음과 같다.
디코더-컨버터(Decoder-converter): 디코더-컨버터는 실행될 때, AC-3/E-AC-3 입력 비트스트림(최대 5.1 채널)을 디코딩하여 PCM 오디오를 생성하고, 및/또는, 입력 비트 스트림을 E-AC-3에서 AC-3으로 변환하도록 구성된다. 디코더-컨버터는 3개의 메인 서브컴포넌트들을 가진다. 그리고 상술한 도 2b에서 보인 210과 같은 실시예로 구현될 수 있다. 메인 서브컴포넌트들은 다음과 같다.
전단 디코딩 모듈(FED, Front-end decode): FED 모듈은 실행될 때, AC-3/E-AC-3 비트스트림의 프레임을 디코딩하여, 원(raw) 주파수 도메인 오디오 데이터 및 이에 수반되는 메타데이터를 생성하도록 한다.
후단 디코딩 모듈(BED, Back-end decode): BED 모듈은 실행될 때, FED 모듈에 의해 시발된 나머지 디코딩 프로세스를 완료하도록 한다. 특히, BED 모듈은 오디오 데이터(가수 및 기수 형식)를 디코딩하여 PCM 오디오 데이터를 생성한다.
후단 인코딩 모듈(Back-end encode): 후단 인코딩 모듈은 실행될 때, FED로부터의 오디오 데이터의 6개의 블록들을 이용하여 AC-3 프레임을 인코딩하도록 구성된다. 후단 인코딩 모듈은 또한, 실행될 때, 동기화하고, 분해하고(resolve), 그리고, 포함된 메타데이터 컨버터 모듈을 이용하여 E-AC-3 메타데이터를 돌비 디지털 메타데이터(Dolby Digital metadata)로 변환하도록 구성된다.
5.1 디코더: 5.1 디코더 모듈은 실행될 때, AC-3/E-AC-3 입력 비트스트림(최대 5.1 채널)을 디코딩하여 PCM 오디오를 생성하도록 구성된다. 5.1 디코더는 또한 2개의 AC-3/E-AC-3 비트스트림들을 믹싱하는 외부의 어플리케이션에 의한 사용을 위해 선택적으로 믹싱 메타데이터를 출력한다. 디코더 모듈은 2개의 메인 서브컴포넌트들을 포함한다. FED 모듈은 본 문서에서 상술한 바와 같으며, BED 모듈도 본 문서에서 상술한 바와 같다. 5.1 디코더 예의 블록도는 도 2d에서 보인다.
프레임 정보(Frame information): 프레임 정보 모듈은 실행될 때, AC-3/E-AC-3 프레임을 파싱(parse)하고, 이의 비트스트림 정보를 압축 해제하도록 구성된다. CRC 체크는 압축 해제된 프로세스의 일부로써 프레임 상에서 수행된다.
버퍼 기술자(Buffer descriptors): 버퍼 기술자 모듈은 AC-3, E-AC-3 및 버퍼 동작을 위한 PCM 버퍼 기술들(descriptions) 및 기능들을 포함한다.
샘플 레이트 컨버터(Sample rate converter): 샘플 레이트 컨버터 모듈은 선택적으로 구성된다. 그리고 샘플 레이트 컨버터 모듈은 실행될 때, 2개의 팩터에 의해 PCM 오디오를 업샘플링(upsample)한다.
외부 믹서(External mixer): 외부 믹서 모듈은 선택적으로 구성되며, 그리고, 실행될 때, 관련된 오디오 프로그램에 공급된 믹싱된 메타데이터를 이용하여 메인 오디오 프로그램 및 관련된 오디오 프로그램을 믹싱하여 단일 출력 오디오 프로그램을 생성한다.
전단 디코딩(
FED
,
Front
-
end
decode
) 모듈 설계
FED 모듈은 E-AC-3 추가 디코딩 측면 및 AC-3의 방법에 따라 데이터를 디코딩하며, 정적 신호들을 위한 디코딩 AHT 데이터, E-AC-3의 향상된 채널 커플링 및 스펙트럼 확장을 포함한다.
실재하는 저장 매체의 형식에 따른 실시예에의 경우에, FED 모듈은 실존하는 저장 매체에 저장된 소프트웨어 인스트럭션들을 포함한다. 이는 프로세싱 시스템의 하나 이상의 프로세서에 의하여 실행될 때, FED 모듈의 동작에서 대해서 본 문서에서 제공된 상세한 설명에 기술된 바와 같은 동작을 수행한다. 하드웨어 구현에서, FED 모듈은 FED 모듈의 동작에서 대해서 본 문서에서 제공된 상세한 설명에 기술된 바와 같은 동작을 수행하도록 구성된 요소들을 포함한다.
AC-3 디코딩에서, 각 블록을 차례로 디코딩하는 것이 가능하다. E-AC-3와 함께, 제1 오디오 블록, 프레임의 오디오 블록 0은 모든 6개 블록들의 AHT 가수를 포함한다. 이러한 이유로, 각 블록을 차례로 코딩하는 것이 사용되지 않으며, 몇 개의 블록들이 한번에 처리될 수 있다. 하지만, 실제 데이터 처리는 물론, 각 블록에서 수행된다.
일 실시예에서, AHT가 사용되는지 여부를 고려하지 않고, 균일한(uniform) 방법의 디코딩/디코더의 아키텍처를 사용하기 위해, FED 모듈은, 채널을 순차로(channel-by-channel), 2개의 경로들을 수행한다. 첫 번째 경로는 각 블록을 순차로, 메타데이터를 압축 해제하고, 압축된 기수 및 가수 데이터가 저정된 곳을 나타내는 포인터들을 저장하는 것을 포함한다. 두 번째 경로는 압축된 기수 및 가수를 나타내는 저장된 포인터들을 이용하고, 각 채널을 순차로, 기수 및 가수 데이터를 압축 해제하고 디코딩하는 것을 포함한다.
도 3은 FED 모듈의 일 실시예의 간략화된 블록도를 보인다. 이는 예컨대, 메모리에 저장된 인스트럭션의 세트로써 구현되며, 실행될 때, FED 프로세싱이 수행되도록 한다. 또한, 도 3은 2개의 경로 FED 모듈(300)의 제1 경로를 위한 인스트럭션을 위한 슈도코드(pseudocode) 및 2개의 경로 FED 모듈(300)의 제2 경로를 위한 인스트럭션을 위한 슈도코드를 보인다. FED 모듈은 다음의 모듈들을 포함한다. 각각은 인스트럭션들을 포함하며, 그러한 인스트럭션들은 구조들 및 파라미터들을 정의하는 관점에서 정의를 내린다.
채널(Channel): 채널 모듈은 메모리에서 오디오 채널을 나타내기 위한 구조들을 정의하고, AC-3 또는 E-AC-3 비트스트림으로부터의 오디오 채널을 압축 해제하고 디코딩하기 위한 인스트럭션들을 제공한다.
비트 할당(Bit allocation): 비트 할당 모듈은 마스킹 커브를 계산하고, 코딩된 데이터에 대한 비트 할당을 계산하기 위한 인스트럭션들을 제공한다.
비트스트림 동작(Bitstream operations): 비트스트림 동작 모듈은 AC-3 또는 E-AC-3 비트스트림으로부터의 데이터를 압축 해제하기 위한 인스트럭션들을 제공한다.
기수(Exponents): 기수 모듈은 메모리에서 기수를 나타내기 위한 구조들을 정의하고, 실행될 때, AC-3 또는 E-AC-3 비트스트림으로부터 기수들을 압축 해제하고 디코딩하는 인스트럭션들을 제공한다.
기수 및 가수(Exponents and mantissas): 기수 및 가수 모듈은 메모리에서 기수 및 가수를 나타내기 위한 구조들을 정의하고, 실행될 때, AC-3 또는 E-AC-3 비트스트림으로부터 기수 및 가수를 압축해제하고 디코딩하기 위한 인스트럭션들을 제공한다.
매트릭싱(Matrixing): 매트릭싱 모듈은 실행될 때, 매트릭스된(matrixed) 채널들을 디매트릭싱(dematrixing)하는 것을 지원하는 인스트럭션들을 제공한다.
부가데이터(Auxiliary data): 부가데이터 모듈은 FED 프로세싱을 수행하는 FED 모듈에 사용되는 부가 데이터 구조들을 정의한다.
가수(Mantissas): 가수 모듈은 메모리에서 가수를 나타내기 위한 구조들을 정의하고, 실행될 때, AC-3 또는 E-AC-3 비트스트림으로부터 가수를 압축해제하고 디코딩하기 위한 인스트럭션들을 제공한다.
적응 하이브리드 변형(Adaptive hybrid transform, AHT): AHT 모듈은 실행될 때, E-AC-3 비트스트림으로부터의 AHT 데이터를 압축해제하고 디코딩하도록 구성된 인스트럭션들을 제공한다.
오디오 프레임(Audio frame): 오디오 프레임 모듈은 메모리에서 오디오 프레임을 나타내도록 하는 구조들을 정의하고, 실행될 때, AC-3 또는 E-AC-3 비트스트림으로부터 오디오 프레임을 압축 해제하고, 디코딩하도록 구성된 인스트럭션들을 제공한다.
향상된 커플링(Enhanced coupling): 향상된 커플링 모듈은 메모리에서 향상된 커플링 채널을 나타내도록 하는 구조를 정의하고, 실행될 때, AC-3 또는 E-AC-3 비트스트림으로부터 향상된 커플링 채널을 압축해제하고 디코딩하도록 구성된 인스트럭션들을 제공한다. 향상된 커플링은 위상 및 혼돈(chaos) 정보를 제공하는 것에 의해 E-AC-3 비트스트림에서의 기존의 커플링으로부터 확장되어 형성된 것이다.
오디오 블록(Audio block): 오디오 블록 모듈은 메모리에서 오디오 블록을 나타내도록 하는 구조들을 정의하고, 실행될 때, AC-3 또는 E-AC-3 비트스트림으로부터 오디오 블록을 압축해제하고 디코딩하기 위해 구성된 인스트럭션들을 제공한다.
스펙트럼 확장(Spectral extension): 스펙트럼 확장 모듈은 E-AC-3 비트스트림에서 스펙트럼 확장 디코딩을 지원하기 위해 제공된다.
커플링(Coupling): 커플링 모듈은 메모리에서 커플링 채널을 나타내기 위한 구조들을 정의하고, 실행될 때, AC-3 또는 E-AC-3 비트스트림으로부터 커플링 채널을 압축 해제하고 디코딩하기 위해 구성된 인스트럭션들을 제공한다.
도 4는 도 3의 FED 모듈(300)의 일 실시예의 동작에 대한 단순화된 데이터 흐름도이며, 이는 도 3에 보인 슈도코드 및 서브모듈 요소들이 FED 모듈의 기능들을 수행하기 위해 협동하는지에 대해 나타내고 있다. 기능적 요소는 프로세싱 기능을 수행하는 요소를 의미한다. 그러한 각각의 요소는 하드웨어 요소, 또는, 실행될 때, 그 기능을 수행하는 인스트럭션들을 포함하는 저장 매체 및 프로세싱 시스템이 될 수 있다. 비트스트림 압축해제 기능 요소(403)는 AC-3/E-AC-3 프레임을 수신하여, 비트 할당 파라미터를 생성한다. 이는 표준 및/또는 AHT 비트 할당 기능 요소(405)를 위한 것이며, AHT 비트 할당 기능 요소(405)는 비트스트림에 대해 추가 데이터를 생성한다. 그 비트스트림은 결국 압축해되어 포함된 표준/향상된 역커플링 기능 요소(407)를 위한 기수 및 가수 데이터가 생성된다. 기능 요소(407)는 어떤 필요한 리매트릭싱(rematrixing)을 수행하는 포함된 리매트릭싱 기능 요소(409)를 위한 기수 및 가수 데이터를 생성한다. 기능 요소(409)는 어떤 필요한 스펙트럼 확장을 수행하는 포함된 스펙트럼 확장 디코딩 기능 요소(411)를 위한 기수 및 가수 데이터를 생성한다. 기능 요소들(407 내지 411)은 기능 요소(403)의 압축해제 동작에 의해 얻어진 데이터를 이용한다. FED의 결과는 기수 및 가수 데이터이며, 또한, 그 결과는 추가의 압축 해제된 오디오 프레임 파라미터들 및 오디오 블록 파라미터들이다.
도 3에서 보인 제1 경로 및 제2 경로 슈도코드를 더 자세하게 참조하면, 제1 경로 인스트럭션들은 실행될 때, AC-3/E-AC-3 프레임으로부터 메타데이터를 압축해제하도록 구성된다. 특히, 제1 경로는 BSI 정보를 압축 해제하는 것과, 오디오 프레임 정보를 압축해제하는 것을 포함한다. 각 블록에 대해서, 블록 0에서 시작해서 블록 5(프레임당 6개의 블록)까지, 고정된 데이터는 압축 해제되고, 각 채널에 대해, 비트스트림 내에서 압축된 기수에 대한 포인터가 저장되며, 기수는 압축 해제되고, 압축된 가수가 존재하는 비트스트림에서 위치는 저장된다. 비트 할당이 계산되어지고, 비트 할당에 기초하여, 가수는 스킵(skip)될 수 있다.
제2 경로 인스트럭션은 실행될 때, 가수 및 기수 데이터를 생성하기 위해 프레임으로부터의 오디오 데이터를 디코딩하도록 구성된다. 각 블록이 시작되는 블록 0에 대해, 압축된 기수를 가리키는 저장된 포인터를 로딩하고, 포인터가 가리키는 기수를 압축 해제하며, 비트 할당을 계산하고, 압축된 가수를 가리키는 저장된 포인터를 로딩하고, 포인터가 가리키는(pointed) 가수를 압축 해제한다. 디코딩은 표준을 수행하고, 향상된 디커플링을 행하며, 스펙트럼 확장 대역(들)을 생성하는 것을 포함하며, 그리고, 다른 모듈로부터 독립될 수 있도록, 결과 데이터를 메모리(예, 경로의 내부 메모리 외부의 메모리)로 전달한다. 고로, 결과 데이터는 다른 모듈들(예, BED 모듈)에 의해 접근될 수 있다. 편의를 위한, 이 메모리는 "외부의(external)" 메모리로 불리며, 당업자에 의해 명확한 바와 같이, 모든 모듈에 대해 사용되는 단일 메모리 구조의 부분이 될 수 있다.
일 실시예에서, 기수를 압축 해제하기 위해, 메모리 전달을 최소화하기 위하여, 제1 경로 동안 압축 해제된 기수들은 저장되지 않는다. 채널에 대해 AHT가 사용중에 있다면, 기수들은 블록 0으로부터 압축 해제되고, 1 번부터 5번이 부여된 다른 5개의 블록에 복사된다. 채널에 대해 AHT가 사용되지 않는다면, 압축된 기수들을 위한 포인터는 저장된다. 채널 기수 전략이 기수들을 재사용하는 것이라면, 기수들은 저장된 포인터들을 이용하여 다시 압축 해제된다.
일 실시예에서, 압축 해제된 가수를 커플링하기 위해, 커플링 채널에 대해 AHT가 사용되면, AHT 커플링 채널 가수의 모든 6개의 블록들은 블록 0에서 압축 해제된다. 그리고 무상관의 디더를 생성하기 위한 커플링된 채널인 각 채널에 대해 디더(dither)가 재생성된다. AHT가 커플링 채널에 사용되지 않으면, 커플링 가수에 대한 포인터들이 저장된다. 저장된 포인터들은 주어진 블록에서 커플링된 채널인 각 채널에 대해 커플링 가수를 재-압축해제하기 위하여 사용된다.
Back
-
end
decode
module
design
BDE 모듈은 주파수 도메인 기수 및 가수 데이터를 취하고, 이를 PCM 오디오 데이터로 디코딩하도록 동작한다. PCM 오디오 데이터는 사용자 선택 모드, 동적 범위 압축 및 다운믹싱 모드에 기초하여 랜더링된다.
일 실시예에서, FED 모듈은 FED 모듈의 동작 메모리로부터 분리된 메모리-외부 메모리라 불리는-에 기수 및 가수 데이터를 저장하고, BED 모듈은 지연 버퍼 요구들 및 다운믹싱을 최소화하기 위해 각 블록에 순차로 프레임 프로세싱을 사용한다. 그리고, BED 모듈은 FED 모듈의 출력의 호환을 위해, 외부 메모리로부터 프로세스에 대해 기수 및 가수를 액세스하기 위해 전달한다.
존재하는 저장 매체의 형태의 일 실시예에서, BED 모듈은 프로세싱 시스템의 하나 이상의 프로세서에 의해 실행되는 존재하는 저장 매체에 저장된 소프트웨어 인스트럭션들을 포함한다. 이는 본 문헌에서 BED 모듈의 동작을 위해 상세하게 제공되는 동작을 유발한다. 하드웨어 구현에서, BED 모듈은 BED 모듈의 동작에 대해 본 문헌에서 제공되는 상세한 설명에 기술된 행위들을 수행하기 위한 동작을 구성하는 요소들을 포함한다.
도 5a는 BED 프로세싱이 수행됨으로 인해 실행되는 메모리에 저장된 인스트럭션의 세트로써 구현되는 BED 모듈(500)의 일 실시예의 간략화된 블록 다이어그램을 보인다. 도 5b는 또한 BED 모듈(500)에 대한 인스트럭션을 위한 슈도코드를 보인다. BED 모듈(500)은 다음의 모듈들을 포함한다. 각각은 인스트럭션을 포함하며, 그러한 인스트럭션들에 대해 정의한다.
동적 범위 제어: 동적 범위 제어 모듈은 인스트럭션을 제공하고, 이는 실행될 때, 디코딩된 신호의 동적 범위를 제어하기 위한 기능들을 수행하도록 하며, 이는 이득 레인징(gain ranging)을 적용하고, 동적 범위 제어를 적용하는 것을 포함한다.
변환: 변환 모듈은 인스트럭션을 제공한다. 이는 실행될 때, 역변환을 수행하도록 한다. 이는 역 변조 이산 코사인 변환(IMDCT, inverse modified discrete cosine transform)을 수행하는 것을 포함하며, 이는 IDCT 변환을 산출하는 것에 사용되는 프리로테이션(pre-rotation)을 수행하는 것, IDCT 변환을 산출하는 것에 사용되는 포스트로테이션(post-rotation)을 수행하는 것 및 IFFT를 판단하는 것을 포함한다.
임시 프리-노이즈 프로세싱: 임시 프리-노이즈 프로세싱 모듈은 인스트럭션을 제공하며, 이는 실행될 때, 임시 프리-노이즈 프로세싱을 수행하도록 한다.
윈도우 & 오버랩-추가: 지연 버퍼를 가지는 윈도우 및 오버랩-추가 모듈은 인스트럭션을 제공하며, 실행될 때, 윈도우잉을 수행하도록 하며, 역변환된 샘플들로부터 출력 샘플들을 재수립하는 오버랩/추가 동작을 수행하도록 한다.
시간 도메인(TD, time domain) 다운믹싱: TD 다운믹싱 모듈은 인스트럭션들을 제공한다. 이는 실행될 때, 적은 수의 채널들이 필요하도록 시간 도메인에서 다운믹싱을 수행한다.
도 6은 어떻게 도 5a에 보인 코드 및 서브모듈 요소들이 BED 모듈의 기능들을 수행하기 위해 협동하는지 설명하는 도 5a의 BED 모듈(500)의 일 실시예의 동작을 위한 간략화된 데이터 흐름도를 보인다. 이득 제어 기능 요소(603)는 FED 모듈(300)로부터 기수 및 가수 데이터를 얻으며, 어떤 요구되는 동작 범위 제어, 다이알로그 정규화 및 가수에 따른 이득 레인징을 적용한다. 결과에 따른 기수 및 가수 데이터는 역변환을 위한 변환 계수를 생성하는 기수 기능 요소(605)에 의해 역정규화된 가수에 의해 얻어진다. 역변환 기능 요소(607)는 프리-윈도우잉 및 오버랩-추가된 시간 샘플들을 생성하기 위한 변환 계수들에 대해 IMDCT를 적용한다. 그러한 선(pre) 오버랩-추가 시간 도메인 샘플들은 여기서, "슈도-시간 도메인(pseudo-time domain)" 샘플들로 일컫는다. 이러한 샘플들은 슈도-시간 도메인(pseudo-time domain)이라 일컫는다. 이들은 슈도-시간 도메인 샘플들에 대해 윈도우잉 및 오버랩-추가 동작에 의해 PCM 샘플들을 생성하는 윈도우잉 및 오버랩-추가 기능 요소(609)에 의해 얻어진다. 어떤 임시 프리-노이즈 프로세싱이 가수에 따라 임시 프리-노이즈 프로세싱 기능 요소(611)에 의해 적용된다. 만약, 예컨대, 메타데이터 또는 그 외의 것들에서, 특정된다면, PCM 샘플들을 임시 프리-노이즈 프로세싱한 후의 결과는 다운믹싱 기능 요소들(613)에 의한 PCM 샘들의 출력 채널의 수 M.m으로 다운믹싱된다.
다시 도 5a를 참조하면, BED 모듈 프로세싱에 대한 슈도 코드는 데이터의 각 블록에 대해, 외부의 메모리로부터 채널의 블록들을 위한 가수 및 지수 데이터를 전송하는 것을 포함한다. 그리고 각 채널을 위해, 메타데이터에 따라, 어떤 얻어진 동적 범위 제어, 다이알로그 정규화, 및 이득 레인징을 적용하는 단계; 역변환에 대한 변환 계수를 생성하기 위해 기수에 의해 가수를 역정규화하는 단계; 슈도-시간 도메인 샘플들을 생성하기 위해 변환 계수에 IMDCT를 컴퓨터 계산하는 단계; 슈도-시간 도메인 샘플들에 윈도우잉 및 오버랩-추가 동작을 적용하는 단계; 메타데이터에 따라 어떤 임시 프리-노이즈 프로세싱을 적용하는 단계; 및 만약, 요구되면, PCM 샘플들의 출력 채널의 수 M.m에 대해 시간 도메인 다운믹싱하는 단계;를 포함한다.
도 5a에 보인 디코딩 실시예는 메타데이터에 따라 다이알로그 정규화 옵셋을 적용하는 것에 따른 그러한 이득 조절을 수행하는 것 및 메타데이터에 따라 동적 범위 제어 이득 팩터들을 적용하는 것을 포함한다. 데이터가 주파수 도메인에서 가수 및 기수 형태로 제공되는 스테이지에서 그러한 이득 조절들은 유리하다. 이득 변화는 시간에 걸쳐 다양하다. 그리고, 역변환 및 윈도우잉/오버랩-추가 동작이 발생하면, 주파수 도메인에서 만들어지는 그러한 이득 변화는 유연한 크로스-페이드(smooth cross-fades)를 초래한다.
임시
프리
-
노이즈
프로세싱
E-AC-3 인코딩 및 디코딩은 AC-3 보다 적은 데이터 레이트에서 더 나은 오디오 품질을 제공하고 동작하기 위해 설계된다. 코딩된 오디오의 적은 데이터 레이트 오디오 품질은 특히, 비교적 코딩하기 어려운(difficult-to-code), 임시 물질에 대해서, 부정적인 영향을 미칠 수 있다. 이러한 오디오 품질에 대한 영향은 주로 이러한 형식들의 신호를 정확하게 코딩하기 위해 필요한 데이터 비트들의 수가 제한되기 때문이다. 임시의 코딩 결과물은 코딩 양자화 에러에 기인한 인코딩 윈도우에 걸쳐 들리는 잡음을 지우는(smears) "임시 프리-노이즈" 결과물과 임시 신호의 선명도를 감소시키는 것처럼 보인다.
앞서 도 5 및 도 6에서 설명한 바와 같이, BED 모듈은 임시 프리-노이즈 프로세싱을 제공한다. E-AC-3 인코딩은 임시 프리-노이즈 프로세싱 코딩을 포함한다. 임시 프리-노이즈에 따른 결과물을 감소시키기 위해, 그 결과물은 트랜지언트(transient)를 포함하는 오디오가 임시 프리-노이즈에 앞서 위치한 오디오를 이용하여 동기된 오디오를 적합한 오디오 부분으로 교체됨으로써 인코딩되었을 때, 제공될 수 있다. 오디오는 시간 스케일링 합성을 이용하여 처리되며, 이의 기간(구간)은 임시 프리 노이즈를 포함하는 오디오를 교체하기 위하여 적합한 길이(구간)로 증가된다. 오디오 합성 버퍼는 오디오 신(scene) 분석 및 최대 유사 프로세싱을 이용하여 분석되며, 그런 다음, 시간 스케일링된다. 이에 따라, 이의 기간은 임시 프리 노이즈를 포함하는 오디오를 교체할 수 있을 정도로 증가된다. 증가된 길이의 합성된 오디오는 임시 프리 노이즈를 교체하기 위하여 사용되며, 원래의 코딩된 오디오 데이터 내의 합성된 오디오로부터 유연한 트렌지언트(transient)를 보장하기 위하여 단지 트렌지언트의 위치의 앞에 존재하는 임시 프리 노이즈 내로 크로스 페이딩된다. 임시 프리 노이즈 프로세싱에 의하여, 블록-스위칭이 비활성화되는 경우이더라도, 임시 프리 노이즈의 길이는 상당히 감소되거나, 제거된다.
어느 하나의 E-AC-3 인코더의 실시예에서, 시간 스케일링 합성 분석 및 임시 프리-노이즈 프로세싱 툴을 위한 프로세싱은 시간 도메인 데이터에서 메타데이터 정보를 결정하기 위하여 수행된다. 이 정보는 시간 스케일링 파라미터들을 포함한다. 메타데이터 정보는 인코딩된 비트스트림과 함께 디코더에 의해 수신된다. 전송된 임시 프리 노이즈 메타데이터는 낮은 데이터 레이트에서 낮은 비트 레이트 오디오 코딩에 의해 제공되는 임시 프리 노이즈를 감소시키거나, 제거하기 위하여, 디코딩된 오디오 상에서 시간 도메인 프로세싱을 수행하기 위해 사용된다.
E-AC-3 인코더는 각각의 감지된 트렌지언트에 대해, 오디오 콘텐츠를 기초로, 시간 스케일링 합성 분석 및 시간 스케일링 파라미터들을 결정한다. 시간 스케일링 파라미터들은 인코딩된 오디오 데이터와 함께 추가 메타데이터로 전송된다.
E-AC-3 디코더에서, E-AC-3 메타데이터에서 제공되는 최적의 시간 스케일링 파라미터들은 임시 프리 노이즈 프로세싱에 이용하기 위하여, 수용된 E-AC-3 메타데이터의 일부로서 수신한다. 디코더는 E-AC-3 메타데이터로부터 얻어진 전송된 시간 스케일링 파라미터들을 이용하여 오디오 버퍼 스플리싱(splicing) 및 크로스 페이딩을 수행한다.
최적의 시간 스케일링 정보을 이용하고, 이를 적합한 크로스 페이딩 프로세싱에 적용하는 것에 의해, 낮은 비트 레이트의 오디오 코딩에 의해 제공된 임시 프리 노이즈는 디코딩에서 급격히 감소되거나, 또는, 제거된다.
따라서 임시 프리 노이즈 프로세싱은 프리 노이즈에 원래의 콘텐츠에 가장 근접하게 닯은 오디오 부분을 덮어쓰기(overwrite)하는 것이다. 임시 프리 노이즈 프로세싱 인스트럭션은, 실행될 때, 복수를 위해 4개의 블록 지연 버퍼를 사용한다. 임시 프리 노이즈 프로세싱 인스트럭션은, 실행될 때, 덮어쓰기가 발생하는 경우에, 덮어쓰기된 프리 노이즈 상의 안과 밖에 크로스 페이딩을 수행하도록 한다.
다운믹싱
E-AC-3 비트스트림에서 인코딩된 채널들의 수는 N.n에 의해 나타내어진다. N은 메인 채널들의 수이며, n=0 또는 1은 LFE 채널들의 수이다. 종종, 이는 메인 채널들을 출력의, M으로 나타내어지는, 작은 수로 N 메인 채널들을 다운믹싱하는 것이 요구된다. M<N, N에서 M 채널들로 다운믹싱하는 것은 본 발명의 실시예에 의해 지지된다. M>N의 경우에, 업믹싱(Upmixing) 또한 가능하다.
따라서, 가장 일반적인 구현에서, 오디오 디코더 실시예는 디코딩된 오디오의 M.m 채널들을 포함하는 오디오 데이터를 디코딩하기 위해 인코딩된 오디오 데이터의 N.n 채널들을 포함하는 오디오 데이터를 디코딩하도록 동작한다. 여기서, M>1, n, m은 각각 입력, 출력에서 LFE 채널들의 수를 나타낸다. 다운믹싱은 M<N의 경우이며, 다운믹싱 계수들의 세트에 의하여 M<N의 경우에 포함된다.
주파수 도메인
vs
. 시간
도메인 다운
믹싱
다운믹싱은 주파수 도메인에서 역변환 이전에 수행되고, 주파수 도메인에서 역변환 이후에 수행될 수 있다. 하지만, 오버랩-추가 블록 프로세싱의 경우, 윈도우잉 및 오버랩-추가 동작 이전에, 또는, 시간 도메인에서 윈도우잉 및 오버랩-추가 동작 후에 수행된다.
주파수 도메인(FD) 다운믹싱은 시간 도메인 다운믹싱에 비해 매우 효율적이다. 이의 효율은, 예컨대, 다운믹싱 과정에 이어서 수행되는 어떤 프로세싱 과정은 오직 채널들의 남겨진 번호 상에서만 수행될 수 있다는 사실로부터 저지(stems)된다. 이는 다운믹싱 후에 일반적으로 낮아진다. 따라서, 다운믹싱 과정에 이어서 수행되는 모든 프로세싱 과정들의 컴퓨터 상 복잡도는 적어도 입력 채널 대 출력 채널들의 비율에 의하여 감소된다.
예를 들면, 스테레오 다운믹싱을 위한 5.0 채널을 고려한다. 이러한 경우, 어떤 후속 프로세싱 과정의 컴퓨터상 복잡도는 약 5/2=2.5 의 팩터에 의해 감소될 것이다.
시간 도메인(TD) 다운믹싱은 E-AC-3 디코더들에 사용되며, 도 5A 및 도 6에서 도시되고 앞서 설명된 실시예에 있다. 전형적인 E-AC-3 디코더들이 시간 도메인 다운믹싱을 사용하는 3개의 주요 이유가 있다.
다른 블록 형식을 가지는 채널들
인코딩된 오디오 콘텐츠에 따라, E-AC-3 인코더는 2개의 다른 블록 형식들 - 짧은 블록 및 긴 블록 - 사이에서 오디오 데이터를 오디오 데이터를 분할하기 위하여 선택할 수 있다. 고조파(Harmonic)이며, 느리게 변하는 오디오 데이터는 긴 블록들을 이용하여 분할되고 인코딩되며, 반면, 임시 신호들은 짧은 블록들을 이용하여 분할되고, 인코딩된다. 결과적으로, 짧은 블록들 및 긴 블록들의 주파수 도메인의 표현은 내재적으로 다르며, 주파수 도메인 다운믹싱 동작에서 합성될 수 없다.
블록 형식 특정 인코딩 과정이 디코더에서 되돌려진(undo) 후, 채널은 함께 혼합될 수 있다. 그러므로 블록-스위치된 변환의 경우에서, 다른 부분 역 변환 프로세스가 사용되며, 2개의 다른 변환의 결과들은 위도우 스테이지 전 까지 직접적으로 합성된다.
하지만, 짧은 길이 변환 데이터를 긴 주파수 도메인 데이터로 처음 변환하기 위한 방법들이 알려져 있다. 이러한 경우, 다운믹싱은 주파수 도메인에서 수행될 수 있다. 그럼에도 불구하고, 가장 잘 알려진 디코더 구현에서, 다운믹싱은 다운믹싱 계수에 따른 역 변환 후에 수행된다.
업-
믹싱
출력 메인 채널들의 수가 입력 메인 채널들의 수 보다 높으면, M>N, 시간 도메인 믹싱 접근이 유익하다. 이는 업믹싱 과정을 프로세싱의 끝으로 이동시킴에 따라, 프로세싱에서 채널들의 수를 감소시킨다.
TPNP
임시 프리-노이즈 프로세싱(TPNP)의 대상인 블록들은 주파수 도메인에서 다운믹싱되지 않을 수 있다. 왜냐하면, TPNP는 시간 도메인상에서 동작하기 때문이다. TPNP는 PCM 데이터(1024 샘플들)의 최대 4개의 블록까지의 히스토리를 요구한다. 이는 TPNP가 적용된 채널에 대해서 반드시 제공되어야 한다. 따라서 시간 도메인 다운믹싱으로 스위칭 하는 것은 PCM 데이터 히스토리를 메우고, 프리-노이즈 치환을 수행하는 것이 필요하다.
주파수 도메인 및 시간 도메인
다운믹싱
둘 모두를 이용한
하이브리드
다운믹싱
본 발명은 대부분의 코딩된 오디오 신호들에서 채널들이 90% 이상의 시간 동안 동일한 블록 형식을 사용하는 것을 인지한다. 이는 더욱 효율적인 주파수 도메인 다운믹싱(FD, frequency domain)이 전형적인 코딩된 오디오에서 동작하는 것을 의미한다. 이는 TPNP는 존재하지 않는 것으로 가정한다. 나머지 10% 또는 그 미만은 전형적인 종래 기술의 E-AC-3 디코더에서 일어나는 것과 같은, 시간 도메인(TD, Time Domain) 다운믹싱이 요구된다.
본 발명의 실시예는 어떤 다운믹싱 방법을 적용할지 각 블록을 순차로 판단하기 위한 다운믹싱 방법 선택 논리 및 개별 다운믹싱 방법을 적합하게 적용하기 위한 시간 도메인 다운믹싱 논리와 주파수 도메인 다운믹싱 논리를 포함한다. 따라서 방법의 실시예는 각 블록에 대해 순차로 주파수 도메인 다운믹싱을 적용할지 또는 시간 도메인 다운믹싱을 적용할지 여부를 결절하는 것을 포함한다. 다운믹싱 방법 선택 논리는 주파수 도메인 다운믹싱을 적용할지 또는 시간 도메인 다운믹싱을 적용할지 여부를 판단하도록 동작하고, 어떤 임시 프리-노이즈 프로세싱이 존재하는지 판단하고, 어떤 N개의 채널들이 다른 븍록 형식을 가지는지 판단하는 것을 포함한다. 선택 논리는 주파수 도메인 다운믹싱이 N개의 채널들에서 동일한 블록 형식, 임시 프리-노이즈 프로세싱이 아닌 것 및 M<N을 가지는 블록에 대해서만 적용되는지 판단한다.
도 5b는 BED 프로세싱이 수행되는 것을 유발하도록 실행될때, 메모리에 저정된 인스트럭션들의 세트로 구현되는 BED 모듈(520)의 일 실시예의 간략한 블록도를 보인다. 도 5b는 또한 BED 모듈(520)을 위한 인스트럭션들에 대한 슈도코드를 보인다. BED 모듈(520)은 단지 시간 도메인 다운믹싱을 이용하는 도 5a에 보인 모듈들을 포함하며, 다음의 추가 모듈들을 포함하고, 각각이 인스트럭션들을 포함하며, 그러한 인스트럭션들에 대한 정의가 내려진다:
다운믹싱 방법 선택 모듈은 다음의 사항을 검사한다. (i) 블록 형식의 변경; (ii) 업믹싱이 아닌, 진짜의 다운믹싱이 아닌 것이 존재하는지 여부(M<N); 및 (iii) 블록이 TPNP을 조건으로 하는지 여부를 검사한다. 그리고, 이러한 것들의 모두가 참이면, 주파수 도메인 다운믹싱을 선택한다. 이 모듈은 주파수 도메인 다운믹싱을 적용할지 또는 시간 도메인 다운믹싱을 적용할지에 대해 각 블록을 순차로 판단한다.
주파수 도메인 다운믹싱 모듈은 기수에 의한 가수의 역정규화 후에, 주파수 도메인 다운믹싱을 수행한다. 주파수 도메인 다운믹싱 모듈 또한 시간 도메인 다운믹싱이 프리코딩 블록에 사용되는지를 검사하는 시간 도메인에서 주파수 도메인으로 이행하는 이행 논리 모듈을 포함한다. 이 경우의 블록은 아래에서 더 상세하게 설명된 것과 같이 다르게 조작된다. 추가로, 이행 로직 모듈은 또한, 어떤, 비-규칙적으로 재발생되는 이벤트들, 예컨대, 채널들을 패이딩 아웃(fading out)하는 것과 같은 프로그램 변경에 관련된 프로세싱 과정들을 처리한다.
주파수 도메인에서 시간 도메인으로 다운믹싱하는 것을 이행하는 이행 논리 모듈은 프리코딩블록에 주파수 도메인 다운믹싱이 사용되는지를 검사한다. 이러한 경우에 블록은 아래에서 더 상셍하게 설명될 것과 같이 다르게 처리된다. 추가로, 이행 로직 모듈은 또한, 어떤, 비-규칙적으로 재발생되는 이벤트들, 예컨대, 채널들을 패이딩 아웃(fading out)하는 것과 같은 프로그램 변경에 관련된 프로세싱 과정들을 처리한다.
게다가, 도 5a의 모듈들은 하이브리드 다운믹싱을 포함하는 실시예와 다른 방식으로 동작할 수 있다. 즉, 주파수 도메인 및 시간 도메인 다운믹싱은 현재 블록에 대한 하나 이상의 조건들에 따른다.
도 5b의 슈도 코드를 참조하면, BED 방법의 어떤 실시예는 외부의 메모리로부터 블록들의 프레임의 데이터를 전달한 후, 주파수 도메인 다운믹싱인지 또는 시간 도메인 다운믹싱 인지를 확인하는 것을 포함한다. 주파수 도메인 다운믹싱의 경우, 각 채널들에 대한 방법은 (i) 동작 범위 제어 및 다이알로그 정규화를 적용하고, 하지만, 아래에서 논의될 것과 같은, 이득 레인징(gain ranging)를 비활성화시키는 단계; (ii) 기수에 의해 가수를 역정규화시키는 단계; (iii) 주파수 도메인 다운믹싱을 수행하는 단계; 및 (iv) 패이딩 아웃된 채널들이 존재하는지 또는 이전 블록이 시간 도메인 다운믹싱에 의해 다운믹싱되었는지를 확인하는 단계;를 포함한다. 이 경우에, 프로세싱은 아래에서 더 상세하게 설명될 것과 같이 다르게 수행된다. 시간 도메인 다운믹싱의 경우에서, 그리고, 또한, 주파수 도메인 다운믹싱된 데이터의 경우, 프로세스는, 각 채널에 대해, (i) 이전 블록이 주파수 도메인 다운믹싱된 경우에, 블록들을 주파수 도메인 다운믹싱되도록 다르게 처리하고, 또한, 어떤 프로그램 변화들을 처리하는 단계; (ii) 역 변환을 판단하는 단계; (iii) 윈도우 오버랩 추가를 수행하는 단계; 그리고, 시간 도메인 다운믹싱의 경우에, (iv) 적합한 출력 채널에 대해 TPNP 및 다운믹싱을 수행하는 단계;를 포함한다.
도 7은 단순 데이터 흐름도를 보인다. 3개의 조건들에 대해 테스트하는 다운믹싱 방법 선택 논리에 대응하는 블록(701): 블록 형식 변경, TPNP, 또는 업믹싱, 그리고 어떠한 조건은 참이면, 프로그램 변경 프로세싱, 주파수 도메인 다운믹싱에 의해 처리된 블록의 바로 다음에 발생하는 블록을 723에서 다르게 처리하는 주파수 도메인 이행 로직을 포함하는 시간 도메인 다운믹싱 브랜치(721)로 데이터흐름을 지시한다. 그리고, 725에서, 기수에 의해 가수를 역정규화(denormalizing)한다. 블록(721) 후의 데이터 흐름은 일반 프로세싱 블록(731)에 의해 처리된다. 만약, 다운믹싱 방법 선택 논리 블록(701)이 상기 블록이 FD 다운믹싱에 대해 이득 레인징(gain ranging)를 비활성화시키는 주파수 도메인 다운믹싱 프로세스(713)을 포함하는 FD 다운믹싱 프로세싱(711)으로 데이터흐름을 분기시키는것을 판단하는 것을 테스트하면, 각 채널에 대해, 기수에 의해 가수를 역정규화시키고, FD 다운믹싱을 수행한다. TD 다운믹싱 이행 로직 블록(715)은 이전 블록이 TD 다운믹싱에 의해 처리되었는지 판단하고, 그러한 블록을 다르게 처리하고, 패이딩 아웃 채널들과 같이, 프로그램 변경을 검출 및 처리한다. TD 다운믹싱 이행 블록(715) 후의 데이터흐름은 일반 프로세싱 블록(731)과 동일하다.
일반 프로세싱 블록(731)은 역 변환 및 어떤 추가 시간 도메인 프로세싱을 포함한다. 추가 시간 도메인 프로세싱은 이득 레인징(gain ranging)를 되돌리고, 및 윈도우잉 및 오버랩 및 프로세싱을 수행하는 것을 포함한다. 블록이 TD 다운믹싱 블록(721)로부터의 것이라면, 추가 시간 도메인 프로세싱은 TPNP 프로세싱 및 시간 도메인 다운믹싱을 포함한다.
도 8은 도 7에서 보인 것과 같은 BED 모듈에 대한 프로세싱의 일 실시예의 흐름도를 보인다. 유사한 각각의 기능 데이터 흐름 블록들에 대해 도 7에서와 같이 동일한 레퍼런스 번호들이 사용된 상기 흐름도는 다음과 같이 분할되었다: 주파수 도메인 다운믹싱이 1일 때 논리 플래그 FD_dmx가 사용되는 다운믹싱 방법 선택 논리 부분(701)은 블록에 대해 사용된다. 프로그램 변경 프로세스가 수행되고, FD 다운믹싱에 의해 처리된 블록 바로 다음에 발생하는 블록을 다르게 처리하기 위한 프로그램 변경 논리 부분(723) 및 FD 다운믹싱 이행 논리를 포함하는 TD 다운믹싱 논리 부분(721), 그리고, 각 입력 채널에 대해 기수에 의해 가수를 역정규화하기 위한 부분을 포함한다. 블록(721) 후의 데이터흐름은 공통 프로세싱 부분(731)에 의해 처리된다. 다운믹싱 방법 선택 논리 블록(701)이 블록이 FD 다운믹싱에 대한 것이라고 판단하면, 데이터흐름은 FD 다운믹싱 프로세싱 부분(711)으로 분기된다. FD 다운믹싱 프로세싱 부분(711)은 이득 레인징(gain ranging)를 비활성화시키는 FD 다운믹싱 프로세싱을 수행하고, 각 채널에 대해, 기수에 의한 가수를 역정규화시키며, FD 다운믹싱을 수행한다. 그리고, TD 다운믹싱 이행 로직 부분(715)은 이전 블록의 각 채널에 대해 채널 패이딩 아웃이 존재하는지 또는 이전 블록이 TD 다운믹싱에 의해 처리되었는지를 판단하고, 그러한 블록을 다르게 처리한다. TD 다운믹싱 이행 부분(715) 이후의 데이터 흐름은 공통 프로세싱 논리 부분(731)과 동일하다. 공통 프로세싱 논리 부분(731)은 각 채널에 대해 역변환 및 추가 시간 도메인 프로세싱을 포함한다. 추가 시간 도메인 프로세싱은 이득 레인징(gain ranging)를 되돌리는 것 및 윈도우잉 및 오버랩-추가 프로세싱을 포함한다. TD 다운믹싱을 나타내는 FD-dmx가 0이면, 731에서 추가 시간 도메인 프로세싱은 또한, 어떤 TPNP 프로세싱 및 시간 도메인 다운믹싱을 포함한다.
FD 다운믹싱 후에, TD 다운믹싱 이행 논리 부분(715), 817에서, 입력 채널들 N의 수가 출력 채널들 M의 동일한 수로 설정되며, 그래서 프로세싱의 리마인더(remainder), 예컨대, 공통 프로세싱 논리 부분(731)에서 프로세싱이 오직 다운믹싱된 데이터에서 수행된다. 이는 컴퓨터 계산의 양을 줄인다. 물론, TD 다운믹싱되는 블록으로부터 이행이 존재할 때, 이전 블록으로부터 데이터의 시간 도메인 다운믹싱은 -그러한 TD 다운믹싱은 부분(715)에서 819와 같이- 다운믹싱에 포함되는 N개의 입력 채널들의 그것들 모두에 수행된다.
이행 처리
디코딩에서, 오디오 블록들 간의 유연한 이행을 가지는 것이 필요하다. EAC-3 및 많은 다른 인코딩 방법은 겹쳐진 변환(lapped transform), 예, 50% 오버랩된 MDCT를 사용한다. 따라서, 현재 블록을 프로세싱할 때, 이전 블록과 50% 오버랩된 것이 존재한다. 게다가, 시간 도메인에서 다음 블록과 50% 오랩된된 것이 존재한다. 본 발명의 일 실시예에서 오버랩-추가 버퍼를 포함하는 오버랩-추가 논리가 사용된다. 현재 블록이 프로세싱될 때, 오버랩-추가 버퍼는 이전 오디오 블록으로부터 데이터를 포함한다. 왜냐하면, 이는 오디오 블록들간의 유연한 이행을 가지는 것이 필요하기 때문에, 논리는 TD 다운믹싱에서 FD 다운믹싱으로, 그리고, FD 다운믹싱으로부터 TD 다운믹싱으로 다른 이행들을 처리하는 것에 포함된다.
도 9는 공통으로 포함되는 5개의 채널 오디의 블록 k, k+1, ... , k+4에 의해 나타내어지는 5개의 블록들을 처리하는 예를 보인다: C, R, LS 및 RS에 의해 각각 나타내어지는, 왼쪽, 중간, 오른쪽, 왼W고 서라운딩 및 오른쪽 서라운딩, 공식을 이용하여 스테레오 혼합을 위해 다운믹싱한다:
왼쪽 출력은 L'=aC+bL+cLS로 표현되며, 오른쪽 출력은 R'= aC+bR+cRS로 표현된다.
도 9는 비-오버랩된 변환이 사용되는 것으로 가정한다. 각 사각형은 블록의 오디오 콘텐츠를 나타낸다. 왼쪽에서 오른쪽으로 수평 축은 블록들 k, ... , k+4를 나타내고, 위에서 아래로의 수직 축은 데이터의 디코딩 진행을 나타낸다. 블록 k가 TD 다운믹싱에 의해 처리된다고 추정하면, 블록들 k+1 및 k+2는 FD 다운믹싱에 의해 처리되며, 블록들 k+3 and k+4는 TD 다운믹싱에 의해 처리된다. 보인 바와 같이, TD 다운믹싱 블록들의 각각에 대해, 다운믹싱된 L' 및 R' 채널들인 콘텐츠 이후에, 아래로의 시간 도메인 다운믹싱 후에는, 다운믹싱은 발생되지 않는다. 반면, FD 다운믹싱된 블록에 대해, 주파수 도메인에서 왼쪽 및 오른쪽 채널들은 주파수 도메인 다운믹싱 후에 다운믹싱되며, C, LS 및 RS 채널 데이터는 무시된다. 왜냐하면, 블록들 사이에 오버랩은 없으며, TD 다운믹싱에서 FD 다운믹싱으로, 또는, FD 다운믹싱에서 TD 다운믹싱으로 스위칭될 때, 어떠한 특별한 경우에 대한 처리도 요구되지 않기 때문이다.
도 10은 50% 오버랩된 변환의 경우를 도시한다. 오버랩-추가하는 것은 오버랩-추가 버퍼를 이용하여 오버랩-추가 디코딩에 의해 수행된다고 가정한다. 이 도면에서, 2개의 삼각형들로 데이터 블록을 나타낼 때, 왼쪽 아래의 삼각형은 이전 블록으로부터 오버랩-추가된 버퍼의 데이터이다. 반면, 오른쪽 위의 삼각형은 현재 블록의 데이터를 보인다.
TD
다운믹싱에서
FD
다운믹싱으로
이행을 위한 이행 처리
TD 다운믹싱된 블록의 바로 다음에 FD 다운믹싱된 블록인 블록 k+1를 고려한다. TD 다운믹싱 후, 오버랩-추가 버퍼는 현재 블록에 포함되는 것이 필요한 마지막 블록으로부터 L, C, R, LS 및 RS 데이터를 포함한다. 또한, 이미 FD 다운믹싱된, 현재 블록 k+1의 원인(contribution)이 포함된다. 출력에 대한 다운믹싱된 PCM 데이터를 적합하게 판단하기 위하여, 현재 블록 및 이전 블록의 데이터가 포함되는 것이 필요하다. 이를 위해, 이전 블록의 데이터가 채워지는(flushed out) 것이 필요하며, 왜냐하면, 이는 아직 다운믹싱되지 않았기 때문에, 시간 도메인에서 다운믹싱된다. 2개의 컨트리뷰션이 출력을 위해 다운믹싱된 PCM 데이터를 판단하기 위해 추가되는 것이 필요하다. 이 프로세싱은 도 5b에 보인 FD 다운믹싱 모듈에 포함된 TD 다운믹싱 이행 논리의 코드에 의해 도 7 및 도 8의 TD 다운믹싱 이행 논리(715)에 포함된다. 그 안에서 수행되는 프로세싱은 도 8의 TD 다운믹싱 이행 논리 부분(715)에서 요약된다. 더욱 상세하게, TD 다운믹싱에서 FD 다운믹싱으로 이행하는 이행 처리는 다음을 포함한다.
● 오버랩-추가 및 윈도우잉을 수행하고, 오버랩-추가 논리로 0을 피딩(feeding)하는 것에 의해 오버랩 버퍼들을 플러싱한다(flush). 오버랩-추가 논리로부터 플러싱된 출력을 복사한다. 이는 다운믹싱 이전의 개별 채널의 이전 블록의 PCM 데이터이다.
● 이전 블록의 TD 다운믹싱된 PCM 데이터를 생성하기 위하여 오버랩 버퍼들로부터 PCM 데이터를 시간 도메인 다운믹싱한다.
● 현재 블록으로부터 새로운 데이터의 주파수 도메인 다운믹한다. FD 다운믹싱 및 역변환하여 오버랩-추가 논리를 생성한 후, 역변환을 수행하고 새로운 데이터를 제공(feed)한다. 현재 블록의 FD 다운믹싱의 PCM 데이터를 생성하기 위하여 새로운 데이터와 함께 윈도우잉 및 오버랩-추가 등을 수행한다.
● PCM 출력을 생성하기 위해 FD 다운믹싱 및 TD 다운믹싱의 PCM 데이터를 추가한다.
다른 실시예에서, 이전 블록에 TPNP가 존재하지 않는 것으로 가정하면, 오버랩-추가 버퍼들의 데이터는 다운믹싱되고, 그런 다음, 다운믹싱된 출력 채널들에 오버랩-추가 동작이 수행된다. 이는 각 이전 블록 채널에 대한 오버랩-추가 동작을 수행하는 것이 요구되는 것을 피한다. 게다가, 앞서 AC-3 디코딩에서 설명한 바와 같이, 256 PCM 출력 샘플들을 생성하기 위해서 다운믹싱 버퍼 및 이의 대응하는 128-샘플 긴 하프-블록 지연 버퍼가 사용되며, 윈도우잉되고, 합성될 때, 다운믹싱 동작은 지연 버퍼는 256이라기 보다는 오직 128 샘플들이기 때문에 단순화된다. 이러한 측면은 이행 프로세싱에 내재된 컴퓨터 계산의 복잡도의 피크치를 감소시킨다. 그러므로, 일 실시예에서, 데이터가 TD 다운믹싱된 다음의 블록이 FD 다운믹싱된 개별 블록에 대해, 이행 프로세싱은 개별 블록의 디코딩된 데이터로 오버랩되는 이전 블록의 데이터에 대해 슈도-시간 도메인에서 다운믹싱을 적용하는 것을 포함한다.
FD
다운믹싱에서
TD
다운믹싱으로의
이행을 위한 이행 처리
FD 다운믹싱 블록 k+2 바로 다음의 TD 다운믹싱 블록인 블록 k+3을 고려한다. 이전 블록이 FD 다운믹싱 블록임으로, 앞선 스테이지, 예컨대, TD 다운믹싱 이전에서 오버랩-추가 버퍼는 왼쪽 및 오른쪽 채널들에 다운믹싱된 데이터를 포함하고, 다른 채널들에는 데이터가 없다. 현재 블록의 컨트리뷰션들은 TD 다운믹싱 후까지 다운믹싱되지 않는다. 출력을 위해 다운믹싱된 PCM 데이터를 적합하게 판단하기 위하여, 현재 블록 및 이전 블록의 데이터가 포함되는 것이 필요하다. 이를 위하여, 이전 블록의 데이터가 채워지는 것이 필요하다. 현재 블록의 데이터는 시간 도메인에서 다운믹싱되는 것이 필요하고, 출력을 위해 다운믹싱된 PCM 데이터를 판단하기 위해 채워진(flushed out) 역 변환된 데이터에 추가되는 것이 필요하다. 이 프로세싱은 도 5b에서 보인 FD 다운믹싱 이행 논리 모듈에 코드에 의해, 그리고, 도 7 및 도 8의 FD 다운믹싱 이행 논리(723)에 포함된다. 그것 내에서 수행되는 프로세싱은 도 8의 FD 다운믹싱 이행 논리 부분(723)에서 요약된다. 더욱 상세하게는, 각 출력 채널에 대한 출력 PCM 버퍼들이 존재하는 것으로 추정되면, FD 다운믹싱에서 TD 다운믹싱으로의 이행에 대한 이행 처리는 다음을 포함한다.
● 오버랩-추가 및 윈도우잉을 수행하고, 오버랩-추가 논리로 0을 피딩(feeding)하는 것에 의해 오버랩 버퍼들을 플러싱한다(flush). 출력 PCM 버퍼로 출력을 복사한다. 플러싱된 데이터는 이전 블록의 FD 다운믹싱된 PCM 데이터이다. 이제, 오버랩 버퍼는 0들을 포함한다.
● 현재 블록의 미리 다운믹싱된(pre-downmixing) 데이터를 생성하기 위하여 현재 블록의 새로운 데이터의 역변환을 수행한다. 새로운 시간 도메인 데이터(변환 후)를 오버랩-추가 논리에 제공(feed)한다.
● 윈도우잉 및 오버랩-추가, 만약 있다면, TPNP 및 현재 블록의 TD 다운믹싱의 PCM 데이터를 생성하기 위한 현재 블록으로부터 새로운 데이터와 TD 다운믹싱을 수행한다.
● PCM 출력을 생성하기 위하여, FD 다운믹싱 및 TD 다운믹싱의 PCM 데이터를 추가한다.
TD 다운믹싱에서 FD 다운믹싱으로의 이행에 추가하여, 시간 도메인 다운믹싱 이행 논리 및 프로그램 변경 처리기에서 프로그램 변경들이 처리된다. 새로이 최근에 만들어진 채널들은 다운믹싱에 자동으로 포함된다. 따라서 어떤 특별한 처리도 필요하지 않다. 새로운 프로그램에서 길게 존재하지 않는 채널들은 페이드 아웃(faded out)되는 것이 필요하다. 이는 페이딩 채널들의 오버랩 버퍼들을 플러싱(flushing out)하는 것에 의해, FD 다운믹싱의 경우에 대해, 도 8의 부분(715)에 보인바와 같이, 수행된다. 플러싱(flushing out)은 오버랩-추가 논리에 0을 공급하고, 윈도우잉 및 오버랩-추가를 수행하는 것에 의해 수행된다.
나타내어진 흐름도 및 일 실시예를 언급하면, 주파수 도메인 다운믹싱 논리 부분(711)은 주파수 도메인 다운믹싱된 부분인 모든 채널들에 대해 선택적인 이득 레인징(gain ranging) 특징을 비활성화시키는 것을 포함한다. 채널들은 채널의 스펙트럼 계수의 다른 스케일링을 유도하는 다른 이득 레인징(gain ranging) 파라미터들을 가진다. 따라서, 다운믹싱을 방지한다.
대안적 구현에서, FD 다운믹싱 논리 부분(711)이 조작되어, 모든 이득들의 최소치가 (주파수 도메인) 다운믹싱된 채널에 대한 이득 레인징(gain ranging)을 수행하기 위해 사용되도록 한다.
다운믹싱
계수 변경 및 명시된
크로스
페이딩에
필요를 가지는 시간 도메인 다운믹싱
다운믹싱은 몇 가지 문제들을 낳는다. 다른 다운믹싱 방정식이 다른 환경에서 요구되며, 따라서, 다운믹싱 계수들은 신호 조건들에 기초하여 동적으로 변화되는 것이 필요하다. 메타데이터 파라미터들은 선택적 결과들에 대한 다운믹싱 계수들을 재단하는 것을 허용하는 것이 가능하다.
따라서 다운믹싱 계수들은 시간에 걸쳐 변경될 수 있다. 다운믹싱 계수들의 제1 세트로부터 다운믹싱 계수들의 제2 세트로 변화가 존재할 때, 데이터는 제1 세트로부터 제2 세트로 크로스 페이딩될(cross-faded) 수 있다.
다운믹싱이 주파수 도메인에서 그리고, 또한, 많은 디코더 구현들, 예컨대, 도 1에서 보인바와 같은, 종래 기술의 AC-3 디코더에서 수행될 때, 다운믹싱은 윈도우잉 및 오버랩-추가 동작들에 앞서 수행된다. 윈도우잉 및 오버랩-추가에 앞서 시간 도메인에서 또는, 주파수 도메인에서 다운믹싱이 수행되는 것의 이익은 오버랩-추가 동작들의 결과로써 내재하는 크로스-페이딩(cross-fading)이 존재한다는 것이다. 따라서 대부분에서 알려진 AC-3 디코더 및 디코딩 방법에서, 역변환 후 윈도우 도메인에서 또는, 하이브리드 다운믹싱 구현의 주파수 도메인에서, 다운믹싱이 수행되며, 명시된 크로스 페이딩 동작은 없다.
임시 프리-노이즈 프로세싱(TPNP) 및 시간 도메인 다운믹싱의 경우에서, 예컨대, 7.1 디코더에서, 프로그램 변화 이슈들에 의해 유발되는 임시 프리-노이즈 프로세싱 디코딩에 하나의 블록 지연이 존재한다. 그러므로, 본 발명의 실시에에서, 시간 도메인에서 다운믹싱이 수행되고, TPNP가 사용될 때, 윈도우잉 및 오버랩-추가 후에 시간 도메인 다운믹싱이 수행된다. 시간 도메인 다운믹싱의 경우에서 프로세싱 순서가 사용된다: 역변환(예, MDCT)이 수행되고, 윈도우잉 및 오버랩-추가가 수행되며, 어떤 임시 프리-노이즈 프로세싱 디코딩(지연 없음)이 수행되고, 그런 다음, 시간 도메인 다운믹싱된다.
그러한 경우에서, 시간 도메인 다운믹싱은 다운믹싱 계수에서 어떤 변화가 유연하게되도록 하는(smoothed out) 것을 보장하기 위해 이전의 크로스-페이딩 및 현재의 다운믹싱 데이터, 예컨대, 다운믹싱 계수 또는 다운믹싱 테이블을 요구한다.
하나의 선택(option)은 그 결과로 생긴 계수를 컴퓨터 계산하기 위한 크로스-페이딩 동작을 수행하는 것이다. c[i]에 의해 믹싱 계수의 사용을 나타낸다. 여기서, i는 256 시간 도메인 샘플들의 시간 인덱스를 나타낸다. 그래서, 그 범위는 i= 0, ... , 255이다. w2 [i]에 의해 양의 윈도우 함수를 나타낸다. i=0, ... ,255일 때, w2 [i] + w2 [255 - i] = 1이다. Cold에 의해 프리-업데이트 믹싱 계수(pre-update mixing coefficient)를 나타내며, Cnew에 의해 업데이트된 믹싱 계수(updated mixing coefficient)를 나타낸다. 적용하기 위한 크로스-페이드 동작은 다음과 같다:
i=0, ... ,255일 때, c[i] = w2 [i]ㅇ Cnew + w2 [255 - i]ㅇ Cold.
계수 크로스 페이드 동작을 통한 각 경로 후, Cold <-- Cnew와 같이, 올드 계수들은 새로운 계수로 업데이트된다.
다음 경로에서, 계수들이 업데이트되지 않으면,
c[i] = w2 [i]ㅇCnew + w2 [255 - i]ㅇCnew = Cnewㅇ
다른 말로, 올드 계수 세트의 영향은 완전히 없어진다.
발명자는 많은 오디오 스트림 및 다운믹싱 상황에서, 믹싱 계수들은 자주 변경되지 않음을 관찰했다. 시간 도메인 다운믹싱 프로세스의 성능을 향상시키기 위해, 시간 도메인 다운믹싱 모듈의 실시예는 다운믹싱 계수들이 그들의 이전 값으로부터 변경되는지 확실히 하기 위해 테스트하고, 만약, 그렇지 않으면, 다운믹싱을 수행하고, 또한, 만약, 변경이 있으면, 미리 선택된 양의 윈도우 함수에 따라 다운믹싱 계수들의 크로스 페이딩을 수행하는 것을 포함한다. 일 실시예에서, 윈도우 함수는 윈도우잉 및 오버랩-추가 동작에서 사용되는 것과 동일한 윈도우 함수이다. 다른 실시예에서, 다른 윈도우 함수가 사용된다.
도 11은 다운믹싱의 일 실시예에 대한 간략화된 슈도코드를 보인다. 그러한 실시예에 대한 디코더는 SSE 벡터 인스트럭션을 실행하는 적어도 하나의 x86 프로세서를 사용한다. 다운믹싱은 새로운 다운믹싱 데이터가 올드 다운믹싱 데이터로부터 변화하지 않았는지 확인하는 것을 포함한다. 만약, 변화했다면, 다운믹싱은 하나 이상의 x86 프로세서들 중 적어도 하나에서 SSE 벡터 인스트럭션을 작동하기 위해 설정되는 것을 포함하고, 적어도 하나의 작동되는 SSE 벡터 인스트럭션을 실행하는 것을 포함하는 변화되지 않은 다운믹싱 데이터를 이용하여 다운믹싱하는 것을 포함다. 그렇지 않고, 새로운 다운믹싱 데이터가 올드 다운믹싱 데이터로부터 변경되지 않았다면, 방법은 크로스 페이딩 동작에 의해 크로스 페이딩된 다운믹싱 데이터를 판단하는 것을 포함한다.
필요하지 않은 데이터 제외 프로세싱
어떤 다운믹싱 상황에서, 다운믹싱 출력에 전혀 영향을 미치지 않는 적어도 하나의 채널이 존재한다. 예를 들면, 5.1 오디오에서 스테레오로 다운믹싱하는 많은 경우에서, LFE 채널이 포함되지 않는다. 그래서, 다운믹싱은 5.1에서 2.0이된다. 다운믹싱으로부터 LFE 채널의 제외는 AC-3에 대한 경우와 같이, 코딩 포맷에 내재될 수 있고, 또는, E-AC-3의 경우와 같이, 메타데이터에 의해 제어될 수 있다. E-AC-3에서, Ifemixlevcode 파라미터는 LFE 채널이 다운믹싱에 포함될지 여부를 결정한다. Ifemixlevcode 파라미터가 0이면, LFE 채널은 다운믹싱에 포함되지 않는다.
주파수 도메인에서, 슈도 시간 도메인에서 역변환 후 하지만 윈도우잉 및 오버랩 추가 동작 전, 또는, 시간 도메인에서 시간 도메인에서 역변환 후 그리고 윈도우잉 및 오버랩 추가 동작 후, 다운믹싱이 수행되는 것을 상기하라. 순수 시간 도메인 다운믹싱은 잘 알려진 E-AC-3 디코더에서 수행되며, 그리고, 본 발명의 몇몇 실시예에서 이루어진다. 그리고, 이는 예컨대, TPNP가 존재함으로, 이득을 가진다. 슈도 시간 도메인 다운믹싱은 많은 AC-3 디코더들에서 수행되며, 또한, 이는 본 발명의 몇몇 실시예에서 이루어진다. 그리고 이는 오버랩-추가동작이 다운믹싱 계수를 변경할 때, 이득을 가지는 내재된 크로스 페이딩을 제공함으로, 이득을 가진다. 주파수 도메인 다운믹싱은 조건들이 허용될 때, 본 발명의 몇몇 실시예에서 수행된다.
여기서 논의된 바와 같이, 주파수 도메인 다운믹싱은 5.1 채널 입력에서 2 채널 출력을 생성하기 위해 필요한 역변환 및 윈도우잉 및 오버랩-추가 동작의 수를 최소화하기 위한 가장 효과적인 다운믹싱 방법이다. 본 발명의 실시예에서, FD 다운믹싱은 예컨대, 도 8의 FD 다운믹싱 루프 섹션(711), 요소(813)에서 시작되고 814에서 종료되며, 815에서 다음 채널로 증가되는 루프에서 수행될 때, 이러한 채널들은 프로세싱에서 제외되는 다운믹싱에 포함되지 않는다.
역변환 후 윈도우잉 및 오버랩-추가 전의 슈도 시간 도메인에서, 또는, 역변환, 윈도우잉 및 오버랩-추가 후의 시간 도메인에서, 다운믹싱은 주파수 도메인에서의 다운믹싱 보다 컴퓨터 계산량에 대한 효율(computationally efficient)은 덜하다. 오늘날의 AC-3 디코더들과 같은, 근래의 디코더들에서, 다운믹싱은 슈도 시간 도메인에서 수행된다. 역변환 동작은 예컨대, 분리된 모듈들에서, 다운믹싱 동작으로부터 독립적으로 수행된다. 그러한 디코더들에서, 역변환은 모든 입력 채널들 상에서 수행된다. 이는 비교적 컴퓨터 계산량이 비효율적이다. 왜냐하면, LFE 채널이 포함되지 않는 경우에도, 역변환은 여전히 이 채널에 대해 수행되기 때문이다. 이 불필요한 프로세싱은 상당하다. 왜냐하면, LFE 채널이 대역이 제한될지라도, LFE 채널을 역변환하는데에 필요한 컴퓨터 계산량은 어떤 전체 대역 채널을 역변환하는데에 적용되는 것과 동일한 컴퓨터 계산량을 필요로하기 때문이다. 발명자는 이러한 비효율을 인지했다. 본 발명의 몇몇 실시예는 N.n 입력 채널들의 하나 이상의 비-공헌(non-contributing) 채널들을 식별하는 것을 포함한다. 비-공헌 채널은 디코딩된 오디의 M.m 출력 채널들에 대해 공헌하지 않는 채널이다. 실시예에서, 상술한 식별은 다운믹싱을 정의하는 정보, 예컨대, 메타데이터를 사용한다. 5.1에서 2.0으로 다운믹싱하는 예에서, LFE 채널은 비-공헌 채널로 식별된다. 본 발명의 일 실시예에서 M.m 출력 채널에 공헌하는 각 채널 상에서 주파수에서 시간으로 변환을 수행하는 것을 포함하며, M.m 채널 신호에 대해 공헌하지 않는 것으로 식별된 각 채널 상에서 주파수에서 시간으로 어떠한 변환도 수행하지 않는다. LFE 채널이 다운믹싱에 공헌하지 않는 5.1에서 2.0으로의 예에서, 역변환(예, IMCDT)은 5개의 전체 대역 채널들 상에서 수행되며, 그래서, 역변환 부분은 모든 5.1 채널들에 대해 요구되는 컴퓨터 계산의 리소스의 대략 16%의 감소된 상태에서 수행된다. 왜냐하면, IMDCT는 디코딩 방법에서, 컴퓨터 계산 복잡도의 상당한 소스임으로, 이 감소는 상당할 수 있다.
오늘날의 E-AC-3 디코더들과 같은, 근래의 디코더들에서, 다운믹싱은 시간 도메인에서 수행된다. 역변환 동작 및 오버랩-추가 동작은 어떤 TPNP 이전 그리고 다운믹싱 이전에, 다운믹싱 동작과 독립적으로, 예컨대, 분리된 모듈에서 수행된다. 그러한 디코더들에서 역변환 및 윈도우잉 및 오버랩-추가 동작은 모든 입력 채널들 상에서 수행된다. 이는 컴퓨터 계산상 비교적 비효율적이다. 왜냐하면, LFE 채널이 포함되지 않는 경우에도, 역변환 및 윈도우잉/오버랩-추가가 여전히 이 채널에서 수행되기 때문이다. 이 불필요한 프로세싱은 상당하다. 왜냐하면, 왜냐하면, LFE 채널이 대역이 제한될지라도, LFE 채널을 역변환 및 오버랩-추가하는데에 필요한 컴퓨터 계산량은 어떤 전체 대역 채널을 역변환 및 윈도우잉/오버랩-추가하는데에 적용되는 것과 동일한 컴퓨터 계산량을 필요로하기 때문이다. 본 발명의 실시예에서, 다운믹싱은 시간 도메인에서 수행되며, 다른 실시예에서, 다운믹싱은 다운믹싱 방법 선택 논리를 적용한 출력에 따른 시간 도메인에서 수행된다. TD 다운믹싱이 사용되는 본 발명의 실시예는 N.n 입력 채널들의 하나 이상의 비 공헌 채널들을 식별하는 것을 포함한다. 어떤 실시예에서, 식별은 다운믹싱을 정의하는 정보, 예컨대, 메타데이터를 이용한다. 5.1에서 2.0으로 다운믹싱의 예에서, LFE 채널은 비 공헌 채널로 인식된다. 본 발명의 일 실시예에서 M.m 출력 채널에 공헌하는 각 채널 상에서 역변환, 즉, 주파수에서 시간으로 변환을 수행하는 것을 포함하며, M.m 채널 신호에 대해 공헌하지 않는 것으로 식별된 각 채널 상에서 어떤 주파수에서 시간으로 변환 및 다른 시간 도메인 프로세싱도 수행하지 않는다. LFE 채널이 다운믹싱에 공헌하지 않는 5.1에서 2.0으로의 예에서, 역변환(예, IMCDT), 오버랩-추가 및 TPNP는 5개의 전체 대역 채널들 상에서 수행되며, 그래서, 역변환, 윈도우잉/오버랩-추가 부분은 모든 5.1 채널들에 대해 요구되는 컴퓨터 계산의 리소스의 대략 16%의 감소된 상태에서 수행된다. 도 8의 흐름도, 공통 프로세싱 논리 부분(731)에서, 실시예의 일 특징은 요소 833에서 시작되고, 834에서 계속되는 루프에서 프로세싱을 포함하며, 이 루프는 비-공헌 채널들을 제외한 모든 채널에 대해 다음 채널로 증가하는 요소 835를 포함한다. 이는 FD 다운믹싱된 블록에 대해 내재적으로 발생한다.
일 실시예에서, LFE는 비 공헌 채널이다, 즉, LFE는 다운믹싱된 출력 채널들에 포함되지 않는다. 이는 AC-3 및 E-AC-3에서 일반적이다. 반면, 다른 실시예에서, LFE를 제외한 채널은 또한, 비 공헌 채널 대신이며, 다운믹싱된 출력에 포함되지 않는다. 본 발명의 다른 실시예에서 그러한 채널들은 다운믹싱에 포함되지 않은 하나 이상의 채널들이 비 공헌하는 채널이 있는지 식별하기위한 그러한 조건들을 검사하는 것을 포함한다. 시간 도메인 다운믹싱의 경우, 어떤 식별된 비 공헌 채널에 대해서도 역변환 및 윈도우잉 오버랩-추가 동작에 걸친 프로세싱을 수행하지 않는다.
예를 들면, AC-3 및 E-AC-3에서, 다운믹싱된 출력 채널들에 서라운드 채널들 및/또는 센터 채널이 포함되지 않는 어떤 조건이 존재한다. 이 조건은 미리정의된 값을 가지는 인코딩된 비트스트림에 포함되는 메타 데이터에 의해 정의된다. 메타데이터는, 예컨대, 믹스 레벨 파라미터들을 포함하는 다운믹싱을 정의하는 정보를 포함할 수 있다.
그러한 믹스 레벨 파라미터들의 그러한 예들은 이제, E-AC-3의 경우에 대해 설명된 목적에 대해 기술한다. E-AC-3에서 스테레오로 다운믹싱하는 것에서, 다운믹싱의 2개의 형식들이 제공된다. LtRt 매트릭스 서라운드 인코딩된 스테레오 쌍으로 다운믹싱하고, 종래의 스테레오 신호, LoRo로 다운믹싱한다. 다운믹싱된 스테레오 신호(LoRo, 또는 LtRt)는 모노(mono)로 더 믹싱될 수 있다. Itrtsurmixlev를 나타내는 3 비트 LtRt 서라운드 믹스 레벨 코드 및 lorosurmixlev를 나타내는 3 비트 LoRo 서라운드 믹스 레벨 코드는 각각 LtRt, 또는 LoRo 다운믹싱에서, 왼쪽 및 오른쪽 채널들에 대하여 서라운드 채널들의 명목상의 다운믹싱 레벨을 지시한다. 이진의 값 "111"은 0의 다운믹싱 레벨, 예컨대, -∞dB를 나타낸다. Itrtcmixlev, lorocmixlev를 나타내는 3 비트 LtRt 및 LoRo 센터 믹스 레벨 코드들은 각각 LtRt 및 LoRo 다운믹싱에서 왼쪽 및 오른쪽 채널들에 대한 센터 채널의 명목상의 다운믹싱 레벨을 지시한다. 이진의 값 "111"은 0의 다운믹싱 레벨, 예컨대, -∞dB를 나타낸다.
다운믹싱된 출력 채널들에 서라운드 채널들이 포함되지 않은 조건들이 있다. E-AC-3에서, 이러한 조건들은 메타데이터에 의해 식별된다. 이러한 조건들은 surmixlev='10' (AC-3 only), Itrtsurmixlev='111', 및 lorosurmixlev='111'인 경우를 포함한다. 이러한 조건들의 경우, 몇몇 실시예에서, 디코더는 그러한 메타데이터가 서라운드 채널이 다운믹싱에서 포함되지 않으며, 역변환 및 윈도우잉/오버랩-추가 스테이지들을 통해 서라운드 채널들을 프로세싱하지 않는 것을 나타내는 것을 식별하기 위한 믹스 레벨 메타데이터를 사용하는 것을 포함한다. 추가로, Itrtcmixlev=='111', lorocmixlev=='111'에 의해 식별되며, 센터 채널이 다운믹싱된 출력 채널들에 포함되지 않는 조건들이 존재한다. 이러한 조건들에 대해, 몇몇 실시에에서 디코더는 그러한 메타데이터가 센터 채널이 다운믹싱에 포함되지 않으며, 역변환 및 윈도우잉/오버랩-추가 스테이지들에 걸쳐 센터 채널을 프로세싱하지 않는 것을 식별하기 위한 믹스 레벨 메타데이터를 포함한다.
몇몇 실시예에서, 하나 이상의 비 공헌 채널들을 식별하는 것은 콘텐츠 종속이다. 일 예에 따르면, 상기 식별은 하나 이상의 채널들이 하나 이상의 다른 채널들에 관하여 상당하지 않은 양의 콘첸츠를 가지는지 식별하는 것을 포함한다. 콘텐츠 양의 측정이 사용된다. 일 실시예에서, 다른 실시예에서 콘텐츠 양의 측정이 절대 레벨일 때, 콘텐츠의 양의 측정은 에너지이다. 상기 식별은 설정될 수 있는 임계에 대한 채널들의 쌍들 간의 콘텐츠 양의 측정의 차이를 비교하는 것을 포함한다. 예와 같이, 일 실시예에서, 하나 이상의 비 공헌 채널들을 식별하는 것은 서라운드 채널이 비 공헌 채널인지를 확인하기 위해, 적어도 설정 가능한 임계에 의해 블록의 서라운드 채널 콘텐츠 양이 각 프로트 채널 콘텐츠 양 보다 적은지 여부를 확인하는 것을 포함한다.
이상적으로, 임계는 품질의 손실을 최소화하는 한편, 컴퓨터 계산이 요구되는 양을 감소시키기 위한 비 공헌되는 채널들을 식별하는 것을 최소화하기 위하여, 현저한 아티팩트(artifacts)를 신호의 다운믹싱된 버전으로 도입하는 것 없이 가능한 낮게 선택된다. 실시예에서, 다른 임계들은 특정 어플리케이션에 대한 컴퓨터 계산의 복잡도 감소(낮은 임계들) 및 다운믹싱(높은 임계들) 품질 사이에 수용 가능한 균형을 표현하는 개별 디코딩 어플리케이션에 대한 임계의 선택과 함께 다른 디코딩 어플리케이션들에 대해 제공된다.
본 발명의 실시예에서, 이의 에너지 또는 절대 레벨이 다른 채널의 적어도 15 dB 미만이면, 다른 채널에 대한 채널은 중요하지 않게 고려된다. 이상적으로, 이의 에너지 또는 절대 레벨이 다른 채널의 적어도 15 dB 미만이면, 다른 채널에 대한 채널은 중요하지 않다.
25dB에 동등한 A 및 B로 나타내어지는 2개의 채널들 간의 차이에 대한 임계를 사용하는 것은 2개의 채널들의 절대 값들의 합의 레벨이 지배적인 채널의 레벨의 0.5 dB 내에 있다는 것과 대략 동등하다. 즉, 채널 A는 -6 dBFS(전체 스케일에 비례하는 dB)이고, 채널 B가 -31 dBFS이면, 채널 A 및 B의 절대값들의 합은 대략 -5.5 dBFS이 되거나, 또는 채널 A의 레벨 보다 약 0.5 dB 높을 수 있다.
오디오가 비교적 낮은 품질의 것이고, 낮은 코스트 어플리케이션에 대한 것이면, 복잡도를 감소시키기 위하여 품질을 희생시키는 것을 허용 시킬 수 있으며, 임계는 25 dB 보다 낮을 수 있다. 하나의 예에서, 18 dB의 임계가 사용된다. 그러한 경우에서, 2개의 채널들의 합은 상위 레벨과 함께 채널의 레벨의 약 1 dB 내가 될 수 있다. 이는 어떤 경우들에서 잘 들릴 수 있지만, 너무 불쾌하지 않아야 한다. 다른 실시예에서, 15 dB의 임계가 사용되면, 2개의 채널들의 합의 경우는 지배적 채널의 레벨의 1.5 dB 내이다.
일 실시예에서, 몇몇의 임계들이 사용된다, 예컨대, 15dB, 18dB, 및 25dB가 그것이다.
비공헌 채널들을 식별하는 것은 본 문헌에서 앞서 AC-3 및 E-AC-3에 대해 기술하였지만, 본 발명의 비공헌 채널들을 식별하는 것의 특징은 그러한 포맷들에 제한되지 않음을 언급한다. 또한, 예를 들면, 다른 포맷들은, 정보, 예컨대, 하나 이상의 비공헌 채널들의 식별에 대해 사용할 수 있는 다운믹싱을 고려한 메타데이터를 제공한다. MPEG-2 AAC (ISO/IEC 13818-7) 및 MPEG-4 오디오 (ISO/IEC 14496-3) 둘 모두는 "매트릭스-믹스다운 계수(matrix-mixdown coefficient)"와 같은 표준에 의해 언급되는 것을 전송할 수 있다. 그러한 포맷들을 디코딩하기 위한 본 발명의 실시예들은 3/2로부터 스테레오 또는 모노 신호를 구성하기 위한 이 계수, 즉, 왼쪽, 센터, 오른쪽, 왼쪽 서라운드, 오른쪽 서라운드 신호를 사용한다. 매트릭스-믹스다운 계수(matrix-mixdown coefficient)는 어떻게 서라운드 채널들이 스테레오 또는 모노 출력을 구성하기 위해 프론트 채널들과 믹싱되는지 결정한다. 매트릭스 믹스다운 계수의 4개의 가능한 값들은, 이들 중 하나는 0인 이러한 표준들의 각각에 따라, 가능하다. 0의 값은 다운믹싱에 포함되지 않는 서라운드 채널들을 낳는다. 본 발명의 실시예의 MPEG-2 AAC 디코더 또는 MPEG-4 오디오 디코더는 비트스트림에서 시그날링된 믹스 다운 계수를 이용하여 3/2 신호로부터 스테레오 또는 모노 다운믹싱을 생성하는 것을 포함한다. 0의 매트릭스 믹스다운 계수에 의해 비공헌 채널을 식별하는 것을 더 포함한다. 이러한 경우, 역변환 및 윈도우잉/오버랩-추가 프로세싱은 수행되지 않는다.
도 12는 적어도 하나의 프로세서(1203)을 포함하는 프로세싱 시스템(1200)의 일 실시예의 간략화된 블록도를 보인다. 이 예에서, 인스트럭션 세트가 SSE 벡터 인스터럭션을 포함하는 하나의 x86 프로세서를 나타낸다. 또한, 나타낸 간략화된 블록 형태는 버스 서브시스템(1205)이다. 이것에 의해 프로세싱 시스템의 다양한 컴포넌트들이 결합(coupled)된다. 프로세싱 시스템은 예컨대, 버스 서브시스템(1205)를 통해 프로세서(들)에 결합된(coupled) 저장 서브시스템(1211)을 포함한다. 저장 서브시스템(1211)은 적어도 메모리를 포함하는, 하나 이상의 저장 장치들 및 몇몇 실시예에서 자기(magnetic) 및/또는 광학(optical) 저장 컴포넌트들과 같은, 하나 이상의 다른 저장 장치들을 포함한다. 또한, 어떤 실시예들은 스피커(확성기, loudspeakers) 또는 이어폰(earphones)의 세트를 구동하기 위해, PCM 데이터를 전기 파형들로 변환하는 하나 이상의 DAC들을 포함하는 오디오 입력/출력 서브시스템(1209) 및 적어도 하나의 네트워크 인터페이스(1207)를 포함한다. 다른 요소들 또한 프로세싱 시스템에 포함될 수 있으며, 그리고, 이는 이 기술분야에게서 통상의 지식을 가진자에게 명확하다. 그리고, 이러한 것들은, 요지를 명확히 하기 위하여, 도 12에 도시되지 않았다.
저장 서브시스템(1211)은 프로세싱 시스템에서 실행될 때, 프로세싱 시스템이 M>1이고, 다운믹싱의 경우에, M<N인, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해, 인코딩된 오디오 데이터(예컨대, E-AC-3 데이터)의 N.n 채널들을 포함하는 오디오 데이터의 디코딩을 수행하도록 하는 인스트럭션(1213)을 포함한다. 근래의 잘알려진 코딩 포맷들의 경우, n=0 도는 1, 그리고, m=0 또는 1이다. 하지만, 본 발명은 이를 제한하지 않는다. 실시예에서, 인스트럭션들(1211)은 모듈들로 분할된다. 다른 인스트럭션들(다른 소프트웨어, 1215) 또한 전형적으로 저장 서브시스템에 포함된다. 실시예는 인스트럭션(1211)에서 다음의 모듈을 포함하는 것을 보인다. 2개의 디코더 모듈들: 독립 프레임 5.1 채널 디코더 모듈(1223)은 FED(front-end decode) 모듈(1231) 및 BED(back-end decode) 모듈(1233)을 포함한다. 종속 프레임 디코더 모듈(1225)은 FED(front-end decode) 모듈(1235) 및 BED(back-end decode) 모듈(1237)을 포함한다. 인스트럭션들(1221)의 프레임 정보 분선 모듈은 실행될 때, 프레임들 및 프레임 형식을 식별하기 위해, 그리고, 식별된 프레임들을 적합한 FDE 모듈의 실현(instantiations, 1231 또는 1235)에 제공하기 위해 각 프레임으로부터 비트 스트림 정보(BSI, Bit Stream Information) 필드 데이터를 압축해제하도록 한다. 채널 맵핑 모듈의 인스트럭션들(1227)은 실행될 때, N>5의 경우, 디코딩된 데이터의 N.n 채널들을 형성하기 위해, 각 BED 모듈들로부터 디코딩된 데이터를 조합한다.
본 발명의 대안적인 프로세싱 시스템은 적어도 하나의 네트워크 링크에 의해 결합(couple)되는, 즉, 분산된, 하나 이상의 프로세서를 포함할 수 있다. 즉, 하나 이싱의 모듈들은 네트워크 링크에 의해 메인 프로세싱 시스템과 결합된 다른 프로세싱 시스템 내에 있을 수 있다. 그러한 대안적 실시예는 이 기술분야에서 통상의 지식을 가진 자에게 명확하며, 따라서, 몇몇 실시에에서, 시스템은 네트워크 링크를 통해서 네트워크되는 하나 이상의 서브시스템들을 포함하며, 각 서브 시스템은 적어도 하나의 프로세서를 포함한다.
그러므로 도 12의 프로세싱 시스템은, M>1, 다운믹싱의 경우, M<N이고, 업믹싱에 대해, M>N일 때, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해, 인코딩된 오디오 데이터의 N.n 채널들을 포함하는 오디오 데이터를 프로세싱하기 위한 장치의 실시예를 형성한다. 한편, 오늘날의 표준에서, n=0 또는 1이고, m=0 또는1이며, 다른 실시예도 가능하다. 상기 장치는 기능을 수행하기 위한 수단들로서 기능적으로 표현되는 몇몇의 기능 요소들을 포함한다. 기능 요소는 프로세싱 기능을 수행하는 요소를 의미한다. 그러한 각 요소는 예컨대, 특정 목적의 하드웨어인, 하드웨어 요소가 될 수 있다. 또는, 각 요소는 실행되었을 때 기능을 수행하는 인스트럭션을 포함하는 저장 매체를 포함하는 프로세싱 시스템이 될 수 있다. 도 12의 장치들은 인코딩 방법, 예컨대, E-AC-3 코딩 방법으로 인코딩되어진 인코딩된 오디오 데이터의 N 채널들이 포함된 오디오 데이터를 수용하기 위한 수단들을 포함한다. 더욱 일반적인 용어들에서, 인코딩 방법은, 디지털 오디오 데이터의 오버랩되고-변환된 N 채널들을 이용하여 변환하는 것, 주파수 도메인 기수 및 가수 데이터를 형성하고, 압축하는 것, 및 주파수 도메인 기수 및 가수 데이터에 대한 메타데이터를 형성하고, 압축하는 것을 포함하며, 메타데이터는 선택적으로 임시 프리-노이즈 프로세싱에 대한 메타데이터를 포함한다.
상기 장치는 수용된 오디오 데이터를 디코딩하기 위한 수단들을 포함한다.
일 실시예에서, 디코딩을 위한 수단은, 메타데이터를 압축 해제하기 위한 수단, 및 주파수 도메인 기수 및 가수 데이터를 압축 해제 및 디코딩하기 위한 수단; 압축해제 및 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정하기 위한 수단; 주파수 도메인 데이터를 역변환하기 위한 수단; 샘플링된 오디오 데이터에 대해 윈도우잉 및 오버랩-추가 동작을 적용하기 위한 수단; 임시 프리-노이즈 프로세싱에 대한 메타데이터에 따라 어떤 요구되는 임시 프리-노이즈 프로세싱 디코딩을 적용하기 위한 수단; 및 다운믹싱 데이터에 따라 TD 다운믹싱을 위한 수단을 포함한다. TD 다운믹싱을 위한 수단은, M<N의 경우, 다운믹싱 데이터에 따라 다운믹싱된다. 몇몇 실시에는, 앞서 사용된 다운믹싱 데이터로부터 다운믹싱 데이터가 변경되었는지 테스트하는 것을 포함한다. 만약, 변경되었다면, 그로스 페이딩 다운믹싱 데이터를 결정하기 위해 크로스 페이딩을 적용하고, 크로스 페이딩 다운믹싱 데이터에 따라 다운믹싱한다. 만약 변경되지 않았다면, 다운믹싱 데이터에 따라 직접 다운믹싱한다.
몇몇 실시예들은 블록에 대해, TD 다운믹싱이 사용되었는지 또는 FD 다운믹싱이 사용되었는지 확인하기 위한 수단, 및 TD 다운믹싱이 사용되었는지 또는 FD 다운믹싱이 사용되었는지 확인하기 위한 수단이 FD 다운믹싱을 사용하였음을 확인하면, 활성화되는 FD 다운믹싱을 위한 수단을 포함한다. 이는 TD에서 FD 다운믹싱으로 이행 프로세싱을 위한 수단을 포함한다. 그러한 실시예들은 또한 FD에서 TD 다운믹싱으로 이행 프로세싱을 위한 수단을 포함한다. 이러한 요소들의 동작은 여기에 설명되었다.
일 실시예에서, 장치들은 N.n 입력 채널들의 하나 이상의 비 공헌 채널들을 식별하기 위한 수단을 포함한다. 비 공헌 채널은 M.m 채널들에 공헌하지 않는 채널들이다. 상기 장치들은 주파수 도메인 데이터에 대해 역변환을 수행하지 않는다. 하나 이상의 식별된 비 공헌 채널들에 TPNP 또는 오버랩-추가와 같은 프로세싱을 더 적용한다.
실시예에서, 장치는 벡터 인스트럭션들을 포함하는 스트리밍 단일 인스트럭션 다중 데이터 확장(SSE, streaming single instruction multiple data extensions)을 포함하는 인스트럭션 세트를 가지는 적어도 하나의 x86 프로세서를 포함한다. 동작에서 다운믹싱을 위한 수단은 하나 이상의 x86 프로세서들 중 적어도 하나에 관련된 벡터 인스트럭션을 운영한다.
도 12에 보인 대안적인 장치들 또한 가능하다. 예컨대, 하나 이상의 요소들은 하드웨어 장치들에 의해 구현될 수 있다. 한편, 다른 것들은 x86 프로세서를 운영하는 것에 의해 구현될 수 있다. 그러한 변형은 이 기술분야에서 통상의 지식을 지닌자에게 당연하다.
본 발명의 실시예의 장치에서, 디코딩을 위한 수단은 전단 디코딩(FED, front-end decoding)을 위한 수단 및 후단 디코딩(BED, back-end decoding)을 위한 수단을 포함한다. FED를 위한 수단은 메타데이터를 압축 해제하기 위한 수단; 및 주파수 도메인 기수 및 가수 데이터를 압축해제하고 디코딩하기 위한 수단;을 포함한다. BED를 위한 수단은, 블록이 TS 다운믹싱이 사용되었는지 또는 FD 다운믹싱이 사용되었는지 확인하기 위한 수단; TD에서 FD 다운믹싱으로 이행 프로세싱을 위한 수단을 포함하는 FD 다운믹싱을 위한 수단; TD에서 FD 다운믹싱으로 이행 프로세싱을 위한 수단; 압축 해제 및 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결하기 위한 수단; 주파수 도메인 데이터를 역변환하기 위한 수단; 샘플링된 오디오 데이터에 윈도우잉 및 오버랩-추가 동작을 적용하기 위한 수단; 임시 프리-노이즈 프로세싱에 대한 메타데이터에 따라 어떤 요구되는 임시 프리-노이즈 프로세싱 디코딩을 적용하기 위한 수단; 및, 다운믹싱 데이터에 따라 시간 도메인 다운믹싱을 위한 수단;을 포함한다. 시간 도메인 다운믹싱은, M<N인 경우, 다운믹싱 데이터에 따라 다운믹싱한다. 몇몇 실시예에서, 앞서 사용된 다운믹싱 데이터로부터 다운믹싱 데이터가 변경되었는지 테스트하는 것을 포함한다. 만약, 변경되었다면, 그로스 페이딩 다운믹싱 데이터를 결정하기 위해 크로스 페이딩을 적용하고, 크로스 페이딩 다운믹싱 데이터에 따라 다운믹싱한다. 만약 변경되지 않았다면, 다운믹싱 데이터에 따라 직접 다운믹싱한다.
코딩된 데이터의 5.1 채널들 이상의 E-AC-3 데이터를 프로세싱하기 위해, 디코딩을 위한 수단은 전단 디코딩을 위한 수단 및 후단 디코딩을 위한 수단의 다중 인스탄스를 포함한다. 이는 FDE를 위한 제1 수단을 포함하며, 최대 5.1 채널의 독립 프레임을 디코딩하는 BED를 위한 제1 수단을 포함한다. FED를 위한 제2 수단 및 하나 이상의 데이터의 종속 프레임들을 디코딩하는 BED를 위한 제2 수단을 포함한다. 장치들은, 또한 프레임들 및 프레임 형식에 대해 비트 스트림 정보 필드 데이터를 압축 해제하고, 식별된 프레임들을 FED에 적합한 수단들에 제공하기 위한 수단; 및 디코딩된 데이터의 N 채널들을 형성하기 위한 후단 디코딩(BED)을 위한 수단 각각으로부터 디코딩된 데이터를 조합하기 위한 수단;을 포함한다.
E-AC-3 및 다른 코딩 방법들이 오버랩-추가 변환을 이용하며, 그리고, 역변환에서, 윈도우잉 및 오버랩-추가 동작이 포함된다. 한편, 역변환의 방법에 따라 동작하는 변환의 다른 형식이 가능하다는 것은 잘 알려져 있으며, 그리고, 추가의 프로세싱은 알리아싱(aliasing) 에러 없이 시간 도메인 샘플들을 복구할 수 있다. 그러므로, 본 발명은 오버랩-추가 변환에 제한되지 않으며, 주파수 도메인 데이터를 역변환할 수 있고, 시간 도메인 샘플들을 결정하기 위해 윈도우잉-오버랩-추가 동작을 수행할 수 있는 어떠한 방법이라도 가능하다. 이 기술분야에서 통상의 지식을 가진자는 일반적으로, 이러한 동작이 "주파수 도메인 데이터를 역변환하고, 샘플링된(sampled) 오디오 데이터를 결정하기 위한 추가 프로세싱을 적용하는" 것으로 진술할 수 있음은 이해할 수 있을 것이다.
AC-3 및 E-AC-3에 사용된 용어임으로, 용어, 기수(exponent) 및 가수(mantissa)는 상세한 설명에 걸쳐 사용되고 있지만, 다른 코딩 포맷들은 다른 용어, 예컨대, HE-AAC의 경우, 스케일 팩터(scale factors) 및 스펙트럼 계수(spectral coefficients)가 사용되고 있다. 이러한 용어 기수 및 가수는 그 용어 기수 및 가수가 사용된 포맷으로 본 발명의 범위를 제한하지 않는다.
특별히 언급하지 않는 경우, 다음의 설명으로부터 명확한 것과 같이, 상세한 설명 전반에 걸친 논의는 물리적 양들로 유사하게 표현할 수 있는 다른 데이터의 양들, 전자와 같은 물리적으로 표현할 수 있는 데이터를 조작 및/또는 변환하는 하드웨어 요소, 예컨대, 컴퓨터 또는 컴퓨터 시스템, 프로세싱 시스템 또는 유사한 전자 컴퓨팅 장치의 프로세서들 및/또는 동작에 관련되어, "프로세싱(processing)", "컴퓨터 계산하는(computing)", "계산 또는 산출하는(calculating)", "판단 또는 결정하는(determining)", "생성하는(generating)", 등과 같은 용어가 사용되었음이 인식되어야 한다.
동일한 방식에서, 용어 프로세서(processor)는 레지스터 및/또는 메모리에 저장될 수 있는 전자 데이터를 다른 전자 데이터로 변환하기 위해 예컨대, 레지스터 및/또는 메모리로부터 전자 데이터를 프로세싱하는 장치의 일부 또는 어떤 장치에 관련된다. 프로세싱 시스템 또는 컴퓨터 또는 컴퓨팅 머신 또는 컴퓨팅 플랫폼은 하니 이상의 프로세서들을 포함할 수 있다.
예컨대, 몇 개의 단계들인, 몇 개의 요소들을 포함하는 방법이 설명되었을 때, 특별히 언급된 경우를 제외하고, 예컨대, 단계들이 시사될 때, 그러한 요소들의 순서는 정해진 것이 아니다.
몇몇 실시예에서, 컴퓨터 판독 가능한 저장 매체는 인스트럭션을 저장하며, 인스트럭션은 적어도 하나의 프로세서 요소 및 저장 서브시스템을 포함하는 디지털 신호 프로세싱 디바이스 또는 서브시스템과 같은 프로세싱 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 본 문헌에 설명된 방법을 수행한다. 앞서 기술된 바와 같이, 인스터력션들은 실행될 때, 프로세스를 수행함을 언급한다. 인스트럭션들은, 실행될 때, 하나 이상의 프로세서들이 프로세스를 수행하는 하드웨어 장치, 예컨대, 프로세싱 시스템을 동작시키도록 함을 이해하여야 한다.
여기에 기술된 방법론은, 몇몇 실시예에서, 하나 이상의 컴퓨터 판독 가능한 매체 상에서 인코딩된 인스트럭션, 논리를 수용하는 하나 이상의 프로세서에 의해 수행할 수 있다. 하나 이상의 프로세서들에 의해 실행될 때, 인스트럭션은 이 문헌에 기술된 방법들 중 적어도 하나를 수행할 수 있다. 취해진 특정 동작에 특화된 인스트럭션의 세트(순차적이거나, 또는, 그렇지 않은 것)를 실행할 수 있는 어떤 프로세서가 포함된다. 그러므로 하나의 예는 하나 이상의 프로세서를 포함하는 전형적인 프로세싱 시스템이 될 수 있다. 각 프로세서는 하나 이상의 CPU 또는 유사한 요소, GPU(graphics processing unit) 및/또는 프로그램 가능한 DSP 유닛을 포함한다. 프로세싱 시스템은 적어도 하나의 저장 매체를 가지는 저장 서브시스템을 더 포함한다. 저장 매체는 메인 RAM 및/또는 정적 RAM 및/또는 ROM, 및 캐시 메모리를 포함하는 분리된 메모리 서브시스템 또는 반도체 장치에 장착된 메모리를 포함한다. 저장 서브시스템은 자기 및/또는 광학 및/또는 다른 고체 상태(solid state) 저장 장치와 같은 하나 이상의 다른 저장 장치들을 더 포함한다. 버스 서브시스템이 컴포넌트들 간의 통신을 위해 포함될 수 있다. 프로세싱 시스템은 네트워크, 예컨대, 네트워크 인터페이스 장치들 또는 무선 네트워크 인터페이스 장치들을 통해 결합되는 프로세서들을 가지는 분산된 프로세싱 시스템이 될 수 있다. 프로세싱 시스템이 디스플레이가 요구되면, 그러한 디스플레이는 예컨대, LCD(liquid crystal display), OLED(organic light emitting display) 및 CRT(cathode ray tube) 디스플레이가 될 수 있다. 조작된 데이터 입력이 요구되면, 프로세싱 시스템은 또한 키보드(keyboard)와 같은, 하나 이상의 알파벳 입력 유닛 및 마우스와 같은 포인팅 제어 장치, 등의 입력 장치를 포함한다. 본 문헌에 사용된 용어 저장 장치, 저장 서브시스템 또는 메모리 유닛은, 문맥으로부터 명확하고, 다른 명확하게 언급되지 않았다면, 디스크 드라이브 유닛과 같은 저장 시스템을 모두 망라하는 것이다. 어떤 구성에서 프로세싱 시스템은 사운드 출력 장치 및 네트워크 인터페이스 장치를 포함할 수 있다.
따라서 저장 서브시스템은 인스트럭션들(예, 논리, 소프트웨어)로 인코딩되고, 구성되는 컴퓨터 판독 가능한 매체를 포함한다. 인스트럭션들이 하나 이상의 프로세서들에 의하여 실행될 때, 본 문헌에서 설명된 하나 이상의 방법의 단계들을 수행하도록 한다. 소트웨어는 하드 디스크에 상주할 수 있고, 또는, 완전히, 또는, 적어도 부분적으로, 컴퓨터 시스템에 의해 그것들의 실행동안 프로세서 내부의 메모리 내 또는, RAM과 같은 메모리 내에 상주할 수 있다.
게다가, 컴퓨터 판독 가능한 매체는 컴퓨터 프로그램 제품을 형성할 수 있다. 또는, 컴퓨터 프로그램 제품에 포함될 수 있다.
대안적인 실시예에서, 하나 이상의 프로세서는 스탠드얼론(standalone) 장치로 동작하거나, 또는, 네트워킹된 배치에서 예컨대, 다른 프로세서(들)과 네트워크로, 연결된다. 하나 이상의 프로세서는 서버의 용량 내에서 동작되거나, 또는 서버-클라이언트 네트워크 환경에서 클라이언트 머신으로 동작하거나, 또는, 분산 네트워크 환경 또는 피어대 피어(peer-to-peer)에서 피어(peer) 머신으로 동작할 수 있다. 용어 프로세싱 시스템은 여기에서 명백하게 제외한 것이 아니면, 모든 그러한 가능성을 포괄한다. 하나 이상의 프로세서는 퍼스널 컴퓨터, 미디어 플레이백 장치(media playback device), 태블릿 PC, 셋톱박스(STB), PDA(Personal Digital Assistant), 게임 머신, 셀룰러 폰, 웹 어플라이언스, 네트워크 라우터, 스위치 또는 브릿지, 또는, 그 머신에 의해 취해지는 동작에 특화된 인스트럭션의 세트(순차적 또는 그렇지 않은)를 실행할 수 있는 어떤 머신으로 구현될 수 있다.
어떤 도면(들)은 단지 인스트럭션들을 포함하는 논리를 저장하는 예컨대, 단일 메모리, 저장 서브시스템 및 단일 프로세서를 나타낸다. 이 기술분야에서 통상의 지식을 가진 자라면, 앞서 설명한 많은 컴포넌트들이 포함될 수 있음을 이해할 수 있을 것이다. 하지만, 발명을 명확하게 위해 명백하게 나타내거나, 또는 기술되지 않은 것들이 존재한다. 예컨대, 오직 단일 머신이 도시되었으며, 용어 "머신(machine)"은 본 문헌에서 논의된 방법론의 어떤 것 또는 그 이상을 수행하기 위한 인스트럭션들의 세트(또는 다중 세트들)를 개별적으로 또는 다른 것과 합께 실행하는 어떤 기계(장치)들의 집합을 포함하기 위해 취해졌다.
그러므로 여기서 기술된 방법의 각각의 일 실시예는 인스트럭션들의 세트로 구성된 컴퓨터 판독 가능한 매체의 형식에 있다. 예컨대, 하나 이상의 프로세서가 미디어 디바이스의 일부인 하나 이상의 프로세서 상에서 실행되는, 예컨대, 컴퓨터 프로그램인, 인스트럭션들은 방법의 단계들을 수행하도록 한다. 몇몇 실시예들은 자체의 논리의 형식을 가진다. 그러므로 당업자는 본 발명의 실시예는 방법, 특정 목적을 가진 장치와 같은 장치, 데이터 프로세싱 시스템, 논리, 예컨대, 데이터 프로세싱 시스템과 같은 장치, 컴퓨터 판독 가능한 저장 매체에 구현된 논리(logic), 또는, 인스트럭션들이 인코딩된 컴퓨터 판독 가능한 저장 매체, 예컨대, 컴퓨터 프로그램 제품으로 구성되는 컴퓨터 판독 가능한 저장 매체 등으로 구현할 수 있음을 이해할 수 있을 것이다. 컴퓨터 판독 가능한 매체는 하나 이상의 프로세서에 의해 실행될 때, 방법의 단계들을 수행하도록 하는 인스트럭션들의 세트로 구성된다. 따라서 본 발명의 측면은 다수의 기능 요소들을 포함하는 하드웨어 전부의 실시예를 방법의 형식으로 취할 수 있다. 여기서, 기능 요소는 프로세싱 기능을 수행하는 요소를 의미한다. 그러한 요소의 각각은 실행될 때, 상기 기능을 수행하는 인스트럭션들을 포함하는 저장 매체를 포함하는 하드웨어 요소, 예컨대, 특정 목적 하드웨어, 또는 프로세싱 시스템이 될 수 있다. 본 발명은 완전한 소프트웨어 실시예 또는 소프트웨어 및 하드웨어 측면이 조합된 실시예의 형식이 취해질 수 있다. 게다가, 본 발명은 예컨대, 컴퓨터 판독 가능한 매체에서 프로그램 논리, 컴퓨터 판독 가능한 매체 상의 컴퓨터 프로그램, 컴퓨터 판독 가능한 프로그램 코드로 구성된 컴퓨터 판독 가능한 매체, 컴퓨터 프로그램 제품의 형식을 취할 수 있다. 특정 목적의 하드웨어의 경우, 하드웨어의 기능이 당업자가 충분히 기능을 수행하는 하드웨어를 생성하기 위한 하드웨어 설명(hardware description)을 자동으로 결정하는 프로그램들에 의해 처리될 수 있는 기능 설명(functional description)을 기술할 수 있도록 한다. 따라서 여기의 설명은 그러한 특정 목적의 하드웨어를 정의하기 위해 충분하다.
컴퓨터 판독 가능한 매체는 본 발명의 실시예에서 단일 매체로 나타내었다. 용어 "매체(medium)"는 하나 이상의 인스트럭션들의 세트들을 저장하는 단일 매체 또는 다중(복수) 매체(예, 몇 개의 메모리들, 집중 또는 분산된 데이터베이스 및/또는 관련된 캐시들 및 서버들)를 포함하는 것을 취한 것이다. 컴퓨터 판독 가능한 매체는, 비휘발성 매체 및 휘발성 매체에 제한되지 않고, 다양한 형태가 될 수 있다. 비휘발성 매체는 예컨대, 광학 디스크, 자기 디스크, 및 광자기(magneto-optical) 디스크를 포함한다. 휘발성 매체는 메인 메모리와 같은 동적 메모리를 포함한다.
본 발명의 실시예에는 어떤 개별 구현 또는 프로그래밍 기술에 제한되지 않으며, 본 발명은 본 문헌에 설명된 기능을 구현할 수 있는 어떤 적합한 기술들을 이용하여 구현할 수 있음을 이해하여야 한다. 게다가, 실시예는 어떤 개별 프로그래밍 언어 또는 운영 체제(OS, operating system)에 제한되지 않는다.
본 상세한 설명 전체에 걸쳐 사용된 레퍼런스 "일 실시예" 또는 "실시예"는 실시예와 관련되어 설명되는 개별 특징, 구조 또는 특성이 적어도 하나 본 발명의 실시예에 포함됨을 의미한다. 그러므로, 명세서 전체의 여러 위치에서 사용되고 있는 구문 "일 실시예에서" 또는 "실시예에서"는 모두 동일할 필요는 없으나, 같을 수도 있다. 하나 이상의 실시예에서, 그 실시예들의 개별 특성, 구조 또는 특징은 어떤 적합한 방식으로 조합될 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게 당연할 것이다.
본 발명의 실시예의 상술한 설명에서, 본 발명의 다양한 특징들이 때로는 하나 이상의 다양한 발명의 측면들의 이해를 돕고, 설명을 간소화하기 위한 목적으로 그것들의 단일 실시예, 특징 또는 설명으로 그룹화되었다. 공개된 이 방법은, 하지만, 청구항의 발명이 각 청구항에서 분명히 나열된 것 보다 더 많은 특징이 요구되는 것으로 해석되어서는 안 된다. 다소, 다음의 청구항들은 단일 앞서 말한 밝히는 실시예의 모든 특징 보다 적은 발명의 특징을 가진다. 따라서, "발명을 실시하기 위한 구체적인 내용(DESCRIPTION OF EXAMPLE EMBODIMENTS)"에 따르는 청구범위는 각 청구항은 본 발명의 개별 실시예에 의거하여 이로써 분명하게 "발명을 실시하기 위한 구체적인 내용"에 포함된다.
게다가, 여기서 설명된 몇몇 실시예들은 다른 실시예에들에 포함된 다른 특징들이 아닌 몇몇 특징들을 포함한다. 다른 실시예들의 특징들의 조합은 본 발명의 권리범위에 속하며, 다른 실시예를 형성함을 의미한다. 이는 이 기술분야에서 통상의 지식을 가진자라면 이해할 수 있을 것이다. 예컨대, 다음의 청구범위에서, 청구된 어떤 실시예라도 그 조합으로 사용될 수 있다.
게다가, 어떤 실시예는 컴퓨터 시스템의 프로세서에 의해, 또는, 기능을 수행하는 다른 수단에 의해 구현될 수 있는 방법 또는 방법의 요소들의 조합으로 본 문헌에서 설명된다. 그러므로, 방법의 요소 또는 방법을 수행하기 위해 필요한 인스트럭션들을 가지는 프로세서는 방법의 요소 또는 방법을 수행하기 위한 수단을 형성한다. 게다가, 장치 실시예의 본 문헌에 설명된 요소는 본 발명을 수행하기 위한 요소들에 의해 수행되는 기능을 수행하기 위한 수단의 예이다.
여기서 제공된 상세한 설명에서, 다수의 구체적인 세부 사항들이 명시되어 있다. 하지만, 이는 본 발명의 실시예는 이러한 세부 사항들 없이 실시될 수 있는 것으로 이해되어야 한다. 실시예에서, 잘 알려진 방법들, 구조 및 기술은 상세한 설명의 이해를 흐르지 않도록 그 상세한 설명은 생략되었다.
여기에 사용된 바와 같이, 특정되지 않은 것이라면, 서수 형용사 제1, 제2, 제3, 등의 사용은 공통의 물체를 설명하기 위해 사용되었다. 이는 단지 같은 물체의 다른 예들을 나타내기 위해 사용되었다. 그리고 반드시 주어진 순서에 따라 사용되는 것을 의도하지는 않는다. 또한, 일시적, 공간적, 랭킹으로, 또는 다른 방식으로 사용되는 것을 의도하지는 않는다.
본 발명이 E-AC-3 표준의 견지에 따라 기술되었지만, 본 발명은 그러한 견지에 한정되지 않으며, E-AC-3과 유사한 기술을 이용하는 다른 방법에 의해 인코딩된 데이터를 디코딩하기 위하여 사용될 수도 있음을 이해하여야 한다. 예를 들면, 본 발명의 실시예는 E-AC-3의 이전 버전과 호환되는 코딩된 오디오를 디코딩하기 위해 적용할 수 있다. 다른 실시예는 HE-AAC 표준에 따라 코딩되는 코딩된 오디오를 디코딩하기 위해, 그리고, HE-AAC 표준의 이전 버전과 호환되는 코딩된 오디오를 디코딩하기 위해 적용될 수 있다. 다른 코딩된 스트림들은 본 발명의 실시예를 이용하는 유리하게 디코딩될 수 있다.
여기에 언급된 모든 미국 특허, 미국 특허 출원 및 미국을 지정한 PCT 국제 특허 출원은 참조로써 본 문헌에 포함된다. 참조에 의해 자체로 일부로 포함되는 정보인 소재의 참조가 그 일부로 포함되는 것을 허용하지 않는 특허법 또는 법령의 경우에서, 그러한 정보가 참조에 의해 여기에 명확히 일부로 포함되지 않는 한, 참조 소재에 의해 그렇게 포함되는 것에서 참조에 의해 포함되는 어떤 정보는 배제된다.
이 명세서에서 종래 기술의 어떤 논의는 그러한 종래 기술은 결코, 널리 알려져 있거나, 공개적으로 알려져 있거나, 또는, 이 분야에서 일반적인 지식의 일부로 형성되어 있는 것으로 시인하는 것으로 고려될 수 없다.
아래의 청구범위 및 여기의 상세한 설명에서, 용어 "포함한다(comprising)"의 어떤 것이라도 포함한다는 공개 용어(open term)이다. 이는 적어도 요소들/특징들이 포함되는 것이며, 다른 것을 배제하는 것은 아님을 의미한다. 따라서 용어 "포함한다."가 청구범위에서 사용될 때, 청구범위에 나열된 수단 또는 요소 또는 단계들로만 한정하는 것으로 해석되어서는 안 된다. 예컨대, 디바이스는 A 및 B를 포함한다고 기술하는 것은 그 디바이스가 오직 요소들 A 및 B로만 구성되는 것으로 제한하는 것은 아니다. 본 문헌에 사용된 용어 "포함한다(including)"는 또한 공개 용어(open term)이다. 이는 적어도 요소들/특징들이 포함되는 것이며, 다른 것을 배제하는 것은 아님을 의미한다. 따라서 포함한다(including)는 포함한다(comprising)와 동의어로 사용된다.
유사하게, 용어 결합되는(coupled)이, 청구범위에 사용될 때, 연결만을 적시하는 것으로 한정하여 해석되어서는 안된다는 점을 언급한다. 용어 연결되는(coupled) 및 연결되는(connected)은 그것들에서 파생된 용어와 함께 사용될 수 있다. 이 용어들은 서로 간에 동의어가 아닌 것으로 이해되어야 한다. 그러므로, 디바이스 A가 디바이스 B에 결합된다(coupled)는 표현은 디바이스 A의 출력이 디바이스 B의 입력으로 직접 연결되는 디바이스들 또는 시스템들로 한정하는 것은 아니다. A의 출력과 B의 입력 사이에 경로가 존재하며, 이는 그 경로가 다른 장치들 또는 수단들이 될 수 있음을 의미한다. 2개 이상의 요소들이 결합된다는 의미의 결합된(coupled)은 직접 물리적으로 또는 전기적 접속, 또는 2개 이상의 요소들이 상호간에 직접 연결이 아니지만 서로 협동하거나, 교환하는 것을 의미한다.
지금까지, 본 발명의 바람직한 실시예에 대해서 설명했지만, 이 기술분야에서 통상의 지식을 가진 자라면 본 발명의 사상을 벗어남이 없는 범위에서 이를 변형할 수 있음을 인지할 수 있을 것이다. 첨부된 청구범위에 따라 그러한 변경 또는 수정 모두가 본 발명의 권리범위에 속하는 것으로 해석되어야 할 것이다. 예를 들면, 앞서 주어진 어떤 공식은 단지 사용될 수 있는 프로시저를 나타낸 것이다. 기능은 블록도로부터 추가되거나 삭제될 수 있으며, 동작은 기능 요소들 사이에서 교환될 수 있다. 단계는 본 발명의 범위 내에서 기술된 방법에 추가되거나 삭제될 수 있다.
100: 슈도코드 200: 디코더
201: FED(front-end decode) 모듈 203: BED(back-end decode) 모듈
1200: 프로세싱 시스템 1207: 네트워크 인터페이스(들)
1203: x86 프로세서 1209: 오디오 I/O 장치들
1205: 버스 서브시스템 1211: 저장 장치의 저장 서브시스템
1213: 인스트럭션들 1215: 다른 소트프웨어
1221: 프레임 정보 분석 모듈 1223: 독립 프레임 5.1 디코더
1231: FED 모듈 1233: BED 모듈
1225: 종속 프레임 디코더 1235: FED 모듈
1237: BED 모듈 1227: 채널 매핑 모듈
201: FED(front-end decode) 모듈 203: BED(back-end decode) 모듈
1200: 프로세싱 시스템 1207: 네트워크 인터페이스(들)
1203: x86 프로세서 1209: 오디오 I/O 장치들
1205: 버스 서브시스템 1211: 저장 장치의 저장 서브시스템
1213: 인스트럭션들 1215: 다른 소트프웨어
1221: 프레임 정보 분석 모듈 1223: 독립 프레임 5.1 디코더
1231: FED 모듈 1233: BED 모듈
1225: 종속 프레임 디코더 1235: FED 모듈
1237: BED 모듈 1227: 채널 매핑 모듈
Claims (78)
- M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 디코딩하는 오디오 디코더(200) 동작 방법에 있어서,
인코딩 방법에 의해 인코딩되는 인코딩된 오디오 데이터의 N.n 채널들의 블록들을 포함하는 상기 오디오 데이터를 수신하는 단계;로서, 상기 인코딩 방법은 디지털 오디오 데이터의 N.n 채널들을 변환하는 단계와 주파수 도메인 기수 및 가수 데이터를 형성하고 압축하는 단계를 포함하는 것을 특징으로 하는 수신하는 단계; 및
상기 수신된 오디오 데이터를 디코딩하는 단계;로서,
상기 주파수 도메인 기수 및 가수 데이터를 압축해제하고, 디코딩(403)하는 단계와,
압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터로부터 변환 계수를 결정(605)하는 단계와,
상기 주파수 도메인 데이터를 역변환하고(607), 샘플링된 오디오 데이터를 결정하기 위하여 추가 프로세싱을 적용하는 단계;
M<N의 경우, 다운믹싱 데이터에 따라 결정된 샘플링된 오디오 데이터의 적어도 일부 블록들을 시간 도메인 다운믹싱(613)하는 단계를 포함하는 상기 오디오 데이터를 디코딩하는 단계;를 포함하며,
상기 시간 도메인 다운믹싱 하는 단계는 상기 다운믹싱 데이터가 앞서 사용된 다운믹싱 데이터로부터 변경되었는지 판단하는 단계와,
만약, 변경되었다면, 크로스 페이딩된 다운믹싱 데이터를 결정하기 위해 크로스 페이딩(cross-fading)을 적용하고, 크로스 페이딩된 다운믹싱 데이터에 따라 시간 도메인 다운믹싱하는 단계와,
만약 변경되지 않았다면, 직접 시간 도메인 다운믹싱하는 단계를 포함하는 것을 특징으로 하는
오디오 디코더 동작 방법 - 제1항에 있어서,
상기 방법은 하나 이상의 N.n 입력 채널들의 비공헌 채널을 식별(835)하는 단계를 포함하며,
비공헌 채널은 M.m 채널들에 대해 공헌하지 않은 채널이며,
상기 방법은 주파수 도메인 데이터를 역변환하는 것을 수행하지 않고 상기 하나 이상의 식별된 비공헌 채널에 추가 프로세싱을 적용하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제1항에 있어서,
상기 인코딩 방법에서의 상기 변환하는 단계는 오버랩-변환을 이용하며,
상기 추가 프로세싱은 샘플링된 오디오 데이터를 결정하기 위하여 윈도우잉 및 오버랩-추가 동작(609)을 적용하는 단계를 포함하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제1항에 있어서, 상기 인코딩 방법은
주파수 도메인 기수 및 가수 데이터와 관련된 메타데이터를 형성하고 압축하는 단계;를 포함하며,
상기 메타데이터는 선택적으로 임시 프리-노이즈 프로세싱 및 다운믹싱에 관련된 메타데이터를 포함하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제1항에 있어서,
상기 디코더(200)는 벡터 인스트럭션을 포함하는 스트리밍 단일 인스트럭션 다중 데이터 확장(SSE, streaming single instruction multiple data extensions)을 포함하는 인스트럭션 세트를 가지는 적어도 하나의 x86 프로세서를 이용하며,
상기 시간 도메인 다운믹싱하는 단계는 하나 이상의 x86 프로세서들 중 적어도 하나에서 벡터 인스트럭션을 운영하는 것을 포함하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제2항에 있어서,
n=1 및 m=0일 때, 상기 역변환 단계 및 상기 추가 프로세싱을 적용하는 단계는 저주파 효과 채널에서 수행되지 않는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제2항에 있어서,
인코딩된 블록들을 포함하는 상기 오디오 데이터는 상기 다운믹싱을 정의하는 정보를 포함하며,
상기 하나 이상의 비공헌 채널들을 식별하는 단계는 상기 다운믹싱을 정의하는 정보를 이용하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제7항에 있어서, 상기 다운믹싱을 정의하는 정보는
하나 이상의 채널들이 비공헌 채널들임을 나타내는 미리 정의된 값을 가지는 믹싱 레벨 파라미터들을 포함하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제2항에 있어서,
하나 이상의 비공헌 채널을 식별하는 단계는 하나 이상의 채널들이 하나 이상의 채널들과 관련되어 콘텐츠의 사소한(insignificant) 양을 가지고 있는지 식별하는 단계를 더 포함하며,
상기 하나 이상의 채널들이 하나 이상의 채널들과 관련되어 콘텐츠의 사소한 양을 가지고 있는지 식별하는 단계는, 설정가능한 임계에 대한 채널의 쌍 사이의 콘텐츠의 양의 측정의 차이를 비교하는 단계를 포함하며, 또는
채널은, 에너지 또는 절대 레벨이 다른 채널의 적어도 15 dB 미만이거나, 또는, 에너지 또는 절대 레벨이 다른 채널의 적어도 18 dB 미만이거나, 또는, 에너지 또는 절대 레벨이 다른 채널의 적어도 25 dB 미만이면, 다른 채널과 관련된 콘텐츠의 사소한 양을 가지는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제1항에 있어서,
상기 수신된 오디오 데이터는 코딩된 데이터의 프레임들의 비트스트림의 포맷을 가지며,
상기 디코딩 단계는 전단 디코딩 동작의 세트(201) 및 후단 디코딩 동작의 세트(203)로 분할되며,
상기 전단 디코딩 동작은 프레임에 대해 비트스트림의 프레임의 주파수 도메인 기수 및 가수 데이터를 압축 해제 및 디코딩하여 압축 해제되고 디코딩된 주파수 도메인 기수 및 가수 데이터 및 프레임에 포함된 메타데이터를 생성하고,
상기 후단 디코딩 동작은 변환 계수를 결정하는 단계와, 역변환 및 추가 프로세싱을 적용하는 단계와, 어떤 요구되는 임시 프리-노이즈 프로세싱 디코딩을 적용하는 단계와, M<N의 경우, 다운믹싱하는 단계를 포함하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제10항에 있어서,
상기 전단 디코딩 동작은 제2 경로가 따르는 제1 경로에서 수행되며,
상기 제1 경로는 각 블록별로 순차로 메타데이터를 압축 해제하는 단계와, 기수 및 가수 데이터가 저장된 위치에 대한 포인터들을 저장하는 단계를 포함하며,
상기 제2 경로는 압축된 기수 및 가수에 대해 저장된 포인터들을 이용하는 단계와, 각 채널에 대해 순차로 기수 및 가수를 압축 해제 및 디코딩하는 단계를 포함하는 것을 특징으로 하는 오디오 디코더 동작 방법. - 제1항에 있어서,
인코딩된 오디오 데이터는
AC-3 표준, E-AC-3 표준, 및 HE-AAC 표준으로 구성되는 표준의 세트 중 하나에 따라 인코딩되는 것을 특징으로 하는 오디오 디코더 동작 방법. - 프로세싱 시스템의 하나 이상의 프로세서에 의해 실행될 때, 프로세싱 시스템이 제1항 내지 제12항 중 어느 한 항에 따른 방법을 수행하도록 하는 디코딩 인스트럭션들을 저장하는 컴퓨터 판독 가능한 저장 매체.
- M>1, n은 인코딩된 오디오 데이터에서 저주파 효과(LFE, low frequency effects) 채널들의 수이고, m은 디코딩된 오디오 데이터에서 LFE 채널들의 수일 때, 디코딩된 오디오의 M.m 채널들을 포함하는 디코딩된 오디오 데이터를 형성하기 위해 오디오 데이터의 N.n 채널들의 인코딩된 블록들을 포함하는 오디오 데이터를 프로세싱하기 위한 장치(1200)로서,
상기 장치는 제1항 내지 제12항 중 어느 한 항에 따른 방법을 수행하기 위한 수단을 포함하는 것을 특징으로 하는 오디오 데이터를 프로세싱하기 위한 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30587110P | 2010-02-18 | 2010-02-18 | |
US61/305,871 | 2010-02-18 | ||
US35976310P | 2010-06-29 | 2010-06-29 | |
US61/359,763 | 2010-06-29 | ||
PCT/US2011/023533 WO2011102967A1 (en) | 2010-02-18 | 2011-02-03 | Audio decoder and decoding method using efficient downmixing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137012147A Division KR101707125B1 (ko) | 2010-02-18 | 2011-02-03 | 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120031937A KR20120031937A (ko) | 2012-04-04 |
KR101327194B1 true KR101327194B1 (ko) | 2013-11-06 |
Family
ID=43877072
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117027457A KR101327194B1 (ko) | 2010-02-18 | 2011-02-03 | 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법 |
KR1020137012147A KR101707125B1 (ko) | 2010-02-18 | 2011-02-03 | 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137012147A KR101707125B1 (ko) | 2010-02-18 | 2011-02-03 | 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법 |
Country Status (36)
Country | Link |
---|---|
US (3) | US8214223B2 (ko) |
EP (2) | EP2698789B1 (ko) |
JP (2) | JP5501449B2 (ko) |
KR (2) | KR101327194B1 (ko) |
CN (2) | CN102428514B (ko) |
AP (1) | AP3147A (ko) |
AR (2) | AR080183A1 (ko) |
AU (1) | AU2011218351B2 (ko) |
BR (1) | BRPI1105248B1 (ko) |
CA (3) | CA2757643C (ko) |
CO (1) | CO6501169A2 (ko) |
DK (1) | DK2360683T3 (ko) |
EA (1) | EA025020B1 (ko) |
EC (1) | ECSP11011358A (ko) |
ES (1) | ES2467290T3 (ko) |
GE (1) | GEP20146086B (ko) |
GT (1) | GT201100246A (ko) |
HK (2) | HK1160282A1 (ko) |
HN (1) | HN2011002584A (ko) |
HR (1) | HRP20140506T1 (ko) |
IL (3) | IL215254A (ko) |
MA (1) | MA33270B1 (ko) |
ME (1) | ME01880B (ko) |
MX (1) | MX2011010285A (ko) |
MY (1) | MY157229A (ko) |
NI (1) | NI201100175A (ko) |
NZ (1) | NZ595739A (ko) |
PE (1) | PE20121261A1 (ko) |
PL (1) | PL2360683T3 (ko) |
PT (1) | PT2360683E (ko) |
RS (1) | RS53336B (ko) |
SG (1) | SG174552A1 (ko) |
SI (1) | SI2360683T1 (ko) |
TW (2) | TWI557723B (ko) |
WO (1) | WO2011102967A1 (ko) |
ZA (1) | ZA201106950B (ko) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8948406B2 (en) * | 2010-08-06 | 2015-02-03 | Samsung Electronics Co., Ltd. | Signal processing method, encoding apparatus using the signal processing method, decoding apparatus using the signal processing method, and information storage medium |
US20120033819A1 (en) * | 2010-08-06 | 2012-02-09 | Samsung Electronics Co., Ltd. | Signal processing method, encoding apparatus therefor, decoding apparatus therefor, and information storage medium |
TWI716169B (zh) | 2010-12-03 | 2021-01-11 | 美商杜比實驗室特許公司 | 音頻解碼裝置、音頻解碼方法及音頻編碼方法 |
KR101809272B1 (ko) * | 2011-08-03 | 2017-12-14 | 삼성전자주식회사 | 다 채널 오디오 신호의 다운 믹스 방법 및 장치 |
CN104011655B (zh) | 2011-12-30 | 2017-12-12 | 英特尔公司 | 管芯上/管芯外存储器管理 |
KR101915258B1 (ko) * | 2012-04-13 | 2018-11-05 | 한국전자통신연구원 | 오디오 메타데이터 제공 장치 및 방법, 오디오 데이터 제공 장치 및 방법, 오디오 데이터 재생 장치 및 방법 |
RU2652468C2 (ru) * | 2012-07-02 | 2018-04-26 | Сони Корпорейшн | Декодирующее устройство, способ декодирования, кодирующее устройство, способ кодирования и программа |
US10083700B2 (en) | 2012-07-02 | 2018-09-25 | Sony Corporation | Decoding device, decoding method, encoding device, encoding method, and program |
US10083699B2 (en) * | 2012-07-24 | 2018-09-25 | Samsung Electronics Co., Ltd. | Method and apparatus for processing audio data |
PT2880654T (pt) * | 2012-08-03 | 2017-12-07 | Fraunhofer Ges Forschung | Descodificador e método para um conceito paramétrico generalizado de codificação de objeto de áudio espacial para caixas de downmix/upmix multicanal |
ES2624419T3 (es) | 2013-01-21 | 2017-07-14 | Dolby Laboratories Licensing Corporation | Sistema y procedimiento para optimizar la sonoridad y el rango dinámico a través de diferentes dispositivos de reproducción |
RU2602332C1 (ru) | 2013-01-21 | 2016-11-20 | Долби Лабораторис Лайсэнзин Корпорейшн | Перекодировка метаданных |
KR20140117931A (ko) * | 2013-03-27 | 2014-10-08 | 삼성전자주식회사 | 오디오 디코딩 장치 및 방법 |
KR102712214B1 (ko) | 2013-03-28 | 2024-10-04 | 돌비 인터네셔널 에이비 | 임의적 라우드스피커 배치들로의 겉보기 크기를 갖는 오디오 오브젝트들의 렌더링 |
TWI530941B (zh) * | 2013-04-03 | 2016-04-21 | 杜比實驗室特許公司 | 用於基於物件音頻之互動成像的方法與系統 |
TWI557727B (zh) | 2013-04-05 | 2016-11-11 | 杜比國際公司 | 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品 |
US9478224B2 (en) * | 2013-04-05 | 2016-10-25 | Dolby International Ab | Audio processing system |
CN108806704B (zh) * | 2013-04-19 | 2023-06-06 | 韩国电子通信研究院 | 多信道音频信号处理装置及方法 |
US8804971B1 (en) | 2013-04-30 | 2014-08-12 | Dolby International Ab | Hybrid encoding of higher frequency and downmixed low frequency content of multichannel audio |
CN104143334B (zh) * | 2013-05-10 | 2017-06-16 | 中国电信股份有限公司 | 可编程图形处理器及其对多路音频进行混音的方法 |
EP2804176A1 (en) | 2013-05-13 | 2014-11-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio object separation from mixture signal using object-specific time/frequency resolutions |
CN105229731B (zh) | 2013-05-24 | 2017-03-15 | 杜比国际公司 | 根据下混的音频场景的重构 |
RU2608847C1 (ru) | 2013-05-24 | 2017-01-25 | Долби Интернешнл Аб | Кодирование звуковых сцен |
US9980074B2 (en) | 2013-05-29 | 2018-05-22 | Qualcomm Incorporated | Quantization step sizes for compression of spatial components of a sound field |
TWM487509U (zh) * | 2013-06-19 | 2014-10-01 | 杜比實驗室特許公司 | 音訊處理設備及電子裝置 |
EP2830045A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concept for audio encoding and decoding for audio channels and audio objects |
EP2830047A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for low delay object metadata coding |
EP2830043A3 (en) | 2013-07-22 | 2015-02-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for Processing an Audio Signal in accordance with a Room Impulse Response, Signal Processing Unit, Audio Encoder, Audio Decoder, and Binaural Renderer |
CN117037810A (zh) | 2013-09-12 | 2023-11-10 | 杜比国际公司 | 多声道音频内容的编码 |
CN105531759B (zh) * | 2013-09-12 | 2019-11-26 | 杜比实验室特许公司 | 用于下混合音频内容的响度调整 |
CN109785851B (zh) | 2013-09-12 | 2023-12-01 | 杜比实验室特许公司 | 用于各种回放环境的动态范围控制 |
KR102329309B1 (ko) * | 2013-09-12 | 2021-11-19 | 돌비 인터네셔널 에이비 | Qmf 기반 처리 데이터의 시간 정렬 |
EP2866227A1 (en) | 2013-10-22 | 2015-04-29 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for decoding and encoding a downmix matrix, method for presenting audio content, encoder and decoder for a downmix matrix, audio encoder and audio decoder |
US9502045B2 (en) * | 2014-01-30 | 2016-11-22 | Qualcomm Incorporated | Coding independent frames of ambient higher-order ambisonic coefficients |
CN106030693A (zh) * | 2014-02-18 | 2016-10-12 | 杜比国际公司 | 从音频比特流估计节奏度量 |
MX357942B (es) | 2014-04-11 | 2018-07-31 | Samsung Electronics Co Ltd | Método y aparato para emitir una señal sonora, y medio de grabación legible en computadora. |
US10770087B2 (en) | 2014-05-16 | 2020-09-08 | Qualcomm Incorporated | Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals |
WO2016038876A1 (ja) * | 2014-09-08 | 2016-03-17 | 日本放送協会 | 符号化装置、復号化装置及び音声信号処理装置 |
US9886962B2 (en) * | 2015-03-02 | 2018-02-06 | Google Llc | Extracting audio fingerprints in the compressed domain |
US9837086B2 (en) * | 2015-07-31 | 2017-12-05 | Apple Inc. | Encoded audio extended metadata-based dynamic range control |
EP3748994B1 (en) * | 2015-08-25 | 2023-08-16 | Dolby Laboratories Licensing Corporation | Audio decoder and decoding method |
US10015612B2 (en) | 2016-05-25 | 2018-07-03 | Dolby Laboratories Licensing Corporation | Measurement, verification and correction of time alignment of multiple audio channels and associated metadata |
KR102572557B1 (ko) * | 2017-01-10 | 2023-08-30 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 오디오 디코더, 오디오 인코더, 디코딩된 오디오 신호를 제공하기 위한 방법, 인코딩된 오디오 신호를 제공하기 위한 방법, 오디오 스트림, 오디오 스트림 제공기, 및 스트림 식별자를 사용하는 컴퓨터 프로그램 |
US10210874B2 (en) * | 2017-02-03 | 2019-02-19 | Qualcomm Incorporated | Multi channel coding |
CN109389985B (zh) * | 2017-08-10 | 2021-09-14 | 华为技术有限公司 | 时域立体声编解码方法和相关产品 |
CN111295872B (zh) | 2017-11-10 | 2022-09-09 | 皇家Kpn公司 | 获得场景中的对象的图像数据方法、系统以及可读介质 |
TWI681384B (zh) * | 2018-08-01 | 2020-01-01 | 瑞昱半導體股份有限公司 | 音訊處理方法與音訊等化器 |
EP3881560B1 (en) | 2018-11-13 | 2024-07-24 | Dolby Laboratories Licensing Corporation | Representing spatial audio by means of an audio signal and associated metadata |
CN110035299B (zh) * | 2019-04-18 | 2021-02-05 | 雷欧尼斯(北京)信息技术有限公司 | 沉浸式对象音频的压缩传输方法与系统 |
CN110417978B (zh) * | 2019-07-24 | 2021-04-09 | 广东商路信息科技有限公司 | 菜单配置方法、装置、设备及存储介质 |
KR20220034860A (ko) | 2019-08-15 | 2022-03-18 | 돌비 인터네셔널 에이비 | 수정된 오디오 비트스트림의 생성 및 처리를 위한 방법 및 디바이스 |
US11662975B2 (en) * | 2020-10-06 | 2023-05-30 | Tencent America LLC | Method and apparatus for teleconference |
CN113035210A (zh) * | 2021-03-01 | 2021-06-25 | 北京百瑞互联技术有限公司 | 一种lc3音频混合方法、装置及存储介质 |
WO2024073401A2 (en) * | 2022-09-30 | 2024-04-04 | Sonos, Inc. | Home theatre audio playback with multichannel satellite playback devices |
WO2024213554A1 (fr) * | 2023-04-13 | 2024-10-17 | Orange | Traitement optimisé de réduction de canaux d'un signal audio stéréophonique |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998043466A1 (en) | 1997-03-21 | 1998-10-01 | Sony Electronics, Inc. | Audiochannel mixing |
WO2004059643A1 (en) | 2002-12-28 | 2004-07-15 | Samsung Electronics Co., Ltd. | Method and apparatus for mixing audio stream and information storage medium |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274740A (en) | 1991-01-08 | 1993-12-28 | Dolby Laboratories Licensing Corporation | Decoder for variable number of channel presentation of multidimensional sound fields |
US5867819A (en) | 1995-09-29 | 1999-02-02 | Nippon Steel Corporation | Audio decoder |
JP4213708B2 (ja) * | 1995-09-29 | 2009-01-21 | ユナイテッド・モジュール・コーポレーション | オーディオ復号装置 |
US6128597A (en) * | 1996-05-03 | 2000-10-03 | Lsi Logic Corporation | Audio decoder with a reconfigurable downmixing/windowing pipeline and method therefor |
SG54379A1 (en) | 1996-10-24 | 1998-11-16 | Sgs Thomson Microelectronics A | Audio decoder with an adaptive frequency domain downmixer |
SG54383A1 (en) * | 1996-10-31 | 1998-11-16 | Sgs Thomson Microelectronics A | Method and apparatus for decoding multi-channel audio data |
US5986709A (en) | 1996-11-18 | 1999-11-16 | Samsung Electronics Co., Ltd. | Adaptive lossy IDCT for multitasking environment |
US6356639B1 (en) * | 1997-04-11 | 2002-03-12 | Matsushita Electric Industrial Co., Ltd. | Audio decoding apparatus, signal processing device, sound image localization device, sound image control method, audio signal processing device, and audio signal high-rate reproduction method used for audio visual equipment |
US5946352A (en) | 1997-05-02 | 1999-08-31 | Texas Instruments Incorporated | Method and apparatus for downmixing decoded data streams in the frequency domain prior to conversion to the time domain |
WO1998051126A1 (en) | 1997-05-08 | 1998-11-12 | Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. | Method and apparatus for frequency-domain downmixing with block-switch forcing for audio decoding functions |
US6141645A (en) | 1998-05-29 | 2000-10-31 | Acer Laboratories Inc. | Method and device for down mixing compressed audio bit stream having multiple audio channels |
US6246345B1 (en) | 1999-04-16 | 2001-06-12 | Dolby Laboratories Licensing Corporation | Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding |
JP2002182693A (ja) | 2000-12-13 | 2002-06-26 | Nec Corp | オーディオ符号化、復号装置及びその方法並びにその制御プログラム記録媒体 |
US7610205B2 (en) | 2002-02-12 | 2009-10-27 | Dolby Laboratories Licensing Corporation | High quality time-scaling and pitch-scaling of audio signals |
DK1386312T3 (da) | 2001-05-10 | 2008-06-09 | Dolby Lab Licensing Corp | Forbedring af transient ydeevne af audio kodningssystemer med lav bithastighed ved reduktion af forudgående stöj |
US20030187663A1 (en) | 2002-03-28 | 2003-10-02 | Truman Michael Mead | Broadband frequency translation for high frequency regeneration |
CA2473343C (en) * | 2002-05-03 | 2012-03-27 | Harman International Industries, Incorporated | Multichannel downmixing device |
US7447631B2 (en) | 2002-06-17 | 2008-11-04 | Dolby Laboratories Licensing Corporation | Audio coding system using spectral hole filling |
JP2004194100A (ja) * | 2002-12-12 | 2004-07-08 | Renesas Technology Corp | オーディオ復号再生装置 |
KR20040060718A (ko) * | 2002-12-28 | 2004-07-06 | 삼성전자주식회사 | 오디오 스트림 믹싱 방법, 그 장치 및 그 정보저장매체 |
US7318027B2 (en) | 2003-02-06 | 2008-01-08 | Dolby Laboratories Licensing Corporation | Conversion of synthesized spectral components for encoding and low-complexity transcoding |
US7318035B2 (en) | 2003-05-08 | 2008-01-08 | Dolby Laboratories Licensing Corporation | Audio coding systems and methods using spectral component coupling and spectral component regeneration |
WO2005083684A1 (en) * | 2004-02-19 | 2005-09-09 | Koninklijke Philips Electronics N.V. | Decoding scheme for variable block length signals |
US7516064B2 (en) | 2004-02-19 | 2009-04-07 | Dolby Laboratories Licensing Corporation | Adaptive hybrid transform for signal analysis and synthesis |
CA3035175C (en) * | 2004-03-01 | 2020-02-25 | Mark Franklin Davis | Reconstructing audio signals with multiple decorrelation techniques |
US7983922B2 (en) * | 2005-04-15 | 2011-07-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for generating multi-channel synthesizer control signal and apparatus and method for multi-channel synthesizing |
EP1905002B1 (en) * | 2005-05-26 | 2013-05-22 | LG Electronics Inc. | Method and apparatus for decoding audio signal |
US8494667B2 (en) * | 2005-06-30 | 2013-07-23 | Lg Electronics Inc. | Apparatus for encoding and decoding audio signal and method thereof |
KR20070003594A (ko) * | 2005-06-30 | 2007-01-05 | 엘지전자 주식회사 | 멀티채널 오디오 신호에서 클리핑된 신호의 복원방법 |
KR100771401B1 (ko) | 2005-08-01 | 2007-10-30 | (주)펄서스 테크놀러지 | 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법 |
KR100760976B1 (ko) | 2005-08-01 | 2007-09-21 | (주)펄서스 테크놀러지 | 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법 |
KR100803212B1 (ko) * | 2006-01-11 | 2008-02-14 | 삼성전자주식회사 | 스케일러블 채널 복호화 방법 및 장치 |
BRPI0707136A2 (pt) * | 2006-01-19 | 2011-04-19 | Lg Electronics Inc | método e aparelho para processamento de um sinal de mìdia |
CN101361119B (zh) * | 2006-01-19 | 2011-06-15 | Lg电子株式会社 | 处理媒体信号的方法和装置 |
CN101406074B (zh) * | 2006-03-24 | 2012-07-18 | 杜比国际公司 | 解码器及相应方法、双耳解码器、包括该解码器的接收机或音频播放器及相应方法 |
ES2380059T3 (es) * | 2006-07-07 | 2012-05-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Aparato y método para combinar múltiples fuentes de audio codificadas paramétricamente |
JP2008236384A (ja) * | 2007-03-20 | 2008-10-02 | Matsushita Electric Ind Co Ltd | 音声ミキシング装置 |
JP4743228B2 (ja) * | 2008-05-22 | 2011-08-10 | 三菱電機株式会社 | デジタル音声信号解析方法、その装置、及び映像音声記録装置 |
JP5243527B2 (ja) * | 2008-07-29 | 2013-07-24 | パナソニック株式会社 | 音響符号化装置、音響復号化装置、音響符号化復号化装置および会議システム |
-
2011
- 2011-01-24 TW TW103112991A patent/TWI557723B/zh active
- 2011-01-24 TW TW100102481A patent/TWI443646B/zh active
- 2011-02-03 WO PCT/US2011/023533 patent/WO2011102967A1/en active Application Filing
- 2011-02-03 PE PE2011001738A patent/PE20121261A1/es active IP Right Grant
- 2011-02-03 SG SG2011069242A patent/SG174552A1/en unknown
- 2011-02-03 JP JP2012512088A patent/JP5501449B2/ja active Active
- 2011-02-03 GE GEAP201112462A patent/GEP20146086B/en unknown
- 2011-02-03 CN CN2011800021214A patent/CN102428514B/zh active Active
- 2011-02-03 CA CA2757643A patent/CA2757643C/en active Active
- 2011-02-03 CA CA2794047A patent/CA2794047A1/en active Pending
- 2011-02-03 MA MA34347A patent/MA33270B1/fr unknown
- 2011-02-03 MY MYPI2011004688A patent/MY157229A/en unknown
- 2011-02-03 AU AU2011218351A patent/AU2011218351B2/en active Active
- 2011-02-03 EA EA201171268A patent/EA025020B1/ru not_active IP Right Cessation
- 2011-02-03 CN CN201310311362.8A patent/CN103400581B/zh active Active
- 2011-02-03 KR KR1020117027457A patent/KR101327194B1/ko active IP Right Grant
- 2011-02-03 KR KR1020137012147A patent/KR101707125B1/ko active IP Right Grant
- 2011-02-03 AP AP2011005900A patent/AP3147A/xx active
- 2011-02-03 BR BRPI1105248-1A patent/BRPI1105248B1/pt active IP Right Grant
- 2011-02-03 MX MX2011010285A patent/MX2011010285A/es active IP Right Grant
- 2011-02-03 NZ NZ595739A patent/NZ595739A/en unknown
- 2011-02-03 CA CA2794029A patent/CA2794029C/en active Active
- 2011-02-15 AR ARP110100457A patent/AR080183A1/es active IP Right Grant
- 2011-02-17 EP EP13189503.9A patent/EP2698789B1/en active Active
- 2011-02-17 DK DK11154910.1T patent/DK2360683T3/da active
- 2011-02-17 RS RS20140286A patent/RS53336B/en unknown
- 2011-02-17 PL PL11154910T patent/PL2360683T3/pl unknown
- 2011-02-17 PT PT111549101T patent/PT2360683E/pt unknown
- 2011-02-17 ES ES11154910.1T patent/ES2467290T3/es active Active
- 2011-02-17 EP EP11154910.1A patent/EP2360683B1/en active Active
- 2011-02-17 SI SI201130184T patent/SI2360683T1/sl unknown
- 2011-02-17 ME MEP-2014-57A patent/ME01880B/me unknown
- 2011-09-20 IL IL215254A patent/IL215254A/en active IP Right Grant
- 2011-09-22 ZA ZA2011/06950A patent/ZA201106950B/en unknown
- 2011-09-27 US US13/246,572 patent/US8214223B2/en active Active
- 2011-09-28 GT GT201100246A patent/GT201100246A/es unknown
- 2011-09-29 EC EC2011011358A patent/ECSP11011358A/es unknown
- 2011-09-30 CO CO11129235A patent/CO6501169A2/es active IP Right Grant
- 2011-09-30 NI NI201100175A patent/NI201100175A/es unknown
- 2011-09-30 HN HN2011002584A patent/HN2011002584A/es unknown
-
2012
- 2012-01-13 HK HK12100408.2A patent/HK1160282A1/xx unknown
- 2012-05-29 US US13/482,878 patent/US8868433B2/en active Active
- 2012-10-25 HK HK12110666.8A patent/HK1170059A1/xx unknown
-
2013
- 2013-02-06 AR ARP130100367A patent/AR089918A2/es active IP Right Grant
- 2013-07-29 IL IL227702A patent/IL227702A/en active IP Right Grant
- 2013-07-29 IL IL227701A patent/IL227701A/en active IP Right Grant
-
2014
- 2014-03-11 JP JP2014047759A patent/JP5863858B2/ja active Active
- 2014-06-02 HR HRP20140506AT patent/HRP20140506T1/hr unknown
- 2014-10-18 US US14/517,800 patent/US9311921B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998043466A1 (en) | 1997-03-21 | 1998-10-01 | Sony Electronics, Inc. | Audiochannel mixing |
WO2004059643A1 (en) | 2002-12-28 | 2004-07-15 | Samsung Electronics Co., Ltd. | Method and apparatus for mixing audio stream and information storage medium |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101327194B1 (ko) | 효율적인 다운믹싱을 이용하는 오디오 디코더 및 디코딩 방법 | |
JP6778781B2 (ja) | エンコードされたオーディオ拡張メタデータベースのダイナミックレンジ制御 | |
JP2016525715A (ja) | オーディオチャネル及びオーディオオブジェクトのためのオーディオ符号化及び復号化の概念 | |
TWI521502B (zh) | 多聲道音訊的較高頻率和降混低頻率內容的混合編碼 | |
CN107077861B (zh) | 音频编码器和解码器 | |
US9779739B2 (en) | Residual encoding in an object-based audio system | |
AU2013201583B2 (en) | Audio decoder and decoding method using efficient downmixing | |
Chandramouli et al. | Implementation of AC-3 Decoder on TMS320C62x |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20171018 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191001 Year of fee payment: 7 |