(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023065586
(43)【公開日】2023-05-12
(54)【発明の名称】復号方法および符号化方法
(51)【国際特許分類】
H04N 19/117 20140101AFI20230502BHJP
H04N 19/176 20140101ALI20230502BHJP
H04N 19/136 20140101ALI20230502BHJP
【FI】
H04N19/117
H04N19/176
H04N19/136
【審査請求】有
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2023031519
(22)【出願日】2023-03-02
(62)【分割の表示】P 2021097375の分割
【原出願日】2012-11-02
(31)【優先権主張番号】61/555,181
(32)【優先日】2011-11-03
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】316002062
【氏名又は名称】サン パテント トラスト
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】マティアス ナロスキ
(72)【発明者】
【氏名】アナン コトラ
(72)【発明者】
【氏名】セミ センリック
(72)【発明者】
【氏名】トーマス ウェディ
(57)【要約】
【課題】効率的な復号方法を提供する。
【解決手段】復号方法では、第1のフィルタを選択した場合のデブロッキングフィルタ処理では、第1の画素と第2の画素それぞれの画素変化量を、マイナスの第1クリッピング値以上、プラスの第1クリッピング値以下とするクリッピング処理を行い、第2のフィルタを選択した場合のデブロッキングフィルタ処理では、第1の画素と第2の画素それぞれの画素変化量を、マイナスの第2クリッピング値以上、プラスの第2クリッピング値以下とするクリッピング処理を行い、第1クリッピング値は、第2クリッピング値と異なる。
【選択図】
図10
【特許請求の範囲】
【請求項1】
第1ブロックと第2ブロックとの境界に対するフィルタを、複数の候補から選択し、
選択した前記フィルタを用いて、前記境界に垂直に交差する直線上に並んだ複数の画素の値を変更するデブロッキングフィルタ処理を行い、
前記複数の画素は、前記境界を挟んで隣接する第1の画素と第2の画素とを含み、
前記複数の候補は、第1の数の前記複数の画素の値を変更する第1のフィルタと、前記第1の数より大きい第2の数の前記複数の画素の値を変更する第2のフィルタとを含み、
前記第1のフィルタを選択した場合の前記デブロッキングフィルタ処理では、前記第1の画素と前記第2の画素それぞれの画素変化量を、マイナスの第1クリッピング値以上、プラスの前記第1クリッピング値以下とするクリッピング処理を行い、
前記第2のフィルタを選択した場合の前記デブロッキングフィルタ処理では、前記第1の画素と前記第2の画素それぞれの画素変化量を、マイナスの第2クリッピング値以上、プラスの前記第2クリッピング値以下とするクリッピング処理を行い、
前記第1クリッピング値は、前記第2クリッピング値と異なる、
復号方法。
【請求項2】
第1ブロックと第2ブロックとの境界に対するフィルタを、複数の候補から選択し、
選択した前記フィルタを用いて、前記境界に垂直に交差する直線上に並んだ複数の画素の値を変更するデブロッキングフィルタ処理を行い、
前記複数の画素は、前記境界を挟んで隣接する第1の画素と第2の画素とを含み、
前記複数の候補は、第1の数の前記複数の画素の値を変更する第1のフィルタと、前記第1の数より大きい第2の数の前記複数の画素の値を変更する第2のフィルタとを含み、
前記第1のフィルタを選択した場合の前記デブロッキングフィルタ処理では、前記第1
の画素と前記第2の画素それぞれの画素変化量を、マイナスの第1クリッピング値以上、プラスの前記第1クリッピング値以下とするクリッピング処理を行い、
前記第2のフィルタを選択した場合の前記デブロッキングフィルタ処理では、前記第1の画素と前記第2の画素それぞれの画素変化量を、マイナスの第2クリッピング値以上、プラスの前記第2クリッピング値以下とするクリッピング処理を行い、
前記第1クリッピング値は、前記第2クリッピング値と異なる、
符号化方法。
【発明の詳細な説明】
【技術分野】
【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)の符号化対象ブロックと、対応する予測ブロック
【数1】
との差分を求める。その差分は、符号化対象ブロックの予測に用いられる。当該予測信号は、時間的予測または空間的予測180によって得られる。予測のタイプは、フレームごとまたはブロックごとに異なる可能性がある。時間的予測を用いて予測されたブロックおよび/またはフレームは「インター」符号化されたと称され、空間的予測を用いて予測されたブロックおよび/またはフレームは、「イントラ」符号化されたと称される。時間的予測を用いる予測信号は、メモリに格納されている、符号化済みの画像から導出する。空間的予測を用いる予測信号は、既に符号化・復号済みの、メモリに格納された隣接ブロックの境界画素値から導出される。入力信号と予測信号との差eは、予測誤差または残差と呼ばれ、変換されて(110)係数となり、量子化される(120)。格納するデータ量をさらに削減し、かつ/または可逆的に送信するために、量子化係数にエントロピー符号化(190)を適用する。これは主に、可変長の符号語を有する符号を適用することによって達成される。この符号語の長さは、発生確率に基づいて選択される。
【0006】
復号(再構築)映像信号s’を得るため、映像エンコーダ100に復号部を組み入れる。上記符号化ステップに合わせて、復号ステップは、逆量子化および逆変換(130)を含む。そのようにして得た予測誤差信号e’は、量子化ノイズとも称される量子化誤差が原因で、元の予測誤差信号とは異なる。その後、復号予測誤差信号e’を予測信号
【数2】
に加える(140)ことで、再構築信号s’を得る。エンコーダ側とデコーダ側の互換性を保つため、エンコーダ側とデコーダ側の両方で得られる、符号化され続いて復号された映像信号に基づいて、予測信号
【数3】
を得る。
【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つの層を有する。ビデオ符号化層は、簡単に上述したように、符号化の機能性を提供する。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】
画像を圧縮および解凍する際、ブロッキングアーチファクトは通常、ユーザにとって最も不快なものである。再構築画像のブロック間のエッジを平滑化することで、デブロッキングフィルタリングは、ユーザの知覚体験を改善する。デブロッキングフィルタリングの難点の1つは、量子化器の適用が原因でブロッキングにより生じるエッジと、および、符号化信号の一部であるエッジとを正確に判別することである。圧縮アーチファクトが原因でブロック境界にエッジが生じる場合のみ、デブロッキングフィルタが適用されることが望ましい。他の場合、デブロッキングフィルタの適用により、再構築信号が歪む可能性がある。別の難点は、デブロッキングフィルタリング用に適切なフィルタを選択することである。通常、異なる周波数応答を有する複数のローパスフィルタにおいて決定がなされ、強いまたは弱いローパスフィルタリングが行われる。デブロッキングフィルタリングを適用するかどうかを決定するため、また、適切なフィルタを選択するために、2つのブロックの境界付近に存在する画像データが考慮される。
【0015】
例えば、H.264/MPEG-4AVCは、境界がデブロッキングされる2つの隣接ブロックそれぞれの第1の微分の絶対値を評価する。また、例えばH.264/MPEG-4AVC規格の第8.7.2.2項で示すように、2つのブロック間のエッジにおける第1の微分の絶対値を評価する。HEVCは同様のメカニズムを利用するが、第2の微分も用いる。
【0016】
デブロッキングフィルタは、ブロック境界における各サンプルに対して、フィルタリングを行うか否か、また、どのフィルタまたはフィルタの種類でフィルタングを行うのかについて決定してもよい。フィルタを適用することが決定されると、ローパスフィルタを適用してブロック境界を平滑化する。フィルタリングを行うか否かに関するこの決定の目的は、上記背景技術の項に記載の、ブロック単位の処理に適用される量子化の結果としてブロック境界において大きな信号変化が起こるサンプルにのみ、フィルタリングを行うことである。このデブロッキングフィルタリングの結果、ブロック境界の平滑化信号が得られる。平滑化信号は、ブロッキングアーチファクトよりも、見る人に与える不快感が少ない。符号化対象の原信号に属する、ブロック境界において大きな信号変化が起こるそれらのサンプルは、高周波およびそれによる視覚的鋭さを維持するために、フィルタリングされるべきではない。間違った決定がされた場合、画像は不必要に平滑化されるか、またはブロック境界が歪んだままになる。デブロッキングフィルタリングが、ブロックの垂直エッジ(水平フィルタリング)およびブロックの水平エッジ(垂直フィルタリング)に対して行われる。
【0017】
図4Aは、垂直境界に関する決定(水平デブロッキングフィルタでフィルタリングを行うか否か)を示し、
図4Bは、水平境界に関する決定(垂直デブロッキングフィルタでフィルタリングを行うか否か)を示す。具体的には、
図4Aは、復号対象ブロック440とその復号済み近隣ブロック410、420、および430を示す。ライン内の画素460に対して決定がなされる。同様に、
図4Bは、同じ対象ブロック440を示し、列内の画素470に対して決定がなされる。
【0018】
H.264/MPEG-4 AVCと同様に、デブロッキングフィルタを適用するか否かの判断は、以下のように実行されてもよい。
図4にも示されるように、6個の画素460のラインを例にとると、そのうち最初の3個の画素p2、p1、p0は左の近隣ブロックA430に属し、続く3個の画素q0、q1、q2は対象ブロックB440に属する。ライン510は、ブロックAおよびBの境界を示す。画素p0およびq0はそれぞれ、左の近隣ブロックAと対象ブロックBの画素であり、互いに隣接している。画素p0およびq0は、例えば以下の条件が満たされた場合に、デブロッキングフィルタによってフィルタリングされる。
【0019】
【0020】
ここで、通常、以下が成立する。
【0021】
【0022】
これらの条件は、p0とq0の差分がブロッキングアーチファクトに由来するものか否かを検出することを目的としている。これらは、ブロックA内、ブロックB内、および、ブロックAB間それぞれの第1の微分の評価に対応する。
【0023】
画素p1は、例えば上記3つの条件に加えて以下の条件も満たした場合にフィルタリングされる。
【0024】
【0025】
画素q1は、例えば上記の最初の3つの条件に加えて以下の条件も満たした場合にフィルタリングされる。
【0026】
【0027】
これらの条件はそれぞれ、第1ブロック内の第1の微分および第2ブロック内の第1の微分に対応する。上記の条件において、QPは、適用される量子化量を示す量子化パラメータを示す。βおよびαはスカラー定数である。特に、QPNEWは、以下のような、第1ブロックAおよび第2ブロックBそれぞれに適用される量子化パラメータQPAおよびQPBに基づき導出した量子化パラメータである。
【0028】
【0029】
ここで、「>>1」は右に1ビット分シフトするという意味である。
【0030】
当該決定は、ブロック内の選択された1ラインまたは複数のラインに対してのみなされてもよいが、画素のフィルタリングは全てのライン460に対して適宜行われる。
図5は、HEVCに準拠した決定が行われるライン530により一部が構成される例520を示す。ライン530に基づき、ブロック全体をフィルタリングするか否かの決定がなされる。
【0031】
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/2011_01_D_Daegu/から自由に入手可能である。
【0032】
2本のライン530は、デブロッキングフィルタリングを適用するか否か、また、どのように適用するのかについての決定に用いられる。例520では、水平にブロッキングフィルタリングを行うため、3つ目のライン(インデックス2)および6つ目のライン(インデックス5)を評価するとしている。特に、各ブロック内の第2の微分を評価すると、以下のような測定値d2およびd5が得られる。
【0033】
【0034】
画素pはブロックAに属し、画素qはブロックBに属する。pまたはqの直後の数字は列インデックスを示し、その次の下付きの数字はブロック内の行番号を示す。以下の条件が満たされる場合、例520に示される8ライン全てに対するデブロッキングが可能となる。
【0035】
【0036】
上記の条件が満たされない場合、デブロッキングは全く適用されない。デブロッキングが可能な場合、デブロッキングに用いられるフィルタが決定される。この決定は、ブロックAB間の第1の微分の評価に基づく。特に、各ラインi(iは0~7の整数)に対し、強いローパスフィルタと弱いローパスフィルタのどちらを適用するのか決定される。以下の条件が満たされる場合、強いフィルタが選択される。
【0037】
【0038】
HEVCモデルに従い、「強いフィルタ」は、サンプルp3i、p2i、p1i、p0i、q0i、q1i、q2i、q3iを用いて、サンプルp2i、p1i、p0i、q0i、q1i、q2iをフィルタリングする。一方、「弱いフィルタ」は、サンプルp2i、p1i、p0i、q0i、q1i、q2iを用いて、サンプルp1i、p0i、q0i、q1iをフィルタリングする。上記の条件において、パラメータβおよびtcは両方とも量子化パラメータQPFrameの関数であり、画像のスライスなどに対して設定してもよい。通常、βおよびtcの値は、ルックアップテーブルを用いてQPFrameに基づき導出される。
【0039】
なお、強いフィルタリングは、非常にフラットな信号に対してのみ効果がある。そうでない場合、弱いローパスフィルタリングの方がむしろ有利である。
【0040】
図6Aには、従来のハイブリッド符号化の強いローパスフィルタリングの対象となる画素が示される。特に、
図6Aには、フィルタリングに用いるサンプルが示される。これらのサンプルは、ブロックAB間の境界の左側および右側それぞれに属する4つの隣接画素に対応する。これらのサンプルはフィルタリングに用いられる。つまり、これらサンプルの値はフィルタリング処理に入力される。
図6Aではさらに、フィルタにより修正されるサンプルが示される。これらは、ブロックAB間の境界に最も近い、境界の左側および右側それぞれに属する3つの隣接画素の画素値のことである。これらの値はフィルタにより修正される。つまり、平滑化される。特に、インデックスiのラインにおける修正後のサンプルp0’
i、p1’
i、p2’
i、q0’
i、q1’
i、q2’
iの値を以下に示す。
【0041】
【0042】
関数Clip(x)を以下のように定義する。
【0043】
【0044】
ここで、max_allowed_valueはxがとり得る最大値である。kビットサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=2k-1になる。例えば、8ビットサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=255になる。10ビットサンプルを用いたPCM符号化の場合、最大値は、max_allowed_value=1023になる。
【0045】
このように、上記式は、適用される強いフィルタリングのプロセスを示す。上記式から分かるように、行iの画素p3iおよびq3iは、上記式つまりフィルタリングに用いられるが、修正されることはない、つまり、フィルタリングされない。
【0046】
図6Bには、弱いデブロッキングフィルタの適用が示される。特に、フィルタリングに用いられるサンプルは(図面の)左側に示され、フィルタリングにより修正されるサンプルは右側に示される。弱いフィルタによる処理では、ブロックAとブロックBの境界から近い3つの隣接画素を用いて、ブロックAおよびBそれぞれに属する境界から近い2つの隣接画素のみがフィルタリングされる。弱いフィルタリングを行うため、2つの決定がなされる。1つ目の決定は、弱いフィルタが全てのラインに対し適用されるのか、または、特定のラインに対して適用されないのかということに関する。この決定は、値Δに基づき、Δは以下のように算出される。
【0047】
【0048】
算出されたΔに基づき、
【数21】
の場合のみフィルタリングは適用される。それ以外の場合、ブロックAB間の境界にある2つの画素p0’
iおよびq0’
iに対して、フィルタリングは適用されない。
【0049】
フィルタリングが適用される場合、以下のように行われる。
【0050】
【0051】
関数Clip(x)は上記の定義の通りである。関数Clip3(x)を以下のように定義する。
【0052】
【0053】
フィルタリングの適用が決定され、画素p0’iおよびp0’iがフィルタリング済みであると判定された場合、p1’iおよびp1’iをフィルタリングするか否かについてさらに決定がなされる。
【0054】
dp<(β/6)の場合のみ、画素p1’iがフィルタリングされる。同様に、dq<(β/6)の場合のみ、画素q1’iがフィルタリングされる。これらの画素のフィルタリングは以下のように行われる。
【0055】
【0056】
この際、以下を用いる。
【0057】
【0058】
デブロッキングフィルタについての決定および選択に関する上記の記載は、通常、輝度サンプルに当てはまる。
【0059】
クロミナンスのデブロッキングフィルタリングには、以下の手法が用いられる。デルタ値は以下のように算出される。
【0060】
【0061】
値デルタ1は、デルタ値に基づき、以下のように算出されデブロッキングフィルタリングにそのまま用いられる。
【0062】
【0063】
弱いフィルタリング処理の上記の一連の工程から分かるように、値Δは、いくつかの決定およびフィルタリングステップを行うことで得られる値であってもよい。特に、Δの算出には以下を伴う。
・特定のラインに対し、弱いフィルタを適用するか否かの決定(輝度)
・p0’iおよびq0’iに対する(弱い)フィルタリング
・p1’iおよびq1’iのフィルタリングの際にも値Δ1を使用
【0064】
以上のように、Δの値をできる限り正確に算出することは有利である。
【発明の概要】
【0065】
従来技術のこれらの課題から、フィルタリング用のパラメータを別々に制御する、効率的なデブロッキングフィルタリングの手法を提供することは有利である。本発明特有の手法において、強いフィルタリングおよび弱いフィルタリングは別々に制御される。これは、独立クレームの特徴によって達成される。好適な実施形態は、従属クレームの主題である。
【図面の簡単な説明】
【0066】
付属図面は本発明のいくつかの実施の形態を説明する明細書に組み込まれ、かつ当該明細書の一部をなす。当該図面は実施の形態の説明と共に、本発明の原理を説明するものである。当該図面の目的は、本発明がどのようになされ、用いられるかを示す好適かつ代替可能な例を例示することだけであり、本発明を例示および説明された実施の形態のみに限定するものとして解釈されるべきではない。本発明のさらなる特徴および効果は、付属図面が示すような、下記のような本発明の様々な実施形態の詳細な説明から明らかになる。当該図面において、同じ参照符号は同じ要素を示す。当該図面において、
【
図1】
図1は、映像エンコーダの一例を示すブロック図である。
【
図2】
図2は、映像デコーダの一例を示すブロック図である。
【
図3】
図3は、垂直フィルタリングと水平フィルタリングを別々に行う映像エンコーダの一例を示すブロック図である。
【
図4A】
図4Aは、水平デブロッキングフィルタリングの適用を示す概略図である。
【
図4B】
図4Bは、垂直デブロッキングフィルタリングの適用を示す概略図である。
【
図5】
図5は、デブロッキングフィルタを適用するか否かの決定、および、デブロッキングフィルタの選択を示す概略図である。
【
図6A】
図6Aは、強いデブロッキングフィルタリングおよび弱いデブロッキングフィルタリングの対象となる2つのブロックの共通の境界付近の画素の例を示す概略図である。
【
図6B】
図6Bは、強いデブロッキングフィルタリングおよび弱いデブロッキングフィルタリングの対象となる2つのブロックの共通の境界付近の画素の例を示す概略図である。
【
図8】
図8は、非対称のデルタ量子化器を示す概略図である。
【
図9A】
図9Aは、本発明の一例に係るデルタの量子化を示す概略図である。
【
図9B】
図9Bは、本発明の一例に係るデルタの量子化を示す概略図である。
【
図10】
図10は、本発明の一実施形態に係る方法を示すフローチャートである。
【
図11】
図11は、本発明の一実施形態により実現される結果を示す図であり、従来技術と比較している。
【
図12】
図12は、コンテンツ配信サービスを実施するコンテンツ供給システムの全体構成図である。
【
図13】
図13は、デジタル放送用システムの全体構成図である。
【
図15】
図15は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。
【
図16】
図16は、光ディスクである記録メディアの構造例を示す図である。
【
図19】
図19は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。
【
図20】
図20は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。
【
図21】
図21は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。
【
図23】
図23は、多重化データ情報の内部構成を示す図である。
【
図24】
図24は、ストリーム属性情報の内部構成を示す図である。
【
図25】
図25は、映像データを識別するステップを示す図である。
【
図26】
図26は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示す図である。
【
図27】
図27は、駆動周波数を切り替える構成を示す図である。
【
図28】
図28は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。
【
図29】
図29は、映像データの規格と駆動周波数を対応付けたルックアップテーブルの一例を示す概略図である。
【
図30A】
図30Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。
【
図30B】
図30Bは、信号処理部のモジュールを共有化する構成の別の例を示す図である。
【発明を実施するための形態】
【0067】
上述したように、デルタ(Δ)値は、以下のようなシフト演算により算出される。
【0068】
【0069】
シフト演算は、(整数割り算を行うための)デルタ値の量子化として解釈することができ、以下の未量子化デルタ値に対応する。
【0070】
【0071】
したがって、右に4ビット分シフト(「>>」)すると、16で割ることになる。シフト演算により、量子化による誤差が生じるだけでなく、量子化後に得られるデルタ値にゼロ平均に対するオフセット値を持たせることになる。
【0072】
図7は、4ビット分のシフトを用いた丸め処理の部分結果を示す図である。
図7の表の第1列目は、-20から+20の範囲の変数iを例示する。第2列目は、オフセット値8の加算後の対応値iを示す。第3列目は、項(i+8)を16で割る整数割り算に対応する4ビット分のシフトを示す。表から分かるように、第3列目における得られた値の分布は非対称であり、たとえiがゼロ平均を有していたとしてもゼロ平均を有しない。
【0073】
結果的にこれは、
図8に示されるような非対称の量子化器の特徴となる。たとえ未量子化デルタ値が一般的な対称の確率分布を有していても、上述のような量子化が行われた後ではオフセット値が生じ、以下のような式が導かれる。
【0074】
【0075】
デルタ値は、デブロッキング・フィルタリング・プロセスを行うため算出される。定数オフセット値が加算される、2つの隣接ブロック間の境界におけるサンプル値の加重和として、デルタ値は生成される。本例において、定数は8である。次に、このように得られた結果を1ビット分以上右へシフトすることにより、その結果をクリッピングする。対称分布されたサンプル値の加重和の場合、得られたデルタ値はオフセット値を生じる。つまり、その期待値はゼロではない。
【0076】
この課題を克服するため、本発明では、サンプル値の加重和を右にシフトさせる前に、異なる定数を加算する。異なる定数は、デルタの期待値がゼロになるように選択される。特に、デルタ値の量子化は以下のように行われてもよい。
【0077】
【0078】
デルタ値のゼロ平均分布になるように、値aおよびbが選択される。
【0079】
例えば、第1の例によると、aは7(a=7)であり、bは8(b=8)である。
図9Aには、a=7およびb=8とした場合の、結果として得られる対称的な量子化器の特徴が示される。未量子化デルタ値の確率分布が対称である場合、量子化器は追加のオフセット値を生じない。
【0080】
【0081】
しかしながら、本発明は、パラメータaおよびbの特定の値に限定されることはない。量子化デルタ値の分布がゼロ平均になるように、定数aおよびbが任意に選択されてもよい。例えば、第2の例によると、定数aは6であり(a=6)、定数bは9である(b=9)。
図9Bに、対応する量子化器が示される。
図9Bの量子化器の不感帯幅は、
図9Aの量子化器の不感帯幅よりも広い。このように、パラメータaおよびbを選択することにより、量子化器の不感帯を制御してもよい。
図9Aの例と同様に、量子化デルタ値の平均値は、量子化前のデルタ値の平均値に対し、オフセットを有しない。
【0082】
通常輝度サンプルに適用される、4ビット分のシフト(「>>4」)を用いる場合、a=6およびb=9、または、a=7およびb=8を選択することは、効果的である。一方で、3ビット分(「>>3」)のシフトを適用する場合、a=2およびb=5の値が有利である。右への3ビット分のシフトは通常、クロミナンスサンプルをデブロッキングする際に行われる。1ビット分シフトする(「>>1」)場合、a=0およびb=1の値が有利に適用されるかもしれない。
【0083】
上記式から分かるように、デルタ値の対称量子化では、デルタ値を適宜量子化するため、追加の「if」演算が必要である。つまり、ゼロより小さいまたは大きい、Δk間で識別されることになる。これにより、算出による負荷が増大する可能性がある。上記のようなデルタ値の対称量子化を効率的に実行するため、この量子化を、後続のクリッピング処理と組み合わせてもよい。以下では、デルタ値の算出、および、その後続処理である、算出済みデルタ値と閾値tcとの比較を行うための擬似コードを例示する。
【0084】
delta1 = (9*(q0-p0) -3*(q1-p1)+8)>>4
if (delta1>tc)
{
delta1=tc;
}
else if (delta1<-tc)
{
delta1=-tc;
}
【0085】
この処理では、非ゼロ値との2つの比較が行われる。コードの各実行において、2つの比較が行われる。あるいは、以下の擬似コードが同じ機能を果たしてもよい。
【0086】
delta1 = (9*(q0-p0) -3*(q1-p1)+8)>>4
if (delta1>0)
{
if (delta1>tc)
{
delta1=tc;
}
}
else
{
if (delta1<-tc)
{
delta1=-tc;
}
}
【0087】
この場合、ゼロとの1つの比較(サイン比較)が行われ、(非ゼロ数字との2つの比較は択一であるため)非ゼロ数字との2つの比較のうち1つのみが行われる。
【0088】
本発明の一実施形態によると、デルタ値の算出、および、その後続処理であるクリッピング実行のための閾値tcとの比較は、以下のように実現してもよい。
【0089】
delta = 9*(q0-p0) -3*(q1-p1)
if (delta>0)
{
delta1=(delta+a)>>4;
if (delta1>tc)
{
delta1=tc;
}
}
else
{
delta1=(delta+b)>>4;
if (delta1<-tc)
{
delta1=-tc;
}
}
【0090】
上記の擬似コードから分かるように、上記のコードと比較する際、追加の処理は必要ない。ゼロとの1つの比較のみが必要であり、コード実行中に、非ゼロ値との2つの比較のうち一方がさらに実行される。
【0091】
図10は、本発明の一実施形態に係る方法を示すフローチャートである。ブロック1010の各ラインに対し、決定パラメータが算出される。これは、対象ブロックおよびその隣接ブロック間の境界における、サンプルラインを形成するサンプルである隣接サンプルの加重和を算出することにより(1020)、行われる。サンプルラインは、ブロックの列または行であってもよい。サンプルは例えば、上述したような画素p0
i、q0
i、p1
i、q1
iである。この場合、垂直境界をデブロッキングするため、サンプルはブロックの行を形成する。一方で、本発明は、水平境界のデブロッキングフィルタリングに同様に適用される。この場合、フィルタリング対象のまたはフィルタリングに用いる画素が、列を形成する。加重和の算出(1020)後、オフセット値を決定する(1030)。オフセット値は、加重和の値によって決まる。オフセット値は、加重和に加算される(1040)。そのようにして得られたオフセット加オフセット値加算後の加重和は、所定のビット数分、右へシフトされる(1050)。このシフトにより、整数割り算が行われる。これは、輝度サンプルおよびクロミナンスサンプルに別々に行ってもよい。
【0092】
決定パラメータは、オフセット加算後にシフトした加重和に対応する。決定パラメータはさらに、デブロッキングフィルタが境界で対象ブロックのサンプルに適用されるか否かについての判断(1060)に用いてもよい。1070において、デブロッキングフィルタリングが適用される(ステップ1270で「yes」)と判断された場合、ラインがデブロッキングされる(1280)。つまり、境界における対象ブロックのサンプル(例えば、p0’i)がフィルタリングされる。1070で異なる判断がなされた場合(ステップ1270「no」)、デブロッキングフィルタリングは、同サンプルおよび/またはライン全体に対して適用されない。しかしながら、決定プロセスは必ずしも行わなければならないものではない。輝度サンプルに対してのみ算出された決定パラメータに基づき、決定プロセスを実行することは有利かもしれない。クロミナンスサンプルについては、デブロッキングフィルタを適用するか否かの決定を省いてもよく、そのままフィルタリングしてもよい。しかしながら、本発明はまた、輝度およびクロミナンスの上記の異なるハンドリンクに限定されることはない。一般的に、決定プロセスは全く行われる必要はなく、決定パラメータに基づき、フィルタの選択および/またはフィルタリングを行ってもよい。したがって、決定パラメータは、サンプルの修正(フィルタリング)に用いてもよいため、「サンプル修正パラメータ」と呼んでもよい。
【0093】
本発明の一実施形態によると、加重和が正の場合、オフセット値は第1の値をとる。加重和が負の場合、オフセット値は第1の値とは異なる第2の値をとる。加重和の値が0の場合、第1の値、第2の値および第1の値のうちどれをとるのかについて、さらに定義してもよい。加重和の平均が決定パラメータの平均と一致するように、第1の値および第2の値が有利に決定される。このように、右へのシフトとして実行される整数割り算の演算により、作為的な平均値のシフトが行われることはない。
【0094】
有利には、所定のビット数が4である場合、第1の値は6であり第2の値は9である、または、第1の値は7であり第2の値は8である。有利には、所定のビット数が3である場合、第1の値は2であり第2の値は5である。さらに別のケースでは、所定のビット数が1である場合、第1の値は0であってもよく第2の値は1であってもよい。なお、上記の値を交換してもよい。つまり、第1の値を第2値にし、第2の値を第1の値にしてもよい。輝度サンプルのデブロッキングフィルタリングには、サイズ4の所定値(シフトするビット数)が一般的に利用される。また、輝度のフィルタリングには、一般的に1ビットのシフト値を用いる。一方で、3ビット分のシフトに用いられる所定値は一般的に、画像のクロミナンス部分をフィルタリングするため用いられる。
【0095】
本発明の好適な実施形態によると、同方法はさらに、決定パラメータの絶対値をクリッピング値にクリッピングすることにより、フィルタリングパラメータを算出するステップをさらに含む。フィルタリングパラメータは、対象ブロックの境界におけるサンプルのフィルタリングに用いられる。特に、フィルタリングパラメータをサンプルに加えることにより、フィルタリングを行うが、その結果をクリッピングしてもよい。処理を簡素化し算出による負荷を抑えるため、以下のステップにより、決定パラメータおよびフィルタリングパラメータを算出してもよい。
【0096】
まず、ラインの画素値の加重和を算出する。加重和が0より大きい場合、第1の値により加重和を相殺し、所定のビット数分シフトさせて決定パラメータを取得する。決定パラメータがクリッピング値よりも大きい場合、決定パラメータをクリッピング値にクリッピングすることにより、フィルタリングパラメータを取得する。そうでない場合、フィルタリングパラメータは決定パラメータと一致する。
【0097】
一方で、加重和が0以下の場合、第2の値により加重和を相殺し、所定のビット数分シフトさせて決定パラメータを取得する。決定パラメータが負のクリッピング値よりも小さい場合、決定パラメータを負のクリッピング値にクリッピングすることにより、フィルタリングパラメータを取得する。そうでない場合、フィルタリングパラメータは決定パラメータと一致する。上記において、クリッピング値は正の整数であるとする。
【0098】
上述したように、デブロッキングフィルタリングを行う際、整数処理により、効率損失および/または品質損失が生じる可能性があり、デブロッキング処理により、追加の量子化誤差が生じる可能性がある。
【0099】
本発明の別の態様によると、強いフィルタリング、弱いフィルタリング、および、フィルタリングを行わないという3つの選択の割合を制御することにより、主観的品質を調整することに加えて、デブロッキングフィルタによる最大限の修正を制御する。これにより、デブロッキングで生じる量子化誤差を制限することによる客観的品質の調整が可能になる。したがって、客観的品質は、主観的品質とは無関係に調整することが可能であり、最適な方法で調整される。特に、HM4.0では、閾値tcが以下のように決定される。
【0100】
【数39】
【数40】
ここで、
【数41】
【数42】
【0101】
パラメータQPmaxは最大可能QP値を示す。この値は通常51であり、上限のクリッピング閾値55分のQPmax+4となる。パラメータ「bitdepthscale」は、換算係数であり、デブロッキング対象のサンプルのビット深度によって決まる。例えば、入力信号が8のビット深度を有する一方、内部ビット深度は10でもよい。パラメータBSは「境界強度」を示し、その値は通常、イントラ予測とインター予測との間で異なる。例えば、イントラ予測の場合、2または3の値をとってもよく、インター予測の場合、0、1または2の値をとってもよい。
【0102】
tctableは、とり得る値の範囲を示す。例えば、以下の通りである。
Const UChar tctable_8X8 [56] =
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14
} ;
【0103】
同様に、閾値βは以下のよう決定される。
【0104】
【0105】
「betatable」は、例えば、以下のように定義される。
Const UChar betatable_8X8 [52] =
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64
};
【0106】
JCTVC-F143の「CE12:スライスレベルのデブロッキングフィルタパラメータの調整」では、スライスヘッダ内で符号化された追加のオフセット値を用いることにより、以下のように、閾値tcを求めることが提案されている。
【0107】
【0108】
ここで、tctableは上述したものと同じである。
【0109】
同様に、JCTVC-F143では、以下のように、スライスヘッダで符号化された追加のオフセット値を閾値βの算出に加算することが提案されている。
【0110】
【0111】
JCTVC-F143の追加のオフセット値は、ブロック全体に対するデブロッキングの有効性または非有効性に影響を及ぼす。特に、ブロックは、背景技術の項で説明したように、以下の場合のみにフィルタリングされる。
d = dq + dp < β
【0112】
デブロッキングフィルタリングが可能な場合、パラメータβはさらに、強いフィルタリングと弱いフィルタリングとの割合の調整に用いられる。各ラインまたは各列に対して、弱いフィルタと強いフィルタのどちらを適用するのか、また、境界に2番目に近い画素(p1i、q1i)をデブロッキングするか否かについての決定に用いられる。しかしながら、強いフィルタリング処理自体に影響はない。
【0113】
弱いフィルタを適用するか否かについての決定を行う際、閾値tcが用いられる。また、パラメータtcはさらに、上述のような、パラメータデルタ1の算出、および、サンプルp0’iおよびq0’iの実際のフィルタリングに用いられる。パラメータtcはさらに、デブロッキングフィルタによる最大限の修正を調整する(背景技術の項に記載のフィルタリング処理のclip3値であるaおよびbを参照)。
【0114】
本発明の一実施形態によると、ピクチャレベル、スライスレベル、または、シーケンスレベルで伝送してもよい高度なパラメータにより、デブロッキングフィルタリングはさらに高度に制御される。特に、デブロッキングフィルタリングは、パラメータtcおよびパラメータβにより、(背景技術の項で示されるように)制御される。これらのパラメータは、フィルタリングの強度を決定することに用いられる。さらに/または、フィルタリングを適用するか否かの決定に用いられる。フィルタ適用中のクリッピング処理にも直接的な影響がある。弱い/強いフィルタリングを適用するか否かの決定は主に、主観的な画質に影響を及ぼす。これに対して、クリッピング処理は主に客観的品質に影響を及ぼすと考えられる。本発明により、デブロッキングフィルタリングにおける客観的品質および主観的品質に関わる処理を別々に制御することが可能になる。
【0115】
これにより、デブロッキング決定の異なる処理、および、スライスヘッダで提示されてもよい(スライスヘッダに埋め込まれてもよい)異なるオフセット値によるフィルタリング処理において、閾値tcは異なる。特に、第1の閾値tc1は、以下のように算出してもよい。
【0116】
【0117】
第2の閾値tc2は、以下のように定義してもよい。
【0118】
【0119】
つまり、算出済みオフセット(tcoffset)およびビットストリーム中で示される第1の値(tcoffset、coded)により、量子化パラメータ(QP)に基づき、第1のパラメータtc1は取得される。算出済みオフセット(tcoffset)およびビットストリーム中で示される第2の値(tcoffset2、coded)により、量子化パラメータ(QP)に基づき、第2のパラメータtc2は取得される。
【0120】
2つの異なる閾値tc1およびtc2は、以下のように、デブロッキングフィルタの決定および選択の一連の工程に用いられる。従来技術で示されるように、8×8画素のブロック全体に対し、デブロッキングフィルタを適用するか否かの決定を行ってもよい。特定のラインまたは画素列に対して、強いデブロッキングフィルタと弱いデブロッキングフィルタのどちらを適用するかについての決定が、第1の閾値tc1に基づき行われる。特に、以下の場合には、強いフィルタが適用される。
【0121】
【0122】
全ての場合において、弱いデブロッキングフィルタが適用される。したがって、第1のパラメータ(閾値)tc1は、主観的品質の制御に用いられる。つまり、弱いフィルタリングまたは強いフィルタリングの適用(に関する決定)の制御に用いられる。
【0123】
発明の背景技術に示される方法と同様に、つまり、以下のように、デルタ値は算出される。
【0124】
【0125】
弱いフィルタ処理を行うべきか否かについての決定もまた、第1の閾値tc1に基づいて行ってもよい。特に、以下の場合、フィルタリングのみが適用される。
【0126】
【0127】
そうでない場合、ラインiに対してフィルタリングは全く適用されない。弱いデブロッキングフィルタを適用することが決定された場合、ブロック境界にある画素p0’iおよびq0’iがフィルタリングされる。本発明の本実施形態によると、閾値tc2の第2の値は、フィルタリングの実施に用いられる。以下のようにフィルタリングを行ってもよい。
【0128】
【0129】
2つのブロックAおよびBの境界にある画素をフィルタリングした後、当該境界から2番目に近いブロックAの画素p1’iおよびブロックBの画素q1’iにもフィルタリングを適用するか否かの決定を行ってもよい。特にこれら2画素は、以下の場合のみ、それぞれフィルタリングされる。
【0130】
【0131】
フィルタ画素p1’iをフィルタリングすることを決定した場合、第2の閾値tc2を用いて画素p1’iをフィルタリングする。これは、第2の閾値がフィルタリング処理を制御し、クリッピング処理に影響を与えることにより、客観的品質へ影響を及ぼすからである。以下のようにフィルタリングを行ってもよい。
【0132】
【0133】
同様に、画素q1’iをフィルタリングすることを決定した場合、以下のようにフィルタリングを行ってもよい。
【0134】
【0135】
したがって、第2のパラメータ(閾値)tc2は、フィルタリング処理に用いられる。特に、第2のパラメータは、最大(上限)および最小(下限)のクリッピング値(上述のような、clip3処理のaおよびb)を制御する。パラメータtc1およびtc2は、別々に決定される。上述したように、それらの値は異なってもよい。
【0136】
有利には、以下に示すように、強いフィルタリングは、閾値tc3にも基づく。
【0137】
【数64】
【数65】
【数66】
【数67】
【数68】
【数69】
【0138】
第3のパラメータtc3は、「強いフィルタ」、つまり、ブロックの境界に最も近い3つのサンプル(画素)に対し適用するフィルタのフィルタ処理を制御する。特に、フィルタリング後のサンプルに追加されたオフセット値を算出する場合、上限および下限のクリッピング閾値(-tc3、tc3)を設定することにより、フィルタリングを制御する。このオフセット値は、所定値により相殺され所定のビット数分シフトされた、ブロックAおよびBの境界周辺の画素の加重和として算出される。
【0139】
第3の閾値tc3は第2の閾値tc2と同じであってもよい。フィルタリング処理に直接的に影響を与えることにより、第3の閾値tc3および第2の閾値tc2は客観的品質を制御する。しかしながら、スライスレベルで、または、フレームレベル、ブロックレベル、または、複数のフレームの各レベルなどの別のレベルで、符号化され、ビットストリームに埋め込まれる閾値tc1およびtc2とは別に、第3の値tc3を決定してもよい。
【0140】
異なる閾値tc1およびtc2の使用により、符号化効率が改善される。これらの閾値は、tcoffset、codedおよびtcoffset2、codedの使用により最適化されたレート歪みであってもよい。
【0141】
図11は、本発明の一実施形態による、2つの閾値を適用した場合の符号化効率の改善を示す図であり、HM4.0およびJCTVC-F143の符号化効率と比較している。
図11は、データ速度の関数として、ノイズ比(dB)に対するピーク信号を示す図である。これらの結果を得るため、値がQP=37であり、予測構造が低遅延で高効率の量子化パラメータを用いることにより、ビデオシーケンス「basketball-pass」を圧縮した。本発明の符号化効率は、ISOおよびITUの標準化活動で通常用いられる符号化の条件に基づき、イントラのみの構造つまり空間予測に対して評価される(文献JCTVC-E700: http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2454を参照)。
図11から分かるように、tc
offset、coded=-5およびβ
offet、
coded=-2を用いて主観的品質を調整することにより、符号化効率を低下させることが、JCTVC-F143で提案されている。本発明の上記の実施形態では、主観的品質を維持することが可能である。なぜなら、第1のパラメータt
c1は、第2のパラメータt
c2とは別に設定され、独立して構成してもよいからである。同時に、客観的画質は、独立したパラメータt
c2により改善される。上述したように、クリッピング前に加算される変更可能なオフセット値に応じて、パラメータt
c1およびt
c2は異なる。レート歪みの最適化により取得した2つの異なるオフセット値を用いることで、本発明の本実施形態により、符号化効率が改善される。
【0142】
本発明は、上述したような例に限定されない。一般的に、各決定処理(フィルタを適用するか否かの決定、または、特定のサンプル、ライン、または、ブロックに適用するフィルタの決定)と、各フィルタリング処理に対し、個別パラメータを用いてもよい。
【0143】
個別パラメータ値により、画像の内容および特徴に対しより柔軟に適応することが可能になり、より高い符号化効率が達成される可能性がある。デブロッキングフィルタリングの決定および適用に用いられる個別パラメータを信号伝達することにより生じる負荷を削減するため、差分符号化により、または、有利なエントロピー符号化の利用より、パラメータをさらに符号化してもよい。例えば、第1のオフセット値tcoffset、codedを明示的に符号化し、残りのオフセット値(閾値tc3を算出するために用いられてもよいtcoffset、coded2またはtcoffset、coded3、または、他の追加オフセット値)を、第1オフセット値との差分または相互差分として符号化してもよい。
【0144】
あるいは、閾値tcを以下のように決定してもよい。
【0145】
【0146】
したがって、追加のオフセット値が、tctableの値にそのまま加算される。このオフセット値は、スライスヘッダ内で符号化され伝達されてもよい。上記の例と同様に、フィルタの決定(強いフィルタまたは弱いフィルタ)およびフィルタリング処理(例えば、クリッピングの制御)それぞれに対し、テーブルオフセット値を決定してもよい。追加のオフセット値により、値tcのより細かい調整が可能になる。これは、上記のtctableの例示的な値が想定される場合、14より大きな値をとることも可能になるからである。
【0147】
同様にして、閾値βに対するより高度な適応は、以下のように行われてもよい。
【0148】
【0149】
上記のbetatableの例示的な値が想定される場合、β=55などの追加の値をとることも可能なため、追加のオフセット値βoffset、codedを用いて、より細かい調整を達成してもよい。
【0150】
なお、上記例により、本発明をこの特定のフィルタリング処理に限定することはない。例えば、上記例は主に、輝度サンプルの一般的なフィルタリングに関して説明した。しかしながら、本発明は、クロミナンスサンプルに適用されるようなフィルタリング、例えば、ブロック内の特定のラインをフィルタリングするか否かの決定を行うことなく実施するフィルタリングにも適用可能である。上記の実施例の着想は、主観的品質および客観的品質の制御を別々に行えるようにすることである。特に、デブロッキングフィルタを適用するか否かの決定、および、クリッピングなどフィルタリング処理に含まれる処理を制御することで行うフィルタリング処理を別々に制御するため、高度なパラメータが用いられる。この着想は、上述の処理の一部のみに当てはめてもよい。なお、上記例の説明からも、HEVCの特定のフィルタリングに限定されることはない。
【0151】
本発明のさらなる実施形態を以下のように要約する。画像の対象ブロックのサンプルをデブロッキングフィルタリングする方法であって、対象ブロックとその隣接ブロックとの間の境界で、サンプルラインを形成する隣接サンプルの加重和を算出するステップと、加重和の値によって決まるオフセット値を加重和に加算し、オフセット値加算後の加重和を所定のビット数分、右にシフトするステップとにより、サンプル修正パラメータを決定するステップと、サンプル修正パラメータにより、オフセット値を含むサンプルにデブロッキングフィルタを適用するステップとを含む、方法である。
【0152】
有利には、オフセット値は、加重和が正の場合に第1の値を有し、加重和が負の場合に第1の値と異なる第2の値を有する。所定のビット数分、左にシフトされたサンプル修正パラメータの平均と加重和の平均とが一致するように、第1の値および第2の値は決定される。具体的には、所定のビット数は4、第1の値は6、第2の値は9、または、第1の値は7、第2の値は8である。または、所定のビット数は3、第1の値は2、第2の値は5である。または、所定のビット数は1、第1の値は0、第2の値は1である。
【0153】
同方法はさらに、サンプル修正パラメータの絶対値をクリッピング値にクリッピングすることによりフィルタリングパラメータを算出するステップと、フィルタリングパラメータをサンプルに加算することを含む前記サンプルをフィルタリングするステップとを含んでもよい。ここで、サンプル修正パラメータおよびフィルタリングパラメータは、加重和を算出する以下のステップにより算出される。加重和がゼロより大きい場合、加重和を第1の値により相殺し、所定のビット数分シフトして、サンプル修正パラメータを取得する。サンプル修正パラメータがクリッピング値よりも大きい場合、サンプル修正パラメータをクリッピング値にクリッピングすることにより、フィルタリングパラメータを取得する。そうでない場合、フィルタリングパラメータはサンプル修正パラメータと一致する。一方、加重和が0以下の場合、加重和を第2の値により相殺し、所定のビット数分シフトして、サンプル修正パラメータを取得する。サンプル修正パラメータが負のクリッピング値よりも小さい場合、サンプル修正パラメータを負のクリッピング値にクリッピングすることにより、フィルタリングパラメータを取得する。そうでない場合、フィルタリングパラメータは、サンプル修正パラメータと一致する。
【0154】
同方法は、前記境界において、前記対象ブロックの前記サンプルにデブロッキングフィルタが適用されるか否かを、前記サンプル修正パラメータに基づき判断するステップ、および/または、前記判断ステップの結果に応じて、前記デブロッキングフィルタを前記サンプルに適用するステップまたは適用しないステップを含んでもよい。
【0155】
別の実施形態は、画像の対象ブロックのサンプルをデブロッキングフィルタリングする方法を提供する。同方法は、決定値と所定の閾値との比較に基づき、デブロッキングフィルタを適用するか否かを決定するステップと、サンプル修正値でサンプルを相殺する処理を含む、サンプルをフィルタリングするステップと、サンプルに関連する量子化パラメータにオフセット値を加算する処理を含む、所定の閾値およびサンプル修正値を算出するステップとを含み、所定の閾値の算出とサンプル修正値の算出において、オフセット値が別々に決定される。
【0156】
有利には、所定の閾値を算出する各オフセット値およびサンプル修正値を算出する個別オフセット値はどちらも、符号化画像データのビットストリームに含まれる。
【0157】
別の実施形態が提示するのは、画像の対象ブロックのサンプルをデブロッキングフィルタリングする装置であって、対象ブロックとその隣接ブロックとの境界で、サンプルラインを形成する隣接サンプルの加重和を算出する合計算出部と、加重和の値によって決まるオフセット値を加重和に加算する加算部と、オフセット値加算後の加重和を所定のビット数分、右にシフトするシフト部とを備える、サンプル修正パラメータを決定する算出部と、サンプル修正パラメータにより、オフセット処理を含む、デブロッキングフィルタをサンプルに適用するフィルタリング部とを備える装置である。
【0158】
有利には、オフセット値は、加重和が正の場合に第1の値を有し、加重和が負の場合に第1の値と異なる第2の値を有する。所定のビット数分、左にシフトされたサンプル修正パラメータの平均と加重和の平均とが一致するように、第1の値および第2の値は決定される。
【0159】
具体的には、所定のビット数は4、第1の値は6、第2の値は9、または、第1の値は7、第2の値は8である。または、所定のビット数は3、第1の値は2、第2の値は5である。または、所定のビット数は1、第1の値は0、第2の値は1である。
【0160】
有利には、算出部は、サンプル修正パラメータの絶対値をクリッピング値にクリッピングすることによりフィルタリングパラメータを算出し、フィルタリングパラメータをサンプルに加算する処理を含む前記サンプルのフィルタリングを行う。ここで、以下のように、合計算出部により加重和を算出し、算出部は、サンプル修正パラメータおよびフィルタリングパラメータを算出する。加重和がゼロより大きい場合、加算部は、加重和を第1の値により相殺し、所定のビット数分シフトして、サンプル修正パラメータを取得する。サンプル修正パラメータがクリッピング値よりも大きい場合、算出部は、サンプル修正パラメータをクリッピング値にクリッピングすることにより、フィルタリングパラメータを取得する。そうでない場合、フィルタリングパラメータはサンプル修正パラメータと一致する。一方、加重和が0以下の場合、加算部は、加重和を第2の値により相殺し、所定のビット数分シフトして、サンプル修正パラメータを取得する。サンプル修正パラメータが負のクリッピング値よりも小さい場合、算出部は、サンプル修正パラメータを負のクリッピング値にクリッピングすることにより、フィルタリングパラメータを取得する。そうでない場合、フィルタリングパラメータは、サンプル修正パラメータと一致する。
【0161】
また、同装置はさらに、前記境界で前記対象ブロックの前記サンプルにデブロッキングフィルタが適用されるか否かを、前記サンプル修正パラメータに基づき判断する判断部および/または、前記判断結果に応じて、前記デブロッキングフィルタを前記サンプルに適用するまたは適用しない、前記フィルタリング部を備えてもよい。
【0162】
別の実施形態は、画像の対象ブロックのサンプルをデブロッキングフィルタリングする装置を提供する。同装置は、決定値と所定の閾値との比較に基づき、デブロッキングフィルタを適用するか否かを判断する判断部と、サンプル修正値でサンプルを相殺する処理を含む、サンプルのフィルタリングを行うフィルタリング部と、サンプルに関連する量子化パラメータにオフセット値を加算する処理を含む、所定の閾値およびサンプル修正値の算出を行う算出部とを備え、所定の閾値の算出とサンプル修正値の算出において、オフセット値が別々に決定される。
【0163】
有利には、所定の閾値を算出する各オフセット値およびサンプル修正値を算出する個別オフセット値はどちらも、符号化後の画像データのビットストリームに含まれる。
【0164】
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
【0165】
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【0166】
(実施の形態A)
図12は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
【0167】
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
【0168】
しかし、コンテンツ供給システムex100は
図12のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【0169】
カメラ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)等であり、いずれでも構わない。
【0170】
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、カメラは、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0171】
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
【0172】
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
【0173】
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【0174】
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【0175】
なお、コンテンツ供給システムex100の例に限らず、
図13に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0176】
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【0177】
図14は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
【0178】
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
【0179】
まず、テレビ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の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【0180】
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【0181】
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
【0182】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を
図15に示す。情報再生/記録部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は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【0183】
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【0184】
図16に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【0185】
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
【0186】
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば
図14に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
【0187】
図17Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
【0188】
さらに、携帯電話ex114の構成例について、
図17Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
【0189】
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
【0190】
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
【0191】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
【0192】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
【0193】
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
【0194】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
【0195】
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【0196】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【0197】
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【0198】
(実施の形態B)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【0199】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【0200】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
【0201】
図18は、多重化データの構成を示す図である。
図18に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、または、リニアPCMのなどの方式で符号化されている。
【0202】
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【0203】
図19は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
【0204】
図20は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。
図20における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。
図20の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
【0205】
図21は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには
図21下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
【0206】
また、多重化データに含まれる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時間の情報を持つ。
【0207】
図22はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【0208】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【0209】
多重化データ情報ファイルは、
図23に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【0210】
多重化データ情報は
図23に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
【0211】
ストリーム属性情報は
図24に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【0212】
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【0213】
また、本実施の形態における動画像復号化方法のステップを
図25に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
【0214】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【0215】
(実施の形態C)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、
図26に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【0216】
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
【0217】
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
【0218】
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
【0219】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0220】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0221】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0222】
(実施の形態D)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【0223】
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。
図27は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
【0224】
より具体的には、駆動周波数切替え部ex803は、
図26のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、
図26の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態Bで記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態Bで記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、
図29のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【0225】
図28は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【0226】
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
【0227】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4-AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【0228】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、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などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【0229】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【0230】
(実施の形態E)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【0231】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を
図30Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、逆量子化に特徴を有していることから、例えば、逆量子化については専用の復号処理部ex901を用い、それ以外のエントロピー復号、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【0232】
また、処理を一部共有化する他の例を
図30Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
【0233】
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
【0234】
まとめると、本発明は、画像または映像の符号化および復号におけるブロック境界の平滑化に適用可能なデブロッキングフィルタリングに関する。特に、所定のパラメータに従い、ブロックの境界でデブロッキングフィルタリングがサンプルに適用される。所定のパラメータは、フィルタリングの一部としてサンプルの相殺に用いられる。本発明によると、境界の周辺サンプルの加重和を算出し、加重和の値に応じてある値でその加重和を相殺し、その結果を右に所定のビット数分シフトすることにより、パラメータが求められる。
【0235】
本発明は、画像または映像の符号化および復号におけるブロック境界の平滑化に適用可能なデブロッキングフィルタリングに関する。具体的には、デブロッキングフィルタリングには弱いものまたは強いものがあり、強いフィルタリングと弱いフィルタリングで行われるクリッピングは異なる。