JP2011135184A - 画像処理装置および方法、並びにプログラム - Google Patents
画像処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2011135184A JP2011135184A JP2009290904A JP2009290904A JP2011135184A JP 2011135184 A JP2011135184 A JP 2011135184A JP 2009290904 A JP2009290904 A JP 2009290904A JP 2009290904 A JP2009290904 A JP 2009290904A JP 2011135184 A JP2011135184 A JP 2011135184A
- Authority
- JP
- Japan
- Prior art keywords
- image
- filter
- unit
- slice
- motion
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】ストリームに含まれるビット量とメモリの使用帯域を減らすことができるようにする。
【解決手段】画像符号化装置51においては、対象スライスがBスライスのときに、可変の補間フィルタ(AIF)のタップ数を、例えば、4タップにしたので、4×4サイズの双方向予測が行われる場合であっても、補間処理後に得られる4×4の白色の正方形の画素の他に、前方向および後方向から、斜線が付された正方形の画素、98=2×49の画素をフレームメモリから読み込めばよい。すなわち、従来の場合と比較して、黒色の正方形に示される32の画素は補間処理に必要なくなる。本発明は、例えば、H.264/AVC方式をベースに符号化する画像符号化装置に適用することができる。
【選択図】図15
【解決手段】画像符号化装置51においては、対象スライスがBスライスのときに、可変の補間フィルタ(AIF)のタップ数を、例えば、4タップにしたので、4×4サイズの双方向予測が行われる場合であっても、補間処理後に得られる4×4の白色の正方形の画素の他に、前方向および後方向から、斜線が付された正方形の画素、98=2×49の画素をフレームメモリから読み込めばよい。すなわち、従来の場合と比較して、黒色の正方形に示される32の画素は補間処理に必要なくなる。本発明は、例えば、H.264/AVC方式をベースに符号化する画像符号化装置に適用することができる。
【選択図】図15
Description
本発明は画像処理装置および方法に関し、特に、Bスライスの場合に、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができるようにした画像処理装置および方法に関する。
画像情報を圧縮する標準規格として、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)
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タップの補間フィルタが用いられている。
また、非特許文献1および2には、最近の研究報告として、アダプティブ・インターポーレーション・フィルタ(AIF)が挙げられている。このAIFを用いた動き補償処理では、インターポーレーションで用いられるタップ数が偶数のFIRフィルタのフィルタ係数を適応的に変えることで、エイリアシングの影響や符号化歪みを低減し、動き補償の誤差を小さくすることができる。
図4を参照して、非特許文献2に記載のSeparable adaptive interpolation filter(以下、Separable AIFと称する)について説明する。なお、図4において、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
Separable AIFにおいては、第1ステップとして、横方向に対する非整数位置の補間が行われ、第2ステップとして、縦方向に対する非整数方向の補間が行われる。なお、横と縦の処理順を逆にすることも可能である。
まず、第1ステップである、分数位置の画素の画素値a,b,cは、整数位置の画素の画素値E,F,G,H,I,JからFIRフィルタにより次の式(2)で計算される。ここで、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
・・・(2)
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
・・・(2)
なお、画素値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は、次の式(3)で計算される。
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
・・・(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
・・・(3)
上述したAIFは、補間フィルタの性能を改善するが、フィルタ係数をストリーム情報に含めるため、オーバーヘッドが存在し、場合よっては、符号化効率を劣化させてしまうことも起こる。そこで、非特許文献3の参照ソフトウエアでは、スライス単位で、AIF ON/OFFフラグの情報をストリーム情報に含めることで、AIFを使用する・しないを制御することが可能である。
すなわち、復号側において、ストリーム情報が復号されて、AIF ON/OFFフラグが読み出される。そのフラグ情報がAIF使用を示していれば、さらにストリーム情報からフィルタ係数が読み出されて、それが、対象スライスの補間フィルタのフィルタ係数として使用される。そのフラグ情報がAIF不使用を示していれば、上述したH.264/AVCのFIRフィルタのフィルタ係数が使用される。
ところで、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
KTA Reference Software version 2.2r1、[平成21年11月25日検索]、インターネット<URL: http://iphome.hhi.de/suehring/tml/download/KTA/jm11.0kta2.2r1.zip>
"Video Coding Using Extended Block Sizes",VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
上述したように、AIFを用いれば、補間フィルタのフィルタ係数をスライス単位で変更できるが、そのフィルタ係数情報をストリーム情報に含めなければならず、フィルタ係数情報のビット量がオーバーヘッドとなり、符号化効率を劣化させてしまう恐れがある。
特に、Bピクチャにとってはそのオーバーヘッドが比較的多くなる。例えば、ピクチャタイプを、BPBPBP・・・という順序でPピクチャを2ピクチャ毎に配置して、その間をBピクチャにした場合、Bピクチャで発生するビット量はPピクチャと比較して少ないことが多い。これは、時間距離の小さい参照画像を使えることや、双方向予測が使えるといったことでBピクチャのインター予測の品質が高くなることが原因と考えられるが、いずれにせよ、Bピクチャのオーバーヘッドの割合がPピクチャのそれと比べて大きいことになる。
その結果、Bピクチャでは、AIFの効果が制限されてしまう。すなわち、AIFによって補間フィルタの性能が改善されるが、フィルタ係数情報によるオーバーヘッドのほうが負荷となり、符号化効率が損失する機会が多くなってしまう。
さらに、それだけでなく、補間フィルタが使われることで、出力される画素よりも入力しなければならないは画素、すなわち、フレームメモリから読み込まなければならない画素数が増えて、そのメモリの転送帯域が大きくなってしまう恐れがある。
例えば、図3を参照して上述したH.264/AVC方式による補間の方法において、分数位置の画素の画素値jを生成しようとした場合、まず、画素値E,F,G,H,I,Jを6タップの補間フィルタに入力することで、画素値bが得られる。同様に、画素値aa,bb,s,gg,hhも得られる。次に、得られた画素値aa,bb,b, s,gg,hhを6タップの補間フィルタに入力することで、画素値jが得られる。したがって、1画素の画素値jを得るために使用された整数位置の画素は、図3に示される白色の正方形の数分、すなわち、36個であることがわかる。
また、ブロック単位で考えると、H.264/AVC方式において、最小のブロックサイズである4×4画素で動き補償に使う画素数は、求める画素値が、分数画素の画素値e,f,g,i,j,k,m,n,またはoである場合、図5に示されるように、9×9=81画素となる。これは、6タップのFIRフィルタが余分に周囲の画素を必要とするため、補間処理後に得られる4×4の白色の正方形の画素の他に、斜線が付された正方形の画素も必要とするからである。
ブロックサイズが小さくなるほど、補間処理後に得られる画素数よりも余分にフレームメモリが読み込む画素数が大きくなってしまい、その結果、メモリの使用帯域が増加してしまう。
さらに、Bピクチャの場合、図6に示されるように、双方向予測が使用できる。図6においては、表示順序でピクチャが示されており、符号化対象ピクチャの表示順序の前後に符号化済みの参照ピクチャが並んでいる。符号化対象ピクチャがBピクチャの場合、例えば、符号化対象ピクチャの対象予測ブロックに示されるように、前後(双方向)の参照ピクチャの2つのブロックを参照し、前方向のL0予測の動きベクトルと、後方向のL1予測の動きベクトルを持つことができる。
このため、4×4画素のブロックサイズで双方向予測がなされる場合、図7に示されるように、補間処理後に得られる4×4の白色の正方形の画素の他に、前方向および後方向から、斜線が付された正方形の画素、81×2=162画素が必要になってしまう。
このような事実は、上述した非特許文献2のSeparable AIFでも同様に存在する。例えば、上述した図4の画素値e,f,g,i,j,k,m,n,oを補間しようとした場合、周囲の整数位置の画素6×6=36が必要であることがわかる。
本発明は、このような状況に鑑みてなされたものであり、Bスライスの場合に、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができるものである。
本発明の第1の側面の画像処理装置は、符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、前記符号化された画像、前記符号化された画像に対応する動きベクトル、および前記補間フィルタの前記フィルタ係数を復号する復号手段と、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える。
前記タップ数決定手段は、前記符号化対象の画像がBスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定することができる。
前記復号手段により復号された画像と、前記動き補償手段により生成された前記予測画像とを加算して、復号画像を生成する演算手段をさらに備えることができる。
本発明の第1の側面の画像処理方法は、画像処理装置が、符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号し、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定し、復号された前記フィルタ係数のうち、決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、復号された前記動きベクトルを用いて、予測画像を生成するステップを含む。
本発明の第1の側面のプログラムは、符号化された画像、前記符号化された画像に対応する動きベクトル、および前記符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号する復号手段と、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える画像処理装置として、コンピュータを機能させる 。
本発明の第2の側面の画像処理装置は、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、前記符号化対象の画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える。
前記タップ数決定手段は、前記符号化対象の画像がBスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定することができる。
前記動き補償手段により生成された前記予測画像と前記符号化対象の画像の差分、前記動き予測手段により検出された前記動きベクトル、および前記係数算出手段により算出された前記フィルタ係数を符号化する符号化手段をさらに備えることができる。
本発明の第2の側面の画像処理方法は、画像処理装置が、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出し、前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定し、検出された前記動きベクトルを用いて、決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出し、算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成するステップを含む。
本発明の第2の側面のプログラムは、符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定するタップ数決定手段と、前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段とを備える画像処理装置として、コンピュータを機能させる。
本発明の第1の側面においては、符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数が復号される。そして、前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数が決定され、復号された前記フィルタ係数のうち、決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、復号された前記動きベクトルを用いて、予測画像が生成される。
本発明の第2の側面においては、符号化対象の画像と参照画像との間で動き予測が行われて、動きベクトルが検出され、前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数が決定される。そして、検出された前記動きベクトルを用いて、決定された前記タップ数の前記補間フィルタの前記フィルタ係数が算出され、算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像が生成される。
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
本発明によれば、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができることができる。また、本発明によれば、特に、Bピクチャの場合に、ストリームに含まれるビット量と、メモリの使用帯域を減らすことができることができる。
以下、図を参照して本発明の実施の形態について説明する。
[画像符号化装置の構成例]
図8は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図8は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
この画像符号化装置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 モードが採用される場合、候補となる全てのイントラ予測モードに対して、仮に符号化処理までが行われ、次の式(4)で表わされるコスト関数が各イントラ予測モードに対して算出される。
Cost(Mode)=D+λ・R ・・・(4)
Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
一方、コスト関数値の算出手法としてLow Complexity モードが採用される場合、候補となる全てのイントラ予測モードに対して、イントラ予測画像の生成、および、イントラ予測モードを表す情報などのヘッダビットの算出が行われ、次の式(5)で表わされるコスト関数が各イントラ予測モードに対して算出される。
Cost(Mode)=D+QPtoQuant(QP)・Header_Bit ・・・(5)
Dは、原画像と復号画像の差分(歪)、Header_Bitは、イントラ予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Low Complexity モードにおいては、全てのイントラ予測モードに対して、イントラ予測画像を生成するだけでよく、符号化処理を行う必要がないため、演算量が少なくて済む。
イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部76に供給する。イントラ予測部74は、予測画像選択部76により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部66に供給する。可逆符号化部66は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
動き予測・補償部75には、画面並べ替えバッファ62から読み出されたインター処理する画像と、スイッチ73を介してフレームメモリ72から参照画像が供給される。動き予測・補償部75は、まず、対象ブロックがPスライスまたはBスライスに含まれるか、すなわち、スライスの種類に基づいて、タップ数を決める。例えば、タップ数は、Bスライスの場合、Pスライスの場合よりも少ないものに決定される。動き予測・補償部75は、スライスの種類に応じたタップ数の係数が固定の補間フィルタを用いて、参照画像にフィルタ処理を行う。なお、フィルタ係数が固定とは、1つに固定する意味ではなく、AIF(Adaptive Interpolation Filter)における可変に対する固定であって、係数を入れ替えることは可能である。以下、固定の補間フィルタによるフィルタ処理を、固定フィルタ処理ともいう。
動き予測・補償部75は、インター処理する画像と固定フィルタ処理後の参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。そして、動き予測・補償部75は、固定フィルタ処理後の参照画像に対して補償処理を行い、予測画像を生成する。このとき、動き予測・補償部75は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、予測モードを決定し、決定した予測モードで、処理対象のスライスのコスト関数値を求める。
また、動き予測・補償部75は、生成された動きベクトル、インター処理する画像、参照画像を用いて、スライスの種類に応じたタップ数の、係数の可変の補間フィルタ(AIF(Adaptive Interpolation Filter))のフィルタ係数を求める。そして、動き予測・補償部75は、求めたフィルタ係数のフィルタを用いて、参照画像にフィルタ処理を行う。なお、以下、可変の補間フィルタによるフィルタ処理を、可変フィルタ処理ともいう。
動き予測・補償部75は、再度、インター処理する画像と可変フィルタ処理後の参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。そして、動き予測・補償部75は、可変フィルタ処理後の参照画像に対して補償処理を行い、予測画像を生成する。このとき、動き予測・補償部75は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、予測モードを決定し、決定した予測モードで、処理対象のスライスのコスト関数値を求める。
そして、動き予測・補償部75は、固定フィルタ処理後のコスト関数値と、可変フィルタ処理後のコスト関数値を比較する。動き予測・補償部75は、その値の小さい方を採用し、その予測画像とコスト関数値を予測画像選択部76に出力するとともに、処理対象のスライスがAIFを使用するか否かを示すAIF使用フラグを設定する。
動き予測・補償部75は、予測画像選択部76により最適インター予測モードの対象ブロックの予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報)を可逆符号化部66に出力する。
このとき、動きベクトル情報、参照フレーム情報、スライスの情報、およびAIF使用フラグ、並びに、AIF使用の場合には、フィルタ係数なども可逆符号化部66に出力される。可逆符号化部66は、動き予測・補償部75からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
予測画像選択部76は、イントラ予測部74または動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部76は、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。このとき、予測画像選択部76は、点線に示されるように、予測画像の選択情報を、イントラ予測部74または動き予測・補償部75に供給する。
レート制御部77は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[動き予測・補償部の構成例]
図9は、動き予測・補償部75の構成例を示すブロック図である。なお、図9においては、図8のスイッチ73が省略されている。
図9は、動き予測・補償部75の構成例を示すブロック図である。なお、図9においては、図8のスイッチ73が省略されている。
図9の例において、動き予測・補償部75は、固定6タップフィルタ81、固定4タップフィルタ82、可変6タップフィルタ83、6タップのフィルタ係数算出部84、可変4タップフィルタ85、4タップのフィルタ係数算出部86、セレクタ87および88、動き予測部89、動き補償部90、セレクタ91、並びに制御部92により構成されている。
画面並べ替えバッファ62からの入力画像(インター処理する画像)は、6タップのフィルタ係数算出部84、4タップのフィルタ係数算出部86、および動き予測部89に入力される。フレームメモリ72からの参照画像は、固定6タップフィルタ81、固定4タップフィルタ82、可変6タップフィルタ83、6タップのフィルタ係数算出部84、可変4タップフィルタ85、および4タップのフィルタ係数算出部86に入力される。
固定6タップフィルタ81は、H.264/AVC方式で定められている係数固定の6タップの補間フィルタであり、フレームメモリ72からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ87に出力する。
固定4タップフィルタ82は、係数固定の4タップの補間フィルタであり、フレームメモリ72からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ87に出力する。
可変6タップフィルタ83は、係数可変の6タップの補間フィルタであり、フレームメモリ72からの参照画像に対して、6タップのフィルタ係数算出部84により算出された6タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ88に出力する。
6タップのフィルタ係数算出部84は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部89からの1回目の動きベクトルを用いて、可変6タップフィルタ83のフィルタ処理後の参照画像を、入力画像に近づけるための6タップのフィルタ係数を算出する。6タップのフィルタ係数算出部84は、算出したフィルタ係数を可変6タップフィルタ83およびセレクタ91に供給する。
可変4タップフィルタ85は、係数可変の4タップの補間フィルタであり、フレームメモリ72からの参照画像に対して、4タップのフィルタ係数算出部86により算出された4タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ88に出力する。
4タップのフィルタ係数算出部86は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部89からの1回目の動きベクトルを用いて、可変4タップフィルタ85のフィルタ処理後の参照画像を、入力画像に近づけるための4タップのフィルタ係数を算出する。4タップのフィルタ係数算出部86は、算出したフィルタ係数を可変4タップフィルタ85およびセレクタ91に供給する。
セレクタ87は、制御部92からの制御のもと、処理対象のスライスがPスライスの場合、固定6タップフィルタ81からの固定フィルタ後の参照画像を選択し、動き予測部89および動き補償部90に出力する。セレクタ87は、制御部92からの制御のもと、処理対象のスライスがBスライスの場合、固定4タップフィルタ82からの固定フィルタ後の参照画像を選択し、動き予測部89および動き補償部90に出力する。
セレクタ88は、制御部92からの制御のもと、処理対象のスライスがPスライスの場合、可変6タップフィルタ83からの可変フィルタ後の参照画像を選択し、動き予測部89および動き補償部90に出力する。セレクタ88は、制御部92からの制御のもと、処理対象のスライスがBスライスの場合、可変4タップフィルタ85からの可変フィルタ後の参照画像を選択し、動き予測部89および動き補償部90に出力する。
すなわち、セレクタ87および88は、処理対象のスライスがPスライスの場合、6タップを選択し、処理対象のスライスがBスライスの場合、4タップを選択している。
動き予測部89は、画面並べ替えバッファ62からの入力画像と、セレクタ87からの固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの1回目の動きベクトルを生成し、生成した動きベクトルを、6タップのフィルタ係数算出部84、4タップのフィルタ係数算出部86、および動き補償部90に出力する。また、動き予測部89は、画面並べ替えバッファ62からの入力画像と、セレクタ88からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの2回目の動きベクトルを生成し、生成した動きベクトルを、動き補償部90に出力する。
動き補償部90は、1回目の動きベクトルを用いて、セレクタ87からの固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部90は、ブロック毎にコスト関数値を算出することにより、最適インター予測モードを決定し、決定した最適インター予測モードで、対象スライスの1回目のコスト関数値を算出する。
動き補償部90は、次に、2回目の動きベクトルを用いて、セレクタ88からの可変フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部90は、ブロック毎にコスト関数値を算出することにより、最適インター予測モードを決定し、決定した最適インター予測モードで、対象スライスの2回目のコスト関数値を算出する。
そして、動き補償部90は、対象スライスについて、1回目のコスト関数値と2回目のコスト関数値を比較し、その値が小さい方のフィルタを使用することを決定する。すなわち、動き補償部90は、1回目のコスト関数値の方が小さい場合、その対象スライスでは固定フィルタを使用するとし、固定フィルタ後の参照画像で生成された予測画像とコスト関数値を予測画像選択部76に供給し、AIF使用フラグの値を0(未使用)に設定する。また、動き補償部90は、2回目のコスト関数値の方が小さい場合、その対象スライスでは可変フィルタを使用するとし、可変フィルタ後の参照画像で生成された予測画像とコスト関数値を予測画像選択部76に供給し、AIF使用フラグの値を1(使用)に設定する。
動き補償部90は、予測画像選択部76においてインター予測画像が選択された場合、制御部92の制御のもと、最適インター予測モードの情報、スライスの種類が含まれるスライスの情報、AIF使用フラグ、動きベクトル、参照画像の情報などを、可逆符号化部66に出力する。
セレクタ91は、制御部92からの制御のもと、予測画像選択部76においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがPスライスであるとき、6タップのフィルタ係数算出部84からのフィルタ係数を、可逆符号化部66に出力する。セレクタ91は、制御部92からの制御のもと、予測画像選択部76においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがBスライスであるとき、4タップのフィルタ係数算出部86からのフィルタ係数を、可逆符号化部66に出力する。
制御部92は、対象スライスの種類に応じて、セレクタ87、88、および91を制御する。すなわち、制御部92は、対象スライスがPスライスの場合、各フィルタのタップ数を、6タップにすることを決定し、対象スライスがBスライスの場合、各フィルタのタップ数を、Pスライスの場合よりも少ない4タップにすることを決定する。
また、制御部92は、予測画像選択部76からのインター予測画像が選択されたという信号を受けると、動き補償部90およびセレクタ91に、必要な情報を、可逆符号化部66に出力させる制御も行う。
なお、図9の例においては、固定6タップフィルタ81および固定4タップフィルタ82を別々に備える例を説明したが、固定6タップフィルタ81のみで構成し、スライスに応じて6タップおよび4タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。同様に、可変6タップフィルタ83および可変4タップフィルタ85を別々に備える例を説明したが、可変6タップフィルタ83のみで構成し、スライスに応じて6タップおよび4タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。この場合、フィルタ係数算出部も1つで構成し、スライスに応じて6タップおよび4タップのフィルタ処理のどちらかを選択的に行ってもよい。
[補間処理方法]
可変6タップフィルタ83は、例えば、図4を参照して説明したSeparable adaptive interpolation filter(以下、Separable AIFと称する)により補間処理を行う。なお、図4においては、6タップのSeparable AIFについて説明したため、図10を参照して、可変4タップフィルタ85が行う4タップのSeparable AIFについて説明する。
可変6タップフィルタ83は、例えば、図4を参照して説明したSeparable adaptive interpolation filter(以下、Separable AIFと称する)により補間処理を行う。なお、図4においては、6タップのSeparable AIFについて説明したため、図10を参照して、可変4タップフィルタ85が行う4タップのSeparable AIFについて説明する。
なお、図10において、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
4タップのSeparable AIFにおいても、6タップの場合と同様に、第1ステップとして、横方向に対する非整数位置の補間が行われ、第2ステップとして、縦方向に対する非整数方向の補間が行われる。なお、横と縦の処理順を逆にすることも可能である。
まず、第1ステップである、分数位置の画素の画素値a,b,cは、整数位置の画素の画素値E,F,G,H,I,JからFIRフィルタにより次の式(6)で計算される。ここで、h[x][y]は、フィルタ係数であり、ストリーム情報に含められて復号側で使用される。
a = h1[a][1] x F + h2[a][2] x G + h[a][3] x H + h[a][4] x I
b = h1[b][1] x F + h2[b][2] x G + h[b][3] x H + h[b][4] x I
c = h1[c][1] x F + h2[c][2] x G + h[c][3] x H + h[c][4] x I
・・・(6)
b = h1[b][1] x F + h2[b][2] x G + h[b][3] x H + h[b][4] x I
c = h1[c][1] x F + h2[c][2] x G + h[c][3] x H + h[c][4] x I
・・・(6)
なお、画素値G2,G3,G4の行の分数位置の画素の画素値(a2,b2,c2,a3,b3,c3,a4,b4,c4,)に対しても、画素値a,b,cと同様に求めることができる。
次に、第2ステップである、画素値a,b,c以外の画素値d乃至oは、次の式(7)で計算される。
d = h[d][1] x G2 + h[d][2] x G + h[d][3] x G3 + h[d][4] * G4
h = h[h][1] x G2 + h[h][2] x G + h[h][3] x G3 + h[h][4] * G4
l = h[l][1] x G2 + h[l][2] x G + h[l][3] x G3 + h[l][4] * G4
e = h[e][1] x a2 + h[e][2] x a + h[e][3] x a3 + h[e][4] * a4
i = h[i][1] x a2 + h[i][2] x a + h[i][3] x a3 + h[i][4] * a4
m = h[m][1] x a2 + h[m][2] x a + h[m][3] x a3 + h[m][4] * a4
f = h[f][1] x b2 + h[f][2] x b + h[f][3] x b3 + h[f][4] * b4
j = h[j][1] x b2 + h[j][2] x b + h[j][3] x b3 + h[j][4] * b4
n = h[n][1] x b2 + h[n][2] x b + h[n][3] x b3 + h[n][4] * b4
g = h[g][1] x c2 + h[g][2] x c + h[g][3] x c3 + h[g][4] * c4
k = h[k][1] x c2 + h[k][2] x c + h[k][3] x c3 + h[k][4] * c4
o = h[o][1] x c2 + h[o][2] x c + h[o][3] x c3 + h[o][4] * c4
・・・(7)
h = h[h][1] x G2 + h[h][2] x G + h[h][3] x G3 + h[h][4] * G4
l = h[l][1] x G2 + h[l][2] x G + h[l][3] x G3 + h[l][4] * G4
e = h[e][1] x a2 + h[e][2] x a + h[e][3] x a3 + h[e][4] * a4
i = h[i][1] x a2 + h[i][2] x a + h[i][3] x a3 + h[i][4] * a4
m = h[m][1] x a2 + h[m][2] x a + h[m][3] x a3 + h[m][4] * a4
f = h[f][1] x b2 + h[f][2] x b + h[f][3] x b3 + h[f][4] * b4
j = h[j][1] x b2 + h[j][2] x b + h[j][3] x b3 + h[j][4] * b4
n = h[n][1] x b2 + h[n][2] x b + h[n][3] x b3 + h[n][4] * b4
g = h[g][1] x c2 + h[g][2] x c + h[g][3] x c3 + h[g][4] * c4
k = h[k][1] x c2 + h[k][2] x c + h[k][3] x c3 + h[k][4] * c4
o = h[o][1] x c2 + h[o][2] x c + h[o][3] x c3 + h[o][4] * c4
・・・(7)
[フィルタ係数の算出方法]
次に、6タップのフィルタ係数算出部84によるフィルタ係数の算出方法について説明する。
次に、6タップのフィルタ係数算出部84によるフィルタ係数の算出方法について説明する。
フィルタ係数の算出方法については、AIFの補間方法に種類があるため、若干の違いはあるが、最小二乗法を使うといった基本的な部分は同じである。ここでは、代表として、Separable AIF(Adaptive Interpolation Filter)により、横の補間処理の後に、縦の補間を2段階で行う補間方法について説明する。
図11は、Separable AIFの横方向のフィルタを表している。図11に示す横方向のフィルタにおいて、斜線が付された正方形は、整数位置の画素(Integer pel(Int. pel))を表し、白色の正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
最初に、横方向の補間、すなわち、図11の画素値a,b,cの分数位置の画素位置に対するフィルタ係数を求める。ここでは、6タップフィルタが使用されるので、分数位置の画素値a,b,cを算出するために、整数位置の画素値C1,C2,C3,C4,C5,C6が用いられ、フィルタ係数は、次の式(8)を最小化するようにして算出される。
また、式(8)において、次の式(9)である。
MVxおよびspは、1回目の動き予測で検出され、MVxは、整数精度で横方向の動きベクトルであり、spは、分数位置の画素位置を表し、動きベクトルの分数部分に相当する。FilterOffsetは、フィルタのタップ数の半分から1を引いた数に相当し、ここでは、2=6/2−1となる。hは、フィルタ係数であり、iは、0乃至5からなる。
MVxおよびspは、1回目の動き予測で検出され、MVxは、整数精度で横方向の動きベクトルであり、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について独立したフィルタ係数を求めることができる。
さらに詳しく述べると、1回目の動き探索によって各ブロックで動きベクトルは求まる。その動きベクトルで、分数位置が画素値aのブロックを入力データとして、式(10)における次の式(11)が決まり、画素値aの位置の補間のためのフィルタ係数ha,i,∀i∈{0,1,2,3,4,5}について解くことができる。というように、画素値a,b,cが求まる。
横方向のフィルタ係数が求まり、補間処理が行えるようになるので、画素値a,b,cに対して補間を行うと、図12に示す縦方向のフィルタのようになる。図12において、画素値a,b,cは、最適なフィルタ係数を用いて補間されており、同様に、画素値A3とA4の間, 画素値B3とB4の間, 画素値D3とD4の間, 画素値E3とE4の間, 画素値F3とF4の間も補間されている。
すなわち、図12に示すSeparable AIFの縦方向のフィルタにおいて、斜線が付された正方形は、整数位置の画素または横方向のフィルタで既に求められた分数位置の画素を表し、白色の正方形は、縦方向のフィルタで求めるべく、分数位置の画素を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
図12に示す縦方向の場合も、横方向の場合と同様に、次の式(12)の予測誤差を最小化するようにしてフィルタ係数が求まる。
また、MVyおよびspは、1回目の動き予測で検出され、MVyは、整数精度での縦方向の動きベクトルであり、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について、この連立方程式を解くことで、各分数位置の画素における縦の補間フィルタの最適なフィルタ係数を得ることができる。
次に、4タップのフィルタ係数算出部86によるフィルタ係数の算出方法について説明する。6タップのフィルタ係数の算出方法においては、フィルタ係数の添え字であるi,jが0乃至5であったが、4タップに減らすことで、i,jが0乃至3と減少する。FilterOffsetは、フィルタのタップ数の半分から1を引いた数に相当し、ここでは、1=4/2−1となる。
すなわち、4タップの場合、6タップの場合の式(8)の代わりに、次の式(17)が用いられ、式(10)の代わりに、次の式(18)が用いられる。また、4タップの場合、6タップの場合の式(12)の代わりに、次の式(19)が用いられ、式(16)の代わりに、次の式(20)が用いられる。それ以外の4タップの場合は、6タップの場合と同様である。
[画像符号化装置の符号化処理の説明]
次に、図13のフローチャートを参照して、図8の画像符号化装置51の符号化処理について説明する。
次に、図13のフローチャートを参照して、図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における動き予測・補償処理の詳細は、図14を参照して後述される。
この処理により、スライスの種類に応じたタップ数の固定フィルタおよび可変フィルタが用いられてフィルタ処理が行われ、フィルタ処理された参照画像を用いてブロック毎に動きベクトルおよび予測モードが決定され、対象スライスのコスト関数値が算出される。そして、固定フィルタによる対象スライスのコスト関数値と可変フィルタによる対象スライスのコスト関数値が比較されて、比較結果によりAIF(可変フィルタ)を用いるか否かが決定される。そして、動き予測・補償部75は、決定された方の予測画像とコスト関数値を、予測画像選択部76に供給する。
ステップS23において、予測画像選択部76は、イントラ予測部74および動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部76は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部74または動き予測・補償部75に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部74は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部66に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部75の動き補償部90は、最適インター予測モードを示す情報、動きベクトル情報や参照フレーム情報、可逆符号化部66に出力する。また、動き補償部90は、スライス毎に、スライスの情報、AIF使用フラグ情報を可逆符号化部66に出力する。
さらに、セレクタ91は、制御部92からの制御のもと、予測画像選択部76においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがPスライスであるとき、6タップのフィルタ係数算出部84からのフィルタ係数を、可逆符号化部66に出力する。セレクタ91は、制御部92からの制御のもと、予測画像選択部76においてインター予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスがBスライスであるとき、4タップのフィルタ係数算出部86からのフィルタ係数を、可逆符号化部66に出力する。
ステップS24において、可逆符号化部66は量子化部65より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS23において可逆符号化部66に入力された、イントラ予測部74からのイントラ予測モード情報、または、動き予測・補償部75からの最適インター予測モードや、上述した各情報なども符号化され、ヘッダ情報に付加される。
例えば、インター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。また、スライスの情報、AIF使用フラグ情報およびフィルタ係数は、スライス毎に符号化される。
ステップS25において蓄積バッファ67は差分画像を圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS26においてレート制御部77は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[動き予測・補償処理の説明]
次に、図14のフローチャートを参照して、図13のステップS22における動き予測・補償処理を説明する。
次に、図14のフローチャートを参照して、図13のステップS22における動き予測・補償処理を説明する。
画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、スイッチ73を介して固定6タップフィルタ81、および固定4タップフィルタ82に供給される。さらに、この参照される画像は、可変6タップフィルタ83、6タップのフィルタ係数算出部84、可変4タップフィルタ85、および4タップのフィルタ係数算出部86にも入力される。
ステップS51において、固定6タップフィルタ81および固定4タップフィルタ82は、参照画像に、固定フィルタ処理を行う。すなわち、固定6タップフィルタ81は、フレームメモリ72からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ87に出力する。固定4タップフィルタ82は、フレームメモリ72からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ87に出力する。
ステップS52において、制御部92は、処理対象のスライスがBスライスであるか否かを判定し、処理対象のスライスがBスライスであると判定した場合、セレクタ87に、固定4タップフィルタ82からの固定フィルタ後の参照画像を選択させ、処理は、ステップS53に進む。
セレクタ87からの固定4タップフィルタ82からの固定フィルタ後の参照画像が、動き予測部89および動き補償部90に入力されるので、ステップS53において、動き予測部89および動き補償部90は、1回目の動き予測を行い、固定4タップフィルタ82によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
すなわち、動き予測部89は、画面並べ替えバッファ62からの入力画像と、セレクタ87からの固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの1回目の動きベクトルを生成し、生成した動きベクトルを動き補償部90に出力する。なお、この1回目の動きベクトルは、6タップのフィルタ係数算出部84、4タップのフィルタ係数算出部86にも出力され、後述するステップS56の処理に用いられる。
動き補償部90は、1回目の動きベクトルを用いて、セレクタ87からの固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部90は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
一方、ステップS52において、Bスライスではないと判定された場合、すなわち、Pスライスであると判定された場合、セレクタ87は、固定6タップフィルタ81からの固定フィルタ後の参照画像を選択し、処理は、ステップS54に進む。
セレクタ87からの固定6タップフィルタ81からの固定フィルタ後の参照画像が、動き予測部89および動き補償部90に入力されるので、ステップS54において、動き予測部89および動き補償部90は、1回目の動き予測を行い、固定6タップフィルタ81によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
すなわち、動き予測部89は、画面並べ替えバッファ62からの入力画像と、セレクタ87からの固定フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの1回目の動きベクトルを生成し、生成した動きベクトルを動き補償部90に出力する。なお、この1回目の動きベクトルは、6タップのフィルタ係数算出部84、4タップのフィルタ係数算出部86にも出力され、後述するステップS56の処理に用いられる。
動き補償部90は、1回目の動きベクトルを用いて、セレクタ87からの固定フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部90は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
以上の処理がブロック毎に行われ、対象スライスにおける全てのブロックの処理が終了すると、ステップS55において、動き補償部90は、1回目の動きベクトルおよび最適インター予測モードで、対象スライスの1回目のコスト関数値を算出する。
ステップS56において、6タップのフィルタ係数算出部84および4タップのフィルタ係数算出部86は、動き予測部89からの1回目の動きベクトルを用いて、6タップのフィルタ係数および4タップのフィルタ係数をそれぞれ算出する。
すなわち、6タップのフィルタ係数算出部84は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部89からの1回目の動きベクトルを用いて、可変6タップフィルタ83のフィルタ処理後の参照画像を、入力画像に近づけるための6タップのフィルタ係数を算出する。このとき、上述した式(8)、式(10)、式(12)、および式(16)が用いられる。6タップのフィルタ係数算出部84は、算出したフィルタ係数を可変6タップフィルタ83およびセレクタ91に供給する。
また、4タップのフィルタ係数算出部86は、画面並べ替えバッファ62からの入力画像、フレームメモリ72からの参照画像、動き予測部89からの1回目の動きベクトルを用いて、可変4タップフィルタ85のフィルタ処理後の参照画像を、入力画像に近づけるための4タップのフィルタ係数を算出する。このとき、上述した式(17)、式(18)、式(19)、および式(20)が用いられる。4タップのフィルタ係数算出部86は、算出したフィルタ係数を可変4タップフィルタ85およびセレクタ91に供給する。
なお、セレクタ91に供給されたフィルタ係数は、上述した図13のステップS23において、最適インター予測モードの予測画像が選択され、対象スライスで可変フィルタを使用する場合に、対象スライスの種類に応じて、可逆符号化部66に出力され、ステップS24において、符号化される。
ステップS57において、可変6タップフィルタ83および可変4タップフィルタ85は、参照画像に、可変フィルタ処理を行う。すなわち、可変6タップフィルタ83は、フレームメモリ72からの参照画像に対して、6タップのフィルタ係数算出部84により算出された6タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ88に出力する。
また、可変4タップフィルタ85は、フレームメモリ72からの参照画像に対して、4タップのフィルタ係数算出部86により算出された4タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ88に出力する。
ステップS58において、制御部92は、処理対象のスライスがBスライスであるか否かを判定し、処理対象のスライスがBスライスであると判定した場合、セレクタ88に、可変4タップフィルタ85からの可変フィルタ後の参照画像を選択させ、処理は、ステップS59に進む。
セレクタ88からの可変4タップフィルタ85からの可変フィルタ後の参照画像が、動き予測部89および動き補償部90に入力されるので、ステップS59において、動き予測部89および動き補償部90は、2回目の動き予測を行い、可変4タップフィルタ85によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
すなわち、動き予測部89は、画面並べ替えバッファ62からの入力画像と、セレクタ88からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの2回目の動きベクトルを生成し、生成した動きベクトルを動き補償部90に出力する。
動き補償部90は、2回目の動きベクトルを用いて、セレクタ88からの可変フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部90は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
一方、ステップS58において、Bスライスではないと判定された場合、すなわち、Pスライスであると判定された場合、セレクタ88は、可変6タップフィルタ83からの可変フィルタ後の参照画像を選択し、処理は、ステップS60に進む。
セレクタ88からの可変6タップフィルタ83からの可変フィルタ後の参照画像が、動き予測部89および動き補償部90に入力されるので、ステップS60において、動き予測部89および動き補償部90は、2回目の動き予測を行い、可変6タップフィルタ83によりフィルタ処理された参照画像を用いて、動きベクトルおよび予測モードを決定する。
すなわち、動き予測部89は、画面並べ替えバッファ62からの入力画像と、セレクタ88からの可変フィルタ後の参照画像に基づいて、候補となる全てのインター予測モードの2回目の動きベクトルを生成し、生成した動きベクトルを動き補償部90に出力する。
動き補償部90は、2回目の動きベクトルを用いて、セレクタ88からの可変フィルタ後の参照画像に対し補償処理を施し、予測画像を生成する。そして、動き補償部90は、ブロック毎にコスト関数値を算出し、それらを比較することにより、最適インター予測モードを決定する。
以上の処理がブロック毎に行われ、対象スライスにおける全てのブロックの処理が終了すると、ステップS61において、動き補償部90は、2回目の動きベクトルおよび最適インター予測モードで、対象スライスの2回目のコスト関数値を算出する。
ステップS62において、動き補償部90は、対象スライスの1回目のコスト関数値と2回目のコスト関数値を比較し、対象スライスの1回目のコスト関数値が2回目のコスト関数値より小さいか否かを判定する。
対象スライスの1回目のコスト関数値が2回目のコスト関数値より小さいと判定された場合、処理は、ステップS63に進む。ステップS63において、動き補償部90は、その対象スライスでは固定フィルタを使用するとし、1回目の(固定フィルタ後の参照画像で生成された)予測画像とコスト関数値を予測画像選択部76に供給し、対象スライスのAIF使用フラグの値を0に設定する。
対象スライスの1回目のコスト関数値が2回目のコスト関数値より小さくないと判定された場合、処理は、ステップS64に進む。ステップS64において、動き補償部90は、その対象スライスでは可変フィルタ(AIF)を使用するとし、2回目の(可変フィルタ後の参照画像で生成された)予測画像とコスト関数値を予測画像選択部76に供給し、対象スライスのAIF使用フラグの値を1に設定する。
設定された対象スライスのAIF使用フラグの情報は、上述した図13のステップS23において、最適インター予測モードの予測画像が選択された場合、制御部92の制御もと、スライスの情報とともに、可逆符号化部66に出力され、ステップS24において、符号化される。
以上のように、画像符号化装置51においては、対象スライスがBスライスのときに、可変の補間フィルタ(AIF)のタップ数を、Pスライスのときよりも少なくするようにしたので、ストリーム情報に含めるフィルタ係数の数を削減することができる。
すなわち、元々Bスライスは符号ビット量がPスライスに比べて小さいため、AIFのフィルタ係数をストリーム情報に含めるとオーバーヘッドとして割合的に大きくなる。したがって、フィルタのタップ数が少なくなると、フィルタ係数も少なくなるため、ストリーム情報に含めるフィルタ係数のオーバーヘッドも小さくすることができる。この結果、符号化効率を改善することができる。
また、可変の補間フィルタのタップ数が少なくなることで、フレームメモリから読み込む画素データ量が削減される。
すなわち、図7を参照して上述したように、従来は、どのスライスであっても、6タップの補間フィルタが用いられていたので、4×4サイズの双方向予測が行われる場合、前方向および後方向から162=2×81の画素をフレームメモリから読み込むことが必要であった。
これに対して、画像符号化装置51においては、対象スライスがBスライスのときに、可変の補間フィルタ(AIF)のタップ数を、例えば、4タップにしたので、図15に示されるように、4×4サイズの双方向予測が行われる場合であっても、補間処理後に得られる4×4の白色の正方形の画素の他に、前方向および後方向から、斜線が付された正方形の画素、98=2×49の画素をフレームメモリから読み込めばよい。
すなわち、従来の場合と比較して、黒色の正方形に示される32の画素は補間処理に必要なくなる。したがって、フレームメモリから読み込む画素数が少なくなるので、フレームメモリの使用帯域を小さくすることができる。
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
図16は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
図16は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
画像復号装置101は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、スイッチ120、イントラ予測部121、動き補償部122、およびスイッチ123により構成されている。
蓄積バッファ111は伝送されてきた圧縮画像を蓄積する。可逆復号部112は、蓄積バッファ111より供給された、図8の可逆符号化部66により符号化された情報を、可逆符号化部66の符号化方式に対応する方式で復号する。逆量子化部113は可逆復号部112により復号された画像を、図8の量子化部65の量子化方式に対応する方式で逆量子化する。逆直交変換部114は、図8の直交変換部64の直交変換方式に対応する方式で逆量子化部113の出力を逆直交変換する。
逆直交変換された出力は演算部115によりスイッチ123から供給される予測画像と加算されて復号される。デブロックフィルタ116は、復号された画像のブロック歪を除去した後、フレームメモリ119に供給し、蓄積させるとともに、画面並べ替えバッファ117に出力する。
画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、図8の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部118は、画面並べ替えバッファ117から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
スイッチ120は、参照される画像をフレームメモリ119から読み出し、動き補償部122に出力するとともに、イントラ予測に用いられる画像をフレームメモリ119から読み出し、イントラ予測部121に供給する。
イントラ予測部121には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部112から供給される。イントラ予測部121は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ123に出力する。
動き補償部122には、ヘッダ情報を復号して得られた情報のうち、インター予測モード情報、動きベクトル情報、参照フレーム情報、AIF使用フラグ情報、フィルタ係数などが可逆復号部112から供給される。インター予測モード情報は、マクロブロック毎に送信されてくる。動きベクトル情報や参照フレーム情報は、対象ブロック毎に送信されてくる。スライスの種類の情報が含まれるスライスの情報、AIF使用フラグ情報、およびフィルタ係数などは、対象スライス毎に送信されてくる。
動き補償部122は、まず、対象スライスがPスライスであるかBスライスであるか、すなわち、スライスの種類に基づいて、タップ数を決める。例えば、タップ数は、Bスライスの場合、Pスライスの場合よりも少ないものに決定される。
動き補償部122には、対象スライスがAIFを使用する場合、フィルタ係数が可逆復号部112から供給されるので、動き補償部122は、スライスの種類に応じたタップ数の係数が可変の補間フィルタを用いて、フレームメモリ119からの参照画像に可変フィルタ処理を行う。そして、動き補償部122は、可逆復号部112からの動きベクトルを用いて、可変フィルタ処理後の参照画像に補償処理を行い、対象ブロックの予測画像を生成する。生成された予測画像は、スイッチ123を介して、演算部115に出力される。
また、動き補償部122は、対象ブロックが含まれる対象スライスがAIFを使用しない場合、スライスの種類に応じたタップ数の係数が固定の補間フィルタを用いて、フレームメモリ119からの参照画像に固定フィルタ処理を行う。そして、動き補償部122は、可逆復号部112からの動きベクトルを用いて、固定フィルタ処理後の参照画像に補償処理を行い、対象ブロックの予測画像を生成する。生成された予測画像は、スイッチ123を介して、演算部115に出力される。
スイッチ123は、動き補償部122またはイントラ予測部121により生成された予測画像を選択し、演算部115に供給する。
[動き補償部の構成例]
図17は、動き補償部122の詳細な構成例を示すブロック図である。なお、図17においては、図17のスイッチ120が省略されている。
図17は、動き補償部122の詳細な構成例を示すブロック図である。なお、図17においては、図17のスイッチ120が省略されている。
図18の例においては、動き補償部122は、固定6タップフィルタ131、固定4タップフィルタ132、可変6タップフィルタ133、可変4タップフィルタ134、セレクタ135乃至137、動き補償処理部138、および制御部139により構成されている。
可逆復号部112から、スライス毎に、スライスの種類を示すスライスの情報とAIF使用フラグ情報が制御部139に供給され、スライスの種類に応じて、フィルタ係数が可変6タップフィルタ133、または可変4タップフィルタ134に供給される。また、可逆復号部112から、マクロブロック毎のインター予測モードを示す情報、ブロック毎の動きベクトルは動き補償処理部138に供給され、参照フレーム情報は、制御部139に供給される。
フレームメモリ119からの参照画像は、制御部139の制御のもと、固定6タップフィルタ131、固定4タップフィルタ132、可変6タップフィルタ133、および可変4タップフィルタ134に入力される。
固定6タップフィルタ131は、H.264/AVC方式で定められている係数固定の6タップの補間フィルタであり、フレームメモリ119からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ135に出力する。
固定4タップフィルタ132は、係数固定の4タップの補間フィルタであり、フレームメモリ119からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ135に出力する。
可変6タップフィルタ133は、係数可変の6タップの補間フィルタであり、フレームメモリ119からの参照画像に対して、可逆復号部112から供給された6タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ136に出力する。
可変4タップフィルタ134は、係数可変の4タップの補間フィルタであり、フレームメモリ119からの参照画像に対して、可逆復号部112から供給された4タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ136に出力する。
セレクタ135は、制御部139からの制御のもと、処理対象のスライスがPスライスの場合、固定6タップフィルタ131からの固定フィルタ後の参照画像を選択し、セレクタ137に出力する。セレクタ135は、制御部139からの制御のもと、処理対象のスライスがBスライスの場合、固定4タップフィルタ132からの固定フィルタ後の参照画像を選択し、セレクタ137に出力する。
セレクタ136は、制御部139からの制御のもと、処理対象のスライスがPスライスの場合、可変6タップフィルタ133からの可変フィルタ後の参照画像を選択し、セレクタ137に出力する。セレクタ136は、制御部139からの制御のもと、処理対象のスライスがBスライスの場合、可変4タップフィルタ134からの可変フィルタ後の参照画像を選択し、セレクタ137に出力する。
セレクタ137は、制御部139からの制御のもと、処理対象のスライスがAIF使用の場合、セレクタ136からの可変フィルタ後の参照画像を選択し、動き補償処理部138に出力する。セレクタ137は、制御部139からの制御のもと、処理対象のスライスがAIF未使用(すなわち、FIF(Fixed interpolation filter))の場合、セレクタ135からの固定フィルタ後の参照画像を選択し、動き補償処理部138に出力する。
動き補償処理部138は、可逆復号部112からの動きベクトルを用いて、セレクタ137から入力されるフィルタ後の参照画像に補償処理を行い、対象ブロックの予測画像を生成し、生成した予測画像を、スイッチ123に出力する。
制御部139は、スライス毎に、可逆復号部112からのスライスの種類の情報を含むスライスの情報、およびAIF使用フラグを取得し、処理対象のブロックが含まれるスライスの種類に基づいて、セレクタ135および136の選択を制御する。すなわち、処理対象のブロックが含まれるスライスがPスライスの場合、セレクタ135および136に6タップフィルタ後の参照画像を選択させ、処理対象のブロックが含まれるスライスがSスライスの場合、セレクタ135および136に4タップフィルタ後の参照画像を選択させる。
また、制御部139は、取得したAIF使用フラグを参照し、AIFを用いるか否かに基づいて、セレクタ137の選択を制御する。すなわち、処理対象のブロックが含まれるスライスがAIFを用いる場合、セレクタ137に、セレクタ136からの可変フィルタ後の参照画像を選択させ、処理対象のブロックが含まれるスライスがAIFを用いない場合、セレクタ137に、セレクタ135からの固定フィルタ後の参照画像を選択させる。
なお、図9の例の場合と同様に、図17においても、固定6タップフィルタ131および固定4タップフィルタ132を別々に備える例を説明したが、固定6タップフィルタ131のみで構成し、スライスに応じて6タップおよび4タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。同様に、可変6タップフィルタ133および可変4タップフィルタ134を別々に備える例を説明したが、可変6タップフィルタ133のみで構成し、スライスに応じて6タップおよび4タップのフィルタ処理のどちらかを選択的に行うようにしてもよい。
[画像復号装置の復号処理の説明]
次に、図18のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
次に、図18のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
ステップS131において、蓄積バッファ111は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部112は、蓄積バッファ111から供給される圧縮画像を復号する。すなわち、図8の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、ブロック毎に、動きベクトル情報、参照フレーム情報なども復号される。また、マクロブロック毎に、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)なども復号される。さらに、スライス毎に、スライスの種類の情報を含むスライスの情報、AIF使用フラグ情報やフィルタ係数なども復号される。
ステップS133において、逆量子化部113は可逆復号部112により復号された変換係数を、図8の量子化部65の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部114は逆量子化部113により逆量子化された変換係数を、図8の直交変換部64の特性に対応する特性で逆直交変換する。これにより図8の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
ステップS135において、演算部115は、後述するステップS141の処理で選択され、スイッチ123を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ116は、演算部115より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
ステップS138において、可逆復号部112は、圧縮画像のヘッダ部の可逆復号結果に基づいて、圧縮画像がインター予測された画像であるかどうか、即ち、可逆復号結果に最適インター予測モードを表す情報が含まれているかどうかを判定する。
ステップS138で圧縮画像がインター予測された画像であると判定された場合、可逆復号部112は、動きベクトル情報、参照フレーム情報、最適インター予測モードを表す情報、AIF使用フラグ情報、フィルタ係数などを動き補償部122に供給する。
そして、ステップS139において、動き補償部122は、動き補償処理を行う。ステップS139における動き補償処理の詳細は、図19を参照して後述される。
この処理により、対象スライスがAIF使用の場合、スライスの種類に応じたタップ数の可変フィルタが用いられてフィルタ処理が行われる。対象スライスがAIF未使用の場合、スライスの種類に応じたタップ数の固定フィルタが用いられてフィルタ処理が行われる。そして、フィルタ処理後の参照画像に、動きベクトルを用いて補償処理が行われ、これにより生成された予測画像がスイッチ123に出力される。
一方、ステップS138で圧縮画像がインター予測された画像ではないと判定された場合、すなわち、可逆復号結果に最適イントラ予測モードを表す情報が含まれている場合、可逆復号部112は、最適イントラ予測モードを表す情報をイントラ予測部121に供給する。
そして、ステップS140において、イントラ予測部121は、可逆復号部112からの情報が表す最適イントラ予測モードで、フレームメモリ119からの画像に対してイントラ予測処理を行い、イントラ予測画像を生成する。そして、イントラ予測部121は、イントラ予測画像をスイッチ123に出力する。
ステップS141において、スイッチ123は予測画像を選択し、演算部115に出力する。すなわち、イントラ予測部121により生成された予測画像、または動き補償部122により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部115に出力され、上述したように、ステップS135において逆直交変換部114の出力と加算される。
ステップS142において、画面並べ替えバッファ117は並べ替えを行う。すなわち画像符号化装置51の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS143において、D/A変換部118は、画面並べ替えバッファ117からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
[画像復号装置の動き補償処理の説明]
次に、図19のフローチャートを参照して、図18のステップS139の動き補償処理を説明する。
次に、図19のフローチャートを参照して、図18のステップS139の動き補償処理を説明する。
ステップS151において、可変6タップフィルタ133または可変4タップフィルタ134は、可逆復号部112からのフィルタ係数を取得する。6タップのフィルタ係数が送られてきた場合は、可変6タップフィルタ133が取得し、4タップのフィルタ係数が送られてきた場合は、可変4タップフィルタ134が取得する。なお、フィルタ係数は、スライス毎に、かつ、AIF使用の場合のみ送信されてくるので、それ以外の場合は、ステップS151の処理はスキップされる。
フレームメモリ119からの参照画像は、制御部139の制御のもと、固定6タップフィルタ131、固定4タップフィルタ132、可変6タップフィルタ133、および可変4タップフィルタ134に入力される。
ステップS152において、固定6タップフィルタ131、固定4タップフィルタ132、可変6タップフィルタ133、および可変4タップフィルタ134は、フレームメモリ119からの参照画像にフィルタ処理を行う。
すなわち、固定6タップフィルタ131は、フレームメモリ119からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ135に出力する。固定4タップフィルタ132は、フレームメモリ119からの参照画像に対して、フィルタ処理を施し、固定フィルタ処理後の参照画像を、セレクタ135に出力する。
可変6タップフィルタ133は、フレームメモリ119からの参照画像に対して、可逆復号部112から供給された6タップのフィルタ係数を用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ136に出力する。可変4タップフィルタ134は、フレームメモリ119からの参照画像に対して、可逆復号部112から供給された4タップのフィルタ係数の補間フィルタを用いてフィルタ処理を施し、可変フィルタ処理後の参照画像をセレクタ136に出力する。
制御部139は、ステップS153において、可逆復号部112から、スライスの種類の情報およびAIF使用フラグ情報を取得する。なお、これらの情報は、スライス毎に送信されてきて取得されるので、それ以外の場合、この処理はスキップされる。
ステップS154において、制御部139は、処理対象のスライスがBスライスであるか否かを判定し、処理対象のスライスがBスライスであると判定した場合、処理は、ステップS155に進む。
ステップS155において、セレクタ135は、制御部139からの制御のもと、固定4タップフィルタ132からの固定フィルタ後の参照画像を選択し、セレクタ137に出力する。また、セレクタ136は、制御部139からの制御のもと、可変4タップフィルタ134からの可変フィルタ後の参照画像を選択し、セレクタ137に出力する。
一方、ステップS154において、処理対象のスライスがBスライスではない、すなわち、Pスライスであると判定した場合、処理は、ステップS156に進む。
ステップS156において、セレクタ135は、制御部139からの制御のもと、処理対象のスライスがPスライスの場合、固定6タップフィルタ131からの固定フィルタ後の参照画像を選択し、セレクタ137に出力する。また、セレクタ136は、制御部139からの制御のもと、処理対象のスライスがPスライスの場合、可変6タップフィルタ133からの可変フィルタ後の参照画像を選択し、セレクタ137に出力する。
ステップS157において、制御部139は、可逆復号部112からのAIF使用フラグ情報を参照し、処理対象のスライスがAIFを用いるか否かを判定し、処理対象のスライスがAIFを用いると判定した場合、処理は、ステップS158に進む。ステップS158において、セレクタ137は、制御部139からの制御のもと、セレクタ136からの可変フィルタ後の参照画像を選択し、動き補償処理部138に出力する。
ステップS157において、処理対象のスライスがAIFを用いないと判定された場合、処理は、ステップS159に進む。ステップS159において、セレクタ137は、制御部139からの制御のもと、セレクタ135からの固定フィルタ後の参照画像を選択し、動き補償処理部138に出力する。
ステップS160において、動き補償処理部138は、可逆復号部112から、対象ブロックの動きベクトル情報と、対象ブロックが含まれるマクロブロックのインター予測モード情報を取得する。
ステップS161において、動き補償処理部138は、取得した動きベクトルを用いて、セレクタ137により選択された参照画像に補償を行い、予測画像を生成し、生成した予測画像をスイッチ123に出力する。
以上のように、画像符号化装置51および画像復号装置101においては、スライスの種類に応じたタップ数のAIFフィルタでフィルタ処理が行われる。
これにより、画像符号化装置51だけでなく、画像復号装置101においても、フレームメモリから読み込む画素数が少なくなるので、フレームメモリの使用帯域を小さくすることができる。
なお、上記説明においては、フィルタのタップ数を、Pスライスの場合、6タップとし、Sスライスの場合、4タップとしたが、Pスライスのタップ数よりもSスライスのタップ数が少なければ、4タップに限定されない。例えば、Sスライスのタップ数が、2,3,5タップであってもよい。
また、上記説明においては、フィルタのタップ数を、スライスの種類に応じて変える例を説明したが、Bスライスであって、双予測モードの場合にフィルタのタップ数を変えるとしてもよい。
以上においては、Separable AIFの補間フィルタを例に説明してきたが、フィルタの構造は、Separable AIFに限らない。すなわち、フィルタの構造は異なっていても、本発明を適用することができる。
[拡張マクロブロックサイズへの適用の説明]
図20は、非特許文献4で提案されているブロックサイズの例を示す図である。非特許文献4では、マクロブロックサイズが32×32画素に拡張されている。
図20は、非特許文献4で提案されているブロックサイズの例を示す図である。非特許文献4では、マクロブロックサイズが32×32画素に拡張されている。
図20の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図20の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図20の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
すなわち、32×32画素のマクロブロックは、図20の上段に示される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等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
[パーソナルコンピュータの構成例]
図21は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図21は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、およびドライブ210が接続されている。
入力部206は、キーボード、マウス、マイクロホンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを入出力インタフェース205及びバス204を介してRAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した画像符号化装置51や画像復号装置101は、任意の電子機器に適用することができる。以下にその例について説明する。
[テレビジョン受像機の構成例]
図22は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図22は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図22に示されるテレビジョン受像機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として、上述した画像復号装置101を用いる。したがって、MPEGデコーダ317は、画像復号装置101の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
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として画像復号装置101を用いることにより、フレームメモリの使用帯域を小さくするとともに、符号化効率を向上することができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高速に、より高精細な復号画像を得て、表示することができる。
[携帯電話機の構成例]
図23は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
図23は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
図23に示される携帯電話機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として、上述した画像復号装置101を用いる。したがって、画像デコーダ456は、画像復号装置101の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
携帯電話機400は、画像エンコーダ453として画像符号化装置51を用いることにより、処理の高速化を実現するとともに、符号化効率を向上させることができる。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、より高速に、他の装置に提供することができる。
また、携帯電話機400は、画像デコーダ456として画像復号装置101を用いることにより、処理の高速化を実現するとともに、符号化効率を向上させることができる。その結果として、携帯電話機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および画像復号装置101を適用することができる。
[ハードディスクレコーダの構成例]
図24は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図24は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図24に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることができる。
ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることもできる。
もちろん、この他の動作も可能である。
図24に示されるように、ハードディスクレコーダ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に内蔵されるデコーダとして画像復号装置101を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置101の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
したがって、ハードディスクレコーダ500は、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高速に、より高精細な復号画像を得て、モニタ560に表示させることができる。
また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置51を用いる。したがって、エンコーダ551は、画像符号化装置51の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
したがって、ハードディスクレコーダ500は、例えば、処理の高速化を実現するとともに、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、より高速に、ハードディスクの記憶領域をより効率よく使用することができる。
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
[カメラの構成例]
図25は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
図25は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
図25に示されるカメラ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として画像復号装置101を用いる。したがって、デコーダ615は、画像復号装置101の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
したがって、カメラ600は、処理の高速化を実現するとともに、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高速に、より高精細な復号画像を得て、LCD616に表示させることができる。
また、カメラ600は、エンコーダ641として画像符号化装置51を用いる。したがって、エンコーダ641は、画像符号化装置51の場合と同様に、フレームメモリの使用帯域を小さくするとともに、ストリーム情報に含めるフィルタ係数のオーバーヘッドを小さくすることができる。
したがって、カメラ600は、例えば、処理の高速化を実現するとともに、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ600は、より高速に、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
なお、コントローラ621が行う復号処理に画像復号装置101の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置51の符号化方法を適用するようにしてもよい。
また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
もちろん、画像符号化装置51および画像復号装置101は、上述した装置以外の装置やシステムにも適用可能である。
51 画像符号化装置, 66 可逆符号化部, 75 動き予測・補償部, 81 6タップ固定フィルタ, 82 4タップ固定フィルタ, 83 6タップ可変フィルタ, 84 6タップのフィルタ係数算出部, 85 4タップ可変フィルタ, 86 4タップのフィルタ係数算出部, 89 動き予測部, 90 動き補償部, 92 制御部, 101 画像復号装置, 112 可逆復号部, 122 動き補償部, 131 固定6タップフィルタ, 132 固定4タップフィルタ, 133 可変6タップフィルタ, 134 可変4タップフィルタ, 138 動き補償処理部, 139 制御部
Claims (10)
- 符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、
前記符号化された画像、前記符号化された画像に対応する動きベクトル、および前記補間フィルタの前記フィルタ係数を復号する復号手段と、
前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、
前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
を備える画像処理装置。 - 前記タップ数決定手段は、前記符号化対象の画像がBスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定する
請求項1に記載の画像処理装置。 - 前記復号手段により復号された画像と、前記動き補償手段により生成された前記予測画像とを加算して、復号画像を生成する演算手段
をさらに備える請求項1に記載の画像処理装置。 - 画像処理装置が、
符号化された画像、前記符号化された画像に対応する動きベクトル、および符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号し、
前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定し、
復号された前記フィルタ係数のうち、決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、復号された前記動きベクトルを用いて、予測画像を生成するステップ
を含む画像処理方法。 - 符号化された画像、前記符号化された画像に対応する動きベクトル、および前記符号化された画像に対応する参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタの前記フィルタ係数を復号する復号手段と、
前記符号化された画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、
前記復号手段により復号された前記フィルタ係数のうち、前記タップ数決定手段により決定された前記タップ数のフィルタ係数の前記補間フィルタにより補間された前記参照画像と、前記復号手段により復号された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
コンピュータを機能させるためのプログラム。 - 符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、
前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタと、
前記符号化対象の画像のスライスの種類に基づいて、前記補間フィルタのタップ数を決定するタップ数決定手段と、
前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、
前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
を備える画像処理装置。 - 前記タップ数決定手段は、前記符号化対象の画像がBスライスのとき、前記補間フィルタのタップ数を、他のスライスの場合のタップ数よりも少ないタップ数に決定する
請求項6に記載の画像処理装置。 - 前記動き補償手段により生成された前記予測画像と前記符号化対象の画像の差分、前記動き予測手段により検出された前記動きベクトル、および前記係数算出手段により算出された前記フィルタ係数を符号化する符号化手段
をさらに備える
請求項6に記載の画像処理装置。 - 画像処理装置が、
符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出し、
前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定し、
検出された前記動きベクトルを用いて、決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出し、
算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成するステップ
を含む画像処理方法。 - 符号化対象の画像と参照画像との間で動き予測を行い、動きベクトルを検出する動き予測手段と、
前記符号化対象の画像のスライスの種類に基づいて、前記参照画像の画素を分数精度で補間する、フィルタ係数が可変の補間フィルタのタップ数を決定するタップ数決定手段と、
前記動き予測手段により検出された前記動きベクトルを用いて、前記タップ数決定手段により決定された前記タップ数の前記補間フィルタの前記フィルタ係数を算出する係数算出手段と、
前記係数算出手段により算出された前記フィルタ係数の前記補間フィルタにより補間された前記参照画像と前記動き予測手段により検出された前記動きベクトルを用いて、予測画像を生成する動き補償手段と
を備える画像処理装置として、コンピュータを機能させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009290904A JP2011135184A (ja) | 2009-12-22 | 2009-12-22 | 画像処理装置および方法、並びにプログラム |
PCT/JP2010/072433 WO2011078001A1 (ja) | 2009-12-22 | 2010-12-14 | 画像処理装置および方法、並びにプログラム |
US13/515,878 US20120294368A1 (en) | 2009-12-22 | 2010-12-14 | Image processing apparatus and method as well as program |
CN201080058423.9A CN102668568A (zh) | 2009-12-22 | 2010-12-14 | 图像处理设备和方法及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009290904A JP2011135184A (ja) | 2009-12-22 | 2009-12-22 | 画像処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011135184A true JP2011135184A (ja) | 2011-07-07 |
Family
ID=44195531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009290904A Pending JP2011135184A (ja) | 2009-12-22 | 2009-12-22 | 画像処理装置および方法、並びにプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120294368A1 (ja) |
JP (1) | JP2011135184A (ja) |
CN (1) | CN102668568A (ja) |
WO (1) | WO2011078001A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013069095A1 (ja) * | 2011-11-08 | 2013-05-16 | 株式会社東芝 | 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置 |
WO2016072722A1 (ko) * | 2014-11-04 | 2016-05-12 | 삼성전자 주식회사 | 영상 특성을 반영한 보간 필터를 이용하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10597756B2 (en) | 2012-03-24 | 2020-03-24 | General Electric Company | Titanium aluminide intermetallic compositions |
CN103320648B (zh) * | 2012-03-24 | 2017-09-12 | 通用电气公司 | 铝化钛金属间组合物 |
CN103916665B (zh) * | 2013-01-07 | 2018-05-29 | 华为技术有限公司 | 一种图像的解码、编码方法及装置 |
CN110225360A (zh) * | 2014-04-01 | 2019-09-10 | 联发科技股份有限公司 | 视频编码中自适应内插滤波的方法 |
US10341659B2 (en) * | 2016-10-05 | 2019-07-02 | Qualcomm Incorporated | Systems and methods of switching interpolation filters |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003169337A (ja) * | 2001-09-18 | 2003-06-13 | Matsushita Electric Ind Co Ltd | 画像符号化方法および画像復号化方法 |
WO2009047917A1 (ja) * | 2007-10-11 | 2009-04-16 | Panasonic Corporation | 映像符号化方法及び映像復号方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3861698B2 (ja) * | 2002-01-23 | 2006-12-20 | ソニー株式会社 | 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム |
JP4120301B2 (ja) * | 2002-04-25 | 2008-07-16 | ソニー株式会社 | 画像処理装置およびその方法 |
CA2491679A1 (en) * | 2002-07-09 | 2004-01-15 | Nokia Corporation | Method and system for selecting interpolation filter type in video coding |
-
2009
- 2009-12-22 JP JP2009290904A patent/JP2011135184A/ja active Pending
-
2010
- 2010-12-14 CN CN201080058423.9A patent/CN102668568A/zh active Pending
- 2010-12-14 US US13/515,878 patent/US20120294368A1/en not_active Abandoned
- 2010-12-14 WO PCT/JP2010/072433 patent/WO2011078001A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003169337A (ja) * | 2001-09-18 | 2003-06-13 | Matsushita Electric Ind Co Ltd | 画像符号化方法および画像復号化方法 |
WO2009047917A1 (ja) * | 2007-10-11 | 2009-04-16 | Panasonic Corporation | 映像符号化方法及び映像復号方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9843818B2 (en) | 2011-11-08 | 2017-12-12 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
AU2011380761B2 (en) * | 2011-11-08 | 2015-06-25 | Kabushiki Kaisha Toshiba | Image encoding method, image decoding method, image encoding device and image decoding device |
US9135717B2 (en) | 2011-11-08 | 2015-09-15 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
AU2011380761C1 (en) * | 2011-11-08 | 2015-12-17 | Kabushiki Kaisha Toshiba | Image encoding method, image decoding method, image encoding device and image decoding device |
US9672633B2 (en) | 2011-11-08 | 2017-06-06 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
WO2013069095A1 (ja) * | 2011-11-08 | 2013-05-16 | 株式会社東芝 | 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置 |
US10554991B2 (en) | 2011-11-08 | 2020-02-04 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
US10687072B2 (en) | 2011-11-08 | 2020-06-16 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
US11375218B2 (en) | 2011-11-08 | 2022-06-28 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
US11451808B2 (en) | 2011-11-08 | 2022-09-20 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
US11831891B2 (en) | 2011-11-08 | 2023-11-28 | Kabushiki Kaisha Toshiba | Image coding method, image decoding method, image coding apparatus, and image decoding apparatus |
WO2016072722A1 (ko) * | 2014-11-04 | 2016-05-12 | 삼성전자 주식회사 | 영상 특성을 반영한 보간 필터를 이용하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
US10659806B2 (en) | 2014-11-04 | 2020-05-19 | Samsung Electronics Co., Ltd. | Video encoding method and apparatus, and video decoding method and apparatus using interpolation filter on which image characteristic is reflected |
Also Published As
Publication number | Publication date |
---|---|
CN102668568A (zh) | 2012-09-12 |
US20120294368A1 (en) | 2012-11-22 |
WO2011078001A1 (ja) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5234368B2 (ja) | 画像処理装置および方法 | |
JP5581688B2 (ja) | 画像処理装置および方法、並びにプログラム | |
WO2011078002A1 (ja) | 画像処理装置および方法、並びにプログラム | |
JP5240530B2 (ja) | 画像処理装置および方法 | |
WO2011024685A1 (ja) | 画像処理装置および方法 | |
WO2010101064A1 (ja) | 画像処理装置および方法 | |
WO2010035733A1 (ja) | 画像処理装置および方法 | |
WO2011086964A1 (ja) | 画像処理装置および方法、並びにプログラム | |
WO2010035731A1 (ja) | 画像処理装置および方法 | |
WO2010095559A1 (ja) | 画像処理装置および方法 | |
WO2010035734A1 (ja) | 画像処理装置および方法 | |
WO2010035730A1 (ja) | 画像処理装置および方法 | |
WO2012096229A1 (ja) | 符号化装置および符号化方法、並びに復号装置および復号方法 | |
JPWO2010095560A1 (ja) | 画像処理装置および方法 | |
WO2011089973A1 (ja) | 画像処理装置および方法 | |
WO2010035732A1 (ja) | 画像処理装置および方法 | |
WO2010064674A1 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
WO2011078001A1 (ja) | 画像処理装置および方法、並びにプログラム | |
JPWO2010064675A1 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
WO2013065572A1 (ja) | 符号化装置および方法、並びに、復号装置および方法 | |
WO2010038858A1 (ja) | 画像処理装置および方法 | |
WO2012077532A1 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JPWO2010035735A1 (ja) | 画像処理装置および方法 | |
JP2014143716A (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
WO2011125625A1 (ja) | 画像処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140116 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140515 |