動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化するプログラムであって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける処理と、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する処理と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す処理と、復号鍵に基づいて前記読み出したサンプルを復号化する処理と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする請求項1記載のプログラム。メディアプレイヤーに対し、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化して出力する復号化装置であって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付けて、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得するコンテナ解析部と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出すファイル読み出し部と、復号鍵に基づいて前記読み出したサンプルを復号化するサンプル復号部と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なうパディング部と、を備えることを特徴とする復号化装置。前記パディング部は、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする請求項3記載の復号化装置。動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化する復号化装置に実装されることにより、前記復号化装置に複数の機能を発揮させる集積回路であって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける機能と、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する機能と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す機能と、復号鍵に基づいて前記読み出したサンプルを復号化する機能と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう機能と、の一連の機能を、前記復号化装置に発揮させることを特徴とする集積回路。前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする請求項5記載の集積回路。従来の技術では、サンプル毎に暗号化されたMPEG4ファイルを復号する場合、復号後にサンプルのサイズが変更される。そのため、復号して再生を行う場合には、各サンプルのサイズを記録したテーブルや、サンプル位置オフセットを記録したテーブルを作成し直す必要があった。暗号化される前のサンプルのサイズは、復号してみないと分からない。そのため、すべてのサンプルを復号してテーブルを作成し直す必要があった。図20は、従来の技術における復号の様子を示す図である。紙面に向かって上側が暗号化された状態のサンプルを示しており、その左側がテーブルを示している。また、図20の紙面に向かって下側が復号化後のサンプルを示しており、その左側がテーブルを示している。これらのテーブルには、サンプルのサイズ、チャンクの位置が格納されている。図20に示すように、暗号化された状態のサンプルを復号すると、サンプルのサイズやチャンクの位置が変更されるため、テーブルを更新する必要がある。しかしながら、暗号の復号処理には時間がかかるため、復号したMPEG4ファイルをストリーミング再生させる場合、再生開始までにかなりの時間を要してしまっていた。具体的には、800MHz駆動のARMv7CPUで、2時間のDVD品質H264AVCMainProfile720x48015Mbpsのビデオの再生をしようとする場合、テーブルの再計算に約22分の処理が必要だった。また、i.MX515に搭載された暗号ハードウェアを使った場合でも、約1分の処理時間が必要であった。そのため、ユーザが再生開始を行なおうとしてから、実際に再生されるまでに長い時間待たされることになり、利便性を欠いていた。一方、ビデオファイルを暗号化する目的は、主に著作権保護のためであり、復号した状態でフラッシュメモリなどに書き出すことは望ましくない。そのため、テーブルを作成し直したとしても、そのテーブルをRAM上で保持する必要があり、そのためには大きなメモリを必要とする。2時間のDVD品質のビデオの場合、書き換えが必要なテーブルは2MB程度必要である。本発明は、このような事情に鑑みてなされたものであり、暗号化されたマルチメディアファイルを高速に復号化し、再生開始までに要する時間を大幅に短縮することができるプログラム、復号化装置および集積回路を提供することを目的とする。1上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明のプログラムは、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化するプログラムであって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける処理と、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する処理と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す処理と、復号鍵に基づいて前記読み出したサンプルを復号化する処理と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう処理と、の一連の処理を、コンピュータに実行させることを特徴とする。このように、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。2また、本発明のプログラムは、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする。このように、復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングするので、デコード処理の際に動画が停止するなどの不具合を回避することが可能となる。3また、本発明の復号化装置は、メディアプレーヤーに対し、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化して出力する復号化装置であって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付けて、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得するコンテナ解析部と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出すファイル読み出し部と、復号鍵に基づいて前記読み出したサンプルを復号化するサンプル復号部と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なうパディング部と、を備えることを特徴とする。このように、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。4また、本発明の復号化装置において、前記パディング部は、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする。このように、復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングするので、デコード処理の際に動画が停止するなどの不具合を回避することが可能となる。5また、本発明の集積回路は、動画データまたは音声データの少なくとも一方を含み、サンプル毎に暗号化されたマルチメディアファイルを復号化する復号化装置に実装されることにより、前記復号化装置に複数の機能を発揮させる集積回路であって、前記サンプルの読み出し開始位置および読み出しサイズの指定を受け付ける機能と、前記読み出し開始位置を含む前記サンプルの先頭位置およびサンプルサイズを取得する機能と、前記取得した先頭位置から前記サンプルサイズに相当するサンプルを読み出す機能と、復号鍵に基づいて前記読み出したサンプルを復号化する機能と、前記復号化されたサンプルのサンプルサイズが、前記暗号化されたサンプルのサンプルサイズと等しくなるように前記復号化されたサンプルに対してパディングを行なう機能と、の一連の機能を、前記復号化装置に発揮させることを特徴とする。このように、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。6また、本発明の集積回路は、前記復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングすることを特徴とする。このように、復号化されたサンプルに対して、コーデックの規定に従ったコードをパディングするので、デコード処理の際に動画が停止するなどの不具合を回避することが可能となる。本発明によれば、読み出し開始位置を含むサンプルの先頭位置およびサンプルサイズを取得し、取得した先頭位置からサンプルサイズに相当するサンプルを読み出し、復号鍵に基づいて読み出したサンプルを復号化し、復号化されたサンプルのサンプルサイズが、暗号化されたサンプルのサンプルサイズと等しくなるように復号化されたサンプルに対してパディングを行なうので、復号化した後でもサンプルサイズが変わらないこととなる。その結果、テーブルの書き換えが不要になり、処理が簡略化され、高速化を図ることが可能となる。また、テーブルの書き換え処理が不要になった結果、メモリの使用量を節約することが可能となる。本実施形態では、動画データまたは音声データの少なくとも一方を含むマルチメディアファイルを取り扱う。このマルチメディアファイルは、サンプル毎に暗号化されて配布される。そして、本実施形態では、暗号化されたサンプルを復号した後であっても、サンプルの全体のサイズが変わらないようにパディングを行なう。これにより、テーブルの書き換えを不要とし、ユーザが再生を開始しようとしてから、実際に再生が始まるまでの時間を短縮することが可能となる。すなわち、復号処理によって、サンプルのサイズは小さくなるが、復号したサンプルの後段にパディングをすることで、復号の前後でサンプルのサイズが変わらないようにする。本実施形態では、確実な再生を確保するため、H.264AVCやAACに適したパディングを行う例を示す。本実施形態では、復号時にパディング処理を行なう分の処理時間が必要になるが、パディング処理は復号処理が終わってから実行されるので、前処理の時間には含まれない。また、パディング処理にかかる時間は復号処理に必要な時間に比べて短く、再生品質に影響を受けるほどではない。具体的には、復号処理にかかる時間は、H.264AVCの1サンプルあたり700マイクロ秒、AACの1サンプルあたり26マイクロ秒であるが、H.264AVCおよびAACのパディングには1サンプルあたり2.5マイクロ秒程度である。なお、本実施形態は、MPEG4ファイルに限らず、サンプル単位で処理を行なうすべての動画ファイルフォーマットで利用できる。以下、本発明の実施形態について図面を参照して説明する。第1の実施形態図1は、第1の実施形態に係る復号化装置の復号の様子を示す図である。紙面に向かって上側が暗号化された状態のサンプルを示しており、その左側がテーブルを示している。また、図1の紙面に向かって下側が復号化後のサンプルを示しており、その左側がテーブルを示している。これらのテーブルには、サンプルのサイズ、チャンクの位置が格納されている。図1に示すように、第1の実施形態では、暗号化された状態のサンプルを復号する際に、パディングを行なう。その結果、復号後のサンプルのサイズは暗号化された状態のサンプルのサイズと同一である。また、チャンクの位置も変わらない。従って、復号の前後でテーブルの更新は必要ない。ここで、H.264を例にとって説明する。H.264とは、ITU国際電気通信連合によって提案された動画データの圧縮符号化方式の標準の一つである。図2は、H.264のデータ構造を示す図である。図2に示すように、H.264のデータ構造は、長さ、データで一つのユニットとなっている。長さには、それに続くデータ部のバイト数を、32bitで格納する。従って、図2に示すようなパディングを行なう場合は、パディングするバイト数から4を減じたバイト数が長さに格納される。例えば、パディングする量が16バイトである場合は、長さの部分が4バイト、データの部分が12バイトとなるため、長さには、12が格納される。一方、データには、H.264で使われないコマンドを記述する。例えば、データの部分を0でパディングすることによって、このデータは無視されることとなる。次に、AACAdvancedAudioCodingを例にとって説明する。図3および図4は、AACにおけるパディングの様子を示す図である。AACの場合、タグ、長さ、データで一つのユニットが構成される。AACの特徴は、ENDタグ111をユニットの終端としていることである。AACでは、アライメントが無いので、ENDタグを見つけるためには、先頭からコマンドを解析して行く必要がある。ただし、オリジナルのAACにおいて、ENDタグ111の後ろが0でパディングされている場合、ENDタグは見つけやすい。パディングすべき長さ分のパディングを行なって、末尾に再びENDタグ111を付加する。このとき、末尾まで1でパディングすれば、自ずと111となる。図5は、第1の実施形態に係る復号化装置の構成を示す図である。復号化装置としてのHTTPサーバー50は、暗号化されたメディアファイルMFを復号化し、メディアプレーヤーMPに出力する。第1の実施形態では、暗号化されていないメディアファイルのみを扱うことができるメディアプレーヤーMPを搭載したシステムで、メディアプレーヤーMPがメディア入力クラスを持たず、入力を拡張できない場合であっても、メディアプレーヤーMPがストリーミング配信をサポートしている場合において、暗号化されたメディアファイルを扱えるようにするために、暗号化されたメディアファイルを復号してストリーミング配信するHTTPサーバーをローカルに設置する。メディアプレーヤーMPとは、ローカルなTCP/IP接続を行う。HTTPサーバー50は、HTTPサーバー部51でメディアプレーヤーMPと通信を行う。また、復号鍵取得部52は、暗号化されたメディアファイルを復号するための暗号鍵を取得する。コンテナ解析部53は、暗号化されたメディアファイルからサンプルの格納位置やサイズを取得する。サンプル復号部54は、暗号化されたメディアファイルのサンプルを復号する。パディング部55は、復号されたサンプルにパディングを施す。ファイル読み出し部56は、暗号化されたメディアファイルを読み出す。なお、ここでは、通信プロトコルとして、HTTPを用いた例を示したが、本発明は、これに限定されるわけではなく他のプロトコルを用いることも可能である。次に、以上のように構成された第1の実施形態に係る復号化装置の動作について説明する。図6は、第1の実施形態に係る復号化装置の動作を示すフローチャートであり、図7~図18は、サンプルの概略構成を示す図である。図6において、読み出し要求を受け付けると、読み出しを開始するステップS1。読み出し要求は、図7に示すように、メディアファイルMFの読み出し開始位置と、読み込むデータのサイズが指定される。コンテナ解析部53は、読み出し開始位置が含まれるサンプルの先頭位置を取得すると共に、そのサンプルサイズを取得するステップS2、ステップS3。ファイル読み出し部56は、図8に示すように、サンプルの先頭位置から、サンプルのサイズ分、サンプルを読み出すステップS4。ここでは、サンプルは暗号化された状態である。次に、復号鍵取得部52は、暗号鍵を取得し、サンプル復号部54に暗号鍵を設定するステップS5。サンプル復号部54は、ファイル読み出し部56から渡された暗号化されている状態のサンプルを復号するステップS6。次に、パディング部55は、図9に示すように、復号された平文サンプルに対してパディングを行なうステップS7。ここで、パディングは、各サンプルのメディアタイプによって、パディング方法を変えて行われる。次に、パディングが終わったサンプルは、図10に示すように、HTTPサーバー部51が備える読み出しバッファへコピーされる。このとき、読み出しバッファには、読み出し開始位置とサンプル先頭位置の差をオフセットとして、平文サンプルとパディングを読み出しサイズ分コピーする。ここで、図6のステップS9において、要求された分量を読み出したかどうかを判断し、要求された分量を読み出していない場合は、ステップS2へ遷移する。そして、読み出し開始位置を次のサンプルの先頭位置に変更し、再度、サンプルの読み出しおよび復号を行なって、バッファを満たしていく。一方、ステップS9において、要求された分量を読み出した場合は、HTTPサーバー部51は、バッファの書き出しを行なうステップS10。なお、図7~図10では、読み出しサイズが1サンプル内に収まる場合について説明した。次に、読み込むデータが複数のサンプルにまたがる場合の動作を説明する。図11~図13に示すように、読み出し開始位置が含まれるサンプルを復号する。ただし、復号されたサンプルとパディングが読み出しサイズを満たさない。そのため、図14に示すように、一旦、サンプルサイズの終端までをバッファへコピーする。次に、図15に示すように、読み出し開始位置を次のサンプルの先頭に移動させる。次のサンプルについても、図16、図17に示すように、サンプルの復号とパディングを行なう。そして、図18に示すように、読み出しサイズ分をバッファにコピーする。読み込むデータのサイズに達したため、HTTPサーバー部51は、バッファを書き出す。第2の実施形態図19は、第2の実施形態に係る復号化装置の概略構成を示す図である。復号化装置としての暗号化メディア入力クラス190は、暗号化されたメディアファイルMFを復号化し、メディアプレーヤーMPに出力する。第2の実施形態では、暗号化されていないメディアファイルのみを扱うことができるメディアプレーヤーMPを搭載したシステムで、暗号化されたメディアファイルを扱えるようにするために、メディアプレーヤーが入力として扱えるメディア入力クラスのサブクラスとして、暗号化メディア入力クラス190を実装する。暗号化メディア入力クラス190は、暗号化されたメディアファイルを復号し、平文のメディアファイルとして出力することで、メディアプレーヤーMPを扱うことを可能とする。暗号化メディア入力クラス190は、ファイル書き出し部191でパディングが施されたサンプルを呼び出し元に書き出す。復号鍵取得部192は、暗号化されたメディアファイルを復号するための暗号鍵を取得する。コンテナ解析部193は、暗号化されたメディアファイルからサンプルの格納位置やサイズを取得する。サンプル復号部194は、暗号化されたメディアファイルのサンプルを復号する。パディング部195は、復号されたサンプルにパディングを施す。ファイル読み出し部196は、暗号化されたメディアファイルを読み出す。以上のように構成された第2の実施形態に係る復号化装置の動作は、第1の実施形態と同様であるため、説明を省略する。以上説明したように、本実施形態によれば、暗号化されたビデオファイルの再生開始までの処理時間を短縮することができる。上記の例では、30分のビデオに対して5分かかっていた前処理の時間が必要なくなることにより、暗号化されたファイルであっても、すばやく再生することができる。また、更新したテーブルを保持するためのRAMを削減することができる。