本発明は、インデックス情報を用いて動画ファイルを再生する装置に関する。
パソコンやビデオレコーダ/ビデオプレーヤなどのような録画・再生装置によって録画・再生される動画ファイルの中には、動画ファイルの中身の構成を表すインデックス情報を持つものがある(例えば、特許文献1参照)。インデックス情報は、動画ファイルにおけるチャンク、パケット、フレームなどの位置情報と、時間情報や任意の再生位置を表すマーカー情報などとの関連を表している。
再生装置は、時間や位置などで指定されたファイル途中からの再生や、早送りや巻き戻し再生などのような間欠的な再生を行うとき、データをどの場所からデコーダに転送するかを決定するために、インデックス情報を利用する。インデックス情報を利用しない場合は、デコーダやシステムの仕様もしくは制約によっては、目的のデータを見つけ出すのに時間がかかったり、また見つけられなかったりするなどの機能制限が発生してしまうので、インデックス情報の活用は動画ファイルを再生する上で非常に重要な意味を持つ。
特開平7−30838号公報
ところで、インデックス情報は、動画ファイル全般に渡って記録されることが普通であり、動画ファイルのように再生時間が長いファイルについては、そのインデックス情報のデータサイズも非常に大きくなる傾向がある。従来、動画ファイルは、パソコンのようなメモリ資源が多いシステムで再生されることを想定しているものが多く、パソコンで動画ファイルを再生する限りにおいてはインデックス情報のデータサイズが大きいことはインデックス情報を読み込む上で特別な問題にならなかった。
しかし、DVDビデオプレーヤのような安価でメモリ資源の少ない再生装置では、インデックス情報をすべてメモリに読み込むことができないという欠点がある。この欠点は、動画ファイルを再生する、特に早送りや巻き戻しなどの速い動作が求められる機能においては、大きな障害である。具体的には、光ディスクのようなデータ読み出しに比較的時間のかかるメディアに記録された動画ファイルを再生する場合において、必要なインデックス情報がメモリ上にないときは、再生を一旦中断し、未取得のインデックス情報を光ディスクから読み込む必要があり、その間は、再生動作が停止するなどの問題が発生する。
このように、データサイズの大きいインデックス情報をもつ動画ファイルを小容量のメモリしか搭載していない再生装置で再生する時に、再生装置で元のインデックス情報をすべて一度に読み込むことができないという問題がある。特に近年、急速に普及しつつあるDVDレコーダやDVDプレーヤなどの民生AV機器では、コストダウンのために大容量のメモリを搭載することが困難であり、小容量のメモリしか搭載することができないこともあって、このような問題が注目されている。
本発明は、このような問題点に鑑みてなされたものであり、インデックス情報をメモリに再読み込みすることなく、メモリのサイズより大きなサイズのインデックス情報を用いて動画ファイルを再生することが可能な再生装置を提供することを目的とする。
前記目的を達成するために、本発明に係る再生装置は、動画ファイルを再生する装置であって、前記動画ファイルのインデックス情報を格納しているテーブルのサイズ情報を記録媒体から取得するテーブルサイズ取得手段と、前記インデックス情報を格納するためのメモリと、前記メモリのサイズ情報を取得するメモリサイズ取得手段と、前記テーブルのサイズが前記メモリのサイズ以下となるように、前記インデックス情報の間引き量を演算する演算手段と、前記間引き量に基づいて、前記インデックス情報を間引く間引き手段と、間引かれた前記インデックス情報を前記メモリに書き込む書込手段とを備えることを特徴とする。これによって、必要最小限のメモリしかない再生装置でも、再生点の位置精度を必要以上に損なわずにインデックス情報の全体を読み込むことができる。これにより、インデックス情報を再読み込みする必要がないので、速い再生動作を実現することができる。
ここで、前記演算手段は、前記動画ファイルの再生時間に対して一律に間引かれるように、前記インデックス情報の間引き量を演算してもよい。あるいは、前記動画ファイルの再生時間に対して重みを付けて間引かれるように、前記インデックス情報の間引き量を演算してもよい。重みを付けて間引く方法としては以下の方法がある。すなわち、前記再生装置は、さらに前記動画ファイルの特性を検出するファイル特性検出手段を備え、前記演算手段は、前記ファイル特性検出手段によって、前記動画ファイルの内容が映画であることが検出された場合、前記動画ファイルの再生時間が経過するに従って前記インデックス情報が低密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、前記インデックス情報は、前記動画ファイルの再生時間が経過するに従って低密度となるので、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
あるいは、前記再生装置は、さらに前記動画ファイルの再生開始位置を検出する再生開始位置検出手段を備え、前記演算手段は、前記再生開始位置検出手段によって検出された再生開始位置前については前記インデックス情報が低密度となるように、前記再生開始位置検出手段によって検出された再生開始位置後については前記インデックス情報が高密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、前記インデックス情報は、前記動画ファイルの再生開始位置前については低密度となり、前記再生開始位置後については高密度となる。これにより、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
あるいは、前記再生装置は、さらに前記動画ファイルの再生モードを検出する再生モード検出手段を備え、前記演算手段は、前記再生モード検出手段によって、前記動画ファイルの先頭をサーチするためのイントロ再生モードであることが検出された場合、前記イントロ再生区間については前記インデックス情報が高密度となるように、前記イントロ再生区間以外の区間については前記インデックス情報が低密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、前記インデックス情報は、前記イントロ再生区間については高密度となり、前記イントロ再生区間以外の区間については低密度となるので、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
あるいは、前記再生装置は、さらに使用者の操作嗜好を検出する操作嗜好検出手段を備え、前記演算手段は、前記操作嗜好検出手段によって、使用者が特定の再生機能を一定頻度以上利用することが検出された場合、当該再生機能を利用するときに必要となる再生区間については前記インデックス情報が高密度となるように、当該再生機能を利用するときに必要とならない再生区間については前記インデックス情報が低密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、使用者が特定の再生機能を一定頻度以上利用する場合、当該再生機能を利用するときに必要となる再生区間については前記インデックス情報が高密度となり、当該再生機能を利用するときに必要とならない再生区間については前記インデックス情報が低密度となるので、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
ここで、前記再生装置は、さらに前記ファイル特性検出手段、前記再生開始位置検出手段、前記再生モード検出手段、前記操作嗜好検出手段のいずれかを選択的に動作させる選択手段を備えてもよい。これにより、前記ファイル特性検出手段、前記再生開始位置検出手段、前記再生モード検出手段、前記操作嗜好検出手段のいずれかを容易に選択することができる。
また、前記再生装置は、さらに前記動画ファイルを再生する再生手段を備え、前記演算手段は、前記間引き量に基づいて前記動画ファイルの再生開始位置を演算し、前記再生手段は、前記再生開始位置から前記動画ファイルを再生してもよい。これにより、間引いた後のインデックス情報を用いて動画ファイルを正常に再生することができる。
なお、本発明は、このような再生装置として実現することができるだけでなく、このような再生装置が備える特徴的な手段をステップとする情報提示方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
以上の説明から明らかなように、本発明に係る再生装置によれば、データサイズが大きなインデックス情報テーブルを一律に間引きすることにより、必要最小限のメモリしかない再生装置でも、再生点の位置精度を必要以上に損なわずにインデックス情報の全体を読み込むことができる。これにより、インデックス情報を再読み込みする必要がないので、速い再生動作を実現することができる。
また、インデックス情報を重み付けして間引きすることにより、速い再生動作を実現することができるだけでなく、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
よって、本発明により、インデックス情報をメモリに再読み込みすることなく、メモリのサイズより大きなサイズのインデックス情報を用いて動画ファイルを再生することが可能となり、必要最小限のメモリしかない安価な再生装置が普及してきた今日における実用的価値は極めて高い。しかも、ハードウェア面での特別な変更を必要とせずにソフトウェアの制御上の工夫で実現ができるという効果もある。
[図1]図1は、本発明を適用した光ディスク再生装置のハードウェア構成図である。
[図2]図2は、本発明を適用した光ディスク再生装置の要部の機能ブロック図である。
[図3]図3は、間引く前のインデックス情報の構成例を示す図である。
[図4]図4は、チャンクとチャンクオフセットとの関係を概念的に表した図である。
[図5]図5は、動画ファイルとインデックス情報テーブルとの関係を概念的に表した図である。
[図6]図6は、インデックス情報を一律に1/nに間引きする方法を概念的に表した図である。
[図7]図7は、インデックス情報の一律な間引き状態を表した図である。
[図8]図8は、本発明を適用した再生装置の間引き動作を示すフローチャートである。
[図9]図9は、1/n(n=2)の間引き処理を概念的に表した図である。
[図10]図10は、本実施の形態2における再生装置の要部の機能ブロック図である。
[図11]図11は、動画ファイルの特性に基づいてインデックス情報を間引いた状態を表した図である。
[図12]図12は、再生開始位置に基づいてインデックス情報を間引いた状態を表した図である。
[図13]図13は、再生モードに基づいてインデックス情報を間引いた状態を表した図である。
[図14]図14は、使用者の操作嗜好に基づいてインデックス情報を間引いた状態を表した図である。
[図15]図15は、本実施の形態2における別の再生装置の要部の機能ブロック図である。
[図16]図16は、本実施の形態3における再生装置の要部の機能ブロック図である。
[図17]図17は、本発明を適用した再生装置の再生動作を概念的に表した図である。
[図18]図18は、本発明を適用した再生装置の再生動作を示すフローチャートである。
符号の説明
S40、S100 テーブルサイズ取得手段
S41、S101 演算手段
S42、S102 テーブルサイズ取得手段
S43、S103 保持手段
S44、S104 間引き手段
S45、S105 書込手段
S46、S106 入力手段
S47 再生手段
S107 ファイル特性検出手段
S108 再生開始位置検出手段
S109 再生モード検出手段
S110 操作嗜好検出手段
S111 選択手段
以下、本発明の実施の形態について図面を用いて詳細に説明する。
(実施の形態1)
図1は、本発明を適用した光ディスク再生装置のハードウェア構成図である。本実施の形態では、光ディスク再生装置の一例として、DVD(デジタル多用途ディスク)を再生可能なDVDプレーヤを用いて説明するが、本発明の適用範囲は、動画ファイルを再生可能な機器であればよく、DVDプレーヤに限定されるものではない。
光ディスク500は、少なくとも動画ファイル及びインデックス情報が記録された記録媒体である。本実施の形態ではDVDプレーヤを光ディスク再生装置の一例として説明しているため、ここでいう光ディスク500はDVDディスクに相当する。
もっとも、少なくとも動画ファイル及びインデックス情報が記録された記録媒体であれば、記録媒体の形態や記録方式などは限定しない。記録媒体の形態としては、ハードディスクドライブや、メモリーカードなどの半導体メモリなどがあり、記録方式としては、光学式以外に磁気式や電気式などがある。
光ピックアップ501は、光ディスク500の記録面にレーザーダイオード(図示せず)を用いてレーザー光を照射し、光ディスク500の記録面に反射した光を読み取ることにより、光ディスク500に記録された信号を読みとる。本実施の形態では、少なくとも光ディスク500に記録された信号を読み取ることができればよいが、光ディスク500に対して信号を記録可能な機能を備えていてもよい。
スピンドルモータ502は、光ディスク500を所定の回転数で回転させる。光ディスク500の保持にはターンテーブルやクランパ(いずれも図示せず)などの保持手段を用いている。具体的には、ターンテーブルに光ディスクを保持し、ターンテーブルを回転させる。
光ディスク制御部503は、光ピックアップ501が光ディスク500から信号を読み取るように制御する。また、スピンドルモータ502が光ディスク500を所定の回転数にて回転させるように制御する。さらに、光ピックアップ501で読み取った信号をデジタル情報に変換する。
AVデコーダ504は、光ディスク500から読み取った動画ファイルをテレビジョン受像機などの表示装置にて表示可能な映像信号にデコードするデコード手段である。
CPU505は、プログラムメモリ507に格納されたプログラムコードに基づき各種信号処理を行う中央演算処理装置である。作業メモリ506に格納された動画ファイル及びインデックス情報の処理や解析を行うことができる。インデックス情報の処理については、図2を用いて後述する。
作業メモリ506は、動画ファイルやインデックス情報などの各種データを一時記憶し、CPU505とともに信号処理を行う。プログラムメモリ507は、CPU505にて行う信号処理を実行するプログラムコードを格納している。映像・音声信号508は、再生装置から出力され、本装置に接続された他機器(テレビジョン受像機など)へ出力される。
図2は、本発明を適用した光ディスク再生装置の要部の機能ブロック図であり、具体的には、図1のCPU505によって実現される機能を表している。この光ディスク再生装置は、機能的には、テーブルサイズ取得手段S40と、演算手段S41と、メモリサイズ取得手段S42と、保持手段S43と、間引き手段S44と、書込手段S45とを備える。
テーブルサイズ取得手段S40は、元(以下「間引く前」という)のインデックス情報テーブルのサイズ情報(後述する)を取得する。演算手段S41は、インデックスエントリ(後述する)を間引きする量を演算する。メモリサイズ取得手段S42は、間引かれたインデックスエントリの格納先となるインデックス情報テーブル用メモリ(作業メモリ506)のサイズ情報を取得する。保持手段S43は、間引く前のインデックスエントリを保持するバッファである。間引き手段S44は、保持手段S43にて保持されるインデックスエントリを演算手段S41の演算結果に基づき間引きする。書込手段S45は、間引き手段S44にて間引かれたインデックスエントリを作業メモリ506に書き込む。入力手段S46は、間引く前のインデックスエントリを本再生装置に入力する。
図3は、間引く前のインデックス情報の構成例を示す図である。この図3に示されるように、インデックス情報は、インデックス情報テーブル100に格納されており、複数のインデックスエントリ101からなる。すなわち、インデックスエントリ101は、インデックス情報を細分化した単位であり、インデックスエントリ101の集合がインデックス情報に相当する。インデックスエントリ101に含まれるインデックス番号102は、各インデックスエントリ101を識別するための番号である。また、再生時間103は、インデックスエントリ101が指す指定時間を表し、チャンクオフセット104は、インデックスエントリ101が指すチャンク位置を表す。
図4は、チャンクとチャンクオフセットとの関係を概念的に表した図である。この図4に示されるように、チャンクM_1〜M_4は、動画ファイルMを構成する単位である。各インデックスエントリ101_1〜101_4に含まれるチャンクオフセットは、それぞれ、チャンクM_1〜M_4の位置を当該動画ファイルMの所定の位置からのバイト数で表している。
図5は、動画ファイルとインデックス情報テーブルとの関係を概念的に表した図である。この図5に示されるように、動画ファイルMのヘッダHには、動画ファイルM内におけるインデックス情報テーブル100の先頭位置情報や、インデックス情報テーブル100のサイズ情報などが格納されている。
図6は、インデックス情報を一律に1/nに間引きする方法を概念的に表した図であり、ここでは、n=2の時の間引き方法を例示している。200は間引く前のインデックス情報テーブル、201は間引いた後のインデックス情報テーブル、202はチャンク毎など所定間隔で設定されたインデックスエントリである。203は、インデックスエントリ202が指す動画ファイルの再生時間軸を表す。この図6に示されるように、間引いた後のインデックス情報テーブル201の方が間引く前のインデックス情報テーブル200よりもデータサイズが小さい。
図7は、インデックス情報の一律な間引き状態を表した図である。300はインデックスエントリの密度[個/時間]、301は動画ファイルの再生時間[時間]、302は間引く前のインデックス情報テーブルにおけるインデックスエントリの密度C、303は間引いた後のインデックス情報テーブルにおけるインデックスエントリの密度C/nを表す。
図1を用いて、以上のように構成された光ディスク再生装置の動作を説明する。
まず、使用者からの再生命令に基づき、光ディスク制御部503は、光ディスク500を所定の回転数で回転させるようにスピンドルモータ502を制御するとともに、光ディスク500に記録された信号(動画ファイル及びインデックス情報など)を読み取るように光ピックアップ501を制御する。光ピックアップ501にて読み取られた信号は、光ディスク制御部503にてデジタル情報に変換され、作業メモリ506に一時的に格納される。この時、光ディスク500から読み出される情報は、作業メモリ506の容量が小さいことを考慮して、動画ファイルの一部のデータのみである。
CPU505は、前記のように作業メモリ506に格納された情報のうちインデックス情報のみを読み出して、このインデックス情報の解析処理を行う。具体的な処理動作については、図2を用いて後述する。
次に、CPU505におけるインデックス情報の解析の結果を、管理情報として作業メモリ506へ格納する。このように格納された管理情報に基づき、光ディスク500から読み出される動画ファイルのストリームデータが、AVデコーダ504へ転送される。これによって、AVデコーダ504では、入力されるストリームデータを動画データにデコードし、映像音声信号508として、外部機器(テレビジョン受像機など)へ出力する。
以上の動作を繰り返すことで、光ディスク500に記録された動画ファイルを再生する。
次に、インデックス情報の間引き動作について説明する。
図6において、間引く前のインデックス情報テーブル200のサイズが、インデックス情報テーブル201を格納する作業メモリ506のメモリサイズよりも大きい場合、本発明が効果を発揮する。すなわち、インデックス情報テーブル201のサイズが元の1/nになるように、再生時間203に対してインデックスエントリ202を一律に間引きすることにより、必要最小限のメモリしか備えていない再生装置でも、インデックス情報の全体を読み込むことができる。
図7は、間引く前のインデックスエントリ密度302は密度Cであったところ、間引き後のインデックスエントリ密度303は密度C/nまで低くなったことを表している。本実施の形態1では、再生時間301に対して一律な間引きを行っているため、図7では、インデックスエントリの密度分布は、再生時間301の軸に対して平行になっている。
図8は,本発明を適用した再生装置の間引き動作を示すフローチャートである。以下、この図8と図2とを用いて、本再生装置の間引き動作を説明する。
まず、使用者によって再生対象となる動画ファイルが指定されると、テーブルサイズ取得手段S40は、作業メモリ506に一部格納されている動画ファイルからインデックス情報テーブルのサイズ情報を取得する(S1→S2)。既に説明した通り、インデックス情報テーブルのサイズ情報は、動画ファイルのヘッダを参照することによって取得することができる。
このようにテーブルサイズ情報を取得する動作と並行して、メモリサイズ取得手段S42は、インデックス情報テーブルを格納するための作業メモリ506のサイズ情報を取得する(S3)。この作業メモリ506にインデックス情報テーブルだけでなくそれ以外の情報も格納する場合は、インデックス情報テーブルを格納するために確保された領域のサイズ情報がメモリサイズ取得手段S42によって取得されることになる。
ここで、演算手段S41は、インデックス情報テーブルのサイズが作業メモリ506のサイズよりも大きい場合、このテーブルのサイズが作業メモリ506のサイズ以下となるように、インデックスエントリの間引き量を演算する(S4でYes→S5)。この「間引き量を演算する」とは、具体的には、図6でいうnの値を算出することをいう。なお、インデックス情報テーブルのサイズが作業メモリ506のサイズよりも小さい場合(S4でNo)、間引き処理は行わない。
一方、入力手段S46は、作業メモリ506に格納されている動画ファイルから光ディスク上におけるインデックス情報の位置情報を取得する。既に説明した通り、インデックス情報の位置情報は、動画ファイルのヘッダを参照することによって取得することができる。このようにインデックス情報の位置情報を取得すると、この位置からインデックスエントリを読み出して(S6)、保持手段S43に保持する(後述する)。
保持手段S43に保持されたインデックスエントリは間引き手段S44に入力され、演算手段S41によって演算された値nに基づいて間引かれる(S7)。具体的には、間引き手段S44は、図6に示すように、加工前のインデックス情報テーブル200のインデックスエントリ202を、1/n(図6の例ではn=2)に間引き、間引いた後のインデックス情報テーブル201のインデックスエントリ202の数を元の1/nに減らす。ここでは、図7に示すように、間引いた後のインデックスエントリの密度303は、時間軸方向にC/nで一定としている。
このようにインデックスエントリが間引かれると、書込手段S45は、間引かれたインデックスエントリを作業メモリ506に書き込む(S8)。
図9は、1/n(n=2)の間引き処理を概念的に表した図である。ここでは、説明を簡略化するために、インデックス情報が10個のインデックスエントリ101_1〜101_10からなる場合において、保持手段S43と作業メモリ506とがいずれも5個のインデックスエントリしか格納できないサイズである場面を想定している。
まず、インデックスエントリ101_1〜101_5は、光ディスクから読み出されると、図9(A)に示されるように、保持手段S43の領域S43_1〜S43_5にそれぞれ保持される。そして、領域S43_1に保持されたインデックスエントリ101_1は作業メモリ506の領域506_1に書き込まれ、領域S43_3に保持されたインデックスエントリ101_3は作業メモリ506の領域506_2に書き込まれ、領域S43_5に保持されたインデックスエントリ101_5は作業メモリ506の領域506_3に書き込まれる。
次に、インデックスエントリ101_6〜101_10は、光ディスクから読み出されると、図9(B)に示されるように、保持手段S43の領域S43_1〜S43_5にそれぞれ保持される。そして、領域S43_2に保持されたインデックスエントリ101_7は作業メモリ506の領域506_4に書き込まれ、領域S43_4に保持されたインデックスエントリ101_9は作業メモリ506の領域506_5に書き込まれる。
このように、10個のインデックスエントリ101_1〜101_10について、1/n(n=2)の間引き処理をした場合は、5個のインデックスエントリ101_1、101_3、101_5、101_7、101_9が、それぞれ、作業メモリ506_1、506_2、506_3、506_4、506_5に書き込まれることになる。
以上のように、本実施の形態によれば、データサイズが大きなインデックス情報テーブルを一律に間引きすることにより、必要最小限のメモリしかない再生装置でも、再生点の位置精度を必要以上に損なわずにインデックス情報の全体を読み込むことができる。これにより、インデックス情報を再読み込みする必要がないので、速い再生動作を実現することができる。
(実施の形態2)
前記実施の形態1では、インデックス情報を一律に間引く構成について説明したが、本実施の形態2では、インデックス情報を重み付けして間引く構成について説明する。
図10は、本実施の形態2における再生装置の要部の機能ブロック図である。テーブルサイズ取得手段S100、メモリサイズ取得手段S102、保持手段S103、間引き手段S104、書込手段S105、入力手段S106については、前記実施の形態1と同じであるため、ここでは詳しい説明を省略することとし、以下、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110、演算手段S101について説明する。
ファイル特性検出手段S107は、再生対象である動画ファイルのファイル特性を検出する。再生開始位置検出手段S108は、再生対象である動画ファイルの再生開始位置を検出する。再生モード検出手段S109は、動画ファイルを再生する際の再生装置の再生モードを検出する。操作嗜好検出手段S110は、再生装置の使用者の特徴的な操作嗜好を検出する。演算手段S101は、テーブルサイズ取得手段S100とメモリサイズ取得手段S102とから得られる情報のみでなく、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、又は操作嗜好検出手段S110から得られる情報をも加味して、インデックスエントリの間引き量を演算する。これら各手段は、図1のCPU505がプログラムを実行することによって実現することができる。
以下、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110の各手段について、さらに詳細に説明する。
[動画ファイルの特性]
図11は、動画ファイルの特性に基づいてインデックス情報を間引いた状態を表した図である。具体的には、先頭から再生する動画ファイルの全体の再生時間が例えば90分から180分程度であり、内容が映画であると推測される場合、そのファイルの特性に合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。
図11において、600はインデックスエントリの密度[個/時間]、601は動画ファイルの再生時間[時間]、602は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、603は重み付けをして間引きを行ったインデックスエントリの密度分布、604は603の密度分布の平均値を表す。
以上のように構成された光ディスク再生装置の動作を説明する。
まず、基本的な光ディスクの再生動作については、前記実施の形態1の動作と同様なので説明を省略する。ここでは、全体の再生時間が長い映画などを再生する場合を想定し、前記実施の形態1にて説明したようにインデックスエントリの密度を時間軸方向に一定するのではなく、図11に示すように、動画ファイルの先頭付近では高密度あるいは間引き無し、そして後端に近づくにつれ低密度になるように、時間軸方向に密度を変化させている。
一般に、インデックス情報を用いる早送り操作などは、使用者が動画ファイルの途中から鑑賞したい時に、目的の再生位置を検索あるいは特定するために使用される操作と考えられるため、動画ファイルの後半部分の位置精度は、前半と比較して低くてもよい。
このような特徴を利用して、光ディスクを再生する際に、光ディスクに記録された動画ファイルの全体の再生時間情報をファイル特性検出手段S107が検出する。検出した再生時間が所定時間以上(例えば90〜180分)の場合は、その光ディスクに記録された動画ファイルは映画であると判断し、CPU505におけるインデックス情報の間引き量を、図11の特性図に基づいて制御する。すなわち、再生しようとしている動画ファイルが映画などの長時間動画ファイルの場合は、図11の603で表されるような独自の重み付け間引きを行う。またこの際、604の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように動画ファイルの特性を検出し、使用頻度に差があると推測されるそれぞれの区間においてインデックス密度を調整することにより、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[再生開始位置]
図12は、再生開始位置に基づいてインデックス情報を間引いた状態を表した図である。具体的には、途中の再生点から再生復帰する場合、その再生開始位置に合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。700はインデックスエントリの密度[個/時間]、701は動画ファイルの再生時間[時間]、702は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、703は重み付けをして間引きを行ったインデックスエントリの密度分布、704は703の密度分布の平均値、705は使用者が再生復帰する再生時間Tsを表す。
以上のように構成された光ディスク再生装置の動作を説明する。
DVDプレーヤには、動画ファイルの途中から再生する機能がある。例えば、前回再生終了時の位置を記憶しておき、次回再生時に記憶した位置から再生を行う機能などがある。
このように使用者が動画ファイルの途中から再生を開始する場合は、一般に前回再生終了時の続きを観賞する可能性が高く、前回再生終了時の手前を再生する可能性は低い。そこで、再生開始位置検出手段S108が前回の再生終了位置Ts705を検出した場合、再生復帰するTs705のタイミング以前は再生される可能性が低いことから、インデックスエントリの密度を低くしている。また、Ts705のタイミング以降は再生される可能性が高いことから、インデックスエントリの密度を高くしている。このように、703で表されるような独自の重み付け間引きを行えば、再生位置精度を上げることができる。またこの際、704の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように再生開始位置を検出し、再生復帰時間705の前後でインデックスエントリ密度を変化させることにより、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[再生モード]
図13は、再生モードに基づいてインデックス情報を間引いた状態を表した図である。具体的には、動画ファイルの先頭をサーチするイントロ再生機能が使用者によって選択された場合、この再生モードに合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。800はインデックスエントリの密度[個/時間]、801は動画ファイルの再生時間[時間]、802は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、803は重み付けをして間引きを行ったインデックスエントリの密度分布、804は803の密度分布の平均値を表す。
このように、イントロ再生モードであることが再生モード検出手段S109によって検出された場合、イントロ再生区間という動画ファイル先頭のみに限定された特定区間に対してインデックスエントリの密度を高く設定することにより、803で表されるような重み付けした間引きを行うことができる。またこの際、804の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように再生モードを判断して、特定区間のインデックスエントリ密度を変化させることにより、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[操作嗜好]
図14は、使用者の操作嗜好に基づいてインデックス情報を間引いた状態を表した図である。具体的には、現在再生位置から数秒手前の位置を一操作で呼び出して再生する機能や、現在再生位置から数秒先の位置を一操作で呼び出して再生する機能を再生開始直後に頻繁に使用する場合、この使用者の操作嗜好に合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。900はインデックスエントリの密度[個/時間]、901は動画ファイルの再生時間[時間]、902は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、903は重み付けをして間引きを行ったインデックスエントリの密度分布、904は903の密度分布の平均値、905は使用者が再生復帰する再生時間Tsを表す。
このように、使用者が現在再生位置から数秒手前の位置を一操作で呼び出して再生する機能や現在再生位置から数秒先の位置を一操作で呼び出して再生する機能を頻繁に使用することを操作嗜好検出手段S110が検出した場合、操作上の不快感をできるだけ軽減させるために、再生復帰時間905の前後の区間のインデックスエントリ密度を高く設定する。これにより、再生復帰直後に前述の機能が頻繁に使用されても再生位置精度が高いまま検索をすることができる。またこの際、904の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように使用者の操作嗜好から判断して、インデックスエントリの重み付けを変化させることにより、使用者の特定操作については、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[選択]
図15は、本実施の形態2における別の再生装置の要部の機能ブロック図である。この図15に示されるように、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110の各手段と演算手段S101との間に選択手段S111を介在させる構成を採用してもよい。
すなわち、選択手段S111は、使用者からの指示を受けて、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110のいずれかを選択的に動作させる。これによって、演算手段S101は、テーブルサイズ取得手段S100とメモリサイズ取得手段S102とから得られる情報のみでなく、選択手段S111から得られる情報をも加味して、インデックスエントリの間引き量を演算する。なお、前記選択手段S111については物理的なスイッチ等を採用することができる。
このように選択手段S111を備える構成によれば、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110のいずれかを容易に選択することができる。これら検出手段のうち複数の検出手段からの検出結果を用いて間引き量を演算する場合は、選択手段S111が複数の検出手段を選択することになるのはいうまでもない。
以上のように、本実施の形態2によれば、インデックス情報を重み付けして間引きするようにしているので、速い再生動作を実現することができるだけでなく、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
(実施の形態3)
前記実施の形態1や2では、インデックス情報を間引く構成について説明したが、本実施の形態3では、間引いたインデックス情報を用いて動画ファイルを再生する構成について説明する。
図16は、本実施の形態3における再生装置の要部の機能ブロック図であり、再生手段S47を備えている点、及び演算手段S41の機能が異なる点を除けば、前記実施の形態1と同じである。ここで、演算手段S41は、間引き量に基づいて動画ファイルの再生開始位置を演算する。また、再生手段S47は、演算手段S41によって演算された再生開始位置から動画ファイルを再生する。
図17は、本発明を適用した再生装置の再生動作を概念的に表した図である。ここでは、一律に1/2に間引いた後のインデックス情報と、動画ファイルとの関係を表している。すなわち、インデックスエントリ101_1に含まれるチャンクオフセットは、チャンクM_1の位置を当該動画ファイルMの先頭位置からのバイト数で表している。同様に、インデックスエントリ101_3、5、7に含まれるチャンクオフセットは、それぞれ、チャンクM_3、5、7の位置を当該動画ファイルMの先頭位置からのバイト数で表している。
図18は,本発明を適用した再生装置の再生動作を示すフローチャートである。図17で示したように、一律にインデックス情報が1/2に間引かれた後、使用者によって再生時間1000msecの位置から動画ファイルを再生する旨の指定がされた場合(S11)、演算手段S41は、間引き量1/2に基づいて、インデックスエントリを特定する(S12)。例えば、図3に示したように、再生時間500msecの間隔でインデックスエントリが設定されている場合について考えると、間引きをしていない状態では、先頭から3番目のインデックスエントリ101_5を特定することになるが、ここでは、インデックスエントリが1/2に間引かれていることを考慮して、先頭から2番目のインデックスエントリ101_3を特定する。
次いで、演算手段S41は、インデックスエントリを特定すると、このインデックスエントリに対応するチャンクオフセットを特定し(S13)、再生手段S47に通知する。これによって、再生手段S47は、このチャンクオフセットによって特定されるチャンクから再生を開始する。
以上のように、本発明を適用した再生装置によれば、インデックス情報を間引いた場合でも、その間引き量を用いて再生開始位置を特定するようにしているので、動画ファイルを正常に再生することができる。
なお、ここでは、使用者によって再生時間1000msecの位置から動画ファイルを再生する旨の指定がされた場合について説明したが、当然、使用者によって指定された動画ファイルの再生時間(例えば1300msec)をインデックスエントリの設定間隔(例えば500msec)で割った値が整数値とならない場合もある。このような場合は、2つのインデックスエントリ(例えばインデックスエントリ101_3及び5)のうち、手前のインデックスエントリ(例えばインデックスエントリ101_3)を特定し、そこから再生することで、指定された動画ファイルの再生時間(例えば1300msec)に到達することができる。このとき、手前のインデックスエントリ(例えばインデックスエントリ101_3)から、指定された動画ファイルの再生時間(例えば1300msec)まで表示を更新しなければ、使用者には、指定した再生時間(例えば1300msec)から再生が始まったように見える。
また、ここでは、チャンクオフセットを特定するまでの処理を演算手段S41が行うこととしているが、本発明はこれに限定されるものではない。例えば、演算手段S41がインデックスエントリを特定したら、そのインデックス番号が再生手段S47に通知される構成とし、再生手段S47によってチャンクオフセットが特定される構成を採用しても、前記と同様の効果を得ることができる。
本発明は、インデックス情報をメモリに再読み込みすることなく、メモリのサイズより大きなサイズのインデックス情報を用いて動画ファイルを再生することが必要なDVDプレーヤ等の用途にも適用できる。
本発明は、インデックス情報を用いて動画ファイルを再生する装置に関する。
パソコンやビデオレコーダ/ビデオプレーヤなどのような録画・再生装置によって録画・再生される動画ファイルの中には、動画ファイルの中身の構成を表すインデックス情報を持つものがある(例えば、特許文献1参照)。インデックス情報は、動画ファイルにおけるチャンク、パケット、フレームなどの位置情報と、時間情報や任意の再生位置を表すマーカー情報などとの関連を表している。
再生装置は、時間や位置などで指定されたファイル途中からの再生や、早送りや巻き戻し再生などのような間欠的な再生を行うとき、データをどの場所からデコーダに転送するかを決定するために、インデックス情報を利用する。インデックス情報を利用しない場合は、デコーダやシステムの仕様もしくは制約によっては、目的のデータを見つけ出すのに時間がかかったり、また見つけられなかったりするなどの機能制限が発生してしまうので、インデックス情報の活用は動画ファイルを再生する上で非常に重要な意味を持つ。
特開平7−30838号公報
ところで、インデックス情報は、動画ファイル全般に渡って記録されることが普通であり、動画ファイルのように再生時間が長いファイルについては、そのインデックス情報のデータサイズも非常に大きくなる傾向がある。従来、動画ファイルは、パソコンのようなメモリ資源が多いシステムで再生されることを想定しているものが多く、パソコンで動画ファイルを再生する限りにおいてはインデックス情報のデータサイズが大きいことはインデックス情報を読み込む上で特別な問題にならなかった。
しかし、DVDビデオプレーヤのような安価でメモリ資源の少ない再生装置では、インデックス情報をすべてメモリに読み込むことができないという欠点がある。この欠点は、動画ファイルを再生する、特に早送りや巻き戻しなどの速い動作が求められる機能においては、大きな障害である。具体的には、光ディスクのようなデータ読み出しに比較的時間のかかるメディアに記録された動画ファイルを再生する場合において、必要なインデックス情報がメモリ上にないときは、再生を一旦中断し、未取得のインデックス情報を光ディスクから読み込む必要があり、その間は、再生動作が停止するなどの問題が発生する。
このように、データサイズの大きいインデックス情報をもつ動画ファイルを小容量のメモリしか搭載していない再生装置で再生する時に、再生装置で元のインデックス情報をすべて一度に読み込むことができないという問題がある。特に近年、急速に普及しつつあるDVDレコーダやDVDプレーヤなどの民生AV機器では、コストダウンのために大容量のメモリを搭載することが困難であり、小容量のメモリしか搭載することができないこともあって、このような問題が注目されている。
本発明は、このような問題点に鑑みてなされたものであり、インデックス情報をメモリに再読み込みすることなく、メモリのサイズより大きなサイズのインデックス情報を用いて動画ファイルを再生することが可能な再生装置を提供することを目的とする。
前記目的を達成するために、本発明に係る再生装置は、動画ファイルを再生する装置であって、前記動画ファイルのインデックス情報を格納しているテーブルのサイズ情報を記録媒体から取得するテーブルサイズ取得手段と、前記インデックス情報を格納するためのメモリと、前記メモリのサイズ情報を取得するメモリサイズ取得手段と、前記テーブルのサイズが前記メモリのサイズ以下となるように、前記インデックス情報の間引き量を演算する演算手段と、前記間引き量に基づいて、前記インデックス情報を間引く間引き手段と、間引かれた前記インデックス情報を前記メモリに書き込む書込手段とを備えることを特徴とする。これによって、必要最小限のメモリしかない再生装置でも、再生点の位置精度を必要以上に損なわずにインデックス情報の全体を読み込むことができる。これにより、インデックス情報を再読み込みする必要がないので、速い再生動作を実現することができる。
ここで、前記演算手段は、前記動画ファイルの再生時間に対して一律に間引かれるように、前記インデックス情報の間引き量を演算してもよい。あるいは、前記動画ファイルの再生時間に対して重みを付けて間引かれるように、前記インデックス情報の間引き量を演算してもよい。重みを付けて間引く方法としては以下の方法がある。 すなわち、前記再生装置は、さらに前記動画ファイルの特性を検出するファイル特性検出手段を備え、前記演算手段は、前記ファイル特性検出手段によって、前記動画ファイルの内容が映画であることが検出された場合、前記動画ファイルの再生時間が経過するに従って前記インデックス情報が低密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、前記インデックス情報は、前記動画ファイルの再生時間が経過するに従って低密度となるので、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
あるいは、前記再生装置は、さらに前記動画ファイルの再生開始位置を検出する再生開始位置検出手段を備え、前記演算手段は、前記再生開始位置検出手段によって検出された再生開始位置前については前記インデックス情報が低密度となるように、前記再生開始位置検出手段によって検出された再生開始位置後については前記インデックス情報が高密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、前記インデックス情報は、前記動画ファイルの再生開始位置前については低密度となり、前記再生開始位置後については高密度となる。これにより、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
あるいは、前記再生装置は、さらに前記動画ファイルの再生モードを検出する再生モード検出手段を備え、前記演算手段は、前記再生モード検出手段によって、前記動画ファイルの先頭をサーチするためのイントロ再生モードであることが検出された場合、前記イントロ再生区間については前記インデックス情報が高密度となるように、前記イントロ再生区間以外の区間については前記インデックス情報が低密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、前記インデックス情報は、前記イントロ再生区間については高密度となり、前記イントロ再生区間以外の区間については低密度となるので、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
あるいは、前記再生装置は、さらに使用者の操作嗜好を検出する操作嗜好検出手段を備え、前記演算手段は、前記操作嗜好検出手段によって、使用者が特定の再生機能を一定頻度以上利用することが検出された場合、当該再生機能を利用するときに必要となる再生区間については前記インデックス情報が高密度となるように、当該再生機能を利用するときに必要とならない再生区間については前記インデックス情報が低密度となるように、前記インデックス情報の間引き量を演算してもよい。これにより、使用者が特定の再生機能を一定頻度以上利用する場合、当該再生機能を利用するときに必要となる再生区間については前記インデックス情報が高密度となり、当該再生機能を利用するときに必要とならない再生区間については前記インデックス情報が低密度となるので、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
ここで、前記再生装置は、さらに前記ファイル特性検出手段、前記再生開始位置検出手段、前記再生モード検出手段、前記操作嗜好検出手段のいずれかを選択的に動作させる選択手段を備えてもよい。これにより、前記ファイル特性検出手段、前記再生開始位置検出手段、前記再生モード検出手段、前記操作嗜好検出手段のいずれかを容易に選択することができる。
また、前記再生装置は、さらに前記動画ファイルを再生する再生手段を備え、前記演算手段は、前記間引き量に基づいて前記動画ファイルの再生開始位置を演算し、前記再生手段は、前記再生開始位置から前記動画ファイルを再生してもよい。これにより、間引いた後のインデックス情報を用いて動画ファイルを正常に再生することができる。
なお、本発明は、このような再生装置として実現することができるだけでなく、このような再生装置が備える特徴的な手段をステップとする情報提示方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
以上の説明から明らかなように、本発明に係る再生装置によれば、データサイズが大きなインデックス情報テーブルを一律に間引きすることにより、必要最小限のメモリしかない再生装置でも、再生点の位置精度を必要以上に損なわずにインデックス情報の全体を読み込むことができる。これにより、インデックス情報を再読み込みする必要がないので、速い再生動作を実現することができる。
また、インデックス情報を重み付けして間引きすることにより、速い再生動作を実現することができるだけでなく、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
よって、本発明により、インデックス情報をメモリに再読み込みすることなく、メモリのサイズより大きなサイズのインデックス情報を用いて動画ファイルを再生することが可能となり、必要最小限のメモリしかない安価な再生装置が普及してきた今日における実用的価値は極めて高い。しかも、ハードウェア面での特別な変更を必要とせずにソフトウェアの制御上の工夫で実現ができるという効果もある。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
(実施の形態1)
図1は、本発明を適用した光ディスク再生装置のハードウェア構成図である。本実施の形態では、光ディスク再生装置の一例として、DVD(デジタル多用途ディスク)を再生可能なDVDプレーヤを用いて説明するが、本発明の適用範囲は、動画ファイルを再生可能な機器であればよく、DVDプレーヤに限定されるものではない。
光ディスク500は、少なくとも動画ファイル及びインデックス情報が記録された記録媒体である。本実施の形態ではDVDプレーヤを光ディスク再生装置の一例として説明しているため、ここでいう光ディスク500はDVDディスクに相当する。
もっとも、少なくとも動画ファイル及びインデックス情報が記録された記録媒体であれば、記録媒体の形態や記録方式などは限定しない。記録媒体の形態としては、ハードディスクドライブや、メモリーカードなどの半導体メモリなどがあり、記録方式としては、光学式以外に磁気式や電気式などがある。
光ピックアップ501は、光ディスク500の記録面にレーザーダイオード(図示せず)を用いてレーザー光を照射し、光ディスク500の記録面に反射した光を読み取ることにより、光ディスク500に記録された信号を読みとる。本実施の形態では、少なくとも光ディスク500に記録された信号を読み取ることができればよいが、光ディスク500に対して信号を記録可能な機能を備えていてもよい。
スピンドルモータ502は、光ディスク500を所定の回転数で回転させる。光ディスク500の保持にはターンテーブルやクランパ(いずれも図示せず)などの保持手段を用いている。具体的には、ターンテーブルに光ディスクを保持し、ターンテーブルを回転させる。
光ディスク制御部503は、光ピックアップ501が光ディスク500から信号を読み取るように制御する。また、スピンドルモータ502が光ディスク500を所定の回転数にて回転させるように制御する。さらに、光ピックアップ501で読み取った信号をデジタル情報に変換する。
AVデコーダ504は、光ディスク500から読み取った動画ファイルをテレビジョン受像機などの表示装置にて表示可能な映像信号にデコードするデコード手段である。
CPU505は、プログラムメモリ507に格納されたプログラムコードに基づき各種信号処理を行う中央演算処理装置である。作業メモリ506に格納された動画ファイル及びインデックス情報の処理や解析を行うことができる。インデックス情報の処理については、図2を用いて後述する。
作業メモリ506は、動画ファイルやインデックス情報などの各種データを一時記憶し、CPU505とともに信号処理を行う。プログラムメモリ507は、CPU505にて行う信号処理を実行するプログラムコードを格納している。映像・音声信号508は、再生装置から出力され、本装置に接続された他機器(テレビジョン受像機など)へ出力される。
図2は、本発明を適用した光ディスク再生装置の要部の機能ブロック図であり、具体的には、図1のCPU505によって実現される機能を表している。この光ディスク再生装置は、機能的には、テーブルサイズ取得手段S40と、演算手段S41と、メモリサイズ取得手段S42と、保持手段S43と、間引き手段S44と、書込手段S45とを備える。
テーブルサイズ取得手段S40は、元(以下「間引く前」という)のインデックス情報テーブルのサイズ情報(後述する)を取得する。演算手段S41は、インデックスエントリ(後述する)を間引きする量を演算する。メモリサイズ取得手段S42は、間引かれたインデックスエントリの格納先となるインデックス情報テーブル用メモリ(作業メモリ506)のサイズ情報を取得する。保持手段S43は、間引く前のインデックスエントリを保持するバッファである。間引き手段S44は、保持手段S43にて保持されるインデックスエントリを演算手段S41の演算結果に基づき間引きする。書込手段S45は、間引き手段S44にて間引かれたインデックスエントリを作業メモリ506に書き込む。入力手段S46は、間引く前のインデックスエントリを本再生装置に入力する。
図3は、間引く前のインデックス情報の構成例を示す図である。この図3に示されるように、インデックス情報は、インデックス情報テーブル100に格納されており、複数のインデックスエントリ101からなる。すなわち、インデックスエントリ101は、インデックス情報を細分化した単位であり、インデックスエントリ101の集合がインデックス情報に相当する。インデックスエントリ101に含まれるインデックス番号102は、各インデックスエントリ101を識別するための番号である。また、再生時間103は、インデックスエントリ101が指す指定時間を表し、チャンクオフセット104は、インデックスエントリ101が指すチャンク位置を表す。
図4は、チャンクとチャンクオフセットとの関係を概念的に表した図である。この図4に示されるように、チャンクM_1〜M_4は、動画ファイルMを構成する単位である。各インデックスエントリ101_1〜101_4に含まれるチャンクオフセットは、それぞれ、チャンクM_1〜M_4の位置を当該動画ファイルMの所定の位置からのバイト数で表している。
図5は、動画ファイルとインデックス情報テーブルとの関係を概念的に表した図である。この図5に示されるように、動画ファイルMのヘッダHには、動画ファイルM内におけるインデックス情報テーブル100の先頭位置情報や、インデックス情報テーブル100のサイズ情報などが格納されている。
図6は、インデックス情報を一律に1/nに間引きする方法を概念的に表した図であり、ここでは、n=2の時の間引き方法を例示している。200は間引く前のインデックス情報テーブル、201は間引いた後のインデックス情報テーブル、202はチャンク毎など所定間隔で設定されたインデックスエントリである。203は、インデックスエントリ202が指す動画ファイルの再生時間軸を表す。この図6に示されるように、間引いた後のインデックス情報テーブル201の方が間引く前のインデックス情報テーブル200よりもデータサイズが小さい。
図7は、インデックス情報の一律な間引き状態を表した図である。300はインデックスエントリの密度[個/時間]、301は動画ファイルの再生時間[時間]、302は間引く前のインデックス情報テーブルにおけるインデックスエントリの密度C、303は間引いた後のインデックス情報テーブルにおけるインデックスエントリの密度C/nを表す。
図1を用いて、以上のように構成された光ディスク再生装置の動作を説明する。
まず、使用者からの再生命令に基づき、光ディスク制御部503は、光ディスク500を所定の回転数で回転させるようにスピンドルモータ502を制御するとともに、光ディスク500に記録された信号(動画ファイル及びインデックス情報など)を読み取るように光ピックアップ501を制御する。光ピックアップ501にて読み取られた信号は、光ディスク制御部503にてデジタル情報に変換され、作業メモリ506に一時的に格納される。この時、光ディスク500から読み出される情報は、作業メモリ506の容量が小さいことを考慮して、動画ファイルの一部のデータのみである。
CPU505は、前記のように作業メモリ506に格納された情報のうちインデックス情報のみを読み出して、このインデックス情報の解析処理を行う。具体的な処理動作については、図2を用いて後述する。
次に、CPU505におけるインデックス情報の解析の結果を、管理情報として作業メモリ506へ格納する。このように格納された管理情報に基づき、光ディスク500から読み出される動画ファイルのストリームデータが、AVデコーダ504へ転送される。これによって、AVデコーダ504では、入力されるストリームデータを動画データにデコードし、映像音声信号508として、外部機器(テレビジョン受像機など)へ出力する。
以上の動作を繰り返すことで、光ディスク500に記録された動画ファイルを再生する。
次に、インデックス情報の間引き動作について説明する。
図6において、間引く前のインデックス情報テーブル200のサイズが、インデックス情報テーブル201を格納する作業メモリ506のメモリサイズよりも大きい場合、本発明が効果を発揮する。すなわち、インデックス情報テーブル201のサイズが元の1/nになるように、再生時間203に対してインデックスエントリ202を一律に間引きすることにより、必要最小限のメモリしか備えていない再生装置でも、インデックス情報の全体を読み込むことができる。
図7は、間引く前のインデックスエントリ密度302は密度Cであったところ、間引き後のインデックスエントリ密度303は密度C/nまで低くなったことを表している。本実施の形態1では、再生時間301に対して一律な間引きを行っているため、図7では、インデックスエントリの密度分布は、再生時間301の軸に対して平行になっている。
図8は,本発明を適用した再生装置の間引き動作を示すフローチャートである。以下、この図8と図2とを用いて、本再生装置の間引き動作を説明する。
まず、使用者によって再生対象となる動画ファイルが指定されると、テーブルサイズ取得手段S40は、作業メモリ506に一部格納されている動画ファイルからインデックス情報テーブルのサイズ情報を取得する(S1→S2)。既に説明した通り、インデックス情報テーブルのサイズ情報は、動画ファイルのヘッダを参照することによって取得することができる。
このようにテーブルサイズ情報を取得する動作と並行して、メモリサイズ取得手段S42は、インデックス情報テーブルを格納するための作業メモリ506のサイズ情報を取得する(S3)。この作業メモリ506にインデックス情報テーブルだけでなくそれ以外の情報も格納する場合は、インデックス情報テーブルを格納するために確保された領域のサイズ情報がメモリサイズ取得手段S42によって取得されることになる。
ここで、演算手段S41は、インデックス情報テーブルのサイズが作業メモリ506のサイズよりも大きい場合、このテーブルのサイズが作業メモリ506のサイズ以下となるように、インデックスエントリの間引き量を演算する(S4でYes→S5)。この「間引き量を演算する」とは、具体的には、図6でいうnの値を算出することをいう。なお、インデックス情報テーブルのサイズが作業メモリ506のサイズよりも小さい場合(S4でNo)、間引き処理は行わない。
一方、入力手段S46は、作業メモリ506に格納されている動画ファイルから光ディスク上におけるインデックス情報の位置情報を取得する。既に説明した通り、インデックス情報の位置情報は、動画ファイルのヘッダを参照することによって取得することができる。このようにインデックス情報の位置情報を取得すると、この位置からインデックスエントリを読み出して(S6)、保持手段S43に保持する(後述する)。
保持手段S43に保持されたインデックスエントリは間引き手段S44に入力され、演算手段S41によって演算された値nに基づいて間引かれる(S7)。具体的には、間引き手段S44は、図6に示すように、加工前のインデックス情報テーブル200のインデックスエントリ202を、1/n(図6の例ではn=2)に間引き、間引いた後のインデックス情報テーブル201のインデックスエントリ202の数を元の1/nに減らす。ここでは、図7に示すように、間引いた後のインデックスエントリの密度303は、時間軸方向にC/nで一定としている。
このようにインデックスエントリが間引かれると、書込手段S45は、間引かれたインデックスエントリを作業メモリ506に書き込む(S8)。
図9は、1/n(n=2)の間引き処理を概念的に表した図である。ここでは、説明を簡略化するために、インデックス情報が10個のインデックスエントリ101_1〜101_10からなる場合において、保持手段S43と作業メモリ506とがいずれも5個のインデックスエントリしか格納できないサイズである場面を想定している。
まず、インデックスエントリ101_1〜101_5は、光ディスクから読み出されると、図9(A)に示されるように、保持手段S43の領域S43_1〜S43_5にそれぞれ保持される。そして、領域S43_1に保持されたインデックスエントリ101_1は作業メモリ506の領域506_1に書き込まれ、領域S43_3に保持されたインデックスエントリ101_3は作業メモリ506の領域506_2に書き込まれ、領域S43_5に保持されたインデックスエントリ101_5は作業メモリ506の領域506_3に書き込まれる。
次に、インデックスエントリ101_6〜101_10は、光ディスクから読み出されると、図9(B)に示されるように、保持手段S43の領域S43_1〜S43_5にそれぞれ保持される。そして、領域S43_2に保持されたインデックスエントリ101_7は作業メモリ506の領域506_4に書き込まれ、領域S43_4に保持されたインデックスエントリ101_9は作業メモリ506の領域506_5に書き込まれる。
このように、10個のインデックスエントリ101_1〜101_10について、1/n(n=2)の間引き処理をした場合は、5個のインデックスエントリ101_1、101_3、101_5、101_7、101_9が、それぞれ、作業メモリ506_1、506_2、506_3、506_4、506_5に書き込まれることになる。
以上のように、本実施の形態によれば、データサイズが大きなインデックス情報テーブルを一律に間引きすることにより、必要最小限のメモリしかない再生装置でも、再生点の位置精度を必要以上に損なわずにインデックス情報の全体を読み込むことができる。これにより、インデックス情報を再読み込みする必要がないので、速い再生動作を実現することができる。
(実施の形態2)
前記実施の形態1では、インデックス情報を一律に間引く構成について説明したが、本実施の形態2では、インデックス情報を重み付けして間引く構成について説明する。
図10は、本実施の形態2における再生装置の要部の機能ブロック図である。テーブルサイズ取得手段S100、メモリサイズ取得手段S102、保持手段S103、間引き手段S104、書込手段S105、入力手段S106については、前記実施の形態1と同じであるため、ここでは詳しい説明を省略することとし、以下、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110、演算手段S101について説明する。
ファイル特性検出手段S107は、再生対象である動画ファイルのファイル特性を検出する。再生開始位置検出手段S108は、再生対象である動画ファイルの再生開始位置を検出する。再生モード検出手段S109は、動画ファイルを再生する際の再生装置の再生モードを検出する。操作嗜好検出手段S110は、再生装置の使用者の特徴的な操作嗜好を検出する。演算手段S101は、テーブルサイズ取得手段S100とメモリサイズ取得手段S102とから得られる情報のみでなく、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、又は操作嗜好検出手段S110から得られる情報をも加味して、インデックスエントリの間引き量を演算する。これら各手段は、図1のCPU505がプログラムを実行することによって実現することができる。
以下、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110の各手段について、さらに詳細に説明する。
[動画ファイルの特性]
図11は、動画ファイルの特性に基づいてインデックス情報を間引いた状態を表した図である。具体的には、先頭から再生する動画ファイルの全体の再生時間が例えば90分から180分程度であり、内容が映画であると推測される場合、そのファイルの特性に合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。
図11において、600はインデックスエントリの密度[個/時間]、601は動画ファイルの再生時間[時間]、602は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、603は重み付けをして間引きを行ったインデックスエントリの密度分布、604は603の密度分布の平均値を表す。
以上のように構成された光ディスク再生装置の動作を説明する。
まず、基本的な光ディスクの再生動作については、前記実施の形態1の動作と同様なので説明を省略する。ここでは、全体の再生時間が長い映画などを再生する場合を想定し、前記実施の形態1にて説明したようにインデックスエントリの密度を時間軸方向に一定するのではなく、図11に示すように、動画ファイルの先頭付近では高密度あるいは間引き無し、そして後端に近づくにつれ低密度になるように、時間軸方向に密度を変化させている。
一般に、インデックス情報を用いる早送り操作などは、使用者が動画ファイルの途中から鑑賞したい時に、目的の再生位置を検索あるいは特定するために使用される操作と考えられるため、動画ファイルの後半部分の位置精度は、前半と比較して低くてもよい。
このような特徴を利用して、光ディスクを再生する際に、光ディスクに記録された動画ファイルの全体の再生時間情報をファイル特性検出手段S107が検出する。検出した再生時間が所定時間以上(例えば90〜180分)の場合は、その光ディスクに記録された動画ファイルは映画であると判断し、CPU505におけるインデックス情報の間引き量を、図11の特性図に基づいて制御する。すなわち、再生しようとしている動画ファイルが映画などの長時間動画ファイルの場合は、図11の603で表されるような独自の重み付け間引きを行う。またこの際、604の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように動画ファイルの特性を検出し、使用頻度に差があると推測されるそれぞれの区間においてインデックス密度を調整することにより、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[再生開始位置]
図12は、再生開始位置に基づいてインデックス情報を間引いた状態を表した図である。具体的には、途中の再生点から再生復帰する場合、その再生開始位置に合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。700はインデックスエントリの密度[個/時間]、701は動画ファイルの再生時間[時間]、702は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、703は重み付けをして間引きを行ったインデックスエントリの密度分布、704は703の密度分布の平均値、705は使用者が再生復帰する再生時間Tsを表す。
以上のように構成された光ディスク再生装置の動作を説明する。
DVDプレーヤには、動画ファイルの途中から再生する機能がある。例えば、前回再生終了時の位置を記憶しておき、次回再生時に記憶した位置から再生を行う機能などがある。
このように使用者が動画ファイルの途中から再生を開始する場合は、一般に前回再生終了時の続きを観賞する可能性が高く、前回再生終了時の手前を再生する可能性は低い。そこで、再生開始位置検出手段S108が前回の再生終了位置Ts705を検出した場合、再生復帰するTs705のタイミング以前は再生される可能性が低いことから、インデックスエントリの密度を低くしている。また、Ts705のタイミング以降は再生される可能性が高いことから、インデックスエントリの密度を高くしている。このように、703で表されるような独自の重み付け間引きを行えば、再生位置精度を上げることができる。またこの際、704の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように再生開始位置を検出し、再生復帰時間705の前後でインデックスエントリ密度を変化させることにより、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[再生モード]
図13は、再生モードに基づいてインデックス情報を間引いた状態を表した図である。具体的には、動画ファイルの先頭をサーチするイントロ再生機能が使用者によって選択された場合、この再生モードに合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。800はインデックスエントリの密度[個/時間]、801は動画ファイルの再生時間[時間]、802は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、803は重み付けをして間引きを行ったインデックスエントリの密度分布、804は803の密度分布の平均値を表す。
このように、イントロ再生モードであることが再生モード検出手段S109によって検出された場合、イントロ再生区間という動画ファイル先頭のみに限定された特定区間に対してインデックスエントリの密度を高く設定することにより、803で表されるような重み付けした間引きを行うことができる。またこの際、804の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように再生モードを判断して、特定区間のインデックスエントリ密度を変化させることにより、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[操作嗜好]
図14は、使用者の操作嗜好に基づいてインデックス情報を間引いた状態を表した図である。具体的には、現在再生位置から数秒手前の位置を一操作で呼び出して再生する機能や、現在再生位置から数秒先の位置を一操作で呼び出して再生する機能を再生開始直後に頻繁に使用する場合、この使用者の操作嗜好に合わせて重み付けをして間引きを行う時の、再生装置でのインデックス情報の読み取り状態例を表している。900はインデックスエントリの密度[個/時間]、901は動画ファイルの再生時間[時間]、902は間引く前ファイルのインデックス情報テーブルにおけるインデックスエントリの密度C、903は重み付けをして間引きを行ったインデックスエントリの密度分布、904は903の密度分布の平均値、905は使用者が再生復帰する再生時間Tsを表す。
このように、使用者が現在再生位置から数秒手前の位置を一操作で呼び出して再生する機能や現在再生位置から数秒先の位置を一操作で呼び出して再生する機能を頻繁に使用することを操作嗜好検出手段S110が検出した場合、操作上の不快感をできるだけ軽減させるために、再生復帰時間905の前後の区間のインデックスエントリ密度を高く設定する。これにより、再生復帰直後に前述の機能が頻繁に使用されても再生位置精度が高いまま検索をすることができる。またこの際、904の値をC/nになるように調整して間引きすることにより、再生装置の作業メモリ506に間引き後のインデックスエントリをすべて格納することができる。
このように使用者の操作嗜好から判断して、インデックスエントリの重み付けを変化させることにより、使用者の特定操作については、必要最小限のメモリサイズでも位置精度を必要以上に悪化させずに迅速な位置検索が可能になる。
[選択]
図15は、本実施の形態2における別の再生装置の要部の機能ブロック図である。この図15に示されるように、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110の各手段と演算手段S101との間に選択手段S111を介在させる構成を採用してもよい。
すなわち、選択手段S111は、使用者からの指示を受けて、ファイル特性検出手段S107、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110のいずれかを選択的に動作させる。これによって、演算手段S101は、テーブルサイズ取得手段S100とメモリサイズ取得手段S102とから得られる情報のみでなく、選択手段S111から得られる情報をも加味して、インデックスエントリの間引き量を演算する。なお、前記選択手段S111については物理的なスイッチ等を採用することができる。
このように選択手段S111を備える構成によれば、再生開始位置検出手段S108、再生モード検出手段S109、操作嗜好検出手段S110のいずれかを容易に選択することができる。これら検出手段のうち複数の検出手段からの検出結果を用いて間引き量を演算する場合は、選択手段S111が複数の検出手段を選択することになるのはいうまでもない。
以上のように、本実施の形態2によれば、インデックス情報を重み付けして間引きするようにしているので、速い再生動作を実現することができるだけでなく、間引くことによる再生点の位置精度の悪化を最小限に抑えることができる。
(実施の形態3)
前記実施の形態1や2では、インデックス情報を間引く構成について説明したが、本実施の形態3では、間引いたインデックス情報を用いて動画ファイルを再生する構成について説明する。
図16は、本実施の形態3における再生装置の要部の機能ブロック図であり、再生手段S47を備えている点、及び演算手段S41の機能が異なる点を除けば、前記実施の形態1と同じである。ここで、演算手段S41は、間引き量に基づいて動画ファイルの再生開始位置を演算する。また、再生手段S47は、演算手段S41によって演算された再生開始位置から動画ファイルを再生する。
図17は、本発明を適用した再生装置の再生動作を概念的に表した図である。ここでは、一律に1/2に間引いた後のインデックス情報と、動画ファイルとの関係を表している。すなわち、インデックスエントリ101_1に含まれるチャンクオフセットは、チャンクM_1の位置を当該動画ファイルMの先頭位置からのバイト数で表している。同様に、インデックスエントリ101_3、5、7に含まれるチャンクオフセットは、それぞれ、チャンクM_3、5、7の位置を当該動画ファイルMの先頭位置からのバイト数で表している。
図18は,本発明を適用した再生装置の再生動作を示すフローチャートである。図17で示したように、一律にインデックス情報が1/2に間引かれた後、使用者によって再生時間1000msecの位置から動画ファイルを再生する旨の指定がされた場合(S11)、演算手段S41は、間引き量1/2に基づいて、インデックスエントリを特定する(S12)。例えば、図3に示したように、再生時間500msecの間隔でインデックスエントリが設定されている場合について考えると、間引きをしていない状態では、先頭から3番目のインデックスエントリ101_5を特定することになるが、ここでは、インデックスエントリが1/2に間引かれていることを考慮して、先頭から2番目のインデックスエントリ101_3を特定する。
次いで、演算手段S41は、インデックスエントリを特定すると、このインデックスエントリに対応するチャンクオフセットを特定し(S13)、再生手段S47に通知する。これによって、再生手段S47は、このチャンクオフセットによって特定されるチャンクから再生を開始する。
以上のように、本発明を適用した再生装置によれば、インデックス情報を間引いた場合でも、その間引き量を用いて再生開始位置を特定するようにしているので、動画ファイルを正常に再生することができる。
なお、ここでは、使用者によって再生時間1000msecの位置から動画ファイルを再生する旨の指定がされた場合について説明したが、当然、使用者によって指定された動画ファイルの再生時間(例えば1300msec)をインデックスエントリの設定間隔(例えば500msec)で割った値が整数値とならない場合もある。このような場合は、2つのインデックスエントリ(例えばインデックスエントリ101_3及び5)のうち、手前のインデックスエントリ(例えばインデックスエントリ101_3)を特定し、そこから再生することで、指定された動画ファイルの再生時間(例えば1300msec)に到達することができる。このとき、手前のインデックスエントリ(例えばインデックスエントリ101_3)から、指定された動画ファイルの再生時間(例えば1300msec)まで表示を更新しなければ、使用者には、指定した再生時間(例えば1300msec)から再生が始まったように見える。
また、ここでは、チャンクオフセットを特定するまでの処理を演算手段S41が行うこととしているが、本発明はこれに限定されるものではない。例えば、演算手段S41がインデックスエントリを特定したら、そのインデックス番号が再生手段S47に通知される構成とし、再生手段S47によってチャンクオフセットが特定される構成を採用しても、前記と同様の効果を得ることができる。
本発明は、インデックス情報をメモリに再読み込みすることなく、メモリのサイズより大きなサイズのインデックス情報を用いて動画ファイルを再生することが必要なDVDプレーヤ等の用途にも適用できる。
図1は、本発明を適用した光ディスク再生装置のハードウェア構成図である。
図2は、本発明を適用した光ディスク再生装置の要部の機能ブロック図である。
図3は、間引く前のインデックス情報の構成例を示す図である。
図4は、チャンクとチャンクオフセットとの関係を概念的に表した図である。
図5は、動画ファイルとインデックス情報テーブルとの関係を概念的に表した図である。
図6は、インデックス情報を一律に1/nに間引きする方法を概念的に表した図である。
図7は、インデックス情報の一律な間引き状態を表した図である。
図8は、本発明を適用した再生装置の間引き動作を示すフローチャートである。
図9は、1/n(n=2)の間引き処理を概念的に表した図である。
図10は、本実施の形態2における再生装置の要部の機能ブロック図である。
図11は、動画ファイルの特性に基づいてインデックス情報を間引いた状態を表した図である。
図12は、再生開始位置に基づいてインデックス情報を間引いた状態を表した図である。
図13は、再生モードに基づいてインデックス情報を間引いた状態を表した図である。
図14は、使用者の操作嗜好に基づいてインデックス情報を間引いた状態を表した図である。
図15は、本実施の形態2における別の再生装置の要部の機能ブロック図である。
図16は、本実施の形態3における再生装置の要部の機能ブロック図である。
図17は、本発明を適用した再生装置の再生動作を概念的に表した図である。
図18は、本発明を適用した再生装置の再生動作を示すフローチャートである。
符号の説明
S40、S100 テーブルサイズ取得手段
S41、S101 演算手段
S42、S102 テーブルサイズ取得手段
S43、S103 保持手段
S44、S104 間引き手段
S45、S105 書込手段
S46、S106 入力手段
S47 再生手段
S107 ファイル特性検出手段
S108 再生開始位置検出手段
S109 再生モード検出手段
S110 操作嗜好検出手段
S111 選択手段