DE69839312T2 - Kodierverfahren für vibrationswellen - Google Patents

Kodierverfahren für vibrationswellen Download PDF

Info

Publication number
DE69839312T2
DE69839312T2 DE69839312T DE69839312T DE69839312T2 DE 69839312 T2 DE69839312 T2 DE 69839312T2 DE 69839312 T DE69839312 T DE 69839312T DE 69839312 T DE69839312 T DE 69839312T DE 69839312 T2 DE69839312 T2 DE 69839312T2
Authority
DE
Germany
Prior art keywords
code
vector data
data
representative
stored
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
DE69839312T
Other languages
English (en)
Other versions
DE69839312D1 (de
Inventor
Kineo Matsui
Munetoshi Yokosuka-shi IWAKIRI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kowa Co Ltd
Original Assignee
Kowa Co Ltd
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 Kowa Co Ltd filed Critical Kowa Co Ltd
Publication of DE69839312D1 publication Critical patent/DE69839312D1/de
Application granted granted Critical
Publication of DE69839312T2 publication Critical patent/DE69839312T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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)

Description

  • Technisches Gebiet der Erfindung und in Betracht gezogener Stand der Technik
  • Die Erfindung bezieht sich auf ein Codierverfahren zur Kombination und gemeinsamen Codierung einer Schwingungs- oder Vibrationswelle wie eines Sprachsignals mit anderen Daten wie den Textdaten eines Schriftstücks und Authentisierungs- bzw. Berechtigungsdaten, die einen Sender und ein Decodierverfahren bezeichnen.
  • Als Codiertechnik für die Übertragung und Speicherung von als Schwingungs- oder Vibrationswellen vorliegender Sprache ist bereits ein Verfahren bekannt, bei dem im Rahmen einer Vektorquantisierung (VQ) N Abtastwerte einer Sprachwellenform als N-dimensionaler Vektor betrachtet und dieser Vektor (d. h. aus N Abtastwerten bestehende Vektordaten sowie den Verlauf der Sprachwellenform für eine vorgegebene Zeitdauer angebende Vektordaten) zu einem Code codiert werden.
  • Bei einem solchen Codiersystem mit Vektorquantisierung erfolgt eine Sprachcodierung, indem die vorstehend beschriebenen Vektordaten sukzessiv eingegeben, bei der jeweiligen Eingabe der Vektordaten den jeweils eingegebenen Vektordaten nächstliegende repräsentative Vektordaten aus einem Codebuch oder einer Codeliste zur Speicherung einer Vielzahl von sukzessiv vornummerierten repräsentativen Vektordaten ausgewählt und die Nummer der ausgewählten repräsentativen Vektordaten angebende Binärdaten als der die eingegebenen Vektordaten bezeichnende Code ausgegeben werden.
  • Zur Sprachwiedergabe wird dann die Sprachwellenform wieder hergestellt, indem der codierte Code eingegeben, die repräsentativen Vektordaten mit der von dem Code aus dem bei der Codierung verwendeten Codebuch angegebenen Nummer bei jeder Eingabe des Codes extrahiert und die dem jeweils eingegebenen Code entsprechende Wellenform aus den extrahierten repräsentativen Vektordaten reproduziert werden.
  • Als repräsentative Codiersysteme, bei denen eine solche Vektorquantisierung erfolgt, lassen sich die CELP-Codierung (code excited linear prediction encoding) sowie die eine Übertragungsrate von 16 kBit/s aufweisende LD-CELP-Codierung (low delay code excited linear prediction encoding bzw. Low Delay-CELP-Codierung) der ITU-T-Empfehlung G.728 der internationalen Fernmeldeunion (ITU) und dergleichen anführen.
  • Die vorstehend genannte LD-CELP-Codierung basiert hierbei auf der CELP-Codierung und ist als ein Codierverfahren bekannt, bei dem auch bei einer niedrigen Bitrate nur eine geringe Codierverzögerung auftritt. Im übrigen sind die CELP-Codierung und die LD-CELP-Codierung im einzelnen z. B. in der Druckschrift 1 "Recommendation G.728, ITU (1982)", der Druckschrift 2 "High Efficiency Voice Encoding Technique for Digital Mobile Communication von Kazunori Ozawa, Kabushiki Kaisha Trikeps (1992)" der Druckschrift 3 "International Standard of Multimedia Encoding von Hiroshi Yasuda, Maruzen Co., Ltd. (1991)" und dergleichen beschrieben.
  • Da sich jedoch der digitale Code der mit Hilfe dieses Codiersystems codierten Sprache (d. h. der Sprachcode) auf einfache Weise vervielfältigen lässt, besteht die Gefahr einer unzulässigen Fremdverwendung, d. h. es besteht das grundsätzliche Problem, dass ein zuverlässiger Schutz von digitalisierten Abläufen mit Schwierigkeiten verbunden ist.
  • Zur Lösung dieses Problems ist in jüngerer Zeit als Gegenmaßnahme die Verwendung eines sogenannten elektronischen Wasserzeichens in Betracht gezogen worden, bei dem andere Daten wie einen Anrufer angebende Authentisierungsdaten geheim mit dem Sprachcode kombiniert und in ihn eingebettet werden.
  • Ein spezielles Verfahren, mit dessen Hilfe andere Daten geheim mit dem durch die vorstehend beschriebene Vektorquantisierung codierten Sprachcode kombiniert (in ihn eingebettet) werden können, ist jedoch nicht bekannt. Wenn nämlich diese anderen Daten einfach mit dem Sprachcode kombiniert werden, besteht mit hoher Wahrscheinlichkeit die Gefahr, dass diese eingebetteten anderen Daten auf einfache Weise von einem Dritten entschlüsselt werden können.
  • Wenn somit eine andere Schwingungs- oder Vibrationswelle als ein Sprachsignal, wie z. B. ein von einem Sensor, einem Messinstrument oder dergleich abgegebenes Analogsignal, durch Vektorquantisierung codiert werden soll, kann ein elektronisches Wasserzeichen zur Kombination des Codes mit anderen Daten wie den Authentisierungsdaten eines Benutzers und den Textdaten eines Schriftstücks nicht eingesetzt werden.
  • Die Erfindung ist unter Berücksichtigung dieses Problems konzipiert worden, wobei ihr die Aufgabe zu Grunde liegt, ein Verfahren zur Codierung einer Schwingungs- oder Vibrationswelle, bei dem während der Codierung einer Schwingungs- oder Vibrationswelle wie eines Sprachsignals durch Vektorquantisierung eine geheime Kombination der Schwingungs- oder Vibrationswelle mit anderen Daten erfolgen kann, sowie ein Verfahren zur Decodierung der Schwingungs- oder Vibrationswelle anzugeben, bei dem andere Daten dem mit Hilfe des Codierverfahrens erzeugten Code sicher und zuverlässig entnommen werden können.
  • Aus der US-A-5 649 054 ist es in diesem Zusammenhang bereits bekannt, zusätzliche Informationen in als irrelevant wahrgenommene Teile eines codierten Audiosignals hineinzucodieren.
  • Erfindung
  • Erfindungsgemäß werden Codierverfahren gemäß den Patentansprüchen 1 und 3 sowie Decodierverfahren gemäß den Patentansprüchen 5 bis 8 vorgeschlagen.
  • Bei einem zur Lösung der vorstehend beschriebenen Aufgabe ausgestalteten erfindungsgemäßen Vibrationswellencodierverfahren gemäß Patentanspruch 1 werden bei jeder Eingabe von die Wellenform einer Vibrationswelle für eine vorgegebene Zeitdauer bezeichnenden Vektordaten den jeweils eingegebenen Vektordaten nächstliegende repräsentative Vektordaten aus einem Codebuch oder einer Codeliste zur Speicherung einer Vielzahl von sukzessiv vornummerierten repräsentativen Vektordaten ausgewählt und die Nummer der ausgewählten repräsentativen Vektordaten angebende Binärdaten als der die derzeit eingegebenen Vektordaten bezeichnende Code ausgegeben.
  • Die Codierung der Schwingungs- oder Vibrationswelle erfolgt hierbei durch eine Vektorquantisierung gemäß den vorstehend beschriebenen CELP- oder LD-CELP-Codierungen, wobei jedoch während der Codierung die Informationen der Vibrationswelle mit anderen Informationen kombiniert werden, indem die die anderen Informationen darstellenden Daten in den Code eingebettet und in der nachstehend näher beschriebenen Weise ausgegeben werden.
  • Zunächst werden Teilungsbefehlsinformationen, die beinhalten, dass die in dem Codebuch gespeicherten repräsentativen Vektordaten entweder einer ersten Gruppe oder einer zweiten Gruppe angehören, in einer vorgegebenen Speichereinrichtung vorgespeichert.
  • Durch Auslesen von anderen, mit der Vibrationswelle zu kombinierenden Binärdaten vor der Auswahl der den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten, Auswahl der den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten aus lediglich denjenigen repräsentativen Vektordaten, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen bezeichneten ersten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, wenn die ausgelesenen Binärdaten "0" entsprechen, oder Auswahl der den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten aus lediglich denjenigen repräsentativen Vektordaten, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen bezeichneten zweiten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, wenn die ausgelesenen Binärdaten "1" entsprechen, wird sodann der die derzeit eingegebenen Vektordaten bezeichnende Code mit den ausgelesenen Binärdaten kombiniert.
  • Wenn somit die ausgelesenen Binärdaten den Wert "0" aufweisen, umfasst der ausgegebene Code Binärdaten, die eine Nummer der der ersten Gruppe angehörenden repräsentativen Vektordaten bezeichnen. Wenn dagegen die ausgelesenen Binärdaten den Wert "1" aufweisen, umfasst der ausgegebene Code Binärdaten, die eine Nummer der der zweiten Gruppe angehörenden repräsentativen Vektordaten bezeichnen.
  • Durch Umschaltung des Wählbereichs der repräsentativen Vektordaten in dem Codebuch auf die von den Teilungsbefehlsinformationen bestimmte erste Gruppe und zweite Gruppe in Abhängigkeit von den einzubeziehenden anderen Binärdaten werden bei dem erfindungsgemäßen Vibrationswellencodierverfahren somit die andere Informationen betreffenden Binärdaten mit dem die eingegebenen Vektordaten angebenden Code kombiniert bzw. in ihn eingebettet.
  • Mit Hilfe des erfindungsgemäßen Decodierverfahrens gemäß Patentanspruch 5 können dann die Vibrationswelle wieder hergestellt und die in der vorstehend beschriebenen Weise einbezogenen Binärdaten von dem durch das Codierverfahren gemäß Patentanspruch 1 erzeugten Code wieder getrennt werden.
  • Bei dem erfindungsgemäßen Decodierverfahren gemäß Patentanspruch 5 wird die Vibrationswelle wieder hergestellt, indem bei der jeweiligen sukzessiven Eingabe des durch das vorstehend beschriebene Codierverfahren erzeugten Codes die repräsentativen Vektordaten mit der von dem Code aus dem Codebuch gemäß Patentanspruch 1 angegebenen Nummer extrahiert und die dem derzeit eingegebenen Code entsprechende Wellenform aus den extrahierten repräsentativen Vektordaten reproduziert werden. Die Vibrationswelle wird hierbei im Rahmen eines Decodierablaufs reproduziert, der dem die Vektorquantisierung verwendenden Codiersystem entspricht.
  • Im einzelnen werden bei dem Decodierverfahren gemäß Patentanspruch 5 zunächst die gleichen Teilungsbefehlsinformationen wie die Teilungsbefehlsinformationen gemäß Patentanspruch 1 in eine vorgegebene Speichereinrichtung eingespeichert.
  • Zur Durchführung der vorstehend beschriebenen Decodierung werden die anderen Binärdaten von dem derzeit eingegebenen Code getrennt, indem bestimmt wird, dass der Code mit den Binärdaten "0" kombiniert ist, wenn die von dem derzeit eingegebenen Code bezeichnete Nummer der Nummer der repräsentativen Vektordaten entspricht, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen angegebenen ersten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, und bestimmt wird, dass der Code mit den Binärdaten "1" kombiniert ist, wenn die von dem derzeit eingegebenen Code bezeichnete Nummer der Nummer der repräsentativen Vektordaten entspricht, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen angegebenen zweiten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören.
  • Mit Hilfe des Decodierverfahrens gemäß Patentanspruch 5 erfolgt somit eine Reproduktion der Vibrationswelle, wobei die anderen Daten dem mit Hilfe des Codierverfahrens gemäß Patentanspruch 1 erzeugten Code sicher und zuverlässig entnommen werden können.
  • Bei Verwendung des Codierverfahrens gemäß Patentanspruch 1 und des Decodierverfahrens gemäß Patentanspruch 5 kann somit nur eine Person, die die Teilungsbefehlsinformationen zur Unterteilung der repräsentativen Vektordaten in dem Codebuch in zwei Gruppen kennt, die anderen Binärdaten von dem codierten Code trennen bzw. diesem entnehmen. Bei einer solchen Codierung der Schwingungs- oder Vibrationswelle besteht somit die Möglichkeit, eine geheime Kombination mit anderen Daten und anschließend eine geheime Extraktion der kombinierten Daten vorzunehmen.
  • Wenn darüber hinaus die Teilungsbefehlsinformationen derart eingestellt werden, dass die Nummern der der ersten Gruppe angehörenden repräsentativen Vektordaten und die Nummern der der zweiten Gruppe angehörenden repräsentativen Vektordaten zufallsverteilt sind, zeigen die von den codierten Codes angegebenen Nummern auch dann keine Abweichung, wenn z. B. sämtliche Codes mit den Binärdaten "0" kombiniert sind, wodurch sich die Gefahr, dass eine dritte Partei die Einbettung der anderen Daten bemerkt, in erheblichem Umfang verringert.
  • Außerdem weist das Codierverfahren gemäß Patentanspruch 1 den großen Vorteil auf, dass bei der Wiederherstellung der Vibrationswelle keine spezielle Verarbeitung erforderlich ist.
  • Wenn bei dem Codierverfahren gemäß Patentanspruch 1 jedoch die gleichen Teilungsbefehlsinformationen für eine längere Zeitdauer verwendet werden, treten einige Merkmale in jedem codierten Codebitwert auf, sodass eine dritte Partei möglicherweise bemerken kann, dass eine Kombination mit anderen Daten erfolgt ist.
  • Gemäß Patentanspruch 2 wird somit bei dem Codierverfahren gemäß Patentanspruch 1 in Bezug auf den zuvor ausgegebenen Code eine Änderungszustandsbestimmungsverarbeitung vorgenommen, bei der vor der Auswahl der den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten bestimmt wird, ob eine Bitfolge des Codes ein vorgegebenes Anordnungsmuster aufweist oder nicht. Wenn bei dieser Änderungszustandsbestimmungsverarbeitung eine bestätigende Bestimmung erhalten wird (d. h. wenn festgestellt wird, dass die Bitfolge des zuvor ausgegebenen Codes das vorgegebene Anordnungsmuster aufweist), werden die in der Speichereinrichtung zu speichernden Teilungsbefehlsinformationen gemäß einer vorgegebenen Änderungsregel verändert.
  • Wenn mit anderen Worten somit die Bitfolge des derzeit ausgegebenen Codes das vorgegebene Anordnungsmuster aufweist, werden die Teilungsbefehlsinformationen für die Kombination des nächsten ausgegebenen Codes mit anderen Binärdaten in Abhängigkeit von der vorgegebenen Änderungsregel verändert.
  • Gemäß dem Codierverfahren nach Patentanspruch 2 wird zu diesem Zweck bei jedem Auftreten des vorgegebenen Anordnungsmusters der Bitfolge des ausgegebenen Codes der Wählbereich (in Bezug auf die erste und zweite Gruppe) der repräsentativen Vektordaten in Abhängigkeit von den zu kombinierenden Binärdaten verändert, wodurch verhindert werden kann, dass gewisse Merkmale in den jeweiligen codierten Codebitwerten auftreten und sich auf diese Weise die Gefahr verringert, dass eine dritte Partei die Einbeziehung der anderen Daten bemerkt.
  • Mit Hilfe des Decodierverfahrens gemäß Patentanspruch 6 können dann die Vibrationswelle wieder hergestellt und die in der vorstehend beschriebenen Weise eingebetteten Binärdaten wieder von dem durch das Codierverfahren gemäß Patentanspruch 2 erzeugten Code getrennt werden.
  • Bei dem Decodierverfahren gemäß Patentanspruch 6 erfolgt in ähnlicher Weise wie bei dem Decodierverfahren gemäß Patentanspruch 5 eine Wiederherstellung der Vibrationswelle sowie eine Verarbeitung zur Trennung der anderen Binärdaten von dem eingegebenen Code (d. h. eine Trennungsverarbeitung, bei der bestimmt wird, dass der Code mit den Binärdaten "0" kombiniert ist, wenn die von dem derzeit eingegebenen Code bezeichnete Nummer der Nummer der repräsentativen Vektordaten entspricht, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen angegebenen ersten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, oder bestimmt wird, dass der Code mit den Binärdaten "1" kombiniert ist, wenn die von dem derzeit eingegebenen Code bezeichnete Nummer der Nummer der repräsentativen Vektordaten entspricht, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen bezeichneten zweiten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, und andere Binärdaten von dem derzeit eingegebenen Code getrennt werden).
  • Außerdem erfolgt jedoch bei dem Decodierverfahren gemäß Patentanspruch 6 vor der Durchführung der Trennungsverarbeitung in Bezug auf den derzeit eingegebenen Code bei dem vorher eingegebenen Code die gleiche Änderungszustandsbestimmungsverarbeitung wie die Änderungszustandsbestimmungsverarbeitung gemäß Patentanspruch 2. Wenn hierbei im Rahmen der Änderungszustandsbestimmungsverarbeitung eine bestätigende Bestimmung erhalten wird (d. h. wenn festgestellt wird, dass die Bitfolge des zuvor eingegebenen Codes das vorgegebene Anordnungsmuster aufweist), erfolgt eine Änderungsverarbeitung, bei der die in der Speichereinrichtung zu speichernden Teilungsbefehlsinformationen gemäß der gleichen Änderungsregel wie die Änderungsregel gemäß Patentanspruch 2 verändert werden.
  • Mit Hilfe des Decodierverfahrens gemäß Patentanspruch 6 können die Teilungsbefehlsinformationen entsprechend dem Codierverfahren gemäß Patentanspruch 2 verändert werden, sodass die anderen Binärdaten dem mit Hilfe des Codierverfahrens gemäß Patentanspruch 2 erzeugten Code sicher und zuverlässig entnommen werden können.
  • Wenn jedoch die Möglichkeit einer Entschlüsselung der kombinierten Daten durch eine dritte Partei in Betracht gezogen wird, so hat die Einbettung der anderen Binärdaten in sämtliche Codes auch einen nachteiligen Aspekt.
  • Bei dem Codierverfahren gemäß Patentanspruch 3 wird daher die Schwingungs- oder Vibrationswelle in ähnlicher Weise wie bei dem Codierverfahren gemäß Patentanspruch 1 durch die Vektorquantisierung codiert, wobei jedoch während der Codierung der ausgegebene Code mit anderen Daten im Rahmen des nachstehend näher beschriebenen Vorgangs kombiniert wird.
  • Ähnlich wie bei dem Codierverfahren gemäß Patentanspruch 1 werden hierbei die Teilungsbefehlsinformationen, die angeben, dass die in dem Codebuch gespeicherten repräsentativen Vektordaten jeweils der ersten Gruppe oder der zweiten Gruppe angehören, in die vorgegebene Speichereinrichtung eingespeichert.
  • Darüber hinaus wird vor der Auswahl der den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten eine Entstehungs- oder Synthesezustandsbestimmungsverarbeitung durchgeführt, bei der in Bezug auf den zuvor ausgegebenen Code bestimmt wird, ob die Bitfolge des Codes das vorgegebene Anordnungsmuster aufweist oder nicht.
  • Indem in ähnlicher Weise wie bei dem Codierverfahren gemäß Patentanspruch 1 die mit der Schwingungs- oder Vibrationswelle zu kombinierenden anderen Binärdaten nur dann ausgelesen werden, wenn im Rahmen der Entstehungs- oder Synthesezustandsbestimmungsverarbeitung eine bestätigende Bestimmung erfolgt (d. h. wenn festgestellt wird, dass die Bitfolge des zuvor ausgegebenen Codes das vorgegebene Anordnungsmuster aufweist), die den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten nur aus denjenigen repräsentativen Vektordaten ausgewählt werden, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen bezeichneten ersten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, wenn die ausgelesenen Binärdaten "0" ensprechen, oder die den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten nur aus denjenigen repräsentativen Vektordaten ausgewählt werden, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen bezeichneten zweiten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, wenn die ausgelesenen Binärdaten "1" entsprechen, werden die ausgelesenen Binärdaten sodann mit dem die derzeit eingegebenen Vektordaten angebenden Code kombiniert.
  • Anders ausgedrückt werden bei dem Codierverfahren gemäß Patentanspruch 3 die anderen Binärdaten in den nächsten auszugebenden Code nur dann eingebettet, wenn die Bitfolge des derzeit ausgegebenen Codes das vorgegebene Anordnungsmuster aufweist.
  • Darüber hinaus kann bei dem Codierverfahren gemäß Patentanspruch 3 der mit den anderen Binärdaten zu kombinierende Code auch in unregelmäßiger Weise begrenzt bzw. eingeschränkt werden, wodurch sich die Gefahr einer Entschlüsselung der kombinierten Daten durch eine dritte Partei weiter verringert, da eine dritte Partei, die den Bestimmungsinhalt der Entstehungs- oder Synthesezustandsbestimmungsverarbeitung nicht kennt, auch den mit den anderen Binärdaten kombinierten Code nicht spezifizieren kann.
  • Mit Hilfe des Decodierverfahrens gemäß Patentanspruch 7 können dann die Schwingungs- bzw. Vibrationswelle wieder hergestellt und die in der vorstehend beschriebenen Weise generierten Binärdaten von dem mit Hilfe des Codierverfahrens gemäß Patentanspruch 3 erzeugten Code wieder getrennt werden.
  • Bei dem Decodierverfahren gemäß Patentanspruch 7 wird die Schwingungs- bzw. Vibrationswelle in ähnlicher Weise wie bei dem Decodierverfahren gemäß Patentanspruch 5 durch einen Decodierablauf reproduziert, der dem mit Vektorquantisierung arbeitenden Codiersystem entspricht. Ferner werden bei dem Decodierverfahren gemäß Patentanspruch 7 die gleichen Teilungsbefehlsinformationen wie die Teilungsbefehlsinformationen gemäß Patentanspruch 3 in die vorgegebene Speichereinrichtung eingespeichert.
  • Wenn bei dem Decodierverfahren gemäß Patentanspruch 7 die Eingabe des mit Hilfe des Codierverfahrens gemäß Patentanspruch 3 erzeugten Codes erfolgt, wird in Bezug auf den zuvor eingegebenen Code die gleiche Entstehungs- oder Synthesezustandsbestimmungsverarbeitung wie die Entstehungs- bzw. Synthesezustandsbestimmungsverarbeitung gemäß Patentanspruch 3 durchgeführt.
  • Wenn hierbei im Rahmen der Entstehungs- bzw. Synthesezustandsbestimmungsverarbeitung eine bestätigende Bestimmung erhalten wird (d. h. wenn festgestellt wird, dass die Bitfolge des zuvor eingegebenen Codes das vorgegebene Anordnungsmuster aufweist), werden die anderen Binärdaten von dem derzeit eingegebenen Code getrennt, indem bestimmt wird, dass der Code mit den Binärdaten "0" kombiniert ist, wenn die von dem derzeit eingegebenen Code bezeichnete Nummer der Nummer der repräsentativen Vektordaten entspricht, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen angegebenen ersten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören, und dass der Code mit den Binärdaten "1" kombiniert ist, wenn die von dem derzeit eingegebenen Code bezeichnete Nummer der Nummer der repräsentativen Vektordaten entspricht, die der von den in der Speichereinrichtung gespeicherten Teilungsbefehlsinformationen angegebenen zweiten Gruppe der in dem Codebuch gespeicherten repräsentativen Vektordaten angehören.
  • Mit Hilfe des Decodierverfahrens gemäß Patentanspruch 7 können somit die Schwingungs- bzw. Vibrationswelle reproduziert und die anderen Daten dem im Rahmen des Codierverfahrens gemäß Patentanspruch 3 erzeugten Code sicher und zuverlässig entnommen werden.
  • Gemäß dem Codierverfahren nach Patentanspruch 4 wird bei dem Codierverfahren gemäß Patentanspruch 3 in ähnlicher Weise wie bei dem Codierverfahren gemäß Patentanspruch 2 vor der Auswahl der den derzeit eingegebenen Vektordaten nächstliegenden repräsentativen Vektordaten in Bezug auf den zuvor ausgegebenen Code die Änderungszustandsbestimmungsverarbeitung durchgeführt, bei der bestimmt wird, ob die Bitfolge des Codes das vorgegebene Anordnungsmuster aufweist oder nicht. Wenn im Rahmen der Änderungszustandsbestimmungsverarbeitung eine bestätigende Bestimmung erhalten wird (d. h. wenn festgestellt wird, dass die Bitfolge des zuvor ausgegebenen Codes das vorgegebene Anordnungsmuster aufweist), werden die in die Speichereinrichtung einzuspeichernden Teilungsbefehlsinformationen gemäß der vorgegebenen Änderungsregel verändert.
  • Durch das Codierverfahren gemäß Patentanspruch 4 kann in ähnlicher Weise wie bei dem Codierverfahren gemäß Patentanspruch 2 verhindert werden, dass einige Merkmale in jedem codierten Codebitwert auftreten, wodurch die Gefahr weiter verringert wird, dass eine dritte Partei die Einbettung von anderen Daten bemerkt.
  • Durch das Decodierverfahren gemäß Patentanspruch 8 können dann die Schwingungs- bzw. Vibrationswelle wieder hergestellt und die in der vorstehend beschriebenen Weise generierten Binärdaten von dem im Rahmen des Codierverfahrens gemäß Patentanspruch 4 erzeugten Code wieder getrennt werden.
  • Bei dem Decodierverfahren gemäß Patentanspruch 8 werden im Rahmen des gleichen Ablaufs wie bei dem Decodierverfahren gemäß Patentanspruch 7 die Schwingungs- bzw. Vibrationswelle wieder hergestellt und die anderen Binärdaten durch eine im Rahmen der Entstehungs- bzw. Synthesezustandsbestimmungsverarbeitung erhaltene bestätigende Bestimmung von dem derzeit eingegebenen Code wieder getrennt. Außerdem erfolgt in Bezug auf den zuvor eingegebenen Code vor der Durchführung der Entstehungs- bzw. Synthesezustandsbestimmungsverarbeitung die gleiche Änderungszustandsbestimmungsverarbeitung wie die Änderungszustandsbestimmungsverarbeitung gemäß Patentanspruch 4. Wenn im Rahmen der Änderungszustandsbestimmungsverarbeitung eine bestätigende Bestimmung erhalten wird, werden die in die Speichereinrichtung einzuspeichernden Teilungsbefehlsinformationen gemäß der gleichen Änderungsregel wie die Änderungsregel nach Patentanspruch 4 verändert.
  • Mit Hilfe des Decodierverfahrens gemäß Patentanspruch 8 können die Teilungsbefehlsinformationen in der gleichen Weise wie bei dem Codierverfahren gemäß Patentanspruch 4 verändert werden, sodass die anderen Binärdaten dem im Rahmen des Codierverfahrens gemäß Patentanspruch 4 erzeugten Code sicher und zuverlässig entnommen werden können.
  • In den Zeichnungen zeigen:
  • 1 ein Blockschaltbild eines digitalen Telefons gemäß einem Ausführungsbeispiel,
  • 2 ein Blockschaltbild, das die grundsätzliche Sprachcodierverarbeitung und Sprachdecodierverarbeitung bei einem Codierer und einem Decodierer gemäß 1 veranschaulicht,
  • 3 eine schematische Darstellung, die ein Wellenform-Codebuch und Teilungsschlüsseldaten kidx veranschaulicht,
  • 4 ein Schaubild, das die Erscheinungsrate des Bits "1" in den jeweiligen Bitstellen eines Sprachcodes veranschaulicht,
  • 5 ein Ablaufdiagramm einer ersten Hälfte des Betriebsablaufs des Codierers,
  • 6 ein Ablaufdiagramm einer zweiten Hälfte des Betriebsablaufs des Codierers,
  • 7 ein Ablaufdiagramm des Betriebsablaufs des Decodierers,
  • 8 ein Schaubild eines Versuchsergebnisses, das die Beziehung zwischen einer Einbettungsdichte und SNRseg veranschaulicht,
  • 9 ein Diagramm, das den erhaltenen Verlauf einer Sprachwellenform veranschaulicht, und
  • 10 ein Schaubild, das die Erscheinungsrate des Bits "1" in den jeweiligen Bitstellen des mit einer Einbettung versehenen Sprachcodes veranschaulicht.
  • Beste Ausführungsform der Erfindung
  • Nachstehend wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die Zeichnungen näher beschrieben. Dieses Ausführungsbeispiel der Erfindung stellt natürlich keine Beschränkung in Bezug auf weitere Ausführungsbeispiele dar, wobei selbstverständlich verschiedene Ausführungsformen im Rahmen der durch die Patentansprüche definierten technischen Lehre der Erfindung in Betracht gezogen werden können.
  • 1 zeigt ein Blockschaltbild eines digitalen Telefons gemäß diesem Ausführungsbeispiel (das nachstehend vereinfacht als Telefon bezeichnet wird). Gemäß diesem Ausführungsbeispiel bezieht sich die Erfindung auch auf ein tragbares digitales Telefon, bei dem die Codierung und Decodierung einer Sprachwellenform im Rahmen des eine Übertragungsrate von 16 kBit/s aufweisenden und vorstehend bereits genannten LD-CELP-Systems gemäß der ITU-T-Empfehlung G.728 erfolgen (auf die nachstehend vereinfacht in Form der Abkürzung G.728 LD-CELP Bezug genommen wird). Ein weiteres Telefon 3, auf das in der nachstehenden Beschreibung ebenfalls Bezug genommen wird, ist in der gleichen Weise wie das Telefon gemäß 1 aufgebaut, was in 1 durch die in Klammern gesetzte Bezugszahl veranschaulicht ist.
  • Gemäß 1 umfasst das Telefon 1 bei diesem Ausführungsbeispiel eine Spracheingabeeinrichtung 5 zur Spracheingabe und Durchführung einer Abtastung in vorgegebenen Zeitintervallen (bei diesem Ausführungsbeispiel mit einer Frequenz von 8 kHz, d. h. in Intervallen von 0,125 ms) zur sukzessiven Ausgabe eines den jeweiligen Amplitudenwert der Sprachwellenform angebenden digitalen Sprachsignals s, eine Zeicheneingabeeinrichtung 7 mit einer Anzahl von Eingabetasten zur Eingabe von Schriftzeichen und sukzessiven Speicherung einer Bitfolge tx von Textdaten, die den über die Eingabetasten eingegebenen Schriftzeichen entsprechen, einen Codierer 9 zur sukzessiven Aufnahme der von der Spracheingabeeinrichtung 5 zugeführten digitalen Sprachsignale s, Codierung der digitalen Sprachsignale s durch G.728 LD-CELP, Einbettung der jeweiligen Bits der in der Zeicheneingabeeinrichtung 7 gespeicherten Bitfolge tx in codierte Codes und Ausgabe eines zu übertragenden Sprachcodes c, sowie einen Sender/Empfänger 13, über den eine Funkmodulation des von dem Codierer 9 ausgegebenen Sprachcodes c zum Senden eines Ausgangssignals über eine Antenne 11, der Empfang eines von dem anderen Telefon 3 über eine (nicht dargestellte) Zwischenstation übertragenen bzw. gesendeten Funksignals über die Antenne 11, die Demodulation des Empfangssignals und die Ausgabe eines von dem anderen Telefon 3 erhaltenen Sprachcodes c' erfolgen.
  • Außerdem umfasst das Telefon 1 einen Decodierer 15 zur sukzessiven Eingabe des von dem anderen Telefon 3 über den Sender/Empfänger 13 zugeführten Sprachcodes c', Decodierung des Sprachcodes c' durch G.728 LD-CELP zur Ausgabe eines digitalen Sprachsignals s' und Entnahme und Ausgabe der jeweiligen Bits einer Bitfolge tx' von Textdaten aus dem Sprachcode c', eine Sprachausgabeeinrichtung 17 zur Reproduktion und Sprachausgabe des von dem Decodierer 15 abgegebenen digitalen Sprachsignals s' sowie eine Anzeigeeinrichtung 19 zur Reproduktion und Wiedergabe der Zeichen der von dem Decodierer 15 abgegebenen Bitfolge tx'.
  • Nachstehend wird unter Bezugnahme auf 2 die grundlegende Verarbeitung der im Rahmen von G.728 LD-CELP bei dem Codierer 9 und dem Decodierer 15 erfolgenden Sprachcodierung und Sprachdecodierung näher beschrieben. 2(A) zeigt hierbei ein Blockschaltbild, das die bei dem Codierer 9 erfolgende Verarbeitung veranschaulicht, während 2(B) ein Blockschaltbild zeigt, das die bei dem Decodierer 15 erfolgende Verarbeitung veranschaulicht. In der Praxis besteht der Hauptteil des Codierers 9 und des Decodierers 15 aus einem bekannten Mikrocomputer oder einem digitalen Signalprozessor (DSP).
  • Wie in der vorstehend genannten Druckschrift 1 beschrieben ist, stellt G.728 LD-CELP ein System dar, bei dem das Format eines Datenblocks auf 5 Abtastungen eingestellt ist (d. h. 5 digitale Sprachsignale s, die durch eine Abtastung mit einer Frequenz von 8 kHz erhalten werden, bilden jeweils einen Datenblock) und eine geringere Verzögerung in Verbindung mit einer hohen Sprachqualität realisierbar sind. Außerdem wird bei G.728 LD-CELP jeder Datenblock des digitalen Sprachsignals s derart codiert, dass der Sprachcode c in Form von 10 Stellen (10 Bits) umfassenden Daten gebildet wird.
  • Weiterhin stellt in der nachstehenden Beschreibung der Begriff (n) eine Rang- oder Reihenfolgebezeichnung dar, die den Rang oder die Reihenfolge eines jeden Datenblocks des digitalen Sprachsignals s angibt. So ist z. B. mit "c(n)" der 10 Bit-Sprachcode c bezeichnet, der dem n-ten Datenblock des digitalen Sprachsignals s entspricht.
  • Wie in 2(A) dargestellt ist, umfasst der Codierer 9 zur Durchführung einer Sprachcodierung im Rahmen von G.728 LD-CELP einen PCM-Umsetzer 21 zur sukzessiven Eingabe des von der Spracheingabeeinrichtung 5 erhaltenen digitalen Sprachsignals s (das nachstehend auch als Eingangssprachsignal bezeichnet wird), Umsetzung des Signals s in ein PCM-Signal und Ausgabe dieses Signals, einen Vektor-Pufferspeicher 23 zur Speicherung der sukzessiv von dem PCM-Umsetzer 21 abgegebenen jeweiligen 5 PCM-Signale (d. h. eines jeden Datenblocks) und Ausgabe der 5 PCM-Signale als Vektordaten x(n), die einen (nachstehend als VQ-Zielvektor bezeichneten) fünfdimensionalen Vektor als Vektorquantisierungsobjekt angeben, und ein Erregungswellenform-Codebuch 25 zur Speicherung von 1024 Arten von repräsentativen Vektordaten, die ausgehend von 0 aufeinanderfolgend vornummeriert sind. Das Erregungswellenform-Codebuch 25 wird hierbei von einem in dem Codierer 9 angeordneten nichtflüchtigen Speicher wie einem Festspeicher (ROM) gebildet.
  • Zum Suchen und Auswählen der dem VQ-Zielvektor x(n) nächstliegenden repräsentativen Vektordaten aus dem Erregungswellenform-Codebuch 25 auf der Basis einer auf einer Analyse durch Synthese (AbS) beruhenden Technik umfasst der Codierer 9 einen Verstärker 27 zur Verstärkung des von den aus dem Erregungswellenform-Codebuch 25 ausgewählten repräsentativen Vektordaten angegebenen Signals mit einer von einem rückwärtsadaptiven Verstärkungsregler 29 eingestellten rückwärtsadaptiven zehndimensionalen Verstärkung σ(n), einen Filterabschnitt 31 und einen rückwärtsadaptiven Prädiktor 33, die ein rückwärtsadaptives 50-dimensionales lineares Prädiktionsfilter F(z) zur Filterung des Ausgangssignals des Verstärkers 27 bilden, einen Addierer 35 zur Bildung einer Differenz zwischen dem von dem Vektor-Pufferspeicher 23 erhaltenen VQ-Zielvektor x(n) und der Ausgangsgröße des Filterabschnitts 31, einen Filterabschnitt 37, der ein akustisches Gewichtungsfilter W(z) zur Filterung der Ausgangsgröße des Addierers 35 bildet, und eine Sucheinrichtung 39 zur Umschaltung der dem Verstärker 27 zuzuführenden repräsentativen Vektordaten des Erregungswellenform-Codebuchs 25 auf der Basis der Ausgangsgröße des Filterabschnitts 37 und Zuführung der die Nummer der repräsentativen Vektordaten angebenden 10 Bit-Binärdaten in Form des den VQ-Zielvektor x(n) angebenden Sprachcodes c(n) zu dem Sender/Empfänger 13, wenn die dem VQ-Zielvektor x(n) nächstliegenden repräsentativen Vektordaten ermittelt werden können.
  • Nachstehend wird der grundlegende Ablauf einer von dem Codierer 9 durchgeführten Verarbeitung näher beschrieben, bei der aus dem Erregungswellenform-Codebuch 25 dem von dem n-ten Eingangssprachvektor v(n) (d. h. von einer den n-ten Datenblock bildenden Gruppe von 5 Eingangssprachsignalen s) gebildeten VQ-Zielvektor x(n) nächstliegende repräsentative Vektordaten y(n) ausgewählt und die die Nummer der ausgewählten repräsentativen Vektordaten y(n) angebenden Binärdaten in Form des Sprachcodes c(n) ausgegeben werden. Dieser Ablauf ist auch in der vorstehend genannten Druckschrift 1 beschrieben.
  • Zunächst wird bei diesem Ausführungsbeispiel in Übereinstimmung mit der ITU-T-Empfehlung G.728 das Erregungswellenform-Codebuch 25 zur Unterstützung der Auswahl der repräsentativen Vektordaten y(n) in zwei voneinander unabhängige Codebücher unterteilt, nämlich in ein Wellenform-Codebuch (siehe 3) zur Speicherung von 128 Arten von repräsentativen Vektordaten, die die Wellenform in Form eines Wellenformcodes yj angeben, wobei j durch j = 0, 1, ..., 127 gegeben ist, und in ein Verstärkungs-Codebuch zur Speicherung von 8 Arten von repräsentativen Vektordaten, die Wellenformpolaritäten und technische Werte in Form eines Verstärkungscodes gi angeben, wobei i durch i = 0, 1, ..., 7 gegeben ist.
  • Hierbei ist mit "j" die Nummer des in dem Wellenform-Codebuch gespeicherten Wellenformcodes yj bezeichnet, während mit "i" die Nummer des in dem Verstärkungs-Codebuch gespeicherten Verstärkungscodes gi bezeichnet ist.
  • Bei dem Codierer 9 findet das rückwärtsadaptive 50-dimensionale lineare Prädiktionsfilter F(z) in Verbindung mit dem n-ten Eingangssprachvektor v(n), dem akustischen Gewichtungsfilter W(z) und der rückwärtsadaptiven 10-dimensionalen Verstärkung σ(n) Verwendung, wobei eine Suche auf der Basis einer auf Analyse durch Synthese (AbS) beruhenden Technik durchgeführt wird.
  • Indem ein Filter H(z) des rückwärtsadaptiven linearen Prädiktionsfilters F(z) und des akustischen Gewichtungsfilters W(z) auf H(z) = F(z)W(z) eingestellt und eine durch die nachstehende Gleichung 1 angegebene Matrix H einer Impulscharakteristik bzw. Impulsverhaltensfolge h(k) gebildet werden, wobei k durch k = 0, 1, ..., 4 gegeben ist, wird hierbei zunächst eine Ausgangsgröße oxij des Filterabschnitts 31 erhalten, die durch die nachstehende Gleichung 2 gegeben ist.
    Figure 00230001
    oxij = σ(n)·gi·H·yj Gleichung 2
  • Anschließend wird oxij zur Suche von i, j verwendet, durch die die in der nachstehenden Gleichung 3 angegebene Größe D minimal gehalten wird. Für x'(n) gilt hierbei in Gleichung 3x'(n) = x(n)/σ(n). D = ||x(n) – oxij||2 = σ2(n)||x'(n) – gi·H·yj||2 Gleichung 3
  • Gleichung 3 lässt sich sodann in die nachstehende Gleichung 4 umwandeln. D = σ2(n)[||x'(n)||2 – 2·gi·x'T(n)·H·yj + gi2||H·yj||2] Gleichung 4
  • Da in diesem Fall die Werte von ||x'(n)||2 und σ2(n) während der Suche der optimalen repräsentativen Vektordaten y(n) konstant sind, enspricht die Minimalisierung von D der Minimalisierung von D' gemäß der nachstehenden Gleichung 5. –2·gi·pT(n)·yj + gi2·Ej. Gleichung 5
  • Weiterhin ist p(n) durch die nachstehende Gleichung 6 gegeben, während Ej durch die nachstehende Gleichung 7 gegeben ist. p(n) = HT·x'(n) Gleichung 6 Ej = ||H·yj||2 Gleichung 7
  • Ej hängt hierbei nicht von x'(n) sondern nur von der Matrix H gemäß Gleichung 1 ab. Wenn somit bei dem Codierer 9 die Berechnung von Ej mit j = 0, 1, ..., 127 gemäß der ITU-T-Empfehlung G.728 nur bei einer Aktualisierung des Filters H(z) vorgenommen wird, ergibt sich eine erhebliche Verringerung der erforderlichen Rechenleistung. Wenn darüber hinaus bi, ci gemäß der nachstehenden Gleichung 8 vorher berechnet werden, lässt sich eine weitere Vereinfachung der Rechenverarbeitung erzielen. bi = 2·gi, ci = gi2; i = 0, 1, ..., 7 Gleichung 8
  • Auf diese Weise lässt sich D' gemäß Gleichung 5 in der durch die nachstehende Gleichung 9 angegebenen Weise darstellen. Für Pj gilt hierbei in Gleichung 9 Pj = pT(n)·yj. D' = –bi·Pj + ci·Ej. Gleichung 9
  • Unter Verwendung von Gleichung 9 wertet der Codierer 9 sodann D' in Bezug auf sämtliche Kombinationen von i und j aus, bestimmt zur Minimalisierung von D' einen Verstärkungscode gi (der nachstehend als gimin bezeichnet wird) und einen Wellenformcode yj (der nachstehend als yjmin bezeichnet wird), bildet y(n) = gimin yjmin und berechnet die optimalen repräsentativen Vektordaten y(n) in dem Erregungswellenform-Codebuch 25.
  • Außerdem verbindet der Codierer 9 die die Nummer imin des Verstärkungscodes gimin angebenden 3 Bit-Binärdaten mit den die Nummer jmin des Wellenformcodes yjmin angebenden 7 Bit-Binärdaten in dieser Reihenfolge zur Bildung des 10 Bit-Sprachcodes c(n) und gibt sodann diesen Sprachcode c(n) aus.
  • Wenn dagegen kein Übertragungsfehler bei der Übertragungsstrecke vorliegt, wird der von dem Codierer 9 des anderen Telefons 3 ausgegebene Sprachcode c'(n), der dem Sprachcode c(n) entspricht, über die Antenne 11 und den Sender/Empfänger 13 aufeinanderfolgend dem Decodierer 15 zugeführt.
  • Zur Durchführung einer Sprachdecodierung im Rahmen von G.728 LD-CELP umfasst der Decodierer 15 gemäß 2(B) ein Erregungswellenform-Codebuch 41, das dem auf der Seite des Codierers 9 vorgesehenen Erregungswellenform-Codebuch 25 entspricht. Das Erregungswellenform-Codebuch 41 besteht hierbei ebenfalls aus einem in dem Decodierer 15 angeordneten nichtflüchtigen Speicher wie einem Festspeicher (ROM).
  • Außerdem umfasst der Decodierer 15 einen Verstärker 43, einen rückwärtsadaptiven Verstärkungsregler 45, einen Filterabschnitt 47 und einen rückwärtsadaptiven Prädiktor 49, die dem Verstärker 27, dem rückwärtsadaptiven Verstärkungsregler 29, dem Filterabschnitt 31 und dem rückwärtsadaptiven Prädiktor 33 des Decodierers 9 entsprechen, und weist ferner ein Nachfilter 51 zur weiteren Filterung der Ausgangsgröße des Filterabschnitts 47 sowie einen PCM-Rückumsetzer 53 zur Erzeugung des den jeweiligen Amplitudenwert der Sprachwellenform angebenden digitalen Sprachsignals s' aus dem Ausgangssignal des Nachfilters 51 und Zuführung dieses Signals zu der Sprachausgabeeinrichtung 17 auf.
  • Bei jeder Eingabe des Sprachcodes c'(n) von dem anderen Telefon 3 entnimmt der Decodierer 15 dem Erregungswellenform-Codebuch 41 die repräsentativen Vektordaten mit der von dem Sprachcode c'(n) angegebenen Nummer, reproduziert auf der Basis der erhaltenen repräsentativen Vektordaten mit Hilfe des Verstärkers 43, des rückwärtsadaptiven Verstärkungsreglers 45, des Filterabschnitts 47, des rückwärtsadaptiven Prädiktors 49, des Nachfilters 51 und des PCM-Rückumsetzers 53 das digitale Sprachsignal s'(n) für einen dem Sprachcode c'(n) entsprechenden Datenblock und führt das gebildete Signal der Sprachausgabeeinrichtung 17 zu.
  • Wie vorstehend beschrieben, werden von dem Codierer 9 und dem Decodierer 15 der Telefone 1 und 3 gemäß diesem Ausführungsbeispiel eine Sprachcodierung und Sprachdecodierung im Rahmen von G.728 LD-CELP durchgeführt, wobei jedoch bei den Telefonen 1 und 3 dieses Ausführungsbeispiels in der in den nachstehenden Abschnitten <1> bis <3> näher beschriebenen Weise der Codierer 9 den auszugebenden Sprachcode c mit den jeweiligen Bits der Bitfolge tx der in der Zeicheneingabeeinrichtung 7 gespeicherten Textdaten kombiniert und der Decodierer 15 die Bits der Bitfolge tx' der Textdaten von dem eingegebenen Sprachcode c' trennt bzw. extrahiert.
    • <1> Zunächst wird auf das grundlegende Prinzip der Kombination des Sprachcodes c mit den Textdatenbits näher eingegangen.
  • Bei diesem Ausführungsbeispiel werden Teilungsschlüsseldaten kidx, die angeben, dass die in dem vorstehend beschriebenen Wellenform-Codebuch gespeicherten jeweiligen Wellenformcodes yj mit j = 0, 1, ..., 127 einer ersten Gruppe oder einer zweiten Gruppe angehören, als Teilungsbefehlsinformationen in dem bei dem Codierer 9 und dem Decodierer 15 vorgesehenen (nicht dargestellten) Festspeicher (ROM) vorgespeichert, wobei der Codierer 9 und der Decodierer 15 die Teilungsschlüsseldaten kidx von dem Festspeicher (ROM) zur weiteren Verwendung zu einer Speichereinrichtung wie einem (nicht dargestellten) Arbeitsspeicher (RAM) übertragen.
  • Wie in 3 veranschaulicht ist, umfassen die Teilungsschlüsseldaten kidx die gleiche Binärzahl mit 128 Stellen (128 Bits) wie die Nummer des in dem Wellenform-Codebuch gespeicherten Wellenformcodes yj mit j = 0, 1, ..., 127, wobei die jeweiligen Wellenformcodes yj mit j = 0, 1, ..., 127 in der Reihenfolge von dem Bit höchster Wertigkeit die Werte "0" oder "1" aufweisen. Gemäß diesem Ausführungsbeispiel ist bei den jeweiligen Bits der Teilungsschlüsseldaten kidx der einem Bit mit dem Wert "0" entsprechende Wellenformcode yj der ersten Gruppe zugeordnet, während der einem Bit mit dem Wert "1" entsprechende Wellenformcode yj der zweiten Gruppe zugeordnet ist.
  • Wenn hierbei ausgehend von dem höchsten Bit der Teilungsschlüsseldaten kidx das j-te Bit (d. h. der Bitwert der Teilungsschlüsseldaten kidx, der dem j-ten Wellenformcode yj entspricht) mit kidx(j) bezeichnet wird, erfolgt über den Codierer 9 eine Kombination des Sprachcodes c(n) mit den Textdatenbits im Rahmen des nachstehend näher beschriebenen Syntheseverfahrens.
  • Syntheseverfahren
  • Wenn das zu kombinierende Bit den Wert "0" aufweist, wird yjmin (d. h. der Wellenformcode yj, durch den D' gemäß den Gleichungen 5 und 9 minimiert wird) nur aus dem Wellenformcode yj gewählt, der kidx(j) = "0" erfüllt (d. h. aus dem Wellenformcode yj, der der von den Teilungsschlüsseldaten kidx angegebenen ersten Gruppe angehört), während bei einem zu kombinierenden Bit mit dem Wert "1" yjmin nur aus dem Wellenformcode yj ausgewählt wird, der kidx(j) = "1" erfüllt (d. h. aus dem Wellenformcode yj, der der von den Teilungsschlüsseldaten kidx angegebenen zweiten Gruppe angehört), sodass der den derzeit eingegebenen VQ-Zielvektor x(n) angebende Sprachcode c(n) mit diesem Textdatenbit kombiniert wird.
  • Wenn bei der auf diese Weise erfolgenden Einbettung eines Textdatenbits das Bit "0" einzubetten ist, bilden die unteren 7 Bits des auszugebenden Sprachcodes c(n) (d. h. j in dem Sprachcode c(n)) die Binärdaten, die eine Nummer des der ersten Gruppe angehörenden Wellenformcodes yj angeben, während bei der Einbettung eines Bits mit dem Wert "1" die unteren 7 Bits des auszugebenden Sprachcodes c(n) die Binärdaten bilden, die eine Nummer des der zweiten Gruppe angehörenden Wellenformcodes yj bezeichnen.
  • Bei diesem Ausführungsbeispiel wird somit durch Umschaltung des Wählbereichs der Wellenformcodes yj mit j = 0, 1, ..., 127 des Wellenform-Codebuchs auf die von den Teilungsschlüsseldaten kidx bestimmte erste und zweite Gruppe in Abhängigkeit von dem Wert des einzubettenden Bits ein Textdatenbit mit dem Sprachcode c(n) kombiniert bzw. in ihn eingebettet.
  • Der Decodierer 15 trennt/extrahiert dann das eingebettete Bit aus dem mit dem Textdatenbit in der vorstehend beschriebenen Weise kombinierten Sprachcode c'(n) im Rahmen des nachstehend näher beschriebenen Trennverfahrens.
  • Trennverfahren
  • Wenn die unteren 7 Bits des Sprachcodes c'(n) (d. h. j in dem Sprachcode c'(n)) die Binärdaten darstellen, die gemäß den Teilungsschlüsseldaten kidx eine Nummer des der ersten Gruppe angehörenden Wellenformcodes yj angeben, wird festgelegt, dass der Sprachcode c'(n) mit dem Bit des Wertes "0" zu kombinieren ist, während in dem Fall, dass die unteren 7 Bits des Sprachcodes c'(n) die Binärdaten darstellen, die gemäß den Teilungsschlüsseldaten kidx eine Nummer des der zweiten Gruppe angehörenden Wellenformcodes yj bezeichnen, die Festlegung getroffen wird, dass der Sprachcode c'(n) mit dem Bit des Wertes "1" zu kombinieren ist, wobei dieses Textdatenbit dann entsprechend von dem Sprachcode c'(n) getrennt wird.
  • Da bei dem vorstehend beschriebenen Ausführungsbeispiel somit der dem Bit "0" der Teilungsschlüsseldaten kidx entsprechende Wellenformcode yj der ersten Gruppe angehört, während der dem Bit "1" der Teilungsschlüsseldaten kidx entsprechende Wellenformcode yj der zweiten Gruppe angehört, dient j in dem Sprachcode c'(n) zur Prüfung von kidx(j), sodass für kidx(j) = "0" festgestellt wird, dass eine Kombination mit dem Bit "0" erfolgt ist, während für kidx(j) = "1" festgestellt wird, dass eine Kombination mit dem Bit "1" erfolgt ist, wobei der Wert von kidx(j) in dieser Form als Wert des kombinierten bzw. eingebetteten Bits extrahiert werden kann.
  • Auf Grund der vorstehend beschriebenen Synthese- und Trennverfahren kann nur eine Person die Textdaten dem Sprachcode entnehmen, die auch die Teilungsschlüsseldaten kidx kennt. Bei der Sprachcodierung können somit Textdaten geheim eingebettet und die eingebetteten Textdaten sodann wieder geheim entnommen bzw. extrahiert werden. Im übrigen sind diese Merkmale nicht auf den Fall einer Einbettung von Textdatenbits beschränkt, sondern gelten gleichermaßen auch für einen Fall, bei dem eine Einbettung von Anrufer-Authentisierungsdaten oder andere Daten darstellenden Bits erfolgt.
  • Wenn darüber hinaus die jeweiligen Bitwerte der Teilungsschlüsseldaten kidx willkürlich eingestellt werden und damit zufallsverteilt sind, zeigt die die unteren 7 Bits des codierten Sprachcodes c(n) angebende Nummer auch dann z. B. keine Abweichungen, wenn sämtliche Sprachcodes c(n) mit dem Bit "0" kombiniert sind, wodurch sich die Gefahr, dass eine dritte Partei die Einbettung von anderen Daten bemerkt, in erheblichem Maße verringern lässt.
  • Ferner bietet dieses Syntheseverfahren den großen Vorteil, dass bei der Sprachreproduktion im Decodierer 15 keine spezielle Verarbeitung erforderlich ist.
  • Vor der Auswahl der dem jeweils eingegebenen VQ-Zielvektor x(n) nächstliegenden repräsentativen Vektordaten y(n) liest der Codierer 9 jeweils die Bits der Textdatenbitfolge tx nacheinander aus der Zeicheneingabeeinrichtung 7 aus und kombiniert jedes ausgelesene Bit mit dem Sprachcode c(n) mit Hilfe des vorstehend beschriebenen Syntheseverfahrens, sodass die Textdatenbits in sämtliche Sprachcodes c(n) eingebettet werden können.
  • Hierbei kann der Decodierer 15 bei jeder Eingabe des Sprachcodes c'(n) ein Textdatenbit aus dem eingegebenen Sprachcode c'(n) mit Hilfe des vorstehend beschriebenen Trennverfahrens extrahieren.
  • Wenn die Textdatenbits auf diese Weise in sämtliche Sprachcodes c(n) eingebettet werden, beträgt die Einbettungsdichte (die Anzahl von eingebetteten Bits je Sekunde) 200 Byte/s (= 1600 Bits/s).
    • <2> Wenn jedoch in Betracht gezogen wird, dass die Möglichkeit einer Entschlüsselung der eingebetteten Daten durch eine dritte Partei besteht, so hat die Einbettung von Daten in sämtliche Sprachcodes c(n) auch einen nachteiligen Aspekt.
  • Zur Lösung dieses Problems wird bei diesem Ausführungsbeispiel der Sprachcode c(n), in den die Textdatenbits einzubetten sind, im Rahmen eines nachstehend näher beschriebenen Verfahrens auf unregelmäßige Weise begrenzt bzw. eingeschränkt, sodass der einer Dateneinbettung unterzogene Sprachcode c(n) (d. h. der Umstand, ob eine Einbettung von Textdatenbits erfolgt ist oder nicht) in Bezug auf eine dritte Partei geheim gehalten werden kann.
  • Zunächst wird in Bezug auf Sprachcodes, die durch Codierung von in der nachstehenden Tabelle 1 enthaltenen Sprachen bzw. Stimmen "Em" und "Ew" im Rahmen von G.728 LD-CELP erhalten werden, die Erscheinungsrate des Bits "1" in den jeweiligen Bitstellen des Sprachcodes überprüft und hierbei das in 4 veranschaulichte Ergebnis erhalten. Weiterhin sind in Tabelle 1 und der nachstehenden Beschreibung mit "Jm" eine männliche Stimme in japanischer Sprache (japanische männliche Stimme), mit "Jw" eine weibliche Stimme in japanischer Sprache (japanische weibliche Stimme), mit "Em" eine männliche Stimme in englischer Sprache (englische männliche Stimme) und mit "Ew" eine weibliche Stimme in englischer Sprache (englische weibliche Stimme) bezeichnet. Diese Stimmen wurden hierbei für jeweils 5 Sekunden einer als Sprachquelle der in Tabelle 1 aufgeführten jeweiligen Stimmen dienenden FM-Rundfunksendung und einer Unterhaltungs-Bandaufzeichnung entnommen, wobei die Anzahl der Abtastwerte für jede Stimme 40 000 betrug. Tabelle 1 Stimmen für einen Versuch
    Sprache Geschlecht Anzahl der Abtastwerte Zeit (Sekunden)
    Jm japanisch männlich 40 000 5
    Jw japanisch weiblich 40 000 5
    Ein englisch männlich 40 000 5
    Ew englisch weiblich 40 000 5
  • 4 lässt sich entnehmen, dass die Erscheinungsrate des in dem durch G.728 LD-CELP codierten Sprachcode enthaltenen Bitwertes eine Charakteristik aufweist, sodass in Betracht gezogen werden kann, unter Verwendung dieser Charakteristik die Einbettungsdichte der Daten in dem Sprachcode zu steuern.
  • Da ferner die jeweiligen Bitwerte des Sprachcodes von der eingegebenen Sprache abhängen, treten die Bitwerte unregelmäßig auf. Bei diesem Ausführungsbeispiel wird daher unter Verwendung dieser Unregelmäßigkeit und der Charakteristik gemäß 4 der einer Dateneinbettung zu unterziehende Sprachcode in unregelmäßiger Weise begrenzt und hierbei die Einbettungsdichte gesteuert.
  • Zunächst werden bei diesem Ausführungsbeispiel zusätzlich zu den vorstehend beschriebenen Teilungsschlüsseldaten kidx Begrenzungsschlüsseldaten klim zur unregelmäßigen Begrenzung des einer Dateneinbettung unterzogenen Sprachcodes in den Festspeichern (ROM) des Codierers 9 und des Decodierers 15 vorgespeichert, wobei der Codierer 9 und der Decodierer 15 diese Begrenzungsschlüsseldaten klim zur weiteren Verwendung von den Festspeichern (ROM) zu Arbeitsspeichern (RAM) übertragen. Die Begrenzungsschlüsseldaten klim bestehen hierbei in der gleichen Weise wie die Bitstellen des Sprachcodes c(n) aus einer Binärzahl mit 10 Bitstellen (10 Bits).
  • Sodann berechnet der Codierer 9 aus den Begrenzungsschlüsseldaten klim und dem jeweils ausgegebenen Sprachcode c(n) gemäß der nachstehenden Gleichung 10 einen Wert L, bevor die optimalen repräsentativen Vektordaten y(n + 1) in Bezug auf den nächsten VQ-Zielvektor x(n + 1) ausgewählt werden. Dies erfolgt in der gleichen Weise als würde der Wert L aus den Begrenzungsschlüsseldaten klim und dem vorher ausgegebenen Sprachcode c(n – 1) vor der Auswahl der optimalen repräsentativen Vektordaten y(n) in Bezug auf den derzeitigen VQ-Zielvektor x(n) berechnet. Hierbei ist mit [UND] ein logisches Produkt bezeichnet. L = klim[UND]c(n) Gleichung 10
  • Der Wert L stellt daher ein logisches Produkt der Begrenzungsschlüsseldaten klim und des Sprachcodes c(n) dar. Wenn somit die Bitfolge des Sprachcodes c(n) ein Anordnungsmuster aufweist, bei dem sämtliche Bits in den gleichen Positionen wie die Bitstellen mit dem Wert "1" der Begrenzungsschlüsseldaten klim den Wert "0" aufweisen, ist der Wert von L durch "0" gegeben. Wenn dagegen die Bitfolge des Sprachcodes c(n) ein Anordnungsmuster aufweist, bei dem jedes Bit in den gleichen Positionen wie die Bitstellen mit dem Wert "1" der Begrenzungsschlüsseldaten klim den Wert "1" aufweist, nimmt L einen anderen Wert als "0" an.
  • Wenn L hierbei den Wert "0" aufweist, stellt der Codierer 9 fest, dass der Synthesezustand vorliegt, liest ein Bit aus der Bitfolge tx der von der Zeicheneingabeeinrichtung 7 erhaltenen Textdaten aus und kombiniert das ausgelesene Bit mit dem jeweils ausgegebenen Sprachcode mit Hilfe des vorstehend beschriebenen Syntheseverfahrens. Wenn dagegen L nicht den Wert "0" aufweist, stellt der Codierer 9 das Nichtvorliegen des Synthesezustands fest und führt die übliche Codierung im Rahmen von G.728 LD-CELP durch, ohne die Textdatenbits von der Zeicheneingabeeinrichtung 7 auszulesen.
  • Bei diesem Ausführungsbeispiel wird somit ein Einbettungscode (d. h. der einer Dateneinbettung unterzogene Sprachcode) auf diese Weise begrenzt.
  • Wenn bei sämtlichen Sprachcodes eine Dateneinbettung erfolgt ist, kann somit z. B. klim = "0000000000" eingestellt werden, während klim = "1111111111" eingestellt werden kann, wenn eine Dateneinbettung nur in sehr geringem Umfang erfolgt ist. Wenn im wesentlichen bei der Hälfte der Sprachcodes eine Dateneinbettung erfolgt ist, kann klim = "0100000000" oder dergleichen eingestellt werden. Dies beruht auf dem Umstand, dass es sich in der in 4 veranschaulichten Weise bei dem neunten Bit nach dem untersten Bit des Sprachcodes mit einer Wahrscheinlichkeit von ungefähr 0,5 um ein Bit mit dem Wert "1" handelt.
  • Wenn die Erscheinungsrate eines Bits mit dem Wert "1" in den jeweiligen Bitstellen des Sprachcodes gemäß 4 mit pi und der Bitwert des x-ten Bits nach dem untersten Bit der Begrenzungsschlüsseldaten klim (x = 1, 2, ..., 10) mit klim(x) bezeichnet werden, lässt sich die Einbettungsdichte Embrate (Bit/s) grob mit Hilfe der nachstehenden Gleichung 11 berechnen.
  • Figure 00350001
  • Auf diese Weise lässt sich zwar die Einbettungsdichte in einem gewissen Ausmaß abschätzen, wobei jedoch der mit einer Dateneinbettung zu versehende Sprachcode von der eingegebenen Sprache abhängt und daher nicht festgelegt ist.
  • Eine genaue Festlegung eines einer Dateneinbettung unterzogenen Sprachcodes aus einer großen Anzahl von Sprachcodes ist daher für eine dritte Partei, die die Begrenzungsschlüsseldaten klim nicht kennt, mit erheblichen Schwierigkeiten verbunden.
  • Der Decodierer 15 kann hierbei die Größe L gemäß Gleichung 10 in Bezug auf den zuvor eingegebenen Sprachcode c'(n – 1) bilden und ein Textdatenbit aus dem jeweils eingegebenen Sprachcode c'(n) mit Hilfe des vorstehend beschriebenen Trennverfahrens nur dann extrahieren, wenn L den Wert "0" aufweist. Anders ausgedrückt kann der Decodierer 15 die Größe L gemäß Gleichung 10 in Bezug auf den derzeit eingegebenen Sprachcode c'(n) bilden und ein Textdatenbit aus dem nächsten eingegebenen Sprachcode c'(n + 1) mit Hilfe des vorstehend beschriebenen Trennverfahrens extrahieren, wenn der Wert von L durch "0" gegeben ist.
    • <3> Wenn dagegen die gleichen Teilungsschlüsseldaten kidx für eine längere Zeitdauer Verwendung finden, treten einige Merkmale in dem Bitwert des Sprachcodes auf, sodass eine dritte Partei möglicherweise eine Kombination mit anderen Daten erkennen kann.
  • Bei diesem Ausführungsbeispiel wird daher eine Analyse der Teilungsschlüsseldaten kidx durch eine dritte Partei weiter erschwert, indem die von dem Codierer 9 und dem Decodierer 15 verarbeiteten Teilungsschlüsseldaten kidx im Rahmen des nachstehend näher beschriebenen Verfahrens häufig verändert werden.
  • Bei diesem Ausführungsbeispiel werden ausser den vorstehend beschriebenen Teilungsschlüsseldaten kidx und Begrenzungsschlüsseldaten klim in den Festspeichern (ROM) des Codierers 9 und des Decodierers 15 Umkehrschlüsseldaten krev und Änderungsschlüsseldaten kxor vorgespeichert, wobei der Codierer 9 und der Decodierer 15 die Umkehrschlüsseldaten krev und Änderungsschlüsseldaten kxor zur weiteren Verwendung aus den Festspeichern (ROM) zu Arbeitsspeichern (RAM) übertragen.
  • Die Umkehrschlüsseldaten krev umfassen hierbei ähnlich wie die Begrenzungsschlüsseldaten klim eine Binärzahl mit 10 Bitstellen (10 Bits), während die Änderungsschlüsseldaten kxor die Änderungsregel der Teilungsschlüsseldaten kidx bestimmen und ähnlich wie die Teilungsschlüsseldaten kidx eine Binärzahl mit 128 Bitstellen (128 Bits) umfassen.
  • Der Codierer 9 bildet sodann mit Hilfe der nachstehenden Gleichung 12 einen Wert r aus den Umkehrschlüsseldaten krev und dem derzeit ausgegebenen Sprachcode c(n), bevor die optimalen repräsentativen Vektordaten y(n + 1) in Bezug auf den nächsten VQ-Zielvektor x(n + 1) ausgewählt werden. Dies erfolgt in der gleichen Weise als würde der Wert r aus den Umkehrschlüsseldaten krev und dem zuvor ausgegebenen Sprachcode c(n – 1) vor der Auswahl der optimalen repräsentativen Vektordaten y(n) in Bezug auf den derzeitigen VQ-Zielvektor x(n) berechnet. r = krev[UND]c(n) Gleichung 12
  • Der Wert r stellt somit ein logisches Produkt der Umkehrschlüsseldaten krev und des Sprachcodes c(n) dar. Wenn daher die Bitfolge des Sprachcodes c(n) ein Anordnungsmuster aufweist, bei dem sämtliche Bits in den gleichen Positionen wie die Bitstellen mit dem Wert "1" der Umkehrschlüsseldaten krev den Wert "0" aufweisen, besitzt r ähnlich wie bei der vorstehend beschriebenen Gleichung 10 den Wert "0". Wenn dagegen die Bitfolge des Sprachcodes c(n) ein Anordnungsmuster aufweist, bei dem jedes Bit in der gleichen Position wie die Bitstellen mit dem Wert "1" der Umkehrschlüsseldaten krev den Wert "1" aufweist, nimmt r einen anderen Wert als "0" an.
  • Wenn r nicht den Wert "0" aufweist, trifft der Codierer 9 die Feststellung, dass die Änderungsbedingung zur Änderung der Teilungsschlüsseldaten kidx vorliegt, liest die derzeitigen Teilungsschlüsseldaten kidx aus dem Arbeitsspeicher (RAM) aus, führt gemäß der nachstehenden Gleichung 13 eine Umkehrung des Bits "0" und des Bits "1" der Teilungsschlüsseldaten kidx durch und speichert die aktualisierten Daten in den Arbeitsspeicher (RAM) ein. In der nachstehenden Gleichung ist mit (XOR) eine logische Antivalenzsumme bezeichnet. kidx = kidx(XOR)kxor Gleichung 13
  • Wenn z. B. sämtliche 128 Bits der Änderungsschlüsseldaten kxor den Wert "1" aufweisen, werden mit Hilfe der Gleichung 13 sämtliche Werte "0" und "1" der Teilungsschlüsseldaten kidx umgekehrt.
  • Wenn dagegen r den Wert "0" aufweist, trifft der Codierer 9 die Feststellung, dass kein Änderungszustand vorliegt, woraufhin die derzeitigen Teilungsschlüsseldaten kidx weiter verwendet werden.
  • Der Decodierer 15 kann dann r gemäß der Gleichung 12 in Bezug auf den vorher eingegebenen Sprachcode c'(n – 1) ableiten und die derzeit verwendeten Teilungsschlüsseldaten kidx mit Hilfe der Gleichung 13 in der gleichen Weise wie der Codierer 9 verändern, wenn r nicht den Wert "0" aufweist. Anders ausgedrückt kann der Decodierer 15 den Wert r gemäß Gleichung 12 in Bezug auf den derzeit eingegebenen Sprachcode c'(n) bilden, die derzeit verwendeten Teilungsschlüsseldaten kidx mit Hilfe der Gleichung 13 verändern, wenn r nicht den Wert "0" aufweist, und von nun an die geänderten Teilungsschlüsseldaten kidx verwenden.
  • Da durch dieses Verfahren eine unregelmäßige Änderung der Teilungsschlüsseldaten kidx erfolgt, lässt sich die Gefahr, dass eine dritte Partei ohne Kenntnis der Umkehrschlüsseldaten krev oder der Änderungsschlüsseldaten kxor dennoch die in den Sprachcode eingebetteten Daten entschlüsselt, in erheblichem Umfang verringern.
  • Darüber hinaus besteht jedoch auch die Möglichkeit, anstelle einer durch die Berechnung gemäß Gleichung 13 erfolgenden Änderung der Teilungsschlüsseldaten kidx eine Vielzahl von Arten der Teilungsschlüsseldaten kidx zu erstellen und dann die Daten entsprechend zu verändern.
  • Die vorstehend beschriebenen Verarbeitungsabläufe bei dem Decodierer 9 und dem Decodierer 15 sind in den Ablaufdiagrammen gemäß den 5 bis 7 zusammengefasst, wobei 5 ein Ablaufdiagramm der ersten Hälfte und 6 ein Ablaufdiagramm der zweiten Hälfte der bei dem Codierer 9 erfolgenden Verarbeitung darstellen und 7 die bei dem Decodierer 15 erfolgende Verarbeitung in Form eines Ablaufdiagramms zeigt.
  • Wie in 5 veranschaulicht ist, nimmt der Codierer 9 zu Beginn seines Verarbeitungsablaufs in einem ersten Schritt S110 eine Initialisierung vor, bei der die vorstehend beschriebenen Werte von L und r auf "1" und der Wert von n als Datenblock-Folgewert auf "0" gesetzt werden.
  • Anschließend bestimmt der Codierer 9 in einem Schritt S120, ob L den Wert "0" aufweist oder nicht, wobei der Ablauf unverändert auf einen Schritt S140 übergeht, wenn L nicht den Wert "0" aufweist (S120: NEIN), jedoch bei Vorliegen des Wertes "0" von L (S120: JA) auf einen Schritt S130 übergeht, bei dem ein mit dem Sprachcode zu kombinierendes Bit t aus den eingebetteten Daten (d. h. der Bitfolge tx der in der Zeicheneingabeeinrichtung 7 gespeicherten Textdaten) extrahiert und sodann auf den Schritt S140 übergegangen wird.
  • Im Schritt S140 wird der Wert von D'min als möglicher Minimalwert von D' zur Bildung eines vorausgesagten Maximalwertes initialisiert, woraufhin in einem Schritt S150 der Wert von j auf "0" gesetzt und der Wert von n um eins inkrementiert werden. Sodann wird in einem Schritt S155 der derzeit zu quantisierende n-te VQ-Zielvektor x(n) eingegeben, während anschließend in einem Schritt S160 bestimmt wird, ob L den Wert "0" aufweist oder nicht.
  • Wenn hierbei L nicht den Wert "0" aufweist (S160: NEIN), geht der Ablauf unverändert auf einen Schritt S180 über. Wenn dagegen L den Wert "0" aufweist (S160: JA), geht der Ablauf auf einen Schritt S170 über, bei dem bestimmt wird, ob das j-te Bit kidx(j) nach dem höchsten Bit der Teilungsschlüsseldaten kidx gleich dem im Schritt S130 extrahierten Bit t ist oder nicht. Wenn kidx(j) = t vorliegt (S170: JA), geht der Ablauf sodann auf den Schritt S180 über.
  • Im Schritt S180 wird sodann der vorstehend beschriebene Wert Pj (= pT(n)·yj) in Bezug auf den im Schritt S155 eingegebenen VQ-Zielvektor x(n) gebildet, woraufhin in einem Schritt S190 der Wert gi mit Hilfe von Pj bestimmt und sodann in einem Schritt S200 D' (= –bi·Pj + ci·Ej) mit Hilfe der vorstehenden Gleichung 9 erhalten werden.
  • Sodann wird in einem nächsten Schritt S210 bestimmt, ob der im Schritt S200 erhaltene Wert D' kleiner als der derzeitige Wert D'min ist oder nicht. Wenn D' < D'min nicht erfüllt ist (S210: NEIN), geht der Ablauf unverändert auf einen Schritt S230 über. Wenn dagegen D' < D'min vorliegt (S210: JA), geht der Ablauf auf einen Schritt S220 über, bei dem der im Schritt S200 erhaltene Wert D' als D'min gesetzt und die bei der Bildung von D' im Schritt S200 erhaltenen Werte von i und j jeweils auf imin und jmin eingestellt werden, woraufhin der Ablauf auf einen Schritt S230 übergeht.
  • Wenn dagegen im vorstehenden Schritt S170 festgestellt wird, dass kidx(j) = t nicht erfüllt ist (S170: NEIN), geht der Ablauf ohne Durchführung der Schritte S180 bis S220 unverändert auf den Schritt S230 über.
  • Im Schritt S230 wird sodann bestimmt, ob der Wert von j kleiner als 127 ist oder nicht. Wenn hierbei j < 127 vorliegt (S230: JA), geht der Ablauf auf einen Schritt S240 über, bei dem der Wert von j um 1 inkrementiert wird, woraufhin zum Schritt S160 zurückgekehrt wird.
  • Wenn sich dagegen im Schritt S230 ergibt, dass j < 127 nicht erfüllt ist (S230: NEIN), geht der Ablauf auf einen Schritt S250 gemäß 6 über.
  • Wie in 6 dargestellt ist, wird im Schritt S250 der in der vorstehend beschriebenen Weise unter Verwendung von imin und jmin gebildete Sprachcode c(n) mit 10 Bits dem Sender/Empfänger 13 zugeführt, woraufhin der Sprachcode (n) von dem Sender/Empfänger 13 funk- bzw. frequenzmoduliert und über die Antenne 11 übertragen wird.
  • Sodann wird in einem Schritt S260 der Wert L aus dem im Schritt S250 ausgegebenen Sprachcode c(n) und den mit Hilfe der Gleichung 10 erhaltenen Begrenzungsschlüsseldaten klim gebildet, während in einem nächsten Schritt S270 der Wert r aus dem im Schritt S250 ausgegebenen Sprachcode c(n) und den mit Hilfe der vorstehenden Gleichung 12 erhaltenen Umkehrschlüsseldaten krev gebildet wird.
  • In einem nächsten Schritt S280 bestimmt der Codierer 9 sodann, ob r den Wert "0" aufweist oder nicht, wobei der Ablauf unverändert auf einen Schritt S300 übergeht, wenn r den Wert "0" aufweist (S280: JA), jedoch auf einen Schritt S290 zur Änderung der Teilungsschlüsseldaten kidx im Rahmen der Gleichung 13 übergeht, wenn r nicht den Wert "0" aufweist (S280: NEIN). Sodann wird auf den Schritt S300 übergegangen.
  • Im Schritt S300 wird auf der Basis des vorliegenden EIN/AUS-Zustands eines (nicht dargestellten) Anrufschalters festgestellt, ob ein Anruf beendet ist oder nicht, wobei der Ablauf zum Schritt S120 gemäß 5 zurückkehrt, wenn der Anruf nicht beendet ist (S300: NEIN), oder der Verarbeitungsablauf des Codierers 9 endet, wenn der Anruf beendet ist (S300: JA).
  • Bei der Verarbeitung gemäß den 5 und 6 werden somit im Rahmen der Schritte S140 bis S155 und S180 bis S250 der VQ-Zielvektor x(n) aufeinanderfolgend eingegeben, der Verstärkungscode gimin und der Wellenformcode yjmin, die die dem VQ-Zielvektor x(n) nächstliegenden repräsentativen Vektordaten y(n) darstellen, aus dem Erregungswellenform-Codebuch 25 ausgewählt und der Sprachcode c(n) aus den Werten imin, jmin des Verstärkungscodes gimin und Wellenformcodes yjmin gebildet und ausgegeben.
  • Weiterhin wird bei der Verarbeitung gemäß den 5 und 6 der Wert L gemäß Gleichung 10 in Bezug auf den zuvor ausgegebenen Sprachcode im Schritt S260 erhalten, bevor der Verstärkungscode gimin und der Wellenformcode yjmin in Bezug auf den derzeitigen VQ-Zielvektor x(n) ausgewählt werden (S180 bis S240). Wenn sich hierbei in den Schritten S120 und S160 ergibt, dass L den Wert "0" aufweist, wird die Festellung getroffen, dass der Synthesezustand vorliegt, das Bit t der mit dem Sprachcode zu kombinierenden Textdaten ausgelesen (S130) und das vorstehend unter <1> beschriebene Syntheseverfahren durch eine auf der im Schritt S170 erfolgenden Bestimmung basierende Änderung durchgeführt.
  • Außerdem wird im Schritt S270 der Wert r gemäß Gleichung 12 in Bezug auf den zuvor ausgegebenen Sprachcode erhalten, bevor der Verstärkungscode gimin und der Wellenformcode yjmin in Bezug auf den derzeitigen VQ-Zielvektor x(n) ausgewählt werden. Wenn sich hierbei im Schritt S280 ergibt, dass r nicht den Wert "0" aufweist, wird die Feststellung getroffen, dass der Änderungszustand vorliegt, woraufhin im Schritt S290 die im nächsten Schritt S170 zu verwendenden Teilungsschlüsseldaten kidx entsprechend der Änderungsregel gemäß Gleichung 13 verändert werden.
  • Bei der durch den Codierer 9 erfolgenden Verarbeitung gemäß den 5 und 6 wird somit der Sprachcode im Rahmen von G.728 LD-CELP geheim mit den jeweiligen Bits der Textdaten kombiniert.
  • Die von dem Codierer 9 gemäß diesem Ausführungsbeispiel vorgenommene Verarbeitung der Schritte S120, S160 und S260 entspricht hierbei einer Synthesezustandsbestimmungsverarbeitung, während die Verarbeitung der Schritte S270 und S280 einer Änderungszustandsbestimmungsverarbeitung entspricht.
  • Wenn dagegen bei dem Decodierer 15 die in 7 veranschaulichte Verarbeitung einsetzt, werden zunächst in einem Schritt S310 die Werte von L und r initialisiert und auf "1" gesetzt, während der Wert von n als Datenblock-Folgewert wiederum auf 0 gesetzt wird.
  • Sodann wird in einem Schritt S320 der Wert von n um 1 inkrementiert, während in einem nächsten Schritt S330 der vom Sender/Empfänger 13 erhaltene n-te Sprachcode c'(n) eingegeben wird.
  • Sodann werden in einem Schritt S340 die Werte i und j aus dem im Schritt S330 eingegebenen Sprachcode c'(n) extrahiert, woraufhin in einem nächsten Schritt S350 der Verstärkungscode gi und der Wellenformcode yj, die den Werten i und j entsprechen, dem Erregungswellenform-Codebuch 41 entnommen werden.
  • Sodann wird in einem Schritt S360 das dem derzeit eingegebenen Sprachcode c'(n) entsprechende digitale Sprachsignal s'(n) für einen Datenblock mit Hilfe des im Schritt S350 erhaltenen Verstärkungscodes gi und Wellenformcodes yj reproduziert und der Sprachausgabeeinrichtung 17 zugeführt.
  • Anschließend wird in einem Schritt S370 bestimmt, ob L den Wert "0" aufweist oder nicht, wobei der Ablauf unverändert auf einen Schritt S390 übergeht, wenn L nicht den Wert "0" aufweist (S370: NEIN), während auf einen Schritt S380 übergegangen wird, wenn L den Wert "0" aufweist (S370: JA). Im Schritt S380 verwendet der Decodierer 15 den im Schritt S340 dem Sprachcode c'(n) entnommenen Wert j zur Prüfung von kidx (j) und speichert den Wert von kidx (j) als Textdatenbit, woraufhin der Ablauf auf einen Schritt S390 übergeht. Die im Schritt S380 gespeicherten Bits werden aufeinanderfolgend der Anzeigeeinrichtung 19 zugeführt, die sodann die aus der Bitfolge reproduzierten Zeichen anzeigt.
  • Im Schritt S390 wird sodann der Wert L aus dem im Schritt S330 eingegebenen Sprachcode c'(n) und den durch die Gleichung 10 erhaltenen Begrenzungsschlüsseldaten klim gebildet, während in einem nächsten Schritt S400 der Wert r aus dem im Schritt S330 eingegebenen Sprachcode c'(n) und den durch die Gleichung 12 erhaltenen Umkehrschlüsseldaten krev gebildet wird.
  • In einem nächsten Schritt S410 wird sodann bestimmt, ob r den Wert "0" aufweist oder nicht, wobei der Ablauf unverändert auf einen Schritt S430 übergeht, wenn r den Wert "0" aufweist (S410: JA), während der Ablauf auf einen Schritt S420 zur Änderung der Teilungsschlüsseldaten kidx gemäß der vorstehenden Gleichung 13 übergeht, wenn r nicht den Wert "0" aufweist (S410: NEIN). Sodann wird auf einen Schritt S430 übergegangen.
  • Im Schritt S430 wird auf der Basis des EIN/AUS-Zustands eines (nicht dargestellten) Anrufschalters bestimmt, ob der Anruf beendet ist oder nicht, wobei der Ablauf zum Schritt S320 zurückkehrt, wenn der Anruf nicht beendet ist (S430: NEIN), oder der Betriebsablauf des Decodierers 15 endet, wenn der Anruf beendet ist (S430: JA).
  • Bei der Verarbeitung gemäß 7 werden somit in den Schritten S320 bis S360 die von dem Codierer 9 des anderen Telefons 3 erzeugten Sprachcodes c'(n) aufeinanderfolgend eingegeben und durch eine im Rahmen von G.728 LD-CELP erfolgende Decodierung als Sprache reproduziert, wobei jedoch im Schritt S370 in Bezug auf den zuvor eingegebenen Sprachcode während der Eingabe des nächsten Sprachcodes als den derzeitigen Sprachcode c'(n) bestimmt werden kann, ob L den Wert "0" aufweist oder nicht, indem L gemäß Gleichung 10 in Bezug auf den bereits eingegebenen Sprachcode im Schritt S390 gebildet wird. Wenn sich hierbei im Schritt S370 ergibt, dass L den Wert "0" aufweist (d. h. wenn der in Bezug auf den zuvor eingegebenen Sprachcode erhaltene Wert von L den Wert "0" aufweist), wird die Feststellung getroffen, dass der Synthesezustand vorliegt, woraufhin im Schritt S380 das unter <1> beschriebene Trennverfahren durchgeführt und dem jeweils eingegebenen Sprachcode c'(n) ein Textdatenbit entnommen werden.
  • Außerdem wird bei der Verarbeitung gemäß 7 der Wert r gemäß Gleichung 12 in Bezug auf den zuvor eingegebenen Sprachcode durch den Schritt S400 erhalten, bevor die Bestimmung gemäß dem Schritt S370 durchgeführt wird. Wenn sich hierbei im Schritt S410 ergibt, dass r nicht den Wert "0" aufweist, wird die Feststellung getroffen, dass der Änderungszustand vorliegt, woraufhin die im Schritt S380 zu verwendenden Teilungsschlüsseldaten kidx im Schritt S420 entsprechend der Änderungsregel gemäß Gleichung 13 verändert werden.
  • Im Rahmen der Verarbeitung gemäß 7 erfolgt somit durch den Decodierer 15 die Reproduktion der Sprache aus dem von dem Codierer 9 erzeugten Sprachcode, wobei die mit dem Sprachcode kombinierten jeweiligen Bits der Textdaten sicher entnommen werden können.
  • Hierbei entspricht die von dem Decodierer 15 gemäß diesem Ausführungsbeispiel vorgenommene Verarbeitung der Schritte S370 und S390 der Synthesezustandsbestimmungsverarbeitung, während die Verarbeitung der Schritte S400 und S410 der Änderungszustandsbestimmungsverarbeitung entspricht. Ferner entspricht die Verarbeitung des Schrittes S380 einer Trennungsverarbeitung, während die Verarbeitung des Schrittes S420 einer Änderungsverarbeitung entspricht.
  • Bei Verwendung der den vorstehend beschriebenen Codierer 9 sowie den Decodierer 15 aufweisenden Telefone 1 und 3 gemäß diesem Ausführungsbeispiel können somit der Benutzer sowie ein Anrufer sowohl sprachlich als auch durch Texte in Form von Sätzen miteinander kommunizieren.
  • Versuchsergebnis
  • Darüber hinaus ist es von Bedeutung, die Tonqualität durch eine vorgenommene Dateneinbettung nicht wesentlich zu verschlechtern, sodass eine dritte Partei das Vorhandensein von eingebetteten Daten nicht bemerken kann.
  • Nachstehend wird in Bezug auf den Codierer 9 und den Decodierer 15 dieses Ausführungsbeispiels das Ergebnis einer Simulation näher beschrieben, die mit Hilfe eines auf dem Algorithmus von G.728 LD-CELP basierenden Versuchssystems erhalten wurde.
  • Hierbei dienten die in der vorstehenden Tabelle 1 aufgeführten vier Arten von Stimmen als Versuchsstimmen.
  • In Bezug auf die in den Sprachcode einzubettenden Informationen wurden hierbei die Textdaten eines eine Internet-Spezifikation darstellenden "Aufrufs zur Stellungnahme" ("Request for Comments", abgekürzt RFC) verwendet.
  • Außerdem wurden die nachstehend angegebenen Teilungsschlüsseldaten kidx, Umkehrschlüsseldaten krev und Änderungsschlüsseldaten kxor verwendet, wobei in der nachstehenden Beschreibung diese drei Arten von Schlüsseldaten kidx, krev und kxor allgemein als Schlüsseldaten K bezeichnet und außerdem die in geschweiften Klammern angegebenen Werte der jeweiligen Arten von Schlüsseldaten kidx, klim, krev und kxor durch hexadezimale Zahlen von 0 bis F gegeben sind. kidx = {6770DEF35BDD9F1CA21C05881A8CCA15} krev = {060} kxor = {FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
  • Da bei diesem Versuch die Umkehrschlüsseldaten krev und Änderungsschlüsseldaten kxor in der vorstehend beschriebenen Weise eingestellt sind, werden sämtliche Werte "0" und "1" der Teilungsschlüsseldaten kidx mit einer Wahrscheinlichkeit von etwa 1/3 umgekehrt (siehe 4).
  • Weiterhin stellt ein sogenanntes Signal-Quantisierungsrauschverhältnis (SNR) einen grundlegenden objektiven Tonqualitäts-Bewertungsmaßstab dar. Wie in der vorstehend genannten Druckschrift 2 oder dergleichen beschrieben ist, kann somit eine Bewertungsgleichung für SNR [dB] in Form der nachstehenden Gleichung 14 angegeben werden, bei der die eingegebene Sprache (die bei diesem Ausführungsbeispiel als Eingangssprachsignal bezeichnet wird) mit So(m) und der Quantisierungsfehler mit Er(m) bezeichnet sind.
  • Figure 00480001
  • Bei diesem Versuch wurde einerseits ein objektives Bewertungsverfahren mit Hilfe eines durch Verbesserung des Signal-Quantisierungsrauschverhältnisses (SNR) und der Übereinstimmung mit einer subjektiven Auswertung erhaltenen Segment-Signal-Quantisierungsrauschverhältnisses (SNRseg) verwendet. Dieses Segment-Signal-Quantisierungsrauschverhältnis SNRseg ist bereits in der vorstehend genannten Druckschrift 2 oder dergleichen beschrieben und lässt sich in Form der nachstehenden Gleichung 15 ausdrücken. Hierbei sind in Gleichung 15 mit Nf die Datenblocknummer in einem Messabschnitt und mit SNRf das Signal-Quantisierungsrauschverhältnis (SNR) in f Datenblöcken bezeichnet. Die Länge eines Datenblocks war bei diesem Versuch auf 32 ms eingestellt.
  • Figure 00490001
  • Andererseits wurde bei diesem Versuch ein subjektives Bewertungsverfahren verwendet, bei dem eine Meinungsauswertung einer von Auswertungspersonen bzw. Zuhörern erhaltenen absoluten Beurteilung erfolgte und hierbei ein mittlerer Meinungswert (Mean Opinion Score, abgekürzt MOS) erhalten wurde. Diese Meinungsauswertung ist ebenfalls in der vorstehend genannten Druckschrift 2 oder dergleichen beschrieben.
  • Das Ergebnis dieses unter Verwendung der vier Arten von Sprachen gemäß Tabelle 1 und der vorstehend genannten Schlüsseldaten K durchgeführten Versuchs ist in 8 veranschaulicht.
  • 8 zeigt die Beziehung zwischen einer zeitabhängigen Einbettungsdichte und SNRseg in Bezug auf die jeweiligen Sprachen bzw. Stimmen "Em", "Ew", "Jm" und "Jw" gemäß Tabelle 1. In Bezug auf die Begrenzungsschlüsseldaten klim wurden hierbei die nachstehend angegebenen vier Arten von Begrenzungsschlüsseldaten verwendet. klim = {044}, {004}, {020}, {000}
  • Für eine Einbettungsdichte mit klim = {020} wird z. B. auf Grund des Umstands, dass nur das 6. Bit nach dem niedrigsten Bit der Begrenzungsschlüsseldaten klim den Wert "1" aufweist, aus 4 der Wert p6 = 0,3 erhalten, während sich aus Gleichung 11 im wesentlichen ein Wert von 1600 × (1–0,3) = 1120 [Bit/s] ergibt. Wenn dagegen die Einbettungsdichte den Wert 0 [Bit/s] aufweist, wird keine Einbettungsverarbeitung durchgeführt.
  • Aus 8 ist ersichtlich, dass auch bei Vornahme einer großen Anzahl von Einbettungen nur eine geringfügige Verschlechterung von SNRseg durch diese Einbettungen auftritt. Es kann daher davon ausgegangen werden, dass unabhängig von einer Vornahme oder Nichtvornahme von Einbettungen Quantisierungsverzerrungen im gleichen Umfang auftreten.
  • Außerdem wurde ein nachstehend näher beschriebener Versuch unter Verwendung der Begrenzungsschlüsseldaten klim = {102} durchgeführt. Da hierbei die Einbettungsdichte im wesentlichen durch p2 = 0,1 gegeben ist und aus 4 der Wert p9 = 0,5 erhalten wird, ergibt sich aus Gleichung 11 in diesem Falle ein Wert von 1600 × (1 – 0,1) × (1 – 0,5) = 720 [Bits/s].
  • Das durch Extraktion eines Teils der reproduzierten Sprachwellenform und Überwachung des Verlaufs der Wellenform erhaltene Ergebnis dieses Versuchs ist in 9 veranschaulicht. Hierbei zeigt 9(a) eine Eingangssprachwellenform, während 9(b) eine reproduzierte Sprachwellenform ohne Einbettung und 9(c) eine reproduzierte Sprachwellenform mit erheblichen Einbettungen zeigt. Die Sprachwellenform zeigt hierbei einen Teil der Aussprache von "denken" in "Em" gemäß Tabelle 1 in einem Sprachabschnitt von ungefähr 0,2 Sekunden.
  • Wie sich aus den jeweiligen Wellenformen gemäß 9 ergibt, ist eine erhebliche Wellenformverzerrung auf Grund einer Einbettung der anderen Daten in den Sprachcode nicht erkennbar.
  • Der unter Verwendung des Verfahrens gemäß diesem Ausführungsbeispiel übertragene Sprachcode (Sprachdaten) besteht üblicherweise nur aus dem mit Einbettungen versehenen Sprachcode. Auch wenn eine dritte Partei den Sprachcode illegal an sich bringt, kann kein Vergleich mit der keine Einbettungen aufweisenden Wellenform durchgeführt werden, sodass davon ausgegangen werden kann, dass das Auffinden des Vorhandenseins/Nichtvorhandenseins einer Einbettung aus dem Verlauf der Wellenform der reproduzierten Sprache bzw. Stimme äußerst schwierig ist.
  • Weiterhin besteht die Gefahr, dass eine dritte Partei gegebenenfalls einen Anhaltspunkt für eine Entschlüsselung erhält, wenn Änderungen in der Bitcharakteristik des Sprachcodes als Ergebnis von Einbettungen auftreten.
  • Bei einer in ähnlicher Weise wie in Verbindung mit 4 erfolgten Überprüfung der Bitcharakteristik des mit Einbettungen versehenen Sprachcodes ergab sich das in 10 dargestellte Ergebnis.
  • Wie ein Vergleich von 10 mit 4 zeigt, haben die Einbettungen keinen großen Einfluss. Somit kann davon ausgegangen werden, dass es für eine dritte Partei äußerst schwierig ist, das Vorhandensein von Einbettungen aus Änderungen der Bitcharakteristik des Sprachcodes zu erkennen.
  • Sodann wurde untersucht, ob eine Möglichkeit besteht, Einbettungen auf Grund von Unterschieden in der akustischen Tonqualität zu erkennen.
  • Bei diesem Versuch wurde von 8 üblichen Zuhörern im Alter von 20 bis 30 Jahren eine objektive Auswertung der jeweiligen reproduzierten Stimmen vorgenommen und hierbei ein mittlerer Meinungswert (MOS) erhalten. Hierbei wurden die reproduzierte Sprache ohne Einbettung und die reproduzierte Sprache mit Einbettung in Bezug auf die jeweiligen Versuchsstimmen gemäß Tabelle 1 als Auswertungsstimmen vorbereitet, wobei die Versuchspersonen eine willkürliche Anzahl von vergleichenden Auswertungen durchführten. Wenn somit in der Tonqualität der reproduzierten Sprache bzw. Stimme Unterschiede wahrgenommen werden, müssen auch große Differenzen in dem Auswertungsergebnis auftreten.
  • Das Versuchsergebnis ist in der nachstehenden Tabelle 2 wiedergegeben. Tabelle 2 Mittlerer Meinungswert (MOS)
    Sprache ohne Einbettung mit Einbettung Einbettungsdichte (Byte/s)
    Jm 3,14 2,86 89,9
    Jw 3,57 3,57 87,9
    Ein 3,00 3,43 90,2
    Ew 3,57 3,43 90,5
    Durchschnitt 3,32 3,32 89,6
  • Wie aus Tabelle 2 ersichtlich ist, entspricht der bei der reproduzierten Stimme bzw. Sprache ohne Einbettung erhaltene mittlere Meinungswert (MOS) dem bei der reproduzierten Sprache bzw. Stimme mit Einbettung erhaltenen mittleren Meinungswert (MOS).
  • Die Tonqualität der reproduzierten Sprache bzw. Stimme mit Einbettung hat somit im wesentlichen den gleichen Grad wie die Tonqualität der reproduzierten Sprache bzw. Stimme ohne Einbettung, sodass davon ausgegangen werden kann, dass das Erkennen des Vorhandenseins/Nichtvorhandenseins von Einbettungen durch Zuhören äußerst schwierig ist.
  • Gemäß Tabelle 2 wird ein mittlerer Meinungswert (MOS) von etwa 3 vermutlich auf Grund des Umstands erhalten, dass die hierbei verwendete Versuchssprache (Versuchsstimme) im Vergleich mit einer CD oder dergleichen etwas undeutlich klingt. Die bei den jeweiligen Bewertungsergebnissen auftretenden Abweichungen beruhen vermutlich auf Zufallsfehlern, die sich ergeben, wenn die Zuhörer die der Einbettung unterzogene Stimme nicht genau spezifizieren können.
  • Aus den vorstehend beschriebenen Ergebnissen lässt sich somit der Schluss ziehen, dass es für eine dritte Partei, der weder das ursprüngliche Sprachsignal noch die reproduzierte Sprache ohne Einbettung zur Verfügung steht, äußerst schwierig ist, den mit anderen Daten kombinierten Sprachcode aus einer großen Anzahl von Sprachcodes zu erkennen und dann die eingebetteten Informationen zu entschlüsseln.
  • Ausführungsbeispiel 1 einer Modifikation
  • Wenn der Codierer 9 des vorstehend beschriebenen Ausführungsbeispiels stets die Verarbeitung des Schrittes S130 gemäß 5 vor dem Schritt S140 ohne die Verarbeitung der Schritte S120 und S160 gemäß 5 oder die Verarbeitung des Schrittes S260 gemäß 6 durchführt, können die Textdatenbits in sämtliche Sprachcodes c(n) eingebettet werden.
  • In diesem Falle kann der Decodierer 15 stets die Verarbeitung des Schrittes S380 nach dem Schritt S360 ohne die Verarbeitung der Schritte S370 und S390 gemäß 7 durchführen.
  • Ausführungsbeispiel 2 einer Modifikation
  • Wenn ferner bei dem vorstehend beschriebenen Ausführungsbeispiel oder dem Ausführungsbeispiel 1 einer Modifikation die Teilungsschlüsseldaten kidx nicht verändert werden, kann bei dem Codierer 9 die Verarbeitung der Schritte S270 bis S290 gemäß 6 entfallen, während bei dem Decodierer 15 die Verarbeitung der Schritte S400 bis S420 gemäß 7 entfallen kann.
  • Weitere Modifikationen
  • Bei dem Codierer 9 und dem Decodierer 15 des vorstehend beschriebenen Ausführungsbeispiels erfolgt zwar eine Sprachcodierung/Sprachdecodierung im Rahmen von G.728 LD-CELP, jedoch kann das gleiche Verfahren auch bei einem anderen Codiersystem mit Vektorquantisierung Verwendung finden.
  • Da die Erfindung gemäß dem vorstehend beschriebenen Ausführungsbeispiel bei einem Telefon Verwendung findet, wird der von dem Codierer 9 erzeugte Sprachcode c zwar unmittelbar funk- bzw. frequenzmoduliert und übertragen, kann jedoch alternativ auch in einem vorgegebenen Aufzeichnungsträger gespeichert werden. In diesem Falle können die Sprachcodes c sukzessiv aus dem Aufzeichnungsträger ausgelesen und von dem Decodierer 15 decodiert werden.
  • Außerdem findet mit Hilfe des Codierers 9 und des Decodierers 15 des vorstehend beschriebenen Ausführungsbeispiels zwar eine Sprachcodierung/Sprachdecodierung statt, jedoch kann auch eine Codierung/Decodierung einer anderen Vibrationswelle als Sprache wie z. B. eines von einem Sensor, einem Messinstrument oder dergleichen ausgegebenen Analogsignals erfolgen. Hierbei kann ein Digitalsignal, das durch Abtastung dieses Analogsignals in vorgegebenen Zeitintervallen erhalten wird, dem Codierer 9 anstelle des Eingangssprachsignals s zugeführt werden.
  • Auch in diesem Falle kann bei der Codierung der Vibrationswelle des von dem Sensor oder dem Messinstrument abgegebenen Analogsignals eine Kombination mit anderen Daten wie Textdaten erfolgen, wobei dann die anderen Daten wieder von dem codierten Signal getrennt und extrahiert werden können.

Claims (8)

  1. Verfahren zum Kodieren einer Vibrationswelle durch Vektorquantisierung, wobei Vektordaten, die eine Wellenform einer Vibrationswelle für eine vorbestimmte Zeit anzeigen, sukzessive eingegeben werden, repräsentative Vektordaten, die den eingegebenen Vektordaten am nächsten sind, aus einem Codebuch zum Speichern einer Vielzahl von repräsentativen, sukzessive im Vorhinein nummerierten Vektordaten ausgewählt werden, jedes mal wenn die Vektordaten eingegeben werden, und Binärdaten, die die Nummer der ausgewählten repräsentativen Vektordaten anzeigen, als der Code ausgegeben werden, der die eingegebenen Vektordaten anzeigt, wobei das Vibrationswellenkodierverfahren aus folgenden Schritten besteht: Speichern von Teilungsbefehlinformationen, die anzeigen, dass jedes der in dem Codebuch gespeicherten repräsentativen Vektordaten entweder zu einer ersten Gruppe oder einer zweiten Gruppe in einer vorbestimmten Speichereinrichtung gehört; und Lesen anderer, mit der Vibrationswelle zu kombinierenden Binärdaten bevor die repräsentativen Vektordaten ausgewählt werden, die den momentan eingegebenen Vektordaten am nächsten sind, Auswählen der repräsentativen Vektordaten, die den momentan eingegebenen Vektordaten am nächsten sind, aus lediglich den repräsentativen Vektordaten, die zu der ersten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, wenn die gelesenen Binärdaten „0" entsprechen, oder Auswählen der repräsentativen Vektordaten, die den momentan eingegebenen Vektordaten am nächsten sind, aus lediglich den repräsentativen Vektordaten, die zu der zweiten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, wenn die gelesenen Binärdaten „1" entsprechen, so dass der Code, der die momentan eingegebenen Vektordaten anzeigt, mit den gelesenen Binärdaten kombiniert wird.
  2. Vibrationswellenkodierungsverfahren gemäß Anspruch 1, weiterhin mit den Schritten: Durchführen einer Änderungszustandsbestimmungsverarbeitung des Bestimmens, ob hinsichtlich dem zuvor ausgegebenen Code eine Bitreihe des Codes ein vorbestimmtes Anordnungsmuster aufweist oder nicht, bevor die repräsentativen Vektordaten, die den momentan eingegebenen Vektordaten am nächsten sind ausgewählt werden, und Ändern der in der Speichereinrichtung gemäß einer vorbestimmten Änderungsregel zu speichernden Teilungsbefehlsinformationen, wenn eine bestätigende Bestimmung durch die Änderungszustandsbestimmungsverarbeitung erfolgt.
  3. Verfahren zum Kodieren einer Vibrationswelle durch Vektorquantisierung, wobei Vektordaten, die eine Wellenform einer Vibrationswelle für eine vorbestimmte Zeit anzeigen, sukzessive eingegeben werden, repräsentative Vektordaten, die den eingegebenen Vektordaten am nächsten sind, aus einem Codebuch zum Speichern einer Vielzahl von repräsentativen, sukzessive im Vorhinein nummerierten Vektordaten ausgewählt werden, jedes mal wenn die Vektordaten eingegeben werden, und Binärdaten, die die Nummer der ausgewählten repräsentativen Vektordaten anzeigen, als der Code ausgegeben werden, der die eingegebenen Vektordaten anzeigt, wobei das Vibrationswellenkodierverfahren aus folgenden Schritten besteht: Speichern von Teilungsbefehlinformationen, die anzeigen, dass jedes der in dem Codebuch gespeicherten repräsentativen Vektordaten entweder zu einer ersten Gruppe oder einer zweiten Gruppe in einer vorbestimmten Speichereinrichtung gehört; und Durchführen einer Entstehungszustandsbestimmungsverarbeitung des Bestimmens, ob hinsichtlich dem zuvor ausgegebenen Code eine Bitreihe des Codes ein vorbestimmtes Anordnungsmuster aufweist oder nicht, bevor die repräsentativen Vektordaten, die den momentan eingegebenen Vektordaten am nächsten sind ausgewählt werden, und Lesen anderer Binärdaten, die mit der Vibrationswelle kombiniert werden sollen, wenn eine bestätigende Bestimmung durch die Entstehungszustandsbestimmungsverarbeitung erfolgt, Auswählen der repräsentativen Vektordaten, die den momentan eingegebenen Vektordaten am nächsten sind, aus lediglich den repräsentativen Vektordaten, die zu der ersten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, wenn die gelesenen Binärdaten „0" entsprechen, oder Auswählen der repräsentativen Vektordaten, die den momentan eingegebenen Vektordaten am nächsten sind, aus lediglich den repräsentativen Vektordaten, die zu der zweiten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, wenn die gelesenen Binärdaten „1" entsprechen, so dass die gelesenen Binärdaten mit dem Code, der die momentan eingegebenen Vektordaten anzeigt kombiniert werden.
  4. Vibrationswellenkodierungsverfahren gemäß Anspruch 1, weiterhin mit den Schritten: Durchführen einer Änderungszustandsbestimmungsverarbeitung des Bestimmens, ob hinsichtlich des zuvor ausgegebenen Code die Bitreihe des Codes das vorbestimmtes Anordnungsmuster aufweist oder nicht, bevor die repräsentativen Vektordaten, die den momentan eingegebenen Vektordaten am nächsten sind ausgewählt werden, und Ändern der in der Speichereinrichtung gemäß einer vorbestimmten Änderungsregel zu speichernden Teilungsbefehlsinformationen, wenn eine bestätigende Bestimmung durch die Änderungszustandsbestimmungsverarbeitung erfolgt.
  5. Vibrationswellendekodierungsverfahren zum sukzessiven Eingeben des Codes, der durch das Kodierungsverfahren gemäß Anspruch 1 erzeugt wurde, mit Extrahieren der repräsentativen Vektordaten der von dem Code, aus dem selben Codebuch wie das Codebuch gemäß Anspruch 1, angezeigten Nummer, jedes mal wenn der Code eingegeben wird, und Wiedergeben der dem momentan eingegebenen Code entsprechenden Wellenform aus den extrahierten repräsentativen Vektordaten, um die Vibrationswelle wiederherzustellen, wobei das Vibrationswellendekodierungsverfahren aus folgenden Schritten besteht: Speichern der selben Teilungsbefehlinformationen wie die Teilungsbefehlinformationen gemäß Anspruch 1, die anzeigen, dass jedes der in dem Codebuch gespeicherten repräsentativen Vektordaten entweder zu einer ersten Gruppe oder einer zweiten Gruppe in einer vorbestimmten Speichereinrichtung gehört; und Bestimmen, dass der Code mit den Binärdaten „0" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der ersten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, Bestimmen, dass der Code mit den Binärdaten „1" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der zweiten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, und Trennen der anderen Binärdaten von dem momentan eingegebenen Code.
  6. Vibrationswellendekodierungsverfahren zum sukzessiven Eingeben des Codes, der durch das Kodierungsverfahren gemäß Anspruch 2 erzeugt wurde, mit Extrahieren der repräsentativen Vektordaten der von dem Code, aus dem selben Codebuch wie das Codebuch gemäß Anspruch 1, angezeigten Nummer, jedes mal wenn der Code eingegeben wird, und Wiedergeben der dem momentan eingegebenen Code entsprechenden Wellenform aus den extrahierten repräsentativen Vektordaten, um die Vibrationswelle wiederherzustellen, wobei das Vibrationswellendekodierungsverfahren aus folgenden Schritten besteht: Speichern der selben Teilungsbefehlinformationen wie die Teilungsbefehlinformationen gemäß Anspruch 1, die anzeigen, dass jedes der in dem Codebuch gespeicherten repräsentativen Vektordaten entweder zu einer ersten Gruppe oder einer zweiten Gruppe in einer vorbestimmten Speichereinrichtung gehört; Bestimmen, dass der Code mit den Binärdaten „0" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der ersten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, Bestimmen, dass der Code mit den Binärdaten „1" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der zweiten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, und Durchführen einer Trennungsverarbeitung, um die anderen Binärdaten von dem momentan eingegebenen Code zu trennen, und Durchführen der selben Änderungszustandsbestimmungsverarbeitung wie die Änderungszustandsbestimmungsverarbeitung gemäß Anspruch 2, hinsichtlich dem zuvor eingegebenen Code, bevor die Trennungsverarbeitung hinsichtlich dem momentan eingegebenen Code durchgeführt wird, und Durchführen einer Änderungsverarbeitung, um die in der Speichereinrichtung gemäß der selben Änderungsregel wie der Änderungsregel gemäß Anspruch 2 zu speichernden Teilungsbefehlsinformationen zu ändern, wenn eine bestätigende Bestimmung durch die Änderungszustandsbestimmungsverarbeitung erfolgt.
  7. Vibrationswellendekodierungsverfahren zum sukzessiven Eingeben des Codes, der durch das Kodierungsverfahren gemäß Anspruch 3 erzeugt wurde, mit Extrahieren der repräsentativen Vektordaten der von dem Code, aus dem selben Codebuch wie das Codebuch gemäß Anspruch 3, angezeigten Nummer, jedes mal wenn der Code eingegeben wird, und Wiedergeben der dem momentan eingegebenen Code entsprechenden Wellenform aus den extrahierten repräsentativen Vektordaten, um die Vibrationswelle wiederherzustellen, wobei das Vibrationswellendekodierungsverfahren aus folgenden Schritten besteht: Speichern der selben Teilungsbefehlinformationen wie die Teilungsbefehlinformationen gemäß Anspruch 3, die anzeigen, dass jedes der in dem Codebuch gespeicherten repräsentativen Vektordaten entweder zu einer ersten Gruppe oder einer zweiten Gruppe in einer vorbestimmten Speichereinrichtung gehört; Durchführen der selben Entstehungszustandsbestimmungsverarbeitung wie die Entstehungszustandsbestimmungsverarbeitung gemäß Anspruch 3 hinsichtlich dem zuvor eingegebenen Code, wenn der Code eingegeben wird; und wenn eine bestätigende Bestimmung durch die Entstehungszustandsbestimmungsverarbeitung erfolgt, Bestimmen, dass der Code mit den Binärdaten „0" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der ersten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, Bestimmen, dass der Code mit den Binärdaten „1" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der zweiten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, und Trennen der anderen Binärdaten von dem momentan eingegebenen Code.
  8. Vibrationswellendekodierungsverfahren zum sukzessiven Eingeben des Codes, der durch das Kodierungsverfahren gemäß Anspruch 4 erzeugt wurde, mit Extrahieren der repräsentativen Vektordaten der von dem Code, aus dem selben Codebuch wie das Codebuch gemäß Anspruch 3, angezeigten Nummer, jedes mal wenn der Code eingegeben wird, und Wiedergeben der dem momentan eingegebenen Code entsprechenden Wellenform aus den extrahierten repräsentativen Vektordaten, um die Vibrationswelle wiederherzustellen, wobei das Vibrationswellendekodierungsverfahren aus folgenden Schritten besteht: Speichern der selben Teilungsbefehlinformationen wie die Teilungsbefehlinformationen gemäß Anspruch 3, die anzeigen, dass jedes der in dem Codebuch gespeicherten repräsentativen Vektordaten entweder zu einer ersten Gruppe oder einer zweiten Gruppe in einer vorbestimmten Speichereinrichtung gehört; Durchführen der selben Entstehungszustandsbestimmungsverarbeitung wie die Entstehungszustandsbestimmungsverarbeitung gemäß Anspruch 3 hinsichtlich dem zuvor eingegebenen Code, wenn der Code eingegeben wird; wenn eine bestätigende Bestimmung durch die Entstehungszustandsbestimmungsverarbeitung erfolgt, Bestimmen, dass der Code mit den Binärdaten „0" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der ersten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, Bestimmen, dass der Code mit den Binärdaten „1" kombiniert wird, wenn die von dem momentan eingegebenen Code angezeigte Nummer die Nummer der repräsentativen Vektordaten ist, die zu der zweiten Gruppe gehören, wie von den in der Speichereinrichtung gespeicherten, in den repräsentativen Vektordaten in dem Codebuch gespeicherten Teilungsbefehlsinformationen angezeigt, und Trennen der anderen Binärdaten von dem momentan eingegebenen Code; und Durchführen der selben Änderungszustandsbestimmungsverarbeitung wie die Änderungszustandsbestimmungsverarbeitung gemäß Anspruch 4, hinsichtlich dem zuvor eingegebenen Code, bevor die Entstehungszustandsbestimmungsverarbeitung durchgeführt wird, und Ändern der in der Speichereinrichtung gemäß der selben Änderungsregel wie die Änderungsregel in Anspruch 4 zu speichernden Teilungsbefehlsinformationen, wenn eine bestätigende Bestimmung durch die Änderungszustandsbestimmungsverarbeitung erfolgt.
DE69839312T 1998-01-13 1998-01-30 Kodierverfahren für vibrationswellen Expired - Lifetime DE69839312T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10005150A JP3022462B2 (ja) 1998-01-13 1998-01-13 振動波の符号化方法及び復号化方法
JP515098 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
DE69839312D1 DE69839312D1 (de) 2008-05-08
DE69839312T2 true DE69839312T2 (de) 2009-04-09

Family

ID=11603258

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69839312T Expired - Lifetime DE69839312T2 (de) 1998-01-13 1998-01-30 Kodierverfahren für vibrationswellen

Country Status (6)

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

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 한국전자통신연구원 디지털 오디오의 워터마크 삽입/추출 장치 및 방법
US20030158730A1 (en) * 2002-02-04 2003-08-21 Yasuji Ota Method and apparatus for embedding data in and extracting data from voice code
JP4330346B2 (ja) * 2002-02-04 2009-09-16 富士通株式会社 音声符号に対するデータ埋め込み/抽出方法および装置並びにシステム
US7310596B2 (en) 2002-02-04 2007-12-18 Fujitsu Limited Method and system for embedding and extracting data from encoded 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 音声信号符号化方法、音声信号復号化方法、送信機、受信機、及びワイヤレスマイクシステム
JP5452915B2 (ja) 2005-05-26 2014-03-26 エルジー エレクトロニクス インコーポレイティド オーディオ信号の符号化/復号化方法及び符号化/復号化装置
EP1908057B1 (de) 2005-06-30 2012-06-20 LG Electronics Inc. Verfahren und vorrichtung zum decodieren eines audiosignals
JP4568363B2 (ja) 2005-08-30 2010-10-27 エルジー エレクトロニクス インコーポレイティド オーディオ信号デコーディング方法及びその装置
US7788107B2 (en) 2005-08-30 2010-08-31 Lg Electronics Inc. Method for decoding an audio signal
US8577483B2 (en) 2005-08-30 2013-11-05 Lg Electronics, Inc. Method for decoding an audio signal
US7783494B2 (en) 2005-08-30 2010-08-24 Lg Electronics Inc. Time slot position coding
JP5329963B2 (ja) 2005-10-05 2013-10-30 エルジー エレクトロニクス インコーポレイティド 信号処理方法及び装置、エンコーディング及びデコーディング方法並びにそのための装置
US7672379B2 (en) 2005-10-05 2010-03-02 Lg Electronics Inc. Audio signal processing, encoding, and decoding
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
US7751485B2 (en) 2005-10-05 2010-07-06 Lg Electronics Inc. Signal processing using pilot based coding
KR100857111B1 (ko) 2005-10-05 2008-09-08 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
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
US7653533B2 (en) 2005-10-24 2010-01-26 Lg Electronics Inc. Removing time delays in signal paths
US7752053B2 (en) 2006-01-13 2010-07-06 Lg Electronics Inc. Audio signal processing using pilot based coding
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
DK2082527T3 (en) * 2006-10-18 2015-07-20 Destiny Software Productions Inc Methods for watermarking media data
WO2008108702A1 (en) * 2007-03-02 2008-09-12 Telefonaktiebolaget Lm Ericsson (Publ) Non-causal postfilter
CA2712817C (en) * 2008-02-20 2016-06-21 D-Box Technologies Inc. Transporting vibro-kinetic signals in a digital cinema environment
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 松下電器産業株式会社 音声符号化装置
DE69431622T2 (de) * 1993-12-23 2003-06-26 Koninkl Philips Electronics Nv Verfahren und gerät zum kodieren von mit mehreren bits kodiertem digitalem ton durch subtraktion eines adaptiven zittersignals, einfügen von versteckten kanalbits und filtrierung, sowie kodiergerät zur verwendung bei diesem verfahren
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
US6539356B1 (en) 2003-03-25
DE69839312D1 (de) 2008-05-08
JP3022462B2 (ja) 2000-03-21
EP1049259A1 (de) 2000-11-02
WO1999037028A1 (fr) 1999-07-22
KR20010034083A (ko) 2001-04-25
EP1049259B1 (de) 2008-03-26
EP1049259A4 (de) 2005-07-06
JPH11205153A (ja) 1999-07-30
KR100478959B1 (ko) 2005-03-25

Similar Documents

Publication Publication Date Title
DE69839312T2 (de) Kodierverfahren für vibrationswellen
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE69927505T2 (de) Verfahren zum einfügen von zusatzdaten in einen audiodatenstrom
DE60120766T2 (de) Indizieren von impulspositionen und vorzeichen in algebraischen codebüchern zur codierung von breitbandsignalen
DE602004005784T2 (de) Verbesserte Anregung für Höherband-Kodierung in einem Codec basierend auf Frequenzbandtrennungs-Kodierungsverfahren
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
AT405346B (de) Verfahren zum herleiten der nachwirkperiode in einem sprachdecodierer bei diskontinuierlicher übertragung, sowie sprachcodierer und sender-empfänger
DE69631318T2 (de) Verfahren und Vorrichtung zur Erzeugung von Hintergrundrauschen in einem digitalen Übertragungssystem
DE69735097T2 (de) Verfahren und vorrichtung zur verbesserung der sprachqualität in tandem-sprachkodierern
DE69531471T2 (de) Mehrkanalsignalkodierung unter Verwendung gewichteter Vektorquantisierung
DE102008016502B4 (de) Verfahren zur Datenübermittlung über einen Sprachkanal eines drahtlosen Kommunikationsnetzes unter Verwendung einer kontinuierlichen Signalmodulation
EP2062254B1 (de) Steganographie in digitalen signal-codierern
DE60026660T2 (de) Fehlererkennung und Fehlerverdeckung für kodierte Sprachdaten
DE3736193C2 (de)
DE60027956T2 (de) Sprachkodierung mit variabler BIT-Rate
DE60220307T2 (de) Verfahren zur übertragung breitbandiger tonsignale über einen übertragungskanal mit verminderter bandbreite
EP1953739A2 (de) Verfahren und Vorrichtung zur Geräuschunterdrückung
DE60100784T2 (de) Akustischer Internet-Zugriff
DE602004012600T2 (de) Transcodierung zwischen den indizes von mehrimpuls-wörterbüchern zur codierung bei der digitalen signalkomprimierung
KR950022169A (ko) 할당된 전송매체 대역폭을 효율적으로 이용하는 장치 및 방법
DE69827545T2 (de) Vorrichtung zur Erzeugung von Hintergrundrauschen
DE60222627T2 (de) Datenverarbeitungsgerät
EP0658874B1 (de) Verfahren und Schaltungsanordnung zur Vergrösserung der Bandbreite von schmalbandigen Sprachsignalen
DE69920255T2 (de) Verarbeitung von empfangenen daten in einem verteilten spracherkennungssystem
DE60224498T2 (de) Pitch-cycle-suchbereichseinstelleinrichtung und pitch-cycle-sucheinrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition