トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 情報処理装置、デコーダおよび再生装置の動作制御方法
【発明者】 【氏名】矢野 勝久

【要約】 【課題】動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とする。

【構成】復号処理部110のスライスヘッダ処理部111は、動画像ストリームのスライスヘッダを解析する。スライスデータ処理部112は、各マクロブロックの情報を解析し、個々のマクロブロックに分割する。信号処理部120の信号処理制御部121は、復号処理部110のスライスデータ処理部112による解析によって得られたモード情報に基づき、マクロブロックを行方向に並べたマクロブロック行を、インター符号化モードのマクロブロックの直前で区切ることによって分割し、この分割後のマクロブロック行のマクロブロックのデコード処理を、複数のマクロブロック信号処理部122を使って並列実行させる。
【特許請求の範囲】
【請求項1】
各画像をマトリックス状に分割して生成されるn×n画素のマクロブロック単位に符号化された動画像ストリームを入力する入力手段と、
前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた1以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得する解析手段と、
マクロブロック単位のデコード処理を実行する2つ以上のデコード処理手段と、
前記解析手段により取得された各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記2つ以上のデコード処理手段により並列実行させる制御手段と、
を具備することを特徴とする情報処理装置。
【請求項2】
前記制御手段は、動き補償フレーム間予測符号化モードで符号化されたインターマクロブロックの直前で区切ることにより、前記マクロブロック群を分割することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記デコード処理手段によりデコードされた各マクロブロックに対してブロック歪みを低減させるためのデブロッキングフィルタ処理を実行するデブロック処理手段をさらに具備し、
前記制御手段は、前記デコード処理手段によるデコード処理に対して2マクロブロック行分遅延させて、各マクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に実行させることを特徴とする請求項1または2記載の情報処理装置。
【請求項4】
前記制御手段は、各スライスの最終マクロブロック行のマクロブロックのデコード処理を前記デコード処理手段が終了させた場合、1マクロブロック行上および当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に開始させることを特徴とする請求項3記載の情報処理装置。
【請求項5】
H.264/AVC規格の動画像ストリームのスライスデータを解析して、各マクロブロックがインターマクロブロックか否かを判定する判定手段と、
2つ以上のデコード処理手段と、
前記判定手段によりインターマクロブロックであると判定されたマクロブロックの直前で区切ってスライスデータ内のマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記2つ以上のデコード処理手段により並列実行させる制御手段と、
を具備することを特徴とするデコーダ。
【請求項6】
デブロッキングフィルタ処理手段をさらに具備し、
前記制御手段は、前記デコード処理手段によるデコード処理に対して2マクロブロック行分遅延させて、各マクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に実行させることを特徴とする請求項5記載のデコーダ。
【請求項7】
前記制御手段は、各スライスの最終マクロブロック行のマクロブロックのデコード処理を前記デコード処理手段が終了させた場合、1マクロブロック行上および当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理を前記デブロック処理手段に開始させることを特徴とする請求項6記載のデコーダ。
【請求項8】
各画像をマトリックス状に分割して生成されるn×n画素のマクロブロック単位に符号化された動画像ストリームをデコードする再生装置の動作制御方法であって、
前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた1以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得するステップと、
前記取得した各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を並列実行するステップと、
を具備することを特徴とする再生装置の動作制御方法。
【請求項9】
前記マクロブロック行の分割は、動き補償フレーム間予測符号化モードで符号化されたインターマクロブロックの直前で区切ることによるものであることを特徴とする請求項8記載の再生装置の動作制御方法。
【請求項10】
デコード処理に対して2マクロブロック行分遅延させて、各マクロブロックのデブロッキングフィルタ処理を実行することを特徴とする請求項8または9記載の再生装置の動作制御方法。
【請求項11】
各スライスの最終マクロブロック行のマクロブロックのデコード処理を終了した場合、1マクロブロック行上および当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理を開始することを特徴とする請求項10記載の再生装置の動作制御方法。
【発明の詳細な説明】【技術分野】
【0001】
この発明は、例えばパーソナルコンピュータなどの情報処理装置に適用して好適な動画像ストリームのデコード技術に関する。
【背景技術】
【0002】
近年、DVD(Digital Versatile Disc)プレーヤやテレビジョン装置のようなオーディオ・ビデオ(AV)機器と同様のAV機能を備えたパーソナルコンピュータが普及し始めている。そして、この種のパーソナルコンピュータでは、符号化された動画像ストリームをソフトウェアによってデコードするソフトウェアデコーダが用いられている。このソフトウェアデコーダを使用すれば、専用のハードウェアを別途設けることなく、符号化された動画像ストリームをCPUによってデコードすることが可能になる。
【0003】
また、最近では、次世代の動画像符号化技術として、H.264/AVC(Advanced Video Coding)規格が注目されている。このH.264/AVC規格は、従来のMPEG2やMPEG4よりも高能率の符号化技術である。このため、H.264/AVC規格に対応するエンコード処理およびデコード処理の各々においては、MPEG2やMPEG4よりも多くの処理量が必要とされる。
【0004】
したがって、H.264/AVC規格で符号化された動画像ストリームをソフトウェアによってデコードするように設計されたパーソナルコンピュータでは、例えば可能な限り複数の処理を並列実行するといった効率化が要求される。このようなことから、動画像ストリームのデコードを並列実行するための提案も、これまで種々なされている(例えば特許文献1等参照)。
【特許文献1】特開2006−129285公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
この特許文献1の復号装置では、H.264/AVC規格の信号処理においては、左上方、上方、右上方、左方の周辺マクロブロックとの間に依存関係が存在する場合があることを考慮して、各マクロブロックの処理状態を管理するマクロブロック処理エージェントという仕組みを備えている。つまり、処理可能な状態を走査しながら(可能であれば並列に)マクロブロック処理を行っていくわけである。
【0006】
しかしながら、この手法は手順が複雑であり、却ってシステム負荷を増加させるおそれもあるため、より簡易な手順で動画像ストリームのデコードを並列実行可能とする仕組みが強く要求されている。
【0007】
この発明は、このような事情を考慮してなされたものであり、動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とした情報処理装置、デコーダおよび再生装置の動作制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
前述した目的を達成するために、この発明の情報処理装置は、各画像をマトリックス状に分割して生成されるn×n画素のマクロブロック単位に符号化された動画像ストリームを入力する入力手段と、前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた1以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得する解析手段と、マクロブロック単位のデコード処理を実行する2つ以上のデコード処理手段と、前記解析手段により取得された各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記2つ以上のデコード処理手段により並列実行させる制御手段と、を具備することを特徴とする。
【0009】
また、この発明のデコーダは、H.264/AVC規格の動画像ストリームのスライスデータを解析して、各マクロブロックがインターマクロブロックか否かを判定する判定手段と、2つ以上のデコード処理手段と、前記判定手段によりインターマクロブロックであると判定されたマクロブロックの直前で区切ってスライスデータ内のマクロブロック行を分割し、当該マクロブロック行のデコード処理を前記2つ以上のデコード処理手段により並列実行させる制御手段と、を具備することを特徴とする。
【0010】
また、この発明の再生装置の動作制御方法は、各画像をマトリックス状に分割して生成されるn×n画素のマクロブロック単位に符号化された動画像ストリームをデコードする再生装置の動作制御方法であって、前記入力手段により入力された動画像ストリームに含まれる、マクロブロックを行方向に並べた1以上のマクロブロック行で構成されるスライスの情報を解析して、各マクロブロックの種別情報を取得するステップと、前記取得した各マクロブロックの種別情報に基づき、前記スライスを構成するマクロブロック行を分割し、当該マクロブロック行のデコード処理を並列実行するステップと、を具備することを特徴とする。
【発明の効果】
【0011】
この発明によれば、動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とした情報処理装置、デコーダおよび再生装置の動作制御方法を提供できる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して、この発明の実施の形態を説明する。
【0013】
まず、図1および図2を参照して、この発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えばノートブック型パーソナルコンピュータ10として実現されている。
【0014】
図1は、ノートブック型パーソナルコンピュータ10のディスプレイユニットを開いた状態における斜視図である。本コンピュータ10は、コンピュータ本体1と、ディスプレイユニット2とから構成されている。ディスプレイユニット2には、LCD(Liquid Crystal Display)3から構成される表示装置が組み込まれており、そのLCD3の表示画面は、ディスプレイユニット2のほぼ中央に位置されている。
【0015】
ディスプレイユニット2は、コンピュータ本体1に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体1は薄い箱形の筐体を有しており、その上面にはキーボード4、本コンピュータ10を電源オン/オフするためのパワーボタン5、入力操作パネル6およびタッチパッド7などが配置されている。
【0016】
入力操作パネル6は、押下されたボタンに対応するイベントをシステムに入力する入力装置であり、複数の機能をそれぞれに起動するための複数のボタンを備えている。これらボタン群には、TV起動ボタン6A、DVD(Digital Versatile Disc)起動ボタン6Bが含まれている。TV起動ボタン6Aは、デジタルTV放送番組のような放送番組データの再生及び記録を行うためのTV機能を起動するためのボタンであり、ユーザによって押下されると、このTV機能を実行するためのTVアプリケーションプログラムが起動される。また、DVD起動ボタン6Bは、DVDに記録されたビデオコンテンツを再生するためのボタンであり、ユーザによって押下されると、ビデオコンテンツを再生するためのアプリケーションプログラムが自動的に起動される。
【0017】
次に、図2を参照して、本コンピュータ10のシステム構成について説明する。
【0018】
コンピュータ10は、図2に示されているように、CPU11、ノースブリッジ12、主メモリ13、グラフィクスコントローラ14、サウスブリッジ15、BIOS−ROM16、ハードディスクドライブ(HDD)17、光ディスクドライブ(ODD)18、デジタルTV放送チューナ19、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)20およびネットワークコントローラ21等を備えている。
【0019】
CPU11は、本コンピュータ10の動作を制御するために設けられたプロセッサであり、HDD17から主メモリ13にロードされる、オペレーティングシステム(OS)およびビデオ再生アプリケーションプログラム100のような各種アプリケーションプログラムを実行する。
【0020】
ビデオ再生アプリケーションプログラム100は、符号化された動画像データをデコードおよび再生するためのソフトウェアである。このビデオ再生アプリケーションプログラム100は、H.264/AVC規格に対応するソフトウェアデコーダである。ビデオ再生アプリケーションプログラム100は、H.264/AVC規格で定義された符号化方式で符号化されている動画像ストリーム(例えばデジタルTV放送チューナ19により受信されるデジタルTV放送番組やODD18から読み出されるHD(High Definition)規格のビデオコンテンツなど)をデコードするデコード機能を有している。
【0021】
また、CPU11は、BIOS−ROM16に格納されたBIOS(Basic Input Output System)も実行する。BIOSはハードウェア制御のためのプログラムである。
【0022】
ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ15との間を接続するブリッジデバイスである。ノースブリッジ12には、主メモリ13をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ12は、AGP(Accelerated Graphics Port)バスなどを介してグラフィクスコントローラ14との通信を実行する機能も有している。
【0023】
グラフィクスコントローラ14は本コンピュータ10のディスプレイモニタとして使用されるLCD3を制御する表示コントローラである。このグラフィクスコントローラ14はビデオメモリ(VRAM)14Aに書き込まれた画像データからLCD3に送出すべき表示信号を生成する。
【0024】
サウスブリッジ15は、LPC(Low Pin Count)バス上の各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ15は、HDD17、ODD18を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ15は、デジタルTV放送チューナ19を制御する機能、およびBIOS−ROM16をアクセス制御するための機能も有している。
【0025】
HDD17は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ(ODD)18は、ビデオコンテンツが格納されたDVDなどの記憶メディアを駆動するためのドライブユニットである。デジタルTV放送チューナ19は、デジタルTV放送番組のような放送番組データを外部から受信するための受信装置である。
【0026】
EC/KBC20は、電力管理のためのエンベデッドコントローラと、キーボード(KB)4およびタッチパッド7を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC20は、ユーザによるパワーボタン5の操作に応じて本コンピュータ10を電源オン/オフする機能を有している。さらに、EC/KBC20は、ユーザによるTV起動ボタン6A、DVD起動ボタン6Bの操作に応じて、本コンピュータ10を電源オンすることもできる。ネットワークコントローラ21は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。
【0027】
図3は、このような構成のコンピュータ10上で動作するビデオ再生アプリケーションプログラム100が有するデコーダ機能の機能ブロック図である。
【0028】
ビデオ再生アプリケーションプログラム100は、図3に示すように、復号処理部110および信号処理部120を備えている。
【0029】
デジタルTV放送チューナ19により受信されたデジタルTV放送番組やODD18から読み出されたHD規格のビデオコンテンツ(H.264/AVC規格で定義された符号化方式で符号化されている動画像ストリーム)は、まず、復号処理部110のスライスヘッダ処理部111によってスライスヘッダが解析され、マクロブロックを行方向に並べたマクロブロック行単位に分割される。H.264/AVC規格では、例えば16×16画素のマクロブロック単位で各画面の符号化が行われ、スライスは、1以上のマクロブロック行で構成される(通常は1画面分のマクロブロック行で構成される)。スライスは、ヘッダ部(スライスヘッダ)とデータ部(スライスデータ)とを有している。
【0030】
スライスデータは、復号処理部110のスライスデータ処理部112によって解析が行われ、個々のマクロブロック(MB)に分割される。スライスデータ処理部112のマクロブロック構文解析処理部112Aは、各マクロブロックについて、量子化DCT係数、フレーム内符号化モード(イントラ符号化モード)および動き補償フレーム間予測符号化モード(インター符号化モード)のいずれで符号化されているのかを示すモード情報、インター符号化で用いられた動きベクトル情報、イントラ符号化で用いられたフレーム内予測情報を得るための構文解析を実行する。
【0031】
復号処理部110によってマクロブロック単位に分割されたデータは、信号処理部120によってデコード処理が施される。信号処理制御部121は、この信号処理部120全体の制御を司り、複数のマクロブロック信号処理部122は、マクロブロック単位のデコード処理をそれぞれ実行する。また、デブロック処理部123は、マクロブロック信号処理部122によりデコードされたマクロブロックに対してブロック歪みを低減させるためのデブロッキングフィルタ処理を実行する。そして、本実施形態のビデオ再生アプリケーションプログラム100が有するデコーダ機能は、信号処理部120に複数のマクロブロック信号処理部122を設け、信号処理制御部121による簡単な制御の下、スライスデータ内のマクロブロック行のデコード処理を並列実行可能としたものであり、以下、この点について詳述する。
【0032】
まず、図4を参照して、複数のマクロブロック信号処理部122それぞれが実行するデコード処理について説明する。
【0033】
マクロブロック信号処理部122は、H.264/AVC規格に対応しており、図示のように、逆量子化部201、逆DCT部(DCT:Discrete Cosine Transform)202、加算部203、モード切替スイッチ部204、イントラ予測部205、重み付き予測部206、動きベクトル予測部207および補間予測部208を備える。H.264の直交変換は整数精度であり従来のDCTとは異なるが、ここではDCTと称することとする。
【0034】
スライスデータ処理部112のマクロブロック構文解析処理部112Aによる構文解析によって得られた量子化DCT係数、モード情報、動きベクトル情報およびフレーム内予測情報は、それぞれ逆量子化部201、モード切替スイッチ部204、動きベクトル予測部207およびイントラ予測部205に送られる。
【0035】
各マクロブロックの16×16の量子化DCT係数は、逆量子化部201による逆量子化処理により16×16のDCT係数(直交変換係数)に変換される。この16×16のDCT係数は、逆DCT部202による逆整数DCT(逆直交変換)処理によって周波数情報から16×16の画素値に変換される。この16×16の画素値は、マクロブロックに対応する予測誤差信号である。予測誤差信号は加算部203に送られ、そこでマクロブロックに対応する予測信号(動き補償フレーム間予測信号またはフレーム内予測信号)が加算されて、マクロブロックに対応する16×16の画素値がデコードされる。
【0036】
イントラ符号化モードにおいては、符号化対象の各画面から予測信号が生成され、その予測信号が直交変換(DCT)、量子化およびエントロピー符号化によって符号化されているので、モード切替スイッチ部204によってイントラ予測部205が選択され、これによってイントラ予測部205からのフレーム内予測信号が予測誤差信号に加算される。
【0037】
一方、インター符号化モードにおいては、既に符号化された画面からの動きを推定することによって、符号化対象画面に対応する動き補償フレーム間予測信号が定められた形状単位で生成され、符号化対象の各画面から当該動き補償フレーム間予測信号を引いた予測誤差信号が直交変換(DCT)、量子化およびエントロピー符号化によって符号化されているので、モード切替スイッチ部204によって重み付き予測部206が選択され、これによって動きベクトル予測部207、補間予測部208および重み付き予測部206によって得られる動き補償フレーム間予測信号が予測誤差信号に加算される。
【0038】
イントラ予測部205は、デコード対象画面からその画面内に含まれるデコード対象ブロックのフレーム内予測信号を生成するものである。イントラ予測部205は、前述のフレーム内予測情報に従って画面内予測処理を実行して、デコード対象ブロックと同一画面内に存在する、当該デコード対象ブロックに近接する既にデコードされた他のブロック内の画素値からフレーム内予測信号を生成する。イントラ予測は、ブロック間の画素相関を利用して圧縮率を高める技術である。
【0039】
一方、動きベクトル予測部207は、デコード対象ブロックに対応する動きベクトル差分情報に基づいて、動きベクトル情報を生成する。補間予測部208は、デコード対象ブロックに対応する動きベクトル情報に基づいて、参照画面内の、整数精度の画素群および1/4画素精度の予測補間画素群から、動き補償フレーム間予測信号を生成する。重み付き予測部206は、動き補償フレーム間予測信号に対して重み係数を乗じる処理を動き補償ブロック単位で実行することにより、重み付けされた動き補償フレーム間予測信号を生成する。重み付け予測は、デコード対象画面の明るさを予測する処理である。この重み付け予測処理により、フェード・イン、フェード・アウトのように、明るさが時間の経過と共に変化する画像の画質を向上することができる。
【0040】
このように、各マクロブロック信号処理部122では、デコード対象画面に対応する予測誤差信号に予測信号(動き補償フレーム間予測信号またはフレーム内予測信号)を加算して、デコード対象画面をデコードする処理がマクロブロック単位で実行される。
【0041】
なお、各マクロブロック信号処理部122でデコードされたデータは、他のブロックのデコードのために一定期間保持され、また、デブロック処理部123によってデブロッキングフィルタ処理が施された後に出力されるようになっている。
【0042】
ところで、前述したように、イントラ符号化モードで符号化されたマクロブロックのデコード処理には、フレーム内予測信号が使われ、一方、インター符号化モードで符号化されたマクロブロックのデコード処理には、動き補償フレーム間予測信号が使われる。つまり、イントラ符号化モードのマクロブロックには、(同一画面内の)周辺マクロブロックとの間に依存関係が存在するが、インター符号化モードのマクロブロックには、周辺マクロブロックとの間に依存関係は存在しない。そこで、信号処理部120の信号処理制御部121は、第1に、復号処理部110のスライスデータ処理部112による解析によって得られたモード情報に基づき、複数のマクロブロックで構成されるマクロブロック行を、インター符号化モードのマクロブロックの直前で区切ることによって分割する。H.264/AVC規格の信号処理においては、左上方、上方、右上方、左方(処理順で言えば前方)の周辺マクロブロックとの間に依存関係が存在する場合(イントラ符号化モードのマクロブロックの場合)があるが、1つのマクロブロック行における並列処理のための分割に関して言えば、左方のみを考慮すればよい。
【0043】
また、左上方、上方、右上方の周辺マクロブロックとの間に依存関係が存在する場合があることを考慮して、信号処理部120の信号処理制御部121は、第2に、マクロブロック信号処理部122によってデコードされたマクロブロックに対するデブロック処理部123によるデブロッキングフィルタ処理の実行を2マクロブロック行分遅延させる。つまり、あるマクロブロック行のマクロブロックデコードが終了したタイミングで、その2つ上のマクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行を開始するようにする。この2マクロブロック行分の遅延を設けることにより、イントラ符号化モードのマクロブロックは、デブロッキングフィルタ処理が施される前の(オリジナルな状態の)左上方、上方、右上方の周辺マクロブロックを参照してデコードすることが実現される。
【0044】
図5は、H.264/AVC規格で定義された符号化方式で符号化されている動画像ストリームの構成を示す概念図である。図示のように、各画面は、マトリックス状に分割して生成される例えば16×16画素のマクロブロック単位に符号化されている。このように符号化された動画像ストリームの復号(デコード)にあたり、信号処理部120の信号処理制御部121は、マクロブロックが行方向に並んだマクロブロック行を、図6に示すように、インター符号化モードのマクロブロック(インターMB)の直前で区切ることによって分割する。そして、信号処理制御部121は、分割後のマクロブロック行のマクロブロックのデコード処理を、複数のマクロブロック信号処理部122を使って並列実行させる。つまり、信号処理制御部121は、インター符号化モードかどうかを判断するためのモード情報を参照するといった簡単な制御の下で、各マクロブロック行における並列処理のための分割を実現する。
【0045】
また、信号処理制御部121は、あるマクロブロック行のマクロブロックのデコードが終了したタイミングで、その2つ上のマクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行をマクロブロック信号処理部122に開始させる。なお、スライスの終端のマクロブロック行(スライスが1画面分のマクロブロック行で構成されている場合には、図5の最下部に位置するマクロブロック行)のマクロブロックのデコードが終了した場合には、信号処理制御部121は、その時点で、その1つ上のマクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行と、当該最終マクロブロック行のマクロブロックのデブロッキングフィルタ処理の実行とをマクロブロック信号処理部122に開始させる。もはやこれらを参照してデコードされるイントラ符号化モードのマクロブロックは残存しないからである。
【0046】
次に、図7のフローチャートを参照して、ビデオ再生アプリケーションプログラム100の信号処理部120によって実行されるデコード処理の手順を説明する。
【0047】
信号処理制御部121は、各マクロブロック行のマクロブロックについて、左方を先頭に処理を進めていき、まず、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークする(ステップA1)。次に、信号処理制御部121は、現在のマクロブロックがインター符号化モードのマクロブロックまたはマクロブロック行の最終マクロブロックのいずれかに該当するかどうかを調べる(ステップA2)。もし、いずれにも該当しなければ(ステップA2のNO)、信号処理制御部121は、信号処理位置を次のマクロブロックに移動させて(ステップA3)、ステップA2の処理を繰り返す。
【0048】
一方、インター符号化モードのマクロブロックまたはマクロブロック行の最終マクロブロックのいずれかに該当した場合(ステップA2のYES)、信号処理制御部121は、現在のマクロブロックを並列処理の終端マクロブロックとしてマークする(ステップA4)。信号処理制御部121は、処理待機状態のマクロブロック信号処理部122が存在するかどうかを調べ(ステップA5)、存在したら(ステップA5のYES)、この処理待機状態のマクロブロック信号処理部122に、マークされた区間のマクロブロックのデコード(非同期信号処理)を指示する(ステップA6)。
【0049】
また、信号処理制御部121は、マクロブロック信号処理部122にデコードを指示したマクロブロックがマクロブロック行の最終マクロブロックかどうかを調べ(ステップA7)、最終マクロブロックでなければ(ステップA7のNO)、信号処理位置を次のマクロブロックに移動させ(ステップA8)、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークして(ステップA9)、ステップA2からの処理を繰り返す。
【0050】
もし、マクロブロック行の最終マクロブロックであれば(ステップA7のYES)、信号処理制御部121は、デブロック処理部123に、現在の2行上のマクロブロック行のマクロブロックについてのデブロック処理を指示する(ステップA10)。信号処理制御部121は、このマクロブロック行がスライスの終端かどうかを調べ(ステップA11)、スライスの終端でなければ(ステップA11のNO)、信号処理位置を次のマクロブロックに移動させ(ステップA8)、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークして(ステップA9)、ステップA2からの処理を繰り返す。
【0051】
一方、スライスの終端であれば(ステップA11のYES)、信号処理制御部121は、デブロック処理部123に、現在および現在の1行上のマクロブロック行のマクロブロックについてのデブロック処理を指示する(ステップA12)。続いて、信号処理制御部121は、このスライスがストリームの終端かどうかを調べ(ステップA13)、ストリームの終端でなければ(ステップA13のNO)、信号処理位置を次のマクロブロックに移動させ(ステップA8)、現在のマクロブロックを並列処理の先頭マクロブロックとしてマークして(ステップA9)、ステップA2からの処理を繰り返す。そして、ストリームの終端であったならば(ステップA13のYES)、この処理を終了する。
【0052】
以上のように、本実施形態によれば、動画像ストリームに含まれるスライスデータを解析して得られる各マクロブロックの種別情報のみに基づき、動画像ストリームのデコード処理を並列実行可能とする。
【0053】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0054】
【図1】本発明の一実施形態に係るコンピュータの外観を示す斜視図
【図2】同実施形態のコンピュータのシステム構成を示す図
【図3】同実施形態のコンピュータで用いられるビデオ再生アプリケーションプログラムが有するデコーダ機能の機能ブロック図
【図4】同実施形態のビデオ再生アプリケーションプログラムが実行するデコード処理を説明するための図
【図5】H.264/AVC規格で定義された符号化方式で符号化されている動画像ストリームの構成を示す概念図
【図6】同実施形態のビデオ再生アプリケーションプログラムによるマクロブロック群の分割原理を説明するための図
【図7】同実施形態のビデオ再生アプリケーションプログラムが実行するデコード処理の手順を示すフローチャート
【符号の説明】
【0055】
1…コンピュータ本体、2…ディスプレイユニット、3…LCD、4…キーボード、5…パワーボタン、6…入力操作パネル、6A…TV起動ボタン、6B…DVD起動ボタン、7…タッチパッド、10…コンピュータ、11…CPU、12…ノースブリッジ、13…主メモリ、14…グラフィクスコントローラ、14A…ビデオメモリ、15…サウスブリッジ、16…BIOS−ROM、17…ハードディスクドライブ(HDD)、18…光ディスクドライブ(ODD)、19…デジタルTV放送チューナ、20…エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)、21…ネットワークコントローラ、100…ビデオ再生アプリケーションプログラム、110…復号処理部、111…スライスヘッダ処理部、112…スライスデータ処理部、112A…マクロブロック構文解析処理部、120…信号処理部、121…信号処理制御部、122…マクロブロック信号処理部、123…デブロック処理部、201…逆量子化部、202…逆DCT部、203…加算部、204…モード切替スイッチ部、205…イントラ予測部、206…重み付き予測部、207…動きベクトル予測部、208…補間予測部。
【出願人】 【識別番号】000003078
【氏名又は名称】株式会社東芝
【出願日】 平成18年9月15日(2006.9.15)
【代理人】 【識別番号】100058479
【弁理士】
【氏名又は名称】鈴江 武彦

【識別番号】100091351
【弁理士】
【氏名又は名称】河野 哲

【識別番号】100088683
【弁理士】
【氏名又は名称】中村 誠

【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊

【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司

【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘

【識別番号】100084618
【弁理士】
【氏名又は名称】村松 貞男

【識別番号】100092196
【弁理士】
【氏名又は名称】橋本 良郎


【公開番号】 特開2008−72647(P2008−72647A)
【公開日】 平成20年3月27日(2008.3.27)
【出願番号】 特願2006−251607(P2006−251607)