KR100478959B1 - 진동파의 부호화 방법 및 복호화 방법 - Google Patents

진동파의 부호화 방법 및 복호화 방법 Download PDF

Info

Publication number
KR100478959B1
KR100478959B1 KR10-2000-7007692A KR20007007692A KR100478959B1 KR 100478959 B1 KR100478959 B1 KR 100478959B1 KR 20007007692 A KR20007007692 A KR 20007007692A KR 100478959 B1 KR100478959 B1 KR 100478959B1
Authority
KR
South Korea
Prior art keywords
code
vector data
representative vector
data
instruction information
Prior art date
Application number
KR10-2000-7007692A
Other languages
English (en)
Other versions
KR20010034083A (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 KR20010034083A publication Critical patent/KR20010034083A/ko
Application granted granted Critical
Publication of KR100478959B1 publication Critical patent/KR100478959B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal

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)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

음성 신호 등의 진동파를 벡터 양자화에 의해 부호화할 때에, 그 부호에 다른 데이터를 몰래 합성하는 방법으로서, ITU-T 권고 G. 728 LD-CELP(저지연부호 여진 선형 예측 부호화)에 의해 음성의 부호화를 행하는 부호화 장치는, 파형 코드 북에 기억된 128종류의 대표 벡터 데이터(파형 코드)(yj; j=0, 1, …, 127)의 각각에 대해, 상위 비트에서부터 순서대로 0과 1의 라벨을 붙이는 분할 키 데이터(kidx)를 미리 기억하고 있어, 합성할 비트가 [0]이면, 양자화 대상의 벡터를, 분할 키 데이터(kidx)의 비트[0]에 대응하는 파형 코드(yj)만을 선택 대상으로 하여 양자화하고, 합성할 비트가 [1]이면, 양자화 대상의 벡터를, 분할 키 데이터(kidx)의 비트[1]에 대응하는 파형 코드(yj)만을 선택 대상으로 하여 양자화함으로써, 출력하는 음성 부호에 다른 데이터의 비트를 합성한다.

Description

진동파의 부호화 방법 및 복호화 방법 {VIBRATION WAVE ENCODING METHOD AND DECODING METHOD}
본 발명은, 음성 신호 등의 진동파에 문서를 나타내는 텍스트 데이터나 통화자를 나타내는 인증 데이터 등의 다른 데이터를 합성하여 부호화하기 위한 부호화 방법 및 복호화 방법에 관한 것이다.
종래로부터, 진동파의 하나인 음성을 전송 또는 축적하기 위한 부호화 기술로서, 음성 파형의 복수 N개의 샘플값을 N차원의 벡터로 간주하고, 그 벡터(상세하게는, N개의 샘플값으로 이루어진 벡터 데이터이며, 나아가서는 음성 파형의 소정 시간만큼의 파형을 나타내는 벡터 데이터)를 1개의 부호로 부호화하는, 벡터 양자화(VQ : Vector Quantization)를 이용한 것이 있다.
그리고, 이 벡터 양자화를 이용한 부호화 방식에서는, 상기와 같은 벡터 데이터를 순차적으로 입력하고, 그 벡터 데이터를 입력할 때마다, 미리 순차적으로 번호가 매겨진 복수개의 대표 벡터 데이터를 기억하는 코드 북(부호첩) 중에서, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하여 그 선택한 대표 벡터 데이터의 번호를 나타내는 2진 데이터를, 현재 입력 벡터 데이터를 나타내는 부호로서 출력하는 식의 순서로 음성을 부호화한다.
또한, 음성을 재생할 때에는 부호화된 부호를 순차적으로 입력하고 그 부호를 입력할 때마다, 그 부호가 나타내는 번호의 대표 벡터 데이터를, 부호화시킬 때 이용한 코드 북과 같은 코드 북 중에서 추출함과 동시에, 그 추출한 대표 벡터 데이터로부터 현재 입력 부호에 대응하는 파형을 재생함으로써, 음성 파형을 복원시킨다.
그리고, 이와 같은 벡터 양자화를 이용한 부호화 방식의 대표적인 것으로는, 부호 여진 선형 예측 부호화(CELP : Code Excited Linear Prediction)이나 ITU(국제 전기 통신 연합)-T 권고 G. 728의 16kbit/s 저지연 부호 여진 선형 예측 부호화(LD-CELP : Low Delay-CELP) 등이 있다.
또한, 상기 LD-CELP는, CELP를 원리로 하는 것으로, 낮은 비트율에도 불구하고 부호화 처리 지연이 적은 방법으로 알려져 있다. 또한, CELP나 LD-CELP에 대해서는, 예를 들어 문헌 1 [Recommendation G. 728, ITU(1992)], 문헌 2 [오자와 가즈노리 저: 디지털 이동 통신을 위한 고능률 음성 부호화 기술; 가부시키가이샤 트리켑스(triceps)(1992)] 및, 문헌 3 [야스다 히로시 저: 멀티미디어 부호화의 국제 표준; 마루젠 가부시키가이샤(1991)] 등에 상세히 기재되어 있다.
그런데, 이러한 종류의 부호화 방식에 의해서 부호화된 음성의 디지털 부호(음성 부호)는, 용이하게 복제할 수 있기 때문에, 무단으로 2차 이용될 우려가 있다. 이 때문에, 디지털화된 저작물을 보호하기 어려운 문제가 있다.
그래서 최근에, 이러한 문제의 대책으로서, 전자 워터마킹의 적용이 검토되고 있다. 다시 말해, 음성 부호 안에, 통화자를 나타내는 인증 데이터 등의 다른 데이터를 몰래 합성하여 매립(embed)하는 것이다.
그러나, 상술한 벡터 양자화에 의해 부호화되는 음성 부호에 다른 데이터를 몰래 합성(매립)할 수 있는 알맞은 방법은 강구되어 있지 않았다. 또한, 그저 단순하게 다른 데이터를 합성한 것에서는, 합성한 다른 데이터가 제삼자에게 용이하게 해독되어 버릴 가능성이 높아진다.
그리고, 이러한 점 때문에 예를 들어 센서나 계측기 등으로부터 출력되는 아날로그 신호라는 음성 신호 이외의 진동파를 벡터 양자화에 의해 부호화할 때에, 그 부호에 이용자를 나타내는 인증 데이터나 문서를 나타내는 텍스트 데이터 등의 다른 데이터를 합성하는 식의 전자 워터마킹을 행할 수 없었다.
본 발명은, 이러한 문제를 감안하여 이루어진 것으로, 음성 신호 등의 진동파를 벡터 양자화에 의해 부호화할 때, 다른 데이터를 몰래 합성할 수 있는 진동파의 부호화 방법과, 그 부호화 방법에 의해 생성된 부호로부터 다른 데이터를 확실하게 취출할 수 있는 진동파의 복호화 방법을 제공하는 것을 목적으로 한다.
도 1은 실시 형태의 디지털 전화기의 구성을 나타내는 블록도이고,
도 2는 도 1의 부호화 장치와 복호화 장치에 의해 행해지는 음성의 부호화 및 복호화의 기본적인 처리 개요를 나타내는 블록도이고,
도 3은 파형 코드 북과 분할 키 데이터(kidx)를 설명하는 설명도이며,
도 4는 음성 부호의 각 비트 위치에 있어서의 비트[1]의 출현율을 나타내는 그래프이고,
도 5는 부호화 장치의 동작 내용의 전반부를 나타내는 플로우 챠트이고,
도 6은 부호화 장치의 동작 내용의 후반부를 나타내는 플로우 챠트이고,
도 7은 복호화 장치의 동작 내용을 나타내는 플로우 챠트이고,
도 8은 매립 밀도와 SNRseg와의 관계를 나타내는 실험 결과의 그래프이고,
도 9는 음성 파형의 형상을 관찰한 결과를 나타내는 도면이고,
도 10은 매립을 실시한 음성 부호의 각 비트 위치에 있어서의 비트[1]의 출현율을 나타내는 그래프이다.
상기 목적을 달성하기 위해 이루어진 본 발명의 청구항 1에 기재된 진동파의 부호화 방법에서는, 진동파의 소정 시간만큼의 파형을 나타내는 벡터 데이터를 입력할 때마다, 미리 순차적으로 번호가 매겨진 복수개의 대표 벡터 데이터를 기억하는 코드 북 중에서, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하여, 그 선택한 대표 벡터 데이터의 번호를 나타내는 2진 데이터를, 현재 입력 벡터 데이터를 나타내는 부호로서 출력한다.
다시 말해, 상술한 CELP나 LD-CELP로 대표되는 벡터 양자화에 의해 진동파를 부호화하는 것인데, 그 부호화를 행할 때에, 다음과 같은 순서에 의해, 출력되는 부호에 정보를 구성하는 데이터를 매립하여, 진동파의 정보에 다른 정보를 합성한다.
먼저, 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 분할 지시 정보를, 미리 소정의 기억 수단에 기억시켜 둔다.
그리고, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 진동파에 합성해야 할 다른 2진 데이터를 판독하여, 그 판독한 2진 데이터가 [0]일 경우에는, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하고, 또한 상기 판독한 2진 데이터가 [1]일 경우에는, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택함으로써, 현재 입력 벡터 데이터를 나타내는 부호에 상기 판독한 2진 데이터를 합성한다.
따라서, 판독한 2진 데이터가 [0]인 경우에는, 출력된 부호가 제 1 그룹에 소속되는 대표 벡터 데이터 중 어느 하나의 번호를 나타내는 2진 데이터가 되고, 반대로, 판독한 2진 데이터가 [1]인 경우에는, 출력되는 부호가, 제 2 그룹에 소속되는 대표 벡터 데이터 중 어느 하나의 번호를 나타내는 2진 데이터가 된다.
다시 말해, 본 발명의 진동파의 부호화 방법에서는, 합성해야 할 다른 2진 데이터에 따라, 코드 북 안에서의 대표 벡터 데이터의 선택 범위를, 분할 지시 정보에 의해 결정되는 제 1 그룹과 제 2 그룹으로 바꿈으로써, 입력한 벡터 데이터를 나타내는 부호에 다른 정보의 2진 데이터를 합성(매립)하도록 하고 있다.
한편, 이와 같은 청구항 1에 기재된 부호화 방법에 의해 생성된 부호로부터는, 본 발명의 청구항 5에 기재된 복호화 방법에 의해, 진동파를 복원시키면서 상술한 바와 같이 합성된 2진 데이터를 분리할 수 있다.
먼저, 본 발명의 청구항 5에 기재된 복호화 방법에서는, 상기 부호화 방법에 의해 생성된 부호를 순차적으로 입력할 때마다, 그 부호가 나타내는 번호의 대표 벡터 데이터를 청구항 1에 기재된 코드 북과 동일한 코드 북 중에서 추출하는 동시에, 그 추출한 대표 벡터 데이터로부터, 현재 입력 부호에 대응하는 파형을 재생함으로써, 진동파를 복원시킨다. 다시 말해, 벡터 양자화를 이용한 부호화 방식의 복호화 순서에 따라, 진동파를 재생한다.
여기서 특히, 청구항 5에 기재된 복호화 방법에서는, 먼저 청구항 1에 기재된 분할 지시 정보와 동일한 분할 지시 정보를, 소정의 기억 수단에 기억시켜 둔다.
그리고, 상기와 같은 복호화를 행할 때, 현재 입력 부호가 나타내는 번호가, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [0]인 2진 데이터가 합성되어 있다고 간주하고, 현재 입력 부호가 나타내는 번호가, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [1]인 2진 데이터가 합성되어 있다고 간주하여, 현재 입력 부호로부터 다른 2진 데이터를 분리시킨다.
따라서, 이와 같은 청구항 5에 기재된 복호화 방법에 따르면, 청구항 1에 기재된 부호화 방법에 의해 생성된 부호로부터, 진동파를 재생하면서 다른 데이터를 확실하게 추출할 수 있다.
그리고, 청구항 1에 기재된 부호화 방법과 청구항 5에 기재된 복호화 방법에 따르면, 코드 북 중의 대표 벡터 데이터를 2개의 그룹으로 나누는 분할 지시 정보를 알고 있는 자가 아니면, 부호화된 부호로부터 다른 2진 데이터를 추출할 수 없다. 그러므로, 진동파를 부호화할 때에 다른 데이터를 몰래 합성하여, 그 합성된 데이터를 몰래 추출할 수 있다.
또한, 분할 지시 정보를, 제 1 그룹에 소속된 대표 벡터 데이터의 번호와 제 2 그룹에 소속된 대표 벡터 데이터의 번호가 무작위로 분산되도록 설정해 두면, 예컨대 가령 모든 부호에 대해 [0]인 2진 데이터를 합성했다고 가정해도, 부호화된 부호가 나타내는 번호가 바이어스되지 않아, 다른 데이터가 매립되어 있는 것을 제삼자에게 들킬 가능성을, 극히 저하시킬 수 있다.
게다가, 청구항 1에 기재된 부호화 방법에 따르면, 진동파를 재생할 때에 특별한 처리가 필요없다고 하는 큰 이점이 있다.
그런데, 청구항 1에 기재된 부호화 방법에 있어서, 같은 분할 지시 정보를 장기간 사용하면, 부호화된 각 부호의 비트값에 무언가의 특징이 나타나, 다른 데이터가 합성되어 있음을 제삼자에게 들켜버릴 우려도 있다.
그래서, 청구항 2에 기재된 진동파의 부호화 방법에서는, 청구항 1에 기재된 부호화 방법에 있어서, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 이전에 출력된 부호에 대해, 그 부호의 비트 계열이 미리 정해진 소정의 나열 배턴인지의 여부를 판정하는 변경조건 판정처리를 하여, 상기 변경조건 판정처리에 의해 긍정 판정되면(다시 말해, 이전에 출력된 부호의 비트 계열이 소정의 나열 배턴이라고 판정되면), 기억 수단에 기억시킬 분할 지시 정보를, 미리 정해진 변경 규칙에 따라 변경한다.
바꿔 말하면, 현재 출력한 부호의 비트 계열이 미리 정해진 소정의 나열 패턴이었다면, 다음에 출력하는 부호에 다른 2진 데이터를 합성할 때에 사용하는 분할 지시 정보를, 미리 정해진 변경 규칙에 따라 변경하도록 하고 있다.
그렇기 때문에, 청구항 2에 기재된 부호화 방법에 따르면, 출력한 부호의 비트 계열이 소정의 나열 패턴으로 될 때마다, 합성해야 할 2진 데이터에 따른 대표 벡터 데이터의 선택 범위(제 1 그룹과 제 2 그룹)가 변경되게 되어, 부호화된 각 부호의 비트값에 무언가의 특징이 나타나 버리는 것을 방지할 수 있다. 따라서, 다른 데이터가 합성되어 있음을 제삼자에게 들켜버릴 가능성을 줄일 수 있다.
한편, 이와 같은 청구항 2에 기재된 부호화 방법에 의해 생성된 부호로부터는, 청구항 6에 기재된 복호화 방법에 의해, 진동파를 복원시키면서 상술한 바와 같이 합성된 2진 데이터를 분리시킬 수 있다.
먼저, 청구항 6에 기재된 복호화 방법에서는, 청구항 5에 기재된 복호화 방법과 완전 동일한 순서에 의해, 진동파를 재생하는 동시에, 입력한 부호로부터 다른 2진 데이터를 분리시키는 처리(즉, 현재 입력 부호가 나타내는 번호가, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [0]인 2진 데이터가 합성되어 있다고 간주하고, 현재 입력 부호가 나타내는 번호가, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [1]인 2진 데이터가 합성되어 있다고 간주하여, 현재 입력 부호로부터 다른 2진 데이터를 분리시키는 분리 처리)를 행한다.
그리고 특히, 청구항 6에 기재된 복호화 방법에서는, 현재 입력 부호에 대해 상기 분리 처리를 하기 전에, 이전에 입력된 부호에 대해 청구항 2에 기재된 변경조건 판정처리와 동일한 변경조건 판정처리를 하여, 그 변경조건 판정처리에 의해 긍정 판정되었을 경우(즉, 이전에 입력된 부호의 비트 계열이 미리 정해진 소정의 나열 패턴이라고 판정된 경우)에, 기억 수단에 기억시킬 분할 지시 정보를 청구항 2에 기재된 변경 규칙과 동일한 변경 규칙에 따라 변경하는 변경처리를 한다.
이와 같은 청구항 6에 기재된 복호화 방법에 따르면, 청구항 2에 기재된 부호화 방법과 완전 동일하게 분할 지시 정보를 변경할 수 있으며, 그 결과, 청구항 2에 기재된 부호화 방법에 의해 생성된 부호로부터, 다른 2진 데이터를 확실하게 추출할 수 있다.
그런데, 합성한 데이터가 제삼자에 의해 해독될 가능성을 고려한 경우, 모든 부호에 대해 다른 2진 데이터를 매립하도록 하면 불리한 면도 있다.
따라서, 청구항 3에 기재된 부호화 방법에서는, 청구항 1에 기재된 부호화 방법과 마찬가지로, 벡터 양자화에 의해 진동파를 부호화하는 것인데, 그 부호화를 행할 때, 다음과 같은 순서에 따라, 출력되는 부호에 다른 데이터를 합성한다.
먼저, 청구항 1에 기재된 부호화 방법과 마찬가지로, 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 분할 지시 정보를, 미리 소정의 기억 수단에 기억시켜 둔다.
그리고 특히, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 이전에 출력된 부호에 대해, 그 부호의 비트 계열이 미리 정해진 소정의 나열 패턴인지의 여부를 판정하는 합성조건 판정처리를 한다.
그리고, 그 합성조건 판정처리에 의해 긍정 판정되었을 경우(즉, 이전에 출력된 부호의 비트 계열이 미리 정해진 소정의 나열 패턴이라고 판정된 경우)에만, 청구항 1에 기재된 부호화 방법과 마찬가지로, 진동파에 합성해야 할 다른 2진 데이터를 판독하여, 그 판독한 2진 데이터가 [0]인 경우에는, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하고, 또한 상기 판독한 2진 데이터가 [1]인 경우에는, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택함으로써, 현재 입력 벡터 데이터를 나타내는 부호에 상기 판독한 2진 데이터를 합성한다.
바꿔 말하면, 청구항 3에 기재된 부호화 방법에서는, 현재 출력한 부호의 비트 계열이 미리 정해진 소정의 나열 패턴이였을 경우에만, 다음에 출력할 부호에 대해 다른 2진 데이터의 매립을 실시하도록 하고 있다.
그리고, 이와 같은 청구항 3에 기재된 부호화 방법에 따르면, 다른 2진 데이터를 매립하는 부호를 불규칙하게 한정할 수 있으며, 합성한 데이터가 제삼자에 의해 해독되어 버릴 가능성을 줄일 수 있다. 다시 말해, 합성조건 판정처리의 판정 내용을 모르는 제삼자는, 어느 부호에 다른 2진 데이터가 합성되어 있는지를 특정할 수 없기 때문이다.
한편, 이와 같은 청구항 3에 기재된 부호화 방법에 의해 생성된 부호로부터는, 청구항 7에 기재된 복호화 방법에 의해, 진동파를 복원시키면서 상술한 바와 같이 합성된 2진 데이터를 분리할 수 있다.
먼저, 청구항 7에 기재된 복호화 방법에서는, 청구항 5에 기재된 복호화 방법과 마찬가지로, 벡터 양자화를 이용한 부호화 방식의 복호화 순서에 따라, 진동파를 재생한다. 또한, 청구항 7에 기재된 복호화 방법에서도, 청구항 3에 기재된 분할 지시 정보와 동일한 분할 지시 정보를, 소정의 기억 수단에 기억시켜 둔다.
그리고 특히, 청구항 7에 기재된 복호화 방법에서는, 청구항 3에 기재된 부호화 방법에 의해 생성된 부호를 입력했을 때, 이전에 입력된 부호에 대해 청구항 3에 기재된 합성조건 판정처리와 동일한 합성조건 판정처리를 행한다.
그리고, 그 합성조건 판정처리에 의해 긍정 판정되었을 경우(즉, 이전에 입력된 부호의 비트 계열이 미리 정해진 소정의 나열 패턴이라고 판정되었을 경우)에, 현재 입력 부호가 나타내는 번호가, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [0]인 2진 데이터가 합성되어 있다고 간주하고, 현재 입력 부호가 나타내는 번호가, 코드 북에 기억된 대표 벡터 데이터 중에서, 기억 수단에 기억된 분할 지시 정보에 의해 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [1]인 2진 데이터가 합성되어 있다고 간주하여, 현재 입력 부호로부터 상기 다른 2진 데이터를 분리한다.
이와 같은 청구항 7에 기재된 복호화 방법에 따르면, 청구항 3에 기재된 부호화 방법에 의해 생성된 부호로부터, 진동파를 재생하면서 다른 데이터를 확실하게 추출할 수 있다.
다음, 청구항 4에 기재된 부호화 방법에서는, 청구항 3에 기재된 부호화 방법에 있어서, 청구항 2에 기재된 부호화 방법과 마찬가지로, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 이전에 출력된 부호에 대해, 그 부호의 비트 계열이 미리 정해진 소정의 나열 패턴인지의 여부를 판정하는 변경조건 판정처리를 행하여, 상기 변경조건 판정처리에 의해 긍정 판정되면(즉, 이전에 출력된 부호의 비트 계열이 미리 정해진 소정의 나열 패턴이라고 판정되면), 기억 수단에 기억시킬 분할 지시 정보를, 미리 정해진 변경 규칙에 따라 변경한다.
이로 인해, 청구항 4에 기재된 부호화 방법에 따르면, 청구항 2에 기재된 부호화 방법과 마찬가지로, 부호화된 각 부호의 비트값에 무언가의 특징이 나타나는 것을 방지할 수 있으며, 다른 데이터가 합성되어 있음을 제삼자에게 들켜 버릴 가능성을 한층 더 줄일 수 있다.
또한, 이와 같은 청구항 4에 기재된 부호화 방법에 의해 생성된 부호로부터는, 청구항 8에 기재된 복호화 방법에 의해, 진동파를 복원시키면서 상술한 바와 같이 합성된 2진 데이터를 분리할 수 있다.
먼저, 청구항 8에 기재된 복호화 방법에서는, 청구항 7에 기재된 복호화 방법과 완전 동일한 순서에 의해, 진동파를 재생하는 동시에, 합성조건 판정처리에 의해 긍정 판단되면, 현재 입력 부호로부터 다른 2진 데이터를 분리하는데, 게다가 합성조건 판정처리를 하기 전에, 이전에 입력된 부호에 대해 청구항 4에 기재된 변경조건 판정처리와 동일한 변경조건 판정처리를 행해, 그 변경조건 판정처리에 의해 긍정 판단되었을 경우에, 기억 수단에 기억시킬 분할 지시 정보를 청구항 4에 기재된 변경 규칙과 동일한 변경 규칙을 따라 변경한다.
그리고, 이러한 청구항 8에 기재된 복호화 방법에 따르면, 청구항 4에 기재된 부호화 방법과 완전 동일하게 분할 지시 정보를 변경할 수 있으며, 그 결과, 청구항 4에 기재된 부호화 방법에 의해 생성된 부호로부터, 다른 2진 데이터를 확실하게 추출할 수 있다.
발명을 실시하기 위한 최상의 형태
이하, 본 발명의 실시 형태에 대해 도면을 이용하여 설명한다. 더욱이, 본 발명의 실시 형태는, 하기의 것에 조금도 한정되지 않으며, 본 발명의 기술적 범위에 속하는 한, 다양한 형태를 취할 수 있음은 말할 필요조차 없다.
먼저 도 1은, 실시 형태의 디지털 전화기(이하, 간단히 전화기라고 함)(1)의 구성을 나타내는 블록도이다. 더욱이, 본 실시 형태는, 상술한 ITU-T 권고 G. 728의 16kbit/s LD-CELP 방식(이하, 간단히 G. 728 LD-CELP라고 함)에 의해, 음성 파형의 부호화 및 복호화를 행하는 휴대형 디지털 전화기에 본 발명을 적용한 것이다. 또한, 이하의 설명에서, 다른 전화기(3)라고 함은, 도 1에서 괄호 안에 부호를 붙인 바와 같이, 도 1에 도시하는 전화기(1)와 완전 동일하게 구성된 전화기이다.
도 1에 도시한 바와 같이, 본 실시 형태의 전화기(1)는, 음성을 입력하여 소정 시간마다(본 실시 형태에서는 8kHz : 0.125ms마다) 샘플링함으로써, 그 음성 파형의 순시(瞬時) 진폭값을 나타내는 디지털 음성 신호(s)를 순차적으로 출력하는 음성 입력 장치(5)와, 문자를 입력하기 위한 여러개의 입력 키를 갖는 동시에, 그 입력 키에 의해 입력된 문자에 대응하는 텍스트 데이터의 비트 계열(tx)을 순차적으로 기억하는 문자 입력 장치(7)와, 음성 입력 장치(5)로부터의 디지털 음성 신호(s)를 순차적으로 입력하여, 그 디지털 음성 신호(s)를 G. 728 LD-CELP에 의해 부호화하는 동시에, 그 부호화하는 부호에 문자 입력 장치(7)에 기억된 비트 계열(tx)의 각 비트를 합성하여, 전송해야 할 음성 부호(c)로서 출력하는 부호화 장치(9)와, 부호화 장치(9)로부터 출력되는 음성 부호(c)를 무선 변조하여 안테나(11)로부터 송신하는 동시에, 다른 전화기(3)로부터 중계국(도시하지 않음)을 거쳐 송신된 무선 신호를 안테나(11)를 통해서 수신하며, 그 수신 신호를 복조하여 상기 다른 전화기(3)로부터의 음성 부호(c')를 출력하는 송수신 장치(13)를 구비하고 있다.
그리고 또한, 전화기(1)는, 송수신 장치(13)로부터 출력되는 다른 전화기(3)로부터의 음성 부호(c')를 순차적으로 입력하고, 그 음성 부호(c')를 G. 728 LD-CELP에 의해 복호하여 디지털 음성 신호(s')를 출력하는 동시에, 상기 음성 부호(c')로부터 텍스트 데이터의 비트 계열(tx')의 각 비트를 추출하여 출력하는 복호화 장치(15)와, 복호화 장치(15)로부터 출력되는 디지털 음성 신호(s')로부터, 음성을 재생하여 출력하는 음성 출력 장치(17)와, 복호화 장치(15)로부터 출력되는 비트 계열(tx')로부터, 문자를 재생하여 표시하는 표시 장치(19)를 구비하고 있다.
여기에서, 부호화 장치(9)와 복호화 장치(15)에 의해 이루어지는 G. 728 LD-CELP에 의한 음성의 부호화 및 복호화의 기본적인 처리 개요에 대해, 도 2를 참조하여 설명한다. 더욱이, 도 2a는 부호화 장치(9)에서의 처리 개요를 나타내는 블록도이고, 도 2b는 복호화 장치(15)에서의 처리 개요를 나타내는 블록도이다. 단, 부호화 장치(9)와 복호화 장치(15)는, 실제로는 공지된 마이크로 컴퓨터나 디지털 신호 프로세서(DSP)를 주요부로 하여 구성되어 있다.
먼저, G. 728 LD-CELP는, 상술한 문헌 1에 기재되어 있는 바와 같이, 1 프레임의 크기를 5 샘플로 하여(즉, 8kHz의 샘플링에 의해 얻어지는 디지털 음성 신호(s)의 5개씩을 1프레임으로 하여) 저지연화를 실현하는 동시에, 고음질의 음성을 재생할 수 있는 방식이다. 그리고, G. 728 LD-CELP에서는, 디지털 음성 신호(s)의 각 프레임을 10자리수(10비트)의 2진 데이터인 음성 부호(c)로 부호화한다.
또한, 이하의 설명에 있어서, 괄호 안의 n은 디지털 음성 신호(s)의 각 프레임의 순번을 나타내는 순서 라벨이다. 따라서, 예를 들어 [c(n)]은, 디지털 음성 신호(s)의 n번째 프레임에 대응한 10비트의 음성 부호(c)를 나타내고 있다.
그리고, 도 2a에 도시하는 바와 같이, 부호화 장치(9)는, G. 728 LD-CELP에 의한 음성의 부호화를 행하기 위해, 음성 입력 장치(5)로부터의 디지털 음성 신호(이하, 입력 음성 신호라고도 함)(s)를 순차적으로 입력하여, 그 신호(s)를 PCM신호로 변환하여 출력하는 PCM 변환부(21)와, PCM 변환부(21)로부터 순차적으로 출력되는 PCM 신호를 5개씩(즉, 1프레임분씩) 기억하여, 그 5개의 PCM 신호를, 벡터 양자화 대상의 5차원 벡터를 나타내는 벡터 데이터(이하, VQ 타깃 벡터라고 함)(x(n))로서 출력하는 벡터 버퍼(23)와, 미리 0번부터 순서대로 번호가 매겨진 1024종류의 대표 벡터 데이터를 기억하는 여진 파형 코드 북(25)을 구비하고 있다. 더욱이, 여진 파형 코드 북(25)은, 부호화 장치(9)에 구비된 ROM 등의 비휘발성 메모리에 의해 구성되어 있다.
그리고 또한, 부호화 장치(9)는, 여진 파형 코드 북(25) 중에서 VQ 타깃 벡터(x(n))에 가장 가까운 대표 벡터 데이터를, 합성 분석(Abs: Analysis by synthesis)의 수법에 따라 탐색해서 선택하기 때문에, 여진 파형 코드 북(25)으로부터 선택된 대표 벡터 데이터가 나타내는 신호를, 후방 적응 이득 설정부(29)에 의해 설정되는 10차 후방 적응 이득(σ(n))에 의해 증폭하는 증폭부(27)와, 증폭부(27)의 출력을 필터링하는 50차 후방 적응 선형 예측 필터(F(z))를 형성하는 필터부(31) 및 후방 적응 예측부(33)와, 벡터 버퍼(23)로부터의 VQ 타깃 벡터(x(n))와 필터부(31) 출력의 차이를 출력하는 가산기(35)와, 가산기(35)의 출력을 필터링하는 청감적 가중 필터(W(z))를 이루는 필터부(37)와, 증폭부(27)에 입력시키는 여진 파형 코드 북(25) 중의 대표 벡터 데이터를 필터부(37)의 출력에 의거하여 바꾸는 동시에, VQ 타깃 벡터(x(n))에 가장 가까운 대표 벡터 데이터를 탐색할 수 있었을 때에, 그 대표 벡터 데이터의 번호를 나타내는 10비트의 2진 데이터를, VQ 타깃 벡터(x(n))를 나타내는 음성 부호(c(n))로서 송수신 장치(13)에 출력하는 탐색부(39)를 구비하고 있다.
다음으로, n번째의 입력 음성 벡터(v(n))(즉, n번째 프레임을 이루는 5개가 한 세트인 입력 음성 신호(s))로부터 얻어지는 VQ 타깃 벡터(x(n))에 가장 가까운 대표 벡터 데이터(y(n))를 여진 파형 코드 북(25) 중에서 선택하여, 그 선택한 대표 벡터 데이터(y(n))의 번호를 나타내는 2진 데이터를, 음성 부호(c(n))로서 출력하기 위해, 부호화 장치(9)에 의해 이루어지는 처리의 기본적인 순서에 대해 설명한다. 한편, 이 순서에 대해서는, 상술한 문헌 1에 기재되어 있다.
먼저, 본 실시 형태에서는, ITU-T 권고 G. 728에 따라, 대표 벡터 데이터(y(n))의 선택을 용이하게 하기 위해, 여진 파형 코드 북(25)을, 파형을 나타내는 128종류의 대표 벡터 데이터(이하, 파형 코드라고 함)(yj; j=0, 1, …, 127)를 기억하는 파형 코드 북(도 3 참조)과, 파형의 극성과 스칼라값을 나타내는 8종류의 대표 벡터 데이터(이하, 이득 코드라고 함)(gi; i=0, 1, …, 7)를 기억하는 이득 코드 북의, 2개의 독립된 코드 북으로 분할하고 있다.
한편, [j]는 파형 코드 북에 기억된 파형 코드(yj)의 번호이고, [i]는 이득 코드 북에 기억된 이득 코드(gi)의 번호이다.
그리고, 부호화 장치(9)는, n번째의 입력 음성 벡터(v(n))에 있어서의 50차 후방 적응 선형 예측 필터(F(z)), 청각적 가중 필터(W(z)), 및 10차 후방 적응 이득(σ(n))을 이용하여, 합성 분석(Abs)의 수법에 따른 탐색을 실행한다.
다시 말해, 먼저 후방 적응 선형 예측 필터(F(z))와 청각적 가중 필터(W(z))로 이루어진 필터(H(z))를, H(z)=F(z)W(z)로 하고, 그 임펄스 응답 계열((h(k); k=0, 1, …, 4)로 이루어진 행렬을, 하기의 식 1에 나타낸 H로 하면, 필터부(31)의 출력(oxij) 은, 하기의 식 2와 같이 된다.
oxij= σ(n)·gi·H·yj …식 2
그리고, 이러한 oxij를 이용하여, 하기의 식 3에 나타낸 D를 최소화하는 i, j를 탐색한다. 단, 식 3에 있어서, x'(n)은, x'(n)=x(n)/σ(n)이다.
D = ∥x(n)-oxij2
= σ2(n)∥x'(n)-gi·H·yj∥2 …식 3
여기에서, 상기 식 3은, 하기의 식 4와 같이 전개할 수 있다.
D = σ2(n)[∥x'(n)∥2 - 2·gi·x'T(n)·H·yj + gi2∥H·yj∥ 2] … 식 4
이 때, ∥x'(n)∥2 와 σ2(n)의 값은, 최적의 대표 벡터 데이터(y(n))를 탐색하는 동안 일정하기 때문에, D를 최소로 하는 것은, 하기의 식 5에 나타낸 D'를 최소로 하는 것과 같다.
D' = -2 ·gi·pT(n)·yj + gi2·Ej … 식 5
단, p(n)은, 하기의 식 6에 의해 표시되고, Ej는 하기의 식 7에 의해 표시된다.
p(n) = HT· x'(n) … 식 6
Ej = ∥H·yj∥2 …식 7
상기 Ej는, x'(n)에 의존하지 않고, 식 1의 행렬(H)에만 의존한다. 따라서, 부호화 장치(9)에서는, ITU-T 권고 G. 728에 따라, Ej; j=0, 1, …, 127을, 필터(H(z))가 갱신되었을 때에만 계산함으로써, 계산량을 대폭으로 삭감시키고 있다. 또한, 하기 식 8에 의해 미리 bi, ci를 계산함으로써, 계산 처리를 더욱 간소화시키고 있다.
bi=2·gi, ci=gi2 ; i=0, 1, …7 …식 8
이들을 이용하면, 식 5의 D'는, 하기의 식 9와 같이 된다. 단, 식 9에 있어서, Pj는, Pj=pT(n)·yj이다.
D'=-bi·Pj+ci·Ej …식 9
그리고, 부호화 장치(9)는, 상기 식 9를 이용하여, 모든 i와 j의 조합에 대해 D'를 평가하여, 그 D'를 최소로 하는 이득 코드(gi)(이하, gimin이라고 씀)와 파형 코드(yj)(이하, yjmin이라고 씀)를 결정하여, y(n)=giminyjmin으로 함으로써, 여진 파형 코드 북(25) 안에서의 최적의 대표 벡터 데이터(y(n))를 구한다.
그리고 또한, 부호화 장치(9)는, 이 때의 이득 코드(gimin)의 번호(imin)를 나타내는 3비트의 2진 데이터와, 파형 코드(yjmin)의 번호를(jmin)를 나타내는 7비트의 2진 데이터를, 그 순서대로 연결하여, 10비트의 음성 부호(c(n))를 구성하고, 그 음성 부호(c(n))를 출력한다.
한편, 복호화 장치(15)에는, 전송로에서의 에러가 없으면, 다른 전화기(3)의 부호화 장치(9)로부터 출력된 음성 부호(c(n))와 동일한 음성 부호(c'(n))가, 안테나(11) 및 송수신 장치(13)를 통해서 순차적으로 입력된다.
그리고, 도 2b에 도시한 바와 같이, 복호화 장치(15)는, G. 728 LD-CELP에 의한 음성의 복호화를 행하기 위해, 부호화 장치(9)측의 여진 파형 코드 북(25)과 완전 동일한 여진 파형 코드 북(41)을 구비하고 있다. 더욱이, 이 여진 파형 코드 북(41)도, 복호화 장치(15)에 구비된 ROM 등의 비휘발성 메모리에 의해 구성되어 있다.
또한, 복호화 장치(15)는, 부호화 장치(9)에 설치된 증폭부(27), 후방 적응 이득 설정부(29), 필터부(31) 및, 후방 적응 예측부(33)와 동일한, 증폭부(43), 후방 적응 이득 설정부(45), 필터부(47) 및, 후방 적응 예측부(49)와, 필터부(47)의 출력을 다시 필터링하는 포스트 필터(51)와, 포스트 필터(51)의 출력 신호로부터, 음성 파형의 순시 진폭값을 나타내는 디지털 음성 신호(s')를 생성하여 음성 출력 장치(17)에 출력하는 역 PCM 변환부(53)를 구비하고 있다.
그리고, 복호화 장치(15)는, 다른 전화기(3)로부터의 음성 부호(c'(n))를 입력할 때마다, 그 음성 부호(c'(n))가 나타내는 번호의 대표 벡터 데이터를 여진 파형 코드 북(41) 중에서 추출함과 동시에, 그 추출한 대표 벡터 데이터에 의거하여, 증폭부(43), 후방 적응 이득 설정부(45), 필터부(47), 후방 적응 예측부(49), 포스트 필터(51), 및 역 PCM 변환부(53)에 의해, 음성 부호(c'(n))에 대응하는 1 프레임분의 디지털 음성 신호(s'(n))를 재생하여 음성 출력 장치(17)에 출력한다.
이상과 같이, 본 실시 형태의 전화기(1, 3)에 설치된 부호화 장치(9)와 복호화 장치(15)는, G. 728 LD-CELP에 의해 음성의 부호화 및 복호화를 행하는 것인데, 특히 본 실시 형태의 전화기(1, 3)에서는, 이하의 <1>∼<3>에 기술한 바와 같이, 부호화 장치(9)는, 출력하는 음성 부호(c)에, 문자 입력 장치(7)에 기억된 텍스트 데이터의 비트 계열(tx)의 각 비트를 합성하고, 복호화 장치(15)는, 입력한 음성 부호(c')로부터, 텍스트 데이터의 비트 계열(tx')의 비트를 분리 및 추출한다.
<1> 먼저, 음성 부호(c)에 텍스트 데이터의 비트를 합성하기 위한 기본 원리에 대해 설명한다.
본 실시 형태에 있어서, 부호화 장치(9)와 복호화 장치(15)에 각각 구비된 ROM(도시 생략)에는, 상술한 파형 코드 북에 기억된 파형 코드(yj; j=0, 1, …, 127)의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 분할 지시 정보로서의 분할 키 데이터(kidx)가, 미리 기억되어 있으며, 부호화 장치(9)와 복호화 장치(15)는, 그 분할 키 데이터(kidx)를 상기 ROM으로부터 기억 수단으로서의 RAM(도시 생략)에 전송하여 사용한다.
더욱이, 이 분할 키 데이터(kidx)는, 도 3에 도시한 바와 같이, 파형 코드 북에 기억된 파형 코드(yj; j=0, 1, …, 127)의 수와 같은 128 자리수(128비트)의 2진수로서, 그 상위 비트에서부터 순서대로, 파형 코드(yj; j=0, 1, …, 127)의 각각에 대해 [0]과 [1]의 라벨을 붙이는 것이다. 또한, 본 실시 형태에서는, 분할 키 데이터(kidx)의 각 비트 중에서, 값이 [0]인 비트에 대응하는 파형 코드(yj)가 제 1 그룹이 되고, 또한 분할 키 데이터(kidx)의 각 비트 중에서, 값이 [1]인 비트에 대응하는 파형 코드(yj)가 제 2 그룹이 된다.
그리고, 분할 키 데이터(kidx)의 상위 비트에서부터 j 비트째(즉, j번째의 파형 코드(yj)에 대응하는 분할 키 데이터(kidx)의 비트값)을 kidx(j)라고 하면, 부호화 장치(9)는, 하기의 합성 방법에 의해, 음성 부호(c(n))에 텍스트 데이터의 비트를 합성한다.
[합성 방법]
합성할 비트가 [0]인 경우에는, kidx(j)=[0]을 만족하는 파형 코드(yj)(즉, 분할 키 데이터(kidx)에 의해 제 1 그룹에 소속되어 있다고 표시되는 파형 코드(yj))에서만, yjmin(즉, 식 5 및 식 9의 D'를 최소화하는 파형 코드(yj))을 선택하고, 반대로, 합성할 비트가 [1]인 경우에는, kidx(j)=[1]을 만족하는 파형 코드(yj)(즉, 분할 키 데이터(kidx)에 의해 제 2 그룹에 소속되어 있다고 표시되는 파형 코드(yj))에서만, yjmin을 선택함으로써, 현재 입력 VQ 타깃 벡터(x(n))를 나타내는 음성 부호(c(n))에 텍스트 데이터의 비트를 합성한다.
이러한 요령으로 텍스트 데이터의 비트를 합성하면, 합성할 비트가 [0]인 경우에는, 출력되는 음성 부호(c(n))의 하위 7비트(즉, 음성 부호(c(n))에 포함되는 j)가, 제 1 그룹에 소속되는 파형 코드(yj) 중 어느 하나의 번호를 나타내는 2진 데이터가 되고, 반대로, 합성할 비트가 [1]인 경우에는, 출력되는 음성 부호(c(n))의 하위 7비트가, 제 2 그룹에 소속되는 파형 코드(yj) 중 어느 하나의 번호를 나타내는 2진 데이터가 된다.
다시 말해, 본 실시 형태에서는, 합성해야 할 비트의 값에 따라, 파형 코드 북 중의 파형 코드(yj; j=0, 1, …, 127)의 선택 범위를, 분할 키 데이터(kidx)에 의해 결정되는 제 1 그룹과 제 2 그룹으로 바꿈으로써, 음성 부호(c(n))에 텍스트 데이터의 비트를 합성(매립)하도록 하고 있다.
한편, 복호화 장치(15)는, 상기의 요령으로 텍스트 데이터의 비트가 합성된 음성 부호(c'(n))로부터, 하기의 분리 방법에 의해, 그 합성되어 있는 비트를 분리 및 추출한다.
[분리 방법]
음성 부호(c'(n))의 하위 7비트(즉, 음성 부호(c'(n))에 포함되는 j)가 분할 키 데이터(kidx)에 의해 제 1 그룹에 소속되어 있다고 표시되는 파형 코드(yj)의 번호를 나타내는 2진 데이터이면, 그 음성 부호(c'(n))에 값이 [0]인 비트가 합성되어 있다고 간주하고, 반대로 음성 부호(c'(n))의 하위 7비트가, 분할 키 데이터(kidx)에 의해 제 2 그룹에 소속되어 있다고 표시되는 파형 코드(yj)의 번호를 나타내는 2진 데이터이면, 그 음성 부호(c'(n))에 값이 [1]인 비트가 합성되어 있다고 간주하여, 그 음성 부호(c'(n))로부터 텍스트 데이터의 비트를 분리한다.
특히, 본 실시 형태에서는, 상술한 바와 같이, 분할 키 데이터(kidx)가 [0]인 비트에 대응하는 파형 코드(yj)가 제 1 그룹이 되고, 분할 키 데이터(kidx)가 [1]인 비트에 대응하는 파형 코드(yj)가 제 2 그룹이 되도록 하고 있기 때문에, 음성 부호(c'(n))에 포함되는 j를 이용하여 kidx(j)를 조사해서, kidx(j)=[0]이면, [0]의 비트가 합성되어 있다고 판단하고, 반대로 kidx(j)=[1]이면, [1]의 비트가 합성되어 있다고 판단할 수 있으며, 나아가서는 그 kidx(j)의 값을, 합성되어 있던 비트값으로서 그대로 취출할 수 있다.
그리고, 상기 합성 방법과 분리 방법에 따르면, 분할 키 데이터(kidx)를 알고 있는 자가 아니면, 음성 부호로부터 텍스트 데이터를 추출할 수 없기 때문에, 음성을 부호화할 때에 텍스트 데이터를 몰래 합성하고, 또한 그 합성된 텍스트 데이터를 몰래 추출할 수 있다. 더욱이, 이러한 특징은, 텍스트 데이터의 비트를 합성하는 경우에 한정되지 않고, 통화자의 인증 데이터 등, 다른 데이터를 구성하는 비트를 합성하는 경우에 대해서도 마찬가지이다.
또한, 분할 키 데이터(kidx)의 각 비트값을 무작위로 설정해 두면, 예를 들어 가령, 모든 음성 부호(c(n))에 대해 [0]의 비트를 합성했다고 해도, 부호화되는 음성 부호(c(n))의 하위 7비트가 나타내는 번호가 바이어스되지 않고, 나아가서는 다른 데이터가 매립되어 있음을 제삼자에게 들킬 가능성을, 매우 낮출 수 있다.
게다가, 상기 합성 방법에 따르면, 복호화 장치(15)에 의해 음성을 재생할 때에, 특별한 처리가 전혀 필요없다고 하는 커다란 이점이 있다.
여기에서, 부호화 장치(9)가, 현재 입력되는 VQ 타깃 벡터(x(n))에 가장 가까운 대표 벡터 데이터(y(n))를 선택하기 전에 항상, 문자 입력 장치(7)로부터 텍스트 데이터의 비트 계열(tx)을 1비트씩 판독하여, 상기 합성 방법에 의해, 그 판독한 비트를 음성 부호(c(n))에 합성하면, 텍스트 데이터의 비트를 모든 음성 부호(c(n))에 매립할 수 있다.
또한, 이 경우, 복호화 장치(15)는, 음성 부호(c'(n))를 입력할 때마다, 그 입력한 음성 부호(c'(n))로부터, 상기 분리 방법에 의해 텍스트 데이터의 비트를 추출하면 된다.
그리고, 이와 같이 모든 음성 부호(c(n))에 텍스트 데이터의 비트를 매립하도록 하면, 그 매립 밀도(1초간 합성되는 비트 수)는, 200byte/s(=1600bit/s)가 된다.
<2> 그런데, 매립한 데이터가 제삼자에 의해 해독되어 버릴 가능성을 고려한 경우, 모든 음성 부호(c(n))에 대해 데이터를 매립하도록 하면 불리한 면도 있다.
그래서, 또한 본 실시 형태에서는, 이하에 설명하는 수법에 의해, 텍스트 데이터의 비트를 매립하는 음성 부호(c(n))를 불규칙하게 한정하여, 어느 음성 부호(c(n))에 매립이 실시되어 있는지(즉, 텍스트 데이터의 비트가 합성되어 있는지)를 제삼자에게 은닉하도록 하고 있다.
먼저, 하기의 [표 1]에 나타내는 음성[Em], [Ew]를 G. 728 LD-CELP에 의해 부호화한 음성 부호에 대해, 그 음성 부호의 각 비트 위치에 있어서의 비트 [1]의 출현율을 조사한 결과, 도 4와 같이 되었다. 또한, [표 1] 및 이하의 설명에 있어서, [Jm]은 남성에 의한 일본어 음성(일본어 남자 음성)을 나타내고, [Jw]는 여성에 의한 일본어 음성(일본어 여자 음성)을 나타내며, [Em]은 남성에 의한 영어 음성(영어 남자 음성)을 나타내고, [Ew]는 여성에 의한 영어 음성(영어 여자 음성)을 나타내고 있다. 또한 [표 1]에 나타내는 각 음성의 음성원으로서는, FM 라디오 및 회화 테이프로부터 각 5초를 추출한 것이다. 이 때문에, 각 음성의 샘플 수는 각각 40000으로 되어 있다.
실험용 음성
언어 성별 샘플수 시간(초)
Jm 일본어 40,000 5
Jw 일본어 40,000 5
Em 영어 40,000 5
Ew 영어 40,000 5
여기에서, 도 4로부터, G. 728 LD-CELP에 의해 부호화된 음성 부호에 포함되는 비트값의 출현율에는, 특징이 있음을 알 수 있다. 그리고, 이 특징을 이용하면, 음성 부호에 대한 데이터의 매립 밀도를 제어할 수 있다고 생각된다.
또한, 음성 부호의 각 비트값은, 입력 음성에 의존하기 때문에, 일반적으로 불규칙하다. 따라서, 본 실시 형태에서는, 이 불규칙성과 도 4에 보여지는 특징을 이용하여, 매립을 실시하는 음성 부호를 불규칙하게 한정하는 동시에, 매립 밀도를 제어하고 있다.
먼저, 본 실시 형태에 있어서, 부호화 장치(9)와 복호화 장치(15)에 각각 구비된 ROM에는, 상술한 분할 키 데이터(kidx) 이외에, 매립를 실시하는 음성 부호를 불규칙하게 한정하기 위한 제한 키 데이터(klim)가, 미리 기억되어 있으며, 부호화 장치(9)와 복호화 장치(15)는, 그 제한 키 데이터(klim)를 ROM에서 RAM으로 전송하여 사용한다. 더욱이, 이 제한 키 데이터(klim)는, 음성 부호(c(n))의 비트 수와 같은 10자리수(10비트)의 2진수이다.
그리고, 부호화 장치(9)는, 다음번의 VQ 타깃 벡터(x(n+1))에 대해 가장 적합한 대표 벡터 데이터(y(n+1))를 선택하기 전에, 제한 키 데이터(klim)와 현재 출력한 음성 부호(c(n))로부터, 하기 식 10에 의해 값 L을 구한다. 더욱이, 이것은, 이번의 VQ 타깃 벡터(x(n))에 대해 가장 적합한 대표 벡터 데이터(y(n))를 선택하기 전에, 제한 키 데이터(klim)와 이전에 출력된 음성 부호(c(n-1))로부터, 값 L을 구하는 것과 동일하다. 또한, [AND]는 논리곱을 나타내고 있다.
L=klim[AND]c(n) …식 10
다시 말해, L은 제한 키 데이터(klim)와 음성 부호(c(n))의 논리곱 값이다. 따라서, 음성 부호(c(n))의 비트 계열이, 제한 키 데이터(klim)에서 값이 [1]인 비트 위치와 동일한 위치에 있는 비트가 모두 [0]이라고 하는 나열 패턴이면, L의 값은 0이 되고, 반대로 음성 부호(c(n))의 비트 계열이, 제한 키 데이터(klim)에서 값이 [1]인 비트의 위치와 동일한 위치에 있는 어느 하나의 비트가 [1]이라고 하는 나열 패턴이면, L의 값은 0 이외의 것이 된다.
그리고 또한, 부호화 장치(9)는, L의 값이 0이면, 합성 조건이 성립되었다고 판정하여, 문자 입력 장치(7)로부터 텍스트 데이터의 비트 계열(tx)을 1비트 판독하여, 상술한 합성 방법에 의해, 그 판독한 비트를 현재 출력하는 음성 부호에 합성한다. 또한 반대로, 부호화 장치(9)는, L의 값이 0이 아니면, 합성 조건이 성립되어 있지 않다고 판정하여, 문자 입력 장치(7)로부터 텍스트 데이터의 비트를 판독하지 않고, 통상의 G. 728 LD-CELP에 의해 부호화시킨다.
그리고, 본 실시 형태에서는, 이 방법에 의해 매립 부호(즉, 매립을 실시하는 음성 부호)를 한정하고 있다.
예를 들어, 모든 음성 부호에 매립을 실시하면, klim=[0000000000]으로 하면 된다. 반대로 거의 매립을 실시하지 않으면, klim=[1111111111]로 하면 된다. 또한, 거의 반 정도의 음성 부호에 매립을 실시하는 것이면, klim=[0100000000] 등과 같이 설정하면 된다. 한편, 이는 도 4에 도시된 바와 같이, 음성 부호의 하위로부터 9비트째가 약 0.5의 확률로 비트 [1]이 되는 것으로부터 도출된다.
여기에서, 도 4에 도시한 음성 부호의 각 비트 위치에서의 비트[1]의 출현율을 pi라고 하고, 또한 제한 키 데이터(klim)의 하위로부터 x비트째(x=1, 2, …, 10)의 비트값을 klim(x)라 하면, 매립 밀도(Embrate[bit/s])는, 하기의 식 11에 의해 개략적으로 어림잡을 수 있다.
이와 같이, 매립 밀도는 어드 정도 추측할 수 있다. 이에 반해, 매립하는 음성 부호가 어느 것일지는, 입력 음성에 의존하기 때문에 특정되어 있지 않다.
따라서, 제한 키 데이터(klim)를 모르는 제삼자에게 있어서, 대량의 음성 부호 중에서 매립이 있는 음성 부호를 정확하게 특정하는 것은, 매우 곤란해진다.
한편, 이 경우, 복호화 장치(15)는, 이전에 입력된 음성 부호(c'(n-1))에 대해, 식 10의 L을 구해, L의 값이 0이었을 경우에만, 현재 입력 음성 부호(c'(n))로부터, 상기 분리 방법에 의해 텍스트 데이터의 비트를 추출하면 된다. 바꿔 말하면, 현재 입력 c'(n)에 대해, 식 10의 L을 구해, L의 값이 0이면, 다음번에 입력할 음성 부호(c'(n+1))로부터, 상기 분리 방법에 의해 텍스트 데이터의 비트를 추출하면 된다.
<3> 한편, 동일한 분할 키 데이터(kidx)를 장기간 사용하면, 음성 부호의 비트값에 무언가의 특징이 나타나, 다른 데이터가 합성되어 있음을 제삼자에게 들켜 버릴 우려도 있다.
따라서, 또한 본 실시 형태에서는, 이하에 설명하는 수법에 의해, 부호화 장치(9)와 복호화 장치(15)에서 공유하는 분할 키 데이터(kidx)를 자주 바꿔, 제삼자에 의한 분할 키 데이터(kidx)의 해석을 어렵게 만들고 있다.
먼저, 본 실시 형태에 있어서, 부호화 장치(9)와 복호화 장치(15)에 각각 구비된 ROM에는, 상술한 분할 키 데이터(kidx)와 제한 키 데이터(klim) 이외에, 반전 키 데이터(krev)와 변경 키 데이터(kxor)가 또한 미리 기억되어 있으며, 부호화 장치(9)와 복호화 장치(15)는, 그 반전 키 데이터(krev)와 변경 키 데이터(kxor)를 ROM에서 RAM으로 전송하여 사용한다.
더욱이, 반전 키 데이터(krev)는, 제한 키 데이터(klim)와 마찬가지로 10자리수(10비트)의 2진수이다. 또한, 변경 키 데이터(kxor)는, 분할 키 데이터(kidx)의 변경 규칙을 결정하는 것으로, 분할 키 데이터(kidx)와 마찬가지로 128자리수(128비트)의 2진수이다.
그리고, 부호화 장치(9)는, 다음번의 VQ 타깃 벡터(x(n+1))에 대해 가장 적합한 대표 벡터 데이터(y(n+1))를 선택하기 전에, 반전 키 데이터(krev)와 현재 출력한 음성 부호(c(n))으로부터, 하기 식 12에 의해, 값 r을 구한다. 또한, 이것은, 이번의 VQ 타깃 벡터(x(n))에 대해 가장 적합한 대표 벡터 데이터(y(n))를 선택하기 전에, 반전 키 데이터(krev)와 이전에 출력된 음성 부호(c(n-1))로부터, 값 r을 구하는 것과 동일하다.
r=krev[AND]c(n) …식 12
다시 말해, r은, 반전 키 데이터(krev)와 음성 부호(c(n))의 논리곱 값이다. 따라서, 상술한 식 10과 마찬가지로, 음성 부호(c(n))의 비트 계열이, 반전 키 데이터(krev)에서 값이 [1]인 비트의 위치와 동일한 위치에 있는 비트가 모두 [0]이라고 하는 나열 패턴이면, r의 값은 0이 되고, 반대로 음성 부호(c(n))의 비트 계열이, 반전 키 데이터(krev)에서 값이 [1]인 비트의 위치와 동일한 위치에 있는 어느 하나의 비트가 [1]이라고 하는 나열 패턴이면, r의 값은 0 이외의 것이 된다.
그리고 또한, 부호화 장치(9)는, r의 값이 0이 아니면, 분할 키 데이터(kidx)를 변경해야 할 변경 조건이 성립되었다고 판정해, RAM으로부터 현재의 분할 키 데이터(kidx)를 판독하여, 하기의 식 13에 의해, 그 분할 키 데이터(kidx)의 비트 [0]와 비트 [1]을 반전시켜서 RAM에 갱신 기억시킨다. 한편, [XOR]은, 배타적 논리합을 나타내고 있다.
kidx=kidx[XOR]kxor …식 13
예를 들어, 변경 키 데이터(kxor)의 128비트 전체가 [1]이면, 식 13에 의해, 분할 키 데이터(kidx)의 모든 [0]과 [1]이 반전하게 된다.
또한 반대로, 부호화 장치(9)는, r의 값이 0이면, 변경 조건이 성립되어 있지 않다고 판정하여, 현재의 분할 키 데이터(kidx)를 계속해서 사용한다.
한편, 이 경우, 복호화 장치(15)는, 이전에 입력된 음성 부호(c'(n-1))에 대해, 식 12의 r을 구해, r의 값이 0이 아니면, 부호화 장치(9)의 경우와 완전 동일하게, 그 때까지 사용했던 분할 키 데이터(kidx)를 식 13에 의해 변경하면 된다. 바꿔 말하면, 현재 입력 c'(n)에 대해, 식 12의 r을 구하고, r의 값이 0이 아니면, 그 때까지 사용했던 분할 키 데이터(kidx)를 식 13에 의해 변경해서, 그 변경후의 분할 키 데이터(kidx)를 다음번부터 사용하면 된다.
이 방법에 따르면, 분할 키 데이터(kidx)가 불규칙하게 바뀌기 때문에, 반전 키 데이터(krev)와 변경 키 데이터(kxor)를 모르는 제삼자가 음성 부호에 매립된 데이터를 해독해 버릴 가능성을 상당히 낮출 수 있다.
또한, 분할 키 데이터(kidx)를 식 13과 같은 연산에 의해 변경하는 것이 아니라, 여러 종류의 분할 키 데이터(kidx)를 미리 준비하여 바꾸도록 할 수도 있다.
여기에서, 상술한 부호화 장치(9)와 복호화 장치(15)의 동작 내용을 정리하면, 도 5∼도 7에 도시한 플로우 챠트와 같이 된다. 또한, 도 5는 부호화 장치(9)의 동작 내용의 전반부를 나타내는 플로우 챠트이고, 도 6은 부호화 장치(9)의 동작 내용의 후반부를 나타내는 플로우 챠트이다. 그리고, 도 7은 복호화 장치(15)의 동작 내용을 나타내는 플로우 챠트이다.
먼저, 도 4에 도시한 바와 같이, 부호화 장치(9)가 동작을 개시하면, 최초의 단계(이하, 간단히 S라고 씀)110에서, 상술한 L과 r의 값을 1로 초기 설정함과 동시에, 프레임의 순서 라벨인 n의 값을 0으로 초기 설정한다.
다음에, S120에서, L의 값이 0인지의 여부를 판정하여, L의 값이 0이 아니면(S120: NO), 그대로 S140으로 진행하지만, L의 값이 0이면(S120: YES), S130으로 이행하여, 매립 데이터(즉, 문자 입력 장치(7)에 기억된 텍스트 데이터의 비트 계열(tx))로부터 음성 부호에 합성해야 할 비트(t)를 1개 추출하고, 그 후 S140으로 진행한다.
그리고, S140에서, 상술한 D'의 최소값 후보인 D'min의 값을, 미리 가정되는 최대값으로 초기화하고, 이어지는 S150에서, j의 값을 0으로 초기화하는 동시에, n의 값을 1 증분(increment)한다. 그리고 또한, 이어지는 S155에서, 현재 벡터 양자화하는 n번째의 VQ 타깃 벡터(x(n))를 입력하고, 이어지는 S160에서, L의 값이 0인지의 여부를 판정한다.
여기에서, L의 값이 0이 아니면(S160: NO), 그대로 S180으로 진행하지만, L의 값이 0이면(S160: YES), S170으로 이행하여, 분할 키 데이터(kidx)의 상위 비트로부터 j비트째인 kidx(j)가, 상기 S130에서 추출한 비트(t)와 동일한지의 여부를 판정하여, kidx(j)=t이면(S170: YES), S180으로 진행한다.
그리고, S180에서, 상기 S155에서 현재 입력 VQ 타깃 벡터(x(n))에 대해, 상술한 Pj(=pT(n)·yj)를 구하고, 이어지는 S190에서, 그 Pj에 의해 gi를 결정하며, 계속 이어지는 S200에서, 상술한 식 9에 의해 D'(=-bi·Pj+ci·Ej)를 구한다.
다음으로, 계속되는 S210에서, 상기 S200에서 구한 D'가 현재의 D'min보다 작은지의 여부를 판정하여, D'<D'min이 아니면(S120: NO), 그대로 S230으로 진행하지만, D'<D'min이면(S210: YES), S220으로 이행하여, 상기 S200에서 현재 구한 D'를 D'min으로서 설정하는 동시에, 상기 S200에서 D'를 구했을 때의 i와 j를, 각각 imin과 jmin로서 설정하며, 그 후에 S230으로 진행한다.
또한, 상기 S170에서 kidx(j)=t가 아니라고 판정되었을 경우에는(S170 : YES), S180∼S220의 처리를 하지 않고, 그대로 S230으로 진행한다.
그리고, S230에서, j의 값이 127보다 작은지의 여부를 판정하여, j<127이면(S230: YES), S240으로 진행하여, j의 값을 1 증분한 후, S160으로 되돌아간다.
한편, 상기 S230에서, j<127이 아니라고 판정되었을 경우에는(S230: NO), 도 6에 도시하는 S250으로 이행한다.
그리고, 도 6에 도시하는 바와 같이, 그 S250에서, imin과 jmin으로부터 상술한 바와 같이 10비트의 음성 부호(c(n))를 구성하여 송수신 장치(13)에 출력한다. 그러면, 그 음성 부호(n)는, 송수신 장치(13)에 의해 무선 변조되어 안테나(11)로부터 송신되게 된다.
다음으로, 이어지는 S260에서, 상기 S250에서 출력한 음성 부호(c(n))와 제한 키 데이터(klim)로부터, 상술한 식 10에 의해 L을 구하고, 그 뒤를 잇는 S270에서, 상기 S250에서 출력한 음성 부호(c(n))와 반전 키 데이터(krev)로부터, 상술한 식 12에 의해 r을 구한다.
그리고, 이어지는 S280에서, r의 값이 0인지의 여부를 판정하여, r의 값이 0이면(S280: YES), 그대로 S300으로 진행하지만, r의 값이 0이 아니면(S280: NO), S290으로 이행하여, 상술한 식 13에 의해 분할 키 데이터(kidx)를 변경하고, 그 후 S300으로 진행한다.
그리고, S300에서, 통화 스위치(도시 생략)의 온/오프 상태 등에 따라 통신이 종료되었는지의 여부를 판정하여, 통신 종료가 아니면(S300: NO), 도 5의 S120으로 되돌아가고, 또한 통신 종료이면(S300: YES), 상기 부호화 장치(9)의 동작을 종료한다.
다시 말해, 도 5 및 도 6의 처리에서는, S140∼S155, S180∼S250에 의해, VQ 타깃 벡터(x(n))를 순차적으로 입력하여, 그 VQ 타깃 벡터(x(n))에 가장 가까운 대표 벡터 데이터(y(n))를 이루는 이득 코드(gimin)와 파형 코드(yjmin)를, 여진 파형 코드 북(25) 중에서 선택하여, 그 이득 코드(gimin)와 파형 코드(yjmin)의 번호(imin, jmin)로부터 음성 부호(c(n))를 구성하여 출력하도록 하고 있다.
그리고 특히, 도 5 및 도 6의 처리에서는, 이번의 VQ 타깃 벡터(x(n))에 대해 이득 코드(gimin) 및 파형 코드(yjmin)를 선택(S180∼S240)하기 전에, S260에 의해, 이전에 출력된 음성 부호에 대해 식 10의 L을 구해 두는 동시에, S120, S160에 의해 그 L의 값이 0이라고 판정되면, 합성 조건이 성립되었다고 판단해, 음성 부호에 합성해야 할 텍스트 데이터의 비트(t)를 판독하여(S130), S170에서의 판정에 따른 전환에 의해, 상기 <1>에서 설명한 합성 방법을 실시하도록 하고 있다.
그리고 또한, 이번의 VQ 타깃 벡터(x(n))에 대해 이득 코드(gimin) 및 파형 코드(yjmin)를 선택하기 전에, S270에 의해, 이전에 출력된 음성 부호에 대해 식 12의 r을 구해 두는 동시에, S280에 의해, 그 r의 값이 0이 아니라고 판정되면, 변경 조건이 성립되었다고 판단해, S290에 의해, 다음의 S170에서 사용하는 분할 키 데이터(kidx)를 식 13의 변경 규칙에 따라 변경하도록 하고 있다.
그러므로, 도 5 및 도 6의 처리를 하는 부호화 장치(9)에 따르면, G. 728 LD-CELP에 의한 음성 부호에, 텍스트 데이터의 각 비트를 몰래 합성할 수 있다.
또한, 본 실시 형태의 부호화 장치(9)에 있어서는, S120, S160, 및 S260의 처리가, 합성조건 판정처리에 상당하며, S270 및 S280의 처리가, 변경조건 판정처리에 상당한다.
한편, 도 7에 도시한 바와 같이, 복호화 장치(15)가 동작을 개시하면, 먼저 S310에서, L과 r의 값을 1로 초기 설정함과 동시에, 프레임의 순서 라벨인 n의 값을 0으로 초기 설정한다.
다음으로, S320에서, n의 값을 1 증분하며, 이어지는 S330에서 송수신 장치(13)로부터 그 n번째의 음성 부호(c'(n))를 입력한다.
그리고, 뒤이은 S340에서, 상기 S330에서 입력한 음성 부호(c'(n))로부터 i와 j를 추출하고, 이어지는 S350에서, 그 i와 j에 대응한 이득 코드(gi)와 파형 코드(yj)를 여진 파형 코드 북(41)으로부터 추출한다.
그리고 또한, 이어지는 S360에서, 상기 S350에서 구한 이득 코드(gi)와 파형 코드(yj)로부터, 현재 입력 음성 부호(c'(n))에 대응하는 1프레임분의 디지털 음성 신호(s'(n))를 재생하여, 음성 출력 장치(17)에 출력한다.
그 다음, S370에서, L의 값이 0인지의 여부를 판정하여, L의 값이 0이 아니면(S370: NO), 그대로 S390으로 진행하지만, L의 값이 0이면(S390: YES), S380으로 이행한다. 그리고, S380에 있어서, 상기 S340에서 음성 부호(c'(n))로부터 추출한 j를 이용하여 kidx(j)를 조사해, 다시 그 kidx(j)의 값을 텍스트 데이터의 비트로서 보존하며, 그 후 S390으로 진행한다. 더욱이, 이 S380에서 보존된 비트는, 표시 장치(19)에 순차적으로 출력되며, 표시 장치(19)는, 그 비트 계열로부터 문자를 재생하여 표시하게 된다.
그리고, S390에서, 상기 S330에서 입력한 음성 부호(c'(n))와 제한 키 데이터(klim)로부터, 상술한 식 10에 의해 L을 구하고, 이어지는 S400에 있어서, 상기 S330에서 입력한 음성 부호(c'(n))와 반전 키 데이터(krev)로부터, 상술한 식 12에 의해 r을 구한다.
그리고 또한, 이어지는 S410에서, r의 값이 0인지의 여부를 판정하여, r의 값이 0이면(S410: YES), 그대로 S430으로 진행하지만, r의 값이 0이 아니면(S410: NO), S420으로 이행하여, 상술한 식 13에 의해 분할 키 데이터(kidx)를 변경하고, 그 후 S430으로 진행한다.
그리고, S430에서, 통화 스위치(도시 생략)의 온/오프 상태 등에 따라 통신이 종료되었는지의 여부를 판정하여, 통신 종료가 아니면(S430: NO), S320으로 되돌아가고, 또한 통신 종료이면(S430: YES), 상기 복호화 장치(15)의 동작을 종료한다.
다시 말해, 도 7의 처리에서는, S320∼S360에 의해, 다른 전화기(3)의 부호화 장치(9)에 의해 생성된 음성 부호(c'(n))를 순차적으로 입력하여, G. 728 LD-CELP의 복호화에 의해 음성을 재생하고 있는 것인데, S390에서, 이미 입력한 음성 부호에 대해 식 10의 L을 구해둠으로써, 다음의 음성 부호를 이번의 음성 부호(c'(n))로서 입력했을 때에, S370에 의해, 이전에 입력된 음성 부호에 대한 L이 0인지의 여부를 판정할 수 있도록 하고 있다. 그리고, S370에서, L의 값이 0이라고 판정되면(즉, 이전에 입력된 음성 부호에 대해 구한 L이 0이라고 판정되면), 합성 조건이 성립되었다고 판단하여, S380에 의해, 상기 <1>에서 설명한 분리 방법을 실시하여, 현재 입력 음성 부호(c'(n))로부터 텍스트 데이터의 비트를 추출하도록 하고 있다.
그리고 또한, 도 7의 처리에서는, S370에서 판정을 하기 전에, S400에 의해, 이전에 입력된 음성 부호에 대해 식 12의 r을 구해 두는 동시에, S410에 의해, 그 r의 값이 0이 아니라고 판정되면, 변경 조건이 성립되었다고 판단하여, S420에 의해, S380에서 사용하는 분할 키 데이터(kidx)를, 식 13의 변경 규칙에 따라 변경하도록 하고 있다.
그러므로, 도 7의 처리를 하는 복호화 장치(15)에 의하면, 부호화 장치(9)에 의해 생성된 음성 부호로부터 음성을 재생하면서, 그 음성 부호에 합성된 텍스트 데이터의 각 비트를 확실하게 추출할 수 있다.
또한, 본 실시 형태의 복호화 장치(15)에 있어서는, S370 및 S390의 처리가, 합성조건 판정처리에 상당하고, S400 및 S410의 처리가, 변경조건 판정처리에 상당한다. 또한, S380의 처리가 분리 처리에 상당하고, S420의 처리가 변경 처리에 상당한다.
그리고, 상기와 같은 부호화 장치(9)와 복호화 장치(15)를 구비한 본 실시 형태의 전화기(1, 3)에 의하면, 사용자인 통화자는, 음성과 문장의 쌍방으로 의사 소통을 할 수 있게 된다.
[실험 결과]
그런데, 제삼자에게 매립의 존재를 모르게 하기 위해서는, 매립에 의해 음질을 대폭으로 열화시키지 않는 것이 중요하다.
따라서, 이하 본 실시 형태의 부호화 장치(9) 및 복호화 장치(15)에 대해, G. 728 LD-CELP의 알고리즘에 의거하여 실험 시스템을 구성하여, 시뮬레이션을 실시한 결과에 대해 설명한다.
먼저, 실험 음성으로는, 상술한 [표 1]에 나타낸 4종류의 음성을 사용하였다.
또한, 음성 부호에 매립하는 정보로는, 인터넷 규격인 RFC(Request For Comments)에 포함되는 텍스트 데이터를 사용하였다.
그리고, 분할 키 데이터(kidx), 반전 키 데이터(krev), 및 변경 키 데이터(kxor)로서는, 하기의 것을 사용하였다. 또한, 이하의 설명에서는, 이들 3개의 키 데이터(kidx, krev, kxor)를, 키(K)로 총칭한다. 또한, 이하의 기재에 있어서, 괄호 안에 나타내는 각 키 데이터(kidx, klim, krev, kxor)의 값은, O∼F의 16진수로 표현되어 있다.
kidx={6770DFF35BDD9F1CA21C05881A8CCA15}
krev={060}
kxor={FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
여기에서, 본 실험에서는, 반전 키 데이터(krev)와 변경 키 데이터(kxor)를 상기와 같이 설정했기 때문에, 분할 키 데이터(kidx) 중의 모든 [0]과 [1]이 약 1/3의 확률로 반전하게 된다(도 4 참조).
한편, 객관적인 음질의 평가 척도로서 가장 기본적인 것으로, 신호 대 양자화 잡음비(SNR: Signal-to-quantization Noise Ratio)가 있다. 또한, SNR[dB]의 평가식은, 상기 문헌 2 등에 기재된 바와 같이, 입력 음성(본 실시 형태에서 말하는 입력 음성 신호)(So(m))과 그 양자화 오차(Er(m))를 이용하여 하기의 식 14으로 나타낼 수 있다.
따라서, 본 실험에서는, 객관적 평가법으로서, SNR을 개량하여 주관 평가와의 대응 관계를 향상시킨 세그먼트 SNR(SNRseg)을 이용하였다. 이 SNRseg는, 상기 문헌 2 등에 기재되어 있는 바와 같이, 하기의 식 15에 의해 정의된다. 또한, 식 15에 있어서, Nf는 측정 구간의 프레임 수를 나타내며, SNRf는 f프레임에 있어서의 SNR이다. 그리고, 본 실험에서는, 1프레임의 길이를 32ms로 하였다.
또한, 본 실험에서는, 주관적 평가법으로서, 평가자의 절대 판단에 의한 오피니언 평가(MOS: Mean Opinion Score)를 이용하였다. 또한, 이 오피니언 평가에 대해서도, 상기 문헌 2 등에 기재되어 있다.
다음으로, [표 1]의 4종류의 음성과 상기 키(K)를 이용하여 실험한 결과를, 도 8에 나타낸다.
이러한 도 8은, 시간적인 매립 밀도와 SNRseg와의 관계를, [표 1]의 [Em], [Ew], [Jm], [Jw]의 각 음성에 대해 나타낸 것이다. 단, 제한 키 데이터(klim)로서는, 하기의 4종류를 이용하였다.
klim={044}, {004}, {020}, {000}
예를 들면, klim=020 경우의 매립 밀도는, 제한 키 데이터(klim)의 하위로부터 6비트째에 있는 것만이 [1]이기 때문에, 도 4로부터 p6=0.3이 되며, 식 11로부터 거의 1600×(1-0.3)=1120[bit/s]가 되리라고 추정된다. 또한, 매립 밀도가 0[bit/s]인 것은, 매립 처리가 없는 경우이다.
도 8의 결과로부터 알 수 있는 바와 같이, 대량의 매립을 실시해도, 매립에 의한 SNRseg의 열화량은 적음을 알 수 있다. 따라서, 매립이 없는 경우와 매립이 있는 경우의, 양자화 왜곡은, 같은 정도로 생각할 수 있다.
다음으로, 이하에 설명하는 실험은, 제한 키 데이터(klim)로서, klim={102}를 이용하여 행했다. 또한, 이 경우의 매립 밀도는, 도 4로부터, 대략 p2=0.1, p9=0.5가 되기 때문에, 식 11로부터 1600×(1-0.1)×(1-0.5)=720[bit/s]가 되리라고 추정된다.
먼저, 재생 음성 파형의 일부를 취출하여, 파형의 형상을 관찰한 결과를 도 9에 도시한다. 더욱이, 도 9a는, 입력 음성 파형을 나타내고, 도 9b는 매립이 없는 재생 음성 파형을 나타내며, 도 9c는 대량의 매립을 실시한 재생 음성 파형을 나타낸다. 또한, 이들 파형은, [표 1]의 [Em]에 있어서의 발음 "think" 부분으로서, 약 0.2초의 음성 구간이다.
도 9의 각 파형으로부터 알 수 있는 바와 같이, 음성 부호에 다른 데이터를 매립함으로 인한 영향으로 생각할 수 있는 커다란 파형 왜곡은 관측되지 않았다.
또한, 본 실시 형태의 방법을 이용하여 통상 전송되는 음성 부호(음성 데이터)는, 매립이 있는 음성 부호뿐이다. 따라서 가령, 제삼자에게 음성 부호를 불법으로 빼앗겼다고 해도, 매립이 없는 파형과 비교할 수는 없기 때문에, 재생 음성의 파형 형상으로부터 매립의 유무를 발견하기는 어려우리라고 생각된다.
그런데, 매립을 실시함으로써 음성 부호의 비트 특성에 변화가 나타나면, 제삼자가 해독의 실마리로 삼을 가능성도 있다.
따라서, 도 4와 같이, 매립을 실시한 음성 부호의 비트 특성을 조사한 결과, 도 10과 같이 되었다.
이러한 도 10과 도 4를 비교하면, 매립에 따른 커다란 영향을 일으키고 있지 않음을 알 수 있다. 따라서, 제삼자가, 음성 부호의 비트 특성의 변화로부터 매립의 존재를 알아내기는 매우 어려우리라 생각된다.
다음으로, 청각적인 음질의 차이로 인한 매립의 발견 가능성에 대해 검토하였다.
본 실험에서는, 20대 후반의 청각 정상인 8명에 의해, 각 재생 음성을 주관적으로 평가하여 평균 오피니언값(MOS)을 구했다. 또한, 평가 음성으로서는, [표 1]의 각 실험 음성에 대해, 매립이 없는 재생 음성과 매립이 있는 재생 음성을 준비하여, 피실험자가 임의의 회수만큼 들어서 비교하여 평가하였다. 따라서, 재생 음성의 음질 차이를 느낀다면, 평가값에 커다란 차이가 발생할 것임에 틀림없다.
이 실험 결과를, 하기의 [표 2]에 나타낸다.
평균 오피니언값
음성 매립없음 매립있음 매립밀도(byte/s)
Jm 3.14 2.86 89.9
Jw 3.57 3.57 87.9
Em 3.00 3.43 90.2
Ew 3.57 3.43 90.5
평균 3.32 3.32 89.6
이러한 [표 2]로부터 명백히 알 수 있는 바와 같이, 매립이 없는 재생 음성의 MOS와, 매립이 있는 재생 음성의 MOS는, 거의 같은 것을 알 수 있다.
따라서, 매립이 있는 경우와 매립이 없는 경우의 재생 음성의 음질은, 거의 같은 정도이며, 청취에 따른 매립의 유무 판단은 어렵다고 할 수 있다.
또한, [표 2]에 있어서, MOS가 3 정도의 값을 나타낸 것은, 입력에 사용한 실험 음성이, 컴팩트 디스크 등에 비하면 약간 불명료하게 느껴지기 때문임을 원인으로 생각할 수 있다. 또한, 각 평가값의 편차는, 매립이 있는 음성을 피실험자가 특정할 수 없기 때문에 발생한 랜덤 오차에 의한 것이라고 사료된다.
이상의 결과로부터, 원음성 신호나 매립이 없는 재생 음성을 갖고 있지 않은 부정한 제삼자가, 대량의 음성 부호 중에서 다른 데이터가 매립된 음성 부호를 특정하여, 그 매립된 정보를 해독하는 것은, 매우 곤란하다고 할 수 있다.
[변형예 1]
그런데, 상술한 실시 형태의 부호화 장치(9)가, 도 5의 S120 및 S160의 처리와, 도 6의 S260의 처리를 하지 않고, 또한 도 5의 S130의 처리를 S140 전에 항상 하도록 하면, 모든 음성 부호(c(n))에 텍스트 데이터의 비트를 매립할 수 있다.
그리고, 이 경우에는, 복호화 장치(15)가, 도 7의 S370 및 S390의 처리를 하지 않고, S380의 처리를 S360 다음에 항상 하도록 하면 된다.
[변형예 2]
또한, 상술한 실시 형태, 혹은 상기 변형예 1에 있어서, 분할 키 데이터(kidx)를 변경하지 않는 것이면, 부호화 장치(9)가 도 6의 S270∼S290의 처리를 하지 않도록 하고, 복호화 장치(15)가 도 7의 S400∼S420의 처리를 하지 않도록 하면 된다.
[기타]
상술한 실시 형태의 부호화 장치(9) 및 복호화 장치(15)는, G. 728 LD-CELP에 의해 음성의 부호화/복호화를 행하는 것이었으나, 벡터 양자화를 이용한 다른 부호화 방식에 대해서도, 동일한 수법을 적용할 수 있다.
또한, 상기 실시 형태에서는, 본 발명을 전화기에 적용한 것이기 때문에, 부호화 장치(9)에 의해 생성된 음성 부호(c)를, 즉석에서 무선 변조하여 송신하도록 했으나, 음성 부호(c)를 소정의 기록 매체에 기억시켜 두도록 해도 무방하다. 그리고, 이 경우에는, 상기 기록 매체로부터 음성 부호(c)를 순차적으로 판독하여, 복호화 장치(15)에 의해 복호화하면 된다.
또한, 상기 실시 형태의 부호화 장치(9) 및 복호화 장치(15)는, 음성을 부호화/복호화하는 것이었으나, 센서나 계측기 등으로부터 출력되는 아날로그 신호라는 음성 이외의 진동파를 부호화/복호화하도록 해도 무방하다. 구체적으로는, 상기 아날로그 신호를 소정 시간마다 샘플링하여 얻은 디지털 신호를, 입력 음성 신호(s) 대신에, 부호화 장치(9)에 입력하면 된다.
그리고, 이와 같이 하면, 센서나 계측기로부터 출력되는 아날로그 신호의 진동파를 부호화할 때에, 텍스트 데이터 등의 다른 데이터를 합성할 수 있으며, 또한 그 부호화 신호로부터 다른 데이터를 분리하여 추출할 수 있게 된다.

Claims (8)

  1. 진동파의 소정 시간만큼의 파형을 나타내는 벡터 데이터를 순차적으로 입력하고, 상기 벡터 데이터를 입력할 때마다 미리 순차적으로 번호가 매겨진 복수개의 대표 벡터 데이터를 기억하는 코드 북 중에서, 상기 입력한 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하여 그 선택한 대표 벡터 데이터의 번호를 나타내는 2진 데이터를 상기 입력한 벡터 데이터를 나타내는 부호로서 출력하는 벡터 양자화에 의해 상기 진동파를 부호화하는 진동파의 부호화 방법에 있어서,
    상기 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 분할 지시 정보를, 소정의 기억 수단에 기억시키는 단계;
    현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 상기 2진 데이터와는 구별되는 상기 진동파에 합성해야 할 2진 데이터를 판독하는 단계;
    상기 판독한 2진 데이터가 [0]일 경우에는 상기 코드 북에 기억된 대표 벡터 데이터 중에서 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하는 단계; 또는
    상기 판독한 2진 데이터가 [1]일 경우에는 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택함으로써, 현재 입력 벡터 데이터를 나타내는 부호에 상기 판독한 2진 데이터를 합성하는 단계를 포함하는 것을 특징으로 하는 진동파의 부호화 방법.
  2. 제 1 항에 있어서,
    현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 이전에 출력된 상기 부호에 대해, 그 부호의 비트 계열이 미리 정해진 소정의 나열 패턴인지의 여부를 판정하는 변경조건 판정처리를 수행하는 단계;
    상기 변경조건 판정처리에 의해 긍정 판정되면, 상기 기억 수단에 기억시킬 분할 지시 정보를, 미리 정해진 변경 규칙에 따라 변경하는 단계를 더 포함하는 것을 특징으로 하는 진동파의 부호화 방법.
  3. 진동파의 소정 시간만큼의 파형을 나타내는 벡터 데이터를 순차적으로 입력하고, 상기 벡터 데이터를 입력할 때마다 미리 순차적으로 번호가 매겨진 복수개의 대표 벡터 데이터를 기억하는 코드 북 중에서 상기 입력한 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하여, 그 선택한 대표 벡터 데이터의 번호를 나타내는 2진 데이터를 상기 입력한 벡터 데이터를 나타내는 부호로서 출력하는 벡터 양자화에 의해, 상기 진동파를 부호화하는 진동파의 부호화 방법에 있어서,
    상기 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 분할 지시 정보를, 소정의 기억 수단에 기억시키는 단계;
    현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 이전에 출력된 상기 부호에 대해, 그 부호의 비트 계열이 미리 정해진 소정의 나열 패턴인지의 여부를 판정하는 합성조건 판정처리를 수행하는 단계;
    상기 합성조건 판정처리에 의해 긍정 판정되면, 상기 2진 데이터와는 구별되는 상기 진동파에 합성해야 할 2진 데이터를 판독하는 단계;
    상기 판독한 2진 데이터가 [0]인 경우에는, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만, 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하는 단계;
    상기 판독한 2진 데이터가 [1]인 경우에는, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터에서만 현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택함으로써, 현재 입력 벡터 데이터를 나타내는 부호에 상기 판독한 2진 데이터를 합성하는 단계를 포함하는 것을 특징으로 하는 진동파의 부호화 방법.
  4. 제 3 항에 있어서,
    현재 입력 벡터 데이터에 가장 가까운 대표 벡터 데이터를 선택하기 전에, 이전에 출력된 상기 부호에 대해, 그 부호의 비트 계열이 미리 정해진 소정의 나열 패턴인지의 여부를 판정하는 변경조건 판정처리를 수행하는 단계; 및
    상기 변경조건 판정처리에 의해 긍정 판정되면, 상기 기억 수단에 기억시킬 분할 지시 정보를 미리 정해진 변경 규칙에 따라 변경하는 단계를 더 포함하는 것을 특징으로 하는 진동파의 부호화 방법.
  5. 제 1 항에 기재된 부호화 방법에 의해 생성된 부호를 순차적으로 입력하고, 상기 부호를 입력할 때마다, 그 부호가 나타내는 번호의 대표 벡터 데이터를 제 1 항에 기재된 코드 북과 동일한 코드 북 중에서 추출하는 동시에, 그 추출한 대표 벡터 데이터로부터, 현재 입력 부호에 대응하는 파형을 재생함으로써, 상기 진동파를 복원시키는 진동파의 복호화 방법에 있어서,
    상기 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 제 1 항에 기재된 분할 지시 정보와 동일한 분할 지시 정보를, 소정의 기억 수단에 기억시키는 단계;
    현재 입력 부호가 나타내는 번호가, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는 상기 부호에 [0]인 2진 데이터가 합성되어 있다고 간주하는 단계;
    현재 입력 부호가 나타내는 번호가, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는 상기 부호에 [1]인 2진 데이터가 합성되어 있다고 간주함으로써, 현재 입력 부호로부터 상기 합성 2진 데이터를 분리시키는 단계를 포함하는 것을 특징으로 하는 진동파의 복호화 방법.
  6. 제 2 항에 기재된 부호화 방법에 의해 생성된 부호를 순차적으로 입력하고, 상기 부호를 입력할 때마다, 그 부호가 나타내는 번호의 대표 벡터 데이터를 제 1 항에 기재된 코드 북과 동일한 코드 북 중에서 추출하는 동시에, 그 추출한 대표 벡터 데이터로부터, 현재 입력 부호에 대응하는 파형을 재생함으로써 상기 진동파를 복원시키는 진동파의 복호화 방법에 있어서,
    상기 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 제 1 항에 기재된 분할 지시 정보와 동일한 분할 지시 정보를, 소정의 기억 수단에 기억시켜는 단계;
    현재 입력 부호가 나타내는 번호가, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 번호에 [0]인 2진 데이터가 합성되어 있는 것으로 간주하는 단계;
    현재 입력 부호가 나타내는 번호가, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [1]인 2진 데이터가 합성되어 있는 것으로 간주함으로써, 현재 입력 부호로부터 상기 합성 2진 데이터를 분리시키는 처리를 수행하는 단계;
    현재 입력 상기 부호에 대해 상기 분리 처리를 하기 전에, 이전에 입력된 상기 부호에 대해 제 2 항에 기재된 변경조건 판정처리와 동일한 변경조건 판정처리를 수행함으로써, 상기 변경조건 판정처리에 의해 긍정 판정되었을 경우에, 상기 기억 수단에 기억시킬 분할 지시 정보를 제 2 항에 기재된 변경 규칙과 동일한 변경 규칙에 따라 변경하는 변경처리를 하는 단계를 포함하는 것을 특징으로 하는 진동파의 복호화 방법.
  7. 제 3 항에 기재된 부호화 방법에 의해 생성된 부호를 순차적으로 입력하고, 상기 부호를 입력할 때마다, 그 부호가 나타내는 번호의 대표 벡터 데이터를 제 3 항에 기재된 코드 북과 동일한 코드 북 중에서 추출하는 동시에, 그 추출한 대표 벡터 데이터로부터, 현재 입력 부호에 대응하는 파형을 재생함으로써, 상기 진동파를 복원시키는 진동파의 복호화 방법에 있어서,
    상기 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 제 3 항에 기재된 분할 지시 정보와 동일한 분할 지시 정보를, 소정의 기억 수단에 기억시키는 단계;
    상기 부호를 입력했을 때, 이전에 입력된 상기 부호에 대해 제 3 항에 기재된 합성조건 판정처리와 동일한 합성조건 판정처리를 수행하는 단계;
    상기 합성조건 판정처리에 의해 긍정 판정되었을 경우에, 현재 입력 부호가 나타내는 번호가, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는 상기 부호에 [0]인 2진 데이터가 합성되어 있다고 간주하는 단계;
    현재 입력 부호가 나타내는 번호가, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [1]인 2진 데이터가 합성되어 있다고 간주함으로써, 현재 입력 부호로부터 상기 합성 2진 데이터를 분리시키는 단계를 포함하는 것을 특징으로 하는 진동파의 복호화 방법.
  8. 제 4 항에 기재된 부호화 방법에 의해 생성된 부호를 순차적으로 입력하고, 상기 부호를 입력할 때마다 그 부호가 나타내는 번호의 대표 벡터 데이터를 제 3 항에 기재된 코드 북과 동일한 코드 북 중에서 추출하는 동시에 그 추출한 대표 벡터 데이터로부터, 현재 입력 부호에 대응하는 파형을 재생함으로써, 상기 진동파를 복원시키는 진동파의 복호화 방법에 있어서,
    상기 코드 북에 기억된 대표 벡터 데이터의 각각이 제 1 그룹과 제 2 그룹 중 어느 것에 소속되는지를 나타내는 제 3 항에 기재된 분할 지시 정보와 동일한 분할 지시 정보를, 소정의 기억 수단에 기억시켜는 단계;
    상기 부호를 입력했을 때, 이전에 입력된 상기 부호에 대해 제 3 항에 기재된 합성조건 판정처리와 동일한 합성조건 판정처리를 수행하는 단계;
    상기 합성조건 판정처리에 의해 긍정 판정되었을 경우에, 현재 입력 부호가 나타내는 번호가 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 1 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는 상기 부호에 [0]인 2진 데이터가 합성되어 있다고 간주하는 단계;
    현재 입력한 부호가 나타내는 번호가, 상기 코드 북에 기억된 대표 벡터 데이터 중에서, 상기 기억 수단에 기억된 분할 지시 정보에 의해 상기 제 2 그룹에 소속되어 있다고 표시되는 대표 벡터 데이터의 번호일 경우에는, 상기 부호에 [1]인 2진 데이터가 합성되어 있다고 간주함으로써, 현재 입력 부호로부터 상기 합성 2진 데이터를 분리시키는 단계;
    상기 합성조건 판정처리를 하기 전에, 이전에 입력된 상기 부호에 대해 제 4 항에 기재된 변경조건 판정처리와 동일한 변경조건 판정처리를 수행하는 단계; 및
    상기 변경조건 판정처리에 의해 긍정 판단되었을 경우에, 상기 기억 수단에 기억시킬 분할 지시 정보를 제 4 항에 기재된 변경 규칙과 동일한 변경 규칙을 따라 변경하는 단계를 포함하는 것을 특징으로 하는 진동파의 복호화 방법.
KR10-2000-7007692A 1998-01-13 1998-01-30 진동파의 부호화 방법 및 복호화 방법 KR100478959B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1998-5150 1998-01-13
JP10005150A JP3022462B2 (ja) 1998-01-13 1998-01-13 振動波の符号化方法及び復号化方法
PCT/JP1998/000418 WO1999037028A1 (fr) 1998-01-13 1998-01-30 Codage d'onde vibratoire et procede

Publications (2)

Publication Number Publication Date
KR20010034083A KR20010034083A (ko) 2001-04-25
KR100478959B1 true KR100478959B1 (ko) 2005-03-25

Family

ID=11603258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7007692A KR100478959B1 (ko) 1998-01-13 1998-01-30 진동파의 부호화 방법 및 복호화 방법

Country Status (6)

Country Link
US (1) US6539356B1 (ko)
EP (1) EP1049259B1 (ko)
JP (1) JP3022462B2 (ko)
KR (1) KR100478959B1 (ko)
DE (1) DE69839312T2 (ko)
WO (1) WO1999037028A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375822B1 (ko) * 2000-12-18 2003-03-15 한국전자통신연구원 디지털 오디오의 워터마크 삽입/추출 장치 및 방법
US7310596B2 (en) 2002-02-04 2007-12-18 Fujitsu Limited Method and system for embedding and extracting data from encoded voice code
JP4330346B2 (ja) * 2002-02-04 2009-09-16 富士通株式会社 音声符号に対するデータ埋め込み/抽出方法および装置並びにシステム
US20030158730A1 (en) * 2002-02-04 2003-08-21 Yasuji Ota Method and apparatus for embedding data in and extracting data from voice code
JP2004069963A (ja) * 2002-08-06 2004-03-04 Fujitsu Ltd 音声符号変換装置及び音声符号化装置
JP2005202262A (ja) * 2004-01-19 2005-07-28 Matsushita Electric Ind Co Ltd 音声信号符号化方法、音声信号復号化方法、送信機、受信機、及びワイヤレスマイクシステム
EP1905004A2 (en) 2005-05-26 2008-04-02 LG Electronics Inc. Method of encoding and decoding an audio signal
EP1908057B1 (en) 2005-06-30 2012-06-20 LG Electronics Inc. Method and apparatus for decoding an audio signal
TWI405475B (zh) 2005-08-30 2013-08-11 Lg Electronics Inc 音頻訊號之編碼及解碼裝置及其方法、電腦可讀取媒體及其系統、及可代表該音頻訊號位元流中之資料結構
US8577483B2 (en) 2005-08-30 2013-11-05 Lg Electronics, Inc. Method for decoding an audio signal
US7788107B2 (en) 2005-08-30 2010-08-31 Lg Electronics Inc. Method for decoding an audio signal
JP4568363B2 (ja) 2005-08-30 2010-10-27 エルジー エレクトロニクス インコーポレイティド オーディオ信号デコーディング方法及びその装置
US7751485B2 (en) 2005-10-05 2010-07-06 Lg Electronics Inc. Signal processing using pilot based coding
US7696907B2 (en) 2005-10-05 2010-04-13 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7672379B2 (en) 2005-10-05 2010-03-02 Lg Electronics Inc. Audio signal processing, encoding, and decoding
EP1946299A4 (en) 2005-10-05 2009-12-02 Lg Electronics Inc METHOD AND APPARATUS FOR SIGNAL PROCESSING
US7646319B2 (en) 2005-10-05 2010-01-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
KR100857117B1 (ko) 2005-10-05 2008-09-05 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
US8068569B2 (en) 2005-10-05 2011-11-29 Lg Electronics, Inc. Method and apparatus for signal processing and encoding and decoding
US20070092086A1 (en) 2005-10-24 2007-04-26 Pang Hee S Removing time delays in signal paths
US8064722B1 (en) * 2006-03-07 2011-11-22 The United States Of America As Represented By The Secretary Of The Navy Method and system for analyzing signal-vector data for pattern recognition from first order sensors
DE102007007627A1 (de) * 2006-09-15 2008-03-27 Rwth Aachen Steganographie in digitalen Signal-Codierern
EP2082527B1 (en) * 2006-10-18 2014-09-24 Destiny Software Productions Inc. Methods for watermarking media data
CN101622666B (zh) * 2007-03-02 2012-08-15 艾利森电话股份有限公司 非因果后置滤波器
KR101595136B1 (ko) * 2008-02-20 2016-02-26 디-박스 테크놀러지스 인코포레이트 디지털 영화환경에서의 바이브로 키네틱 신호의 전송방법
JP4900402B2 (ja) * 2009-02-12 2012-03-21 富士通株式会社 音声符号変換方法及び装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5912499A (ja) 1982-07-12 1984-01-23 松下電器産業株式会社 音声符号化装置
KR100518470B1 (ko) * 1993-12-23 2005-12-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 적응성디더감산,숨겨진채널비트삽입및필터링을통한다중비트코드화디지탈음향의엔코딩방법및장치와,이방법과함께사용하기위한엔코딩및디코딩장치
US5530759A (en) 1995-02-01 1996-06-25 International Business Machines Corporation Color correct digital watermarking of images
US5684885A (en) * 1995-09-27 1997-11-04 Xerox Corporation Binary glyph codes based on color relationships
JPH10303A (ja) * 1996-06-19 1998-01-06 Tooman:Kk 油性廃液吸着剤
US5839098A (en) * 1996-12-19 1998-11-17 Lucent Technologies Inc. Speech coder methods and systems
JP3672143B2 (ja) * 1997-02-05 2005-07-13 日本電信電話株式会社 電子すかし作成方法
JP3055672B2 (ja) * 1997-02-14 2000-06-26 日本電気株式会社 画像データのエンコードシステム及び画像入力装置
JPH1144163A (ja) * 1997-07-28 1999-02-16 Takenaka Komuten Co Ltd 耐震扉
JP2000048478A (ja) * 1998-05-26 2000-02-18 Yamaha Corp ディジタルコピー制御方法及びそれを用いた装置
US6140947A (en) * 1999-05-07 2000-10-31 Cirrus Logic, Inc. Encoding with economical codebook memory utilization
JP3178463B2 (ja) * 1999-08-31 2001-06-18 ヤマハ株式会社 電子情報処理方法及びシステム並びに記録媒体

Also Published As

Publication number Publication date
DE69839312T2 (de) 2009-04-09
EP1049259A4 (en) 2005-07-06
DE69839312D1 (de) 2008-05-08
EP1049259A1 (en) 2000-11-02
JP3022462B2 (ja) 2000-03-21
EP1049259B1 (en) 2008-03-26
WO1999037028A1 (fr) 1999-07-22
JPH11205153A (ja) 1999-07-30
US6539356B1 (en) 2003-03-25
KR20010034083A (ko) 2001-04-25

Similar Documents

Publication Publication Date Title
KR100478959B1 (ko) 진동파의 부호화 방법 및 복호화 방법
Atal et al. Advances in speech coding
US7444283B2 (en) Method and apparatus for transmitting an encoded speech signal
US5550543A (en) Frame erasure or packet loss compensation method
CN1898723B (zh) 信号解码装置以及信号解码方法
US7072830B2 (en) Audio coder
Kheddar et al. High capacity speech steganography for the G723. 1 coder based on quantised line spectral pairs interpolation and CNN auto-encoding
JP2005338200A (ja) 音声・楽音復号化装置および音声・楽音復号化方法
EP0657872B1 (en) Speech decoder capable of reproducing background noise
US6768978B2 (en) Speech coding/decoding method and apparatus
Eriksson et al. Exploiting interframe correlation in spectral quantization: a study of different memory VQ schemes
CN100514394C (zh) 对于语音代码进行数据嵌入/抽取方法、装置以及系统
JPH1097295A (ja) 音響信号符号化方法及び復号化方法
JPH09152896A (ja) 声道予測係数符号化・復号化回路、声道予測係数符号化回路、声道予測係数復号化回路、音声符号化装置及び音声復号化装置
US6484139B2 (en) Voice frequency-band encoder having separate quantizing units for voice and non-voice encoding
US20040068404A1 (en) Speech transcoder and speech encoder
JP3355521B2 (ja) 音声符号化時の透かしビットの埋込方法
JPH07183857A (ja) 伝送システム
EP1298647A1 (en) A communication device and a method for transmitting and receiving of natural speech, comprising a speech recognition module coupled to an encoder
JP2931059B2 (ja) 音声合成方式およびこれに用いる装置
CN101320564B (zh) 数字语音通信系统
KR20050053704A (ko) 음향 채널 및 압축을 통한 데이터 통신
Moreau Tools for Signal Compression: Applications to Speech and Audio Coding
EP0662682A2 (en) Speech signal coding
JP3284874B2 (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: 20120223

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee