(58)【調査した分野】(Int.Cl.,DB名)
  前記パケット生成部は、前記個別圧縮符号化コンテンツデータのパケットには装置識別情報の中において当該パケットに対応する部分を識別するためのビット位置識別情報を設ける、
  ことを特徴とする請求項1または2のいずれか一項に記載のストリーム生成装置。
【発明を実施するための形態】
【0018】
  次に、本発明の実施形態について、図面を参照しながら説明する。
[第1の実施形態]
  本実施形態は、放送局が実施する放送によるコンテンツ配信サービスを実現するコンテンツ配信システムに適用される。なお本実施形態では、映像をHEVCで圧縮した圧縮ストリームに電子透かしを埋め込む。ここでいう放送局は、放送の代わりに、インターネット等の通信ネットワークを通じて利用者に対しコンテンツを一斉配信するコンテンツ配信事業者であってもよい。
 
【0019】
  図1は、本実施形態による電子透かし埋め込み装置(以下、埋込装置)および電子透かし検出装置(以下、検出装置)を適用したコンテンツ配信システムの構成を示す概略構成図である。図示するように、コンテンツ配信システムは、コンテンツサーバー1と、ストリーム生成サーバー2(ストリーム生成装置)と、送信装置3と、受信装置4と、電子透かし検出装置5と、イントラネット9と、を含んで構成される。
 
【0020】
  受信装置4は、電子透かし埋め込みストリームを生成する埋込装置と、電子透かし埋め込みストリームを伸長しコンテンツを復元するための伸長装置を内部に含む。本システムにおいて、実際には、受信装置は多数存在するが、同図では、簡略化して説明するために、4台の受信装置のみを示している。
 
【0021】
  なお、コンテンツサーバー1と、ストリーム生成サーバー2と、イントラネット9とをまとめて放送局装置群と呼ぶ。放送局装置群および送信装置3は、放送局が管理する装置群および設備である。受信装置4は、放送番組等のコンテンツを視聴する視聴者が有する装置である。電子透かし検出装置5は、放送局もしくは、放送局から電子透かしの検出を委託された第3者もしくは放送局が有する装置である。本実施形態では電子透かし検出装置5を第3者が有する。
 
【0022】
  放送局装置群は、放送局や番組制作会社等により制作されたコンテンツデータを圧縮符号化して圧縮ストリームを生成する。放送局装置群は、本実施形態独自の方式によって、後で電子透かしが埋め込まれた圧縮ストリームを容易に生成できるような、圧縮ストリーム中間データを生成する。そして、放送局装置群は、圧縮ストリーム中間データを放送信号に変換し、この放送信号を送信装置に送信する。
 
【0023】
  イントラネット9は、コンテンツサーバー1とストリーム生成サーバー2と送信装置3とを相互に接続する通信回線である。イントラネット9は、例えば、インターネットプロトコル(Internet  Protocol;IP)を適用して通信可能なコンピュータネットワークである。コンテンツサーバー1とストリーム生成サーバー2との間や、ストリーム生成サーバー2と送信装置3との間では、イントラネットを介した通信が行われる。
 
【0024】
  コンテンツサーバー1は、電子回路などを用いて構成される装置である。コンテンツサーバー1は、図示しないコンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータを記憶する。ここで、コンテンツデータは、映像データ、音声データ等を含むデジタルデータである。本実施形態では、コンテンツデータは、少なくとも映像データを含む。
 
【0025】
  ストリーム生成サーバー2は、コンテンツのストリームデータを生成するものである。ストリーム生成サーバー2は、図示しない入力装置から符号化レートの情報を取り込むとともに、コンテンツサーバー1からコンテンツデータを取り込み、ある特定の位置までHEVC符号化(HEVCは、High Efficiency Video Codingの略)を行う。これを、符号化列1Pと呼ぶ。この符号化レートは、送信装置と受信装置との間の伝送路において使用可能な伝送容量、つまり、使用可能帯域を示す値であり、HEVC符号化の際に用いられる。さらに、ストリーム生成サーバー2は、前記コンテンツサーバーから取り込んだコンテンツデータに対し、ある特定の位置までをHEVC符号化する際に、Transform  Unit(TU)を処理している途中で生成される量子化値の一部を変更し、その後の算術符号化以後の処理を行う。この処理により、ある量子化値の一部を変更した前後から符号化列1Pとは異なる符号となる符号化列が生成される。これを、符号化列2Pと呼ぶ。
 
【0026】
  但し、符号化列1Pと符号化列2Pの冒頭からしばらくは同じビット列が続いている。この同じビット列の部分を、符号化列0と呼ぶ。符号化列1Pの中の符号化列0より後の部分を符号化列1と呼び、また符号化列2Pの中の符号化列0より後の部分を符号化列2と呼ぶ。より厳密には、符号化列0の長さは、符号化列を伝送する際のパケットの切れ目によって制御される。例えば、TSパケットの場合、184バイトがTSのデータ領域となるが、この中の符号化列を入れる部分が100バイトである場合には、100バイトで区切ったサイズがパケットの切れ目の単位である。
 
【0027】
  なお、本実施形態では、量子化値の一部を変更することによって、符号化列1と異なる符号化列2を生成する。ただし、HEVC符号化時の他の項目、例えば予測符号化に使う動きベクトルを変更することによって、符号化列1と異なる符号化列2を生成するようにしても良い。これらいずれの場合も、符号化列1と異なる符号化列2を生成するため、同じ効果を得ることができる。
 
【0028】
  前記の符号化列1と符号化列2の生成は、コンテンツデータの特定の位置までとしたが、この特定の位置とは、スライススタートコードを挿入することなどにより、符号化をデフォルトの状態に戻すことができる直前の位置とする。そして、符号化列1と符号化列2の直後の位置にスライススタートコードなどを挿入し、その部分から新たな符号化列0が開始される。
 
【0029】
  図2は、符号化列と時間軸との関係を示す概略図である。同図において、横方向が時間軸であり、左側がより早い時刻、右側がより遅い時刻に対応している。同図では、符号化列1Pおよび符号化列2Pを示している。符号化列0は、符号化列1P内および符号化列2P内に存在し、これらに共通の符号化列である。符号化列1と符号化列2は、それぞれ、符号化列1Pと符号化列2Pにおいて特有の符号化列である。同じ時間帯における符号化列1と符号化列2とは、異なる符号(データ)を含む。同図では、時刻T1において、符号化列1Pと2Pとの両方で、共通の符号化列0が開始される。そして、時刻T2において、符号化列0から、符号化列1Pと2Pのそれぞれに特有の符号化列が開始される。時刻T2から時刻T3の間において、符号化列1Pは符号化列1を含み、符号化列2Pは符号化列2を含む。そして、時刻T3において、再び、符号化列1Pと2Pに共通の符号化列0が開始される。そして、時刻T3以後、同様に繰り返される。
 
【0030】
  なお、時刻T1とT3とT5は、スタートコード(例えば、スライススタートコード)が開始される時刻である。これにより、任意の位置から符号化列1Pまたは2Pのいずれかを受信した装置は、時刻T1やT3やT5に対応する位置から、即ち符号化列0が開始される位置から、正常な伸長を行うことができる。そして、符号化列0の長さを、符号化列1や符号化列2の長さよりも相対的に十分に長くすることにより、即ち、(T2−T1)が(T3−T2)よりも十分に長くなるような構成とすることにより、トータルな伝送効率の低下を防ぐことができる。これは、符号化列1Pと2Pの全体を伝送するときに、共通部分である符号化列0が大半を占めるからである。
 
【0031】
  図1に戻り、ストリーム生成サーバー2は、符号化列0、符号化列1、符号化列2のデータを元に伝送用のパケットを生成する。また、ストリーム生成サーバー2は、符号化列を識別するための符号化列識別情報をパケット内に設定する。また、ストリーム生成サーバー2は、符号化列1と符号化列2とのペアに対応して、後述する受信装置(もしくは、受信者)の自装置識別情報(「装置識別情報」とも呼ぶ)の何ビット目の情報であるかを示すビット位置識別情報をもパケット内に設定する。符号化列1および符号化列2と、ビット位置識別情報との関係については、後で
図3を参照しながらさらに説明する。
  そして、ストリーム生成サーバー2は、すべてのパケットを合成して圧縮ストリーム中間データを生成し、この圧縮ストリーム中間データを記憶する。
 
【0032】
  送信装置3は、上記のストリーム生成サーバー2から圧縮ストリーム中間データを取得し、この圧縮ストリーム中間データをデジタル放送の放送信号に変換する。そして、送信装置3は、その放送信号を送信アンテナ等から送出する。送信アンテナは、送信装置3が送信した放送信号による放送電波を空中に放射する。
 
