(57)【要約】  本技術は、復号された画像に対するフィルタ処理を並列符号化処理単位とは無関係の処理単位で並列に行うことができるようにする画像処理装置、画像処理方法、およびプログラムに関する。加算部は、符号化データを復号し、画像を生成する。デブロックフィルタ、適応オフセットフィルタ、および適応ループフィルタは、加算部により生成された画像に対して、スライスとは無関係の並列処理単位で並列にフィルタ処理を行う。本技術は、例えば、符号化装置や復号装置等に適用することができる。
2014087861.tif 000002
【特許請求の範囲】
【請求項１】
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
を備える画像処理装置。
【請求項２】
前記フィルタ処理は、デブロッキングフィルタ処理であり、
前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項１に記載の画像処理装置。
【請求項３】
前記処理単位の水平方向または垂直方向の画素は、LCU（Largest Coding Unit）の境界を中心とした４画素ずつを含む
請求項２に記載の画像処理装置。
【請求項４】
前記画像がYUV420の輝度画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数であり、前記画像がYUV420の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は４の倍数である
請求項２に記載の画像処理装置。
【請求項５】
前記画像がYUV422の色画像である場合、前記処理単位の水平方向の画素数は４の倍数であり、垂直方向の画素数は８の倍数である
請求項２に記載の画像処理装置。
【請求項６】
前記画像がYUV444の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項２に記載の画像処理装置。
【請求項７】
前記フィルタ処理部は、
前記画像の前記処理単位の境界の画素の画素値を保持する保持部と、
前記保持部により保持されている前記画素値を用いて、前記画像に対して前記処理単位で並列に適応オフセットフィルタ処理を行う処理部と
を備える
請求項１に記載の画像処理装置。
【請求項８】
前記処理単位は、LCU（Largest Coding Unit）単位である
請求項７に記載の画像処理装置。
【請求項９】
前記フィルタ処理は、デブロッキングフィルタ処理と適応オフセットフィルタ処理であり、
前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項１に記載の画像処理装置。
【請求項１０】
前記画像がYUV420の輝度画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数であり、前記画像がYUV420の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は４の倍数である
請求項９に記載の画像処理装置。
【請求項１１】
前記画像がYUV422の色画像である場合、前記処理単位の水平方向の画素数は４の倍数であり、垂直方向の画素数は８の倍数である
請求項９に記載の画像処理装置。
【請求項１２】
前記画像がYUV444の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項９に記載の画像処理装置。
【請求項１３】
画像処理装置が、
符号化データを復号し、画像を生成する復号ステップと、
前記復号ステップの処理により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理ステップと
を含む画像処理方法。
【請求項１４】
コンピュータを、
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
して機能させるためのプログラム。
【請求項１５】
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、タイルとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像処理装置、画像処理方法、およびプログラムに関し、特に、復号された画像に対するフィルタ処理を並列符号化処理単位とは無関係の処理単位で並列に行うことができるようにした画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
動画像の符号化効率の向上を目的として、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている（例えば、非特許文献１参照）。HEVC方式では、並列に復号を行うことが可能な符号化処理単位である並列符号化処理単位として、スライスやタイルを用いることができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand," High efficiency video coding (HEVC) text specification draft 8 ", JCTVC-J1003_d7, 2012.7.28
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、符号化時や復号時に復号された画像に対して行われるフィルタ処理を、並列符号化処理単位とは無関係の処理単位で並列に行うことは考えられていなかった。【０００５】
本技術は、このような状況に鑑みてなされたものであり、復号された画像に対するフィルタ処理を並列符号化処理単位とは無関係の処理単位で並列に行うことができるようにするものである。
【課題を解決するための手段】
【０００６】
本技術の第１の側面の画像処理装置は、符号化データを復号し、画像を生成する復号部と、前記復号部により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部とを備える画像処理装置である。【０００７】
本技術の第１の側面の画像処理方法およびプログラムは、本技術の第１の側面の画像処理装置に対応する。【０００８】
本技術の第１の側面においては、符号化データが復号されて画像が生成され、その画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理が行われる。【０００９】
本技術の第２の側面の画像処理装置は、符号化データを復号し、画像を生成する復号部と、前記復号部により生成された前記画像に対して、タイルとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部とを備える画像処理装置である。【００１０】
本技術の第２の側面においては、符号化データが復号されて画像が生成され、その画像に対して、タイルとは無関係の処理単位で並列にフィルタ処理が行われる。
【発明の効果】
【００１１】
本技術によれば、復号された画像に対するフィルタ処理を並列符号化処理単位とは無関係の処理単位で並列に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本技術を適用した符号化装置の第１実施の形態の構成例を示すブロック図である。
【図２】HEVC方式における最大の符号化単位であるLCUを説明する図である。
【図３】逆量子化、逆直交変換、加算処理、および補償処理における並列処理単位の例を示す図である。
【図４】図１のデブロックフィルタの構成例を示すブロック図である。
【図５】画像の輝度成分に対するデブロッキングフィルタ処理の並列処理単位を説明する図である。
【図６】画像の輝度成分に対するデブロッキングフィルタ処理の並列処理単位を説明する図である。
【図７】画像の輝度成分に対するデブロッキングフィルタ処理の並列処理単位を説明する図である。
【図８】画像の輝度成分に対するデブロッキングフィルタ処理の並列処理単位を説明する図である。
【図９】図１の適応オフセットフィルタの構成例を示すブロック図である。
【図１０】適応オフセットフィルタ処理の並列処理単位を説明する図である。
【図１１】適応オフセットフィルタ処理の並列処理単位を説明する図である。
【図１２】適応オフセットフィルタ処理の並列処理単位を説明する図である。
【図１３】適応オフセットフィルタ処理の並列処理単位を説明する図である。
【図１４】適応オフセットフィルタ処理の並列処理単位を説明する図である。
【図１５】図１の適応ループフィルタの構成例を示すブロック図である。
【図１６】適応ループフィルタ処理の並列処理単位を説明する図である。
【図１７】適応ループフィルタ処理の並列処理単位を説明する図である。
【図１８】適応ループフィルタ処理の並列処理単位を説明する図である。
【図１９】適応ループフィルタ処理の並列処理単位を説明する図である。
【図２０】図１の符号化装置の符号化処理を説明するフローチャートである。
【図２１】図１の符号化装置の符号化処理を説明するフローチャートである。
【図２２】図２１の逆量子化並列処理の詳細を説明するフローチャートである。
【図２３】図２１の逆直交変換並列処理の詳細を説明するフローチャートである。
【図２４】図２１のインター予測並列処理の詳細を説明するフローチャートである。
【図２５】図２１の加算並列処理の詳細を説明するフローチャートである。
【図２６】図２１のイントラ予測処理の詳細を説明するフローチャートである。
【図２７】図２１のデブロッキングフィルタ並列処理の詳細を説明するフローチャートである。
【図２８】図２１の適応オフセットフィルタ並列処理の詳細を説明するフローチャートである。
【図２９】図２１の適応ループフィルタ並列処理の詳細を説明するフローチャートである。
【図３０】本技術を適用した復号装置の第１実施の形態の構成例を示すブロック図である。
【図３１】図３０の復号装置の復号処理を説明するフローチャートである。
【図３２】本技術を適用した画像処理装置としての符号化装置の第２実施の形態の構成例を示すブロック図である。
【図３３】図３２のフィルタ処理部の構成例を示すブロック図である。
【図３４】図３２の符号化装置の符号化処理を説明するフローチャートである。
【図３５】図３２の符号化装置の符号化処理を説明するフローチャートである。
【図３６】図３５のインター並列処理の詳細を説明するフローチャートである。
【図３７】図３５のフィルタ並列処理の詳細を説明するフローチャートである。
【図３８】本技術を適用した画像処理装置としての復号装置の第２実施の形態の構成例を示すブロック図である。
【図３９】図３８の復号装置の復号処理を説明するフローチャートである。
【図４０】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
＜第１実施の形態＞
＜符号化装置の第１実施の形態の構成例＞
図１は、本技術を適用した画像処理装置としての符号化装置の第１実施の形態の構成例を示すブロック図である。
【００１４】
図１の符号化装置１１は、A/D変換部３１、画面並べ替えバッファ３２、演算部３３、直交変換部３４、量子化部３５、可逆符号化部３６、蓄積バッファ３７、逆量子化部３８、逆直交変換部３９、加算部４０、デブロックフィルタ４１、適応オフセットフィルタ４２、適応ループフィルタ４３、フレームメモリ４４、スイッチ４５、イントラ予測部４６、動き予測・補償部４７、予測画像選択部４８、およびレート制御部４９により構成される。符号化装置１１は、HEVC方式に準ずる方式で画像を符号化する。
【００１５】
具体的には、符号化装置１１のA/D変換部３１は、外部から入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ３２に出力して記憶させる。画面並べ替えバッファ３２は、記憶した表示の順番のフレーム単位の画像を、GOP構造に応じて、符号化のための順番に並べ替え、演算部３３、イントラ予測部４６、および動き予測・補償部４７に出力する。
【００１６】
演算部３３は、予測画像選択部４８から供給される予測画像と、画面並べ替えバッファ３２から出力された符号化対象の画像の差分を演算することにより符号化を行う。具体的には、演算部３３は、画面並べ替えバッファ３２から出力された符号化対象の画像から、予測画像選択部４８から供給される予測画像を減算することにより符号化を行う。演算部３３は、その結果得られる画像を、残差情報として直交変換部３４に出力する。なお、予測画像選択部４８から予測画像が供給されない場合、演算部３３は、画面並べ替えバッファ３２から読み出された画像をそのまま残差情報として直交変換部３４に出力する。
【００１７】
直交変換部３４は、演算部３３からの残差情報を直交変換し、生成された直交変換係数を量子化部３５に供給する。
【００１８】
量子化部３５は、直交変換部３４から供給される直交変換係数に対して量子化を行い、その結果得られる係数を、可逆符号化部３６に供給する。
【００１９】
可逆符号化部３６は、最適イントラ予測モードを示す情報（以下、イントラ予測モード情報という）をイントラ予測部４６から取得する。また、可逆符号化部３６は、最適インター予測モードを示す情報（以下、インター予測モード情報という）、動きベクトル、参照画像を特定する情報などを動き予測・補償部４７から取得する。
【００２０】
また、可逆符号化部３６は、適応オフセットフィルタ４２からオフセットフィルタに関するオフセットフィルタ情報を取得し、適応ループフィルタ４３からフィルタ係数を取得する。
【００２１】
可逆符号化部３６は、量子化部３５から供給される量子化された係数に対して、算術符号化（例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）など）などの可逆符号化を行う。
【００２２】
また、可逆符号化部３６は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、および参照画像を特定する情報、オフセットフィルタ情報、並びにフィルタ係数を、符号化に関する符号化情報として可逆符号化する。可逆符号化部３６は、可逆符号化された符号化情報と係数（シンタックス）を、符号化データとして蓄積バッファ３７に供給し、蓄積させる。なお、可逆符号化された符号化情報は、可逆符号化された係数のヘッダ情報（スライスヘッダ）とされてもよい。
【００２３】
蓄積バッファ３７は、可逆符号化部３６から供給される符号化データ（ビットストリーム）を、一時的に記憶する。また、蓄積バッファ３７は、記憶している符号化データを伝送する。
【００２４】
また、量子化部３５より出力された、量子化された係数は、逆量子化部３８にも入力される。逆量子化部３８は、量子化部３５により量子化された係数に対して、所定の処理単位で並列に逆量子化を行い、その結果得られる直交変換係数を逆直交変換部３９に供給する。
【００２５】
逆直交変換部３９は、逆量子化部３８から供給される直交変換係数に対して、所定の処理単位で並列に逆直交変換を行い、その結果得られる残差情報を加算部４０に供給する。
【００２６】
加算部４０は、復号部として機能し、動き予測・補償部４７から供給される予測画像と逆直交変換部３９から供給される残差情報とを加算する加算処理を、所定の処理単位で並列に行うことにより、局部的に復号する。加算部４０は、その結果得られる局部的に復号された画像をフレームメモリ４４に供給する。また、加算部４０は、イントラ予測部４６から供給される予測画像と残差情報とを加算する加算処理をPU（Prediction Unit）単位で行うことにより、局部的に復号を行う。加算部４０は、その結果得られる局部的に復号されたPU単位の画像をフレームメモリ４４に供給する。さらに、加算部４０は、完全に復号されたピクチャ単位の画像をデブロックフィルタ４１に供給する。
【００２７】
デブロックフィルタ４１は、加算部４０から供給される画像に対して、ブロック歪を除去するデブロッキングフィルタ処理を所定の処理単位で並列に行い、その結果得られる画像を適応オフセットフィルタ４２に供給する。
【００２８】
適応オフセットフィルタ４２は、デブロックフィルタ４１によるデブロッキングフィルタ処理後の画像に対して、LCU（Largest Coding Unit）ごとに主にリンギングを除去する適応オフセットフィルタ(SAO（Sample adaptive offset)）処理を所定の処理単位で並列に行う。適応オフセットフィルタ４２は、各LCUの適応オフセットフィルタ処理に関する情報であるオフセットフィルタ情報を、可逆符号化部３６に供給する。
【００２９】
適応ループフィルタ４３は、例えば、２次元のウィナーフィルタ（Wiener Filter）により構成される。適応ループフィルタ４３は、適応オフセットフィルタ４２から供給される適応オフセットフィルタ処理後の画像に対して、LCUごとの適応ループフィルタ（ALF(Adaptive Loop Filter)）処理を所定の処理単位で並列に行う。適応ループフィルタ４３は、各LCUの適応ループフィルタ処理で用いられたフィルタ係数を、可逆符号化部３６に供給する。
【００３０】
フレームメモリ４４は、適応ループフィルタ４３から供給される画像と、加算部４０から供給される画像を蓄積する。フレームメモリ４４に蓄積された適応ループフィルタ４３から供給される画像は、参照画像としてスイッチ４５を介して動き予測・補償部４７に出力される。また、フレームメモリ４４に蓄積された加算部４０から供給される画像は、参照画像としてスイッチ４５を介してイントラ予測部４６に出力される。
【００３１】
イントラ予測部４６は、フレームメモリ４４からスイッチ４５を介して読み出された参照画像を用いて、候補となる全てのイントラ予測モードのイントラ予測処理をPU単位で行う。
【００３２】
また、イントラ予測部４６は、PUごとに、画面並べ替えバッファ３２から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値（詳細は後述する）を算出する。そして、イントラ予測部４６は、PUごとに、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。
【００３３】
イントラ予測部４６は、PUごとに、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部４８に供給する。
【００３４】
なお、コスト関数値は、RD(Rate Distortion)コストともいい、例えば、H．264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められているような、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて算出される。なお、H．264/AVC方式における参照ソフトウエアは、http://iphome.hhi.de/suehring/tml/index.htmにおいて公開されている。
【００３５】
具体的には、コスト関数値の算出手法としてHigh Complexity モードが採用される場合、候補となる全ての予測モードに対して、仮に復号までが行われ、次の式（１）で表わされるコスト関数値が各予測モードに対して算出される。
【００３６】
Cost(Mode)=D＋λ・R                                  ・・・（１）
【００３７】
Dは、原画像と復号画像の差分（歪）、Rは、直交変換の係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ未定乗数である。
【００３８】
一方、コスト関数値の算出手法としてLow Complexity モードが採用される場合、候補となる全ての予測モードに対して、予測画像の生成、および、符号化情報の符号量の算出が行われ、次の式（２）で表わされるコスト関数が各予測モードに対して算出される。
【００３９】
Cost(Mode)=D＋QPtoQuant(QP)・Header_Bit              ・・・（２）
【００４０】
Dは、原画像と予測画像の差分（歪）、Header_Bitは、符号化情報の符号量、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
【００４１】
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するだけでよく、復号画像を生成する必要がないため、演算量が少なくて済む。
【００４２】
イントラ予測部４６は、予測画像選択部４８から所定のPUの最適イントラ予測モードで生成された予測画像の選択が通知された場合、そのPUの最適イントラ予測モード情報を可逆符号化部３６に供給する。また、イントラ予測部４６は、予測画像選択部４８から最適イントラ予測モードで生成された予測画像の選択が通知された各PUに対して、PU単位で最適イントラ予測モードのイントラ予測処理を行う。イントラ予測部４６は、その結果得られる各PUの予測画像を加算部４０に供給する。
【００４３】
動き予測・補償部４７は、候補となる全てのインター予測モードの動き予測・補償処理を行う。具体的には、動き予測・補償部４７は、画面並べ替えバッファ３２から供給される画像と、フレームメモリ４４からスイッチ４５を介して読み出される参照画像に基づいて、PUごとに候補となる全てのインター予測モードの動きベクトルを検出する。そして、動き予測・補償部４７は、PUごとに、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
【００４４】
このとき、動き予測・補償部４７は、PUごとに、画面並べ替えバッファ３２から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。そして、動き予測・補償部４７は、PUごとに、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部４８に供給する。
【００４５】
動き予測・補償部４７は、予測画像選択部４８から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル、参照画像を特定する情報などを可逆符号化部３６に出力する。また、動き予測・補償部４７は、所定の処理単位で並列に、予測画像選択部４８から最適インター予測モードで生成された予測画像の選択が通知された各PUについて、対応する動きベクトルに基づいて、参照画像を特定する情報で特定される参照画像に最適インター予測モードの補償処理を施す。動き予測・補償部４７は、その結果得られるピクチャ単位の予測画像を加算部４０に供給する。
【００４６】
予測画像選択部４８は、イントラ予測部４６および動き予測・補償部４７から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの、対応するコスト関数値が小さい方を、最適予測モードに決定する。そして、予測画像選択部４８は、最適予測モードの予測画像を演算部３３に供給する。また、予測画像選択部４８は、最適予測モードの予測画像の選択をイントラ予測部４６または動き予測・補償部４７に通知する。
【００４７】
レート制御部４９は、蓄積バッファ３７に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部３５の量子化動作のレートを制御する。
【００４８】
なお、符号化装置１１が、HEVC方式で符号化する場合、適応ループフィルタ４３は設けられない。
【００４９】
＜LCUの説明＞
図２は、HEVC方式における最大の符号化単位であるLCUを説明する図である。
【００５０】
図２に示すように、HEVC方式では、最大の符号化単位として、SPS(Sequence Parameter Set) で設定される固定サイズのLCU（Largest Coding Unit）６１が定義されている。図２の例では、ピクチャは、8×8個のLCU６１から構成される。LCUは、さらに、4分木分割により再帰的に分割し、符号化単位であるCU６２とすることができる。CU６２は、イントラ予測またはインター予測の単位であるPUに分割されたり、直交変換の単位であるTransform Unit(TU)に分割されたりする。なお、以下では、LCU６１の境界をLCU boundaryという。
【００５１】
＜逆量子化、逆直交変換、加算処理、および補償処理における並列処理単位＞
図３は、逆量子化、逆直交変換、加算処理、および補償処理における並列処理単位の例を示す図である。
【００５２】
逆量子化、逆直交変換、加算処理、および補償処理は、LCU単位で独立に処理することが可能である。そこで、符号化装置１１では、スライスやタイルの設定の有無によらず、逆量子化、逆直交変換、加算処理、および補償処理を１以上のLCU６１からなるRecon Pseudo Slice単位で並列に行う。
【００５３】
図３の例では、ピクチャは8×8個のLCU６１から構成され、Recon Pseudo Slice単位は、1行のLCU６１から構成される。従って、ピクチャは、8個のRecon Pseudo Slice単位から構成される。
【００５４】
なお、Recon Pseudo Slice単位は、これに限定されず、例えば、1以上の列のLCUから構成されるようにすることもできる。即ち、水平方向に延びる垂直方向のLCU boundary６３でRecon Pseudo Sliceに分割するのではなく、垂直方向に延びる水平方向のLCU boundary６４でRecon Pseudo Sliceを分割することも可能である。
【００５５】
＜デブロックフィルタの構成例＞
図４は、図１のデブロックフィルタ４１の構成例を示すブロック図である。
【００５６】
図４のデブロックフィルタ４１は、バッファ８０、分割部８１、処理部８２−１乃至８２−ｎ、および出力部８３により構成される。
【００５７】
デブロックフィルタ４１のバッファ８０は、図１の加算部４０から供給される完全に復号された画像をピクチャ単位で保持する。また、バッファ８０は、処理部８２−１乃至８２−ｎから供給される所定の処理単位のデブロッキングフィルタ処理後の画像に、復号された画像を更新する。
【００５８】
分割部８１は、バッファ８０に保持されているピクチャ単位の画像をn×m個（nは2以上の整数、mは１以上の整数）の所定の処理単位に分割する。分割部８１は、分割されたn×m個の所定の処理単位の画像を、m個ずつ、処理部８２−１乃至８２−ｎに供給する。
【００５９】
処理部８２−１乃至８２−ｎは、それぞれ、分割部８１から供給される所定の処理単位の画像に対してデブロッキングフィルタ処理を行い、その結果得られる画像をバッファ８０に供給する。
【００６０】
出力部８３は、バッファ８０に保持されているピクチャ単位のデブロッキングフィルタ処理後の画像を、図１の適応オフセットフィルタ４２に供給する。
【００６１】
＜デブロッキングフィルタ処理の並列処理単位の例＞
図５乃至図８は、画像の輝度成分（luma）に対するデブロッキングフィルタ処理の並列処理単位を説明する図である。
【００６２】
図５中の丸は画素を表している。
【００６３】
図５に示すように、HEVC方式のデブロッキングフィルタ処理では、まず水平方向に並んだ画素に対する水平方向のデブロッキングフィルタ処理をピクチャ全体に行った後に、垂直方向に並んだ画素に対する垂直方向のデブロッキングフィルタ処理をピクチャ全体に対して行う。
【００６４】
ここで、水平方向のデブロッキングフィルタ処理では、垂直方向に延びるLCU boundary６４から右方向に8画素ごとの境界の左右の最大4画素(例えば、図５中の0乃至7が付された丸が表す画素)の画素値を用いて、その境界の左右の最大3画素の画素値が書き換えられる。また、垂直方向のデブロッキングフィルタ処理では、水平方向に延びるLCU boundary６３から下方向に8画素ごとの境界の上下の最大4画素(例えば、図５中a乃至hが付された丸が表す画素)の画素値を用いて、その境界の上下の最大3画素の画素値が書き換えられる。
【００６５】
従って、他の単位DBK Pseudo Sliceを用いずにデブロッキングフィルタ処理を独立に処理可能な単位DBK Pseudo Sliceの最小値DBK Pseudo Slice Minの水平方向に延びる垂直方向の境界De-blocking Pseudo boundary９１は、水平方向に延びるLCU boundary６３から4画素だけ上の位置と、その位置から8画素ずつ上の位置である。
【００６６】
よって、画像の輝度成分に対するデブロッキングフィルタ処理の並列処理単位とする単位DBK Pseudo Slice（以下、並列処理単位DBK Pseudo Sliceという）は、8の倍数の画素ごとの境界De-blocking Pseudo boundary９１を境界とする単位とされる。
【００６７】
例えば、図６に示すように、画像の輝度成分に対するデブロッキングフィルタ処理の並列処理単位DBK Pseudo Sliceは、LCU boundary６３から4画素だけ上の境界De-blocking Pseudo boundary９１を境界とする単位とすることができる。但し、１番上の並列処理単位DBK Pseudo Sliceの上部の境界De-blocking Pseudo boundary９１と１番下の並列処理単位DBK Pseudo Sliceの下部の境界De-blocking Pseudo boundary９１は、LCU boundary６３である。
【００６８】
この場合、図６に示すように、ピクチャが8×8個のLCU６１から構成されると、ピクチャは、8個のDBK Pseudo Sliceから構成される。
【００６９】
図６の場合、スライスやタイルが設定されていないが、図７に示すように、スライスが設定されている場合であっても、並列処理単位DBK Pseudo Sliceは、スライとは無関係に設定される。タイルが設定されている場合も、スライスが設定されている場合と同様である。
【００７０】
以上のように、符号化装置１１は、スライスやタイルが設定されているかどうかによらず、並列処理単位DBK Pseudo Sliceで並列にデブロッキングフィルタ処理を行う。
【００７１】
なお、図５乃至図７の例では、最小の単位DBK Pseudo Slice Minの水平方向に延びる境界De-blocking Pseudo boundary９１を並列処理単位DBK Pseudo Sliceの境界としたが、図８に示すように、最小の単位DBK Pseudo Slice Minの垂直方向に延びる水平方向の境界De-blocking Pseudo boundary１０１を並列処理単位DBK Pseudo Sliceの境界とすることもできる。
【００７２】
具体的には、図８に示すように、境界De-blocking Pseudo boundary１０１は、垂直方向に延びるLCU boundary６４から4画素だけ右の位置と、その位置から8画素ずつ右の位置である。従って、並列処理単位DBK Pseudo Sliceは、8の倍数の画素ごとの境界De-blocking Pseudo boundary１０１を境界とする単位とすることができる。
【００７３】
なお、図５乃至図８では、画像の輝度成分に対するデブロッキングフィルタ処理の並列処理単位DBK Pseudo Sliceについて説明したが、色成分（chroma）に対するデブロッキングフィルタ処理の並列処理単位DBK Pseudo Sliceについても同様である。
【００７４】
例えば、画像がYUV422である場合、色成分の最小の単位DBK Pseudo Slice Minの水平方向に延びる境界De-blocking Pseudo boundaryは、図５で示した輝度成分の境界De-blocking Pseudo boundary９１と同一である。また、色成分の最小の単位DBK Pseudo Slice Minの垂直方向に延びる境界De-blocking Pseudo boundaryは、垂直方向に延びるLCU boundary６４から2画素だけ右の位置と、その位置から4画素ずつ右の位置である。従って、画像の色成分に対するデブロッキングフィルタ処理の水平方向に並ぶ並列処理単位DBK Pseudo Sliceは、4の倍数の画素ごとの境界De-blocking Pseudo boundaryを境界にする単位とされる。
【００７５】
一方、画像がYUV420の場合、色成分の最小の単位DBK Pseudo Slice Minの水平方向に延びる境界De-blocking Pseudo boundaryは、水平方向に延びるLCU boundary６３から2画素だけ上の位置と、その位置から4画素ずつ上の位置である。また、色成分の最小の単位DBK Pseudo Slice Minの垂直方向に延びる境界De-blocking Pseudo boundaryは、垂直方向に延びるLCU boundary６４から2画素だけ右の位置と、その位置から4画素ずつ右の位置である。
【００７６】
従って、画像の色成分に対するデブロッキングフィルタ処理の並列処理単位DBK Pseudo Sliceは、4の倍数の画素ごとの境界De-blocking Pseudo boundaryを境界にする単位とされる。
【００７７】
また、画像がYUV444の場合、色成分の最小の単位DBK Pseudo Slice Minの水平方向および垂直方向に延びる境界De-blocking Pseudo boundaryは、それぞれ、図５の輝度成分の境界De-blocking Pseudo boundary９１、図８の輝度成分の境界De-blocking Pseudo boundary１０１と同一である。
【００７８】
＜適応オフセットフィルタの構成例＞
図９は、図１の適応オフセットフィルタ４２の構成例を示すブロック図である。
【００７９】
図９の適応オフセットフィルタ４２は、バッファ１１０、分割部１１１、バッファ１１２、処理部１１３−１乃至１１３−ｎ、および出力部１１４により構成される。
【００８０】
適応オフセットフィルタ４２のバッファ１１０は、図１のデブロックフィルタ４１から供給されるピクチャ単位のデブロッキングフィルタ処理後の画像を保持する。バッファ１１０は、処理部１１３−１乃至１１３−ｎから供給される適応オフセットフィルタ処理後の画像に、デブロッキングフィルタ処理後の画像を更新する。また、バッファ１１０は、処理部１１３−１乃至１１３−ｎから供給される各LCUのオフセットフィルタ情報を、適応オフセットフィルタ処理後の画像に対応付けて保持する。
【００８１】
分割部１１１は、バッファ１１０に保持されているピクチャ単位のデブロッキングフィルタ処理後の画像を、n×m個の所定の処理単位に分割する。分割部１１１は、分割されたn×m個の所定の処理単位の画像を、m個ずつ、処理部１１３−１乃至１１３−ｎに供給する。また、分割部１１１は、分割されたn×m個の所定の処理単位の画像それぞれのうちの所定の処理単位の境界の画素の画素値をバッファ１１２に供給し、保持させる。バッファ１１２は、保持部として機能し、分割部１１１から供給される画素値を保持する。
【００８２】
処理部１１３−１乃至１１３−ｎは、それぞれ、分割部１１１から供給される所定の処理単位の画像に対して、バッファ１１２に保持されている画素値を用いてLCUごとに適応オフセットフィルタ処理を行う。そして、処理部１１３−１乃至１１３−ｎは、それぞれ、各LCUの適応オフセットフィルタ処理後の画像と、対応する適応オフセットフィルタ処理の種類や適応オフセットフィルタ処理で用いられるオフセットを表すオフセットフィルタ情報とをバッファ１１０に供給する。
【００８３】
出力部１１４は、バッファ１１０に保持されているピクチャ単位の適応オフセットフィルタ処理後の画像を図１の適応ループフィルタ４３に供給し、各LCUのオフセットフィルタ情報を可逆符号化部３６に供給する。
【００８４】
＜適応オフセットフィルタ処理の並列処理単位の例＞
図１０乃至図１４は、適応オフセットフィルタ処理の並列処理単位を説明する図である。
【００８５】
図１０中の丸は画素を表している。
【００８６】
図１０に示すように、HEVC方式の適応オフセットフィルタ処理では、図中0が付された丸が表す処理対象の画素に対して、その画素と、その画素を中心とする上下左右斜め方向の1画素ずつからなる図中a乃至hが付された丸が表す合計9画素が用いられる可能性がある。従って、境界De-blocking Pseudo boundaryのように、依存関係が切れる境界は存在しない。
【００８７】
従って、図１１に示すように、例えば、任意の画素の垂直方向の境界を境界とする単位が、適応オフセットフィルタ処理の並列処理単位SAO Pseudo Sliceとされる。図１１の例では、ピクチャが3つの並列処理単位SAO Pseudo Sliceに分割されている。
【００８８】
そして、図１０で説明したように、HEVC方式の適応オフセットフィルタ処理では、処理対象の画素に対して、その画素を中心とする上下左右斜め方向の1画素ずつが用いられる可能性があるため、図１２に示すように、分割部１１１は、並列処理単位SAO Pseudo Sliceの境界の画素の画素値をバッファ１１２に保持させる。
【００８９】
具体的には、図１２に示すように、中央の並列処理単位SAO Pseudo Sliceの最上行のD乃至F等が付された丸が表す画素の画素値と、１番上の並列処理単位SAO Pseudo Sliceの最下行のA乃至C等が付された丸が表す画素の画素値が、バッファ１１２に保持される。また、１番下の並列処理単位SAO Pseudo Sliceの最上行のX乃至Z等が付された丸が表す画素の画素値と、中央の並列処理単位SAO Pseudo Sliceの最下行のU乃至W等が付された丸が表す画素の画素値が、バッファ１１２に保持される。
【００９０】
保持された並列処理単位SAO Pseudo Sliceの最上行の画素は、必要に応じて、その並列処理単位SAO Pseudo Sliceの上の並列処理単位SAO Pseudo Sliceの最下行の画素の適応オフセットフィルタ処理時に用いられる。また、並列処理単位SAO Pseudo Sliceの最下行の画素は、必要に応じて、その並列処理単位SAO Pseudo Sliceの下の並列処理単位SAO Pseudo Sliceの最上行の画素の適応オフセットフィルタ処理時に用いられる。
【００９１】
これに対して、並列処理単位SAO Pseudo Sliceの境界の画素の画素値がバッファ１１２に保持されていない場合、処理部１１３−１乃至１１３−ｎは、バッファ１１０から、その画素値を読み出す必要がある。しかしながら、処理部１１３−１乃至１１３−ｎが非同期に適応オフセットフィルタ処理を行う場合、その画素値は、既に適応オフセットフィルタ処理後の画素値に更新され、適応オフセットフィルタ処理を正確に行うことができない可能性がある。
【００９２】
なお、図１３に示すように、並列処理単位SAO Pseudo Sliceの境界は、水平方向に延びるLCU boundary６３とすることもできる。図１３の例では、ピクチャは8×8個のLCU６１から構成されているため、ピクチャは、8個の並列処理単位SAO Pseudo Sliceから構成される。
【００９３】
また、図１４に示すように、並列処理単位SAO Pseudo Sliceの境界は、水平方向に延びる境界De-blocking Pseudo boundary９１とすることもできる。
【００９４】
さらに、図示は省略するが、並列処理単位SAO Pseudo Sliceの境界は、任意の画素の水平方向の境界とすることもできる。また、並列処理単位SAO Pseudo Sliceの境界は、垂直方向に延びるLCU boundary６４とすることもできるし、垂直方向に延びる境界De-blocking Pseudo boundary１０１とすることもできる。
【００９５】
また、図示は省略するが、並列処理単位SAO Pseudo Sliceは、並列処理単位DBK Pseudo Sliceと同一にすることができる。
【００９６】
＜適応ループフィルタの構成例＞
図１５は、図１の適応ループフィルタ４３の構成例を示すブロック図である。
【００９７】
図１５の適応ループフィルタ４３は、バッファ１２０、分割部１２１、処理部１２２−１乃至１２２−ｎ、および出力部１２３により構成される。
【００９８】
適応ループフィルタ４３のバッファ１２０は、図１の適応オフセットフィルタ４２から供給されるピクチャ単位の適応オフセットフィルタ処理後の画像を保持する。バッファ１２０は、処理部１２２−１乃至１２２−ｎから供給される適応ループフィルタ処理後の画像に、適応オフセットフィルタ処理後の画像を更新する。また、バッファ１２０は、処理部１２２−１乃至１２２−ｎから供給される各LCUのフィルタ係数を、適応ループフィルタ処理後の画像に対応付けて保持する。
【００９９】
分割部１２１は、バッファ１２０に保持されているピクチャ単位の適応オフセットフィルタ処理後の画像を、n×m個の所定の処理単位に分割する。分割部１２１は、分割されたn×m個の所定の処理単位の画像を、m個ずつ、処理部１２２−１乃至１２２−ｎに供給する。
【０１００】
処理部１２２−１乃至１２２−ｎは、それぞれ、分割部１２１から供給される所定の処理単位の画像に対して、LCUごとに適応ループフィルタ処理で用いられるフィルタ係数を算出し、そのフィルタ係数を用いて適応ループフィルタ処理を行う。そして、処理部１２２−１乃至１２２−ｎは、それぞれ、各LCUの適応ループフィルタ処理後の画像と、対応するフィルタ係数とをバッファ１２０に供給する。
【０１０１】
なお、ここでは、適応ループフィルタ処理は、LCUごとに行われるものとするが、適応ループフィルタ処理の処理単位は、LCUに限定されない。但し、適応オフセットフィルタ４２と適応ループフィルタ４３の処理単位を合わせることにより、処理を効率的に行うことができる。
【０１０２】
出力部１２３は、バッファ１２０に保持されているピクチャ単位の適応ループフィルタ処理後の画像を図１のフレームメモリ４４に供給し、各LCUのフィルタ係数を可逆符号化部３６に供給する。
【０１０３】
＜適応ループフィルタ処理の並列処理単位の例＞
図１６乃至図１９は、適応ループフィルタ処理の並列処理単位を説明する図である。
【０１０４】
図１６中の丸は画素を表している。
【０１０５】
図１６に示すように、適応ループフィルタ処理では、図中eが付された丸が表す処理対象の画素に対して、その画素と、その画素を中心とする水平方向の4画素ずつとからなる図中a乃至iが付された丸が表す合計9画素、処理対象の画像を中心とする垂直方向の3画素ずつからなる図中r,p,k,n,q、およびsが付された丸が表す合計6画素、および、処理対象の画素を中心とする斜め方向の1画素ずつからなる図中j,l,m、およびoが付された丸が表す合計4画素の合計19画素が用いられる。
【０１０６】
しかしながら、この19画素を水平方向に延びるLCU boundary６３から4画素だけ上の位置を跨いで用いることは禁止されている。例えば、図１６の4が付された丸が表す画素を処理対象とする適応ループフィルタ処理では、その近傍として図中0乃至8が付された丸が表す画素以外参照しない。
【０１０７】
従って、他の単位ALF Pseudo Sliceを用いずに適応ループフィルタ処理を独立に処理可能な単位ALF Pseudo Sliceの最小値ALF Pseudo Slice Minの水平方向に延びる垂直方向の境界ALF Pseudo boundary１３１は、水平方向に延びるLCU boundary６３から4画素だけ上の位置である。
【０１０８】
よって、例えば、図１７に示すように、適応ループフィルタ処理の並列処理単位とする単位ALF Pseudo Slice（以下、並列処理単位ALF Pseudo Sliceという）は、LCU boundary６３から4画素だけ上の境界ALF Pseudo boundary１３１を境界とする単位とすることができる。なお、１番上の並列処理単位ALF Pseudo Sliceの上部の境界ALF Pseudo boundary１３１と１番下の並列処理単位ALF Pseudo Sliceの下部の境界ALF Pseudo boundary１３１は、LCU boundary６３である。
【０１０９】
この場合、図１７に示すように、ピクチャが8×8個のLCU６１から構成されると、ピクチャは、8個のALF Pseudo Sliceから構成される。図１７の場合、スライスやタイルが設定されていないが、スライスやタイルが設定されている場合であっても、単位ALF Pseudo Sliceは、スライスやタイルとは無関係に設定される。
【０１１０】
また、上述したように、最小値ALF Pseudo Slice Minの水平方向に延びる境界ALF Pseudo boundary１３１は、水平方向に延びるLCU boundary６３から4画素だけ上の位置であり、最小値DBK Pseudo Sliceの水平方向に延びる境界De-blocking Pseudo boundary９１は、水平方向に延びるLCU boundary６３から4画素だけ上の位置と、その位置から8画素ずつ上の位置である。従って、図１８に示すように、並列処理単位DBK Pseudo Sliceは、並列処理単位ALF Pseudo Sliceと同一にすることができる。
【０１１１】
また、上述したように、適応オフセットフィルタ処理の並列処理単位SAO Pseudo Sliceは、任意の画素の垂直方向の境界を境界とする単位にすることができる。従って、図１９に示すように、並列処理単位SAO Pseudo Sliceは、並列処理単位ALF Pseudo Sliceと同一にすることができる。
【０１１２】
＜符号化装置の処理の説明＞
図２０および図２１は、図１の符号化装置１１の符号化処理を説明するフローチャートである。この符号化処理は、例えば、フレーム単位で行われる。
【０１１３】
図２０のステップＳ３１において、符号化装置１１のA/D変換部３１は、外部から入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ３２に出力して記憶させる。
【０１１４】
ステップＳ３２において、画面並べ替えバッファ３２は、記憶した表示の順番のフレームの画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ３２は、並べ替え後のフレーム単位の画像を、演算部３３、イントラ予測部４６、および動き予測・補償部４７に供給する。以降のステップＳ３３乃至Ｓ３７の処理は、PU単位で行われる。
【０１１５】
ステップＳ３３において、イントラ予測部４６は、候補となる全てのイントラ予測モードのイントラ予測処理を行う。また、イントラ予測部４６は、画面並べ替えバッファ３２から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部４６は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。イントラ予測部４６は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部４８に供給する。
【０１１６】
また、動き予測・補償部４７は、候補となる全てのインター予測モードの動き予測・補償処理を行う。また、動き予測・補償部４７は、画面並べ替えバッファ３２から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。そして、動き予測・補償部４７は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部４８に供給する。
【０１１７】
ステップＳ３４において、予測画像選択部４８は、ステップＳ３３の処理によりイントラ予測部４６および動き予測・補償部４７から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのコスト関数値が最小となる方を、最適予測モードに決定する。そして、予測画像選択部４８は、最適予測モードの予測画像を、演算部３３に供給する。
【０１１８】
ステップＳ３５において、予測画像選択部４８は、最適予測モードが最適インター予測モードであるかどうかを判定する。ステップＳ３５で最適予測モードが最適インター予測モードであると判定された場合、予測画像選択部４８は、最適インター予測モードで生成された予測画像の選択を動き予測・補償部４７に通知する。
【０１１９】
そして、ステップＳ３６において、動き予測・補償部４７は、インター予測モード情報、動きベクトル、および参照画像を特定する情報を可逆符号化部３６に供給する。
【０１２０】
一方、ステップＳ３５で最適予測モードが最適インター予測モードではないと判定された場合、即ち最適予測モードが最適イントラ予測モードである場合、予測画像選択部４８は、最適イントラ予測モードで生成された予測画像の選択をイントラ予測部４６に通知する。そして、ステップＳ３７において、イントラ予測部４６は、イントラ予測モード情報を可逆符号化部３６に供給し、処理をステップＳ３８に進める。
【０１２１】
ステップＳ３８において、演算部３３は、画面並べ替えバッファ３２から供給される画像から、予測画像選択部４８から供給される予測画像を減算することにより符号化を行う。演算部３３は、その結果得られる画像を、残差情報として直交変換部３４に出力する。
【０１２２】
ステップＳ３９において、直交変換部３４は、演算部３３からの残差情報に対して直交変換を施し、その結果得られる直交変換係数を量子化部３５に供給する。
【０１２３】
ステップＳ４０において、量子化部３５は、直交変換部３４から供給される係数を量子化し、その結果得られる係数を可逆符号化部３６と逆量子化部３８に供給する。
【０１２４】
図２１のステップＳ４１において、逆量子化部３８は、量子化部３５から供給される量子化された係数に対してRecon Pseudo Slice単位で並列に逆量子化を行う逆量子化並列処理を行う。この逆量子化並列処理の詳細は、後述する図２２を参照して説明する。
【０１２５】
ステップＳ４２において、逆直交変換部３９は、逆量子化部３８から供給される直交変換係数に対してRecon Pseudo Slice単位で並列に逆直交変換を施す逆直交変換並列処理を行う。この逆直交変換並列処理の詳細は、後述する図２３を参照して説明する。
【０１２６】
ステップＳ４３において、動き予測・補償部４７は、Recon Pseudo Slice単位で並列に、予測画像選択部４８から最適インター予測モードで生成された予測画像の選択が通知されたPUに対する最適インター予測モードの補償処理を施すインター予測並列処理を行う。このインター予測並列処理の詳細は、後述する図２４を参照して説明する。
【０１２７】
ステップＳ４４において、加算部４０は、逆直交変換部３９から供給される残差情報と、動き予測・補償部４７から供給される予測画像をRecon Pseudo Slice単位で並列に加算する加算並列処理を行う。この加算並列処理の詳細は、後述する図２５を参照して説明する。
【０１２８】
ステップＳ４５において、符号化装置１１は、予測画像選択部４８から最適イントラ予測モードで生成された予測画像の選択が通知されたPUの最適イントラ予測モードのイントラ予測処理を行う。このイントラ予測処理の詳細は、後述する図２６を参照して説明する。
【０１２９】
ステップＳ４６において、デブロックフィルタ４１は、加算部４０から供給される復号された画像に対して、m個の並列処理単位DBK Pseudo Sliceで並列にデブロッキングフィルタ処理を行うデブロッキングフィルタ並列処理を行う。このデブロックフィルタ並列処理は、後述する図２７を参照して説明する。
【０１３０】
ステップＳ４７において、適応オフセットフィルタ４２は、デブロックフィルタ４１から供給される画像に対して、m個の並列処理単位SAO Pseudo Sliceで並列にLCUごとに適応オフセットフィルタ処理を行う適応オフセットフィルタ並列処理を行う。この適応オフセットフィルタ並列処理の詳細は、後述する図２８を参照して説明する。
【０１３１】
ステップＳ４８において、適応ループフィルタ４３は、適応オフセットフィルタ４２から供給される画像に対して、m個の並列処理単位ALF Pseudo Sliceで並列にLCUごとに適応ループフィルタ処理を行う適応ループフィルタ並列処理を行う。この適応ループフィルタ並列処理の詳細は、後述する図２９を参照して説明する。
【０１３２】
ステップＳ４９において、フレームメモリ４４は、適応ループフィルタ４３から供給される画像を蓄積する。この画像は、参照画像としてスイッチ４５を介してイントラ予測部４６に出力される。
【０１３３】
ステップＳ５０において、可逆符号化部３６は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル、および参照画像を特定する情報、オフセットフィルタ情報、並びにフィルタ係数を、符号化情報として可逆符号化する。
【０１３４】
ステップＳ５１において、可逆符号化部３６は、量子化部３５から供給される量子化された係数を可逆符号化する。そして、可逆符号化部３６は、ステップＳ５０の処理で可逆符号化された符号化情報と可逆符号化された係数から、符号化データを生成し、蓄積バッファ３７に供給する。
【０１３５】
ステップＳ５２において、蓄積バッファ３７は、可逆符号化部３６から供給される符号化データを、一時的に蓄積する。
【０１３６】
ステップＳ５３において、レート制御部４９は、蓄積バッファ３７に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部３５の量子化動作のレートを制御する。ステップＳ５４において、蓄積バッファ３７は、記憶している符号化データを伝送する。
【０１３７】
なお、ステップＳ３３では、説明を簡単化するため、常に、イントラ予測処理と動き予測・補償処理が行われるようにしたが、実際には、ピクチャタイプ等によっていずれか一方のみが行われる場合もある。
【０１３８】
図２２は、図２１のステップＳ４１の逆量子化並列処理の詳細を説明するフローチャートである。
【０１３９】
図２２のステップＳ７１において、逆量子化部３８は、量子化部３５から供給される量子化された係数をn個（nは2以上の整数）のRecon Pseudo Sliceに分割する。ステップＳ７２において、逆量子化部３８は、カウント値iを0に設定する。
【０１４０】
ステップＳ７３において、逆量子化部３８は、カウント値iがn個より小さいかどうかを判定する。ステップＳ７３でカウント値iがn個より小さいと判定された場合、ステップＳ７４において、分割されたRecon Pseudo Sliceのうちのｉ番目のRecon Pseudo Sliceに対する逆量子化処理を開始する。
【０１４１】
ステップＳ７５において、逆量子化部３８は、カウント値iを1だけインクリメントする。そして、処理はステップＳ７３に戻り、カウント値iがn個以上となるまで、即ち分割された全てのRecon Pseudo Sliceに対する逆量子化処理が開始されるまで、ステップＳ７３乃至Ｓ７５の処理が繰り返される。
【０１４２】
一方、ステップＳ７３でカウント値iがn個より小さくないと判定された場合、即ち、分割された全てのRecon Pseudo Sliceに対する逆量子化処理が開始された場合、処理はステップＳ７６に進む。ステップＳ７６において、逆量子化部３８は、ステップＳ７４で開始されたn個の逆量子化処理の全てが終了したかどうかを判定し、全てが終了していないと判定した場合、全てが終了するまで待機する。
【０１４３】
ステップＳ７６で、テップＳ７４で開始されたn個の逆量子化処理の全てが終了したと判定された場合、逆量子化部３８は、逆量子化処理の結果得られる直交変換係数を逆直交変換部３９に供給する。そして、処理は図２１のステップＳ４１に戻り、ステップＳ４２に進む。
【０１４４】
図２３は、図２１のステップＳ４２の逆直交変換並列処理の詳細を説明するフローチャートである。
【０１４５】
図２３のステップＳ９１乃至Ｓ９６の処理は、逆量子化処理が逆直交変換処理に代わる点を除いて、図２２のステップＳ７１乃至Ｓ７６の処理と同様であるので、説明は省略する。なお、逆直交変換処理の結果得られる残差情報は加算部４０に供給される。
【０１４６】
図２４は、図２１のステップＳ４３のインター予測並列処理の詳細を説明するフローチャートである。
【０１４７】
図２４のステップＳ１１１乃至Ｓ１１６の処理は、逆量子化処理が、Recon Pseudo Slice内の最適インター予測モードで生成された予測画像の選択が通知されたPUに対する最適インター予測モードの補償処理に代わる点を除いて、図２２のステップＳ７１乃至Ｓ７６の処理と同様であるので、説明は省略する。なお、補償処理の結果得られる予測画像は、加算部４０に供給される。
【０１４８】
図２５は、図２１のステップＳ４４の加算並列処理の詳細を説明するフローチャートである。
【０１４９】
図２５のステップＳ１３１乃至Ｓ１３６の処理は、逆量子化処理が、動き予測・補償部４７から供給されるRecon Pseudo Slice内のPUの予測画像と、そのPUの逆直交変換部３９から供給される残差情報とを加算する加算処理に代わる点を除いて、図２２のステップＳ７１乃至Ｓ７６の処理と同様であるので、説明は省略する。なお、加算処理の結果得られる復号された画像は、フレームメモリ４４に供給される。
【０１５０】
図２６は、図２１のステップＳ４５のイントラ予測処理の詳細を説明するフローチャーである。
【０１５１】
図２６のステップＳ１４０において、イントラ予測部４６は、カウント値iを0に設定する。ステップＳ１４１において、イントラ予測部４６は、カウント値iがピクチャの全LCU数より小さいかどうかを判定する。ステップＳ１４１でカウント値iがピクチャの全LCU数より小さいと判定された場合、処理はステップＳ１４２に進む。
【０１５２】
ステップＳ１４２において、イントラ予測部４６は、カウント値jを0に設定する。ステップＳ１４３において、イントラ予測部４６は、カウント値jがi番目のLCU内の全PU数より小さいかどうかを判定する。ステップＳ１４３でj番目のPUの最適予測モードが最適イントラ予測モードであると判定された場合、ステップＳ１４４において、イントラ予測部４６は、ピクチャ内のi番目のLCUのj番目のPUに対して最適イントラ予測モードの予測画像の選択が予測画像選択部４８から通知されているかどうかを判定する。
【０１５３】
ステップＳ１４４でj番目のPUに対して最適イントラ予測モードの予測画像の選択が通知されていると判定された場合、処理はステップＳ１４５に進む。ステップＳ１４５において、イントラ予測部４６は、j番目のPUに対して、フレームメモリ４４からスイッチ４５を介して供給される参照画像を用いて最適イントラ予測モードのイントラ予測処理を行う。イントラ予測部４６は、その結果得られるj番目のPUの予測画像を加算部４０に供給する。
【０１５４】
ステップＳ１４６において、加算部４０は、イントラ予測部４６から供給されるj番目のPUの予測画像と、そのPUの逆直交変換部３９から供給される残差情報とを加算し、加算の結果得られるPU単位の復号された画像をフレームメモリ４４に供給する。
【０１５５】
ステップＳ１４７において、フレームメモリ４４は、加算部４０から供給されるPU単位の復号された画像を蓄積する。この画像は、参照画像としてスイッチ４５を介して動き予測・補償部４７に出力される。
【０１５６】
ステップＳ１４７の処理後、または、ステップＳ１４４でj番目のPUに対して最適イントラ予測モードの予測画像の選択が通知されていないと判定された場合、処理はステップＳ１４８において、イントラ予測部４６は、カウント値jを1だけインクリメントする。そして、処理はステップＳ１４３に戻り、カウント値jがi番目のLCU内の全PU数以上になるまで、即ち、i番目のLCU内の全てのPUに対してステップＳ１４４乃至Ｓ１４８の処理が行われるまで、ステップＳ１４３乃至Ｓ１４８の処理が行われる。
【０１５７】
一方、ステップＳ１４３でカウント値jがi番目のLCU内の全PU数より小さくはないと判定された場合、即ちi番目のLCU内の全てのPUに対してステップＳ１４４乃至Ｓ１４８の処理が行われた場合、処理はステップＳ１４９に進む。
【０１５８】
ステップＳ１４９において、イントラ予測部４６は、カウント値iを1だけインクリメントする。そして、処理はステップＳ１４１に戻り、カウント値iがピクチャの全LCU数以上になるまで、即ち、ピクチャの全てのLCUに対してステップＳ１４２乃至Ｓ１４９の処理が行われるまで、ステップＳ１４３乃至Ｓ１４８の処理が行われる。
【０１５９】
ステップＳ１４１でカウント値iがピクチャの全LCU数より小さいと判定された場合、加算部４０は、ピクチャを構成する全てのLCUの復号された画像をデブロックフィルタ４１に供給し、処理を図２１のステップＳ４５に戻す。そして、処理は、ステップＳ４６に進む。
【０１６０】
図２７は、図２１のステップＳ４６のデブロッキングフィルタ並列処理の詳細を説明するフローチャートである。
【０１６１】
図２７のステップＳ１５０において、バッファ８０は、図１の加算部４０から供給される復号された画像を保持する。ステップＳ１５１において、分割部８１は、バッファ８０に保持されているピクチャ単位の画像をDe-blocking Pseudo boundaryで単位DBK Pseudo Sliceに分割する。
【０１６２】
ステップＳ１５２において、分割部８１は、n個の処理部８２−１乃至８２−ｎのそれぞれに割り当てる単位DBK Pseudo Sliceの数mを決定する。ステップＳ１５３において、分割部８１は、カウント値iを0に設定する。ステップＳ１５４において、分割部８１は、カウント値iがn個より小さいかどうかを判定する。
【０１６３】
ステップＳ１５４でカウント値iがn個より小さいと判定された場合、分割部８１は、i番目のm個の単位DBK Pseudo Sliceを処理部８２-ｉに供給する。そして、ステップＳ１５５において、処理部８２−ｉは、i番目のm個の単位DBK Pseudo Sliceに対するデブロッキングフィルタ処理を開始する。デブロッキングフィルタ処理後の単位DBK Pseudo Sliceはバッファ８０に供給され、保持される。
【０１６４】
ステップＳ１５６において、分割部８１は、カウント値iを1だけインクリメントし、処理をステップＳ１５４に戻す。そして、カウント値iがn個以上になるまで、即ち、全ての処理部８２−１乃至８２−ｎでデブロッキングフィルタ処理が開始されるまで、ステップＳ１５４乃至Ｓ１５６の処理が繰り返される。
【０１６５】
一方、ステップＳ１５４でカウント値iがn個より小さくはないと判定された場合、即ち処理部８２−１乃至８２−nでデブロッキングフィルタ処理が開始された場合、処理はステップＳ１５７に進む。ステップＳ１５７において、出力部８３は、処理部８２−１乃至８２−nによるn個のデブロッキングフィルタ処理が終了したかどうかを判定する。
【０１６６】
ステップＳ１５７で処理部８２−１乃至８２−nによるn個のデブロッキングフィルタ処理が終了していないと判定された場合、出力部８３は、n個のデブロッキングフィルタ処理が終了するまで待機する。
【０１６７】
また、ステップＳ１５７でn個のデブロッキングフィルタ処理が終了したと判定された場合、ステップＳ１５８において、出力部８３は、バッファ８０に保持されているデブロッキングフィルタ処理後のピクチャ単位の画像を適応オフセットフィルタ４２に出力する。そして、処理は図２１のステップＳ４６に戻り、ステップＳ４７に進む。
【０１６８】
図２８は、図２１のステップＳ４７の適応オフセットフィルタ並列処理の詳細を説明するフローチャートである。なお、図２８では、並列処理単位SAO Pseudo Sliceの境界が水平方向に延びるLCU boundary６３である場合について説明するが、境界がLCU boundary６３以外である場合も同様である。
【０１６９】
図２８のステップＳ１７０において、バッファ１１０は、図１のデブロックフィルタ４１から供給されるデブロッキングフィルタ処理後の画像を保持する。ステップＳ１７１において、分割部１１１は、バッファ１１０に保持されているピクチャ単位の画像をLCU boundary６３で単位SAO Pseudo Sliceに分割する。
【０１７０】
ステップＳ１７２において、分割部１１１は、n個の処理部１１３−１乃至１１３−ｎのそれぞれに割り当てる単位SAO Pseudo Sliceの数mを決定する。ステップＳ１７３において、分割部１１１は、分割部１１１は、単位SAO Pseudo Sliceの最上行と最下行の画素のデブロッキングフィルタ処理後の画素値をバッファ１１２に供給し、保持させる。
【０１７１】
ステップＳ１７４において、分割部１１１は、カウント値iを0に設定する。ステップＳ１７５において、分割部１１１は、カウント値iがn個より小さいかどうかを判定する。
【０１７２】
ステップＳ１７５でカウント値iがn個より小さいと判定された場合、分割部１１１は、i番目のm個の単位SAO Pseudo Sliceを処理部１１３-ｉに供給する。そして、ステップＳ１７６において、処理部１１３−ｉは、i番目のm個の単位SAO Pseudo Sliceに対するLCUごとの適応オフセットフィルタ処理を開始する。適応オフセットフィルタ処理後の単位SAO Pseudo Sliceと各LCUのオフセットフィルタ情報は、バッファ１１０に供給され、保持される。
【０１７３】
ステップＳ１７７において、分割部１１１は、カウント値iを1だけインクリメントし、処理をステップＳ１７５に戻す。そして、カウント値iがn個以上になるまで、即ち、全ての処理部１１３−１乃至１１３−ｎで適応オフセットフィルタ処理が開始されるまで、ステップＳ１７５乃至Ｓ１７７の処理が繰り返される。
【０１７４】
一方、ステップＳ１７５でカウント値iがn個より小さくはないと判定された場合、即ち処理部１１３−１乃至１１３−nでオフセットフィルタ処理が開始された場合、処理はステップＳ１７８に進む。ステップＳ１７８において、出力部１１４は、処理部１１３−１乃至１１３−nによるn個の適応オフセットフィルタ処理が終了したかどうかを判定する。
【０１７５】
ステップＳ１７８で処理部１１３−１乃至１１３−nによるn個の適応オフセットフィルタ処理が終了していないと判定された場合、出力部１１４は、n個の適応オフセットフィルタ処理が終了するまで待機する。
【０１７６】
また、ステップＳ１７８でn個の適応オフセットフィルタ処理が終了したと判定された場合、処理はステップＳ１７９に進む。ステップＳ１７９において、出力部１１４は、バッファ１１０に保持されている適応オフセットフィルタ処理後のピクチャ単位の画像を適応ループフィルタ４３に出力し、対応する各LCUのオフセットフィルタ情報を可逆符号化部３６に出力する。そして、処理は図２１のステップＳ４７に戻り、ステップＳ４８に進む。
【０１７７】
図２９は、図２１のステップＳ４８の適応ループフィルタ並列処理の詳細を説明するフローチャートである。
【０１７８】
図２９のステップＳ１９０乃至Ｓ１９８の処理は、境界De-blocking Pseudo boundaryが境界ALF Pseudo boundaryに代わる点、単位DBK Pseudo Sliceが単位ALF Pseudo Sliceに代わる点、デブロッキングフィルタ処理が適応ループフィルタ処理に代わる点、およびフィルタ係数が可逆符号化部３６に出力される点を除いて、図２７のステップＳ１５０乃至Ｓ１５８の処理と同様であるので、説明は省略する。
【０１７９】
以上のように、符号化装置１１は、復号された画像に対して所定の処理単位で並列にデブロッキングフィルタ処理、適応オフセット処理、および適応ループフィルタ処理を行うことができる。また、符号化装置１１は、逆量子化、逆直交変換、加算処理、および補償処理をRecon Pseudo Slice単位で並列に行うことができる。従って、スライスやタイルの設定の有無によらず、符号化時に高速に復号することができる。その結果、高速で符号化することができる。
【０１８０】
＜復号装置の第１実施の形態の構成例＞
図３０は、図１の符号化装置１１から伝送される符号化ストリームを復号する、本技術を適用した画像処理装置としての復号装置の第１実施の形態の構成例を示すブロック図である。
【０１８１】
図３０の復号装置１６０は、蓄積バッファ１６１、可逆復号部１６２、逆量子化部１６３、逆直交変換部１６４、加算部１６５、デブロックフィルタ１６６、適応オフセットフィルタ１６７、適応ループフィルタ１６８、画面並べ替えバッファ１６９、D/A変換部１７０、フレームメモリ１７１、スイッチ１７２、イントラ予測部１７３、動き補償部１７４、およびスイッチ１７５により構成される。
【０１８２】
復号装置１６０の蓄積バッファ１６１は、図１の符号化装置１１から伝送されてくる符号化データを受け取り、蓄積する。蓄積バッファ１６１は、蓄積されている符号化データを可逆復号部１６２に供給する。
【０１８３】
可逆復号部１６２は、蓄積バッファ１６１からの符号化データに対して、可変長復号や、算術復号等の可逆復号を施すことで、量子化された係数と符号化情報を得る。可逆復号部１６２は、量子化された係数を逆量子化部１６３に供給する。また、可逆復号部１６２は、符号化情報としてのイントラ予測モード情報などをイントラ予測部１７３に供給し、動きベクトル、インター予測モード情報、参照画像を特定する情報などを動き補償部１７４に供給する。
【０１８４】
さらに、可逆復号部１６２は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ１７５に供給する。可逆復号部１６２は、符号化情報としてのオフセットフィルタ情報を適応オフセットフィルタ１６７に供給し、フィルタ係数を適応ループフィルタ１６８に供給する。
【０１８５】
逆量子化部１６３、逆直交変換部１６４、加算部１６５、デブロックフィルタ１６６、適応オフセットフィルタ１６７、適応ループフィルタ１６８、フレームメモリ１７１、スイッチ１７２、イントラ予測部１７３、および、動き補償部１７４は、図１の逆量子化部３８、逆直交変換部３９、加算部４０、デブロックフィルタ４１、適応オフセットフィルタ４２、適応ループフィルタ４３、フレームメモリ４４、スイッチ４５、イントラ予測部４６、および、動き予測・補償部４７とそれぞれ同様の処理を行い、これにより、画像が復号される。
【０１８６】
具体的には、逆量子化部１６３は、可逆復号部１６２からの量子化された係数に対して、Recon Pseudo Slice単位で並列に逆量子化を行い、その結果得られる直交変換係数を逆直交変換部１６４に供給する。
【０１８７】
逆直交変換部１６４は、逆量子化部１６３からの直交変換係数に対して、Recon Pseudo Slice単位で並列に逆直交変換を行う。逆直交変換部１６４は、逆直交変換の結果得られる残差情報を加算部１６５に供給する。
【０１８８】
加算部１６５は、復号部として機能し、逆直交変換部１６４から供給される復号対象の画像としての残差情報と、動き補償部１７４からスイッチ１７５を介して供給される予測画像を、Recon Pseudo Slice単位で加算することにより、局部的に復号を行う。そして、加算部１６５は、局部的に復号された画像をフレームメモリ１７１に供給する。
【０１８９】
また、加算部１６５は、イントラ予測部１７３からスイッチ１７５を介して供給されるPU単位の予測画像と、そのPUの残差情報を加算することにより、局部的に復号を行う。そして、加算部１６５は、局部的に復号された画像をフレームメモリ１７１に供給する。また、加算部１６５は、完全に復号されたピクチャ単位の画像をデブロックフィルタ１６６に供給する。
【０１９０】
デブロックフィルタ１６６は、加算部１６５から供給される画像に対して、m個の並列処理単位DBK Pseudo Sliceで並列にデブロッキングフィルタ処理を行い、その結果得られる画像を適応オフセットフィルタ１６７に供給する。
【０１９１】
適応オフセットフィルタ１６７は、可逆復号部１６２から供給される各LCUのオフセットフィルタ情報に基づいて、デブロックフィルタ１６６によるデブロッキングフィルタ処理後の各LCUの画像に対して、m個の並列処理単位SAO Pseudo Sliceで並列に適応オフセットフィルタ処理を行う。適応オフセットフィルタ１６７は、適応オフセットフィルタ処理後の画像を、適応ループフィルタ１６８に供給する。
【０１９２】
適応ループフィルタ１６８は、適応オフセットフィルタ１６７から供給される各LCUの画像に対して、可逆復号部１６２から供給される各LCUのフィルタ係数を用いて、m個の並列処理単位ALF Pseudo Sliceで並列に適応ループフィルタ処理を行う。適応ループフィルタ１６８は、その結果得られる画像をフレームメモリ１７１および画面並べ替えバッファ１６９に供給する。
【０１９３】
画面並べ替えバッファ１６９は、適応ループフィルタ１６８から供給される画像をフレーム単位で記憶する。画面並べ替えバッファ１６９は、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部１７０に供給する。
【０１９４】
D/A変換部１７０は、画面並べ替えバッファ１６９から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。
【０１９５】
フレームメモリ１７１は、適応ループフィルタ１６８から供給される画像と加算部１６５から供給される画像を蓄積する。フレームメモリ１７１に蓄積された、適応ループフィルタ１６８から供給される画像は、参照画像として読み出され、スイッチ１７２を介して動き補償部１７４に供給される。また、フレームメモリ１７１に蓄積された、加算部１６５から供給される画像は、参照画像として読み出され、スイッチ１７２を介してイントラ予測部１７３に供給される。
【０１９６】
イントラ予測部１７３は、フレームメモリ１７１からスイッチ１７２を介して読み出された参照画像を用いて、可逆復号部１６２から供給されるイントラ予測モード情報が示す最適イントラ予測モードのイントラ予測処理をPU単位で行う。イントラ予測部１７３は、その結果生成されるPU単位の予測画像をスイッチ１７５に供給する。
【０１９７】
動き補償部１７４は、Recon Pseudo Slice単位で並列に、フレームメモリ１７１からスイッチ１７２を介して、可逆復号部１６２から供給される参照画像を特定する情報により特定される参照画像を読み出す。動き補償部１７４は、Recon Pseudo Slice単位で並列に、可逆復号部１６２から供給される動きベクトルと参照画像を用いて、可逆復号部１６２から供給されるインター予測モード情報が示す最適インター予測モードの動き補償処理を行う。動き補償部１７４は、その結果生成されるピクチャ単位の予測画像をスイッチ１７５に供給する。
【０１９８】
スイッチ１７５は、可逆復号部１６２からイントラ予測モード情報が供給された場合、イントラ予測部１７３から供給されるPU単位の予測画像を加算部１６５に供給する。一方、可逆復号部１６２からインター予測モード情報が供給された場合、スイッチ１７５は、動き補償部１７４から供給されるピクチャ単位の予測画像を加算部１６５に供給する。
【０１９９】
＜復号装置の処理の説明＞
図３１は、図３０の復号装置１６０の復号処理を説明するフローチャートである。この復号処理は、フレーム単位で行われる。
【０２００】
図３１のステップＳ２３１において、復号装置１６０の蓄積バッファ１６１は、図１の符号化装置１１から伝送されてくるフレーム単位の符号化データを受け取り、蓄積する。蓄積バッファ１６１は、蓄積されている符号化データを可逆復号部１６２に供給する。
【０２０１】
ステップＳ２３２において、可逆復号部１６２は、蓄積バッファ１６１からの符号化データを可逆復号し、量子化された係数と符号化情報を得る。可逆復号部１６２は、量子化された係数を逆量子化部１６３に供給する。また、可逆復号部１６２は、符号化情報としてのイントラ予測モード情報などをイントラ予測部１７３に供給し、動きベクトル、インター予測モード情報、参照画像を特定する情報などを動き補償部１７４に供給する。
【０２０２】
さらに、可逆復号部１６２は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ１７５に供給する。可逆復号部１６２は、符号化情報としてのオフセットフィルタ情報を適応オフセットフィルタ１６７に供給し、フィルタ係数を適応ループフィルタ１６８に供給する。
【０２０３】
ステップＳ２３３において、逆量子化部１６３は、可逆復号部１６２からの量子化された係数に対して、図２２の逆量子化並列処理と同様の逆量子化並列処理を行う。逆量子化並列処理の結果得られる直交変換係数は、逆直交変換部１６４に供給される。
【０２０４】
ステップＳ２３４において、逆直交変換部１６４は、逆量子化部１６３からの直交変換係数に対して、図２３の逆直交変換並列処理と同様の逆直交変換並列処理を行う。逆直交変換並列処理の結果得られる残差情報は、加算部１６５に供給される。
【０２０５】
ステップＳ２３５において、動き補償部１７４は、図２４のインター予測並列処理と同様のインター予測並列処理を行う。なお、このインター予測並列処理では、最適インター予測モードで生成された予測画像の選択が通知されたPUではなく、可逆復号部１６２から供給されるインター予測モード情報に対応するPUに対して、最適インター予測モードの補償処理が行われる。
【０２０６】
ステップＳ２３６において、加算部１６５は、逆直交変換部１６４から供給される残差情報と動き補償部１７４からスイッチ１７５を介して供給される予測画像に対して、図２５の加算並列処理と同様の加算並列処理を行う。加算並列処理の結果得られる画像は、フレームメモリ１７１に供給される。
【０２０７】
ステップＳ２３７において、イントラ予測部１７３は、図２６のイントラ予測処理と同様のイントラ予測処理を行う。なお、このイントラ予測処理では、最適イントラ予測モードで生成された予測画像の選択が通知されたPUではなく、可逆復号部１６２から供給されるイントラ予測モード情報に対応するPUに対して、最適イントラ予測モードのイントラ予測処理が行われる。
【０２０８】
ステップＳ２３８において、デブロックフィルタ１６６は、加算部１６５から供給される画像に対して図２７のデブロッキングフィルタ並列処理を行う。デブロッキングフィルタ並列処理の結果得られるピクチャ単位の画像は、適応オフセットフィルタ１６７に供給される。
【０２０９】
ステップＳ２３９において、適応オフセットフィルタ１６７は、可逆復号部１６２から供給される各LCUのオフセットフィルタ情報に基づいて、デブロックフィルタ１６６から供給される画像に対して、図２８の適応オフセットフィルタ並列処理と同様の適応オフセットフィルタ並列処理を行う。適応オフセットフィルタ並列処理の結果得られるピクチャ単位の画像は、適応ループフィルタ１６８に供給される。
【０２１０】
ステップＳ２４０において、適応ループフィルタ１６８は、適応オフセットフィルタ１６７から供給される画像に対して、可逆復号部１６２から供給されるフィルタ係数を用いて、図２９の適応ループフィルタ並列処理と同様の適応ループフィルタ並列処理を行う。適応ループフィルタ処理の結果得られるピクチャ単位の画像は、フレームメモリ１７１および画面並べ替えバッファ１６９に供給される。
【０２１１】
ステップＳ２４１において、フレームメモリ１７１は、適応ループフィルタ１６８から供給される画像を蓄積する。フレームメモリ１７１に蓄積された、適応ループフィルタ１６８から供給される画像は、参照画像として読み出され、スイッチ１７２を介して動き補償部１７４に供給される。また、フレームメモリ１７１に蓄積された、加算部１６５から供給される画像は、参照画像として読み出され、スイッチ１７２を介してイントラ予測部１７３に供給される。
【０２１２】
ステップＳ２４２において、画面並べ替えバッファ１６９は、適応ループフィルタ１６８から供給される画像をフレーム単位で記憶し、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部１７０に供給する。
【０２１３】
ステップＳ２４３において、D/A変換部１７０は、画面並べ替えバッファ１６９から供給されるフレーム単位の画像をD/A変換し、出力信号として出力する。そして、処理は終了する。
【０２１４】
以上のように、復号装置１６０は、復号された画像に対して所定の処理単位で並列にデブロッキングフィルタ処理、適応オフセット処理、および適応ループフィルタ処理を行うことができる。また、復号装置１６０は、逆量子化、逆直交変換、加算処理、および補償処理をRecon Pseudo Slice単位で並列に行うことができる。従って、スライスやタイルの設定の有無によらず、高速に復号することができる。
【０２１５】
＜第２実施の形態＞
＜符号化装置の第２実施の形態の構成例＞
図３２は、本技術を適用した画像処理装置としての符号化装置の第２実施の形態の構成例を示すブロック図である。
【０２１６】
図３２に示す構成のうち、図１の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２１７】
図３２の符号化装置１９０の構成は、逆量子化部３８、逆直交変換部３９、加算部４０、動き予測・補償部４７の代わりに、逆量子化部１９１、逆直交変換部１９２、加算部１９３、動き予測・補償部１９４が設けられている点、デブロックフィルタ４１、適応オフセットフィルタ４２、および適応ループフィルタ４３の代わりにフィルタ処理部１９５が設けられる点が図１の符号化装置１１の構成と異なる。
【０２１８】
符号化装置１９０は、Recon Pseudo Slice単位で、逆量子化、逆直交変換、加算処理、および補償処理をまとめて行い、所定の処理単位で、デブロッキングフィルタ処理、適応オフセットフィルタ処理、および適応ループフィルタ処理をまとめて行う。
【０２１９】
具体的には、符号化装置１９０の逆量子化部１９１は、量子化部３５により量子化された係数に対して、Recon Pseudo Slice単位で並列に逆量子化を行い、その結果得られるRecon Pseudo Slice単位の直交変換係数を逆直交変換部１９２に供給する。
【０２２０】
逆直交変換部１９２は、逆量子化部１から供給されるRecon Pseudo Slice単位の直交変換係数に対して並列に逆直交変換を行い、その結果得られるRecon Pseudo Slice単位の残差情報を加算部１９３に供給する。
【０２２１】
加算部１９３は、復号部として機能し、動き予測・補償部１９４から供給されるRecon Pseudo Slice単位の予測画像と、逆直交変換部１９２から供給されるRecon Pseudo Slice単位の残差情報とを加算する加算処理を、Recon Pseudo Slice単位で並列に行う。加算部１９３は、その加算処理の結果得られるピクチャ単位の画像をフレームメモリ４４に供給する。
【０２２２】
また、加算部１９３は、図１の加算部４０と同様に、イントラ予測部４６から供給されるPU単位の予測画像と残差情報とを加算する加算処理をPU単位で行うことにより、局部的に復号を行う。加算部１９３は、その結果得られる局部的に復号されたPU単位の画像をフレームメモリ４４に供給する。さらに、加算部１９３は、完全に復号されたピクチャ単位の画像をフィルタ処理部１９５に供給する。
【０２２３】
フィルタ処理部１９５は、加算部１９３から供給される復号された画像に対して、デブロッキングフィルタ処理、適応オフセットフィルタ処理、および適応ループフィルタ処理をm個の共通処理単位で並列に行う。共通処理単位は、最小の単位DBK Pseudo Slice Minの整数倍と最小の単位ALF Pseudo Slice Minの整数倍が一致するときの最小の単位ALF Pseudo Slice Minの整数倍の単位であり、例えば、最小の単位ALF Pseudo Slice Minである。
【０２２４】
フィルタ処理部１９５は、適応ループフィルタ処理の結果得られる画像をフレームメモリ４４に供給する。また、フィルタ処理部１９５は、各LCUのオフセットフィルタ情報とフィルタ係数を、可逆符号化部３６に供給する。
【０２２５】
動き予測・補償部１９４は、図１の動き予測・補償部４７と同様に、候補となる全てのインター予測モードの動き予測・補償処理を行い、予測画像を生成するとともに、最適インター予測モードを決定する。そして、動き予測・補償部１９４は、動き予測・補償部４７と同様に、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部４８に供給する。
【０２２６】
動き予測・補償部１９４は、動き予測・補償部４７と同様に、予測画像選択部４８から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル、参照画像を特定する情報などを可逆符号化部３６に出力する。また、動き予測・補償部１９４は、予測画像選択部４８から最適インター予測モードで生成された予測画像の選択が通知されたPUについて、Recon Pseudo Slice単位で並列に、対応する動きベクトルに基づいて、参照画像を特定する情報で特定される参照画像に最適インター予測モードの補償処理を施す。動き予測・補償部１９４は、その結果得られるRecon Pseudo Slice単位の予測画像を加算部１９３に供給する。
【０２２７】
＜フィルタ処理部の構成例＞
図３３は、図３２のフィルタ処理部１９５の構成例を示すブロック図である。
【０２２８】
図３３のフィルタ処理部１９５は、バッファ２１０、分割部２１１、処理部２１２−１乃至２１２−ｎ、バッファ２１３、および出力部２１４により構成される。
【０２２９】
フィルタ処理部１９５のバッファ２１０は、図３２の加算部１９３から供給される完全に復号された画像をピクチャ単位で保持する。また、バッファ２１０は、処理部２１２−１乃至２１２−ｎから供給される適応ループフィルタ処理後の画像に、復号された画像を更新する。また、バッファ２１０は、処理部２１２−１乃至２１２−ｎから供給される各LCUのオフセットフィルタ情報およびフィルタ係数を、適応ループフィルタ処理後の画像に対応付けて保持する。
【０２３０】
分割部２１１は、バッファ２１０に保持されている画像をn×m個の共通処理単位に分割する。分割部２１１は、分割されたn×m個の共通処理単位の画像を、m個ずつ、処理部２１２−１乃至２１２−ｎに供給する。
【０２３１】
処理部２１２−１乃至２１２−ｎは、それぞれ、分割部２１１から供給される共通処理単位の画像に対してデブロッキングフィルタ処理を行う。処理部２１２−１乃至２１２−ｎは、それぞれ、デブロッキングフィルタ処理後の共通処理単位の画像のうちの共通処理単位の境界の画素の画素値をバッファ２１３に供給し、保持させる。
【０２３２】
そして、処理部２１２−１乃至２１２−ｎは、それぞれ、バッファ２１３に記憶されている画素値を用いて、デブロッキングフィルタ処理後の共通処理単位の画像に対して適応オフセットフィルタ処理を行う。
【０２３３】
そのあと、処理部２１２−１乃至２１２−ｎは、それぞれ、適応オフセットフィルタ処理後の共通処理単位の画像に対して適応ループフィルタ処理を行う。処理部２１２−１乃至２１２−ｎは、それぞれ、各LCUの適応ループフィルタ処理後の画像、オフセットフィルタ情報、およびフィルタ係数をバッファ２１０に供給する。
【０２３４】
バッファ２１３は、処理部２１２−１乃至２１２−ｎから供給される画素値を保持する。出力部２１４は、バッファ２１０に保持されているピクチャ単位の画像を図３２のフレームメモリ４４に供給し、各LCUのオフセットフィルタ情報とフィルタ係数を可逆符号化部３６に供給する。
【０２３５】
<符号化装置の処理の説明＞
図３４と図３５は、図３２の符号化装置１９０の符号化処理を説明するフローチャートである。
【０２３６】
図３４のステップＳ２６１乃至Ｓ２７０の処理は、図２０のステップＳ３１乃至Ｓ４０の処理と同様であるので、説明は省略する。この符号化処理は、例えば、フレーム単位で行われる。
【０２３７】
図３５のステップＳ２７１において、符号化装置１９０は、Recon Pseudo Slice単位で並列に、逆量子化、逆直交変換、加算処理、および補償処理をまとめて行うインター並列処理を行う。このインター並列処理の詳細は、後述する図３６を参照して説明する。
【０２３８】
ステップＳ２７２において、イントラ予測部４６は、図２６のイントラ予測処理を行う。ステップＳ２７３において、符号化装置１９０は、m個の共通並列処理単位で並列に、デブロッキングフィルタ処理、適応オフセットフィルタ処理、および適応ループフィルタ処理をまとめて行うフィルタ並列処理を行う。このフィルタ並列処理の詳細は、後述する図３７を参照して説明する。
【０２３９】
ステップＳ２７４乃至Ｓ２７９の処理は、図２１のステップＳ４９乃至Ｓ５４の処理と同様であるので、説明は省略する。
【０２４０】
図３６は、図３５のステップＳ２７１のインター並列処理の詳細を説明するフローチャートである。
【０２４１】
図３６のステップＳ３０１において、逆量子化部１９１は、量子化部３５から供給される係数を単位Recon Pseudo Sliceに分割する。ステップＳ３０２において、逆量子化部１９１は、カウント値iは0に設定する。ステップＳ３０３において、カウント値iが個数nより小さいかどうかを判定する。
【０２４２】
ステップＳ３０３でカウント値iが個数nより小さいと判定された場合、ステップＳ３０４において、逆量子化部１９１は、i番目の単位Recon Pseudo Sliceに対する逆量子化処理を開始する。そして逆量子化処理の終了後、逆直交変換部１９２は、i番目の単位Recon Pseudo Sliceに対する逆直交変換処理を開始する。そして逆直交変換処理の終了後、動き予測・補償部１９４は、i番目の単位Recon Pseudo Slice内の予測画像選択部４８から最適インター予測モードで生成された予測画像の選択が通信されたPUに対するインター予測処理を開始する。そしてインター予測処理の終了後、加算部１９３は、i番目の単位Recon Pseudo Sliceに対する加算処理を開始する。
【０２４３】
ステップＳ３０５において、逆量子化部１９１は、カウント値iを1だけインクリメントし、処理をステップＳ３０３に戻す。そして、カウント値iがn個以上になるまで、ステップＳ３０３乃至Ｓ３０５の処理が繰り返される。
【０２４４】
ステップＳ３０３でカウント値iがn個より小さくはないと判定された場合、即ち、n個全ての単位Recon Pseudo SliceのステップＳ３０４の処理が開始された場合、処理はステップＳ３０６に進む。
【０２４５】
ステップＳ３０６において、符号化装置１９０は、n個全ての単位Recon Pseudo SliceのステップＳ３０４の処理が終了したかどうかを判定し、終了していないと判定した場合、終了するまで待機する。
【０２４６】
ステップＳ３０６でn個全ての単位Recon Pseudo SliceのステップＳ３０４の処理が終了したと判定された場合、加算部１９３は、加算処理の結果得られる局部的に復号されたピクチャ単位の画像をフレームメモリ４４に供給する。そして、処理は、図３５のステップＳ２７１に戻り、ステップＳ２７２に進む。
【０２４７】
図３７は、図３５のステップＳ２７３のフィルタ並列処理の詳細を説明するフローチャートである。
【０２４８】
図３７のステップＳ３２０において、フィルタ処理部１９５のバッファ２１０は、図３２の加算部１９３から供給されるピクチャ単位の復号された画像を保持する。ステップＳ３２１において、分割部２１１は、バッファ２１０に保持されているピクチャ単位の画像を共通処理単位に分割する。例えば、共通処理単位が最小の単位ALF Pseudo Sliceである場合、フィルタ処理部１９５は、境界ALF Pseudo boundaryでピクチャ単位の画像を分割する。
【０２４９】
ステップＳ３２２において、分割部２１１は、n個の処理部２１２−１乃至２１２−ｎのそれぞれに割り当てる共通処理単位の数mを決定する。ステップＳ３２３において、分割部２１１は、カウント値i,j,kをそれぞ0に設定する。
【０２５０】
ステップＳ３２４において、分割部２１１は、カウント値iがn個より小さいかどうかを判定する。ステップＳ３２４でカウント値iがn個より小さいと判定された場合、分割部２１１は、i番目のm個の共通処理単位の画像を処理部２１２−ｉに供給し、処理をステップＳ３２５に進める。
【０２５１】
ステップＳ３２５において、処理部２１２−ｉは、i番目のm個の共通処理単位に対するデブロッキングフィルタ処理を行い、その共通処理単位の最上行と最下行の画素のデブロッキングフィルタ処理後の画素値をバッファ２１３に記憶させる処理を開始する。
【０２５２】
ステップＳ３２６において、分割部２１１は、カウント値iを1だけインクリメントし、処理をステップＳ３２４に戻す。そして、カウント値iがn個以上になるまで、ステップＳ３２４乃至Ｓ３２６の処理が繰り返される。
【０２５３】
一方、ステップＳ３２４でカウント値iがn個より小さくはないと判定された場合、即ち、ピクチャ内の全ての共通処理単位に対するステップＳ３２５の処理が開始された場合、処理はステップＳ３２７に進む。
【０２５４】
ステップＳ３２７において、分割部２１１は、カウント値jがn個より小さいかどうかを判定する。ステップＳ３２７でカウント値jがn個より小さいと判定された場合、処理はステップＳ３２８に進む。
【０２５５】
ステップＳ３２８において、処理部２１２−ｊは、j番目のm個の全ての共通処理単位と、そのm個の共通処理単位の上下の共通処理単位のデブロッキングフィルタ処理が終了したかどうかを判定する。
【０２５６】
ステップＳ３２８でj番目のm個の全ての共通処理単位と、そのm個の共通処理単位の上下の共通処理単位のデブロッキングフィルタ処理が終了していないと判定された場合、終了するまで待機する。
【０２５７】
ステップＳ３２８でj番目のm個の全ての共通処理単位と、そのm個の共通処理単位の上下の共通処理単位のデブロッキングフィルタ処理が終了したと判定された場合、処理はステップＳ３２９に進む。
【０２５８】
ステップＳ３２９において、処理部２１２−ｊは、バッファ２１３に保持されている画素値を用いたj番目のm個の共通処理単位に対する適応オフセットフィルタ処理を開始する。ステップＳ３３０において、処理部２１２−ｊは、カウント値jを1だけインクリメントし、処理をステップＳ３２７に戻す。そして、カウント値jがn個以上になるまで、ステップＳ３２７乃至Ｓ３３０の処理が繰り返される。
【０２５９】
ステップＳ３２７でカウント値jがn個より小さくないと判定された場合、即ち、ピクチャ内の全ての共通処理単位に対するステップＳ３２９の処理が開始された場合、処理はステップＳ３３１に進む。
【０２６０】
ステップＳ３３１において、カウント値kがn個より小さいかどうかを判定する。ステップＳ３３１でカウント値kがn個より小さいと判定された場合、処理はステップＳ３３２に進む。
【０２６１】
ステップＳ３３２において、処理部２１２−ｋは、k番目のm個の全ての共通処理単位の適応オフセットフィルタ処理が終了したかどうかを判定し、終了していないと判定された場合、終了するまで待機する。
【０２６２】
ステップＳ３３２でk番目のm個の全ての共通処理単位の適応オフセットフィルタ処理が終了したと判定された場合、処理はステップＳ３３３に進む。ステップＳ３３３において、処理部２１２−ｋは、k番目のm個の共通処理単位に対する適応ループフィルタ処理を開始する。
【０２６３】
ステップＳ３３４において、処理部２１２−ｋは、カウント値kを1だけインクリメントし、処理をステップＳ３３１に進める。そして、カウント値kがn個以上になるまで、ステップＳ３３１乃至Ｓ３３４の処理が繰り返される。
【０２６４】
ステップＳ３３１でカウント値kはn個より小さくはないと判定された場合、即ちピクチャ内の全ての共通処理単位に対するステップＳ３３３の処理が開始された場合、処理はステップＳ３３５に進む。ステップＳ３３５において、出力部２１４は、n個の処理部２１２−１乃至２１２−ｎによる適応ループフィルタ処理が終了したかどうかを判定し、終了していないと判定した場合、終了するまで待機する。
【０２６５】
ステップＳ３３１でn個の処理部２１２−１乃至２１２−ｎによる適応ループフィルタ処理が終了したと判定された場合、出力部２１４は、バッファ２１０に記憶されているピクチャ単位の適応ループフィルタ処理後の画像をフレームメモリ４４に供給する。そして、処理は、図３５のステップＳ２７３に戻り、ステップＳ２７４に進む。
【０２６６】
以上のように、符号化装置１９０は、復号された画像に対してm個の共通並列処理単位で並列にデブロッキングフィルタ処理、適応オフセット処理、および適応ループフィルタ処理をまとめて行うことができる。また、符号化装置１９０は、Recon Pseudo Slice単位で並列に、逆量子化、逆直交変換、加算処理、および補償処理をまとめて行うことができる。
【０２６７】
従って、符号化装置１１に比べて並列処理単位に分割する処理を削減することができる。また、ピクチャ全体に対する各処理の終了を待たずに、次の処理を行うことができる。従って、より高速に符号化を行うことができる。
【０２６８】
＜復号装置の第２実施の形態の構成例＞
図３８は、図３２の符号化装置１９０から伝送される符号化ストリームを復号する、本技術を適用した画像処理装置としての復号装置の第２実施の形態の構成例を示すブロック図である。
【０２６９】
図３８に示す構成のうち、図３０の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２７０】
図３８の復号装置２３０の構成は、逆量子化部１６３、逆直交変換部１６４、加算部１６５、動き予測・補償部１７４の代わりに、逆量子化部２３１、逆直交変換部２３２、加算部２３３、動き予測・補償部２３４が設けられている点、デブロックフィルタ１６６、適応オフセットフィルタ１６７、および適応ループフィルタ１６８の代わりにフィルタ処理部２３５が設けられる点が図３０の復号装置１６０の構成と異なる。
【０２７１】
復号装置２３０は、Recon Pseudo Slice単位で、逆量子化、逆直交変換、加算処理、および補償処理をまとめて行い、m個の共通処理単位で、デブロッキングフィルタ処理、適応オフセットフィルタ処理、および適応ループフィルタ処理をまとめて行う。
【０２７２】
具体的には、復号装置２３０の逆量子化部２３１は、可逆復号部１６２からの量子化された係数に対して、Recon Pseudo Slice単位で並列に逆量子化を行い、その結果得られるRecon Pseudo Slice単位の直交変換係数を逆直交変換部２３２に供給する。
【０２７３】
逆直交変換部２３２は、逆量子化部２３１からのRecon Pseudo Slice単位の直交変換係数に対して、Recon Pseudo Slice単位で並列に逆直交変換を行う。逆直交変換部２３２は、逆直交変換の結果得られるRecon Pseudo Slice単位の残差情報を加算部２３３に供給する。
【０２７４】
加算部２３３は、復号部として機能し、逆直交変換部２３２から供給される復号対象の画像としてのRecon Pseudo Slice単位の残差情報と、動き補償部２３４からスイッチ１７５を介して供給されるRecon Pseudo Slice単位の予測画像を、Recon Pseudo Slice単位で加算することにより、局部的に復号を行う。そして、加算部２３３は、局部的に復号されたピクチャ単位の画像をフレームメモリ１７１に供給する。
【０２７５】
また、加算部２３３は、図３０の加算部１６５と同様に、イントラ予測部１７３からスイッチ１７５を介して供給されるPU単位の予測画像と、そのPUの残差情報を加算することにより、局部的に復号を行う。そして、加算部２３３は、加算部１６５と同様に、局部的に復号されたピクチャ単位の画像をフレームメモリ１７１に供給する。また、加算部２３３は、完全に復号されたピクチャ単位の画像をフィルタ処理部２３５に供給する。
【０２７６】
動き補償部２３４は、Recon Pseudo Slice単位で並列に、フレームメモリ１７１からスイッチ１７２を介して、可逆復号部１６２から供給される参照画像を特定する情報により特定される参照画像を読み出す。動き補償部２３４は、可逆復号部１６２から供給される動きベクトルと参照画像を用いて、可逆復号部１６２から供給されるインター予測モード情報が示す最適インター予測モードの動き補償処理をRecon Pseudo Slice単位で行う。動き補償部２３４は、その結果生成されるRecon Pseudo Slice単位の予測画像をスイッチ１７５に供給する。
【０２７７】
フィルタ処理部２３５は、図３２のフィルタ処理部１９５と同様に構成される。フィルタ処理部２３５は、加算部２３３から供給される画像に対して、m個の共通処理単位で並列に、デブロッキングフィルタ処理、可逆復号部１６２から供給されるオフセットフィルタ情報を用いた適応オフセットフィルタ処理、およびフィルタ係数を用いた適応ループフィルタ処理を行う。フィルタ処理部２３５は、その結果得られるピクチャ単位の画像をフレームメモリ１７１と画面並べ替えバッファ１６９に供給する。
【０２７８】
＜復号装置の処理の説明＞
図３９は、図３８の復号装置２３０の復号処理を説明するフローチャートである。
【０２７９】
図３９のステップＳ３５１およびＳ３５２の処理は、図３１のステップＳ２３１およびＳ２３２の処理と同様であるので、説明は省略する。
【０２８０】
ステップＳ３５３において、復号装置２３０は、図３６のインター並列処理と同様のインター並列処理を行う。ステップＳ３５４において、イントラ予測部１７３は、図３１のステップＳ２３７の処理と同様にイントラ予測処理を行う。ステップＳ３５５において、フィルタ処理部２３５は、図３７のフィルタ並列処理と同様のフィルタ並列処理を行う。
【０２８１】
ステップＳ３５６乃至Ｓ３５８の処理は、図３１のステップＳ２４１乃至Ｓ２４３の処理と同様であるので、説明は省略する。
【０２８２】
以上のように、復号装置２３０は、復号された画像に対して所定の処理単位で並列にデブロッキングフィルタ処理、適応オフセット処理、および適応ループフィルタ処理をまとめて行うことができる。また、復号装置２３０は、逆量子化、逆直交変換、加算処理、および補償処理をRecon Pseudo Slice単位で並列にまとめて行うことができる。従って、復号装置１６０に比べて並列処理単位に分割する処理を削減することができる。また、ピクチャ全体に対する各処理の終了を待たずに、次の処理を行うことができる。従って、より高速に復号を行うことができる。
【０２８３】
＜第３実施の形態＞
＜本技術を適用したコンピュータの説明＞
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０２８４】
図４０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２８５】
コンピュータにおいて、CPU（Central Processing Unit）６０１，ROM（Read Only Memory）６０２，RAM（Random Access Memory）６０３は、バス６０４により相互に接続されている。
【０２８６】
バス６０４には、さらに、入出力インタフェース６０５が接続されている。入出力インタフェース６０５には、入力部６０６、出力部６０７、記憶部６０８、通信部６０９、及びドライブ６１０が接続されている。
【０２８７】
入力部６０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部６０７は、ディスプレイ、スピーカなどよりなる。記憶部６０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部６０９は、ネットワークインタフェースなどよりなる。ドライブ６１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア６１１を駆動する。
【０２８８】
以上のように構成されるコンピュータでは、CPU６０１が、例えば、記憶部６０８に記憶されているプログラムを、入出力インタフェース６０５及びバス６０４を介して、RAM６０３にロードして実行することにより、上述した一連の処理が行われる。
【０２８９】
コンピュータ（CPU６０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア６１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２９０】
コンピュータでは、プログラムは、リムーバブルメディア６１１をドライブ６１０に装着することにより、入出力インタフェース６０５を介して、記憶部６０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部６０９で受信し、記憶部６０８にインストールすることができる。その他、プログラムは、ROM６０２や記憶部６０８に、あらかじめインストールしておくことができる。
【０２９１】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２９２】
なお、上述した一連の処理をソフトウエアにより実行する場合には、スレッドを用いて並列処理が行われる。
【０２９３】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２９４】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２９５】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２９６】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２９７】
また、第２実施の形態の逆量子化部１９１、逆直交変換部１９２、加算部１９３、動き予測・補償部１９４、逆量子化部２３１、逆直交変換部２３２、加算部２３３、および動き補償部２３４の代わりに、第１実施の形態における逆量子化部３８、逆直交変換部３９、加算部４０、動き予測・補償部４７、逆量子化部１６３、逆直交変換部１６４、加算部１６５、および動き補償部１７４が設けられるようにしてもよい。また、第１実施の形態のデブロックフィルタ４１、適応オフセットフィルタ４２、および適応ループフィルタ４３、並びに、デブロックフィルタ１６６、適応オフセットフィルタ１６７、および適応ループフィルタ１６８の代わりに、第２実施の形態におけるフィルタ処理部１９５およびフィルタ処理部２３５が設けられるようにしてもよい。
【０２９８】
なお、本技術は、以下のような構成もとることができる。
【０２９９】
（１）
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
を備える画像処理装置。
（２）
前記フィルタ処理は、デブロッキングフィルタ処理であり、
前記処理単位の水平方向または垂直方向の画素数は８の倍数である
前記（１）に記載の画像処理装置。
（３）
前記処理単位の水平方向または垂直方向の画素は、LCU（Largest Coding Unit）の境界を中心とした４画素ずつを含む
前記（２）に記載の画像処理装置。
（４）
前記画像がYUV420の輝度画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数であり、前記画像がYUV420の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は４の倍数である
前記（２）または（３）に記載の画像処理装置。
（５）
前記画像がYUV422の色画像である場合、前記処理単位の水平方向の画素数は４の倍数であり、垂直方向の画素数は８の倍数である
前記（２）または（３）に記載の画像処理装置。
（６）
前記画像がYUV444の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数である
前記（２）または（３）に記載の画像処理装置。
（７）
前記フィルタ処理部は、
前記画像の前記処理単位の境界の画素の画素値を保持する保持部と、
前記保持部により保持されている前記画素値を用いて、前記画像に対して前記処理単位で並列に適応オフセットフィルタ処理を行う処理部と
を備える
前記（１）に記載の画像処理装置。
（８）
前記処理単位は、LCU（Largest Coding Unit）単位である
前記（７）に記載の画像処理装置。
（９）
前記フィルタ処理は、デブロッキングフィルタ処理と適応オフセットフィルタ処理であり、
前記処理単位の水平方向または垂直方向の画素数は８の倍数である
前記（１）に記載の画像処理装置。
（１０）
前記画像がYUV420の輝度画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数であり、前記画像がYUV420の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は４の倍数である
前記（９）に記載の画像処理装置。
（１１）
前記画像がYUV422の色画像である場合、前記処理単位の水平方向の画素数は４の倍数であり、垂直方向の画素数は８の倍数である
前記（９）に記載の画像処理装置。
（１２）
前記画像がYUV444の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数である
前記（９）に記載の画像処理装置。
（１３）
画像処理装置が、
符号化データを復号し、画像を生成する復号ステップと、
前記復号ステップの処理により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理ステップと
を含む画像処理方法。
（１４）
コンピュータを、
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
して機能させるためのプログラム。
（１５）
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、タイルとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
を備える画像処理装置。
【符号の説明】
【０３００】
１１  符号化装置，  ４０  加算部，  ４１  デブロックフィルタ，  ４２  適応オフセットフィルタ，  ４３  適応ループフィルタ，  １１２  バッファ，  １１３−１乃至１１３−ｎ  処理部，  １６０  復号装置，  １６５  加算部，  １９０  符号化装置，  １９３  加算部，  １９５  フィルタ処理部，  ２３０  復号装置，  ２３３  加算部
【図１】
2014087861.tif 000003
【図２】
2014087861.tif 000004
【図３】
2014087861.tif 000005
【図４】
2014087861.tif 000006
【図５】
2014087861.tif 000007
【図６】
2014087861.tif 000008
【図７】
2014087861.tif 000009
【図８】
2014087861.tif 000010
【図９】
2014087861.tif 000011
【図１０】
2014087861.tif 000012
【図１１】
2014087861.tif 000013
【図１２】
2014087861.tif 000014
【図１３】
2014087861.tif 000015
【図１４】
2014087861.tif 000016
【図１５】
2014087861.tif 000017
【図１６】
2014087861.tif 000018
【図１７】
2014087861.tif 000019
【図１８】
2014087861.tif 000020
【図１９】
2014087861.tif 000021
【図２０】
2014087861.tif 000022
【図２１】
2014087861.tif 000023
【図２２】
2014087861.tif 000024
【図２３】
2014087861.tif 000025
【図２４】
2014087861.tif 000026
【図２５】
2014087861.tif 000027
【図２６】
2014087861.tif 000028
【図２７】
2014087861.tif 000029
【図２８】
2014087861.tif 000030
【図２９】
2014087861.tif 000031
【図３０】
2014087861.tif 000032
【図３１】
2014087861.tif 000033
【図３２】
2014087861.tif 000034
【図３３】
2014087861.tif 000035
【図３４】
2014087861.tif 000036
【図３５】
2014087861.tif 000037
【図３６】
2014087861.tif 000038
【図３７】
2014087861.tif 000039
【図３８】
2014087861.tif 000040
【図３９】
2014087861.tif 000041
【図４０】
2014087861.tif 000042
【手続補正書】
【提出日】平成26年3月5日(2014.3.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
を備え、
前記フィルタ処理部は、
前記画像の前記処理単位の境界の画素の画素値を保持する保持部と、
前記保持部により保持されている前記画素値を用いて、前記画像に対して前記処理単位で並列に適応オフセットフィルタ処理を行う処理部と
を備える
画像処理装置。
【請求項２】
前記フィルタ処理は、デブロッキングフィルタ処理であり、
前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項１に記載の画像処理装置。
【請求項３】
前記処理単位の水平方向または垂直方向の画素は、ＬＣＵ（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ）の境界を中心とした４画素ずつを含む
請求項２に記載の画像処理装置。
【請求項４】
前記画像がＹＵＶ４２０の輝度画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数であり、前記画像がＹＵＶ４２０の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は４の倍数である
請求項２に記載の画像処理装置。
【請求項５】
前記画像がＹＵＶ４２２の色画像である場合、前記処理単位の水平方向の画素数は４の倍数であり、垂直方向の画素数は８の倍数である
請求項２に記載の画像処理装置。
【請求項６】
前記画像がＹＵＶ４４４の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項２に記載の画像処理装置。
【請求項７】
（削除）
【請求項８】
前記処理単位は、ＬＣＵ（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ）単位である
請求項７に記載の画像処理装置。
【請求項９】
前記フィルタ処理は、デブロッキングフィルタ処理と適応オフセットフィルタ処理であり、
前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項１に記載の画像処理装置。
【請求項１０】
前記画像がＹＵＶ４２０の輝度画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数であり、前記画像がＹＵＶ４２０の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は４の倍数である
請求項９に記載の画像処理装置。
【請求項１１】
前記画像がＹＵＶ４２２の色画像である場合、前記処理単位の水平方向の画素数は４の倍数であり、垂直方向の画素数は８の倍数である
請求項９に記載の画像処理装置。
【請求項１２】
前記画像がＹＵＶ４４４の色画像である場合、前記処理単位の水平方向または垂直方向の画素数は８の倍数である
請求項９に記載の画像処理装置。
【請求項１３】
画像処理装置が、
符号化データを復号し、画像を生成する復号ステップと、
前記復号ステップの処理により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理ステップと
を含み、
前記フィルタ処理ステップでは、前記画像の前記処理単位の境界の画素の画素値を保持する保持部により保持されている前記画素値を用いて、前記画像に対して前記処理単位で並列に適応オフセットフィルタ処理を行う
画像処理方法。
【請求項１４】
コンピュータを、
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、スライスとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
を備え、
前記フィルタ処理部は、前記画像の前記処理単位の境界の画素の画素値を保持する保持部により保持されている前記画素値を用いて、前記画像に対して前記処理単位で並列に適応オフセットフィルタ処理を行う
画像処理装置として機能させるためのプログラム。
【請求項１５】
符号化データを復号し、画像を生成する復号部と、
前記復号部により生成された前記画像に対して、タイルとは無関係の処理単位で並列にフィルタ処理を行うフィルタ処理部と
を備える画像処理装置。
【国際調査報告】
2014087861.tif 000043
2014087861.tif 000044
2014087861.tif 000045
2014087861.tif 000046
2014087861.tif 000047
2014087861.tif 000048
2014087861.tif 000049
2014087861.tif 000050