IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サン パテント トラストの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-05
(45)【発行日】2023-10-16
(54)【発明の名称】符号化方法および符号化装置
(51)【国際特許分類】
   H04N 19/117 20140101AFI20231006BHJP
   H04N 19/176 20140101ALI20231006BHJP
   H04N 19/86 20140101ALI20231006BHJP
【FI】
H04N19/117
H04N19/176
H04N19/86
【請求項の数】 2
(21)【出願番号】P 2021111342
(22)【出願日】2021-07-05
(62)【分割の表示】P 2019202768の分割
【原出願日】2012-09-06
(65)【公開番号】P2021177640
(43)【公開日】2021-11-11
【審査請求日】2021-07-05
(31)【優先権主張番号】61/532,793
(32)【優先日】2011-09-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】316002062
【氏名又は名称】サン パテント トラスト
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】マティアス ナロスキ
(72)【発明者】
【氏名】セミ エセンリキ
(72)【発明者】
【氏名】トーマス ウェディ
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】米国特許出願公開第2005/0013494(US,A1)
【文献】国際公開第2009/123033(WO,A1)
【文献】特許第6620995(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
複数の画素からなる画像の対象ブロックを符号化する符号化方法であって、
前記対象ブロックを再構成するステップと、
再構成されたブロックをデブロッキングするフィルタリングステップとを含み、
前記フィルタリングステップでは、
第1境界で区別される第1ブロックと第2ブロックとにおいて、前記第1ブロックは当該第1境界に垂直なラインに沿って少なくとも第1セグメント、第2セグメントとを含む複数のセグメントに分割され、前記第2ブロックは当該第1境界に垂直なラインに沿って少なくとも第1セグメント、第2セグメントとを含む複数のセグメントに分割され、
隣接する前記第1ブロックの第1セグメント及び前記第2ブロックの第1セグメントのそれぞれに含まれる前記第1境界を挟んで隣接する隣接画素にデブロッキングフィルタを適用するか否かを判断し、
前記隣接画素が属するラインに適用する前記デブロッキングフィルタにより修正されるサンプル数を示すタイプを複数のタイプから選択し、
前記判断に用いられるサンプル画素は、前記第1ブロックの第1セグメントと前記第2ブロックの第1セグメント内それぞれに含まれるサンプル画素のみに含まれ、
前記選択では、前記第1ブロックの第1セグメント及び前記第2ブロックの第1セグメントのそれぞれに含まれる前記第1境界に垂直なサンプル画素のラインごとに対象ライン以外のラインのサンプル画素を使うことなく、前記デブロッキングフィルタにより修正されるサンプル数を示すタイプが選択される、
符号化方法。
【請求項2】
複数の画素からなる画像の対象ブロックを符号化する符号化装置であって、
前記対象ブロックを再構成する再構成部と、
再構成されたブロックをデブロッキングするフィルタリング部とを備え、
前記フィルタリング部は、
第1境界で区別される第1ブロックと第2ブロックとにおいて、前記第1ブロックを当該第1境界に垂直なラインに沿って少なくとも第1セグメント、第2セグメントとを含む
複数のセグメントに分割し、前記第2ブロックを当該第1境界に垂直なラインに沿って少なくとも第1セグメント、第2セグメントとを含む複数のセグメントに分割し、
隣接する前記第1ブロックの第1セグメント及び前記第2ブロックの第1セグメントのそれぞれに含まれる前記第1境界を挟んで隣接する隣接画素にデブロッキングフィルタを適用するか否かを判断し、
前記隣接画素が属するラインに適用する前記デブロッキングフィルタにより修正されるサンプル数を示すタイプを複数のタイプから選択し、
前記判断に用いられるサンプル画素は、前記第1ブロックの第1セグメントと前記第2ブロックの第1セグメント内それぞれに含まれるサンプル画素のみに含まれ、
前記選択では、前記第1ブロックの第1セグメント及び前記第2ブロックの第1セグメントのそれぞれに含まれる前記第1境界に垂直なサンプル画素のラインごとに対象ライン以外のラインのサンプル画素を使うことなく、前記デブロッキングフィルタにより修正されるサンプル数を示すタイプが選択される、
符号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
[発明の属する技術分野]
本発明は画像のフィルタリングに関する。特に、本発明は、デブロッキングフィルタリングに関し、画像領域に対するデブロッキングフィルタリングを有効にするか無効にするかについての決定に関する。
【背景技術】
【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/854204A号にも記載されている。フィルタリングする全ての画素に対し同じ基準で決定がなされ、ブロック全体に対して選択が行われる。HEVCでは同様のメカニズムを採用しているが、第2の微分も用いる。
【0020】
これらの手法によると、実際のデブロッキングにおいて、デブロッキングするかどうかの決定は、デブロッキングする可能性のあるブロックのエッジ全てに対して行われる。さらに、デブロッキングが有効であれば、個々のラインごとに、適用するフィルタの種類について決定がなされる。これらの決定は、デブロッキングされていない画素サンプルに基づいて行われる。したがって、垂直エッジの水平フィルタリングと水平エッジの垂直フィルタリングの両方に対してデブロッキングフィルタを実際に適用する前に、両デブロッキング方向に対する決定を行わなければならない。その結果、適用する第1デブロッキングフィルタ(例えば、水平フィルタリング)の遅延となる。その上、フィルタON/フィルタOFFの決定結果を格納する必要がある。あるいは、第2方向(例えば、垂直方向)のデブロッキングに対して行われる決定を遅延させるために、追加のラインメモリが必要になるかもしれない。ラインメモリはかなり高価なため、この手法ではコストが増大してしまう。
【発明の概要】
【0021】
従来技術にはこれらの課題があることを考慮すると、メモリ使用効率を向上させた効率的なデブロッキングフィルタリング手法を提供することが有利である。
【0022】
本発明の具体的な手法では、2ブロック間の境界に対してデブロッキングフィルタを適用するかそれともスキップするかの決定は、ブロック全体に対してではなく、ブロック境界に垂直なラインに沿って各ブロックを少なくとも2つのセグメントに分割することにより行われる。何らかの方法で格納されている画素全てを含むようにセグメントは設定される。なぜなら、デブロッキングフィルタリングを適用するかそれともスキップするかの決定、および/または、各セグメントに隣接する、垂直方向の別のブロック境界に適するフィルタの選択にこれらの画素が必要となるからである。
【0023】
本発明の一態様によれば、画素からなる画像ブロックをデブロッキングフィルタリングする方法を提供する。当該方法は、第1境界で区別される第1ブロックと第2ブロックとをそれぞれ、当該第1境界に垂直なラインに沿って少なくとも2つのセグメントに分割する分割ステップと、前記第1ブロックと前記第2ブロックとの前記第1境界に隣接する画素にデブロッキングフィルタを適用するか否かを判断する判断ステップとを含む。前記判断ステップは、前記第1境界の両側における隣接セグメントの組に対し、他のセグメントに属する画素は当該判断で用いないように、前記隣接セグメントの組のサンプル画素を用いて個別に行われる。前記分割ステップは、ブロックのセグメントが、デブロッキングフィルタを適用するか否かの判断、および/または、前記第1境界に垂直な、当該ブロックと第3ブロックとの間の第2境界に隣接する画素をデブロッキングする前記デブロッキングフィルタの選択に必要な当該ブロックの画素全てを含むように行われる。
【0024】
本発明の別の一態様によれば、画素からなる画像ブロックをデブロッキングフィルタリングする装置を提供する。当該装置は、第1境界で区別される第1ブロックと第2ブロッ
クとをそれぞれ、当該第1境界に垂直なラインに沿って少なくとも2つのセグメントに分割する分割部を備える。当該装置は、さらに、前記第1ブロックと前記第2ブロックとの前記第1境界に隣接する画素にデブロッキングフィルタを適用するか否かを判断する判断部を備える。前記判断部は、前記第1境界の両側における隣接セグメントの組に対し、他のセグメントに属する画素は当該判断で用いないように、前記隣接セグメントの組のサンプル画素を用いて個別に判断を行う。前記分割部は、ブロックのセグメントが、デブロッキングフィルタを適用するか否かの判断、および/または、前記第1境界に垂直な、当該ブロックと第3ブロックとの間の第2境界に隣接する画素をデブロッキングする前記デブロッキングフィルタの選択に必要な当該ブロックの画素全てを含むように分割を行う。
【図面の簡単な説明】
【0025】
付属図面は本発明のいくつかの実施の形態を説明する明細書に組み込まれ、かつ当該明細書の一部をなす。当該図面は実施の形態の説明と共に、本発明の原理を説明するものである。当該図面の目的は、本発明がどのようになされ、用いられるかを示す好適かつ代替可能な例を例示することだけであり、本発明を例示および説明された実施の形態のみに限定するものとして解釈されるべきではない。本発明のさらなる特徴および効果は、付属図面が示すような、下記のような本発明の様々な実施形態の詳細な説明から明らかになる。当該図面において、同じ参照符号は同じ要素を示す。
図1図1は、ビデオエンコーダの一例を示すブロック図である。
図2図2は、ビデオデコーダの一例を示すブロック図である。
図3図3は、ビデオエンコーダの一例を示す別のブロック図である。
図4A図4Aは、水平デブロッキングフィルタの適用を示す概略図である。
図4B図4Bは、垂直デブロッキングフィルタの適用を示す概略図である。
図5図5は、デブロッキングフィルタリングを適用するか否かの決定、および、デブロッキングフィルタの選択を示す概略図である。
図6A図6Aは、強いフィルタで行われたデブロッキング演算を示す概略図である。
図6B図6Bは、弱いフィルタで行われたデブロッキング演算を示す概略図である。
図7図7は、8行/列のブロック例から続いて行われる一連のデブロッキング決定を示すフローチャートである。
図8図8は、図7のフローチャートにおける第1決定を行うために用いられる画素サンプルを示す概略図である。
図9図9は、図7のフローチャートにおける第2決定を行うために用いられる画素サンプルを示す概略図である。
図10図10は、垂直エッジを水平方向にフィルタリングする場合の、図7のフローチャートにおける第3の決定を行うために用いられる画素サンプルを示す概略図である。
図11図11は、垂直エッジを水平方向にデブロッキングフィルタリングするために用いられる画素サンプルを示す概略図である。
図12図12は、水平エッジを垂直方向にフィルタリングする場合の、図7のフローチャートにおける第3の決定を行うために用いられる画素サンプルを示す概略図である。
図13図13は、水平エッジを垂直方向にデブロッキングフィルタリングするために用いられる画素サンプルを示す概略図である。
図14図14は、垂直エッジの水平デブロッキングにより修正されるサンプルの説明図である。
図15図15は、垂直エッジの水平デブロッキングにより修正されるサンプルの説明図である。
図16図16は、水平または垂直デブロッキングにより修正されるサンプルの説明図である。
図17A図17Aは、水平方向および垂直方向のフィルタリングにおいて図7のフローチャートの第1決定と第2決定とを平行して行った場合に生じる課題と、本発明に係る当該課題の基本的な克服策を示す概略図である。
図17B図17Bは、水平方向および垂直方向のフィルタリングにおいて図7のフローチャートの第1決定と第2決定とを平行して行った場合に生じる課題と、本発明に係る当該課題の基本的な克服策を示す概略図である。
図17C図17Cは、水平方向および垂直方向のフィルタリングにおいて図7のフローチャートの第1決定と第2決定とを平行して行った場合に生じる課題と、本発明に係る当該課題の基本的な克服策を示す概略図である。
図17D図17Dは、水平方向および垂直方向のフィルタリングにおいて図7のフローチャートの第1決定と第2決定とを平行して行った場合に生じる課題と、本発明に係る当該課題の基本的な克服策を示す概略図である。
図18図18は、本発明に係るデブロッキングの依存関係が8×8サンプルに限定されることを示す図である。
図19A図19Aは、本発明の一実施形態に係る、デブロッキングフィルタを適用するか否かの決定の一例を示す概略図である。
図19B図19Bは、本発明の一実施形態に係る、デブロッキングフィルタを適用するか否かの決定の一例を示す概略図である。
図20A図20Aは、本発明の一実施形態に係る、適切なデブロッキングフィルタを選択する決定の一例を示す概略図である。
図20B図20Bは、本発明の一実施形態に係る、適切なデブロッキングフィルタを選択する決定の一例を示す概略図である。
図21A図21Aは、本発明の一実施形態に係る、適切なデブロッキングフィルタを選択する決定の別の一例を示す概略図である。
図21B図21Bは、本発明の一実施形態に係る、適切なデブロッキングフィルタを選択する決定の別の一例を示す概略図である。
図22A図22Aは、デブロッキングを適用するか否かの決定を行う際に生じるメモリアクセス問題を示す概略図である。
図22B図22Bは、デブロッキングを適用するか否かの決定を行う際に生じるメモリアクセス問題を示す概略図である。
図23A図23Aは、図22Aおよび図22Bで示したメモリアクセス問題の解決策を示す概略図である。
図23B図23Bは、図22Aおよび図22Bで示したメモリアクセス問題の解決策を示す概略図である。
図24図24は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。
図25図25は、デジタル放送用システムの全体構成図である。
図26図26は、テレビの構成例を示すブロック図である。
図27図27は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。
図28図28は、光ディスクである記録メディアの構造例を示す図である。
図29A図29Aは、携帯電話の一例を示す図である。
図29B図29Bは、携帯電話の構成例を示すブロック図である。
図30図30は、多重化データの構成を示す図である。
図31図31は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。
図32図32は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。
図33図33は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。
図34図34は、PMTのデータ構成を示す図である。
図35図35は、多重化データ情報の内部構成を示す図である。
図36図36は、ストリーム属性情報の内部構成を示す図である。
図37図37は、映像データを識別するステップを示す図である。
図38図38は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。
図39図39は、駆動周波数を切り替える構成を示す図である。
図40図40は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。
図41図41は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。
図42A図42Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。
図42B図42Bは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
【発明を実施するための形態】
【0026】
[発明の詳細な説明]
下記に詳述するように、従来の決定手法では、全ての決定を行い、かつ、実際のフィルタリング処理を所望の順序で行うために必要以上のメモリ容量が要求される。本発明の根本的な課題はこの点に基づいている。本発明によれば、メモリコストを削減するために、決定処理を行うためのブロック分割を行って必要なMICメモリ量を最小限にする。さらに、特定の態様によれば、全体の計算複雑度の低減にも対応する。
【0027】
図4は、図1図2、および、図3の説明でそれぞれ記載されたデブロッキングフィルタ(150、250、350a、および、350bなど)の適用例を示す。このようなデブロッキングフィルタは、サンプルごとにブロック境界でフィルタリングを行うか否かを決定してもよい。フィルタリングを行う場合は、ローパスフィルタを適用する。この決定の目的は、上記背景技術に記載したような、ブロック単位の処理に適用される量子化によりブロック境界において大きな信号変化が起こるサンプルにのみ、フィルタリングを行うことである。このフィルタリングにより、ブロック境界において平滑化された信号が得られる。平滑化信号は、ブロッキングアーチファクトよりも、見る人に与える不快感が少ない。符号化対象の原信号に属する、ブロック境界において大きな信号変化が起こるそれらのサンプルは、高周波およびそれによる視覚的鋭さを維持するために、フィルタリングされるべきではない。間違った決定がされた場合、画像は不必要に平滑化されるか、またはブロック境界が歪んだままになる。
【0028】
図4Aは、垂直境界に関する決定(水平デブロッキングフィルタでフィルタリングを行うか否か)を示し、図4Bは、水平境界に関する決定(垂直デブロッキングフィルタでフィルタリングを行うか否か)を示す。具体的には、図4Aは、復号対象ブロック340とその復号済み隣接ブロック310、320、および330を示す。ライン内の画素360に対して決定がなされる。同様に、図4Bは、同じ対象ブロック340を示し、列内の画素370に対して決定がなされる。
【0029】
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は、例えば以下の条件が満たされた場合に、デブロッキングフィルタによってフィルタリングされる。
【数1】
【数2】
および、
【数3】
ここで、通常、以下が成立する。
【数4】
【0030】
これらの条件は、p0とq0の差分がブロッキングアーチファクトに由来するものか否かを検出することを目的としている。これらは、ブロックA内、ブロックB内、および、ブロックAB間それぞれの第1の微分の評価に相当する。
【0031】
画素p1は、上記3つの条件に加えて以下の条件も満たした場合にフィルタリングされる。
【数5】
【0032】
画素q1は、上記の最初の3つの条件に加えて以下の条件も満たした場合にフィルタリングされる。
【数6】
【0033】
これらの条件はそれぞれ、第1ブロック内の第1の微分および第2ブロック内の第1の微分に相当する。上記の条件において、QPは、適用される量子化量を示す量子化パラメータを示す。βおよびαはスカラー定数である。特に、QPNEWは、以下のような、第1ブロックAおよび第2ブロックBそれぞれに適用される量子化パラメータQPおよびQPに基づき導出した量子化パラメータである。
【数7】
【0034】
ここで、「>>n」は右にnビット分シフトするという意味である(上記の式では1ビットである)。
【0035】
上記の条件は、ブロック内の第1の微分の評価に相当する。当該決定は、ブロック内の選択された1ラインまたは複数のラインに対してのみ行われてもよいが、画素のフィルタリングは全てのライン360に対して適宜行われる。HEVCに準拠した決定が行われるライン430の例420を図5に示す。ライン430に基づき、ブロック全体をフィルタ
リングするか否かの決定がなされる。
【0036】
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/から自由に入手可能である。
【0037】
これによると、HEVCでは、2本のライン430を用いて、デブロッキングフィルタリングを適用するか否か、また、どのように適用するのかを決定する。本明細書では、この決定ステップを第1決定ステップD1と呼ぶ。例420では、水平方向にブロッキングフィルタリングを行うため、3つ目のライン(インデックス2)および6つ目のライン(インデックス5)を評価するとしている。特に、各ブロック内の第2の微分を評価すると、以下のような測度dおよびdが得られる。
【数8】
【0038】
画素pはブロックAに属し、画素qはブロックBに属する。pまたはqの直後の数字は列インデックスを示し、その次の下付きの数字はブロック内の行番号を示す。以下の条件が満たされる場合、例420に示される8ライン全てに対するデブロッキングが可能となる。
【数9】
【0039】
上記の条件が満たされない場合、デブロッキングは全く適用されない。デブロッキングが可能な場合、本明細書では第2決定ステップD2と呼ぶ次の決定ステップにおいて、デブロッキングに用いられるフィルタが決定される。この決定は、ブロックAB間の第1の微分の評価に基づく。特に、ラインi(iは0~7の整数)ごとに、強いローパスフィルタと弱いローパスフィルタのどちらを適用するのか決定される。以下の条件が満たされる場合、強いフィルタが選択される。
【数10】
【数11】
【数12】
【0040】
HEVCモデルに従い、「強いフィルタ」は、サンプルp3、p2、p1、p0、q0、q1、q2、q3を用いて、サンプルp2、p1、p0、q0、q1、q2をフィルタリングする。一方、「弱いフィルタ」は、サンプルp2、p1、p0、q0、q1、q2を用いて、サンプルp1、p0、q0
、q1をフィルタリングする。上記の条件において、パラメータβおよびtは両方とも量子化パラメータQPの関数であり、画像のスライスなどに対して設定してもよい。通常、βおよびtの値は、ルックアップテーブルを用いてQPに基づき導出される。
【0041】
図6は、H264/MPEG-4 AVC規格に準拠した強いフィルタ演算および弱いフィルタ演算の例についてより詳細に説明したものである(HEVCソフトウェアモデルHM4.0で実装)。
【0042】
図6Aの左側の図は、強いフィルタで垂直エッジを水平方向にフィルタリングするのに用いられるサンプルを示している。図6Aの右側の図は、フィルタにより修正されたサンプルを示している。図から分かるように、この例では、参照符号610で示される、境界の両側で境界に最も隣接する4画素に対応するサンプルがフィルタリングに用いられる。これらのうち実際に修正されるものは、図6Aの左側の図において参照符号620で示される、両側で境界に最も近い3画素のみである。実際、以下の式に従って、フィルタリングを行う。
【数13】
【数14】
【0043】
関数Clip(x)を以下のように定義する。
【数15】
【0044】
ここで、max_allowed_valueはxがとり得る最大値である。kビットのサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=2-1になる。例えば、8ビットのサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=255になる。10ビットのサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=1023になる。
【0045】
上記の式から分かるように、フィルタリングは、ラインごとに(シングルラインインデックスi=0、1、2、3、4、5、6、または、7のみ)個別に行われ、フィルタにより画素を修正する式(フィルタ番号の後のダッシュ記号´で示される)ごとにそれぞれラインが用いられる。サンプルp3およびq3の場合、修正画素はそれぞれ算出されないが、p2’およびq2’の式から、p3およびq3が各計算式の右側の項に存
在することが分かる。
【0046】
図6Bから分かるように、両側で境界に最も近い3画素を用いて弱いフィルタによるフィルタリングを行う(左側の図におけるサンプル630)。これらのうち実際に修正されるものは、境界に最も近い2隣接画素のみである(図6Bの右側におけるサンプル640)。弱いフィルタリングの計算処理は、強いフィルタリングの場合の計算とかなり異なり、さらなる決定が行われる。まず、識別値Δが以下の式に従って算出される。決定はこの値に基づく。
【数16】
【0047】
次に、第3決定ステップD3において、全てにおいてフィルタリングを行うか否かを決定する。第3決定によれば、
【数17】
を満たす場合に、画素サンプル640にのみフィルタリングが適用される。
【0048】
条件を満たした場合、両側で境界に最も近い画素が以下の式に従ってフィルタリングされる。
【数18】
【数19】
この際、以下を用いる。
【数20】
【0049】
関数Clip(x)は上記の定義の通りである。関数Clip3(x)を以下のように定義する。
【数21】
【0050】
サンプルp0およびq0をフィルタリングした後、境界から次に最も近い画素サンプルp1およびq1もフィルタリングするか否かについて第4決定D4が行われる。第4決定D4は、境界の両側に対して別個に、つまり、図6BのブロックAに属する画素p1図6BのブロックBに属する画素q1とに対して行われる。
【0051】
画素p1の第4決定は、上記パラメータdに基づく。
【数22】
を満たす場合、
【数23】
に従ってフィルタリングが行われる。この際、以下を用いる。
【数24】
【数25】
を満たす場合、ブロックBの画素qに対する決定D4が行われる。
【数26】
に従ってフィルタリングが行われる。この際、以下を用いる。
【数27】
【0052】
前述において、パラメータtc2
【数28】
と定義される。
【0053】
なお、前述のフィルタリング手順は、垂直エッジの水平フィルタリングに対する例を用いて説明したが、水平方向を垂直方向に、行を列にそれぞれ置き換えることによって水平エッジの垂直フィルタリングにも同じように当てはめることができる。さらに、本明細書では慣例が適用され、「ライン」という用語は列または行を意味する。
【0054】
図7は、8×8ブロック、つまり、フィルタリング対象ラインを8つ含むブロックという具体例における、決定ステップD1、D2、D3、および、D4のシーケンスを示す全体フローチャートである。
【0055】
図7から分かるように、ステップS10において、8ライン全てに対する1回の決定で、デブロッキングフィルタリングを適用するか否かを決定する。デブロッキングを適用しないと決定がなされれば(フィルタOFF)、処理は終了する。デブロッキングを適用する場合(フィルタON)は、次のステップS20からS45jまでの各ステップに対して、フィルタリング処理を(添字j(j=1、2、~、8)で示される)ラインごとに個別に行う。簡単化のため、以降の説明では添字jはそれぞれ省略する。まず、ステップS20において、各ラインjごとに、強いフィルタを適用するのか弱いフィルタを適用するのかを決定する(決定D2)。強いフィルタを適用すると決定した場合は、次のステップS35において、図6Aを参照して上述したように強いフィルタを適用する。そうではなく、弱いフィルタを適用すると決定した場合は、処理はさらなる決定ステップS30に進む。このステップでは、それぞれのラインjごとに決定D3を行う。決定D3においてフィルタリングを適用しないと決定されれば、処理は終了する。そうでない場合は、ステップS38において、図6Bを参照して上述したように、境界に最も近い各ラインjの画素p0およびq0をフィルタリングする。続いて、ステップS40において、さらに、(境界に次に最も近い)p1とq1もフィルタリングするかどうかを決定する。フィルタリングしなければ、処理は終了する。フィルタリングする場合は、処理はステップS45に進
む。このステップでは、修正画素p1’およびq1’を算出する。ステップS30、S38、S40、および、S45の処理の詳細を、図6Bの例に基づき説明する。
【0056】
図8は、決定D1(つまり、2ブロック間の特定境界に対する全デブロッキングを適用するか否かの決定)を行うのに用いられる画素サンプルを例示している。図は、2行のブロックを示している。各行において、復号済みのブロック810と、復号対象のブロック820と、次に復号されるブロック830とが記載されている。決定D1は、デブロッキングされていない画像ブロックに対して行われるため、記載されているサンプルは図3の信号S’に対応する。
【0057】
上述したように、フィルタリング対象エッジに垂直なフィルタリング方向において3つ目のラインと6つ目のライン(インデックス2およびインデックス5)が決定D1に用いられる。具体的には、サンプル860aは、復号対象ブロック820と当該復号対象ブロック820の垂直上側のブロックとの境界をフィルタリングするかどうかを決定する決定D1を行うのに用いられる2列から構成される。サンプル860bは、復号対象ブロック820と次に復号されるブロック830との垂直エッジを水平方向にフィルタリングするか否かの決定D1を行うのに用いられる2行を示している。同様に、サンプル860cは、復号済みのブロック810と復号対象ブロック820との境界に対する決定D1を行うのに用いられる2行を示している。上記説明のように、サンプルラインごとに決定を行うには、境界の両側において境界から数えて3画素が必要である。
【0058】
図9は、決定D2を行うのに用いられる、デブロッキングされていない信号S’のサンプル画素全てについて概略を示している。これらの決定はラインごとに行われるため、決定がなされる各境界に垂直な全ラインの画素は、図9に示されたサンプル960に含まれる。上記説明のように、決定D2では、評価対象の両側において境界に最も隣接する4画素が必要である。サンプル960は、決定D1を行うのに用いられるサンプルを示している図8と同じ境界に対して、決定D2を行うのに用いられるサンプルを示している。
【0059】
図10は、垂直エッジ、つまり、復号対象ブロック820と復号済みブロック810との境界および復号対象ブロック820と次に復号するブロック830との境界の水平フィルタリングに対する決定D3を行うのに用いられるサンプル1060を示している。上記説明のように、当該決定はラインごとに個別に行われるが、両側において境界からの2画素のみが当該決定に用いられる。
【0060】
図11は、垂直エッジの水平デブロッキングフィルタリングを行うのに用いられるサンプル1160を示している。これから分かるように、図10とは異なり、境界の両側において4画素の「深さ」がフィルタリングに必要である。
【0061】
図12は、水平境界の垂直フィルタリングに対する決定D3を行うのに用いられるサンプル1260を示している。当該決定は垂直エッジの水平デブロッキングを行った後にのみ行われるべきものであり、これらのサンプルは、図3の水平デブロッキング済み信号S’’から選択される。図12のブロックと前述の図に示されたブロックとの違いを視覚化するため、各ブロックの参照符号にアポストロフィを付けた。したがって、図12における、復号済みブロック、復号対象ブロック、および、次に復号されるブロックは、それぞれ、810’、820’、および、830’と表される。
【0062】
図13は、水平エッジの垂直デブロッキングフィルタリングを実際に行うのに用いられるサンプル1360を示している。図11図10と異なるのと同様に、図13図12と異なる。具体的には、ブロック境界から数えて4画素が、境界の両側においてサンプルとなる。
【0063】
次の図、図14から図16は、修正される可能性がある画素サンプルを示している(決定およびフィルタリングに用いられる画素サンプルとは異なる)。前述の例と同じく、8×8サンプルのブロック(つまり、8行8列、すなわち、各方向に8ライン)を示している。ただし、このブロックサイズは単なる一例である。
【0064】
具体的には、図14は、垂直エッジの水平デブロッキングにより修正される可能性があるサンプルの説明図である。ブロックのデブロッキング対象境界に平行な8ラインの画素のうち(図では「8サンプル」と表す)、境界の両側における最大3ラインが修正対象となる。結果として、境界に近い連続した6サンプルが修正対象となる。図14では、これらのサンプルは網掛けで示される。したがって、8×8ブロック全体において、修正対象ブロック内の2サンプルは各ブロックにおいてそのまま変化しない。
【0065】
図15は、垂直エッジの水平デブロッキングにより修正されるサンプルの説明図である。図15は、基本的に図14に対応するが、網掛け部分が90°回転している。
【0066】
図16は、水平または垂直デブロッキングにより修正されるサンプルの全体説明図である。図16は、図14図15を重ね合わせたものに対応する。
【0067】
上記説明に基づき、本発明の根本的な課題を図17Aおよび図17Bに基づく例示によりここで詳細に説明する。本課題の全体的な解決策は図17Cにおいて説明する。
【0068】
なお、下記の詳細な説明において、ブロックサイズ、格納されるライン数、および、決定を行うのに用いられるライン数は単なる一例として示される。本発明は8×8ブロックに限定されるものではなく、サンプルピクチャ数も下記に示すものに限定されない。請求の範囲で定義するような本発明の範囲内であれば、他のブロックサイズ、異なる格納サンプル数、および、異なる選択サンプル数も可能である。また、本発明は、本明細書に記載され、かつ、図3に示されたように、水平デブロッキングを先に行う例に限定されない。垂直デブロッキングを行ってから水平デブロッキングを行うといった逆の場合にも本発明を同様に適用することができる。
【0069】
図17Aは基本的に図9に対応している。また、参照符号1770は、復号対象ブロック820と復号対象ブロック820の上側のブロックとの垂直境界の決定D2(強いフィルタか弱いフィルタか)を行うために必要な4ラインのサンプルを示している。
【0070】
上述したように、決定D1および決定D2は、デブロッキングされていないサンプルに対して行うべきである。したがって、これらの決定は、図3のデブロッキングされていない信号S’が利用可能なうちに、つまり、フィルタ350aにおける水平エッジの垂直フィルタリングが実際に開始されるまでに行わなければならない。言い換えれば、フィルタリング(具体的には、図3のフローチャートに従って最初に行われる垂直エッジの水平フィルタリング)を決定D1および決定D2により遅延させ、特に、水平エッジの垂直フィルタリングを遅延させる。その結果、図17Aの参照符号1770で示された4ラインのサンプル(つまり、各長さは、垂直フィルタリングに対する決定D2を行うのに必要なデブロッキングされていない信号のピクチャ幅に相当する)は、垂直境界で遅延水平フィルタリングを開始する時点で利用できる。
【0071】
ハードウェア実装は、次のように実現できる。デブロッキングされていないサンプルをラインメモリに格納し、その後、復号対象ブロックに対し、垂直エッジの水平フィルタリングおよび水平エッジの垂直フィルタリングに対する決定D1および決定D2を、格納したデブロッキングされていないサンプルを用いて行う。続いて、垂直エッジの遅延水平フ
ィルタリングを、格納された4ラインを含む領域に対して行う。
【0072】
しかしながら、このような遅延水平フィルタリングの場合、すでに実行済みの対応ON/OFF決定D1の結果が必要になる。そのため、当該決定の結果を格納するか、または、再計算する必要がある。この結果が格納されていない場合、上述の従来方式に従った再計算において、格納済みのライン1770に属していないラインからのサンプル画素が必要になる。つまり、決定D1の決定結果を再計算するために、図17Bに示されたサンプル画素1760が必要になる(図5のサンプル430、つまり、(図5において添字がそれぞれ2および5の)3つ目と6つ目のラインの画素に対応する)。(図5において添字が5の)6つ目のラインは何らかの方法で格納されたラインに属しているが、(図5において添字が2の)3つ目のラインは格納されたラインに属していない。
【0073】
したがって、遅延水平フィルタリングに対するすでに実行済みの決定D1の決定結果を格納するか、または、追加ライン(図17Bにおけるライン1760の上側ライン)からの同じ画素データを追加的に格納するかしなければならない。しかしながら、ラインメモリはかなり高価なため、後者の選択肢ではコストが上昇する。
【0074】
さらに別の選択肢として、垂直フィルタリングの遅延を、追加のラインメモリを利用することによって回避することができる。つまり、ラインメモリが2つあれば、一方でデブロッキングされていない信号を保持し、もう一方で水平デブロッキングされた信号を維持することができるため、垂直フィルタリングに対する決定D1および決定D2を先送りにすることができる。しかしながら、ラインメモリはかなり高価なので、この選択肢もさらに不利である。
【0075】
したがって、上述した従来方式では、決定D1の決定結果か、格納済みのライン(ここでは、4ライン1770)に含まれない追加ラインかを遅延フィルタ演算のために格納しなければならないという課題がある。
【0076】
本発明は、上記格納課題により生じた従来手法の欠点を克服することを目的とする。
【0077】
本発明によれば、各ブロック(本例では、8ライン(行/列)のブロック)を少なくとも2つのセグメントに分割する。垂直エッジの水平フィルタリングに対する決定全て(D1:ON/OFF、D2:強い/弱い)を、(水平エッジの垂直フィルタリングに対する各決定を行うために必要な)格納されたライン1770のみに基づき、かつ、他のラインから独立して行うことができるように分割を行う。これにより、決定バッファまたは追加のラインメモリが、垂直エッジの遅延水平フィルタリングにこれ以上必要なくなる。
【0078】
この考えは、図17Cに示されている。つまり、分割することによって、図17Cの破線囲み部分1760aに含まれるデブロッキングされていない信号S’のサンプルのみに基づいて決定を行うように、垂直エッジの遅延水平フィルタリングに対する決定D1を変更するものとする。容易に分かるように、これら全ての画素は格納されたライン1770に属している。
【0079】
具体的には、図17Dを参照しながら、独創的な解決策を説明する。つまり、水平フィルタリングに関係するブロック全てにわたって、水平分割ライン(つまり、デブロッキング対象境界に垂直なライン)に沿ってブロックを分けることにより分割が行われる。簡単化のため、図17Dでは、上段のブロックに対してのみ分割を示す。破線の分割ライン1700は、各ブロックを上下2つのセグメント(側)に分ける。また、一方のセグメント領域において垂直エッジの水平デブロッキングに対する決定D1を行う際にそれぞれもう一方の側からのサンプルを必要としないように、決定D1実行方式を変更する。
【0080】
言い換えれば、決定D1は、もはやブロック全体に対して行われるのではなく、セグメント(側)ごとに別々に行われる。第1側の決定を行う場合は、第1側からのサンプル(具体的には、符号1760で示されるサンプル)のみが用いられる。第2側のセグメント領域に対して決定を行う場合は、第2側のサンプル(具体的には、符号1760で示されるサンプル)のみが用いられる。
【0081】
逆もまた同様に、第1側に位置するサンプルは、第2側の垂直エッジ水平フィルタリングを行うのに必要な決定には用いられず、第2側のサンプルは、第1側の垂直エッジ水平フィルタリングを行うのに必要な決定には用いられない。
【0082】
その結果、格納されていないラインをいずれも参照せずに、格納されたライン1770に基づき、第2側に対する決定を行うことができる。このように、すでに決定された結果を高価なラインメモリに格納することも、追加ラインを高価なラインメモリに格納することも、どちらも必要ない。
【0083】
第1側に関しては、図17の他の行のブロックとその上側のブロック(図17には図示せず)との境界に対する垂直デブロッキング決定からそれぞれのラインがまだ格納されているときに分離決定は行うことができる。
【0084】
本発明に係る決定方式の重要な利点は、ブロックサイズの領域に対するデブロッキングの依存関係を限定することである。そのため、決定用のサンプル領域(ブロック)が適切に選択されれば、それらを並行してデブロッキングすることができる。なお、通常、決定用のサンプル領域(ブロック)は、デブロッキングが適用される境界のブロックとは異なる。
【0085】
この有利な技術的効果は、図18に示されている(8×8ブロックを例とする)。
【0086】
図18は、概して図17Dに基づいており、ブロック境界がデブロッキング対象である6つの8×8ブロックを示している。また、図18では、8×8領域1800が破線の正方形により強調されている。この領域1800内に、(例えば、小さな破線矩形で示した図17Dのサンプル1760と同様に)、垂直エッジ1810の水平デブロッキングに対する決定に必要なサンプルが示されている。また、領域1800内の水平エッジ1820の垂直デブロッキングフィルタリング用のサンプルがそれぞれ強調されている(垂直向きの小さな破線矩形)。
【0087】
図18から分かるように、この領域の外側のサンプルをいずれも参照する必要がなく、全ての決定を8×8ブロック1800に対して行うことができる。したがって、8×8領域(ブロック)1800(および、水平および/または垂直方向に8の倍数の画素分シフトした各ブロック)は、デブロッキングフィルタリングで並行して処理できる適切な決定ブロックである。
【0088】
このような利点は、従来の決定およびフィルタリング方式では達成できない。例えば図8から分かるように、今までの方式では、デブロッキングフィルタリング決定を領域内で独立して行うことができるような、デブロッキング決定用のサンプルが同じ領域に限定される8×8領域(ブロック)は存在しない。このように、従来の方式では、並行化が妨げられていた。
【0089】
2つの4ラインセグメントに分割された8ラインブロックから決定D1(デブロッキングフィルタON/OFF)を行う解決策の一例のさらに具体的な説明を、図19を参照し
ながら下記に記載する。図19Aは、第1側の4ラインセグメントに対するON/OFF決定を示している。図19Aから分かるように、(添字が0の)1つ目のラインと(添字が3の)4つ目のラインとだけに基づいて決定がなされる。具体的には、以下のパラメータを算出する。
【数29】
【数30】
【数31】
および
【数32】
【数33】
【数34】
【0090】
以下の条件を満たせば、フィルタが有効になる。
【数35】
【0091】
図19Bは、サンプル1760に基づき第2側に対してなされる決定を示している。各計算式は以下のとおりである。
【数36】
【数37】
【数38】
および
【数39】
【数40】
【数41】
【0092】
以下の条件を満たせば、フィルタが有効になる。
【数42】
【0093】
上記から分かるように、ブロック分割によって決定D1を変更したことにより、全体的な計算時間がわずかに増加する。つまり、8ラインのブロックに対して1回ON/OFF決定していた、20演算必要な従来の方式に代わり、4ラインに対するON/OFF決定を2倍、すなわち、40演算行わなければならない。したがって、決定D1だけに必要な演算数は2倍になる。
【0094】
したがって、本発明の範囲内で、決定D2、つまり、強いフィルタと弱いフィルタのどちらを適用するのが適切かの決定の実装もさらに変更して計算時間の増加を補うことが好ましい。
【0095】
図20は、本発明に係る分割に基づいた、改良型決定D2に対する第1具体策を示している。上述したように、従来例では、決定D2はラインごとに個別に行われる。一方、本発明によると、個別決定は、セグメントごとのサブセットのラインに対してのみ行われる。セグメントのサブセットに対する個別決定をもとに、セグメントのライン全てに対して、1つのフィルタ決定が行われる。
【0096】
具体的には、図20Aは、第1側に対する第1具体例に従った改良型決定D2を示している。この決定は、図20Aの符号1960で示された、(添字が0の)1つ目のラインと(添字が3の)4つ目のラインとに基づいている。添字が0と3の2ラインそれぞれに対し、強いフィルタか弱いフィルタかの決定が(好ましくは、上述した従来の方法で)行われる。両方のラインに対して強いフィルタが選択された場合は、4ライン(0、1、2、3)全てが強くフィルタリングされる。そうでなければ、弱いフィルタが選択される。
【0097】
第2側のそれぞれの演算方式は図20Bに示される。第2側に対する決定D2は、符号1960で示された、添字が4と7の2ラインに基づく。添字が4と7の2ラインそれぞれに対し、強いフィルタか弱いフィルタかの決定が行われる。両方のラインに対して強いフィルタが選択された場合は、4ライン(4、5、6、7)全てが強くフィルタリングされる。そうでなければ、弱いフィルタが選択される。
【0098】
本発明の実施形態に係る符号化効率が、上述した従来のHM4.0方式に対してわずかに増加することをシミュレーションにより明らかにする。
【0099】
図19および図20を参照して上述した本発明の実施形態の符号化効率を、ISOおよびITUの標準化活動においてよく用いられる符号化条件に基づき評価した。文献JCTVC-E700(http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2454)を参照のこと。本発明では、同じ平均2乗量子化誤差で、平均ビットレートが約0.15%削減している。
【0100】
さらに、決定D1と決定D2の両方の変更に基づき、全体的な計算時間の低減も実現できている。つまり、上述の従来方式によれば、以下の総演算数が必要となる。
・8ラインに対するON/OFF決定:20演算
・強/弱決定8回:96演算
・総計算量:116演算
本発明の実施形態によれば、総演算数は以下のとおりである。
・4ラインに対するON/OFF決定×2:40演算
・強/弱決定4回:48演算
・総計算量:96演算
【0101】
したがって、本発明により、総計算量を約20%低減することが可能である。
【0102】
改良型決定D2の第2例は、上述した第1例と類似している。第1例と同様、添字が0と3の2ラインそれぞれに対する第1側において、強いフィルタか弱いフィルタかの決定が行われる。両方のラインに対して弱いフィルタが選択された場合は、4ライン(0、1、2、3)全てが弱くフィルタリングされる。そうでなければ、強いフィルタが選択される。
【0103】
同様に、第2側において、添字が4と7の2ラインそれぞれに対し、強いフィルタか弱いフィルタかの決定が行われる。両方のラインに対して弱いフィルタが選択された場合は、4ライン(4、5、6、7)全てが弱くフィルタリングされる。そうでなければ、強いフィルタが選択される。
【0104】
したがって、次の点において第2例は第1例と異なる。選択された2ラインに対する個別決定が異なる場合に第2例では強いフィルタを選択するが、一方、第1例では異なる場合に必ず弱いフィルタを選択する。弱いフィルタの計算複雑度は、通常、強いフィルタよりも少ないため、第1例のほうがさらに計算時間を低減することが可能である。
【0105】
第3例によれば、改良型決定D2は、また、図20Aおよび図20Bに示した選択ラインに基づいて行われる。しかしながら、第3例では、決定D2が決定D3と組み合わせられる。つまり、選択ラインごとに、強いフィルタと、弱いフィルタと、フィルタなしとを組み合わせた決定が行われる。それぞれの決定は、ルックアップテーブルに基づいて行われる。
【0106】
具体的には、第1側において、添字が0と3の2ラインそれぞれに対し、強いフィルタか弱いフィルタかフィルタなしかの決定が行われる。2つの決定結果を用いて、以下のルックアップテーブルから、4ライン0、1、2、3全てに対して決定する。
【0107】
【表1】
【0108】
第2側において、添字が4と7の2ラインそれぞれに対し、強いフィルタか弱いフィル
タかフィルタなしかの決定が行われる。2つの決定結果を用いて、以下のルックアップテーブルから、4ライン4、5、6、7全てに対して決定する。
【0109】
【表2】
【0110】
上記テーブルから分かるように、2ラインに対する決定が異なる場合は、より低複雑度のものが必ず選択される。したがって、計算時間はさらに抑えられる。
【0111】
図21を参照して説明する第4例は、概して第3例と類似している。図21から分かるように、第1側(図21A)において、添字が1の2つ目のラインと添字が2の3つ目のラインとが個別決定用に選択される。第2側では、(添字が5と6の)6つ目のラインと7つ目のラインとが選択される。対応するルックアップテーブルを以下に示す。
【0112】
【表3】
および
【表4】
【0113】
当然のことながら、個別ライン単位ではなくセグメント単位で行われる改良型決定D2の具体策は、上記4例に限定されるものではない。付属の請求項により定義されるような本発明の範囲内であれば、これらの例の各要素の組み合わせおよび変形例も可能である。上記例において、決定D2は、2ラインのサンプルに基づいて行われた。しかしながら、本発明は、選択に用いられたこのライン数に限定されない。フィルタ選択は、デブロッキング対象セグメントの各組のライン総数より少ない数のラインまたは1つのラインのみに基づいてもよい。
【0114】
以下に、図22および図23を参照しながら、ON/OFF決定D1を行う際に生じる第1メモリアクセス問題について説明かつ対応する。図22は、垂直エッジの水平デブロッキングに対する決定D1を行う従来のHEVC手法の説明図である。
【0115】
図22Aの上側に示すように、第1ステップで、ライン2を読み込み、関連決定値dp2およびdq2を算出する。第2ステップで、ライン5を読み込み、関連決定値dp5およびdu5を算出する。
【0116】
第3ステップで、決定値d=dq2+dp2+dq5+dp5を算出し、ON/OFF決定D1を全8ラインに対して行う。そして、強い/弱いフィルタ決定をライン5に対して行い、デブロッキングおよびデブロッキング結果の書き込みをライン5に対して行う。
【0117】
続く第4ステップでは、残りのライン0、1、2、3、4、6、および、7ごとに、各ラインを読み込み、強い/弱いフィルタリングを決定し、デブロッキングを行ってその結果を書き込む。その結果、次の問題が生じる。8ラインのデブロッキングに対し、ライン2またはライン5を2回読み込む必要がある。1回目は決定D1のためで2回目はデブロッキングのためである。1ブロックにつき8ラインしか存在しないが、合わせて9回の読み込み動作を行う必要がある。
【0118】
この問題は、図23を参照して説明するように、改良型デブロッキング方式を用いて適宜解決することができる。第1ステップで、ライン2(2362)を読み込み、関連決定値db2およびdu2を算出する。改良型決定値d=2x(dd2’+dp2)を算出し、このラインに有効なON/OFF決定D1は基準d<βに基づく。続いて、強い/弱いフィルタ決定D2を行い、デブロッキングをしてその結果を書き込む。第2ステップ
では、ライン5(2365)を同様に読み込み、関連決定値db5およびdq5を算出する。改良型決定値d=2x(dq5+db5)を算出し、ON/OFF決定D1は、このラインに有効な基準d<βに基づく。そして、強い/弱いフィルタ決定D2を行い、デブロッキングおよびデブロッキング結果の書き込みをライン5(2365)に対して行う。
【0119】
続いて、決定値d=(d+d)/2を算出して、図23Bの参照符号2360で示すような残りのライン0、1、3、4、6、および、7に対し、有効/無効決定d<βを行う。続く第4ステップでは、残りのライン0、1、3、4、6、および、7に対し、画素サンプルを読み込み、強い/弱いフィルタ決定を行い、そして、デブロッキングを行ってその結果を書き込む。
【0120】
メモリアクセス問題を解決する改良型デブロッキングの変形例では、前述したようにステップ1、2、および、4を行う。残りのラインに対して共通決定値dを算出しないように、上記ステップ3を改良する。逆に、残りのライン0、1、3、4、6、7に対するステップ3のON/OFF決定は、決定
【数43】
に基づいて行う。
【0121】
概して、ブロック全体ではなく、決定基準の算出および適用に用いられる画素サンプルのライン(本例では、ライン2およびライン5)に対して別々に(個別に)決定D1を行うように、決定D1の改良型決定方式を実行する。その後、残りのラインに対して決定を行う。
【0122】
決定D1を個別に行う各ラインに対する決定方式は、さらに、使用画素サンプルを区別するように、つまり、特定ラインに対する個別決定D1は当該ラインからの画素サンプルにのみ基づいて行われるように変更する必要がある。ブロックの残りのラインに対する決定方式は、図4および図5で上述したような従来の方式でもよいし、同様に変更してもかまわない。残りのラインに対する決定は、個別決定が行われるライン全ての画素サンプルに基づくものでもよい。
【0123】
各ラインは1回だけ読み出される必要があるので、ライン読み出し動作は1ブロックのライン数(本例では8)に等しい回数だけ行われるという利点、および、個別に決定が行われるライン(本例ではライン2およびライン5)に対してより正確な決定がなされるという利点は、改良型決定D1の両バージョンによって実現される。
【0124】
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
【0125】
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【0126】
(実施の形態A)
図24は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
【0127】
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
【0128】
しかし、コンテンツ供給システムex100は図24のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【0129】
カメラ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)等であり、いずれでも構わない。
【0130】
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0131】
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
【0132】
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処
理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
【0133】
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【0134】
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【0135】
なお、コンテンツ供給システムex100の例に限らず、図25に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0136】
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【0137】
図26は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
【0138】
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex3
10、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
【0139】
まず、テレビ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の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【0140】
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【0141】
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
【0142】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図27に示す。情報再生/記録部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は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【0143】
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【0144】
図28に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【0145】
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
【0146】
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図26に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
【0147】
図29Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを
保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
【0148】
さらに、携帯電話ex114の構成例について、図29Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
【0149】
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
【0150】
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
【0151】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
【0152】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
【0153】
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
【0154】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビ
ットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
【0155】
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【0156】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【0157】
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【0158】
(実施の形態B)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【0159】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【0160】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
【0161】
図30は、多重化データの構成を示す図である。図30に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠した動画像符号化方法または装置によって符号化されて
いる。オーディオストリームは、ドルビーAC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、または、リニアPCMのなどの方式で符号化されている。
【0162】
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【0163】
図31は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
【0164】
図32は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図32における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図32の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
【0165】
図33は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図33下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
【0166】
また、多重化データに含まれる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時間の情報を持つ。
【0167】
図34はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【0168】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【0169】
多重化データ情報ファイルは、図35に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【0170】
多重化データ情報は図35に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
【0171】
ストリーム属性情報は図36に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【0172】
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別すること
が可能になる。
【0173】
また、本実施の形態における動画像復号化方法のステップを図37に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
【0174】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【0175】
(実施の形態C)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図38に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【0176】
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
【0177】
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
【0178】
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
【0179】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0180】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0181】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0182】
(実施の形態D)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【0183】
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図39は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
【0184】
より具体的には、駆動周波数切替え部ex803は、図38のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図38の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態Bで記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態Bで記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディ
スクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図41のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【0185】
図40は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【0186】
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
【0187】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4-AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【0188】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、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などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考え
られる。
【0189】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【0190】
(実施の形態E)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【0191】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図42Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、逆量子化に特徴を有していることから、例えば、逆量子化については専用の復号処理部ex901を用い、それ以外のエントロピー復号、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【0192】
また、処理を一部共有化する他の例を図42Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
【0193】
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
【0194】
まとめると、本発明は、デブロッキングフィルタリングに関し、画像信号または動画像信号のブロック単位の符号化および復号に適宜利用してもよい。特に、本発明は、ブロックのデブロッキングフィルタリングを適用するかスキップするかの自動決定における改良型メモリ管理、および、デブロッキングフィルタの選択に関する。この決定は、メモリ使用が最適化されるようにブロック分割に基づき行われる。好ましくは、適切なデブロッキングフィルタの選択が計算時間を削減するように改善される。
図1
図2
図3
図4A
図4B
図5
図6A
図6B
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17A
図17B
図17C
図17D
図18
図19A
図19B
図20A
図20B
図21A
図21B
図22A
図22B
図23A
図23B
図24
図25
図26
図27
図28
図29A
図29B
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42A
図42B