【0033】
  受信装置4は、複数ビットからなる自装置(もしくは、受信者)を識別する自装置識別情報を記憶する。
  受信装置4は、上記の送信アンテナが放射した放送電波を受信することによって放送信号を取り込み、この放送信号から圧縮ストリーム中間データを取得する。
  受信装置4は、符号化列0が含まれるパケットと、符号化列1または符号化列2のいずれかが含まれるパケットとを抽出する。このとき、受信装置4は、パケット内に含まれるビット位置識別情報に基づき、自装置識別情報の中の、ビット位置識別情報によって指し示される位置のビットの値に対応して、符号化列1または符号化列2のいずれかのパケットを選択的に抽出する。つまり、受信装置4が符号化列1または符号化列2のいずれのパケットを選択したかによって、事後的に、受信装置4自身の自装置識別情報のうちの一部(そのビット位置識別情報が指し示す箇所)のビット値がわかる。
 
【0034】
  受信装置4は、抽出された共通の符号化列である符号化列0と、自装置識別情報に基づいて選択された符号化列1もしくは符号化列2と、に対し、パケットヘッダ、符号化列識別情報、ビット位置識別情報を取り除いた後に合成し、自装置識別情報が埋め込まれた個別電子透かしストリームを生成(復元)する。受信装置4は、この個別電子透かしストリームに対し、HEVC伸長を行い、コンテンツの映像を表示したり、音声を出力したりする。ここで、自装置識別情報が埋め込まれるということは、その装置固有の個別電子透かしストリームの中に、各箇所において符号化列1もしくは符号化列2のいずれが選択されたかがを表す情報(符号化列1または符号化列2そのもの)が含まれていることを表す。
 
【0035】
  図3は、ストリーム生成サーバー2が生成するストリーム(圧縮ストリーム中間データ)と、パケット内に含まれるビット位置識別情報と、受信装置4側の装置識別情報との関係を示す概略図である。図示するように、ストリーム生成サーバー2が生成するストリームでは、符号化列0(A0で示す)の後に符号化列1(B1で示す)と符号化列2(B2で示す)が続く。この符号化列1(B1)と符号化列2(B2)のいずれか一方が、受信装置4側で選択的に抽出される。符号化列1(B1)と符号化列2(B2)の後には、また符号化列0(C0で示す)が続く。さらに、その後、符号化列0(D0で示す)が現れ、その後に符号化列1(E1で示す)と符号化列2(E2で示す)が続く。この符号化列1(E1)と符号化列2(E2)に関しても、それらのいずれか一方が、受信装置4側で選択的に抽出される。符号化列1(E1)と符号化列2(E2)の後には、また符号化列0(F0で示す)が続く。なお、ここでは、ストリーム全体の中の一部のみに着目して図示している。つまり、符号化列0(A0)の前や、符号化列0(C0)と符号化列0(D0)の間や、符号化列0(F0)の後にも、符号化列が存在する。ビット位置識別情報(B用)は、符号化列1(B1)や符号化列2(B2)のためのパケットの中に挿入される情報であり、装置識別情報の中の特定のビット位置(破線矢印が射す先のハッチングの領域)を指し示す。また、ビット位置識別情報(E用)は、符号化列1(E1)や符号化列2(E2)のためのパケットの中に挿入される情報であり、装置識別情報の中の別の特定のビット位置(破線矢印が射す先のハッチングの領域)を指し示す。装置識別情報は、受信装置4に固有のビット列である。
 
【0036】
  つまり、特定の受信装置4に関して、ビット位置識別情報(B用)が指し示す位置のビット値は、「0」または「1」のいずれかである。このビット位置識別情報(B用)が指し示す位置のビット値に基づいて、受信装置4は、符号化列1(B1)または符号化列2(B2)のいずれを選択して抽出するかを決定する。つまり、装置識別情報内の特定の位置のビットが、符号化列1(B1)または符号化列2(B2)のいずれかへの指標値である。図示するように、本実施形態では、ビット値「0」は符号化列1(B1)への指標であり、ビット値「1」は符号化列2(B2)への指標である。
 
【0037】
  ビット位置識別情報(E用)についても同様である。特定の受信装置4に関して、ビット位置識別情報(E用)が指し示す位置のビット値は、「0」または「1」のいずれかである。このビット位置識別情報(E用)が指し示す位置のビット値に基づいて、受信装置4は、符号化列1(E1)または符号化列2(E2)のいずれを選択して抽出するかを決定する。つまり、装置識別情報内の特定の位置のビットが、符号化列1(E1)または符号化列2(E2)のいずれかへの指標値である。図示するように、本実施形態では、ビット値「0」は符号化列1(E1)への指標であり、ビット値「1」は符号化列2(E2)への指標である。
 
【0038】
  装置識別情報における他のビット(ハッチングされていない領域)についても、同様に、他のビット位置識別情報によって指し示される。そして、その位置のビット値が、対応する箇所における符号化列1または符号化列2への指標である。受信装置4は、その指標に従って、符号化列1または符号化列2のいずれかを選択する。
 
【0039】
  ストリームに含まれるビット位置識別情報は、一例として、装置識別情報の上位ビット(MSB)から下位ビット(LSB)までを順次指し示していく(あるいは逆順でも良いし、予め定められた任意の順序でも良い)。また、指し示す位置が一巡すると、元の位置に復帰する。そのビット位置識別情報が一巡する間に、受信装置4が、それぞれの位置に対応する符号化列1または符号化列2のいずれかを選択して抽出する。したがって、ビット位置識別情報が装置識別情報における位置を一巡以上したところで、受信装置4が生成したストリームは、その受信装置4の自装置識別情報を含んでいる。何故なら、受信装置4が生成したストリームは、装置識別情報内のそれぞれのビット位置に対応して符号化列1または符号化列2に対応した選択を行ったことによって生成されたものだからである。
 
【0040】
  次に、各装置の内部の機能構成について説明する。
  
図4は、コンテンツサーバーの概略機能構成を示すブロック図である。同図に示すように、コンテンツサーバー1は、コンテンツ取得部11と、コンテンツ記憶部12と、コンテンツ供給部13とを含んで構成される。
  コンテンツ取得部11は、前述したコンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ記憶部12に供給する。コンテンツ供給装置は、例えば、磁気ハードディスク装置、半導体ディスク装置等の記憶装置、ネットワークを介して接続されるコンテンツ編集装置等である。
  コンテンツ記憶部12は、コンテンツ取得部11が供給するコンテンツデータを、例えばファイルデータとして記憶する。コンテンツ記憶部は、磁気ハードディスク装置や半導体メモリを用いて実現される。
  コンテンツ供給部13は、コンテンツ記憶部12からコンテンツデータを読み込み、このコンテンツデータをストリーム生成サーバー2に供給する。
 
【0041】
  図5は、ストリーム生成サーバーの概略機能構成を示すブロック図である。同図に示すストリーム生成サーバー2は、受信装置4において電子透かしを圧縮ストリームに埋め込むための事前データとして、各ビット位置において2種類のストリームを生成する構成を有している。同図に示すように、ストリーム生成サーバー2は、コンテンツ取得部21と、データ分離部22と、符号化レート取得部23と、コンテンツ共通圧縮符号化部24(共通圧縮符号化部)と、コンテンツ個別圧縮符号化部25(個別圧縮符号化部)と、パケット生成部26と、パケット合成部27と、圧縮ストリーム中間データ供給部28とを含んで構成される。
 
【0042】
  コンテンツ取得部21は、コンテンツサーバー1からコンテンツデータを取り込み、このコンテンツデータをデータ分離部22に供給する。
  符号化レート取得部23は、図示しない符号化レート供給装置から符号化レートのデータを取り込み、この符号化レートをコンテンツ共通圧縮符号化部24とコンテンツ個別圧縮符号化部25とに供給する。符号化レート供給装置は、例えば、オペレーターによって操作されるキーボード、マウス等の入力装置や、半導体メモリ等を用いて情報を記憶するよう構成される記憶装置であり、符号化レートのデータを記憶し、外部に供給する。
 
【0043】
  データ分離部22は、コンテンツデータを共通データと個別データとに分離する。また、データ分離部22は、コンテンツデータを分離する際に、共通データの先頭がスタートコードを挿入する位置になるように分離するものである。
  具体的には、データ分離部22は、コンテンツ取得部21からコンテンツデータを読み込む。そして、データ分離部22は、取得したコンテンツデータを、前記した電子透かし埋め込みには利用しない符号化列0を生成する部分と、電子透かし埋め込みに利用する符号化列1と符号化列2を生成する部分とに分離する。なお、電子透かし埋め込みには利用しない符号化列0を生成する部分(共通部分または共通データと呼ぶ)と、電子透かし埋め込みに利用する符号化列1と符号化列2を生成する部分(個別部分または個別データと呼ぶ)の境界は、任意の位置としてよい。ただし、個別部分から共通部分に変化する位置は、HEVC符号化した際にスタートコードを挿入できる位置に限定される。そのような位置は複数あり、適宜選択される。
  そして、データ分離部22は、分離して得られた共通データをコンテンツ共通圧縮符号化部24に供給する。また、データ分離部22は、個別データをコンテンツ個別圧縮符号化部25に供給する。
 
【0044】
  コンテンツ共通圧縮符号化部24は、データ分離部22によって分離された共通データを符号化して共通圧縮符号化コンテンツデータを生成する。
  具体的には、コンテンツ共通圧縮符号化部24は、データ分離部22が供給するコンテンツデータの共通部分を取り込み、また、符号化レート取得部23が供給する符号化レートを取り込む。コンテンツ共通圧縮符号化部24は、コンテンツデータの圧縮符号化処理を実行して指定された符号化レート以下の符号化レートとなる共通圧縮符号化コンテンツデータを生成し、この共通圧縮符号化コンテンツデータをパケット生成部26内の符号化列0パケット生成部260に供給する。ここでの圧縮符号化処理は、例えば、HEVCによる映像圧縮符号化処理である。そして、共通圧縮符号化コンテンツデータの先頭には、必ずスタートコード(スライススタートコード等)が入っている。また、コンテンツ共通圧縮符号化部24は、符号化で使用されている算術符号用の確率テーブルのデータをコンテンツ個別圧縮符号化部25に供給する。
 
【0045】
  コンテンツ個別圧縮符号化部25は、データ分離部22によって分離された個別データを符号化する際に、算術符号化前のデータの一部を変えて算術符号化の処理を行うことにより、それぞれ異なる符号系列を有する複数の個別圧縮符号化コンテンツデータを生成する。
  ここで、算術符号化とは、例えば、H.264/AVCやHEVCなどの方式による符号化である。また、算術符号化前のデータの一部とは、例えば、符号化の処理途中で算出されるDCT係数やDST係数の量子化値や、或いは予測符号化で算出される予測ベクトルである。
  なお、符号化の方式はこれらに限られない。複数の異なる個別圧縮符号化コンテンツデータは、符号列としては異なるものであるが、それらのデータが表す映像としては、人によって知覚される違いは全くと言ってよいほどない程度に変化させることが、サービス事業者が同じサービスをすべての人に提供する場合は好ましい。あるいは、映像としては、人によって知覚される違いがあるとしても、コンテンツとしては問題にならないほどの小さな違いしかない程度に変化させることが好ましい。これにより、サービス事業者が、事実上同じサービスをすべての人に提供することとなる。
 
【0046】
  コンテンツ個別圧縮符号化部25は、その内部の機能構成として、算術符号用テーブル取得部250と、第1個別符号化部251と、第2個別符号化部252とを含んで構成される。
 
【0047】
  算術符号用テーブル取得部250は、コンテンツ共通圧縮符号化部24から供給される算術符号用の確率テーブルを取り込み、第1個別符号化部251と第2個別符号化部252とに供給する。
 
【0048】
  第1個別符号化部251は、データ分離部22が供給するコンテンツデータの個別部分を取り込み、また符号化レート取得部23が供給する符号化レートを取り込み、また算術符号用テーブル取得部250が供給する算術符号用の確率テーブルを取り込む。そして、第1個別符号化部251は、コンテンツデータの圧縮符号化処理を実行して指定された符号化レート以下の符号化レートとなる圧縮第1個別符号化コンテンツデータを生成し、この圧縮第1個別符号化コンテンツデータを、パケット生成部26内の符号化列1パケット生成部261に供給する。なお、第1個別符号化部251が符号化した結果は、前述の符号化列1である。
 
【0049】
  第2個別符号化部252は、データ分離部22が供給するコンテンツデータの個別部分を取り込み、また符号化レート取得部23が供給する符号化レートを取り込み、また算術符号用テーブル取得部250が供給する算術符号用の確率テーブルを取り込む。そして、第2個別符号化部252は、コンテンツデータの圧縮符号化処理を実行して指定された符号化レート以下の符号化レートとなる圧縮第2個別符号化コンテンツデータを生成する。このとき、第2個別符号化部252は、圧縮第2個別符号化コンテンツデータが、前記の圧縮第1個別符号化コンテンツデータとは異なるデータとなるようにする。具体的には第2個別符号化部252は、符号化の処理途中で算出されるDCT係数やDST係数の量子化値を変更したり、或いは予測符号化で算出される予測ベクトルを変更したりすることにより、圧縮第1個別符号化コンテンツデータとは異なるデータを生成し、この圧縮第2個別符号化コンテンツデータを、パケット生成部内の符号化列2パケット生成部262に供給する。なお、第2個別符号化部252が符号化した結果は、前述の符号化列2である。
  つまり、各々の個別符号化部(251と252)は、互いに異なる個別符号化コンテンツデータをそれぞれ生成する。
 
【0050】
  パケット生成部26は、共通部分である符号化列0(共通圧縮符号化コンテンツデータ)と、個別部分となる符号化列1および符号化列2などの複数の符号化列(個別圧縮符号化コンテンツデータ)をそれぞれパケット変換する。また、パケット生成部26は、少なくとも個別部分である符号化列1と符号化列2のパケットには符号化列を識別するための符号化列識別情報を設定する。また、パケット生成部26は、少なくとも個別部分である符号化列1と符号化列2のパケットには、ビット位置識別情報(装置識別情報の中における部分を識別するための位置識別情報)を設定する。このビット位置識別情報は、受信機(もしくは、受信者)の自装置識別情報の何ビット目の情報を埋め込むための符号化列であるかを示すものである。このようにして、パケット生成部26は、共通パケットデータと個別パケットデータとを生成する。
  なお、本実施形態では、パケット生成部26が、共通データである符号化列0のパケットにも共通データであることを識別するための符号化列識別情報を設けて、共通パケットデータを生成する。
 
【0051】
  パケット生成部26は、具体的には、コンテンツ共通圧縮符号化部24が供給する符号化列0と、コンテンツ個別圧縮符号化部25が供給する、第1個別データである符号化列1および第2個別データである符号化列2を取り込む。そして、パケット生成部26は、符号化列0をパケット変換し、符号化列0であることを識別するための符号化列識別情報を付加し、符号化列0パケットデータを生成する。
  またパケット生成部26は、符号化列1をパケット変換し、符号化列1であることを識別するための符号化列識別情報と、受信装置側の自装置識別情報のビット位置を指し示すビット位置識別情報とを付加し符号化列1パケットデータを生成する。
  またパケット生成部26は、符号化列2をパケット変換し、符号化列2であることを識別するための符号化列識別情報と、受信装置側の自装置識別情報のビット位置を指し示すビット位置識別情報を付加し符号化列2パケットデータを生成する。
 
【0052】
  パケット生成部26は、その内部において、符号化列0パケット生成部260と、符号化列1パケット生成部261と、符号化列2パケット生成部262とを含んで構成される。
  符号化列0パケット生成部260は、前述の符号化列0パケットデータを生成する。
  符号化列1パケット生成部261は、前述の符号化列1パケットデータを生成する。
  符号化列2パケット生成部262は、前述の符号化列2パケットデータを生成する。
 
【0053】
  パケット合成部27は、パケット生成部26が供給する符号化列0パケットデータ(共通圧縮符号化コンテンツパケットデータ)と、符号化列1パケットデータ(個別圧縮符号化コンテンツパケットデータ)と、符号化列2パケットデータ(個別圧縮符号化コンテンツパケットデータ)とを合成して、圧縮ストリーム中間データを生成し、この圧縮ストリーム中間データを圧縮ストリーム中間データ供給部28に供給する。パケット合成部27は、取得した符号化列0パケットデータと符号化列1パケットデータと符号化列2パケットデータとを、例えば、符号化列0パケットデータ、符号化列1パケットデータ、符号化列2パケットデータの順に連結して圧縮ストリーム中間データを生成し、この圧縮ストリーム中間データを圧縮ストリーム中間データ供給部28に渡す。
 
【0054】
  なお、パケット合成部27が符号化列0パケットデータと符号化列1パケットデータと符号化列2パケットデータを連結する順序は上に例示した順序に限らず、いかなる組み合わせによる順序によっても連結することが可能である。
  また、パケット合成部27は、符号化列0パケットデータと、符号化列1と、符号化列2パケットデータを、最小パケット単位で任意に組み合わせてもよい。
  ただし、復号の際の処理を考慮すると、これらのパケットデータを復号する時間順に連結することが望ましい。
 
【0055】
  圧縮ストリーム中間データ供給部28は、パケット合成部27が供給する圧縮ストリーム中間データを一時的に記憶する。圧縮ストリーム中間データ供給部28におけるデータの記憶手段として、例えば、半導体メモリ、磁気ディスク装置、半導体ディスク装置等を用いる。そして、圧縮ストリーム中間データ供給部28は、記憶していた圧縮ストリーム中間データを記憶手段から読み出すとともに、この圧縮ストリーム中間データを、例えば送信装置3に対して供給する。
 
【0056】
  図6は、送信装置の概略機能構成を示すブロック図である。同図に示すように、送信装置3は、圧縮ストリーム中間データ取得部31と、送信信号生成部32と、信号送信部33とを含んで構成される。送信装置3は、以下に説明する構成により、配信コンテンツを外部に対して配信する。
 
【0057】
  圧縮ストリーム中間データ取得部31は、ストリーム生成サーバー2から圧縮ストリーム中間データを取り込み、この圧縮ストリーム中間データを送信信号生成部32に供給する。
  送信信号生成部32は、圧縮ストリーム中間データ取得部31が供給する圧縮ストリーム中間データを取り込み、この圧縮ストリーム中間データを変調して信号送信部33に供給する。例えば、配信手段が放送である場合には、送信信号生成部32は、圧縮ストリーム中間データを載せた放送信号を、信号送信部33に供給する。放送信号の仕様は、例えば、ARIB(Association  of  Radio  Industries  and  Broadcast)標準規格によって規定されている。
  信号送信部33は、送信信号生成部32が供給する送信信号を取り込み、この信号を送信する。放送による配信の場合、信号送信部33は、取得した放送信号を放送波(電波や放送ケーブル上の放送波)に載せて配信する。
 
【0058】
  図7は、受信装置の概略機能構成を示すブロック図である。同図に示すように、受信装置4は、受信部41と、受信機識別子記憶部42(装置識別情報記憶部)と、データ分離部43と、データ合成部44と、圧縮符号化コンテンツ伸長部45とを含んで構成される。
 
【0059】
  受信部41は、受信装置4に接続された受信アンテナ(不図示)で受信した放送電波を元に得られた放送信号を取り込む。そして、受信部41は、取得した放送信号を復調して圧縮ストリーム中間データを取得し、この圧縮ストリーム中間データをデータ分離部43に供給する。つまり、受信部41は、符号化列0パケットデータ(共通圧縮符号化コンテンツパケットデータ)と、符号化列1パケットデータ(個別圧縮符号化コンテンツパケットデータ)と、符号化列2パケットデータ(個別圧縮符号化コンテンツパケットデータ)と、を含む圧縮ストリーム中間データ(コンテンツデータ)を取得する。
 
【0060】
  受信機識別子記憶部42は、受信機の識別子、もしくは受信機を有する受信者の識別子を記憶する。受信者を識別する識別子も、その受信者識別子が特定の受信装置に関連付けられている状況においては、技術構成の観点では、受信機を識別するための識別子と等価である。これらの識別子を、「装置識別情報」または「自装置識別情報」とも呼ぶ。受信機識別子記憶部42は、例えば、識別情報を記録したICカードをICカード読み取り装置に挿入した形で構成される。あるいは、例えば受信機内部のメモリ等に識別情報を記憶させる形で構成される。装置識別情報は、例えば20桁程度の10進数で表現される情報であり、受信機識別子記憶部42の内部ではビット列として記憶されている。一例として装置識別情報が20桁の10進数として表現される整数である場合、その装置識別情報を符号なし2進数で表すためには65ビット(2を底とする対数で、log(10
20)の小数点以下を切り上げ)で表現され得る。また例えば、20桁の10進数として表現される装置識別情報をBCD(binary-coded-decimal)で表すためには80ビット(=20×4)で表現され得る。
 
【0061】
  データ分離部43は、受信部41で取得した圧縮ストリーム中間データから、符号化列0パケットデータを抽出する。また、データ分離部43は、個別符号化パケットデータを格納するデータパケットからビット位置識別情報を取得し、受信機識別子記憶部42から読み出した装置識別情報のうち、ビット位置識別情報によって指し示される位置のビットを取得する。そして、その取得されたビットの値(0または1)に応じた個別符号化パケットデータ(符号化1パケットデータまたは符号化列2パケットデータ)を抽出する。例えば、当該ビットが「0」のときには符号化1パケットデータを抽出し、当該ビットが「1」のときには符号化2パケットデータを抽出する。つまり、データ分離部43は、受信機識別子記憶部42から読み出した装置識別情報に対応する個別符号化パケットデータを抽出する。
 
【0062】
  つまり、データ分離部43は、受信部41が取得したコンテンツデータから、共通圧縮符号化コンテンツデータを抽出するとともに、受信機識別子記憶部42から読み出した装置識別情報に対応する個別圧縮符号化コンテンツデータを抽出するものである。詳細には、データ分離部43は、個別圧縮符号化コンテンツパケットデータに付随するビット位置識別情報(位置識別情報)を取得し、装置識別情報の中においてビット位置識別情報で示される部分の情報に基づいて対応する個別圧縮符号化コンテンツデータを抽出する。
 
【0063】
  データ分離部43は、具体的には、受信部41が供給する圧縮ストリーム中間データを取り込み、この圧縮ストリーム中間データを構成するパケットデータごとに符号化列識別情報を検出することにより、パケットデータの種類を判別する。具体的に、データ分離部43は、受信したパケットデータから符号化列0であることを示す識別情報(例えば16進数表記で「00H」)を検出した場合、そのパケットデータが符号化列0パケットデータであると判別する。また、データ分離部43は、パケットデータ内に符号化列1であることを示す識別情報(例えば16進数表記で「01H」)を検出した場合、そのパケットデータが符号化列1パケットデータであると判別する。また、データ分離部は、パケットデータ内に符号化列2であることを示す識別情報(例えば16進数表記で「02H」)を検出した場合、そのパケットデータが符号化列2パケットデータであると判別する。
  つまり、データ分離部43は、判別したパケットデータの種類に応じてパケットデータを分離し、そのパケットデータから圧縮符号化コンテンツデータに該当するデータを抽出し、この抽出したデータをパケットデータの種類ごとにデータ合成部44に供給する。
 
【0064】
  さらに具体的な処理として、データ分離部43は、符号化識別情報が符号化列0であることを示す識別情報(例えば16進数表記で「00H」)であるパケットについて、符号化識別情報等のヘッダを除去し、合成して得たデータを、データ合成部44に供給する。また、取得したパケットに含まれているビット位置識別情報が「第iビット目」(iは整数)を示す場合、データ分離部43は、受信機識別子記憶部42に記録されている自装置識別情報を読出し、その第iビット目のデータを取得する。
 
【0065】
  そして、その第iビット目のデータが「0」である場合、データ分離部43は、パケット内の符号化識別情報を参照し、符号化列1であることを示す識別情報(16進数表記で「01H」)であるパケットについて、ヘッダを除去し、合成して得たデータを、データ合成部44に供給する。
  一方、その第iビット目のデータが「1」である場合、データ分離部43は、パケット内の符号化識別情報を参照し、符号化列2であることを示す識別情報(16進数表記で「02H」)であるパケットについて、ヘッダを除去し、合成して得たデータを、データ合成部44に供給する。
 
【0066】
  このように、データ分離部43は、受信したパケットから、符号化列0パケットデータと、自装置識別情報(の中の特定の部分)に対応する個別パケットデータ(符号化列1パケットデータ、または符号化列2パケットデータ)とを分離・抽出する。そして、データ分離部43は、分離・抽出したデータをデータ合成部44に渡す。
 
【0067】
  データ合成部44は、データ分離部43が供給する符号化列0パケットデータと、自装置識別情報に対応する個別パケットデータ(符号化列1パケットデータ、もしくは、符号化列2パケットデータ)とを取り込む。そして、データ合成部44は、符号化列0パケットデータと、個別パケットデータとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ伸長部45に供給する。
 
【0068】
  圧縮符号化コンテンツ伸長部45は、データ合成部44が供給する圧縮符号化コンテンツデータ(つまり、共通圧縮符号化コンテンツデータと個別圧縮符号化コンテンツデータとを合成して得られる圧縮符号化コンテンツデータ)を取り込み、この圧縮符号化コンテンツデータをコンテンツデータに伸長し、得られたコンテンツデータを外部に出力する。ここでの外部への出力とは、コンテンツデータによって表される映像を画面に表示したり、コンテンツデータによって表される音声をスピーカーから出力したり、コンテンツデータを録画手段等の外部装置に供給したりすることである。
 
【0069】
  以上、説明したように、受信装置4は、個別符号化列の部分ごとに、複数種類の個別符号化列の中から自装置識別情報に基づいて特定の個別符号化列を選択し、それら選択された符号化列と、共通符号化列とを合成して圧縮符号化コンテンツデータを得る。またさらに、得られた圧縮符号化コンテンツデータをコンテンツデータに伸長する。部分ごとの複数種類の個別符号化列は、デジタルデータとしては互いに異なるものであるが、映像あるいは音声等のコンテンツとしては、人にはその違いが知覚されにくい。つまり、受信装置4は、配信されるコンテンツを受信して、圧縮符号化コンテンツデータないしはそれを新調したコンテンツデータを生成する過程で、自装置識別情報を、電子透かしの情報として埋め込んでいる。このように埋め込まれた電子透かしは、次に述べる電子透かし検出装置によって、検出可能である。
 
【0070】
  図8は、電子透かし検出装置の一形態の概略機能構成を示すブロック図である。この形態は、不正に配信されているコンテンツが圧縮符号化されたままである場合に適用可能な電子透かし検出装置である。同図に示すように、電子透かし検出装置は、不正配信コンテンツ取得部51と、個別符号化列分離部52と、正規圧縮ストリーム中間データ取得部53と、符号化列分離部54と、符号化列比較部55と、受信機識別子特定部56とを含んで構成される。
 
【0071】
  不正配信コンテンツ取得部51は、コンテンツの不正配信を発見した場合等に、そのコンテンツデータを取得し、個別符号化列分離部52に供給する。
  個別符号化列分離部52は、不正配信コンテンツ取得部51から供給された、不正配信コンテンツ(RC)から、符号化列1もしくは符号化列2が使用されている部分を分離する。そして、この分離された個別符号化列部分を符号化列比較部55に供給する。
 
【0072】
  正規圧縮ストリーム中間データ取得部53は、ストリーム生成サーバー2で生成された圧縮ストリーム中間データを、ストリーム生成サーバー2から取得し、取得した圧縮ストリーム中間データを符号化列分離部54に供給する。
  符号化列分離部54は、正規圧縮ストリーム中間データ取得部53から供給された圧縮ストリーム中間データを、符号化列0と、符号化列1と、符号化列2とに分離し、それらのうち、符号化列1と符号化列2とを符号化列比較部55に供給する。なお、符号化列分離部54は、分離後の符号化列0については、何もしない。
 
【0073】
  符号化列比較部55は、個別符号化列分離部52から供給された個別符号化列について、部分毎に、符号化列分離部54から供給された符号化列1および符号化列2と比較する。そして、符号化列比較部55は、個別符号化列分離部52から供給された個別符号化列が符号化列1と一致している場合にはビット0を生成し、符号化列2と一致している場合にビット1を生成する。符号化列比較部55は、生成したビットを順次、受信機識別子特定部56に供給する。なおこのとき、符号化列比較部55は、生成したビットに対応するビット位置識別情報(つまり、個別符号化列の部分に対応するビット位置識別情報)を、あわせて受信機識別子特定部56に供給する。
 
【0074】
  受信機識別子特定部56は、符号化列比較部55から送られてきた全てのビットを直列に結合することにより、受信機識別子(装置識別情報)を再現する。具体的には、受信機識別子特定部56は、符号化列比較部55から供給された各ビットを、対応するビット位置識別情報にしたがって並べることにより、受信機識別子を再現する。なお、個別符号化列と装置識別情報とビット位置識別情報との関係は、
図3においても説明した通りである。
 
【0075】
  図9は、電子透かし検出装置の他の形態による概略機能構成を示すブロック図である。同図に示す電子透かし検出装置6は、不正配信コンテンツが圧縮符号化された状態ではなく、コンテンツに伸長された状態である場合、および、伸長後、別の圧縮方式で再圧縮された場合の、検出装置である。なお、正規に配信する場合の符号化列とは異なる符号化列で不正に配信されている場合は、不正に配信されているコンテンツを伸長し、伸長した不正配信コンテンツを対象として電子透かしを検出する。同図に示すように、検出装置6は、不正配信コンテンツ取得部61と、正規圧縮ストリーム中間データ取得部63と、データ分離部64と、コンテンツ伸長部67−1および67−2と、符号化列比較部65と受信機識別子特定部66とを含んで構成される。
 
【0076】
  不正配信コンテンツ取得部61は、コンテンツの不正配信を発見した場合に、不正配信コンテンツを取得し、取得したコンテンツを符号化列比較部65に供給する。
  正規圧縮ストリーム中間データ取得部63は、ストリーム生成サーバー2で生成された圧縮ストリーム中間データを、ストリーム生成サーバー2から取得し、取得した圧縮ストリーム中間データをデータ分離部64に供給する。
  データ分離部64は、正規圧縮ストリーム中間データ取得部63から供給された圧縮ストリーム中間データを、符号化列0と、符号化列1と、符号化列2とに分離する。そして、データ分離部64は、符号化列0と符号化列1とをコンテンツ伸長部67−1に供給し、符号化列0と符号化列2とをコンテンツ伸長部67−2に供給する。
 
【0077】
  コンテンツ伸長部67−1は、データ分離部64から供給された符号化列0と符号化列1とを合成し、伸長する。そして、コンテンツ伸長部67−1は、伸長されたコンテンツ(符号化列1コンテンツ)を符号化列比較部65に供給する。
  コンテンツ伸長部67−2は、データ分離部64から供給された符号化列0と符号化列2とを合成し、伸長する。そして、コンテンツ伸長部67−2は、伸長されたコンテンツ(符号化列2コンテンツ)を符号化列比較部65に供給する。
 
【0078】
  符号化列比較部65は、不正配信コンテンツ取得部61から供給された不正配信コンテンツについて、個別符号化列に相当する部分毎に、コンテンツ伸長部67−1から供給される符号化列1コンテンツとの比較、および、コンテンツ伸長部67−2から供給される符号化列2コンテンツとの比較を行う。なお既に述べた通り、コンテンツの、個別符号化列に相当する部分毎に、受信装置の装置識別情報の一部分が埋め込まれている。
  符号化列比較部65は、不正配信コンテンツの個別符号化部分が符号化列1の伸長結果に近い場合にはビット値「0」を生成し、不正配信コンテンツの個別符号化部分が符号化列2の伸長結果に近い場合にはビット値「1」を生成する。そして、符号化列比較部65は、ここで生成したビットを個別符号化列の部分毎に順次、受信機識別子特定部66に供給する。
 
【0079】
  受信機識別子特定部66は、符号化列比較部65から送られてきた全てのビットを直列に結合し、受信機識別子(装置識別情報)を特定する。具体的には、受信機識別子特定部66は、符号化列比較部65から供給される各ビットの値と、そのビットに対応する位置(ビット位置識別情報によって指し示される装置識別情報における位置)とに基づいて、それらのビットを並べる。
 
【0080】
  次に、フローチャートを参照しながら、本実施形態における各装置の動作手順について説明する。
[コンテンツサーバー]
  
図10は、コンテンツサーバー1が実行する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
  ステップS11:まず、コンテンツ取得部11は、コンテンツ供給装置からコンテンツデータを取り込み、このコンテンツデータをコンテンツ記憶部12に供給する。
  ステップS12:次に、コンテンツ記憶部12は、コンテンツ取得部11から供給されるコンテンツデータを、例えばファイルデータとして記憶する。
  ステップS13:次に、コンテンツ供給部13は、コンテンツ記憶部12からコンテンツデータを読み出し、読み出したコンテンツデータをストリーム生成サーバー2に対して送信する。
 
【0081】
[ストリーム生成サーバー]
  
図11は、ストリーム生成サーバー2が実行する処理の手順を示すフローチャートである。
  ステップS21:まず、コンテンツ取得部21は、コンテンツサーバー1から送信されるコンテンツデータを取得し、このコンテンツデータをデータ分離部22に供給する。
  ステップS22:次に、データ分離部22は、コンテンツ取得部21から供給されたコンテンツデータを、電子透かしの埋め込みに使用しない共通部分と、電子透かし埋め込みに使用する個別部分とに分離する。そして、データ分離部22は、分離された共通部分をコンテンツ共通圧縮符号化部24に供給する。また、データ分離部22は、分離された個別部分をコンテンツ個別圧縮符号化部25に供給する。
  ステップS23:次に、符号化レート取得部23は、符号化レート供給装置から符号化レートのデータを取り込み、この符号化レートをコンテンツ共通圧縮符号化部24とコンテンツ個別圧縮符号化部25とに供給する。
 
【0082】
  ステップS24:次に、コンテンツ共通圧縮符号化部24は、データ分離部22が供給する共通部分と、符号化レート取得部23が供給する符号化レートを取り込む。そして、コンテンツ共通圧縮符号化部24は、コンテンツデータのうちの共通部分の圧縮符号化処理を実行して符号化レート以下の容量値となる符号化列0を生成し、この符号化列0をパケット生成部26内の符号化列0パケット生成部260に供給する。また、コンテンツ共通圧縮符号化部24は、符号化で使用された最後の段階の算術符号用の確率テーブルをコンテンツ個別圧縮符号化部25に供給する。
 
【0083】
  ステップS25:次に、コンテンツ個別圧縮符号化部25の算術符号用テーブル取得部250は、コンテンツ共通圧縮符号化部24が供給する算術符号化用の確率テーブル(算術符号用テーブル)を取得する。そして、算術符号用テーブル取得部250は、その確率テーブルを、第1個別符号化部251と第2個別符号化部252に供給する。
 
【0084】
  ステップS26:次に、コンテンツ個別圧縮符号化部25の第1個別符号化部251は、データ分離部22が供給するコンテンツデータと、符号化レート取得部23が供給する符号化レートと、算術符号用テーブル取得部250が供給する確率テーブルとを取り込む。そして、第1個別符号化部251は、個別部分の圧縮符号化を行い、符号化列1を生成する。そして、第1個別符号化部251は、生成した符号化列1をパケット生成部26内の符号化列1パケット生成部261に供給する。
 
【0085】
  ステップS27:次に、コンテンツ個別圧縮符号化部25の第2個別符号化部252は、データ分離部22が供給するコンテンツデータと、符号化レート取得部23が供給する符号化レートと、算術符号用テーブル取得部250が供給する確率テーブルとを取り込む。そして、第2個別符号化部252は、個別部分の圧縮符号化を行い、符号化列2を生成する。そして、第2個別符号化部252は、生成した符号化列2をパケット生成部26内の符号化列2パケット生成部262に供給する。なお、第2個別符号化部252は、圧縮符号化を行う際に、途中で算出されるDCT係数やDST係数の量子化値を変更したり、もしくは、予測符号化で算出される予測ベクトルを変更したりする。これによって、第2個別符号化部252は、圧縮第1個別符号化コンテンツデータとは異なる圧縮第2個別符号化コンテンツデータを生成する。
 
【0086】
  ステップS28:次に、パケット生成部26は、符号化列0と、符号化列1と、符号化列2に対応するパケットを生成する。即ち、パケット生成部26は、それぞれ、符号化列0パケットデータと、符号化列1パケットデータと、符号化列2パケットデータとを生成する。
 
【0087】
  パケット生成部26による処理をさらに詳細に説明する。符号化列0パケット生成部260は、符号化列0をパケット変換するとともに、符号化列0を識別するための符号化列識別情報をパケット内に付加し、符号化列0パケットデータを生成する。そして、符号化列0パケット生成部260は、符号化列0パケットデータをパケット合成部27に供給する。また、符号化列1パケット生成部261は、第1個別符号化部251が供給する符号化列1をパケット変換するとともに、符号化列1を識別するための符号化列識別情報をパケット内に付加する。さらに、符号化列1パケット生成部261は、受信機(もしくは、受信者)を識別するための装置識別情報の何ビット目の情報を埋め込むための符号化列であるかを示すビット位置識別情報を付加し、符号化列1パケットデータを生成する。そして、符号化列1パケット生成部261は、生成した符号化列1パケットデータをパケット合成部27に供給する。そして、符号化列2パケット生成部262は、第2個別符号化部252が供給する符号化列1をパケット変換するとともに、符号化列2を識別するための符号化列識別情報をパケット内に付加する。さらに、符号化列2パケット生成部262は、受信機(もしくは、受信者)を識別するための装置識別情報の何ビット目の情報を埋め込むための符号化列であるかを示すビット位置識別情報を付加し、符号化列2パケットデータを生成する。そして、符号化列2パケット生成部262は、生成した符号化列2パケットデータをパケット合成部27に供給する。
 
【0088】
  具体的には、符号化列0パケット生成部260は、コンテンツ共通圧縮符号化部24が供給する符号化列0を取り込み、この符号化列0を、放送におけるストリームフォーマットに従ったストリームに変換する。そして、符号化列0パケット生成部260は、そのストリームに含まれる符号化列が符号化列0であることを示す符号化列識別情報を付加して、符号化列0パケットデータを生成する。符号化列0であることを示す符号化列識別情報がパケットに含まれていることにより、このパケットを受信する側では、このパケットが、電子透かしの埋め込みに利用しない共通部分を符号化したデータを含むものであることを識別できる。
 
【0089】
  また、符号化列1パケット生成部261は、第1個別符号化部251が供給する符号化列1を取り込み、この符号化列1を、放送におけるストリームフォーマットに従ったストリームに変換する。そして、符号化列1パケット生成部261は、そのストリームに含まれる符号化列が符号化列1であることを示す符号化列識別情報を付加して、符号化列1パケットデータを生成する。符号化列1であることを示す符号化列識別情報がパケットに含まれていることにより、このパケットを受信する側では、このパケットが、電子透かしの埋め込みに利用される個別部分を符号化したデータを含むものであることを識別できる。
 
【0090】
  そして、符号化列2パケット生成部262は、第2個別符号化部252が供給する符号化列2を取り込み、この符号化列2を、放送におけるストリームフォーマットに従ったストリームに変換する。そして、符号化列2パケット生成部262は、そのストリームに含まれる符号化列が符号化列2であることを示す符号化列識別情報を付加して、符号化列2パケットデータを生成する。符号化列2であることを示す符号化列識別情報がパケットに含まれていることにより、このパケットを受信する側では、このパケットが、電子透かしの埋め込みに利用される個別部分を符号化したデータを含むものであることを識別できる。
 
【0091】
  そして、パケット生成部260は、上述した処理で生成した符号化列0パケットデータと符号化列1パケットデータと符号化列2パケットデータとをパケット合成部27に供給する。
 
【0092】
  ステップS29:次に、パケット合成部27は、パケット生成部26が供給する符号化列0パケットデータと、符号化列1パケットデータと、符号化列2パケットデータとを合成して、圧縮ストリーム中間データを生成し、この圧縮ストリーム中間データを圧縮ストリーム中間データ供給部28に供給する。
  ステップS30:そして、圧縮ストリーム中間データ供給部28は、生成された圧縮ストリーム中間データを、送信装置3に送信する。
 
【0093】
  以上で、このフローチャート全体の処理を終了する。なお、このフローチャートは、供給されるコンテンツデータの所定の部分についてのストリーム生成サーバーでの処理を説明するためのものである。コンテンツデータが次々に供給されると、ストリーム生成サーバー2は、コンテンツデータの部分ごとに、このフローチャートの処理を繰り返していく。
 
【0094】
[送信装置]
  
図12は、送信装置3が実行する処理の手順を示すフローチャートである。
  ステップS41:まず、圧縮ストリーム中間データ取得部31は、ストリーム生成サーバー2から送信される圧縮ストリーム中間データを取り込み、この圧縮ストリーム中間データを送信信号生成部32に供給する。
  ステップS42:次に、送信信号生成部32は、圧縮ストリーム中間データ取得部31が供給する圧縮ストリーム中間データを取り込み、この圧縮ストリーム中間データを変調してデジタル放送の配信信号に変換し、この配信信号を信号送信部33に供給する。
  ステップS43:次に、信号送信部33は、送信信号生成部32が供給する信号を取り込み、この信号を送信アンテナから送信する。
 
【0095】
[受信装置]
  
図13は、受信装置4が実行する処理の手順を示すフローチャートである。
  ステップS51:まず、受信部41は、送信装置3側から送信されてくる信号を受信する。この信号は、例えば、受信装置に接続された受信アンテナで捉えた放送電波によるものである。そして、受信部41は、信号を復調して圧縮ストリーム中間データを取得し、この圧縮ストリーム中間データをデータ分離部43に供給する。
  ステップS52:次に、データ分離部43は、受信部が供給する圧縮ストリーム中間データを取り込む。そして、データ分離部43は、この圧縮ストリーム中間データを構成するパケットデータごとに符号化識別情報を検出することにより、パケットデータの種類を判別する。
  ステップS53:次に、データ分離部43は、受信機識別子記憶部42に記憶された自装置識別情報を読み出す。
 
【0096】
  ステップS54:次に、データ分離部43は、受信機識別子記憶部42から読み出した自装置識別情報に応じたパケットを取得する。具体的には、データ分離部43は、個別符号化パケットに含まれるビット位置識別情報を取得し、自装置識別情報の中のそのビット位置識別情報によって指し示されるビットの値を取得する。そして、そのビットの値に応じて当該個別符号化列の部分に関して、符号化列1パケットデータと符号化列2パケットデータのうちのいずれかを選択する。具体的には、データ分離部43は、取得したビット値が「0」の場合には符号化列1パケットデータを選択し、取得したビット値が「1」の場合には符号化列2パケットデータを選択する。
 
【0097】
  つまり、データ分離部43は、符号化列1パケットデータと符号化列2パケットデータのうち、受信機識別子記憶部42に記憶された自装置識別情報の当該ビット位置にあるビット値に対応するほうの符号化列パケットデータを選択する。そして、データ分離部43は、判別したパケットデータから、符号化列0パケットデータと、自装置識別情報に対応する個別符号化列パケットデータ(符号化列1パケットデータと符号化列2パケットデータのうちのいずれか)とを抽出・分離し、抽出したパケットデータから圧縮符号化コンテンツデータに該当するデータを抽出し、このデータをパケットデータの種類ごとにデータ合成部44に供給する。
  なお、データ分離部43は、個別符号化列パケットの部分ごとに、符号化列1パケットデータと符号化列2パケットデータのうちのいずれかを選択する処理を行う。
 
【0098】
  ステップS55:次に、データ合成部44は、データ分離部43が供給する符号化列0パケットデータと、自装置識別情報の各ビットに応じた個別符号化列パケットデータ(符号化列1パケットデータと符号化列2パケットデータ)とのシーケンスを順次取り込む。データ合成部44は、自装置識別情報の値に応じたシーケンス(一例として、符号化列0−符号化列1−符号化列0−符号化列2−符号化列0−符号化列2−符号化列0−符号化列1−符号化列0−符号化列1−・・・・・・、などといったシーケンス)を取得する。そして、データ合成部44は、符号化列0パケットデータと個別符号化列パケットデータとを合成して圧縮符号化コンテンツデータを生成し、この圧縮符号化コンテンツデータを圧縮符号化コンテンツ伸長部45に供給する。
 
【0099】
  ステップS56:次に、圧縮符号化コンテンツ伸長部45は、データ合成部44が供給する圧縮符号化コンテンツデータを取り込み、この圧縮符号化コンテンツデータをコンテンツデータに伸長し、このコンテンツデータを出力する。
 
【0100】
[第1の電子透かし検出装置]
  
図14は、
図8に示した電子透かし検出装置5が実行する処理の手順を示すフローチャートである。
  ステップS71:まず、不正配信コンテンツ取得部51は、不正に配信されているコンテンツを取得する。
  ステップS72:次に、個別符号化列分離部52は、取得された不正配信コンテンツから、個別符号化列を分離する。この個別符号化列は、電子透かしの情報が埋め込まれた部分である。個別符号化列分離部52は、分離された個別符号化列を、符号化列比較部55に供給する。
 
【0101】
  ステップS73:一方、正規圧縮ストリーム中間データ取得部53は、ストリーム生成サーバー2から圧縮ストリーム中間データを取得し、この圧縮ストリーム中間データを符号化列分離部54に供給する。
  ステップS74:次に、符号化列分離部54は、圧縮ストリーム中間データから符号化列1と符号化列2を分離し、分離した符号化列1と符号化列2を、符号化列比較部55に供給する。
 
【0102】
  ステップS75:そして、符号化列比較部55は、個別符号化列分離部52から供給された個別符号化列と、符号化列分離部54から供給された個別符号化列(符号化列1または符号化列2)とを、装置識別情報のビットが埋め込まれている部分毎に比較する。そして、符号化列比較部55は、不正配信コンテンツから得られた個別符号化列と符号化列1が一致している部分についてはビット値「0」生成し、不正配信コンテンツから得られた個別符号化列と符号化列2が一致している部分についてはビット値「1」生成する。符号化列比較部55は、生成したそれらのビットを、受信機識別子特定部56に供給する。
 
【0103】
  ステップS76:そして、受信機識別子特定部56は、符号化列比較部55から供給されたビットを適切な順序ですべて結合し、装置識別情報を特定する。
 
【0104】
[第2の電子透かし検出装置]
  
図15は、
図9に示した電子透かし検出装置5が実行する処理の手順を示すフローチャートである。
  ステップS81:まず、不正配信コンテンツ取得部61は、不正に配信されているコンテンツを取得する。不正配信コンテンツ取得部61は、取得した不正配信コンテンツを、符号化列比較部65に供給する。
 
【0105】
  ステップS82:次に、正規圧縮ストリーム中間データ取得部63は、ストリーム生成サーバー2から正規の圧縮ストリーム中間データを取得し、この圧縮ストリーム中間データをデータ分離部64に供給する。
  ステップS83:データ分離部64は、圧縮ストリーム中間データから符号化列0と、符号化列1と、符号化列2とを分離する。そして、データ分離部64は、符号化列0と符号化列1とをコンテンツ伸長部67−1に供給する。また、データ分離部64は、符号化列0と符号化列2とをコンテンツ伸長部67−2に供給する。
 
【0106】
  ステップS84:次に、コンテンツ伸長部67−1は、データ分離部64から供給された符号化列0と符号化列1を結合した後、伸長し、符号化列1コンテンツを生成する。そして、コンテンツ伸長部67−1は、生成したこの符号化列1コンテンツを、符号化列比較部65に供給する。
  ステップS85:一方、コンテンツ伸長部67−2は、データ分離部64から供給された符号化列0と符号化列2を結合した後、伸長し、符号化列2コンテンツを生成する。そして、コンテンツ伸長部67−2は、生成したこの符号化列2コンテンツを、符号化列比較部65に供給する。
 
【0107】
  ステップS86:符号化列比較部65は、不正配信コンテンツ取得部61から供給された不正配信コンテンツと、コンテンツ伸長部67−1から供給された符号化列1コンテンツと、コンテンツ伸長部67−2から供給された符号化列2コンテンツとを装置識別情報のビットが埋め込まれている部分毎に比較する。そして、符号化列比較部65は、比較結果として、ビット値を出力する。即ち、不正配信コンテンツと符号化列1コンテンツが類似/一致している場合はビット値「0」を出力し、不正配信コンテンツと符号化列2コンテンツが類似/一致している場合はビット値「1」を、出力する。そして、符号化列比較部65は、出力した各ビットを、受信機識別子特定部66に供給する。
  ステップS87:受信機識別子特定部66は、符号化列比較部65から供給されたビットを、所定の位置に並べてすべて結合することによって、装置識別情報を特定する。
 
【0108】
  以上説明したとおり、第1の実施形態によるストリーム生成サーバー2は、コンテンツを圧縮する際に、同一のコンテンツの符号化に対し、DCTデータもしくは、動きベクトルデータなどの一部を変更し第2個別圧縮符号化コンテンツデータを生成する第2個別符号化部252と、そのような変更をすることなく第1個別圧縮符号化コンテンツデータを生成する第1個別符号化部251とを含む、2種類の個別圧縮符号化コンテンツを生成するコンテンツ個別圧縮符号化部25を備える。また、ストリーム生成サーバー2は、1種類の圧縮符号化コンテンツを生成するコンテンツ共通圧縮符号化部24を備える。また、ストリーム生成サーバー2は、共通圧縮符号化データと、第1個別圧縮符号化データと、第2個別圧縮符号化データとそれぞれをパケット変換する。そして、ストリーム生成サーバー2は、符号化列0と、符号化列1と、符号化列2のそれぞれを識別するための符号化列識別情報を、各パケットに付加して、符号化列0パケットデータと、符号化列1パケットデータと、符号化列2パケットデータとを生成するパケット生成部26を備える。また、ストリーム生成サーバー2は、符号化列0パケットデータと、符号化列1パケットデータと、符号化列2パケットデータとを合成して、圧縮ストリーム中間データを生成するパケット合成部27を備える。
 
【0109】
  このように構成したことにより、ストリーム生成サーバー2が生成した圧縮ストリーム中間データを取得した受信装置4は、自装置が記憶する装置識別情報に応じて、符号化列を適宜選択して復号する。つまり、ストリーム生成サーバー2が生成した圧縮ストリーム中間データを取得した受信装置4は、自装置識別情報の各ビットに対応したコンテンツデータを再生することとなる。
 
