(57)【要約】【課題】符号化または復号処理に必要な外部メモリへのアクセス数を削減することができるようにする。【解決手段】VEデブロッキングフィルタ処理部は、カレント垂直境界において対応するブロックが入力されていないブロックを垂直ラインメモリに一旦書き込み、対応するブロックが入力された段階で、垂直ラインメモリに書き込まれたブロックを読み出して、そのカレント垂直境界に対してフィルタ処理を行い、垂直・水平中間メモリに書き込む。HEデブロッキングフィルタ処理部は、カレント水平境界において対応するブロックが入力されていないブロックを水平ラインメモリに一旦書き込み、対応するブロックが入力された段階で、水平ラインメモリに書き込まれたブロックを読み出して、そのカレント水平境界に対してフィルタ処理を行い、SAO処理部に出力する。本開示は、例えば、画像処理装置に適用することができる。【選択図】図７
2014207536.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のドラフトでは、インループフィルタとして、デブロッキングフィルタ(Deblocking Fillter)、および適応オフセットフィルタ(SAO:Sample Adaptive Offset)が採用されている。デブロッキングフィルタは、画像圧縮により発生したブロックノイズを除去するための画質改善ツールであり、HEVCだけでなく、H．264/AVCでも用いられているツールであるが、フィルタ処理の順番に違いがある。
【０００５】
H．264/AVCにおいては、マクロブロック単位で該当するVerticalEdge(垂直境界)、HorizontalEdge(水平境界)の順にフィルタ処理していたのに対し、HEVCにおいては、ピクチャ単位で該当する全垂直境界にフィルタを施し、その後に、該当する全水平境界にフィルタを施すように規定されている。
【０００６】
このため、Coding Unit（以下、CUと記す）やCoding Tree Unit（以下、CTUと記す）単位での処理との相性が悪い。
【０００７】
HEVCのリファレンスソフトウェアHMでも、デブロッキングフィルタ処理前の１ピクチャ分のローカルデコードが終了してから、ピクチャ全体に対して垂直境界にフィルタをかけるように関数を呼び出し、その後、ピクチャ全体の水平境界にフィルタをかけるように関数を呼び出す実装を採用している。
【０００８】
なお、インループフィルタにおいては、デブロッキングフィルタ、適応オフセットフィルタの順に処理が行われるが、最大の符号化単位であるLCUベースで処理を行う場合、LCUの水平境界（以下、単にLCU境界とも称する）においては、それぞれラインメモリを持つ必要があり、トータルすると、大量のラインメモリが必要になる。
【０００９】
そこで、この大量のラインメモリを削減するために、さまざまな提案がなされている。例えば、非特許文献１においては、デブロッキングのために保持するラインにかかる適応オフセットフィルタの処理（タップ参照画素）は、リコンストラクト画素（すなわち、デブロッキング前の画素）を利用することが提案されている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】” Line Memory Reduction for ALF Decoding”, Semih Esenlik, Matthias Narroschke, Thomas Wedi, JCTVC-E225,March 2011
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述した非特許文献１において提案されている方法は、LCUベース処理に特化した処理である。
【００１２】
これに対して、HMの実装と同じアーキテクチャでハードウエア実装をする場合、画像処理装置は、外部メモリと、外部メモリと内部バスを接続するバス・外部コントローラと、バス・外部コントローラに接続されているデブロッキングフィルタ処理前までの画像処理パイプライン、垂直境界のデブロッキングフィルタ処理部、水平境界のデブロッキングフィルタ処理部、並びに適応オフセットフィルタ処理部で構成される。
【００１３】
しかしながら、このような構成では、フィルタ処理毎に外部メモリのリードアクセスとライトアクセスが頻繁に発生してしまう。
【００１４】
本開示は、このような状況に鑑みてなされたものであり、符号化または復号処理に必要な外部メモリへのアクセス数を削減することができるものである。
【課題を解決するための手段】
【００１５】
本開示の第１の側面の画像処理装置は、符号化ストリームを復号処理して画像を生成する復号部と、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部とを備える。
【００１６】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【００１７】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【００１８】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力することができる。
【００１９】
本開示の第１の側面の画像処理方法は、画像処理装置が、符号化ストリームを復号処理して画像を生成し、生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う。
【００２０】
本開示の第２の側面の画像処理装置は、画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部とを備える。
【００２１】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【００２２】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【００２３】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力する
ことができる。
【００２４】
本開示の第２の側面の画像処理方法は、画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、適応オフセット処理が行われた画素を用いて、前記画像を符号化する。
【００２５】
本開示の第１の側面においては、符号化ストリームを復号処理して画像が生成され、生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックがメモリに格納され、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理が行われる。そして、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理が行われる。
【００２６】
本開示の第２の側面においては、画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックがメモリに格納され、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理が行われる。そして、フィルタ処理が行われたブロックの画素を用いて適応オフセット処理が行われ、適応オフセット処理が行われた画素を用いて、前記画像が符号化される。
【００２７】
なお、上述の画像処理装置は、独立した装置であっても良いし、１つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００２８】
本開示の第１の側面によれば、画像を復号することができる。特に、復号処理に必要な外部メモリへのアクセス数を削減することができる。
【００２９】
本開示の第２の側面によれば、画像を符号化することができる。特に、符号化処理に必要な外部メモリへのアクセス数を削減することができる。
【図面の簡単な説明】
【００３０】
【図１】画像符号化装置の主な構成例を示すブロック図である。
【図２】符号化処理の流れの例を説明するフローチャートである。
【図３】画像復号装置の主な構成例を示すブロック図である。
【図４】復号処理の流れの例を説明するフローチャートである。
【図５】HEVCのデブロッキングフィルタを説明する図である。
【図６】HEVCの画像処理システムの構成例を示すブロック図である。
【図７】本技術を適用する画像処理システムの構成例を示すブロック図である。
【図８】VEデブロッキングフィルタ処理部へのデータの入力順番の例を示す図である。
【図９】垂直・水平中間メモリの書き込み状態を示すブロック図である。
【図１０】垂直ラインメモリの書き込み状態を示すブロック図である。
【図１１】ピクチャの右端MBの場合の垂直・水平中間メモリの書き込み状態を示すブロック図である。
【図１２】水平・垂直中間メモリのデータの読み出し順番を示す図である。
【図１３】ピクチャの右端MBの場合の水平・垂直中間メモリのデータの読み出し順番を示す図である。
【図１４】HEデブロッキングフィルタ処理部の出力方法を説明する図である。
【図１５】インループフィルタのパイプライン処理について説明する図である。
【図１６】インループフィルタの処理について説明するフローチャートである。
【図１７】垂直境界のデブロッキングフィルタ処理を説明するフローチャートである。
【図１８】水平境界のインループフィルタの処理を説明するフローチャートである。
【図１９】パーソナルコンピュータの主な構成例を示すブロック図である。
【図２０】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図２１】携帯電話機の概略的な構成の一例を示すブロック図である。
【図２２】記録再生装置の概略的な構成の一例を示すブロック図である。
【図２３】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３１】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．装置および動作の概要
２．従来の手法の説明
３．第１の実施の形態
４．第２の実施の形態
５．応用例
【００３２】
＜１．装置および動作の概要＞
［画像符号化装置の構成例］
図１は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００３３】
図１に示される画像符号化装置１１ａは、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、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）などがあげられる。
【００４５】
蓄積バッファ２７は、可逆符号化部２６から供給された符号化データを、一時的に保持し、所定の段階において、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００４６】
また、量子化部２５において量子化された変換係数は、逆量子化部２８にも供給される。逆量子化部２８は、その量子化された変換係数を、量子化部２５による量子化に対応する方法で逆量子化する。逆量子化部２８は、得られた変換係数を、逆直交変換部２９に供給する。
【００４７】
逆直交変換部２９は、供給された変換係数を、直交変換部２４による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力（復元された差分情報）は、演算部３０に供給される。
【００４８】
演算部３０は、逆直交変換部２９より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部３６を介してイントラ予測部３４若しくは動き予測・補償部３５から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。
【００４９】
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部３０は、その差分情報にイントラ予測部３４から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部３０は、その差分情報に動き予測・補償部３５から供給される予測画像を加算する。
【００５０】
その加算結果である復号画像は、インループフィルタ３１ａおよびフレームメモリ３２に供給される。
【００５１】
インループフィルタ３１ａは、デブロッキングフィルタ(Deblocking fillter)、および適応オフセットフィルタ(SAO:Sample Adaptive Offset)を含むように構成される。インループフィルタ３１ａは、復号画像の画素（すなわち、リコンストラクト画素）を対象として、デブロッキングフィルタ、および適応オフセットフィルタの処理を施し、フィルタ処理結果を加算した画像を、フレームメモリ３２に供給する。
【００５２】
なお、インループフィルタ３１ａにおいては、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ３１ａの構成の詳細は図７を参照して後述される。
【００５３】
フレームメモリ３２は、所定の段階において、蓄積されている参照画像を、選択部３３を介してイントラ予測部３４または動き予測・補償部３５に出力する。
【００５４】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ３２は、参照画像を、選択部３３を介してイントラ予測部３４に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ３２は、参照画像を、選択部３３を介して動き予測・補償部３５に供給する。
【００５５】
選択部３３は、フレームメモリ３２から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部３４に供給する。また、選択部３３は、フレームメモリ３２から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部３５に供給する。
【００５６】
イントラ予測部３４は、画面内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部３４は、複数のモード（イントラ予測モード）によりイントラ予測を行う。
【００５７】
イントラ予測部３４は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部３４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部３６を介して演算部２３や演算部３０に供給する。
【００５８】
また、上述したように、イントラ予測部３４は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部２６に供給する。
【００５９】
動き予測・補償部３５は、インター符号化が行われる画像について、画面並べ替えバッファ２２から供給される入力画像と、選択部３３を介してフレームメモリ３２から供給される参照画像とを用いて、動き予測を行う。動き予測・補償部３５は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。
【００６０】
動き予測・補償部３５は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部３５は、生成された予測画像を、予測画像選択部３６を介して演算部２３や演算部３０に供給する。
【００６１】
また、動き予測・補償部３５は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部２６に供給する。
【００６２】
予測画像選択部３６は、イントラ符号化を行う画像の場合、イントラ予測部３４の出力を演算部２３や演算部３０に供給し、インター符号化を行う画像の場合、動き予測・補償部３５の出力を演算部２３や演算部３０に供給する。
【００６３】
レート制御部３７は、蓄積バッファ２７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部２５の量子化動作のレートを制御する。
【００６４】
［画像符号化装置の動作］
図２を参照して、以上のような画像符号化装置１１ａにより実行される符号化処理の流れについて説明する。
【００６５】
ステップＳ１１において、A/D変換部２１は入力された画像をA/D変換する。ステップＳ１２において、画面並べ替えバッファ２２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００６６】
画面並べ替えバッファ２２から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ３２から読み出され、選択部３３を介してイントラ予測部３４に供給される。
【００６７】
これらの画像に基づいて、ステップＳ１３において、イントラ予測部３４は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、インループフィルタ３１によりフィルタされていない画素が用いられる。
【００６８】
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部３６に供給される。
【００６９】
画面並べ替えバッファ２２から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ３２から読み出され、選択部３３を介して動き予測・補償部３５に供給される。これらの画像に基づいて、ステップＳ１４において、動き予測・補償部３５は、動き予測・補償処理を行う。
【００７０】
この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部３６に供給される。
【００７１】
ステップＳ１５において、予測画像選択部３６は、イントラ予測部３４および動き予測・補償部３５より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部３６は、決定した最適予測モードの予測画像を選択し、演算部２３，３０に供給する。この予測画像は、後述するステップＳ１６，Ｓ２１の演算に利用される。
【００７２】
なお、この予測画像の選択情報は、イントラ予測部３４または動き予測・補償部３５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部３４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測に関するパラメータ）を、可逆符号化部２６に供給する。
【００７３】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部３５は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報（すなわち、動き予測に関するパラメータ）を可逆符号化部２６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
【００７４】
ステップＳ１６において、演算部２３は、ステップＳ１２で並び替えられた画像と、ステップＳ１５で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部３５から、イントラ予測する場合はイントラ予測部３４から、それぞれ予測画像選択部３６を介して演算部２３に供給される。
【００７５】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【００７６】
ステップＳ１７において、直交変換部２４は演算部２３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【００７７】
ステップＳ１８において、量子化部２５は変換係数を量子化する。この量子化に際しては、後述するステップＳ２６の処理で説明されるように、レートが制御される。
【００７８】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１９において、逆量子化部２８は、量子化部２５により量子化された変換係数を量子化部２５の特性に対応する特性で逆量子化する。ステップＳ２０において、逆直交変換部２９は、逆量子化部２８により逆量子化された変換係数を直交変換部２４の特性に対応する特性で逆直交変換する。
【００７９】
ステップＳ２１において、演算部３０は、予測画像選択部３６を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された（すなわち、ローカルデコードされた）画像（演算部２３への入力に対応する画像）を生成する。
【００８０】
ステップＳ２２においてインループフィルタ３１ａは、演算部３０より出力された画像に対して、デブロッキングフィルタ、および適応オフセットフィルタからなるフィルタ処理を行う。このとき、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ処理の詳細は、図１６を参照して後述される。インループフィルタ３１ａからの復号画像は、フレームメモリ３２に出力される。
【００８１】
ステップＳ２３においてフレームメモリ３２は、フィルタリングされた画像を記憶する。なお、フレームメモリ３２には、インループフィルタ３１ａによりフィルタされていない画像も演算部３０から供給され、記憶される。
【００８２】
一方、上述したステップＳ１８において量子化された変換係数は、可逆符号化部２６にも供給される。ステップＳ２４において、可逆符号化部２６は、量子化部２５より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
【００８３】
ステップＳ２５において蓄積バッファ２７は、符号化された差分画像（すなわち、符号化ストリーム）を、圧縮画像として蓄積する。蓄積バッファ２７に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【００８４】
ステップＳ２６においてレート制御部３７は、蓄積バッファ２７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部２５の量子化動作のレートを制御する。
【００８５】
ステップＳ２６の処理が終了すると、符号化処理が終了される。
【００８６】
［画像復号装置の構成例］
図３は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図３に示される画像復号装置１１ｂは、図１の画像符号化装置１１ａに対応する復号装置である。
【００８７】
画像符号化装置１１ａより符号化された符号化データは、所定の伝送路を介して、この画像符号化装置１１ａに対応する画像復号装置１１ｂに伝送され、復号されるものとする。
【００８８】
図３に示されるように、画像復号装置１１ｂは、蓄積バッファ６１、可逆復号部６２、逆量子化部６３、逆直交変換部６４、演算部６５、インループフィルタ３１ｂ、画面並べ替えバッファ６７、およびD/A変換部６８を有する。また、画像復号装置１１ｂは、フレームメモリ６９、選択部７０、イントラ予測部７１、動き予測・補償部７２、および選択部７３を有する。
【００８９】
蓄積バッファ６１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置１１ａにより符号化されたものである。可逆復号部６２は、蓄積バッファ６１から所定の段階で読み出された符号化データを、図１の可逆符号化部２６の符号化方式に対応する方式で復号する。
【００９０】
可逆復号部６２は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部７１に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部７２に供給する。
【００９１】
逆量子化部６３は、可逆復号部６２により復号されて得られた係数データ（量子化係数）を、図１の量子化部２５の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部６３は、画像符号化装置１１ａから供給された量子化パラメータを用いて、図１の逆量子化部２８と同様の方法で量子化係数の逆量子化を行う。
【００９２】
逆量子化部６３は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部６４に供給する。逆直交変換部６４は、図１の直交変換部２４の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置１１ａにおいて直交変換される前の残差データに対応する復号残差データを得る。
【００９３】
逆直交変換されて得られた復号残差データは、演算部６５に供給される。また、演算部６５には、選択部７３を介して、イントラ予測部７１若しくは動き予測・補償部７２から予測画像が供給される。
【００９４】
演算部６５は、その復号残差データと予測画像とを加算し、画像符号化装置１１ａの演算部２３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部６５は、その復号画像データをインループフィルタ３１ｂに供給する。
【００９５】
インループフィルタ３１ｂは、画像符号化装置１１ａのインループフィルタ３１ａと同様に、デブロッキングフィルタ、および適応オフセットフィルタを含むように構成される。インループフィルタ３１ｂは、復号画像の画素（すなわち、リコンストラクト画素）を対象として、デブロッキングフィルタ、および適応オフセットフィルタの処理を施し、フィルタ処理結果を加算した画像を、画面並べ替えバッファ６７に供給する。
【００９６】
なお、インループフィルタ３１ｂにおいては、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ３１ｂの構成の詳細は図７を参照して後述される。
【００９７】
画面並べ替えバッファ６７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ２２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部６８は、画面並べ替えバッファ６７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【００９８】
インループフィルタ３１ｂの出力は、さらに、フレームメモリ６９に供給される。
【００９９】
フレームメモリ６９、選択部７０、イントラ予測部７１、動き予測・補償部７２、および選択部７３は、画像符号化装置１１ａのフレームメモリ３２、選択部３３、イントラ予測部３４、動き予測・補償部３５、および予測画像選択部３６にそれぞれ対応する。
【０１００】
選択部７０は、インター処理される画像と参照される画像をフレームメモリ６９から読み出し、動き予測・補償部７２に供給する。また、選択部７０は、イントラ予測に用いられる画像をフレームメモリ６９から読み出し、イントラ予測部７１に供給する。
【０１０１】
イントラ予測部７１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部６２から適宜供給される。イントラ予測部７１は、この情報に基づいて、フレームメモリ６９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部７３に供給する。
【０１０２】
動き予測・補償部７２には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等）が可逆復号部６２から供給される。
【０１０３】
動き予測・補償部７２は、可逆復号部６２から供給されるそれらの情報に基づいて、フレームメモリ６９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部７３に供給する。
【０１０４】
選択部７３は、動き予測・補償部７２またはイントラ予測部７１により生成された予測画像を選択し、演算部６５に供給する。
【０１０５】
［画像復号装置の動作］
図４を参照して、以上のような画像復号装置１１ｂにより実行される復号処理の流れの例を説明する。
【０１０６】
復号処理が開始されると、ステップＳ５１において、蓄積バッファ６１は、伝送されてきた符号化データを蓄積する。ステップＳ５２において、可逆復号部６２は、蓄積バッファ６１から供給される符号化データを復号する。図１の可逆符号化部２６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０１０７】
ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モード）などのパラメータの情報も復号される。
【０１０８】
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部７１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部７２に供給される。
【０１０９】
ステップＳ５３において、イントラ予測部７１または動き予測・補償部７２は、可逆復号部６２から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
【０１１０】
すなわち、可逆復号部６２からイントラ予測モード情報が供給された場合、イントラ予測部７１は、Most Probable Modeの生成を行い、並列処理により、イントラ予測モードのイントラ予測画像を生成する。可逆復号部６２からインター予測モード情報が供給された場合、動き予測・補償部７２は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
【０１１１】
この処理により、イントラ予測部７１により生成された予測画像（イントラ予測画像）、または動き予測・補償部７２により生成された予測画像（インター予測画像）が選択部７３に供給される。
【０１１２】
ステップＳ５４において、選択部７３は予測画像を選択する。すなわち、イントラ予測部７１により生成された予測画像、または動き予測・補償部７２により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部６５に供給され、後述するステップＳ５７において逆直交変換部６４の出力と加算される。
【０１１３】
上述したステップＳ５２において、可逆復号部６２により復号された変換係数は、逆量子化部６３にも供給される。ステップＳ５５において、逆量子化部６３は可逆復号部６２により復号された変換係数を、図１の量子化部２５の特性に対応する特性で逆量子化する。
【０１１４】
ステップＳ５６において逆直交変換部２９は、逆量子化部２８により逆量子化された変換係数を、図１の直交変換部２４の特性に対応する特性で逆直交変換する。これにより図１の直交変換部２４の入力（演算部２３の出力）に対応する差分情報が復号されたことになる。
【０１１５】
ステップＳ５７において、演算部６５は、上述したステップＳ５４の処理で選択され、選択部７３を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
【０１１６】
ステップＳ５８においてインループフィルタ３１ｂは、演算部３０より出力された画像に対して、デブロッキングフィルタ、および適応オフセットフィルタからなるフィルタ処理を行う。このとき、デブロッキングフィルタの垂直および水平、並びに適応オフセットフィルタの処理がパイプラインで行われる。このインループフィルタ処理の詳細は、図１６を参照して後述される。インループフィルタ３１ｂからの復号画像は、フレームメモリ６９および画面並べ替えバッファ６７に出力される。
【０１１７】
ステップＳ５９においてフレームメモリ６９は、フィルタリングされた画像を記憶する。
【０１１８】
ステップＳ６０において、画面並べ替えバッファ６７は、インループフィルタ３１ｂ後の画像の並べ替えを行う。すなわち画像符号化装置１１ａの画面並べ替えバッファ２２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１１９】
ステップＳ６１において、D/A変換部６８は、画面並べ替えバッファ６７からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０１２０】
ステップＳ６１の処理が終了すると、復号処理が終了される。
【０１２１】
＜従来の手法の説明＞
HEVCにおいては、インループフィルタとして、デブロッキングフィルタ、および適応オフセットフィルタが採用されている。デブロッキングフィルタは、HEVCだけでなく、H．264及びMPEG（Moving Picture Experts Group）４ Part１０（AVC（Advanced Video Coding））（以下H．264/AVCと称する）でも用いられているツールであるが、フィルタ処理の順番に違いがある。
【０１２２】
H．264/AVCにおいては、マクロブロック単位で該当するVerticalEdge(垂直境界)、HorizontalEdge(水平境界)の順にフィルタ処理していたのに対し、HEVCにおいては、ピクチャ単位で該当する全垂直境界にフィルタを施し、その後に、該当する全水平境界にフィルタを施すように規定されている。
【０１２３】
このため、Coding Unit（以下、CUと記す）やCoding Tree Unit（以下、CTUと記す）単位での処理との相性が悪い。
【０１２４】
ここで、LCU（Largest Coding Unit）とCU（Coding Unit）について簡単に説明する。H．264/AVCにおいては、１つのマクロブロックを、複数の動き補償ブロックに分割し、それぞれに対して異なる動き情報を持たせることが可能であった。すなわち、H．264/AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されていた。これに対して、HEVC方式においては、コーディングユニット（CU）が規定されている。
【０１２５】
CUは、H．264/AVC方式におけるマクロブロックと同様の役割を果たす、符号化（復号）の処理単位となる領域（ピクチャ単位の画像の部分領域）である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【０１２６】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、CUの最大サイズ（LCU（Largest Coding Unit））と最小サイズ（（SCU（Smallest Coding Unit））が規定される。
【０１２７】
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。
【０１２８】
以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、H．264/AVC方式におけるマクロブロックはLCUに相当し、ブロック（サブブロック）はCUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば64×64画素のように、H．264/AVC方式のマクロブロックより大きく設定されることが一般的である。
【０１２９】
よって、以下、LCUは、H．264/AVC方式におけるマクロブロックをも含むものとし、CUは、H．264/AVC方式におけるブロック（サブブロック）をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域（処理単位）が含まれる。もちろん、これら以外の部分領域（処理単位）も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
【０１３０】
また、本明細書において、CTU（Coding Tree Unit）は、LCU(最大数のCU)のCTB（Coding Tree Block）と、そのLCUベース（レベル）で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU（Coding Unit）は、CB(Coding Block)と、そのCUベース（レベル）で処理するときのパラメータを含む単位であるとする。
【０１３１】
［HEVCのデブロッキングフィルタの説明］
図５を参照して、HEVC方式におけるデブロッキングフィルタについて説明する。図５の例においては、ピクチャにおけるCTU境界、CU境界、およびPU境界がそれぞれ示されている。
【０１３２】
HEVCのデブロッキングフィルタは、ピクチャ全体で垂直境界にフィルタを施した後で、水平境界にフィルタを施す。
【０１３３】
図５の拡大部分に示される数字は、フィルタ処理順を表している。２の処理が終わらないと３の処理ができず、左上のCTUの値が確定しない。すなわち、水平境界のフィルタは、次のCTUやCUとの垂直境界のフィルタの後でないとかけられない。換言するに、水平境界のフィルタの処理と、垂直境界のフィルタの処理との間には、フィルタ処理の依存関係が存在している。
【０１３４】
以上のように、HEVCのデブロッキングフィルタは、CTUやCUで処理が閉じないので、CTUやCU単位で動作するデブロッキングフィルタの前段までの画像処理パイプラインと相性がよくない。
【０１３５】
HEVCのリファレンスソフトウェアHMでも、デブロッキングフィルタ処理前の１ピクチャ分のローカルデコードが終了してから、ピクチャ全体に対して垂直境界にフィルタをかけるように関数を呼び出し、その後、ピクチャ全体の水平境界にフィルタをかけるように関数を呼び出す実装を採用している。
【０１３６】
［HEVCの画像処理システムの構成］
図６は、HEVCの画像処理システムの構成例を示すブロック図である。図６の例においては、HM実装と同様のアーキテクチャでハードウエア実装した場合の画像処理システム１０１が示されている。
【０１３７】
画像処理システム１０１は、画像処理装置１１、およびDRAM(Dynamic Random Access Memory)などからなる外部メモリ１１１により構成されている。
【０１３８】
画像処理装置１１は、バス・外部メモリコントローラ１２１、DF(Deblocking Fillter)前処理画像処理部１２２、およびインループフィルタ３１を含むように構成されている。
【０１３９】
なお、図６の画像処理装置１１は、図１に示した画像符号化装置１１ａおよび図３に示した画像復号装置１１ｂに対応している。
【０１４０】
バス・外部メモリコントローラ１２１は、内部バスと外部メモリ１１１とを接続する。バス・外部メモリコントローラ１２１には、外部メモリ１１１の他に、画像処理装置１１の内部において、DF前処理画像処理部１２２、およびインループフィルタ３１の各部が相互に接続されている。なお、以下、特に明記しなくても、DF前処理画像処理部１２２、およびインループフィルタ３１の各部は、バス・外部メモリコントローラ１２１を介して、外部メモリ１１１にアクセスしている。
【０１４１】
DF前処理画像処理部１２２は、CUやCTU単位に動作し、外部メモリ１１１からのピクチャデータを読み出して、デブロッキングフィルタ前処理までの画像処理を行い、デブロッキングフィルタ前のピクチャデータを順次外部メモリ１１１に書き込む。
【０１４２】
なお、図６の画像処理装置１１が、図１に示した画像符号化装置１１ａに対応している場合、DF前処理画像処理部１２２は、図１に示した画像符号化装置１１ａにおいて、インループフィルタ３１ａを除いた各部に対応し、インループフィルタ３１は、インループフィルタ３１ａに対応する。
【０１４３】
また、図６の画像処理装置１１が、図３に示した画像復号装置１１ｂに対応している場合、DF前処理画像処理部１２２は、図３に示した画像復号装置１１ｂにおいて、インループフィルタ３１ｂを除いた各部に対応し、インループフィルタ３１は、インループフィルタ３１ｂに対応する。
【０１４４】
インループフィルタ３１は、VE(VerticalEdge)デブロッキングフィルタ処理部１３１、HE(HorizontalEdge) デブロッキングフィルタ処理部１３２、およびSAO処理部１３３からなる。
【０１４５】
VEデブロッキングフィルタ処理部１３１は、DF前処理画像処理部１２２により１ピクチャ分のデータが書き込まれたのを受けて動作を開始し、外部メモリ１１１のデータを読みながら、垂直境界にフィルタをかけていく。VEデブロッキングフィルタ処理部１３１は、フィルタ後のデータを、外部メモリ１１１に書き戻す。
【０１４６】
HEデブロッキングフィルタ処理部１３２は、VEデブロッキングフィルタ処理部１３１によりフィルタが行われたデータを、外部メモリ１１１から読み込みながら、水平境界にフィルタをかけていく。HEデブロッキングフィルタ処理部１３２は、フィルタ後のデータを、外部メモリ１１１に書き戻す。
【０１４７】
最後に、SAO処理部１３３は、HEデブロッキングフィルタ処理部１３２によりフィルタが行われたデータを、外部メモリ１１１から読み込みながら、適応オフセット処理を行う。SAO処理部１３３は、処理後のデータを、外部メモリ１１１に書き戻す。
【０１４８】
なお、画像処理装置１１が図１に示した画像符号化装置１１ａに対応している場合、SAO処理部１３３の前段には、SAOのパラメータなどを決定するフィルタ決定部などが備えられるが、本技術に直接的に関係がないので、その説明は省略される。
【０１４９】
SAO処理部１３３により全てのピクセルデータが外部メモリ１１１に書き戻されると、ローカルデコードが完了となる。
【０１５０】
しかしながら、このような構成においては、インループフィルタ３１のフィルタ処理毎に外部メモリ１１１のリードアクセスとライトアクセスとが頻繁に発生する。例えば、4096×2160 4:2:0 8bit 60Pのシーケンスをリアルタイムで処理する場合、インループフィルタ３１の全フィルタのDRAM帯域として、約38Gbpsが必要となる。
【０１５１】
なお、インループフィルタ３１の全フィルタのDRAM帯域とは、DF前処理画像処理部１２２のWrite、VEデブロッキングフィルタ処理部１３１乃至SAO処理部１３３の外部メモリ１１１に対する各Read,Writeを合わせた帯域である。
【０１５２】
＜３．第１の実施の形態＞
［本技術の画像処理システムの構成例］
図７は、本技術を適用する画像処理システムの構成例を示すブロック図である。
【０１５３】
図７の画像処理システム２０１は、図６のバス・外部メモリコントローラ１２１、DF前処理画像処理部１２２、およびインループフィルタ３１を含む画像処理装置１１、および外部メモリ１１１により構成されている。
【０１５４】
ただし、図７の画像処理システム２０１は、DF前処理画像処理部１２２の処理後の出力先と、インループフィルタ３１の構成のみが図６の画像処理システム１０１と異なっている。
【０１５５】
図７のインループフィルタ３１は、VEデブロッキングフィルタ処理部１３１、HEデブロッキングフィルタ処理部１３２、SAO処理部１３３、垂直ラインメモリ２１１、垂直・水平中間メモリ２１２、水平ラインメモリ２１３、およびSAOラインメモリ２１４を含むように構成されている。
【０１５６】
すなわち、図７のインループフィルタ３１は、VEデブロッキングフィルタ処理部１３１、HEデブロッキングフィルタ処理部１３２、およびSAO処理部１３３を備える点が、図６のインループフィルタ３１と共通している。また、図７のインループフィルタ３１は、V垂直ラインメモリ２１１、垂直・水平中間メモリ２１２、水平ラインメモリ２１３、およびSAOラインメモリ２１４が追加された点が、図６のインループフィルタ３１と異なっている。
【０１５７】
垂直ラインメモリ２１１、垂直・水平中間メモリ２１２、水平ラインメモリ２１３、およびSAOラインメモリ２１４は、例えば、SRAM(Static Random Access Memory)で構成される。
【０１５８】
なお、垂直ラインメモリ２１１および垂直・水平中間メモリ２１２は、１つのSRAMで構成されてもよい。その際、垂直ラインメモリ２１１を除くことができる。点線に示されるように垂直ラインメモリ２１１を除く場合、垂直ラインメモリ２１１の代わりに、垂直・水平中間メモリ２１２にピクチャデータが一旦蓄積されて、点線矢印に示されるように、垂直・水平中間メモリ２１２のデータが読み出されて、VEデブロッキングフィルタ処理部１３１の処理が行われる。
【０１５９】
図７の例において、DF前処理画像処理部１２２は、デブロッキングフィルタ前のピクチャデータをバス・外部メモリコントローラ１２１ではなく、VEデブロッキングフィルタ処理部１３１に直接出力する。
【０１６０】
すなわち、DF前処理画像処理部１２２からのデブロッキングフィルタ前のピクチャデータは、CUまたはCTU単位毎に、順次、VEデブロッキングフィルタ処理部１３１に入力される。DF前処理画像処理部１２２の各部の並列度によって、１クロックサイクルに１画素（ピクセル）入力から、１クロックサイクルに複数画素入力まで様々な入力単位があり得るが、以下の説明においては、１クロックサイクルに4×4の16画素が同時入力される例について説明する。
【０１６１】
また、輝度Yと色差Cb/Crの多重化方法もCUやCTUによって様々あり得るが、以下の説明においては、図８に示されるように、Yの4×4の16画素が16回入力され、次に、Cbの4×4の16画素が4回入力され、Crの4×4の16画素が4回入力されるように、DF前処理画像処理部１２２のパイプライン処理が構成されている場合について説明する。
【０１６２】
なお、HEVCには、MB（マクロブロック）は存在しないが、このY,Cb,Crの多重化した単位を本明細書においてはMBと称する。そして、インループフィルタ３１においては、MB毎に処理が行われる。このMBは、CTUの処理順番に応じて、VEデブロッキングフィルタ処理部１３１に入力される。また、4×4の16画素を、以下、ブロックとも適宜称する。
【０１６３】
VEデブロッキングフィルタ処理部１３１は、入力されたブロックが、カレント（現在処理を行っている対象の）垂直境界において対応するブロックが入力されていないブロックである場合、そのブロックを垂直ラインメモリ２１１に一旦書き込む。VEデブロッキングフィルタ処理部１３１は、対応するブロックが入力された段階(すなわち、タイミング)で、垂直ラインメモリ２１１に書き込まれたブロックを読み出して、そのカレント垂直境界に対してフィルタ処理を行い、その結果を垂直・水平中間メモリ２１２に書き込む。
【０１６４】
なお、本明細書において、カレント垂直境界（VerticalEdge）とは、カレント垂直境界に対してのデブロッキングフィルタをかける処理対象の領域であり、入力されたブロックとそのブロックに対応するブロックとが少なくとも含まれているものとする。また、カレント垂直境界において対応するブロックとは、カレント垂直境界内において、例えば、図５の１，２で示される垂直方向の実際の境界を挟んで対となる位置のブロックをいう。
【０１６５】
HEデブロッキングフィルタ処理部１３２は、垂直・水平中間メモリ２１２に書き込まれたブロックを入力し、入力されたブロックが、カレント水平境界において対応するブロックが入力されていないブロックである場合、そのブロックを水平ラインメモリ２１３に一旦書き込む。HEデブロッキングフィルタ処理部１３２は、対応するブロックが入力された段階で、水平ラインメモリ２１３に書き込まれたブロックを読み出して、そのカレント水平境界に対してフィルタ処理を行い、その結果をSAO処理部１３３に出力する。
【０１６６】
なお、本明細書において、カレント水平境界(HorizontalEdge)とは、カレント水平境界に対してのデブロッキングフィルタをかける処理対象の領域であり、入力されたブロックとそのブロックに対応するブロックとが少なくとも含まれているものとする。また、水平境界において対応するブロックとは、カレント水平境界内において、例えば、図５の３，４で示される水平方向の実際の境界を挟んで対となる位置のブロックをいう。
【０１６７】
SAO処理部１３３は、MBのSAO処理を行うとともに、MBのブロックのうち、MBの下に隣接する下隣MBが入力されてから処理されるブロックや、下隣MBの処理に必要なブロック（画素）をSAOラインメモリ２１４に書き込む。SAO処理部１３３は、下隣MBが入力されると、SAOラインメモリ２１４に書き込まれたブロックを読み出し、下隣MBのSAO処理を行い、処理後の画素を、バス・外部メモリコントローラ１２１を介して、外部メモリ１１１に書き込む。
【０１６８】
［VEデブロッキングフィルタ処理部の動作］
まず、VEデブロッキングフィルタ処理部１３１の動作について、図８乃至図１１を参照して説明する。図８において、四角は、4×4の16画素を表しており、その四角に付されている数字は、VEデブロッキングフィルタ処理部１３１へのデータの入力順番を示す。図９は、垂直・水平中間メモリ２１２の書き込み状態の例が示されている。図１０の例においては、垂直ラインメモリ２１１の書き込み状態の例が示されている。図１１の例においては、ピクチャの右端MBの場合の垂直・水平中間メモリ２１２の書き込み状態の例が示されている。
【０１６９】
VEデブロッキングフィルタ処理部１３１は、水平8ピクセル境界毎にフィルタ処理を行うので、当該MBにおける、図８の1,3,5,7,9,11,13,15,17,19,21,23が示されるブロックが入力された段階では、対応する（対となる位置の）ブロックがまだ入力されていない。したがって、この段階では、垂直境界のフィルタをかけることができない。
【０１７０】
そこで、VEデブロッキングフィルタ処理部１３１は、これらのブロックの右隣に位置する右隣ブロックのピクセルデータが入力されるまで、これらのブロックのピクセルデータを、垂直ラインメモリ２１１に書き込んでおく。そして、VEデブロッキングフィルタ処理部１３１は、各ブロックの右隣ブロックのピクセルデータが入力される段階で、垂直ラインメモリ２１１に書き込んだピクセルデータを読み出す。VEデブロッキングフィルタ処理部１３１は、読み出されたブロックと対応するブロックからなる垂直境界に対してフィルタ処理を行う。
【０１７１】
各ブロックの右隣ブロックとは、具体的には、図８の例の場合、1が示されるブロックについては、当該MBの4が示されるブロックであり、3が示されるブロックについては、当該MBの6が示されるブロックである。また、5が示されるブロックについては、当該MBの右隣に位置する右隣MBの0が示されるブロックであり、7が示されるブロックについては、右隣MBの2が示されるブロックである。
【０１７２】
9が示されるブロックについては、当該MBの12が示されるブロックであり、11が示されるブロックについては、当該MBの14が示されるブロックである。また、13が示されるブロックについては、右隣MBの8が示されるブロックであり、15が示されるブロックについては、右隣MBの10が示されるブロックである。
【０１７３】
さらに、17が示されるブロックについては、右隣MBの16が示されるブロックであり、19が示されるブロックについては、右隣MBの18が示されるブロックである。同様に、21が示されるブロックについては、右隣MBの20が示されるブロックであり、23が示されるブロックについては、右隣MBの22が示されるブロックである。
【０１７４】
VEデブロッキングフィルタ処理部１３１は、フィルタ処理が行われたブロックを、順次、水平・垂直中間メモリ２１２に書き込む。
【０１７５】
Yについては、水平・垂直中間メモリ２１２には、図９に示されるように、当該MBの左隣に位置する左隣MBの右側の4×16画素（すなわち、5,7,13,15が示される4ブロック）と、当該MBの左側12×16画素（すなわち、0,1,2,3,4,6,8,9,10,11,12,14が示される12ブロック）とを合わせた16×16画素のデータが、図８の対応する位置のブロックに示される数字の順に書き込まれる。
【０１７６】
すなわち、図９のYの16×16画素のデータが、左隣MBの5,当該MBの0, 左隣MBの7, 当該MBの2, 当該MBの1, 当該MBの4, 当該MBの3, 当該MBの6, 左隣MBの13, 当該MBの8, 左隣MBの15, 当該MBの10, 当該MBの9, 当該MBの12, 当該MBの11, 当該MBの14が示されるブロックの順に書き込まれる。
【０１７７】
また、Cbについては、水平・垂直中間メモリ２１２には、図９に示されるように、左隣MBの右側の4×8画素（すなわち、17,19が示される2ブロック）と、当該MBの左側4×8画素（すなわち、16,18が示される2ブロック）とを合わせた8×8画素のデータが、図８の対応する位置のブロックに示される数字の順に書き込まれる。
【０１７８】
すなわち、図９のCbの8×8画素のデータが、左隣MBの17, 当該MBの16, 左隣MBの19, 当該MBの18が示されるブロックの順に書き込まれる。
【０１７９】
同様に、Crについては、水平・垂直中間メモリ２１２には、図９に示されるように、左隣MBの右側の4×8画素（すなわち、21,23が示される2ブロック）と、当該MBの左側4×8画素（すなわち、20,22が示される2ブロック）とを合わせた8×8画素のデータが、図８の対応する位置のブロックに示される数字の順に書き込まれる。
【０１８０】
すなわち、図９のCrの8×8画素のデータが、左隣MBの21, 当該MBの20, 左隣MBの23, 当該MBの22が示されるブロックの順に書き込まれる。
【０１８１】
VEデブロッキングフィルタ処理部１３１に1MB分のピクセルデータの入力が完了した段階では、垂直ラインメモリ２１１には、図１０に示されるように、Yの右側4×16画素と、CbおよびCrの右側4×8画素のデータが保存され、それらの各右隣ブロックがVEデブロッキングフィルタ処理部１３１に入力されるのを待っている。
【０１８２】
なお、ピクチャの右端MBにおいては、右隣MBとのフィルタ処理がないので、垂直ラインメモリ２１１への書き込みは発生しない。この場合、Yについては、水平・垂直中間メモリ２１２には、図１１に示されるように、当該MBの左隣に位置する左隣MBの右側の4×16画素（すなわち、5,7,13,15が示される4ブロック）と、当該MBの16×16画素（すなわち、0,1,2,3,4,6,8,9,10,11,12,14,5,7,13,15が示される16ブロック）とを合わせた20×16画素のデータが書き込まれる。
【０１８３】
また、Cbについては、水平・垂直中間メモリ２１２には、図１１に示されるように、左隣MBの右側の4×8画素（すなわち、17,19が示される2ブロック）と、当該MBの8×8画素（すなわち、16,18,17,19が示される4ブロック）とを合わせた12×8画素のデータが書き込まれる。
【０１８４】
同様に、Crについては、水平・垂直中間メモリ２１２には、図１１に示されるように、左隣MBの右側の4×8画素（すなわち、21,23が示される2ブロック）と、当該MBの8×8画素（すなわち、20,22,21,23が示される4ブロック）とを合わせた12×8画素のデータが書き込まれる。
【０１８５】
以上の処理を行うために、垂直ラインメモリ２１１の容量は、64×64CTUを考慮して、Yの4×64画素とCb/Crの4×32画素ずつを保存しておけばよいので、512Byte(=4*64+4*32*2)ほど必要となる。水平・垂直中間メモリ２１２の容量は、Yの20×16画素とCb/Crの12×8画素ずつを2セットあれば滞りなく処理を続けることが可能であり、1024Byte(=(20*16+12*8*2)*2)あればよい。
【０１８６】
［HEデブロッキングフィルタ処理部の動作］
次に、HEデブロッキングフィルタ処理部１３２の動作について、図１２および図１３を参照して説明する。図１２において、四角は、4×4の16画素を表しており、その四角に付されている数字は、水平・垂直中間メモリ２１２のデータの読み出し順番を示している。図１３において、四角は、4×4の16画素を表しており、その四角に付されている数字は、ピクチャの右端MBの場合の水平・垂直中間メモリ２１２のデータの読み出し順番を示している。
【０１８７】
HEデブロッキングフィルタ処理部１３２は、垂直8ピクセル境界毎にフィルタ処理を行うので、水平・垂直中間メモリ２１２のデータを、図１２または図１３に示される数字の昇順、すなわち、MBの縦方向に読み出す。
【０１８８】
HEデブロッキングフィルタ処理部１３２は、当該MBの上に位置する上隣MBが存在する場合、図１２の0,4,8,12,16,18,20,22に示されるブロックのデータを読み出す段階に合わせて、水平ラインメモリ２１３から、上隣MBの下側4ラインのデータを読み出す。HEデブロッキングフィルタ処理部１３２は、読み出されたブロックと対応する（対となる位置の）ブロックからなる水平境界に対してフィルタ処理を行う。
【０１８９】
図１３の例においては、HEデブロッキングフィルタ処理部１３２は、当該MBの上に位置する上隣MBが存在する場合、0,4,8,12,16,20,22,24,26,28,30に示されるブロックのデータを読み出す段階に合わせて、水平ラインメモリ２１３から、上隣MBの下側4ラインのデータを読み出し、対となるブロックにおいてフィルタ処理を行う。
【０１９０】
上隣MBが存在しない場合、HEデブロッキングフィルタ処理部１３２は、水平ラインメモリ２１３からデータを読み出さない。
【０１９１】
当該MBがピクチャの下端MBではないとき、HEデブロッキングフィルタ処理部１３２は、図１２の3,7,11,15,17,19,21,23に示されるブロックと、図１３の3,7,11,15,19,21,23,25,27,29,31に示されるブロックについて、対応するブロックの下隣に位置する下隣MBが入力されるまでフィルタをかけることができない。
【０１９２】
そこで、HEデブロッキングフィルタ処理部１３２は、これらのブロックの下隣MBのピクセルデータが入力されるまで、これらのブロックのピクセルデータを、水平ラインメモリ２１３に書き込んでおく。そして、HEデブロッキングフィルタ処理部１３２は、各ブロックの下隣ブロックのピクセルデータが入力される段階で、水平ラインメモリ２１３に書き込んだピクセルデータを読み出す。HEデブロッキングフィルタ処理部１３２は、読み出されたブロックと対応するブロックからなる水平境界に対してフィルタ処理を行う。
【０１９３】
HEデブロッキングフィルタ処理部１３２は、フィルタ処理が行われたブロックのピクセルデータを、順次、SAO処理部１３３に出力する。
【０１９４】
以上の処理を行うための水平ラインメモリ２１３の必要容量は、画像処理装置１１が処理可能なピクチャの最大水平ピクセル数によって異なる。例えば、最大4096ピクセルが処理可能な場合、Yの4096×4ピクセルとCb/Crの2048×4ピクセルずつを保存するので、32kByte(=(4096*4+2048*4*2)/1024)の容量になる。
【０１９５】
なお、上述したように、当該MBがピクチャの下端MBではないとき、図１２の3,7,11,15,17,19,21,23に示されるブロックと、図１３の3,7,11,15,19,21,23,25,27,29,31に示されるブロックのピクセルデータとが、水平ラインメモリ２１３に書き込きこまれる。これらのフィルタ処理が完了していないMBにおける下側4ラインのデータのうち、1番上の１ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、水平ラインメモリ２１３への書き込みとともに、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０１９６】
なお、フィルタ処理により値が変わらないのは、1番上の１ラインであるが、MBにおける下側4ラインのデータを4ラインともSAO処理部１３３に出力されるようにしてもよい。この場合、下側4ラインのデータの3ラインは、フィルタ処理後のデータで上書きされる。
【０１９７】
［HEデブロッキングフィルタ処理部の出力方法］
図１４の例においては、処理領域がピクチャの画面端にない場合のMBにおけるブロックのHEデブロッキングフィルタ処理部１３２からの出力順が示されている。
【０１９８】
まず、Yについて説明する。例えば、左上隣MBであるMBA (N-L-1)の0が示されるブロックと、上隣MBであるMBA(N-L)の5,22,27が示されるブロックが水平ラインメモリ２１３に書き込まれているところに、左隣MBであるMBA (N-1)の1が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。
【０１９９】
HEデブロッキングフィルタ処理部１３２は、0が示されるブロックを水平ラインメモリ２１３から読み出す。そして、HEデブロッキングフィルタ処理部１３２は、0が示されるブロックと1が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２００】
次に、左隣MBであるMBA (N-1)の2が示されるブロックと3が示されるブロックとがHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、2が示されるブロックと3が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２０１】
その後、左隣MBであるMBA (N-1)の4が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。4が示されるブロックは、MBA (N-1)の下隣のMBにおける右上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、4が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２０２】
同様に、当該MBであるMBA Nの6が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、5が示されるブロックを水平ラインメモリ２１３から読み出す。HEデブロッキングフィルタ処理部１３２は、5が示されるブロックと6が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２０３】
次に、MBA Nの7が示されるブロックと8が示されるブロックとが順にHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、7が示されるブロックと8が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２０４】
その後、MBA Nの9が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。9が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、9が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２０５】
Cbについて説明する。例えば、左上隣MBであるMBA (N-L-1)の10が示されるブロックと、上隣MBであるMBA(N-L)の13が示されるブロックが水平ラインメモリ２１３に書き込まれているところに、左隣MBであるMBA (N-1)の11が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。
【０２０６】
HEデブロッキングフィルタ処理部１３２は、10が示されるブロックを水平ラインメモリ２１３から読み出す。そして、HEデブロッキングフィルタ処理部１３２は、10が示されるブロックと11が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２０７】
次に、左隣MBであるMBA (N-1)の12が示されるブロックが順にHEデブロッキングフィルタ処理部１３２に入力されてくる。12が示されるブロックは、MBA (N-1)の下隣のMBにおける右上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、12が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２０８】
同様に、当該MBであるMBA Nの14が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、13が示されるブロックを水平ラインメモリ２１３から読み出す。HEデブロッキングフィルタ処理部１３２は、13が示されるブロックと14が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２０９】
次に、MBA Nの15が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。15が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、15が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２１０】
Crについて説明する。例えば、左上隣MBであるMBA (N-L-1)の16が示されるブロックと、上隣MBであるMBA(N-L)の19が示されるブロックが水平ラインメモリ２１３に書き込まれているところに、左隣MBであるMBA (N-1)の17が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。
【０２１１】
HEデブロッキングフィルタ処理部１３２は、16が示されるブロックを水平ラインメモリ２１３から読み出す。そして、HEデブロッキングフィルタ処理部１３２は、16が示されるブロックと17が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２１２】
次に、左隣MBであるMBA (N-1)の18が示されるブロックが順にHEデブロッキングフィルタ処理部１３２に入力されてくる。18が示されるブロックは、MBA (N-1)の下隣のMBにおける右上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、18が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２１３】
同様に、当該MBであるMBA Nの20が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、19が示されるブロックを水平ラインメモリ２１３から読み出す。HEデブロッキングフィルタ処理部１３２は、19が示されるブロックと20が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２１４】
次に、MBA Nの21が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。21が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、21が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２１５】
再度Yについて説明する。さらに、当該MBであるMBA Nの23が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、22が示されるブロックを水平ラインメモリ２１３から読み出す。HEデブロッキングフィルタ処理部１３２は、22が示されるブロックと23が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２１６】
次に、MBA Nの24が示されるブロックと25が示されるブロックとが順にHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、24が示されるブロックと25が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２１７】
その後、MBA Nの26が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。26が示されるブロックは、MBA Nの下隣のMBにおける左上のブロックの1つ右隣のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、26が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２１８】
同様に、当該MBであるMBA Nの28が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、27が示されるブロックを水平ラインメモリ２１３から読み出す。HEデブロッキングフィルタ処理部１３２は、27が示されるブロックと28が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２１９】
次に、MBA Nの29が示されるブロックと30が示されるブロックとが順にHEデブロッキングフィルタ処理部１３２に入力されてくる。HEデブロッキングフィルタ処理部１３２は、29が示されるブロックと30が示されるブロックとに水平境界のデブロッキングフィルタ処理を行い、それらのブロックをSAO処理部１３３に出力する。
【０２２０】
その後、MBA Nの31が示されるブロックがHEデブロッキングフィルタ処理部１３２に入力されてくる。31が示されるブロックは、MBA Nの下隣のMBにおける右上のブロックの1つ左隣のブロックが入力されるまでフィルタ処理ができないので、水平ラインメモリ２１３へ書き込まれる。その際、31が示されるブロックの1番上の1ラインは、水平境界へのデブロッキングフィルタ処理で値が変化しないので、SAO処理部１３３のエッジオフセット処理の比較用ピクセルデータとして、SAO処理部１３３に出力される。
【０２２１】
以上のように、4,9,12,15,18,21,26,31が示されるブロックを水平ラインメモリ２１３に書き込む際（すなわち、フィルタ処理の前）に、4,9,12,15,18,21,26,31が示されるブロックのＬ２に示される1番上の1ラインをSAO処理部１３３に出力する。これにより、SAO処理部１３３におけるＬ１に示される、3,8,11,14,17,20,25,30のエッジオフセット処理の比較処理を、下のMBのブロックの入力と処理とを待たずに行うことができる。
【０２２２】
なお、3,8,11,14,17,20,25,30が示されるブロックのＬ１に示される1番下の1ラインは、SAOラインメモリ２１４に書き込まれ、そのラインのピクセルデータは、下隣MBの処理に移動したときにエッジオフセット処理で利用される。
【０２２３】
また、4,9,12,15,18,21,26,31が示されるブロックのＬ２に示される1番上の1ラインは、下隣MBの処理に移動したときに再度HEデブロッキングフィルタ処理部１３２からSAO処理部１３３に出力される。
【０２２４】
なお、本実施例において、垂直ラインメモリ２１１と垂直・水平中間メモリ２１２の合計サイズは1.5kByteあればよく、水平ラインメモリ２１３は、32kByteあればよく、SAOラインメモリ２１４は、8kByteあればよい。
【０２２５】
以上のように、図７のインループフィルタの構成により、図６の構成の場合に、インループフィルタ３１の全フィルタのDRAM帯域として必要となっていた約38Gbpsが、SAO処理部１３３のWriteの帯域である約5.9Gbpsほどに減少する。
【０２２６】
また、上述したようにインループフィルタ３１内部に各ラインメモリを設け、各ラインメモリにピクセルデータを書き込むようにしたことで、インループフィルタ３１においては、次のようにパイプライン処理を行うことが可能である。
【０２２７】
［インループフィルタのパイプライン処理］
次に、図１５を参照して、インループフィルタ３１のパイプライン処理について説明する。図１５の例においては、YのCtbサイズが32の場合の例が示されており、例えば、Yの24が示されるブロックがVEデブロッキングフィルタ処理部１３１に入力されるところから説明する。
【０２２８】
Yの24が示されるブロックがVEデブロッキングフィルタ処理部１３１に入力されるとき、垂直ラインメモリ２１１のアドレス0から5が示されるブロックが読み出される。VEデブロッキングフィルタ処理部１３１は、5,24が示されるブロックの垂直境界に対してフィルタ処理を行い、その結果を、垂直・水平中間メモリ２１２のアドレス32,36にそれぞれ書き込む。
【０２２９】
次に、25が示されるブロックが、垂直ラインメモリ２１１のアドレス0に書き込まれる。また、26が示されるブロックがVEデブロッキングフィルタ処理部１３１に入力されるとき、垂直ラインメモリ２１１のアドレス1から7が示されるブロックが読み出される。VEデブロッキングフィルタ処理部１３１は、7,26が示されるブロックの垂直境界に対してフィルタ処理を行い、その結果を、垂直・水平中間メモリ２１２のアドレス33,37にそれぞれ書き込む。
【０２３０】
さらに、27が示されるブロックが、垂直ラインメモリ２１１のアドレス1に書き込まれる。また、28が示されるブロックがVEデブロッキングフィルタ処理部１３１に入力されるとき、垂直ラインメモリ２１１のアドレス0から25が示されるブロックが読み出される。VEデブロッキングフィルタ処理部１３１は、25,28が示されるブロックの垂直境界に対してフィルタ処理を行い、その結果を、垂直・水平中間メモリ２１２のアドレス40,44にそれぞれ書き込む。
【０２３１】
また、29が示されるブロックは、ピクチャの右端のため、VEデブロッキングフィルタ処理部１３１の処理なしに、そのまま、垂直・水平中間メモリ２１２のアドレス48に書き込まれる。
【０２３２】
これらの処理がなされている間、垂直・水平中間メモリ２１２のアドレス4から0が示されるブロックが読み出され、HEデブロッキングフィルタ処理部１３２の処理なしにそのままSAO処理部１３３に出力される。
【０２３３】
次に、垂直・水平中間メモリ２１２のアドレス5,6から2,8がそれぞれ示されるブロックが読み出され、HEデブロッキングフィルタ処理部１３２に入力される。HEデブロッキングフィルタ処理部１３２は、2,8が示されるブロックの水平境界に対してフィルタ処理を行い、その結果を、SAO処理部１３３に出力する。
【０２３４】
また、垂直・水平中間メモリ２１２のアドレス7から10が示されるブロックが読み出され、水平ラインメモリ２１３に書き込まれるとともに、そのブロックの少なくとも上1ラインがそのままSAO処理部１３３に出力される。
【０２３５】
同様に、垂直・水平中間メモリ２１２のアドレス22から16が示されるブロックが読み出され、HEデブロッキングフィルタ処理部１３２の処理なしにそのままSAO処理部１３３に出力される。また、垂直・水平中間メモリ２１２のアドレス23から18が示されるブロックが読み出され、水平ラインメモリ２１３に書き込まれるとともに、そのブロックの少なくとも上1ラインがそのままSAO処理部１３３に出力される。
【０２３６】
以上のようにすることで、図７のインループフィルタ３１においては、VEデブロッキングフィルタ処理部１３１、HEデブロッキングフィルタ処理部１３２、およびSAO処理部１３３によりパイプライン処理を行うことができる。
【０２３７】
［インループフィルタの処理］
次に、図１６のフローチャートを参照して、図７のインループフィルタ３１により行われるインループフィルタ処理について説明する。この処理は、図２のステップＳ２２または図４のステップＳ５８におけるインループフィルタ処理である。
【０２３８】
DF前処理画像処理部１２２（図１の演算部３０または図３の演算部６５）より、インループフィルタ３１のVEデブロッキングフィルタ処理部１３１に復号画像データが供給される。例えば、復号画像のピクセルデータが、16×16ピクセル単位で入力される。
【０２３９】
VEデブロッキングフィルタ処理部１３１は、ステップＳ１１１において垂直境界のデブロッキングフィルタ処理を行う。垂直境界のデブロッキングフィルタ処理の詳細については、図１７を参照して後述される。
【０２４０】
VEデブロッキングフィルタ処理部１３１は、必要に応じて、垂直ラインメモリ２１１にピクセルデータを書き込み、読み出しながら、垂直境界のデブロッキングフィルタ処理を行う。VEデブロッキングフィルタ処理部１３１により処理されたピクセルデータは、垂直・水平中間メモリ２１２に書き込まれる。
【０２４１】
HEデブロッキングフィルタ処理部１３２は、水平・垂直中間メモリ２１２に、例えば、16×16ピクセル単位のピクセルデータが書き込まれると、ステップＳ１１２において水平境界のデブロッキングフィルタ処理を行う。
【０２４２】
水平境界のデブロッキングフィルタ処理の詳細については、図１８を参照して後述される。HEデブロッキングフィルタ処理部１３２は、必要に応じて、水平ラインメモリ２１３にピクセルデータを書き込み、読み出しながら、水平境界のデブロッキングフィルタ処理を行う。HEデブロッキングフィルタ処理部１３２により処理されたピクセルデータは、SAO処理部１３３に出力される。
【０２４３】
SAO処理部１３３は、ステップＳ１１３において、SAO処理を行う。SAO処理部１３３は、必要に応じて、SAOラインメモリ２１４にピクセルデータを書き込み、読み出しながら、SAO処理を行う。
【０２４４】
なお、SAO処理は、CTU単位で、オフセットの種類（エッジ/バンド）やそのパラメータが決定され、決定された種類とパラメータを用いて処理が行われる（符号化側）。また、復号側では、符号化側から送られてきた種類とパラメータが用いられて処理が行われる。
【０２４５】
ただし、PCM（符号化なしで画像データを出力する）モードやTrans Quant（量子化しない）などのパラメータは、CTUの下のレイヤ(CUレベル)で設定され、その中に、SAOをかけないなどのフラグもある。その場合のSAO処理においては、CTUのパラメータだけでなく、CUのパラメータも参照される。
【０２４６】
SAO処理が行われたピクセルデータは、バス・外部メモリコントローラ１２１を介して、外部メモリ１１１に書き込まれる。
【０２４７】
なお、外部メモリ１１１に書き込まれたピクセルデータのうち、必要なものは、DF前処理画像処理部１２２（例えば、図１のフレームメモリ３２または図３のフレームメモリ６９）に読み出されて次の処理に用いられる。
【０２４８】
［垂直境界のデブロッキングフィルタ処理］
次に、図１７のフローチャートを参照して、図１６のステップＳ１１１の垂直境界のデブロッキングフィルタ処理について説明する。なお、この処理は、16×16画素（いまMBという）単位で行われ、また、１クロックサイクルに4×4の16画素（ブロック）が同時に入力される
【０２４９】
ステップＳ１３１において、VEデブロッキングフィルタ処理部１３１はMBにおける当該ブロック(4×4)がピクチャの右端であるか否かを判定する。ステップＳ１３１において、ピクチャの右端であると判定された場合、処理は、ステップＳ１３５に進む。
【０２５０】
ステップＳ１３５において、当該ブロックは、VEデブロッキングフィルタ処理部１３１の処理なしに、そのまま、垂直・水平中間メモリ２１２に書き込まれる。
【０２５１】
また、ステップＳ１３１において、ピクチャの右端ではないと判定された場合、処理は、ステップＳ１３２に進む。
【０２５２】
ステップＳ１３２において、VEデブロッキングフィルタ処理部１３１は当該ブロックがカレント垂直境界における右側のブロックであるか否かを判定する。ステップＳ１３２において、当該ブロックがカレント垂直境界における右側のブロックであると判定された場合、処理は、ステップＳ１３３に進む。この場合、当該ブロックに対応する、カレント垂直境界における左側のブロックは、今回より前の本処理におけるステップＳ１３６により垂直ラインメモリ２１１に書き込まれている。
【０２５３】
ステップＳ１３３において、VEデブロッキングフィルタ処理部１３１は、当該ブロックに対応する、カレント垂直境界における左側のブロックを垂直ラインメモリ２１１から読み出す。ステップＳ１３４において、VEデブロッキングフィルタ処理部１３１は、当該ブロックと、ステップＳ１３３において読み出されたブロックのカレント垂直境界に、デブロッキングフィルタ処理を行う。
【０２５４】
ステップＳ１３５において、VEデブロッキングフィルタ処理部１３１は、フィルタ処理後のブロックを、垂直・水平中間メモリ２１２に書き込む。
【０２５５】
一方、ステップＳ１３２において、当該ブロックがカレント垂直境界における右側のブロックではない、すなわち、左側のブロックであると判定された場合、処理は、ステップＳ１３６に進む。
【０２５６】
ステップＳ１３６において、VEデブロッキングフィルタ処理部１３１は、当該ブロックを、垂直ラインメモリ２１１に書き込む。
【０２５７】
ステップＳ１３７において、VEデブロッキングフィルタ処理部１３１は、当該ブロックがMB最後のブロックであるか否かを判定する。ステップＳ１３７において、当該ブロックがMB最後のブロックであると判定された場合、垂直境界のデブロッキングフィルタ処理は終了し、処理は、図１６のステップＳ１１１に戻る。
【０２５８】
ステップＳ１３７において、当該ブロックがMB最後のブロックではないと判定された場合、処理は、ステップＳ１３１に戻り、次のブロックに対してそれ以降の処理が繰り返される。
【０２５９】
［水平境界のデブロッキングフィルタ処理］
次に、図１８のフローチャートを参照して、図１６のステップＳ１１２の水平境界のデブロッキングフィルタ処理について説明する。なお、この処理は、垂直・水平中間メモリ２１２に16×16画素（MB）単位が書き込まれた段階で開始される。また、１クロックサイクルに4×4の16画素（ブロック）が同時に入力される。
【０２６０】
ステップＳ１５１において、HEデブロッキングフィルタ処理部１３２はMBにおける当該ブロック(4×4)がピクチャの下端であるか否かを判定する。ステップＳ１５１において、ピクチャの下端であると判定された場合、処理は、ステップＳ１５５に進む。
【０２６１】
ステップＳ１５５において、当該ブロックは、HEデブロッキングフィルタ処理部１３２の処理なしに、そのまま、SAO処理部１３３に出力される。
【０２６２】
また、ステップＳ１５１において、ピクチャの下端ではないと判定された場合、処理は、ステップＳ１５２に進む。
【０２６３】
ステップＳ１５２において、HEデブロッキングフィルタ処理部１３２は当該ブロックがカレント水平境界における下側のブロックであるか否かを判定する。ステップＳ１５２において、当該ブロックがカレント水平境界における下側のブロックであると判定された場合、処理は、ステップＳ１５３に進む。この場合、当該ブロックに対応する、カレント水平境界における上側のブロックは、今回より前の本処理におけるステップＳ１５６により水平ラインメモリ２１３に書き込まれている。
【０２６４】
ステップＳ１５３において、HEデブロッキングフィルタ処理部１３２は、当該ブロックに対応する、カレント水平境界における上側のブロックを水平ラインメモリ２１３から読み出す。ステップＳ１５４において、HEデブロッキングフィルタ処理部１３２は、当該ブロックと、ステップＳ１５３において読み出されたブロックのカレント水平境界に、デブロッキングフィルタ処理を行う。
【０２６５】
ステップＳ１５５において、HEデブロッキングフィルタ処理部１３２は、フィルタ処理後のブロックを、SAO処理部１３３に出力する。
【０２６６】
一方、ステップＳ１５２において、当該ブロックがカレント水平境界における下側のブロックではない、すなわち、上側のブロックであると判定された場合、処理は、ステップＳ１５６に進む。
【０２６７】
ステップＳ１５６において、HEデブロッキングフィルタ処理部１３２は、当該ブロックを、水平ラインメモリ２１３に書き込む。そして、ステップＳ１５７において、HEデブロッキングフィルタ処理部１３２は、当該ブロックがMBの下端であるか否かを判定する。ステップＳ１５７において、MBの下端であると判定された場合、処理は、ステップＳ１５８に進む。ステップＳ１５８において、HEデブロッキングフィルタ処理部１３２は、当該ブロック(少なくとも上１ライン)をSAO処理部１３３に出力する。
【０２６８】
また、ステップＳ１５７において、MBの下端ではないと判定された場合、ステップＳ１５８はスキップされ、処理は、ステップＳ１５９に進む。ステップＳ１５９において、HEデブロッキングフィルタ処理部１３２は、当該ブロックがMB最後のブロックであるか否かを判定する。ステップＳ１５９において、当該ブロックがMB最後のブロックであると判定された場合、水平境界のデブロッキングフィルタ処理は終了し、処理は、図１６のステップＳ１１２に戻る。
【０２６９】
ステップＳ１５９において、当該ブロックがMB最後のブロックではないと判定された場合、処理は、ステップＳ１５１に戻り、次のブロックに対してそれ以降の処理が繰り返される。
【０２７０】
以上のように、本技術によれば、符号化または復号処理に必要な外部メモリ(DRAM)へのアクセス数を削減することができる。
【０２７１】
また、本技術によれば、デブロッキングフィルタ処理やSAO処理をパイプラインで処理することができる。すなわち、デブロッキングフィルタ処理やSAO処理を前段までの画像処理パイプラインと同じLCUやCU単位で行うことができるので、前段までの画像処理パイプラインに組込むことができる。これにより、ローカルデコード完了までの遅延時間を小さくすることができる。
【０２７２】
以上においては、符号化方式として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（Universal Serial Bus）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０３０５】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０３０６】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及び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のサイズは、本明細書で説明した例に限定されず、他のサイズであってもよい。
【０３３４】
なお、本明細書では、各パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０３３５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０３３６】
なお、本技術は以下のような構成も取ることができる。
（１）  符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と
を備える画像処理装置。
（２）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（１）に記載の画像処理装置。
（３）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（１）に記載の画像処理装置。
（４）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力する
前記（１）乃至（３）のいずれかに記載の画像処理装置。
（５）  画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う
画像処理方法。
（６）  画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、
前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
（７）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（６）に記載の画像処理装置。
（８）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記垂直境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（６）に記載の画像処理装置。
（９）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力する
前記（６）乃至（８）のいずれかに記載の画像処理装置。
（１０）  画像処理装置が、
画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、
適応オフセット処理が行われた画素を用いて、前記画像を符号化する
画像処理方法。
【符号の説明】
【０３３７】
１１  画像処理装置，  １１ａ  画像符号化装置，  １１ｂ  画像復号装置，  ２６  可逆符号化部，  ３１，３１ａ，３１ｂ  インループフィルタ，５１  画像復号装置，  ６２  可逆復号部，  １０１  画像処理システム，  １１１  外部メモリ，  １２１  バス・外部メモリコントローラ，  １２２  DF前処理画像処理部，  １３１  VEデブロッキングフィルタ処理部，  １３２  HEデブロッキングフィルタ処理部，  １３３  SAO処理部，  ２０１  画像処理システム，  ２１１  垂直ラインメモリ，  ２１２  垂直・水平中間メモリ，  ２１３  水平ラインメモリ，  ２１４  SAOラインメモリ
【図１】
2014207536.tif 000003
【図２】
2014207536.tif 000004
【図３】
2014207536.tif 000005
【図４】
2014207536.tif 000006
【図５】
2014207536.tif 000007
【図６】
2014207536.tif 000008
【図７】
2014207536.tif 000009
【図８】
2014207536.tif 000010
【図９】
2014207536.tif 000011
【図１０】
2014207536.tif 000012
【図１１】
2014207536.tif 000013
【図１２】
2014207536.tif 000014
【図１３】
2014207536.tif 000015
【図１４】
2014207536.tif 000016
【図１５】
2014207536.tif 000017
【図１６】
2014207536.tif 000018
【図１７】
2014207536.tif 000019
【図１８】
2014207536.tif 000020
【図１９】
2014207536.tif 000021
【図２０】
2014207536.tif 000022
【図２１】
2014207536.tif 000023
【図２２】
2014207536.tif 000024
【図２３】
2014207536.tif 000025
【手続補正書】
【提出日】平成25年4月15日(2013.4.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と
を備える画像処理装置。
【請求項２】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
請求項１に記載の画像処理装置。
【請求項３】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
請求項１に記載の画像処理装置。
【請求項４】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力する
請求項１に記載の画像処理装置。
【請求項５】
画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う
画像処理方法。
【請求項６】
画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、
前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
【請求項７】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
請求項６に記載の画像処理装置。
【請求項８】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
請求項６に記載の画像処理装置。
【請求項９】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力する
請求項６に記載の画像処理装置。
【請求項１０】
画像処理装置が、
画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、
適応オフセット処理が行われた画素を用いて、前記画像を符号化する
画像処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うことができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０３３６
【補正方法】変更
【補正の内容】
【０３３６】
なお、本技術は以下のような構成も取ることができる。
（１）  符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と
を備える画像処理装置。
（２）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（１）に記載の画像処理装置。
（３）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（１）に記載の画像処理装置。
（４）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力する
前記（１）乃至（３）のいずれかに記載の画像処理装置。
（５）  画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う
画像処理方法。
（６）  画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行うデブロッキングフィルタと、
前記デブロッキングフィルタによりフィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行う適応オフセット処理部と、
前記適応オフセット処理部により適応オフセット処理が行われた画素を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
（７）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント垂直境界において左側に位置するブロックをメモリに格納し、前記カレント垂直境界において右側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（６）に記載の画像処理装置。
（８）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント水平境界において上側に位置するブロックをメモリに格納し、前記カレント水平境界において下側に位置するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行う
前記（６）に記載の画像処理装置。
（９）  前記デブロッキングフィルタは、前記復号部により生成された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックを前記メモリに格納するとともに、そのブロックの少なくとも１番上ラインの画素を、前記適応オフセット処理部に出力する
前記（６）乃至（８）のいずれかに記載の画像処理装置。
（１０）  画像処理装置が、
画像を符号化する際にローカル復号処理された画像のブロックのうち、カレント境界において対応するブロックが未入力であるブロックをメモリに格納し、前記対応するブロックが入力された段階で前記メモリに格納されたブロックを読み出してフィルタ処理を行い、
フィルタ処理が行われたブロックの画素を用いて適応オフセット処理を行い、
適応オフセット処理が行われた画素を用いて、前記画像を符号化する
画像処理方法。