JPWO2011078002A1 - 画像処理装置および方法、並びにプログラム - Google Patents

画像処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JPWO2011078002A1
JPWO2011078002A1 JP2011547484A JP2011547484A JPWO2011078002A1 JP WO2011078002 A1 JPWO2011078002 A1 JP WO2011078002A1 JP 2011547484 A JP2011547484 A JP 2011547484A JP 2011547484 A JP2011547484 A JP 2011547484A JP WO2011078002 A1 JPWO2011078002 A1 JP WO2011078002A1
Authority
JP
Japan
Prior art keywords
filter coefficient
image
filter
prediction
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011547484A
Other languages
English (en)
Inventor
健治 近藤
健治 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO2011078002A1 publication Critical patent/JPWO2011078002A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Abstract

本発明は、高周波成分が失われることを抑制し、画質の鮮明感を得ることができるようにする画像処理装置および方法、並びにプログラムに関する。セレクタ95は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられ、A1フィルタ係数メモリ91に記憶されるフィルタ係数A1、L0L1重み付き予測を使う場合の双予測モードに用いられ、A2フィルタ係数メモリ92に記憶されるフィルタ係数A2、L0L1重み付き予測を使う場合のダイレクト・モードに用いられ、A3フィルタ係数メモリ93に記憶されるフィルタ係数A3、並びに、L0L1重み付き予測を使う場合のスキップ・モードに用いられ、A4フィルタ係数メモリ94に記憶されるフィルタ係数A4のうち、1つのフィルタ係数を選択し、固定補間フィルタに出力する。本発明は、例えば、H.264/AVC方式をベースに符号化する画像符号化装置に適用することができる。

Description

本発明は画像処理装置および方法に関し、特に、高周波成分が失われることを抑制し、画質の鮮明感を得ることができるようにした画像処理装置および方法に関する。
画像情報を圧縮する標準規格として、H.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)がある。
H.264/AVCにおいては、フレームまたはフィールド間の相関に注目したインター予測が行われる。そして、このインター予測で行われる動き補償処理では、既に保存されている参照可能な画像内の一部の領域を用いて、インター予測による予測画像(以下、インター予測画像という)が生成される。
例えば、図1に示すように、既に保存されている参照可能な画像の5フレームが参照フレームとされた場合、インター予測するフレーム(原フレーム)のインター予測画像の一部は、5つのうちのいずれか1つの参照フレームの画像(以下、参照画像という)の一部を参照して構成される。なお、インター予測画像の一部となる参照画像の一部の位置は、参照フレームと原フレームの画像に基づいて検出された動きベクトルによって決定される。
より詳細には、図2に示すように、参照フレーム内の顔11が、原フレームにおいて右下方向に移動し、下部の約1/3が隠れた場合、右下方向の逆の左上方向を表す動きベクトルが検出される。そして、原フレーム内の隠れていない顔11の一部12は、その一部12を動きベクトルが表す動きだけ移動させた位置の参照フレーム内の顔11の一部13を参照して構成される。
また、H.264/AVCにおいては、動き補償処理において、動きベクトルの分解能を2分の1または4分の1といった分数精度に向上させることが考えられている。
このような分数精度の動き補償処理においては、隣接する画素の間に、Sub pelと呼ばれる仮想的な分数位置の画素を設定し、そのSub pelを生成する処理(以下、インターポーレーションという)が追加して行われる。すなわち、分数精度の動き補償処理では、動きベクトルの最小分解能が分数位置の画素になるため、分数位置の画素を生成するためのインターポーレーションが行われる。
図3は、インターポーレーションによって縦方向と横方向の画素数が4倍に増加された画像の各画素を示している。なお、図3において、白色の正方形は、整数位置の画素(Integer pel(Int. pel))を表し、斜線が付された正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
インターポーレーションによって生成される分数位置の画素の画素値b,h,j,a,d,f,rは、以下に示す式(1)で表される。
b=(E-5F+20G+20H-5I+J)/32
h=(A-5C+20G+20M-5R+T)/32
j=(aa-5bb+20b+20s-5gg+hh)/32
a=(G+b)/2
d=(G+h)/2
f=(b+j)/2
r=(m+s)/2
・・・(1)
なお、画素値aa,bb,s,gg,hhはbと同様に、cc,dd,m,ee,ffはhと同様に、cはaと同様に、f,n,qはdと同様に、e,p,gはrと同様に、それぞれ求めることができる。
上述した式(1)は、H.264/AVCなどのインターポーレーションで採用される式であり、この式は規格の違いによって異なるが、式の目的は同一である。この式は、偶数のタップ数を有する有限インパルス応答(FIR(Finit-duration Impulse Response))フィルタで実現することができる。例えば、H.264/AVCにおいては、6タップの補間フィルタが用いられている。
ところで、H.264/AVCにおいては、特に、Bピクチャの場合、図4に示されるように、双方向予測が使用できる。図4においては、表示順序でピクチャが示されており、符号化対象ピクチャの表示順序の前後に符号化済みの参照ピクチャが並んでいる。符号化対象ピクチャがBピクチャの場合、例えば、符号化対象ピクチャの対象予測ブロックに示されるように、前後(双方向)の参照ピクチャの2つのブロックを参照し、前方向のL0予測の動きベクトルと、後方向のL1予測の動きベクトルを持つことができる。
すなわち、L0は、主に対象予測ブロックよりも表示時刻が早いもので、L1は、主に対象予測ブロックよりも表示時刻が遅いものとなる。それらの区別された参照ピクチャを符号化モード別に使い分けることができる。符号化モードには、図5に示されるように、画面内符号化(イントラ予測)、L0予測、L1予測、双予測、ダイレクト・モードの5種類がある。
図5は、符号化モードと参照ピクチャおよび動きベクトルの関係を示す図である。なお、図5において、参照ピクチャは、その符号化モードで参照ピクチャとして使うか使わないかを示し、動きベクトルは、その符号化モードが動きベクトル情報を持っているか持っていないかを示している。
画面内符号化モードは、画面内(すなわち、イントラ)で予測するモードであり、L0参照ピクチャもL1参照ピクチャも使わず、L0予測の動きベクトルもL1予測の動きベクトル情報も持たない符号化モードである。L0予測モードは、L0参照ピクチャのみを使って予測を行い、L0予測の動きベクトル情報を持っている符号化モードである。L1予測モードでは、L1参照ピクチャのみを使って予測を行い、L1予測の動きベクトル情報を持っている符号化モードである。
双予測モードでは、L0およびL1参照ピクチャを使って予測を行い、L0およびL1予測の動きベクトル情報を持っている符号化モードである。ダイレクト・モードでは、L0およびL1参照ピクチャを使って予測を行うが、動きベクトル情報は持っていない符号化モードである。すなわち、ダイレクト・モードは、動きベクトル情報を持っていないが、参照ピクチャにおける符号化済みブロックの動きベクトル情報から、現時の対象予測ブロックの動きベクトル情報を予測して使用する符号化モードである。なお、ダイレクト・モードにも、L0またはL1参照ピクチャのどちらか一方しか持たない場合もありうる。
以上のように、双予測モードおよびダイレクト・モードにおいては、L0およびL1参照ピクチャを両方用いる場合がある。参照ピクチャが2枚の場合、次の式(2)に示される重み付き予測によって、双予測モードまたはダイレクト・モードの予測信号を得ることができる。
Bi-Pred = W+W+D ・・・(2)
ここで、YBi-Predは、双予測モードあるいはダイレクト・モードのオフセット付き重み補間信号であり、W、Wは、それぞれL0、L1への重み係数であり、Y、Yは、L0、L1の動き補償予測信号である。このW、W、Dは、明示的にビットストリーム情報に含められたり、復号側で暗黙的に計算によって得られたりするものが用いられる。
参照ピクチャの符号化劣化がL0およびL1の2枚の参照ピクチャで無相関ならば、この重み付き予測によって符号化劣化が抑制される。その結果、予測信号と入力信号との差分である残差信号が減り、残差信号のビット量が削減され、符号化効率が改善される。
また、非特許文献1乃至3には、最近の研究報告として、アダプティブ・インターポーレーション・フィルタ(AIF)が挙げられている。このAIFを用いた動き補償処理では、インターポーレーションで用いられるタップ数が偶数のFIRフィルタのフィルタ係数を適応的に変えることで、エイリアシングの影響や符号化歪みを低減し、動き補償の誤差を小さくすることができる。
AIFには、フィルタ構造の違いから、いくつかバリエーションがあるが、代表して、図6を参照して、非特許文献2に記載のSeparable adaptive interpolation filter(以下、Separable AIFと称する)について説明する。なお、図6において、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
Separable AIFにおいては、第1ステップとして、横方向に対する非整数位置の補間が行われ、第2ステップとして、縦方向に対する非整数方向の補間が行われる。なお、横と縦の処理順を逆にすることも可能である。
まず、第1ステップである、分数位置の画素の画素値a,b,cは、整数位置の画素の画素値E,F,G,H,I,JからFIRフィルタにより次の式(3)で計算される。ここで、h[pos][n]は、フィルタ係数であり、posは、図3に示されたsub pelの位置を示し、nはフィルタ係数の番号を示す。このフィルタ係数は、ストリーム情報に含められて復号側で使用される。
a = h[a][0] x E + h1[a][1] x F + h2[a][2] x G + h[a][3]
x H + h[a][4] x I + h[a][5] x J
b = h[b][0] x E + h1[b][1] x F + h2[b][2] x G + h[b][3]
x H + h[b][4] x I + h[b][5] x J
c = h[c][0] x E + h1[c][1] x F + h2[c][2] x G + h[c][3]
x H + h[c][4] x I + h[c][5] x J
・・・(3)
なお、画素値G1,G2,G3,G4,G5の行の分数位置の画素の画素値(a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4,a5,b5,c5)に対しても、画素値a,b,cと同様に求めることができる。
次に、第2ステップである、画素値a,b,c以外の画素値d乃至oは、次の式(4)で計算される。
d = h[d][0] x G1 + h[d][1] x G2 + h[d][2] x G + h[d][3]
x G3 + h[d][4] * G4 + h[d][5] x G5
h = h[h][0] x G1 + h[h][1] x G2 + h[h][2] x G + h[h][3]
x G3 + h[h][4] * G4 + h[h][5] x G5
l = h[l][0] x G1 + h[l][1] x G2 + h[l][2] x G + h[l][3]
x G3 + h[l][4] * G4 + h[l][5] x G5
e = h[e][0] x a1 + h[e][1] x a2 + h[e][2] x a + h[e][3]
x a3 + h[e][4] * a4 + h[e][5] x a5
i = h[i][0] x a1 + h[i][1] x a2 + h[i][2] x a + h[i][3]
x a3 + h[i][4] * a4 + h[i][5] x a5
m = h[m][0] x a1 + h[m][1] x a2 + h[m][2] x a + h[m][3]
x a3 + h[m][4] * a4 + h[m][5] x a5
f = h[f][0] x b1 + h[f][1] x b2 + h[f][2] x b + h[f][3]
x b3 + h[f][4] * b4 + h[f][5] x b5
j = h[j][0] x b1 + h[j][1] x b2 + h[j][2] x b + h[j][3]
x b3 + h[j][4] * b4 + h[j][5] x b5
n = h[n][0] x b1 + h[n][1] x b2 + h[n][2] x b + h[n][3]
x b3 + h[n][4] * b4 + h[n][5] x b5
g = h[g][0] x c1 + h[g][1] x c2 + h[g][2] x c + h[g][3]
x c3 + h[g][4] * c4 + h[g][5] x c5
k = h[k][0] x c1 + h[k][1] x c2 + h[k][2] x c + h[k][3]
x c3 + h[k][4] * c4 + h[k][5] x c5
o = h[o][0] x c1 + h[o][1] x c2 + h[o][2] x c + h[o][3]
x c3 + h[o][4] * c4 + h[o][5] x c5
・・・(4)
なお、上述した方法では、フィルタ係数がすべて独立しているが、非特許文献2では、次の式(5)が示されている。
a = h[a][0] x E + h1[a][1] x F + h2[a][2] x G + h[a][3]
x H + h[a][4] x I + h[a][5] x J
b = h[b][0] x E + h1[b][1] x F + h2[b][2] x G + h[b][2]
x H + h[b][1] x I + h[b][0] x J
c = h[c][0] x E + h1[c][1] x F + h2[c][2] x G + h[c][3]
x H + h[c][4] x I + h[c][5] x J
d = h[d][0] x G1 + h[d][1] x G2 + h[d][2] x G + h[d][3]
x G3 + h[d][4] * G4 + h[d][5] x G5
h = h[h][0] x G1 + h[h][1] x G2 + h[h][2] x G + h[h][2]
x G3 + h[h][1] * G4 + h[h][0] x G5
l = h[d][5] x G1 + h[d][4] x G2 + h[d][3] x G + h[d][2]
x G3 + h[d][1] * G4 + h[d][0] x G5
e = h[e][0] x a1 + h[e][1] x a2 + h[e][2] x a + h[e][3]
x a3 + h[e][4] * a4 + h[e][5] x a5
i = h[i][0] x a1 + h[i][1] x a2 + h[i][2] x a + h[i][2]
x a3 + h[i][1] * a4 + h[i][0] x a5
m = h[e][5] x a1 + h[e][4] x a2 + h[e][3] x a + h[e][2]
x a3 + h[e][1] * a4 + h[e][0] x a5
f = h[f][0] x b1 + h[f][1] x b2 + h[f][2] x b + h[f][3]
x b3 + h[f][4] * b4 + h[f][5] x b5
j = h[j][0] x b1 + h[j][1] x b2 + h[j][2] x b + h[j][2]
x b3 + h[j][1] * b4 + h[j][0] x b5
n = h[f][5] x b1 + h[f][4] x b2 + h[f][3] x b + h[f][2]
x b3 + h[f][1] * b4 + h[f][0] x b5
g = h[g][0] x c1 + h[g][1] x c2 + h[g][2] x c + h[g][3]
x c3 + h[g][4] * c4 + h[g][5] x c5
k = h[k][0] x c1 + h[k][1] x c2 + h[k][2] x c + h[k][2]
x c3 + h[k][1] * c4 + h[k][0] x c5
o = h[g][5] x c1 + h[g][4] x c2 + h[g][3] x c + h[g][2]
x c3 + h[g][1] * c4 + h[g][0] x c5
・・・(5)
例えば、画素値bを算出するためのフィルタ係数の1つh[b][3]は、h[b][2]に置き換えられている。前者のように、完全にすべてのフィルタ係数が独立していた場合、フィルタ係数の数は合計で90になるが、非特許文献2の方法では、フィルタ係数の数が51に削減されることになる。
上述したAIFは、補間フィルタの性能を改善するが、フィルタ係数をストリーム情報に含めるため、オーバーヘッドが存在し、場合よっては、符号化効率を劣化させてしまうことも起こる。そこで、非特許文献3では、フィルタ係数の対称性を使って削減し、オーバーヘッドを減らすようにしている。符号化側では、どのSub pelのフィルタ係数が他のSub pelと近いかを調べて、近いフィルタ係数は1つに集約する。どのように集約されたかを示す対称性の記述子をストリーム情報に含めて復号側に送る。復号側では、その対称性の記述子を受け取り、フィルタ係数がどのように集約されたかを知ることができる。
ところで、H.264/AVC方式において、マクロブロックサイズは16×16画素である。しかしながら、マクロブロックサイズを16×16画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
そこで、非特許文献4などにおいては、マクロブロックサイズを、例えば、32×32画素といった大きさに拡張することも提案されている。
なお、上述した従来の図は、適宜、本願発明の説明にも用いられる。
Yuri Vatis, Joern Ostermann,"Prediction of P- and B-Frames Using a Two-dimensional Non-separable Adaptive Wiener Interpolation Filter for H.264/AVC", ITU-T SG16 VCEG 30th Meeting, Hangzhou China, October 2006 Steffen Wittmann,Thomas Wedi,"Separable adaptive inerpolation filte", ITU-T SG16COM16-C219-E,June 2007 Dmytro Rusanovskyy, et al., "Improvements on Enhanced Directional Adaptive Filtering (EDAIF-2)", COM 16 - C 125 - E, January 2009 "Video Coding Using Extended Block Sizes",VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
上述したように、参照ピクチャを複数使った重み付き予測は、各参照ピクチャの符号化劣化を低減する効果が得られる一方で、高周波成分が失われてしまう恐れがある。
この原因は、複数考えられるが、主な要因としては位置合わせのずれによるものと考えられる。すなわち、2枚の予測画像を重み付き予測によって重ね合わせる際、現時の対象予測ブロックの完全な位置合わせが困難なことから、特に画像の輪郭部分に位置ずれが起こる。これは、図7に示されるように、各参照ピクチャから得られる予測信号が、2枚の予測画像の輪郭部分で位置ずれが起こることに起因する。
図7の例においては、横軸は、画像の位置を表し、縦軸は、その位置の輝度値を表している。菱形付き線は、入力信号であり、四角付き線は、L0参照ピクチャによる予測信号であり、三角付き線は、L1参照ピクチャによる予測信号であり、バツ付き線は、W=W=0.5としたときの重み付き予測信号である。
図7の入力信号の変化に対して、L0およびL1の予測信号は左右にずれており、これらのL0およびL1の予測信号から重み付き予測は、その変化が入力信号に対して緩やかになっていることがわかる。
双予測モードおよびダイレクト・モードにおける予測信号である重み付き予測信号が緩やかに変化するようになることは、輪郭部分でボケが生じる原因となり、符号化効率を悪化させ、画質の面でも悪い印象になる恐れがある。
このような位置ずれは、双予測よりもダイレクト・モードで顕著になることが多い。双予測モードでは、動きベクトル情報を所持しているため、ダイレクト・モードと比して正確な位置合わせができる。しかしながら、ダイレクト・モードは符号化済みブロックから予測して得られた動きベクトル情報が用いられる。したがって、符号化済みブロックからの予測誤差が避けられないため、ダイレクト・モードの位置合わせに誤差が生じる。
また、非特許文献1乃至3のAIF技術によれば、補間フィルタのフィルタ特性をスライス単位で変更でき、参照ピクチャの符号化劣化を低減できるようになる。即ち、AIFの有する空間的なLPF(Low Pass Filter)特性を用いて、参照ピクチャに含まれるノイズの高域成分を弱めることで、符号化劣化を低減することができる。しかしながら、このLPF特性により、画像の高周波成分も失う恐れがある。
さらにこの事実は前述の重み付き予測における事実と合わさることで更に大きな影響を受ける恐れがある。すなわち、AIFによって補間信号の空間的な高周波成分が失われ、さらに重み付き予測によって時間的な高周波成分が失われることになる。AIF技術と、双予測モードあるいはダイレクト・モードの重み付き予測の組み合わせによって、不必要に高周波成分が失われることになり、符号化効率の改善が得られず、画質の鮮明感が失われる恐れがある。
AIFの空間的なLPF特性を比較的弱い強度にすることにより、不必要に高周波成分が失われることを抑制することはできるが、重み付き予測が行われない場合、時間的な高周波成分が失われないので、参照ピクチャの符号化劣化が十分に低減されない恐れがある。即ち、重み付き予測が行われない場合に最適なAIFの空間的なLPF特性は、重み付き予測が行われる場合には過剰であり、画像の高周波成分を失う恐れがある。一方、重み付き予測が行われる場合に最適なAIFの空間的なLPF特性は、重み付き予測が行われない場合には過少であり、参照ピクチャの符号化劣化が十分に低減されない恐れがある。
本発明は、このような状況に鑑みてなされたものであり、高周波成分が失われることを抑制し、画質の鮮明感を得ることができるものである。
本発明の一側面の画像処理装置は、符号化された画像に対応する参照画像の画素を分数精度で補間する補間フィルタと、前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記補間フィルタのフィルタ係数を選択するフィルタ係数選択手段と、前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記符号化された画像に対応する動きベクトルを用いて、予測画像を生成する動き補償手段とを備える。
前記フィルタ係数選択手段は、前記異なる複数の前記参照画像による重み付け予測の使用の場合、さらに、双予測モードであるか否かに基づいて、前記補間フィルタのフィルタ係数を選択することができる。
前記フィルタ係数選択手段は、前記双予測モードであるか否かに基づいて、高周波成分の増幅の程度の異なる前記フィルタ係数を選択することができる。
前記フィルタ係数選択手段は、前記異なる複数の前記参照画像による重み付け予測の使用の場合、さらに、双予測モードであるか、ダイレクト・モードであるか、スキップ・モードであるかに基づいて、前記補間フィルタのフィルタ係数を選択することができる。
前記補間フィルタは、前記フィルタ係数選択手段により選択される前記フィルタ係数とオフセット値とを用いて、前記参照画像の画素を分数精度で補間することができる。
前記符号化された画像、前記動きベクトル、および符号化時に算出された前記フィルタ係数を復号する復号手段をさらに備え、前記フィルタ係数選択手段は、前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記復号手段により復号された前記フィルタ係数を選択することができる。
前記フィルタ係数は、前記重み付け予測の使用時用の複数種類のフィルタ係数と、前記重み付け予測の未使用時用の複数種類のフィルタ係数とからなり、前記フィルタ係数選択手段は、前記重み付け予測の使用または未使用と、前記フィルタ係数の種類を特定するための情報とに基づいて、前記復号手段により復号された前記フィルタ係数を選択することができる。
符号化対象の画像と、前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記動きベクトルを検出する動き予測手段をさらに備えることができる。
前記フィルタ係数選択手段は、前記異なる複数の前記参照画像による重み付け予測の使用の場合、さらに、双予測モードであるか否かに基づいて、前記補間フィルタのフィルタ係数を選択することができる。
前記符号化対象の画像、前記参照画像、および前記動き予測手段により検出された前記動きベクトルを用いて、前記補間フィルタのフィルタ係数を算出するフィルタ係数算出手段をさらに備え、前記フィルタ係数選択手段は、異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記フィルタ係数算出手段により算出された前記フィルタ係数を選択することができる。
前記フィルタ係数選択手段は、異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記フィルタ係数算出手段により算出された前記フィルタ係数を第1の選択候補とするとともに、所定のフィルタ係数を第2の選択候補とし、前記動き予測手段は、前記符号化対象の画像と、前記第1の選択候補の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記第1の選択候補用の動きベクトルを検出するとともに、前記符号化対象の画像と、前記第2の選択候補の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記第2の選択候補用の動きベクトルを検出し、前記動き補償手段は、前記第1の選択候補の前記補間フィルタにより補間された前記参照画像と、前記第1の選択候補用の動きベクトルを用いて、前記第1の選択候補用の予測画像を生成するとともに、前記第2の選択候補の前記補間フィルタにより補間された前記参照画像と、前記第2の選択候補用の動きベクトルを用いて、前記第2の選択候補用の予測画像を生成し、前記フィルタ係数選択手段は、前記第1の選択候補用の予測画像と前記符号化対象の画像との差分と、前記第2の選択候補用の予測画像と前記符号化対象の画像との差分のうちの小さい方の差分に対応するフィルタ係数を選択することができる。
前記フィルタ係数は、前記重み付け予測の使用時用の複数種類のフィルタ係数と、前記重み付け予測の未使用時用の複数種類のフィルタ係数とからなり、前記フィルタ係数選択手段は、前記重み付け予測の使用または未使用と、各種類のフィルタ係数に対応するコスト関数値とに基づいて、前記フィルタ係数を選択することができる。
本発明の一側面の画像処理方法は、符号化された画像に対応する参照画像の画素を分数精度で補間する補間フィルタを備える画像処理装置の画像処理方法において、前記画像処理装置が、前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記補間フィルタのフィルタ係数を選択し、選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記符号化された画像に対応する動きベクトルを用いて、予測画像を生成するステップを含む。
前記画像処理装置が、符号化対象の画像と、選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記動きベクトルを検出するステップをさらに含むことができる。
本発明の一側面のプログラムは、符号化された画像に対応する参照画像の画素を分数精度で補間する補間フィルタを備える画像処理装置のコンピュータを、前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記補間フィルタのフィルタ係数を選択するフィルタ係数選択手段と、前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記符号化された画像に対応する動きベクトルを用いて、予測画像を生成する動き補償手段として、機能させる。
前記コンピュータを、符号化対象の画像と、前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記動きベクトルを検出する動き予測手段として、さらに機能させることができる。
本発明の一側面においては、符号化された画像における異なる複数の参照画像による重み付け予測の使用または未使用に基づいて、前記符号化された画像に対応する前記参照画像の画素を分数精度で補間する補間フィルタのフィルタ係数が選択される。そして、選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と、復号された前記動きベクトルを用いて、予測画像が生成される。
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
本発明によれば、高周波成分が失われることを抑制し、画質の鮮明感を得ることができる。
従来のインター予測について説明する図である。 従来のインター予測について詳細に説明する図である。 インターポーレーションについて説明する図である。 双方向予測を説明する図である。 符号化モードと参照ピクチャおよび動きベクトルの関係を示す図である。 Separable AIFを説明する図である。 入力信号と予測信号の誤差について説明する図である。 本発明を適用した画像符号化装置の第1実施の形態の構成を示すブロック図である。 動き予測・補償部の構成例を示すブロック図である。 フィルタ係数の分類について説明する図である。 パターンAの場合のフィルタ係数記憶部の構成例を示すブロック図である。 パターンAの場合のフィルタ係数算出部の構成例を示すブロック図である。 横方向についてフィルタ係数の算出を説明する図である。 縦方向についてフィルタ係数の算出を説明する図である。 図8の画像符号化装置の符号化処理を説明するフローチャートである。 図13のステップS22の動き予測・補償処理を説明するフローチャートである。 図16のステップS51のフィルタ係数選択処理を説明するフローチャートである。 本発明を適用した画像復号装置の第1実施の形態の構成を示すブロック図である。 図18の動き補償部の構成例を示すブロック図である。 パターンAの場合の固定フィルタ係数記憶部の構成例を示すブロック図である。 パターンAの場合の可変フィルタ係数記憶部の構成例を示すブロック図である。 図18の画像復号装置の復号処理を説明するフローチャートである。 図22のステップS139の動き補償処理を説明するフローチャートである。 図23のステップS153の可変フィルタ係数置き換え処理を説明するフローチャートである。 拡張されたブロックサイズの例を示す図である。 コンピュータのハードウエアの構成例を示すブロック図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。 本発明を適用した画像符号化装置の第2実施の形態の構成を示すブロック図である。 図31の動き予測・補償部の構成例を示すブロック図である。 パターンAの場合のフィルタ係数選択部の構成例を示すブロック図である。 A1フィルタ係数メモリの記憶情報の例を示す図である。 動き予測・補償処理を説明するフローチャートである。 本発明を適用した画像復号装置の第2実施の形態の構成を示すブロック図である。 図36の動き補償部の構成例を示すブロック図である。 パターンAの場合のフィルタ係数セット記憶部の構成例を示すブロック図である。 動き補償処理を説明するフローチャートである。 フィルタ係数の他の分類について説明する図である。
以下、図を参照して本発明の実施の形態について説明する。
<第1実施の形態>
[画像符号化装置の構成例]
図8は、本発明を適用した画像処理装置としての画像符号化装置の第1実施の形態の構成を表している。
この画像符号化装置51は、例えば、H.264及びMPEG-4 Part10(Advanced Video Coding)(以下H.264/AVCと記す)方式をベースに、入力された画像を圧縮符号化する。
図8の例において、画像符号化装置51は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、蓄積バッファ67、逆量子化部68、逆直交変換部69、演算部70、デブロックフィルタ71、フレームメモリ72、スイッチ73、イントラ予測部74、動き予測・補償部75、予測画像選択部76、およびレート制御部77により構成されている。
A/D変換部61は、入力された画像をA/D変換し、画面並べ替えバッファ62に出力し、記憶させる。画面並べ替えバッファ62は、記憶した表示の順番のフレームの画像を、Gop(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
演算部63は、画面並べ替えバッファ62から読み出された画像から、予測画像選択部76により選択されたイントラ予測部74からの予測画像または動き予測・補償部75からの予測画像を減算し、その差分情報を直交変換部64に出力する。直交変換部64は、演算部63からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部65は直交変換部64が出力する変換係数を量子化する。
量子化部65の出力となる、量子化された変換係数は、可逆符号化部66に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
可逆符号化部66は、イントラ予測を示す情報をイントラ予測部74から取得し、インター予測モードを示す情報などを動き予測・補償部75から取得する。なお、イントラ予測を示す情報およびインター予測を示す情報は、以下、それぞれ、イントラ予測モード情報およびインター予測モード情報とも称する。
可逆符号化部66は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部66は、符号化したデータを蓄積バッファ67に供給して蓄積させる。
例えば、可逆符号化部66においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ67は、可逆符号化部66から供給されたデータを、符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部65より出力された、量子化された変換係数は、逆量子化部68にも入力され、逆量子化された後、さらに逆直交変換部69において逆直交変換される。逆直交変換された出力は演算部70により予測画像選択部76から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ71は、復号された画像のブロック歪を除去した後、フレームメモリ72に供給し、蓄積させる。フレームメモリ72には、デブロックフィルタ71によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
スイッチ73はフレームメモリ72に蓄積された参照画像を動き予測・補償部75またはイントラ予測部74に出力する。
この画像符号化装置51においては、例えば、画面並べ替えバッファ62からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部74に供給される。また、画面並べ替えバッファ62から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部75に供給される。
イントラ予測部74は、画面並べ替えバッファ62から読み出されたイントラ予測する画像とフレームメモリ72から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
その際、イントラ予測部74は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
このコスト関数は、RD(Rate Distortion)コストともいい、例えば、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められているような、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいてその値が算出される。
具体的には、コスト関数値の算出手法としてHigh Complexity モードが採用される場合、候補となる全てのイントラ予測モードに対して、仮に符号化処理までが行われ、次の式(6)で表わされるコスト関数が各イントラ予測モードに対して算出される。
Cost(Mode)=D+λ・R ・・・(6)
Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
一方、コスト関数値の算出手法としてLow Complexity モードが採用される場合、候補となる全てのイントラ予測モードに対して、イントラ予測画像の生成、および、イントラ予測モードを表す情報などのヘッダビットの算出が行われ、次の式(7)で表わされるコスト関数が各イントラ予測モードに対して算出される。
Cost(Mode)=D+QPtoQuant(QP)・Header_Bit ・・・(7)
Dは、原画像と復号画像の差分(歪)、Header_Bitは、イントラ予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Low Complexity モードにおいては、全てのイントラ予測モードに対して、イントラ予測画像を生成するだけでよく、符号化処理を行う必要がないため、演算量が少なくて済む。
イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部76に供給する。イントラ予測部74は、予測画像選択部76により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部66に供給する。可逆符号化部66は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
動き予測・補償部75は、フィルタ係数が固定の補間フィルタを用いて、参照画像にフィルタ処理を行う。なお、フィルタ係数が固定とは、1つに固定する意味ではなく、AIF(Adaptive Interpolation Filter)における可変に対する固定であって、係数を入れ替えることは可能である。以下、固定の補間フィルタによるフィルタ処理を、固定フィルタ処理ともいう。
動き予測・補償部75は、インター処理する画像と固定フィルタ処理後の参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。そして、動き予測・補償部75は、固定フィルタ処理後の参照画像に対して補償処理を行い、予測画像を生成する。このとき、動き予測・補償部75は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、予測モードを決定し、決定した予測モードで、処理対象のスライスのコスト関数値を求める。
また、動き予測・補償部75は、生成された動きベクトル、インター処理する画像、参照画像を用いて、スライスの種類に応じたタップ数の、係数の可変の補間フィルタ(AIF)のフィルタ係数を求める。そして、動き予測・補償部75は、求めたフィルタ係数のフィルタを用いて、参照画像にフィルタ処理を行う。なお、以下、可変の補間フィルタによるフィルタ処理を、可変フィルタ処理ともいう。
ここで、動き予測・補償部75においては、少なくとも、L0およびL1の参照画素を用いた重み付き予測(以下、L0L1重み付き予測と称する)に用いられる固定フィルタ用のフィルタ係数(以下、固定フィルタ係数と称する)と、それ以外の予測に用いられる固定フィルタ係数が記憶されている。また、可変の場合も同様に、動き予測・補償部75においては、少なくとも、L0L1重み付き予測に用いられる可変フィルタ用のフィルタ係数(以下、可変フィルタ係数と称する)と、それ以外の予測に用いられる可変フィルタ係数が算出される。
例えば、L0L1重み付き予測に用いられるフィルタ係数は、そのフィルタ処理後の画像の高周波成分を増幅するようなフィルタ特性を有している。
そして、動き予測・補償部75においては、L0L1重み付き予測が行われる場合には、L0およびL1の参照画素を用いた重み付き予測に用いられる固定フィルタ係数および可変フィルタ係数で予測が行われる。一方、L0L1重み付き予測以外の予測が行われる場合には、L0およびL1の参照画素を用いた重み付き予測以外の予測に用いられる固定フィルタ係数および可変フィルタ係数で予測が行われる。
動き予測・補償部75は、再度、インター処理する画像と可変フィルタ処理後の参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。そして、動き予測・補償部75は、可変フィルタ処理後の参照画像に対して補償処理を行い、予測画像を生成する。このとき、動き予測・補償部75は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、予測モードを決定し、決定した予測モードで、処理対象のスライスのコスト関数値を求める。
そして、動き予測・補償部75は、固定フィルタ処理後のコスト関数値と、可変フィルタ処理後のコスト関数値を比較する。動き予測・補償部75は、その値の小さい方を採用し、その予測画像とコスト関数値を予測画像選択部76に出力するとともに、処理対象のスライスがAIFを使用するか否かを示すAIF使用フラグを設定する。このAIF使用フラグは、L0L1重み付き予測に用いられるフィルタ係数およびそれ以外の予測に用いられるフィルタ係数毎に設定される。
動き予測・補償部75は、予測画像選択部76により最適インター予測モードの対象ブロックの予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報)を可逆符号化部66に出力する。
このとき、動きベクトル情報、参照フレーム情報、スライスの情報、およびAIF使用フラグ、並びに、AIF使用の場合には、フィルタ係数なども可逆符号化部66に出力される。可逆符号化部66は、動き予測・補償部75からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。なお、スライスの情報、AIF使用フラグ、およびフィルタ係数は、スライスヘッダに挿入される。
予測画像選択部76は、イントラ予測部74または動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部76は、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。このとき、予測画像選択部76は、点線に示されるように、予測画像の選択情報を、イントラ予測部74または動き予測・補償部75に供給する。
レート制御部77は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[動き予測・補償部の構成例]
図9は、動き予測・補償部75の構成例を示すブロック図である。なお、図9においては、図8のスイッチ73が省略されている。
図9の例において、動き予測・補償部75は、固定補間フィルタ81、フィルタ係数記憶部82、可変補間フィルタ83、フィルタ係数算出部84、動き予測部85、動き補償部86および制御部87により構成されている。
画面並べ替えバッファ62からの入力画像(インター処理する画像)は、フィルタ係数算出部84、および動き予測部85に入力される。フレームメモリ72からの参照画像は、固定補間フィルタ81、可変補間フィルタ83、およびフィルタ係数算出部84に入力される。
固定補間フィルタ81は、フィルタ係数が固定(すなわち、AIFではない)の補間フィルタである。固定補間フィルタ81は、フレームメモリ72からの参照画像に対して、フィルタ係数記憶部82からのフィルタ係数を用いて、フィルタ処理を施し、固定フィルタ処理後の参照画像を、動き予測部85および動き補償部86に出力する。
フィルタ係数記憶部82は、固定補間フィルタ81で使用される、少なくとも、L0L1重み付き予測用およびそれ以外の予測用の固定フィルタ係数を記憶しており、それらのフィルタ係数を読み出して、制御部87の制御のもと選択し、選択した固定フィルタ係数を、固定補間フィルタ81に供給する。
可変補間フィルタ83は、フィルタ係数可変の補間フィルタ(すなわち、AIF)である。可変補間フィルタ83は、フレームメモリ72からの参照画像に対して、フィルタ係数算出部84により算出された可変フィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像を動き予測部85および動き補償部86に出力する。
フィルタ係数算出部84は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部85からの1回目の動きベクトルを用いて、可変補間フィルタ83のフィルタ処理後の参照画像を、入力画像に近づけるためのフィルタ係数を算出する。例えば、フィルタ係数算出部84は、少なくとも、L0L1重み付き予測に用いられる可変フィルタ係数と、それ以外の予測に用いられる可変フィルタ係数を算出する。フィルタ係数算出部84は、算出した可変フィルタ係数を、制御部87の制御もと選択し、選択した可変フィルタ係数を可変補間フィルタ83に供給する。
また、フィルタ係数算出部84は、制御部87からの制御のもと、予測画像選択部76においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、L0L1重み付き予測またはその他の予測に対応する可変フィルタ係数を、可逆符号化部66に出力する。
動き予測部85は、画面並べ替えバッファ62からの入力画像と、固定補間フィルタ81からの固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの1回目の動きベクトルを生成し、生成した動きベクトルを、フィルタ係数算出部84および動き補償部86に出力する。また、動き予測部85は、画面並べ替えバッファ62からの入力画像と、可変補間フィルタ83からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの2回目の動きベクトルを生成し、生成した動きベクトルを、動き補償部86に出力する。
動き補償部86は、1回目の動きベクトルを用いて、固定補間フィルタ81からの固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部86は、ブロック毎にコスト関数値を算出することにより、最適インター予測モードを決定し、決定した最適インター予測モードで、対象スライスの1回目のコスト関数値を算出する。
動き補償部86は、次に、2回目の動きベクトルを用いて、可変補間フィルタ83からの可変フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部86は、ブロック毎にコスト関数値を算出することにより、最適インター予測モードを決定し、決定した最適インター予測モードで、対象スライスの2回目のコスト関数値を算出する。
そして、動き補償部86は、対象スライスについて、1回目のコスト関数値と2回目のコスト関数値を比較し、その値が小さい方のフィルタを使用することを決定する。すなわち、動き補償部86は、1回目のコスト関数値の方が小さい場合、その対象スライスでは固定フィルタを使用するとし、固定フィルタ後の参照画像で生成された予測画像とコスト関数値を予測画像選択部76に供給し、AIF使用フラグの値を0(未使用)に設定する。また、動き補償部86は、2回目のコスト関数値の方が小さい場合、その対象スライスでは可変フィルタを使用するとし、可変フィルタ後の参照画像で生成された予測画像とコスト関数値を予測画像選択部76に供給し、AIF使用フラグの値を1(使用)に設定する。
なお、このAIF使用フラグは、L0L1重み付き予測に用いられるフィルタ係数およびそれ以外の予測に用いられるフィルタ係数毎に設定される。したがって、対象スライスで固定フィルタを使用する場合、それらに対応した両方のフラグの値が0に設定される。対象スライスで可変フィルタを使用する場合、両方のフィルタ係数が算出されていれば、両方のフラグの値が1に設定される。すなわち、算出されていない(すなわち、対応する予測モードが用いられていない)フィルタ係数に対応するフラグは、可変フィルタを使用する場合でも0に設定される。
動き補償部86は、予測画像選択部76においてインター予測画像が選択された場合、制御部87の制御のもと、最適インター予測モードの情報、スライスの種類が含まれるスライスの情報、AIF使用フラグ、動きベクトル、参照画像の情報などを、可逆符号化部66に出力する。
制御部87は、予測の種類、すなわち、L0L1重み付き予測またはその他の予測であるかに応じて、フィルタ係数記憶部82およびフィルタ係数算出部84を制御する。すなわち、制御部87は、L0L1重み付き予測の場合、L0L1重み付き予測に用いられるフィルタ係数をフィルタ係数記憶部82に選択させ、L0L1重み付き予測に用いられるフィルタ係数をフィルタ係数算出部84に選択させる。また、制御部87は、その他の予測の場合(すなわち、L0L1重み付き予測を行わない予測)、その他の予測に用いられるフィルタ係数をフィルタ係数記憶部82に選択させ、その他の予測に用いられるフィルタ係数をフィルタ係数算出部84に選択させる。
また、制御部87は、予測画像選択部76からのインター予測画像が選択されたという信号を受けると、動き補償部86およびフィルタ係数算出部84に、必要な情報を、可逆符号化部66に出力させる制御も行う。
[フィルタ係数の分類]
次に、図10を参照して、フィルタ係数の分類方法について説明する。なお、図10の例において、フィルタ[X][X]となっている部分の数字とアルファベットが異なれば、フィルタの特性が異なることを表している。
動き予測・補償部75においてフィルタ係数を分類する方法は、L0L1重み付き予測を使うか、使わないかに応じて、図10に示されるパターンA乃至Cの3種類のパターンが存在する。なお、全ての予測モードのうち、双予測モード、ダイレクト・モード、およびスキップ・モードにおいて、L0L1重み付き予測が使われる可能性がある。
パターンAは、フィルタ係数を、フィルタ係数A1乃至A4の4つに分類する方法である。フィルタ係数A1は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられる。フィルタ係数A2は、L0L1重み付き予測を使う場合の双予測モードに用いられる。フィルタ係数A3は、L0L1重み付き予測を使う場合のダイレクト・モードに用いられる。フィルタ係数A4は、L0L1重み付き予測を使う場合のスキップ・モードに用いられる。
パターンBは、フィルタ係数を、フィルタ係数B1乃至B3の3つに分類する方法である。フィルタ係数B1は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられる。フィルタ係数B2は、L0L1重み付き予測を使う場合の双予測モードに用いられる。フィルタ係数B3は、L0L1重み付き予測を使う場合の双予測モード以外のモード、すなわち、ダイレクト・モードまたはスキップ・モードに用いられる。
パターンCは、フィルタ係数を、フィルタ係数C1およびC2の2つに分類する方法である。フィルタ係数C1は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられる。フィルタ係数C2は、L0L1重み付き予測を使う場合の予測モード、すなわち、双予測モード、ダイレクト・モード、またはスキップ・モードに用いられる。
参考までに、従来においては、L0L1重み付き予測を使うか、使わないかに応じて、フィルタ係数は分類されておらず、フィルタ係数D1の1種類で予測が行われていた。
すなわち、パターンCは、L0L1重み付き予測を使うか、使わないかに応じて、大まかに分類した例であり、パターンBは、パターンCをさらに、L0L1重み付き予測を使う場合において、双予測モードであるか否かに分類した例である。そして、パターンAは、パターンBをさらに、双予測モードでない場合において、ダイレクト・モードであるか、スキップ・モードであるかに分類した例である。
パターンCにおいては、フィルタ係数C1よりも重み付き予測を行う場合のフィルタ係数C2は、重み付き予測で失われる高周波成分を増幅するような特性を有するようになされる。これにより、重み付き予測で失われる高周波成分を補うことができる。
パターンBにおいては、重み付き予測を行う場合にさらに、フィルタ係数B2とフィルタ係数B3で異なる特性を有するようになされる。例えば、フィルタ係数B2とフィルタ係数B3のフィルタ特性の違いとしては、重み付き予測で失われる高周波成分の増幅の程度が異なっている。これにより、図7を参照して上述したように、双予測モードとダイレクト・モード(スキップ・モード)の位置ずれの程度が異なる場合に対応することができる。
パターンAにおいては、重み付き予測を行う場合にさらに、フィルタ係数A2乃至A4で異なる特性を有するようになされる。例えば、フィルタ係数A2乃至A4のフィルタ特性の違いとしては、重み付き予測で失われる高周波成分の増幅の程度がそれぞれ異なっている。これにより、双予測モード、ダイレクト・モード、およびスキップ・モードの位置ずれの程度が異なる場合に対応することができる。
なお、以下においては、パターンA乃至パターンCのうち、代表してパターンAの場合について説明するが、パターンBおよびパターンCの場合もフィルタ係数の数が異なるだけであり、同様になされることが可能である。
[フィルタ係数記憶部の構成例]
図11は、パターンAの場合のフィルタ係数記憶部の構成例を示すブロック図である。
図11の例において、フィルタ係数記憶部82は、A1フィルタ係数メモリ91、A2フィルタ係数メモリ92、A3フィルタ係数メモリ93、A4フィルタ係数メモリ94、およびセレクタ95により構成されている。
A1フィルタ係数メモリ91は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられるフィルタ係数A1を記憶しており、フィルタ係数A1をセレクタ95に出力する。A2フィルタ係数メモリ92は、L0L1重み付き予測を使う場合の双予測モードに用いられるフィルタ係数A2を記憶しており、フィルタ係数A2をセレクタ95に出力する。
A3フィルタ係数メモリ93は、L0L1重み付き予測を使う場合のダイレクト・モードに用いられるフィルタ係数A3を記憶しており、フィルタ係数A3をセレクタ95に出力する。A4フィルタ係数メモリ94は、L0L1重み付き予測を使う場合のスキップ・モードに用いられるフィルタ係数A4記憶しており、フィルタ係数A4をセレクタ95に出力する。
セレクタ95は、制御部87の制御のもと、フィルタ係数A1乃至A4のうち、1つのフィルタ係数を選択し、固定補間フィルタ81に出力する。
[フィルタ係数算出部の構成例]
図12は、パターンAの場合のフィルタ係数算出部の構成例を示すブロック図である。
図12の例において、フィルタ係数算出部84は、A1フィルタ係数算出部101、A2フィルタ係数算出部102、A3フィルタ係数算出部103、A4フィルタ係数記算出部104、およびセレクタ105により構成されている。
A1フィルタ係数算出部101は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部85からの1回目の動きベクトルを用いて、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられるフィルタ係数A1を算出し、セレクタ105に出力する。A2フィルタ係数算出部102は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部85からの1回目の動きベクトルを用いて、L0L1重み付き予測を使う場合の双予測モードに用いられるフィルタ係数A2を算出し、セレクタ105に出力する。
A3フィルタ係数算出部103は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部85からの1回目の動きベクトルを用いて、L0L1重み付き予測を使う場合のダイレクト・モードに用いられるフィルタ係数A3を算出し、セレクタ105に出力する。A4フィルタ係数算出部104は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部85からの1回目の動きベクトルを用いて、L0L1重み付き予測を使う場合のスキップ・モードに用いられるに用いられるフィルタ係数A4を算出し、セレクタ105に出力する。
セレクタ105は、制御部87の制御のもと、フィルタ係数A1乃至A4のうち、1つのフィルタ係数を選択し、可変補間フィルタ83に出力する。
[フィルタ係数の算出方法]
次に、フィルタ係数の算出方法について説明する。なお、まず、A1フィルタ係数算出部101によるL0L1重み付き予測を使わない場合の全てのインター予測モードに用いられるフィルタ係数A1の算出方法について説明する。
フィルタ係数の算出方法については、AIFの補間方法に種類があるため、若干の違いはあるが、最小二乗法を使うといった基本的な部分は同じである。可変補間フィルタ83は、例えば、図6を参照して説明したSeparable adaptive interpolation filter(以下、Separable AIFと称する)により補間処理を行うので、ここでは、代表として、Separable AIFにより、横の補間処理の後に、縦の補間を2段階で行う補間方法について説明する。
図13は、Separable AIFの横方向のフィルタを表している。図13に示す横方向のフィルタにおいて、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
最初に、横方向の補間、すなわち、図13の画素値a,b,cの分数位置の画素位置に対するフィルタ係数を求める。ここでは、6タップフィルタが使用されるので、分数位置の画素値a,b,cを算出するために、整数位置の画素値C1,C2,C3,C4,C5,C6が用いられ、フィルタ係数は、次の式(8)を最小化するようにして算出される。
Figure 2011078002
ここで、eは、予測誤差であり、spは分数位置の画素値a,b,cのいずれかであり、Sは、原信号であり、Pは、デコード済み参照画素値であり、x.yは、原信号の対象となるピクセル位置である。
また、式(8)において、次の式(9)である。
Figure 2011078002
MVおよびspは、1回目の動き予測で検出され、MVは、整数精度で横方向の動きベクトルであり、spは、分数位置の画素位置を表し、動きベクトルの分数部分に相当する。FilterOffsetは、フィルタのタップ数の半分から1を引いた数に相当し、ここでは、2=6/2−1となる。hは、フィルタ係数であり、iは、0乃至5からなる。
画素値a,b,cにおける最適なフィルタ係数は、eの2乗を最も小さくするhとして求めることができる。次の式(10)に示されるように、予測誤差の2乗を、hで偏微分したものを0になるように、連立方程式が得られる。この連立方程式を解くことにより、分数位置の画素値(sp)がa,b,cのそれぞれに対して、iが0乃至5について独立したフィルタ係数を求めることができる。
Figure 2011078002
さらに詳しく述べると、1回目の動き探索によって各ブロックで動きベクトルは求まる。その動きベクトルで、分数位置が画素値aのブロックを入力データとして、式(10)における次の式(11)が決まり、画素値aの位置の補間のためのフィルタ係数ha,i,∀i∈{0,1,2,3,4,5}について解くことができる。というように、画素値a,b,cが求まる。
Figure 2011078002
横方向のフィルタ係数が求まり、補間処理が行えるようになるので、画素値a,b,cに対して補間を行うと、図14に示す縦方向のフィルタのようになる。図14において、画素値a,b,cは、最適なフィルタ係数を用いて補間されており、同様に、画素値A3とA4の間, 画素値B3とB4の間, 画素値D3とD4の間, 画素値E3とE4の間, 画素値F3とF4の間も補間されている。
すなわち、図14に示すSeparable AIFの縦方向のフィルタにおいて、斜線が付された正方形は、整数位置の画素または横方向のフィルタで既に求められた分数位置の画素を表し、白色の正方形は、縦方向のフィルタで求めるべく、分数位置の画素を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
図14に示す縦方向の場合も、横方向の場合と同様に、次の式(12)の予測誤差を最小化するようにしてフィルタ係数が求まる。
Figure 2011078002
ここで、式(13)は、符号化済み参照ピクセルまたは補間されたピクセルであり、式(14)であり、式(15)である。
Figure 2011078002
Figure 2011078002
Figure 2011078002
また、MVおよびspは、1回目の動き予測で検出され、MVは、整数精度での縦方向の動きベクトルであり、spは、分数位置の画素位置を表し、動きベクトルの分数部分に相当する。FilterOffsetは、フィルタのタップ数の半分から1を引いた数に相当し、ここでは、2=6/2−1となる。hは、フィルタ係数であり、jは、0乃至5からなる。
横方向の場合と同様に、式(12)の予測誤差の2乗が最小になるようにフィルタ係数hが算出される。そのために、式(16)に示すように、予測誤差の2乗をhで偏微分したものを0とおいて、連立方程式が得られる。各分数位置の画素、すなわち、画素値d,e,f,g,h,I,j,k,l,m,n,oについて、この連立方程式を解くことで、各分数位置の画素における縦の補間フィルタの最適なフィルタ係数を得ることができる。
Figure 2011078002
次に、例えば、A2フィルタ係数算出部102によるL0L1重み付き予測を使う場合の双予測モードに用いられるフィルタ係数の算出方法について説明する。
なお、従来は、重み付き予測が行われる予測モードであったとしても、L0参照ピクチャと源信号(入力画像)の間、あるいは、L1参照ピクチャと源信号の間に対して、上述したA1フィルタ係数算出部101による算出方法によってフィルタ係数は算出された。
これに対して、例えば、L0L1重み付き予測を使う場合の双予測モードに用いられるフィルタ係数の算出方法においては、上述した式(8)の予測誤差は、次の式(17)に示す複数参照の予測誤差のように変化を受ける。
Figure 2011078002
ここで、式(17)において、spL0は、1回目の動き探索によって得られたL0参照の動きベクトルの分数部分に相当する補間位置であり、spL1は、L1参照の動きベクトルの分数部分に相当する補間位置である。MVL0は、L0参照に対する整数精度の動きベクトルに相当し、MVL1は、L1参照に対する整数精度の動きベクトルに相当する。e2 sp0,sp1はL1予測誤差である。
また、次の式(18)は、L0予測の補間処理後の参照ピクセルであり、次の式(19)は、L1予測の補間処理後の参照ピクセルであり、次の式(20)は、L0参照とL1参照のピクチャである。
Figure 2011078002
Figure 2011078002
Figure 2011078002
さらに、式(17)において、hspL0,i,hspL1,iは、L0参照とL1参照のフィルタ係数であり、spL0,spL1はそれぞれa,b,またはcとなる。
ここでは、説明を簡単にするため重み付き予測は、L0とL1で同じ重みとした。これをこれまでと同様に予測誤差e2 sp0,sp1を最小にすることによって、最適なフィルタ係数hspL0,i,hspL1,iが算出される。このe2 sp0,sp1をhで偏微分し、0と置くことで次の式(21)に示す連立方程式が得られる。
Figure 2011078002
ここで、xは参照方向のL0,L1の数字の部分である。この式(21)の連立方程式を解くことで、spL0,spL1の組み合わせにおける最適なフィルタ係数hspL0,i,hspL1,iが得られる。
以上の方法を実践すると、L0動きベクトルの分数位置の画素位置、およびL1動きベクトルの分数位置の画素位置の組み合わせ数に相当するフィルタ係数が得られる。しかしながら、全ての組み合わせを使用すると、a-a,a-b,a-c,…o-m,o-oという組み合わせのように、15×15=225通りとなる。
このようにフィルタ係数の種類が多くなり過ぎるとストリーム情報に含めるオーバーヘッドが無視できなくなってしまう。そこで、以下にフィルタ係数の組み合わせを減らす方法について説明する。
再び、予測誤差を、式(17)から、次の式(22)のように定義する。
Figure 2011078002
ここで、e2 sp0は、L0の動きベクトルの分数部分(分数位置の画素位置)がspL0であるときの予測誤差であり、hFIX spL1,iは、固定のフィルタ係数で代表的な補間フィルタで用いられるものが使われる。上述した式(17)においては、予測誤差がspL0およびspL1の組み合わせによって与えられていたのに対し、式(22)においては、spL0のみに予測誤差が与えられている。
この式(22)をこれまでと同様に予測誤差e2 sp0,sp1を最小にすることによって、最適なフィルタ係数hspL0,i,hspL1,iが算出される。このe2 sp0,sp1をhで偏微分し、0と置くことで次の式(23)に示す連立方程式が得られる。
Figure 2011078002
この式(23)をhspL0,iについて解くことで、L0L1重み付き予測を考慮した分数位置の画素位置a,b,cのフィルタ係数が求まる。式(23)は、L1参照ピクチャの補間フィルタが固定になっているため完全な最適化にはならないが、近似的に最適値が得られる。
また、hspL0,iについてフィルタ係数が得られるが、この式(23)でL1とL0とを置き換えてL0側を固定のフィルタ係数として計算することで同様にL1側のフィルタ係数も求まり、L0とL1の両方で計算することで、L0とL1で統合されたフィルタ係数が求まる。縦方向についても同様の計算を行うことで、a,b,c位置以外のフィルタ係数を得ることができる。
これにより、フィルタ処理後の画像の高周波成分を増幅するようなフィルタ特性を有するL0L1重み付き予測に用いられるフィルタ係数が算出される。
なお、双予測モード用のフィルタ係数の算出には、1回目の動き予測により双予測モードが決定されたブロックの画素が用いられる。これに対して、ダイレクト・モード用およびスキップ・モード用のフィルタ係数の算出は、それぞれ用いられる画素が、1回目の動き予測によりダイレクト・モードおよびスキップ・モードが決定されたブロックの画素が用いられる点が異なるだけであり、そのほかは、双予測モード用のフィルタ係数の算出と同様である。
[画像符号化装置の符号化処理の説明]
次に、図15のフローチャートを参照して、図8の画像符号化装置51の符号化処理について説明する。
ステップS11において、A/D変換部61は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ62は、A/D変換部61より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS13において、演算部63は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部75から、イントラ予測する場合はイントラ予測部74から、それぞれ予測画像選択部76を介して演算部63に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS14において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS26の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部68は量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部69は逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
ステップS18において、演算部70は、予測画像選択部76を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部63への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ71は、演算部70より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ72は、フィルタリングされた画像を記憶する。なお、フレームメモリ72にはデブロックフィルタ71によりフィルタ処理されていない画像も演算部70から供給され、記憶される。
ステップS21において、イントラ予測部74は、イントラ予測処理を行う。具体的には、イントラ予測部74は、画面並べ替えバッファ62から読み出されたイントラ予測する画像と、スイッチ73を介してフレームメモリ72から供給された画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、イントラ予測画像を生成する。
イントラ予測部74は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部74は、算出されたコスト関数値のうち、最小値を与えるイントラ予測モードを、最適イントラ予測モードとして決定する。そして、イントラ予測部74は、最適イントラ予測モードで生成されたイントラ予測画像とそのコスト関数値を、予測画像選択部76に供給する。
ステップS22において、動き予測・補償部75は、動き予測・補償処理を行う。ステップS22における動き予測・補償処理の詳細は、図16を参照して後述される。
この処理により、少なくとも、L0L1重み付き予測またはそれ以外の予測に応じたフィルタ係数の固定フィルタおよび可変フィルタが用いられてフィルタ処理が行われ、フィルタ処理された参照画像を用いてブロック毎に動きベクトルおよび予測モードが決定され、対象スライスのコスト関数値が算出される。そして、固定フィルタによる対象スライスのコスト関数値と可変フィルタによる対象スライスのコスト関数値が比較されて、比較結果によりAIF(可変フィルタ)を用いるか否かが決定される。そして、動き予測・補償部75は、決定された方の予測画像とコスト関数値を、予測画像選択部76に供給する。
ステップS23において、予測画像選択部76は、イントラ予測部74および動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部76は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部74または動き予測・補償部75に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部74は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部66に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部75の動き補償部86は、最適インター予測モードを示す情報、動きベクトル情報や参照フレーム情報、可逆符号化部66に出力する。また、動き補償部86は、スライス毎に、スライスの情報、AIF使用フラグ情報を可逆符号化部66に出力する。
なお、AIF使用フラグ情報は、用いられるフィルタ係数毎に設定される。したがって、パターンAの場合、L0L1重み付き予測を使わない用のAIF使用フラグ(aif_other_flag)、双予測モード用のAIF使用フラグ(aif_bipred_flag)、ダイレクト・モード用のAIF使用フラグ(aif_direct_flag)、スキップ・モード用のAIF使用フラグ(aif_skip_flag)の値が設定される。
ステップS24において、可逆符号化部66は量子化部65より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS23において可逆符号化部66に入力された、イントラ予測部74からのイントラ予測モード情報、または、動き予測・補償部75からの最適インター予測モードや、上述した各情報なども符号化され、ヘッダ情報に付加される。
例えば、インター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。また、スライスの情報、AIF使用フラグ情報およびフィルタ係数は、スライス毎にスライスヘッダに挿入されて符号化される。
ステップS25において蓄積バッファ67は差分画像を圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS26においてレート制御部77は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[動き予測・補償処理の説明]
次に、図16のフローチャートを参照して、図15のステップS22における動き予測・補償処理を説明する。
画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、スイッチ73を介して固定補間フィルタ81に供給される。さらに、この参照される画像は、可変補間フィルタ83、フィルタ係数算出部84にも入力される。
ステップS51において、フィルタ係数記憶部82は、制御部87の制御のもと、フィルタ係数選択処理を行う。このフィルタ係数選択処理は、図17を参照して後述されるが、このステップS51の処理により、予測モードに対応するフィルタ係数が固定補間フィルタ81に供給される。
すなわち、L0L1重み付き予測を使わない用のフィルタ係数A1、双予測モード用のフィルタ係数A2、ダイレクト・モード用のフィルタ係数A3、スキップ・モード用のフィルタ係数A4が、予測モードに応じて選択されて固定補間フィルタ81に供給される。
ステップS52において、固定補間フィルタ81は、フィルタ係数記憶部82からのフィルタ係数を用いて、参照画像に、予測モードに対応する固定フィルタ処理を行う。すなわち、固定補間フィルタ81は、フレームメモリ72からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、動き予測部85および動き補償部86に出力する。
以上のステップS51およびS52の処理は、予測モード毎に行われる。
ステップS53において、動き予測部85および動き補償部86は、1回目の動き予測を行い、フィルタ係数記憶部82によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
すなわち、動き予測部85は、画面並べ替えバッファ62からの入力画像と、固定補間フィルタ81からの固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの1回目の動きベクトルを生成し、生成した動きベクトルを動き補償部86に出力する。なお、この1回目の動きベクトルは、フィルタ係数算出部84にも出力され、後述するステップS55の処理に用いられる。
動き補償部86は、1回目の動きベクトルを用いて、固定補間フィルタ81からの固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部86は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
以上の処理がブロック毎に行われ、対象スライスにおける全てのブロックの処理が終了すると、ステップS54において、動き補償部86は、1回目の動きベクトルおよび最適インター予測モードで、対象スライスの1回目のコスト関数値を算出する。
ステップS55において、フィルタ係数算出部84は、動き予測部85からの1回目の動きベクトルを用いて、各フィルタ係数を算出する。
すなわち、フィルタ係数算出部84は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部85からの1回目の動きベクトルを用いて、可変補間フィルタ83のフィルタ処理後の参照画像を、入力画像に近づけるための、予測モードに応じたフィルタ係数を算出する。すなわち、L0L1重み付き予測を使わない用のフィルタ係数A1、双予測モード用のフィルタ係数A2、ダイレクト・モード用のフィルタ係数A3、スキップ・モード用のフィルタ係数A4が算出される。
なお、算出されたフィルタ係数は、上述した図13のステップS23において、最適インター予測モードの予測画像が選択され、対象スライスで可変フィルタを使用する場合に、可逆符号化部66に出力され、ステップS24において、符号化される。
ステップS56において、フィルタ係数算出部84は、制御部87の制御のもと、フィルタ係数選択処理を行う。このフィルタ係数選択処理は、図17を参照して後述されるステップS51の処理と同様であるので、その詳細な説明を省略する。このステップS56の処理により、予測モードに対応するフィルタ係数が可変補間フィルタ83に供給される。
すなわち、L0L1重み付き予測を使わない用のフィルタ係数A1、双予測モード用のフィルタ係数A2、ダイレクト・モード用のフィルタ係数A3、スキップ・モード用のフィルタ係数A4が、予測モードに応じて選択されて可変補間フィルタ83に供給される。
ステップS57において、可変補間フィルタ83は、フィルタ係数算出部84からのフィルタ係数を用いて、参照画像に、可変フィルタ処理を行う。すなわち、可変補間フィルタ83は、フレームメモリ72からの参照画像に対して、フィルタ係数算出部84により算出されたフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像を動き予測部85および動き補償部86に出力する。
以上のステップS56およびS57の処理は、予測モード毎に行われる。
ステップS58において、動き予測部85および動き補償部86は、2回目の動き予測を行い、可変補間フィルタ83によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
すなわち、動き予測部85は、画面並べ替えバッファ62からの入力画像と、可変補間フィルタ83からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの2回目の動きベクトルを生成し、生成した動きベクトルを動き補償部86に出力する。
動き補償部86は、2回目の動きベクトルを用いて、可変補間フィルタ83からの可変フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部86は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
以上の処理がブロック毎に行われ、対象スライスにおける全てのブロックの処理が終了すると、ステップS59において、動き補償部86は、2回目の動きベクトルおよび最適インター予測モードで、対象スライスの2回目のコスト関数値を算出する。
ステップS60において、動き補償部86は、対象スライスの1回目のコスト関数値と2回目のコスト関数値を比較し、対象スライスの1回目のコスト関数値が2回目のコスト関数値より小さいか否かを判定する。
対象スライスの1回目のコスト関数値が2回目のコスト関数値より小さいと判定された場合、処理は、ステップS61に進む。ステップS61において、動き補償部86は、その対象スライスでは固定フィルタを使用するとし、1回目の(固定フィルタ後の参照画像で生成された)予測画像とコスト関数値を予測画像選択部76に供給し、対象スライスのAIF使用フラグの値を0に設定する。
対象スライスの1回目のコスト関数値が2回目のコスト関数値より小さくないと判定された場合、処理は、ステップS62に進む。ステップS62において、動き補償部86は、その対象スライスでは可変フィルタ(AIF)を使用するとし、2回目の(可変フィルタ後の参照画像で生成された)予測画像とコスト関数値を予測画像選択部76に供給し、対象スライスのAIF使用フラグの値を1に設定する。
設定された対象スライスのAIF使用フラグの情報は、上述した図13のステップS23において、最適インター予測モードの予測画像が選択された場合、制御部87の制御のもと、スライスの情報とともに、可逆符号化部66に出力され、ステップS24において、スライスヘッダに挿入されて、符号化される。
[フィルタ係数選択処理]
次に、図17のフローチャートを参照して、図16のステップS51のフィルタ係数選択処理について説明する。
A1フィルタ係数メモリ91乃至A4フィルタ係数メモリ94は、それぞれ、記憶しているフィルタ係数A1乃至A4を、セレクタ95に出力する。
制御部87は、ステップS71において、次に、動き予測処理する予測モードがL0L1重み付き予測を使用するか否かを判定する。ステップS71において、L0L1重み付き予測を使用しないと判定された場合、処理は、ステップS72に進む。ステップS72において、セレクタ95は、制御部87の制御のもと、A1フィルタ係数メモリ91からのフィルタ係数A1を選択し、それを、固定補間フィルタ81に供給する。
ステップS71において、L0L1重み付き予測を使用すると判定された場合、処理は、ステップS73に進む。制御部87は、ステップS73において、次に、動き予測処理する予測モードが双予測モードであるか否かを判定する。ステップS73において、双予測モードであると判定された場合、処理は、ステップS74に進む。ステップS74において、セレクタ95は、制御部87の制御のもと、A2フィルタ係数メモリ92からのフィルタ係数A2を選択し、それを、固定補間フィルタ81に供給する。
ステップS73において、双予測モードではないと判定された場合、処理は、ステップS75に進む。制御部87は、ステップS75において、次に、動き予測処理する予測モードがダイレクト・モードであるか否かを判定する。ステップS75において、ダイレクト・モードであると判定された場合、処理は、ステップS76に進む。ステップS76において、セレクタ95は、制御部87の制御のもと、A3フィルタ係数メモリ93からのフィルタ係数A3を選択し、それを、固定補間フィルタ81に供給する。
ステップS73において、ダイレクト・モードではないと判定された場合、処理は、ステップS77に進む。すなわち、この場合、スキップ・モードで判定されたので、ステップS77において、セレクタ95は、制御部87の制御のもと、A4フィルタ係数メモリ94からのフィルタ係数A4を選択し、それを、固定補間フィルタ81に供給する。
以上のように、画像符号化装置51においては、少なくとも、L0L1重み付き予測に用いるか、用いないかによって、補間フィルタに用いられるフィルタ係数を選択するようにした。すなわち、L0L1重み付き予測に用いる場合、フィルタ処理後の画像の高周波成分を増幅するような特性を有するフィルタ係数が選択される。
したがって、L0L1重み付き予測で失われる高周波成分が予め増幅されるので、重み付き予測後の高周波成分が失われることが抑制され、予測精度が改善される。
これにより、復号側に送るストリーム情報に含む必要がある残差信号が削減されるので、ビット量が削減でき、符号化効率が改善される。また、残差信号が削減されると、その直交変換後の係数も小さくなり、量子化後には多くの係数が0になることが期待できる。
H.264/AVCにおいては、連続した0の個数をストリーム情報に含める。通常、0以外の値を決められた符号で置き換えるよりも、0の個数で表現する方がはるかに少ない符号量になるため、本発明により多くの係数が0になることは、符号ビット量の削減につながる。
また、高周波成分が失われることは、画質に対して鮮明感が損なわれることを意味する。普通、画質の印象として、高周波成分が失われているとぼけた感じを受けるため印象が悪くなる。これに対して、L0L1重み付き予測で失われる高周波成分を取り戻すことができるので、画質の鮮明感が得られる。
さらに、重み付き予測を行う場合にさらに、双予測モード、ダイレクト・モード、およびスキップ・モードに応じて、フィルタ係数を選択するようにした。すなわち、各モードに応じた高周波成分の増幅の程度の特性があるフィルタ係数が選択される。これにより、図7を参照して上述したように、双予測モード、ダイレクト・モード、およびスキップ・モードの位置ずれの程度が異なる場合に対応することができる。
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
図18は、本発明を適用した画像処理装置としての画像復号装置の第1実施の形態の構成を表している。
画像復号装置151は、蓄積バッファ161、可逆復号部162、逆量子化部163、逆直交変換部164、演算部165、デブロックフィルタ166、画面並べ替えバッファ167、D/A変換部168、フレームメモリ169、スイッチ170、イントラ予測部171、動き補償部172、およびスイッチ173により構成されている。
蓄積バッファ161は伝送されてきた圧縮画像を蓄積する。可逆復号部162は、蓄積バッファ161より供給された、図8の可逆符号化部66により符号化された情報を、可逆符号化部66の符号化方式に対応する方式で復号する。逆量子化部163は可逆復号部162により復号された画像を、図8の量子化部65の量子化方式に対応する方式で逆量子化する。逆直交変換部164は、図8の直交変換部64の直交変換方式に対応する方式で逆量子化部163の出力を逆直交変換する。
逆直交変換された出力は演算部165によりスイッチ173から供給される予測画像と加算されて復号される。デブロックフィルタ166は、復号された画像のブロック歪を除去した後、フレームメモリ169に供給し、蓄積させるとともに、画面並べ替えバッファ167に出力する。
画面並べ替えバッファ167は、画像の並べ替えを行う。すなわち、図8の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部168は、画面並べ替えバッファ167から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
スイッチ170は、参照される画像をフレームメモリ169から読み出し、動き補償部172に出力するとともに、イントラ予測に用いられる画像をフレームメモリ169から読み出し、イントラ予測部171に供給する。
イントラ予測部171には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部162から供給される。イントラ予測部171は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ173に出力する。
動き補償部172には、ヘッダ情報を復号して得られた情報のうち、インター予測モード情報、動きベクトル情報、参照フレーム情報、AIF使用フラグ情報、フィルタ係数などが可逆復号部162から供給される。インター予測モード情報は、マクロブロック毎に送信されてくる。動きベクトル情報や参照フレーム情報は、対象ブロック毎に送信されてくる。スライスの種類の情報が含まれるスライスの情報、AIF使用フラグ情報、およびフィルタ係数などは、対象スライス毎にスライスヘッダに挿入されて送信されてくる。
動き補償部172は、可逆復号部162からのスライスヘッダのAIF使用フラグ情報に基づいて、対象スライスがAIFを使用する場合、スライスヘッダに含まれる可変フィルタ係数で、現在記憶している可変フィルタ係数の置き換えを行う。そして、動き補償部172は、可変の補間フィルタを用いて、フレームメモリ169からの参照画像に可変フィルタ処理を行う。動き補償部172は、可逆復号部162からの動きベクトルを用いて、可変フィルタ処理後の参照画像に補償処理を行い、対象ブロックの予測画像を生成する。生成された予測画像は、スイッチ173を介して、演算部165に出力される。
動き補償部172は、対象ブロックが含まれる対象スライスがAIFを使用しない場合、係数が固定の補間フィルタを用いて、フレームメモリ169からの参照画像に固定フィルタ処理を行う。そして、動き補償部172は、可逆復号部162からの動きベクトルを用いて、固定フィルタ処理後の参照画像に補償処理を行い、対象ブロックの予測画像を生成する。生成された予測画像は、スイッチ173を介して、演算部165に出力される。
ここで、動き補償部172においては、図8の動き予測・補償部75と同様に、少なくとも、L0L1重み付き予測に用いられる固定フィルタ係数と、それ以外の予測に用いられる固定フィルタ係数が記憶されている。また、可変の場合も同様に、動き補償部172においては、少なくとも、L0L1重み付き予測に用いられる可変フィルタ用のフィルタ係数と、それ以外の予測に用いられる可変フィルタ係数が可逆復号部162から取得されて、記憶される。
スイッチ173は、動き補償部172またはイントラ予測部171により生成された予測画像を選択し、演算部165に供給する。
[動き補償部の構成例]
図19は、動き補償部172の詳細な構成例を示すブロック図である。なお、図19においては、図18のスイッチ170が省略されている。
図19の例においては、動き補償部172は、固定補間フィルタ181、固定フィルタ係数記憶部182、可変補間フィルタ183、可変フィルタ係数記憶部184、動き補償処理部185、および制御部186により構成されている。
可逆復号部162から、スライス毎に、スライスヘッダに含まれるスライスの種類を示すスライスの情報とAIF使用フラグ情報が制御部186に供給され、フィルタ係数が可変フィルタ係数記憶部184に供給される。また、可逆復号部162からのマクロブロック毎のインター予測モードを示す情報も、制御部186に供給され、ブロック毎の動きベクトルは動き補償処理部185に供給され、参照フレーム情報は、制御部186に供給される。
フレームメモリ169からの参照画像は、制御部186の制御のもと、固定補間フィルタ181、および可変補間フィルタ183に入力される。
固定補間フィルタ181は、フィルタ係数が固定(すなわち、AIFではない)の補間フィルタである。固定補間フィルタ181は、フレームメモリ169からの参照画像に対して、固定フィルタ係数記憶部182からの固定フィルタ係数を用いてフィルタ処理を施し、固定フィルタ処理後の参照画像を、動き補償処理部185に出力する。
固定フィルタ係数記憶部182は、固定補間フィルタ181で使用される、少なくとも、L0L1重み付き予測用およびそれ以外の予測用の固定フィルタ係数を記憶しており、それらのフィルタ係数を読み出して、制御部186の制御のもと選択し、選択した固定フィルタ係数を、固定補間フィルタ181に供給する。
可変補間フィルタ183は、フィルタ係数可変の補間フィルタ(すなわち、AIF)である。可変補間フィルタ183は、フレームメモリ169からの参照画像に対して、可変フィルタ係数記憶部184からの可変フィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像を、動き補償処理部185に出力する。
可変フィルタ係数記憶部184は、可変補間フィルタ183で使用される、少なくとも、L0L1重み付き予測用およびそれ以外の予測用の可変フィルタ係数を一時的に記憶し、スライス毎に、可逆復号部162から、対応する可変フィルタ係数が供給された場合、記憶されている係数と置き換える。可変フィルタ係数記憶部184は、一時的に記憶しているフィルタ係数を読み出して、制御部186の制御のもと選択し、選択した可変フィルタ係数を、可変補間フィルタ183に供給する。
動き補償処理部185は、制御部186により制御された予測モードで、可逆復号部162からの動きベクトルを用いて、固定補間フィルタ181または可変補間フィルタ183からのフィルタ後の参照画像に補償処理を行い、対象ブロックの予測画像を生成し、生成した予測画像を、スイッチ173に出力する。
制御部186は、スライス毎に、可逆復号部162からのスライスヘッダの情報に含まれるAIF使用フラグを取得し、取得したAIF使用フラグを参照し、AIFを用いるか否かに基づいて、固定補間フィルタ181、固定フィルタ係数記憶部182、可変補間フィルタ183、および可変フィルタ係数記憶部184を制御する。また、制御部186は、予測モード情報に応じて、L0L1重み付き予測用およびそれ以外の予測用のどちらのフィルタ係数を選択するかを、固定フィルタ係数記憶部182または可変フィルタ係数記憶部184に指示する。
すなわち、処理対象のブロックが含まれるスライスがAIFを用いる場合、可変フィルタ係数記憶部184に、可逆復号部162からのフィルタ係数で、記憶されている可変フィルタ係数を置き換えさせ、予測モードに対応するL0L1重み付き予測用およびそれ以外の予測用の固定フィルタ係数を選択させ、可変補間フィルタ183にフィルタ処理を行わせる。
一方、処理対象のブロックが含まれるスライスがAIFを用いない場合、固定フィルタ係数記憶部182に、予測モードに対応するL0L1重み付き予測用およびそれ以外の予測用の固定フィルタ係数を選択させ、固定補間フィルタ181にフィルタ処理を行わせる。
また、制御部186は、動き補償処理部185に、予測モード情報に基づく予測モードの補償処理を行わせる。
[固定フィルタ係数記憶部の構成例]
図20は、パターンAの場合の固定フィルタ係数記憶部の構成例を示すブロック図である。
図20の例において、固定フィルタ係数記憶部182は、A1フィルタ係数メモリ191、A2フィルタ係数メモリ192、A3フィルタ係数メモリ193、A4フィルタ係数メモリ194、およびセレクタ195により構成されている。
A1フィルタ係数メモリ91は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられる固定フィルタ係数A1を記憶しており、固定フィルタ係数A1をセレクタ95に出力する。A2フィルタ係数メモリ92は、L0L1重み付き予測を使う場合の双予測モードに用いられる固定フィルタ係数A2を記憶しており、固定フィルタ係数A2をセレクタ95に出力する。
A3フィルタ係数メモリ93は、L0L1重み付き予測を使う場合のダイレクト・モードに用いられる固定フィルタ係数A3を記憶しており、固定フィルタ係数A3をセレクタ95に出力する。A4フィルタ係数メモリ94は、L0L1重み付き予測を使う場合のスキップ・モードに用いられる固定フィルタ係数A4を記憶しており、固定フィルタ係数A4セレクタ95に出力する。
セレクタ195は、制御部186の制御のもと、固定フィルタ係数A1乃至A4のうち、1つのフィルタ係数を選択し、固定補間フィルタ181に出力する。
[可変フィルタ係数記憶部の構成例]
図21は、パターンAの場合の可変フィルタ係数記憶部の構成例を示すブロック図である。
図21の例において、可変フィルタ係数記憶部184は、A1フィルタ係数メモリ201、A2フィルタ係数メモリ202、A3フィルタ係数メモリ203、A4フィルタ係数記メモリ204、およびセレクタ205により構成されている。
A1フィルタ係数メモリ201は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられる可変フィルタ係数A1を記憶しており、制御部186の制御のもと、可逆復号部162から送られてくる可変フィルタ係数A1で、記憶しているフィルタ係数を置き換える。そして、A1フィルタ係数メモリ201は、置き換えた可変フィルタ係数A1をセレクタ95に出力する。
A2フィルタ係数メモリ92は、L0L1重み付き予測を使う場合の双予測モードに用いられる可変フィルタ係数A2を記憶しており、制御部186の制御のもと、可逆復号部162から送られてくる可変フィルタ係数A2で、記憶しているフィルタ係数を置き換える。そして、A2フィルタ係数メモリ92は、置き換えた可変フィルタ係数A2をセレクタ95に出力する。
A3フィルタ係数メモリ93は、L0L1重み付き予測を使う場合のダイレクト・モードに用いられる可変フィルタ係数A3を記憶しており、制御部186の制御のもと、可逆復号部162から送られてくる可変フィルタ係数A3で、記憶しているフィルタ係数を置き換える。そして、A3フィルタ係数メモリ93は、置き換えた可変フィルタ係数A3をセレクタ95に出力する。
A4フィルタ係数メモリ94は、L0L1重み付き予測を使う場合のスキップ・モードに用いられる可変フィルタ係数A4を記憶しており、制御部186の制御のもと、可逆復号部162から送られてくる可変フィルタ係数A3で、記憶しているフィルタ係数を置き換える。そして、A4フィルタ係数メモリ94は、置き換えた可変フィルタ係数A4セレクタ95に出力する。
セレクタ205は、制御部87の制御のもと、可変フィルタ係数A1乃至A4のうち、1つのフィルタ係数を選択し、可変補間フィルタ183に出力する。
なお、各フィルタ係数メモリにおいて、置き換えられたフィルタ係数が有効な期間は、対象スライスのみであってもよいし、次に置きかえられるまでであってもよい。ただし、いずれにしてもIDR(instantaneous decoding refresh)ピクチャがあった場合には、初期値に置き換えられる。すなわち、リセットされる。
ここで、IDRピクチャとは、H.264/AVC方式で定められており、画像シーケンスの先頭のピクチャを意味し、IDRピクチャから復号が開始できるようになっている。この仕組みによってランダムアクセスが可能となっている。
[画像復号装置の復号処理の説明]
次に、図22のフローチャートを参照して、画像復号装置151が実行する復号処理について説明する。
ステップS131において、蓄積バッファ161は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部162は、蓄積バッファ161から供給される圧縮画像を復号する。すなわち、図8の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、ブロック毎に、動きベクトル情報、参照フレーム情報なども復号される。また、マクロブロック毎に、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)なども復号される。さらに、スライス毎に、スライスの種類の情報AIF使用フラグ情報やフィルタ係数などを含むスライスヘッダ情報も復号される。
ステップS133において、逆量子化部163は可逆復号部162により復号された変換係数を、図8の量子化部65の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部164は逆量子化部163により逆量子化された変換係数を、図8の直交変換部64の特性に対応する特性で逆直交変換する。これにより図8の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
ステップS135において、演算部165は、後述するステップS141の処理で選択され、スイッチ173を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ166は、演算部165より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS137においてフレームメモリ169は、フィルタリングされた画像を記憶する。
ステップS138において、可逆復号部162は、圧縮画像のヘッダ部の可逆復号結果に基づいて、圧縮画像がインター予測された画像であるかどうか、即ち、可逆復号結果に最適インター予測モードを表す情報が含まれているかどうかを判定する。
ステップS138で圧縮画像がインター予測された画像であると判定された場合、可逆復号部162は、動きベクトル情報、参照フレーム情報、最適インター予測モードを表す情報、AIF使用フラグ情報、フィルタ係数などを動き補償部172に供給する。
そして、ステップS139において、動き補償部172は、動き補償処理を行う。ステップS139における動き補償処理の詳細は、図23を参照して後述される。
この処理により、対象スライスがAIF使用の場合、可逆復号部162からのL0L1重み付き予測またはそれ以外の予測に応じた可変フィルタ係数で記憶済みのフィルタ係数が置き換えられる。そして、予測モードがL0L1重み付き予測を使用するか否かに応じた可変フィルタ係数が用いられて可変フィルタ処理が行われる。対象スライスがAIF未使用の場合、予測モードがL0L1重み付き予測を使用するか否かに応じた固定フィルタ係数が用いられて固定フィルタ処理が行われる。その後、フィルタ処理後の参照画像に、動きベクトルを用いて補償処理が行われ、これにより生成された予測画像がスイッチ173に出力される。
一方、ステップS138で圧縮画像がインター予測された画像ではないと判定された場合、すなわち、可逆復号結果に最適イントラ予測モードを表す情報が含まれている場合、可逆復号部162は、最適イントラ予測モードを表す情報をイントラ予測部171に供給する。
そして、ステップS140において、イントラ予測部171は、可逆復号部162からの情報が表す最適イントラ予測モードで、フレームメモリ169からの画像に対してイントラ予測処理を行い、イントラ予測画像を生成する。そして、イントラ予測部171は、イントラ予測画像をスイッチ173に出力する。
ステップS141において、スイッチ173は予測画像を選択し、演算部165に出力する。すなわち、イントラ予測部171により生成された予測画像、または動き補償部172により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部165に出力され、上述したように、ステップS135において逆直交変換部164の出力と加算される。
ステップS142において、画面並べ替えバッファ167は並べ替えを行う。すなわち画像符号化装置51の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS143において、D/A変換部168は、画面並べ替えバッファ167からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
[画像復号装置の動き補償処理の説明]
次に、図23のフローチャートを参照して、図22のステップS139の動き補償処理を説明する。
制御部186は、ステップS151において、可逆復号部162からのスライスヘッダの情報に含まれるAIF使用フラグ情報を取得する。なお、AIF使用フラグ情報は、符号化側において、用いられるフィルタ係数毎に設定されて送信されてくる。したがって、パターンAの場合、L0L1重み付き予測を使わない用のAIF使用フラグ(aif_other_flag)、双予測モード用のAIF使用フラグ(aif_bipred_flag)、ダイレクト・モード用のAIF使用フラグ(aif_direct_flag)、スキップ・モード用のAIF使用フラグ(aif_skip_flag)が取得される。
制御部186は、ステップS152において、それらのAIF使用フラグに基づいて、対象スライスにおいてAIFを用いるか否かを判定する。例えば、上述した複数のAIF使用フラグの値が1つでも1であった場合、ステップS152において、AIFを用いると判定されて、処理は、ステップS153に進む。
ステップS153において、可変フィルタ係数記憶部184は、制御部186の制御のもと、可変フィルタ係数置き換え処理を実行する。この可変フィルタ係数置き換え処理は、図24を参照して後述するが、ステップS153の処理により、AIF使用フラグの値が1である、すなわち、そのスライスについて、符号化側で算出された可変フィルタ係数で、記憶されている係数が置き換えられる。なお、このとき、可変フィルタ係数記憶部184のA1フィルタ係数メモリ201乃至A4フィルタ係数メモリ204は、記憶されているフィルタ係数を読み出し、読み出した各フィルタ係数をセレクタ205に供給する。
一方、例えば、上述した複数のAIF使用フラグの値がすべて0であった場合、ステップS152において、AIFを用いないと判定されて、ステップS153はスキップされ、処理は、ステップS154に進む。なお、このとき、固定フィルタ係数記憶部182のA1フィルタ係数メモリ191乃至A4フィルタ係数メモリ194は、記憶されているフィルタ係数を読み出し、読み出した各フィルタ係数をセレクタ195に供給する。
ここで、説明の便宜上、次のステップS156、S158、S160乃至S162の処理は、上述したステップS152でAIFを用いると判定された場合には、可変フィルタ係数記憶部184および可変補間フィルタ183により行われ、上述したステップS152でAIFを用いないと判定された場合には、固定フィルタ係数記憶部182および固定補間フィルタ181により行われる処理である。以下、代表して、可変フィルタ係数記憶部184および可変補間フィルタ183の例を説明する。
ステップS154において、制御部186は、可逆復号部162からのマクロブロック毎のインター予測モードの情報を取得する。
ステップS155において、制御部186は、インター予測モードの情報に基づいて、L0L1重み付き予測を行っているか否かを判定する。ステップS155において、L0L1重み付き予測を行っていないと判定された場合、処理は、ステップS156に進み、セレクタ205は、制御部186の制御のもと、A1フィルタ係数メモリ201からのフィルタ係数A1を選択し、選択したフィルタ係数A1を可変補間フィルタ183に供給する。
ステップS155において、L0L1重み付き予測を行っていると判定された場合、処理は、ステップS157に進み、制御部186は、インター予測モードの情報に基づいて、双予測モードであるか否かを判定する。
ステップS157において、双予測モードであると判定された場合、処理は、ステップS158に進み、セレクタ205は、制御部186の制御のもと、A2フィルタ係数メモリ202からのフィルタ係数A2を選択し、選択したフィルタ係数A2を可変補間フィルタ183に供給する。
ステップS157において、双予測モードではないと判定された場合、処理は、ステップS159に進み、制御部186は、インター予測モードの情報に基づいて、ダイレクト・モードであるか否かを判定する。
ステップS159において、ダイレクト・モードであると判定された場合、処理は、ステップS160に進み、セレクタ205は、制御部186の制御のもと、A3フィルタ係数メモリ203からのフィルタ係数A3を選択し、選択したフィルタ係数A3を可変補間フィルタ183に供給する。
ステップS159において、ダイレクト・モードではないと判定された場合、すなわち、スキップ・モードである場合、処理は、ステップS161に進み、セレクタ205は、制御部186の制御のもと、A4フィルタ係数メモリ204からのフィルタ係数A4を選択し、選択したフィルタ係数A4を可変補間フィルタ183に供給する。
ステップS162において、可変補間フィルタ183は、フレームメモリ169からの参照画像に対して、可変フィルタ係数記憶部184からの可変フィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像を、動き補償処理部185に出力する。
ステップS163において、制御部186により制御された予測モードで、可逆復号部162からの動きベクトルを用いて、フィルタ後の参照画像に補償処理を行い、対象ブロックの予測画像を生成し、生成した予測画像を、スイッチ173に出力する。
[可変フィルタ係数置き換え処理の説明]
次に、図24のフローチャートを参照して、図23のステップS153の可変フィルタ係数置き換え処理について説明する。
制御部186は、ステップS171において、L0L1重み付き予測を使わない用のAIF使用フラグ(aif_other_flag)の値が1であるか否かを判定する。ステップS171において、aif_other_flagの値が1であると判定された場合、処理は、ステップS172に進み、A1フィルタ係数メモリ201は、制御部186の制御のもと、可逆復号部162からのスライスヘッダに含まれるフィルタ係数A1で、記憶済みのフィルタ係数を置き換える。
ステップS171において、aif_other_flagの値が1ではないと判定された場合、処理は、ステップS173に進み、制御部186は、双予測モード用のAIF使用フラグ(aif_bipred_flag)の値が1であるか否かを判定する。ステップS173において、aif_bipred_flagの値が1であると判定された場合、処理は、ステップS174に進み、A2フィルタ係数メモリ202は、制御部186の制御のもと、可逆復号部162からのスライスヘッダに含まれるフィルタ係数A2で、記憶済みのフィルタ係数を置き換える。
ステップS173において、aif_bipred_flagの値が1ではないと判定された場合、処理は、ステップS175に進み、制御部186は、ダイレクト・モード用のAIF使用フラグ(aif_direct_flag)の値が1であるか否かを判定する。ステップS175において、aif_direct_flagの値が1であると判定された場合、処理は、ステップS176に進み、A3フィルタ係数メモリ203は、制御部186の制御のもと、可逆復号部162からのスライスヘッダに含まれるフィルタ係数A3で、記憶済みのフィルタ係数を置き換える。
ステップS175において、aif_direct_flagの値が1ではないと判定された場合、処理は、ステップS177に進み、制御部186は、スキップ・モード用のAIF使用フラグ(aif_skip_flag)の値が1であるか否かを判定する。ステップS177において、aif_skip_flagの値が1であると判定された場合、処理は、ステップS178に進み、A4フィルタ係数メモリ204は、制御部186の制御のもと、可逆復号部162からのスライスヘッダに含まれるフィルタ係数A4で、記憶済みのフィルタ係数を置き換える。
ステップS177において、aif_skip_flagの値が1ではないと判定された場合、処理は、図23のステップS154に進む。すなわち、この場合、どのAIFも使用されないので、どのフィルタ係数も置き換えられることなく、処理は進む。
以上のように、画像符号化装置51および画像復号装置151においては、少なくとも、L0L1重み付き予測に用いるか、用いないかによって、補間フィルタに用いられるフィルタ係数を選択するようにした。すなわち、L0L1重み付き予測に用いる場合、フィルタ処理後の画像の高周波成分を増幅するような特性を有するフィルタ係数が選択される。
したがって、L0L1重み付き予測で失われる高周波成分が予め増幅されるので、重み付き予測後の高周波成分が失われることが抑制され、予測精度が改善される。
これにより、復号側に送るストリーム情報に含む必要がある残差信号が削減されるので、ビット量が削減でき、符号化効率が改善される。
また、重み付き予測を行う場合にさらに、双予測モード、ダイレクト・モード、およびスキップ・モードに応じて、フィルタ係数を選択するようにした。すなわち、各モードに応じた高周波成分の増幅の程度の特性があるフィルタ係数が選択される。これにより、図7を参照して上述したように、双予測モード、ダイレクト・モード、およびスキップ・モードの位置ずれの程度が異なる場合に対応することができる。
さらに、このフィルタ選択を、可変フィルタ(AIF)にも適用するようにしたので、AIFにおいても、画像の高周波成分の喪失を抑制することができ、画質の鮮明感を得ることができる。
なお、上記説明においては、フィルタに6タップ数を用いる例を説明したが、フィルタのタップ数は限定されない。
以上においては、Separable AIFの補間フィルタを例に説明してきたが、フィルタの構造は、Separable AIFに限らない。すなわち、フィルタの構造は異なっていても、本発明を適用することができる。
[拡張マクロブロックサイズへの適用の説明]
図25は、非特許文献4で提案されているブロックサイズの例を示す図である。非特許文献4では、マクロブロックサイズが32×32画素に拡張されている。
図25の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図25の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図25の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
すなわち、32×32画素のマクロブロックは、図25の上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
このような階層構造を採用することにより、非特許文献4の提案では、16×16画素のブロック以下に関しては、H.264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
以上のように提案される拡張されたマクロブロックサイズにも本発明を適用することができる。
また、以上においては、符号化方式としてH.264/AVC方式をベースに用いるようにしたが、本発明はこれに限らず、その他の動き予測・補償処理を行う符号化方式/復号方式を用いる画像符号化装置/画像復号装置に適用することもできる。
なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
[パーソナルコンピュータの構成例]
図26は、本発明の一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)251、ROM(Read Only Memory)252、RAM(Random Access Memory)253は、バス254により相互に接続されている。
バス254には、さらに、入出力インタフェース255が接続されている。入出力インタフェース255には、入力部256、出力部257、記憶部258、通信部259、およびドライブ260が接続されている。
入力部256は、キーボード、マウス、マイクロホンなどよりなる。出力部257は、ディスプレイ、スピーカなどよりなる。記憶部258は、ハードディスクや不揮発性のメモリなどよりなる。通信部259は、ネットワークインタフェースなどよりなる。ドライブ260は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア261を駆動する。
以上のように構成されるコンピュータでは、CPU251が、例えば、記憶部258に記憶されているプログラムを入出力インタフェース255及びバス254を介してRAM253にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU251)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア261に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア261をドライブ260に装着することにより、入出力インタフェース255を介して、記憶部258にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部259で受信し、記憶部258にインストールすることができる。その他、プログラムは、ROM252や記憶部258に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した画像符号化装置51や画像復号装置151は、任意の電子機器に適用することができる。以下にその例について説明する。
[テレビジョン受像機の構成例]
図27は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図27に示されるテレビジョン受像機300は、地上波チューナ313、ビデオデコーダ315、映像信号処理回路318、グラフィック生成回路319、パネル駆動回路320、および表示パネル321を有する。
地上波チューナ313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ315に供給する。ビデオデコーダ315は、地上波チューナ313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路318に供給する。
映像信号処理回路318は、ビデオデコーダ315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路319に供給する。
グラフィック生成回路319は、表示パネル321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路320に供給する。また、グラフィック生成回路319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路320に供給するといった処理も適宜行う。
パネル駆動回路320は、グラフィック生成回路319から供給されたデータに基づいて表示パネル321を駆動し、番組の映像や上述した各種の画面を表示パネル321に表示させる。
表示パネル321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路320による制御に従って番組の映像などを表示させる。
また、テレビジョン受像機300は、音声A/D(Analog/Digital)変換回路314、音声信号処理回路322、エコーキャンセル/音声合成回路323、音声増幅回路324、およびスピーカ325も有する。
地上波チューナ313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ313は、取得した音声信号を音声A/D変換回路314に供給する。
音声A/D変換回路314は、地上波チューナ313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路322に供給する。
音声信号処理回路322は、音声A/D変換回路314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、音声信号処理回路322から供給された音声データを音声増幅回路324に供給する。
音声増幅回路324は、エコーキャンセル/音声合成回路323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ325から出力させる。
さらに、テレビジョン受像機300は、デジタルチューナ316およびMPEGデコーダ317も有する。
デジタルチューナ316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ317に供給する。
MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路318に供給する。また、MPEGデコーダ317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU332に供給する。
テレビジョン受像機300は、このように映像パケットをデコードするMPEGデコーダ317として、上述した画像復号装置151を用いる。したがって、MPEGデコーダ317は、画像復号装置151の場合と同様に、重み付き予測後の高周波成分が失われることが抑制され、画質の鮮明感が得られる。
MPEGデコーダ317から供給された映像データは、ビデオデコーダ315から供給された映像データの場合と同様に、映像信号処理回路318において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路319において、生成された映像データ等が適宜重畳され、パネル駆動回路320を介して表示パネル321に供給され、その画像が表示される。
MPEGデコーダ317から供給された音声データは、音声A/D変換回路314から供給された音声データの場合と同様に、音声信号処理回路322において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路323を介して音声増幅回路324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ325から出力される。
また、テレビジョン受像機300は、マイクロホン326、およびA/D変換回路327も有する。
A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、テレビジョン受像機300のユーザ(ユーザA)の音声のデータがA/D変換回路327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路323は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
さらに、テレビジョン受像機300は、音声コーデック328、内部バス329、SDRAM(Synchronous Dynamic Random Access Memory)330、フラッシュメモリ331、CPU332、USB(Universal Serial Bus) I/F333、およびネットワークI/F334も有する。
A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック328に供給する。
音声コーデック328は、A/D変換回路327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス329を介してネットワークI/F334に供給する。
ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック328から供給された音声データを送信する。また、ネットワークI/F334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子335を介して受信し、それを、内部バス329を介して音声コーデック328に供給する。
音声コーデック328は、ネットワークI/F334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、音声コーデック328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
SDRAM330は、CPU332が処理を行う上で必要な各種のデータを記憶する。
フラッシュメモリ331は、CPU332により実行されるプログラムを記憶する。フラッシュメモリ331に記憶されているプログラムは、テレビジョン受像機300の起動時などの所定のタイミングでCPU332により読み出される。フラッシュメモリ331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
例えば、フラッシュメモリ331には、CPU332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ331は、例えばCPU332の制御により、そのMPEG-TSを、内部バス329を介してMPEGデコーダ317に供給する。
MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
また、テレビジョン受像機300は、リモートコントローラ351から送信される赤外線信号を受光する受光部337も有する。
受光部337は、リモートコントローラ351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU332に出力する。
CPU332は、フラッシュメモリ331に記憶されているプログラムを実行し、受光部337から供給される制御コードなどに応じてテレビジョン受像機300の全体の動作を制御する。CPU332とテレビジョン受像機300の各部は、図示せぬ経路を介して接続されている。
USB I/F333は、USB端子336に装着されたUSBケーブルを介して接続される、テレビジョン受像機300の外部の機器との間でデータの送受信を行う。ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
テレビジョン受像機300は、MPEGデコーダ317として画像復号装置151を用いることにより、符号化効率を向上するとともに、画質の鮮明感を得ることができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
[携帯電話機の構成例]
図28は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
図28に示される携帯電話機400は、各部を統括的に制御するようになされた主制御部450、電源回路部451、操作入力制御部452、画像エンコーダ453、カメラI/F部454、LCD制御部455、画像デコーダ456、多重分離部457、記録再生部462、変復調回路部458、および音声コーデック459を有する。これらは、バス460を介して互いに接続されている。
また、携帯電話機400は、操作キー419、CCD(Charge Coupled Devices)カメラ416、液晶ディスプレイ418、記憶部423、送受信回路部463、アンテナ414、マイクロホン(マイク)421、およびスピーカ417を有する。
電源回路部451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機400を動作可能な状態に起動する。
携帯電話機400は、CPU、ROMおよびRAM等でなる主制御部450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
例えば、音声通話モードにおいて、携帯電話機400は、マイクロホン(マイク)421で集音した音声信号を、音声コーデック459によってデジタル音声データに変換し、これを変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
また、例えば、音声通話モードにおいて、携帯電話機400は、アンテナ414で受信した受信信号を送受信回路部463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部458でスペクトラム逆拡散処理し、音声コーデック459によってアナログ音声信号に変換する。携帯電話機400は、その変換して得られたアナログ音声信号をスピーカ417から出力する。
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機400は、操作キー419の操作によって入力された電子メールのテキストデータを、操作入力制御部452において受け付ける。携帯電話機400は、そのテキストデータを主制御部450において処理し、LCD制御部455を介して、画像として液晶ディスプレイ418に表示させる。
また、携帯電話機400は、主制御部450において、操作入力制御部452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機400は、その電子メールデータを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機400は、復元された電子メールデータを、LCD制御部455を介して液晶ディスプレイ418に表示する。
なお、携帯電話機400は、受信した電子メールデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
この記憶部423は、書き換え可能な任意の記憶媒体である。記憶部423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機400は、撮像によりCCDカメラ416で画像データを生成する。CCDカメラ416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部454を介して、画像エンコーダ453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
携帯電話機400は、このような処理を行う画像エンコーダ453として、上述した画像符号化装置51を用いる。したがって、画像エンコーダ453は、画像符号化装置51の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
なお、携帯電話機400は、このとき同時に、CCDカメラ416で撮像中にマイクロホン(マイク)421で集音した音声を、音声コーデック459においてアナログデジタル変換し、さらに符号化する。
携帯電話機400は、多重分離部457において、画像エンコーダ453から供給された符号化画像データと、音声コーデック459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機400は、その結果得られる多重化データを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
なお、画像データを送信しない場合、携帯電話機400は、CCDカメラ416で生成した画像データを、画像エンコーダ453を介さずに、LCD制御部455を介して液晶ディスプレイ418に表示させることもできる。
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機400は、多重分離部457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
携帯電話機400は、画像デコーダ456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部455を介して液晶ディスプレイ418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ418に表示される。
携帯電話機400は、このような処理を行う画像デコーダ456として、上述した画像復号装置151を用いる。したがって、画像デコーダ456は、画像復号装置151の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
携帯電話機400は、画像エンコーダ453として画像符号化装置51を用いることにより、重み付き予測後の高周波成分が失われることが抑制され、予測精度が改善される。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
また、携帯電話機400は、画像デコーダ456として画像復号装置151を用いることにより、重み付き予測後の高周波成分が失われることが抑制され、画質の鮮明感が得られる。その結果として、携帯電話機400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
なお、以上において、携帯電話機400が、CCDカメラ416を用いるように説明したが、このCCDカメラ416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機400は、CCDカメラ416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
また、以上においては携帯電話機400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機400の場合と同様に、画像符号化装置51および画像復号装置151を適用することができる。
[ハードディスクレコーダの構成例]
図29は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図29に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることができる。
ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることもできる。
もちろん、この他の動作も可能である。
図29に示されるように、ハードディスクレコーダ500は、受信部521、復調部522、デマルチプレクサ523、オーディオデコーダ524、ビデオデコーダ525、およびレコーダ制御部526を有する。ハードディスクレコーダ500は、さらに、EPGデータメモリ527、プログラムメモリ528、ワークメモリ529、ディスプレイコンバータ530、OSD(On Screen Display)制御部531、ディスプレイ制御部532、記録再生部533、D/Aコンバータ534、および通信部535を有する。
また、ディスプレイコンバータ530は、ビデオエンコーダ541を有する。記録再生部533は、エンコーダ551およびデコーダ552を有する。
受信部521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部526に出力する。レコーダ制御部526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部526は、このとき、ワークメモリ529を必要に応じて使用する。
通信部535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部535は、レコーダ制御部526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
復調部522は、チューナより供給された信号を、復調し、デマルチプレクサ523に出力する。デマルチプレクサ523は、復調部522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ524、ビデオデコーダ525、またはレコーダ制御部526に出力する。
オーディオデコーダ524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部533に出力する。ビデオデコーダ525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ530に出力する。レコーダ制御部526は、入力されたEPGデータをEPGデータメモリ527に供給し、記憶させる。
ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されたビデオデータを、ビデオエンコーダ541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部533に出力する。また、ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されるビデオデータの画面のサイズを、モニタ560のサイズに対応するサイズに変換する。ディスプレイコンバータ530は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部532に出力する。
ディスプレイ制御部532は、レコーダ制御部526の制御のもと、OSD(On Screen Display)制御部531が出力したOSD信号を、ディスプレイコンバータ530より入力されたビデオ信号に重畳し、モニタ560のディスプレイに出力し、表示させる。
モニタ560にはまた、オーディオデコーダ524が出力したオーディオデータが、D/Aコンバータ534によりアナログ信号に変換されて供給されている。モニタ560は、このオーディオ信号を内蔵するスピーカから出力する。
記録再生部533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
記録再生部533は、例えば、オーディオデコーダ524より供給されるオーディオデータを、エンコーダ551によりMPEG方式でエンコードする。また、記録再生部533は、ディスプレイコンバータ530のビデオエンコーダ541より供給されるビデオデータを、エンコーダ551によりMPEG方式でエンコードする。記録再生部533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
記録再生部533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部533は、デコーダ552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部533は、復号したオーディオデータをD/A変換し、モニタ560のスピーカに出力する。また、記録再生部533は、復号したビデオデータをD/A変換し、モニタ560のディスプレイに出力する。
レコーダ制御部526は、受信部521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ527から最新のEPGデータを読み出し、それをOSD制御部531に供給する。OSD制御部531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部532に出力する。ディスプレイ制御部532は、OSD制御部531より入力されたビデオデータをモニタ560のディスプレイに出力し、表示させる。これにより、モニタ560のディスプレイには、EPG(電子番組ガイド)が表示される。
また、ハードディスクレコーダ500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
通信部535は、レコーダ制御部526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部526に供給する。レコーダ制御部526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部526および記録再生部533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
また、レコーダ制御部526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ530に供給する。ディスプレイコンバータ530は、ビデオデコーダ525から供給されるビデオデータと同様に、レコーダ制御部526から供給されるビデオデータを処理し、ディスプレイ制御部532を介してモニタ560に供給し、その画像を表示させる。
また、この画像表示に合わせて、レコーダ制御部526が、復号したオーディオデータを、D/Aコンバータ534を介してモニタ560に供給し、その音声をスピーカから出力させるようにしてもよい。
さらに、レコーダ制御部526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ527に供給する。
以上のようなハードディスクレコーダ500は、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダとして画像復号装置151を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置151の場合と同様に、重み付き予測後の高周波成分が失われることが抑制され、画質の鮮明感が得られる。
したがって、ハードディスクレコーダ500は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ560に表示させることができる。
また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置51を用いる。したがって、エンコーダ551は、画像符号化装置51の場合と同様に、重み付き予測後の高周波成分が失われることが抑制され、予測精度が改善される。
したがって、ハードディスクレコーダ500は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、より高速に、ハードディスクの記憶領域をより効率よく使用することができる。
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置51および画像復号装置151を適用することができる。
[カメラの構成例]
図30は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
図30に示されるカメラ600は、被写体を撮像し、被写体の画像をLCD616に表示させたり、それを画像データとして、記録メディア633に記録したりする。
レンズブロック611は、光(すなわち、被写体の映像)を、CCD/CMOS612に入射させる。CCD/CMOS612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部613に供給する。
カメラ信号処理部613は、CCD/CMOS612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部614に供給する。画像信号処理部614は、コントローラ621の制御の下、カメラ信号処理部613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ641で例えばMPEG方式により符号化したりする。画像信号処理部614は、画像信号を符号化して生成した符号化データを、デコーダ615に供給する。さらに、画像信号処理部614は、オンスクリーンディスプレイ(OSD)620において生成された表示用データを取得し、それをデコーダ615に供給する。
以上の処理において、カメラ信号処理部613は、バス617を介して接続されるDRAM(Dynamic Random Access Memory)618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM618に保持させる。
デコーダ615は、画像信号処理部614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD616に供給する。また、デコーダ615は、画像信号処理部614から供給された表示用データをLCD616に供給する。LCD616は、デコーダ615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
オンスクリーンディスプレイ620は、コントローラ621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス617を介して画像信号処理部614に出力する。
コントローラ621は、ユーザが操作部622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス617を介して、画像信号処理部614、DRAM618、外部インタフェース619、オンスクリーンディスプレイ620、およびメディアドライブ623等を制御する。FLASH ROM624には、コントローラ621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
例えば、コントローラ621は、画像信号処理部614やデコーダ615に代わって、DRAM618に記憶されている画像データを符号化したり、DRAM618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ621は、画像信号処理部614やデコーダ615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部614やデコーダ615が対応していない方式により符号化・復号処理を行うようにしてもよい。
また、例えば、操作部622から画像印刷の開始が指示された場合、コントローラ621は、DRAM618から画像データを読み出し、それを、バス617を介して外部インタフェース619に接続されるプリンタ634に供給して印刷させる。
さらに、例えば、操作部622から画像記録が指示された場合、コントローラ621は、DRAM618から符号化データを読み出し、それを、バス617を介してメディアドライブ623に装着される記録メディア633に供給して記憶させる。
記録メディア633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
また、メディアドライブ623と記録メディア633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
外部インタフェース619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ634と接続される。また、外部インタフェース619には、必要に応じてドライブ631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM624にインストールされる。
さらに、外部インタフェース619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ621は、例えば、操作部622からの指示に従って、DRAM618から符号化データを読み出し、それを外部インタフェース619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース619を介して取得し、それをDRAM618に保持させたり、画像信号処理部614に供給したりすることができる。
以上のようなカメラ600は、デコーダ615として画像復号装置151を用いる。したがって、デコーダ615は、画像復号装置151の場合と同様に、重み付き予測後の高周波成分が失われることが抑制され、画質の鮮明感が得られる。
したがって、カメラ600は、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD616に表示させることができる。
また、カメラ600は、エンコーダ641として画像符号化装置51を用いる。したがって、エンコーダ641は、画像符号化装置51の場合と同様に、重み付き予測後の高周波成分が失われることが抑制され、予測精度が改善される。
したがって、カメラ600は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ600は、より高速に、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
なお、コントローラ621が行う復号処理に画像復号装置151の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置51の符号化方法を適用するようにしてもよい。
また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
もちろん、画像符号化装置51および画像復号装置151は、上述した装置以外の装置やシステムにも適用可能である。
<第2実施の形態>
[画像符号化装置の構成例]
図31は、本発明を適用した画像処理装置としての画像符号化装置の第2実施の形態の構成を表している。
図31に示す構成のうち、図8の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図31の画像符号化装置700の構成は、主に、動き予測・補償部75の代わりに動き予測・補償部701が設けられている点が図8の構成と異なる。画像符号化装置700は、SIFO(Single pass switched Interpolation Filter with Offset)を用いて参照画像に対するフィルタ処理を行う。
なお、SIFOとは、固定の補間フィルタとAIFの中間的な補間フィルタである。具体的には、SIFOでは、スライスごとに、予め決められた複数の種類のフィルタ係数のセット(以下、フィルタ係数セットという)の中から、所望のフィルタ係数セットのフィルタ係数を設定するとともに、オフセットを設定することができる。SIFOの詳細については、例えば、VCEG(Visual Coding Expert Group)AI35、VCEG-AJ29等に記載されている。
画像符号化装置700において、動き予測・補償部701は、フレームメモリ72からスイッチ73を介して供給される参照画像と、画面並べ替えバッファ62から供給されるインター処理する画像とに基づいて、候補となるインター予測モードごとに、各スライスの参照画像に対するフィルタ処理を行う際にSIFOに設定するオフセットを決定する。
動き予測・補償部701は、候補となるインター予測モードごとに、対象スライスのオフセットと、そのインター予測モードに対応する候補となる全てのフィルタ係数セットの各sub pelのフィルタ係数の組み合わせそれぞれが設定されたSIFOを用いて、参照画像に対してフィルタ処理を行う。以下、全てのフィルタ係数セットの各sub pelのフィルタ係数の組み合わせを、全てのフィルタ係数セットの全組み合わせという。
また、動き予測・補償部701は、インター処理する画像とフィルタ処理後の参照画像に基づいて、候補となる全てのインター予測モードの各ブロックの動き予測を行い、各ブロックの動きベクトルを生成する。動き予測・補償部701は、生成された動きベクトルに基づいて、フィルタ処理後の参照画像に対してブロックごとに補償処理を行い、予測画像を生成する。そして、動き予測・補償部701は、候補となる全てのインター予測モードに対応する候補となる全てのフィルタ係数セットの全組み合わせに対して、ブロックごとにコスト関数値を求める。
さらに、動き予測・補償部701は、最適フィルタ処理後の参照画像に対応する候補となる全てのインター予測モードのコスト関数値に基づいて、ブロックごとに、最適インター予測モードを決定する。なお、最適フィルタ処理とは、対象フレームより1つ前のフレームの対象スライスと同一種類のスライスに対して決定されたフィルタ係数が設定されたSIFOによるフィルタ処理である。動き予測・補償部701は、最適インター予測モードの最適フィルタ処理後の参照画像に基づいて生成された予測画像と、その予測画像に対応するコスト関数値とを、予測画像選択部76に供給する。
また、動き予測・補償部701は、対象スライスの各ブロックの最適インター予測モードと、その最適インター予測モードに対応する全てのフィルタ係数セットの全組み合わせのコスト関数値とに基づいて、対象フレームの次のフレームの対象スライスと同一種類のスライスの最適フィルタ処理におけるフィルタ係数を決定する。
動き予測・補償部701は、予測画像選択部76により最適インター予測モードの予測画像が選択された場合、その最適インター予測モードを示すインター予測モード情報を可逆符号化部66に出力する。
このとき、動きベクトル情報、参照フレーム情報、スライスの情報、最適フィルタ処理におけるフィルタ係数の、フィルタ係数セットを特定するための番号であるセット番号、オフセットなども可逆符号化部66に出力される。これにより、可逆符号化部66において、動きベクトル情報、参照フレーム情報、スライスの情報、セット番号、オフセットなどが可逆符号化処理され、圧縮画像のヘッダ部に挿入される。なお、スライスの情報、セット番号、およびオフセットは、スライスヘッダに挿入される。
[動き予測・補償部の構成例]
図32は、動き予測・補償部701の構成例を示すブロック図である。なお、図32においては、図31のスイッチ73が省略されている。
図32に示す構成のうち、図9の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図32の動き予測・補償部701の構成は、主に、固定補間フィルタ81、フィルタ係数記憶部82、可変補間フィルタ83、フィルタ係数算出部84、動き予測部85、動き補償部86、および制御部87の代わりに、フィルタ係数選択部721、SIFO722、動き予測部723、動き補償部724、および制御部725が設けられている点が図9の構成と異なる。
動き予測・補償部701のフィルタ係数選択部721には、画像並べ替えバッファ62から供給される入力画像のうちのインター処理する画像が供給されるとともに、フレームメモリ72からスイッチ73を介して参照画像が供給される。フィルタ係数選択部721は、スライスごとに、候補となるインター予測モードごとのインター処理する画像と参照画像の輝度の平均値の差分を計算する。フィルタ係数選択部721は、その差分に基づいて、スライスごとに、候補となるインター予測モードごとのオフセットを決定し、SIFO722に供給する。また、フィルタ係数選択部721は、制御部725からの指示に応じて、オフセットを可逆符号化部66に供給する。
SIFO722は、フィルタ係数選択部721から供給されるオフセットとフィルタ係数とに基づいて、フレームメモリ72からの参照画像に対してフィルタ処理を行う。
具体的には、例えば、フィルタ処理後の分数位置の画素の画素値が図6に示したa乃至oである場合、まず、SIFO722は、分数位置の画素の画素値a,b,cを、参照画像内の整数位置の画素の画素値E,F,G,H,I,Jを用いて、次の式(24)により求める。ここで、h[pos][n]は、フィルタ係数であり、posは、図6に示されたsub pelの位置を示し、nはフィルタ係数の番号を示す。また、offset[pos]は、posのsub pelのオフセットを示す。
a = h[a][0] x E + h1[a][1] x F + h2[a][2] x G + h[a][3] x H
+ h[a][4] x I + h[a][5] x J + offset[a]
b = h[b][0] x E + h1[b][1] x F + h2[b][2] x G + h[b][3] x H
+ h[b][4] x I + h[b][5] x J + offset[b]
c = h[c][0] x E + h1[c][1] x F + h2[c][2] x G + h[c][3] x H
+ h[c][4] x I + h[c][5] x J + offset[C]
・・・(24)
次に、SIFO722は、分数位置の画素の画素値d乃至oを、参照画像内の図6に示した整数位置の画素の画素値G1,G2,G,G3,G4,G5を用いて、次の式(25)により求める。
d = h[d][0] x G1 + h[d][1] x G2 + h[d][2] x G + h[d][3] x G3
+ h[d][4] * G4 + h[d][5] x G5+ offset[d]
h = h[h][0] x G1 + h[h][1] x G2 + h[h][2] x G + h[h][3] x G3
+ h[h][4] * G4 + h[h][5] x G5+ offset[h]
l = h[l][0] x G1 + h[l][1] x G2 + h[l][2] x G + h[l][3] x G3
+ h[l][4] * G4 + h[l][5] x G5+ offset[l]
e = h[e][0] x a1 + h[e][1] x a2 + h[e][2] x a + h[e][3] x a3
+ h[e][4] * a4 + h[e][5] x a5+ offset[e]
i = h[i][0] x a1 + h[i][1] x a2 + h[i][2] x a + h[i][3] x a3
+ h[i][4] * a4 + h[i][5] x a5+ offset[i]
m = h[m][0] x a1 + h[m][1] x a2 + h[m][2] x a + h[m][3] x a3
+ h[m][4] * a4 + h[m][5] x a5+ offset[m]
f = h[f][0] x b1 + h[f][1] x b2 + h[f][2] x b + h[f][3] x b3
+ h[f][4] * b4 + h[f][5] x b5+ offset[f]
j = h[j][0] x b1 + h[j][1] x b2 + h[j][2] x b + h[j][3] x b3
+ h[j][4] * b4 + h[j][5] x b5+ offset[j]
n = h[n][0] x b1 + h[n][1] x b2 + h[n][2] x b + h[n][3] x b3
+ h[n][4] * b4 + h[n][5] x b5+ offset[n]
g = h[g][0] x c1 + h[g][1] x c2 + h[g][2] x c + h[g][3] x c3
+ h[g][4] * c4 + h[g][5] x c5+ offset[g]
k = h[k][0] x c1 + h[k][1] x c2 + h[k][2] x c + h[k][3] x c3
+ h[k][4] * c4 + h[k][5] x c5+ offset[k]
o = h[o][0] x c1 + h[o][1] x c2 + h[o][2] x c + h[o][3] x c3
+ h[o][4] * c4 + h[o][5] x c5+ offset[o]
・・・(25)
なお、SIFO722は、画素値gに対しては、強い低域濾波器(LPF)として機能する。これにより、フィルタ処理後の参照画像のノイズを低減することができる。
SIFO722における画素値gに対する強いLPFとしての機能は、L0L1重み付き予測を使う場合と、L0L1重み付き予測を使わない場合で異なるようにしてもよい。例えば、L0L1重み付き予測を使う場合、SIFO722は、画素値gに対して強いLPFとして機能しないようにし、L0L1重み付き予測を行わない場合、画素値gに対して強いLPFとして機能するようにする。これにより、時間的に強いLPFの特性が得られる、L0L1重み付き予測が使われる場合に、不用な空間的な強いLPFとしての機能を削除することができる。
なお、L0L1重み付き予測を使う場合、SIFO722は、L0の参照画素またはL1の参照画素のいずれかの画素値gに対してだけ、強いLPFとして機能するようにしてもよい。また、SIFO722による画素値gに対する強いLPFとしての機能は、インター予測モードに応じて切り換えられるようにしてもよい。
フィルタ係数選択部721は、ブロックごとのフィルタ処理後の参照画像を動き補償部724と動き予測部723に供給する。
動き予測部723は、画面並べ替えバッファ62からの入力画像のうちのインター処理する画像と、SIFO722からのフィルタ処理後の参照画像とに基づいて、候補となる全てのインター予測モードの動きベクトルをブロックごとに生成する。動き予測部723は、生成した動きベクトルを動き補償部724に出力する。
動き補償部724は、動き予測部723から供給される動きベクトルを用いて、SIFO722から供給されるフィルタ処理後の参照画像に対してブロックごとに補償処理を施し、予測画像を生成する。そして、動き補償部724は、候補となる全てのインター予測モードに対応する全てのフィルタ係数セットの全組み合わせに対して、ブロックごとにコスト関数値を求める。
また、動き補償部724は、最適フィルタ処理後の参照画像に対応する候補となる全てのインター予測モードのコスト関数値に基づいて、ブロックごとに、コスト関数値が最小となるインター予測モードを、最適インター予測モードに決定する。そして、動き補償部724は、最適インター予測モードの最適フィルタ処理後の参照画像に基づいて生成された予測画像と、その予測画像に対応するコスト関数値とを、予測画像選択部76に供給する。また、動き補償部724は、対象スライスの各ブロックの最適インター予測モードに対応する全てのフィルタ係数セットの全組み合わせのコスト関数値を制御部725に供給する。
動き補償部724は、予測画像選択部76において最適インター予測モードの予測画像が選択された場合、制御部725の制御のもと、最適インター予測モードを示す予測モード情報、スライスの種類が含まれるスライスの情報、動きベクトル、参照画像の情報などを、可逆符号化部66に出力する。
制御部725は、予測モードを設定する。制御部725は、設定された予測モードの予測の種類、すなわち、L0L1重み付き予測またはその他の予測であるかに応じて、フィルタ係数選択部721を制御する。具体的には、制御部725は、L0L1重み付き予測の場合、L0L1重み付き予測に用いられるフィルタ係数セットのセット番号をフィルタ係数選択部721に供給し、そのフィルタ係数セットのフィルタ係数の出力を指示する。また、制御部725はその他の予測の場合(すなわち、L0L1重み付き予測を行わない予測)、その他の予測に用いられるフィルタ係数セットのセット番号をフィルタ係数選択部721に供給し、そのフィルタ係数セットのフィルタ係数の出力を指示する。
また、制御部725は、動き補償部724から供給される対象スライスの各ブロックの最適インター予測モードに対応する全てのフィルタ係数セットの全組み合わせのコスト関数値に基づいて、インター予測モードごとに、最適フィルタ処理におけるフィルタ係数を決定する。具体的には、制御部725は、各予測モードを最適インター予測モードとするブロックのコスト関数値の対象スライス分の和が最小となる各sub pelのフィルタ係数の組み合わせを、各予測モードの最適フィルタ処理におけるフィルタ係数とする。
さらに、制御部725は、予測画像選択部76からのインター予測画像が選択されたという信号を受けると、動き補償部724およびフィルタ係数選択部721に、必要な情報を可逆符号化部66に出力させる制御を行う。さらに、制御部725は、予測画像選択部76からのインター予測画像が選択されたという信号に応じて、最適フィルタ処理におけるフィルタ係数のセット番号を可逆符号化部66に供給する。
[フィルタ係数選択部の構成例]
図33は、パターンAの場合のフィルタ係数選択部721の構成例を示すブロック図である。
図33に示すように、フィルタ係数選択部721は、オフセット決定部740、A1フィルタ係数メモリ741、A2フィルタ係数メモリ742、A3フィルタ係数メモリ743、A4フィルタ係数メモリ744、およびセレクタ745により構成される。
フィルタ係数選択部721のオフセット決定部740は、スライスごとに、候補となるインター予測モードごとのインター処理する画像と参照画像の輝度の平均値の差分を計算する。オフセット決定部740は、その差分に基づいて、スライスごとに、候補となるインター予測モードごとのオフセットを決定し、SIFO722に供給する。また、オフセット決定部740は、制御部725からの指示に応じて、オフセットを可逆符号化部66に供給する。
A1フィルタ係数メモリ741は、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられるフィルタ係数A1を、フィルタ係数セットとして複数種類記憶している。A1フィルタ係数メモリ741は、制御部725からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A1をsub pelごとに選択する。A1フィルタ係数メモリ741は、選択された全sub pelのフィルタ係数A1をセレクタ745に出力する。
A2フィルタ係数メモリ742は、L0L1重み付き予測を使う場合の双予測モードに用いられるフィルタ係数A2を、フィルタ係数セットとして複数種類記憶している。A2フィルタ係数メモリ742は、制御部725からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A2をsub pelごとに選択する。A2フィルタ係数メモリ742は、選択された全sub pelのフィルタ係数A2をセレクタ745に出力する。
A3フィルタ係数メモリ743は、L0L1重み付き予測を使う場合のダイレクト・モードに用いられるフィルタ係数A3を、フィルタ係数セットとして複数種類記憶している。A3フィルタ係数メモリ743は、制御部725からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A3をsub pelごとに選択する。A3フィルタ係数メモリ743は、選択された全sub pelのフィルタ係数A3をセレクタ745に出力する。
A4フィルタ係数メモリ744は、L0L1重み付き予測を使う場合のスキップ・モードに用いられるフィルタ係数A4を、フィルタ係数セットとして複数種類記憶している。A4フィルタ係数メモリ744は、制御部725からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A4をsub pelごとに選択する。A4フィルタ係数メモリ744は、選択された全sub pelのフィルタ係数A4をセレクタ745に出力する。
セレクタ745は、制御部725からの指示に応じて、フィルタ係数A1乃至A4のうち、1つのフィルタ係数を選択し、SIFO722に出力する。
なお、以下では、A1フィルタ係数メモリ741、A2フィルタ係数メモリ742、A3フィルタ係数メモリ743、およびA4フィルタ係数メモリ744を特に区別する必要がない場合、それらをまとめてフィルタ係数メモリという。
[A1フィルタ係数メモリの記憶情報の例]
図34は、A1フィルタ係数メモリ741の記憶情報の例を示す図である。
図34の例では、A1フィルタ係数メモリ741に、4種類のフィルタ係数A1がフィルタ係数セット761−1乃至761−4として記憶されている。
なお、A1フィルタ係数メモリ741に記憶されるフィルタ係数セットの数は、4つに限定されない。但し、フィルタ係数セットの数が多いと、スライスヘッダに挿入されるセット番号の情報量が増加するので、オーバーヘッドが増大する。一方、フィルタ係数セットの数が少ないと、最適なフィルタ係数を設定することができず、符号化効率が低下する恐れがある。従って、画像符号化装置700および後述する画像復号装置からなるシステムのオーバーヘッドおよび符号化効率の許容範囲に応じて、フィルタ係数セットの数は決定される。
また、図34では、A1フィルタ係数メモリ741の記憶情報について説明したが、A2フィルタ係数メモリ742、A3フィルタ係数メモリ743、およびA4フィルタ係数メモリ744についても、同様に、複数のフィルタ係数セットが記憶される。
[画像符号化装置の処理の説明]
次に、図31の画像符号化装置700の処理について説明する。画像符号化装置700の符号化処理は、図15の符号化処理のステップS22の動き予測・補償処理を除いて、図15の符号化処理と同様である。従って、ここでは、画像符号化装置700の動き予測・補償部701による動き予測・補償処理についてのみ説明する。
図35は、画像符号化装置700の動き予測・補償部701による動き予測・補償処理を説明するフローチャートである。この動き予測・補償処理は、スライスごとに行われる。
図35のステップS201において、動き予測・補償部701の制御部725(図32)は、現在のインター予測モードを、候補となるインター予測モードのうちのまだ設定されていない所定のインター予測モードに設定する。
ステップS202において、フィルタ係数選択部721のオフセット決定部740(図33)は、入力画像のうちのインター処理する画像の輝度の平均値と、現在のインター予測モードに対応する参照画像の輝度の平均値を計算する。
ステップS203において、オフセット決定部740は、入力画像のうちのインター処理する画像と、現在のインター予測モードに対応する参照画像の輝度の平均値の差分を計算する。
ステップS204において、オフセット決定部740は、ステップS203で算出された差分が所定の閾値(例えば、2)以下であるかどうかを判定する。ステップS204で差分が所定の閾値以下であると判定された場合、オフセット決定部740は、その差分を対象スライスのスライスごとのオフセットとして決定する。なお、スライスごとのオフセットとは、各スライスの全sub pelに対する共通のオフセットである。即ち、差分が所定の閾値以下である場合、1つのスライスに対して1つのオフセットがスライスごとのオフセットとして決定され、そのオフセットが全sub pelに対するオフセットとされる。そして、オフセット決定部740は、スライスごとのオフセットをSIFO722に供給し、処理をステップS207に進める。
一方、ステップS204で差分が所定の閾値より大きいと判定された場合、オフセット決定部740は、その差分に基づくsub pelごとの値を、sub pelごとのオフセットとして決定する。
具体的には、例えば、差分が10である場合、a乃至oの計15個のsub pelに対して、hのオフセットが10となり、o,g,f,n,d,l,b,h,j,c,a,k,i,m,eの順にオフセットが10/15ずつ大きくなるように、オフセットが決定される。即ち、o,g,f,n,d,l,b,h,j,c,a,k,i,m,eのsub pelに対するオフセットは、それぞれ、80/15,90/15,100/15,110/15,120/15,130/15,140/15,10,160/15,170/15,180/15,190/15,200/15,210/15,220/15となる。オフセット決定部740は、決定されたオフセットをSIFO722に供給し、処理をステップS207に進める。
ステップS207において、制御部725は、現在のインター予測モードに対応するフィルタ係数メモリに記憶されているフィルタ係数セットから、まだ選択されていない各sub pelのフィルタ係数の組み合わせを選択する。
具体的には、制御部725は、まず、後述するステップS208で選択されるフィルタ係数に対応するフィルタ係数メモリを認識する。次に、制御部725は、そのフィルタ係数メモリ内のフィルタ係数セットの全てのセット番号を認識し、sub pelごとにセット番号を選択することにより、まだ選択されていない各sub pelのセット番号の組み合わせを決定する。
例えば、制御部725は、A1フィルタ係数メモリ741内のフィルタ係数セット761−1のセット番号を、それぞれ、a,b,c,d,e,f,g,h,i,j,k,l,m,n,oの計15個のsub pelのセット番号として決定する。また、制御部725は、A1フィルタ係数メモリ741内のフィルタ係数セット761−1のセット番号を、それぞれ、a,b,c,d,e,f,g,h,i,j,k,l,m,nの計14個のsub pelのセット番号として決定し、フィルタ係数セット761−2のセット番号を、oのsub pelのセット番号として決定する。
そして、制御部725は、そのセット番号の組み合わせを、ステップS208で選択されるフィルタ係数に対応するフィルタ係数メモリに指示する。これにより、フィルタ係数メモリは、制御部725から指示された各sub pelのセット番号の組み合わせに基づいて、そのセット番号のフィルタ係数セットから各sub pelのフィルタ係数を読み出し、セレクタ745に供給する。
ステップS208において、フィルタ係数選択部721は、フィルタ係数選択処理を行う。このフィルタ係数選択処理は、図17のフィルタ係数選択処理と同様であるので、説明は省略する。フィルタ係数選択処理により選択されたフィルタ係数A1、フィルタ係数A2、フィルタ係数A3、またはフィルタ係数A4は、SIFO72に供給される。
ステップS209において、SIFO722は、フィルタ係数選択部721から供給されるオフセットとフィルタ係数とに基づいて、フレームメモリ72からの参照画像に対してフィルタ処理を行う。フィルタ係数選択部721は、フィルタ処理後の参照画像を動き補償部724と動き予測部723に供給する。
ステップS210において、動き予測部723は、画面並べ替えバッファ62からの入力画像のうちのインター処理する画像と、SIFO722からのフィルタ処理後の参照画像とを用いて、ブロックごとに動き予測を行い、動きベクトルを生成する。動き予測部723は、生成した動きベクトルを動き補償部724に出力する。
ステップS211において、動き補償部724は、SIFO722から供給されるフィルタ処理後の参照画像と動き予測部723から供給される動きベクトルを用いて、ブロックごとに補償処理を施し、予測画像を生成する。そして、動き補償部724は、ブロックごとにコスト関数値を求める。
ステップS212において、制御部725は、ステップS207の処理で、現在のインター予測モードに対応するフィルタ係数セット内の各sub pelのフィルタ係数の全ての組み合わせが選択されたかどうかを判定する。ステップS212でまだ全ての組み合わせが選択されていないと判定された場合、処理はステップS207に戻り、全ての組み合わせが選択されるまで、ステップS207乃至S212の処理が繰り返される。
一方、ステップS212で全ての組み合わせが選択されたと判定された場合、ステップS213において、制御部725は、ステップS201の処理で、候補となる全てのインター予測モードが現在のインター予測モードとして設定されたかを判定する。
ステップS213で、まだ候補となる全てのインター予測モードが現在のインター予測モードとして設定されていないと判定された場合、処理はステップS201に戻る。そして、候補となる全てのインター予測モードが現在のインター予測モードとして設定されるまで、ステップS201乃至S213の処理が繰り返される。
一方、ステップS213で候補となる全てのインター予測モードが現在のインター予測モードとして設定されたと判定された場合、処理はステップS214に進む。ステップS214において、動き補償部724は、ステップS211で算出されたコスト関数値のうち、最適フィルタ処理後の参照画像に対応する候補となる全てのインター予測モードのコスト関数値に基づいて、ブロックごとに、コスト関数値が最小となるインター予測モードを、最適インター予測モードに決定する。
なお、最初のフレームに対するステップS214の処理では、所定のフィルタ係数(例えば、セット番号が0番であるフィルタ係数セットとしてのフィルタ係数)を用いた処理が、最適フィルタ処理とされる。
また、動き補償部724は、最適インター予測モードの最適フィルタ処理後の参照画像に基づいて生成された予測画像と、その予測画像に対応するコスト関数値とを、予測画像選択部76に供給する。そして、予測画像選択部76において最適インター予測モードの予測画像が選択された場合、最適インター予測モードを示す予測モード情報と、最適インター予測モードに対応する動きベクトルは、制御部725の制御のもと、可逆符号化部66に出力される。さらに、動き補償部724は、各ブロックの最適インター予測モードに対応する全てのフィルタ係数セットの全組み合わせのコスト関数値を制御部725に供給する。
ステップS215において、制御部725は、動き補償部724から供給される各ブロックの最適インター予測モードに対応する全てのフィルタ係数セットの全組み合わせのコスト関数値に基づいて、各インター予測モードを最適インター予測モードとするブロックの、フィルタ係数の組み合わせごとのコスト関数値の対象スライス分の和を求める。即ち、制御部725は、最適インター予測モードが所定のインター予測モードであるブロックについて、その最適インター予測モードに対応するフィルタ係数の組み合わせごとに、コスト関数値をスライス分加算することを、インター予測モードごとに行う。
ステップS216において、制御部725は、ステップS215で求められた各インター予測モードのフィルタ係数の組み合わせごとのコスト関数値の和に基づいて、インター予測モードごとに、コスト関数値の和が最小となるフィルタ係数の組み合わせを、最適フィルタ処理におけるフィルタ係数とする。このフィルタ係数のsub pelごとのセット番号は、予測画像選択部76からのインター予測画像が選択されたという信号に応じて、可逆符号化部66に供給され、対象フレームの次のフレームの対象スライスと同一種類のスライスのスライスヘッダに挿入される。そして、動き予測・補償処理は、終了する。
以上のように、画像符号化装置700では、1種類の動き予測で、最適フィルタ処理におけるフィルタ係数およびオフセットを設定することができる。その結果、図8の画像符号化装置51に比べて、フィルタ係数の算出コストを低減させることができる。
また、画像符号化装置700では、スライスヘッダに、フィルタ係数そのものではなく、フィルタ係数のsub pelごとのセット番号が含まれるので、図8の画像符号化装置51に比べて、オーバーヘッドを低減させることができる。
なお、第2実施の形態では、sub pelごとにフィルタ係数セットが選択されたが、全sub pelに対して共通の1つのフィルタ係数セットが選択されるようにしてもよい。この場合、画像符号化装置700は、最適フィルタ処理におけるフィルタ係数を求めるために、フィルタ係数セット単位でコスト関数値を求めればよいため、オーバーヘッドを削減することができる。また、フィルタ係数セットを特定するための情報は、各インター予測モードに対して1つのセット番号となるため、その情報のビット量を削減することができる。
また、sub pelごとのフィルタ係数セットの選択、および、全sub pelに対する共通の1つのフィルタ係数セットの選択の両方を選択的に行うことができるようにしてもよい。この場合、いずれの選択が行われたかを示すフラグがスライスヘッダに挿入される。このフラグは、例えば、sub pelごとのフィルタ係数セットの選択が行われた場合1となり、全sub pelに対する共通の1つのフィルタ係数セットの選択が行われた場合0となる。
さらに、第2の実施の形態では、フィルタ係数A1乃至フィルタ係数A4のそれぞれに対して、フィルタ係数セットが設けられたが、フィルタ係数A1乃至フィルタ係数A4に共通のフィルタ係数セットが設けられるようにしてもよい。但し、フィルタ係数A1乃至フィルタ係数A4のそれぞれに対してフィルタ係数セットが設けられる場合、フィルタ係数A1乃至フィルタ係数A4のそれぞれに適するフィルタ係数セットのみを設けることができる。従って、フィルタ係数A1乃至フィルタ係数A4のそれぞれとして用意すべきフィルタ係数セットの数は、共通のフィルタ係数セットが設けられる場合に比べて少なくなり、スライスヘッダに挿入されるセット番号のビット量を削減することができる。
[画像復号装置の構成例]
図36は、本発明を適用した画像処理装置としての画像復号装置の第2実施の形態の構成を表している。
図36に示す構成のうち、図18の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図36の画像復号装置800の構成は、主に、動き補償部172の代わりに動き補償部801が設けられている点が図18の構成と異なる。画像復号装置800は、図31の画像符号化装置700により出力された圧縮画像を復号する。
具体的には、画像復号装置800の動き補償部801においては、少なくとも、L0L1重み付き予測に用いられるフィルタ係数と、それ以外の予測に用いられるフィルタ係数がフィルタ係数セットとして複数記憶されている。
動き補償部801は、可逆復号部162からの最適インター予測モードに対応するフィルタ係数セットのうちの、可逆復号部162からのスライスヘッダに含まれるセット番号のフィルタ係数セットのフィルタ係数をsub pelごとに読み出す。動き補償部801は、読み出されたフィルタ係数と、スライスヘッダに含まれるオフセットとを用いて、SIFOにより、フレームメモリ169からの参照画像に対してフィルタ処理を行う。
また、動き補償部801は、可逆復号部162からの動きベクトルを用いて、ブロックごとに、フィルタ処理後の参照画像に補償処理を行い、予測画像を生成する。生成された予測画像は、スイッチ173を介して、演算部165に出力される。
[動き補償部の構成例]
図37は、動き補償部801の詳細な構成例を示すブロック図である。なお、図37においては、図36のスイッチ170が省略されている。
図37に示す構成のうち、図19の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図37の動き補償部801の構成は、主に、固定補間フィルタ181、固定フィルタ係数記憶部182、可変補間フィルタ183、可変フィルタ係数記憶部184、および制御部186の代わりに、フィルタ係数セット記憶部811、SIFO812、および制御部813が設けられている点が図19の構成と異なる。
動き補償部801のフィルタ係数セット記憶部811は、SIFO812で使用される、少なくとも、L0L1重み付き予測用およびそれ以外の予測用のフィルタ係数をフィルタ係数セットとして複数種類記憶する。フィルタ係数セット記憶部811は、制御部813の制御のもと、所定のフィルタ係数セット内のフィルタ係数をsub pelごとに読み出す。また、フィルタ係数セット記憶部811は、読み出されたL0L1重み付き予測用およびそれ以外の予測用のフィルタ係数のいずれかを、制御部813の制御のもと選択し、選択したフィルタ係数を、SIFO812に供給する。
SIFO812は、フレームメモリ169からの参照画像に対して、可逆復号部162から供給されるオフセットと、フィルタ係数セット記憶部811から供給されるフィルタ係数を用いて、フィルタ処理を施す。SIFO812は、フィルタ処理後の参照画像を、動き補償処理部185に出力する。
制御部813は、スライスごとに、可逆復号部162からのスライスヘッダの情報に含まれるセット番号を取得し、そのセット番号のフィルタ係数セットの読み出しをフィルタ係数セット記憶部811に指示する。また、制御部813は、可逆復号部162から供給される予測モード情報に応じて、L0L1重み付き予測用およびそれ以外の予測用のどちらのフィルタ係数を選択するかを、フィルタ係数セット記憶部811に指示する。また、制御部813は、動き補償処理部185に、予測モード情報に基づく最適インター予測モードの補償処理を行わせる。
[フィルタ係数セット記憶部の構成例]
図38は、パターンAの場合のフィルタ係数セット記憶部811の構成例を示すブロック図である。
図38に示すように、フィルタ係数セット記憶部811は、A1フィルタ係数メモリ831、A2フィルタ係数メモリ832、A3フィルタ係数メモリ833、およびA4フィルタ係数メモリ834、およびセレクタ835により構成される。
A1フィルタ係数メモリ831は、図33のA1フィルタ係数メモリ741と同様に、L0L1重み付き予測を使わない場合の全てのインター予測モードに用いられるフィルタ係数A1を、フィルタ係数セットとして複数種類記憶している。A1フィルタ係数メモリ831は、制御部813からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A1をsub pelごとに選択する。A1フィルタ係数メモリ831は、選択された全sub pelのフィルタ係数A1をセレクタ835に出力する。
A2フィルタ係数メモリ832は、図33のA2フィルタ係数メモリ742と同様に、L0L1重み付き予測を使う場合の双予測モードに用いられるフィルタ係数A2を、フィルタ係数セットとして複数種類記憶している。A2フィルタ係数メモリ832は、制御部813からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A2をsub pelごとに選択する。A2フィルタ係数メモリ832は、選択された全sub pelのフィルタ係数A2をセレクタ835に出力する。
A3フィルタ係数メモリ833は、図33のA3フィルタ係数メモリ743と同様に、L0L1重み付き予測を使う場合のダイレクト・モードに用いられるフィルタ係数A3を、フィルタ係数セットとして複数種類記憶している。A3フィルタ係数メモリ833は、制御部813からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A3をsub pelごとに選択する。A3フィルタ係数メモリ833は、選択された全sub pelのフィルタ係数A3をセレクタ835に出力する。
A4フィルタ係数メモリ834は、図33のA4フィルタ係数メモリ744と同様に、L0L1重み付き予測を使う場合のスキップ・モードに用いられるフィルタ係数A4を、フィルタ係数セットとして複数種類記憶している。A4フィルタ係数メモリ834は、制御部813からの指示に応じて、記憶している複数種類のフィルタ係数セットのうちの、所定のフィルタ係数セットのフィルタ係数A4をsub pelごとに選択する。A4フィルタ係数メモリ834は、選択された全sub pelのフィルタ係数A4をセレクタ835に出力する。
セレクタ835は、制御部813からの指示に応じて、フィルタ係数A1乃至A4のうち、1つのフィルタ係数を選択し、SIFO812に出力する。
[画像復号装置の処理の説明]
次に、図36の画像復号装置800の処理について説明する。画像復号装置800の復号処理は、図22の復号処理のステップS139の動き補償処理を除いて、図22の復号処理と同様である。従って、ここでは、画像復号装置800の動き補償部801による動き補償処理についてのみ説明する。
図39は、画像復号装置800の動き補償部801による動き補償処理を説明するフローチャートである。この動き補償部801は、スライスごとに行われる。
ステップS301において、動き補償部801の制御部813(図37)は、可逆復号部162からのスライスヘッダの情報に含まれるスライスごとの各sub pelのセット番号を取得するとともに、ブロックごとの予測モード情報を取得する。制御部813は、取得された各sub pelのセット番号を、フィルタ係数セット記憶部811に指示する。これにより、フィルタ係数セット記憶部811のA1フィルタ係数メモリ831、A2フィルタ係数メモリ832、A3フィルタ係数メモリ、およびA4フィルタ係数メモリは、それぞれ、制御部813により指示された各sub pelのセット番号のフィルタ係数セット内の、そのsub pelのフィルタ係数を読み出し、セレクタ835に供給する。
ステップS302乃至S308の処理は、図23のステップS155乃至S161の処理と同様であるので、説明は省略する。
ステップS308の処理後、ステップS309において、SIFO812は、可逆復号部162から、スライスヘッダに含まれるスライスごとのオフセットを取得する。
ステップS310において、SIFO812は、フレームメモリ169からの参照画像に対して、可逆復号部162から供給されるオフセットと、フィルタ係数セット記憶部811から供給されるフィルタ係数を用いて、フィルタ処理を行う。SIFO812は、フィルタ処理後の参照画像を、動き補償処理部185に出力する。
ステップS311において、動き補償処理部185は、可逆復号部162からブロックごとの動きベクトルを取得する。
ステップS312において、動き補償処理部185は、制御部813の制御のもと、ブロックごとに、最適インター予測モードで、可逆復号部162からの動きベクトルを用いて、フィルタ処理された参照画像に補償処理を行い、予測画像を生成する。動き補償部185は、生成した予測画像を、スイッチ173に出力する。そして、動き補償処理は終了する。
<フィルタ係数の他の分類>
図40は、フィルタ係数の他の分類方法について説明する図である。なお、図40の例において、フィルタ[X][X]となっている部分の数字とアルファベットが異なれば、フィルタの特性が異なることを表している。
図40に示すフィルタ係数の分類方法は、図10で示したフィルタ係数の分類方法に1つのパターンEが追加されたものである。
パターンEは、フィルタ係数を、フィルタ係数E1乃至E5の5つに分類する方法である。具体的には、パターンEでは、パターンAと同様に、L0L1重み付き予測を使う場合においてインター予測モードごとに異なるフィルタ係数が用いられるだけでなく、L0L1重み付き予測を使わない場合において、対象スライスが、Bスライス以外であるか、Bスライスであるかによって、異なるフィルタ係数が用いられる。
即ち、フィルタ係数E1は、L0L1重み付き予測を使わない場合の全てのインター予測モードのBスライス以外のスライスに対して用いられる。フィルタ係数E2は、L0L1重み付き予測を使わない場合の全てのインター予測モードのBスライスに対して用いられる。フィルタ係数E3は、L0L1重み付き予測を使う場合の双予測モードに用いられる。フィルタ係数E4は、L0L1重み付き予測を使う場合のダイレクト・モードに用いられる。フィルタ係数E5は、L0L1重み付き予測を使う場合のスキップ・モードに用いられる。
以下に、パターンEによる効果について説明する。
AVC規格において、BスライスではL0L1重み付き予測が使われる領域と使われない領域が混在するのが普通である。一方、PスライスではL1参照ができないため、L0L1重み付き予測が使用されることはない。
即ち、Bスライスでは、L0およびL1の両方の参照画素が用いられる場合があるが、Pスライスでは、L0の参照画素のみが用いられる。また、BスライスでL0L1重み付き予測が用いられなかった場合、その領域では、特殊な動き、即ち、回転や拡大縮小を伴う動きが生じている可能性が高いと考えられる。そして、回転や拡大縮小などの動きは高周波数成分の動き補償では困難である。従って、Bスライスでは、L0L1重み付き予測が使われない場合、補間フィルタ(固定補間フィルタ81、可変補間フィルタ83、SIFO722)は、Pスライスに比べて強い強度のLPF特性を有する必要がある。
そのため、固定補間フィルタ81やSIFO722のフィルタ係数A1乃至C1として、L0L1重み付き予測が使われない場合のBスライスに最適なフィルタ係数が用意されると、Pスライスでは、高域成分が過剰に抑圧される。このことは、特にPスライスだけで構成される符号化方式において、符号化効率や画質を悪化させる要因になる。
これに対して、パターンEでは、L0L1重み付き予測が使われない場合、Bスライス以外のスライスに対するフィルタ係数E1と、Bスライスに対するフィルタ係数E2が別々に用意される。従って、BスライスとBスライス以外のそれぞれに対して最適なフィルタ係数を用いることができる。その結果、適切に参照画像に含まれるノイズを除去するとともに、参照画像の高周波成分の損失を抑制することができる。
なお、本発明は、上述した固定の補間フィルタ(FIF(Fixed Interpolation Filter)、AIF、SIFO以外のフィルタを用いた画像処理装置にも適用することができる。
また、固定補間フィルタ81と可変補間フィルタ83において、オフセットが設定されるようにしてもよい。
51 画像符号化装置, 66 可逆符号化部, 75 動き予測・補償部, 81 固定補間フィルタ, 82 フィルタ係数記憶部, 83 可変補間フィルタ, 84 フィルタ係数算出部, 85 動き予測部, 86 動き補償部, 87 制御部, 91 A1フィルタ係数メモリ, 92 A2フィルタ係数メモリ, 93 A3フィルタ係数メモリ, 94 A4フィルタ係数メモリ, 95 セレクタ, 101 A1フィルタ係数算出部, 102 A2フィルタ係数算出部, 103 A3フィルタ係数算出部, 104 A4フィルタ係数算出部, 105 セレクタ, 151 画像復号装置, 162 可逆復号部, 172 動き補償部, 181 固定補間フィルタ, 182 固定フィルタ係数記憶部, 183 可変補間フィルタ, 184 可変フィルタ係数記憶部, 185 動き補償処理部, 186 制御部,191 A1フィルタ係数メモリ, 192 A2フィルタ係数メモリ, 193 A3フィルタ係数メモリ, 194 A4フィルタ係数メモリ, 195 セレクタ, 201 A1フィルタ係数メモリ, 202 A2フィルタ係数メモリ, 203 A3フィルタ係数メモリ, 204 A4フィルタ係数メモリ, 205 セレクタ

Claims (16)

  1. 符号化された画像に対応する参照画像の画素を分数精度で補間する補間フィルタと、
    前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記補間フィルタのフィルタ係数を選択するフィルタ係数選択手段と、
    前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記符号化された画像に対応する動きベクトルを用いて、予測画像を生成する動き補償手段と
    を備える画像処理装置。
  2. 前記フィルタ係数選択手段は、前記異なる複数の前記参照画像による重み付け予測の使用の場合、さらに、双予測モードであるか否かに基づいて、前記補間フィルタのフィルタ係数を選択する
    請求項1に記載の画像処理装置。
  3. 前記フィルタ係数選択手段は、前記双予測モードであるか否かに基づいて、高周波成分の増幅の程度の異なる前記フィルタ係数を選択する
    請求項2に記載の画像処理装置。
  4. 前記フィルタ係数選択手段は、前記異なる複数の前記参照画像による重み付け予測の使用の場合、さらに、双予測モードであるか、ダイレクト・モードであるか、スキップ・モードであるかに基づいて、前記補間フィルタのフィルタ係数を選択する
    請求項1に記載の画像処理装置。
  5. 前記補間フィルタは、前記フィルタ係数選択手段により選択される前記フィルタ係数とオフセット値とを用いて、前記参照画像の画素を分数精度で補間する
    請求項1に記載の画像処理装置。
  6. 前記符号化された画像、前記動きベクトル、および符号化時に算出された前記フィルタ係数を復号する復号手段
    をさらに備え、
    前記フィルタ係数選択手段は、前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記復号手段により復号された前記フィルタ係数を選択する
    請求項1に記載の画像処理装置。
  7. 前記フィルタ係数は、前記重み付け予測の使用時用の複数種類のフィルタ係数と、前記重み付け予測の未使用時用の複数種類のフィルタ係数とからなり、
    前記フィルタ係数選択手段は、前記重み付け予測の使用または未使用と、前記フィルタ係数の種類を特定するための情報とに基づいて、前記復号手段により復号された前記フィルタ係数を選択する
    請求項6に記載の画像処理装置。
  8. 符号化対象の画像と、前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記動きベクトルを検出する動き予測手段
    をさらに備える
    請求項1に記載の画像処理装置。
  9. 前記フィルタ係数選択手段は、前記異なる複数の前記参照画像による重み付け予測の使用の場合、さらに、双予測モードであるか否かに基づいて、前記補間フィルタのフィルタ係数を選択する
    請求項8に記載の画像処理装置。
  10. 前記符号化対象の画像、前記参照画像、および前記動き予測手段により検出された前記動きベクトルを用いて、前記補間フィルタのフィルタ係数を算出するフィルタ係数算出手段をさらに備え、
    前記フィルタ係数選択手段は、異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記フィルタ係数算出手段により算出された前記フィルタ係数を選択する
    請求項8に記載の画像処理装置。
  11. 前記フィルタ係数選択手段は、異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記フィルタ係数算出手段により算出された前記フィルタ係数を第1の選択候補とするとともに、所定のフィルタ係数を第2の選択候補とし、
    前記動き予測手段は、前記符号化対象の画像と、前記第1の選択候補の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記第1の選択候補用の動きベクトルを検出するとともに、前記符号化対象の画像と、前記第2の選択候補の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記第2の選択候補用の動きベクトルを検出し、
    前記動き補償手段は、前記第1の選択候補の前記補間フィルタにより補間された前記参照画像と、前記第1の選択候補用の動きベクトルを用いて、前記第1の選択候補用の予測画像を生成するとともに、前記第2の選択候補の前記補間フィルタにより補間された前記参照画像と、前記第2の選択候補用の動きベクトルを用いて、前記第2の選択候補用の予測画像を生成し、
    前記フィルタ係数選択手段は、前記第1の選択候補用の予測画像と前記符号化対象の画像との差分と、前記第2の選択候補用の予測画像と前記符号化対象の画像との差分のうちの小さい方の差分に対応するフィルタ係数を選択する
    請求項10に記載の画像処理装置。
  12. 前記フィルタ係数は、前記重み付け予測の使用時用の複数種類のフィルタ係数と、前記重み付け予測の未使用時用の複数種類のフィルタ係数とからなり、
    前記フィルタ係数選択手段は、前記重み付け予測の使用または未使用と、各種類のフィルタ係数に対応するコスト関数値とに基づいて、前記フィルタ係数を選択する
    請求項8に記載の画像処理装置。
  13. 符号化された画像に対応する参照画像の画素を分数精度で補間する補間フィルタを備える画像処理装置の画像処理方法において、
    前記画像処理装置が、
    前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記補間フィルタのフィルタ係数を選択し、
    選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記符号化された画像に対応する動きベクトルを用いて、予測画像を生成するステップ
    を含む画像処理方法。
  14. 前記画像処理装置が、
    符号化対象の画像と、選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記動きベクトルを検出するステップ
    をさらに含む
    請求項13に記載の画像処理方法。
  15. 符号化された画像に対応する参照画像の画素を分数精度で補間する補間フィルタを備える画像処理装置のコンピュータを、
    前記符号化された画像における異なる複数の前記参照画像による重み付け予測の使用または未使用に基づいて、前記補間フィルタのフィルタ係数を選択するフィルタ係数選択手段と、
    前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記符号化された画像に対応する動きベクトルを用いて、予測画像を生成する動き補償手段と
    して、機能させるためのプログラム。
  16. 前記コンピュータを、
    符号化対象の画像と、前記フィルタ係数選択手段により選択された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像との間で動き予測を行い、前記動きベクトルを検出する動き予測手段
    として、さらに機能させるための請求項15に記載のプログラム。
JP2011547484A 2009-12-22 2010-12-14 画像処理装置および方法、並びにプログラム Withdrawn JPWO2011078002A1 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2009290905 2009-12-22
JP2009290905 2009-12-22
JP2010158866 2010-07-13
JP2010158866 2010-07-13
PCT/JP2010/072434 WO2011078002A1 (ja) 2009-12-22 2010-12-14 画像処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JPWO2011078002A1 true JPWO2011078002A1 (ja) 2013-05-02

Family

ID=44195532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011547484A Withdrawn JPWO2011078002A1 (ja) 2009-12-22 2010-12-14 画像処理装置および方法、並びにプログラム

Country Status (4)

Country Link
US (1) US20120243611A1 (ja)
JP (1) JPWO2011078002A1 (ja)
CN (1) CN102714731A (ja)
WO (1) WO2011078002A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010091937A1 (en) * 2009-02-12 2010-08-19 Zoran (France) Temporal video interpolation method with 2-frame occlusion handling
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
EP2525576A4 (en) * 2010-01-12 2015-04-15 Sharp Kk ENCODER APPARATUS, DECODER APPARATUS, AND DATA STRUCTURE
KR101889101B1 (ko) * 2011-09-14 2018-08-17 세종대학교산학협력단 메모리 복사를 이용하여 영상을 복원하는 방법 및 장치
KR102161741B1 (ko) * 2013-05-02 2020-10-06 삼성전자주식회사 HEVC(high efficiency video coding)에서 코딩 유닛에 대한 양자화 파라미터를 변화시키는 방법과 장치, 및 시스템
CN110225360A (zh) * 2014-04-01 2019-09-10 联发科技股份有限公司 视频编码中自适应内插滤波的方法
JP2016058782A (ja) * 2014-09-05 2016-04-21 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN105338366B (zh) * 2015-10-29 2018-01-19 北京工业大学 一种视频序列中分数像素的解码方法
US10244266B1 (en) * 2016-02-11 2019-03-26 Amazon Technologies, Inc. Noisy media content encoding
US11405611B2 (en) * 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
US10382766B2 (en) * 2016-05-09 2019-08-13 Qualcomm Incorporated Signalling of filtering information
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
CN117041553A (zh) * 2018-10-06 2023-11-10 华为技术有限公司 使用插值滤波器进行帧内预测的方法和装置
US20220360779A1 (en) * 2019-07-05 2022-11-10 V-Nova International Limited Quantization of residuals in video coding
WO2021056210A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频编解码方法、装置和计算机可读存储介质
US11477447B2 (en) * 2020-09-25 2022-10-18 Ati Technologies Ulc Single pass filter coefficients selection

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6217234B1 (en) * 1994-07-29 2001-04-17 Discovision Associates Apparatus and method for processing data with an arithmetic unit
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
CN100452668C (zh) * 2002-07-09 2009-01-14 诺基亚有限公司 用于在视频编码中选择插值滤波器类型的方法和系统
WO2005034517A1 (en) * 2003-09-17 2005-04-14 Thomson Licensing S.A. Adaptive reference picture generation
JP2008536414A (ja) * 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
CN102752597A (zh) * 2006-08-28 2012-10-24 汤姆森许可贸易公司 用于确定解码视频块中的期望失真的方法及设备
US8942505B2 (en) * 2007-01-09 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter representation
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US8831087B2 (en) * 2008-10-06 2014-09-09 Qualcomm Incorporated Efficient prediction mode selection
EP2262267A1 (en) * 2009-06-10 2010-12-15 Panasonic Corporation Filter coefficient coding scheme for video coding
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US20110116546A1 (en) * 2009-07-06 2011-05-19 Xun Guo Single pass adaptive interpolation filter

Also Published As

Publication number Publication date
WO2011078002A1 (ja) 2011-06-30
CN102714731A (zh) 2012-10-03
US20120243611A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
WO2011078002A1 (ja) 画像処理装置および方法、並びにプログラム
JP5234368B2 (ja) 画像処理装置および方法
JP5597968B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2011024685A1 (ja) 画像処理装置および方法
JP5581688B2 (ja) 画像処理装置および方法、並びにプログラム
WO2010101064A1 (ja) 画像処理装置および方法
WO2010035733A1 (ja) 画像処理装置および方法
WO2010095559A1 (ja) 画像処理装置および方法
WO2010035731A1 (ja) 画像処理装置および方法
WO2011086964A1 (ja) 画像処理装置および方法、並びにプログラム
WO2010035734A1 (ja) 画像処理装置および方法
WO2010035730A1 (ja) 画像処理装置および方法
JP2011041037A (ja) 画像処理装置および方法
WO2011089973A1 (ja) 画像処理装置および方法
JPWO2010095560A1 (ja) 画像処理装置および方法
WO2010035732A1 (ja) 画像処理装置および方法
JPWO2010064675A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
WO2011078001A1 (ja) 画像処理装置および方法、並びにプログラム
JPWO2010064674A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
JP2013098899A (ja) 符号化装置および符号化方法、並びに、復号装置および復号方法
JPWO2010035735A1 (ja) 画像処理装置および方法
JP2014143716A (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP6048774B2 (ja) 画像処理装置および方法
WO2011125625A1 (ja) 画像処理装置および方法
JP2013150347A (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140304