KR20160022338A - 분포 양자화 및 코딩을 사용하는 누적 합계 표현의 모델링에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법 - Google Patents

분포 양자화 및 코딩을 사용하는 누적 합계 표현의 모델링에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20160022338A
KR20160022338A KR1020167000232A KR20167000232A KR20160022338A KR 20160022338 A KR20160022338 A KR 20160022338A KR 1020167000232 A KR1020167000232 A KR 1020167000232A KR 20167000232 A KR20167000232 A KR 20167000232A KR 20160022338 A KR20160022338 A KR 20160022338A
Authority
KR
South Korea
Prior art keywords
value
envelope
signal envelope
values
argument
Prior art date
Application number
KR1020167000232A
Other languages
English (en)
Other versions
KR101789083B1 (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 KR20160022338A publication Critical patent/KR20160022338A/ko
Application granted granted Critical
Publication of KR101789083B1 publication Critical patent/KR101789083B1/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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • 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/0204Speech 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 using subband decomposition
    • G10L19/0208Subband 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/03Spectral prediction for preventing pre-echo; Temporary noise shaping [TNS], e.g. in MPEG2 or MPEG4
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech 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 using subband decomposition

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)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

하나 이상의 코딩 값으로부터 오디오 신호를 발생시키기 위한 장치가 제공된다. 장치는: 하나 이상의 코딩 값을 수신하기 위한 입력 인터페이스(1610), 및 하나 이상의 코딩 값을 기초로 하여 오디오 신호 엔벨로프를 발생시키기 위한 엔벨로프 발생기(1620)를 포함한다. 엔벨로프 발생기(1620)는 하나 이상의 코딩 값에 의존하여 집계 함수를 발생시키도록 구성되고, 집계 함수는 집계점을 포함하고, 각각의 집계점은 인수 값 및 집계 값을 포함하며, 집계 함수는 단조적으로 증가하며, 하나 이상의 코딩 값 각각은 집계 함수의 집계점들 중 하나의 인수 값 및 집계 값 중 적어도 하나를 나타낸다. 게다가, 엔벨로프 발생기(1620)는 오디오 신호 엔벨로프가 복수의 엔벨로프 지점을 포함하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성되고, 엔벨로프 지점들 각각은 인수 값 및 집계 값을 포함하며, 오디오 신호 엔벨로프의 엔벨로프 지점은 상기 엔벨로프 지점의 인수 값이 상기 집계점의 인수 값과 동일한 것과 같이 집계 함수의 집계점들 각각에 할당된다. 게다가, 엔벨로프 발생기(1620)는 오디오 신호 엔벨로프의 엔벨로프 지점들 각각의 엔벨로프 값이 집계 함수의 적어도 하나의 집계점의 집계 값에 의존하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성된다.

Description

분포 양자화 및 코딩을 사용하는 누적 합계 표현의 모델링에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법{APPARATUS AND METHOD FOR AUDIO SIGNAL ENVELOPE ENCODING, PROCESSING AND DECODING BY MODELLING A CUMULATIVE SUM REPRESENTATION EMPLOYING DISTRIBUTION QUANTIZATION AND CODING}
본 발명은 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치와 방법에 관한 것으로서, 특히 분포 양자화(distribution quantization)와 코딩을 이용하는 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치와 방법에 관한 것이다.
선형 예측 코딩(linear predictive coding, LPC)은 코어 대역폭의 스펙트럼 엔벨로프를 모델링하기 위한 고전적인 툴(tool)이다. 선형 예측 코딩 모델들을 양자화하기 위한 가장 흔한 도메인은 선 스펙트럼 주파수(LSF) 도메인이다. 이는 선형 예측 코딩 다항의 두 개의 다항으로의 분해를 기초로 하고, 이들의 루트(root)들은 그것들이 그것들의 각(angle)들 또는 주파수들에 의해서만 기술될 수 있는 것과 같이, 단위원(unit circle) 상에 존재한다.
본 발명의 목적은 오디오 신호 엔벨로프 인코딩과 디코딩을 위한 향상된 개념들을 제공하는 것이다. 본 발명의 목적은 청구항 1에 따른 장치, 청구항 9에 따른 장치, 청구항 15에 따른 방법, 청구항 16에 따른 방법 및 청구항 17에 따른 컴퓨터 프로그램에 의해 해결된다.
하나 이상의 코딩 값으로부터 오디오 신호를 발생시키기 위한 장치가 제공된다. 장치는 하나 이상의 코딩 값을 수신하기 위한 입력 인터페이스, 및 하나 이상의 코딩 값을 기초로 하여 오디오 신호 엔벨로프를 발생시키기 위한 엔벨로프 발생기를 포함한다. 엔벨로프 발생기는 하나 이상의 코딩 값에 의존하여 집계 함수(aggregation function)를 발생시키도록 구성되고, 집계 함수는 집계점(aggregation point)을 포함하고, 각각의 집계점은 인수 값(argument value) 및 집계 값을 포함하며, 집계 함수는 단조적으로(monotonically) 증가하며, 하나 이상의 코딩 값 각각은 집계 함수의 집계점들 중 하나의 인수 값 및 집계 값 중 적어도 하나를 나타낸다. 게다가, 엔벨로프 발생기는 오디오 신호 엔벨로프가 복수의 엔벨로프 지점을 포함하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성되고, 엔벨로프 지점들 각각은 인수 값 및 집계 값을 포함하며, 오디오 신호 엔벨로프의 엔벨로프 지점은 상기 엔벨로프 지점의 인수 값이 상기 집계점의 인수 값과 동일한 것과 같이 집계 함수의 집계점들 각각에 할당된다. 게다가, 엔벨로프 발생기는 오디오 신호 엔벨로프의 엔벨로프 지점들 각각의 엔벨로프 값이 집계 함수의 적어도 하나의 집계점의 집계 값에 의존하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성된다.
일 실시 예에 따르면, 엔벨로프 발생기는 예를 들면, 상기 코딩 값에 의존하여 하나 이상의 코딩 값 각각을 위한 집계점들 중 하나를 결정함으로써, 그리고 하나 이상의 코딩 값 각각의 집계점에 의존하여 집계 함수를 획득하기 위하여 보간(interpolation)을 적용함으로써 집계 함수를 결정하도록 구성될 수 있다.
일 실시 예에서, 엔벨로프 발생기는 예를 들면, 집계 함수의 복수의 집계점에서 집계 함수의 제 1 도함수를 결정하도록 구성될 수 있다.
일 실시 예에 따르면, 엔벨로프 발생기는 예를 들면, 코딩 값들에 의존하여 집계 함수를 발생시키도록 구성될 수 있고 따라서 집계 함수는 연속적인 제 1 도함수를 갖는다.
일 실시 예에서, 엔벨로프 발생기는 예를 들면, 다음을 적용함으로써 오디오 신호 엔벨로프를 결정하도록 구성될 수 있는데:
Figure pct00001
여기서 tilt(k)는 k번째 코딩 값에서 집계된 신호 엔벨로프의 도함수를 나타내고, c(k)는 집계 함수의 k번째 집계된 지점의 집계된 값을 나타내며, f(k)는 집계 함수의 k번째 집계된 지점의 인수 값을 나타낸다.
일 실시 예에 따르면, 입력 인터페이스는 하나 이상의 코딩 값으로서 하나 이상의 분할 값을 수신하도록 구성될 수 있다. 엔벨로프 발생기는 하나 이상의 분할 값에 의존하여 집계 함수를 발생시키도록 구성될 수 있고, 하나 이상의 분할 값 각각은 집계 함수의 집계점들 중 하나의 집계 값을 나타낸다. 게다가, 엔벨로프 발생기는 하나 이상의 분할 지점이 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있고, 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분에 의존하여 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다. 게다가, 엔벨로프 발생기는 두 개 이상의 오디오 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 반보다 큰 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
게다가, 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 코딩 값을 결정하기 위한 장치가 제공된다. 장치는 복수의 인수 값 각각을 위하여 집계된 값을 결정하기 위한 집계자(애그리게이터, aggregator)를 포함하고, 제 2 인수 값이 제 1 인수 값과 다를 때, 복수의 인수 값은 복수의 인수 값의 제 1 인수 값이 복수의 인수 값의 제 2 인수 값을 선행하거나 또는 뒤따르는 것과 같이 순서가 정해지며, 엔벨로프 값은 각각의 인수 값들에 할당되고, 각각의 인수 값들의 엔벨로프 값은 오디오 신호 엔벨로프에 의존하며, 집계자는 상기 인수 값의 엔벨로프 값에 의존하고 상기 인수 값을 선행하는 복수의 인수 값 각각의 엔벨로프 값에 의존하여, 복수의 인수 값의 각각의 인수 값을 위하여 집계된 값을 결정하도록 구성될 수 있다. 게다가, 장치는 복수의 인수 값의 하나 이상의 집계된 값에 의존하여 하나 이상의 코딩 값을 결정하기 위한 인코딩 유닛을 포함한다.
일 실시 예에 따르면, 집계자는 예를 들면, 상기 인수 값의 엔벨로프 값 및 상기 엔벨로프 값을 선행하는 인수 값들의 엔벨로프 값들을 추가함으로써 복수의 인수 값의 각각의 인수 값을 위하여 집계된 값을 결정하도록 구성될 수 있다.
일 실시 예에서, 각각의 인수 값들의 엔벨로프 값은 예를 들면, 신호 엔벨로프로서 오디오 신호 엔벨로프를 갖는 오디오 신호 엔벨로프의 스펙트럼 값의 n번째 파워를 나타낼 수 있는데, n은 0보다 큰 짝수 정수이다.
일 실시 예에서, 각각의 인수 값들의 엔벨로프 값은 예를 들면, 시간 도메인 내에 표현되고, 신호 엔벨로프로서 오디오 신호 엔벨로프를 갖는, 오디오 신호 엔벨로프의 진폭 값의 n번째 파워를 나타낼 수 있는데, n은 0보다 큰 짝수 정수이다.
일 실시 예에 따르면, 인코딩 유닛은 예를 들면, 인수 값들의 하나 이상의 집계된 값에 의존하고, 하나 이상의 코딩 값으로서 인코딩 유닛에 의해 얼마나 많은 값들이 결정되는지를 나타내는, 코딩 값들 수에 의존하여, 하나 이상의 코딩 값을 결정하도록 구성될 수 있다.
일 실시 예에서, 코딩 유닛은 예를 들면, 다음에 따라 하나 이상의 코딩 값을 결정하도록 구성될 수 있는데:
Figure pct00002
여기서 c(k)는 코딩 유닛에 의해 결정되려는 k번째 코딩 값을 나타내고, j는 복수의 인수 값 중 j번째 인수 값을 나타내며, a(j)는 j번째 인수 값에 할당되는 집계된 값을 나타내며, max(a)는 인수 값들 중 하나에 할당되는 집계된 값들 중 하나인 최대 값을 나타내며. 집계 값들 중 어느 것도 최대 값보다 크지 않으며,
Figure pct00003
Figure pct00004
이 최소인 인수 값들 중 하나인 최소 값을 나타낸다.
게다가, 하나 이상의 코딩 값으로부터 오디오 신호 엔벨로프를 발생시키기 위한 방법이 제공된다. 방법은 다음의 단계를 포함한다:
- 하나 이상의 코딩 값을 수신하는 단계; 및
- 하나 이상의 코딩 값에 의존하여 오디오 신호 엔벨로프를 발생시키는 단계.
오디오 신호 엔벨로프를 발생시키는 단계는 하나 이상의 코딩 값에 의존하여 집계 함수를 발생시킴으로써 수행되고, 집계 함수는 복수의 집계점을 포함하며, 각각의 집계점들은 인수 값 및 집계 값을 포함하며, 집계 함수는 단조적으로 증가하며, 하나 이상의 코딩 값 각각은 적어도 집계 함수의 집계점들 중 하나의 인수 값 및 집계 값 중 하나를 나타낸다. 게다가, 오디오 신호 엔벨로프를 발생시키는 단계는 오디오 신호 엔벨로프가 복수의 엔벨로프 지점을 포함하는 것과 같이 수행되고, 각각의 엔벨로프 지점들은 인수 값 및 엔벨로프 값을 포함하며, 오디오 신호 엔벨로프의 엔벨로프 지점은 상기 엔벨로프 지점의 인수 값이 상기 집계점의 인수 값과 동일한 것과 같이 집계 함수의 각각의 집계점들에 할당된다. 게다가, 오디오 신호 엔벨로프를 발생시키는 단계는 오디오 신호 엔벨로프의 각각의 엔벨로프 지점들의 엔벨로프 값이 집계 함수의 적어도 하나의 집계점의 집계 값에 의존하는 것과 같이 수행된다.
게다가, 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 코딩 값을 결정하기 위한 방법이 제공된다. 방법은 다음의 단계를 포함한다:
- 복수의 인수 값 각각을 위한 집계된 값을 결정하는 단계, - 복수의 인수 값은 제 2 인수 값이 제 1 인수 값과 다를 때, 복수의 인수 값의 제 1 인수 값이 복수의 인수 값의 제 2 인수 값을 선행하거나 또는 뒤따르는 것과 같이 순서가 정해지고, 각각의 인수 값들의 엔벨로프 값은 각각의 인수 값들에 할당되고, 각각의 인수 값들의 엔벨로프 값은 오디오 신호 엔벨로프에 의존하며, 집계자는 상기 인수 값의 엔벨로프 값에 의존하고 상기 인수 값을 선행하는 복수의 인수 값 각각의 엔벨로프 값에 의존하여, 복수의 인수 값의 각각의 인수 값을 위하여 집계된 값을 결정하도록 구성됨 -; 및
- 복수의 인수 값의 하나 이상의 집계된 값에 의존하여 하나 이상의 코딩 값을 결정하는 단계.
게다가, 컴퓨터 또는 신호 프로세서 상에서 실행될 때 위에 설명된 방법들 중 하나를 구현하기 위한 컴퓨터 프로그램이 제공된다.
재구성된 오디오 신호 엔벨로프를 획득하기 위한 디코딩을 위한 장치가 제공된다. 장치는 하나 이상의 분할 지점(splitting point)에 의존하여 재구성된 오디오 신호 엔벨로프를 발생시키기 위한 신호 엔벨로프 재구성기(signal envelope reconstructor), 및 재구성된 오디오 신호 엔벨로프를 출력하기 위한 출력 인터페이스를 포함한다. 신호 엔벨로프 재구성기는 하나 이상의 분할 지점이 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성되고, 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분들에 의존하여 두 개 이상의 신호 엔벨로프의 부분의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다. 게다가, 신호 엔벨로프 재구성기는 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 반보다 큰 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성된다.
일 실시 예에 따르면, 신호 엔벨로프 재구성기는 예를 들면, 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 90%보다 큰 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
일 실시 예에서, 예를 들면, 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 99%보다 큰 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
또 다른 실시 예에서, 신호 엔벨로프 재구성기(110)는 예를 들면, 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분 값이 두 개 이상의 신호 엔벨로프 부분의 나머지 신호 엔벨로프 부분들의 각각의 신호 엔벨로프 부분 값과 동일한 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
일 실시 예에 따르면, 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 예를 들면, 상기 엔벨로프 신호 부분의 하나 이상의 에너지 값 또는 하나 이상의 파워 값에 의존할 수 있다. 또는 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 오디오 신호 엔벨로프의 원래(original) 또는 표적 레벨을 재구성하는데 적합한 어떠한 다른 값에 의존한다.
엔벨로프의 스케일링(scaling)은 다양한 방법으로 구현될 수 있다. 특히, 이는 신호 에너지 또는 스펙트럼 질량(spectrum mass) 또는 이와 유사한 것(절대 크기)과 상응할 수 있거나, 혹은 이는 스케일링 또는 이득 인자(상대 크기)일 수 있다. 따라서, 이는 절대 또는 상대 값으로서 인코딩될 수 있거나, 혹은 이는 이전 값 또는 이전 값들의 조합의 차이에 의해 인코딩될 수 있다. 일부 경우들에서 스케일링은 또한 다른 이용 가능한 데이터와 무관하거나 또는 다른 이용 가능한 데이터로부터 추론될 수 있다. 엔벨로프는 그것의 원래 또는 표적 레벨로 재구성되어야만 한다. 따라서 일반적으로, 신호 엔벨로프 부분 값은 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적합한 어떠한 값에 의존한다.
일 실시 예에서, 장치는 예를 들면, 하나 이상의 분할 지점 각각의 위치를 획득하기 위하여 디코딩 규칙에 따라 하나 이상의 인코딩된 지점을 디코딩하기 위한 분할 지점 디코더(splitting points decoder)를 더 포함할 수 있다. 분할 지점 디코더들은 예를 들면, 가능한 분할 지점 위치들의 총 수를 나타내는 총 위치 수, 하나 이상의 분할 지점의 수를 나타내는 분할 지점의 수, 및 분할 지점 상태 수를 분석하도록 구성될 수 있다. 게다가, 분할 지점 디코더는 예를 들면, 총 위치 수, 분할 지점 수 및 분할 지점 상태 수를 사용하여 하나 이상의 분할 지점 각각의 위치의 표시를 발생시키도록 구성될 수 있다.
일 실시 예에 따르면, 신호 엔벨로프 재구성기는 예를 들면, 재구성된 오디오 신호 엔벨로프의 총 에너지를 나타내는 총 에너지 값에 의존하거나, 혹은 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적합한 어떠한 다른 값에 의존하여 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
게다가, 또 다른 실시 예에 따라 재구성된 오디오 신호 엔벨로프를 획득하기 위한 디코딩용 장치가 제공된다. 장치는 하나 이상의 분할 지점에 의존하여 재구성된 오디오 신호 엔벨로프를 발생시키기 위한 신호 엔벨로프 재구성기, 및 재구성된 오디오 신호 엔벨로프를 출력하기 위한 출력 인터페이스를 포함한다. 신호 엔벨로프 재구성기는 하나 이상의 분할 지점이 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성되고, 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분들에 의존하여 두 개 이상의 신호 엔벨로프의 부분의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다. 미리 정의된 엔벨로프 부분 값은 두 개 이상의 신호 엔벨로프 부분 각각에 할당된다. 신호 엔벨로프 재구성기는 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분을 위하여, 상기 신호 엔벨로프 부분의 신호 엔벨로프 부분 값의 절대 값이 상기 신호 엔벨로프 부분에 할당되는 미리 정의된 엔벨로프 부분 값의 절대 값의 90%보다 큰 것과 같이, 그리고 상기 신호 엔벨로프 부분의 신호 엔벨로프 부분 값의 절대 값이 상기 신호 엔벨로프 부분에 할당되는 미리 정의된 엔벨로프 부분 값의 절대 값의 110%보다 작은 것과 같이, 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
일 실시 예에서, 신호 엔벨로프 재구성기는 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분 값이 상기 신호 엔벨로프 부분의 나머지 신호 엔벨로프 부분들의 각각의 신호 엔벨로프 부분에 할당되는 미리 정의된 엔벨로프 부분 값과 동일한 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
일 실시 예에서, 적어도 두 개의 신호 엔벨로프 부분들의 미리 정의된 엔벨로프 부분 값들은 서로 다르다.
또 다른 실시 예에서, 각각의 신호 엔벨로프 부분들의 미리 정의된 엔벨로프 부분 값은 나머지 신호 엔벨로프 부분들 각각의 미리 정의된 엔벨로프 부분 값과 다르다.
게다가, 오디오 신호를 재구성하기 위한 장치가 제공된다. 장치는 오디오 신호의 재구성된 오디오 신호 엔벨로프를 획득하기 위하여 위에 설명된 실시 예들에 따라 디코딩하기 위한 장치, 및 오디오 신호의 오디오 신호 엔벨로프에 의존하고 또 다른 신호 특성에 의존하여 오디오 신호를 발생시키기 위한 신호 발생기를 포함하고, 또 다른 신호 특성은 오디오 신호 엔벨로프와 다르다.
게다가, 오디오 신호 엔벨로프를 인코딩하기 위한 장치가 제공된다. 장치는 오디오 신호 엔벨로프를 수신하기 위한 오디오 신호 엔벨로프 인터페이스, 및 미리 정의된 할당 규칙에 의존하여, 적어도 두 개의 분할 지점 구성 각각을 위한 두 개 이상의 오디오 신호 엔벨로프 부분의 적어도 하나의 오디오 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 결정하기 위한 분할 지점 결정기(splitting point determiner)를 포함한다. 적어도 두 개의 분할 지점 구성 각각은 하나 이상의 분할 지점을 포함하고, 두 개 이상의 분할 지점 구성 각각의 하나 이상의 분할 지점 구성은 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분한다. 분할 지점 결정기는 오디오 신호 엔벨로프를 인코딩하기 위한 하나 이상의 선택된 분할 지점으로서 적어도 두 개의 분할 지점 구성 중 어느 하나의 하나 이상의 분할 지점을 선택하도록 구성되고, 분할 지점 결정기는 적어도 두 개의 분할 지점 구성의 각각의 두 개 이상의 오디오 신호 엔벨로프 부분 중 적어도 하나의 오디오 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분 값에 의존하여 하나 이상의 분할 지점을 선택하도록 구성된다.
일 실시 예에 따르면, 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 예를 들면, 상기 신호 엔벨로프 부분의 하나 이상의 에너지 값 또는 하나 이상의 파워 값에 의존한다. 또는 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적합한 어떠한 다른 값에 의존한다.
이미 설명된 것과 같이, 엔벨로프의 스케일링은 다양한 방법으로 구현될 수 있다. 특히, 이는 신호 에너지 또는 스펙트럼 질량 또는 유사한 것(절대 크기)과 상응할 수 있거나, 혹은 이는 스케일링 또는 이득 인자(상대 크기)일 수 있다. 따라서, 이는 절대 또는 상대 값으로서 인코딩될 수 있거나, 혹은 이는 이전 값 또는 이전 값들의 조합의 차이에 의해 인코딩될 수 있다. 일부 경우들에서 스케일링은 또한 다른 이용 가능한 데이터와 무관하거나 또는 다른 이용 가능한 데이터로부터 추론될 수 있다. 엔벨로프는 그것의 원래 또는 표적 레벨로 재구성되어야만 한다. 따라서 일반적으로, 신호 엔벨로프 부분 값은 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적합한 어떠한 값에 의존한다.
일 실시 예에서, 장치는 예를 들면, 하나 이상의 인코딩된 지점을 획득하기 위하여 하나 이상의 분할 지점 각각의 위치를 인코딩하기 위한 분할 지점 인코더를 더 포함한다. 분할 지점 인코더는 예를 들면, 분할 지점 상태 수를 인코딩함으로써 하나 이상의 분할 지점 각각의 위치를 인코딩하도록 구성될 수 있다. 게다가, 분할 지점 인코더는 예를 들면 가능한 분할 지점 위치들의 총 수를 나타내는 총 위치 수, 및 하나 이상의 분할 지점의 수를 나타내는 분할 지점 수를 제공하도록 구성될 수 있다. 분할 지점 상태 수, 총 위치 수 및 분할 지점 수는 함께 하나 이상의 분할 지점 각각의 위치를 나타낸다.
일 실시 예에 따르면, 장치는 예를 들면, 오디오 신호 엔벨로프의 총 에너지를 결정하고 오디오 신호 엔벨로프의 총 에너지를 인코딩하기 위한 에너지 결정기(energy determiner)를 더 포함할 수 있다. 혹은, 장치는 예를 들면, 게다가 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적합한 어떠한 다른 값을 결정하도록 구성될 수 있다.
게다가, 오디오 신호를 인코딩하기 위한 장치가 제공된다. 장치는 오디오 신호의 오디오 신호 엔벨로프를 인코딩하기 위하여 위에 설명된 실시 예들 중 어느 하나에 따라 인코딩하기 위한 장치, 및 오디오 신호의 또 다른 신호 특성을 인코딩하기 위한 2차 신호 특성 인코더(secondary signal characteristic encoder)를 포함하는데, 또 다른 신호 특성은 오디오 신호 엔벨로프와 다르다.
게다가, 재구성된 오디오 신호 엔벨로프를 획득하도록 디코딩하기 위한 방법이 제공된다. 방법은 다음의 단계들을 포함한다:
- 하나 이상의 분할 지점에 의존하여 재구성된 오디오 신호 엔벨로프를 발생시키는 단계; 및
- 재구성된 오디오 신호 엔벨로프를 출력하는 단계.
재구성된 오디오 신호 엔벨로프를 발생시키는 단계는 하나 이상의 분할 지점이 제구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 수행되고, 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분에 의존하여 두 개 이상의 신호 엔벨로프 부분의 각각의 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다. 게다가, 재구성된 오디오 신호 엔벨로프를 발생시키는 단계는 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들의 각각의 신호 엔벨로프 부분 값의 절대 값의 반보다 큰 것과 같이 수행된다.
게다가, 재구성된 오디오 신호 엔벨로프를 획득하기 위하여 디코딩하기 위한 방법이 제공된다. 방법은 다음의 단계들을 포함한다:
- 하나 이상의 분할 지점에 의존하여 재구성된 오디오 신호 엔벨로프를 발생시키는 단계; 및
- 재구성된 오디오 신호 엔벨로프를 출력하는 단계.
재구성된 오디오 신호 엔벨로프를 발생시키는 단계는 하나 이상의 분할 지점이 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 수행되고, 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분에 의존하여 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다. 미리 정의된 엔벨로프 부분 값은 두 개 이상의 신호 엔벨로프 부분 각각에 할당된다. 게다가, 재구성된 오디오 신호 엔벨로프를 발생시키는 단계는 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분을 위하여, 상기 신호 엔벨로프 부분의 신호 엔벨로프 부분 값의 절대 값이 상기 신호 엔벨로프 부분에 할당되는 미리 정의된 엔벨로프 부분 값의 절대 값의 90%보다 큰 것과 같이, 그리고 상기 신호 엔벨로프 부분의 신호 엔벨로프 부분 값의 절대 값이 상기 신호 엔벨로프 부분에 할당되는 미리 정의된 엔벨로프 부분 값의 110%보다 작은 것과 같이 수행된다.
게다가, 오디오 신호 엔벨로프를 인코딩하기 위한 방법이 제공된다. 방법은 다음의 단계를 포함한다:
- 오디오 신호 엔벨로프를 수신하는 단계;
- 미리 정의된 할당 규칙에 의존하여, 적어도 두 개의 분할 지점 구성을 위하여 두 개 이상의 엔벨로프 신호 부분 중 적어도 하나의 오디오 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 결정하는 단계 - 적어도 두 개의 분할 지점 구성 각각은 하나 이상의 분할 지점을 포함하고, 두 개 이상의 분할 지점 구성 각각의 하나 이상의 분할 지점은 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분함 -: 및
- 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 선택된 분할 지점으로서 적어도 두 개의 분할 지점 구성 중 하나의 하나 이상의 분할 지점을 선택하는 단계 - 하나 이상의 분할 지점을 선택하는 단계는 적어도 두 개의 분할 지점 구성 각각의 두 개 이상의 오디오 신호 엔벨로프 부분의 적어도 하나의 오디오 신호 엔벨로프 부분 각각의 신호 엔벨로프 부분 값에 의존하여 수행됨 -.
게다가, 컴퓨터 또는 신호 프로세서 상에서 실행될 때 위에 설명된 방법들 중 하나를 구현하기 위한 컴퓨터 프로그램이 제공된다.
선 스펙트럼 주파수 5(LSF5)의 발견적(heuristic)이나 다소 부정확한 설명은 그것들이 주파수 축을 따라 신호 에너지의 분포를 설명한다는 것이다. 높은 확률로, 선 스펙트럼 주파수 5는 신호가 많은 에너지를 갖는 주파수들에 위치할 것이다. 실시 예들은 이러한 경험적인 기술을 반복적으로 취하고 신호 에너지의 실제 분포를 양자화하기 위한 발견을 기초로 한다. 선 스펙트럼 주파수들은 이러한 개념을 단지 개략적으로 적용하기 때문에, 실시 예들에 따르면, 선 스펙트럼 주파수 개념이 생략되고 대신에 평활한(smooth) 엔벨로프 형상이 그러한 분포로부터 구성될 수 있는 것과 같은 방법으로, 주파수들의 분포가 양자화된다. 본 발명의 개념은 아래에서 분포 양자화로서 언급된다.
실시 예들은 음성 및 오디오 코딩에서 사용되도록 스펙트럼 엔벨로프들의 양자화와 코딩을 기초로 한다. 실시 예들은 예를 들면, 코어-대역폭의 엔벨로프들뿐만 아니라 대역폭 확장 방법들 모두에 적용될 수 있다.
실시 예들에 따르면, 스케일-인자 대역들[3, 4] 및 선형 예측 모델들[1]과 같은, 표준 엔벨로프 모델링 기술들은 예를 들면, 대체되거나 또는 향상될 수 있다.
실시 예들의 목적은 선형 예측 접근법들 및 스케일-인자 대역 기반 접근법들 모두의 장점을 결합하고, 그것들의 단점들을 제거하는, 양자화를 획득하는 것이다.
실시 예들에 따르면, 한편으로는 평활하나 덜 정밀한 스펙트럼 엔벨로프를 갖고, 다른 한편으로는 적은 양의 비트(선택적으로 고정된 비트-레이트)로 코딩될 수 있고 게다가 합리적인 계산 복잡도로 실현될 수 있는 개념들이 제공된다.
다음과 같이, 본 발명의 실시 예들은 도면들을 참조하여 더 상세히 설명된다.
도 1은 일 실시 예에 따라 재구성된 오디오 신호 엔벨로프를 획득하기 위하여 디코딩하기 위한 장치를 도시한다.
도 2는 또 다른 실시 예에 따라 디코딩하기 위한 장치를 도시하고, 장치는 분할 지점 디코더를 더 포함한다.
도 3은 일 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위한 장치를 도시한다.
도 4는 또 다른 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위한 장치를 도시하고, 장치는 분할 지점 인코더를 더 포함한다.
도 5는 또 다른 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위한 장치를 도시하고, 오디오 신호 엔벨로프를 인코딩하기 위한 장치는 에너지 결정기를 더 포함한다.
도 6은 실시 예들에 따른 일정한 에너지 블록들에 의해 기술되는 3개의 신호 엔벨로프를 도시한다.
도 7은 실시 예들에 따른 도 6의 스펙트럼의 누적 표현을 도시한다.
도 8은 원래 표현뿐만 아니라 누적 질량 도메인 표현 모두에서의 보간된 스펙트럼 질량 엔벨로프를 도시한다.
도 9는 일 실시 예에 따라 분할 지점 위치들을 디코딩하기 위한 디코딩 과정을 도시한다.
도 10은 일 실시 예에 따라 분할 지점 위치들의 디코딩을 구현하는 슈도 코드(pseudo code)를 도시한다.
도 11은 일 실시 예에 따라 분할 지점들을 인코딩하기 위한 인코딩 과정을 도시한다.
도 12는 본 발명의 일 실시 예에 따라 분할 지점 위치들의 인코딩을 구현하는, 슈도 코드를 도시한다.
도 13은 일 실시 예에 따른 분할 지점 디코더를 도시한다.
도 14는 일 실시 예에 따라 오디오 신호를 인코딩하기 위한 장치를 도시한다.
도 15는 일 실시 예에 따라 오디오 신호를 재구성하기 위한 장치를 도시한다.
도 16은 일 실시 예에 따라 하나 이상의 코딩 값으로부터 오디오 신호 엔벨로프를 발생시키기 위한 장치를 도시한다.
도 17은 일 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 코딩 값을 결정하기 위한 장치를 도시한다.
도 18은 제 1 실시 예에 따른 집계 함수를 도시한다.
도 19는 제 2 실시 예에 따른 집계 함수를 도시한다.
도 3은 일 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위한 장치를 도시한다.
장치는 오디오 신호 엔벨로프를 수신하기 위한 오디오 신호 엔벨로프 인터페이스(210)를 포함한다.
게다가, 장치는 미리 정의된 할당 규칙에 의존하여, 적어도 두 개의 분할 지점 구성 각각을 위하여 두 개 이상의 오디오 신호 엔벨로프 부분 중 적어도 하나의 오디오 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 결정하기 위한 분할 지점 결정기(220)를 포함한다.
적어도 두 개의 분할 지점 구성 각각은 하나 이상의 분할 지점을 포함하고, 두 개 이상의 분할 지점 구성 각각의 하나 이상의 분할 지점은 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분한다. 분할 지점 결정기(220)는 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 선택된 분할 지점으로서 적어도 두 개의 분할 지점 구성 중 하나의 하나 이상의 분할 지점을 선택하도록 구성되고, 분할 지점 결정기(220)는 적어도 두 개의 분할 지점 구성 각각의 두 개 이상의 오디오 신호 엔벨로프 부분의 적어도 하나의 오디오 엔벨로프 부분 각각의 신호 엔벨로프 부분 값에 의존하여 하나 이상의 분할 지점을 선택하도록 구성된다.
분할 지점 구성은 하나 이상의 분할 지점을 포함하고 그것의 분할 지점들에 의해 정의된다. 예를 들면, 오디오 신호 엔벨로프는 20 샘플, 0,..., 19를 포함할 수 있고 두 개의 분할 지점을 갖는 구성은 예를 들면, 샘플 3의 위치에서 그것의 제 1 분할 지점에 의해, 그리고 샘플 8의 위치에서 그것의 제 2 분할 지점에 의해 정의될 수 있으며, 분할 지점 구성은 투플(tuple, 3; 8)에 의해 표시될 수 있다. 만일 하나의 분할 지점만이 결정되어야만 하면 단일 분할 지점이 분할 지점 구성을 나타낸다.
적합한 하나 이상의 분할 지점이 하나 이상의 선택된 분할 지점으로서 결정되어야만 한다. 이러한 목적을 위하여, 각각 하나 이상의 분할 지점을 포함하는 적어도 두 개의 분할 지점 구성이 고려된다. 가장 적합한 분할 지점 구성의 하나 이상의 분할 지점이 선택된다. 분할 지점 구성이 또 다른 하나보다 더 적합한지는 자체로 미리 정의된 할당 규칙에 의존하는 결정된 신호 엔벨로프 부분 값에 의존하여 결정된다.
실시 예들에서, 각각의 분할 지점 구성들은 N 분할 지점들을 갖고, 분할 지점들을 갖는 모든 가능한 분할 지점 구성이 고려될 수 있다. 그러나, 일부 실시 예들에서, 모두 가능하지는 않으나, 두 개의 분할 지점만이 고려되고 가장 적합한 분할 지점 구성의 분할 지점이 하나 이상의 선택된 분할 지점으로서 선택된다.
단일 분할 지점만이 결정되어야만 하는 실시 예들에서, 각각의 분할 지점 구성은 단일 분할 지점만을 포함한다. 두 개의 분할 지점이 결정되어야만 하는 실시 예들에서, 각각의 분할 지점 구성은 두 개의 분할 지점을 포함한다. 유사하게, N 분할 지점들이 결정되어야만 하는 실시 예들에서, 각각의 분할 지점 구성은 N 분할 지점들을 포함한다.
단일 분할 지점을 갖는 분할 지점 구성은 오디오 신호 엔벨로프를 두 개의 오디오 신호 엔벨로프 부분으로 세분한다. 두 개의 분할 지점을 갖는 분할 지점 구성은 오디오 신호 엔벨로프를 세 개의 오디오 신호 엔벨로프 부분으로 세분한다. N 분할 지점을 갖는 분할 지점 구성은 오디오 신호 엔벨로프를 N+1 오디오 신호 엔벨로프 부분으로 세분한다.
미리 정의된 할당 규칙이 존재하는데, 이는 신호 엔벨로프 부분 값을 각각의 오디오 신호 엔벨로프 부분들에 할당한다. 미리 정의된 할당 규칙은 오디오 신호 엔벨로프 부분들에 의존한다.
일부 실시 예들에서, 분할 지점들은 오디오 신호 엔벨로프를 세분하는 하나 이상의 분할 지점으로부터 야기하는 각각의 오디오 신호 엔벨로프 부분들이 대략 동일한 미리 정의된 할당 규칙에 의해 할당되는 신호 엔벨로프 부분들을 갖는 갓과 같이 결정된다. 따라서, 하나 이상의 분할 지점이 오디오 신호 엔벨로프 및 할당 규칙에 의존하기 때문에, 만일 할당 규칙 및 분할 지점들이 디코더에서 알려지면, 오디오 신호 엔벨로프는 디코더에서 추정될 수 있다. 이는 예를 들면, 도 6에 의해 도시된다.
도 6(a)에서, 신호 엔벨로프(610)를 위한 단일 분할 지점이 결정되어야만 한다. 따라서, 이러한 실시 예에서, 서로 다른 가능한 분할 지점 구성들이 단일 분할 지점에 의해 정의된다. 도 6(a)의 실시 예에서, 분할 지점(631)이 최상의 분할 지점으로서 발견된다. 분할 지점(631)은 오디오 신호 엔벨로프(610)를 두 개의 신호 엔벨로프 부분으로 세분한다. 직사각형 불록(611)은 분할 지점(631)에 의해 정의되는 제 1 신호 엔벨로프 부분의 에너지를 나타낸다. 직사각형 불록(612)은 분할 지점(631)에 의해 정의되는 제 2 신호 엔벨로프 부분의 에너지를 나타낸다. 도 6(a)의 실시 예에서, 블록들(611 및 612)의 상부 모서리는 신호 엔벨로프(610)의 추정을 나타낸다. 그러한 추정은 예를 들면, 정보로서 분할 지점(631, 예를 들면 만일 하나의 분할 지점만이 값(s=12)을 가지면, 분할 지점(s)은 위치 12에 위치됨), 신호 엔벨로프가 시작하는 위치에 대한 정보(여기서는 지점(638)에서) 및 신호 엔벨로프가 끝나는 위치에 대한 정보(여기서는 지점(639)에서)를 사용하여, 디코더에서 만들어질 수 있다. 신호 엔벨로프는 고정된 값들에서 시작하고 끝날 수 있고 이러한 정보는 수신기에서 고정된 정보로서 이용 가능하다. 또는, 이러한 정보는 수신기에 존송될 수 있다. 디코더 측에서, 디코더는 오디오 신호 엔벨로프를 분할하는 분할 지점(631)으로부터 야기하는, 신호 엔벨로프 부분들이 미리 정의된 할당 규칙으로부터 동일한 값을 얻는 것과 같이 신호 엔벨로프의 추정을 재구성할 수 있다. 도 6(a)에서, 블록들(611 및 612)의 상부 모서리들에 의해 정의되는 신호 엔벨로프의 신호 엔벨로프 부분들은 할당 규칙에 의해 할당되는 동일한 값을 얻고 신호 엔벨로프(610)의 뛰어난 추정을 나타낸다. 분할 지점(631)의 사용 대신에, 값(621)이 또한 분할 지점으로서 사용될 수 있다. 게다가, 시작 값(631) 대신에, 값(628)이 시작 값으로서 사용될 수 있고 종료 값(end value, 639) 대신에, 종료 값(629)이 종료 값으로서 사용될 수 있다. 그러나, 가로좌표 값의 인코딩뿐만 아니라, 세로좌표 값은 더 많은 코딩 자원(coding resource)들이 필요하나, 반드시 그렇지는 않다.
도 6(b)에서, 신호 엔벨로프(640)를 위한 세 개의 분할 지점이 결정되어야만 한다. 따라서, 이러한 실시 예에서, 서로 다른 가능한 분할 지점 구성들은 세 개의 분할 지점에 의해 정의된다. 도 6(b)의 실시 예에서, 분할 지점들(661, 662, 663)이 최상의 분할 지점들로서 발견된다. 분할 지점들(661, 662, 663)은 오디오 신호 엔벨로프(640)를 4개의 신호 엔벨로프 부분으로 세분한다. 직사각형 블록(641)은 분할 지점들에 의해 정의되는 제 1 신호 엔벨로프 부분의 에너지를 나타낸다. 직사각형 블록(642)은 분할 지점들에 의해 정의되는 제 2 신호 엔벨로프 부분의 에너지를 나타낸다. 직사각형 블록(643)은 분할 지점들에 의해 정의되는 제 3 신호 엔벨로프 부분의 에너지를 나타낸다. 그리고 직사각형 블록(644)은 분할 지점들에 의해 정의되는 제 4 신호 엔벨로프 부분의 에너지를 나타낸다. 도 6(b)의 실시 예에서, 블록들(641, 642, 643, 644)의 상부 모서리들은 신호 엔벨로프(640)의 추정을 나타낸다. 그러한 추정은 예를 들면, 정보로서 분할 지점들(641, 642, 643, 644), 신호 엔벨로프가 시작하는 위치에 대한 정보(여기서는 지점(668)에서) 및 신호 엔벨로프가 끝나는 위치에 대한 정보(여기서는 지점(669)에서)를 사용하여 디코더에서 만들어질 수 있다. 신호 엔벨로프는 고정된 값들에서 시작하고 끝날 수 있고 이러한 정보는 수신기에서 고정된 정보로서 이용 가능하다. 또는, 이러한 정보는 수신기에 존송될 수 있다. 디코더 측에서, 디코더는 오디오 신호 엔벨로프를 분할하는 분할 지점들(661, 662, 663)로부터 야기하는, 신호 엔벨로프 부분들이 미리 정의된 할당 규칙으로부터 동일한 값을 얻는 것과 같이 신호 엔벨로프의 추정을 재구성할 수 있다. 도 6(b)에서, 블록들(641, 642, 643, 644)의 상부 모서리들에 의해 정의되는 신호 엔벨로프의 신호 엔벨로프 부분들은 할당 규칙에 의해 할당되는 동일한 값을 얻고 신호 엔벨로프(640)의 뛰어난 추정을 나타낸다. 분할 지점들(661, 662, 663)의 사용 대신에, 값들(651, 652, 653)이 또한 분할 지점으로서 사용될 수 있다. 게다가, 시작 값(668) 대신에, 값(658)이 시작 값으로서 사용될 수 있고 종료 값(669) 대신에, 종료 값(659)이 종료 값으로서 사용될 수 있다. 그러나, 가로좌표 값의 인코딩뿐만 아니라, 세로좌표 값은 더 많은 코딩 자원(coding resource)들이 필요하나, 반드시 그렇지는 않다.
도 6(c)에서, 신호 엔벨로프(670)를 위한 4개의 분할 지점이 결정되어야만 한다. 따라서, 이러한 실시 예에서, 서로 다른 가능한 분할 지점 구성들은 4개의 분할 지점에 의해 정의된다. 도 6(c)의 실시 예에서, 분할 지점들(691, 692, 693, 694)이 최상의 분할 지점들로서 발견된다. 분할 지점들(691, 692, 693, 694)은 오디오 신호 엔벨로프(670)를 5개의 신호 엔벨로프 부분으로 세분한다. 직사각형 블록(671)은 분할 지점들에 의해 정의되는 제 1 신호 엔벨로프 부분의 에너지를 나타낸다. 직사각형 블록(672)은 분할 지점들에 의해 정의되는 제 2 신호 엔벨로프 부분의 에너지를 나타낸다. 직사각형 블록(673)은 분할 지점들에 의해 정의되는 제 3 신호 엔벨로프 부분의 에너지를 나타낸다. 직사각형 블록(674)은 분할 지점들에 의해 정의되는 제 4 신호 엔벨로프 부분의 에너지를 나타낸다. 그리고 직사각형 블록(675)은 분할 지점들에 의해 정의되는 제 5 신호 엔벨로프 부분의 에너지를 나타낸다. 도 6(c)의 실시 예에서, 블록들(671, 672, 673, 674, 675)의 상부 모서리들은 신호 엔벨로프(670)의 추정을 나타낸다. 그러한 추정은 예를 들면, 정보로서 분할 지점들(691, 692, 693, 694), 신호 엔벨로프가 시작하는 위치에 대한 정보(여기서는 지점(698)에서) 및 신호 엔벨로프가 끝나는 위치에 대한 정보(여기서는 지점(699)에서)를 사용하여 디코더에서 만들어질 수 있다. 신호 엔벨로프는 고정된 값들에서 시작하고 끝날 수 있고 이러한 정보는 수신기에서 고정된 정보로서 이용 가능하다. 또는, 이러한 정보는 수신기에 존송될 수 있다. 디코더 측에서, 디코더는 오디오 신호 엔벨로프를 분할하는 분할 지점들(691, 692, 693, 694)로부터 야기하는, 신호 엔벨로프 부분들이 미리 정의된 할당 규칙으로부터 동일한 값을 얻는 것과 같이 신호 엔벨로프의 추정을 재구성할 수 있다. 도 6(c)에서, 블록들(671, 672, 673, 674)의 상부 모서리들에 의해 정의되는 신호 엔벨로프의 신호 엔벨로프 부분들은 할당 규칙에 의해 할당되는 동일한 값을 얻고 신호 엔벨로프(670)의 뛰어난 추정을 나타낸다. 분할 지점(691, 692, 693, 694)의 사용 대신에, 값들(681, 682, 683, 684)이 또한 분할 지점으로서 사용될 수 있다. 게다가, 시작 값(698) 대신에, 값(688)이 시작 값으로서 사용될 수 있고 종료 값(699) 대신에, 종료 값(689)이 종료 값으로서 사용될 수 있다. 그러나, 가로좌표 값의 인코딩뿐만 아니라, 세로좌표 값은 더 많은 코딩 자원(coding resource)들이 필요하나, 반드시 그렇지는 않다.
또 다른 특정 실시 예로서, 다음의 예가 고려될 수 있다.
스펙트럼 도메인 내에서 표현되는 신호 엔벨로프가 인코딩되어야만 한다. 신호 엔벨로프는 예를 들면, N 스펙트럼 값들(예를 들면, N=33)을 포함한다.
서로 다른 신호 엔벨로프 부분들이 이제 고려될 수 있다. 예를 들면, 제 1 신호 엔벨로프 부분은 제 1 10 스펙트럼 값들 v i (i=0,...,9; i는 스펙트럼 값의 지수)을 포함할 수 있고 제 2 신호 엔벨로프 부분은 마지막 23 스펙트럼 값들(i=10,...,32)을 포함할 수 있다.
일 실시 예에서, 미리 정의된 할당 규칙은 예를 들면, 스펙트럼 값들(v 0, v 1,...,v s-1)을 갖는 스펙트럼 신호 엔벨로프 부분(m)의 신호 엔벨로프 부분 값(p(m))이 스펙트럼 신호 엔벨로프 부분의 에너지인 것일 수 있는데, 예를 들면 다음과 같으며,
Figure pct00005
여기서 lowerbound(하계)는 신호 엔벨로프 부분(m)의 하부 경계 값이고 upperbound(상계)는 신호 엔벨로프 부분(m)의 상부 경계 값이다.
신호 엔벨로프 부분 값 결정기(110)는 그러한 공식에 따라 하나 이상의 오디오 신호 엔벨로프 부분에 신호 엔벨로프 부분 값을 할당할 수 있다.
분할 지점 결정기(220)는 이제 미리 정의된 할당 규칙에 따라 하나 이상의 신호 엔벨로프 부분 값을 결정하도록 구성된다. 특히, 분할 지점 결정기(220)는 두 개 이상의 신호 엔벨로프 부분 각각의 신호 엔벨로프 부분 값이 (대략) 두 개 이상의 신호 엔벨로프 부분의 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값과 동일한 것과 같이 미리 정의된 할당 규칙에 따라 하나 이상의 신호 엔벨로프 부분 값을 결정하도록 구성된다.
예를 들면, 특정 실시 예에서, 분할 지점 결정기(220)는 단일 분할 지점만을 결정하도록 구성될 수 있다. 그러한 실시 예에서, 두 개의 신호 엔벨로프 부분들, 예를 들면 신호 엔벨로프 부분 1(m=1) 및 신호 엔벨로프 부분 2(m=2)는 예를 들면 다음의 공식에 따라, 분할 지점(s)에 의해 의해 정의되는데:
여기서 n은 오디오 신호 엔벨로프의 샘플들의 수, 예를 들면 오디오 신호 엔벨로프의 스펙트럼 값들의 수를 나타낸다. 위의 실시 예에서, n은 예를 들면, n=33일 수 있다.
신호 엔벨로프 부분 값 결정기(110)는 그러한 신호 엔벨로프 부분 값(p(1))을 오디오 신호 엔벨로프 부분 1에 할당하고 그러한 신호 엔벨로프 부분 값(p(2))을 오디오 신호 엔벨로프 부분 2에 할당할 수 있다.
일부 실시 예들에서, 신호 엔벨로프 부분 값들(p(1), p(2)) 모두가 결정된다. 그러나, 일부 실시 예들에서, 두 신호 엔벨로프 부분 값 중 하나만이 고려된다. 예를 들면, 만일 총 에너지가 알려지면, p(1)이 총 에너지의 대략 50%인 것과 같이 분할 지점을 결정하기에 충분하다.
일부 실시 예들에서, s(k)는 가능한 값들의 세트로부터, 예를 들면 정수 지수 값들의 세트, 예들 들면 {0; 1; 2;,...; 32}로부터 선택될 수 있다. 다른 실시 예들에서, s(k)는 가능한 값들의 세트, 예를 들면 주파수 대역들의 세트를 나타내는 주파수 값들의 세트로부터 선택될 수 있다.
하나 이상의 분할 지점이 결정되어야만 하는 실시 예들에서, 분할 지점(s) 바로 이전까지 샘플 에너지들을 누적하는, 누적 에너지를 나타내는 공식이 고려될 수 있는데:
Figure pct00007
만일 N 분할 지점들이 결정되어야만 하면, 분할 지점들(s(1), s(2),..., s(N))은 다음과 같이 결정되는데:
Figure pct00008
여기서 totalenergy는 신호 엔벨로프의 총 에너지이다.
일 실시 예에서, 분할 지점(s(k))은 다음의 공식이 최소인 것과 같이 선택될 수 있다:
Figure pct00009
따라서, 일 실시 예에 따르면, 분할 지점 결정기(22)는 예를 들면, 아래의 공식이 최소인 것과 같이, 하나 이상의 분할 지점(s(k))을 결정하도록 구성될 수 있는데,
Figure pct00010
여기서 totalenergy는 총 에너지를 나타내고, k는 하나 이상의 분할 지점의 k번째 분할 지점을 나타내며, N은 하나 이상의 분할 지점의 수를 나타낸다.
또 다른 실시 예에서, 만일 분할 지점 결정기(220)가 단일 분할 지점(s)만을 선택하도록 구성되면, 분할 지점 결정기(220)는 모든 가능한 분할 지점(s=1,..., 32)을 검사할 수 있다.
일부 실시 예들에서, 분할 지점 결정기(220)는 분할 지점(s), 예를 들면 다음의 공식이 최소인 분할 지점의 최상 값을 선택할 수 있다:
Figure pct00011
일 실시 예에 따르면, 두 개 이상의 엔벨로프 부분의 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 예를 들면, 상기 신호 엔벨로프 부분의 하나 이상의 에너지 값 또는 하나 이상의 파워 값에 의존할 수 있다. 또는, 두 개 이상의 엔벨로프 부분의 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 예를 들면, 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적절한 어떠한 다른 값에 의존할 수 있다.
일 실시 예에 따르면, 오디오 신호 엔벨로프는 예를 들면, 스펙트럼 도메인 내에서 또는 시간 도메인 내에서 표현될 수 있다.
도 4는 또 다른 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위한 장치를 도시하는데, 장치는 하나 이상의 인코딩된 지점을 획득하기 위하여 예를 들면 인코딩 규칙에 따라, 하나 이상의 분할 지점을 인코딩하기 위한 분할 지점 인코더(225)를 더 포함한다.
분할 지점 인코더(225)는 예를 들면, 하나 이상의 인코딩된 지점을 획득하기 위하여 하나 이상의 분할 지점 각각의 위치를 인코딩하도록 구성될 수 있다. 분할 지점 인코더(225)는 예를 들면, 분할 지점 상태 수를 인코딩함으로써 하나 이상의 분할 지점 각각의 위치를 인코딩하도록 구성될 수 있다. 게다가, 분할 지점 인코더(225)는 예를 들면, 가능한 분할 지점 위치들의 총 수를 나타내는 총 위치 수, 및 하나 이상의 분할 지점의 수를 나타내는 분할 지점 수를 제공하도록 구성될 수 있다. 분할 지점 상태 수, 총 위치 수 및 분할 지점 수는 함께 하나 이상의 분할 지점 각각의 위치를 나타낸다.
도 5는 또 다른 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위한 장치를 도시하는데, 오디오 신호 엔벨로프를 인코딩하기 위한 장치는 에너지 결정기(230)를 더 포함한다.
일 실시 예에 따르면, 장치는 예를 들면, 오디오 신호 엔벨로프의 총 에너지를 결정하고 오디오 신호 엔벨로프의 총 에너지를 인코딩하기 위한 에너지 결정기(230)를 더 포함한다.
그러나, 또 다른 실시 예에서, 장치는 예를 들면, 또한 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적절한 어떠한 다른 값을 결정하도록 구성될 수 있다. 총 에너지 대신에, 복수의 다른 값이 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적합하다. 예를 들면, 이미 언급된 것과 같이, 다양한 방법으로 엔벨로프의 스케일링이 구현될 수 있고, 이는 신호 에너지 또는 스펙트럼 질량 또는 다른 유사한 것과 상응할 수 있거나, 혹은 이는 스케일링 또는 이득 인자(상대 크기)일 수 있기 때문에, 이는 절대 또는 상대 값으로서 인코딩될 수 있거나, 혹은 이는 이전 값 또는 이전 값들의 조합에 대한 차이에 의해 인코딩될 수 있다. 일부 경우들에서 스케일링은 또한 다른 이용 가능한 데이터와 무관하거나 또는 다른 이용 가능한 데이터로부터 추론될 수 있다. 엔벨로프는 그것의 원래 또는 표적 레벨로 재구성되어야만 한다.
도 14는 오디오 신호를 인코딩하기 위한 장치를 도시한다. 장치는 하나 이상의 분할 지점을 발생시킴으로써 오디오 신호의 오디오 신호 엔벨로프를 인코딩하기 위하여 위에 설명된 실시 예들 중 어느 하나에 따라 인코딩하기 위한 장치(1410), 및 오디오 신호의 또 다른 신호 특성을 인코딩하기 위한 2차 신호 특성 인코더(1420)를 포함하고, 또 다른 신호 특성은 오디오 신호 엔벨로프와 다르다. 통상의 지식을 가진 자들은 오디오 신호의 엔벨로프로부터 그리고 오디오 신호의 또 다른 특성으로부터, 오디오 신호 자체가 재구성될 수 있다는 사실을 알고 있다. 예를 들면, 신호 엔벨로프는 예를 들면 오디오 신호의 샘플들의 에너지를 나타낼 수 있다. 또 다른 신호 특성은 예를 들면, 시간 도메인 오디오 신호의 각각의 샘플을 위하여 샘플이 양 또는 음의 값을 갖는지를 나타낼 수 있다.
도 1은 일 실시 예에 따라 재구성된 오디오 신호를 획득하도록 디코딩하기 위한 장치를 도시한다.
장치는 하나 이상의 분할 지점에 의존하여 재구성된 오디오 신호 엔벨로프를 발생시키기 위한 신호 엔벨로프 재구성기(110)를 포함한다.
게다가, 장치는 재구성된 오디오 신호 엔벨로프를 출력하기 위한 출력 인토페이스(120)를 포함한다.
신호 엔벨로프 재구성기(110)는 하나 이상의 분할 지점이 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성된다.
미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분에 의존하여 두 개 이상의 신호 엔벨로프 지점의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다.
게다가, 신호 엔벨로프 재구성기(110)는 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 반보다 큰 것과 같이, 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성된다.
절대 값과 관련하여 신호 엔벨로프 부분 값(x)의 a는 다음을 의미한다:
만일 x≥0이면, a=x;
x<0이면 a=-x;
만일 모든 신호 부분 값이 양이면, 이러한 위의 공식은 재구성된 오디오 신호 엔벨로프가 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 반보다 큰 것과 같이, 발생되는 것을 의미한다.
특정 실시 예에서, 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 두 개 이상의 신호 엔벨로프 부분들의 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값과 동일하다.
그러나, 도 1의 더 일반적인 실시 예에서, 오디오 신호 엔벨로프는 신호 엔벨로프 부분들의 신호 엔벨로프 부분 값들이 정확하게 동일하지 않아도 되는것과 같이 재구성된다. 대신에, 일부 허용 오차가 허용된다.
공식 "두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 반보다 큰 것과 같이"는 모든 신호 엔벨로프 부분 값 중 가장 큰 절대 값이 모든 신호 엔벨로프 부분 값 중 가장 작은 절대 값의 크기의 두 배를 갖지 않는 한, 필요한 조건이 충족되는 것을 의미하도록 이해될 수 있다.
예를 들면, 4개의 신호 엔벨로프 부분 값 {0.23; 0.28; 0.19; 0.30}의 세트는 위의 요구조건을 충족하는데, 그 이유는 0.30<2·0.19=0.38이기 때문이다. 그러나, 4개의 신호 엔벨로프 부분 값 {0.24; 0.16; 035; 025}의 세트는 필수 조건을 충족하지 않는데, 그 이유는 0.35<2·0.16=0.32이기 때문이다.
디코더 측 상에서, 신호 엔벨로프 재구성기(110)는 재구성된 오디오 신호 엔벨로프를 세분하는 분할 지점들로부터 야기하는 오디오 신호 엔벨로프 부분들이 대략 동일한 신호 엔벨로프 부분 값들을 갖는 것과 같이, 재구성된 오디오 신호 엔벨로프를 재구성하도록 구성된다. 따라서, 두 개 이상의 신호 엔벨로프 부분 각각의 신호 엔벨로프 부분 값은 두 개 이상의 신호 엔벨로프 부분의 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 반보다 크다.
그러한 실시 예들에서, 신호 엔벨로프 부분들의 신호 엔벨로프 부분 값들은 대략 동일해야만 하나 정확하게 동일할 필요는 없다.
신호 엔벨로프 부분들의 신호 엔벨로프 부분 값들이 거의 동일해야만 한다는 요구는 디코더에 신호가 어떻게 재구성되어야만 하는지를 나타낸다. 신호 엔벨로프 부분 값들이 정확하게 동일한 것과 같이 신호 엔벨로프 부분들이 재구성될 때, 디코더 측 상에 신호를 재구성하는데 있어서의 자유도는 엄격하게 제한된다.
신호 엔벨로프 부분 값들이 서로로부터 더 많이 유도될수록, 디코더 측 상에 사양에 따라 오디오 신호 엔벨로프를 조정하도록 디코더는 더 많은 자유도를 갖는다. 예를 들면, 스펙트럼 오디오 신호 엔벨로프가 인코딩될 때, 일부 디코더들은 예를 들면 낮은 주파수 대역들 상에 에너지를 더 많이 두는 것을 선호할 수 있으나 다른 디코더들은 예를 들면 높은 주파수 대역들 상에 에너지를 더 많이 두는 것을 선호할 수 있다. 그리고 일부 허용 오차를 허용함으로써, 예를 들면 양자화 및/또는 탈양자화에 의해 야기되는 제한된 양의 반올림 오차들이 허용 가능하다.
신호 엔벨로프 재구성기(110)가 거의 정확하게 재구성하는 일 실시 예에서, 신호 엔벨로프 재구성기(110)는 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 90%보다 큰 것과 같이, 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성된다.
일 실시 예에 따르면, 신호 엔벨로프 재구성기(110)는 예를 들면, 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값의 절대 값의 99%보다 큰 것과 같이, 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
그러나, 또 다른 실시 예에서, 신호 엔벨로프 재구성기(110)는 예를 들면, 두 개 이상의 신호 엔벨로프 부분 각각의 신호 엔벨로프 부분 값이 나머지 신호 엔벨로프 부분들 각각의 신호 엔벨로프 부분 값과 동일한 것과 같이, 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
일 실시 예에서, 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분의 신호 엔벨로프 부분 값은 예를 들면, 상기 신호 엔벨로프 부분의 하나 이상의 에너지 값 또는 하나 이상의 파워 값에 의존할 수 있다.
일 실시 예에 따르면, 재구성된 오디오 신호 엔벨로프는 예를 들면, 스펙트럼 도메인 내에서 또는 시간 도메인 내에서 표현될 수 있다.
도 2는 또 다른 실시 예에 따라 디코딩하기 위한 장치를 도시하는데, 장치는 하나 이상의 분할 지점을 획득하기 위하여 디코딩 규칙에 따라 하나 이상의 인코딩된 지점을 디코딩하기 위한 분할 지점 디코더(105)를 더 포함한다.
일 실시 예에 따르면, 신호 엔벨로프 재구성기(110)는 예를 들면, 재구성된 오디오 신호 엔벨로프의 총 에너지를 나타내는 총 에너지 값에 의존하거나, 또는 오디오 신호 엔벨로프의 원래 또는 표적 레벨을 재구성하기에 적합한 어떠한 다른 값에 의존하여 재구성된 오디오 신호 엔벨로프를 구성될 수 있다.
이제, 본 발령을 더 상세히 설명하기 위하여, 특정 실시 예들이 제공된다.
특정 실시 예에 따르면, 개념은 두 개의 반(half) 모두가 동일한 에너지를 갖는 것과 같이 주파수 대역을 두 개의 부분으로 분할하는 것이다. 이러한 개념이 엔벨로프, 즉 전체 형상이 일정한 에너지 블록들에 의해 설명되는, 도 6(a)에 도시된다.
개념은 그리고 나서 두 반 모두가 동일한 에너지를 갖는 두 개의 반으로 더 분할하는 것과 같이, 반복적으로 적용된다. 이러한 접근법이 도 6(b)에 도시된다.
더 일반적으로, 스펙트럼은 각각의 블록이 1/N번째의 에너지를 갖는 것과 같이 N 블록들 내에서 세분될 수 있다. 도 6(c)에서, 이는 N=5로 도시된다.
디코더 내에 이러한 블록-방식의 일정한 스펙트럼 엔벨로프들을 재구성하기 위하여, 블록들의 주파수 경계들 및 예를 들면 전체 에너지가 전송될 수 있다. 주파수 경계들은 선형 예측 코딩의 선 스펙트럼 주파수 표현과 상응하나, 단지 경험적인 면으로만 상응한다.
지금까지, 신호(x)의 에너지 엔벨로프(abs(x)2)와 관련하여 설명이 제공되었다. 그러나, 다른 실시 예들에서, 스펙트럼의 크기 엔벨로프(magnitude envelope, abs(x)), 일부 다른 파워(abs(x) n ) 혹은 어떠한 지각적으로 동기화되는 표현(예를 들면, 라우드니스(소리의 세기, loudness))이 모델링된다. 에너지 대신에, 용어 "스펙트럼 질량"을 언급할 수 있고 이는 스펙트럼의 적합한 표현을 기술하는 것을 추정한다. 유일하게 중요한 것은 스펙트럼 표현의 누적 합계를 계산하는 것이 가능하다는 것, 즉 표현이 양의 값만을 갖는다는 것이다.
그런데, 만일 시퀀스가 양의 값이 아니면, 이는 누적 합계 또는 다른 적절한 운영들을 취함으로써 충분히 큰 상수의 덧셈에 의해 양의 값으로 전환될 수 있다. 유사하게, 복소수 값(complex value)의 시퀀스는 예를 들면, 다음으로 전환될 수 있다:
1) 하나는 순수 실가(real value)를 표현하고 하나는 순수 허가를 표현하는 두 개의 시퀀스, 또는
2) 첫 번째 하나는 크기를 표현하고 두 번째는 위상을 표현하는 두 개의 시퀀스. 이러한 두 개의 시퀀스는 두 개의 개별 엔벨로프로서 두 경우 모두에서 모델링될 수 있다.
또한 모델을 스펙트럼 엔벨로프 모델들로 제한하는 것이 필요하지 않고, 어떠한 엔벨로프 형상도 현재 모델로 설명될 수 있다. 예를 들면, 시간적 잡음 형상화(Tewmporal Noise Shaping, TNS)[6]는 신호의 시간적 엔벨로프를 모델링하는, 오디오 코덱들에서 표준 툴이다. 본 발명의 발명자들의 방법이 엔벨로프들을 모델링하기 때문에, 이는 또한 시간 도메인 신호들에 동등하게 잘 적용될 수 있다.
유사하게, 대역폭 확장(BWE) 방법들이 높은 주파수들의 스펙트럼 형상을 모델링하도록 스펙트럼 엔벨로프들을 적용하고 제안된 방법은 따라서 또한 대역폭 확장을 위하여 적용될 수 있다.
도 17은 일 실시 예에 따라 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 코딩 값을 결정하기 위한 장치를 도시한다.
장치는 복수의 인수 값 각각을 위한 집계된 값을 결정하기 위한 집계자(1710)를 포함한다. 복수의 인수 값은 복수의 인수 값의 제 1 인수 값이 복수의 인수 값의 제 2 인수 값을 선행하거나 또는 뒤따르는 것과 같이 순서가 정해지고, 상기 제 2 인수값은 제 1 인수 값과 다르다.
엔벨로프 값은 각각의 인수 값들에 할당되고, 각각의 인수 값들의 엔벨로프 값은 오디오 신호 엔벨로프에 의존하며, 집계자는 상기 인수 값의 엔벨로프 값에 의존하고, 상기 인수 값을 선행하는 복수의 인수 값 각각의 엔벨로프 값에 의존하여 복수의 인수 값의 각각의 인수 값을 위한 집계된 값을 결정하도록 구성된다.
게다가, 장치는 복수의 인수 값의 하나 이상의 집계된 값들에 의존하여 하나 이상의 코딩 값을 결정하기 위한 인코딩 유닛(1720)을 포함한다. 예를 들면, 인코딩 유닛(1720)은 예를 들면 위에 설명된 것과 같이, 하나 이상의 코딩 값으로서 위에 설명된 하나 이상의 분할 지점을 발생시킬 수 있다.
도 18은 제 1 실시 예에 따른 집계 함수(1810)를 도시한다.
그중에서도, 도 18은 오디오 신호 엔벨로프의 18개의 엔벨로프 지점들을 도시한다. 예를 들면, 오디오 신호 엔벨로프의 4번째 엔벨로프 지점은 도면부호 1824로 표시되고 8번째 엔벨로프 지점은 도면부호 1828로 표시된다. 각각의 엔벨로프 지점은 인수 값 및 엔벨로프 값을 포함한다. 달리 설명하면, 인수 값은 x-성분으로서 고려될 수 있고 엔벨로프 값은 xy-좌표 시스템에서 엔벨로프 지점의 y-성분으로 고려될 수 있다. 따라서, 도 18에서 알 수 있는 것과 같이, 4번째 엔벨로프 지점(1824)의 인수 값은 4이고 8번째 엔벨로프 지점(1828)의 인수 값은 3이다. 또 다른 실시 예로서, 8번째 엔벨로프 지점(1828)의 인수 값은 8이고 4번째 엔벨로프 지점(1824)의 인수 값은 2이다. 다른 실시 예들에서, 인수 값들은 도 18에서와 같은 지수 숫자를 나타내지 않을 수 있으나, 예를 들면, 만일 예를 들면, 스펙트럼 엔벨로프가 고려되면, 스펙트럼 대역의 중앙 주파수를 나타낼 수 있고, 따라서, 예를 들면, 제 1 인수 값은 그때 300㎐일 수 있고, 제 2 인수 값은 500㎐일 수 있다. 혹은, 예를 들면, 다른 실시 예들에서, 만일 예를 들면 시간적 엔벨로프가 고려되면, 인수 값들은 시간 내의 지점들을 나타낼 수 있다.
집계 함수(1810)는 복수의 집계 지점을 포함한다. 예를 들면, 4번째 집계 지점(1814) 및 8번째 집계 지점(1818)이 고려된다. 각각의 집계 지점은 인수 값 및 집계 값을 포함한다. 위와 유사하게, 인수 값은 x-성분으로서 고려될 수 있고 집계 값은 xy-좌표 시스템에서의 집계 지점의 y-성분으로서 고려될 수 있다. 도 18에서, 4번째 집계 지점(1814)의 인수 값은 4이고 8번째 집계 지점(1818)의 집계 값은 7이다. 또 다른 실시 예로서, 8번째 엔벨로프 지점의 인수 값은 8이고 4번째 엔벨로프 지점의 엔벨로프 값은 13이다.
집계 함수(1810)의 각각의 집계점의 집계 값은 고려되는 집계점과 동일한 인수 값을 갖는 엔벨로프 지점의 엔벨로프 값에 의존하고, 또한 상기 인수 값을 선행하는 복수의 인수 값 각각의 엔벨로프 값에 의존한다. 도 18의 실시 예에서, 4번째 집계점(1814)과 관련하여, 그것의 집계 값은 4번째 엔벨로프 지점(1824)의 엔벨로프 값에 의존하는데, 그 이유는 이러한 엔벨로프 지점이 집계점과 동일한 인수 값을 갖기 때문이며, 또한 엔벨로프 지점들(1821, 1822, 1823)의 엔벨로프 값들에 의존하는데, 그 이유는 이러한 엔벨로프 지점들(1821, 1822, 1823)의 엔벨로프 값들이 엔벨로프 지점(1824)의 인수 값을 선행하기 때문이다.
도 18의 실시 예에서, 각각의 집계점의 집계 값은 상응하는 엔벨로프 지점의 엔벨로프 값과 그것의 선행하는 지점들의 엔벨로프 값들을 더함으로써 결정된다. 따라서, 4번째 집계점의 집계 값은 1 + 2 + 1 + 3 = 7이다(그 이유는 첫 번째 엔벨로프 지점의 엔벨로프 값이 1이고, 2번째 엔벨로프 지점의 엔벨로프 값이 2이고, 3번째 엔벨로프 지점의 엔벨로프 값이 1이고, 4번째 엔벨로프 지점의 엔벨로프 값이 3이기 대문이다). 상응하게, 8번째 집계점의 집계 값은 1 + 2 + 1 + 3 + 1 + 2 + 1 + 2 = 13이다.
집계 함수는 단조적으로 증가한다. 이는 예를 들면, 집계 함수(선행자(predecessor)를 갖는)의 각각의 집계점이 그것의 바로 선행하는 집계점의 집계rkqtqhek 크거나 또는 동일한 집계 값을 갖는 것을 의미한다. 예를 들면, 집계 함수(1810)와 관련하여, 예를 들면 4번째 집계점(1814)의 집계 값은 3번째 집계점의 집계 값보다 크거나 또는 동일하고; 8번째 집계점(1818)의 집계 값은 7번째 집계점의 집계 값보다 크거나 또는 동일하며, 이는 집계 함수의 모든 집계점에 대하여 적용된다.
도 19는 집계 함수, 여기서는 집계 함수(1910)를 위한 또 다른 실시 예를 도시한다. 도 19의 실시 예에서, 각각의 집계점의 집계 값은 상응하는 엔벨로프 지점의 엔벨로프 값의 제곱 및 그것의 선행하는 엔벨로프 지점들의 엔벨로프 값들의 제곱들을 더함으로써 결정된다. 따라서, 예를 들면, 4번째 집계점(1914)의 집계 값을 획득하기 위하여, 상응하는 엔벨로프 지점(1924)의 엔벨로프 값의 제곱, 및 그것의 선행하는 엔벨로프 지점들(1921, 1922 및 1923)의 엔벨로프 값들의 제곱들이 합해지고, 이는 22 + 12 + 22 + 12 = 10이다. 따라서 도 19에서 4번째 집계점(1914)의 집계 값은 10이다. 도 19에서, 도면부호 1931, 1933, 1935 및 1936은 각각, 각각의 엔벨로프 지점들의 엔벨로프 값들의 제곱들을 나타낸다.
또한 도 18 및 19에서 알 수 있는 것은 집계 함수들이 분할 지점들을 결정하기 위한 효율적인 방법을 제공한다는 것이다. 분할 지점들은 예를 들면 코딩 값들을 위한 것이다. 도 18에서, 모든 분할 지점(이는 예를 들면, 총 에너지일 수 있음)의 가장 큰 값은 20이다.
예를 들면, 만일 단지 하나의 분할 지점만이 경정되어야만 하면, 집계점의 그러한 인수 값은 예를 들면, 10(20의 50%와 동일하거나 또는 10에 가까운 분할 지점으로서 선택될 수 있다. 도 18에서, 이러한 인수 값은 6일 수 있고 단일 분할 지점은 예를 들면, 6일 수 있다.
만일 세 개의 분할 지점이 결정되어야만 하면, 집계점들의 인수 값들은 각각, 5, 10, 15(20의 25%, 50% 및 75%)와 동일하거나 또는 이에 가까운 분할 지점들로서 선택될 수 있다. 도 18에서, 이러한 인수 값들은 3 또는 4, 6 및 11일 수 있다. 따라서, 선택된 분할 지점들은 3, 6 및 11일 수 있거나; 혹은 4, 6 및 11일 수 있다. 다른 실시 예들에서, 비-정수 값들이 분할 지점들로서 허용 가능하고 도 18에서, 결정된 분할 지점들은 예를 들면, 3.33, 6 및 11일 수 있다.
따라서, 일부 실시 예들에 따르면, 집계자는 예를 들면, 상기 인수 값의 엔벨로프 값과 상기 인수 값을 선행하는 인수 값들의 엔벨로프 값들을 더함으로써 복수의 인수 값의 각각의 인수 값을 위하여 집계된 값을 결정하도록 구성될 수 있다.
일 실시 예에서, 각각의 인수 값들의 엔벨로프 값은 예를 들면, 신호 엔벨로프로서 오디오 신호 엔벨로프를 갖는 오디오 신호 엔벨로프의 에너지 값을 나타낼 수 있다.
일 실시 예에 따르면, 각각의 인수 값들의 엔벨로프 값은 예를 들면, 신호 엔벨로프로서 오디오 신호 엔벨로프를 갖는 오디오 신호 엔벨로프의 스펙트럼 값의 n번째 파워를 나타낼 수 있고, n은 0보다 큰 짝수 정수이다.
일 실시 예에서, 각각의 인수 값들의 엔벨로프 값은 예를 들면, 시간 도메인 내에 표현되고 신호 엔벨로프로서 오디오 신호 엔벨로프를 갖는, 오디오 신호 엔벨로프의 진폭 값의 n번째 파워를 나타낼 수 있고, n은 0보다 큰 짝수 정수이다.
일 실시 예에 따르면, 인코딩 유닛은 예를 들면, 인수 값들의 하나 이상의 집계 값에 의존하고, 하나 이상의 코딩 값으로서 인코딩 유닛에 의해 얼마나 많은 값들이 결정되는지를 나타내는, 코딩 값들 수에 의존하여 하나 이상의 코딩 값을 결정하도록 구성될 수 있다.
일 실시 예에서, 코딩 유닛은 예를 들면, 다음에 따라 하나 이상의 코딩 값을 결정하도록 구성될 수 있는데,
Figure pct00012
여기서 c(k)는 코딩 유닛에 의해 결정되려는 k번째 코딩 값을 나타내고, j는 복수의 인수 값 중 j번째 인수 값을 나타내며, a(j)는 j번째 인수 값에 할당되는 집계된 값을 나타내며, max(a)는 인수 값들 중 하나에 할당되는 집계된 값들 중 하나인 최대 값을 나타내며, 인수 값들 중 하나에 할당되는 집계된 값들 중 어느 것도 최대 값보다 크지 않으며,
여기서
Figure pct00013
Figure pct00014
이 최소인 인수 값들 중 하나인 최소 값을 나타낸다.
도 16은 일 실시 예에 따라 하나 이상의 코딩 값으로부터 오디오 신호 엔벨로프를 발생시키기 위한 장치를 도시한다.
장치는 하나 이상의 코딩 값을 수신하기 위한 입력 인터페이스(1610), 및 하나 이상의 코딩 값에 의존하여 오디오 신호 엔벨로프를 발생시키기 위한 엔벨로프 발생기(1620)를 포함한다.
엔벨로프 발생기(1620)는 하나 이상의 코딩 값에 의존하여 집계 함수를 발생시키도록 구성되고, 집계 함수는 복수의 집계점을 포함하며, 각각의 집계점들은 인수 값과 집계 값을 포함하며, 집계 함수는 단조적으로 증가한다.
하나 이상의 코딩 값 각각은 집계 함수의 집계점들의 인수 값과 집계 값 중 적어도 하나를 나타낸다. 이는 각각의 코딩 값들이 집계점들 중 하나의 인수 값을 지정하거나 또는 집계점들 중 하나의 집계 값을 지정하거나 또는 집계 함수의 집계점들 중 하나의 인수 값과 집계 값 모두를 지정한다는 것을 의미한다. 바꾸어 말하면, 하나 이상의 코딩 값 각각은 집계 함수의 집계점들 중 하나의 인수 값 및/또는 집계 값을 나타낸다.
게다가, 엔벨로프 발생기(1620)는 오디오 신호 엔벨로프가 복수의 엔벨로프 지점을 포함하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성되고, 각각의 엔벨로프 지점들은 인수 값과 엔벨로프 값을 포함하며, 집계 함수의 각각의 집계점들을 위하여, 오디오 신호 엔벨로프의 엔벨로프 지점들 중 하나는 상기 엔벨로프 지점의 인수 값이 상기 집계점의 인수 값과 동일한 것과 같이 상기 집계점에 할당된다. 게다가, 엔벨로프 발생기(1620)는 오디오 신호 엔벨로프의 각각의 엔벨로프 지점들의 엔벨로프 값이 집계 함수의 적어도 하나의 집계점의 집계 값에 의존하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성된다.
일 실시 예에 따르면, 엔벨로프 발생기(1620)는 예를 들면, 상기 코딩 값에 의존하여 하나 이상의 코딩 값 각각을 위하여 집계점들 중 하나를 결정함으로써, 그리고 하나 이상의 코딩 값 각각의 집계점에 의존하여 집계 함수를 획득하기 위하여 보간을 적용함으로써 집계 함수를 결정하도록 구성될 수 있다.
일 실시 예에 따르면, 입력 인터페이스(1610)는 하나 이상의 코딩 값으로서 하나 이상의 분할 값을 수신하도록 구성될 수 있다. 엔벨로프 발생기(1620)는 하나 이상의 분할 값에 의존하여 집계 함수를 발생시키도록 구성될 수 있고, 하나 이상의 분할 값 각각은 집계 함수의 집계점들 중 하나의 집계 값을 나타낸다. 게다가, 엔벨로프 발생기(1620)는 하나 이상의 분할 지점이 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다. 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분에 의존하여 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다. 게다가, 엔벨로프 발생기(1620)는 두 개 이상의 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분 값들 각각의 신호 엔벨로프 부분 값의 절대 값의 반보다 큰 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
일 실시 예에서, 엔벨로프 발생기(1620)는 예를 들면, 집계 함수의 복수의 집계점에서 집계 함수의 제 1 도함수를 결정하도록 구성될 수 있다.
일 실시 예에 따르면, 엔벨로프 발생기(1620)는 예를 들면, 코딩 값들에 의존하여 집계 함수를 발생시키도록 구성될 수 있고 다라서 집계 함수는 연속적인 제 1 도함수를 갖는다.
다른 실시 예들에서, 선형 예측 모델이 양자화된 엔벨로프들로부터 유도될 수 있다. 파워 스펙트럼(abs(x)2)의 역 푸리에 변환을 취함으로써, 자기상관(autocorrelation)이 획득된다. 이러한 자기상관으로부터, 선형 예측 코딩 모델은 종래의 방법들에 의해 쉽게 계산될 수 있다. 그러한 선형 예측 코딩 모델은 그리고 나서 평활한 엔벨로프를 생성하도록 사용될 수 있다.
일부 실시 예들에 따르면, 평활한 엔벨로프는 블록들을 스플라인(spiline)들 또는 다른 보간 방법들로 모델링함으로써 획득될 수 있다. 보간들은 스펙트럼 질량의 누적 합계를 모델링함으로써 가장 편리하게 수행된다.
도 7은 도 6에서와 동일하나 그것들의 누적 질량들을 갖는 스펙트럼을 도시한다. 라인(710)은 원래 신호 엔벨로프의 누적 질량 라인을 도시한다. 지점들((a)에서의 721, (b)에서의 751, 752, 753, 및 (c)에서의 781, 782, 783, 784)은 분할 지점들이 위치되어야만 하는 지점을 나타낸다.
(a)에서 y-축 상의 지점들(738, 721 및 729) 사이의 단계 크기는 일정하다. 유사하게, (b)에서 y-축 상의 지점들(768, 751, 752, 753 및 759) 사이의 단계 크기는 일정하다. 유사하게, (c)에서 y-축 상의 지점들(798, 781, 782, 783, 784 및 789) 사이의 단계 크기는 일정하다. 지점들(729 및 739) 사이의 파선은 총 값을 나타낸다.
(a)에서, 지점(721)은 x-축 상의 분할 지점(731)의 위치를 나타낸다. (b)에서, 지점들(751, 752 및 753)은 각각, x-축 상의 분할 지점들(761,762 및 763)의 위치를 나타낸다. 유사하게, (c)에서, 지점들(781, 782, 783 및 784)은 각각, x-축 상의 분할 지점들(791,792, 793 및 7943)의 위치를 나타낸다. 지점들(729 및 739), 지점들(759 및 769), 및 지점들(789 및 799) 사이의 파선들은 각각, 총 값을 나타낸다.
각각, 분할 지점들(731; 761; 762; 763; 791; 792; 793 및 794)의 위치를 나타내는, 지점들(721; 751; 752; 753; 781; 782; 783 및 784)는 항상 원래 신호 엔벨로프의 누적 질량 라인 상에 존재하고, y-축 상의 단계 크기들은 일정하다는 것에 유의하여야 한다.
이러한 도메인에서, 누적 스펙트럼 질량은 어떠한 종래의 보간 알고리즘에 의해 보간될 수 있다.
원래 도메인 내의 연속적인 표현을 획득하기 위하여, 누적 도메인은 반드시 연속적인 제 1 도함수를 가져야만 한다. 예를 들면, 보간은 k번째 블록과 같은, 스플라인들을 사용하여 수행될 수 있고, 스플라인의 종점(end-point)들은 kE/N 및 (k+1)E/N이고, 여기서 E는 스펙트럼의 총 질량이다. 게다가, 원래 도메인 내의 연속적인 엔벨로프를 획득하기 위하여 종점들에서 스플린들의 도함수가 지정될 수 있다.
한 가지 가능성은 다음과 같이 분할 지점(k)을 위한 도함수(tilt)를 지정하는 것인데,
Figure pct00015
여기서 c(k)는 분할 지점(k)에서의 누적 에너지이고 f(k)는 분할 지점(k)의 주파수이다.
더 일반적으로, 지점들(k-1, k, k+1)은 어떠한 종류의 코딩 값들일 수 있다.
일 실시 예에 따르면, 엔벨로프 발생기(1620)는 제 1 차이 및 제 2 차이의 비율을 결정함으로써 오디오 신호 엔벨로프를 결정하도록 구성된다. 상기 제 1 차이는 집계 함수의 집계점들의 첫 번째 하나의 제 1 집계 값(c(k+1) 및 집계 함수의 집계점들의 두 번째 하나의 제 2 집계 값(c(k-1) 또는 c(k)) 사이의 차이이다. 상기 제 2 차이는 집계 함수의 집계점들의 상기 첫 번째 하나의 제 1 인수 값(f(k+1)) 및 집계 함수의 집계점들의 상기 두 번째 하나의 제 2 인수 값(f(k-1) 또는 f(k)) 사이의 차이이다.
특정 실시 예에서, 엔벨로프 발생기(1620)는 다음을 적용함으로써 오디오 신호 엔벨로프를 발생시키도록 구성되는데,
Figure pct00016
여기서, tilt(k)는 k번째 코딩 값에서의 집계 함수의 도함수를 나타내고, c(k+1)은 상기 제 1 집계 값이며, f(k+1)은 상기 제 1 인수 값이며, c(k-1)은 상기 제 2 집계 값이며, f(k-1)은 상기 제 2 인수 값이며, k는 하나 이상의 코딩 값 중 하나의 지수를 나타내는 정수이며, c(k+1)-c(k-1)은 두 집계된 값(c(k+1) 및 c(k-1))의 제 1 차이이며, f(k+1)-f(k-1)은 두 인수 값(f(k+1) 및 f(k-1))의 제 2 차이이다.
예를 들면, c(k+1)은 k+1번째 코딩 값에 할당되는 상기 제 1 집계 값이다. f(k+1)은 k+1번째 코딩 값에 할당되는 상기 제 1 인수 값이다. c(k-1)은 k-1번째 코딩 값에 할당되는 상기 제 2 집계 값이다. f(k-1)은 k-1번째 코딩 값에 할당되는 상기 제 2 인수 값이다.
또 다른 실시 예에서, 엔벨로프 발생기(1620)는 다음을 적용함으로써 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있는데,
Figure pct00017
여기서 tilt(k)는 k번째 코딩 값에서의 집계 함수의 도함수를 나타내고, c(k+1)은 상기 제 1 집계 값이며, f(k+1)은 상기 제 1 인수 값이며, c(k)는 상기 제 2 집계 값이며, f(k)는 상기 제 2 인수 값이며, c(k-1)은 집계 함수의 집계점들 중 상기 세 번째 하나의 제 3 집계 값이며, f(k-1)은 집계 함수의 집계점들 중 상기 세 번째 하나의 제 3 인수 값이며, k는 하나 이상의 코딩 값 중 하나의 지수를 나타내는 정수이며, c(k+1)-c(k)는 두 집계된 값(c(k+1) 및 c(k))의 제 1 차이이며, f(k+1)-f(k)는 두 인수 값(f(k+1) 및 f(k))의 제 2 차이이다.
예를 들면, c(k+1)은 k+1번째 코딩 값에 할당되는 상기 제 1 집계 값이다. f(k+1)은 k+1번째 코딩 값에 할당되는 상기 제 1 인수 값이다. c(k)는 k번째 코딩 값에 할당되는 상기 제 2 집계 값이다. f(k)는 k번째 코딩 값에 할당되는 상기 제 2 인수 값이다. c(k-1)은 k-1번째 코딩 값에 할당되는 상기 제 3 집계 값이다. f(k-1)은 k-1번째 코딩 값에 할당되는 상기 제 3 인수 값이다.
집계 값이 k번째 코딩 값에 할당되는 것을 지정함으로써, 이는 예를 들면, k번째 코딩 값이 상기 집계 값을 나타내거나, 및/또는 k번째 코딩 값이 상기 집계 값이 속한 집계점의 인수 값을 나타내는 것을 의미한다.
인수 값이 k번째 코딩 값에 할당되는 것을 지정함으로써, 이는 예를 들면, k번째 코딩 값이 상기 인수 값을 나타내거나, 및/또는 k번째 코딩 값이 상기 집계 값이 속한 집계점의 집계 값을 나타내는 것을 의미한다.
특정 실시 예들에서, 코딩 값들(k-1, kk+1)은 예를 들면, 위에 설명된 것과 같은, 분할 지점들이다.
예를 들면, 일 실시 예에서, 도 1의 신호 엔벨로프 재구성기(110)는 예를 들면, 하나 이상의 분할 지점에 의존하여 집계 함수를 발생시키도록 구성될 수 있고, 집계 함수는 복수의 집계점을 포함하며, 각각의 집계점들은 인수 값과 집계 값을 포함하며, 집계 함수는 단조적으로 증가하며, 하나 이상의 분할 지점 각각은 집계 함수의 집계점들 중 하나의 인수 값과 집계 값 중 적어도 하나를 나타낸다.
그러한 실시 예에서, 신호 엔벨로프 재구성기(110)는 예를 들면, 오디오 신호 엔벨로프가 복수의 엔벨로프 지점을 포함하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있고, 각각의 엔벨로프 지점들은 인수 값과 엔벨로프 값을 포함하며, 오디오 신호 엔벨로프의 엔벨로프 지점은 상기 엔벨로프 지점의 인수 값이 상기 집계점의 인수 값과 동일한 것과 같이 집계 함수의 각각의 집계점들에 할당된다.
게다가, 그러한 실시 예에서, 신호 엔벨로프 재구성기(110)는 예를 들면, 오디오 신호 엔벨로프의 각각의 엔벨로프 지점들의 엔벨로프 값이 집계 함수의 적어도 하나의 집계점의 집계 값에 의존하는 것과 같이 오디오 신호 엔벨로프를 발생시키도록 구성될 수 있다.
특정 실시 예에서, 신호 엔벨로프 재구성기(110)는 예를 들면, 제 1 차이와 제 2 차이의 비율을 결정함으로써 오디오 신호 엔벨로프를 결정하도록 구성될 수 있고, 상기 제 1 차이는 집계 함수의 집계점들 중 첫 번째 하나의 제 1 집계 값(c(k+1) 및 집계 함수의 집계점들 중 두 번째 하나의 제 2 집계 값(c(k-1); c(k)) 사이의 차이이고, 상기 제 2 차이는 집계 함수의 집계점들 중 상기 첫 번째 하나의 제 1 인수 값(f(k+1) 및 집계 함수의 집계점들 중 상기 두 번째 하나의 제 2 인수 값(f(k-1); f(k)) 사이의 차이이다. 이러한 목적을 위하여, 신호 엔벨로프 재구성기(110)는 엔벨로프 발생기(1620)를 위하여 설명된 것과 같이 위에 설명된 개념들 중 하나를 구현하도록 구성될 수 있다.
가장 왼쪽 및 오른쪽 모서리는 위의 방정식을 사용할 수 없는데 그 이유는 c(k) 및 f(k)가 정의의 범위 외부에서 이용 가능하지 않기 때문이다. 그러한 c(k) 및 f(k)는 다음과 같이, 종점들에서의 값들에 의해 대체된다:
Figure pct00018
그리고
Figure pct00019
4개의 제한(constraint, 두 종점 모두에서의 누적 질량 및 틸트(경사, tilt))이 존재하기 때문에, 상응하는 스플라인은 4차 다항식으로 선택될 수 있다.
도 8은 (a) 원래 질량 도메인 및 (b) 누적 질량 도메인에서의 보간된 스펙트럼 질량의 일례를 도시한다.
(a)에서, 원래 신호 엔벨로프가 810으로 표시되고 보간된 스펙트럼 질량 엔벨로프가 820으로 표시된다. 분할 지점들은 각각 831, 832, 833 및 834로 표시된다. 838은 신호 엔벨로프의 시작을 나타내고 839는 신호 엔벨로프의 끝을 나타낸다.
(b)에서, 840은 누적된 원래 신호 엔벨로프를 나타내고, 850은 누적된 스펙트럼 질량 엔벨로프를 나타낸다. 분할 지점들은 각각 861, 862, 863, 및 864로 표시된다. 분할 지점들의 위치는 각각, 누적된 원래 신호 엔벨로프(840) 상에 851, 852, 853 및 854로 표시된다. 868은 원래 신호 엔벨로프의 시작을 나타내고 869는 x-축 상의 원래 신호 엔벨로프의 끝을 나타낸다. 869와 859 사이의 라인은 총 값을 나타낸다.
실시 예들은 블록들을 분리하는 주파수들의 코딩을 위한 개념들을 제공한다. 주파수들은 스칼라들(f x )의 순서 리스트를 표현하는데, 즉 f k f k +1 이다. 만일 K+1 블록들이 존재하면, K 분할 지점들이 존재한다.
또한, 만일 N 양자화 레벨들이 존재하면,
Figure pct00020
가능한 양자화들이 존재한다. 예를 들면, 32 양자화 레벨 및 5개의 분할 지점으로, 18비트로 인코딩될 수 있는 201376의 가능한 양자화들이 존재한다.
MPEG USAC[5]에사의 트랜지언트 스티어링 역상관기(과도 스티어링 역상관기transient steering decorrelator, TSD) 툴이 0 내지 N-1의 범위를 갖는 K 위치들을 인코딩하는데 유사한 문제를 갖는다는 것에 주목하여야 하는데, 이에 의해 현재 문제점의 주파수들을 인코딩하기 위하여 동일하거나 또는 유사한 계산 기술이 사용될 수 있다. 이러한 코딩 알고리즘의 혜택은 일정한 비트 소비를 갖는다는 것이다.
대안으로서, 정확도를 더 향상시키거나 또는 비트-레이트를 감소시키기 위하여, 선 스펙트럼 주파수의 양자화를 위하여 사용되는 것과 같은, 종래의 벡터 양자화 기술들이 사용될 수 있다. 그러한 접근법으로 더 많은 수의 양자화 레벨이 획득될 수 있고 평균 왜곡과 관련하여 양자화가 최적화될 수 있다. 단점은 코드북들이 예를 들면, 저장되어야만 한다는 것이며, 반면에 트랜지언트 스티어링 역상관기 접근법은 콘스텔레이션(enumeration)의 대수 계산을 사용한다.
아래에, 실시 예들에 따른 알고리즘들이 설명된다.
우선, 일반적인 적용 사례가 고려된다.
특히, 다음은 스펙트럼 대역 복제(spectral band replication, SBR) 유사 시나리오에서 스펙트럼 엔벨로프의 코딩을 위하여 제안된 분포 양자화 방법의 실제 적용을 설명한다.
일부 실시 예들에 따르면, 인코더는 다음을 위하여 구성된다:
- 원래 오디오 신호로부터 고주파수 대역의 스펙트럼 진폭 또는 에너지 값들의 계산, 및/또는
- 스펙트럼 엔벨로프를 동일한 블록 질량의 K+1 블록들로 분할하는 K 부대역 지수들의 미리 정의된(또는 임의의 그리고 전송되는) 수의 계산, 및/또는
- 트랜지언트 스티어링 역상관기[5]에서와 동일한 알고리즘을 사용하는 지수들의 코딩, 및/또는
- 총 질량 및 지수의 고주파수 대역(예를 들면, 허프만(Huffman)을 통한) 쓰기(writing)의 총 질량의 비트스트림으로의 양자화 및 코딩.
일부 실시 예들에 따르면, 디코더는 다음을 위하여 구성된다:
- 비트스트림으로부터의 총 질량 및 지수의 판독 및 뒤따르는 디코딩, 및/또는
- 스플라인 보간을 통한 평활한 누적 질량 곡선의 어림셈(approximation), 및/또는
- 스펙트럼 엔벨로프를 재구성하기 위한 누적 질량 곡선의 1차 도함수.
일부 실시 예들은 또 다른 선택적인 추가사항을 포함한다.
예를 들면, 일부 실시 예들은 래핑(wrapping) 능력들을 제공한다. 가능한 양자화 레벨들의 수의 감소는 분할 지점들의 코딩에 필요한 비트들의 감소에 이르게 하고 부가적으로 계산 복잡도를 낮춘다. 이러한 효과는 예를 들면 음향 심리학적 특성의 도움으로 스펙트럼 엔벨로프르 래핑함으로써 또는 분포 양자화를 적용하기 전에 단순하게 인코더 내의 인접한 주파수 대역들을 요약함으로써 이용될 수 있다. 디코더 측 상에서 분할 지점 지수들 및 총 질량으로부터 스펙트럼 엔벨로프의 재구성 이후에, 엔벨로프는 반드시 역 특성에 의해 역래핑되어야만 한다.
일부 또 다른 실시 예들은 적응적 엔벨로프 전환(adaptive envelope conversion)을 제공한다. 이전에 설명된 것과 같이, 스펙트럼 엔벨로프의 에너지들(즉, 신호(x)의 abs(x)2)에 대한 분포 양자화를 적용할 필요가 없으나, 모든 다른(양, 실제 값의) 표현이 실현 가능하다(예를 들면, abs(x), sqrt(abs(x)) 등). 다양한 엔벨로프 특성들의 서로 다른 형상 맞춤 특성들을 이용할 수 있도록 하기 위하여, 적응적 전환 기술을 사용하는 것이 합리적이다. 따라서, 현재 엔벨로프를 위한 최상의 매칭 전환(고정된, 미리 정의된 세트의)이 분포 양자화가 적용되기 전에, 사전 처리 단계로서 실행된다. 사용된 전환은 디코더 측 상에서의 정확한 재전환을 가능하도록 하기 위하여, 반드시 비트스트림을 통하여 시스널링되고 전송되어야만 한다.
또 다른 실시 예들은 블록들의 적응적 수를 지원하도록 구성된다. 제안된 모델의 훨씬 높은 유연성을 획득하기 위하여, 각각의 스펙트럼 엔벨로프를 위하여 서로 다른 수의 블록들 사이에서 스위칭할 수 있는 것이 유익하다. 현재 선택된 블록들의 수는 시그널링을 위한 비트 요구를 최소화하기 위하여 미리 정의된 세트이거나 또는 높은 유연성을 허용하기 위하여 분명하게 전송될 수 있다. 한편으로는, 이는 전체 비트레이트를 감소시키는데, 그 이유는 안정적인 엔벨로프 형상들을 위하여 높은 적응성이 필요하지 않기 때문이다. 다른 한편으로, 더 적은 수들의 블록들은 더 큰 블록 질량들에 이르게 하고, 이는 가파른 경사들을 갖는 강력한 단일 피크들의 더 정밀한 맞춤을 허용한다.
일부 실시 예들은 엔벨로프 안정화를 제공하도록 구성된다. 예를 들면, 스케일-인자 기반 접근법과 비교하여 제안된 분포 양자화 모델의 높은 유연성에 기인하여, 시간적 인접한 엔벨로프들 사이의 변동이 원치 않는 불안정성들에 이르게 할 수 있다. 이러한 영향에 대응하기 위하여, 신호 적응적 엔벨로프 안정화 기술이 후처리 단계로서 적용된다. 극히 적은 변동들만이 예상되는, 안정적인 신호 부분들을 위하여, 엔벨로프는 시간적으로 이웃하는 엔벨로프 값들의 평활화에 의해 안정화된다. 예를 들면 트랜지언트(transient)들 또는 치찰음(sibilant)/마찰음 온셋/오프셋 같은, 강력한 시간적 변화들을 자연적으로 포함하는 신호 부분들을 위하여, 어떠한 평활화도 적용되지 않거나 또는 약한 평활화가 적용된다.
아래에, 일 실시 예에 따라 엔벨로프 분포 양자화 및 코딩을 실현하는 알고리즘이 설명된다.
스펙트럼 대역 복제(SBR) 유사 시나리오에서 스펙트럼 엔벨로프의 코딩을 위하여 제안된 분포 양자화 방법의 실용적 실현이 설명된다. 아래의 알고리즘의 설명은 예를 들면, 하나의 특정 엔벨로프를 처리하도록 수행될 수 있는 인코더 및 디코더 측 단계들을 언급한다.
아래에, 상응하는 인코더가 설명된다.
엔벨로프 결정 및 사전 처리는 예를 들면, 다음과 같이 수행될 수 있다:
- 스펙트럼 에너지 표적 엔벨로프 곡선(예를 들면, 20개의 서브-대역 샘플들에 의해 표현되는) 및 그것의 상응하는 총 에너지의 결정.
- 값들의 총 수를 감소시키기 위하여 서브 대역 값들의 쌍 방식 평균화에 의한 엔벨로프 워핑(warping)의 적용(예를 들면, 상부 8개의 서브 대역 값들의 평균화 및 따라서 20부터 16으로의 총 수를 감소시킴).
- 엔벨로프 모델 성능 및 지각적 품질 표준 사이의 더 나은 부합을 위한 엔벨로프 크기 전환의 적용(예를 들면, 모든 서브 대역 값을 위한 4차 루트의 추출,
Figure pct00021
분포 양자화 및 코딩은 예를 들면, 다음과 같이 수행될 수 있다:
- 동일한 질량의 미리 정의된 수의 블록들 내의 엔벨로프를 분할하는 서브 대역 지수들의 다중 결정(예를 들면, 엔벨로프를 3, 4, 6, & 8개의 블록으로 분할하기 위한 결정의 4번의 반복).
- 분포 양자화된 엔벨로프들의 완전한 재구성('합성에 의한 분석(analysis by synthesis)' 접근법, 아래 참조)
- 엔벨로프의 가장 정확한 기술을 야기하는 블록들의 수에 대한 결정 & 판정(예를 들면, 분포 양자화된 엔벨로프들 및 원래의 교차 상관들의 비교에 의해).
- 원래 및 분포 양자화된 엔벨로프의 비교에 의한 라우드니스(loudness) 보정 및 이에 따른 총 에너지의 적응.
- 트랜지언트 스티어링 역상관기에서와 동일한 알고리즘을 사용하여 분할된 지수들의 코딩([5] 참조).
- 분포 양자화를 위하여 사용된 블록들의 수의 시그널링(예를 들면, 4개의 미리 정의된 수의 블록, 2 비트를 통한 시그널링).
- 총 에너지의 양자화 & 코딩(예를 들면, 허프만 코딩을 사용하여).
이제, 상응하는 디코더가 설명된다.
디코딩 및 역 양자화는 예를 들면, 다음과 같이 수행될 수 있다:
- 총 에너지의 분포 양자화 및 디코딩을 위하여 사용되려는 블록들의 수의 디코딩.
- 트랜지언트 스티어링 역상관기에서와 동일한 알고리즘을 사용하여 분할된 지수들의 디코딩([5] 참조).
- 스플라인 보간을 통한 평활 누적 질량 곡선의 근사치
- 누적 도메인으로부터 1차 도함수를 통한 스펙트럼 엔벨로프의 재구성(예를 들면, 연속적인 샘플들의 차이를 취함으로써).
후처리는 예를 들면, 다음과 같이 수행될 수 있다:
- 양자화 오차들에 의해 야기되는 뒤따르는 엔벨로프들 사이의 변동들에 대응하기 위한 변동들에 대응하기 위한 엔벨로프 안정화의 적용(예를 들면, 재구성된 서브 대역 값들의 시간적 평활을 통하여, x curr,k = (1 - α)·x curr,k + α·x curr,k , 트랜지언트 신호 부분들을 포함하는 프레임들을 위하여 α=0.1이고 그렇지 않으면 α=0.25).
- 인코더에서의 적용에 따른 엔벨로프 전환의 가역.
- 인코더에서의 적용에 따른 엔벨로프 워핑의 가역.
아래에서, 분할 지점들의 효율적인 인코딩 및 디코딩이 설명된다. 도 4 및 도 5의 분할 지점 인코더(225)는 예를 들면, 아래에 설명되는 것과 같이 효율적인 인코딩을 구현하도록 구성될 수 있다. 도 2의 분할 지점 디코더(105)는 예를 들면, 아래에 설명되는 것과 같이 효율적인 디코딩을 구현하도록 구성될 수 있다.
도 2에 의해 도시된 실시 예에서, 디코딩하기 위한 장치는 하나 이상의 분할 지점을 획득하기 위하여 디코딩 규칙에 따라 하나 이상의 인코딩된 지점을 분할 지점 디코더(105)를 더 포함한다. 분할 지점 디코더(105)는 가능한 분할 지점 위치들의 총 수를 나타내는 총 위치 수, 분할 지점들의 수를 나타내는 분할 지점 수, 및 분할 지점 상태 수를 분석하도록 구성된다. 게다가, 분할 지점 디코더(105)는 총 위치 수, 분할 지점 수 및 분할 지점 상태 수를 사용하여 분할 지점들의 하나 이상의 위치의 표시를 발생시키도록 구성된다. 특정 실시 예에서, 분할 지점 디코더(105)는 예를 들면, 총 위치 수, 분할 지점 수 및 분할 지점 상태 수를 사용하여 분할 지점들의 두 개 이상의 위치의 표시를 발생시키도록 구성될 수 있다.
도 5 및 도 5에 의해 도시된 실시 예에서, 장치는 하나 이상의 인코딩된 지점을 획득하기 위하여 하나 이상의 분할 지점 각각의 위치를 인코딩하기 위한 분할 지점 인코더(225)를 더 포함한다. 분할 지점 인코더(225)는 분할 지점 상태 수를 인코딩함으로써 하나 이상의 분할 지점 각각의 위치를 인코딩하도록 구성된다. 게다가, 분할 지점 인코더(225)는 가능한 분할 지점 위치들의 총 수를 나타내는 총 위치 수, 및 하나 이상의 분할 지점의 수를 나타내는 분할 지점 수를 제공하도록 구성된다. 분할 지점 상태 수, 총 위치 수 및 분할 지점 수는 하나 이상의 분할 지점 각각의 위치를 함께 나타낸다.
도 15는 일 실시 예에 따라 오디오 신호를 재구성하기 위한 장치를 도시한다. 장치는 오디오 신호의 재구성된 오디오 신호 엔벨로프를 획득하기 위하여 위에 설명된 실시 예들 중 하나에 따라, 또는 아래에 설명되는 실시 예들에 따라 디코딩하기 위한 장치(1510), 및 오디오 신호의 오디오 신호 엔벨로프에 의존하고 오디오 신호의 또 다른 신호 특성에 의존하여 오디오 신호를 발생시키기 위한 신호 발생기(1520)를 포함하고, 또 다른 신호 특성은 오디오 신호 엔벨로프와 다르다. 위에 설명된 것과 같이, 통상의 지식을 가진 자들은 오디오 신호의 신호 엔벨로프로부터 그리고 오디오 신호의 또 다른 신호 특성으로부터, 오디오 신호가 자체로 재구성될 수 있다는 것을 이해할 것이다. 예를 들면, 신호 엔벨로프는 오디오 신호의 샘플들의 에너지를 나타낼 수 있다. 또 다른 신호 특성은 예를 들면, 시간 도메인 오디오 신호의 각각의 샘플을 위하여, 샘플이 양의 값 또는 음의 값을 갖는지를 나타낼 수 있다.
일부 특정 실시 예들은 가능한 분할 지점 위치들의 총 수를 나타내는 총 위치 수 및 분할 지점들의 총 수를 나타내는 분할 지점 수가 본 발명의 디코딩 장치에서 이용 가능할 수 있다는 사실을 기초로 한다. 예를 들면, 인코더는 총 위치 수 및/또는 분할 지점 수를 디코딩을 위한 장치에 전송할 수 있다.
이러한 추정들을 기초로 하여, 일부 실시 예들은 다음의 개념들을 구현한다:
N을 가능한 분할 지점 위치들의 (총) 수라고 하고, P를 분할 지점들의 (총) 수라 한다.
인코딩을 위한 장치뿐만 아니라 디코딩을 위한 장치 모두 N 및 P의 값들을 인지하는 것으로 추정한다.
N 및 P를 인지함으로써, 가능한 분할 지점 위치들의
Figure pct00022
서로 다른 조합들만이 존재한다는 사실이 유도될 수 있다.
예를 들면, 만일 가능한 분할 지점 위치들의 위치들이 0부터 N-1까지 숫자가 붙여지고 만일 P=8이면, 이벤트들을 갖는 분할 지점 위치들의 가능한 제 1 조합은 90, 1, 2, 3, 4, 5, 6, 7)일 수 있고, 제 2 조합은 90, 1, 2, 3, 4, 5, 6, 8)일 수 있으며, 이는 조합(N-8, N-7, N-6, N-5, N-4, N-3, N-2, N-1)까지일 수 있으며, 따라서 통틀어
Figure pct00023
서로 다른 조합들이 존재한다.
인코딩을 위한 장치에 의해 분할 지점 상태 수가 인코딩될 수 있고 분할 지점 상태 수가 디코더에 전송된다는 또 다른 발견이 이용된다. 만일 각각의 가능한
Figure pct00024
조합들이 독특한 분할 지점 상태 수에 의해 표현되고 만일 디코딩을 위한 장치가 분할 지점 상태 수가 어떠한 조합의 분할 지점 위치들을 표현하는지를 인지하면, 디코딩을 위한 장치는 N, P 및 분할 지점 상태 수를 사용하여 분할 지점들의 위치들을 디코딩할 수 있다. N과 P를 위한 많은 일반적인 값들을 위하여, 그러한 코딩 기술은 다른 개념들과 비교하여 이벤트들의 분할 지점 위치들을 인코딩하는데 더 적은 비트들을 사용한다.
달리 설명하면, 분할 지점 위치들의 인코딩의 문제점은 위치들이 가능한 한 적은 비트로, k≠h를 위하여, pk≠ph를 오버래핑하지 않는 것과 같이 [0,..., N-1]의 범위 상의, 위치들(p)의 이산 수(P)를 인코딩함으로써 해결될 수 있는데, 위치들의 순서가 문제되지 않기 때문에, 위치들의 독특한 조합들의 수는 2항 계수(binominal coefficient)
Figure pct00025
라는 사실을 따른다. 필요한 비트들의 수는 따라서 다음과 같다:
Figure pct00026
일부 실시 예들은 위치 디코딩 개념, 포지션-바이-포지션(위치별, position by position) 디코딩 개념에 의한 위치를 사용한다. 이러한 개념은 다음의 사실을 기초로 한다: N이 가능한 분할 지점 위치들의 (총) 수이고 P가 분할 지점들의 수로 가정한다(이는 N이 총 위치 수(FSN)일 수 있고 P가 분할 지점 수(ESON)일 수 있다는 것을 의미한다). 가능한 제 1 분할 지점 위치가 고려된다. 두 가지 경우가 구별될 수 있다:
만일 가능한 분할 지점 위치가 분할 지점을 포함하지 않는 위치이면, 나머지 가능한 N-1 분할 지점 위치들과 관련하여, 나머지 가능한 N-1 분할 지점 위치들과 관련하여 P 분할 지점들의
Figure pct00027
서로 다른 가능한 조합들만이 존재한다.
그러나, 만일 가능한 분할 지점 위치가 분할 지점을 포함하는 위치이면, 나머지 가능한 N-1 분할 지점 위치들과 관련하여, 나머지 가능한 N-1 분할 지점 위치들과 관련하여 나머지 가능한 P-1 분할 지점들의
Figure pct00028
서로 다른 가능한 조합들만이 존재한다.
이러한 발견을 기초로 하여, 실시 예들은 또한 어떠한 분할 지점도 위치되지 않는 가능한 제 1 분할 지점 위치를 갖는 모든 조합이 한계 값보다 작거나 또는 동일한 분할 지점 상태 수에 의해 인코딩되어야만 한다는 사실을 기초로 한다. 게다가, 분할 지점이 위치되지 않는 가능한 제 1 분할 지점 위치를 갖는 모든 조합은 한계 값보다 큰 분할 지점 상태 수에 의해 인코딩되어야만 한다. 일 실시 예에서, 모든 분할 지점 상태 수는 양의 정수이거나 또는 0일 수 있고 가능한 제 1 분할 지점 위치에 관련하여 적절한 한계 값은
Figure pct00029
일 수 있다.
일 실시 예에서, 분할 지점 상태 수가 한계 값보다 큰지를 검사함으로써 프레임의 가능한 제 1 분할 지점 위치가 분할 지점을 포함하는지가 결정된다(대안으로서, 실시 예들의 인코딩/디코딩 과정은 또한 분할 지점 상태 수가 한계 값보다 크거나 또는 동일한자, 혹은 한계 값보다 작거나 또는 동일한지, 혹은 한계 값보다 작은지를 검사함으로써 실현될 수 있다).
가능한 제 1 분할 지점 위치의 분석 이후에, 디코딩은 조정된 값들을 사용하여 가능한 제 2 분할 지점 위치를 위하여 계속된다: 고려되는 분할 지점 위치들의 수의 조정(1이 감소되는) 이외에, 분할 지점 수는 또한 1이 감소되고 분할 지점 상태 수로부터 가능한 제 1 분할 지점 위치에 대하여 일부분을 삭제하기 위하여 분할 지점 상태 수가 한계 값보다 컸던 경우에, 분할 지점 상태 수는 조정된다.
일 실시 예에서, [0,..., N-1]의 범위 상의 위치들(pk)의 이산 수(P)는 위치들이 k≠h를 위하여, pk≠ph를 오버래핑하지 않는것과 같이 인코딩된다. 따라서 주어진 범위 상의 각각의 독특한 위치들의 조합은 상태(state)로 불리고 그러한 범위 내의 각각의 가능한 위치는 가능한 분할 지점 위치(pspp)로 불린다. 디코딩을 위한 장치의 일 실시 예에 따르면, 범위 내의 가능한 제 1 분할 지점 위치가 고려된다. 만일 가능한 분할 지점 위치가 분할 지점을 갖지 않으면, 범위는 N-1로 감소되고, 가능한 상태들의 수는
Figure pct00030
로 감소된다. 반대로, 만일 상태가
Figure pct00031
보다 크면, 가능한 제 1 분할 지점 위치에서, 분할 지점이 위치되는 것으로 결론지을 수 있다. 다음의 디코딩 알로리즘이 이로부터 야기할 수 있다:
Figure pct00032
각각의 반복 상의 2항 계수의 계산은 비용이 많이 들 수 있다. 따라서, 실시 예들에 따르면, 이전 반복으로부터의 값을 사용하여 2항 계수를 업데이트하기 위하여 다음의 규칙이 사용될 수 있다.
Figure pct00033
이러한 공식들을 사용하여, 2항 계수의 각각의 업데이트는 하나의 곱셈 및 하나의 나눗셈만이 들며, 반면에 분명한 평가는 각각의 반복 상에 P 곱셈들과 나눗셈들이 든다.
이러한 실시 예에서, 디코더의 총 복잡도는 2항 계수의 초기화를 위하여 P 곱셈들과 나눗셈들, 각각의 반복을 위하여 1 곱셈, 나눗셈 및 조건문(if-statement), 그리고 각각의 코딩된 위치를 위하여 1 곱셈, 덧셈 및 나눗셈이다. 이론적으로, 초기화를 위하여 필요한 나눗셈들의 수를 1로 감소시키는 것이 가능할 수 있다는 것에 유의하여야 한다. 그러나, 실제로, 이러한 접근법은 매우 큰 정수들을 야기할 수 있고, 이는 처리하기가 어렵다, 디코더의 최악의 경우의 복잡도는 그때 N+2P 나눗셈과 N+2P 곱셈, P 덧셈(만일 MAC-운영들이 사용되면 무시될 수 있다), 및 N 조건문이다.
일 실시 예에서, 인코딩을 위한 장치에 사용되는 인코딩 알고리즘은 모든 가능한 분할 지점 위치를 통하여 반복할 필요가 없고, 그것들에 할당되는 위치를 갖는 것들만을 반복한다. 따라서, 다음과 같다:
Figure pct00034
인코더의 최악의 경우의 복잡도는 P·(P-1) 곱셈들과 P·(P-1) 나눗셈들뿐만 아니라, P-1 덧셈들이다.
도 9는 본 발명의 일 실시 예에 따른 디코딩 과정을 도시한다. 이러한 실시 예에서, 디코딩은 포지션-바이-포지션 기반으로 실행된다.
단계 110에서, 값들이 개시된다. 디코딩을 위한 장치는 입력 값으로서 수신된, 분할 지점 상태 수를 변수( s) 내에 저장한다. 게다가, 분할 지점 수로서 표시되는 것과 같은 분할 지점들의 (총) 수가 변수(p) 내에 저장된다. 게다가 총 위치 수에 의해 표시되는 것과 같이 프레임 내에 포함되는 가능한 분할 지점 위치들의 총 수가 변수(N) 내에 저장된다.
단계 120에서, spSepData[t]의 값이 모든 가능한 분할 지점 위치를 위하여 0으로 초기화된다. 비트 어레이 spSepData는 발생되려는 출력 데이터이다. 이는 각각의 가능한 분할 지점 위치(t)를 위하여, 가능한 분할 지점 위치가 분할 지점을 포함하는지(spSepData[t]=1) 또는 포함하지 않는지(spSepData[t]=0)를 나타낸다. 단계 120에서 모든 가능한 분할 지점 위치의 상응하는 값들은 0으로 초기화된다.
단계 130에서 변수(k)가 N-1로 초기화된다. 이러한 실시 예에서, N 가능한 분할 지점 위치들이 0, 1, 2, ..., N-1로 숫자가 붙여진다. k = N-1의 설정은 가장 높은 수를 갖는 가능한 분할 지점 위치가 우선 고려된다는 것을 의미한다.
단계 140에서, k≥0인지가 고려된다. 만일 k<0이면, 분할 지점 위치들의 디코딩은 종료되었고 과정은 종료되며, 그렇지 않으면 과정은 단계 150으로 계속된다.
단계 150에서, p>k인지가 검사된다. 만일 p가 k보다 크면, 이는 모든 나머지 가능한 분할 지점 위치가 분할 지점을 포함한다는 것을 의미한다. 과정은 단계 230에서 계속되는데, 나머지 가능한 분할 지점 위치들(0, 1, ..., k)의 모든 spSepData 필드 값은 나머지 가능한 분할 지점 위치들 각각이 분할 지점을 포함하는 것을 나타내는 1로 설정된다. 이러한 경우에, 과정은 그 뒤에 종료된다. 그러나, 만일 단계 150이 p가 k보다 크지 않다는 것을 발견하면, 디코딩 과정은 단계 160으로 계속된다.
단계 160에서, 값(
Figure pct00035
)이 계산된다. c는 한계 값으로서 사용된다.
단계 170에서, 분할 지점 상태 수(s)의 실제 값이 c보다 크거나 또는 동일한지가 검사되는데, c는 단계 160에서 방금 계산된 한계 값이다.
만일 s가 c보다 작으면, 이는 고려된 가능한 분할 지점 위치(분할 지점(k)을 갖는) 분할 지점을 포함하지 않는다는 것을 의미한다. 이러한 경우에, 어떠한 또 다른 행동도 취해져서는 안 되는데, 그 이유는 spSepData[k]가 단계 140에서 이미 이러한 가능한 분할 지점 위치를 위하여 0으로 설정되었기 때문이다. 과정은 그리고 나서 단계 220으로 진행된다. 단계 220에서, k는 k=k-1로 설정되고 그 다음 가능한 분할 지점 위치가 고려된다.
그러나, 만일 단계 170에서의 검사가 s가 c보다 크거나 또는 동일한 것으로 나타나면, 이는 고려된 가능한 분할 지점 위치(k)가 분할 지점을 포함한다는 것을 의미한다. 이러한 경우에, 분할 지점 상태 수(s)는 업데이트되고 단계 180에서 값(s:= s-c)으로 설정된다. 게다가, spSepData[k]는 가능한 분할 지점 위치(k)가 분할 지점을 포함한다는 것을 나타내기 위하여 단계 190에서 1로 설정된다. 게다가, 단계 200에서, p는 p-1로 설정되는데, 이는 검사되려는 나머지 가능한 분할 지점 위치가 이제 분할 지점들을 갖는 p-1 가능한 분할 지점 위치들만을 포함한다는 것을 나타낸다.
단계 210에서, p가 0과 동일한지가 검사된다. 만일 p가 0과 동일하면, 나머지 가능한 분할 지점 위치들은 분할 지점들을 포함하지 않고 디코딩 과정은 종료된다.
그렇지 않으면, 나머지 분할 지점 위치들 중 적어도 하나는 이벤트를 포함하고 과정은 그 다음 가능한 분할 지점 위치(k-1)로 계속되는 단계 220으로 진행한다.
도 9에 도시된 실시 예의 디코딩 과정은 각각의 가능한 분할 지점 위치(k)를 위하여, 가능한 분할 지점 위치가 분할 지점을 포함하는지(spSepData[k]=1) 또는 포함하지 않는지(spSepData[k]=0)를 나타내는 출력 값으로서 어레이(spSepData)를 발생시킨다.
도 10은 일 실시 예에 따라 분할 지점 위치들의 디코딩을 구현하는 슈도 코드를 도시한다.
도 11은 일 실시 예에 따라 분할 지점 위치들을 인코딩하기 위한 인코딩 과정을 도시한다. 이러한 실시 예에서, 인코딩은 포지션-바이-포지션 기반으로 실행된다. 도 11에 도시된 실시 예에 따른 인코딩 과정의 목적은 분할 지점 상태 수를 발생시키는 것이다.
단계 310에서, 값들이 초기화된다. p_s는 0으로 초기화된다. 분할 지점 상태 수는 연속하여 업데이트하는 변수(p_s)에 의해 발생된다. 인코딩 과정이 종료될 때, p_s는 분할 지점 상태 수를 지닐 것이다. 단계 310은 또한 k를 k: = 분할 지점 수 -1로 설정함으로써 변수(k)를 초기화한다.
단계 320에서, 변수 "pos"가 pos=spPos[k]로 설정되는데, spPos는 분할 지점들을 포함하는 가능한 분할 지점 위치들의 위치들을 유지하는 어레이이다.
어레이 내의 분할 지점 위치들은 오름차순으로 저장된다.
단계 330에서, k≥pos인지를 검사하는, 검사가 수행된다. 만일 사실이면, 과정은 종료된다. 그렇지 않으면, 과정은 단계 340으로 진행된다.
단계 340에서, 값(
Figure pct00036
)이 계산된다.
단계 350에서, 변수 p_s가 업데이트되고 p_s:=p_s+c로 설정된다.
단계 360에서, k는 k:=k-1로 설정된다.
그리고 나서, 단계 370에서, k≥0인지를 검사하는, 검사가 수행된다. 이러한 경우에, 그 다음 가능한 분할 지점 위치(k-1)가 고려된다. 그렇지 않으면, 과정은 종료된다.
도 12는 본 발명의 일 실시 예에 따라 분할 지점 위치들의 인코딩을 구현하는, 슈도 코드를 도시한다.
도 13은 일 실시 예에 따른 분할 지점 디코더(410)를 도시한다.
가능한 분할 지점 위치들의 총수를 나타내는, 총 위치 수(FSN), 분할 지점들의 (총) 수를 나타내는 분할 지점 수(ESON), 및 분할 지점 상태 수(ESTN)가 분할 지점 디코더(410) 내로 제공된다. 분할 지점 디코더(410)는 분할자(partitioner, 440)를 포함한다. 분할자(440)는 프레임을 가능한 분할 지점 위치들의 제 1 세트를 포함하는 제 1 파티션 및 가능한 분할 지점 위치들의 제 2 세트를 포함하는 제 2 파티션으로 분할하도록 적응되며, 분할 지점들을 포함하는 가능한 분할 지점 위치들은 각각의 파티션들을 위하여 개별적으로 결정된다. 이에 의해, 작은 파티션에서도 파티션들을 반복적으로 분할함으로써 분할 지점들의 위치들이 결정될 수 있다.
이러한 실시 예의 분할 지점 디코더(410)의 "파티션 기반" 디코딩은 다음의 개념들을 기초로 한다:
파티션 기반 디코딩은 모든 가능한 분할 지점의 세트가 두 개의 파티션(A 및 B)으로 분할되는 개념을 기초로 하는데, 각각의 파티션은 가능한 분할 지점 위치들의 세트를 포함하고, 파티션(A)은 Na 가능한 분할 지점 위치들을 포함하고 파티션(B)은 Nb 가능한 분할 지점 위치들을 포함하며, Na + Nb = N인 것과 같다. 모든 가능한 분할 지점 위치들의 세트는 바람직하게는 파티션(A 및 B)이 거의 동일한 가능한 분할 지점 위치들의 총 수를 갖는 것과 같이(예를 들면, Na = Nb 또는 Na = Nb - 1인 것과 같이), 임의로 두 개의 파티션으로 분할될 수 있다. 모든 가능한 분할 지점 위치들의 세트를 두 개의 파티션으로 분할함으로써, 실제 분할 지점 위치들을 결정하는 작업이 또한 두 개의 하위 작업으로 분할되는데, 즉, 프레임 파티션(A) 내의 실제 분할 지점 위치들을 결정하고 프레임 파티션(B) 내의 실제 분할 지점 위치들을 결정한다.
이러한 실시 예에서, 다시 분할 지점 디코더(105)가 가능한 분할 지점 위치들의 총 수, 분할 지점들의 총 수 및 분할 지점 상태 수를 인지한다는 것이 가정된다. 두 하위 작업 모두를 해결하기 위하여, 분할 지점 디코더(105)는 또한 각각의 파티션의 가능한 분할 지점 위치들의 수, 각각의 파티션 내의 분할 지점들의 수 및 각각의 파티션의 분할 지점 상태 수를 인지하여야만 한다(그러한 파티션의 분할 지점 상태 수는 이제 "분할 지점 하위 상태(substate) 수"로 언급된다).
분할 지점 디코더가 자체로 모든 가능한 분할 지점의 세트를 두 개의 파티션으로 분할하기 때문에, 이는 그 자체로 파티션(A)이 Na 가능한 분할 지점 위치들을 포함하고 파티션(B)이 Nb 가능한 분할 지점 위치들을 포함한다는 것을 인지한다. 두 파티션의 각각의 하나의 실제 분할 지점들의 수의 결정은 다음의 발견들을 기초로 한다:
모든 가능한 분할 지점 위치의 세트가 두 개의 파티션으로 분할되었기 때문에, 각각의 실제 분할 지점 위치들은 이제 파티션(A) 또는 파티션(B)에 위치된다. 게다가, P는 파티션의 분할 지점들의 수이고, N은 파티션의 가능한 분할 지점 위치들의 총 수이며 f(P,N)은 분할 지점 위치들의 서로 다른 조합들의 수를 반환하는 함수라고 가정하면, 가능한 분할 지점 위치들의 전체 세트(파티션(A) 및 파티션(B)으로 분할된)의 분할의 서로 다른 조합들의 수는 다음과 같다:
Figure pct00037
위의 고려사항들을 기초로 하여, 일 실시 예에 따르면 파티션(A)이 0개의 분할 지점을 갖고 파티션(B)이 P 분할 지점을 갖는, 제 1 구성을 갖는 모든 조합은 제 1 한계 값보다 작은 분할 지점 상태 수로 인코딩되어야만 한다. 분할 지점 상태 수는 양의 정수 값 또는 0으로서 인코딩될 수 있다. 제 1 구성을 갖는 f(0,Na)·f(P,Nb) 조합들만이 존재하기 때문에, 적절한 제 1 한계 값은 f(0,Na)·f(P,Nb)일 수 있다.
파티션(A)이 1개의 분할 지점을 갖고 파티션(B)이 P-1 분할 지점을 갖는, 제 2 구성을 갖는 모든 조합은 제 1 한계 값보다 크거나 또는 동일하나, 제 2 한계 값보다 작거나 또는 동일한 분할 지점 상태 수로 인코딩되어야만 한다. 제 2 구성을 갖는 f(1,Na)·f(P-1,Nb) 조합들만이 존재하기 때문에, 적절한 제 2 값은 f(0,Na) ·f(P,Nb) + f(1,Na)·f(P-1,Nb)일 수 있다. 다른 구성들을 갖는 조합들을 위한 분할 지점 상태 수도 유사하게 결정된다.
일 실시 예에 따르면, 디코딩은 모든 가능한 분할 지점 위치를 두 개의 파티션(A 및 B)으로 분리함으로써 실행된다. 그때, 분할 지점 상태 수가 제 1 한계 값보다 작은지가 검사된다. 바람직한 실시 예에서, 제 1 한계 값은 f(0,Na)·f(P,Nb)일 수 있다.
만일 분할 지점 상태 수가 제 1 한계 값보다 작으면, 이는 파티션(A)이 0개의 분할 지점을 포함하고 파티션(B)이 모든 P 분할 지점을 포함하는 것으로 결론지을 수 있다. 그리고 나서 각각 상응하는 파티션의 분할 지점들의 수를 표현하는 결정된 수를 갖는 파티션 모두를 위하여 디코딩이 수행된다. 게다가 제 1 분할 지점 상태 수는 파티션(A)을 위하여 결정되고 제 2 분할 지점 상태 수는 각각 새로운 분할 지점 상태 수로서 사용되는 파티션(B)을 위하여 결정된다. 이러한 문서 내에서, 파티션의 분할 지점 상태 수는 "분할 지점 하위 상태 수"로 언급된다.
그러나, 만일 분할 지점 상태 수가 제 1 한계 값보다 크거나 또는 동일하면, 분할 지점 상태 수는 업데이트될 수 있다. 바람직한 실시 예에서, 분할 지점 상태 수는 분할 지점 상태 수에서 값을 뺌으로써, 바람직하게는 제 1 한계 값, 예를 들면 f(0,Na)·f(P,Nb)를 감산함으로써 업데이트될 수 있다. 다음 단계에서, 업데이트된 분할 지점 상태 수가 제 2 한계 값보다 작은지가 검사된다. 바람직한 실시 예에서, 제 2 한계 값은 f(1,Na)·f(P-1,Nb)일 수 있다. 만일 분할 지점 상태 수가 제 2 한계 값보다 작으면, 파티션(A)이 하나의 분할 지점을 갖고 파티션(B)이 P-1 분할 지점들을 갖는 것이 유도될 수 있다.
디코딩은 그리고 나서 각각 각각의 파티션의 분할 지점들의 결정된 수들을 갖는 두 파티션 모두를 위하여 수행된다. 제 1 분할 지점 하위 상태 수는 파티션(A)의 디코딩을 위하여 사용되고 제 2 분할 지점 하위 상태 수는 파티션(B)의 디코딩을 위하여 사용된다. 그러나, 만일 분할 지점 상태 수가 제 2 한계 값보다 크거나 "또는 동일하면, 분할 지점 상태 수는 업데이트될 수 있다. 바람직한 실시 예에서, 분할 지점 상태 수는 분할 지점 상태 수에서 값을 뺌으로써 업데이트될 수 있는데, 바람직하게는 f(1,Na)·f(P-1,Nb)일 수 있다. 두 개의 파티션과 관련하여 분할 지점들의 나머지 분포 가능성들을 위하여 디코딩 과정은 유사하게 적용된다.
일 실시 예에서, 파티션(A)을 위한 분할 지점 하위 상태 수 및 파티션(B)을 위한 분할 지점 하위 상태 수는 파티션(A) 및 파티션(B)의 디코딩을 위하여 사용될 수 있고 두 이벤트 하위 상태 수는 나눗셈을 수행함으로써 결정된다:
분할 지점 상태 수/f(파티션(B)의 분할 지점들의 수, Nb)
바람직하게는, 파티션(A)의 분할 지점 하위 상태 수는 위의 나눗셈의 정수 부분이고 파티션(B)의 분할 지점 하위 상태 수는 나눗셈의 나머지이다. 이러한 나눗셈에 사용되는 분할 지점 상태 수는 프레임의 원래 분할 지점 상태 수 또는 업데이트된, 예를 들면 위에 설명된 것과 같이, 하나 이상의 한계 값을 뺌으로서 업데이트된 분할 지점 상태 수일 수 있다.
파티션 기반 디코딩의 위에 설명된 개념을 설명하기 위하여, 모든 가능한 분할 지점 위치의 세트가 두 개의 분할 지점을 갖는 상황이 고려된다. 게다가, 만일 f(p,N)이 다시 파티션의 분할 지점 위치들의 서로 다른 조합들의 수를 반환하는 함수이면, 여기서 p는 프레임 파티션의 분할 지점들의 수이고 N은 그러한 파티션의 분할 지점들의 총 수일 때, 파티션들의 각각의 가능한 분포들을 위하여, 다음과 같은 가능한 조합들의 수가 야기된다:
Figure pct00038
따라서 만일 프레임의 인코딩된 분할 지점 상태 수가 f(0,Na)·f(2,Nb)보다 작으면, 분할 지점들의 위치들은 0 및 2로서 분포되어야만 한다. 그렇지 않으면, f(0,Na)·f(2,Nb)는 분할 지점 상태 수에서 차감되고 결과가 f(1,Na)·f(1,Nb)과 비교된다. 만일 작으면, 위치들은 1 및 1로서 분포된다. 그렇지 않으면, 단지 분포 2 및 0만이 남고, 위치들은 2 및 0으로서 분포된다.
다음에서, 분할 지점들(여기서는 "sp")의 위치들을 디코딩하기 위한 일 실시 예에 따라 슈도 코드가 제공된다. 이러한 슈도 코드에서, "sp_a"는 파티션(A) 내의 분할 지점들의 (추정된) 수이고 "sp_b"는 파티션(B) 내의 분할 지점들의 (추정된) 수이다 이러한 슈도 코드에서, (예를 들면, 업데이트된) 분할 지점 상태 수는 "상태(state)"로서 언급된다. 파티션들(a 및 B)의 분할 지점 하위 상태 수는 여전히 "상태" 변수 내에 공동으로 인코딩된다. 일 실시 예의 공동 코딩 전략에 따르면, A(여기서는 "state_a"로서 언급되는)의 분할 지점 하위 상태 수는 나눗셈 상태/f((sp_b, Nb)의 정수 부분이고 B(여기서는 "state_b"로서 언급되는)의 분할 지점 하위 상태 수는 그러한 나눗셈의 나머지이다. 이에 의해, 두 파티션의 길이(파티션의 분할 지점들의 총 수) 및 인코딩된 위치들의 수(파티션 내의 분할 지점들의 수)가 동일한 접근법에 의해 인코딩될 수 있다.
Figure pct00039
이러한 알고리즘의 출력은 모든 인코딩된 위치(즉, 분할 지점 위치)에서 일(1)을 갖고 다른 데(즉, 분할 지점들을 포함하지 않는 가능한 분할 지점 위치들)에서는 제로(0)를 갖는 벡터이다.
다음에서, 위에서와 유사한 의미를 갖는 유사한 변수 명칭을 사용하는 분할 지점 위치들의 인코딩을 위한 일 실시 예에 따라 슈도 코드가 제공된다.
Figure pct00040
여기서, 디코더 알고리즘과 유사하게, 모든 인코딩된 위치(즉, 분할 지점 위치)는 벡터(x) 내의 일(1)에 의해 정의되고 모든 다른 요소들은 영(0)(예를 들면, 분할 지점을 포함하지 않는 가능한 분할 지점 위치들)으로 추정된다.
일 실시 예에 따르면, 함수(f(p,N))는 룩-업 테이블(look-up table)로서 실현될 수 있다. 위치들이 현재 콘텍스트에서와 같이, 비-오버래핑할 때, 상태들의 수 함수(f(p,N))는 간단하게 온-라인으로 계산될 수 있는 2항 함수이다. 다음이 존재한다:
Figure pct00041
본 발명의 일 실시 예에 따르면, 인코더와 디코더 모두는 k의 연속적인 값들을 위하여 제품(f(p-k,Na)*f(k,Nb))이 계산되는 포-루프(for-loop)를 갖는다. 효율적인 계산을 위하여, 이는 다음과 같이 기술될 수 있다:
Figure pct00042
바꾸어 말하면, 뺄셈/덧셈을 위한 연속적인 항들(디코더에서의 단계 2b 및 2c에서, 그리고 인코더에서의 단계 4a에서)은 반복 당 세 개의 곱셈 및 하나의 나눗셈에 의해 계산될 수 있다.
다시 도 1을 참조하면, 대안의 실시 예들은 서로 다른 방법으로 재구성된 오디오 신호 엔벨로프를 획득하기 위한 디코딩을 위하여 도 1의 장치를 구현한다. 그러한 실시 예들에서, 이미 이전에 설명된 것과 같이, 장치는 하나 이상의 분할 지점에 의존하여 재구성된 오디오 신호 엔벨로프를 발생시키기 위한 신호 엔벨로프 재구성기(110), 및 재구성된 오디오 신호 엔벨로프를 출력하기 위한 출력 인터페이스(120)를 포함한다.
다시, 신호 엔벨로프 재구성기(110)는 하나 이상의 분할 지점이 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하는 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성되고, 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분에 의존하여 두개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의한다.
그러나, 그러한 대안의 실시 예들에서, 미리 정의된 엔벨로프 부분 값은 두 개 이상의 신호 엔벨로프 부분 각각에 할당된다.
그러한 실시 예들에서, 신호 엔벨로프 재구성기(110)는 두 개 이상의 신호 엔벨로프 부분의 각각의신호 엔벨로프 부분을 위하여, 상기 신호 엔벨로프 부분의 신호 엔벨로프 부분 값의 절대 값이 상기 신호 엔벨로프 부분에 할당되는 미리 정의된 신호 엔벨로프 부분 값의 절대 값의 90%보다 큰 것과 같이, 그리고 상기 신호 엔벨로프 부분의 신호 엔벨로프 부분 값의 절대 값이 상기 신호 엔벨로프 부분에 할당되는 미리 정의된 신호 엔벨로프 부분 값의 절대 값의 110%보다 작은 것과 같이, 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성된다. 이는 미리 정의된 엔벨로프 부분 값으로부터의 일부 편차를 허용한다.
그러나, 특정 실시 예들에서, 신호 엔벨로프 발생기(110)는 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분 값이 상기 신호 엔벨로프 부분에 할당되는 미리 정의된 엔벨로프 부분 값과 동일한 것과 같이 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성된다.
예를 들면, 오디오 신호 엔벨로프를 4개의 오디오 신호 엔벨로프 부분으로 분할하는 세 개의 분할 지점이 수신될 수 있다. 할당 규칙은 제 1 신호 엔벨로프 부분의 미리 정의된 엔벨로프 부분 값이 0.15이고, 제 2 신호 엔벨로프 부분의 미리 정의된 엔벨로프 부분 값이 0.25이며, 제 3 신호 엔벨로프 부분의 미리 정의된 엔벨로프 부분 값이 0.05이며, 제 4 신호 엔벨로프 부분의 미리 정의된 엔벨로프 부분 값이 0.15로 특정할 수 있다. 세 개의 분할 지점을 수신할 때, 신호 엔벨로프 재구성기(110)는 그때 위에 설명된 개념들에 따라 이에 알맞게 신호 엔벨로프를 재구성한다.
또 다른 실시 예에서, 오디오 신호 엔벨로프를 두 개의 오디오 신호 엔벨로프 부분으로 분할하는 하나의 분할 지점이 수신될 수 있다. 할당 규칙은 제 1 신호 엔벨로프 부분의 미리 정의된 엔벨로프 부분 값이 p이고, 제 2 신호 엔벨로프 부분의 미리 정의된 엔벨로프 부분 값이 p-1로 지정할 수 있다. 예를 들면, 만일 p = 0.4이면, 1-p는 0.6이다. 다시, 세 개의 분할 지점을 수신할 때, 신호 엔벨로프 재구성기(110)는 그때 위에 설명된 개념들에 따라 이에 알맞게 신호 엔벨로프를 재구성한다.
미리 정의된 엔벨로프 부분 값들을 사용하는 그러한 대안의 실시 예들은 이전에 설명된 각각의 개념들을 사용할 수 있다.
일 실시 예에서, 적어도 두 개의 신호 엔벨로프 부분의 미리 정의된 엔벨로프 부분 값들은 서로 다르다.
또 다른 실시 예에서, 각각의 신호 엔벨로프 부분들의 미리 정의된 엔벨로프 부분 값은 나머지 신호 엔벨로프 부분들 각각의 미리 정의된 엔벨로프 부분 값과 다르다.
장치의 맥락에서 일부 양상들이 설명되었으나, 이러한 양상들은 또한 블록 또는 장치가 방법 단계 또는 방법 단계의 특징과 상응하는, 상응하는 방법의 설명을 나타낸다는 것은 자명하다. 유사하게, 방법 단계의 맥락에서 설명된 양상들은 또한 상응하는 장치의 상응하는 블록 또는 아이템 또는 특징을 나타낸다.
본 발명의 분해 신호는 디지털 저장 매체 상에 저장될 수 있거나 또는 무선 전송 매체 또는 인터넷과 같은 유선 전송 매체와 같은 전송 매체 상에 전송될 수 있다.
특정 구현 요구사항들에 따라, 본 발명의 실시 예들은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 각각의 방법이 실행될 것과 같이 프로그램가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는), 그 안에 저장되는 전자적으로 판독 가능한 제어 신호들을 갖는, 디지털 저장 매체, 예를 들면, 플로피 디스크, DVD, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 실행될 수 있다.
본 발명에 따른 일부 실시 예들은 여기에 설명된 방법들 중 어느 하나가 실행되는 것과 같이, 프로그램가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독 가능한 제어 신호들을 갖는 비-일시적 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시 예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터 상에서 구동할 때 방법들 중 어느 하나를 실행하도록 운영될 수 있다. 프로그램 코드는 예를 들면, 기계 판독가능 캐리어 상에 저장될 수 있다.
다른 실시 예들은 기계 판독가능 캐리어 상에 저장되는, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 포함한다.
바꾸어 말하면, 본 발명의 방법의 일 실시 예는 따라서, 컴퓨터 프로그램이 컴퓨터 상에 구동할 때, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
본 발명의 방법의 또 다른 실시 예는 따라서, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 포함하는, 그 안에 기록되는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독가능 매체)이다.
본 발명의 방법의 또 다른 실시 예는 따라서, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는 예를 들면 데이터 통신 연결, 예를 들면 인터넷을 거쳐 전송되도록 구성될 수 있다.
또 다른 실시 예는 여기에 설명된 방법들 중 어느 하나를 실행하도록 구성되거나 혹은 적용되는, 처리 수단, 예를 들면 컴퓨터, 또는 프로그램가능 논리 장치를 포함한다.
또 다른 실시 예는 그 안에 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
일부 실시 예들에서, 여기에 설명된 방법들 중 일부 또는 모두를 실행하기 위하여 프로그램가능 논리 장치(예를 들면, 필드 프로그램가능 게이트 어레이)가 사용될 수 있다. 일부 실시 예들에서, 필드 프로그램가능 게이트 어레이는 여기에 설명된 방법들 중 어느 하나를 실행하기 위하여 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 바람직하게는 어떠한 하드웨어 장치에 의해 실행된다.
여기에 설명되는 장치는 하드웨어 장치를 사용하거나, 또는 컴퓨터를 사용하거나, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
위에 설명된 실시 예들은 단지 본 발명의 원리들을 위한 설명이다. 여기에 설명된 배치들과 상세내용들의 변형과 변경은 통상의 지식을 가진 자들에 자명할 것이라는 것을 이해할 것이다. 따라서, 본 발명은 여기에 설명된 실시 예들의 설명에 의해 표현된 특정 상세내용이 아닌 특허 청구항의 범위에 의해서만 한정되는 것으로 의도된다.
참고문헌
[1] Makhoul, John. "Linear prediction: A tutorial review." Proceedings of the IEEE 63.4 (1975): 561-580.
[2] Soong, Frank, and B. Juang. "Line spectrum pair (LSP) and speech data compression." Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP'84.. Vol. 9. IEEE, 1984.
[3] Pan, Davis. "A tutorial on MPEG/Audio compression." Multimedia, IEEE 2.2 (1995): 60-74.
[4] M. Neuendorf, P. Gournay, M. Multrus, J. Lecomte, B. Bessette, R. Geiger, S. Bayer, G. Fuchs, J. Hilpert, N. Rettelbach, R. Salami, G. Schuller, R. Lefebvre, B. Grill. "Unified speech and audio coding scheme for high quality at low bitrates". In Acoustics, Speech and Signal Processing, 2009. ICASSP 2009. IEEE International Conference on (pp. 1-4). IEEE. April, 2009.
[5] Kuntz, A., Disch, S., BaoT., & Robilliard, J. "The Transient Steering Decorrelator Tool in the Upcoming MPEG Unified Speech and Audio Coding Standard". In Audio Engineering Society Convention 131, October 2011.
[6] Herre, Juand James D. Johnston. "Enhancing the performance of perceptual audio coders by using temporal noise shaping (TNS).' Audio Engineering Society Convention 101. 1996.
105 : 분할 지점 디코더
110 : 신호 엔벨로프 재구성기
120 : 출력 인터페이스
210 : 오디오 신호 엔벨로프 인터페이스
220 : 분할 지점 결정기
225 : 분할 지점 인코더
230 : 에너지 결정기
420 : 분석 유닛
430 : 발생 유닛
440 : 분할자
610 : 신호 엔벨로프
631 : 분할 지점
640 : 신호 엔벨로프
661, 662, 663 : 분할 지점
670 : 신호 엔벨로프
691, 692, 693, 694 : 분할 지점
1410 : 인코딩을 위한 장치
1420 : 2차 신호 특성 인코더
1510 : 디코딩을 위한 장치
1520 : 신호 발생기
1610 : 입력 인터페이스
1620 : 엔벨로프 발생기
1710 : 집계자
1720 : 인코딩 유닛

Claims (17)

  1. 하나 이상의 코딩 값으로부터 오디오 신호 엔벨로프를 발생시키기 위한 장치에 있어서,
    상기 하나 이상의 코딩 값을 수신하기 위한 입력 인터페이스(1610); 및
    상기 하나 이상의 코딩 값에 의존하여 상기 오디오 신호 엔벨로프를 발생시키기 위한 엔벨로프 발생기(1620);를 포함하고,
    상기 엔벨로프 발생기(1620)는 상기 하나 이상의 코딩 값에 의존하여 집계 함수를 발생시키도록 구성되고, 상기 집계 함수는 복수의 집계점을 포함하고, 상기 각각의 집계점은 인수 값 및 집계 값을 포함하며, 상기 집계 함수는 단조적으로 증가하며, 상기 하나 이상의 코딩 값 각각은 상기 집계 함수의 상기 집계점들 중 하나의 상기 인수 값 및 상기 집계 값 중 적어도 하나를 나타내며,
    상기 엔벨로프 발생기(1620)는 상기 오디오 신호 엔벨로프가 복수의 엔벨로프 지점을 포함하도록 상기 오디오 신호 엔벨로프를 발생시키도록 구성되고, 상기 엔벨로프 지점들 각각은 인수 값 및 집계 값을 포함하며, 상기 집계 함수의 상기 집계점들 각각에 대하여, 상기 오디오 신호 엔벨로프의 상기 엔벨로프 지점들 중 하나는 상기 엔벨로프 지점의 상기 인수 값이 상기 집계점의 상기 인수 값과 동일하도록 상기 집계점에 할당되며,
    상기 엔벨로프 발생기(1620)는 상기 오디오 신호 엔벨로프의 상기 엔벨로프 지점들 각각의 상기 엔벨로프 값이 상기 집계 함수의 적어도 하나의 집계점의 상기 집계 값에 의존하도록 상기 오디오 신호 엔벨로프를 발생시키도록 구성되는 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  2. 제 1항에 있어서, 상기 엔벨로프 발생기(1620)는 상기 코딩 값에 의존하여 상기 하나 이상의 코딩 값 각각을 위한 상기 집계점들 중 하나를 결정함으로써, 그리고 상기 하나 이상의 코딩 값 각각의 상기 집계점에 의존하여 상기 집계 함수를 획득하기 위하여 보간을 적용함으로써 상기 집계 함수를 결정하도록 구성되는 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  3. 제 1항 또는 2항에 있어서, 상기 엔벨로프 발생기(1620)는 상기 집계 함수의 복수의 상기 집계점에서 상기 집계 함수의 제 1 도함수를 결정하도록 구성되는 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  4. 제 1항 내지 3항 중 어느 한 항에 있어서, 상기 엔벨로프 발생기(1620)는 상기 집계 함수가 연속적인 제 1 도함수를 갖도록 상기 코딩 값들에 의존하여 상기 집계 함수를 발생시키도록 구성되는 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  5. 제 1항 내지 4항 중 어느 한 항에 있어서, 상기 엔벨로프 발생기(1620)는 제 1 차이 및 제 2 차이의 비율을 결정함으로써 상기 오디오 신호 엔벨로프를 결정하도록 구성되고, 상기 제 1 차이는 상기 집계 함수의 상기 집계점들 중 첫 번째 하나의 제 1 집계 값(c(k+1)) 및 상기 집계 함수의 상기 집계점들 중 두 번째 하나의 제 2 집계 값(c(k-1); c(k)) 사이의 차이이고, 상기 제 2 차이는 상기 집계 함수의 상기 집계점들 중 상기 첫 번째 하나의 제 1 인수 값(f(k+1)) 및 상기 집계 함수의 상기 집계점들 중 상기 두 번째 하나의 제 2 인수 값(f(k-1); f(k)) 사이의 차이인 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  6. 제 5항에 있어서, 상기 엔벨로프 발생기(1620)는 다음을 적용함으로써 상기 오디오 신호 엔벨로프를 결정하도록 구성되고,
    Figure pct00043

    여기서 tilt(k)는 상기 k번째 분할 지점에서의 상기 집계 함수의 도함수를 나타내고,
    c(k+1)은 상기 제 1 집계 값이며,
    f(k+1)은 상기 제 1 인수 값이며,
    c(k-1)은 상기 제 2 집계 값이며,
    f(k-1)은 상기 제 2 인수 값이며,
    k는 하나 이상의 분할 지점 중 하나의 지수를 나타내는 정수이며,
    c(k+1)-c(k-1)은 상기 두 집계된 값(c(k+1) 및 c(k-1))의 제 1 차이이며,
    f(k+1)-f(k-1)은 상기 두 인수 값(f(k+1) 및 f(k-1))의 제 2 차이인 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  7. 제 5항에 있어서, 상기 엔벨로프 발생기(1620)는 다음을 적용함으로써 상기 오디오 신호 엔벨로프를 결정하도록 구성되고,
    Figure pct00044

    여기서 tilt(k)는 상기 k번째 분할 지점에서의 상기 집계 함수의 도함수를 나타내고,
    c(k+1)은 상기 제 1 집계 값이며,
    f(k+1)은 상기 제 1 인수 값이며,
    c(k)는 상기 제 2 집계 값이며,
    f(k)는 상기 제 2 인수 값이며,
    c(k-1)은 상기 집계 함수의 집계점들 중 세 번째 하나의 제 3 집계 값이며,
    f(k-1)은 상기 집계 함수의 집계점들 중 세 번째 하나의 제 3 인수 값이며,
    k는 상기 하나 이상의 집계 지점 중 하나의 지수를 나타내는 정수이며,
    c(k+1)-c(k)는 상기 두 집계된 값(c(k+1) 및 c(k))의 제 1 차이이며,
    f(k+1)-f(k)는 상기 두 인수 값(f(k+1) 및 f(k))의 제 2 차이인 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  8. 제 1항 내지 7항 중 어느 한 항에 있어서,
    상기 입력 인터페이스(1610)는 상기 하나 이상의 코딩 값으로서 하나 이상의 분할 값을 수신하도록 구성되고,
    상기 엔벨로프 발생기(1620)는 상기 하나 이상의 분할 값에 의존하여 상기 집계 함수를 발생시키도록 구성되고, 상기 하나 이상의 분할 값 각각은 상기 집계 함수의 상기 집계점들 중 하나의 상기 집계 값을 나타내며,
    상기 엔벨로프 발생기(1620)는 상기 하나 이상의 분할 지점이 상기 재구성된 오디오 신호 엔벨로프를 두 개 이상의 오디오 신호 엔벨로프 부분으로 세분하도록 상기 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성되고, 미리 정의된 할당 규칙이 상기 신호 엔벨로프 부분에 의존하여 상기 두 개 이상의 신호 엔벨로프 부분의 각각의 신호 엔벨로프 부분을 위한 신호 엔벨로프 부분 값을 정의하며,
    상기 엔벨로프 발생기(1620)는 상기 두 개 이상의 오디오 신호 엔벨로프 부분 각각을 위하여, 그것의 신호 엔벨로프 부분 값의 절대 값이 나머지 신호 엔벨로프 부분들 각각의 상기 신호 엔벨로프 부분 값의 절대 값의 반보다 크도록 상기 재구성된 오디오 신호 엔벨로프를 발생시키도록 구성되는 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  9. 복수의 인수 값 각각을 위하여 집계된 값을 결정하기 위한 집계자(1710), - 상기 복수의 인수 값은 제 2 인수 값이 제 1 인수 값과 다를 때, 상기 복수의 인수 값의 상기 제 1 인수 값이 상기 복수의 인수 값의 상기 제 2 인수 값을 선행하거나 또는 뒤따르는 것과 같이 순서가 정해지며, 엔벨로프 값은 각각의 상기 인수 값들에 할당되고, 상기 각각의 인수 값들의 상기 엔벨로프 값은 오디오 신호 엔벨로프에 의존하며, 상기 집계자(1710)는 상기 인수 값의 상기 엔벨로프 값에 의존하고 상기 인수 값을 선행하는 상기 복수의 인수 값 각각의 상기 엔벨로프 값에 의존하여, 상기 복수의 인수 값의 각각의 인수 값을 위한 집계된 값을 결정하도록 구성됨;
    상기 복수의 인수 값의 하나 이상의 상기 집계된 값에 의존하여 하나 이상의 코딩 값을 결정하기 위한 인코딩 유닛;을 포함하는 것을 특징으로 하는 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 코딩 값을 결정하기 위한 장치.
  10. 제 9항에 있어서, 상기 집계자(1710)는 상기 인수 값의 엔벨로프 값과 상기 인수 값을 선행하는 인수 값들의 상기 엔벨로프 값들을 더함으로써 상기 복수의 인수 값의 각각의 인수 값을 위한 상기 집계된 값을 결정하도록 구성되는 것을 특징으로 하는 하나 이상의 코딩 값을 결정하기 위한 장치.
  11. 제 9항 또는 10항에 있어서, 각각의 상기 인수 값들의 상기 엔벨로프 값은 신호 엔벨로프로서 오디오 신호 엔벨로프를 갖는 상기 오디오 신호 엔벨로프의 스펙트럼 값의 n번째 파워를 나타내고, n은 0보다 큰 짝수 정수인 것을 특징으로 하는 하나 이상의 코딩 값을 결정하기 위한 장치.
  12. 제 9항 또는 10항에 있어서, 상기 각각의 인수 값들의 엔벨로프 값은 시간 도메인 내에 포함되고 신호 엔벨로프로서 오디오 신호 엔벨로프를 갖는, 상기 오디오 신호 엔벨로프의 진폭 값의 n번째 파워를 나타내고, n은 0보다 큰 짝수 정수인 것을 특징으로 하는 하나 이상의 코딩 값을 결정하기 위한 장치.
  13. 제 9항 내지 12항 중 어느 한 항에 있어서, 상기 인코딩 유닛(1720)은 상기 인수 값들의 하나 이상의 상기 집계 값에 의존하고, 상기 하나 이상의 코딩 값으로서 상기 인코딩 유닛(1720)에 의해 얼마나 많은 값들이 결정되는지를 나타내는, 코딩 값들 수에 의존하여 상기 하나 이상의 코딩 값을 결정하도록 구성되는 것을 특징으로 하는 하나 이상의 코딩 값을 결정하기 위한 장치.
  14. 제 13항에 있어서, 상기 코딩 유닛은 다음에 따라 상기 하나 이상의 코딩 값을 결정하도록 구성되고,
    Figure pct00045

    여기서 c(k)는 상기 코딩 유닛에 의해 결정되려는 k번째 코딩 값을 나타내고,
    j는 상기 복수의 인수 값 중 j번째 인수 값을 나타내며,
    a(j)는 상기 j번째 인수 값에 할당되는 집계된 값을 나타내며,
    max(a)는 상기 인수 값들 중 하나에 할당되는 상기 집계된 값들 중 하나인 최대 값을 나타내고, 상기 인수 값들 중 하나에 할당되는 상기 집계된 값들 중 어느 것도 상기 최대 값보다 크지 않으며,
    Figure pct00046
    Figure pct00047
    이 최소인 상기 인수 값들 중 하나인 최소 값을 나타내는 것을 특징으로 하는 하나 이상의 코딩 값을 결정하기 위한 장치.
  15. 하나 이상의 코딩 값으로부터 오디오 신호 엔벨로프를 발생시키기 위한 방법에 있어서,
    상기 하나 이상의 코딩 값을 수신하는 단계; 및
    상기 하나 이상의 코딩 값에 의존하여 상기 오디오 신호 엔벨로프를 발생시키는 단계;를 포함하고,
    상기 오디오 신호 엔벨로프를 발생시키는 단계는 상기 하나 이상의 코딩 값에 의존하여 집계 함수를 발생시킴으로써 수행되고, 상기 집계 함수는 복수의 집계점을 포함하고, 상기 각각의 집계점은 인수 값 및 집계 값을 포함하며, 상기 집계 함수는 단조적으로 증가하며, 상기 하나 이상의 코딩 값 각각은 상기 집계 함수의 상기 집계점들 중 하나의 상기 인수 값 및 상기 집계 값 중 적어도 하나를 나타내며,
    상기 오디오 신호 엔벨로프를 발생시키는 단계는 상기 오디오 신호 엔벨로프가 복수의 엔벨로프 지점을 포함하도록 수행되고, 상기 엔벨로프 지점들 각각은 인수 값 및 집계 값을 포함하며, 상기 집계 함수의 상기 집계점들 각각에 대하여, 상기 오디오 신호 엔벨로프의 상기 엔벨로프 지점들 중 하나는 상기 엔벨로프 지점의 상기 인수 값이 상기 집계점의 상기 인수 값과 동일하도록 상기 집계점에 할당되며,
    상기 오디오 신호 엔벨로프를 발생시키는 단계는 상기 오디오 신호 엔벨로프의 상기 엔벨로프 지점들 각각의 상기 엔벨로프 값이 상기 집계 함수의 적어도 하나의 집계점의 상기 집계 값에 의존하도록 수행되는 것을 특징으로 하는 오디오 신호 엔벨로프를 발생시키기 위한 장치.
  16. 복수의 인수 값 각각을 위한 집계된 값을 결정하는 단계, - 상기 복수의 인수 값은 제 2 인수 값이 제 1 인수 값과 다를 때, 상기 복수의 인수 값의 상기 제 1 인수 값이 상기 복수의 인수 값의 상기 제 2 인수 값을 선행하거나 또는 뒤따르도록 순서가 정해지고, 각각의 상기 인수 값들의 엔벨로프 값은 상기 각각의 인수 값들에 할당되고, 상기 각각의 인수 값들의 상기 엔벨로프 값은 상기 오디오 신호 엔벨로프에 의존하며, 집계자(1710)는 상기 인수 값의 상기 엔벨로프 값에 의존하고 상기 인수 값을 선행하는 상기 복수의 인수 값 각각의 엔벨로프 값에 의존하여, 상기 복수의 인수 값의 각각의 인수 값을 위한 집계된 값을 결정하도록 구성됨 -; 및
    상기 복수의 인수 값의 하나 이상의 상기 집계된 값에 의존하여 하나 이상의 코딩 값을 결정하는 단계;를 포함하는 것을 특징으로 하는 오디오 신호 엔벨로프를 인코딩하기 위하여 하나 이상의 코딩 값을 결정하기 위한 방법.
  17. 컴퓨터 또는 신호 프로세서 상에서 실행될 때 제 15항 또는 16항의 방법을 구현하기 위한 컴퓨터 프로그램.
KR1020167000232A 2013-06-10 2014-06-10 분포 양자화 및 코딩을 사용하는 누적 합계 표현의 모델링에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법 KR101789083B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP13171314 2013-06-10
EP13171314.1 2013-06-10
EP14167070 2014-05-05
EP14167070.3 2014-05-05
PCT/EP2014/062034 WO2014198726A1 (en) 2013-06-10 2014-06-10 Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding

Publications (2)

Publication Number Publication Date
KR20160022338A true KR20160022338A (ko) 2016-02-29
KR101789083B1 KR101789083B1 (ko) 2017-10-23

Family

ID=50928114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000232A KR101789083B1 (ko) 2013-06-10 2014-06-10 분포 양자화 및 코딩을 사용하는 누적 합계 표현의 모델링에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법

Country Status (16)

Country Link
US (2) US9953659B2 (ko)
EP (1) EP3008726B1 (ko)
JP (1) JP6224827B2 (ko)
KR (1) KR101789083B1 (ko)
CN (1) CN105431902B (ko)
AU (1) AU2014280258B9 (ko)
BR (1) BR112015030686B1 (ko)
CA (1) CA2914771C (ko)
ES (1) ES2646021T3 (ko)
HK (1) HK1223725A1 (ko)
MX (1) MX353042B (ko)
PL (1) PL3008726T3 (ko)
PT (1) PT3008726T (ko)
RU (1) RU2662921C2 (ko)
SG (1) SG11201510162WA (ko)
WO (1) WO2014198726A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6224827B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用した累積和表現のモデル化によるオーディオ信号包絡符号化、処理及び復号化の装置と方法
JP6224233B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用したオーディオ信号包絡の分割によるオーディオ信号包絡符号化、処理及び復号化の装置と方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765127A (en) 1992-03-18 1998-06-09 Sony Corp High efficiency encoding method
JP3271193B2 (ja) * 1992-03-31 2002-04-02 ソニー株式会社 音声符号化方法
JP3237089B2 (ja) * 1994-07-28 2001-12-10 株式会社日立製作所 音響信号符号化復号方法
US5710863A (en) * 1995-09-19 1998-01-20 Chen; Juin-Hwey Speech signal quantization using human auditory models in predictive coding systems
JP3283413B2 (ja) * 1995-11-30 2002-05-20 株式会社日立製作所 符号化復号方法、符号化装置および復号装置
SE512719C2 (sv) 1997-06-10 2000-05-02 Lars Gustaf Liljeryd En metod och anordning för reduktion av dataflöde baserad på harmonisk bandbreddsexpansion
CN1494055A (zh) 1997-12-24 2004-05-05 ������������ʽ���� 声音编码方法和声音译码方法以及声音编码装置和声音译码装置
SE9903553D0 (sv) 1999-01-27 1999-10-01 Lars Liljeryd Enhancing percepptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL)
US6978236B1 (en) * 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
CN1202514C (zh) * 2000-11-27 2005-05-18 日本电信电话株式会社 编码和解码语音及其参数的方法、编码器、解码器
SE0202159D0 (sv) 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
US20030187663A1 (en) 2002-03-28 2003-10-02 Truman Michael Mead Broadband frequency translation for high frequency regeneration
KR100477699B1 (ko) 2003-01-15 2005-03-18 삼성전자주식회사 양자화 잡음 분포 조절 방법 및 장치
EP1638083B1 (en) * 2004-09-17 2009-04-22 Harman Becker Automotive Systems GmbH Bandwidth extension of bandlimited audio signals
US7573912B2 (en) 2005-02-22 2009-08-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschunng E.V. Near-transparent or transparent multi-channel encoder/decoder scheme
CN101138274B (zh) 2005-04-15 2011-07-06 杜比国际公司 用于处理去相干信号或组合信号的设备和方法
US7630882B2 (en) 2005-07-15 2009-12-08 Microsoft Corporation Frequency segmentation to obtain bands for efficient coding of digital media
KR100803205B1 (ko) * 2005-07-15 2008-02-14 삼성전자주식회사 저비트율 오디오 신호 부호화/복호화 방법 및 장치
WO2007080211A1 (en) 2006-01-09 2007-07-19 Nokia Corporation Decoding of binaural audio signals
EP1989707A2 (fr) * 2006-02-24 2008-11-12 France Telecom Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants
DE602006021347D1 (de) 2006-03-28 2011-05-26 Fraunhofer Ges Forschung Verbessertes verfahren zur signalformung bei der mehrkanal-audiorekonstruktion
US8392176B2 (en) 2006-04-10 2013-03-05 Qualcomm Incorporated Processing of excitation in audio coding and decoding
US8532984B2 (en) 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
DE102006049154B4 (de) 2006-10-18 2009-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung eines Informationssignals
US8417532B2 (en) * 2006-10-18 2013-04-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoding an information signal
CN101743586B (zh) * 2007-06-11 2012-10-17 弗劳恩霍夫应用研究促进协会 音频编码器、编码方法、解码器、解码方法
WO2009038136A1 (ja) 2007-09-19 2009-03-26 Nec Corporation 雑音抑圧装置、その方法及びプログラム
GB2453117B (en) 2007-09-25 2012-05-23 Motorola Mobility Inc Apparatus and method for encoding a multi channel audio signal
CN101430880A (zh) 2007-11-07 2009-05-13 华为技术有限公司 一种背景噪声的编解码方法和装置
CN101521010B (zh) 2008-02-29 2011-10-05 华为技术有限公司 一种音频信号的编解码方法和装置
JP5010743B2 (ja) 2008-07-11 2012-08-29 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スペクトル傾斜で制御されたフレーミングを使用して帯域拡張データを計算するための装置及び方法
EP2301028B1 (en) 2008-07-11 2012-12-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. An apparatus and a method for calculating a number of spectral envelopes
MY160260A (en) 2008-07-11 2017-02-28 Fraunhofer Ges Forschung Audio encoder and audio decoder
CN102081926B (zh) 2009-11-27 2013-06-05 中兴通讯股份有限公司 格型矢量量化音频编解码方法和系统
CN102081927B (zh) 2009-11-27 2012-07-18 中兴通讯股份有限公司 一种可分层音频编码、解码方法及系统
CN103155033B (zh) 2010-07-19 2014-10-22 杜比国际公司 高频重建期间的音频信号处理
WO2012146757A1 (en) * 2011-04-28 2012-11-01 Dolby International Ab Efficient content classification and loudness estimation
AU2014253957B2 (en) * 2013-04-16 2018-11-01 Massachusetts Institute Of Technology System and method for unipolar separation of emulsions and other mixtures
DE102013104921A1 (de) 2013-05-14 2014-11-20 A. Monforts Textilmaschinen Gmbh & Co. Kg Vorrichtung zum Beschichten und/oder Imprägnieren einer textilen Warenbahn
JP6224827B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用した累積和表現のモデル化によるオーディオ信号包絡符号化、処理及び復号化の装置と方法
JP6224233B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用したオーディオ信号包絡の分割によるオーディオ信号包絡符号化、処理及び復号化の装置と方法

Also Published As

Publication number Publication date
US20180204582A1 (en) 2018-07-19
JP2016526695A (ja) 2016-09-05
RU2662921C2 (ru) 2018-07-31
RU2015156490A (ru) 2017-07-14
AU2014280258A1 (en) 2016-01-28
CA2914771A1 (en) 2014-12-18
EP3008726B1 (en) 2017-08-23
BR112015030686A2 (pt) 2017-08-22
AU2014280258B2 (en) 2016-11-24
US20160155451A1 (en) 2016-06-02
AU2014280258B9 (en) 2017-04-20
US10734008B2 (en) 2020-08-04
US9953659B2 (en) 2018-04-24
JP6224827B2 (ja) 2017-11-01
MX353042B (es) 2017-12-18
HK1223725A1 (zh) 2017-08-04
KR101789083B1 (ko) 2017-10-23
PL3008726T3 (pl) 2018-01-31
WO2014198726A1 (en) 2014-12-18
PT3008726T (pt) 2017-11-24
CN105431902A (zh) 2016-03-23
EP3008726A1 (en) 2016-04-20
SG11201510162WA (en) 2016-01-28
ES2646021T3 (es) 2017-12-11
CN105431902B (zh) 2020-03-31
BR112015030686B1 (pt) 2021-12-28
MX2015016984A (es) 2016-04-25
CA2914771C (en) 2018-07-17

Similar Documents

Publication Publication Date Title
RU2696292C2 (ru) Аудиокодер и декодер
KR101953648B1 (ko) 오디오 신호 디코딩 또는 인코딩을 위한 시간 도메인 레벨 조정
KR100852481B1 (ko) 양자화 스텝 사이즈 결정 장치 및 방법
JP6227117B2 (ja) オーディオ・エンコーダおよびデコーダ
EP2867892A1 (en) Linear prediction based audio coding using improved probability distribution estimation
US7650277B2 (en) System, method, and apparatus for fast quantization in perceptual audio coders
KR101789083B1 (ko) 분포 양자화 및 코딩을 사용하는 누적 합계 표현의 모델링에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법
KR101789085B1 (ko) 분포 양자화 및 코딩을 사용하는 오디오 신호 엔벨로프의 분할에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법
WO2023285630A1 (en) Integral band-wise parametric audio coding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant