(57)【要約】      （修正有）【課題】コンテンツの少なくとも一部のデータについて、複数のパターンが用意され、それらが異なる鍵で暗号化されたデータを容易に再生することができる情報処理システムを提供する。【解決手段】動画再生端末のストリーミング再生部９０の画像取得部９３は、動画コンテンツの符号化画像データの少なくとも一部であるforensic対象データに関する複数のパターンデータのそれぞれが異なる鍵で暗号化された暗号化データ、動画コンテンツの符号化画像データのうちのいずれの鍵でも暗号化されていない非暗号化データ、および、forensic対象データの動画コンテンツの符号化画像データ上の位置を示すデータ位置情報を受け取る。解読部９４は、所定の鍵を用いて暗号化された暗号化データを、所定の鍵を用いて解読し、パターンデータを生成する。挿入部９５は、データ位置情報に基づいて、解読されたパターンデータを非暗号化データに挿入する。【選択図】図９
2019110541.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの符号化データの中から、パターンデータの対象とする部分が選択され、前記選択された部分から、前記選択された部分とサイズが同一となる複数のパターンデータが生成され、複数の前記パターンデータのそれぞれが異なる鍵で暗号化されることで生成された複数の暗号化データと、暗号化されていないデータと、生成された複数の前記暗号化データにそれぞれアクセスするための管理情報とを含むファイルを受け取る受け取り部と、
前記受け取り部により受け取られた前記管理情報に基づいて、前記ファイルから所定の鍵を用いて暗号化された前記暗号化データを読み出し、前記所定の鍵を用いて解読し、前記パターンデータを生成する解読部と
を備える情報処理装置。
【請求項２】
前記暗号化データと前記暗号化されていないデータとが複数のグループに分類されており、
前記管理情報に、各前記グループの先頭の前記暗号化データの前記サイズを表すサイズ情報、または前記暗号化されていないデータの前記サイズを表すサイズ情報のみが格納されている
請求項１に記載の情報処理装置。
【請求項３】
前記管理情報は、前記サイズを表すサイズ情報及び、複数の前記暗号化データについて、前記鍵ごとに、それぞれの前記ファイル内の位置を表す位置情報を含む
請求項１に記載の情報処理装置。
【請求項４】
前記グループにおける複数の前記暗号化データが前記ファイル内に連続して配置されており、
前記管理情報は、更に、前記グループの先頭の前記暗号化データの前記ファイル内の先頭位置を表す情報を含む
請求項２に記載の情報処理装置。
【請求項５】
前記管理情報は、前記サイズを表すサイズ情報と前記暗号化データの前記ファイル内の位置を表す位置情報を含む
請求項１に記載の情報処理装置。
【請求項６】
前記ファイルは、ISO Base Media File Formatであり、
前記サイズ情報と前記位置情報は、サンプルごとに設定される
請求項５に記載の情報処理装置。
【請求項７】
複数の前記パターンデータのそれぞれのサイズが異なる場合には、各前記パターンデータのサイズが同一になるようにパディングデータが付加されており、
前記ファイルでは、前記管理情報に、複数の前記パターンデータに付加されたそれぞれの前記パディングデータのサイズを表す情報が格納される
請求項６に記載の情報処理装置。
【請求項８】
前記管理情報は、前記パディングデータが付加される前の、複数の前記パターンデータのそれぞれのサイズを表すパディング情報を含み、
前記解読部により生成された前記パターンデータに付加されているパディングデータを、前記パディング情報に基づいて削除する削除部
をさらに備える請求項７に記載の情報処理装置。
【請求項９】
前記パディングデータが付加された複数の前記パターンデータと前記コンテンツの符号化データの少なくとも一部が、共通鍵を用いて暗号化されている
請求項８に記載の情報処理装置。
【請求項１０】
前記コンテンツの符号化データから前記パターンデータの対象とする部分を除き、その部分の前および後にある、暗号化されていないデータが接続されており、
前記解読部により生成された前記パターンデータを、その部分の前にある暗号化されていないデータと、その部分の後にある暗号化されていないデータとの間に挿入する挿入部
をさらに備える請求項１に記載の情報処理装置。
【請求項１１】
前記コンテンツの符号化データから前記パターンデータの対象とする部分に、その部分のサイズと同一のサイズの所定のデータを挿入し、その部分の前および後にある、暗号化されていないデータが前記所定のデータを介して接続されており、
前記所定のデータを、前記解読部により生成された前記パターンデータに置換することにより、前記パターンデータを、暗号化されていないデータに挿入する挿入部
をさらに備える請求項１に記載の情報処理装置。
【請求項１２】
情報処理装置が、
コンテンツの符号化データの中から、パターンデータの対象とする部分が選択され、前記選択された部分から、前記選択された部分とサイズが同一となる複数のパターンデータが生成され、複数の前記パターンデータのそれぞれが異なる鍵で暗号化されることで生成された複数の暗号化データと、暗号化されていないデータと、生成された複数の前記暗号化データにそれぞれアクセスするための管理情報とを含むファイルを受け取ることと、
受け取られた前記管理情報に基づいて、前記ファイルから所定の鍵を用いて暗号化された前記暗号化データを読み出し、前記所定の鍵を用いて解読し、前記パターンデータを生成することと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置および情報処理方法に関し、特に、コンテンツの少なくとも一部のデータについて、複数のパターンが用意され、それらが異なる鍵で暗号化されたデータを容易に再生することができるようにした情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
近年、インターネット上のストリーミングサービスの主流がOTT-V（Over The Top Video）となっている。この基盤技術として普及し始めているのがMPEG-DASH（Moving Picture Experts Group phase - Dynamic Adaptive Streaming over HTTP）である（例えば、非特許文献１参照）。
【０００３】
MPEG-DASHでは、配信サーバが１本の動画コンテンツ用に画面サイズと符号化速度が異なる動画データ群を用意し、再生端末が伝送路の状況に応じて最適な画面サイズと符号化速度の動画データ群を要求することにより、適応型のストリーミング配信が実現される。
【０００４】
ところで、動画コンテンツの不正流通対策として、動画コンテンツのデータにforensic情報を埋め込むことが望まれている。forensic情報としては、例えば、動画コンテンツの少なくとも一部のデータについて複数のバリエーション（パターン）を用意し、それぞれを異なる鍵で暗号化したものがある。
【０００５】
動画コンテンツのデータにforensic情報が埋め込まれ、再生装置に１つの鍵のみが提供されると、特定の再生装置の再生出力が不正コピーされた場合に、不正コピーに含まれるパターンに対応する鍵を調査することで、不正コピーの流出元の再生装置を特定することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】MPEG-DASH(Dynamic Adaptive Streaming over HTTP)（URL:http://mpeg.chiariglione.org/standards/mpeg-dash/media-presentation-description-and-segment-formats/text-isoiec-23009-12012-dam-1）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、動画コンテンツにforensic情報が埋め込まれる場合、forensic情報が埋め込まれない場合に比べて動画再生に要する処理が複雑化する。そして、動画コンテンツの伝送フォーマットや記録フォーマットによっては、再生処理に大きな負担がかかる可能性がある。
【０００８】
本開示は、このような状況に鑑みてなされたものであり、コンテンツの少なくとも一部のデータについて、複数のパターンが用意され、それらが異なる鍵で暗号化されたデータを容易に再生することができるようにするものである。
【課題を解決するための手段】
【０００９】
本開示の一側面の情報処理装置は、コンテンツの符号化データの中から、パターンデータの対象とする部分が選択され、前記選択された部分から、前記選択された部分とサイズが同一となる複数のパターンデータが生成され、複数の前記パターンデータのそれぞれが異なる鍵で暗号化されることで生成された複数の暗号化データと、暗号化されていないデータと、生成された複数の前記暗号化データにそれぞれアクセスするための管理情報とを含むファイルを受け取る受け取り部と、前記受け取り部により受け取られた前記管理情報に基づいて、前記ファイルから所定の鍵を用いて暗号化された前記暗号化データを読み出し、前記所定の鍵を用いて解読し、前記パターンデータを生成する解読部とを備える。
【００１０】
本開示の一側面の情報処理方法は、本開示の第１の側面の情報処理装置に対応する。
【００１１】
本開示の一側面においては、コンテンツの符号化データの中から、パターンデータの対象とする部分が選択され、前記選択された部分から、前記選択された部分とサイズが同一となる複数のパターンデータが生成され、複数の前記パターンデータのそれぞれが異なる鍵で暗号化されることで生成された複数の暗号化データと、暗号化されていないデータと、生成された複数の前記暗号化データにそれぞれアクセスするための管理情報とを含むファイルが受け取られ、その受け取られた前記管理情報に基づいて、前記ファイルから所定の鍵を用いて暗号化された前記暗号化データを読み出し、前記所定の鍵を用いて解読し、前記パターンデータが生成される。
【００１２】
なお、一側面の情報処理装置は、コンピュータにプログラムを実行させることにより実現することができる。
【００１３】
また、一側面の情報処理装置を実現するために、コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本開示を適用した情報処理システムの第１実施の形態の概要を説明する図である。
【図２】画像ファイルのMedia Segmentのセグメント構造例を示す図である。
【図３】ptblボックスのシンタクスの例を示す図である。
【図４】mdatボックスの構成例を示す図である。
【図５】mdatボックスの構成例を示す図である。
【図６】mdatボックスの構成例を示す図である。
【図７】図１のファイル生成装置の構成例を示すブロック図である。
【図８】図７のファイル生成装置のファイル生成処理を説明するフローチャートである。
【図９】本開示を適用したストリーミング再生部の第１実施の形態の構成例を示すブロック図である。
【図１０】図９の挿入部によるパターンデータの挿入を説明する図である。
【図１１】図９のストリーミング再生部の通常再生処理を説明するフローチャートである。
【図１２】図１１の暗号化サンプル処理の詳細を説明するフローチャートである。
【図１３】図９のストリーミング再生部の読み出し開始位置決定処理を説明するフローチャートである。
【図１４】本開示を適用した情報処理システムの第２実施の形態における画像ファイルのMedia Segmentのセグメント構造例を示す図である。
【図１５】Sample Auxiliary Informationのシンタクスの例を示す図である。
【図１６】第２実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【図１７】図１６のストリーミング再生部の通常再生処理を説明するフローチャートである。
【図１８】本開示を適用した情報処理システムの第３実施の形態における画像ファイルのMedia Segmentのセグメント構造例を示す図である。
【図１９】図１８のarunボックスのシンタクスの例を示す図である。
【図２０】第３実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【図２１】図２０のストリーミング再生部の通常再生処理を説明するフローチャートである。
【図２２】本開示を適用した情報処理システムの第４実施の形態におけるmdatボックスの構成例を示す図である。
【図２３】第４実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【図２４】本開示を適用した情報処理システムの第５実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【図２５】図２４のストリーミング再生部の通常再生処理を説明するフローチャートである。
【図２６】本開示を適用した情報処理システムの第６実施の形態における画像ファイルのSample Constructorのシンタクスの例を示す図である。
【図２７】第６実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【図２８】図２７のストリーミング再生部の通常再生処理を説明するフローチャートである。
【図２９】図２８の要素処理の詳細を説明するフローチャートである。
【図３０】本開示を適用した情報処理システムの第７実施の形態における画像ファイルのSample Constructorのシンタクスの例を示す図である。
【図３１】第７実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【図３２】図３１のストリーミング再生部の要素処理の詳細を説明するフローチャートである。
【図３３】本開示を適用した情報処理システムの第８実施の形態における画像ファイルの実データの構成例を示す図である。
【図３４】第８実施の形態におけるファイル生成装置の構成例を示すブロック図である。
【図３５】Sample Constructorのシンタクスの例を示す図である。
【図３６】図３４のファイル生成装置のファイル生成処理を説明するフローチャートである。
【図３７】第８実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【図３８】図３７のストリーミング再生部の通常再生処理を説明するフローチャートである。
【図３９】図３８の要素処理の詳細を説明するフローチャートである。
【図４０】図３８の削除処理の詳細を説明するフローチャートである。
【図４１】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本開示を実施するための形態（以下、実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．第１実施の形態：情報処理システム（図１乃至図１３）
２．第２実施の形態：情報処理システム（図１４乃至図１７）
３．第３実施の形態：情報処理システム（図１８乃至図２１）
４．第４実施の形態：情報処理システム（図２２および図２３）
５．第５実施の形態：情報処理システム（図２４および図２５）
６．第６実施の形態：情報処理システム（図２６乃至図２９）
７．第７実施の形態：情報処理システム（図３０乃至図３２）
８．第８実施の形態：情報処理システム（図３３乃至図４０）
９．第９実施の形態：コンピュータ（図４１）
【００１６】
＜第１実施の形態＞
（情報処理システムの第１実施の形態の概要）
図１は、本開示を適用した情報処理システムの第１実施の形態の概要を説明する図である。
【００１７】
図１の情報処理システム１０は、ファイル生成装置１１と接続されるWebサーバ１２と、動画再生端末１４とが、インターネット１３を介して接続されることにより構成される。
【００１８】
情報処理システム１０では、MPEG-DASHに準ずる方式で、Webサーバ１２が動画コンテンツの画像のES（Elementary Stream）データ(以下、符号化画像データという)を動画再生端末１４に配信する。なお、本明細書では、説明を簡単にするため、動画コンテンツのうちの画像についてのみ説明するが、音声等についても同様である。
【００１９】
情報処理システム１０のファイル生成装置１１は、情報処理装置であり、画面サイズの異なる動画コンテンツの画像データを取得し、複数の符号化速度で符号化して符号化画像データを生成する。ファイル生成装置１１は、符号化画像データを生成する際、例えば所定の周期でforensic情報を埋め込む。このforensic情報は、動画コンテンツの符号化画像データの少なくとも一部（以下、forensic対象データという）に関する複数の異なるパターン（バリエーション）の符号化画像データ（以下、パターンデータという）が、それぞれ異なる鍵で暗号化されたものである。各パターンデータは、復号されると、視覚的にはほとんど区別できないが、画像解析によってどのパターンデータの復号結果であるかが判別可能な差異を有する。また、各パターンデータのサイズは、対応するforensic対象データのサイズと同一である。ファイル生成装置１１は、画面サイズおよび符号化速度の組み合わせ（以下、データパターンという）ごとに、forensic情報が埋め込まれた符号化画像データを、セグメントと呼ばれる数秒から10秒程度の時間単位ごとにファイル化する。なお、各セグメントの符号化画像データを個別のURL(Uniform Resource Locator)で参照できるようにすることで、複数のセグメントの符号化画像データを１つのファイルに格納する場合もある。ファイル生成装置１１は、ファイル化の結果得られる各データパターンの画像ファイルをWebサーバ１２にアップロードする。
【００２０】
ファイル生成装置１１は、画像ファイルを管理するMPD（Media Presentation Description）ファイルを生成する。ファイル生成装置１１は、MPDファイルをWebサーバ１２にアップロードする。
【００２１】
Webサーバ１２は、ファイル生成装置１１からアップロードされた各データパターンの画像ファイルとMPDファイルを格納する。Webサーバ１２は、動画再生端末１４からの要求に応じて、格納している画像ファイル、MPDファイル等を動画再生端末１４に送信する。
【００２２】
動画再生端末１４は、ストリーミングデータの制御用ソフトウエア（以下、制御用ソフトウエアという）２１、動画再生ソフトウエア２２、HTTP（HyperText Transfer Protocol）アクセス用のクライアント・ソフトウエア(以下、アクセス用ソフトウエアという)２３などを実行する。
【００２３】
制御用ソフトウエア２１は、Webサーバ１２からストリーミングするデータを制御するソフトウエアである。具体的には、制御用ソフトウエア２１は、動画再生端末１４にWebサーバ１２からMPDファイルを取得させる。また、制御用ソフトウエア２１は、MPDファイルに基づいて、動画再生ソフトウエア２２により決定された再生対象の画像ファイルを特定し、その画像ファイルの送信要求をアクセス用ソフトウエア２３に指令する。
【００２４】
動画再生ソフトウエア２２は、Webサーバ１２から取得された画像ファイルを再生するソフトウエアである。具体的には、動画再生ソフトウエア２２は、ユーザの指令などに応じて、再生対象の画像ファイルを決定する。また、動画再生ソフトウエア２２は、Webサーバ１２から取得された再生対象の画像ファイルに含まれる符号化画像データのうちの、暗号化されたパターンデータである暗号化データを、forensic対象データごとに１つ選択し、動画再生端末１４が保持している鍵を用いて解読する。動画再生端末１４が保持する鍵は、ファイル生成装置１１で用いられる複数の異なる鍵のうちの１つの鍵であり、予め動画再生端末１４に提供されたものである。
【００２５】
動画再生ソフトウエア２２は、パターンデータを暗号化する鍵で暗号化されていない符号化画像データである非暗号化データ中の適切な位置に、解読の結果得られるパターンデータを配置（挿入）する。動画再生ソフトウエア２２は、パターンデータが挿入された非暗号化データを復号する。動画再生ソフトウエア２２は、その結果得られる画像データを動画コンテンツの画像データとして出力する。
【００２６】
アクセス用ソフトウエア２３は、HTTPにしたがうインターネット１３を介したWebサーバ１２との通信を制御するソフトウエアである。具体的には、アクセス用ソフトウエア２３は、制御用ソフトウエア２１の指令に応じて、再生対象の画像ファイルの送信要求を動画再生端末１４に送信させる。また、アクセス用ソフトウエア２３は、その送信要求に応じて、Webサーバ１２から送信されてくる画像ファイルを動画再生端末１４に受信させる。
【００２７】
（画像ファイルのセグメント構造例）
図２は、画像ファイルのMedia Segmentのセグメント構造例を示す図である。
【００２８】
本明細書では、画像ファイルのフォーマットとして、例えば、ISO/IEC 14496-12で規定されているISO Base Media File Format（以下、ISOBMFFという）のfragmented movieが採用されるものとする。
【００２９】
ISOBMFFでは、データは、基本的にボックス（box）と呼ばれる構造の組み合わせで形成される。ボックスには、そこに含まれる情報や用途に応じた英数字4文字のコードが割り当てられる。
【００３０】
図２に示すように、画像ファイルは、セグメントのファイル形式を示すstypボックスと、１以上のmovie fragmentとにより構成される。movie fragmentは、細かく分割された符号化画像データごとに生成され、moofボックスとmdatボックスにより構成される。mdatボックスには、符号化画像データが配置され、moofボックスには、その符号化画像データの管理用メタデータが配置される。
【００３１】
具体的には、moofボックスは、mfhdボックスとtrafボックスを含む。mfhdボックスは、セグメントのシーケンス番号を示すボックスである。trafボックスは、tfhdボックス、tfdtボックス、１以上のtrunボックス、およびptblボックスを含む。なお、符号化画像データと符号化音声データが同一のファイルに含まれる場合には、moof boxは、符号化画像データと符号化音声データのそれぞれについて別々にtraf boxを有する。
【００３２】
trunボックスには、そのtrunボックスで管理する１以上の連続するサンプル（sample）の数を表すsample_count、先頭のサンプルの符号化画像データの先頭位置を表すdata_offsetなどが配置される。サンプルとは、１枚の画像であり、mdatボックスには、１つのtrunボックスで管理されるサンプルの符号化画像データが連続的に配置される。隣接するtrunボックスの符号化画像データどうしが連続するとは限らない。
【００３３】
ptblボックスには、forensic対象データの動画コンテンツの符号化画像データ上の配置位置を示すデータ位置情報等が配置される。
【００３４】
（ptblボックスのシンタクスの例）
図３は、ptblボックスのシンタクスの例を示す図である。
【００３５】
図３に示すように、ptblボックスには、後述するtrun_numberのバイト長から１を引いた値であるlength_size_of_trun_numが配置され、後述するsample_numberのバイト長から１を引いた値であるlength_size_of_sample_numが配置される。また、ptblボックスには、forensic対象データに対応する画像を含むサンプル(以下、暗号化サンプルという)の個数を表すentry_countが配置される。
【００３６】
ptblボックスにはまた、暗号化サンプルごとに以下の情報が配置される。即ち、ptblボックスには、暗号化サンプルごとに、その暗号化サンプルを管理するtrunボックスの番号を示すtrun_numberと、その暗号化サンプルの番号を示すsample_numberとが、暗号化サンプルを特定する暗号対象特定情報として配置される。また、ptblボックスには、暗号化サンプルごとに、その暗号化サンプルの符号化画像データ中の何か所にforensic対象データが配置されるかを示すtable_countが配置される。
【００３７】
また、ptblボックスには、forensic対象データごとに、以下の情報が配置される。即ち、ptblボックスには、forensic対象データが配置される動画コンテンツの符号化画像データ上の開始位置を示すpattern_start_offsetが、データ位置情報として配置される。pattern_start_offsetは、例えば、forensic対象データを含む暗号化サンプルの符号化画像データの先頭から、forensic対象データまでのバイト数を示す。
【００３８】
ptblボックスにまた、forensic対象データに対応する暗号化データのバイト長（サイズ）を示すpattern_size（サイズ情報）と、forensic対象データに対応する複数の鍵で暗号化された暗号化データ群の先頭の画像ファイル内の格納位置として起点からのバイト数を示すtable_offset（位置情報）とが配置される。
【００３９】
なお、パターンデータの暗号化方法としては、例えば、ISO/IEC 23001-7で規定されるAES-CTRが採用され、暗号化前後でパターンデータのサイズは同一である。また、起点は、例えば、trunボックスのdata_offsetにおける起点と同一にすることができる。さらに、図３の例では、table_offsetは、32ビットであるものとするが、ptblボックスのversionによって64ビットであるようにしてもよい。
【００４０】
ptblボックスには、さらに、forensic対象データに対応するパターンデータのパターンの数を示すpattern_countが配置される。また、ptblボックスには、パターンの数だけ、そのパターンのパターンデータの暗号化に用いられた鍵（解読に用いられる鍵）を特定する情報であるpatKIDと、その鍵で暗号化された暗号化データを復号するためのInitial Vectorの値を示すpatIVとが配置される。
【００４１】
patIVのビット長は、IV_Sizeの８倍であり、IV_Sizeとしては、例えば、ISO/IEC 23001-7のtencボックスまたはsgpdボックス（grouping_typeは「seig」）で示される値が用いられる。
【００４２】
patKIDで特定される鍵で暗号化されたpattern_sizeの長さの暗号化データは、patKIDの配置順に、table_offsetから、pattern_countが示す鍵の数だけ連続して配置される。従って、patKIDの配置順、pattern_size、およびtable_offsetは、各patKIDで特定される鍵に対応する暗号化データの画像ファイル内の位置を示す暗号化データ位置情報であるといえる。
【００４３】
ptblボックスは、以上のように構成されるので、動画再生端末１４は、trun_numberとsample_numberに基づいて、暗号化サンプルを認識することができる。そして、動画再生端末１４は、暗号化サンプルを再生する際、pattern_size、table_offset、および自分が保持する鍵のpatKIDに基づいて、自分が解読可能な暗号化データにアクセスする。
【００４４】
動画再生端末１４は、自分が保持する鍵と、その鍵に対応するpatIVとに基づいて、暗号化データを解読する。そして、動画再生端末１４は、pattern_start_offsetに基づいて、解読の結果得られるパターンデータを暗号化サンプルの符号化画像データ上の所定の位置に配置（挿入）し、復号することにより、暗号化サンプルの画像データを生成する。
【００４５】
なお、movie fragment中の全サンプルに１から順に番号を付与することにより、ptblボックスからlength_size_of_trun_numとtrun_numberを削除するようにしてもよい。即ち、movie fragment中の全sampleに１から順に番号を付与する場合、暗号化サンプルは、サンプルの番号で特定することができるため、暗号化サンプルを管理するtrunボックスの番号を示すtrun_numberをptblボックスに記述する必要はない。従って、trun_numberのバイト数を表すlength_size_of_trun_numも記述する必要はない。
【００４６】
（mdatボックスの構成例）
図４乃至図６は、mdatボックスの構成例を示す図である。
【００４７】
図４乃至図６のmdatボックスには、forensic対象データが配置される位置に、そのforensic対象データと同一のサイズのダミーデータ３１が配置された、動画コンテンツの符号化画像データが配置される。即ち、図４乃至図６のmdatボックスには、forensic対象データより前の非暗号化データ３２と、forensic対象データより後の非暗号化データ３３が、forensic対象データと同一のサイズのダミーデータ３１を介して接続され、配置される。
【００４８】
このように、forensic対象データの領域にダミーデータ３１が配置される場合、forensic情報が埋め込まれない場合と、ptblボックス以外のmoofボックスの内容を同一にすることができる。従って、動画再生端末１４は、ptblボックスに基づいて、ダミーデータ３１をパターンデータに置換するだけで、forensic情報が埋め込まれない場合と同様の再生処理を行うことができる。
【００４９】
また、暗号化データ３４は、例えば、図４に示すように、対応する暗号化サンプルを管理するtrunボックスごとにmdatボックスに配置されることができる。図４の例では、各trunボックスが管理するサンプル群（チャンク）の符号化画像データの前に、そのtrunボックスが管理する暗号化サンプルの暗号化データ３４が配置されているが、後に配置されるようにしてもよい。なお、図４乃至図６の例では、どの暗号化サンプルでもforensic対象データが１つ配置され、forensic対象データに対応するパターンデータのパターンはいずれも５パターン存在する。
【００５０】
暗号化データ３４はまた、図５に示すように、まとめてmdatボックスに配置されることもできる。図５の例では、mdatボックスの先頭に暗号化データ３４がまとめて配置されているが、末尾にまとめて配置されるようにしてもよい。
【００５１】
暗号化データ３４はまた、図６に示すように、同一の画像ファイル内の異なるmdatボックスに配置されることもできる。
【００５２】
図示は省略するが、暗号化データは、非暗号化データとは異なる画像ファイルに配置されるようにしてもよい。また、図４乃至図６の例では、forensic対象データの代わりにダミーデータが配置されたが、ダミーデータではなく、そのforensic対象データに対応する１つのパターンのパターンデータの暗号化データが配置されるようにしてもよい。
【００５３】
（ファイル生成装置の構成例）
図７は、図１のファイル生成装置１１の構成例を示すブロック図である。
【００５４】
図７のファイル生成装置１１は、符号化部５１、選択部５２、暗号化部５３、ファイル生成部５４、MPD生成部５５、およびアップロード処理部５６により構成される。
【００５５】
ファイル生成装置１１の符号化部５１は、外部から入力される動画コンテンツの画像データを符号化し、符号化画像データを生成する。また、符号化部５１は、符号化画像データのうちの少なくとも一部をforensic対象データとして選択し、そのforensic対象データに関する複数のパターンデータを生成する。なお、パターンデータは、入力される画像データのうちの少なくとも一部を選択し、そのデータに様々な加工、例えば様々なウォーターマークの埋め込みを行った後、個別に符号化することにより生成してもよい。符号化部５１は、符号化画像データとパターンデータを選択部５２に供給する。
【００５６】
選択部５２は、符号化部５１から供給される複数のパターンデータを暗号化部５３に供給する。また、選択部５２は、符号化部５１から供給される符号化画像データのうちのforensic対象データが配置される箇所にダミーデータを配置し、ファイル生成部５４に供給する。
【００５７】
暗号化部５３は、forensic対象データごとに、符号化部５１から供給される複数のパターンデータのそれぞれを異なる鍵で暗号化し、暗号化データを生成する。暗号化部５３は、生成された暗号化データをファイル生成部５４に供給する。
【００５８】
ファイル生成部５４は、選択部５２から供給される符号化画像データ、暗号化部５３から供給される暗号化データ、および符号化画像データと暗号化データにアクセスするための管理情報をセグメント単位でファイル化し、その結果得られる画像ファイル（図２）をMPD生成部５５に供給する。
【００５９】
MPD生成部５５は、ファイル生成部５４から供給される画像ファイルを格納するWebサーバ１２のURL等を配置したMPDファイルを生成する。MPD生成部５５は、MPDファイルおよび画像ファイルをアップロード処理部５６に供給する。
【００６０】
アップロード処理部５６は、伝送部として機能し、MPD生成部５５から供給される画像ファイルとMPDファイルを、Webサーバ１２にアップロード（伝送）する。
【００６１】
（ファイル生成装置の処理の説明）
図８は、図７のファイル生成装置１１のファイル生成処理を説明するフローチャートである。
【００６２】
図８のステップＳ１１において、ファイル生成装置１１の符号化部５１は、外部から入力される動画コンテンツの画像データを符号化し、符号化画像データを生成する。また、符号化部５１は、符号化画像データのうちの少なくとも一部をforensic対象データとして選択し、そのforensic対象データに関する複数のパターンデータを生成する。なお、パターンデータは、入力される画像データのうちの少なくとも一部を選択し、そのデータに様々な加工、例えば様々なウォーターマークの埋め込みを行った後、個別に符号化することにより生成してもよい。符号化部５１は、符号化画像データとパターンデータを選択部５２に供給する。
【００６３】
ステップＳ１２において、選択部５２は、符号化部５１から供給されるパターンデータを選択し、暗号化部５３に供給する。また、選択部５２は、符号化部５１から供給される符号化画像データのうちのforensic対象データが配置される箇所にダミーデータを配置し、ファイル生成部５４に供給する。
【００６４】
ステップＳ１３において、暗号化部５３は、forensic対象データごとに、選択部５２から供給される複数のパターンデータのそれぞれを異なる鍵で暗号化し、暗号化データを生成する。暗号化部５３は、生成された暗号化データをファイル生成部５４に供給する。
【００６５】
ステップＳ１４において、ファイル生成部５４は、選択部５２から供給される符号化画像データ、暗号化部５３から供給される暗号化データ、および符号化画像データと暗号化データにアクセスするための管理情報をセグメント単位でファイル化し、画像ファイルを生成する。ファイル生成部５４は、生成された画像ファイルをMPD生成部５５に供給する。
【００６６】
ステップＳ１５において、MPD生成部５５は、ファイル生成部５４から供給される画像ファイルを格納するWebサーバ１２のURL等を配置したMPDファイルを生成する。MPD生成部５５は、MPDファイルおよび画像ファイルをアップロード処理部５６に供給する。
【００６７】
ステップＳ１６において、アップロード処理部５６は、MPD生成部５５から供給される画像ファイルとMPDファイルを、Webサーバ１２にアップロードし、処理を終了する。
【００６８】
（ストリーミング再生部の構成例）
図９は、図１の動画再生端末１４が制御用ソフトウエア２１、動画再生ソフトウエア２２、およびアクセス用ソフトウエア２３を実行することにより実現されるストリーミング再生部の構成例を示すブロック図である。
【００６９】
図９のストリーミング再生部９０は、MPD取得部９１、MPD処理部９２、画像取得部９３、解読部９４、挿入部９５、および復号部９６により構成される。
【００７０】
ストリーミング再生部９０のMPD取得部９１は、Webサーバ１２からMPDファイルを取得し、MPD処理部９２に供給する。
【００７１】
MPD処理部９２は、MPD取得部９１から供給されるMPDファイルから画像ファイルを格納するWebサーバ１２のURL等を抽出し、画像取得部９３に供給する。
【００７２】
画像取得部９３は、受け取り部として機能し、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルをWebサーバ１２に要求し、受け取る。また、画像取得部９３は、再生対象の画像ファイル内のptblボックスに基づいて、再生対象のサンプルが暗号化サンプルであるかどうかを判定する。
【００７３】
画像取得部９３は、再生対象のサンプルが暗号化サンプルであると判定された場合、ptblボックスに基づいて、画像ファイルから、動画再生端末１４が保持する鍵に対応する再生対象の暗号化サンプルの暗号化データを読み出し、解読部９４に供給する。また、画像取得部９３は、trunボックスに基づいて、画像ファイルから、再生対象の暗号化サンプルの非暗号化データとダミーデータからなる符号化画像データを読み出し、挿入部９５に供給する。さらに、画像取得部９３は、ptblボックスに含まれる再生対象の暗号化サンプルのpattern_start_offsetを挿入部９５に供給する。
【００７４】
一方、再生対象のサンプルが暗号化サンプルではないと判定された場合、画像取得部９３は、trunボックスに基づいて、再生対象のサンプルの非暗号化データを読み出し、符号化画像データとして復号部９６に供給する。
【００７５】
解読部９４は、画像取得部９３から供給される暗号化データを、動画再生端末１４が保持する鍵を用いて解読し、パターンデータを生成する。解読部９４は、パターンデータを挿入部９５に供給する。
【００７６】
挿入部９５は、画像取得部９３から供給されるpattern_start_offsetに基づいて、画像取得部９３から供給される符号化画像データのダミーデータを、解読部９４から供給されるパターンデータに置換する。これにより、挿入部９５は、パターンデータを非暗号化データに挿入する。挿入部９５は、パターンデータが挿入された符号化画像データを復号部９６に供給する。
【００７７】
復号部９６は、画像取得部９３または挿入部９５から供給される符号化画像データを復号する。復号部９６は、その結果得られる画像データを動画コンテンツの画像データとして出力する。なお、符号化画像データがパターンデータの暗号化に用いられる鍵とは別の鍵で暗号化されている場合には、その暗号化の解読後に復号が行われる。
【００７８】
なお、本明細書では、動画再生端末１４は、forensic情報が埋め込まれた画像ファイルの再生にのみ対応するものとするが、forensic情報が埋め込まれない通常の画像ファイルの再生にも対応するようにしてもよい。
【００７９】
この場合、動画再生端末１４は、例えば、ISOBMFFで暗号化の方式を示す情報として規定されているschiボックスのscheme_typeの値に基づいて、画像ファイルにforensic情報が埋め込まれているかどうかを判定する。例えば、動画再生端末１４は、scheme_typeの値が「venc」というコードである場合、画像ファイルにforensic情報が埋め込まれていると判定する。
【００８０】
また、動画再生端末１４は、画像ファイルの拡張子やMIME-typeに基づいて、画像ファイルにforensic情報が埋め込まれているかどうかを判定することもできる。この場合、例えば、画像ファイルの拡張子が「venc」である場合、動画再生端末１４は、画像ファイルにforensic情報が埋め込まれていると判定する。
【００８１】
さらに、動画再生端末１４は、MPDファイルのContentProtection elementに含まれるvalue attributeの値に基づいて、画像ファイルにforensic情報が埋め込まれているかどうかを判定することもできる。この場合、例えば、value attributeの値が「venc」というコードである場合、動画再生端末１４は、画像ファイルにforensic情報が埋め込まれていると判定する。
【００８２】
（パターンデータの挿入の説明）
図１０は、図９の挿入部９５によるパターンデータの挿入を説明する図である。
【００８３】
図１０の例では、sample_numberが１であるサンプル＃１、および、sample_numberが３であるサンプル＃３が暗号化サンプルではなく、sample_numberが２であるサンプル＃２が暗号化サンプルである。
【００８４】
この場合、再生対象のサンプルがサンプル＃１である場合、再生対象のサンプルの符号化画像データは全て非暗号化データ１０１であるため、非暗号化データ１０１は、画像取得部９３から直接、復号部９６に供給される。再生対象のサンプルがサンプル＃３である場合も同様に、非暗号化データ１０２が、直接、復号部９６に供給される。
【００８５】
一方、再生対象のサンプルがサンプル＃２である場合、再生対象のサンプルのforensic対象データに対応するパターンデータは暗号化されている。従って、解読部９４により暗号化データが解読され、パターンデータ１０４が生成される。また、再生対象のサンプルの符号化画像データは、非暗号化データ１０３とその途中に配置されるダミーデータ１０５により構成される。
【００８６】
挿入部９５は、ptblボックスに含まれるpattern_start_offsetに基づいて、再生対象のサンプルの符号化画像データのうちのダミーデータ１０５をパターンデータ１０４に置換することにより、非暗号化データ１０３にパターンデータ１０４を挿入する。
【００８７】
（動画再生端末の処理の説明）
図１１は、動画再生端末１４のストリーミング再生部９０（図９）の通常再生処理を説明するフローチャートである。
【００８８】
図１１のステップＳ３１において、ストリーミング再生部９０のMPD取得部９１は、Webサーバ１２からMPDファイルを取得し、MPD処理部９２に供給する。
【００８９】
ステップＳ３２において、MPD処理部９２は、MPD取得部９１から供給されるMPDファイルから画像ファイルを格納するWebサーバ１２のURL等を抽出し、画像取得部９３に供給する。
【００９０】
ステップＳ３３において、画像取得部９３は、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルをWebサーバ１２に要求し、受け取る。なお、画像取得部９３は、最初のステップＳ３３において、動画コンテンツの先頭の画像ファイルを再生対象の画像ファイルとする。
【００９１】
ステップＳ３４において、画像取得部９３は、ステップＳ３３で受け取られた画像ファイル内のptblボックスの読み出し位置を、ptblボックスの先頭に設定する。ステップＳ３５において、画像取得部９３は、ステップＳ３３で受け取られた画像ファイルの先頭のサンプルを、再生対象のサンプルに決定する。
【００９２】
ステップＳ３６において、画像取得部９３は、ptblボックスの読み出しが既に完了し、ptblボックスの読み出し位置が、ptblボックスの最後になっているかどうかを判定する。ステップＳ３６でptblボックスの読み出し位置が最後になっていないと判定された場合、処理はステップＳ３７に進む。
【００９３】
ステップＳ３７において、画像取得部９３は、ptblボックスの読み出し位置から読み出しを開始し、trun_numberとsample_numberを読み出す。ステップＳ３８において、画像取得部９３は、ステップＳ３７で読み出されたtrun_numberとsample_numberで特定される暗号化サンプルが、再生対象のサンプルであるかどうかを判定する。
【００９４】
具体的には、画像取得部９３は、再生対象のサンプルがtrafボックスの何番目のturnボックスで管理されるサンプルであるかによってtrun番号を常に認識し、更に再生対象のサンプルがそのtrunボックスで管理されるサンプルの先頭から何番目かによってsample番号を常に認識する。画像取得部９３は、読み出されたtrun_numberとsample_numberが、認識されたtrunボックスの番号とサンプルの番号である場合、読み出されたtrun_numberとsample_numberで特定される暗号化サンプルが、再生対象のサンプルであると判定する。一方、読み出されたtrun_numberとsample_numberが、認識されたtrunボックスの番号とサンプルの番号ではない場合、画像取得部９３は、読み出されたtrun_numberとsample_numberで特定される暗号化サンプルが、再生対象のサンプルではないと判定し、ptblボックスの読み出し位置は進めない。
【００９５】
ステップＳ３８で暗号化サンプルが再生対象のサンプルであると判定された場合、処理はステップＳ３９に進む。ステップＳ３９において、画像取得部９３は、暗号化サンプルの符号化画像データを生成する暗号化サンプル処理を行う。この暗号化サンプル処理の詳細は、後述する図１２を参照して説明する。ステップＳ３９の処理の終了後には、ptblボックスの読み出し位置は、次の暗号化サンプルに対する位置になっている。
【００９６】
一方、ステップＳ３６でptblボックスの読み出し位置が最後になっていると判定された場合、または、ステップＳ３８で暗号化サンプルが再生対象のサンプルではないと判定された場合、処理はステップＳ４０に進む。
【００９７】
ステップＳ４０において、画像取得部９３は、trunボックスに基づいて、再生対象のサンプルの非暗号化データを読み出し、符号化画像データとして復号部９６に供給する。
【００９８】
ステップＳ３９およびＳ４０の処理後、処理はステップＳ４１に進む。ステップＳ４１において、復号部９６は、画像取得部９３または挿入部９５から供給される符号化画像データを復号し、その結果得られる画像データを動画コンテンツの画像データとして出力する。
【００９９】
ステップＳ４２において、画像取得部９３は、再生対象のサンプルは再生対象の画像ファイルに含まれる符号化画像データに対応する最後のサンプルであるかどうかを判定する。例えば、画像ファイルが１つのMovie Fragmentのみを含む場合、ステップＳ４２では、再生対象のサンプルは、再生対象の画像ファイルに含まれる１つのMovie Fragmentで管理される最後のサンプルであるかどうかが判定される。一方、画像ファイルが複数のMovie Fragmentのみを含む場合、各Movie Fragmentで管理されるサンプルが順に再生対象のサンプルとされ、ステップＳ４２では、再生対象のサンプルは、再生対象の画像ファイルに含まれる全てのMovie Fragmentで管理される最後のサンプルであるかどうかが判定される。ステップＳ４２で再生対象のサンプルが最後のサンプルではないと判定された場合、処理はステップＳ４３に進む。
【０１００】
ステップＳ４３において、画像取得部９３は、再生対象のサンプルを次のサンプルに変更する。そして、処理はステップＳ３６に戻り、再生対象のサンプルが最後のサンプルであると判定されるまで、ステップＳ３６乃至Ｓ４３の処理が繰り返される。
【０１０１】
一方、ステップＳ４２で再生対象のサンプルが最後のサンプルであると判定された場合、ステップＳ４４において、画像取得部９３は、再生対象の画像ファイルは動画コンテンツの最後の画像ファイルであるかどうかを判定する。ステップＳ４４で再生対象の画像ファイルは最後の画像ファイルではないと判定された場合、画像取得部９３は、再生対象の画像ファイルを次の画像ファイルとし、処理をステップＳ３３に戻す。これにより、新たな画像ファイルに対して、ステップＳ３３乃至Ｓ４４の処理が行われる。
【０１０２】
また、ステップＳ４４で再生対象の画像ファイルは最後の画像ファイルであると判定された場合、処理は終了する。
【０１０３】
図１２は、図１１のステップＳ３９の暗号化サンプル処理の詳細を説明するフローチャートである。
【０１０４】
図１２のステップＳ６１において、画像取得部９３は、ptblボックスの読み出し位置を直後のtable_countに移動させて読み出し、カウント値ｊに設定する。ステップＳ６２において、画像取得部９３は、ptblボックスの読み出し位置を次のpattern_start_offsetに移動させ、pattern_start_offset,pattern_size,table_offset、およびpattern_countを読み出す。画像取得部９３は、pattern_start_offsetを挿入部９５に供給する。
【０１０５】
ステップＳ６３において、画像取得部９３は、カウント値ｋを０に設定する。ステップＳ６４において、画像取得部９３は、カウント値ｋを１だけインクリメントする。ステップＳ６５において、画像取得部９３は、ptblボックスの読み出し位置をｋ番目のpatKIDに移動させ、k番目のpatKIDとpatIVのペアを読み出す。
【０１０６】
ステップＳ６６において、画像取得部９３は、patKIDで特定される鍵を動画再生端末１４が保持しているかどうかを判定する。ステップＳ６６でpatKIDで特定される鍵を保持していないと判定された場合、処理はステップＳ６４に戻り、以降の処理が繰り返される。
【０１０７】
一方、ステップＳ６６でpatKIDで特定される鍵を保持していると判定された場合、画像取得部９３は、ステップＳ６７において、画像取得部９３は、（pattern_count-k）個のpatKIDとpatIVのペアを読み飛ばす。
【０１０８】
ステップＳ６８において、画像取得部９３は、再生対象の画像ファイルの起点からtable_offset+pattern_size*(k-1)バイトの位置から、pattern_sizeの暗号化データを読み出す。これにより、動画再生端末１４が保持する鍵に対応する再生対象の暗号化サンプルの暗号化データが読み出される。画像取得部９３は、読み出された暗号化データを解読部９４に供給する。
【０１０９】
ステップＳ６９において、解読部９４は、動画再生端末１４が保持する鍵を用いて、画像取得部９３から供給される暗号化データを解読し、パターンデータを生成する。解読部９４は、パターンデータを挿入部９５に供給する。
【０１１０】
ステップＳ７０において、画像取得部９３は、trunボックスに基づいて、画像ファイルから、再生対象の暗号化サンプルの非暗号化データとダミーデータからなる符号化画像データを読み出し、挿入部９５に供給する。
【０１１１】
ステップＳ７１において、挿入部９５は、画像取得部９３から供給される符号化画像データのpattern_start_offsetの位置から、解読部９４から供給されるパターンデータを挿入する。これにより、再生対象の暗号化サンプルの符号化画像データに含まれるダミーデータがパターンデータに置換される。挿入部９５は、パターンデータが挿入された符号化画像データを復号部９６に供給する。
【０１１２】
ステップＳ７２において、画像取得部９３は、カウント値jを１だけデクリメントする。ステップＳ７３において、画像取得部９３は、カウント値ｊが０であるかどうかを判定する。ステップＳ７３でカウント値ｊが０ではないと判定された場合、即ち、まだ解読されていない、動画再生端末１４が保持する鍵で暗号化された暗号化データが暗号化サンプル内に存在する場合、処理はステップＳ６２に戻る。そして、カウント値ｊが０になるまで、ステップＳ６２乃至Ｓ７３の処理が繰り返される。
【０１１３】
一方、ステップＳ７３でカウント値ｊが０であると判定された場合、即ち、暗号化サンプル内の動画再生端末１４が保持する鍵で暗号化された全ての暗号化データが解読された場合、処理は図１１のステップＳ３９からステップＳ４１に進む。
【０１１４】
なお、ストリーミング再生部９０は、先頭の画像ファイルの先頭のサンプルからの再生である通常再生ではなく、ユーザの所望の時刻からの再生であるランダム再生を行うことも可能である。ストリーミング再生部９０によるランダム再生処理は、図１１のステップＳ３５とステップＳ３６の間に、ptblボックスの読み出し開始位置を決定する読み出し開始位置決定処理を行う点、および、最初の再生対象のサンプルが、ユーザの所望の時刻のサンプルである点を除いて、図１１の通常再生処理と同様である。従って、以下では、読み出し開始位置決定処理についてのみ説明する。なお、ユーザの所望の時刻のMovie Fragmentおよびサンプルと、そのサンプルを管理するtrunボックスの特定は、ISOBMFFのsidxボックスやssixボックスを用いて図１１のステップＳ３３の処理の前に行われる。
【０１１５】
図１３は、ストリーミング再生部９０の読み出し開始位置決定処理を説明するフローチャートである。
【０１１６】
図１３のステップＳ９１において、画像取得部９３は、現在設定されているptblボックスの読み出し位置を記憶する。ステップＳ９２において、画像取得部９３は、記憶しているptblボックスの読み出し位置がptblボックスの最後であるかどうかを判定する。ステップＳ９２で記憶しているptblボックスの読み出し位置がptblボックスの最後ではないと判定された場合、処理はステップＳ９３に進む。
【０１１７】
ステップＳ９３において、画像取得部９３は、ptblボックスの読み出し位置から読み出しを開始し、trun_numberとsample_numberを読み出す。ステップＳ９４において、画像取得部９３は、読み出されたtrun_numberが、再生対象のサンプルのtrunボックスの番号未満であるかどうかを判定する。
【０１１８】
ステップＳ９４で読み出されたtrun_numberが、再生対象のサンプルのtrunボックスの番号未満であると判定された場合、ステップＳ９５において、画像取得部９３は、読み出し位置を１エントリ分だけ移動させる。具体的には、画像取得部９３は、次のtrun_numberがある場合、読み出し位置を次のtrun_numberの位置に移動させ、次のtrun_numberがない場合、読み出し位置をptblボックスの最後の位置に移動させる。即ち、画像取得部９３は、読み出されたtrun_numberとsample_numberで特定される暗号化サンプルについての情報分だけ、読み出し位置を移動させる。そして、処理はステップＳ９１に戻り、以降の処理が繰り返される。
【０１１９】
一方、ステップＳ９４で読み出されたtrun_numberが、再生対象のサンプルのtrunボックスの番号未満ではないと判定された場合、処理はステップＳ９６に進む。ステップＳ９６において、画像取得部９３は、読み出されたtrun_numberが、再生対象のサンプルのtrunボックスの番号であるかどうかを判定する。
【０１２０】
ステップＳ９６で読み出されたtrun_numberが、再生対象のサンプルのtrunボックスの番号であると判定された場合、処理はステップＳ９７に進む。ステップＳ９７において、画像取得部９３は、読み出されたsample_numberが、再生対象のサンプルの番号未満であるかどうかを判定する。ステップＳ９７で読み出されたsample_numberが、再生対象のサンプルの番号未満であると判定された場合、ステップＳ９８において、画像取得部９３は、読み出し位置を１エントリ分だけ移動させる。そして、処理はステップＳ９１に戻り、以降の処理が繰り返される。
【０１２１】
一方、ステップＳ９２で記憶しているptblボックスの読み出し位置が最後であると判定された場合、処理はステップＳ９９に進む。また、ステップＳ９６でtrun_numberが、再生対象のサンプルのtrunボックスの番号ではないと判定された場合、処理はステップＳ９９に進む。さらに、ステップＳ９７で読み出されたsample_numberが、再生対象のサンプルの番号未満ではないと判定された場合、処理はステップＳ９９に進む。
【０１２２】
ステップＳ９９において、画像取得部９３は、記憶しているptblボックスの読み出し位置を最終的なptblボックスの読み出し位置に決定し、処理を終了する。
【０１２３】
また、図示は省略するが、ストリーミング再生部９０は、ランダム再生と同様に、トリックプレイ再生を行うことができる。
【０１２４】
以上のように、情報処理システム１０では、ファイル生成装置１１が、暗号化データ、非暗号化データ、およびデータ位置情報を、Webサーバ１２を介して動画再生端末１４に伝送する。そして、動画再生端末１４が、暗号化データを解読し、データ位置情報に基づいて、解読の結果得られるパターンデータを非暗号化データに挿入する。従って、動画再生端末１４は、forensic情報が埋め込まれない場合と同様に、パターンデータが挿入された非暗号化データを復号することにより、動画コンテンツの画像データを容易に再生することができる。
【０１２５】
即ち、情報処理システム１０は、暗号化データに関する処理のみを変更するだけで、forensic情報が埋め込まれた符号化画像データの伝送および再生を行うことができる。
【０１２６】
また、ファイル生成装置１１は、Webサーバ１２を介して動画再生端末１４に暗号化サンプルのtrun_numberとsample_numberを伝送する。従って、動画再生端末１４は、ランダム再生やトリックプレイ再生時にも、再生対象のサンプルが暗号化サンプルであるかどうかを容易に判定することができる。
【０１２７】
なお、ptblボックスは、trafボックス内に配置されるのではなく、ptblボックスにおいて特定される暗号化サンプルのtrunボックス内に配置されるようにしてもよい。この場合、ptblボックスで特定される暗号化サンプルのtrunボックスは、そのptblボックスを含むtrunボックスになるため、length_size_of_trun_numとtrun_numberは、ptblボックスに配置されない。
【０１２８】
＜第２実施の形態＞
（画像ファイルのセグメント構造例）
図１４は、本開示を適用した情報処理システムの第２実施の形態における画像ファイルのMedia Segmentのセグメント構造例を示す図である。
【０１２９】
図１４のセグメント構造は、ptblボックスが設けられない点、および、mdatボックス内に暗号化サンプルの符号化画像データの補助情報（Sample Auxiliary Information）としてデータ位置情報等が含まれる点、およびtrafボックス内にSample Auxiliary Informationの管理用のsaizボックスとsaioボックスが含まれる点を除いて、図２のセグメント構造と同一である。即ち、第２実施の形態では、ptblボックスが設けられず、第１実施の形態においてptblボックスに配置されたデータ位置情報等が、mdatボックス内の暗号化サンプルの符号化画像データのSample Auxiliary Informationとして配置される。
【０１３０】
なお、Sample Auxiliary InformationをMovie Fragmentに保持する方法には様々な方法があるが、ここではmdatボックスに１つだけ保持するものとする。
【０１３１】
（Sample Auxiliary Informationのシンタクスの例）
図１５は、本開示を適用した情報処理システムの第２実施の形態におけるSample Auxiliary Informationのシンタクスの例を示す図である。
【０１３２】
Sample Auxiliary Informationには、図１５に示すように、対応する暗号化サンプルのtable_countが配置される。また、暗号化サンプルの符号化画像データに含まれるforensic対象データごとに、pattern_start_offset,pattern_size,table_offset、およびpattern_countが配置される。さらに、pattern_countが示す数だけ、patKIDとpatIVが配置される。
【０１３３】
なお、Sample Auxiliary Informationにアクセスするために必要な、Sample Auxiliary Information のサイズを表す情報は、saizボックスに配置され、Sample Auxiliary Information のオフセットを表す情報は、saioボックスに配置される。このsaizボックスとsaioボックスのSample Auxiliary Informationの用途を表すaux_info_typeは、例えば、「ptbl」である。
【０１３４】
情報処理システムの第２実施の形態の構成は、画像ファイルが図１４のセグメント構造を有する点、および、ストリーミング再生部の構成を除いて、図１の情報処理システム１０の構成と同様である。従って、以下では、ストリーミング再生部についてのみ説明する。
【０１３５】
（ストリーミング再生部の構成例）
図１６は、本開示を適用した情報処理システムの第２実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【０１３６】
図１６に示す構成のうち、図９の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１３７】
図１６のストリーミング再生部１１０の構成は、画像取得部９３の代わりに画像取得部１１１が設けられる点が、図９のストリーミング再生部９０の構成と異なる。
【０１３８】
画像取得部１１１は、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルをWebサーバ１２に要求し、受け取る。また、画像取得部１１１は、再生対象の画像ファイル内のSample Auxiliary Informationに基づいて、再生対象のサンプルが暗号化サンプルであるかどうかを判定する。
【０１３９】
画像取得部１１１は、再生対象のサンプルが暗号化サンプルであると判定された場合、Sample Auxiliary Informationに基づいて、画像ファイルから、動画再生端末１４が保持する鍵に対応する再生対象の暗号化サンプルの暗号化データを読み出し、解読部９４に供給する。また、画像取得部１１１は、trunボックスに基づいて、画像ファイルから、再生対象の暗号化サンプルの非暗号化データとダミーデータからなる符号化画像データを読み出し、挿入部９５に供給する。さらに、画像取得部１１１は、Sample Auxiliary Informationに含まれる再生対象の暗号化サンプルのpattern_start_offsetを挿入部９５に供給する。
【０１４０】
一方、再生対象のサンプルが暗号化サンプルではないと判定された場合、画像取得部１１１は、trunボックスに基づいて、再生対象のサンプルの非暗号化データを読み出し、符号化画像データとして復号部９６に供給する。
【０１４１】
（ストリーミング再生部の処理の説明）
図１７は、図１６のストリーミング再生部１１０の通常再生処理を説明するフローチャートである。
【０１４２】
図１７のステップＳ１１１乃至Ｓ１１３の処理は、図１１のステップＳ３１乃至Ｓ３３の処理と同様であるので、説明は省略する。
【０１４３】
ステップＳ１１４において、画像取得部１１１は、ステップＳ１１３で受け取られた画像ファイルの先頭のサンプルを、再生対象のサンプルに決定する。
【０１４４】
ステップＳ１１５において、画像取得部１１１は、再生対象の画像ファイル内のsaizボックスに記述されている、再生対象のサンプルのSample Auxiliary Informationのサイズを表すsample_info_sizeは０より大きいかどうかを判定する。
【０１４５】
ステップＳ１１５でsample_info_sizeは０より大きいと判定された場合、即ち再生対象のサンプルが暗号化サンプルであり、再生対象のサンプルのSample Auxiliary Informationが、画像ファイルのmdatボックス内に存在する場合、処理はステップＳ１１６に進む。
【０１４６】
ステップＳ１１６において、画像取得部１１１は、再生対象の暗号化サンプルのSample Auxiliary Informationの先頭の位置を、Sample Auxiliary Informationの読み出し位置に設定する。再生対象の暗号化サンプルのSample Auxiliary Informationの先頭の位置は、再生対象の画像ファイル内のsaizボックスとsaioボックスから次のように求められる。saizボックスとsaioボックスは共にMovie Fragmentのtrafボックスに存在し、saizボックスはMovie Fragment中の全サンプルについて、先頭から順に対応するSample Auxiliary Informationのサイズを保持し、saioボックスはSample Auxiliary Informationのmdatボックス中の先頭位置をオフセット情報として保持する。よって、再生対象の暗号化サンプルに対するSample Auxiliary Informationの先頭の位置は、それ以前のサンプルに対するSample Auxiliary Informationのサイズの合計とSample Auxiliary Informationの先頭位置を足すことで得られる。
【０１４７】
ステップＳ１１７において、画像取得部１１１は、暗号化サンプル処理を行う。この暗号化サンプル処理は、ptblボックスが再生対象の暗号化サンプルのSample Auxiliary Informationに代わる点を除いて、図１２の暗号化サンプル処理と同様である。ステップＳ１１７の処理後、処理はステップＳ１１９に進む。
【０１４８】
ステップＳ１１５でsample_info_sizeは０より大きくはないと判定された場合、即ち再生対象のサンプルが暗号化サンプルではなく、再生対象のサンプルのSample Auxiliary Informationが、画像ファイルのmdatボックス内に存在しない場合、処理はステップＳ１１８に進む。ステップＳ１１８乃至ステップＳ１２２の処理は、図１１のステップＳ４０乃至Ｓ４４の処理と同様であるので、説明は省略する。
【０１４９】
なお、ストリーミング再生部１１０は、ストリーミング再生部９０と同様に、通常再生ではなく、ランダム再生を行うことも可能である。ストリーミング再生部１１０によるランダム再生処理は、ステップＳ１１４でユーザの所望の時刻のサンプルが再生対象のサンプルに決定される点を除いて、図１７の通常再生処理と同様である。
【０１５０】
また、第２実施の形態では、第１実施の形態においてptblボックスに配置されたデータ位置情報等が、Sample Auxiliary Informationに配置されたが、画像データのトラックとは異なるトラックのサンプルのデータとして配置されるようにしてもよい。トラックとは、独立して再生を管理可能な単位であり、データの種類を表すものである。
【０１５１】
＜第３実施の形態＞
（画像ファイルのセグメント構造例）
図１８は、本開示を適用した情報処理システムの第３実施の形態における画像ファイルのMedia Segmentのセグメント構造例を示す図である。
【０１５２】
第３実施の形態では、暗号化データが、非暗号化データおよびダミーデータとは異なるトラックのサンプルとして管理される。但し、暗号化データのトラックと、その暗号化データに対応するforensic対象データのサンプルの非暗号化データおよびダミーデータのトラックは、同一のファイルに多重化される。
【０１５３】
図１８に示すように、暗号化データのトラックに関するボックスとしては、trunボックスの代わりに、データ位置情報等が含まれるarunボックスが設けられる。暗号化データのトラックに関するボックスとして、arunボックスを用いることにより、暗号化サンプル単位の暗号化データを、さらに鍵単位に分割して管理することができる。
【０１５４】
（arunボックスのシンタクスの例）
図１９は、図１８のarunボックスのシンタクスの例を示す図である。
【０１５５】
図１９に示すように、arunボックスには、trunボックスと同様に、そのarunボックスで管理する１以上の連続するサンプルの数を表すsample_count、先頭の暗号化サンプルの暗号化データの先頭位置を表すdata_offsetが記述される。なお、暗号化データのトラックのサンプルは、その暗号化データが挿入される非暗号化データおよびダミーデータのトラックのサンプルと同数存在し、arunボックスのsample_countは、暗号化データを含むサンプルと暗号化データを含まないサンプルの両方の数である。また、arunボックスには、そのarunボックスで管理するサンプルごとにtable_countが配置される。table_countは、暗号化データを含むサンプルの場合１以上の値であり、暗号化データを含まないサンプルの場合０である。
【０１５６】
さらに、arunボックスには、forensic対象データごとに、pattern_start_offset,pattern_size、およびpattern_countが配置される。また、pattern_countが示す数だけ、patKIDとpatIVが配置される。
【０１５７】
情報処理システムの第３実施の形態の構成は、画像ファイルが図１８のセグメント構造を有する点、および、ストリーミング再生部の構成を除いて、図１の情報処理システム１０の構成と同様である。従って、以下では、ストリーミング再生部についてのみ説明する。
【０１５８】
（ストリーミング再生部の構成例）
図２０は、本開示を適用した情報処理システムの第３実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【０１５９】
図２０に示す構成のうち、図９の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１６０】
図２０のストリーミング再生部１３０の構成は、画像取得部９３の代わりに画像取得部１３１が設けられる点が、図９のストリーミング再生部９０の構成と異なる。
【０１６１】
画像取得部１３１は、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルをWebサーバ１２に要求し、受け取る。また、画像取得部１３１は、例えば、再生対象のサンプルに対してarunボックスが暗号化データを保持するかに基づいて、再生対象のサンプルが暗号化サンプルであるかどうかを判定する。
【０１６２】
画像取得部１３１は、再生対象のサンプルが暗号化サンプルであると判定された場合、arunボックスに基づいて、画像ファイルから、動画再生端末１４が保持する鍵に対応する再生対象の暗号化サンプルの暗号化データを読み出し、解読部９４に供給する。また、画像取得部１３１はさらに、trunボックスに基づいて、画像ファイルから、再生対象の暗号化サンプルの非暗号化データとダミーデータからなる符号化画像データを読み出し、挿入部９５に供給する。さらに、画像取得部１３１は、arunボックスに含まれるpattern_start_offsetを挿入部９５に供給する。
【０１６３】
一方、再生対象のサンプルが暗号化サンプルではないと判定された場合、画像取得部１３１は、trunボックスに基づいて、再生対象のサンプルの非暗号化データを読み出し、符号化画像データとして復号部９６に供給する。
【０１６４】
（ストリーミング再生部の処理の説明）
図２１は、図２０のストリーミング再生部１３０の通常再生処理を説明するフローチャートである。
【０１６５】
図２１のステップＳ１４１乃至Ｓ１４３の処理は、図１１のステップＳ３１乃至Ｓ３３の処理と同様であるので、説明は省略する。
【０１６６】
ステップＳ１４４において、画像取得部１３１は、ステップＳ１４３で受け取られた画像ファイル内のarunボックスの読み出し位置を、arunボックスの先頭に設定する。ステップＳ１４５において、画像取得部１３１は、arunボックスの読み出し位置から読み出しを開始し、data_offsetを読み出す。そして、画像取得部１３１は、読み出し位置を直後のtable_countに移動させる。
【０１６７】
ステップＳ１４６において、画像取得部１３１は、ステップＳ１４３で受け取られた画像ファイルの先頭のサンプルを、再生対象のサンプルに決定する。ステップＳ１４７において、画像取得部１３１は、再生対象のサンプルが暗号化サンプルであるかどうか、例えば再生対象のサンプルに対してarunボックスが暗号化データを保持するか、すなわちtable_countが１以上であるかどうかを判定する。ステップＳ１４７で再生対象のサンプルが暗号化サンプルであると判定された場合、処理はステップＳ１４８に進む。
【０１６８】
ステップＳ１４８において、画像取得部１３１は、暗号化サンプル処理を行う。この暗号化サンプル処理は、ptblボックスが再生対象の暗号化サンプルを管理するarunボックスに代わる点、および、table_offsetが、data_offset、先頭の暗号化サンプルから再生対象の暗号化サンプルまでのサンプル数等に基づく値になる点を除いて、図１２の暗号化サンプル処理と同様である。ステップＳ１４８の処理後、処理はステップＳ１５０に進む。
【０１６９】
ステップＳ１４７で再生対象のサンプルが暗号化サンプルではないと判定された場合、処理はステップＳ１４９に進む。ステップＳ１４９乃至ステップＳ１５３の処理は、図１１のステップＳ４０乃至Ｓ４４の処理と同様であるので、説明は省略する。
【０１７０】
なお、ストリーミング再生部１３０は、ストリーミング再生部９０と同様に、通常再生ではなく、ランダム再生を行うことも可能である。ストリーミング再生部１３０によるランダム再生処理は、図２１のステップＳ１４８の処理の前に、arunボックスが管理する先頭のサンプルから再生対象のサンプルまでのサンプル分のtable＿countからpatIVまでの情報を読み飛ばす点、および、最初の再生対象のサンプルが、ユーザの所望の時刻のサンプルである点を除いて、図２１の通常再生処理と同様である。
【０１７１】
＜第４実施の形態＞
（mdatボックスの構成例）
図２２は、本開示を適用した情報処理システムの第４実施の形態におけるmdatボックスの構成例を示す図である。
【０１７２】
第４実施の形態では、画像ファイルのMedia Segmentのセグメント構造が図２のセグメント構造になっており、Media Segmentのmdatボックスの構成は、図２２に示すようになっている。
【０１７３】
即ち、第４実施の形態におけるmdatボックスでは、図２２に示すように、ダミーデータ３１が削除され、ダミーデータ３１より前の非暗号化データ３２と後の非暗号化データ３３が接続される。
【０１７４】
情報処理システムの第４実施の形態の構成は、画像ファイルのmdatボックスの構成が図２２の構成である点、および、ストリーミング再生部の構成を除いて、図１の情報処理システム１０の構成と同様である。従って、以下では、ストリーミング再生部についてのみ説明する。
【０１７５】
（ストリーミング再生部の構成例）
図２３は、本開示を適用した情報処理システムの第４実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【０１７６】
図２３に示す構成のうち、図９の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１７７】
図２３のストリーミング再生部１５０の構成は、挿入部９５の代わりに挿入部１５１が設けられる点が、図９のストリーミング再生部９０の構成と異なる。
【０１７８】
挿入部１５１は、pattern_start_offsetに基づいて、暗号化サンプルを構成する非暗号化データを、forensic対象データより前の非暗号化データである前非暗号化データと、後の非暗号化データである後非暗号化データとに分離する。挿入部１５１は、解読部９４から供給されるパターンデータを、前非暗号化データと後非暗号化データの間に挿入する。
【０１７９】
具体的には、例えば、挿入部１５１は、メモリを内蔵する。挿入部１５１は、画像取得部９３から非暗号化データが供給されると、その非暗号化データを内蔵するメモリに保持させる。このとき、挿入部１５１は、暗号化サンプルの非暗号化データのpattern_start_offsetの位置に、pattern_size分の空き領域を挿入するということをpattern_countの数だけ繰り返す。そして、挿入部１５１は、解読部９４からパターンデータが供給されると、そのパターンデータを内蔵するメモリの空き領域に保持させる。挿入部１５１は、メモリに保持されている非暗号化データとパターンデータを復号部９６に供給する。
【０１８０】
以上のように、ストリーミング再生部１５０は、pattern_start_offsetに基づいて非暗号化データを分離して、パターンデータを挿入するといった処理を行うことにより、動画コンテンツを再生することができる。従って、不正にコピーされた画像ファイルを再生する動画再生端末も、上述したようなメモリを用いた処理を行う必要があり、forensic情報を含まないファイルとは異なる処理に対応しなければならず、その結果、不正コピーを抑制することができる。
【０１８１】
なお、図示は省略するが、ストリーミング再生部１５０の通常再生処理およびランダム再生処理は、非暗号化データのpattern_start_offsetの位置にパターンデータを挿入するのではなく、pattern_start_offsetの位置で非暗号化データを分離し、その間にパターンデータを挿入する点を除いて、ストリーミング再生部９０の通常再生処理およびランダム再生処理と同様である。
【０１８２】
また、第４実施の形態では、第１実施の形態におけるmdatボックスが図２２のmdatボックスに変更されたが、第２および第３実施の形態におけるmdatボックスが図２２のmdatボックスに変更されるようにしてもよい。また、図５や図６のmdatボックスにおいても、図２２のmdatボックスと同様に、前非暗号化データと後非暗号化データが接続されるようにしてもよい。
【０１８３】
＜第５実施の形態＞
（ストリーミング再生部の構成例）
本開示を適用した情報処理システムの第５実施の形態における画像ファイルのMedia Segmentのセグメント構造は、図１４に示したようになっており、Media Segmentのmdatボックスの実データの構成は、図４乃至図６に示したようになっている。但し、mdatボックスには、サンプル単位のデータ構造体であるSample Constructor（Variant Constructor）も配置され、Sample Constructorには、図１５のシンタクスが記述される。
【０１８４】
Sample Constructorの先頭の画像ファイル内の格納位置として起点からのバイト数を示すSample Constructor位置情報は、Sample Auxiliary Informationに記述される。なお、ここでは、１つのサンプルに対して、１つの暗号化されていないSample Constructorが設けられるようにするが、Sample Constructorは、複数の異なる鍵で暗号化されていてもよい。
【０１８５】
この場合、Sample Auxiliary Informationには、各鍵で暗号化されたSample ConstructorのSample Constructor位置情報が記述され、動画再生端末１４は、自分が保持する鍵で暗号化されたSample Constructor位置情報に基づいて、そのSample Constructorを取得する。そして、動画再生端末１４は、取得されたSample Constructorを、自分が保持する鍵で復号することにより取得する。この鍵は、パターンデータの暗号化に用いられた鍵と同一であってもよいし、異なっていてもよい。
【０１８６】
情報処理システムの第５実施の形態の構成は、画像ファイルの構成が上述した構成である点、および、ストリーミング再生部の構成を除いて、図１の情報処理システム１０の構成と同様である。従って、以下では、ストリーミング再生部についてのみ説明する。
【０１８７】
図２４は、本開示を適用した情報処理システムの第５実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【０１８８】
図２４に示す構成のうち、図１６の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１８９】
図２４のストリーミング再生部１７０の構成は、画像取得部１１１の代わりに画像取得部１７１が設けられる点が、図１６のストリーミング再生部１１０の構成と異なる。ストリーミング再生部１７０は、Sample Auxiliary Informationに含まれるSample Constructor位置情報に基づいてSample Constructorを取得し、取得されたSample Constructorに基づいて、再生対象の暗号化サンプルを再生する。
【０１９０】
具体的には、ストリーミング再生部１７０の画像取得部１７１は、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルをWebサーバ１２に要求し、受け取る。また、画像取得部１７１は、再生対象の画像ファイル内のSample Auxiliary Informationのサイズを表すsaizボックスに基づいて、再生対象のサンプルが暗号化サンプルであるかどうかを判定する。
【０１９１】
画像取得部１７１は、再生対象のサンプルが暗号化サンプルであると判定された場合、Sample Auxiliary Informationに含まれるSample Constructor位置情報に基づいて、画像ファイルから、その暗号化サンプルのSample Constructorを読み出す。また、画像取得部１７１は、読み出されたSample Constructorに基づいて、画像ファイルから、動画再生端末１４が保持する鍵に対応する再生対象の暗号化サンプルの暗号化データを読み出し、解読部９４に供給する。
【０１９２】
また、画像取得部１７１は、trunボックスに基づいて、画像ファイルから、再生対象の暗号化サンプルの非暗号化データとダミーデータからなる符号化画像データを読み出し、挿入部９５に供給する。さらに、画像取得部１７１は、Sample Constructorに含まれる再生対象の暗号化サンプルのpattern_start_offsetを挿入部９５に供給する。
【０１９３】
一方、再生対象のサンプルが暗号化サンプルではないと判定された場合、画像取得部１７１は、trunボックスに基づいて、再生対象のサンプルの非暗号化データを読み出し、符号化画像データとして復号部９６に供給する。
【０１９４】
（ストリーミング再生部の処理の説明）
図２５は、図２４のストリーミング再生部１７０の通常再生処理を説明するフローチャートである。
【０１９５】
図２５のステップＳ１７１乃至Ｓ１７５の処理は、図１７のステップＳ１１１乃至Ｓ１１５の処理と同様であるので、説明は省略する。
【０１９６】
ステップＳ１７５でsample_info_sizeは０より大きいと判定された場合、ステップＳ１７６において、画像取得部１７１は、再生対象の暗号化サンプルのSample Auxiliary Informationから、Sample Constructor位置情報を取得する。
【０１９７】
ステップＳ１７７において、画像取得部１７１は、Sample Constructor位置情報に基づいて、再生対象の暗号化サンプルのSample Constructorの先頭の位置を、Sample Constructorの読み出し位置に設定する。
【０１９８】
ステップＳ１７８において、画像取得部１７１は、暗号化サンプル処理を行う。この暗号化サンプル処理は、ptblボックスが再生対象の暗号化サンプルのSample Constructorに代わる点を除いて、図１２の暗号化サンプル処理と同様である。ステップＳ１７８の処理後、処理はステップＳ１８０に進む。
【０１９９】
一方、ステップＳ１７５でsample_info_sizeは０より大きくはないと判定された場合、処理はステップＳ１７９に進む。ステップＳ１７９乃至ステップＳ１８３の処理は、図１７のステップＳ１１８乃至Ｓ１２２の処理と同様であるので、説明は省略する。
【０２００】
なお、ストリーミング再生部１７０は、ストリーミング再生部９０と同様に、通常再生ではなく、ランダム再生を行うことも可能である。ストリーミング再生部１７０によるランダム再生処理は、ステップＳ１７４でユーザの所望の時刻のサンプルが再生対象のサンプルに決定される点を除いて、図２５の通常再生処理と同様である。
【０２０１】
また、第５実施の形態では、Media Segmentのmdatボックスにダミーデータが配置されるようにしたが、図２２に示したようにダミーデータが配置されなくてもよい。
【０２０２】
＜第６実施の形態＞
（Sample Constructorのシンタクスの例）
図２６は、本開示を適用した情報処理システムの第６実施の形態における画像ファイルのSample Constructorのシンタクスの例を示す図である。
【０２０３】
第６実施の形態における画像ファイルのMedia Segmentのセグメント構造は、図１４に示したようになっており、Media Segmentのmdatボックスの実データの構成は、図２２に示したようになっている。但し、mdatボックスには、全てのサンプルのSample Constructorも配置される。
【０２０４】
図２６のSample Constructorには、要素の先頭の画像ファイル内の格納位置として起点からのバイト数を示す要素位置情報のビット数等を表す８ビットのversionが記述される。versionは、要素位置情報のビット数が３２ビットである場合０であり、６４ビットである場合０以外である。
【０２０５】
また、要素とは、サンプルの実データを分割したものであり、例えば、連続する非暗号化データや、同一のforensic対象データに対応する各鍵の暗号化データである。要素は、非暗号化データやforensic対象データごとにグループ化される。即ち、要素が非暗号化データである場合、その要素のみが１つのグループを構成する。一方、要素が暗号化データである場合、同一のforensic対象データに対応する要素は、同一のグループに分類される。第６実施の形態では、同一のグループ内の全ての要素のサイズは同一である。
【０２０６】
図２６のSample Constructorにはまた、サンプルのデータを構成する要素の数である３２ビットのelements_countが記述される。さらに、要素単位で、element_offsetと８ビットのgroup_flagsが記述される。
【０２０７】
element_offsetは、versionが表すビット数の要素位置情報である。従って、versionが０である場合、３２ビットのelement_offsetが記述され、versionが０以外である場合、６４ビットのelement_offsetが記述される。
【０２０８】
また、group_flagsは、要素の暗号化の状態（非暗号化または暗号化）と、要素がグループ内の先頭の要素であるかどうかを表す情報である。group_flagsの０ビット目（ビット０）の値は、要素がグループを構成する先頭の要素であることを表す場合１であり、先頭の要素ではないことを表す場合０である。また、group_flagsの１ビット目（ビット１）の値は、要素が暗号化されていることを表す場合１であり、要素が暗号化されていないことを表す場合０である。
【０２０９】
group_flagsの０ビット目が１である場合、図２６のSample Constructorには、要素のサイズを表すelement_sizeが記述される。また、group_flagsの１ビット目が１である場合、図２６のSample Constructorには、要素に対応する鍵を特定する情報（ID）であるpatKIDと、要素を復号するためのInitial Vectorの値を示すpatIVとが記述される。
【０２１０】
以上のように、図２６のSample Constructorには、対応するサンプルのデータを構成する全ての要素のうちの、各グループの先頭の要素のelement_sizeが記述される。従って、全ての要素のelement_sizeが記述される場合に比べて、Sample Constructorのデータ量を削減することができる。
【０２１１】
なお、図２６のSample Constructorに記述される情報に対応する要素の順番は、サンプルのデータを構成する順番である。従って、図２６のSample Constructorに基づく要素の再生を記述順に行うことにより、動画コンテンツの画像データを再生することができる。
【０２１２】
情報処理システムの第６実施の形態の構成は、画像ファイルの構成が上述した構成である点、および、ストリーミング再生部の構成を除いて、図１の情報処理システム１０の構成と同様である。従って、以下では、ストリーミング再生部についてのみ説明する。
【０２１３】
（ストリーミング再生部の構成例）
図２７は、本開示を適用した情報処理システムの第６実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【０２１４】
図２７に示す構成のうち、図２４の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２１５】
図２７のストリーミング再生部１９０の構成は、画像取得部１７１、挿入部９５、復号部９６の代わりに、画像取得部１９１、挿入部１９２、復号部１９３が設けられる点が、図２４のストリーミング再生部１７０の構成と異なる。ストリーミング再生部１９０は、図２６のSample Constructorに基づいて、再生対象のサンプルの各要素を再生する。
【０２１６】
具体的には、ストリーミング再生部１９０の画像取得部１９１（受け取り部）は、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルをWebサーバ１２に要求し、受け取る。画像取得部１９１は、再生対象の画像ファイルに格納される再生対象のサンプルのSample Auxiliary Informationに基づいて、画像ファイルから、再生対象のサンプルのSample Constructorを取得する。
【０２１７】
また、画像取得部１９１は、読み出されたSample Constructorに記述される各要素の情報に基づいて、その情報の記述順に、画像ファイルから、再生対象のサンプルの非暗号化データである要素、または、動画再生端末１４が保持する鍵に対応する暗号化データである要素を読み出す。
【０２１８】
具体的には、画像取得部１９１は、Sample Constructorにelement_sizeが含まれる場合、element_sizeを保持し、element_sizeが含まれない場合、保持しているelement_sizeを読み出す。画像取得部１９１は、Sample Constructorに含まれるelement_size、または、読み出されたelement_sizeと、Sample Constructorに含まれるelement_offsetとに基づいて、非暗号化データ、または、動画再生端末１４が保持する鍵に対応する暗号化データを読み出す。画像取得部１９１は、読み出された暗号化データを解読部９４に供給し、非暗号化データを挿入部１９２に供給する。
【０２１９】
挿入部１９２は、画像取得部１９１から供給される非暗号化データや解読部９４から供給されるパターンデータを、取得順、即ち、対応する要素がSample Constructorに記述される順に配置する。これにより、再生対象のサンプルが暗号化サンプルである場合、パターンデータが非暗号化データに挿入される。挿入部１９２は、非暗号化データやパターンデータが配置された結果得られる符号化画像データを、復号部１９３に供給する。
【０２２０】
復号部１９３は、挿入部１９２から供給される符号化画像データを復号し、その結果得られる画像データを動画コンテンツの画像データとして出力する。なお、符号化画像データがパターンデータの暗号化に用いられる鍵とは別の鍵で暗号化されている場合には、その暗号化の解読後に復号が行われる。
【０２２１】
（ストリーミング再生部の処理の説明）
図２８は、図２７のストリーミング再生部１９０の通常再生処理を説明するフローチャートである。
【０２２２】
図２８のステップＳ２０１乃至Ｓ２０６の処理は、図２５のステップＳ１７１乃至Ｓ１７４，Ｓ１７６、およびＳ１７７の処理と同様であるので、説明は省略する。
【０２２３】
ステップＳ２０７において、ストリーミング再生部１９０は、再生対象のサンプルのSample Constructorに基づいて、画像ファイルから各要素を読み出し、符号化画像データを生成する要素処理を行う。この要素処理の詳細は、後述する図２９を参照して説明する。
【０２２４】
ステップＳ２０８において、復号部１９３は、挿入部１９２から供給される符号化画像データを復号し、その結果得られる画像データを動画コンテンツの画像データとして出力する。
【０２２５】
ステップＳ２０９乃至Ｓ２１１の処理は、図２５のステップＳ１８１乃至Ｓ１８３の処理と同様であるので、説明は省略する。
【０２２６】
図２９は、図２８のステップＳ２０７の要素処理の詳細を説明するフローチャートである。
【０２２７】
図２９のステップＳ２３１において、ストリーミング再生部１９０の画像取得部１９１は、Sample Constructorの読み出し位置を直後のelements_countに移動させて読み出し、カウント値ｊに設定する。
【０２２８】
ステップＳ２３２において、画像取得部１９１は、Sample Constructorの読み出し位置を次のelement_offsetに移動させ、element_offsetとgroup_flagsを読み出す。
【０２２９】
ステップＳ２３３において、画像取得部１９１は、group_flagsの０ビット目が１であるかどうかを判定する。ステップＳ２３３でgroup_flagsの０ビット目が１であると判定された場合、即ち、ｊ番目の要素がグループ内の先頭の要素である場合、処理はステップＳ２３４に進む。
【０２３０】
ステップＳ２３４において、画像取得部１９１は、Sample Constructorの読み出し位置を次のelement_sizeに移動させて読み出し、保持する。このとき、１つ前に保持されたelement_sizeは削除される。
【０２３１】
ステップＳ２３５において、画像取得部１９１は、group_flagsの１ビット目が１であるかどうかを判定する。ステップＳ２３５でgroup_flagsの１ビット目が１ではないと判定された場合、即ち、ｊ番目の要素が非暗号化データである場合、処理はステップＳ２３６に進む。
【０２３２】
ステップＳ２３６において、画像取得部１９１は、element_offsetとelement_sizeに基づいて、画像ファイルから非暗号化データを読み出し、処理をステップＳ２４２に進める。
【０２３３】
一方、ステップＳ２３３でgroup_flagsの０ビット目が１ではないと判定された場合、即ち、ｊ番目の要素がグループ内の２番目以降の暗号化データからなる要素である場合、処理はステップＳ２３７に進む。ステップＳ２３７において、画像取得部１９１は、保持しているelement_size、即ち同一のグループ内の先頭の要素のelement_sizeを読み出す。
そして、処理はステップＳ２３８に進む。
【０２３４】
また、ステップＳ２３５でgroup_flagsの１ビット目が１であると判定された場合、即ちｊ番目の要素がグループ内の先頭の暗号化データからなる要素である場合、処理はステップＳ２３８に進む。
【０２３５】
ステップＳ２３８において、画像取得部１９１は、Sample Constructorの読み出し位置を次のpatKIDに移動させ、patKIDとpatIVのペアを読み出す。
【０２３６】
ステップＳ２３９において、画像取得部１９１は、patKIDで特定される鍵を動画再生端末１４が保持しているかどうかを判定する。ステップＳ２３９でpatKIDで特定される鍵を保持していると判定された場合、処理はステップＳ２４０に進む。
【０２３７】
ステップＳ２４０において、画像取得部１９１は、element_offsetとelement_sizeに基づいて、画像ファイルから暗号化データを読み出し、解読部９４に供給する。
【０２３８】
ステップＳ２４１において、解読部９４は、動画再生端末１４が保持する鍵を用いて、画像取得部１９１から供給される暗号化データを解読し、パターンデータを生成する。解読部９４は、パターンデータを挿入部１９２に供給し、処理をステップＳ２４２に進める。
【０２３９】
ステップＳ２４２において、挿入部１９２は、画像取得部１９１から供給される非暗号化データ、または、解読部９４から供給されるパターンデータを、保持している符号化画像データの直後に接続する。挿入部１９２は、接続後の符号化画像データを保持する。そして、処理はステップＳ２４３に進む。
【０２４０】
一方、ステップＳ２３９でpatKIDで特定される鍵を保持していないと判定された場合、処理はステップＳ２４３に進む。
【０２４１】
ステップＳ２４３において、画像取得部１９１は、カウント値jを１だけデクリメントする。ステップＳ２４４において、画像取得部１９１は、カウント値ｊが０であるかどうかを判定する。ステップＳ２４４でカウント値ｊが０ではないと判定された場合、即ち、まだ接続されていない符号化画像データに対応する要素が再生対象のサンプル内に存在する場合、処理はステップＳ２３２に戻る。そして、カウント値ｊが０になるまで、ステップＳ２３２乃至Ｓ２４４の処理が繰り返される。
【０２４２】
一方、ステップＳ２４４でカウント値ｊが０であると判定された場合、即ち、再生対象のサンプル内の全ての要素に対応する符号化画像データが接続された場合、挿入部１９２は、保持している符号化画像データを復号部１９３に供給する。そして、処理は図２８のステップＳ２０７からステップＳ２０８に進む。
【０２４３】
なお、ストリーミング再生部１９０は、ストリーミング再生部９０と同様に、通常再生ではなく、ランダム再生を行うことも可能である。ストリーミング再生部１９０によるランダム再生処理は、ステップＳ２０４でユーザの所望の時刻のサンプルが再生対象のサンプルに決定される点を除いて、図２８の通常再生処理と同様である。
【０２４４】
＜第７実施の形態＞
（Sample Constructorのシンタクスの例）
図３０は、本開示を適用した情報処理システムの第７実施の形態における画像ファイルのSample Constructorのシンタクスの例を示す図である。
【０２４５】
第７実施の形態では、同一のグループを構成する全ての要素が、必ず連続して画像ファイル上に配置される点が、第６実施の形態と異なっている。
【０２４６】
従って、図３０に示すように、第７実施の形態のSample Constructorでは、group_flagsの０ビット目のビットが１である場合にのみ、element_offsetが記述される。
【０２４７】
即ち、図３０のSample Constructorには、対応するサンプルのデータを構成する全ての要素のうちの、各グループの先頭の要素のelement_offsetおよびelement_sizeが記述される。従って、全ての要素のelement_offsetおよびelement_sizeが記述される場合に比べて、Sample Constructorのデータ量を削減することができる。
【０２４８】
情報処理システムの第７実施の形態の構成は、画像ファイルの構成が上述した構成である点、および、ストリーミング再生部の構成を除いて、図１の情報処理システム１０の構成と同様である。従って、以下では、ストリーミング再生部についてのみ説明する。
【０２４９】
（ストリーミング再生部の構成例）
図３１は、本開示を適用した情報処理システムの第７実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【０２５０】
図３１に示す構成のうち、図２７の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２５１】
図３１のストリーミング再生部２１０の構成は、画像取得部１９１の代わりに、画像取得部２１１が設けられる点が、図２７のストリーミング再生部１９０の構成と異なる。ストリーミング再生部１９０は、図３０のSample Constructorに基づいて、再生対象のサンプルの各要素を再生する。
【０２５２】
具体的には、ストリーミング再生部２１０の画像取得部２１１は、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルをWebサーバ１２に要求し、受け取る。画像取得部２１１は、再生対象の画像ファイルに格納される再生対象のサンプルのSample Auxiliary Informationに基づいて、画像ファイルから、再生対象のサンプルのSample Constructorを読み出す。
【０２５３】
また、画像取得部２１１は、読み出されたSample Constructorに記述される各要素の情報に基づいて、その情報の記述順に、画像ファイルから、再生対象のサンプルの非暗号化データである要素、または、動画再生端末１４が保持する鍵に対応する暗号化データである要素を読み出す。
【０２５４】
具体的には、画像取得部２１１は、Sample Constructorにelement_sizeとelement_offsetが含まれる場合、element_sizeとelement_offsetを保持し、element_sizeとelement_offsetが含まれない場合、保持しているelement_sizeとelement_offsetを読み出す。画像取得部２１１は、Sample Constructorに含まれるelement_sizeとelement_offset、または、読み出されたelement_sizeとelement_offsetに基づいて、非暗号化データ、または、動画再生端末１４が保持する鍵に対応する暗号化データを読み出す。画像取得部２１１は、読み出された暗号化データを解読部９４に供給し、非暗号化データを挿入部１９２に供給する。
【０２５５】
（ストリーミング再生部の処理の説明）
図３１のストリーミング再生部２１０の通常再生処理は、図２８のステップＳ２０７の要素処理を除いて、図２８の通常再生処理と同様である。従って、以下では、ストリーミング再生部２１０の要素処理についてのみ説明する。
【０２５６】
図３２は、図３１のストリーミング再生部２１０の要素処理の詳細を説明するフローチャートである。
【０２５７】
図３２のステップＳ２６１において、ストリーミング再生部２１０の画像取得部２１１は、Sample Constructorの読み出し位置を直後のelements_countに移動させて読み出し、カウント値ｊに設定する。
【０２５８】
ステップＳ２６２において、画像取得部２１１は、Sample Constructorの読み出し位置を次のelement_offsetに移動させ、group_flagsを読み出す。
【０２５９】
ステップＳ２６３において、画像取得部２１１は、group_flagsの０ビット目が１であるかどうかを判定する。ステップＳ２６３でgroup_flagsの０ビット目が１であると判定された場合、即ち、ｊ番目の要素がグループ内の先頭の要素である場合、処理はステップＳ２６４に進む。
【０２６０】
ステップＳ２６４において、画像取得部２１１は、Sample Constructorの読み出し位置を次のelement_sizeに移動させてelement_sizeとelement_offsetを読み出し、保持する。このとき、１つ前に保持されたelement_sizeとelement_offsetは削除される。
【０２６１】
ステップＳ２６５およびステップＳ２６６の処理は、図２９のステップＳ２３５およびＳ２３６の処理と同様である。
【０２６２】
一方、ステップＳ２６３でgroup_flagsの０ビット目が１ではないと判定された場合、即ち、ｊ番目の要素がグループ内の２番目以降の暗号化データからなる要素である場合、処理はステップＳ２６７に進む。ステップＳ２６７において、画像取得部２１１は、保持しているelement_sizeとelement_offset、即ち同一のグループ内の先頭の要素のelement_sizeとelement_offsetを読み出す。そして、処理はステップＳ２６８に進む。
【０２６３】
また、ステップＳ２６５でgroup_flagsの１ビット目が１であると判定された場合、即ちｊ番目の要素がグループ内の先頭の暗号化データからなる要素である場合、処理はステップＳ２６８に進む。
【０２６４】
ステップＳ２６８乃至Ｓ２７４の処理は、図２９のステップＳ２３８乃至Ｓ２４４の処理と同様であるので、説明は省略する。
【０２６５】
なお、第６および第７実施の形態では、Media Segmentのmdatボックスにダミーデータが配置されないようにしたが、図４乃至図６に示したようにダミーデータが配置されてもよい。
【０２６６】
＜第８実施の形態＞
（実データの構成）
図３３は、本開示を適用した情報処理システムの第８実施の形態における画像ファイルの実データの構成例を示す図である。
【０２６７】
第８実施の形態における画像ファイルのMedia Segmentのセグメント構造は、例えば図１４に示したようになっており、Media Segmentのmdatボックスには、サンプル単位の実データとSample Constructorが配置される。
【０２６８】
図３３に示すように、mdatボックスに配置されるサンプル単位の実データは、１以上（図３３の例では３）のサブサンプル単位の実データからなる。また、mdatボックスに配置されるサンプル単位の実データの中には、forensic対象データの代わりに、forensic対象データに対応する複数（図３３の例では３）のパターンのパターンデータを含むものがある。
【０２６９】
mdatボックスに配置されるサンプル単位の実データのパターンデータは、共通鍵２２０を用いて暗号化されている。非暗号化データは、共通鍵２２０を用いて暗号化されてもよいし、暗号化されなくてもよい。非暗号化データのうちの共通鍵２２０で暗号化されていないものを、図３３では、「clear」と表記している。また、共通鍵２２０を用いて暗号化されたパターンデータは、パターンごとに、鍵２２１乃至２２３のそれぞれを用いてさらに暗号化されている。共通鍵２２０は、パターンデータの暗号化に用いられる鍵２２１乃至２２３のいずれとも異なるため、非暗号化データは、共通鍵２２０で暗号化される場合があるが、鍵２２１乃至２２３では暗号化されないという意味で、ここでは非暗号化データと記載している。なお、鍵２２０乃至２２３による暗号化前後でデータのサイズは変更されない。また、以下では、説明の便宜上、非暗号化データの全てが、共通鍵２２０で暗号化されるものとする。
【０２７０】
第８実施の形態における動画再生端末は、共通鍵２２０、および、鍵２２１乃至２２３のいずれか１つを有する。従って、動画再生端末は、自分の有する鍵２２１乃至２２３のいずれか１つを用いて、その１つで暗号化されたパターンデータである暗号化データを解読する。そして、動画再生端末は、解読の結果得られる共通鍵２２０で暗号化されたパターンデータと非暗号化データとを共通鍵２２０を用いて解読する。その結果、動画コンテンツの画像データを再生することができる。
【０２７１】
上述した説明では、パターンデータのサイズは、対応するforensic対象データのサイズと同一であるようにしたが、パターンごとに異なる場合がある。即ち、パターンデータは、例えば、forensic対象データに異なるウォーターマークを埋め込むことにより生成されるが、埋め込まれるウォーターマークによってパターンデータのサイズが異なる場合がある。また、パターンデータの中にはウォーターマークが埋め込まれないものもあり得るため、ウォーターマークの有無でサイズが異なる場合もある。
【０２７２】
しかしながら、パターンデータのサイズが異なる場合、様々な問題が発生する。例えば、図３３に示したように、mdatボックスに配置されるサンプル単位の実データが、パターンデータの後に非暗号化データが連続するデータであり、その実データが共通鍵２２０でAES（Advanced Encryption Standard）-CTRなどの暗号化方式で暗号化されている場合に、動画再生端末は、非暗号化データを解読することができなくなる場合がある。例えばパターンデータのサイズが変動すると、その後の非暗号化データの解読に適用されるAES-CTRのカウンタブロックのデータが暗号化時とは異なるということが起き得る。従って、第８実施の形態では、この暗号化の前に、同一のforensic対象データに対応するパターンデータのサイズが同一となるようにパディングが行われる。
【０２７３】
本開示を適用した情報処理システムの第８実施の形態の構成は、ファイル生成装置とストリーミング再生部の構成を除いて、図１の情報処理システム１０の構成と同様である。従って、以下では、ファイル生成装置とストリーミング再生部についてのみ説明する。
【０２７４】
（ファイル生成装置の構成例）
図３４は、本開示を適用した情報処理システムの第８実施の形態におけるファイル生成装置の構成例を示すブロック図である。
【０２７５】
図３４に示す構成のうち、図７の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２７６】
図３４のファイル生成装置２３０の構成は、新たにパディング部２３２が設けられる点、および、符号化部５１、選択部５２、ファイル生成部５４の代わりに、符号化部２３１、選択部２３３、ファイル生成部２３４が設けられる点が、図７のファイル生成装置１１の構成と異なる。ファイル生成装置２３０は、パターンデータに対してパディングを行った後、パターンデータと非暗号化データを含む符号化画像データに対して暗号化を行う。
【０２７７】
具体的には、ファイル生成装置２３０の符号化部２３１は、外部から入力される動画コンテンツの画像データを符号化し、符号化画像データを生成する。また、符号化部２３１は、符号化画像データのうちの少なくとも一部をforensic対象データとして選択し、そのforensic対象データに関する複数のパターンデータを生成する。なお、パターンデータは、入力される画像データのうちの少なくとも一部を選択し、そのデータに様々な加工、例えば様々なウォーターマークの埋め込みを行った後、個別に符号化することにより生成してもよい。符号化部２３１は、forensic対象データ以外の符号化画像データを非暗号化データとしてパディング部２３２に供給するとともに、複数のパターンデータをパディング部２３２に供給する。
【０２７８】
パディング部２３２は、符号化部２３１から供給される複数のパターンデータのうちの、最もサイズの大きいパターンデータ以外のパターンデータに対して、全てのパターンデータのサイズが同一になるようにパディングデータを付加する。パディング部２３２は、パディング後の複数のパターンデータと、符号化部２３１から供給される非暗号化データとを、選択部２３３に供給する。
【０２７９】
選択部２３３（全体暗号化部）は、共通鍵を用いて、AES-CTRなどの暗号化方式で、パディング部２３２から供給される非暗号化データと複数のパターンデータとを暗号化する。選択部２３３は、共通鍵による暗号化後の複数のパターンデータを暗号化部５３に供給し、暗号化後の非暗号化データをファイル生成部２３４に供給する。
【０２８０】
ファイル生成部２３４は、選択部２３３からの非暗号化データと暗号化部５３からの暗号化データをサンプル単位で配置するとともに、サンプル単位のパディング情報を含むSample Constructorを配置したmdatボックスを含むセグメント単位の画像ファイルを生成する。なお、パディング情報とは、パディングデータが付加される前の複数のパターンデータのサイズを表す情報である。ファイル生成部２３４は、生成された画像ファイルをMPD生成部５５に供給する。
【０２８１】
（Sample Constructorのシンタクスの例）
図３５は、Sample Constructorのシンタクスの例を示す図である。
【０２８２】
図３５のSample Constructorの構成は、要素が暗号化データである場合に要素のパディング情報が含まれる点が、図２６の構成と異なる。
【０２８３】
即ち、図３５のSample Constructorには、group_flagsの１ビット目が１である場合、patKIDとpatIVだけでなく、要素に対応するパディングデータが付加される前のパターンデータのサイズを表すpatSizeがパディング情報として記述される。その結果、動画再生端末において、暗号化データを解読することにより得られるパディング後のパターンデータから、パディングデータを削除することができる。
【０２８４】
（ファイル生成装置の処理の説明）
図３６は、図３４のファイル生成装置２３０のファイル生成処理を説明するフローチャートである。
【０２８５】
図３６のステップＳ３０１において、ファイル生成装置２３０の符号化部２３１は、外部から入力される動画コンテンツの画像データを符号化し、符号化画像データを生成する。
【０２８６】
ステップＳ３０２において、符号化部２３１は、符号化画像データのうちの少なくとも一部をforensic対象データとして選択し、そのforensic対象データに関する複数のパターンデータを生成する。なお、パターンデータは、入力される画像データのうちの少なくとも一部を選択し、そのデータに様々な加工、例えば様々なウォーターマークの埋め込みを行った後、個別に符号化することにより生成してもよい。符号化部２３１は、forensic対象データ以外の符号化画像データを非暗号化データとしてパディング部２３２に供給するとともに、複数のパターンデータをパディング部２３２に供給する。
【０２８７】
ステップＳ３０３において、パディング部２３２は、符号化部２３１から供給される複数のパターンデータのうちの、最もサイズの大きいパターンデータ以外のパターンデータに対して、全てのパターンデータのサイズが同一になるようにパディングデータを付加する。パディング部２３２は、パディング後の複数のパターンデータと、符号化部２３１から供給される非暗号化データとを、選択部２３３に供給する。
【０２８８】
ステップＳ３０４において、選択部２３３は、共通鍵を用いて、AES-CTRなどの暗号化方式で、パディング部２３２から供給される非暗号化データと複数のパターンデータとを暗号化する。ステップＳ３０５において、選択部２３３は、暗号化された非暗号化データと複数のパターンデータのうちの複数のパターンデータを選択し、暗号化部５３に供給する。また、選択部２３３は、暗号化された非暗号化データをファイル生成部２３４に供給する。
【０２８９】
ステップＳ３０６において、暗号化部５３は、forensic対象データごとに、選択部２３３から供給される複数のパターンデータのそれぞれを異なる鍵で暗号化し、暗号化データを生成する。暗号化部５３は、生成された暗号化データをファイル生成部２３４に供給する。
【０２９０】
ステップＳ３０７において、ファイル生成部２３４は、選択部２３３からの非暗号化データと暗号化部５３からの暗号化データをサンプル単位で配置するとともに、図３５のSample Constructorを配置したmdatボックスを含むセグメント単位の画像ファイルを生成する。ファイル生成部２３４は、生成された画像ファイルをMPD生成部５５に供給する。
【０２９１】
ステップＳ３０８およびＳ３０９の処理は、図８のステップＳ１５およびＳ１６の処理と同様であるので、説明は省略する。
【０２９２】
（ストリーミング再生部の構成例）
図３７は、本開示を適用した情報処理システムの第８実施の形態におけるストリーミング再生部の構成例を示すブロック図である。
【０２９３】
図３７に示す構成のうち、図２７の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２９４】
図３７のストリーミング再生部２５０の構成は、画像取得部１９１の代わりに画像取得部２５１が設けられる点、および、新たに削除部２５２が設けられる点が、図２７のストリーミング再生部１９０の構成と異なる。ストリーミング再生部２５０は、図３５のSample Constructorに基づいて、パターンデータに付加されたパディングデータを削除する。
【０２９５】
具体的には、ストリーミング再生部２５０の画像取得部２５１（受け取り部）は、図２７の画像取得部１９１と同様に、MPD処理部９２から供給されるURLのうちの再生対象の画像ファイルのURLに基づいて、再生対象の画像ファイルを受け取る。画像取得部２５１は、画像取得部１９１と同様に、再生対象の画像ファイルに格納される再生対象のサンプルのSample Auxiliary Informationに基づいて、画像ファイルから、再生対象のサンプルのSample Constructorを取得する。画像取得部２５１は、Sample Constructorを削除部２５２に供給する。
【０２９６】
また、画像取得部２５１は、画像取得部１９１と同様に、Sample Constructorに記述される各要素の情報に基づいて、その情報の記述順に、画像ファイルから、再生対象のサンプルの非暗号化データである要素、または、動画再生端末が保持する鍵に対応する暗号化データである要素を読み出す。画像取得部２５１は、読み出された暗号化データを解読部９４に供給し、非暗号化データを挿入部１９２に供給する。
【０２９７】
削除部２５２は、共通鍵を用いて、図３４の選択部２３３における暗号化方式に対応する方式で、挿入部１９２から供給される符号化画像データを解読する。削除部２５２は、画像取得部２５１から供給されるSample Constructorに基づいて、解読された符号化画像データのうちのパターンデータに付加されているパディングデータを削除する。削除部２５２は、パディングデータが削除された符号化画像データを、復号部１９３に供給する。
【０２９８】
（ストリーミング再生部の処理の説明）
図３８は、図３７のストリーミング再生部２５０の通常再生処理を説明するフローチャートである。
【０２９９】
図３８のステップＳ３２１乃至Ｓ３２６の処理は、図２８のステップＳ２０１乃至Ｓ２０６の処理と同様であるので、説明は省略する。
【０３００】
ステップＳ３２７において、ストリーミング再生部２５０は、再生対象のサンプルのSample Constructorに基づいて、画像ファイルから各要素を読み出し、符号化画像データを生成する要素処理を行う。この要素処理の詳細は、後述する図３９を参照して説明する。
【０３０１】
ステップＳ３２８において、ストリーミング再生部２５０は、再生対象のサンプルのSample Constructorに基づいて、挿入部１９２から供給される符号化画像データからパディングデータを削除する削除処理を行う。この削除処理の詳細は、後述する図４０を参照して説明する。
【０３０２】
ステップＳ３２９において、復号部１９３は、削除部２５２から供給される符号化画像データを復号し、その結果得られる画像データを動画コンテンツの画像データとして出力する。
【０３０３】
ステップＳ３３０乃至Ｓ３３２の処理は、図２８のステップＳ２０９乃至Ｓ２１１の処理と同様であるので、説明は省略する。
【０３０４】
図３９は、図３８のステップＳ３２７の要素処理の詳細を説明するフローチャートである。
【０３０５】
図３９のステップＳ３５０において、ストリーミング再生部２５０の画像取得部２５１は、Sample Constructorの読み出し位置から、versionとelements_countを読み出す。ステップＳ３５１において、画像取得部２５１は、読み出されたelements_countをカウント値ｊに設定する。
【０３０６】
ステップＳ３５２において、画像取得部２５１は、Sample Constructorの読み出し位置を次のelement_offsetに移動させ、versionに応じたビット数のelement_offsetとgroup_flagsを読み出す。
【０３０７】
ステップＳ３５３乃至Ｓ３５５の処理は、図２９のステップＳ２３３，Ｓ２３４，Ｓ２３７の処理と同様であるので、説明は省略する。
【０３０８】
ステップＳ３５４またはＳ３５５の処理後、ステップＳ３５６において、画像取得部２５１は、element_offsetとelement_sizeに基づいて、画像ファイルからｊ番目の要素を読み出す。具体的には、画像取得部２５１は、画像ファイルのelement_offsetに基づく位置から、element_sizeが表すサイズ分のデータを要素として読み出す。そして、処理はステップＳ３５７に進む。
【０３０９】
ステップＳ３５７において、画像取得部２５１は、group_flagsの１ビット目が１であるかどうかを判定する。ステップＳ３５７でgroup_flagsの１ビット目が１ではないと判定された場合、即ち、ｊ番目の要素が非暗号化データである場合、画像取得部２５１は、読み出されたｊ番目の要素を挿入部１９２に供給する。そして、処理はステップＳ３６１に進む。
【０３１０】
一方、ステップＳ３５７でgroup_flagsの１ビット目が１であると判定された場合、即ちｊ番目の要素が暗号化データである場合、画像取得部２５１は、読み出されたｊ番目の要素を解読部９４に供給する。そして、処理はステップＳ３５８に進む。
【０３１１】
ステップＳ３５８において、画像取得部２５１は、Sample Constructorの読み出し位置を次のpatKIDに移動させ、patKIDとpatIVのペアを読み出す。
【０３１２】
ステップＳ３５９において、画像取得部２５１は、patKIDで特定される鍵を動画再生端末１４が保持しているかどうかを判定する。ステップＳ３５９でpatKIDで特定される鍵を保持していると判定された場合、処理はステップＳ３６０に進む。
【０３１３】
ステップＳ３６０において、解読部９４は、動画再生端末１４が保持する鍵を用いて、画像取得部２５１から供給される暗号化データを解読し、パターンデータを生成する。解読部９４は、パターンデータを挿入部１９２に供給し、処理をステップＳ３６１に進める。
【０３１４】
一方、ステップＳ３５９でpatKIDで特定される鍵を保持していないと判定された場合、処理はステップＳ３６２に進む。
【０３１５】
ステップＳ３６１乃至Ｓ３６３の処理は、図２９のステップＳ２４２乃至Ｓ２４４の処理と同様であるので、説明は省略する。但し、ステップＳ３６３でカウント値ｊが０であると判定された場合、挿入部１９２は、保持している符号化画像データを削除部２５２に供給し、処理をステップＳ３６４に進める。
【０３１６】
ステップＳ３６４において、削除部２５２は、共通鍵を用いて、図３４の選択部２３３における暗号化方式に対応する方式で、挿入部１９２から供給される符号化画像データを解読する。そして、処理は図３８のステップＳ３２７に戻り、ステップＳ３２８に進む。
【０３１７】
なお、図３９のＳ３５９でpatKIDで特定される鍵を動画再生端末が保持していると判定された場合、Sample Constructorの読み出し位置が、次のグループ内の先頭の要素のelement_offsetになるまで、element_sizeが０に固定されるようにしてもよい。この場合、ステップＳ３５６で、動画再生端末が保持していない鍵で暗号化された暗号化データである要素が無駄に読み出されることを抑制することができる。
【０３１８】
図４０は、図３８のステップＳ３２８の削除処理の詳細を説明するフローチャートである。
【０３１９】
図４０のステップＳ３８１において、ストリーミング再生部２５０の画像取得部２５１は、Sample Constructor位置情報に基づいて、Sample Constructorの読み出し位置を、再生対象の暗号化サンプルのSample Constructorの先頭の位置に初期化する。
【０３２０】
ステップＳ３８２において、画像取得部２５１は、Sample Constructorの読み出し位置から、versionとelements_countを読み出す。ステップＳ３８３において、画像取得部２５１は、読み出されたelements_countをカウント値ｊに設定する。
【０３２１】
ステップＳ３８４において、画像取得部２５１は、versionに基づき、versionに応じたビット数だけSample Constructorの読み出し位置を移動させることにより、versionに応じたビット数のelement_offsetを読み飛ばす。ステップＳ３８５において、画像取得部２５１は、Sample Constructorの読み出し位置からgroup_flagsを読み出す。
【０３２２】
ステップＳ３８６において、画像取得部２５１は、group_flagsの０ビット目が１であるかどうかを判定する。ステップＳ３８６でgroup_flagsの０ビット目が１であると判定された場合、即ち、ｊ番目の要素がグループ内の先頭の要素である場合、処理はステップＳ３８７に進む。
【０３２３】
ステップＳ３８７において、画像取得部２５１は、Sample Constructorの読み出し位置を次のelement_sizeに移動させて読み出し、保持する。このとき、１つ前に保持されたelement_sizeは削除される。また、画像取得部２５１は、読み出されたelement_sizeを削除部２５２に供給する。そして、処理はステップＳ３８９に進む。
【０３２４】
一方、ステップＳ３８６でgroup_flagsの０ビット目が１ではないと判定された場合、即ち、ｊ番目の要素がグループ内の２番目以降の暗号化データからなる要素である場合、処理はステップＳ３８８に進む。ステップＳ３８８において、画像取得部２５１は、保持しているelement_size、即ち同一のグループ内の先頭の要素のelement_sizeを読み出す。そして、画像取得部２５１は、読み出されたelement_sizeを削除部２５２に供給し、処理をステップＳ３８９に進める。
【０３２５】
ステップＳ３８９において、画像取得部２５１は、group_flagsの１ビット目が１であるかどうかを判定する。ステップＳ３８９でgroup_flagsの１ビット目が１ではないと判定された場合、即ち、ｊ番目の要素が非暗号化データである場合、処理はステップＳ３９０に進む。
【０３２６】
そして、ステップＳ３９０において、削除部２５２は、挿入部１９２から供給される符号化画像データの読み出し位置から、ステップＳ３８７またはＳ３８８で読み出されたelement_sizeが表すサイズだけ符号化画像データを読み出す。なお、符号化画像データの読み出し位置の初期値は、符号化画像データの先頭である。削除部２５２は、符号化画像データの読み出し位置を、読み出された符号化画像データの終端位置に移動させ、処理をステップＳ３９５に進める。
【０３２７】
一方、ステップＳ３８９でgroup_flagsの１ビット目が１であると判定された場合、即ちｊ番目の要素が暗号化データである場合、処理はステップＳ３９１に進む。
【０３２８】
ステップＳ３９１において、画像取得部２５１は、Sample Constructorの読み出し位置を次のpatKIDに移動させ、patKID,patIV、およびpatSizeを読み出し、削除部２５２に供給する。
【０３２９】
ステップＳ３９２において、削除部２５２は、patKIDで特定される鍵を動画再生端末が保持しているかどうかを判定する。ステップＳ３９２でpatKIDで特定される鍵を保持していると判定された場合、処理はステップＳ３９３に進む。
【０３３０】
ステップＳ３９３において、削除部２５２は、挿入部１９２から供給される符号化画像データの読み出し位置から、patSizeが表すサイズだけ符号化画像データを読み出す。削除部２５２は、符号化画像データの読み出し位置を、読み出された符号化画像データの終端位置に移動させる。
【０３３１】
ステップＳ３９４において、削除部２５２は、element_sizeとpatSizeの差分が表すサイズ、即ちパディングデータのサイズだけ、符号化画像データの読み出し位置を移動させることにより、符号化画像データを読み飛ばす。これにより、パディングデータが読み飛ばされる。そして、処理はステップＳ３９５に進む。
【０３３２】
ステップＳ３９５において、削除部２５２は、読み出された符号化画像データを、保持している符号化画像データの直後に接続し、接続後の符号化画像データを保持する。これにより、パディングデータが存在する場合、パディングデータの前後のデータが接続される。即ち、パディングデータが削除される。そして、処理はステップＳ３９６に進む。
【０３３３】
一方、ステップＳ３９２でpatKIDで特定される鍵を保持していないと判定された場合、処理はステップＳ３９６に進む。
【０３３４】
ステップＳ３９６およびＳ３９７の処理は、図３９のステップＳ３６２およびＳ３６３の処理と同様であるので、説明は省略する。ステップＳ３９７でカウント値ｊが０であると判定された場合、即ち、再生対象のサンプル内の全ての要素に対応する符号化画像データが接続された場合、削除部２５２は、保持している符号化画像データを復号部１９３に供給する。これにより、復号部１９３には、パディングデータが削除された符号化画像データが供給される。そして、処理は図３８のステップＳ３２８に戻り、ステップＳ３２９に進む。
【０３３５】
なお、ストリーミング再生部２５０は、ストリーミング再生部９０と同様に、通常再生ではなく、ランダム再生を行うことも可能である。ストリーミング再生部２５０によるランダム再生処理は、ステップＳ３２４でユーザの所望の時刻のサンプルが再生対象のサンプルに決定される点を除いて、図３８の通常再生処理と同様である。
【０３３６】
また、第８実施の形態では、Media Segmentのmdatボックスにダミーデータが配置されないようにしたが、図４乃至図６に示したようにダミーデータが配置されてもよい。
【０３３７】
また、第８実施の形態のSample Constructorでは、要素ごとに要素位置情報が記述されたが、グループ内の全ての要素が連続して配置される場合には、第７実施の形態と同様に、グループの先頭の要素の要素位置情報のみが記述されるようにしてもよい。
【０３３８】
さらに、第８実施の形態では、パディング情報としてpatSizeが記述されたが、パターンデータに付加されたパディングデータのサイズが記述されるようにしてもよい。また、第８実施の形態では、パターンデータと非暗号化データに対して暗号化が行われたが、暗号化が行われなくてもよい。
【０３３９】
また、第８実施の形態では、最も大きいサイズのパターンデータ以外のパターンデータに対してパディングデータが付加されたが、全てのパターンデータがパターンデータのサイズの最大値より大きいサイズとなるように、全てのパターンデータに対してパディングデータが付加されるようにしてもよい。この場合、全てのパターンデータのパディング情報が画像ファイルに含められる。
【０３４０】
また、第１乃至第８実施の形態では、動画コンテンツの符号化画像データに対応するパターンデータを暗号化するようにしたが、動画コンテンツの符号化音声データ等の他のデータに関する複数の異なるパターンのデータを暗号化するようにしてもよい。
【０３４１】
＜第９実施の形態＞
（本開示を適用したコンピュータの説明）
上述したファイル生成装置１１およびWebサーバ１２の一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０３４２】
図４１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０３４３】
コンピュータ３００において、CPU（Central Processing Unit）３０１，ROM（Read Only Memory）３０２，RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０３４４】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、及びドライブ３１０が接続されている。
【０３４５】
入力部３０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０３４６】
以上のように構成されるコンピュータ３００では、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを、入出力インタフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０３４７】
コンピュータ３００（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３４８】
コンピュータ３００では、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０３４９】
なお、コンピュータ３００が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３５０】
また、動画再生端末１４のハードウエア構成は、図４１のコンピュータ３００と同様の構成にすることができる。この場合、例えば、CPU３０１が、制御用ソフトウエア２１、動画再生ソフトウエア２２、およびアクセス用ソフトウエア２３を実行する。動画再生端末１４の処理は、ハードウエアにより実行することもできる。
【０３５１】
本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０３５２】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０３５３】
さらに、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０３５４】
例えば、ファイル生成装置１１で生成されるファイルは、MPEG-DASH以外の規格に準拠したファイルであってもよい。また、ファイル生成装置１１で生成されるファイルは、ストリーミング再生されるのではなく、ローカルストレージ再生されたり、放送されたりするようにしてもよい。ファイル生成装置１１で生成されるファイルが、Adaptive Streaming以外のファイルである場合、ユーザの所望の時刻のMovie Fragment、trunボックス、およびサンプル番号の特定は、ISOBMFFのmfraボックスの中のtfraボックスを用いて行われる。
【０３５５】
また、Sample Constructorは、mdatボックス以外の既存のボックスに配置されてもよいし、新たに設けられたSample Constructor用のボックスに配置されてもよい。
【０３５６】
さらに、符号化画像データをパターンデータの暗号化に用いられる鍵とは別の鍵で暗号化することが可能である場合には、group_flagsが表す暗号化の状態は、非暗号化、１回の暗号化、および２回の暗号化の３つである。即ち、非暗号化データは、パターンデータの暗号化に用いられる鍵とは別の鍵で１回暗号化されているか、または、１回も暗号化されていない。これに対して、暗号化データは、パターンデータの暗号化に用いられる鍵と、それとは別の鍵で２回暗号化されているか、または、パターンデータの暗号化に用いられる鍵のみで１回暗号化されている。
【０３５７】
なお、この場合、パターンデータの暗号化に用いられる鍵とは別の鍵を特定する情報であるKIDと、その鍵で暗号化されたデータを復号するためのInitial Vectorの値を示すIVが、Sample Constructorに記述されるようにしてもよい。
【０３５８】
また、例えば、本開示は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０３５９】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３６０】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３６１】
また、本開示は、以下のような構成もとることができる。
【０３６２】
（１）
コンテンツのデータの少なくとも一部に関する複数のパターンデータのそれぞれが異なる鍵で暗号化された同一のサイズの暗号化データ、前記コンテンツのデータのうちの前記鍵のいずれでも暗号化されていない非暗号化データ、前記サイズを表すサイズ情報、および前記暗号化データのファイル内の位置を表す位置情報を含む前記ファイルを受け取る受け取り部と、
前記受け取り部により受け取られた前記位置情報と前記サイズ情報に基づいて、前記ファイルから所定の鍵を用いて暗号化された前記暗号化データを読み出し、前記所定の鍵を用いて解読し、前記パターンデータを生成する解読部と
を備える情報処理装置。
（２）
前記位置情報は、前記鍵ごとに、その鍵を用いて暗号化された前記暗号化データの前記ファイル内の位置を表す情報である
ように構成された
前記（１）に記載の情報処理装置。
（３）
各鍵を用いて暗号化された前記暗号化データは前記ファイル内に連続して配置されており、
前記位置情報は、各鍵を用いて暗号化された前記暗号化データの前記ファイル内の先頭位置を表す情報である
ように構成された
前記（１）に記載の情報処理装置。
（４）
前記ファイルは、前記サイズ情報と前記位置情報の前記ファイル内の位置を示す情報を含み、
前記解読部は、前記サイズ情報と前記位置情報の前記ファイル内の位置を示す情報に基づいて、前記サイズ情報と前記位置情報を前記ファイルから取得する
ように構成された
前記（１）乃至（３）のいずれかに記載の情報処理装置。
（５）
前記ファイルは、ISO Base Media File Formatであり、
前記サイズ情報と前記位置情報は、サンプルごとに設定される
ように構成された
前記（１）乃至（４）のいずれかに記載の情報処理装置。
（６）
前記ファイルは、前記複数のパターンデータのサイズを表す情報を含む
ように構成された
前記（１）乃至（５）のいずれかに記載の情報処理装置。
（７）
前記ファイルは、前記パターンデータに付加されたパディングデータのサイズを表す情報を含む
ように構成された
前記（１）乃至（５）のいずれかに記載の情報処理装置。
（８）
前記解読部により生成された前記パターンデータに付加されているパディングデータを削除する削除部
をさらに備え、
暗号化前に、前記複数のパターンデータに対して、前記複数のパターンデータの全てのサイズが同一になるように前記パディングデータが付加されており、
前記ファイルは、前記パディングデータが付加される前の前記複数のパターンデータのサイズを表すパディング情報を含み、
前記削除部は、前記パディング情報に基づいて前記パディングデータを削除する
ように構成された
前記（１）乃至（５）のいずれかに記載の情報処理装置。
（９）
前記パディングデータが付加された前記複数のパターンデータと前記非暗号化データの少なくとも一部は、共通鍵を用いて暗号化されており、
前記削除部は、前記解読部により生成された前記パディングデータが付加されている前記パターンデータと前記非暗号化データの暗号化部分を、前記共通鍵を用いて解読し、解読後の前記パターンデータに付加されている前記パディングデータを削除する
ように構成された
前記（８）に記載の情報処理装置。
（１０）
前記解読部により生成された前記パターンデータを前記非暗号化データに挿入する挿入部
をさらに備え、
前記少なくとも一部のデータより前の前記非暗号化データである前非暗号化データと、前記少なくとも一部のデータより後の前記非暗号化データである後非暗号化データは接続されており、
前記挿入部は、前記パターンデータを、前記前非暗号化データと前記後非暗号化データの間に挿入する
ように構成された
前記（１）乃至（９）のいずれかに記載の情報処理装置。
（１１）
前記解読部により生成された前記パターンデータを前記非暗号化データに挿入する挿入部
をさらに備え、
前記少なくとも一部のデータより前の前記非暗号化データである前非暗号化データと、前記少なくとも一部のデータより後の前記非暗号化データである後非暗号化データは、前記パターンデータのサイズと同一のサイズの所定のデータを介して接続されており、
前記挿入部は、前記所定のデータを前記パターンデータに置換することにより、前記パターンデータを前記非暗号化データに挿入する
ように構成された
前記（１）乃至（９）のいずれかに記載の情報処理装置。
（１２）
情報処理装置が、
コンテンツのデータの少なくとも一部に関する複数のパターンデータのそれぞれが異なる鍵で暗号化された同一のサイズの暗号化データ、前記コンテンツのデータのうちの前記鍵のいずれでも暗号化されていない非暗号化データ、前記サイズを表すサイズ情報、および前記暗号化データのファイル内の位置を表す位置情報を含む前記ファイルを受け取る受け取りステップと、
前記受け取りステップの処理により受け取られた前記位置情報と前記サイズ情報に基づいて、前記ファイルから所定の鍵を用いて暗号化された前記暗号化データを読み出し、前記所定の鍵を用いて解読し、前記パターンデータを生成する解読ステップと
を含む情報処理方法。
（１３）
コンテンツのデータの少なくとも一部に関する複数のパターンデータのそれぞれを異なる鍵で暗号化し、同一のサイズの暗号化データを生成する暗号化部と、
前記暗号化部により生成された前記暗号化データ、前記コンテンツのデータのうちの前記鍵のいずれでも暗号化されていない非暗号化データ、前記サイズを表すサイズ情報、および前記暗号化データのファイル内の位置を表す位置情報を含む前記ファイルを生成するファイル生成部と
を備える情報処理装置。
（１４）
前記位置情報は、前記鍵ごとに、その鍵を用いて暗号化された前記暗号化データの前記ファイル内の位置を表す情報である
ように構成された
前記（１３）に記載の情報処理装置。
（１５）
各鍵を用いて暗号化された前記暗号化データは前記ファイル内に連続して配置されており、
前記位置情報は、各鍵を用いて暗号化された前記暗号化データの前記ファイル内の先頭位置を表す情報である
ように構成された
前記（１３）に記載の情報処理装置。
（１６）
前記ファイルは、前記サイズ情報と前記位置情報の前記ファイル内の位置を示す情報を含む
ように構成された
前記（１３）乃至（１５）のいずれかに記載の情報処理装置。
（１７）
前記ファイルは、ISO Base Media File Formatであり、
前記サイズ情報と前記位置情報は、サンプルごとに設定される
ように構成された
前記（１３）乃至（１６）のいずれかに記載の情報処理装置。
（１８）
前記ファイルは、前記複数のパターンデータのサイズを表す情報を含む
ように構成された
前記（１３）乃至（１７）のいずれかに記載の情報処理装置。
（１９）
前記ファイルは、前記パターンデータに付加されたパディングデータのサイズを表す情報を含む
ように構成された
前記（１３）乃至（１７）のいずれかに記載の情報処理装置。
（２０）
前記複数のパターンデータに対して、前記複数のパターンデータの全てのサイズが同一になるようにパディングデータを付加するパディング部
をさらに備え、
前記暗号化部は、前記パディング部により前記パディングデータが付加された前記複数のパターンデータのそれぞれを異なる鍵で暗号化し、
前記ファイルは、前記パディングデータが付加される前の前記複数のパターンデータのサイズを表すパディング情報を含む
ように構成された
前記（１３）乃至（１７）のいずれかに記載の情報処理装置。
（２１）
前記パディング部により前記パディングデータが付加された前記複数のパターンデータと前記非暗号化データの少なくとも一部を、共通鍵を用いて暗号化する全体暗号化部
をさらに備え、
前記暗号化部は、前記全体暗号化部により暗号化された前記複数のパターンデータのそれぞれを異なる鍵で暗号化する
ように構成された
前記（２０）に記載の情報処理装置。
（２２）
前記少なくとも一部のデータより前の前記非暗号化データである前非暗号化データと、前記少なくとも一部のデータより後の前記非暗号化データである後非暗号化データは接続されている
ように構成された
前記（１３）乃至（２１）のいずれかに記載の情報処理装置。
（２３）
前記少なくとも一部のデータより前の前記非暗号化データである前非暗号化データと、前記少なくとも一部のデータより後の前記非暗号化データである後非暗号化データは、前記パターンデータのサイズと同一のサイズの所定のデータを介して接続されている
ように構成された
前記（１３）乃至（２１）のいずれかに記載の情報処理装置。
（２４）
情報処理装置が、
コンテンツのデータの少なくとも一部に関する複数のパターンデータのそれぞれを異なる鍵で暗号化し、同一のサイズの暗号化データを生成する暗号化ステップと、
前記暗号化ステップの処理により生成された前記暗号化データ、前記コンテンツのデータのうちの前記鍵のいずれでも暗号化されていない非暗号化データ、前記サイズを表すサイズ情報、および前記暗号化データのファイル内の位置を表す位置情報を含む前記ファイルを生成するファイル生成ステップと
を含む情報処理方法。
【符号の説明】
【０３６３】
１１  ファイル生成装置，  １４  動画再生端末，  ５３  暗号化部，  ５４  ファイル生成部，  ９３  画像取得部，  ９４  解読部，  ９５  挿入部，  １１１，１３１，１９１  画像取得部，  １９２  挿入部,  ２１１  画像取得部，  ２３２  パディング部，  ２３３  選択部，  ２３４  ファイル生成部，  ２５１  画像取得部，  ２５２  削除部
【図１】
2019110541.tif 000003
【図２】
2019110541.tif 000004
【図３】
2019110541.tif 000005
【図４】
2019110541.tif 000006
【図５】
2019110541.tif 000007
【図６】
2019110541.tif 000008
【図７】
2019110541.tif 000009
【図８】
2019110541.tif 000010
【図９】
2019110541.tif 000011
【図１０】
2019110541.tif 000012
【図１１】
2019110541.tif 000013
【図１２】
2019110541.tif 000014
【図１３】
2019110541.tif 000015
【図１４】
2019110541.tif 000016
【図１５】
2019110541.tif 000017
【図１６】
2019110541.tif 000018
【図１７】
2019110541.tif 000019
【図１８】
2019110541.tif 000020
【図１９】
2019110541.tif 000021
【図２０】
2019110541.tif 000022
【図２１】
2019110541.tif 000023
【図２２】
2019110541.tif 000024
【図２３】
2019110541.tif 000025
【図２４】
2019110541.tif 000026
【図２５】
2019110541.tif 000027
【図２６】
2019110541.tif 000028
【図２７】
2019110541.tif 000029
【図２８】
2019110541.tif 000030
【図２９】
2019110541.tif 000031
【図３０】
2019110541.tif 000032
【図３１】
2019110541.tif 000033
【図３２】
2019110541.tif 000034
【図３３】
2019110541.tif 000035
【図３４】
2019110541.tif 000036
【図３５】
2019110541.tif 000037
【図３６】
2019110541.tif 000038
【図３７】
2019110541.tif 000039
【図３８】
2019110541.tif 000040
【図３９】
2019110541.tif 000041
【図４０】
2019110541.tif 000042
【図４１】
2019110541.tif 000043