(57)【特許請求の範囲】
【請求項１】
画像を、所定のブロック毎に、前記所定のブロックの符号化情報として、前記所定のブロックの直交変換サイズの情報および量子化スケールを用いて、モスキートノイズが生じているか否かに応じたクラスに分類する分類手段と、
前記分類手段により分類されたクラスに応じて、前記所定のブロックに対するフィルタ処理を行うフィルタ処理手段と
を備え、
前記分類手段は、前記所定のブロックの符号化情報として、さらに、前記所定のブロックに対する発生符号量に関する情報を用いて、前記画像を、所定のブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する
画像処理装置。
【請求項２】
前記所定のブロックは、マクロブロックである
請求項１に記載の画像処理装置。
【請求項３】
前記分類手段は、
前記マクロブロックの直交変換サイズに応じて閾値を決定する閾値決定手段と、
前記マクロブロックに対する前記発生符号量に関する情報および量子化スケールを用いて、前記マクロブロックの難度パラメータを算出する難度パラメータ算出手段と、
前記難度パラメータ算出手段により算出された前記難度パラメータが、前記閾値決定手段により決定された前記閾値よりも大きい場合、前記マクロブロックを、モスキートノイズが生じているクラスに分類し、前記難度パラメータ算出手段により算出された前記難度パラメータが、前記閾値決定手段により決定された前記閾値よりも小さい場合、前記マクロブロックを、モスキートノイズが生じていないクラスに分類するマクロブロック分類手段と
を備える請求項２に記載の画像処理装置。
【請求項４】
前記閾値は、ユーザが設定可能なオフセット値を含む
請求項３に記載の画像処理装置。
【請求項５】
前記分類手段は、前記マクロブロックに対する発生符号量の情報として、発生ビットを用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する
請求項２に記載の画像処理装置。
【請求項６】
前記分類手段は、可逆符号化方式として、CABACが用いられる場合、前記マクロブロックに対する発生符号量の情報として、発生ビットまたは発生binを用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する
請求項２に記載の画像処理装置。
【請求項７】
前記分類手段は、前記マクロブロックの符号化情報として、さらに、前記マクロブロックにおける量子化パラメータおよび量子化後の非０直交変換係数の個数を用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する
請求項２に記載の画像処理装置。
【請求項８】
前記分類手段は、
前記マクロブロックの直交変換サイズおよび量子化パラメータに応じて閾値を決定する閾値決定手段と、
前記マクロブロックにおける前記量子化後の非０直交変換係数の個数が、前記閾値決定手段により決定された前記閾値よりも大きい場合、前記マクロブロックを、モスキートノイズが生じているクラスに分類し、前記マクロブロックにおける前記量子化後の非０直交変換係数の個数が、前記閾値決定手段により決定された前記閾値よりも小さい場合、前記マクロブロックを、モスキートノイズが生じていないクラスに分類するマクロブロック分類手段と
を備える請求項７に記載の画像処理装置。
【請求項９】
前記閾値は、ユーザが設定可能なオフセット値を含む
請求項８に記載の画像処理装置。
【請求項１０】
前記分類手段は、前記マクロブロックの符号化情報として、さらに、前記マクロブロックに対する動きベクトルの情報を用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する
請求項２に記載の画像処理装置。
【請求項１１】
前記画像、および前記符号化情報を符号化する符号化手段をさらに備える
請求項２に記載の画像処理装置。
【請求項１２】
符号化されている前記画像、および前記符号化情報を復号する復号手段をさらに備える
請求項２に記載の画像処理装置。
【請求項１３】
画像処理装置が、
画像を、所定のブロック毎に、前記所定のブロックの符号化情報として、前記所定のブロックの直交変換サイズの情報および量子化スケールを用いて、モスキートノイズが生じているか否かに応じたクラスに分類し、
分類されたクラスに応じて、前記所定のブロックに対するフィルタ処理を行い、
前記所定のブロックの符号化情報として、さらに、前記所定のブロックに対する発生符号量に関する情報を用いて、前記画像を、所定のブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法に関し、特に、モスキートノイズを除去することにより、符号化効率を改善するようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG（Moving Picture Experts Group）などがある。
【０００３】
特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量（ビットレート）が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量（ビットレート）が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として、H．26L (ITU-T Q6/16 VCEG）という標準の規格化が進んでいる。H．26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH．26Lをベースに、H．26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）という国際標準となっている。
【０００６】
図１は、H．264/AVCに基づいた圧縮画像を出力とする画像符号化装置の構成例を示すブロック図である。
【０００７】
図１の例において、画像符号化装置１は、A/D変換部１１、画面並べ替えバッファ１２、演算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、逆量子化部１８、逆直交変換部１９、演算部２０、デブロックフィルタ２１、フレームメモリ２２、スイッチ２３、イントラ予測部２４、動き予測・補償部２５、予測画像選択部２６、およびレート制御部２７により構成されている。
【０００８】
A/D変換部１１は、入力された画像をA/D変換し、画面並べ替えバッファ１２に出力し、記憶させる。画面並べ替えバッファ１２は、記憶した表示の順番のフレームの画像を、GOP（Group of Picture）に応じて、符号化のためのフレームの順番に並べ替える。
【０００９】
演算部１３は、画面並べ替えバッファ１２から読み出された画像から、予測画像選択部２６により選択されたイントラ予測部２４からの予測画像または動き予測・補償部２５からの予測画像を減算し、その差分情報を直交変換部１４に出力する。直交変換部１４は、演算部１３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部１５は直交変換部１４が出力する変換係数を量子化する。
【００１０】
量子化部１５の出力となる、量子化された変換係数は、可逆符号化部１６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
【００１１】
可逆符号化部１６は、イントラ予測を示す情報をイントラ予測部２４から取得し、インター予測モードを示す情報などを動き予測・補償部２５から取得する。なお、イントラ予測を示す情報およびインター予測を示す情報は、以下、それぞれ、イントラ予測モード情報およびインター予測モード情報とも称する。
【００１２】
可逆符号化部１６は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部１６は、符号化したデータを蓄積バッファ１７に供給して蓄積させる。
【００１３】
例えば、可逆符号化部１６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００１４】
蓄積バッファ１７は、可逆符号化部１６から供給されたデータを、H．264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などの復号側に出力する。
【００１５】
また、量子化部１５より出力された、量子化された変換係数は、逆量子化部１８にも入力され、逆量子化された後、さらに逆直交変換部１９において逆直交変換される。逆直交変換された出力は演算部２０により予測画像選択部２６から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ２１は、復号された画像のブロック歪を除去した後、フレームメモリ２２に供給し、蓄積させる。フレームメモリ２２には、デブロックフィルタ２１によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
【００１６】
スイッチ２３はフレームメモリ２２に蓄積された参照画像を動き予測・補償部２５またはイントラ予測部２４に出力する。
【００１７】
この画像符号化装置１においては、例えば、画面並べ替えバッファ１２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部２４に供給される。また、画面並べ替えバッファ１２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測・補償部２５に供給される。
【００１８】
イントラ予測部２４は、画面並べ替えバッファ１２から読み出されたイントラ予測する画像とフレームメモリ２２から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
【００１９】
その際、イントラ予測部２４は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
【００２０】
イントラ予測部２４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部２６に供給する。イントラ予測部２４は、予測画像選択部２６により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部１６に供給する。可逆符号化部１６は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００２１】
動き予測・補償部２５には、画面並べ替えバッファ１２から読み出されたインター処理する画像と、スイッチ２３を介してフレームメモリ２２から参照画像が供給される。動き予測・補償部２５は、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。
【００２２】
動き予測・補償部２５は、予測した各ブロックの動きベクトルを用いて、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部２５は、算出したコスト関数値のうち、最小値を与えるブロックの予測モードを、最適インター予測モードとして決定する。
【００２３】
動き予測・補償部２５は、決定された最適インター予測モードの対象ブロックの予測画像とそのコスト関数値を、予測画像選択部２６に供給する。動き予測・補償部２５は、予測画像選択部２６により最適インター予測モードの対象ブロックの予測画像が選択された場合、最適インター予測モードを示す情報（インター予測モード情報）を可逆符号化部１６に出力する。
【００２４】
このとき、動きベクトル情報、参照フレーム情報なども可逆符号化部１６に出力される。可逆符号化部１６は、動き予測・補償部２５からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００２５】
予測画像選択部２６は、イントラ予測部２４または動き予測・補償部２５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部２６は、決定された最適予測モードの予測画像を選択し、演算部１３，２０に供給する。このとき、予測画像選択部２６は、予測画像の選択情報を、イントラ予測部２４または動き予測・補償部２５に供給する。
【００２６】
レート制御部２７は、蓄積バッファ１７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１５の量子化動作のレートを制御する。
【００２７】
図２は、図１の画像符号化装置に対応する画像復号装置の構成例を示すブロック図である。
【００２８】
図２の例において、画像復号装置３１は、蓄積バッファ４１、可逆復号部４２、逆量子化部４３、逆直交変換部４４、演算部４５、デブロックフィルタ４６、画面並べ替えバッファ４７、D/A変換部４８、フレームメモリ４９、スイッチ５０、イントラ予測部５１、動き補償部５２、およびスイッチ５３により構成されている。
【００２９】
蓄積バッファ４１は伝送されてきた圧縮画像を蓄積する。可逆復号部４２は、蓄積バッファ４１より供給された、図１の可逆符号化部１６により符号化された情報を、可逆符号化部１６の符号化方式に対応する方式で復号する。逆量子化部４３は可逆復号部４２により復号された画像を、図１の量子化部１５の量子化方式に対応する方式で逆量子化する。逆直交変換部４４は、図１の直交変換部１４の直交変換方式に対応する方式で逆量子化部４３の出力を逆直交変換する。
【００３０】
逆直交変換された出力は演算部４５によりスイッチ５３から供給される予測画像と加算されて復号される。デブロックフィルタ４６は、復号された画像のブロック歪を除去した後、フレームメモリ４９に供給し、蓄積させるとともに、画面並べ替えバッファ４７に出力する。
【００３１】
画面並べ替えバッファ４７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ１２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部４８は、画面並べ替えバッファ４７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【００３２】
スイッチ５０は、インター処理される画像と参照される画像をフレームメモリ４９から読み出し、動き補償部５２に出力するとともに、イントラ予測に用いられる画像をフレームメモリ４９から読み出し、イントラ予測部５１に供給する。
【００３３】
イントラ予測部５１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部４２から供給される。イントラ予測部５１は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ５３に出力する。
【００３４】
動き補償部５２には、ヘッダ情報を復号して得られた情報のうち、インター予測モード情報、動きベクトル情報、参照フレーム情報などが可逆復号部４２から供給される。インター予測モード情報は、マクロブロック毎に送信されてくる。動きベクトル情報や参照フレーム情報は、対象ブロック毎に送信されてくる。
【００３５】
動き補償部５２は、可逆復号部４２から供給されるインター予測モード情報が示す予測モードで、可逆復号部４２から供給される動きベクトル情報および参照フレーム情報などを用いて、対象ブロックに対する予測画像の画素値を生成する。生成された予測画像の画素値は、スイッチ５３を介して、演算部４５に供給される。
【００３６】
スイッチ５３は、動き補償部５２またはイントラ予測部５１により生成された予測画像を選択し、演算部４５に供給する。
【００３７】
さらに、このH．264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H．264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc（商標）等の幅広いアプリケーションに用いられる運びとなった。
【００３８】
しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。
【００３９】
かかる符号化効率改善の１手法として、非特許文献１において、適応ループフィルタ（ALF（Adaptive Loop Filter））という手法が提案されている。
【００４０】
図３は、適応ループフィルタを適用した画像符号化装置の構成例を示すブロック図である。なお、図３の例において、説明の便宜上、図１のA/D変換部１１、画面並べ替えバッファ１２、蓄積バッファ１７、スイッチ２３、イントラ予測部２４、予測画像選択部２６、およびレート制御部２７は省略されている。また、矢印なども適宜省略されている。したがって、図３の例の場合、フレームメモリ２２からの参照画像は、動き予測・補償部２５に直接入力され、動き予測・補償部２５からの予測画像は、演算部１３および２０に直接出力されている。
【００４１】
すなわち、図３の画像符号化装置６１は、デブロックフィルタ２１とフレームメモリ２２の間に適応ループフィルタ７１が追加された点のみが、図１の画像符号化装置１と異なっている。
【００４２】
適応ループフィルタ７１は、画面並べ替えバッファ１２（図示は省略）からの原画像との残差を最小とするよう、適応ループフィルタ係数の算出を行い、この適応ループフィルタ係数を用いて、デブロックフィルタ２１からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ（Wiener Filter）が用いられる。
【００４３】
また、適応ループフィルタ７１は、算出した適応ループフィルタ係数を、可逆符号化部１６に送る。可逆符号化部１６においては、この適応ループフィルタ係数を、可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
【００４４】
図４は、図３の画像符号化装置に対応する画像復号装置の構成例を示すブロック図である。なお、図４の例において、説明の便宜上、図２の蓄積バッファ４１、画面並べ替えバッファ４７、D/A変換部４８、スイッチ５０、イントラ予測部５１、およびスイッチ５３は省略されている。また、矢印なども適宜省略されている。したがって、図４の例の場合、フレームメモリ４９からの参照画像は、動き補償部５２に直接入力され、動き補償部５２からの予測画像は、演算部４５に直接出力されている。
【００４５】
すなわち、図４の画像復号装置８１は、デブロックフィルタ４６とフレームメモリ４９の間に適応ループフィルタ９１が追加された点のみが、図２の画像復号装置３１と異なっている。
【００４６】
適応ループフィルタ９１には、可逆復号部４２から復号され、ヘッダから抽出された適応ループフィルタ係数が供給される。適応ループフィルタ９１は供給されたフィルタ係数を用いて、デブロックフィルタ４６からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ（Wiener Filter）が用いられる。
【００４７】
これにより、復号画像の画質を向上させ、さらに、参照画像の画質をも向上させることができる。
【００４８】
また、上述したH．264/AVC方式において、マクロブロックサイズは１６×１６画素である。しかしながら、マクロブロックサイズを１６×１６画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
【００４９】
そこで、非特許文献２などにおいては、マクロブロックサイズを、例えば、３２×３２画素といった大きさに拡張することも提案されている。
【００５０】
なお、非特許文献２は、インタースライスに対して拡張されたマクロブロックを適用する提案であるが、非特許文献３には、拡張されたマクロブロックを、イントラスライスに適用することが提案されている。
【先行技術文献】
【非特許文献】
【００５１】
【非特許文献１】Takeshi. Chujoh, et al., “Block-based Adaptive Loop Filter” ITU-T SG16 Q6 VCEG Contribution, AI18, Germany, July, 2008
【非特許文献２】”Video Coding Using Extended Block Sizes”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
【非特許文献３】”Intra Coding Using Extended Block Sizes”,VCEG-AL28, July 2009
【発明の概要】
【発明が解決しようとする課題】
【００５２】
ところで、非特許文献１において提案されている方式では、フレーム全体に渡る画像劣化を最小にすることが可能であるが、画像中の局所的な劣化を除去することが困難である。
【００５３】
そのような画像中の局所的な劣化としては、ブロックノイズとモスキートノイズが挙げられる。H．264/AVC方式において、ブロックノイズは、デブロックフィルタにより除去可能であるが、モスキートノイズを除去することは困難である。
【００５４】
このモスキートノイズは、特に、非特許文献２や３において提案されているように、マクロブロックが拡張され、例えば、１６×１６といったような、拡張された直交変換サイズが適用される場合には、より生じやすいという恐れがある。
【００５５】
本発明は、このような状況に鑑みてなされたものであり、モスキートノイズを除去することにより、符号化効率を改善することができるものである。
【課題を解決するための手段】
【００５６】
本発明の一側面の画像処理装置は、画像を、所定のブロック毎に、前記所定のブロックの符号化情報として、前記所定のブロックの直交変換サイズの情報および量子化スケールを用いて、モスキートノイズが生じているか否かに応じたクラスに分類する分類手段と、前記分類手段により分類されたクラスに応じて、前記所定のブロックに対するフィルタ処理を行うフィルタ処理手段とを備え、前記分類手段は、前記所定のブロックの符号化情報として、さらに、前記所定のブロックに対する発生符号量に関する情報を用いて、前記画像を、所定のブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する。
【００５７】
前記所定のブロックは、マクロブロックである。
【００６１】
前記分類手段は、前記マクロブロックの直交変換サイズに応じて閾値を決定する閾値決定手段と、前記マクロブロックに対する前記発生符号量に関する情報および量子化スケールを用いて、前記マクロブロックの難度パラメータを算出する難度パラメータ算出手段と、前記難度パラメータ算出手段により算出された前記難度パラメータが、前記閾値決定手段により決定された前記閾値よりも大きい場合、前記マクロブロックを、モスキートノイズが生じているクラスに分類し、前記難度パラメータ算出手段により算出された前記難度パラメータが、前記閾値決定手段により決定された前記閾値よりも小さい場合、前記マクロブロックを、モスキートノイズが生じていないクラスに分類するマクロブロック分類手段とを備えることができる。
【００６２】
前記閾値は、ユーザが設定可能なオフセット値を含むことができる。
【００６３】
前記分類手段は、前記マクロブロックに対する発生符号量の情報として、発生ビットを用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類することができる。
【００６４】
前記分類手段は、可逆符号化方式として、CABACが用いられる場合、前記マクロブロックに対する発生符号量の情報として、発生ビットまたは発生binを用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類することができる。
【００６５】
前記分類手段は、前記マクロブロックの符号化情報として、さらに、前記マクロブロックにおける量子化パラメータおよび量子化後の非０直交変換係数の個数を用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類することができる。
【００６６】
前記分類手段は、前記マクロブロックの直交変換サイズおよび量子化パラメータに応じて閾値を決定する閾値決定手段と、前記マクロブロックにおける前記量子化後の非０直交変換係数の個数が、前記閾値決定手段により決定された前記閾値よりも大きい場合、前記マクロブロックを、モスキートノイズが生じているクラスに分類し、前記マクロブロックにおける前記量子化後の非０直交変換係数の個数が、前記閾値決定手段により決定された前記閾値よりも小さい場合、前記マクロブロックを、モスキートノイズが生じていないクラスに分類するマクロブロック分類手段とを備えることができる。
【００６７】
前記閾値は、ユーザが設定可能なオフセット値を含むことができる。
【００６８】
前記分類手段は、前記マクロブロックの符号化情報として、さらに、前記マクロブロックに対する動きベクトルの情報を用いて、前記画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類することができる。
【００６９】
前記画像、および前記符号化情報を符号化する符号化手段をさらに備えることができる。
【００７０】
符号化されている前記画像、および前記符号化情報を復号する復号手段をさらに備えることができる。
【００７１】
本発明の一側面の画像処理方法は、画像処理装置が、画像を、所定のブロック毎に、前記所定のブロックの符号化情報として、前記所定のブロックの直交変換サイズの情報および量子化スケールを用いて、モスキートノイズが生じているか否かに応じたクラスに分類し、分類されたクラスに応じて、前記所定のブロックに対するフィルタ処理を行い、前記所定のブロックの符号化情報として、さらに、前記所定のブロックに対する発生符号量に関する情報を用いて、前記画像を、所定のブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類する。
【００７２】
本発明の一側面においては、画像が、所定のブロック毎に、前記所定のブロックの符号化情報として、前記所定のブロックの直交変換サイズの情報および量子化スケールを用いて、モスキートノイズが生じているか否かに応じたクラスに分類される。そして、分類されたクラスに応じて、前記所定のブロックに対するフィルタ処理が行われる。また、前記所定のブロックの符号化情報として、さらに、前記所定のブロックに対する発生符号量に関する情報を用いて、前記画像が、所定のブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類される。
【００７３】
なお、上述の画像処理装置は、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００７４】
本発明によれば、モスキートノイズを除去することができる。また、本発明によれば、復号画像と、参照画像の画質を向上することができる。これにより、符号化効率を改善することができる。
【図面の簡単な説明】
【００７５】
【図１】H．264/AVC方式の画像符号化装置の構成例を示すブロック図である。
【図２】H．264/AVC方式の画像復号装置の構成例を示すブロック図である。
【図３】適応ループフィルタを適用した画像符号化装置の構成例を示すブロック図である。
【図４】適応ループフィルタを適用した画像復号装置の構成例を示すブロック図である。
【図５】本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。
【図６】直交変換の単位の例を説明するための図である。
【図７】４×４直交変換を行うマクロブロックにおける処理について説明する図である。
【図８】整数変換、逆整数変換を、バタフライ演算により実現する方法を示す図である。
【図９】デブロックフィルタの動作原理を説明する図である。
【図１０】Bsの定義の方法を説明する図である。
【図１１】デブロックフィルタの動作原理を説明する図である。
【図１２】indexAおよびindexBとαおよびβの値の対応関係の例を示す図である。
【図１３】BsおよびindexAとtC0との対応関係の例を示す図である。
【図１４】マクロブロックの例を示す図である。
【図１５】図５のクラス分類部および適応ループフィルタの構成例を示すブロック図である。
【図１６】図５のクラス分類部および適応ループフィルタの他の構成例を示すブロック図である。
【図１７】図５の画像符号化装置の符号化処理を説明するフローチャートである。
【図１８】図１７のステップＳ２３のイントラ予測処理を説明するフローチャートである。
【図１９】図１７のステップＳ２４の動き予測・補償処理を説明するフローチャートである。
【図２０】図１７のステップＳ２０の適応ループフィルタ処理の例を説明するフローチャートである。
【図２１】図１７のステップＳ２０の適応ループフィルタ処理の他の例を説明するフローチャートである。
【図２２】図２０のステップＳ８７の適応フィルタ処理の例を説明するフローチャートである。
【図２３】本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。
【図２４】図２３のクラス分類部および適応ループフィルタの構成例を示すブロック図である。
【図２５】図２３のクラス分類部および適応ループフィルタの他の構成例を示すブロック図である。
【図２６】図２３の画像復号装置の復号処理を説明するフローチャートである。
【図２７】図２６のステップＳ１３９の予測画像生成処理を説明するフローチャートである。
【図２８】図２０のステップＳ１８７の適応フィルタ処理の他の例を説明するフローチャートである。
【図２９】コンピュータのハードウエアの構成例を示すブロック図である。
【図３０】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図３１】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図３２】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図３３】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００７６】
以下、図を参照して本発明の実施の形態について説明する。
【００７７】
［画像符号化装置の構成例］
図５は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００７８】
図５の画像符号化装置１０１は、A/D変換部１１、画面並べ替えバッファ１２、演算部１３、蓄積バッファ１７、逆量子化部１８、逆直交変換部１９、演算部２０、デブロックフィルタ２１、フレームメモリ２２、スイッチ２３、イントラ予測部２４、動き予測・補償部２５、予測画像選択部２６、およびレート制御部２７を備える点で、図１の画像符号化装置１と共通している。
【００７９】
また、図５の画像符号化装置１０１は、直交変換部１４、量子化部１５、および可逆符号化部１６と、直交変換部１１１、量子化部１１２、および可逆符号化部１１３がそれぞれ入れ替わった点、並びに、クラス分類部１１４、および適応ループフィルタ１１５が追加された点で、図１の画像符号化装置１と異なっている。
【００８０】
すなわち、直交変換部１１１は、図１の直交変換部１４と同様に、演算部１３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部１１２に供給する。また、直交変換部１１１は、図１の直交変換部１４と異なり、各マクロブロックに対して、４×４直交変換と、８×８直交変換とのいずれを適用したかに関する情報（すなわち、直交変換サイズ）を、クラス分類部１１４に供給する。
【００８１】
量子化部１１２は、図１の量子化部１５と同様に、直交変換部１１１が出力する変換係数を量子化し、量子化された変換係数を可逆符号化部１１３に供給する。また、量子化部１１２は、図１の量子化部１５と異なり、各マクロブロックに関する量子化値を、クラス分類部１１４に供給する。
【００８２】
可逆符号化部１１３は、図１の可逆符号化部１６と同様に、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とし、符号化したデータを蓄積バッファ１７に供給して蓄積させる。なお、このとき、可逆符号化部１１３は、図３の場合のように、適応ループフィルタ１１５により算出されたフィルタ係数も、符号化し、圧縮画像におけるヘッダ情報の一部とする。
【００８３】
また、可逆符号化部１１３は、図１の可逆符号化部１６と異なり、各マクロブロックの発生符号量に関する情報を、クラス分類部１１４に供給する。
【００８４】
クラス分類部１１４および適応ループフィルタ１１５は、デブロックフィルタ２１の後、フレームメモリ２２の前に設けられている。すなわち、クラス分類部１１４および適応ループフィルタ１１５は、演算部１３、直交変換部１１１、量子化部１１２、逆量子化部１８、逆直交変換部１９、演算部２０、デブロックフィルタ２１、フレームメモリ２２、スイッチ２３、動き予測・補償部２５、および予測画像選択部２６からなる動き補償ループ内に設けられている。すなわち、動き補償ループ内では、画像がループして用いられている。
【００８５】
クラス分類部１１４は、直交変換部１１１、量子化部１１２、および可逆符号化部１１３からの情報を用いて、画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類し、その分類結果を、適応ループフィルタ１１５に供給する。
【００８６】
適応ループフィルタ１１５は、図３の適応ループフィルタ７１と同様に、画面並べ替えバッファ１２からの原画像とデブロックフィルタ２１からの画像との残差を最小とするよう、フィルタ係数の算出を行い、このフィルタ係数を用いて、デブロックフィルタ２１からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ（Wiener Filter）が用いられる。
【００８７】
ただし、適応ループフィルタ１１５は、クラス分類部１１４により画面全体が分類された結果である、モスキートノイズが生じていると考えられるマクロブロックのクラスと、そう考えられない（すなわち、モスキートノイズがあまり生じていないと考えられる）マクロブロックのクラスのそれぞれに対して、最適フィルタ係数の算出と、フィルタ処理を行う。
【００８８】
また、適応ループフィルタ１１５は、算出したフィルタ係数を、可逆符号化部１１３に送る。可逆符号化部１１３においては、このフィルタ係数を、可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のスライスヘッダ部に挿入する。
【００８９】
［直交変換の説明］
次に、上述した各処理の詳細について説明する。図６を参照して、最初に直交変換について説明する。
【００９０】
MPEG２符号化方式においては、直交変換は、８×８画素を単位として処理が行なわれていた。これに対して、AVC符号化方式と同様に直交変換を行う画像符号化装置１０１は、Baseline Profile、Main Profile、Extended Profileにおいては、４×４画素を単位とした直交変換を行う。また、画像符号化装置１０１は、High Profile以上においては、マクロブロック単位で、図６Ａに示される４×４画素単位の直交変換と、図６Ｂに示される８×８画素単位の直交変換を切り替えて用いることが可能である。
【００９１】
［４×４直交変換］
まず、４×４直交変換方式について説明する。４×４画素単位の直交変換は、以下のような特徴を有する。
【００９２】
第一の特徴は、MPEG２符号化方式においては、変換のための演算精度は、ある範囲内で、それぞれの符号化方式に対して、自由に設定することがあるため、逆変換におけるミスマッチ対策を行う必要があったが、本方式においては、変換、逆変換、ともに規格において規定されており、このようなミスマッチ対策を行うことが不要であるという点である。
【００９３】
第二の特徴は、演算が、携帯端末等に用いられるような、低消費電力型のデジタルシグナルプロセッサ（DSP（Digital Signal Processor））においても実現が可能であるよう、16-bitレジスタによる実装が可能であるという点である。
【００９４】
第三の特徴は、MPEG２等の、８×８画素単位の直交変換による符号化方式においては、高域係数の量子化誤差に起因してモスキート雑音が観測されていたが、本方式においては、このようなモスキート雑音が観測されにくいという点である。
【００９５】
図７に、直交変換及び量子化処理の概要を示す。すなわち、１つのマクロブロックに含まれる、輝度信号１６×１６画素、色差信号８×８画素は、それぞれ、図７に示されるように４×４画素ブロックに分割され、それぞれに対して整数変換処理及び量子化処理が施される。更に、色差信号に関しては、図７に示されるように、直流成分のみを集めた２×２マトリクスが生成され、これに２次のアダマール変換及び量子化処理が施される。
【００９６】
また、当該マクロブロックがイントラ１６×１６モードである場合には、図７に示す通り、直流成分のみを集めた４×４マトリクスが生成され、これに４次のアダマール変換及び量子化が施される。
【００９７】
４次の直交変換処理については、以下の式（１）のように記述することが出来る。
【００９８】
【数１】
0005556996.tif 000002
【００９９】
この式（１）は、以下の式（２）のように、変形することができる。
【０１００】
【数２】
0005556996.tif 000003
【０１０１】
この式（２）は、さらに、以下の式（３）のように、変形することができる。
【０１０２】
【数３】
0005556996.tif 000004
【０１０３】
したがって、行列［Ｃf］は、以下の式（４）のように表すことができる。
【０１０４】
【数４】
0005556996.tif 000005
【０１０５】
つまり、画像符号化装置１０１は、式（４）の右辺に示される行列を、整数変換行列として用いる。
【０１０６】
これにより、add（加減算）およびshift（ビットシフト）により整数変換を実現することができる。
【０１０７】
また、式（３）から、行列［Ｅf］は、以下の式（５）のように表すことができる。
【０１０８】
【数５】
0005556996.tif 000006
【０１０９】
この式（５）の右辺の項については、画像符号化装置１０１が４×４の成分ごとに異なる量子化処理を行うことで実現する。換言すれば、画像符号化装置１０１は、整数変換と量子化処理の組み合わせにより、直交変換を実現している。
【０１１０】
また、逆整数変換については、以下の式（６）のように表すことができる。
【０１１１】
【数６】
0005556996.tif 000007
【０１１２】
したがって、式（６）の右辺は、以下の式（７）および式（８）のように表すことができる。
【０１１３】
【数７】
0005556996.tif 000008
【数８】
0005556996.tif 000009
【０１１４】
式（７）の右辺に示される行列は、逆量子化の結果得られる４×４行列であり、これに対して、式（８）の右辺に示される逆整数行列を施すことで復号画像に対する４×４行列が算出される。
【０１１５】
逆整数変換についても、add（加減算）およびshift（ビットシフト）のみで実現することができる。
【０１１６】
図８Ａ及び図８Ｂに、整数変換及び逆整数変換をバタフライ演算により実現するための手法を示す。
【０１１７】
［８×８直交変換］
次に、AVC High Profile以上で用いることが可能である、８×８直交変換について説明する。
【０１１８】
画像符号化装置１０１において、８×８直交変換は、４×４の場合と同様、加減算とシフト演算のみにおいて実現される整数変換として定義されている。
【０１１９】
画像符号化装置１０１は、最初に、８点の水平方向の直交変換の計算を行い、次に、８点の垂直方向の変換を行う。
【０１２０】
以下において、説明の簡略化のため、１次元で、８次の整数変換を説明する。
【０１２１】
入力信号を、{d0,d1,d2,d3,d4,d5,d6,d7}とすると、まず、次の式（９）乃至式（１６）の計算が行われる。
【０１２２】
e0 = d0 + d7  ・・・（９）
e1 = d1 + d6  ・・・（１０）
e2 = d2 + d5  ・・・（１１）
e3 = d3 + d6  ・・・（１２）
e4 = d0 - d7  ・・・（１３）
e5 = d1 - d6  ・・・（１４）
e6 = d2 - d5  ・・・（１５）
e7 = d3 - d4  ・・・（１６）
【０１２３】
次に、{e0,e1,e2,e3,e4,e5,e6,e7}に対して以下の式（１７）乃至式（２４）の計算が行われる。
【０１２４】
e'0 = e0 + e3  ・・・（１７）
e'1 = e1 + e2  ・・・（１８）
e'2 = e0 - e3  ・・・（１９）
e'3 = e1 - e2  ・・・（２０）
e'4 = e5 + e6 + (e4>>1 + e4)  ・・・（２１）
e'5 = e4 - e7 - (e6>>1 + e6)  ・・・（２２）
e'6 = e4 + e7 - (e5>>1 + e5)  ・・・（２３）
e'7 = e5 - e6 + (e7>>1+e7)  ・・・（２４）
【０１２５】
更に、{e'0,e'1,e'2,e'3,e'4,e'5,e'6,e'7}に対して、以下の式（２５）乃至式（３２）の計算が行われ、直交変換された係数{D0,D1,D2,D3,D4,D5,D6,D7}が得られる。
【０１２６】
D0 = e'0 + e'1  ・・・（２５）
D2 = e'2 + e'3>>1  ・・・（２６）
D4 = e'0 - e'1  ・・・（２７）
D6 = e'2>>1 - e'3  ・・・（２８）
D1 = e'4 + e'7>>2  ・・・（２９）
D3 = e'5 + e'6>>2  ・・・（３０）
D5 = e'6 - e'5>>2  ・・・（３１）
D7 = -e'7 + e'4>>2  ・・・（３２）
【０１２７】
{D0,D1,D2,D3,D4,D5,D6,D7}から{d0,d1,d2,d3,d4,d5,d6,d7}への逆直交変換は以下のように行われる。
【０１２８】
すなわち、まず、{D0,D1,D2,D3,D4,D5,D6,D7}から{f0,f1,f2,f3,f4,f5,f6,f7}が、以下の式（３４）乃至式（４０）のように算出される。
【０１２９】
f0 = D0 + D4  ・・・（３３）
f1 = -D3 + D5 - (D7 + D7>>1)  ・・・（３４）
f2 = D0 - D4  ・・・（３５）
f3 = D1 + D7 - (D3 + D3>>1)  ・・・（３６）
f4 = D2>>1 - D6  ・・・（３７）
f5 = -D1 + D7 + (D5 + D5>>1)  ・・・（３８）
f6 = D2 + D6>>1  ・・・（３９）
f7 = D3 + D5 + (D1 + D1>>1)  ・・・（４０）
【０１３０】
次に、{f0,f1,f2,f3,f4,f5,f6,f7}から、{f'0,f'1,f'2,f'3,f'4,f'5,f'6,f'7}が、以下の式（４１）乃至式（４８）のように算出される。
【０１３１】
f'0 = f0 + f6  ・・・（４１）
f'1 = f1 + f7>>2  ・・・（４２）
f'2 = f2 + f4  ・・・（４３）
f'3 = f3 + f5>>2  ・・・（４４）
f'4 = f2 - f4  ・・・（４５）
f'5 = f3>>2 - f5  ・・・（４６）
f'6 = f0 - f6  ・・・（４７）
f'7 = f7 - f1>>2  ・・・（４８）
【０１３２】
最後に、{f'0,f'1,f'2,f'3,f'4,f'5,f'6,f'7}から、{d0,d1,d2,d3,d4,d5,d6,d7}が、以下の式（４９）乃至式（５６）のように算出される。
【０１３３】
d0 = f'0 + f'7  ・・・（４９）
d1 = f'2 + f'5  ・・・（５０）
d2 = f'4 + f'3  ・・・（５１）
d3 = f'6 + f'1  ・・・（５２）
d4 = f'6 - f'1  ・・・（５３）
d5 = f'4 - f'3  ・・・（５４）
d6 = f'2 - f'5  ・・・（５５）
d7 = f'0 - f'7  ・・・（５６）
【０１３４】
［デブロックフィルタ］
次にデブロックフィルタについて説明する。デブロックフィルタ２１は、動き補償ループ内に含まれ、復号画像におけるブロック歪を除去する。これにより、動き補償処理により参照される画像へのブロック歪の伝播が抑制される。
【０１３５】
デブロックフィルタの処理としては、符号化データに含まれる、Picture Parameter Set RBSP（Raw Byte Sequence Payload）に含まれるdeblocking_filter_control_present_flag、及び、スライスヘッダ（Slice Header）に含まれるdisable_deblocking_filter_idcという２つのパラメータによって、以下の（ａ）乃至（ｃ）の３通りの方法が選択可能である。
【０１３６】
（ａ）ブロック境界、及びマクロブロック境界に施す
（ｂ）マクロブロック境界にのみ施す
（ｃ）施さない
【０１３７】
量子化パラメータQPについては、以下の処理を輝度信号に対して適用する場合は、QPYを、色差信号に対して適用する場合はQPCを用いる。また、動きベクトル符号化、イントラ予測、エントロピー符号化（CAVLC/CABAC）においては、異なるスライスに属する画素値は"not available"として処理するが、デブロックフィルタ処理においては、異なるスライスに属する画素値でも、同一のピクチャに属する場合は"available"であるとして処理を行う。
【０１３８】
以下においては、図９に示されるように、デブロックフィルタ処理前の画素値をp0〜p3、q0〜q3とし、処理後の画素値をp0'〜p3'、q0'〜q3'とする。
【０１３９】
まず、デブロックフィルタ処理に先立ち、図９におけるp及びqに対して、図１０に示される表のように、Bs（Boundary Strength）が定義される。
【０１４０】
図９における(p2,p1,p0,q0,q1,q2)は、以下の式（５７）および式（５８）により示される条件が成立する場合のみ、デブロックフィルタ処理が施される。
【０１４１】
Bs > 0  ・・・（５７）
|p0-q0| < α; |p1-p0| < β; |q1-10| < β  ・・・（５８）
【０１４２】
式（５８）のαおよびβは、デフォルトでは以下のようにQPに応じてその値が定められているが、符号化データの、スライスヘッダに含まれる、slice_alpha_c0_offset_div2及びslice_beta_offset_div2という２つのパラメータによって、図１１に示されるグラフの矢印のように、ユーザがその強度を調整することが可能である。
【０１４３】
図１２に示される表のように、αはindexAから求められる。同様に、βはindexBから求められる。このindexAおよびindexBは、以下の式（５９）乃至式（６１）のように定義される。
【０１４４】
qPaν＝（qPp＋qPq＋１）＞＞１  ・・・（５９）
indexA＝Clip3（0,51,qPaν＋FilterOffsetA）  ・・・（６０）
indexB＝Clip3（0,51,qPaν＋FilterOffsetB）  ・・・（６１）
【０１４５】
式（６０）および式（６１）において、FilterOffsetA及びFilterOffsetBが、ユーザによる調整分に相当する。
【０１４６】
デブロックフィルタ処理は、以下に説明するように、Bs<4の場合と、Bs=4の場合とで、互いに異なる方法が定義されている。Bs<4の場合、デブロックフィルタ処理後の画素値p'0及びq'0が、以下の式（６２）乃至式（６４）のように求められる。
【０１４７】
Δ＝Clip3（−tc,tc（（（（q0−p0）＜＜２）＋（p1−q1）＋４）＞＞３））・・・（６２）
p'0＝Clip1（p0＋Δ）  ・・・（６３）
q'0＝Clip1（q0＋Δ）  ・・・（６４）
【０１４８】
ここで、tcは、以下の式（６５）または式（６６）ように算出される。すなわち、chromaEdgeFlagの値が「０」である場合、tcは以下の式（６５）のように算出される。
【０１４９】
tc＝tc0＋（（ap＜β）?1:0）＋（（ap＜β）?1:0）  ・・・（６５）
【０１５０】
また、chromaEdgeFlagの値が「０」以外である場合、tcは以下の式（６６）のように算出される。
【０１５１】
tc＝tc0＋１  ・・・（６６）
【０１５２】
tC0の値は、BsとindexAの値に応じて、図１３Ａおよび図１３Ｂに示される表のように定義される。
【０１５３】
また、式（６５）のap及びaqの値は、以下の式（６７）および（６８）のように算出される。
ap＝|p2−p0|  ・・・（６７）
aq＝|q2−q0|  ・・・（６８）
【０１５４】
デブロックフィルタ処理後の画素値p'1は以下のように求められる。すなわち、chromaEdgeFlagの値が「０」で、尚且つ、apの値がβ以下である場合、p'1は、以下の式（６９）のように求められる。
【０１５５】
p'1＝p1＋Clip3（−tc0,tc0,（p2＋（（p0＋q0＋１）＞＞１）−（p1＜＜１））＞＞１）
・・・（６９）
【０１５６】
また、式（６９）が成り立たない場合、p'1は、以下の式（７０）のように求められる。
【０１５７】
p'1＝p1  ・・・（７０）
【０１５８】
デブロックフィルタ処理後の画素値q'1は以下のように求められる。すなわち、chromaEdgeFlagの値が「０」で、尚且つ、aqの値がβ以下である場合、q'1は、以下の式（７１）のように求められる。
【０１５９】
q'1＝q1＋Clip3（−tc0,tc0,（q2＋（（p0＋q0＋１）＞＞１）−（q1＜＜１））＞＞１）
・・・（７１）
【０１６０】
また、式（７１）が成り立たない場合、q'1は、以下の式（７２）のように求められる。
【０１６１】
q'1＝q1  ・・・（７２）
【０１６２】
p'2及びq'2の値は、Filtering前の値p2及びq2と変わらない。すなわち、p'2は、以下の式（７３）のように求められ、q'2は、以下の式（７４）のように求められる。
【０１６３】
p'2＝p2  ・・・（７３）
q'2＝q2  ・・・（７４）
【０１６４】
Bs=4の場合、デブロックフィルタ後の画素値p'I（i＝0..2）は、以下のように求められる。chromaEdgeFlag の値が「０」であり、以下の式（７５）に示される条件が成り立つ場合、p'0、p'1、及びp'2は、以下の式（７６）乃至式（７８）のように求められる。
【０１６５】
ap＜β&&|p0−q0|＜（（α＞＞２）＋２）  ・・・（７５）
p'0＝（p2＋２×p1＋２×p0＋２×q0＋q1＋４）＞＞３  ・・・（７６）
p'1＝（p2＋p1＋p0＋q0＋２）＞＞２  ・・・（７７）
p'2＝（２×p3＋３×p2＋p1＋p0＋q0＋４）＞＞３  ・・・（７８）
【０１６６】
また、式（７５）に示される条件が成り立たない場合、p'0、p'1、及びp'2は、以下の式（７９）乃至（８１）のように求められる。
【０１６７】
p'0＝（２×p1＋p0＋q1＋２）＞＞２  ・・・（７９）
p'1＝p1  ・・・（８０）
p'2＝p2  ・・・（８１）
【０１６８】
デブロックフィルタ処理後の画素値q'i（I＝0..2）は、以下のように求められる。すなわち、chromaEdgeFlagの値が「０」であり、以下の式（８２）に示される条件が成り立つ場合、q'0、q'1、及びq'2は、以下の式（８３）乃至（８５）のように求められる。
【０１６９】
aq＜β&&|p0−q0|＜（（α＞＞２）＋２）  ・・・（８２）
q'0＝（p1＋２×p0＋２×q0＋２×q1＋q2＋４）＞＞３  ・・・（８３）
q'1＝（p0＋q0＋q1＋q2＋２）＞＞２  ・・・（８４）
q'2＝（２×q3＋３×q2＋q1＋q0＋p4＋４）＞＞３  ・・・（８５）
【０１７０】
また、式（８２）に示される条件が成り立たない場合、q'0、q'1、及びq'2は、以下の式（８６）乃至（８８）のように求められる。
【０１７１】
q'0＝（２×q1＋q0＋p1＋２）＞＞２  ・・・（８６）
q'1＝q1  ・・・（８７）
q'2＝q2  ・・・（８８）
【０１７２】
［拡張マクロブロックの例］
また、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素×２０００画素）といった大きな画枠に対しては、最適ではない。画像符号化装置１０１においては、図１４に示されるように、マクロブロックサイズを、例えば、３２画素×３２画素、６４×６４画素といった大きさにすることが採用される場合がある。
【０１７３】
図１４は、非特許文献２で提案されているブロックサイズの例を示す図である。非特許文献２では、マクロブロックサイズが３２×３２画素に拡張されている。
【０１７４】
図１４の上段には、左から、３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロック（パーティション）に分割された３２×３２画素で構成されるマクロブロックが順に示されている。図１４の中段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックに分割された１６×１６画素で構成されるブロックが順に示されている。また、図１４の下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のブロックに分割された８×８画素のブロックが順に示されている。
【０１７５】
すなわち、３２×３２画素のマクロブロックは、図１４の上段に示される３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロックでの処理が可能である。
【０１７６】
上段の右側に示される１６×１６画素のブロックは、H．264/AVC方式と同様に、中段に示される１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックでの処理が可能である。
【０１７７】
中段の右側に示される８×８画素のブロックは、H．264/AVC方式と同様に、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックでの処理が可能である。
【０１７８】
これらのブロックは、以下の３階層に分類することができる。すなわち、図１４の上段に示される３２×３２画素、３２×１６画素、および１６×３２画素のブロックを第１階層と呼ぶ。上段の右側に示される１６×１６画素のブロック、並びに、中段に示される１６×１６画素、１６×８画素、および８×１６画素のブロックを、第２階層と呼ぶ。中段の右側に示される８×８画素のブロック、並びに、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックを、第３階層と呼ぶ。
【０１７９】
図１４のような、階層構造を採用することにより、１６×１６画素ブロック以下に関しては、現在のAVCにおけるマクロブロックと互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
【０１８０】
［予測モードの選択］
さらに、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。画像符号化装置１０１においては、例えば、High Complexity Modeと、Low Complexity Modeの２通りのモード判定方法を選択する方法が考えられる。この方法の場合、どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
【０１８１】
High Complexity Modeにおけるコスト関数値は、以下の式（８９）のように求めることができる。
【０１８２】
Cost（Mode∈Ω）＝Ｄ＋λ×Ｒ  ・・・（８９）
【０１８３】
式（８９）において、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合である。また、Ｄは、当該予測モードModeで符号化した場合の、復号画像と入力画像の差分エネルギーである。さらに、λは、量子化パラメータの関数として与えられるLagrange未定乗数である。また、Ｒは、直交変換係数を含んだ、当該モードModeで符号化した場合の総符号量である。
【０１８４】
つまり、High Complexity Modeでの符号化を行なうには、上記パラメータＤ及びＲを算出するため、全ての候補モードModeにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
【０１８５】
これに対してLow Complexity Modeにおけるコスト関数値は、以下の式（９０）のように求めることができる。
【０１８６】
Cost（Mode∈Ω）＝Ｄ＋QP2Quant（QP）×HeaderBit  ・・・（９０）
【０１８７】
となる。式（９０）において、Ｄは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。また、QP2Quant（QP）は、量子化パラメータQPの関数として与えられる。さらに、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
【０１８８】
すなわち、Low Complexity Modeにおいては、それぞれの候補モードModeに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
【０１８９】
High Profileにおいては、図６に示されたような、４×４直交変換と、８×８直交変換との選択も、上述のHigh Complexity Mode若しくはLow Complexity Modeのいずれかに基づき行なわれる。
【０１９０】
［詳細な構成例］
以上の画像符号化装置１０１においては、画像符号化処理に、適応ループフィルタ処理を適用する。画像符号化装置１０１は、動き予測・補償ループ内にクラス分類部１１４および適応ループフィルタ１１５を有し、画面全体を、モスキートノイズが生じていると考えられているマクロブロックと、そうは考えられないマクロブロックにクラス分類し、それぞれに対して、最適フィルタ係数の算出およびフィルタ処理を行う。
【０１９１】
以下に、クラス分類部１１４および適応ループフィルタ１１５の構成の詳細について説明する。モスキートノイズは、直交変換係数の、高域成分における量子化誤差に起因して生じる。したがって、当該マクロブロックに含まれるテクスチャがフラットである場合、モスキートノイズは生じにくいが、当該マクロブロックにエッジが含まれる場合、モスキートノイズが生じやすい。
【０１９２】
また、H．264/AVCにおいては、上述したように、High Profile以上においては、マクロブロック単位で、図６Ａに示される４×４画素単位の直交変換と、図６Ｂに示される８×８画素単位の直交変換を切り替えて用いることが可能である。また、図１４を参照して上述したように、３２画素×３２画素、６４×６４画素といった大きさにすることが採用された場合に、さらに１６×１６画素単位の直交変換が導入されることが考えられる。しかしながら、モスキートノイズはより大きな直交変換サイズが適用されるマクロブロックにおいて生じやすい。
【０１９３】
このように、当該マクロブロックにモスキートノイズが生じるかどうかは、当該マクロブロックのテクスチャ情報と、直交変換サイズに依存する。
【０１９４】
図５のクラス分類部１１４および適応ループフィルタ１１５においては、かかる事実を利用して、各マクロブロックを、モスキートノイズが生じていると考えられるマクロブロックと、モスキートノイズがあまり生じていないと考えられるマクロブロックにクラス分類を行う。このクラス分類の方法としては、以下の２つの方法があげられる。どちらの方法においても、少なくとも直交変換サイズの情報が用いられる。
【０１９５】
始めに、第１の方法について説明する。第１の方法においては、まず、当該マクロブロックにおける量子化スケールQと発生ビットBを用いて当該マクロブロックに対するComplexity（難度パラメータ）の１つとしてのアクティビティXが次の式（９１）のように算出される。
【０１９６】
X = Q * B                                                      ・・・（９１）
なお、可逆符号化方式がCABAC方式である場合には、発生ビットに代え、当該マクロブロックの発生binを用いてもよい。
【０１９７】
このアクティビティ値が高いとき、当該マクロブロックにはエッジが含まれている、すなわち、複雑なテクスチャであると考えられ、アクティビティ値が低いとき、フラット領域、すなわち、単純なテクスチャであると考えられる。
【０１９８】
このように算出されたアクティビティXと、予め定められた閾値Θ(T)を比較して、次の式（９２）が成り立つとき、当該マクロブロックは、モスキートノイズが生じていると考えられるマクロブロックのクラスに分類される。一方、式（９２）が成り立たないとき、当該マクロブロックは、モスキートノイズがあまり生じていないと考えられるマクロブロックのクラスに分類される。
【０１９９】
X > Θ(T) + Θoffset                                           ・・・（９２）
ここで、Tは、当該マクロブロックサイズの直交変換サイズを表す。すなわち、閾値Θは、直交変換サイズに応じて決定される。また、Θoffsetは、ユーザの設定可能なオフセット値で、これにより、適応ループフィルタの強度を設定することが可能になる。なお、オフセット値はなくてもよい。
【０２００】
閾値Θについて、より大きな直交変換サイズに対して、より小さな閾値を設定することにより、モスキートノイズが生じているクラスに分類されやすくなる。そして、そのようなマクロブロックに対して適切なフィルタ係数が算出されるので、モスキートノイズ除去がされやすくなる。これは、直交変換サイズが大きい方が、モスキートノイズが発生しやすいためである。
【０２０１】
次に、第２の方法について説明する。第２の方法においては、まず、当該マクロブロックに含まれる、量子化処理後の非０である直交変換の個数がカウントされる。この数をNとして、このNが予め与えられた閾値Θ(QP,T)に対して、次の式（９３）が成り立つとき、当該マクロブロックは、モスキートノイズが生じていると考えられるマクロブロックのクラスに分類される。一方、式（９３）が成り立たないとき、当該マクロブロックは、モスキートノイズがあまり生じていないと考えられるマクロブロックのクラスに分類される。
【０２０２】
N > Θ(QP,T) + Θoffset                                         ・・・（９３）
式（９３）においても、Θoffsetは、ユーザの設定可能なオフセット値で、これにより、適応ループフィルタの強度を設定することが可能になる。なお、オフセット値はなくてもよい。
【０２０３】
また、所定の量子化パラメータQPについて、閾値Θは、次の式（９４）のように設定される。
Θ(T=4x4,QP) > Θ(T=8x8,QP) > Θ(T=16x16,QP) > …               ・・・（９４）
【０２０４】
すなわち、同一の量子化パラメータQPについて、より大きな直交変換サイズに対して、より小さな閾値を設定することで、モスキートノイズが生じているクラスに分類されやすくなる。そして、そのようなマクロブロックに対して適切なフィルタ係数が算出されるので、モスキートノイズ除去がされやすくなる。これは、直交変換サイズが大きい方が、モスキートノイズが生じやすいためである。
【０２０５】
また、ある直交変換サイズTについて、２つの量子化パラメータqp1およびqp2を、qp1 < qp2とすると、閾値Θは、次の式（９５）のように設定される。
Θ(T,qp1) > Θ(T,qp2)                                           ・・・（９５）
【０２０６】
すなわち、より高い量子化パラメータにより符号化されている場合、より多くの量子化歪みが含まれ、モスキートノイズも生じやすいと考えられるため、閾値を低くすることで、モスキートノイズが生じているクラスに分類されやすくなる。そして、そのようなマクロブロックに対して適切なフィルタ係数が算出されるので、モスキートノイズ除去がされやすくなる。
【０２０７】
つまり、第２の方法の場合、直交変換サイズが大きいか、または、量子化パラメータが高いとき、閾値はより小さく設定される。その結果、モスキートノイズが生じているクラスに分類されやすくなり、そのようなマクロブロックに対して適切なフィルタ係数が算出されるので、モスキートノイズ除去がされやすくなる。一方、直交変換サイズが小さいか、または、量子化パラメータが低いとき、閾値はより大きく設定される。その結果、モスキートノイズが生じていないクラスに分類されやすくなり、そのようなマクロブロックに対して適切なフィルタ係数が算出されるので、モスキートノイズ除去がされにくくなる。
【０２０８】
以上のように、図５の画像符号化装置１０１においては、各マクロブロックに対する、直交変換係数、直交変換サイズ、量子化値、発生符号量などといった符号化情報を用いて、当該マクロブロックに対して、モスキートノイズが生じているマクロブロックのクラスに分類するか、それ以外のクラスに分類するかが決定される。
【０２０９】
すなわち、画像符号化装置１０１においては、クラス分類のためのパラメータとして、符号化情報が用いられる。
【０２１０】
ここで、符号化情報とは、可逆符号化部１１３により符号化されて圧縮画像のヘッダに付加されて復号側へ送られるシンタクス要素の情報である。
【０２１１】
なお、本発明の適用範囲は、上述した２つの方法に限らない。例えば、モスキートノイズが生じているマクロブロックのクラスに分類するか、それ以外のクラスに分類するかのクラス分類に、他の符号化情報（シンタクス要素）を用いるようにしてもよい。例えば、静止領域は、モスキートノイズが目に付きやすいが、動領域は、目に付きにくいため、動き予測・補償部２５により探索される動きベクトル情報を考慮してモスキートノイズが生じているマクロブロックのクラスに分類するか、それ以外のクラスに分類するかのクラス分類を行うようにすることもできる。
【０２１２】
このような符号化情報は、図５の画像符号化装置１０１においてだけでなく、後述する画像復号装置２０１においても抽出可能であるため、クラス分類を行うための制御パラメータを圧縮画像のヘッダに付加して送る必要もない。
【０２１３】
［クラス分類部および適応ループフィルタの構成例］
図１５は、第１の方法を行うクラス分類部１１４および適応ループフィルタ１１５の構成例を示すブロック図である。
【０２１４】
図１５の例において、クラス分類部１１４は、閾値決定部１２１、Complexity算出部１２２、およびモスキートマクロブロック分類部１２３により構成されている。
【０２１５】
また、適応ループフィルタ１１５は、非モスキート用フィルタ係数算出部１３１、モスキート用フィルタ係数算出部１３２、非モスキート用フィルタリング部１３３、およびモスキート用フィルタリング部１３４により構成されている。
【０２１６】
直交変換部１１１から、当該マクロブロックの直交変換サイズに関する情報が、閾値決定部１２１に供給される。閾値決定部１２１は、当該マクロブロックの直交変換サイズに基づいて、モスキートノイズが生じているか否かに応じたクラス分類のための閾値Θ(T)を決定する。決定された閾値Θ(T)の情報は、モスキートマクロブロック分類部１２３に供給される。
【０２１７】
量子化部１１２から、当該マクロブロックに関する量子化値の情報が、Complexity算出部１２２に供給される。可逆符号化部１１３から、当該マクロブロックの発生符号量（発生ビット）に関する情報が、Complexity算出部１２２に供給される。なお、可逆符号化方式としてCABAC方式が用いられる場合には、発生ビットに代えて、発生binが供給されるようにしてもよい。
【０２１８】
Complexity算出部１２２は、上述した式（９１）を用いて、当該マクロブロックに対するComplexity（式（９１）の場合、アクティビティ）を算出し、算出したComplexityの値を、モスキートマクロブロック分類部１２３に供給する。
【０２１９】
モスキートマクロブロック分類部１２３は、上述した式（９２）の閾値判定処理により、当該マクロブロックに対して、モスキートノイズを含む（と考えられる）マクロブロックであるクラスと、それ以外のマクロブロックのクラスに分類する。モスキートマクロブロック分類部１２３は、その分類結果として、モスキートノイズを含むマクロブロックであるクラスに分類されたマクロブロックのアドレスを、モスキート用フィルタ係数算出部１３２に供給し、それ以外のマクロブロックのクラスに分類されたマクロブロックのアドレスを、非モスキート用フィルタ係数算出部１３１に供給する。
【０２２０】
画面並べ替えバッファ１２からの入力画素値が、非モスキート用フィルタ係数算出部１３１、およびモスキート用フィルタ係数算出部１３２に入力される。デブロックフィルタ２１からのデブロックフィルタ処理後画素値は、非モスキート用フィルタ係数算出部１３１、モスキート用フィルタ係数算出部１３２、非モスキート用フィルタリング部１３３、およびモスキート用フィルタリング部１３４に入力される。
【０２２１】
非モスキート用フィルタ係数算出部１３１およびモスキート用フィルタ係数算出部１３２は、それぞれ、デブロックフィルタ２１からのデブロックフィルタ処理後画素値から、モスキートマクロブロック分類部１２３から供給されるアドレスが示すマクロブロックを求める。そして、非モスキート用フィルタ係数算出部１３１およびモスキート用フィルタ係数算出部１３２は、それぞれ、求めたマクロブロックの画素値（すなわち、モスキートマクロブロック分類部１２３により分類されたクラスの画素値）に対するフィルタ係数を、画面並べ替えバッファ１２からの原画像とデブロックフィルタ２１からの画像との残差を最小とするように算出する。
【０２２２】
すなわち、非モスキート用フィルタ係数算出部１３１により、モスキートノイズがあまり入っていないマクロブロックに対して最適なフィルタ係数が算出され、モスキート用フィルタ係数算出部１３２より、モスキートノイズが含まれるマクロブロックに対して最適なフィルタ係数が算出される。
【０２２３】
なお、以下、非モスキート用フィルタ係数算出部１３１により算出されたフィルタ係数を、非モスキート用フィルタ係数と称し、モスキート用フィルタ係数算出部１３２により算出されたフィルタ係数を、モスキート用フィルタ係数と称する。
【０２２４】
算出された非モスキート用およびモスキート用フィルタ係数は、それぞれ、対応するクラスのマクロブロックアドレスとともに、非モスキート用フィルタリング部１３３およびモスキート用フィルタリング部１３４に供給される。また、算出された非モスキート用およびモスキート用フィルタ係数は、可逆符号化部１１３にも供給される。
【０２２５】
非モスキート用フィルタリング部１３３は、対応するクラス（モスキートノイズがあまりないクラス）のマクロブロックアドレスが示す、デブロックフィルタ２１からのデブロックフィルタ処理後画素値に対して、非モスキート用フィルタ係数を用いてフィルタ処理を行う。フィルタ処理後の画素値は、フレームメモリ２２に出力される。
【０２２６】
モスキート用フィルタリング部１３４は、対応するクラス（モスキートノイズがあるクラス）のマクロブロックアドレスが示す、デブロックフィルタ２１からのデブロックフィルタ処理後画素値に対して、モスキート用フィルタ係数を用いてフィルタ処理を行う。フィルタ処理後の画素値は、フレームメモリ２２に出力される。
【０２２７】
図１６は、第２の方法を行うクラス分類部１１４および適応ループフィルタ１１５の構成例を示すブロック図である。
【０２２８】
図１６の例において、クラス分類部１１４は、閾値決定部１４１、非０係数個数バッファ１４２、およびモスキートマクロブロック分類部１４３により構成されている。
【０２２９】
また、適応ループフィルタ１１５は、図１５の例と同様に、非モスキート用フィルタ係数算出部１３１、モスキート用フィルタ係数算出部１３２、非モスキート用フィルタリング部１３３、およびモスキート用フィルタリング部１３４により構成されている。
【０２３０】
直交変換部１１１からの当該マクロブロックの直交変換サイズに関する情報と、量子化部１１２からの当該マクロブロックに関する量子化値の情報が、閾値決定部１４１に供給される。閾値決定部１４１は、当該マクロブロックの直交変換サイズと量子化値に基づいて、モスキートノイズを除去するためのフィルタ処理のための閾値Θ(QP,T)を決定する。決定された閾値Θ(QP,T)の情報は、モスキートマクロブロック分類部１４３に供給される。
【０２３１】
量子化部１１２から、当該マクロブロックに関する量子化後の直交変換係数の個数（非０係数）の情報が、非０係数個数バッファ１４２に供給され、蓄積される。非０係数個数バッファ１４２に蓄積された非０係数個数の情報は、モスキートマクロブロック分類部１４３に供給される。
【０２３２】
モスキートマクロブロック分類部１４３は、閾値Θ(QP,T)の情報と非０係数個数の情報から、上述した式（９３）の閾値判定処理により、当該マクロブロックに対して、モスキートノイズを含む（と考えられる）マクロブロックであるクラスと、それ以外のマクロブロックのクラスに分類する。モスキートマクロブロック分類部１４３は、その分類結果として、モスキートノイズを含むマクロブロックであるクラスに分類されたマクロブロックのアドレスを、モスキート用フィルタ係数算出部１３２に供給し、それ以外のマクロブロックのクラスに分類されたマクロブロックのアドレスを、非モスキート用フィルタ係数算出部１３１に供給する。
【０２３３】
［画像符号化装置の符号化処理の説明］
次に、図１７のフローチャートを参照して、図５の画像符号化装置１０１の符号化処理について説明する。
【０２３４】
ステップＳ１１において、A/D変換部１１は入力された画像をＡ／Ｄ変換する。ステップＳ１２において、画面並べ替えバッファ１２は、A/D変換部１１より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０２３５】
ステップＳ１３において、演算部１３は、ステップＳ１２で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部２５から、イントラ予測する場合はイントラ予測部２４から、それぞれ予測画像選択部２６を介して演算部１３に供給される。
【０２３６】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０２３７】
ステップＳ１４において、直交変換部１１１は演算部１３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。このとき、直交変換部１１１は、各マクロブロックの直交変換サイズの情報を、適応ループフィルタ１１５に供給する。
【０２３８】
ステップＳ１５において、量子化部１１２は変換係数を量子化する。このとき、量子化部１１２は、各マクロブロックに関する量子化値を、適応ループフィルタ１１５に供給する。この量子化に際しては、後述するステップＳ２７の処理で説明されるように、レートが制御される。
【０２３９】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１６において、逆量子化部１８は量子化部１１２により量子化された変換係数を量子化部１１２の特性に対応する特性で逆量子化する。ステップＳ１７において、逆直交変換部１９は逆量子化部１８により逆量子化された変換係数を直交変換部１１１の特性に対応する特性で逆直交変換する。
【０２４０】
ステップＳ１８において、演算部２０は、予測画像選択部２６を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部１３への入力に対応する画像）を生成する。
【０２４１】
ステップＳ１９においてデブロックフィルタ２１は、演算部２０より出力された画像に対して、デブロックフィルタ処理を行う。これによりブロック歪みが除去される。デブロックフィルタ２１からの復号画像は、適応ループフィルタ１１５に出力される。
【０２４２】
ステップＳ２０において、クラス分類部１１４と適応ループフィルタ１１５は、デブロックフィルタ後の復号画像に対し、適応ループフィルタ処理を行う。この適応ループフィルタ処理の詳細については、図２０および図２１を参照して後述する。適応ループフィルタ１１５からの画像は、フレームメモリ２２に出力される。
【０２４３】
このとき、適応ループフィルタ１１５は、算出した適応ループフィルタ係数を、可逆符号化部１１３に送る。適応ループフィルタ係数の情報は、後述するステップＳ２５において、可逆符号化部１１３により符号化されて、圧縮画像のヘッダに付加される。
【０２４４】
ステップＳ２１においてフレームメモリ２２は、フィルタリングされた画像を記憶する。なお、フレームメモリ２２にはデブロックフィルタ２１によりフィルタ処理されていない画像も演算部２０から供給され、記憶される。
【０２４５】
画面並べ替えバッファ１２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ２２から読み出され、スイッチ２３を介してイントラ予測部２４に供給される。
【０２４６】
これらの画像に基づいて、ステップＳ２２において、イントラ予測部２４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ２１によりデブロックフィルタリングされていない画素が用いられる。
【０２４７】
ステップＳ２２におけるイントラ予測処理の詳細は、図１８を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部２６に供給される。
【０２４８】
画面並べ替えバッファ１２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ２２から読み出され、スイッチ２３を介して動き予測・補償部２５に供給される。これらの画像に基づいて、ステップＳ２３において、動き予測・補償部２５は、動き予測・補償処理を行う。
【０２４９】
ステップＳ２３における動き予測・補償処理の詳細は、図１９を参照して後述する。この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部２６に供給される。
【０２５０】
ステップＳ２４において、予測画像選択部２６は、イントラ予測部２４および動き予測・補償部２５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部２６は、決定した最適予測モードの予測画像を選択し、演算部１３，２０に供給する。この予測画像が、上述したステップＳ１３，Ｓ１８の演算に利用される。
【０２５１】
なお、この予測画像の選択情報は、イントラ予測部２４または動き予測・補償部２５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部２４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部１６に供給する。
【０２５２】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部２５は、最適インター予測モードを示す情報と、さらに、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部１１３に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
【０２５３】
ステップＳ２５において、可逆符号化部１１３は量子化部１１２より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、当該マクロブロックの発生ビットが、適応ループフィルタ１１５に供給される。なお、可逆符号化方式としてCABAC方式が用いられる場合には、発生ビットに代えて、発生binが供給されるようにしてもよい。
【０２５４】
また、このとき、上述したステップＳ２０において可逆符号化部１１３に入力されたフィルタ係数、並びに、上述したステップＳ２４において可逆符号化部１１３に入力された、イントラ予測部２４からのイントラ予測モード情報、または、動き予測・補償部２５からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
【０２５５】
例えば、インター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。フィルタ係数は、スライス毎に符号化される。
【０２５６】
ステップＳ２６において蓄積バッファ１７は差分画像を圧縮画像として蓄積する。蓄積バッファ１７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【０２５７】
ステップＳ２７においてレート制御部２７は、蓄積バッファ１７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１５の量子化動作のレートを制御する。
【０２５８】
［イントラ予測処理の説明］
次に、図１８のフローチャートを参照して、図１７のステップＳ２２におけるイントラ予測処理を説明する。なお、図１８の例においては、輝度信号の場合を例として説明する。
【０２５９】
イントラ予測部２４は、ステップＳ４１において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対してイントラ予測を行う。
【０２６０】
輝度信号のイントラ予測モードには、９種類の４×４画素および８×８画素のブロック単位、並びに４種類の１６×１６画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、４種類の８×８画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の４×４画素および８×８画素のイントラ予測モードについては、４×４画素および８×８画素の輝度信号のブロック毎に１つのイントラ予測モードが定義される。輝度信号の１６×１６画素のイントラ予測モードと色差信号のイントラ予測モードについては、１つのマクロブロックに対して１つの予測モードが定義される。
【０２６１】
具体的には、イントラ予測部２４は、処理対象のブロックの画素を、フレームメモリ２２から読み出され、スイッチ２３を介して供給される復号済みの画像を参照して、イントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ２１によりデブロックフィルタリングされていない画素が用いられる。
【０２６２】
イントラ予測部２４は、ステップＳ４２において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値を求めるためのコスト関数としては、式（８９）または式（９０）のコスト関数が用いられる。
【０２６３】
イントラ予測部２４は、ステップＳ４３において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ４×４予測モードおよびイントラ８×８予測モードの場合には、予測モードの種類が９種類あり、イントラ１６×１６予測モードの場合には、予測モードの種類が４種類ある。したがって、イントラ予測部２４は、ステップＳ４２において算出されたコスト関数値に基づいて、それらの中から、最適イントラ４×４予測モード、最適イントラ８×８予測モード、最適イントラ１６×１６予測モードを決定する。
【０２６４】
イントラ予測部２４は、ステップＳ４４において、４×４画素、８×８画素、および１６×１６画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップＳ４２において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、４×４画素、８×８画素、および１６×１６画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。そして、イントラ予測部２４は、最適イントラ予測モードで生成された予測画像とそのコスト関数値とを、予測画像選択部２６に供給する。
【０２６５】
［動き予測・補償処理の説明］
次に、図１９のフローチャートを参照して、図１７のステップＳ２３の動き予測・補償処理について説明する。
【０２６６】
動き予測・補償部２５は、ステップＳ６１において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
【０２６７】
動き予測・補償部２５は、ステップＳ６２において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードについて、ステップＳ６１で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
【０２６８】
動き予測・補償部２５は、ステップＳ６３において、１６×１６画素乃至４×４画素からなる８種類の各インター予測モードに対して、上述した式（８９）または式（９０）で示されるコスト関数値を算出する。
【０２６９】
ステップＳ６４において、動き予測・補償部２５は、ステップＳ６３において算出されたインター予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部２５は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部２６に供給する。
【０２７０】
［適応ループフィルタ処理の説明］
次に、図２０のフローチャートを参照して、図１７のステップＳ２０の適応ループフィルタ処理について説明する。なお、図２０の適応ループフィルタ処理は、図１５のクラス分類部１１４および適応ループフィルタ１１５により行われる処理である。
【０２７１】
量子化部１１２から、当該マクロブロックに関する量子化値の情報が、Complexity算出部１２２に供給される。可逆符号化部１１３から、当該マクロブロックの発生符号量（発生ビット）に関する情報が、Complexity算出部１２２に供給される。
【０２７２】
Complexity算出部１２２は、ステップＳ８１において、当該マクロブロックに関する量子化値の情報として、量子化スケールＱを受け、ステップＳ８２において、当該マクロブロックの発生符号量に関する情報として、発生ビットＢを受ける。そして、Complexity算出部１２２は、ステップＳ８３において、上述した式（９１）を用いて、当該マクロブロックに対するComplexityとしてのアクティビティを算出する。算出されたComplexityの値は、モスキートマクロブロック分類部１２３に供給される。
【０２７３】
直交変換部１１１から、当該マクロブロックの直交変換サイズに関する情報が、閾値決定部１２１に供給される。閾値決定部１２１は、ステップＳ８４において、当該マクロブロックの直交変換サイズを受け、ステップＳ８５において、当該マクロブロックの直交変換サイズから、モスキートノイズを除去するためのフィルタ処理のための閾値Θ＝Θ(T) + Θoffsetを決定する。決定された閾値Θの情報は、モスキートマクロブロック分類部１２３に供給される。
【０２７４】
ステップＳ８６において、モスキートマクロブロック分類部１２３は、Complexity算出部１２２からのアクティビティＸが、閾値決定部１２１からの閾値Θよりも大きいか否かを判定する。ステップＳ８６において、アクティビティＸが、閾値Θよりも大きいと判定された場合、モスキートマクロブロック分類部１２３は、当該マクロブロックがモスキートノイズを含むマクロブロックであるクラスに分類されるとして、当該マクロブロックのアドレスを、モスキート用フィルタ係数算出部１３２に供給し、処理は、ステップＳ８７に進む。
【０２７５】
ステップＳ８７において、モスキート用フィルタ係数算出部１３２およびモスキート用フィルタリング部１３４は、モスキート用適応フィルタ処理を行う。なお、ステップＳ８７の処理の詳細については、図２２を参照して後述される。
【０２７６】
この処理により、モスキートノイズが含まれるマクロブロックに対して最適なモスキート用フィルタ係数が算出される。そして、算出されたモスキート用フィルタ係数を用いて、モスキートノイズが含まれると考えられるマクロブロックに対してフィルタ処理が行われる。フィルタ処理後の画素値は、フレームメモリ２２に出力される。
【０２７７】
一方、ステップＳ８６において、アクティビティＸが、閾値Θよりも小さいと判定された場合、モスキートマクロブロック分類部１２３は、当該マクロブロックがモスキートノイズをあまり含まないマクロブロックであるクラスに分類されるとして、当該マクロブロックのアドレスを、非モスキート用フィルタ係数算出部１３１に供給し、処理は、ステップＳ８８に進む。
【０２７８】
ステップＳ８８において、非モスキート用フィルタ係数算出部１３１および非モスキート用フィルタリング部１３３は、モスキート用適応フィルタ処理を行う。なお、ステップＳ８８の処理の詳細については、図２２を参照して後述されるステップＳ８７の処理と、処理対象のマクロブロックが異なるだけであり、基本的に同様の処理を行うため、その詳細な処理は省略する。
【０２７９】
この処理により、モスキートノイズがあまり含まれないマクロブロックに対して最適なモスキート用フィルタ係数が算出される。そして、算出されたモスキート用フィルタ係数を用いて、モスキートノイズがあまり含まれないと考えられるマクロブロックに対してフィルタ処理が行われる。フィルタ処理後の画素値は、フレームメモリ２２に出力される。
【０２８０】
さらに、図２１のフローチャートを参照して、図１７のステップＳ２０の適応ループフィルタ処理の他の例について説明する。なお、図２１の適応ループフィルタ処理は、図１６のクラス分類部１１４および適応ループフィルタ１１５により行われる処理である。
【０２８１】
量子化部１１２から、当該マクロブロックに関する量子化後の直交変換係数の個数（非０係数）の情報が、非０係数個数バッファ１４２に供給される。非０係数個数バッファ１４２は、ステップＳ１０１において、当該マクロブロックに関する量子化後の直交変換係数の個数（非０係数）の情報として、非０直交変換係数の個数Ｎを受け、蓄積する。蓄積された非０係数個数の情報は、モスキートマクロブロック分類部１４３に供給される。
【０２８２】
直交変換部１１１からの当該マクロブロックの直交変換サイズに関する情報と、量子化部１１２からの当該マクロブロックに関する量子化値の情報が、閾値決定部１４１に供給される。
【０２８３】
閾値決定部１４１は、ステップＳ１０２において、当該マクロブロックに関する量子化値の情報として、量子化パラメータを受け、ステップＳ１０３において、当該マクロブロックの直交変換サイズに関する情報として、当該マクロブロックの直交変換サイズを受ける。そして、閾値決定部１４１は、ステップＳ１０４において、当該マクロブロックの量子化パラメータおよび直交変換サイズから、モスキートノイズを除去するためのフィルタ処理のための閾値Θ＝Θ(QP,T) + Θoffsetを決定する。決定された閾値Θの情報は、モスキートマクロブロック分類部１４３に供給される。
【０２８４】
ステップＳ１０５において、モスキートマクロブロック分類部１４３は、非０係数個数バッファ１４２からの非０直交変換係数の個数Ｎが、閾値決定部１４１からの閾値Θよりも大きいか否かを判定する。ステップＳ１０５において、非０直交変換係数の個数Ｎが、閾値Θよりも大きいと判定された場合、モスキートマクロブロック分類部１２３は、当該マクロブロックがモスキートノイズを含むマクロブロックであるクラスに分類されるとして、当該マクロブロックのアドレスを、モスキート用フィルタ係数算出部１３２に供給し、処理は、ステップＳ１０６に進む。
【０２８５】
ステップＳ１０６において、モスキート用フィルタ係数算出部１３２およびモスキート用フィルタリング部１３４は、モスキート用適応フィルタ処理を行う。なお、ステップＳ１０６の処理の詳細については、図２２を参照して後述されるステップＳ１０６の処理と基本的に同様の処理を行うため、その詳細な処理は省略する。
【０２８６】
この処理により、モスキートノイズが含まれるマクロブロックに対して最適なモスキート用フィルタ係数が算出される。そして、算出されたモスキート用フィルタ係数を用いて、モスキートノイズが含まれると考えられるマクロブロックに対してフィルタ処理が行われる。フィルタ処理後の画素値は、フレームメモリ２２に出力される。
【０２８７】
一方、ステップＳ１０５において、非０直交変換係数の個数Ｎが、閾値Θよりも小さいと判定された場合、モスキートマクロブロック分類部１２３は、当該マクロブロックがモスキートノイズをあまり含まないマクロブロックであるクラスに分類されるとして、当該マクロブロックのアドレスを、非モスキート用フィルタ係数算出部１３１に供給し、処理は、ステップＳ１０７に進む。
【０２８８】
ステップＳ１０７において、非モスキート用フィルタ係数算出部１３１および非モスキート用フィルタリング部１３３は、モスキート用適応フィルタ処理を行う。なお、ステップＳ１０７の処理の詳細については、図２２を参照して後述されるステップＳ１０６の処理と、処理対象のマクロブロックが異なるだけであり、基本的に同様の処理を行うため、その詳細な処理は省略する。
【０２８９】
この処理により、モスキートノイズがあまり含まれないマクロブロックに対して最適なモスキート用フィルタ係数が算出される。そして、算出されたモスキート用フィルタ係数を用いて、モスキートノイズがあまり含まれないと考えられるマクロブロックに対してフィルタ処理が行われる。フィルタ処理後の画素値は、フレームメモリ２２に出力される。
【０２９０】
次に、図２２のフローチャートを参照して、図２０のステップＳ８７のモスキート用適応フィルタ処理について説明する。
【０２９１】
画面並べ替えバッファ１２からの入力画素値が、モスキート用フィルタ係数算出部１３２に入力される。また、デブロックフィルタ２１からのデブロックフィルタ処理後画素値は、モスキート用フィルタ係数算出部１３２、およびモスキート用フィルタリング部１３４に入力される。
【０２９２】
図２０のステップＳ８６において、アクティビティＸが、閾値Θよりも大きいと判定された場合、モスキートマクロブロック分類部１２３は、当該マクロブロックがモスキートノイズを含むマクロブロックであるクラスに分類されるとして、当該マクロブロックのアドレスを、モスキート用フィルタ係数算出部１３２に供給してくる。
【０２９３】
ステップＳ１１１において、モスキート用フィルタ係数算出部１３２は、モスキート用フィルタ係数を算出する。すなわち、モスキート用フィルタ係数算出部１３２は、デブロックフィルタ２１からのデブロックフィルタ処理後画素値から、モスキートマクロブロック分類部１２３から供給されるアドレスが示すマクロブロックを求める。そして、モスキート用フィルタ係数算出部１３２は、求めたマクロブロックの画素値（すなわち、モスキートマクロブロック分類部１２３により分類されたモスキートノイズがあるクラスの画素値）に対するモスキート用フィルタ係数を、画面並べ替えバッファ１２からの原画像とデブロックフィルタ２１からの画像との残差を最小とするように算出する。
【０２９４】
モスキート用フィルタ係数算出部１３２は、算出したモスキート用フィルタ係数と、モスキートマクロブロック分類部１２３から供給されるマクロブロックアドレスを、モスキート用フィルタリング部１３４に供給する。
【０２９５】
ステップＳ１１２において、モスキート用フィルタリング部１３４は、モスキート用フィルタ係数を用いてフィルタ処理を行う。すなわち、モスキート用フィルタリング部１３４は、モスキート用フィルタ係数算出部１３２からのマクロブロックアドレスが示す、デブロックフィルタ２１からのデブロックフィルタ処理後画素値に対して、モスキート用フィルタ係数を用いてフィルタ処理を行う。
【０２９６】
ステップＳ１１３において、モスキート用フィルタリング部１３４は、フィルタ処理結果であるフィルタ処理後の画素値を、フレームメモリ２２に出力する。
【０２９７】
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
【０２９８】
［画像復号装置の構成例］
図２３は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
【０２９９】
図２３の画像復号装置２０１は、蓄積バッファ４１、演算部４５、デブロックフィルタ４６、画面並べ替えバッファ４７、D/A変換部４８、フレームメモリ４９、スイッチ５０、イントラ予測部５１、動き補償部５２、およびスイッチ５３を備える点で、図２の画像復号装置３１と共通している。
【０３００】
また、図２３の画像復号装置２０１は、可逆復号部４２、逆量子化部４３、および逆直交変換部４４と、可逆復号部２１１、逆量子化部２１２、および逆直交変換部２１３がそれぞれ入れ替わった点、並びに、クラス分類部２１４および適応ループフィルタ９２１５が追加された点で、図２の画像復号装置３１と異なっている。
【０３０１】
すなわち、可逆復号部２１１は、図２の可逆復号部４２と同様に、蓄積バッファ４１より供給された、図５の可逆符号化部１１３により符号化された情報を、可逆符号化部１１３の符号化方式に対応する方式で復号する。このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）、モスキート用および非モスキート用フィルタ係数なども復号されるが、図２の可逆復号部４２と異なり、各ブロックの発生符号量に関する情報を、クラス分類部２１４に供給する。
【０３０２】
逆量子化部２１２は、図２の逆量子化部４３と同様に、可逆復号部２１１により復号された画像を、図５の量子化部１１２の量子化方式に対応する方式で逆量子化する。また、逆量子化部２１２は、図２の逆量子化部４３と異なり、各マクロブロックに関する量子化値を、クラス分類部２１４に供給する。
【０３０３】
逆直交変換部２１３は、図２の逆直交変換部４４と同様に、図５の直交変換部１１１の直交変換方式に対応する方式で逆量子化部２１２の出力を逆直交変換する。また、直交変換部２１３は、図２の逆直交変換部４４と異なり、各マクロブロックに対して、４×４直交変換と、８×８直交変換とのいずれを適用したかに関する情報（すなわち、直交変換サイズ）を、クラス分類部２１４に供給する。
【０３０４】
クラス分類部２１４および適応ループフィルタ２１５は、デブロックフィルタ４６の後、フレームメモリ４９の前に設けられている。すなわち、クラス分類部２１４および適応ループフィルタ２１５は、演算部４５、デブロックフィルタ４６、フレームメモリ４９、スイッチ５０、動き補償部５２、およびスイッチ５３からなる動き補償ループ内に設けられている。すなわち、動き補償ループ内では、画像がループして用いられている。
【０３０５】
クラス分類部２１４は、可逆復号部２１１、逆量子化部２１２、および逆直交変換部２１３からの情報を用いて、図５のクラス分類部１１４と同様に、画像を、マクロブロック毎に、モスキートノイズが生じているか否かに応じたクラスに分類し、その分類結果を、適応ループフィルタ２１５に供給する。  
【０３０６】
適応ループフィルタ２１５には、図４の適応ループフィルタ９１と同様に、可逆復号部２１１から復号され、ヘッダから抽出されたフィルタ係数が供給される。適応ループフィルタ２１５は供給されたフィルタ係数を用いて、デブロックフィルタ４６からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ（Wiener Filter）が用いられる。
【０３０７】
ただし、適応ループフィルタ２１５は、クラス分類部１１４により画面全体が分類された結果である、モスキートノイズが生じていると考えられるマクロブロックのクラスと、そうではないマクロブロックのクラスのそれぞれに対して、対応するフィルタ係数を用いて、フィルタ処理を行う。
【０３０８】
［クラス分類部および適応ループフィルタの構成例］
図２４は、第１の方法を行うクラス分類部２１４および適応ループフィルタ２１５の構成例を示すブロック図である。
【０３０９】
図２４の例において、クラス分類部２１４は、図１５のクラス分類部１１４と同様に、閾値決定部１２１、Complexity算出部１２２、およびモスキートマクロブロック分類部１２３により構成されている。
【０３１０】
適応ループフィルタ２１５は、非モスキート用フィルタ係数バッファ２３１、モスキート用フィルタ係数バッファ２３２、非モスキート用フィルタリング部２３３、およびモスキート用フィルタリング部２３４により構成されている。
【０３１１】
逆直交変換部２１３から、当該マクロブロックの直交変換サイズに関する情報が、閾値決定部１２１に供給される。閾値決定部１２１は、当該マクロブロックの直交変換サイズに基づいて、モスキートノイズが生じているか否かに応じたクラス分類のための閾値Θ(T)を決定する。決定された閾値Θ(T)の情報は、モスキートマクロブロック分類部１２３に供給される。
【０３１２】
逆量子化部２１２から、当該マクロブロックに関する量子化値の情報が、Complexity算出部１２２に供給される。可逆復号部２１１から、当該マクロブロックの発生符号量（発生ビット）に関する情報が、Complexity算出部１２２に供給される。なお、可逆符号化方式としてCABAC方式が用いられる場合には、発生ビットに代えて、発生binが供給されるようにしてもよい。
【０３１３】
Complexity算出部１２２は、上述した式（９１）を用いて、当該マクロブロックに対するComplexity（式（９１）の場合、アクティビティ）を算出し、算出したComplexityの値を、モスキートマクロブロック分類部１２３に供給する。
【０３１４】
モスキートマクロブロック分類部１２３は、上述した式（９２）の閾値判定処理により、当該マクロブロックに対して、モスキートノイズを含む（と考えられる）マクロブロックであるクラスと、それ以外のマクロブロックのクラスに分類する。モスキートマクロブロック分類部１２３は、その分類結果として、モスキートノイズを含むマクロブロックであるクラスに分類されたマクロブロックのアドレスを、モスキート用フィルタ係数バッファ２３２に供給し、それ以外のマクロブロックのクラスに分類されたマクロブロックのアドレスを、非モスキート用フィルタ係数バッファ２３１に供給する。
【０３１５】
可逆復号部２１１から、フィルタ係数がスライス毎に、非モスキート用フィルタ係数バッファ２３１、およびモスキート用フィルタ係数バッファ２３２に入力される。デブロックフィルタ４６からのデブロックフィルタ処理後画素値は、非モスキート用フィルタ係数バッファ２３１、モスキート用フィルタ係数バッファ２３２、非モスキート用フィルタリング部２３３、およびモスキート用フィルタリング部２３４に入力される。
【０３１６】
非モスキート用フィルタ係数バッファ２３１およびモスキート用フィルタ係数バッファ２３２は、それぞれ、デブロックフィルタ４６からのデブロックフィルタ処理後画素値から、モスキートマクロブロック分類部１２３から供給されるアドレスが示すマクロブロックを求める。
【０３１７】
そして、非モスキート用フィルタ係数バッファ２３１は、求めたマクロブロックの画素値（すなわち、モスキートマクロブロック分類部１２３により分類されたクラスの画素値）に対する非モスキート用フィルタ係数を、対応するクラスのマクロブロックアドレスとともに、非モスキート用フィルタリング部２３３に供給する。
【０３１８】
また、モスキート用フィルタ係数バッファ２３２は、求めたマクロブロックの画素値（すなわち、モスキートマクロブロック分類部１２３により分類されたクラスの画素値）に対するモスキート用フィルタ係数を、対応するクラスのマクロブロックアドレスとともに、モスキート用フィルタリング部２３４に供給する。
【０３１９】
非モスキート用フィルタリング部２３３は、対応するクラス（モスキートノイズがあまりないクラス）のマクロブロックアドレスが示す、デブロックフィルタ４６からのデブロックフィルタ処理後画素値に対して、非モスキート用フィルタ係数を用いてフィルタ処理を行う。フィルタ処理後の画素値は、フレームメモリ４９に出力される。
【０３２０】
モスキート用フィルタリング部２３４は、対応するクラス（モスキートノイズがあるクラス）のマクロブロックアドレスが示す、デブロックフィルタ４６からのデブロックフィルタ処理後画素値に対して、モスキート用フィルタ係数を用いてフィルタ処理を行う。フィルタ処理後の画素値は、フレームメモリ４９に出力される。
【０３２１】
図２５は、第２の方法を行うクラス分類部２１４および適応ループフィルタ２１５の構成例を示すブロック図である。
【０３２２】
図２５の例において、クラス分類部２１４は、図１６のクラス分類部１１４と同様に、閾値決定部１４１、非０係数個数バッファ１４２、およびモスキートマクロブロック分類部１４３により構成されている。
【０３２３】
適応ループフィルタ２１５は、図２４の例と同様に、非モスキート用フィルタ係数バッファ２３１、モスキート用フィルタ係数バッファ２３２、非モスキート用フィルタリング部２３３、およびモスキート用フィルタリング部２３４により構成されている。
【０３２４】
逆直交変換部２１３からの当該マクロブロックの直交変換サイズに関する情報と、逆量子化部２１２からの当該マクロブロックに関する量子化値の情報が、閾値決定部１４１に供給される。閾値決定部１４１は、当該マクロブロックの直交変換サイズと量子化値に基づいて、モスキートノイズを除去するためのフィルタ処理のための閾値Θ(QP,T)を決定する。決定された閾値Θ(QP,T)の情報は、モスキートマクロブロック分類部１４３に供給される。
【０３２５】
逆量子化部２１２から、当該マクロブロックに関する量子化後の直交変換係数の個数（非０係数）の情報が、非０係数個数バッファ１４２に供給され、蓄積される。非０係数個数バッファ１４２に蓄積された非０係数個数の情報は、モスキートマクロブロック分類部１４３に供給される。
【０３２６】
モスキートマクロブロック分類部１４３は、閾値Θ(QP,T)の情報と非０係数個数の情報から、上述した式（９３）の閾値判定処理により、当該マクロブロックに対して、モスキートノイズを含む（と考えられる）マクロブロックであるクラスと、それ以外のマクロブロックのクラスに分類する。モスキートマクロブロック分類部１４３は、その分類結果として、モスキートノイズを含むマクロブロックであるクラスに分類されたマクロブロックのアドレスを、モスキート用フィルタ係数バッファ２３２に供給し、それ以外のマクロブロックのクラスに分類されたマクロブロックのアドレスを、非モスキート用フィルタ係数バッファ２３１に供給する。
【０３２７】
［画像復号装置の復号処理の説明］
次に、図２６のフローチャートを参照して、画像復号装置２０１が実行する復号処理について説明する。
【０３２８】
ステップＳ１３１において、蓄積バッファ４１は伝送されてきた画像を蓄積する。ステップＳ１３２において、可逆復号部２１１は、蓄積バッファ４１から供給される圧縮画像を復号する。すなわち、図５の可逆符号化部１１３により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０３２９】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モードを示す情報）、モスキート用および非モスキート用フィルタ係数なども復号される。
【０３３０】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部５１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き補償部５２に供給される。モスキート用および非モスキート用フィルタ係数は、スライス毎に復号され、適応ループフィルタ２１５に供給される。
【０３３１】
また、このとき、可逆復号部２１１は、各マクロブロックの発生符号量に関する情報を、クラス分類部２１４に供給する。この情報は、後述するステップＳ１３７の適応ループフィルタ処理に用いられる。
【０３３２】
ステップＳ１３３において、逆量子化部２１２は可逆復号部２１１により復号された変換係数を、図５の量子化部１１２の特性に対応する特性で逆量子化する。このとき、逆量子化部２１２は、マクロブロックに関する量子化値の情報をクラス分類部２１４に供給する。この情報は、後述するステップＳ１３７の適応ループフィルタ処理に用いられる。
【０３３３】
ステップＳ１３４において逆直交変換部２１３は、逆量子化部２１２により逆量子化された変換係数を、図５の直交変換部１１１の特性に対応する特性で逆直交変換する。これにより図５の直交変換部１１１の入力（演算部１３の出力）に対応する差分情報が復号されたことになる。なお、このとき、逆直交変換部２１３は、当該マクロブロックの直交変換サイズに関する情報をクラス分類部２１４に供給する。この情報は、後述するステップＳ１３７の適応ループフィルタ処理に用いられる。
【０３３４】
ステップＳ１３５において、演算部４５は、後述するステップＳ１４１の処理で選択され、スイッチ５３を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップＳ１３６においてデブロックフィルタ４６は、演算部４５より出力された画像に対して、デブロックフィルタ処理を行う。これによりブロック歪みが除去される。
【０３３５】
ステップＳ１３７において、クラス分類部２１４および適応ループフィルタ２１５は、上述したステップＳ１３２、ステップＳ１３３、およびステップＳ１３４の処理で供給される情報を用いて、デブロックフィルタ後の復号画像に対し、適応ループフィルタ処理を行う。
【０３３６】
この適応ループフィルタ処理の詳細については、図２０のステップＳ８７およびＳ８８並びに図２１のステップＳ１０６およびＳ１０７の処理以外は、図２０および図２１を参照して上述した画像符号化装置１０１の適応ループフィルタ処理と同様である。したがって、異なる図２０のステップＳ８７およびＳ８８並びに図２１のステップＳ１０６およびＳ１０７の処理のみについて、図２８を参照して後述し、その他の処理については、その説明を省略する。適応ループフィルタ２１５からの画像は、フレームメモリ４９および画面並べ替えバッファ４７に出力される。
【０３３７】
ステップＳ１３８においてフレームメモリ４９は、フィルタリングされた画像を記憶する。
【０３３８】
ステップＳ１３９において、イントラ予測部５１または動き補償部５２は、可逆復号部２１１から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
【０３３９】
すなわち、可逆復号部２１１からイントラ予測モード情報が供給された場合、イントラ予測部５１は、イントラ予測モードのイントラ予測処理を行い、イントラ予測画像を生成する。可逆復号部２１１からインター予測モード情報が供給された場合、動き補償部５２は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
【０３４０】
ステップＳ１３９における予測処理の詳細は、図２７を参照して後述するが、この処理により、イントラ予測部５１により生成された予測画像（イントラ予測画像）、または動き補償部５２により生成された予測画像（インター予測画像）がスイッチ５３に供給される。
【０３４１】
ステップＳ１４０において、スイッチ５３は予測画像を選択する。すなわち、イントラ予測部５１により生成された予測画像、または動き補償部５２により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部４５に供給され、上述したように、ステップＳ１３５において逆直交変換部４４の出力と加算される。
【０３４２】
ステップＳ１４１において、画面並べ替えバッファ４７は、適応ループフィルタ９１後の画像の並べ替えを行う。すなわち画像符号化装置１０１の画面並べ替えバッファ１２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０３４３】
ステップＳ１４２において、D/A変換部４８は、画面並べ替えバッファ４７からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０３４４】
［画像復号装置の予測画像生成処理の説明］
次に、図２７のフローチャートを参照して、図２６のステップＳ１３９の予測画像生成処理を説明する。
【０３４５】
イントラ予測部５１は、ステップＳ１７１において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部２１１からイントラ予測モード情報がイントラ予測部５１に供給されると、イントラ予測部５１は、ステップＳ１７１において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップＳ１７２に進む。
【０３４６】
イントラ予測部５１は、ステップＳ１７２において、イントラ予測モード情報を取得し、ステップＳ１７３において、イントラ予測を行い、イントラ予測画像を生成する。
【０３４７】
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ４９から読み出され、スイッチ５０を介してイントラ予測部５１に供給される。ステップＳ１７３において、イントラ予測部５１は、ステップＳ１７２で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ５３に出力される。
【０３４８】
一方、ステップＳ１７１において、イントラ符号化されていないと判定された場合、処理は、ステップＳ１７４に進む。
【０３４９】
処理対象の画像がインター処理される画像である場合、可逆復号部２１１からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き補償部５２に供給される。
【０３５０】
ステップＳ１７４において、動き補償部５２は、可逆復号部２１１からの予測モード情報などを取得する。すなわち、動き（インター）予測モード情報、参照フレーム情報、動きベクトル情報が取得される。
【０３５１】
ステップＳ１７５において、動き補償部５２は、動きベクトル情報を用いて、フレームメモリ４９からの参照画像に補償を行い、インター予測画像を生成する。生成された予測画像は、スイッチ５３を介して、演算部４５に供給され、図２３のステップＳ１３５において逆直交変換部２１３の出力と加算される。
【０３５２】
［画像復号装置の適応フィルタ処理の説明］
次に、図２８のフローチャートを参照して、図２６のステップＳ１３７の適応ループフィルタ処理の説明である図２０の適応ループフィルタ処理のうち、ステップＳ８７のモスキート用適応フィルタ処理について説明する。なお、この処理と、図２１のステップＳ１０６の処理は、基本的に同様の処理であり、図２０のステップＳ８８および図２１のステップＳ１０７の処理は、処理対象のマクロブロックが異なるだけであり、基本的に同様の処理であるので、その詳細な処理は省略する。
【０３５３】
非モスキート用フィルタ係数バッファ２３１およびモスキート用フィルタ係数バッファ２３２には、上述したステップＳ１３２において、スライス毎に可逆復号部２１１（つまり、画像符号化装置１０１）から非モスキート用およびモスキート用フィルタ係数がそれぞれ供給されるので、それらがそれぞれ蓄積されている。
【０３５４】
また、デブロックフィルタ４６からのデブロックフィルタ処理後画素値は、モスキート用フィルタ係数バッファ２３２、およびモスキート用フィルタリング部２３４に入力される。
【０３５５】
図２０のステップＳ８６において、アクティビティＸが、閾値Θよりも大きいと判定された場合、モスキートマクロブロック分類部１２３は、当該マクロブロックがモスキートノイズを含むマクロブロックであるクラスに分類されるとして、当該マクロブロックのアドレスを、モスキート用フィルタ係数バッファ２３２に供給してくる。
【０３５６】
ステップＳ１９１において、モスキート用フィルタ係数バッファ２３２は、当該マクロブロックのアドレスを参照して、蓄積しているフィルタ係数の中から、対応するフィルタ係数を取得し、取得したフィルタ係数（モスキート用フィルタ係数）と、当該マクロブロックのアドレスを、モスキート用フィルタリング部２３４に供給する。
【０３５７】
ステップＳ１９２において、モスキート用フィルタリング部２３４は、モスキート用フィルタ係数を用いてフィルタ処理を行う。すなわち、モスキート用フィルタリング部２３４は、モスキート用フィルタ係数バッファ２３２からのマクロブロックアドレスが示す、デブロックフィルタ４６からのデブロックフィルタ処理後画素値に対して、モスキート用フィルタ係数を用いてフィルタ処理を行う。
【０３５８】
ステップＳ１９３において、モスキート用フィルタリング部２３４は、フィルタ処理結果であるフィルタ処理後の画素値を、フレームメモリ４９に出力する。
【０３５９】
以上のように、画像符号化装置１０１および画像復号装置２０１においては、各マクロブロックに対する、直交変換係数、直交変換サイズ、量子化値、符号量などといった符号化情報を用いて、マクロブロックが、モスキートノイズが生じているか否かに応じたクラスに分類され、クラス毎に、適応ループフィルタ処理が行われる。
【０３６０】
ここで、モスキートノイズは、ブロックノイズと同様の局所的ノイズであるが、ブロックノイズと異なり、デブロックフィルタ２１では除去が困難である。
【０３６１】
したがって、マクロブロックを、モスキートノイズが生じているか否かに応じたクラスに分類し、クラス毎に、適応ループフィルタ処理を行うようにしたので、モスキートノイズが除去され、復号画像の画質が向上する。さらに、このモスキートノイズの除去が、動き補償ループ内の適応ループフィルタで行われるので、動き補償において、これから参照される画像の画質も向上する。この結果、符号化効率が改善される。
【０３６２】
また、モスキートノイズが生じているか否かのクラス分類に、復号側に送るために元々算出される符号化情報が用いられるので、新たな情報を算出したり、送信したりする必要がない。
【０３６３】
なお、上記説明においては、直交変換サイズが、４×４画素と８×８画素の例を説明したが、直交変換サイズは、それらのサイズに限定されない。さらに大きな直交変換サイズにも、本発明は適用される。
【０３６４】
以上においては、符号化方式としてH．264/AVC方式をベースに用いるようにしたが、本発明はこれに限らず、直交変換と動き補償に基づく、その他の符号化方式／復号方式を適用することができる。
【０３６５】
なお、本発明は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０３６６】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０３６７】
［パーソナルコンピュータの構成例］
図２９は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０３６８】
コンピュータにおいて、CPU(Central Processing Unit)２５１、ROM(Read Only Memory)２５２、RAM(Random Access Memory)２５３は、バス２５４により相互に接続されている。
【０３６９】
バス２５４には、さらに、入出力インタフェース２５５が接続されている。入出力インタフェース２５５には、入力部２５６、出力部２５７、記憶部２５８、通信部２５９、およびドライブ２６０が接続されている。
【０３７０】
入力部２５６は、キーボード、マウス、マイクロホンなどよりなる。出力部２５７は、ディスプレイ、スピーカなどよりなる。記憶部２５８は、ハードディスクや不揮発性のメモリなどよりなる。通信部２５９は、ネットワークインタフェースなどよりなる。ドライブ２６０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア２６１を駆動する。
【０３７１】
以上のように構成されるコンピュータでは、CPU２５１が、例えば、記憶部２５８に記憶されているプログラムを入出力インタフェース２５５及びバス２５４を介してRAM２５３にロードして実行することにより、上述した一連の処理が行われる。
【０３７２】
コンピュータ（CPU２５１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア２６１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３７３】
コンピュータでは、プログラムは、リムーバブルメディア２６１をドライブ２６０に装着することにより、入出力インタフェース２５５を介して、記憶部２５８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部２５９で受信し、記憶部２５８にインストールすることができる。その他、プログラムは、ROM２５２や記憶部２５８に、あらかじめインストールしておくことができる。
【０３７４】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３７５】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０３７６】
例えば、上述した画像符号化装置１０１や画像復号装置２０１は、任意の電子機器に適用することができる。以下にその例について説明する。
【０３７７】
［テレビジョン受像機の構成例］
図３０は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
【０３７８】
図３０に示されるテレビジョン受像機３００は、地上波チューナ３１３、ビデオデコーダ３１５、映像信号処理回路３１８、グラフィック生成回路３１９、パネル駆動回路３２０、および表示パネル３２１を有する。
【０３７９】
地上波チューナ３１３は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ３１５に供給する。ビデオデコーダ３１５は、地上波チューナ３１３から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路３１８に供給する。
【０３８０】
映像信号処理回路３１８は、ビデオデコーダ３１５から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路３１９に供給する。
【０３８１】
グラフィック生成回路３１９は、表示パネル３２１に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路３２０に供給する。また、グラフィック生成回路３１９は、項目の選択などにユーザにより利用される画面を表示するための映像データ（グラフィック）を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路３２０に供給するといった処理も適宜行う。
【０３８２】
パネル駆動回路３２０は、グラフィック生成回路３１９から供給されたデータに基づいて表示パネル３２１を駆動し、番組の映像や上述した各種の画面を表示パネル３２１に表示させる。
【０３８３】
表示パネル３２１はLCD（Liquid Crystal Display）などよりなり、パネル駆動回路３２０による制御に従って番組の映像などを表示させる。
【０３８４】
また、テレビジョン受像機３００は、音声A/D（Analog/Digital)変換回路３１４、音声信号処理回路３２２、エコーキャンセル／音声合成回路３２３、音声増幅回路３２４、およびスピーカ３２５も有する。
【０３８５】
地上波チューナ３１３は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ３１３は、取得した音声信号を音声A/D変換回路３１４に供給する。
【０３８６】
音声A/D変換回路３１４は、地上波チューナ３１３から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路３２２に供給する。
【０３８７】
音声信号処理回路３２２は、音声A/D変換回路３１４から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル／音声合成回路３２３に供給する。
【０３８８】
エコーキャンセル／音声合成回路３２３は、音声信号処理回路３２２から供給された音声データを音声増幅回路３２４に供給する。
【０３８９】
音声増幅回路３２４は、エコーキャンセル／音声合成回路３２３から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ３２５から出力させる。
【０３９０】
さらに、テレビジョン受像機３００は、デジタルチューナ３１６およびMPEGデコーダ３１７も有する。
【０３９１】
デジタルチューナ３１６は、デジタル放送（地上デジタル放送、BS（Broadcasting Satellite）／CS（Communications Satellite）デジタル放送）の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS（Moving Picture Experts Group-Transport Stream）を取得し、それをMPEGデコーダ３１７に供給する。
【０３９２】
MPEGデコーダ３１７は、デジタルチューナ３１６から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象（視聴対象）になっている番組のデータを含むストリームを抽出する。MPEGデコーダ３１７は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路３２２に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路３１８に供給する。また、MPEGデコーダ３１７は、MPEG-TSから抽出したEPG（Electronic Program Guide)データを図示せぬ経路を介してCPU３３２に供給する。
【０３９３】
テレビジョン受像機３００は、このように映像パケットをデコードするMPEGデコーダ３１７として、上述した画像復号装置２０１を用いる。したがって、MPEGデコーダ３１７は、画像復号装置２０１の場合と同様に、モスキートノイズを除去することで、復号画像の画質を向上させ、さらに、動き補償において、これから参照される画像の画質も向上させることができる。この結果、符号化効率が改善される。
【０３９４】
MPEGデコーダ３１７から供給された映像データは、ビデオデコーダ３１５から供給された映像データの場合と同様に、映像信号処理回路３１８において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路３１９において、生成された映像データ等が適宜重畳され、パネル駆動回路３２０を介して表示パネル３２１に供給され、その画像が表示される。
【０３９５】
MPEGデコーダ３１７から供給された音声データは、音声A/D変換回路３１４から供給された音声データの場合と同様に、音声信号処理回路３２２において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル／音声合成回路３２３を介して音声増幅回路３２４に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ３２５から出力される。
【０３９６】
また、テレビジョン受像機３００は、マイクロホン３２６、およびA/D変換回路３２７も有する。
【０３９７】
A/D変換回路３２７は、音声会話用のものとしてテレビジョン受像機３００に設けられるマイクロホン３２６により取り込まれたユーザの音声の信号を受信する。A/D変換回路３２７は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル／音声合成回路３２３に供給する。
【０３９８】
エコーキャンセル／音声合成回路３２３は、テレビジョン受像機３００のユーザ（ユーザＡ）の音声のデータがA/D変換回路３２７から供給されている場合、ユーザＡの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル／音声合成回路３２３は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路３２４を介してスピーカ３２５より出力させる。
【０３９９】
さらに、テレビジョン受像機３００は、音声コーデック３２８、内部バス３２９、SDRAM（Synchronous Dynamic Random Access Memory)３３０、フラッシュメモリ３３１、CPU３３２、USB（Universal Serial Bus) I/F３３３、およびネットワークI/F３３４も有する。
【０４００】
A/D変換回路３２７は、音声会話用のものとしてテレビジョン受像機３００に設けられるマイクロホン３２６により取り込まれたユーザの音声の信号を受信する。A/D変換回路３２７は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック３２８に供給する。
【０４０１】
音声コーデック３２８は、A/D変換回路３２７から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス３２９を介してネットワークI/F３３４に供給する。
【０４０２】
ネットワークI/F３３４は、ネットワーク端子３３５に装着されたケーブルを介してネットワークに接続される。ネットワークI/F３３４は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック３２８から供給された音声データを送信する。また、ネットワークI/F３３４は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子３３５を介して受信し、それを、内部バス３２９を介して音声コーデック３２８に供給する。
【０４０３】
音声コーデック３２８は、ネットワークI/F３３４から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル／音声合成回路３２３に供給する。
【０４０４】
エコーキャンセル／音声合成回路３２３は、音声コーデック３２８から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路３２４を介してスピーカ３２５より出力させる。
【０４０５】
SDRAM３３０は、CPU３３２が処理を行う上で必要な各種のデータを記憶する。
【０４０６】
フラッシュメモリ３３１は、CPU３３２により実行されるプログラムを記憶する。フラッシュメモリ３３１に記憶されているプログラムは、テレビジョン受像機３００の起動時などの所定のタイミングでCPU３３２により読み出される。フラッシュメモリ３３１には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
【０４０７】
例えば、フラッシュメモリ３３１には、CPU３３２の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ３３１は、例えばCPU３３２の制御により、そのMPEG-TSを、内部バス３２９を介してMPEGデコーダ３１７に供給する。
【０４０８】
MPEGデコーダ３１７は、デジタルチューナ３１６から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機３００は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ３１７を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
【０４０９】
また、テレビジョン受像機３００は、リモートコントローラ３５１から送信される赤外線信号を受光する受光部３３７も有する。
【０４１０】
受光部３３７は、リモートコントローラ３５１からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU３３２に出力する。
【０４１１】
CPU３３２は、フラッシュメモリ３３１に記憶されているプログラムを実行し、受光部３３７から供給される制御コードなどに応じてテレビジョン受像機３００の全体の動作を制御する。CPU３３２とテレビジョン受像機３００の各部は、図示せぬ経路を介して接続されている。
【０４１２】
USB I/F３３３は、USB端子３３６に装着されたUSBケーブルを介して接続される、テレビジョン受像機３００の外部の機器との間でデータの送受信を行う。ネットワークI/F３３４は、ネットワーク端子３３５に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
【０４１３】
テレビジョン受像機３００は、MPEGデコーダ３１７として画像復号装置２０１を用いることにより、符号化効率を向上することができる。その結果として、テレビジョン受像機３００は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
【０４１４】
［携帯電話機の構成例］
図３１は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
【０４１５】
図３１に示される携帯電話機４００は、各部を統括的に制御するようになされた主制御部４５０、電源回路部４５１、操作入力制御部４５２、画像エンコーダ４５３、カメラI/F部４５４、LCD制御部４５５、画像デコーダ４５６、多重分離部４５７、記録再生部４６２、変復調回路部４５８、および音声コーデック４５９を有する。これらは、バス４６０を介して互いに接続されている。
【０４１６】
また、携帯電話機４００は、操作キー４１９、CCD（Charge Coupled Devices）カメラ４１６、液晶ディスプレイ４１８、記憶部４２３、送受信回路部４６３、アンテナ４１４、マイクロホン（マイク）４２１、およびスピーカ４１７を有する。
【０４１７】
電源回路部４５１は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機４００を動作可能な状態に起動する。
【０４１８】
携帯電話機４００は、CPU、ROMおよびRAM等でなる主制御部４５０の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０４１９】
例えば、音声通話モードにおいて、携帯電話機４００は、マイクロホン（マイク）４２１で集音した音声信号を、音声コーデック４５９によってデジタル音声データに変換し、これを変復調回路部４５８でスペクトラム拡散処理し、送受信回路部４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機４００は、その変換処理により得られた送信用信号を、アンテナ４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（音声信号）は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
【０４２０】
また、例えば、音声通話モードにおいて、携帯電話機４００は、アンテナ４１４で受信した受信信号を送受信回路部４６３で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部４５８でスペクトラム逆拡散処理し、音声コーデック４５９によってアナログ音声信号に変換する。携帯電話機４００は、その変換して得られたアナログ音声信号をスピーカ４１７から出力する。
【０４２１】
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機４００は、操作キー４１９の操作によって入力された電子メールのテキストデータを、操作入力制御部４５２において受け付ける。携帯電話機４００は、そのテキストデータを主制御部４５０において処理し、LCD制御部４５５を介して、画像として液晶ディスプレイ４１８に表示させる。
【０４２２】
また、携帯電話機４００は、主制御部４５０において、操作入力制御部４５２が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機４００は、その電子メールデータを、変復調回路部４５８でスペクトラム拡散処理し、送受信回路部４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機４００は、その変換処理により得られた送信用信号を、アンテナ４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（電子メール）は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
【０４２３】
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機４００は、基地局から送信された信号を、アンテナ４１４を介して送受信回路部４６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機４００は、その受信信号を変復調回路部４５８でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機４００は、復元された電子メールデータを、LCD制御部４５５を介して液晶ディスプレイ４１８に表示する。
【０４２４】
なお、携帯電話機４００は、受信した電子メールデータを、記録再生部４６２を介して、記憶部４２３に記録する（記憶させる）ことも可能である。
【０４２５】
この記憶部４２３は、書き換え可能な任意の記憶媒体である。記憶部４２３は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
【０４２６】
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機４００は、撮像によりCCDカメラ４１６で画像データを生成する。CCDカメラ４１６は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部４５４を介して、画像エンコーダ４５３で、例えばMPEG２やMPEG４等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
【０４２７】
携帯電話機４００は、このような処理を行う画像エンコーダ４５３として、上述した画像符号化装置１０１を用いる。したがって、画像エンコーダ４５３は、画像符号化装置１０１の場合と同様に、モスキートノイズを除去することで、復号画像の画質を向上させ、さらに、動き補償において、これから参照される画像の画質も向上させることができる。この結果、符号化効率が改善される。
【０４２８】
なお、携帯電話機４００は、このとき同時に、CCDカメラ４１６で撮像中にマイクロホン（マイク）４２１で集音した音声を、音声コーデック４５９においてアナログデジタル変換し、さらに符号化する。
【０４２９】
携帯電話機４００は、多重分離部４５７において、画像エンコーダ４５３から供給された符号化画像データと、音声コーデック４５９から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機４００は、その結果得られる多重化データを、変復調回路部４５８でスペクトラム拡散処理し、送受信回路部４６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機４００は、その変換処理により得られた送信用信号を、アンテナ４１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（画像データ）は、ネットワーク等を介して、通信相手に供給される。
【０４３０】
なお、画像データを送信しない場合、携帯電話機４００は、CCDカメラ４１６で生成した画像データを、画像エンコーダ４５３を介さずに、LCD制御部４５５を介して液晶ディスプレイ４１８に表示させることもできる。
【０４３１】
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機４００は、基地局から送信された信号を、アンテナ４１４を介して送受信回路部４６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機４００は、その受信信号を変復調回路部４５８でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機４００は、多重分離部４５７において、その多重化データを分離して、符号化画像データと音声データとに分ける。
【０４３２】
携帯電話機４００は、画像デコーダ４５６において、符号化画像データを、MPEG２やMPEG４等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部４５５を介して液晶ディスプレイ４１８に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ４１８に表示される。
【０４３３】
携帯電話機４００は、このような処理を行う画像デコーダ４５６として、上述した画像復号装置２０１を用いる。したがって、画像デコーダ４５６は、画像復号装置２０１の場合と同様に、モスキートノイズを除去することで、復号画像の画質を向上させ、さらに、動き補償において、これから参照される画像の画質も向上させることができる。この結果、符号化効率が改善される。
【０４３４】
このとき、携帯電話機４００は、同時に、音声コーデック４５９において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ４１７より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
【０４３５】
なお、電子メールの場合と同様に、携帯電話機４００は、受信した簡易ホームページ等にリンクされたデータを、記録再生部４６２を介して、記憶部４２３に記録する（記憶させる）ことも可能である。
【０４３６】
また、携帯電話機４００は、主制御部４５０において、撮像されてCCDカメラ４１６で得られた２次元コードを解析し、２次元コードに記録された情報を取得することができる。
【０４３７】
さらに、携帯電話機４００は、赤外線通信部４８１で赤外線により外部の機器と通信することができる。
【０４３８】
携帯電話機４００は、画像エンコーダ４５３として画像符号化装置１０１を用いることにより、符号化効率を向上させることができる。結果として、携帯電話機４００は、符号化効率のよい符号化データ（画像データ）を、他の装置に提供することができる。
【０４３９】
また、携帯電話機４００は、画像デコーダ４５６として画像復号装置２０１を用いることにより、符号化効率を向上させることができる。その結果として、携帯電話機４００は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
【０４４０】
なお、以上において、携帯電話機４００が、CCDカメラ４１６を用いるように説明したが、このCCDカメラ４１６の代わりに、CMOS（Complementary Metal Oxide Semiconductor）を用いたイメージセンサ（CMOSイメージセンサ）を用いるようにしてもよい。この場合も、携帯電話機４００は、CCDカメラ４１６を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
【０４４１】
また、以上においては携帯電話機４００として説明したが、例えば、PDA（Personal Digital Assistants）、スマートフォン、UMPC（Ultra Mobile Personal Computer）、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機４００と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機４００の場合と同様に、画像符号化装置１０１および画像復号装置２０１を適用することができる。
【０４４２】
［ハードディスクレコーダの構成例］
図３２は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
【０４４３】
図３２に示されるハードディスクレコーダ（HDDレコーダ）５００は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号（テレビジョン信号）に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
【０４４４】
ハードディスクレコーダ５００は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ５００は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
【０４４５】
さらに、ハードディスクレコーダ５００は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ５６０に供給し、モニタ５６０の画面にその画像を表示させる。また、ハードディスクレコーダ５００は、モニタ５６０のスピーカよりその音声を出力させることができる。
【０４４６】
ハードディスクレコーダ５００は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ５６０に供給し、モニタ５６０の画面にその画像を表示させる。また、ハードディスクレコーダ５００は、モニタ５６０のスピーカよりその音声を出力させることもできる。
【０４４７】
もちろん、この他の動作も可能である。
【０４４８】
図３２に示されるように、ハードディスクレコーダ５００は、受信部５２１、復調部５２２、デマルチプレクサ５２３、オーディオデコーダ５２４、ビデオデコーダ５２５、およびレコーダ制御部５２６を有する。ハードディスクレコーダ５００は、さらに、EPGデータメモリ５２７、プログラムメモリ５２８、ワークメモリ５２９、ディスプレイコンバータ５３０、OSD（On Screen Display）制御部５３１、ディスプレイ制御部５３２、記録再生部５３３、D/Aコンバータ５３４、および通信部５３５を有する。
【０４４９】
また、ディスプレイコンバータ５３０は、ビデオエンコーダ５４１を有する。記録再生部５３３は、エンコーダ５５１およびデコーダ５５２を有する。
【０４５０】
受信部５２１は、リモートコントローラ（図示せず）からの赤外線信号を受信し、電気信号に変換してレコーダ制御部５２６に出力する。レコーダ制御部５２６は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ５２８に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部５２６は、このとき、ワークメモリ５２９を必要に応じて使用する。
【０４５１】
通信部５３５は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部５３５は、レコーダ制御部５２６により制御され、チューナ（図示せず）と通信し、主にチューナに対して選局制御信号を出力する。
【０４５２】
復調部５２２は、チューナより供給された信号を、復調し、デマルチプレクサ５２３に出力する。デマルチプレクサ５２３は、復調部５２２より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ５２４、ビデオデコーダ５２５、またはレコーダ制御部５２６に出力する。
【０４５３】
オーディオデコーダ５２４は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部５３３に出力する。ビデオデコーダ５２５は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ５３０に出力する。レコーダ制御部５２６は、入力されたEPGデータをEPGデータメモリ５２７に供給し、記憶させる。
【０４５４】
ディスプレイコンバータ５３０は、ビデオデコーダ５２５またはレコーダ制御部５２６より供給されたビデオデータを、ビデオエンコーダ５４１により、例えばNTSC（National Television Standards Committee）方式のビデオデータにエンコードし、記録再生部５３３に出力する。また、ディスプレイコンバータ５３０は、ビデオデコーダ５２５またはレコーダ制御部５２６より供給されるビデオデータの画面のサイズを、モニタ５６０のサイズに対応するサイズに変換する。ディスプレイコンバータ５３０は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ５４１によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部５３２に出力する。
【０４５５】
ディスプレイ制御部５３２は、レコーダ制御部５２６の制御のもと、OSD（On Screen Display）制御部５３１が出力したOSD信号を、ディスプレイコンバータ５３０より入力されたビデオ信号に重畳し、モニタ５６０のディスプレイに出力し、表示させる。
【０４５６】
モニタ５６０にはまた、オーディオデコーダ５２４が出力したオーディオデータが、D/Aコンバータ５３４によりアナログ信号に変換されて供給されている。モニタ５６０は、このオーディオ信号を内蔵するスピーカから出力する。
【０４５７】
記録再生部５３３は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
【０４５８】
記録再生部５３３は、例えば、オーディオデコーダ５２４より供給されるオーディオデータを、エンコーダ５５１によりMPEG方式でエンコードする。また、記録再生部５３３は、ディスプレイコンバータ５３０のビデオエンコーダ５４１より供給されるビデオデータを、エンコーダ５５１によりMPEG方式でエンコードする。記録再生部５３３は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部５３３は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
【０４５９】
記録再生部５３３は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部５３３は、デコーダ５５２によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部５３３は、復号したオーディオデータをD/A変換し、モニタ５６０のスピーカに出力する。また、記録再生部５３３は、復号したビデオデータをD/A変換し、モニタ５６０のディスプレイに出力する。
【０４６０】
レコーダ制御部５２６は、受信部５２１を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ５２７から最新のEPGデータを読み出し、それをOSD制御部５３１に供給する。OSD制御部５３１は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部５３２に出力する。ディスプレイ制御部５３２は、OSD制御部５３１より入力されたビデオデータをモニタ５６０のディスプレイに出力し、表示させる。これにより、モニタ５６０のディスプレイには、EPG（電子番組ガイド）が表示される。
【０４６１】
また、ハードディスクレコーダ５００は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
【０４６２】
通信部５３５は、レコーダ制御部５２６に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部５２６に供給する。レコーダ制御部５２６は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部５３３に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部５２６および記録再生部５３３が、必要に応じて再エンコード等の処理を行うようにしてもよい。
【０４６３】
また、レコーダ制御部５２６は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ５３０に供給する。ディスプレイコンバータ５３０は、ビデオデコーダ５２５から供給されるビデオデータと同様に、レコーダ制御部５２６から供給されるビデオデータを処理し、ディスプレイ制御部５３２を介してモニタ５６０に供給し、その画像を表示させる。
【０４６４】
また、この画像表示に合わせて、レコーダ制御部５２６が、復号したオーディオデータを、D/Aコンバータ５３４を介してモニタ５６０に供給し、その音声をスピーカから出力させるようにしてもよい。
【０４６５】
さらに、レコーダ制御部５２６は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ５２７に供給する。
【０４６６】
以上のようなハードディスクレコーダ５００は、ビデオデコーダ５２５、デコーダ５５２、およびレコーダ制御部５２６に内蔵されるデコーダとして画像復号装置２０１を用いる。したがって、ビデオデコーダ５２５、デコーダ５５２、およびレコーダ制御部５２６に内蔵されるデコーダは、画像復号装置２０１の場合と同様に、モスキートノイズを除去することで、復号画像の画質を向上させ、さらに、動き補償において、これから参照される画像の画質も向上させることができる。この結果、符号化効率が改善される。
【０４６７】
したがって、ハードディスクレコーダ５００は、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ５００は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部５３３のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ５６０に表示させることができる。
【０４６８】
また、ハードディスクレコーダ５００は、エンコーダ５５１として画像符号化装置１０１を用いる。したがって、エンコーダ５５１は、画像符号化装置１０１の場合と同様に、モスキートノイズを除去することで、復号画像の画質を向上させ、さらに、動き補償において、これから参照される画像の画質も向上させることができる。この結果、符号化効率が改善される。
【０４６９】
したがって、ハードディスクレコーダ５００は、例えば、処理の高速化を実現するとともに、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ５００は、ハードディスクの記憶領域をより効率よく使用することができる。
【０４７０】
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ５００について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ５００の場合と同様に、画像符号化装置１０１および画像復号装置２０１を適用することができる。
【０４７１】
［カメラの構成例］
図３３は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
【０４７２】
図３３に示されるカメラ６００は、被写体を撮像し、被写体の画像をLCD６１６に表示させたり、それを画像データとして、記録メディア６３３に記録したりする。
【０４７３】
レンズブロック６１１は、光（すなわち、被写体の映像）を、CCD/CMOS６１２に入射させる。CCD/CMOS６１２は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部６１３に供給する。
【０４７４】
カメラ信号処理部６１３は、CCD/CMOS６１２から供給された電気信号を、Ｙ，Ｃｒ，Ｃｂの色差信号に変換し、画像信号処理部６１４に供給する。画像信号処理部６１４は、コントローラ６２１の制御の下、カメラ信号処理部６１３から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ６４１で例えばMPEG方式により符号化したりする。画像信号処理部６１４は、画像信号を符号化して生成した符号化データを、デコーダ６１５に供給する。さらに、画像信号処理部６１４は、オンスクリーンディスプレイ（OSD）６２０において生成された表示用データを取得し、それをデコーダ６１５に供給する。
【０４７５】
以上の処理において、カメラ信号処理部６１３は、バス６１７を介して接続されるDRAM（Dynamic Random Access Memory）６１８を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM６１８に保持させる。
【０４７６】
デコーダ６１５は、画像信号処理部６１４から供給された符号化データを復号し、得られた画像データ（復号画像データ）をLCD６１６に供給する。また、デコーダ６１５は、画像信号処理部６１４から供給された表示用データをLCD６１６に供給する。LCD６１６は、デコーダ６１５から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
【０４７７】
オンスクリーンディスプレイ６２０は、コントローラ６２１の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス６１７を介して画像信号処理部６１４に出力する。
【０４７８】
コントローラ６２１は、ユーザが操作部６２２を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス６１７を介して、画像信号処理部６１４、DRAM６１８、外部インタフェース６１９、オンスクリーンディスプレイ６２０、およびメディアドライブ６２３等を制御する。FLASH ROM６２４には、コントローラ６２１が各種処理を実行する上で必要なプログラムやデータ等が格納される。
【０４７９】
例えば、コントローラ６２１は、画像信号処理部６１４やデコーダ６１５に代わって、DRAM６１８に記憶されている画像データを符号化したり、DRAM６１８に記憶されている符号化データを復号したりすることができる。このとき、コントローラ６２１は、画像信号処理部６１４やデコーダ６１５の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部６１４やデコーダ６１５が対応していない方式により符号化・復号処理を行うようにしてもよい。
【０４８０】
また、例えば、操作部６２２から画像印刷の開始が指示された場合、コントローラ６２１は、DRAM６１８から画像データを読み出し、それを、バス６１７を介して外部インタフェース６１９に接続されるプリンタ６３４に供給して印刷させる。
【０４８１】
さらに、例えば、操作部６２２から画像記録が指示された場合、コントローラ６２１は、DRAM６１８から符号化データを読み出し、それを、バス６１７を介してメディアドライブ６２３に装着される記録メディア６３３に供給して記憶させる。
【０４８２】
記録メディア６３３は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア６３３は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
【０４８３】
また、メディアドライブ６２３と記録メディア６３３を一体化し、例えば、内蔵型ハードディスクドライブやSSD（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０４８４】
外部インタフェース６１９は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ６３４と接続される。また、外部インタフェース６１９には、必要に応じてドライブ６３１が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア６３２が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM６２４にインストールされる。
【０４８５】
さらに、外部インタフェース６１９は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ６２１は、例えば、操作部６２２からの指示に従って、DRAM６１８から符号化データを読み出し、それを外部インタフェース６１９から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ６２１は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース６１９を介して取得し、それをDRAM６１８に保持させたり、画像信号処理部６１４に供給したりすることができる。
【０４８６】
以上のようなカメラ６００は、デコーダ６１５として画像復号装置２０１を用いる。したがって、デコーダ６１５は、画像復号装置２０１の場合と同様に、モスキートノイズを除去することで、復号画像の画質を向上させ、さらに、動き補償において、これから参照される画像の画質も向上させることができる。この結果、符号化効率が改善される。
【０４８７】
したがって、カメラ６００は、精度の高い予測画像を生成することができる。その結果として、カメラ６００は、例えば、CCD/CMOS６１２において生成された画像データや、DRAM６１８または記録メディア６３３から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高速に、より高精細な復号画像を得て、LCD６１６に表示させることができる。
【０４８８】
また、カメラ６００は、エンコーダ６４１として画像符号化装置１０１を用いる。したがって、エンコーダ６４１は、画像符号化装置１０１の場合と同様に、モスキートノイズを除去することで、復号画像の画質を向上させ、さらに、動き補償において、これから参照される画像の画質も向上させることができる。この結果、符号化効率が改善される。
【０４８９】
したがって、カメラ６００は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ６００は、より高速に、DRAM６１８や記録メディア６３３の記憶領域をより効率よく使用することができる。
【０４９０】
なお、コントローラ６２１が行う復号処理に画像復号装置２０１の復号方法を適用するようにしてもよい。同様に、コントローラ６２１が行う符号化処理に画像符号化装置１０１の符号化方法を適用するようにしてもよい。
【０４９１】
また、カメラ６００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０４９２】
もちろん、画像符号化装置１０１および画像復号装置２０１は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０４９３】
１０１  画像符号化装置，  １１１  直交変換部，  １１２  量子化部，  １１３  可逆符号化部，  １１４  クラス分類部，  １１５  適応ループフィルタ，  １２１  閾値決定部，  １２２  Complexity算出部，  １２３  モスキートマクロブロック分類部，  １３１  非モスキート用フィルタ係数算出部，  １３２  モスキート用フィルタ係数算出部，  １３３  非モスキート用フィルタリング部，  １３４  モスキート用フィルタリング部，  １４１  閾値決定部，  １４２  非０係数個数バッファ，  １４３  モスキートマクロブロック分類部，  ２０１  画像復号装置，  ２１１  可逆復号部，  ２１２  逆量子化部，  ２１３  逆直交変換部，  ２１４  クラス分類部，  ２１５  適応ループフィルタ，  ２３１  非モスキート用フィルタ係数バッファ，  ２３２  モスキート用フィルタ係数バッファ，  ２３３  非モスキート用フィルタリング部，  ２３４  モスキート用フィルタリング部
【図１】
0005556996.tif 000010
【図２】
0005556996.tif 000011
【図３】
0005556996.tif 000012
【図４】
0005556996.tif 000013
【図５】
0005556996.tif 000014
【図６】
0005556996.tif 000015
【図７】
0005556996.tif 000016
【図８】
0005556996.tif 000017
【図９】
0005556996.tif 000018
【図１０】
0005556996.tif 000019
【図１１】
0005556996.tif 000020
【図１２】
0005556996.tif 000021
【図１３】
0005556996.tif 000022
【図１４】
0005556996.tif 000023
【図１５】
0005556996.tif 000024
【図１６】
0005556996.tif 000025
【図１７】
0005556996.tif 000026
【図１８】
0005556996.tif 000027
【図１９】
0005556996.tif 000028
【図２０】
0005556996.tif 000029
【図２１】
0005556996.tif 000030
【図２２】
0005556996.tif 000031
【図２３】
0005556996.tif 000032
【図２４】
0005556996.tif 000033
【図２５】
0005556996.tif 000034
【図２６】
0005556996.tif 000035
【図２７】
0005556996.tif 000036
【図２８】
0005556996.tif 000037
【図２９】
0005556996.tif 000038
【図３０】
0005556996.tif 000039
【図３１】
0005556996.tif 000040
【図３２】
0005556996.tif 000041
【図３３】
0005556996.tif 000042