(57)【要約】【課題】デコーダに対する動画像データの転送処理を好適化することを実現した情報処理装置を提供する。【解決手段】デコード性能監視部２０２は、デコーダ２２へのデータ転送単位を最小値にする指示をバッファリング制御部２０１に与えた上で、デコーダ２２からのデコード後の動画像データの出力フレームレートを監視しつつ、いわゆるコマ落ちが発生するまで、データ転送単位を１段階大きくするための指示を順次バッファリング制御部２０１に与えていく。そして、コマ落ちが発生すると、デコード性能監視部２０２は、最後に、データ転送単位を１段階小さくするための指示をバッファリング制御部２０１に１回与える。【選択図】      図３
2009100361.tif 000002
【特許請求の範囲】
【請求項１】
圧縮符号化された動画像データを入力する入力手段と、
前記入力手段が入力した動画像データをシステムメモリ上に蓄積するバッファリング手段と、
前記動画像データに対してデコード処理を施すハードウェアデコーダと、
前記バッファリング手段が前記システムメモリ上に蓄積した動画像データをデータ転送路を介して前記ハードウェアデコーダに転送するデータ転送手段と、
前記ハードウェアデコーダによるデコード後の動画像データの出力状況に基づき、前記データ転送手段による動画像データの転送単位を調整する調整手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記調整手段は、前記ハードウェアデコーダによるデコード後の動画像データの出力フレームレートが所定の値に達していない場合に、前記データ転送手段による動画像データの転送単位を小さくすることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記動画像データ中に所定の情報が含まれていた場合、前記バッファリング手段による前記システムメモリ上での動画像データの蓄積量が前記調整手段により決定された転送単位に達することを待機することなく、その時点で前記システムメモリ上に蓄積されている動画像データの前記ハードウェアデコーダへの転送を前記データ転送手段に実行させる制御手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記入力手段による動画像データの入力が所定の期間を越えて途絶えた場合、前記バッファリング手段による前記システムメモリ上での動画像データの蓄積量が前記調整手段により決定された転送単位に達することを待機することなく、その時点で前記システムメモリ上に蓄積されている動画像データの前記ハードウェアデコーダへの転送を前記データ転送手段に実行させる制御手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項５】
システムメモリと、圧縮符号化された動画像データに対してデコード処理を施すハードウェアデコーダと、前記システムメモリ上のデータを前記ハードウェアデコーダを含む各種周辺装置に転送するＤＭＡコントローラとを搭載するコンピュータのデータ転送制御方法であって、
前記コンピュータは、
入力した動画像データを前記システムメモリ上に蓄積し、
前記システムメモリ上に蓄積した動画像データを前記ＤＭＡコントローラにより前記ハードウェアデコーダに転送し、
前記ハードウェアデコーダによるデコード後の動画像データの出力状況に基づき、前記ＤＭＡコントローラによる前記システムメモリから前記ハードウェアデコーダへの動画像データの転送単位を調整する、
ことを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばＨＤ  ＤＶＤ（High Definition Digital Versatile Disk）等の記録メディアに格納された映像コンテンツを再生する機能を有するパーソナルコンピュータ等に適用して好適なデータ転送制御技術に関する。
【背景技術】
【０００２】
近年、ノートブックタイプやデスクトップタイプ等、様々なタイプのパーソナルコンピュータが広く普及している。この種のパーソナルコンピュータでは、例えばＨＤ  ＤＶＤ等の記憶メディアに格納された映像コンテンツを再生するためのソフトウェアを搭載することが一般的になってきている。
【０００３】
映像コンテンツは、圧縮符号化された動画像データとして記憶メディアに格納されている。また、この圧縮符号化された動画像データに対してデコード処理を施すデコーダに対しては、記憶メディアから読み出した動画像データを過不足なく供給する必要がある。そのために、動画像データをバッファリングする際のバッファサイズを適切に設定する仕組みについての提案が、これまでも種々なされている（例えば特許文献１等参照）。
【特許文献１】特開２００６−６６９９５公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、例えば高性能のプロセッサを搭載している等により、デコーダもソフトウェアで実現しているコンピュータにおいては、バッファリングした動画像データのデコーダへの供給は、システムメモリ内で完結するが、負荷分散等の諸事情により、デコーダをハードウェアで搭載しているコンピュータにおいては、バッファリングした動画像データをデコーダへ供給するにあたり、データ転送路を介したデータ転送が発生する。
【０００５】
この場合、システムメモリ（バッファ）からデコーダへの動画像データの転送単位が小さいと、例えばこのデータ転送を制御するＤＭＡ（Direct Memory Access）コントローラ等の作動機会をより多く発生させることとなり、一方、転送単位が大きいと、デコーダ側に入力待ち状態、即ち、アンダーフロー状態を発生させてしまうおそれがある。このように、コンピュータの構成によっては、バッファサイズの設定のみならず、動画像データの転送単位を適切に設定する仕組みも強く求められる。
【０００６】
この発明は、このような事情を考慮してなされたものであり、デコーダに対する動画像データの転送処理を好適化することを実現した情報処理装置およびデータ転送制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前述の目的を達成するために、この発明の情報処理装置は、圧縮符号化された動画像データを入力する入力手段と、前記入力手段が入力した動画像データをシステムメモリ上に蓄積するバッファリング手段と、前記動画像データに対してデコード処理を施すハードウェアデコーダと、前記バッファリング手段が前記システムメモリ上に蓄積した動画像データをデータ転送路を介して前記ハードウェアデコーダに転送するデータ転送手段と、前記ハードウェアデコーダによるデコード後の動画像データの出力状況に基づき、前記データ転送手段による動画像データの転送単位を調整する調整手段と、を具備することを特徴とする。
【発明の効果】
【０００８】
この発明によれば、デコーダに対する動画像データの転送処理を好適化することが実現される。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の一実施形態を説明する。
【００１０】
図１は、本実施形態に係る情報処理装置のディスプレイユニットを開いた状態における斜視図である。この情報処理装置は、例えば、バッテリ駆動可能なノートブックタイプのパーソナルコンピュータ１として実現されている。
【００１１】
本コンピュータ１は、コンピュータ本体２と、ディスプレイユニット３とから構成されている。ディスプレイユニット３には、ＬＣＤ（Liquid Crystal Display）１５で構成される表示装置が組み込まれている。
【００１２】
ディスプレイユニット３は、コンピュータ本体２に対し、コンピュータ本体２の上面が露出される開放位置とコンピュータ本体２の上面を覆う閉塞位置との間を回動自由に取り付けられている。コンピュータ本体２は薄い箱形の筐体を有しており、その上面には、キーボード２４、本コンピュータ１をパワーオン／パワーオフするためのパワーボタン４、入力操作パネル５、タッチパッド２５、スピーカ２１などが配置されている。
【００１３】
図２は、本コンピュータ１のシステム構成を示す図である。
【００１４】
本コンピュータ１は、図２に示すように、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、表示コントローラ１４、ビデオメモリ（ＶＲＡＭ）１４Ａ、サウスブリッジ１６、ＢＩＯＳ−ＲＯＭ１７、ハードディスクドライブ（ＨＤＤ）１８、ＨＤ（High Definition）  ＤＶＤドライブ（ＨＤ  ＤＶＤ）１９、サウンドコントローラ２０、デコーダ２２、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２３、電源回路２６、バッテリ２７、ネットワークコントローラ２８、ＴＶチューナ２９等を備えている。
【００１５】
ＣＰＵ１１は、本コンピュータ１の動作を制御するプロセッサであり、ＨＤＤ１８から主メモリ１３にロードされる、オペレーティングシステム（ＯＳ）１００や、このＯＳ１００の制御下で動作する、ユーティリティを含む各種アプリケーションプログラムを実行する。この各種アプリケーションプログラムの中には、ビデオ再生アプリケーション２００が含まれている。
【００１６】
ビデオ再生アプリケーション２００は、ＨＤ  ＤＶＤ１９に格納されたＨＤ規格の映像コンテンツを鑑賞するためのソフトウェアである。このビデオ再生アプリケーション２００は、圧縮符号化された動画像データをＨＤ  ＤＶＤ１９から読み出して（自身がロードされている）主メモリ１３上にバッファリングしながら、圧縮符号化された動画像データのデコードを実行するデコーダ２２に対する、当該バッファリングした圧縮符号化された動画像データの転送をＤＭＡコントローラ１２１に適宜依頼していく。
【００１７】
ＤＭＡコントローラ１２１は、ノースブリッジ１２に内蔵されており、（作動後は）ＣＰＵ１１の関与なしに主メモリ１３上の指定された領域のデータを指定された周辺装置に転送する機能を有する。ビデオ再生アプリケーション２００は、所定の割り込み信号を出力することで当該ＤＭＡコントローラ１２１を作動させることができる。
【００１８】
即ち、主メモリ１３上にバッファリングした圧縮符号化された動画像データをデコーダ２２に供給する都度、ＤＭＡコントローラ１２１を作動させるための割り込みが発生するわけであり、１回の転送単位を大きくすることにより、その回数を極力減らすことが効率面では好ましい。一方、主メモリ１３上でのバッファリング量を増やして１回の転送単位をむやみに大きくしていくと、デコーダ２２が入力待ち状態となっていわゆるコマ落ちを発生させるおそれがある。そこで、本コンピュータ１は、この主メモリ１３からデコーダ２２へのデータ転送の転送単位を適切に設定する仕組みを備えたものであり、以下、この点について詳述する。
【００１９】
なお、ビデオ再生アプリケーション２００は、ＨＤ  ＤＶＤ１９に格納されたＨＤ規格の映像コンテンツのほか、ＴＶチューナ２９によって受信されたデジタルＴＶ放送番組を視聴することも可能である。デコーダ２２によってデコードされた動画像データは、ビデオ再生アプリケーション２００経由で表示コントローラ１４に渡され、ＬＣＤ１５に表示される。
【００２０】
また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１７に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００２１】
前述のＤＭＡコントローラ１２１を内蔵するノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２は、バスを介して表示コントローラ１４との通信を実行する機能を有しており、また、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。表示コントローラ１４は、本コンピュータ１の表示装置として使用されるＬＣＤ１５を制御する。
【００２２】
サウスブリッジ１６は、ＰＣＩバスおよびＬＰＣバス上の各種デバイスを制御するコントローラである。このサウスブリッジ１６には、ＢＩＯＳ−ＲＯＭ１７、ＨＤＤ１８、ＨＤ  ＤＶＤ１９、サウンドコントローラ２０、デコーダ２２等が直接的に接続され、これらを制御する機能も有している。デコーダ２２は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格のシリアルバスによって、このサウスブリッジ１６と接続され、当該シリアルバスを介して前述の動画像データを入出力する。
【００２３】
ＨＤＤ１８は、各種ソフトウェア及びデータを格納する記憶装置である。ＨＤ  ＤＶＤ１９は、映像コンテンツが格納されたＨＤ  ＤＶＤ等の記憶メディアを駆動するためのドライブユニットである。サウンドコントローラ２０は、スピーカ２１を制御する音源コントローラである。
【００２４】
ＥＣ／ＫＢＣ２３は、電力管理のためのエンベデッドコントローラと、キーボード２４およびタッチパッド２５を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ２３は、電源回路２６と協働して、バッテリ２７または外部ＡＣ電源からの電力を各部に供給制御する。
【００２５】
ネットワークコントローラ２８は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。そして、ＴＶチューナ２９は、デジタルＴＶ放送番組データを外部から受信するための受信装置である。
【００２６】
図３は、ビデオ再生アプリケーション２００の機能ブロックを示す図である。各種アプリケーションプログラムの中の１つであるビデオ再生アプリケーション２００は、前述のように、ＨＤＤ１８から主メモリ１３にロードされてＯＳ１００の制御下で動作する。ビデオ再生アプリケーション２０１は、図３に示すように、バッファリング制御部２０１およびデコード性能監視部２０２を備えている。
【００２７】
バッファリング制御部２０１は、ＨＤ  ＤＶＤ１９から読み出される圧縮された動画像データが適量ずつデコーダ２２に供給されるようにするための制御を行うものであり、圧縮された動画像データの蓄積量が所定量に達する毎に、その所定量分の圧縮された動画像データのデコーダ２２への転送を（割り込み信号を生成することによって）ＤＭＡコントローラ１２１に依頼する。
【００２８】
そして、このバッファリング制御部２０１に対して、前述の所定量、即ち、圧縮された動画像データの転送単位を指示するのがデコード性能監視部２０２である。デコーダ２２によってデコードされた動画像データは、表示コントローラ１４に転送することでＬＣＤ１５に表示されることになるが、記憶メディアに格納された映像コンテンツが例えば２４フレーム／秒で構成されている場合、デコード性能監視部２０２は、デコーダ２２からのデコード後の動画像データの出力フレームレートが当該２４フレーム／秒（基準値）を満たしているかを監視する。もし、出力フレームレートが基準値を満たしていないことを検知すると、デコード性能監視部２０２は、圧縮された動画像データのデコーダ２２への転送単位を１段階小さくするようにバッファリング制御部２０１に指示する。
【００２９】
より具体的に説明すると、いま、バッファリング制御部２０１は、１６Ｋバイト〜６４Ｋバイトの範囲で、かつ、２Ｋバイト刻みで転送単位の指定を受け付け可能であると想定する。この場合、デコード性能監視部２０２は、まず、最小値である１６Ｋバイトを転送単位とするようにバッファリング制御部２０１に指示する。
【００３０】
最小値である１６Ｋバイトを転送単位とするということは、ＤＭＡコントローラ１２１の作動頻度を最も高くするということである。即ち、割り込みを受けるＣＰＵ１１の負荷は最も大きい。そこで、デコード性能監視部２０２は、デコーダ２２によるデコード後の動画像データの出力フレームレートが基準値を満たす限りにおいて、この作動頻度を低くすべく、転送単位が段階的に大きくなるように、バッファリング制御部２０１に対して指示を与えていく。これにより、いわゆるコマ落ちを発生させない範囲において、映像コンテンツの再生に関するＣＰＵ１１の負荷が最小化される。
【００３１】
このデコード性能監視部２０２によるデータ転送単位の動的な制御により、例えばハードウェア仕様の異なる種々のコンピュータ上で当該ビデオ再生アプリケーション２００を動作させても、各コンピュータ毎の人為的なチューニング作業を不要にできる。
【００３２】
なお、バッファリング制御部２０１は、ＨＤ  ＤＶＤ１９から読み出される圧縮された動画像データを蓄積する際、例えばヘッダ部の所定フィールド等を参照して、データの区切りを示す情報が含まれていないかを監視する。そして、このデータの区切りを示す情報を検出すると、バッファリング制御部２０１は、圧縮された動画像データの蓄積量がデコード性能監視部２０２から指示された量に達していなくとも、その時点で、蓄積された分の転送をＤＭＡコントローラ１２１に依頼する。また、バッファリング制御部２０１は、圧縮された動画像データの入力が一定期間を越えて途絶えた場合も、その時点で、蓄積された分の転送をＤＭＡコントローラ１２１に依頼する。
【００３３】
図４は、本コンピュータ１上で動作するビデオ再生アプリケーション２００が実行するデータ転送制御手順を示すフローチャートである。
【００３４】
ビデオ再生アプリケーション２００のデコード性能監視部２０２は、まず、バッファリング制御部２０１に対して、圧縮された動画像データのデコーダ２２へのデータ転送単位を初期値（バッファリング制御部２０１が受け付け得る最も小さい値）とするための指示を与える（ステップＡ１）。
【００３５】
この指示を与えた後、デコード性能監視部２０２は、デコーダ２２からのデコード後の動画像データの出力フレームレートを監視し（ステップＡ２）、いわゆるコマ落ちを発生させていないかを調べる（ステップＡ３）。もし、コマ落ちを発生させていなければ（ステップＡ３のＮＯ）、デコード性能監視部２０２は、データ転送単位を１段階大きくするための指示をバッファリング制御部２０１に与える（ステップＡ４）。
【００３６】
このステップＡ２〜ステップＡ４の処理は、コマ落ちが発生するまで（ステップＡ３のＹＥＳ）繰り返され、デコード性能監視部２０２は、コマ落ちが発生すると、今度は、データ転送単位を１段階小さくするための指示をバッファリング制御部２０１に与える（ステップＡ５）。このステップＡ５によって設定されるデータ転送単位が、本コンピュータ１のハードウェア仕様における最適値であり、以降、デコード性能監視部２０２は、デコーダ２２からのデコード後の動画像データの出力フレームレートを監視し続け（ステップＡ６）、コマ落ちが発生したら（ステップＡ７のＹＥＳ）、データ転送単位を１段階小さくするための指示をバッファリング制御部２０１に与えることで（ステップＡ８）、本コンピュータ１の環境変化に動的に対応していく。
【００３７】
このように、本コンピュータ１によれば、主メモリ１３からデコーダ２２へのＤＭＡコントローラ１２１による動画像データの転送単位を自動調整することが実現される。
【００３８】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３９】
【図１】この発明の一実施形態に係る情報処理装置の外観を示す斜視図
【図２】同実施形態の情報処理装置のシステム構成を示す図
【図３】同実施形態の情報処理装置上で動作するビデオ再生アプリケーションの機能ブロックを示す図
【図４】同実施形態の情報処理装置上で動作するビデオ再生アプリケーションが実行するデータ転送制御手順を示すフローチャート
【符号の説明】
【００４０】
１…情報処理装置（コンピュータ）、２…コンピュータ本体、３…ディスプレイユニット、１１…ＣＰＵ、１２…ノースブリッジ、１３…主メモリ、１４…表示コントローラ、１４Ａ…ＶＲＡＭ、１５…ＬＣＤ、１６…サウスブリッジ、１７…ＢＩＯＳ−ＲＯＭ、１８…ＨＤＤ、１９…ＨＤ  ＤＶＤ、２０…サウンドコントローラ、２１…スピーカ、２２…デコーダ、２３…エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）、２４…キーボード、２５…タッチパッド、２６…電源回路、２７…バッテリ、２８…ネットワークコントローラ、２９…ＴＶチューナ、１００…オペレーティングシステム（ＯＳ）、２００…ビデオ再生アプリケーション、２０１…バッファリング制御部、２０２…デコード性能監視部。
【図１】
2009100361.tif 000003
【図２】
2009100361.tif 000004
【図３】
2009100361.tif 000005
【図４】
2009100361.tif 000006