JP2006304307A5 - - Google Patents

Download PDF

Info

Publication number
JP2006304307A5
JP2006304307A5 JP2006114648A JP2006114648A JP2006304307A5 JP 2006304307 A5 JP2006304307 A5 JP 2006304307A5 JP 2006114648 A JP2006114648 A JP 2006114648A JP 2006114648 A JP2006114648 A JP 2006114648A JP 2006304307 A5 JP2006304307 A5 JP 2006304307A5
Authority
JP
Japan
Prior art keywords
data
residual
decoding
value
enhancement layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006114648A
Other languages
English (en)
Other versions
JP2006304307A (ja
Filing date
Publication date
Priority claimed from KR1020050059371A external-priority patent/KR100763181B1/ko
Priority claimed from KR1020050087761A external-priority patent/KR100746007B1/ko
Application filed filed Critical
Publication of JP2006304307A publication Critical patent/JP2006304307A/ja
Publication of JP2006304307A5 publication Critical patent/JP2006304307A5/ja
Pending legal-status Critical Current

Links

Description

エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ
本発明は、ビデオ信号のエンコーディング及びデコーディングに係り、より詳細には、エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダに関する。
インターネットを含む情報通信技術が発達するにつれて文字、音声だけでなく画像通信が増加しつつある。既存の文字中心の通信方式では消費者の多様な欲求を満たすには足り、したがって、文字、映像、音楽など多様な形態の情報を収容できるマルチメディアサービスが増加しつつある。マルチメディアデータは、その量が膨大で大容量の記録媒体を必要とし、伝送時に広い帯域幅を必要とする。したがって、文字、映像、オーディオを含むマルチメディアデータを伝送するには、圧縮コーディング技法を使用することが必須である。
データを圧縮する基本的な原理はデータの冗長性をなくす過程である。画像中で同じ色やオブジェクトが反復されるような空間的冗長性や、動映像フレームで隣接フレームがほとんど変化のない場合もしくはオーディオで同じ音が反復され続けるような時間的冗長性、または人間の視覚及び知覚能力が高い周波数に鈍感なことを考慮した心理視覚冗長性をなくすことによりデータを圧縮できる。一般的なビデオコーディング方法において、時間的冗長性動き補償に基づいた時間的フィルタリング(temporal filtering)により除去して、空間的冗長性は空間的変換(spatial transform)により除去する。
データの冗長性を除去した後、生成されるマルチメディアを伝送するためには、伝送媒体が必要であるが、その速度は伝送媒体ごとに異なる。現在使われている伝送媒体は、秒当り数十メガビットのデータを伝送しうる超高速通信網から秒当り384キロビットの伝送速度を有する移動通信網のように多様な伝送速度を有する。このような環境で、多様な速度の伝送媒体を支援するために、または伝送環境によってこれに適した伝送率でマルチメディアを伝送可能にする、すなわち、スケーラビリティ(scalability)を有するデータコーディング方法がマルチメディア環境にさらに適していると言える。一方、マルチメディアの再生時に、再生する機器の大きさまたは機器の特徴によって画面の大きさが4:3または16:9の比率など多様になりうる。
このようなスケーラブルビデオコーディングとは、既に圧縮されたビットストリームに対して伝送ビットレート、伝送エラー率、システム資源などの周辺条件によって前記ビットストリームの一部を切り出して、ビデオの解像度、フレームレート、及びビットレートなどを調節可能にする符号化方式を意味する。このようなスケーラブルビデオコーディングは、既にMPEG−4(moving picture experts group−21)Part10でその標準化作業進行しつつある。このうち、多階層(multi−layered)基盤でスケーラビリティーを具現しようとする多くの努力がある。例えば、基礎階層(base layer)、第1向上階層(enhanced layer1)、第2向上階層(enhanced layer2)の多階層をおき、それぞれの階層は相異なる解像度QCIF、CIF、2CIF)、または相異なるフレームレートを有するように構成しうる。
1つの階層にコーディングする場合と同様に、多階層にコーディングする場合においても、各階層別に時間的冗長性(temporal redundancy)を除去するための動きベクトル(motion vector;MV)を求める必要がある。このような動きベクトルは、各階層ごとに別個に検索して使用する場合(前者)があり、1つの階層で動きベクトル検索をした後、これを他の階層でも使用(そのまま、またはアップ/ダウンサンプリングして)する場合(後者)もある。前者の場合は、後者の場合に比べて正確な動きベクトルを探すことによって得る利点とともに動きベクトルが階層ごとに生成されることによるオーバヘッドとして作用する短所が存在する。したがって、前者の場合には、各階層について動きベクトル間の冗長性をさらに効率よく除去することが非常に重要な課題となる。
図1は、多階層構造を用いたスケーラブルビデオコーデックを示す図面である。まず、基礎階層をQCIF(Quarter Common Intermediate Format)、15Hz(フレームレート)に定義し、第1向上階層をCIF(Common Intermediate Format)、30zに、第2向上階層をSD(Standard Definition)、60zに定義する。もし、CIF 0.5 Mbpsストリームを所望するならば、第1向上階層のCIF_30Hz_0.7Mでビットレート目標の0.5Mになるようにビットストリームを切って送ればよい。このような方式で、空間的、時間的、SNRスケーラビリティーを具現しうる。
図1に示されように、同じ時間的位置を有する各階層でのフレーム(例えば、10、20、及び30)は、その画像が類似していると推定しうる。したがって、下位階層のテクスチャーから(直接またはアップサンプリングした後)現在階層のテクスチャーを予測し、予測された値と実際現在階層のテクスチャーとの差をエンコーディングする方法が知られている。“Scalable Video Model 3.0 of ISO/IEC 21000−13 Scalable Video Coding”(以下“SVM 3.0”と称する)では、このような方法をイントラBL予測(Intra_BL prediction)と定義している。
このように、SVM 3.0では、既存のH.264で現在フレームを構成するブロックないしマクロブロックに対する予測のために使われたインター予測及び方向的イントラ予測(directional intra prediction)以外に、現在ブロックとこれに対応する下位階層ブロックとの連関性を用いて現在ブロックを予測する方法を追加的に採択している。このような予測方法を、“イントラBL(Intra_BL)予測”と称し、このような予測を使用して符号化するモードを“イントラBLモード”と称する。
図2は、前記3種の予測方法を説明する概略図であって、現在フレーム11のあるマクロブロック14に対してイントラ予測を行う場合(1)と、現在フレーム11と他の時間的位置にあるフレーム12とを用いてインター予測を行う場合(2)と、前記マクロブロック14と対応する基礎階層フレーム13の領域16に対するテクスチャーデータを用いてイントラBL予測を行う場合(3)と、を各々示している。
このように、前記スケーラブルビデオコーディング標準ではマクロブロック単位で前記3つの予測方法のうち、有利な1つの方法を選択して利用する。
ところが、このような予測方法を使用するためには、如何なる予測方法が使用されたか、または予測時に参照するデータが何かについての情報をデコーディング側に送るために多様なフラッグを使用する。コーディングがマクロブロック単位、またはスライス、フレーム単位のいずれで行われるかに依存して、フラッグは小さくは1ビットから数ビットまたは数十ビットに該当しうる。このような情報が全体動画像においてマクロブロックごとに、またはスライスやフレームごとに設定されると、データは大きくなる。したがって、これらの情報を効率的に圧縮するための方法及び装置が必要である。
本発明は、前記問題点を改善するために案出されたものであって、本発明は、基礎階層のデータを通じて予測方法に所要されるデータの大きさを減らすところにその目的がある。
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
本発明の一実施形態によるビデオ信号の残差予測フラッグをコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、前記下位階層の対応するブロックの残差データのエネルギーを計算するステップ、前記エネルギーによって前記残差予測フラッグのコーディング方法を決定するステップ、及び前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップを含む。
本発明の他の実施形態によるビデオ信号の残差予測フラッグをコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのコーディング方法を決定するステップと、前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含む。
本発明の一実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックの残差データのエネルギーを計算するステップと、前記エネルギーによって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
本発明の他の実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
本発明のさらに他の実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を確認するステップと、前記符号化ブロックパターンを構成するそれぞれのビットに1の値を有するビットの存否を判断するステップと、前記判断の結果、1の値を有するビットが1つ以上存在する否かかによって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
本発明の他の実施形態によるデコーディング方法は、多階層ビデオ信号の復号化しようとする向上階層をデコーディングする方法において、前記向上階層に対応する下位階層の符号化ブロックパターン値から、前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定するステップと、前記デコーディング方法によって選択されたエントロピー復号化方法によって前記残差予測フラッグを復号化し、前記残差予測フラッグによって前記向上計測を復号化する復号化ステップと、を含む。
本発明の他の実施形態によるデコーディング装置は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする装置において、前記下位階層ブロックに対する符号化ブロックパターンの値を解釈するパージング部と、前記符号化ブロックパターン値によって前記残差予測フラッグに対するデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグをデコーディングするデコーディング部と、を備える。
本発明のさらに他の実施形態によるデコーディング装置は、多階層ビデオ信号の復号化しようとする向上階層をデコーディングする装置において、前記向上階層に対応する下位階層の符号化ブロックパターン値を解釈するパージング部と、前記符号化ブロックパターン値から前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグを逆エントロピー復号化し、前記向上階層を逆エントロピー復号化する逆エントロピー復号化部と、前記向上階層を逆量子化する逆量子化部と、前記逆量子化された向上階層を逆時間的変換し、前記残差予測フラッグによって前記下位階層から予測して復号化する逆時間的変換部と、を備えることを特徴とする。
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
本発明を具現することによって、基礎階層のデータで向上階層のデータが基礎階層のデータを参照しているか否かを判断して、データの圧縮率を高めることができる。
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範疇を完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一参照符号は同一構成要素を示す。
以下、本発明の実施形態によって、基礎階層と向上階層のデータにより予測情報をデコーディングしてコーディング効率を向上させる装置及び方法を説明するためのブロック図またはフローチャートに関する図面を参考して本発明について説明する。この時、フローチャートの各ブロックとフローチャートの組合わせはコンピュータプログラム命令により実行可能なのが理解できるであろう。これらコンピュータプログラム命令は、汎用コンピュータ、特殊用コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーに搭載されうるので、コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーを通じて実行されるその命令がフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラム命令は特定方式で機能を具現するためにコンピュータまたはその他のプログラマブルデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ可読メモリに保存されることも可能なので、そのコンピュータ利用可能またはコンピュータ可読メモリに保存された命令はフローチャートのブロックで説明された機能を行う命令手段を内包する製造品目を生産することも可能である。コンピュータプログラム命令はコンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラマブルデータプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラマブルデータプロセッシング装備を行う命令はフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能な命令を含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている2つのブロックは、実質的に同時に行われてもよく、または関わってくる機能によってはれらのブロックが時々逆順に行われてもよい。
図2で説明した予測方法をデコーディング側で使用するために如何なる方式の予測がなされたか、あるいは如何なるデータを参照しているかなどについての情報を設定してエンコーディング側から伝送する。データを圧縮する技法のうち1つであるエントロピーコーディングは、無損失圧縮を使用して最終圧縮を行う。通常ハフマンコーディング(Huffman coding)を多用する。ハフマンコーディングは可変長(variable length)コーディング方式であって、情報が現れる確率によってビットを割り当てる方式である。したがって、エントロピーコーディングを使用して全体ビット効率を高めるためには、情報を示す方式を調節する。
一方、図2で説明した予測方法をデコーディング側に知らせるための情報のうち、基礎階層の情報を参照して予測する方式が存在する。例えば、基礎階層の残差データを参照して予測するか、基礎階層の動きベクトルを参照して予測する場合が発生する。この際、基礎階層の情報を参照して予測方法を適用しているかどうかを知らせるためのフラッグとして、残差予測フラッグresidual_prediction_flag、動き予測フラッグ(motion_prediction_flag)などの予測情報が存在する。これらフラッグは、マクロブロックまたはスライスやフレーム単位で設定しうる。したがって、これらフラッグは前単位ごとに常に存在する情報であるため、これらの大きさを減らすか、エントロピーコーディングのようにコーディング時に圧縮効率を高めることが重要である。このために前記予測フラッグをデコーディング端で予測可能なように情報を設定し、前記情報を用いて前記予測フラッグを復元しうる。
図3は、ビデオコーディングでの残差予測の例を示す。残差予測とは、残差結果、すなわち、図2で説明した予測方法のうち、1つを使用して得た結果である残差データについてもう一度予測を行うことを意味する。基礎階層のいずれか1つのマクロブロック、スライスまたはフレーム14は、図2で説明した予測方法のうち、1つである時間的インター予測を使用して残差データとして、マクロブロック、スライスまたはフレームを構成しうる。この際、向上階層のマクロブロック、スライス、またはフレームに対して、基礎階層の残差データを参照する残差予測を行うこともできる。以下、マクロブロックを中心に説明するが、本発明の範囲マクロブロックに限定されるものではない。マクロブロック以外に、スライス、フレームにも適用しうる。
向上階層のマクロブロックが時間的インター予測を行うために基礎階層の残差を参照しうる。デコーディング端に基礎階層の残差を参照したことを知らせるために、残差予測フラッグresidual_prediction_flagを1に設定しうる。ところが、基礎階層のマクロブロック(残差データで構成されたマクロブロック)がいずれも0である値を有するか、0でない情報を有するピクセルの数が特定基準(threshold、閾値)より低い場合、またはcbp〔符号化ブロックパターン〕値が0であるか、特定基準より低い値を有する場合には、残差予測フラッグを設定する必要がない。これは、基礎階層で実行した時間的インター予測の結果、動きがほとんどない場合を意味する。したがって、この場合、向上階層のマクロブロックは、参照するデータがないか、あるいは不足するので、残差予測フラッグが必要でない。したがって、このような場合には、残差予測フラッグを設定しないことによってビットを節約しうる。
残差予測は、向上階層の動きベクトルと基礎階層の動きベクトルとが類似した場合に意味がある。したがって、各階層間の動きベクトルの差は、残差予測フラッグの値を予測する因子になりうる。まず、残差予測フラッグの値を予測するための決定情報を便宜上予測決定フラッグという。JSVM(Joint Scalable Video Model)1で残差予測フラッグresidual_prediction_flagを設定する代わりに、残差予測フラッグと予測決定フラッグPrdRpFlagとの差をコーディングする場合に、エントロピーコーディングの効率を高めうる。したがって、このような差を示す残差予測差フラッグresidual_prediction_flag_diffを導入してビデオ情報をエンコーディングしうる。
残差予測差フラッグを求める方法は、次の通りである。まず、基礎階層の残差に存在する非ゼロピクセル(non−zero pixel)の数が一定基準(threshold)より小さい場合には残差予測フラッグコーディングはスキップされる
非ゼロピクセルの数が一定基準以上である場合には、残差予測フラッグではなく、残差予測差フラッグをコーディングする。残差予測差フラッグを求めるためには、基礎階層の動きベクトルBaseMVと向上階層の動きベクトルCurrMVとの差を使用する。残差予測差フラッグをコーディングするためには、予測決定フラッグPrpRpFlagを求めなければならない。
もし、|BaseMV−CurrMV|<ある所定の値(threshold)である場合、PrpRpFlagを1とし、その他の場合は0にする。求められたPrpRpFlagと残差予測フラッグresidual_predicion_flagとの差になる値である残差予測差フラッグresidual_prediction_flag_diffをコーディングする。前記の過程を再び説明すれば次の通りである。
基礎階層の残差のエネルギー(または非ゼロピクセルの数)が特定値Thresholdresidualより低い場合、残差予測フラッグresidual_predicion_flagコーディングしない。
その他の場合を再び2つに分ければ次の通りである。|BaseMV−CurrMV|<特定値ThresholdMVである場合には、1−residual_prediction_flagをコーディングし、そうでない場合には、0−residual_prediction_flag、すなわちresidual_prediction_flagをコーディングする。
前記の概念を具現するためのフローチャートを説明すれば図4のようである。
図4は、本発明の一実施形態による残差予測フラッグのエンコーディング効率を高めるフローチャートである。まず、基礎階層の残差データを求める(S101)。基礎階層の残差データは、基礎階層が時間的インターコーディングのように他のフレームまたは他のブロックなどを参照して得た結果を意味する。基礎階層の残差データが特定値Thresholdresidualより小さい場合(S105)、すなわち0をもつ場合、または全体エネルギーが特定値より小さい場合には、残差予測フラッグresidual_prediction_flagを設定する必要がない。したがって、残差予測フラッグコーディングしない。
一方、基礎階層の残差データが特定値Thresholdresidualより大きい場合(S105)、残差予測フラッグresidual_prediction_flag選択的に1または0を有しうる。予測決定フラッグを選択する基準を定めることができる。
S110ステップで、基礎階層の動きベクトルBaseMVと向上階層または現在階層の動きベクトルCurrMVとの差が特定値ThresholdMVより小さい場合、基礎階層の残差データを使用する可能性が高い。したがって予測決定フラッグを1にする(S111)。一方、S110ステップで、基礎階層の動きベクトルBaseMVと向上階層または現在階層の動きベクトルCurrMVとの差が特定値ThresholdMVより大きい場合、基礎階層の残差データを使用する可能性が低い。したがって、予測決定フラッグを0にする(S112)。S111及びS112ステップで設定した予測決定フラッグ及び予測決定フラッグと残差予測フラッグresidual_prediction_flagの差である残差予測差フラッグをコーディングする。エンコーディング端ではマクロブロック別に、またはスライス単位またはフレーム単位で前記の予測決定フラッグと残差予測差フラッグとをコーディングしうる。
図5は、本発明の一実施形態による図4でエンコーディングされたデータをデコーディングするフローチャートである。まず、エンコーディングされたデータで基礎階層の残差データを求める(S151)。残差データが特定値Thresholdresidualより小さくない場合(S155)、エンコーディングされた予測決定フラッグと残差予測差フラッグとの差を通じて残差予測フラッグresidual_prediction_flagを設定する(S161)。エンコーディング側で予測決定フラッグをPrdRpFlag、残差予測差フラッグをresidual_pred_flag_diffとおく場合、residual_pred_flag_diff=PrdRpFlag−residual_prediction_flagと求められる。したがって、residual_prediction_flagは、PrdRpFlagとresidual_pred_flag_diffとの差から得られる。
残差データが特定値Thresholdresidualより小さい場合(S155)には、残差予測フラッグresidual_prediction_flagを参照して向上階層を生成したものではないので、残差予測フラッグを0に設定する(S162)。
前述した過程は、基礎階層の残差データを参照しているか否かと関連した残差予測フラッグの代りに、他の情報をコーディングしてコーディング効率を向上させる場合について説明した。以下、これと類似した方式で、基礎階層の動き情報を参照したかどうかを示す動き予測フラッグの代りに、他の情報をコーディングしてコーディング効率を向上させる場合について説明する。
図6は、ビデオコーディングでの動き予測の例を示す。動き予測とは、基礎階層の動きベクトルを参照して向上階層または現在階層の動きベクトルを予測することを意味する。したがって、動き予測フラッグmotion_prediction_flagが1である場合、基礎階層の動きベクトルを参照して向上階層の動きベクトルを予測する。逆に、0である場合、基礎階層の動きベクトルを参照しない。図6の21及び25は、マクロブロックまたはサブブロック、スライス、フレームのうち、いずれか1つである。説明の便宜上、マクロブロックを中心に説明する。基礎階層のマクロブロック21の動きベクトルと向上階層のマクロブロック25の動きベクトルとを比較すれば、相互同一である。この場合、動き予測フラッグmotion_prediction_flagをコーディングする必要がないので、このステップをスキップする。ここで、両動きベクトルが同じか否かより一定基準(ThresholdMotion)以下である場合には、動き予測フラッグをコーディングしない方式を採用しうる。
一方、基礎階層の動きベクトルと空間的に隣接した領域を通じて求められた動きベクトルを比較して動き予測フラッグmotion_prediction_flagを判断しうる。空間的に隣接する領域から算出された動きベクトルは正確な動きベクトルを提供する。しかし、動き予測が常に正確に行われるものではない。その結果、動きベクトルにおける大きな差をもたらせる。基礎階層の動きベクトルを通じた予測が、空間的動き予測より正確性が劣る場合でも、全般的に合理的な結果を提供する。このような観点で、動き予測フラッグmotion_prediction_flagの予測に、前記両動きベクトルの差を使用しうる。
マクロブロック22とマクロブロック26との動きベクトルの差が特定値ThresholdMV以上である場合には、動き予測フラッグmotion_prediction_flagを1に設定する可能性が高いので、予測決定フラッグPrdMotPrdFlagを1にする。一方、マクロブロック22とマクロブロック26との動きベクトルの差が特定値ThresholdMV以下である場合には、動き予測フラッグmotion_prediction_flagを0に設定する可能性が高いので、予測決定フラッグPrdMotPrdFlagを0にする。
前記過程を経て予測決定フラッグの値を定めれば、この値と動き予測フラッグmotion_prediction_flagとの差を求めてエンコーディングする。差は、動き予測差フラッグmotion_pred_flag_diffに設定してエンコーディングしうる。
図7は、本発明の一実施形態による動き予測フラッグのエンコーディング効率を高めるフローチャートである。まず、基礎階層で予測した動きベクトルPredict_MV_From_BaseLayerと空間的に隣接した領域で予測した動きベクトルPredict_MV_From_Spatiaを求める(S201)。そして、両動きベクトル間の差が特定値ThresholdMotionより小さい場合には、動き予測フラッグをエンコーディングしない(S205)。一方、両動きベクトル間の差が特定値ThresholdMotionより大きい場合には、動き予測フラッグの代りに、動き予測フラッグを予測するための予測決定フラッグを設定する過程に進む。基礎階層で予測した動きベクトルPredict_MV_From_BaseLayerと空間的に隣接した動きベクトルPredict_MV_From_Spatiaとの差が特定値ThresholdMVより大きい場合、または小さい場合によって予測決定フラッグを設定する値が変わる(S210)。
S210において、差が特定値ThresholdMVより大きい場合には、予測決定フラッグを1に設定し(S211)、S210において、差が特定値ThresholdMVより小さい場合には、予測決定フラッグを0に設定する(S212)。S211及びS212ステップで設定した予測決定フラッグの値と動き予測フラッグmotion_prediction_flagとの差である動き予測差フラッグと予測決定フラッグをエンコーディングする(S220)。
図8は、本発明の一実施形態による図7でエンコーディングされたデータをデコーディングするフローチャートである。まず、エンコーディングされたデータから基礎階層で予測した動きベクトル及び空間的に隣接した領域で予測した動きベクトルを求める(S251)。両動きベクトルの差が特定値ThresholdMotionより小さい場合(S255)、エンコーディングされた予測決定フラッグと動き予測差フラッグとの差を通じて動き予測フラッグmotion_prediction_flagを設定する(S261)。エンコーディング側で予測決定フラッグをPrdRpFlag、動き予測差フラッグをmotion_pred_flag_diffとする場合、motion_pred_flag_diff=PrdRpFlag−motion_prediction_flagと求められる。したがって、motion_prediction_flagを求めるためには、PrdRpFlagとmotion_pred_flag_diffとの差を求めるならば得られる。
動きベクトルの差が特定値ThresholdMotionより大きい場合(S255)、動き予測フラッグmotion_prediction_flagを0に設定する(S262)。
図3ないし図8に至る過程で、コーディングするデータの大きさを減らすために基礎階層のデータを参照する過程を説明した。コーディングするデータの大きさを減らすための他の実施形態を説明すれば次の通りである。
図3ないし図8でのコーディング過程は、基礎階層のデータを参照する必要がない場合には、基礎階層のデータを参照することを示すフラッグをコーディングすることを省略するか、フラッグそのものの代わりにこの値を予測するための値をコーディングした。
次の実施形態では、基礎階層のデータを使って残差予測フラッグresidual_pred_flagの値をコーディングすることを省略するか、またはその残差予測フラッグの値を新たに変換した値でコーディングする過程を示す。
基礎階層の残差に存在する非ゼロピクセルの数が0であるか、または基礎階層のcbp(coded block pattern)値が0である場合には、残差予測フラッグの値を予測しうるので、残差予測フラッグをコーディングする過程を省略しうる。そして、その他の場合には、1から残差予測フラッグを差し引いた値をコーディングする。なぜなら、その他の場合には、残差予測フラッグの値が1になる可能性が高い。ところが1をそのままコーディングすれば、エンコーディングされるデータが大きくなるので、これを0に変えてコーディングすることでコーディング効率を高めうる。
VLC(Variable Length Coding)を基盤とするコーディング器の場合、前記の方式はより多くの0を生じるので有用である。コンテキスト基盤の適応的算術コーディングを使用する場合、コーディングしなければならないデータで頻繁に登場するビットまたはビットパターンを効率的に圧縮できるデータで1または0が登場するパターンを調整することによって、全体圧縮率を高めうるのである。コンテキスト基盤の適応的算術コーディングについてさらに詳細に説明すれば、コンテキスト基盤の適応的算術コーディングはシンボルのコンテキスト(Context)に基づいて各シンボルのための確率モデルを選択し、ローカル統計(Local statistics)に基づいてその確率推定値(Probability estimates)を適応させ、算術コーディングを実行することによって、高い圧縮性能を達成する。データシンボルをコーディングする過程は次の通りである。
1.2進化:コンテキスト基盤の適応的算術コーディング技法のうち、2進算術コーディングの場合、2進値でないシンボル値を2進数に変換する。コンテキスト基盤の適応的2進算術コーディング(Context−based Adaptive Binary Arithmetic Coding;以下CABACと称する)は、2進判断(binary decision)だけがエンコーディングされる。2進値でないシンボル、例えば、変換係数、または動きベクトルのような2以上の可能な値を有する任意のシンボルは算術コーディングに先立って2進コードに変換される。この過程は、データシンボルを可変長コードに変換することと類似しているが、2進コードは伝送前に算術コーダによりさらにエンコーディングされる。
以下のないし4.の処理は、2進化されたシンボルの各ビット、すなわち、ビン(bin)に対して反復される。
2.コンテキストモデルの選択:コンテキストモデルは、2進化されたシンボルの1つあるいはそれ以上のビン(Bin)に対する確率モデルであり、最近にコーディングされたデータシンボルの統計に基づいて活用可能なモデルから選択される。コンテキストモデルは、各ビンについて‘1’または‘0’になる確率を保存する。
3.算術エンコーディング:算術エンコーダは、選択された確率モデルに基づいて各ビンをコーディングする。各ビンに対して‘0’と‘1’に該当する2つの部分確率範囲(sub−range)だけがある。
4.確率アップデート:選択された確率モデルは、実際コーディングされた値に基づいてアップデートされる。すなわち、ビンの値が‘1’であれば、‘1’の生起数が1つ増加する。
前述したCABACコーディングは、コンテキストモデルを選択する過程をスライス単位で行うために、コンテキストモデルを構成する確率モデルの確率値は、スライスごとに定値のテーブルに初期化される。CABACコーディングは、最近コーディングされたデータシンボルの統計を反映して、コンテキストモデルをアップデートし続けるために、一定程度の情報が累積されると、既存の可変長コーディング(Variable Length Coding;以下、VLCと称する)より良いコーディング効率を提供しうる。
図9は、前記の過程を説明するフローチャートである。前述したように、基礎階層の残差エネルギーの値またはCBP値を参照して残差予測フラッグresidual_pred_flagの値をコーディングしいか、またはその残差予測フラッグの値を新たに変換した値でコーディングする。
基礎階層の残差データを求める(S301)。基礎階層の残差データのエネルギーが0であるか、またはCBPが0である場合(S302)には、基礎階層の残差データがいずれもゼロピクセルであるということを意味するので、上位階層でこれを参照しない。したがって、残差予測フラッグresidual_pred_flagをコーディングする必要がない。
一方、基礎階層の残差データのエネルギーが0でないか、CBPが0でない場合、すなわち、基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグresidual_pred_flagの意味がある。したがって、残差予測フラッグresidual_pred_flagの値を求める(S312)。そして、1から残差予測フラッグresidual_pred_flagを引いた値、すなわち、1−residual_pred_flagの反転残差予測フラッグreversed_residual_pred_flagの値を求めて、これをエンコーディングする(S316)。
図10は、前記図9で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。基礎階層の残差データを求める(S351)。基礎階層の残差データのエネルギーが0であるか、またはCBPが0である場合(S352)には、向上階層で予測するデータが存在しないので、残差予測フラッグresidual_pred_flagの値を0に設定する(S364)。一方、S352ステップで基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグresidual_pred_flagの意味がある。図9において、エンコーディングされたデータは、1−residual_pred_flagの値を有する反転残差予測フラッグreversed_residual_pred_flagであるために、デコーディングされた反転残差予測フラッグを1から引いた値である1−reversed_residual_pred_flagを求めて残差予測フラッグresidual_pred_flagを求めうる。
図9及び図10で説明した過程は、残差予測フラッグを基礎階層の残差データを通じてコーディング如何を判断し、コーディングする場合には、逆値を使用することによって、コーディング効率を向上させる実施形態であった。
次いで、コンテキスト基盤の適応的算術コーディングの方式を適用するに当たって、データをコーディングする場合、変更されたコンテキスト(modified context)を基準に残差予測フラッグをコーディングすることを説明する。コンテキスト基盤の適応的算術コーディングは、前述したようにコンテキストを基盤としてシンボルをコーディングする。したがって、コンテキストモデルが0にバイアスされたか、1にバイアスされたかによって、コーディング効率が変わる。例えば、0にバイアスされたコンテキストである場合、このコンテキストをもって0の多いデータ圧縮するときに圧縮率が高い。一方、1にバイアスされたコンテキストの場合、このコンテキストをもって1の多いデータ圧縮するときに圧縮率が高い。ところが、図9で説明したように、残差予測フラッグコーディングが行われる場合には、残差予測フラッグは1になる可能性が高い。したがって、この場合には、変更されたコンテキストを適用しシンボル1にバイアスされたコンテキストをもって残差予測フラッグをコーディングする。
図11は、コンテキストを変更して残差予測フラッグをコーディングする過程を示すフローチャートである。前述したように、基礎階層の残差エネルギーの値またはCBP値を参照して残差予測フラッグresidual_pred_flagの値をまったくコーディングしないか、または、その値をシンボル1にバイアスされたコンテキストを使用してコーディングする過程を示す。
基礎階層の残差データを求める(S401)。基礎階層の残差データのエネルギーが0であるか、またはCBPが0である場合(S402)には、基礎階層の残差データがいずれもゼロピクセルであることを意味するので、上位階層でこれを参照しない。したがって、残差予測フラッグresidual_pred_flagをコーディングする必要はない。一方、多階層構造multi−layerstructureを使用する場合には、最下位階層からCBPが累積されうる。この際、基礎階層から累積され続けたCBP値が0である場合も、残差予測フラッグをコーディングする必要がない。したがって、コーディング過程を省略して進む。
一方、基礎階層の残差データのエネルギーが0でないか、累積されたCBPが0でない場合、すなわち、基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグresidual_pred_flagの意味がある。したがって、残差予測フラッグresidual_pred_flagの値を求める(S412)。そして、残差予測フラッグresidual_pred_flagの値が1である可能性が高いので、シンボル1にバイアスされたコンテキストをもって残差予測フラッグresidual_pred_flagをエンコーディングする(S416)。
図12は、図11で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。基礎階層の残差データを求める(S451)。基礎階層の残差データのエネルギーが0であるか、または累積されたCBPが0である場合(S452)には、向上階層で予測するデータが存在しないので、残差予測フラッグresidual_pred_flagの値を0に設定する(S464)。一方、S452ステップで基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグresidual_pred_flagの意味がある。したがって、残差予測フラッグresidual_pred_flagをデコーディングするが、この際、シンボル1にバイアスされたコンテキストをもってデコーディングする(S462)。そして、残差予測フラッグresidual_pred_flagの値によって向上階層のデータを求める(S470)。
前記実施形態以外にも基礎階層の残差データのエネルギーまたはCBP(coded block pattern)の値を参照して、残差予測フラッグをコーディングするか否かを決定しうる。基礎階層の残差データのエネルギーまたはCBPが一定範囲に入る場合には、残差予測フラッグをコーディングしない方式で進めうる。これに対するコード(pseudo code)を説明すれば、次の通りである。
If(基礎階層の残差データのエネルギーまたはCBPが0である場合)
then
residual_prediction_flagをコーディングしない。
else
residual_prediction_flagをコーディングする。
デコーディング側でも基礎階層をデコーディングした結果、基礎階層の残差データのエネルギーまたはCBPが0である場合には、基礎階層に対する残差予測を行わずに、デコーディングを進める。そして、その他の場合には、residual_prediction_flagの値をデコーディングする。これについてのコード(pseudo code)を説明すれば次の通りである。
If(基礎階層の残差データのエネルギーまたはCBPが0である場合)
then
residual_prediction_flagをデコーディングしない。
else
residual_prediction_flagをデコーディングする。
一方、基礎階層の残差データによってコーディングを異ならせる実施形態を説明すれば図13のようである。基礎階層の残差データを求める(S501)。残差データを求めた結果、残差データのエネルギーが0であるか、またはCBPが0である場合には、残差予測フラッグresidual_prediction_flagの値が0であるために、残差予測フラッグの値が0である時、エンコーディング効率の高い方法を使用する(S520)。例えば、コーディング方法としてCABACが使用される場合、‘0’である確率が‘1’である確率よりさらに高い値を有するCABACコンテキストモデルの確率モデルを使用して、残差予測フラッグresidual_prediction_flagをコーディングする。
一方、基礎階層の残差データのエネルギーが0でないか、cbpが0でない場合には、残差予測フラッグresidual_prediction_flagの値が1である可能性が高い。したがって、残差予測フラッグresidual_prediction_flagの値が1である場合に効率が高い方法を使用する(S530)。例えば、コーディング方法としてCABACが使われる場合、‘1’の確率が‘0’の確率よりさらに高い値を有するCABACコンテキスト確率モデルを使用して残差予測フラッグresidual_prediction_flagをコーディングする。
図13の過程をコード(pseudo code)を通じて説明すれば次のようである。
If(基礎階層の残差データのエネルギー=0またはCBP=0である場合)
then
residual_prediction_flagが‘0’である場合に効率が高い方法を使用してコーディングする。
else
residual_prediction_flagが‘1’である場合に効率が高い方法を使用してコーディングする。
基礎階層、FGS(fine−granularity scalability[精細粒度スケーラビリティー])階層、そして向上階層で構成されたビデオコーディング方式では、残差データエネルギーのCBP値は基礎階層またはFGS階層で参照しうる。
デコーディング過程もこれと類似している。基礎階層の残差データを求め、残差データを求めた結果、残差データのエネルギーが0であるか、またはCBPが0である場合には、残差予測フラッグresidual_prediction_flagの値が0であるために、残差予測フラッグの値が0である時、エンコーディング効率が高い方法によってエンコーディングされたビデオデータをデコーディングする。例えば、CABACを通じてビデオエンコーディングがなされた場合、‘0’の確率が‘1’の確率よりさらに高い値を有するCABACコンテキスト確率モデルを使用してビデオデータをデコーディングし、残差予測フラッグresidual_prediction_flagを求める。
一方、基礎階層の残差データのエネルギーが0でないか、cbpが0でない場合には、残差予測フラッグresidual_prediction_flagの値が1である可能性が高いと判断し、エンコーディング効率が高い方法を使用してビデオ信号をエンコーディングすることによって、デコーディング時にもこれを考慮してデコーディングする。例えば、コーディング方法としてCABACが使われる場合、‘1’の確率が‘0’の確率よりさらに高い値を有するCABACコンテキスト確率モデルを使用してビデオデータをデコーディングし、残差予測フラッグresidual_prediction_flagを求める。デコーディング過程をコードで説明すれば次の通りである。
If(基礎階層の残差データのエネルギー=0またはCBP=0である場合)
then
residual_prediction_flagが‘0’である場合に効率が高い方法を使用してデコーディングする。
else
residual_prediction_flagが‘1’である場合に効率が高い方法を使用してデコーディングする。
図13において、S520では残差予測フラッグresidual_prediction_flagが0である場合、またはS530では残差予測フラッグresidual_prediction_flagが1である場合に各々効率が高い方法を使用する。この際、効率が高い方法のうち1つとして、エントロピーコーディング時にコンテキストモデルを変えることを挙げられる。一実施形態でCABACコーディングを行う場合、コンテキストモデルを変えてコーディングする過程を説明すれば、図14のようである。基礎階層の残差データを求める(S601)。残差データを求めた結果、残差データのエネルギーが0であるか、またはCBPが0である場合(S610)には、残差予測フラッグresidual_prediction_flagの値が0であるために、CABACコンテキストモデルの確率値を、‘0’の確率が‘1’の確率よりさらに高い値を有するように設定してresidual_prediction_flagをコーディングする(S620)。一方、S610ステップで基礎階層の残差データが0でない場合、またはCBP値が0でない場合には、残差予測フラッグresidual_prediction_flagの値が1である場合が多いので、CABACコンテキストモデルの確率値を、‘1’の確率が‘0’の確率よりさらに高い値を有するように設定してresidual_prediction_flagをコーディングする(S630)。
図15は、図14の過程を通じてエンコーディングされたビデオデータをデコーダでデコーディングする過程を示すフローチャートである。デコーダは、受信されたビットストリームで基礎階層デコーディングを行い、基礎階層の残差データを求める(S651)。そして、coded_pattern_blockの諸ビットを求める(S652)。coded_pattern_blockにおける下位4ビットはCodedBlockPatternLumaに割り当て、上位2ビットはCodedBlockPatternChromaに割り当てる(S653)。CodedBlockPatternLumaの値は、マクロブロックを構成する4個のサブブロックに対するCBP値であることが分かる。CodedBlockPatternChromaの値は、DC成分とAC成分に対するCBP値であることが分かる。coded_pattern_blockとCodedBlockPatternLuma、CodedBlockPatternChromaの構成を説明すれば、表1のようである。coded_pattern_blockは、各ビットが示すサブブロックまたはマクロブロックにおける非ゼロピクセルの存否についての情報を提供する。
Figure 2006304307
bit[0]は、マクロブロックを4分割した8x8大きさの輝度ブロック(lumablock)のうち、左上の8×8輝度ブロックに非ゼロピクセルが存在する場合となる。bit[1]は、右上の8×8輝度ブロック、bit[2]は左下の8×8輝度ブロック、そしてbit[2]は右下の8×8輝度ブロックにそれぞれ非ゼロピクセルが存在する場合1の値をもつ
またbit[4]及びbit[5]は、マクロブロックで色度情報のDC成分とAC成分に非ゼロピクセルが存在する場合、1の値を有する。
したがって、coded_block_patternの値(CBP)を検討すれば、非ゼロピクセルの存否を判断しうる。S660ステップで、CodedBlockPatternLumaを構成する4つのbitのうち、1であるbitが1つ以上存在するか、CodedBlockPatternChromaの値が0より大きい場合には、残差データに非ゼロピクセルが存在することを示すので、この際には残差予測フラッグresidual_prediction_flagが1になる可能性が高い。したがって、エントロピーデコーディングに必要なコンテキストモデルを設定するために、ctxIdxIncの値を1に設定する(S670)。ctxIdxIncの値を1に設定すれば、前述した残差予測フラッグresidual_prediction_flagが‘1’である場合に、効率の高い方法でエンコーディングされたデータをデコーディングする。一実施形態で、CABACコンテキストモデルの確率値を、‘1’の確率が‘0’の確率よりさらに高い値を有するように設定してデコーディングする。
一方、S660ステップで、CodedBlockPatternLumaを構成する4つのbitのうち、1であるビットが存在しないか、CodedBlockPatternChromaの値が0である場合には、残差データに非ゼロピクセルが存在しないことを示すので、この時には残差予測フラッグresidual_prediction_flagが0になる。したがって、エントロピーデコーディングに必要なコンテキストモデルを設定するためにctxIdxIncの値を0に設定する(S670)。ctxIdxIncの値を0に設定すれば、前述した残差予測フラッグresidual_prediction_flagが‘0’である場合に、効率が高い方法でエンコーディングされたデータをデコーディングする。一実施形態で、CABACコンテキストモデルの確率値を、‘0’の確率が‘1’の確率よりさらに高い値を有するように設定してデコーディングする。
S670またはS680過程で、ctxIdxIncの値を設定すれば、決定された値をもってエントロピーデコーディングを行う(S690)。
S660ステップは、coded_block_patternに1であるビットが存在している否かを検討する過程である。前述したようにCodedBlockPatternLumaとCodedBlockPatternChromaとにcoded_block_patternを割り当てる。CodedBlockPatternLumaを通じて非ゼロピクセルを探す過程を説明すれば次の通りである。
for(luma8x8BlkIdx=0;,i<=3;,i++){
if((CodedBlockPatternLuma>>luma8x8BlkIdx)&1)and
(現在マクロブロックがinter−macroblock))
then
residualAvailLuma8x8Blk=1;,
break;,
else
residualAvailLuma8x8Blk=0;,

CodedBlockPatternLumaの各ビットが1であるかを把握するために、luma8x8BlkIdx別に&ビット演算を行い、現在マクロブロックがインターマクロブロック(inter macroblock)の場合であるかを検討して、真である場合には、residualAvailLuma8x8Blkを1に設定し、その他の場合には、0に設定する。residualAvailLuma8x8Blk値は、baseResidualAvailLuma8x8Blkを設定し、その結果、エントロピーデコーディング時にコンテキストモデルを決定するctxIdxIncの値を決定する。
CodedBlockPatternChromaを通じて非ゼロピクセルを探す過程を説明すれば次の通りである。
if(CodedBlockPatternChroma!=0)and
(現在マクロブロックがinter−macroblock)
then
residualAvailChroma=1;,
break;,
else
residualAvailChroma=0;,
CodedBlockPatternChromaの値が0でなく、現在マクロブロックがインターマクロブロックであるかを検討して、真である場合には、residualAvailChromaを1に設定し、その他の場合は0に設定する。residualAvailChroma値は、baseResidualAvailChromaを設定し、その結果、エントロピーデコーディング時にコンテキストモデルを決定するctxIdxIncの値を決定する。
したがって、CodedBlockPatternLumaまたはCodedBlockPatternChromaに1であるビットが1つでも存在すれば、残差データに非ゼロピクセルを1つ以上あると判断して、ctxIdxIncを1に設定し、その他の場合は、ctxIdxIncを0に設定してエントロピーデコーディングを行う。
図16は、本発明の一実施形態によるビデオエンコーダの構造を示す例示図である。図16及び後述する図17の説明では、1つの基礎階層と1つの向上階層とを使用する場合を例と挙げるが、さらに多くの階層を用いても下位階層と現在階層との間には、本発明を適用しうるということは当業者ならば十分に分かる。
前記ビデオエンコーダ500は、向上階層エンコーダ400と基礎階層エンコーダ300とに大別されうる。まず、基礎階層エンコーダ300の構成を説明する。
ダウンサンプラー310は、入力されたビデオを基礎階層に合う解像度とフレームレート、またはビデオ映像の大きさによってダウンサンプリングする。解像度面でのダウンサンプリングは、MPEGダウンサンプラーやウェーブレットダウンサンプラーを利用しうる。そして、フレームレート面でのダウンサンプリングは、フレームスキップまたはフレーム補間などの方法を通じて簡単に行われる。ビデオ映像の大きさによるダウンサンプリングは、元の入力されたビデオが16:9であっても、4:3に見られるようにすることを意味する。ビデオ情報において境界領域に該当する情報を除去するか、ビデオ情報を該当画面の大きさに合わせて縮小する方式を使用しうる。
動き推定部350は、基礎階層フレームに対して動き推定を行って基礎階層フレームを構成するパーティション別に動きベクトル(mv)を求める。このような動き推定は、フレームバッファに保存された以前の参照フレームFr’上で、現在フレームFcの各パーティションと最も類似している、すなわち、最もエラーの小さい領域を探す過程であって、固定大きさブロックマッチング方法、または階層的可変サイズブロックマッチングなど多様な方法を使用しうる。前記参照フレームFr’は、フレームバッファ380によって提供されうる。但し、図14の基礎階層エンコーダ300は、復元されたフレームを参照フレームとして利用する方式、すなわち、閉ループ符号化方式を採択しているが、これに限らず、ダウンサンプラー310によって提供される元の基礎階層フレームを参照フレームとして利用する開ループ符号化方式を採択しても良い。
一方、動き推定部350の動きベクトルmvは、仮想領域フレーム生成部390に伝達される。これは、現在フレームの境界領域ブロックの動きベクトルがフレームの中央に向う場合、仮想領域を付加した仮想領域フレームを生成するためである。
動き補償部360は、前記求めた動きベクトルを用いて、前記参照フレームを動き補償(motion compensation)する。そして、差分器315は基礎階層の現在フレームFcと前記動き補償された参照フレームとを差分することによって、残差フレームを生成する。
変換部320は、前記生成された残差フレームに対して、空間的変換を行い、変換係数を生成する。このような空間的変換方法としては、DCT(Discrete Cosine Transform)、ウェーブレット変換などの方法が主に用いられる。DCTを使用する場合、前記変換係数は、DCT係数を意味し、ウェーブレット変換を使用する場合、前記変換係数はウェーブレット係数を意味する。
量子化部330は、変換部320によって生成される変換係数を量子化する。量子化とは、任意の実数値で表現される前記DCT係数を量子化テーブルによって所定の区間に分けて不連続的な値(discrete value)で表し、これを対応するインデックスにマッチングさせる作業を意味する。このように量子化された結果値を量子化係数という。
エントロピー符号化部340は、量子化部330によって生成された量子化係数、動き推定部350で生成された動きベクトルを無損失符号化で基礎階層ビットストリームを生成する。このような無損失符号化方法では、ハフマン符号化、算術符号化、可変長符号化などの多様な無損失符号化方法を使用しうる。
一方、逆量子化部371は、量子化部330から出力される量子化係数を逆量子化する。このような逆量子化過程は、量子化過程の逆に該当する過程であって、量子化過程で使われた量子化テーブルを用いて量子化過程で生成されたインデックスから、それにマッチングされる値を復元する過程である。
逆変換部372は、前記逆量子化された結果値に対して逆空間的変換を行う。このような逆空間的変換は変換部320での変換過程の逆に進行し、具体的に逆DCT変換、逆ウェーブレット変換などが用いられる。
加算器325は、動き補償部360の出力値と逆変換部372の出力値とを加算して現在フレームを復元Fc’し、これをフレームバッファ380に提供する。フレームバッファ380は、前記復元されたフレームを一時保存していて、他の基礎階層フレームのインター予測のために参照フレームとして提供する。
復元されたフレームFc’は、アップサンプラー395を経て向上階層エンコーダ400に提供される。もちろん、基礎階層の解像度と向上階層の解像度とが同一であれば、前記アップサンプリング過程は省略しうる。
次いで、向上階層エンコーダ200の構成を説明する。基礎階層エンコーダ300から提供されたフレームと入力フレームは、差分器410に入力される。差分器210は、前記入力フレームで前記入力された仮想領域を含む基礎階層フレームを差分して残差フレームを生成する。前記残差フレームは、変換部420、量子化部430、及びエントロピー符号化部440を経て向上階層ビットストリームに変換されて出力される。
向上階層エンコーダ400の変換部420は、入力フレームのマクロブロックと基礎階層フレームのマクロブロックの残差信号に対して空間的変換を行って変換係数を生成する。この際、空間的変換方法でDCT、ウェーブレット変換などが使われるということは前述した通りである。DCT使用時のDCT係数またはウェーブレット変換の使用時、ウェーブレット係数は向上階層のマクロブロックが有する特性上、類似性が存在する。したがって、これら係数間に存在する類似性を除去して圧縮率を高める過程を向上階層エンコーダ400の変換部420が行う。
量子化部430の機能及び動作は、基礎階層エンコーダ300の量子化部330の機能及び動作と同じであるために、重複された説明は省略する。量子化部430で算出されたビットストリームをエントロピー符号化部440を通じてエンコーディングする前に符号化情報設定部435を通じて残差予測フラッグresidual_prediction_flagを効率的にエンコーディングするように設定する作業が進む。
符号化情報設定部435は、前述したように、向上階層のデータが基礎階層フレームのデータを参照しているか否かについて、予測データと予測した結果との差をエンコーディングして、以後エントロピー符号化部440でエンコーディングされて伝達する情報の損失は無くせる。変換部420で圧縮のために情報をビットに設定する過程は、残差データを予測する場合(図4、図9、図11、図13、図14)と、動きベクトルを予測する場合(図7)とで前述した通りである。例えば、基礎階層またはFGS階層の残差データのエネルギーが0であるか、またはCBP値が0である場合には、基礎階層の残差データを予測する必要がないので、符号化情報設定部435は残差予測フラッグresidual_prediction_flagをエンコーディングしない。以外の場合には、残差予測フラッグresidual_prediction_flagをコーディングする。この際、コーディングされる残差予測フラッグresidual_prediction_flagの値が1である可能性が高いので、コーディング効率を考慮してエンコーディングするということは、図4、図9、図11、図13及び図14で説明した。
図14の場合を適用する場合、符号化情報設定部435は、基礎階層の残差データのエネルギーが0であるか、CBP値が0である場合には、残差予測フラッグの値が0であるためにCABACコンテキストモデルの確率値を、‘0’の確率が‘1’の確率よりさらに高い値を有するように設定する。一方、基礎階層の残差データが0でない場合、またはCBP値が0でない場合には、残差予測フラッグの値が1である場合が多いので、CABACコンテキストモデルの確率値を、‘1’の確率が‘0’の確率よりさらに高い値を有するように設定する。これは前述したctxIdxIncを0に設定するか、または1に設定する作業を一実施形態とする。
エントロピー符号化部440は、符号化情報設定部435で設定した情報をもって向上階層データを符号化する作業を行う。符号化と関連した他の機能及び動作は、基礎階層エンコーダ300のエントロピー符号化部340の機能及び動作と同様なので、重複される説明は省略する。
図16で示した向上階層エンコーダ400は、基礎階層フレームに対して残差データまたは動きベクトルのように基礎階層フレームを参照しうるデータがエンコーディング過程で基礎階層フレームのデータを参照しているか否かを予測しうる。
図17は、本発明の一実施形態によるビデオデコーダの構造を示す例示図である。前記ビデオデコーダ550は、向上階層デコーダ700と基礎階層デコーダ600とに大別しうる。まず、基礎階層デコーダ600の構成を説明する。
エントロピー復号化部610は、基礎階層ビットストリームを無損失復号化して、基礎階層フレームのテクスチャーデータと、動きデータ(動きベクトル、パーティション情報、参照フレーム番号など)を抽出する。
逆量子化部620は、前記テクスチャーデータを逆量子化する。このような逆量子化過程は、ビデオエンコーダ500端で行われる量子化過程の逆に該当する過程であって、量子化過程で使われた量子化テーブルを用いて量子化過程で生成されたインデックスから、それにマッチングされる値を復元する過程である。
逆変換部630は、前記逆量子化された結果値に対して逆空間的変換を行って、残差フレームを復元する。このような逆空間的変換は、ビデオエンコーダ500端の変換部320での変換過程の逆に進行し、具体的に逆DCT変換、逆ウェーブレット変換などが用いられる。
一方、エントロピー復号化部610は、動きベクトルmvを含む動きデータを動き補償部660に提供する。
動き補償部660は、エントロピー復号化部610から提供される動きデータを用いて、フレームバッファ650から提供される既復元されたビデオフレーム、すなわち、参照フレームを動き補償して動き補償フレームを生成する。
加算器615は、逆変換部630で復元される残差フレームと前記動き補償部660で生成された動き補償フレームを加算して基礎階層ビデオフレームを復元する。復元されたビデオフレームは、フレームバッファ650に一時保存でき、以後の他のフレームの復元のために動き補償部660に参照フレームとして提供しうる。
現在フレームを復元したFc’とのアップサンプラー680を経て向上階層デコーダ700に提供される。したがって、基礎階層の解像度と向上階層の解像度とが同一であれば、前記アップサンプリング過程は省略しうる。もし、基礎階層のビデオ情報が向上階層のビデオ情報と比較して一部領域情報が除去された場合であれば、やはり前記アップサンプリング過程は省略されうる。
次いで、向上階層デコーダ700の構成を説明する。向上階層ビットストリームがエントロピー復号化部710に入力されれば、エントロピー復号化部710は前記入力されたビットストリームを無損失復号化して、非同期フレームに対するテクスチャーデータを抽出する。
そして、前記抽出されたテクスチャーデータは逆量子化部720及び逆変換部730を経て残差フレームに復元される。逆量子化部720の機能及び動作は、基礎階層デコーダ550の逆量子化部620と類似した方式で構成される。
加算器715は、前記復元された残差フレームと基礎階層デコーダ600とから提供される基礎階層フレームを加算してフレームを復元する。
向上階層デコーダ700の逆変換部730が残差フレームを復元するためには、図5、図8、図10、図12、または図15で説明した過程を進めうる。向上階層のデータが基礎階層フレームの復号化されたデータを参照しているか否かを知るために基礎階層フレームを構成するデータ、例えば、残差データまたは動きベクトルなどを検討する。図5で基礎階層の残差データが特定値Thresholdresidualより低い場合、基礎階層の残差データが向上階層の残差データを予測するのに参照にならないので、予測フラッグの値を0に設定する過程が進む。また、図8で説明したように基礎階層の動きベクトルと空間的に隣接した動きベクトルの差を求め、その差が特定値ThresholdMotionより低いか高いかによって、基礎階層の動きベクトルを予測値として使用しないこともあるので、これに該当する情報である動き予測フラッグを0に設定しうる。
その他にも、図10、図12または図15で説明したように基礎階層の残差データのエネルギーが0であるか、CBP値が0か否かによって、基礎階層の残差データが向上階層の残差データを予測するのに参照しうる。コーディング効率を高めるためにエンコーディング側で多様な方法でエンコーディングを行うので、これに適したデコーディング方式を適用して、残差予測フラッグresidual_prediction_flagを求めうる。
図15のデコーディング過程を一実施形態とする場合、パージング部705は、向上階層ビットストリームでcoded_block_patternを求め、このビット内での1の存否を検討する。coded_block_patternを通じて残差データでの非ゼロピクセルの存否を判断しうる。この過程は、図15の説明で前述したので、ここではその詳細な説明を省略する。
パージング部705は、coded_block_patternの他にもbaseResidualAvailLuma8x8Blk[0..3]とbaseResidualAvailChromaの値を通じても、残差データに非ゼロピクセルの存否を判断しうる。パージング部705は、coded_pattern_blockビットを求め、下位4ビットはCodedBlockPatternLumaに割り当て、上位2ビットはCodedBlockPatternChromaに割り当てる。そして、CodedBlockPatternLumaの4ビットのうち、1であるビットの存否を検討し、またCodedBlockPatternChromaの値が0より大きいかを検討する。その結果、CodedBlockPatternLumaの4ビットのうち、1であるビットが1つ以上存在するか、CodedBlockPatternChromaの値が0より大きければ、残差データに非ゼロピクセルを1つ以上有すると判断して、ctxIdxIncを1に設定し、その他の場合はctxIdxIncを0に設定する。パージング部705で設定したctxInxInc値を参照してエントロピー復号化部710はエントロピー復号化(デコーディング)を行う。
以上、図17に示した向上階層デコーダ700は、基礎階層フレームに対してイントラBL予測を通じてデコーディングすることを中心に説明した。それ以外にも、図2で説明したようにインター予測またはイントラ予測方法を選択的に用いてデコーディングしうるということは当業者ならば理解できるであろう。
本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。
本発明の範囲は詳細な説明よりは特許請求の範囲により表れ特許請求の範囲の意味及び範囲、そしてその等価概念から導かれるあらゆる変更または変形された形態が本発明の範囲に含まれると解釈されねばならない。
本発明は、ビデオ信号のエンコーディング及びデコーディングに関連した技術分野に好適に適用されうる。
本願はさまざまな実施の態様を考えることができる。以下に挙げる参考態様はその一例である。
〔参考態様1〕
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップと、
前記エネルギーによって前記残差予測フラッグのコーディング方法を決定するステップと、
前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含むビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様2〕
前記計算された残差データのエネルギーが所定の基準値未満である場合には残差予測フラッグをコーディングする過程が省略され、前記残差データのエネルギーが前記所定の基準値以上である場合には、前記残差予測フラッグのコーディングは、残差予測フラッグの値を予測値と残差予測フラッグの値との差をコーディングすることである、参考態様1に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様3〕
前記残差予測フラッグのコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以上である場合、1から前記残差予測フラッグの値を引いた値をコーディングする方法である参考態様1に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様4〕
前記計算された残差データのエネルギーが所定の基準値未満である場合には残差予測フラッグの値をコーディングする過程が省略され、前記計算された残差データのエネルギーが所定の基準値以上である場合には、前記残差予測フラッグのコーディングは、前記残差予測フラッグの値をシンボル1にバイアスされたコンテキストを使用してコーディングする方法である参考態様1に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様5〕
前記残差予測フラッグのコーディング方法は、前記計算された残差データのエネルギーが所定の基準値未満である場合、前記残差予測フラッグを第1コンテキストモデルを使用してコーディングし、前記計算された残差データのエネルギーが所定の基準値以上である場合、前記残差予測フラッグを第2コンテキストモデルを使用してコーディングする方法であって、前記第1コンテキストモデルは、0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは、1の確率が0の確率より高いコンテキストモデルである、参考態様1に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様6〕
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップは、前記ビデオ信号に存在するCBP(coded_block_pattern)の各ビットを算出するステップと、前記算出されたビットのうち、1の値を有するビットの存否を検討するステップと、を含む参考態様1に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様7〕
前記下位階層は、基礎階層またはFGS階層である参考態様1に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様8〕
前記計算するステップは、前記向上階層が参照する下位階層のエネルギーを合算して計算するステップである参考態様1に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様9〕
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、
前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのコーディング方法を決定するステップと、
前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含むビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様10〕
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが、所定のビット数未満である場合、残差予測フラッグをコーディングする過程を省略し、前記符号化ブロックパターンの各ビットが1であるビットが、所定のビット数以上である場合、残差予測フラッグの値を予測する値と残差予測フラッグの値との差をコーディングする方法である参考態様9に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様11〕
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以上である場合、1から前記残差予測フラッグの値を引いた値をコーディングする方法である参考態様9に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様12〕
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以下である場合、残差予測フラッグの値をコーディングする過程を省略し、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以上である場合、前記残差予測フラッグの値をシンボル1にバイアスされたコンテキストを使用してコーディングする方法である参考態様9に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様13〕
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以下である場合、前記残差予測フラッグを第1コンテキストモデルを使用してコーディングし、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以上である場合、前記残差予測フラッグを第2コンテキストモデルを使用してコーディングする方法であって、前記第1コンテキストモデルは0の確率が1の確率よりさらに高い値を有するコンテキストモデルであり、前記第2コンテキストモデルは1の確率が0の確率よりさらに高い値を有するコンテキストモデルである参考態様9に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様14〕
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップは、前記ビデオ信号に存在するCBP(coded_block_pattern)の下位4ビットを輝度に対する符号化ブロックパターンの値に設定し、上位2ビットを色度に対する符号化ブロックパターンの値に設定するステップを含む参考態様9に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様15〕
前記下位階層は、基礎階層またはFGS階層である参考態様9に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様16〕
前記計算するステップは、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、1であるビットの存否を計算するステップである、参考態様9に記載のビデオ信号の残差予測フラッグをコーディングする方法。
〔参考態様17〕
多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップと、
前記エネルギーによって前記残差予測フラッグのデコーディング方法を決定するステップと、
前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含むビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様18〕
前記残差予測フラッグのデコーディング方法は、前記計算された残差データのエネルギーが所定の基準値未満である場合、残差予測フラッグをデコーディングする過程なしに残差予測フラッグの値を0に設定し、前記計算された残差データのエネルギーが所定の基準値以上である場合、残差予測フラッグの値を予測する値から差を差し引いた値を残差予測フラッグの値に設定する方法である、参考態様17に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様19〕
前記計算された残差データのエネルギーが所定の基準値以上である場合、反転残差予測フラッグに設定された値を1から引いた値が前記残差予測フラッグの値に設定される、参考態様17に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様20〕
前記残差予測フラッグのデコーディング方法は、前記計算された残差データのエネルギーが所定の基準値未満である場合、残差予測フラッグの値をデコーディングする過程を省略し、前記計算された残差データのエネルギーが所定の基準値以上である場合、残差予測フラッグの値をシンボル1にバイアスされたコンテキストを使用してデコーディングする方法である参考態様17に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様21〕
前記残差予測フラッグのデコーディング方法は、前記計算された残差データのエネルギーが所定の基準値未満である場合、前記残差予測フラッグを第1コンテキストモデルを使用してデコーディングし、前記計算された残差データのエネルギーが所定の基準値以上である場合、前記残差予測フラッグを第2コンテキストモデルを使用してデコーディングする方法であって、前記第1コンテキストモデルは、0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは、1の確率が0の確率より高いコンテキストモデルである、参考態様17に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様22〕
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップは、前記ビデオ信号に存在するCBP(coded_block_pattern)の各ビットを算出するステップと、前記算出されたビットのうち、1の値を有するビットの存否を検討するステップと、を含む参考態様17に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様23〕
前記下位階層は、基礎階層またはFGS階層である参考態様17に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様24〕
前記計算するステップは、前記向上階層が参照する下位階層のエネルギーを合算して計算するステップである参考態様17に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様25〕
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、
前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのデコーディング方法を決定するステップと、
前記決定されたコーディング方法によって残差予測フラッグをデコーディングするステップと、を含むビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様26〕
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以下である場合、残差予測フラッグをデコーディングする過程なしに残差予測フラッグの値を0に設定し、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以上である場合、残差予測フラッグの値から差を差し引いた値を残差予測フラッグの値に設定する方法である参考態様25に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様27〕
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以上である場合、反転残差予測フラッグに設定された値から1を差し引いた値を前記残差予測フラッグの値に設定する方法である参考態様25に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様28〕
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以下である場合、残差予測フラッグの値をデコーディングする過程を省略し、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以上である場合、残差予測フラッグの値をシンボル1にバイアスされたコンテキストを使用してデコーディングする方法である参考態様25に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様29〕
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以下である場合、前記残差予測フラッグを第1コンテキストモデルを使用してデコーディングし、前記符号化ブロックパターンの各ビットが1であるビットが所定のビット数以上である場合、前記残差予測フラッグを第2コンテキストモデルを使用してデコーディングする方法であって、前記第1コンテキストモデルは、0の確率が1の確率よりさらに高い値を有するコンテキストモデルであり、前記第2コンテキストモデルは、1の確率が0の確率よりさらに高い値を有するコンテキストモデルである参考態様25に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様30〕
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップは、前記ビデオ信号に存在するCBP(coded_block_pattern)の下位4ビットを輝度に対する符号化ブロックパターンの値に設定し、上位2ビットを色度に対する符号化ブロックパターンの値に設定するステップを含む参考態様25に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様31〕
前記下位階層は、基礎階層またはFGS階層である参考態様25に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様32〕
前記計算するステップは、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、1であるビットの存否を計算するステップである、参考態様25に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様33〕
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を確認するステップと、
前記符号化ブロックパターンを構成するそれぞれのビットに1の値を有するビットの存否を判断するステップと、
前記判断の結果、1の値を有するビットが1つ以上存在する否かかによって前記残差予測フラッグのデコーディング方法を決定するステップと、
前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含むビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様34〕
前記判断するステップは、
前記符号化ブロックパターンの下位4ビットを、輝度の符号化如何を判断する第1変数に設定し、上位2ビットを色度の符号化如何を判断する第2変数に設定するステップと、
マクロブロックのアドレスに割当てられた0ないし3のうち、いずれか1つの大きさほど、前記第1変数を右シフト演算を行い、その結果と1とをANDビット演算を行うステップと、
前記判断の結果、0でない場合、前記符号化ブロックパターンに1を有するビットが存在すると判断するステップと、を含む参考態様33に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様35〕
前記決定するステップは、前記残差予測フラッグのデコーディングに必要なコンテキストモデルを設定するステップであり、前記デコーディングするステップは、前記設定されたコンテキストモデルを使用してエントロピーデコーディングを行うステップである参考態様33に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様36〕
前記エントロピーデコーディングはCABAC(コンテキスト基盤の適応的算術コーディング)方式でデコーディングする参考態様35に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様37〕
前記決定するステップは、前記判断するステップにおいて前記符号化ブロックパターンに1の値を有するビットが1つ以上存在する場合、コンテキストモデルを設定する変数を1に設定し、前記符号化ブロックパターンに1の値を有するビットが存在しない場合、コンテキストモデルを設定する変数を0に設定するステップを含む参考態様33に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様38〕
前記デコーディングするステップは、前記コンテキストモデルを設定する変数が0である場合、前記残差予測フラッグを第1コンテキストモデルを使用してデコーディングし、前記コンテキストモデルを設定する変数が1である場合、前記残差予測フラッグを第2コンテキストモデルを使用してデコーディングする方法であって、前記第1コンテキストモデルは、0の確率が1の確率よりさらに高い値を有するコンテキストモデルであり、前記第2コンテキストモデルは、1の確率が0の確率よりさらに高い値を有するコンテキストモデルである参考態様37に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様39〕
前記下位階層は、基礎階層またはFGS階層である参考態様33に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様40〕
前記確認するステップは、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、1であるビットの存否を計算するステップである参考態様33に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
〔参考態様41〕
多階層ビデオ信号の復号化しようとする向上階層をデコーディングする方法において、
前記向上階層に対応する下位階層の符号化ブロックパターン値から、前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定するステップと、
前記デコーディング方法によって選択されたエントロピー復号化方法によって前記残差予測フラッグを復号化し、前記残差予測フラッグによって前記向上計測を復号化する復号化ステップと、を含むデコーディング方法。
〔参考態様42〕
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする装置において、
前記下位階層ブロックに対する符号化ブロックパターンの値を解釈するパージング部と、
前記符号化ブロックパターン値によって前記残差予測フラッグに対するデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグをデコーディングするデコーディング部と、を備えるデコーディング装置。
〔参考態様43〕
前記パージング部は、前記符号化ブロックパターンの下位4ビットを、輝度の符号化如何を判断する第1変数に設定し、上位2ビットを色度の符号化如何を判断する第2変数に設定し、マクロブロックのアドレスに割当てられた0ないし3のうち、いずれか1つの大きさほど、前記第1変数を右シフト演算を行い、その結果と1とをANDビット演算を行い、前記判断の結果、0でない場合、前記符号化ブロックパターンに1を有するビットが存在すると判断することを特徴とする参考態様42に記載のデコーディング装置。
〔参考態様44〕
前記パージング部は、前記残差予測フラッグのデコーディングに必要なコンテキストモデルを設定し、前記復号化部は、前記設定されたコンテキストモデルを使用してエントロピーデコーディングを行う参考態様42に記載のビデオデコーダ。
〔参考態様45〕
前記エントロピーデコーディングはCABAC(コンテキスト基盤の適応的算術コーディング)方式でデコーディングする参考態様44に記載のビデオデコーダ。
〔参考態様46〕
前記パージング部は、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて1であるビットの存否を判断する参考態様42に記載のビデオデコーダ。
〔参考態様47〕
前記復号化部は、前記コンテキストモデルを設定する変数が0である場合、前記残差予測フラッグを第1コンテキストモデルを使用してデコーディングし、前記コンテキストモデルを設定する変数が1である場合、前記残差予測フラッグを第2コンテキストモデルを使用してデコーディングし、前記第1コンテキストモデルは、0の確率が1の確率よりさらに高い値を有するコンテキストモデルであり、前記第2コンテキストモデルは、1の確率が0の確率よりさらに高い値を有するコンテキストモデルである参考態様46に記載のビデオデコーダ。
〔参考態様48〕
前記下位階層は、基礎階層またはFGS階層である参考態様42に記載のビデオデコーダ。
〔参考態様49〕
前記パージング部は、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、1であるビットの存否を判断する参考態様42に記載のビデオデコーダ。
〔参考態様50〕
多階層ビデオ信号の復号化しようとする向上階層をデコーディングする装置において、
前記向上階層に対応する下位階層の符号化ブロックパターン値を解釈するパージング部と、
前記符号化ブロックパターン値から前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグを逆エントロピー復号化し、前記向上階層を逆エントロピー復号化する逆エントロピー復号化部と、
前記向上階層を逆量子化する逆量子化部と、
前記逆量子化された向上階層を逆時間的変換し、前記残差予測フラッグによって前記下位階層から予測して復号化する逆時間的変換部と、を備えることを特徴とするデコーディング装置。
〔参考態様51〕
多階層基盤のビデオエンコーダにおいて、
(a)入力フレームで基礎階層フレームを生成するステップと、
(b)前記入力フレームで前記基礎階層フレームを参照する向上階層のデータを生成するステップと、
(c)前記基礎階層フレームのデータが前記向上階層のデータを予測できてか否かを判断した結果によって前記向上階層のデータをエンコーディングするステップと、を含むエンコーディング方法。
〔参考態様52〕
前記(a)ステップは、前記基礎階層フレームと時間的差をおく第2フレームと前記基礎階層フレームとの差分による残差データを求めるステップを含み、前記残差データのエネルギーが特定値未満である場合、前記(c)ステップは、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報を除いて、前記向上階層のデータをエンコーディングするステップを含む参考態様51に記載のエンコーディング方法。
〔参考態様53〕
前記特定値は、エネルギーが0である場合である参考態様51に記載のエンコーディング方法。
〔参考態様54〕
前記(a)ステップは、前記基礎階層フレームと時間的差をおく第2フレームと前記基礎階層フレームとの差分による残差データを求めるステップを含み、前記残差データのエネルギーが特定値以上である場合、前記(c)ステップは、
(d)前記基礎階層フレームのデータの動きベクトルと前記向上階層のデータの動きベクトルとの差を計算するステップと、
(e)前記両動きベクトルの差によって前記基礎階層のデータの参照如何を予測する決定情報を設定するステップと、
(f)前記(e)ステップで設定した決定情報と前記基礎階層フレームのデータを参照しているか否かについての情報との差を含む前記向上階層のデータをエンコーディングするステップと、を含む参考態様51に記載のエンコーディング方法。
〔参考態様55〕
前記(c)ステップは、
(d)前記向上階層のデータが前記基礎階層フレームのデータで予測した動きベクトルを求めるステップと、
(e)前記向上階層のデータで空間的に隣接した領域のデータで予測した動きベクトルを求めるステップと、
(f)前記(d)ステップ及び前記(e)ステップで求めた動きベクトルの差が特定値以下である場合、前記向上階層のデータが前記基礎階層フレームの動きベクトルを参照しているか否かについての情報を除いて、前記向上階層のデータをエンコーディングするステップと、を含む参考態様51に記載のエンコーディング方法。
〔参考態様56〕
前記特定値は、差が0である場合である参考態様51に記載のエンコーディング方法。
〔参考態様57〕
前記(c)ステップは、
(d)前記向上階層のデータが前記基礎階層フレームのデータで予測した動きベクトルを求めるステップと、
(e)前記向上階層のデータで空間的に隣接した領域で予測した動きベクトルを求めるステップと、
(f)前記(d)ステップ及び前記(e)ステップで求めた動きベクトルの差によって前記基礎階層フレームのデータの動きベクトルの参照如何を予測するように決定情報を設定するステップと、
(g)前記(f)ステップで設定した決定情報と前記基礎階層フレームのデータの動きベクトルを参照しているか否かについての情報との差を含んで、前記向上階層のデータをエンコーディングするステップと、を含む参考態様51に記載のエンコーディング方法。
〔参考態様58〕
前記(c)ステップの向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む参考態様51に記載のエンコーディング方法。
〔参考態様59〕
前記エンコーディングするステップは、エントロピーのコーディング方式でエンコーディングするステップを含む参考態様51に記載のエンコーディング方法。
〔参考態様60〕
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか1つである参考態様51に記載のエンコーディング方法。
〔参考態様61〕
多階層基盤のビデオデコーダにおいて、
(a)入力された基礎階層フレームをデコーディングするステップと、
(b)前記デコーディングされた基礎階層フレームのデータが、前記基礎階層フレームを参照する向上階層のデータの予測に必要か否かを判断するステップと、
(c)前記判断した結果によって前記向上階層のデータをデコーディングするステップと、を含むデコーディング方法。
〔参考態様62〕
前記(b)ステップの基礎階層フレームのデータが前記基礎階層フレームと時間的差をおく第2フレームとの差分による残差データを含んで前記残差データのエネルギーが特定値以下である場合、前記(c)ステップは、前記向上階層のデータが前記基礎階層フレームのデータを参照しないものと予測情報を設定して、前記向上階層のデータをデコーディングするステップを含む参考態様61に記載のデコーディング方法。
〔参考態様63〕
前記特定値は、エネルギーが0である場合である参考態様61に記載のデコーディング方法。
〔参考態様64〕
前記(b)ステップの基礎階層フレームのデータが、前記基礎階層フレームと時間的差をおく第2フレームとの差分による残差データを含み、前記残差データのエネルギーが特定値以上である場合、前記(c)ステップは、
(d)前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームの残差データを参照して予測するか否かを決定する決定情報と、前記決定情報と前記基礎階層フレームの残差データとを参照して予測するか否かについての予測情報の差に関する値を含む情報をデコーディングするステップを含む参考態様61に記載のデコーディング方法。
〔参考態様65〕
前記(b)ステップは、(f)前記(d)ステップ及び前記(e)ステップで求めた動きベクトルの差が特定値以下である場合、前記(c)ステップは、前記向上階層のデータが前記基礎階層フレームのデータの動きベクトルを参照しないもので前記予測情報を設定して、前記向上階層のデータをデコーディングするステップを含む参考態様61に記載のデコーディング方法。
〔参考態様66〕
前記特定値は、差が0である場合である参考態様61に記載のデコーディング方法。
〔参考態様67〕
前記(c)ステップは、前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームの動きベクトルを参照して予測するか否かを決定する決定情報と、前記決定情報と前記基礎階層フレームの動きベクトルを参照して予測するか否かについての予測情報の差に関する値を含む情報をデコーディングするステップを含む参考態様61に記載のデコーディング方法。
〔参考態様68〕
前記(c)ステップの向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差に関する値を含む参考態様61に記載のデコーディング方法。
〔参考態様69〕
前記デコーディングするステップは、エントロピーのデコーディング方式でデコーディングするステップを含む参考態様61に記載のデコーディング方法。
〔参考態様70〕
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか1つである参考態様61に記載のデコーディング方法。
〔参考態様71〕
入力フレームで基礎階層フレームを生成する基礎階層エンコーダと、
前記入力フレームで前記基礎階層フレームを参照する向上階層のデータを生成する向上階層エンコーダと、を備え、
前記向上階層エンコーダは、前記基礎階層フレームのデータが前記向上階層のデータを予測できるか否かを判断した結果によって、前記向上階層のデータをエンコーディングする変換部を備えるビデオエンコーダ。
〔参考態様72〕
前記残差データのエネルギーが特定値以下である場合、前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報を除いて前記向上階層のデータをエンコーディングする参考態様71に記載のビデオエンコーダ。
〔参考態様73〕
前記特定値は、エネルギーが0である場合である参考態様71に記載のビデオエンコーダ。
〔参考態様74〕
前記残差データのエネルギーが特定値以上である場合、前記変換部は、前記基礎階層フレームのデータの動きベクトルと前記向上階層のデータの動きベクトルとの差を計算し、前記両動きベクトルの差によって前記基礎階層のデータの参照如何を予測する決定情報を設定し、前記設定した決定情報と前記基礎階層フレームのデータを参照しているか否かについての情報との差を含んで前記向上階層のデータをエンコーディングする参考態様71に記載のビデオエンコーダ。
〔参考態様75〕
前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測した動きベクトルと前記向上階層のデータで空間的に隣接した領域のデータで予測した動きベクトルとを求め、前記両動きベクトルの差が特定値以下である場合、前記向上階層のデータが前記基礎階層フレームの動きベクトルを参照しているか否かについての情報を除いて前記向上階層のデータをエンコーディングする参考態様71に記載のビデオエンコーダ。
〔参考態様76〕
前記特定値は、エネルギーが0である場合である参考態様71に記載のビデオエンコーダ。
〔参考態様77〕
前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測した動きベクトルと前記向上階層のデータで空間的に隣接した領域で予測した動きベクトルとを求め、前記両動きベクトルの差によって前記基礎階層フレームのデータの動きベクトルの参照如何を予測するように決定情報を設定し、前記設定した決定情報と前記基礎階層フレームのデータの動きベクトルを参照しているか否かについての情報との差を含んで前記向上階層のデータをエンコーディングする参考態様71に記載のビデオエンコーダ。
〔参考態様78〕
前記向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む参考態様71に記載のビデオエンコーダ。
〔参考態様79〕
前記変換部は、エントロピーのコーディング方式でエンコーディングする参考態様71に記載のビデオエンコーダ。
〔参考態様80〕
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか1つである参考態様71に記載のビデオエンコーダ。
〔参考態様81〕
入力された基礎階層フレームをデコーディングする基礎階層デコーダと、
前記基礎階層フレームを参照して向上階層のデータをデコーディングする向上階層デコーダと、を備え、
前記向上階層デコーダは、前記デコーディングされた基礎階層フレームのデータが前記基礎階層フレームを参照する向上階層のデータの予測に必要か否かを判断し、前記判断した結果によって前記向上階層のデータをデコーディングする逆変換部を備えるビデオデコーダ。
〔参考態様82〕
前記基礎階層フレームのデータが前記基礎階層フレームと時間的差をおく第2フレームとの差分による残差データを含み、前記残差データのエネルギーが特定値以下である場合、前記逆変換部は、前記向上階層のデータが前記基礎階層フレームのデータを参照しないものと予測情報を設定して前記向上階層のデータをデコーディングする参考態様81に記載のビデオデコーダ。
〔参考態様83〕
前記特定値は、エネルギーが0である場合である参考態様81に記載のビデオデコーダ。
〔参考態様84〕
前記基礎階層フレームのデータが前記基礎階層フレームと時間的差をおく第2フレームとの差分による残差データを含み、前記残差データのエネルギーが特定値以上である場合、前記逆変換部は、前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームの残差データを参照して予測するか否かを決定する決定情報と、前記決定情報と前記基礎階層フレームとの残差データを参照して予測するか否かについての予測情報の差に対する値を含む情報をデコーディングする参考態様81に記載のビデオデコーダ。
〔参考態様85〕
前記逆変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測した動きベクトルと前記向上階層のデータで空間的に隣接した領域で予測した動きベクトルとを求め、前記両動きベクトルの差が特定値以下である場合、前記向上階層のデータが前記基礎階層フレームのデータの動きベクトルを参照しないものと前記予測情報を設定して前記向上階層のデータをデコーディングする参考態様81に記載のビデオデコーダ。
〔参考態様86〕
前記特定値は、エネルギーが0である場合である参考態様81に記載のビデオデコーダ。
〔参考態様87〕
前記逆変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測した動きベクトルと前記向上階層のデータで空間的に隣接した領域で予測した動きベクトルとを求め、前記両動きベクトルの差が特定値以上である場合、前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームの動きベクトルを参照して予測するか否かを決定する決定情報と、前決定情報と前記基礎階層フレームの動きベクトルを参照して予測するか否かについての予測情報との差に対する値を含む情報をデコーディングする参考態様81に記載のビデオデコーダ。
〔参考態様88〕
前記向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む参考態様81に記載のビデオデコーダ。
〔参考態様89〕
前記逆変換部は、エントロピーのデコーディング方式でデコーディングする参考態様81に記載のビデオデコーダ。
〔参考態様90〕
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか1つである参考態様81に記載のビデオデコーダ。
多階層構造を用いたスケーラブルビデオコーデックを示す図である。 前記3種の予測方法を説明する概略図である。 ビデオコーディングでの残差予測の例を示す例示図である。 本発明の一実施形態による残差予測フラッグのエンコーディング効率を高めるフローチャートである。 本発明の一実施形態による図4でエンコーディングされたデータをデコーディングするフローチャートである。 ビデオコーディングでの動き予測(Residual prediction)の例を示す例示図である。 本発明の一実施形態による動き予測フラッグのエンコーディング効率を高めるフローチャートである。 本発明の一実施形態による図7でエンコーディングされたデータをデコーディングするフローチャートである。 本発明の一実施形態による反転残差予測データをエンコーディングする過程を説明するフローチャートである。 図9で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。 本発明の一実施形態によるコンテキストを変更して残差予測フラッグをコーディングする過程を示すフローチャートである。 図11で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。 本発明の一実施形態による基礎階層の残差データによってコーディングを異ならせる実施形態を示すフローチャートである。 本発明の一実施形態によるCABACコーディングを行う場合、コンテキストモデルを変えてコーディングする過程を示すフローチャートである。 図14の過程を通じてエンコーディングされたビデオデータをデコーダがデコーディングする過程を示すフローチャートである。 本発明の一実施形態によるビデオエンコーダの構造を示す例示図である。 本発明の一実施形態によるビデオデコーダの構造を示す例示図である。
符号の説明
300 基礎階層エンコーダ
400 向上階層エンコーダ
420 向上階層エンコーダの変換部
435 向上階層エンコーダの符号化設定情報部
500 ビデオエンコーダ
550 ビデオデコーダ
600 基礎階層デコーダ
705 パージング部
710 エントロピー復号化部
730 向上階層デコーダの逆変換部

