(57)【要約】【課題】簡単な処理構造で、ラインメモリの削減を図ることができるようにする。【解決手段】LCU境界において、デブロッキングＨフィルタ部、デブロッキングＶフィルタ部、適応オフセットフィルタ部、および適応ループフィルタ部は、ラインメモリを共有し、ラインメモリに保持されたリコンストラクト画素に対して、並列に各フィルタ処理を行う。演算部は、各フィルタ処理後の画素に対して加算などの演算行い、演算結果を後段に出力する。本開示は、例えば、画像処理装置に適用することができる。【選択図】図７
2013074416.tif 000002
【特許請求の範囲】
【請求項１】
符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、
前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部と
を備える画像処理装置。
【請求項２】
前記第１のフィルタ処理と前記第２のフィルタ処理とを並列的に行うように、前記第１のフィルタと前記第２のフィルタとを制御する制御部を
さらに備える請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、前記第１のフィルタと前記第２のフィルタとの出力位相とを合わせるように制御する
請求項２に記載の画像処理装置。
【請求項４】
前記復号部により生成された画像のリコンストラクト画像を保持するメモリを
さらに備える請求項３に記載の画像処理装置。
【請求項５】
前記第１のフィルタは、ブロック境界のノイズを除去するフィルタである
請求項３に記載の画像処理装置。
【請求項６】
前記第１のフィルタは、デブロッキングフィルタである
請求項５に記載の画像処理装置。
【請求項７】
前記デブロックフィルタは、垂直境界の左右の画素にかけるフィルタ、および水平境界の上下の画素にかけるフィルタを含む
請求項６に記載の画像処理装置。
【請求項８】
前記制御部は、前記垂直境界の左右の画素にかけるフィルタの処理と前記水平境界の上下の画素にかけるフィルタの処理とを並列的に行うように制御する
請求項７に記載の画像処理装置。
【請求項９】
前記第２のフィルタは、リンギングを除去する第３のフィルタ、またはブロックベースでクラス分類を行う第４のフィルタを含む
請求項５に記載の画像処理装置。
【請求項１０】
前記第３のフィルタは、適応オフセットフィルタであって、前記第４のフィルタは、適応ループフィルタである
請求項９に記載の画像処理装置。
【請求項１１】
前記演算部は、前記第１のフィルタ処理が行われた画像と、前記第２のフィルタ処理が行われた画像とを、前記第１のフィルタ処理に対応する第１の演算係数と前記第２のフィルタ処理に対応する第２の演算係数とを用いた線形和で加算するように演算処理する
請求項９に記載の画像処理装置。
【請求項１２】
前記第１の演算係数と前記第２の演算係数とは、垂直境界および水平境界からの距離に応じて設定される
請求項１１に記載の画像処理装置。
【請求項１３】
画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、
生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する
画像処理方法。
【請求項１４】
画像を符号化する際にローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画素を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、
前記ローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部と、
前記演算部により演算処理された結果である画像を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
【請求項１５】
前記第１のフィルタ処理と前記第２のフィルタ処理とを並列的に行うように、前記第１のフィルタと前記第２のフィルタとを制御する制御部を
さらに備える請求項１４に記載の画像処理装置。
【請求項１６】
前記制御部は、前記第１のフィルタと前記第２のフィルタとの出力位相とを合わせるように制御する
請求項１５に記載の画像処理装置。
【請求項１７】
前記復号部により生成された画像のリコンストラクト画像を保持するメモリを
さらに備える請求項１６に記載の画像処理装置。
【請求項１８】
画像処理装置が、
画像を符号化する際にローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画素を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、
前記ローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理し、
演算処理された結果である画像を用いて、前記画像を符号化する
画像処理方法。
【請求項１９】
符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、
前記第１のフィルタにより前記第１のフィルタ処理が行われた画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部と
を備える画像処理装置。
【請求項２０】
画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、簡単な処理構造で、ラインメモリの削減を図ることができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG（Moving Picture Experts Group）やH．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）などがある。
【０００３】
そして、現在、H．264/AVCより更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC (Joint Collaboration Team - Video Coding) により、HEVC (High Efficiency Video Coding) と呼ばれる符号化方式の標準化が進められている。
【０００４】
現時点におけるHEVCのドラフトでは、インループフィルタとして、デブロッキングフィルタ、適応ループフィルタ、および適応オフセットフィルタが採用されている。インループフィルタにおいては、デブロッキングフィルタ、適応オフセットフィルタ、適応ループフィルタの順に処理が行われるが、最大の符号化単位であるLCUの水平境界（以下、単にLCU境界とも称する）においては、それぞれラインメモリを持つ必要があり、トータルすると、大量のラインメモリが必要になる。
【０００５】
そこで、この大量のラインメモリを削減するために、さまざまな提案がなされている。例えば、非特許文献１においては、デブロッキングのために保持するラインにかかる適応オフセットフィルタの処理（タップ参照画素）は、リコンストラクト画素（すなわち、デブロッキング前の画素）を利用する。これにより、デブロッキング用に保持するラインまでの適応ループフィルタ処理を行い、保持するラインメモリを削減することが提案されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】” Line Memory Reduction for ALF Decoding”, Semih Esenlik, Matthias Narroschke, Thomas Wedi, JCTVC-E225,March 2011
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１において提案されている方法は、LCUベース処理に特化した処理である。したがって、ソフトウエアなどで、デブロッキングフィルタ、適応オフセットフィルタ、および適応オフセットフィルタがそれぞれフレーム処理をする場合にかなり複雑な制御になってしまう。
【０００８】
本開示は、このような状況に鑑みてなされたものであり、簡単な処理構造で、ラインメモリの削減を図ることができるものである。
【課題を解決するための手段】
【０００９】
本開示の第１の側面の画像処理装置は、符号化ストリームを復号処理して画像を生成する復号部と、前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部とを備える。
【００１０】
前記第１のフィルタ処理と前記第２のフィルタ処理とを並列的に行うように、前記第１のフィルタと前記第２のフィルタとを制御する制御部をさらに備えることができる。
【００１１】
前記制御部は、前記第１のフィルタと前記第２のフィルタとの出力位相とを合わせるように制御することができる。
【００１２】
前記復号部により生成された画像のリコンストラクト画像を保持するメモリをさらに備えることができる。
【００１３】
前記第１のフィルタは、ブロック境界のノイズを除去するフィルタである。
【００１４】
前記第１のフィルタは、デブロッキングフィルタである。
【００１５】
前記デブロックフィルタは、垂直境界の左右の画素にかけるフィルタ、および水平境界の上下の画素にかけるフィルタを含むことができる。
【００１６】
前記制御部は、前記垂直境界の左右の画素にかけるフィルタの処理と前記水平境界の上下の画素にかけるフィルタの処理とを並列的に行うように制御することができる。
【００１７】
前記第２のフィルタは、リンギングを除去する第３のフィルタ、およびブロックベースでクラス分類を行う第４のフィルタの少なくとも一方を含むことができる。
【００１８】
前記第３のフィルタは、適応オフセットフィルタであって、前記第４のフィルタは、適応ループフィルタである。
【００１９】
前記演算部は、前記第１のフィルタ処理が行われた画像と、前記第２のフィルタ処理が行われた画像とを、前記第１のフィルタ処理に対応する第１の演算係数と前記第２のフィルタ処理に対応する第２の演算係数とを用いた線形和で加算するように演算処理することができる。
【００２０】
前記第１の演算係数と前記第２の演算係数とは、垂直境界および水平境界からの距離に応じて設定される。
【００２１】
本開示の第１の側面の画像処理方法は、画像処理装置が、符号化ストリームを復号処理して画像を生成し、生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する。
【００２２】
本開示の第２の側面の画像処理装置は、画像を符号化する際にローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画素を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、前記ローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部と、前記演算部により演算処理された結果である画像を用いて、前記画像を符号化する符号化部とを備える。
【００２３】
前記第１のフィルタ処理と前記第２のフィルタ処理とを並列的に行うように、前記第１のフィルタと前記第２のフィルタとを制御する制御部をさらに備えることができる。
【００２４】
前記制御部は、前記第１のフィルタと前記第２のフィルタとの出力位相とを合わせるように制御することができる。
【００２５】
前記復号部により生成された画像のリコンストラクト画像を保持するメモリをさらに備えることができる。
【００２６】
本開示の第２の側面の画像処理方法は、画像処理装置が、画像を符号化する際にローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画素を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、前記ローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理し、演算処理された結果である画像を用いて、前記画像を符号化する。
【００２７】
本開示の第３の側面の画像処理装置は、符号化ストリームを復号処理して画像を生成する復号部と、前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、前記第１のフィルタにより前記第１のフィルタ処理が行われた画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部とを備える。
【００２８】
本開示の第３の側面の画像処理方法は、画像処理装置が、符号化ストリームを復号処理して画像を生成し、生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、前記第１のフィルタ処理が行われた画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する。
【００２９】
本開示の第１の側面においては、符号化ストリームを復号処理して画像が生成され、生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理が行われる。また、生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理が行われる。そして、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理される。
【００３０】
本開示の第２の側面においては、画像を符号化する際にローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画素を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理が行われる。また、前記ローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理が行われる。そして、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理され、演算処理された結果である画像を用いて、前記画像が符号化される。
【００３１】
本開示の第３の側面においては、符号化ストリームを復号処理して画像が生成され、生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理が行われる。また、前記第１のフィルタ処理が行われた画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理が行われる。そして、前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理される。
【００３２】
なお、上述の画像処理装置は、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００３３】
本開示の第１の側面および第３の側面によれば、画像を復号することができる。特に、簡単な処理構造で、ラインメモリの削減を図ることができる。
【００３４】
本開示の第２の側面によれば、画像を符号化することができる。特に、簡単な処理構造で、ラインメモリの削減を図ることができる。
【図面の簡単な説明】
【００３５】
【図１】画像符号化装置の主な構成例を示すブロック図である。
【図２】符号化処理の流れの例を説明するフローチャートである。
【図３】画像復号装置の主な構成例を示すブロック図である。
【図４】復号処理の流れの例を説明するフローチャートである。
【図５】従来のインループフィルタのLCU境界で必要な各ラインメモリ数を説明する図である。
【図６】従来のインループフィルタの構成例を示すブロック図である。
【図７】本開示を適用したインループフィルタの構成例を示すブロック図である。
【図８】LCU境界の画素の例を示す図である。
【図９】図７のインループフィルタのさらに詳細な構成例を示すブロック図である。
【図１０】図８のインループフィルタの処理を説明するフローチャートである。
【図１１】加重平均のための重みの決定について説明する図である。
【図１２】加重平均のための重みの一例を示す図である。
【図１３】垂直境界および水平境界におけるフィルタリング要否の判定結果に応じた演算部からの出力画素値を示す図である。
【図１４】インループフィルタを構成し得る並列処理のパターンを示す図である。
【図１５】本開示を適用したインループフィルタの他の構成例を示すブロック図である。
【図１６】輝度信号の場合のLCU境界で必要な各ラインメモリ数を説明する図である。
【図１７】色差信号の場合のLCU境界で必要な各ラインメモリ数を説明する図である。
【図１８】図１５のインループフィルタの処理を説明するフローチャートである。
【図１９】本開示を適用したインループフィルタのさらに他の構成例を示すブロック図である。
【図２０】図１９のインループフィルタの処理を説明するフローチャートである。
【図２１】本開示を適用したインループフィルタのさらに他の構成例を示すブロック図である。
【図２２】図２１のインループフィルタのLCU境界における処理を説明する図である。
【図２３】輝度信号の場合のLCU境界で必要な各ラインメモリ数を説明する図である。
【図２４】色差信号の場合のLCU境界で必要な各ラインメモリ数を説明する図である。
【図２５】図２１のインループフィルタの処理を説明するフローチャートである。
【図２６】パーソナルコンピュータの主な構成例を示すブロック図である。
【図２７】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図２８】携帯電話機の概略的な構成の一例を示すブロック図である。
【図２９】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３０】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３６】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．装置および動作の概要
２．従来の手法の説明
３．第１の実施の形態
４．第２の実施の形態
５．第３の実施の形態
６．第４の実施の形態
７．第５の実施の形態
８．応用例
【００３７】
＜１．装置および動作の概要＞
［画像符号化装置の構成例］
図１は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００３８】
図１に示される画像符号化装置１１は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC（High Efficiency Video Coding）方式などが用いられる。
【００３９】
図１の例において、画像符号化装置１１は、A/D（Analog / Digital）変換部２１、画面並べ替えバッファ２２、演算部２３、直交変換部２４、量子化部２５、可逆符号化部２６、および蓄積バッファ２７を有する。また、画像符号化装置１１は、逆量子化部２８、逆直交変換部２９、演算部３０、インループフィルタ３１ａ、フレームメモリ３２、選択部３３、イントラ予測部３４、動き予測・補償部３５、予測画像選択部３６、およびレート制御部３７を有する。
【００４０】
A/D変換部２１は、入力された画像データをA/D変換し、画面並べ替えバッファ２２に出力し、記憶させる。
【００４１】
画面並べ替えバッファ２２は、記憶した表示の順番のフレームの画像を、GOP（Group of Picture）構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ２２は、フレームの順番を並び替えた画像を、演算部２３に供給する。また、画面並べ替えバッファ２２は、フレームの順番を並び替えた画像を、イントラ予測部３４および動き予測・補償部３５にも供給する。
【００４２】
演算部２３は、画面並べ替えバッファ２２から読み出された画像から、予測画像選択部３６を介してイントラ予測部３４若しくは動き予測・補償部３５から供給される予測画像を減算し、その差分情報を直交変換部２４に出力する。
【００４３】
例えば、イントラ符号化が行われる画像の場合、演算部２３は、画面並べ替えバッファ２２から読み出された画像から、イントラ予測部３４から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部２３は、画面並べ替えバッファ２２から読み出された画像から、動き予測・補償部３５から供給される予測画像を減算する。
【００４４】
直交変換部２４は、演算部２３から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部２５に供給する。
【００４５】
量子化部２５は、直交変換部２４が出力する変換係数を量子化する。量子化部２５は、量子化された変換係数を可逆符号化部２６に供給する。
【００４６】
可逆符号化部２６は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
【００４７】
可逆符号化部２６は、イントラ予測モードを示す情報などのパラメータをイントラ予測部３４から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部３５から取得する。
【００４８】
可逆符号化部２６は、量子化された変換係数を符号化するとともに、取得した各パラメータ（シンタクス要素）を符号化し、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部２６は、符号化して得られた符号化データを蓄積バッファ２７に供給して蓄積させる。
【００４９】
例えば、可逆符号化部２６においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００５０】
蓄積バッファ２７は、可逆符号化部２６から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００５１】
また、量子化部２５において量子化された変換係数は、逆量子化部２８にも供給される。逆量子化部２８は、その量子化された変換係数を、量子化部２５による量子化に対応する方法で逆量子化する。逆量子化部２８は、得られた変換係数を、逆直交変換部２９に供給する。
【００５２】
逆直交変換部２９は、供給された変換係数を、直交変換部２４による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力（復元された差分情報）は、演算部３０に供給される。
【００５３】
演算部３０は、逆直交変換部２９より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部３６を介してイントラ予測部３４若しくは動き予測・補償部３５から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。
【００５４】
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部３０は、その差分情報にイントラ予測部３４から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部３０は、その差分情報に動き予測・補償部３５から供給される予測画像を加算する。
【００５５】
その加算結果である復号画像は、インループフィルタ３１ａおよびフレームメモリ３２に供給される。
【００５６】
インループフィルタ３１ａは、デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタを含むように構成される。インループフィルタ３１ａは、復号画像の画素（すなわち、リコンストラクト画素）を対象として、デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタの処理を施し、フィルタ処理結果を加算した画像を、フレームメモリ３２に供給する。
【００５７】
なお、インループフィルタ３１ａにおいては、デブロックフィルタの垂直および水平、適応オフセットフィルタ、並びに適応ループフィルタの少なくとも２つの処理が並列で行われる。このインループフィルタ３１ａの構成および動作の詳細は図７を参照して後述される。
【００５８】
フレームメモリ３２は、所定のタイミングにおいて、蓄積されている参照画像を、選択部３３を介してイントラ予測部３４または動き予測・補償部３５に出力する。
【００５９】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ３２は、参照画像を、選択部３３を介してイントラ予測部３４に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ３２は、参照画像を、選択部３３を介して動き予測・補償部３５に供給する。
【００６０】
選択部３３は、フレームメモリ３２から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部３４に供給する。また、選択部３３は、フレームメモリ３２から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部３５に供給する。
【００６１】
イントラ予測部３４は、画面内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部３４は、複数のモード（イントラ予測モード）によりイントラ予測を行う。
【００６２】
イントラ予測部３４は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部３４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部３６を介して演算部２３や演算部３０に供給する。
【００６３】
また、上述したように、イントラ予測部３４は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部２６に供給する。
【００６４】
動き予測・補償部３５は、インター符号化が行われる画像について、画面並べ替えバッファ２２から供給される入力画像と、選択部３３を介してフレームメモリ３２から供給される参照画像とを用いて、動き予測を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。
【００６５】
動き予測・補償部３５は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部３５は、生成された予測画像を、予測画像選択部３６を介して演算部２３や演算部３０に供給する。
【００６６】
また、動き予測・補償部３５は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部２６に供給する。
【００６７】
予測画像選択部３６は、イントラ符号化を行う画像の場合、イントラ予測部３４の出力を演算部２３や演算部３０に供給し、インター符号化を行う画像の場合、動き予測・補償部３５の出力を演算部２３や演算部３０に供給する。
【００６８】
レート制御部３７は、蓄積バッファ２７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部２５の量子化動作のレートを制御する。
【００６９】
［画像符号化装置の動作］
図２を参照して、以上のような画像符号化装置１１により実行される符号化処理の流れについて説明する。
【００７０】
ステップＳ１１において、A/D変換部２１は入力された画像をA/D変換する。ステップＳ１２において、画面並べ替えバッファ２２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００７１】
画面並べ替えバッファ２２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ３２から読み出され、選択部３３を介してイントラ予測部３４に供給される。
【００７２】
これらの画像に基づいて、ステップＳ１３において、イントラ予測部３４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、インループフィルタ３１によりフィルタされていない画素が用いられる。
【００７３】
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部３６に供給される。
【００７４】
画面並べ替えバッファ２２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ３２から読み出され、選択部３３を介して動き予測・補償部３５に供給される。これらの画像に基づいて、ステップＳ１４において、動き予測・補償部３５は、動き予測・補償処理を行う。
【００７５】
この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部３６に供給される。
【００７６】
ステップＳ１５において、予測画像選択部３６は、イントラ予測部３４および動き予測・補償部３５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部３６は、決定した最適予測モードの予測画像を選択し、演算部２３，３０に供給する。この予測画像は、後述するステップＳ１６，Ｓ２１の演算に利用される。
【００７７】
なお、この予測画像の選択情報は、イントラ予測部３４または動き予測・補償部３５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部３４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測に関するパラメータ）を、可逆符号化部２６に供給する。
【００７８】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部３５は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報（すなわち、動き予測に関するパラメータ）を可逆符号化部２６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
【００７９】
ステップＳ１６において、演算部２３は、ステップＳ１２で並び替えられた画像と、ステップＳ１５で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部３５から、イントラ予測する場合はイントラ予測部３４から、それぞれ予測画像選択部３６を介して演算部２３に供給される。
【００８０】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【００８１】
ステップＳ１７において、直交変換部２４は演算部２３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【００８２】
ステップＳ１８において、量子化部２５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２６の処理で説明されるように、レートが制御される。
【００８３】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１９において、逆量子化部２８は、量子化部２５により量子化された変換係数を量子化部２５の特性に対応する特性で逆量子化する。ステップＳ２０において、逆直交変換部２９は、逆量子化部２８により逆量子化された変換係数を直交変換部２４の特性に対応する特性で逆直交変換する。
【００８４】
ステップＳ２１において、演算部３０は、予測画像選択部３６を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された（すなわち、ローカルデコードされた）画像（演算部２３への入力に対応する画像）を生成する。
【００８５】
ステップＳ２２においてインループフィルタ３１ａは、演算部３０より出力された画像に対して、デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタからなるフィルタ処理を行う。このとき、デブロックフィルタの垂直および水平、適応オフセットフィルタ、並びに適応ループフィルタの少なくとも２つの処理が並列で行われる。このインループフィルタ処理の詳細は、図１０を参照して後述される。インループフィルタ３１ａからの復号画像は、フレームメモリ３２に出力される。
【００８６】
ステップＳ２３においてフレームメモリ３２は、フィルタリングされた画像を記憶する。なお、フレームメモリ３２には、インループフィルタ３１ａによりフィルタされていない画像も演算部３０から供給され、記憶される。
【００８７】
一方、上述したステップＳ１８において量子化された変換係数は、可逆符号化部２６にも供給される。ステップＳ２４において、可逆符号化部２６は、量子化部２５より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
【００８８】
ステップＳ２５において蓄積バッファ２７は、符号化された差分画像（すなわち、符号化ストリーム）を、圧縮画像として蓄積する。蓄積バッファ２７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【００８９】
ステップＳ２６においてレート制御部３７は、蓄積バッファ２７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部２５の量子化動作のレートを制御する。
【００９０】
ステップＳ２６の処理が終了すると、符号化処理が終了される。
【００９１】
［画像復号装置の構成例］
図３は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図３に示される画像復号装置５１は、図１の画像符号化装置１１に対応する復号装置である。
【００９２】
画像符号化装置１１より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置１１に対応する画像復号装置５１に伝送され、復号されるものとする。
【００９３】
図３に示されるように、画像復号装置５１は、蓄積バッファ６１、可逆復号部６２、逆量子化部６３、逆直交変換部６４、演算部６５、インループフィルタ３１ｂ、画面並べ替えバッファ６７、およびD/A変換部６８を有する。また、画像復号装置５１は、フレームメモリ６９、選択部７０、イントラ予測部７１、動き予測・補償部７２、および選択部７３を有する。
【００９４】
蓄積バッファ６１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置１１により符号化されたものである。可逆復号部６２は、蓄積バッファ６１から所定のタイミングで読み出された符号化データを、図１の可逆符号化部２６の符号化方式に対応する方式で復号する。
【００９５】
可逆復号部６２は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部７１に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部７２に供給する。
【００９６】
逆量子化部６３は、可逆復号部６２により復号されて得られた係数データ（量子化係数）を、図１の量子化部２５の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部６３は、画像符号化装置１１から供給された量子化パラメータを用いて、図１の逆量子化部２８と同様の方法で量子化係数の逆量子化を行う。
【００９７】
逆量子化部６３は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部６４に供給する。逆直交変換部６４は、図１の直交変換部２４の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置１１において直交変換される前の残差データに対応する復号残差データを得る。
【００９８】
逆直交変換されて得られた復号残差データは、演算部６５に供給される。また、演算部６５には、選択部７３を介して、イントラ予測部７１若しくは動き予測・補償部７２から予測画像が供給される。
【００９９】
演算部６５は、その復号残差データと予測画像とを加算し、画像符号化装置１１の演算部２３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部６５は、その復号画像データをインループフィルタ３１ｂに供給する。
【０１００】
インループフィルタ３１ｂは、画像符号化装置１１のインループフィルタ３１ａと同様に、デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタを含むように構成される。インループフィルタ３１ｂは、復号画像の画素（すなわち、リコンストラクト画素）を対象として、デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタの処理を施し、フィルタ処理結果を加算した画像を、画面並べ替えバッファ６７に供給する。
【０１０１】
なお、インループフィルタ３１ｂにおいては、デブロックフィルタの垂直および水平、適応オフセットフィルタ、並びに適応ループフィルタの少なくとも２つの処理が並列で行われる。このインループフィルタ３１ｂの構成および動作の詳細は図７を参照して後述される。
【０１０２】
画面並べ替えバッファ６７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ２２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部６８は、画面並べ替えバッファ６７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０１０３】
インループフィルタ３１ｂの出力は、さらに、フレームメモリ６９に供給される。
【０１０４】
フレームメモリ６９、選択部７０、イントラ予測部７１、動き予測・補償部７２、および選択部７３は、画像符号化装置１１のフレームメモリ３２、選択部３３、イントラ予測部３４、動き予測・補償部３５、および予測画像選択部３６にそれぞれ対応する。
【０１０５】
選択部７０は、インター処理される画像と参照される画像をフレームメモリ６９から読み出し、動き予測・補償部７２に供給する。また、選択部７０は、イントラ予測に用いられる画像をフレームメモリ６９から読み出し、イントラ予測部７１に供給する。
【０１０６】
イントラ予測部７１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部６２から適宜供給される。イントラ予測部７１は、この情報に基づいて、フレームメモリ６９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部７３に供給する。
【０１０７】
動き予測・補償部７２には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等）が可逆復号部６２から供給される。
【０１０８】
動き予測・補償部７２は、可逆復号部６２から供給されるそれらの情報に基づいて、フレームメモリ６９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部７３に供給する。
【０１０９】
選択部７３は、動き予測・補償部７２またはイントラ予測部７１により生成された予測画像を選択し、演算部６５に供給する。
【０１１０】
［画像復号装置の動作］
図４を参照して、以上のような画像復号装置５１により実行される復号処理の流れの例を説明する。
【０１１１】
復号処理が開始されると、ステップＳ５１において、蓄積バッファ６１は、伝送されてきた符号化データを蓄積する。ステップＳ５２において、可逆復号部６２は、蓄積バッファ６１から供給される符号化データを復号する。図１の可逆符号化部２６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０１１２】
ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モード）などのパラメータの情報も復号される。
【０１１３】
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部７１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部７２に供給される。
【０１１４】
ステップＳ５３において、イントラ予測部７１または動き予測・補償部７２は、可逆復号部６２から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
【０１１５】
すなわち、可逆復号部６２からイントラ予測モード情報が供給された場合、イントラ予測部７１は、Most Probable Modeの生成を行い、並列処理により、イントラ予測モードのイントラ予測画像を生成する。可逆復号部６２からインター予測モード情報が供給された場合、動き予測・補償部７２は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
【０１１６】
この処理により、イントラ予測部７１により生成された予測画像（イントラ予測画像）、または動き予測・補償部７２により生成された予測画像（インター予測画像）が選択部７３に供給される。
【０１１７】
ステップＳ５４において、選択部７３は予測画像を選択する。すなわち、イントラ予測部７１により生成された予測画像、または動き予測・補償部７２により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部６５に供給され、後述するステップＳ５７において逆直交変換部６４の出力と加算される。
【０１１８】
上述したステップＳ５２において、可逆復号部６２により復号された変換係数は、逆量子化部６３にも供給される。ステップＳ５５において、逆量子化部６３は可逆復号部６２により復号された変換係数を、図１の量子化部２５の特性に対応する特性で逆量子化する。
【０１１９】
ステップＳ５６において逆直交変換部２９は、逆量子化部２８により逆量子化された変換係数を、図１の直交変換部２４の特性に対応する特性で逆直交変換する。これにより図１の直交変換部２４の入力（演算部２３の出力）に対応する差分情報が復号されたことになる。
【０１２０】
ステップＳ５７において、演算部６５は、上述したステップＳ５４の処理で選択され、選択部７３を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
【０１２１】
ステップＳ５８においてインループフィルタ３１ｂは、演算部３０より出力された画像に対して、デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタからなるフィルタ処理を行う。このとき、デブロックフィルタの垂直および水平、適応オフセットフィルタ、並びに適応ループフィルタの少なくとも２つの処理が並列で行われる。このインループフィルタ処理の詳細は、図１０を参照して後述される。インループフィルタ３１ｂからの復号画像は、フレームメモリ６９および画面並べ替えバッファ６７に出力される。
【０１２２】
ステップＳ５９においてフレームメモリ６９は、フィルタリングされた画像を記憶する。
【０１２３】
ステップＳ６０において、画面並べ替えバッファ６７は、インループフィルタ３１ｂ後の画像の並べ替えを行う。すなわち画像符号化装置１１の画面並べ替えバッファ２２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１２４】
ステップＳ６１において、D/A変換部６８は、画面並べ替えバッファ６７からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０１２５】
ステップＳ６１の処理が終了すると、復号処理が終了される。
【０１２６】
＜従来の手法の説明＞
従来のインループフィルタは、デブロッキングフィルタ、適応オフセットフィルタ、および適応ループフィルタの順に、直列で処理するため、LCU（Largest Coding Unit）の水平境界（すなわち、LCUの下部）においては、ラインメモリをそれぞれ持つ必要があった。
【０１２７】
ここで、LCU（Largest Coding Unit）とCU（Coding Unit）について簡単に説明する。H．264及びMPEG（Moving Picture Experts Group）４ Part１０（AVC（Advanced Video Coding））（以下H．264/AVCと称する）においては、１つのマクロブロックを、複数の動き補償ブロックに分割し、それぞれに対して異なる動き情報を持たせることが可能であった。すなわち、H．264/AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されていた。これに対して、HEVC（High Efficiency Video Coding）方式においては、コーディングユニット（CU）が規定されている。
【０１２８】
CUは、Coding Tree Block（CTB）とも呼ばれ、H．264/AVC方式におけるマクロブロックと同様の役割を果たす、符号化（復号）の処理単位となる領域（ピクチャ単位の画像の部分領域）である。後者は、１６×１６画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【０１２９】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、CUの最大サイズ（LCU（Largest Coding Unit））と最小サイズ（（SCU（Smallest Coding Unit））が規定される。
【０１３０】
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。例えば、後述する図５の例では、CUの分割ラインは示されていないが、LCUの大きさが１６×１６画素であり、その中に、８×８画素のCUが４つ含まれている例が示されている。
【０１３１】
以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、H．264/AVC方式におけるマクロブロックはLCUに相当し、ブロック（サブブロック）はCUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、H．264/AVC方式のマクロブロックより大きく設定されることが一般的である。
【０１３２】
よって、以下、LCUは、H．264/AVC方式におけるマクロブロックをも含むものとし、CUは、H．264/AVC方式におけるブロック（サブブロック）をも含むものとする。
【０１３３】
［LCU境界における従来のインループフィルタの説明］
図５を参照して、HEVC方式におけるインループフィルタを構成する各フィルタのLCUの水平境界で必要な各ラインメモリ数について説明する。なお、以下、単にLCU境界と称する場合、それは、LCUの水平境界を表すものとして説明する。また、LCU境界からのラインの数は、LCU境界からの上に向かってのラインの数を示すものとして説明する。
【０１３４】
図５の例においては、輝度信号の例が示されている。図５の例において、一番下がLCU境界を示しており、丸は画素を表している。
【０１３５】
LCU境界から１ライン目乃至３ライン目の丸は、次のLCUがデブロッキングフィルタに入力されたときに、水平境界のデブロッキングＶ（垂直）フィルタ処理が開始される画素を表している。なお、１ライン目乃至３ライン目のハッチングで示される丸は、LCUに含まれるCUの垂直境界において部分的にデブロッキングＨ（水平）フィルタ処理された画素を表している。１行目乃至３行目の丸のうち、白丸は、CUの垂直境界において、実際には、デブロッキングＨフィルタ処理が施されない画素を表している。
【０１３６】
LCU境界から４ライン目の画素は、デブロッキングＶフィルタ処理済みの画素であって、かつ、適応オフセットフィルタ(SAO: Sample adaptive offset)処理前の画素である。この４ライン目の画素は、１ライン目乃至３ライン目のデブロッキングＶフィルタ処理において参照される画素でもある。LCU境界から５ライン目の画素は、デブロッキングＶフィルタ処理および適応オフセットフィルタ済みの画素である。
【０１３７】
LCU境界から６ライン目の画素は、適応オフセットフィルタ処理済みの画素であって、かつ、適応ループフィルタ(ALF: Adaptive Loop Filter)処理がなされていない画素である。
【０１３８】
LCU境界から７ライン目乃至１６ライン行目の丸は、適応ループフィルタ(ALF)処理後の画素を表している。
【０１３９】
デブロッキングフィルタは、LCU境界において、LCU境界から１ライン目乃至３ライン目の画素を処理する際、LCU境界を介して下に接するLCUの画素（次の４ライン分の画素）が入力されないとデブロッキングＶフィルタ処理を開始できない。
【０１４０】
したがって、デブロッキングフィルタのラインメモリに、次に処理される対象の１乃至３ライン目の画素と参照画素である４ライン目の画素との計４ライン分の画素が保持された図５の状態で、デブロッキングＶフィルタ処理は待機（一時停止）することになる。
【０１４１】
適応オフセットフィルタは、適応オフセットフィルタのラインメモリに保持されているLCU境界から５ライン目の画素のフィルタ処理を、デブロッキングフィルタのラインメモリに保持されているLCU境界から４ライン目の画素を参照して完了させる。
【０１４２】
しかしながら、LCU境界から３ライン目の画素のデブロッキングフィルタが完了しないために、適応オフセットフィルタは、次のLCU境界から４ライン目の画素の処理を開始することができない。したがって、適応オフセットフィルタのラインメモリにLCU境界から５ライン目の画素が保持された図５の状態で、適応オフセットフィルタの処理も待機することになる。
【０１４３】
適応ループフィルタは、LCU境界から７ライン目の画素のフィルタ処理（例えば、５タップ）を、LCU境界から５および６ライン目の画素と８および９ライン目の画素を参照して完了させる。このとき、適応ループフィルタは、次のLCU境界から６ライン目の画素のフィルタ処理に必要のない９ライン目の画素を、適応ループフィルタのラインメモリから手放し、ラインメモリには、LCU境界から５乃至８ライン目の４ライン分の画素が保持されている。
【０１４４】
しかしながら、次のLCU境界から６ライン目の画素のフィルタ処理に参照される４ライン目の画素が、３ライン目の画素のデブロッキングフィルタが完了しないためにデブロッキングフィルタが手放せず、適応ループフィルタのラインメモリに入力されない。それゆえ、適応ループフィルタは、次の処理を開始することができない。したがって、適応ループフィルタのラインメモリにLCU境界から５乃至８ライン目の４ライン分の画素が保持された図５の状態で、適応ループフィルタの処理も待機することになる。
【０１４５】
［従来のインループフィルタの構成］
図６は、従来のインループフィルタの構成例を示すブロック図である。
【０１４６】
図６に示されるインループフィルタは、デブロッキングフィルタ部１０１、適応オフセットフィルタ部１０２、および適応ループフィルタ部１０３を含むように構成されている。
【０１４７】
デブロッキングフィルタ部１０１は、Ｈ（水平）フィルタ１１１、Ｖ（垂直）フィルタ１１２、およびラインメモリ１１３を含むように構成され、入力画素に対して、ブロックCU(LCU)境界のノイズを除去するデブロッキングフィルタ処理を施す。
【０１４８】
Ｈフィルタ１１１は、入力画像内の左右に隣接するCU(LCU)間の垂直境界の左右（水平方向）の画素にかけるデブロッキングフィルタである。また、Ｖフィルタ１１２は、入力画像内の上下に隣接するCU(LCU)間の水平境界の上下（垂直方向）の画素にかけるデブロッキングフィルタである。ラインメモリ１１３は、LCU境界において、前段から入力される入力画素であるリコンストラクト画素を一旦保持する。ラインメモリ１１３は、図５を参照して上述したように、LCU境界において、輝度（Ｙ）について４ライン分の画素を保持し、色差（Ｃ）について２ライン分の画素を保持する。
【０１４９】
デブロッキングフィルタ部１０１は、通常（LCU境界以外）、前段からの入力画素であるリコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施し、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングフィルタ部１０１は、フィルタ処理後の画素を、適応オフセットフィルタ部１０２に出力する。
【０１５０】
LCU境界においては、デブロッキングフィルタ部１０１は、前段からの入力画素であるリコンストラクト画素を、一旦ラインメモリ１１３に保持する。そして、必要な画素が入力されると、デブロッキングフィルタ部１０１は、入力された画素と、ラインメモリ１１３に保持されている画素とを用いて、Ｈフィルタ１１１によるフィルタ処理を施し、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングフィルタ部１０１は、フィルタ処理後の画素を、適応オフセットフィルタ部１０２に出力する。
【０１５１】
適応オフセットフィルタ部１０２は、オフセットフィルタ１２１およびラインメモリ１２２を含むように構成され、デブロッキングフィルタ部１０１からの復号画像に対して、主にリンギングを除去するオフセットフィルタ処理を行う。
【０１５２】
オフセットフィルタ１２１の種類は、バンドオフセット２種類、エッジオフセット６種類、オフセットなしの計９種類がある。ラインメモリ１２２は、図５を参照して上述したように、LCU境界において、輝度（Ｙ）について１ライン分の画素を保持し、色差（Ｃ）について１ライン分の画素を保持する。
【０１５３】
適応オフセットフィルタ部１０２は、通常、デブロッキングフィルタ部１０１によりフィルタ処理が施された画素に対して、オフセットフィルタ１２１によるフィルタ処理を行い、フィルタ処理後の画素を、適応ループフィルタ部１０３に出力する。
【０１５４】
LCU境界においては、適応オフセットフィルタ部１０２は、デブロッキングフィルタ部１０１からの入力画素であるリコンストラクト画素を、一旦ラインメモリ１２２に保持する。そして、必要な画素が入力されると、適応オフセットフィルタ部１０２は、入力された画素とラインメモリ１２２に保持されている画素とを用いて、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部１０２は、フィルタ処理後の画素を、適応オフセットフィルタ部１０２に出力する。
【０１５５】
適応ループフィルタ部１０３は、ループフィルタ１３１およびラインメモリ１３２を含むように構成され、適応オフセットフィルタ部１０２からの復号画像に対して、ブロックベースでクラス分類を行い、適応ループフィルタ処理を行う。
【０１５６】
ループフィルタ１３１は、例えば、２次元のウィナーフィルタ（Wiener Filter）で構成される。ラインメモリ１３２は、図５を参照して上述したように、LCU境界において、輝度（Ｙ）について４ライン分の画素を保持し、色差（Ｃ）について４ライン分の画素を保持する。
【０１５７】
適応ループフィルタ部１０３は、通常、適応オフセットフィルタ部１０２によりフィルタ処理が施された画素に対して、ループフィルタ１３１によるフィルタ処理を行い、フィルタ処理後の画素を、後段のフレームメモリなどに出力する。
【０１５８】
LCU境界においては、適応ループフィルタ部１０３は、適応オフセットフィルタ部１０２からの入力画素であるリコンストラクト画素を、一旦ラインメモリ１３２に保持する。そして、必要な画素が入力されると、適応ループフィルタ部１０３は、入力された画素とラインメモリ１３２に保持されている画素とを用いて、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部１０３は、フィルタ処理後の画素を、後段のフレームメモリなどに出力する。
【０１５９】
以上のように、輝度信号の場合、LCU境界において、デブロッキングフィルタには、４ライン分の画素を保持するラインメモリが必要であり、適応オフセットフィルタには、１ライン分の画素を保持するラインメモリが必要であった。さらに、適応ループフィルタには、４ライン分の画素を保持するラインメモリが必要であり、重複する画素もあるが、トータルで、９ライン分の画素を保持するラインメモリが必要であった。
【０１６０】
また、色差信号の場合には、その説明を省略するが、LCU境界において、デブロッキングフィルタには、２ライン分の画素を保持するラインメモリが必要であり、適応オフセットフィルタには、１ライン分の画素を保持するラインメモリが必要であった。さらに、適応ループフィルタには、４ライン分の画素を保持するラインメモリが必要であり、重複する画素もあるが、トータルで、７ライン分の画素を保持するラインメモリが必要であった。
【０１６１】
そこで、このような大量のラインメモリを削減するために、さまざまな提案がなされている。例えば、非特許文献１においては、デブロッキングのために保持するラインにかかる適応オフセットフィルタの処理（タップ参照画素）は、リコンストラクト画素（すなわち、デブロッキング前の画素）を利用する。これにより、デブロッキング用に保持するラインまでの適応ループフィルタ処理を行い、保持するラインメモリを削減することが提案されている。
【０１６２】
しかしながら、非特許文献１に記載の提案は、LCUベース処理に特化した処理である。したがって、ソフトウエアなどで、デブロッキングフィルタ、適応オフセットフィルタ、および適応オフセットフィルタがそれぞれフレーム処理をする場合にかなり複雑な制御になってしまう。
【０１６３】
そこで、以下に説明するインループフィルタにおいては、デブロッキングフィルタ、適応オフセットフィルタ、および適応ループフィルタの少なくとも２つを並列化して、ラインメモリを共有することにより、簡単な処理構造でラインメモリの削減を図る。
【０１６４】
＜３．第１の実施の形態＞
［インループフィルタの構成例］
図７は、本開示を適用したインループフィルタの構成例を示すブロック図である。なお、図１に示した画像符号化装置１１のインループフィルタ３１ａおよび図３に示した画像復号装置５１のインループフィルタ３１ｂの構成は、共通であってよい。したがって、これ以降の説明においては、個々に区別する必要がない場合、インループフィルタ３１ａおよびインループフィルタ３１ｂをインループフィルタ３１と総称する。
【０１６５】
図７の例において、インループフィルタ３１は、ラインメモリ１５１、デブロッキングＨ（水平）フィルタ部１５２、デブロッキングＶ（垂直）フィルタ部１５３、適応オフセットフィルタ部１５４、適応ループフィルタ部１５５、および演算部１５６を含むように構成されている。なお、図７の例においては、LCU境界におけるインループフィルタ３１の構成例が示されている。
【０１６６】
ラインメモリ１５１は、LCU境界において、前段から入力されるリコンストラクト画素を一旦保持する。なお、前段とは、図１の画像符号化装置１１の場合、演算部３０であり、図３の画像復号装置５１の場合、演算部６５である。
【０１６７】
図７の例においては、ラインメモリ１５１は、輝度（Ｙ）について、５ライン分の画素を保持し、色差（Ｃ）について、３ライン分の画素を保持する。なお、保持するライン数は、アーキテクチャなどに依存されるため、限定されない。
【０１６８】
LCU境界において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、リコンストラクト画素が保持されたラインメモリ１５１を共有している。
【０１６９】
デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、ラインメモリ１５１に保持されたリコンストラクト画素に対して、並列に各フィルタ処理を行う。そして、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、演算部１５６にフィルタ処理後の画素をそれぞれ出力する。
【０１７０】
すなわち、デブロッキングＨフィルタ部１５２は、図６のＨフィルタ１１１を含むように構成され、左右に隣接するブロック間の垂直境界のブロックノイズを除去するデブロッキングＨフィルタ処理を施す。Ｈフィルタ１１１は、図６を参照して上述したように、入力画像内の左右に隣接するブロック間の垂直境界の左右の画素にかけるデブロッキングフィルタである。
【０１７１】
LCU境界において、デブロッキングＨフィルタ部１５２は、ラインメモリ１５１に保持されているリコンストラクト画素を読み出し、読み出したリコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施す。デブロッキングＨフィルタ部１５２は、Ｈフィルタ１１１によるフィルタ処理後の画素を、演算部１５６に出力する。
【０１７２】
デブロッキングＶフィルタ部１５３は、図６のＶフィルタ１１２を含むように構成され、上下に隣接するブロック間の水平境界のブロックノイズを除去するデブロッキングＶフィルタ処理を施す。Ｖフィルタ１１２は、図６を参照して上述したように、入力画像内の上下に隣接するブロック間の水平境界の上下の画素にかけるデブロッキングフィルタである。
【０１７３】
LCU境界において、デブロッキングＶフィルタ部１５３は、ラインメモリ１５１に保持されているリコンストラクト画素を読み出し、読み出したリコンストラクト画素に対して、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングＶフィルタ部１５３は、Ｖフィルタ１１２によるフィルタ処理後の画素を、演算部１５６に出力する。
【０１７４】
適応オフセットフィルタ部１５４は、図６のオフセットフィルタ１２１を含むように構成され、入力画像に対して、主にリンギングを除去するオフセットフィルタ処理を行う。
【０１７５】
オフセットフィルタ１２１の種類は、図６を参照して上述したように、バンドオフセット２種類、エッジオフセット６種類、オフセットなしの計９種類がある。オフセットフィルタ１２１は、具体的には、分割領域毎にオフセットフィルタ１２１の種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて施される。このquad-tree構造とオフセット値は、図１の画像符号化装置１１の場合、算出されたものが用いられ、図３の画像復号装置５１の場合、図１の画像符号化装置１１により算出されたものが復号されて用いられる。
【０１７６】
LCU境界において、適応オフセットフィルタ部１５４は、ラインメモリ１５１に保持されているリコンストラクト画素を読み出し、読み出したリコンストラクト画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部１５４は、オフセットフィルタ１２１によるフィルタ処理後の画素を、演算部１５６に出力する。
【０１７７】
適応ループフィルタ部１５５は、図６のループフィルタ１３１を含むように構成され、入力画像に対して、ブロックベースでクラス分類を行い、適応ループフィルタ処理を行う。
【０１７８】
ループフィルタ１３１は、図６を参照して上述したように、例えば、２次元のウィナーフィルタ（Wiener Filter）で構成される。ループフィルタ１３１は、具体的には、適応ループフィルタ係数を用いて施される。この適応ループフィルタ係数は、図１の画像符号化装置１１の場合、ブロックベースでクラス分類を行い、分類されたクラス毎に、画面並べ替えバッファ２２からの原画像との残差を最小とするよう算出されたものが用いられる。また、適応ループフィルタ係数は、図３の画像復号装置５１の場合、図１の画像符号化装置１１により算出されたものが復号されて用いられる。
【０１７９】
LCU境界において、適応ループフィルタ部１５５は、ラインメモリ１５１に保持されているリコンストラクト画素を読み出し、読み出したリコンストラクト画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部１５５は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部１５６に出力する。
【０１８０】
演算部１５６は、LCU境界において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５による各フィルタ処理後の画素に対して、例えば、加算などの演算処理を行う。なお、この演算処理には、加算だけでなく、例えば、減算、乗算などの処理も含むようにしてよい。そして、演算部１５６は、演算結果を後段に出力する。後段とは、図１の画像符号化装置１１の場合、フレームメモリ３２であり、図３の画像復号装置５１の場合、画面並べ替えバッファ６７およびフレームメモリ６９である。
【０１８１】
［LCU境界における各フィルタの詳細］
図８は、LCU境界の画素の例を示している。図８の例において、丸は、インループフィルタ３１に入力されるリコンストラクト画素を表し、図中下のラインがLCU境界を表している。
【０１８２】
LCU境界においては、デブロッキングＶフィルタ部１５３は、図５を参照して上述したように、輝度信号の場合、次のLCUの４ライン分の画素が入力されるまで、LCU境界から１ライン目乃至３ライン目の画素の処理において待機状態となる。すなわち、デブロッキングＶフィルタ部１５３が、LCU境界から４ライン目までしか処理することができないので、並列する他のフィルタ部は、デブロッキングＶフィルタ部１５３に出力位相を揃えることが必要となる。
【０１８３】
したがって、適応オフセットフィルタ部１５４も、適応ループフィルタ部１５５も、LCU境界から４ライン目までの処理を完了させ、次のLCU境界から３ライン目の画素の処理において待機状態となる。
【０１８４】
そして、次のLCUの４ライン分の画素が入力されると、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、LCU境界から３ライン目の画素から出力するように処理を開始する。
【０１８５】
その際、デブロッキングＨフィルタ部１５２においては、LCU境界から１乃至３ライン目の画素がラインメモリ１５１に保持されている必要がある。デブロッキングＶフィルタ部１５３においては、LCU境界から１乃至４ライン目の画素がラインメモリ１５１に保持されている必要がある。適応オフセットフィルタ部１５４においては、LCU境界から１乃至４ライン目の画素がラインメモリ１５１に保持されている必要がある。また、適応ループフィルタ部１５５においては、LCU境界から１乃至５ライン目の画素がラインメモリ１５１に保持されている必要がある。
【０１８６】
以上により、輝度信号の場合、ラインメモリ１５１には、LCU境界から１乃至５ライン目の５ライン分の画素が保持されていればよい。
【０１８７】
したがって、図５を参照して上述した従来の９ライン分の画素と比して、４ライン分もラインメモリ数を減らすことが可能である。
【０１８８】
なお、色差信号の場合、LCU境界においては、デブロッキングＶフィルタ部１５３は、次のLCUの２ラインの画素が入力されるまで、LCU境界から１ライン目および２ライン目の画素の処理において待機状態となる。すなわち、デブロッキングＶフィルタ部１５３は、LCU境界から３ライン目までしか処理することができないので、デブロッキングＶフィルタ部１５３に出力位相を揃えることが必要となる。
【０１８９】
したがって、適応オフセットフィルタ部１５４も、適応ループフィルタ部１５５も、LCU境界から３ライン目までの処理を完了させ、次のLCU境界から２ライン目の画素の処理において待機状態となる。
【０１９０】
そして、次のLCUの２ライン分の画素が入力されると、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５も、LCU境界から２ライン目の画素から出力するように処理を開始する。
【０１９１】
その際、デブロッキングＨフィルタ部１５２においては、LCU境界から１および２ライン目の画素がラインメモリ１５１に保持されている必要がある。デブロッキングＶフィルタ部１５３においては、LCU境界から１および２ライン目の画素がラインメモリ１５１に保持されている必要がある。適応オフセットフィルタ部１５４においては、LCU境界から１乃至３ライン目の画素がラインメモリ１５１に保持されている必要がある。また、適応ループフィルタ部１５５においては、例えば、色差が５タップの処理である場合、LCU境界から１乃至４ライン目の画素がラインメモリ１５１に保持されている必要がある。
【０１９２】
以上により、色差信号の場合の場合、ラインメモリ１５１には、LCU境界から１乃至４ライン目の４ライン分の画素が保持されていればよい。
【０１９３】
したがって、図５を参照して上述した従来の７ライン分の画素と比して、３ライン分もラインメモリ数を減らすことが可能である。
【０１９４】
［インループフィルタの詳細な構成例］
図９は、図７のインループフィルタのさらに詳細な構成例を示すブロック図である。図７のインループフィルタ３１が、LCU境界の場合の構成を示しているのに対して、図９の例のインループフィルタ３１は、LCU境界の場合も含む詳細な構成を示している。
【０１９５】
図９の例において、インループフィルタ３１は、ラインメモリ１５１、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３を含むように構成されている。また、インループフィルタ３１は、適応オフセットフィルタ部１５４、適応ループフィルタ部１５５、演算部１５６、および係数メモリ１７１を含むように構成されている。
【０１９６】
すなわち、インループフィルタ３１は、係数メモリ１７１が追加されたのみ点が、図７のインループフィルタ３１と異なっている。
【０１９７】
前段からの入力画素であるリコンストラクト画素は、ラインメモリ１５１、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、適応ループフィルタ部１５５、および演算部１５６に入力される。
【０１９８】
LCU境界において、ラインメモリ１５１は、輝度信号について、LCU境界から５ライン分のリコンストラクト画素を保持し、色差信号について、LCU境界から３ライン分のリコンストラクト画素を保持するように構成されている。
【０１９９】
通常（LCU境界以外）の処理においては、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、適応ループフィルタ部１５５は、前段から入力されるリコンストラクト画素に対して各フィルタ処理を施す。そして、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、適応ループフィルタ部１５５は、フィルタ処理後の画素を、演算部１５６に出力する。
【０２００】
LCU境界においては、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、ラインメモリ１５１に保持されているリコンストラクト画素に対して各フィルタ処理を施す。そして、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、フィルタ処理後の画素を、演算部１５６に出力する。
【０２０１】
なお、上述したように、LCU境界において必要なラインの画素が入力されると、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、出力位相を揃えて処理を再開する。
【０２０２】
演算部１５６は、減算部１８１−１乃至１８１−４、乗算部１８２−１乃至１８２−４、および加算部１８３により構成されており、各フィルタ処理後の出力Ｐを線形和で演算する。なお、演算部１５６における入力画素としては、通常、前段からのリコンストラクト画素が用いられるが、LCU境界においては、ラインメモリ１５１に保持されている画素が読み出されて用いられる。
【０２０３】
減算部１８１−１は、デブロッキングＨフィルタ部１５２からのフィルタ後の画素ＰＤＢ＿Ｈから入力画素Ｐｉｎを減算し、乗算部１８２−１に出力する。乗算部１８２−１は、減算部１８１−１からの入力（ＰＤＢ＿Ｈ−Ｐｉｎ）に対して、係数メモリ１７１からのデブロッキングＨフィルタ部１５２に対応する係数ＣＤＢ＿Ｈを乗算し、加算部１８３に出力する。
【０２０４】
減算部１８１−２は、デブロッキングＶフィルタ部１５３からのフィルタ後の画素ＰＤＢ＿Ｖから入力画素Ｐｉｎを減算し、乗算部１８２−２に出力する。乗算部１８２−２は、減算部１８１−２からの入力（ＰＤＢ＿Ｈ−Ｐｉｎ）に対して、係数メモリ１７１からのデブロッキングＶフィルタ部１５３に対応する係数ＣＤＢ＿Ｖを乗算し、加算部１８３に出力する。
【０２０５】
減算部１８１−３は、適応オフセットフィルタ部１５４からのフィルタ後の画素ＰＳＡＯから入力画素Ｐｉｎを減算し、乗算部１８２−３に出力する。乗算部１８２−３は、減算部１８１−３からの入力（ＰＳＡＯ−Ｐｉｎ）に対して、係数メモリ１７１からの適応オフセットフィルタ部１５４に対応する係数ＣＳＡＯを乗算し、加算部１８３に出力する。
【０２０６】
減算部１８１−４は、適応ループフィルタ部１５５からのフィルタ後の画素ＰＡＬＦから入力画素Ｐｉｎを減算し、乗算部１８２−４に出力する。乗算部１８２−４は、減算部１８１−３からの入力（ＰＡＬＦ−Ｐｉｎ）に対して、係数メモリ１７１からの適応ループフィルタ部１５５に対応する係数ＣＡＬＦを乗算し、加算部１８３に出力する。
【０２０７】
加算部１８３は、入力画素Ｐｉｎに、乗算部１８２−１乃至１８２−４からの乗算結果を、式（１）のように加算し、加算結果であるＰを、フレームメモリに出力する。
【０２０８】
Ｐ  ＝  Ｐｉｎ＋ＣＤＢ＿Ｈ×（ＰＤＢ＿Ｈ−Ｐｉｎ）＋ＣＤＢ＿Ｖ×（ＰＤＢ＿Ｖ−Ｐｉｎ）
＋ＣＳＡＯ×（ＰＳＡＯ−Ｐｉｎ）＋ＣＡＬＦ×（ＰＡＬＦ−Ｐｉｎ）        
・・・（１）
【０２０９】
係数メモリ１７１は、各フィルタに対応する係数を記憶している。例えば、係数メモリ１７１には、デブロッキングＨフィルタ部１５２に対応する係数ＣＤＢ＿Ｈ、およびデブロッキングＶフィルタ部１５３に対応する係数ＣＤＢ＿Ｖが記憶されている。また、係数メモリ１７１には、適応オフセットフィルタ部１５４に対応する係数ＣＳＡＯ、および適応ループフィルタ部１５５に対応する係数ＣＡＬＦが記憶されている。
【０２１０】
なお、これらの係数は、図示せぬ操作入力部を介してユーザにより設定可能にしてもよい。また、これらの係数は、画像の特性に応じて設定されてもよい。
【０２１１】
具体的には、ブロックノイズが多めの画像であるならば、例えば、デブロッキングＨフィルタ部１５２に対応する係数ＣＤＢ＿Ｈ、およびデブロッキングＶフィルタ部１５３に対応する係数ＣＤＢ＿Ｖが、他の係数よりも大きめに設定される。
【０２１２】
リンギングの多い画像であるならば、例えば、適応オフセットフィルタ部１５４に対応する係数ＣＳＡＯが、他の係数よりも大きめに設定される。
【０２１３】
上述したような特性が特にない画像であるならば、例えば、適応ループフィルタ部１５５に対応する係数ＣＡＬＦが、他の係数よりも大きめに設定される。
【０２１４】
これにより、単に決まった割合で出力するよりも、画像の特性に応じたよりよい画像を得ることが可能になる。
【０２１５】
［インループフィルタの処理例］
次に、図１０のフローチャートを参照して、図９のインループフィルタ３１の処理について説明する。なお、図１０の処理は、上述した図２のステップＳ２２のインループフィルタ処理の例であって、図４のステップＳ５８のインループフィルタ処理の例である。
【０２１６】
このインループフィルタ処理は、画面内の左上のLCUから処理が開始される。通常、LCUを構成するリコンストラクト画素は、前段からインループフィルタ３１の各部に入力される。これに対応して、ステップＳ１１１乃至Ｓ１１４の処理は、前段から入力されるリコンストラクト画素を用いて並行で実行される。
【０２１７】
一方、LCU境界において、LCUを構成するリコンストラクト画素は、前段からラインメモリ１５１に入力される。これに対応して、ステップＳ１１１乃至Ｓ１１４の処理は、ラインメモリ１５１に保持されたリコンストラクト画素を用いて並行で実行される。なお、上述したように、LCU境界において必要なラインの画素が入力された場合、ステップＳ１１１乃至Ｓ１１４においては、出力位相を揃えて処理が開始される。
【０２１８】
また、各部への入力は、インループフィルタ３１の各部においてそれぞれスイッチなどで切り替えられて用いられる。
【０２１９】
すなわち、デブロッキングＨフィルタ部１５２は、ステップＳ１１１において、ラインメモリ１５１または前段からのリコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施す。デブロッキングＨフィルタ部１５２は、Ｈフィルタ１１１によるフィルタ処理後の画素を、演算部１５６に出力する。
【０２２０】
デブロッキングＶフィルタ部１５３は、ステップＳ１１２において、ラインメモリ１５１または前段からのリコンストラクト画素に対して、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングＶフィルタ部１５３は、Ｖフィルタ１１２によるフィルタ処理後の画素を、演算部１５６に出力する。
【０２２１】
適応オフセットフィルタ部１５４は、ステップＳ１１３において、ラインメモリ１５１または前段からのリコンストラクト画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部１５４は、オフセットフィルタ１２１によるフィルタ処理後の画素を、演算部１５６に出力する。
【０２２２】
適応ループフィルタ部１５５は、ステップＳ１１４において、ラインメモリ１５１または前段からのリコンストラクト画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部１５５は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部１５６に出力する。
【０２２３】
ステップＳ１１５において、演算部１５６は、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５による各フィルタ処理後の４つの結果を演算する。
【０２２４】
演算部１５６は、４つのフィルタ部による４つの結果を、例えば、上述した式（１）のような線形和で演算し、演算結果を後段に出力する。
【０２２５】
ステップＳ１１６において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、LCU内の最後の画素であるかを判定する。ステップＳ１１６において、LCU内の最後の画素ではないと判定された場合、処理は、ステップＳ１１１に戻り、それ以降の処理が繰り返される。
【０２２６】
ステップＳ１１６において、LCU内の最後の画素であると判定された場合、処理は、ステップＳ１１７に進む。ステップＳ１１７において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、画面内の最後の画素であるか否かを判定する。ステップＳ１１７において、画面内の最後の画素ではないと判定された場合、処理は、ステップＳ１１８に進む。
【０２２７】
ステップＳ１１８において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５は、次のLCUを選択し、処理は、ステップＳ１１１に戻る。すなわち、ステップＳ１１８で選択されたLCUに対して、ステップＳ１１１以降の処理が繰り返される。
【０２２８】
ステップＳ１１７において、画面内の最後の画素ではないと判定された場合、インループフィルタ処理は終了される。
【０２２９】
以上のように、インループフィルタ３１を構成する４つのフィルタ処理の入力を、リコンストラクト画素として並列処理し、LCU境界においてはラインメモリを共有するようにしたので、図８を参照して上述したように、ラインメモリ数を減らすことが可能である。
【０２３０】
また、インループフィルタ３１は、前段からの画素またはラインメモリからの画素のどちらの画素を入力するかを切り替えるだけで、通常の処理とLCU境界の処理の切り替えを行うというシンプルな構成である。これにより、ソフトウエアなどで、デブロッキングフィルタ、適応オフセットフィルタ、および適応オフセットフィルタがそれぞれフレーム処理をする場合の制御も容易に行うことができる。
【０２３１】
さらに、演算部１５６においては、画像の特性に応じて、各フィルタに対応する係数を設定するようにしたので、単に決まった割合で出力するよりも、画像の特性に応じたよりよい画像を得ることが可能になる。
【０２３２】
なお、上記説明においては、演算部１５６は、各フィルタ出力の線形和を演算し、それを出力する例を説明したが、各フィルタ出力の単純な平均であってもよいし、各フィルタ出力の加重平均を演算するようにしてもよい。この場合、演算部１５６は、例えば、各画素についての加重平均の重みを、各画素のCUに対する垂直境界までの距離および水平境界までの距離に応じて決定することができる。
【０２３３】
図１１は、演算部１５６による加重平均のための重みの決定について説明するための説明図である。図１１の例においては、垂直境界ＶｚについてのデブロッキングＨフィルタ部１５２の出力および水平境界ＨｚについてのデブロッキングＶフィルタ部１５３の出力との加重平均を例に説明する。
【０２３４】
注目画素Ｐｚと最も近くの垂直境界Ｖｚとの間の距離Ｄｖは、３画素である。注目画素Ｐｚと最も近くの水平境界Ｈｚとの間の距離Ｄｈは２画素である。距離Ｄｈは、距離Ｄｖよりも小さい。この場合、演算部１５６は、水平境界ＨｚについてのデブロッキングＶフィルタ部１５３の出力についての重みを、垂直境界ＶｚについてのデブロッキングＨフィルタ部１５２の出力についての重みよりも大きく決定し得る。図１１の例の場合、垂直境界ＶｚについてのＨフィルタ出力ＰＤＢ＿Ｈと水平境界ＨｚについてのＶフィルタ出力ＰＤＢ＿Ｖとの間の重みの比は、２：３と決定されている。
【０２３５】
図１１から理解されるように、２つのフィルタ出力の加重平均が計算される結果として、水平方向に沿ったフィルタタップと垂直方向に沿ったフィルタタップとを有する１つの２次元フィルタが適用された場合と同等の出力画素値を、各注目画素について得ることができる。それにより、垂直境界及び水平境界についてのフィルタリング処理を並列化させた場合にも、垂直境界及び水平境界の双方に現れるブロック歪みを適切に減少させることができる。
【０２３６】
なお、他の例として、インループフィルタ３１は、Ｖフィルタ、Ｈフィルタ、および加重平均を同時に計算する１つの２次元フィルタを有していてもよい。ただし、その場合には、フィルタ係数を画素ごとに様々に変化させる必要性が生じるため、実装が極めて複雑となる。これに対し、図１１の例のように２つの１次元フィルタを並列的に実行した後に加重平均を計算することとすれば、既存のデブロッキングフィルタの仕組みを活かしながら、２次元フィルタに実質的に等しい処理を容易に実現することができる。
【０２３７】
図１２は、図１１の例に従って決定される加重平均のための重みの一例について説明するための説明図である。図１２の例においては、垂直境界と水平境界との１つの交点の周囲に位置する６×６＝３６個の画素（上述した重複位置の画素）が示されている。これら画素のうち、垂直境界及び水平境界から等距離に位置する画素については、フィルタ出力ＰＤＢ＿Ｈとフィルタ出力ＰＤＢ＿Ｖとの間の重みの比は１対１（又は２対２若しくは３対３）である。垂直境界により近い画素については、フィルタ出力ＰＤＢ＿Ｈへの重みの方がフィルタ出力ＰＤＢ＿Ｖへの重みよりも大きく決定されている（例えば、画素Ｐ１の重みの比はＰＤＢ＿Ｈ：ＰＤＢ＿Ｖ＝３：１）。一方、水平境界により近い画素については、フィルタ出力ＰＤＢ＿Ｈへの重みの方がフィルタ出力ＰＤＢ＿Ｖへの重みよりも小さく決定されている（例えば、画素Ｐ２の重みの比はＰＤＢ＿Ｈ：ＰＤＢ＿Ｖ＝１：３）。
【０２３８】
このように各画素と境界との間の距離に応じて加重平均の重みを変化させることで、ブロック歪みをより効果的に抑制して画質を改善することができる。
【０２３９】
なお、上述した重みは一例に過ぎない。例えば、演算部１５６は、各画素と境界との間の距離の代わりに（又はそれに加えて）、各画素に対応する垂直境界及び水平境界のエッジの強さに応じて、各画素についての加重平均の重みを決定してもよい。この場合、よりエッジの強い境界についてのフィルタ出力の重みが、よりエッジの弱い境界についてのフィルタ出力の重みよりも大きく決定され得る。このようにエッジの強さに応じて加重平均の重みを変化させることで、ブロック歪みが強く現れている境界について適応的にデブロックフィルタの効果を高めることができる。
【０２４０】
図１３は、垂直境界および水平境界におけるフィルタリング要否の判定結果に応じた演算部１５６からの出力画素値を示している。
【０２４１】
演算部１５６は、例えば、デブロッキングＨフィルタ部１５２およびデブロッキングＶフィルタ部１５３のいずれか一方によりフィルタリングされる画素については、実際にフィルタリングを行ったフィルタ部からの出力を選択する。また、演算部１５６は、デブロッキングＨフィルタ部１５２およびデブロッキングＶフィルタ部１５３のいずれによってもフィルタリングされない画素については、インループフィルタ３１への入力画素値をそのまま出力する。
【０２４２】
以上の加重平均は、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５の４つのフィルタについても適用することができる。
【０２４３】
例えば、垂直境界および水平境界においては、適応オフセットフィルタ部１５４および適応ループフィルタ部１５５への出力の加重が１とされ、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３の出力については上記加重平均が採用される。これにより、ブロック歪みが最適に除去された画像を得ることができる。
【０２４４】
なお、上記説明においては、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および適応ループフィルタ部１５５が並列に構成されるインループフィルタ３１の例について説明した。
【０２４５】
しかしながら、インループフィルタ３１の構成は、上述した４並列に限らず、図１４に示されるように構成することも可能である。
【０２４６】
図１４の例においては、インループフィルタ３１を構成し得る並列処理のパターンが示されている。左から順に図１４を説明する。
【０２４７】
インループフィルタ３１は、図７を参照して上述したように、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）からなる４並列で構成される。
【０２４８】
この場合、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）はリコンストラクト画素を用いて処理を行う。そして、４つのフィルタ結果が位相を合わせて、演算部１５６に出力される。
【０２４９】
インループフィルタ３１は、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）、および適応オフセットフィルタ（SAO）→適応ループフィルタ（ALF）からなる３並列で構成される。なお、図１４における→は、直列処理を表し、適応オフセットフィルタ（SAO）と適応ループフィルタ（ALF）は、従来のように直列で処理される。
【０２５０】
この場合、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）、および適応オフセットフィルタ（SAO）はリコンストラクト画素を用いて処理を行う。適応ループフィルタ（ALF）は、適応オフセットフィルタ（SAO）によるフィルタ後の画素を用いて処理を行う。そして、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）、および適応ループフィルタ（ALF）からの３つのフィルタ結果が位相を合わせて、演算部１５６に出力される。なお、この３並列で構成されるインループフィルタ３１の構成例は、図１５を参照して後述される。
【０２５１】
インループフィルタ３１は、デブロッキングＨフィルタ（D-H）→デブロッキングＶフィルタ（D-V）、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）からなる３並列で構成される。なお、この場合、デブロッキングＨフィルタ（D-H）およびデブロッキングＶフィルタ（D-V）は、従来のように直列で処理される。
【０２５２】
また、この場合、デブロッキングＨフィルタ（D-H）、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）はリコンストラクト画素を用いて処理を行う。デブロッキングＶフィルタ（D-V）は、デブロッキングＨフィルタ（D-H）によるフィルタ後の画素を用いて処理を行う。そして、デブロッキングＶフィルタ（D-V）、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）からの３つのフィルタ結果が位相を合わせて、演算部１５６に出力される。
【０２５３】
インループフィルタ３１は、デブロッキングＨフィルタ（D-H）→デブロッキングＶフィルタ（D-V）、並びに、適応オフセットフィルタ（SAO）→適応ループフィルタ（ALF）からなる２並列で構成される。この場合、デブロッキングＨフィルタ（D-H）およびデブロッキングＶフィルタ（D-V）は、従来のように直列で処理され、適応オフセットフィルタ（SAO）と適応ループフィルタ（ALF）は、従来のように直列で処理される。
【０２５４】
また、この場合、デブロッキングＨフィルタ（D-H）、および適応オフセットフィルタ（SAO）はリコンストラクト画素を用いて処理を行う。デブロッキングＶフィルタ（D-V）は、デブロッキングＨフィルタ（D-H）によるフィルタ後の画素を用いて処理を行い、適応ループフィルタ（ALF）は、適応オフセットフィルタ（SAO）によるフィルタ後の画素を用いて処理を行う。そして、デブロッキングＶフィルタ（D-V）、および適応ループフィルタ（ALF）からの２つのフィルタ結果が位相を合わせて、演算部１５６に出力される。
【０２５５】
インループフィルタ３１は、デブロッキングＨフィルタ（D-H）→デブロッキングＶフィルタ（D-V）からの画素を入力する適応オフセットフィルタ（SAO）および適応ループフィルタ（ALF）からなる２並列で構成される。この場合、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）、および適応オフセットフィルタ（SAO）は、従来のように直列で処理される。
【０２５６】
また、この場合、デブロッキングＨフィルタ（D-H）、および適応ループフィルタ（ALF）はリコンストラクト画素を用いて処理を行う。デブロッキングＶフィルタ（D-V）は、デブロッキングＨフィルタ（D-H）によるフィルタ後の画素を用いて処理を行い、適応オフセットフィルタ（SAO）は、デブロッキングＶフィルタ（D-V）によるフィルタ後の画素を用いて処理を行う。そして、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）からの２つのフィルタ結果が位相を合わせて、演算部１５６に出力される。
【０２５７】
インループフィルタ３１は、デブロッキングフィルタ（D-H）→デブロッキングＶフィルタ（D-V）→適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）からなる２並列で構成される。この場合、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）は、従来のように直列で処理される。
【０２５８】
また、この場合、デブロッキングＨフィルタ（D-H）はリコンストラクト画素を用いて処理を行い、デブロッキングＶフィルタ（D-V）は、デブロッキングＨフィルタ（D-H）によるフィルタ後の画素を用いて処理を行う。適応オフセットフィルタ（SAO）および適応ループフィルタ（ALF）は、デブロッキングＶフィルタ（D-V）によるフィルタ後の画素を用いて処理を行う。そして、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）からの２つのフィルタ結果が位相を合わせて、演算部１５６に出力される。
【０２５９】
なお、図中、左から５番目と６番目の構成の違いは、５番目の適応ループフィルタ（ALF）に入力される画素がリコンストラクト画素であるのに対して、６番目の適応ループフィルタ（ALF）に入力される画素がデブロッキングフィルタ後の画素であることである。
【０２６０】
また、図１４の例において、適応オフセットフィルタ（SAO）、および適応ループフィルタ（ALF）が直列に処理されるもの（図中、左から２番目と４番目の構成）については、適応ループフィルタ（ALF）を演算部１５６の後に配置することも可能である。
【０２６１】
左から２番目の３並列の構成において、適応ループフィルタ（ALF）を演算部１５６の後に配置する場合、デブロッキングＨフィルタ（D-H）、デブロッキングＶフィルタ（D-V）、および適応オフセットフィルタ（SAO）からの３つのフィルタ結果が位相を合わせて、演算部１５６に出力される。そして、適応ループフィルタ（ALF）は、演算部１５６による演算後の画素を用いて処理を行い、後段に出力する。この場合の例としては、図１９を参照して後述される。
【０２６２】
左から４番目の２並列の構成において、適応ループフィルタ（ALF）を演算部１５６の後に配置する場合、デブロッキングＶフィルタ（D-V）、および適応オフセットフィルタ（SAO）からの２つのフィルタ結果が位相を合わせて、演算部１５６に出力される。そして、適応ループフィルタ（ALF）は、演算部１５６による演算後の画素を用いて処理を行い、後段に出力する。
【０２６３】
＜４．第２の実施の形態＞
［インループフィルタの詳細な構成例］
図１５は、インループフィルタの構成例を示すブロック図である。図１５に示されるインループフィルタ３１は、図１４の左から２番目に示された３並列の場合の構成例である。
【０２６４】
図１５のインループフィルタ３１は、適応オフセットフィルタ部１５４、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３を含む点が、図９のインループフィルタ３１と共通している。
【０２６５】
図１５のインループフィルタ３１は、ラインメモリ１５１、適応ループフィルタ部１５５、演算部１５６、および係数メモリ１７１の代わりに、ラインメモリ２０１、適応ループフィルタ部２０２、演算部２０３、および係数メモリ２０４を備える点が、図９のインループフィルタ３１と異なる。
【０２６６】
前段からの入力画素であるリコンストラクト画素は、ラインメモリ２０１、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、適応オフセットフィルタ部１５４、および演算部２０３に入力される。
【０２６７】
LCU境界において、ラインメモリ２０１は、輝度信号について、LCU境界から４ライン分のリコンストラクト画素を保持し、色差信号について、LCU境界から３ライン分のリコンストラクト画素を保持するように構成されている。
【０２６８】
LCU境界において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、リコンストラクト画素が保持されたラインメモリ２０１を共有している。
【０２６９】
通常（LCU境界以外）の処理においては、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、前段から入力されるリコンストラクト画素に対して、並列に各フィルタ処理を行う。そして、デブロッキングＨフィルタ部１５２、およびデブロッキングＶフィルタ部１５３は、演算部２０３にフィルタ処理後の画素をそれぞれ出力する。また、適応オフセットフィルタ部１５４は、適応ループフィルタ部２０２にフィルタ処理後の画素を出力する。
【０２７０】
LCU境界においては、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、ラインメモリ２０１に保持されたリコンストラクト画素に対して、並列に各フィルタ処理を行う。そして、デブロッキングＨフィルタ部１５２、およびデブロッキングＶフィルタ部１５３は、演算部２０３にフィルタ処理後の画素をそれぞれ出力する。また、適応オフセットフィルタ部１５４は、適応ループフィルタ部２０２にフィルタ処理後の画素を出力する。
【０２７１】
なお、LCU境界において必要なラインの画素が入力されると、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応ループフィルタ部２０２は、出力位相を揃えて処理を再開する。このため、適応オフセットフィルタ部１５４は、適応ループフィルタ部２０２が他のフィルタ部と出力位相を揃えられるような出力位相で処理を再開する。
【０２７２】
適応ループフィルタ部２０２は、適応オフセットフィルタ部１５４と演算部２０３の間に設けられ、図６のループフィルタ１３１およびラインメモリ２１１を含むように構成される。
【０２７３】
LCU境界において、ラインメモリ２１１は、輝度信号について、LCU境界から４ライン分の適応オフセットフィルタ後の画素を保持し、色差信号について、LCU境界から４ライン分の適応オフセットフィルタ後画素を保持するように構成されている。
【０２７４】
通常、適応ループフィルタ部２０２は、適応オフセットフィルタ部１５４からの画素に対して、ブロックベースでクラス分類を行い、ループフィルタ１３１による適応ループフィルタ処理を行う。LCU境界において、適応ループフィルタ部２０２は、適応オフセットフィルタ部１５４からの画素をラインメモリ２１１に一旦保持する。そして、適応ループフィルタ部２０２は、ラインメモリ２１１の画素に対して、ブロックベースでクラス分類を行い、ループフィルタ１３１による適応ループフィルタ処理を行う。適応ループフィルタ部２０２は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部２０３に出力する。
【０２７５】
演算部２０３は、減算部１８１−１乃至１８１−３、乗算部１８２−１乃至１８２−３、および加算部１８３により構成されており、各フィルタ処理後の出力Ｐを線形和で演算する。なお、演算部２０３における入力画素としては、通常、前段からのリコンストラクト画素が用いられるが、LCU境界においては、ラインメモリ２０１に保持されている画素が読み出されて用いられる。
【０２７６】
減算部１８１−１は、デブロッキングＨフィルタ部１５２からのフィルタ後の画素ＰＤＢ＿Ｈから入力画素Ｐｉｎを減算し、乗算部１８２−１に出力する。乗算部１８２−１は、減算部１８１−１からの入力（ＰＤＢ＿Ｈ−Ｐｉｎ）に対して、係数メモリ２０４からのデブロッキングＨフィルタ部１５２に対応する係数ＣＤＢ＿Ｈを乗算し、加算部１８３に出力する。
【０２７７】
減算部１８１−２は、デブロッキングＶフィルタ部１５３からのフィルタ後の画素ＰＤＢ＿Ｖから入力画素Ｐｉｎを減算し、乗算部１８２−２に出力する。乗算部１８２−２は、減算部１８１−２からの入力（ＰＤＢ＿Ｈ−Ｐｉｎ）に対して、係数メモリ２０４からのデブロッキングＶフィルタ部１５３に対応する係数ＣＤＢ＿Ｖを乗算し、加算部１８３に出力する。
【０２７８】
減算部１８１−３は、適応ループフィルタ部２０２からのフィルタ後の画素ＰＡＬＦから入力画素Ｐｉｎを減算し、乗算部１８２−３に出力する。乗算部１８２−３は、減算部１８１−３からの入力（ＰＡＬＦ−Ｐｉｎ）に対して、係数メモリ２０４からの適応オフセットフィルタ部１５４および適応ループフィルタ部２０２に対応する係数ＣＳＡＯ／ＡＬＦを乗算し、加算部１８３に出力する。
【０２７９】
加算部１８３は、入力画素Ｐｉｎに、乗算部１８２−１乃至１８２−３からの乗算結果を加算し、加算結果であるＰを、フレームメモリに出力する。
【０２８０】
係数メモリ２０４は、各フィルタに対応する係数を記憶している。例えば、係数メモリ２０４には、デブロッキングＨフィルタ部１５２に対応する係数ＣＤＢ＿Ｈ、およびデブロッキングＶフィルタ部１５３に対応する係数ＣＤＢ＿Ｖが記憶されている。また、係数メモリ２０４には、適応オフセットフィルタ部１５４および適応ループフィルタ部２０２に対応する係数ＣＳＡＯ／ＡＬＦが記憶されている。なお、これらの係数も、係数メモリ２０４における係数と同様に、図示せぬ操作入力部を介してユーザにより設定可能である。
【０２８１】
ここで、図１６および図１７を参照して、図１５の例のインループフィルタ３１の場合に必要なラインメモリ数について説明する。図１６および図１７の例において、丸は、画素を表し、図中下のラインがLCU境界を表している。
【０２８２】
図１６は、輝度信号の場合のLCU境界の画素の例を示している。図１６の輝度信号の場合、LCU境界から１ライン目乃至４ライン目の丸は、未デブロッキングＶ画素であって、LCU境界においてラインメモリ２０１への保持が必要な画素である。LCU境界から２ライン目乃至５ライン目の丸は、オフセットフィルタ(SAO)後画素であって、ラインメモリ２１１への保持が必要な画素を表している。LCU境界から４ライン目より上の丸は、ループフィルタ(ALF)後画素を表している。
【０２８３】
LCU境界においては、デブロッキングＶフィルタ部１５３は、図５を参照して上述したように、輝度信号の場合、次のLCUの４ラインの画素が入力されるまで、LCU境界から１ライン目乃至３ライン目の画素の処理において待機状態となる。すなわち、デブロッキングＶフィルタ部１５３が、LCU境界から４ライン目までしか処理することができないので、デブロッキングＨフィルタ部１５２と適応ループフィルタ部２０２は、デブロッキングＶフィルタ部１５３に出力位相を揃えることが必要となる。
【０２８４】
ここで、適応ループフィルタ部２０２は、適応オフセットフィルタ部１５４によるフィルタ(SAO)後の画素を処理する。したがって、適応ループフィルタ部２０２が３ライン目から処理できるように、適応オフセットフィルタ部１５４は、LCU境界から２ライン目までの処理を完了させる。そして、適応オフセットフィルタ部１５４は、図１６のSAO後画素に示されるように、次のLCU境界から１ライン目の画素の処理において待機状態となる。
【０２８５】
そして、次のLCUの４ラインの画素が入力されると、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３は、LCU境界から３ライン目の画素から出力するように処理を開始する。また、適応オフセットフィルタ部１５４は、LCU境界から１ライン目の画素から出力するように処理を開始する。
【０２８６】
その際、デブロッキングＨフィルタ部１５２においては、LCU境界から１乃至３ライン目の画素がラインメモリ２０１に保持されている必要がある。デブロッキングＶフィルタ部１５３においては、LCU境界から１乃至４ライン目の画素がラインメモリ２０１に保持されている必要がある。適応オフセットフィルタ部１５４においては、LCU境界から１および２ライン目の画素がラインメモリ２０１に保持されている必要がある。
【０２８７】
したがって、輝度信号の場合、ラインメモリ２０１には、LCU境界から１乃至４ライン目の４ライン分の画素が保持されていればよい。
【０２８８】
一方、上述したように、適応オフセットフィルタ部１５４においては、LCU境界から２ライン目までは処理がなされる。よって、適応ループフィルタ部２０２は、LCU境界から４ライン目までの処理を完了させ、次のLCU境界から３ライン目の画素の処理において待機状態となる。
【０２８９】
そして、処理が再開されたとき、適応ループフィルタ部２０２には、適応オフセットフィルタ部１５４によるフィルタ処理後のLCU境界から１ライン目の画素が入力されるので、適応ループフィルタ部２０２は、LCU境界から３ライン目の画素から出力する。
【０２９０】
その際、適応ループフィルタ部２０２においては、LCU境界から２乃至５ライン目の４ライン分の画素がラインメモリ２１１に保持されている必要がある。
【０２９１】
以上により、図１５のインループフィルタ３１においては、輝度信号の場合には、４ライン分のラインメモリ２０１および４ライン分のラインメモリ２１１が必要となり、従来の９ライン分の画素と比して、１ライン分のラインメモリ数を減らすことが可能である。
【０２９２】
図１７は、色差信号の場合のLCU境界の画素の例を示している。図１７の色差信号の場合、LCU境界から１ライン目乃至３ライン目の丸は、未デブロッキングＶ画素であって、LCU境界においてラインメモリ２０１への保持が必要な画素を表している。LCU境界から２ライン目乃至５ライン目の丸は、オフセットフィルタ(SAO)後画素であって、ラインメモリ２１１への保持が必要な画素を表している。LCU境界から４ライン目より上の丸は、ループフィルタ(ALF)後画素を表している。
【０２９３】
色差信号の場合のLCU境界においては、デブロッキングＶフィルタ部１５３は、次のLCUの２ライン分の画素が入力されるまで、LCU境界から１ライン目および２ライン目の画素の処理において待機状態となる。
【０２９４】
このため、適応オフセットフィルタ部１５４は、LCU境界から２ライン目までの処理しか完了できないので、適応ループフィルタ部２０２は、LCU境界から４ライン目までの処理しか完了できず、LCU境界から３ライン目の画素の処理において待機状態となる。
【０２９５】
すなわち、デブロッキングＨフィルタ部１５２、およびデブロッキングＶフィルタ部１５３は、LCU境界から２ライン目の画素から処理可能である。しかしながら、適応ループフィルタ部２０２がLCU境界から３ライン目からしか処理することができないので、適応ループフィルタ部２０２に出力位相を揃えることが必要となる。
【０２９６】
したがって、次のLCUの２ラインの画素が入力されると、デブロッキングＨフィルタ部１５２、およびデブロッキングＶフィルタ部１５３は、LCU境界から３ライン目の画素から出力するように処理を開始する。また、適応オフセットフィルタ部１５４は、LCU境界から１ライン目の画素から出力するように処理を開始する。
【０２９７】
その際、デブロッキングＨフィルタ部１５２においては、LCU境界から１および３ライン目の画素がラインメモリ２０１に保持されている必要がある。デブロッキングＶフィルタ部１５３においては、LCU境界から１および３ライン目の画素がラインメモリ２０１に保持されている必要がある。適応オフセットフィルタ部１５４においては、LCU境界から１および２ライン目の画素がラインメモリ２０１に保持されている必要がある。
【０２９８】
したがって、色差信号の場合の場合、ラインメモリ２０１には、LCU境界から１乃至３ライン目の３ライン分の画素が保持されていればよい。
【０２９９】
一方、処理が再開されたとき、適応ループフィルタ部２０２には、適応オフセットフィルタ部１５４によるフィルタ処理後のLCU境界から１ライン目の画素が入力されるので、LCU境界から３ライン目の画素から出力することになる。
【０３００】
その際、適応ループフィルタ部２０２においては、LCU境界から２乃至５ライン目の４ライン分の画素がラインメモリ２１１に保持されている必要がある。
【０３０１】
以上により、図１５のインループフィルタ３１においては、色差信号の場合には、３ライン分のラインメモリ２０１および４ライン分のラインメモリ２１１が必要となる。これは、従来の７ライン分の画素と同等のラインメモリであるが、輝度信号の場合にラインメモリ数が減るので、図１５のインループフィルタ３１の場合も、総合的に見て効果が得られる。
【０３０２】
［インループフィルタの処理例］
次に、図１８を参照して、図１５のインループフィルタ３１の処理について説明する。なお、図１０の処理は、上述した図２のステップＳ２２のインループフィルタ処理の例であって、図４のステップＳ５８のインループフィルタ処理の例である。
【０３０３】
このインループフィルタ処理は、画面内の左上のLCUから処理が開始される。通常、LCUを構成するリコンストラクト画素は、前段からインループフィルタ３１の各部に入力される。これに対応して、ステップＳ２０１乃至Ｓ２０３の処理は、前段から入力されるリコンストラクト画素を用いて並行で実行される。
【０３０４】
一方、LCU境界において、LCUを構成するリコンストラクト画素は、前段からラインメモリ２０１に入力される。これに対応して、ステップＳ２０１乃至Ｓ２０３の処理は、ラインメモリ２０１に保持されたリコンストラクト画素を用いて並行で実行される。なお、上述したように、LCU境界において必要なラインの画素が入力された場合、ステップＳ２０１、Ｓ２０２、およびＳ２０４においては、出力位相を揃えて処理が開始される。そして、ステップＳ２０３においては、ステップＳ２０１、Ｓ２０２、およびＳ２０４において出力位相が揃うようなタイミングで処理が開始される。
【０３０５】
また、各部への入力は、インループフィルタ３１の各部においてそれぞれスイッチなどで切り替えられて用いられる。
【０３０６】
すなわち、デブロッキングＨフィルタ部１５２は、ステップＳ２０１において、ラインメモリ２０１または前段からのリコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施す。デブロッキングＨフィルタ部１５２は、Ｈフィルタ１１１によるフィルタ処理後の画素を、演算部２０３に出力する。
【０３０７】
デブロッキングＶフィルタ部１５３は、ステップＳ２０２において、ラインメモリ２０１または前段からのリコンストラクト画素に対して、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングＶフィルタ部１５３は、Ｖフィルタ１１２によるフィルタ処理後の画素を、演算部２０３に出力する。
【０３０８】
適応オフセットフィルタ部１５４は、ステップＳ２０３において、ラインメモリ２０１または前段からのリコンストラクト画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部１５４は、オフセットフィルタ１２１によるフィルタ処理後の画素を、適応ループフィルタ部２０２に出力する。
【０３０９】
適応ループフィルタ部２０２は、ステップＳ２０４において、ラインメモリ２１１または適応オフセットフィルタ部１５４からのオフセットフィルタ１２１済みの画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部２０２は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部２０３に出力する。
【０３１０】
ステップＳ２０５において、演算部２０３は、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応ループフィルタ部２０２による各フィルタ処理後の３つの結果を演算する。
【０３１１】
演算部２０３は、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応ループフィルタ部２０２による３つの結果を、例えば、線形和で演算し、演算結果を後段に出力する。
【０３１２】
ステップＳ２０６において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応ループフィルタ部２０２は、LCU内の最後の画素であるかを判定する。ステップＳ２０６において、LCU内の最後の画素ではないと判定された場合、処理は、ステップＳ２０１に戻り、それ以降の処理が繰り返される。
【０３１３】
ステップＳ２０６において、LCU内の最後の画素であると判定された場合、処理は、ステップＳ２０７に進む。ステップＳ２０７において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応ループフィルタ部２０２は、画面内の最後の画素であるか否かを判定する。ステップＳ２０７において、画面内の最後の画素ではないと判定された場合、処理は、ステップＳ２０８に進む。
【０３１４】
ステップＳ２０８において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応ループフィルタ部２０２は、次のLCUを選択し、処理は、ステップＳ２０１に戻る。すなわち、ステップＳ２０８で選択されたLCUに対して、ステップＳ２０１以降の処理が繰り返される。
【０３１５】
ステップＳ２０７において、画面内の最後の画素ではないと判定された場合、インループフィルタ処理は終了される。
【０３１６】
以上のように、図１５の例の場合も、インループフィルタ３１を構成する３つのフィルタ処理の入力を、リコンストラクト画素として並列処理し、LCU境界においてはラインメモリを共有するようにしたので、ラインメモリ数を減らすことが可能である。
【０３１７】
また、インループフィルタ３１は、前段からの画素またはラインメモリからの画素のどちらの画素を入力するかを切り替えるだけで、通常の処理とLCU境界の処理の切り替えを行うというシンプルな構成である。これにより、ソフトウエアなどで、デブロッキングフィルタ、適応オフセットフィルタ、および適応オフセットフィルタがそれぞれフレーム処理をする場合の制御も容易に行うことができる。
【０３１８】
なお、図１５の例においては、適応ループフィルタ部２０２を演算部２０３の前に配置する例を説明したが、図１４を参照して上述したように、演算部２０３による加算後に、適応ループフィルタ部２０２を構成することも可能である。加算後に適応ループフィルタを構成するインループフィルタ３１の例を、次の図１９を参照して説明する。
【０３１９】
＜５．第３の実施の形態＞
［インループフィルタの詳細な構成例］
図１９は、インループフィルタの構成例を示すブロック図である。図１９に示されるインループフィルタ３１は、加算後に適応ループフィルタを構成する場合の例である。
【０３２０】
図１９のインループフィルタ３１は、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４を含む点が、図１５のインループフィルタ３１と共通している。図１９のインループフィルタ３１は、ラインメモリ２０１、演算部２０３、および係数メモリ２０４を含む点が、図１５のインループフィルタ３１と共通している。
【０３２１】
これに対して、図１９のインループフィルタ３１は、適応ループフィルタ部２０２の代わりに、適応ループフィルタ部２２１を備える点が、図１５のインループフィルタ３１と異なる。
【０３２２】
すなわち、適応オフセットフィルタ部１５４は、デブロッキングＨフィルタ部１５２、およびデブロッキングＶフィルタ部１５３と同様に、フィルタ処理後の画素を、演算部２０３に出力する。
【０３２３】
演算部２０３の減算部１８１−３は、適応オフセットフィルタ部１５４からのフィルタ後の画素ＰＳＡＯから入力画素Ｐｉｎを減算し、乗算部１８２−３に出力する。乗算部１８２−３は、減算部１８１−３からの入力（ＰＳＡＯ−Ｐｉｎ）に対して、係数メモリ２０４からの適応オフセットフィルタ部１５４に対応する係数ＣＳＡＯを乗算し、加算部１８３に出力する。なお、図１９の例においては、係数メモリ２０４には、適応オフセットフィルタ部１５４に対応する係数ＣＳＡＯが記憶されている。
【０３２４】
加算部１８３は、入力画素Ｐｉｎに、乗算部１８２−１乃至１８２−３からの乗算結果を加算し、加算結果であるＰを、適応ループフィルタ部２２１に出力する。
【０３２５】
適応ループフィルタ部２２１は、演算部２０３の後段に設けられ、図１５の適応ループフィルタ部２０２と同様に、図６のループフィルタ１３１およびラインメモリ２１１を含むように構成される。
【０３２６】
LCU境界において、ラインメモリ２１１は、輝度信号について、LCU境界から４ライン分の適応オフセットフィルタ後の画素を保持し、色差信号について、LCU境界から４ライン分の適応オフセットフィルタ後画素を保持するように構成されている。
【０３２７】
通常、適応ループフィルタ部２２１は、加算部１８３からの画素に対して、ブロックベースでクラス分類を行い、ループフィルタ１３１による適応ループフィルタ処理を行う。LCU境界において、適応ループフィルタ部２２１は、加算部１８３からの画素をラインメモリ２１１に一旦保持し、ラインメモリ２１１の画素に対して、ブロックベースでクラス分類を行い、ループフィルタ１３１による適応ループフィルタ処理を行う。適応ループフィルタ部２２１は、ループフィルタ１３１によるフィルタ処理後の画素を、後段のフレームメモリなどに出力する。
【０３２８】
ここで、図１９の例のインループフィルタ３１の場合に必要なラインメモリ数について説明する。
【０３２９】
LCU境界においては、デブロッキングＶフィルタ部１５３は、図５を参照して上述したように、輝度信号の場合、次のLCUの４ラインの画素が入力されるまで、LCU境界から１ライン目乃至３ライン目の画素の処理において待機状態となる。すなわち、デブロッキングＶフィルタ部１５３が、LCU境界から４ライン目までしか処理することができないので、並列する他のフィルタ部は、デブロッキングＶフィルタ部１５３に出力位相を揃えることが必要となる。
【０３３０】
したがって、適応オフセットフィルタ部１５４も、LCU境界から４ライン目までの処理を完了し、次のLCU境界から３ライン目の画素の処理において待機状態となる。
【０３３１】
そして、次のLCUの４ラインの画素が入力されると、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、LCU境界から３ライン目の画素から出力するように処理を開始する。
【０３３２】
その際、デブロッキングＨフィルタ部１５２においては、LCU境界から１乃至３ライン目の画素がラインメモリ２０１に保持されている必要がある。デブロッキングＶフィルタ部１５３においては、LCU境界から１乃至４ライン目の画素がラインメモリ２０１に保持されている必要がある。適応オフセットフィルタ部１５４においては、LCU境界から１乃至４ライン目の画素がラインメモリ２０１に保持されている必要がある。
【０３３３】
したがって、輝度信号の場合、ラインメモリ２０１には、LCU境界から１乃至４ライン目の４ライン分の画素が保持されていればよい。
【０３３４】
一方、適応ループフィルタ部２０２は、適応オフセットフィルタ部１５４によるフィルタ処理後の画素を処理するので、LCU境界から６ライン目までの処理を完了し、次のLCU境界から５ライン目の画素の処理において待機状態となる。
【０３３５】
そして、処理が再開されたとき、適応ループフィルタ部２０２には、適応オフセットフィルタ部１５４によるフィルタ処理後のLCU境界から３ライン目の画素が入力されるので、LCU境界から５ライン目の画素から出力することになる。
【０３３６】
その際、適応ループフィルタ部２０２においては、LCU境界から４乃至７ライン目の４ライン分の画素がラインメモリ２１１に保持されている必要がある。
【０３３７】
以上により、図１５のインループフィルタ３１においては、４ライン分のラインメモリ２０１および４ライン分のラインメモリ２１１が必要となり、図５を参照して上述した従来の９ライン分の画素と比して、１ライン分のラインメモリ数を減らすことが可能である。
【０３３８】
なお、色差信号の場合、LCU境界においては、デブロッキングＶフィルタ部１５３は、次のLCUの２ライン分の画素が入力されるまで、LCU境界から１ライン目および２ライン目の画素の処理において待機状態となる。すなわち、デブロッキングＶフィルタ部１５３は、LCU境界から３ライン目までしか処理することができないので、並列する他のフィルタ部は、デブロッキングＶフィルタ部１５３に出力位相を揃えることが必要となる。
【０３３９】
したがって、適応オフセットフィルタ部１５４は、LCU境界から３ライン目までの処理を完了させ、次のLCU境界から２ライン目の画素の処理において待機状態となる。
【０３４０】
そして、次のLCUの２ラインの画素が入力されると、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、LCU境界から２ライン目の画素から出力するように処理を開始する。
【０３４１】
その際、デブロッキングＨフィルタ部１５２においては、LCU境界から１および２ライン目の画素がラインメモリ２０１に保持されている必要がある。デブロッキングＶフィルタ部１５３においては、LCU境界から１および２ライン目の画素がラインメモリ２０１に保持されている必要がある。適応オフセットフィルタ部１５４においては、LCU境界から１および２ライン目の画素がラインメモリ２０１に保持されている必要がある。
【０３４２】
したがって、色差信号の場合の場合、ラインメモリ２０１には、LCU境界から１乃至２ライン目の２ライン分の画素が保持されていればよい。
【０３４３】
一方、適応ループフィルタ部２０２は、適応オフセットフィルタ部１５４によるフィルタ処理後の画素を処理するので、LCU境界から５ライン目までの処理が完了し、次のLCU境界から４ライン目の画素の処理において待機状態となる。
【０３４４】
そして、処理が再開されたとき、適応ループフィルタ部２０２には、適応オフセットフィルタ部１５４によるフィルタ処理後のLCU境界から２ライン目の画素が入力されるので、LCU境界から４ライン目の画素から出力することになる。
【０３４５】
その際、適応ループフィルタ部２０２においては、LCU境界から３乃至６ライン目の４ライン分の画素がラインメモリ２１１に保持されている必要がある。
【０３４６】
以上により、図１５のインループフィルタ３１においては、２ライン分のラインメモリ２０１および４ライン分のラインメモリ２１１が必要となり、図５を参照して上述した従来の７ライン分の画素と比して、１ライン分のラインメモリ数を減らすことが可能である。
【０３４７】
すなわち、図１５のインループフィルタ３１においては、色差信号の場合、図５を参照して上述した従来の７ライン分の画素と比して、１ライン分ラインメモリ数を減らすことが可能である。
【０３４８】
［インループフィルタの処理例］
次に、図２０を参照して、図１９のインループフィルタ３１の処理について説明する。なお、図２０の処理は、上述した図２のステップＳ２２のインループフィルタ処理の例であって、図４のステップＳ５８のインループフィルタ処理の例である。
【０３４９】
このインループフィルタ処理は、画面内の左上のLCUから処理が開始される。通常、LCUを構成するリコンストラクト画素は、前段からインループフィルタ３１の各部に入力される。これに対応して、ステップＳ２３１乃至Ｓ２３３の処理は、前段から入力されるリコンストラクト画素を用いて並行で実行される。
【０３５０】
一方、LCU境界において、LCUを構成するリコンストラクト画素は、前段からラインメモリ２０１に入力される。これに対応して、ステップＳ２３１乃至Ｓ２３３の処理は、ラインメモリ２０１に保持されたリコンストラクト画素を用いて並行で実行される。なお、上述したように、LCU境界において必要なラインの画素が入力された場合、ステップＳ２３１乃至Ｓ２３３においては、出力位相を揃えて処理が開始される。
【０３５１】
また、各部への入力は、インループフィルタ３１の各部においてそれぞれスイッチなどで切り替えられて用いられる。
【０３５２】
すなわち、デブロッキングＨフィルタ部１５２は、ステップＳ２３１において、ラインメモリ２０１または前段からのリコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施す。デブロッキングＨフィルタ部１５２は、Ｈフィルタ１１１によるフィルタ処理後の画素を、演算部２０３に出力する。
【０３５３】
デブロッキングＶフィルタ部１５３は、ステップＳ２３２において、ラインメモリ２０１または前段からのリコンストラクト画素に対して、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングＶフィルタ部１５３は、Ｖフィルタ１１２によるフィルタ処理後の画素を、演算部２０３に出力する。
【０３５４】
適応オフセットフィルタ部１５４は、ステップＳ２３３において、ラインメモリ２０１または前段からのリコンストラクト画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部１５４は、オフセットフィルタ１２１によるフィルタ処理後の画素を、演算部２０３に出力する。
【０３５５】
ステップＳ２３４において、演算部２０３は、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４による各フィルタ処理後の３つの結果を演算する。
【０３５６】
演算部２０３は、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４による３つの結果を、例えば、線形和で演算し、演算結果を、適応ループフィルタ部２２１に出力する。
【０３５７】
ステップＳ２３５において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、LCU内の最後の画素であるかを判定する。ステップＳ２３５において、LCU内の最後の画素ではないと判定された場合、処理は、ステップＳ２３１に戻り、それ以降の処理が繰り返される。
【０３５８】
ステップＳ２３５において、LCU内の最後の画素であると判定された場合、処理は、ステップＳ２３６に進む。ステップＳ２３６において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、画面内の最後の画素であるか否かを判定する。ステップＳ２３６において、画面内の最後の画素ではないと判定された場合、処理は、ステップＳ２３７に進む。
【０３５９】
ステップＳ２３７において、デブロッキングＨフィルタ部１５２、デブロッキングＶフィルタ部１５３、および適応オフセットフィルタ部１５４は、次のLCUを選択し、処理は、ステップＳ２３１に戻る。すなわち、ステップＳ２３７で選択されたLCUに対して、ステップＳ２３１以降の処理が繰り返される。
【０３６０】
ステップＳ２３７において、画面内の最後の画素であると判定された場合、処理は、ステップＳ２３８に進む。
【０３６１】
適応ループフィルタ部２２１は、ステップＳ２３８において、ラインメモリ２１１または演算部２０３（加算部１８３）からのオフセットフィルタ１２１済みの画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部２２１は、ループフィルタ１３１によるフィルタ処理後の画素を、後段のフレームメモリなどに出力する。
【０３６２】
ステップＳ２３９において、適応ループフィルタ部２２１は、LCU内の最後の画素であるかを判定する。ステップＳ２３９において、LCU内の最後の画素ではないと判定された場合、処理は、ステップＳ２３８に戻り、それ以降の処理が繰り返される。
【０３６３】
ステップＳ２３９において、LCU内の最後の画素であると判定された場合、処理は、ステップＳ２４０に進む。ステップＳ２４０において、適応ループフィルタ部２２１は、画面内の最後の画素であるか否かを判定する。ステップＳ２４０において、画面内の最後の画素ではないと判定された場合、処理は、ステップＳ２４１に進む。
【０３６４】
ステップＳ２４１において、適応ループフィルタ部２２１は、次のLCUを選択し、処理は、ステップＳ２３８に戻る。すなわち、ステップＳ２４１で選択されたLCUに対して、ステップＳ２３８以降の処理が繰り返される。
【０３６５】
ステップＳ２４０において、画面内の最後の画素であると判定された場合、図２０のインループフィルタ処理は終了される。
【０３６６】
以上のように、図１９の例の場合も、インループフィルタ３１を構成する３つのフィルタ処理の入力を、リコンストラクト画素として並列処理し、LCU境界においてはラインメモリを共有するようにしたので、ラインメモリ数を減らすことが可能である。
【０３６７】
また、インループフィルタ３１は、前段からの画素またはラインメモリからの画素のどちらの画素を入力するかを切り替えるだけで、通常の処理とLCU境界の処理の切り替えを行うというシンプルな構成である。これにより、ソフトウエアなどで、デブロッキングフィルタ、適応オフセットフィルタ、および適応オフセットフィルタがそれぞれフレーム処理をする場合の制御も容易に行うことができる。
【０３６８】
＜５．第３の実施の形態＞
［インループフィルタの他の構成例］
図２１は、インループフィルタの構成例を示すブロック図である。図２１に示されるインループフィルタ３１は、図１４の左から６番目に示された２並列の場合の構成例である。
【０３６９】
図２１のインループフィルタ３１は、図６のデブロッキングフィルタ部１０１、並びに、ラインメモリ２５１、適応オフセットフィルタ部２５２、適応ループフィルタ部２５３、演算部２５４、および係数メモリ２５５を含むように構成されている。
【０３７０】
前段からの入力画素であるリコンストラクト画素は、デブロッキングフィルタ部１０１に入力される。デブロッキングフィルタ部１０１は、図６を参照して上述したように、Ｈ（水平）フィルタ１１１、Ｖ（垂直）フィルタ１１２、およびラインメモリ１１３を含むように構成されている。ラインメモリ１１３は、LCU境界において、輝度（Ｙ）について４ライン分の画素を保持し、色差（Ｃ）について２ライン分の画素を保持する。
【０３７１】
デブロッキングフィルタ部１０１は、通常（LCU境界以外）、前段からの入力画素であるリコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施し、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングフィルタ部１０１は、フィルタ処理後の画素を、ラインメモリ２５１および演算部２５４に出力する。
【０３７２】
LCU境界においては、デブロッキングフィルタ部１０１は、前段からの入力画素であるリコンストラクト画素を、一旦ラインメモリ１１３に保持する。そして、必要な画素が入力されると、デブロッキングフィルタ部１０１は、入力された画素と、ラインメモリ１１３に保持されている画素とを用いて、Ｈフィルタ１１１によるフィルタ処理を施し、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングフィルタ部１０１は、フィルタ処理後の画素を、ラインメモリ２５１および演算部２５４に出力する。
【０３７３】
通常（LCU境界以外）の処理においては、デブロッキングフィルタ部１０１は、前段からの入力画素であるリコンストラクト画素を用いて、Ｈフィルタ１１１によるフィルタ処理を施し、Ｖフィルタ１１２によるフィルタ処理を施す。デブロッキングフィルタ部１０１は、フィルタ処理後の画素を、ラインメモリ２５１および演算部２５４に出力する。
【０３７４】
ラインメモリ２５１は、デブロッキングフィルタ部１０１によるフィルタ後の画素を一旦保持する。図７の例においては、ラインメモリ２５１は、輝度（Ｙ）について、３ライン分の画素を保持し、色差（Ｃ）について、３ライン分の画素を保持する。なお、保持するライン数は、アーキテクチャなどに依存されるため、限定されない。
【０３７５】
LCU境界において、適応オフセットフィルタ部２５２、および適応ループフィルタ部２５３は、デブロッキングフィルタ部１０１によるフィルタ後の画素が保持されたラインメモリ２５１を共有している。
【０３７６】
適応オフセットフィルタ部２５２は、図６のオフセットフィルタ１２１を含むように、図７の適応オフセットフィルタ部１５４と基本的に構成される。
【０３７７】
LCU境界において、適応オフセットフィルタ部２５２は、ラインメモリ２５１に保持されている画素を読み出し、読み出した画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部２５２は、オフセットフィルタ１２１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０３７８】
通常（LCU境界以外）の処理においては、適応オフセットフィルタ部２５２は、デブロッキングフィルタ部１０１からの画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部２５２は、オフセットフィルタ１２１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０３７９】
適応ループフィルタ部２５３は、図６のループフィルタ１３１を含むように、図７の適応ループフィルタ部１５５と基本的に同様に構成される。
【０３８０】
LCU境界において、適応ループフィルタ部２５３は、ラインメモリ２５１に保持されている画素を読み出し、読み出した画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部２５３は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０３８１】
通常（LCU境界以外）の処理においては、適応ループフィルタ部２５３は、デブロッキングフィルタ部１０１からの画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部２５３は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０３８２】
なお、LCU境界において必要なラインの画素が入力されると、適応オフセットフィルタ部２５２および適応ループフィルタ部２５３は、出力位相を揃えて処理を再開する。
【０３８３】
演算部２５４は、減算部１８１−１および１８１−２、乗算部１８２−１および１８２−２、および加算部１８３により構成されており、各フィルタ処理後の出力Ｐを線形和で演算する。なお、演算部２５４における入力画素としては、通常、デブロッキングフィルタ部１０１からのフィルタ後の画素が用いられるが、LCU境界においては、ラインメモリ２５１に保持されている画素が読み出されて用いられる。
【０３８４】
減算部１８１−１は、適応オフセットフィルタ部２５２からのフィルタ後の画素ＰＳＡＯからデブロッキングフィルタ後の画素ＰＤＢを減算し、乗算部１８２−１に出力する。乗算部１８２−１は、減算部１８１−１からの入力（ＰＳＡＯ−ＰＤＢ）に対して、係数メモリ２５５からの適応オフセットフィルタ部２５２に対応する係数ＣＳＡＯを乗算し、加算部１８３に出力する。
【０３８５】
減算部１８１−２は、適応ループフィルタ部２５３からのフィルタ後の画素ＰＡＬＦからデブロッキングフィルタ後の画素ＰＤＢを減算し、乗算部１８２−２に出力する。乗算部１８２−２は、減算部１８１−２からの入力（ＰＡＬＦ−ＰＤＢ）に対して、係数メモリ２５５からの適応ループフィルタ部ＰＤＢに対応する係数ＣＡＬＦを乗算し、加算部１８３に出力する。
【０３８６】
加算部１８３は、デブロッキングフィルタ後の画素ＰＤＢに、乗算部１８２−１および１８２−２からの乗算結果を加算し、加算結果であるＰを、フレームメモリに出力する。
【０３８７】
係数メモリ２５５は、各フィルタに対応する係数を記憶している。例えば、係数メモリ２５５には、適応オフセットフィルタ部１５４に対応する係数ＣＳＡＯ、および適応ループフィルタ部１５５に対応する係数ＣＡＬＦが記憶されている。なお、図２１の場合の係数ＣＳＡＯと係数ＣＡＬＦは、デブロッキングフィルタ部１０１後の画素についてフィルタ処理された画素に乗算される係数であるので、それぞれ、デブロッキングフィルタ部１０１にも対応させるようにしてもよい。
【０３８８】
なお、これらの係数も、図示せぬ操作入力部を介してユーザにより設定可能にしてもよい。また、これらの係数も、画像の特性に応じて設定されてもよい。
【０３８９】
［LCU境界における各フィルタの詳細］
次に、図２２を参照して、図２１のインループフィルタ３１のLCU境界における具体的な処理について説明する。
【０３９０】
デブロッキングフィルタ部１０１は、LCU境界では、前段からの入力画素であるリコンストラクト画素に対して、Ｈフィルタ１１１およびＶフィルタ１１２によるフィルタ処理を順に施し、フィルタ処理後の画素を、ラインメモリ２５１に出力する。
【０３９１】
このラインメモリ２５１に保持されている画素に対して、適応オフセットフィルタ部２５２および適応ループフィルタ部２５３により並列でフィルタ処理が行われる。
【０３９２】
適応オフセットフィルタ部２５２は、ラインメモリ２５１に保持されているデブロッキングフィルタ後の画素を読み出し、読み出した画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部２５２は、処理対象画素の周囲８画素（図２２のSAO参照画素）を用いて、処理対象画素に対してのオフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部２５２は、オフセットフィルタ１２１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０３９３】
適応ループフィルタ部２５３は、ラインメモリ２５１に保持されているデブロッキングフィルタ後の画素を読み出し、読み出した画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部２５３は、処理対象画素を中心とした５タップのスノーフレーク形状の１６画素（図２２に示されるALFタップ）を用いて、処理対象画素に対してのループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部２５３は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０３９４】
演算部２５４は、適応オフセットフィルタ部２５２からのフィルタ処理後の画素と、適応ループフィルタ部２５３からのフィルタ処理後の画素とを線形和で演算し、後段に出力する。
【０３９５】
ここで、図２３および図２４を参照して、図２１の例のインループフィルタ３１の場合に必要なラインメモリ数について説明する。図２３および図２４の例において、丸は、画素を表し、図中下のラインがLCU境界を表している。
【０３９６】
図２３は、輝度信号の場合のLCU境界の画素の例を示している。図２３の輝度信号の場合、LCU境界から１ライン目乃至３ライン目の丸は、次のLCUがデブロッキングフィルタに入力されたときに、水平境界のデブロッキングＶ（垂直）フィルタ処理が開始される画素を表している。
【０３９７】
なお、１ライン目乃至３ライン目のハッチングで示される丸は、LCUに含まれるCUの垂直境界において部分的にデブロッキングＨ（水平）フィルタ処理された画素を表している。１行目乃至３行目の丸のうち、白丸は、CUの垂直境界において、実際には、デブロッキングＨフィルタ処理が施されない画素を表している。
【０３９８】
LCU境界から４乃至７ライン目の画素は、デブロッキングＶフィルタ処理済みの画素である。そのうち、LCU境界から４ライン目の画素は、１ライン目乃至３ライン目のデブロッキングＶフィルタ処理において参照される画素である。LCU境界から６ライン目より上の丸は、ループフィルタ(ALF)後画素を表している。
【０３９９】
LCU境界においては、デブロッキングフィルタ部１０１は、図５を参照して上述したように、輝度信号の場合、次のLCUの４ラインの画素が入力されるまで、LCU境界から１ライン目乃至３ライン目の画素の処理において待機状態となる。すなわち、デブロッキングフィルタ部１０１が、LCU境界から４ライン目までしか処理することができない。
【０４００】
適応オフセットフィルタ部２５２と適応ループフィルタ部２５３は、デブロッキングフィルタ部１０１によるフィルタ（DF）後画素を処理する。したがって、適応ループフィルタ部２５３は、LCU境界から６ライン目までしか処理することができない。このため、適応オフセットフィルタ部２５２も、LCU境界から６ライン目から処理開始できるように、LCU境界から６ライン目の画素の処理において待機状態となる。
【０４０１】
次のLCUの４ラインの画素が入力されると、デブロッキングフィルタ部１０１は、LCU境界から３ライン目の画素から出力するように処理を開始する。LCU境界から３ライン目の画素がデブロッキングフィルタ部１０１から入力されるので、適応ループフィルタ部２５３は、LCU境界から５ライン目の画素から出力するように処理を開始する。適応オフセットフィルタ部２５２も、適応ループフィルタ部２５３に出力位相を合わせて、LCU境界から５ライン目の画素から出力するように処理を開始する。
【０４０２】
その際、デブロッキングフィルタ部１０１においては、LCU境界から１乃至４ライン目の画素がラインメモリ１１３に保持されている必要がある。
【０４０３】
また、適応オフセットフィルタ部２５２においては、LCU境界から５および６ライン目の画素がラインメモリ２５１に保持されている必要がある。適応ループフィルタ部２５３においては、LCU境界から５乃至７ライン目の画素がラインメモリ２５１に保持されている必要がある。
【０４０４】
したがって、輝度信号の場合、ラインメモリ２５１には、LCU境界から５乃至７ライン目の３ライン分の画素が保持されていればよい。
【０４０５】
以上により、図２１のインループフィルタ３１においては、輝度信号の場合には、４ライン分のラインメモリ１１３および３ライン分のラインメモリ２５１が必要となり、従来の９ライン分の画素と比して、２ライン分のラインメモリ数を減らすことが可能である。
【０４０６】
図２４は、色差信号の場合のLCU境界の画素の例を示している。図２４の色差信号の場合、LCU境界から１ライン目の丸は、次のLCUがデブロッキングフィルタに入力されたときに、水平境界のデブロッキングＶ（垂直）フィルタ処理が開始される画素を表している。
【０４０７】
なお、１ライン目のハッチングで示される丸は、LCUに含まれるCUの垂直境界において部分的にデブロッキングＨ（水平）フィルタ処理された画素を表している。１行目の丸のうち、白丸は、CUの垂直境界において、実際には、デブロッキングＨフィルタ処理が施されない画素を表している。
【０４０８】
LCU境界から２乃至５ライン目の画素は、デブロッキングＶフィルタ処理済みの画素である。そのうち、LCU境界から２ライン目の画素は、１ライン目のデブロッキングＶフィルタ処理において参照される画素である。LCU境界から４ライン目より上の丸は、ループフィルタ(ALF)後画素を表している。
【０４０９】
LCU境界においては、デブロッキングフィルタ部１０１は、図５を参照して上述したように、色差信号の場合、次のLCUの２ライン分の画素が入力されるまで、LCU境界から１ライン目の画素の処理において待機状態となる。すなわち、デブロッキングフィルタ部１０１は、LCU境界から２ライン目までしか処理することができない。
【０４１０】
適応オフセットフィルタ部２５２と適応ループフィルタ部２５３は、デブロッキングフィルタ部１０１によるフィルタ（DF）後画素を処理する。したがって、適応ループフィルタ部２５３は、LCU境界から４ライン目までしか処理することができない。このため、適応オフセットフィルタ部２５２も、LCU境界から３ライン目から処理開始できるように、LCU境界から３ライン目の画素の処理において待機状態となる。
【０４１１】
次のLCUの２ライン分の画素が入力されると、デブロッキングフィルタ部１０１は、LCU境界から１ライン目の画素から出力するように処理を開始する。LCU境界から１ライン目の画素がデブロッキングフィルタ部１０１から入力されるので、適応ループフィルタ部２５３は、LCU境界から３ライン目の画素から出力するように処理を開始する。適応オフセットフィルタ部２５２も、適応ループフィルタ部２５３に出力位相を合わせて、LCU境界から３ライン目の画素から出力するように処理を開始する。
【０４１２】
その際、デブロッキングフィルタ部１０１においては、LCU境界から１および２ライン目の画素がラインメモリ１１３に保持されている必要がある。
【０４１３】
また、適応オフセットフィルタ部２５２においては、LCU境界から３および４ライン目の画素がラインメモリ２５１に保持されている必要がある。適応ループフィルタ部２５３においては、LCU境界から３乃至５ライン目の画素がラインメモリ２５１に保持されている必要がある。
【０４１４】
したがって、輝度信号の場合、ラインメモリ２５１には、LCU境界から３乃至５ライン目の３ライン分の画素が保持されていればよい。
【０４１５】
以上により、図２１のインループフィルタ３１においては、色差信号の場合には、２ライン分のラインメモリ１１３および３ライン分のラインメモリ２５１が必要となり、従来の７ライン分の画素と比して、２ライン分のラインメモリ数を減らすことが可能である。
【０４１６】
［インループフィルタの処理例］
次に、図２５のフローチャートを参照して、図２１のインループフィルタ３１の処理について説明する。なお、図２５の処理は、上述した図２のステップＳ２２のインループフィルタ処理の例であって、図４のステップＳ５８のインループフィルタ処理の例である。
【０４１７】
ステップＳ２５１において、デブロッキングフィルタ部１０１は、デブロッキングフィルタ処理を行う。すなわち、デブロッキングフィルタ部１０１は、リコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施し、Ｖフィルタ１１２によるフィルタ処理を施す。フィルタ処理後の画素は、ラインメモリ２５１、適応オフセットフィルタ部２５２、適応ループフィルタ部２５３、および演算部２５４に出力される。
【０４１８】
なお、詳細には、デブロッキングフィルタ部１０１は、通常（LCU境界以外）、前段からの入力画素であるリコンストラクト画素に対して、Ｈフィルタ１１１によるフィルタ処理を施す。
【０４１９】
LCU境界においては、デブロッキングフィルタ部１０１は、前段からの入力画素であるリコンストラクト画素を、一旦ラインメモリ１１３に保持する。そして、必要な画素が入力されると、デブロッキングフィルタ部１０１は、入力された画素と、ラインメモリ１１３に保持されている画素とを用いて、Ｈフィルタ１１１によるフィルタ処理を施し、Ｖフィルタ１１２によるフィルタ処理を施す。
【０４２０】
ステップＳ２５２において、デブロッキングフィルタ部１０１は、LCU内の最後の画素であるかを判定する。ステップＳ２５２において、LCU内の最後の画素ではないと判定された場合、処理は、ステップＳ２５１に戻り、それ以降の処理が繰り返される。
【０４２１】
ステップＳ２５２において、LCU内の最後の画素であると判定された場合、処理は、ステップＳ２５３に進む。ステップＳ２５３において、デブロッキングフィルタ部１０１は、画面内の最後の画素であるか否かを判定する。ステップＳ２５３において、画面内の最後の画素ではないと判定された場合、処理は、ステップＳ２５４に進む。
【０４２２】
ステップＳ２５４において、デブロッキングフィルタ部１０１は、次のLCUを選択し、処理は、ステップＳ２５１に戻る。すなわち、ステップＳ２５４で選択されたLCUに対して、ステップＳ２５１以降の処理が繰り返される。
【０４２３】
ステップＳ２５３において、画面内の最後の画素ではないと判定された場合、処理は、ステップＳ２５５およびＳ２５６に進む。
【０４２４】
LCU境界において、ステップＳ２５５およびＳ２５６の処理は、ラインメモリ２５１に保持された画素を用いて並行で実行される。なお、上述したように、LCU境界において必要なラインの画素が入力された場合、ステップＳ２５５およびＳ２５６においては、出力位相を揃えて処理が開始される。
【０４２５】
適応オフセットフィルタ部２５２は、ステップＳ２５５において、ラインメモリ２５１またはデブロッキングフィルタ部１０１からの画素に対して、オフセットフィルタ１２１によるフィルタ処理を施す。適応オフセットフィルタ部２５２は、オフセットフィルタ１２１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０４２６】
適応ループフィルタ部２５３は、ステップＳ２５６において、ラインメモリ２５１またはデブロッキングフィルタ部１０１からの画素に対して、ループフィルタ１３１によるフィルタ処理を施す。適応ループフィルタ部２５３は、ループフィルタ１３１によるフィルタ処理後の画素を、演算部２５４に出力する。
【０４２７】
ステップＳ２５７において、演算部２５４は、適応オフセットフィルタ部２５２および適応ループフィルタ部２５３による各フィルタ処理後の２つの結果を演算する。演算後の結果は、後段に出力される。
【０４２８】
ステップＳ２５８において、適応オフセットフィルタ部２５２および適応ループフィルタ部２５３は、LCU内の最後の画素であるかを判定する。ステップＳ２５８において、LCU内の最後の画素ではないと判定された場合、処理は、ステップＳ２５５およびＳ２５６に戻り、それ以降の処理が繰り返される。
【０４２９】
ステップＳ２５８において、LCU内の最後の画素であると判定された場合、処理は、ステップＳ２５９に進む。ステップＳ２５９において、適応オフセットフィルタ部２５２および適応ループフィルタ部２５３は、画面内の最後の画素であるか否かを判定する。ステップＳ２５９において、画面内の最後の画素ではないと判定された場合、処理は、ステップＳ２６０に進む。
【０４３０】
ステップＳ２６０において、適応オフセットフィルタ部２５２および適応ループフィルタ部２５３は、次のLCUを選択し、処理は、ステップＳ２５５およびＳ２５６に戻る。すなわち、ステップＳ２６０で選択されたLCUに対して、ステップＳ２５５およびＳ２５６以降の処理が繰り返される。
【０４３１】
ステップＳ２５９において、画面内の最後の画素ではないと判定された場合、インループフィルタ処理は終了される。
【０４３２】
以上のように、図２１の例の場合、インループフィルタ３１を構成する２つのフィルタ処理の入力を、デブロッキングフィルタ後の画素として並列処理し、LCU境界においてはラインメモリを共有するようにしたので、ラインメモリ数を減らすことが可能である。
【０４３３】
また、インループフィルタ３１は、前段からの画素またはラインメモリからの画素のどちらの画素を入力するかを切り替えるだけで、通常の処理とLCU境界の処理の切り替えを行うというシンプルな構成である。これにより、ソフトウエアなどで、適応オフセットフィルタおよび適応オフセットフィルタがそれぞれフレーム処理をする場合の制御も容易に行うことができる。
【０４３４】
なお、上述したLCU境界において処理可能なライン、および必要なラインメモリ数（効果）については、アーキテクチャによって異なるため、上述した例に限定されない。
【０４３５】
また、上記説明においては、その図示は省略されているが、例えば、図９、図１５、図１９、および図２１において、インループフィルタ３１を、各フィルタ部を並列的に処理するように制御する制御部を備えるように構成することもできる。インループフィルタ３１に制御部が含まれる場合、例えば、その制御部は、並列的に処理をする各フィルタ部からの出力位相を合わせるような制御も行うものとする。
【０４３６】
以上においては、符号化方式としてHEVC方式をベースに用いるようにした。ただし、本開示はこれに限らず、インループフィルタとして、デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタのうちの少なくとも２つを含む、その他の符号化方式／復号方式を適用することができる。
【０４３７】
なお、本開示は、例えば、HEVC方式等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
【０４３８】
＜７．第５の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０４３９】
図２６は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータのハードウエアの構成例を示すブロック図である。
【０４４０】
パーソナルコンピュータ５００において、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０４４１】
バス５０４には、さらに、入出力インタフェース５０５が接続されている。入出力インタフェース５０５には、キーボード、マウス、マイクロホンなどよりなる入力部５０６、ディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクや不揮発性のメモリなどよりなる記憶部５０８、ネットワークインタフェースなどよりなる通信部５０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１を駆動する及びドライブ５１０が接続されている。
【０４４２】
入力部５０６は、キーボード、マウス、マイクロホンなどよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記憶部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインタフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０４４３】
以上のように構成されるパーソナルコンピュータ５００では、CPU５０１が、例えば、記憶部５０８に記憶されているプログラムを、入出力インタフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０４４４】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、あるいは、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０４４５】
コンピュータではそして、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インタフェース５０５を介して、記憶部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記憶部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記憶部５０８に、あらかじめインストールしておくことができる。
【０４４６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０４４７】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０４４８】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０４４９】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４５０】
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０４５１】
＜８．応用例＞
［第１の応用例：テレビジョン受像機］
図２７は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０４５２】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０４５３】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０４５４】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０４５５】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０４５６】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０４５７】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０４５８】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０４５９】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０４６０】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０４６１】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０４６２】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置９００での画像の復号に際して、簡単な処理構造で、ラインメモリの削減を図ることができることができる。
【０４６３】
［第２の応用例：携帯電話機］
図２８は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０４６４】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０４６５】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０４６６】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４６７】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０４６８】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Unallocated Space Bitmap）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０４６９】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０４７０】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４７１】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機９２０での画像の符号化及び復号に際して、簡単な処理構造で、ラインメモリの削減を図ることができる。
【０４７２】
［第３の応用例：記録再生装置］
図２９は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０４７３】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、HDD（Hard Disk Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０４７４】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０４７５】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０４７６】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０４７７】
HDD９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０４７８】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVDディスク（DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０４７９】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０４８０】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０４８１】
OSD９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０４８２】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０４８３】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０４８４】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置９４０での画像の符号化及び復号に際して、簡単な処理構造で、ラインメモリの削減を図ることができる。
【０４８５】
［第４の応用例：撮像装置］
図３０は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０４８６】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０４８７】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、及び制御部９７０を相互に接続する。
【０４８８】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０４８９】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０４９０】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０４９１】
OSD９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０４９２】
外部インタフェース９６６は、例えばUSB入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０４９３】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０４９４】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０４９５】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０４９６】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際して、簡単な処理構造で、ラインメモリの削減を図ることができる。
【０４９７】
なお、本明細書においては、主に垂直境界についてのフィルタリング処理が水平境界についてのフィルタリング処理よりも先に行われる例を説明したが、水平境界についてのフィルタリング処理が先に行われる場合にも本開示に係る技術による上述した効果は同等に享受され得る。また、デブロックフィルタの処理単位のサイズ又はLCUのサイズは、本明細書で説明した例に限定されず、他のサイズであってもよい。
【０４９８】
また、本明細書においては、垂直境界についてのフィルタリング処理のフィルタタップは水平方向に沿って並ぶことから、垂直境界についてのフィルタリング処理のフィルタを「Ｈ（水平）フィルタ」と表現した。同様に、水平境界についてのフィルタリング処理のフィルタタップは垂直方向に沿って並ぶことから、水平境界についてのフィルタリング処理のフィルタを「Ｖ（垂直）フィルタ」と表現した。しかしながら、一般に、垂直境界についてのフィルタリング処理のフィルタをが「Ｖ（垂直）フィルタ」、水平境界についてのフィルタリング処理のフィルタが「Ｈ（水平）フィルタ」とそれぞれ呼ばれる場合もあることに留意されたい。
【０４９９】
なお、本明細書では、予測モード、適応オフセットフィルタ、および、適応ループフィルタの各パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０５００】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０５０１】
なお、本技術は以下のような構成も取ることができる。
（１）  符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、
前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部と
を備える画像処理装置。
（２）  前記第１のフィルタ処理と前記第２のフィルタ処理とを並列的に行うように、前記第１のフィルタと前記第２のフィルタとを制御する制御部を
さらに備える前記（１）に記載の画像処理装置。
（３）  前記制御部は、前記第１のフィルタと前記第２のフィルタとの出力位相とを合わせるように制御する
前記（２）に記載の画像処理装置。
（４）  前記復号部により生成された画像のリコンストラクト画像を保持するメモリを
さらに備える前記（１）乃至（３）のいずれかに記載の画像処理装置。
（５）  前記第１のフィルタは、ブロック境界のノイズを除去するフィルタである
前記（１）乃至（４）のいずれかに記載の画像処理装置。
（６）  前記第１のフィルタは、デブロッキングフィルタである
前記（５）に記載の画像処理装置。
（７）  前記デブロックフィルタは、垂直境界の左右の画素にかけるフィルタ、および水平境界の上下の画素にかけるフィルタを含む
前記（６）に記載の画像処理装置。
（８）  前記制御部は、前記垂直境界の左右の画素にかけるフィルタの処理と前記水平境界の上下の画素にかけるフィルタの処理とを並列的に行うように制御する
前記（７）に記載の画像処理装置。
（９）  前記第２のフィルタは、リンギングを除去する第３のフィルタ、またはブロックベースでクラス分類を行う第４のフィルタを含む
前記（１）乃至（７）のいずれかに記載の画像処理装置。
（１０）  前記第３のフィルタは、適応オフセットフィルタであって、前記第４のフィルタは、適応ループフィルタである
前記（９）に記載の画像処理装置。
（１１）  前記演算部は、前記第１のフィルタ処理が行われた画像と、前記第２のフィルタ処理が行われた画像とを、前記第１のフィルタ処理に対応する第１の演算係数と前記第２のフィルタ処理に対応する第２の演算係数とを用いた線形和で加算するように演算処理する
前記（１）乃至（１０）のいずれかに記載の画像処理装置。
（１２）  前記第１の演算係数と前記第２の演算係数とは、垂直境界および水平境界からの距離に応じて設定される  前記（１１）に記載の画像処理装置。
（１３）  画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、
生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する
画像処理方法。
（１４）  画像を符号化する際にローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画素を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、
前記ローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部と、
前記演算部により演算処理された結果である画像を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
（１５）  前記第１のフィルタ処理と前記第２のフィルタ処理とを並列的に行うように、前記第１のフィルタと前記第２のフィルタとを制御する制御部を
さらに備える前記（１４）に記載の画像処理装置。
（１６）  前記制御部は、前記第１のフィルタと前記第２のフィルタとの出力位相とを合わせるように制御する
前記（１５）に記載の画像処理装置。
（１７）  前記復号部により生成された画像のリコンストラクト画像を保持するメモリを
さらに備える前記（１４）乃至（１６）のいずれかに記載の画像処理装置。
（１８）  画像処理装置が、
画像を符号化する際にローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画素を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、
前記ローカル復号処理された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理し、
演算処理された結果である画像を用いて、前記画像を符号化する
画像処理方法。
（１９）  符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行う第１のフィルタと、
前記第１のフィルタにより前記第１のフィルタ処理が行われた画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行う第２のフィルタと、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する演算部と
を備える画像処理装置。
（２０）画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のリコンストラクト画像を保持するメモリから前記リコンストラクト画像を取得し、取得したリコンストラクト画像を対象として、第１のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像を対象として、前記第１のフィルタ処理とは異なる第２のフィルタ処理を行い、
前記第１のフィルタ処理が行われた画像と前記第２のフィルタ処理が行われた画像とを用いて、演算処理する
画像処理方法。
【符号の説明】
【０５０２】
１１  画像符号化装置，  ２６  可逆符号化部，  ３１，３１ａ，３１ｂ  インループフィルタ，５１  画像復号装置，  ６２  可逆復号部，  １１１  Ｈフィルタ，  １１２  Ｖフィルタ，  １２１  オフセットフィルタ，  １３１  ループフィルタ，  １５１  ラインメモリ，  １５２  デブロッキングＨフィルタ部，  １５３  デブロッキングＶフィルタ部，  １５４  適応オフセットフィルタ部，  １５５  適応ループフィルタ部，  １５６  演算部，  １７１  係数メモリ，  ２０１  ラインメモリ，  ２０２  適応ループフィルタ部，  ２０３  演算部，  ２０４  係数メモリ，  ２１１  ラインメモリ，   ２２１  適応ループフィルタ部，  ２５１  ラインメモリ，  ２５２  適応オフセットフィルタ部，  ２５３  適応ループフィルタ部，  ２５４  演算部，  ２５５  係数メモリ
【図１】
2013074416.tif 000003
【図２】
2013074416.tif 000004
【図３】
2013074416.tif 000005
【図４】
2013074416.tif 000006
【図５】
2013074416.tif 000007
【図６】
2013074416.tif 000008
【図７】
2013074416.tif 000009
【図８】
2013074416.tif 000010
【図９】
2013074416.tif 000011
【図１０】
2013074416.tif 000012
【図１１】
2013074416.tif 000013
【図１２】
2013074416.tif 000014
【図１３】
2013074416.tif 000015
【図１４】
2013074416.tif 000016
【図１５】
2013074416.tif 000017
【図１６】
2013074416.tif 000018
【図１７】
2013074416.tif 000019
【図１８】
2013074416.tif 000020
【図１９】
2013074416.tif 000021
【図２０】
2013074416.tif 000022
【図２１】
2013074416.tif 000023
【図２２】
2013074416.tif 000024
【図２３】
2013074416.tif 000025
【図２４】
2013074416.tif 000026
【図２５】
2013074416.tif 000027
【図２６】
2013074416.tif 000028
【図２７】
2013074416.tif 000029
【図２８】
2013074416.tif 000030
【図２９】
2013074416.tif 000031
【図３０】
2013074416.tif 000032