(57)【特許請求の範囲】
【請求項１】
複数の画像グループを含む動画データを読み込み、
前記動画データに含まれた先頭画像グループ及び次画像グループから取り込まれた時間情報及びバイト位置情報と、該画像グループ間のフレーム数とに基づいて、１画像グループ時間を計算し、
前記動画データの前記先頭画像グループから取り込まれた前記時間情報及びバイト位置情報と最終画像グループから取り込まれた時間情報及びバイト位置情報とに基づいて、該動画データの総再生時間を算出し、前記動画データの総バイト数に基づいて先頭画像グループと前記最終画像グループ間の平均ビットレートを算出し、
前記先頭画像グループに対応させて、該先頭画像グループの前記時間情報に基づいた再生時間及び前記バイト位置情報と、前記平均ビットレートとを格納し、前記最終画像グループに対応させて、前記動画データの前記総再生時間と前記最終画像グループから取り込まれたバイト位置情報を格納して、テーブルを作成し、
前記動画データの再生指示に従って、前記テーブルから再生指示時間に対応する前記再生時間を検索し、該再生指示時間が該テーブル上の再生時間と一致する場合には、一致した再生時間に格納されたバイト位置情報を前記動画データにおけるアクセスバイト位置とし、該再生指示時間が該テーブル上の再生時間に一致しない場合には、前記平均ビットレートを読み出し、該平均ビットレート及び該再生指示時間と該再生時間との差分とに基づいて求めたバイト数と、前記再生指示時間に対応する画像グループのバイト位置情報とから、前記再生指示時間に対応する前記動画データにおけるアクセスバイト位置を算出し、
前記アクセスバイト位置から前記動画データの再生を行うことを特徴とする動画データの再生方法。
【請求項２】
前記アクセスバイト位置から再生済の前記画像グループから取り込まれた前記時間情報及び前記バイト位置情報と前記フレーム数とから、該各画像グループ間の平均ビットレートを算出し、該画像グループに係る時間情報、該バイト位置情報及び該平均ビットレートを前記テーブルに格納し、
前記テーブルに格納された前記再生済みの前記画像グループに係る前記時間情報、前記バイト位置情報及び前記平均ビットレートに基づいて、アクセスすべき非再生部分の画像グループに係る平均ビットレートを修正することを特徴とする請求項１に記載の動画データの再生方法。
【請求項３】
前記非再生部分の画像グループについて再生する場合、当該画像グループに係る平均ビットレートに、該再生のための指示時間が前記テーブルに格納された前記時間情報に近い方の前記平均ビットレートを用いることを特徴とする請求項２に記載の動画データの再生方法。
【請求項４】
前記テーブルに格納された複数の平均ビットレートのうち、隣接して格納された平均ビットレート同士が同一の場合、一方の平均ビットレートに係る画像グループの時間情報、バイト位置情報及び当該平均ビットレートを前記テーブルから削減することを特徴とする請求項２又は３に記載の動画データの再生方法。
【請求項５】
複数の画像グループを含む動画データに含まれた先頭画像グループと続く次画像グループとから取り込まれた時間情報及びバイト位置情報と該画像グループ間のフレーム数とに基づいて、１画像グループ時間を計算する計算手段と、
前記先頭画像グループと前記画像データの最終画像グループとから取り込まれた時間情報及びバイト位置情報に基づいて該動画データの平均ビットレートを算出する平均ビットレート算出手段と、
前記先頭画像グループに対応させて、該先頭画像グループの前記時間情報に基づいた再生時間及び前記バイト位置情報と、前記平均ビットレートとを保存し、前記最終画像グループに対応させて、前記動画データの総再生時間と前記最終画像グループから取り込まれたバイト位置情報を保存したテーブルを格納するテーブル格納手段と、
前記動画データの再生指示に従って、前記テーブルから再生指示時間に対応する前記再生時間を検索し、該再生指示時間が該テーブル上の再生時間と一致する場合には、一致した再生時間に格納されたバイト位置情報を前記動画データにおけるアクセスバイト位置とし、該再生指示時間が該テーブル上の再生時間に一致しない場合には、前記平均ビットレートを読み出し、該平均ビットレート及び該再生指示時間と該再生時間との差分とに基づいて求めたバイト数と、前記再生指示時間に対応する画像グループのバイト位置情報とから、前記再生指示時間に対応する前記動画データにおけるアクセスバイト位置を算出するアクセス位置算出手段と、
前記算出されたアクセスバイト位置から前記動画データを再生する再生手段と、
を有することを特徴とする動画データの再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＭＰＥＧ (Moving Picture Experts Group) データの再生方法及び再生装置に関し、特に可変ビットレート（ＶＢＲ; Variable Bit Rate）で蓄積されたＭＰＥＧデータを読み出して再生する場合に、任意の位置から再生、逆再生、早送り、又は巻き戻しを行うランダムアクセス可能なＭＰＥＧデータの再生方法及び再生装置に関するものである。
【０００２】
【従来の技術】
現在、ＭＰＥＧのエンコーダの価格は低下し、またＬＡＮの高速化により大容量のデータの転送も可能となってきたため、ＭＰＥＧの圧縮方式は広く普及している。動画像を圧縮して蓄積する方式であるＭＰＥＧ１及びＭＰＥＧ２方式では、再生方向を時間軸の順方向に再生することを前提に圧縮がなされる。
【０００３】
その圧縮には動画像を固定のビットレートで圧縮する方式（ＣＢＲ；Constant Bit Rate）と、映像品質を同程度に保つために圧縮効率の悪いシーンにおいては高ビットレートで圧縮し、反対に圧縮効率の良いシーンでは低ビットレートで圧縮する可変ビットレートの圧縮方式（ＶＢＲ）とがある。
【０００４】
ＭＰＥＧ方式では、ランダムアクセスを可能とするポイントとしてＧＯＰ (Group of pictures) 単位が規定されている。ＧＯＰの先頭フレームは、前方及び後方フレームの参照を伴わず復号化可能なＩフレームで始まり、その参照を伴うＰ、Ｂフレームが連続する。そのため、ＧＯＰのポイントからは順方向の再生が可能であり、ＭＰＥＧ動画像を任意のポイントから再生するときはその近傍のＧＯＰポイントから再生を開始する。
【０００５】
ＣＢＲで蓄積されているＭＰＥＧファイルの場合、ＧＯＰのポイントは一定のビットレートとＧＯＰ内のフレーム数とによりＧＯＰサイズが確定するため、単純計算でＧＯＰのポイントを検索することが可能である。それに対して、ＶＢＲで蓄積されているＭＰＥＧファイルの場合には、ＧＯＰのサイズがＧＯＰ毎に変動するためＧＯＰポイントの検索が容易でない。
【０００６】
このため、ＧＯＰのポイントがインデックス情報等として付加されていない任意の蓄積データ、例えばネットワークを介してダウンロードしたＶＢＲのＭＰＥＧデータ等、に対しては、そのＧＯＰのポイントを知るために前記蓄積データを全てスキャンし、ＧＯＰのポイントをインデックスファイル等の別情報として作成する。その後、作成した情報を用いてシークすることで、先頭データからの順方向再生以外の特殊な再生操作に対応していた。
【０００７】
【発明が解決しようとする課題】
前述したように、任意のＭＰＥＧ蓄積データ、特にＶＢＲによるＭＰＥＧ蓄積データ、の特殊再生を行うときには再生前にインデックスファイル等を作成していたため、平均ビットレートが高い蓄積データや長時間の蓄積データの場合はその再生開始までに時間がかかるという問題があった。
【０００８】
そこで本発明の目的は、上記問題点に鑑み、任意のＭＰＥＧ蓄積データを再生する際に、平均ビットレートを計算して非再生部分については検索すべきアクセスポイントの予測を行い、再生済みの部分についてはその再生時に検出したＧＯＰポイント値を使用し且つ特殊再生時の予測データをそのＧＯＰポイント値によりダイナミックに更新していくことで、任意のＭＰＥＧ蓄積データの再生過程におけるランダムアクセスポイントの検索精度を随時向上させるように構成したＭＰＥＧデータの再生方法及び再生装置を提供することにある。これにより、ＣＢＲやＶＢＲの相違やインデックスファイルの有無、等のファイル構造によらない高速で正確なランダムアクセスポイントの検索が可能となる。
【０００９】
【課題を解決するための手段】
本発明による動画データの再生方法では、複数の画像グループを含む動画データを読み込み、前記動画データに含まれた先頭画像グループ及び次画像グループから取り込まれた時間情報及びバイト位置情報と、該画像グループ間のフレーム数とに基づいて、１画像グループ時間を計算し、前記動画データの前記先頭画像グループから取り込まれた前記時間情報及びバイト位置情報と最終画像グループから取り込まれた時間情報及びバイト位置情報とに基づいて、該動画データの総再生時間を算出し、前記動画データの総バイト数に基づいて先頭画像グループと前記最終画像グループ間の平均ビットレートを算出し、前記動画データの最終画像グループから取り込まれた時間情報及びバイト位置情報と前記１画像グループの単位時間とに基づいて、該動画データの前記総再生時間を算出し、前記動画データの総バイト数に基づいて先頭画像グループと前記最終画像グループ間の平均ビットレートを算出し、前記先頭画像グループに対応させて、該先頭画像グループの前記時間情報に基づいた再生時間及び前記バイト位置情報と、前記平均ビットレートとを格納し、前記最終画像グループに対応させて、前記動画データの前記総再生時間と前記最終画像グループから取り込まれたバイト位置情報を格納して、テーブルを作成し、前記動画データの再生指示に従って、前記テーブルから再生指示時間に対応する前記再生時間を検索し、該再生指示時間が該テーブル上の再生時間と一致する場合には、一致した再生時間に格納されたバイト位置情報を前記動画データにおけるアクセスバイト位置とし、該再生指示時間が該テーブル上の再生時間に一致しない場合には、前記平均ビットレートを読み出し、該平均ビットレート及び該再生指示時間と該再生時間との差分とに基づいて求めたバイト数と、前記再生指示時間に対応する画像グループのバイト位置情報とから、前記再生指示時間に対応する前記動画データにおけるアクセスバイト位置を算出し、前記アクセスバイト位置から前記動画データの再生を行うこととした。
【００１０】
また本発明によれば、蓄積された動画データを再生する動画データの再生装置であって、複数の画像グループを含む動画データに含まれた先頭画像グループと続く次画像グループとから取り込まれた時間情報及びバイト位置情報と該画像グループ間のフレーム数とに基づいて、１画像グループ時間を計算する計算手段と、前記先頭画像グループと前記画像データの最終画像グループとから取り込まれた時間情報及びバイト位置情報に基づいて該動画データの平均ビットレートを算出する平均ビットレート算出手段と、前記先頭画像グループに対応させて、該先頭画像グループの前記時間情報に基づいた再生時間及び前記バイト位置情報と、前記平均ビットレートとを保存し、前記最終画像グループに対応させて、前記動画データの総再生時間と前記最終画像グループから取り込まれたバイト位置情報を保存したテーブルを格納するテーブル格納手段と、前記動画データの再生指示に従って、前記テーブルから再生指示時間に対応する前記再生時間を検索し、該再生指示時間が該テーブル上の再生時間と一致する場合には、一致した再生時間に格納されたバイト位置情報を前記動画データにおけるアクセスバイト位置とし、該再生指示時間が該テーブル上の再生時間に一致しない場合には、前記平均ビットレートを読み出し、該平均ビットレート及び該再生指示時間と該再生時間との差分とに基づいて求めたバイト数と、前記再生指示時間に対応する画像グループのバイト位置情報とから、前記再生指示時間に対応する前記動画データにおけるアクセスバイト位置を算出するアクセス位置算出手段と、前記算出されたアクセスバイト位置から前記動画データを再生する再生手段と、を備えることとした。
【００１１】
【発明の実施の形態】
図１は、本発明によるＭＰＥＧデータの再生装置の一構成例を示したものである。
図１において、ファイル１は、ハードディスク等の補助記憶装置からなり、ネットワークを介してダウンロードしたＭＰＥＧ１やＭＰＥＧ２−ＰＳ等のＭＰＥＧデータを蓄積する。外部制御部３は、ユーザが指定する再生すべき画像やその特殊再生等の指示をＤＥＭＵＸ部４に与える。蓄積データ読み込み部２は、ＤＥＭＵＸ部４からの制御によってファイル１に蓄積されたＭＰＥＧデータの一部又は全部を読み込んでＤＥＭＵＸ部４に転送する。
【００１２】
ＤＥＭＵＸ部４は、外部制御部３からの指示により、通常再生又は特殊再生すべきＭＰＥＧデータを蓄積データ読み込み部２を介して取り込み、そのＭＰＥＧデータをＭＰＥＧビデオデータとＭＰＥＧオーディオデータとに分離する。分離されたＭＰＥＧビデオデータはビデオデコーダ８へ、またＭＰＥＧオーディオデータはオーディオデコーダ９へそれぞれ出力される。
【００１３】
ビデオデコーダ８は、受信したＭＰＥＧビデオデータに逆ＤＣＴ変換等の復号処理を行ない、それによって復元したビデオデータを出力する。オーディオデコーダ９も、ＭＰＥＧオーディオデータに同様の復号処理を行なって復元したオーディオデータを出力する。
【００１４】
上記の構成は通常のＭＰＥＧデータ再生装置と同様であるが、本願発明ではさらに以下の構成を備える。すなわち、ＤＥＭＵＸ部４にはＰＴＳ／ＤＴＳ検出部５及びＧＯＰ検出部６が設けられ、ＤＥＭＵＸ部４にはさらに管理テーブル７が付加される。ここでは、先ずＰＴＳ／ＤＴＳ検出部５、ＧＯＰ検出部６、及び管理テーブル７を説明する前に、それらと関連するＭＰＥＧデータの概要について説明しておく。
【００１５】
図２には、ＭＰＥＧデータフォーマットの一例を示している。また、図３にはＶＢＲにける映像データとビットレートとの関係を示している。
図２において、図２の（ａ）には、ＭＰＥＧ１−ＳＹＳＴＥＭやＭＰＥＧ２−ＰＳ (Program Stream) のデータフォーマットの一例を示しており、先頭のパックヘッダに始まり終了コード（図示せず）で終わる。パックは一般に複数のパケットで構成され、先頭のパックヘッダにはＭＰＥＧ１−ＳＹＳＴＥＭの識別コード“００”又はＭＰＥＧ２−ＰＳの識別コード“０１”が含まれる。
【００１６】
システムヘッダには、ストリーム全体のパラメータが記述され、その rate_bound フィールドにはビットレートが、他のフィールドにはビデオチャネル数やオーディオチャネル数等の種々のパラメータが含まれる。また、ビデオパケットやオーディオパケットの各パケットヘッダには再生出力の時刻管理情報であるＰＴＳ (Presentation Time Stamp) や復号の時間管理情報であるＤＴＳ (Decoding Time Stamp) 等のパラメータが含まれ、それぞれ３３ビットのサイクリックカウンタで構成され、最長２６時間程の時刻管理が可能である。
【００１７】
図２の（ｂ）には、ＶＢＲのビデオストリームサイズの一例を示している。前述したように、ＧＯＰ (Group of pictures) は、ランダムアクセスを可能とするためにフレーム内符号化画面（Ｉフレーム）が少なくとも１枚入った画面構造を有している。１ＧＯＰはシーケンスヘッダとＧＯＰ部とで構成され、ＧＯＰ部にはＩフレームが少なくとも１枚入ったＢ及びＰフレームが複数枚含まれており、通常０．５秒（１５フレーム）程度でグループ化される。
【００１８】
ＶＢＲの場合はＧＯＰサイズが映像の動きの大小によって変動するため、図３に実線で示すようにビットレートを可変にしてフレーム伝送レート（３０フレーム／秒）を維持する。なお、図３に点線で示すようにＣＢＲの場合は最大ビットレートが固定的に設定され、ＧＯＰサイズを一定にするために低ビットレートのデータにはダミーデータ（パディングデータ）が挿入される。
【００１９】
上記を参考に図１に戻って、ＰＴＳ／ＤＴＳ検出部５は、ビデオパケットの各パケットヘッダにあるＰＴＳ（ＤＴＳ）情報を検出する。ＧＯＰ検出部６は、ランダムアクセス可能なＧＯＰ単位での検出を行なう。そして、管理テーブル７は、ＰＴＳ／ＤＴＳ検出部５及びＧＯＰ検出部６によって検出された情報を基に、通常再生時及び特殊再生時に随時追加・変更・更新されていくデータテーブルである。
【００２０】
以下、本願発明の実施例について図４〜９の制御フローを中心に図１０〜１４の管理テーブルの一例を参照しながら説明していく。
（１）蓄積データの再生開始時
図４には、蓄積データの再生開始時における制御フローの一例を示している。また、図１０には、蓄積データの再生開始時に最初に作成される再生用管理テーブルの一例を示している。
【００２１】
ＤＥＭＵＸ４は、外部制御部３による所定のＭＰＥＧフィル再生指示により、先ず蓄積データ読み込み部２を制御してファイル１から該当するＭＰＥＧファイルの先頭部分を読み込み、システムヘッダ内の rate_bound の内容を取り込んで、それより蓄積データの最大ビットレートを算出する（Ｓ１０１）。算出された最大ビットレート（本例では６Ｍｂｐｓ）は、再生時の上限レートを定めるものとして特殊再生用管理テーブルに保存される（図１０）。
【００２２】
次に、ファイル先頭のビデオパケットにおけるＧＯＰのＰＴＳ又はＤＴＳを取り込み、そのバイト位置も取り込む（Ｓ１０２）。さらに、ファイル先頭から２番目のビデオパケットにおけるＧＯＰのＰＴＳ又はＤＴＳを取り込んで、そのバイト位置も取り込む。これら２つのＧＯＰ間のフレーム数から１ＧＯＰ時間を計算し、この値（本例では０．５秒）も特殊再生用管理テーブルに保存される（Ｓ１０３）。
【００２３】
一般的に、ＣＢＲ／ＶＢＲを問わずＭＰＥＧ蓄積データにおいては、ＧＯＰ毎のデータ量は変動するが１ＧＯＰ内のフレーム数は同一のため、ＧＯＰ毎の時間単位は変化しないことが多い。このため、１ＧＯＰの時間情報も特殊再生のための有効な情報となる。なお、前述した最大ビットレート及び１ＧＯＰ時間は固定値として保存され、以降変更や更新はされない。
【００２４】
最後に、ファイルの最後尾より最大ビットレート×α（最終ＧＯＰを取り込める時間分）の戻り位置からスキャンを開始し、ビデオパケットの最後のＧＯＰのＰＴＳ又はＤＴＳ、及びそのバイト位置を取り込む（Ｓ１０４）。この情報と先に求めた最初のＧＯＰの情報からファイル総再生時間を以下のように計算する（Ｓ１０５）。
【００２５】
ここでは、最大ビットレートを Max_Bit_Rate、先頭ＰＴＳ（ＤＴＳ）を First_PTS、先頭バイト位置を First_Byte、最終ＰＴＳ（ＤＴＳ）を Last_PTS、最終バイト位置を Last_Byte、そして総再生時間を Total_Time とする。ＰＴＳ（ＤＴＳ）は９０ＫＨｚを単位とした３３ビットのサイクリックカウンタのため、総再生時間は下記式で記述できる。なお、下記式は３３ビットで指定できる最大２６時間を越える時間計算も可能である。
【００２６】
0004145103.tif 000002
【００２７】
図１０には、上記式で算出した総再生時間を用いて、ファイルのバイトサイズ（総バイト数）から平均ビットレート（本例では４Ｍｂｐｓ）を算出した例を示している。これより、先頭ＧＯＰ及び最終ＧＯＰの各々のＧＯＰ時間とバイト位置、そして先頭ＧＯＰと最終ＧＯＰとの間の平均ビットレートが求まる。このように、ファイル再生に必要な最小限の情報をその再生開始前に取得することで、該当ＭＰＥＧファイルの特殊再生を行うための初期管理テーブル７が作成される（Ｓ１０６）。
【００２８】
本発明では、ＭＰＥＧ蓄積データからのみデータの平均ビットレートを計算し、且つ蓄積ファイルの先頭及び最終部分のみのサーチで済むため、再生開始時点でのサーチ量が少なく、従来のインデックスファイルを作成するようなシステムよりも高速に再生が開始される。
【００２９】
（２）先頭から順方向に再生する場合
図５には、順方向再生時の制御フローの一例を示している。また、図１１には、順方向再生における管理テーブル７の更新の一例を示している。
【００３０】
ＤＥＭＵＸ４は、外部制御部３からの順方向再生指示により、蓄積データ読み込み部２を制御して一連の蓄積データを復号・再生のためにシーケンシャルに読み込む（Ｓ２０１）。その復号・再生過程で（Ｓ２０４）、実際に検出されたＧＯＰ毎の時間やＧＯＰ毎の蓄積データのバイト位置からＧＯＰ毎のビットレートを算出し、その情報によって管理テーブル７の内容を保存・更新していく（Ｓ２０２及び２０３）。
【００３１】
図１１の例では、順方向の再生過程でＧＯＰ検出部６が検出した情報を元に算出された２番目、３番目、…、のＧＯＰ毎の時間、ＧＯＰ毎のバイト位置、及びＧＯＰ毎の平均ビットレートが先頭ＧＯＰと最終ＧＯＰとの間に挿入され保存されていく。
【００３２】
（３）管理テーブルにＧＯＰのバイト位置が登録されていない時間にシーク指示が発生した場合
図６及び７には、シーク指示による制御フローの一例を示している。また、図１２及び１３には、管理テーブル７からシークバイト位置を求める一例を示している。
【００３３】
図６において、通常、外部制御部３からのシーク指示はファイルの先頭の再生開始映像を０として時間情報で与えられるため（Ｓ３０１）、ＤＥＭＵＸ４は管理テーブル７を用いて以下のようにシークすべきＰＴＳ（ＤＴＳ）を計算する。ＰＴＳ（ＤＴＳ）=（First_PTS + 指示時間（秒） / 90000） & 0x1FFFFFFFF
【００３４】
上記計算の結果、シークすべき時間と対応するバイト位置の情報が既に管理テーブル７に存在する場合は、直接そのバイト位置にシークして再生を開始する（Ｓ３０２、Ｓ３０６及び３０７）。再生開始後の制御フローは図５に示した通りである。
【００３５】
一方、上記計算の結果、シークすべき時間と対応するバイト位置の情報が管理テーブル７に存在しない場合は、次に計算された時刻の前後又は近傍に現在判明しているＧＯＰの時間とバイト位置が存在するか否かを判定する（Ｓ３０３）。存在しない場合には、該当する空間の「平均ビットレート」と「指示時間と判明しているＧＯＰ時間との差分」をかけて算出したバイト数とＧＯＰのバイト位置を演算することでシークすべきバイト位置を割り出す（Ｓ３０４）。
【００３６】
図１２の例でいえば、該当する空間の平均ビットレート (2,666,666bps) を用い、且つ計算したシーク時間が２０秒の場合は現在判明しているより近傍のＧＯＰ時間（10秒）及びバイト位置（7,500,100byte）を用いて以下のようにシークすべきバイト位置を計算する。
7500100 + (2666666 * (20-10)/8)
【００３７】
一方、計算したシーク時間が８０秒の場合は、現在判明しているより近傍のＧＯＰ時間（100秒）及びバイト位置 (37,500,100byte) を用いて以下のようにシークすべきバイト位置を計算する。
37500100 - (2666666 * (100-80)/8)
【００３８】
一方、計算された時刻の前後又は近傍に現在判明しているＧＯＰの時間とバイト位置が存在する場合は、さらに以下の点を考慮する（Ｓ３０３及び３０５）。すなわち、ＶＢＲでは、図３で示したようにシーンチェンジや動きの多い映像の場合は高ビットレートの符号化データとなり、動きの少ない映像の場合は低ビットレートとなる。
【００３９】
そのため、動きの変化点の前後を除くとシーク位置に対応するＧＯＰのバイト位置が管理テーブル７には登録されていないが、当該変化点の直前又は直後のミクロなＧＯＰ単位の平均ビットレートが管理テーブルに登録されている場合には、検索用の平均ビットレートを用いるよりも当該変化点の直前又は直後のＧＯＰ単位の平均ビットレートを用いるほうがシークの精度は向上する。
【００４０】
この場合には、ステップ３０４で用いた平均ビットレートに代えて、前記直前又は直後の平均ビットレートを用いてシークの位置に対応するＧＯＰを発見し、それによって管理テーブル７を更新する。図１３の例では、該当する変化点の直前のＧＯＰ単位の平均ビットレート (2,666,666bps) を用い、計算したシーク時間が１１．５秒の場合のシークすべきバイト位置を以下のように計算する。
7,833,432 + (2666666 * 10/8)
【００４１】
より近傍の平均ビットレートのほうが全体の平均ビットレートよりも正確であるため、この平均ビットレートを用いて正確なランダムアクセス可能なポイントを算出し、それによって蓄積データのサーチ量も削減され、高速な特殊再生が実現される。
【００４２】
このようなシークは、逆再生（ＭＰＥＧでは順方向にしか復号できないため、１ＧＯＰ前から１ＧＯＰ分復号し、逆順で映像を表示する）、高速再生（早送りのため全てのフレームを復号する必要はなく、例えばＧＯＰ毎のＩフレームのみを復号して表示する）、又は高速逆再生（早戻しも同様にＧＯＰ毎のＩフレームのみを復号して表示する）等、の１ＧＯＰ単位で検索する必要があるものに有効である。この場合、ＧＯＰ単位の時間は再生開示時に取得したものを用いることができる。
【００４３】
以降、該当バイト位置から順方向に蓄積データをサーチする（Ｓ３０８及び３０９）。ビデオパケットのＰＴＳ（ＤＴＳ）を発見した場合には、発見したＰＴＳ（ＤＴＳ）がシークすべきＰＴＳ（ＤＴＳ）より前で且つシークすべきＰＴＳ（ＤＴＳ）の基準範囲内にある場合に、そのまま蓄積データを順方向にサーチしてＧＯＰを検索する（Ｓ３１０〜３１３）。それ以外の場合は、発見したＰＴＳ（ＤＴＳ）とシークすべきＰＴＳ（ＤＴＳ）との時間差と平均ビットレートから再度シークすべきバイト位置を計算しなおす（Ｓ３１６）。
【００４４】
ＧＯＰを発見すると、そのＧＯＰの時間及びＧＯＰの蓄積データのバイト位置から前後のビットレートを算出し、これらの情報によって管理テーブル７を更新してから再生を開始する（Ｓ３１３〜３１５）。このようにして、シークに該当するバイト位置の検索と管理テーブル７の更新が行なわれていく。
【００４５】
上述した（１）〜（３）の各処理から明らかなように、本願発明では先ず（１）の処理で計算した平均ビットレートを、（２）及び（３）の各処理によって逐次修正していく。そのため、再生が進むにつれてより正確なランダムアクセス可能なポイントが算出でき且つ蓄積データのサーチ量も削減できるため、任意のＭＰＥＧ蓄積データに対して高速な特殊再生が実現される。
【００４６】
（４）管理テーブルの統合
図８には、管理テーブル７の統合化のための制御フロー例を示している。また、図１４には、管理テーブル７の統合化の一例を示している。
【００４７】
管理テーブル７に検出されたＧＯＰ毎のデータを順次保存していくと、長時間の蓄積ファイルの場合には膨大なテーブルが必要となる。そのため、図６では隣接する前後のＧＯＰ間のビットレートが同一ビットレートの場合に、それら複数のＧＯＰを一つに統合することで管理テーブル７の領域を削減する（Ｓ４０１及び４０２）。なお、厳密に同一ビットレートでなくても相互に近いビットレートであれば、複数のＧＯＰを統合することは可能である。
【００４８】
図１４には、互いに同じ平均ビットレート (2,666,666bps) をもつＧＯＰ時間１０秒とＧＯＰ時間１０．５秒とを統合して、ＧＯＰ時間１０．５秒のデータを削除した例を示している。このうち、削除したＧＯＰ時間１０．５秒のデータについては前述した計算式から正確に算出できる。
【００４９】
（５）ＧＯＰ単位の検索
図９には、シーク指示された時間をＧＯＰ単位に変換する制御フローの一例を示している。
図９では、先に（３）で説明したシーク指示の時間がＧＯＰ単位の時間と一致しない場合に、シーク指示された時間に一番近いＧＯＰ単位の時間を求める（Ｓ５０１及び５０２）。このように、ＧＯＰ単位のバイト位置の検索を行えば、検索バイト位置からスキャンする蓄積データ量を削減することが可能できる。
【００５０】
【発明の効果】
以上説明したように、本発明によれば、任意のＭＰＥＧ蓄積データを、インデックス情報やインデックスファイルのような外部情報を用いずに、特殊再生を行うためのＧＯＰのポイントを高速に且つ蓄積データ内のサーチ量が少なく正確に行なえる。
【００５１】
具体的には、ＭＰＥＧ蓄積データからのみデータの平均ビットレートを計算し、また蓄積ファイルの先頭及び最終部分のみサーチを行うため、再生開始時点でのサーチ量は少なく、インデックスファイルを作成するようなシステムよりも高速に再生が開始できる。
【００５２】
また、再生開始前に作成した平均ビットレートを再生の過程で逐次修正していくことで、再生が進むにつれてより正確なランダムアクセス可能なポイントが算出でき、それによって蓄積データのサーチ量が削減できて高速な特殊再生が実現できる。
【００５３】
さらに、より近傍の平均ビットレートのほうが全体の平均ビットレートよりも正確であるため、この平均ビットレートを用いることでより正確なランダムアクセス可能なポイントが算出でき、蓄積データのサーチ量を削減した高速な特殊再生が実現できる。
【００５４】
なお、本発明は蓄積ファイルがＶＢＲに限らずＣＢＲの場合にも適用可能である。ＣＢＲの場合には、管理テーブル上の平均ビットレートが各ＧＯＰ間で同一となるため管理テーブルに対する操作が冗長となるだけで、ＣＢＲ又はＶＢＲの蓄積ファイルの構造を意識することなく適用できる。
【図面の簡単な説明】
【図１】本発明によるＭＰＥＧデータの再生装置の一構成例を示した図である。
【図２】ＭＰＥＧデータフォーマットの一例を示した図である。
【図３】ＶＢＲにける映像データとビットレートとの関係を示した図である。
【図４】蓄積データの再生開始時における制御フローの一例を示した図である。
【図５】順方向再生時の制御フローの一例を示した図である。
【図６】シーク指示による制御フローの一例（１）を示した図である。
【図７】シーク指示による制御フローの一例（２）を示した図である。
【図８】管理テーブルの統合化の制御フロー例を示した図である。
【図９】シーク指示時間をＧＯＰ単位に変換する制御フローの一例を示した図である。
【図１０】再生開始時に作成される管理テーブルの一例を示した図である。
【図１１】順方向再生における管理テーブルの更新の一例を示した図である。
【図１２】管理テーブルからシークバイト位置を求める一例（１）を示した図である。
【図１３】管理テーブルからシークバイト位置を求める一例（２）を示した図である。
【図１４】管理テーブルの統合化の一例を示した図である。
【符号の説明】
１…ファイル
２…蓄積データ読み込み部
３…外部制御部
４…ＤＥＭＵＸ部
５…ＰＴＳ／ＤＴＳ検出部
６…ＧＯＰ検出部
７…管理テーブル
８…ビデオデコーダ
９…オーディオでコーダ
【図１】
0004145103.tif 000003
【図２】
0004145103.tif 000004
【図３】
0004145103.tif 000005
【図４】
0004145103.tif 000006
【図５】
0004145103.tif 000007
【図６】
0004145103.tif 000008
【図７】
0004145103.tif 000009
【図８】
0004145103.tif 000010
【図９】
0004145103.tif 000011
【図１０】
0004145103.tif 000012
【図１１】
0004145103.tif 000013
【図１２】
0004145103.tif 000014
【図１３】
0004145103.tif 000015
【図１４】
0004145103.tif 000016