Claims (111)

  1. 多階層ビデオ信号の向上階層を構成するブロックの残差データが対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをコーディングする方法において、
    前記下位階層の対応するブロックの残差データのエネルギーと前記下位階層の対応するブロックのCBP(coded_block_pattern[符号化ブロックパターン])の値とのうちの少なくとも一つを含む前記下位階層の対応するブロックについての特性データを計算するステップと、
    前記特性データ応じて前記残差予測フラッグのコーディング方法を決定するステップと、
    前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含む方法。
  2. 前記特性データが所定の閾値未満である場合には残差予測フラッグのコーディングは省略され、前記特性データが前記所定の閾値以上である場合には、前記残差予測フラッグのコーディングは、前記残差予測フラッグの値の予測値と前記残差予測フラッグの値との差をコーディングすることである、請求項1に記載の方法。
  3. 前記残差予測フラッグのコーディングが、前記特性データが前記所定の閾値以上である場合、1から前記残差予測フラッグの値を引いた値をコーディングすることである、請求項1に記載の方法。
  4. 前記特性データが所定の閾値未満である場合には残差予測フラッグのコーディングは省略され、前記特性データが前記所定の閾値以上である場合には、前記残差予測フラッグのコーディングは、シンボル1にバイアスされたコンテキストモデルを使用して実行される、請求項1に記載の方法。
  5. 前記残差予測フラッグのコーディングが、前記特性データが所定の閾値未満である場合には第1コンテキストモデルを使用して実行され、前記特性データが前記所定の閾値以上である場合には第2コンテキストモデルを使用して実行される方法であって、前記第1コンテキストモデルは、0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは1の確率が0の確率より高いコンテキストモデルである、請求項1に記載の方法。
  6. 前記下位階層が基礎階層またはFGS階層である、請求項1に記載の方法。
  7. 前記下位階層のブロックの残差データのエネルギーが前記下位階層のブロックにおける0でないピクセルの数であり、
    前記下位階層のブロックのCBPの値が該CBPにおける1の値をもつビット数である、
    請求項1に記載の方法。
  8. 前記CBPの値が、CodedBlockPatternLumaと呼ばれる輝度情報についてのCBP下位4ビットおよびCodedBlockPatternChromaと呼ばれる色度情報についてのCBPの上位2ビットの値を含む、請求項1に記載の方法。
  9. 前記残差データのエネルギーを計算することが、前記向上階層が参照する下位階層のエネルギーを合算して計算することである、請求項1に記載の方法。
  10. 前記下位階層のブロックのCBSを計算することが、前記下位階層のブロックにおけるCBPの各ビットが1の値をもつかどうかを判定することを含む、請求項1に記載の方法。
  11. 多階層ビデオ信号の向上階層を構成するブロックの残差データが、対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをデコーディングする方法において、
    前記下位階層の対応するブロックの残差データのエネルギーと前記下位階層の対応するブロックのCBP(coded_block_pattern[符号化ブロックパターン])の値とのうちの少なくとも一つを含む前記下位階層の対応するブロックについての特性データを計算するステップと、
    前記特性データに応じて前記残差予測フラッグのデコーディング方法を決定するステップと、
    前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む方法。
  12. 前記残差予測フラッグのデコーディングは、
    前記特性データが所定の閾値未満である場合には、残差予測フラッグをデコーディングすることなく残差予測フラッグの値を0に設定し、
    前記特性データが前記所定の閾値以上である場合には、残差予測フラッグの値を、残差予測差フラッグと当該残差予測フラッグの予測値との差に設定することを含んでおり、ここで、前記残差予測差フラッグとは当該残差予測フラッグの予測値と当該残差予測フラッグとの差に対応する、請求項11に記載の方法。
  13. 前記特性データが所定の閾値以上である場合、前記のデコーディングされた残差予測フラッグを反転させることをさらに含んでおり、ここで、前記のデコーディングされた残差予測フラッグを反転させることは前記のデコーディングされた残差予測フラッグを1から引いた値を計算することを含む、請求項11に記載の方法。
  14. 前記残差予測フラッグのデコーディングは、
    前記特性データが所定の閾値未満である場合には、残差予測フラッグの値をデコーディングする過程を省略し、
    前記特性データが所定の閾値以上である場合には、残差予測フラッグの値をシンボル1にバイアスされたコンテキストモデルを使用してデコーディングすることである、請求項11に記載の方法。
  15. 前記残差予測フラッグのコーディングはコンテキスト基盤の適応的2進算術コーディング(CABAC)を使って実行されており、
    前記特性データが所定の閾値未満である場合には、前記残差予測フラッグを第1コンテキストモデルを使用してデコーディングし、
    前記特性データが所定の閾値以上である場合には、前記残差予測フラッグを第2コンテキストモデルを使用してデコーディングすることであって、前記第1コンテキストモデルは0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは1の確率が0の確率より高いコンテキストモデルである、請求項11に記載の方法。
  16. 前記下位階層が基礎階層またはFGS階層である、請求項11に記載の方法。
  17. 前記下位階層のブロックの残差データのエネルギーが前記下位階層のブロックにおける0でないピクセルの数であり、
    前記下位階層のブロックのCBPの値が該CBPにおける1の値をもつビット数である、
    請求項11に記載の方法。
  18. 前記CBPの値が、CodedBlockPatternLumaと呼ばれる輝度情報についてのCBP下位4ビットおよびCodedBlockPatternChromaと呼ばれる色度情報についてのCBPの上位2ビットの値を含む、請求項11に記載の方法。
  19. 前記残差データのエネルギーを計算することが、前記向上階層が参照する下位階層のエネルギーを合算して計算することである、請求項11に記載の方法。
  20. 前記下位階層のブロックのCBSを計算することが、前記下位階層のブロックにおけるCBPの各ビットが1の値をもつかどうかを判定することを含む、請求項11に記載の方法。
  21. 多階層ビデオ信号の向上階層を構成するブロックの残差データが、対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをデコーディングする方法において、
    前記下位階層のブロックにおけるCBP(符号化ブロックパターン)の値を確認するステップと、
    前記下位階層におけるCBPの各ビットが1の値をもつかどうかを判定するステップと、
    前記下位階層におけるCBPの少なくとも一つのビットが1の値をもつかどうかに応じて前記残差予測フラッグのデコーディング方法を決定するステップと、
    前記決定されたデコーディング方法によって前記残差予測フラッグをデコーディングするステップと、を含む方法。
  22. 前記CBPの各ビットが1の値をもつかどうかを判定するステップは、
    前記CBPの下位4ビットを、輝度情報の符号化を決定するのに使われる第1変数に設定し、上位2ビットを色度情報の符号化を決定する第2変数に設定するステップと、
    マクロブロックのアドレスに割当てられた0ないし3のうちから選ばれる数だけ、前記第1変数のビットを右シフトさせる演算を行い、その結果と1とのANDビット演算を行うステップと、
    前記ANDビット演算の結果が0でない場合、前記CBPの少なくとも一つのビットが1の値を有すると判定するステップと、を含む請求項21に記載の方法。
  23. 前記デコーディング方法を決定するステップは、前記残差予測フラッグのデコーディングのためのコンテキストモデルを設定することを含み、前記残差予測フラッグをデコーディングするステップは、前記設定されたコンテキストモデルを使用してエントロピーデコーディングを行うステップであり、ここで、エントロピーデコーディングはCABACの逆演算である、請求項21に記載の方法。
  24. 前記エントロピーデコーディングはCABAC(コンテキスト基盤の適応的2進算術コーディング)方式で実行される、請求項21に記載の方法。
  25. 前記デコーディング方法を決定するステップは、
    前記判定するステップにおいて前記CBPに1の値を有するビットが1つ以上存在する場合、コンテキストモデルを選択する変数を1に設定し、前記CBPに1の値を有するビットが存在しない場合、コンテキストモデルを選択する変数を0に設定するステップを含む、請求項21に記載の方法。
  26. 前記残差予測フラッグをデコーディングするステップにおいて、
    前記コンテキストモデルを選択する変数が0である場合、前記残差予測フラッグは0の確率が1の確率より高いコンテキストモデルを使用してデコーディングされ、
    前記コンテキストモデルを選択する変数が1である場合、前記残差予測フラッグは1の確率が0の確率より高いコンテキストモデルを使用してデコーディングされる、請求項25に記載の方法。
  27. 前記下位階層が基礎階層またはFGS階層である、請求項21に記載の方法。
  28. 前記確認するステップにおいて、前記向上階層の予測に使われる下位階層のブロックのCBPの各ビットが1の値をもつかどうかが判定される、請求項21に記載の方法。
  29. 多階層ビデオ信号の向上階層をデコーディングする方法において、
    下位階層のCBP(符号化ブロックパターン)の値を使って、前記向上階層が前記下位階層から予測されたものであるかどうかを示す残差予測フラッグのデコーディング方法を決定するステップと、
    前記デコーディング方法によって選択されたエントロピー復号化方法によって前記残差予測フラッグをデコーディングし、前記残差予測フラッグを使って前記向上階層をデコーディングするステップと、を含むデコーディング方法。
  30. 多階層ビデオ信号の向上階層を構成するブロックの残差データが対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをコーディングするビデオエンコーダであって、
    前記下位階層の対応するブロックの残差データのエネルギーと前記下位階層の対応するブロックのCBP(coded_block_pattern[符号化ブロックパターン])の値とのうちの少なくとも一つを含む前記下位階層の対応するブロックについての特性データを生成する下位階層エンコードユニットと、
    前記特性データ応じて決定される残差予測フラッグのコーディング方法によって残差予測フラッグをコーディングする向上階層エンコードユニットと、を含むビデオエンコーダ。
  31. 前記特性データが所定の閾値未満である場合には残差予測フラッグのコーディングは省略され、前記特性データが前記所定の閾値以上である場合には、前記残差予測フラッグのコーディングは、前記残差予測フラッグの値の予測値と前記残差予測フラッグの値との差をコーディングすることである、請求項30に記載のビデオエンコーダ。
  32. 前記残差予測フラッグのコーディングが、前記特性データが前記所定の閾値以上である場合、1から前記残差予測フラッグの値を引いた値をコーディングすることである、請求項30に記載のビデオエンコーダ。
  33. 前記残差予測フラッグのコーディングはコンテキスト基盤の適応的2進算術コーディング(CABAC)を使って実行され、
    前記特性データが所定の閾値未満である場合には残差予測フラッグのコーディングは省略され、前記特性データが前記所定の閾値以上である場合には、前記残差予測フラッグのコーディングは、シンボル1にバイアスされたコンテキストモデルを使用して実行される、請求項30に記載のビデオエンコーダ。
  34. 前記残差予測フラッグのコーディングはコンテキスト基盤の適応的2進算術コーディング(CABAC)を使って実行され、
    前記残差予測フラッグのコーディングが、前記特性データが所定の閾値未満である場合には第1コンテキストモデルを使用して実行され、前記特性データが前記所定の閾値以上である場合には第2コンテキストモデルを使用して実行され、前記第1コンテキストモデルは、0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは1の確率が0の確率より高いコンテキストモデルである、請求項30に記載のビデオエンコーダ。
  35. 前記下位階層が基礎階層またはFGS(精細粒度スケーラビリティー)階層である、請求項30に記載のビデオエンコーダ。
  36. 前記下位階層のブロックの残差データのエネルギーが前記下位階層のブロックにおける0でないピクセルの数であり、
    前記下位階層のブロックのCBPの値が該CBPにおける1の値をもつビット数である、
    請求項30に記載のビデオエンコーダ。
  37. 前記CBPの値が、CodedBlockPatternLumaと呼ばれる輝度情報についてのCBP下位4ビットおよびCodedBlockPatternChromaと呼ばれる色度情報についてのCBPの上位2ビットの値を含む、請求項30に記載のビデオエンコーダ。
  38. 多階層ビデオ信号の向上階層を構成するブロックの残差データが、対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをデコーディングするビデオデコーダであって、
    前記下位階層の対応するブロックの残差データのエネルギーと前記下位階層の対応するブロックのCBP(coded_block_pattern[符号化ブロックパターン])の値とのうちの少なくとも一つを含む前記下位階層の対応するブロックについての特性データを生成する基礎階層デコーディングユニットと、
    前記特性データに応じて決定される残差予測フラッグのデコーディング方法によって残差予測フラッグをデコーディングする向上階層デコーディングユニットと、を含むビデオデコーダ。
  39. 前記特性データが所定の閾値未満である場合には、残差予測フラッグをデコーディングすることなく残差予測フラッグの値を0に設定し、
    前記特性データが前記所定の閾値以上である場合には、残差予測フラッグの値を、残差予測差フラッグと当該残差予測フラッグの予測値との差に設定するものであり、ここで、前記残差予測差フラッグとは当該残差予測フラッグの予測値と当該残差予測フラッグとの差に対応する、請求項38に記載のビデオデコーダ。
  40. 前記特性データが所定の閾値以上である場合、前記のデコーディングされた残差予測フラッグを反転させるものであり、ここで、前記のデコーディングされた残差予測フラッグを反転させることは前記のデコーディングされた残差予測フラッグを1から引いた値を計算することを含む、請求項38に記載のビデオデコーダ。
  41. 前記残差予測フラッグのコーディングはコンテキスト基盤の適応的2進算術コーディング(CABAC)を使って実行され、
    前記残差予測フラッグのデコーディングは、
    前記特性データが所定の閾値未満である場合には、残差予測フラッグの値をデコーディングする過程を省略し、
    前記特性データが所定の閾値以上である場合には、残差予測フラッグの値をシンボル1にバイアスされたコンテキストモデルを使用してデコーディングする、請求項38に記載のビデオデコーダ。
  42. 前記残差予測フラッグのコーディングはコンテキスト基盤の適応的2進算術コーディング(CABAC)を使って実行されており、
    前記残差予測フラッグは、
    前記特性データが所定の閾値未満である場合には、前記残差予測フラッグを第1コンテキストモデルを使用してデコーディングされ、
    前記特性データが所定の閾値以上である場合には、前記残差予測フラッグを第2コンテキストモデルを使用してデコーディングされ、前記第1コンテキストモデルは0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは1の確率が0の確率より高いコンテキストモデルである、請求項38に記載のビデオデコーダ。
  43. 前記下位階層が基礎階層またはFGS(精細粒度スケーラビリティー)階層である、請求項38に記載のビデオデコーダ。
  44. 前記下位階層のブロックの残差データのエネルギーが前記下位階層のブロックにおける0でないピクセルの数であり、
    前記下位階層のブロックのCBPの値が該CBPにおける1の値をもつビット数である、
    請求項38に記載のビデオデコーダ。
  45. 前記CBPの値が、CodedBlockPatternLumaと呼ばれる輝度情報についてのCBP下位4ビットおよびCodedBlockPatternChromaと呼ばれる色度情報についてのCBPの上位2ビットの値を含む、請求項38に記載のビデオデコーダ。
  46. 多階層ビデオ信号の向上階層を構成するブロックの残差データが対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをデコーディングするデコーディング装置において、
    前記下位階層ブロックに対するCBP(符号化ブロックパターン)の値を解釈するパージング部と、
    前記CBPの値によって前記残差予測フラッグに対するデコーディング方法を決定し、その決定されたデコーディング方法によって前記残差予測フラッグをデコーディングするデコーディング部と、を備えるデコーディング装置。
  47. 前記パージング部は、前記CBPの下位4ビットを、輝度情報の符号化を決定するのに使われる第1変数に設定し、上位2ビットを色度情報の符号化をするのに使われる第2変数に設定し、マクロブロックのアドレスに割当てられた0ないし3のうちから選ばれる数だけ前記第1変数のビットを右シフトさせる演算を行い、その結果と1とのANDビット演算を行い、前記ANDビット演算の結果が0でない場合、前記CBPの少なくとも一つのビットが1の値を有すると判定すること、請求項46に記載のデコーディング装置。
  48. 前記パージング部は、前記残差予測フラッグのデコーディングのためのコンテキストモデルを設定し、前記デコーディング部は、前記設定されたコンテキストモデルを使用してエントロピーデコーディングを行う、請求項46に記載のビデオデコーダ。
  49. 前記エントロピーデコーディングがCABAC(コンテキスト基盤の適応的2進算術コーディング)方式で実行される、請求項48に記載のデコーディング装置。
  50. 前記パージング部は、前記CBPに1の値を有するビットが1つ以上存在する場合、コンテキストモデルを選択する変数を1に設定し、前記CBPに1の値を有するビットが存在しない場合、コンテキストモデルを選択する変数を0に設定する
  51. 前記デコーディング部は、前記コンテキストモデルを選択する変数が0に設定されている場合、前記残差予測フラッグを0の確率が1の確率より高いコンテキストモデルを使用してデコーディングし、前記コンテキストモデルを選択する変数が1に設定されている場合、前記残差予測フラッグを1の確率が0の確率より高いコンテキストモデルを使用してデコーディングする、請求項50に記載のデコーディング装置。
  52. 前記下位階層が基礎階層またはFGS階層である、請求項46に記載のデコーディング装置。
  53. 前記パージング部は、前記向上階層が参照する下位階層のブロックのCBPの各ビットが1の値をもつかどうかを判定する、請求項46に記載のデコーディング装置。
  54. 多階層ビデオ信号の向上階層をデコーディングする装置において、
    下位階層のCBP(符号化ブロックパターン)の値を解釈するパージング部と、
    前記符号化CBPの値を使って、前記向上階層が前記下位階層からの予測されたものであるかどうかを示す残差予測フラッグのデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグをエントロピー復号し、前記向上階層をエントロピー復号するエントロピー復号部と、
    前記向上階層を逆量子化する逆量子化部と、
    前記残差予測フラッグに基づいて前記逆量子化された向上階層を逆変換する逆変換部と、を備えることを特徴とするデコーディング装置。
  55. 多階層基盤のビデオエンコーダにおいて、
    (a)入力フレームから基礎階層フレームを生成するステップと、
    (b)向上階層のデータを、前記基礎階層フレームのデータ、異なる時間的位置におけるある第2の向上階層のデータおよび当該向上階層の異なる領域のデータのうちの少なくとも一つを含む参照データを参照することによって生成するステップと、
    (c)前記向上階層のデータを前記参照データから予測するかどうかを決定した結果に基づいて前記向上階層のデータをエンコーディングするステップと、を含むエンコーディング方法。
  56. 前記基礎階層フレームのデータが、当該基礎階層フレームと該基礎階層フレームとは時間的に異なるある第2のフレームとの間の残差を含む基礎階層フレームの残差データ、ならびに、当該基礎階層フレームの動きベクトルとを含む、請求項55記載のエンコーディング方法。
  57. 前記残差データのエネルギーを求めることをさらに含み、
    前記エネルギーが所定の閾値未満である場合、前記(c)ステップは、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報なしに、前記向上階層のデータをエンコーディングすることを含み、
    前記エネルギーが前記所定の閾値以上である場合、前記(c)ステップは、前記予測情報とともに前記向上階層のデータをエンコーディングすることを含む、請求項56に記載のエンコーディング方法。
  58. 前記所定の閾値が、前記残差データのエネルギーが0である場合に得られる値である、請求項57に記載のエンコーディング方法。
  59. 前記残差データのエネルギーを求めることをさらに含み、前記残差データのエネルギーが所定の閾値以上である場合、前記(c)ステップは、
    (d)前記基礎階層フレームの動きベクトルと前記向上階層の動きベクトルとの差を計算するステップと、
    (e)前記両動きベクトルの差に基づいて、前記向上階層のデータが前記残差データを参照しているか否かを予測するために使われる決定情報を設定するステップと、
    (f)前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記残差データを参照しているか否かについての情報との差とともに、前記向上階層のデータをエンコーディングするステップと、を含む請求項56に記載のエンコーディング方法。
  60. 前記基礎階層フレームの動きベクトルと空間的に隣接した領域の動きベクトルとの差を求めることをさらに含み、
    前記差が所定の閾値未満である場合、前記(c)ステップは、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報なしに、前記向上階層のデータをエンコーディングすることを含み、
    前記差が前記所定の閾値以上である場合、前記(c)ステップは、前記予測情報とともに前記向上階層のデータをエンコーディングすることを含む、請求項55に記載のエンコーディング方法。
  61. 前記所定の閾値が、前記両動きベクトルの間の残差が0である場合に得られる値である、請求項60に記載のエンコーディング方法。
  62. (d)前記基礎階層フレームの動きベクトルと、空間的に隣接した領域の動きベクトルとの差を求めることをさらに含み、前記基礎階層の動きベクトルと空間的に隣接した領域の動きベクトルとの差が所定の閾値以上である場合、前記(c)ステップは、
    (e)前記基礎階層の動きベクトルと隣接した領域の動きベクトルとの差に基づいて、前記向上階層のデータが前記基礎階層フレームの動きベクトルを参照しているか否かを予測するために使われる決定情報を設定するステップと、
    (f)前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記基礎階層フレームの動きベクトルを参照しているか否かについての情報との差とともに、前記向上階層のデータをエンコーディングするステップと、を含む請求項55に記載のエンコーディング方法。
  63. 前記向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かを予測するために使われる決定情報、ならびに、前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む、請求項55に記載のエンコーディング方法。
  64. 前記向上階層のデータをエンコーディングするステップはエントロピーコーディング方式で実行される、請求項55に記載のエンコーディング方法。
  65. 前記向上階層のデータは、マクロブロック、スライス、またはフレームのうちいずれか1つのデータである、請求項55に記載のエンコーディング方法。
  66. 多階層基盤のビデオデコーダにおいて、
    (a)入力された基礎階層フレームをデコーディングするステップと、
    (b)前記基礎階層フレームのデータが向上階層のデータの予測に必要か否かを判定するステップと、
    (c)前記判定の結果によって前記向上階層のデータをデコーディングするステップと、を含むデコーディング方法。
  67. 前記基礎階層フレームのデータが、当該基礎階層フレームと該基礎階層フレームとは時間的に異なるある第2のフレームとの間の残差を含む基礎階層フレームの残差データ、ならびに、当該基礎階層フレームの動きベクトルのうちの少なくとも一つを含む、請求項66記載のデコーディング方法。
  68. 前記残差データのエネルギーを求めることをさらに含み、前記基礎階層フレームのデータが向上階層のデータの予測に必要か否かを判定する前記ステップにおいて、
    前記エネルギーが所定の閾値未満である場合、前記(c)ステップは、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照しなかったことを示す第1予測情報を設定して、
    前記向上階層のデータを前記第1予測情報を使ってデコーディングするステップを含み、
    前記エネルギーが前記所定の閾値以上である場合、前記(c)ステップは、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照したことを示す第2予測情報を設定して、
    前記向上階層のデータを前記第2予測情報を使ってデコーディングするステップを含む、
    む請求項67に記載のデコーディング方法。
  69. 前記所定の閾値が、前記残差データのエネルギーが0である場合に得られる値である、請求項68に記載のデコーディング方法。
  70. 前記残差データのエネルギーを求めることをさらに含み、前記残差データのエネルギーが所定の閾値以上である場合、前記(c)ステップは、
    (d)前記基礎階層フレームの動きベクトルと前記向上階層の動きベクトルとの差を計算するステップと、
    (e)前記基礎階層フレームの動きベクトルと前記向上階層の動きベクトルとの差に基づいて、前記向上階層のデータが前記残差データを参照しているか否かを予測するために使われる決定情報を設定するステップと、
    (d)前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記残差データを参照しているか否かについての予測情報との差を用いて前記向上層のデータをデコーディングするステップ、を含む請求項67に記載のデコーディング方法。
  71. 前記基礎階層フレームのデータから予測される動きベクトルを計算し、
    空間的に隣接した領域から予測される動きベクトルを計算し、
    前記動きベクトルの差がある閾値未満である場合、前記(c)ステップは、前記向上階層のデータが前記基礎階層フレームのデータから予測されるのでないことを示す予測情報を設定することによって、前記向上階層のデータをデコーディングするステップを含む、請求項67に記載のデコーディング方法。
  72. 前記基礎階層の動きベクトルと隣接した領域の動きベクトルとの間の差を求めることをさらに含み、前記基礎階層フレームのデータが向上階層のデータの予測に必要か否かを判定する前記ステップにおいて、
    前記差が所定の閾値未満である場合、前記(c)ステップは、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照しなかったことを示す第1予測情報を設定して、
    前記向上階層のデータを前記第1予測情報を使ってデコーディングするステップを含み、
    前記差が前記所定の閾値以上である場合、前記(c)ステップは、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照したことを示す第2予測情報を設定して、
    前記向上階層のデータを前記第2予測情報を使ってデコーディングするステップを含む、
    む請求項67に記載のデコーディング方法。
  73. 前記所定の閾値が、前記二つの動きベクトルの間の残差が0である場合に得られる値である、請求項72に記載のデコーディング方法。
  74. 前記基礎階層の動きベクトルと空間的に隣接した領域の動きベクトルとの間の差を求めることをさらに含み、前記基礎階層の動きベクトルと空間的に隣接した領域の動きベクトルとの差が所定の閾値以上である場合、前記(c)ステップは、
    前記基礎階層の動きベクトルと空間的に隣接した領域の動きベクトルとの差に基づいて、前記向上階層のデータが前記基礎階層の動きベクトルを参照しているか否かを予測するために使われる決定情報を設定するステップと、
    前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記基礎階層フレームの動きベクトルから予測されているか否かについての予測情報との差を用いて前記向上層のデータをデコーディングするステップ、を含む請求項66に記載のデコーディング方法。
  75. 前記向上階層のデータが、当該向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するために使われる決定情報、ならびに、前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む、請求項66に記載のデコーディング方法。
  76. 前記向上階層のデータのデコーディングが、エントロピーデコーディング方式で実行される、請求項66に記載のデコーディング方法。
  77. 前記向上階層のデータは、マクロブロック、スライス、またはフレームのうちいずれか1つである、請求項66に記載のデコーディング方法。
  78. 入力フレームから基礎階層フレームを生成する基礎階層エンコーダと、
    向上階層のデータを、前記基礎階層フレームのデータ、異なる時間的位置におけるある第2の向上階層のデータおよび当該向上階層の異なる領域のデータのうちの少なくとも一つを含む参照データから予測されるものとして生成する向上階層エンコーダと、を備え、
    前記向上階層エンコーダが、前記向上階層のデータが前記参照データから予測できるか否かを判定した結果に基づいて前記向上階層のデータをエンコーディングする変換部を有している、ビデオエンコーダ。
  79. 前記基礎階層フレームのデータが、当該基礎階層フレームと該基礎階層フレームとは時間的に異なるある第2のフレームとの間の残差を含む基礎階層フレームの残差データ、ならびに、当該基礎階層フレームの動きベクトルのうちの少なくとも一つを含む、請求項78記載のエンコーダ。
  80. 前記基礎階層エンコーダが前記残差データのエネルギーを求めるものであり、
    前記エネルギーが所定の閾値未満である場合、前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報なしに、前記向上階層のデータをエンコーディングし、
    前記エネルギーが前記所定の閾値以上である場合、前記変換部は、前記予測情報とともに前記向上階層のデータをエンコーディングする、請求項79に記載のエンコーダ。
  81. 前記所定の閾値が、前記残差データのエネルギーが0である場合に得られる値である、請求項80に記載のエンコーダ。
  82. 前記基礎階層エンコーダが前記残差データのエネルギーを求めるものであり、
    前記残差データのエネルギーが所定の閾値以上である場合、前記変換部は、
    前記基礎階層フレームの動きベクトルと前記向上階層の動きベクトルとの差を計算し、
    前記両動きベクトルの差に基づいて、前記向上階層のデータが前記残差データを参照しているか否かを予測するために使われる決定情報を設定し、
    前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記残差データを参照しているか否かについての情報との差とともに、前記向上階層のデータをエンコーディングする、
    請求項82に記載のエンコーダ。
  83. 前記変換部は、前記基礎階層フレームの動きベクトルと空間的に隣接した領域の動きベクトルとの差を計算し、
    前記差が所定の閾値未満である場合、前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報なしに、前記向上階層のデータをエンコーディングし、
    前記差が前記所定の閾値以上である場合、前記変換部は、前記予測情報とともに前記向上階層のデータをエンコーディングする、
    請求項78に記載のエンコーダ。
  84. 前記所定の閾値が、前記両動きベクトルの間の残差が0である場合に得られる値である、請求項83に記載のエンコーダ。
  85. 前記変換部は、前記基礎階層フレームの動きベクトルと、空間的に隣接した領域の動きベクトルとの差を求め、
    前記両動きベクトルの差が所定の閾値以上である場合、前記変換部は、
    前記両動きベクトルの差に基づいて、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かを予測するために使われる決定情報を設定し、
    前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記基礎階層フレームの動きベクトルを参照しているか否かについての情報との差とともに、前記向上階層のデータをエンコーディングする、請求項79に記載のエンコーダ。
  86. 前記向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かを予測するために使われる決定情報、ならびに、前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む、請求項78に記載のエンコーダ。
  87. 前記変換部がエントロピーコーディングを実行する、請求項78に記載のエンコーダ。
  88. 前記向上階層のデータは、マクロブロック、スライス、またはフレームのうちいずれか1つである、請求項78に記載のエンコーダ。
  89. 入力された基礎階層フレームをデコーディングする基礎階層デコーダと、
    前記基礎階層フレームを参照して向上階層のデータをデコーディングする向上階層デコーダと、を備え、
    前記向上階層デコーダは、前記基礎階層フレームのデータが前記向上階層のデータの予測に必要か否かを判定し、前記判定した結果に基づいて前記向上階層のデータをデコーディングする逆変換部を有している、デコーダ。
  90. 前記基礎階層フレームのデータが、当該基礎階層フレームと該基礎階層フレームとは時間的に異なるある第2のフレームとの間の残差を含む基礎階層フレームの残差データ、ならびに、当該基礎階層フレームの動きベクトルのうちの少なくとも一つを含む、請求項89記載のデコーダ。
  91. 前記基礎階層デコーダが前記残差データのエネルギーを求め、
    前記エネルギーが所定の閾値未満である場合、前記逆変換部は、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照していないことを示す第1予測情報を設定して、
    前記向上階層のデータを前記第1予測情報を使ってデコーディングし、
    前記エネルギーが前記所定の閾値以上である場合、前記逆変換部は、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照していることを示す第2予測情報を設定して、
    前記向上階層のデータを前記第2予測情報を使ってデコーディングする、
    請求項89に記載のデコーダ。
  92. 前記所定の閾値は、前記残差データのエネルギーが0である場合に得られる値である、請求項91に記載のデコーダ。
  93. 前記基礎階層デコーダが前記残差データのエネルギーを求め、
    前記残差データのエネルギーが所定の閾値以上である場合、前記逆変換部は、
    前記基礎階層フレームの動きベクトルと前記向上階層の動きベクトルとの差を計算し、
    前記基礎階層フレームの動きベクトルと前記向上階層の動きベクトルとの差に基づいて、前記向上階層のデータが前記残差データを参照しているか否かを予測するために使われる決定情報を設定し、
    前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記残差データを参照しているか否かについての予測情報との差を用いて前記向上層のデータをデコーディングする、
    請求項89に記載のデコーダ。
  94. 前記逆変換部は、前記基礎階層フレームの動きベクトルと空間的に隣接した領域の動きベクトルとの間の差を計算し、
    前記差が所定の閾値未満である場合、前記逆変換部は、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照していないことを示す第1予測情報を設定して、
    前記向上階層のデータを前記第1予測情報を使ってデコーディングし、
    前記差が所定の閾値以上である場合、前記逆変換部は、
    前記向上階層のデータがエンコードされたときに前記向上階層のデータが前記基礎階層フレームのデータを参照していることを示す第2予測情報を設定して、
    前記向上階層のデータを前記第2予測情報を使ってデコーディングする、
    請求項89に記載のデコーダ。
  95. 前記所定の閾値が、前記両動きベクトルの間の残差が0である場合に得られる値である、請求項94に記載のデコーダ。
  96. 前記逆変換部は、前記基礎階層フレームの動きベクトルと空間的に隣接した領域の動きベクトルとの間の差を求め、
    前記基礎階層の動きベクトルと前記空間的に隣接した領域の動きベクトルとの差が所定の閾値以上である場合、前記逆変換部は、
    前記基礎階層の動きベクトルと前記空間的に隣接した領域の動きベクトルとの差に基づいて、前記向上階層のデータが前記基礎階層の動きベクトルを参照しているか否かを予測するために使われる決定情報を設定し、
    前記決定情報、ならびに、該決定情報と前記向上階層のデータが前記基礎階層フレームの動きベクトルから予測されているか否かについての予測情報との差を用いて前記向上層のデータをデコーディングする、
    請求項89に記載のビデオデコーダ。
  97. 前記向上階層のデータが、当該向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するために使われる決定情報、ならびに、前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む、請求項89に記載のデコーダ。
  98. 前記逆変換部がエントロピーデコーディングを実行する、請求項89に記載のデコーダ。
  99. 前記向上階層のデータが、マクロブロック、スライス、またはフレームのうちいずれか1つである、請求項89に記載のデコーダ。
  100. 多階層ビデオ信号の向上階層を構成するブロックの残差データが、対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをデコーディングする方法において、
    前記下位階層ブロックにおけるCBP(符号化ブロックパターン)の値を判別し、
    前記判別されたCBPの値に応じて前記残差予測フラッグのデコーディング方法を決定し、
    前記決定されたデコーディング方法によって前記残差予測フラッグをデコーディングする、
    ことを含む方法。
  101. 前記デコーディング方法を決定するステップが、
    前記CBPにおけるビットのうち少なくとも一つのビットが1の値を含んでいる場合には、前記残差予測フラッグは第1コンテキストモデルを使ってデコーディングされ、
    前記CBPにおけるビットのどれも1の値を含んでいない場合には、前記残差予測フラッグは第2コンテキストモデルを使ってデコーディングされる、
    ということを含む、請求項100記載の方法。
  102. 前記CBPのルーマ値のいずれかが1の値を含む場合に、前記残差予測フラッグは前記第1コンテキストモデルを使ってデコーディングされる、請求項100記載の方法。
  103. 前記CBPのクロマ値の一つが1の値を含む場合に、前記残差予測フラッグは前記第1コンテキストモデルを使ってデコーディングされる、請求項100記載の方法。
  104. 前記CBPにおいて1の値をもつビットの数が所定の閾値未満の場合に、前記残差予測フラッグは前記第1コンテキストモデルを使ってデコーディングされ、前記CBPにおいて1の値をもつビットの数が前記所定の閾値以上の場合に、前記残差予測フラッグは前記第2コンテキストモデルを使ってデコーディングされ、前記第1コンテキストモデルは0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは1の確率が0の確率より高いコンテキストモデルである、請求項100に記載の方法。
  105. 前記下位階層ブロックにおけるCBPの値を判別することが、当該多階層ビデオ信号におけるCBPの下位4ビットと上位2ビットをそれぞれ、輝度情報のためのCBP値、色度情報についてのCBP値として設定することを含む、請求項100記載の方法。
  106. 多階層ビデオ信号の向上階層を構成するブロックの残差データが、対応する下位階層ブロックの残差データから予測してコーディングされているかどうかを示す残差予測フラッグをデコーディングするビデオデコーダであって、
    前記下位階層ブロックにおけるCBP(符号化ブロックパターン)の値を判別し、前記判別されたCBPの値に応じて前記残差予測フラッグのデコーディング方法を決定し、前記決定されたデコーディング方法によって前記残差予測フラッグをデコーディングするユニットを含むデコーダ。
  107. 前記CBPにおけるビットのうち少なくとも一つのビットが1の値を含んでいる場合には、前記残差予測フラッグは前記第1コンテキストモデルを使ってデコーディングされ、前記CBPにおけるビットのどれも1の値を含んでいない場合には、前記残差予測フラッグは前記第2コンテキストモデルを使ってデコーディングされる、請求項106記載のデコーダ。
  108. 前記CBPのルーマ値の一つが1の値を含む場合に、前記残差予測フラッグは前記第1コンテキストモデルを使ってデコーディングされる、請求項106記載のデコーダ。
  109. 前記CBPのクロマ値のいずれかが1の値を含む場合に、前記残差予測フラッグは前記第1コンテキストモデルを使ってデコーディングされる、請求項106記載のデコーダ。
  110. 前記CBPにおいて1の値をもつビットの数が所定の閾値未満の場合に、前記残差予測フラッグは前記第1コンテキストモデルを使ってデコーディングされ、前記CBPにおいて1の値をもつビットの数が前記所定の閾値以上の場合に、前記残差予測フラッグは前記第2コンテキストモデルを使ってデコーディングされ、前記第1コンテキストモデルは0の確率が1の確率より高いコンテキストモデルであり、前記第2コンテキストモデルは1の確率が0の確率より高いコンテキストモデルである、請求項106に記載のデコーダ。
  111. 当該多階層ビデオ信号におけるCBPの下位4ビットと上位2ビットがそれぞれ、輝度情報のためのCBP値、色度情報についてのCBP値として設定されることを含む、請求項106記載のデコーダ。
JP2006114648A 2005-04-19 2006-04-18 エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ Pending JP2006304307A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US67254905P 2005-04-19 2005-04-19
KR1020050059371A KR100763181B1 (ko) 2005-04-19 2005-07-01 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
US70198705P 2005-07-25 2005-07-25
US70229605P 2005-07-26 2005-07-26
US70262405P 2005-07-27 2005-07-27
KR1020050087761A KR100746007B1 (ko) 2005-04-19 2005-09-21 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더

Publications (2)

Publication Number Publication Date
JP2006304307A JP2006304307A (ja) 2006-11-02
JP2006304307A5 true JP2006304307A5 (ja) 2007-04-12

Family

ID=36930187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006114648A Pending JP2006304307A (ja) 2005-04-19 2006-04-18 エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ

Country Status (6)

Country Link
EP (1) EP1715693A3 (ja)
JP (1) JP2006304307A (ja)
AU (1) AU2006201490B2 (ja)
BR (1) BRPI0602466A (ja)
CA (1) CA2543947A1 (ja)
WO (1) WO2006112642A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619860B2 (en) * 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
JP2009500941A (ja) 2005-07-08 2009-01-08 エルジー エレクトロニクス インコーポレイティド 情報を圧縮/圧縮解除するためにビデオ信号のコーディング情報をモデリングする方法
KR101154999B1 (ko) * 2005-07-08 2012-07-09 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법
US7894523B2 (en) 2005-09-05 2011-02-22 Lg Electronics Inc. Method for modeling coding information of a video signal for compressing/decompressing coding information
KR100791299B1 (ko) * 2006-04-11 2008-01-04 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법 및 장치
US8422555B2 (en) * 2006-07-11 2013-04-16 Nokia Corporation Scalable video coding
JP4888919B2 (ja) 2006-12-13 2012-02-29 シャープ株式会社 動画像符号化装置および動画像復号装置
WO2008071036A1 (en) * 2006-12-14 2008-06-19 Thomson Licensing Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer prediction
US8315466B2 (en) * 2006-12-22 2012-11-20 Qualcomm Incorporated Decoder-side region of interest video processing
US8432968B2 (en) 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths
EP2399395A4 (en) * 2009-02-17 2016-11-30 Ericsson Telefon Ab L M SYSTEMS AND METHOD FOR QUICK CHANNEL SWITCHING
PL2721819T3 (pl) * 2011-06-16 2024-02-19 Ge Video Compression, Llc Kodowanie entropijne obsługujące przełączanie trybów
CN103024370B (zh) * 2011-09-23 2018-03-23 中兴通讯股份有限公司 一种运动矢量二次压缩编解码方法及装置
GB2509901A (en) 2013-01-04 2014-07-23 Canon Kk Image coding methods based on suitability of base layer (BL) prediction data, and most probable prediction modes (MPMs)
KR102269506B1 (ko) * 2013-10-18 2021-06-25 엘지전자 주식회사 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 방법 및 장치
CN117119195A (zh) * 2018-03-29 2023-11-24 弗劳恩霍夫应用研究促进协会 变换系数块编码
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
CN111641827A (zh) * 2019-03-02 2020-09-08 上海天荷电子信息有限公司 多套方案切换进行预测残差熵编码的数据压缩方法和装置
CN110290382A (zh) * 2019-05-10 2019-09-27 同济大学 一种残差数据编码和解码方法
CN112714316B (zh) * 2020-12-21 2023-01-31 太原智林信息技术股份有限公司 基于视频码流的规则标志检测和分类识别方法
CN114640856B (zh) * 2021-03-19 2022-12-23 杭州海康威视数字技术股份有限公司 解码方法、编码方法、装置及设备
CN117376551B (zh) * 2023-12-04 2024-02-23 淘宝(中国)软件有限公司 视频编码加速方法及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
US7145948B2 (en) * 2002-05-29 2006-12-05 Koninklijke Philips Electronics N.V. Entropy constrained scalar quantizer for a Laplace-Markov source
US20060153295A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding

Similar Documents

Publication Publication Date Title
KR100746007B1 (ko) 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
JP2006304307A5 (ja)
KR100763181B1 (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
AU2006201490B2 (en) Method and apparatus for adaptively selecting context model for entropy coding
KR100781525B1 (ko) 가중 평균합을 이용하여 fgs 계층을 인코딩 및디코딩하는 방법 및 장치
KR101033548B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100703774B1 (ko) 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
KR100772878B1 (ko) 비트스트림의 비트율 조절을 위한 우선권 할당 방법,비트스트림의 비트율 조절 방법, 비디오 디코딩 방법 및 그방법을 이용한 장치
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
KR100703788B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
JP4922391B2 (ja) 多階層基盤のビデオエンコーディング方法および装置
KR100763179B1 (ko) 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치
EP1737243A2 (en) Video coding method and apparatus using multi-layer based weighted prediction
KR100763205B1 (ko) 모션 역변환을 사용하여 모션 예측을 수행하는 방법 및장치
RU2336661C2 (ru) Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии
JP2009531942A (ja) エントロピ符号化効率を向上させる方法およびその方法を用いたビデオエンコーダおよびビデオデコーダ
KR100703751B1 (ko) 가상 영역의 영상을 참조하여 인코딩 및 디코딩 하는 방법및 장치
EP1889487A1 (en) Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction
JP5063678B2 (ja) ビットストリームのビット率の調節のための優先権の割当て方法、ビットストリームのビット率の調節方法、ビデオデコーディング方法およびその方法を用いた装置
AU2008201768A1 (en) Method and apparatus for adaptively selecting context model for entropy coding
WO2006104357A1 (en) Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
MXPA06004332A (en) Method and apparatus for adaptively selecting context model for entropy coding