(57)【特許請求の範囲】
【請求項１】
圧縮符号化された動画像ストリームをデコードする動画像復号装置であって、
デコードされた各フレームに対してブロック歪を低減するためのデブロッキングフィルタ処理を行うデブロッキングフィルタ手段と、
デコードに要する処理負荷を含む装置内処理負荷の大きさを検出する負荷検出手段と、
前記各フレームを構成する複数のブロックのうちの隣接するブロックの境界におけるフィルタ強度を示す強度パラメータに基づく処理パラメータと比較することにより前記デブロッキングフィルタ処理を行うか否かを判定するための複数の判定閾値の中から、前記負荷検出手段により検出された前記装置内処理負荷の大きさに応じて、該処理負荷が大きくなるほど、前記処理パラメータが大きいブロック境界についてのみデブロッキングフィルタ処理が行われるように判定閾値を設定する閾値設定手段と、
前記処理パラメータが前記閾値設定手段により設定された前記判定閾値よりも大きいか否かを判定する判定手段と、
該判定手段の判定結果に基づき、前記処理パラメータが前記判定閾値よりも小さいときは、前記デブロッキングフィルタ手段が前記デブロッキングフィルタ処理を行わないように制御する制御手段とを有することを特徴とする動画像復号装置。
【請求項２】
圧縮符号化された動画像ストリームをデコードする動画像復号装置であって、
デコードされた各フレームに対してブロック歪を低減するためのデブロッキングフィルタ処理を行うデブロッキングフィルタ手段と、
デコードに要する処理負荷を含む装置内処理負荷の大きさを検出する負荷検出手段と、
前記各フレームを構成する複数のブロックのうちの隣接するブロックの境界における画素変化量を示す変化量パラメータに基づく処理パラメータと比較することにより前記デブロッキングフィルタ処理を行うか否かを判定するための複数の判定閾値の中から、前記負荷検出手段により検出された前記装置内処理負荷の大きさに応じて、該処理負荷が大きくなるほど、前記処理パラメータが大きいブロック境界についてのみデブロッキングフィルタ処理が行われるように判定閾値を設定する閾値設定手段と、
前記処理パラメータが前記閾値設定手段により設定された前記判定閾値よりも大きいか否かを判定する判定手段と、
該判定手段の判定結果に基づき、前記処理パラメータが前記判定閾値よりも小さいときは、前記デブロッキングフィルタ手段が前記デブロッキングフィルタ処理を行わないように制御する制御手段とを有することを特徴とする動画像復号装置。
【請求項３】
前記隣接するブロックの境界におけるフィルタ強度を示す強度パラメータに基づく処理パラメータまたは前記隣接するブロックの境界における画素変化量を示す変化量パラメータに基づく処理パラメータは、前記強度パラメータおよび前記変化量パラメータを線形加算したパラメータであることを特徴とする請求項１または請求項２に記載の動画像復号装置。
【請求項４】
圧縮符号化された動画像ストリームをデコードする動画像復号方法であって、
デブロッキングフィルタ手段により、デコードされた各フレームに対してブロック歪を低減するためのデブロッキングフィルタ処理を行い、
負荷検出手段により、デコードに要する処理負荷を含む装置内処理負荷の大きさを検出し、
閾値設定手段により、前記各フレームを構成する複数のブロックのうちの隣接するブロックの境界におけるフィルタ強度を示す強度パラメータに基づく処理パラメータと比較することにより前記デブロッキングフィルタ処理を行うか否かを判定するための複数の判定閾値の中から、前記負荷検出手段により検出された前記装置内処理負荷の大きさに応じて、該処理負荷が大きくなるほど、前記処理パラメータが大きいブロック境界についてのみデブロッキングフィルタ処理が行われるように判定閾値を設定し、
判定手段により、前記処理パラメータが前記閾値設定手段により設定された前記判定閾値よりも大きいか否かを判定し、
制御手段により、前記判定手段の判定結果に基づき、前記処理パラメータが前記判定閾値よりも小さいときは、前記デブロッキングフィルタ手段が前記デブロッキングフィルタ処理を行わないように制御することを特徴とする動画像復号方法。
【請求項５】
圧縮符号化された動画像ストリームをデコードする動画像復号方法であって、
デブロッキングフィルタ手段により、デコードされた各フレームに対してブロック歪を低減するためのデブロッキングフィルタ処理を行い、
負荷検出手段により、デコードに要する処理負荷を含む装置内処理負荷の大きさを検出し、
閾値設定手段により、前記各フレームを構成する複数のブロックのうちの隣接するブロックの境界における画素変化量を示す変化量パラメータに基づく処理パラメータと比較することにより前記デブロッキングフィルタ処理を行うか否かを判定するための複数の判定閾値の中から、前記負荷検出手段により検出された前記装置内処理負荷の大きさに応じて、該処理負荷が大きくなるほど、前記処理パラメータが大きいブロック境界についてのみデブロッキングフィルタ処理が行われるように判定閾値を設定し、
判定手段により、前記処理パラメータが前記閾値設定手段により設定された前記判定閾値よりも大きいか否かを判定し、
制御手段により、前記判定手段の判定結果に基づき、前記処理パラメータが前記判定閾値よりも小さいときは、前記デブロッキングフィルタ手段が前記デブロッキングフィルタ処理を行わないように制御することを特徴とする動画像復号方法。
【請求項６】
前記隣接するブロックの境界におけるフィルタ強度を示す強度パラメータに基づく処理パラメータまたは前記隣接するブロックの境界における画素変化量を示す変化量パラメータに基づく処理パラメータは、前記強度パラメータおよび前記変化量パラメータを線形加算したパラメータであることを特徴とする請求項４または請求項５に記載の動画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＶＤプレーヤ，ＤＶＤレコーダ等の情報再生装置や情報記録再生装置に適用可能な圧縮された動画像ストリームを復号化する動画像復号装置および動画像復号方法に関する。
【背景技術】
【０００２】
従来から、映像および音声をデジタルデータとして記録または再生可能な情報再生装置、情報記録再生装置がある。この種の装置としては、記録媒体としてＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）を用い、その記録媒体に記録されているデジタルデータを読取って映像および音声を再生するＤＶＤプレーヤや、記録媒体に対するデジタルデータの記録と、記録されているデジタルデータを読取って映像および音声を再生可能なＤＶＤレコーダが普及している。
【０００３】
このようなＤＶＤプレーヤやＤＶＤレコーダでは、ＭＰＥＧ２，ＭＰＥＧ４などの動画像符号化方式により圧縮符号化された動画像ストリームをデコードするためのデコーダ（復号装置）が備えられている。デコーダがデコードをソフトウェアによって行うソフトウェアデコーダの場合は、圧縮符号化されている動画像ストリームを専用のハードウェアを設けることなくプロセッサ（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の処理によってデコードできるようになっている。
【０００４】
一方、ＭＰＥＧ２，ＭＰＥＧ４等の符号化方式によって圧縮符号化された動画像ストリームをデコードする場合は、画像処理をブロック単位で行う関係でブロックノイズやエッジノイズといった符号化方式特有のノイズが発生する。そのため、従来、それらのノイズを除去するためのポストフィルタが配置されている動画像再生装置が知られていた。例えば、特許文献１には、復号された動画像信号に対し、ポストフィルタによって行われるフィルタ処理（ポストフィルタ処理）を動画像信号の再生状況に基づき変更してポストフィルタ処理に要する時間を軽減し、コマ落ちの発生を防止するようにした動画像再生装置が開示されている。
【特許文献１】特開２００１−２４５２９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ポストフィルタ処理は、デコーダの外側で行われる処理であるため、ポストフィルタ処理に要する時間を軽減できたとしても、デコーダによるデコード処理自体が軽減されるものではない。そのため、デコード処理自体に遅れが生じた場合にはコマ落ちの発生を防止することはできない。
【０００６】
また、最近では、次世代の動画像圧縮符号化技術してＨ．２６４／ＡＶＣ（ＡＶＣ：Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格が注目されている。このＨ．２６４／ＡＶＣ規格により圧縮符号化処理を行うと、ＭＰＥＧ２、ＭＰＥＧ４といった従来の圧縮符号化技術にしたがって処理を行う場合よりも高能率の圧縮符号化が実現されるものの、エンコード（符号化）およびデコード処理の各々においてＭＰＥＧ２やＭＰＥＧ４よりも多くの処理量が必要とされる。
【０００７】
そのため、Ｈ．２６４／ＡＶＣ規格で圧縮符号化された動画像ストリームのデコードをソフトウェアまたはハードウェアによって行うように設計された情報再生装置や情報記録再生装置においては、複数の画像を再生する等により処理負荷が増大すると、デコード処理自体に遅れを生じ、動画音声の再生をスムーズに行えなくなるおそれがあった。特に、ＨＤ  ＤＶＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  ＤＶＤ）のように高解像度の動画像を再生するときは深刻な問題となるおそれがある。
【０００８】
そこで、本発明は上記課題を解決するためになされたもので、動画像ストリームのデコードをスムーズに実行することが可能な動画像復号装置および動画像復号方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、圧縮符号化された動画像ストリームをデコードする動画像復号装置であって、デコードされた各フレームに対してブロック歪を低減するためのデブロッキングフィルタ処理を行うデブロッキングフィルタ手段と、デコードに要する処理負荷を含む装置内処理負荷の大きさを検出する負荷検出手段と、各フレームを構成する複数のブロックのうちの隣接するブロックの境界におけるフィルタ強度を示す強度パラメータに基づく処理パラメータと比較することによりデブロッキングフィルタ処理を行うか否かを判定するための複数の判定閾値の中から、負荷検出手段により検出された装置内処理負荷の大きさに応じて、該処理負荷が大きくなるほど、前記処理パラメータが大きいブロック境界についてのみデブロッキングフィルタ処理が行われるようにデブロッキングフィルタ処理を行うか否かを判定するための判定閾値を設定する閾値設定手段と、処理パラメータが閾値設定手段により設定された判定閾値よりも大きいか否かを判定する判定手段と、その判定手段の判定結果に基づき、処理パラメータが判定閾値よりも小さいときは、デブロッキングフィルタ手段がデブロッキングフィルタ処理を行わないように制御する制御手段とを有することを特徴とする。
【００１０】
この動画像復号装置では、負荷の大きさに応じてデブロッキングフィルタ処理を行うか否かを判定するための判定閾値が設定され、その判定閾値よりも各フレームを構成する複数のブロックのうちの隣接するブロックの境界におけるフィルタ強度を示す強度パラメータに基づく処理パラメータが小さいときは、デブロッキングフィルタ処理が行われないようになっている。
【００１１】
また、本発明は、圧縮符号化された動画像ストリームをデコードする動画像復号装置であって、デコードされた各フレームに対してブロック歪を低減するためのデブロッキングフィルタ処理を行うデブロッキングフィルタ手段と、各フレームを構成する複数のブロックのうちの隣接するブロックの境界における画素変化量を示す変化量パラメータに基づく処理パラメータと比較することによりデブロッキングフィルタ処理を行うか否かを判定するための複数の判定閾値の中から、負荷検出手段により検出された装置内処理負荷の大きさに応じて、該処理負荷が大きくなるほど、前記処理パラメータが大きいブロック境界についてのみデブロッキングフィルタ処理が行われるように判定閾値を設定する閾値設定手段と、処理パラメータが閾値設定手段により設定された判定閾値よりも大きいか否かを判定する判定手段と、該判定手段の判定結果に基づき、処理パラメータが判定閾値よりも小さいときは、デブロッキングフィルタ手段がデブロッキングフィルタ処理を行わないように制御する制御手段とを有することを特徴とする。
【００１２】
この動画像復号装置では、負荷の大きさに応じてデブロッキングフィルタ処理を行うか否かを判定するための判定閾値が設定され、その判定閾値よりも各フレームを構成する複数のブロックのうちの隣接するブロックの境界における画素変化量を示す変化量パラメータに基づく処理パラメータが小さいときは、デブロッキングフィルタ処理が行われないように制御される。
【発明の効果】
【００１３】
以上詳述したように、本発明によれば、動画像ストリームのデコードをスムーズに実行することが可能な動画像復号装置および動画像復号方法が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。
【００１５】
本発明の実施の形態に係る動画像復号装置１００は、図１に示す映像再生装置１に備えられている。図１は、映像再生装置１の内部構成を記録媒体２０３およびネットワークストレージ２０４とともに示すブロック図である。図１に示すように、映像再生装置１は、光ディスク等の記録媒体２０３が用いられ、記録媒体２０３に記録されているデジタル形式の映像コンテンツデータ（映画、ドラマなどの映像コンテンツを再生するためのデータ）を読取って映像コンテンツおよびインタラクティブデータ（映像コンテンツに関連して再生されるメニューデータ、アニメーションデータ、効果音データ、映像コンテンツの解説等のコンテンツ解説データ、クイズの問題などを含むデータ）を再生することができ、また、インターネット２０２を介してネットワークストレージ２０４に接続し、ネットワークストレージ２０４からも映像コンテンツデータを取得して映像コンテンツおよびインタラクティブデータを再生可能な構成を有している。
【００１６】
映像再生装置１は、ハードディスクドライブ２、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）３、ディスクドライブ４およびネットワークコントローラ５を有し、いずれもバス１９に接続されている。ハードディスクドライブ２は、高速回転する磁気ディスクに映像コンテンツデータ等のデジタルデータを記録して、デジタルデータの読み書きを行う。フラッシュメモリ３には、映像コンテンツデータ等のデジタルデータが記憶されてデジタルデータの読み書きが行われる。ディスクドライブ４は記録媒体２０３から映像コンテンツデータ等のデジタルデータを読み取り、再生信号を出力する機能を有している。ネットワークコントローラ５は、インターネット２０２を介してネットワークストレージ２０４との間で行われる映像コンテンツデータ等のデジタルデータの読み書きを制御する。
【００１７】
また、映像再生装置１は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６、メモリ部７、ＲＯＭ８およびビデオメモリ部９を有し、いずれもバス１９に接続されている。ＭＰＵ６は、ＲＯＭ８からメモリ部７に読み出された起動プログラムにしたがい起動され、また、プレイヤプログラムをＲＯＭ８からメモリ部７に読み出し、そのプレイヤプログラムにしたがってシステム初期化、システム終了などを制御し、システムマイコン１６の処理を制御する。さらに、ＭＰＵ６は、後述するデータプロセッサ部１０に対して、記録媒体２０３、ネットワークストレージ２０４、ハードディスクドライブ２およびフラッシュメモリ３のいずれかから読み出される映像コンテンツデータから映像および音声を再生するように指示する。メモリ部７には、ＭＰＵ６が作動する際に用いるデータやプログラムが記憶される。ＲＯＭ８には、起動プログラム、プレイヤプログラムといったＭＰＵ６が実行するプログラムや、データプロセッサ部１０が実行するプログラム（例えば、映像コンテンツデータ等の圧縮符号化されている動画音声データをデコードし、映像および音声を再生するための映像再生プログラム）、恒久的なデータなどが記憶されている。ビデオメモリ部９には、後述するデコードされたデコード画像データＤが順次書き込まれる。
【００１８】
データプロセッサ部１０は映像再生プログラムにしたがい作動して、圧縮符号化されている動画音声データを動画像データと音声データに分離してそれぞれをデコードし、映像および音声を再生する。システムマイコン１６は、映像コンテンツの再生情報を表示パネル１７へ表示させ、ユーザ入力装置１８（リモコンまたは映像再生装置１に備えられた操作ボタン等操作入力可能な装置）から入力される操作入力信号をバス１９を介してＭＰＵ６に入力する。表示パネル１７は、液晶表示パネルを有し、システムマイコン１６の指示にしたがい、映像コンテンツおよびインタラクティブデータの再生に関する様々な情報を液晶表示パネルに表示する。
【００１９】
次に、図２は映像再生装置１に備えられている動画像復号装置１００の内部構成を示すブロック図である。この動画像復号装置１００は、映像再生プログラムの１モジュールとして構成されている動画像復号処理プログラムにより実現されるソフトウェアデコーダである。動画像復号処理プログラムは、Ｈ．２６４／ＡＶＣ規格で定義されている符号化方式で圧縮符号化されている動画像データＳ（以下「動画像ストリーム」といい、例えば映像コンテンツデータ）をデコードするためのソフトウェアであって、データプロセッサ部１０によって実行され、図２に示す処理負荷検出部（動画像復号処理プログラムにおける処理負荷検出モジュール）２００と、ビデオデコーダ（動画像復号処理プログラムにおけるデコード実行モジュール）３００とに相当する機能を有している。
【００２０】
処理負荷検出部２００は、ビデオデコーダ３００におけるデコードに要する処理負荷を含む映像再生装置１内で発生する各種の処理負荷（以下「装置内処理負荷」という）の大きさを検出する負荷検出手段としての機能を有している。本実施の形態では、装置内処理負荷として、再生された映像データを可視化し表示されるべき画像を生成するレンダリングに要するレンダリング処理負荷Ｌ１、音声出力に要するオーディオ処理負荷Ｌ２およびビデオデコーダ３００におけるデコードに要するビデオデコード処理負荷Ｌ３が検出の対象となっている。これらの処理負荷の大きさ（負荷量）は例えばＭＰＵ６（またはデータプロセッサ部１０）の使用率に基づいて決定されるが、ＭＰＵ６の使用率とＲＯＭ８の使用率との組み合わせによって決定することもできる。
【００２１】
通常、ソフトウェアデコーダをスムーズに作動させるためには、ある一定サイズ以上のメモリ（ＲＯＭ８など）を必要とする。メモリの使用率が高くなると、ソフトウェアデコーダのパフォーマンスが低下する。そのため、ＭＰＵ６（またはデータプロセッサ部１０）の使用率とＲＯＭ８の使用率との組み合わせによって、装置内処理負荷の大きさを検出すると、ソフトウェアデコーダのスムーズな動作に支障をきたす負荷量であるか否かが精度よく判別される。
【００２２】
そして、処理負荷検出部２００は、検出した装置内処理負荷の大きさを示す負荷情報ＬＤを生成し、ビデオデコーダ３００に入力する。負荷情報ＬＤは映像再生装置１がビデオデコーダ３００におけるデコード処理の実行に支障を来たす負荷量である（この場合を後述する高負荷状態という）か否かの判定に用いられる。
【００２３】
ビデオデコーダ３００は詳しくは後述するが、動画像ストリームＳを入力し、伸張するためのデコードを行う等してデコード画像データＤを出力する。なお、図２には示していないが、デコード画像データＤについては合成処理が行われ、その合成処理後の合成画像に対応した映像出力信号が映像再生装置１から出力される。
【００２４】
次に、図３を参照してビデオデコーダ３００について説明する。ビデオデコーダ３００は、Ｈ．２６４／ＡＶＣ規格に対応しており、図３に示すとおり、エントロピー復号部３０１、逆量子化部３０２、逆ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）部３０３、加算部３０４、デブロッキングフィルタ部３０５、フレームメモリ３０６、動きベクトル予測部３０７、補間予測部３０８、重み付け予測部３０９、イントラ予測部３１０およびモード切替スイッチ３１１を有している。なお、Ｈ．２６４の直交変換は整数精度であり、従来のＤＣＴとは異なるが、本実施の形態では、ＤＣＴとして説明する。
【００２５】
ビデオデコーダ３００では、動画像ストリームＳを構成するフレーム（ピクチャ）を例えば図４に示すような４×４の１６ブロックからなるマクロブロック４００単位に分割し、マクロブロック４００ごとにデコードを実行する。各マクロブロック４００は、１６個のブロック４０１によって構成され、各ブロック４０１は４×４の１６画素が含まれている。
【００２６】
そして、マクロブロック４００ごとにフレーム内符号化モード（イントラ符号化モード）および動き補償フレーム間予測符号化モード（インター符号化モード）のいずれか一方が選択されてデコードが実行される。
【００２７】
イントラ符号化モードにおいては、符号化の対象とされるフレーム（符号化対象フレーム）から予測信号が生成され、その予測信号が直交変換（ＤＣＴ）、量子化およびエントロピー符号化によって符号化されている。また、動き補償フレーム間予測符号化モードにおいては、動き補償フレーム間予測信号が定められた形状単位で生成されている。動き補償フレーム間予測信号はすでに符号化されているフレームと異なっている部分のみを変化分として検出し、それを用いて動きを推定するために生成されている。そして、符号化対象フレームから動き補償フレーム間予測信号を引いた予測誤差信号が、直交変換（ＤＣＴ）、量子化およびエントロピー符号化によって符号化されている。
【００２８】
なお、Ｈ．２６４／ＡＶＣ規格に対応するコーデックは、さらに圧縮率を高めるために、以下の（１）〜（６）に示す各技術などを利用している。
（１）従来のＭＰＥＧよりも高い画素精度（１／４画素精度）の動き補償
（２）フレーム内符号化を効率的に行うためのフレーム内予測
（３）ブロック歪みを低減するためのデブロッキングフィルタ
（４）４×４画素単位の整数ＤＣＴ
（５）任意の位置の複数フレームを参照画面として使用可能なマルチリファレンスフレーム
（６）重み付け予測
【００２９】
次に、図３に示したソフトウェアデコーダとしてのビデオデコーダ３００の動作について説明する。動画像ストリームＳは、まず、エントロピー復号部３０１に入力される。動画像ストリームＳには、符号化されている動画像データのほかに、動き補償フレーム間予測符号化（インター予測符号化）で用いられた動きベクトル情報、フレーム内予測符号化（イントラ予測符号化）で用いられたフレーム内予測情報、予測モード（インター予測符号化／イントラ予測符号化）を示すモード情報等が含まれている。
【００３０】
エントロピー復号部３０１は動画像ストリームＳに対して可変長復号のようなエントロピー復号処理を施し、入力される動画像ストリームＳから量子化ＤＣＴ係数、動きベクトル情報、フレーム内予測情報およびモード情報を分離して出力する。この場合、例えば、デコードの対象とされるフレーム（デコード対象フレーム）内の各マクロブロック４００は、ブロック４０１ごとにエントロピー復号部３０１で処理されるが、以下では、ブロック４０１が４×４画素である場合を想定しており、ブロック４０１は４×４の量子化ＤＣＴ係数に変換される。ただし、ブロック４０１は８×８画素のこともある。
【００３１】
そして、エントロピー復号部３０１から出力されるデータのうち、動きベクトル情報が動きベクトル予測部３０７に入力され、フレーム内予測情報は、イントラ予測部３１０に入力される。また、モード情報はモード切替スイッチ３１１に入力される。
【００３２】
逆量子化部３０２は、逆量子化処理を行い、デコード対象のブロック４０１の４×４の量子化ＤＣＴ係数を４×４のＤＣＴ係数（直交変換係数）に変換する。また、逆ＤＣＴ部３０３は、逆整数ＤＣＴ（逆直交変換）処理を行い、４×４のＤＣＴ係数を周波数情報から４×４の画素値に変換する。この４×４の画素値は、デコード対象のブロック４０１に対応する予測誤差信号である。この予測誤差信号は加算部３０４に入力される。加算部３０４は入力される予測誤差信号にデコード対象のブロック４０１に対応する予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）を加算する。これにより、デコード対象のブロック４０１に対応する４×４の画素値がデコードされる。
【００３３】
このように、ビデオデコーダ３００では、デコード対象のブロック４０１に対応する予測誤差信号に予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）を加算してデコード対象フレームをデコードする処理をブロック４０１ごとに実行している。
【００３４】
なお、イントラ予測モードでは、モード切替スイッチ３１１によってイントラ予測部３１０が選択されるので、加算部３０４により、イントラ予測部３１０からのフレーム内予測信号が予測誤差信号に加算される。また、インター予測モードでは、モード切替スイッチ３１１によって重み付け予測部３０９が選択されるので、動きベクトル予測部３０７、補間予測部３０８および重み付け予測部３０９によって得られる動き補償フレーム間予測信号が予測誤差信号に加算される。
【００３５】
そして、デコードされた各フレームは、デブロッキングフィルタ部３０５によってデブロッキングフィルタ処理が施される。デブロッキングフィルタ部３０５は、例えば４×４画素のブロック４０１単位にデコードされた各フレームに対して、ブロックノイズを低減するためのデブロッキングフィルタ処理を施す。詳しくは後述するが、図４に示すように、マクロブロック４００に含まれている隣接するブロック４０１の境界（エッジ）のうち、連続性が途絶えるような段差がある箇所を対象とし、その段差を解消して滑らかにするための処理がデブロッキングフィルタ処理である。なお、ブロック４０１の境界のすべてがデブロッキングフィルタ処理の対象とされるわけではなく、段差を滑らかに解消する必要のある境界が対象とされる。
【００３６】
このデブロッキングフィルタ処理は、ブロック歪みが参照画像に含まれてしまい、これによってブロック歪みが復号画像に伝播してしまうことを防止する。デブロッキングフィルタ部３０５によるデブロッキングフィルタ処理の処理量は膨大であり、ビデオデコーダ３００の全処理量の５０パーセントを占める場合もある。デブロッキングフィルタ部３０５によるデブロッキングフィルタ処理はブロック歪みが生じやすい箇所に対してはより強いフィルタリング処理が施され、ブロック歪みが生じ難い箇所に対しては弱いフィルタリング処理が施されるように、適応的に実行される。デブロッキングフィルタ処理はループフィルタ処理によって実現されている。
【００３７】
そして、デブロッキングフィルタ処理が施された各フレームは、フレームメモリ３０６に格納され、フレームメモリ３０６から出力フレーム（または出力画像フィールド）として読み出される。
【００３８】
なお、動き補償フレーム間予測のための参照画像として使用されるべき各フレーム（参照フレーム）は、フレームメモリ３０６内に一定期間保存されている。また、Ｈ．２６４／ＡＶＣ規格の動き補償フレーム間予測符号化においては、複数のフレームを参照画面として使用することができるため（マルチリファレンスフレーム）、フレームメモリ３０６は複数のフレームを記憶するための複数個のメモリ部を有している。
【００３９】
次に、動きベクトル予測部３０７はデコード対象のブロック４０１に対応する動きベクトル情報に基づいて、動きベクトル差分情報を生成する。補間予測部３０８は、デコード対象のブロック４０１に対応する動きベクトル差分情報に基づいて、参照フレーム内の整数精度の画素群および１／４画素精度の予測補間画素群から、動き補償フレーム間予測信号を生成する。なお、１／４画素精度の予測補間画素の生成においては、６タップフィルタ（入力６つ、出力１つ）が用いられるため、高周波成分まで考慮した高精度の予測補間処理を実行できるが、その分、動き補償には多くの処理量が必要となる。
【００４０】
重み付け予測部３０９は、動き補償フレーム間予測信号に対し、重み係数を乗じる処理（重み付け予測）を動き補償ブロック単位で実行し、重み付けされた動き補償フレーム間予測信号を生成する。この重み付け予測は、デコード対象フレームの明るさを予測する処理である。この重み付け予測処理により、フェードイン、フェードアウトのように明るさが時間とともに変化する動画像の画質を向上させることができる。しかし、その分、ビデオデコーダ３００に必要な処理量は増大する。
【００４１】
イントラ予測部３１０はデコード対象フレームから、そのフレーム内に含まれるデコード対象のブロック４０１のフレーム内予測信号を生成する。イントラ予測部３１０は、エントロピー復号部３０１から入力されるフレーム内予測情報に従って画面内予測処理を実行し、デコード対象のブロック４０１と同一のフレーム内に存在するブロック４０１のうちのデコード対象のブロック４０１に近接するすでにデコードされたほかのブロック４０１内の画素値からフレーム内予測信号を生成する。このフレーム内予測（イントラ予測）はブロック間の画素相関を利用して圧縮率を高める技術である。このフレーム内予測では、フレーム内予測情報に従って、垂直予測（予測モード０）、水平予測（予測モード１）、平均値予測（予測モード３）および平面予測（予測モード４）を含む４種類の予測モードのうちの１つが、フレーム内予測ブロック（例えば１６×１６の画素）単位で選択される。なお、平面予測が選択される頻度は他のフレーム内予測モードよりも低いが、平面予測のために必要とされ処理量はほかのどのフレーム内予測モードの処理量よりも多い。
【００４２】
そして、本実施の形態における動画像復号装置１００では、装置内処理負荷が増大しても動画像ストリームＳを制限時間内にリアルタイムにデコードできるようにするため、図６に示すフローチャートに沿って、上述のデブロッキングフィルタ処理を含むすべてのデコード処理（以下「通常デコード処理」という）と特殊デコード処理（通常デコード処理からデブロッキングフィルタ処理だけを省略した処理）とを装置内処理負荷の大きさに応じて選択的に実行するようになっている。なお、特殊デコード処理では、デブロッキングフィルタ処理の実行がスキップされるので、補間予測部３０８は、参照フレームとして、デブロッキングフィルタ処理が施されたフレームではなく、デブロッキングフィルタ処理が施される前の１以上のデコードされたフレームを使用して、デコード対象フレームに対応する動き補償フレーム間予測信号を生成することとなる。
【００４３】
以下、図６のフローチャートを参照して、動画像復号装置１００によるデコード処理の動作手順について説明する。なお、図６に示すフローチャートに沿ったデコード処理が行われる場合、データプロセッサ部１０が動画像復号処理プログラムを実行し本発明における制御手段として作動している。
【００４４】
データプロセッサ部１０は、動画像復号処理プログラムによるデコード処理を開始すると、ステップ１に進み、映像再生装置１の現在の負荷を問い合わせる。この場合、処理負荷検出部２００によって、データプロセッサ部１０の使用率等に基づき装置内処理負荷の大きさが検出され、負荷情報ＬＤがビデオデコーダ３００に入力される。
【００４５】
次に、データプロセッサ部１０はステップ２に進み、ステップ１で入力された負荷情報ＬＤに基づいて、映像再生装置１の現在の負荷が所定の基準値よりも大きいか否かによって高負荷状態であるか否かを判定する。
【００４６】
そして、高負荷状態ではないと判定されたときはステップ３に進む。この場合、データプロセッサ部１０は通常デコード処理を選択して、デブロッキングフィルタ処理を含む上述の一連のデコード処理を実行する。したがって、映像再生装置１が高負荷状態にならないかぎり、つまりデコードパフォーマンスが低下しないかぎり、動画像ストリームＳは通常デコード処理によってデコードされる。
【００４７】
一方、高負荷状態であると判定されたときはステップ４に進み、データプロセッサ部１０は実行すべきデコード処理として上述の特殊デコード処理を選択し、ビデオデコーダ３００による上述の一連のデコード処理からデブロッキングフィルタ処理を除いた残りの処理を実行する。この場合、デブロッキングフィルタ処理が施される前のデコードされたフレームがフレームメモリ３０６に格納されるので、デコード対象フレームに対応する動き補償フレーム間予測信号はデブロッキングフィルタ処理が施される前の１以上のデコードされたフレームを使用して生成される。
【００４８】
以上のようにして、デブロッキングフィルタ処理の実行を省略することにより、ブロック歪みの含まれた動画像が再生される可能性があるものの、フレームあたりのデコードに必要な処理を大幅に削減することができるようになる。そのため、たとえデコード処理の実行中にほかのプログラムが実行されていることで、映像再生装置１が高負荷状態になっても、コマ落ちやオブジェクトの動きが極端に遅くなるなどの不具合を招くようなことはなく、動画像データのデコードおよび再生をスムーズに継続して実行できるようになる。
【００４９】
そして、ビデオデコーダ３００では、デブロッキングフィルタ処理を行う際に用いられる処理パラメータに着目して以下の手順１）、手順２）、手順３）にしたがってデコード処理を行う。
【００５０】
ここで、図５に示すように、隣接する２つの４×４画素ブロック４０１について、デブロッキングフィルタ処理前の画素値をｐ０、ｐ１、ｐ２、ｐ３と、ｑ０、ｑ１、ｑ２、ｑ３とし、デブロッキングフィルタ処理後の画素値をｐ’０、ｐ’１、ｐ’２、ｐ’３と、ｑ’０、ｑ’１、ｑ’２、ｑ’３とする。
【００５１】
この画素値ｐ０、ｐ１、ｐ２、ｐ３と、ｑ０、ｑ１、ｑ２、ｑ３により構成される隣接するブロック４０１に対して、Ｂｏｕｎｄａｒｙ  Ｓｔｒｅｎｇｔｈ（以下「ｂＳ」という）値が決定される。このｂＳはブロック境界のフィルタ強度を示す強度パラメータであり、１〜４まで存在していて、値が大きいほど強いフィルタリングが用いられる。すなわち、ブロック境界によって一様のフィルタリングが行われるのではなく、ブロック境界がマクロブロック４００の境界であるのか、フレーム内符号化、フレーム間符号化の境界なのか、フレーム内予測を行っているかなど、条件に応じてどの程度のフィルタをかけるべきかが決定されるようになっている。
【００５２】
そして、手順１）では、処理パラメータとしてのｂＳに着目して、ｂＳが後述する判定閾値よりも大きいエッジにのみデブロッキングフィルタ処理を行うように制御してデコード処理を行うこととしている。この手順１）では、データプロセッサ部１０が図７に示すフローチャートに沿ってデコード処理を行う。図７は手順１）によるデコード対象フレームについてのデコード処理（ピクチャデコード処理）の動作手順を示すフローチャートである。
【００５３】
データプロセッサ部１０は、ステップ１を実行して、上記同様にして処理負荷検出部２００による装置内処理負荷の大きさを検出し、検出された装置内処理負荷（負荷情報ＬＤ）の大きさに応じて、装置内処理負荷の大きさのレベルを示す４つの負荷レベル（負荷レベル０，１，２，３、数字が大きいほど負荷レベルが高い状態としている）を設定する。次に、ステップ１０に進み、ステップ１で設定された負荷レベルが０よりも大きいか否かを判定し、負荷レベルが０よりも大きい場合はステップ１１に進むが、負荷レベルが０の場合は装置内処理負荷の大きさが小さく、すべてのブロック４０１についてデブロッキングフィルタ処理を行っても問題ないと考えられることから、ステップ１５に進み、デコード対象フレーム内のすべてのブロック４０１について通常デコード処理を行うようにする。
【００５４】
ステップ１１に進むときはデータプロセッサ部１０が閾値設定手段として作動し、デブロッキングフィルタ処理を行うか否かを判定するための判定閾値（ｂＳ−ｔｈ）を負荷レベルに応じて設定する（ｂＳ−ｔｈは、“１”，“２”，“３”の３つのいずれかに設定される）。次に、ステップ１２に進み、デブロッキングフィルタ処理の対象となるブロック４０１についてｂＳを算出し（ｂＳチェック）、続くステップ１３では、ステップ１２で算出したｂＳがｂＳ−ｔｈよりも大きいか否かを判定する。ここで、ｂＳがｂＳ−ｔｈよりも大きいと判定されたとき（すなわち、この場合は強いフィルタリングを要するとき）はステップ３に進んで通常デコード処理を行うようにするが、ｂＳがｂＳ−ｔｈよりも大きいと判定されない（ｂＳがｂＳ−ｔｈよりも小さい）とき、すなわち、強いフィルタリングを要しないときはステップ４に進んで特殊デコード処理が実行され、ビデオデコーダ３００による上述の一連のデコード処理からデブロッキングフィルタ処理を除いた残りの処理が実行される。ステップ１４では、すべてのブロック４０１についてデコード処理を終了したか否かが判定され、終了しているときはピクチャデコード処理が終了するが、そうでなければステップ１２に戻って上述の処理を繰り返す。
【００５５】
このようにすることにより、デブロッキングフィルタ処理を行うか否かをフレーム単位ではなく、ブロック単位に細かく調整でき、強いフィルタリングを要するブロックについてだけデブロッキングフィルタ処理を行い、強いフィルタリングを要しないブロックについてはデブロッキングフィルタ処理を省略することができる。
【００５６】
そのため、各フレームあたりのデコードに必要な処理量を大幅に削減することができるだけでなく、デブロッキングフィルタ処理の省略を処理パラメータに応じた適切なものとすることができる。しかも、負荷レベルに応じて、デブロッキングフィルタ処理を行うか否かを判定するための判定閾値（ｂＳ−ｔｈ）を設定し、負荷レベルが高くなるほど、ｂＳが高いエッジについてのみデブロッキングフィルタ処理が行われるようにしている。そのため、映像再生装置１における装置内処理負荷の大きさに応じてデブロッキングフィルタ処理を行うか否かが変わり、たとえフィルタ強度が同じであっても、デブロッキングフィルタ処理を行うかが装置内処理負荷の大きさに応じたものとなる。したがって、ｂＳからすると、強いフィルタリングを要しない場合でも、映像再生装置１における装置内処理負荷の大きさが小さい場合には、デブロッキングフィルタ処理が行われることもあるため、ブロック歪みが少なくて質の高い動画像を再生できるようになる。
【００５７】
手順２）では、処理パラメータとして、クリッピング値ｔｃに着目してデコード処理を行うこととしている。このクリッピング値ｔｃは、図５の計算式に示すとおり、上述のｂＳが１〜３までの場合に存在するパラメータで、フィルタ対象画素に対する画素変化量のクリッピング値を示す本発明における変化量パラメータとなっている。ｂＳと同様にクリッピング値ｔｃの場合も、値が大きいほど、フィルタ強度が高いことを示している。
【００５８】
フィルタ強度が高いエッジほど画素変化量が大きいため、デブロッキングフィルタ処理を省略すると、画素の誤差が累積し、正しいデコード画像との差が大きくなってしまう。そのため、フィルタ強度が小さいエッジに対するデブロッキングフィルタ処理を優先的に省略する。
【００５９】
手順２）では、データプロセッサ部１０が図８に示すフローチャートに沿ってデコード処理を行う。以下の説明は、手順１）との相違点を中心に行い、共通点については説明を省略乃至簡略化する。図８は手順２）によるデコード対象フレームについてのデコード処理（ピクチャデコード処理）の動作手順を示すフローチャートである。
【００６０】
データプロセッサ部１０は、ステップ１を手順１）と同様に実行して、検出された装置内処理負荷の大きさに応じて、装置内処理負荷の大きさのレベルを示す負荷レベルを複数（０，１，２，３・・・Ｌ（最大レベル））設定する。ステップ２０に進み、ステップ１で設定された負荷レベルが０よりも大きいか否かを判定し、負荷レベルが０よりも大きい場合はステップ２１に進むが、負荷レベルが０の場合はステップ１５に進み、デコード対象フレーム内のすべてのブロック４０１について通常デコード処理を行うようにする。
【００６１】
ステップ２１に進むときはデータプロセッサ部１０が閾値設定手段として作動し、デブロッキングフィルタ処理を行うか否かを判定するための判定閾値（ｔｃ−ｔｈ）を負荷レベルに応じて設定する（ｔｃ−ｔｈは、１，２，３・・・Ｌのいずれかに設定される）。次に、ステップ２２に進みデブロッキングフィルタ処理の対象となるブロック４０１についてｔｃを算出し（ｔｃチェック）、続くステップ２３では、ステップ２２で算出したｔｃがｔｃ−ｔｈよりも大きいか否かを判定する。ここで、ｔｃがｔｃ−ｔｈよりも大きいと判定されたとき（すなわち、この場合は強いフィルタリングを要するとき）はステップ３に進んで通常デコード処理を行うようにするが、ｔｃがｔｃ−ｔｈよりも大きいと判定されないとき（すなわち、強いフィルタリングを要しないとき）はステップ４に進んで特殊デコード処理が実行され、ビデオデコーダ３００による上述の一連のデコード処理からデブロッキングフィルタ処理を除いた残りの処理が実行される。これ以降は、手順１）と同様にして行われる。この手順２）による場合も、手順１）と同様の作用効果を奏することとなる。
【００６２】
手順３）では、処理パラメータとして、ｂＳと、クリッピング値ｔｃから演算処理により求められる演算パラメータとしての評価パラメータｅに着目してデコード処理を行う。この評価パラメータｅは、以下の式１にしたがって算出される。評価パラメータｅはフィルタ強度に比例する値を示すものであり、手順３）では、評価パラメータｅが式２により定まる判定閾値θよりも小さいエッジに対してデブロッキングフィルタ処理を省略する。
式１  ｅ＝γ×ｂＳ＋Φ×ｔｃ      （γ，Φは０以上の定数とする）
式２  θ＝ｆ（Ｌ）                （Ｌ：負荷レベル、ｆ（Ｌ）：負荷レベルが高いほど大きい値が得られる関数）
【００６３】
手順３）では、データプロセッサ部１０が図９に示すフローチャートに沿ってデコード処理を行う。以下の説明は、手順１）との相違点を中心に行い、共通点については説明を省略乃至簡略化する。図９は手順２）によるデコード対象フレームについてのデコード処理（ピクチャデコード処理）の動作手順を示すフローチャートである。
【００６４】
データプロセッサ部１０は、ステップ１を手順１）と同様に実行して、検出された装置内処理負荷の大きさに応じて、装置内処理負荷の大きさのレベルを示す負荷レベル複数（０，１，２，３・・・Ｌ（最大レベル））を設定する。ステップ３０に進み、ステップ１で設定された負荷レベルが０よりも大きいか否かを判定し、負荷レベルが０よりも大きい場合はステップ３１に進むが、負荷レベルが０の場合はステップ１５に進み、デコード対象フレーム内のすべてのブロック４０１について通常デコード処理を行うようにする。
【００６５】
ステップ３１に進むときはデータプロセッサ部１０が閾値設定手段として作動し、負荷レベルによって決まる判定閾値θを式２によって算出する。次にステップ３２に進み、評価パラメータｅを式１にしたがって算出する。続くステップ３３では、ステップ３２で算出した評価パラメータｅが判定閾値θよりも大きいか否かを判定する。ここで、評価パラメータｅが判定閾値θよりも大きいと判定されたとき（すなわち、この場合は強いフィルタリングを要するとき）はステップ３に進んで通常デコード処理を行うようにするが、評価パラメータｅが判定閾値θよりも大きいと判定されないとき（すなわち、強いフィルタリングを要しないとき）はステップ４に進んで特殊デコード処理が実行され、ビデオデコーダ３００による上述の一連のデコード処理からデブロッキングフィルタ処理を除いた残りの処理が実行される。これ以降は、手順１）と同様にして行われる。この手順３）による場合も、手順１）と同様の作用効果を奏することとなる。
【００６６】
動画像復号装置１００による上述のデコード処理では、装置内処理負荷の大きさを検出し、高負荷状態の場合にデブロッキングフィルタ処理を省略していたが、装置内処理負荷の大きさによることなく、上述の処理パラメータに基づいてデブロッキングフィルタ処理を省略するか否かを制御してもよい。この場合、データプロセッサ部１０が図１０に示すフローチャートに沿って動画像復号処理プログラムを実行し、本発明における制御手段として作動する。
【００６７】
データプロセッサ部１０は、動画像復号処理プログラムによるデコード処理を開始すると、ステップ４１に進み、処理パラメータ（ｂＳ；強度パラメータまたはｔｃ；変化量パラメータ）を検出する。また、データプロセッサ部１０は、続くステップ４２で、ステップ４１で検出した処理パラメータに基づいて、デブロッキングフィルタ処理を省略してもよいか否かを判定する。ここで、デブロッキングフィルタ処理を省略してもよいと判定された場合（例えば、ｂＳが基準となる値よりも小さく、強いフィルタリングを要しない場合）はステップ４に進んで上述のとおり特殊デコード処理を実行し、デブロッキングフィルタ処理を省略するが、そうでない場合には、ステップ３に進み、上述のとおり通常デコード処理を実行する。
【００６８】
このようにしても、デブロッキングフィルタ処理の実行が省略されることでブロック歪みの含まれた動画像が再生される可能性があるものの、フレームあたりのデコードに必要な処理を大幅に削減することができるようになる。
【００６９】
なお、上述のデコード処理はすべてコンピュータにより実行可能な動画像復号処理プログラムによって実現されているので、動画像復号処理プログラムをコンピュータ読み取り可能な記憶媒体を通じてコンピュータに導入することにより、上記の本実施の形態と同様の機能を発揮させ、同様の作用効果を奏するようにすることができる。
【００７０】
また、上述の実施の形態では、デコード処理をソフトウェアによって行うソフトウェアデコーダを例にとって説明しているが、本発明は、デコード処理をハードウェアの処理によって行う動画像復号装置および動画像復号方法についても適用がある。例えば、システムマイコン１６などを高機能化することによって実現することができる。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態に係る動画像復号装置が適用される映像再生装置の内部構成を記録媒体およびネットワークストレージとともに示すブロック図である。
【図２】本発明の実施に形態に係る動画像復号装置の内部構成を示すブロック図である。
【図３】ビデオデコーダの内部構成を示すブロック図である。
【図４】マクロブロックを隣接するブロックのエッジとともに示す図である。
【図５】デブロッキングフィルタ処理の手順を示す図である。
【図６】動画像復号装置によるデコード処理の動作手順を示すフローチャートである。
【図７】ｂＳを用いた場合のピクチャデコード処理の動作手順を示すフローチャートである。
【図８】ｔｃを用いた場合のピクチャデコード処理の動作手順を示すフローチャートである。
【図９】ｂＳ，ｔｃから求まる評価パラメータを用いた場合のピクチャデコード処理の動作手順を示すフローチャートである。
【図１０】動画像復号装置による別のデコード処理の動作手順を示すフローチャートである。
【符号の説明】
【００７２】
１…映像再生装置、２…ハードディスクドライブ
３…フラッシュメモリ，６…ＭＰＵ，８…ＲＯＭ
１０…データプロセッサ部、１１…映像デコーダ
１２…オーディオデコーダ、１３…映像合成部
１４…映像出力部、１５…オーディオ出力部
１００…動画像復号装置、２００…処理負荷検出部
３００…ビデオデコーダ
３０５…デブロッキングフィルタ部
【図１】
0004825524.tif 000002
【図２】
0004825524.tif 000003
【図３】
0004825524.tif 000004
【図４】
0004825524.tif 000005
【図５】
0004825524.tif 000006
【図６】
0004825524.tif 000007
【図７】
0004825524.tif 000008
【図８】
0004825524.tif 000009
【図９】
0004825524.tif 000010
【図１０】
0004825524.tif 000011