KR20060131781A - 디지털 신호 압축 시의 코딩에 사용되는 멀티펄스딕셔너리의 인덱스간 트랜스 코딩 - Google Patents

디지털 신호 압축 시의 코딩에 사용되는 멀티펄스딕셔너리의 인덱스간 트랜스 코딩 Download PDF

Info

Publication number
KR20060131781A
KR20060131781A KR1020067011552A KR20067011552A KR20060131781A KR 20060131781 A KR20060131781 A KR 20060131781A KR 1020067011552 A KR1020067011552 A KR 1020067011552A KR 20067011552 A KR20067011552 A KR 20067011552A KR 20060131781 A KR20060131781 A KR 20060131781A
Authority
KR
South Korea
Prior art keywords
pulse
positions
duration
subframe
sampling frequency
Prior art date
Application number
KR1020067011552A
Other languages
English (en)
Other versions
KR101108637B1 (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 KR20060131781A publication Critical patent/KR20060131781A/ko
Application granted granted Critical
Publication of KR101108637B1 publication Critical patent/KR101108637B1/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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • 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/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

본 발명은 각각의 펄스가 인덱스로 표시된 위치를 점유하는 멀티펄스 딕셔너리들을 사용하는 펄스 코더들 간의 압축 트랜스코딩에 관한 것이다. 제1 코더에 의해 공급된 현재의 펄스 위치 각각에 대해, 그 주위에 이웃(Vg e, Vg d)이 형성된다. 제2 코더에 의해 허용된 펄스 위치들의 함수에 따라, 펄스 위치들은 상기 이웃들의 결합에 의해 구성된 앙상블에서 선택된다. 제2 코더는 최종적으로 제2 코더의 딕셔너리 내의 전체 펄스 위치의 수보다 작은 다수의 펄스 위치를 포함하는 이 선택(Sj)을 수신한다.
코딩, 디코딩, 트랜스코딩, 코더, 디코더, 압축, 딕셔너리, 펄스, 위치, 앙상블

Description

디지털 신호 압축 시의 코딩에 사용되는 멀티펄스 딕셔너리의 인덱스간 트랜스 코딩 {TRANSCONDING BETWEEN THE INDICES OF MULTIPULSE DICTIONARIES USED FOR CODING IN DIGITAL SIGNAL COMPRESSION}
본 발명은 디지털 신호의 코딩(부호화) 및 디코딩(복호화)에 관한 것으로, 특히 오디오 신호[스피치(speech, 말) 및/또는 사운드(sound, 소리)]와 같은 멀티미어 신호를 전송하거나 저장하는 애플리케이션에서의 디지털 신호의 코딩 및 디코딩에 관한 것이다.
압축 코딩 분야에서, 많은 코더(corder)는 총 샘플 수보다는 훨씬 적은 다수의 펄스를 사용하여 L개의 샘플 신호를 모델링한다. 이것은 예를 들어 미국 공개특허공보 US 제2001/027393호에 상세하게 기술되어 있는 "TDAC" 오디오 코더와 같은 일정한 오디오-주파수 코더의 경우이며, 그것에는 각 대역에서 변형 정규화 이산 코사인 변환(modified normalized discrete cosine transform) 계수를, 인터리브 사이즈(interleaved size)의 대수 딕셔너리(algebraic dictionary)들을 사용하는 벡터 정량자(vectorial quantifier)로 양자화하며, 이들 대수 코드들은 일반적으로 영이 아닌(non-zero) 소수의 성분을 포함하고, 다른 성분들은 영(zero)과 같다. 이것은 또한 합성에 의한 분석을 이용하는 대부분의 스피치 코더, 특히 ACELP(Algebraic Code Excited Linear Prediction, 대수 부호 여진 선형 예측), MP-MLQ(Multi-Pulse Maximun Likelihood Qantization, 멀티 펄스 최대 가능 양자화), 및 기타 타입의 코더들을 구비하는 경우이기도 하다. 이노베이션 신호(innovation signal)를 모델링하기 위해, 이들 코더는 매우 적은 수의 영이 아닌 성분을 갖고, 미리 정해진 규칙들을 부가적으로 따르는 위치 및 크기를 갖는 파형들로 구성된 디렉토리(directory)를 사용한다.
합성에 의한 분석을 이용하는 전술한 종류의 코더들에 대해 이하 간략하게 설명한다.
합성에 의한 분석을 이용하는 코더들에서, 합성 모델이 부호화될 신호들을 모델링하는 파라미터들을 추출하기 위해 코딩에 사용되며, 그것은 전화 주파수(Fe = 8 kHz) 또는 더 높은 주파수 예를 들어 광대역 코딩을 위한 16 kHz (통과대역 50 Hz 내지 7 kHz)로 샘플링될 수 있다. 애플리케이션과 요구되는 품질에 따라, 압축률은 1 내지 16까지 변화한다. 이 코더들은 전화 대역에서 2 kbps 내지 16 kbps 그리고 광대역에서 6 kbps 내지 132 kbps의 비트율로 동작한다.
이어서 합성에 의한 분석을 이용하며 현재 스피치 신호의 코딩/디코딩에 가장 널리 사용되는 CELP 디지털 코덱(codec)에 대해 간략하게 설명한다. 스피치 신호는 샘플링되어 프레임이라고 하는 L'개의 샘플로 이루어지는 일련의 블록으로 변환된다. 일반 규칙에 따라, 각 프레임은 서브프레임이라고 하는 L개의 샘플로 이루어지는 더 작은 블록들로 분할된다. 각 블록은 시변하는 두 개의 필터를 통해 게인(gain)을 곱한 디렉토리(딕셔너리라고도 함)로부터 추출된 파형을 필터링함으 로써 합성된다. 여기 딕셔너리(excitation dictionary)는 L개 샘플 파형의 유한 집합이다. 제1 필터는 LTP(long-term prediction, 장기 예측) 필터이다. LTP 분석은 이 LTP 필터의 파라미터들을 구하는데, 전형적으로 기본 피치(fundamental pitch)의 주파수(성대의 진동 주파수)를 나타내는 유성음의 주기적 특성을 활용한다. 제2 필터는 단기 예측 필터(short-term prdiction)이다. 선형 예측 코딩(LPC, liner prediction coding) 분석법이 성도(vocal tract)의 전달 함수 및 신호의 스펙트럼 특성을 나타내는(일반적으로 입술에 의해 가정된 형상, 혀와 후두의 위치 등에 기인한 변조를 나타내는) 단기 예측 파라미터들을 구하는데 사용된다.
이노베이션 시퀀스(innovation sequence)를 결정하는데 사용되는 방법은 합성에 의한 분석으로 알려진 방법이다. 코더에서, LTP 및 LPC에 의해 여기 딕셔너리로부터 많은 수의 이노베이션 시퀀스가 필터링되고, 일반적으로 CELP 기준으로 알려진 지각적인 가중 기준(perceptual weighting criterion)에 따라 원래 신호에 가장 가까운 합성 신호를 생성하는 파형이 선택된다.
CELP 코더 및 CELP 디코더가 해당 기술분야의 당업자에게 널리 알려져 있다는 것을 전제로, 합성 코더에 의한 이들 분석에서 멀티펄스 딕셔너리의 사용을 이하에 간략하게 기술한다.
ITU-T G.723.1 표준의 다중 비트율 코더(mutiple bit rate code)는 멀티펄스 딕셔너리를 사용하는 합성에 의한 분석을 이용하는 코더의 좋은 예이다. 여기서, 펄스 위치들은 모두 분리되어 있다. 코더의 2개의 비트율(6.3 kbps와 5.3 kbps)은 단지 수 개의 영이 아닌 펄스, 고 비트율용 6개 또는 5개, 저 비트율용 4개를 포함 하는 딕셔너리로부터 추출된 파형들을 이용하여 이노베이션 신호를 모델링한다. 이 펄스들의 크기는 +1 또는 -1이다. 6.3 kbps 모드에서, G.723.1 코더는 두 개의 딕셔너리를 교대로 사용한다:
· 우수(짝수) 서브프레임용으로 사용되는 제1 딕셔너리에서, 파형은 6개의 펄스를 포함한다. 그리고
·기수(홀수) 서브프레임용으로 사용되는 제2 딕셔너리에서, 파형은 5개의 펄스를 포함한다.
두 딕셔너리에서, 임의의 코더 벡터의 펄스들의 위치에 대해 하나의 제한이 부가되는데, 그것은 모두 동일한 패리티를 가져야 한다는 것이다, 즉 모두 우수이거나 모두 기수이어야 한다. 5.3 kbps 모드 딕셔너리에서, 4개의 펄스의 위치는 더욱 엄격하게 제한된다. 고 비트율 모드의 딕셔너리로서의 동일 패리티 제한은 별문제로 하고, 각 펄스에 대해 위치의 선택이 제한된다.
5.3 kbps 모드 멀티펄스 딕셔너리는 ACELP 딕셔너리의 잘 알려진 계열(family)에 속한다. ACELP 딕셔너리의 구조는 ISPP(interleaved single-pulse permutation) 기술에 기초하는데, 이것은 L개 위치의 세트를 K개의 인터리브된 트랙으로 분할하는 것이며, N개의 펄스는 일정한 미리 규정된 트랙에 위치한다. 일부 애플리케이션에서, 코드 워드들의 크기(dimension) L은 L + N으로 확장될 수 있다. 따라서, ITU-TG.723.1 코더의 저 비트율 모드 디렉토리의 경우 있어, 60개 샘플로 이루어지는 블록의 크기는 64개 샘플로 확장되고 32개의 우수(또는 경우에 따라서는 기수) 위치가 길이 8의 비중첩 인터리브된 트랙으로 분할된다. 따라서 각 패리티당 하나씩 4개 트랙으로 이루어지는 2개의 그룹이 있다. 아래의 표는 각각의 펄스 i o 내지 i 3 에 대해 우수 위치의 4개 트랙을 설명한다.
Figure 112006041028173-PCT00001
표 1: 5.3 kbps 모드 G.723.1 코더의 ACELP 딕셔너리의 펄스 위치 및 크기
ACELP 이노베이션 딕셔너리는 합성에 의한 분석을 채용하는 많은 표준화된 코더에서 사용된다(ITU-T G.723.1, ITU-T G.729, IS-641, 3GPP NB-AMR, 3GPP WB-AMR). 아래의 표 2 내지 4는 블록 길이가 샘플 40개인 이러한 ACELP 딕셔너리의 몇몇 예를 나타낸다. 이러한 딕셔너리에서 패리티 제한이 사용되지 않았음에 유의하여야 한다. 표 2는 8 kbps 모드 ITU-T G.729 코더, IS-64l 7.4 kbps 모드 코더, 그리고 7.4 및 7.95 kbps 모드 3GPP NB-AMR 코더에 사용되는, 17 비트와 크기 ± 1인 4개의 영이 아닌 펄스를 갖는 ACELP 딕셔너리 포함한다.
Figure 112006041028173-PCT00002
표 2: 8 kbps 모드 ITU-T G.729 코더, 7.4 kbps IS-64l 코더, 그리고 7.4 및 7.95 kbps 모드 3GPP NB-AMR 코더의 ACELP 딕셔너리의 펄스의 위치 및 크기
표 3은 12.2 kbps 모드 3GPP NB-AMR 코더에서 사용되는, 35 비트의 ACELP 딕셔너리를 포함하며, 각 코드 벡터는 크기 ± 1인 10개의 영이 아닌 펄스를 포함한다. 40개 샘플로 이루어진 블록은 각각 2개의 펄스를 포함하는 길이 8인 5개의 트랙으로 분할된다. 동일 트랙의 2개의 펄스는 중첩되어 크기 ± 2인 단일 펄스가 될 수 있음에 유의하여야 한다.
Figure 112006041028173-PCT00003
표 3: 12.2 kbps 모드 3GPP NB-AMR 코더의 ACELP 딕셔너리의 펄스의 위치 및 크기
끝으로, 표 4는 ITU-T G.729 코더의 저 비트율(6.4 kbps) 확장 및 5.9 kbps 모드 3GPP NB-AMR 코더에서 사용되는, 11 비트이고 크기 ± 1인 2개의 영이 아닌 펄스에 대한 ACELP 딕셔너리를 포함한다
Figure 112006041028173-PCT00004
표 4: ITU-T G.729 코더 및 5.9 kbps 모드 3GPP NB-AMR 코더의 ACELP 딕셔너리의 펄스의 위치 및 크기
"탐사(exploring)" 멀티펄스 딕셔너리가 의미하는 것을 이하에 설명한다.
임의의 양자화 작업을 할 때, 부호화될 벡터의 최적 모델링을 찾아내는 것은 그것과 가장 근접하게 "유사한", 즉 그것과 입력 벡터 사이의 측정된 간격을 최소화하는 어떤 것을 딕셔너리의 코드-벡터 세트(또는 서브세트)에서 선택하는 데 있다.
멀티펄스 딕셔너리들의 경우에, 이것은 모델링될 신호와 펄스들의 선택에 기인한 신호의 근접도(proximity)를 최적화하는 펄스들의 조합을 찾아내는 것과 같다. 딕셔너리의 크기 및/또는 구조에 따라서, 이 탐사는 소모적(exhaustive)이거나 비소모적(non-exhaustive)일 수 있다(따라서 더 복잡하거나 덜 복잡할 수 있다).
위에서 언급한 TDAC 코더에서 사용된 딕셔너리들은 타입 II의 순열 코드들(permutation codes)의 조합이기 때문에, 정규화된 변환 계수들의 벡터를 코딩하 기 위한 알고리즘은 모든 코드-벡터로부터 그것의 가장 근접한 이웃을 결정하기 위해 이 특성(property)을 활용하여, (이른바 "절대 리더" 벡터들을 사용하여) 한정된 수의 거리 기준만을 계산한다.
합성에 의한 분석을 채용하는 코더들에서, 멀티펄스 딕셔너리들의 탐사는 소규모 딕셔너리의 경우를 제외하고는 소모적이지 않다. 단지 고 비트율의 딕셔너리의 적은 퍼센트만을 탐사할 뿐이다. 예를 들어, 멀티펄스 ACELP 딕셔너리는 일반적으로 두 단계로 탐사된다. 이 검색을 단순화하기 위해, 첫 번째 단계는 입력 신호에 따라 신호를 단순히 양자화함으로써 각 가능한 펄스 위치의 크기(따라서 그 부호, 위 참조)를 미리 선택한다. 펄스의 크기가 고정되어 있기 때문에, 그 후 (CELP 기준을 준수하는) 합성 기술에 의한 분석을 사용하여 검색되는 것이 펄스의 위치이다. ISSP 구조를 사용하고, 또 펄스의 수가 작음에도 불구하고, 위치들의 조합에 대한 소모적 검색은 저 비트율 딕셔너리(일반적으로 12 비트 이하)의 경우에만 영향을 받는다. 이것은 6.4 kbps 모드 G.729 코더에 사용되는 11 비트 ACELP 딕셔너리에 적용되는데(표 4 참조), 예를 들어 두 펄스의 위치에 대한 512개 조합을 가장 우수한 것을 선택하기 위해 모두 검사하며, 이는 대응하는 512개 CELP 기준을 계산하는 것에 상당한다.
고 비트율의 딕셔너리에 대한 다양한 집중 방법(focusing method)이 제안되었다. 이후 "집중식 검색(focused search)"이라는 표현을 사용한다.
종래 기술의 방법 중 몇몇은 전술한 표준화된 코더들에 사용된다. 그것들의 목표는 모델링될 신호의 특성에 기초하여, 활용될 위치의 조합의 수를 줄이는 것이 다. 그 일례는 많은 표준화된 ACELP 코더가 사용하는 "깊이 우선 트리(depth-first tree)" 알고리즘이며, 이 알고리즘에서는 입력 신호, 과거의 합성 신호, 그리고 합성 및 지각적인 가중 필터들로 구성되는 필터에 따라 달라지는 표적 신호(target signal)의 트랙들의 지역 최대값(local maxima)과 같은, 일정한 위치들에 대해 우선권이 부여된다. 사용되는 딕셔너리의 크기에 따라서 이것에 대해 몇 가지 변형이 있다. 35 비트와 10개 펄스의 ACELP 딕셔너리(표 3 참조)를 탐사하기 위해, 첫 번째 펄스는 표적 신호의 전역 최대값(global maximum)과 동일한 위치에 위치된다. 이 다음에 연속적인 트랙으로 이루어지는 원 순열(circular permutation)로 4회 반복된다. 각각의 반복 시에, 두 번째 펄스의 위치는 다른 4개의 트랙 중 하나의 지역 최대값으로 고정되며, 남은 다른 8개 펄스의 위치는 인터리브된 루프에서 쌍으로 순차적으로 검색된다. 각각의 반복에서 256(8 x 8 x 4 쌍)의 상이한 조합이 검사되는데, 이것은 딕셔너리의 225 중에서 10개 펄스의 위치에 대해 1024개 조합만이 탐사될 수 있다는 것을 의미한다. IS641 코더에서는 다른 변형이 사용되며, 17 비트 및 4개 펄스의 딕셔너리의 조합에 대해 높은 퍼센트가 활용된다. 펄스 위치의 8192(=213)개 조합 중 768개 조합이 검사된다. 8 kbps G.729 코더에서, 동일한 ACELP 딕셔너리가 상이한 포커싱 방법에 의해 활용된다. 이 알고리즘은 4개의 펄스 검색 루프(펄스당 하나)를 인터리빙함으로써 반복 검색을 실행한다. 이 검색은 또한 표적 신호의 특성에 종속하는 적응성 임계값(adaptive threshold)(지역 최대값 및 처음 3개 트랙의 평균값)을 초과를 조건으 로 하는 내부 루프(트랙 3 또는 트랙 4에 속하는 마지막 펄스를 검색)에의 엔트리를 작성함으로써 집중된다. 또한, 4개 펄스의 조합의 탐사의 최대 수는 1440으로 고정된다(8192 조합의 17.6%를 나타낸다).
6.3 kbps 모드 G.723.1 코더에서, 5개(또는 6개) 펄스의
Figure 112006041028173-PCT00005
조합을 모두 탐사하지는 않는다. 각각의 표에서, 해당 알고리즘은 펄스들의 위치 및 크기를 순차적으로 검색하기 위해 공지된 "멀티펄스" 분석을 채용한다. ACELP 딕셔너리들을 구비함에 따라, 검사되는 조합의 수를 제한하는 변형예들이 존재한다.
하지만, 전술한 기술은 다음과 같은 문제가 있다.
멀티펄스 딕셔너리의 탐사는, 그것의 준 최적(sub-optimum) 탐사라 하더라도 많은 코더에 있어 계산 시간의 점에서 보면 비용이 많이 드는 작업을 구성한다. 예를 들어, 6.3 kbps 모드 G.723.1 및 8 kbps 모드 G.729 코더에서, 검색은 해당 코더의 전체 복잡도의 반에 가깝게 나타난다. NB-AMR 코더의 경우, 검색은 전체 복잡도의 1/3로 나타난다. TDAC 코더의 경우, 검색은 전체 복잡도의 1/4로 나타난다.
이 복잡도는, 많은 호출을 병렬로 관리하는 게이트웨이 또는 많은 멀디미티어 컨텐츠를 배포하는 서버와 같은, 복수의 코딩 작업이 동일한 프로세서 유닛에 의해 수행되어야 하는 경우에, 특히 중요해진다 것은 명백하다. 이 복잡도 문제는 네트워크 상에 순회하는 압축 포맷의 다양성에 의해 두드러진다.
이동성과 연속성을 제공하기 위해, 현대적이고 혁신적인 멀티미디어 통신 서 비스는 폭넓게 다양한 조건하에서 동작할 수 있어야 한다. 멀티미디어 통신 섹터의 역동설(dynamism) 그리고 네트워크, 접근점(access points) 및 단말기의 이질성(heterogeneous nature)은 압축 포맷의 과잉 생성을 초래하였고, 통신 시스템에서 그 존재는 직렬(트랜스코딩)로든 병렬(멀티포맷 코딩 또는 멀티모드 코딩)로든 다수의 코딩을 필요로 한다.
용어 "트랜스코딩(transcoding)"의 의미를 이하에 설명한다. 트랜스코딩은 전송 시스템에서 코더에 의해 전송된 압축 신호 프레임이 동일 포맷으로 더 이상 계속할 수 없는 경우 필요하게 된다. 트랜스코딩은 프레임을 나머지 전송 시스템과 호환 가능한 다른 포맷으로 변환하는 것이다. 가장 기본적인(따라서 현재 가장 널리 사용되는) 해결법은 디코더와 코더를 연달아 배치하는 것이다. 압축된 프레임은 제1 포맷으로 도착하여 압축이 해제된다. 압축 해제된 신호는 그 후 나머지 통신 시스템이 허용하는 제2 포맷으로 압축된다. 이러한 디코더와 코더의 직렬 연결(cascade)을 "탠덤(tandem)"이라고 한다. 이 해결법은 복잡도의 면에서 매우 값비싼 것이고(기록이 필수적이기 때문에), 두 번째 코딩은 복호화된 신호에 영향을 미치기 때문에 품질을 저하시키며, 원래 신호의 품질 저하 버전(degraded version)이다. 또한, 프레임은 목적지에 도달하기 전에 수 개의 탠덤과 직면할 수 있다. 계산 비용 및 품질의 손실은 쉽게 상상할 수 있다. 게다가, 각각의 탠덤 작업에 연계된 지연은 누적되고 호(call)의 상호작용성(interactivity)을 손상시킬 수 있다.
게다가, 복잡도는 또한 동일한 콘텐트가 하나 이상의 포맷으로 압축되는 멀 티포맷 압축 시스템에서 문제를 일으킬 수도 있다. 이것은 액세스 조건, 네트워크 및 상이한 고객들의 단말기에 적합한 복수의 포맷으로 동일한 콘텐트를 브로드캐스팅하는 콘텐트 서버의 경우이다. 이 멀티코딩 작업은 필요한 포맷의 수가 증가할수록 매우 복잡해지며, 시스템의 자원을 급속도로 포화시킨다.
병렬 방식의 다중 코딩의 다른 경우는 귀납적 결정 멀티모드 압축( a posteriori decision multimode compression)이다. 복수의 압축 모드는 부호화될 신호의 각 세그먼트에 적용되며, 일정한 기준으로 최적화 또는 최고 비트율/왜곡 트레이드 오프(distortion trade off) 중 어느 것이 선택된다. 다시 한번, 각 압축 모드의 복잡도가 그 수를 제한하고, 및/또는 극소수의 모드에 대한 연역적 선택에 이르게 한다.
전술한 문제를 해결하기 위한 종래 기술의 접근방식에 대해 이하에 설명한다.
새로운 멀티미디어 통신 애플리케이션(예컨대 오디오 또는 비디오 애플리케이션)은 종종 직렬로든(트랜스코딩) 또는 병렬로든(멀티코딩 및 귀납적 결정 멀티 코딩) 다수의 코딩 작업을 필요로 한다. 이러한 모든 코딩 작업으로 인해 초래되는 복잡도 장벽의 문제는, 현재의 처리 능력의 증가에도 불구하고 해결해야 할 숙제로 남아 있다. 종래 기술의 다중 코딩 작업의 대부분은 포맷간 및, 코더(E)의 포맷과 그 콘텐트 사이의 상호작용을 고려하지 않는다. 그렇지만, 소수의 지능형 트랜스 코딩 기술이 제안되었는데, 이는 단지 디코딩한 다음에 레코딩함으로써 충족되는 것이 아니라, 대신에 코딩 포맷들 간의 유사성을 활용하여 복잡성을 감소시 킬 수 있는 한편 결과의 열화를 제한한다.
이른바 "지능형" 트랜스 코딩 방법에 대해 이하에 설명한다.
동일 계열의 코더(CELP, 파라메트릭, 트랜스폼 등) 내의 모든 코더는 신호로부터 같은 물리적 파라미터들을 추출한다. 그렇지만 그러한 파라미터의 모델링 및/또는 양자화의 관점에서는 매우 다양하다. 따라서 동일한 파라미터가 동일 방식으로 부호화될 수 있거나, 또는 하나의 코더에서 다른 코더로 매우 다르게 부호화될 수 있다.
또한, 코딩은 엄격하게 동일하거나 또는 파라미터의 모델링이나 계산의 관점에서 동일할 수 있지만, 단순히 코딩을 비트의 형태로 번역하는 방법에 있어 다르다. 결국, 코딩은 파라미터의 모델링과 양자화의 관점에서 완전히 다르거나, 또는 그것의 분석 또는 샘플 주파수의 관점에서 조차 완전히 다를 수 있다.
만약 비트 형태로의 변환을 포함하여, 모델링 및 파라미터 계산이 엄격하게 동일하다면, 제1 코더가 생성한 비트 스트림으로부터 대응하는 비트 필드를 제2 코더의 그것에 복사하는 것으로 충분하다. 이런 매우 바람직한 상황은 예를 들어, G. 729 표준에서 적응성 여기(adaptive excitation)(LTP 지연)의 S-641 표준으로의 트랜스코딩 시에 발생한다.
만약, 동일 파라미터에 대해, 두 개의 코더가 계산된 파라미터를 비트 형태로 변역하는 점에서만 상이하면, 제1 포맷의 비트 필드를 복호화한 후, 제2 포맷의 코딩 방법을 사용하는 2진 도메인에 반환하는 것으로 충분하다. 이 변환은 또한 1대1 대응 테이블을 사용하여 달성할 수 있다. 이것은 예를 들어 G.729 표준에서 AMR 표준(7.4 kbps 및 7.95 kbps 모드)으로의 고정된 여기(fixed excitation) 트랜스코딩할 때의 경우이다
전술한 두 가지 경우에서, 파라미터를 트랜스코딩하는 것은 여전히 비트 레벨이다. 간단한 비트 조작은 파라미터를 제2 코딩 포맷과 호환 가능하게 한다. 한편, 만약 신호로부터 추출한 파라미터가 두 가지 코딩 포맷에 의해 상이하게 모델링되거나 양자화되면, 하나의 포맷에서 다른 포맷으로 전달하는 것은 그렇게 간단한 문제가 아니다. 몇 가지 방법이 제안되었다. 제안된 방법들은 파라미터 레벨, 여기 레벨 또는 복호화된 신호 레벨에서 동작한다.
파라미터 도메인에서의 트랜스코딩의 경우, 두 가지 코딩 포맷이 파라미터를 동일 방식으로 계산하지만 다르게 양자화한다면 파라미터는 레벨로 남아 있을 수 있다. 양자화 상위는 정확도 또는 선택된 방법(스칼라, 벡터, 예측 등)에 관련될 수 있다. 그러면 파라미터를 복호화한 다음 제2 코딩 포맷을 사용하여 양자화하는 것으로 충분하다. 이러한 종래 기술의 방법은 특히 현재 트랜스코딩 여기 게인(transcoding excitation gains)에 사용된다. 복호화된 파라미터는 재 양자화되기 전에 종종 수정되어야 한다. 예를 들어, 코더들이 상이한 파라미터 분석 주파수 또는 상이한 프레임/서브 프레임 길이를 가지면, 파라미터를 보간/데시메이션(interpolation/decimation)하는 것이 일반적인 관행이다. 보간은 예를 들어 미국 공개특허공보 US 제2003/033142호에 기술된 방법에 의해 수행될 수 있다. 다른 수정 옵션은 제2 코딩 포맷에 의해 파라미터에 강제된 정확도로 파라미터를 반올림(round off)하는 것이다. 이 경우는 대부분이 기본 주파수의 높이("피치")에 직 면한다.
파라미터를 파라미터 도메인 내에서 트랜스코딩하는 것이 불가능한 경우, 디코딩은 더 높은 레벨로 갈 수 있다. 이것이 여기 도메인(excitation domain)이며, 신호 도메인(signal domain)까지 가지는 않는다. 이 기술은 다음의 문헌에 게인(gain)을 대상으로 제안되었다:
"Improving transcoding capability of speech coders in clean and frame erasured channel environments", Hong-Goo Kang, Hong Kook Kim, Cox, R.V., Speech Coding, 2000, Proceedings 2000, IEEE Workshop on Speech Coding, Pages 78-80.
끝으로, 마지막 해결법(최고 복잡하고 최저로 지능적임)은 코더가 할 수 있는 한, 하지만 합성된 신호에 기초하여 파라미터를 명백히 다시 계산하는 것이다. 이 작업은 단지 일부 파라미터만이 완전히 재 계산되는 일종의 부분 탠덤(partial tandem)에 해당한다. 이 방법은 고정된 여기, 전술한 IEEE 레퍼런스에서의 게인들, 또는 피치와 같은 다양한 파라미터들에 적용되었다.
트랜스코딩 펄스들을 위해, 파라미터들을 신속하면서도 저 비용으로 계산하기 위해 몇몇 기술이 개발되었지만, 동등한 파라미터로부터 하나의 포맷의 펄스를 다른 포맷으로 계산하기 위해 지능형 접근법을 사용하는 현재 이용 가능한 해결법은 거의 없다. 합성에 의한 분석을 이용하는 코딩에서, 펄스 코드들의 지능형 트랜스코딩은 모델링이 동일한(또는 유사한) 경우에만 적용된다. 반대로, 모델링이 상이하면, 부분 탠덤 방법이 사용된다. 이 작업의 복잡도를 제한하기 위해, 복호 화된 신호 또는 표적 신호와 같이 발생된 신호의 특성을 활용하는 집중식 접근 방식(focused approaches)이 제안되었음에 유의하여야 한다. 위에 인용한 미국 공개특공보 US 제2001/027393호의 MDCT 변환 코더를 이용하는 일 실시예에서는, 지능형 트랜스 코딩의 특별한 경우로 간주할 수 있는 비트율 변경 절차가 기술되어 있다. 그 절차는 제2 딕셔너리에서의 벡터를 사용하여 제1 딕셔너리에서의 벡터를 재 양자화한다. 이 때문에 이것은 재 양자화될 벡터가 제2 딕셔너리에 속하는지 여부에 따라서 두 가지 경우를 구별한다. 만약에 양자화된 벡터가 새로운 딕셔너리에 속하면, 모델링은 동일하고, 그렇지 않으면 부분 디코딩 방법이 적용된다.
모든 전술한 종래 기술은 차치하고, 본 발명은 펄스들로 이루어지는 세트들의 다른 앙상블(ensemble)의 펄스 위치들의 조합으로부터, 펄스들로 이루어지는 세트들의 앙상블의 펄스 위치들의 조합의 서브세트의 선택에 기초한 멀티펄스 트랜스코딩 방법을 제안하며, 상기 두 개의 앙상블은 그들이 포함하는 펄스의 수와 그들의 위치 및/또는 크기를 통제하는 규칙에 의해 구별된다. 이런 형태의 트랜스코딩은 특히 직렬(트랜스코딩) 또는 병렬(멀티 코딩 및 멀티모드 코딩)의 다중 코딩에 매우 유익하다.
이 때문에, 본 발명은 먼저 제1 압축 코덱과 제2 압축 코덱 간의 트랜스코딩 방법을 제안한다. 제1 코덱 및 제2 코덱은 펄스 타입이고, 각각의 펄스가 그와 연관된 인덱스로 표시된 위치를 갖는 멀티펄스 딕셔너리들을 사용한다.
본 발명의 트랜스코딩 방법은 다음의 단계들을 포함한다:
a) 적절한 경우, 제1 코덱과 제2 코덱 사이의 코딩 파라미터들을 적응시키는 단계;
b) 상기 제1 코덱으로부터, 선택된 개수의 펄스 위치와 그것과 연관된 각각의 위치 인덱스들을 취득하는 단계;
c) 정해진 인덱스의 현재 펄스 위치 각각에 대해, 상기 정해진 인덱스의 바로 아래 및 바로 위의 연관된 인덱스를 갖는 적어도 상기 현재의 펄스 위치 및 상기 펄스 위치들을 포함하는 펄스 위치들의 그룹을 형성하는 단계;
d) 상기 단계 c)에서 형성된 상기 그룹들의 결합(union)에 의해 구성된 앙상블(encemble)에서 적어도 상기 펄스 위치들의 일부를 상기 제2 코덱에 의해 허용된 펄스 위치들의 함수로서 선택하는 단계; 및
e) 상기 선택된 펄스 위치들을 상기 제2 코덱으로 전송하여 상기 전송된 위치들로부터 코딩/디코딩하는 단계.
상기 선택 단계 d)에는 따라서 상기 제2 코덱의 딕셔너리 내의 전체 펄스 위치의 수보다는 적은 다수의 펄스 위치가 관여된다.
특히 단계 e)에서, 전술한 제2 코덱이 코더이면, 상기 선택된 펄스 위치들은 해당 코더로 전송되어 전송된 위치들만을 검색함으로써 코딩하는 것이 명백하다. 만약에 전술한 상기 제2 코덱이 디코더이면, 상기 선택된 펄스 위치들은 복호화될 위치용으로 전송된다.
단계 b)는 상기 제1 코덱이 제1 코딩 포맷에서 사용하는 제1 개수의 펄스 위치를 식별하기 위해 상기 제1 코덱에 의해 공급된 비트 스트림에 대해 부분 디코딩을 사용하는 것이 바람직하다. 단계 b)에서의 선택된 개수는 따라서 이 펄스 위치의 제1 개수에 상당하는 것이 바람직하다.
유익한 실시예에서, 상기한 단계들은 그러한 취지의 프로그램 명령어를 포함하는 소프트웨어 제품에 의해 실행된다. 이와 관련하여, 본 발명은 또한 프로세서 유닛, 특히 컴퓨터나 이동 단말기의 메모리 또는 상기 프로세서 유닛의 판독기와 함께 작용할 수 있는 착탈 가능한 메모리에 기억될 수 있는 상기한 종류의 소프트웨어 제품에 관한 것이기도 하다.
본 발명은 또한 제1 압축 코덱과 제2 압축 코덱 사이의 트랜스코딩 장치에 관한 것이며, 이 경우 본 장치는 전술한 타입의 소프트웨어 제품의 명령어를 기억할 수 있는 메모리를 포함한다.
본 발명의 다른 특징들 및 이점들은 다음의 상세한 설명을 읽고 첨부된 도면을 검토하면 명백해질 것이다.
도 1a는 본원 발명의 관점에서 트랜스코딩 콘텍스트(transcoding context)를 "직렬" 구성으로 나타낸 도면이다.
도 1b는 본원 발명의 관점에서 트랜스코딩 콘텍스트를 "병렬" 구성으로 나타낸 도면이다.
도 2는 수행될 다양한 트랜스코딩 프로세스를 나타낸 도면이다.
도 2a는 제1 코더(E)외 제2 코더(S)의 샘플링 주파수가 상이한 경우에 사용하는 적응 프로세스(adaptation process)를 나타낸 도면이다.
도 2b는 도 2a의 프로세스의 변형예를 나타낸 도면이다.
도 3은 본 발명의 트랜스코딩 방법의 단계들을 개괄한 도면이다.
도 4는 각각 지속 기간 Le와 Ls(Le > Ls)은 상이하지만 동일한 샘플링 주파수를 갖는 코더(E) 및 코더(S)의 두 서브프레임을 나타낸 도면이다.
도 4b는 G. 723. 1 코더와 G. 729 코더 사이의 시긴 대응관계를 나타내는 도 4의 실제 구현예를 나타낸 도면이다.
도 5는 제2 코더(S)의 속도에서 제1 코더(E)의 여기의 분할을 나타낸 도면이다.
도 6은 의사 서브프레임 STE'O 중 하나가 비어있는 경우를 나타낸 도면이다.
도 7은 제1 코더(E)와 제2 코더(S)의 서브프레임 지속시간이 상이할 때 사용하는 적응 프로세스를 나타낸 도면이다.
먼저 본 발명은 멀티펄스 딕셔너리를 사용하는 오디오(스피치 및/또는 사운드) 신호와 같은 디지털 멀티미디어 신호의 모델링 및 코딩에 관한 것임에 유의하여야 한다. 본 발명은 코딩/디코딩의 관점에서 직렬이나 병렬로, 또는 멀티펄스 표현을 이용하여 신호를 모델링하는 임의의 다른 시스템의 관점에서 구현될 수 있으며, 제1 앙상블(ensemble)에 속하는 제1 펄스 세트에 대한 지식에 기초하여 제2 앙상블에 대한 적어도 하나의 펄스 세트를 결정하여야 한다. 간결성을 위해, 제1 앙상블로부터 다른 앙상블로의 이행만을 설명하지만, 본 발명은 n개의 앙상블(n ≥ 2)에의 이행에도 똑같이 적용할 수 있다. 또한 이하에서는 두 코더 사이의 "트랜스코딩"의 경우만을 설명하지만, 코더와 디코더 사이의 트랜스 코딩도 물론 큰 어려움 없이 이로부터 추론할 수 있다.
따라서 두 코딩 시스템에 대응하는 펄스들의 세트들을 사용하여 신호를 모델링하는 경우를 생각해보자. 도 1a 및 도 1b는 제1 코딩 포맷(COD1)을 사용하는 제1 코더(E)와 제2 코딩 포맷(COD2)을 사용하는 제2 코더(S) 사이의 트랜스코더(D)를 나타낸다. 제1 코더(E)는 부호화된 비트 스트림(SCE)를 연속하는 부호화된 프레임의 형태로 트랜스코더(D)에 전달하며, 트랜스코더(D)는 제1 코딩 포맷에서 사용된 펄스 위치의 개수(Ne)와 그 펄스들의 위치(Pe)를 복원하는 부분 디코더 모듈(10)을 포함한다. 이하에 상세하게 나타내는 바와 같이, 본 발명의 트랜스코더는 각 펄스 위치(pe)의 오른쪽 이웃(Ve d)과 왼쪽 이웃(Ve g)를 추출하고 제2 코더(S)에 의해 인식될 그러한 이웃들의 결합에서 펄스 위치들을 선택한다. 도 1a 및 도 1b에 도시된 트랜스코더의 모듈(11)은, 따라서 이 위치들의 선택(도 1a 및 도 1b에서 Sj로 표기)을 제2 코더(S)에 전달하기 위한 단계들을 수행한다. 특히 이 선택(Sj)으로부터 제2 코더(S)가 사용하는 딕셔너리보다 작은 서브디렉토리가 구성되는, 본 발명의 이점들 중 하나가 명백해 질 것이다. 이 서브디렉토리를 사용함으로써, 제2 코더(S)에 의해 이루어지는 코딩은 더욱 제한되기 때문에 당연히 더 빠르지만, 코딩 품질을 떨어뜨리지 않는다.
도 1a에 도시된 예에서, 트랜스코더(D)는 제1 코더(E)가 전달한 부호화된 스트림(SCE)을 적어도 부분적으로 디코딩하기 위한 모듈(12)을 더 포함한다. 모듈(12)은 원래의 신호(s0)의 적어도 부분적으로 복호화된 버전(s'0)을 제2 코더(S)에 공급한다. 그러면 제2 코더(S)는 버전(s'0)에 기초하여 부호화된 비트 스트림(scs)을 넘겨준다.
이 구성으로, 트랜스코더(D)는 따라서 제1 코더(E)와 제2 코더(S) 사이의 코딩 적응(coding adaptation)을 실행하며, 유리하게는 (더욱 제한되기 때문에) 제2 코더(S)에 의한 고속 코딩이 바람직하다. 물론, 이것에 대한 대안으로 도 1a 및 도 1b에서 도면부호 S의 실체는 디코더일 수 있으며, 이 변형예에서 본 발명의 트랜스코더(D)는 코더(E)와 디코더(S) 사이에 적절한 트랜스코딩을 수행하는데, 여기서의 디코딩은 트랜스코더(D)에 의해 공급되는 정보로 인해 고속이다. 프로세스는 가역성이 있기 때문에, 훨씬 더 일반적으로, 본 발명의 트랜스코더(D)는 제1 코더(E)와 제2 코더(S) 사이에 동작한다.
코더(E), 트랜스코더(D), 및 코더(S)의 배치는 도 1a에 도시된 바와 같은 "직렬(cascade)" 구성을 따를 수 있음에 유의하기 바란다. 도 1b에 도시한 변형예에서, 이 배치는 "병렬" 구성을 따른다. 이 경우에, 두 코더(E, S)는 원래의 신호 (S0)를 수신하고, 두 코더(E, S)는 부호화된 스트림(SCE, SCS)을 전달한다. 물론, 여기서 제2 코더(S)는 도 1a의 버전(s'0)을 더 이상 수신하지 않아도 되며, 적어도 부분적인 디코딩을 위한 트랜스코더(D)의 모듈(12)은 더 이상 필요 없다. 또한 코더(E)가 모듈(11)의 입력과 호환 가능한 출력(펄스의 개수와 펄스 위치들)을 제공할 수 있다면, 모듈(10)을 단순히 생략하거나 "우회(bypass)"할 수 있음에 유의하기 바란다.
또한 트랜스코더(D)는 단순히 전술한 단계들을 구현하기 위한 명령어를 기억하기 위한 메모리와 그러한 명령어를 처리하기 위한 프로세서를 구비할 수 있다.
따라서 본 발명은 다음과 같이 적용된다. 제1 코더(E)는 주어진 신호 S0(예를 들어 원래의 신호)에 대해 코딩 작업을 실행하였다. 따라서 제1 코더(E)에 의해 선택된 펄스들의 위치를 이용할 수 있다. 그 코더는 코딩 프로세스 동안에 자체 기술을 사용하여 이들 위치(pe)를 결정하였다. 제2 코더(S)도 또한 코딩을 수행해야 한다. 트랜스코딩의 경우에, 제2 코더(S)는 제1 코더에 의해 생성된 비트 스트림만을 가지며, 본 발명이 여기서 앞서 규정한 바와 같은 "지능형" 트랜스코딩에 적용될 수 있다. 병렬로 다중 코딩하는 경우에, 제2 코더(S)는 또한 제1 코더가 가지는 신호를 가지며 여기서 본 발명이 "지능형 멀티코딩"에 적용된다. 동일한 콘텐트를 복수의 포맷으로 부호화하는 것을 필요로 하는 시스템은 제1 포맷의 정보를, 다른 포맷의 코딩을 단순화하기 위해 활용할 수 있다. 본 발명은 또한 병렬로 연역적 결정 멀티모드 코딩(a posteriori decision multimode coding)을 구성하는 다중 코딩의 특정한 경우에 적용될 수 있다.
본 발명은 제1 포맷의 펄스들의 위치(pe)로부터 다른 코딩 포맷의 펄스들의 위치(ps)(이하 호환성 있게 Si로 표기)를 신속하게 결정하기 위해 사용될 수 있다. 본 발명은 가능한 위치들의 개수를 제한함으로써 제2 코더에 대한 이 작업의 계산 복잡도를 상당히 줄인다. 이 때문에, 본 발명은 제1 코더에 의해 선택된 위치들을 제2 코더의 모든 가능한 위치들로부터 제한된 위치들의 세트를 규정하기 위해 사용하며, 제한된 세트 펄스들에 대한 최고의 위치 세트를 검색한다. 이것은 복잡도에 있어 상당한 증가를 초래하는 동시에, 표준적 소모적인 검색(standard exhaustive search) 또는 집중식 검색(focused search)에 관련된 신호의 열화를 제한한다.
따라서, 본 발명은 제1 코딩 포맷의 위치들에 기초하여 위치들의 제한된 세트를 규정함으로써 가능한 위치들의 수를 한정한다는 것이 명백하다. 본 발명은 위치들에 우선권을 부여 및/또는 제거함으로써 가능한 위치들의 개수를 제한하기 위해 모델링될 신호의 특성만을 사용하는 점에서 현존하는 해결법들과 상이하다.
제1 앙상블의 세트의 펄스 각각에 대해, 바람직하게는 가변 폭이고 더 많거나 더 적은 제약을 갖는 두 개의 이웃(하나는 왼쪽, 하나는 오른쪽)이 규정되고, 그것으로부터 추출된 가능한 위치들의 앙상블 내에서 제2 앙상블의 제약을 따르는 펄스들의 적어도 하나의 조합이 미리 선택될 것이다.
본 트랜스코딩 방법은 펄스 위치들의 개수 및/또는 펄스 각각에 대한 오른쪽 이웃과 왼쪽 이웃 각각의 크기(펄스 위치들의 조합의 관점에서)를, 처리 초기에 또는 각각의 서브프레임에 대해 권한이 부여된 복잡도의 함수 및/또는 시작 위치들의 세트에 따라 적합하게 변경함으로써 복잡도/품질 트래드 오프를 최적화하는 이점이 있다. 본 발명은 또한 바로 옆 이웃(immediate neighborhood)을 유리하게 부여함으로써 위치들의 조합들의 개수를 조정/제한한다.
위에서 나타낸 바와 같이, 본 발명은 또한 그 알고리즘이 제2 앙상블의 펄스들의 조합들을 구성하기 쉽도록, 이웃 위치들을 추출하도록 특별히 설계된 소프트웨어 제품에 관한 것이다.
전술한 바와 같이, 네트워크들과 콘텐츠의 이질적인 특성은 매우 여러 가지 코딩 포맷을 이용할 수 있다. 코더들은 다수의 특징에 의해 구별될 수 있는데, 그 중 특히 두 가지가 샘플링 주파수와 서브프레임의 지속시간이며, 본 발명의 동작 모드를 실질적으로 결정한다.
이러한 경우에 적합한 본 발명의 실시예들에 대한 대응 관계에 있어 옵션들을 이하에 설명한다.
도 2는 이러한 경우를 개괄한다. 처음에, 코더(E, S)에 의해 사용되는
· 펄스 위치들의 개수(Ne, Ns),
· 각각의 샘플링 주파수(Fe, Fs), 그리고
· 서브프레임 지속시간들(Le, Ls)
을 취득한다(단계 21). 따라서, 적응 단계와 펄스 위치들의 개수(Ne, Ns)를 복구하는 단계가, 유리하게 서로 교환되거나 단순히 동시에 수행될 수 있다.
샘플링 주파수를 검사 단계 22에서 비교한다. 만약 샘플링 주파수들이 동일하면, 검사 단계 23에서 서브프레임의 지속시간을 비교하고, 그렇지 않으면 샘플링 주파수들이 단계 32에서 이하에 설명하는 방법에 의해 적응된다. 검사 단계 23 다음에, 서브프레임 지속시간들이 같으면, 제1 코딩 포맷과 제2 코딩 포맷 각각에 의해 사용된 펄스 위치들의 개수(Ne, Ns)를 검사 단계 24에서 비교하고, 그렇지 않으면 또한 이하에 설명하는 방법을 사용하여 단계 33에서 서브프레임 지속시간들을 적응시킨다. 단계 22, 23, 32, 및 33이 함께 코딩 파라미터들을 적응시키는 전술한 단계 a)를 규정한다는 것은 명백하다. 단계 22와 단계 32(샘플링 주파수 적응), 단계 23과 단계 33은 서로 교환될 수 있다는 것에 유의하기 바란다.
먼저, 샘플링 주파수가 동일하고 서브프레임 지속시간이 동일한 경우에 대해 이하에 설명한다.
이것은 가장 바람직한 경우이지만, 그럼에도 제1 포맷이 제2 포맷보다 더 많은 펄스를 사용하는 경우(Ne ≥ Ns)와 검사 단계 24의 결과에 따라 그 반대인 경우(Ne > Ns)를 구별할 필요가 있다.
* 도 2에서 N e N s
그 원리는 다음과 같다. 두 개의 코더(E, S)의 디렉토리들은 각 프레임에 Ne개와 Ns개의 펄스를 각각 사용한다.
코더(E)는 서브프레임(se)에 관해 Ne개 펄스의 위치를 계산한다. 이 위치들을 이하에서는 호환성 있게 ei와 pe로 표기한다.
코더(S)의 디렉토리의 펄스들에 대해 특권이 주어진(privileged) 위치들의 제한된 앙상블(Ps)은 그런 다음 Ne개의 위치(ei)로 이루어지고 그들의 이웃은
Figure 112006041028173-PCT00006
이며, 위 식에서 vi d 및 vi g ≥ 0은 펄스 i의 왼쪽 이웃과 오른쪽 이웃이다. 도 2의 단계 27에서 선택되는 vi d 및 vi g의 값은 요구되는 복잡도 및 품질에 따라 더 크거나 더 작다. 이들의 크기는 처리의 초기에 임의로 고정되거나 각각의 서브프레임(se)에 대해 선택될 수 있다.
도 2의 단계 29에서, 앙상블(Ps)은 각 위치 ei는 물론 그것의 오른쪽 이웃( vi d) 및 왼쪽 이웃(vi g)을 포함한다.
그 후, 코더(S)의 디렉토리로부터 Ns개의 펄스 각각에 대해 펄스가 Ps에 의해 제시된 것들 중에 있는 것으로 가정하는 것이 허가된 위치를 규정할 필요가 있다.
이 때문에, S의 디렉토리 구조에 지배를 받는 규칙이 도입된다. S의 Ns개 펄스는 미리 규정된 위치들의 서브세트에 속하고, 정해진 수의 펄스가 허가된(authorized) 위치들의 동일 서브세트를 공유한다고 가정한다. 예를 들어, 12.2 kbps 모드 3GPP NB-AMR 코더의 10개 펄스는, 위의 표 3에 나타낸 바와 같이 두 개 씩 5개의 상이한 서브세트에 분배된다. N'S는 상이한 위치들의 서브세트들 나타내며(N'S = 5이므로, 이 예에서 N'S NS), Tj(j=1에서 N's)는 S의 디렉토리를 규정하는 위치들의 서브세트들이다.
앙상블(Ps)에서 시작하여, Ps와 앙상블 Tj 중 하나의 교차로 인한 N'S개의 서브세트 Sj는 아래의 식으로부터 도 2의 단계 30에서 구성된다.
Figure 112006041028173-PCT00007
이웃들(vi d, vi g )은 비어 있는(empty) 교차점이 없도록 크기가 충분하여야 한다. 따라서 필요한 경우 펄스들의 시작 세트의 함수에 따라 이웃의 크기를 조정하는 것을 허용할 필요가 있다. 이것이 도 2의 검사 단계 34의 목적이며, 이웃들의 크기를 증가시키고(단계 35) 그리고 만약 교차점 중 하나가 비어 있으면, 단계 c)에서 형성된 그룹들의 결합(Ps)의 정의로 돌아간다(도 2의 단계 29). 한편, 교차점(Sj) 중 비어 있는 것이 없으면, 그것이 그러한 교차점 Sj로 이루어지는 서브디렉토리이며, 코더(S)로 전송된다(종료 단계 31).
본 발명은 디렉토리들의 구조를 유리하게 활용한다. 예를 들어, 만약 코더(S)의 디렉토리가 ACELP 타입이면, Ps를 갖는 트랙들의 위치들의 교차점이 계산된다. 만약 코더(E)의 디렉토리도 또한 ACELP 타입이면, 이웃 추출 절차도 또한 트랙 구조를 활용하며, 이웃들을 추출하는 단계 및 위치들의 제한된 서브세트들을 구 성하는 단계는 적절히 결합된다. 특히, 이웃 추출 알고리즘은 제2 앙상블의 제약에 따라 펄스들의 조합들의 합성을 고려하는 것이 유익하다. 나중에 나타내는 것처럼, 이웃 추출 알고리즘들은 제2 앙상블들의 펄스들의 조합들의 합성을 촉진하도록 생성된다. 나중에 기술하는 실시예들(두 개의 펄스를 갖는 ACELP 내지 네 개의 펄스를 갖는 ACELP) 중 하나는 이러한 종류의 알고리즘에 대한 일례이다.
따라서 위치들의 가능한 조합들의 수는 작고, 코더(S)의 디렉토리의 서브세트의 크기는 원래의 디렉토리의 크기보다도 일반적으로 훨씬 더 작으며, 이는 끝에서 두 번째(penultimate) 트랜스코딩 단계의 복잡도를 크게 감소시킨다. 펄스 위치들의 조합들의 수는 전술한 서브세트의 크기를 규정한다. 이것이 본 발명이 감소시키는 펄스 위치들의 수이며, 이는 펄스 위치들의 조합들의 수의 감소를 초래하고, 따라서 제한된 크기의 서브디렉토리를 얻을 수 있다.
도 3의 단계 46은 제한된 크기의 서브디렉토리 내에서 Ns개 펄스에 대해 위치들의 최고 세트를 검색을 시작하는 데 있다. 선택 기준은 코딩 프로세스의 그것과 유사하다. 복잡도를 더욱 감소시키기 위해, 이 서브디렉토리의 탐사는 전술한 종래의 포커싱 기술을 사용하여 가속될 수 있다.
도 3은 코더(E)가 적어도 코더(S)만큼의 펄스를 사용하는 경우의 본 발명의 단계를 개괄한 것이다. 하지만, 도 2를 참조하여 이미 지적한 바와 같이, 제2 포맷(S의 포맷)에 대한 위치의 개수 Ns가 제1 포맷(E의 포맷)에 대한 위치의 개수 Ne보다 크면, 처리는 나중에 설명하는 몇 가지 유리한 변형예에서만 상이하다.
개략적으로, 도 3의 단계들은 다음과 같이 요약된다. 코딩 파라미터들의 적응 단계 a)(필요한 경우에만 제공되므로 도 3에서 블록 41은 점선으로 표시됨) 이후에
·코더(E)의 펄스들의 위치(ei), 바람직하게는 Ne개의 위치를 복구하고(단계 42는 전술한 단계 b)에 대응한다),
·이웃들을 추출하고 아래의 식에 따라 이웃들의 그룹들을 형성하며,
Figure 112006041028173-PCT00008
(단계 43은 전술한 단계 c)에 대응한다)
- 전술한 단계 d)의 선택을 형성하는 위치들의 제한된 서브세트 {Sj = Ps ∩ Tj}를 구성하며, 도 3에 도시한 단계 44에 대응하고,
- 그 선택을 코더(S)에 전달한다(단계 45는 전술한 단계 e)에 대응한다). 이 단계 45 이후에, 코더(S)는 단계 44에서 얻은 제한된 디렉토리에서 위치들의 세트를 선택한다.
그러므로 다음 단계는 앞서 나타낸 바와 같이, 제2 Ns개의 위치를 포함하는 최적의 위치들의 세트(opt(Sj))에 대해 코더(S)에 의해 수신된 서브디렉토리를 검색하는 단계 46이다. 서브디렉토리의 탐사를 가속시키기 위해, 위치들의 최적의 세트를 검색하는 이 단계 46은 집중식 검색을 이용하여 실행하는 하는 것이 바람직하다. 처리는 제2 코더(S)에 의해 그 후에 실행되는 코딩으로 계속한다.
제1 코딩 포맷이 사용하는 펄스의 개수(Ne)가 제2 코딩 포맷이 사용하는 펄스의 개수(Ns)보다 작은 경우에 제공되는 처리의 형태를 설명한다.
* 도 2에서 N e < N s
만약 S의 포맷이 E의 포맷보다 더 많은 펄스를 사용하면, 프로세스는 위에서 설명한 것과 유사하다. 하지만, S의 포맷의 펄스들은 제한된 디렉토리에서 위치들을 가질 수 없다. 이 경우에, 제1 실시예에서는 그런 펄스들에 대해 모든 가능한 위치들이 권한을 부여받는다. 제2의 바람직한 실시예에서, 이웃 v'd 및 v'g의 크기는 도 2의 단계 28에서 간단히 증가된다.
* 도 2에서 N e < N s < 2 N e
여기서 특수한 경우를 강조한다. 만약 Ne가 Ns에 가깝다면, 일반적으로 Ne < Ns < 2Ne라면, 전술한 형태의 처리가 여전히 전적으로 적용 가능하더라도, 위치들을 결정하기 위한 바람직한 방법을 생각할 수 있다. 그 이상의 복잡도의 감소는 E의 펄스의 위치들에 기초하여 S의 펄스들의 위치를 직접 고정함으로써 얻을 수 있다. S의 Ne개의 제1 펄스는 E의 퍼스들의 위치에 배치된다. 남은 Ns - Ne개 펄스는 Ne개의 제1 펄스에 가능한 가까이(바로 옆 이웃에) 배치된다. 그런 후, 도 2의 단계 25는 개수 Ne와 Ns가 비슷한지(Ne > Ns)를 검사하고, 그렇다면 전술한 바와 같이 단계 26에서 펄스 위치들을 선택한다.
물론, Ne < Ns 및 Ne < Ns < 2Ne 양자의 경우에, 전술한 예방조치(precaution)에도 불구하고 교차점(Sj) 중 하나가 비어 있으면, Ne ≥ Ns인 경우에 설명한 바와 같이, 이웃들(v+ g 및 v+ d)의 크기는 단계 35에서 간단히 증가된다.
끝으로, 모든 경우에, 교차점(Sj) 중 비어 있는 것이 없으면, 교차점(Sj)에 의해 형성된 서브디렉토리를 제2 코더(S)에 전달한다(단계 31).
다음에 제1 포맷과 제2 포맷의 코딩 파리미터들이 동일하지 않은 경우, 특히 그것들의 샘플링 주파수와 서브프레임 지속시간이 동일하지 않은 경우, 적응 단계 a)에서 사용된 처리 형태를 설명한다.
다음의 경우가 다음에 구별된다.
* 서브프레임 지속시간은 동일하지만, 샘플링 주파수는 상이한 경우
이 경우는 도 2의 시험 단계 22에서 "n(아니오)" 및 "y(예)"에 대응한다. 적응 단계 a)는 그 후 도 2의 단계 32에 적용된다.
이전의 처리는 두 포맷이 동일한 시간 서브디비젼(subdivision)을 가지지 않기 때문에 여기에 바로 적용할 수 없다. 샘플링 주파수가 상이하므로, 두 개의 프레임은 동일한 지속시간에 걸쳐 동일한 샘플 수를 가지지 않는다.
코더(E)의 포맷의 펄스들의 위치를 고려하지 않고 코더(S)의 포맷의 펄스들의 위치를 결정하기 때문에 더욱, 탠덤이 그런 것처럼, 두 개의 상이한 실시예를 구성하는 두 개의 상이한 처리 형태를 여기에 제안한다. 실시예들은 두 개의 포맷 의 위치들 사이의 대응관계를 수립함으로써 복잡도를 제한하고, 그 후에 처리는 전술한 처리로 되돌아간다(마치 샘플링 주파수가 동일하였던 것처럼).
제1 실시예의 처리는 제2 포맷의 그것에 의해 제1 포맷의 시간 스케일의 직접 양자화를 사용한다. 이 양자화 작업은 표로 작성되거나 식으로부터 계산될 수 있으며, 제1 포맷의 서브프레임의 위치 각각에 대해 제2 포맷의 서브프레임에서 대응하는 것을 찾으며, 그 역으로도 또한 같다.
예를 들어, 두 포맷의 서브프레임에서 위치 p e p s 사이의 대응은 다음 식에 의해 규정될 수 있다:
Figure 112006041028173-PCT00009
위 식에서 F e F s 는 각각 E와 S의 샘플링 주파수이고, L e L s 는 E와 S의 서브프레임 길이이고,
Figure 112006041028173-PCT00010
는 정수부를 나타낸다.
프로세서 유닛의 특성에 따라, 이 대응은 상기 식을 사용하거나 유리하게는 L e 에 대한 표를 작성할 수 있다. 중간 해(intermediate solution)를 제1 le에 값(
Figure 112006041028173-PCT00011
, d는 L e L s 의 최대 공약수)만을 표로 작성함으로써 선택될 수 있고, 나머지 위치들은 그 후 용이하게 추론된다. E의 서브프레임의 위치에 대응하는 복수의 S의 서브프레임을 만드는 것도 가능하다는 것에 유의하여야 한다. 예를 들어, 예를 들어 바로 아래 및 바로 위의
Figure 112006041028173-PCT00012
을 보유할 수 있다.
전술한 일반적인 처리는 위치들 p e 에 대응하는 위치들 p s 의 앙상블로부터의 개시에 적용된다(이웃들의 추출, 펄스들의 조합들의 합성, 최적 조합의 선택).
서브프레임 지속시간들은 동이하지만 샘플링 주파수들은 상이한 이 경우는 아래의 표 5a 내지 표 5d에서 발견되며, 실시예를 참조하면 코더(E)는 3GPP NB-AMR 타입이고, 코더(S)는 WB-AMR 타입이다. NB-AMR 코더는 8 kHz의 샘플링 주파수에 대해 40개 샘플의 서브프레임을 가진다. WB-AMR 코더는 12.8 kHz에서 서브프레임당 64개의 샘플을 사용한다. 두 경우 모두, 서브프레임의 지속시간은 5ms이다. 표 5a는 WB-AMR 서브프레임에 대한 NB-AMR 서브프레임 내의 위치들의 대응관계를 제공하고, 표 5b는 그 반대의 대응관계를 제공한다. 표 5c 및 표 5d는 제한된 대응 표이다.
Figure 112006041028173-PCT00013
표 5a: WB-AMR에 대한 NB-AMR의 시간 대응 표
Figure 112006041028173-PCT00014
표 5b: NB-AMR에 대한 WB-AMR의 시간 대응 표
Figure 112006041028173-PCT00015
표 5c: WB-AMR에 대한 NB-AMR의 제한된 시간 대응 표
Figure 112006041028173-PCT00016
표 5d: NB-AMR에 대한 WB-AMR의 제한된 시간 대응 표
간단히, 다음 단계들을 적용한다(도 2a 참조):
a1) 제1 주파수에서 제2 주파수로 직접 시간 스케일 양자화(도 2a의 단계 51),
a2) 해당 양자화의 함수에 따라, 제1 샘플링 주파수에 특징이 있는 제1 코딩 포맷을 갖는 서브프레임 내의 펄스 위치로부터 제2 샘플링 주파수에 특징이 있는 제2 코딩 포맷을 갖는 서브프레임 내의 각 펄스 위치를 결정(도 2a의 단계 52),
개략적으로 말하면 양자화 단계 a1)은 계산 및/또는 제1 포맷을 갖는 서브프레임 내의 펄스 위치(pe)와 제2 포맷을 갖는 서브프레임 내의 펄스 위치(ps)를 대응시키는 함수로부터 표를 작성함으로써 실행되며, 그 함수는 실질적으로 제1 샘플링 주파수에 대한 제2 샘플링 주파수의 비에 대응하는 곱셈 계수를 포함하는 선형 결합의 형태를 취한다.
또한, 제2 포맷(ps)을 갖는 서브프레임 내의 펄스 위치에서 제1 포맷(pe)을 갖는 서브프레임 내의 펄스 위치로 반대방향으로 이동하기 위해, 물론 제2 포맷(ps)을 갖는 서브프레임 내의 펄스 위치에 적용된 이 선형 결합의 역함수가 적용된다.
명백하게 트랜스코딩 프로세스는 완전히 가역적이며, 하나의 트랜스코딩 방향(E → S)에 대해 적응되는 것과 동일하게 다른 트랜스 코딩 방향(S → E)에 적용된다.
샘플링 주파수 적응의 제2 실시예는 종래의 샘플링 주파수의 변경 원리를 사용한다. 제1 포맷에 의해 발견된 펄스를 포함하는 서브프레임에서 시작하여, 두 샘플링 주파수(F e , F s )의 최소 공배수와 동일한 주파수로 오버샘플링이 적용된다. 그런 다음, 저역 통과 필터링을 한 후, 제2 포맷의 샘플링 주파수, 즉 F s 로 되돌아가도록 언더샘플링이 적용된다. E로부터 필터링된 펄스들을 포함하는 주파수 F s 의 서브프레임이 취득된다. 다시 한번, 오버샘플링/LP 필터링/언더 샘플링 작업의 결과는 E의 서브프레임의 가능한 위치 각각에 대해 표로 작성될 수 있다. 이 처리는 또한 "온라인" 계산에 의해 실행될 수 있다. 샘플링 주파수 적응의 제1 실시예에서처럼, S의 하나 이상의 위치는 후술하는 바와 같이 E의 위치와 연관될 수 있으며, 전술한 발명의 의미대로 일반적인 처리를 적용한다.
도 2b에 도시된 변형예에 나타낸 바와 같이, 다음 단계들을 적용한다:
a'1) 제 샘플링 주파수에 특징이 있는 제1 코딩 포맷을 갖는 서브프레임을, 제1 샘플링 주파수와 제2 샘플링 주파수의 최소 공배수와 동일한 주파수 Fpcm으로 오버샘플링하는 단계(도 2b의 단계 53), 및
a'2) 오버샘플링된 서브프레임에 저역 통과 필터링을 적용(도 2b의 단계 54)한 다음, 제2 샘플링 주파수에 대응하는 샘플링 주파수를 얻기 위해 언더샘플링하는 단계.
프로세스는 위의 제1 실시예에서처럼, E의 펄스들로부터 적응된(단계 56), 다수의 위치, 어쩌면 가변하는 개수의 위치를 바람직하게는 임계처리 방법(thresholding method)에 의해 취득함으로써 계속한다.
* 샘플링 주파수는 동일하지만, 서브프레임 지속시간은 상이한 경우
샘플링 주파수는 동일하지만 서브프레임 지속시간은 상이한 경우에 실행되는 처리를 다음에 설명한다. 이 경우는 도 2의 검사 단계 23의 "n"에 대응하고 검사 단계 22의 "o"에 대응한다. 그 후에 적응 단계 a)가 도 2의 단계 33에 적용된다.
위의 경우에서처럼, 이웃 추출 단계는 그대로는 바로 적용될 수 없다. 먼저 두 서브프레임을 호환성 있게 만들 필요가 있다. 여기서 서브프레임들은 크기가 상이하다. 이 비호환성에 직면하여, 탠덤이 그런 것처럼 펄스들의 위치를 계산하기보다 바람직한 실시예는 제1 포맷의 펄스들의 위치로부터 제2 포맷의 펄스들에 대한 위치들의 조합들의 제한된 디렉토리를 결정하는 저 복잡도의 해결법을 제공한다. 하지만, S의 서브프레임과 E의 서브프레임은 크기가 동일하지 않아 S의 서브프레임과 E의 서브프레임 사이의 직접적인 시간 대응관계를 수립할 수 없다. 도 4 에 도시한 바와 같이(E와 S의 서브프레임들이 STE와 STS로 각각 지정되어 있음), 두 포맷의 서브프레임들의 경계들은 정렬되어 있지 않고 시간에 관해 서브프레임들은 서로 상대적으로 이동되어 있다.
바람직한 실시예에서, E의 여기를 S의 서브프레임의 크기와 S의 타이밍 속도의 의사 서브프레임으로 분할하는 것을 제안한다. 의사 서브프레임은 도 5에서 STE'로 표기한다. 실제, 이것은 E 및S에 공통된 원점에 관하여 위치들을 정렬하기 위해 서브프레임 크기 차이를 고려하여 두 포맷 내의 위치들 간의 시간 대응관계를 수립하는 것과 같다. 공통 원점의 결정에 대해서는 나중에 자세하게 설명한다.
그 원점에 관한 제1 포맷(제2 포맷 각각)의 위치 p o e ( 및 p o s 각각)은 그 서브프레임에 관한 E( 및 S 각각)의 서브프레임 i e ( 및 j s 각각)의 위치 p e (및 p s 각각)와 일치한다. 따라서,
Figure 112006041028173-PCT00017
S의 포맷의 서브프레임(j s )의 위치(p s )가 대응하는 E의 포맷의 서브프레임(i e )의 위치(p e )에 대해, p s j s 는 각각 E와 S에 공통된 원점(O)에 대한 p e 의 위치 p o e L s 로 나눈 유클리드 분할(Euclidian division)의 나머지와 몫이다.
Figure 112006041028173-PCT00018
위 식에서 0 ≤ pe < Le 이고 0 ≤ ps < Ls 이며,
Figure 112006041028173-PCT00019
는 정수부이고, ≡는 모듈러스(modulus)를 나타내며, E( 및 S 각각)의 서브프레임의 인덱스는 공통 원점(O)에 대해 주어진다.
따라서, 전술한 일반적인 프로세스를 이용하여 서브프레임(js) 내의 S의 펄스들에 대한 위치들의 제한된 앙상블을 결정하기 위해, 서브프레임(js) 내의 위치(pe)를 사용한다. 하지만 Le > Ls이면, S의 서브프레임은 어떠한 펄스도 포함할 수 없다. 도 6의 예에서, 서브프레임(STEO)의 펄스들은 수직선으로 표시되어 있다. E의 포맷은 STE0의 펄스들을 서브프레임의 끝에 아주 잘 집중시킬 수 있으며, 그 경우에 의사 서브프레임 STE'0은 어떠한 펄스도 포함하지 않는다. E에 의해 배치되는 모든 펄스는 분할할 때 STE'1에서 발견된다. 이 경우에, 종래의 집중식 검색이 의사 서브프레임 STE'0에 바람직하게 적용된다.
두 포맷에 공통된 시간 원점(O)의 결정을 위한 바람직한 실시예를 다음에 설명한다. 그것의 공통된 기준(reference)은 위치(숫자 0)를 구성하는데, 그것으로부터 펄스들의 위치는 연속하는 서브프레임들 내에서 번호가 매겨진다. 이 위치 0은 본 발명의 트랜스코딩 방법을 이용하는 시스템에 따라, 여러 가지 방법으로 규정될 수 있다. 예를 들어, 전송 시스템 장비에 내장된 트랜스코더 모듈의 경우, 장비가 동작하기 시작한 후에 수신된 첫 번째 프레임의 첫 번째 위치를 원점으로 취하는 것이 현실적일 것이다.
하지만, 이 선택의 단점은, 위치들이 상당히 큰 값을 취하고 그들을 제한할 필요가 있을 수 있다는 것이다. 이 경우에 가능할 때마다 공통 원점의 위치를 갱신하는 것으로 충분하다. 따라서, E와 S의 서브프레임의 각각의 길이(L e , L s )는 시간에 대해 일정하며, 공통 원점의 위치는 E와 S의 서브프레임들의 경계들이 정렬될 때마다 리세트된다. 이것은 주기적으로 발생하며, (샘플들로 표현된) 주기는 L e L s 의 최소 공배수와 같다.
L e 및/또는 L s 가 시간상 일정하지 않는 경우도 또한 생각할 수 있다. 현재 L e (n)L s (n)으로 표기된(n은 서브프레임의 개수를 나타냄) 두 개의 서브프레임에 공통된 배수를 발견하는 것은 더 이상 불가능하다. 이 경우에, L e (n)L s (n) 값을 신속하게 합계하여 각 서브프레임에서 구한 두 개의 합계를 비교할 필요가 있다.
Figure 112006041028173-PCT00020
Te(k) = Ts(k')일 때마다, 공통 원점은 갱신된다(그리고 위치 k × Le 또는 k' × Ls에서 취득된다). 두 개의 합계 Te와 Ts는 리세트되는 것이 바람직하다.
간단히, 그리고 더욱 일반적으로 말하면, 제1(제2 각각의) 서브프레임 지속시간, 제1(제2 각각의) 코딩 포맷의 서브프레임 지속시간 호출, 서브프레임 지속시간이 상이한 경우에 실행되는 적응 단계들이 도 7에 개괄되어 있으며, 바람직하게는 다음과 같다:
a20) 제1 포맷과 제2 포맷을 갖는 서브프레임들에 공통된 원점(O)을 규정하 는 단계(단계 70)
a21) 제1 서브프레임 지속기간에 특징이 있는 제1 프레임 코딩 포맷을 갖는 연속하는 서브프레임들을, 제2 서브프레임 지속시간에 대응하는 지속시간 L'e의 의사 서브프레임들로 분할하는 단계(단계 71)
a22) 공통 원점(O)을 갱신하는 단계(단계 79), 및
a23) 의사 서브프레임 p'e의 펄스 위치들과 제2 포맷을 갖는 서브프레임의 펄스 위치들 사이의 대응을 결정하는 단계(단계 80).
공통 원점(O)을 결정하기 위해, 바람직하게는 도 7의 검사 단계 72에서 다음의 경우들이 구별된다.
- 제1 및 제2 지속시간은 시간상 고정되어 있다(검사 단계 72에서 "o" 출구)
- 제1 및 제2 지속시간은 시간상 변화한다(검사 단계 72에서 "n" 출구)
전자의 경우에, 제1 지속시간 St(Le)와 제2 지속시간 St(Ls)의 서브프레임 각각의 경계들이 시간상 정렬될 때마다(검사 단계 73이 그러한 경계들에 적용됨) 공통 원점의 시간 위치는 주기적으로 갱신된다(단계 74).
두 번째 경우,
a221) 제1 포맷 Te(k)를갖는 서브프레임들과 제2 포맷 Ts(k)를 갖는 서브프레임의 각각의 합계를 연속하여 실행하고(단계 76),
a222) 상기 두 합계가 동일한 것으로 검출되면, 상기 공통 원점의 갱신하는 시간을 규정하며(단계 77)
a223) 동일한 것으로 검출된 후, 다음 공통 원점의 장래 검출을 위해 전술한 두 개의 합계를 리세트하는(단계 78) 것이 바람직하다.
이제, 서브프레임 지속시간 및 샘플링 주파수가 상이한 경우에, 위의 두 가지 경우에 대해 설명한 E와 S의 위치들 사이의 대응에 관한 알고리즘을 적절하게 결합하는 것으로 충분하다.
* 실시예
다음에 본 발명에 따른 트랜스코딩에 관한 3개의 실시예를 설명한다. 이 실시예들은 합성에 의한 분석을 사용하는 표준 스피치 코더들에 있어 전술한 경우에 제공되는 처리에 대한 애플리케이션을 기술한다. 처음 두 개의 실시예는 샘플링 주파수와 서브프레임 지속시간이 동일한 바람직한 경우를 설명한다. 마지막 실시예를 서브프레임 지속시간들이 상이한 경우를 나타낸다.
* 제1 실시예
제1 실시예는 6.3 kbps 모드 G.723.1 MP-MLQ 모델과 4개의 펄스를 갖는 5.3 kbps 모드 G.723.1 ACELP 모델 사이의 지능형 트랜스코딩에 적용된다.
G.723.1의 고 비트율에서 저 비트율로의 지능형 트랜스코딩은 4개의 펄스 갖는 ACELP 모델과 함께 6개 및 5개 펄스를 갖는 MP-MLQ 모델을 채용한다. 여기에 기술되는 실시예는 MP-MLQ의 위치들로부터 4개의 ACELP 펄스들의 위치를 결정한다.
G.723.1 코더의 동작을 개괄하면 아래와 같다.
ITU-G.723.1 다중 비트율 코더 및 그것의 멀티펄스 딕셔너리들은 앞서 설명하였다. G.723.1 프레임은 8 kHz의 240개 샘플을 포함하고 샘플 60개씩이 4개의 서브프레임으로 분할된다고만 말해 두자. 동일한 제한이 세 개의 멀티펄스 딕셔너리 각각의 임의의 코드 벡터의 펄스들의 위치들에 대해 부가된다. 이 위치들은 모두 동일한 패리티를 가져야 한다(모두 우수이거나 모두 기수여야 한다). 따라서 60(+4)개 위치의 서브프레임은 각각 32개 위치의 두 개의 그리드(grid)로 분할된다. 우수 그리드(even grid)는 [0, 2, 4, ..., 58, (60,62)]의 번호가 부여된 위치들을 포함한다. 기수 그리드(odd grid)는 위치들 [1, 3, 5, ..., 59, (61, 63)]. 각각의 비트율에 대해, 디렉토리의 탐사는 비록 소모적이지는 않지만 여전히 전술한 바와 같이 복잡하다.
6.3 kbps 모드 G.723.1 MP-MLQ 디렉토리의 요소로부터 5.3 kbps 모드 G.723.l ACELP 디렉토리의 서브세트를 선택하는 것에 대해서는 다음에 설명한다.
제1 코딩 작업 동안에 결정된 6.3 kbps 모드 G.723.1 MP-MLQ 디렉토리의 요소를 알고 있는 5.3 kbps 모드 G.723.l ACELP 디렉토리에서의 요소를 이용하여 서브프레임의 이노베이션 신호를 모델링하는 것이 목표이다. 6.3 kbps 모드 G.723.1 코더에 의해 선택된 펄스들의 Ne개의 위치(Ne = 5 또는 6)는 따라서 이용 가능하다.
예를 들어, 그 여기가 Ne = 5개 펄스에 의해 모델링되는 서브프레임에 대해 6.3 kbps 모드 G.723.1 코더의 비트 스트림에서 추출된 위치들은 다음과 같다고 가정할 수 있다:
e0 = 0; e1 = 8; e2 = 28; e3 = 38; e4 = 46.
샘플링 주파수 또는 서브프레임 지속시간의 적응이 여기서는 요구되지 않는다 는 것을 기억하기 바란다. 위치들 ei를 복구하는 이 단계 후에, 후속하는 단계는 그러한 5개 펄스의 오르쪽 및 왼쪽 이웃들을 직접 추출하는 데 있다. 오른쪽 이웃 및 왼쪽 이웃들은 여기서 2와 같다. 위치들의 앙상블(Ps)은 다음과 같이 선택된다:
Figure 112006041028173-PCT00021
제3 단계는 (표 1에 나타낸 바와 같은) 상기 디렉토리에 의해 권한이 부여된 우수 트랙들(기수 트랙들 각각)의 위치들의 앙상블을 4개 갖는 Ps의 Ns = 4 교차점을 취함으로써 5.3 kbps 모드 G.723.l 코더의 ACELP 디렉토리의 각 펄스(여기서는 1 트랙)에 대해 가능한 위치들의 제한된 앙상블을 구성하는 것이다.
우수 패리티의 경우:
Figure 112006041028173-PCT00022
Figure 112006041028173-PCT00023
기수 패리티의 경우:
Figure 112006041028173-PCT00024
Figure 112006041028173-PCT00025
이 선택된 위치들의 조합은 검색이 수행될 새로운 제한된 디렉토리를 구성한다. 이 단계 때문에, 최적 위치들의 세트를 선택하는 절차는 5.3 kbps 모드 G.723.l 코더에서처럼 CELP 기준에 근거한다. 탐사는 소모적일 수 있지만, 바람직 하게 집중된다.
제한된 디렉토리 내의 위치들의 조합의 수는, 5.3 kbps 모드 G.723.l 코더의 ACELP 디렉토리의 위치들에 대한 8192개(= 2 * 8 * 8 * 8 * 8) 조합 대신에 180개(= 4 * 3 * 3 * 4 + 2 * 1 * 3 * 3)와 같다.
조합의 수는 6.3 kbps 모드에 대해 선택된 패리티만을 고려함으로써 더욱 제한될 수 있다(본 예에서는 우수 패리티이다). 이 경우에, 제한된 디렉토리 내의 조합의 수는 144개와 같다. 관련된 이웃들의 크기에 따라, 펄스 4개 중 하나에 대해 앙상블(Ps)은 ACELP 모델의 트랙에 대한 어떠한 위치를 포함하지 않을 수 있다( 앙상블 S i 중 하나가 빈 경우). 따라서 이웃들의 크기 2인 경우, Ne개 펄스의 위치가 모두 동일 트랙 상에 있을 때, Ps는 그 트랙과 인접 트랙들의 위치만을 포함한다. 이 경우에, 요구되는 품질/복잡도 트래드 오프에 따라, 앙상블 Si를 Ti와 교환하거나(그 트랙의 위치들의 앙상블을 제한하지 않는 것과 같다) 펄스들의 오른쪽 (또는 왼쪽) 이웃을 증가시킬 수 있다. 예를 들어, 6.3 kbps 모드 코더의 모든 펄스가 트랙 2 상에 있고, 오른쪽 이웃과 왼쪽 이웃이 2개로 동일하면, 트랙 0은 패리티와 상관 없이 위치를 가지지 않는다. 트랙 0에 위치들을 할당하기 위해서는 왼쪽 이웃 및/또는 오른쪽 이웃의 크기로 2만큼 증가시키는 것으로 충분하다.
이 실시예를 설명하기 위해, 다음의 예를 생각해보자:
e0=4; e1=12; e2=20; e3=36; e4=52.
선택된 위치들의 앙상블(Ps)은 다음과 같다:
Figure 112006041028173-PCT00026
동일 패리티를 보유하기를 바란다고 가정하면, 4개의 펄스에 대한 이 위치들의 초기 분할은 다음과 같다:
Figure 112006041028173-PCT00027
펄스들의 오른쪽 이웃을 2 증가시켜 다음을 얻는다:
Figure 112006041028173-PCT00028
(따라서
Figure 112006041028173-PCT00029
)
* 제2 실시예
이하의 제2 실시예는 동일한 길이의 ACELP 모델 간의 지능형 트랜스코딩에 본 발명을 적용한 경우를 예시한다. 구체적으로, 본 제2 실시예는 8kbps 모드 G.729의 4개의 펄스를 갖는 ACELP 모델과 6.4kbps 모드 G.729의 2개의 펄스를 갖는 ACELP 모델 간의 지능형 트랜스코딩에 적용된다.
6.4kbps 모드 G.729와 8kbps 모드 G.729의 코더 간의 지능형 트랜스코딩은 2개의 펄스를 갖는 하나의 ACELP 디렉토리와 4개의 펄스를 갖는 제2 ACELP 디렉토리를 이용한다. 여기에서 설명되는 실시예는 2개의 펄스(6.4kbps)의 위치로부터 4개의 펄스(8kbps)의 위치를 결정하고, 또한 그 반대로 결정한다.
ITU-T G.729 인코더의 동작을 간략히 설명한다. 이 코더는 6.4 kbps, 8 kbps 및 11.8 kbps의 3가지 비트율로 동작할 수 있다. 여기에서는 앞의 2개의 비 트율이 고려된다. G.729 프레임은 8 ㎑에서 80개의 샘플을 포함하며, 각각 40개 샘플의 2개의 프레임으로 분할된다. 각각의 서브프레임에 대해, G.729는 ACELP 모델을 따르는 펄스를 통해 이노베이션 신호를 모델링한다. G.729는 8 kbps 모드에 대해 4개의 펄스를 사용하고, 6.4 kbps 모드에 대해 2개의 펄스를 사용한다. 상기의 표 2 및 표 4는 펄스가 이들 2개의 비트율에 대해 채용할 수 있는 위치를 제공한다. 6.4 kbps에서는 모든 조합의 위치(512개)에 대한 빠짐없는 검색이 수행된다. 8 kbps에서는 집중식 검색을 사용하는 것이 바람직하다.
여기에서는 본 발명에 따른 일반적인 처리가 다시 사용된다. 그러나, 여기에서 2개의 디렉토리에 공통되는 ACELP 구조가 채용되는 것이 유라하다. 이들의 위치의 세트 간의 대응관계는 40개 샘플의 서브프레임을 아래의 표 6에 설정된 바와 같이 각각 8개의 위치를 갖는 5개의 트랙으로 분할하여 이루어진다.
Figure 112006041028173-PCT00030
표 6: 위치를 G.729 ACELP 딕셔너리 내의 4개의 트랙으로 분할
두 개의 디렉토리에서, 펄스의 위치는 아래의 표 7에 도시된 바와 같이 3개의 트랙을 공유한다.
모든 펄스는 자신의 트랙과 그 트랙에서의 자신의 순위에 의해 특징지워진다. 8 kbps 모드는 펄스를 앞의 3개의 트랙의 각각에 위치시키고, 최종 펄스를 뒤위 2개의 트랙 중의 하나에 배치한다. 6.4 kbps 모드는 이 모드의 제1 펄스를 트랙 P1 또는 P3에 위치시키고, 이 모드의 제2 펄스를 트랙 P0, P1, P2 또는 P4에 배치한다.
Figure 112006041028173-PCT00031
표 7: 8 kbps 및 6.4 kbps 모드 G.729 ACELP 디렉토리의 펄스의 5개 트랙의 분포
본 실시예는 이웃한 트랙을 추출하여 위치의 제한된 서브앙상블(subensemble)을 구성하는 것을 용이하게 하기 위해 트랙의 인터리빙(ISSP 구조)를 이용한다. 따라서, 한 트랙에서 다른 트랙으로 이동하기 위해서는 오른쪽 또는 왼쪽으로 한 단위를 시프트하는 것으로 충분하다. 예컨대, 트랙 2의 5번째 위치에서(절대 위치 22), 오른쪽으로의 한 단위의 시프트(+1)는 트랙 3의 5번째 위치(절대 위치 23)로 이동하며, 왼쪽으로의 한 단위의 시프트(-1)는 트랙 1의 5번째 위 치(절대 위치 21)로 이동한다.
보다 일반적으로, ±d의 위치 시프트는 여기에서는 다음과 같은 효과로 반영된다.
트랙 P i 의 레벨에서:
오른쪽 이웃: P i ⇒ P (i+d)≡5
왼쪽 이웃: P i ⇒ P (i-d)≡5
트랙 내의 순위 m의 레벨에서:
* 오른쪽 이웃:
(I + d) ≤ 4인 경우: m i m i
그렇지 않은 경우: 4: m i m i +1
* 왼쪽 이웃:
(I - d) ≥ 0인 경우: m i m i
그렇지 않은 경우: m i m i -1
이하에서는 6.4 kbps 모드 G.729 코더의 2개의 펄스를 갖는 ACELP 디렉토리의 요소로부터 8 kbps 모드 G.729 코더의 4개의 펄스를 갖는 ACELP 디렉토리의 서브앙상블을 선택하는 것에 대하여 설명한다.
6.4 kbps 모드 G.729 서브프레임이 고려된다. 코더에 의해 2개의 펄스가 배치되지만, 8 kbps 모드 G.729가 배치하여야 하는 다른 펄스의 위치를 결정할 필요 가 있다. 복잡도를 근본적으로 제한하기 위해, 펄스당 단지 하나의 위치가 선택되고, 단지 하나의 위치 조합이 유지된다. 이것은 선택 단계가 그에 따라서 즉각적이 된다는 장점을 갖는다. 8 kbps 모드 G.729의 4개의 펄스 중의 2개는 6.4kbps 모드의 위치와 동일한 위치에서 선택되며, 그 후 나머지 2개의 펄스가 앞의 2개의 펄스의 바로 옆에 배치된다. 전술한 바와 같이, 트랙 구조가 이용된다. 2개의 위치의 이진 인덱스(9비트의)를 디코딩함으로써 2개의 위치를 복구하는 제1 단계에서, 대응하는 2개의 트랙 또한 결정된다. 이들 2개의 트랙(동일할 수도 있음)으로부터, 이웃 펄스를 추출하고, 제한된 서브앙상블을 구성하며, 펄스의 조합을 선택하는 뒤의 3가지 단계는 세밀하게 연관된다. 그 후, 2개의 6.4 kbps 모드 펄스를 포함하는 트랙 Pi(i = 0 내지 4)에 따라 상이한 경우가 구별된다.
6.4 kbps 모드 펄스의 위치는 ek로 표시되고, 8 kbps 모드 펄스의 위치는 sk로 표시된다. 표 8은 각각의 경우에서의 선택된 위치를 제공한다. "P j +d = P i "로 표시된 열은 트랙 레벨의 이웃 법칙(neighborhood law) 및 트랙 Pi에서의 종료점을 특정한다. 트랙 Pi의 레벨에서:
* 오른쪽 이웃에 대해서는: P i ⇒ P (i+d)≡5
* 왼쪽 이웃에 대해서는: P i ⇒ P (i-d)≡5
Figure 112006041028173-PCT00032
표 8: 6.4 kbps 모드 G.729 ACELP 디렉토리의 2개의 펄스로부터 8 kbps 모드 G.729 제한된 디렉토리의 선택
따라서, 상이한 선택이 이루어질 수도 있지만, 2개의 시작 위치에 관하여 4개의 위치의 분포를 균형을 유지하는 것을 목표로 하는 것이 바람직하다. 4가지 상황(표 8에서 괄호 내의 지수로 나타내지는 상황)은 그럼에도 불구하고 에지 효과(edge effect) 문제를 야기할 수도 있다:
경우 (1) : e1 = 0인 경우, s3 = e1 - 1를 취할 수 없으므로, s3 = e0 + 2를 선택
경우 (2) : e1 = 39인 경우, s0 = e1 + 1 를 취할 수 없으므로, s0 = e0 - 1를 선택
경우 (3) : e1 = 38인 경우, s0 = e0 + 2를 취할 수 없으므로, s0 = e1 - 2를 선택
경우 (4) : e1 = 39인 경우, s0 = e1 + 1를 취할 수 없으므로, s0 = e0 -3 를 선택
복잡도를 더욱 감소시키기 위해, 각각의 펄스 sk의 부호는 이 펄스가 추론되었던 펄스 ej의 부호와 동일한 것으로서 취해질 것이다.
이하에서는 4개의 펄스를 갖는 8 kbps 모드 G.729 ACELP 디렉토리의 요소로부터 6.4 kbps 모드 G.729 ACELP 디렉토리의 서브앙상블을 선택하는 과정에 대하여 설명한다.
8 kbps 모드 G.729 서브프레임에 대해, 제1 단계는 8 kbps 모드에 의해 생성된 4개의 펄스의 위치를 복구하는 것이다. 이들 4개의 위치의 이진 인덱스를 디코딩(13비트로)함으로써, 앞쪽의 3개의 위치에 대한 이들의 각각의 트랙(트랙 0 내지 트랙 2)에서의 이들의 순위가 산출되고, 제4 펄스의 트랙(트랙 3 또는 트랙 4)이 그 트랙에서의 그 위치의 순위와 함께 산출된다. 각각의 위치 ei(0 ≤ i ≤4)는 (pi, mi)쌍에 의해 특징지워지며, 여기서 pi는 그 트랙에서의 그 위치의 순위이다. 따라서, 위치 ei는, 0≤ 5mi ≤8 이고 I <3 에 대해 pi = i이고 p3 = 3 또는 4인 경우에, 다음과 같이 된다:
ei = 5mi + pi
전술한 바와 같이, 이웃 추출 및 제한된 서브앙상블 구성은 조합되고, 2개의 디렉토리에 공통되는 ISSP 구조를 이용하는 것이 유리하다. 5개의 트랙 Pj과 4개의 위치의 이웃 집단 Ps의 5개의 교차점 T'j는 트랙을 인터리빙함으로써 유도된 인접 위치 성질을 이용함으로써 구성된다:
T'j = Ps ∩ Pj
따라서, 펄스 (p,m)의 +1(또는 -1)의 오른쪽(또는 왼쪽) 이웃은 P < 4인 경우 T'P +1에 속하고(또는 P > 0인 경우에 T'P -1에 속하고), 그렇지 않은 경우, 즉 P가 4인 경우에는 m < 7인 조건으로 T'0에 속한다(또는 m > 0인 조건으로 T'4(I = 0)에 속한다). 제4 트랙에 속하는 제4 펄스의 위치에 대한 오른쪽 이웃(또는 제1 트랙의 위치에 대한 왼쪽 이웃)에 관한 제한은 인접 위치가 서브프레임 외부에 있지 않도록 한다.
따라서, 모듈로 5 표기법(≡5)을 이용하면, 펄스 (p,m)의 +1(또는 -1)의 오른쪽 이웃(또는 왼쪽 이웃)은 T'(p+1)≡5에 속한다(또는 T'(p-1)≡5에 속한다). 에지 효과를 고려하는 것이 필요하다는 점에 유의하기 바란다. 이웃 크기를 d로 일반화하면, 펄스 (p,m)의 +d의 오른쪽 이웃(또는 -d의 왼쪽 이웃)은 T'(p+d)≡5에 속한다(또는 T'(p-d)≡5에 속한다). ±d의 이웃의 순위는 p + d ≤ 4(또는 p - d ≥ 0)인 경우에는 m과 동일하고, 그렇지 않은 경우에는 순위 m은 오른쪽 이웃에 대해서는 증가되고, 왼쪽 이웃에 대해서는 감소된다. 따라서, 에지 효과를 고려하면, p + d > 4인 경우에는 m < 7이 되도록 하고, p - d < 0 인 경우에는 m > 0이 되도록 한다.
5개의 트랙에서 이웃의 이러한 분포로부터 시작하면, 2개의 펄스의 위치의 서브앙상블 S0 및 S1을 결정하는 것이 간편하게 된다:
Figure 112006041028173-PCT00033
제4 단계 및 최종 단계는 획득된 2개의 서브앙상블에서 최적의 쌍을 검색하는 과정을 구성한다. 검색 알고리즘(트랙 구조를 이용한 표준화된 알고리즘과 같은) 및 펄스의 트랙 단위의 저장은 검색 알고리즘을 다시 한 번 간략화시킨다. 실제로, 집단 T'j이 단독으로 사용될 수 있기 때문에, 제한된 서브앙상블 S0 및 S1을 구성하는 것은 이용성이 없다.
다음의 예에서, 4개의 8 kbps 모드 G.729 펄스가 다음의 위치에 배치되었다:
e0 = 5; e1 = 21; e2 = 22; e3 = 34.
이들 4개의 위치는 4개의 쌍 (pi, mi) = (0,1), (1,4), (2,4), (4,6)에 의해 특징지워진다.
1과 동일한 고정된 이웃을 취하면, 5개의 인터섹션 T'j는 다음과 같이 구성된다:
e0: (0,1)이 왼쪽에 (4,0)을 산출하고, 오른쪽에 (1,1)을 산출함
e1: (1,4)이 왼쪽에 (0,4)을 산출하고, 오른쪽에 (2,4)을 산출함
e2: (2,4)이 왼쪽에 (1,4)을 산출하고, 오른쪽에 (3,4)을 산출함
e3: (4,6)이 왼쪽에 (3,6)을 산출하고, 오른쪽에 (0,7)을 산출함
그러므로, 다음의 집단을 갖게 된다:
Figure 112006041028173-PCT00034
위치 표기법으로 변환하면 다음과 같이 된다:
Figure 112006041028173-PCT00035
최종 단계에서, G.729 6.4 kbps 모드의 알고리즘과 유사한 알고리즘은 최상의 펄스 쌍에 대한 검색을 가능하게 한다. 그 알고리즘은 이용될 위치 조합의 수가 매우 작기 때문에 훨씬 덜 복잡하다. 이 예에서, 검사될 조합의 수는 4개(Cardinal(T'1) + Cardinal(T'3))에 8개(Cardinal(T'0) + Cardinal(T'1) + Cardinal(T'2) + Cardinal(T'4))를 곱한 것에 불과하여, 512개가 아닌 32개의 조합이 된다.
크기 1의 이웃에 대해, 위치 조합의 8% 미만이 평균적으로 이용되며, 10%(50개의 조합)를 초과하지 않는다. 크기 2의 이웃에 대해, 위치 조합의 17% 미 만이 평균적으로 이용되며, 최대로 하여도 조합의 25%가 이용된다. 크기 2의 이웃에 대해, 본 발명에 의해 제안된 처리의 복잡도(아울러, 제한된 디렉토리를 검색하는 비용과, 인터섹션의 구성에 관련된 이웃을 추출하는 비용을 포함하여)는 등가의 품질에 대해 철저한 검색의 30% 미만을 나타낸다.
* 실시예 3
최종 실시예는 8 kbps 모드 G.729 ACELP 모델과 6.3 kbps 모드 G.723.1 MP-MLQ 모델 간의 수수(passing)를 예시한다.
G.723.1(6.3 kbps 모델)과 G.729(8 kbps 모델) 간의 펄스의 지능형 트랜스코딩은 2가지의 주요한 난점을 수반한다. 먼저, 프레임의 크기가 상이하다(G.723.1에 대해서는 60개의 샘플임에 비해 G.729에 대해서는 40개의 샘플임). 두 번째 난점은 딕셔너리의 상이한 구조에 관련된다(G.729에 대해서는 ACELP 타입이고, G.723.1에 대해서는 MP-MLQ 타입임). 여기에서 설명되는 실시예는 본 발명이 트랜스코딩 품질을 유지하면서 감소된 비용으로 펄스를 트랜스코딩하기 위해 이들 2가지 문제점을 어떻게 제거하는지를 보여준다).
먼저, E와 S에 공통되는 원점과 관련하여 위치를 정렬하기 위해 서브프레임의 크기 차이를 고려하여, 2개의 포맷에서의 위치 간의 시간적인 대응관계가 설정된다. 최저 공통 배수가 120인 G.729 및 G.723.1 서브프레임 길이에 대해, 120개의 샘플의 블록에 의해 시간적인 대응관계가 설정된다. 즉, 도 4b의 예에 도시된 바와 같이 매 3개의 G.729 서브프레임에 대해 2개의 G.723.1씩 대응관계가 설정된다. 이와 달리, 프레임의 완성 블록에 대해 작업하는 것이 바람직할 수도 있다. 이 경우, 240개 샘플의 블록, 즉 매 3개의 G.729 프레임(6개의 서브프레임)마다에 대해 하나의 G.723.1 프레임(4개의 서브프레임)씩 선택된다.
다음으로, 4개의 펄스를 갖는 8 kbps 모드 G.729 ACELP 디렉토로의 요소로부터 6.3 kbps 모드 G.723.1 MP-MLQ 디렉토리의 서브앙상블을 선택하는 과정에 대하여 설명한다. 제1 단계는 3개의 G.729 서브프레임(인덱스 i e 를 갖고, 0 ≤ i e ≤2)의 블록에 의해 펄스의 위치를 복구하는 과정으로 이루어진다. 서브프레임 i e 에서의 그 블록의 위치는 p e ( i e )로 표시된다.
이웃 추출 이전에, 12개의 위치 p e ( i e )는 2개의 G.723.1 서브프레임(인덱스가 j s 이고, 0 ≤ j s ≤ 1)으로 분할된 12개의 위치 p s ( j s )로 변환된다. 상기한 일반적인 수식은 서브프레임 지속기간의 적응을 수행하기 위해 사용될 것이다(서브프레임 길이의 표준을 수반하여). 그러나, 여기에서는 인덱스 ie의 값에 따라 단지 3가지의 경우으로 구분하는 것이 바람직하다:
i e = 0인 경우, j s = 0이고 p s = p e
i e = 2인 경우, j s = 1이고 p s = p e + 20
i e = 1인 경우, p e < 20 이라면 , j s = 0이고, p s = p e + 40,
( p e ≥20)이라면, j s = 1이고, p s = p e - 20.
그러므로, 분할 및 모듈로 n 연산이 유효하지 않게 된다.
블록의 서브프레임 STE0에서 복구된 4개의 위치는 동일한 위치를 갖는 서브프레임 STS0에 직접 지정되고, 블록의 서브프레임 STE2의 위치들은 +20의 위치 증가를 갖는 서브프레임 STS1에 직접 지정되고, 20 아래의 서브프레임 STE1의 위치는 +40의 증가를 갖는 서브프레임 STS0에 지정되며, 나머지는 -20의 증가를 갖는 서브프레임 STS1에 지정된다.
그 후, 이들 12개의 위치의 이웃이 추출된다. 이들의 서브프레임으로부터 추출될 서브프레임 STS0(또는 STS1)의 위치의 오른쪽 이웃(또는 왼쪽 이웃)이 허가될 수 있고, 그리고나서 이들 이웃 위치가 서브프레임 STS1(또는 STS0)에 있게 된다는 점에 유의하기 바란다.
시간적인 대응 관계 및 이웃 추출 단계는 서로 바뀔 수 있다. 이 경우, 이들의 서브프레임으로부터 서브프레임 STE0(또는 STE2)의 위치의 오른쪽 이웃(또는 왼쪽 이웃)이 허가될 수 있고, 그리고나서 이들 이웃 위치가 서브프레임 STE1에 있게 된다. 유사하게, STE1에서의 위치의 이웃(또는 왼쪽의 이웃)이 STE2(또는 STE0)에서의 이웃 위치에 있게 될 수 있다.
각각의 서브프레임 STS에 대한 제한된 위치의 집단이 구성된 후, 최종 단계는 동일한 패리티를 갖는 Np(=6 또는 5) 펄스를 선택하기 위해 각각의 서브프레임 STS에 대해 이러한 방식으로 구성된 제한된 디렉토리를 이용하여 구성된다. 이 과정은 표준화된 알고리즘으로부터 유도되거나, 다른 집속 과정으로부터 그 영감을 취할 수 있다.
본 실시예를 예시하기 위해, 2개의 G.723.1 서브프레임의 서브디렉토리를 구 성하도록 사용될 수 있는 3개의 G.729 서브프레임을 구성한다. G.729는 다음의 위치를 산출하는 것으로 가정한다:
Figure 112006041028173-PCT00036
상기한 시간적인 대응 단계의 적용 후, 이들 12개의 위치를 서브프레임 STS0 및 STS1에 지정하는 것은 다음과 같이 이루어진다:
Figure 112006041028173-PCT00037
그러므로, 서브프레임 STS0에 대한 위치 {1, 5, 32, 39, 44, 55}와 서브프레임 STS1에 대한 위치 {2, 11, 20, 21, 44, 57}의 세트를 갖게 된다.
이 단계에서, 이웃을 추출하는 것이 필요하다. 1에 고정된 이웃을 고려하여, 예컨대 다음을 획득하게 된다:
Figure 112006041028173-PCT00038
ML-MLQ는 패리티와는 달리 펄스에 관해 아무런 제약을 가하지 않는다. 서브프레임에 걸쳐, 이들은 모두 동일한 패리티를 가져야 한다. 따라서, Ps0과 Ps1을 다음과 같이 2개의 서브앙상블으로 분기할 필요가 있다.
· Ps0: {0, 2, 4, 6, 32, 40, 44, 54, 56) 및 {1, 5, 31, 33, 39, 43, 45, 55}
ㆍ Ps1: {2, 10, 12, 20, 22, 44, 56} 및 {1, 3, 11, 21, 23, 43, 45, 47}
최종적으로, 이 서브디렉토리는 G.723.1 서브프레임 FTS0 내지 STS1에 대한 CELP 기준이라는 점에서 Np개의 최상의 위치를 결정하는 선택 알고리즘에 전송된다. 이에 의해 검사될 조합의 수가 현저하게 감소된다. 예컨대, 서브프레임 STS0에, 각각 30개가 아닌, 9개의 우수 위치와 8개의 기수 위치가 유지된다.
그럼에도 불구하고, G.729에 의해 선택된 위치가, 이웃 추출이 G.723.1의 위치의 수보다 낮은 가능한 위치의 수 N(N < N p )을 산출하도록 하는 경우에서 예방조치가 요구된다. 이것은 G.729 위치가 모두 순서대로 있는 경우(예컨대, {0, 1, 2, 3})에 특히 그러하다. 2가지 옵션이 존재한다:
ㆍ Ps에 대해 충분한 크기가 획득될 때까지(크기 ≥ N p ) 관련 서브프레임에 대한 이웃의 크기를 증가시키거나
ㆍ 앞에서 N개의 펄스를 선택하고, 나머지 N p - N 개의 펄스에 대해 전술한 바와 같이 그리드(grid)의 30-N 개의 나머지 위치 간의 검색을 허용한다.
다음으로, 6.3 kbps 모드 G.723.1 MP-MLQ 디렉토리의 요소로부터 4개의 펄스를 갖는 8 kbps 모드 G.729 ACELP 디렉토리의 서브앙상블을 선택하는 과정으로 이루어지는 반대의 처리 동작을 설명한다.
전체적으로 처리 과정은 유사하다. 2개의 G.723.1 서브프레임은 3개의 G.729 프레임에 대응한다. 먼저, G.723.1 위치가 추출되고, G.729 시간 프레임으 로 변환된다. 이들 위치는 ACELP 구조로부터 이웃을 추출하고 최적의 위치를 검색하는데 이점을 갖도록 하기 위해 "트랙 - 트랙 내에서의 순위"의 형태로 변환되는 것이 이롭다.
이웃 추출이 불충분한 수의 위치(여기에서는 4개의 위치 미만)를 산출하는 경우를 방지하기 위해 이전과 동일한 구성이 채용된다.
그러므로, 본 발명은 제1 세트의 펄스로부터 한 세트의 펄스의 위치를 더 낮은 비용으로 결정하며, 여기서 2개 세트의 펄스가 2개의 복수 펄스 디렉토리에 속한다. 이들 2개의 디렉토리는 이들의 크기와, 이들의 코드 워드의 펄스의 길이 및 번호와, 펄스의 위치 및/또는 진폭을 좌우하는 규칙에 의해 구별될 것이다. 제2 디렉토리 내의 세트의 펄스를 결정하기 위해 제1 디렉토리 내의 선택된 세트의 펄스의 위치의 이웃이 선호된다. 본 발명은 복잡도를 추가로 감소시키기 위해 개시점 및/또는 목적지 디렉토리의 구조를 이용한다. MP-MLQ 모델에서 ACELP 모델로의 변경을 수반하는 전술한 제1 실시예로부터, 본 발명은 상이한 구조적 제한을 갖는 2개의 복수-펄스 모델에 적용하기가 용이하다는 것을 명백히 알 수 있을 것이다. 동일한 ACELP 구조를 기초로 하는 상이한 수의 펄스를 갖는 2개의 모델 간의 수수(passing)를 수반하는 제2 실시예로부터, 본 발명은 트랜스코딩 복잡도를 감소시키기 위해 디렉토리의 구조를 이용하는 것이 바람직하다는 것을 명백히 알 수 있을 것이다. MP-MLQ 모델과 ACELP 모델 간의 수수를 수반하는 제3 실시예로부터, 본 발명은 상이한 서브프레임 길이 또는 샘플링 주파수를 갖는 코더에 적용될 수 있다 는 것을 명백히 알 수 있을 것이다. 본 발명은 품질/복잡도를 서로 균형을 유지하도록 조정하고, 특히 다중-펄스 모델의 종래의 검색에 비해 최소의 저하로 계산 복잡도를 현저하게 감소시킨다.

Claims (23)

  1. 펄스 타입이고, 각각의 펄스가 그와 연관된 인덱스로 표시된 위치를 갖는 멀티펄스 딕셔너리들(multipulse dictionaries)을 사용하는, 제1 압축 코덱과 제2 압축 코덱 사이의 트랜스코딩(transcoding) 방법으로서,
    a) 적절한 경우, 제1 코덱과 제2 코덱 사이의 코딩 파라미터들(coding parameters)을 적응시키는 단계;
    b) 상기 제1 코덱으로부터, 선택된 개수(Ne)의 펄스 위치와 그것과 연관된 각각의 위치 인덱스(ei)를 취득하는 단계;
    c) 정해진 인덱스의 현재 펄스 위치 각각에 대해, 적어도 상기 현재의 펄스 위치 및 상기 정해진 인덱스의 바로 아래 및 바로 위의 연관된 인덱스를 갖는 상기 펄스 위치들을 포함하는 펄스 위치들의 그룹을 형성하는 단계;
    d) 상기 단계 c)에서 형성된 상기 그룹들의 결합(union)에 의해 구성된 앙상블(encemble)(Ps)에서 적어도 상기 펄스 위치들의 일부를 상기 제2 코덱에 의해 허용된 펄스 위치들의 함수(Tj)로서 선택하는 단계; 및
    e) 상기 선택된 펄스 위치들을 상기 제2 코덱으로 전송하여 상기 전송된 위치들로부터 코딩/디코딩하는 단계
    를 포함하며,
    상기 선택 단계 d)에는 상기 제2 코덱의 딕셔너리 내의 전체 펄스 위치의 개 수보다는 적은 다수의 펄스 위치가 관여되는 것을 특징으로 하는 트랜스코딩 방법.
  2. 제1항에 있어서,
    상기 제1 코덱(E)은 제1 개수의 펄스를 제1 코딩 포맷으로 사용하고,
    상기 단계 b)에서의 선택된 개수(Ne)는 상기 펄스 위치의 상기 제1 개수에 상당하는 것을 특징으로 하는 트랜스코딩 방법.
  3. 제2항에 있어서,
    상기 제1 코덱(E)은 제1 개수(Ne)의 펄스 위치를 제1 코딩 포맷으로 사용하고,
    상기 제2 코덱(E)은 제2 개수(Ns)의 펄스 위치를 제2 코딩 포맷으로 사용하며,
    상기 제1 개수(Ne)가 상기 제2 개수(Ns) 이상인 경우와, 상기 제1 개수(Ne)가 상기 제2 개수(Ns) 미만인 경우를 구별하는 단계를 더 포함하는 것을 특징으로 하는 트랜스코딩 방법.
  4. 제3항에 있어서,
    상기 제1 개수(Ne)는 상기 제2 개수(Ns) 이상이고(Ne ≥ Ns),
    상기 단계 c)에서 형성된 각 그룹은, 상기 정해진 인덱스의 현재 펄스 위치의 오른쪽 이웃 펄스 위치들(vi d)과 왼쪽 이웃 펄스 위치들(vi g)을 포함하고,
    상기 오른쪽 이웃 펄스 위치 및 상기 왼쪽 이웃 펄스 위치 각각의 개수는 복잡도/트랜스코딩 품질 트래드오프(complexity/transcoding quality trade-off)의 함수에 따라 선택되는 것을 특징으로 하는 트랜스코딩 방법.
  5. 제4항에 있어서,
    상기 단계 c)에서 형성된 상기 그룹들의 결합에 의해 구성된 앙상블(Ps)과 상기 제2 코덱에 의해 허용된 펄스 위치들(Tj)의 교차점들(Sj)로부터 얻은 펄스 위치들의 조합들로 이루어지는 서브디렉토리가 상기 단계 d)에서 구성되고,
    상기 서브 디렉토리는 상기 제2 코덱에 의해 허용된 펄스 위치들(Tj)의 조합의 개수보다 작은 크기를 가지는 것을 특징으로 하는 트랜스코딩 방법.
  6. 제5항에 있어서,
    상기 단계 e) 이후에, 상기 제2 코더(S)의 레벨에서 상기 제2 개수(Ns)의 위치를 포함하는 위치들의 최적 세트(optimum set)를 상기 서브디렉토리에서 검색하는 것을 특징으로 하는 트랜스코딩 방법.
  7. 제6항에 있어서,
    상기 위치들의 최적 세트를 검색하는 단계는, 상기 서브디렉토리의 탐사를 가속시키기 위해 집중식 검색(focused search)을 이용하여 수행되는 것을 특징으로 하는 트랜스코딩 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 제1 코덱은 일련의 부호화된 프레임을 생성하고,
    상기 단계 c)에서 형성된 그룹들 내의 상기 펄스 위치의 개수 각각이 한 프레임씩 차례로 연속하여 선택되는 것을 특징으로 하는 트랜스코딩 방법.
  9. 제3항에 있어서,
    상기 제1 개수(Ne)는 상기 제2 개수(Ns)보다 작고(Ne < Ns),
    상기 제2 개수(Ns)로 제공된 상기 펄스 위치들이 상기 단계 c)에서 형성된 상기 그룹들의 상기 펄스 위치들에 포함되어 있는지를 결정하기 위한 추가적인 검사가 이루어지고,
    상기 검사 결과가 부정적인 경우, 상기 단계 c)에서 형성한 그룹들 내의 상기 펄스 위치의 개수를 증가시키는 것을 특징으로 하는 트랜스코딩 방법.
  10. 제3항에 있어서,
    상기 제2 개수(Ns)가 상기 제1 개수(Ne)와 상기 제1 개수(Ne)의 2배 사이인 경우(Ne < Ns < 2Ne)를 더 구별하고, 만약 그렇다면
    c1) 상기 Ne개의 펄스 위치는 처음부터 선택되고,
    c2) 상기 단계 c1)에서 선택된 상기 펄스 위치들의 바로 옆 이웃(immediate neighborhood)에 규정된 펄스 위치들의 보충 개수(complementary number)(Ns - Ne)를 또한 선택하는 것을 특징으로 하는 트랜스코딩 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 제1 코덱은 정해진 제1 샘플링 주파수와 정해진 제1 서브프레임 지속시간으로 동작하고,
    상기 단계 a)에서 적응이 실행되는 상기 코딩 파라미터들은 서브프레임 지속시간 및 샘플링 주파수를 포함하며,
    상기 제2 코덱은 제2 샘플링 주파수와 제2 서브프레임 지속시간으로 동작하고,
    상기 단계 a)에서
    상기 제1 지속시간과 상기 제2 지속시간이 동일하고, 상기 제1 샘플링 주파수와 상기 제2 샘플링 주파수가 동일한 경우;
    상기 제1 지속시간과 상기 제2 지속시간이 동일하고, 상기 제1 샘플링 주파수와 상기 제2 샘플링 주파수가 상이한 경우;
    상기 제1 지속시간과 상기 제2 지속시간이 상이하고, 상기 제1 샘플링 주파수와 상기 제2 샘플링 주파수가 동일한 경우; 및
    상기 제1 지속시간 및 상기 제2 지속시간이 상이하고, 상기 제1 샘플링 주파수와 상기 제2 샘플링 주파수가 상이한 경우를 구별하는 것을 특징으로 하는 트랜스코딩 방법.
  12. 제11항에 있어서,
    상기 제1 지속시간과 상기 제2 지속시간이 동일하고, 상기 제1 샘플링 주파수와 상기 제2 샘플링 주파수가 상이한 경우에,
    a1) 상기 제1 샘플링 주파수에서 상기 제2 샘플링 주파수로 직접 시간 스케일 양자화(direct time scale quantization)하는 단계; 및
    a2) 상기 제1 샘플링 주파수에 특징이 있는 상기 제1 코딩 포맷을 갖는 서브프레임 내의 펄스 위치로부터, 상기 제2 샘플링 주파수에 특징이 있는 상기 제2 코딩 포맷을 갖는 서브프레임 내의 각 펄스 위치를, 상기 양자화의 함수에 따라 결정하는 단계를 포함하는 것을 특징으로 하는 트랜스코딩 방법.
  13. 제12항에 있어서,
    상기 단계 a1)의 양자화는, 제1 포맷(Pe)을 갖는 서브프레임 내의 펄스 위치가, 상기 제2 포맷(Ps)을 갖는 서브프레임 내의 대응하는 펄스 위치를 정하는 함수 를 기초로 하여 계산 및/또는 표 작성에 의해 이루어지고,
    상기 함수는 실질적으로 상기 제1 샘플링 주파수에 대한 상기 제2 샘플링 주파수의 비에 상당하는 곱셈 계수(multiplier coefficient)를 포함하는 선형 결합(linear combination)의 형태를 취하는 것을 특징으로 하는 트랜스코딩 방법.
  14. 제13항에 있어서,
    상기 제2 포맷(Ps)을 갖는 서브프레임 내의 펄스 위치를 상기 제1 포맷(Pe)을 갖는 서브프레임 내의 펄스 위치로 역으로 전달하기 위해, 상기 선형 결합에 대한 역함수를 상기 제2 포맷(Ps)을 갖는 서브프레임 내의 펄스 위치에 적용하는 것을 특징으로 하는 트랜스코딩 방법.
  15. 제11항에 있어서,
    상기 제1 지속시간과 상기 제2 지속시간이 동일하고, 상기 제1 샘플링 주파수와 상기 제2 샘플링 주파수가 상이한 경우에,
    a'1) 상기 제1 샘플링 주파수에 특징이 있는 상기 제1 코딩 포맷을 갖는 서브프레임을 상기 제1 샘플링 주파수와 상기 제2 샘플링 주파수의 최소 공배수와 동일한 주파수로 오버샘플링(oversampling)하는 단계; 및
    a'2) 상기 오버샘플링한 서브프레임에 저역 통과 필터링을 적용한 다음에 언더샘플링(undersampling)하여 상기 제2 샘플링 주파수에 상당하는 샘플링 주파수를 얻는 단계를 포함하는 것을 특징으로 하는 트랜스코딩 방법.
  16. 제15항에 있어서,
    상기 방법은 임계처리 방법(thresholding method)을 이용하여 다수의 위치를 취득함으로써 계속되며, 적절한 경우 위치의 개수는 가변으로 하는 것을 특징으로 하는 트랜스코딩 방법.
  17. 제12항에 있어서,
    상기 제2 샘플링 주파수에 특징이 있는 상기 제2 코딩 포맷을 갖는 서브프레임 내의 펄스 위치들(Ps)의 그룹의, 상기 제1 샘플링 주파수에 특징이 있는 상기 제1 코딩 포맷을 갖는 서브프레임의 각 펄스 위치(Pe)에 대한 대응관계(correspondence)를 수립하는 단계를 더 포함하는 것을 특징으로 하는 트랜스코딩 방법.
  18. 제11항에 있어서,
    상기 제1 지속시간과 상기 제2 지속시간이 상이한 경우에,
    a20) 상기 제1 포맷과 상기 제2 포맷의 서브프레임에 공통된 원점(origin, O)을 규정하는 단계;
    a21) 제1 서브프레임 지속시간에 특징이 있는 상기 제1 코딩 포맷의 연속하 는 서브프레임을 분할하여, 상기 제1 포맷의 서브프레임 지속시간에 대응하는 지속시간의 의사 서브프레임(pseudo subframe)을 형성하는 단계;
    a22) 상기 공통된 원점을 갱신하는 단계; 및
    a23) 상기 의사 서브프레임 내의 펄스 위치들과 상기 제2 포맷을 갖는 서브프레임 내의 펄스 위치들 사이의 대응관계를 결정하는 단계를 포함하는 것을 특징으로 하는 트랜스코딩 방법.
  19. 제18항에 있어서,
    상기 제1 지속시간과 상기 제2 지속시간이 시간상 고정되어 있는 경우; 및
    상기 제1 지속시간과 상기 제2 지속시간이 시간상 변화하는 경우를 또한 식별하는 것을 특징으로 하는 트랜스코딩 방법.
  20. 제18항에 있어서,
    상기 제1 지속시간 및 상기 제2 지속시간은 시간상 고정되어 있는 경우에,
    상기 공통 원점의 시간상 위치는 상기 제1 지속시간 및 상기 제2 지속시간이 시간상 정렬될 때마다 주기적으로 갱신되는 것을 특징으로 하는 트랜스코딩 방법.
  21. 제19항에 있어서,
    상기 제1 지속시간 및 상기 제2 지속시간은 시간상 변화하며,
    a221) 상기 제1 포맷을 갖는 서브프레임들의 지속시간에 대한 합계와, 상기 제2 포맷을 갖는 서브프레임들의 지속시간의 합계가 각각 연속적으로 실행되며;
    a222) 상기 두 개의 합계가 동일한지를 검출하여 상기 공통 원점의 갱신할 시점을 규정하고;
    a223) 상기 두 합계가 동일한 것으로 검출된 후, 다음의 공통 원점에 대한 장래의 검출을 위해 상기 두 개의 합계를 리세트하는 것을 특징으로 하는 트랜스코딩 방법.
  22. 프로세서 유닛, 특히 컴퓨터나 이동 단말기의 메모리 또는 상기 프로세서 유닛의 판독기와 함께 작동할 수 있는 착탈 가능한 메모리에 기억될 수 있는 소프트웨어 제품으로서,
    상기 제1항 내지 제21항 중 어느 한 항의 트랜스코딩 방법을 구현하기 위한 명령어들을 포함하는 것을 특징으로 하는 소프트웨어 제품.
  23. 펄스 타입이고 각각의 펄스가 연관된 인덱스로 표시된 위치를 갖는 멀티펄스 딕셔너리를 사용하는, 제1 압축 코덱과 제2 압축 코덱 사이의 트랜스코딩 시스템으로서,
    제22항에 따른 소프트웨어 제품의 명령어를 기억할 수 있는 메모리를 포함하는 것을 특징으로 하는 트랜스코딩 시스템.
KR1020067011552A 2003-12-10 2004-11-24 디지털 신호 압축 시의 코딩에 사용되는 멀티펄스딕셔너리의 인덱스간 트랜스 코딩 KR101108637B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0314489A FR2867648A1 (fr) 2003-12-10 2003-12-10 Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
FR0314489 2003-12-10
PCT/FR2004/003008 WO2005066936A1 (fr) 2003-12-10 2004-11-24 Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques

Publications (2)

Publication Number Publication Date
KR20060131781A true KR20060131781A (ko) 2006-12-20
KR101108637B1 KR101108637B1 (ko) 2012-02-09

Family

ID=34746280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067011552A KR101108637B1 (ko) 2003-12-10 2004-11-24 디지털 신호 압축 시의 코딩에 사용되는 멀티펄스딕셔너리의 인덱스간 트랜스 코딩

Country Status (12)

Country Link
US (1) US7574354B2 (ko)
EP (1) EP1692687B1 (ko)
JP (1) JP4970046B2 (ko)
KR (1) KR101108637B1 (ko)
CN (1) CN1890713B (ko)
AT (1) ATE389933T1 (ko)
DE (1) DE602004012600T2 (ko)
ES (1) ES2303129T3 (ko)
FR (1) FR2867648A1 (ko)
MX (1) MXPA06006621A (ko)
PL (1) PL1692687T3 (ko)
WO (1) WO2005066936A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2867649A1 (fr) * 2003-12-10 2005-09-16 France Telecom Procede de codage multiple optimise
JP2008511852A (ja) * 2004-08-31 2008-04-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ トランスコードのための方法および装置
FR2880724A1 (fr) * 2005-01-11 2006-07-14 France Telecom Procede et dispositif de codage optimise entre deux modeles de prediction a long terme
US20060262851A1 (en) * 2005-05-19 2006-11-23 Celtro Ltd. Method and system for efficient transmission of communication traffic
KR100918377B1 (ko) * 2006-05-30 2009-09-22 주식회사 메디슨 영상압축 방법
US8214200B2 (en) * 2007-03-14 2012-07-03 Xfrm, Inc. Fast MDCT (modified discrete cosine transform) approximation of a windowed sinusoid
EP2827327B1 (en) 2007-04-29 2020-07-29 Huawei Technologies Co., Ltd. Method for Excitation Pulse Coding
CN101295506B (zh) * 2007-04-29 2011-11-16 华为技术有限公司 脉冲编解码方法及脉冲编解码器
EP2045800A1 (en) * 2007-10-05 2009-04-08 Nokia Siemens Networks Oy Method and apparatus for transcoding
CN101931414B (zh) 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
US8738679B2 (en) * 2009-07-03 2014-05-27 Stmicroelectronics International N.V. Offset-free sinc interpolator and related methods
CN102299760B (zh) * 2010-06-24 2014-03-12 华为技术有限公司 脉冲编解码方法及脉冲编解码器
US8805697B2 (en) * 2010-10-25 2014-08-12 Qualcomm Incorporated Decomposition of music signals using basis functions with time-evolution information
CN102623012B (zh) * 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
EP2763137B1 (en) * 2011-09-28 2016-09-14 LG Electronics Inc. Voice signal encoding method and voice signal decoding method
US8731081B2 (en) * 2011-12-07 2014-05-20 Motorola Mobility Llc Apparatus and method for combinatorial coding of signals
WO2019028602A1 (zh) * 2017-08-07 2019-02-14 深圳市汇顶科技股份有限公司 应用于超取样转换器的向量量化数模转换电路
CN114598558B (zh) * 2022-03-28 2023-10-31 厦门亿联网络技术股份有限公司 音频设备级联自修复系统及自修复方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3109594B2 (ja) * 1998-08-18 2000-11-20 日本電気株式会社 移動通信システムおよび移動端末接続方法
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US7222070B1 (en) * 1999-09-22 2007-05-22 Texas Instruments Incorporated Hybrid speech coding and system
FR2802329B1 (fr) * 1999-12-08 2003-03-28 France Telecom Procede de traitement d'au moins un flux binaire audio code organise sous la forme de trames
US6687668B2 (en) * 1999-12-31 2004-02-03 C & S Technology Co., Ltd. Method for improvement of G.723.1 processing time and speech quality and for reduction of bit rate in CELP vocoder and CELP vococer using the same
US6704703B2 (en) * 2000-02-04 2004-03-09 Scansoft, Inc. Recursively excited linear prediction speech coder
JP4231987B2 (ja) * 2001-06-15 2009-03-04 日本電気株式会社 音声符号化復号方式間の符号変換方法、その装置、そのプログラム及び記憶媒体
US7272555B2 (en) * 2001-09-13 2007-09-18 Industrial Technology Research Institute Fine granularity scalability speech coding for multi-pulses CELP-based algorithm
US6829579B2 (en) * 2002-01-08 2004-12-07 Dilithium Networks, Inc. Transcoding method and system between CELP-based speech codes
JP2005515486A (ja) * 2002-01-08 2005-05-26 ディリチウム ネットワークス ピーティーワイ リミテッド Celpによる音声符号間のトランスコーディング・スキーム
JP4304360B2 (ja) * 2002-05-22 2009-07-29 日本電気株式会社 音声符号化復号方式間の符号変換方法および装置とその記憶媒体
JP4238535B2 (ja) * 2002-07-24 2009-03-18 日本電気株式会社 音声符号化復号方式間の符号変換方法及び装置とその記憶媒体
WO2004034379A2 (en) * 2002-10-11 2004-04-22 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
US7363218B2 (en) * 2002-10-25 2008-04-22 Dilithium Networks Pty. Ltd. Method and apparatus for fast CELP parameter mapping
US7523032B2 (en) * 2003-12-19 2009-04-21 Nokia Corporation Speech coding method, device, coding module, system and software program product for pre-processing the phase structure of a to be encoded speech signal to match the phase structure of the decoded signal
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding

Also Published As

Publication number Publication date
DE602004012600T2 (de) 2009-04-30
CN1890713B (zh) 2010-12-08
DE602004012600D1 (de) 2008-04-30
PL1692687T3 (pl) 2008-10-31
US7574354B2 (en) 2009-08-11
JP4970046B2 (ja) 2012-07-04
WO2005066936A1 (fr) 2005-07-21
EP1692687B1 (fr) 2008-03-19
MXPA06006621A (es) 2006-08-31
JP2007515676A (ja) 2007-06-14
ATE389933T1 (de) 2008-04-15
US20070124138A1 (en) 2007-05-31
ES2303129T3 (es) 2008-08-01
KR101108637B1 (ko) 2012-02-09
FR2867648A1 (fr) 2005-09-16
EP1692687A1 (fr) 2006-08-23
CN1890713A (zh) 2007-01-03

Similar Documents

Publication Publication Date Title
KR101108637B1 (ko) 디지털 신호 압축 시의 코딩에 사용되는 멀티펄스딕셔너리의 인덱스간 트랜스 코딩
AU2006270259B2 (en) Selectively using multiple entropy models in adaptive coding and decoding
JP4162933B2 (ja) 低ビットレートcelp符号化のための連続タイムワーピングに基づく信号の修正
US7693709B2 (en) Reordering coefficients for waveform coding or decoding
RU2459282C2 (ru) Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра
RU2326450C2 (ru) Способ и устройство для векторного квантования с надежным предсказанием параметров линейного предсказания в кодировании речи с переменной битовой скоростью
US7792679B2 (en) Optimized multiple coding method
US20070016415A1 (en) Prediction of spectral coefficients in waveform coding and decoding
US6611797B1 (en) Speech coding/decoding method and apparatus
EP1267328A2 (en) Method of converting codes between speech coding and decoding systems, and device and program therefor
KR20230129581A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
JP3435310B2 (ja) 音声符号化方法および装置
KR100341398B1 (ko) 씨이엘피형 보코더의 코드북 검색 방법
JPH06131000A (ja) 基本周期符号化装置
JP2640595B2 (ja) 反復性をもつサンプル化されたアナログ信号のコード化方法およびその装置
Chu Embedded quantization of line spectral frequencies using a multistage tree-structured vector quantizer
EP2215630B1 (en) A method and an apparatus for processing an audio signal
US20090063161A1 (en) Method and apparatus for encoding and decoding continuation sinusoidal signal of audio signal
Skyttberg Digital Representation of Audio
Shin et al. Signal modification for ADPCM based on analysis-by-synthesis framework
JP2000196452A (ja) オーディオ信号符号化方法及び復号化方法
KR19980036961A (ko) 음성 부호화 및 복호화 장치와 그 방법
JP2001242898A (ja) 音声符号化装置及び音声復号化装置
JPH09204198A (ja) 適応コードブック探索方法
JPH09269798A (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: 20160104

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee