-
GEBIET DER ERFINDUNG
-
Diese Erfindung betrifft das Gebiet der Stimmentransformation (voice transformation) oder Stimmverformung (voice morphing) mit codierten Informationen. Im Besonderen betrifft die Erfindung Stimmentransformationen zum Verhindern einer betrügerischen Verwendung von modifizierter Sprache.
-
HINTERGRUND DER ERFINDUNG
-
Eine Stimmentransformation ermöglicht die Veränderung von Sprachproben einer Person im Rahmen der technischen Sprachaufnahme und -wiedergabe, so dass die veränderten Sprachproben klingen, als stammten sie von jemand anderem. Es gibt zwei Arten von Stimmentransformationen:
- • Modifizieren der Stimme ohne ein spezifisches Ziel. Ein Beispiel ist das Absenken der Tonhöhe um einen konstanten Betrag.
- • Modifizieren der Stimme, so dass sie einem Zielsprecher so ähnlich wie möglich klingt.
-
Die Verwendungsmöglichkeiten für eine Stimmentransformation sind vielfältig. Es folgen einige Beispiele:
- • Filmsynchronisation (film dubbing). Dies ermöglicht einem Schauspieler das Synchronisieren mehrerer Stimmen in einem Film und außerdem eine Synchronisation in verschiedenen Sprachen, wobei die Stimme des ursprünglichen Schauspielers beibehalten wird.
- • Telefondienste. Verschiedene Dienste ermöglichen es einem Anrufer, seine Stimme zu verändern. Ein Beispiel ist das Versenden eines Geburtstagsgru-ßes an ein Kind mit der Stimme seiner Lieblingscomicfigur oder eines Prominenten.
- • Spielwaren. Eine Stimmentransformation kann in Spielen und Spielwaren verwendet werden, um verschiedene Stimmen zu erzeugen. Ein Beispiel ist eine Puppe, die wie ein Papagei mit einer Papageienstimme wiederholt, was zu ihr gesagt wird.
- • Musikindustrie. Programme zur Stimmentransformation, wie beispielsweise das Programm AUTO-TUNE (AUTO-TUNE ist ein Warenzeichen von Antares Audio Technologies), sind in der Musikindustrie sehr weit verbreitet.
- • Online-Chat. Text-Chat und SMS (Short Message Service) können mit einer der Stimme des Absenders ähnelnden Stimme in Sprache umgewandelt werden.
- • Spiele (Gaming). Dadurch wird es Spielern von Online-Spielen ermöglicht, anstatt mit ihrer eigenen Stimme mit der Stimme ihrer virtuellen Online-Figur zu sprechen.
- • In den falschen Händen können Stimmentransformationsprogramme jedoch auch unsachgemäß verwendet werden. Zu Beispielen für eine unsachgemäße Verwendung gehören die folgenden:
- • Sich ohne deren Einverständnis für eine andere Person ausgeben.
- • Stimmenverfälschung (voice disguising) bei der Ausführung illegaler Aktionen, um eine Identifizierung zu verhindern.
-
Derzeit ist es normalerweise möglich, zwischen einer natürlichen und einer transformierten Stimme zu unterscheiden, und es ist nicht möglich, einen anderen Sprecher vollständig nachzuahmen. Mit dem Voranschreiten der Forschung dürfte die Qualität eines Stimmentransformationssystems erwartungsgemäß innerhalb einiger Jahre hoch genug sein, so dass sie von einer natürlichen Stimme und von einem kopierten Sprecher nicht zu unterscheiden ist.
-
KURZE ZUSAMMENFASSUNG
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Stimmentransformation bereitgestellt, wobei das Verfahren aufweist: Transformieren einer Quellsprachaufnahme (source speech) unter Verwendung von Transformationsparametern, wobei die Transformation der Quellsprachaufnahme den Eindruck vermittelt, die Sprache einer anderen Person zu enthalten; Codieren von Informationen zu den Transformationsparametern in eine Sprachausgabe unter Verwendung von Steganografie (steganography); wobei die Quellsprachaufnahme unter Verwendung der Sprachausgabe und der Informationen zu den Transformationsparametern rekonstruiert werden kann.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Rückgängigmachen einer Stimmentransformation bereitgestellt, wobei das Verfahren aufweist: Empfangen einer Sprachausgabe eines Stimmentransformationssystems, wobei es sich bei der Sprachausgabe um eine transformierte Quellsprachaufnahme handelt, die codierte Informationen zu den Transformationsparametern unter Verwendung von Steganografie aufweist; Entnehmen der Informationen zu den Transformationsparametern; und Ausführen einer Umkehrtransformation (inverse transformation) der Sprachausgabe, um eine Annäherung an eine Quellsprachaufnahme zu erhalten.
-
Unter einem dritten Aspekt der vorliegenden Erfindung wird ein System zur Stimmentransformation bereitgestellt, wobei das System aufweist: einen Prozessor; eine Stimmentransformationskomponente zum Transformieren einer Quellsprachaufnahme unter Verwendung von Transformationsparametern, wobei die Transformation der Quellsprachaufnahme den Eindruck vermittelt, die Sprache einer anderen Person zu enthalten; und eine Steganografiekomponente zum Codieren von Informationen zu den Transformationsparametern in eine Sprachausgabe unter Verwendung von Steganografie; wobei die Quellsprachaufnahme unter Verwendung der Sprachausgabe und der Informationen zu den Transformationsparametern rekonstruiert werden kann.
-
Unter einem vierten Aspekt der vorliegenden Erfindung wird ein System zum Rückgängigmachen einer Stimmentransformation in einer Spracheingabe bereitgestellt, wobei das System aufweist: einen Prozessor; eine Sprachaufnahmeeinrichtung zum Empfangen einer Spracheingabe, wobei es sich bei der eingegebenen Spracheingabe um eine Transformation einer Quellsprachaufnahme handelt, die codierte Informationen zu den Transformationsparametern unter Verwendung von Steganografie aufweist; eine Steganografiedecodierkomponente (steganography decoder component) zum Decodieren der Informationen zu den Transformationsparametern aus der eingegebenen Spracheingabe; und eine Stimmenrekonstruktionskomponente (voice reconstruction component) zum Ausführen einer Umkehrtransformation der Spracheingabe, um eine Annäherung an die Quellsprachaufnahme zu erhalten.
-
Unter einem fünften Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt zur Stimmentransformation bereitgestellt, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium mit einem darin enthaltenen computerlesbaren Programmcode, wobei der computerlesbare Programmcode aufweist: einen computerlesbaren Programmcode, der eine Datenverarbeitungsvorrichtung veranlasst, die folgenden Verfahrensschritte auszuführen, wenn das Programm in der Datenverarbeitungsvorrichtung ausgeführt wird: Transformieren einer Quellsprache unter Verwendung von Transformationsparametern, wobei die Transformation der Quellsprachaufnahme den Eindruck vermittelt, die Sprache einer anderen Person zu enthalten; und Codieren von Informationen zu den Transformationsparametern in eine Sprachausgabe unter Verwendung von Steganografie; wobei die Quellsprachaufnahme unter Verwendung der Sprachausgabe und der Informationen zu den Transformationsparametern rekonstruiert werden kann.
-
Figurenliste
-
Im Folgenden werden bevorzugte Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
- 1 ist ein Ablaufplan einer ersten Ausführungsform eines Verfahrens zur Stimmentransformation gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
- 2 ist ein Ablaufplan einer zweiten Ausführungsform eines Verfahrens zur Stimmentransformation gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
- 3 ist ein Ablaufplan einer Ausführungsform eines Verfahrens zur Rekonstruktion einer Stimmentransformation gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
- 4 ist ein Ablaufplan eines Aspekts des Verfahrens zur Rekonstruktion einer Stimmentransformation gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
- 5 ist ein Blockschaubild einer ersten Ausführungsform eines Systems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
- 6 ist ein Blockschaubild einer zweiten Ausführungsform eines Systems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
- 7 ist ein Blockschaubild eines Stimmenrekonstruktionssystems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung; und
- 8 ist ein Blockschaubild eines Computersystems, in dem die vorliegende Erfindung implementiert werden kann.
-
Es ist klar, dass die in den Figuren gezeigten Elemente der Einfachheit und Klarheit halber nicht unbedingt maßstabsgetreu gezeichnet worden sind. Beispielsweise können einige der Elemente im Vergleich zu anderen Elementen der Klarheit halber übertrieben groß dargestellt sein. Außerdem können Bezugsziffern in den Figuren zum Aufzeigen entsprechender oder analoger Merkmale wiederholt werden, wenn dies für zweckdienlich erachtet wird.
-
AUSFÜHRLICHE BECSHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In der folgenden ausführlichen Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der Erfindung zu ermöglichen. Für Fachleute versteht es sich jedoch von selbst, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten in die Praxis umgesetzt werden kann. In anderen Fällen wurden allgemein bekannte Verfahren, Prozeduren und Komponenten nicht in allen Einzelheiten beschrieben, um die vorliegende Erfindung nicht zu verdecken.
-
Die hierin verwendete Terminologie dient lediglich zur Beschreibung bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Wie hierin verwendet sollen die Singularformen „ein(e)“ und „der/die/das“ auch die Pluralformen mit einschließen, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Außerdem versteht es sich von selbst, dass die Begriffe „aufweist“ und/oder „aufweisend“ bei Verwendung in dieser Beschreibung das Vorhandensein von dargelegten Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Komponenten angeben, jedoch das Vorhandensein oder Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen von diesen nicht ausschließen.
-
Zu den entsprechenden Strukturen, Materialien, Vorgängen und Äquivalenten von allen Mitteln oder Schritt-plus-Funktion-Elementen in den folgenden Ansprüchen sollen eine beliebige Struktur, ein beliebiges Material oder ein beliebiger Vorgang zum Ausführen der Funktion zusammen mit anderen beanspruchten Elementen gehören, wie sie im Einzelnen beansprucht werden. Die Beschreibung der vorliegenden Erfindung dient der Veranschaulichung und Beschreibung, soll jedoch nicht erschöpfend sein oder die Erfindung auf die offenbarte Form beschränken. Viele Modifikationen und Änderungen sind für Fachleute offensichtlich, ohne vom Schutzumfang und Gedanken der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um den Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern und anderen Fachleuten ein Verständnis der Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu ermöglichen, wie sie für die jeweils beabsichtigte Verwendung geeignet sind.
-
Es werden ein Verfahren, ein System und ein Computerprogrammprodukt beschrieben, in dem steganografische Daten oder Wasserzeichendaten zu transformierter Sprache hinzugefügt werden, so dass diese identifiziert und in die Originalstimme rücktransformiert werden kann. Das Hinzufügen von steganografischen Daten zur Sprache hat lediglich einen geringen Einfluss auf die Qualität, so dass die Ausgabe des Systems für die meisten gebräuchlichen Anwendungen nutzbar ist.
-
Transformationsparameter werden mittels Steganografie in die transformierte Sprache codiert, so dass die ursprüngliche Sprache rekonstruiert werden kann. Die Transformationsparameter können aus der transformierten Sprache abgerufen und zum Rekonstruieren der ursprünglichen Sprache durch Anwenden der Umkehrtransformation verwendet werden.
-
In einer Ausführungsform können die Transformationsparameter nach erfolgter Stimmentransformation unter Verwendung von Steganografie hinzugefügt werden.
-
In einer anderen Ausführungsform kann ein Stimmentransformationssystem die Transformationsparameter codieren, indem die Transformationsparameter in die Modulation der Parameter der transformierten Sprache codiert werden.
-
In manchen Fällen kann die Transformation nicht umgekehrt werden. In solchen Fällen sind die codierten Transformationsparameter diejenigen, die bei Anwendung auf die modifizierte Sprache diese so nahe wie möglich an die ursprüngliche Sprache heranbringen sollten. Anstatt die Transformationsparameter selbst zu codieren, können die Umkehrparameter codiert werden.
-
Wenn jemand dies verwendet, um eine betrügerische oder kriminelle Handlung zu begehen (beispielsweise Anrufen bei einer Bank, wobei derjenige sich für eine andere Person ausgibt), kann das Wasserzeichen in der aufgezeichneten Sprache erkannt und verwendet werden, um die transformierte Sprache wieder in die ursprüngliche Sprache (oder eine enge Annäherung an diese) umzukehren. Dies kann zu einem späteren Zeitpunkt verwendet werden, um den Benutzer ausfindig zu machen.
-
Jeder, der die Möglichkeit von Anrufen unter Verwendung eines Stimmentransformationssystems ausschließen möchte, kann ein System hinzufügen, welches das Vorhandensein des Wasserzeichens erkennt und ein Warnsignal ausgibt, wenn es in der eingehenden Sprache vorhanden ist.
-
Unter Bezugnahme auf 1 zeigt ein Ablaufplan 100 eine erste Ausführungsform des beschriebenen Verfahrens. Eine Quellsprache wird empfangen 101 und eine Stimmentransformation von einem Stimmentransformationssystem ausgeführt 102. Eine transformierte Sprache wird erzeugt 103.
-
Stimmentransformationssysteme wenden in Abhängigkeit von verschiedenen abstimmbaren Parametern verschiedene Transformationen auf die eingegebene Sprache an. Zu Beispielen für abstimmbare Parameter gehören: Tonhöhenmodifikationsparameter (pitch modification parameters), spektrale Transformationsmatrizes (spectral transformation matrices), Gauss-Mischverteilungs- (GMM-) Koeffizienten (Gaussian mixtures (GMM) coefficients), Beschleunigungs/Verlangsamungs-Verhältnisse (speed up/slow down ratios), Rauschpegelmodifikationsparameter (noise level modification parameters) usw. Die Parameter können aus einer Liste von voreingestellten Konfigurationen ausgewählt, manuell abgestimmt oder durch das Vergleichen von Sprachproben, die von den beiden Stimmen stammen, automatisch trainiert werden.
-
Die bei der Stimmentransformation verwendeten Transformationsparameter werden festgelegt 104 und Informationen zu den Transformationsparametern erzeugt 105. Bei den Informationen zu den Transformationsparametern kann es sich um folgende handeln: die Transformationsparameter selbst, Umkehrtransformationsparameter, codierte oder verschlüsselte Transformationsparameter oder Umkehrtransformationsparameter oder einen Annäherungswert der Transformationsparameter oder der Umkehrtransformationsparameter.
-
Diese Informationen zu den Transformationsparametern können einen Index in eine entfernt angeordnete Datenbank beinhalten, in der die Parameter selbst gespeichert sind. Der Index kann das Abrufen der Parameter aus der Datenbank ermöglichen. Die Transformationsparameter können beispielsweise auf einer Website platziert werden, und der URL von diesen Parametern (z.B. http://www ....) kann in die Sprache codiert werden.
-
Die Informationen zu den Transformationsparametern können quantisierte Transformationsparameter aus dem Stimmentransformationssystem (oder die Umkehrtransformationsparameter) beinhalten, die in einer binären Form codiert und eventuell auch komprimiert und verschlüsselt sind. Die binären Daten können sodann unter Verwendung eines Steganografieverfahrens in die Sprachausgabe codiert werden.
-
Auf die transformierte Sprache wird ein Steganografieverfahren angewandt 106, um die Informationen zu den Transformationsparametern in die transformierte Sprache zu codieren. Dies erfolgt durch Verknüpfen der Informationen zu den Transformationsparametern als steganografisches Signal (in Form von verborgenen Daten oder einem Wasserzeichen) mit der transformierten Sprache, um die Sprachausgabe zu erzeugen 107. Auf Audiodaten angewandte Steganografieverfahren können von einfachen Algorithmen, die Informationen in Form von Rauschen (signal noise) einfügen, bis hin zu komplexen Algorithmen reichen, die aufwändige Signalverarbeitungstechniken zum Verbergen der Informationen verwenden. Zu Beispielen für Audiosteganografie gehören LSB-Codierung (LSB (least significant bit) coding), Paritätscodierung, Phasencodierung, Frequenzspreizung (spread spectrum) und Echo-Hiding.
-
Unter Bezugnahme auf 2 zeigt ein Ablaufplan 200 eine Ausführungsform des beschriebenen Verfahrens, wenn es in einem Stimmentransformationssystem ausgeführt wird. Eine Quellsprachrepräsentation wird empfangen 201, und die enthaltene Quellsprache wird modelliert 202, um Modellparameter zu erhalten 203.
-
Es werden Transformationsparameter erzeugt 204, die auf die Modellparameter angewandt werden, um die Modellparameter der Quellsprache zu modifizieren 205.
-
Informationen zu den Transformationsverfahren können wie im Verfahren von 1 erzeugt werden 206. Bei den Informationen zu den Transformationsparametern kann es sich um eine von folgenden handeln: die Transformationsparameter selbst, Umkehrtransformationsparameter, codierte oder verschlüsselte Transformationsparameter oder Umkehrtransformationsparameter oder eine Annäherung der Transformationsparameter oder der Umkehrtransformationsparameter. Zu den Informationen zu den Transformationsparametern können quantisierte Transformationsparameter aus dem Stimmentransformationssystem (oder den Umkehrtransformationsparametern) gehören, die in einer binären Form codiert und eventuell auch komprimiert und verschlüsselt sind. Die Transformationsparameter können in einer Datenbank gespeichert sein, und bei den Informationen zu diesen kann es sich um einen Index handeln, welcher deren Abruf aus der Datenbank ermöglicht.
-
Die Informationen zu den Transformationsparametern werden in einem Steganografieverfahren angewandt, indem sie in die modifizierten Modellparameter codiert werden 207. Die codierten modifizierten Modellparameter werden sodann in der endgültigen Sprachsynthese angewandt 208, und eine Sprachausgabe wird erzeugt 209.
-
In der zweiten Ausführungsform werden die codierten Transformationskoeffizienten mit den transformierten Sprachparametern verknüpft. Beispielsweise können die Koeffizienten als geringe Veränderungen am modifizierten Tonhöhenverlauf (pitch curve) der endgültigen Stimme codiert werden.
-
Beispielsweise können die Transformationsdaten vom Stimmentransformationssystem in den Tonhöhenverlauf codiert werden. Stimmentransformationssysteme steuern normalerweise den Tonhöhenverlauf des Ausgangssignals. Die Tonhöhe wird normalerweise für jeden kurzen Rahmen (
5 bis
20 ms) eingestellt. Die ganzzahlige Tonhöhe in Hertz
pn kann für den Rahmen n genommen und das letzte Bit durch ein Bit aus den Daten
dn ersetzt werden:
-
Das Sprachausgabesignal wird sodann mit der neuen Tonhöhe
anstelle von p
n synthetisiert. Der Effekt ist für das menschliche Ohr praktisch unhörbar, ermöglicht jedoch das Codieren von 1 Bit/Rahmen. Zum Entnehmen der Daten aus der Sprachausgabe wird ein Tonhöhendetektor (pitch detector) auf die Audiodaten angewandt, um den Tonhöhenverlauf zu berechnen, und anschließend wird das letzte Bit des Tonhöhenwertes aus jedem Rahmen entnommen.
-
Bezug nehmend auf 3 zeigt ein Ablaufplan 300 eine Ausführungsform des beschriebenen Verfahrens zur Rekonstruktion einer Stimmentransformation.
-
Eine transformierte Sprache wird empfangen 301 und das Vorhandensein eines Wasserzeichens oder anderer steganografischer Daten erkannt 302. Beim Erkennen von steganografischen Daten kann ein Warnsignal ausgegeben werden 303, um einen Empfänger vor der Tatsache zu warnen, dass es sich bei der empfangenen Sprache um transformierte Sprache und nicht die Originalstimme handelt.
-
Die steganografischen Daten werden decodiert 304 und Informationen zu den Transformationsparametern entnommen 305. Wenn es sich bei den Informationen zu den Transformationsparametern um einen Index auf die an anderer Stelle gespeicherten Transformationsparameter handelt, werden die Transformationsparameter abgerufen. Die Informationen zu den Transformationsparametern werden angewandt, um eine Umkehrtransformation der empfangenen Sprachrepräsentation auszuführen 306, um eine größtmögliche Annährung an die ursprüngliche Sprache zu erhalten 307.
-
Einige oder alle der mit Hilfe der Steganografie codierten Informationen zu den Transformationsparametern können außerdem durch verschiedene in der Literatur bekannte Verschlüsselungsverfahren (ciphers) verschlüsselt sein. Auf diese Weise können nur diejenigen, die Zugang zum Entschlüsselungsschlüssel haben (z.B. Vollzugsbehörden (law enforcement agencies)), die Informationen zu den Transformationsparametern entschlüsseln und die Sprache wieder in die ursprüngliche Sprache transformieren.
-
Anstatt die Transformationsparameter zu codieren, kann das System die Umkehrtransformationsparameter codieren. Wenn die Transformation nicht umkehrbar ist (z.B. ist die Abtastrate verringert), kann das System die Parameter codieren, welche die Transformation der Quellsprachaufnahme wieder so nahe wie möglich an die Quellsprachaufnahme heranbringen.
-
Der Stimmentransformationsparametersatz wird normalerweise von einem Optimierungsprozess berechnet, der die besten Parameter findet, die bei Anwendung auf den Satz von Quellsprachproben diese soweit wie möglich wie ein Satz einer Zielprobe klingen lassen. Bei einigen dieser Parameter ist die Umkehrung einfach. Wenn beispielsweise die Tonhöhe um Δp erhöht wurde, um von der Quelle zum Ziel zu gelangen, so muss die Tonhöhe um Δp abgesenkt werden, um den Prozess umzukehren. Da der Syntheseprozess jedoch nicht linear ist und einige Parameter auf der Grundlage des Quellsignals dynamisch ausgewählt werden, ist es nicht immer einfach, den Prozess umzukehren.
-
Eine in dem beschriebenen Verfahren verwendete Ausführungsform trainiert einen neuen Satz von Umkehrparametern für die Stimmentransformation, welche die synthetisierte Sprache am besten in die Quellsprachaufnahme zurück transformieren, und codiert diese Parameter in die transformierte Sprache.
-
Unter Bezugnahme auf 4 zeigt ein Ablaufplan 400 ein Verfahren zum Trainieren von Umkehrparametern. Eine Quellsprachrepräsentation 401 und eine Zielsprachrepräsentation 402 werden als Eingaben zum Trainieren 403 von Transformationsparametern 404 verwendet. Die Quellsprachrepräsentation 401 wird unter Verwendung der trainierten Transformationsparameter 404 transformiert 405, so dass eine transformierte Sprachrepräsentation 406 ausgegeben wird.
-
Die Umkehrparameter können durch Eingeben der transformierten Sprachrepräsentation 406 und der Quellsprachrepräsentation 401 trainiert werden, um Umkehrparameter 410 zu trainieren. Die trainierten Umkehrparameter können verwendet werden, um die in der transformierten Sprachrepräsentation enthaltene Sprache mit einer größtmöglichen Annäherung an die Quellsprache zu rekonstruieren.
-
Unter Bezugnahme auf 5 zeigt ein Blockschaubild eine erste Ausführungsform des beschriebenen Systems 500. Es wird ein System 500 bereitgestellt, das einen Sprachempfänger 501 zum Empfangen einer Quellsprachrepräsentation 502 aufweist, die von einer Stimmentransformationskomponente 510 verarbeitet werden muss, die Transformationsparameter 511 zum Bereitstellen einer transformierten Sprachrepräsentation 512 verwendet.
-
Es kann eine Transformationsparameter-Kompilierungskomponente (transformation parameter compiling component) 520 bereitgestellt werden, welche die Transformationsparameter 511 in zu codierende Informationen 521 kompiliert. Zu der Transformationsparameter-Kompilierungskomponente 520 können eine Quantisierungskomponente (quantizing component) 522 zum Quantisieren der Parameter, eine Komponente 523 für einen binären Strom (binary stream component) zum Umwandeln der quantisierten Parameter in einen binären Strom, eine Komprimierungskomponente (compression component) 524 zum Komprimieren der Informationen und eine Verschlüsselungskomponente 525 zum Verschlüsseln der Informationen gehören. Die Transformationsparameter-Kompilierungskomponente 520 kann außerdem eine Komponente 526 zum Trainieren von Umkehrtransformationsparametern aufweisen, um Umkehrtransformationsparameter aus der eingegebenen Sprache und der transformierten Sprache bereitzustellen. Die Transformationsparameter-Kompilierungskomponente 520 kann eine Indexkomponente 527 aufweisen, um entfernt gespeicherte Transformationsparameter in den zu codierenden Informationen 521 mit einem Index zu versehen.
-
Es wird eine Steganografiekomponente 530 zum Codieren der Informationen 521 zu den Transformationsparametern in die transformierte Sprachrepräsentation 512 bereitgestellt, um eine codierte transformierte Sprachrepräsentation 531 zu erzeugen. Es kann eine Sprachausgabekomponente (speech output component) 540 bereitgestellt werden, um die transformierte Sprache mit codierten Transformationsparameterinformationen auszugeben.
-
Unter Bezugnahme auf 6 zeigt ein Blockschaubild eine zweite Ausführungsform des beschriebenen Systems, die in ein Stimmentransformationssystem 600 integriert ist.
-
Das Stimmentransformationssystem 600 kann einen Sprachempfänger 601 zum Empfangen einer zu verarbeitenden Quellsprache 602 aufweisen. Es wird eine Sprachmodellierkomponente (speech modelling component) 603 bereitgestellt, die Modellparameter 604 der Quellsprache 602 erzeugt. Eine Transformationsparameterkomponente 605 erzeugt zu verwendende Transformationsparameter 606. Es kann eine Parametermodifizierungskomponente (parameter modification component) 607 zum Anwenden der Transformationsparameter 606 auf die Modellparameter 604 bereitgestellt werden, um modifizierte Modellparameter 608 zu erhalten.
-
Es kann eine Transformationsparameter-Kompilierungskomponente 620 bereitgestellt werden, welche die Transformationsparameter 606 in zu codierende Informationen 621 kompiliert. Zu der Kompilierungskomponente 620 können eine oder mehrere der im Zusammenhang mit der Kompilierungskomponente 520 von 5 beschriebenen Komponenten gehören.
-
Es wird eine Steganografiekomponente 630 zum Codieren der Informationen 521 in die modifizierten Modellparameter 608 bereitgestellt, um codierte modifizierte Modellparameter 631 zu erzeugen.
-
Es kann eine Sprachsynthesekomponente 640 zum Synthetisieren der Quellsprache mit den codierten modifizierten Modellparametern 631 bereitgestellt werden, um codierte transformierte Sprache 641 zu erzeugen. Es wird eine Sprachausgabekomponente 650 zum Ausgeben einer Sprachausgabe in Form der transformierten Sprache mit codierten Transformationsparameterinformationen bereitgestellt.
-
Unter Bezugnahme auf 7 zeigt ein Blockschaubild ein Rekonstruktionssystem 700 zum Rekonstruieren der Quellsprache aus der transformierten Sprache. Es wird ein Sprachempfänger 701 zum Empfangen von eingegebener Sprache bereitgestellt. Es kann eine Erkennungskomponente (detection component) 702 bereitgestellt werden, die erkennt, ob die eingegebene Sprache ein Steganografiesignal enthält. Es kann eine Warnkomponente (alert component) 703 bereitgestellt werden, die eine Warnung ausgibt, wenn ein Steganografiesignal erkannt wird, um einen Benutzer zu informieren, dass es sich bei der eingegebenen Sprache nicht um eine Originalstimme handelt.
-
Es kann eine Steganografiedecodierkomponente 710 zum Entnehmen der codierten Informationen zu den Transformationsparametern bereitgestellt werden. Die Decodierkomponente 710 kann eine Entschlüsselungskomponente (deciphering component) 711 aufweisen, um die codierten Informationen zu entschlüsseln, wenn diese verschlüsselt sind. Es kann eine Parameterrekonstruktionskomponente 720 bereitgestellt werden, um die Transformationsparameter oder die Umkehrtransformationsparameter aus den codierten Informationen zu rekonstruieren. Die Parameterrekonstruktionskomponente 720 kann mit einem Index versehene Transformationsparameter aus einer entfernt angeordneten Speicherstelle abrufen.
-
Es kann eine Stimmenrekonstruktionskomponente 730 bereitgestellt werden, um die Quellsprache oder eine größtmögliche Annäherung an die ursprüngliche Quellsprache zu rekonstruieren. Es kann eine Ausgabekomponente 740 zum Ausgeben der rekonstruierten Sprache bereitgestellt werden.
-
Unter Bezugnahme auf 8 weist ein beispielhaftes System zum Implementieren von Aspekten der Erfindung ein zum Speichern und/oder Ausführen eines Programmcodes geeignetes Datenverarbeitungssystem 800 auf, das mindestens einen Prozessor 801 beinhaltet, der direkt oder indirekt über ein Bussystem 803 mit Speicherelementen verbunden ist. Zu den Speicherelementen können ein lokaler Speicher, der während der eigentlichen Ausführung des Programmcodes verwendet wird, ein Massenspeicher und Cachespeicher gehören, die eine zeitweilige Speicherung von mindestens einem Programmcode bereitstellen, um die Anzahl von Malen, die der Code während der Ausführung aus dem Massenspeicher abgerufen werden muss, zu verringern.
-
Zu den Speicherelementen können ein Systemspeicher 802 in Form eines Nur-Lese-Speichers (ROM) 804 und eines Direktzugriffsspeichers (RAM) 805 gehören. Ein Basic Input/Output System (BIOS) 806 kann im ROM 804 gespeichert sein. Im RAM 805 kann System-Software 807 gespeichert sein, darunter Betriebssystem-Software 808. Außerdem können Software-Anwendungen 810 im RAM 805 gespeichert sein.
-
Das System 800 kann außerdem ein primäres Speichermittel 811, beispielsweise ein Festplattenlaufwerk, und ein sekundäres Speichermittel 812 aufweisen, beispielsweise ein Magnetplattenlaufwerk und ein optisches Plattenlaufwerk. Die Laufwerke und deren zugehörige computerlesbare Medien stellen ein nichtflüchtiges Speichern von vom Computer ausführbaren Befehlen, Datenstrukturen, Programmmodulen und anderen Daten für das System 800 bereit. Software-Anwendungen können im primären und sekundären Speichermittel 811, 812 sowie im Systemspeicher 802 gespeichert werden.
-
Das Datenverarbeitungssystem 800 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen zu einem oder mehreren entfernt angeordneten Computern über einen Netzwerkadapter 816 betrieben werden.
-
Ein/Ausgabe-Einheiten 813 können direkt oder durch dazwischenliegende E/A-Steuereinheiten mit dem System verbunden werden. Ein Benutzer kann über Eingabeeinheiten, beispielsweise eine Tastatur, eine Zeigereinheit oder andere Eingabeeinheiten (zum Beispiel Mikrofon, Joystick, Spielekonsole, Satellitenschüssel, Scanner oder dergleichen) Befehle und Daten in das System 800 eingeben. Zu Ausgabeeinheiten können Lautsprecher, Drucker usw. gehören. Außerdem ist eine Anzeigeeinheit 814 über eine Schnittstelle, beispielsweise einen Videoadapter 815, mit dem Systembus 803 verbunden.
-
Ein Stimmentransformationssystem mit den obigen Komponenten kann einem Kunden als Dienst über ein Netzwerk bereitgestellt werden. Die Erkennung einer transformierten Stimme und die Umwandlung zurück in die Originalstimme können einem Kunden ebenfalls als Dienst über ein Netzwerk bereitgestellt werden.
-
Wie für Fachleute klar ist, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer kompletten Hardware-Ausführungsform, einer kompletten Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte kombiniert, die hierin im Allgemeinen als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Außerdem können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit einem darin enthaltenen computerlesbaren Programmcode verkörpert ist.
-
Es kann eine beliebige Kombination aus einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Ein computerlesbares Speichermedium kann beispielsweise, ohne jedoch auf diese beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, ein Infrarot- oder Halbleitersystem, eine Vorrichtung oder eine Einheit oder eine beliebige geeignete Kombination aus den vorgenannten sein. Zu spezifischeren Beispielen (eine nichterschöpfende Liste) für das computerlesbare Speichermedium würden die folgenden gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), eine löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Kompaktdisk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination aus den vorgenannten. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm zum Verwenden durch ein oder in Verbindung mit einem Befehlsausführungssystem, einer Vorrichtung oder einer Einheit enthalten oder speichern kann.
-
Zu einem computerlesbaren Signalmedium kann ein weitergeleitetes Datensignal mit einem darin enthaltenen computerlesbaren Programmcode, beispielsweise in einem Basisband oder als Teil einer Trägerwelle, gehören. Ein solches weitergeleitetes Signal kann in einer Vielfalt von Formen vorliegen, unter anderem, ohne jedoch auf diese beschränkt zu sein, elektromagnetisch, optisch oder in einer beliebigen geeigneten Kombination davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zum Verwenden durch ein oder in Verbindung mit einem Befehlsausführungssystem, einer Vorrichtung oder einer Einheit übertragen, weiterleiten oder transportieren kann.
-
Ein in einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, unter anderem, ohne jedoch auf diese beschränkt zu sein, drahtlos, drahtgebunden, über ein Lichtwellenleiterkabel, HF usw. oder eine beliebige geeignete Kombination aus den vorgenannten.
-
Ein computerlesbarer Programmcode zum Ausführen von Arbeitsgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, unter anderem in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen, und herkömmlichen prozeduralen Programmiersprachen, beispielsweise der Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sein. Der Programmcode kann vollständig im Computer des Benutzers, teilweise im Computer des Benutzers, als eigenständiges Software-Paket, teilweise im Computer des Benutzers und teilweise in einem entfernt angeordneten Computer oder vollständig im entfernt angeordneten Computer oder Server ausgeführt werden. Im letzteren Szenario kann der entfernt angeordnete Computer durch einen beliebigen Typ von Netzwerk, unter anderem durch ein lokales Netz (LAN) oder ein überregionales Netz (WAN), mit dem Computer des Benutzers verbunden sein, oder die Verbindung kann mit einem externen Computer (beispielsweise durch das Internet unter Verwendung eines Internet-Dienstanbieters) eingerichtet werden.
-
Aspekte der vorliegenden Erfindung werden oben unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich von selbst, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern durch Computerprogrammbefehle implementiert werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Implementieren der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Vorgänge erzeugen.
-
Diese Computerprogrammbefehle können außerdem in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten steuern kann, so dass diese auf eine bestimmte Weise funktionieren, so dass die im computerlesbaren Medium gespeicherten Befehle einen hergestellten Gegenstand erzeugen, der Befehle aufweist, welche die Funktion/den Vorgang implementieren, die/der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben ist.
-
Die Computerprogrammbefehle können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um das Ausführen einer Reihe von Verarbeitungsschritten im Computer, in der anderen programmierbaren Datenverarbeitungsvorrichtung oder den anderen Einheiten zu veranlassen, um einen computerimplementierten Prozess zu erzeugen, so dass die Befehle, die im Computer oder in der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Prozesse zum Implementieren der im Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Vorgänge bereitstellen.
-
Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise von möglichen Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Codeteil darstellen, der einen oder mehrere ausführbare Befehle zum Implementieren der angegebenen logischen Funktion(en) aufweist. Außerdem sei darauf hingewiesen, dass in einigen alternativen Implementierungen die im Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Beispielsweise können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal in Abhängigkeit von der beteiligten Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Außerdem sei darauf hingewiesen, dass jeder Block der Blockschaubilder und/oder Ablaufplandarstellungen und Kombinationen von Blöcken in den Blockschaubildern und/oder Ablaufplandarstellungen durch spezielle auf Hardware beruhende Systeme, welche die angegebenen Funktionen oder Vorgänge ausführen, oder durch Kombinationen aus spezieller Hardware und Computerbefehlen implementiert werden können.