KR20060131798A - 블록 그룹화에 기반한 오디오 코딩 - Google Patents

블록 그룹화에 기반한 오디오 코딩 Download PDF

Info

Publication number
KR20060131798A
KR20060131798A KR1020067013739A KR20067013739A KR20060131798A KR 20060131798 A KR20060131798 A KR 20060131798A KR 1020067013739 A KR1020067013739 A KR 1020067013739A KR 20067013739 A KR20067013739 A KR 20067013739A KR 20060131798 A KR20060131798 A KR 20060131798A
Authority
KR
South Korea
Prior art keywords
groups
blocks
measure
audio information
group
Prior art date
Application number
KR1020067013739A
Other languages
English (en)
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 KR20060131798A publication Critical patent/KR20060131798A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/60Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for measuring the quality of voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)
  • Road Signs Or Road Markings (AREA)

Abstract

오디오 정보의 블록들은 인코드된 신호의 제어 파라미터들을 전달하기 위하여 필요한 부속 정보 양을 줄이기 위하여 인코딩 제어 파라미터들을 공유하는 그룹들로 배열된다. 인코드된 오디오 정보의 왜곡을 감소시키는 그룹들의 구성은 최적 또는 거의 최적의 해결책을 조사하는 임의의 몇몇 기술들에 의해 결정될 수 있다. 상기 기술들은 전체 검색, 빠른 최적 조사 및 그리디 합병을 포함하고, 이것은 검색 기술이 인코드 신호의 비트 속도 및/또는 검색 기술의 계산 복잡성에 대한 왜곡을 트레이프오프하게 한다.

Description

블록 그룹화에 기반한 오디오 코딩{AUDIO CODING BASED ON BLOCK GROUPING}
본 발명은 프레임들로 분할되는 하나 이상의 오디오 채널들을 표현하는 하나 이상의 이동 정보 스트림들에 인코딩 기술을 적용하는 형태로 디지털 오디오 인코드 동작을 최적화하는 것에 관한 것이고, 각각의 프레임은 하나 이상의 디지털 오디오 정보의 블록들을 포함한다. 특히, 본 발명은 프레임들에 적용된 코딩 처리를 최적화하기 위한 방식으로 프레임들 내에 배열된 오디오 정보 블록들을 그룹화하는 것에 관한 것이다.
많은 오디오 처리 시스템들은 오디오 정보의 스트림들을 프레임들로 나누고 추가로 상기 프레임들을 특정 시간 구간에서 오디오 정보의 일부를 표현하는 순차적 데이터 블록들로 분할함으로써 동작한다. 몇몇 형태의 신호 처리는 스트림의 각각의 블록에 적용된다. 지각 인코딩 처리를 각각의 블록에 적용한 두 가지 예의 오디오 처리 시스템들은 ISO/IEC 13818-7, "MPEG-2 진보된 오디오 코딩, AAC". 국제 표준 1997; ISO/IEC JTC1/SC29, "정보 기술-매우 느린 비트 전송 속도 오디오-비쥬얼 코딩," 및 ISO/IEC IS-14496(파트 3, 오디오), 1996, 및 ISO/IEC IS-14496(파트 3, 오디오) 1996년에 기술된 진보된 오디오 코더(AAC) 표준에 따른 시스템들, 및 2001년 8월 20일 공개된 도큐먼트의 명칭이 "Revision A to Digital Audio Compression(AC-3) Standard"인 Advaced Television Systems Committee(ATSC) A/52A에 기술된 코딩 표준에 따른 소위 AC-3 시스템들이다.
많은 오디오 처리 시스템들에서 블록들에 제공된 한 가지 형태의 신호 처리는 스펙트럼 성분들의 표현을 얻기 위하여 블록에서 오디오 정보의 분석을 수행하고, 스펙트럼 성분들의 지각 마스킹 효과들을 평가하고, 최종 양자화 노이즈가 가청될 수 없거나 그 가청도가 가능한 한 낮도록 스펙트럼 성분들을 양자화하고, 양자화된 스펙트럼 성분들을 전송되거나 레코드될 수 있는 인코드된 신호의 표현으로 어셈블리하는 지각 코딩 형태이다. 양자화된 스펙트럼 성분들로부터 한 블록의 오디오 정보를 복구하기 위하여 필요한 한 세트의 제어 파라미터들은 또한 인코드된 신호로 어셈블리된다.
스펙트럼 분석은 다양한 방식으로 수행되지만 시간 도메인 대 주파수 도메인 변환을 사용하는 분석이 일반적이다. 오디오 정보의 블록을 주파수 도메인 표현으로 변환하는 중에, 오디오 정보의 스펙트럼 성분들은 각각의 벡터가 각각의 블록에 대한 스펙트럼 성분들을 표현하는 벡터들의 시퀀스에 의해 표현된다. 벡터들의 엘리먼트들은 주파수 도메인 계수들이고 각각의 벡터 엘리먼트의 인덱스는 특정 주파수 구간에 해당한다. 각각의 변환 계수에 의해 표현된 주파수 구간의 폭은 고정되거나 가변된다. 이산 퓨리에 변환(DFT) 또는 이산 코사인 변환(DCT) 같은 퓨리에 바탕 변환에 의해 형성된 변환 계수들에 의해 표현된 주파수 구간의 폭은 고정된다. 웨이브릿(wavelet) 또는 웨이브릿 패킷 변환에 의해 생성된 변환 계수들에 의해 표현된 주파수 구간의 폭은 가변할 수 있고 통상적으로 주파수 증가에 따라 증 가한다. 예를들어, A. Akansu, R. Haddad,에 의한 1992년 Academic Press, San Diego의 "Multiresolution Signal Decomposition, Transforms, Subbands, Wavelets"를 참조하라.
지각적으로 인코드된 신호로부터 오디오 정보 블록을 복구하기 위하여 사용될 수 있는 한 가지 형태의 신호 처리는 한 세트의 제어 파라미터들과 인코드된 신호로부터 양자화된 스펙트럼 성분들의 표현을 얻고, 오디오 정보의 블록으로 합성하기 위하여 스펙트럼 성분들에 이런 파라미터들의 세트를 사용한다. 합성은 인코드된 신호를 생성하기 위하여 사용된 분석과 상보적이다. 주파수 도메인 대 시간 도메인 변환을 사용하는 합성은 일반적이다.
많은 코딩 애플리케이션들에서, 인코드된 신호를 전송하거나 레코드하기 위하여 이용할 수 있는 대역폭 또는 공간은 제한되고 이런 제한은 양자화된 스펙트럼 성분들을 표현하기 위하여 사용될 수 있는 데이터 양을 상당히 제한한다. 제어 파라미터들의 세트들을 전달하기 위하여 필요한 데이터는 양자화된 스펙트럼 성분들을 표현하기 위하여 사용될 수 있는 데이터 양을 추가로 감소시키는 오버헤드가 있다.
몇몇 코딩 시스템들에서, 제어 파라미터들의 하나의 세트는 오디오 정보의 각각의 블록을 인코드하기 위하여 사용된다. 이들 형태의 코딩 시스템들에서 오버헤드를 감소시키기 위한 한 가지 공지된 기술은 단지 한 세트의 제어 파라미터들만이 인코드된 신호로부터 오디오 정보의 다수의 블록들을 복구하기 위하여 필요하도록 인코딩 처리를 제어하는 것이다. 10개의 블록들이 한 세트의 제어 파라미터들 을 공유하도록 인코딩 처리가 제어되면, 이들 파라미터들에 대한 오버헤드는 90 퍼센트만큼 감소된다. 바람직하지 않게, 오디오 신호들은 스테셔너리(stationery) 하지 않고 하나의 프레임에서 모든 블록들의 오디오 정보에 대한 인코딩 처리 효율성은 제어 파라미터들이 너무 많은 블록들에 의해 공유되면 최적화될 수 없다. 필요한 것은 제어 파라미터들을 전달하는데 필요한 오버헤드를 줄이기 위한 처리를 제어함으로써 신호 처리 효율성을 최적화하는 것이다.
본 발명에 따라, 프레임들내에 배열된 오디오 정보의 블록들은 모든 블록이 각각의 그룹내에 있도록 하나 이상의 세트들 또는 블록들의 그룹들로 그룹화된다. 각각의 그룹은 하나의 프레임내에서 하나의 블록 또는 두 개 이상의 블록들로 구성되고 그룹내의 각각의 블록에 제공되는 처리는 예를들어 한 세트의 비례 인자들 같은 하나 이상의 제어 파라미터들의 공통 세트를 사용한다. 본 발명은 신호 처리 성능을 최적화하기 위하여 블록들의 그룹화를 제어하는 것에 관한 것이다.
코딩 시스템에서, 예를들어 오디오 정보의 블록들을 포함하는 오디오 정보의 스트림은 프레임들로 배열되고, 각각의 프레임은 하나 이상의 블록들의 그룹을 가진다. 하나 이상의 인코딩 파라미터들의 세트는 각각의 그룹내의 모든 블록들에 대한 오디오 정보를 인코드하기 위하여 사용된다. 블록들은 인코딩 성능의 몇몇 측정치를 최적화하기 위하여 그룹화된다. 예를들어, 본 발명의 다양한 측면들을 통합한 인코딩 시스템은 자신의 인코딩 파라미터들의 세트를 사용하여 각각의 블록을 인코드하는 기준 신호에 대한 인코드된 신호의 왜곡과 대조하여, 프레임내의 각각의 그룹에 대한 공유된 인코딩 파라미터들을 사용하여 프레임내의 인코드된 오디오 정보의 왜곡을 표현하는 신호 에러를 최소화하기 위하여 블록들의 그룹화를 제어할 수 있다.
본 발명의 다양한 특징들 및 바람직한 실시예들은 다음 논의 및 유사한 참조 번호들이 몇몇 도면들에서 유사한 엘리먼트들을 가리키는 첨부 도면을 참조하여 보다 잘 이해될 수 있다. 다음 논의 및 도면들의 내용들은 예시적으로 나타나고 본 발명의 범위를 제한을 표현하는 것으로 이해해서는 안된다.
도 1은 본 발명의 다양한 측면들이 통합될 수 있는 오디오 코딩 시스템의 블록도이다.
도 2는 하나의 프레임에서 최적의 블록들의 수를 발견하기 위한 반복 처리의 외부 루프의 흐름도이다.
도 3A 및 3B는 하나의 프레임에서 최적의 블록들의 그룹화를 발견하기 위한 반복 처리시 내부 루프의 흐름도이다.
도 4는 그리디 합병(Greedy Merge) 처리의 흐름도이다.
도 5는 4개의 블록들에 제공된 그리디 합병 처리의 예를 도시하는 개념적인 블록도이다.
도 6은 본 발명의 다양한 측면들을 실행하기 위하여 사용될 수 있는 장치의 개략적인 블록도이다.
A. 도입
도 1은 인코더(10)가 오디오 신호들의 하나 이상의 채널들을 표현하는 오디오 정보의 하나 이상의 스트림들을 경로(5)로부터 수신하는 오디오 코딩 시스템을 도시한다. 인코더(10)는 전송되거나 레코드될 수 있는 인코드된 신호를 경로(15)를 따라 생성하기 위하여 오디오 정보의 스트림들을 처리한다. 인코드된 신호는 추후에 경로(5)로부터 수신된 오디오 정보의 복제를 경로(25)를 따라 생성하기 위하여 인코드된 신호를 처리하는 디코더(20)에 의해 수신된다. 복제 내용은 본래 오디오 정보와 동일하지 않을 수 있다. 만약 인코더(10)가 인코드된 신호를 생성하기 위하여 무손실 인코딩 방법을 사용하면, 디코더(20)는 본래 오디오 정보 스트림들과 동일한 복제를 복구할 수 있다. 만약 인코더(10)가 지각 코딩 같은 손실 인코딩 기술을 사용하면, 복구된 복제의 내용은 일반적으로 본래 스트림의 내용과 동일한 것이 아니고, 본래 내용으로부터 지각적으로 구별할 수 있다.
인코더(10)는 하나 이상의 처리 제어 파라미터들의 세트에 응답하는 인코딩 처리를 사용하여 각각의 블록내의 오디오 정보를 인코드한다. 예를들어, 인코딩 처리는 각각의 블록내의 시간 도메인 정보를 주파수 도메인 변환 계수들로 변환하고, 하나 이상의 부동 소숫점 가수(mantissas)가 부동 소숫점 지수와 연관되는 부동 소숫점 형태로 상기 변환 계수들을 표현하고, 가수의 비례 및 양자화를 제어하기 위하여 부동 소숫점 지수들을 사용할 수 있다. 이런 기본적인 방법은 상기된 AC-3 및 AAC 시스템들을 포함하는 많은 오디오 코딩 시스템들에 사용되고 다음 절에서 보다 상세히 논의된다. 그러나, 비례 인자들 및 제어 파라미터들로서 그 용 도는 본 발명의 가르침이 적용될 수 있는 방법의 단순한 일예라는 것이 이해되어야 한다.
일반적으로, 각각의 부동 소숫점 변환 계수의 값은 각각의 가수가 표준화되기 쉽기 때문에, 만약 각각의 계수 가수가 자신의 지수와 연관되면 주어진 비트들로 보다 정확히 표현될 수 있지만; 블록에 대한 변환 계수들의 전체 세트는 만약 몇몇의 계수 가수가 하나의 지수를 공유하면 주어진 수의 비트들로 보다 정확하게 표현될 수 있다는 것은 가능하다. 정확도의 증가는 공유가 지수들을 인코드하기 위하여 필요한 비트들의 수를 감소시키고 보다 많은 수의 비트들이 보다 큰 정밀도로 가수를 표현하기 위하여 사용되기 때문에 가능할 수 있다. 지수들이 가수를 따라 공유되는 방식은 블록 단위로 적응되거나 공유 배열은 불변할 수 있다. 만약 지수 공유 배열들이 불변하면, 각각의 지수 및 그와 연관된 가수가 인간 청각 시스템의 임계 대역에 상응하는 주파수 서브대역을 정의하는 방식으로 지수들을 공유하는 것은 일반적이다. 이런 방법에서, 만약 각각의 변환 계수에 의해 표현된 주파수 구간이 고정되면, 다수의 가수들은 그들이 보다 낮은 주파수들에서 작동하는 것과 대조하여 보다 높은 주파수의 지수를 공유한다.
하나의 블록내의 가수들중에서 부동 소숫점 지수들을 공유하는 개념은 두 개 이상의 블록들내의 가수들중에서 지수들을 공유하는 것으로 확장될 수 있다. 지수 공유는 인코드된 신호의 지수들을 전달하기 위하여 필요한 수의 비트들을 감소시키므로, 부가적인 비트들은 보다 큰 정밀도로 가수를 표현하기 위하여 사용된다. 블록들에서 변환 계수 값들의 유사성에 따라, 블록간 지수 공유는 가수들이 표현되는 정밀도를 증가 또는 감소시킬 수 있다.
따라서 추가 논의는 부동 소숫점 지수들을 공유함으로써 변환 계수 값들의 부동 소숫점 표현의 정확도의 트레이드오프를 참조한다. 동일한 트레이드오프는 계수 가수들의 양자화를 제어하기 위하여 지각 모델들을 사용하는 지각 코딩 같은 인코딩 처리들을 제어하기 위하여 사용된 블록간 파라미터들의 공유 동안 정확히 발생한다. AC-3 및 AAC 시스템들에 사용된 인코딩 처리들은 예를들어 변환 계수 가수들의 양자화를 위하여 비트 할당을 제어하도록 변환 계수들의 부동 소숫점 지수들을 사용한다. 블록들 사이에서 지수들의 공유는 필요한 비트들을 감소시켜, 보다 많은 비트들이 인코드된 가수들을 표현하게 하는 지수들을 표현하게 한다. 몇몇 예들에서 두 개의 블록들 사이의 지수 공유는 인코드된 가수의 값이 표현되는 정확도를 감소시킨다. 다른 예들에서, 두 개의 블록들 사이의 공유는 정확도를 증가시킨다. 만약 두 개의 블록들 사이의 지수들의 공유가 가수 정확도를 증가시키면, 3개 또는 그 이상의 블록들 사이에서 공유는 추가로 정확도를 증가시킨다.
본 발명의 다양한 측면들은 인코드된 신호 왜곡을 최소화하기 위하여 그룹들의 수 및 블록 그룹들 사이의 그룹 경계들을 최소화함으로써 오디오 인코드로 실행될 수 있다. 트레이드오프는 최소 견적 정도와, 인코드된 신호의 프레임을 표현하기 위하여 사용된 총 비트들의 수 및 그룹 배열들을 최적화하기 위하여 사용된 기술의 계산 복잡도의 어느 하나 또는 양쪽 사이에 이루어질 수 있다. 일 실시예에서, 이것은 평균 제곱 에러 에너지의 측정치를 최소화함으로써 달성될 수 있다.
B. 배경
다음 논의는 본 발명의 다양한 개념들이 프레임들내에 배열된 오디오 정보 블록들의 그룹의 처리를 최적화하는 오디오 코딩 시스템에 통합되는 방식들을 기술한다. 최적화하는 우선 수치 최소화 문제로서 표현된다. 이런 수치 프레임워크는 다른 레벨들의 계산 복잡도를 가지며 다른 레벨들의 최적화를 제공하는 몇몇 구현예들을 개발하기 위하여 사용된다.
1. 수치 최소화 문제로서 그룹 선택
그룹들은 프레임들내의 그룹들의 수가 가변하는 것을 허용함으로써 최적 처리의 자유도가 허용된다. 최적 그룹화 구성을 계산하기 위하여, 그룹들의 수 및 각각의 그룹에서 블록들의 수가 프레임 단위로 가변할 수 있다는 것이 가정된다. 추가로 하나의 그룹이 단일 프레임내에서 단일 블록 또는 다수의 블록들로 구성되는 것이 가정된다. 수행될 최적화는 하나 이상의 제한들이 주어진 프레임내에서 블록들의 그룹화를 최적화하는 것이다. 이들 제한들은 하나의 애플리케이션에서 다른 애플리케이션으로 가변할 수 있고 인코드된 신호 충실도 같은 신호 처리 결과들에서 우수성의 최대화로서 표현되거나 인코드된 신호 왜곡 같은 인버스 처리 결과의 최소화로서 표현될 수 있다. 예를들어, 오디오 코더는 인코드된 신호의 주어진 데이터 속도 동안 왜곡을 최소화할 것을 요구하거나 인코드된 신호 왜곡 레벨에 대해 인코드된 신호 데이터 속도를 트레이드오프하는 것을 요구하는 제한을 가질 수 있는 반면, 분석/검출/분류 시스템은 계산 복잡도에 대해 분석, 검출 또는 분류의 정확도를 트레이드 오프하는 것을 요구하는 제한을 가질 수 있다. 신호 왜곡의 측정치들은 이하에 논의되지만 이들은 단순히 사용될 수 있는 다양한 품질의 측정 치들의 예이다. 하기에 논의되는 기술들에는 높고 낮은 또는 최대 및 최소 같은 상대적 양들에 대해 비교들을 리버스하고 기준들을 인버팅함으로써 인코드된 신호 충실도 같은 신호 처리 우수성 측정치들이 사용될 수 있다.
본 발명이 오디오 정보의 시간 도메인 및 주파수 도메인 표현들의 사용시 서로 가변하는 적어도 3개의 전략중 임의의 하나에 따라 실행될 수 있다는 것이 예상된다. 제 1 전략에서, 시간 도메인 정보는 시간 도메인 정보를 전달하는 블록들의 그룹들 처리를 최적화하기 위하여 분석된다. 제 2 전략에서, 주파수 도메인 정보는 시간 도메인 정보를 전달하는 블록들의 그룹들 처리를 최적화하기 위하여 분석된다. 제 3 전략에서, 주파수 도메인 정보는 주파수 도메인 정보를 전달하는 블록들의 그룹들의 처리를 최적화하기 위하여 분석된다. 제 3 전략에 따른 다양한 실행들은 하기에 기술된다.
전송 또는 레코딩을 위한 오디오 정보를 인코딩하기 위한 본 발명의 실제 실행들에서, 다음 논의를 위하여 용어들 "왜곡" 및 "부속 비용(side cost)"을 정의하는 것이 바람직하다.
용어 "왜곡"은 하나의 그룹에 속하는 블록 또는 블록들의 주파수 도메인 변환 계수들의 함수이고 그룹들의 공간으로부터 음이 아닌 실수들의 공간으로 맵핑한다. 영의 왜곡은 정확히 N 그룹들을 포함하는 프레임에 할당되고, N은 프레임내의 블록들의 수이다. 이 경우, 블록들 사이 또는 중에서 제어 파라미터들의 공유는 없다.
용어 "부속 비용"은 음이 아닌 정수의 세트로부터 음이 아닌 실수들의 세트 로 맵핑하는 이산 함수이다. 다음 논의에서, 부속 비용은 인수(x)의 양의 선형 함수라고 가정되고, 여기서 x는 p-1이고 p는 하나의 프레임내에서 그룹들의 수이다. 영의 부속 비용은 만약 프레임내의 그룹들의 수가 1이면 하나의 프레임에 할당된다.
왜곡을 계산하기 위한 두 개의 기술들은 하기에 논의된다. 하나의 기술은 각각의 K 주파수 대역들에 대한 "대역"을 기초로 하는 왜곡을 계산하고, 여기서 각각의 주파수 대역은 한 세트의 하나 이상의 연속적인 주파수 도메인 변환 계수들이다. 제 2 기술은 주파수 대역들 모두를 가로질러 광대역 측면에서 전체 블록에 대한 단일 왜곡 값을 계산한다. 다음 논의를 위하여 몇몇 보다 많은 용어들을 정의하는 것이 유용하다.
용어 "대역 왜곡"은 저주파수에서 고주파수로 인덱스된 차원(K)의 벡터 값들이이다. 벡터에서 K 엘리먼트들 각각은 하나의 블록에서 하나 이상의 변환 계수들의 각각의 세트에 대한 왜곡 값을 표현한다.
용어 "블록 왜곡"은 블록에 대한 왜곡 값을 표현하는 스칼라 값이다.
용어 "사전 에코 왜곡"은 몇몇 최소 식별 차이(JND) 광대역 기준 에너지 임계치에 관련하여 소위 사전 에코 왜곡 레벨을 표현하는 스칼라 값이고, 여기서 JND 기준 에너지 임계치 이하의 왜곡은 중요하지 않은 것으로 고려된다.
용어 "시간 지원"은 변환 계수들의 단일 블록에 대응하는 시간 도메인 샘플들의 범위이다. Princen 등에 의한 "Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation", ICASSP 1987 Conf.Proc., May 1987, pp.2161-64에 기술된 변형된 이산 코사인 변환(MDCT)에서, 변환 계수에 대한 임의의 변형은 변환에 의해 부과된 시간 도메인 세그먼트들의 50% 오버랩으로 인해 변환 계수들의 두 개의 연속적인 블록들로부터 복구되는 정보에 영향을 미친다. 이런 MDCT에 대한 시간 지원은 영향받은 계수들의 제 1 블록에만 해당하는 시간 세그먼트이다.
용어 "결합 채널 코딩"은 두 개 이상의 오디오 정보의 채널들이 인코더에서 몇몇 방식으로 결합되고 디코더에서 이산 채널들로 분리되는 코딩 기술이다. 디코더에 의해 얻어진 분리된 채널들은 본래 채널들에서 동일하지 않거나 심지어 지각적으로 구분할 수 없다. 결합 채널 코딩은 양쪽 채널들 사이의 상호 정보를 이용함으로서 코딩 효율성을 증가시키기 위하여 사용된다.
사전 에코 왜곡은 변환의 시간 지원이 사전 마스킹 시간 구간보다 긴 변환 오디오 코딩 시스템에 대한 시간 도메인 마스킹과 관련하여 고려된다. 사전 마스킹 시간 구간에 관련하여 부가적인 정보는 Zwicker 등에 의한 "Psychoacoustics-Facts and Models," Springer-Verlag, Berlin 1990에서 얻어질 수 있다. 하기된 최적화 기술들은 시간 지원이 사전 마스킹 구간 미만이고 그러므로, 단지 왜곡 객체 측정치들만이 고려되는 것을 가정한다.
본 발명은 왜곡 객체 측정치들과 반대로 주체 또는 지각 왜곡의 측정치를 바탕으로 최적화를 수행하는 선택 사항을 배제하지 않는다. 특히, 만약 시간 지원이 지각 코더에 대한 최적 길이 보다 길면, 왜곡의 평균 제곱 에러 또는 다른 객체 측정치가 가청 가능한 왜곡 레벨을 정확하게 반영하지 않고 주체 왜곡의 측정치의 사 용이 객체 측정치를 사용하여 얻어진 그룹 구성과 다른 블록 그룹 구성을 선택할 수 있는 것을 가능하게 한다.
최적화 처리는 다양한 방식으로 설계될 수 있다. 한가지 방식은 1 내지 N에서 값(p)을 반복하고 - 여기서 p는 프레임의 그룹 수이고 -, 각각의 p의 값에 대해 임계치(T) 보다 높지 않은 프레임의 모든 블록들의 왜곡들의 합을 가진 그룹들의 구성을 식별하는 것이다. 이들 식별된 구성들 사이에서, 하기된 3가지 기술중 하나는 그룹들의 최적 구성을 선택하기 위하여 사용될 수 있다. 선택적으로, p의 값은 결합 채널 코딩을 위해 다수의 블록들을 적응적으로 선택함으로써 코딩 이득을 최적화하는 두 개의 채널 인코딩 처리 같은 몇몇 다른 방식으로 결정될 수 있다. 상기 경우, p의 공통 값은 각각의 채널에 대한 p의 개별 값들로부터 유도된다. 두 개의 채널들에 대한 p의 공통 값을 제공하면, 최적 그룹 구성은 양쪽 채널들에 대해 함께 계산될 수 있다.
하나의 프레임내의 블록들의 그룹 구성은 주파수에 따르지만, 이것은 주파수 대역들을 그룹화하는 방법을 지정하기 위하여 인코드된 신호가 부가적인 정보를 전달하는 것을 요구한다. 본 발명의 다양한 측면들은 여기에 개시된 광대역 실행의 각각의 인스턴스 생성으로서 공통 그룹화 정보를 가진 대역들을 고려함으로써 다중 대역 실행들에 적용될 수 있다.
2. 왜곡 측정치로서 에러 에너지
"왜곡"의 의미는 최적화를 수행하는 양자화 측면에서 정의되지만, 이런 왜곡은 오디오 인코더에서 블록들의 최적 그룹화를 발견하기 위한 처리에 의해 사용될 수 있는 무언가에 관련되지 않지 않는다. 필요한 것은 최적화 처리를 최적 해결책으로 지향시킬 수 있는 인코드된 신호 품질의 측정치이다. 최적화가 블록들의 그룹에서 각각의 블록에 대해 공통 세트의 제어 파라미터들을 사용하는 쪽으로 지향되기 때문에, 인코드된 신호 품질의 측정치는 각각의 블록에 제공하고 그룹내 모든 블록들에 대한 단일 대표 값 또는 복합 값에 쉽게 결합될 수 있는 무언가를 바탕으로 하여야 한다.
하기 논의된 복합 측정치를 얻기 위한 한가지 기술은 질문시 상기 값에 대해 계산될 수 있는 유효 평균을 구비한 그룹의 블록들에 대한 몇몇 값의 평균을 계산하는 것이다. 바람직하지 않게, 오디오 코딩에 이용할 수 있는 모든 값들이 다수의 값들로부터 유효 평균을 계산하기 위하여 사용될 수 없다. 적당하지 않은 값의 한가지 예는 이들 위상 성분들의 평균이 임의의 의미 값을 제공하지 않기 때문에 변환 계수를 위한 이산 퓨리에 변환(DFT) 위상 성분이다. 복합 측정치를 얻기 위한 다른 기술은 그룹내의 모든 블록들에 대해 몇몇 최대 값을 선택하는 것이다. 어느 경우에서나, 복합 측정치는 기준 값으로서 사용되고 인코드된 신호 품질 측정치는 이런 기준 값과 그룹의 각각의 블록 값 사이의 거리와 반대로 관련된다. 다른 말로, 프레임에 대한 인코드된 신호 품질의 측정치는 기준 값과, 프레임내 모든 그룹들에 대한 각각의 그룹에서 각각의 블록에 대한 적당한 값 사이의 에러의 인버스로서 정의될 수 있다.
상기된 바와같은 인코드된 신호 품질의 측정치는 이런 측정치를 최소화하는 처리를 수행함으로써 최적화를 구동하기 위하여 사용될 수 있다.
다른 파라미터들은 다양한 코딩 시스템들 또는 다른 애플리케이션들에 관련될 수 있다. 한가지 예는 소위 중간/부속 코딩과 관련된 파라미터들이고, 이런 예는 "중간" 채널이 좌측 및 우측 채널들의 합이고 "부속" 채널이 좌측 및 우측 채널들 사이의 차이인 공통 결합 채널 코딩 기술이다. 본 발명의 다양한 측면들을 통합한 코딩 시스템들의 실행들은 블록들을 가로질러 중간/부속 코딩 파라미터들의 공유를 제어하기 위한 에너지 레벨들 대신 채널 간 상관을 사용할 수 있다. 일반적으로, 블록들을 그룹들로 그룹화하는 임의의 오디오 인코더는 그룹의 블록 사이의 인코딩 제어 파라미터들을 공유하고, 블록들에 대한 최적 그룹화 구성을 결정할 수 있는 본 발명에서 바람직할 수 있는 제어 정보를 디코더에 전송한다. 본 발명에 의해 제공된 장점들 없이, 비트들의 차선화 할당은 비트들이 인코딩 스펙트럼 계수들로부터 전환되고 다양한 스펙트럼 계수들 사이에서 최적으로 할당될 수 없기 때문에 가청할 수 있는 최적화 왜곡의 전체적인 증가를 유발할 수 있다.
3. 벡터 에너지 대 스칼라 에너지
본 발명의 실행들은 최적화 처리를 유도하기 위하여 대역화된 왜곡 또는 블록 왜곡 값들을 사용할 수 있다. 대역화된 왜곡을 사용할지 블록 왜곡을 사용할지의 여부는 하나의 블록에서 다음 블록으로 대역화된 에너지의 넓은 범위 변화에 따른다. 다음이 정의된다:
um은 블록(m)에서 총 에너지에 대한 스칼라 에너지값이고 (1a)
vm ,j는 블록(m)에서 대역(j)에 대한 대역화된 에너지를 표현하는 벡터 엘리먼 트이고 (1b)
만약 μ(vm ,j, vm +1,j) = 0이도록, 인코드될 신호가 보다 작은 메모리이면, 여기서 K 주파수 대역들에 대해 0≤j≤K-1이고 μ가 인접한 블록들 사이의 상호 관련 정보 정도의 측정치임, 에너지 측정치(um)를 사용하는 시스템은 작동할 것이고 또한 대역화된 에너지 측정치(vm ,j)를 사용하는 시스템은 작동할 것이다. Jayant 등에 의한 "Digital Coding of Waveforms", Prentice-Hall, New Jersey, 1984 참조. 다른 말로, 연속적인 블록들이 스펙트럼 에너지 레벨들에서 작은 유사성을 가질때, 스칼라 에너지는 작동하고 측정치로서 대역화된 에너지 역시 작동할 것이다. 다른 한편, 하기된 바와같이, 연속적인 블록들이 스펙트럼 에너지 레벨들에서 높은 유사성을 가질때, 스칼라 에너지는 파라미터들이 인코딩 성능에 심각한 페널티를 부가하지 않고 두 개 이상의 블록들에 공통적일 수 있는지를 가리키기 위하여 만족스러운 측정치를 제공할 수 없다.
본 발명은 임의의 특정 측정치들을 사용하는 것으로 제한되지 않는다. 로그 에너지들 및 다른 신호 특성들을 바탕으로 하는 왜곡 측정치들은 다양한 애플리케이션들에 적당할 수 있다.
유사한 스펙트럼 내용, 또는 μ(vm ,j, vm +1,j)>0을 가진 블록 전이부들에 대해, 특정 대역 에너지 값들(vm ,j)이 다음 식을 만족시키키는 것은 여전히 가능하다.
Figure 112006048802361-PCT00001
(2)
상기 특정 대역 에너지 값들이 영 근처의 작은 값과 같은 것은 가능하다. 이 결과는 광대역을 바탕으로, 인접한 블록들 사이의 전체 에너지의 비교가 개별 주파수 대역들에서 블록들 사이의 차이들을 검사할 수 있다는 사실을 도시한다. 많은 신호들에 대해, 에너지의 스칼라 측정치는 왜곡을 정확하게 최소화하기에 불충분하다. 이것은 다수의 오디오 신호들에서 사실이기 때문에, 하기된 본 발명의 실행들은 최적 그룹 구성을 식별하기 위하여 스칼라 블록 에너지 값(um) 대신 대역화된 에너지 값들 Vm = (vi,o,...,vi,K-1)의 벡터를 사용한다.
4. 제한들의 식별
본 발명이 이용된 애플리케이션들을 바탕으로 고려될 다수의 제한들이 있다. 하기된 본 발명의 실행은 오디오 코딩 시스템이고; 그러므로, 관련 제한들은 오디오 정보의 인코딩과 관련된 파라미터들이다. 예를들어, 부속 비용 제한은 그룹의 모든 블록들에 공통인 제어 파라미터들을 전송할 필요성으로부터 발생한다. 보다 높은 부속 비용은 만약 고정된 수의 비트들이 각각의 프레임에 할당되면 하나의 프레임내의 모든 블록들에 대한 총 왜곡을 증가시킬 수 있다. 또한 다른 실행에 걸쳐 본 발명의 특정 실행에 바람직한 실행 복잡도에 부과되는 제한들이 있을 수 있다.
5. 문제 설명 유도
다음은 오디오 코딩 시스템에서 왜곡을 최적화하기 위한 수치 문제 정의이다. 이런 특정 문제 정의에서, 왜곡은 블록들의 후보 그룹화시 하나의 프레임에 대한 스펙트럼 계수들 및 각각의 블록들이 자신의 그룹내에 있는 하나의 프레임내 각각의 블록들의 스펙트럼 계수 에너지 사이의 에러 에너지 측정치이다.
N 대역화 에너지 벡터들(Vi)의 주문된 세트를 가정하자, 여기서 각각의 벡터는 실수의 양의 엘리먼트들을 가진 차원(K)이고, 즉 Vi={vi,0,...,vi,K-1}이다. 심볼(Vi)은 대역화된 에너지 값들의 벡터를 표현하고, 여기서 벡터의 각각의 엘리먼트는 변환 계수들의 임의의 목표된 대역에 필수적으로 해당할 수 있다. 임의의 주문된 양의 정수들의 세트 0=s0<s1<...<sp = N에 대하여, 하나는 Im=[sm-1,sm]으로서 구간들(Im)을 정의할 수 있고, ∀m, 0<m≤p. 심볼(sm)은 각각의 그룹에서 제 1 블록의 블록 인덱스를 표현하고 m은 그룹 인덱스이다. 값(sp=N)은 구간(Im)에 대한 종료점을 정의하기 위하여 다음 프레임의 제 1 블록에 대한 인덱스로서 생각될 수 있다. 다음과 같이 에너지 벡터들의 세트의 분할 P(s0,...,so)을 정의할 수 있다:
P(S) = (G0,...,Gp -1) (3)
여기서 S는 벡터(s0,...,sp)이고
Gm = {Vi|i∈Im} (4)
심볼(Gm)은 그룹에서 블록들을 나타낸다.
몇몇 왜곡 측정치들은 본 발명의 다양한 실행들에 사용될 수 있다. 평균 최대 왜곡 측정치(M')는 다음과 같이 정의된다:
Figure 112006048802361-PCT00002
(5)
Figure 112006048802361-PCT00003
(6)
Figure 112006048802361-PCT00004
(7)
평균 왜곡(A)은 다음과 같이 정의된다:
Figure 112006048802361-PCT00005
(8)
Figure 112006048802361-PCT00006
(9)
Figure 112006048802361-PCT00007
(10)
최대 차 왜곡(M")은 다음과 같이 정의된다:
Figure 112006048802361-PCT00008
(11)
Figure 112006048802361-PCT00009
(12)
분할 P(S) = P(s0,...,sp)에 대한 부속 비용은 (p-1)c와 동일하게 정의되고, 여기서 c는 양의 실수 상수이다.
왜곡에 대한 두 개의 부가적인 함수들은 다음과 같이 정의된다:
M*(S) = M(S)+Dist{(p-1)c} (13)
A*(S) = A(S))+Dist{(p-1)c} (14)
여기서 M(S)는 M'(S) 또는 M"(S)일 수 있고,
Dist{}는 왜곡으로서 동일한 단위들의 부속 비용을 표현하기 위한 맵핑이다.
M(S)에 대한 함수는 최적 해결책을 발견하기 위하여 사용되는 검색 알고리듬에 따라 선택될 수 있다. 이것은 하기와 같이 논의된다. Dist{} 함수는 M(S) 및 A(S)와 호환할 수 있는 값들에 상기 부속 비용을 맵핑하기 위하여 사용된다. 몇몇 코딩 시스템들에서, 부속 비용으로부터 왜곡으로의 적당한 맵핑은
Dist{C} = 6.02dB·C이고,
여기서 C는 비트로 표현된 부속 비용이다.
최적화는 다음 수치 문제로서 공식화될 수 있다:
관계 0 = s0<s1<...<sp = N을 만족하는 양의 정수들(s0,s1,...,sp)의 모든 가능한 선택을 위하여 특정 왜곡 함수(M(S),M*(S),A(S) 또는 A*(S))를 최소화하는 양의 정수 엘리먼트들(s0,s1,...,sp)로 벡터(S)를 결정함, 여기서 1≤p≤N이다. 변수(p)는 목표된 왜곡 함수를 최소화하는 벡터(S)를 발견하기 위하여 1 내지 N의 범위에서 선택될 수 있다.
선택적으로, 최적화는 임계치를 사용하는 수치 문제로서 공식화될 수 있다: 목표된 왜곡 함수(M(S),M*(S),A(S) 또는 A*(S))의 값이 가정된 임계값(T) 이하이도록, 관계 0 = s0<s1<...<sp = N을 만족하는 벡터들 S = (s0,s1,...,sp)을 모든 정수 값들(p)에 대해 결정함, 여기서 1≤p≤N이다. 이들 벡터들로부터, p에 대한 최소 값으로 벡터(S)를 발견한다. 이런 방법에 대한 대안은 1 내지 N에서 p의 값들을 증가시키면서 반복하고, 임계 제한을 만족하는 제 1 벡터(S)를 선택하는 것이다. 이런 방법은 이하에 보다 상세히 기술된다.
6. 다중 채널 시스템들에 대한 부가적인 고려 사항들
AC-3 시스템들에 사용되는 채널 결합 같은 결합 스테레오/다중 채널 코딩 방법들 및 AAC 시스템들에 사용되는 중간/부속 스테레오 코딩 또는 강도 스테레오 코딩을 이용하는 스테레오 또는 다중 채널 코딩 시스템들에 대해, 모든 채널들내의 오디오 정보는 특정 코딩 시스템에 대해 적당한 짧은 블록 모드에서 인코드되어야 하고, 모든 채널들의 오디오 정보가 동일한 수의 그룹들 및 동일한 그룹 구성을 가진다는 것을 보장하여야 한다. 이런 제한은 부속 비용의 주 소스인 비례 인자들이 함께 인코드된 채널들중 하나에 대해서만 제공되기 때문에 적용한다. 이것은 한 세트의 비례 인자들이 모든 채널들에 적용되기 때문에 모든 채널들이 동일한 그룹 구성을 가진다는 것을 의미한다.
최적화는 다중 채널 코딩 시스템들에서 적어도 3가지 방식중 임의의 것으로 수행될 수 있다: "결합 채널 최적화"라 불리는 한 가지 방식은 채널들에 걸쳐 대역화되거나 광대역화된 모든 에러 에너지들을 합산함으로써 단일 통과시 그룹들 및 그룹 경계들의 수의 결합 최적화에 의해 행해진다.
"네스트된 루프 채널 최적화"라 불리는 다른 방식은 네스트된 루프 처리로서 실행되는 결합 채널 최적화에 의해 행해지고 여기서 외부 루프는 모든 채널들에 대해 최적의 수의 그룹들을 계산한다. 결합 스테레오 코딩 모드에서 양쪽 채널들을 고려하여, 예를들어 내부 루프는 주어진 수의 그룹들에 대해 이상적인 그룹화 구성 의 최적화를 수행한다. 이런 방법에 부과되는 주 제한은 내부 루프에서 수행되는 처리가 모든 결합하여 코드화된 채널들에 대해 동일한 p의 값을 사용하는 것이다.
"개별 채널 최적화"라 불리는 다른 방식은 모든 다른 채널들과 무관하게 각각의 채널에 대해 그룹화 구성을 최적화함으로서 행해진다. 결합 채널 코딩 기술은 p의 단일 값들 또는 단일 그룹 구성을 가진 프레임내에서 임의의 채널을 인코드하는데 사용될 수 없다.
7. 제한된 최적화를 수행하기 위한 방법들
본 발명은 최적화 해결책을 찾기 위한 임의의 목표된 방법을 필수적으로 사용할 수 있다.
"배제 검색 방법"은 계산에 강하고 항상 최적의 해결책을 찾는다. 한 가지 방법은 모든 가능한 수의 그룹들 및 각각의 수의 그룹들에 대한 모든 가능한 그룹화 구성들에 대한 왜곡을 계산하고; 각각의 그룹들에 대한 최소 왜곡의 그룹화 구성을 식별하고; 최소 왜곡을 가진 구성을 선택함으로써 그룹들의 최적 수를 결정한다. 선택적으로, 상기 방법은 임계치를 가진 각각의 그룹들의 수에 대해 최적의 왜곡을 비교하고 임계치 이하의 왜곡 측정치를 가진 제 1 그룹 구성을 발견한후 검색을 종료한다. 이런 다른 실행은 허용 가능한 해결책을 발견하기 위한 검색의 계산 복잡도를 감소시키지만, 최적의 해결책이 발견되는 것을 보장하지 않는다.
"그리디 합병 방법"은 배타적 검색 방법으로서 계산적으로 강하지 않고 최적의 그룹화 구성이 발견되는 것을 보장할 수 없지만, 일반적으로 최적의 구성 만큼 좋거나 유사하게 좋은 구성을 항상 발견한다. 이 방법에 따라, 인접한 블록들은 부속 비용을 고려하는 동안 반복적으로 그룹들에 결합된다.
"급속 최적화 방법"은 상기된 다른 두 개의 방법들의 복잡도에 대해 중간의 계산 복잡도를 가진다. 이런 반복 방법은 이전 반복들에서 계산된 왜곡 계산들을 바탕으로 특정 그룹 구성들을 고려하는 것을 방지한다. 배제 검색 방법과 같이, 모든 그룹 구성들은 고려되지만 몇몇 구성들의 고려는 종래 계산들 측면에서 추후 반복으로부터 제거될 수 있다.
8. 부속 비용에 영향을 주는 파라미터들
바람직하게 본 발명의 실행은 최적 그룹 구성을 검색할때 부속 비용의 변경을 책임진다.
AAC 시스템들에 대한 부속 비용의 주 성분은 비례 인자 값들을 나타내기 위하여 필요한 정보이다. 비례 인자들이 하나의 그룹에서 모든 블록들에 걸쳐 공유되기 때문에, AAC 인코더의 새로운 그룹의 부가는 부가적인 비례 인자들을 나타내기 위하여 필요한 부가적인 정보의 양만큼 부속 비용을 증가시킬 것이다. 만약 AAC 인코더에서 본 발명의 실행이 부속 비용을 변화시키면, 이런 고려 사항은 속도 왜곡 루프 계산이 완료된 후 그때까지 비례 인자가 알려지지 않기 때문에 평가를 이용하여야 하고, 이것은 그룹 구성이 형성된 후 수행되어야 한다. AAC 시스템들에서 비례 인자들은 심하게 가변하고 그 값들은 스펙트럼 계수들의 양자화 해상도와 거의 근접하게 고정되고, 이것은 네스트된 속도/왜곡 루프들에서 결정된다. AAC에서 비례 인자들은 또한 엔트로피 코드화되고, 추가로 부속 비용의 비결정 성질에 공헌한다.
다른 형태의 부속 비용들은 오디오 정보를 인코드하기 위하여 사용된 특정 인코딩 처리들에 따른다. AC-3 시스템들에서, 예를들어 채널 결합 좌표들은 공통 에너지 값에 따라 좌표들을 그룹화하는 방식으로 블록들에 걸쳐 공유될 수 있다.
본 발명의 다양한 측면들은 인코드된 신호의 변환 계수 지수들을 전달하기 위하여 사용되는 "지수 코딩 전략"을 선택하는 AC-3 시스템들의 처리에 응용할 수 있다. AC-3 지수들이 주어진 지수를 공유하는 모든 스펙트럼 라인들에 대해 전력 스펙트럼 밀도 값들의 최대로서 얻어지기 때문에, 최적화 처리는 AAC에 사용된 평균 제곱 에러 기준 대신 최대 에러 기준을 사용하여 동작할 수 있다. AC-3 시스템에서, 부속 비용은 이전 블록으로부터의 지수들을 재사용하지 않는 각각의 새로운 블록에 대한 지수들을 전달하기 위한 필요한 정보양이다. 계수들이 주파수에 걸쳐 지수들을 공유하는 방법을 결정하는 지수 코딩 전략은 만약 지수 전략이 그룹 구성에 따르면 부속 비용에 영향을 미친다. AC-3 시스템들의 지수들의 부속 비용을 평가하기 위한 필요한 처리는 지수 값들이 정신 음향적 모델의 일부로서 인코딩 처리시 미리 계산되기 때문에 AAC 시스템들의 비례 인자들을 평가하기 위한 처리 보다 덜 복잡하다.
C. 검색 방법들의 상세한 설명
1. 배제 검색 방법
배제 검색 방법은 다수의 그룹 구성들 및 다수의 검사된 그룹들을 제한하기 위하여 임계치를 사용하여 실행될 수 있다. 이 기술은 p의 실제 값을 설정하기 위하여 임계값에 배타적으로 의존함으로써 간략화될 수 있다. 이것은 0.0 및 1.0 사 이의 몇몇 수로 임계 값을 설정하고 가능한 수의 그룹들(p)에 걸쳐 반복함으로써 행해진다. 최적 그룹 구성 및 최종 왜곡 함수는 p=1에 대해 계산되고, T에 대해 각각의 비교 동안 일씩 p를 증가시킨다. 최종 왜곡은 T에 대해 비교되고 왜곡 함수가 T 미만인 p의 제 1 값은 그룹들의 최적 수로서 선택된다. 경험적으로 임계치(T)의 값을 설정함으로써, 다양한 다른 입력 신호들에 대한 짧은 윈도우 프레임들의 큰 샘플링에 걸쳐 p의 가우스 분배를 달성하는 것은 가능하다. 이런 처리는 도 2의 흐름도에 도시되고, 이것은 최적의 그룹들 수를 발견하기 위한 외부 루프 처리를 도시한다. 내부 루프에 대한 적당한 처리들은 도 3A 및 3B에 도시되고 하기에 논의된다. 여기에 기술된 함수들 M(S), M*(S), A(S) 및 A*(S)를 포함하는 왜곡 함수들중 임의의 것은 사용된다.
주어진 p의 값에 대해, 외부 루프를 반복함으로써 결정된 바와같이, 내부 루프는 평균 제곱 에러 왜곡의 최소 양을 달성하는 최적 그룹 구성 S=(s0,s1,..,sp)을 계산한다. 10 미만의 N의 작은 값들에 대해, N 블록들을 가로질러 p 그룹들을 분할하는 모든 가능한 방법들을 포함하는 테이블 엔트리들의 세트를 형성하는 것은 가능하다. 각각의 테이블 엔트리의 길이는 한 번에 7 선택 (p-1)의 결합들 수이고, "7은 p-1을 선택함"으로서 이하에 기술된다. 정의되지 않은 p=0을 제외한 p의 모든 값들에 대해 각각의 테이블 엔트리가 있고, 이것은 각각의 그룹이 정확히 하나의 블록을 포함하는 왜곡없는 해결책을 형성한다. 0<p<N에 대해, 테이블의 바람직한 실행은 테이블 TAB의 비트 필드들로서 S={s0,s1,...,sp}를 저장하고 내부 결합 루프에서의 처리는 각각의 sm에 대한 절대값들에 도달하기 위하여 TAB 비트 필드 값들을 마스크한다. 0<p<N에 대한 비트 필드들에 대한 분할 값들은 다음과 같다:
그룹 경계들(p-1)의 수 테이블 길이(7은 p-1을 선택함) s1,s2...,sp -1 결합들(비트 필드 형태에서)
1 7 1,2,4,8,16,32,64
2 21 3,5,6,9,10,12,17,18,20,24,33,34,36,40,48,65,66,68,72,80,96
3 35 7,11,13,14,19,21,22,25,26,28,35,37,38,41,42,44,49,50,52,56,67,69,70,73,74,76,81,82,84,88,97,98,100, 104,112
4 35 15,23,27,29,30,39,43,45,46,51,53,54,57,58,60,71,75,77,78,83,85,86,89,90,92,99,101,102,105,106,108,113,114,116,120
5 21 31,47,55,59,61,62,79,87,91,93,94,103,107,109,110, 115,117,118,121,122,124
6 7 63,95,111,119,123,125,126
7 1 127
테이블 1. N=8에 대한 모든 가능한 그룹들의 결합들
각각의 엔트리 또는 테이블의 로우는 0<p<N, N=8에 대하여 다른 p의 값에 해당한다. 이 테이블은 도 2에 도시된 처리의 내부 루프인 도 3A 및 3B의 논리 흐름도에 도시된 것과 같은 반복 처리에 사용될 수 있다. 이런 내부 루프는 모든 가능한 그룹 구성들에 걸쳐 반복하고, 이것은 수에서 (7은 p-1을 선택함)이다. 흐름도들에서 표기법 TAB[p,r]에 의해 도시된 바와 같이, 외부 루프에 의해 제공된 p 값은 테이블의 로우를 인덱스하고 값(r)은 특정 그룹화 결합을 위한 비트 필드를 인덱스한다.
각각의 내부 루프 반복 동안, 도 3A 또는 선택적으로 도시된 평균 왜곡 측정치(A(S)), 도 3B에 도시된 최대 차 왜곡(M"(S))은 각각 방정식들(10 또는 12)에 따라 계산된다. 모든 블록들 및 대역들에 걸친 총 왜곡은 단일 스칼라 값(ASAV), 또 는 선택적으로 (MSAV)을 얻기 위하여 합산된다.
배제 검색 방법은 다양한 왜곡 측정치들을 사용할 수 있다. 예를들어, 상기 논의된 실행은 L1 기준을 사용하지만 L2 기준 또는 L 식별 기준 측정치들은 대신 사용될 수 있다. R.M.Gray, A.Buzo,A.H.Gray, Jr, "Distortion Measures for Speech Processing", IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.ASSP-28,No.4, August 1980을 참조하라.
2. 급속 최적화 방법
급속 최적화 방법은 방정식 7에서 상기된 바와같이 평균 최대 왜곡(M'(S))을 사용한다. 이 방법은 모든 가능한 해결책들을 통하여 배타적으로 검색하지 않고 최적 그룹화 구성을 얻는다. 결과적으로, 상기된 배타적 검색 방법으로서 계산적으로 강하지 않다.
a) 정의들
분할 P(s0,...,sP)는 p 그룹들을 포함하는 레벨 p의 분할부로 상기된다. 그룹의 크기는 그 그룹의 블록들의 수이다. 1 이상의 크기를 가진 그룹들은 양의 그룹이라 한다. 방정식 4에서 표현된 바와같은 그룹(Gm)의 정의는 Gm=G(sm-1,sm-1+1...,sm)으로서 다시 쓰여진다.
b) 수학적 예비 시험
크기 d>3을 가진 그룹은 공통적으로 정확히 하나의 블록을 가진 두 개의 서브그룹들로 분할될 수 있다. 예를들어, 만약 Gm=G(sm-1,sm-1+1...,sm)이면, 그룹(Gm) 은 두 개의 서브 그룹들 Gma=G(sm-1,sm-1+1...,sm-1+k) 및 Gmb=G(sm-1+k,...,sm)으로 분할되고, 양쪽은 인덱스(sm-1+k)를가진 블록을 포함한다. 정의에 의해, 이들 두 개의 서브그룹들은 동일한 분할 부분일 수 없다. 그룹을 두 개의 양의 오버랩핑 서브그룹들로 분할하기 위한 과정은 주어진 그룹을 두 개 또는 그 이상의 양의 오버랩핑 서브그룹들로 분할하는 과정으로 일반화될 수 있다.
방정식 6에서 정의된 왜곡 측정치 J'(m)은 다음 주장을 항상 만족한다:
J'(m)≥J'(ma)+J'(mb) (15)
여기서 Gma 및 Gmb는 그룹(Gm)의 오버래핑 서브그룹들이다. 이것은 Jmj≥max(Jma,j,Jmbj)가 모든 j에 대해 사실이라는 것을 나타냄으로서 증명될 수 있고, 여기서 1≤j≤k이다. 이런 관계를 방정식 6에 도시된 바와같은 J'(m)의 정의에 삽입함으로써, 표현 15의 주장이 뒤따르는 것을 알 수 있다.
c) 핵심 과정 설명
급속 최적화 방법하의 원리들은 레벨(p)의 분할을 정의하는 모든 벡터들(s1,...,sp)에 대해 M'(S) = M'(s1,...,sp)를 최소화하는 레벨(p)의 주어진 분할(Pp)을 우선 가정함으로써 이해될 수 있다. 스펙트럼 계수들의 특정 값들과 무관하게, 레벨(p-1)의 분할을 정의하는 모든 벡터들 S=(s1,...,sp)에 대해 M'(s1,...,sp)을 최소화하는 레벨(p-1)의 유일한 분할(Pp -1)일 수 없는 레벨(p-1)의 분할(F)들이 있다. 다른 말로, 만약 이들 분할들(F)중 하나가 레벨(p-1)의 분할을 정의하는 모든 벡터들(S)에 대해 M'(S)를 최소화하면, 레벨(p-1)의 분할을 정의하는 모든 벡터들(S)에 대해 M"(S)를 최소화하는 적어도 하나의 다른 분할이 존재한다. 이하에 상세히 기술될 바와같이 최적 해결책을 찾기 위하여 필요한 몇몇 처리로부터 배제될 수 있는 레벨(p)에서 특정 분할들을 포함하는 X(p,P)로서 표시된 이들 분할들(F)의 서브세트를 정의할 수 있다. 서브세트 X(p,P)는 다음과 같이 정의된다:
(1) 레벨(p-1)의 분할(F)이 n의 양의 그룹들을 가지며 이 분할의 0<m<n인 m의 양의 그룹들이 각각 동일한 크기의 다른 양의 그룹으로 대체될 수 있고 상기 대체후, 분할(F)은 오버랩핑 그룹들을 가지지 않는 레벨(p-1)의 분할(G)로 변환되는 것이 가정된다. 만약 분할(P)의 양의 그룹들이 분할(G)이 아닌 분할(F)의 양의 그룹의 서브세트이면, F는 X(p,P)에 속한다.
(2) 레벨(p-1)의 분할(F)이 n의 양의 그룹들을 가지며 0<m≤n인 m의 F의 양의 그룹들이 두 개 또는 그 이상의 양의 그룹들로 분할될 수 있는 것을 가정한다. 하나 이상의 이들 양의 그룹들이 동일한 크기를 가진 그룹으로 대체되고 상기 분할(F)을 오버랩핑 그룹들을 가지지 않는 레벨(p-1)의 유효 분할(G)로 변환하는 것을 추가로 가정한다. 만약 분할(P)의 양의 그룹들이 분할(G)이 아닌 분할(F)의 양의 그룹들의 서브세트이면, 15에서 이루어진 주장에 따라, F는 X(p,P)에 속한다.
구성에 의해 세트 X(p,P)가 레벨(p-1)의 모든 분할들의 세트와 동일하지 않을 수 있다는 것을 지적하는 것이 도움이 될 수 있다.
d) 일반화 경우(임의의 N)
급속 최적화 방법은 하나의 프레임의 N 블록들을 p=N 그룹들로 분할함으로써 시작하고 평균 최대 왜곡 함수 M'(S) 또는 M*(S)를 계산한다. 이런 분할은 PN으로서 표시된다. 그 다음 상기 방법은 N 블록들을 g=N-1 그룹들로 분할하는 모든 N-1 방식들에 대해 평균 최대 왜곡 함수를 계산한다. 이들 N-1의 특정 분할은 평균 최대 왜곡 함수가 PN -1로서 표시되는 것을 최소화하도록 분할한다. 세트 X(N-1,PN -1)에 속하는 분할들은 상기된 바와같이 식별된다. 그 다음 상기 방법은 세트 X(N-1,PN -1)에 속하지 않는 N-1 그룹들로 N 블록들을 분할하는 모든 가능한 방식들에 대해 평균 최대 왜곡 함수를 계산한다. 평균 최대 왜곡 함수를 최소화하는 분할은 PN -2로서 표시된다. 급속 최적화 방법은 하나의 가능한 해결책으로서 분석된 분할들의 수를 감소시키기 위하여 각각의 레벨에서 세트 X(p,Pp)를 사용하여 분할들(Pp -1)을 발견하도록 p=N-2,...,1에 대해 이런 과정을 반복한다.
급속 최적화 방법은 평균 최대 왜곡 함수 M'(S) 또는 M*(S)를 최대화하는 분할들(P1,...,PN) 사이에서 분할(P)을 발견함으로써 종료한다.
e) 실시예
다음 실시예는 급속 최적화 방법을 설명하고 가능한 실행의 특징들을 나타내기 위하여 제공된다. 이 실시예에서, 각각의 프레임은 6개의 블록들 또는 N=6을 포함한다. 한 세트의 제어 테이블들은 하나의 분할이 상기된 바와같이 세트 X(p,Pp)에 부가되어야 하는지 여부를 결정하기 위하여 요구된 처리를 간략화하기 위 해 사용될 수 있다. 한 세트의 테이블들(테이블 2A 내지 2C)은 이런 실시예를 위하여 도시된다.
표기법 D(a,b)은 특정 분할들을 식별하기 위하여 이들 테이블들에서 사용된다. 하나의 분할은 하나 이상의 블록들의 그룹들로 구성되고 상기 분할이 포함하는 양의 그룹들에 의해 유일하게 지정될 수 있다. 예를들어, 제 1 그룹이 블록들 1 및 2를 포함하고, 제 2 그룹이 블록 3 및 4를 포함하고, 제 3 그룹이 블록 5를 포함하고 제 4 그룹이 블록 6을 포함하는 4개의 그룹들로 구성된 6개의 블록 분할은 (1,2)(3,4)(5)(6)으로서 표시되고 D(1,2)+D(3,4)로서 테이블들에서 도시된다.
각각의 테이블은 레벨(p)에서 특정 분할(Pp)을 처리할때 레벨(4)에서의 특정 분할이 세트 X(p,Pp)에 속하는 것을 결정하기 위해 사용될 수 있는 정보를 제공한다. 테이블 2A는 예를들어 테이블의 상부 로우에 도시된 각각의 레벨 5 분할에 대해 레벨 4의 하나의 분할이 세트 X(5,P5)에 속하는지를 결정하기 위한 정보를 제공한다. 테이블 2A의 상부 로우는 예를들어 5개 그룹들로 구성된 분할들을 리스트한다. 모든 분할들이 리스트되지 않는다. 이 실시예에서, 5개의 그룹들을 포함하는 모든 분할들은 D(1,2),D(2,3),D(3,4),D(4,5) 및 D(5,6)이다. 분할들 D(1,2),D(2,3) 및 D(5,6)만이 테이블의 상부 로우에 도시된다. 빠진 분할들 D(4,5) 및 D(5,6)은 각각 분할들 D(2,3) 및 D(1,2)에 대칭이고, 이들로부터 유도될 수 있다. 테이블 2A의 좌측 컬럼은 4개의 그룹들로 구성된 분할들을 도시한다. 각각의 테이블에 도시된 심볼들 "Y" 및 "N"은 ("N")이 아니거나 ("Y")에서 좌측 컬럼에 도시된 레 벨(p-1)의 분할이 컬럼의 테이블의 상부 로우에 도시된 각각의 분할(Pp)에 대한 추가 처리로부터 배제되어야 하는지를 가리킨다. 테이블 2A를 참조하여, 예를들어 레벨 5 분할 D(1,2)는 레벨 4 분할 D(2,3,4)에 대한 로우에 "N" 엔트리를 가지며, 이것은 분할 D(2,3,4)이 세트 X(5,D(1,2))에 속하는 것을 가리키고 추가 처리로부터 배제되어야 한다. 레벨 5 분할 D(2,3)은 레벨 4 분할 D(2,3,4)에 대한 로우에 "Y" 엔트리를 가지며, 이것은 레벨 4 분할이 세트 X(5,D(2,3))에 속하지 않는 것을 가리킨다.
이 실시예에서, 급속 최적화 방법을 실행하는 처리는 프레임의 6개의 블록들을 6개의 그룹들로 분할하고 평균 최대 왜곡을 계산한다. 분할은 P6로서 표시된다.
상기 처리는 6개의 블록들을 5개의 블록들로 분할하는 모든 가능한 방식들에 대해 평균 최대 왜곡을 계산한다. 평균 최대 왜곡을 최소화하는 5개의 분할들의 분할은 P5로서 표시된다.
상기 처리는 테이블 2A를 참조하고 상부 엔트리가 분할(P5)의 그룹화 구성을 지정하는 컬럼을 선택한다. 상기 처리는 선택된 컬럼에서 "Y" 엔트리를 가진 6개의 블록들을 4개의 블록들로 분할하는 모든 가능한 방식들에 대한 평균 최대 왜곡을 계산한다. 평균 최대 왜곡을 최소화하는 분할은 P4로서 표시된다.
처리는 테이블 B를 사용하고 상부 엔트리가 분할(P4)의 그룹 구성을 지정하는 컬럼을 선택한다. 처리는 선택된 컬럼에서 "Y" 엔트리를 가진 6개의 블록들을 3개의 그룹들로 분할하는 모든 가능한 방식들에 대한 평균 최대 왜곡을 계산한다. 평균 최대 왜곡을 최소화하는 분할은 P3로서 표시된다.
처리는 테이블 2C를 사용하여 상부 엔트리가 분할(P3)의 그룹 구성을 지정하는 컬럼을 선택한다. 처리는 선택된 컬럼에서 "Y" 엔트리를 가진 6개의 블록들을 2개의 그룹들로 분할하는 모든 가능한 방식들에 대해 평균 최대 분할을 계산한다. 평균 최대 왜곡을 최소화하는 분할은 P2로서 표시된다.
처리는 하나의 그룹으로 구성된 분할에 대해 평균 최대 왜곡을 계산한다. 이 분할은 P1으로 표시된다.
처리는 가장 작은 평균 최대 왜곡을 가진 분할들(P1,...,P6) 사이에서 분할(P)을 식별한다. 이 분할(P)은 최적 그룹 구성을 제공한다.
p=5 D(1,2) D(2,3) D(3,4)
D(1,2)+D(3,4) Y Y Y
D(1,2)+D(4,5) Y N N
D(1,2)+D(5,6) Y N N
D(2,3)+D(4,5) N Y Y
D(2,3)+D(5,6) N Y N
D(3,4)+D(5,6) N N Y
D(1,2,3) Y Y N
D(2,3,4) N Y Y
D(3,4,5) N N Y
D(4,5,6) N N N
테이블 2A. p=5에 대한 급속 최적화 그룹 평가
p=4 D(1,2)+D(3,4) D(1,2)+D(4,5) D(1,2)+D(5,6) D(2,3)+D(4,5) D(1,2,3) D(2,3,4)
D(3,4,5,6) Y Y Y Y N N
D(2,3)+D(4,5,6) N Y Y Y Y Y
D(2,3,4)+D(5,6) Y Y N Y N Y
D(2,3,4,5) Y Y N Y N Y
D(1,2)+D(4,5,6) N Y Y Y Y Y
D(1,2)+D(3,4)+D(5,6) Y Y Y Y Y Y
D(1,2)+D(3,4,5) Y Y N Y Y Y
D(1,2,3)+D(5,6) Y Y Y Y Y N
D(1,2,3,4) Y Y N Y Y Y
D(1,2,3)+D(4,5) Y Y Y Y Y Y
테이블 2B. p=4에 대한 급속 최적화 그룹 평가 테이블
p=3 D(1,2,3,4) D(2,3,4,5) D(1,2)+D(3,4,5) D(1,2)+D(4,5,6) D(2,3)+D(4,5,6) D(1,2)+D(3,4)+D(5,6)
D(1,2,3,4,5) Y Y Y Y Y Y
D(1,2,3,4)+D(5,6) Y Y Y Y Y Y
D(1,2,3)+D(4,5,6) Y Y Y Y Y Y
D(1,2)+D(3,4,5,6) Y Y Y Y Y Y
D(2,3,4,5,6) N Y Y Y Y Y
테이블 2C. p=3에 대한 급속 최적화 그룹 평가 테이블
3. 그리디적 합병 설명
그리디적 합병 방법은 하나의 프레임내의 블록들을 그룹들로 분할하기 위한 간략화된 기술을 제공한다. 그리디적 합병 방법은 최적 그룹화 구성이 발견될 것을 보장하지 않지만, 이 방법에 의해 제공된 계산 복잡성의 감소는 가장 실무적인 애플리케이션들에 대한 최적화시 가능한 감소보다 바람직할 수 있다.
그리디적 합병 방법은 상기된 것을 포함하는 다양한 왜곡 측정 함수들을 사용할 수 있다. 바람직한 실행은 식 11에 도시된 함수를 사용한다.
도 4는 동작들이 다음과 같은 적당한 그리디 합병 방법의 흐름도를 도시한다: 대역화된 에너지 벡터들(Vi)은 각각의 블록(i)에 대해 계산된다. 한 세트의 N 그룹들은 하나의 블록을 각각 가지고 생성된다. 그 다음 상기 방법은 그룹들의 모든 N-1 인접한 쌍들을 검사하고 방정식(11)을 최소화하는 두 개의 인접한 그룹들(g 및 g+1)을 발견한다. 방정식(11)으로부터 J"의 최소 값은 q로 표시된다. 최소 값(q)은 왜곡 임계치(T)와 비교된다. 만약 최소 값이 임계치(T)보다 크면, 상기 방법은 최적 또는 거의 최적의 구성으로서 식별된 현재 그룹 구성에서 종료한다. 만약 최소 값이 임계치(T) 미만이면, 두 개의 그룹들(g 및 g+1)은 두 개의 그룹들(g 및 g+1)의 대역화된 에너지 벡터들을 얻는 새로운 그룹에 합병된다. 이 방법은 인접한 그룹들의 모든 쌍들에 대한 왜곡 측정치(J")가 왜곡 임계치(T)를 초과하거나 모든 블록들이 하나의 그룹으로 합병될때까지 반복한다.
상기 방법이 4개의 블록들의 하나의 프레임으로 동작하는 방식의 예는 도 5에 도시된다. 이 실시예에서, 4개의 블록들은 각각 하나의 블록을 가진 4개의 그룹들(a,b,c 및 d)로 처음에 배열된다. 그 다음 상기 방법은 방정식(11)을 최소화하는 두 개의 인접한 그룹들을 발견한다. 제 1 반복시, 상기 방법은 왜곡 임계치(T) 미만의 왜곡 측정치(J")를 가진 방정식(11)을 최소화하는 그룹들(b 및 c)을 발견하고; 그러므로, 상기 방법은 3개의 그룹들(a, bc 및 d)을 얻기 위하여 그룹들(b 및 c)를 새로운 그룹으로 합병한다. 제 2 반복시, 상기 방법은 방정식(11)을 최소화하는 두 개의 인접한 그룹들(a 및 bc)을 발견하고 이 그룹들의 쌍에 대한 왜곡 측정치(J")는 임계치(T) 미만이다. 그룹들(a 및 bc)은 총 두 개의 그룹들(abc 및 d)을 제공하기 위하여 새로운 그룹에 합병된다. 제 3 반복시, 상기 방법은 그룹들의 나머지 쌍에 대한 왜곡 측정치(J")가 왜곡 임계치(T) 보다 큰 것을 발견하 고; 그러므로, 상기 방법은 최적 또는 거의 최적 그룹 구성으로서 최종 두 개의 그룹들(abc 및 d)를 남기고 종료한다.
그리디 합병 방법에 대한 실제 계산 복잡도는 임계치가 초과되기 전에 상기 방법이 반복하여야 하는 시간의 수에 따른다; 그러나, 반복들의 수는 1 및 1/2 N·(N-1) 사이에서 한정된다.
D. 실행
본 발명의 다양한 측면들을 통합한 장치들은 범용 컴퓨터에서 발견된 것과 유사한 구성요소들에 결합된 디지털 신호 처리기(DSP) 회로 같은 보다 특정된 구성요소들을 포함하는 컴퓨터 또는 몇몇 다른 장치에 의해 실행하기 위한 소프트웨어를 포함하는 다양한 방식으로 실행될 수 있다. 도 6은 본 발명의 측면들을 실행하기 위하여 사용될 수 있는 장치(70)의 개략적인 블록도이다. DSP(72)는 계산 리소스들을 제공한다. RAM(73)은 처리를 위해 DSP(72)에 의해 사용된 시스템 랜덤 액세스 메모리(RAM)이다. ROM(74)은 장치(70)를 동작시키기 위하여 필요한 프로그램들을 저장하고 본 발명의 다양한 측면들을 수행하기 위한 판독 전용 메모리(ROM) 같은 몇몇 형태의 영구적인 저장소를 나타낸다. I/O 제어부(75)는 통신 채널들(76,77)의 방식으로 신호들을 수신 및 전송하기 위한 인터페이스 회로를 나타낸다. 도시된 실시예에서, 모든 주 시스템 구성요소들은 하나 이상의 물리적 또는 논리적 버스를 나타낼 수 있는 버스(71)에 접속한다; 그러나, 버스 아키텍쳐는 본 발명을 실행하기 위하여 요구되지 않는다.
범용 컴퓨터 시스템에 의해 실행된 실시예들에서, 부가적인 구성요소들은 키 보드 또는 마우스 및 디스플레이 같은 장치들에 인터페이스하고, 자기 테이프 또는 디스크, 또는 광학 매체 같은 저장 매체를 가진 저장 장치를 제어하기 위하여 포함될 수 있다. 저장 매체는 연산 시스템들, 유틸리티들 및 애플리케이션에 대한 명령들의 프로그램들을 레코드하고, 본 발명의 다양한 측면들을 실행하는 프로그램들을 포함할 수 있다.
본 발명의 다양한 측면들을 실행하기 위하여 요구된 기능들은 이산 논리 구성요소들, 집적 회로들, 하나 이상의 ASIC들 및/또는 프로그램 제어 처리기들을 포함하는 다양한 방식으로 실행하는 구성요소들에 의해 수행될 수 있다. 이들 구성요소들이 실행하는 방식은 본 발명에 중요하지 않다.
본 발명의 소프트웨어 실행들은 초음파로부터 자외선 주파수를 포함하는 스펙트럼을 통한 기저대역 또는 변조된 통신 경로들 같은 다양한 머신 판독 가능 매체, 또는 자기 테이프, 카드들 또는 디스크, 광학 카드들 또는 디스크, 및 종이를 포함하는 매체상 검출 가능 마킹들을 포함하는 필수적으로 임의의 레코딩 기술을 사용하는 정보를 전달하는 저장 매체에 의해 전달될 수 있다.

Claims (27)

  1. 프레임들에 배열된 오디오 정보의 블록들을 처리하기 위한 방법으로서,
    상기 각각의 블록은 오디오 정보의 각각의 시간 구간을 나타내는 내용을 가지며, 상기 방법은,
    (a) 오디오 정보의 블록들을 전달하는 입력 신호를 수신하는 단계;
    (b) (1) 수신된 하나의 프레임내의 블록들의 다수의 그룹 세트들에서 각각의 세트가 연관된 품질 측정치를 가지며,
    (2) 각각의 그룹이 하나 이상의 블록들을 가지며,
    (3) 각각의 그룹들의 세트가 각각의 프레임내의 모든 블록들을 포함하고 블록이 각각의 세트에서 하나 이상의 그룹에 포함되지 않고, 및
    (4) 품질 측정치가 하나 이상의 제어 파라미터들의 연관된 세트에 따라 각각의 그룹내의 각각의 블록을 처리함으로써 얻어질 수 있는 결과들의 우수성을 나타내도록,
    두 개 또는 그 이상의 품질 측정치들을 얻는 단계;
    (c) 연관된 품질 측정치의 적어도 일부에 얻어진 처리 성능의 측정치는 임계치보다 높도록 최소 그룹들의 수를 가진 선택된 그룹 세트를 식별하기 위하여 품질 측정치를 분석하는 단계; 및
    (d) 입력 신호의 내용들을 나타내고 선택된 세트에서 각각의 그룹에 대한 제어 파라미터들의 연관된 세트를 나타내는 출력 신호를 생성하기 위하여 하나 이상 의 제어 파라미터들의 연관된 세트에 따라 선택된 그룹들의 세트에서 블록들의 각각의 그룹을 처리하는 단계를 포함하는, 오디오 정보의 블록들 처리 방법.
  2. 제 1 항에 있어서, 상기 블록들은 오디오 정보의 시간 도메인 샘플들을 포함하는, 오디오 정보의 블록들 처리 방법.
  3. 제 1 항에 있어서, 상기 블록들은 오디오 정보의 주파수 도메인 계수들을 포함하는, 오디오 정보의 블록들 처리 방법.
  4. 제 1 항에 있어서, 하나 이상의 블록을 가진 그룹들에서 블록들의 적어도 하나의 쌍은 서로 인접하거나 서로 오버랩되는 시간 구간들에서 오디오 정보를 나타내는 내용을 가진, 오디오 정보의 블록들 처리 방법.
  5. 제 1 항에 있어서, 두 개 이상의 비용을 얻는 단계를 포함하고, 비용의 각각의 측정치는 한 세트의 블록들의 그룹들과 관계되고, 비용의 측정치는 제어 파라미터들의 연관된 세트에 따라 연관된 세트의 블록들을 처리하기 위하여 필요한 리소스들의 양을 나타내고,
    상기 처리 성능의 측정치는 선택된 세트와 연관된 비용 측정치로부터 부분적으로 얻어지는, 오디오 정보의 블록들 처리 방법.
  6. 제 1 항 또는 제 5 항에 있어서, 상기 분석 단계는 선택된 세트에 대한 후보가 아니고 처리의 추후 반복들시 이들 하나 이상의 세트들의 분석을 배제하는 하나 이상의 그룹들의 세트들을 결정하기 위한 반복 처리의 한번 이상의 반복들시 수행되는, 오디오 정보의 블록들 처리 방법.
  7. 제 1 항 또는 제 5 항에 있어서, 상기 선택된 세트는 반복 처리에 의해 식별되고, 상기 반복 처리는,
    초기 그룹들의 세트에서 그룹들의 쌍들에 대한 처리 성능의 제 2 측정치를 결정하는 단계;
    처리 성능의 가장 높은 제 2 측정치가 임계치보다 높으면, 교정된 그룹들의 세트를 형성하기 위하여 처리 성능의 가장 높은 제 2 측정치를 가진 그룹들의 쌍을 합병하고, 교정된 그룹들의 세트에서 그룹들의 쌍들에 대한 처리 성능의 제 2 측정치를 결정하는 단계; 및
    그룹들의 교정된 세트에서 그룹들의 쌍이 임계치보다 높은 처리 성능의 제 2 측정치를 가지지 않을때까지 합병을 계속하는 단계를 포함하고, 상기 교정된 그룹들의 세트는 선택된 세트인, 오디오 정보의 블록들 처리 방법.
  8. 제 5 항에 있어서, 상기 비용의 측정치들은 인코드된 신호의 제어 파라미터들 세트들을 나타내기 위하여 필요한 데이터 양들에 응답하는, 오디오 정보의 블록들 처리 방법.
  9. 제 5 항에 있어서, 상기 비용의 측정치들은 오디오 정보 블록들을 처리하기 위하여 필요한 계산 리소스들의 양들에 응답하는, 오디오 정보의 블록들 처리 방법.
  10. 프레임들내에 배열된 오디오 정보의 블록들을 처리하기 위한 장치로서,
    상기 각각의 블록은 오디오 정보의 각각의 시간 구간을 나타내고, 상기 방법은,
    오디오 정보의 블록들을 전달하는 입력 신호를 수신하기 위한 수단;
    (1) 각각의 프레임내의 블록들의 다수의 그룹들 세트들에서 각각의 세트가 연관된 품질 측정치를 가지며,
    (2) 각각의 그룹이 하나 이상의 블록들을 가지며,
    (3) 각각의 그룹들의 세트가 각각의 프레임내의 모든 블록들을 포함하고 블록은 각각의 세트에서 하나 이상의 그룹에 포함되지 않고, 및
    (4) 품질 측정치는 하나 이상의 제어 파라미터들의 연관된 세트에 따라 각각의 그룹내의 각각의 블록을 처리함으로써 얻을 수 있는 결과들의 우수성을 나타내도록,
    두 개 이상의 품질 측정치들을 얻기 위한 수단;
    연관된 품질 측정치로부터 적어도 부분적으로 얻어진 처리 성능의 측정치가 임계치보다 높도록, 최소 수의 그룹들을 가진 선택된 그룹들 세트를 식별하기 위하 여 품질 측정치들을 분석하기 위한 수단; 및
    입력 신호의 내용들을 나타내고 선택된 세트에서 각각의 그룹에 대한 제어 파라미터들의 연관된 세트를 나타내는 출력 신호를 생성하기 위하여 하나 이상의 제어 파라미터들의 연관된 세트에 따라 선택된 그룹들의 세트에서 각각의 블록들의 그룹을 처리하기 위한 수단을 포함하는, 오디오 정보의 블록들 처리 장치.
  11. 제 10 항에 있어서, 상기 블록들은 오디오 정보의 시간 도메인 샘플들을 포함하는, 오디오 정보의 블록들 처리 장치.
  12. 제 10 항에 있어서, 상기 블록들은 오디오 정보의 주파수 도메인 계수들을 포함하는, 오디오 정보의 블록들 처리 장치.
  13. 제 10 항에 있어서, 하나 이상의 블록을 가진 그룹들에서 적어도 한 쌍의 블록들은 서로 인접하거나 서로 오버랩하는 시간 구간들에서 오디오 정보를 나타내는 내용을 가지는, 오디오 정보의 블록들 처리 장치.
  14. 제 10 항에 있어서, 비용의 두 개 이상의 측정치들을 얻기 위한 수단을 포함하고, 상기 비용의 각각의 측정치는 블록들 그룹들의 세트와 연관되고, 상기 비용 측정치는 제어 파라미터들의 연관된 세트에 따라 연관된 세트에서 블록들을 처리하기 위하여 필요한 리소스들의 양을 나타내고,
    상기 처리 성능의 측정치는 선택된 세트와 연관된 비용의 측정치로부터 부분적으로 얻어지는, 오디오 정보의 블록들 처리 장치.
  15. 제 10 항 또는 제 14 항에 있어서, 선택된 세트에 대한 후보가 아니고 추후 반복들시 이들 하나 이상의 세트들을 분석하는 단계를 배제하는 하나 이상의 그룹들의 세트들을 결정하기 위하여 반복적 분석들을 분석하기 위한 수단을 포함하는, 오디오 정보의 블록들 처리 장치.
  16. 제 10 항 또는 제 14 항에 있어서, 상기 분석 수단은,
    초기 그룹들의 세트에서 그룹들의 쌍에 대한 처리 성능의 제 2 측정치를 결정하고,
    처리 성능의 가장 높은 제 2 측정치가 임계치보다 크면 교정된 그룹들의 세트를 형성하기 위하여 처리 성능의 가장 높은 제 2 측정치를 가진 그룹들의 쌍을 합병하고, 교정된 그룹들의 세트에서 그룹들의 쌍들에 대한 처리 성능의 제 2 측정치를 결정하고, 및
    교정된 그룹들의 세트에서 그룹들의 쌍이 임계치 보다 큰 처리 성능의 제 2 측정치를 가지지 않을때까지 합병을 계속함으로써 분석을 수행하고, 상기 교정된 그룹들의 세트는 선택된 세트인, 오디오 정보의 블록들 처리 장치.
  17. 제 14 항에 있어서, 상기 비용 측정치들은 인코드된 신호에서 제어 파라미터 들의 세트들을 나타내기 위하여 필요한 데이터 양에 응답하는, 오디오 정보의 블록들 처리 장치.
  18. 제 14 항에 있어서, 상기 비용의 측정치들은 오디오 정보의 블록들을 처리하기 위하여 필요한 계산 리소스들의 양들에 응답하는, 오디오 정보의 블록들 처리 장치.
  19. 프레임들내에 배열된 오디오 정보의 블록들을 처리하기 위한 방법을 수행하기 위하여 장치에 의해 실행할 수 있는 명령들의 프로그램을 전달하는 매체로서,
    각각의 블록은 오디오 정보의 각각의 시간 구간을 나타내고, 상기 방법은,
    (a) 오디오 정보의 블록들을 전달하는 입력 신호를 수신하는 단계;
    (b) (1) 각각의 프레임내 블록들의 그룹들의 다수의 세트에서 각각의 세트는 연관된 품질 측정치를 가지며,
    (2) 각각의 그룹은 하나 이상의 블록들을 가지며,
    (3) 각각의 그룹들의 세트는 각각의 프레임내에 모든 블록들을 포함하고 블록은 각각의 세트에서 하나 이상의 그룹내에 포함되지 않고,
    (4) 품질 측정치가 하나 이상의 제어 파라미터들의 연관된 세트에 따라 각각의 그룹에서 각각의 블록을 처리함으로써 얻어질 수 있는 결과들의 우수성을 나타내도록,
    두 개 이상의 품질 측정치들을 얻는 단계;
    (c) 품질의 연관된 측정치로부터 적어도 부분적으로 얻어진 처리 성능의 측정치가 임계치 보다 높도록, 최소 수의 그룹들을 가진 그룹들의 선택된 세트를 식별하기 위하여 품질의 측정치들을 분석하는 단계; 및
    (d) 입력 신호의 내용들을 나타내고 선택된 세트에서 각각의 그룹에 대한 제어 파라미터들의 연관된 세트를 나타내는 출력 신호를 생성하기 위하여 하나 이상의 제어 파라미터들의 연관된 세트에 따라 그룹들의 연관된 세트에서 각각의 블록들의 그룹을 처리하는 단계를 포함하는, 명령 프로그램 전달 매체.
  20. 제 19 항에 있어서, 상기 블록들은 오디오 정보의 시간 도메인 샘플들을 포함하는, 명령 프로그램 전달 매체.
  21. 제 19 항에 있어서, 상기 블록들은 오디오 정보의 주파수 도메인 계수들을 포함하는, 명령 프로그램 전달 매체.
  22. 제 19 항에 있어서, 하나 이상의 블록을 가진 그룹들에서 적어도 한 쌍의 블록들은 서로 인접하거나 서로 오버랩되는 시간 구간들에서 오디오 정보를 나타내는 정보를 가지는, 명령 프로그램 전달 매체.
  23. 제 19 항에 있어서, 두 개 이상의 비용 측정치들을 얻는 단계를 포함하고, 각각의 비용 측정치는 블록들의 한 세트의 그룹들과 연관되고, 비용 측정치는 제어 파라미터들의 연관된 세트에 따라 연관된 세트에서 블록들을 처리하기 위하여 필요한 리소스들의 양을 나타내고,
    상기 처리 성능의 측정치는 선택된 세트와 연관된 비용의 측정치로부터 부분적으로 얻어지는, 명령 프로그램 전달 매체.
  24. 제 19 항 또는 제 23 항에 있어서, 상기 분석 단계는 선택된 세트에 대한 후보가 아니고 처리의 추후 반복들시 이들 하나 이상의 세트들의 분석을 배제하는 하나 이상의 그룹들의 세트를 결정하기 위하여 반복 처리의 하나 이상의 반복들시 수행되는, 명령 프로그램 전달 매체.
  25. 제 19 항 또는 제 23 항에 있어서, 상기 선택된 세트는 반복 처리에 의해 식별되고, 상기 반복 처리는,
    초기 그룹들의 세트에서 그룹들의 쌍들에 대한 처리 성능의 제 2 측정치를 결정하는 단계;
    처리 성능의 가장 높은 제 2 측정치가 임계치보다 높으면 그룹들의 교정된 세트를 형성하기 위하여 처리 성능의 가장 높은 제 2 측정치를 가진 그룹들의 쌍을 합병하고, 교정된 그룹들의 세트에서 그룹들의 쌍들에 대한 처리 성능의 제 2 측정치를 결정하는 단계; 및
    교정된 그룹들의 세트에서 그룹들의 쌍이 임계치보다 높은 처리 성능의 제 2 측정치를 가지지 않을때까지 합병을 계속하는 단계를 포함하고, 상기 교정된 그룹 들의 세트는 선택된 세트인, 명령 프로그램 전달 매체.
  26. 제 23 항에 있어서, 상기 비용의 측정치들은 인코드된 신호에서 제어 파라미터들의 세트들을 나타내기 위하여 필요한 데이터 양들에 응답하는, 명령 프로그램 전달 매체.
  27. 제 23 항에 있어서, 상기 비용 측정치들은 오디오 정보의 블록들을 처리하기 위하여 필요한 계산 리소스들의 양들에 응답하는, 명령 프로그램 전달 매체.
KR1020067013739A 2004-01-20 2005-01-19 블록 그룹화에 기반한 오디오 코딩 KR20060131798A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53798404P 2004-01-20 2004-01-20
US60/537,984 2004-01-20

Publications (1)

Publication Number Publication Date
KR20060131798A true KR20060131798A (ko) 2006-12-20

Family

ID=34807152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067013739A KR20060131798A (ko) 2004-01-20 2005-01-19 블록 그룹화에 기반한 오디오 코딩

Country Status (16)

Country Link
US (1) US7840410B2 (ko)
EP (1) EP1706866B1 (ko)
JP (1) JP5069909B2 (ko)
KR (1) KR20060131798A (ko)
CN (1) CN1910656B (ko)
AT (1) ATE389932T1 (ko)
AU (1) AU2005207596A1 (ko)
CA (1) CA2552881A1 (ko)
DE (1) DE602005005441T2 (ko)
DK (1) DK1706866T3 (ko)
ES (1) ES2299998T3 (ko)
HK (1) HK1091024A1 (ko)
IL (1) IL176483A0 (ko)
PL (1) PL1706866T3 (ko)
TW (1) TW200534602A (ko)
WO (1) WO2005071667A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170047361A (ko) * 2014-09-02 2017-05-04 돌비 인터네셔널 에이비 서브대역 그룹들에 대한 서브대역 구성 데이터를 코딩하거나 디코딩하는 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8154554B1 (en) 2006-07-28 2012-04-10 Nvidia Corporation Unified assembly instruction set for graphics processing
US8396119B1 (en) * 2009-09-30 2013-03-12 Ambarella, Inc. Data sample compression and decompression using randomized quantization bins
PL3998606T3 (pl) * 2009-10-21 2023-03-06 Dolby International Ab Nadrpóbkowanie w połączonym banku filtrów modułu transpozycji
JP2013050663A (ja) * 2011-08-31 2013-03-14 Nippon Hoso Kyokai <Nhk> 多チャネル音響符号化装置およびそのプログラム
CN103544957B (zh) 2012-07-13 2017-04-12 华为技术有限公司 音频信号的比特分配的方法和装置
US10141004B2 (en) * 2013-08-28 2018-11-27 Dolby Laboratories Licensing Corporation Hybrid waveform-coded and parametric-coded speech enhancement
WO2016040885A1 (en) * 2014-09-12 2016-03-17 Audience, Inc. Systems and methods for restoration of speech components
EP3332557B1 (en) 2015-08-07 2019-06-19 Dolby Laboratories Licensing Corporation Processing object-based audio signals
WO2020077046A1 (en) * 2018-10-10 2020-04-16 Accusonus, Inc. Method and system for processing audio stems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109417A (en) * 1989-01-27 1992-04-28 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
BR9204799A (pt) 1991-03-29 1993-07-13 Sony Corp Processo de codificacao para um sinal digital
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
DE19730130C2 (de) * 1997-07-14 2002-02-28 Fraunhofer Ges Forschung Verfahren zum Codieren eines Audiosignals
US6300888B1 (en) * 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
JP3739959B2 (ja) * 1999-03-23 2006-01-25 株式会社リコー デジタル音響信号符号化装置、デジタル音響信号符号化方法及びデジタル音響信号符号化プログラムを記録した媒体
JP2001154698A (ja) * 1999-11-29 2001-06-08 Victor Co Of Japan Ltd オーディオ符号化装置及びその方法
JP3597750B2 (ja) * 2000-04-11 2004-12-08 松下電器産業株式会社 グループ化方法及びグループ化装置
JP4635400B2 (ja) * 2001-09-27 2011-02-23 パナソニック株式会社 オーディオ信号符号化方法
CN1288622C (zh) * 2001-11-02 2006-12-06 松下电器产业株式会社 编码设备和解码设备
JP3984468B2 (ja) * 2001-12-14 2007-10-03 松下電器産業株式会社 符号化装置、復号化装置及び符号化方法
JP4272897B2 (ja) * 2002-01-30 2009-06-03 パナソニック株式会社 符号化装置、復号化装置およびその方法
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
US20030215013A1 (en) * 2002-04-10 2003-11-20 Budnikov Dmitry N. Audio encoder with adaptive short window grouping
JP2003338998A (ja) * 2002-05-22 2003-11-28 Casio Comput Co Ltd 画像保存システム、及び画像保存装置
JP4062971B2 (ja) * 2002-05-27 2008-03-19 松下電器産業株式会社 オーディオ信号符号化方法
US7283968B2 (en) * 2003-09-29 2007-10-16 Sony Corporation Method for grouping short windows in audio encoding
JP2005165056A (ja) * 2003-12-03 2005-06-23 Canon Inc オーディオ信号符号化装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170047361A (ko) * 2014-09-02 2017-05-04 돌비 인터네셔널 에이비 서브대역 그룹들에 대한 서브대역 구성 데이터를 코딩하거나 디코딩하는 방법 및 장치

Also Published As

Publication number Publication date
DK1706866T3 (da) 2008-06-09
JP2007523366A (ja) 2007-08-16
IL176483A0 (en) 2006-10-05
EP1706866B1 (en) 2008-03-19
DE602005005441T2 (de) 2009-04-23
AU2005207596A1 (en) 2005-08-04
ATE389932T1 (de) 2008-04-15
JP5069909B2 (ja) 2012-11-07
ES2299998T3 (es) 2008-06-01
US20080133246A1 (en) 2008-06-05
CN1910656A (zh) 2007-02-07
TW200534602A (en) 2005-10-16
HK1091024A1 (en) 2007-01-05
CA2552881A1 (en) 2005-08-04
WO2005071667A1 (en) 2005-08-04
CN1910656B (zh) 2010-11-03
DE602005005441D1 (de) 2008-04-30
US7840410B2 (en) 2010-11-23
PL1706866T3 (pl) 2008-10-31
EP1706866A1 (en) 2006-10-04

Similar Documents

Publication Publication Date Title
EP1706866B1 (en) Audio coding based on block grouping
KR101343267B1 (ko) 주파수 세그먼트화를 이용한 오디오 코딩 및 디코딩을 위한 방법 및 장치
EP1905011B1 (en) Modification of codewords in dictionary used for efficient coding of digital media spectral data
KR101143225B1 (ko) 오디오 인코더 및 오디오 디코더에서의 컴퓨터 구현 방법및 컴퓨터 판독 가능 매체
JP2007523366A5 (ko)
US8612220B2 (en) Quantization after linear transformation combining the audio signals of a sound scene, and related coder
Chan et al. High fidelity audio transform coding with vector quantization
Khaldi et al. HHT-based audio coding
JP5799824B2 (ja) オーディオ符号化装置、オーディオ符号化方法及びオーディオ符号化用コンピュータプログラム
EP1228569A1 (en) A method of encoding frequency coefficients in an ac-3 encoder
MXPA06008224A (es) Codificacion de audio basada en el agrupamiento de bloques
JPH0918348A (ja) 音響信号符号化装置及び音響信号復号装置
Hu et al. An efficient low complexity encoder for MPEG advanced audio coding
EP1228507B1 (en) A method of reducing memory requirements in an ac-3 audio encoder
AU2012247062B2 (en) Adaptive Hybrid Transform for Signal Analysis and Synthesis
JP2000206990A (ja) デジタル音響信号符号化装置、デジタル音響信号符号化方法及びデジタル音響信号符号化プログラムを記録した媒体

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid