(57)【要約】【課題】動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とする。【解決手段】復号処理部１１０のスライスヘッダ処理部１１１は、動画像ストリームのスライスヘッダを解析する。スライスデータ処理部１１２は、各マクロブロックの情報を解析し、個々のマクロブロックに分割する。信号処理部１２０の信号処理制御部１２１は、復号処理部１１０のスライスデータ処理部１１２による解析によって得られたモード情報に基づき、マクロブロックを行方向に並べたマクロブロック行を、インター符号化モードのマクロブロックの直前で区切ることによって分割し、この分割後のマクロブロック行のマクロブロックのデコード処理を、複数のマクロブロック信号処理部１２２を使って並列実行させる。【選択図】      図３
2008072647.tif 000002
【特許請求の範囲】
【請求項１】
各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームを入力する入力手段と、
前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた１以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得する解析手段と、
マクロブロック単位のデコード処理を実行する２つ以上のデコード処理手段と、
前記解析手段により取得された各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記２つ以上のデコード処理手段により並列実行させる制御手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、動き補償フレーム間予測符号化モードで符号化されたインターマクロブロックの直前で区切ることにより、前記マクロブロック群を分割することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記デコード処理手段によりデコードされた各マクロブロックに対してブロック歪みを低減させるためのデブロッキングフィルタ処理を実行するデブロック処理手段をさらに具備し、
前記制御手段は、前記デコード処理手段によるデコード処理に対して２マクロブロック行分遅延させて、各マクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に実行させることを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記制御手段は、各スライスの最終マクロブロック行のマクロブロックのデコード処理を前記デコード処理手段が終了させた場合、１マクロブロック行上および当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に開始させることを特徴とする請求項３記載の情報処理装置。
【請求項５】
Ｈ.２６４／ＡＶＣ規格の動画像ストリームのスライスデータを解析して、各マクロブロックがインターマクロブロックか否かを判定する判定手段と、
２つ以上のデコード処理手段と、
前記判定手段によりインターマクロブロックであると判定されたマクロブロックの直前で区切ってスライスデータ内のマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記２つ以上のデコード処理手段により並列実行させる制御手段と、
を具備することを特徴とするデコーダ。
【請求項６】
デブロッキングフィルタ処理手段をさらに具備し、
前記制御手段は、前記デコード処理手段によるデコード処理に対して２マクロブロック行分遅延させて、各マクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に実行させることを特徴とする請求項５記載のデコーダ。
【請求項７】
前記制御手段は、各スライスの最終マクロブロック行のマクロブロックのデコード処理を前記デコード処理手段が終了させた場合、１マクロブロック行上および当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に開始させることを特徴とする請求項６記載のデコーダ。
【請求項８】
各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームをデコードする再生装置の動作制御方法であって、
前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた１以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得するステップと、
前記取得した各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を並列実行するステップと、
を具備することを特徴とする再生装置の動作制御方法。
【請求項９】
前記マクロブロック行の分割は、動き補償フレーム間予測符号化モードで符号化されたインターマクロブロックの直前で区切ることによるものであることを特徴とする請求項８記載の再生装置の動作制御方法。
【請求項１０】
デコード処理に対して２マクロブロック行分遅延させて、各マクロブロックのデブロッキングフィルタ処理を実行することを特徴とする請求項８または９記載の再生装置の動作制御方法。
【請求項１１】
各スライスの最終マクロブロック行のマクロブロックのデコード処理を終了した場合、１マクロブロック行上および当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理を開始することを特徴とする請求項１０記載の再生装置の動作制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばパーソナルコンピュータなどの情報処理装置に適用して好適な動画像ストリームのデコード技術に関する。
【背景技術】
【０００２】
近年、ＤＶＤ（Digital Versatile Disc）プレーヤやテレビジョン装置のようなオーディオ・ビデオ（ＡＶ）機器と同様のＡＶ機能を備えたパーソナルコンピュータが普及し始めている。そして、この種のパーソナルコンピュータでは、符号化された動画像ストリームをソフトウェアによってデコードするソフトウェアデコーダが用いられている。このソフトウェアデコーダを使用すれば、専用のハードウェアを別途設けることなく、符号化された動画像ストリームをＣＰＵによってデコードすることが可能になる。
【０００３】
また、最近では、次世代の動画像符号化技術として、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）規格が注目されている。このＨ．２６４／ＡＶＣ規格は、従来のＭＰＥＧ２やＭＰＥＧ４よりも高能率の符号化技術である。このため、Ｈ．２６４／ＡＶＣ規格に対応するエンコード処理およびデコード処理の各々においては、ＭＰＥＧ２やＭＰＥＧ４よりも多くの処理量が必要とされる。
【０００４】
したがって、Ｈ．２６４／ＡＶＣ規格で符号化された動画像ストリームをソフトウェアによってデコードするように設計されたパーソナルコンピュータでは、例えば可能な限り複数の処理を並列実行するといった効率化が要求される。このようなことから、動画像ストリームのデコードを並列実行するための提案も、これまで種々なされている（例えば特許文献１等参照）。
【特許文献１】特開２００６−１２９２８５公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この特許文献１の復号装置では、Ｈ．２６４／ＡＶＣ規格の信号処理においては、左上方、上方、右上方、左方の周辺マクロブロックとの間に依存関係が存在する場合があることを考慮して、各マクロブロックの処理状態を管理するマクロブロック処理エージェントという仕組みを備えている。つまり、処理可能な状態を走査しながら（可能であれば並列に）マクロブロック処理を行っていくわけである。
【０００６】
しかしながら、この手法は手順が複雑であり、却ってシステム負荷を増加させるおそれもあるため、より簡易な手順で動画像ストリームのデコードを並列実行可能とする仕組みが強く要求されている。
【０００７】
この発明は、このような事情を考慮してなされたものであり、動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とした情報処理装置、デコーダおよび再生装置の動作制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前述した目的を達成するために、この発明の情報処理装置は、各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームを入力する入力手段と、前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた１以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得する解析手段と、マクロブロック単位のデコード処理を実行する２つ以上のデコード処理手段と、前記解析手段により取得された各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記２つ以上のデコード処理手段により並列実行させる制御手段と、を具備することを特徴とする。
【０００９】
また、この発明のデコーダは、Ｈ.２６４／ＡＶＣ規格の動画像ストリームのスライスデータを解析して、各マクロブロックがインターマクロブロックか否かを判定する判定手段と、２つ以上のデコード処理手段と、前記判定手段によりインターマクロブロックであると判定されたマクロブロックの直前で区切ってスライスデータ内のマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記２つ以上のデコード処理手段により並列実行させる制御手段と、を具備することを特徴とする。
【００１０】
また、この発明の再生装置の動作制御方法は、各画像をマトリックス状に分割して生成されるｎ×ｎ画素のマクロブロック単位に符号化された動画像ストリームをデコードする再生装置の動作制御方法であって、前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた１以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得するステップと、前記取得した各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を並列実行するステップと、を具備することを特徴とする。
【発明の効果】
【００１１】
この発明によれば、動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とした情報処理装置、デコーダおよび再生装置の動作制御方法を提供できる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、この発明の実施の形態を説明する。
【００１３】
まず、図１および図２を参照して、この発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えばノートブック型パーソナルコンピュータ１０として実現されている。
【００１４】
図１は、ノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１と、ディスプレイユニット２とから構成されている。ディスプレイユニット２には、ＬＣＤ（Liquid Crystal Display）３から構成される表示装置が組み込まれており、そのＬＣＤ３の表示画面は、ディスプレイユニット２のほぼ中央に位置されている。
【００１５】
ディスプレイユニット２は、コンピュータ本体１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１は薄い箱形の筐体を有しており、その上面にはキーボード４、本コンピュータ１０を電源オン／オフするためのパワーボタン５、入力操作パネル６およびタッチパッド７などが配置されている。
【００１６】
入力操作パネル６は、押下されたボタンに対応するイベントをシステムに入力する入力装置であり、複数の機能をそれぞれに起動するための複数のボタンを備えている。これらボタン群には、ＴＶ起動ボタン６Ａ、ＤＶＤ（Digital Versatile Disc）起動ボタン６Ｂが含まれている。ＴＶ起動ボタン６Ａは、デジタルＴＶ放送番組のような放送番組データの再生及び記録を行うためのＴＶ機能を起動するためのボタンであり、ユーザによって押下されると、このＴＶ機能を実行するためのＴＶアプリケーションプログラムが起動される。また、ＤＶＤ起動ボタン６Ｂは、ＤＶＤに記録されたビデオコンテンツを再生するためのボタンであり、ユーザによって押下されると、ビデオコンテンツを再生するためのアプリケーションプログラムが自動的に起動される。
【００１７】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１８】
コンピュータ１０は、図２に示されているように、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、グラフィクスコントローラ１４、サウスブリッジ１５、ＢＩＯＳ−ＲＯＭ１６、ハードディスクドライブ（ＨＤＤ）１７、光ディスクドライブ（ＯＤＤ）１８、デジタルＴＶ放送チューナ１９、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２０およびネットワークコントローラ２１等を備えている。
【００１９】
ＣＰＵ１１は、本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ＨＤＤ１７から主メモリ１３にロードされる、オペレーティングシステム（ＯＳ）およびビデオ再生アプリケーションプログラム１００のような各種アプリケーションプログラムを実行する。
【００２０】
ビデオ再生アプリケーションプログラム１００は、符号化された動画像データをデコードおよび再生するためのソフトウェアである。このビデオ再生アプリケーションプログラム１００は、Ｈ．２６４／ＡＶＣ規格に対応するソフトウェアデコーダである。ビデオ再生アプリケーションプログラム１００は、Ｈ．２６４／ＡＶＣ規格で定義された符号化方式で符号化されている動画像ストリーム（例えばデジタルＴＶ放送チューナ１９により受信されるデジタルＴＶ放送番組やＯＤＤ１８から読み出されるＨＤ（High Definition）規格のビデオコンテンツなど）をデコードするデコード機能を有している。
【００２１】
また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１６に格納されたＢＩＯＳ（Basic Input Output System）も実行する。ＢＩＯＳはハードウェア制御のためのプログラムである。
【００２２】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１５との間を接続するブリッジデバイスである。ノースブリッジ１２には、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１４との通信を実行する機能も有している。
【００２３】
グラフィクスコントローラ１４は本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ３を制御する表示コントローラである。このグラフィクスコントローラ１４はビデオメモリ（ＶＲＡＭ）１４Ａに書き込まれた画像データからＬＣＤ３に送出すべき表示信号を生成する。
【００２４】
サウスブリッジ１５は、ＬＰＣ（Low Pin Count）バス上の各デバイス、およびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、サウスブリッジ１５は、ＨＤＤ１７、ＯＤＤ１８を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１５は、デジタルＴＶ放送チューナ１９を制御する機能、およびＢＩＯＳ−ＲＯＭ１６をアクセス制御するための機能も有している。
【００２５】
ＨＤＤ１７は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ（ＯＤＤ）１８は、ビデオコンテンツが格納されたＤＶＤなどの記憶メディアを駆動するためのドライブユニットである。デジタルＴＶ放送チューナ１９は、デジタルＴＶ放送番組のような放送番組データを外部から受信するための受信装置である。
【００２６】
ＥＣ／ＫＢＣ２０は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）４およびタッチパッド７を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ２０は、ユーザによるパワーボタン５の操作に応じて本コンピュータ１０を電源オン／オフする機能を有している。さらに、ＥＣ／ＫＢＣ２０は、ユーザによるＴＶ起動ボタン６Ａ、ＤＶＤ起動ボタン６Ｂの操作に応じて、本コンピュータ１０を電源オンすることもできる。ネットワークコントローラ２１は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。
【００２７】
図３は、このような構成のコンピュータ１０上で動作するビデオ再生アプリケーションプログラム１００が有するデコーダ機能の機能ブロック図である。
【００２８】
ビデオ再生アプリケーションプログラム１００は、図３に示すように、復号処理部１１０および信号処理部１２０を備えている。
【００２９】
デジタルＴＶ放送チューナ１９により受信されたデジタルＴＶ放送番組やＯＤＤ１８から読み出されたＨＤ規格のビデオコンテンツ（Ｈ．２６４／ＡＶＣ規格で定義された符号化方式で符号化されている動画像ストリーム）は、まず、復号処理部１１０のスライスヘッダ処理部１１１によってスライスヘッダが解析され、マクロブロックを行方向に並べたマクロブロック行単位に分割される。Ｈ．２６４／ＡＶＣ規格では、例えば１６×１６画素のマクロブロック単位で各画面の符号化が行われ、スライスは、１以上のマクロブロック行で構成される（通常は１画面分のマクロブロック行で構成される）。スライスは、ヘッダ部（スライスヘッダ）とデータ部（スライスデータ）とを有している。
【００３０】
スライスデータは、復号処理部１１０のスライスデータ処理部１１２によって解析が行われ、個々のマクロブロック（ＭＢ）に分割される。スライスデータ処理部１１２のマクロブロック構文解析処理部１１２Ａは、各マクロブロックについて、量子化ＤＣＴ係数、フレーム内符号化モード（イントラ符号化モード）および動き補償フレーム間予測符号化モード（インター符号化モード）のいずれで符号化されているのかを示すモード情報、インター符号化で用いられた動きベクトル情報、イントラ符号化で用いられたフレーム内予測情報を得るための構文解析を実行する。
【００３１】
復号処理部１１０によってマクロブロック単位に分割されたデータは、信号処理部１２０によってデコード処理が施される。信号処理制御部１２１は、この信号処理部１２０全体の制御を司り、複数のマクロブロック信号処理部１２２は、マクロブロック単位のデコード処理をそれぞれ実行する。また、デブロック処理部１２３は、マクロブロック信号処理部１２２によりデコードされたマクロブロックに対してブロック歪みを低減させるためのデブロッキングフィルタ処理を実行する。そして、本実施形態のビデオ再生アプリケーションプログラム１００が有するデコーダ機能は、信号処理部１２０に複数のマクロブロック信号処理部１２２を設け、信号処理制御部１２１による簡単な制御の下、スライスデータ内のマクロブロック行のデコード処理を並列実行可能としたものであり、以下、この点について詳述する。
【００３２】
まず、図４を参照して、複数のマクロブロック信号処理部１２２それぞれが実行するデコード処理について説明する。
【００３３】
マクロブロック信号処理部１２２は、Ｈ．２６４／ＡＶＣ規格に対応しており、図示のように、逆量子化部２０１、逆ＤＣＴ部（DCT：Discrete Cosine Transform）２０２、加算部２０３、モード切替スイッチ部２０４、イントラ予測部２０５、重み付き予測部２０６、動きベクトル予測部２０７および補間予測部２０８を備える。Ｈ．２６４の直交変換は整数精度であり従来のＤＣＴとは異なるが、ここではＤＣＴと称することとする。
【００３４】
スライスデータ処理部１１２のマクロブロック構文解析処理部１１２Ａによる構文解析によって得られた量子化ＤＣＴ係数、モード情報、動きベクトル情報およびフレーム内予測情報は、それぞれ逆量子化部２０１、モード切替スイッチ部２０４、動きベクトル予測部２０７およびイントラ予測部２０５に送られる。
【００３５】
各マクロブロックの１６×１６の量子化ＤＣＴ係数は、逆量子化部２０１による逆量子化処理により１６×１６のＤＣＴ係数（直交変換係数）に変換される。この１６×１６のＤＣＴ係数は、逆ＤＣＴ部２０２による逆整数ＤＣＴ（逆直交変換）処理によって周波数情報から１６×１６の画素値に変換される。この１６×１６の画素値は、マクロブロックに対応する予測誤差信号である。予測誤差信号は加算部２０３に送られ、そこでマクロブロックに対応する予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）が加算されて、マクロブロックに対応する１６×１６の画素値がデコードされる。
【００３６】
イントラ符号化モードにおいては、符号化対象の各画面から予測信号が生成され、その予測信号が直交変換（ＤＣＴ）、量子化およびエントロピー符号化によって符号化されているので、モード切替スイッチ部２０４によってイントラ予測部２０５が選択され、これによってイントラ予測部２０５からのフレーム内予測信号が予測誤差信号に加算される。
【００３７】
一方、インター符号化モードにおいては、既に符号化された画面からの動きを推定することによって、符号化対象画面に対応する動き補償フレーム間予測信号が定められた形状単位で生成され、符号化対象の各画面から当該動き補償フレーム間予測信号を引いた予測誤差信号が直交変換（ＤＣＴ）、量子化およびエントロピー符号化によって符号化されているので、モード切替スイッチ部２０４によって重み付き予測部２０６が選択され、これによって動きベクトル予測部２０７、補間予測部２０８および重み付き予測部２０６によって得られる動き補償フレーム間予測信号が予測誤差信号に加算される。
【００３８】
イントラ予測部２０５は、デコード対象画面からその画面内に含まれるデコード対象ブロックのフレーム内予測信号を生成するものである。イントラ予測部２０５は、前述のフレーム内予測情報に従って画面内予測処理を実行して、デコード対象ブロックと同一画面内に存在する、当該デコード対象ブロックに近接する既にデコードされた他のブロック内の画素値からフレーム内予測信号を生成する。イントラ予測は、ブロック間の画素相関を利用して圧縮率を高める技術である。
【００３９】
一方、動きベクトル予測部２０７は、デコード対象ブロックに対応する動きベクトル差分情報に基づいて、動きベクトル情報を生成する。補間予測部２０８は、デコード対象ブロックに対応する動きベクトル情報に基づいて、参照画面内の、整数精度の画素群および１／４画素精度の予測補間画素群から、動き補償フレーム間予測信号を生成する。重み付き予測部２０６は、動き補償フレーム間予測信号に対して重み係数を乗じる処理を動き補償ブロック単位で実行することにより、重み付けされた動き補償フレーム間予測信号を生成する。重み付け予測は、デコード対象画面の明るさを予測する処理である。この重み付け予測処理により、フェード・イン、フェード・アウトのように、明るさが時間の経過と共に変化する画像の画質を向上することができる。
【００４０】
このように、各マクロブロック信号処理部１２２では、デコード対象画面に対応する予測誤差信号に予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）を加算して、デコード対象画面をデコードする処理がマクロブロック単位で実行される。
【００４１】
なお、各マクロブロック信号処理部１２２でデコードされたデータは、他のブロックのデコードのために一定期間保持され、また、デブロック処理部１２３によってデブロッキングフィルタ処理が施された後に出力されるようになっている。
【００４２】
ところで、前述したように、イントラ符号化モードで符号化されたマクロブロックのデコード処理には、フレーム内予測信号が使われ、一方、インター符号化モードで符号化されたマクロブロックのデコード処理には、動き補償フレーム間予測信号が使われる。つまり、イントラ符号化モードのマクロブロックには、（同一画面内の）周辺マクロブロックとの間に依存関係が存在するが、インター符号化モードのマクロブロックには、周辺マクロブロックとの間に依存関係は存在しない。そこで、信号処理部１２０の信号処理制御部１２１は、第１に、復号処理部１１０のスライスデータ処理部１１２による解析によって得られたモード情報に基づき、複数のマクロブロックで構成されるマクロブロック行を、インター符号化モードのマクロブロックの直前で区切ることによって分割する。Ｈ．２６４／ＡＶＣ規格の信号処理においては、左上方、上方、右上方、左方（処理順で言えば前方）の周辺マクロブロックとの間に依存関係が存在する場合（イントラ符号化モードのマクロブロックの場合）があるが、１つのマクロブロック行における並列処理のための分割に関して言えば、左方のみを考慮すればよい。
【００４３】
また、左上方、上方、右上方の周辺マクロブロックとの間に依存関係が存在する場合があることを考慮して、信号処理部１２０の信号処理制御部１２１は、第２に、マクロブロック信号処理部１２２によってデコードされたマクロブロックに対するデブロック処理部１２３によるデブロッキングフィルタ処理の実行を２マクロブロック行分遅延させる。つまり、あるマクロブロック行のマクロブロックデコードが終了したタイミングで、その２つ上のマクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行を開始するようにする。この２マクロブロック行分の遅延を設けることにより、イントラ符号化モードのマクロブロックは、デブロッキングフィルタ処理が施される前の（オリジナルな状態の）左上方、上方、右上方の周辺マクロブロックを参照してデコードすることが実現される。
【００４４】
図５は、Ｈ．２６４／ＡＶＣ規格で定義された符号化方式で符号化されている動画像ストリームの構成を示す概念図である。図示のように、各画面は、マトリックス状に分割して生成される例えば１６×１６画素のマクロブロック単位に符号化されている。このように符号化された動画像ストリームの復号（デコード）にあたり、信号処理部１２０の信号処理制御部１２１は、マクロブロックが行方向に並んだマクロブロック行を、図６に示すように、インター符号化モードのマクロブロック（インターＭＢ）の直前で区切ることによって分割する。そして、信号処理制御部１２１は、分割後のマクロブロック行のマクロブロックのデコード処理を、複数のマクロブロック信号処理部１２２を使って並列実行させる。つまり、信号処理制御部１２１は、インター符号化モードかどうかを判断するためのモード情報を参照するといった簡単な制御の下で、各マクロブロック行における並列処理のための分割を実現する。
【００４５】
また、信号処理制御部１２１は、あるマクロブロック行のマクロブロックのデコードが終了したタイミングで、その２つ上のマクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行をマクロブロック信号処理部１２２に開始させる。なお、スライスの終端のマクロブロック行（スライスが１画面分のマクロブロック行で構成されている場合には、図５の最下部に位置するマクロブロック行）のマクロブロックのデコードが終了した場合には、信号処理制御部１２１は、その時点で、その１つ上のマクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行と、当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行とをマクロブロック信号処理部１２２に開始させる。もはやこれらを参照してデコードされるイントラ符号化モードのマクロブロックは残存しないからである。
【００４６】
次に、図７のフローチャートを参照して、ビデオ再生アプリケーションプログラム１００の信号処理部１２０によって実行されるデコード処理の手順を説明する。
【００４７】
信号処理制御部１２１は、各マクロブロック行のマクロブロックについて、左方を先頭に処理を進めていき、まず、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークする（ステップＡ１）。次に、信号処理制御部１２１は、現在のマクロブロックがインター符号化モードのマクロブロックまたはマクロブロック行の最終マクロブロックのいずれかに該当するかどうかを調べる（ステップＡ２）。もし、いずれにも該当しなければ（ステップＡ２のＮＯ）、信号処理制御部１２１は、信号処理位置を次のマクロブロックに移動させて（ステップＡ３）、ステップＡ２の処理を繰り返す。
【００４８】
一方、インター符号化モードのマクロブロックまたはマクロブロック行の最終マクロブロックのいずれかに該当した場合（ステップＡ２のＹＥＳ）、信号処理制御部１２１は、現在のマクロブロックを並列処理の終端マクロブロックとしてマークする（ステップＡ４）。信号処理制御部１２１は、処理待機状態のマクロブロック信号処理部１２２が存在するかどうかを調べ（ステップＡ５）、存在したら（ステップＡ５のＹＥＳ）、この処理待機状態のマクロブロック信号処理部１２２に、マークされた区間のマクロブロックのデコード（非同期信号処理）を指示する（ステップＡ６）。
【００４９】
また、信号処理制御部１２１は、マクロブロック信号処理部１２２にデコードを指示したマクロブロックがマクロブロック行の最終マクロブロックかどうかを調べ（ステップＡ７）、最終マクロブロックでなければ（ステップＡ７のＮＯ）、信号処理位置を次のマクロブロックに移動させ（ステップＡ８）、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークして（ステップＡ９）、ステップＡ２からの処理を繰り返す。
【００５０】
もし、マクロブロック行の最終マクロブロックであれば（ステップＡ７のＹＥＳ）、信号処理制御部１２１は、デブロック処理部１２３に、現在の２行上のマクロブロック行のマクロブロックについてのデブロック処理を指示する（ステップＡ１０）。信号処理制御部１２１は、このマクロブロック行がスライスの終端かどうかを調べ（ステップＡ１１）、スライスの終端でなければ（ステップＡ１１のＮＯ）、信号処理位置を次のマクロブロックに移動させ（ステップＡ８）、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークして（ステップＡ９）、ステップＡ２からの処理を繰り返す。
【００５１】
一方、スライスの終端であれば（ステップＡ１１のＹＥＳ）、信号処理制御部１２１は、デブロック処理部１２３に、現在および現在の１行上のマクロブロック行のマクロブロックについてのデブロック処理を指示する（ステップＡ１２）。続いて、信号処理制御部１２１は、このスライスがストリームの終端かどうかを調べ（ステップＡ１３）、ストリームの終端でなければ（ステップＡ１３のＮＯ）、信号処理位置を次のマクロブロックに移動させ（ステップＡ８）、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークして（ステップＡ９）、ステップＡ２からの処理を繰り返す。そして、ストリームの終端であったならば（ステップＡ１３のＹＥＳ）、この処理を終了する。
【００５２】
以上のように、本実施形態によれば、動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とする。
【００５３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態に係るコンピュータの外観を示す斜視図
【図２】同実施形態のコンピュータのシステム構成を示す図
【図３】同実施形態のコンピュータで用いられるビデオ再生アプリケーションプログラムが有するデコーダ機能の機能ブロック図
【図４】同実施形態のビデオ再生アプリケーションプログラムが実行するデコード処理を説明するための図
【図５】Ｈ．２６４／ＡＶＣ規格で定義された符号化方式で符号化されている動画像ストリームの構成を示す概念図
【図６】同実施形態のビデオ再生アプリケーションプログラムによるマクロブロック群の分割原理を説明するための図
【図７】同実施形態のビデオ再生アプリケーションプログラムが実行するデコード処理の手順を示すフローチャート
【符号の説明】
【００５５】
１…コンピュータ本体、２…ディスプレイユニット、３…ＬＣＤ、４…キーボード、５…パワーボタン、６…入力操作パネル、６Ａ…ＴＶ起動ボタン、６Ｂ…ＤＶＤ起動ボタン、７…タッチパッド、１０…コンピュータ、１１…ＣＰＵ、１２…ノースブリッジ、１３…主メモリ、１４…グラフィクスコントローラ、１４Ａ…ビデオメモリ、１５…サウスブリッジ、１６…ＢＩＯＳ−ＲＯＭ、１７…ハードディスクドライブ（ＨＤＤ）、１８…光ディスクドライブ（ＯＤＤ）、１９…デジタルＴＶ放送チューナ、２０…エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）、２１…ネットワークコントローラ、１００…ビデオ再生アプリケーションプログラム、１１０…復号処理部、１１１…スライスヘッダ処理部、１１２…スライスデータ処理部、１１２Ａ…マクロブロック構文解析処理部、１２０…信号処理部、１２１…信号処理制御部、１２２…マクロブロック信号処理部、１２３…デブロック処理部、２０１…逆量子化部、２０２…逆ＤＣＴ部、２０３…加算部、２０４…モード切替スイッチ部、２０５…イントラ予測部、２０６…重み付き予測部、２０７…動きベクトル予測部、２０８…補間予測部。
【図１】
2008072647.tif 000003
【図２】
2008072647.tif 000004
【図３】
2008072647.tif 000005
【図４】
2008072647.tif 000006
【図５】
2008072647.tif 000007
【図６】
2008072647.tif 000008
【図７】
2008072647.tif 000009