【文献】
Andrey Norkin et al.,CE12.1: Ericsson deblocking filter,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneva,2011年 3月,JCTVC-E276_r1,pp.1-17
【文献】
Matthias Narroschke and Ann-Kathrin Seifert,Deblocking filter using adaptive weighting factors,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F405_r1,pp.1-9
【文献】
Mangesh Sadafale,Improving worst case performance of Deblocking-filter,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino,2011年 7月,JCTVC-F484_v2,pp.1-10
【文献】
Anand Kotra et al.,Deblocking boundary strength and filtering process simplifications,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G638-r2,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
現在、標準的な映像符号化アルゴリズムの大半はハイブリッド映像符号化に基づくものである。通常、ハイブリッド映像符号化方法は、所望の圧縮ゲインを達成するために、いくつかの異なる可逆圧縮方式と不可逆圧縮方式とを組み合わせたものである。ハイブリッド映像符号化は、ISO/IEC標準規格(MPEG−1、MPEG−2、MPEG−4のようなMPEG−X標準規格)と同様に、ITU−T標準規格(H.261やH.263のようなH.26x標準規格)の基礎でもある。最新の映像符号化標準規格は、H.264/MPEG−4 Advanced Video Coding(AVC)と称されるものであり、これは、(ITU−TグループとISO/IEC MPEGグループとのジョイントチームである)ジョイントビデオチーム(JVT)による標準化活動の成果である。このコーデックは、HEVC(High−Efficiency Video Coding)という名称の下で、JCT−VC(Joint Collaborative Team on Video Coding)によってさらに開発が進められており、特に高解像度の映像符号化の効率改善を目的としている。
【0003】
エンコーダへ入力される映像信号は、フレームと呼ばれる画像のシーケンスであり、各フレームは2次元マトリクス状の複数の画素からなる。ハイブリッド映像符号化に基づく上述の標準規格は全て、個々の映像フレームを、複数の画素からなるより小さなブロックに分割することを含む。ブロックのサイズは、例えば、画像の内容によって異なる。符号化方法は、通常、ブロックごとに異なってもよい。例えばHEVCにおいて、そのようなブロックに許される最大サイズは64×64画素である。この最大サイズは最大符号化単位(LCU)と称される。H.264/MPEG−4 AVCにおいてマクロブロック(通常は16×16画素のブロックを指す)は、符号化が実行され、さらに何らかの符号化/復号ステップが適用されるより小さなサブブロックに分割される可能性がある基本の画像要素である。
【0004】
典型的には、ハイブリッド映像符号化における符号化ステップには、空間的および/または時間的予測が含まれる。したがって、各符号化対象ブロックは、まず、空間的に隣接したブロックまたは時間的に隣接したブロック、つまり符号化済み映像フレームのブロックを用いて予測される。予測残差ブロックとも呼ばれる、符号化対象ブロックと予測との差分ブロックが、次に算出される。次の符号化ステップでは、残差ブロックが空間(画素)領域から周波数領域へ変換される。変換の目的は、入力ブロックの相関性を弱めることである。次の符号化ステップにおいて、変換係数が量子化される。このステップにおいて、実質的にロスが生じる(不可逆的な)圧縮が行われる。通常、圧縮変換係数値は、エントロピー符号化によって(可逆的に)さらに圧縮される。さらに、符号化映像信号を再構成するために必要な補助情報が符号化され、符号化映像信号とともに提供される。この情報は、例えば、空間的および/または時間的予測や量子化量等に関するものである。
【0005】
図1は、H.264/MPEG−4 AVCおよび/またはHEVCに準拠した、典型的なビデオエンコーダ100の一例を示す。減算器105がまず、入力映像(入力信号s)の符号化対象ブロックと、対応する予測ブロックS^との差分を求める。その差分は、符号化対象ブロックの予測に用いられる。当該予測信号は、時間的予測または空間的予測180によって得られる。予測のタイプは、フレームごとまたはブロックごとに異なる可能性がある。時間的予測を用いて予測されたブロックおよび/またはフレームは「インター」符号化されたと称され、空間的予測を用いて予測されたブロックおよび/またはフレームは、「イントラ」符号化されたと称される。時間的予測を用いる予測信号は、メモリに格納されている、符号化済みの画像から導出する。空間的予測を用いる予測信号は、既に符号化・復号済みの、メモリに格納された隣接ブロックの境界画素値から導出される。入力信号と予測信号との差分eは、予測誤差または残差と呼ばれ、変換されて(110)係数となり、量子化される(120)。格納するデータ量をさらに削減し、かつ/または可逆的に送信するために、量子化係数にエントロピー符号化(190)を適用する。これは主に、可変長の符号語を有する符号を適用することによって達成される。この符号語の長さは、発生確率に基づいて選択される。
【0006】
復号(再構成)映像信号s’を得るため、ビデオエンコーダ100に復号部を組み入れる。上記符号化ステップに合わせて、復号ステップは、逆量子化および逆変換(130)を含む。そのようにして得た予測誤差信号e’は、量子化ノイズとも称される量子化誤差が原因で、元の予測誤差信号とは異なる。その後、復号予測誤差信号e’を予測信号S^に加える(140)ことで、再構成信号s’を得る。エンコーダ側とデコーダ側の互換性を保つため、エンコーダ側とデコーダ側の両方で得られる、符号化され続いて復号された映像信号に基づいて、予測信号S^を得る。
【0007】
量子化の結果、再構成映像信号に量子化ノイズが重畳される。ブロック単位での符号化のため、重畳されたノイズはブロッキング特性を有することが多く、特に強い量子化が行われた場合は、復号画像のブロック境界が目立つことになる。ブロッキングアーティファクトは、人間の視覚認識上マイナス効果を及ぼす。これらのアーティファクトを減らすため、デブロッキングフィルタ150を全ての再構成画像ブロックに適用する。デブロッキングフィルタは、再構成信号s’に適用される。例えば、H.264/MPEG−4 AVCにおけるデブロッキングフィルタは、局所的適応能力を有する。ブロッキングノイズの程度が高い場合は、強い(帯域幅が狭い)ローパスフィルタが用いられ、ブロッキングノイズの程度が低い場合は、弱い(帯域幅が広い)ローパスフィルタが用いられる。ローパスフィルタの強度は、予測信号S^および量子化予測誤差信号e’によって決定される。デブロッキングフィルタは、概して、ブロックのエッジを平滑化し復号画像の主観的画質を改善する。さらに、画像内のフィルタリング処理済みの部分が次の画像の動き補償予測に用いられるため、フィルタリング処理によって予測誤差も減少し、符号化効率を改善することができる。
【0008】
デブロッキングフィルタの後に、サンプル適応オフセット155および/または適応的ループフィルタ160を、デブロッキング済み信号s’’を含む画像に適用してもよい。デブロッキングフィルタは主観的品質を改善する。一方で、サンプル適応オフセット(SAO)およびALFは、画素単位の信頼性(「客観的」品質)の改善を目的とする。具体的には、SAOは、画素の最も近隣に従ってオフセットを追加する。適応的ループフィルタ(ALF)は、圧縮によって起こる画像の歪みを補償するために用いられる。通常、適応的ループフィルタは、再構成済み画像s’とソース画像sとの平均二乗誤差(MSE)が最小化されるように決定されたフィルタ係数を有するウィーナフィルタである。ALFの係数を、フレーム単位で算出し送信してもよい。ALFはフレーム全体(映像シーケンスの画像)または局所領域(ブロック)に適用できる。フィルタリング処理する領域を示す追加的補助情報を、(ブロック単位、フレーム単位、または四分木単位で)送信してもよい。
【0009】
インター符号化画像を復号するには、符号化および復号済み画像の一部も参照フレームバッファ170に格納する必要がある。インター符号化ブロックは、動き補償予測を用いることにより予測される(180)。まず、動き検出器により、符号化および復号済み映像フレーム内で対象ブロックに最も適合するブロックを見つける。この最適ブロックは予測信号となり、対象ブロックと最適ブロック間の相対的なずれ(動き)が、3次元の動きベクトルの形で動きデータとして信号で伝えられる。この動きデータは、符号化映像データとともに提供される補助情報内に含められる。3次元とは、2つの空間的な次元と1つの時間的な次元とからなる。予測精度を最適化するため、1/2画素解像度や1/4画素解像度などの空間的サブピクセル解像度で動きベクトルを求めてもよい。空間的サブピクセル解像度の動きベクトルは、復号済みフレーム内の、実存する画素値がない空間的位置、つまりサブピクセル位置を指してもよい。よって、動き補償予測を行うために、そのような画素値の空間的補間が必要である。これは、補間フィルタ(
図1では予測ブロック180と統合されている)によって達成されてもよい。
【0010】
イントラ符号化およびインター符号化モードの両方において、対象入力信号と予測信号との差分eが変換(110)および量子化(120)され、量子化係数となる。一般的に、2次元離散コサイン変換(DCT)またはその整数バージョンなどの直交変換が使用される。なぜなら、これにより自然映像の相関が効率的に低下するからである。変換後、高周波成分よりも低周波成分の符号化により多くのビットが費やされる。これは通常、高周波成分よりも低周波成分が画質にとって重要であるからである。エントロピーコーダにおいて、2次元配列の量子化係数が1次元配列に変換される。典型的には、いわゆるジグザグスキャンによって変換される。ジグザグスキャンでは、2次元配列の左上隅にあるDC係数から右下隅にあるAC係数まで所定の順序で走査される。エネルギーは一般的に低周波に相当する2次元配列の係数の左上部分に集中するため、ジグザグスキャンを行うと、通常、最後の値がゼロとなる配列になる。これにより、実際のエントロピー符号化の一部として、またはその前処理として、ランレングス符号を用いる効率的な符号化が可能になる。
【0011】
H.264/MPEG−4 H.264/MPEG−4 AVCおよびHEVCは、ビデオ符号化層(VCL)とネットワーク抽象化層(NAL)の2つの層を有する。VCLは、簡単に上述したように、符号化の機能性を提供する。NALは、チャネルを越える送信や記憶装置への格納といったさらなる用途に合わせて、情報要素を、NALユニットと称される標準単位にカプセル化する。情報要素とは、例えば、符号化予測誤差信号、または、予測タイプ、量子化パラメータ、動きベクトル等の映像信号の復号に必要な他の情報である。圧縮映像データと関連情報とを含むVCL NALユニットがあり、映像シーケンス全体に関連するパラメータセットのような追加データをカプセル化しているnon−VCLユニット、または、復号精度の改善に用いられる追加情報を提供する付加拡張情報(SEI)もある。
【0012】
図2は、H.264/MPEG−4 AVCまたはHEVC映像符号化規格に準拠したデコーダ200の例を示す。符号化映像信号(デコーダへの入力信号)は、まず、動きデータや予測モード等といった復号に必要な情報要素と量子化係数とを復号するエントロピーデコーダ290に送られる。量子化係数は、2次元配列を得るために逆走査され、その後、逆量子化・逆変換部230に入力される。逆量子化および逆変換(230)後、復号(量子化)予測誤差信号e’が得られる。量子化ノイズが生じず、誤差が生じなかった場合、この復号(量子化)予測誤差信号e’は、エンコーダに入力された信号から予測信号を減算して得た差分に相当する。
【0013】
予測信号は、時間的または空間的予測(280)によって得られる。通常、復号された情報要素はさらに、イントラ予測の場合には予測タイプ、動き補償予測の場合には動きデータなどの予測に必要な情報を含む。空間領域における量子化予測誤差信号は、その後、加算器240により、動き補償予測またはフレーム内予測(280)から得られた予測信号に加算される。再構成画像s’は、デブロッキングフィルタ250、サンプル適応オフセット処理部255、および、適応ループフィルタ260を介して送られてもよく、その結果得られる復号信号は、メモリ270に格納され、後続ブロック/画像の時間的または空間的予測に使用される。
【0014】
ハイブリッドビデオエンコーダの一例をさらに説明したものを
図3に示す。
図3のエンコーダが
図1のエンコーダと異なる点は、
図1のデブロッキングフィルタ150が、垂直エッジを水平方向にデブロッキングするフィルタ350aと水平エッジを垂直方向にデブロッキングするフィルタ350bとに分割されていることである。フィルタ350aは、加算器140の出力である再構成信号S’に適用される。フィルタ350bの出力、つまり、S’’と表されるデブロッキング済み垂直エッジを含む画像はフィルタ350bに入力される。フィルタ350bの出力信号、つまり、垂直および水平方向にデブロッキングされた画像はS’’’と表される。さらに、
図3は、エントロピーエンコーダ190と水平デブロッキングフィルタ350aと垂直デブロッキングフィルタ350bとに入力される量子化パラメータQPを明示的に示している。
【0015】
図3の残りのブロックは
図1のブロックにそれぞれ対応し、
図3と
図1において、同等の機能は同じ参照符号で表されている。
図3では、適応ループフィルタ160がウィーナフィルタとして明示的に記載されており、ブロック155(SAO)とブロック160(ALF)が入れ替わっている。しかしながら、これらのステップ順序は本発明において本質的なものではない。また、参照フレームバッファ170は、
図3では明示的に示されていない。
【0016】
図1のエンコーダと
図2のデコーダの各機能における類似性を考えると、当業者であれば、2つの連続ステップで水平および垂直デブロッキングが明示的になされるデコーダを説明するために、
図2をどのように変更すればよいか分かるであろう。したがって、各図は省略する。
【0017】
画像を圧縮および解凍する際、ブロッキングアーティファクトは通常、ユーザにとって最も不快なものである。再構成画像のブロック間のエッジを平滑化することで、デブロッキングフィルタリング処理は、ユーザの知覚体験を改善する。デブロッキングフィルタリング処理の難点の1つは、量子化器の適用が原因でブロッキングにより生じるエッジと、符号化信号の一部であるエッジとを正確に判別することである。圧縮アーティファクトが原因でブロック境界に生じたエッジの場合にのみ、デブロッキングフィルタが適用されることが望ましい。他の場合、デブロッキングフィルタの適用により、再構成信号が歪む可能性がある。別の難点は、デブロッキングフィルタリング処理に適切なフィルタを選択することである。通常、異なる周波数応答を有する複数のローパスフィルタにおいて判定がなされ、強いまたは弱いローパスフィルタリング処理が行われる。デブロッキングフィルタリング処理を適用するかどうかを判定するため、また、適切なフィルタを選択するために、2つのブロックの境界付近に存在する画像データが考慮される。
【0018】
例えば、隣接ブロックの量子化パラメータを考慮してもよい。代わりに、または、加えて、イントラまたはインターなどの予測モードを考慮してもよい。その他の可能性は、例えば、ゼロに量子化された係数はいくつあるかなど、量子化予測誤差係数を評価することである。また、例えば、同じ参照フレームが対象ブロックと隣接ブロックの予測に用いられたかなど、動き補償予測に用いた参照フレームをフィルタ選択の指標としてもよい。また、判定は、動き補償予測に用いた動きベクトルに基づくものでもよく、対象ブロックの動きベクトルと隣接ブロックの動きベクトルとが同じかそれとも異なるかに基づいてもよい。判定は、ブロックパッチまでの距離といったサンプル空間位置に関するものでもよい。
【0019】
例えば、H.264/MPEG−4AVCは、境界がデブロッキングされる2つの隣接ブロックそれぞれの第1の微分の絶対値を評価する。また、例えばH.264/MPEG−4AVC規格の第8.7.2.2項で記載されているように、2つのブロック間のエッジにおける第1の微分の絶対値を評価する。同様の手法は、米国特許出願公開第2007/854204号明細書にも記載されている。フィルタリング処理する全ての画素に対し同じ基準で判定がなされ、ブロック全体に対して選択が行われる。HEVCでは同様のメカニズムを採用しているが、第2の微分も用いる。
【0020】
これらの手法によると、2つのブロック間の特定エッジ(境界)に対してデブロッキングフィルタを適用するかどうかを判定し、適用する場合には、フィルタ強度がそれぞれ異なる複数のデブロッキングフィルタのうちどのフィルタを適用するのかを判定する必要がある。通常、フィルタ強度が大きなデブロッキングフィルタ(「強いフィルタ」)ほど、境界に隣接する画素値に対し、フィルタ強度が小さなフィルタ(「弱いフィルタ」)よりもより大幅な補正を行う。フィルタリング処理するか否かの判定は、ブロック単位の処理で適用される量子化によってブロック境界において大きな信号変化が生じるサンプルのみをフィルタリング処理するためのものである。このフィルタリング処理により、ブロック境界において平滑化された信号が得られる。平滑化された信号は、ブロッキングアーティファクトよりも、見る人に与える不快感が少ない。ブロック境界における大きな信号変化が符号化前の元の信号のものであるサンプルは、高い周波数、つまり、視覚的な鮮鋭さを保つために、フィルタリング処理されるべきではない。間違った判定がされた場合、画像は、不必要に平滑化されるか、ブロックノイズが残ったままになる。
【0021】
上述した判定を行うために、当該技術分野では複数の判定基準が導出されてきた。判定基準は、ブロック境界の両側における画素値分布の詳細を規定するパラメータに基づいて機能する。通常、まず最初に、ブロック境界におけるブロックアーティファクトがどの程度顕著に現れるかを示すため、パラメータ(境界強度、BS)を導出する。そして、それに基づき、判定閾値を定義するパラメータを導出する。判定フローにおける各ステップでは、特に、境界強度(BS)を導出する際に、いくらかの(1または数)CPUサイクルが消費される。さらに、判定フローに関係するパラメータはそれぞれ、メモリ空間を必要とする。したがって、処理効率上の理由から、中間ステップおよびパラメータをできるだけ少なくして必要な計算および判定を行うことが望ましい。
【発明を実施するための形態】
【0027】
図3に示すような最新のハイブリッドビデオコーダは、ブロック単位の予測と、ブロック単位の予測エラーコーディングとを適用している。予測エラー符号化・復号化には、量子化ステップが含まれる。これはブロック単位で処理されるため、いわゆるブロッキングアーティファクトが、特に、粗い量子化の場合に生じる。ブロッキングアーティファクトは、ブロックエッジにおける大きな信号変化と関連している。これらのブロッキングアーティファクトは、見る人にかなりの不快感を与える。これらのブロッキングアーティファクトを削減するため、例えば、H.264/MPEG−4 AVCビデオ符号化標準規格、または、HEVCビデオ符号化標準化活動のテストモデルであるHM(例えば、HMデブロッキングフィルタ、JCTVC−F803_d4、「WD4: Working Draft 4 of High−Efficiency Video Coding」、第6回トリノ会議、イタリア、2011年7月14〜22日を参照)では、デブロッキングフィルタが適用される。
【0028】
デブロッキングフィルタは、サンプルごとに、ブロック境界において、フィルタリング処理するか否かを判定し、フィルタリング処理すると判定された場合には、ローパスフィルタを適用する。この判定は、ブロック単位の処理で適用される量子化によってブロック境界において大きな信号変化が生じるサンプルのみをフィルタリング処理するためのものである。この処理により、ブロック境界において平滑化された信号が得られる。平滑化された信号は、ブロッキングアーティファクトよりも、見る人に与える不快感が少ない。ブロック境界における大きな信号変化が符号化前の元の信号のものであるサンプルは、高い周波数、つまり、視覚的な鮮鋭さを保つために、フィルタリング処理されるべきではない。間違った判定がされた場合、画像は、不必要に平滑化されるか、ブロックノイズが残ったままになる。
【0029】
図4は、
図1、
図2、および、
図3の説明でそれぞれ記載されたデブロッキングフィルタ(150、250、350a、および、350bなど)の適用例を示す。このようなデブロッキングフィルタは、サンプルごとにブロック境界でフィルタリング処理を行うか否かを判定してもよい。フィルタリング処理を行う場合は、ローパスフィルタを適用する。この判定の目的は、上記背景技術に記載したような、ブロック単位の処理に適用される量子化によりブロック境界において大きな信号変化が起こるサンプルにのみ、フィルタリング処理を行うことである。このフィルタリング処理により、ブロック境界において平滑化された信号が得られる。平滑化信号は、ブロッキングアーティファクトよりも、見る人に与える不快感が少ない。符号化対象の原信号に属する、ブロック境界において大きな信号変化が起こるそれらのサンプルは、高周波およびそれによる視覚的鋭さを維持するために、フィルタリング処理されるべきではない。間違った判定がされた場合、画像は、不必要に平滑化されるか、ブロックノイズが残ったままになる。
【0030】
図4Aは、垂直境界に関する判定(水平デブロッキングフィルタでフィルタリング処理を行うか否か)を示し、
図4Bは、水平境界に関する判定(垂直デブロッキングフィルタでフィルタリング処理を行うか否か)を示す。具体的には、
図4Aは、復号対象ブロック340とその復号済み隣接ブロック310、320、および330を示す。ライン内の画素360に対して判定がなされる。同様に、
図4Bは、同じ対象ブロック340を示し、列内の画素370に対して判定がなされる。
【0031】
H.264/MPEG−4 AVCと同様に、デブロッキングフィルタを適用するか否かの判断は、以下のように実行されてもよい。
図5にも示されるように、6個の画素360のラインを例にとると、そのうち最初の3個の画素p2、p1、p0は左の隣接ブロックA330に属し、続く3個の画素q0、q1、q2は対象ブロックB340に属する。ライン410は、ブロックAとブロックBとの境界を示す。画素p0およびq0はそれぞれ、左の隣接ブロックAの画素および対象ブロックBの画素であり、互いに隣接している。画素p0およびq0は、例えば以下の条件が満たされた場合に、デブロッキングフィルタによってフィルタリング処理される。
【0032】
【数1】
【数2】
および、
【数3】
ここで、通常、以下が成立する。
【数4】
【0033】
これらの条件は、p0とq0の差分がブロッキングアーティファクトに由来するものか否かを検出することを目的としている。これらは、ブロックA内、ブロックB内、および、ブロックAB間それぞれの第1の微分の評価に相当する。
【0034】
画素p1は、上記3つの条件に加えて以下の条件も満たした場合にフィルタリング処理される。
【0036】
画素q1は、上記の最初の3つの条件に加えて以下の条件も満たした場合にフィルタリング処理される。
【0038】
これらの条件はそれぞれ、第1ブロック内の第1の微分および第2ブロック内の第1の微分に相当する。上記の条件において、QPは、適用される量子化量を示す量子化パラメータを示す。βおよびαはスカラー定数である。特に、QP
NEWは、以下のような、第1ブロックAおよび第2ブロックBそれぞれに適用される量子化パラメータQP
AおよびQP
Bに基づき導出した量子化パラメータである。
【0040】
ここで、「>>n」は右にnビット分シフトするという意味である(上記の式では1ビットである)。
【0041】
上記の条件は、ブロック内の第1の微分の評価に相当する。当該判定は、ブロック内の選択された1ラインまたは複数のラインに対してのみ行われてもよいが、画素のフィルタリング処理は全てのライン360に対して適宜行われる。HEVCに準拠した判定が行われるライン430の例420を
図5に示す。ライン430に基づき、ブロック全体をフィルタリング処理するか否かの判定がなされる。
【0042】
HEVCにおけるデブロッキングフィルタリング処理の他の例は、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のJTC−VCのJCTVC−E603ドキュメントの第8.6.1項に記載されており、同ドキュメントは、http://wftp3.itu.int/av−arch/jctvc−site/から自由に入手可能である。
【0043】
これによると、HEVCでは、2本のライン430を用いて、デブロッキングフィルタリング処理を適用するか否か、また、どのように適用するのかを判定する。本明細書では、この判定ステップを第1判定ステップD1と呼ぶ。例420では、水平方向にブロッキングフィルタリング処理を行うため、3つ目のライン(インデックス2)および6つ目のライン(インデックス5)を評価するとしている。特に、各ブロック内の第2の微分を評価すると、以下のような測度d
pおよびd
qが得られる。
【0045】
画素pはブロックAに属し、画素qはブロックBに属する。pまたはqの直後の数字は列インデックスを示し、その次の下付きの数字はブロック内の行番号を示す。以下の条件が満たされる場合、例420に示される8ライン全てに対するデブロッキングが可能となる。
【0047】
上記の条件が満たされない場合、デブロッキングは全く適用されない。デブロッキングが可能な場合、本明細書では第2判定ステップD2と呼ぶ次の判定ステップにおいて、デブロッキングに用いられるフィルタが決定される。この決定は、ブロックAB間の第1の微分の評価に基づく。特に、ラインi(iは0〜7の整数)ごとに、強いローパスフィルタと弱いローパスフィルタのどちらを適用するのか判定される。以下の条件が満たされる場合、強いフィルタが選択される。
【0049】
HEVCモデルに従い、「強いフィルタ」は、サンプルp3
i、p2
i、p1
i、p0
i、q0
i、q1
i、q2
i、q3
iを用いて、サンプルp2
i、p1
i、p0
i、q0
i、q1
i、q2
iをフィルタリング処理する。一方、「弱いフィルタ」は、サンプルp2
i、p1
i、p0
i、q0
i、q1
i、q2
iを用いて、サンプルp1
i、p0
i、q0
i、q1
iをフィルタリング処理する。上記の条件において、パラメータβおよびt
cは両方とも量子化パラメータQP
eの関数であり、画像のスライスなどに対して設定してもよい。通常、βおよびt
cの値は、ルックアップテーブルを用いてQPに基づき導出される。
【0050】
図6は、H264/MPEG−4 AVC規格に準拠した強いフィルタ演算および弱いフィルタ演算の例についてより詳細に説明したものである(HEVCソフトウェアモデルHM4.0で実装)。
【0051】
図6Aの左側の図は、強いフィルタで垂直エッジを水平方向にフィルタリング処理するのに用いられるサンプルを示している。
図6Aの右側の図は、フィルタにより修正されたサンプルを示している。図から分かるように、この例では、参照符号610で示される、境界の両側で境界に最も隣接する4画素に対応するサンプルがフィルタリング処理に用いられる。これらのうち実際に修正されるものは、
図6Aの左側の図において参照符号620で示される、両側で境界に最も近い3画素のみである。実際、以下の式に従って、フィルタリング処理を行う。
【0053】
関数Clip(x)を以下のように定義する。
【0055】
ここで、max_allowed_valueはxがとり得る最大値である。kビットのサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=2
k−1になる。例えば、8ビットのサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=255になる。10ビットのサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=1023になる。
【0056】
上記の式から分かるように、フィルタリング処理は、ラインごとに(シングルラインインデックスi=0、1、2、3、4、5、6、または、7のみ)個別に行われ、フィルタにより画素を修正する式(フィルタ番号の後のダッシュ記号´で示される)ごとにそれぞれラインが用いられる。サンプルp3
iおよびq3
iの場合、修正画素はそれぞれ算出されないが、p2’
iおよびq2’
iの式から、p3
iおよびq3
iが各計算式の右側の項に存在することが分かる。
【0057】
図6Bから分かるように、両側で境界に最も近い3画素を用いて弱いフィルタによるフィルタリング処理を行う(左側の図におけるサンプル630)。これらのうち実際に修正されるものは、境界に最も近い2隣接画素のみである(
図6Bの右側におけるサンプル640)。弱いフィルタリング処理の計算処理は、強いフィルタリング処理の場合の計算とかなり異なり、さらなる判定が行われる。まず、識別値Δが以下の式に従って算出される。判定はこの値に基づく。
【0059】
次に、第3判定ステップD3において、フィルタリング処理を行うか否かを判定する。第3判定によれば、
【数17】
を満たす場合に、画素サンプル640にのみフィルタリング処理が適用される。
【0060】
条件を満たした場合、両側で境界に最も近い画素が以下の式に従ってフィルタリング処理される。
【0061】
【数18】
【数19】
この際、以下を用いる。
【0063】
関数Clip(x)は上記の定義の通りである。関数Clip3(x)を以下のように定義する。
【0065】
サンプルp0およびq0をフィルタリング処理した後、境界から次に最も近い画素サンプルp1
iおよびq1
iもフィルタリング処理するか否かについて第4判定D4が行われる。第4判定D4は、境界の両側に対して別個に、つまり、
図6BのブロックAに属する画素p1
iと
図6BのブロックBに属する画素q1
iとに対して行われる。
【0066】
画素p1
iの第4判定は、上記パラメータd
pに基づく。
【0067】
【数22】
を満たす場合、
【数23】
に従ってフィルタリング処理が行われる。この際、以下を用いる。
【0069】
【数25】
を満たす場合、ブロックBの画素q
iに対する判定D4が行われる。
【0070】
【数26】
に従ってフィルタリング処理が行われる。この際、以下を用いる。
【0072】
前述において、パラメータt
c2は
【数28】
と定義される。
【0073】
なお、前述のフィルタリング処理手順は、垂直エッジの水平フィルタリング処理に対する例を用いて説明したが、水平方向を垂直方向に、行を列にそれぞれ置き換えることによって水平エッジの垂直フィルタリング処理にも同じように当てはめることができる。さらに、本明細書では慣例が適用され、「ライン」という用語は列または行を意味する。
【0074】
フィルタの適用に関して判定してから、好ましくはさらに、強度が異なる複数のフィルタの中からデブロッキングに適用される1種のフィルタを選択するのに必要なステップは、ある程度の計算量になる。上述したように、通常、フィルタ強度を定義するため、閾値に関連する判定が行われる(上記のβとt
cとを参照)。本発明の目的は、特に、必要な計算量を削減するために、後者の閾値パラメータt
cに対する算出方式を改善し、それによって算出方式を簡易化して処理効率を改善することである。
【0075】
従来方法では、パラメータt
cの計算は、境界(エッジ)がどの程度「ブロックノイズ化」しているかの推定量を示す第1パラメータ値(境界強度(BS))と、符号化において用いられる量子化ステップのサイズを示す量子化パラメータ(QP)とに基づいている。t
cを決定するため、中間処理において、境界の「ブロックノイズ」をもはや明確に反映しないオフセット値(tc_offset)を導出し、QPと組み合わせてフィルタ強度を定義する。
【0076】
本発明は、パラメータBSとQPとの所定の組み合わせ(和)の関数に基づいてパラメータt
cを直接導出できるように従来の算出方式を改善する。
【0077】
図7は、デブロッキングを適用するか否かを判定してから適切なデブロッキングフィルタを選択する処理の典型的なフロー図である。
図7のフローチャートは、通常、本発明の実施の形態だけなく、デブロッキングの上記従来方式にも適用できる。
【0078】
図7の右上隅にある小さな四角PおよびQは、隣接して同じ境界を共有する2画像ブロックPおよびQの略図である。図示および上述したとおり、ブロックPとブロックQの間の境界は、垂直(左側)でも水平(右側)でもよい。
【0079】
図7の最初のステップS700では、判定用の第1パラメータとして境界強度(BS)を算出する。一般に、境界強度BSは、ゼロまたは正の整数のパラメータである。ステップS700の境界強度算出については、
図8およびそれ以降の図を参照しながら後ほど詳しく説明する。
【0080】
ステップS700の後、処理はステップS710に進む。ステップS710では、算出された境界強度値BSが正かどうかを判断する。ステップS710においてBSが正でない(つまり、BS=0)と判断された場合は、現在処理中のエッジに対してデブロッキングは行わないと判定し、ステップS715でフローチャートの処理を終了する。
【0081】
それとは逆に、ステップS710における判断がYESであれば、デブロッキングに関するさらなる判定へと進む。ステップS720では、パラメータt
cおよびβを算出する。ステップS720で算出されたパラメータt
cおよびβは、
図5および
図6を参照して上述したとおりデブロッキング処理を行うために以下で用いる変数である。上述したとおり、パラメータt
cもパラメータβも量子化パラメータQPによって決まる。後ほど詳しく説明するが、t
cは、さらに、境界強度BSによっても決まる。したがって、t
cはBSとQPの両方によって決まる。
【0082】
次のステップS730では、強いフィルタリング処理を選択する(S732)のか、弱いフィルタリング処理を選択する(S735)のか、それとも、より詳細な検証で明らかになったために、ステップS710における最初の判定に反して、フィルタリング処理を適用しない(S738)のかを判定する。最初の2つの場合は、それぞれのフィルタリング処理が行われるが、後者の場合は、ステップS715に進み、フィルタリング処理をすることなく終了する。ステップS738のフィルタリング処理しないという再判定を含む、ステップS730における判定は、新たに算出されたパラメータt
cおよびβに基づく。
【0083】
図8は、ステップS700のデブロッキング境界強度(BS)値の導出について詳細を示している。開始後、ステップS810では、ブロックPおよびブロックQの少なくとも一方がイントラ符号化画像に属しているかどうかを判断する。この判断を行う背景には、イントラ符号化ピクチャ(Iピクチャ)ほど、量子化においてより大きな量子化誤差が生じやすいということがある。
【0084】
ステップS810における判断がYESであれば、従来の処理はステップS812に進む。ここでは、現在処理中のブロック境界が符号化単位間の境界かどうかについての判断が行われる。符号化単位とは、通常、1以上の画像ブロックから構成されるユニットのことである。具体的に言うと、ハイブリッドコーダでは、各LCU(64×64サンプルの最小符号化単位)がさらに、符号化単位(CU)へ分割される。CUのエッジは、CUエッジと定義される。CUはさらに、予測単位(PU’s)と変換単位(TU’s)とに分割することができる。各PUブロックおよびTUブロックにはエッジがある(PUエッジおよびTUエッジ)。デブロッキングは、CUエッジ、PUエッジ、および、TUエッジに対して行われる。したがって、本明細書による「ブロック」とは、CUの意味だけでなく、CUがさらに分割される場合には、PUおよびTUの意味も有する用語である。ゆえに、PUおよびTUの境界は、同時に、CUエッジである場合と、そうでない場合とがある。
【0085】
ステップS812における判断がYES(つまり、現在処理中のブロック境界がCUエッジ)であれば、境界強度BSは、4の値に設定される(ステップS816)。逆に、ステップS812における判断がNOであれば、BSは3に設定される(S814)。
【0086】
ステップS810における判断がNOの場合、処理はステップS820に進む。ステップS820では、パラメータcbf−Pとパラメータcbf−Qのいずれも値がゼロでないかどうかを判断する。ただし、ステップS820およびS830における関係式で用いられる記号の組み合わせ(!=)は、「等しくない」ことを意味する。この判断では、変数cbf−Pにより、ゼロでない変換係数レベルをブロックPが1以上含んでいるかどうかが判断される。ブロックQに対する指標は、変数cbf−Qによって与えられる。具体的に言うと、パラメータcbf−Pとパラメータcbf−Qをそれぞれ、値0と値1と仮定する。1の値は、各ブロックの変換ブロックがゼロでない変換係数レベルを1以上含んでいることを示す。値が0であれば、各変換ブロックには、ゼロ以外の変換係数レベルは存在しない。
【0087】
ステップS820における判断がYESであれば、BSは2の値に設定される(S822)。
【0088】
逆の場合、処理はステップS830に進む。ステップS830では、ブロックPの参照インデックス(RefIdx−P)とブロックQの参照インデックス(RefIdx−Q)とが異なるかどうかについての判断が行われる。参照インデックス(RefIdx−PおよびRefIdx−Q)は、それぞれのブロックを参照するピクチャを示す。したがって、ステップS830における判断がNOであることは、ブロックPとブロックQとも同一ピクチャから参照されることを意味する。ステップS830における判断がYESであることは、ブロックPとブロックQとが別のピクチャから参照されることを意味する。判断がYESの場合、BSは1の値に設定される(S832)。
【0089】
判断がNOの場合(S830:NO)、処理はステップS840へ進む。ステップS840では、AbsHorおよびAbsVerのいずれか一方がゼロより大きいかどうかについての判断が行われる。ここでは、パラメータAbsHorにより、ブロックPとブロックQとに属する動きベクトルの水平動きベクトル成分の差分絶対値を決定する。パラメータAbsVerにより、ブロックPとブロックQとに属する動きベクトルの垂直動きベクトル成分の差分絶対値を決定する。ただし、ステップS840の判断では、単なる一例として、3の値が用いられている。本明細書の範囲内であれば、他の値も同様に可能である。ステップS840における判断がYESであれば、ステップS842において、BSは1に設定される。逆の場合、ステップS844において、BSはゼロに設定される。
【0090】
前述したように、BS値は、エッジにどの程度ブロックノイズがみられるのかを意味する。通常、境界強度が強いほど、エッジのブロックノイズは大きい。
図8の方式から分かるように、BSの後者の特性は、
図8の判断によって反映される。例えば、イントラ符号化ブロックの場合、量子化誤差がより大きくなることを考慮して、通常、より大きな値のBSが割り当てられる。
【0091】
図8の従来方式は、上記で引用したJCTVC−F803_d4のHMデブロッキングフィルタに相当し、そこで用いられ、上述されたパラメータは、文献「HMデブロッキングフィルタ、JCTVC−F803_d4、「WD4: Working Draft 4 of High−Efficiency Video Coding」、第6回トリノ会議、イタリア、2011年7月14〜22日」(特に、第7.4.8節および第8.6.1.3節を参照)において導入されている。
【0092】
通常、エッジのデブロッキングは、導出されたBS値に基づいて行われる。BSがゼロに等しい場合、デブロッキングは行われない。そうでない場合は、さらなるフィルタリング処理判定のために、閾値パラメータt
cが導出される。
【0093】
一般的な従来の算出方式は、当該分野において知られている。
【0094】
例えば、AVCでは、量子化パラメータQPと境界強度BSとに関する2次元のハードコードされたテーブルに基づいてt
cを導出する。
【0095】
t
c=cliptable[QP][BS]
【0096】
この手法では、2次元テーブルを格納するのに大きなメモリが必要という課題がある。
【0097】
別の従来手法が、(HMバージョン1.0から始まる)HEVCにおいて知られている。この場合、変数tc_offsetに関する1次元のハードコードされたテーブルからt
cが導出される。具体的に言うと、第1ステップでは、導出されたBS値に基づき、パラメータtc_offsetを算出する。つまり、BSが2以下の場合は、tc_offset=0に設定され、そうでない場合には、tc_offset=2に設定される。パラメータt
cは以下の式によって決定される。
【0098】
t
c=Tctable[QP+tc_offset]
【0099】
関数Tctable[]は、関数の引数についてt
c値が異なる表形式の関数として定義される。今回の場合、関数の引数は、オフセット値tc_offsetが加算された量子化パラメータQPである。このテーブルは、上記で引用された文献「HMデブロッキングフィルタ、JCTVC−F803_d4、「WD4: Working Draft 4 of High−Efficiency Video Coding」、第6回トリノ会議、イタリア、2011年7月14〜22日」(特に、テーブル8〜15を参照)において定義されている。
【0100】
後者の従来方式の課題は、値BS=1と値BS=2とが区別されないことである。そのため、BS=2のブロックノイズがより多いエッジとBS=1のブロックノイズがより少ないエッジとで、同じデブロッキング処理が行われる可能性がある。
【0101】
本発明は、パラメータTC
zのシンプルでより単純な導出方法を提供する。つまり、BS=2であれば、tc_offset=1を設定する。BS=1であれば、tc_offset=0を設定する。
【0102】
その結果、AVCと比べると、テーブルサイズが削減される。また、HEVC(1.0より大きなHM)と比べると、ブロックノイズが多いエッジ(BS=2)とブロックノイズが少ないエッジ(BS=1)との区別が導入される。つまり、従来のHEVC手法と比較し、本発明は、境界強度BSに基づいたよりきめ細やかなtc_offset導出が可能になる。
【0104】
図9の左側は、HEVCにおける従来のHM−4.0手法を示す図である。それから分かるように、値BS=2および値BS=1は共に同じ値t
cとなる。逆に、右側は、本発明の実施の形態に係る改良方式を示す。それから分かるように、BS=2とBS=1はそれぞれ異なる値t
cをとる。
【0105】
図8の方式に対応するBS導出の全処理ステップ、および、同じ処理ステップは、
図8および
図9において同じステップ符号が付される。
【0106】
一般的に、本発明の実施の形態によれば、ステップS820における判断がYESの場合とNOの場合とで、必ず異なるパラメータtc_offsetが設定される。
【0107】
図10は、従来方式と
図9右側の改良方式との符号化効率の比較(http://phenix.int−evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC−F900−v1.zipから入手可能なJCT−VC文献JCTVC−F900に明記されている通り)を示す。
図10Aの左側テーブルは、一般的なテスト条件に対応する。
図10Bの右側は、高変換パラメータ(QP=39、41、43、および、45)に対応する。BDレートは、ピース単位の3次補間法(網掛け数字に対する3次補間法)を用いて計算される。低遅延P高効率および低遅延P低複雑度の場合、わずかに符号化効率の向上がみられる。符号化時間および復号時間は、従来方式と同様である。
【0108】
図11は、
図8の処理方式をさらに簡易化したものを示す。
【0109】
図11の簡易化は、決定木の複雑度を減らすことによって計算量を削減するために開発された。従来手法と本発明の実施の形態に係る簡易化手法との違いを強調するため、
図8の従来手法を
図11の左側にもう一度図示する。ここで、同じ参照符号は同じステップであることを示す。本発明の実施の形態に係る改良方法は、
図11の右側に図示される。それから分かるように、ステップS810における判断がYESの場合、BS=3の値が自動的に割り当てられる(ステップS812の代わりにステップS1115)。ただし、3の値は単なる例であり、別の固定値を本発明において用いてもよい。
【0110】
つまり、CUエッジとその他のブロック境界(特に、上述したようなTUエッジとPUエッジ)との区別を行わない。このように、少なくとも1つのイントラ符号化ブロックに隣接するエッジは全て、同じ方法で処理され、同じBSが割り当てられる。したがって、CUエッジの確認を行う追加ステップは必要ない。ゆえに、上述したように、BS導出における各ステップは数CPUサイクルを含むため、計算量を削減することができる。
【0111】
図12は、
図11の方式(右側)と
図8の従来方式との符号化効率の比較(http://phenix.int−evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC−F900−v1.zipから入手可能なJCT−VC文献JCTVC−F900に明記されている通り)を示す。
【0112】
図12から分かるように、符号化効率は、通常、従来手法と一致する。しかしながら、BS算出の必須部分でCU境界の確認命令を削除したことにより導出方式の複雑度が少なくなったため、処理能力は抑えられる。
【0113】
図13は、
図9および
図11における革新的な手法の組み合わせを反映した簡易化判定方式を示す。今までの図と同様、
図13では、同じ参照符号はそれぞれの方法ステップに対応する。
【0114】
図13から分かるように、境界強度BSと付加オフセットパラメータtc_offsetとの1対1の対応関係を考慮して利点を与える。オフセットパラメータtc_offsetの中間決定は、本発明において定義が変更されたことを考えると、使用されなくなるので、必要なメモリと処理能力を抑えるために完全に省略することができる。以上のように、t
cは、BSによって直接決まり、以下の式から導出される。
【0115】
t
c=Tctable[BS−1+QP]
【0116】
つまり、t
cはBSとQPの和の(固有)関数になる。
【0117】
具体的に言うと、先行技術によれば、t
cは式t
c=Tctable[tc_offset+QP]により定義されていた。ただし、BS>2の場合はTc_offset=2であり、BS<=2の場合はtc_offset=0である。
【0118】
本発明によれば、変数tc_offsetはもはや使用されず、t
cを以下のように導出することができる。
【0119】
t
c=Tctable[BS−1+QP](
図13)
または、
t
c=Tctable[BS+QP](
図14、下記参照)
【0120】
図14は、
図13と比較し、さらに改良されたものを示す。つまり、各判断ステップにおいて行われる判断を鑑みて割り当てられるBS値が、1だけ小さくなる。具体的には、ステップS810における判断がYESの場合、ステップS1115は、BS=2を設定するステップS1415に置き換えられる。ステップS820における判断がYESの場合、ステップS822は、BS=1を設定するステップS1422に置き換えられる。ステップS830における判断がYESの場合、ステップS832は、BS=0を設定するステップS1432に置き換えられる。同様に、ステップS840における判断がYESの場合、ステップS842は、BS=0を設定するステップS1442に置き換えられる。
【0121】
その結果、パラメータt
cの算出は、以下のさらに簡易化された式により行うことができる。
【0123】
これによると、BSとQPの和が、ルックアップテーブル関数Tctableのルックアップパラメータとしてそのまま用いられる。
【0124】
ステップS840における判断がNOの場合は、特殊な状況を考える必要がある。
図13(および、それまでの各図)では、ステップS844においてBS=0の値が設定されている場合に1だけさらに小さくすることはできないので(なぜなら、境界強度は負の値をとることができない)、この特殊な場合には処理をわずかに変更する。つまり、
図14では、ステップS844を、特定のBS値を設定することなくデブロッキングを行わないと決定するステップS1444に置き換える。言い換えれば、境界強度値を全く参照することなく「デブロッキングしない」判定が行われる。デブロッキングを行わない場合は、パラメータt
Cに関連するこれ以降の判定が必要ないため、境界強度値を割り当てる中間ステップも必要ない。
【0125】
まとめると、
図13および
図14の改良算出方式により、以下の利点が実現された。
【0126】
a)中間パラメータtc_offsetを用いる必要をなくすため、フィルタの強度を決定する値t
cの導出が簡素化された。
【0127】
b)BS=2のブロックノイズがより多いエッジ(
図14の場合はBS=1)とBS=1のブロックノイズがより少ないエッジ(
図14ではBS=0)との区別がさらに導入された。その結果、符号化効率と主観画質とが向上された。
【0128】
c)処理対象の境界が符号化単位のエッジかどうかを確認するステップがさらに省略されるため、境界強度の導出が簡易化される。この結果、複雑度は減り、BS導出における命令数(CPUサイクル)が少なくなる。
【0129】
図15は、
図14の方式をさらに改良したものを示す。
図15では、ステップS820における判定がNOの場合だけでなくYESの場合にも参照インデックスと動きベクトル差分とに関する追加判断を行うことにより、決定木をさらに改善したものを示す。具体的には、
図14において、ステップS820の判断がYESの場合は、S1422でBS=1が自動的に割り当てられるが、
図15の方式によると、処理はさらにステップS1530へ進む。ステップS1530では、ブロックPの参照インデックスとブロックQの参照インデックスとが異なるか否かについて判断が行われる。判断がNOであれば、ステップS1532においてBS=1が設定される。判断がYESであれば、ステップS1540において、ブロックPとブロックQとの例えば垂直動きベクトル成分の差分絶対値が所定値(好ましくは3)を超えているかどうかについて判断がさらに行われる。ステップS1540における判断がNOであれば、ステップS1542において、もう一度BS=1が設定される。逆に、ステップS1540における判断がYESであれば、ステップS1544においてBS=2が設定される。つまり、
図15で追加された判断ステップは、ゼロでない変換係数レベルが少なくとも1つあり、ブロックPとブロックQとが異なるピクチャによって参照されており、かつ、動きベクトル成分において差分絶対値が存在する場合(つまり、S820、S1530、および、S1540の3ステップ全てにおける判断がYESの場合)に、ブロックノイズがかなり多い事例が起こることを強調するためのものである。この事例では、
図14の状況と比較し、異なる境界強度(好ましくは、より大きな境界強度)が割り当てられる。具体的には、前記3つのステップにおいてYESと判断されれば、今回の例では、イントラ符号化ブロックの場合と同じBS=2の値が割り当てられる。ただし、本発明はこの値に限定されるものではなく、特定のブロックノイズ発生事例を強調するほかの値でも同様に可能である。
【0130】
さらに、
図7の判定方式全体における簡素化について
図16に示す。
図16の左側の方式は、
図7の従来方式に対応する。さらなる簡易化により、計算をさらに簡易化することができる。全体的な方式は、
図16の右側下に示される。第1ステップのS1600では、さらに簡易化された方式に従って境界強度を算出する。さらに簡易化されたこの方式は、
図16の右側上に示される。つまり、
図16のさらに簡易化されたBS算出方式では、判断が1回だけ行われる。ステップS810における判断がYESであれば(少なくとも1つのイントラ符号化ブロック)、ステップS1450においてBS=2が設定される。今までの方式とは違って、ステップS810における判断がNOである場合でも、これ以上の判断は行われない。逆に、処理は、BSが固定値BS=0に設定されるステップS1620へ進む。ステップS1600における改良計算(図の右上に詳述されている)に基づき、処理は、パラメータt
cおよびbを算出するステップS720へ直ちに進む。後続
のステップS1630では、t
cおよびbに基づき、強いフィルタリング処理(S732
)、弱いフィルタリング処理(S735)、および、フィルタリング処理しない(S738)のうちどれを行うかを判定する。なお、ステップS1415およびS1620においてパラメータBSに割り当てられる2および0の値は単なる例であり、本発明の範囲内であれば他の固定値でもよい。
【0131】
したがって、フィルタリング処理しないことは、ブロッキング判定の画素に基づいた段階でのみ判定される。t
cの算出は、2の値(または、他の固定値)をテーブル関数Tctableの引数に加えるか否かという点でさらに簡易化される。
【0132】
このように、ステップS810で行われる1回の判断のみの結果で境界強度BSに異なる固定値を割り当てるという点で計算はさらに簡易化される。
【0133】
本発明のさらなる利点は、境界強度BSの値を格納するのに必要なビット量を削減できることである。
図8を参照して上述したように、先行技術では、境界強度BSの値は[0,4]の範囲である。そのため、各エッジのBS値を表すには、最小3ビットが必要である。一方、本発明の方法では、[0,3]の範囲のBS値を用いるだけである。したがって、本発明では、前述の特殊な状況を考慮し、2ビットだけを用いてBS値を表すことが可能になる。つまり、符号化単位の境界とそれ以外の種類のブロック境界とを区別しない本発明では、0から3の境界強度値のみを有することになる。さらに、実施の形態(
図14およびそれ以降の図を参照)では、[0,2]間隔のBS範囲を生成する。
【0134】
このように、本発明では、さらに、必要メモリを削減しつつ現在のHM−4.0と同じデブロッキング結果を実現できる。
【0135】
以下に、本発明の実施の形態におけるさらなる特定の態様および特徴を簡単に説明する。
【0136】
1実施形態によると、第1判断がNOであれば、第1パラメータは、第1固定値とは異なる第2固定値に設定される。
【0137】
さらに、1実施形態によると、本発明に係る方法は、第1および第2デブロッキングフィルタのうちより小さな強度を有するフィルタを選択ステップにおいて選択した場合、第2パラメータを用いて定義された別の閾値に基づいて、デブロッキングを境界に全く適用しないと判定するステップを含む。本実施の形態に係る装置は、この判定ステップを行う判定部を備える。
【0138】
また、1実施形態によると、第1判断がNOの場合、決定ステップは、さらに、隣接画素ブロックのうち少なくとも一方がゼロ以外の変換係数レベルを少なくとも1つ含むかどうか判断する第2判断ステップと、画像ブロックを参照するピクチャを示す参照インデックスが隣接画像ブロックの双方において異なるかどうか判断する第3判断ステップと、2つの隣接画像ブロック間の水平動きベクトル成分と垂直動きベクトル成分の少なくとも一方が所定の閾値を超えているかどうか判断する第4判断ステップとを含む。第2判断、第3判断、および、第4判断ステップが全てYESと判断されれば、第1パラメータの値が第1固定値になるよう決定する。そうでなければ、第1パラメータが異なる値になるよう決定する。本実施の形態に係る装置は、さらに、第2判断部と、第3判断部と、第4判断部とを備え、前記判断部はそれぞれ、第1判断部による判断がNOであった場合に、第2判断ステップ、第3判断ステップ、および、第4判断ステップを実行するよう動作する。
【0139】
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
【0140】
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【0141】
(実施の形態A)
図17は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
【0142】
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
【0143】
しかし、コンテンツ供給システムex100は
図17のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【0144】
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、若しくはLTE(Long
Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
【0145】
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0146】
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
【0147】
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
【0148】
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【0149】
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【0150】
なお、コンテンツ供給システムex100の例に限らず、
図18に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0151】
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【0152】
図19は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
【0153】
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
【0154】
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【0155】
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【0156】
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
【0157】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を
図20に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【0158】
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【0159】
図21に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【0160】
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
【0161】
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば
図19に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
【0162】
図22Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
【0163】
さらに、携帯電話ex114の構成例について、
図22Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
【0164】
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
【0165】
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
【0166】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
【0167】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
【0168】
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
【0169】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
【0170】
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【0171】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【0172】
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【0173】
(実施の形態B)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【0174】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【0175】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
【0176】
図23は、多重化データの構成を示す図である。
図23に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
【0177】
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【0178】
図24は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
【0179】
図25は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。
図25における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。
図25の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
【0180】
図26は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには
図26下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
【0181】
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
【0182】
図27はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【0183】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【0184】
多重化データ情報ファイルは、
図28に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【0185】
多重化データ情報は
図28に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
【0186】
ストリーム属性情報は
図29に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【0187】
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【0188】
また、本実施の形態における動画像復号化方法のステップを
図30に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
【0189】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【0190】
(実施の形態C)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、
図31に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【0191】
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
【0192】
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
【0193】
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
【0194】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0195】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field
Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0196】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0197】
(実施の形態D)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【0198】
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。
図32は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
【0199】
より具体的には、駆動周波数切替え部ex803は、
図31のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、
図31の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態Bで記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態Bで記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、
図34のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【0200】
図33は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【0201】
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
【0202】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【0203】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【0204】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【0205】
(実施の形態E)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【0206】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を
図35Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、逆量子化に特徴を有していることから、例えば、逆量子化については専用の復号処理部ex901を用い、それ以外のエントロピー復号、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【0207】
また、処理を一部共有化する他の例を
図35Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
【0208】
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
【0209】
まとめると、本発明は、境界強度の導出とデブロッキングフィルタリング処理に関する判定処理とについて有利な方式に関する。特に、本発明では、デブロッキングを判定してから当該技術分野において周知のデブロッキングフィルタのうち適切なものを選択する方式を改良して、計算サイクル数と必要なメモリ空間とを削減する。