(57)【要約】  データオブジェクトの非連続的格納は、該データオブジェクト（２０２）の取り出し速度を深刻に阻害する。更に、いくつかが断片化されているような複数のデータオブジェクトが取り出されるとき、すべてのデータオブジェクトを取り出す時間はさらに予測しにくくなる。それゆえ、断片化されていないデータオブジェクトのみを取り出すことが望ましい。ある場合では、必ずしもある特定のデータオブジェクトが取り出されなければならないというわけではないので、これは可能である。そのような場合、同じタイプの似たようなデータオブジェクトを取り出せば十分である。このため、本発明は、中でもデータを取り出すための回路（１２４）及び方法を提供する。本発明は、特にトリックプレイのためにオーディオビジュアルデータを取り出すことに適している。レンダリングするために選択された第１フレームが断片化されて格納されているとき、断片化されていない第２フレームが選択され、上記第１フレームの代わりに取り出される。
2007515739.tif 000002
【特許請求の範囲】
【請求項１】
割り当て単位で編成されて記憶装置に格納されたデータオブジェクトを取り出す方法であって、
ａ）取り出すために特定のタイプの複数の既定のデータオブジェクトを選択するステップと、
ｂ）選択された第１データオブジェクトが複数の割り当て単位にわたって断片化されて格納されているかどうかを判定するステップと、
ｃ）もしこの選択された第１データオブジェクトが複数の割り当て単位にわたって断片化されて格納されている場合に、
ｉ）前記選択された第１データオブジェクトの近くに格納されている前記特定のタイプの第２データオブジェクトであって、複数の割り当て単位にわたって断片化されて格納されていないような第２データオブジェクトを選択し、
ｉｉ）前記選択された第１データオブジェクトの選択を取り消す、
ようなステップと、
ｄ）前記選択されたデータオブジェクトを取り出すステップと、
を有する方法。
【請求項２】
前記データオブジェクトがシーケンスで格納され、前記第２データオブジェクトが、
ａ）前記選択された第１データオブジェクトより前の、前記シーケンスにおける最も近くの選択されたデータオブジェクトであるような選択された第３データオブジェクトと、
ｂ）前記選択された第１データオブジェクトと、
の間の及びこれらを含むデータオブジェクトのグループから選択される、
請求項１に記載の方法。
【請求項３】
前記第２データオブジェクトが、前記選択された第３データオブジェクトである、請求項２に記載の方法。
【請求項４】
前記データオブジェクトがシーケンスで格納され、前記第２データオブジェクトが、
ａ）前記選択された第１データオブジェクトよりも後の、前記シーケンスにおける最も近くの選択されたデータオブジェクトであるような選択された第４データオブジェクトと、
ｂ）前記選択された第１データオブジェクトと、
の間の及びこれらを含むデータオブジェクトのグループから選択される、
請求項１に記載の方法。
【請求項５】
前記第２データオブジェクトが前記選択された第４データオブジェクトである、請求項４に記載の方法。
【請求項６】
前記データオブジェクトがビデオストリームに含まれるフレームである、請求項１に記載の方法。
【請求項７】
前記ストリームがコード化されていると共に、イントラコード化及びインターコード化されたフレームを有し、前記特定のタイプのデータオブジェクトがイントラコード化されたフレームである、請求項６に記載の方法。
【請求項８】
前記記憶装置がディスク型媒体である、請求項１に記載の方法。
【請求項９】
割り当て単位で編成されて記憶装置に格納されたデータオブジェクトを取り出す回路であって、該回路が、
ａ）取り出すために特定のタイプの複数の既定のデータオブジェクトを選択し、
ｂ）選択された第１データオブジェクトが、複数の割り当て単位にわたって断片化されて格納されているかどうかを判定し、
ｃ）前記選択された第１データオブジェクトが、複数の割り当て単位にわたって断片化されて格納されている場合、
ｉ）前記選択された第１データオブジェクトより前又は後で近くに格納された前記特定のタイプの第２データオブジェクトであって、複数の割り当て単位にわたって断片化されて格納されてないような第２データオブジェクトを選択し、
ｉｉ）前記選択された第１データオブジェクトの選択を取り消し、
ｄ）前記選択されたデータオブジェクトを取り出す、
ように構成された処理ユニット（１２４）を有する回路。
【請求項１０】
オーディオビジュアルデータを格納するためのメモリ、このメモリからオーディオビジュアルデータを取り出すための請求項９に記載の回路及びこの取り出されたオーディオビジュアルデータをレンダリングするための手段を有する、オーディオビジュアルデータをレンダリングする装置。
【請求項１１】
請求項１に記載の方法を実行するように、処理ユニットをプログラムするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを担持する記録担体。
【請求項１３】
請求項１に記載の方法を実行することを可能にされたプログラムされたコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り当て単位で編成されて記憶装置内に格納されたデータオブジェクトを取り出す方法に関する。本発明は更に、割り当て単位で編成されて記憶装置内に格納されたデータオブジェクトを取り出す回路にも関する。
【０００２】
本発明は、更に、割り当て単位で編成されて記憶装置内に格納されたデータオブジェクトを取り出すための回路を有する、オーディオビジュアルデータをレンダリングするための装置にも関する。
【０００３】
本発明は、割り当て単位で編成されて記憶装置内に格納されたデータオブジェクトを取り出す方法を実行するように処理ユニットをプログラムするコンピュータプログラムにも関する。
【０００４】
本発明は、そのようなコンピュータプログラムを格納する記録担体にも関する。
【０００５】
本発明は、更に、割り当て単位で編成されて記憶装置内に格納されたデータオブジェクトを取り出す方法を実行することを可能にされたプログラムされたコンピュータにも関する。
【背景技術】
【０００６】
メモリに格納されるデータは、好ましくは連続的に格納される。このようにデータは読み込みユニットにより一つの読込動作において取り出されうる。しかしながら、データファイル及びオーディオビジュアルデータのストリームのようなさらなるデータオブジェクトの格納及びファイルの削除により、データオブジェクト間に比較的小さなギャップが起こる。これは空の空間であるが、通常は完全なデータオブジェクトを格納するには十分な空間ではない。それでも、この空の空間から恩恵を被るためには、データオブジェクトは、断片で格納されなければならない。これは不利である。この理由は、取り出す間読込ユニットは断片から断片へと切り替わらなければならないからである。この切り替わりの間、データを読み込むことはできない。実行可能なコンピュータプログラム及びテキストファイルのようなデータオブジェクトの取り出しにとって、そのようなデータオブジェクトの完全な取り出しの方が通常実際の取り出し速度よりも重要であるので、これは必ずしも問題にはならない。
【０００７】
一方、ビデオストリームのようなオーディオビジュアルデータを取り出すとき、適時な供給が重要である。通常ビデオデータは、格納前に圧縮される。ＭＰＥＧ−２のようなもっとも頻繁に使われる圧縮アルゴリズムは、予測圧縮に基づいており、これは、ビデオフレームの少なくともいくつかを伸張するために、複数の（圧縮されていない）他のフレームのデータが必要とされることを意味する。データが間に合って渡されないとき、オーディオビジュアルデータのレンダリングにおいて問題が起こり、ビデオのギクシャク又はスクリーンのブラックアウトさえ起こるかもしれない。映画を見る消費者にとって、これはとても不快なものになる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
データオブジェクトの断片化により起こる取り出し時間の増大は、データ取り出し要求をスケジュールする際に考慮されうるが、これはかなり困難である。これは特に、比較的少数のフレームのみが取り出される高速トリックプレイ再生の場合にあてはまる（トリックプレイ再生は、高速及び低速の早送り／巻き戻しと同様に非実時間再生である）。一つのオブジェクトの取り出し時間の大きな増加は、スケジュールにより考慮されていないとき、システムの実時間動作を深刻に妨げうる。
【０００９】
この問題は、例えばデータオブジェクトの断片化が良く知られた問題であるハードディスクドライブ上ばかりでなく光学ドライブ上に格納されたビデオデータでも起こる。というのはＤＶＤ＋ＲＷのような個々のファイルを格納及び削除することができる書き換え可能な光学ドライブが民生電子装置の世界で急速に進歩しているためである。
【００１０】
米国特許第５８４２０４６号は、トリックプレイにおけるデータ取り出しを容易にするため、別の割り当て単位で断片化されていないＩフレームを格納する方法を提案している。しかしながら、Ｉフレームはサイズが異なるので、いつも空の記憶空間が割り当て単位で残されていることになり、結果として記憶空間の浪費となっている。
【課題を解決するための手段】
【００１１】
それゆえ、データオブジェクトの断片化の、これらのデータオブジェクトのデータ取り出しに対する不都合な影響を減少させる方法を提供することが、本発明の目的である。この目的は、本発明によれば、取り出しのために特定のタイプの複数の既定のデータオブジェクトを選択するステップと、選択された第１データオブジェクトが複数の割り当て単位にまたがって断片化されて格納されているかどうかを判定するステップと、もし前記選択された第１データオブジェクトが複数の割り当て単位にまたがって格納されている場合は、前記選択された第１データオブジェクトの近くに格納された前記特定のタイプの第２データオブジェクトであって、複数の割り当て単位にまたがって断片化されて格納されていないような第２データオブジェクトを選択するステップと、前記選択された第１データオブジェクトの選択を取り消すステップと、前記選択されたデータオブジェクトを取り出すステップとを有する方法により成し遂げられる。
【００１２】
すべてのデータオブジェクトがある特定のタイプであるような、選択されたデータオブジェクトのシーケンスが取り出されなければならないとき、ある特定の選択されたデータオブジェクトが取り出されなければならないかが重要ではないような場合が想像され得る。このオブジェクトは、該選択されたデータオブジェクトの近くの前記の特定のタイプの他のデータオブジェクトでもあり得る。これは、例えば、別の問題への解決策を提供する未公開の欧州特許出願第ＥＰ−０３１００９７３．１号（出願整理番号ＰＨＮＬ０３０３６１）によっても提案されている。この出発点から推察すると、選択という観点からは、最初に選択された断片化されたデータオブジェクトが取り出されるか、又は当該シーケンスにおける上記最初に選択されたデータオブジェクトの近くの２番目に選択された断片化されていないデータオブジェクトが取り出されるかは、ほとんど違いはないだろう。しかしながら、データ取り出しという観点からは、大きな違いとなる。というのは、２番目に選択された断片化されていないデータオブジェクトの取り出しは、最初に選択された断片化されたデータオブジェクトを取り出しよりも極めて少ない時間しかかからないからである。それゆえ本発明による方法は大きな利点を提供する。
【００１３】
本発明の一実施例において、前記データオブジェクトはシーケンスで格納され、前記第２データオブジェクトは、前記選択された第１データオブジェクトより前の最も近くで選択されたデータオブジェクトであるような選択された第３データオブジェクトと、前記選択された第１データオブジェクトとの間の及びこれらを含むデータオブジェクトのグループから選択される。
【００１４】
前記第２データオブジェクトは、前記選択された第１データオブジェクトより前又は後の何れかで選択されることがありうるが、通常の場合、大きな違いはない。しかしながら、選択された第１データオブジェクトよりも後に位置された特定のタイプのデータオブジェクトが、選択された第１データオブジェクトよりも前に位置された特定のタイプのデータオブジェクトよりも、選択された第１データオブジェクトからより多く外れるとき、選択された第１データオブジェクトよりも前の第２データオブジェクトを選択するのが望ましい。このようにして、最も代表的なトリックプレイストリームが、視聴者に提供される。
【００１５】
これまでに説明された実施例に基づいたさらなる実施例では、前記第２データオブジェクトは前記選択された第３データオブジェクトとなる。
【００１６】
本発明による方法のこの実施例では、取り出しのために必要な時間がさらに低減される。しかしながら、レンダリング及び表示のためのオーディオビジュアルデータのストリームを取り出すために本発明を利用するとき、これには、トリックプレイストリームの表示においていくらかジッタをもたらすという不都合な点がある。一方、トリックプレイ速度が一層高ければこれは問題にならない。更に、割り当て単位のサイズが取り出すデータオブジェクトのサイズよりも大幅に大きいとき、選択されたデータオブジェクトが断片化されている確率はかなり低くなる。
【００１７】
本発明による回路は、取り出しのための特定のタイプの複数の既定のデータオブジェクトを選択し、選択された第１データオブジェクトが複数の割り当てユニットにわたって断片化されて格納されているかどうかを判定し、もし選択された第１データオブジェクトが複数の割り当てユニットにわたって断片化されて格納されているならば、前記選択された第１データオブジェクトより前又は後の近くに格納された特定のタイプの第２データオブジェクトであって、複数の割り当てユニットにわって断片化されて格納されていないような第２データオブジェクトを選択し、前記選択された第１データオブジェクトの選択を取り消し、前記選択されたデータオブジェクトを取り出すように構成された処理ユニットを有する。
【００１８】
本発明による装置は、オーディオビジュアルデータを格納するメモリ、このメモリからオーディオビジュアルデータを取り出すための請求項９に記載の回路及び取り出されたオーディオビジュアルデータをレンダリングする手段を有する。
【００１９】
本発明によるコンピュータプログラムは、処理ユニットを、請求項１に記載の方法を実行するようにプログラムするように構成される。
【００２０】
本発明による記録担体は、請求項１１に記載のコンピュータプログラムを担持する。
【００２１】
本発明によるプログラムされたコンピュータは、請求項１に記載の方法を実行することが可能なようにされる。
【００２２】
本発明の実施例は、図により詳細に説明されるだろう。
【発明を実施するための最良の形態】
【００２３】
図１は、本発明による装置の一実施例としての民生電子装置１１０、ユーザー制御装置１６０及びＴＶセット１５０を有する民生エンタテイメントシステム１００を示す。
【００２４】
前記装置１１０は、オーディオビジュアルデータを格納する記憶装置（好ましくはハードディスクドライブ）１２２、当該装置を制御するための処理ユニット１２４、該処理ユニット１２４をプログラムするためのプログラムデータを格納する本発明による記録担体の一実施例としての読み込み専用メモリ（ＲＯＭ）１２６、ハードディスクドライブ１２２からビデオレンダリングユニット１３０（同様に、当該装置に含まれる）へ高速にデータを伝送するためのＤＭＡコントローラ１２８及びユーザーコマンドを受け取るユーザーコマンドコントローラ１３４を有する。ＲＯＭ１２６は、ソリッドステートＲＯＭ、ＥＥＰＲＯＭ、磁気データ担体、光学データ担体又は他の担体のような様々な方法で実施化されうる。処理ユニット１２４及びＲＯＭ１２６は、本発明による回路の一実施例を形成する。
【００２５】
ＴＶセット１５０は、スクリーン１５２を有する。ＴＶセットは、第１コネクタ１３２により民生電子装置１１０に接続される。
【００２６】
ユーザー制御装置１６０は、民生電子装置１１０によりオーディオビジュアルデータのストリームの再生の速度及び向きを制御するために、再生ボタン１６２、巻き戻しボタン１６４及び早送りボタン１６６を有する。ユーザー制御装置１６０は、第２コネクタ１３６により民生電子装置１１０に接続されている。該接続は有線又は無線になりうるが、これは本発明の動作とは無関係である。
【００２７】
民生電子装置１１０は、ハードディスクドライブ１２２に格納されたオーディオビジュアルデータのストリームの再生を意図されている。別の実施例において、これは光学ディスクがありうる。再生は、例えば再生ボタン１６２を押す等の、ユーザーコマンドにより開始される。これはユーザー制御装置１６０において制御信号を発生させ、その制御信号は、ユーザーコマンドコントローラ１３４により受信され処理ユニット１２４に伝送される。
【００２８】
上記制御信号を受け取ると、ＲＯＭ１２６内のプログラムによりプログラムされた処理ユニット１２４は、ハードディスクドライブ１２２からのオーディオビジュアルデータの取り出しを開始し、取り出されたデータのＤＭＡコントローラ１２８を介してのビデオレンダリングユニット１３０への伝送を準備する。ビデオレンダリングユニット１３０は、この実施例ではＭＰＥＧ（Motion  Pictures  Expert  Group）２規格により圧縮されたオーディオビジュアルデータを復号する。該ビデオレンダリングユニットの出力は、知られたフォーマット（例えばＳＥＣＡＭ又はＰＡＬ）によるビデオ信号であり、ＴＶセット１５０で見ることができる。該ビデオ信号は、第１コネクタ１３２を介して供給される。
【００２９】
図２は、ＭＰＥＧ２規格により圧縮された圧縮ビデオデータのストリーム２００を示す。ストリーム２００は、３つの異なるタイプの圧縮されたフレームからなる。これらフレームは、いわゆるGroup  of  Pictures、即ちＧＯＰにグループ化されている。この例の場合、６なるＧＯＰサイズがとられているが、当業者は、ほかのＧＯＰサイズもまた許容されると理解するであろう。
【００３０】
「Ｉ」フレームはイントラ符号化されており、これは、これらフレームが適切な伸張アルゴリズムと、このフレーム自身からのデータとを用いて伸張されうることを意味する。「Ｂ」及び「Ｐ」フレームはインター符号化されており、これは、これらフレームを伸張するためには、他の（デコードされた）フレームからのデータも必要とされることを意味する。圧縮されたＰフレームのデコードには、直前のＩフレーム又はＰフレームからのデータが必要とされる。Ｂフレームの伸張には、先行する及び／又は後続するＩフレーム又はＰフレームからのデータが必要とされる。
【００３１】
当該データの通常の実時間再生の間においてすべての画像を見せることは、前の段落で説明されたすべてのデコードを実時間で実行することができるので、ＴＶセット１５０（図１）のディスプレイ１５２（図１）上に滑らかなビデオ映画をレンダリングする。例えば実時間再生中にユーザーが巻き戻しボタン１６４又は早送りボタン１６６を押した場合のような、当該ビデオデータの高速再生の場合、全てのフレームを該高速再生と同期してデコードすることは、もはや不可能になる。そのような場合には、ヒトの目及び脳により処理することができるより多くのフレームがレンダリングされるので、これは必要というわけでもない。
【００３２】
それゆえ、通常Ｉフレームのみがレンダリングされる。ストリーム２００の場合、これは、高速再生では第１Ｉフレーム２０２、第２Ｉフレーム２０４、第３Ｉフレーム２０６及び第４Ｉフレーム２０８がトリックプレイ２２０へと結合されることを意味するだろう。ストリーム２００と同じフレームレートでのトリックプレイストリーム２２０の再生は、結果として６倍の速度の増加となる。すべてのフレームが３倍長く表示されると、これは２倍の速度増加という結果になるだろう。
【００３３】
例えば実時間の１２倍等の一層高速なレンダリング速度の場合、いくつかのＩフレームのレンダリングはスキップすることができ、選択された数のＩフレームのみがレンダリングされうる。これが、ストリーム３００を示す図３に図示されている。ストリーム３００は、ＭＰＥＧ２規格を用いて圧縮されている。単純化のためにＩフレームのみが示され、ＧＯＰサイズは６である（１つのＩフレームに対して、各Ｉフレーム後の１つのＰフレームと４つのＢフレームとが伴う）。ＧＯＰサイズが６であり、それぞれのＧＯＰが１つのＩフレームを持つので、図３において矢印で示された２つ置きのＩフレームがレンダリングされなければならない。この場合において、各フレームは通常の再生速度間と同じ長さで示され、再生の速度上昇係数は１２となる。
【００３４】
ハードディスクドライブ１２２のようなハードディスクドライブは、割り当て単位で編成される。ビデオ記憶のような民生電子アプリケーションでは、割り当て単位は比較的大きい。割り当て単位がセクターと同じではないと理解することが重要である。ビデオ記憶に対しては、それらはＩフレームのサイズよりも少なくとも大幅に（少なくとも１０倍）大きい。にもかかわらず、１つのＩフレームのデータは、２つの連続しない割り当て単位にわたって断片化されるように格納されうる。これは、そのようなＩフレームの取り出しには、断片化されていないＩフレームの取り出しに必要な時間の２倍の時間がかかることを意味する。
【００３５】
実際に追加される時間は、２つの割り当て単位の間のシーク距離と回転遅れとに依存する。この理由は、１つのディスク要求の間では、少なくとも１つの割り当て単位の１つの連続するブロックのみのデータが取り出されうるからである。２つの連続していない割り当て単位にわたって分散されたＩフレームのような、断片化されたデータオブジェクトが、（１つの）ファイル要求の命令により取り出されなければならないとき、２つのディスク要求が発せられ、実行されなければならない。ファイル要求からディスク要求への変換は、ホストソフトウェアスタックの一部であるファイルシステムにより実行される。
【００３６】
バー３５０は、ハードディスクドライブ１２２の一部を模式的にあらわしたものであり、第１割り当て単位３５２、第２割り当て単位３５４、第３割り当て単位３５６及び第４割り当て単位３５８に分けられている。１つの割り当て単位のサイズは１つのＩフレームのサイズよりも大きいが、１つのＩフレームが２つの割り当て単位に断片化されて格納されることも依然として可能性である。更に、これら割り当て単位は連続して描かれているが、斯かる割り当て単位はディスク上で必ずしも連続して位置されていなければならないわけではない。
【００３７】
割り当て単位がディスク上で連続して位置していないとき、１つのＩフレームの取り出しのために、２つの割り当て単位からのデータが取り出されなければならないという問題が起きる。これは、１つのファイル要求に対して、２つのディスク要求が実行されなければならない（１つのディスク要求により、多くて１つの割り当て単位のデータが取り出されうる）ということを意味している。これは、断片化されたＩフレームの取り出し時間を、断片化されていないＩフレームのデータ取り出しと比較して増大させる。
【００３８】
オーディオビジュアルデータの再生では、データがハードディスクドライブ１２２（図１）から時間内に取り出され、ビデオレンダリングユニット１３０（図１）により時間内にレンダリングされることが重要である。更に、ハードディスクドライブが２つ以上のアプリケーションにより使われるとき、ディスク要求の数を限定してデータは効率よく取り出されるべきである。
【００３９】
例えば当該ビデオストリームの実時間再生と比較して１０なる速度上昇係数より高いような、本当に高速でのビデオストリームのトリックプレイ（より速い又はより遅いの何れかの非実時間速度でのビデオストリームのレンダリング）の場合、Ｉフレームが厳密に周期的に選ばれるかどうかは重要ではない。図３に図示された例の場合、これは、レンダリングのために４番目のＩフレームの代わりに３番目のＩフレームが選ばれるか又は５番目のＩフレームが選ばれるかどうか、及びレンダリングのために８番目のＩフレームの代わりに７番目のＩフレームが選ばれるか又は９番目のＩフレームが選ばれるかということに違いはほとんどないだろうということを意味している。
【００４０】
上記の理由のため、本発明による方法の一実施例を用いれば、ストリーム３００の高速再生は、図４に示されたフローチャート４００により描写された方法を用いて、第１、第５、第８、第１２番目のＩフレームが取り出されレンダリングされることになるであろう。レンダリングのために４番目のＩフレームの代わりに５番目のＩフレームを取り出すことにより、必要とされるディスク要求が１つ少なくなり、ストリーム３００の高速再生のためのデータの取り出しに必要とされる時間も少なくなる。
【００４１】
上述した本発明による方法の実施例を、フローチャート４００により一層詳細に説明する。フローチャート４００は、トリックプレイコマンドを受ける出発点４０２から開始される。次に４０４の処理において、取り出し及びレンダリングのために第１の複数のフレームが選択される。どのフレームが選択されるかは、主にユーザーにより選択されたトリックプレイの速度に依存する。トリックプレイの速度が速いときは、トリックプレイの速度が遅いときよりも、互いからは長い距離で、少ないフレームが選択される。図３に図示された例では、４つ置きのフレームが選択される。
−  次に、判定４０６において、上記の選択された第１フレームの何れかが断片化されて格納されているか、即ち複数の連続しない割り当て単位上に分散されているかどうかを調べる。これは様々な方法で実行されうる。
通常、ファイルシステムは、ファイルデータが格納されるディスク位置のリストを保持している。従って、取り出されるべきファイルの断片のような如何なるデータオブジェクトに対しても、（例えば、バイトでのスタートオフセット及びバイトの長さで）位置が見つかりうる。データオブジェクトに対するすべてのディスク位置が連続的ではないとき、このデータオブジェクトは断片化されて格納される。このように、あるデータオブジェクトが断片化されているかどうかを判明させるのは些細なことである。
ビデオアプリケーションは、Ｉフレームのようなビデオセグメント及びそれらの当該ファイル（又はビデオストリーム）内での位置を記述したリストを保持しており、例えばＣＰＩ（Characteristic  Point  of  Information）ファイルは、各Ｉフレームに対してバイト単位のスタートオフセット及びバイト単位の長さを持っている。それゆえ、所与のＩフレームに対して、取り出されるべきファイルの断片を見つけるのはきわめて単純である。上記の２つの方法を組み合わせて、Ｉフレームの取り出しが断片化されているか否かを直接得る。
−  Ｉフレームのようなデータオブジェクトは、割り当て単位のリンクされたリストに格納される。当該データオブジェクトが割り当てられる２つの順次の割り当て単位は、連続しているか又は連続していない。データが連続せずに格納されるポイント（箇所）は、ファイルのスタートからの距離として（ビット又はメガビットで）表現されてリストに保持される。その上、Ｉフレームの各々のスタート及び長さもまたリストに格納され、該リストにおいてもスタートはファイルのスタートからの距離として（ビット及びメガビットで）表され、同様に長さもビット又はメガビットで表されうる。両方のリストを組み合わせてれば両方のリストを並行して調べる（走査する）ことにより、Ｉフレームのどれが連続して格納されているかどうかを容易に判定することができる。
ｐ＿１、ｐ＿２、ｐ＿３、...、ｐ＿ｎが、データが連続せずに格納されているファイル内の位置を指すとする。（ｓ＿１、ｌ＿１）、（ｓ＿２、ｌ＿２）、（ｓ＿３、ｌ＿３）、...、（ｓ＿ｍ、ｌ＿ｍ）が、順次のＩフレームのスタート位置及び長さのリストであるとする。この場合、１．ｓ＿ｊ＜ｐ＿１＜ｓ＿ｊ＋ｌ＿ｊ又は２．ｓ＿ｊ＋ｌ＿ｊ＜ｐ＿１＜ｓ＿（ｊ＋ｌ）となるｊが見つかるまで２番目のリストを調べることができる。
最初のケースでは、当該ファイル内の最初の連続していない部分がＩフレーム、すなわち正確にはｊ番目のＩフレームを断片化することがわかる。２番目のケースでは、それはＩフレームを断片化しない。この手順は、すべての連続していない部分を調べるために続けられうる。
【００４２】
少なくとも１つの選択されたＩフレームが断片化されているとき、処理ステップ４１２において、断片化された第１フレームの近くで、第２Ｉフレームが選択される。これは、断片化されたＩフレームの直前又は直後のＩフレームとすることができるが、第１のＩフレームのグループからの上記断片化されたＩフレームより前又は後の第２Ｉフレームとすることもできる。これは、「近く」という言葉が、時間的に近く（再生時間の意味で）として又は論理的に近く（ビット単位での距離という意味で）として定義されていることを意味する。これは、ディスクプラッタ上で空間的に近いということは必ずしも意味しているわけではない。
【００４３】
有利な実施例においては、断片化されたＩフレームの直前又は直後の選択された第１Ｉフレームが選択される。言い換えると、最後に表示されたＩフレームが再び表示され、断片化されたＩフレームの表示の代わりになる。この実施例の利点は、２のディスク要求さえ節約されることである。さらなる実施例では、断片化されたＩフレームの直後の選択されたＩフレームが表示され、該断片化されたＩフレームの表示を置換する。
【００４４】
ステップ４１２で第２Ｉフレームが選択された後、ステップ４１４において、断片化された第１Ｉフレームの選択は取り消される。次に、処理はステップ４０８へと継続し、該ステップにおいて上記の選択された第１及び第２Ｉフレームがレンダリングのために取り出される。判定４０６において、選択されたフレームがどれも断片化されて格納されてないことが検出されるとき、当該処理は直接ステップ４０８に続く。最後に、最終ステップ４１０において、上記の取り出されたＩフレームはＴＶセット１５０（図１）のスクリーン１５２（図１）に表示するためにレンダリングされる。
【００４５】
本発明の実施例は、すべてＭＰＥＧ−２規格により圧縮されたビデオストリームが格納されているハードディスクを用いて説明されているが、本発明は他の状況にもまた応用することができる。これの例としては、ＭＰＥＧ−４及びＤＶのようなほかのビデオ記憶規格が挙げられる。本発明の範囲から逸脱することなく様々な変形例が可能である。前記ハードディスクドライブは、光学若しくは光磁気ディスク、又はソリッドステートメモリによってさえ置き換えられうる。他の圧縮アルゴリズムもまた利用されうる。更に、取り出されるべきデータは、ビデオデータ以外でもありうる。これの例としては、高速トリックプレイのためにスーパー・オーディオ・コンパクト・ディスクからオーディオバーストが取り出されるべき場合が挙げられる。
【００４６】
本発明の実施例は、トリックプレイの間にＩフレームのみを取り出すことにより説明されている。しかしながら、先行するＩフレーム又はＰフレームをデコードしておけば（Ｐフレームをデコードするには、このフレームが必要であるので）、Ｐフレームも同様に取り出すことができる。理論的に、これは、Ｂフレームもまた取り出されうることを意味しているが、高速トリックプレイモードでは、おそらく過度に大きな処理能力が必要とされると共に、過度に多くの他のフレームが取り出され、デコードされなければならないので、この実施例を非効率にさせてしまう。従って、本発明によれば「特定のタイプ」のフレームが取り出されるべきであるが、本発明を高速トリックプレイのためにＭＰＥＧ２でエンコードされたデータの取り出しに適用する場合は、該「特定のタイプ」はＩフレームに限定されるものではない。
【００４７】
また、本発明は、非オーディオビジュアルデータの選択された部分を取り出すときにも利用されうる。もっとも、このような場合には実時間要件は通常より緩やかになる。例えば平均値、中央値又は標準偏差を決定するために測定値のシーケンスから選択がなされ、選択された部分から選択された部分への変動が高すぎないとき、本発明は同様に利用されうる。
【００４８】
更に、単一の処理ユニットにより実行されるように説明されている様々なタスクは、本発明の範囲から逸脱することなく、本発明のほかの実施例において複数のモジュールにより同様に実行されることがありうる。一方、複数のモジュールによって実行されると説明されているタスクもまた、１つの処理モジュールにおいて同様に一緒にされうる。
【００４９】
本発明は以下のように要約されうる。データオブジェクトの非連続的格納は、前記データオブジェクトの取り出し速度を深刻に阻害する。更に、いくつかが断片化されている複数のデータオブジェクトが取り出されるとき、すべてのデータオブジェクトの取り出し時間は予測しにくい。それゆえ、断片化されていないデータオブジェクトのみを取り出すのが望ましい。ある特定のデータオブジェクトが必ずしも取り出されなければならないわけではないので、ある場合ではこれは可能である。そのような場合、同じタイプの似たようなデータオブジェクトの取り出しで十分である。このため、本発明は、中でもデータを取り出すための方法及び回路を提供する。本発明は、トリックプレイのためにオーディオビジュアルデータを取り出すのに特にふさわしい。レンダリングのために選択される第１フレームが断片化されて格納されているとき、第１フレームの代わりに断片化されていない第２フレームが選択され、取り出される。
【図面の簡単な説明】
【００５０】
【図１】図１は、本発明による回路の一実施例を有する装置を示す。
【図２】図２は、選択されたフレームのストリーム及びオーディオビジュアルデータのストリームを示す。
【図３】図３は、割り当て単位に分割された記憶媒体の概略図及びオーディオビジュアルデータの他のストリームを示す。
【図４】図４は、本発明による方法の一実施例を示す。
【図１】
2007515739.tif 000003
【図２】
2007515739.tif 000004
【図３】
2007515739.tif 000005
【図４】
2007515739.tif 000006
【国際調査報告】
2007515739.tif 000007
2007515739.tif 000008
2007515739.tif 000009