KR100923922B1 - 오디오 코딩시 피치 곡선 양자화를 위한 방법 및 시스템 - Google Patents

오디오 코딩시 피치 곡선 양자화를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR100923922B1
KR100923922B1 KR1020067007799A KR20067007799A KR100923922B1 KR 100923922 B1 KR100923922 B1 KR 100923922B1 KR 1020067007799 A KR1020067007799 A KR 1020067007799A KR 20067007799 A KR20067007799 A KR 20067007799A KR 100923922 B1 KR100923922 B1 KR 100923922B1
Authority
KR
South Korea
Prior art keywords
segment
pitch
audio
candidates
segments
Prior art date
Application number
KR1020067007799A
Other languages
English (en)
Other versions
KR20060090996A (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 KR20060090996A publication Critical patent/KR20060090996A/ko
Application granted granted Critical
Publication of KR100923922B1 publication Critical patent/KR100923922B1/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
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • 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/90Pitch determination of speech signals
    • 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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Image Processing (AREA)

Abstract

오디오 코딩의 코딩 효율을 향상시키기 위한 방법 및 장치. 오디오 신호의 피치 곡선의 피치 값들로부터, 하나 이상의 미리 선택된 기준에 기초해, 그 피치 곡선에 근사화되도록 단순화된 복수의 피치 곡선 세그먼트들이 생성된다. 곡선 세그먼트들은 선형일 수도 아니면 비선형일 수도 있고, 각각의 곡선 세그먼트는 제1종료 포인트와 제2종료 포인트로 나타내진다. 곡선 세그먼트들이 선형이면, 피치 값들 대신 종료 포인트들에 대한 정보만이 디코더로 제공되어 오디오 신호 재구성에 사용된다. 곡선 세그먼트는 고정된 최대 길이를 가질 수도 있고, 가변 길이를 가질 수도 있으나, 곡선 세그먼트와 그 세그먼트 내 피치 값들 사이의 편차는 최대값으로 제한된다.

Description

오디오 코딩시 피치 곡선 양자화를 위한 방법 및 시스템{Method and system for pitch contour quantization in audio coding}
본 발명은 스피치 코더에 대한 것으로서, 보다 상세히는 충분히 긴 부호화 딜레이를 허용하는 스피치 코더에 대한 것이다.
미국에서는 모바일 전화기 설계시 시각 장애인들을 고려하는 것이 요청될 것이다. 모바일 전화기 제조업자들은 시각 장애가 있는 사용자에게 알맞은 사용자 인터페이스를 구비한 전화기를 공급해야 한다. 실제적으로 이는 메뉴들이 스크린에 디스플레이되는 것 말고도 "소리 내어 말하는" 것임을 의미한다. 이러한 청각적 메시지들을 가능한 한 적은 메모리 안에 저장하는 것은 명백히 유용한 일이다. 통상적으로, TTS(text-to-speech, 문자를 소리로 변환) 알고리즘들이 이러한 어플리케이션을 위해 고려되고 있다. 그러나, 합당한 품질의 TTS 출력을 얻기 위해서는, 막대한 양의 데이터베이스가 필요로 되며, 그에 따라, TTS는 모바일 단말에 대해서는 편리한 해법이 되지 않는다. 메모리 사용을 적게 가져갈 때, 현재의 TTS 알고리즘이 제공하는 품질은 수용 불가능한 것으로 된다.
TTS 이외에, 스피치 코더는 선기록된(pre-recorded) 메시지들을 압축하는데 활용될 수 있다. 이렇게 압축된 정보는 모바일 단말에 저장되고 복호화되어, 출력 스피치를 생성한다. 최소한의 메모리 소비를 위해서는, 매우 낮은 비트 레이트의 코더들이 바람직하다. 코딩 시스템으로의 입력 스피치 신호를 생성하기 위해, 말하는 사람 혹은 고품질 (및 고도의 복잡도를 가진) TTS 알고리즘들이 사용될 수 있다.
일반적인 스피치 코더에서, 입력 스피치 신호는 프레임이라 불리는 고정 길이의 세그먼트들로서 처리된다. 현재의 스피치 코더들에서 프레임 길이는 보통 10-30 ms이고, 이어지는 프레임으로부터 약 5-15 ms의 룩어헤드(lookahead) 세그먼트 역시 사용될 수 있다. 이 프레임은 다시 여러 개의 서브 프레임들로 나누어질 수 있다. 각 프레임에 대해, 인코더가 입력 신호의 파라미터 표현을 정한다. 그 파라미터들이 양자화되어, 통신 채널을 통해 전송되거나 저장 매체에 저장된다. 수신단에서, 디코더는 도 1에 도시된 것과 같이, 수신된 파라미터들에 기반하여 합성 신호를 구성한다.
스피치 코딩의 기본적인 한 목적이 주어진 코딩 레이트에서 가능한 최선의 품질을 얻고자 하는데 있으나, 소정 어플리케이션에 대한 스피치 코더 개발시 다른 성능적 양태들 또한 고려되어야 한다. 스피치 품질 및 비트 레이트 외에, 이하에서 보다 자세히 설명될 주요한 속성들로, (프레임 사이즈 플러스 가능한 룩어헤드에 의해 주로 규정되는) 코더 딜레이, 코더의 복잡도 및 메모리 요건, 채널 에러에 대한 민감도, 배경 음향 노이즈에 대한 견고성, 및 부호화된 스피치의 대역폭이 포함된다. 또한, 스피치 코더는 서로 다른 에너지 레벨과 주파수 특성을 갖는 입력 신호들을 효율적으로 재구성할 수 있어야 한다.
피치 곡선(pitch contour)에 대한 양자화는 거의 모든 실제 스피치 코더들에서 요구되는 작업이다. 피치(음 높이) 파라미터는 스피치의 기본 주파수와 관련이 있다: 유성음이 발성되는 동안, 피치는 기본 주파수에 해당하며 음서의 피치로서 인식될 수 있다. 순수하게 무성음인 동안에는, 물리적 측면의 어떠한 기본 주파수도 존재하지 않으므로 피치라는 개념이 무의미하다. 그러나, 대부분의 스피치 코더들에서는, 무성음인 동안에도 "피치 정보"가 필요하다. 예를 들어, 잘 알려진 CELP (code excited linear prediction) 방식에 기반하는 코더들에서는, 스피치 중 무성 부분인 동안 (대략 피치에 해당하는) 장기 예측 지체(long tern prediction lag) 역시 전송된다.
통상의 스피치 코더에서, 피치 마라미터는 규칙적인 간격으로 신호로부터 추정된다. 스피치 코더들에서 사용되는 피치 추정기들은 대략 다음과 같은 카테고리들로 나누어질 수 있다: (i)스피치의 시간 도메인 특성들을 이용하는 피치 추정기들, (ii) 스피치의 주파수 도메인 특성들을 이용하는 피치 추정기들, (iii) 시간 및 주파수 도메인 특성들 양자 모두를 이용하는 피치 추정기들.
피치 곡선 (일정한 간격마다 추정된 피치 값들)의 양자화에 대한 가장 일반적인 종래의 해법이 스칼라(scalar) 양자화를 이용하는 것이다. 통상적으로, 모든 피치 값들에 대해 하나의 양자화기가 사용되고, 전송 레이트는 고정된 상태로 유지된다. 다른 해법들 역시 제시되고 있다. 예를 들어, 스칼라 양자화기를 이용해 하나 걸러 한 피치 값들이 양자화될 수 있고, 이들 사이에 있는 값들은 차동(differential) 양자화기를 가지고 양자화될 수 있다. 기존 인코더들 중 일부에 서는, 양자화기가 메모리 없는 모드와 예측 모드의 두 모드를 포함하였다. 이러한 기술들은 기본 방식과 비교해 약간의 이점을 제공하지만, 여분의 분량(redundancies)만이 부분적으로 활용된다.
종래 기술의 주요한 단점이, 고정 갱신 레이트를 이용하는 통상의 양자화 기술들은 전송된 피치값들에 수많은 중복이 존재하기 때문에 본질적으로 비효율적이라는 것이다. 피치 파라미터의 양자화에 사용되는 고정 갱신 레이트는, 피치가 급속하게 변화하는 경우들을 다룰 수 있도록 하기 위해 다소 높다 (약 50에서 100 Hz). 그러나, 피치 곡선의 급격한 변동은 상대적으로 드물게 일어난다. 따라서, 대부분의 경우 매우 낮은 갱신 레이트가 사용될 수 있을 것이다.
본 발명은 일반적인 피치 곡선이 매우 완만하게 전개되지만 이따금 급격한 변화를 포함한다는 사실을 이용한다. 따라서, 오리지널 곡선 모양에 가깝게 따라가나 부호화할 정보는 적게 포함하는 구분적(piecewise) 피치 곡선을 생성할 수 있다. 피치 곡선의 모든 피치를 코딩하지 않고, 도함수(derivative)가 변화하는 곳의 구분적 피치 곡선을 이루는 포인트들만을 양자화한다. 무성음인 동안에는, 일정한 피치 값이 인코더 및 디코더 모두에서 사용될 수 있다. 구분적 피치 곡선의 세그먼트들은 선형일 수도 있고, 비선형일 수도 있다.
따라서, 본 발명의 제1양태에 따라, 오디오 코딩시 코딩 효율을 향상시키기 위한 방법이 제공되며, 이때 오디오 신호는 그 오디오 신호를 가리키는 파라미터들을 제공하도록 부호화되고, 파라미터들에는 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값들을 포함하는 피치 곡선 데이터가 포함된다. 이 방법은,
상기 피치 곡선 데이터에 기반하여, 각각이 오디오 신호의 서브 세그먼트에 대응하는 단순화된 복수의 피치 곡선 세그먼트 후보들을 생성하는 단계;
단순화된 피치 곡선 세그먼트 후보 각각과, 그에 대응하는 서브 세그먼트 내 피치 값들 사이의 편차를 측정하는 단계;
측정된 편차들과 하나 이상의 미리 선택된 기준에 따라 상기 후보들 가운데 하나를 선택하는 단계; 및
선택된 후보에 대응하는 오디오 신호의 서브 세그먼트 내 피치 곡선 데이터를 선택된 후보의 특성과 함께 부호화하는 단계를 포함한다.
본 발명의 일실시예에 따르면, 시간에 따른 오디오 세그먼트 내 피치 곡선 데이터는, 상기 오디오 세그먼트 내 연속되는 복수의 서브 세그먼트들에 대응하는, 복수의 선택된 후보들에 의해 근사되고, 상기 복수의 선택된 후보들 각각은 제1 및 제2종료 포인트들에 의해 구속되며, 상기 코딩은, 종료 포인트들을 나타내는 정보를 제공하여 디코더로 하여금 피치 곡선 데이터가 아닌 상기 정보에 기반하여 오디오 세그먼트의 오디오 신호를 재구성하도록 하는 단계를 포함한다. 연속되는 서브 세그먼트 일부에서의 피치 값들의 개수는 3 보다 크거나 같다.
본 발명의 일실시예에 따르면, 상기 생성 단계는 단순화된 피치 곡선 세그먼트 후보들 각각과 그에 대응되는 서브 세그먼트 내 상기 피치 값들 각각 사이의 편차가 소정 최대값 보다 작거나 같도록 미리 선택된 후보에 의해 제한된다.
본 발명의 일실시예에 따르면, 상기 생성된 세그먼트 후보들은 다양한 길이를 가지며, 상기 선택 단계는 그 세그먼트 후보들의 길이에 기반하며, 상기 미리 선택되는 기준은, 상기 선택된 후보가 세그먼트 후보들 가운데 최대 길이를 가진다는 사실을 포함한다.
본 발명의 일실시예에 따르면, 상기 선택 단계는 세그먼트 후보들의 길이에 기반하며, 상기 미리 선택되는 기준은, 상기 측정된 편차가 같은 길이를 가지는 후보들의 그룹 사이에서 최소라는 사실을 포함한다.
본 발명의 일실시예에 따르면, 상기 단순화된 피치 곡선 세그먼트 후보들 각각은 시작 포인트와 종료 포인트를 가지며, 상기 생성단계는 상기 세그먼트 후보들의 종료 포인트를 조정함으로써 수행된다.
오디오 신호는 스피치 신호를 포함한다.
본 발명의 제2양태에 따르면, 오디오 신호를 부호화하는 코딩 장치가 제공되며, 상기 오디오 신호는 시간에 따라 오디오 세그먼트를 나타내는 복수의 피치 값들을 포함하는 피치 곡선 데이터를 구비한다. 이 코딩 장치는:
피치 곡선 데이터를 수신하기 위한 입력단;
상기 피치 곡선 데이터에 대해, 각각이 오디오 신호의 서브 세그먼트에 대응하는, 단순화된 복수의 피치 곡선 세그먼트 후보들을 생성하기 위해, 상기 단순화된 피치 곡선 세그먼트 후보들 각각과 그에 대응되는 서브 세그먼트 내 상기 피치 값들 사이의 편차를 측정하는 알고리즘; 및 상기 측정된 편차와 미리 선택된 기준에 기반하여 상기 후보들 중 하나를 선택하는 알고리즘을 포함하는 데이터 프로세싱 모듈; 및
상기 선택된 후보에 대해, 상기 선택된 후보에 대응하는 오디오 신호의 서브 세그먼트 내 피치 곡선 데이터를 상기 선택된 후보의 특성과 함께 부호화하는 양자화 모듈을 포함한다.
본 발명의 일실시예에 따르면, 상기 양자화 모듈은 부호화된, 서브 세그먼트 내 피치 곡선 데이터를 표시하는 오디오 데이터를 제공한다. 본 발명의 코딩 장치는, 오디오 데이터를 수신하기 위해 양자화 모듈에 유효하게 연결되어, 저장 매체 안에 오디오 데이터를 저장하는 저장 장치를 더 포함한다.
본 발명의 다른 실시예에 따르면, 코딩 장치는, 저장 매체에 유효하게 연결되어, 상기 부호화된 피치 곡선 데이터를 저장용 저장매체로 공급하는 출력단을 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 코딩 장치는, 상기 부호화된 피치 곡선 데이터를 디코더로 전송하여 디코더로 하여금 상기 부호화된 피치 곡선 데이터에 역시 기반하는 오디오 신호를 재구성할 수 있도록 하는 출력단을 더 포함한다.
본 발명의 제3양태에 따르면, 오디오 코딩 장치와 연계하여 사용될 전자 판독가능 매체에서 구현되는 컴퓨터 소프트웨어 생성물이 제공되며, 상기 오디오 코딩 장치는 오디오 신호를 나타내는 파라미터들을 제공하고, 상기 파라미터들에는 시간에 따른 오디오 세그먼트를 대표하는 복수의 피치 값들을 포함하는 피치 곡선 데이터가 포함된다. 이 소프트웨어 생성물은:
각각이 오디오 신호의 서브 세그먼트에 대응하는 복수의 단순화된 피치 곡선 세그먼트 후보들을 피치 곡선 데이터에 기반하여 생성하는 코드;
상기 단순화된 피치 곡선 세그먼트 후보들 각각과 그에 대응하는 서브 세그먼트의 피치 값들 사이의 편차를 측정하는 코드; 및
상기 측정된 편차 및 미리 선택된 기준에 기반하여 상기 후보들 중 하나를 선택하여, 양자화 모듈로 하여금 상기 선택된 후보에 대응되는 오디오 신호의 서브 세그먼트의 피치 곡선 데이터를 그 선택된 후보의 특성과 함께 부호화할 수 있게 하는 코드를 포함한다.
본 발명의 제4양태에 따르면, 오디오 신호를 재구성하는 디코더가 제공되며, 이때 오디오 신호는 오디오 신호를 표시하는 파라미터들을 제공하도록 부호화되고, 파라미터들에는 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값을 가진 피치 곡선 데이터를 포함하며, 상기 시간에 따른 오디오 세그먼트의 피치 곡선 데이터는 그 오디오 세그먼트 내 복수의 연속적 서브 세그먼트들에 의해 유사하게되며, 이때 상기 서브 세그먼트들 각각은 제1종료 포인트와 제2종료 포인트로 한정된다. 상기 디코더는:
서브 세그먼트들을 한정하는 종료 포인트들을 가리키는 오디오 데이터를 수신하는 입력부; 및
수신된 오디오 데이터에 기초해 오디오 세그먼트를 재구성하는 동작을 포함한다.
본 발명의 일실시예에 따르면, 오디오 데이터는 전자적 매체 상에 기록되고, 디코더의 입력부는 오디오 데이터를 수신하기 위해 이 전자적 매체와 유효하게 연결된다.
본 발명의 다른 실시예에 따르면, 오디오 데이터는 통신 채널을 통해 전송되고, 디코더의 입력은 오디오 데이터 수신을 위해 상기 통신 채널과 유효하게 연결된다.
본 발명의 제5양태에 따라 전자 기기가 제공되고, 이 전자 기기는:
오디오 신호가 오디오 신호를 나타내는 파라미터들을 제공하도록 부호화되고, 상기 파라미터들은 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값들을 가진 피치 곡선 데이터를 포함하고, 시간에 따른 오디오 세그먼트의 피치 곡선 데이터는 각각이 제1종료 포인트와 제2종료 포인트로 경계가 지어진 오디오 세그먼트 내 복수의 연속적 서브 세그먼트들에 의해 근사되어, 서브 세그먼트들을 경계 짓는 종료 포인트들에 기반해 오디오 세그먼트가 구성될 수 있도록, 오디오 신호를 재구성하기 위한 디코더; 및
상기 종료 포인트들을 나타내는 오디오 데이터를 수신하여, 상기 디코더로 오디오 데이터를 제공하는 입력부를 포함한다.
본 발명의 일실시예에 따르면, 상기 오디오 데이터는 전자 매체에 기록되고, 상기 입력부는 오디오 데이터 수신을 위해 상기 전자 매체에 유효하게 연결된다.
본 발명의 다른 실시예에 따르면, 상기 오디오 데이터는 통신 채널을 통해 전송되고, 상기 입력은 오디오 데이터 수신을 위해 상기 통신 채널에 유효하게 연결된다.
상기 전자 장치는 모바일 단말기이거나 단말 모듈일 수 있다.
본 발명의 제6양태에 따라 통신 네트워크가 제공되며, 이 통신 네트워크는:
복수의 베이스 스테이션; 및
상기 베이스 스테이션과 통신하는 복수의 모바일 스테이션을 포함하고,
상기 모바일 스테이션들 가운데 적어도 한 모바일 스테이션은, 오디오 신호가 오디오 신호를 나타내는 파라미터들을 제공하도록 부호화되고, 상기 파라미터들은 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값들을 가진 피치 곡선 데이터를 포함하고, 시간에 따른 오디오 세그먼트의 피치 곡선 데이터는 각각이 제1종료 포인트와 제2종료 포인트로 경계가 지어진 오디오 세그먼트 내 복수의 연속적 서브 세그먼트들에 의해 근사되어, 서브 세그먼트들을 경계 짓는 종료 포인트들에 기반해 오디오 세그먼트가 구성될 수 있도록, 오디오 신호를 재구성하기 위한 디코더; 및 상기 종료 포인트들을 나타내는 오디오 데이터를 수신하여, 상기 디코더로 오디오 데이터를 제공하는 입력부를 포함한다.
도 2 내지 6과 연계되는 상세 설명을 통해 본 발명이 명확히 이해될 수 있을 것이다.
도 1은 종래의 스피치 코딩 시스템을 보이는 블록도이다.
도 2는 본 발명의 일실시예에 따른 구분적 피치 곡선의 예이다.
도 3은 본 발명의 일실시예에 따른 스피치 코딩 시스템을 보이는 블록도이다.
도 4는 구분적 피치 곡선을 생성하는 반복 프로세스의 예를 도시한 흐름도이다.
도 5는 최적으로 단순화된 모델에 기반해 구분적 피치 곡선을 생성하는 반복 프로세스의 예를 도시한 흐름도이다.
도 6은 본 발명을 수행할 수 있는 통신 네트워크를 보이는 개략적 도면이다.
구분적 피치 곡선에서, 도함수(derivative) 변화가 존재하는 상기 곡선의 포인트들만이 디코더로 전송된다. 그에 따라, 피치 파라미터에 요구되는 갱신율이 크게 줄어든다. 원리적으로, 구분적 선형 곡선은 그렇게, "실제 피치 곡선"과의 편차를 소정 한계 이하로 유지하면서 도함수 변화의 수가 최소로 되는 방식으로 생성된다. 포괄적으로 최적의 결과를 얻기 위해, 룩어헤드(lookahead)가 매우 길 수 있고, 최적화는 많은 량의 계산을 필요로 할 것이다. 그러나, 여기서 설명할 무척 간단한 기술로서 매우 양호한 결과가 얻어질 수 있다. 본 발명에 대한 설명은 미리 기록된 오디오 메시지들의 저장에 설계된 스피치 코더에서 이용하는 구성에 기반하고 있다.
구분적 선형 피치 곡선을 생성하기 위한 간단하고도 효율적인 최적화 기술은 한 시점에서 한 선형 세그먼트 처리를 거침으로써 얻어질 수 있다. 각각의 선형 세그먼트에 대해, 선형 세그먼트의 경계 밖의 곡선에 대한 지식을 이용하지 않고 (실제 곡선과의 편차를 충분히 낮게 유지할 수 있는) 최대 길이의 라인이 서치된다. 이러한 최적화 기술에서, 고려해야 할 두 가지 경우들이 존재하는데, 최초의 세그먼트와, 나머지 선형 세그먼트들에 대한 경우가 그것이다.
최초의 선형 세그먼트의 경우는 부호화 프로세스가 시작될 때 처음 일어난 다. 또, 아무 피치값들도 비활성 또는 무성 스피치인 동안 전송되지 않을 때, 이러한 피치 전송 중단 이후 최초의 세그먼트가 이 카테고리에 속한다. 이 두 상황들에서, 라인의 양 끝이 최적화될 수 있다. 다른 경우들은, 라인의 시작 포인트가 이미 고정되어 있어서 종료 포인트 위치만이 최적화될 수 있는 두 번째 카테고리에 속하게 된다.
최초의 선형 세그먼트의 경우, 이제까지 파악된 라인에 대한 최선의 종료 포인트들로서 최초 두 개의 피치 값들을 선택함으로써 프로세스를 시작한다. 그런 다음, 라인의 양단이 제1 및 제3피치 값들에 가까운 경우들을 고려함으로써 실질적 반복(iteration)이 시작된다. 라인의 시작 포인트에 대한 후보들은, 원하는 정밀도의 기준을 만족하도록, 첫 번째 오리지널 피치값과 충분히 가까운 모든 양자화된 피치값들이 된다. 마찬가지로, 종료 포인트의 후보들도 세 번째 오리지널 피치값에 충분히 근접하는 양자화된 피치값들이다. 이 후보들을 찾은 다음, 가능한 모든 시작 포인트 및 종료 포인트 조합이 시도된다: 선형 표현의 정확도가 각각의 오리지널 피치 위치마다 측정되고, 이 위치들 모두에서 정확도 기준이 만족되면 그 라인이 구분적 선형 곡선의 일부로서 받아들여질 수 있다. 또, 현재의 라인과 오리지널 피치 곡선 사이의 편차가, 이러한 반복 단계 중에 받아들여진 다른 라인들 중 어느 하나와의 편차보다 작으면, 현재의 라인이 이제까지 찾은 것 중 최선의 라인으로서 선택된다. 시도된 라인들 중 적어도 하나가 받아들여질 때, 세그먼트에 대해 피치값을 하나 더 취한 후 이 프로세스를 되풀이하는 것으로서 반복이 지속된다. 선택할 수 있는 것들 중 아무것도 받아들여지지 않을 때, 최적화 프로세스는 종료되고, 최적화 중에 찾은 최선의 종료 포인트들이 구분적 선형 피치 곡선의 포인트들로서 선택된다.
다른 세그먼트들의 경우, 종료 포인트의 위치만이 최적화될 수 있다. 고정된 시작 포인트 다음의 첫 번째 피치값을 지금까지 발견한 라인의 최선의 종료 포인트라고 선택하는 것으로서 프로세스가 시작된다. 그런 다음, 피치값 하나를 더 고려함으로써 반복절차가 시작된다. 라인의 종료 포인트 후보들은, 원하는 정확도의 기준을 만족하도록 그 위치에서 오리지널 피치값과 충분히 가까운 양자화된 피치값들이다. 이 후보들을 찾은 후, 이들 모두가 종료 포인트로서 시험된다. 선형 표현의 정확도가 각각의 오리지널 피치 위치마다 측정되고, 이러한 모든 위치들에서 정확도 기준이 만족될 때 그 후보 라인이 구분적 선형 곡선의 일부로서 받아들여질 수 있다. 또, 오리지널 피치 곡선과의 편차가 이 반복 단계 중에 시험된 다른 라인들과의 것 보다 적으면, 그 종료 포인트 후보가 이제까지 발견된 최선의 종료 포인트로서 선택된다. 시험된 라인들 중 적어도 하나가 받아들여지면, 세그먼트에 대해 피치값을 하나 더 취한 후 프로세스를 되풀이함으로써 반복이 계속된다. 선택할 수 있는 것들 중 아무것도 받아들여지지 않을 때, 최적화 프로세스는 종료되고, 최적화 중에 발견된 최선의 종료 포인트가 구분적 선형 피치 곡선의 포인트로서 선택된다.
위에서 자세히 설명한 두 경우들에서, 상기 반복절차는 두 가지 이유로 인해 조기에 끝날 수 있다. 첫째, 더 이상 계속되는 피치값들이 없는 경우 프로세스가 종료된다. 이것은 룩어헤드 전부가 사용되었거나, 스피치 인코딩이 끝났거나, 비 활성 혹은 무성 스피치인 동안 피치 전송이 정지되었을 때 일어날 수 있다. 둘째로, 포인트 위치들을 보다 효율적으로 부호화하기 위해 하나의 선형 부분에 대한 최대 길이를 제한하는 것이 가능하다. 두 경우 모두에 대해, 최대값 imax를 사용할 수 있는 피치값의 개수 및 라인 양단 사이의 최대 시간-거리에 기반하는 반복 회수 i로 설정함으로써, 이러한 문제들을 고려할 수 있다. 이러한 반복 절차를 도 4에서 보인다.
구분적 선형 피치 곡선의 새 포인트가 찾아진 후, 그 포인트는 비트스트림으로 부호화될 수 있다. 각 포인트 마다 두 값들이 주어져야 한다: 그 포인트에서의 피치값과, 새 포인트와 곡선의 이전 포인트 사이의 시간-거리가 그것이다. 당연히, 시간-거리는 곡선의 첫 번째 포인트에 대해 부호화될 필요가 없다. 피치값은 스칼라 양자화기를 이용해 편리하게 부호화될 수 있다. 오디오 메뉴들의 저장을 위해 설계되는 코더에 사용되는 구성을 통해, 각각의 시간 거리 값은
Figure 112006028094137-pct00001
를 이용해 부호화된다. 바람직하다면, 허프먼(Huffman) 코딩 같은 어떤 무손실 코딩을 시간 거리 값들에 대해 사용하는 것 역시 가능하다. 피치 값들은 스칼라 양자화를 이용해 부호화된다. 스칼라 양자화기는 다음의 식을 이용하여 얻어지는 32 레벨 (5 비트)을 가지고 있다.
Figure 112006028094137-pct00002
위에서 n은 2에서 32까지의 값이고, p(1)=19 샘플들이다. 따라서, 낮은 피 치 주파수대에서 더 많은 왜곡이 허용된다. 또, 로그 함수 도메인에서 피치 양자화 중에 왜곡 측정을 수행함으로써 인간의 청각 시스템에 대한 기존의 알려진 특성들이 활용된다.
오리지널 피치 곡선과 나란한 본 발명에 의한 구분적 피치 곡선의 예가 도 2에 도시된다. 도 2에 도시된 대로, 각각의 선형 세그먼트는 시작 포인트와 종료 포인트의 두 포인트들을 잇는 직선이다. 예를 들어, 도 2에 도시된 구분적 피치 곡선의 두 번째 라인 세그먼트는 t=1.22초 상의 포인트와 t=1.29초 상의 포인트를 잇는 직선이다. t=1.22초와 t=1.29초 사이의 시간 안에 든 피치 값의 개수는 시작 포인트와 종료 포인트를 포함해서 8 개이다.
본 발명을 수행하기 위해, 스피치 코딩 시스템은 구분적 피치 곡선 생성을 위한 추가 모듈을 포함한다. 도 3에 도시된 것과 같이, 스피치 코딩 시스템(1)은 인코딩 모듈(10)을 포함하며, 인코딩 모듈(10)은 복수의 세그먼트들로 된 입력 스피치 신호를 처리하기 위한 특성(parametric) 스피치 코더(12)를 포함한다. 각각의 세그먼트에 대해, 코더(12)는 입력 신호의 파라미터 표현(112)을 결정한다. 파라미터들은 스피치 코딩 시스템에 따라 오리지널 파라미터들이 양자화되거나 비양자화된 버전들일 수 있다. 파라미터 표현에 대해 압축 모듈(20)이, 가령 소프트웨어 프로그램(22)을 사용해 그 피치 곡선을 구분적 피치 곡선으로 감축시킨다. 그런 다음 구분적 곡선상의 포인트들이 양자화 모듈(24)에 의해 비트스트림(120)으로 부호화되어 통신 채널을 통과하거나 저장 매체(30)에 저장된다. 수신단에서, 수신된 비트스트림(130) 내 구분적 피치 곡선 및 기타 스피치 파라미터들을 나타내는 정보에 기반하여 합성 스피치 신호(140)를 생성하는데 디코더(40)가 사용된다.
구분적 피치 곡선 생성 모듈(20)에 든 소프트웨어 프로그램(22)에는 도 4에 도시도니 것과 같은 흐름도(50)에 따라 피치 곡선의 피치 값들을 처리하는 기계어 판독 코드들이 포함된다. 흐름도(500)는 구분적 피치 곡선의 선형 세그먼트를 나타내는 직선을 선택하기 위한 반복 스텝(iteration)을 보인다. 각각의 직선은 시작 포인트 Q(po) 및 종료 포인트 Q(pi)를 포함한다. 첫 번째 세그먼트에 있어서, 시작 포인트 Q(po) 및 종료 포인트 Q(pi) 둘 모두가 선택되어야 한다. 다른 모든 선형 세그먼트들에 대해서는, 종료 포인트 Q(pi)만이 선택되어야 한다. 반복 단계는 세 개의 피치 값들을 포함하는 시기에 걸쳐있는 선형 세그먼트를 선택하는 동작부터 시작한다. 그래서, 시작 포인트가 시간상의 제1포인트에 위치하고 종료 포인트가 시간상의 제2포인트에 위치하면, 시간상의 제1포인트와 시간상의 제2포인트까지의 시기 안에는 세 개의 피치 값들이 존재한다. 따라서, i=2라고 정해진다(502 단계). 504 단계에서, 종료 포인트가, 시간상의 제2포인트에 있는 피치 값 근처 혹은 그 위의 포인트로서 선택된다. 506 단계에서, 시간상의 제1포인트와 시간상의 제2포인트까지의 시간 안에 들어 있는 피치 값들 각각과, 그 시작 포인트 및 종료 포인트를 잇는 직선 라인 사이의 편차가 측정된다. 이와 달리, 소정 간격마다 편차가 측정될 수도 있다. 508 단계에서, 현재의 직선이 후보로서 받아들여질 수 있는 것인지 여부를 판단하기 위해 그 편차가 소정 에러 값과 비교된다. 그 시기 안의 몇몇 피치 값들에서의 편차가 소정 에러 값을 초과하면, 종료 포인트 (선형 세그먼트가 최초의 세그먼트인 경우 시작 포인트와 함께)가 조정되고, 반복 프로세 스는 506 단계로 다시 돌아가 어떤 조정도 가능하지 않을 때까지 루프를 돈다. 508 단계에서 판단시 현재의 직선이 받아들여질 수 있는 것일 때, 그 직선이 지금까지 중 가장 양호한 직선인지의 여부를 판단하기 위해 그 직선을 앞의 결과들과 비교한다(510 단계). 이제까지 중 가장 바람직한 직선(최선 직선)은 같은 i를 가진 이때껏 이미 얻어진 직선들 가운데 편차 절대값들의 합이 가장 적은 직선이다. 그 지금까지의 최선 직선이 저장된다(512 단계). 종료 포인트는 조정이 가능하지 않을 때까지 다시 조정된다(520 단계).
520 단계에서 판단할 때 조정이 더 이상 가능하지 않으면, 반복 프로세스를 중단하고 512 단계에서 저장한 최선 라인을 현재의 직선 세그먼트로 사용할 것인지, 아니면 526 단계에서 (524에서 판단할 때 현재의 i가 이미 imax와 같게 되지 않았다면) i를 1 증가시켜 라인 세그먼트를 더 확장할 것인지 여부를 결정해야 한다. i를 1 증가시킨 다음, 522 단계에서 판단할 때 어떤 확장 라인도 허용되지 않을 수 있다. 이 경우, 이전 i에서의 최선 라인이 현 세그먼트에 대한 직선으로 사용된다. 후보들의 개수는 가령 종료 포인트가 샘플 값과 얼마나 많이 다를 수 있는지에 대한 최대 제한치를 설정하는 등에 의해 제한될 수 있다. 서로 다른 종료 포인트 후보들 사이의 간격들 역시 가능한 후보들의 량을 제한하기 위해 정해질 수 있다.
도 2의 구간적 피치 곡선에서, 세 번째의 선형 세그먼트는 t=1.29 초 및 t=1.30 초에서의 두 피치 값들만을 커버한다. 이것은, t=1.30 초가 두 스피치 신 호 세그먼트들을 분리하는 시간상의 포인트이기 때문이다.
종료 포인트나 시작 포인트의 조정은 단계에 따라 수행될 수 있음을 역시 알아야 한다. 예를 들어, Q(pi)의 조정은 Q(pi) 값을 한 양자화 단계 증가 또는 감소시킴으로써 수행될 수 있다. 그러나, 조정은 그보다 작거나 그보다 큰 단계로도 수행될 수 있다. 또, 최장 라인, 또는 imax의 한계가 64와 같은 큰 수로 정해질 수 있다. 이런 경우, 시작 포인트 및 종료 포인트 사이의 주기 (및, 그에 따른 i)가 크게 달라진다. 예를 들어, 네 번째 라인 세그먼트의 i는 5에 해당하지만, 다섯 번째 라인 세그먼트의 i는 23이 될 수 있다. 그러나, imax가 가령 5로 정해지면, 대부분 혹은 전 선형 세그먼트들의 주기 (및 i)는 동일하게 된다. 따라서, 본 발명은 i가 가변적이고 imax는 가변적이거나 고정된 수일 때 적용가능하다. 또, 세그먼트 후보와 510 단계의 지금까지의 치선의 후보를 선택하는데 사용된 피치 값들간 측정 편차는 차들의 절대값의 합이거나 기타 편차 측정치일 수 있다. 세그먼트 후보들의 생성은 각 피치 값과 그에 대응하는 세그먼트 후보 내 포인트 사이의 최대 절대값 차와 같은 소정 기준에 따라 제한될 수 있다. 예를 들어, 최대 차는 다섯 개나 열 개의 양자화 단계들일 수 있으나, 그보다 작거나 그보다 큰 수일 수도 있다.
또, 상술한 바와 같은 본 발명은 변형된 피치 곡선 양자화의 기본 개념을 벗어나지 않으면서 변형될 수 있다. 먼저, 다른 최적화 기술들이 사용될 수 있다. 둘째로, 전송될 피치 값들의 개수가 적은 수를 계속 유지할 수 있는 한, 변형된 피 치 곡선이 구분적인 선형 곡선일 필요가 없다. 셋째, 피치 값들과 시간 거리들을 부호화하는데 사용되는 양자화 기술들이 변화될 수 있다. 넷째, 피치 추정 중에 이미 다른 선택 가능한 피치 곡선을 생성하는 것이 가능하다.
또한, 상술한 실시예는 유일하게 선택할 수 있는 실시예가 결코 아니다. 예를 들어, 새 피치 곡선을 결정하는데 사용되는 최적화 기술이 자유롭게 선택될 수 있다. 또, 새 피치 곡선이 구분적 선형 곡선일 필요도 없다. 예를 들어, 스플라인(spline), 다항식, 이산 코사인 변환 등등을 나타낼 수 있다. 예를 들어, 비선형 곡선이 다음과 같은 일반적인 식을 가질 수 있다:
Figure 112006028094137-pct00003
이 경우, 종료 포인트들은 필요할 때 갱신되지만, 이 알고리즘은 디코더에 단 한 번만 제공해도 충분하다.
일반적 논의
피치 곡선에 대한 단순화된 최적 모델에 대한 서치는 수학적 최적화 문제로서 공식화될 수 있다. f(t)가 0에서 tmax 범위 안의 오리지널 피치 곡선을 나타내는 함수를 말한다고 하자. 또, g(t)는 단순화된 피치 곡선을 나타낸다고 하고, d(f(t), g(t))는 두 곡선들의 시점 t에서의 편차를 나타낸다고 하자. 이제 해결해야 할 최적화 문제는 두 최적 조건을 만족하는 간략호된 피치 곡선 g(t)를 찾는 것이다:
(I) 곡선 g(t)를 나타내는데 필요한 비트 개수는 최소화된다.
(II) d(f(t), g(t))≤ h(f(t)), 0≤t≤tmax .
여기서 h(·)는 오리지널 피치 곡선으로부터 최대 허용 가능한 편차를 나타낸다. 위의 두 조건들을 만족하는 일련의 곡선들로부터, 총 편차를 최소화하는 곡선 함수,
Figure 112006028094137-pct00004
가 단순화된 최종 곡선으로 선택된다.
일반적으로, 상기 최적화 문제는 해결될 수가 없다. 그러나, 이 문제는 피치 곡선 모델을 고정시켜 그 일반성을 감소시킬 때 해결될 수 있다. 예를 들어, 구분적 선형 모델에서, 함수 g(t)는 g(t)의 도함수가 변화하는 포인트들을 이용해 나타내질 수 있다. qn과 tn은 그러한 포인트 중 n 번째 포인트의 좌표를 나타낸다고 하자( 1<n≤N, N은 이 구분적 선형 모델 내 이러한 포인트들의 개수이다). 단순화된 곡선은 N-1 개의 선형 조각들로 다음과 같이 이뤄질 수 있다.
Figure 112006028094137-pct00005
1≤n≤N-1이다. 이 정의를 완전하게 하기 위해, tn<tn+1이고, t1=0이고 tN=tmax 여야 한다. 또, qn의 모든 값들이 qmin부터 qmax의 유한 범위 안에 있어야 될 필요가 있다. 이 모델을 이용할 때, 최적화 문제는 조건 (I)와 (II)를 만족하고 수학식 1의 총 편차를 최소화하는 곡선 g(t)를 나타내는 일련의 포인트들(tn=qn)에 대한 서치로 저감된다. 이제, 포인트 좌표들이 제한된 레졸루션(resolution)으로만 표현될 수 있다는 합당한 전제를 함으로써, 문제가 해결될 수 있게 되는데, 이는 포인트들이 유한한 수의 가능한 포인트 위치들을 갖는 그리드 안에 위치하기 때문이다. 이러한 전제는 유한한 정확도가 최적성 조건 (I)으로부터 바로 이어지기 때문에 공식화(formulation)의 일반성을 저하하지 않는다.
문제에 대한 해법
위의 설명에서 공식화된 최적화 문제는 여러가지 방법으로 해결될 수 있다. 여기서는 두 개의 해법에 대해 설명한다. 첫 번째 해법은 계산상 부담은 되지만 항상 보편적인 최적성을 찾을 수 있는데 반해, 두 번째 해법은 매우 단순하지만 차선의 최적 결과만을 도출해 낸다. 두 해법들 모두에서, 코드북 C={c1, c2, ..., cM}을 가진 스칼라 양자화기를 이용해 피치 값들 qn이 비트들로 부호화되고, 시간 인덱스들인 tn은 어떤 시간 단위 T의 정수 배수들이라고 전제한다. 또, C와 T 모두, 어떤 해법이 존재하도록 하는 방식으로 선택된다고 가정하고, 곡선을 표현하는데 필요로 되는 비트 수는 N (단순화된 곡선을 정의하는데 필요로 되는 포인트들의 개수)를 최소로 하여 최소화될 수 있다고 합당하게 추가 전제할 수 있다.
전면적인 최적의 방법
전면적으로 최적인 해법은 다음과 같은 수월한 무차별 대입(brute force) 알고리즘을 이용해 얻어질 수 있다:
단계 1. 초기화. N=1로 설정.
단계 2. N=N+1로 설정. 현재의 N으로 알맞은 구분적 선형 모델을 찾을 수 있나? 만약 찾을 수 있다면, 단계 3으로 진행. 찾을 수 없으면, 단계 2 반복.
단계 3. 빠져나가 단순화된 곡선을 부호화. 여러 개의 알맞은 곡선 후보들이 존재하면, 수학식 1의 총 편차를 최소화하는 한 가지를 선택.
단계 2의 테스트는 최적성 조건 (II)에 반하는 모든 알맞은 구분적 선형 곡선 후보들 (현재의 N을 가진)을 체크함으로써 수행될 수 있다. 첫 번째 반복(N=2) 중에, 후보들은 다음 조건을 만족하는 종료 포인트들(t1, q1) 및 (t2, q2)을 갖는 모든 라인들이다.
Figure 112006028094137-pct00006
이 경우, 시간 인덱스들은 t=0 및 t2=tmax로 고정된다. q1 및 q2는 코드북 C로부터 선택되고, 그에 따라 제한된 개수의 후보들만이 있게 된다. 두 번째 반복(N=3) 중에, 곡선 후보들은 두 (N-1) 선형 조각들을 가진다. 이 때, 첫 번째와 마지막 시간 인덱스들 (t1 및 t3)은 0과 tmax로 고정되는 반면, 시간 인덱스 t2는 T 부터 tmax-T의 범위 안에서 T 간격으로 조정될 수 있다.
단계 2의 체크가 조건 (II)를 다루고, 반복 프로세스에 의해 조건 (I)이 확실히 만족되고, 총 편차가 단계 3에서 최소화되기 때문에, 상기 알고리즘이 항상 최적 곡선 후보들을 찾을 것임을 쉽게 알 수 있다. 그러나, 이러한 알고리즘의 복잡도가 문제의 범위가 늘어남에 따라 극도로 빠르게 증가할 것이라는 것 역시 잘 알 수 있다. 보다 정확히 말하면, 최악의 경우, 알고리즘은 다음과 같은 상이한 곡선 후보들을 겪을 수 있다.
Figure 112006028094137-pct00007
위 식에서, b는 수학식 3의 조건을 만족시킬 수 있는 최대 코드북 종료리 개수를 나타내고, m= (tmax/T)-1이다.
실제 상황에서, 이러한 변수들은, 가령, b=3, m=62이고, 이것이 최악의 경우 약 1.9·1038 개의 곡선 후보들이 있게 한다. 결과적으로, 이러한 이론적 최적의 접근 방식은 단지 b와 m이 작을 때에만 (가령, b=3이고 m=8일 때, 최악의 후보 개수는 589824개) 사용될 수 있고 그에 따라 이러한 접근 방식은 대부분의 실제적 구현에 대해서는 적절하지 못하다고 결론지을 수 있다.
간단한 차선의 최적 접근 방법
앞에서 논의되었다시피, 최적화 프로세스는, 목표가 항상 전면적으로 최적인 구분적 선형 곡선을 찾는 것일 때, 많은 량의 계산을 필요로 할 수 있다. 그러나, 여기서 논의되는 것은 매우 간단하면서 계산에 있어 효율적인 기술 (문제의 범위가 증가할 때 복잡도가 선형적으로만 커짐)을 가지고 매우 양호한 결과를 얻을 수 있다. 그 간단함 말고도, 이러한 접근 방식의 한 가지 장점은, 전체 피치 곡선이 한번에 처리되는 것이 아니라, 상대적으로 작은 룩어헤드 만이 필요로 된다는 데 있다.
이 단순화된 접근 방식의 주요 개념은, 한 번에 한 선형 조각(piece)에 대해 최적화 프로세스를 거치게 하는 것이다. 각 선형 조각마다, 그 선형 조각의 경계들 밖의 곡선에 대한 지식을 사용하지 않으면서 실제 곡선과의 편차를 충분히 낮게 유지할 수 있는 최대 길이의 라인이 모색된다. 이러한 최적화 기술 안에서, 분리하여 고려해야할 두 경우들이 있다: 최초의 선형 조각과 나머지 선형 조각들의 경우가 그것이다. 최초의 선형 조각의 경우는 부호화 프로세스가 시작될 때 처음 발생한다. 또, 비활성 또는 무성 스피치인 동안 아무 피치 값들도 전송되지 않을 때, 이러한 피치 전송의 중단 후 최초의 선형 조각들이 이 카테고리에 해당한다. 최초의 선형 조각과 관련한 그 두 상황들에서, 라인의 양단이 최적화된다. 다른 경우들은 라인의 시작 포인트가 이미 이전 선형 조각의 최적화 때 정해졌고 그에 따라 종료 포인트만이 최적화되는 두 번째 카테고리에 해당한다.
최초의 선형 조각의 경우, 시간 인덱스 0과 T에서의 양자화된 피치 값들을 이제까지 찾은 라인에 대한 최선의 종료 포인트들로서 선택하는 것으로 프로세스가 시작된다. 그런 다음, 라인의 양단이 시간 인덱스 0과 2T에서의 오리지널 피치 값들에 충분히 근사한 경우들을 고려하는 것으로 실제 반복 단계가 시작된다. 즉, 시작 포인트의 후보들은 원하는 정확도의 기준 (수학식 3에서 주어짐)이 만족 되도록 t1=0에서 오리지널 피치 값과 충분히 근사하는 모든 양자화된 피치 값들이다. 마찬가지로, 종료 포인트에 대한 후보들은, t2=2T에서의 오리지널 피치 값들에 충분히 가까운 양자화 피치 값들이다. 후보들이 파악된 후, 가능한 모든 시작 포인트와 종료 포인트 조합들이 시도된다: 선형 표현의 정확도가 t1과 t2 사이의 시간 구간에서 측정되고, 정확도 기준이 만족되면 그 후보 라인이 구분적 선형 곡선의 일부로서 받아들여질 수 있다. 또, 오리지널 피치 곡선과의 편차가, 이러한 반복 단계 중에 받아들여진 다른 라인들 중 어느 하나와의 편차보다 작으면, 현재의 라인이 이제까지 찾은 것 중 최선의 라인으로서 선택된다. 후보들 중 적어도 하나가 받아들여질 때, t2를 사이즈 T만큼 증가시킨 후 이 프로세스를 되풀이하는 것으로서 반복이 지속된다. 라인들 중 아무것도 받아들여지지 않을 때, 최적화 프로세스는 종료되고, 이전 반복 처리 중에 찾은 최선의 종료 포인트들이 구분적 선형 피치 곡선의 최초 포인트들로서 선택된다.
다른 선형 조각들의 경우, 시작 포인트는 이미 이전의 선형 조각에 대한 최적화 중에 고정되었으므로, 종료 포인트의 위치만이 최적화될 수 있다. 고정된 시작 포인트 다음 간격 T에 위치한 양자화 피치 값을 지금까지 발견한 라인의 최선의 종료 포인트로 선택하는 것으로서 프로세스가 시작된다. ((tn-1, qn -1) 및 (tn, qn)은 각각 고정 시작 포인트 및 최적화도리 종료 포인트를 나타낸다고 하자.) 그런 다음, 한 시간 스텝, 즉 tn= tn-1 + 2T을 더 고려함으로써 반복절차가 시작된다. 라인의 종료 포인트 후보들은, 원하는 정확도의 기준을 만족하도록 새 tn에서의 오리지널 피치값과 충분히 가까운 양자화(된) 피치값들이다. 이 후보들을 찾은 다음, 나머지 프로세스는 첫 번째 선형 조각에 대한 경우와 비슷하다.
위에서 자세히 설명한 두 경우들에서, 상기 반복절차는 두 가지 이유로 인해 조기에 끝날 수 있다. 첫째, 오리지널 피치 곡선이 tn+T 이전에 끝나기 때문에 tn이 증가될 수 없는 경우 프로세스가 종료된다. 이것은 전체 룩어헤드 버퍼가 사용되었거나, 부호화될 스피치 신호가 다했거나, 피치 전송이 비활성 혹은 무성 스피치인 동안 정지되었을 때 일어날 수 있다. 둘째로, 포인트들의 시간 인덱스들을 보다 효율적으로 부호화하기 위해 하나의 선형 부분에 대한 최대 길이를 제한하는 것이 가능하다. 두 경우 모두에 대해, 라인의 양단 사이의 최대 시간 거리 및 가능한 피치 곡선의 듀레이션(duraton)에 기반하여 최대값 tnmax를 정함으로써, 이러한 문제들을 고려할 수 있다. 이러한 반복 절차를, 하나의 선형 조각에 대한 최적화 프로세스를 보이는 도 5의 흐름도 600에서 예시한다.
흐름도 600은 구분적 피치 곡선의 한 선형 세그먼트를 나타내는 직선을 선택하기 위한 반복 스텝(iteration)을 보인다. 직선은 시작 포인트 Q(f(tn-1)) 및 종 료 포인트 Q(f(t))를 포함한다. 첫 번째 선형 세그먼트에 있어서, 시작 포인트 Q(f(tn-1)) 및 종료 포인트 Q(f(t)) 둘 모두가 선택되어야 한다. 나머지 다른 모든 선형 세그먼트들에 대해서는, 종료 포인트 Q(f(t))만 선택되어야 한다. 반복 단계는 tn= tn-1 + T에서 시작하는 선형 세그먼트를 선택하는 동작부터 시작한다. 시작 포인트 Q(f(tn-1)) 및 종료 포인트 Q(f(t))는 이때까지의 최선의 종료 퐁니트들이라고 간주된다. 그에 따라, 602 단계에서, tn= tn-1 + T를 설정한다. 604 단계에서, 종료 포인트는, f(tn) 가까이 있는 포인트로서 선택된다. 첫 번째 선형 세그먼트에 있어서, 시작 포인트는 f(tn-1) 가까이 있다. 다른 모든 세그먼트들에서, 시작 포인트는 고정된다. 606 단계에서, 후보 라인과, tn부터 tn- 1 까지의 시기 내 피치 값들 각각 사이의 편차가 측정된다. 608 단계에서, 현재의 직선이 후보로서 받아들여질 수 있는 것인지 여부를 판단하기 위해 그 편차가 소정 에러 값과 비교된다. 그 시기 안의 몇몇 피치 값들에서의 편차가 소정 에러 값을 초과하면, 종료 포인트 (선형 세그먼트가 최초의 세그먼트인 경우 시작 포인트와 함께)가 조정되고, 반복 프로세스는 606 단계로 다시 돌아가 어떤 조정도 가능하게 되지 않을 때까지 루프를 돈다. 608 단계에서 판단시 현재의 직선이 받아들여질 수 있는 것일 때, 그 직선이 지금까지 중 가장 양호한 직선인지의 여부를 판단하기 위해 그 직선을 이전의 결과들과 비교한다(610 단계). 이제까지 중 가장 바람직한 직선(최선 직선)은 같은 i를 가진 이때껏 이미 얻어진 직선들 가운데 편차 절대값들의 합이 가장 적은 직선이다. 그 지금까지의 최선 직선이 저장된다(612 단계). 종료 포인트는 조정이 가능하지 않을 때까지 다시 조정된다(620 단계).
620 단계에서 판단할 때 조정이 더 이상 가능하지 않으면, 반복 프로세스를 중단하고 612 단계에서 저장한 최선 라인을 현재의 직선 세그먼트로 사용할 것인지, 아니면 626 단계에서 (624 단계에서 판단할 때 현재의 i가 이미 imax와 같게 되지 않았다면) tn을 T 만큼 증가시켜 라인 세그먼트를 더 확장할 것인지 여부를 결정해야 한다. tn을 T 만큼 증가시킨 다음, 622 단계에서 판단할 때 어떤 확장 라인도 허용되지 않을 수 있다. 이 경우, 이전 tn에서의 최선 라인이 현 세그먼트에 대한 직선으로 사용된다. 후보들의 개수는 가령 종료 포인트가 샘플 값과 얼마나 많이 다를 수 있는지에 대한 최대 제한치를 설정하는 등에 의해 제한될 수 있다. 서로 다른 종료 포인트 후보들 사이의 간격들 역시 가능한 후보들의 량을 제한하기 위해 정해질 수 있다.
실제 구현
이 자료에서 도입한 피치 곡선 양자화 기술은 스토리지 어플리케이션을 위해 설계된 실제 스피치 코더 안에 포함되어 있다. 코더는 매우 낮은 비트 레이트(약 1 kbps)로 동작하고 가변적 듀레이션 (20과 640 ms 사이)의 세그먼트들로 된 8 kHz 입력 스피치를 처리한다. 실제 구성에서, 간단한 차선의 최적화 접근 방식이 이용되며, 현 세그먼테에 위치된 피치 곡선 만이 최적화시 고려된다. 무성음이나 비활성 세그먼트들인 동안, 아무 피치 정보도 부호화되지 않는다. 변수 T는 피치 추정 간격인 10ms로 정해진다. 또, 연속 피치 곡선이 (10 ms 간격마다) 피치 추정 값들인 pk로 이뤄진 이산(discrete) 곡선을 이용해 근사된다. 결과적으로, 최적성 조건(II)은 다음과 같이 변하게 된다.
Figure 112006028094137-pct00008
또, 수학식 1의 총 왜곡의 최소화가 다음 식의 최소화로서 근사화된다.
Figure 112006028094137-pct00009
함수 d는 에러의 절대값, 즉, d(x, y)=|x-y|이다.
주어진 피치 값에 대한 최대 허용 가능 부호화 에러를 규정하는 함수 h는 다음과 같이 정해진다.
Figure 112006028094137-pct00010
같은 함수가 피치 값들인 qn의 스칼라 양자화에 사용되는 코드북 C의 생성시에도 사용된다. 32 레벨 (5 비트)의 코드북 종료리들은 cj = cj-1 + h(cj-1)을 이용해 계산되고, 이때 c1 = 19이다. 이 코드북은 코더에서 사용되는 피치 주기의 범위 를 모두 다루고 경험적(실험) 결과들과 거의 일치된다. 또, 이 코드북과 함수 h는, 사람의 귀의 주파수 분해능이 주파수가 증가하면서 떨어지는 것으로 전제된다는 점에서 민감 대역 이론을 대략 추종하고 있다. 인식적 성능을 더 향상시키기 위해, 양자화는 로그 함수 도메인에서 이루어진다.
시간 인덱스들은, t1이 항상 0이기 때문에 각 세그먼트의 최초 포인트에 대해서는 시간 거리가 전혀 부호화되지 않는다는 것을 제외하고, 미분(differential) 양자화를 이용해 한 번에 한 세그먼트에 대해 부호화된다. 미분 코딩 체계에서, 소정 시간 인덱스는, 그 인덱스와 이전 시간 인덱스 사이의 시간 거리를 이용해 사이즈 T의 간격으로 부호화된다. 좀 더 자세히 말하면, 소정 tn의 값이, ((tn-tn-1)/T)-1을
Figure 112006028094137-pct00011
비트들을 포함하는 바이너리 표현으로 전환함으로써 부호화되며, 이때 imax는 현재의 선형 조각에 허용될 수 있었을 최대 길이를 나타낸다. 한 추가적 트릭이 본 발명의 구현시 사용되어 코딩 효율을 향상시키게 된다: 부호화될 시간 인덱스들의 수가 세그먼트 내 피치 추정 회수의 절반을 초과하면, 시간 인덱스들인 tn 대신 "빈" 시간 인덱스들이 부호화된다 (그리고 한 비트는 어떤 코딩 체계가 사용되는지를 알리는데 사용된다). 그러나, 이러한 트릭의 효율은 스토리지 코더 구성에 사용되는 세그먼트별 처리에 의해 가능함을 알아야 한다. 연속적 프레임 기반 프로세싱을 하는 일반적인 경우, 보다 좋은 방법은 허프먼 코딩과 같은 어떤 무손실 코딩 기술을 시간 거리 값들에 바로 적용하는 것일 것이다.
상술한 실시예는 오리지널 곡선과의 편차를 수학식 7에 정의된 허용가능한 최대 편차 이하로 유지하도록 평균 약 100 bps의 비트 레이트로 피치 곡선을 부호화할 수 있다. 이렇게 매우 낮은 비트 레이트에도 불구하고, 부호화된 피치 곡선은 오리지널 곡선과 매우 근사하게 된다. 평균 코딩 에러 및 최대 절대값 코딩 에러는 99 bps에서 각각, 약 1.16 및 5.12 샘플들이다. 전문 청취자들에 의해 판단될 때 부호화된 곡선이 오리지널 곡선과 쉽게 구별될 수 있을 수는 있지만, 코딩 에러는 특별히 문제가 되지 않는다. 피치 양자화 기술이, 전문적이지 않은 청취자들에 대해 명확하게 테스트 되지는 않았으나; 형식적 듣기 테스트를 통해, 제안된 피치 양자화 기술을 포함하는 스토리지 코더의 성능이, 200 bps 이상의 평균 비트 레이트 감소 (피치 단독으로는 감소가 약 70 bps)에도 불구하고, 1.2 kbps의 기존의 최신 기술로 이뤄진 참조 코더를 큰 폭으로 앞선다는 것을 보였다.
종합하면, 본 발명은 일반적인 피치 곡선이 매우 완만하게 전개되지만 때때로 급격한 변화를 포함한다는 사실을 이용하여, 오리지널 피치 곡선을 근사하게 따르지만 부호화될 정보는 보다 덜 포함하는 구분적(piece-wise) 선형 피치 곡선을 생성하도록 하였다. 예를 들어, 도함수가 변화하는 경우의 구분적 선형 피치 곡선의 포인트들만 양자화된다. 무성음인 동안은, 일정한 디폴트 피치 값이 인코더와 디코더 모두에서 사용될 수 있다. 또, 피치 주파수가 낮은 경우들에서 실제 피치 곡선에 대해 더 큰 편차를 허용함으로써, 사람의 청력 특성이 활용되고 있다. 본 발명은 인식에 있어 충분한 양자화 정확도에 요구되는 비트 레이트의 실질적 감소r 가 있게 만든다: 제안된 양자화 기술을 가지고, 약 100 bps의 평균 비트 레이트로, 500 bps로 동작하는 일반적 피치 양자화기(5 비트 양자화기, 초당 100 피치 값들)의 정밀도 수준에 가까운 정밀도 수준에 도달할 수 있다. 만일 본 발명에서 설명한 방법을 보충하기 위해 무손실 압축이 사용된다면, 비트 레이트를 약 80 bps 정도로 더 줄이는 것이 가능하다.
본 발명의 주요 유틸리티에는 다음과 같은 것들이 포함된다:
- 선행 기술의 기술들에서 보다 훨씬 낮은 평균 갱신 레이트를 사용하는 것이 가능하다.
- 구분적 선행 피치 곡선이 실제 피치 곡선에 매우 근사하도록 디코더에서 재구성될 수 있다.
- 본 발명은, 인간의 귀가 피치 주파수가 낮을 때 피치 변환에 더 민감하다는 사실을 참작한 것이다.
- 이 기술은 비트 레이트의 상당한 감소를 가능하게 한다.
-본 발명은 기존 스피치 코더들과 함께 사용될 수 있는 부가적 블록으로서 구현될 수 있다.
본 발명은 스토리지 어플리케이션들에 적합하며, 미리 녹음된 오디오 메시지들을 위해 설계된 스피치 코더에 성공적으로 이용되고 있다. 타겟 어플리케이션을 통해, 오디오 메시지들 (오디오 메뉴들)이 컴퓨터 상에서 오프라인으로 기록 및 부호화된다. 그 결과에 의한 저 레이트 비트스트림이 저장되어 모바일 단말기 안에서 국지적으로 복호화될 수 있다. 저 레이트 비트스트림은 도 6에 도시된 것과 같 은 통신 네트워크의 구성 요소에 의해 제공될 수 있다. 도 6은, 본 발명에 따라, 미리 기록된 오디오 메뉴들 및 이와 비슷한 어플리케이션들의 저장과 관련한 코더 구성에 사용될 수 있는 통신 네트워크의 대략적 도면이다. 이 도면에서 보여지는 바와 같이, 네트워크는 스위칭 서브 스테이션(NSS)에 연결되는 복수의 베이스 스테이션(BS)들을 포함하며, NSS는 다시 다른 네트워크들에 연결될 수 있다. 네트워크는 베이스 스테이션들과 통신할 수 있는 복수의 모바일 스테이션(MS)들 역시 포함한다. 모바일 스테이션은, 일반적으로 완전 단말기(complete terminal)라 불리는 모바일 단말기일 수 있다. 모바일 스테이션은 또한 디스플레이, 키보드, 배터리, 커버 등등이 없는 단말기의 한 모듈일 수도 있다. 모바일 스테이션은 압축 모듈(20)(도 3)로부터 비트스트림(120)을 수신하기 위한 디코더(40)를 포함할 수 있다. 압축 모듈(20)은 베이스 스테이션, 스위칭 서브 스테이션 또는 다른 네트워크 안에 위치될 수 있다.
본 발명은 그에 대한 바람직한 실시예와 관련하여 설명되었으나, 이 분야의 당업자라면, 본 발명의 범주로부터 벗어나지 않고 실시예들의 형식과 내용에 있어 상술하였거나 그 이외의 다양한 변경, 생략, 및 일탈이 있을 수 있다는 것을 이해할 수 있을 것이다.

Claims (24)

  1. 오디오 신호가 그 오디오 신호를 가리키는 파라미터들 제공을 위해 부호화되고, 상기 파라미터들에는 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값들을 가지는 피치 곡선(pitch contour) 데이터가 포함되는, 오디오 코딩의 코딩 효율을 향상시키기 위한 방법에 있어서,
    상기 피치 곡선 데이터에 기반하여 각각 오디오 신호의 서브 세그먼트에 대응하는 단순화된 복수의 피치 곡선 세그먼트 후보들을 생성하고, 이때 각각의 서브 세그먼트는 시작 포인트 피치 값과 종료 포인트 피치 값을 포함하고 각 세그먼트 후보가 시작 세그먼트 포인트와 종료 세그먼트 포인트를 포함하고, 적어도 일부 후보들의 상기 시작 세그먼트 포인트들은 대응하는 서브 세그먼트들의 시작 포인트 피치 값들과 상이하고, 적어도 일부 후보들의 상기 종료 세그먼트 포인트들은 대응하는 서브 세그먼트들의 종료 포인트 피치 값과 상이하게 되는 단계;
    상기 단순화된 피치 곡선 세그먼트 후보들 각각과, 그에 대응하는 서브 세그먼트의 피치 값들 사이의 편차를 측정하는 단계;
    상기 측정된 편차들과 하나 이상의 미리 선택된 기준에 따라, 상기 후보들 가운데에서, 상기 오디오 세그먼트를 나타내기 위한 복수의 연속 세그먼트 후보들을 선택하는 단계; 및
    상기 선택된 세그먼트 후보에 대응하는 오디오 신호의 서브 세그먼트들 내 피치 곡선 데이터를 상기 선택된 세그먼트 후보의 특성과 함께 부호화하는 단계를 포함함을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  2. 제1항에 있어서, 상기 시간에 따른 오디오 세그먼트의 피치 곡선 데이터는, 상기 오디오 세그먼트 내 연속되는 복수의 서브 세그먼트들에 대응하는, 복수의 선택된 후보들에 의해 근사화되고, 상기 복수의 선택된 후보들 각각은 제1 및 제2종료 포인트에 의해 경계가 지어지고,
    상기 코딩은, 상기 종료 포인트들을 나타내는 정보를 제공하여 디코더로 하여금 피치 곡선 데이터가 아닌 상기 정보에 기반하여 오디오 세그먼트의 오디오 신호를 재구성하도록 하는 단계를 포함함을 특징으로 하는 오디오 오딩의 코딩 효율 향상 방법.
  3. 제1항 또는 제2항에 있어서, 연속되는 서브 세그먼트 몇몇에서의 피치 값들의 개수는 3 이상임을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  4. 제1항에 있어서, 상기 생성 단계는, 상기 단순화된 피치 곡선 세그먼트 후보들 각각과 그에 대응되는 서브 세그먼트 내 상기 피치 값들 각각 사이의 편차가 소정 최대값 이하가 되도록, 미리 선택된 후보에 의해 제한됨을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  5. 제4항에 있어서, 상기 생성된 세그먼트 후보들은 다양한 길이를 가지고, 상기 선택 단계는 그 세그먼트 후보들의 길이에 기반하며, 상기 미리 선택되는 기준은, 상기 선택된 후보가 세그먼트 후보들 중에 최대 길이를 가진다는 사실을 포함함을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  6. 제4항에 있어서, 상기 선택 단계는 세그먼트 후보들의 길이에 기반하고, 상기 미리 선택되는 기준은, 상기 측정된 편차가 같은 길이를 가진 후보들의 그룹 사 이에서 최소라는 사실을 포함함을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  7. 제1항에 있어서, 상기 생성단계는 상기 세그먼트 후보들의 종료 포인트를 조정함으로써 수행됨을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  8. 제1항에 있어서, 상기 오디오 신호는 스피치(speech) 신호를 포함함을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  9. 제2항에 있어서, 상기 선택된 후보들 중 적어도 하나는 선형 세그먼트임을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  10. 제2항에 있어서, 상기 선택된 후보들 중 적어도 하나는 비선형 세그먼트임을 특징으로 하는 오디오 코딩의 코딩 효율 향상 방법.
  11. 오디오 신호가 시간에 따라 오디오 세그먼트를 나타내는 복수의 피치 값들을 포함하는 피치 곡선 데이터를 구비할 때, 상기 오디오 신호를 부호화하는 코딩 장치에 있어서,
    상기 피치 곡선 데이터를 수신하기 위한 입력단; 및
    상기 피치 곡선 데이터에 대해, 각각 오디오 신호의 서브 세그먼트에 대응하는, 단순화된 복수의 피치 곡선 세그먼트 후보들을 생성하기 위해, 상기 단순화된 피치 곡선 세그먼트 후보들 각각과 그에 대응되는 서브 세그먼트 내 상기 피치 값들 사이의 편차를 측정하는 알고리즘; 및 상기 측정된 편차들 및 미리 선택된 기준에 기반하여 상기 후보들 가운데에서, 상기 오디오 세그먼트를 나타내기 위한 복수의 연속 세그먼트 후보들을 선택하는 알고리즘을 포함하고, 이때 각각의 서브 세그먼트는 시작 포인트 피치 값과 종료 포인트 피치 값을 포함하고 각 세그먼트 후보가 시작 세그먼트 포인트와 종료 세그먼트 포인트를 포함하며, 적어도 일부 후보들의 상기 시작 세그먼트 포인트들은 대응하는 서브 세그먼트들의 시작 포인트 피치 값들과 상이하고, 적어도 일부 후보들의 상기 종료 세그먼트 포인트들은 대응하는 서브 세그먼트들의 종료 포인트 피치 값과 상이하게 되는, 데이터 프로세싱 모듈을 구비함을 특징으로 하는 코딩 장치.
  12. 제11항에 있어서,
    상기 선택된 세그먼트 후보들에 대해, 상기 선택된 세그먼트 후보들에 대응하는 오디오 신호의 서브 세그먼트들 내 피치 곡선 데이터를 상기 선택된 세그먼트 후보들의 특성과 함께 부호화하는 양자화 모듈을 더 포함함을 특징으로 하는 코딩 장치.
  13. 제12항에 있어서, 상기 양자화 모듈은 서브 세그먼트들 내 부호화된 피치 곡선 데이터를 나타내는 오디오 데이터를 제공하고,
    상기 코딩 장치는, 상기 오디오 데이터를 수신하기 위해 양자화 모듈에 유효하게 연결되어, 저장 매체 안에 오디오 데이터를 저장하는 저장 장치를 더 포함함을 특징으로 하는 코딩 장치.
  14. 제12항에 있어서,
    상기 저장 매체에 유효하게 연결되어, 상기 부호화된 피치 곡선 데이터를 저장하기 위해 상기 저장 매체로 공급하는 출력단을 더 포함함을 특징으로 하는 코딩 장치.
  15. 제12항에 있어서,
    상기 부호화된 피치 곡선 데이터를 디코더로 전송하여 디코더로 하여금 상기 부호화된 피치 곡선 데이터에 역시 기반하는 오디오 신호를 재구성할 수 있도록 하는 출력단을 더 포함함을 특징으로 하는 코딩 장치.
  16. 오디오 신호를 나타내는 파라미터들을 제공하고, 상기 파라미터들에 시간에 따른 오디오 세그먼트를 대표하는 복수의 피치 값들을 가진 피치 곡선 데이터가 포함되어 있는 오디오 코딩 장치와 함께 사용될 전자 판독가능 매체에서 구현되는 컴퓨터 소프트웨어 생성물에 있어서,
    상기 피치 곡선 데이터에 기반하여, 각각 오디오 신호의 서브 세그먼트에 대응하는 복수의 단순화된 피치 곡선 세그먼트 후보들을 생성하기 위한 것으로, 각각의 서브 세그먼트는 시작 포인트 피치 값과 종료 포인트 피치 값을 포함하고 각 세그먼트 후보가 시작 세그먼트 포인트와 종료 세그먼트 포인트를 포함하며, 적어도 일부 후보들의 상기 시작 세그먼트 포인트들은 대응하는 서브 세그먼트들의 시작 포인트 피치 값들과 상이하고, 적어도 일부 후보들의 상기 종료 세그먼트 포인트들은 대응하는 서브 세그먼트들의 종료 포인트 피치 값과 상이하게 되는 코드;
    상기 단순화된 피치 곡선 세그먼트 후보들 각각과 그에 대응하는 세그먼트의 피치 값들 사이의 편차를 측정하기 위한 코드; 및
    상기 측정된 편차 및 미리 선택된 기준에 기반하여 상기 후보들 가운데에서, 상기 오디오 세그먼트를 나타내기 위한 복수의 연속 세그먼트 후보들을 선택하여, 양자화 모듈로 하여금 상기 선택된 세그먼트 후보들에 대응되는 오디오 신호의 서브 세그먼트들의 피치 곡선 데이터를 그 선택된 세그먼트 후보들의 특성과 함께 부호화할 수 있도록 하는 코드를 포함함을 특징으로 하는 소프트웨어 생성물.
  17. 오디오 신호가 그 오디오 신호를 표시하는 파라미터들을 제공하도록 부호화되고, 상기 파라미터들에는 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값을 가진 피치 곡선 데이터가 포함되고, 상기 시간에 따른 오디오 세그먼트의 피치 곡선 데이터는 그 오디오 세그먼트 내 복수의 단순화된 연속적 서브 세그먼트들에 의해 근사되고, 각각의 단순화된 세그먼트는 상기 오디오 세그먼트 내 한 서브 세그먼트에 대응되며, 상기 서브 세그먼트들 각각은 시작 포인트 피치 값과 종료 포인트 피치 값을 가지며 상기 단순화된 세그먼트들 각각은 제1종료 포인트와 제2종료 포인트로 경계가 지어지고, 적어도 일부 단순화된 세그먼트들의 제1종료 포인트들은 대응하는 서브 세그먼트들의 시작 포인트 피치 값들과 상이하고, 적어도 일부 단순화된 세그먼트들의 제2종료 포인트들은 대응하는 서브 세그먼트들의 종료 포인트 피치 값들과 상이할 때, 상기 오디오 신호를 재구성하는 디코더에 있어서,
    상기 서브 세그먼트들을 한정하는 종료 포인트들을 나타내는 오디오 데이터를 수신하는 입력부; 및
    상기 수신된 오디오 데이터에 기초해 상기 오디오 세그먼트를 재구성하는 재구성 모듈을 포함함을 특징으로 하는 디코더.
  18. 제17항에 있어서, 상기 오디오 데이터는 전자 매체 상에 기록되고, 상기 디코더의 입력부는 오디오 데이터를 수신하기 위해 상기 전자 매체와 유효하게 연결됨을 특징으로 하는 디코더.
  19. 제17항에 있어서, 상기 오디오 데이터는 통신 채널을 통해 전송되고, 상기 디코더의 입력부는 오디오 데이터 수신을 위해 상기 통신 채널과 유효하게 연결됨을 특징으로 하는 디코더.
  20. 전자 기기에 있어서,
    오디오 신호가 그 오디오 신호를 나타내는 파라미터들을 제공하도록 부호화되고, 상기 파라미터들은 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값들을 가진 피치 곡선 데이터를 포함하고, 시간에 따른 오디오 세그먼트의 피치 곡선 데이터는, 각각이 제1종료 포인트와 제2종료 포인트로 경계가 지어진 오디오 세그먼트 내 복수의 단순화된 연속적 서브 세그먼트들에 의해 근사되고, 각각의 단순화된 세그먼트는 상기 오디오 세그먼트 내 한 서브 세그먼트에 대응되며, 상기 서브 세그먼트들 각각은 시작 포인트 피치 값과 종료 포인트 피치 값을 가지며 상기 단순화된 세그먼트들 각각은 제1종료 포인트와 제2종료 포인트로 경계가 지어지고, 적어도 일부 단순화된 세그먼트들의 제1종료 포인트들은 대응하는 서브 세그먼트들의 시작 포인트 피치 값들과 상이하고, 적어도 일부 단순화된 세그먼트들의 제2종료 포인트들은 대응하는 서브 세그먼트들의 종료 포인트 피치 값들과 상이할 때, 상기 서브 세그먼트들을 경계 짓는 종료 포인트들에 기반해 상기 오디오 세그먼트가 구성될 수 있도록 오디오 신호를 재구성하기 위한 디코더; 및
    상기 종료 포인트들을 나타내는 오디오 데이터를 수신하여, 상기 디코더로 상기 오디오 데이터를 제공하는 입력부를 포함함을 특징으로 하는 전자 기기.
  21. 제20항에 있어서, 상기 오디오 데이터는 전자 매체에 기록되고, 상기 입력부는 상기 오디오 데이터를 수신하기 위해 상기 전자 매체에 유효하게 연결됨을 특징으로 하는 전자 기기.
  22. 제20항에 있어서, 상기 오디오 데이터는 통신 채널을 통해 전송되고, 상기 입력부는 오디오 데이터 수신을 위해 상기 통신 채널에 유효하게 연결됨을 특징으로 하는 전자 기기.
  23. 제20항 또는 제22항 중 어느 한 항에 있어서, 상기 전자 장치는 모바일 단말기를 포함함을 특징으로 하는 전자 기기.
  24. 통신 네트워크에 있어서,
    복수의 베이스 스테이션; 및
    상기 베이스 스테이션과 통신하는 복수의 모바일 스테이션을 포함하고,
    상기 모바일 스테이션들 가운데 적어도 한 모바일 스테이션은, 오디오 신호가 그 오디오 신호를 나타내는 파라미터들을 제공을 위해 부호화되고, 상기 파라미터들은 시간에 따른 오디오 세그먼트를 나타내는 복수의 피치 값들을 가진 피치 곡선 데이터를 포함하고, 시간에 따른 오디오 세그먼트의 피치 곡선 데이터는 복수의 단순화된 연속 세그먼트들에 의해 근사되고, 각각의 단순화된 세그먼트는 상기 오디오 세그먼트 내 한 서브 세그먼트에 대응되며, 상기 서브 세그먼트들 각각은 시작 포인트 피치 값과 종료 포인트 피치 값을 가지며 상기 단순화된 세그먼트들 각각은 제1종료 포인트와 제2종료 포인트로 경계가 지어지고, 적어도 일부 단순화된 세그먼트들의 제1종료 포인트들은 대응하는 서브 세그먼트들의 시작 포인트 피치 값들과 상이하고, 적어도 일부 단순화된 세그먼트들의 제2종료 포인트들은 대응하는 서브 세그먼트들의 종료 포인트 피치 값들과 상이할 때, 상기 오디오 신호를 재구성하기 위한 디코더; 및 베이스 스테이션들 중 적어도 하나로부터 상기 종료 포인트들을 나타내는 오디오 데이터를 수신하여, 상기 디코더로 오디오 데이터를 제공하는 입력부를 포함함을 특징으로 하는 통신 네트워크.
KR1020067007799A 2003-10-23 2004-09-29 오디오 코딩시 피치 곡선 양자화를 위한 방법 및 시스템 KR100923922B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/692,291 US20050091044A1 (en) 2003-10-23 2003-10-23 Method and system for pitch contour quantization in audio coding
US10/692,291 2003-10-23

Publications (2)

Publication Number Publication Date
KR20060090996A KR20060090996A (ko) 2006-08-17
KR100923922B1 true KR100923922B1 (ko) 2009-10-28

Family

ID=34522085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067007799A KR100923922B1 (ko) 2003-10-23 2004-09-29 오디오 코딩시 피치 곡선 양자화를 위한 방법 및 시스템

Country Status (8)

Country Link
US (2) US20050091044A1 (ko)
EP (1) EP1676367B1 (ko)
KR (1) KR100923922B1 (ko)
CN (1) CN1882983B (ko)
AT (1) ATE482448T1 (ko)
DE (1) DE602004029268D1 (ko)
TW (1) TWI257604B (ko)
WO (1) WO2005041416A2 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100571831B1 (ko) * 2004-02-10 2006-04-17 삼성전자주식회사 음성 식별 장치 및 방법
US7598447B2 (en) * 2004-10-29 2009-10-06 Zenph Studios, Inc. Methods, systems and computer program products for detecting musical notes in an audio signal
US8093484B2 (en) * 2004-10-29 2012-01-10 Zenph Sound Innovations, Inc. Methods, systems and computer program products for regenerating audio performances
US9058812B2 (en) * 2005-07-27 2015-06-16 Google Technology Holdings LLC Method and system for coding an information signal using pitch delay contour adjustment
US8260609B2 (en) 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
JP4882899B2 (ja) * 2007-07-25 2012-02-22 ソニー株式会社 音声解析装置、および音声解析方法、並びにコンピュータ・プログラム
EP2107556A1 (en) * 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
EP2676266B1 (en) 2011-02-14 2015-03-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Linear prediction based coding scheme using spectral domain noise shaping
AR085218A1 (es) 2011-02-14 2013-09-18 Fraunhofer Ges Forschung Aparato y metodo para ocultamiento de error en voz unificada con bajo retardo y codificacion de audio
AR085361A1 (es) 2011-02-14 2013-09-25 Fraunhofer Ges Forschung Codificacion y decodificacion de posiciones de los pulsos de las pistas de una señal de audio
AU2012217269B2 (en) 2011-02-14 2015-10-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
SG192721A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion
RU2586838C2 (ru) 2011-02-14 2016-06-10 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Аудиокодек, использующий синтез шума в течение неактивной фазы
JP5712288B2 (ja) 2011-02-14 2015-05-07 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 重複変換を使用した情報信号表記
TWI476760B (zh) 2011-02-14 2015-03-11 Fraunhofer Ges Forschung 用以使用暫態檢測及品質結果將音訊信號的部分編碼之裝置與方法
MY159444A (en) 2011-02-14 2017-01-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Encoding and decoding of pulse positions of tracks of an audio signal
US10019995B1 (en) 2011-03-01 2018-07-10 Alice J. Stiebel Methods and systems for language learning based on a series of pitch patterns
US11062615B1 (en) 2011-03-01 2021-07-13 Intelligibility Training LLC Methods and systems for remote language learning in a pandemic-aware world
EP2954516A1 (en) 2013-02-05 2015-12-16 Telefonaktiebolaget LM Ericsson (PUBL) Enhanced audio frame loss concealment
EP3333848B1 (en) 2013-02-05 2019-08-21 Telefonaktiebolaget LM Ericsson (publ) Audio frame loss concealment
MX2021000353A (es) 2013-02-05 2023-02-24 Ericsson Telefon Ab L M Método y aparato para controlar ocultación de pérdida de trama de audio.
EP3398191B1 (en) * 2016-01-03 2021-04-28 Auro Technologies Nv A signal encoder, decoder and methods using predictor models
CN111081265B (zh) * 2019-12-26 2023-01-03 广州酷狗计算机科技有限公司 音高处理方法、装置、设备及存储介质
CN112491765B (zh) * 2020-11-19 2022-08-12 天津大学 基于CPM调制的仿鲸目动物whistle伪装通信信号的识别方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592585A (en) 1995-01-26 1997-01-07 Lernout & Hauspie Speech Products N.C. Method for electronically generating a spoken message
US5704000A (en) 1994-11-10 1997-12-30 Hughes Electronics Robust pitch estimation method and device for telephone speech
US6246672B1 (en) 1998-04-28 2001-06-12 International Business Machines Corp. Singlecast interactive radio system

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1203906A (en) * 1982-10-21 1986-04-29 Tetsu Taguchi Variable frame length vocoder
US5042069A (en) * 1989-04-18 1991-08-20 Pacific Communications Sciences, Inc. Methods and apparatus for reconstructing non-quantized adaptively transformed voice signals
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
US5787387A (en) * 1994-07-11 1998-07-28 Voxware, Inc. Harmonic adaptive speech coding method and system
TW271524B (ko) * 1994-08-05 1996-03-01 Qualcomm Inc
US5991725A (en) * 1995-03-07 1999-11-23 Advanced Micro Devices, Inc. System and method for enhanced speech quality in voice storage and retrieval systems
IT1281001B1 (it) * 1995-10-27 1998-02-11 Cselt Centro Studi Lab Telecom Procedimento e apparecchiatura per codificare, manipolare e decodificare segnali audio.
US5673361A (en) * 1995-11-13 1997-09-30 Advanced Micro Devices, Inc. System and method for performing predictive scaling in computing LPC speech coding coefficients
US6026217A (en) * 1996-06-21 2000-02-15 Digital Equipment Corporation Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition storage and retrieval
US6014622A (en) * 1996-09-26 2000-01-11 Rockwell Semiconductor Systems, Inc. Low bit rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
US5886276A (en) * 1997-01-16 1999-03-23 The Board Of Trustees Of The Leland Stanford Junior University System and method for multiresolution scalable audio signal encoding
US6169970B1 (en) * 1998-01-08 2001-01-02 Lucent Technologies Inc. Generalized analysis-by-synthesis speech coding method and apparatus
US6529730B1 (en) * 1998-05-15 2003-03-04 Conexant Systems, Inc System and method for adaptive multi-rate (AMR) vocoder rate adaption
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
US6810377B1 (en) * 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
US6094629A (en) * 1998-07-13 2000-07-25 Lockheed Martin Corp. Speech coding system and method including spectral quantizer
US6119082A (en) * 1998-07-13 2000-09-12 Lockheed Martin Corporation Speech coding system and method including harmonic generator having an adaptive phase off-setter
US6078880A (en) * 1998-07-13 2000-06-20 Lockheed Martin Corporation Speech coding system and method including voicing cut off frequency analyzer
US6163766A (en) * 1998-08-14 2000-12-19 Motorola, Inc. Adaptive rate system and method for wireless communications
US6449590B1 (en) * 1998-08-24 2002-09-10 Conexant Systems, Inc. Speech encoder using warping in long term preprocessing
US6714907B2 (en) * 1998-08-24 2004-03-30 Mindspeed Technologies, Inc. Codebook structure and search for speech coding
US6385434B1 (en) * 1998-09-16 2002-05-07 Motorola, Inc. Wireless access unit utilizing adaptive spectrum exploitation
US6463407B2 (en) * 1998-11-13 2002-10-08 Qualcomm Inc. Low bit-rate coding of unvoiced segments of speech
US6256606B1 (en) * 1998-11-30 2001-07-03 Conexant Systems, Inc. Silence description coding for multi-rate speech codecs
US6453287B1 (en) * 1999-02-04 2002-09-17 Georgia-Tech Research Corporation Apparatus and quality enhancement algorithm for mixed excitation linear predictive (MELP) and other speech coders
US6434519B1 (en) * 1999-07-19 2002-08-13 Qualcomm Incorporated Method and apparatus for identifying frequency bands to compute linear phase shifts between frame prototypes in a speech coder
US6691082B1 (en) * 1999-08-03 2004-02-10 Lucent Technologies Inc Method and system for sub-band hybrid coding
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US7222070B1 (en) * 1999-09-22 2007-05-22 Texas Instruments Incorporated Hybrid speech coding and system
US6581032B1 (en) * 1999-09-22 2003-06-17 Conexant Systems, Inc. Bitstream protocol for transmission of encoded voice signals
US6496798B1 (en) * 1999-09-30 2002-12-17 Motorola, Inc. Method and apparatus for encoding and decoding frames of voice model parameters into a low bit rate digital voice message
US6963833B1 (en) * 1999-10-26 2005-11-08 Sasken Communication Technologies Limited Modifications in the multi-band excitation (MBE) model for generating high quality speech at low bit rates
US6907073B2 (en) * 1999-12-20 2005-06-14 Sarnoff Corporation Tweening-based codec for scaleable encoders and decoders with varying motion computation capability
AU2001286534A1 (en) * 2000-08-18 2002-03-04 Bhaskar D. Rao Fixed, variable and adaptive bit rate data source encoding (compression) method
US6850884B2 (en) * 2000-09-15 2005-02-01 Mindspeed Technologies, Inc. Selection of coding parameters based on spectral content of a speech signal
FR2815457B1 (fr) * 2000-10-18 2003-02-14 Thomson Csf Procede de codage de la prosodie pour un codeur de parole a tres bas debit
US7280969B2 (en) * 2000-12-07 2007-10-09 International Business Machines Corporation Method and apparatus for producing natural sounding pitch contours in a speech synthesizer
US6871176B2 (en) * 2001-07-26 2005-03-22 Freescale Semiconductor, Inc. Phase excited linear prediction encoder
US6934677B2 (en) * 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
CA2365203A1 (en) * 2001-12-14 2003-06-14 Voiceage Corporation A signal modification method for efficient coding of speech signals
US7191136B2 (en) * 2002-10-01 2007-03-13 Ibiquity Digital Corporation Efficient coding of high frequency signal information in a signal using a linear/non-linear prediction model based on a low pass baseband

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5704000A (en) 1994-11-10 1997-12-30 Hughes Electronics Robust pitch estimation method and device for telephone speech
US5592585A (en) 1995-01-26 1997-01-07 Lernout & Hauspie Speech Products N.C. Method for electronically generating a spoken message
US6246672B1 (en) 1998-04-28 2001-06-12 International Business Machines Corp. Singlecast interactive radio system

Also Published As

Publication number Publication date
CN1882983A (zh) 2006-12-20
WO2005041416A2 (en) 2005-05-06
WO2005041416A3 (en) 2005-10-20
US8380496B2 (en) 2013-02-19
KR20060090996A (ko) 2006-08-17
US20050091044A1 (en) 2005-04-28
TW200525499A (en) 2005-08-01
ATE482448T1 (de) 2010-10-15
TWI257604B (en) 2006-07-01
CN1882983B (zh) 2013-02-13
EP1676367A4 (en) 2007-01-03
DE602004029268D1 (de) 2010-11-04
US20080275695A1 (en) 2008-11-06
EP1676367A2 (en) 2006-07-05
EP1676367B1 (en) 2010-09-22

Similar Documents

Publication Publication Date Title
KR100923922B1 (ko) 오디오 코딩시 피치 곡선 양자화를 위한 방법 및 시스템
RU2696292C2 (ru) Аудиокодер и декодер
US10311884B2 (en) Advanced quantizer
KR20120128156A (ko) 샘플링 레이트 의존 시간 왜곡 윤곽 인코딩을 이용하는 오디오 신호 디코더, 오디오 신호 인코더, 방법, 및 컴퓨터 프로그램
KR100603167B1 (ko) 시간 동기식 파형 보간법을 이용한 피치 프로토타입파형으로부터의 음성 합성
JP2019514065A (ja) 高位周波数帯域における検出されたピークスペクトル領域を考慮してオーディオ信号を符号化するオーディオ符号器、オーディオ信号を符号化する方法、及びコンピュータプログラム
US20050091041A1 (en) Method and system for speech coding
US5806027A (en) Variable framerate parameter encoding
US20190348055A1 (en) Audio paramenter quantization
EP1397655A1 (en) Method and device for coding speech in analysis-by-synthesis speech coders
JP4273062B2 (ja) 符号化方法、符号化装置、復号化方法及び復号化装置
KR100341398B1 (ko) 씨이엘피형 보코더의 코드북 검색 방법
KR20080092823A (ko) 부호화/복호화 장치 및 방법
JP2001148632A (ja) 符号化装置、符号化方法、及びその記録媒体
Wang Speech coding
Nurminen et al. Efficient technique for quantization of pitch contours
Gersho Linear prediction techniques in speech coding
JPH09269798A (ja) 音声符号化方法および音声復号化方法
JPH04243300A (ja) 音声符号化方式

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
FPAY Annual fee payment

Payment date: 20121009

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141006

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee