JP4460159B2 - Preprocessed information embedding system - Google Patents

Preprocessed information embedding system Download PDF

Info

Publication number
JP4460159B2
JP4460159B2 JP2000551352A JP2000551352A JP4460159B2 JP 4460159 B2 JP4460159 B2 JP 4460159B2 JP 2000551352 A JP2000551352 A JP 2000551352A JP 2000551352 A JP2000551352 A JP 2000551352A JP 4460159 B2 JP4460159 B2 JP 4460159B2
Authority
JP
Japan
Prior art keywords
data
data signal
content
segments
segment
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 - Fee Related
Application number
JP2000551352A
Other languages
Japanese (ja)
Other versions
JP2002517111A5 (en
JP2002517111A (en
Inventor
ウォング,ダグラス
リー,チョング・ユー
Original Assignee
ベランス・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ベランス・コーポレイション filed Critical ベランス・コーポレイション
Publication of JP2002517111A publication Critical patent/JP2002517111A/en
Publication of JP2002517111A5 publication Critical patent/JP2002517111A5/ja
Application granted granted Critical
Publication of JP4460159B2 publication Critical patent/JP4460159B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Description

【0001】
本発明は,コピー保護データが中に埋め込まれた,オーディオまたはビデオのようなデジタルまたはアナログコンテントを提供する方法および装置に関する。
【0002】
著作権のあるエンターテインメントを直接,典型的な消費者に通信する能力が急激に増加している。このことは,インターネット,支払いをともなう視聴システムを使用するとき,ケーブルテレビネットワークや他の手段に対してそうである。この増加した能力は,それとともに多くの利点を消費者にもたらす。たとえば,消費者は,オンラインの間,コンテント(たとえば,オーディオまたはビデオ)のサンプルをとるとともに,その日のいつでもコンテンツを購入することができる。しかし,このシステムの,一つの明らかな欠点は,各消費者に,コンテントの,高品質なマスターコピーを提供することである。多くの環境下では,このことは,消費者へ高品質のエンターテインメントを与えることに他ならない。しかし,残念ながら,このことは,不心得者の消費者(たとえば,著作権侵害者)に対し,ほとんど労力を必要としないで,コンテントの違法なコピーをなす手段を与えることになる。
【0003】
とくに,たとえば,インターネットのようなコンピュータネットワークにより,承諾のないコピーや広範囲な配給をなす潜在的な問題がある。コンパクトディスク,デジタルビデオディスクまたは磁気テープのような記憶媒体の不正なダビング,多重コピーの配給とい従来型のものもまた問題である。どの場合も,特定の受領者に属するような特定のコピーを指定する消費者に,最初に送信したコピーにおいて,情報を含ませることが望ましい。受領者にこの埋め込まれた情報の存在を知らしめることで,潜在的な著作権侵害者がコンテントの違法な使用をすることを思いとどまらせるだろう。当局が多くのコピーを追跡することを可能にするであろう。
【0004】
この新規な能力でさえも,その機能は経済性をもって実施できなければならない。すなわち,著作権侵害者を抑える以上のコストがかかるマーキング策は実施可能ではない。一方,低コストの解決策が取り得るならば,セキュリティーも進展し,その問題の実質的な軽減を図ることができる。
【0005】
したがって,コストの面で有効な方法で,コンテントをマークするシステムを提供することが望ましい。
【0006】
情報をコンテントに埋め込むための多くの技術がある。それぞれは利点もあれば欠点もあり,それぞれの共通する使用は,何らかの計算が必要となることである。処理ハードウエアは,必要な計算を迅速に行えなければならない。ハードウエアが,たとえば,ユーザがネットワークからデータをダウンロードすることに応答して,十分に早くないと,配信時間に不所望の待ち時間が生じる。さらに,伝送システムの全スループットにおいて,潜在的な制限が生じ,これにより,同時にデータをダウンロードでき,またはネットアクセスするユーザの数が制限される。さらにまた,合法的なオンライン配給者がより高速のハードウエアをえることは,不可能であろうし,経済的に実現可能ではない。
【0007】
したがって,コピー保護データを,デジタルまたはアナログコンテント(たとえば,オーディオ,ビデオ,コンピュータゲーム,株価や気象データの情報サービス,オンラインショッピングまたは電子商取引データなど)に埋め込むために,リアルタイムの計算条件を減少させるシステムを提供することが望まれている。
【0008】
同じコンテントの選択された数のコピーを予め処理し,ついで,たとえばユーザによるダウンロードのために適した,適切に符号化されたデータ信号を生成するために,これら予め処理されたコピーをダイナミックに選択するシステムを提供することが望まれている。
【0009】
システムは,予め処理された内容を同時に多数のユーザに配給する能力を与えなければならないが,符号化されたデータ信号は,ユーザに与えられたID値にしたがって,ユーザのいるところで発生する。
【0010】
データを埋め込む多数の層を提供することが望ましい。
【0011】
バイナリー,またはマルチレベル,非バイナリーデータ埋め込みを提供することが望ましい。
【0012】
二つのデータストリームの間でスムーズな移行をなす技術を提供することが望ましい。
【0013】
配信遅延を減少させ,ネットワーク伝送スループット改良するオンライ配給システムを提供することが望ましい。
【0014】
たとえば,利用可能なハードウエアを使用して,オンライン配給者により,コンテントがオフラインベースで,処理され得ることが望ましい。
【0015】
このシステムは,たとえば,コンテントが個人的に,メールなどでユーザに供される,オフライン配給システムに対しても適していなければならない。
【0016】
この場合,コンテントは,コンパクトディスク(CD),デジタルビデオディスク(DVD),コンピュータフロッピーディスクといったものに記憶されてもよい。
【0017】
本発明は,上記および他の利点をもつシステムを提供する。
【0018】
発明の要約
コンテント(たとえば,オーディオ,ビデオおよび/または他のデータ)を送信する能力に依存した多くの応用例がある。次第に,著作者,演奏者などを含む著作権者の知的所有権を保護するために,特定の受け入れ者に属するように特定のコピーを識別する方法で,このような送信にマークを付ける必要がある。好適には,このマーキングは安全な方法で提供されることである。もっとも利用可能なマーキングの解決策は,情報をコンテントに埋め込み,これによりマーキング情報の交換や削除の可能性が減少する。
【0019】
マーキングは,たとえば,インターネット,ケーブルまたは衛星テレビネットワーク,電話ネットワークようなコンピュータによりダウンロードされる,たとえばミュージック,ビデオまたは他のデジタルもしくはアナログ形式の著作物に対して,特に重要である。典型的に,ユーザは,コンテントをダウンロードするために料金を支払うが,コンテントのサンプル,または他のプロモーション用のものに対しては無料のものもある。
【0020】
しかし,コンテントをダウンロードできる能力は多くの合法的な使用者に便利に提供されるが,著作権侵害者のような非承諾者は,種々の技術を駆使してコンテントを違法にコピーし,配給することができる。このことは,コンテントプロバイダやオンライン配給者に著しい損失をもたらす。
【0021】
この違法な配給の追跡を容易にするために,受け取り者(たとえば,口座番号,社会保険場暗号,または他のユニークな識別子)を識別する情報が,このコンテントの中に埋め込まれる。
【0022】
識別情報の存在は,潜在的な著作権侵害者に対し広告することができ,警告なく,著作権侵害者を追跡することを容易にすることができる。
【0023】
本発明は,とくにオンラインミュージック配給システム(使用者が,コンパクトディスクまたは磁気テープの小売のために,一般的に配給されるオーディオプログラムを購入するために,コンピュータネットワークを介して,インターネットウエブサイトのような配給サイトにアクセスすることができる)の使用に適している。本発明はまた,ビデオ,画像,または埋め込み情報が適用される他のコンテントの利用に適している。たとえば,双方向のケーブルネットワークにより,見る者がデジタルオーディオまたはビデオコンテントをダウンロードすることを可能にする。
【0024】
オンラインミュージック配給者による本発明の利用は,記録されたミュージックの海賊が音楽業界において著しい損失をもたらすことから,とくに妥当なものである。
【0025】
オンラインミュージック配給および他の適用に関し,埋め込み情報に対しいくつかのオプションがある。
【0026】
たとえば,予め埋め込まれたコピーが,ダウンロードのリクエストに遅れることなく十分な質をもって記憶され得る。ポピュラーソングのようなダウンロードされたオーディオデータに対し,このことは,多くのユニークに識別されたコピーがサーバにおいて,記憶の増大にともなうコスト増加をもたらすことを要求する。
【0027】
また,情報が取引の間に埋め込むことができる(たとえば,米国特許第5,687,191号(タイトル“Post Compress Hidden Data Transport”)または米国特許第5,822,360号(タイトル“Method and Apparatus for Transporting Auxiliary Data in Audio Signals”)に開示されている)。米国特許第5,822,360号に説明されたアプローチは,付加的なコンピュータ処理によるものであるが,しかし必要なコピーのみが処理され,付加的サーバ空間(たとえば,メモリ)が必要とされない。
【0028】
ここ開示された他のオプションは,コンテントの二つのコピーが予め処理されることを要求する。コピーは,サーバにおいて記憶され(この場合ユニークなコピーが,二つの予め処理されたコピーから構成され,典型的に,ダウンロードがリクエストされたときに,一度のユーザに提供される。
【0029】
たとえば,二つのサーバディスクが,オーディオの予め処理されたコピーのそれぞれを記憶するために使用することができる。第一のディスクは,“0”をもつ埋め込みされた全てのコピーを含み,第二のディスクは,“1”をもつ埋め込みされた全てのコピーを含む。各サーバは,使用者に配信されるデータ信号を構成するために,コンテントの各セグメントに対し,サーバの一つを選択するセレクタ機能に接続されている。
【0030】
口座番号または他の,埋め込まれるべきユニークな識別子に基づき,セレクタ機能は,セグメント毎に,各サーバからのセグメントを選択する。セレクタ機能の出力は,消費者に配信されるべきコピーである。
【0031】
これに代えて,コンテントの二つのコピーは,一つ以上のユーザに配給されてもよく,この場合,ユーザにはユニークなコピーを構成する適切な処理能力が与えられる。暗号のよる予防策が採用されると,ユーザは確実に,識別データを埋め込む前に,二つのコピーにアクセスすることができない。これらコピーは,コンサートまたは他のライブイベントをインターネットで放送するように,多数のユーザに同時に配給することができる。
【0032】
本発明にしたがい,複数のセグメントから成り、連続した論理値が埋め込まれたコンテント信号から構成されるデータ信号を提供する方法が、コンテント信号の複数のセグメントの第一のコピーを、第一の論理値を表す情報を埋め込むために前処理して,少なくとも第一の前処理されたセグメントを与え、コンテント信号の複数のセグメントの第二のコピーを、第一の論理値とは異なる第二の論理値を表す情報を埋め込むために前処理して、少なくとも第二の前処理されたセグメントを与えることを含む。第一および第二の,前処理されるセグメントは,たとえばオンライン配給者のサーバで任意に記憶される。
【0033】
連続した論理値を指定する選択信号が与えられ,その選択信号に応答して,対応する第一および第二の,前処理されたセグメントの特定のものが組み合わされ連続した論理値が埋め込まれたデータ信号が与えられる。
【0034】
第一および第二の論理値は,バイナリービット(たとえば,第一および第二の値はそれぞれ,ゼロまたは1を示すことができる)から成ってもよい。
【0035】
データ信号のセグメントがオーディオデータを含むときは,そのデータ信号埋め込まれた信号は所望の可聴レベルで与えられてもよい。データ信号のセグメントがビデオデータを含むときは,データ信号埋め込まれた情報は所望の視覚レベルで与えられてもよい。
【0036】
連続した論理値は,オンライン配給者のような,データ信号の出所を識別してもよい。
【0037】
さらに,選択信号は,ユーザのリクエストに応じて,データ信号を取り出すために与えられる(この場合,連続した論理値はユーザを識別することができる)。
【0038】
連続した論理値は,暗号化されて,たとえば著作権侵害者により操作を止めさせるためにスクランブルされたシーケンスで与えられてもよい。
【0039】
スクランブリング工程において,対応する第一および第二の,前処理されたセグメントの特定のものは,連続した論理値が埋め込まれるデータ信号を与えるために,選択信号に応答して時間多重化される。
【0040】
データ信号はデジタルでもアナログでもよい。
【0041】
任意であるが,埋め込み情報が多層にしてデータ信号に与えられてもよい。
【0042】
さらに,任意であるが,埋め込みセグメントの間の遷移が遷移関数にしたがってスムーズとなる。
【0043】
予めスムーズな遷移となったデータセグメントがまた,データ信号に与えられてもよい。
【0044】
バイナリーまたは多レベル(M>2)論理値が,データ信号に与えられてもよい。
【0045】
対応する装置およびデータ信号もまた提供される。
【0046】
発明の詳細な説明
本発明は,埋め込みのときに,計算条件を最小にする方法で,情報をコンテントに埋め込むための方法および装置を提供する。この場合のコンテントは,デジタルまたはアナログオーディオ,ビデオ,画像または他の媒体の形または組み合わせである。
【0047】
本発明により,流れ(on the fly)(たとえば,リアルタイム)埋め込みが,特別に準備されたセグメントから選択し,全ストリームを組み立てることにより,実施できるように,最終処理の前に,前処理が実施され得る。本発明は,オンライン配給モデル(コンテントがユーザのリクエストに応じて,通信チャネルを介して配信される場合)に対して,とくに適している。
【0048】
図1は,在来のデータ埋め込みシステム100を示している。データが埋め込まれるコンテントは,フレーム当たりM個のサンプルをもつ,N個のフレームに細分されるとする。たとえば,コンテントは符号110で示されているように,フレームC(N−1),…C(1),C(0)をもつ。たとえば,ユーザを識別する使用者データが,データパッケージモジュール140(ここで,データを,一般的に符号150により示され,フレームU(N−1),…,U(1),U(0)をもつバイナリーユーザデータに変換される)により処理される。モジュール140は任意に誤り訂正コード,変調およびパケットヘッダ/トレーラーをユーザデータに付加してもよい。
【0049】
データ埋め込みモジュール120はパッケージ化されたデータ(U(0),U(1)などにより示されているように)を,それぞれのコンテントフレーム(C(0),C(1)など)に整合させ,i番目のパケット化されたデータビットU(i)170を対応するi番目のコンテントフレームC(i)160に埋め込み,i番目の埋め込まれたデータフレーム180を与える。埋め込まれたコンテントの連続したフレームは符号130で示されている。埋め込み処理は,スペクトル拡散変調のような付加的な技術,ならびに信号パラメータまたはコンテントそれ自身の特徴を変調する技術を含む,既知の技術を使用できる。
【0050】
データパッケージ化モジュール140は通常,データ埋め込みモジュール120に匹敵する,相対的に僅かな処理サイクルを使用する。
【0051】
図2は,本発明にしたがった,データ埋め込みシステム200の第一の実施例を示す。
【0052】
本発明の,前処理データ埋め込みシステムは,在来のシステムを,二つの工程,すなわち(1)前処理埋め込みを行うこと,(2)ターゲットコンテントの発生に分ける。
【0053】
データ埋め込みモジュール200はコンテントストリーム110を受信するが,二つの経路220および225(一つはバイナリー‘0’埋め込みコンテントストリーム230を発生するためのもの,もう一つはバイナリー‘1’埋め込みコンテントストリーム235を発生するためのもの)をもつ。二つの前処理されたコンテントストリームは,mux250で,バイナリーユーザデータそれ自身,またはデータパケット化モジュール140からの対応する選択信号にしたがって,それぞれのターゲット埋め込みストリーム230に,多重化され得る。U(i)が非バイナリー値であると,前処理ステージは二つ以上の出力経路をもつことにより,増加する。
【0054】
このことは,最小の処理パワー(さらにデータパッケージ化モジュールにより)でもって,複数の,ユニークに識別されたコンテントストリームの発生(エンコーダ200が,たとえば取引すかし,またはインターネットマルチキャストの適用に対して,等しくなる)を可能にする。
【0055】
図3は,本発明にしたがって,コンテントを配給するための,前処理モジュールおよびオンライン配給システムを示す。この例において,ユーザが,たとえば,通信チャネル385ならびにノード380および390を含むツーウエイインターネットを介して,オンライン配給者350と通信するとする。オンライン配給者350もまた,前処理モジュール310(典型的には,オンライン配給者350と物理的に共通したところにあってもよいが,通信経路を介してオンライン配給者と通信するものであってもよい)と通信する。
【0056】
前処理モジュール310は,たとえば,オンライン配給者が,デジタルコンテントをダウンロードするために,使用者からのオーダーを実行するとき前に,オフラインベースで作動する。任意ではあるが,前処理モジュール310は,ライブイメントが,通信路318を介して受信し,ユーザ集団へのマルチキャストのために直ちに処理されるときのように,リアルタイムベースで作動する。
【0057】
一般的に,コンテント機能315に記憶された新規のコンテントが,受信後直ちに,または都合のよいときに,処理され得る。コンテント(“第一のデータ”または“ホスト波形”と参照される)は,中に埋め込まれる論理値(たとえば,バイナリーゼロまたは1)をもつために,データ埋め込みモジュール210に与えられる。コンテントは,複数のセグメントに一時に分割され,論値値は各セグメントに埋め込まれる(図4を参照して説明する)。
【0058】
データ埋め込みモジュール210は,データを,既成の信号に埋め込むために既知の技術を使用することができる。たとえば,ここに参考文献として組み入れられる次の米国特許および出願の技術も使用できる:米国特許第5,822,360号(“Method and Apparatus for Transporting Auxiliary Data in Audio Signals”),1996年12月6日出願の米国出願第08/764,096号(“Method and Apparatus for Embedding Auxiliary Data in a Primary Data Signal”),米国特許第5,687,191号(“Post Compression Hidden Data Transport”),1997年8月18日出願の米国出願第08/919,434号(“Post Compression Hidden Data Transport for Video”),米国特許第5,719,937号(“Multi-Media Copy Management System”),1997年11 月25日出願の米国出願第08/919,434号(“Multi-Media Copy Management System”),“Digital Hidden Data Transport”と題する米国出願。埋め込み情報を与えるための他のシステムもまた本発明の使用に適するであろう。
【0059】
一般的に,用語“埋め込み”は,付随または補助データが,ホスト波形,一次のデータ信号に,その一次のデータ信号と実質的に干渉することなく与えられることを意味する。たとえば,埋め込まれたデータは,オーディオ信号に埋め込まれたときに,聞こえないようにすべきである。典型的に,埋め込まれたデータのデータレートは,一次のデータ信号のものよりも非常に低い。
【0060】
たとえば,米国特許第5,822,360号は,スペクトル拡散信号を変調することによりデータを埋め込むための技術を開示する。スペクトル拡散信号は,比較的低いノイズパワーをもつが,しかしエンコーダにおける拡散のために使用される擬似ノイズ(PN)シーケンスと受信信号との相関を取ることにより,特定のデコーダにおいて回復することができる。
【0061】
データを埋め込むための技術は,しばしば,人の聴覚および視覚の特性を利用する,データがオーディオおよびビデオデータにそれぞれ埋め込まれるように,計算につよい時間ドメインまたは周波数ドメイン分析を必要とする。埋め込まれたデータは,したがって,基本的に邪魔をする一方で,一次のデータ信号内で,有用な隠蔽データチャネルを確立する。
【0062】
本発明では,精巧なコンピュータに強い埋め込み技術は,コンテントがユーザへの配信に対して直ちに利用できなければならないとき前には,前処理工程をとることができる。論理値は利用できる,もっとも精巧な技術を使用して埋め込められるが,コンテントはユーザへのダウンロードまたは放送のために直ちに利用できる。メモリ322において,埋め込まれたバイナリーゼロをもつコンテントセグメントはメモリ部分325に記憶される一方で,埋め込まれたバイナリー1をもつコンテントセグメントは,メモリ部分330に記憶される。二つ以上の論理値が埋め込まれるときには,メモリ部分は各値に対して与えられることが分かるであろう。さらに,実際上,たとえば,歌,映画,コンピュータゲームなどを含む,コンテントのライブラリーは機能325および330に記憶されてもよい。
【0063】
メモリ322は,たとえば,ウェブサービスと関連付けされ得る。
【0064】
ライブイベントの送信のため,または遅延せずにユーザへの前処理モジュール310で(経路318を介して)受信されるコンテントを通過することが望まれるとき,メモリ322は,バッファとしてだけ動作し,たとえば,データレート変化を均等にし,データ埋め込みモジュール210で時間を処理する。
【0065】
オンライン配給者350は,入手可能識別番号362と,ユーザ記録364とを含むデータベース360を維持することができる。入手可能識別番号は,単に,連続した番号かまたは他のコードであってもよい。実用的には,利用可能識別番号機能362は,現在のオーダー(またはユーザ)番号(これは,次に,各々新しいオーダー(またはユーザ)のために増分される)を維持することができる。ユーザ記録機能364は,各ユーザまたはオーダーに関連される識別番号の記録を維持する。用語"オーダー"は,有料のコンテントと同様,無料サンプル,宣伝番組,コンテント等のユーザのリクエストを遂行することを意味する。
【0066】
ユーザのリクエストがコントロール365で受信されるかまたは制御データが通信経路352(経路318と同一でも,または異なってもよい)を介して受信されると,識別番号またはコードがユーザまたはオーダーに関連付けされ,その記録がユーザ記録機能364で書き込まれる。その結果,不正にコピーされたコンテントが見つかると,コンテントを最初に得たユーザを突き止めることが可能である。
【0067】
識別番号またはコードは,また,コンテントの著作権者のようなオンライン配給者または他のエンティティーを識別してもよく,または,たとえば,産業取締機構(industry policing organization)に対して登録番号を与えてもよい。
【0068】
また,コピー保護が本発明の第一の目的であるが,とくに,ユーザがデータを読み取れる受信機を有する場合,埋め込まれたデータが任意の本質的な目的のために使用され得ることが理解されよう。たとえば,埋め込まれたデータは,オンライン配給者または他のエンティティーを識別し,電子クーポンを与えて賞品をユーザへ受け渡すために使用され得る。対応する受信機は,埋め込まれたデータを読み取ることができ,たとえば,対応する情報をユーザに対して表示する。
【0069】
ユーザの構内395または他の場所で,ユーザはパーソナルコンピュータ(PC)396,テレビジョンセットトップボックス397または他の任意の利用可能な手段を使用してコンテントをオーダーおよび/または受信することができる。
【0070】
経路352を介してユーザのリクエストまたは制御データに応答して,制御365は,セレクタ370へ選択信号のような識別番号またはコードを与え,時間マルチプレクスに基づいて、たとえば,マルチプレクサ(MUX)375を使用して機能325,330からの埋め込まれた論理値と共に異なったセグメントを選択する。セレクタは,データ信号のように,機能325,330(両方同時ではない)からの連続したセグメントをユーザに配給することを許すスイッチのように働く。
【0071】
ここで使用される用語"連続した"は,次にくる隣接したセグメントおよび隣接しないセグメントの両方を含むと理解される。
【0072】
選択信号は一般的にバイナリーの識別信号でも,識別信号から導出される信号でもよい。暗号化技術が,この目的のために(たとえば,識別信号を選択信号またはその反対に変換するために)使用されてもよい。
【0073】
ユーザの構内に,受信データを解読するために,適当なケイパビリティー(capability)を備える。
【0074】
制御365は,双方向ケイパビリティーを備える場合,コンテントが誤りなく配信されたことを示す記録も作ることができる。また,配信の時間およびデータは,たとえば,ユーザ記録364に記録され得る。データ信号に埋め込まれる情報は,配信の時間およびデータも指示し得る。
【0075】
配信されたコンテントは,たとえば,PC396またはセットトップボックス397で記憶するため,ユーザに与えられる。同一または異なる通信チャンネルは,上流のリクエスト信号および下流の配信のために使用できる。異なるチャンネルを使用することの一例として,上流のリクエストは,電話ネットワークを介して与えられ,下流の配信は,テレビジョンネットワークを介して与えられる。
【0076】
十分なバンド幅が利用可能である場合,コンテントは,ユニークな識別番号を埋め込んだ別々の信号を使用して,多数のユーザへ同時に配信され得る。バンド幅が制限され,ユーザの番号が大きいと,後述する図6のシステムが使用され得る。
【0077】
図4は,本発明に従って,二進データを埋め込んだデータセグメントの選択を示す。コンテントの第一のコピー400が,逐次的セグメント(たとえば,セグメント1(405),セグメント2(410),セグメント3(415),・・・,セグメントN(420))を含む。各セグメントは,埋め込まれた論理値(この例ではバイナリーの0)を有する。セグメントごとに,それに埋め込まれる値を有する必要は全くない。実際には,別のセキュリティー要素が,たとえば,PNシーケンスのような擬似ランダム信号にしたがって,埋め込まれたデータに対して特定のセグメントだけを選択することによって本発明と共に達成され得る。また,埋め込まれた値は,アタッカーによるデータの操作を防ぐために,既知の任意の暗号化技術に従って,スクランブルされたオーダーで与えられる。対応する情報は,スクランブルまたは暗号化を回復するために,デコーダに与えられなければならない。
【0078】
同一のコンテントの,第二のコピー450は,第一のコピー400に対応する連続したセグメント(たとえば,セグメント1(455),セグメント2(460),セグメント3(465),・・・,セグメントN(470))を含む。各セグメントは,それに埋め込まれた論理値(この例ではバイナリーの1)を有する。
【0079】
たとえば,コンテントがオーディオトラックである場合,各セグメントは,たとえば,一つまたはそれ以上のデータのフレームに対応するトラックの特定の期間から構成され得る。
【0080】
データ信号480が,所望の埋め込まれたビットパターンにしたがって,第一および第二のコピーからセグメントを選択することによって形成される。たとえば,所望の埋め込まれたビットパターンが101・・・1である場合,コピー2(450)からのセグメント1(455),これに続いて,コピー1(450)からのセグメント2(410),コピー2(450)からのセグメント3(465),・・・,コピー2(450)からのセグメントN(470)を選択しなければならない。データ信号480は,したがって,それに埋め込まれた所望のビットパターン101・・・1を有する。
【0081】
最終の複合コピーは,したがって,埋め込まれたバイナリーの情報を有するオーディオデータの第一または第二のいずれか一方のコピーから前回作り出されたセグメントを選択することによって構成される。
【0082】
上述したように,二進データシーケンスは,ネットワークを介してダウンロードしているユーザを識別し,または他の情報を与え得る。この場合,データ信号は,ユーザによるコンテントの購入に応答して組み立てられ得る。
【0083】
全体的な効果は,受信された最終のコピーが,埋め込まれたデータをもたない他方のコピーからの同一のコンテントと知覚的に同一であることから,データ信号に埋め込まれた情報の状態を消費者がわからないことである。オーディオデータにおいて,この結果は,オーディオデータが回復されプレーされるときに聞こえないパワーレベルで埋め込まれたデータを与えることによって達成される。埋め込まれたデータは,また,隠し場所をいっそう高めるために,オーディオスペクトルにしたがってスペクトル的に形状化され得る。
【0084】
ビデオデータにおいては,埋め込まれたデータは,ビデオデータが回復され表示されるときに見ることができないパワーレベルで与えられ得る。
【0085】
図5は,本発明に従って,識別信号にしたがったコンテントの選択を示す。埋め込まれたバイナリーの0および1をもつコンテントのコピーは,それぞれ,符号500',550'で示される。処理システムが,図3のセレクタ370に関連して述べたように,ユニークな識別信号に従ってコピーからセグメントを選択するセレクタ500を含む。
【0086】
データ信号は,オーディオ,ビデオ(動画,静止画),コンピュータゲームまたは他のコンテントを含むことができる。バイナリーの信号を使用することの利点は,二つの論理値だけが存在し,二つのコンテントのコピーだけを記憶する必要があることである。M(ary)の信号通信スキームが,Mレベルのパルス振幅モジュレーション(PAM)(データを埋め込んだM個のコンテントのコピーが用意される)のように使用される。
【0087】
コンテントデータレートが,埋め込まれたデータのために使用され得る。これは,より一般的な商品銘柄(ただし,システムの特定的な制限ではない)に与えられる。この取り決めを使用することによって,バイナリーが,オーディオまたは他のコンテントの特定的な部分(たとえば,セグメント)に,各セグメントのオーディオサンプルの特定的な数の形で適用できる。
【0088】
たとえば,コンパクトディスク(CD)上で見つけられるデジタルオーディオは,毎秒44100サンプルのレートで作動する。この場合,たとえば,オーディオのセグメントごとに1000サンプルが,埋め込まれた情報の各バイナリー数に対し使用され得る。つまり,埋め込まれた情報の1ビットが,1000オーディオサンプルにわたって配給される。図4に関連して説明したような各セグメントは,したがって,少なくとも1000サンプルから構成される。これは,所望のオーディオのコピーが,毎秒埋め込まれた(たとえば,補助)情報の約44ビットを運ぶことができることを意味する。
【0089】
オーディオデータの第一および第二のコピーは,1000サンプルセグメントごとに,それぞれ,"0"および"1"で符号化される。別のやり方では,コピーは,同一のオーディオコンテントを有する。つまり,同一のオーディオデータが,対応するセグメントに与えられる。
【0090】
図6は,本発明に従ったデータ埋め込みシステムの第二の実施例を示す。この実施例は,たとえば,ライブイベント用の,ユーザの集団へのマルチキャスト(multicast)送信に特に適したものである。
【0091】
プレプロセッサ(たとえば,"0"埋め込みモジュール220,および"1"埋め込みモジュール225)がコンテントサーバー/配給者/プロバイダ側610にあり,処理システム(たとえば,データ埋め込みモジュール)がクライアント/ユーザ側650にある。モジュール220,225からの"0"および"1"の流れはそれぞれ,ストリームエンクリプタ(encryptor)/マルチプレクサユニット630によって,多数のユーザ端末660-A,660-B,・・・,660-Xに配給される単一のストリーム内に"パッケージ化"される。変形的に,"0"および"1"のストリームは,別々のデータストリームでユーザ端末へ与えられ得る。
【0092】
たとえば,端末は,ケーブルテレビジョンネットワークに連結されるセットトップボックス(たとえば,デコーダ)またはパーソナルコンピュータであり,テレビジョンまたは他の信号を有するコンテントを受信する。
【0093】
埋め込まれた論理値をもつコンテントは,ストリームアクセス制御機能615によって与えられるストリームキーに従って機能630で暗号化される。暗号化キーの使用は,当業者には分かるものと思われ,したがって,その詳細については省略する。
【0094】
正当に許可されたユーザだけが,ストリームアクセス制御ユニット615からストリームキーを得ることができ,それぞれのデクリプタ(decryptor)/デマルチプレクサ662-A,662-B,・・・662-Xで二つのストリームを再記憶する。また,ユーザは,ユーザキー発生ユニット620から識別(ID)値も受信する。それぞれのデータ埋め込みモジュール210-A,210-B,・・・,210-Xでは,IDは,図2〜5に関連して説明したように,コンテントに埋め込まれる。ストリームキーおよびID値の両方は,端末660-A,660-B,・・・,660-Xで,たとえば,端末製造時にインストールし,またはスマートカード(周期的にリニューアルされる)を使用することによるように,その場面で端末にインストールし,または端末に対して確実に送信(マルチキャストコンテントのように同一または異なる通信経路を使用)することによって,様々な手段を与えられ得る。
【0095】
ID値は,ユーザの特定のコンテントを発生させるために,ユーザ側のデータ埋め込みモジュール210-A,210-B,・・・,210-Xで実時間に埋め込まれる。著作権侵害を防ぐため,様々なメカニズムが,デクリプタ/デマルチプレクサおよびデータ埋め込みモジュール確実に結合される構造を確実にするために使用でき,ID値と同様の"1"および"0"のストリームが,クライアント/ユーザ側650で鮮明にアクセスできない。たとえば,"1"および"0"のストリームは,フレームの境界で擬似ランダム的に交換される。また,ID値は,対応するやり方で前もってスクランブルされ,正しいID値が,ID値自身を見せることなく,データ埋め込みモジュールで符号化される。これは,記憶中または配給中のストリームのセキュリティーを確実にし,同時に,ID値が解読後であっても保全される。
【0096】
この設備は,コンテントプロバイダが,たとえば,ケーブルネットワークに有料視聴制を用いてコンテントの配給をしている間,配給チャンネルのバンド幅の利用を最小にしたいという応用に特に適している。ケーブルオペレータは,"1"および"0"のストリームのためのバンド幅を配分することだけを必要とする。ユーザ端末660-A,660-B,・・・,660-Xは,対応するデータ埋め込みモジュール210-A,210-B,・・・,210-Xによってユニークにマークされるコンテントを発生する。これは,ユーザによるコンテントの違法コピーおよび違法再配給を防ぐ助けとなる。
【0097】
いっそう向上したものでは,バンド幅は,常に,二つのストリームのために交換される必要がない。たとえば,配給者は,コンテントの特定のセグメントを選択でき,"0"および"1"のストリームの両方をユーザへ送信でき,別の時間に,"0"または"1"のストリームだけを送信し,または無マークのコンテントでさえ送信できる。
【0098】
図7および8は,本発明にしたがって埋め込む多重層データを示す。データ層として参照されるデータの多重独立ストリームは,同一のコンテントに埋め込まれる。本発明は,上記米国特第5,822,360号に開示されるような多層埋め込みスキームとの使用に適合させることができる。ここで,異なったユーザデータ(ユーザデータXおよびY)の埋め込みは,フレームの同期のような同一の技術を使用することに利点があるが,同一または類似しないデータを埋め込む技術を使用できる。
【0099】
多層データの応用は,たとえば,トラッキング,ハイパーリンクまたは電子クーポンのための別々のユーザデータデータストリームを与えることを含む。
【0100】
図7に示すように,ユーザデータの第一のストリーム(たとえば,ユーザデータX)が,データパッケージ化モジュール140によって処理され,フレームX(N-1),・・・,X(1),X(0)をもつ符号710-Xで示される,対応するバイナリーユーザデータを与える。
【0101】
埋め込みモジュール710-Xにおいて,"0"埋め込みモジュール220および"1"埋め込みモジュール225は,ターゲットストリーム230-X,235-Xを与えるために,上述したように使用される。ストリーム230-X,235-Xは,MUX250に与えられ,埋め込まれたユーザデータXをもつコンテントストリーム730を得る。
【0102】
同様に,図8に示すように,ユーザデータの第二のストリーム(たとえば,ユーザデータY)が,データパッケージ化モジュール140'によって処理され,フレームY(N-1),・・・,Y(1),Y(0)をもつ符号710-Yで示される,対応するバイナリーユーザデータを与える。
【0103】
埋め込みモジュール710-Yでは,"0"埋め込みモジュール220´および"1"埋め込みモジュール225´は,ターゲットストリーム230-Y,235-Yを与えるために,上述したように使用される。ストリーム230-Y,235-Yは,MUX250'に与えられ,埋め込まれたユーザデータYをもつコンテントストリーム735を得る。
【0104】
図7,図8に示されているように,ストリーム730,735は,加算器740で結合され,スケーラ745でスケール化され,多層埋め込みデータをもつデータストリーム760を与える。たとえば,スケール因数0.5は,異なるユーザデータをもつ二つのストリームがあるときに使用され得る。スケーラ745は,ストリーム730,735のものと同一のレベルでストリーム760においてコンテントおよびユーザデータの大きさを与える。
【0105】
ここで,埋め込まれたユーザデータの二つ以上の層が使用される場合,スケーラ745は,使用される層の数にしたがって調節される。
【0106】
図9,10は,本発明に従った多重レベル非バイナリーデータ埋め込みを示す。システムは,多重レベル(非バイナリー)値データの埋め込みに拡大できる。Mレベルにおいて,システムは,M‐ary(M≧2)という。図説の目的にため,4個(M=4)の区別をつける論理値(0,1,2,3)を与える。全ての多重レベルの変更が,バイナリーデータ埋め込みの並列結合のように実現できることが理解されるべきである。
【0107】
M=4レベルデータ埋め込みモジュール810が,論理値"0"を埋め込むための"0"埋め込みモジュール220,論理値"1"を埋め込むための"1"埋め込みモジュール225,論理値"2"を埋め込むための"2"埋め込みモジュール840,および論理値"3"を埋め込むための"3"埋め込みモジュール850を含み,それぞれのデータストリーム830,835,845,855を与える。データストリーム830,835,845,855は,MUX250に与えられ,埋め込まれた多重レベルユーザデータをもつコンテントデータストリーム860を与える。上述したように,MUX250は,たとえば,ユーザデータストリーム150の制御の下で,埋め込まれた所望の論理値をもつデータの連続したフレームを出力する。
【0108】
図11は,本発明に従った遷移/フェード機能をもつマルチプレクサを示す。フレーム境界におけるスムーズな遷移を確実にするため,明確なウィンドウ/フェードイン/フェードアウトが,マルチプレクサ250"で行われ得る。マルチプレクサ250"は,たとえば,上述したマルチプレクサ250,250'に代えて使用され得る。
【0109】
異なるデータストリームからフレームをスプライス(たとえば,時間的マルチプレクサ)するとき,コンテント信号は,フレームとフレームとの間の境界で連続し得ない。これは,結果的に,アーチファクト(たとえば,オーディオコンテントの可聴アーチファクト,またはビデオコンテントの可視アーチファクト)になる。遷移期間は,これらの影響を回避するため,図11,12および13に関連して説明されるように与えられる。
【0110】
遷移期間は,典型的に,フレーム長さよりも短い。たとえば,フレーム長さが2000サンプルであれば,遷移長さは100〜200サンプルであってもよい。
【0111】
遷移関数は,線形ランプまたは指数関数的減少のような固定関数,またはホスト信号に基づいた特性をダイナミックに調節する適合関数である。目的は,遷移が,ターゲットコンテントの品質に影響を及ぼすいずれのアーチファクトも発生しないことを確実にすることである。
【0112】
埋め込まれた論理値0および1をもつターゲット埋め込みストリーム230,235は,掛け算器930,940で遷移関数910,920と掛け算される。図示の遷移関数910は,0から1へ(二つの工程で)ランプ化(ramping)する。遷移関数910が1に達すると,遷移関数920は,1から0へ(二つの工程で)ランプ化し始める。掛け算器930,940の出力は,加算器950で結合され,埋め込まれたコンテント960を与える。
【0113】
図示の埋め込まれたコンテント960は,第一のフレームC(1)および第二のフレームC(0)を含む。遷移関数910,920の遷移領域の効果は,領域965,968でそれぞれ示される。
【0114】
図12および13は,本発明に従った二つの,ストリームの間の遷移制御のためのシステムを示す。フレーム境界におけるスムーズな遷移を確実にする他の方法は,付加的な遷移ストリームを与えることである。これは,図11の関数910,920のような遷移関数と共に前処理(たとえば,前スムーズ化)されるデータストリームを与えることによって,図11のMUX250"の必要性をなくす。そして,最終のターゲットストリームを組み立てるために,前処理されたフレームは,たとえば,MUX250または250'を使用して,上述したように時間的多重化される。
【0115】
ユーザデータフレームU(N-1),・・・,U(1→2),U(1),U(0→1),U(0)が与えられる。U(1→2)は,フレームU(1) とU(2)との間の遷移フレームを表し,U(0→1)は,フレームU(0) とU(1)との間の遷移フレームを表す。
【0116】
"0"データ埋め込みモジュール220は,論理値"0"を埋め込んだコンテントフレーム1030を与え,"1"データ埋め込みモジュール225は,論理値"1"を埋め込んだコンテントフレーム1035を与える。
【0117】
また,第一および第二の遷移ストリーム1050,1055は,埋め込みモジュールT0→1(1035)およびT1→0(1045)で発生される。
【0118】
ここで,'X'でマークされた,埋め込まれたフレームは,ターゲットコンテント発生のために選択されることがないため,発生する必要性がない。これは,遷移が常に遷移フレーム(たとえば,C(1→2),C(0→1)等)に制限されることから真実である。
【0119】
遷移フレームC(1→2)およびC(0→1)を含む最終のターゲットコンテントストリーム960は,ユーザデータストリーム1020からの選択信号に基づいてMUX250から出力される。
【0120】
様々な他の変更物が本発明に可能であり,それは,下記を含む。
・圧縮したコンテントと共に前処理した埋め込みシステムを使用すること。つまり,圧縮したオーディオ,ビデオまたは他のデジタルデータにバイナリーデータを埋め込むこと。
・等しくない長さのセグメントまたは可変データ速度を使用すること。
・セグメント境界を,エラー訂正境界,パケット境界または他の信号特定構造に基づかせること。
・アタッカーの共謀を防ぐために,ユニークな識別(ID)値を構成し,または余分なもの(たとえば,エラー訂正またはエラーチェック)を加えること。一例として,"0"および"1"の両方に用いる一方のPNを使用するバイナリーフェーズシフトキー(BPSK)ではなく,"0"に用いる一方のPNシーケンスと,"1"に用いる他方のPNシーケンスとを使用する。
【0121】
従って,本発明によって,埋め込まれたユーザ識別情報と共にユーザに複合データ信号が与えられるシステムが与えられることがわかる。
【0122】
コンテントのオンライン配給に特に適した実施例では,コンテントの二つのコピーが,たとえば,オンライン配給者によって使用されるサーバで,前処理され,記憶され得る。各コピーは,バイナリーの0または1のような論理値を指示する連続したセグメントに埋め込まれるデータを有する。セグメントは,所望の識別信号に従って組み立てられ,ユーザに配給されるデータ信号を与える。コンテントの不正コピーまたは不正配給が起こった場合,元々のユーザは,したがって,不正コピーから探知される。
【0123】
選択的に,コンテントの,二つのコピーの前処理と記憶に代えて,コンテントは,処理され,リアルタイムベースでユーザへ送られる。これは,コンテントがライブイベントであるときに特に望ましい。
【0124】
ユーザ端末へのマルチキャスト送信に特に適した他の変更では,データ埋め込みモジュールが,ユーザ端末で与えられる。
【0125】
また,通常,埋め込み処理はデジタルドメインで行われるが(ただし,一旦情報は埋め込まれる),デジタルまたはアナログの形のホスト信号に運ばれる。
【0126】
本発明が様々な特定的な実施例に関連して説明されたが,様々な適合および変更が特許請求の範囲に記載されるような本発明の精神および範囲から逸脱せずになされ得ることは当業者には理解できるであろう。
【図面の簡単な説明】
【図1】 図1は,従前のデータ埋め込みシステムを示す。
【図2】 図2は,本発明にしたがった,データ埋め込みシステムの第一の実施例を示す。
【図3】 図3は,本発明にしたがって,デジタルまたはアナログコンテントを配給する,前処理モジュールおよびオンライン配給を示す。
【図4】 図4は,本発明にしたがって,埋め込みバイナリーデータをもつデータセグメントの選択を示す。
【図5】 図5は,本発明にしたがって,識別信号にしたがうコンテントの選択を示す。
【図6】 図6は,本発明にしたがった,データ埋め込みシステムの第二の実施例を示す。
【図7】 図7は,本発明にしたがった,多層データ埋め込みを示す。
【図8】 図8は,本発明にしたがった,多層データ埋め込みを示す。
【図9】 図9は,本発明にしたがった,多重レベル,非バイナリーデータ埋め込みを示す。
【図10】 図10は,本発明にしたがった,多重レベル,非バイナリーデータ埋め込みを示す。
【図11】 図10は,本発明にしたがった,遷移関数をもつマルチプレクサを示す。
【図12】 図12は,本発明にしたがった,二つの,ストリーム間の遷移制御のためのシステムを示す。
【図13】 図13は,本発明にしたがった,二つの,ストリーム間の遷移制御のためのシステムを示す。
[0001]
  The present invention provides copy protection data.insideIt relates to a method and apparatus for providing embedded digital or analog content such as audio or video.
[0002]
The ability to communicate copyrighted entertainment directly to typical consumers is increasing rapidly. This is the case for cable TV networks and other means when using the Internet, a viewing system with payment. This increased capacity, along with it, brings many benefits to consumers. For example, consumers can sample content (eg, audio or video) while online and purchase content at any time of the day. However, one obvious drawback of this system is that it provides each consumer with a high-quality master copy of the content. In many circumstances, this is nothing more than providing consumers with high-quality entertainment. But unfortunately, this gives conscientious consumers (eg, pirates) a means of making illegal copies of content with little effort.
[0003]
  In particular, there is the potential problem of making unauthorized copies and widespread distribution, for example, by computer networks such as the Internet. Improper dubbing of storage media such as compact discs, digital video discs or magnetic tapes, distribution of multiple copiesUConventional ones are also a problem. In all cases, it is desirable to include information in the first copy sent to consumers who specify a specific copy belonging to a specific recipient. Informing recipients of the existence of this embedded information will discourage potential pirates from using content illegally. Many copies by the authoritiesOriginalWill be able to track.
[0004]
Even this new capacity must be able to perform its function economically. In other words, it is not feasible to implement marking measures that cost more than suppressing pirates. On the other hand, if a low-cost solution is possible, security can be improved and the problem can be substantially reduced.
[0005]
It is therefore desirable to provide a system for marking content in a cost effective manner.
[0006]
There are many techniques for embedding information in content. Each has advantages and disadvantages, and their common use is that some computation is required. Processing hardware must be able to perform the necessary calculations quickly. If the hardware is not fast enough, for example in response to a user downloading data from the network, there will be an undesired latency in delivery time. In addition, there is a potential limitation on the overall throughput of the transmission system, which limits the number of users who can download data or access the network simultaneously. Furthermore, it would not be possible and legally feasible for a legitimate online distributor to get faster hardware.
[0007]
Therefore, a system that reduces real-time computing conditions to embed copy protection data in digital or analog content (eg, audio, video, computer games, stock price and weather data information services, online shopping or e-commerce data, etc.) It is desired to provide.
[0008]
  Pre-processed a selected number of copies of the same content, then properly encoded, eg suitable for downloading by the userdataIt would be desirable to provide a system that dynamically selects these preprocessed copies to generate a signal.
[0009]
  The system must provide the ability to distribute pre-processed content to multiple users simultaneously, but encodeddataThe signal is generated at the user location according to the ID value given to the user.
[0010]
It is desirable to provide multiple layers that embed data.
[0011]
It is desirable to provide binary or multi-level, non-binary data embedding.
[0012]
It would be desirable to provide a technique that provides a smooth transition between two data streams.
[0013]
  Reduces delivery delay and network transmission throughputTheIt would be desirable to provide an improved online distribution system.
[0014]
For example, it should be possible for content to be processed on an offline basis by an online distributor using available hardware.
[0015]
  In this system, for example, the content is sent to the user by e-mail,OfferIt must also be suitable for the off-line distribution system provided.
[0016]
In this case, the content may be stored on a compact disk (CD), digital video disk (DVD), computer floppy disk, or the like.
[0017]
The present invention provides a system having the above and other advantages.
[0018]
Summary of invention
There are many applications that depend on the ability to transmit content (eg, audio, video and / or other data). Increasingly, in order to protect the intellectual property rights of copyright holders, including authors, performers, etc., such transmissions need to be marked in a way that identifies specific copies to belong to a specific recipient. There is. Preferably, this marking is provided in a secure manner. The most available marking solutions embed information in the content, thereby reducing the possibility of exchanging or deleting marking information.
[0019]
The marking is particularly important for e.g. music, video or other digital or analog work that is downloaded by a computer such as the Internet, cable or satellite television network, telephone network. Typically, users pay a fee to download content, but some are free for content samples or other promotional ones.
[0020]
However, while the ability to download content is conveniently provided to many legitimate users, non-licensers, such as pirates, use various techniques to illegally copy and distribute content. can do. This causes significant losses for content providers and online distributors.
[0021]
In order to facilitate tracking this illegal distribution, information identifying the recipient (eg, account number, social security code, or other unique identifier) is embedded in this content.
[0022]
The presence of identification information can be advertised to potential pirates and can facilitate tracking pirates without warning.
[0023]
The present invention particularly relates to an online music distribution system (such as an Internet website via a computer network for a user to purchase a generally distributed audio program for retailing compact discs or magnetic tapes. Can be used to access any distribution site). The present invention is also suitable for use with video, images, or other content to which embedded information is applied. For example, a two-way cable network allows viewers to download digital audio or video content.
[0024]
  The use of the present invention by online music distributors is a pirate of recorded music.EditionIs particularly relevant because it causes significant losses in the music industry.
[0025]
There are several options for embedded information for online music distribution and other applications.
[0026]
For example, pre-embedded copies can be stored with sufficient quality without delaying download requests. For downloaded audio data such as popular songs, this requires that many uniquely identified copies result in increased costs associated with increased storage at the server.
[0027]
Also, information can be embedded during the transaction (eg, US Pat. No. 5,687,191 (title “Post Compress Hidden Data Transport”) or US Pat. No. 5,822,360 (title “Method and Apparatus for Transporting Auxiliary Data in Audio Signals”). ). The approach described in US Pat. No. 5,822,360 is by additional computer processing, but only the necessary copies are processed and no additional server space (eg, memory) is required.
[0028]
Another option disclosed here requires that two copies of the content be pre-processed. The copy is stored at the server (in this case a unique copy consists of two pre-processed copies and is typically provided to a single user when a download is requested.
[0029]
  For example, two server disks can be used to store each of the preprocessed copies of the audio. The first disk contains all embedded copies with “0” and the second disk contains all embedded copies with “1”. Each server is delivered to the userData signalIs connected to a selector function that selects one of the servers for each segment of content.
[0030]
Based on the account number or other unique identifier to be embedded, the selector function selects a segment from each server for each segment. The output of the selector function is a copy to be delivered to the consumer.
[0031]
Alternatively, two copies of the content may be distributed to one or more users, in which case the user is given the appropriate processing power to make up a unique copy. If cryptographic precautions are employed, the user cannot reliably access the two copies before embedding the identification data. These copies can be distributed to many users at the same time to broadcast concerts or other live events over the Internet.
[0032]
  In accordance with the present invention,Consists of multiple segments,ConsecutiveA method for providing a data signal composed of a content signal having embedded logic values pre-processes a first copy of a plurality of segments of the content signal to embed information representing the first logic value; Providing at least a first preprocessed segment and preprocessing a second copy of the plurality of segments of the content signal to embed information representing a second logical value different from the first logical value; Providing at least a second preprocessed segment.The first and second preprocessed segments are optionally stored, for example, on the online distributor's server.
[0033]
  Specify consecutive logical valuesChoiceGiven a signal,ChoiceIn response to the signal, the corresponding first and second specific pre-processed segmentAre combinedTheA data signal in which successive logical values are embedded is given.
[0034]
The first and second logical values may consist of binary bits (eg, the first and second values can each indicate zero or one).
[0035]
  dataIf the signal segment contains audio data,datasignalInEmbeddingMaretaThe signal may be provided at a desired audible level.dataWhen the signal segment contains video data,datasignalInEmbeddingMaretaInformation may be provided at a desired visual level.
[0036]
  Consecutive logical values, like online distributors,dataSignalSourceYou may identify.
[0037]
  further,ChoiceThe signal is based on user request,To retrieve the data signalGiven (in this case, successive logical values can identify the user).
[0038]
Successive logic values may be provided in a scrambled sequence that is encrypted and scrambled, for example, to stop operation by a pirate.
[0039]
  In the scrambling process, the corresponding first and second specific pre-processed segments are:Data in which consecutive logical values are embeddedTo give a signal,ChoiceTime multiplexed in response to the signal.
[0040]
  dataThe signal may be digital or analog.
[0041]
  Optional but embedded informationMulti-layered dataIt may be given to the signal.
[0042]
  In addition, the transition between embedded segments is optionalfunctionIt becomes smooth according to.
[0043]
  A data segment that has become a smooth transition in advancedataIt may be given to the signal.
[0044]
  Binary or multi-level (M> 2) logical value isdataIt may be given to the signal.
[0045]
Corresponding devices and data signals are also provided.
[0046]
Detailed Description of the Invention
The present invention provides a method and apparatus for embedding information in content in a manner that minimizes computational conditions when embedding. The content in this case is in the form or combination of digital or analog audio, video, images or other media.
[0047]
In accordance with the present invention, pre-processing is performed prior to final processing so that on-the-fly (eg, real-time) embedding can be performed by selecting from specially prepared segments and assembling the entire stream. Can be done. The present invention is particularly suitable for an online distribution model (where content is distributed via a communication channel in response to a user request).
[0048]
  FIG. 1 shows a conventional data embedding system 100. The content in which the data is embedded is subdivided into N frames, with M samples per frame. For example, content is a sign110As shown in FIG. 4, frames C (N−1),... C (1), C (0) are included. For example, user data identifying a user is represented by a data package module 140 (where the data is generally indicated by reference numeral 150 and is represented by frames U (N−1),. Is converted to binary user data having Module 140 may optionally add error correction code, modulation and packet header / trailer to the user data.
[0049]
The data embedding module 120 aligns the packaged data (as indicated by U (0), U (1), etc.) with the respective content frame (C (0), C (1), etc.). , The i-th packetized data bit U (i) 170 is embedded in the corresponding i-th content frame C (i) 160 to give the i-th embedded data frame 180. A continuous frame of embedded content is indicated at 130. The embedding process can use known techniques, including additional techniques such as spread spectrum modulation, as well as techniques that modulate signal parameters or the characteristics of the content itself.
[0050]
The data packaging module 140 typically uses relatively few processing cycles that are comparable to the data embedding module 120.
[0051]
FIG. 2 shows a first embodiment of a data embedding system 200 according to the present invention.
[0052]
  The pre-processing data embedding system according to the present invention is a conventional system that can be used in two steps:embeddedAnd (2) generation of target content.
[0053]
  Data embedding module200Receives the content stream 110 but has two routes220 and 225(One is for generating a binary ‘0’ embedded content stream 230 and the other is a binary ‘1’ embedded content stream.235For generating Two pretreatmentsWasThe content stream is mux250 and corresponds to binary user data itself or from the data packetization module 140ChoiceDepending on the signal, it can be multiplexed into each target embedded stream 230. If U (i) is a non-binary value, the preprocessing stage increases by having more than one output path.
[0054]
This means that with minimal processing power (and also by the data packaging module), the generation of multiple, uniquely identified content streams (for example, if the encoder 200 is transacting or Internet multicasting is applied) To be equal).
[0055]
FIG. 3 illustrates a pre-processing module and online distribution system for distributing content in accordance with the present invention. In this example, assume that a user communicates with online distributor 350 via, for example, a two-way Internet including communication channel 385 and nodes 380 and 390. The online distributor 350 is also a pre-processing module 310 (typically in common with the online distributor 350, but communicates with the online distributor via a communication path. ).
[0056]
The pre-processing module 310 operates on an offline basis, for example, before an online distributor executes an order from a user to download digital content. Optionally, the pre-processing module 310 operates on a real-time basis, such as when live events are received over the communication path 318 and processed immediately for multicast to the user population.
[0057]
In general, new content stored in the content function 315 can be processed immediately after receipt or when convenient. Content (referred to as “first data” or “host waveform”) is provided to the data embedding module 210 to have a logical value (eg, binary zero or one) embedded therein. The content is divided into a plurality of segments at a time, and the logical value is embedded in each segment (described with reference to FIG. 4).
[0058]
The data embedding module 210 can use known techniques to embed data into a ready-made signal. For example, the following US patents and filing techniques incorporated herein by reference may also be used: US Pat. No. 5,822,360 (“Method and Apparatus for Transporting Auxiliary Data in Audio Signals”), US, filed Dec. 6, 1996. Application No. 08 / 764,096 (“Method and Apparatus for Embedding Auxiliary Data in a Primary Data Signal”), US Pat. No. 5,687,191 (“Post Compression Hidden Data Transport”), US Application No. 08 filed Aug. 18, 1997 / 919,434 (“Post Compression Hidden Data Transport for Video”), US Pat. No. 5,719,937 (“Multi-Media Copy Management System”), US Application No. 08 / 919,434 (“Multi-Media” filed on November 25, 1997) Media Copy Management System ”), US application entitled“ Digital Hidden Data Transport ”. Other systems for providing embedded information may also be suitable for use with the present invention.
[0059]
In general, the term “embedded” means that accompanying or auxiliary data is provided to the host waveform, primary data signal, without substantially interfering with the primary data signal. For example, embedded data should not be heard when embedded in an audio signal. Typically, the data rate of embedded data is much lower than that of the primary data signal.
[0060]
For example, US Pat. No. 5,822,360 discloses a technique for embedding data by modulating a spread spectrum signal. Spread spectrum signals have relatively low noise power, but can be recovered at a particular decoder by correlating the received signal with the pseudo-noise (PN) sequence used for spreading at the encoder .
[0061]
Techniques for embedding data often require time domain or frequency domain analysis that is computationally efficient, taking advantage of human auditory and visual characteristics, such that the data is embedded in audio and video data, respectively. The embedded data thus basically disturbs while establishing a useful hidden data channel within the primary data signal.
[0062]
  In the present invention, sophisticated computer robust embedding technology is used when content must be immediately available for delivery to the user.ofBefore, a pretreatment process can be taken. Logical value is,It can be embedded using the most sophisticated technology available, but the content is immediately available for download or broadcast to the user. In memory 322, content segments with embedded binary zeros are stored in memory portion 325, while content segments with embedded binary 1 are stored in memory portion 330. When two or more logical values are embeddedTo come, It will be appreciated that a memory portion is provided for each value. Further, in practice, a library of content may be stored in functions 325 and 330, including, for example, songs, movies, computer games, and the like.
[0063]
The memory 322 may be associated with a web service, for example.
[0064]
The memory 322 acts only as a buffer when it is desired to pass the content received (via path 318) in the preprocessing module 310 to the user without sending a delay or without delay. For example, the data rate change is made uniform, and the data embedding module 210 processes the time.
[0065]
Online distributor 350 can maintain a database 360 that includes an available identification number 362 and a user record 364. Available identification numbers may simply be sequential numbers or other codes. In practice, the available identification number function 362 can maintain a current order (or user) number (which is then incremented for each new order (or user)). User record function 364 maintains a record of the identification number associated with each user or order. The term “order” means fulfilling user requests for free samples, promotional programs, content, etc. as well as paid content.
[0066]
  When a user request is received at Control 365 or control data is received via communication path 352 (which may be the same as or different from path 318), an identification number or code is associated with the user or orderDateThe record is written by the user recording function 364. As a result, if an illegally copied content is found, it is possible to locate the user who first obtained the content.
[0067]
  The identification number or code may also identify an online distributor or other entity, such as the copyright holder of the content, or give a registration number to, for example, an industry policing organization.YeahAlso good.
[0068]
Copy protection is also a primary object of the present invention, but it is understood that embedded data can be used for any essential purpose, especially when the user has a receiver that can read the data. Like. For example, the embedded data can be used to identify online distributors or other entities, give electronic coupons and deliver prizes to users. Corresponding receivers can read the embedded data, for example displaying corresponding information to the user.
[0069]
At the user's premises 395 or elsewhere, the user can order and / or receive content using a personal computer (PC) 396, a television set top box 397, or any other available means.
[0070]
  In response to a user request or control data via path 352, control 365 passes to selector 370.Like selection signalGive identification number or code, Based on time multiplexFor example, a multiplexer (MUX) 375 is used to select different segments with embedded logic values from functions 325 and 330. The selector isdataLike a signal, it acts like a switch that allows a user to deliver consecutive segments from functions 325, 330 (not both at the same time).
[0071]
The term “consecutive” as used herein is understood to include both adjacent and non-adjacent segments that follow.
[0072]
The selection signal may be a binary identification signal or a signal derived from the identification signal. Encryption techniques may be used for this purpose (eg, to convert the identification signal to a selection signal or vice versa).
[0073]
Appropriate capabilities are provided in the user premises to decrypt the received data.
[0074]
  If the control 365 has bidirectional capabilities, it can also create a record indicating that the content was delivered without error. Also, the delivery time and data can be recorded in the user record 364, for example.dataInformation embedded in the signal may also indicate delivery time and data.
[0075]
The delivered content is given to the user for storage in the PC 396 or the set top box 397, for example. The same or different communication channels can be used for upstream request signals and downstream delivery. As an example of using different channels, upstream requests are provided over the telephone network and downstream delivery is provided over the television network.
[0076]
If sufficient bandwidth is available, the content can be delivered simultaneously to multiple users using separate signals embedded with a unique identification number. If the bandwidth is limited and the user number is large, the system of FIG. 6 described below can be used.
[0077]
FIG. 4 illustrates the selection of a data segment with embedded binary data in accordance with the present invention. The first copy 400 of content includes sequential segments (eg, segment 1 (405), segment 2 (410), segment 3 (415),..., Segment N (420)). Each segment has an embedded logical value (in this example binary 0). Each segment need not have a value embedded in it. In practice, another security factor can be achieved with the present invention by selecting only certain segments for the embedded data, for example according to a pseudo-random signal such as a PN sequence. Also, the embedded values are given in a scrambled order according to any known encryption technique to prevent data manipulation by an attacker. Corresponding information must be given to the decoder to recover scramble or encryption.
[0078]
A second copy 450 of the same content is a continuous segment corresponding to the first copy 400 (eg, segment 1 (455), segment 2 (460), segment 3 (465),..., Segment N (470)). Each segment has a logical value (binary 1 in this example) embedded in it.
[0079]
For example, if the content is an audio track, each segment may be composed of a specific period of the track corresponding to one or more frames of data, for example.
[0080]
  dataSignal 480 is formed by selecting segments from the first and second copies according to the desired embedded bit pattern. For example, if the desired embedded bit pattern is 101 ... 1, segment 1 (455) from copy 2 (450), followed by segment 2 (410) from copy 1 (450), Segment 3 (465) from copy 2 (450), ..., segment N (470) from copy 2 (450) must be selected.dataThe signal 480 thus has the desired bit pattern 101 ... 1 embedded in it.
[0081]
The final composite copy is thus constructed by selecting the previously created segment from either the first or second copy of the audio data with embedded binary information.
[0082]
  As described above, the binary data sequence may identify a user downloading over the network or provide other information. in this case,dataThe signal can be assembled in response to the purchase of content by the user.
[0083]
  The overall effect is that the last copy received is perceptually identical to the same content from the other copy that does not have embedded data.dataThe consumer does not know the state of the information embedded in the signal. For audio data, this result is not audible when the audio data is recovered and playedData embedded at power levelAchieved by giving The embedded data can also be spectrally shaped according to the audio spectrum to further enhance the hidden area.
[0084]
  For video data, the embedded data can be seen when the video data is recovered and displayed.AbsentCan be given at power level.
[0085]
FIG. 5 illustrates content selection according to the identification signal in accordance with the present invention. Copies of content with embedded binary 0's and 1's are denoted by the symbols 500 'and 550', respectively. The processing system includes a selector 500 that selects a segment from a copy according to a unique identification signal, as described in connection with the selector 370 of FIG.
[0086]
  dataSignals can include audio, video (moving pictures, still pictures), computer games or other content. The advantage of using a binary signal is that there are only two logical values and only two copies of the content need to be stored. An M (ary) signaling scheme is used, such as M-level pulse amplitude modulation (PAM), which provides a copy of M content with embedded data.
[0087]
The content data rate can be used for embedded data. This is given for more general product brands (but not system specific restrictions). By using this convention, binary can be applied to specific parts of audio or other content (eg, segments) in the form of a specific number of audio samples in each segment.
[0088]
For example, digital audio found on a compact disc (CD) operates at a rate of 44100 samples per second. In this case, for example, 1000 samples per segment of audio may be used for each binary number of embedded information. That is, one bit of embedded information is distributed over 1000 audio samples. Each segment as described in connection with FIG. 4 thus consists of at least 1000 samples. This means that a desired audio copy can carry approximately 44 bits of embedded (eg, auxiliary) information every second.
[0089]
The first and second copies of the audio data are encoded with “0” and “1” every 1000 sample segments, respectively. Alternatively, the copy has the same audio content. That is, the same audio data is given to the corresponding segment.
[0090]
  FIG. 6 shows a second embodiment of the data embedding system according to the present invention. This example is for example for users for live events.Group ofIt is particularly suitable for multicast transmission.
[0091]
Preprocessors (eg, “0” embedding module 220 and “1” embedding module 225) are on the content server / distributor / provider side 610 and processing systems (eg, data embedding modules) are on the client / user side 650 . The “0” and “1” streams from modules 220 and 225 are respectively sent to a number of user terminals 660-A, 660-B,..., 660-X by a stream encryptor / multiplexer unit 630. “Packed” into a single stream to be distributed. Alternatively, the “0” and “1” streams can be provided to the user terminal in separate data streams.
[0092]
For example, the terminal is a set-top box (eg, a decoder) or a personal computer that is coupled to a cable television network and receives content having a television or other signal.
[0093]
Content with embedded logical values is encrypted at function 630 according to the stream key provided by stream access control function 615. The use of encryption keys will be apparent to those skilled in the art, and therefore details thereof are omitted.
[0094]
Only a legitimate user can obtain the stream key from the stream access control unit 615, and two streams in each decryptor / demultiplexer 662-A, 662-B, ... 662-X. Remember again. The user also receives an identification (ID) value from the user key generation unit 620. In each of the data embedding modules 210-A, 210-B,..., 210-X, the ID is embedded in the content as described with reference to FIGS. Both the stream key and ID value are installed on the terminal 660-A, 660-B, ..., 660-X, for example, when the terminal is manufactured, or using a smart card (renewed periodically) As described above, various means can be given by installing in the terminal at that time, or by reliably transmitting to the terminal (using the same or different communication path as in multicast content).
[0095]
  The ID value is embedded in real time by the data embedding modules 210-A, 210-B,..., 210-X on the user side in order to generate user specific content. To prevent copyright infringement, various mechanisms include decryptor / demultiplexer and data embedding module.InA stream of "1" and "0" similar to the ID value cannot be clearly accessed on the client / user side 650, which can be used to ensure a structure that is reliably coupled. For example, "1" and "0" streams are pseudo-randomly exchanged at frame boundaries. Also, the ID value is scrambled beforehand in a corresponding manner, and the correct ID value is encoded by the data embedding module without showing the ID value itself. This ensures the security of the stream being stored or distributed and at the same time preserved even after the ID value has been decrypted.
[0096]
  This equipment can be used by content providers, for example, in cable networks.Paid viewing systemIt is particularly suitable for applications that want to minimize the use of distribution channel bandwidth while content is distributed using. Cable operators need only allocate bandwidth for "1" and "0" streams. The user terminals 660-A, 660-B,..., 660-X generate content that is uniquely marked by the corresponding data embedding modules 210-A, 210-B,. This is the content of the userillegalCopy andillegalHelps prevent redistribution.
[0097]
  In a further improvement, the bandwidth does not always have to be exchanged for the two streams. For example, a distributor can select a specific segment of content, send both a "0" and "1" stream to the user, and send only a "0" or "1" stream at another time. , Or unmarked contentCan even send.
[0098]
Figures 7 and 8 show the multilayer data embedded according to the present invention. Multiple independent streams of data referred to as the data layer are embedded in the same content. The present invention can be adapted for use with multilayer embedding schemes such as those disclosed in US Pat. No. 5,822,360 above. Here, embedding different user data (user data X and Y) has an advantage in using the same technique such as frame synchronization, but a technique of embedding the same or dissimilar data can be used.
[0099]
Multi-layer data applications include providing separate user data data streams for tracking, hyperlinks or electronic coupons, for example.
[0100]
As shown in FIG. 7, a first stream of user data (eg, user data X) is processed by the data packaging module 140 and frames X (N-1),..., X (1), X The corresponding binary user data indicated by the code 710-X with (0) is given.
[0101]
In the embedding module 710-X, the “0” embedding module 220 and the “1” embedding module 225 are used as described above to provide the target streams 230-X, 235-X. The streams 230-X and 235-X are given to the MUX 250 to obtain a content stream 730 having embedded user data X.
[0102]
Similarly, as shown in FIG. 8, a second stream of user data (eg, user data Y) is processed by the data packaging module 140 ′, and frames Y (N−1),. 1), corresponding binary user data indicated by reference numeral 710-Y having Y (0) is given.
[0103]
In the embedding module 710-Y, the “0” embedding module 220 ′ and the “1” embedding module 225 ′ are used as described above to provide the target streams 230-Y, 235-Y. The streams 230-Y and 235-Y are given to the MUX 250 ′ to obtain a content stream 735 having embedded user data Y.
[0104]
  FIG., FIG., Streams 730 and 735 are combined by adder 740 and scaled by scaler 745 to provide a data stream 760 with multi-layer embedded data. For example, a scale factor of 0.5 can be used when there are two streams with different user data. Scaler 745 provides the size of the content and user data in stream 760 at the same level as that of streams 730 and 735.
[0105]
Here, if more than one layer of embedded user data is used, the scaler 745 is adjusted according to the number of layers used.
[0106]
Figures 9 and 10 illustrate multi-level non-binary data embedding according to the present invention. The system can be extended to embed multilevel (non-binary) value data. At the M level, the system is called M-ary (M ≧ 2). For the purpose of illustration, four (M = 4) logical values (0, 1, 2, 3) are given to distinguish them. It should be understood that all multi-level changes can be implemented as a parallel combination of binary data embedding.
[0107]
M = 4 level data embedding module 810 embeds “0” embedding module 220 for embedding logical value “0”, “1” embedding module 225 for embedding logical value “1”, and logical value “2”. The "2" embedding module 840 and the "3" embedding module 850 for embedding the logical value "3" are provided, and the respective data streams 830, 835, 845, and 855 are provided. Data streams 830, 835, 845, and 855 are provided to MUX 250 to provide a content data stream 860 with embedded multi-level user data. As described above, the MUX 250 outputs a continuous frame of data having a desired logical value embedded under the control of the user data stream 150, for example.
[0108]
FIG. 11 shows a multiplexer with a transition / fade function according to the present invention. To ensure a smooth transition at the frame boundary, a clear window / fade in / fade out can be performed at multiplexer 250 ". Multiplexer 250" can be used, for example, instead of multiplexers 250, 250 'described above. .
[0109]
When splicing frames (eg, temporal multiplexers) from different data streams, the content signal cannot be continuous at the boundary between frames. This results in artifacts (eg, audible artifacts for audio content or visual artifacts for video content). Transition periods are provided as described in connection with FIGS. 11, 12 and 13 to avoid these effects.
[0110]
The transition period is typically shorter than the frame length. For example, if the frame length is 2000 samples, the transition length may be 100 to 200 samples.
[0111]
  transitionfunctionIs a linear ramp or exponentfunctionFixed like a decreasefunctionOr adapt to dynamically adjust characteristics based on host signalfunctionIt is. The objective is to ensure that the transition does not generate any artifact that affects the quality of the target content.
[0112]
  Target embedded streams 230 and 235 with embedded logical values 0 and 1 transition in multipliers 930 and 940functionMultiply by 910 and 920. Transition shownfunctionThe 910 ramps from 0 to 1 (in two steps). transitionfunctionWhen 910 reaches 1, transitionfunctionThe 920 begins to ramp from 1 to 0 (in two steps). The outputs of multipliers 930 and 940 are combined by adder 950 to give embedded content 960.
[0113]
  The illustrated embedded content 960 includes a first frame C (1) and a second frame C (0). transitionfunctionThe effects of the transition regions 910 and 920 are shown in regions 965 and 968, respectively.
[0114]
  12 and 13 show a system for transition control between two streams according to the present invention. Another way to ensure a smooth transition at the frame boundary is to provide an additional transition stream. This is shown in Fig. 11.functionTransitions like 910 and 920functionTo eliminate the need for MUX 250 "in Fig. 11 and to assemble the final target stream, the pre-processed frames are, for example, Using MUX 250 or 250 ′, temporal multiplexing is performed as described above.
[0115]
User data frames U (N-1),..., U (1 → 2), U (1), U (0 → 1), U (0) are given. U (1 → 2) represents the transition frame between frames U (1) and U (2), and U (0 → 1) represents the transition between frames U (0) and U (1) Represents a frame.
[0116]
The “0” data embedding module 220 gives a content frame 1030 in which a logical value “0” is embedded, and the “1” data embedding module 225 gives a content frame 1035 in which a logical value “1” is embedded.
[0117]
The first and second transition streams 1050 and 1055 are generated by the embedded modules T0 → 1 (1035) and T1 → 0 (1045).
[0118]
Here, the embedded frame marked with 'X' does not need to be generated since it is not selected for target content generation. This is true because transitions are always limited to transition frames (eg, C (1 → 2), C (0 → 1), etc.).
[0119]
The final target content stream 960 including the transition frames C (1 → 2) and C (0 → 1) is output from the MUX 250 based on the selection signal from the user data stream 1020.
[0120]
Various other modifications are possible to the invention, including:
• Use pre-processed embedded systems with compressed content. In other words, embedding binary data in compressed audio, video or other digital data.
Use unequal length segments or variable data rates.
• Base segment boundaries on error correction boundaries, packet boundaries, or other signal specific structures.
• Configure unique identification (ID) values or add extras (eg, error correction or error checking) to prevent attacker collusion. As an example, instead of the binary phase shift key (BPSK) that uses one PN used for both "0" and "1", one PN sequence used for "0" and the other PN sequence used for "1" Is used.
[0121]
Thus, it can be seen that the present invention provides a system in which a composite data signal is provided to a user with embedded user identification information.
[0122]
  In an embodiment particularly suitable for online distribution of content, two copies of the content can be preprocessed and stored, for example, on a server used by the online distributor. Each copy has data embedded in a continuous segment indicating a logical value such as binary 0 or 1. Segments are assembled according to the desired identification signal and distributed to the userdataGive a signal. If an unauthorized copy or distribution of content occurs, the original user is therefore detected from the unauthorized copy.
[0123]
Optionally, instead of preprocessing and storing two copies of the content, the content is processed and sent to the user on a real-time basis. This is especially desirable when the content is a live event.
[0124]
In another modification that is particularly suitable for multicast transmission to the user terminal, a data embedding module is provided at the user terminal.
[0125]
Normally, the embedding process is performed in the digital domain (however, information is once embedded), but is carried to a host signal in a digital or analog form.
[0126]
Although the invention has been described in connection with various specific embodiments, it will be understood that various adaptations and modifications can be made without departing from the spirit and scope of the invention as set forth in the claims. Those skilled in the art will understand.
[Brief description of the drawings]
FIG. 1 shows a conventional data embedding system.
FIG. 2 shows a first embodiment of a data embedding system according to the present invention.
FIG. 3 illustrates a pre-processing module and online distribution for distributing digital or analog content in accordance with the present invention.
FIG. 4 illustrates the selection of data segments with embedded binary data according to the present invention.
FIG. 5 shows content selection according to an identification signal in accordance with the present invention.
FIG. 6 shows a second embodiment of the data embedding system according to the present invention.
FIG. 7 illustrates multi-layer data embedding according to the present invention.
FIG. 8 illustrates multi-layer data embedding according to the present invention.
FIG. 9 illustrates multi-level, non-binary data embedding according to the present invention.
FIG. 10 illustrates multi-level, non-binary data embedding according to the present invention.
FIG. 10 shows a transition according to the present invention.functionA multiplexer with
FIG. 12 shows a system for transition control between two streams according to the present invention.
FIG. 13 shows a system for transition control between two streams according to the present invention.

Claims (27)

複数のセグメントから成り、連続した論理値が埋め込まれたコンテント信号から構成されるデータ信号を与える方法であって,
前記コンテント信号の前記複数のセグメントの第一のコピーを、第一の論理値を表す情報を埋め込むために前処理して、少なくとも第一の前処理されたセグメントを与える工程と、
前記コンテント信号の前記複数のセグメントの第二のコピーを、第二の論理値を表す情報を埋め込むために前処理して、少なくとも第二の前処理されたセグメントを与える工程と、
前記連続した論理値を指定する選択信号にしたがって,前記第一の前処理されたセグメントおよび前記第二の前処理されたセグメンの特定のセグメントを組み合わせて前記データ信号を与える工程と、
を含む方法。
A method for providing a data signal composed of a content signal composed of a plurality of segments and embedded with continuous logical values,
Pre-processing a first copy of the plurality of segments of the content signal to embed information representing a first logical value to provide at least a first pre-processed segment;
Pre-processing a second copy of the plurality of segments of the content signal to embed information representing a second logic value to provide at least a second pre-processed segment;
According to the selection signal for specifying the sequential logic value, the step of combining a specific segment of the first pre-treated segment and said second preprocessed segments providing said data signal,
Including methods.
前記第一および第二の論理値はバイナリービットからなる,請求項1に記載の方法。The method of claim 1, wherein the first and second logical values comprise binary bits. 前記データ信号の前記セグメントはオーディオ信号からなり,
前記データ信号内埋め込まれた情報は,前記データ信号が再生されたとき、聞き取れないように与えられる,請求項1または2に記載の方法。
The segment of the data signal comprises an audio signal;
Information embedded in the data signal, when the data signal is reproduced, given as inaudible method according to claim 1 or 2.
前記データ信号の前記セグメントはビデオデータからなり,
前記データ信号内埋め込まれた情報は,前記データ信号が表示されたとき、見ることができないように与えられる,請求項1ないし3のいずれかに記載の方法。
The segment of the data signal comprises video data;
Information embedded in the data signal, when said data signal is displayed, is provided so that it can not be seen, the method according to any one of claims 1 to 3.
前記連続した論理値は前記データ信号出所を識別するものである,請求項1ないし4のいずれかに記載の方法。The contiguous logical value is one that identifies the source of the data signal, method according to any one of claims 1 to 4. 前記連続した論理値は暗号化して与えられる,請求項1ないし5のいずれかに記載の方法。The method according to claim 1, wherein the consecutive logical values are given in an encrypted manner. 前記組み合わせてデータ信号を与える工程において,前記特定のセグメントは,前記データ信号を与えるために時間多重化される,請求項1ないし6のいずれかに記載に方法。In the step of providing a data signal by combining the said particular segment, the are time multiplexed to provide a data signal, method according to any one of claims 1 to 6. 前記データ信号はデジタルデータからなる,請求項1ないし7のいずれかに記載の方法。 8. A method according to any preceding claim, wherein the data signal comprises digital data. 前記データ信号はアナログデータからなる,請求項1ないし7のいずれかに記載の方法。 8. A method according to any preceding claim, wherein the data signal comprises analog data. さらに,
前記組み合わせてデータ信号を与える工程前に,前記第一および第二の前処理されたセグメントを記憶デバイスに記憶する工程を含み,
前記組み合わせてデータ信号を与える工程は,前記選択信号に応答して,前記第一および第二の前処理されたセグメントの特定のセグメントを前記記憶デバイスから読み出すことにより、前記データ信号を与える,請求項1ないし9のいずれかに記載の方法。
further,
Storing the first and second preprocessed segments in a storage device prior to providing the combined data signal ;
Providing the data signal in combination by providing a specific segment of the first and second preprocessed segments from the storage device in response to the selection signal ; Item 10. The method according to any one of Items 1 to 9.
前記選択信号は,前記データ信号を受信するために、ユーザのリクエストにしたがって与えられ,
前記連続した論理値はユーザを識別するものである
請求項1ないし10のいずれかに記載の方法。
The selection signal is provided in accordance with a user request to receive the data signal;
The contiguous logical value is one for identifying the user,
The method according to claim 1.
さらに,
コンテント配信ネットワークの配給者からの前記第一および第二の前処理されたセグメントを,ネットワーク内の少なくとも一つのユーザターミナルに通信する工程を含み,
前記ユーザターミナルは配給者から離れて位置し,
前記組み合わせてデータ信号を与える工程は、前記ユーザターミナルで、前記第一および第二の前処理されたセグメントが受信された後に実行される,請求項1ないし11のいずれかに記載の方法。
further,
Said first and second preprocessed segments from distributor of the content delivery network comprises the step of communicating at least one user terminal in the network,
The user terminal is located away from the distributor;
Wherein the step of providing the data signals by combining, in the user terminal, Ru is performed after the first and second pre-processing segment is received, the method according to any one of claims 1 to 11.
さらに,
識別値ユーザターミナルに与える工程を含み,
前記連続した論理値は,前記識別値にしたがって判定される,請求項12に記載の方法。
further,
Including providing an identification value to the user terminal;
The contiguous logical value is determined according to the identification value, The method of claim 12.
前記連続した論理値は,前記データ信号が与えられるユーザを識別する,請求項1ないし13のいずれかに記載の方法。The contiguous logical value A method according to any one of the data signal identifying a user who is given, claims 1 to 13. 埋め込まれる情報が前記データ信号に多層にして与えられる請求項1に記載の方法。The method of claim 1, wherein embedded information is provided in multiple layers in the data signal . 前記特定のセグメントの間の遷移領域が遷移関数にしたがってスムーズにされる,請求項1ないし15のいずれかに記載の方法。16. A method according to any one of the preceding claims, wherein transition regions between the particular segments are smoothed according to a transition function . 前記第一および第二の前処理されたセグメントの境界に対応して、前処理された遷移領域からなる付加的なデータストリームが与えられる,請求項1ないし16のいずれかに記載の方法。 17. A method according to any of the preceding claims, wherein an additional data stream consisting of preprocessed transition regions is provided corresponding to the boundaries of the first and second preprocessed segments . 前記複数のセグメントは前記データ信号に,M>2のレベルをもつ多重レベル論理値を与えるために,前処理される,請求項1ないし17のいずれかに記載の方法。 Wherein the plurality of segments, said data signal, M> to provide a multi-level logic value with two levels, pre is processed, the method according to any one of claims 1 to 17. 前記複数のセグメントの前記第二のコピーは,第二の論理値を表す情報を埋め込むために前処理される,請求項1ないし18のいずれかに記載の方法。 19. A method as claimed in any preceding claim , wherein the second copy of the plurality of segments is preprocessed to embed information representing a second logical value. 前記第一および第二の前処理されたセグメントは記憶され,前記組立工程は,コンテント配信ネットワークの配給者のところで実行される,請求項1ないし19のいずれかに記載の方法。It said first and second pre-processed segments are stored, the assembly process is performed at the distributor of the content delivery network, The method according to any one of claims 1 to 19. 前記前処理は,コンテント配信ネットワークの前処理モジュールで実行され,
前記組立工程は,ネットワークの配給者のところで実行され,
前記第一および第二の前処理されたセグメントは,配給のためのネットワークのユーザターミナルからのリクエスト信号に応答して,前記前処理モジュールから前記配給者に与えられる,請求項1ないし20のいずれかに記載の方法。
The pre-processing is executed by a pre-processing module of the content distribution network,
The assembly process is performed at a network distributor,
Said first and second pre-treated segment, in response to a request signal from the user terminal of the network for the distribution is given from the pre-processing module to the distributor, one of the claims 1 to 20 The method of crab.
前記複数のセグメントは圧縮されたコンテントからなる,請求項1ないし21のいずれかに記載の方法。The method according to any one of claims 1 to 21, wherein the plurality of segments comprises compressed content. さらに,
前記組み合わせてデータ信号を与える工程の前に,前記第一および第二の前処理されたセグメントを記憶デバイスに記憶する工程と,
ネットワーク内に設けられた配給者で、複数のユーザからのリクエストを受信する工程と,
連続した論理値を指定する各選択信号にしたがって,前記第一および第二の前処理されたセグメントの少なくとも特定のセグメントを前記記憶デバイスから読み出し、組み合わせることにより、前記複数のユーザのそれぞれに対して,各ユーザのリクエストにしたがって前記複数のユーザのそれぞれと通信するカスタマイズされたデータ信号を組み立てる工程と,
を含む,請求項1ないし22のいずれかに記載の方法。
further,
Storing the first and second preprocessed segments in a storage device prior to combining and providing a data signal ;
Receiving a request from a plurality of users at a distributor provided in the network ;
For each of the plurality of users, by reading and combining at least a particular segment of the first and second preprocessed segments from the storage device according to each selection signal designating a continuous logical value Assembling customized data signals in communication with each of the plurality of users according to each user's request ;
The method according to claim 1, comprising:
前記カスタマイズされたデータ信号に与えられた前記連続した論理値のそれぞれは,各ユーザに関連した情報を与える,請求項23に記載の方法。24. The method of claim 23, wherein each of the successive logical values provided in the customized data signal provides information associated with each user. さらに,
前記データ信号を,ネットの複数のユーザにマルチキャストする工程を含む,請求項1ないし24のいずれかに記載の方法。
further,
25. A method according to any preceding claim, comprising multicasting the data signal to a plurality of users on the net.
さらに,
ネットワーク内に設けられた配給者のところで、ネットワークの複数のユーザからのリクエストを受信する工程と,
各ユーザに,そのリクエストにしたがって、配信するためカスタマイズされたデータ信号を組み立てる工程と,
を含む,請求項1ないし25のいずれかに記載の方法。
further,
Receiving a request from a plurality of users of the network at a distributor provided in the network;
Each user, according to the request, a step of assembling a customized data signals to be distributed,
26. A method according to any of claims 1 to 25, comprising:
複数のセグメントから成り、連続した論理が埋め込まれたコンテント信号から構成されるデータ信号を与えるための装置であって,
前記コンテント信号の前記複数のセグメントの第一のコピーを、第一の論理値を表す情報を埋め込むために前処理して,少なくとも、第一の前処理されたセグメントを与え、前記コンテント信号の前記複数のセグメントの第二のコピーを、第二の論理値を表す情報を埋め込むために前処理して,少なくとも、第二の前処理されたセグメントを与える手段と、
前記連続した論理値を指定する選択信号にしたがって,前記第一の前処理されたセグメントおよび前記第二の前処理されたセグメントの特定のセグメントを組み合わせて前記データ信号を与える手段と,
を含む装置。
A device for providing a data signal comprising a content signal composed of a plurality of segments and embedded with continuous logic,
A first copy of the plurality of segments of the content signal is pre-processed to embed information representing a first logical value to provide at least a first pre-processed segment; Means for pre-processing a second copy of the plurality of segments to embed information representative of a second logical value to provide at least a second pre-processed segment;
Means for combining said first preprocessed segment and said specific segment of said second preprocessed segment to provide said data signal according to a selection signal designating said successive logic values;
Including the device.
JP2000551352A 1998-05-28 1999-05-25 Preprocessed information embedding system Expired - Fee Related JP4460159B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8701798P 1998-05-28 1998-05-28
US60/087,017 1998-05-28
PCT/US1999/011526 WO1999062022A1 (en) 1998-05-28 1999-05-25 Pre-processed information embedding system

Publications (3)

Publication Number Publication Date
JP2002517111A JP2002517111A (en) 2002-06-11
JP2002517111A5 JP2002517111A5 (en) 2010-02-18
JP4460159B2 true JP4460159B2 (en) 2010-05-12

Family

ID=22202482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000551352A Expired - Fee Related JP4460159B2 (en) 1998-05-28 1999-05-25 Preprocessed information embedding system

Country Status (6)

Country Link
EP (1) EP1080442A1 (en)
JP (1) JP4460159B2 (en)
AU (1) AU4312799A (en)
CA (1) CA2333100A1 (en)
MX (1) MXPA00011683A (en)
WO (1) WO1999062022A1 (en)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644282B2 (en) 1998-05-28 2010-01-05 Verance Corporation Pre-processed information embedding system
US6912315B1 (en) 1998-05-28 2005-06-28 Verance Corporation Pre-processed information embedding system
US6737957B1 (en) 2000-02-16 2004-05-18 Verance Corporation Remote control signaling using audio watermarks
US6430301B1 (en) 2000-08-30 2002-08-06 Verance Corporation Formation and analysis of signals with common and transaction watermarks
US7392392B2 (en) 2001-12-13 2008-06-24 Digimarc Corporation Forensic digital watermarking with variable orientation and protocols
US7392394B2 (en) 2001-12-13 2008-06-24 Digimarc Corporation Digital watermarking with variable orientation and protocols
AU2003247423A1 (en) * 2002-02-19 2003-09-09 Koninklijke Philips Electronics N.V. Collusion-robust watermarking
US7308430B2 (en) 2002-04-02 2007-12-11 Warner Bros. Entertainment Inc. Methods and apparatus for uniquely identifying a large number of film prints
US7533027B2 (en) * 2002-04-02 2009-05-12 Warner Bros. Entertainment Inc. Methods and apparatus for uniquely identifying a large number of film prints
EP1588544B1 (en) * 2002-09-27 2012-04-11 Technicolor, Inc. Motion picture anti-piracy coding
EP1552454B1 (en) 2002-10-15 2014-07-23 Verance Corporation Media monitoring, management and information system
AU2004254892B2 (en) 2003-06-23 2010-03-04 Sony Corporation Fingerprinting of data
US20060239501A1 (en) 2005-04-26 2006-10-26 Verance Corporation Security enhancements of digital watermarks for multi-media content
DE602004024248D1 (en) * 2004-04-27 2009-12-31 Thomson Licensing FILM-FINGERPRINT
US11734393B2 (en) 2004-09-20 2023-08-22 Warner Bros. Entertainment Inc. Content distribution with renewable content protection
US20060064386A1 (en) 2004-09-20 2006-03-23 Aaron Marking Media on demand via peering
US8793762B2 (en) 2004-09-20 2014-07-29 Secure Content Storage Association Llc Simple nonautonomous peering network media
US8020004B2 (en) * 2005-07-01 2011-09-13 Verance Corporation Forensic marking using a common customization function
DE102006005052A1 (en) * 2006-02-03 2007-08-09 Siemens Ag Method and device for generating at least one user-specifically marked data stream, method and device for detecting a user-specifically marked data stream and a user-specifically marked data stream
EP2255315A4 (en) * 2008-02-11 2013-01-23 Secure Content Storage Ass Llc Simple non-autonomous peering environment watermarking, authentication and binding
US8365279B2 (en) 2008-10-31 2013-01-29 Sandisk Technologies Inc. Storage device and method for dynamic content tracing
US8429365B2 (en) 2009-06-26 2013-04-23 Sandisk Technologies Inc. Memory device and method for embedding host-identification information into content
WO2011064493A1 (en) * 2009-11-30 2011-06-03 France Telecom Encoding method and device with error correction suitable for transaction marking
US8838978B2 (en) 2010-09-16 2014-09-16 Verance Corporation Content access management using extracted watermark information
US8923548B2 (en) 2011-11-03 2014-12-30 Verance Corporation Extraction of embedded watermarks from a host content using a plurality of tentative watermarks
US9323902B2 (en) 2011-12-13 2016-04-26 Verance Corporation Conditional access using embedded watermarks
US9547753B2 (en) 2011-12-13 2017-01-17 Verance Corporation Coordinated watermarking
US9571606B2 (en) 2012-08-31 2017-02-14 Verance Corporation Social media viewing system
US20140075469A1 (en) 2012-09-13 2014-03-13 Verance Corporation Content distribution including advertisements
US8869222B2 (en) 2012-09-13 2014-10-21 Verance Corporation Second screen content
US9262794B2 (en) 2013-03-14 2016-02-16 Verance Corporation Transactional video marking system
US9251549B2 (en) 2013-07-23 2016-02-02 Verance Corporation Watermark extractor enhancements based on payload ranking
US9208334B2 (en) 2013-10-25 2015-12-08 Verance Corporation Content management using multiple abstraction layers
US9596521B2 (en) 2014-03-13 2017-03-14 Verance Corporation Interactive content acquisition using embedded codes
US20160050468A1 (en) * 2014-08-14 2016-02-18 Nagravision S.A. Mitigation of collusion attacks against watermarked content

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502576A (en) * 1992-08-24 1996-03-26 Ramsay International Corporation Method and apparatus for the transmission, storage, and retrieval of documents in an electronic domain
US5636292C1 (en) * 1995-05-08 2002-06-18 Digimarc Corp Steganography methods employing embedded calibration data

Also Published As

Publication number Publication date
EP1080442A1 (en) 2001-03-07
AU4312799A (en) 1999-12-13
WO1999062022A1 (en) 1999-12-02
CA2333100A1 (en) 1999-12-02
MXPA00011683A (en) 2002-07-02
JP2002517111A (en) 2002-06-11

Similar Documents

Publication Publication Date Title
JP4460159B2 (en) Preprocessed information embedding system
US8000543B2 (en) Pre-processed information embedding system
US10644884B2 (en) System and methods for permitting open access to data objects and for securing data within the data objects
US9117270B2 (en) Pre-processed information embedding system
US6449367B2 (en) Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US20030079222A1 (en) System and method for distributing perceptually encrypted encoded files of music and movies
US20030046240A1 (en) Material distribution apparatus
Lacy et al. Music on the Internet and the intellectual property protection problem
Thanos COiN-Video: A Model for the Commercialization of Video Streams Over Open Networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060519

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090812

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090819

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091021

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091224

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20091224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100212

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees