画像処理装置及び画像処理方法
【課題】LMモードでの色差成分の予測値の計算に際して、ノイズの影響を低減しながらメモリリソースをより効率的に使用することを可能とすること。
【解決手段】第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、を備え、前記フィルタは、1次元フィルタである、画像処理装置を提供する。
【解決手段】第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、を備え、前記フィルタは、1次元フィルタである、画像処理装置を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
デジタル画像のデータサイズを圧縮するための画像符号化方式において重要な技術の1つは、画面内予測、即ちイントラ予測である。イントラ予測は、画像内の隣り合うブロック間の相関を利用し、あるブロック内の画素値を隣り合う他のブロックの画素値から予測することで、符号化される情報量を削減する技術である。MPEG4以前の画像符号化方式では、直交変換係数の直流成分及び低周波成分のみがイントラ予測の対象とされていた。これに対し、H.264/AVC(Advanced Video Coding)では、全ての成分についてイントラ予測が可能となった。イントラ予測を用いることで、例えば青空の画像のように、画素値の変化の緩やかな画像については、圧縮率の大幅な向上が見込まれる。
【0003】
イントラ予測に際しては、通常、予測対象のブロックの画素値を予測するために最適な予測モードが、複数の予測モードから選択される。予測モードは、典型的には、参照画素から予測対象画素への予測方向によって区別され得る。例えば、H.264/AVCにおいて、色差成分の予測に際しては、平均値予測、水平予測、垂直予測及び平面予測という4つの予測モードが選択可能である。さらに、H.264/AVCに続く次世代の画像符号化方式として標準化が進められているHEVCでは、動的に構築される輝度成分の線型関数を予測関数として用いて色差成分の画素値を予測する、線型モデル(LM:Linear Model)モードと呼ばれる追加的な予測モードが採用される見込みである(下記非特許文献1参照)。
【0004】
画像の色差成分の密度は、クロマフォーマットが4:2:0の場合、輝度成分の密度よりも低い。そこで、下記非特許文献1に記載された手法では、ある色差成分の値をLMモードで予測する際、当該色差成分と共通する画素位置の2つの輝度成分の値をダウンサンプリングすることにより、予測関数へ代入される輝度成分の入力値が生成される。これに対し、下記非特許文献2は、ノイズの影響を低減して予測の精度を高めるために、色差成分と共通しない画素位置の輝度成分の値をも算入して、予測関数への輝度成分の入力値を3×2タップの2次元フィルタで生成することを提案している。下記非特許文献3は、LMモードの予測関数の係数を決定する際の左の隣接ブロックの参照画素のダウンサンプリングを、2タップではなく4タップのフィルタで行うことを提案している。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Jianle Chen, et al. “CE6.a.4: Chroma intra prediction by reconstructed luma samples”(JCTVC-E266,2011年3月)
【非特許文献2】Akira Minezawa, et al. “An improvement to chroma intra prediction from luma”(JCTVC-F173,2011年7月)
【非特許文献3】Yongbing Lin, et al. “Modifications to intra frame coding”(JCTVC-G119,2011年11月)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記非特許文献2により提案されている手法では、予測関数への1つの入力値を生成する際に参照される輝度成分が、複数の行及び複数の列にわたって存在する。そのため、LMモードでの色差成分の予測値の計算のために、複数のラインメモリに予測対象ブロックの輝度成分の値を一時的に記憶しておくことが求められる。一方で、HEVCにおいて、イントラ予測の前段に設けられる逆直交変換は、1次元の水平方向の変換処理と1次元の垂直方向の変換処理とを逐次的に実行する方式で実装されることが想定されている。
【0007】
従って、LMモードでの色差成分の予測値の計算において、単一のラインメモリに記憶される輝度成分の値のみを参照する方式とすれば、ライン単位での逐次処理を採用してメモリリソースをより効率的に使用することが可能となる。
【課題を解決するための手段】
【0008】
本開示によれば、第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、を備え、前記フィルタは、1次元フィルタである、画像処理装置が提供される。
【0009】
上述した画像処理装置は、画像符号化装置及び画像復号装置のいずれにも適用可能である。
【0010】
また、本開示によれば、第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値を1次元フィルタでフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成することと、前記1次元フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測することと、を含む画像処理方法が提供される。
【発明の効果】
【0011】
本開示に係る技術によれば、LMモードでの色差成分の予測値の計算に際して、ノイズの影響を低減しながら、メモリリソースをより効率的に使用することが可能となる。
【図面の簡単な説明】
【0012】
【図1】一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図2】一実施形態に係る画像符号化装置のイントラ予測部の詳細な構成の一例を示すブロック図である。
【図3】HEVCの角度イントラ予測法に従って選択可能な予測方向の候補について説明するための説明図である。
【図4】HEVCの角度イントラ予測法における参照画素値の計算について説明するための説明図である。
【図5】LMモードについて説明するための説明図である。
【図6A】LMモードにおける輝度成分のダウンサンプリングの既存の第1の手法について説明するための説明図である。
【図6B】LMモードにおける輝度成分のダウンサンプリングの既存の第2の手法について説明するための説明図である。
【図7】逆直交変換部における逐次的な逆直交変換の順序について説明するための説明図である。
【図8A】一実施形態に係る輝度成分のダウンサンプリングの第1の手法について説明するための説明図である。
【図8B】一実施形態に係る輝度成分のダウンサンプリングの第2の手法について説明するための説明図である。
【図9A】輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第1の例について説明するための説明図である。
【図9B】輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第2の例について説明するための説明図である。
【図10】一実施形態に係るイントラ予測処理の流れの一例を示すフローチャートである。
【図11】図10に示したLMモード予測処理の詳細な流れの一例を示すフローチャートである。
【図12A】図11に示したダウンサンプリング処理の詳細な流れの第1の例を示すフローチャートである。
【図12B】図11に示したダウンサンプリング処理の詳細な流れの第2の例を示すフローチャートである。
【図12C】図11に示したダウンサンプリング処理の詳細な流れの第3の例を示すフローチャートである。
【図13】一実施形態に係る画像復号装置の構成の一例を示すブロック図である。
【図14】一実施形態に係る画像復号装置のイントラ予測部の詳細な構成の一例を示すブロック図である。
【図15】一実施形態に係る復号時のイントラ予測処理の流れの一例を示すフローチャートである。
【図16】第1の変形例に係るイントラ予測部の詳細な構成の一例を示すブロック図である。
【図17】クロマフォーマットが4:2:2である場合のLMモードについて説明するための説明図である。
【図18】クロマフォーマットが4:4:4である場合のLMモードについて説明するための説明図である。
【図19】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図20】携帯電話機の概略的な構成の一例を示すブロック図である。
【図21】記録再生装置の概略的な構成の一例を示すブロック図である。
【図22】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【0013】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0014】
また、以下の順序で説明を行う。
1.一実施形態に係る画像符号化装置の構成例
2.一実施形態に係る符号化時の処理の流れ
3.一実施形態に係る画像復号装置の構成例
4.一実施形態に係る復号時の処理の流れ
5.変形例
6.応用例
7.まとめ
【0015】
<1.一実施形態に係る画像符号化装置の構成例>
[1−1.全体的な構成例]
図1は、一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26及び27、動き探索部30、並びにイントラ予測部40を備える。
【0016】
A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並び替えバッファ12へ出力する。
【0017】
並び替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並び替える。並び替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データを減算部13、動き探索部30及びイントラ予測部40へ出力する。
【0018】
減算部13には、並び替えバッファ12から入力される画像データ、及び後に説明する動き探索部30又はイントラ予測部40から入力される予測画像データが供給される。減算部13は、並び替えバッファ12から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
【0019】
直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。HEVCにおいて、直交変換部14による直交変換は、変換単位(Transform Unit:TU)ごとの2次元の離散コサイン変換(Discrete Cosine Transform:DCT)である。2次元のDCTは、実質的には、垂直方向の1次元のDCT及び水平方向の1次元のDCTのうち一方を先に、他方を後に逐次的に実行する手法で、ラインごとに行われ得る。本実施形態では、垂直方向の1次元のDCTが先に行われるものとする。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
【0020】
量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
【0021】
可逆符号化部16は、量子化部15から入力される量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、スイッチ27から入力されるイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ領域内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
【0022】
蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部(例えば、通信インタフェース又は周辺機器との接続インタフェースなど)へ出力する。
【0023】
レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
【0024】
逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
【0025】
逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。逆直交変換部22による逆直交変換は、TUごとの2次元の逆離散コサイン変換(Inverse Discrete Cosine Transform:IDCT)である。2次元のIDCTは、実質的には、垂直方向の1次元のIDCT及び水平方向の1次元のIDCTを、直交変換とは逆の順序で逐次的に実行する手法で、ラインごとに行われ得る。本実施形態では、水平方向の1次元のIDCTが先に行われるものとする。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
【0026】
加算部23は、逆直交変換部22から入力される復元された予測誤差データと動き探索部30又はイントラ予測部40から入力される予測画像データとを加算することにより、復号画像データを再構築(reconstruct)する。そして、加算部23は、再構築した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。また、加算部23は、LMモードでの色差成分の予測の際に用いられる輝度成分の復号画像データをイントラ予測部40へ出力する。
【0027】
デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
【0028】
フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
【0029】
セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部30に供給する。また、セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部40に供給する。
【0030】
セレクタ27は、インター予測モードにおいて、動き探索部30から出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16へ出力する。また、セレクタ27は、イントラ予測モードにおいて、イントラ予測部40から出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16へ出力する。セレクタ27は、インター予測モードとイントラ予測モードとを、動き探索部30及びイントラ予測部40から出力されるコスト関数値の大きさに応じて切り替える。
【0031】
動き探索部30は、並び替えバッファ12から入力される符号化対象の画像データ(原画像データ)、及びセレクタ26を介して供給される復号画像データに基づいて、インター予測処理(フレーム間予測処理)を行う。例えば、動き探索部30は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部30は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部30は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部30は、選択した最適な予測モードを表す予測モード情報、動きベクトル情報及び参照画像情報を含むインター予測に関する情報、コスト関数値、並びに予測画像データを、セレクタ27へ出力する。
【0032】
イントラ予測部40は、並び替えバッファ12から入力される原画像データ、及びフレームメモリ25から供給される参照画像データとしての復号画像データに基づいて、画像内に設定されるブロックごとにイントラ予測処理を行う。そして、イントラ予測部40は、最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、並びに予測画像データを、セレクタ27へ出力する。イントラ予測部40により選択可能な予測モードは、既存のイントラ予測モードに加えて、色差成分についての線型モデル(LM)モードを含む。本実施形態におけるLMモードは、上記非特許文献2に記載されているLMモードとは異なり、輝度成分のダウンサンプリングに際して1次元フィルタを用いるという特徴を有する。このようなイントラ予測部40によるイントラ予測処理について、後により詳細に説明する。
【0033】
[1−2.イントラ予測部の構成例]
図2は、図1に示した画像符号化装置10のイントラ予測部40の詳細な構成の一例を示すブロック図である。図2を参照すると、イントラ予測部40は、予測制御部41、係数算出部42、輝度成分メモリ43、フィルタ44、予測部45及びモード判定部46を有する。
【0034】
予測制御部41は、イントラ予測部40におけるイントラ予測処理を制御する。例えば、予測制御部41は、符号化単位(Coding Unit:CU)ごとに、輝度成分(Y)についてのイントラ予測処理及び色差成分(Cb、Cr)についてのイントラ予測処理を実行する。輝度成分についてのイントラ予測処理において、予測制御部41は、複数の予測モードで予測部45に各画素の予測画素値を生成させ、モード判定部46に輝度成分の最適な予測モードを判定させる。CU内の予測単位(Prediction Unit:PU)の配置も決定される。色差成分についてのイントラ予測処理では、予測制御部41は、複数の予測モードで予測部45に各画素の予測画素値を生成させ、モード判定部46に色差成分の最適な予測モードを判定させる。
【0035】
輝度成分についての予測モードの候補は、様々な予測方向に関連付けられる予測モードを含み得る。HEVCでは、“Description of video coding technology proposal by Tandberg, Nokia, Ericsson”(Kemal Ugur, et al.,JCTVC-A119,2010年4月)において説明されている角度イントラ予測(Angular Intra Prediction)法が採用される。図3は、角度イントラ予測法に従って選択可能な予測方向の候補について説明するための説明図である。図3に示した画素P1は、予測対象画素である。画素P1が属するブロックの周囲の網掛けされた画素は、参照画素である。ブロックサイズが4×4画素である場合には、図中で実線(太線及び細線の双方)で示された、参照画素と予測対象画素とを結ぶ17種類の予測方向(に対応する予測モード)が、(DC予測に加えて)選択可能である。ブロックサイズが8×8画素、16×16画素又は32×32画素である場合には、図中で点線並びに実線(太線及び細線の双方)で示された33種類の予測方向(に対応する予測モード)が、(DC予測及び平面予測に加えて)選択可能である。ブロックサイズが64×64画素である場合には、図中で太線で示された2種類の予測方向(に対応する予測モード)が、(DC予測に加えて)選択可能である。なお、角度イントラ予測法では、予測方向の角度の分解能が高く、例えば8×8画素の場合の隣り合う予測方向の間の角度の差は、180度/32=5.625度である。従って、参照画素値として、図4に示すような1/8画素精度の参照画素値が計算され、予測画素値の計算のために使用され得る。
【0036】
色差成分についての予測モードの候補もまた、様々な予測方向に関連付けられる予測モードを含み得る。さらに、色差成分についての予測モードの候補は、上述したLMモードを含む。LMモードは、動的に構築される輝度成分の線型関数を予測関数として用いて色差成分の画素値を予測する予測モードである。LMモードにおいて使用される予測関数は、上記非特許文献1に記載されている次のような線型一次関数であってよい:
【0037】
【数1】
【0038】
式(1)において、ReL´(x,y)は、復号画像(いわゆるリコンストラクト画像)の輝度成分のダウンサンプリング後の値を表す。輝度成分のダウンサンプリングは、クロマフォーマットに依存して色差成分の密度が輝度成分の密度と異なる場合に行われ得る。
【0039】
例えば、図5を参照すると、クロマフォーマットが4:2:0である場合の、16×16画素のサイズを有する1つのPU内の輝度成分(Luma)及び対応する色差成分(Chroma)が、丸印で概念的に示されている。輝度成分の密度は、水平方向及び垂直方向の各々について色差成分の密度の2倍である。PUの周囲に位置し、図中で塗りつぶされている丸印は、上記予測関数の係数α、βを算出する際に参照される参照画素を示す。図中右において斜線で網掛けされている丸印は、ダウンサンプリングされた輝度成分を示す。このようにダウンサンプリングされた輝度成分の値を上記予測関数の右辺のReL´(x,y)に代入することにより、共通する画素位置の色差成分の予測値が算出される。また、参照画素も同様にダウンサンプリングされ得る。
【0040】
クロマフォーマットが4:2:0である場合、図5の例のように、2×2個の輝度成分ごとに1つの輝度成分の入力値(予測関数へ代入される値)がダウンサンプリングにより生成される。上記非特許文献2によれば、ダウンサンプリングは、個々の色差成分と共通する画素位置の1つ以上の輝度成分と、当該色差成分とは共通しない画素位置の1つ以上の輝度成分とを含むフィルタタップの値を2次元フィルタを用いてフィルタリングすることにより行われる。ここで、ある色差成分と「共通する」画素位置の輝度成分とは、クロマフォーマットが4:2:0である場合、色差成分の画素位置(x,y)に対する輝度成分の画素位置(2x,2y)、(2x+1,2y)、(2x,2y+1)及び(2x+1,2y+1)を含むものとする。
【0041】
図6Aは、上記非特許文献2に記載されているダウンサンプリングの既存の第1の手法について説明するための説明図である。図6Aの左上には、画素位置(1,1)の色差成分Cr1,1が示されている。色差成分Cr1,1の予測値は、輝度成分の入力値IL1,1を予測関数に代入することにより算出される。輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu2,2,Lu3,2,Lu2,3,Lu3,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu1,2,Lu1,3を含む3×2のフィルタタップの値をフィルタリングすることにより生成され得る。図中のフィルタタップの丸印の中に示されている数字は、各フィルタタップに乗算されるフィルタ係数である。このように、個々の色差成分と共通する画素位置の周囲の輝度成分をもダウンサンプリングの際のフィルタタップに含めることで、輝度成分のノイズの影響が低減され、LMモードでのイントラ予測の精度が高められる。
【0042】
図6Bは、ダウンサンプリングの既存の第2の手法について説明するための説明図である。第2の手法では、輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu3,2,Lu3,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu1,2,Lu1,3を含む2×2のフィルタタップの値をフィルタリングすることにより生成され得る。フィルタ係数は、図中に示した通りである。
【0043】
ところで、上述したように、逆直交変換部22は、各ブロックについて、水平方向の1次元のIDCTを先に、垂直方向の1次元のIDCTを後にして、ラインごとに逆直交変換を実行する。例えば、図7に示した8×8画素のブロックについて、逆直交変換部22は、水平方向のラインR0〜R7について順に1次元のIDCTを実行した後、垂直方向のラインC0〜C7について順に1次元のIDCTを実行する。従って、復号画像データは、垂直方向のライン単位で加算部23を介してイントラ予測部40へ入力される。従って、図6A及び図6Bを用いて説明したような2次元フィルタを用いる手法では、複数のラインにわたって輝度成分の復号画像データ(リコンストラクト画素値)をメモリに記憶しておくことが求められる。しかし、色差成分のイントラ予測に際して、LMモード以外の予測モードでは輝度成分の値は参照されない。従って、LMモードだけのためにラインメモリを多く消費することは、メモリリソースの効率的な活用の観点で望ましくない。そこで、本実施形態では、LMモードでの輝度成分の入力値を生成する際のダウンサンプリングを、1次元フィルタを用いて行う。
【0044】
図8Aは、本実施形態に係る輝度成分のダウンサンプリングの第1の手法について説明するための説明図である。図8Aの左上には、画素位置(1,1)の色差成分Cr1,1が示されている。色差成分Cr1,1の予測値は、輝度成分の入力値IL1,1を予測関数に代入することにより算出される。輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu2,2,Lu2,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu2,1,Lu2,4を含む4個のフィルタタップの値を1次元フィルタでフィルタリングすることにより生成され得る。図中のフィルタタップの丸印の中に示されている数字は、各フィルタタップに乗算されるフィルタ係数である。
【0045】
図8Bは、本実施形態に係る輝度成分のダウンサンプリングの第2の手法について説明するための説明図である。図8Bの例では、フィルタタップは、6個に拡張されている。輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu2,2,Lu2,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu2,0,Lu2,1,Lu2,4,Lu2,5を含む6個のフィルタタップの値を1次元フィルタでフィルタリングすることにより生成され得る。
【0046】
このように、輝度成分の入力値を1次元フィルタを用いて生成する構成を採用することで、1ライン分以下の輝度成分の復号画像データのみをメモリに記憶しておくのみでLMモードでの色差成分のイントラ予測が可能となる。なお、1次元フィルタのタップ数及びフィルタ係数の組合せは、図8A及び図8Bに示した例に限定されず、他のいかなる組合せであってもよい。
【0047】
図2に戻り、イントラ予測部40の構成の説明を継続する。
【0048】
係数算出部42、輝度成分メモリ43及びフィルタ44は、上述したような1次元フィルタを用いたLMモードの実現のために設けられる。
【0049】
係数算出部42は、LMモードにおいて予測部45により使用される予測関数の係数を、予測対象の画素が属するPUの周辺の画素、即ち参照画素を参照して算出する。式(1)に示した予測関数の係数αは、次の式(2)に従って算出される。また、係数βは、次の式(3)に従って算出される。
【0050】
【数2】
【0051】
式(2)及び式(3)において、Iは参照画素数を表す。例えば、色差成分のブロックサイズが8×8画素であって、左の8つの参照画素及び上の8つの参照画素が共に利用可能であれば、I=8+8=16である。
【0052】
輝度成分メモリ43には、予測誤差データを用いて再構築される輝度成分の値を含む復号画像データが、ライン単位で加算部23から入力される。ここでのラインは、逆直交変換部22において水平方向及び垂直方向のIDCTのうち後に実行される方向に沿ったラインであり、本実施形態ではブロックの列に相当する。輝度成分メモリ43は、かかるライン単位の輝度成分の復号画像データを一時的に記憶する。
【0053】
フィルタ44は、予測制御部41による制御の下、輝度成分メモリ43から図8A又は図8Bに例示したようなフィルタタップを抽出する。そして、フィルタ44は、抽出したフィルタタップの値をフィルタリングすることにより、色差成分の値を予測するための予測関数への入力値(例えば、図8A及び図8Bに例示した入力値IL1,1)を生成する。フィルタ44は、このように各画素位置(x,y)の入力値を順次生成し、生成した入力値を予測部45へ出力する。
【0054】
予測制御部41は、各色差成分と共通する画素位置の輝度成分について最適な予測モードとして選択されたイントラ予測の予測方向に応じて、フィルタ44のフィルタタップ数を切り替えてもよい。より具体的には、第1の例において、予測制御部41は、上記予測方向とフィルタタップに沿った方向(以下、タップ方向という)との間の角度がより小さい場合に、フィルタタップ数をより大きい数に設定し得る。また、第2の例において、予測制御部41は、上記予測方向がタップ方向に重なる場合にはフィルタタップ数を第1の数に設定し、上記予測方向がタップ方向に重ならない場合にはフィルタタップ数を第1の数よりも小さい第2の数に設定し得る。
【0055】
図9Aは、輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第1の例について説明するための説明図である。ここでは、フィルタタップ数を切り替えるための角度閾値として、閾値Th1=45[度]が定義されているものとする。図9Aを参照すると、画素P1についての7種類の予測方向D1〜D7が例示されている。予測方向D2、D5及びD6の水平方向に対してなす角度は、45度であり、閾値Th1に等しい。予測方向D1及びD7の水平方向に対してなす角度は、閾値Th1を上回る。予測方向D3及びD4の水平方向に対してなす角度は、閾値Th1を下回る。この場合、例えば、予測制御部41は、予測方向D1、D2、D5、D6及びD7についてはフィルタタップ数を6個(又は4個)、予測方向D3及びD4についてはフィルタタップ数を4個(又は2個)に設定し得る。なお、ここでは、2種類のフィルタタップ数の候補の間でフィルタタップ数が切り替えられる例を説明した。しかしながら、かかる例に限定されず、2つ以上の角度閾値を用いて3種類以上のフィルタップ数の候補の間でフィルタタップ数が切り替えられてもよい。例えば、2つの角度閾値Th1=45[度]、Th2=67.5[度]を用いて、2個、4個及び6個の間でフィルタタップ数が切り替えられてもよい。
【0056】
図9Bは、輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第2の例について説明するための説明図である。ここでは、予測方向の水平方向に対してなす角度が90[度]であるか否かに応じて、フィルタタップ数が切り替えられるものとする。図9Bを参照すると、画素P1についての3種類の予測方向D0〜D2が例示されている。予測方向D0の水平方向に対してなす角度は90度である。この場合、予測制御部41は、画素P1のためのフィルタ44のフィルタタップ数を6個(又は4個)に設定し得る。一方、予測方向D1及びD2のように、上記角度が90度でない場合には、予測制御部41は、画素P1のためのフィルタ44のフィルタタップ数を4個(又は2個)に設定し得る。
【0057】
このような適応的なフィルタタップ数の切り替えによって、タップ方向に沿った画像の相関が強い場合にはタップ長を長くし、タップ方向に沿った画像の相関が弱い場合にはタップ長を短くすることができる。それにより、LMモードの予測関数への入力値を画像の相関に応じて変化させてノイズに対するロバスト性を高めることで、予測の精度を高めることができる。
【0058】
なお、フィルタ44のフィルタ係数は、動き探索部30における動き補償において使用される補間フィルタと同じフィルタ係数であってもよい。そのようにフィルタ係数を共通化させることで、フィルタ係数を記憶するために要するメモリリソースの量を削減することができる。
【0059】
予測部45は、予測制御部41による制御の下、予測対象の画素の輝度成分の画素値及び色差成分の画素値を、様々な予測モードの候補に従って予測する。輝度成分の予測モードの候補は、上述した角度イントラ予測法における様々な予測方向に関連付けられる予測モードを含み得る。色差成分の予測モードの候補は、上述したLMモードを含む。LMモードにおいて、予測部45は、フィルタ44により生成される輝度成分の入力値を、係数算出部42により算出される係数を有する予測関数に代入することにより、各色差成分の値を予測する。他の予測モードにおける予測部45によるイントラ予測は、既存の手法と同様に行われてよい。予測部45は、予測モードごとに、予測の結果として生成される予測画像データをモード判定部46へ出力する。
【0060】
モード判定部46は、並び替えバッファ12から入力される原画像データと予測部45から入力される予測画像データとに基づいて、各予測モードのコスト関数値を算出する。そして、モード判定部46は、算出したコスト関数値に基づき、各色成分についての最適な予測モードを決定する。そして、モード判定部46は、決定した最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、並びに各色成分の予測画素値を含む予測画像データを、セレクタ27へ出力する。
【0061】
<2.一実施形態に係る符号化時の処理の流れ>
次に、図10〜図12を用いて、符号化時の処理の流れを説明する。
【0062】
[2−1.イントラ予測処理]
図10は、図2に例示した構成を有するイントラ予測部40による符号化時のイントラ予測処理の流れの一例を示すフローチャートである。図10に示したイントラ予測処理は、画像内の各ブロックを処理対象として実行される。
【0063】
まず、予測制御部41は、処理対象の色成分が輝度成分であるか否かを判定する(ステップS110)。ここで、処理対象の色成分が輝度成分である場合には、処理はステップS120へ進む。一方、処理対象の色成分が色差成分である場合には、処理はステップS150へ進む。
【0064】
ステップS120において、予測制御部41は、複数の予測モードの候補に従って予測部45に輝度成分の予測画素値を生成させ、モード判定部46に輝度成分の最適な予測モードを判定させる(ステップS120)。その結果、各PUについての輝度成分の最適な予測モードが決定され、予測画像データが生成される。次に、予測制御部41は、輝度成分の予測画像データと逆直交変換部22から出力される予測誤差データとの和である復号画像データを、ライン単位で輝度成分メモリ43に記憶させる(ステップS130)。
【0065】
このように輝度成分についてのイントラ予測が終了した後、同じブロックの色差成分についてのイントラ予測が行われる。
【0066】
ステップS150において、予測制御部41は、予測モードの候補の1つであるLMモードでの予測処理を予測部45に実行させる(ステップS150)。ここでの予測部45によるLMモード予測処理について、後にさらに説明する。次に、予測制御部41は、LMモード以外の複数の予測モードの候補に従って予測部45に色差成分の予測画素値を生成させる(ステップS170)。そして、予測制御部41は、モード判定部46に色差成分の最適な予測モードを判定させる(ステップS180)。その結果、各PUについての色差成分の最適な予測モードが決定される。
【0067】
そして、処理対象ブロックの全ての色成分についてイントラ予測が行われると、図10に示したイントラ予測処理は終了する(ステップS190)。
【0068】
[2−2.LMモード予測処理]
図11は、図10に示したLMモード予測処理の詳細な流れの一例を示すフローチャートである。図11に示したLMモード予測処理は、各ブロック内のラインごとに実行される。
【0069】
図11を参照すると、まず、係数算出部42は、LMモードにおいて予測部45により使用される予測関数の係数α、βを、フレームメモリ25から入力される参照画像データに含まれる参照画素の値に基づいて算出する(ステップS151)。
【0070】
また、フィルタ44は、輝度成分メモリ43により記憶されている複数の輝度成分の値を用いてダウンサンプリング処理を実行し、予測関数への入力値を生成する(ステップS152)。ここでのフィルタ44によるダウンサンプリング処理について、後にさらに説明する。
【0071】
次に、予測部45は、ダウンサンプリング処理の結果として生成された輝度成分の入力値を、係数算出部42により算出された係数を有する予測関数に代入することにより、各色差成分の予測値を生成する(ステップS153)。
【0072】
これらステップS151〜S153の処理は、処理対象のライン内の全ての画素について予測が終了するまで繰り返され得る(ステップS154)。
【0073】
[2−3.ダウンサンプリング処理]
図12Aは、図11に示したダウンサンプリング処理の詳細な流れの第1の例を示すフローチャートである。第1の例では、フィルタタップ数は固定的に設定される。
【0074】
図12Aを参照すると、まず、フィルタ44は、輝度成分メモリ43から、図8A又は図8Bに例示したような1次元フィルタのフィルタタップを抽出する(ステップS161)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS162)。
【0075】
図12Bは、図11に示したダウンサンプリング処理の詳細な流れの第2の例を示すフローチャートである。第2の例では、フィルタタップ数は、2つの値の間で適応的に切り替えられる。
【0076】
図12Bを参照すると、まず、予測制御部41は、処理対象の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向の水平方向に対してなす角度を、所定の閾値と比較する(ステップS160)。ここで、例えば、上記角度が閾値以上である場合には、処理はステップS161へ進む。一方、上記角度が閾値を下回る場合には、処理はステップS164へ進む。
【0077】
ステップS161において、フィルタ44は、輝度成分メモリ43から、タップ数N1の1次元フィルタのフィルタタップを抽出する(ステップS161)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS162)。
【0078】
ステップS164において、フィルタ44は、輝度成分メモリ43から、タップ数N2(N2<N1)の1次元フィルタのフィルタタップを抽出する(ステップS164)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS165)。
【0079】
図12Cは、図11に示したダウンサンプリング処理の詳細な流れの第3の例を示すフローチャートである。第3の例では、フィルタタップ数は、3つの値の間で適応的に切り替えられる。
【0080】
図12Cを参照すると、まず、予測制御部41は、処理対象の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向の水平方向に対してなす角度を、第1の閾値Th1と比較する(ステップS160)。ここで、例えば、上記角度が第1の閾値Th1以上である場合には、処理はステップS161へ進む。一方、上記角度が第1の閾値Th1を下回る場合には、処理はステップS163へ進む。
【0081】
ステップS161において、フィルタ44は、輝度成分メモリ43から、タップ数N1の1次元フィルタのフィルタタップを抽出する(ステップS161)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS162)。
【0082】
ステップS163において、予測制御部41は、上記角度を、第2の閾値Th2(Th2<Th1)とさらに比較する(ステップS163)。ここで、例えば、上記角度が第2の閾値Th2以上である場合には、処理はステップS164へ進む。一方、上記角度が第2の閾値Th2を下回る場合には、処理はステップS166へ進む。
【0083】
ステップS164において、フィルタ44は、輝度成分メモリ43から、タップ数N2(N2<N1)の1次元フィルタのフィルタタップを抽出する(ステップS164)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS165)。
【0084】
ステップS166において、フィルタ44は、輝度成分メモリ43から、タップ数N3(N3<N2)の1次元フィルタのフィルタタップを抽出する(ステップS166)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS167)。
【0085】
本節で説明したような符号化時の処理によって、LMモードの導入のために設けられる輝度成分メモリ43のメモリサイズを減少させ、画像符号化装置10のメモリリソースを効率的に利用することが可能となる。このようなメモリリソースの節約は、次節以降で説明する画像復号装置60においても達成される。
【0086】
<3.一実施形態に係る画像復号装置の構成例>
図13は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図13を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並び替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、動き補償部80、並びにイントラ予測部90を備える。
【0087】
蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
【0088】
可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、上述したインター予測に関する情報及びイントラ予測に関する情報を含み得る。可逆復号部62は、インター予測に関する情報を動き補償部80へ出力する。また、可逆復号部62は、イントラ予測に関する情報をイントラ予測部90へ出力する。
【0089】
逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを復元する。逆直交変換部64による逆直交変換は、TUごとの2次元のIDCTである。2次元のIDCTは、実質的には、垂直方向の1次元のIDCT及び水平方向の1次元のIDCTを、直交変換とは逆の順序で逐次的に実行する手法で、ラインごとに行われ得る。本実施形態では、水平方向の1次元のIDCTが先に行われるものとする。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
【0090】
加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを再構築する。そして、加算部65は、再構築した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。また、加算部65は、LMモードでの色差成分の予測の際に用いられる輝度成分の復号画像データをイントラ予測部90へ出力する。
【0091】
デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並び替えバッファ67及びフレームメモリ69へ出力する。
【0092】
並び替えバッファ67は、デブロックフィルタ66から入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
【0093】
D/A変換部68は、並び替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
【0094】
フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
【0095】
セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部80へ出力する。また、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部90へ出力する。
【0096】
セレクタ71は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ71は、インター予測モードが指定された場合には、動き補償部80から出力される予測画像データを加算部65へ供給する。また、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部90から出力される予測画像データを加算部65へ供給する。
【0097】
動き補償部80は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部80は、生成した予測画像データをセレクタ71へ出力する。
【0098】
イントラ予測部90は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてイントラ予測処理を行い、予測画像データを生成する。そして、イントラ予測部90は、生成した予測画像データをセレクタ71へ出力する。このようなイントラ予測部90によるイントラ予測処理について、後により詳細に説明する。
【0099】
[3−2.イントラ予測部の構成例]
図14は、図13に示した画像復号装置60のイントラ予測部90の詳細な構成の一例を示すブロック図である。図14を参照すると、イントラ予測部90は、予測制御部91、係数算出部92、輝度成分メモリ93、フィルタ94及び予測部95を有する。
【0100】
予測制御部91は、可逆復号部62から入力されるイントラ予測に関する情報に従って、イントラ予測部90におけるイントラ予測処理を制御する。例えば、予測制御部91は、CUごとに、輝度成分(Y)についてのイントラ予測処理及び色差成分(Cb、Cr)についてのイントラ予測処理を実行する。輝度成分についてのイントラ予測処理において、予測制御部91は、指定される輝度成分の予測モードに従って、予測部95に各輝度成分の予測画素値を生成させる。輝度成分についての予測モードは、図3を用いて説明した角度イントラ予測法における様々な予測方向に関連付けられる予測モードのいずれかであってよい。また、予測制御部91は、指定される色差成分の予測モードに従って、予測部95に各色差成分の予測画素値を生成させる。色差成分についての予測モードの候補は、上述したLMモードを含む。
【0101】
係数算出部92、輝度成分メモリ93及びフィルタ94は、上述したような1次元フィルタを用いたLMモードの実現のために設けられる。
【0102】
係数算出部92は、予測対象の画素が属するPUの周辺の参照画素を参照して、LMモードにおいて予測部95により使用される予測関数の係数α、βを、上述した式(2)及び式(3)に従って算出する。
【0103】
輝度成分メモリ93には、予測誤差データを用いて再構築される輝度成分の値を含む復号画像データが、ライン単位で加算部65から入力される。ここでのラインは、逆直交変換部22において水平方向及び垂直方向のIDCTのうち後に実行される方向に沿ったラインであり、本実施形態ではブロックの列に相当する。輝度成分メモリ93は、かかるライン単位の輝度成分の復号画像データを一時的に記憶する。
【0104】
フィルタ94は、予測制御部91による制御の下、輝度成分メモリ93から図8A又は図8Bに例示したようなフィルタタップを抽出する。そして、フィルタ94は、抽出したフィルタタップの値をフィルタリングすることにより、色差成分の値を予測するための予測関数への入力値を生成し、生成した入力値を予測部95へ出力する。
【0105】
予測制御部91は、各色差成分と共通する画素位置の輝度成分について指定された予測モードにより示される予測方向に応じて、フィルタ94のフィルタタップ数を切り替えてもよい。より具体的には、第1の例において、予測制御部91は、上記予測方向とタップ方向との間の角度がより小さい場合に、フィルタタップ数をより大きい数に設定し得る。また、第2の例において、予測制御部91は、上記予測方向がタップ方向に重なる場合にはフィルタタップ数を第1の数に設定し、上記予測方向がタップ方向に重ならない場合にはフィルタタップ数を第1の数よりも小さい第2の数に設定し得る。それにより、タップ方向に沿った画像の相関が強い場合にはタップ長を長くし、タップ方向に沿った画像の相関が弱い場合にはタップ長を短くすることができる。なお、フィルタ94のフィルタ係数は、動き補償部80における動き補償において使用される補間フィルタと同じフィルタ係数であってもよい。
【0106】
予測部95は、予測制御部91による制御の下、予測対象の画素の輝度成分の画素値及び色差成分の画素値を、指定された予測モードに従って予測する。色差成分の予測モードの候補は、上述したLMモードを含む。LMモードにおいて、予測部95は、フィルタ94により生成される輝度成分の入力値を、係数算出部92により算出される係数を有する予測関数に代入することにより、各色差成分の値を予測する。他の予測モードにおける予測部95によるイントラ予測は、既存の手法と同様に行われてよい。予測部95は、予測の結果として生成される予測画像データを加算部65へ出力する。
【0107】
<4.一実施形態に係る復号時の処理の流れ>
次に、図15を用いて、復号時の処理の流れを説明する。
【0108】
図15は、図14に例示した構成を有するイントラ予測部90による復号時のイントラ予測処理の流れの一例を示すフローチャートである。図15に示したイントラ予測処理は、画像内の各ブロックを処理対象として実行される。
【0109】
まず、予測制御部91は、処理対象の色成分が輝度成分であるか否かを判定する(ステップS210)。ここで、処理対象の色成分が輝度成分である場合には、処理はステップS220へ進む。一方、処理対象の色成分が色差成分である場合には、処理はステップS250へ進む。
【0110】
ステップS220において、予測制御部91は、指定された予測モードに従って予測部95に輝度成分のイントラ予測を実行させ、予測画像データを生成させる(ステップS220)。次に、予測制御部91は、輝度成分の予測画像データと逆直交変換部64から出力される予測誤差データとの和である復号画像データを、ライン単位で輝度成分メモリ93に記憶させる(ステップS230)。
【0111】
このように輝度成分についてのイントラ予測が終了した後、同じブロックの色差成分についてのイントラ予測が行われる。
【0112】
ステップS250において、予測制御部91は、色差成分についてLMモードが指定されているか否かを判定する(ステップS250)。ここで、LMモードが指定されている場合には、予測制御部91は、LMモードに従って予測部95に色差成分のイントラ予測を実行させる(ステップS260)。ここでの予測部95によるLMモード予測処理は、図11〜図12Cを用いて説明した符号化時の処理と同様であってよい。また、LMモード以外の予測モードが指定されている場合には、予測制御部91は、指定された予測モードに従って予測部95に色差成分のイントラ予測を実行させる(ステップS270)。その結果、色差成分の予測画像データが生成される。
【0113】
そして、処理対象ブロックの全ての色成分についてイントラ予測が行われると、図15に示したイントラ予測処理は終了する(ステップS280)。
【0114】
<5.変形例>
[5−1.第1の変形例]
上述した実施形態では、輝度成分の復号画像データがライン単位で一時的にメモリに格納される。そして、LMモードでのイントラ予測の際に、メモリから読み出されるフィルタタップを用いて、輝度成分のダウンサンプリングが実行される。これに対し、本項で説明する第1の変形例のように、輝度成分のダウンサンプリングをより早い段階で行い、ダウンサンプリングの結果として得られる予測関数への入力値をメモリに格納しておくことも可能である。
【0115】
図16は、第1の変形例に係るイントラ予測部90の詳細な構成の一例を示すブロック図である。図16を参照すると、イントラ予測部90は、予測制御部91、係数算出部92、予測部95、フィルタ96及び輝度成分メモリ97を有する。
【0116】
フィルタ96及び輝度成分メモリ97は、1次元フィルタを用いたLMモードの実現のために設けられる。
【0117】
フィルタ96は、予測誤差データを用いて再構築される輝度成分の値を含む復号画像データをライン単位で加算部65から取得し、図8A又は図8Bに例示したようなフィルタタップを形成する。そして、フィルタ96は、形成したフィルタタップの値をフィルタリングすることにより、予測関数への輝度成分の入力値を生成する。
【0118】
輝度成分メモリ97は、フィルタ96により生成される、ダウンサンプリング後の輝度成分の入力値をライン単位で一時的に記憶する。輝度成分メモリ97により記憶される予測関数への輝度成分の入力値は、色差成分についてLMモードが指定された場合に、予測部95により読み出される。
【0119】
予測制御部91は、各色差成分と共通する画素位置の輝度成分について指定された予測モードにより示される予測方向に応じて、フィルタ96のフィルタタップ数を切り替えてもよい。
【0120】
[5−2.第2の変形例]
上述した実施形態では、主にクロマフォーマットが4:2:0である場合について説明した。クロマフォーマットが4:2:2である場合にも、色差成分の密度は輝度成分の密度よりも低いことから、LMモードでの色差成分の予測の際に、輝度成分の値が一次元フィルタを用いてダウンサンプリングされてよい。また、クロマフォーマットが4:4:4である場合にも、LMモードでの色差成分の予測の際に、輝度成分の値が一次元フィルタを用いてフィルタリングされてよい(この場合には、色差成分の密度は輝度成分の密度と等しいことから、“ダウンサンプリング”ではない)。但し、クロマフォーマットが4:2:2又は4:4:4である場合、個々の色差成分と画素位置が一致する輝度成分が存在する。従って、クロマフォーマットが4:2:2又は4:4:4である場合には、画像符号化装置10の予測部45及び画像復号装置60の予測部95は、各色差成分と一致する画素位置の輝度成分の値を予測関数に代入してもよい。この場合には、1次元フィルタは無効化され得る。
【0121】
例えば、図17を参照すると、クロマフォーマットが4:2:2である場合の、16×16画素のサイズを有する1つのPU内の輝度成分(Luma)及び対応する色差成分(Chroma)が、丸印で概念的に示されている。輝度成分の密度は、水平方向についてのみ色差成分の密度の2倍である。図中右において斜線で網掛けされている丸印は、対応する色差成分の予測の際に予測関数へ代入される輝度成分を示す。
【0122】
また、図18を参照すると、クロマフォーマットが4:4:4である場合の、16×16画素のサイズを有する1つのPU内の輝度成分(Luma)及び対応する色差成分(Chroma)が、丸印で概念的に示されている。輝度成分の密度は、色差成分の密度と等しい。図中右において斜線で網掛けされている丸印は、対応する色差成分の予測の際に予測関数へ代入される輝度成分を示す。
【0123】
このように、クロマフォーマットが4:2:0である場合にのみ輝度成分のフィルタリングを行うことで、処理の複雑さを低減し、LMモードの導入に伴う実装のコストを低減することができる。
【0124】
<6.応用例>
上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
【0125】
[6−1.第1の応用例]
図19は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
【0126】
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
【0127】
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【0128】
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
【0129】
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
【0130】
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
【0131】
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【0132】
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
【0133】
制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
【0134】
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
【0135】
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
【0136】
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、メモリリソースをより効率的に使用することができる。
【0137】
[6−2.第2の応用例]
図20は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
【0138】
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
【0139】
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【0140】
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
【0141】
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを再構築し、再構築した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
【0142】
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【0143】
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
【0144】
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを再構築し、再構築したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
【0145】
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、メモリリソースをより効率的に使用することができる。
【0146】
[6−3.第3の応用例]
図21は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
【0147】
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
【0148】
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
【0149】
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
【0150】
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
【0151】
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【0152】
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)又はBlu−ray(登録商標)ディスクなどであってよい。
【0153】
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
【0154】
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
【0155】
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【0156】
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
【0157】
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
【0158】
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、メモリリソースをより効率的に使用することができる。
【0159】
[6−4.第4の応用例]
図22は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【0160】
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
【0161】
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
【0162】
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
【0163】
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
【0164】
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
【0165】
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
【0166】
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
【0167】
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
【0168】
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
【0169】
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
【0170】
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、メモリリソースをより効率的に使用することができる。
【0171】
<7.まとめ>
ここまで、図1〜図22を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60について詳しく説明した。上述した実施形態によれば、画像の符号化及び復号における色差成分のイントラ予測にあたり、輝度成分の値の関数を用いるLMモードが採用される場合に、1次元フィルタを用いた輝度成分のダウンサンプリングにより予測関数への入力値が生成される。それにより、ノイズの影響を低減しながら、ライン単位での逐次処理を採用してメモリリソースをより効率的に使用することが可能となる。
【0172】
また、上述した実施形態によれば、1次元フィルタのフィルタタップは、復号画像を再構築する際の水平方向及び垂直方向の逆直交変換のうち後に実行される方向に沿って配置される。それにより、逆直交変換の出力とイントラ予測の入力との間に設けられる、輝度成分の復号画像を格納するためのメモリのサイズを縮小することができる。
【0173】
また、上述した実施形態によれば、各色差成分と共通する画素位置の輝度成分についてのイントラ予測の予測方向に応じて、1次元フィルタのフィルタタップのタップ数が適応的に制御されてもよい。それにより、フィルタタップに沿った画像の相関が強い場合にはタップ長を長くして、ノイズに対するロバスト性を高めることができる。
【0174】
なお、本明細書では、イントラ予測に関する情報及びインター予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【0175】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0176】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、
前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、
を備え、
前記フィルタは、1次元フィルタである、
画像処理装置。
(2)
前記フィルタの前記フィルタタップは、画像を再構築する際の水平方向及び垂直方向の逆直交変換のうち後に実行される第1の方向に沿って配置される、前記(1)に記載の画像処理装置。
(3)
前記画像処理装置は、前記第1の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向に応じて、前記フィルタタップのタップ数を制御する制御部、をさらに備える、前記(2)に記載の画像処理装置。
(4)
前記制御部は、前記予測方向と前記第1の方向との間の角度がより小さい場合に、前記タップ数をより大きい数に設定する、前記(3)に記載の画像処理装置。
(5)
前記制御部は、前記予測方向が前記第1の方向に重なる場合には前記タップ数を第1の数に設定し、前記予測方向が前記第1の方向に重ならない場合には前記タップ数を前記第1の数よりも小さい第2の数に設定する、前記(3)に記載の画像処理装置。
(6)
前記予測部は、クロマフォーマットが4:2:0でない場合には、前記第1の色差成分と一致する画素位置の輝度成分の値を前記予測関数に代入する、前記(1)〜(5)のいずれか1項に記載の画像処理装置。
(7)
前記フィルタは、動き補償において使用される補間フィルタと同じフィルタ係数を有する、前記(1)〜(6)のいずれか1項に記載の画像処理装置。
(8)
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値を1次元フィルタでフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成することと、
前記1次元フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測することと、
を含む画像処理方法。
【符号の説明】
【0177】
10 画像符号化装置(画像処理装置)
41 予測制御部
42 係数算出部
43 輝度成分メモリ
44 フィルタ
45 予測部
60 画像復号装置(画像処理装置)
91 予測制御部
92 係数算出部
93 輝度成分メモリ
94 フィルタ
95 予測部
【技術分野】
【0001】
本開示は、画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
デジタル画像のデータサイズを圧縮するための画像符号化方式において重要な技術の1つは、画面内予測、即ちイントラ予測である。イントラ予測は、画像内の隣り合うブロック間の相関を利用し、あるブロック内の画素値を隣り合う他のブロックの画素値から予測することで、符号化される情報量を削減する技術である。MPEG4以前の画像符号化方式では、直交変換係数の直流成分及び低周波成分のみがイントラ予測の対象とされていた。これに対し、H.264/AVC(Advanced Video Coding)では、全ての成分についてイントラ予測が可能となった。イントラ予測を用いることで、例えば青空の画像のように、画素値の変化の緩やかな画像については、圧縮率の大幅な向上が見込まれる。
【0003】
イントラ予測に際しては、通常、予測対象のブロックの画素値を予測するために最適な予測モードが、複数の予測モードから選択される。予測モードは、典型的には、参照画素から予測対象画素への予測方向によって区別され得る。例えば、H.264/AVCにおいて、色差成分の予測に際しては、平均値予測、水平予測、垂直予測及び平面予測という4つの予測モードが選択可能である。さらに、H.264/AVCに続く次世代の画像符号化方式として標準化が進められているHEVCでは、動的に構築される輝度成分の線型関数を予測関数として用いて色差成分の画素値を予測する、線型モデル(LM:Linear Model)モードと呼ばれる追加的な予測モードが採用される見込みである(下記非特許文献1参照)。
【0004】
画像の色差成分の密度は、クロマフォーマットが4:2:0の場合、輝度成分の密度よりも低い。そこで、下記非特許文献1に記載された手法では、ある色差成分の値をLMモードで予測する際、当該色差成分と共通する画素位置の2つの輝度成分の値をダウンサンプリングすることにより、予測関数へ代入される輝度成分の入力値が生成される。これに対し、下記非特許文献2は、ノイズの影響を低減して予測の精度を高めるために、色差成分と共通しない画素位置の輝度成分の値をも算入して、予測関数への輝度成分の入力値を3×2タップの2次元フィルタで生成することを提案している。下記非特許文献3は、LMモードの予測関数の係数を決定する際の左の隣接ブロックの参照画素のダウンサンプリングを、2タップではなく4タップのフィルタで行うことを提案している。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Jianle Chen, et al. “CE6.a.4: Chroma intra prediction by reconstructed luma samples”(JCTVC-E266,2011年3月)
【非特許文献2】Akira Minezawa, et al. “An improvement to chroma intra prediction from luma”(JCTVC-F173,2011年7月)
【非特許文献3】Yongbing Lin, et al. “Modifications to intra frame coding”(JCTVC-G119,2011年11月)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記非特許文献2により提案されている手法では、予測関数への1つの入力値を生成する際に参照される輝度成分が、複数の行及び複数の列にわたって存在する。そのため、LMモードでの色差成分の予測値の計算のために、複数のラインメモリに予測対象ブロックの輝度成分の値を一時的に記憶しておくことが求められる。一方で、HEVCにおいて、イントラ予測の前段に設けられる逆直交変換は、1次元の水平方向の変換処理と1次元の垂直方向の変換処理とを逐次的に実行する方式で実装されることが想定されている。
【0007】
従って、LMモードでの色差成分の予測値の計算において、単一のラインメモリに記憶される輝度成分の値のみを参照する方式とすれば、ライン単位での逐次処理を採用してメモリリソースをより効率的に使用することが可能となる。
【課題を解決するための手段】
【0008】
本開示によれば、第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、を備え、前記フィルタは、1次元フィルタである、画像処理装置が提供される。
【0009】
上述した画像処理装置は、画像符号化装置及び画像復号装置のいずれにも適用可能である。
【0010】
また、本開示によれば、第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値を1次元フィルタでフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成することと、前記1次元フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測することと、を含む画像処理方法が提供される。
【発明の効果】
【0011】
本開示に係る技術によれば、LMモードでの色差成分の予測値の計算に際して、ノイズの影響を低減しながら、メモリリソースをより効率的に使用することが可能となる。
【図面の簡単な説明】
【0012】
【図1】一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図2】一実施形態に係る画像符号化装置のイントラ予測部の詳細な構成の一例を示すブロック図である。
【図3】HEVCの角度イントラ予測法に従って選択可能な予測方向の候補について説明するための説明図である。
【図4】HEVCの角度イントラ予測法における参照画素値の計算について説明するための説明図である。
【図5】LMモードについて説明するための説明図である。
【図6A】LMモードにおける輝度成分のダウンサンプリングの既存の第1の手法について説明するための説明図である。
【図6B】LMモードにおける輝度成分のダウンサンプリングの既存の第2の手法について説明するための説明図である。
【図7】逆直交変換部における逐次的な逆直交変換の順序について説明するための説明図である。
【図8A】一実施形態に係る輝度成分のダウンサンプリングの第1の手法について説明するための説明図である。
【図8B】一実施形態に係る輝度成分のダウンサンプリングの第2の手法について説明するための説明図である。
【図9A】輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第1の例について説明するための説明図である。
【図9B】輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第2の例について説明するための説明図である。
【図10】一実施形態に係るイントラ予測処理の流れの一例を示すフローチャートである。
【図11】図10に示したLMモード予測処理の詳細な流れの一例を示すフローチャートである。
【図12A】図11に示したダウンサンプリング処理の詳細な流れの第1の例を示すフローチャートである。
【図12B】図11に示したダウンサンプリング処理の詳細な流れの第2の例を示すフローチャートである。
【図12C】図11に示したダウンサンプリング処理の詳細な流れの第3の例を示すフローチャートである。
【図13】一実施形態に係る画像復号装置の構成の一例を示すブロック図である。
【図14】一実施形態に係る画像復号装置のイントラ予測部の詳細な構成の一例を示すブロック図である。
【図15】一実施形態に係る復号時のイントラ予測処理の流れの一例を示すフローチャートである。
【図16】第1の変形例に係るイントラ予測部の詳細な構成の一例を示すブロック図である。
【図17】クロマフォーマットが4:2:2である場合のLMモードについて説明するための説明図である。
【図18】クロマフォーマットが4:4:4である場合のLMモードについて説明するための説明図である。
【図19】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図20】携帯電話機の概略的な構成の一例を示すブロック図である。
【図21】記録再生装置の概略的な構成の一例を示すブロック図である。
【図22】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【0013】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0014】
また、以下の順序で説明を行う。
1.一実施形態に係る画像符号化装置の構成例
2.一実施形態に係る符号化時の処理の流れ
3.一実施形態に係る画像復号装置の構成例
4.一実施形態に係る復号時の処理の流れ
5.変形例
6.応用例
7.まとめ
【0015】
<1.一実施形態に係る画像符号化装置の構成例>
[1−1.全体的な構成例]
図1は、一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26及び27、動き探索部30、並びにイントラ予測部40を備える。
【0016】
A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並び替えバッファ12へ出力する。
【0017】
並び替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並び替える。並び替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データを減算部13、動き探索部30及びイントラ予測部40へ出力する。
【0018】
減算部13には、並び替えバッファ12から入力される画像データ、及び後に説明する動き探索部30又はイントラ予測部40から入力される予測画像データが供給される。減算部13は、並び替えバッファ12から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
【0019】
直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。HEVCにおいて、直交変換部14による直交変換は、変換単位(Transform Unit:TU)ごとの2次元の離散コサイン変換(Discrete Cosine Transform:DCT)である。2次元のDCTは、実質的には、垂直方向の1次元のDCT及び水平方向の1次元のDCTのうち一方を先に、他方を後に逐次的に実行する手法で、ラインごとに行われ得る。本実施形態では、垂直方向の1次元のDCTが先に行われるものとする。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
【0020】
量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
【0021】
可逆符号化部16は、量子化部15から入力される量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、スイッチ27から入力されるイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ領域内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
【0022】
蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部(例えば、通信インタフェース又は周辺機器との接続インタフェースなど)へ出力する。
【0023】
レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
【0024】
逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
【0025】
逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。逆直交変換部22による逆直交変換は、TUごとの2次元の逆離散コサイン変換(Inverse Discrete Cosine Transform:IDCT)である。2次元のIDCTは、実質的には、垂直方向の1次元のIDCT及び水平方向の1次元のIDCTを、直交変換とは逆の順序で逐次的に実行する手法で、ラインごとに行われ得る。本実施形態では、水平方向の1次元のIDCTが先に行われるものとする。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
【0026】
加算部23は、逆直交変換部22から入力される復元された予測誤差データと動き探索部30又はイントラ予測部40から入力される予測画像データとを加算することにより、復号画像データを再構築(reconstruct)する。そして、加算部23は、再構築した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。また、加算部23は、LMモードでの色差成分の予測の際に用いられる輝度成分の復号画像データをイントラ予測部40へ出力する。
【0027】
デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
【0028】
フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
【0029】
セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部30に供給する。また、セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部40に供給する。
【0030】
セレクタ27は、インター予測モードにおいて、動き探索部30から出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16へ出力する。また、セレクタ27は、イントラ予測モードにおいて、イントラ予測部40から出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16へ出力する。セレクタ27は、インター予測モードとイントラ予測モードとを、動き探索部30及びイントラ予測部40から出力されるコスト関数値の大きさに応じて切り替える。
【0031】
動き探索部30は、並び替えバッファ12から入力される符号化対象の画像データ(原画像データ)、及びセレクタ26を介して供給される復号画像データに基づいて、インター予測処理(フレーム間予測処理)を行う。例えば、動き探索部30は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部30は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部30は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部30は、選択した最適な予測モードを表す予測モード情報、動きベクトル情報及び参照画像情報を含むインター予測に関する情報、コスト関数値、並びに予測画像データを、セレクタ27へ出力する。
【0032】
イントラ予測部40は、並び替えバッファ12から入力される原画像データ、及びフレームメモリ25から供給される参照画像データとしての復号画像データに基づいて、画像内に設定されるブロックごとにイントラ予測処理を行う。そして、イントラ予測部40は、最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、並びに予測画像データを、セレクタ27へ出力する。イントラ予測部40により選択可能な予測モードは、既存のイントラ予測モードに加えて、色差成分についての線型モデル(LM)モードを含む。本実施形態におけるLMモードは、上記非特許文献2に記載されているLMモードとは異なり、輝度成分のダウンサンプリングに際して1次元フィルタを用いるという特徴を有する。このようなイントラ予測部40によるイントラ予測処理について、後により詳細に説明する。
【0033】
[1−2.イントラ予測部の構成例]
図2は、図1に示した画像符号化装置10のイントラ予測部40の詳細な構成の一例を示すブロック図である。図2を参照すると、イントラ予測部40は、予測制御部41、係数算出部42、輝度成分メモリ43、フィルタ44、予測部45及びモード判定部46を有する。
【0034】
予測制御部41は、イントラ予測部40におけるイントラ予測処理を制御する。例えば、予測制御部41は、符号化単位(Coding Unit:CU)ごとに、輝度成分(Y)についてのイントラ予測処理及び色差成分(Cb、Cr)についてのイントラ予測処理を実行する。輝度成分についてのイントラ予測処理において、予測制御部41は、複数の予測モードで予測部45に各画素の予測画素値を生成させ、モード判定部46に輝度成分の最適な予測モードを判定させる。CU内の予測単位(Prediction Unit:PU)の配置も決定される。色差成分についてのイントラ予測処理では、予測制御部41は、複数の予測モードで予測部45に各画素の予測画素値を生成させ、モード判定部46に色差成分の最適な予測モードを判定させる。
【0035】
輝度成分についての予測モードの候補は、様々な予測方向に関連付けられる予測モードを含み得る。HEVCでは、“Description of video coding technology proposal by Tandberg, Nokia, Ericsson”(Kemal Ugur, et al.,JCTVC-A119,2010年4月)において説明されている角度イントラ予測(Angular Intra Prediction)法が採用される。図3は、角度イントラ予測法に従って選択可能な予測方向の候補について説明するための説明図である。図3に示した画素P1は、予測対象画素である。画素P1が属するブロックの周囲の網掛けされた画素は、参照画素である。ブロックサイズが4×4画素である場合には、図中で実線(太線及び細線の双方)で示された、参照画素と予測対象画素とを結ぶ17種類の予測方向(に対応する予測モード)が、(DC予測に加えて)選択可能である。ブロックサイズが8×8画素、16×16画素又は32×32画素である場合には、図中で点線並びに実線(太線及び細線の双方)で示された33種類の予測方向(に対応する予測モード)が、(DC予測及び平面予測に加えて)選択可能である。ブロックサイズが64×64画素である場合には、図中で太線で示された2種類の予測方向(に対応する予測モード)が、(DC予測に加えて)選択可能である。なお、角度イントラ予測法では、予測方向の角度の分解能が高く、例えば8×8画素の場合の隣り合う予測方向の間の角度の差は、180度/32=5.625度である。従って、参照画素値として、図4に示すような1/8画素精度の参照画素値が計算され、予測画素値の計算のために使用され得る。
【0036】
色差成分についての予測モードの候補もまた、様々な予測方向に関連付けられる予測モードを含み得る。さらに、色差成分についての予測モードの候補は、上述したLMモードを含む。LMモードは、動的に構築される輝度成分の線型関数を予測関数として用いて色差成分の画素値を予測する予測モードである。LMモードにおいて使用される予測関数は、上記非特許文献1に記載されている次のような線型一次関数であってよい:
【0037】
【数1】
【0038】
式(1)において、ReL´(x,y)は、復号画像(いわゆるリコンストラクト画像)の輝度成分のダウンサンプリング後の値を表す。輝度成分のダウンサンプリングは、クロマフォーマットに依存して色差成分の密度が輝度成分の密度と異なる場合に行われ得る。
【0039】
例えば、図5を参照すると、クロマフォーマットが4:2:0である場合の、16×16画素のサイズを有する1つのPU内の輝度成分(Luma)及び対応する色差成分(Chroma)が、丸印で概念的に示されている。輝度成分の密度は、水平方向及び垂直方向の各々について色差成分の密度の2倍である。PUの周囲に位置し、図中で塗りつぶされている丸印は、上記予測関数の係数α、βを算出する際に参照される参照画素を示す。図中右において斜線で網掛けされている丸印は、ダウンサンプリングされた輝度成分を示す。このようにダウンサンプリングされた輝度成分の値を上記予測関数の右辺のReL´(x,y)に代入することにより、共通する画素位置の色差成分の予測値が算出される。また、参照画素も同様にダウンサンプリングされ得る。
【0040】
クロマフォーマットが4:2:0である場合、図5の例のように、2×2個の輝度成分ごとに1つの輝度成分の入力値(予測関数へ代入される値)がダウンサンプリングにより生成される。上記非特許文献2によれば、ダウンサンプリングは、個々の色差成分と共通する画素位置の1つ以上の輝度成分と、当該色差成分とは共通しない画素位置の1つ以上の輝度成分とを含むフィルタタップの値を2次元フィルタを用いてフィルタリングすることにより行われる。ここで、ある色差成分と「共通する」画素位置の輝度成分とは、クロマフォーマットが4:2:0である場合、色差成分の画素位置(x,y)に対する輝度成分の画素位置(2x,2y)、(2x+1,2y)、(2x,2y+1)及び(2x+1,2y+1)を含むものとする。
【0041】
図6Aは、上記非特許文献2に記載されているダウンサンプリングの既存の第1の手法について説明するための説明図である。図6Aの左上には、画素位置(1,1)の色差成分Cr1,1が示されている。色差成分Cr1,1の予測値は、輝度成分の入力値IL1,1を予測関数に代入することにより算出される。輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu2,2,Lu3,2,Lu2,3,Lu3,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu1,2,Lu1,3を含む3×2のフィルタタップの値をフィルタリングすることにより生成され得る。図中のフィルタタップの丸印の中に示されている数字は、各フィルタタップに乗算されるフィルタ係数である。このように、個々の色差成分と共通する画素位置の周囲の輝度成分をもダウンサンプリングの際のフィルタタップに含めることで、輝度成分のノイズの影響が低減され、LMモードでのイントラ予測の精度が高められる。
【0042】
図6Bは、ダウンサンプリングの既存の第2の手法について説明するための説明図である。第2の手法では、輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu3,2,Lu3,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu1,2,Lu1,3を含む2×2のフィルタタップの値をフィルタリングすることにより生成され得る。フィルタ係数は、図中に示した通りである。
【0043】
ところで、上述したように、逆直交変換部22は、各ブロックについて、水平方向の1次元のIDCTを先に、垂直方向の1次元のIDCTを後にして、ラインごとに逆直交変換を実行する。例えば、図7に示した8×8画素のブロックについて、逆直交変換部22は、水平方向のラインR0〜R7について順に1次元のIDCTを実行した後、垂直方向のラインC0〜C7について順に1次元のIDCTを実行する。従って、復号画像データは、垂直方向のライン単位で加算部23を介してイントラ予測部40へ入力される。従って、図6A及び図6Bを用いて説明したような2次元フィルタを用いる手法では、複数のラインにわたって輝度成分の復号画像データ(リコンストラクト画素値)をメモリに記憶しておくことが求められる。しかし、色差成分のイントラ予測に際して、LMモード以外の予測モードでは輝度成分の値は参照されない。従って、LMモードだけのためにラインメモリを多く消費することは、メモリリソースの効率的な活用の観点で望ましくない。そこで、本実施形態では、LMモードでの輝度成分の入力値を生成する際のダウンサンプリングを、1次元フィルタを用いて行う。
【0044】
図8Aは、本実施形態に係る輝度成分のダウンサンプリングの第1の手法について説明するための説明図である。図8Aの左上には、画素位置(1,1)の色差成分Cr1,1が示されている。色差成分Cr1,1の予測値は、輝度成分の入力値IL1,1を予測関数に代入することにより算出される。輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu2,2,Lu2,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu2,1,Lu2,4を含む4個のフィルタタップの値を1次元フィルタでフィルタリングすることにより生成され得る。図中のフィルタタップの丸印の中に示されている数字は、各フィルタタップに乗算されるフィルタ係数である。
【0045】
図8Bは、本実施形態に係る輝度成分のダウンサンプリングの第2の手法について説明するための説明図である。図8Bの例では、フィルタタップは、6個に拡張されている。輝度成分の入力値IL1,1は、色差成分Cr1,1と共通する画素位置の輝度成分Lu2,2,Lu2,3及び色差成分Cr1,1とは共通しない画素位置の輝度成分Lu2,0,Lu2,1,Lu2,4,Lu2,5を含む6個のフィルタタップの値を1次元フィルタでフィルタリングすることにより生成され得る。
【0046】
このように、輝度成分の入力値を1次元フィルタを用いて生成する構成を採用することで、1ライン分以下の輝度成分の復号画像データのみをメモリに記憶しておくのみでLMモードでの色差成分のイントラ予測が可能となる。なお、1次元フィルタのタップ数及びフィルタ係数の組合せは、図8A及び図8Bに示した例に限定されず、他のいかなる組合せであってもよい。
【0047】
図2に戻り、イントラ予測部40の構成の説明を継続する。
【0048】
係数算出部42、輝度成分メモリ43及びフィルタ44は、上述したような1次元フィルタを用いたLMモードの実現のために設けられる。
【0049】
係数算出部42は、LMモードにおいて予測部45により使用される予測関数の係数を、予測対象の画素が属するPUの周辺の画素、即ち参照画素を参照して算出する。式(1)に示した予測関数の係数αは、次の式(2)に従って算出される。また、係数βは、次の式(3)に従って算出される。
【0050】
【数2】
【0051】
式(2)及び式(3)において、Iは参照画素数を表す。例えば、色差成分のブロックサイズが8×8画素であって、左の8つの参照画素及び上の8つの参照画素が共に利用可能であれば、I=8+8=16である。
【0052】
輝度成分メモリ43には、予測誤差データを用いて再構築される輝度成分の値を含む復号画像データが、ライン単位で加算部23から入力される。ここでのラインは、逆直交変換部22において水平方向及び垂直方向のIDCTのうち後に実行される方向に沿ったラインであり、本実施形態ではブロックの列に相当する。輝度成分メモリ43は、かかるライン単位の輝度成分の復号画像データを一時的に記憶する。
【0053】
フィルタ44は、予測制御部41による制御の下、輝度成分メモリ43から図8A又は図8Bに例示したようなフィルタタップを抽出する。そして、フィルタ44は、抽出したフィルタタップの値をフィルタリングすることにより、色差成分の値を予測するための予測関数への入力値(例えば、図8A及び図8Bに例示した入力値IL1,1)を生成する。フィルタ44は、このように各画素位置(x,y)の入力値を順次生成し、生成した入力値を予測部45へ出力する。
【0054】
予測制御部41は、各色差成分と共通する画素位置の輝度成分について最適な予測モードとして選択されたイントラ予測の予測方向に応じて、フィルタ44のフィルタタップ数を切り替えてもよい。より具体的には、第1の例において、予測制御部41は、上記予測方向とフィルタタップに沿った方向(以下、タップ方向という)との間の角度がより小さい場合に、フィルタタップ数をより大きい数に設定し得る。また、第2の例において、予測制御部41は、上記予測方向がタップ方向に重なる場合にはフィルタタップ数を第1の数に設定し、上記予測方向がタップ方向に重ならない場合にはフィルタタップ数を第1の数よりも小さい第2の数に設定し得る。
【0055】
図9Aは、輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第1の例について説明するための説明図である。ここでは、フィルタタップ数を切り替えるための角度閾値として、閾値Th1=45[度]が定義されているものとする。図9Aを参照すると、画素P1についての7種類の予測方向D1〜D7が例示されている。予測方向D2、D5及びD6の水平方向に対してなす角度は、45度であり、閾値Th1に等しい。予測方向D1及びD7の水平方向に対してなす角度は、閾値Th1を上回る。予測方向D3及びD4の水平方向に対してなす角度は、閾値Th1を下回る。この場合、例えば、予測制御部41は、予測方向D1、D2、D5、D6及びD7についてはフィルタタップ数を6個(又は4個)、予測方向D3及びD4についてはフィルタタップ数を4個(又は2個)に設定し得る。なお、ここでは、2種類のフィルタタップ数の候補の間でフィルタタップ数が切り替えられる例を説明した。しかしながら、かかる例に限定されず、2つ以上の角度閾値を用いて3種類以上のフィルタップ数の候補の間でフィルタタップ数が切り替えられてもよい。例えば、2つの角度閾値Th1=45[度]、Th2=67.5[度]を用いて、2個、4個及び6個の間でフィルタタップ数が切り替えられてもよい。
【0056】
図9Bは、輝度成分の予測方向の角度に応じたフィルタタップ数の切り替えの第2の例について説明するための説明図である。ここでは、予測方向の水平方向に対してなす角度が90[度]であるか否かに応じて、フィルタタップ数が切り替えられるものとする。図9Bを参照すると、画素P1についての3種類の予測方向D0〜D2が例示されている。予測方向D0の水平方向に対してなす角度は90度である。この場合、予測制御部41は、画素P1のためのフィルタ44のフィルタタップ数を6個(又は4個)に設定し得る。一方、予測方向D1及びD2のように、上記角度が90度でない場合には、予測制御部41は、画素P1のためのフィルタ44のフィルタタップ数を4個(又は2個)に設定し得る。
【0057】
このような適応的なフィルタタップ数の切り替えによって、タップ方向に沿った画像の相関が強い場合にはタップ長を長くし、タップ方向に沿った画像の相関が弱い場合にはタップ長を短くすることができる。それにより、LMモードの予測関数への入力値を画像の相関に応じて変化させてノイズに対するロバスト性を高めることで、予測の精度を高めることができる。
【0058】
なお、フィルタ44のフィルタ係数は、動き探索部30における動き補償において使用される補間フィルタと同じフィルタ係数であってもよい。そのようにフィルタ係数を共通化させることで、フィルタ係数を記憶するために要するメモリリソースの量を削減することができる。
【0059】
予測部45は、予測制御部41による制御の下、予測対象の画素の輝度成分の画素値及び色差成分の画素値を、様々な予測モードの候補に従って予測する。輝度成分の予測モードの候補は、上述した角度イントラ予測法における様々な予測方向に関連付けられる予測モードを含み得る。色差成分の予測モードの候補は、上述したLMモードを含む。LMモードにおいて、予測部45は、フィルタ44により生成される輝度成分の入力値を、係数算出部42により算出される係数を有する予測関数に代入することにより、各色差成分の値を予測する。他の予測モードにおける予測部45によるイントラ予測は、既存の手法と同様に行われてよい。予測部45は、予測モードごとに、予測の結果として生成される予測画像データをモード判定部46へ出力する。
【0060】
モード判定部46は、並び替えバッファ12から入力される原画像データと予測部45から入力される予測画像データとに基づいて、各予測モードのコスト関数値を算出する。そして、モード判定部46は、算出したコスト関数値に基づき、各色成分についての最適な予測モードを決定する。そして、モード判定部46は、決定した最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、並びに各色成分の予測画素値を含む予測画像データを、セレクタ27へ出力する。
【0061】
<2.一実施形態に係る符号化時の処理の流れ>
次に、図10〜図12を用いて、符号化時の処理の流れを説明する。
【0062】
[2−1.イントラ予測処理]
図10は、図2に例示した構成を有するイントラ予測部40による符号化時のイントラ予測処理の流れの一例を示すフローチャートである。図10に示したイントラ予測処理は、画像内の各ブロックを処理対象として実行される。
【0063】
まず、予測制御部41は、処理対象の色成分が輝度成分であるか否かを判定する(ステップS110)。ここで、処理対象の色成分が輝度成分である場合には、処理はステップS120へ進む。一方、処理対象の色成分が色差成分である場合には、処理はステップS150へ進む。
【0064】
ステップS120において、予測制御部41は、複数の予測モードの候補に従って予測部45に輝度成分の予測画素値を生成させ、モード判定部46に輝度成分の最適な予測モードを判定させる(ステップS120)。その結果、各PUについての輝度成分の最適な予測モードが決定され、予測画像データが生成される。次に、予測制御部41は、輝度成分の予測画像データと逆直交変換部22から出力される予測誤差データとの和である復号画像データを、ライン単位で輝度成分メモリ43に記憶させる(ステップS130)。
【0065】
このように輝度成分についてのイントラ予測が終了した後、同じブロックの色差成分についてのイントラ予測が行われる。
【0066】
ステップS150において、予測制御部41は、予測モードの候補の1つであるLMモードでの予測処理を予測部45に実行させる(ステップS150)。ここでの予測部45によるLMモード予測処理について、後にさらに説明する。次に、予測制御部41は、LMモード以外の複数の予測モードの候補に従って予測部45に色差成分の予測画素値を生成させる(ステップS170)。そして、予測制御部41は、モード判定部46に色差成分の最適な予測モードを判定させる(ステップS180)。その結果、各PUについての色差成分の最適な予測モードが決定される。
【0067】
そして、処理対象ブロックの全ての色成分についてイントラ予測が行われると、図10に示したイントラ予測処理は終了する(ステップS190)。
【0068】
[2−2.LMモード予測処理]
図11は、図10に示したLMモード予測処理の詳細な流れの一例を示すフローチャートである。図11に示したLMモード予測処理は、各ブロック内のラインごとに実行される。
【0069】
図11を参照すると、まず、係数算出部42は、LMモードにおいて予測部45により使用される予測関数の係数α、βを、フレームメモリ25から入力される参照画像データに含まれる参照画素の値に基づいて算出する(ステップS151)。
【0070】
また、フィルタ44は、輝度成分メモリ43により記憶されている複数の輝度成分の値を用いてダウンサンプリング処理を実行し、予測関数への入力値を生成する(ステップS152)。ここでのフィルタ44によるダウンサンプリング処理について、後にさらに説明する。
【0071】
次に、予測部45は、ダウンサンプリング処理の結果として生成された輝度成分の入力値を、係数算出部42により算出された係数を有する予測関数に代入することにより、各色差成分の予測値を生成する(ステップS153)。
【0072】
これらステップS151〜S153の処理は、処理対象のライン内の全ての画素について予測が終了するまで繰り返され得る(ステップS154)。
【0073】
[2−3.ダウンサンプリング処理]
図12Aは、図11に示したダウンサンプリング処理の詳細な流れの第1の例を示すフローチャートである。第1の例では、フィルタタップ数は固定的に設定される。
【0074】
図12Aを参照すると、まず、フィルタ44は、輝度成分メモリ43から、図8A又は図8Bに例示したような1次元フィルタのフィルタタップを抽出する(ステップS161)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS162)。
【0075】
図12Bは、図11に示したダウンサンプリング処理の詳細な流れの第2の例を示すフローチャートである。第2の例では、フィルタタップ数は、2つの値の間で適応的に切り替えられる。
【0076】
図12Bを参照すると、まず、予測制御部41は、処理対象の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向の水平方向に対してなす角度を、所定の閾値と比較する(ステップS160)。ここで、例えば、上記角度が閾値以上である場合には、処理はステップS161へ進む。一方、上記角度が閾値を下回る場合には、処理はステップS164へ進む。
【0077】
ステップS161において、フィルタ44は、輝度成分メモリ43から、タップ数N1の1次元フィルタのフィルタタップを抽出する(ステップS161)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS162)。
【0078】
ステップS164において、フィルタ44は、輝度成分メモリ43から、タップ数N2(N2<N1)の1次元フィルタのフィルタタップを抽出する(ステップS164)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS165)。
【0079】
図12Cは、図11に示したダウンサンプリング処理の詳細な流れの第3の例を示すフローチャートである。第3の例では、フィルタタップ数は、3つの値の間で適応的に切り替えられる。
【0080】
図12Cを参照すると、まず、予測制御部41は、処理対象の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向の水平方向に対してなす角度を、第1の閾値Th1と比較する(ステップS160)。ここで、例えば、上記角度が第1の閾値Th1以上である場合には、処理はステップS161へ進む。一方、上記角度が第1の閾値Th1を下回る場合には、処理はステップS163へ進む。
【0081】
ステップS161において、フィルタ44は、輝度成分メモリ43から、タップ数N1の1次元フィルタのフィルタタップを抽出する(ステップS161)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS162)。
【0082】
ステップS163において、予測制御部41は、上記角度を、第2の閾値Th2(Th2<Th1)とさらに比較する(ステップS163)。ここで、例えば、上記角度が第2の閾値Th2以上である場合には、処理はステップS164へ進む。一方、上記角度が第2の閾値Th2を下回る場合には、処理はステップS166へ進む。
【0083】
ステップS164において、フィルタ44は、輝度成分メモリ43から、タップ数N2(N2<N1)の1次元フィルタのフィルタタップを抽出する(ステップS164)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS165)。
【0084】
ステップS166において、フィルタ44は、輝度成分メモリ43から、タップ数N3(N3<N2)の1次元フィルタのフィルタタップを抽出する(ステップS166)。次に、フィルタ44は、抽出したフィルタタップを所定のフィルタ係数でフィルタリングして、予測関数への輝度成分の入力値を生成する(ステップS167)。
【0085】
本節で説明したような符号化時の処理によって、LMモードの導入のために設けられる輝度成分メモリ43のメモリサイズを減少させ、画像符号化装置10のメモリリソースを効率的に利用することが可能となる。このようなメモリリソースの節約は、次節以降で説明する画像復号装置60においても達成される。
【0086】
<3.一実施形態に係る画像復号装置の構成例>
図13は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図13を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並び替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、動き補償部80、並びにイントラ予測部90を備える。
【0087】
蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
【0088】
可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、上述したインター予測に関する情報及びイントラ予測に関する情報を含み得る。可逆復号部62は、インター予測に関する情報を動き補償部80へ出力する。また、可逆復号部62は、イントラ予測に関する情報をイントラ予測部90へ出力する。
【0089】
逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを復元する。逆直交変換部64による逆直交変換は、TUごとの2次元のIDCTである。2次元のIDCTは、実質的には、垂直方向の1次元のIDCT及び水平方向の1次元のIDCTを、直交変換とは逆の順序で逐次的に実行する手法で、ラインごとに行われ得る。本実施形態では、水平方向の1次元のIDCTが先に行われるものとする。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
【0090】
加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを再構築する。そして、加算部65は、再構築した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。また、加算部65は、LMモードでの色差成分の予測の際に用いられる輝度成分の復号画像データをイントラ予測部90へ出力する。
【0091】
デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並び替えバッファ67及びフレームメモリ69へ出力する。
【0092】
並び替えバッファ67は、デブロックフィルタ66から入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
【0093】
D/A変換部68は、並び替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
【0094】
フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
【0095】
セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部80へ出力する。また、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部90へ出力する。
【0096】
セレクタ71は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ71は、インター予測モードが指定された場合には、動き補償部80から出力される予測画像データを加算部65へ供給する。また、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部90から出力される予測画像データを加算部65へ供給する。
【0097】
動き補償部80は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部80は、生成した予測画像データをセレクタ71へ出力する。
【0098】
イントラ予測部90は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてイントラ予測処理を行い、予測画像データを生成する。そして、イントラ予測部90は、生成した予測画像データをセレクタ71へ出力する。このようなイントラ予測部90によるイントラ予測処理について、後により詳細に説明する。
【0099】
[3−2.イントラ予測部の構成例]
図14は、図13に示した画像復号装置60のイントラ予測部90の詳細な構成の一例を示すブロック図である。図14を参照すると、イントラ予測部90は、予測制御部91、係数算出部92、輝度成分メモリ93、フィルタ94及び予測部95を有する。
【0100】
予測制御部91は、可逆復号部62から入力されるイントラ予測に関する情報に従って、イントラ予測部90におけるイントラ予測処理を制御する。例えば、予測制御部91は、CUごとに、輝度成分(Y)についてのイントラ予測処理及び色差成分(Cb、Cr)についてのイントラ予測処理を実行する。輝度成分についてのイントラ予測処理において、予測制御部91は、指定される輝度成分の予測モードに従って、予測部95に各輝度成分の予測画素値を生成させる。輝度成分についての予測モードは、図3を用いて説明した角度イントラ予測法における様々な予測方向に関連付けられる予測モードのいずれかであってよい。また、予測制御部91は、指定される色差成分の予測モードに従って、予測部95に各色差成分の予測画素値を生成させる。色差成分についての予測モードの候補は、上述したLMモードを含む。
【0101】
係数算出部92、輝度成分メモリ93及びフィルタ94は、上述したような1次元フィルタを用いたLMモードの実現のために設けられる。
【0102】
係数算出部92は、予測対象の画素が属するPUの周辺の参照画素を参照して、LMモードにおいて予測部95により使用される予測関数の係数α、βを、上述した式(2)及び式(3)に従って算出する。
【0103】
輝度成分メモリ93には、予測誤差データを用いて再構築される輝度成分の値を含む復号画像データが、ライン単位で加算部65から入力される。ここでのラインは、逆直交変換部22において水平方向及び垂直方向のIDCTのうち後に実行される方向に沿ったラインであり、本実施形態ではブロックの列に相当する。輝度成分メモリ93は、かかるライン単位の輝度成分の復号画像データを一時的に記憶する。
【0104】
フィルタ94は、予測制御部91による制御の下、輝度成分メモリ93から図8A又は図8Bに例示したようなフィルタタップを抽出する。そして、フィルタ94は、抽出したフィルタタップの値をフィルタリングすることにより、色差成分の値を予測するための予測関数への入力値を生成し、生成した入力値を予測部95へ出力する。
【0105】
予測制御部91は、各色差成分と共通する画素位置の輝度成分について指定された予測モードにより示される予測方向に応じて、フィルタ94のフィルタタップ数を切り替えてもよい。より具体的には、第1の例において、予測制御部91は、上記予測方向とタップ方向との間の角度がより小さい場合に、フィルタタップ数をより大きい数に設定し得る。また、第2の例において、予測制御部91は、上記予測方向がタップ方向に重なる場合にはフィルタタップ数を第1の数に設定し、上記予測方向がタップ方向に重ならない場合にはフィルタタップ数を第1の数よりも小さい第2の数に設定し得る。それにより、タップ方向に沿った画像の相関が強い場合にはタップ長を長くし、タップ方向に沿った画像の相関が弱い場合にはタップ長を短くすることができる。なお、フィルタ94のフィルタ係数は、動き補償部80における動き補償において使用される補間フィルタと同じフィルタ係数であってもよい。
【0106】
予測部95は、予測制御部91による制御の下、予測対象の画素の輝度成分の画素値及び色差成分の画素値を、指定された予測モードに従って予測する。色差成分の予測モードの候補は、上述したLMモードを含む。LMモードにおいて、予測部95は、フィルタ94により生成される輝度成分の入力値を、係数算出部92により算出される係数を有する予測関数に代入することにより、各色差成分の値を予測する。他の予測モードにおける予測部95によるイントラ予測は、既存の手法と同様に行われてよい。予測部95は、予測の結果として生成される予測画像データを加算部65へ出力する。
【0107】
<4.一実施形態に係る復号時の処理の流れ>
次に、図15を用いて、復号時の処理の流れを説明する。
【0108】
図15は、図14に例示した構成を有するイントラ予測部90による復号時のイントラ予測処理の流れの一例を示すフローチャートである。図15に示したイントラ予測処理は、画像内の各ブロックを処理対象として実行される。
【0109】
まず、予測制御部91は、処理対象の色成分が輝度成分であるか否かを判定する(ステップS210)。ここで、処理対象の色成分が輝度成分である場合には、処理はステップS220へ進む。一方、処理対象の色成分が色差成分である場合には、処理はステップS250へ進む。
【0110】
ステップS220において、予測制御部91は、指定された予測モードに従って予測部95に輝度成分のイントラ予測を実行させ、予測画像データを生成させる(ステップS220)。次に、予測制御部91は、輝度成分の予測画像データと逆直交変換部64から出力される予測誤差データとの和である復号画像データを、ライン単位で輝度成分メモリ93に記憶させる(ステップS230)。
【0111】
このように輝度成分についてのイントラ予測が終了した後、同じブロックの色差成分についてのイントラ予測が行われる。
【0112】
ステップS250において、予測制御部91は、色差成分についてLMモードが指定されているか否かを判定する(ステップS250)。ここで、LMモードが指定されている場合には、予測制御部91は、LMモードに従って予測部95に色差成分のイントラ予測を実行させる(ステップS260)。ここでの予測部95によるLMモード予測処理は、図11〜図12Cを用いて説明した符号化時の処理と同様であってよい。また、LMモード以外の予測モードが指定されている場合には、予測制御部91は、指定された予測モードに従って予測部95に色差成分のイントラ予測を実行させる(ステップS270)。その結果、色差成分の予測画像データが生成される。
【0113】
そして、処理対象ブロックの全ての色成分についてイントラ予測が行われると、図15に示したイントラ予測処理は終了する(ステップS280)。
【0114】
<5.変形例>
[5−1.第1の変形例]
上述した実施形態では、輝度成分の復号画像データがライン単位で一時的にメモリに格納される。そして、LMモードでのイントラ予測の際に、メモリから読み出されるフィルタタップを用いて、輝度成分のダウンサンプリングが実行される。これに対し、本項で説明する第1の変形例のように、輝度成分のダウンサンプリングをより早い段階で行い、ダウンサンプリングの結果として得られる予測関数への入力値をメモリに格納しておくことも可能である。
【0115】
図16は、第1の変形例に係るイントラ予測部90の詳細な構成の一例を示すブロック図である。図16を参照すると、イントラ予測部90は、予測制御部91、係数算出部92、予測部95、フィルタ96及び輝度成分メモリ97を有する。
【0116】
フィルタ96及び輝度成分メモリ97は、1次元フィルタを用いたLMモードの実現のために設けられる。
【0117】
フィルタ96は、予測誤差データを用いて再構築される輝度成分の値を含む復号画像データをライン単位で加算部65から取得し、図8A又は図8Bに例示したようなフィルタタップを形成する。そして、フィルタ96は、形成したフィルタタップの値をフィルタリングすることにより、予測関数への輝度成分の入力値を生成する。
【0118】
輝度成分メモリ97は、フィルタ96により生成される、ダウンサンプリング後の輝度成分の入力値をライン単位で一時的に記憶する。輝度成分メモリ97により記憶される予測関数への輝度成分の入力値は、色差成分についてLMモードが指定された場合に、予測部95により読み出される。
【0119】
予測制御部91は、各色差成分と共通する画素位置の輝度成分について指定された予測モードにより示される予測方向に応じて、フィルタ96のフィルタタップ数を切り替えてもよい。
【0120】
[5−2.第2の変形例]
上述した実施形態では、主にクロマフォーマットが4:2:0である場合について説明した。クロマフォーマットが4:2:2である場合にも、色差成分の密度は輝度成分の密度よりも低いことから、LMモードでの色差成分の予測の際に、輝度成分の値が一次元フィルタを用いてダウンサンプリングされてよい。また、クロマフォーマットが4:4:4である場合にも、LMモードでの色差成分の予測の際に、輝度成分の値が一次元フィルタを用いてフィルタリングされてよい(この場合には、色差成分の密度は輝度成分の密度と等しいことから、“ダウンサンプリング”ではない)。但し、クロマフォーマットが4:2:2又は4:4:4である場合、個々の色差成分と画素位置が一致する輝度成分が存在する。従って、クロマフォーマットが4:2:2又は4:4:4である場合には、画像符号化装置10の予測部45及び画像復号装置60の予測部95は、各色差成分と一致する画素位置の輝度成分の値を予測関数に代入してもよい。この場合には、1次元フィルタは無効化され得る。
【0121】
例えば、図17を参照すると、クロマフォーマットが4:2:2である場合の、16×16画素のサイズを有する1つのPU内の輝度成分(Luma)及び対応する色差成分(Chroma)が、丸印で概念的に示されている。輝度成分の密度は、水平方向についてのみ色差成分の密度の2倍である。図中右において斜線で網掛けされている丸印は、対応する色差成分の予測の際に予測関数へ代入される輝度成分を示す。
【0122】
また、図18を参照すると、クロマフォーマットが4:4:4である場合の、16×16画素のサイズを有する1つのPU内の輝度成分(Luma)及び対応する色差成分(Chroma)が、丸印で概念的に示されている。輝度成分の密度は、色差成分の密度と等しい。図中右において斜線で網掛けされている丸印は、対応する色差成分の予測の際に予測関数へ代入される輝度成分を示す。
【0123】
このように、クロマフォーマットが4:2:0である場合にのみ輝度成分のフィルタリングを行うことで、処理の複雑さを低減し、LMモードの導入に伴う実装のコストを低減することができる。
【0124】
<6.応用例>
上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
【0125】
[6−1.第1の応用例]
図19は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
【0126】
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
【0127】
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【0128】
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
【0129】
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
【0130】
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
【0131】
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【0132】
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
【0133】
制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
【0134】
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
【0135】
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
【0136】
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、メモリリソースをより効率的に使用することができる。
【0137】
[6−2.第2の応用例]
図20は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
【0138】
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
【0139】
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【0140】
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
【0141】
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを再構築し、再構築した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
【0142】
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【0143】
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
【0144】
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを再構築し、再構築したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
【0145】
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、メモリリソースをより効率的に使用することができる。
【0146】
[6−3.第3の応用例]
図21は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
【0147】
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
【0148】
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
【0149】
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
【0150】
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
【0151】
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【0152】
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)又はBlu−ray(登録商標)ディスクなどであってよい。
【0153】
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
【0154】
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
【0155】
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【0156】
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
【0157】
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
【0158】
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、メモリリソースをより効率的に使用することができる。
【0159】
[6−4.第4の応用例]
図22は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【0160】
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
【0161】
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
【0162】
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
【0163】
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
【0164】
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
【0165】
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
【0166】
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
【0167】
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
【0168】
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
【0169】
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
【0170】
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、メモリリソースをより効率的に使用することができる。
【0171】
<7.まとめ>
ここまで、図1〜図22を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60について詳しく説明した。上述した実施形態によれば、画像の符号化及び復号における色差成分のイントラ予測にあたり、輝度成分の値の関数を用いるLMモードが採用される場合に、1次元フィルタを用いた輝度成分のダウンサンプリングにより予測関数への入力値が生成される。それにより、ノイズの影響を低減しながら、ライン単位での逐次処理を採用してメモリリソースをより効率的に使用することが可能となる。
【0172】
また、上述した実施形態によれば、1次元フィルタのフィルタタップは、復号画像を再構築する際の水平方向及び垂直方向の逆直交変換のうち後に実行される方向に沿って配置される。それにより、逆直交変換の出力とイントラ予測の入力との間に設けられる、輝度成分の復号画像を格納するためのメモリのサイズを縮小することができる。
【0173】
また、上述した実施形態によれば、各色差成分と共通する画素位置の輝度成分についてのイントラ予測の予測方向に応じて、1次元フィルタのフィルタタップのタップ数が適応的に制御されてもよい。それにより、フィルタタップに沿った画像の相関が強い場合にはタップ長を長くして、ノイズに対するロバスト性を高めることができる。
【0174】
なお、本明細書では、イントラ予測に関する情報及びインター予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【0175】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0176】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、
前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、
を備え、
前記フィルタは、1次元フィルタである、
画像処理装置。
(2)
前記フィルタの前記フィルタタップは、画像を再構築する際の水平方向及び垂直方向の逆直交変換のうち後に実行される第1の方向に沿って配置される、前記(1)に記載の画像処理装置。
(3)
前記画像処理装置は、前記第1の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向に応じて、前記フィルタタップのタップ数を制御する制御部、をさらに備える、前記(2)に記載の画像処理装置。
(4)
前記制御部は、前記予測方向と前記第1の方向との間の角度がより小さい場合に、前記タップ数をより大きい数に設定する、前記(3)に記載の画像処理装置。
(5)
前記制御部は、前記予測方向が前記第1の方向に重なる場合には前記タップ数を第1の数に設定し、前記予測方向が前記第1の方向に重ならない場合には前記タップ数を前記第1の数よりも小さい第2の数に設定する、前記(3)に記載の画像処理装置。
(6)
前記予測部は、クロマフォーマットが4:2:0でない場合には、前記第1の色差成分と一致する画素位置の輝度成分の値を前記予測関数に代入する、前記(1)〜(5)のいずれか1項に記載の画像処理装置。
(7)
前記フィルタは、動き補償において使用される補間フィルタと同じフィルタ係数を有する、前記(1)〜(6)のいずれか1項に記載の画像処理装置。
(8)
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値を1次元フィルタでフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成することと、
前記1次元フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測することと、
を含む画像処理方法。
【符号の説明】
【0177】
10 画像符号化装置(画像処理装置)
41 予測制御部
42 係数算出部
43 輝度成分メモリ
44 フィルタ
45 予測部
60 画像復号装置(画像処理装置)
91 予測制御部
92 係数算出部
93 輝度成分メモリ
94 フィルタ
95 予測部
【特許請求の範囲】
【請求項1】
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、
前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、
を備え、
前記フィルタは、1次元フィルタである、
画像処理装置。
【請求項2】
前記フィルタの前記フィルタタップは、画像を再構築する際の水平方向及び垂直方向の逆直交変換のうち後に実行される第1の方向に沿って配置される、請求項1に記載の画像処理装置。
【請求項3】
前記画像処理装置は、前記第1の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向に応じて、前記フィルタタップのタップ数を制御する制御部、をさらに備える、請求項2に記載の画像処理装置。
【請求項4】
前記制御部は、前記予測方向と前記第1の方向との間の角度がより小さい場合に、前記タップ数をより大きい数に設定する、請求項3に記載の画像処理装置。
【請求項5】
前記制御部は、前記予測方向が前記第1の方向に重なる場合には前記タップ数を第1の数に設定し、前記予測方向が前記第1の方向に重ならない場合には前記タップ数を前記第1の数よりも小さい第2の数に設定する、請求項3に記載の画像処理装置。
【請求項6】
前記予測部は、クロマフォーマットが4:2:0でない場合には、前記第1の色差成分と一致する画素位置の輝度成分の値を前記予測関数に代入する、請求項1に記載の画像処理装置。
【請求項7】
前記フィルタは、動き補償において使用される補間フィルタと同じフィルタ係数を有する、請求項1に記載の画像処理装置。
【請求項8】
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値を1次元フィルタでフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成することと、
前記1次元フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測することと、
を含む画像処理方法。
【請求項1】
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値をフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成するフィルタと、
前記フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測する予測部と、
を備え、
前記フィルタは、1次元フィルタである、
画像処理装置。
【請求項2】
前記フィルタの前記フィルタタップは、画像を再構築する際の水平方向及び垂直方向の逆直交変換のうち後に実行される第1の方向に沿って配置される、請求項1に記載の画像処理装置。
【請求項3】
前記画像処理装置は、前記第1の色差成分と共通する画素位置の輝度成分について選択されたイントラ予測の予測方向に応じて、前記フィルタタップのタップ数を制御する制御部、をさらに備える、請求項2に記載の画像処理装置。
【請求項4】
前記制御部は、前記予測方向と前記第1の方向との間の角度がより小さい場合に、前記タップ数をより大きい数に設定する、請求項3に記載の画像処理装置。
【請求項5】
前記制御部は、前記予測方向が前記第1の方向に重なる場合には前記タップ数を第1の数に設定し、前記予測方向が前記第1の方向に重ならない場合には前記タップ数を前記第1の数よりも小さい第2の数に設定する、請求項3に記載の画像処理装置。
【請求項6】
前記予測部は、クロマフォーマットが4:2:0でない場合には、前記第1の色差成分と一致する画素位置の輝度成分の値を前記予測関数に代入する、請求項1に記載の画像処理装置。
【請求項7】
前記フィルタは、動き補償において使用される補間フィルタと同じフィルタ係数を有する、請求項1に記載の画像処理装置。
【請求項8】
第1の色差成分と共通する画素位置の1つ以上の輝度成分及び前記第1の色差成分とは共通しない画素位置の1つ以上の輝度成分を含むフィルタタップの値を1次元フィルタでフィルタリングすることにより、前記第1の色差成分の値を予測するための予測関数に代入されるべき輝度成分の入力値を生成することと、
前記1次元フィルタにより生成される輝度成分の前記入力値を前記予測関数に代入することにより、前記第1の色差成分の値を予測することと、
を含む画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8A】
【図8B】
【図9A】
【図9B】
【図10】
【図11】
【図12A】
【図12B】
【図12C】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8A】
【図8B】
【図9A】
【図9B】
【図10】
【図11】
【図12A】
【図12B】
【図12C】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2013−110502(P2013−110502A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−252513(P2011−252513)
【出願日】平成23年11月18日(2011.11.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願日】平成23年11月18日(2011.11.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]