(57)【要約】【課題】暗号化されたマルチメディアファイルを高速に復号化し、再生開始までに要する時間を大幅に短縮する。【解決手段】動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化するプログラムであって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける処理と、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する処理と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す処理と、復号鍵に基づいて前記読み出したサンプルを復号化する処理と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう処理と、の一連の処理を、コンピュータに実行させる。【選択図】図６
2013109230.tif 000002
【特許請求の範囲】
【請求項１】
動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化するプログラムであって、
前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける処理と、
前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する処理と、
前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す処理と、
復号鍵に基づいて前記読み出したサンプルを復号化する処理と、
前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする請求項１記載のプログラム。
【請求項３】
メディアプレイヤーに対し、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化して出力する復号化装置であって、
前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付けて、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得するコンテナ解析部と、
前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出すファイル読み出し部と、
復号鍵に基づいて前記読み出したサンプルを復号化するサンプル復号部と、
前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なうパディング部と、を備えることを特徴とする復号化装置。
【請求項４】
前記パディング部は、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする請求項３記載の復号化装置。
【請求項５】
動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化する復号化装置に実装されることにより、前記復号化装置に複数の機能を発揮させる集積回路であって、
前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける機能と、
前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する機能と、
前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す機能と、
復号鍵に基づいて前記読み出したサンプルを復号化する機能と、
前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう機能と、の一連の機能を、前記復号化装置に発揮させることを特徴とする集積回路。
【請求項６】
前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする請求項５記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化する技術に関する。
【背景技術】
【０００２】
従来から、著作権保護の観点より、動画ファイルを暗号化して配布することが行なわれている。動画ファイルを暗号化する手法として、ファイル全体を暗号化する方法と、ファイルの中のサンプルと呼ばれる単位で暗号化する方法とがある。前者は、復号処理が１回で済むため、単純ではあるが、再生する際に、いったん動画ファイル全体を復号してメモリ上に展開する必要がある。このため、メモリの容量が不足する恐れがあり、比較的サイズの小さな動画ファイルに向いているといえる。後者は、復号処理をサンプル毎に行なう必要があるが、復号処理に必要なメモリがサンプル分だけで済むので、映画などの比較的大きな動画ファイルに向いているといえる。
【０００３】
サンプル毎に暗号化されたＭＰＥＧ４（Moving Picture Experts Group phase 4）ファイルを再生するソフトウェアでは、次の順序で処理を行なう。すなわち、
（１）ＭＰＥＧ４コンテナから暗号化されたサンプルを取り出す。
（２）暗号化されたサンプルを復号する。
（３）復号されたサンプルをコーデックに渡す。
【０００４】
この処理を行なうためには、ＭＰＥＧ４ファイルを解析するソフトウェアを修正する必要がある。予めこのような処理をするようにソフトウェアを作成し、携帯端末などに搭載することは可能である。しかし、スマートフォンのようなアプリケーションを追加できる携帯電話機であっても、動画再生処理を行う部分は予めベンダーが作り込んでいるため、追加アプリケーションでその処理を変更することは容易ではない。
【０００５】
そのため、サンプル毎に暗号化されたＭＰＥＧ４ファイルを再生する場合、一度、全部のサンプルを復号化して、端末のメモリに保持するか、ストレージに保存をする、という方法を採る必要がある。例えば、インターネットで配信されるビットレート１．５Ｍｂｐｓの２時間の映画を例にとると、１．３５ＧＢ程度のＲＡＭやストレージが必要となる。
【０００６】
しかし、著作権保護やセキュリティの面から、ストレージに保存することは望ましくないため、ＲＡＭに保存する必要があるが、携帯端末や組み込み機器では現実的なメモリサイズではない。
【０００７】
そこで、現実的なメモリサイズで再生できるようにするために、サンプルを読み出すときに復号化するという方法が考えられる。この場合、サンプルを復号するとサンプルのサイズが変わってしまう。そのため、あらかじめサンプルのサイズが記録されたテーブルを再計算する必要がある。
【０００８】
一方、特許文献１には、ＭＰＥＧ４方式で符号化された画像などの複数のオブジェクトに対し、高速で復号化処理を行なう画像復号化装置が開示されている。この画像復号化装置では、ＭＰＥＧ４対応の復号化ＬＳＩにおいて、復号化テクスチャデータに対する補填処理を行ない、符号化形状データに対して算術復号化処理を施し、複数のテクスチャデータを合成して合成画像データを生成する。これらの各機能が、それぞれハードウェア回路（専用エンジン）、算術復号エンジン、パディングエンジン、合成エンジンにより構成されている。この構成により、復号化処理の高速化とハードウェア回路のコスト削減を図ろうとしている。
【０００９】
また、特許文献２には、ＭＰＥＧ４などの画像圧縮における復号化工程でのパディング処理を高速に行なうパディング演算回路が開示されている。このパディング演算回路は、参照すべき元の画像データを所定数の画素のかたまりであるマクロブロック単位でメモリに格納し、パターン判定ブロックから、パターンを抽出するために必要なビットシフト量と、メモリに書き込みを許可するか否かのデータと、一方向がいずれの方向のオブジェクト境界画素かを示すデータとを出力する。そして、パターン判定ブロックが出力するビットシフト量と、上記各データとに応じて、一方向に位置するオブジェクト境界画素の画像データまたは両方向に位置するオブジェクト境界画素の画像データの平均値を、メモリにおけるパターン内のオブジェクト外の画像領域に画像データとして書き込む。この構成により、パディング処理の高速化を図ろうとしている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−２５１６２５号公報
【特許文献２】特開２００１−３０９３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来の技術では、サンプル毎に暗号化されたＭＰＥＧ４ファイルを復号する場合、復号後にサンプルのサイズが変更される。そのため、復号して再生を行う場合には、各サンプルのサイズを記録したテーブルや、サンプル位置（オフセット）を記録したテーブルを作成し直す必要があった。暗号化される前のサンプルのサイズは、復号してみないと分からない。そのため、すべてのサンプルを復号してテーブルを作成し直す必要があった。
【００１２】
図２０は、従来の技術における復号の様子を示す図である。紙面に向かって上側が暗号化された状態のサンプルを示しており、その左側がテーブルを示している。また、図２０の紙面に向かって下側が復号化後のサンプルを示しており、その左側がテーブルを示している。これらのテーブルには、サンプルのサイズ、チャンクの位置が格納されている。図２０に示すように、暗号化された状態のサンプルを復号すると、サンプルのサイズやチャンクの位置が変更されるため、テーブルを更新する必要がある。
【００１３】
しかしながら、暗号の復号処理には時間がかかるため、復号したＭＰＥＧ４ファイルをストリーミング再生させる場合、再生開始までにかなりの時間を要してしまっていた。具体的には、８００ＭＨｚ駆動のＡＲＭｖ７  ＣＰＵで、２時間のＤＶＤ品質（H.264 AVC Main Profile 720x480, 1.5Mbps）のビデオの再生をしようとする場合、テーブルの再計算に約２２分の処理が必要だった。また、ｉ．ＭＸ５１５に搭載された暗号ハードウェアを使った場合でも、約１分の処理時間が必要であった。そのため、ユーザが再生開始を行なおうとしてから、実際に再生されるまでに長い時間待たされることになり、利便性を欠いていた。
【００１４】
一方、ビデオファイルを暗号化する目的は、主に著作権保護のためであり、復号した状態でフラッシュメモリなどに書き出すことは望ましくない。そのため、テーブルを作成し直したとしても、そのテーブルをＲＡＭ上で保持する必要があり、そのためには大きなメモリを必要とする。２時間のＤＶＤ品質のビデオの場合、書き換えが必要なテーブルは２ＭＢ程度必要である。
【００１５】
本発明は、このような事情に鑑みてなされたものであり、暗号化されたマルチメディアファイルを高速に復号化し、再生開始までに要する時間を大幅に短縮することができるプログラム、復号化装置および集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１６】
（１）上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明のプログラムは、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化するプログラムであって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける処理と、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する処理と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す処理と、復号鍵に基づいて前記読み出したサンプルを復号化する処理と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【００１７】
このように、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。
【００１８】
（２）また、本発明のプログラムは、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする。
【００１９】
このように、復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングするので、デコード処理の際に動画が停止するなどの不具合を回避することが可能となる。
【００２０】
（３）また、本発明の復号化装置は、メディアプレーヤーに対し、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化して出力する復号化装置であって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付けて、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得するコンテナ解析部と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出すファイル読み出し部と、復号鍵に基づいて前記読み出したサンプルを復号化するサンプル復号部と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なうパディング部と、を備えることを特徴とする。
【００２１】
このように、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。
【００２２】
（４）また、本発明の復号化装置において、前記パディング部は、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする。
【００２３】
このように、復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングするので、デコード処理の際に動画が停止するなどの不具合を回避することが可能となる。
【００２４】
（５）また、本発明の集積回路は、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化する復号化装置に実装されることにより、前記復号化装置に複数の機能を発揮させる集積回路であって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける機能と、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する機能と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す機能と、復号鍵に基づいて前記読み出したサンプルを復号化する機能と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう機能と、の一連の機能を、前記復号化装置に発揮させることを特徴とする。
【００２５】
このように、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。
【００２６】
（６）また、本発明の集積回路は、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする。
【００２７】
このように、復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングするので、デコード処理の際に動画が停止するなどの不具合を回避することが可能となる。
【発明の効果】
【００２８】
本発明によれば、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。
【図面の簡単な説明】
【００２９】
【図１】第１の実施形態に係る復号化装置の復号の様子を示す図である。
【図２】Ｈ．２６４のデータ構造を示す図である。
【図３】ＡＡＣにおけるパディングの様子を示す図である。
【図４】ＡＡＣにおけるパディングの様子を示す図である。
【図５】第１の実施形態に係る復号化装置の構成を示す図である。
【図６】第１の実施形態に係る復号化装置の動作を示すフローチャートである。
【図７】サンプルの概略構成を示す図である。
【図８】サンプルの概略構成を示す図である。
【図９】サンプルの概略構成を示す図である。
【図１０】サンプルの概略構成を示す図である。
【図１１】サンプルの概略構成を示す図である。
【図１２】サンプルの概略構成を示す図である。
【図１３】サンプルの概略構成を示す図である。
【図１４】サンプルの概略構成を示す図である。
【図１５】サンプルの概略構成を示す図である。
【図１６】サンプルの概略構成を示す図である。
【図１７】サンプルの概略構成を示す図である。
【図１８】サンプルの概略構成を示す図である。
【図１９】第２の実施形態に係る復号化装置の概略構成を示す図である。
【図２０】従来の技術における復号の様子を示す図である。
【発明を実施するための形態】
【００３０】
本実施形態では、動画データまたは音声データの少なくとも一方を含むマルチメディアファイルを取り扱う。このマルチメディアファイルは、サンプル毎に暗号化されて配布される。そして、本実施形態では、暗号化されたサンプルを復号した後であっても、サンプルの全体のサイズが変わらないようにパディングを行なう。これにより、テーブルの書き換えを不要とし、ユーザが再生を開始しようとしてから、実際に再生が始まるまでの時間を短縮することが可能となる。すなわち、復号処理によって、サンプルのサイズは小さくなるが、復号したサンプルの後段にパディングをすることで、復号の前後でサンプルのサイズが変わらないようにする。本実施形態では、確実な再生を確保するため、Ｈ．２６４ＡＶＣやＡＡＣに適したパディングを行う例を示す。
【００３１】
本実施形態では、復号時にパディング処理を行なう分の処理時間が必要になるが、パディング処理は復号処理が終わってから実行されるので、前処理の時間には含まれない。また、パディング処理にかかる時間は復号処理に必要な時間に比べて短く、再生品質に影響を受けるほどではない。具体的には、復号処理にかかる時間は、Ｈ．２６４  ＡＶＣの１サンプルあたり７００マイクロ秒、ＡＡＣの１サンプルあたり２６マイクロ秒であるが、Ｈ．２６４  ＡＶＣおよびＡＡＣのパディングには１サンプルあたり２．５マイクロ秒程度である。なお、本実施形態は、ＭＰＥＧ４ファイルに限らず、サンプル単位で処理を行なうすべての動画ファイルフォーマットで利用できる。以下、本発明の実施形態について図面を参照して説明する。
【００３２】
（第１の実施形態）
図１は、第１の実施形態に係る復号化装置の復号の様子を示す図である。紙面に向かって上側が暗号化された状態のサンプルを示しており、その左側がテーブルを示している。また、図１の紙面に向かって下側が復号化後のサンプルを示しており、その左側がテーブルを示している。これらのテーブルには、サンプルのサイズ、チャンクの位置が格納されている。図１に示すように、第１の実施形態では、暗号化された状態のサンプルを復号する際に、パディングを行なう。その結果、復号後のサンプルのサイズは暗号化された状態のサンプルのサイズと同一である。また、チャンクの位置も変わらない。従って、復号の前後でテーブルの更新は必要ない。
【００３３】
ここで、“Ｈ．２６４”を例にとって説明する。“Ｈ．２６４”とは、ＩＴＵ（国際電気通信連合）によって提案された動画データの圧縮符号化方式の標準の一つである。図２は、Ｈ．２６４のデータ構造を示す図である。図２に示すように、Ｈ．２６４のデータ構造は、“長さ”、“データ”で一つのユニットとなっている。“長さ”には、それに続くデータ部のバイト数を、３２ｂｉｔで格納する。従って、図２に示すようなパディングを行なう場合は、パディングするバイト数から４を減じたバイト数が“長さ”に格納される。例えば、パディングする量が１６バイトである場合は、長さの部分が４バイト、データの部分が１２バイトとなるため、“長さ”には、“１２”が格納される。一方、“データ”には、Ｈ．２６４で使われないコマンドを記述する。例えば、“データ”の部分を“０”でパディングすることによって、このデータは無視されることとなる。
【００３４】
次に、“ＡＡＣ（Advanced Audio Coding）”を例にとって説明する。図３および図４は、ＡＡＣにおけるパディングの様子を示す図である。ＡＡＣの場合、“タグ”、“長さ”、“データ”で一つのユニットが構成される。ＡＡＣの特徴は、ＥＮＤタグ（111）をユニットの終端としていることである。ＡＡＣでは、アライメントが無いので、ＥＮＤタグを見つけるためには、先頭からコマンドを解析して行く必要がある。ただし、オリジナルのＡＡＣにおいて、ＥＮＤタグ（111）の後ろが“０”でパディングされている場合、ＥＮＤタグは見つけやすい。パディングすべき長さ分のパディングを行なって、末尾に再びＥＮＤタグ（111）を付加する。このとき、末尾まで１でパディングすれば、自ずと“111”となる。
【００３５】
図５は、第１の実施形態に係る復号化装置の構成を示す図である。復号化装置としてのＨＴＴＰサーバー５０は、暗号化されたメディアファイルＭＦを復号化し、メディアプレーヤーＭＰに出力する。第１の実施形態では、暗号化されていないメディアファイルのみを扱うことができるメディアプレーヤーＭＰを搭載したシステムで、メディアプレーヤーＭＰがメディア入力クラスを持たず、入力を拡張できない場合であっても、メディアプレーヤーＭＰがストリーミング配信をサポートしている場合において、暗号化されたメディアファイルを扱えるようにするために、暗号化されたメディアファイルを復号してストリーミング配信するＨＴＴＰサーバーをローカルに設置する。メディアプレーヤーＭＰとは、ローカルなＴＣＰ／ＩＰ接続を行う。
【００３６】
ＨＴＴＰサーバー５０は、ＨＴＴＰサーバー部５１でメディアプレーヤーＭＰと通信を行う。また、復号鍵取得部５２は、暗号化されたメディアファイルを復号するための暗号鍵を取得する。コンテナ解析部５３は、暗号化されたメディアファイルからサンプルの格納位置やサイズを取得する。サンプル復号部５４は、暗号化されたメディアファイルのサンプルを復号する。パディング部５５は、復号されたサンプルにパディングを施す。ファイル読み出し部５６は、暗号化されたメディアファイルを読み出す。なお、ここでは、通信プロトコルとして、ＨＴＴＰを用いた例を示したが、本発明は、これに限定されるわけではなく他のプロトコルを用いることも可能である。
【００３７】
次に、以上のように構成された第１の実施形態に係る復号化装置の動作について説明する。図６は、第１の実施形態に係る復号化装置の動作を示すフローチャートであり、図７〜図１８は、サンプルの概略構成を示す図である。図６において、読み出し要求を受け付けると、読み出しを開始する（ステップＳ１）。読み出し要求は、図７に示すように、メディアファイルＭＦの読み出し開始位置と、読み込むデータのサイズが指定される。コンテナ解析部５３は、読み出し開始位置が含まれるサンプルの先頭位置を取得すると共に、そのサンプルサイズを取得する（ステップＳ２、ステップＳ３）。ファイル読み出し部５６は、図８に示すように、サンプルの先頭位置から、サンプルのサイズ分、サンプルを読み出す（ステップＳ４）。ここでは、サンプルは暗号化された状態である。
【００３８】
次に、復号鍵取得部５２は、暗号鍵を取得し、サンプル復号部５４に暗号鍵を設定する（ステップＳ５）。サンプル復号部５４は、ファイル読み出し部５６から渡された暗号化されている状態のサンプルを復号する（ステップＳ６）。次に、パディング部５５は、図９に示すように、復号された平文サンプルに対してパディングを行なう（ステップＳ７）。ここで、パディングは、各サンプルのメディアタイプによって、パディング方法を変えて行われる。
【００３９】
次に、パディングが終わったサンプルは、図１０に示すように、ＨＴＴＰサーバー部５１が備える読み出しバッファへコピーされる。このとき、読み出しバッファには、読み出し開始位置とサンプル先頭位置の差をオフセットとして、平文サンプルとパディングを読み出しサイズ分コピーする。
【００４０】
ここで、図６のステップＳ９において、要求された分量を読み出したかどうかを判断し、要求された分量を読み出していない場合は、ステップＳ２へ遷移する。そして、読み出し開始位置を次のサンプルの先頭位置に変更し、再度、サンプルの読み出しおよび復号を行なって、バッファを満たしていく。一方、ステップＳ９において、要求された分量を読み出した場合は、ＨＴＴＰサーバー部５１は、バッファの書き出しを行なう（ステップＳ１０）。なお、図７〜図１０では、読み出しサイズが１サンプル内に収まる場合について説明した。
【００４１】
次に、読み込むデータが複数のサンプルにまたがる場合の動作を説明する。図１１〜図１３に示すように、読み出し開始位置が含まれるサンプルを復号する。ただし、復号されたサンプルとパディングが読み出しサイズを満たさない。そのため、図１４に示すように、一旦、サンプルサイズの終端までをバッファへコピーする。次に、図１５に示すように、読み出し開始位置を次のサンプルの先頭に移動させる。次のサンプルについても、図１６、図１７に示すように、サンプルの復号とパディングを行なう。そして、図１８に示すように、読み出しサイズ分をバッファにコピーする。読み込むデータのサイズに達したため、ＨＴＴＰサーバー部５１は、バッファを書き出す。
【００４２】
（第２の実施形態）
図１９は、第２の実施形態に係る復号化装置の概略構成を示す図である。復号化装置としての暗号化メディア入力クラス１９０は、暗号化されたメディアファイルＭＦを復号化し、メディアプレーヤーＭＰに出力する。第２の実施形態では、暗号化されていないメディアファイルのみを扱うことができるメディアプレーヤーＭＰを搭載したシステムで、暗号化されたメディアファイルを扱えるようにするために、メディアプレーヤーが入力として扱えるメディア入力クラスのサブクラスとして、暗号化メディア入力クラス１９０を実装する。暗号化メディア入力クラス１９０は、暗号化されたメディアファイルを復号し、平文のメディアファイルとして出力することで、メディアプレーヤーＭＰを扱うことを可能とする。
【００４３】
暗号化メディア入力クラス１９０は、ファイル書き出し部１９１でパディングが施されたサンプルを呼び出し元に書き出す。復号鍵取得部１９２は、暗号化されたメディアファイルを復号するための暗号鍵を取得する。コンテナ解析部１９３は、暗号化されたメディアファイルからサンプルの格納位置やサイズを取得する。サンプル復号部１９４は、暗号化されたメディアファイルのサンプルを復号する。パディング部１９５は、復号されたサンプルにパディングを施す。ファイル読み出し部１９６は、暗号化されたメディアファイルを読み出す。以上のように構成された第２の実施形態に係る復号化装置の動作は、第１の実施形態と同様であるため、説明を省略する。
【００４４】
以上説明したように、本実施形態によれば、暗号化されたビデオファイルの再生開始までの処理時間を短縮することができる。上記の例では、３０分のビデオに対して５分かかっていた前処理の時間が必要なくなることにより、暗号化されたファイルであっても、すばやく再生することができる。また、更新したテーブルを保持するためのＲＡＭを削減することができる。
【符号の説明】
【００４５】
５０  ＨＴＴＰサーバー
５１  ＨＴＴＰサーバー部
５２  復号鍵取得部
５３  コンテナ解析部
５４  サンプル復号部
５５  パディング部
５６  ファイル読み出し部
１９０  暗号化メディア入力クラス
１９１  ファイル書き出し部
１９２  復号鍵取得部
１９３  コンテナ解析部
１９４  サンプル復号部
１９５  パディング部
１９６  ファイル読み出し部
ＭＦ  メディアファイル
ＭＰ  メディアプレーヤー
【図１】
2013109230.tif 000003
【図２】
2013109230.tif 000004
【図３】
2013109230.tif 000005
【図４】
2013109230.tif 000006
【図５】
2013109230.tif 000007
【図６】
2013109230.tif 000008
【図７】
2013109230.tif 000009
【図８】
2013109230.tif 000010
【図９】
2013109230.tif 000011
【図１０】
2013109230.tif 000012
【図１１】
2013109230.tif 000013
【図１２】
2013109230.tif 000014
【図１３】
2013109230.tif 000015
【図１４】
2013109230.tif 000016
【図１５】
2013109230.tif 000017
【図１６】
2013109230.tif 000018
【図１７】
2013109230.tif 000019
【図１８】
2013109230.tif 000020
【図１９】
2013109230.tif 000021
【図２０】
2013109230.tif 000022