‐本実施の形態の装置の基本概念‐
図1に、本発明の一実施の形態に係るシステム30のブロック図を示す。図1を参照して、このシステム30は、大容量のハードディスク(第1の記録媒体)を備え、小容量の記録媒体であるメモリカード44(第2の記録媒体)を装着可能で、メモリカード44に対するデータの書込及び読出が可能なデジタルテレビジョン受像機(以下「デジタルテレビ」と呼ぶ。)40と、メモリカード44が装着可能で、メモリカード44に記録されたAVデータを再生可能な機能を持つ携帯電話42とを含む。デジタルテレビ40は、通常はそのハードディスクに記録されたAVデータの再生を行なう。携帯電話42でAVデータを再生する必要が生じた場合のみ、このAVデータをメモリカード44に移動させる。携帯電話42での再生が不要になれば、再度AVデータをメモリカード44からデジタルテレビ40内のハードディスクに戻す。その際、フォーマット変換を行なっても画質の劣化は生じない。その方式については後述する。メモリカード44としては、例えばSDカードを用いる。
図2を参照して、このシステム30におけるAVデータの再生順序の例について説明する。図2(A)に示すように、デジタルテレビ40において、ハードディスクに格納されたAVデータ60の一部分66を再生した時点で再生を中断する。そして図2(B)に示すようにこのAVデータ60をAVデータ64にフォーマット変換してメモリカード44に移動させる。
このメモリカード44を携帯電話42に装着し、通常の再生開始操作を行なうと、本実施の形態の携帯電話42では、デジタルテレビ40により再生が終了した部分62に対応する部分66の終端(再生中断位置)から再生を開始する。
さらに再生を続け、図2(C)において斜線部68で示す部分の再生を行ない、そこで携帯電話42におけるAVデータ64の再生を中止したものとする。その後、このメモリカード44をデジタルテレビ40に装着し、AVデータ64を再度AVデータ60にフォーマット変換する。そしてデジタルテレビ40で再度このAVデータ60の再生を開始する。このとき、斜線部70で示される再生完了部分の終端(携帯電話42における再生中断位置)から再生が開始する。
AVデータ60の再生が斜線部72により示されるように全て完了すると、次回の再生はAVデータ60の先頭から行なわれる。
以下、こうしたデータの移動及び再生中断個所からの再生の再開を実現するためのシステムについて構成及び動作を説明する。
‐ファイル構成‐
図3に、デジタルテレビ40に含まれるハードディスク90中のファイル構成を模式的に示す。メモリカード44中の構成も基本的には同じである。図3を参照して、記録媒体90中に、AVデータ100、102、及び104が含まれるものとする。本実施の形態にかかる装置では、上記したような異なる再生装置間のAVデータの移動が行なわれても、再生中断個所を特定する情報を記録するために、AVデータに対応した再生管理情報からなる管理ファイル110、112をAVデータが記録されたものと同じ記録媒体90中に記録する。
図3に示す例では、管理ファイル110は、AVデータ100の管理ファイルであり、管理ファイル112はAVデータ102の管理ファイルである。管理ファイルは、本実施の形態では対応するAVデータのファイル名と、拡張子「smi」とを組合せた名称により特定される。この拡張子「smi」は、後述するようにこの管理ファイルがSMIL言語で記述された、再生管理情報という属性を持つものであることを示す。一般に拡張子はそのファイルの属性を表す。なお以下においては、簡単のために、拡張子を含まないファイル名と拡張子とをあわせて「ファイル名」と呼ぶことにする。例えばAVデータ100のファイル名が図3に示すように「102030.mpegであれば、その管理ファイル110のファイル名は「102030.smi」となる。なお、管理ファイルはSMIL言語に限らず、任意の言語を使用して記述することができる。また、管理ファイルは必ずしもテキスト形式のファイルでなくてもよい。
なお、本実施の形態では管理ファイルの拡張子を除くファイル名は、AVデータのファイル名の拡張子を除いた部分と同一である。一般的にはそのようにして管理ファイルの名称を定めるのが簡便である。しかし本発明はそうした実施の形態のみの限定されるわけではない。AVデータのファイル名から何らかの変換により管理ファイルのファイル名が定められるものであれば、管理ファイルのファイル名をどのような形で定めるようにしてもよい。
図3に示す例では、AVデータ104には対応の管理ファイルが存在していない。この場合、AVデータ104の再生は先頭から行なわれる。
図4に、例として管理ファイル110の内容を示す。図4を参照して、本実施の形態における管理ファイル110は、テキストファイルであって、SMIL(Synchronized Multimedia Integration Language)と呼ばれる言語で記述されている。SMIL言語は、動画などの再生を制御するためにW3Cで策定された言語である。
図4を参照して、管理ファイル110はタグ<smil>と</smil>とを持つ。これらはSMILで記載された言語の開始終わり終了をそれぞれ示す。
この二つのタグの間の領域内には、タグ<head>及び</head>で囲まれたヘッダ領域と、タグ<body>及び</body>で囲まれたボディ領域とがある。ヘッダ領域の記載で「meta name=」の後に引用符に囲まれて記載された部分「SH_RESUME_PLAY」は、このファイルがAVデータの、前回の再生時に再生が中断された位置を、ファイルの先頭を基準位置とする時間差で表す再生中断位置(再生開始位置)を含む再生管理情報であることを示すキーワードであり、このファイルの機能を特定する機能特定情報である。このキーワードを検出することで、この管理ファイル110がAVデータの再生中断位置を示すという機能を持つことが分かる。
なお、SMIL言語の書類の解釈を行なう場合、解釈する装置は、書類中で知らないキーワードに遭遇すると、そのキーワードを含む情報の全体は無視され何も実行されない。したがって、仮にこの管理ファイルを何らかの装置(SMIL解釈が可能な装置)で実行しようとしても、何も行なわれない。すなわち、管理ファイル内にこのキーワードが含まれている場合には再生中断箇所からの再生が能動化されるが、含まれていない場合には再生中断箇所からの再生は行なわれない。
ヘッダ部分の「content=」に続いて引用符で囲まれた部分は、このファイルの内容により特定される処理を実行するプログラムとして想定されているもののバージョン番号である。このファイルを解釈するプログラムは、このバージョン番号と自己のバージョン番号とを比較することにより、この管理ファイルに記載されている処理を実行できるか否かを判定する。例えば自己のバージョン番号より古いバージョン番号の管理ファイルに記載された内容は基本的に理解して実行することができる。また自己のバージョン番号より新しいバージョン番号の管理ファイルは基本的に無視する。そのほか、使用している言語とそのバージョン番号との組合せによって、実行できるか否かを判定することも考えられる。
ボディ部分のタグ<video>は、この管理ファイルにより再生中断位置(再生開始位置)が管理されているAVデータ及び再生中断位置を特定するためのものである。具体的には、「src=」の後に引用符で囲んで記載されているファイル名が、AVデータのファイル名であり、「begin=」の後に引用符で囲んで記載されている内容が、当該AVデータの再生中断位置(再生開始位置)をAVデータの先頭からの相対時間で示したものである。このファイル名が、再生を指示されたデータのファイル名と拡張子まで含めて一致すれば再生中断箇所からの再生が能動化されるが、一致しない場合にはデータの先頭からの再生が能動化される。
図3に示す例では、管理ファイル110が管理しているAVデータの名称が「102030.mpeg2」であり、次に再生するときには、先頭から100秒後の位置から再生を開始すべきことが分かる。なお、SMIL言語の仕様によれば、実際の開始位置の記載方法は図4に示すものとは異なるが、ここでは理解しやすいよう、上記したような記述方法を採用して説明している。
‐データ操作の概要‐
図5は、本実施の形態に係るデジタルテレビ40において、ハードディスクに記録されているAVデータをどのように操作するかを模式的に示す図である。図5を参照して、デジタルテレビ40に記録されているAVデータがデータの移動等に伴ってどのように操作されるか、そのために必要な機構は何か、について説明する。
デジタルテレビ40におけるAVデータの操作には、再生を除き主として3つの操作がある。第1は、購入した記録媒体(例えばDVD)からデジタルテレビ40のハードディスク(以下これを「第1の媒体」と呼ぶ。)へのコピー(コピーワンスでは、コピーは一度のみ許される。)である。第2は、第1の媒体から、記録容量の小さな第2の媒体(メモリカード等)へのAVデータの移動である。第3は、第2の媒体に移動されたデータを再度第1の媒体に戻す際の移動である。以下、そのために必要な機構について順に説明する。
図5を参照して、第1の媒体のデータ操作機構130は、第1の媒体の媒体識別情報140を用いて、DVD等からこの第1の媒体154にコピーすべきデータ132を暗号化して第1の媒体データ154を生成するエンコーダ142を含む。
データ操作機構130はさらに、第1の媒体の媒体識別情報140により暗号化されている第1の媒体データ154を第2の媒体に移動させる際に、第1の媒体の媒体識別情報140で復号化するためのデコーダ156と、第1の媒体の媒体識別情報140で暗号化されている第1の媒体データ154をさらに第2の媒体の媒体識別情報144及び第2の媒体に移動されたデータ142から生成されるハッシュに基づいて暗号化するためのエンコーダ148とを含む。エンコーダ148により暗号化されたAVデータは、再び第1の媒体に記録される。この際、元のAVデータは暗号化されたデータで置換される。
また、デコーダ156によりデコードされたAVデータは、第2の媒体に格納されるに先立って、第2の媒体の媒体識別情報を元に作成されたキーを用いて暗号化される。しかしそのための機構は第1の媒体のためのデータ操作機構130の一部ではないので、図5には示していない。
データ操作機構130はさらに、第2の媒体に記録されていたAVデータ(第2の媒体データ146)を第1の媒体に戻す際のために準備される機能モジュールとして、第1の媒体154に記録されている(第1の媒体の媒体識別情報140により暗号化され、さらに第2の媒体の媒体識別情報144及び第2の媒体データ146により暗号化されている)第1の媒体データ154を、第2の媒体の媒体識別情報144及び第2の媒体データ146を用いてデコードすることにより、第1の媒体の媒体識別情報140のみによって暗号化されたAVデータを復元するためのデコーダ158を含む。
以上をまとめると以下のようになる。
(1)DVD等から第1の媒体154にデータをコピーする際には、エンコーダ142の出力を第1の媒体154に格納する。
(2)第1の媒体154に格納されたAVデータを第2の媒体に移動させる際には、デコーダ156の出力134を第2の媒体に与え、エンコーダ148の出力を再び第1の媒体154に格納する。
(3)第2の媒体に記録されたAVデータを第1の媒体154に戻す際には、デコーダ158の出力160を第1の媒体154に格納する。
したがってデータ操作機構130は、上記した三つの動作モードを指定する制御信号150に応答して、エンコーダ142、エンコーダ148、及びデコーダ158の出力のうち適切なものを選択して第1の媒体154に与えるためのセレクタ152をさらに含む。
図5に示すデータ操作機構130を使用して第1の媒体から第2の媒体にデータを移動させる操作(上記(2)の操作に対応)について、以下により具体的に示す。
図6を参照して、第1の媒体180に、第1の媒体の識別情報184により暗号化されたAVデータ182が記録されており、これを第2の媒体190に移動させる場合を考える。この場合、AVデータ182は一旦第1の媒体の識別情報184で復号化される。さらにこのAVデータは、第2の媒体の識別情報194により暗号化されて第2の媒体190の領域192にAVデータ202として格納される。
このデータの移動と同時に、第1の媒体180のAVデータ182は、前述したとおり、第2の媒体の識別情報194と、暗号化されたAVデータ202から得られるハッシュ値とにより暗号化され、再び第1の媒体180に二重暗号化されたAVデータ200として格納される。
第1の媒体180のAVデータ182からAVデータ200を生成する暗号化は、キーとして(1)媒体固有の情報と、(2)第2の媒体190上のAVデータ202固有の情報とを必要とする。(1)の媒体固有の情報は、媒体それぞれに異なるものが付与される媒体の識別情報である。(2)のAVデータ202固有の情報は、前述のようにコンテンツデータの全体に演算を加えて得られるハッシュ値であることが一般的であるが、コンテンツを特定することができるような情報であれば、ハッシュ値でなくてもよい。例えばコンテンツデータの特定部分のハッシュ値、コンテンツデータ内の互いに離れた複数個の領域の組合せから得られる値でもよい。さらに、コンテンツデータのデータ量又はファイル名等の情報を加えてもよい。
ハッシュ値の算出において128ビットのハッシュ関数を用いると、3.4×1038のの組合せがあり、事実上十分な保護が可能である。さらに厳密にデータ保護を行なうためには、キーにハッシュ値を用いる方法以外に、上の例で言えばAVデータ202の一部又は全部を第1の媒体180に記憶し、照合することも考えられる。こうすることで、データの同一性の判定の制度をより高くすることができる。
暗号化はAVデータの全部に対して行なう必要はない。例えば5秒に一度、1メガバイトのデータにつき一箇所等、特定の部分のみを暗号化してもよい。こうすることで、正規の再生でない場合には実質的に映像を満足な形で再生することを不可能にしながら、正規の再生時に必要となる復号のための時間を短くできる。MPEG2のような時間方向に圧縮されたデータの場合には、フレーム内符号化だけ行なわれたデータ(Iフレーム)の全部又は一部を選択的に暗号化することで、さらに効率的な暗号化が可能である。
この移動操作の結果、第2の媒体のAVデータ202は、第2の媒体の識別情報194のみが存在すれば復号化することができる。したがって、この第2の媒体190を別の再生装置(例えば図1に示す携帯電話42)に装着すれば、AVデータ202を復号化し再生することができる。
一方、第1の媒体180の二重暗号化されたAVデータ200は、第2の媒体の識別情報194及びAVデータ202がなければ、すなわち第2の媒体190がなければ復号化することはできない。また、後述するように第1の媒体180から第2の媒体190へのデータの移動と、二重暗号化されたAVデータ200の生成とにおいては、一度に二つの再生可能なAVデータが存在しないような制御がなされる。その結果、データの「移動」が実質的に実現できる。
さらに、第2の媒体190のAVデータ202を第1の媒体180に再度戻す際の操作について図7を参照して説明する。この場合、第1の媒体180と第2の媒体190とは同じ装置(例えば図1に示すデジタルテレビ40)に装着されるので、第1の媒体180の二重暗号化されたAVデータ200を復号化することが可能であることに注意すべきである。
まず、第1の媒体180の二重暗号化されたAVデータ200を、第2の媒体の識別情報194とAVデータ202のハッシュ値とにより復号化する(220)。復号化したAVデータ182を第1の媒体180に格納する。このAVデータ182は第1の媒体の識別情報184のみで暗号化されているから、第1の媒体の識別情報184を用いて復号化し、再生することができる。
この復号化と同時に、第2の媒体190のAVデータ202を削除する(222)。この削除により、第2の媒体190のうち、AVデータ202が記録されていた領域192は空になる。
こうして、第1の媒体180には再び再生可能なAVデータ182が格納されることになり、第2の媒体190からはこのAVデータが削除される。したがって、著作権保護の規格に従いながら、データの移動を行なうことが可能である。またこのとき、劣化したデータしか残らないという問題は生じない。
さらに、本実施の形態のシステムでは、再生中断位置からの再生再開を可能にするために、AVデータと同時に管理ファイルの移動も行なわれる。その手順について図8を参照して説明する。図8の左欄には第1の媒体180に記録される管理ファイルの内容を示し、図8の右欄には第2の媒体190に記録される管理ファイルの内容を示す。
まず、第1の媒体180に管理ファイル250が記録されているものとする。その指し示すAVデータは「304050.mpeg2」であり、再生中断位置は「先頭から100秒後」である。
元のAVデータを第2の媒体190に移動させるのに伴い、この管理ファイルもそのまま第2の媒体190にコピーされ、管理ファイル260として第2の媒体190に記録される。またこの移動に伴い、第1の媒体180のAVデータは二重に暗号化されるが、管理ファイル250にはこの二重の暗号化に伴う処理252が施される。より具体的には、管理ファイル250は、管理ファイル250の内容を書換えた管理ファイル254に置換される。本実施の形態では、二重の暗号化に伴い、この管理ファイルにより管理する、「src=」で指定されるAVデータの名称の拡張子を「encrypted」に書き換える。後述するように、AVデータを指定して再生が指示された場合、指定されたAVデータに対応する管理ファイルの中の、「src=」で指定されたファイル名と同じ名称のAVデータが検索され再生される。処理252によりこの部分のファイル名の拡張子を変更しているので、この名称をもつAVデータは見つからないことになる。したがって、仮に二重に暗号化されたファイルを指定して再生するようユーザが指示したとしても、再生が実行されることはない。
上記したように第2の媒体190に移動されたAVデータの再生をユーザが実行し、中途で中断したものとする(262)。このとき、第2の媒体190のAVを再生している装置は、管理ファイル260の中の「begin=」で示される再生中断位置の内容を、新たな再生中断位置(例えば図8に示すように「200s」)により書換え、新たな管理ファイル266とする(ファイル名は同じ)。
第2の媒体190から第1の媒体180にAVデータが戻される際には、第2の媒体190の管理ファイル266で第1の媒体180の管理ファイル254を置換し、新たな管理ファイル256とする。この管理ファイル256を使用することにより、第1の媒体180のAVデータを次回再生するときには、管理ファイル256の「begin=」で指定された位置、すなわち先頭から200秒の位置から再生が再開される。
‐装置の構成‐
図9に、デジタルテレビ40のうち、本実施の携帯に関連するデータ再生・移動管理部300のブロック図を示す。図9を参照して、このデータ再生・移動管理部300は、ハードディスク等、大容量の記憶装置314と、着脱可能な小容量の第2の記録媒体310と、大容量の記憶装置314及び第2の記録媒体310を制御し、上記したAVデータの移動処理、暗号化処理、及び復号化処理、並びに管理ファイルの移動(コピー)処理、更新処理を行なうためのデータ操作部312と、データ操作部312に含まれる各機能モジュールを管理して、後述するようなシーケンスにしたがって動作させ、前述したようなAVデータの移動、暗号化、及び復号化処理、並びに管理ファイルの移動処理を実行させる管理部316とを含む。なお、図9には、例えばDVD等から大容量の記憶装置314にAVデータをコピーする際の機構については特に図示していないが、それらは図5を参照することにより、容易に実現可能である。
大容量の記憶装置314は、管理ファイルからなる再生情報を記録するための再生情報記録部380と、AVデータを記録するためのAVデータ記録部382と、大容量の記憶装置314の識別情報を記録するための識別情報記録部384とを含む。
第2の記録媒体310は、管理ファイルからなる再生情報を記録するための再生情報記録部330と、AVデータを記録するためのAVデータ記録部332と、第2の記録媒体310の識別情報を記録するための識別情報記録部334とを含む。
データ操作部312は、AVデータ記録部382に記録されたAVデータを記録部384に記録された識別情報により復号化するための復号化部356と、復号化部356により復号化されたAVデータのフォーマットを、より少ないデータ量となる別のフォーマットに変換するためのフォーマット変換部358と、フォーマット変換部358の出力を識別情報記録部334に記録された第2の記録媒体310の識別情報で暗号化し、AVデータ記録部332に記録させるための第1の暗号化部360とを含む。
データ操作部312はさらに、暗号化部360により暗号化されたAVデータのハッシュ値と、識別情報記録部334に記録された第2の記録媒体310の識別情報と、識別情報記録部384に記録された大容量の記憶装置314の識別情報とによってデータ記録部382に記録されたAVデータを暗号化し、データ記録部382に記録されていたAVデータと置換するための第2の暗号化部362と、通常の再生時にはデータ記録部382に記録されたAVデータを識別情報記録部384に記録された識別情報で復号化し、第2の記録媒体310から大容量の記憶装置314へのAVデータの移動処理では、データ記録部382に記録された二重に暗号化されたAVデータをAVデータ記録部332のハッシュ値、及び識別情報記録部334に記録された識別情報を元に作成されたキーを用いて復号化し、データ記録部382に格納するための復号化部356とを含む。
データ操作部312はさらに、復号化部356により復号化されたAVデータを再生するための再生部354と、再生部354による再生が途中で中断された場合には当該AVデータに対応する管理ファイルを作成して再生情報記録部380に記録させ、次回の再生の開始時には再生情報記録部380に記録された管理ファイルの情報にしたがい、再生位置を決めて再生するよう再生部354を制御するための再生情報制御部352と、大容量の記憶装置314と第2の記録媒体310との間でのAVデータの移動に伴う管理ファイルの更新を行なうための再生情報更新部350とを含む。
上記したデータ操作部312の各モジュールは、管理部316の管理のもと、指定された動作モードにしたがって、前記したような処理を実行する。
図10に、図9のデータ再生・移動管理部300の、データ移動・コピーに伴う動作を実現するためのアルゴリズムを示す。データ再生・移動管理部300をコンピュータハードウェア及びその上で実行されるソフトウェアとにより実現する場合には、このアルゴリズムを実行するようコンピュータハードウェアを制御するプログラムを用意すればよい。なお、データ再生・移動管理部300はデータの移動だけではなく、例えばコピーワンスなどのようにコピーが可能な場合にはコピーをも行なう機能、及びその際のコピー制御情報の生成をも行なう機能を持つ。以下の説明では、データ再生・移動管理部300は、データのコピーが指定されたとき、コピー元のデータに付随するコピー制御情報によって適切な動作を行なうものとする。
図10を参照して、まずステップ400において、コピー元のコピー制御情報を確認する。その内容により以下の制御の分岐を行なう。
まず、コピー制御情報が「コピーフリー」又は制御情報なしの場合には制御はステップ410に、「コピーワンス」の場合にはステップ420に、「コピーネバー」の場合にはステップ430に、それぞれ制御が進む。
コピー制御情報が「コピーフリー」又は制御情報なしの場合、ステップ410においてデータをコピー先の記録媒体にコピーする。続いてステップ412において、コピーされたデータのコピー制御情報として「コピーフリー」をセットし、処理を終了する。
コピー制御情報が「コピーワンス」の場合、ステップ420においてデータをコピー先の記録媒体にコピーする。続いてステップ422において、コピーされたデータのコピー制御情報として「コピーネバー」をセットし、処理を終了する。
コピー制御情報が「コピーネバー」の場合には、データのコピーは許されない。この場合、別の媒体へのコピーは、コピー先の媒体がコピープロテクト可能なものであればデータを移動(コピー先にデータをコピーするとともに、コピー元のデータを削除)する。さもなければコピー(移動)そのものを行なわない。
そのため、まずステップ430で移動先の媒体がコピープロテクト可能なものか否かを判定する。この判定については、媒体の属性を調べる。属性を調べ、コピープロテクトが可能であるという情報があればコピープロテクト可能とし、プロテクト不可という情報がある場合、又はそもそもコピープロテクトに関する情報が読出せない媒体についてはコピープロテクトが不可能であるものと判定する。コピー先の媒体がコピープロテクト可能であれば制御はステップ432に進み、さもなければ制御はステップ434に進む。
ステップ432ではデータ移動処理が実行されるが、その内容については図11を参照して後述する。ステップ434では、コピープロテクトができないので、データのコピーも移動も許されない旨の表示を行なって処理を終了する。
図11は、図10のステップ432で実行されるデータ移動処理の詳細を示す。なお、以下の説明では移動(コピー)元の媒体を媒体A,移動(コピー)先の媒体を媒体Bとする。また、データを各媒体に書込む際、及びデータを各媒体から読み出す際には、それぞれその媒体の識別情報による暗号化及び復号化が実行されるが、それらについては図11には図を簡単にするために示していない。
図11を参照して、まずステップ460において、指定されたコピーが媒体Bから媒体Aへのコピーであるか否かを判定する。媒体Bから媒体Aへのコピーの場合には制御はステップ476に進み、さもなければ制御はステップ462に進む。
ステップ462では、媒体Aから媒体Bへのコピーにより、指定されたAVデータ等のコンテンツが劣化するか否かを判定する。すなわち、媒体Aから媒体Bへの移動の際、データ量を小さくするためにフォーマット変換が必要か否かを判定する。フォーマット変換が必要な場合には制御はステップ464に、不要の場合には制御はステップ500に、それぞれ移動する。なお、例えば媒体Aに存在する2時間のMPEG2の映画のうち、ダイジェストの30分に相当する分を同じフォーマットで媒体Bに移動させる場合でも、媒体Aの2時間のデータを消去する場合は、データの劣化に相当する。
ステップ500では、フォーマット変換を行なわず、たんにコンテンツの移動を行なう。この移動の際にも、再生可能なコンテンツが媒体Aと媒体Bとの両方に同時に存在する時期がないような手順を用いる。また、当然媒体Aからの読み出し時にはコンテンツの復号化が実行され、媒体Bへの書込時にはコンテンツの暗号化が実行される。続いてステップ502で、媒体Aに記録されていた、移動されたファイルに対応する再生情報(管理ファイル)を媒体Bに移動し、処理を終了する。
ステップ462でフォーマット変換が必要と判定された場合には、まずステップ464でコンテンツを媒体Bに部分コピーする。この際、コンテンツデータの復号化、フォーマット変換、及び媒体Bの識別情報による暗号化を行なう。また、暗号化自体はコンテンツのデータの全体に対して行なってメモリ上に保持しておき、その一部を媒体Bに書込む。
続いてステップ466で、媒体Aのコンテンツ(元コンテンツ)を媒体Bの識別情報を元に作成されたキーを用いて暗号化する。この処理により、少なくとも媒体Bとともにでなければ媒体Aの元コンテンツの復号化は実行できなくなる。
さらにステップ468において、当該コンテンツが別の媒体Bに移動されたため、そのコンテンツを媒体Aから再生しようとする場合には媒体Bが必要であることをユーザに知らせるための処理(復元補助用処理)を実行する。ここでは、どのコンテンツを、いつ、どの媒体(媒体B)に移動したかを示す情報を媒体Aに記録し、ユーザに表示することが望ましい。
さらにステップ470では、移動先の媒体Bへのコンテンツの書込(暗号化を含む。)を完結するための処理が実行される。ここで実行されるのは、媒体Bに移動されたコンテンツを再生することができるようにする処理である。例えば、再生のためのキーとなるデータの媒体Bへの書込み、ファイルの拡張子又はファイル名の変更等の処理が考えられる。この処理が終了することにより、媒体Bを用いたこのコンテンツの再生が可能になる。
ステップ471では、媒体Bに移動したコンテンツのハッシュ値に基づき、媒体Aの元コンテンツの再暗号化が実行される。ステップ472では、移動されたコンテンツに対応する再生情報(管理ファイル)があれば、その内容を変換する。その例については図8を参照されたい。また、フォーマットが変更されるので、コンテンツデータのファイル名が変わるため、管理ファイル内の内容も変更する必要がある。ステップ474においてこのように変換された管理ファイルを媒体Bにコピーして処理を終了する。
一方、ステップ476では、媒体Aに、媒体Bからの移動が指定されたコンテンツに対応する、二重に暗号化されたコンテンツが存在するか否かを判定する。判定結果がYESであれば制御はステップ482に、さもなければ制御はステップ478に進む。
ステップ478では、媒体Bから媒体Aへのコンテンツの移動が実行される。ここでも、再生可能なコンテンツデータが同時に媒体A及び媒体Bの双方に存在しないような手順を用いる。また、媒体Bからのコンテンツの読出時の復号化、及び媒体Aのコンテンツの書込時の暗号化も実行される。
ステップ479では、再生情報が媒体Bから媒体Aに移動され、処理を終了する。
一方、ステップ482では、媒体Aに保存されていた、二重に暗号化されたコンテンツデータが、媒体Bの識別情報、及び媒体Bのコンテンツデータのハッシュ値に基づき復号化される。またステップ482では媒体Bのコンテンツが削除される。ただしここでも再生可能なコンテンツデータが媒体A、Bの双方に同時に存在することがないような手順が実行される。
ステップ484において、媒体Aのコンテンツの完結処理を実行する。この処理はステップ470での処理と同様であるが、この処理の結果、媒体Aを用いたコンテンツの再生が可能となる。
ステップ486では、媒体Aに再生情報が存在しているか否かを判定する。存在していれば制御はステップ492に、存在していなければ制御はステップ488に、それぞれ進む。
ステップ492では、媒体Aに格納されていた当該コンテンツデータの更新補助情報の内容を、媒体Bの再生情報(もし存在していれば)の内容にあわせて更新する。
一方ステップ488では、媒体Bに存在していた再生情報を、コンテンツのデータフォーマットの変更にあうように変換する。そしてステップ490で、このように変換された再生情報を媒体Aにコピーし処理を終了する。
図12に、図1に示す携帯電話42のうち、コンテンツの移動に特に関連する機能部分(コンテンツ移動管理部530と呼ぶ。)をブロック図形式で示す。図12を参照してコンテンツ移動管理部530は、着脱可能な記録媒体552(図9に示す第2の記録媒体310と同様)に格納されたコンテンツデータを再生したり,他機器との間で移動をしたりする機能を持つ。
記録媒体552は、コンテンツであるAVデータを記録するためのAVデータ記録部560と、AVデータ記録部560に記録されたAVデータの再生情報(管理ファイル)を記録するための再生情報記録部562とを含む。
コンテンツ移動管理部530は、AVデータ記録部560に記録されたAVデータのうちのいずれかをユーザに選択させるためのAVデータ選択部540と、AVデータ選択部540により選択されたAVデータに対応する再生情報を再生情報記録部562の中から選択するための対応再生情報選択部542と、AVデータ選択部542により選択された再生情報が、AVデータ選択部540により選択されたAVデータの再生について有効なものか否かを判定するための再生情報有効性判定部544とを含む。
コンテンツ移動管理部530はさらに、AVデータ選択部540により指定されたAVデータをAVデータ記録部560から読出して再生するための再生部548と、再生情報有効性判定部544により再生情報が有効と判定されると、当該再生情報の内容にしたがい、再生部548によるAVデータの再生開始位置を制御するための再生情報制御部546と、再生部548による再生の終了時に、再生がどこで中断又は終了したかを判定し、判定結果にしたがって再生情報を作成(終了の場合には削除)して再生情報記録部562中の再生情報を更新するための再生情報作成部550とを含む。
図13は、コンテンツ移動管理部530によるAVデータの再生を実現するためのアルゴリズムをフローチャート形式で示す。図13を参照して、まずステップ590において、再生対象となるAVデータを選択する。ステップ592で、指定されたAVデータに対応する再生情報が存在しているか否かを判定する。存在していない場合には制御はステップ600に進み、選択されたデータの先頭から再生を開始する。一方、存在している場合には制御はステップ594に進む。
ステップ594では、選択されたAVデータに対応する再生情報が有効なものか否かを、「meta name=」(図4参照)の後に記載されたキーワードをチェックすることで判定する。有効であれば制御はステップ594に進む。無効であれば制御はステップ600に進み、AVデータの先頭から再生を実行する。
ステップ596では、ステップ592で選択された再生情報の内容により特定されるAVデータと、ステップ590で選択されたAVデータとが正しく対応しているか否かを判定する。ステップ592では選択されたAVデータのファイル名から、同じファイル名で拡張子が「smi」の再生情報を選択するが、当該再生情報が、最初に選択されたAVデータとはフォーマットの異なるAVデータ(選択されたAVデータとファイル名は同じで拡張子が別のもの)に対応するものである可能性がある。そこで、このステップで再生情報の内容を調べ、再生情報の中で「src=」で指定されたファイル名が、最初に選択されたAVデータのファイル名と一致しているか否かを判定する。
ステップ596におけるチェックの結果、再生情報が最初に選択されたAVデータと正しく対応している場合には、ステップ598で再生情報により指定された再生中断位置(再生開始位置)までシークし、ステップ600で当該再生中断位置(再生開始位置)から再生を開始する。再生情報がAVデータと正しく対応していない場合には、ステップ600で、選択されたAVデータの先頭から再生を開始する。
ステップ600で実行される再生処理の詳細について、図14にフローチャート形式で示す。図13を参照して、まずステップ620において、所定量だけAVデータを再生する。続くステップ622で、ユーザにより再生停止の操作があったか否かを判定する。操作がなければ制御はステップ624に進む。再生停止の操作があれば制御はステップ628に進む。
ステップ628では、再生停止があった位置を、AVデータの先頭からの時間差で表す再生情報を作成し、当該AVデータが記録されている記録媒体に記録し処理を終了する。
一方、ステップ624では、再生の結果、再生位置がAVデータの最後に到達したか否かを判定する。AVデータの最後に到達していれば制御はステップ626に進む。さもなければ制御はステップ620に戻り、AVデータの再生を繰返す。
ステップ626では、再生が完了したAVデータに対応する再生情報を記録媒体から消去し処理を終了する。この結果、次にこのAVデータを再生するときには、図1のステップ592での判定により制御は直ちにステップ600に進み、AVデータの先頭から再生が開始されることになる。
‐動作‐
以下、本システムの動作を説明する。動作の態様は、データにより様々であるが、以下では典型的なケースについて説明する。
まず、管理ファイルを用いたAVデータの再生動作について説明する。図15を参照して、図12に示す記録媒体552のAVデータ記録部560に、図15に示すように3つのAVデータファイルが格納されており、また再生補助情報記録部562には二つの管理ファイル662及び664が格納されているものとする。
ユーザが、映像ファイルの再生を指示した場合、図12のAVデータ記録部560に記録されたAVデータのうち、映像ファイルである二つのファイル642のみが選択対象となり、表示画面650にそれぞれのファイルを特定する情報が表示される。ユーザが、図12に示すAVデータ選択部540を用いてこのうちAVデータ652(102030.mpeg)を選択したものとする。対応再生補助情報選択部542は、選択されたAVデータ652(102030.mpeg)の拡張子を「smi」に変えた「102030.smi」という名称680を持つ管理ファイルを再生補助情報記録部562の中から検索する。図15に示される例では、管理ファイル662が選択される。
続いて、再生補助情報有効性判定部544が、管理ファイル662の中の「meta name=」により示されるキーワードが正しいキーワードか否かを判定する。キーワードが正しい場合、再生補助情報有効性判定部544はさらに管理ファイル662中の「src=」で示されるファイル名が、拡張子も含めてAVデータ選択部540により選択されたAVデータのファイル名と一致するか否かを判定する。図15に示す例では、管理ファイル662の内容により示されるファイル名と、選択されたファイルのファイル名652とがともに「102030.mpeg」で一致している。その結果、再生情報制御部546が再生部548を制御し、管理ファイル662によって指定された再生中断位置(再生開始位置)、すなわち先頭から100秒の位置まで再生位置をシークした後,再生を開始する。
一方、図16に示す例では、ファイル654(203040.mpeg)が選択されたものとする。すると、対応再生補助情報選択部542は、拡張子を「smi」に変えた「203040.smiというファイル名称680を持つ管理ファイルを再生補助情報記録部562の中で検索する。図16に示す例では、該当するファイル664が存在する。
再生補助情報有効性判定部544によるキーワードの判定の結果、キーワードが正しかったものとし、次に再生補助情報有効性判定部544は管理ファイル664の中で「src=」で指定されるファイル名が、ファイル654の名称と一致するか否かを判定する。図16に示す例では、管理ファイル664の「src=」で指定されるファイル名は「203040.mp3」、一方、選択されたファイル654の名称は「203040.mpeg」であり、両者は一致しない。この場合、管理ファイルは無視される。再生情報制御部546は、再生部548を制御して、選択されたAVデータ654(203040.mpeg)の先頭から再生を開始する。
図17を参照して、AVデータの移動時の本システムの動作について説明する。以下の説明では、第1の記録媒体の容量が大きいのに対して、第2の記録媒体の容量が小さく、そのため、第1の記録媒体から第2の記録媒体にAVデータを移動させるときにはフォーマット変換を行なわなければならないものとする。
まず、第1の記録媒体700に記録されたAVデータ702(304050.mpeg2)を第2の記録媒体704に移動させることが指示されたものとする。このとき、前記した手順にしたがって、選択されたAVデータ702のフォーマットをmpeg2からmpeg4に変換し、第2の記録媒体704にAVデータ712として格納する。また、第1の記録媒体700に格納されていた、対応の管理ファイル703もフォーマット変換にあわせて内容を変換した上、第2の記録媒体704に管理ファイル714としてコピーする。管理ファイルの名称は第1の記録媒体700のものと同一である。
一方第1の記録媒体700では、指定されたAVデータ702(第1の記録媒体の識別情報により暗号化済み)が、さらに第2の記録媒体704の識別情報及びAVデータ712のハッシュ値により暗号化され、暗号化済みAVデータ710に変換されている。ファイル名称の拡張子も「encrypted」に変換されている。
その後、第2の記録媒体704から第1の記録媒体に当該AVデータ712(304050.mpeg4)を移動させる処理が行なわれるときには、第1の記録媒体のファイル710が第2の記録媒体704の識別情報及びAVデータ712のハッシュ値により復号化され、AVデータ702が復元される。また、第2の記録媒体704の管理ファイル714の内容にしたがって、第1の記録媒体700の管理ファイル720の内容が更新される。
以上の手順により、コピー保護機能に従ってAVデータの移動を行ないながら、異なる装置における再生中断個所から、別の装置での再生を開始することが可能となる。
なお、一旦AVデータを別記録媒体に移動させると、元のAVデータは、移動先の記録媒体がないと再生できない。一方、元の記録媒体に対し再生動作を行なおうとする場合には、移動されてしまったデータも含めて一覧形式でユーザに対し提示したほうが分かりやすい。そこでその場合には、図18に示すように、表示画面750に、他の記録媒体に移動したAVデータのファイル名760(またはAVデータのタイトルなど)を、直ちに表示可能な他のコンテンツのファイル名等とともに一覧形式で表示するとともに、移動先の記録媒体が装着されないと再生不可能であることを示すマーク762も表示する。
この表示により、ファイル760が直ちには再生可能ではないことがユーザに通知できる。もちろん、データの表示形式はこれに限らず、他に種々の表示形式を用いることができる。例えばそのままでは再生不可能なデータについては選択不可能な表示形式(他の表示より薄い色を用いたいわゆる「グレーアウト」された表示形式)としたり、ファイル名の表示の上に抹消を示す棒線をひいたりすることが考えられる。
仮にユーザがそのように再生可能でないAVデータを選択した場合には、図18の下段の画面770により示すように、どの記録媒体を装着すればよいかを具体的にユーザに対し指示するようにすればよい。指定された記録媒体をユーザが再生装置に装着し、「戻る」ボタン780を押すことにより、表示は再び画面750に戻る。この場合に、マーク762を消去するようにしてもよい。
なお、AVデータなどのコンテンツの再生の場合、通常は、コンテンツを元の記録媒体から復元し、移動先の記録媒体からは削除して(コンテンツを移動先の記録媒体から元の記録媒体に移動させて)から再生する。しかし、コンテンツを元の記録媒体から復元せずに(コンテンツを移動先の記録媒体から元の記録媒体に移動させることなく)、移動先での(劣化した)フォーマットのまま再生することも可能である。したがって、コンテンツを移動させてから再生するか、移動させずに再生するかを指定できるようにしてもよい。特にフォーマットの再変換(復元)に時間がかかるような場合には、データを移動させず、劣化したフォーマットのままAVデータを再生する方が、ユーザにとって便利な場合もあるからである。
以上のように本実施の形態によれば、AVデータなどのコンテンツに対し、再生中断(開始)位置等の再生情報を管理するために、管理ファイルを別に作成し、利用する。再生中断位置からの再生再開の機能を持たない装置では、管理ファイルの存在とは無関係にコンテンツの再生を行なうことができ、管理ファイルの存在によりコンテンツの再生に悪影響が及ぶことはない。
また、再生するコンテンツファイルが選択されたときに、そのコンテンツファイルのファイル名から管理ファイルが検索されるが、コンテンツファイルの再生を実行する前に、当該管理ファイルが正しくこの再生中断(再開)位置からの再生機能を管理するためのものか否かを、管理ファイル内のキーワードで確認する。さらに、当該キーワードが正しい場合であっても、さらに当該ファイル内に格納された、管理ファイルに対応するコンテンツファイルの記載と、最初に選択されたコンテンツファイルのファイル名とが一致しているか否かを判定する。そして、いずれの判定についても正しいという結果が得られて初めてコンテンツファイルの再生中断(再開)位置からの再生を行なう。したがって、誤って正しくない管理ファイルにしたがってコンテンツファイルを再生したりするおそれはない。
また、本実施の形態のシステムでは、著作権保護のためにコンテンツのデータファイルを移動することが必要なときに、フォーマット変換をすることでコンテンツデータの劣化が生じたとしても、劣化前のコンテンツデータを復元することができる。したがって、著作権保護のためのスキームにしたがいながら、かつ元のコンテンツを失ってしまうというおそれなく、多様な装置でコンテンツを再生することが可能になる。
また、再生中断位置を管理ファイルで指定するために、コンテンツのデータフォーマットに依存しない、再生開始等の基準時からの経過時間を利用する。コンテンツを小容量の記録媒体に移動するのに伴ってフォーマット変換を行なっても、フォーマット変換を行なう前の再生中断位置からの再生再開を容易に行なうことができる。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内でのすべての変更を含む。
30 システム、40 デジタルテレビ、42 携帯電話、44 メモリカード、100,102,104,182,202 AVデータ、110,112,250,254,256,260,266 管理ファイル、130 データ操作機構、140,184 第1の媒体の媒体識別情報、142,148 エンコーダ、144,194 第2の媒体の媒体識別情報、146 第2の媒体データ、152 セレクタ、154,180 第1の媒体、156,158 デコーダ、190 第2の媒体、200 二重暗号化されたAVデータ、300 データ再生・移動管理部、310 第2の記憶媒体、312 データ操作部、314 大容量の記憶装置、350 再生情報更新部、352 再生情報制御部、354,548 再生部、356 復号化部、358 フォーマット変換部、360,362 暗号化部、530 コンテンツ移動管理部、540 AVデータ選択部、542 対応再生補助情報選択部、544 再生補助情報有効性判定部、546 再生情報制御部、550 再生情報作成部