(57)【要約】【課題】動画像を受信・復号する側において、画質劣化を抑えつつ、動画像のデジタル処理に係わる負荷を低減することを実現した動画像復号装置を提供する。【解決手段】ＭＰＥＧ−２規格に準拠した方式で圧縮符号化された動画像ストリームを再生するビデオデコーダアプリケーションプログラム３００は、非参照フレームであるＢフレームを対象として、スライス単位に、スキップマクロブロックの数が予め定められた数以上存在していないかを調べ、存在することを検知した場合、そのスライス内の先頭および最後のマクロブロック以外のすべてのマクロブロックをスキップマクロブロックに設定することによって負荷低減を図る。【選択図】      図２
2010028436.tif 000002
【特許請求の範囲】
【請求項１】
各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームを入力する入力手段と、
前記入力手段により入力された動画像ストリーム中の復号対象画像が他の画像の復号時に参照されない双方向予測符号化画像か否かを判定するフレーム判定手段と、
前記フレーム判定手段により双方向予測符号化画像と判定された場合、前記マクロブロックを行方向に並べて構成されるスライス毎に、独自の符号化情報を持たないスキップマクロブロックが予め定められた数以上存在するか否かを判定するスライス解析手段と、
前記スライス解析手段によりスキップマクロブロックが予め定められた数以上存在すると判定された場合、そのスライス内の先頭および最後のマクロブロック以外のすべてのマクロブロックをスキップマクロブロックに設定するスライス編集手段と、
を具備することを特徴とする動画像復号装置。
【請求項２】
前記入力手段は、ＭＰＥＧ（moving picture experts group）−２規格に準拠した方式で圧縮符号化された動画像ストリームを入力し、
前記フレーム判定手段は、復号対象画像がＢフレームか否かを判定する、
ことを特徴とする請求項１記載の動画像復号装置。
【請求項３】
前記スライス解析手段は、各スライスの全マクロブロックに占めるスキップマクロブロックの割合が予め定められた値以上であるか否かを判定することをを特徴とする請求項１記載の動画像復号装置。
【請求項４】
前記スライス解析手段は、各スライス毎に、符号化情報量が予め定められた値以下か否かを判定し、符号化情報量が予め定められた値以下のスライスに対して、前記スキップマクロブロックが予め定められた数以上存在するか否かの判定を実施することを特徴とする請求項１記載の動画像復号装置。
【請求項５】
各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームを入力する入力手段、
前記入力手段により入力された動画像ストリーム中の復号対象画像が他の画像の復号時に参照されない双方向予測符号化画像か否かを判定するフレーム判定手段、
前記フレーム判定手段により双方向予測符号化画像と判定された場合、前記マクロブロックを行方向に並べて構成されるスライス毎に、独自の符号化情報を持たないスキップマクロブロックが予め定められた数以上存在するか否かを判定するスライス解析手段、
前記スライス解析手段によりスキップマクロブロックが予め定められた数以上存在すると判定された場合、そのスライス内の先頭および最後のマクロブロック以外のすべてのマクロブロックをスキップマクロブロックに設定するスライス編集手段、
としてコンピュータを機能させるためのプログラム。
【請求項６】
前記入力手段は、ＭＰＥＧ（moving picture experts group）−２規格に準拠した方式で圧縮符号化された動画像ストリームを入力し、
前記フレーム判定手段は、復号対象画像がＢフレームか否かを判定する、
ことを特徴とする請求項５記載のプログラム。
【請求項７】
前記スライス解析手段は、各スライスの全マクロブロックに占めるスキップマクロブロックの割合が予め定められた値以上であるか否かを判定することをを特徴とする請求項５記載のプログラム。
【請求項８】
前記スライス解析手段は、各スライス毎に、符号化情報量が予め定められた値以下か否かを判定し、符号化情報量が予め定められた値以下のスライスに対して、前記スキップマクロブロックが予め定められた数以上存在するか否かの判定を実施することを特徴とする請求項１記載のプログラム。
【請求項９】
動画像復号装置の復号処理簡略化方法であって、
各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームを入力し、
前記入力した動画像ストリーム中の復号対象画像が他の画像の復号時に参照されない双方向予測符号化画像か否かを判定し、
双方向予測符号化画像と判定した場合、前記マクロブロックを行方向に並べて構成されるスライス毎に、独自の符号化情報を持たないスキップマクロブロックが予め定められた数以上存在するか否かを判定し、
スキップマクロブロックが予め定められた数以上存在すると判定した場合、そのスライス内の先頭および最後のマクロブロック以外のすべてのマクロブロックをスキップマクロブロックに設定する、
ことを特徴とする復号処理簡略化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばデジタル放送番組データを記録・再生するＴＶ機能を有するパーソナルコンピュータ等に適用して好適な動画像ストリームの復号制御技術に関する。
【背景技術】
【０００２】
近年、動画像をデジタルデータとして取扱い可能な電子機器が種々利用されている。例えば無線ネットワーク機能を有するモバイル型の電子機器を携行すれば、ユーザは、外出先や移動中においても、最新のニュース映像等を観ることができる。また、最近では、デジタルテレビジョン放送番組データを視聴・録画・再生するＴＶ機能を備えたパーソナルコンピュータ等も普及し始めている。
【０００３】
動画像のデジタル処理、即ち、動画像の符号化、送受信、復号は、プロセッサやネットワーク等に大きな負荷を強いるものである。このようなことから、動画像のデジタル処理に係わる負荷を低減するための仕組みが、これまでも様々提案されている（例えば特許文献１等参照）。
【特許文献１】特開２００４−３５７２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１を含む、これまで提案されてきた仕組みは、動画像を符号化・送信する側が、その時々の状況に応じて、必要であれば、負荷低減のための処理を施すというものであった。換言すれば、動画像を受信・復号する側において、主体的かつ適応的に負荷低減を図るというものではなかった。
【０００５】
この発明は、このような事情を考慮してなされたものであり、動画像を受信・復号する側において、画質劣化を抑えつつ、動画像のデジタル処理に係わる負荷を低減することを実現した動画像復号装置、プログラムおよび動画像復号装置の復号処理簡略化方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前述の目的を達成するために、この発明の動画像復号装置は、各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームを入力する入力手段と、前記入力手段により入力された動画像ストリーム中の復号対象画像が他の画像の復号時に参照されない双方向予測符号化画像か否かを判定するフレーム判定手段と、前記フレーム判定手段により双方向予測符号化画像と判定された場合、前記マクロブロックを行方向に並べて構成されるスライス毎に、独自の符号化情報を持たないスキップマクロブロックが予め定められた数以上存在するか否かを判定するスライス解析手段と、前記スライス解析手段によりスキップマクロブロックが予め定められた数以上存在すると判定された場合、そのスライス内の先頭および最後のマクロブロック以外のすべてのマクロブロックをスキップマクロブロックに設定するスライス編集手段と、を具備することを特徴とする。
【発明の効果】
【０００７】
この発明によれば、動画像を受信・復号する側において、画質劣化を抑えつつ、動画像のデジタル処理に係わる負荷を低減することを実現できる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して、本発明の実施形態を説明する。
【０００９】
まず、図１および図２を参照して、本発明の一実施形態に係る動画像復号装置の構成を説明する。本実施形態の動画像復号装置は、例えばノートブックタイプのパーソナルコンピュータ１０として実現される。
【００１０】
このコンピュータ１０は、例えばネットワークを介して受信し、または、記録メディアから読み出した、ＭＰＥＧ（moving picture experts group）−２規格に準拠した方式で圧縮符号化された動画像ストリームを再生する機能を有している。この機能は、コンピュータ１０に例えばプリインストールされるビデオデコーダアプリケーションプログラムによって実現される。
【００１１】
図１は、このコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成される。ディスプレイユニット１２には、ＬＣＤ（Liquid Crystal Display）１３によって構成される表示装置が組み込まれている。
【００１２】
ディスプレイユニット１２は、コンピュータ本体１１に対し、コンピュータ本体１１の上面が露出される開放位置とコンピュータ本体１１の上面を覆う閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１４、本コンピュータ１０をパワーオン／パワーオフするためのパワーボタン１５、タッチパッド１６、スピーカ１７Ａ，１７Ｂなどが配置されている。
【００１３】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１４】
本コンピュータ１０は、図２に示されているように、ＣＰＵ１０１、ノースブリッジ１０２、主メモリ１０３、サウスブリッジ１０４、表示コントローラ１０５、ビデオメモリ（ＶＲＡＭ）１０５Ａ、サウンドコントローラ１０６、ＢＩＯＳ−ＲＯＭ１０７、ＬＡＮコントローラ１０８、ＨＤＤ（hard disk drive）１０９、ＯＤＤ（optical disc drive）ドライブ１１０、無線ＬＡＮコントローラ１１１、IEEE 1394コントローラ１１２、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）１１３、ＥＥＰＲＯＭ１１４等を備えている。
【００１５】
ＣＰＵ１０１は、本コンピュータ１０の動作を制御するプロセッサであり、ＨＤＤ１０９から主メモリ１０３にロードされる、オペレーティングシステム（ＯＳ）２００や、このＯＳ２００の配下で動作するビデオデコーダアプリケーションプログラム３００等の各種アプリケーションプログラムを実行する。ビデオデコーダアプリケーションプログラム３００は、例えばＬＡＮコントローラ１０８や無線ＬＡＮコントローラ１１１によってネットワークを介して受信し、または、ＯＤＤ１１０によってＤＶＤ（digital versatile disk）等から読み出した、ＭＰＥＧ−２規格に準拠した方式で圧縮符号化された動画像ストリームを再生する処理を実行する。また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０７に格納されたＢＩＯＳ（Basic Input/Output System）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１６】
ノースブリッジ１０２は、ＣＰＵ１０１のローカルバスとサウスブリッジ１０４との間を接続するブリッジデバイスである。ノースブリッジ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１０２は、PCI EXPRESS規格のシリアルバスなどを介して表示コントローラ１０５との通信を実行する機能も有している。
【００１７】
表示コントローラ１０５は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１３を制御するデバイスである。この表示コントローラ１０５によって表示信号生成されてＬＣＤ１３に送られる。
【００１８】
サウスブリッジ１０４は、ＰＣＩ（Peripheral Component Interconnect）バス上およびＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１０４は、ＨＤＤ１０９およびＯＤＤ１１０を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１０４は、サウンドコントローラ１０６との通信を実行する機能も有している。
【００１９】
サウンドコントローラ１０６は音源デバイスであり、再生対象のオーディオデータをスピーカ１７Ａ，１７Ｂに出力する。
【００２０】
無線ＬＡＮコントローラ１１１は、たとえばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。IEEE 1394コントローラ１１２は、IEEE 1394規格のシリアルバスを介して外部機器との通信を実行する。
【００２１】
ＥＣ／ＫＢＣ１１３は、電力管理を行うためのエンベデッドコントローラと、キーボード（ＫＢ）１４およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このＥＣ／ＫＢＣ１１３は、ユーザによるパワーボタン１５の操作に応じて本コンピュータ１０をパワーオン／パワーオフする機能を有している。
【００２２】
以上のような構成をもつ本コンピュータ１０上において、他のアプリケーションプログラムと同列で一ソフトウェアとして動作する、動画像ストリームを再生するビデオデコーダアプリケーションプログラム３００は、ＣＰＵ１０１の負荷を低減するために、画質劣化を抑えつつ、動画像ストリームの再生に係る処理の処理量を削減する仕組みを備えている。以下、この点について詳述する。
【００２３】
まず、図３を参照して、ビデオデコーダアプリケーションプログラム３００によって実現されるソフトウェアデコーダの機能構成を説明する。
【００２４】
入力された動画像ストリームは、復号データ処理部３０１において、ヘッダ情報、スライス情報、マクロブロック（ＭＢ）情報が復号され、量子化特性情報を元に、逆量子化部３０２が量子化後係数情報を逆量子化する。また、逆ＤＣＴ（discrete cosine transform：離散コサイン変換）部３０３が逆量子化部３０２の出力に対して逆直交変換を施した後、動きベクトル情報を元に、加算器３０４により過去の再生画像と加算され、参照画像メモリ３０７，３０８に蓄えられる。同時に、この参照画像メモリ３０７，３０８で蓄えられた画像を用いて映像出力することで、符号化を行った側が意図した映像を出力することができる。参照画像メモリ３０７，３０８は、双方向予測用に、ＩまたはＰフレームの２画面分の参照画面を保持する。
【００２５】
Ｉ，Ｐ，Ｂの各フレームについて説明すると、Ｉフレームは、Intra符号化画像（フレーム内符号化画像）であり、自身の情報のみで復号可能なフレームである。また、Ｐフレームは、Predictive 符号化画像（フレーム間順方向予測符号化画像）であり、直前のＩフレームの情報を参照することで復号可能なフレームである。そして、Ｂフレームは、Bidirectionally Predictive符号化画像（双方向予測符号化画像）であり、前後のＩ，Ｐフレームの情報を参照することで復号可能なフレームである。Ｉ，Ｐ，Ｂの各フレームの配列を示すと、Ｉ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，…，Ｉ，Ｂ，Ｂ，Ｐ，Ｂ，Ｂ，…となる。前述の２つの参照画像メモリ３０７，３０８には、この配列で言えば２つのＢフレームの前後のＩまたはＰフレームの画像がそれぞれ保持され、スイッチ３０５，３０６，３０９によって入出力が制御される。
【００２６】
つまり、Ｉ，Ｐフレームの情報は、他のフレームの復号時に参照され得るが、一方、Ｂフレームの情報は、他のフレームの復号時に参照されることはない。そこで、ビデオデコーダアプリケーションプログラム３００は、第１に、このＢフレームを、負荷低減のための処理を施す候補とする。より具体的に言えば、当該負荷低減処理の影響を他のフレームの復号に及ぼすことを防止する。
【００２７】
次に、Ｂフレームを対象としてビデオデコーダアプリケーションプログラム３００が施す負荷低減処理の概要を、図４および図５を参照して説明する。
【００２８】
ＭＰＥＧ−２規格では、各画像を１６×１６画素のマクロブロックに分割し、このマクロブロック単位に符号化を行う。そして、このマクロブロックを行方向に並べてスライスを構成する。図４は、この各画像（フレーム）、スライス、マクロブロックの関係を示す概念図である。
【００２９】
図４に示すように、各フレームａは、複数のスライスｂに分割され、各スライスｂは、複数のマクロブロックｃから構成される。ＭＰＥＧ−２規格に準拠した方式で圧縮符号化された動画像ストリームは、図５に示すように、シーケンス層（Ａ）、ＧＯＰ層（Ｂ）、ピクチャ層（Ｃ）、スライス層（Ｄ）、マクロブロック層（Ｅ）およびブロック層（Ｆ）の６層の階層構造となり、各フレームａ毎にピクチャ層（Ｃ）が設けられる。また、各スライスｂ毎に、ピクチャ層（Ｃ）の下層としてスライス層（Ｄ）が設けられ、各マクロブロックｃ毎に、スライス層（Ｄ）の下層としてマクロブロック層（Ｅ）が設けられる。
【００３０】
この図５に示す各マクロブロック層（Ｅ）内のＭＢＡＩ（マクロブロックアドレスインクリメント：ｄ）には、そのマクロブロックｃの各フレームａ内における水平位置を示す情報が格納される。この情報は、座標値のような、その位置を当該情報のみで特定可能な絶対的な値が格納されるのではなく、（独自の情報を持たずに）符号量が殆ど発生しなかったマクロブロックｃに関する情報を動画像ストリーム内から排除できるようにするために、直前のマクロブロック層（Ｅ）に対応するマクロブロックｃからの相対的な位置を示す値（スキップ数）が格納される。以上の理由でスキップされるマクロブロックをスキップマクロブロックと称する。
【００３１】
このスキップマクロブロックの数が多いスライスｂは、前後の参照フレームａの対応するスライスｂからの変化が小さいスライスといえる。そこで、ビデオデコーダアプリケーションプログラム３００は、第２に、このスキップマクロブロックの数が予め定められた数以上存在するスライスについて、先頭および最後のマクロブロック以外のすべてのマクロブロックをスキップマクロブロックに設定する。より具体的に言えば、画質劣化を抑制できると推測されるスライスに限定して負荷低減処理を施す。図６は、ビデオデコーダアプリケーションプログラム３００が実行するＢフレームのスライス単位の復号データ処理の手順を示すフローチャートである。
【００３２】
Ｂフレームに対して、ビデオデコーダアプリケーションプログラム３００は、スライス情報を復号後（ステップＳ１）、そのスライス内のＭＢ情報をマクロブロック単位に復号する。ビデオデコーダアプリケーションプログラム３００は、まず、ＭＢ情報中のＭＢ番号情報を復号し（ステップＳ２）、スキップマクロブロックが存在したら（ステップＳ３のＹＥＳ）、スライス単位のスキップマクロブロック数に加算する（ステップＳ４）。
【００３３】
スライス内のスキップマクロブロック数がしきい値以上（例えば１スライス内のマクロブロック数の８０％以上）となった場合（ステップＳ５のＹＥＳ）、ビデオデコーダアプリケーションプログラム３００は、スキップマクロブロックの設定が可能なマクロブロック、即ち、スライスの先頭および最後のマクロブロックを除いたマクロブロックをすべてスキップマクロブロックに設定した上で（ステップＳ６）、スライス単位の信号処理を行う（ステップＳ７）。
【００３４】
一方、スキップマクロブロックが存在しない場合（ステップＳ３のＮＯ）、および、スライス内のスキップマクロブロック数がしきい値に達しない場合には（ステップＳ５のＮＯ）、ビデオデコーダアプリケーションプログラム３００は、他のＭＢ情報（マクロブロックモード情報、動きベクトル情報、量子化特性情報、量子化後係数情報）を復号し（ステップＳ８）、当該ＭＢ情報の復号でスライス単位の復号処理が完了した場合は（ステップＳ９のＹＥＳ）、スライス単位の信号処理を行う（ステップＳ７）。また、スライス単位の復号処理が完了していない場合（ステップＳ９のＮＯ）、ステップＳ２に戻って、次のＭＢ番号情報の復号からの処理を繰り返す。
【００３５】
このように、本コンピュータ１０のビデオデコーダアプリケーションプログラム３００は、通常のＢフレームのスライス単位の復号データ処理手順に対して、図６中の破線で囲ったステップＳ３〜Ｓ６の工程を新設し、スライス内のスキップマクロブロック数がしきい値以上となった場合に、その後のＭＢ情報の復号データ処理を行わないようにしたことから、復号処理量を削減することを可能とし、また、スキップマクロブロックとしての処理を行うことで、逆量子化および逆ＤＣＴ等の信号処理を削減することを可能とする。さらに、非参照フレームであるＢフレームに限定することにより、通常の復号データ処理と信号処理とを行った場合の画質と比較して、その劣化を抑えることを実現する。
【００３６】
なお、図６のフローチャートにその手順を示したように、ここでは、ＭＢ情報をマクロブロック単位に復号していき、加算されたスキップマクロブロック数がしきい値以上となった時点で、スライスの先頭および最後のマクロブロックを除いたマクロブロックをすべてスキップマクロブロックに設定する負荷低減処理を施す例を説明したが、スライス単位の復号データ処理の冒頭で、そのスライスの符号化情報量を調べて、その値がしきい値以下のスライスのみを、負荷低減処理を施す候補とするようにしてもよい。
【００３７】
このように、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係る動画像復号装置の概観の例を示す斜視図
【図２】同実施形態の動画像復号装置のシステム構成例を示す図
【図３】同実施形態の動画像復号装置上で動作するビデオデコーダアプリケーションプログラムによって実現されるソフトウェアデコーダの機能構成を示す図
【図４】ＭＰＥＧ−２規格に準拠した方式で圧縮符号化された動画像ストリームにおけるフレーム、スライス、マクロブロックの関係を示す概念図
【図５】ＭＰＥＧ−２規格に準拠した方式で圧縮符号化された動画像ストリームの構造を示す図
【図６】同実施形態の動画像復号装置上で動作するビデオデコーダアプリケーションプログラムが実行するＢフレームのスライス単位の復号データ処理の手順を示すフローチャート
【符号の説明】
【００３９】
１０…動画像復号装置（パーソナルコンピュータ）、１１…コンピュータ本体、１２…ディスプレイユニット、１３…ＬＣＤ、１４…キーボード、１５…パワーボタン、１６…タッチパッド、１７Ａ，１７Ｂ…スピーカ、１０１…ＣＰＵ、１０２…ノースブリッジ、１０３…主メモリ、１０４…サウスブリッジ、１０５…表示コントローラ、１０５Ａ…ビデオメモリ（ＶＲＡＭ）、１０６…サウンドコントローラ、１０７…ＢＩＯＳ−ＲＯＭ、１０８…ＬＡＮコントローラ、１０９…ＨＤＤ、１１０…ＯＤＤ、１１１…無線ＬＡＮコントローラ、１１２…IEEE 1394コントローラ、１１３…エンベデッド／キーボードコントローラ（ＥＣ／ＫＢＣ）、１１４…ＥＥＰＲＯＭ、２００…オペレーティングシステム（ＯＳ）、３００…ビデオアプリケーションプログラム。
【図１】
2010028436.tif 000003
【図２】
2010028436.tif 000004
【図３】
2010028436.tif 000005
【図４】
2010028436.tif 000006
【図５】
2010028436.tif 000007
【図６】
2010028436.tif 000008