KR20170054355A - 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 - Google Patents
포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 Download PDFInfo
- Publication number
- KR20170054355A KR20170054355A KR1020170056375A KR20170056375A KR20170054355A KR 20170054355 A KR20170054355 A KR 20170054355A KR 1020170056375 A KR1020170056375 A KR 1020170056375A KR 20170056375 A KR20170056375 A KR 20170056375A KR 20170054355 A KR20170054355 A KR 20170054355A
- Authority
- KR
- South Korea
- Prior art keywords
- downmix
- post
- signal
- downmix signal
- note
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 45
- 238000000605 extraction Methods 0.000 abstract description 4
- 238000013139 quantization Methods 0.000 description 31
- 230000001343 mnemonic effect Effects 0.000 description 30
- 238000012937 correction Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 239000000203 mixture Substances 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 14
- 230000006866 deterioration Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 239000000284 extract Substances 0.000 description 9
- 238000009877 rendering Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012732 spatial analysis Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/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/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
-
- 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- 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/018—Audio watermarking, i.e. embedding inaudible data in the audio signal
-
- 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/032—Quantisation or dequantisation of spectral components
- G10L19/035—Scalar quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereophonic System (AREA)
Abstract
포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치가 개시된다. 다객체 오디오 부호화 장치는 입력 객체 신호로부터 다운믹스 신호와 객체 정보를 추출하는 추출부, 상기 추출된 다운믹스 신호와 상기 포스트 다운믹스 신호를 이용하여 다운믹스 정보 파라미터를 결정하는 파라미터 결정부 및 상기 다운믹스 정보 파라미터와 상기 객체 정보를 조합하여 객체 비트스트림을 생성하는 비트스트림 생성부를 포함할 수 있다.
Description
본 발명은 다객체 오디오 신호를 부호화하고 복호화하는 장치에 관한 것으로, 보다 구체적으로는 외부에서 입력된 포스트 다운믹스 신호를 지원하고, 일반 다운믹스 신호와 포스트 다운믹스 신호와의 관계를 나타내는 다운믹스 정보 파라미터를 효율적으로 표현하기 위한 장치에 관한 것이다.
오디오 객체 신호를 효과적으로 압축하는 객체 기반 오디오 부호화 기술이 최근 주목을 받고 있다. 기존에 존재하는 MPEG Surround의 Arbitrary 다운믹스 지원을 위한 파라미터의 양자화/역양자화 기법은 부호화기의 다운믹스 신호와 Arbitrary 다운믹스 신호간의 CLD 파라미터를 추출하여 MPEG Surround 내의 0 dB를 기준으로 좌우 대칭으로 설계된 CLD 양자화 테이블을 이용하여 양자화/역양자화를 수행한다.
마스터링 다운믹스 신호는 CD와 같은 음반을 제작할 때 여러 개의 악기/트랙을 스테레오 신호로 믹싱한 후 CD가 표현할 수 있는 최대 Dynamic Range를 갖도록 증폭하고 Equalizer 등을 이용하여 변환하는 과정에서 생성되는 신호이므로, 스테레오 믹싱 신호와는 전혀 다른 신호특성을 가지게 된다.
이러한 마스터링 다운믹스 신호를 지원하기 위하여 MPEG Surround의 Arbitrary 다운믹스 처리 기술을 그대로 다객체 오디오 부호화기에 적용하였을 경우, 각 객체에 다운믹스 이득을 곱해서 생성하는 다운믹스 신호와 마스터링 다운믹스 신호간의 CLD가 각 객체의 다운믹스 이득에 의해서 0 dB 중심이 아닌 한쪽으로 치우쳐서 추출되므로 기존의 CLD 양자화 테이블의 한쪽만을 사용하는 문제점이 발생한다. 이로 인해 CLD 파라미터의 양자화/역양자화 과정에서 발생하는 양자화 오차가 크다는 또 다른 문제점이 발생한다.
이러한 문제점을 해결하여, 보다 효과적으로 오디오 객체를 부호화하고 복호화하는 방법이 요구된다.
본 발명은 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 및 복호화 장치를 제공한다.
본 발명은 각 객체에 곱해지는 다운믹스 이득을 고려하여 한쪽으로 치우쳐서 추출되는 다운믹스 정보 파라미터를 0dB를 기준으로 분포하도록 만든 후 양자화/역양자화를 수행하여 양자화 오차를 최소화하는 다객체 오디오 부호화 및 복호화 장치를 제공한다.
본 발명은 다운믹스 정보 파라미터를 통해 부호화 단계에서 생성되는 다운믹스 신호화 유사하게 포스트 다운믹스 신호를 조절함으로써 음질 열화를 최소화하는 다객체 오디오 부호화 및 복호화 장치를 제공한다.
본 발명의 일실시예에 따른 다객체 오디오 부호화 장치는 외부에서 입력된 포스트 다운믹스 신호를 이용하여 다객체 오디오를 부호화할 수 있다.
본 발명의 일실시예에 따른 다객체 오디오 부호화 장치는 입력 객체 신호로부터 다운믹스 신호와 객체 정보를 추출하는 추출부, 상기 추출된 다운믹스 신호와 상기 포스트 다운믹스 신호를 이용하여 다운믹스 정보 파라미터를 결정하는 파라미터 결정부 및 상기 다운믹스 정보 파라미터와 상기 객체 정보를 조합하여 객체 비트스트림을 생성하는 비트스트림 생성부를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 파라미터 결정부는 특정 프레임 내에서 상기 포스트 다운믹스 신호의 평균 파워를 상기 다운믹스 신호의 평균 파워와 동일하도록 상기 포스트 다운믹스 신호를 미리 설정한 값으로 스케일링하는 파워 오프셋 계산부; 및 상기 특정 프레임 내에서 상기 스케일링된 포스트 다운믹스 신호로부터 다운믹스 정보 파라미터를 추출하는 파라미터 추출부를 포함할 수 있다.
본 발명의 일측면에 따르면, 상기 파라미터 결정부는 상가 다운믹스 신호와 상기 포스트 다운믹스 신호 간의 차이를 보상하기 위한 다운믹스 파라미터 정보인 포스트 다운믹스 게인을 결정하고, 상기 비트스트림 생성부는 상기 포스트 다운믹스 게인을 비트스트림에 포함시켜 전송할 수 있다.
본 발명의 일측면에 따르면, 상기 파라미터 결정부는 상기 포스트 다운믹스 게인을 적용하여 보상한 포스트 다운믹스 신호와 상기 다운믹스 신호 간의 차이인 잔여 신호(residual signal)을 생성하고, 상기 비트스트림 생성부는, 상기 잔여 신호를 비트 스트림에 포함시켜 전송할 수 있다.
본 발명의 일실시예에 따른 다객체 오디오 복호화 장치는 외부에서 입력된 포스트 다운믹스 신호를 이용하여 다객체 오디오를 복호화할 수 있다.
본 발명의 일실시예에 따른 다객체 오디오 복호화 장치는 객체 비트스트림으로부터 다운믹스 정보 파라미터와 객체 정보를 추출하는 비트스트림 처리부, 상기 다운믹스 정보 파라미터에 따라 외부에서 입력된 포스트 다운믹스 신호를 조절하여 다운믹스 신호를 생성하는 다운믹스 신호 생성부 및 상기 객체 정보를 통해 상기 다운믹스 신호를 복호화하여 객체 신호를 생성하는 복호화부를 포함할 수 있다.
본 발명의 일측면에 따르면 다객체 오디오 복호화 장치는 사용자 제어 정보를 통해 상기 생성된 객체 신호를 렌더링하여 재생할 수 있는 형태의 출력 신호를 생성하는 렌더링부를 더 포함할 수 있다.
본 발명의 일실시예에 따르면, 상기 다운믹스 신호 생성부는 상기 다운믹스 정보 파라미터로부터 추출된 파워 오프셋 값을 이용하여 상기 포스트 다운믹스 신호를 스케일링하는 파워 오프셋 보상부 및 상기 다운믹스 정보 파라미터를 이용하여 상기 스케일링된 포스트 다운믹스 신호를 다운믹스 신호로 변환하는 다운믹스 신호 조절부를 포함할 수 있다.
본 발명의 다른 일실시예에 따른 다객체 오디오 복호화 장치는 객체 비트스트림으로부터 다운믹스 정보 파라미터와 객체 정보를 추출하는 비트스트림 처리부, 상기 다운믹스 정보 파라미터와 포스트 다운믹스 신호를 이용하여 다운믹스 신호를 생성하는 다운믹스 신호 생성부, 상기 객체 정보와 사용자 제어 정보를 이용하여 트랜스코딩을 수행하는 트랜스코딩부, 상기 트랜스코딩 결과를 이용하여 상기 다운믹스 신호를 전처리하는 다운믹스 신호 전처리부 및 상기 전처리된 다운믹스 신호와 상기 트랜스코딩 결과를 이용하여 MPEG Surround 복호화를 수행하는 MPEG Surround 복호화부를 포함할 수 있다.
본 발명의 일실시예에 따르면, 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 및 복호화 장치가 제공된다.
본 발명의 일실시예에 따르면, 각 객체에 곱해지는 다운믹스 이득을 고려하여 한쪽으로 치우쳐서 추출되는 다운믹스 정보 파라미터를 0dB를 기준으로 분포하도록 만든 후 양자화/역양자화를 수행하여 양자화 오차를 최소화하는 다객체 오디오 부호화 및 복호화 장치가 제공된다.
본 발명의 일실시예에 따르면, 다운믹스 정보 파라미터를 통해 부호화 단계에서 생성되는 다운믹스 신호화 유사하게 포스트 다운믹스 신호를 조절함으로써 음질 열화를 최소화하는 다객체 오디오 부호화 및 복호화 장치가 제공된다.
도 1은 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치를 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 3은 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 4는 본 발명의 다른 실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 5는 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치에서 CLD를 보정하는 과정을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따라 CLD 보정값을 역보정하여 포스트 다운믹스 신호를 보상하는 과정을 도시한 도면이다.
도 7은 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치에서 파라미터 결정부의 상세 구성을 도시한 도면이다.
도 8은 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치에서 다운믹스 신호 생성부의 상세 구성을 도시한 도면이다.
도 9는 본 발명의 일실시예에 따라 SAOC 비트스트림 및 포스트 다운믹스 신호를 출력하는 과정을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 3은 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 4는 본 발명의 다른 실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 5는 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치에서 CLD를 보정하는 과정을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따라 CLD 보정값을 역보정하여 포스트 다운믹스 신호를 보상하는 과정을 도시한 도면이다.
도 7은 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치에서 파라미터 결정부의 상세 구성을 도시한 도면이다.
도 8은 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치에서 다운믹스 신호 생성부의 상세 구성을 도시한 도면이다.
도 9는 본 발명의 일실시예에 따라 SAOC 비트스트림 및 포스트 다운믹스 신호를 출력하는 과정을 도시한 도면이다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 다만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치를 설명하기 위한 도면이다.
본 발명의 일실시예에 따른 다객체 오디오 부호화 장치(100)는 외부로부터 입력되는 포스트 다운믹스 신호를 이용하여 다객체 오디오 신호를 부호화할 수 있다. 다객체 오디오 부호화 장치(100)는 입력 객체 신호(101)를 이용하여 다운믹스 신호와 객체 정보를 생성할 수 있다. 이 때, 객체 정보는 입력 객체 신호(101)들로부터 예측된 공간 파라미터(Spatial Cue Parameter)들을 의미할 수 있으며, MPEG SAOC의 경우 프레임별 밴드별로 계산된 객체들간의 레벨차이값인 OLD(Object Level Difference)가 대표적인 파라미터이다.
그리고, 다객체 오디오 부호화 장치(100)는 부호화 과정에서 생성되는 다운믹스 신호와 추가적으로 입력되는 포스트 다운믹스 신호(102) 간의 분석을 통해 포스트 다운믹스 신호(102)를 원래의 다운믹스 신호로 조절하기 위한 다운믹스 정보 파라미터를 생성할 수 있다. 다객체 오디오 부호화 장치(100)는 다운믹스 정보 파라미터와 객체 정보를 이용하여 객체 비트스트림(104)을 생성할 수 있다. 또한, 포스트 다운믹스 신호(103)에서 볼 수 있듯이, 입력된 포스트 다운믹스 신호(102)는 재생을 위해 특별한 처리 과정을 거치지 않고 그대로 출력될 수 있다.
이 때, 다운믹스 정보 파라미터는 다객체 오디오 부호화 장치(100)의 다운믹스 신호화 포스트 다운믹스 신호 간의 채널 레벨 차이인 CLD 파라미터를 추출하여 특정 중심을 기준으로 좌우 대칭되게 설계된 CLD 양자화 테이블을 이용하여 양자화/역양자화될 수 있다. 일례로, 본 발명의 일실시예에 따르면, 다객체 오디오 부호화 장치(100)는 각 객체 신호에 적용되는 다운믹스 이득을 고려하여 한쪽으로 치우쳐서 추출되는 CLD 파라미터를 특정 중심으로 좌우 대칭되게 설계될 수 있다.
도 2는 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 2를 참고하면, 다객체 오디오 부호화 장치(100)는 객체 정보 추출 및 다운믹스 생성부(201), 파라미터 결정부(202) 및 비트스트림 생성부(203)를 포함할 수 있다. 본 발명의 일실시예에 따른 다객체 오디오 부호화 장치(100)는 외부에서 입력된 포스트 다운믹스 신호(102)를 지원할 수 있다. 본 발명에 있어서, 포스트 다운믹스는 마스터링 다운믹스로 표현될 수 있다.
객체 정보 추출 및 다운믹스 생성부(201)는 입력 객체 신호(101)로부터 다운믹스 신호와 객체 정보를 생성할 수 있다.
파라미터 결정부(202)는 입력 객체 신호(101)로부터 추출된 다운믹스 신호와 외부로부터 입력된 포스트 다운믹스 신호(102) 간의 분석을 통해 다운믹스 정보 파라미터를 결정할 수 있다. 파라미터 결정부(202)는 다운믹스 신호와 포스트 다운믹스 신호의 신호 크기 차이를 계산하여 다운믹스 정보 파라미터를 계산할 수 있다. 또한, 포스트 다운믹스 신호(103)에서 볼 수 있듯이, 입력된 포스트 다운믹스 신호(102)는 부호화 과정을 통해 별도로 처리되지 않고, 재생을 위해 입력된 신호 그대로 출력될 수 있다.
일례로, 파라미터 결정부(202)는 포스트 다운믹스 신호를 다운믹스 신호와 최대로 유사하게 조절하여 균일하게 좌우대칭으로 분포되는 포스트 다운믹스 게인을 다운믹스 정보 파라미터로 결정할 수 있다. 구체적으로, 각 객체에 곱해지는 다운믹스 이득을 고려하여 한쪽으로 치우쳐서 추출되는 포스트 다운믹스 게인인 다운믹스 정보 파라미터를 0db를 중심으로 균일하게 분포하도록 결정할 수 있다. 이 후, 포스트 다운믹스 게인은 체널 레벨 차이값인 CLD(Channel Level Difference)와 동일한 양자화 테이블을 통해 양자화될 수 있다.
포스트 다운믹스 신호를 부호화 단계에서 생성되는 다운믹스 신호와 유사하게 조절하여 복호화를 수행하였을 경우, 부호화 단계에서 생성되는 다운믹스 신호를 그대로 사용하여 복호화를 수행하는 것과 비교하였을 때 음질 열화는 불가피하게 발생한다. 이러한 음질 열화를 최소화하기 위해 포스트 다운믹스 신호를 조절하기 위해 사용되는 다운믹스 정보 파라미터를 효과적으로 추출할 필요가 있다. 다운믹스 정보 파라미터는 MPEG Surround의 ADG(Arbitary Downmix Gain)로 사용되는 CLD와 같은 파라미터이다.
이와 같은 CLD 파라미터는 전송을 위해 양자화 과정을 거칠 수 있으며, 0dB를 기준으로 좌우대칭되도록 균일하게 함으로써 파라미터의 양자화 오차를 최소화할 수 있으며, 이를 통해 포스트 다운믹스 신호를 이용함으로써 발생하는 음질 열화를 감소시킬 수 있다.
비트스트림 생성부(203)는 다운믹스 정보 파라미터와 객체 정보를 조합하여 객체 비트스트림을 생성할 수 있다.
도 3은 본 발명의 일실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 3을 참고하면, 다객체 오디오 복호화 장치(300)는 다운믹스 신호 생성부(301), 비트스트림 처리부(302), 복호화부(303) 및 렌더링부(304)를 포함할 수 있다. 다객체 오디오 복호화 장치(300)는 외부에서 입력된 포스트 다운믹스 신호를 지원할 수 이다.
비트스트림 처리부(302)는 다객체 오디오 부호화 장치로부터 전송된 객체 비트스트림(306)으로부터 다운믹스 정보 파라미터(308)와 객체 정보(309)를 추출할 수 있다. 그러면, 다운믹스 신호 생성부(301)는 다운믹스 정보 파라미터(308)에 따라 외부에서 입력된 포스트 다운믹스 신호(305)를 조절하여 다운믹스 신호(307)를 생성할 수 있다. 이 때, 다운믹스 정보 파라미터(308)는 다운믹스 신호(3070와 포스트 다운믹스 신호(305)의 신호 크기 차이를 보상할 수 있다.
복호화부(303)는 객체 정보(309)를 통해 다운믹스 신호(307)를 복호화하여 객체 신호(310)를 생성할 수 있다. 렌더링부(304)는 사용자 제어 정보 (311)를 통해 객체 신호(310)를 렌더링하여 재생할 수 있는 형태의 출력 신호(312)를 생성할 수 있다. 이 때, 사용자 제어 정보(311)는 사용자로부터 입력되거나 비트스트림을 통해 전달된 복원된 객체 신호들을 믹싱하여 출력 신호를 생성하기 위해 필요한 정보(특정객체의 삭제 등) 또는 렌더링 매트릭스를 의미할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치의 전체 구성을 도시한 블록 다이어그램이다.
도 4를 참고하면, 다객체 오디오 복호화 장치(400)는 다운믹스 신호 생성부(401), 비트스트림 처리부(402), 다운믹스 신호 전처리부(403), 트랜스코딩부(404) 및 MPEG Surround 복호화부(405)를 포함할 수 있다.
비트스트림 처리부(402)는 객체 비트스트림(407)으로부터 다운믹스 정보 파라미터(409)와 객체 정보(410)를 추출할 수 있다. 다운믹스 정보 생성부(401)는 다운믹스 정보 파라미터(409)와 포스트 다운믹스 신호(406)를 이용하여 다운믹스 신호(408)를 생성할 수 있다. 이 때, 포스트 다운믹스 신호(406)는 재생을 위해 그대로 출력될 수 있다.
트랜스코딩부(404)는 객체 정보(410)와 사용자 제어 정보(412)를 이용하여 트랜스코딩을 수행할 수 있다. 그러면, 다운믹스 신호 전처리부(403)는 트랜스코딩 결과를 이용하여 다운믹스 신호(408)를 전처리할 수 있다. MPEG Surround 복호화부(405)는 전처리된 다운믹스 신호(411)와 트랜스코딩 결과인 MPEG Surround 비트스트림(413)을 이용하여 MPEG Surround 복호화를 수행할 수 있다. 다객체 오디오 복호화 장치(400)는 MPEG Surround 복호화 과정을 통해 최종적인 출력 신호(414)를 출력할 수 있다.
도 5는 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치에서 CLD를 보정하는 과정을 도시한 도면이다.
포스트 다운믹스 신호를 부호화 단계에서 생성되는 다운믹스 신호와 유사하게 조절하여 복호화를 수행하는 경우, 부호화 단계에서 생성되는 다운믹스 신호를 그대로 사용하여 복호화를 수행하는 것과 비교했을 때, 생성되는 출력 신호의 음질 열화는 불가피하다. 이러한 음질 열화를 최소화하기 위해, 포스트 다운믹스 신호를 원래의 다운믹스 신호와 최대한 유사하게 조절하는 것이 중요하다. 이를 위해서 포스트 다운믹스 신호를 조절하는 데 사용되는 다운믹스 정보 파라미터를 효과적으로 추출하고 표현하는 것이 필요하다.
본 발명의 일실시예에 따르면, 원래의 다운믹스 신호와 포스트 다운믹스 신호의 신호 크기 차이를 다운믹스 정보 파라미터로 사용할 수 있으며, 이는 MPEG Surround의 ADG로 사용되는 CLD와 같은 파라미터이다. 아래 표 1과 같은 MPEG Surround의 CLD 양자화 테이블을 통해 다운믹스 정보 파라미터는 양자화될 수 있다.
따라서 다운믹스 정보 파라미터가 0 dB를 기준으로 좌우로 유사하게 분포하였을 경우, 다운믹스 정보 파라미터의 양자화 오차는 최소화될 수 있으며, 포스트 다운믹스 신호를 이용함으로써 발생하는 음질의 열화를 줄일 수 있다.
그러나, 일반적인 다객체 오디오 부호화기에서 생성되는 다운믹스 신호와 포스트 다운믹스 신호에 의한 다운믹스 정보 파라미터는 다운믹스 신호 생성을 위한 믹싱매트릭스의 각 입력 객체별 다운믹스 이득에 의해서 그 분포의 중심이 0 dB가 아닌 한쪽으로 치우치게 된다. 예를 들어 각 객체의 원래 이득을 1인 경우, 일반적으로 클리핑(clipping)에 의한 다운믹스 신호의 왜곡을 막기 위해 각 객체에 1 보다 작은 다운믹스 이득을 곱하므로 생성되는 다운믹스 신호는 포스트 다운믹스 신호에 비해서 기본적으로 다운믹스 이득만큼의 작은 파워를 가진다. 이 때, 다운믹스 신호와 포스트 다운미스 신호 간의 크기 차이를 측정하면 중심이 0 dB가 아닌 다른 값에 위치하게 된다.
위와 같은 다운믹스 정보 파라미터의 양자화를 수행하면, 표 1의 양자화 표에서 0 dB를 기준으로 한쪽 부분만 사용하여 양자화 오차가 커질 수 있다. 이러한 문제를 해결할 수 있도록 본 발명의 일실시예에 따르면, 다운믹스 이득을 이용하여 추출되는 다운믹스 정보 파라미터를 보정하여 추출되는 파라미터의 분포 중심이 0 dB에 가깝게 만든 후 양자화할 수 있다. 상세한 방법은 아래와 같다.
어떤 X 채널에 대한 믹싱 매트릭스에 따라 생성된 다운믹스 신호와 외부에서 입력되는 포스트 다운믹스 신호 간의 특정 프레임/파라미터밴드에서의 다운믹스 정보 파라미터 즉 CLD는 수학식 1과 같다.
여기에서 n은 프레임, k는 파라미터밴드, Pm은 포스트 다운믹스 신호의 파워, Pd는 다운믹스신호의 파워를 나타낸다. 그리고, X 채널의 다운믹스 신호를 생성하기 위한 믹싱 매트릭스의 각 객체별 다운믹스 이득을 GX1,GX2,...,GX N 이라고 하면, 추출된 다운믹스 정보 파라미터 CLD의 분포의 중심을 0으로 보정해주기 위한 CLD 보정값은 수학식 2와 같다.
여기에서 N은 전체 입력 객체의 수를 나타내며, 믹싱 매트릭스의 각 객체별 다운믹스 이득은 모든 프레임/파라미터밴드에서 동일하므로 수학식 2의 값은 상수이다. 따라서 수학식 3과 같이 수학식 1의 다운믹스 정보 파라미터에서 수학식 2의 보정값을 뺌으로서 보정된 CLD 값을 구할 수 있다.
이렇게 보정된 CLD 값은 표 1에 따라서 양자화를 수행하여 다객체 오디오 복호화 장치에 전달될 수 있다. 또한, 보정된 CLD값의 통계적 분포가 일반적인 CLD에 비해서 0dB 근처로 많이 몰리는 즉, 가우시안 분포가 아닌 라플라시안 분포 특성을 나타내므로, 표 1과 같은 양자화 테이블이 아닌 -10dB에서 +10dB 근처를 보다 세밀하게 구분한 양자화 테이블을 적용하여 양자화 오차를 최소화할 수 있다.
한편 다객체 오디오 부호화 장치에서는 각 객체의 믹싱 정도를 나타내는 다운믹스 이득(DMG: Downmix Gain)과 DCLD(Downmix Channel Level Difference)를 수학식 4,5,6과 같이 계산하여 다객체 오디오 부호화 장치에 전송할 수 있다. 구체적으로, 다운믹스 신호가 모노인 경우와 스테레오인 경우를 고려해준다.
수학식 4는 다운믹스 신호가 모노일 경우의 다운믹스 이득을 계산하는 과정을나타내며, 수학식 5와 6은 다운믹스 신호가 스테레오 다운믹스 신호일 경우, 각 객체가 다운믹스 신호의 좌우채널에 기여한 정도를 계산하는 과정을 나타낸다. 이 때, 는 은 왼쪽 채널, 은 오른쪽 채널을 나타낸다.
본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 경우 모노 다운믹스는 고려대상이 아니므로, 수학식 5와 수학식 6이 적용될 수 있다. 전송된 보정 CLD 값과 수학식 5와 6의 다운믹스 이득을 이용하여 다운믹스 정보 파라미터를 다시 복원하기 위해서는 먼저 수학식 5와 6을 이용하여 수학식 2와 같은 보정값을 계산하여준다. 수학식 5와 6을 이용하여 왼쪽 채널과 오른쪽 채널에 대한 각 객체별 다운믹스 이득이 수학식 7과 같이 계산될 수 있다.
이렇게 계산된 각 채널에 대한 객체별 다운믹스 이득을 이용하여 수학식 2와 같은 방법으로 수학식 8과 같은 CLD의 보정값이 계산될 수 있다.
CLD 보정값과 전송된 보정 CLD의 역양자화 값을 이용하여 수학식 9와 같이 다객체 오디오 복호화 장치는 다운믹스 정보 파라미터를 복원할 수 있다.
이렇게 복원된 파라미터는 일반적인 양자화를 거쳐 복원되는 파라미터에 비해 양자화 오차가 감소됨으로써 다객체 오디오 부호화 장치는 음질 열화를 줄일 수 있다.
한편, 원본 다운믹스 신호를 가장 많이 변형시키는 과정은 이퀄라이저를 통한 밴드별 레벨 조정 과정이다. MPEG Surround의 ADG는 CLD를 파라미터로 사용하면 CLD 값은 20밴드 또는 28밴드로 처리되며, 마스터링 과정중의 이퀄라이저는 24밴드 또는 36밴드 등 다양한 조합을 이용한다. 다운믹스 정보 파라미터를 추출하는 파라미터 밴드가 CLD 파라미터 밴드가 아닌 이퀄라이저 밴드로 설정하여 처리함으로써 두 밴드사이의 불일치와 해상도 차이에 의한 오차가 최소화될 수 있다.
다운믹스 정보 파라미터 해석 밴드는 아래 표 2와 같다.
bsMDProcessingBand의 값이 1보다 큰 경우, 상용 이퀄라이저가 사용하는 별도로 정의한 밴드로 다운믹스 정보 파라미터가 추출될 수 있다.
위에서 언급한 사항을 바탕으로 도 5의 내용을 설명한다.
포스트 다운믹스 신호를 처리하기 위해서, 다객체 오디오 부호화 장치는 수학식 2와 같이 믹싱 매트릭스(509)를 이용하여 DMG/CLD 계산 과정(501)을 수행할 수 있다. 그리고, 다객체 오디오 부호화 장치는 DMG/CLD 양자화 과정(502)을 통해 DMG와 CLD를 양자화할 수 있다. 그리고, 다객체 오디오 부호화 장치는 DMG/CLD 역양자화 과정(503)을 통해 DMG와 CLD를 역양자화하고, 믹싱 매트릭스 계산 과정(504)을 수행할 수 있다. 그리고, 다객체 오디오 부호화 장치는 믹싱 매트릭스를 통해 CLD 보정값 계산 과정(505)를 수행함으로써 CLD의 오차를 감소시킬 수 있다.
이 후, 다객체 오디오 부호화 장치는 포스트 다운믹스 신호(511)를 이용하여 CLD 계산 과정(506)을 수행할 수 있다. 그리고, 다객체 오디오 부호화 장치는 CLD 보정값 계산 과정(505)을 통해 계산된 CLD 보정값(507)을 이용하여 CLD 양자화 과정(508)을 수행함으로써 양자화된 보정 CLD(512)를 생성할 수 있다.
도 6은 본 발명의 일실시예에 따라 CLD 보정값을 역보정하여 포스트 다운믹스 신호를 보상하는 과정을 도시한 도면이다. 도 6은 도 5의 과정에 대한 반대 과정을 나타낸다.
다객체 오디오 복호화 장치는 양자화된 DMG/CLD(607)를 이용하여 DMG/CLD 역양자화 과정(601)을 수행할 수 있다. 그리고, 다객체 오디오 복호화 장치는 역양자화된 DMG/CLD를 이용하여 믹싱 매트릭스 계산 과정(602)을 수행할 수 있고, 그 후에 CLD 보정값 계산 과정(603)을 수행할 수 있다. 다객체 오디오 복호화 장치는 양자화된 보정 CLD(608)를 이용하여 보정 CLD 역양자화 과정(604)을 수행할 수 있다. 그리고, CLD 보정값 계산 과정(603)을 통해 결정된 CLD 보정값(605)과 역양자화된 보정 CLD값을 이용하여 포스트 다운믹스 보상 과정(606)을 수행할 수 있다. 포스트 다운믹스 보상 과정(606)은 포스트 다운믹스 신호가 적용될 수 있다. 이와 같은 과정을 통해 최종적인 믹싱 다운믹스(609)가 생성될 수 있다.
도 7은 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치에서 파라미터 결정부의 상세 구성을 도시한 도면이다.
도 7을 참고하면, 파라미터 결정부(700)는 파워 오프셋 계산부(701) 및 파라미터 추출부(702)를 포함할 수 있다. 파라미터 결정부(700)는 도 2의 파라미터 결정부(202)에 대응할 수 있다.
파워 오프셋 결정부(701)는 특정 프레임 내에서 포스트 다운믹스 신호(703)의 평균 파워를 다운믹스 신호(704)의 평균 파워와 동일하도록 포스트 다운믹스 신호를 미리 설정한 값으로 스케일링할 수 있다. 즉, 일반적으로 포스트 다운믹스 신호가 부호화 과정을 통해 생성된 다운믹스 신호에 비해서 큰 파워를 가지게 됨으로, 파워 오프셋 결정부(701)는 스케일링 과정을 통해 양 신호 간에 파워를 동일하게 조절할 수 있다.
파라미터 추출부(702)는 특정 프레임 내에서 스케일링된 포스트 다운믹스 신호(705)로부터 다운믹스 정보 파라미터(706)를 추출할 수 있다. 포스트 다운믹스 신호(703)는 다운믹스 정보 파라미터(706)를 결정하기 위해 사용될 수 있다. 또는, 포스트 다운믹스 신호(707)는 특정한 처리 과정없이 바로 출력될 수 있다.
결국, 파라미터 결정부(700)는 다운믹스 신호와 포스트 다운믹스 신호의 신호 크기 차이를 계산하여 다운믹스 정보 파라미터를 결정할 수 있다. 구체적으로, 파라미터 결정부(700)는 포스트 다운믹스 신호를 다운믹스 신호와 최대로 유사하게 조절하여 균일하게 좌우대칭으로 분포되는 포스트 다운믹스 게인을 다운믹스 정보 파라미터로 결정할 수 있다.
도 8은 본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 다객체 오디오 복호화 장치에서 다운믹스 신호 생성부의 상세 구성을 도시한 도면이다.
도 8을 참고하면, 다운믹스 신호 생성부(800)는 파워 오프셋 보상부(801), 다운믹스 신호 조절부(802)를 포함할 수 있다.
파워 오프셋 보상부(801)는 다운믹스 정보 파라미터(804)로부터 추출된 파워 오프셋 값을 이용하여 포스트 다운믹스 신호(803)를 스케일링할 수 있다. 파워 오프셋값은 다운믹스 정보 파라미터에 포함되어 전송되며, 파워 오프셋값은 필요에 따라 전송되지 않을 수 있다.
다운믹스 신호 조절부(802)는 스케일링된 포스트 다운믹스 신호(805)를 다운믹스 신호(806)로 변환할 수 있다.
도 9는 본 발명의 일실시예에 따라 SAOC 비트스트림 및 포스트 다운믹스 신호를 출력하는 과정을 도시한 도면이다.
포스트 다운믹스 신호를 지원하기 위한 다운믹스 정보 파라미터를 적용하기 위해서는 다음의 syntax를 추가할 수 있다.
Syntax | No. of bits | Mnemonic |
SAOCSpecificConfig() | ||
{ | ||
bsSamplingFrequencyIndex; | 4 | uimsbf |
if ( bsSamplingFrequencyIndex == 15 ) { | ||
bsSamplingFrequency; | 24 | uimsbf |
} | ||
bsFreqRes; | 3 | uimsbf |
bsFrameLength; | 7 | uimsbf |
frameLength = bsFrameLength + 1; | ||
bsNumObjects; | 5 | uimsbf |
numObjects = bsNumObjects+1; | ||
for ( i=0; i<numObjects; i++ ) { | ||
bsRelatedTo[i][i] = 1; | ||
for( j=i+1; j<numObjects; j++ ) { | ||
bsRelatedTo[i][j]; | 1 | uimsbf |
bsRelatedTo[j][i] = bsRelatedTo[i][j]; | ||
} | ||
} | ||
bsTransmitAbsNrg; | 1 | uimsbf |
bsNumDmxChannels; | 1 | uimsbf |
numDmxChannels = bsNumDmxChannels + 1; | ||
if ( numDmxChannels == 2 ) { | ||
bsTttDualMode; | 1 | uimsbf |
if (bsTttDualMode) { | ||
bsTttBandsLow; | 5 | uimsbf |
} | ||
else { | ||
bsTttBandsLow = numBands; | ||
} | ||
} | ||
bsMasteringDownmix; | 1 | uimsbf |
ByteAlign(); | ||
SAOCExtensionConfig(); | ||
} |
Syntax | No. of bits | Mnemonic |
SAOCExtensionConfigData(1) | ||
{ | ||
bsMasteringDownmixResidualSampingFrequencyIndex; | 4 | uimsbf |
bsMasteringDownmixResidualFramesPerSpatialFrame; | 2 | Uimsbf |
bsMasteringDwonmixResidualBands; | 5 | Uimsbf |
} |
Syntax | No. of bits | Mnemonic |
SAOCFrame() | ||
{ | ||
FramingInfo(); | Note 1 | |
bsIndependencyFlag; | 1 | uimsbf |
startBand = 0; | ||
for( i=0; i<numObjects; i++ ) { | ||
[old[i], oldQuantCoarse[i], oldFreqResStride[i]] = | Notes 2 | |
EcData(t_OLD,prevOldQuantCoarse[i], prevOldFreqResStride[i], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
if ( bsTransmitAbsNrg ) { | ||
[nrg, nrgQuantCoarse, nrgFreqResStride] = | Notes 2 | |
EcData( t_NRG, prevNrgQuantCoarse, prevNrgFreqResStride, | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
for( i=0; i<numObjects; i++ ) { | ||
for( j=i+1; j<numObjects; j++ ) { | ||
if ( bsRelatedTo[i][j] != 0 ) { | ||
[ioc[i][j], iocQuantCoarse[i][j], iocFreqResStride[i][j] = | Notes 2 | |
EcData(t_ICC,prevIocQuantCoarse[i][j], prevIocFreqResStride[i][j], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
} | ||
} | ||
firstObject = 0; | ||
[dmg, dmgQuantCoarse, dmgFreqResStride] = | ||
EcData( t_CLD, prevDmgQuantCoarse, prevIocFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
if ( numDmxChannels > 1 ) { | ||
[cld, cldQuantCoarse, cldFreqResStride] = | ||
EcData( t_CLD, prevCldQuantCoarse, prevCldFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
} | ||
if (bsMasteringDownmix ! = 0 ) { | ||
for ( i=0; i<numDmxChannels;i++){ | ||
EcData(t_CLD, prevMdgQuantCoarse[i], prevMdgFreqResStride[i], | ||
numParamSets, , bsIndependencyFlag, startBand, numBands ); | ||
} | ||
ByteAlign(); | ||
SAOCExtensionFrame(); | ||
} | ||
Note 1: FramingInfo() is defined in ISO/IEC 23003-1:2007, Table 16. | ||
Note 2: EcData() is defined in ISO/IEC 23003-1:2007, Table 23. |
Syntax | No. of bits | Mnemonic |
SpatialExtensionDataFrame(1) | ||
{ | ||
MasteringDownmixResidualData(); | ||
} |
Syntax | No. of bits | Mnemonic |
MasteringDownmixResidualData() | ||
{ | ||
resFrameLength = numSlots / | Note 1 | |
(bsMasteringDownmixResidualFramesPerSpatialFrame + 1); | ||
for (i = 0; i < numAacEl; i++) { | Note 2 | |
bsMasteringDownmixResidualAbs[i] | 1 | Uimsbf |
bsMasteringDownmixResidualAlphaUpdateSet[i] | 1 | Uimsbf |
for (rf = 0; rf < bsMasteringDownmixResidualFramesPerSpatialFrame + 1;rf++) | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | Note 3 | |
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
if (window_sequence == EIGHT_SHORT_SEQUENCE) && | ||
((resFrameLength == 18) || (resFrameLength == 24) || | Note 6 | |
(resFrameLength == 30)) { | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | ||
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
} | ||
} | ||
} | ||
} | ||
Note 1: numSlots is defined by numSlots = bsFrameLength + 1. Furthermore the division shall be interpreted as ANSI C integer division. | ||
Note 2: numAacEl indicates the number of AAC elements in the current frame according to Table 81 in ISO/IEC 23003-1 . | ||
Note 3: AacEl indicates the type of each AAC element in the current frame according to Table 81 in ISO/IEC 23003-1. | ||
Note 4: individual_channel_stream(0) according to MPEG-2 AAC Low Complexity profile bitstream syntax described in subclause 6.3 of ISO/IEC 13818-7. | ||
Note 5: channel_pair_element(); according to MPEG-2 AAC Low Complexity profile bitsream syntax described in subclause 6.3 of ISO/IEC 13818-7. The parameter common_window is set to 1. | ||
Note 6: The value of window_sequence is determined in individual_channel_stream(0) or channel_pair_element(). |
본 발명에서 언급하는 포스트 마스터링 신호는 음악 CD에서와 같이 마스터링 엔지니어에 의해 생성되는 오디오 신호를 지칭하므로 원거리화상회의, 게임 등과 같이 MPEG-D SAOC에서 다루는 다양한 응용분야에서의 일반적인 다운믹스 신호에 대해서 적용할 수 있다. 또한, 본 발명은 포스트 다운믹스 신호에 대해 마스터링 다운믹스와 유사한 명칭으로 extended 다운믹스, enhanced 다운믹스, professional 다운믹스 등으로 지칭될 수 있다. 또한 이를 활용하기 위하여 표 3에서 7에서 설명한 MPEG-D SAOC의 마스터링 다운믹스 지원을 위한 syntax는 다음의 표들과 같이 각각의 다운믹스 신호의 명칭에 따라 재정의 될 수 있다.
Syntax | No. of bits | Mnemonic |
SAOCSpecificConfig() | ||
{ | ||
bsSamplingFrequencyIndex; | 4 | uimsbf |
if ( bsSamplingFrequencyIndex == 15 ) { | ||
bsSamplingFrequency; | 24 | uimsbf |
} | ||
bsFreqRes; | 3 | uimsbf |
bsFrameLength; | 7 | uimsbf |
frameLength = bsFrameLength + 1; | ||
bsNumObjects; | 5 | uimsbf |
numObjects = bsNumObjects+1; | ||
for ( i=0; i<numObjects; i++ ) { | ||
bsRelatedTo[i][i] = 1; | ||
for( j=i+1; j<numObjects; j++ ) { | ||
bsRelatedTo[i][j]; | 1 | uimsbf |
bsRelatedTo[j][i] = bsRelatedTo[i][j]; | ||
} | ||
} | ||
bsTransmitAbsNrg; | 1 | uimsbf |
bsNumDmxChannels; | 1 | uimsbf |
numDmxChannels = bsNumDmxChannels + 1; | ||
if ( numDmxChannels == 2 ) { | ||
bsTttDualMode; | 1 | uimsbf |
if (bsTttDualMode) { | ||
bsTttBandsLow; | 5 | uimsbf |
} | ||
else { | ||
bsTttBandsLow = numBands; | ||
} | ||
} | ||
bsExtendedDownmix; | 1 | uimsbf |
ByteAlign(); | ||
SAOCExtensionConfig(); | ||
} |
Syntax | No. of bits | Mnemonic |
SAOCExtensionConfigData(1) | ||
{ | ||
bsExtendedDownmixResidualSampingFrequencyIndex; | 4 | uimsbf |
bsExtendedDownmixResidualFramesPerSpatialFrame; | 2 | Uimsbf |
bsExtendedDwonmixResidualBands; | 5 | Uimsbf |
} |
Syntax | No. of bits | Mnemonic |
SAOCFrame() | ||
{ | ||
FramingInfo(); | Note 1 | |
bsIndependencyFlag; | 1 | uimsbf |
startBand = 0; | ||
for( i=0; i<numObjects; i++ ) { | ||
[old[i], oldQuantCoarse[i], oldFreqResStride[i]] = | Notes 2 | |
EcData(t_OLD,prevOldQuantCoarse[i], prevOldFreqResStride[i], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
if ( bsTransmitAbsNrg ) { | ||
[nrg, nrgQuantCoarse, nrgFreqResStride] = | Notes 2 | |
EcData( t_NRG, prevNrgQuantCoarse, prevNrgFreqResStride, | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
for( i=0; i<numObjects; i++ ) { | ||
for( j=i+1; j<numObjects; j++ ) { | ||
if ( bsRelatedTo[i][j] != 0 ) { | ||
[ioc[i][j], iocQuantCoarse[i][j], iocFreqResStride[i][j] = | Notes 2 | |
EcData(t_ICC,prevIocQuantCoarse[i][j], prevIocFreqResStride[i][j], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
} | ||
} | ||
firstObject = 0; | ||
[dmg, dmgQuantCoarse, dmgFreqResStride] = | ||
EcData( t_CLD, prevDmgQuantCoarse, prevIocFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
if ( numDmxChannels > 1 ) { | ||
[cld, cldQuantCoarse, cldFreqResStride] = | ||
EcData( t_CLD, prevCldQuantCoarse, prevCldFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
} | ||
if (bsExtendedDownmix ! = 0 ) { | ||
for ( i=0; i<numDmxChannels;i++){ | ||
EcData(t_CLD, prevMdgQuantCoarse[i], prevMdgFreqResStride[i], | ||
numParamSets, , bsIndependencyFlag, startBand, numBands ); | ||
} | ||
ByteAlign(); | ||
SAOCExtensionFrame(); | ||
} | ||
Note 1: FramingInfo() is defined in ISO/IEC 23003-1:2007, Table 16. | ||
Note 2: EcData() is defined in ISO/IEC 23003-1:2007, Table 23. |
Syntax | No. of bits | Mnemonic |
SpatialExtensionDataFrame(1) | ||
{ | ||
ExtendedDownmixResidualData(); | ||
} |
Syntax | No. of bits | Mnemonic |
ExtendedDownmixResidualData() | ||
{ | ||
resFrameLength = numSlots / | Note 1 | |
(bsExtendedDownmixResidualFramesPerSpatialFrame + 1); | ||
for (i = 0; i < numAacEl; i++) { | Note 2 | |
bsExtendedDownmixResidualAbs[i] | 1 | Uimsbf |
bsExtendedDownmixResidualAlphaUpdateSet[i] | 1 | Uimsbf |
for (rf = 0; rf < bsExtendedDownmixResidualFramesPerSpatialFrame + 1;rf++) | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | Note 3 | |
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
if (window_sequence == EIGHT_SHORT_SEQUENCE) && | ||
((resFrameLength == 18) || (resFrameLength == 24) || | Note 6 | |
(resFrameLength == 30)) { | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | ||
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
} | ||
} | ||
} | ||
} | ||
Note 1: numSlots is defined by numSlots = bsFrameLength + 1. Furthermore the division shall be interpreted as ANSI C integer division. | ||
Note 2: numAacEl indicates the number of AAC elements in the current frame according to Table 81 in ISO/IEC 23003-1 . | ||
Note 3: AacEl indicates the type of each AAC element in the current frame according to Table 81 in ISO/IEC 23003-1. | ||
Note 4: individual_channel_stream(0) according to MPEG-2 AAC Low Complexity profile bitstream syntax described in subclause 6.3 of ISO/IEC 13818-7. | ||
Note 5: channel_pair_element(); according to MPEG-2 AAC Low Complexity profile bitsream syntax described in subclause 6.3 of ISO/IEC 13818-7. The parameter common_window is set to 1. | ||
Note 6: The value of window_sequence is determined in individual_channel_stream(0) or channel_pair_element(). |
Syntax | No. of bits | Mnemonic |
SAOCSpecificConfig() | ||
{ | ||
bsSamplingFrequencyIndex; | 4 | uimsbf |
if ( bsSamplingFrequencyIndex == 15 ) { | ||
bsSamplingFrequency; | 24 | uimsbf |
} | ||
bsFreqRes; | 3 | uimsbf |
bsFrameLength; | 7 | uimsbf |
frameLength = bsFrameLength + 1; | ||
bsNumObjects; | 5 | uimsbf |
numObjects = bsNumObjects+1; | ||
for ( i=0; i<numObjects; i++ ) { | ||
bsRelatedTo[i][i] = 1; | ||
for( j=i+1; j<numObjects; j++ ) { | ||
bsRelatedTo[i][j]; | 1 | uimsbf |
bsRelatedTo[j][i] = bsRelatedTo[i][j]; | ||
} | ||
} | ||
bsTransmitAbsNrg; | 1 | uimsbf |
bsNumDmxChannels; | 1 | uimsbf |
numDmxChannels = bsNumDmxChannels + 1; | ||
if ( numDmxChannels == 2 ) { | ||
bsTttDualMode; | 1 | uimsbf |
if (bsTttDualMode) { | ||
bsTttBandsLow; | 5 | uimsbf |
} | ||
else { | ||
bsTttBandsLow = numBands; | ||
} | ||
} | ||
bsEnhancedDownmix; | 1 | uimsbf |
ByteAlign(); | ||
SAOCExtensionConfig(); | ||
} |
Syntax | No. of bits | Mnemonic |
SAOCExtensionConfigData(1) | ||
{ | ||
bsEnhancedDownmixResidualSampingFrequencyIndex; | 4 | uimsbf |
bsEnhancedDownmixResidualFramesPerSpatialFrame; | 2 | Uimsbf |
bsEnhancedDwonmixResidualBands; | 5 | Uimsbf |
} |
Syntax | No. of bits | Mnemonic |
SAOCFrame() | ||
{ | ||
FramingInfo(); | Note 1 | |
bsIndependencyFlag; | 1 | uimsbf |
startBand = 0; | ||
for( i=0; i<numObjects; i++ ) { | ||
[old[i], oldQuantCoarse[i], oldFreqResStride[i]] = | Notes 2 | |
EcData(t_OLD,prevOldQuantCoarse[i], prevOldFreqResStride[i], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
if ( bsTransmitAbsNrg ) { | ||
[nrg, nrgQuantCoarse, nrgFreqResStride] = | Notes 2 | |
EcData( t_NRG, prevNrgQuantCoarse, prevNrgFreqResStride, | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
for( i=0; i<numObjects; i++ ) { | ||
for( j=i+1; j<numObjects; j++ ) { | ||
if ( bsRelatedTo[i][j] != 0 ) { | ||
[ioc[i][j], iocQuantCoarse[i][j], iocFreqResStride[i][j] = | Notes 2 | |
EcData(t_ICC,prevIocQuantCoarse[i][j], prevIocFreqResStride[i][j], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
} | ||
} | ||
firstObject = 0; | ||
[dmg, dmgQuantCoarse, dmgFreqResStride] = | ||
EcData( t_CLD, prevDmgQuantCoarse, prevIocFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
if ( numDmxChannels > 1 ) { | ||
[cld, cldQuantCoarse, cldFreqResStride] = | ||
EcData( t_CLD, prevCldQuantCoarse, prevCldFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
} | ||
if (bsEnhancedDownmix ! = 0 ) { | ||
for ( i=0; i<numDmxChannels;i++){ | ||
EcData(t_CLD, prevMdgQuantCoarse[i], prevMdgFreqResStride[i], | ||
numParamSets, , bsIndependencyFlag, startBand, numBands ); | ||
} | ||
ByteAlign(); | ||
SAOCExtensionFrame(); | ||
} | ||
Note 1: FramingInfo() is defined in ISO/IEC 23003-1:2007, Table 16. | ||
Note 2: EcData() is defined in ISO/IEC 23003-1:2007, Table 23. |
Syntax | No. of bits | Mnemonic |
SpatialExtensionDataFrame(1) | ||
{ | ||
EnhancedDownmixResidualData(); | ||
} |
Syntax | No. of bits | Mnemonic |
EnhancedDownmixResidualData() | ||
{ | ||
resFrameLength = numSlots / | Note 1 | |
(bsEnhancedDownmixResidualFramesPerSpatialFrame + 1); | ||
for (i = 0; i < numAacEl; i++) { | Note 2 | |
bsEnhancedDownmixResidualAbs[i] | 1 | Uimsbf |
bsEnhancedDownmixResidualAlphaUpdateSet[i] | 1 | Uimsbf |
for (rf = 0; rf < bsEnhancedDownmixResidualFramesPerSpatialFrame + 1;rf++) | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | Note 3 | |
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
if (window_sequence == EIGHT_SHORT_SEQUENCE) && | ||
((resFrameLength == 18) || (resFrameLength == 24) || | Note 6 | |
(resFrameLength == 30)) { | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | ||
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
} | ||
} | ||
} | ||
} | ||
Note 1: numSlots is defined by numSlots = bsFrameLength + 1. Furthermore the division shall be interpreted as ANSI C integer division. | ||
Note 2: numAacEl indicates the number of AAC elements in the current frame according to Table 81 in ISO/IEC 23003-1 . | ||
Note 3: AacEl indicates the type of each AAC element in the current frame according to Table 81 in ISO/IEC 23003-1. | ||
Note 4: individual_channel_stream(0) according to MPEG-2 AAC Low Complexity profile bitstream syntax described in subclause 6.3 of ISO/IEC 13818-7. | ||
Note 5: channel_pair_element(); according to MPEG-2 AAC Low Complexity profile bitsream syntax described in subclause 6.3 of ISO/IEC 13818-7. The parameter common_window is set to 1. | ||
Note 6: The value of window_sequence is determined in individual_channel_stream(0) or channel_pair_element(). |
Syntax | No. of bits | Mnemonic |
SAOCSpecificConfig() | ||
{ | ||
bsSamplingFrequencyIndex; | 4 | uimsbf |
if ( bsSamplingFrequencyIndex == 15 ) { | ||
bsSamplingFrequency; | 24 | uimsbf |
} | ||
bsFreqRes; | 3 | uimsbf |
bsFrameLength; | 7 | uimsbf |
frameLength = bsFrameLength + 1; | ||
bsNumObjects; | 5 | uimsbf |
numObjects = bsNumObjects+1; | ||
for ( i=0; i<numObjects; i++ ) { | ||
bsRelatedTo[i][i] = 1; | ||
for( j=i+1; j<numObjects; j++ ) { | ||
bsRelatedTo[i][j]; | 1 | uimsbf |
bsRelatedTo[j][i] = bsRelatedTo[i][j]; | ||
} | ||
} | ||
bsTransmitAbsNrg; | 1 | uimsbf |
bsNumDmxChannels; | 1 | uimsbf |
numDmxChannels = bsNumDmxChannels + 1; | ||
if ( numDmxChannels == 2 ) { | ||
bsTttDualMode; | 1 | uimsbf |
if (bsTttDualMode) { | ||
bsTttBandsLow; | 5 | uimsbf |
} | ||
else { | ||
bsTttBandsLow = numBands; | ||
} | ||
} | ||
bsProfessionalDownmix; | 1 | uimsbf |
ByteAlign(); | ||
SAOCExtensionConfig(); | ||
} |
Syntax | No. of bits | Mnemonic |
SAOCExtensionConfigData(1) | ||
{ | ||
bsProfessionalDownmixResidualSampingFrequencyIndex; | 4 | uimsbf |
bsProfessionalDownmixResidualFramesPerSpatialFrame; | 2 | Uimsbf |
bsProfessionalDwonmixResidualBands; | 5 | Uimsbf |
} |
Syntax | No. of bits | Mnemonic |
SAOCFrame() | ||
{ | ||
FramingInfo(); | Note 1 | |
bsIndependencyFlag; | 1 | uimsbf |
startBand = 0; | ||
for( i=0; i<numObjects; i++ ) { | ||
[old[i], oldQuantCoarse[i], oldFreqResStride[i]] = | Notes 2 | |
EcData(t_OLD,prevOldQuantCoarse[i], prevOldFreqResStride[i], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
if ( bsTransmitAbsNrg ) { | ||
[nrg, nrgQuantCoarse, nrgFreqResStride] = | Notes 2 | |
EcData( t_NRG, prevNrgQuantCoarse, prevNrgFreqResStride, | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
for( i=0; i<numObjects; i++ ) { | ||
for( j=i+1; j<numObjects; j++ ) { | ||
if ( bsRelatedTo[i][j] != 0 ) { | ||
[ioc[i][j], iocQuantCoarse[i][j], iocFreqResStride[i][j] = | Notes 2 | |
EcData(t_ICC,prevIocQuantCoarse[i][j], prevIocFreqResStride[i][j], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
} | ||
} | ||
firstObject = 0; | ||
[dmg, dmgQuantCoarse, dmgFreqResStride] = | ||
EcData( t_CLD, prevDmgQuantCoarse, prevIocFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
if ( numDmxChannels > 1 ) { | ||
[cld, cldQuantCoarse, cldFreqResStride] = | ||
EcData( t_CLD, prevCldQuantCoarse, prevCldFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
} | ||
if (bsProfessionalDownmix ! = 0 ) { | ||
for ( i=0; i<numDmxChannels;i++){ | ||
EcData(t_CLD, prevMdgQuantCoarse[i], prevMdgFreqResStride[i], | ||
numParamSets, , bsIndependencyFlag, startBand, numBands ); | ||
} | ||
ByteAlign(); | ||
SAOCExtensionFrame(); | ||
} | ||
Note 1: FramingInfo() is defined in ISO/IEC 23003-1:2007, Table 16. | ||
Note 2: EcData() is defined in ISO/IEC 23003-1:2007, Table 23. |
Syntax | No. of bits | Mnemonic |
SpatialExtensionDataFrame(1) | ||
{ | ||
ProfessionalDownmixResidualData(); | ||
} |
Syntax | No. of bits | Mnemonic |
ProfessionalDownmixResidualData() | ||
{ | ||
resFrameLength = numSlots / | Note 1 | |
(bsProfessionalDownmixResidualFramesPerSpatialFrame + 1); | ||
for (i = 0; i < numAacEl; i++) { | Note 2 | |
bsProfessionalDownmixResidualAbs[i] | 1 | Uimsbf |
bsProfessionalDownmixResidualAlphaUpdateSet[i] | 1 | Uimsbf |
for (rf = 0; rf < bsProfessionalDownmixResidualFramesPerSpatialFrame + 1;rf++) | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | Note 3 | |
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
if (window_sequence == EIGHT_SHORT_SEQUENCE) && | ||
((resFrameLength == 18) || (resFrameLength == 24) || | Note 6 | |
(resFrameLength == 30)) { | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | ||
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
} | ||
} | ||
} | ||
} | ||
Note 1: numSlots is defined by numSlots = bsFrameLength + 1. Furthermore the division shall be interpreted as ANSI C integer division. | ||
Note 2: numAacEl indicates the number of AAC elements in the current frame according to Table 81 in ISO/IEC 23003-1 . | ||
Note 3: AacEl indicates the type of each AAC element in the current frame according to Table 81 in ISO/IEC 23003-1. | ||
Note 4: individual_channel_stream(0) according to MPEG-2 AAC Low Complexity profile bitstream syntax described in subclause 6.3 of ISO/IEC 13818-7. | ||
Note 5: channel_pair_element(); according to MPEG-2 AAC Low Complexity profile bitsream syntax described in subclause 6.3 of ISO/IEC 13818-7. The parameter common_window is set to 1. | ||
Note 6: The value of window_sequence is determined in individual_channel_stream(0) or channel_pair_element(). |
Syntax | No. of bits | Mnemonic |
SAOCSpecificConfig() | ||
{ | ||
bsSamplingFrequencyIndex; | 4 | uimsbf |
if ( bsSamplingFrequencyIndex == 15 ) { | ||
bsSamplingFrequency; | 24 | uimsbf |
} | ||
bsFreqRes; | 3 | uimsbf |
bsFrameLength; | 7 | uimsbf |
frameLength = bsFrameLength + 1; | ||
bsNumObjects; | 5 | uimsbf |
numObjects = bsNumObjects+1; | ||
for ( i=0; i<numObjects; i++ ) { | ||
bsRelatedTo[i][i] = 1; | ||
for( j=i+1; j<numObjects; j++ ) { | ||
bsRelatedTo[i][j]; | 1 | uimsbf |
bsRelatedTo[j][i] = bsRelatedTo[i][j]; | ||
} | ||
} | ||
bsTransmitAbsNrg; | 1 | uimsbf |
bsNumDmxChannels; | 1 | uimsbf |
numDmxChannels = bsNumDmxChannels + 1; | ||
if ( numDmxChannels == 2 ) { | ||
bsTttDualMode; | 1 | uimsbf |
if (bsTttDualMode) { | ||
bsTttBandsLow; | 5 | uimsbf |
} | ||
else { | ||
bsTttBandsLow = numBands; | ||
} | ||
} | ||
bsPostDownmix; | 1 | uimsbf |
ByteAlign(); | ||
SAOCExtensionConfig(); | ||
} |
Syntax | No. of bits | Mnemonic |
SAOCExtensionConfigData(1) | ||
{ | ||
bsPostDownmixResidualSampingFrequencyIndex; | 4 | uimsbf |
bsPostDownmixResidualFramesPerSpatialFrame; | 2 | Uimsbf |
bsPostDwonmixResidualBands; | 5 | Uimsbf |
} |
Syntax | No. of bits | Mnemonic |
SAOCFrame() | ||
{ | ||
FramingInfo(); | Note 1 | |
bsIndependencyFlag; | 1 | uimsbf |
startBand = 0; | ||
for( i=0; i<numObjects; i++ ) { | ||
[old[i], oldQuantCoarse[i], oldFreqResStride[i]] = | Notes 2 | |
EcData(t_OLD,prevOldQuantCoarse[i], prevOldFreqResStride[i], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
if ( bsTransmitAbsNrg ) { | ||
[nrg, nrgQuantCoarse, nrgFreqResStride] = | Notes 2 | |
EcData( t_NRG, prevNrgQuantCoarse, prevNrgFreqResStride, | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
for( i=0; i<numObjects; i++ ) { | ||
for( j=i+1; j<numObjects; j++ ) { | ||
if ( bsRelatedTo[i][j] != 0 ) { | ||
[ioc[i][j], iocQuantCoarse[i][j], iocFreqResStride[i][j] = | Notes 2 | |
EcData(t_ICC,prevIocQuantCoarse[i][j], prevIocFreqResStride[i][j], | ||
numParamSets, bsIndependencyFlag, startBand, numBands ); | ||
} | ||
} | ||
} | ||
firstObject = 0; | ||
[dmg, dmgQuantCoarse, dmgFreqResStride] = | ||
EcData( t_CLD, prevDmgQuantCoarse, prevIocFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
if ( numDmxChannels > 1 ) { | ||
[cld, cldQuantCoarse, cldFreqResStride] = | ||
EcData( t_CLD, prevCldQuantCoarse, prevCldFreqResStride, | ||
numParamSets, bsIndependencyFlag, firstObject, numObjects ); | ||
} | ||
if (bsPostDownmix ! = 0 ) { | ||
for ( i=0; i<numDmxChannels;i++){ | ||
EcData(t_CLD, prevMdgQuantCoarse[i], prevMdgFreqResStride[i], | ||
numParamSets, , bsIndependencyFlag, startBand, numBands ); | ||
} | ||
ByteAlign(); | ||
SAOCExtensionFrame(); | ||
} | ||
Note 1: FramingInfo() is defined in ISO/IEC 23003-1:2007, Table 16. | ||
Note 2: EcData() is defined in ISO/IEC 23003-1:2007, Table 23. |
Syntax | No. of bits | Mnemonic |
SpatialExtensionDataFrame(1) | ||
{ | ||
PostDownmixResidualData(); | ||
} |
Syntax | No. of bits | Mnemonic |
PostDownmixResidualData() | ||
{ | ||
resFrameLength = numSlots / | Note 1 | |
(bsPostDownmixResidualFramesPerSpatialFrame + 1); | ||
for (i = 0; i < numAacEl; i++) { | Note 2 | |
bsPostDownmixResidualAbs[i] | 1 | Uimsbf |
bsPostDownmixResidualAlphaUpdateSet[i] | 1 | Uimsbf |
for (rf = 0; rf < bsPostDownmixResidualFramesPerSpatialFrame + 1;rf++) | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | Note 3 | |
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
if (window_sequence == EIGHT_SHORT_SEQUENCE) && | ||
((resFrameLength == 18) || (resFrameLength == 24) || | Note 6 | |
(resFrameLength == 30)) { | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | ||
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
} | ||
} | ||
} | ||
} | ||
Note 1: numSlots is defined by numSlots = bsFrameLength + 1. Furthermore the division shall be interpreted as ANSI C integer division. | ||
Note 2: numAacEl indicates the number of AAC elements in the current frame according to Table 81 in ISO/IEC 23003-1 . | ||
Note 3: AacEl indicates the type of each AAC element in the current frame according to Table 81 in ISO/IEC 23003-1. | ||
Note 4: individual_channel_stream(0) according to MPEG-2 AAC Low Complexity profile bitstream syntax described in subclause 6.3 of ISO/IEC 13818-7. | ||
Note 5: channel_pair_element(); according to MPEG-2 AAC Low Complexity profile bitsream syntax described in subclause 6.3 of ISO/IEC 13818-7. The parameter common_window is set to 1. | ||
Note 6: The value of window_sequence is determined in individual_channel_stream(0) or channel_pair_element(). |
위 표에서 표8에서 12까지는 extended 다운믹스, 표 13에서 17까지는 enhanced 다운믹스, 표 18에서 22까지는 professional 다운믹스, 표 23에서 27까지는 post 다운믹스 지원을 위한 MPEG-D SAOC의 syntax이다.
도 9를 참고하면, 오디오 객체(907~909)에 대해 QMF(Quadrature mirror filter) 분석(901~903)이 수행됨으로써 공간 분석(904)이 수행된다. 그리고, 입력된 포스트 다운믹스 신호(910, 911)에 대해서도 QMF 분석(905, 906)이 수행됨으로써 공간 분석이 수행될 수 있다. 입력된 포스트 다운믹스 신호(910, 911)은 특별한 과정을 거치지 않고 재생을 위해 바로 포스트 다운믹스 신호(915, 916)로 출력될 수 있다.
오디오 객체(907~909)에 대해 공간 분석(904)이 수행되면, 표준 공간 파라미터(912)와 포스트 다운믹스 게인(913)이 생성되며, 이를 이용하여 SAOC 비트 스트림(914)이 생성될 수 있다.
본 발명의 일실시예에 따른 다객체 오디오 신호 부호화 장치는 다운믹스 신호뿐만 아니라 오디오 객체 신호에 추가하여 외부로부터 입력되는 포스트 다운믹스 신호(예를 들어, 마스터링 다운믹스 신호)를 처리하기 위해 다운믹스 신호와 포스트 다운믹스 신호 간의 차이를 보상하기 위한 다운믹스 정보 파라미터인 포스트 다운믹스 게인(PDG)을 생성하여 비트스트림에 포함시킬 수 있다. 이 때, 포스트 다운믹스 게인의 기본적인 구조는 MPEG Surround의 arbitrary downmix gain(ADG)와 동일할 수 있다.
그러면, 본 발명의 일실시예에 따른 다객체 오디오 복호화 장치는 포스트 다운믹스 게인과 포스트 다운믹스 신호를 이용하여 다운믹스 신호를 보상할 수 있다. 이 때, 포스트 다운믹스 게인은 MPEG Surroung의 CLD와 동일한 양자화 테이블을 이용하여 양자화될 수 있다.
포스트 다운믹스 게인과 다른 공간 파라미터(OLD, NRG, IOC, DMG, DCLD)와 비교하면 표 28과 같으며, 포스트 다운믹스 게인은 MPEG Surround의 CLD 양자화 테이블을 이용하여 역양자화 될 수 있다.
Parameter | idxOLD | idxNRG | idxIOC | idxDMG | idxDCLD | idxPDG |
Dimension | [pi][ps][pb] | [ps][pb] | [pi][pi][ps][pb] | [ps][pi] | [ps][pi] | [ps][pi] |
Value range | 0 ... 15 | 0 ...63 | 0 ... 7 | -15 ... 15 | -15 ... 15 | -15 ... 15 |
역양자화된 포스트 다운믹스 게인을 이용하여 입력된 포스트 다운믹스 신호를보상하는 과정은 다음과 같다.
포스트 다운믹스 신호에 대한 보상 과정은 믹싱 매트릭스를 입력 다운믹스 신호에 곱하여 보상된 다운믹스 신호를 생성할 수 있다. 이 때, SAOCSpecificConfig()의 Syntax 내의 bsPostDownmix 값이 0이면 포스트 다운믹스 신호의 보상 과정이 수행되지 않고, 1이면 수행된다. 즉, bsPostDownmix 값이 0이면 입력된 다운믹스 신호가 아무런 처리 과정없이 출력되며, 믹싱 매트릭스는 모노 다운믹스일 경우 수학식 10으로, 스테레오 다운믹스일 경우 수학식 11로 표현될 수 있다.
bsPostDownmix값이 1일 경우, 입력된 다운믹스 신호는 역양자화된 포스트 다운믹스 게인을 통해 보상될 수 있다. 먼저 믹싱 매트릭스가 모노 다운믹스일 경우, 수학식 12 와 같이 정의된다.
그리고, 믹싱 매트릭스가 스테레오 다운믹스일 경우, 매트릭스는 수학식 14와 같이 정의될 수 있다.
[수학식 15]
그리고, 포스트 다운믹스 게인값을 비트스트림내에서 전송하기 위한 syntax는 표 29와 표 30에 나타난다. 표 23에서 표 27에 표현된 포스트 다운믹스 게인과 비교했을 때, 표 29와 표 30은 포스트 다운믹스 신호의 완벽한 복원을 위해 residual coding을 적용하지 않을 때의 포스트 다운믹스 게인을 나타낸다.
Syntax | No. of bits | Mnemonic |
SAOCSpecificConfig() | ||
{ | ||
bsSamplingFrequencyIndex; | 4 | uimsbf |
if ( bsSamplingFrequencyIndex == 15 ) { | ||
bsSamplingFrequency; | 24 | uimsbf |
} | ||
bsFreqRes; | 3 | uimsbf |
bsFrameLength; | 7 | uimsbf |
frameLength = bsFrameLength + 1; | ||
bsNumObjects; | 5 | uimsbf |
numObjects = bsNumObjects+1; | ||
for ( i=0; i<numObjects; i++ ) { | ||
bsRelatedTo[i][i] = 1; | ||
for( j=i+1; j<numObjects; j++ ) { | ||
bsRelatedTo[i][j]; | 1 | uimsbf |
bsRelatedTo[j][i] = bsRelatedTo[i][j]; | ||
} | ||
} | ||
bsTransmitAbsNrg; | 1 | uimsbf |
bsNumDmxChannels; | 1 | uimsbf |
numDmxChannels = bsNumDmxChannels + 1; | ||
if ( numDmxChannels == 2 ) { | ||
bsTttDualMode; | 1 | uimsbf |
if (bsTttDualMode) { | ||
bsTttBandsLow; | 5 | uimsbf |
} | ||
else { | ||
bsTttBandsLow = numBands; | ||
} | ||
} | ||
bsPostDownmix; | 1 | uimsbf |
ByteAlign(); | ||
SAOCExtensionConfig(); | ||
} |
Syntax | No. of bits | Mnemonic |
SAOCFrame() | ||
{ | ||
FramingInfo(); | Note 1 | |
bsIndependencyFlag; | 1 | uimsbf |
startBand = 0; | ||
for( i=0; i<numObjects; i++ ) { | ||
[old[i], oldQuantCoarse[i], oldFreqResStride[i]] = EcData( t_OLD, prevOldQuantCoarse[i], prevOldFreqResStride[i], numParamSets, bsIndependencyFlag, startBand, numBands ); |
Notes 2 | |
} | ||
if ( bsTransmitAbsNrg ) { | ||
[nrg, nrgQuantCoarse, nrgFreqResStride] = EcData( t_NRG, prevNrgQuantCoarse, prevNrgFreqResStride, numParamSets, bsIndependencyFlag, startBand, numBands ); |
Notes 2 | |
} | ||
for( i=0; i<numObjects; i++ ) { | ||
for( j=i+1; j<numObjects; j++ ) { | ||
if ( bsRelatedTo[i][j] != 0 ) { | ||
[ioc[i][j], iocQuantCoarse[i][j], iocFreqResStride[i][j] = EcData( t_ICC, prevIocQuantCoarse[i][j], prevIocFreqResStride[i][j], numParamSets, bsIndependencyFlag, startBand, numBands ); |
Notes 2 | |
} | ||
} | ||
} | ||
firstObject = 0; | ||
[dmg, dmgQuantCoarse, dmgFreqResStride] = EcData( t_CLD, prevDmgQuantCoarse, prevIocFreqResStride, numParamSets, bsIndependencyFlag, firstObject, numObjects ); |
||
if ( numDmxChannels > 1 ) { | ||
[cld, cldQuantCoarse, cldFreqResStride] = EcData( t_CLD, prevCldQuantCoarse, prevCldFreqResStride, numParamSets, bsIndependencyFlag, firstObject, numObjects ); |
||
} | ||
if ( bsPostDownmix ) { | ||
for( i=0; i<numDmxChannels; i++ ) { EcData( t_CLD, prevPdgQuantCoarse, prevPdgFreqResStride[i], numParamSets, bsIndependencyFlag, startBand, numBands ); |
||
} | ||
ByteAlign(); | ||
SAOCExtensionFrame(); | ||
} | ||
Note 1: FramingInfo() is defined in ISO/IEC 23003-1:2007, Table 16. Note 2: EcData() is defined in ISO/IEC 23003-1:2007, Table 23. |
표 29에서 bsPostDownmix 값은 포스트 다운믹스 게인의 존재유무를 알려주는 플래그이며 그 의미는 표 31과 같다.
bsPostDownmix | Post down-mix gains |
0 | Not present |
1 | Present |
이와 같은 포스트 다운믹스 게인을 이용한 포스트 다운믹스 신호의 지원은 residual coding을 통해 성능이 향상 될 수 있다. 즉 복호화를 위해 포스트 다운믹스 게인을 이용하여 포스트 다운믹스 신호(post downmix)를 보상하였을 경우, 보상된 포스트 다운믹스 신호와 원래의 다운믹스 신호 간의 차이로 인해 다운믹스 신호를 그대로 이용하였을 경우와 비교하여 음질의 열화가 발생할 수 있다.
이를 해결하기 위해 보상된 포스트 다운믹스 신호와 원래의 다운믹스 신호 간의 차이를 나타내는 residual 신호를 다객체 오디오 부호화 장치에서 추출한 후 부호화 하여 전송해준다. 다객체 오디오 복호화 장치는 residual 신호를 복호화하여 보상된 포스트 다운믹스 신호에 더 해줌으로써 원래의 다운믹스 신호와 유사하게 만들어 음질의 열화를 최소화 할 수 있다.
한편, residual 신호는 전체의 주파수 영역에서 추출할 수 있으나, 이 경우 비트율이 크게 증가하기 때문에 실제 음질에 영향을 미치는 주파수 영역만을 고려하여 전송할 수 있다. 즉 bass와 같이 저주파 성분만을 가지는 객체에 의해 음질 열화가 발생하는 경우 다객체 오디오 부호화 장치는 저주파 영역에서 residual 신호를 추출하여 음질의 열화를 보상하도록 한다.
일반적으로 인간의 인지특성에 따라 저주파 영역에서의 음질 열화를 보상하는 것이 중요하기 때문에, residual 신호는 저주파 영역에서 추출하여 전송하도록 한다. Residual 신호를 사용할 경우 다객체 오디오 부호화 장치는 수학식 9에서 14를 이용하여 보상된 포스트 다운믹스 신호에 아래의 syntax표를 이용하여 결정되는 residual 신호를 주파수 대역만큼 합산할 수 있다.
Syntax | No. of bits | Mnemonic |
SAOCExtensionConfigData(1) | ||
{ | ||
PostDownmixResidualConfig(); | ||
} | ||
SpatialExtensionConfigData(1) Syntactic element that, if present, indicates that post downmix residual coding information is available. |
Syntax | No. of bits | Mnemonic |
SpatialExtensionDataFrame(1) | ||
{ | ||
PostDownmixResidualData(); | ||
} | ||
SpatialExtensionDataFrame(1) Syntactic element that, if present, indicates that post downmix residual coding information is available. |
Syntax | No. of bits | Mnemonic |
PostDownmixResidualData() | ||
{ | ||
resFrameLength = numSlots / | Note 1 | |
(bsPostDownmixResidualFramesPerSpatialFrame + 1); | ||
for (i = 0; i < numAacEl; i++) { | Note 2 | |
bsPostDownmixResidualAbs[i] | 1 | Uimsbf |
bsPostDownmixResidualAlphaUpdateSet[i] | 1 | Uimsbf |
for (rf = 0; rf < bsPostDownmixResidualFramesPerSpatialFrame + 1;rf++) | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | Note 3 | |
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
if (window_sequence == EIGHT_SHORT_SEQUENCE) && | ||
((resFrameLength == 18) || (resFrameLength == 24) || | Note 6 | |
(resFrameLength == 30)) { | ||
if (AacEl[i] == 0) { | ||
individual_channel_stream(0); | ||
else{ | Note 4 | |
channel_pair_element(); | ||
} | Note 5 | |
} | ||
} | ||
} | ||
} | ||
Note 1: numSlots is defined by numSlots = bsFrameLength + 1. Furthermore the division shall be interpreted as ANSI C integer division. | ||
Note 2: numAacEl indicates the number of AAC elements in the current frame according to Table 81 in ISO/IEC 23003-1 . | ||
Note 3: AacEl indicates the type of each AAC element in the current frame according to Table 81 in ISO/IEC 23003-1. | ||
Note 4: individual_channel_stream(0) according to MPEG-2 AAC Low Complexity profile bitstream syntax described in subclause 6.3 of ISO/IEC 13818-7. | ||
Note 5: channel_pair_element(); according to MPEG-2 AAC Low Complexity profile bitsream syntax described in subclause 6.3 of ISO/IEC 13818-7. The parameter common_window is set to 1. | ||
Note 6: The value of window_sequence is determined in individual_channel_stream(0) or channel_pair_element(). |
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
Claims (2)
- 객체 신호와 관련된 객체들 각각의 믹싱 정도를 나타내는 다운믹스 이득(Downmix Gain: DMG)를 식별하는 단계;
객체들 각각이 스테레오 형태의 다운믹스 신호를 구성하는 좌우 채널에 기여한 정도를 나타내는 다운믹스 채널 레벨 차이(Downmix Channel Level Difference: DCLD)를 식별하는 단계;
상기 DMG 및 DLCD를 이용하여 각 객체별 다운믹스 이득을 결정하는 단계; 및
상기 객체별 다운믹스 이득을 이용하여 객체 신호를 생성하는 단계
를 포함하는 다객체 오디오 신호 처리 방법. - 제1항에 있어서,
상기 객체 신호는,
포스트 다운믹스 게인에 기초하여 외부에서 입력된 포스트 다운믹스 신호와 부호화를 통해 생성된 다운믹스 신호 간의 차이가 보상된 결과에 기초하여 생성되는 를 포함하는 다객체 오디오 신호 처리 방법.
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080068861 | 2008-07-16 | ||
KR1020080068861 | 2008-07-16 | ||
KR1020080093557 | 2008-09-24 | ||
KR20080093557 | 2008-09-24 | ||
KR1020080099629 | 2008-10-10 | ||
KR20080099629 | 2008-10-10 | ||
KR1020080100807 | 2008-10-14 | ||
KR20080100807 | 2008-10-14 | ||
KR1020080101451 | 2008-10-16 | ||
KR20080101451 | 2008-10-16 | ||
KR1020080109318 | 2008-11-05 | ||
KR20080109318 | 2008-11-05 | ||
KR1020090006716 | 2009-01-28 | ||
KR20090006716 | 2009-01-28 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160044611A Division KR101734452B1 (ko) | 2008-07-16 | 2016-04-12 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180029432A Division KR101976757B1 (ko) | 2008-07-16 | 2018-03-13 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170054355A true KR20170054355A (ko) | 2017-05-17 |
KR101840041B1 KR101840041B1 (ko) | 2018-03-19 |
Family
ID=41817315
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090061736A KR101614160B1 (ko) | 2008-07-16 | 2009-07-07 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
KR1020160044611A KR101734452B1 (ko) | 2008-07-16 | 2016-04-12 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
KR1020170056375A KR101840041B1 (ko) | 2008-07-16 | 2017-05-02 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
KR1020180029432A KR101976757B1 (ko) | 2008-07-16 | 2018-03-13 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
KR1020190051573A KR102115358B1 (ko) | 2008-07-16 | 2019-05-02 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090061736A KR101614160B1 (ko) | 2008-07-16 | 2009-07-07 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
KR1020160044611A KR101734452B1 (ko) | 2008-07-16 | 2016-04-12 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180029432A KR101976757B1 (ko) | 2008-07-16 | 2018-03-13 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
KR1020190051573A KR102115358B1 (ko) | 2008-07-16 | 2019-05-02 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
Country Status (5)
Country | Link |
---|---|
US (3) | US9685167B2 (ko) |
EP (3) | EP2998958A3 (ko) |
KR (5) | KR101614160B1 (ko) |
CN (2) | CN102171751B (ko) |
WO (1) | WO2010008229A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018104563A1 (de) | 2017-04-27 | 2018-10-31 | Hyundai Motor Company | Verfahren zum Diagnostizieren eines Spülsteuersolenoidventils (PCSV) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101614160B1 (ko) * | 2008-07-16 | 2016-04-20 | 한국전자통신연구원 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
CN102696070B (zh) * | 2010-01-06 | 2015-05-20 | Lg电子株式会社 | 处理音频信号的设备及其方法 |
KR20120071072A (ko) * | 2010-12-22 | 2012-07-02 | 한국전자통신연구원 | 객체 기반 오디오를 제공하는 방송 송신 장치 및 방법, 그리고 방송 재생 장치 및 방법 |
EP2690621A1 (en) * | 2012-07-26 | 2014-01-29 | Thomson Licensing | Method and Apparatus for downmixing MPEG SAOC-like encoded audio signals at receiver side in a manner different from the manner of downmixing at encoder side |
EP2757559A1 (en) * | 2013-01-22 | 2014-07-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for spatial audio object coding employing hidden objects for signal mixture manipulation |
WO2014160717A1 (en) | 2013-03-28 | 2014-10-02 | Dolby Laboratories Licensing Corporation | Using single bitstream to produce tailored audio device mixes |
EP2830046A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decoding an encoded audio signal to obtain modified output signals |
KR102243395B1 (ko) * | 2013-09-05 | 2021-04-22 | 한국전자통신연구원 | 오디오 부호화 장치 및 방법, 오디오 복호화 장치 및 방법, 오디오 재생 장치 |
CN106303897A (zh) | 2015-06-01 | 2017-01-04 | 杜比实验室特许公司 | 处理基于对象的音频信号 |
WO2016204580A1 (ko) * | 2015-06-17 | 2016-12-22 | 삼성전자 주식회사 | 저연산 포맷 변환을 위한 인터널 채널 처리 방법 및 장치 |
CN108665902B (zh) * | 2017-03-31 | 2020-12-01 | 华为技术有限公司 | 多声道信号的编解码方法和编解码器 |
KR20190069192A (ko) | 2017-12-11 | 2019-06-19 | 한국전자통신연구원 | 오디오 신호의 채널 파라미터 예측 방법 및 장치 |
GB2593117A (en) * | 2018-07-24 | 2021-09-22 | Nokia Technologies Oy | Apparatus, methods and computer programs for controlling band limited audio objects |
EP3997700A1 (en) | 2019-07-09 | 2022-05-18 | Dolby Laboratories Licensing Corporation | Presentation independent mastering of audio content |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2693893B2 (ja) * | 1992-03-30 | 1997-12-24 | 松下電器産業株式会社 | ステレオ音声符号化方法 |
US6353584B1 (en) * | 1998-05-14 | 2002-03-05 | Sony Corporation | Reproducing and recording apparatus, decoding apparatus, recording apparatus, reproducing and recording method, decoding method and recording method |
EP1959435B1 (en) * | 1999-08-23 | 2009-12-23 | Panasonic Corporation | Speech encoder |
US6925455B2 (en) * | 2000-12-12 | 2005-08-02 | Nec Corporation | Creating audio-centric, image-centric, and integrated audio-visual summaries |
US6958877B2 (en) * | 2001-12-28 | 2005-10-25 | Matsushita Electric Industrial Co., Ltd. | Brushless motor and disk drive apparatus |
JP3915918B2 (ja) * | 2003-04-14 | 2007-05-16 | ソニー株式会社 | ディスクプレーヤのチャッキング装置およびディスクプレーヤ |
US7447317B2 (en) * | 2003-10-02 | 2008-11-04 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V | Compatible multi-channel coding/decoding by weighting the downmix channel |
US7394903B2 (en) * | 2004-01-20 | 2008-07-01 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and method for constructing a multi-channel output signal or for generating a downmix signal |
KR100663729B1 (ko) * | 2004-07-09 | 2007-01-02 | 한국전자통신연구원 | 가상 음원 위치 정보를 이용한 멀티채널 오디오 신호부호화 및 복호화 방법 및 장치 |
SE0402650D0 (sv) * | 2004-11-02 | 2004-11-02 | Coding Tech Ab | Improved parametric stereo compatible coding of spatial audio |
US7761304B2 (en) | 2004-11-30 | 2010-07-20 | Agere Systems Inc. | Synchronizing parametric coding of spatial audio with externally provided downmix |
JP5129117B2 (ja) * | 2005-04-01 | 2013-01-23 | クゥアルコム・インコーポレイテッド | 音声信号の高帯域部分を符号化及び復号する方法及び装置 |
US7751572B2 (en) * | 2005-04-15 | 2010-07-06 | Dolby International Ab | Adaptive residual audio coding |
RU2376655C2 (ru) | 2005-04-19 | 2009-12-20 | Коудинг Текнолоджиз Аб | Зависящее от энергии квантование для эффективного кодирования пространственных параметров звука |
AU2006266655B2 (en) * | 2005-06-30 | 2009-08-20 | Lg Electronics Inc. | Apparatus for encoding and decoding audio signal and method thereof |
KR20070003547A (ko) | 2005-06-30 | 2007-01-05 | 엘지전자 주식회사 | 소프트클리핑에 의한 멀티채널 오디오 코딩에서의 클리핑복원방법 |
WO2007046659A1 (en) | 2005-10-20 | 2007-04-26 | Lg Electronics Inc. | Method for encoding and decoding multi-channel audio signal and apparatus thereof |
WO2007080211A1 (en) * | 2006-01-09 | 2007-07-19 | Nokia Corporation | Decoding of binaural audio signals |
JP5054035B2 (ja) * | 2006-02-07 | 2012-10-24 | エルジー エレクトロニクス インコーポレイティド | 符号化/復号化装置及び方法 |
US20070234345A1 (en) | 2006-02-22 | 2007-10-04 | Microsoft Corporation | Integrated multi-server installation |
US7965848B2 (en) | 2006-03-29 | 2011-06-21 | Dolby International Ab | Reduced number of channels decoding |
US8027479B2 (en) * | 2006-06-02 | 2011-09-27 | Coding Technologies Ab | Binaural multi-channel decoder in the context of non-energy conserving upmix rules |
US9454974B2 (en) * | 2006-07-31 | 2016-09-27 | Qualcomm Incorporated | Systems, methods, and apparatus for gain factor limiting |
WO2008039041A1 (en) * | 2006-09-29 | 2008-04-03 | Lg Electronics Inc. | Methods and apparatuses for encoding and decoding object-based audio signals |
WO2008060111A1 (en) * | 2006-11-15 | 2008-05-22 | Lg Electronics Inc. | A method and an apparatus for decoding an audio signal |
EP2595152A3 (en) | 2006-12-27 | 2013-11-13 | Electronics and Telecommunications Research Institute | Transkoding apparatus |
MX2010004220A (es) * | 2007-10-17 | 2010-06-11 | Fraunhofer Ges Forschung | Codificacion de audio usando mezcla descendente. |
KR101614160B1 (ko) * | 2008-07-16 | 2016-04-20 | 한국전자통신연구원 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
-
2009
- 2009-07-07 KR KR1020090061736A patent/KR101614160B1/ko active Application Filing
- 2009-07-16 EP EP15180370.7A patent/EP2998958A3/en not_active Ceased
- 2009-07-16 CN CN2009801362577A patent/CN102171751B/zh active Active
- 2009-07-16 US US13/054,662 patent/US9685167B2/en active Active
- 2009-07-16 EP EP09798132.8A patent/EP2320415B1/en active Active
- 2009-07-16 CN CN201310141538.XA patent/CN103258538B/zh active Active
- 2009-07-16 EP EP13190771.9A patent/EP2696342B1/en active Active
- 2009-07-16 WO PCT/KR2009/003938 patent/WO2010008229A1/ko active Application Filing
-
2016
- 2016-04-12 KR KR1020160044611A patent/KR101734452B1/ko active IP Right Grant
-
2017
- 2017-05-02 KR KR1020170056375A patent/KR101840041B1/ko active IP Right Grant
- 2017-06-16 US US15/625,623 patent/US10410646B2/en active Active
-
2018
- 2018-03-13 KR KR1020180029432A patent/KR101976757B1/ko active IP Right Grant
-
2019
- 2019-05-02 KR KR1020190051573A patent/KR102115358B1/ko active IP Right Grant
- 2019-09-06 US US16/562,921 patent/US11222645B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018104563A1 (de) | 2017-04-27 | 2018-10-31 | Hyundai Motor Company | Verfahren zum Diagnostizieren eines Spülsteuersolenoidventils (PCSV) |
Also Published As
Publication number | Publication date |
---|---|
CN102171751A (zh) | 2011-08-31 |
EP2696342B1 (en) | 2016-01-20 |
CN102171751B (zh) | 2013-05-29 |
US20200066289A1 (en) | 2020-02-27 |
KR20100008755A (ko) | 2010-01-26 |
KR20190050755A (ko) | 2019-05-13 |
US9685167B2 (en) | 2017-06-20 |
KR101734452B1 (ko) | 2017-05-12 |
EP2320415A1 (en) | 2011-05-11 |
US20170337930A1 (en) | 2017-11-23 |
KR101614160B1 (ko) | 2016-04-20 |
CN103258538A (zh) | 2013-08-21 |
WO2010008229A1 (ko) | 2010-01-21 |
EP2998958A3 (en) | 2016-04-06 |
KR101976757B1 (ko) | 2019-05-09 |
US10410646B2 (en) | 2019-09-10 |
CN103258538B (zh) | 2015-10-28 |
EP2696342A2 (en) | 2014-02-12 |
US20110166867A1 (en) | 2011-07-07 |
EP2998958A2 (en) | 2016-03-23 |
US11222645B2 (en) | 2022-01-11 |
EP2696342A3 (en) | 2014-08-27 |
EP2320415B1 (en) | 2015-09-09 |
KR101840041B1 (ko) | 2018-03-19 |
KR102115358B1 (ko) | 2020-05-26 |
KR20160043947A (ko) | 2016-04-22 |
EP2320415A4 (en) | 2012-09-05 |
KR20180030491A (ko) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101976757B1 (ko) | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 | |
US8258849B2 (en) | Method and an apparatus for processing a signal | |
JP3878952B2 (ja) | オーディオ信号コーディング中にノイズ置換を信号で知らせる方法 | |
Andersen et al. | Introduction to Dolby digital plus, an enhancement to the Dolby digital coding system | |
KR101108061B1 (ko) | 신호 처리 방법 및 이의 장치 | |
EP2169666B1 (en) | A method and an apparatus for processing a signal | |
JP2011509428A (ja) | オーディオ信号処理方法及び装置 | |
KR100755471B1 (ko) | 가상음원위치정보에 기반한 채널간 크기 차이 양자화 및역양자화 방법 | |
US8346380B2 (en) | Method and an apparatus for processing a signal | |
WO2024076810A1 (en) | Methods, apparatus and systems for performing perceptually motivated gain control | |
US20240153512A1 (en) | Audio codec with adaptive gain control of downmixed signals | |
Cheng et al. | Psychoacoustic-based quantisation of spatial audio cues | |
KR20070011100A (ko) | 다채널 오디오 코딩에서 오디오 신호의 에너지 보정방법 및그 보정을 위한 부호화된 오디오 신호 생성방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |