(57)【要約】【課題】  画像符号化、復号時のフィルタ処理を簡素化、高速化することにより、符号化、復号処理全体を高速化することができる画像符号化装置及び画像復号装置を提供する。【解決手段】  複数のブロック境界に対してフィルタ処理ＯＮ／ＯＦＦの判定を一括で行い（Ｓ４１０，Ｓ４４０）、フィルタ処理すべてＯＮの場合はフィルタタイプを一括で決定して（Ｓ４２０）フィルタ処理を行い（Ｓ４３０）、フィルタ処理すべてＯＦＦの場合はフィルタ処理を行わず、それ以外の場合はフィルタ処理ＯＮ／ＯＦＦの判定（Ｓ４６０）及びフィルタタイプの決定（Ｓ４７０）を個別に行ってから個別判定の結果に応じたフィルタ処理を行う（Ｓ４８０）。【選択図】  図９
2006270851.tif 000002
【特許請求の範囲】
【請求項１】
所定のブロック単位の画像に対して直交変換処理を行う直交変換手段と、
この直交変換手段によって算出された直交変換係数を量子化して量子化データを生成する量子化手段と、
前記量子化データを可変長符号化する可変長符号化手段と、
画像を符号化する際に生じるブロック歪みを除去するフィルタ手段とを備えた画像符号化装置において、
前記フィルタ手段は、
複数のブロック境界に対してフィルタ処理ＯＮ／ＯＦＦの判定を一括で行い、フィルタ処理すべてＯＮの場合はフィルタタイプを一括で決定してフィルタ処理を行い、フィルタ処理すべてＯＦＦの場合はフィルタ処理を行わず、それ以外の場合はフィルタ処理ＯＮ／ＯＦＦの判定及びフィルタタイプの決定を個別に行ってから個別判定の結果に応じたフィルタ処理を行うことを特徴とする画像符号化装置。
【請求項２】
所定のブロック単位の画像に関する直交変換係数が量子化され可変長符号化されて形成された画像を復号した後に、復号された画像のブロック歪みを除去するフィルタ手段を備えた画像復号装置において、
前記フィルタ手段は、
複数のブロック境界に対してフィルタ処理ＯＮ／ＯＦＦの判定を一括で行い、フィルタ処理すべてＯＮの場合はフィルタタイプを一括で決定してフィルタ処理を行い、フィルタ処理すべてＯＦＦの場合はフィルタ処理を行わず、それ以外の場合はフィルタ処理ＯＮ／ＯＦＦの判定及びフィルタタイプの決定を個別に行ってから個別判定の結果に応じたフィルタ処理を行うことを特徴とする画像復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を直交変換及び量子化した際に発生するブロック歪みを低減する画像符号化装置及び画像復号装置に関する。
【背景技術】
【０００２】
動画像の圧縮符号化方式の１つとして、ＩＳＯ／ＩＥＣ  １４４９６−１０（ＭＰＥＧ−４  ＡＶＣ）がある。この方式においては、空間的に冗長な情報を削減するために離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ）処理を行う。
【０００３】
ＤＣＴを用いた画像圧縮符号化方式においては、処理単位であるブロックの境界の歪みが発生することがある。これは、ブロック境界付近で隣接するブロックと画素値が大きく異なるためにブロック状に見えるもので、画質を劣化させる原因となる。
【０００４】
この画質の劣化を抑えるため、ＭＰＥＧ−４  ＡＶＣにおいては、デブロックフィルタ（Ｄｅｂｌｏｃｋ  Ｆｉｌｔｅｒ）を用いることでブロック歪みを除去するフィルタ処理を行う。また、ＤＣＴの処理単位も従来のＭＰＥＧ方式より小さい４×４画素ブロックとし、歪みを目立ちにくくしている。
【０００５】
ＭＰＥＧ−４  ＡＶＣを用いた画像符号化装置を図１１に、画像復号装置を図１２に示す。図１１及び図１２に示すように画像符号化装置、画像復号装置ともにデブロックフィルタを備えている。
【０００６】
しかし、ＭＰＥＧ−４  ＡＶＣでは符号化及び復号に占めるブロック歪み検出処理の割合が大きく、処理が複雑で計算負荷が大きすぎるため符号化、復号処理全体の速度の低下を招く。また、積和演算に特化したプロセッサを用いても、処理時間が所定時間内に収まらなくなることがあった。ハードウェアへの実装を図る観点からは、フィルタ処理をできるだけ簡略化し、低負荷にすることが望ましい。
【０００７】
そこで従来、フィルタ処理の簡素化及び高速化を図った画像処理装置として、例えば特許文献１に開示されたものがある。これは、フィルタ処理を行うか否かの判定及びフィルタ処理を、対象画素と参照画素だけを参照して行うものである。
【特許文献１】特開２００３−３３３５９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１に記載されている画像処理装置では、参照画素を限定しているため、ＭＰＥＧ−４  ＡＶＣのように周辺ブロックから条件判断を行い、複数参照画素を用いたフィルタ処理を制御する方式では条件判断が多岐に渡って行われるので対応できず、フィルタ処理の簡素化、高速化を実現できないという問題があった。
【０００９】
そこで本発明は、画像符号化、復号時のフィルタ処理を簡素化、高速化することにより、符号化、復号処理全体を高速化することができる画像符号化装置及び画像復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の画像符号化装置は、所定のブロック単位の画像に対して直交変換処理を行う直交変換手段と、この直交変換手段によって算出された直交変換係数を量子化して量子化データを生成する量子化手段と、前記量子化データを可変長符号化する可変長符号化手段と、画像を符号化する際に生じるブロック歪みを除去するフィルタ手段とを備えた画像符号化装置において、前記フィルタ手段は、複数のブロック境界に対してフィルタ処理ＯＮ／ＯＦＦの判定を一括で行い、フィルタ処理すべてＯＮの場合はフィルタタイプを一括で決定してフィルタ処理を行い、フィルタ処理すべてＯＦＦの場合はフィルタ処理を行わず、それ以外の場合はフィルタ処理ＯＮ／ＯＦＦの判定及びフィルタタイプの決定を個別に行ってから個別判定の結果に応じたフィルタ処理を行うことを特徴とする。
【００１１】
また、本発明の画像復号装置は、所定のブロック単位の画像に関する直交変換係数が量子化され可変長符号化されて形成された画像を復号した後に、復号された画像のブロック歪みを除去するフィルタ手段を備えた画像復号装置において、前記フィルタ手段は、複数のブロック境界に対してフィルタ処理ＯＮ／ＯＦＦの判定を一括で行い、フィルタ処理すべてＯＮの場合はフィルタタイプを一括で決定してフィルタ処理を行い、フィルタ処理すべてＯＦＦの場合はフィルタ処理を行わず、それ以外の場合はフィルタ処理ＯＮ／ＯＦＦの判定及びフィルタタイプの決定を個別に行ってから個別判定の結果に応じたフィルタ処理を行うことを特徴とする。
【発明の効果】
【００１２】
本発明の画像符号化装置及び画像復号装置は、複数のブロック境界に対してフィルタ処理ＯＮ／ＯＦＦの判定を一括で行い、フィルタ処理すべてＯＮの場合はフィルタタイプを一括で決定してフィルタ処理を行い、フィルタ処理すべてＯＦＦの場合はフィルタ処理を行わず、それ以外の場合はフィルタ処理ＯＮ／ＯＦＦの判定及びフィルタタイプの決定を個別に行ってから個別判定の結果に応じたフィルタ処理を行うので、フィルタ処理ＯＮ／ＯＦＦの条件判定アルゴリズムを簡素化してフィルタ処理ＯＮ／ＯＦＦの判定処理を高速に制御することで符号化、復号処理全体の高速化を実現することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。
【００１４】
（実施例）
本発明の画像符号化装置及び画像復号装置の実施例を図１乃至図１２に基づいて説明する。図１はＭＰＥＧ−４  ＡＶＣのループフィルタ処理手順を示すフローチャート、図２はブロック境界の強さを決定する手順を示すフローチャート、図３（ａ）は垂直方向エッジの定義を示す図、図３（ｂ）は水平方向エッジの定義を示す図、図４（ａ）は垂直方向のデブロックフィルタ処理を行う画素を示す図、図４（ｂ）は水平方向のデブロックフィルタ処理を行う画素を示す図、図５はフィルタフラッグの決定方法を示す説明図、図６（ａ）は画素並び替え前の画素配置を示す図、図６（ｂ）は画素並び替え後の画素配置を示す図、図７はフィルタタイプの決定方法を示す説明図、図８はフィルタタイプの対応を示す図、図９はフィルタ判定手順を示すフローチャート、図１０はフィルタ判定手順を示す説明図、図１１はＭＰＥＧ−４  ＡＶＣの画像符号化装置を示すブロック図、図１２は図１１に示す画像符号化装置で符号化された画像を復号して再生する画像復号装置を示すブロック図である。
【００１５】
図１１に示すように、ＭＰＥＧ−４  ＡＶＣの画像符号化装置１００は、演算器１と、イントラ予測器２と、動き補償予測器３と、動きベクトル検出器４と、スイッチ５と、変換器６と、量子化器７と、エントロピー符号化器８と、符号化器９と、逆量子化器１０と、逆変換器１１と、演算器１３と、フレームメモリ１４と、デブロックフィルタ１５と、ＤＰＢ（Ｄｅｃｏｄｅｄ Ｐｉｃｔｕｒｅ Ｂｕｆｆｅｒ：復号ピクチャバッファ）１６と、演算処理器１７とを備える。演算処理器１７は、装置に設けられた各部の制御及び演算処理を行う。
【００１６】
スイッチ５はポート５ａ，５ｂ，５ｃを有し、ポート５ｂ−５ａが接続されたときには演算器１とイントラ予測器２とが接続され、ポート５ｃ−５ａが接続されたときには演算器１と動き補償予測器３とが接続される。
【００１７】
図１１に示す画像符号化装置１００によれば、フレーム内モード（イントラモード）においては、入力画像信号は演算器１とイントラ予測器２とに入力され、イントラ予測器２でイントラ予測された画像信号はスイッチ５のポート５ｂ−５ａを介して演算器１及び演算器１３に入力される。演算器１では、入力画像信号とイントラ予測器２でイントラ予測された画像信号との差分が求められ、得られた差分画像信号は変換器６に送られる。
【００１８】
変換器６では、入力された差分画像信号にＤＣＴ処理が行われる。画像情報は一般的に低域成分が多く高域成分が少ないため、ＤＣＴ処理後の画像データ（ＤＣＴ係数）は低域に集中する。ＤＣＴ処理により得られた画像データは、量子化器７に送られて量子化される。量子化器７においては低域を細かく、高域を粗く量子化することにより情報量の削減を行う。量子化器７で得られた量子化データは、エントロピー符号化器８と逆量子化器１０にそれぞれ送られる。
【００１９】
エントロピー符号化器８では、入力された量子化データをエントロピー符号化（可変長符号化）する。エントロピー符号化されたデータは、符号化器９においてストリーム化された後、符号化データとして出力される。
【００２０】
一方、量子化器７から逆量子化器１０に送られた量子化データは、逆量子化器１０で逆量子化、逆変換器１１で逆ＤＣＴ処理され、演算器１３に送られる。
【００２１】
演算器１３では、逆変換器１１から送られたデータはイントラ予測器２から送られた画像信号に加算された後、フレームメモリ１４に格納され、イントラ予測器２においてリファレンスの画像として使用される。
【００２２】
次に、フレーム間モードにおいては、入力画像信号は演算器１と動き補償予測器３と動きベクトル検出器４とに入力され、動き補償予測器３で動き補償された画像信号はスイッチ５のポート５ｃ−５ａを介して演算器１及び演算器１３に入力される。演算器１では、入力画像信号と動き補償予測器３で動き補償された画像信号との差分が求められ、得られた差分画像信号は変換器６に送られる。
【００２３】
変換器６では、入力された差分画像信号にＤＣＴ処理が行われ、ＤＣＴ処理により得られた画像データは、量子化器７に送られて量子化される。量子化器７で得られた量子化データは、エントロピー符号化器８と逆量子化器１０にそれぞれ送られる。
【００２４】
エントロピー符号化器８では、入力された量子化データはエントロピー符号化（可変長符号化）される。エントロピー符号化されたデータは、符号化器９においてストリーム化された後、符号化データとして出力される。
【００２５】
一方、量子化器７から逆量子化器１０に送られた量子化データは、逆量子化器１０で逆量子化、逆変換器１１で逆ＤＣＴ処理され、演算器１３に送られる。そして、演算器１３では、逆変換器１１から送られたデータは動き補償予測器３から送られた画像信号に加算された後、フレームメモリ１４に格納される。
【００２６】
デブロックフィルタ１５では、フレームメモリ１４から読み出された画像信号にブロック歪みを除去するフィルタ処理が実行され、フィルタ処理後の画像信号はＤＰＢ１６に格納される。そして、動きベクトル検出器４では、入力画像信号とＤＰＢ１６に格納されている画像信号との間の画像間での動きベクトルが求められ、動き補償予測器３に送られて動き補償予測に使用される。
【００２７】
以上述べたように、画像符号化装置１００に入力された画像信号は、直交変換、量子化、可変長符号化及びデブロックフィルタを用いて圧縮符号化される。
【００２８】
一方、図１２に示すように、ＭＰＥＧ−４  ＡＶＣの画像復号装置２００は、エントロピー復号器２１と、逆量子化器２２と、イントラ予測モード復号器２３と、動きベクトル復号器２４と、逆変換器２５と、イントラ予測器２６と、動き補償予測器２７と、スイッチ２８と、演算器２９と、デブロックフィルタ３１と、ＤＰＢ３２と、演算処理器３３とを備える。演算処理器３３は、装置に設けられた各部の制御及び演算処理を行う。
【００２９】
スイッチ２８はポート２８ａ，２８ｂ，２８ｃを有し、ポート２８ｂ−２８ａが接続されたときにはイントラ予測器２６と演算器２９とが接続され、ポート２８ｃ−２８ａが接続されたときには動き補償予測器２７と演算器２９とが接続される。
【００３０】
図１２に示す画像復号装置２００によれば、イントラモードにおいては、圧縮された画像のビットストリームはエントロピー復号器２１に入力されてエントロピー復号（可変長復号）される。エントロピー復号によって得られたデータは、逆量子化器２２とイントラ予測モード復号器２３とに送られる。
【００３１】
逆量子化器２２に送られたデータは、逆量子化器２２で逆量子化、逆変換器２５で逆ＤＣＴ処理され、演算器２９に送られる。一方、エントロピー復号器２１からイントラ予測モード復号器２３に送られたデータは、イントラ予測モード復号器２３でイントラ予測モード復号、イントラ予測器２６でイントラ予測され、スイッチ２８のポート２８ｂ−２８ａを介して演算器２９に送られる。そして、演算器２９において逆変換器２５から送られたデータに加算され、デブロックフィルタ３１に送られる。
【００３２】
デブロックフィルタ３１では、演算器２９から入力されたデータにブロック歪みを除去するフィルタ処理が実行され、フィルタ処理後の画像信号は再生画像として出力される。
【００３３】
次に、フレーム間モードにおいては、エントロピー復号器２１でエントロピー復号によって得られたデータは、逆量子化器２２と動きベクトル復号器２４とに送られる。
【００３４】
逆量子化器２２に送られたデータは、逆量子化器２２で逆量子化、逆変換器２５で逆ＤＣＴ処理され、演算器２９に送られる。一方、動きベクトル復号器２４に送られたデータは、動きベクトル復号器２４で動きベクトル復号、動き補償予測器２７で動き補償され、スイッチ２８のポート２８ｃ−２８ａを介して演算器２９に送られる。そして、演算器２９において逆変換器２５から送られたデータに加算され、デブロックフィルタ３１に送られる。
【００３５】
デブロックフィルタ３１では、演算器２９から入力されたデータにブロック歪みを除去するフィルタ処理が実行され、フィルタ処理後の画像信号は再生画像として出力される。また、フィルタ処理後の画像信号は、一時的にＤＰＢ３２に蓄積された後、動き補償予測器２７において、差分画像を計算するためのリファレンスの復号画像として使用される。
【００３６】
以上述べたように、画像符号化装置１００により圧縮された画像のビットストリームは画像復号装置２００により復号される。
【００３７】
次に、画像符号化装置１００のデブロックフィルタ１５でのフィルタ処理について説明する。なお、画像復号装置２００のデブロックフィルタ３１でのフィルタ処理も同様である。
【００３８】
フィルタ処理は、復号画像に関して、マクロブロック（ＭＢ）単位で行う。図１において、ｉはマクロブロックアドレスナンバーである。また、ｃは、ｃ＝０のときはＬｕｍｉｎａｎｃｅに対してフィルタリングを指定し、ｃ＝１のときはＣｈｒｏｍｉｎａｎｃｅに対してフィルタリングを指定する要素である。ｄは、ｄ＝０のときは垂直エッジに対してフィルタリングを指定し、ｃ＝１のときは水平エッジに対してフィルタリングを指定する要素である。また、ｂはブロックエッジナンバーである。
【００３９】
そして、ループ４は指定マクロブロック数のループであり、ループ３はＬｕｍｉｎａｎｃｅ，Ｃｈｒｏｍｉｎａｎｃｅに対してのループであり、ループ２は垂直エッジ、水平エッジに対してのループであり、ループ１は４つあるブロックエッジに対してフィルタリングするループである。
【００４０】
以下、ループ１の１回分について説明する。ステップＳ５０では、演算処理器１７は、ｃ＝０であるか否か判断する。ｃ＝０である（ＹＥＳ）ときは、ステップＳ６０では、演算処理器１７は、ブロック境界の強さ（ＢＳ：Ｂｏｕｎｄａｒｙ  Ｓｔｒｅｎｇｔｈ）を求め、ｃ＝０でない（ＮＯ）ときは、ステップＳ７０に進む。
【００４１】
次に、ステップＳ７０では、演算処理器１７は、ＢＳ＞０であるか否か判断し、ＢＳ＞０である（ＹＥＳ）ときは、ステップＳ８０においてフィルタＯＮ／ＯＦＦの決定を行い、ＢＳ＞０でない（ＮＯ）ときは、ループ１を終了する（ステップＳ１７０）。
【００４２】
次いで、ステップＳ９０では、演算処理器１７は、フィルタ処理を行うか否かを判断し、行う（ＹＥＳ）と判断したときはステップＳ１００に進み、行わない（ＮＯ）と判断したときは、ループ１を終了する（ステップＳ１７０）。
【００４３】
次に、ステップＳ１００では、演算処理器１７は、ＢＳ＝４であるか否かを判断する。ＢＳ＝４である（ＹＥＳ）ときは、ステップＳ１１０に進み、ＢＳ＝４でない（ＮＯ）ときは、ステップＳ１２０に進む。
【００４４】
そして、ステップＳ１１０では、演算処理器１７は、ｃ＝０であるか否か判断する。ｃ＝０である（ＹＥＳ）ときは、ステップＳ１３０において、ＢＳ＝４に対応する輝度のフィルタ処理を行うようにデブロックフィルタ１５を制御し、ｃ＝０でない（ＮＯ）ときは、ステップＳ１４０において、ＢＳ＝４に対応する色差のフィルタ処理を行うように制御する。
【００４５】
そして、ステップＳ１２０では、演算処理器１７は、ｃ＝０であるか否か判断する。ｃ＝０である（ＹＥＳ）ときは、ステップＳ１５０において、０＜ＢＳ＜４に対応する輝度のフィルタ処理を行うようにデブロックフィルタ１５を制御し、ｃ＝０でない（ＮＯ）ときは、ステップＳ１６０において、０＜ＢＳ＜４に対応する色差のフィルタ処理を行うように制御する。
【００４６】
次に、ＢＳを決定する手順について説明する。図２に示すように、まず、ステップＳ２１０では、演算処理器１７は、２つの対象ブロックの境界がマクロブロック境界であるか否かを判断する。マクロブロック境界である（ＹＥＳ）ときはステップＳ２２０に進み、マクロブロック境界でない（ＮＯ）ときはステップＳ２５０に進む。
【００４７】
そして、ステップＳ２２０では、演算処理器１７は、対象ブロックのどちらかがイントラマクロブロックに属するか否かを判断し、属する（ＹＥＳ）ときはステップＳ２３０に進み、属さない（ＮＯ）ときはステップＳ２６０に進む。
【００４８】
ステップＳ２３０では、演算処理器１７は、対象ブロックがどちらもフレームであるか否かを判断し、どちらもフレームである（ＹＥＳ）ときはＢＳ＝４と決定する。少なくともどちらか一方がフレームでない（ＮＯ）ときは対象ブロックの境界が垂直方向エッジであるか否かを判断し、垂直方向エッジである（ＹＥＳ）ときはＢＳ＝４と決定し、垂直方向エッジでない（ＮＯ）ときはＢＳ＝３と決定する。
【００４９】
ステップＳ２５０では、演算処理器１７は、対象ブロックのどちらかがイントラマクロブロックに属するか否かを判断し、属する（ＹＥＳ）ときはＢＳ＝３と決定し、属さない（ＮＯ）ときはステップＳ２６０に進む。
【００５０】
そして、ステップＳ２６０では、演算処理器１７は、対象ブロックのｃｂｐ（マクロブロック係数の有り、無しのフラグ）がどちらも０であるか否かを判断し、どちらも０である（ＹＥＳ）ときはステップＳ２７０に進み、少なくともどちらか一方が０でないときはＢＳ＝２と決定する。
【００５１】
そして、ステップＳ２７０では、演算処理器１７は、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇ（ＭＢＡＦＦ時のフレーム／フィールドタイプ決定フラグ）が１であるか否かを判断し、１である（ＹＥＳ）ときはＢＳ＝３と決定し、１でない（ＮＯ）ときはステップＳ２８０に進む。なお、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇは、ＭＢＡＦＦ（Ｍａｃｒｏｂｌｏｃｋ−Ａｄａｐｔｉｖｅ Ｆｒａｍｅ−Ｆｉｅｌｄ Ｃｏｄｉｎｇ：マクロブロック適応型フレーム／フィールド符号化）時に対象としているマクロブロックペアがフィールド×フレーム、フレーム×フィールドと異なる場合に１となる。
【００５２】
次に、ステップＳ２８０では、演算処理器１７は、対象ブロックを含む画像がＰピクチャであるかＢピクチャであるかを判断し、ＰピクチャであるときはステップＳ２９０に進み、ＢピクチャであるときはステップＳ３１０に進む。
【００５３】
ステップＳ２９０では、演算処理器１７は、対象ブロックの参照画像が同じであるか否かを判断し、同じである（ＹＥＳ）ときはステップＳ３００に進み、同じでない（ＮＯ）ときはＢＳ＝１と決定する。
【００５４】
そして、ステップＳ３００では、演算処理器１７は、ｍｖ ａｂｓｏｌｕｔｅ ｄｉｆｆｅｒｅｎｃｅ＞４（ｍｖ（動きベクトル）の絶対差分値が４以上）であるか否かを判断し、ｍｖ ａｂｓｏｌｕｔｅ ｄｉｆｆｅｒｅｎｃｅ＞４である（ＹＥＳ）ときはＢＳ＝１と決定し、ｍｖ ａｂｓｏｌｕｔｅ ｄｉｆｆｅｒｅｎｃｅ＞４でない（ＮＯ）ときはＢＳ＝０と決定する。
【００５５】
ステップＳ３１０では、演算処理器１７は、対象ブロックの参照画像の枚数が同じであるか否かを判断し、同じである（ＹＥＳ）ときはステップＳ３２０に進み、同じでない（ＮＯ）ときはＢＳ＝１と決定する。
【００５６】
次に、ステップＳ３２０では、演算処理器１７は、対象ブロックの参照画像が同じであるか否かを判断し、同じである（ＹＥＳ）ときはステップＳ３３０に進み、同じでない（ＮＯ）ときはＢＳ＝１と決定する。
【００５７】
そして、ステップＳ３３０では、演算処理器１７は、ｍｖ ａｂｓｏｌｕｔｅ ｄｉｆｆｅｒｅｎｃｅ＞４（ｍｖ（動きベクトル）の絶対差分値が４以上）であるか否かを判断し、ｍｖ ａｂｓｏｌｕｔｅ ｄｉｆｆｅｒｅｎｃｅ＞４である（ＹＥＳ）ときはＢＳ＝１と決定し、ｍｖ ａｂｓｏｌｕｔｅ ｄｉｆｆｅｒｅｎｃｅ＞４でない（ＮＯ）ときはＢＳ＝０と決定する。
【００５８】
ＢＳは、対象としているマクロブロックエッジにフィルタをかける際のフィルタのかけ具合（強度）を示すものである。図３（ａ）は垂直方向エッジの定義を示し、図３（ｂ）は水平方向エッジの定義を示す。図３（ａ）,（ｂ）の点線で示すエッジ４１，４３，４５，４７は輝度、色差共通のエッジであり、実線で示すエッジ４２，４４，４６，４８は輝度のみ有効なエッジである。
【００５９】
図３（ａ）,（ｂ）は、マクロブロック１個ずつのペアを示し、ブロック０〜１５，Ａ〜Ｄはマクロブロック内のブロックを示す。エッジ４１，４５はマクロブロック境界エッジであり、エッジ４２〜４４，４６〜４８はマクロブロック内部のエッジである。ＢＳを決定する際には、マクロブロック境界エッジである場合、エッジ４１，４５のラインにまたがっているブロックのペアを比較してＢＳを決定する。
【００６０】
例えば、ブロックＡとブロック０とを比較して、ブロック０のＢＳを決定する。ＢＳを決定した際に、ＢＳ＝０と判断された場合、対象ブロックに関してはフィルタをかけないことを意味する。
【００６１】
次に、本実施例の画像符号化装置及び画像復号装置のデブロックフィルタにおけるフィルタ処理について説明する。
【００６２】
本実施例の画像符号化装置の構成は図１１に示したものと同様であり、演算処理器１７としてＴＩ社のＤＳＰ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｏｒ）であるＣ６４シリーズを使用する。このＤＳＰでは連続した８ビットデータ４つをＤＳＰに備わる並列命令を利用して絶対差分和演算、積和演算をすることができる。演算処理器１７によりフィルタ判定を行い、デブロックフィルタ１５によりフィルタ処理を実行する。なお、本実施例の画像復号装置においても演算処理器３３として同様のＤＳＰを使用し、デブロックフィルタ３１により同様のフィルタ処理を行う。本実施例の画像復号装置の構成は図１２に示したものと同様である。
【００６３】
図４（ａ）,（ｂ）において、画素（ｐ２，ｐ１，ｐ０，ｑ２，ｑ１，ｑ０）からなる画素列Ｅ０〜Ｅ３は、次の条件が成立する場合にのみフィルタ処理が施される。
【００６４】
ＢＳ＞０                                                            （数式１）
【数１】
2006270851.tif 000003
【００６５】
なお、（数式２）において、ｐ０，ｐ１，ｑ０，ｑ１はそれぞれ図４（ａ）,（ｂ）に示す画素ｐ０，ｐ１，ｑ０，ｑ１の画素値を示す。また、α，βはしきい値として予め量子化パラメータに応じてその値が決められている。
【００６６】
このようにフィルタ処理を行う際には画素値間で絶対値差分をしきい値と比較する必要がある。図４（ｂ）に示すように、水平方向のフィルタの判定を行うときは、演算処理器１７は並列処理命令を用いて画素列Ｅ０〜Ｅ３の４列のデータについて（数式２）の絶対差分値計算を行い、フィルタ処理ＯＮ／ＯＦＦのフラグを算出する。
【００６７】
そして、図５に示すように、演算処理器１７が画素列Ｅ０〜Ｅ３の４列のデータを並列に処理することで、（数式２）の３種類の絶対差分値を算出し、論理積を取ることで４列のフラグデータを算出することができる。
【００６８】
図５は絶対差分値としきい値との比較はすべて真と算出されている例を示し、論理積を取るとフィルタグラグがすべて１となり、画素列Ｅ０〜Ｅ３のすべてのブロック境界でデブロックフィルタ１５によりフィルタ処理を行う。
【００６９】
ここで、画素のメモリ上のアドレスがフレームの左から右方向にマッピングされているとするならば垂直方向のフィルタでは画素のアドレスデータは不連続となるので、演算処理器１７は、図６（ａ）に示す画素配置から図６（ｂ）に示す画素配置へ画素並び替えを行うことで並列処理命令可能なように連続データとして対応させる。それにより垂直エッジの不連続なデータに対しても並列処理命令を可能にすることで絶対差分値を計算する。このように水平、垂直方向ともに画素値間の絶対差分値の比較を行う際に並列処理命令を使用し４列画素データの絶対差分値の計算を行うことで処理負荷を減らすことができる。
【００７０】
そして、並列処理を用いてフィルタタイプを決定する。ここではＢＳ＝４のときのフィルタについて説明する。フィルタタイプを決定する際には、前述の説明でフィルタ処理ＯＮ／ＯＦＦを算出したのと同様に、演算処理器１７は、並列処理を用いて次の要素を判断する。
【数２】
2006270851.tif 000004
【００７１】
ａｐ，ａｑ，ａｃは、それぞれブロック内の画素差が符号化で発生したものかどうかを判断するための指標となっている。
【００７２】
ここで、フィルタタイプは下記の３つの条件式から決定される。
【００７３】
（１）ａｐ＜βかつａｃ＜（（α＜＜２）＋２）の場合
（２）ａｑ＜βかつａｃ＜（（α＜＜２）＋２）の場合
（３）それ以外の場合
そして、図７に示すように、演算処理器１７は絶対差分値ａｐ，ａｑ，ａｃを予め定められたしきい値β，（（α＜＜２）＋２）と比較し、その比較結果を算出する。
【００７４】
演算処理器１７はこの結果をａｐ＝ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ：最下位ビット），ａｃ＝ＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ：最上位ビット）として、図８に示すフィルタタイプが対応したテーブルを参照してフィルタタイプを決定する。ＢＳ＝４のときにかかるフィルタタイプは４種類あり、フィルタ強度が定まる。例えば図７の画素列Ｅ３では算出ビットが１１０となるため、図８を参照するとインデックス（絶対差分値比較結果）は６となり、フィルタタイプは０と判定される。
【００７５】
次に、フィルタ判定手順を図９及び図１０に基づいて説明する。
【００７６】
図９に示すフローチャートにおいて、まずステップＳ４１０では、演算処理器１７は図５で説明した方法により画素列Ｅ０〜Ｅ３のすべてのフィルタ処理がＯＮであるか否かを判断し、すべてＯＮである（ＹＥＳ）ときはステップＳ４２０に進む。すべてＯＮではない（ＮＯ）ときはステップＳ４４０に進み、画素列Ｅ０〜Ｅ３のすべてのフィルタ処理がＯＦＦであるか否かを判断する。図１０に示すように、１方向に対するすべてのフィルタフラグが１の場合には２進数で１１１１、１６進数ではＦとなり、０ｏｒＦを判断することによりすべてのフィルタ処理がＯＮもしくはすべてのフィルタ処理がＯＦＦのどちらかを最初に判断することができる。
【００７７】
そして、ステップＳ４２０では、演算処理器１７は、図７及び図８で説明した方法により画素列Ｅ０〜Ｅ３のフィルタタイプを決定する。そして、ステップＳ４３０では、演算処理器１７は、画素列Ｅ０〜Ｅ３のブロック境界に対してフィルタ処理ｔ０〜ｔ３を行うよう制御する。
【００７８】
ステップＳ４４０において、すべてＯＦＦである（ＹＥＳ）と判断したときは、フィルタ処理は行わない。すべてＯＦＦでない（ＮＯ）と判断したときは、演算処理器１７は、画素列Ｅ０〜Ｅ３の個別に判定処理を開始する（ステップＳ４５０）。
【００７９】
以下、画素列１つのループについて説明する。ステップＳ４６０では、演算処理器１７は、図５で説明した方法によりフィルタがＯＮであるか否かを判断し、ＯＮである（ＹＥＳ）ときは、ステップＳ４７０に進み、ＯＮでない（ＮＯ）ときは、フィルタ処理は行わない。
【００８０】
ステップＳ４７０では、演算処理器１７はフィルタタイプを決定し、ステップＳ４８０では、演算処理器１７は、決定したフィルタタイプによりフィルタ処理を行うようデブロックフィルタ１５を制御する。
【００８１】
これにより、図１０に示すように、フィルタフラグが１となった画素列のブロック境界に対して、フィルタタイプに対応したフィルタ処理が行われる。
【００８２】
ここで、ＭＰＥＧ−４  ＡＶＣでのデブロックフィルタの特徴として、ブロックでのフィルタ処理のＯＮ／ＯＦＦはすべてＯＮすべてＯＦＦのどちらかに偏ることが多く、フィルタ処理ＯＮ／ＯＦＦの一括判定を最初の条件判断に用いることでフィルタに関する条件判定の高速化を実現することができる。
【００８３】
このように本実施例の画像符号化装置及び画像復号装置によれば、並列処理可能なプロセッサを用いて、垂直、水平方向のフィルタ処理時に対象画素から条件判定をする際に並列処理命令を用いて絶対差分値を計算することによりブロック境界に対するフィルタ処理のＯＮ／ＯＦＦの判定とフィルタタイプの決定を一括で行うので、符号化、復号処理における条件分岐処理を簡素化し、処理負担を軽減することで符号化、復号処理全体の高速化を実現することができる。
【００８４】
また、アドレスが不連続となる垂直方向時のフィルタ処理時には画素並び替えを行い、水平方向と同様に並列処理を行うことを可能とする。
【００８５】
なお、上記した画像符号化装置、画像復号装置の機能をプログラムによりコンピュータに実現させるようにしてもよい。このプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【図面の簡単な説明】
【００８６】
【図１】ＭＰＥＧ−４  ＡＶＣのループフィルタ処理手順を示すフローチャートである。
【図２】ブロック境界の強さを決定する手順を示すフローチャートである。
【図３】（ａ）は垂直方向エッジの定義を示す図、（ｂ）は水平方向エッジの定義を示す図である。
【図４】（ａ）は垂直方向のデブロックフィルタ処理を行う画素を示す図、（ｂ）は水平方向のデブロックフィルタ処理を行う画素を示す図である。
【図５】フィルタフラッグの決定方法を示す説明図である。
【図６】（ａ）は画素並び替え前の画素配置を示す図、（ｂ）は画素並び替え後の画素配置を示す図である。
【図７】フィルタタイプの決定方法を示す説明図である。
【図８】フィルタタイプの対応を示す図である。
【図９】フィルタ判定手順を示すフローチャートである。
【図１０】フィルタ判定手順を示す説明図である。
【図１１】ＭＰＥＧ−４  ＡＶＣの画像符号化装置を示すブロック図である。
【図１２】図１１に示す画像符号化装置で符号化された画像を復号して再生する画像復号装置を示すブロック図である。
【符号の説明】
【００８７】
１，１３，２９    演算器
２，２６    イントラ予測器
３，２７    動き補償予測器
４    動きベクトル検出器
５，２８    スイッチ
６    変換器
７    量子化器
８    エントロピー符号化器
９    符号化器
１０，２２    逆量子化器
１１，２５    逆変換器
１４    フレームメモリ
１５，３１    デブロックフィルタ
１６，３２    ＤＰＢ
１７，３３    演算処理器
２１    エントロピー復号器
２３    イントラ予測モード復号器
２４    動きベクトル復号器
１００    画像符号化装置
２００    画像復号装置
【図１】
2006270851.tif 000005
【図２】
2006270851.tif 000006
【図３】
2006270851.tif 000007
【図４】
2006270851.tif 000008
【図５】
2006270851.tif 000009
【図６】
2006270851.tif 000010
【図７】
2006270851.tif 000011
【図８】
2006270851.tif 000012
【図９】
2006270851.tif 000013
【図１０】
2006270851.tif 000014
【図１１】
2006270851.tif 000015
【図１２】
2006270851.tif 000016