【0110】
  よって、一斉配信のコンテンツ配信サービスの通常運用時において、受信装置4で受信したコンテンツを不正に再配信する者がいた場合、その受信装置4の装置識別情報がコンテンツに埋め込まれることとなる。
 
【0111】
  また、本実施形態のストリーム生成サーバー2を用いることにより、圧縮符号化コンテンツデータ全体に複数種類の電子透かしを埋め込んでコンテンツを配信する場合と比べて、符号量を大幅に少なくすることができ、伝送路の使用帯域を圧迫しなくて済む。これは、コンテンツ共通圧縮符号化部24を設けることによって複数種類の電子透かし埋め込みストリームデータを配信する必要がなく、その伝送のため符号量を抑制していることによる。
 
【0112】
  また、本実施形態による受信装置4は、受信機もしくは使用する受信者に対応する識別情報を記憶する受信機識別子記憶部42と、送信装置3から送信される信号を受信する受信部41とを備える。また、受信装置4は、受信した信号から抽出される圧縮ストリーム中間データを、符号化列0パケットデータと、符号化列1パケットデータと、符号化列2パケットデータそれぞれに分離するデータ分離部43を備える。また、受信装置4は、受信機識別子記憶部42に記憶された装置識別情報に基づき、個別符号化の部分に関して、符号化列1パケットデータと、符号化列2パケットデータとを、装置識別情報のビット毎に選択する、データ分離部43を備える。また、受信装置4は、選択されたパケットデータを合成してコンテンツデータを生成するデータ合成部44を備える。
 
【0113】
  上記のように構成したことにより、受信装置4は、ストリーム生成サーバー2が生成した圧縮ストリーム中間データを取り込み、当該受信装置の装置識別情報に応じてパケットを合成し、伸長することにより、圧縮ストリーム中間データからコンテンツデータを生成することができる。また、受信装置4は、自装置が記憶する装置識別情報に応じて、符号化列パケットを選択する。つまり、ストリーム生成サーバー2が生成した圧縮ストリーム中間データを取得した受信装置4は、自装置識別情報に対応したコンテンツデータを再生する。よって、一斉配信のコンテンツ配信サービスの通常運用時において、不正な受信装置がコンテンツを再配信した場合には、識別情報が埋め込まれたコンテンツを再配信することになる。
 
【0114】
  また、本実施形態によれば、一斉配信のコンテンツ配信サービスを受ける受信装置4に対する配信コストは従来と比較してもその増加量を抑えることができる。例えば、多数の受信装置4に圧縮ストリーム中間データを一斉配信するコンテンツ配信サービスにおいて、例えば二種類のコンテンツデータを二種類の電子透かしを埋め込んで配信する個別部分を少なくすることで、配信コストを下げられる。しかも、受信装置4による伸長を正常に行わせることができる。
  また、本実施形態によれば、符号化列1データおよび符号化列2データを前述の方法で生成するため、いずれのデータを伸長した場合にも、視聴者が得られる映像は、元のコンテンツに対して差異がほとんど知覚できないものである。
 
【0115】
  以下に、その他の実施形態について説明する。なお、下記の実施形態の複数を適宜組み合わせるようにしても良い。
 
【0116】
[第2の実施形態]
  上述の第1の実施形態においては、ストリーム生成サーバー2がコンテンツに電子透かしを埋め込むための圧縮ストリーム中間データを生成する際に、個別符号化データを2系統生成し、それぞれをパケット化するようにした。ここで、個別符号化データを3系統以上生成し、それぞれをパケット化するようにしても良い。このとき、ストリーム生成サーバー2のコンテンツ個別圧縮符号化部は、第1個別符号化部251と第2個別符号化部252に加えて、適宜、第3、第4、・・・の個別符号化部を設ける。個別符号化データを3系統以上生成する場合も、同一のコンテンツの符号化に対し、DCTデータもしくは動きベクトルデータなどの一部を変更し、それぞれ別々の個別圧縮符号化コンテンツデータを生成する。つまり、コンテンツ個別圧縮符号化部が生成する各系統の個別圧縮符号化コンテンツデータは、他のいずれの系統の個別圧縮符号化コンテンツデータとも異なるものである。
 
【0117】
  個別符号化部をn個(nは2以上の整数)設けて、1ヶ所の個別符号化の部分についてn通りの個別符号化を行い、それらを合わせたストリームとして配信する場合、透かしとして利用できる情報量は、2を底とする対数を用いて、log(n)ビットである。例えば、第1個別符号化部から第4個別符号化部までを設けて4通りの個別符号を生成する場合には、1ヶ所の個別符号の部分を電子透かしとして利用するときに2ビットの情報を埋め込むことができる。また、例えば、第1個別符号化部から第8個別符号化部までを設けて8通りの個別符号を生成する場合には、1ヶ所の個別符号の部分を電子透かしとして利用するときに3ビットの情報を埋め込むことができる。なお、個別符号化の種類数は2のべき乗には限定されない。
 
【0118】
  なお、第1の実施形態においては、ビット位置識別情報が、装置識別情報の中の特定の1ビットを指し示すようにしていた。しかし、装置識別情報の中の位置を示す位置識別情報は、必ずしも特定の1ビットを指し示すものでなくても良い。例えば、位置識別情報が、装置識別情報の中の複数のビットの集合を指し示すようにしても良い。また、それらの複数のビットは、装置識別情報の中において連続して並んでいるビットであっても良いし、飛び飛びの複数のビットであっても良い。また、さらに、位置識別情報は、装置識別情報が表すデータ空間における所定の部分空間を識別するものであっても良い。
 
【0119】
[第3の実施形態]
  ストリーム生成サーバー2の符号化列0パケット生成部260が、符号化列0識別情報をパケットデータに設けないようにしても良い。その場合、受信装置4のデータ分離部43は、符号化列識別情報が格納されていないパケットデータを、符号化列0パケットデータであると判別する。
 
【0120】
[第4の実施形態]
  上述した第1の実施形態は、放送局が実施する放送によるコンテンツ配信サービスを実現するコンテンツ配信システムであった。放送の代わりに、本実施形態では、例えば、コンテンツ提供事業者が、インターネット等の通信回線を用いて、一斉配信によるコンテンツ配信サービスを実現するコンテンツ配信システムを実現する。このようなシステムにも、第1の実施形態で説明したストリーム生成サーバーにおける符号化、パケット生成の処理や、受信機におけるパケット分解、デコーディングの処理を適用できる。この場合、コンテンツ提供事業者が運営する装置は、複数の受信装置に対して、通信回線を介して暗号化コンテンツデータをマルチキャストまたはブロードキャストにより一斉配信する。
 
【0121】
[第5の実施形態]
  上述した実施形態におけるストリーム生成サーバーの一部または全部の機能をコンピューターで実現するようにしてもよい。この場合、その機能を実現するための電子透かしストリーム生成プログラムをコンピューター読み取り可能な記録媒体に記録し、この記録媒体に記録された電子透かしストリーム生成プログラムをコンピューターシステムに読み込ませて、このコンピューターシステムが実行することによって実現してもよい。
  また、上述した実施形態における受信装置の一部または全部の機能をコンピューターで実現するようにしてもよい。この場合、その機能を実現するための電子透かし埋め込みプログラムをコンピューター読み取り可能な記録媒体に記録し、この記録媒体に記録された電子透かし埋め込みプログラムをコンピューターシステムに読み込ませて、このコンピューターシステムが実行することによって実現してもよい。
  また、上述した実施形態における電子透かし検出装置の一部または全部の機能をコンピューターで実現するようにしてもよい。この場合、その機能を実現するための電子透かし埋め込みプログラムをコンピューター読み取り可能な記録媒体に記録し、この記録媒体に記録された電子透かし埋め込みプログラムをコンピューターシステムに読み込ませて、このコンピューターシステムが実行することによって実現してもよい。
 
【0122】
  ここで、コンピューターシステムとは、オペレーティング・システム(Operating  System;OS)や周辺装置のハードウェアを含むものである。また、コンピューター読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピューターシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピューター読み取り可能な記録媒体とは、インターネット等のコンピュータネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記の暗号化プログラムおよび復号プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
 
【0123】
[第6の実施形態]
  本実施形態では、映像以外のコンテンツを、上述した各実施形態と同様の方法で伝送する。映像以外のコンテンツとは、例えば、音声のみによるコンテンツである。
 
【0124】
  以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。