(57)【要約】【課題】映像符号化においてパレット符号化が行われる場合に、フィルタ処理による画質の劣化を抑止する。【解決手段】パレット符号化部３１１は、映像に含まれるブロック内の複数の画素値のうち、パレットに登録された第１画素値を、パレットを用いて符号化することで、第１画素値の符号化結果を生成する。また、パレット符号化部３１１は、パレットに登録されていない第２画素値を量子化することで、第２画素値の量子化結果を生成し、第１画素値の符号化結果から第１局所復号結果を生成し、第２画素値の量子化結果から第２局所復号結果を生成する。フィルタ部３１２は、第２局所復号結果に対してフィルタ処理を適用し、第１局所復号結果と、第２局所復号結果に対してフィルタ処理を適用した結果とを含む、ブロックの局所復号画像を生成する。出力部３１３は、第１画素値の符号化結果と第２画素値の量子化結果とを含む符号化映像を出力する。【選択図】図３
2018107534.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、前記符号化対象ブロックのパレットに登録された第１画素値を、前記パレットを用いて符号化することで、前記第１画素値の符号化結果を生成し、前記複数の画素値のうち前記パレットに登録されていない第２画素値を量子化することで、前記第２画素値の量子化結果を生成し、前記第１画素値の前記符号化結果から第１局所復号結果を生成し、前記第２画素値の前記量子化結果から第２局所復号結果を生成するパレット符号化部と、
前記第２局所復号結果に対してフィルタ処理を適用し、前記第１局所復号結果と、前記第２局所復号結果に対して前記フィルタ処理を適用した結果とを含む、前記符号化対象ブロックの局所復号画像を生成するフィルタ部と、
前記第１画素値の前記符号化結果と前記第２画素値の前記量子化結果とを含む符号化映像を出力する出力部と、
を備えることを特徴とする映像符号化装置。
【請求項２】
前記符号化対象ブロックの前記局所復号画像を記憶する記憶部と、
前記局所復号画像を参照して、前記符号化対象映像に含まれるブロックの予測符号化を行う予測符号化部と、
をさらに備えることを特徴とする請求項１記載の映像符号化装置。
【請求項３】
前記フィルタ処理は、前記符号化対象ブロック内におけるエッジの歪みを補正する第１フィルタ処理、又は前記符号化対象ブロック内における階調の歪みを補正する第２フィルタ処理であることを特徴とする請求項１又は２記載の映像符号化装置。
【請求項４】
符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、前記符号化対象ブロックのパレットに登録された第１画素値を、前記パレットを用いて符号化することで、前記第１画素値の符号化結果を生成し、
前記第１画素値の前記符号化結果から第１局所復号結果を生成し、
前記複数の画素値のうち前記パレットに登録されていない第２画素値を量子化することで、前記第２画素値の量子化結果を生成し、
前記第２画素値の前記量子化結果から第２局所復号結果を生成し、
前記第２局所復号結果に対してフィルタ処理を適用し、
前記第１局所復号結果と、前記第２局所復号結果に対して前記フィルタ処理を適用した結果とを含む、前記符号化対象ブロックの局所復号画像を生成し、
前記第１画素値の前記符号化結果と前記第２画素値の前記量子化結果とを含む符号化映像を出力する、
処理をコンピュータに実行させる映像符号化プログラム。
【請求項５】
映像符号化装置が、
符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、前記符号化対象ブロックのパレットに登録された第１画素値を、前記パレットを用いて符号化することで、前記第１画素値の符号化結果を生成し、
前記第１画素値の前記符号化結果から第１局所復号結果を生成し、
前記複数の画素値のうち前記パレットに登録されていない第２画素値を量子化することで、前記第２画素値の量子化結果を生成し、
前記第２画素値の前記量子化結果から第２局所復号結果を生成し、
前記第２局所復号結果に対してフィルタ処理を適用し、
前記第１局所復号結果と、前記第２局所復号結果に対して前記フィルタ処理を適用した結果とを含む、前記符号化対象ブロックの局所復号画像を生成し、
前記第１画素値の前記符号化結果と前記第２画素値の前記量子化結果とを含む符号化映像を出力する、
ことを特徴とする映像符号化方法。
【請求項６】
復号対象映像に含まれる復号対象ブロック内の第１画素の符号化結果を、前記復号対象ブロックのパレットを用いて復号することで、前記第１画素の第１画素値を復元し、前記復号対象ブロック内の第２画素の量子化結果を逆量子化することで、前記第２画素の第２画素値を復元するパレット復号部と、
前記第２画素値に対してフィルタ処理を適用し、前記第１画素値と、前記第２画素値に対して前記フィルタ処理を適用した結果とを含む、前記復号対象ブロックの復号画像を生成するフィルタ部と、
前記復号対象ブロックの前記復号画像を含む復号映像を出力する出力部と、
を備えることを特徴とする映像復号装置。
【請求項７】
前記復号対象ブロックの前記復号画像を記憶する記憶部と、
前記復号画像を参照して、前記復号対象映像に含まれるブロックの符号化結果に対する予測復号を行う予測復号部と、
をさらに備えることを特徴とする請求項６記載の映像復号装置。
【請求項８】
前記フィルタ処理は、前記復号対象ブロック内におけるエッジの歪みを補正する第１フィルタ処理、又は前記復号対象ブロック内における階調の歪みを補正する第２フィルタ処理であることを特徴とする請求項６又は７記載の映像復号装置。
【請求項９】
復号対象映像に含まれる復号対象ブロック内の第１画素の符号化結果を、前記復号対象ブロックのパレットを用いて復号することで、前記第１画素の第１画素値を復元し、
前記復号対象ブロック内の第２画素の量子化結果を逆量子化することで、前記第２画素の第２画素値を復元し、
前記第２画素値に対してフィルタ処理を適用し、
前記第１画素値と、前記第２画素値に対して前記フィルタ処理を適用した結果とを含む、前記復号対象ブロックの復号画像を生成し、
前記復号対象ブロックの前記復号画像を含む復号映像を出力する、
処理をコンピュータに実行させる映像復号プログラム。
【請求項１０】
映像復号装置が、
復号対象映像に含まれる復号対象ブロック内の第１画素の符号化結果を、前記復号対象ブロックのパレットを用いて復号することで、前記第１画素の第１画素値を復元し、
前記復号対象ブロック内の第２画素の量子化結果を逆量子化することで、前記第２画素の第２画素値を復元し、
前記第２画素値に対してフィルタ処理を適用し、
前記第１画素値と、前記第２画素値に対して前記フィルタ処理を適用した結果とを含む、前記復号対象ブロックの復号画像を生成し、
前記復号対象ブロックの前記復号画像を含む復号映像を出力する、
ことを特徴とする映像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化装置、映像符号化方法、映像復号装置、及び映像復号方法に関する。
【背景技術】
【０００２】
動画像データは、非常に大きなデータ量を有することが多い。このため、送信装置から受信装置へ動画像データを送信する場合、又は動画像データを記憶装置に格納する場合には、動画像データの圧縮符号化が行われる。
【０００３】
代表的な動画像符号化標準としては、Moving Picture Experts Group phase 2（ＭＰＥＧ−２）、ＭＰＥＧ−４、又はH.264 MPEG-4 Advanced Video Coding（ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４）が知られている。これらの動画像符号化標準は、International Organization for Standardization/International Electrotechnical Commission（ＩＳＯ／ＩＥＣ）により策定されている。
【０００４】
また、新たな動画像符号化標準として、High Efficiency Video Coding（ＨＥＶＣ，ＭＰＥＧ−Ｈ／Ｈ．２６５）がJoint Collaborative Team on Video Coding（ＪＣＴＶＣ）により策定されている（例えば、非特許文献１を参照）。
【０００５】
上述した動画像符号化標準は、インター予測符号化とイントラ予測符号化の２つの符号化方式を採用している。インター予測符号化は、符号化対象ピクチャを符号化済みピクチャの情報を用いて符号化する符号化方式であり、イントラ予測符号化は、符号化対象ピクチャが持つ情報のみを用いて符号化対象ピクチャを符号化する符号化方式である。
【０００６】
近年のInformation Technology（ＩＴ）の進歩に伴い、各種カメラで撮影された自然画像に加えて、パーソナルコンピュータ（ＰＣ）のデスクトップ画面のようなスクリーンコンテンツ画像に対しても、動画像符号化標準を適用する流れが生じている。例えば、Wireless display、デスクトップ仮想化（Virtual Display Infrastructure，ＶＤＩ）等がこの流れに属する。
【０００７】
Wireless displayを用いることで、ＰＣ又はゲーム機器の表示映像をフラットパネルディスプレイに対して無線伝送することができる。また、ＶＤＩを用いることで、仮想オペレーティングシステム（仮想ＯＳ）のユーザ画面を、インターネットプロトコル（ＩＰ）によってシンクライアント端末に伝送することができる。
【０００８】
スクリーンコンテンツ画像は、自然画像とは異なる特徴を持っている。具体的には、ブロック内における画素値のバリエーションが非常に少ない点が挙げられる。例えば、２４ビット映像の場合、文書編集画面では、１６７７万色中で高々２０色程度しか使用されていない。
【０００９】
２０１３年に国際標準化されたＨＥＶＣ規格の第３版では、スクリーンコンテンツ画像を高能率に圧縮符号化するための技術が導入されている。その１つがパレット符号化である（例えば、特許文献１を参照）。
【００１０】
図１は、映像符号化装置におけるパレット符号化の例を示している。図１のブロックの画像１０１は６４（８×８）個の画素を含み、画像１０１の各画素値から、このブロックを符号化するためのパレット１０３が生成される。パレット１０３の各エントリは、画像１０１に含まれる色に対応し、インデックス及び画素値を含む。インデックスは、色を表す符号であり、画素値は、色を表す画素値である。この例では、画素値として（Ｒ，Ｇ，Ｂ）が用いられている。パレット１０３は、パレットテーブルと呼ばれることもある。
【００１１】
パレット１０３を用いて画像１０１の各画素値をインデックスに置き換えることで、インデックスマップ１０２が生成され、インデックスマップ１０２及びパレット１０３を符号化することで、画像１０１の符号化結果が生成される。ブロック内における画素値のバリエーションが少ない場合には、インデックスマップ１０２の情報量が小さくなるため、符号化効率が向上する。
【００１２】
Ｒ、Ｇ、及びＢの各値は８ビットで表されるため、画像１０１の１画素当たりの情報量は、８×３＝２４ビットであり、画像１０１全体の情報量は、２４×６４＝１５３６ビットになる。これに対して、各インデックスは３ビットで表されるため、インデックスマップ１０２の情報量は、３×６４＝１９２ビットである。
【００１３】
パレット符号化は、可逆符号化と非可逆符号化の両方のモードで使用可能である。非可逆符号化の場合には、エスケープ符号化が用いられる。エスケープ符号化では、ブロックに含まれる画素値の種類がパレットに登録されている画素値の種類よりも多い場合に、パレットに登録されていない画素値が直接量子化されて符号化される。
【００１４】
図１の画像１０１の場合、右上の画素１１１の画素値がエスケープ符号化され、インデックスマップ１０２内の対応する位置に、エスケープ符号化を示すインデックス“５”が記録されている。映像符号化装置によって生成されたビットストリームを復号する映像復号装置は、画素のインデックスがエスケープ符号化を示す場合、ビットストリームに含まれる、量子化された画素値を逆量子化することで、元の画素値を復元する。
【００１５】
パレット符号化によって生成される符号の情報量はパレットの大きさに比例するため、ビットストリームに対してレート制御を行う場合、パレットの大きさとエスケープ符号化の量子化スケールの２つのパラメータが変更される。
【００１６】
復号画像に対してフィルタ処理を適用する適応フィルタも知られている（例えば、特許文献２〜特許文献４を参照）。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０１６−７６９２４号公報
【特許文献２】国際公開第２０１５／１６３０４６号パンフレット
【特許文献３】国際公開第２０１２／０８１７０６号パンフレット
【特許文献４】特表２０１５−５１９８５３号公報
【非特許文献】
【００１８】
【非特許文献１】“Text of ISO/IEC FDIS 23008-2:201x High Efficiency Video Coding [3rd ed.]”, ISO/IEC JTC1/SC29/WG11/N16046, February 2016
【発明の概要】
【発明が解決しようとする課題】
【００１９】
従来のパレット符号化では、エスケープ符号化における量子化による画質の劣化を軽減するために、局所復号画像に対してフィルタ処理が適用されることがある。しかし、エスケープ符号化されていない画素に対してフィルタ処理が適用された場合、不要なフィルタ処理によってその画素の画質が劣化する。
【００２０】
なお、かかる問題は、スクリーンコンテンツ画像に対するパレット符号化に限らず、画素値のバリエーションが少ない他の画像に対するパレット符号化においても生ずるものである。
【００２１】
１つの側面において、本発明は、映像符号化においてパレット符号化が行われる場合に、フィルタ処理による画質の劣化を抑止することを目的とする。
【課題を解決するための手段】
【００２２】
１つの案では、映像符号化装置は、パレット符号化部、フィルタ部、及び出力部を含む。
【００２３】
パレット符号化部は、符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、符号化対象ブロックのパレットに登録された第１画素値を、パレットを用いて符号化することで、第１画素値の符号化結果を生成する。また、パレット符号化部は、パレットに登録されていない第２画素値を量子化することで、第２画素値の量子化結果を生成する。そして、パレット符号化部は、第１画素値の符号化結果から第１局所復号結果を生成し、第２画素値の量子化結果から第２局所復号結果を生成する。
【００２４】
フィルタ部は、第２局所復号結果に対してフィルタ処理を適用し、第１局所復号結果と、第２局所復号結果に対してフィルタ処理を適用した結果とを含む、符号化対象ブロックの局所復号画像を生成する。出力部は、第１画素値の符号化結果と第２画素値の量子化結果とを含む符号化映像を出力する。
【発明の効果】
【００２５】
実施形態によれば、映像符号化においてパレット符号化が行われる場合に、フィルタ処理による画質の劣化を抑止することができる。
【図面の簡単な説明】
【００２６】
【図１】パレット符号化を示す図である。
【図２】ＳＡＯフィルタによるフィルタ処理を示す図である。
【図３】映像符号化装置の機能構成図である。
【図４】映像符号化処理のフローチャートである。
【図５】映像復号装置の機能構成図である。
【図６】映像復号処理のフローチャートである。
【図７】映像符号化装置の具体例を示す機能構成図である。
【図８】映像符号化装置のＳＡＯフィルタ部の機能構成図である。
【図９】映像符号化処理の具体例を示すフローチャートである。
【図１０】映像復号装置の具体例を示す機能構成図である。
【図１１】映像復号装置のＳＡＯフィルタ部の機能構成図である。
【図１２】映像復号処理の具体例を示すフローチャートである。
【図１３】ＣＴＵのシンタックスを示す図である。
【図１４】コーディング四分木のシンタックスを示す図である。
【図１５】ＣＵのシンタックスを示す図である。
【図１６】情報処理装置の構成図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照しながら、実施形態を詳細に説明する。
まず、ＨＥＶＣにおけるブロック分割について説明する。ＨＥＶＣでは、Coding Tree Unit（ＣＴＵ）、Coding Unit（ＣＵ）、Prediction Unit（ＰＵ）、及びTransform Unit（ＴＵ）と呼ばれる４種類のブロックが用意されている。ＣＴＵは、ブロック分割を木構造とみなしたときの根ノードとなるブロックであり、ＣＵが取りうる最大ブロックサイズに対応する。
【００２８】
ＣＵは、その木構造の葉ノードとなるブロックであり、インター予測、イントラ予測等の予測モードが決定される単位である。ＰＵは、ＣＵをさらに分割したブロックであり、ＣＵに対して決められた予測モードの中で、最適な予測方法が選択される単位である。例えば、イントラ予測の場合は、予測方向が選択され、インター予測の場合は、動きベクトルが選択される。ＴＵは、ＣＵをさらに分割したブロックであり、直交変換が実施される単位である。パレット符号化は、ＣＵを単位として実施され、ＣＵ毎に符号化に用いるパレットが生成される。
【００２９】
ＨＥＶＣ規格では、直交変換係数の量子化によって生じる劣化を軽減するためのポストフィルタとして、デブロッキングフィルタに加えて、サンプルアダプティブオフセット（Sample Adaptive Offset，ＳＡＯ）フィルタも採用されている。デブロッキングフィルタは、ＡＶＣ規格から採用されている。
【００３０】
図２は、ＳＡＯフィルタによるフィルタ処理の例を示している。復号画像に対してデブロッキングフィルタによるフィルタ処理が適用された結果に対して、ＳＡＯフィルタによるフィルタ処理が適用される。
【００３１】
ＳＡＯフィルタによるフィルタ処理には、エッジオフセットとバンドオフセットの２つのフィルタモードがあり、ＣＵ単位でいずれかのフィルタモードを選択することができる。エッジオフセットによるフィルタ処理は、ＣＵ内におけるエッジの歪みを補正する処理であり、バンドオフセットによるフィルタ処理は、ＣＵ内における階調の歪みを補正する処理である。
【００３２】
図２（ａ）は、エッジオフセットの例を示している。エッジオフセットによるフィルタ処理では、ＣＵ内の各画素の画素値に対して、ＣＵ単位で選択されるエッジ方向の画素値変動の形状に対応するオフセット値が加算される。
【００３３】
この例では、処理対象ＣＵ２０１に対して、Ｃｌａｓｓ  １（水平方向）、Ｃｌａｓｓ  ２（垂直方向）、Ｃｌａｓｓ  ３（４５度方向）、又はＣｌａｓｓ  ４（１３５度方向）のいずれか１つのエッジ方向が選択される。次に、処理対象ＣＵ２０１内の各画素の画素値と、その画素に隣接する２画素の画素値とを比較することで、エッジ方向の画素値変動の形状を示すカテゴリが計算される。このとき、隣接する２画素は、エッジ方向に応じて選択される。
【００３４】
例えば、Ｃｌａｓｓ  １が選択された場合、処理対象画素２１１に対して水平方向に隣接する画素２１２及び画素２１３が参照画素として選択される。そして、処理対象画素２１１、参照画素２１２、及び参照画素２１３の画素値の相対関係が、Ｃａｔｅｇｏｒｙ  １〜Ｃａｔｅｇｏｒｙ  ４又はその他の形状のいずれに対応するかが決定される。
【００３５】
次に、処理対象ＣＵ２０１内の各画素の画素値に対して、決定されたカテゴリに対応するオフセット値を加算することで、フィルタ処理後のＣＵ２０２が生成される。Ｃａｔｅｇｏｒｙ  １〜Ｃａｔｅｇｏｒｙ  ４に対応するオフセット値は、それぞれ、ｑ１〜ｑ４であり、その他の形状に対応するオフセット値は０である。例えば、処理対象画素２１１のカテゴリがＣａｔｅｇｏｒｙ  ３である場合、処理対象画素２１１の画素値ｐに対してオフセット値ｑ３が加算され、画素値がｐ＋ｑ３に変更される。
【００３６】
図２（ｂ）は、バンドオフセットの例を示している。バンドオフセットによるフィルタ処理では、ＣＵ内の各画素の画素値に対して、画素値のレンジに対応するオフセット値が加算される。各レンジは、画素値の下限値及び上限値によって規定することができる。
【００３７】
この例では、処理対象ＣＵ２０１内の各画素の画素値が、Ｒａｎｇｅ  ０（ｒ０）、Ｒａｎｇｅ  １（ｒ１）、Ｒａｎｇｅ  ２（ｒ２）、Ｒａｎｇｅ  ３（ｒ３）等のうち、いずれのレンジに属するかが決定される。
【００３８】
次に、処理対象ＣＵ２０１内の各画素の画素値に対して、決定されたレンジに対応するオフセット値を加算することで、フィルタ処理後のＣＵ２０３が生成される。Ｒａｎｇｅ  ０に対応するオフセット値は０であり、Ｒａｎｇｅ  １〜Ｒａｎｇｅ  ３に対応するオフセット値は、それぞれ、ｏ１〜ｏ３である。例えば、処理対象画素２１１の画素値ｐがＲａｎｇｅ  ２に属する場合、画素値ｐに対してオフセット値ｏ２が加算され、画素値がｐ＋ｏ２に変更される。
【００３９】
スクリーンコンテンツ画像の非可逆符号化では、パレット符号化とＳＡＯフィルタとを併用することで、符号化効率を改善することが可能である。しかしながら、ＨＥＶＣ規格のＳＡＯフィルタを適用すると、望ましくない画質の劣化が発生することがある。
【００４０】
パレット符号化において、非可逆符号化としてエスケープ符号化を使用する場合、量子化による画質の劣化は、エスケープ符号化された画素に対してのみ重畳される。一方、エスケープ符号化されていない画素の画素値には、量子化による劣化は発生しない。以下では、エスケープ符号化された画素を、エスケープ符号化画素と記し、エスケープ符号化されていない画素を、非エスケープ符号化画素と記すことがある。
【００４１】
ＳＡＯフィルタは、量子化による劣化を軽減するフィルタ処理であり、ＣＵ内のすべての画素に対して適用される。この場合、量子化による劣化が発生していない非エスケープ符号化画素に対してもＳＡＯフィルタが適用される。このため、不要なフィルタ処理によって非エスケープ符号化画素の画質が劣化し、符号化効率（圧縮効率）が低下する。
【００４２】
図３は、実施形態の映像符号化装置の機能構成例を示している。図３の映像符号化装置３０１は、パレット符号化部３１１、フィルタ部３１２、及び出力部３１３を含む。
【００４３】
図４は、図３の映像符号化装置３０１が行う映像符号化処理の例を示すフローチャートである。まず、パレット符号化部３１１は、符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、符号化対象ブロックのパレットに登録された第１画素値を、パレットを用いて符号化することで、第１画素値の符号化結果を生成する（ステップ４０１）。そして、パレット符号化部３１１は、第１画素値の符号化結果から第１局所復号結果を生成する（ステップ４０２）。
【００４４】
次に、パレット符号化部３１１は、パレットに登録されていない第２画素値を量子化することで、第２画素値の量子化結果を生成し（ステップ４０３）、第２画素値の量子化結果から第２局所復号結果を生成する（ステップ４０４）。
【００４５】
次に、フィルタ部３１２は、第２局所復号結果に対してフィルタ処理を適用し（ステップ４０５）、第１局所復号結果と、第２局所復号結果に対してフィルタ処理を適用した結果とを含む、符号化対象ブロックの局所復号画像を生成する（ステップ４０６）。そして、出力部３１３は、第１画素値の符号化結果と第２画素値の量子化結果とを含む符号化映像を出力する（ステップ４０７）。
【００４６】
このような映像符号化装置３０１によれば、映像符号化においてパレット符号化が行われる場合に、フィルタ処理による画質の劣化を抑止することができる。
【００４７】
図５は、実施形態の映像復号装置の機能構成例を示している。図５の映像復号装置５０１は、パレット復号部５１１、フィルタ部５１２、及び出力部５１３を含む。
【００４８】
図６は、図５の映像復号装置５０１が行う映像復号処理の例を示すフローチャートである。まず、パレット復号部５１１は、復号対象映像に含まれる復号対象ブロック内の第１画素の符号化結果を、復号対象ブロックのパレットを用いて復号することで、第１画素の第１画素値を復元する（ステップ６０１）。次に、パレット復号部５１１は、復号対象ブロック内の第２画素の量子化結果を逆量子化することで、第２画素の第２画素値を復元する（ステップ６０２）。
【００４９】
次に、フィルタ部５１２は、第２画素値に対してフィルタ処理を適用し（ステップ６０３）、第１画素値と、第２画素値に対してフィルタ処理を適用した結果とを含む、復号対象ブロックの復号画像を生成する（ステップ６０４）。そして、出力部５１３は、復号対象ブロックの復号画像を含む復号映像を出力する（ステップ６０５）。
【００５０】
このような映像復号装置５０１によれば、映像符号化においてパレット符号化が行われる場合に、フィルタ処理による画質の劣化を抑止することができる。
【００５１】
図７は、図３の映像符号化装置３０１の具体例を示している。図７の映像符号化装置３０１は、パレット符号化部３１１、出力部３１３、符号化モード決定部７０１、フレームメモリ７０２、予測符号化部７０３、デブロッキングフィルタ部７０４、及びＳＡＯフィルタ部７０５を含む。さらに、映像符号化装置３０１は、ＳＡＯフィルタ部７０６及びエントロピー符号化部７０７を含む。ＳＡＯフィルタ部７０６は、図３のフィルタ部３１２に対応する。
【００５２】
映像符号化装置３０１は、例えば、ハードウェア回路として実装することができる。この場合、映像符号化装置３０１の各構成要素を個別の回路として実装してもよく、１つの集積回路として実装してもよい。
【００５３】
映像符号化装置３０１は、入力される符号化対象映像を符号化し、符号化映像のビットストリームを出力する。符号化対象映像は、複数の時刻それぞれにおける複数の画像を含む。各画像は、カラー画像であってもよく、モノクロ画像であってもよい。画像がカラー画像である場合、画素値はＲＧＢ形式であってもよく、ＹＵＶ形式であってもよい。各画像は、フレーム又はピクチャと呼ばれることもある。
【００５４】
符号化対象映像に含まれる各画像は、ブロック毎に分割され、各ブロックが符号化対象ブロックとして、予測符号化部７０３及びパレット符号化部３１１に入力される。ＨＥＶＣの場合、各ブロックはＣＴＵ又はＣＵに対応する。
【００５５】
フレームメモリ７０２は、各ブロックの局所復号画像を記憶する記憶部であり、局所復号画像を符号化対象ブロックの参照画像として符号化モード決定部７０１へ出力する。符号化モード決定部７０１は、符号化対象映像とフレームメモリ７０２から出力される参照画像とを用いて、各ブロックのブロックサイズ及び符号化モードを決定する。各ブロックの符号化モードは、イントラ予測符号化、インター予測符号化、又はパレット符号化のいずれかである。
【００５６】
ブロックの符号化モードとしてイントラ予測符号化又はインター予測符号化を選択した場合、符号化モード決定部７０１は、ブロックサイズ、符号化モード、及び予測画素値を予測符号化部７０３へ出力する。予測画素値は、隣接ブロックの局所復号画素値又は参照画像の局所復号画素値から生成される。ブロックの符号化モードとしてパレット符号化を選択した場合、符号化モード決定部７０１は、ブロックサイズ及び符号化モードをパレット符号化部３１１へ出力する。
【００５７】
予測符号化部７０３は、符号化モードがイントラ予測符号化又はインター予測符号化である場合、符号化対象ブロックの予測符号化を行う。このとき、予測符号化部７０３は、符号化対象ブロック内の各画素の画素値から予測画素値を減算して、予測誤差を生成する。そして、予測符号化部７０３は、予測誤差を直交変換した後に量子化して、係数情報を生成する。直交変換としては、例えば、離散コサイン変換、離散ウェーブレット変換等が用いられる。
【００５８】
次に、予測符号化部７０３は、符号化モード（予測モード）等の予測符号化パラメータと係数情報とを、エントロピー符号化部７０７へ出力する。符号化モードがイントラ予測符号化である場合、予測符号化パラメータは、さらに予測方向を示す情報を含み、符号化モードがインター予測符号化である場合、予測符号化パラメータは、さらに動きベクトルを示す情報を含む。
【００５９】
また、予測符号化部７０３は、係数情報を逆量子化した後に逆直交変換して、再構成予測誤差を生成し、再構成予測誤差と予測画素値とを加算して、ポストフィルタ前の局所復号画素値を生成する。そして、予測符号化部７０３は、ポストフィルタ前の局所復号画素値をデブロッキングフィルタ部７０４へ出力する。
【００６０】
デブロッキングフィルタ部７０４は、ポストフィルタ前の局所復号画素値に対して、デブロッキングフィルタ処理を適用し、デブロッキングフィルタ処理の結果をＳＡＯフィルタ部７０５へ出力する。
【００６１】
ＳＡＯフィルタ部７０５は、デブロッキングフィルタ処理の結果に対して、ＳＡＯフィルタ処理を適用する。ＳＡＯフィルタ処理としては、例えば、ＨＥＶＣ規格で規定されているＳＡＯフィルタ処理を用いることができる。
【００６２】
まず、ＳＡＯフィルタ部７０５は、バンドオフセット、エッジオフセット、又はフィルタ非適用のいずれかのフィルタモードを選択する。そして、ＳＡＯフィルタ部７０５は、フィルタモードがバンドオフセットである場合、各レンジに対応するオフセット値を計算し、フィルタモードがエッジオフセットである場合、各カテゴリに対応するオフセット値を計算する。これらのオフセット値は、符号化前の画素値とＳＡＯフィルタ処理が適用された後の画素値との差分が最小になるように決定される。
【００６３】
次に、ＳＡＯフィルタ部７０５は、ブロック内の各画素の画素値に対して、選択したフィルタモードにおけるオフセット値を加算して、ポストフィルタ後の局所復号画素値を生成し、フレームメモリ７０２へ出力する。また、ＳＡＯフィルタ部７０５は、フィルタモード、オフセット値等を含むＳＡＯパラメータを、エントロピー符号化部７０７へ出力する。ＨＥＶＣの場合、ＳＡＯパラメータは、Largest Coding Unit（ＬＣＵ）単位で決定される。
【００６４】
フレームメモリ７０２は、符号化対象ブロック内の各画素の局所復号画素値を局所復号画像として蓄積する。この局所復号画像は、後続する画像に対する参照画像として用いられる。
【００６５】
パレット符号化部３１１は、符号化モードがパレット符号化である場合、符号化対象ブロックのパレット符号化を行う。まず、パレット符号化部３１１は、符号化対象ブロック内の各画素の画素値から、符号化対象ブロックのパレットを生成する。
【００６６】
次に、パレット符号化部３１１は、生成したパレットを参照して、符号化対象ブロック内の画素の画素値がパレットに登録されている場合、その画素値をパレット内の対応するインデックスに置き換える。一方、符号化対象ブロック内の画素の画素値がパレットに登録されていない場合、パレット符号化部３１１は、その画素値をエスケープ符号化を示すインデックスに置き換えるとともに、その画素値を量子化して量子化結果を生成する。
【００６７】
次に、パレット符号化部３１１は、符号化対象ブロックのパレット、各画素のインデックス、及びエスケープ符号化された画素の量子化結果を、エントロピー符号化部７０７へ出力する。そして、パレット符号化部３１１は、パレットの大きさ、エスケープ符号化の量子化スケール等を含むパレット符号化パラメータを、エントロピー符号化部７０７へ出力する。
【００６８】
また、パレット符号化部３１１は、各画素のポストフィルタ前の局所復号画素値を生成して、各画素のインデックス及び局所復号画素値をＳＡＯフィルタ部７０６へ出力する。
【００６９】
非エスケープ符号化画素の場合、パレット符号化部３１１は、パレット内において符号化結果のインデックスに対応する画素値を、ポストフィルタ前の局所復号画素値として用いる。この場合、局所復号画素値は、符号化前の画素値に一致する。一方、エスケープ符号化画素の場合、パレット符号化部３１１は、量子化結果を逆量子化して、ポストフィルタ前の局所復号画素値を生成する。この場合、局所復号画素値は、符号化前の画素値に必ずしも一致しない。
【００７０】
ＳＡＯフィルタ部７０６は、ポストフィルタ前の局所復号画素値に対して、ＳＡＯフィルタ処理を適用する。まず、ＳＡＯフィルタ部７０６は、符号化対象ブロック内のエスケープ符号化画素の局所復号画素値のみを用いて、バンドオフセット、エッジオフセット、又はフィルタ非適用のいずれかのフィルタモードを選択する。
【００７１】
そして、ＳＡＯフィルタ部７０６は、フィルタモードがバンドオフセットである場合、各レンジに対応するオフセット値を計算し、フィルタモードがエッジオフセットである場合、各カテゴリに対応するオフセット値を計算する。これらのオフセット値は、エスケープ符号化画素の符号化前の画素値とＳＡＯフィルタ処理が適用された後の画素値との差分が最小になるように決定される。
【００７２】
次に、ＳＡＯフィルタ部７０６は、ブロック内の各エスケープ符号化画素の局所復号画素値に対して、選択したフィルタモードにおけるオフセット値を加算して、ポストフィルタ後の局所復号画素値を生成し、フレームメモリ７０２へ出力する。また、ＳＡＯフィルタ部７０６は、ブロック内の各非エスケープ符号化画素の局所復号画素値を、ポストフィルタ後の局所復号画素値としてフレームメモリ７０２へ出力する。
【００７３】
そして、ＳＡＯフィルタ部７０６は、フィルタモード、オフセット値等を含むＳＡＯパラメータを、エントロピー符号化部７０７へ出力する。ＨＥＶＣの場合、ＳＡＯパラメータは、ＬＣＵ単位で決定される。
【００７４】
エントロピー符号化部７０７は、予測符号化部７０３、パレット符号化部３１１、ＳＡＯフィルタ部７０５、及びＳＡＯフィルタ部７０６から出力される情報に対してエントロピー符号化を行い、符号化映像のビットストリームを生成する。
【００７５】
エントロピー符号化される情報には、ピクチャタイプ等の画像単位の符号化パラメータ、画像中の各ＬＣＵのＳＡＯパラメータ、及び各ブロックの符号化モードが含まれる。エントロピー符号化される情報には、さらに、予測符号化パラメータ、係数情報、パレット符号化パラメータ、パレット、インデックス、及びエスケープ符号化画素の量子化結果が含まれる。エントロピー符号化では、情報中の各シンボルの出現頻度に応じて、可変長符号が割り当てられる。
【００７６】
出力部３１３は、エントロピー符号化部７０７が生成した符号化映像のビットストリームを、映像復号装置５０１へ出力する。
【００７７】
図８は、図７のＳＡＯフィルタ部７０６の機能構成例を示している。図８のＳＡＯフィルタ部７０６は、画素選択部８０１、バンドオフセット計算部８０２、エッジオフセット計算部８０３、画素フィルタ部８０４、及び合成部８０５を含む。画素選択部８０１には、エスケープ符号化画素及び非エスケープ符号化画素の局所復号画素値が混在する局所復号ブロックデータが入力される。
【００７８】
画素選択部８０１は、ブロック内の各画素のインデックスを参照し、インデックスがエスケープ符号化画素を示している場合、その画素の局所復号画素値をバンドオフセット計算部８０２、エッジオフセット計算部８０３、及び画素フィルタ部８０４へ出力する。一方、インデックスが非エスケープ符号化画素を示している場合、画素選択部８０１は、その画素の局所復号画素値を合成部８０５へ出力する。
【００７９】
バンドオフセット計算部８０２は、エスケープ符号化画素の局所復号画素値と符号化対象映像に含まれる原画像の画素値とを用いて、バンドオフセットのフィルタモードにおけるオフセット値及び符号化コストを計算する。符号化コストとしては、例えば、バンドオフセットのオフセット値の符号化データ量、及び局所復号画素値と原画像の画素値との差分を用いることができる。そして、バンドオフセット計算部８０２は、ブロック内の複数のエスケープ符号化画素に対するオフセット値のリストと符号化コストとを、画素フィルタ部８０４へ出力する。
【００８０】
また、バンドオフセット計算部８０２は、バンドオフセットのフィルタモードとオフセット値のリストとを含むＳＡＯパラメータを、エントロピー符号化部７０７へ出力する。
【００８１】
エッジオフセット計算部８０３は、エスケープ符号化画素の局所復号画素値と符号化対象映像に含まれる原画像の画素値とを用いて、エッジオフセットのフィルタモードにおけるオフセット値及び符号化コストを計算する。符号化コストとしては、例えば、エッジオフセットのオフセット値の符号化データ量、及び局所復号画素値と原画像の画素値との差分を用いることができる。そして、エッジオフセット計算部８０３は、ブロック内の複数のエスケープ符号化画素に対するオフセット値のリストと符号化コストとを、画素フィルタ部８０４へ出力する。
【００８２】
また、エッジオフセット計算部８０３は、エッジオフセットのフィルタモードとオフセット値のリストとを含むＳＡＯパラメータを、エントロピー符号化部７０７へ出力する。
【００８３】
画素フィルタ部８０４は、バンドオフセット及びエッジオフセットの２つのフィルタモードにおける符号化コストを比較して、符号化コストが小さい方のフィルタモードを選択する。そして、画素フィルタ部８０４は、選択したフィルタモードのオフセット値のリストを用いて、エスケープ符号化画素の局所復号画素値に対して、そのエスケープ符号化画素のオフセット値を加算し、加算結果の局所復号画素値を合成部８０５へ出力する。
【００８４】
合成部８０５は、ブロック内の非エスケープ符号化画素に対しては、画素選択部８０１から出力される局所復号画素値を出力し、エスケープ符号化画素に対しては、画素フィルタ部８０４から出力される局所復号画素値を出力する。これにより、フィルタ処理が適用された局所復号画素値とフィルタ処理が適用されていない局所復号画素値とが混在する局所復号ブロックデータが出力される。
【００８５】
図７の映像符号化装置３０１によれば、パレット符号化されたブロック内の画素のうち、エスケープ符号化画素のみに対してＳＡＯフィルタ処理が適用され、非エスケープ符号化画素に対してはＳＡＯフィルタ処理が適用されない。したがって、量子化による劣化が発生していない非エスケープ符号化画素の画質が損なわれないため、高画質の局所復号画像を生成することができる。さらに、高画質の局所復号画像を参照画像として用いて、後続する画像の予測符号化を行うことで、映像を効率良く符号化することができる。
【００８６】
図９は、図７の映像符号化装置３０１が行う映像符号化処理の具体例を示すフローチャートである。まず、符号化モード決定部７０１は、符号化対象映像に含まれる画像内の符号化対象ブロックのブロックサイズ及び符号化モードを決定する（ステップ９０１）。そして、予測符号化部７０３及びパレット符号化部３１１は、符号化モードがパレット符号化であるか否かを判定する（ステップ９０２）。
【００８７】
符号化モードがパレット符号化である場合（ステップ９０２，ＹＥＳ）、パレット符号化部３１１は、符号化対象ブロックのパレット符号化を行う（ステップ９０３）。次に、ＳＡＯフィルタ部７０６のバンドオフセット計算部８０２及びエッジオフセット計算部８０３は、符号化対象ブロック内のエスケープ符号化画素の局所復号画素値を用いて、オフセット値を計算する（ステップ９０４）。
【００８８】
次に、画素フィルタ部８０４は、フィルタモードを選択し、符号化対象ブロック内のエスケープ符号化画素に対して、選択したフィルタモードのＳＡＯフィルタ処理を適用する（ステップ９０５）。そして、エントロピー符号化部７０７は、符号化対象ブロックのパレット、各画素のインデックス、及びエスケープ符号化された画素の量子化結果、及びＳＡＯパラメータに対して、エントロピー符号化を行う。
【００８９】
一方、符号化モードがパレット符号化ではない場合（ステップ９０２，ＮＯ）、予測符号化部７０３は、符号化対象ブロックの予測符号化を行う（ステップ９０８）。次に、デブロッキングフィルタ部７０４は、符号化対象ブロック内の各画素の局所復号画素値に対して、デブロッキングフィルタ処理を適用する（ステップ９０９）。
【００９０】
次に、ＳＡＯフィルタ部７０５は、符号化対象ブロック内のすべての画素の局所復号画素値を用いて、オフセット値を計算する（ステップ９１０）。次に、ＳＡＯフィルタ部７０５は、フィルタモードを選択し、符号化対象ブロック内のすべての画素に対して、選択したフィルタモードのＳＡＯフィルタ処理を適用する（ステップ９１１）。そして、エントロピー符号化部７０７は、予測符号化パラメータ、係数情報、及びＳＡＯパラメータに対して、エントロピー符号化を行う。
【００９１】
次に、映像符号化装置３０１は、画像内のすべてのブロックを符号化したか否かをチェックする（ステップ９０６）。符号化されていないブロックが残っている場合（ステップ９０６，ＮＯ）、映像符号化装置３０１は、次のブロックについてステップ９０１以降の処理を繰り返す。
【００９２】
すべてのブロックを符号化した場合（ステップ９０６，ＹＥＳ）、映像符号化装置３０１は、符号化対象映像に含まれるすべての画像を符号化したか否かをチェックする（ステップ９０７）。符号化されていない画像が残っている場合（ステップ９０７，ＮＯ）、映像符号化装置３０１は、次の画像についてステップ９０１以降の処理を繰り返す。そして、すべての画像を符号化した場合（ステップ９０７，ＹＥＳ）、映像符号化装置３０１は、処理を終了する。
【００９３】
図１０は、図５の映像復号装置５０１の具体例を示している。図１０の映像復号装置５０１は、パレット復号部５１１、出力部５１３、エントロピー復号部１００１、予測復号部１００２、デブロッキングフィルタ部１００３、ＳＡＯフィルタ部１００４、ＳＡＯフィルタ部１００５、及びフレームメモリ１００６を含む。ＳＡＯフィルタ部１００５は、図５のフィルタ部５１２に対応する。
【００９４】
映像復号装置５０１は、例えば、ハードウェア回路として実装することができる。この場合、映像復号装置５０１の各構成要素を個別の回路として実装してもよく、１つの集積回路として実装してもよい。
【００９５】
図７の映像符号化装置３０１から出力される符号化映像のビットストリームは、復号対象映像のビットストリームとして映像復号装置５０１に入力される。映像復号装置５０１は、符号化映像のビットストリームを復号し、復号映像を出力する。
【００９６】
エントロピー復号部１００１は、符号化映像のビットストリームに対するエントロピー復号を行って、画像単位の符号化パラメータ、画像中の各ＬＣＵのＳＡＯパラメータ、各ブロックの符号化モードを抽出する。エントロピー復号部１００１は、さらに、予測符号化パラメータ、係数情報、パレット符号化パラメータ、パレット、インデックス、及びエスケープ符号化画素の量子化結果も抽出する。
【００９７】
エントロピー復号部１００１は、画像単位の符号化パラメータ及び各ブロックの符号化モードを、予測復号部１００２及びパレット復号部５１１へ出力し、ＳＡＯパラメータをＳＡＯフィルタ部１００４及びＳＡＯフィルタ部１００５へ出力する。また、エントロピー復号部１００１は、予測符号化パラメータ及び係数情報を予測復号部１００２へ出力し、パレット符号化パラメータ、パレット、インデックス、及びエスケープ符号化画素の量子化結果をパレット復号部５１１へ出力する。
【００９８】
フレームメモリ１００６は、各ブロックの復号画像を記憶する記憶部であり、復号画像を復号対象ブロックの参照画像として予測復号部１００２へ出力する。
【００９９】
予測復号部１００２は、符号化モードがイントラ予測符号化又はインター予測符号化である場合、復号対象ブロックの予測復号を行う。このとき、予測復号部１００２は、係数情報を逆量子化した後に逆直交変換して、再構成予測誤差を生成し、再構成予測誤差と予測画素値とを加算して、ポストフィルタ前の復号画素値を生成する。予測画素値は、隣接ブロックの復号画素値又は参照画像の復号画素値から生成される。そして、予測復号部１００２は、ポストフィルタ前の復号画素値をデブロッキングフィルタ部１００３へ出力する。
【０１００】
デブロッキングフィルタ部７０４は、ポストフィルタ前の復号画素値に対して、デブロッキングフィルタ処理を適用し、デブロッキングフィルタ処理の結果をＳＡＯフィルタ部１００４へ出力する。
【０１０１】
ＳＡＯフィルタ部１００４は、エントロピー復号部１００１から出力されるＳＡＯパラメータのフィルタモードがバンドオフセット又はエッジオフセットである場合、デブロッキングフィルタ処理の結果に対してＳＡＯフィルタ処理を適用する。ＳＡＯフィルタ部１００４は、ブロック内の各画素の画素値に対して、ＳＡＯパラメータのフィルタモードにおけるオフセット値を加算して、ポストフィルタ後の復号画素値を生成し、フレームメモリ１００６へ出力する。
【０１０２】
フレームメモリ１００６は、復号対象ブロック内の各画素の復号画素値を復号画像として蓄積するとともに、その表示タイミングに合わせて出力部５１３へ出力する。フレームメモリ１００６に蓄積された復号画像は、後続する画像に対する参照画像として用いられる。出力部５１３は、符号化映像に含まれる各時刻の画像内のすべてのブロックの復号画像を、復号映像の１枚の画面として、不図示の表示装置等へ出力する。
【０１０３】
パレット復号部５１１は、符号化モードがパレット符号化である場合、復号対象ブロックのパレット復号を行って、各画素のインデックスからポストフィルタ前の復号画素値を生成する。そして、パレット復号部５１１は、復号対象ブロック内の各画素のインデックス及び復号画素値を、ＳＡＯフィルタ部１００５へ出力する。
【０１０４】
インデックスに対応する画素値がパレットに登録されている場合、パレット復号部５１１は、その画素値をポストフィルタ前の復号画素値として用いる。一方、インデックスがエスケープ符号化を示している場合、パレット復号部５１１は、エスケープ符号化画素の量子化結果を逆量子化して、ポストフィルタ前の復号画素値を生成する。
【０１０５】
ＳＡＯフィルタ部１００５は、エントロピー復号部１００１から出力されるＳＡＯパラメータのフィルタモードがバンドオフセット又はエッジオフセットである場合、ポストフィルタ前の復号画素値に対してＳＡＯフィルタ処理を適用する。このとき、ＳＡＯフィルタ部１００５は、ブロック内の各エスケープ符号化画素の復号画素値に対して、ＳＡＯパラメータのフィルタモードにおけるオフセット値を加算して、ポストフィルタ後の復号画素値を生成し、フレームメモリ１００６へ出力する。
【０１０６】
図１１は、図１０のＳＡＯフィルタ部１００５の機能構成例を示している。図１１のＳＡＯフィルタ部１００５は、画素選択部１１０１、画素フィルタ部１１０２、及び合成部１１０３を含む。画素選択部１１０１には、エスケープ符号化画素及び非エスケープ符号化画素の復号画素値が混在する復号ブロックデータと、ＳＡＯパラメータとが入力される。
【０１０７】
画素選択部１１０１は、ブロック内の各画素のインデックスを参照し、インデックスがエスケープ符号化画素を示している場合、ＳＡＯパラメータのフィルタモード及びオフセット値のリストと、その画素の復号画素値とを、画素フィルタ部１１０２へ出力する。一方、インデックスが非エスケープ符号化画素を示している場合、画素選択部１１０１は、その画素の復号画素値を合成部１１０３へ出力する。
【０１０８】
画素フィルタ部１１０２は、フィルタモードに基づき、オフセット値のリストを用いて、エスケープ符号化画素の復号画素値に対して、そのエスケープ符号化画素のオフセット値を加算し、加算結果の復号画素値を合成部１１０３へ出力する。
【０１０９】
合成部１１０３は、ブロック内の非エスケープ符号化画素に対しては、画素選択部１１０１から出力される復号画素値を出力し、エスケープ符号化画素に対しては、画素フィルタ部１１０２から出力される復号画素値を出力する。これにより、フィルタ処理が適用された復号画素値とフィルタ処理が適用されていない復号画素値とが混在する復号ブロックデータが出力される。
【０１１０】
図１０の映像復号装置５０１によれば、パレット符号化されたブロック内の画素のうち、エスケープ符号化画素のみに対してＳＡＯフィルタ処理が適用され、非エスケープ符号化画素に対してはＳＡＯフィルタ処理が適用されない。したがって、量子化による劣化が発生していない非エスケープ符号化画素の画質が損なわれないため、高画質の復号画像を生成することができる。さらに、高画質の復号画像を参照画像として用いて、後続する画像の予測復号を行うことで、高画質の映像を復元することができる。
【０１１１】
図１２は、図１０の映像復号装置５０１が行う映像復号処理の具体例を示すフローチャートである。まず、予測復号部１００２及びパレット復号部５１１は、符号化映像に含まれる画像内の復号対象ブロックの符号化モードが、パレット符号化であるか否かを判定する（ステップ１２０１）。
【０１１２】
符号化モードがパレット符号化である場合（ステップ１２０１，ＹＥＳ）、パレット復号部５１１は、復号対象ブロックのパレット復号を行う（ステップ１２０２）。次に、ＳＡＯフィルタ部１００５の画素フィルタ部１１０２は、復号対象ブロック内のエスケープ符号化画素に対して、フィルタモードが示すＳＡＯフィルタ処理を適用する（ステップ１２０３）。そして、合成部１１０３は、ＳＡＯフィルタ処理が適用された復号画素値と非エスケープ符号化画素の復号画素値とを含む、復号対象ブロックの復号画像を出力する。
【０１１３】
一方、符号化モードがパレット符号化ではない場合（ステップ１２０１，ＮＯ）、予測復号部１００２は、復号対象ブロックの予測復号を行う（ステップ１２０６）。次に、デブロッキングフィルタ部１００３は、復号対象ブロック内の各画素の復号画素値に対して、デブロッキングフィルタ処理を適用する（ステップ１２０７）。次に、ＳＡＯフィルタ部１００４は、復号対象ブロック内のすべての画素に対して、フィルタモードが示すＳＡＯフィルタ処理を適用し、復号対象ブロックの復号画像を出力する（ステップ１２０８）。
【０１１４】
次に、映像復号装置５０１は、画像内のすべてのブロックを復号したか否かをチェックする（ステップ１２０４）。復号されていないブロックが残っている場合（ステップ１２０４，ＮＯ）、映像復号装置５０１は、次のブロックについてステップ１２０１以降の処理を繰り返す。
【０１１５】
すべてのブロックを復号した場合（ステップ１２０４，ＹＥＳ）、映像復号装置５０１は、符号化映像に含まれるすべての画像を復号したか否かをチェックする（ステップ１２０５）。復号されていない画像が残っている場合（ステップ１２０５，ＮＯ）、映像復号装置５０１は、次の画像についてステップ１２０１以降の処理を繰り返す。そして、すべての画像を復号した場合（ステップ１２０５，ＹＥＳ）、映像復号装置５０１は、処理を終了する。
【０１１６】
ＨＥＶＣ規格の場合、ＳＡＯパラメータは、映像符号化装置３０１から映像復号装置５０１へＬＣＵ単位（ＣＴＵ単位）で伝送される。しかし、パレット符号化されたＣＵとパレット符号化されていないＣＵとの間では、ＳＡＯフィルタ処理の対象となる画素が異なるため、これらのＣＵでは互いに異なるＳＡＯパラメータを用いた方が望ましい場合がある。そこで、符号化対象ＣＵがパレット符号化された場合、ＣＴＵのシンタックスに加えて、符号化対象ＣＵのシンタックスにもＳＡＯパラメータを付加することが考えられる。
【０１１７】
図１３は、ＣＴＵのシンタックスの例を示している。図１３のシンタックスは、ＨＥＶＣ規格と等価である。slice_sao_luma_flag又はslice_sao_chroma_flagが論理“１”である場合、すなわち、ＳＡＯフィルタ処理が有効である場合、ＳＡＯパラメータsao()がＬＣＵ単位で伝送される。
【０１１８】
図１４は、コーディング四分木（Coding Quadtree）のシンタックスの例を示している。図１４のシンタックスは、ＨＥＶＣ規格と等価である。四分木フラグsplit_cu_flagが論理“０”である場合、ＣＵデータcoding_unit()が出現する。
【０１１９】
図１５は、ＣＵのシンタックスの例を示している。図１５のシンタックスは、palette_coding()に続く２行を除き、ＨＥＶＣ規格と等価である。slice_sao_luma_flag又はslice_sao_chroma_flagが論理“１”である場合、すなわち、ＳＡＯフィルタ処理が有効である場合、新たに追加されたＳＡＯパラメータsao_cu()がＣＵ単位で伝送される。sao_cu()は、対応するＣＵのみに対して適用されるＳＡＯパラメータであり、ＬＣＵ単位のＳＡＯパラメータsao()は、そのＣＵに対しては無効となる。図１５のシンタックスを用いることで、ＳＡＯパラメータをＣＵ単位で伝送することが可能になる。
【０１２０】
映像符号化装置３０１及び映像復号装置５０１は、様々な用途に利用される。例えば、映像符号化装置３０１及び映像復号装置５０１を、映像送信装置、映像受信装置、テレビ電話システム、仮想デスクトップシステム、コンピュータ、又は携帯電話機に組み込むことも可能である。
【０１２１】
図３及び図７の映像符号化装置３０１の構成は一例に過ぎず、映像符号化装置３０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図７の映像符号化装置３０１において、ブロックの予測符号化を行わない場合、予測符号化部７０３、デブロッキングフィルタ部７０４、及びＳＡＯフィルタ部７０５を省略することができる。エントロピー符号化を行わない場合、エントロピー符号化部７０７を省略することができる。
【０１２２】
図５及び図１０の映像復号装置５０１の構成は一例に過ぎず、映像復号装置５０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図１０の映像復号装置５０１において、ブロックの予測復号を行わない場合、予測復号部１００２、デブロッキングフィルタ部１００３、及びＳＡＯフィルタ部１００４を省略することができる。エントロピー復号を行わない場合、エントロピー復号部１００１を省略することができる。
【０１２３】
図８のＳＡＯフィルタ部７０６の構成は一例に過ぎず、映像符号化装置３０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、バンドオフセットのフィルタモードを使用しない場合、バンドオフセット計算部８０２を省略することができ、エッジオフセットのフィルタモードを使用しない場合、エッジオフセット計算部８０３を省略することができる。
【０１２４】
図１１のＳＡＯフィルタ部１００５の構成は一例に過ぎず、映像復号装置５０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【０１２５】
図４、図６、図９、及び図１２に示したフローチャートは一例に過ぎず、映像符号化装置３０１及び映像復号装置５０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図９の映像符号化処理において、ブロックの予測符号化を行わない場合、ステップ９０８〜ステップ９１１の処理を省略することができる。図１２の映像復号処理において、ブロックの予測復号を行わない場合、ステップ１２０６〜ステップ１２０８の処理を省略することができる。
【０１２６】
図１のパレット符号化及び図２のフィルタ処理は一例に過ぎず、パレットのデータ構造、エッジオフセットのエッジ方向及びカテゴリ、バンドオフセットのレンジ等は、符号化対象映像に応じて変化する。図１３〜図１５のシンタックスは一例に過ぎず、動画像符号化標準に応じて別のシンタックスを用いてもよい。
【０１２７】
パレット符号化が適用される符号化対象映像は、スクリーンコンテンツ画像を含む映像に限定されるものではなく、画素値のバリエーションが少ない他の画像を含む映像であってもよい。
【０１２８】
図３及び図７の映像符号化装置３０１と図５及び図１０の映像復号装置５０１は、ハードウェア回路として実装することもでき、図１６に示すような情報処理装置（コンピュータ）を用いて実装することもできる。
【０１２９】
図１６の情報処理装置は、Central Processing Unit（ＣＰＵ）１６０１、メモリ１６０２、入力装置１６０３、出力装置１６０４、補助記憶装置１６０５、媒体駆動装置１６０６、及びネットワーク接続装置１６０７を備える。これらの構成要素はバス１６０８により互いに接続されている。
【０１３０】
メモリ１６０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを記憶する。メモリ１６０２は、図７のフレームメモリ７０２又は図１０のフレームメモリ１００６として用いることができる。
【０１３１】
ＣＰＵ１６０１（プロセッサ）は、例えば、メモリ１６０２を利用してプログラムを実行することにより、図３及び図７のパレット符号化部３１１、及び図３のフィルタ部３１２として動作する。ＣＰＵ１６０１は、プログラムを実行することにより、図７の符号化モード決定部７０１、予測符号化部７０３、デブロッキングフィルタ部７０４、ＳＡＯフィルタ部７０５、ＳＡＯフィルタ部７０６、及びエントロピー符号化部７０７としても動作する。
【０１３２】
ＣＰＵ１６０１は、プログラムを実行することにより、図８の画素選択部８０１、バンドオフセット計算部８０２、エッジオフセット計算部８０３、画素フィルタ部８０４、及び合成部８０５としても動作する。
【０１３３】
ＣＰＵ１６０１は、プログラムを実行することにより、図５及び図１０のパレット復号部５１１、及び図５のフィルタ部５１２として動作する。ＣＰＵ１６０１は、プログラムを実行することにより、図１０のエントロピー復号部１００１、予測復号部１００２、デブロッキングフィルタ部１００３、ＳＡＯフィルタ部１００４、及びＳＡＯフィルタ部１００５としても動作する。
【０１３４】
ＣＰＵ１６０１は、プログラムを実行することにより、図１１の画素選択部１１０１、画素フィルタ部１１０２、及び合成部１１０３としても動作する。
【０１３５】
入力装置１６０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置１６０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。処理結果は、復号映像であってもよい。
【０１３６】
補助記憶装置１６０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１６０５は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置１６０５にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。
【０１３７】
媒体駆動装置１６０６は、可搬型記録媒体１６０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１６０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１６０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、又はUniversal Serial Bus（ＵＳＢ）メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体１６０９にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。
【０１３８】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ１６０２、補助記憶装置１６０５、及び可搬型記録媒体１６０９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１３９】
ネットワーク接続装置１６０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置１６０７は、図３及び図７の出力部３１３として用いることができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１６０７を介して受け取り、それらをメモリ１６０２にロードして使用することもできる。
【０１４０】
なお、情報処理装置が図１６のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要の場合は、入力装置１６０３及び出力装置１６０４を省略してもよい。また、情報処理装置が可搬型記録媒体１６０９にアクセスしない場合は、媒体駆動装置１６０６を省略してもよい。
【０１４１】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１４２】
図２乃至図１６を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、前記符号化対象ブロックのパレットに登録された第１画素値を、前記パレットを用いて符号化することで、前記第１画素値の符号化結果を生成し、前記複数の画素値のうち前記パレットに登録されていない第２画素値を量子化することで、前記第２画素値の量子化結果を生成し、前記第１画素値の前記符号化結果から第１局所復号結果を生成し、前記第２画素値の前記量子化結果から第２局所復号結果を生成するパレット符号化部と、
前記第２局所復号結果に対してフィルタ処理を適用し、前記第１局所復号結果と、前記第２局所復号結果に対して前記フィルタ処理を適用した結果とを含む、前記符号化対象ブロックの局所復号画像を生成するフィルタ部と、
前記第１画素値の前記符号化結果と前記第２画素値の前記量子化結果とを含む符号化映像を出力する出力部と、
を備えることを特徴とする映像符号化装置。
（付記２）
前記符号化対象ブロックの前記局所復号画像を記憶する記憶部と、
前記局所復号画像を参照して、前記符号化対象映像に含まれるブロックの予測符号化を行う予測符号化部と、
をさらに備えることを特徴とする付記１記載の映像符号化装置。
（付記３）
前記フィルタ処理は、前記符号化対象ブロック内におけるエッジの歪みを補正する第１フィルタ処理、又は前記符号化対象ブロック内における階調の歪みを補正する第２フィルタ処理であることを特徴とする付記１又は２記載の映像符号化装置。
（付記４）
符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、前記符号化対象ブロックのパレットに登録された第１画素値を、前記パレットを用いて符号化することで、前記第１画素値の符号化結果を生成し、
前記第１画素値の前記符号化結果から第１局所復号結果を生成し、
前記複数の画素値のうち前記パレットに登録されていない第２画素値を量子化することで、前記第２画素値の量子化結果を生成し、
前記第２画素値の前記量子化結果から第２局所復号結果を生成し、
前記第２局所復号結果に対してフィルタ処理を適用し、
前記第１局所復号結果と、前記第２局所復号結果に対して前記フィルタ処理を適用した結果とを含む、前記符号化対象ブロックの局所復号画像を生成し、
前記第１画素値の前記符号化結果と前記第２画素値の前記量子化結果とを含む符号化映像を出力する、
処理をコンピュータに実行させる映像符号化プログラム。
（付記５）
前記コンピュータは、前記符号化対象ブロックの前記局所復号画像を参照して、前記符号化対象映像に含まれるブロックの予測符号化を行うことを特徴とする付記４記載の映像符号化プログラム。
（付記６）
映像符号化装置が、
符号化対象映像に含まれる符号化対象ブロック内の複数の画素値のうち、前記符号化対象ブロックのパレットに登録された第１画素値を、前記パレットを用いて符号化することで、前記第１画素値の符号化結果を生成し、
前記第１画素値の前記符号化結果から第１局所復号結果を生成し、
前記複数の画素値のうち前記パレットに登録されていない第２画素値を量子化することで、前記第２画素値の量子化結果を生成し、
前記第２画素値の前記量子化結果から第２局所復号結果を生成し、
前記第２局所復号結果に対してフィルタ処理を適用し、
前記第１局所復号結果と、前記第２局所復号結果に対して前記フィルタ処理を適用した結果とを含む、前記符号化対象ブロックの局所復号画像を生成し、
前記第１画素値の前記符号化結果と前記第２画素値の前記量子化結果とを含む符号化映像を出力する、
ことを特徴とする映像符号化方法。
（付記７）
前記映像符号化装置は、前記符号化対象ブロックの前記局所復号画像を参照して、前記符号化対象映像に含まれるブロックの予測符号化を行うことを特徴とする付記６記載の映像符号化方法。
（付記８）
復号対象映像に含まれる復号対象ブロック内の第１画素の符号化結果を、前記復号対象ブロックのパレットを用いて復号することで、前記第１画素の第１画素値を復元し、前記復号対象ブロック内の第２画素の量子化結果を逆量子化することで、前記第２画素の第２画素値を復元するパレット復号部と、
前記第２画素値に対してフィルタ処理を適用し、前記第１画素値と、前記第２画素値に対して前記フィルタ処理を適用した結果とを含む、前記復号対象ブロックの復号画像を生成するフィルタ部と、
前記復号対象ブロックの前記復号画像を含む復号映像を出力する出力部と、
を備えることを特徴とする映像復号装置。
（付記９）
前記復号対象ブロックの前記復号画像を記憶する記憶部と、
前記復号画像を参照して、前記復号対象映像に含まれるブロックの予測復号を行う予測復号部と、
をさらに備えることを特徴とする付記８記載の映像復号装置。
（付記１０）
前記フィルタ処理は、前記復号対象ブロック内におけるエッジの歪みを補正する第１フィルタ処理、又は前記復号対象ブロック内における階調の歪みを補正する第２フィルタ処理であることを特徴とする付記８又は９記載の映像復号装置。
（付記１１）
復号対象映像に含まれる復号対象ブロック内の第１画素の符号化結果を、前記復号対象ブロックのパレットを用いて復号することで、前記第１画素の第１画素値を復元し、
前記復号対象ブロック内の第２画素の量子化結果を逆量子化することで、前記第２画素の第２画素値を復元し、
前記第２画素値に対してフィルタ処理を適用し、
前記第１画素値と、前記第２画素値に対して前記フィルタ処理を適用した結果とを含む、前記復号対象ブロックの復号画像を生成し、
前記復号対象ブロックの前記復号画像を含む復号映像を出力する、
処理をコンピュータに実行させる映像復号プログラム。
（付記１２）
前記コンピュータは、前記復号対象ブロックの前記復号画像を参照して、前記復号対象映像に含まれるブロックの予測復号を行うことを特徴とする付記１１記載の映像復号プログラム。
（付記１３）
映像復号装置が、
復号対象映像に含まれる復号対象ブロック内の第１画素の符号化結果を、前記復号対象ブロックのパレットを用いて復号することで、前記第１画素の第１画素値を復元し、
前記復号対象ブロック内の第２画素の量子化結果を逆量子化することで、前記第２画素の第２画素値を復元し、
前記第２画素値に対してフィルタ処理を適用し、
前記第１画素値と、前記第２画素値に対して前記フィルタ処理を適用した結果とを含む、前記復号対象ブロックの復号画像を生成し、
前記復号対象ブロックの前記復号画像を含む復号映像を出力する、
ことを特徴とする映像復号方法。
（付記１４）
前記映像復号装置は、前記復号対象ブロックの前記復号画像を参照して、前記復号対象映像に含まれるブロックの予測復号を行うことを特徴とする付記１３記載の映像復号方法。
【符号の説明】
【０１４３】
１０１  画像
１０２  インデックスマップ
１０３  パレット
１１１  画素
２０１  処理対象ＣＵ
２０２、２０３  ＣＵ
２１１  処理対象画素
２１２、２１３  参照画素
３０１  映像符号化装置
３１１  パレット符号化部
３１２  フィルタ部
３１３  出力部
５０１  映像復号装置
５１１  パレット復号部
５１２  フィルタ部
５１３  出力部
７０１  符号化モード決定部
７０２、１００６  フレームメモリ
７０３  予測符号化部
７０４、１００３  デブロッキングフィルタ部
７０５、７０６、１００４、１００５  ＳＡＯフィルタ部
７０７  エントロピー符号化部
８０１、１１０１  画素選択部
８０２  バンドオフセット計算部
８０３  エッジオフセット計算部
８０４、１１０２  画素フィルタ部
８０５、１１０３  合成部
１００１  エントロピー復号部
１００２  予測復号部
１６０１  ＣＰＵ
１６０２  メモリ
１６０３  入力装置
１６０４  出力装置
１６０５  補助記憶装置
１６０６  媒体駆動装置
１６０７  ネットワーク接続装置
１６０８  バス
１６０９  可搬型記録媒体
【図１】
2018107534.tif 000003
【図２】
2018107534.tif 000004
【図３】
2018107534.tif 000005
【図４】
2018107534.tif 000006
【図５】
2018107534.tif 000007
【図６】
2018107534.tif 000008
【図７】
2018107534.tif 000009
【図８】
2018107534.tif 000010
【図９】
2018107534.tif 000011
【図１０】
2018107534.tif 000012
【図１１】
2018107534.tif 000013
【図１２】
2018107534.tif 000014
【図１３】
2018107534.tif 000015
【図１４】
2018107534.tif 000016
【図１５】
2018107534.tif 000017
【図１６】
2018107534.tif 000018