JP3748437B2 - Data structure of multimedia file, encryption method and apparatus thereof, and encryption and decryption method and apparatus thereof - Google Patents

Data structure of multimedia file, encryption method and apparatus thereof, and encryption and decryption method and apparatus thereof Download PDF

Info

Publication number
JP3748437B2
JP3748437B2 JP2003092358A JP2003092358A JP3748437B2 JP 3748437 B2 JP3748437 B2 JP 3748437B2 JP 2003092358 A JP2003092358 A JP 2003092358A JP 2003092358 A JP2003092358 A JP 2003092358A JP 3748437 B2 JP3748437 B2 JP 3748437B2
Authority
JP
Japan
Prior art keywords
box
data
field
size
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003092358A
Other languages
Japanese (ja)
Other versions
JP2004007533A (en
JP2004007533A5 (en
Inventor
順 佐藤
亨 寺内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003092358A priority Critical patent/JP3748437B2/en
Publication of JP2004007533A publication Critical patent/JP2004007533A/en
Publication of JP2004007533A5 publication Critical patent/JP2004007533A5/ja
Application granted granted Critical
Publication of JP3748437B2 publication Critical patent/JP3748437B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、マルチメディア・ファイルのデータ構造、その暗号化方法並びに装置及びその暗号の復号化方法及び装置に係り、特に、動画記録装置及び再生装置における動画ファイルの暗号化方法及びその装置に関する。
【0002】
【従来の技術】
近年、動画などのコンテンツは、アナログ・データからデジタル・データに移行しつつある。デジタル化されたコンテンツは、品質の劣化無しにコピーできるため、ユーザ間でCD−R、記録可能DVDディスク、或いは、メモリーカードを介して、又は、インターネット等の通信手段を利用したファイル転送技術、例えば、Eメールに添付してコンテンツ・データを送ってコンテンツ・データをコピーすることが可能となり、このようなコピーが横行しつつあり、コンテンツ業界で著作権上問題となっている。
【0003】
デジタルコンテンツの著作権を保護するための解決手段として、コンテンツデータに暗号をかける方法があり、この暗号化によってて不正なコピーを防ぐことができる。従来のコンテンツデータに暗号をかける場合、一般にコンテンツデータの先頭から終端まで一括して暗号化する方法がとられている。これにより、コンテンツデータを利用する権利があるもの、即ち、暗号を解く権限があり、その手段を有するもののみがコンテンツデータを利用することが可能となる。
【0004】
【発明が解決しようとする課題】
上述したような従来の暗号化方法においては、コンテンツデータを先頭から終端まで一括して暗号化する場合には、コンテンツデータの不正コピーを防ぐことはできる。しかしながら、コンテンツデータの先頭から終端まで一括して暗号化しているため、コンテンツデータの任意の位置にアクセスすることが容易でなく、任意の位置にアクセスする為には、アクセス対象とされていないデータであっても復号化して暗号化を解く必要があり、実質上、無駄な処理が要求される問題がある。即ち、従来、暗号化されたコンテンツデータの任意の位置にアクセスする際には、コンテンツの先頭から順次暗号を解き、所望のコンテンツの位置に到達するまで暗号を解く処理が必要とされる。このような処理は、アクセス位置のデータを獲得するまでに処理時間が掛かる問題がある。
【0005】
このように所望のコンテンツの位置に到達するまでの暗号を解く処理は、所望の位置をアクセスするためのみに必要とされる処理であって、実際にコンテンツデータを利用するために必要とされる処理ではないことから、無駄な処理ということができる。
【0006】
所望するアクセス位置がファイルの先頭から離れれば離れるほど、上記の無駄な処理及び処理時間は増大する。処理負荷及び処理時間が増大するとそれに伴い消費電力も増大することになるので、バッテリを利用するポータブル機器などには連続使用時間が削減されるという問題もある。
【0007】
コンテンツデータの任意の位置へのアクセスは、動画の再生においては、例えば、早送り再生、巻き戻し再生、ランダムアクセス再生、レジューム再生(ユーザが再生停止したところから、再度再生を再開する機能)を実現するときに必要とされる。
【0008】
この発明は、上述した事情に鑑みなされたものであって、その目的は、コンテンツデータの所定の位置に効率的にアクセス可能なマルチメディア・ファイルのデータ構造及びその暗号化方法並びに暗号の復号化方法を提供するにある。
【0009】
【課題を解決するための手段】
この発明によれば、
第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及び前記符号化マルチメディア・データがチャンク毎に暗号化されて格納されるデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記チャンクの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、
から構成されることを特徴とするマルチメディア・ファイルのデータ構造が提供される。
また、この発明によれば、
第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及び符号化マルチメディア・データがサンプル毎に暗号化されて格納されるデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記サンプルの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、
から構成されることを特徴とするマルチメディア・ファイルのデータ構造が提供される。
【0010】
更に、この発明によれば、
符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する方法であって、
前記符号化マルチデータをチャンク毎に暗号化して前記第1のボックスのデータ・フィールドに格納し、
前記ファイル・フォーマット内における前記チャンクの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納し、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納し、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納することを特徴とするフォーマット方法が提供される。
更にまた、この発明によれば、
符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する方法であって、
前記符号化マルチメディア・データをサンプル毎に暗号化して前記第1のボックスのデータ・フィールドに格納し、
前記ファイル・フォーマット内における前記サンプルの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納し、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納し、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納することを特徴とするフォーマット方法が提供される。
【0011】
また、更にこの発明によれば、
符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する装置であって、
前記符号化マルチメディア・データをチャンク毎に暗号化して前記第1のボックスのデータ・フィールドに格納する暗号化部と、
前記ファイル・フォーマット内における前記チャンクの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納する第1の格納部、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納する第2の格納部と、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納する第3の格納部と
を備えたことを特徴とするフォーマット化装置が提供される。
よりまた、この発明によれば、
符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する装置であって、
前記符号化マルチメディア・データをサンプル毎に暗号化して前記第1のボックスのデータ・フィールドに格納する暗号化部と、
前記ファイル・フォーマット内における前記サンプルの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納する第1の格納部、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納する第2の格納部と、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納する第3の格納部と
を備えたことを特徴とするフォーマット化装置が提供される。
【0012】
より更に、この発明によれば、
第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及び符号化マルチメディア・データがチャンク毎に暗号化されて格納されるデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記チャンクの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、から構成されるマルチメディア・ファイルを復号化する方法であって、
前記第2のデータ・フィールドに格納されている前記チャンクの位置情報を読み出し、
前記チャンクの位置情報に基づいて前記第1のデータ・フィールドに格納されている前記チャンク内の暗号化マルチメディア・データを復号化することを特徴とする復号化方法が提供される。
【0013】
より更にまた、この発明によれば、
第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及び符号化マルチメディア・データがサンプル毎に暗号化されて格納されるデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記サンプルの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、から構成されるマルチメディア・ファイルを復号化する方法であって、
前記第2のデータ・フィールドに格納されている前記サンプルの位置情報を読み出し、
前記サンプルの位置情報に基づいて前記第1のデータ・フィールドに格納されている前記サンプル内の暗号化マルチメディア・データを復号化することを特徴とする復号化方法が提供される。
【0014】
【発明の実施の形態】
以下、図面を参照しながらこの発明の暗号化方法の一実施例について説明する。
【0015】
この発明の暗号化方法がMPEG−4ファイル・フォーマットに適用される実施例について図1から図18を参照して説明する。
【0016】
図1は、ISOにて規格化されているMPEG−4ファイル・フォーマット(FILE FORMAT)の構造を示している。以下の説明において、MPEG−4ファイル・フォーマットは、単にMP4と省略して説明する。MP4は、MPEG−4に従って符号化されたビデオストリーム、或いは、オーディオストリームを格納するためのファイル・フォーマットである。このファイル・フォーマットには、定義により、MPEG−4以外のコーデックも格納することが可能である。尚、このMP4データは、ファイルとしてディスク上に格納されている場合、或いは、バイナリイメージとしてメモリ上に格納されている場合等が想定される。
【0017】
図1に示すように、MP4は、オブジェクト構造を有し、幾つかのボックスより構成されている。このボックスは、文献によりアトム(atom)と称せられる場合があることに注意されたい。MP4では、ボックス中に、さらにボックスを入れた入れ子状態で格納することができるとされている。ここで、入れ子状態、即ち、階層構造になっているボックスの最初のボックス、即ち、最上位のボックスは、トップレベルボックスと称せられる。図1には、トップレベルボックスのみが示されている。
【0018】
図1に示すように、トップレベルボックスは、幾つかの種類がある。即ち、MP4ファイルは、ファイルタイプボックス11、ムービーボックス12、メディアデータボックス13、ムービーフラグメントボックス14、フリースペースボックス15及びスキップボックス16等から構成される。これらのボックスは、MP4ファイル中に必須のもの、或いは、オプションで記述されれば良いものがある。
【0019】
MP4では、これらのボックスは、図1に示すような順序で配列されることは要求されず、前述したような規定項目の範囲内で構成を変更することが可能である。しかし、ここでは、特に具体的な規定内容については説明を省略する。ただし、ボックスによって出現個数、位置、有無が規定され、データによりトップレベルボックスの構成が異なることがMP4の特徴であるとされている。
【0020】
ここで、各トップレベルボックスの機能について説明する。ファイルタイプボックス11は、ファイルのブランド或いはバージョン等のファイルのタイプを格納するボックスであり、MP4で定まったファイルであることを記述している。ムービーボックス12は、MP4データ全体のメタデータ、つまり符号化されたメディアのコーデックストリームをデコードするために必要な情報等、例えば、データのデコードに必要とされる属性及びアドレス等が記述されている情報を格納している。メディアデータボックス13は、実際の符号化されたメディアのコーデックストリーム、即ち、ビデオストリーム、或いは、オーディオストリーム等のコンテンツデータを格納している。ムービーフラグメントボックス14は、ムービーボックス12の情報を分割して格納するためのボックスである。フリースペースボックス15及びスキップボックス16は、ユーザーデータや、パディングのためにパディングデータを格納するためのボックスである。ユーザデータボックス17は、ユーザが定めたデータが格納されるボックスである。
【0021】
次に、ボックスの構造について説明する。ボックスは、全てのボックスにおいて共通の構造を有している。図2には、共通の構造を有するボックス20を示している。このボックス20においては、先頭の4バイトがボックスのサイズをバイトで示すためのサイズ・フィールド21に定められている。次の、4バイトは、ボックスの種別を識別するタイプ・フィールド22に定められている。ボックスの種別は、4つのキャラクターにより識別され、例えば、ムービーボックス12の場合は‘moov’となり、メディアデータボックスの場合は‘mdat’となる。この4文字のキャラクターをマッチングさせることによりボックスの種別を識別することが可能となる。次に、タイプ・フィールド22に続いてボックス・データ・フィールド23が格納されている。このボックス・データ・フィールドの構造は、各ボックスにおいて用途によりシンタックスが定義されている。このボックス・データ・フィールドのサイズは、サイズ・フィールド21の値からサイズ・フィールド21とタイプ・フィールド22で用いられている8を除いた値となる。
【0022】
図3に示すように、サイズ・フィールドの値が1のときは(Size==1)、このボックス20では、タイプ・フィールド22とボックス・データ・フィールド23の間に当該サイズ・フィールド24とともにボックスのサイズを示す8バイトのラージサイズ・フィールド24が出現し、ボックスのサイズが4バイトのサイズ・フィールド21で表現できないような大容量のボックスにも対応できるようになっている。このボックス20では、ボックス・データ・フィールド23のサイズは、ラージサイズ・フィールドに格納されているサイズから16を除いた値となる。
【0023】
この発明の一実施例に係る暗号化方法においては、トップレベルのボックス毎にデータが暗号化及び非暗号化が決定される。即ち、図4に示すようにサイズ・フィールド24の値が1でない場合(size!=1)のサイズ・フィールド及びタイプ・フィールドのデータは、暗号化されず(以下、単に暗号化されていない場合は、非暗号化と称する場合がある。)、ボックスデータが暗号化の対象とされている。
【0024】
尚、メディアデータボックス13のメディアデータは、後に述べるように暗号化されることが必須とされる。他のボックス11、12、14〜16のボックスデータは、後に述べるように暗号化されても良く或いはされなくとも良い。
【0025】
図5に示されるように、サイズ・フィールド24の値が1で、タイプ・フィールド22とボックスデータ部23の間にラージサイズ・フィールド24がある場合にあっても、このラージサイズ・フィールド24も暗号化の対象とされない。暗号化の方法によっては、データのブロック長が複数バイト必要な場合がある。即ち、暗号化の対象とされるデータが所定のブロック長で分割されてデータが暗号化される場合には、所定のブロック長未満の残余のデータが生じ、このデータ長が暗号化に必要とされるバイト数に達しない虞がある。このように暗号化されるデータ中で残余のバイトが生じ、このバイト数が暗号化の対象バイト数よりも小さい場合には、図6に示されるように、この残余のブロック中の残余のデータに対しては、暗号化しないようにしても良い。一例としては、ボックスデータ長が15バイトで、暗号手法がデータのブロック長を8バイト必要とする場合が該当する。この場合、ボックスデータの最初の8バイトは、暗号化され、残りの7バイトは暗号化されないこととなる。
【0026】
以上のように、ボックスデータ部に対してデータを暗号化することで、例えば、ムービーボックス12にアクセスが試みられた際に、始めに、MP4データの先頭の8バイトが取得されてボックスサイズ及びボックスタイプ・フィールドが獲得される。次に、ボックスタイプがムービーボックス12のタイプと一致するかが確認される。一致しない場合、即ち、ボックスタイプがムービーボックス12のタイプでない場合には、アクセスポインタがボックスサイズ分だけずらされ、次の8バイトが取得されてボックスサイズとボックスタイプ・フィールドが獲得される。ボックスタイプがムービーボックス12のタイプと一致するまでこのアクセスポインタのシフトが繰り返えされる。ボックスタイプがムービーボックス12のタイプと一致すると、暗号化されているボックスデータは、順次その暗号化が解れてムービーボックス12中のボックスデータへアクセスすることが可能となる。
【0027】
次に、メディアデータボックス13中のメディアデータは、暗号化される場合について説明する。
【0028】
メディアデータボックス13は、他のトップレベルボックスがメディアストリームのデコードに必要な情報を格納しているのと異なり、メディアデータが格納されている。このメディアデータの暗号化に際しては、スキップ再生、早送り再生、巻き戻し再生、或いは、レジューム再生等の特殊再生時に、メディアデータの任意の位置に効率よくアクセスすることができることが必要とされる。そのために、図6に示すように、上述のサイズ・フィールド及びタイプ・フィールドを暗号化しないことに加え、ストリームデータは、独立した符号化単位毎に暗号化がなされる。ここでは、符号化単位とは、音声ストリームに関しては、サンプル、若しくは、フレームが相当し、動画ストリームに関しては、フレームが相当する。
【0029】
この発明に実施例に係るメディアデータボックス13内のメディアデータの暗号化では、暗号化される符号化の単位は、MP4データ内のサンプルが対象とされる。サンプルに代えて、チャンクがメディアデータボックス13内で暗号化されても良い。各サンプルについてのMP4データ内での位置は、そのサンプルについて記述するムービーボックス12のチャンクオフセット及びサンプルサイズを解析することによって得ることができる。即ち、サンプルが属するチャンクの位置は、データファイル先頭からのオフセットとしてチャンクオフセットに記述され、そのチャンクに含まれるサンプルについては、そのサイズがサンプルサイズに記述されている。従って、何れのサンプルもチャンクオフセット及びサンプルサイズを参照することによって、そのオフセットを求めることができる。
【0030】
ここで、より説明を明確にする為にMP4におけるムービーボックス12の構造及びメディアデータボックス13内のデータ構造を図8から図10を参照して説明する。
【0031】
図8は、moov(Movie Box)と称せられるムービーボックス12の構造を示している。この図8に示されるボックスには、図4から図8を参照して説明した暗号化の対象とされないサイズ・フィールド、ラージサイズ・フィールド及びタイプ・フィールドは、図示されず、データボックス部に相当するムービーボックス12(ムービーボックス:Movie Box)のみが示されている。同様に図8には、メディアデータボックス13としてmdat(メディアデータボックス13:Media Data Box)が示されているが、この内には、サイズ・フィールド並びにタイプ・フィールド、更には、ラージサイズ・フィールドがあり、ボックスデータとして実データとしてのコンテンツデータ(マルチメディア・データ)が格納されている。図8及び図9A及び9Bを参照する説明においては、サイズ・フィールド並びにタイプ・フィールド、更には、ラージサイズ・フィールドがあるものとして説明を理解されたい。
【0032】
この図8に示されるフォーマットでは、1つのMP4ファイルは、第1階層のヘッダとしてファイル情報が記載されるmoov(ムービーボックス:Movie Box)及び音声データ及び映像データを含むマルチメディア・データが格納されているmdat(メディアデータボックス13:Media Data Box)から構成されている。このMP4ファイルには、付加的に、第1階層の空き領域としてのfree(フリー)並びにskip(スキップ)及びユーザが定義する書き込みを許すudta (ユーザデータボックス:User Data Box)が設けられている。
【0033】
尚、MP4ファイルでは、一般にボックス(box)と称される単位を元にデータを分類し、管理されている。このボックス(box)は、上位層から下位層に至る階層構造を取ることができ、その内部に更に下位層のボックス(box)を含むものを「コンテナボックス」と称している。ここで説明するボックスは、アトム(atom)と称される場合がある。
【0034】
また、ヘッダとしてのmoov(Movie Box)には、第2階層にあるMP4ファイルの作成時刻及びMP4ファイルのコンテンツ長等のヘッダ情報が記述されているmvhd (ムービーヘッダボックス:Movie Header Box)、オブジェクト、即ち、再生対象に関する情報が記述されているiods(オブジェクトディスクリプタボックス:Object descriptor Box)及び多重化されているメディア情報に関する各種パラメータが記述されているtrak (トラック:Track Box) を含んでいる。このtrak (Track Box)は、多重化されているメディアが多数あれば、そのメディアの数だけ用意される。例えば、音声と映像とが多重化されたコンテンツにあっては、音声メディアトラック及び映像メディアのトラックが用意され、その音声用のトラックに音声メディアのパラメータが格納され、映像用のトラックに映像メディアのパラメータが格納される。
【0035】
図8に示されるようにトラック(Track Box)は、第3階層にあるトラックの作成時刻及びトラックID(識別子)と称されるトラックを識別するための一連の番号が格納されているtkhd (トラックヘッダボックス:Track Header Box)、トラックに関して記述されたtref (トラックリファレンスボックス:Track Reference Box)、編集情報に関してのedts (エデットボックス:Edit Box)及びメディアの情報に関して記述されたmdia (メディアボックス:Media Box)を含んでいる。エデットボックスedtsは、第4階層に編集リスト情報が記述されたelst (エデットリスト:ボックスEdit List Box)を含み、メディアボックスmdiaは、第4階層にこのメディアトラックのタイムスケール等の情報が格納されるmdhd(メディアヘッダ:Media Header)、ヘッダを参照する情報が記述されたhdlr(ヘッダリファレンスボックス:Handler Reference Box)及びメディアに関する情報が格納されているminf(メディアインフォメーションボックス:Media information Box)を含んでいる。メディアインフォメーションminfは、更に第5階層にトラックに格納されているメディアが映像であることを示すvmhd(ビデオメディアヘッダボックス:Video Media Header Box)、或いは、トラックに格納されているメディアが音声であることを示すsmhd (サウンドメディアヘッダボックス:Sound Media Header Box)、ヒント・メディアのヘッダ情報が記述されたhmhd(ヒントメディアヘッダボックス:Hint Media Header Box)、メディアがビデオ或いは音声以外のMPEG−4ストリームである場合に、MPEG−4のヘッダ情報が記述されたmpeg(MPEG−4メディアボックス:MPEG-4 Media Box) 、メディア情報が記述されたminf(メディアインフォメーションボックス:Media Information Box)及びサンプルに関しての情報が記述されたstbl(サンプルテーブルボックス:Sample Table Box)を含んでいる。ビデオメディアヘッダボックスvmhd及びサウンドメディアヘッダボックスsmhdは、トラックに格納されているメディア、即ち、音声か映像化の種別に応じて択一的に記載される。更にまた、dinf(データインフォメーションボックス:Data Information Box)は、データを参照する情報が記述されたdref(データリファレンスボックス:Data Reference Box)を含み、また、stbl(サンプルテーブルボックス:Sample Table Box)は、各サンプルのデコード時刻が設定されているstts(デコーディングタイム:Decoding time to Sample Box) 、サンプルに対する表示.時間が記述されたctts (コンポジションタイム:Composition Time to Sample Box)、サンプルの同期情報が記述されたstss(シンクロサンプルボックス:Sync Sample Box)、コーディックの種別やデコードに必要となる各種情報が設定されているstsd(サンプルディスクリプションボックス:Sample Description Box) 、トラック中のサンプルの総数(サンプルカウント:sample_count)及び各サンプルのデータサイズ(エントリーサイズ:entry_size)が設定されているstsz(サンプルサイズボックス:Sample Size Box)、チャンク内のサンプル数(チャンクに対するサンプル:sample_per_chunk)及びサンプルのインデックス(サンプルディスクリプションインデックス:sample_description_index)が記述されたstsc(チャンクに対するサンプル:Sample to Chunk Box)、チャンクに関するファイルの先頭からのオフセット位置情報(チャンクオフセット:chunk_offset)が記述されるstco (チャンクオフセットボックス:Chunk Offset Box)、同期情報が記述されたstsh(シャドウシンクサンプルボックス:Shadow Sync Sample Box)及びstdp(デグラデーションプライオリティボックス:Degradation Priority Box)を含んでいる。stsd(Sample Description Box)は、必要に応じて複数個設定することができる。
【0036】
ここで、図10に示すようにサンプル(即ち、sample)とは、映像や音声の実際のメディアデータをある大きさに区切った単位を称し、メディアデータは、このサンプルを基に管理されている。チャンク(即ち、chunk)は、1又は複数のサンプルが連接されているものを称し、ファイル先頭からのチャンクの位置や当該チャンクにいくつのサンプルが含まれているかと言った、データ領域の内部構造に関する情報は、上述したようにmoovコンテナボックスの下位階層に記述される。また、既に説明したように実際のメディアデータは、mdatボックスに配置され、音声や映像といったメディア毎の情報管理にトラックというボックスが割り当てられている。このようにMP4ファイルは、moovコンテナボックスを取得すれば、構成されるメディア数、それぞれの種別、データサイズ等が判明する。
【0037】
尚、一般にMP4のボックスは、同一階層の配置順序の規定がない。図8の第1階層においては、moov、mdat、moof、free、skip、udtaの順序で並んでいるが、これは必ずしも規格上ファイル先頭からこの順番で並ばなければならないことを意味していない。例えば、図9Aに示すようにmdat、moov、free、skip、udtaの順序で並んでも良く、或いは、図9Bに示すようにmoov、udta、mdat、moof、mdat、skip、freeの順序で並んでも良い。更に、MP4ファイルでは、1つのmoovに対して複数のmdat、moofが設けられても良い。
【0038】
図8に示したサイズ・フィールド並びにタイプ・フィールド、更には、ラージサイズ・フィールドを除くmoovコンテナボックス内のデータ暗号化され、また、同様にサイズ・フィールド並びにタイプ・フィールド、更には、ラージサイズ・フィールドを除くmdatコンテナボックス内の実データが暗号化される。
【0039】
この暗号化は、一例として図11に示すような動画像記録システム100で実現され、この動画像記録システム100において、音声及び映像データが図12に示すような手順で暗号化される。この動画像記録システム100における暗号化を含むフォーマットの手順についてこの図11及び図12を参照して説明する。
【0040】
マイク101或いはオーディオ入力装置から取り込まれたオーディオ信号は、オーディオエンコーダ102でエンコードされて符号化オーディオデータ、例えば、MP4オーディオデータに変換される。同様に、カメラ103或いは映像入力装置から取り込まれたオーディオ信号は、ビデオエンコーダ104でエンコードされて符号化ビデオデータ、例えば、MP4ビデオデータに変換される。ここで、外部入力装置としてのマイク101、カメラ103からは、アナログ信号でも、或いは、デジタル信号の何れで動画像記録システム100に入力されても良い。オーディオエンコーダ102からは、その内で生成された音声符号化ストリームがファイル生成部105へ出力され、ビデオエンコーダ104からは、同様に、その内で生成されたビデオ符号化ストリームがファイル生成部105へ出力される。ファイル生成部105では、オーディオエンコーダ102及びビデオエンコーダ104から出力された音声符号化ストリーム及びビデオ符号化ストリームが図8に示すような所定のMP4ファイル・フォーマット形式に整えられ、ローカルメモリ106上に展開される。このファイル生成の完了後、図12及び図13を参照して説明するように暗号化部107がローカルメモリ106に蓄積されているファイルを所定の暗号化方法で暗号化し、再度ローカルメモリ106に配置し、暗号化ファイルとして出力する。
【0041】
暗号化が開始されると(ステップS10)、ステップS11に示されるようにローカルメモリ106上へ展開されたMP4ファイルからムービーボックス12(moov)が検索される。ここで、ムービーボックス12は、トップレベルボックスであるので、ファイルの先頭からサイズ・フィールド及びタイプ・フィールドを読み出し、タイプ・フィールドがmoovと示されているものが捜される。最初のボックスがmoovではない場合には、読み出したサイズ分だけファイル中でシークされ、次のボックスが解析される。タイプ・フィールドがmoovとの表示があるまで検索が継続される。
【0042】
ムービーボックス12が検出されると、ムービーボックス12中に格納されているトラック毎のチャンクオフセットボックス(stco)及びサンプルトゥチャンクボックス(stsc)、サンプルサイズボックス(stsz)が検索され、それらに保持されているテーブルがメモリ上に保持される。即ち、ステップS12において、Nの初期値は1に設定され、このムービーボックス12内の最初のトラックtrak内に記述された最初のチャンクのチャンクオフセットstcoが読み出され、このチャンクオフセットstco内のchunk_offsetからそのオフセットアドレスが読み出されると共にサンプルサイズボックスstszのentry_sizeからそのトラックに属する全てのサンプルサイズが読み出される。また、チャンクオフセットstco内のentry_countからそのトラック内の全てのチャンク数が読み出され、また、チャンクボックスに対するサンプルを意味するstscのsample_per_chunkから各チャンクのサンプル数が読み出され、サンプルサイズボックスstszのsample_countからそのトラック内の全てのサンプル総数が読み出される。
【0043】
同様に他のトラックについて、同様の項目が読み出される。これらの読み出された項目からオフセットの順序でチャンク毎のオフセット及びサンプル毎のオフセットが記述されたテーブルが作成される。
【0044】
即ち、図10に示すようにオーディオトラックに属するオーディオチャンク(A chunk)及びビデオトラックに属するビデオチャンク(V chunk)が交互に表れるようなメディアデータボックス13に格納されているメディアデータでは、オフセット0からオフセットxで示されるチャンクに関するテーブルが作成され、各チャンクに関するオフセットアドレスがchunk_offsetからそのテーブルにコピーされる。また、そのテーブルには、各チャンクを構成するサンプル数に応じてサンプルの項目が作成され、該当するサンプルのサンプルサイズからそのサンプルの位置及びそのサイズが記述される。作成されたテーブルにおいて、チャンクの総数及びサンプルの総数は、各トラックのチャンク数及びサンプル数でその総数が確認される。
【0045】
次に、このテーブルが参照されてステップS13に示すようにメディアデータボックス13内の最初のサンプルが暗号化されてローカルメモリ106に書き込まれる。次に、暗号化されたサンプルの番号NがステップS13においてメディアデータボックス13内の最後のサンプルかが確認される。暗号化されたサンプルが最後のサンプルでない場合には、ステップS14に示されるように暗号化されるべきサンプル番号が1つ増加され、再びステップS12に示すようにテーブルからサンプルの位置及びサイズを取得するステップに戻され、ステップS13において、その該当サンプルが暗号化される。ステップS12からステップS15が繰り返されてステップS15において暗号化されたサンプルがメディアデータボックス(mdat)13内の最後のサンプルに相当する場合には、その処理がステップS18に示すように終了される。
【0046】
メディアデータボックス(mdat)13以外の他のボックスが暗号化される場合には、図13に示すように図12と同様にステップS11からステップS15が実行される。ステップS15において暗号化されたサンプルがメディアデータボックス(mdat)13内の最後のサンプルに相当する場合には、メディアデータボックス13内の実データの暗号化が終了されたとして他のボックスがステップS16で暗号化される。例えば、メディアデータボックス13内の実データの暗号化するために利用されたムービーボックス12(moov)が暗号化される。当然ながら、既に説明したようにメディアデータボックス13及びムービーボックス12(moov)内のサイズ・フィールド、タイプ・フィールド、更には、ラージサイズ・フィールドは、何れも暗号化されない。
【0047】
ステップS17において、全てのボックスが暗号化されていない場合には、再びステップS16に戻されて次々にMP4ファイル内のボックスが暗号化される。
【0048】
ステップS17において、全てのボックスの暗号化が終了すると、その処理がステップS18に示すように終了される。
【0049】
上述した説明において、メディアデータボックス13では、既に説明したようにサンプルが所定のブロック長毎に暗号化され、残余の部分が生じた場合には、その部分は暗号化されないこととなる。例えば、所定のブロック長が8バイトであり、サンプルがこの8バイトの整数(n)倍のサイズNバイト(N=n×8)を有する場合には、図14に示すようにそのサンプルは、非暗号化の残余なしで暗号化される。これに対して、所定のブロック長が8バイトであり、サンプルがこの8バイトの整数(n)倍のサイズを超えるバイト(N=n×8+m、但し、m<8)を有する場合には、図15に示すようにそのサンプルの所定のブロック長部分8バイトの整数倍の部分(n×8ビット)は、暗号化され、残余の部分(mバイト)は、暗号化されない。同様に、所定のブロック長が8バイトであり、サンプルがこの8バイトの整数(n)倍のサイズ以内のバイト(N<8)を有する場合には、図16に示すようにそのサンプルは、暗号化されないこととなる。
【0050】
尚、図13を参照して説明した暗号化処理では、前提として、ローカルメモリ106上にMP4ファイルが蓄積されていることを想定しているが、即ち、ファイルの生成は、完了しているものとしている。しかしながら、ファイルが生成されながらの暗号化処理が実施されても良いことは明らかである。
【0051】
この暗号化された音声及び映像データを含むファイルは、一例として図17に示すような動画像再生システム100で復号化される。この動画像記録システム100における復号化は、図18に示すような手順で実現される。この動画像記録システム100における復号化の手順についてこの図17及び図18を参照して説明する。
【0052】
図17は、MP4ファイルの暗号化された音声及び映像データを復号化して音声及び映像信号に変換する動画像再生システム200を示している。この動画像再生システム200においては、図13に示した暗号化処理が施されたMP4ファイルがローカルメモリ206に入力され、このローカルメモリ206に格納される。図18を参照して説明するように暗号化されたファイルは、暗号復号化部207にて所定の暗号復号方法で暗号が復号され、再度、ローカルメモリ206に配置される。このローカルメモリに展開されたファイルがファイル解析部205において音声符号化ストリーム及びビデオ符号化ストリームに分離され、それぞれオーディオデコーダ202及びビデオデコーダ204に供給される。オーディオデコーダ202は、供給された音声符号化ストリームをデコードして音声信号をスピーカ201に出力して再生させている。また、ビデオデコーダ204は、供給されたビデオ符号化ストリームをデコードしてビデオ信号を画像出力装置203に出力し、動画像を画像出力装置203に表示させている。
【0053】
図18を参照して暗号化されファイルを復号する為の手順を説明する。ここでは、前提として、ローカルメモリ206上には、暗号化されたMP4ファイルが蓄積され、また、メディアデータボックス13内では、サンプル毎に暗号化されているものとする。
【0054】
暗号の復号化処理が開始されると(ステップS20)、メディアデータボックス(mdat)13を除く他のボックスについて、ステップS21に示すように暗号の復号化処理が実施される。図4から図7を参照して既に説明したように各ボックスにおいては、サイズ・フィールド、タイプ・フィールド、更には、ラージサイズ・フィールドは、何れも暗号化されていないことから、これらのフィールドが参照されてメディアデータボックス(mdat)13以外のボックスかが確認され、各ボックスの暗号化されたボックスデータ部が復号化される。復号化されたボックスは、再びローカルメモリ206上に蓄積される。ステップS22に示すようにメディアデータボックス(mdat)13以外のボックスの復号化処理が終了するまで繰り返され、この処理が終了すると、ステップS23で示す次の処理へ移行される。
【0055】
メディアデータボックス(mdat)13のみが暗号化され、他のボックスが暗号化されていない場合には、スタートS20後ステップS23に示す処理が実施される。
【0056】
ステップS23においては、復号化処理が施されたムービーボックス12がファイル中から検索される。ムービーボックス12が検索されると、ステップS24に示すように暗号化時と同様の方法でムービーボックス12中に格納されているトラック毎のチャンクオフセットボックス(stco)及びサンプルトゥチャンクボックス(stsc)、サンプルサイズボックス(stsz)が検索され、それらに保持されているテーブルがメモリ上に保持される。即ち、ステップS12において、Nの初期値は1に設定され、このムービーボックス12内の最初のトラックtrak内に記述された最初のチャンクのチャンクオフセットstcoが読み出され、このチャンクオフセットstco内のchunk_offsetからそのオフセットアドレスが読み出されると共にサンプルサイズボックスstszのentry_sizeからそのトラックに属する全てのサンプルサイズが読み出される。また、チャンクオフセットstco内のentry_countからそのトラック内の全てのチャンク数が読み出され、また、チャンクボックスに対するサンプルを意味するstscのsample_per_chunkから各チャンクのサンプル数が読み出され、サンプルサイズボックスstszのsample_countからそのトラック内の全てのサンプル総数が読み出される。
【0057】
同様に他のトラックについて、同様の項目が読み出される。これらの読み出された項目からオフセットの順序でチャンク毎のオフセット及びサンプル毎のオフセットが記述されたテーブルが作成される。
【0058】
即ち、図10に示すようにオーディオトラックに属するオーディオチャンク(A chunk)及びビデオトラックに属するビデオチャンク(V chunk)が交互に表れるようなメディアデータボックス13に格納されているメディアデータでは、オフセット0からオフセットxで示されるチャンクに関するテーブルが作成され、各チャンクに関するオフセットアドレスがchunk_offsetからそのテーブルにコピーされる。また、そのテーブルには、各チャンクを構成するサンプル数に応じてサンプルの項目が作成され、該当するサンプルのサンプルサイズからそのサンプルの位置及びそのサイズが記述される。作成されたテーブルにおいて、チャンクの総数及びサンプルの総数は、各トラックのチャンク数及びサンプル数でその総数が確認される。
【0059】
次に、このテーブルが参照されてステップS25に示すように最初のサンプルが復号化されてローカルメモリ106に書き込まれる。次に、復号化されたサンプルの番号NがステップS13においてメディアデータボックス13内の最後のサンプルかが確認される。復号化されたサンプルが最後のサンプルでない場合には、ステップS27に示されるように復号化されるべきサンプル番号が1つ増加され、再びステップS24に示すようにテーブルからサンプルの位置及びサイズを取得するステップに戻され、ステップS25において、その該当サンプルが復号化される。ステップS24からステップS27が繰り返されて暗号化されたサンプルがメディアデータボックス(mdat)13内の最後のサンプルに相当する場合には、メディアデータボックス13内の実データの復号化が終了される。
【0060】
上述した実施例の変形例として、ムービーフラグメントボックスを参照して各サンプルのオフセットを獲得しても良い。即ち、ムービーフラグメントボックスがあるMP4ファイルでは、ムービーフラグメントボックスにチャンクオフセットstco及びサンプルサイズstszが記述されている。従って、このチャンクオフセットstco及びサンプルサイズstszを解析することによって同様に各サンプルのオフセットを獲得することができる。
【0061】
上述した実施例においては、このサンプルのオフセット値及びサイズを用いてサンプル内のデータが暗号化されている。サンプルは、符号化ストリームのデコードに必要な最小の単位のため、サンプル単位にアクセスすることができれば、前述の特殊再生において、任意の位置のサンプルを効率的にアクセスすることが可能となる。即ち、図13に示す処理において、ステップS10からステップS12が実施され、ステップS12において、N番目のサンプルが目的とされるサンプルであれば、その目的とされるサンプルのみが復号化され、この復号化されたサンプルが音声或いは映像信号にデコードされて再生される。この目的とされるサンプルのみの再生によって、動画の再生においては、例えば、早送り再生、巻き戻し再生、ランダムアクセス再生、ユーザが再生停止したところから、再度再生を再開するレジューム再生が実現される。音声の再生においても同様に再生可能となる。
【0062】
尚、上述した実施例においては、メディアデータボックス13内では、サンプル毎に暗号化されている。このサンプル毎の暗号化に代えて、チャンク毎にチャンク内のデータが暗号化されても良い。既に説明したように、チャンクは、メディアデータ内の同一メディアのサンプルが連続している時の集合を示している。上記のサンプル単位毎に暗号化を行う場合と同様にチャンク毎に暗号化されれば良い。このチャンク毎の暗号化では、サンプル毎の暗号化に比べて、暗号化のリセットの回数が削減されるため、暗号化及び暗号を解く処理を軽減することが可能となる。尚、チャンク毎の暗号化及び復号化については、図13及び図18において、収集されるチャンクの情報を処理することによってサンプルと同様にチャンクの暗号化及び復号化が可能となる。
【0063】
この発明の暗号化方法及び復号化方法は、MP4ファイル・フォーマットを格納する機器、例えば、携帯電話、デジタルカメラ、デジタルムービー、デジタルハードディスクレコーダー、PDA等に適用することができる。
【0064】
また、同様のボックス構造を用いているJPEG2000のファイル・フォーマットにあっても、この発明の暗号化方法及び復号化方法を適用することができる。
【0065】
以上のように、この発明の実施例によれば、ボックス毎に暗号化を行うことによって、MP4データ内に存在する任意のボックスに効率的にアクセスすることが可能となる。さらに、サイズ・フィールド、タイプ・フィールド以外を暗号化することにより、平文であるサイズ・フィールド、タイプ・フィールドを用いて暗号を解く処理を行わずに所望のボックスへアクセスすることができる。
【0066】
また、この発明の実施例によれば、音声或いは動画の符号化データを含むボックスにアクセスすることができ、また、そのボックス内のサンプル或いはチャンクに効率的にアクセスすることができ、音声或いは動画の特殊再生が実現することが可能となる。
【0067】
【発明の効果】
以上のように、この発明によれば、コンテンツデータの所定の位置に効率的にアクセス可能なマルチメディア・ファイル・フォーマットのデータ構造及びその暗号化方法並びに暗号の復号化方法が提供される。
【図面の簡単な説明】
【図1】図1は、この発明の一実施例に係る暗号化方法が適用されるMP4ファイルの構造を概略的に示す平面図である。
【図2】図1に示される各ボックスの一般的な構造を概略的に示す平面図である。
【図3】図2に示した構造とは異なる他のタイプに係るボックスの構造を概略的に示す平面図である。
【図4】図1に示されるメディアデータボックス以外の他のトップレベルボックスに対する暗号化を説明する為の平面図である。
【図5】図2に示した構造とは異なる他のタイプに係るメディアデータボックス以外の他のトップレベルボックスに対する暗号化を説明する為の平面図である。
【図6】図4に示されるボックスに対する暗号化においてブロック単位で暗号化を施し、残余のデータが生じた際にその残余データに対しては暗号化を施さないことを説明する為の平面図である。
【図7】図1に示されるメディアデータボックスのヘッダの構造及びその非暗号化を示す平面図である。
【図8】図1に示されるムービーボックスの構造を示す平面図である。
【図9】(a)及び(b)は、図1に示されるムービーボックスの他の構造を示す平面図である。
【図10】図1に示されるメディアデータボックス内のデータ構造を説明する為の平面図である。
【図11】この発明の一実施例に係る暗号化システムを概略的に示すブロック図である。
【図12】図11に示される暗号化システムにおける暗号化方法を説明する為のフローチャートである。
【図13】図11に示される暗号化システムにおける他の暗号化方法を説明する為のフローチャートである。
【図14】図14は、図1に示されたメディアデータボックスを暗号化した際の一例を示す平面図である。
【図15】図1に示されたメディアデータボックスを暗号化した際の他の例を示す平面図である。
【図16】図1に示されたメディアデータボックスを暗号化した際の更に他の例を示す平面図である。
【図17】この発明の一実施例に係る暗号復号化システムを概略的に示すブロック図である。
【図18】図17に示される暗号復号化システムにおける暗号復号化方法を説明する為のフローチャートである。
【符号の説明】
11...ファイルタイプボックス
12...ムービーボックス
13...メディアデータボックス
14...ムービーフラグメントボックス
15...フリースペースボックス
16...スキップボックス
20...ボックス
21...サイズ・フィールド
22...タイプ・フィールド
23...ボックスデータ部
102...オーディオエンコーダ
104...ビデオエンコーダ
105...ファイル生成部
106...ローカルメモリ
107...暗号化部107
202...オーディオデコーダ
204...ビデオデコーダ
205...ファイル解析部
206...ローカルメモリ
207...暗号復号化部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data structure of a multimedia file, an encryption method and apparatus thereof, and an encryption and decryption method and apparatus thereof.
[0002]
[Prior art]
In recent years, content such as moving images is shifting from analog data to digital data. Since the digitized content can be copied without deterioration in quality, a file transfer technique using a communication means such as a CD-R, a recordable DVD disk, a memory card, or the Internet between users, For example, it is possible to copy content data by sending the content data attached to an e-mail, and such copying is rampant, which is a copyright problem in the content industry.
[0003]
As a solution for protecting the copyright of digital content, there is a method of encrypting content data. By this encryption, unauthorized copying can be prevented. In the case of encrypting conventional content data, generally, a method of collectively encrypting content data from the beginning to the end is used. As a result, only those who have the right to use the content data, that is, those who have the authority to decrypt the code and have the means can use the content data.
[0004]
[Problems to be solved by the invention]
In the conventional encryption method as described above, unauthorized copying of content data can be prevented when content data is encrypted collectively from the beginning to the end. However, since the content data is encrypted from the beginning to the end, it is not easy to access any position of the content data. In order to access any position, the data that is not the access target However, it is necessary to decrypt and decrypt the encryption, and there is a problem that wasteful processing is required. That is, conventionally, when accessing an arbitrary position of the encrypted content data, it is necessary to sequentially decrypt the cipher from the beginning of the content and to decrypt the cipher until the desired content position is reached. Such processing takes a long time to acquire data at the access position. Hang There's a problem.
[0005]
In this way, the process of decrypting the encryption until the position of the desired content is reached is a process that is necessary only for accessing the desired position, and is necessary for actually using the content data. Since it is not a process, it can be said to be a useless process.
[0006]
As the desired access position is further away from the head of the file, the above-mentioned useless processing and processing time increase. When the processing load and the processing time increase, the power consumption increases accordingly. Therefore, there is a problem in that the continuous use time is reduced in a portable device using a battery.
[0007]
Access to any location of the content data is achieved by, for example, fast-forward playback, rewind playback, random access playback, and resume playback (function to resume playback again when the user stops playback). Is needed when.
[0008]
The present invention has been made in view of the above-described circumstances, and an object thereof is to provide a data structure of a multimedia file that can efficiently access a predetermined position of content data, an encryption method thereof, and decryption of the encryption. Is in providing a way.
[0009]
[Means for Solving the Problems]
According to this invention,
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box including a type field and a data field in which the encoded multimedia data is stored encrypted for each chunk; and
A second size field for storing size information indicating the size of the second box, and type information for identifying that the second box is a box in which information data related to the encoded multimedia data is stored. A second box containing a data field for storing information data about the multimedia data, including a second type field to store and location information of the chunk in the data structure;
A data structure of a multimedia file is provided.
Moreover, according to this invention,
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box containing a type field and a data field in which encoded multimedia data is stored encrypted for each sample; and
A second size field for storing size information indicating the size of the second box, and type information for identifying that the second box is a box in which information data related to the encoded multimedia data is stored. A second box containing a data field for storing information data about the multimedia data, including a second type field to store and location information of the sample in the data structure;
A data structure of a multimedia file is provided.
[0010]
Furthermore, according to the present invention,
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a second box containing a second box data field, the file format comprising:
The encoded multi-data is encrypted for each chunk and stored in the data field of the first box;
Storing information about the encoded multimedia data, including location information of the chunk in the file format, in a data field of a second box;
Storing size information indicating the sizes of the first and second boxes respectively in the first and second size fields;
Type information indicating that the first box is a media data box in which encoded multimedia data is stored, and that the second box is a box in which information data related to the encoded multimedia data is stored. Are respectively stored in the first and second type fields.
Furthermore, according to the present invention,
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a second box containing a second box data field, the file format comprising:
The encoded multimedia data is encrypted sample by sample and stored in the data field of the first box;
Storing information about the encoded multimedia data, including position information of the samples in the file format, in a data field of a second box;
Storing size information indicating the sizes of the first and second boxes respectively in the first and second size fields;
Type information indicating that the first box is a media data box in which encoded multimedia data is stored, and that the second box is a box in which information data related to the encoded multimedia data is stored. Are respectively stored in the first and second type fields.
[0011]
Furthermore, according to the present invention,
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a device for formatting into a file format having a second box including a data field of a second box,
An encryption unit for encrypting the encoded multimedia data for each chunk and storing the encrypted multimedia data in the data field of the first box;
A first storage unit for storing information about the encoded multimedia data, including position information of the chunk in the file format, in a data field of a second box;
A second storage unit for storing size information indicating the sizes of the first and second boxes in the first and second size fields, respectively.
Type information indicating that the first box is a media data box in which encoded multimedia data is stored, and that the second box is a box in which information data related to the encoded multimedia data is stored. Are stored in the first and second type fields, respectively.
There is provided a formatting device characterized by comprising:
Furthermore, according to the present invention,
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a device for formatting into a file format having a second box including a data field of a second box,
An encryption unit for encrypting the encoded multimedia data for each sample and storing the encrypted multimedia data in the data field of the first box;
A first storage for storing information about the encoded multimedia data, including position information of the samples in the file format, in a data field of a second box;
A second storage unit for storing size information indicating the sizes of the first and second boxes in the first and second size fields, respectively.
Type information indicating that the first box is a media data box in which encoded multimedia data is stored, and that the second box is a box in which information data related to the encoded multimedia data is stored. Are stored in the first and second type fields, respectively.
There is provided a formatting device characterized by comprising:
[0012]
Furthermore, according to the present invention,
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box including a data field in which a type field and encoded multimedia data are stored encrypted for each chunk; and
A second size field for storing size information indicating the size of the second box, and type information for identifying that the second box is a box in which information data related to the encoded multimedia data is stored. A multimedia comprising: a second type field for storing; and a second box including a data field for storing information data relating to the multimedia data, including location information of the chunk in the data structure. A method of decrypting a file,
Reading the location information of the chunk stored in the second data field;
A decryption method is provided that decrypts encrypted multimedia data in the chunk stored in the first data field based on the location information of the chunk.
[0013]
Furthermore, according to the present invention,
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box containing a type field and a data field in which encoded multimedia data is stored encrypted for each sample; and
A second size field for storing size information indicating the size of the second box, and type information for identifying that the second box is a box in which information data related to the encoded multimedia data is stored. A multimedia comprising: a second type field for storing; and a second box including a data field for storing information data relating to the multimedia data, including location information of the sample in the data structure. A method of decrypting a file,
Reading the position information of the sample stored in the second data field;
A decryption method is provided that decrypts the encrypted multimedia data in the sample stored in the first data field based on the location information of the sample.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the encryption method of the present invention will be described below with reference to the drawings.
[0015]
An embodiment in which the encryption method of the present invention is applied to the MPEG-4 file format will be described with reference to FIGS.
[0016]
FIG. 1 shows the structure of an MPEG-4 file format (FILE FORMAT) standardized by ISO. In the following description, the MPEG-4 file format is simply abbreviated as MP4. MP4 is a file format for storing a video stream or an audio stream encoded according to MPEG-4. In this file format, codecs other than MPEG-4 can be stored by definition. The MP4 data may be stored as a file on a disk or stored as a binary image on a memory.
[0017]
As shown in FIG. 1, MP4 has an object structure and is composed of several boxes. Note that this box may be referred to by the literature as an atom. In MP4, it is supposed that a box can be stored in a nested state. Here, the first box in the nested box, that is, the hierarchical box, that is, the top box, is referred to as a top level box. In FIG. 1, only the top level box is shown.
[0018]
As shown in FIG. 1, there are several types of top level boxes. That is, the MP4 file includes a file type box 11, a movie box 12, a media data box 13, a movie fragment box 14, a free space box 15, a skip box 16, and the like. These boxes are indispensable in the MP4 file or may be described as options.
[0019]
In MP4, these boxes are not required to be arranged in the order shown in FIG. 1, and the configuration can be changed within the range of the specified items as described above. However, a description of particularly specific contents is omitted here. However, the number of appearances, position, and presence / absence are defined for each box, and the MP4 has a feature that the configuration of the top-level box differs depending on the data.
[0020]
Here, the function of each top level box will be described. The file type box 11 stores a file type such as a brand or version of the file, and describes that the file is a file determined by MP4. The movie box 12 describes the metadata of the entire MP4 data, that is, information necessary for decoding the encoded media codec stream, such as attributes and addresses required for decoding the data. Stores information. The media data box 13 stores content data such as a codec stream of an actual encoded medium, that is, a video stream or an audio stream. The movie fragment box 14 is a box for dividing and storing the information of the movie box 12. The free space box 15 and the skip box 16 are boxes for storing user data and padding data for padding. The user data box 17 is a box that stores data determined by the user.
[0021]
Next, the structure of the box will be described. The box has a common structure in all the boxes. FIG. 2 shows a box 20 having a common structure. In the box 20, the first 4 bytes are defined in a size field 21 for indicating the size of the box in bytes. The next 4 bytes are defined in the type field 22 for identifying the type of box. The box type is identified by four characters. For example, in the case of the movie box 12, it is “moov” media In the case of a data box, it is 'mdat'. The box type can be identified by matching these four characters. Next, a box data field 23 is stored following the type field 22. The structure of the box data field has a syntax defined according to the use in each box. The size of the box data field is a value obtained by subtracting 8 used in the size field 21 and the type field 22 from the value of the size field 21.
[0022]
As shown in FIG. 3, when the value of the size field is 1 (Size == 1), in this box 20, the box together with the size field 24 is placed between the type field 22 and the box data field 23. An 8-byte large size field 24 indicating the size of the box appears, and it is possible to deal with a large-capacity box where the box size cannot be represented by the 4-byte size field 21. In the box 20, the size of the box data field 23 is a value obtained by removing 16 from the size stored in the large size field.
[0023]
In the encryption method according to one embodiment of the present invention, data is determined to be encrypted or unencrypted for each top-level box. That is, as shown in FIG. 4, when the value of the size field 24 is not 1 (size! = 1), the data of the size field and the type field is not encrypted (hereinafter, simply not encrypted) May be referred to as non-encrypted.) Box data is subject to encryption.
[0024]
The media data in the media data box 13 must be encrypted as will be described later. The box data of the other boxes 11, 12, 14 to 16 may or may not be encrypted as will be described later.
[0025]
As shown in FIG. 5, even when the value of the size field 24 is 1 and there is a large size field 24 between the type field 22 and the box data portion 23, the large size field 24 is also Not subject to encryption. Depending on the encryption method, the data block length may require a plurality of bytes. In other words, when data to be encrypted is divided by a predetermined block length and the data is encrypted, residual data less than the predetermined block length is generated, and this data length is necessary for encryption. There is a risk of not reaching the number of bytes to be played. In this way, when the remaining bytes are generated in the data to be encrypted and the number of bytes is smaller than the number of bytes to be encrypted, the remaining data in the remaining blocks as shown in FIG. May not be encrypted. As an example, the box data length is 15 bytes and the encryption method requires 8 bytes of data block length. In this case, the first 8 bytes of the box data are encrypted, and the remaining 7 bytes are not encrypted.
[0026]
As described above, by encrypting the data in the box data portion, for example, when access to the movie box 12 is attempted, first, the first 8 bytes of the MP4 data are obtained and the box size and A box type field is acquired. Next, it is confirmed whether the box type matches the type of the movie box 12. If they do not match, that is, if the box type is not the type of the movie box 12, the access pointer is shifted by the box size, the next 8 bytes are obtained, and the box size and the box type field are obtained. This access pointer shift is repeated until the box type matches the type of the movie box 12. When the box type matches the type of the movie box 12, the encrypted box data can be sequentially decrypted to access the box data in the movie box 12.
[0027]
Next, a case where the media data in the media data box 13 is encrypted will be described.
[0028]
The media data box 13 stores media data unlike other top level boxes that store information necessary for decoding the media stream. When encrypting the media data, it is necessary to be able to efficiently access an arbitrary position of the media data during special playback such as skip playback, fast forward playback, rewind playback, or resume playback. Therefore, as shown in FIG. 6, in addition to not encrypting the above-mentioned size field and type field, the stream data is encrypted for each independent coding unit. Here, the coding unit corresponds to a sample or a frame for an audio stream, and a frame for a moving image stream.
[0029]
In the encryption of the media data in the media data box 13 according to the embodiment of the present invention, the sample of the MP4 data is targeted for the encoding unit to be encrypted. Instead of the sample, the chunk may be encrypted in the media data box 13. The position in the MP4 data for each sample can be obtained by analyzing the chunk offset and sample size of the movie box 12 describing that sample. That is, the position of the chunk to which the sample belongs is described in the chunk offset as an offset from the top of the data file, and the size of the sample included in the chunk is described in the sample size. Therefore, the offset of any sample can be obtained by referring to the chunk offset and the sample size.
[0030]
Here, in order to clarify the explanation, the structure of the movie box 12 in MP4 and the data structure in the media data box 13 will be described with reference to FIGS.
[0031]
FIG. 8 shows the structure of the movie box 12 called “moov (Movie Box)”. In the box shown in FIG. 8, the size field, the large size field, and the type field that are not subject to encryption described with reference to FIGS. 4 to 8 are not shown and correspond to the data box portion. Only a movie box 12 (Movie Box) is shown. Similarly, FIG. 8 shows an mdat (Media Data Box) as the media data box 13, which includes a size field, a type field, and a large size field. And content data (multimedia data) as actual data is stored as box data. In the description with reference to FIGS. 8 and 9A and 9B, it should be understood that there is a size field as well as a type field, as well as a large size field.
[0032]
In the format shown in FIG. 8, one MP4 file stores a moov (movie box) in which file information is described as a first layer header, and multimedia data including audio data and video data. Mdat (Media Data Box 13). This MP4 file is additionally provided with free (free) and skip (skip) as vacant areas in the first hierarchy and udta (user data box) that allows user-defined writing. .
[0033]
In the MP4 file, data is classified and managed based on a unit generally called a box. This box (box) can have a hierarchical structure from the upper layer to the lower layer, and a box including a lower layer box (box) inside thereof is called a “container box”. The box described here may be referred to as an atom.
[0034]
In addition, in the moov (Movie Box) as a header, mvhd (Movie Header Box) in which header information such as the creation time of the MP4 file in the second hierarchy and the content length of the MP4 file is described, an object In other words, it includes iods (Object descriptor box) in which information related to a reproduction target is described and trak (track: Track Box) in which various parameters related to multiplexed media information are described. If there are a large number of multiplexed media, this track (Track Box) is prepared in the number of the media. For example, in the case of content in which audio and video are multiplexed, an audio media track and a video media track are prepared, the audio media parameters are stored in the audio track, and the video media is stored in the video track. The parameters are stored.
[0035]
As shown in FIG. 8, the track (Track Box) is a tkhd (track number) in which a sequence number for identifying a track called track ID (identifier) and a creation time of a track in the third hierarchy is stored. Header box (Track Header Box), tref (Track Reference Box) described for the track, edts (Edit Box: Edit Box) for the editing information, and mdia (Media Box: Media) for the media information Box). The edit box edts includes elst (edit list: edit list box) in which edit list information is described in the fourth layer, and the media box mdia stores information such as the time scale of the media track in the fourth layer. Mdhd (Media Header: Media Header), hdlr (Header Reference Box: Handler Reference Box) in which information referring to the header is described, and minf (Media Information Box: Media Information Box) in which information on the media is stored It is out. In the media information minf, vmhd (Video Media Header Box) indicating that the media stored in the track in the fifth layer is a video, or the media stored in the track is audio. Smhd (Sound Media Header Box), hmhd (Hint Media Header Box) with hint media header information, MPEG-4 stream other than video or audio Mpeg (MPEG-4 Media Box) in which MPEG-4 header information is described, minf (Media Information Box) in which media information is described, and a sample Stbl (supported information) Sample Table Box). The video media header box vmhd and the sound media header box smhd are alternatively described according to the media stored in the track, that is, the type of audio or video. Furthermore, dinf (Data Information Box) includes dref (Data Reference Box) in which information for referring to data is described, and stbl (Sample Table Box) is , Stts (Decoding time to Sample Box) in which the decoding time of each sample is set, display for the sample. Ctts describing the time (Composition Time: Sample Time), stss describing the sample synchronization information (Sync Sample Box), codec type and various information required for decoding Stsd (sample description box: sample description box), the total number of samples in the track (sample count: sample_count) and the data size (entry size: entry_size) of each sample are set. Sample Size Box), stsc (Sample to Chunk Box), chunk in which the number of samples in the chunk (sample for chunk: sample_per_chunk) and sample index (sample description index: sample_description_index) are described Stco (chunk offset box: Chunk Offset Box) in which offset position information from the beginning of the file is described, stsh (Shadow Sync Sample Box) in which synchronization information is described, and stdp (Degradation Priority Box). A plurality of stsd (Sample Description Box) can be set as necessary.
[0036]
Here, as shown in FIG. 10, a sample (ie, sample) refers to a unit obtained by dividing actual media data of video or audio into a certain size, and the media data is managed based on this sample. . A chunk (that is, chunk) refers to one or a plurality of samples concatenated, and the internal structure of the data area such as the position of the chunk from the beginning of the file and how many samples are included in the chunk The information regarding is described in the lower hierarchy of the moov container box as described above. As described above, the actual media data is arranged in the mdat box, and a box called a track is assigned to information management for each medium such as audio and video. As described above, when the MP4 file acquires the moov container box, the number of configured media, the respective types, the data size, and the like are found.
[0037]
In general, MP4 boxes have no definition of the arrangement order of the same layer. In the first hierarchy shown in FIG. 8, they are arranged in the order of moov, mdat, moof, free, skip, and udta, but this does not necessarily mean that they must be arranged in this order from the top of the file. For example, it may be arranged in the order of mdat, moov, free, skip, udta as shown in FIG. 9A, or may be arranged in the order of moov, udta, mdat, moof, mdat, skip, free as shown in FIG. 9B. good. Further, in the MP4 file, a plurality of mdat and moof may be provided for one moov.
[0038]
The size field and type field shown in FIG. 8, and the data in the moov container box excluding the large size field are encrypted. Similarly, the size field and type field, and also the large size field The actual data in the mdat container box excluding the field is encrypted.
[0039]
This encryption is realized by a moving image recording system 100 as shown in FIG. 11 as an example, and in this moving image recording system 100, audio and video data are encrypted by a procedure as shown in FIG. A format procedure including encryption in the moving image recording system 100 will be described with reference to FIGS.
[0040]
An audio signal captured from the microphone 101 or the audio input device is encoded by the audio encoder 102 and converted into encoded audio data, for example, MP4 audio data. Similarly, an audio signal captured from the camera 103 or the video input device is encoded by the video encoder 104 and converted into encoded video data, for example, MP4 video data. Here, an analog signal or a digital signal may be input to the moving image recording system 100 from the microphone 101 and the camera 103 as external input devices. The audio encoder 102 outputs the audio encoded stream generated therein to the file generation unit 105, and the video encoder 104 similarly outputs the video encoded stream generated therein to the file generation unit 105. Is output. In the file generation unit 105, the audio encoded stream and the video encoded stream output from the audio encoder 102 and the video encoder 104 are arranged in a predetermined MP4 file format as shown in FIG. Is done. After this file generation is completed, the encryption unit 107 encrypts the file stored in the local memory 106 with a predetermined encryption method and arranges it in the local memory 106 again as described with reference to FIGS. And output as an encrypted file.
[0041]
When encryption is started (step S10), the movie box 12 (moov) is searched from the MP4 file expanded on the local memory 106 as shown in step S11. Here, since the movie box 12 is a top level box, the size field and the type field are read from the head of the file, and the type field indicated as moov is searched. If the first box is not moov, the file is sought by the read size and the next box is analyzed. The search continues until the type field shows moov.
[0042]
When the movie box 12 is detected, the chunk offset box (stco), sample-to-chunk box (stsc), and sample size box (stsz) for each track stored in the movie box 12 are retrieved and held in them. Table is kept in memory. That is, in step S12, the initial value of N is set to 1, the chunk offset stco of the first chunk described in the first track trak in the movie box 12 is read, and chunk_offset in the chunk offset stco is read out. The offset address is read out and all sample sizes belonging to the track are read out from the entry_size in the sample size box stsz. Also, the number of all chunks in the track is read from the entry_count in the chunk offset stco, and the number of samples in each chunk is read from the sample_per_chunk of stsc which means a sample for the chunk box, and the sample size box stsz The total number of all samples in the track is read from sample_count.
[0043]
Similarly, similar items are read for other tracks. A table in which the offset for each chunk and the offset for each sample are described in the order of the offset from these read items is created.
[0044]
That is, as shown in FIG. 10, in the media data stored in the media data box 13 in which the audio chunk (A chunk) belonging to the audio track and the video chunk (V chunk) belonging to the video track appear alternately, the offset 0 A table relating to the chunk indicated by the offset x is created, and the offset address relating to each chunk is copied from chunk_offset to the table. In the table, sample items are created according to the number of samples constituting each chunk, and the position and size of the sample are described from the sample size of the corresponding sample. In the created table, the total number of chunks and the total number of samples are confirmed by the number of chunks and the number of samples in each track.
[0045]
Next, referring to this table, the first sample in the media data box 13 is encrypted and written to the local memory 106 as shown in step S13. Next, it is checked whether the encrypted sample number N is the last sample in the media data box 13 in step S13. If the encrypted sample is not the last sample, the sample number to be encrypted is incremented by 1 as shown in step S14, and the sample position and size are obtained from the table again as shown in step S12. In step S13, the corresponding sample is encrypted. If step S12 to step S15 are repeated and the sample encrypted in step S15 corresponds to the last sample in the media data box (mdat) 13, the process is terminated as shown in step S18.
[0046]
When a box other than the media data box (mdat) 13 is encrypted, as shown in FIG. 13, steps S11 to S15 are executed as in FIG. If the sample encrypted in step S15 corresponds to the last sample in the media data box (mdat) 13, it is determined that the encryption of the actual data in the media data box 13 has been completed, and another box is displayed in step S16. Encrypted with For example, the movie box 12 (moov) used for encrypting the actual data in the media data box 13 is encrypted. Of course, as already described, the size field, the type field, and the large size field in the media data box 13 and the movie box 12 (moov) are not encrypted.
[0047]
If all the boxes are not encrypted in step S17, the process returns to step S16, and the boxes in the MP4 file are encrypted one after another.
[0048]
In step S17, when all boxes have been encrypted, the process ends as shown in step S18.
[0049]
In the above description, in the media data box 13, as described above, when a sample is encrypted for each predetermined block length and a remaining part is generated, the part is not encrypted. For example, if the predetermined block length is 8 bytes and the sample has a size N bytes (N = n × 8) that is an integer (n) times this 8 bytes, the sample is as shown in FIG. Encrypted with no unencrypted residue. On the other hand, if the predetermined block length is 8 bytes and the sample has bytes (N = n × 8 + m, where m <8) exceeding the size of an integer (n) times this 8 bytes, As shown in FIG. 15, the integral multiple portion (n × 8 bits) of the predetermined block length portion 8 bytes of the sample is encrypted, and the remaining portion (m bytes) is not encrypted. Similarly, if the predetermined block length is 8 bytes and the sample has bytes (N <8) within the size of an integer (n) times 8 bytes, as shown in FIG. It will not be encrypted.
[0050]
In the encryption processing described with reference to FIG. 13, it is assumed that the MP4 file is stored in the local memory 106 as a premise. That is, the file generation is completed. It is said. However, it is obvious that the encryption process may be performed while the file is generated.
[0051]
The file containing the encrypted audio and video data is decrypted by a moving image reproduction system 100 as shown in FIG. 17 as an example. Decoding in the moving image recording system 100 is realized by a procedure as shown in FIG. Decoding procedures in the moving image recording system 100 will be described with reference to FIGS.
[0052]
FIG. 17 shows a moving image playback system 200 that decrypts encrypted audio and video data of an MP4 file and converts them into audio and video signals. In the moving image reproduction system 200, the MP4 file subjected to the encryption process shown in FIG. 13 is input to the local memory 206 and stored in the local memory 206. As described with reference to FIG. 18, the encrypted file is decrypted by the encryption / decryption unit 207 using a predetermined encryption / decryption method and placed in the local memory 206 again. The file expanded in the local memory is separated into an audio encoded stream and a video encoded stream by the file analysis unit 205 and supplied to the audio decoder 202 and the video decoder 204, respectively. The audio decoder 202 decodes the supplied audio encoded stream and outputs an audio signal to the speaker 201 for reproduction. The video decoder 204 decodes the supplied video encoded stream, outputs a video signal to the image output device 203, and displays a moving image on the image output device 203.
[0053]
A procedure for decrypting an encrypted file will be described with reference to FIG. Here, it is assumed that an encrypted MP4 file is accumulated on the local memory 206 and is encrypted for each sample in the media data box 13.
[0054]
When encryption decryption processing is started (step S20), encryption decryption processing is performed on the other boxes except the media data box (mdat) 13 as shown in step S21. As already described with reference to FIGS. 4 to 7, in each box, the size field, the type field, and the large size field are not encrypted. It is referred to and a box other than the media data box (mdat) 13 is confirmed, and the encrypted box data portion of each box is decrypted. The decrypted box is stored in the local memory 206 again. As shown in step S22, the process is repeated until the decoding process for boxes other than the media data box (mdat) 13 is completed. When this process is completed, the process proceeds to the next process shown in step S23.
[0055]
When only the media data box (mdat) 13 is encrypted and the other boxes are not encrypted, the process shown in step S23 is performed after the start S20.
[0056]
In step S23, the movie box 12 subjected to the decryption process is searched from the file. When the movie box 12 is searched, a chunk offset box (stco) and a sample-to-chunk box (stsc) for each track stored in the movie box 12 in the same manner as in encryption as shown in step S24, Sample size boxes (stsz) are retrieved and the tables held in them are held in memory. That is, in step S12, the initial value of N is set to 1, the chunk offset stco of the first chunk described in the first track trak in the movie box 12 is read, and chunk_offset in the chunk offset stco is read out. The offset address is read out and all sample sizes belonging to the track are read out from the entry_size in the sample size box stsz. Also, the number of all chunks in the track is read from the entry_count in the chunk offset stco, and the number of samples in each chunk is read from the sample_per_chunk of stsc which means the sample for the chunk box, and the sample size box stsz The total number of all samples in the track is read from sample_count.
[0057]
Similarly, similar items are read for other tracks. A table in which the offset for each chunk and the offset for each sample are described in the order of the offset from these read items is created.
[0058]
That is, as shown in FIG. 10, in the media data stored in the media data box 13 in which the audio chunk (A chunk) belonging to the audio track and the video chunk (V chunk) belonging to the video track appear alternately, the offset 0 A table relating to the chunk indicated by the offset x is created, and the offset address relating to each chunk is copied from chunk_offset to the table. In the table, sample items are created according to the number of samples constituting each chunk, and the position and size of the sample are described from the sample size of the corresponding sample. In the created table, the total number of chunks and the total number of samples are confirmed by the number of chunks and the number of samples in each track.
[0059]
Next, referring to this table, the first sample is decoded and written to the local memory 106 as shown in step S25. Next, it is checked whether the number N of the decoded sample is the last sample in the media data box 13 in step S13. If the decoded sample is not the last sample, the sample number to be decoded is incremented by 1 as shown in step S27, and the position and size of the sample are obtained from the table again as shown in step S24. In step S25, the corresponding sample is decoded. When the sample encrypted by repeating Step S24 to Step S27 corresponds to the last sample in the media data box (mdat) 13, the decryption of the actual data in the media data box 13 is terminated.
[0060]
As a modification of the above-described embodiment, an offset of each sample may be obtained with reference to a movie fragment box. That is, in the MP4 file having the movie fragment box, the chunk offset stco and the sample size stsz are described in the movie fragment box. Therefore, by analyzing the chunk offset stco and the sample size stsz, the offset of each sample can be obtained similarly.
[0061]
In the embodiment described above, the data in the sample is encrypted using the offset value and size of the sample. Since the sample is the minimum unit necessary for decoding the encoded stream, if the sample unit can be accessed, the sample at an arbitrary position can be efficiently accessed in the above-described special reproduction. That is, in the process shown in FIG. 13, steps S10 to S12 are performed. In step S12, if the Nth sample is a target sample, only the target sample is decoded. The converted sample is decoded into an audio or video signal and reproduced. By reproducing only the sample that is the object, for example, fast-forward reproduction, rewind reproduction, random access reproduction, and resume reproduction in which reproduction is resumed from when the user has stopped reproduction are realized. Similarly, the audio can be reproduced.
[0062]
In the above-described embodiment, each sample is encrypted in the media data box 13. Instead of encryption for each sample, data in the chunk may be encrypted for each chunk. As already described, a chunk indicates a set when samples of the same media in media data are consecutive. The encryption may be performed for each chunk as in the case of performing the encryption for each sample unit. In the encryption for each chunk, the number of times of resetting the encryption is reduced as compared with the encryption for each sample. Therefore, it is possible to reduce the encryption and decryption processing. As for encryption and decryption for each chunk, the chunk information can be encrypted and decrypted in the same manner as the sample by processing the collected chunk information in FIGS.
[0063]
The encryption method and decryption method of the present invention can be applied to devices that store the MP4 file format, such as mobile phones, digital cameras, digital movies, digital hard disk recorders, PDAs, and the like.
[0064]
Also, the encryption method and decryption method of the present invention can be applied to the JPEG2000 file format using the same box structure.
[0065]
As described above, according to the embodiment of the present invention, it is possible to efficiently access an arbitrary box existing in MP4 data by performing encryption for each box. Further, by encrypting other than the size field and type field, it is possible to access a desired box without performing decryption processing using the size field and type field which are plain text.
[0066]
Further, according to the embodiment of the present invention, it is possible to access a box including encoded data of audio or moving images, and to efficiently access samples or chunks in the box. Special reproduction can be realized.
[0067]
【The invention's effect】
As described above, according to the present invention, a data structure of a multimedia file format that can efficiently access a predetermined position of content data, an encryption method thereof, and a decryption method of encryption are provided.
[Brief description of the drawings]
FIG. 1 is a plan view schematically showing the structure of an MP4 file to which an encryption method according to an embodiment of the present invention is applied.
FIG. 2 is a plan view schematically showing a general structure of each box shown in FIG. 1;
FIG. 3 is a plan view schematically showing a structure of a box according to another type different from the structure shown in FIG. 2;
4 is a plan view for explaining encryption for a top level box other than the media data box shown in FIG. 1; FIG.
FIG. 5 is a plan view for explaining encryption for a top level box other than a media data box according to another type different from the structure shown in FIG. 2;
6 is a plan view for explaining that encryption is performed in units of blocks in encryption for the box shown in FIG. 4, and when the residual data is generated, the residual data is not encrypted. It is.
7 is a plan view showing the structure of the header of the media data box shown in FIG. 1 and its non-encryption. FIG.
FIG. 8 is a plan view showing the structure of the movie box shown in FIG.
9A and 9B are plan views showing another structure of the movie box shown in FIG.
10 is a plan view for explaining a data structure in the media data box shown in FIG. 1; FIG.
FIG. 11 is a block diagram schematically showing an encryption system according to an embodiment of the present invention.
FIG. 12 is a flowchart for explaining an encryption method in the encryption system shown in FIG. 11;
FIG. 13 is a flowchart for explaining another encryption method in the encryption system shown in FIG. 11;
FIG. 14 is a plan view showing an example when the media data box shown in FIG. 1 is encrypted.
15 is a plan view showing another example when the media data box shown in FIG. 1 is encrypted. FIG.
FIG. 16 is a plan view showing still another example when the media data box shown in FIG. 1 is encrypted.
FIG. 17 is a block diagram schematically showing an encryption / decryption system according to an embodiment of the present invention.
FIG. 18 is a flowchart for explaining an encryption / decryption method in the encryption / decryption system shown in FIG. 17;
[Explanation of symbols]
11. . . File type box
12 . . Movie box
13. . . Media data box
14 . . Movie fragment box
15. . . Free space box
16. . . Skip box
20. . . box
21. . . Size field
22. . . Type field
23. . . Box data section
102. . . Audio encoder
104. . . Video encoder
105. . . File generator
106. . . Local memory
107. . . Encryption unit 107
202. . . Audio decoder
204. . . Video decoder
205. . . File analysis section
206. . . Local memory
207. . . Encryption / decryption unit

Claims (15)

第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及びチャンク単位で暗号化された前記符号化マルチメディア・データが格納されるデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記チャンクの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、
から構成されることを特徴とするマルチメディア・ファイルのデータ構造。
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box including a data field in which the encoded multimedia data encrypted in units of a type field and a chunk is stored ; and a second box for storing size information indicating a size of the second box A size field, a second type field for storing type information for identifying that the second box is a box in which information data related to the encoded multimedia data is stored, and the chunk in the data structure. Data for storing information data related to the multimedia data , including location information of A second box containing a data field;
A multimedia file data structure characterized by comprising:
第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及びサンプル単位で暗号化された前記符号化マルチメディア・データが格納されるデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記サンプルの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、
から構成されることを特徴とするマルチメディア・ファイルのデータ構造。
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box including a type field and a data field in which the encoded multimedia data encrypted in units of samples is stored ; and a second box storing size information indicating a size of the second box A size field, a second type field storing type information identifying that the second box is a box storing information data related to the encoded multimedia data , and the sample in the data structure Data for storing information data related to the multimedia data , including location information of A second box containing a data field;
A multimedia file data structure characterized by comprising:
前記第1或いは第2のボックスは、サイズ・フィールドに所定の値が設定されているとき、当該サイズ・フィールドが表現できるボックスのサイズよりも大きなサイズを表現するロングサイズ・フィールド含むことを特徴とする請求項1又は請求項2のデータ構造。 The first or second box includes a long size field that represents a size larger than a box size that can be represented by the size field when a predetermined value is set in the size field. The data structure of claim 1 or claim 2 . 前記サンプル単位の符号化データに対する暗号化は、所定のバイト単位で処理され、符号化単位が前記所定のバイト単位に満たない部分を含むとき、当該バイト単位に満たない部分は暗号化されないことを特徴とする請求項2のマルチメディア・ファイルのデータ構造。 The encryption for the encoded data in the sample unit is processed in a predetermined byte unit, and when the encoding unit includes a part less than the predetermined byte unit, the part less than the byte unit is not encrypted. 3. A multimedia file data structure according to claim 2, wherein: 前記チャンク単位の符号化データに対する暗号化は、所定のバイト単位で処理され、符号化データが前記所定のバイト単位に満たない部分を含むとき、当該バイト単位に満たない部分は暗号化されていないことを特徴とする請求項1記載のマルチメディア・ファイルのデータ構造。 The encryption for the encoded data in chunk units is processed in a predetermined byte unit, and when the encoded data includes a part that does not satisfy the predetermined byte unit, the part that does not satisfy the byte unit is not encrypted. 2. The data structure of a multimedia file according to claim 1, wherein: 符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する方法であって、
前記符号化マルチデータをチャンク毎に暗号化して前記第1のボックスのデータ・フィールドに格納し
前記ファイル・フォーマット内における前記チャンクの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納し、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納し、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納することを特徴とするフォーマット方法。
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a second box containing a second box data field, the file format comprising:
The encoded multi-data is encrypted for each chunk and stored in the data field of the first box ;
Storing information about the encoded multimedia data , including location information of the chunk in the file format, in a data field of a second box;
Storing size information indicating the sizes of the first and second boxes respectively in the first and second size fields;
The first box is coded multimedia effect that the media data box in which data is stored and the second box shown to type the effect that the box information data relating to the coded multimedia data is stored A method of formatting, wherein each of the information is stored in the first and second type fields.
符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する方法であって、
前記符号化マルチメディア・データをサンプル毎に暗号化して前記第1のボックスのデータ・フィールドに格納し
前記ファイル・フォーマット内における前記サンプルの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納し、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納し、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納することを特徴とするフォーマット方法。
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a second box containing a second box data field, the file format comprising:
The encoded multimedia data is encrypted sample by sample and stored in the data field of the first box ;
Storing information about the encoded multimedia data , including position information of the samples in the file format, in a data field of a second box;
Storing size information indicating the sizes of the first and second boxes respectively in the first and second size fields;
The first box is coded multimedia effect that the media data box in which data is stored and the second box shown to type the effect that the box information data relating to the coded multimedia data is stored A method of formatting, wherein each of the information is stored in the first and second type fields.
前記サンプル単位の符号化データに対する暗号化は、所定のバイト単位で処理し、符号化データが前記所定のバイト単位に満たない部分を含むとき、当該バイト単位に満たない部分に対しては暗号化処理しない特徴とする請求項7のフォーマット方法    Encryption on the sampled encoded data is processed in a predetermined byte unit, and when the encoded data includes a portion less than the predetermined byte unit, the portion less than the byte unit is encrypted. 8. The formatting method according to claim 7, wherein the formatting method is not processed. 前記チャンク単位の符号化データに対する暗号化は所定のバイト単位に処理し、符号化データが前記所定のバイト単位に満たない部分を含むとき、当該バイト単位に満たない部分は暗号化処理を行わないことを特徴とする請求項6のフォーマット方法。    Encryption on the encoded data in units of chunks is processed in a predetermined byte unit, and when the encoded data includes a portion that is less than the predetermined byte unit, the portion that is less than the byte unit is not encrypted. 7. The formatting method according to claim 6, wherein: 符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する装置であって、
前記符号化マルチメディア・データをチャンク毎に暗号化して前記第1のボックスのデータ・フィールドに格納する暗号化部と、
前記ファイル・フォーマット内における前記チャンクの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納する第1の格納部、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納する第2の格納部と、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納する第3の格納部と
を備えたことを特徴とするフォーマット化装置。
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a device for formatting into a file format having a second box including a data field of a second box,
An encryption unit for encrypting the encoded multimedia data for each chunk and storing the encrypted multimedia data in the data field of the first box ;
A first storage unit for storing information about the encoded multimedia data , including position information of the chunk in the file format, in a data field of a second box;
A second storage unit for storing size information indicating the sizes of the first and second boxes in the first and second size fields, respectively.
The first box is coded multimedia effect that the media data box in which data is stored and the second box shown to type the effect that the box information data relating to the coded multimedia data is stored And a third storage unit for storing each of the information in the first and second type fields.
符号化されたマルチメディア・データを、第1のサイズ・フィールド、第1のタイプ・フィールド、及び第1のボックスのデータ・フィールドを含む第1のボックスと、第2のサイズ・フィールド、第2のタイプ・フィールド、及び第2のボックスのデータ・フィールドを含む第2のボックスとを有するファイル・フォーマットにフォーマット化する装置であって、
前記符号化マルチメディア・データをサンプル毎に暗号化して前記第1のボックスのデータ・フィールドに格納する暗号化部と、
前記ファイル・フォーマット内における前記サンプルの位置情報を含む、前記符号化マルチメディア・データに関する情報を第2のボックスのデータ・フィールドに格納する第1の格納部、
前記第1および第2のボックスのサイズを示すサイズ情報それぞれを、前記第1および第2のサイズ・フィールドに格納する第2の格納部と、
当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨及び第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を示すタイプ情報の夫々を、前記第1および第2のタイプ・フィールドに格納する第3の格納部と
を備えたことを特徴とするフォーマット化装置。
The encoded multimedia data is divided into a first box including a first size field, a first type field, and a first box data field, and a second size field, second And a device for formatting into a file format having a second box including a data field of a second box,
An encryption unit for encrypting the encoded multimedia data for each sample and storing the encrypted multimedia data in the data field of the first box ;
A first storage for storing information about the encoded multimedia data , including position information of the samples in the file format, in a data field of a second box;
A second storage unit for storing size information indicating the sizes of the first and second boxes in the first and second size fields, respectively.
The first box is coded multimedia effect that the media data box in which data is stored and the second box shown to type the effect that the box information data relating to the coded multimedia data is stored And a third storage unit for storing each of the information in the first and second type fields.
前記サンプル単位に分割された符号化データに対する暗号化は所定のバイト単位で行い、符号化データが前記所定のバイト単位に満たない部分を含むとき、前記暗号化部は、前記バイト単位に満たない部分に暗号化処理を施さないことを特徴とする請求項11記載のフォーマット化装置。    Encryption on the encoded data divided into the sample units is performed in a predetermined byte unit, and when the encoded data includes a portion less than the predetermined byte unit, the encryption unit is less than the byte unit. 12. The formatting apparatus according to claim 11, wherein the portion is not subjected to encryption processing. 前記チャンク単位に分けられた符号化データに対する暗号化は所定のバイト単位で行い、符号化データが前記所定のバイト単位に満たない部分を含むとき、前記暗号化部は、前記バイト単位に満たない部分に暗号化処理を施さないことを特徴とする請求項10記載のフォーマット化装置。    Encryption on the encoded data divided into chunk units is performed in predetermined byte units, and when the encoded data includes a portion that does not satisfy the predetermined byte unit, the encryption unit does not satisfy the byte unit. 11. The formatting apparatus according to claim 10, wherein the part is not subjected to encryption processing. 第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及び前記符号化マルチメディア・データがチャンク毎に暗号化されて格納されるデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記チャンクの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、から構成されるマルチメディア・ファイルを復号化する方法であって、
前記第2のデータ・フィールドに格納されている前記チャンクの位置情報を読み出し、
前記チャンクの位置情報に基づいて前記第1のデータ・フィールドに格納されている前記チャンク内の暗号化マルチメディア・データを復号化することを特徴とする復号化方法。
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box that includes a type field and a data field in which the encoded multimedia data is encrypted and stored for each chunk ; and a second box that stores size information indicating a size of the second box A size field, a second type field for storing type information for identifying that the second box is a box in which information data related to the encoded multimedia data is stored, and the chunk in the data structure. Data for storing information data related to the multimedia data , including location information of A method of decrypting a multimedia file composed of a second box containing fields,
Reading the location information of the chunk stored in the second data field;
A decryption method, comprising: decrypting encrypted multimedia data in the chunk stored in the first data field based on position information of the chunk .
第1のボックスのサイズを示すサイズ情報を格納するための第1のサイズ・フィールド、当該第1のボックスが符号化マルチメディア・データが格納されるメディアデータボックスである旨を識別する第1のタイプ・フィールド及び前記符号化マルチメディア・データがサンプル毎に暗号化されて格納されるサンプルから構成されたデータ・フィールドを含む第1のボックスと、及び
第2のボックスのサイズを示すサイズ情報を格納する第2のサイズ・フィールド、当該第2のボックスが前記符号化マルチメディア・データに関する情報データが格納されたボ ックスである旨を識別するタイプ情報を格納する第2のタイプ・フィールド及び当該データ構造内における前記サンプルの位置情報を含む、前記マルチメディア・データに関する情報データを格納するデータ・フィールドを含む第2のボックスと、から構成されるマルチメディア・ファイルを復号化する方法であって、
前記第2のデータ・フィールドに格納されている前記サンプルの位置情報を読み出し、
前記サンプルの位置情報に基づいて前記第1のデータ・フィールドに格納されている前記サンプル内の暗号化マルチメディア・データを復号化することを特徴とする復号化方法。
A first size field for storing size information indicating the size of the first box; a first for identifying that the first box is a media data box in which encoded multimedia data is stored A first box including a data field composed of a type field and a sample in which the encoded multimedia data is encrypted and stored for each sample ; and size information indicating a size of the second box. second size field for storing a second type field and the of the second box stores type information for identifying the effect information data relating to the coded multimedia data is been box stores Information about the multimedia data , including location information of the samples in the data structure A method of decrypting a multimedia file comprising a second box containing a data field for storing data,
Reading the position information of the sample stored in the second data field;
A decryption method, comprising: decrypting encrypted multimedia data in the sample stored in the first data field based on position information of the sample .
JP2003092358A 2002-03-29 2003-03-28 Data structure of multimedia file, encryption method and apparatus thereof, and encryption and decryption method and apparatus thereof Expired - Lifetime JP3748437B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003092358A JP3748437B2 (en) 2002-03-29 2003-03-28 Data structure of multimedia file, encryption method and apparatus thereof, and encryption and decryption method and apparatus thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002097757 2002-03-29
JP2003092358A JP3748437B2 (en) 2002-03-29 2003-03-28 Data structure of multimedia file, encryption method and apparatus thereof, and encryption and decryption method and apparatus thereof

Publications (3)

Publication Number Publication Date
JP2004007533A JP2004007533A (en) 2004-01-08
JP2004007533A5 JP2004007533A5 (en) 2005-02-17
JP3748437B2 true JP3748437B2 (en) 2006-02-22

Family

ID=30446472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003092358A Expired - Lifetime JP3748437B2 (en) 2002-03-29 2003-03-28 Data structure of multimedia file, encryption method and apparatus thereof, and encryption and decryption method and apparatus thereof

Country Status (1)

Country Link
JP (1) JP3748437B2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060251246A1 (en) * 2003-03-07 2006-11-09 Yoshinori Matsui Encryption device, decryption device, and data reproduction device
JP4062230B2 (en) 2003-10-10 2008-03-19 ソニー株式会社 File recording / reproducing apparatus, file recording / reproducing method, file recording / reproducing method program, and recording medium recording the file recording / reproducing method program
KR100728548B1 (en) 2005-03-08 2007-06-14 주식회사 솔리데오시스템즈 Method of creating file being capble of basic information there-in and method of using the file
JP4264833B2 (en) 2005-06-17 2009-05-20 ソニー株式会社 Recording apparatus and method, program, and recording medium
WO2007043826A1 (en) 2005-10-13 2007-04-19 Lg Electronics Inc. Method and apparatus for encoding/decoding
US20090316884A1 (en) * 2006-04-07 2009-12-24 Makoto Fujiwara Data encryption method, encrypted data reproduction method, encrypted data production device, encrypted data reproduction device, and encrypted data structure
JP5139028B2 (en) 2007-10-24 2013-02-06 エイチジーエスティーネザーランドビーブイ Content data management system and method
JP2010181800A (en) * 2009-02-09 2010-08-19 Mitsubishi Electric Corp Data structure of encrypted media file, encrypted media creating method, encrypted media decoding method, encrypted media sectioning method, and encrypted media coupling method and device
JP2011008525A (en) * 2009-06-25 2011-01-13 Toshiba Corp Information processing apparatus and video processing method
JP5409214B2 (en) * 2009-09-07 2014-02-05 三菱電機株式会社 Media file repair method, media file creation method, media file playback method and apparatus
WO2012046437A1 (en) * 2010-10-08 2012-04-12 パナソニック株式会社 Recording medium and data copy method
KR101885852B1 (en) 2011-09-29 2018-08-08 삼성전자주식회사 Method and apparatus for transmitting and receiving content
US11290510B2 (en) 2012-11-29 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files
JP6181876B2 (en) * 2014-06-25 2017-08-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Method, apparatus and unmanned aerial vehicle for managing multimedia information
JPWO2021044465A1 (en) * 2019-09-02 2021-03-11
CN111813965B (en) * 2020-05-14 2024-06-21 北京嘀嘀无限科技发展有限公司 Encryption method and decryption method for multimedia file, storage medium and electronic device

Also Published As

Publication number Publication date
JP2004007533A (en) 2004-01-08

Similar Documents

Publication Publication Date Title
US8214655B2 (en) Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
JP4850075B2 (en) Data storage method, data reproduction method, data recording device, data reproduction device, and recording medium
JP3748437B2 (en) Data structure of multimedia file, encryption method and apparatus thereof, and encryption and decryption method and apparatus thereof
JP4271876B2 (en) Digital content generation method and related apparatus
KR100860201B1 (en) Storage media of integrated multimedia contents, its based multimedia service offer system and method
EP1764697A1 (en) Terminal device and copyright protection system
JP2006178930A (en) Right information management method and right information management device
JP2005242972A (en) Information processing apparatus, information recording medium, information processing method, and computer program
KR20070100755A (en) Method for preparing dvd-video formatted data, method for reconstructing dvd-video data and dvd-video data structure
WO2016027579A1 (en) Information processing apparatus, information recording medium, information processing method, and program
CN102474588A (en) Transmission controller, reception controller, transmission control method, reception control method and transmission control program
US20060251246A1 (en) Encryption device, decryption device, and data reproduction device
JP2019024229A (en) File generation method and file generation apparatus
JP2009100265A (en) Data processing apparatus, data processing method, data processing program, recording medium with the data processing program recorded thereon, and integrated circuit
WO2012169111A1 (en) Content data playback method and thumbnail image generation method
JP4589963B2 (en) Recording device
JP2015109131A (en) File generation method, reproduction method, file generation device, regeneration device and recording medium
WO2015083354A1 (en) File generation method, playback method, file generation device, playback device, and recording medium
US20070211901A1 (en) Apparatus, method, and computer program product for recording contents
WO2015105037A1 (en) File generation method, file generation device and recording medium
JP5409214B2 (en) Media file repair method, media file creation method, media file playback method and apparatus
KR100820971B1 (en) Method for recording and reproducing a decryption key in compression audio file
JP2004295091A (en) Encryption device, decryption device, and data reproduction device
JP4383721B2 (en) Demultiplexer
JP2004109177A (en) Content data recording medium, content data decoder, content data encryption device, method of decoding content data, and method of encrypting content data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051125

R151 Written notification of patent or utility model registration

Ref document number: 3748437

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131209

Year of fee payment: 8

EXPY Cancellation because of completion of term