(57)【要約】【課題】同一バス上でコントローラ側がターゲット側のステータスの全部または一部を読み出す必要性を正確かつ容易に判断できるようにする。【解決手段】コントローラ側であるデジタルＴＶモニタ１３が、ターゲット機器のＨＤＤ記録装置１４から映像コンテンツのリストを取得する場合、ＨＤＤ記録装置１４からコンテンツ映像を読み出し、同時にＨＤＤ記録装置１４のステータスにハッシュ関数を適用したハッシュ値からなるフィンガープリントを読み出してメモリに記憶しておく。そして再起動やバスリセット、あるいは接続機器の変更などの理由により、デジタルＴＶモニタ１３が、ＨＤＤ記録装置１４から再度映像コンテンツリストを取得する必要が生じた場合、まずＨＤＤ記録装置１４からフィンガープリントを読み出して、これが更新されていればコンテンツリストを再び読み出し、更新されていなければ以前に受信したコンテンツリストを用いて表示を行う。【選択図】図１
2006171997.tif 000002
【特許請求の範囲】
【請求項１】
同一バス上に接続された他の受信装置に自身のステータスの全部または一部を送信する手段を有するデータ送信装置において、該データ送信装置は、該データ送信装置のステータスの全部または一部にハッシュ関数を適用し、算出したハッシュ値からなるフィンガープリントを他の受信装置に送信する手段を備えたことを特徴とするデータ送信装置。
【請求項２】
前記データ送信装置のステータスにハッシュ関数を適用する際、該データ送信装置固有のＩＤをそのステータスに含めてハッシュ値を算出することを特徴とする請求項１に記載のデータ送信装置。
【請求項３】
前記ステータスの全部または一部は階層構造を有し、前記ステータスのハッシュ値からなるフィンガープリントは、前記階層構造の階層毎のステータスの全部または一部ごとに生成されることを特徴とする請求項１または２に記載のデータ送信装置。
【請求項４】
前記バスは、ＩＥＥＥ１３９４バスであることを特徴とする請求項１ないし３のいずれか１に記載のデータ送信装置。
【請求項５】
同一バス上に接続された他の送信装置のステータスの全部または一部を他の送信装置から受信する受信手段を有するデータ受信装置において、該データ受信装置は、前記他の送信装置のステータスの全部または一部をハッシュ値からなるフィンガープリントとして受信する受信手段を備えたことを特徴とするデータ受信装置。
【請求項６】
前記受信手段が受信した前記送信装置のステータスの全部または一部を、ハッシュ値からなるフィンガープリントと関連付けてメモリに保存することを特徴とする請求項５に記載のデータ受信装置。
【請求項７】
前記送信装置のステータスの全部または一部を他の送信装置から受信した後、再度、該ステータスの全部または一部を受信したい場合、該ステータスの受信に先立って、前記他の送信装置のステータスをハッシュ値からなるフィンガープリントとして受信し、該受信したフィンガープリントの内容に基づいて、前記ステータスの全部または一部の受信および更新を行うか否かを判断することを特徴とする請求項５または６に記載のデータ受信装置。
【請求項８】
前記ステータスの全部または一部は階層構造を有し、前記ステータスのハッシュ値からなるフィンガープリントは、前記階層構造の階層毎のステータスの全部または一部ごとに生成されることを特徴とする請求項５ないし７のいずれか１に記載のデータ受信装置。
【請求項９】
前記バスは、ＩＥＥＥ１３９４バスであることを特徴とする請求項５ないし８のいずれか１に記載のデータ受信装置。
【請求項１０】
請求項１ないし４のいずれか１に記載のデータ送信装置、または請求項５ないし９のいずれか１に記載のデータ受信装置の全部または一部の機能をコンピュータに実現させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信装置、データ受信装置、プログラムおよび記録媒体に関し、より具体的には、同一バス上に複数の機器が接続されている構成において、各々の機器のステータスを効率良く取得できるようにデータの送受信を行うようにした技術に関する。
【背景技術】
【０００２】
ホームネットワークやデジタル化のニーズが急速に高まっている。このような状況にあって注目され始めているのが、ＩＥＥＥ１３９４−１９９５およびＩＥＥＥ１３９４ａ−２０００（以下ＩＥＥＥ１３９４バスと称す）である。これは、１９９５年にＩＥＥＥで規格され２０００年に規格の一部が変更された高速シリアルバス標準である。ＩＥＥＥ１３９４バスは、マルチメディアデータ転送の特徴的な機能を備え、音声データ、映像データ、処理手続きデータおよびこれらの組み合わせデータのリアルタイム転送を可能とするアイソクロナス（同期）データ転送（Ｉｓｏｃｈｒｏｎｏｕｓ）と、データ内容を補償する機能を持つアシンクロナス（非同期）データ転送（Ａｓｙｎｃｈｒｏｎｕｓ）の２つの転送方式を有する。
【０００３】
アイソクロナスデータ転送方式を用いるデータとしては、例えば、トランスポートストリーム（ＴＳ）、ＤＶストリームおよびＩＥＣ９５８に基づく音声ストリームなどがある。またアシンクロナスデータ転送方式は、例えば、機器のコマンドのやり取りに用いられ、一方の機器の要求に対する他方の機器の応答を相互に非同期で行いコマンドの内容を補償する。
【０００４】
このＩＥＥＥ１３９４バスを用いてコンシューマＡＶ機器をリモートで制御するためのコマンドセットとして、アシンクロナスデータ転送方式を用い、ＦＣＰ（Ｆｕｎｃｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の枠組みをそのまま使用するデータ構造を持った、ＡＶ／Ｃコマンド（ＡＶ／Ｃ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｍｍａｎｄ  Ｓｅｔ）が用いられる場合が多い。ここでは、ＡＶ機器の種類によって、テープ、チューナ、ディスク、カメラ、ブリテンボード、オーディオ、パネル、プリンタ、モニタ、の各ユニット、サブユニットが想定され、同様に共通のコマンド、およびシステム毎のコマンドが用意されている。
【０００５】
また、通信の暗号化の補助や、ユーザ認証、デジタル署名において、ハッシュ関数が応用されている。ハッシュとは、ある文字列またはデータ列が正確かどうか検証したいものの、データそのものを比較したくない場合に、要約を数学的に生成することであり、文字列またはデータ列を一定長のデータに要約するための関数がハッシュ関数である。
ハッシュ関数を通して出力される一定長の値は、「ハッシュ値」または「フィンガープリント」と呼ばれており、１方向関数を含むため、生成されたハッシュ値からもとの文字列またはデータ列を推定する事は不可能となる。
【０００６】
加えて、入力する文字列またはデータ列の長さを可変長とし、広範囲に指定できるため、データの改ざんを調べたり、認証や完全性の検査などによく用いられている。
ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）やＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）が代表的なハッシュ関数である。ＳＨＡ−１の場合、最大で２の６４乗［ｂｉｔ］長のデータを入力でき、１６０［ｂｉｔ］のハッシュ値を生成できる。
【０００７】
一方、ネットワークの負荷を軽減するキャッシュ技術・圧縮技術に関して、特許文献１が開示されている。特許文献１では、サーバ側プロキシからクライアント側プロキシへの新たな内容にリプライデータを転送するに当たって、両プロキシにて、サーバ側プロキシ識別情報と該データにハッシュ関数を適用して算出したハッシュ値からなるフィンガープリントとを対応付けて、フィンガープリント・キャッシュに登録しておき、サーバ側プロキシからクライアント側プロキシへフィンガープリント・キャッシュに登録されたフィンガープリントと同じフィンガープリントを持つリプライデータを転送するに当たっては、そのリプライデータの代わりに上記フィンガープリントを転送するようにしている。
【特許文献１】特開２００２−３７３１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のＡＶ／Ｃコマンド（ＦＣＰを含む）は、電源状態ステータスの確認や、電源の制御（ＰＯＷＥＲ ＯＮ，ＰＯＷＥＲ ＯＦＦ）や、制御コマンドの有無の問い合わせなど、比較的短いコマンドのやり取りに適している。加えて、例えばディスクユニットおよびサブユニットにおいては、映像コンテンツのコンテンツ名、記録時間、付帯情報のリストや曲目リストなどを連続して取得するために、ディスクリプタメカニズムと呼ばれる仮想的なメモリ空間を共通の方法で展開し、個々のブロックに対し読み書きできる様になっているが、当然曲目リストの数などデータ量に応じた長いデータ転送時間が必要となる。
【０００９】
ＡＶ／Ｃコマンドのディスクサブユニットの場合には、この長いデータ転送時間を緩和するために、ディスクリプタメカニズムとして、Ｒｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒの中にタイムスタンプ情報ブロック（ｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ）と呼ばれるパラメータ領域を持っている。
この領域は、録画コンテンツの増減、変化に連動してインクリメントされるカウンタ情報または時間情報として記録される。従ってコントローラ側では、映像コンテンツの曲目リスト情報などと一緒に、このタイムスタンプ情報ブロックを一緒に読み出しておくことにより、現在の曲目リストに変化があったかどうかをある程度知ることができ、タイムスタンプ情報ブロックが同じ値である場合には、曲目リストの読み出し回数を減らすことができる。
【００１０】
しかしながら、上記のようなタイムスタンプ情報ブロック（ｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ）を用いたとしても、例えば映像コンテンツのコンテンツ名が読み出され、書かれている名前と同じ名前で書き直しがなされた場合などには、曲目リストに変化があったとして、タイムスタンプ情報ブロックのパラメータがインクリメントされてしまう場合がある。この他、ステータスとして受信側が必要としていない情報に変化があった場合にも、タイムスタンプ情報ブロックのパラメータがインクリメントされてしまう場合などがあり、コントローラ側では、必要な情報に変化があったかどうかを必ずしも正確には把握できないという問題がある。
【００１１】
また、他の例えばチューナサブユニットなどでは、ディスクリプタメカニズムを利用する場合であっても、ディスクユニットに用いられているタイムスタンプ情報ブロックと同様なステータス領域は持っておらず、現在の状態と過去の状態が同じなのか異なっているのか、実際に必要なステータスの中身を読み出してみるまでは分からないと言う課題があった。
【００１２】
上記のごとくの課題をさらに具体例を参照しながら説明する。
図１０は、シリアルバスに接続された機器の構成例を示す図である。デジタルバス２１は、例えば、ＩＥＥＥ１３９４ａ−２０００に記載されているシリアルバス（以下、ＩＥＥＥ１３９４バスと称す）であって、装置間でコマンドやデータのやり取りができるバスである。デジタルバス２１には、チューナＳＴＢ２２、第１のデジタルＴＶモニタ２３、ＨＤＤ記録装置（ＡＶＨＤＤ）２４、第２のデジタルＴＶモニタ２５、およびオーディオ装置２６が接続されている。
【００１３】
ここで、チューナＳＴＢ２２は、放送局から送られてくるＡＶデータを受信するとともに、ＡＶデータをデジタルバス２１上にアイソクロナス（同期）転送方式で送信する。ＨＤＤ記録装置２４は、デジタルバス２１から受信したＡＶデータを記録するとともにデジタルバス２１に送信する。第１のデジタルＴＶモニタ２３は、デジタルバス２１から受信したＡＶデータを映像化する。オーディオ装置２６は、デジタルバス２１から受信したＡＶデータの音声をイコライザ等で調整すると供に、デジタルバス２１に送信する。
【００１４】
図１０の構成において、従来のコントローラ側が従来のターゲット機器におけるステータスをアシンクロナス（非同期）データ転送方式を用いて取得する場合で、図１１に示すような、ステータスに変化があったことを示すパラメータを持っている場合の動作について説明する。図１１は、従来のディスクサブユニットにおけるＲｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒ構成例を示す図である。
【００１５】
コントローラ側である第１のデジタルＴＶモニタ２３が、ターゲット機器のＨＤＤ記録装置２４から映像コンテンツのリストを取得する場合、コントローラ側の第１のデジタルＴＶモニタ２３は、デジタルバス２１上で第１のデジタルＴＶモニタ２３とＨＤＤ記録装置２４との間で、ディスクユニットおよびサブユニットのターゲットまたはコントローラのコマンドセットを持っているかを確認した後、Ｒｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒを用いて、ＨＤＤ記録装置１４から、コンテンツのタイトルリストなどを図１１のｏｂｊｅｃｔ＿ｅｎｔｒｙ２０３より順に、１コンテンツ毎または複数まとめて読み出す。このとき、Ｒｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒにあるｌｉｓｔ＿ｓｐｅｃｉｆｉｃ＿ｉｎｆｏｒｍａｔｉｏｎ２０１内のｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ（タイムスタンプ情報ブロック）２０２も読み出して記憶しておく。
【００１６】
そして再起動やバスリセット、あるいは接続機器の変更などの理由により、第１のデジタルＴＶモニタ２３が、ＨＤＤ記録装置２４から再度コンテンツのタイトルリストを取得したい場合は、第１のデジタルＴＶモニタ２３とＨＤＤ記録装置２４との間で、ディスクユニットおよびサブユニットのターゲットまたはコントローラのコマンドセットの有無を確認後、ｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ２０２のパラメータの更新が有る場合は、Ｒｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒを用いてｏｂｊｅｃｔ＿ｅｎｔｒｙ２０３より順に、１コンテンツ毎または複数のコンテンツのタイトルリストをまとめて読み出す。また、ｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ２０２のパラメータの更新が無い場合は、過去に記憶したタイトルリストを用いることで、ＨＤＤ記録装置２４から改めてタイトルリストを読み出さなくてもよい。また、第１のデジタルＴＶモニタ２３は、ｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ２０２のパラメータの更新の有無にかかわらず、ＨＤＤ記録装置２４からタイトルリストを毎回読み出すようにしてもよい。
【００１７】
このとき、コンテンツのタイトルリストを読み出すのに、１コンテンツ当り少なくとも数百［ｍｓ］を必要とするので、第１のデジタルＴＶモニタ２３の表示に変更の無い場合はタイトルリストの読み出しを行わず、表示に変更のあった場合にのみタイトルリストを読み出すことにより、コンテンツのタイトルリストの表示までの時間等を短縮することができる。しかし、第１のデジタルＴＶモニタ２３が、ｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ２０２の更新を参照するとき、例えば、第２のデジタルＴＶモニタ２５がｏｂｊｅｃｔ＿ｅｎｔｒｙ２０３のタイトル名や記録時間等を読み出して、全く同じ値で書き直した場合や、第１のデジタルＴＶモニタ２３のコンテンツのタイトルリスト表示に必要のない項目が変更された場合にも、ｔｉｍｅ＿ｓｔａｍｐ＿ｉｎｆｏ＿ｂｌｏｃｋ２０２が更新される場合があり、このような場合には、第１のデジタルＴＶモニタ２３は、ＨＤＤ記録装置２４のｏｂｊｅｃｔ＿ｅｎｔｒｙ２０３より、再度タイトルリストを読み出すことになるという問題が生じる。
【００１８】
また、上記特許文献１におけるネットワークの負荷を軽減する為の技術は、プロキシを用いた２つのＥｔｈｅｒｎｅｔ（登録商標）ネットワーク間で用いられる技術であることは言うまでもないが、本発明と最も異なるのは、サーバとクライアントが直接ステータスにハッシュ関数を適用して算出したフィンガープリントを転送することにある。
【００１９】
本発明は、上述のような状況に鑑みてなされたもので、同一のバス上に複数の機器が接続されている場合に、コントローラ側がターゲット側のステータスを読み出す必要性の有無を正確かつ容易に判断可能とすることができるようにしたデータ送信装置、データ受信装置、これら装置の機能を実現するプログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００２０】
前述の課題を解決するため、本発明に係るデータ送信装置、データ受信装置、プログラムおよび記録媒体は次の様な手段を採用する。
第１の技術手段は、同一バス上に接続された他の受信装置に自身のステータスの全部または一部を送信する手段を有するデータ送信装置において、データ送信装置は、データ送信装置のステータスの全部または一部にハッシュ関数を適用し、算出したハッシュ値からなるフィンガープリントを他の受信装置に送信する手段を備えたことを特徴としたものである。
【００２１】
第２の技術手段は、第１の技術手段において、データ送信装置のステータスにハッシュ関数を適用する際、データ送信装置固有のＩＤをそのステータスに含めてハッシュ値を算出することを特徴としたものである。
【００２２】
第３の技術手段は、第１または第２の技術手段において、ステータスの全部または一部は階層構造を有し、ステータスのハッシュ値からなるフィンガープリントは、階層構造の階層毎のステータスの全部または一部ごとに生成されることを特徴としたものである。
【００２３】
第４の技術手段は、第１ないし第３のいずれか１の技術手段において、バスは、ＩＥＥＥ１３９４バスであることを特徴としたものである。
【００２４】
第５の技術手段は、同一バス上に接続された他の送信装置のステータスの全部または一部を他の送信装置から受信する受信手段を有するデータ受信装置において、データ受信装置は、他の送信装置のステータスの全部または一部をハッシュ値からなるフィンガープリントとして受信する受信手段を備えたことを特徴としたものである。
【００２５】
第６の技術手段は、第５の技術手段において、受信手段が受信した送信装置のステータスの全部または一部を、ハッシュ値からなるフィンガープリントと関連付けてメモリに保存することを特徴としたものである。
【００２６】
第７の技術手段は、第５または第６の技術手段において、送信装置のステータスの全部または一部を他の送信装置から受信した後、再度、ステータスの全部または一部を受信したい場合、ステータスの受信に先立って、他の送信装置のステータスをハッシュ値からなるフィンガープリントとして受信し、受信したフィンガープリントの内容に基づいて、ステータスの全部または一部の受信および更新を行うか否かを判断することを特徴としたものである。
【００２７】
第８の技術手段は、第５ないし第７のいずれか１の技術手段において、ステータスの全部または一部は階層構造を有し、ステータスのハッシュ値からなるフィンガープリントは、階層構造の階層毎のステータスの全部または一部ごとに生成されることを特徴としたものである。
【００２８】
第９の技術手段は、第５ないし第８のいずれか１の技術手段において、バスは、ＩＥＥＥ１３９４バスであることを特徴としたものである。
【００２９】
第１０の技術手段は、第１ないし第４のいずれか１の技術手段に記載のデータ送信装置、または第５ないし第９のいずれか１の技術手段に記載のデータ受信装置の全部または一部の機能をコンピュータに実現させるためのプログラムである。
【００３０】
第１１の技術手段は、第１０の技術手段に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００３１】
本発明によれば、同一バス上に複数の機器が接続されている場合であって、コントローラ側がターゲット側のステータスの全部または一部を読み出す必要性の有無を正確かつ容易に判断できる効果が得られる。
【発明を実施するための最良の形態】
【００３２】
図１は、本発明の一実施形態を説明するための図で、シリアルバスに接続された機器の構成例を示す図である。
図１では、デジタルバス１１に、チューナＳＴＢ１２、第１のデジタルＴＶモニタ１３、第１のＨＤＤ記録装置（ＡＶＨＤＤ）１４、第２のデジタルＴＶモニタ１５、および第２のＨＤＤ記録装置１６が接続されている。
【００３３】
チューナＳＴＢ１２は、放送局から送られてくるＡＶデータを受信するとともにＡＶデータをデジタルバス１１上にアイソクロナス（同期）転送方式で送信する。第１のＨＤＤ記録装置１４は、デジタルバス１１から受信したＡＶデータを記録するとともにデジタルバス１１に送信する。第１のデジタルＴＶモニタ１３は、デジタルバス１１から受信したＡＶデータを映像化する。第２のデジタルＴＶモニタ１５および第２のＨＤＤ記録装置１６も同様である。
【００３４】
図１の構成において、コントローラ側がターゲット機器におけるステータスをアシンクロナス（非同期）データ転送方式を用いる場合で、図２に示すようなステータス変化があったことを示すパラメータを持っている場合の動作について説明する。
【００３５】
図２は、ディスクサブユニットにおけるＲｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒに関する構成例を示す図である。
コントローラ側である第１のデジタルＴＶモニタ１３が、ターゲット機器の第１のＨＤＤ記録装置１４から映像コンテンツのリストを取得する場合、コントローラ側のデジタルＴＶモニタ１３は、デジタルバス１１上で第１のデジタルＴＶモニタ１３と第１のＨＤＤ記録装置１４との間で、ディスクユニットまたはサブユニットのターゲットまたはコントローラのコマンドセットを持っているかを確認した後、Ｒｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒを用いて、第１のＨＤＤ記録装置１４から、１コンテンツ毎または、複数のコンテンツの映像をまとめて順に読み出す。このとき図２に示すようなｏｂｊｅｃｔ＿ｅｎｔｒｙ１０２全体にハッシュ関数を適用したハッシュ値からなるフィンガープリントｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｉｅｓ１０１も読み出してメモリに記憶しておく。
【００３６】
そして再起動やバスリセット、あるいは接続機器の変更などの理由により、第１のデジタルＴＶモニタ１３が、第１のＨＤＤ記録装置１４から再度映像コンテンのツリストを取得したい場合は、第１のデジタルＴＶモニタ１３とＨＤＤ記録装置１４との間で、ディスクユニットまたはサブユニットのターゲットまたはコマンドセットの有無を確認後、上記フィンガープリントであるｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｉｅｓ１０１のパラメータの更新がある場合は、Ｒｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒを用いてｏｂｊｅｃｔ＿ｅｎｔｒｙより順に、１コンテンツ毎または複数のコンテンツのタイトルリストをまとめて読み出す。またフィンガープリントｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｉｅｓ１０１に更新が無い場合は、過去に記憶したタイトルリストを用いることで、第１のＨＤＤ記録装置１４から改めて映像コンテンツのリストを読み出さなくても良い。
【００３７】
本実施形態では、例えば、過去に第２のデジタルＴＶモニタ２５がｏｂｊｅｃｔ＿ｅｎｔｒｙ１０２のタイトル名や記録時間等を読み出して、全く同じ値で書き直した場合や、ｏｂｊｅｃｔ＿ｅｎｔｒｙ１０２外のコンテンツリスト表示に必要無い項目を変更した場合にも、ｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｉｅｓ１０１は、先に読み出されたｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｙｓと同じパラメータを維持する。従って、第１のデジタルＴＶモニタ１３がフィンガープリントｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｉｅｓ１０１の更新を参照する場合、第１のＨＤＤ記録装置１４のｏｂｊｅｃｔ＿ｅｎｔｒｙ１０２より、再度映像コンテンツのリストを読み出す必要が無い。
【００３８】
次にフィンガープリントｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｉｅｓ１０１の付加の方法について、ハッシュ関数にＳＨＡ−１を用いた例で説明する。
ＳＨＡ−１はハッシュ関数の１つで、２の６４乗［ｂｉｔ］以下のデータ列から１６０［ｂｉｔ］のハッシュ値を生成できる。コンテンツリスト表示のためにＣｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒのｏｂｊｅｃｔ＿ｅｎｔｒｙ１０２にハッシュ関数を適用し、フィンガープリントを付加した例を図３〜図９を用いて説明する。
【００３９】
図３は、ディスクサブユニットのＲｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒにおけるｏｂｊｅｃｔ＿ｅｎｔｒｙの一例を示す図である。
ここには、コントローラ側のコンテンツリストに表示したいコンテンツ情報として、番組の開始日時、番組終了までの長さ、視聴年齢制限、番組解像度、再生済みフラグ、ネットワーク情報、放送局名、番組名、記録時間、コンテンツのロック／アンロック情報などが含まれている。
すなわち、ディスクサブユニットにおけるｏｂｊｅｃ＿ｔｅｎｔｒｙにおいて、Ｅｎｔｒｙ＿ｓｐｅｃｉｆｉｃ＿ｉｎｆｏｒｍａｔｉｏｎ１１０が有するｄｉｓｃ＿ｓｕｂｕｎｉｔ ｏｂｊｅｃｔ＿ａｔｔｒｉｂｕｔｅｓ１１１は、コンテンツのロック／アンロック情報等を含み、ｖｉｄｅｏ＿ｓｔｒｅａｍ＿ｆｏｒｍａｔ＿ｓｕｂｔｙｐｅ＿ｉｎｆｏ＿ｂｌｏｃｋ１１２はネットワーク情報等を含み、ｓｉｚｅ＿ｉｎｄｉｃａｔｏｒ＿ｉｎｆｏ＿ｂｌｏｃｋ１１３は記録時間等の情報を含み、ｐｒｏｇｒａｍ＿ａｔｔｒｉｂｕｔｅ＿ｉｎｆｏ＿ｂｌｏｃｋ１１４は、番組開始日時、番組時間長、視聴年齢制限、番組解像度、再生済みフラグ、放送局名等の情報を含み、ｎａｍｅ＿ｉｎｆｏ＿ｂｌｏｃｋ１１５は、番組名等の情報を含んでいる。なお、本発明のステータスは、例えば、上記ｐｒｏｇｒａｍ＿ａｔｔｒｉｂｕｔｅ＿ｉｎｆｏ＿ｂｌｏｃｋ１１４に該当する。
【００４０】
図４は、上記のようなコンテンツ情報を、ｏｂｊｅｃｔ＿ｅｎｔｒｙ毎にまとめて表した図である。上記のようなＥｎｔｒｙ＿ｓｐｅｃｉｆｉｃ＿ｉｎｆｏｒｍａｔｉｏｎ１１０に含まれるコンテンツ情報をデータ列１２０としてハッシュ関数（ＳＨＡ−１）を用い、フィンガープリントとなるハッシュ値を生成して、データ列１２０に付加する。
【００４１】
また、データ列の大きさおよびハッシュ値を求める処理速度に問題がなければ、各ｏｂｊｅｃｔ＿ｅｎｔｒｙ内の情報全てをデータ列とし、ハッシュ関数を用いてフィンガープリントとなるハッシュ値を生成し、データ列に付加してもよい。
【００４２】
コントローラ側である第１のデジタルＴＶモニタ１３が、２台以上のターゲット機器、例えば第１のＨＤＤ記録装置１４および第２のＨＤＤ記録装置１６のコンテンツ情報を、タイトルリストとして記憶することができ、同一のコンテンツ情報がこれら少なくとも２台のターゲット機器に存在する場合を考える。
図５は、２台のターゲット機器のコンテンツ情報を異なるフィンガープリントとして扱うためのコンテンツ情報の処理例について説明するための図である。
【００４３】
２台のターゲット機器、すなわちここでは、第１のＨＤＤ記録装置１４と第２のＨＤＤ記録装置１６とからコントローラ側（デジタルＴＶモニタ１３）がコンテンツ情報を取得する場合、コンテンツ情報のデータ列に機器固有のＩＤを含めるようにする。機器固有のＩＤは、例えば、ｉＬＩＮＫ接続機器に対し各個唯一に割り振られるＧＵＩＤ（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｒｅ）を用いることができる。
【００４４】
そして、上記ＧＵＩＤを含むコンテンツ情報をｏｂｊｅｃｔ＿ｅｎｔｒｙ毎にまとめ、これをコンテンツ情報のデータ列１２０とする。そして各機器のデータ列１２０に対してハッシュ関数を用い、フィンガープリントとなるハッシュ値を生成し、データ列１２０に付加する。このような処理により、各々のコンテンツ情報を全く異なるフィンガープリントとして扱うことができ、同一のコンテンツであっても機器毎の識別が可能となる。
【００４５】
図６は、図４の操作をｏｂｊｅｃｔ＿ｅｎｔｒｙのコンテンツ情報毎に行う処理を説明するための図である。コンテンツ情報のデータ列１２０の番組名や放送局名、その他のデータ列が可変長であって、コンテンツ毎にそれらのデータ長が異なる場合でも、ハッシュ関数により同じ長さのフィンガープリントを生成できる。
【００４６】
また、図７に示すように、複数のコンテンツのフィンガープリントをデータ列として、そのフィンガープリントのデータ列に対して更にハッシュ関数を用いて、新たなフィンガープリントとなるハッシュ値を生成し、コンテンツ情報のデータ列に付加してもよい。例えば、５０番組のコンテンツのフィンガープリントから、新たなフィンガープリントを生成し、５０番組分のフィンガープリントしてコンテンツ情報に付加してもよい。
【００４７】
また、コントローラ側において、過去に記憶したコンテンツのタイトルリストの数に応じて（例えば５０番組）、まとめてハッシュ化するフィンガープリントを決定し、フィンガープリントのハッシュ値（フィンガープリント）をｄｉｇｅｓｔ＿ｏｆ＿ｅｎｔｒｙｓとして前もって読み出しておけば、番組中の変更の有無を判断することができる。
【００４８】
図８は、コンテンツ情報のなかから特定の情報を複数コンテンツ分まとめてフィンガープリントを生成する処理例について説明するための図である。
図８に示すように、コンテンツ情報に含まれる番組名や放送局名など、各々の情報を複数コンテンツ分まとめてデータ列とし、このデータ列からハッシュ値を生成してコンテンツ情報のデータ列に付加してもよい。例えば、５０番組の番組名からハッシュ関数を用いてフィンガープリントとなるハッシュ値を生成して付加してもよい。
【００４９】
図９は、コンテンツのタイトルが階層構造を持つときの処理例について説明するための図である。図９に示すように、第１のＨＤＤ記録装置１４が、コンテンツのタイトルに対して、そのサブタイトルや、チャプター情報、記録時間などを階層的に持つ場合には、各々の階層毎にフィンガープリントとなるハッシュ値を生成してコンテンツ情報のデータ列に付加してもよい。
【００５０】
なお上記の例は、本発明に関わる処理をＡＶ／Ｃコマンドのディスクサブユニットのステータスに適用する場合について説明したが、他のユニットおよびサブユニットに適用してもよい。
さらに、本発明の実施の形態のデジタルバス１１は、ＩＥＥＥ１３９４インターフェースであってもよいし、その他の規格のインターフェースであってもよい。
さらに、本発明の記録装置の各構成要素の機能を専用のハードウェアで実現しても構わないし、コンピュータのプログラムによってソフトウェアで実現してもよい。
【００５１】
データ送信装置、およびデータ受信装置に搭載される場合のプログラムは、本発明に関わる各手段（もしくは各手段の一部）の機能を実現するようにＣＰＵ等を制御するプログラム（コンピュータを機能させるプログラム）である。このプログラムは、装置をユーザが使用する際に容易となるように、表示装置用のグラフィカルユーザインタフェース（ＧＵＩ）を備えるようにするとよい。そしてこれらの装置で取り扱われる情報は、その処理時にＲＡＭ等のメモリに蓄積され、その後各種ＲＯＭやハーディスク等に格納され、必要に応じてＣＰＵ等の制御手段により読み出され、修正・書き込みが行われる。
【００５２】
プログラムを格納する記録媒体としては、半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光記録媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ、ＢＤ等）、磁気記録媒体（例えば、磁気テープ、フレキシブルディスク等）等のいずれであってもよい。
また、ロードしたプログラムを実行することにより、上述した本発明の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステムあるいは他のアプリケーションプログラム等と共同して処理することにより、本発明の機能が実現される場合もある。
【００５３】
市場に流通させる場合には、可搬型の記録媒体にプログラムを格納して流通させたり、インターネット等のネットワークを介して接続された他のサーバコンピュータに転送することができる。この場合、サーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態を説明するための図で、シリアルバスに接続された機器の構成例を示す図である。
【図２】ディスクサブユニットにおけるＲｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒに関する構成例を示す図である。
【図３】ディスクサブユニットのＲｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒにおけるｏｂｊｅｃｔ＿ｅｎｔｒｙの一例を示す図である。
【図４】コンテンツ情報を、ｏｂｊｅｃｔ＿ｅｎｔｒｙ毎にまとめて表した図である。
【図５】２台のターゲット機器のコンテンツ情報を異なるフィンガープリントとして扱うためのコンテンツ情報の処理例について説明するための図である。
【図６】図４の操作をｏｂｊｅｃｔ＿ｅｎｔｒｙのコンテンツ情報毎に行う処理を説明するための図である。
【図７】複数のコンテンツのフィンガープリントに対してハッシュ関数を適用し、新たなフィンガープリントを生成する処理例について説明するための図である。
【図８】コンテンツ情報のなかから特定の情報を複数コンテンツ分まとめてフィンガープリントを生成する処理例について説明するための図である。
【図９】コンテンツのタイトルが階層構造を持つときの処理例について説明するための図である。
【図１０】シリアルバスに接続された機器の構成例を示す図である。
【図１１】従来のディスクサブユニットにおけるＲｏｏｔ  Ｃｏｎｔｅｎｔｓ  Ｌｉｓｔ  Ｄｅｓｃｒｉｐｔｏｒ構成例を示す図である。
【符号の説明】
【００５５】
１１…デジタルバス、１２…チューナＳＴＢ、１３…第１のデジタルＴＶモニタ、１４…第１のＨＤＤ記録装置、１５…第２のデジタルＴＶモニタ、１６…第２のＨＤＤ記録装置、２１…デジタルバス、２２…チューナＳＴＢ、２３…第１のデジタルＴＶモニタ、２４…ＨＤＤ記録装置、２５…第２のデジタルＴＶモニタ、２６…オーディオ装置、１２０…データ列。
【図１】
2006171997.tif 000003
【図２】
2006171997.tif 000004
【図３】
2006171997.tif 000005
【図４】
2006171997.tif 000006
【図５】
2006171997.tif 000007
【図６】
2006171997.tif 000008
【図７】
2006171997.tif 000009
【図８】
2006171997.tif 000010
【図９】
2006171997.tif 000011
【図１０】
2006171997.tif 000012
【図１１】
2006171997.tif 000013