KR20160043947A - 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 - Google Patents

포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 Download PDF

Info

Publication number
KR20160043947A
KR20160043947A KR1020160044611A KR20160044611A KR20160043947A KR 20160043947 A KR20160043947 A KR 20160043947A KR 1020160044611 A KR1020160044611 A KR 1020160044611A KR 20160044611 A KR20160044611 A KR 20160044611A KR 20160043947 A KR20160043947 A KR 20160043947A
Authority
KR
South Korea
Prior art keywords
downmix
post
downmix signal
signal
note
Prior art date
Application number
KR1020160044611A
Other languages
English (en)
Other versions
KR101734452B1 (ko
Inventor
서정일
백승권
강경옥
김진웅
안치득
홍진우
김광기
한민수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20160043947A publication Critical patent/KR20160043947A/ko
Application granted granted Critical
Publication of KR101734452B1 publication Critical patent/KR101734452B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (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

포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치{APPARATUS FOR ENCODING AND DECODING MULTI-OBJECT AUDIO SUPPORTING POST DOWNMIX SIGNAL}
본 발명은 다객체 오디오 신호를 부호화하고 복호화하는 장치에 관한 것으로, 보다 구체적으로는 외부에서 입력된 포스트 다운믹스 신호를 지원하고, 일반 다운믹스 신호와 포스트 다운믹스 신호와의 관계를 나타내는 다운믹스 정보 파라미터를 효율적으로 표현하기 위한 장치에 관한 것이다.
오디오 객체 신호를 효과적으로 압축하는 객체 기반 오디오 부호화 기술이 최근 주목을 받고 있다. 기존에 존재하는 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 비트스트림 및 포스트 다운믹스 신호를 출력하는 과정을 도시한 도면이다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 다만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 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 양자화 테이블을 통해 다운믹스 정보 파라미터는 양자화될 수 있다.
Figure pat00001
따라서 다운믹스 정보 파라미터가 0 dB를 기준으로 좌우로 유사하게 분포하였을 경우, 다운믹스 정보 파라미터의 양자화 오차는 최소화될 수 있으며, 포스트 다운믹스 신호를 이용함으로써 발생하는 음질의 열화를 줄일 수 있다.
그러나, 일반적인 다객체 오디오 부호화기에서 생성되는 다운믹스 신호와 포스트 다운믹스 신호에 의한 다운믹스 정보 파라미터는 다운믹스 신호 생성을 위한 믹싱매트릭스의 각 입력 객체별 다운믹스 이득에 의해서 그 분포의 중심이 0 dB가 아닌 한쪽으로 치우치게 된다. 예를 들어 각 객체의 원래 이득을 1인 경우, 일반적으로 클리핑(clipping)에 의한 다운믹스 신호의 왜곡을 막기 위해 각 객체에 1 보다 작은 다운믹스 이득을 곱하므로 생성되는 다운믹스 신호는 포스트 다운믹스 신호에 비해서 기본적으로 다운믹스 이득만큼의 작은 파워를 가진다. 이 때, 다운믹스 신호와 포스트 다운미스 신호 간의 크기 차이를 측정하면 중심이 0 dB가 아닌 다른 값에 위치하게 된다.
위와 같은 다운믹스 정보 파라미터의 양자화를 수행하면, 표 1의 양자화 표에서 0 dB를 기준으로 한쪽 부분만 사용하여 양자화 오차가 커질 수 있다. 이러한 문제를 해결할 수 있도록 본 발명의 일실시예에 따르면, 다운믹스 이득을 이용하여 추출되는 다운믹스 정보 파라미터를 보정하여 추출되는 파라미터의 분포 중심이 0 dB에 가깝게 만든 후 양자화할 수 있다. 상세한 방법은 아래와 같다.
어떤 X 채널에 대한 믹싱 매트릭스에 따라 생성된 다운믹스 신호와 외부에서 입력되는 포스트 다운믹스 신호 간의 특정 프레임/파라미터밴드에서의 다운믹스 정보 파라미터 즉 CLD는 수학식 1과 같다.
Figure pat00002
여기에서 n은 프레임, k는 파라미터밴드, Pm은 포스트 다운믹스 신호의 파워, Pd는 다운믹스신호의 파워를 나타낸다. 그리고, X 채널의 다운믹스 신호를 생성하기 위한 믹싱 매트릭스의 각 객체별 다운믹스 이득을 GX1,GX2,...,GX N 이라고 하면, 추출된 다운믹스 정보 파라미터 CLD의 분포의 중심을 0으로 보정해주기 위한 CLD 보정값은 수학식 2와 같다.
Figure pat00003
여기에서 N은 전체 입력 객체의 수를 나타내며, 믹싱 매트릭스의 각 객체별 다운믹스 이득은 모든 프레임/파라미터밴드에서 동일하므로 수학식 2의 값은 상수이다. 따라서 수학식 3과 같이 수학식 1의 다운믹스 정보 파라미터에서 수학식 2의 보정값을 뺌으로서 보정된 CLD 값을 구할 수 있다.
Figure pat00004
이렇게 보정된 CLD 값은 표 1에 따라서 양자화를 수행하여 다객체 오디오 복호화 장치에 전달될 수 있다. 또한, 보정된 CLD값의 통계적 분포가 일반적인 CLD에 비해서 0dB 근처로 많이 몰리는 즉, 가우시안 분포가 아닌 라플라시안 분포 특성을 나타내므로, 표 1과 같은 양자화 테이블이 아닌 -10dB에서 +10dB 근처를 보다 세밀하게 구분한 양자화 테이블을 적용하여 양자화 오차를 최소화할 수 있다.
한편 다객체 오디오 부호화 장치에서는 각 객체의 믹싱 정도를 나타내는 다운믹스 이득(DMG: Downmix Gain)과 DCLD(Downmix Channel Level Difference)를 수학식 4,5,6과 같이 계산하여 다객체 오디오 부호화 장치에 전송할 수 있다. 구체적으로, 다운믹스 신호가 모노인 경우와 스테레오인 경우를 고려해준다.
Figure pat00005
Figure pat00006
Figure pat00007
수학식 4는 다운믹스 신호가 모노일 경우의 다운믹스 이득을 계산하는 과정을나타내며, 수학식 5와 6은 다운믹스 신호가 스테레오 다운믹스 신호일 경우, 각 객체가 다운믹스 신호의 좌우채널에 기여한 정도를 계산하는 과정을 나타낸다. 이 때,
Figure pat00008
는 은 왼쪽 채널,
Figure pat00009
은 오른쪽 채널을 나타낸다.
본 발명의 일실시예에 따라 포스트 다운믹스 신호를 지원하는 경우 모노 다운믹스는 고려대상이 아니므로, 수학식 5와 수학식 6이 적용될 수 있다. 전송된 보정 CLD 값과 수학식 5와 6의 다운믹스 이득을 이용하여 다운믹스 정보 파라미터를 다시 복원하기 위해서는 먼저 수학식 5와 6을 이용하여 수학식 2와 같은 보정값을 계산하여준다. 수학식 5와 6을 이용하여 왼쪽 채널과 오른쪽 채널에 대한 각 객체별 다운믹스 이득이 수학식 7과 같이 계산될 수 있다.
Figure pat00010
이렇게 계산된 각 채널에 대한 객체별 다운믹스 이득을 이용하여 수학식 2와 같은 방법으로 수학식 8과 같은 CLD의 보정값이 계산될 수 있다.
Figure pat00011
CLD 보정값과 전송된 보정 CLD의 역양자화 값을 이용하여 수학식 9와 같이 다객체 오디오 복호화 장치는 다운믹스 정보 파라미터를 복원할 수 있다.
Figure pat00012
이렇게 복원된 파라미터는 일반적인 양자화를 거쳐 복원되는 파라미터에 비해 양자화 오차가 감소됨으로써 다객체 오디오 부호화 장치는 음질 열화를 줄일 수 있다.
한편, 원본 다운믹스 신호를 가장 많이 변형시키는 과정은 이퀄라이저를 통한 밴드별 레벨 조정 과정이다. MPEG Surround의 ADG는 CLD를 파라미터로 사용하면 CLD 값은 20밴드 또는 28밴드로 처리되며, 마스터링 과정중의 이퀄라이저는 24밴드 또는 36밴드 등 다양한 조합을 이용한다. 다운믹스 정보 파라미터를 추출하는 파라미터 밴드가 CLD 파라미터 밴드가 아닌 이퀄라이저 밴드로 설정하여 처리함으로써 두 밴드사이의 불일치와 해상도 차이에 의한 오차가 최소화될 수 있다.
다운믹스 정보 파라미터 해석 밴드는 아래 표 2와 같다.
Figure pat00013
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 of SAOCSpecificConfig()
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 of SAOCExtensionConfigData(1)
Syntax No. of bits Mnemonic
SAOCExtensionConfigData(1)    
{  
bsMasteringDownmixResidualSampingFrequencyIndex; 4 uimsbf
bsMasteringDownmixResidualFramesPerSpatialFrame; 2 Uimsbf
bsMasteringDwonmixResidualBands; 5 Uimsbf
}    
Syntax of SAOCFrame()
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 of SpatialExtensionFrameData(1)
Syntax No. of bits Mnemonic
SpatialExtensionDataFrame(1)    
{  
MasteringDownmixResidualData();  
}    
Syntax of 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 of SAOCSpecificConfig()
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 of SAOCExtensionConfigData(1)
Syntax No. of bits Mnemonic
SAOCExtensionConfigData(1)    
{  
bsExtendedDownmixResidualSampingFrequencyIndex; 4 uimsbf
bsExtendedDownmixResidualFramesPerSpatialFrame; 2 Uimsbf
bsExtendedDwonmixResidualBands; 5 Uimsbf
}    
Syntax of SAOCFrame()
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 of SpatialExtensionFrameData(1)
Syntax No. of bits Mnemonic
SpatialExtensionDataFrame(1)    
{  
ExtendedDownmixResidualData();  
}    
Syntax of 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 of SAOCSpecificConfig()
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 of SAOCExtensionConfigData(1)
Syntax No. of bits Mnemonic
SAOCExtensionConfigData(1)    
{  
bsEnhancedDownmixResidualSampingFrequencyIndex; 4 uimsbf
bsEnhancedDownmixResidualFramesPerSpatialFrame; 2 Uimsbf
bsEnhancedDwonmixResidualBands; 5 Uimsbf
}    
Syntax of SAOCFrame()
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 of SpatialExtensionFrameData(1)
Syntax No. of bits Mnemonic
SpatialExtensionDataFrame(1)    
{  
EnhancedDownmixResidualData();  
}    
Syntax of 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 of SAOCSpecificConfig()
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 of SAOCExtensionConfigData(1)
Syntax No. of bits Mnemonic
SAOCExtensionConfigData(1)    
{  
bsProfessionalDownmixResidualSampingFrequencyIndex; 4 uimsbf
bsProfessionalDownmixResidualFramesPerSpatialFrame; 2 Uimsbf
bsProfessionalDwonmixResidualBands; 5 Uimsbf
}    
Syntax of SAOCFrame()
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 of SpatialExtensionFrameData(1)
Syntax No. of bits Mnemonic
SpatialExtensionDataFrame(1)    
{  
ProfessionalDownmixResidualData();  
}    
Syntax of 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 of SAOCSpecificConfig()
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 of SAOCExtensionConfigData(1)
Syntax No. of bits Mnemonic
SAOCExtensionConfigData(1)    
{  
bsPostDownmixResidualSampingFrequencyIndex; 4 uimsbf
bsPostDownmixResidualFramesPerSpatialFrame; 2 Uimsbf
bsPostDwonmixResidualBands; 5 Uimsbf
}    
Syntax of SAOCFrame()
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 of SpatialExtensionFrameData(1)
Syntax No. of bits Mnemonic
SpatialExtensionDataFrame(1)    
{  
PostDownmixResidualData();  
}    
Syntax of 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 양자화 테이블을 이용하여 역양자화 될 수 있다.
PDG와 다른 공간파라미터들의 차원과 값의 범위 비교
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로 표현될 수 있다.
Figure pat00014
Figure pat00015
bsPostDownmix값이 1일 경우, 입력된 다운믹스 신호는 역양자화된 포스트 다운믹스 게인을 통해 보상될 수 있다. 먼저 믹싱 매트릭스가 모노 다운믹스일 경우, 수학식 12 와 같이 정의된다.
Figure pat00016
여기에서
Figure pat00017
값은 역양자화된 포스트 다운믹스 게인값을 이용하여 계산될 수 있으며, 아래 수학식 12로 표현될 수 있다.
Figure pat00018
그리고, 믹싱 매트릭스가 스테레오 다운믹스일 경우, 매트릭스는 수학식 14와 같이 정의될 수 있다.
Figure pat00019
여기에서
Figure pat00020
값은 역양자화된 포스트 다운믹스 게인값을 이용하여 계산될 수 있으며, 아래 수학식 15로 표현될 수 있다.
[수학식 15]
Figure pat00021
그리고, 포스트 다운믹스 게인값을 비트스트림내에서 전송하기 위한 syntax는 표 29와 표 30에 나타난다. 표 23에서 표 27에 표현된 포스트 다운믹스 게인과 비교했을 때, 표 29와 표 30은 포스트 다운믹스 신호의 완벽한 복원을 위해 residual coding을 적용하지 않을 때의 포스트 다운믹스 게인을 나타낸다.
Syntax of SAOCSpecificConfig()
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 of SAOCFrame()
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
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 신호를 주파수 대역만큼 합산할 수 있다.
Figure pat00022
Syntax of SAOCExtensionConfigData(1)
Syntax No. of bits Mnemonic
SAOCExtensionConfigData(1)    
{  
PostDownmixResidualConfig();
}    
SpatialExtensionConfigData(1)
Syntactic element that, if present, indicates that post downmix residual coding information is available.
Figure pat00023
Syntax of SpatialExtensionFrameData(1)
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 of 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().    
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (4)

  1. 포스트 다운믹스 게인을 식별하는 단계;
    상기 포스트 다운믹스 게인을 이용하여 외부에서 입력된 포스트 다운믹스 신호와 부호화를 통해 생성된 다운믹스 신호 간의 차이를 보상하는 단계
    를 포함하는 다객체 오디오 복호화 방법.
  2. 제1항에 있어서,
    상기 포스트 다운믹스 게인은, 비트스트림을 통해 전송될 수 있는 다객체 오디오 복호화 방법.
  3. 제1항에 있어서,
    상기 포스트 다운믹스 게인은,
    ps와 pi의 차원(dimension)을 가지며, -15와 15 사이의 값으로 결정될 수 있는 다객체 오디오 복호화 방법.
  4. 제1항에 있어서,
    상기 보상하는 단계는,
    상기 포스트 다운믹스 게인으로 도출된 믹싱 매트릭스에 기초하여 수행되며,
    상기 믹싱 매트릭스는,
    상기 다운믹스 신호가 모노 다운믹스인지 또는 스테레오 다운믹스인지 여부에 따라 다르게 결정되는 다객체 오디오 복호화 방법.
KR1020160044611A 2008-07-16 2016-04-12 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 KR101734452B1 (ko)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
KR1020080068861 2008-07-16
KR20080068861 2008-07-16
KR1020080093557 2008-09-24
KR20080093557 2008-09-24
KR20080099629 2008-10-10
KR1020080099629 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
KR20090006716 2009-01-28
KR1020090006716 2009-01-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020090061736A Division KR101614160B1 (ko) 2008-07-16 2009-07-07 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020170056375A Division KR101840041B1 (ko) 2008-07-16 2017-05-02 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치

Publications (2)

Publication Number Publication Date
KR20160043947A true KR20160043947A (ko) 2016-04-22
KR101734452B1 KR101734452B1 (ko) 2017-05-12

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 (1)

Application Number Title Priority Date Filing Date
KR1020090061736A KR101614160B1 (ko) 2008-07-16 2009-07-07 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치

Family Applications After (3)

Application Number Title Priority Date Filing Date
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 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치

Country Status (5)

Country Link
US (3) US9685167B2 (ko)
EP (3) EP2998958A3 (ko)
KR (5) KR101614160B1 (ko)
CN (2) CN103258538B (ko)
WO (1) WO2010008229A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101614160B1 (ko) * 2008-07-16 2016-04-20 한국전자통신연구원 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치
US9042559B2 (en) 2010-01-06 2015-05-26 Lg Electronics Inc. Apparatus for processing an audio signal and method thereof
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 华为技术有限公司 多声道信号的编解码方法和编解码器
KR102335377B1 (ko) 2017-04-27 2021-12-06 현대자동차주식회사 Pcsv 진단 방법
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

Family Cites Families (28)

* Cited by examiner, † Cited by third party
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
KR100391527B1 (ko) * 1999-08-23 2003-07-12 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치, 기록 매체, 음성 복호화 장치, 신호 처리용 프로세서, 음성 부호화 복호화 시스템, 통신용 기지국, 통신용 단말 및 무선 통신 시스템
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
JP5017121B2 (ja) * 2004-11-30 2012-09-05 アギア システムズ インコーポレーテッド 外部的に供給されるダウンミックスとの空間オーディオのパラメトリック・コーディングの同期化
MX2007012185A (es) * 2005-04-01 2007-12-11 Qualcomm Inc Metodo y aparato para cuantificacion de vector de una representacion de envoltura espectral.
US7751572B2 (en) * 2005-04-15 2010-07-06 Dolby International Ab Adaptive residual audio coding
KR100878371B1 (ko) * 2005-04-19 2009-01-15 돌비 스웨덴 에이비 공간적 오디오 파라미터들의 효율적인 부호화를 위한에너지 종속 양자화
KR20070003547A (ko) 2005-06-30 2007-01-05 엘지전자 주식회사 소프트클리핑에 의한 멀티채널 오디오 코딩에서의 클리핑복원방법
WO2007004830A1 (en) * 2005-06-30 2007-01-11 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
US20080255859A1 (en) 2005-10-20 2008-10-16 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
KR100878816B1 (ko) * 2006-02-07 2009-01-14 엘지전자 주식회사 부호화/복호화 장치 및 방법
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
US8504376B2 (en) * 2006-09-29 2013-08-06 Lg Electronics Inc. Methods and apparatuses for encoding and decoding object-based audio signals
EP2092516A4 (en) * 2006-11-15 2010-01-13 Lg Electronics Inc METHOD AND APPARATUS FOR AUDIO SIGNAL DECODING
EP2097895A4 (en) * 2006-12-27 2013-11-13 Korea Electronics Telecomm DEVICE AND METHOD FOR ENCODING AND DECODING MULTI-OBJECT AUDIO SIGNAL WITH DIFFERENT CHANNELS WITH INFORMATION BIT RATE CONVERSION
KR101244515B1 (ko) * 2007-10-17 2013-03-18 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 업믹스를 이용한 오디오 코딩
KR101614160B1 (ko) * 2008-07-16 2016-04-20 한국전자통신연구원 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치

Also Published As

Publication number Publication date
EP2320415A4 (en) 2012-09-05
EP2696342B1 (en) 2016-01-20
US11222645B2 (en) 2022-01-11
EP2998958A2 (en) 2016-03-23
KR20190050755A (ko) 2019-05-13
EP2696342A2 (en) 2014-02-12
EP2320415A1 (en) 2011-05-11
US10410646B2 (en) 2019-09-10
KR20180030491A (ko) 2018-03-23
CN102171751B (zh) 2013-05-29
KR20170054355A (ko) 2017-05-17
KR101734452B1 (ko) 2017-05-12
KR101976757B1 (ko) 2019-05-09
US20200066289A1 (en) 2020-02-27
EP2320415B1 (en) 2015-09-09
WO2010008229A1 (ko) 2010-01-21
KR102115358B1 (ko) 2020-05-26
CN102171751A (zh) 2011-08-31
EP2696342A3 (en) 2014-08-27
KR20100008755A (ko) 2010-01-26
US20170337930A1 (en) 2017-11-23
US9685167B2 (en) 2017-06-20
CN103258538B (zh) 2015-10-28
EP2998958A3 (en) 2016-04-06
US20110166867A1 (en) 2011-07-07
CN103258538A (zh) 2013-08-21
KR101614160B1 (ko) 2016-04-20
KR101840041B1 (ko) 2018-03-19

Similar Documents

Publication Publication Date Title
KR101976757B1 (ko) 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치
US8258849B2 (en) Method and an apparatus for processing a signal
Andersen et al. Introduction to Dolby digital plus, an enhancement to the Dolby digital coding system
EP2169666B1 (en) A method and an apparatus for processing a signal
JP5480274B2 (ja) 信号処理方法及び装置
JP2011509428A (ja) オーディオ信号処理方法及び装置
KR100755471B1 (ko) 가상음원위치정보에 기반한 채널간 크기 차이 양자화 및역양자화 방법
US8346380B2 (en) Method and an apparatus for processing a signal
US20240153512A1 (en) Audio codec with adaptive gain control of downmixed signals
Cheng et al. Psychoacoustic-based quantisation of spatial audio cues
KR20070011100A (ko) 다채널 오디오 코딩에서 오디오 신호의 에너지 보정방법 및그 보정을 위한 부호화된 오디오 신호 생성방법
WO2024076810A1 (en) Methods, apparatus and systems for performing perceptually motivated gain control

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant