(57)【要約】【課題】    【解決手段】  再生する符号化データ３００の符号化方式を解析する符号化データ解析部１０１と、解析された符号化方式に基づいて符号化データ３００をデコードするデコード部１０２と、ユーザアプリケーション２００からシークコマンド及びシークする時間を受け取り、符号化データ３００の一部を用いてシーク制御用ビットレートを計算し、受け取ったシークする時間及び計算されたシーク制御用ビットレートを用いてシークするデータサイズを計算する制御部１０４と、を有し、デコード部１０２は、計算されたデータサイズ分スキップして符号化データ３００をデコードするようにしたものである。【選択図】            図１
2006236475.tif 000002
【特許請求の範囲】
【請求項１】
符号化データ再生装置において、
再生する符号化データの符号化方式を解析する符号化データ解析部と、
前記解析された符号化方式に基づいて前記符号化データをデコードするデコード部と、
シークコマンド及びシークする時間を受け取り、前記符号化データの一部を用いてシーク制御用ビットレートを計算し、前記受け取ったシークする時間及び前記計算されたシーク制御用ビットレートを用いてシークするデータサイズを計算する制御部と、を有し、
前記デコード部は、前記計算されたデータサイズ分スキップして前記符号化データをデードすることを特徴とする符号化データ再生装置。
【請求項２】
前記制御部は、
前記符号化データの一部のデータを選択する個数を決定し、前記符号化データから前記決定された個数のデータを選択し、前記選択されたデータに基づいてシーク制御用ビットレートを計算し、前記受け取ったシークする時間及び前記計算されたシーク制御用ビットレートを用いてシークするデータサイズを計算することを特徴とする請求項１記載の符号化データ再生装置。
【請求項３】
前記制御部は、
前記符号化データの中間付近の複数のデータを選択することを特徴とする請求項２記載の符号化データ再生装置。
【請求項４】
前記制御部は、
既に再生した前記符号化データの一部を用いてシーク制御用ビットレートを計算することを特徴とする請求項１乃至３のいずれか一項に記載の符号化データ再生装置。
【請求項５】
前記制御部は、
既に再生した前記符号化データの一部からデータを選択し、さらに、前記符号化データの未再生データの一部からデータを選択することを特徴とする請求項４記載の符号化データ再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化データ再生装置に関し、特に、高速かつ高い精度でシーク位置を特定することができ、シーク後の再生時間の誤差を低減する技術に関する。
【背景技術】
【０００２】
多種多様な符号化方法によって符号化されたデータを再生するために、符号化データ解析部やデコード部をプラグインとして組み込んで動作させる再生装置がある。この符号化データの再生装置において、符号化データの任意の位置に移動して再生する機能を有する。この機能をシークという。シークする時間が指定されると、符号化データ再生装置はシークする時間からシークするデータサイズを算出し、シークするデータサイズ分符号化データをスキップし、その付近の適切な位置より符号化データを読み込み、再生を開始する。
【０００３】
ASFファイルやMP4ファイル等のように、再生時間とデータ位置の関係が保持されている符号化データであれば、その情報を参照することで、計算量も少なく、高い精度でシーク位置を特定できる。また、上記のような情報が付随していない符号化データの場合でも、ビットレートの情報が保持されていれば、シークする時間とそのビットレートによって、ほぼ正確にシークするデータサイズを算出できるので、シーク位置を特定できる。
【０００４】
特許文献１には、同時記録再生装置および同時多チャンネル再生装置が開示されるこの装置は、システム制御器１０８がバッファメモリ１０２のデータ蓄積量が所定量を超えたことを検出すると、システム制御器１０８は光ディスク１０９からのデータの読み出しを一時停止し、バッファメモリ１０２に蓄積されたデータを連続的に光ディスク１０９に記録する。また、システム制御器１４０８が光ディスク１０９に対して記録動作を行っているゾーンを管理し、そのゾーンの記録に適した回転数になるようにモータ１４１２を制御する。また、再生動作を行う場合でも、その回転数を維持したまま再生を行うようにしてある。
【０００５】
また、特許文献２には、フレーム情報を含まない多重化データに対するシーク動作を可能とする技術について開示される。
【特許文献１】特開２０００−１８２３２６号公報（第１図）
【特許文献２】特開２００５−２０３３９号公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、再生時間とデータ位置の関係やビットレートの情報が保持されていない符号化データについては、正確なシーク位置を特定することが困難である。正確な位置へシークするために、全てのフレームをデコードしながら再生時間を算出し、目的のシーク位置まで到達するという方法が考えられる。しかし、この方法では計算量が膨大であり、処理コストや性能面で、組込みシステムなど計算リソースに制限のあるシステムには適用できなかった。
【０００７】
一方、特許文献２においては、多重化データ全体のデータサイズと全体の再生時間から平均時間を算出するので、処理に時間がかかるという問題がある。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、高速かつ高い精度でシーク位置を特定することができ、シーク後の再生時間の誤差を低減する符号化データ再生装置を提供することにある。
【課題を解決するための手段】
【０００９】
本願発明の一態様によれば、 再生する符号化データの符号化方式を解析する符号化データ解析部と、解析された符号化方式に基づいて符号化データをデコードするデコード部と、ユーザアプリケーションからシークコマンド及びシークする時間を受け取り、符号化データの一部を用いてシーク制御用ビットレートを計算し、受け取ったシークする時間及び計算されたシーク制御用ビットレートを用いてシークするデータサイズを計算する制御部と、を有し、前記デコード部は、計算されたデータサイズ分スキップして前記符号化データをデコードするようにしたものである。
【発明の効果】
【００１０】
本発明に係る符号化データの再生装置によれば、高速かつ高い精度でシーク位置を特定することができ、シーク後の再生時間の誤差を低減することができる。
【発明を実施するための最良の形態】
【００１１】
本発明に係る符号化データ再生装置の実施形態について、図面を参照しながら詳細に説明する。
【００１２】
図１は、第１の実施形態の符号化データ再生装置を示すブロック図である。この符号化データ再生装置１００は、再生する符号化データ３００の符号化方式を解析する符号化データ解析部１０１と、解析された符号化方式に基づいて符号化データ３００をデコードするデコード部１０２と、ユーザアプリケーション２００からシークコマンド及びシークする時間を受け取り、符号化データ３００の一部を用いてシーク制御用ビットレートを計算し、受け取ったシークする時間及び計算されたシーク制御用ビットレートを用いてシークするデータサイズを計算する制御部１０４と、を有し、デコード部１０２は、計算されたデータサイズ分スキップして符号化データ３００をデードするようにしたものである
。
【００１３】
また、符号化データ再生装置１００は、デコード後のデータをディスプレイ４０１やスピーカ４０２に出力するための出力部１０３と、全ての装置の状態を管理し、ユーザアプリケーション２００からのコマンドを受け付けるための制御部１０４と、を有する。
【００１４】
ここで、制御アルゴリズムパラメータ１０５は、制御部１０４の制御アルゴリズムを決定するためのものである。制御アルゴリズムパラメータ１０５の保持する情報は、ファイルフォーマットの識別情報や符号化方式の識別情報、ビットレートや画像サイズといった符号化データの属性値等である。入力される様々な符号化データの符号化方式やファイルフォーマットに対応するため、符号化データの符号化方式やファイルフォーマット毎に符号化データ解析部１０１とデコード部１０２は差し替えることができるようにしてもよい。このためには、符号化データ解析部インターフェース１０６とデコード部インターフェース１０８を備え、符号化データ解析部１０１とデコード部１０２が変わってもユーザアプリケーション２００から利用する方法が変わらないようにするようにしてもよい。また、これら符号化データ解析部インターフェース１０６とデコード部インターフェース部１０８との間には入力バッファ１０７、また、デコード部インターフェース１０８と出力部１０３との間には出力バッファ１０９を設けるようにしてもよい。
【００１５】
図２は、第１の実施形態の符号化データの再生装置の動作を説明するフローチャートである。ユーザアプリケーション２００から再生のコマンドが入力されると、制御部１０４から符号化データ解析部１０１に命令がなされる。符号化データ解析部１０１は符号化データ３００を読み込み、符号化方式を解析する（ステップＳ１０１）。この解析により、符号化データ解析部１０１は、符号化方式を選択し（ステップＳ１０２）、検出された符号化方式に基づいて制御アルゴリズムパラメータ１０５を更新する（ステップＳ１０３）。続いて、デコードしてみないと分からない属性値があるか否かを判定し（ステップＳ１０４）、例えば、ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）のＤｏｗｎ  Ｍｉｘパラメータ等のように、実際にデコードした後でなければ分からない属性値が含まれる場合には、実際にデコードし（ステップＳ１０５）、属性値が判明した時点で、制御アルゴリズムパラメータ１０５を更新する（ステップＳ１０６）。
【００１６】
次に、ユーザアプリケーション２００から命令に関する再生モードは何かを判定し（ステップＳ１０７）、再生モードが再生の場合には、符号化データ３００の全部または一部は入力バッファ１０７に転送され、デコード部１０２は入力バッファ１０７からデコード部インターフェース１０８を経由して符号化データ３００を読み込む（ステップＳ１１４）。デコード部１０２は、読み込まれた符号化データ３００のデコードを行い、指定された符号化方式に従って、取得した符号化データ３００を出力可能なデータ形式に変換し、デコード部インターフェース１０８を経由して出力バッファ１０９に転送する（ステップＳ１１５）。制御部１０４は出力バッファ１０９からデータを取得し、画像と音声の同期を取り（ステップＳ１１６）、出力部１０３に転送する。出力部１０３はディスプレイ４０１やスピーカ４０２などの出力機器から画像や音声を出力する（ステップＳ１１７））。続いて、符号化ファイルを最後まで読み込んだか否かを判定し（ステップＳ１１９）、ファイルが終わりに達していない場合には、ステップＳ１０７へ戻って処理を行う。一方、ファイルが終わりに達した場合には、その処理を終了する（ステップＳ１２０）。
【００１７】
ここで、符号化データ再生時間は出力部１０３から出力されたデータの量を計測することで算出できる（ステップＳ１１８）。符号化データ３００の再生時間はユーザアプリケーション２００で利用される。
【００１８】
一方、ステップＳ１０７にて再生モードが停止であると判定された場合について説明する。この場合には、制御部１０４は符号化データ解析部１０１、デコード部１０２、及び、出力部１０３に停止命令を送る。符号化データ解析部１０１、デコード部１０２、及び、出力部１０３は停止命令を受信した場合にはその動作を停止する。
【００１９】
次に、ステップＳ１０７にて再生モードがシークであると判定された場合について説明する。シークとは、符号化データの任意の位置に移動して再生することである。シークの命令はユーザアプリケーション２００から制御部１０４に、シークする時間の指定とともに送られる。制御部１０４はシークする時間からシークするデータサイズを算出し、符号化データ解析部１０１に送る。符号化データ解析部１０１はシークするデータサイズ分符号化データをスキップし、その次の適切な位置から符号化データを読み込みはじめる。
【００２０】
まず、符号化データ３００に総再生時間とデータ位置との関係が保持されているか否かを判定する（ステップＳ１０８）。この判定により符号化データ３００に総再生時間とデータ位置の関係が保持されている場合には、時間とデータサイズの関係からシークするデータ位置を特定し（ステップＳ１０９）、シークするデータサイズ分スキップし（ステップＳ１１３）ステップＳ１１４の再生処理へ進む。符号化データ３００に総再生時間とデータ位置の関係が保持されていない場合には、次に、符号化データ３００にビットレートの情報が保持されているか否かを判定する（ステップＳ１１０）。この判定により、符号化データ３００にビットレートの情報が保持されている場合には、ビットレートからシークするデータ位置を特定し（ステップＳ１１１）、シークするデータサイズ分スキップし（ステップＳ１１３）ステップＳ１１４の再生処理へ進む。
【００２１】
以上のように、例えばＭＰ４ファイルやＡＳＦ（Ａｄｖａｎｃｅｄ  Ｓｔｒｅａｍｉｎｇ  Ｆｏｒｍａｔ）ファイルのように、符号化データ３００に再生時間とデータサイズの関係が保持されている符号化データであれば、その情報を参照してシークするデータ位置をすぐに特定できる。また、ＣＢＲの符号化データにビットレートの情報が保持されている符号化データであれば、シークする時間にビットレートを掛けることでほぼ正確にシークするデータサイズを算出できるので、シーク位置を特定できる。
【００２２】
一方、符号化データ３００に再生時間とデータサイズの関係やビットレートの情報が保持されていない符号化データについてはシーク位置を特定することが非常に困難であり、シーク再生ができない場合も多い。すなわち、図２のフローチャートにおいて、符号化データ３００に総再生時間とデータ位置の関係が保持されておらず、かつ、符号化データ３００にビットレート情報が保持されていない場合である。この場合には、符号化データ３００中のＮ個のフレームからシーク制御用ビットレートを算出し、シークするデータ位置を特定する（ステップＳ１１２）。その後に、シークするデータサイズ分スキップし（ステップＳ１１３）ステップＳ１１４の再生処理へ進む。
【００２３】
図３は、第１の実施形態のステップＳ１１２の具体例を説明するためのフローチャートである。まず、上述の選択するフレームの個数であるパラメータＮを決定する（ステップＳ２０１）。ここでは、例えば、符号化データ３００の中間付近のN個を選択する方法がある。中間付近から取得する理由は、一般的な映像や音楽符号化データでは、先頭や末尾の画像が黒画面であったり、無音であったりと糊しろをつけていることが多く、そのような部分ではビットレートが極端に低い場合があるからである。このほかにも符号化データからランダムにN個を抽出するなどの方法も考えられる。
【００２４】
また、選択されたフレームのビットレートが極端に他のフレームと異なる場合には、そのフレームを計算から除くようにすることで、より正確にシーク制御用ビットレートを計算する事が出来る。
【００２５】
なお、取得するフレーム数Nは符号化データの種類によって変更する方法がある。例えば、サイズが大きい場合はビットレートの変動も大きい可能性が高いのでNを大きくとり、サイズが小さい場合はビットレートの変動も小さい可能性が高いのでNを小さくとる方法や、符号化データのジャンルがわかっている場合には、映画ではビットレートの変動が小さいのでNを小さくとり、スポーツではビットレートの変動が大きいのでNを大きくとる方法、またクラシックなどダイナミックレンジが広いデータではビットレートの変動が大きいのでNを大きくとり、ポップスなどダイナミックレンジが狭いデータではビットレートの変動が小さいのでNを小さくとる方法等が考えられる。
【００２６】
このようにして、決定されたＮに基づいて、Ｎ個のフレームを選択し、選択されたＮ個のフレームに係るビットレートを解析する。それら解析されたビットレート値は、一時的に記憶される。
【００２７】
次に、シーク制御用ビットレートを計算する（ステップＳ２０２）。このシーク制御用ビットレートの計算には、下記式１を用いて求めることができる。すなわち、シーク制御用ビットレートは、上述の如く一時的に記憶されたＮ個のビットレート値を合計し、その合計値をＮで除算して求めることができる。計算されたシーク制御用ビットレート値は、一時的に記憶される。
【００２８】
シーク制御用ビットレート＝（符号化データ中のNフレーム分のビットレート値合計）／  N   （式１）      （Nは正の整数）
次に、シークするデータサイズを計算する（ステップＳ２０３）。ここでは、式１により求めたシーク制御用ビットレートを用いて、下記式２によりシークするデータサイズを算出する。すなわち、データサイズは、ユーザアプリケーションから受け取ったシーク時間に計算してシーク制御用ビットレートを乗算して求めることができる。
【００２９】
データサイズ  ＝  シーク時間  ×  シーク制御用ビットレート  （式２）
このようにして算出したシーク時のデータ位置をもとに、付近の適切なシーク位置を特定し、シーク再生を行う。
【００３０】
以上説明したように、入力される様々な符号化データの符号化方式やファイルフォーマットに柔軟に対応するため、符号化データの符号化方式やファイルフォーマット毎に符号化データ解析部１０１とデコード部１０２を差し替えることができ、かつ符号化データ解析部インターフェース１０６とデコード部インターフェース１０８を備えているので、符号化データ解析部１０１とデコード部１０２が変わってもユーザアプリケーションから利用する方法が変わらないようにされた符号化データ再生装置において、第１の実施形態においては、シーク再生する際に、再生時間とデータサイズの関係やビットレートの情報が保持されていない符号化データであっても、ビットレートを算出するために符号化データ全体をデコードしなくて済み、計算量を大幅に減らすことができ、さらに実際の符号化データから取得したビットレートを用いてシークするデータ位置を算出するため高い精度でシーク位置を特定することができる。その結果、シーク後の再生時間の誤差を少なくできる。また、この方式ではCBR(固定ビットレート)で符号化されたデータのみならず、VBR（可変ビットレート）で符号化されたデータにおいても効果的である。
【００３１】
ここで、第１の実施形態においては、符号化データ中の一部であるＮ個のフレームをシーク制御用ビットレートを計算するようにした。しかしそれに限られず、例えば、MPEGの伝送方法（記憶方法）の側面から言えば、MPEG-1の場合には、パック単位、若しくは、パケット単位のＮ個を選択するようにしてもよい。また、MPEG-2の場合には、PSパック単位、PES (Packetized Elementary Stream)単位、TSパケット単位、若しくは、セクション単位のＮ個を選択するようにしてもよい。さらに、MPEGのビデオデータの概念的な構造の側面から言えば、シーケンス単位、GOP (Group of Pictures)単位、 ピクチャ単位、スライス単位、マクロブロック単位、若しくは、 ブロック単位のＮ個を選択するようにしてもよい。
【００３２】
次に、本発明に係る符号化データ再生装置の第２の実施形態について説明する。図４は、第２の実施形態の符号化データ再生装置の動作を説明するためのフローチャートである。第１の実施形態との相違は、ステップＳ１２１の処理のみであり、その他は第１の実施の形態と同様でも良いので、その説明は省略する。
【００３３】
ステップＳ１２１においては、再生が完了したところまでの符号化データのサイズと再生時間の合計からシーク制御用ビットレートを算出し、シークするデータ位置を特定する。これは、符号化データに再生時間とデータサイズの関係やビットレートの情報が保持されていない符号化データについて、あらかじめ符号化データのフレームを取得できない符号化データの場合に、再生中に再生が完了したところまでの符号化データのサイズと再生時間の合計を一時的に記憶しておき、その値からシーク制御用ビットレートを算出するようにしたものである。そして、シークする際には、シーク時間と求めたシーク制御用ビットレートを乗算することでシークするデータ位置を算出できるので、正確なシーク位置を特定することができる。
【００３４】
再生した符号化データは一度読み込まれ、符号化データ解析部１０１で解析されているので、既に、フレームに係るビットレートの情報が得られている場合が多い。このため、高速にフレームに係るビットレートを得ることが出来るのである。このように、再生された符号化データの一部を用いてシーク制御用ビットレートを計算するようにしたので、処理が更に高速になるという効果がある。
【００３５】
ここで、再生してからすぐにシーク命令がされる場合がある。この場合には、再生時間が短いため、正確な位置が特定できない可能性がある。このような場合には、既に再生した符号化データの一部からデータを選択し、さらに、符号化データの未再生データの一部からデータを選択するようにしてもよい。すなわち、再生すべき符号化データを少し先まで読み込み、それを用いるようにしてもよい。
【００３６】
次に、本発明に係る符号化データ再生装置の第３の実施形態について説明する。第３の実施形態では、第１の実施形態の如く、パラメータＮを決定し、符号化データからＮ個を選択する。ここで、第３の実施形態においては、既に再生が完了した符号化データの中からＮ個を選択する。このようにすることで、第１の実施形態と第２の実施形態の双方の効果を得ることができる。
【００３７】
すなわち、符号化データに再生時間とデータサイズの関係やビットレートの情報が保持されていない符号化データについて、あらかじめ符号化データのフレームを取得できない符号化データの場合に、選択された符号化データの一部であり、かつ、再生が完了した符号化データの一部のＮ個を選択し、選択されたＮ個のデータに対して第１の実施形態を適用するようにしてもよい。
【００３８】
このようにすることで、ストリーミング形式等のファイルの全体が把握できない形式の符号化データの場合や、ハードウエアの制約からあらかじめ符号化データのN個のフレームを取得できない場合においても、シーク制御用ビットレートを算出することができ、精度の高いシーク位置を特定できる、という第１の実施形態の効果に加えて、第２の実施形態の効果を得ることが出来る。
【産業上の利用可能性】
【００３９】
符号化データを再生する総ての装置に適応することができる。具体的には、ＤＶＤ再生装置、ナビゲーションシステム、及び、符号化データを再生するためのソフトウエア等が含まれる。
【図面の簡単な説明】
【００４０】
【図１】第１の実施形態の符号化データの再生装置を示すブロック図である。
【図２】第１の実施形態の符号化データの再生装置の動作を説明するフローチャートである。
【図３】第１の実施形態のステップＳ１１２の具体例の説明するためのフローチャートである。
【図４】第２の実施形態の符号化データ再生装置の動作を説明するためのフローチャートである。
【符号の説明】
【００４１】
１００  符号化データ再生装置  
１０１  符号化データ解析部
１０２  デコード部
１０３  出力部
１０４  制御部
１０５  制御アルゴリズムパラメータ
１０６  符号化データ解析部インターフェース
１０７  入力バッファ
１０８  デコード部インターフェース
１０９  出力バッファ
２００  ユーザアプリケーション
３００  符号化データ
【図１】
2006236475.tif 000003
【図２】
2006236475.tif 000004
【図３】
2006236475.tif 000005
【図４】
2006236475.tif 000006