JP2006304307A - エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ - Google Patents

エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ Download PDF

Info

Publication number
JP2006304307A
JP2006304307A JP2006114648A JP2006114648A JP2006304307A JP 2006304307 A JP2006304307 A JP 2006304307A JP 2006114648 A JP2006114648 A JP 2006114648A JP 2006114648 A JP2006114648 A JP 2006114648A JP 2006304307 A JP2006304307 A JP 2006304307A
Authority
JP
Japan
Prior art keywords
data
residual
decoding
prediction flag
value
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
JP2006304307A5 (ja
Inventor
Bae-Keun Lee
培 根 李
Kyo-Hyuk Lee
教 ▲ひょく▼ 李
Sang-Chang Cha
尚 昌 車
Woo-Jin Han
宇 鎭 韓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR1020050059371A external-priority patent/KR100763181B1/ko
Priority claimed from KR1020050087761A external-priority patent/KR100746007B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006304307A publication Critical patent/JP2006304307A/ja
Publication of JP2006304307A5 publication Critical patent/JP2006304307A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダを提供する。
【解決手段】 多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、予測如何を示す残差予測フラッグをコーディングする方法において、下位階層の対応するブロックの残差データのエネルギーを計算するステップ、エネルギーによって残差予測フラッグのコーディング方法を決定するステップ、及び決定されたコーディング方法によって残差予測フラッグをコーディングするステップを含む。
【選択図】 図9

Description

本発明は、ビデオ信号のエンコーディング及びデコーディングに係り、より詳細には、エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダに関する。
インターネットを含む情報通信技術が発達するにつれて文字、音声だけでなく画像通信が増加しつつある。既存の文字中心の通信方式では消費者の多様な欲求を満たすには足りなく、したがって、文字、映像、音楽など多様な形態の情報を収容できるマルチメディアサービスが増加しつつある。マルチメディアデータは、その量がぼう大で大容量の記録媒体を必要とし、伝送時に広い帯域幅を必要とする。したがって、文字、映像、オーディオを含むマルチメディアデータを伝送するには、圧縮コーディング技法を使用することが必須である。
データを圧縮する基本的な原理はデータの重複をなくす過程である。イメージで同じ色や客体が反復されるような空間的重複や、動映像フレームで隣接フレームがほとんど変化のない場合や、オーディオで同じ音が反復され続けるような時間的重複、または人間の視覚及び知覚能力が高い周波数に鈍感なことを考慮した心理視覚重複をなくすことによりデータを圧縮できる。一般的なビデオコーディング方法において、時間的重畳はモーション補償に基づいた時間的フィルタリング(temporal filtering)により除去して、空間的重畳は空間的変換(spatial transform)により除去する。
データの重畳を除去した後、生成されるマルチメディアを伝送するためには、伝送媒体が必要であるが、その速度は伝送媒体別に異なる。現在使われている伝送媒体は、秒当り数十mbitのデータを伝送しうる超高速通信網から秒当り384kbitの伝送速度を有する移動通信網のように多様な伝送速度を有する。このような環境で、多様な速度の伝送媒体を支援するために、または伝送環境によってこれに適した伝送率でマルチメディアを伝送可能にする、すなわち、スケーラビリティ(scalability)を有するデータコーディング方法がマルチメディア環境にさらに適していると言える。一方、マルチメディアの再生時に、再生する機器の大きさまたは機器の特徴によって画面の大きさが4:3または16:9の比率など多様になりうる。
このようなスケーラブルビデオコーディングとは、既に圧縮されたビットストリームに対して伝送ビット率、伝送エラー率、システム資源などの周辺条件によって前記ビットストリームの一部を切り出して、ビデオの解像度、フレーム率、及びビット率などを調節可能にする符号化方式を意味する。このようなスケーラブルビデオコーディングは、既にMPEG−4(moving picture expertsg roup−21)Part10でその標準化作業を進行しつつある。このうち、多階層(multi−layered)基盤でスケーラビリティーを具現しようとする多くの努力がある。例えば、基礎階層(base layer)、第1向上階層(enhanced layer1)、第2向上階層(enhanced layer2)の多階層をおき、それぞれの階層は相異なる解像度QCIF、CIF、2CIF、または相異なるフレーム率を有するように構成しうる。
1つの階層にコーディングする場合と同様に、多階層にコーディングする場合においても、各階層別に時間的重複性(temporal redundancy)を除去するためのモーションベクトル(motionvector;MV)を求める必要がある。このようなモーションベクトルは、各階層ごとに別途に検索して使用する場合(前者)があり、1つの階層でモーションベクトル検索をした後、これを他の階層でも使用(そのまま、またはアップ/ダウンサンプリングして)する場合(後者)もある。前者の場合は、後者の場合に比べて正確なモーションベクトルを探すことによって得る利点と、階層別に生成されたモーションベクトルがオーバヘッドとして作用する短所が同時に存在する。したがって、前者の場合には、各階層別モーションベクトル間の重複性をさらに効率よく除去することが非常に重要な課題となる。
図1は、多階層構造を用いたスケーラブルビデオコーデックを示す図面である。まず、基礎階層をQCIF(Quarter Common Intermediate Format)、15Hz(フレームレート)に定義し、第1向上階層をCIF(Common Intermediate Format)、30hzに、第2向上階層をSD(Standard Definition)、60hzに定義する。もし、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つの方法を選択して利用する。
ところが、このような予測方法を使用するためには、如何なる予測方法が使用されたか、または予測時に参照するデータが何かについての情報をデコーディング側に送るために多様なフラッグを使用する。マクロブロック単位、またはスライス、フレーム単位でエンコーディングする場合、該当単位によって小さくは1bitから数bitまたは数十bitに該当しうる。このような情報が全体動画像にマクロブロックごとに、またはスライスやフレームごとに設定される場合にデータは大きくなる。したがって、これらの情報を効率的に圧縮するための方法及び装置が必要である。
本発明は、前記問題点を改善するために案出されたものであって、本発明は、基礎階層のデータを通じて予測方法に所要されるデータの大きさを減らすところにその目的がある。
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
本発明の一実施形態によるビデオ信号の残差予測フラッグをコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、前記下位階層の対応するブロックの残差データのエネルギーを計算するステップ、前記エネルギーによって前記残差予測フラッグのコーディング方法を決定するステップ、及び前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップを含む。
本発明の他の実施形態によるビデオ信号の残差予測フラッグをコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのコーディング方法を決定するステップと、前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含む。
本発明の一実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックの残差データのエネルギーを計算するステップと、前記エネルギーによって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
本発明の他の実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
本発明のさらに他の実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を確認するステップと、前記符号化ブロックパターンを構成するそれぞれのビットに1の値を有するビットの存否を判断するステップと、前記判断の結果、1の値を有するビットが1つ以上存在する否かかによって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
本発明の他の実施形態によるデコーディング方法は、多階層ビデオ信号の復号化しようとする向上階層をデコーディングする方法において、前記向上階層に対応する下位階層の符号化ブロックパターン値から、前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定するステップと、前記デコーディング方法によって選択されたエントロピー復号化方法によって前記残差予測フラッグを復号化し、前記残差予測フラッグによって前記向上計測を復号化する復号化ステップと、を含む。
本発明の他の実施形態によるデコーディング装置は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする装置において、前記下位階層ブロックに対する符号化ブロックパターンの値を解釈するパージング部と、前記符号化ブロックパターン値によって前記残差予測フラッグに対するデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグをデコーディングするデコーディング部と、を備える。
本発明のさらに他の実施形態によるデコーディング装置は、多階層ビデオ信号の復号化しようとする向上階層をデコーディングする装置において、前記向上階層に対応する下位階層の符号化ブロックパターン値を解釈するパージング部と、前記符号化ブロックパターン値から前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグを逆エントロピー復号化し、前記向上階層を逆エントロピー復号化する逆エントロピー復号化部と、前記向上階層を逆量子化する逆量子化部と、前記逆量子化された向上階層を逆時間的変換し、前記残差予測フラッグによって前記下位階層から予測して復号化する逆時間的変換部と、を備えることを特徴とする。
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
本発明を具現することによって、基礎階層のデータで向上階層のデータが基礎階層のデータを参照しているか否かを判断して、データの圧縮率を高めることができる。
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
以下、本発明の実施形態によって、基礎階層と向上階層のデータにより予測情報をデコーディングしてコーディング率を向上させる装置及び方法を説明するためのブロック図またはフローチャートに関する図面を参考して本発明について説明する。この時、フローチャートの各ブロックとフロ−チャートの組合わせはコンピュータプログラムインストラクションにより実行可能なのが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーに搭載されうるので、コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーを通じて実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラマブルデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ判読可能メモリに保存されることも可能なので、そのコンピュータ利用可能またはコンピュータ判読可能メモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラマブルデータプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラマブルデータプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている2つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
図2で説明した予測方法をデコーディング側で使用するために如何なる方式の予測がなされたか、あるいは如何なるデータを参照しているかなどについての情報を設定してエンコーディング側から伝送する。データを圧縮する技法のうち1つであるエントロピーコーディングは、無損失圧縮を使用して最終圧縮を行う。通常ハフマンコーディング(Huffma ncoding)を多用する。ハフマンコーディングは可変長(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進コードは伝送前に算術コーダによりさらにエンコーディングされる。
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]は、マクロブロックを8x8大きさで割った明度ブロック(lumablock)のうち、上左側ブロック(top−left 8x8l umablock)に非ゼロピクセルが存在する場合、1である。b it[1]は、上右側ブロック(top−right 8x8 lumablock)、bit[2]は下左側ブロック(lower−left 8x8 lumablock)、そしてbit[2]は、下右側ブロック(lower−right 8x8 lumablock)に各々非ゼロピクセルが存在する場合、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で説明したようにインター予測またはイントラ予測方法を選択的に用いてデコーディングしうるということは当業者ならば理解できるであろう。
本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。
本発明の範囲は詳細な説明よりは特許請求の範囲により表れ特許請求の範囲の意味及び範囲、そしてその等価概念から導かれるあらゆる変更または変形された形態が本発明の範囲に含まれると解釈されねばならない。
本発明は、ビデオ信号のエンコーディング及びデコーディングに関連した技術分野に好適に適用されうる。
多階層構造を用いたスケーラブルビデオコーデックを示す図である。 前記3種の予測方法を説明する概略図である。 ビデオコーディングでの残差予測の例を示す例示図である。 本発明の一実施形態による残差予測フラッグのエンコーディング効率を高めるフローチャートである。 本発明の一実施形態による図4でエンコーディングされたデータをデコーディングするフローチャートである。 ビデオコーディングでのモーション予測(Residual prediction)の例を示す例示図である。 本発明の一実施形態によるモーション予測フラッグのエンコーディング効率を高めるフローチャートである。 本発明の一実施形態による図7でエンコーディングされたデータをデコーディングするフローチャートである。 本発明の一実施形態による逆残差予測データをエンコーディングする過程を説明するフローチャートである。 図9で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。 本発明の一実施形態によるコンテキストを変更して残差予測フラッグをコーディングする過程を示すフローチャートである。 図11で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。 本発明の一実施形態による基礎階層の残差データによってコーディングを異ならせる実施形態を示すフローチャートである。 本発明の一実施形態によるCABACコーディングを行う場合、コンテキストモデルを変えてコーディングする過程を示すフローチャートである。 図14の過程を通じてエンコーディングされたビデオデータをデコーダがデコーディングする過程を示すフローチャートである。 本発明の一実施形態によるビデオエンコーダの構造を示す例示図である。 本発明の一実施形態によるビデオデコーダの構造を示す例示図である。
符号の説明
300 基礎階層エンコーダ
400 向上階層エンコーダ
420 向上階層エンコーダの変換部
435 向上階層エンコーダの符号化設定情報部
500 ビデオエンコーダ
550 ビデオデコーダ
600 基礎階層デコーダ
705 パージング部
710 エントロピー復号化部
730 向上階層デコーダの逆変換部

Claims (90)

  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に記載のビデオ信号の残差予測フラッグをデコーディングする方法である請求項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変数をシフトライト(shift−right)演算を行い、その結果と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に記載のビデオデコーダ。
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 true JP2006304307A (ja) 2006-11-02
JP2006304307A5 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008072500A1 (ja) * 2006-12-13 2008-06-19 Sharp Kabushiki Kaisha 動画像符号化装置および動画像復号装置
JP2008543130A (ja) * 2005-05-03 2008-11-27 クゥアルコム・インコーポレイテッド 複数層を使用するマルチメディア・データのスケーリング可能なエンコーディング及びデコーディングのためのシステム及び方法
JP2011501571A (ja) * 2007-10-15 2011-01-06 クゥアルコム・インコーポレイテッド スケーラブルビット深度のためのスケーラブルビデオコーディング手法
JP2016537858A (ja) * 2013-10-18 2016-12-01 エルジー エレクトロニクス インコーポレイティド マルチビュービデオをデコードするビデオデコード方法及び装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100878826B1 (ko) 2005-07-08 2009-01-14 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법
KR101158439B1 (ko) 2005-07-08 2012-07-13 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법
US8320453B2 (en) 2005-07-08 2012-11-27 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
KR100791299B1 (ko) 2006-04-11 2008-01-04 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법 및 장치
US8422555B2 (en) * 2006-07-11 2013-04-16 Nokia Corporation Scalable video coding
JP5232796B2 (ja) 2006-12-14 2013-07-10 トムソン ライセンシング 適応エンハンスメントレイヤ予測を使用したビット深度スケーラブルなビデオデータを符号化及び/又は復号化する方法及び装置
US8315466B2 (en) 2006-12-22 2012-11-20 Qualcomm Incorporated Decoder-side region of interest video processing
WO2010095984A1 (en) * 2009-02-17 2010-08-26 Telefonaktiebolaget L M Ericsson (Publ) Systems and method for enabling fast channel switching
CA2839560C (en) * 2011-06-16 2016-10-04 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Entropy coding of motion vector differences
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)
EP3777156A1 (en) * 2018-03-29 2021-02-17 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Transform coefficient block coding
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 太原智林信息技术股份有限公司 基于视频码流的规则标志检测和分类识别方法
CN113794888B (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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008543130A (ja) * 2005-05-03 2008-11-27 クゥアルコム・インコーポレイテッド 複数層を使用するマルチメディア・データのスケーリング可能なエンコーディング及びデコーディングのためのシステム及び方法
JP4902642B2 (ja) * 2005-05-03 2012-03-21 クゥアルコム・インコーポレイテッド 複数層を使用するマルチメディア・データのスケーリング可能なエンコーディング及びデコーディングのためのシステム及び方法
US8619860B2 (en) 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
WO2008072500A1 (ja) * 2006-12-13 2008-06-19 Sharp Kabushiki Kaisha 動画像符号化装置および動画像復号装置
US8306126B2 (en) 2006-12-13 2012-11-06 Sharp Kabushiki Kaisha Moving picture encoding apparatus and moving picture decoding apparatus
JP2011501571A (ja) * 2007-10-15 2011-01-06 クゥアルコム・インコーポレイテッド スケーラブルビット深度のためのスケーラブルビデオコーディング手法
US8432968B2 (en) 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths
JP2016537858A (ja) * 2013-10-18 2016-12-01 エルジー エレクトロニクス インコーポレイティド マルチビュービデオをデコードするビデオデコード方法及び装置
US10321157B2 (en) 2013-10-18 2019-06-11 Lg Electronics Inc. Video decoding method and apparatus for decoding multi-view video

Also Published As

Publication number Publication date
CA2543947A1 (en) 2006-10-19
EP1715693A3 (en) 2007-01-10
EP1715693A2 (en) 2006-10-25
AU2006201490B2 (en) 2008-05-22
WO2006112642A1 (en) 2006-10-26
AU2006201490A1 (en) 2006-11-02
BRPI0602466A (pt) 2006-12-26

Similar Documents

Publication Publication Date Title
JP2006304307A (ja) エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ
KR100746007B1 (ko) 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
KR100763181B1 (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
JP2006304307A5 (ja)
KR100772878B1 (ko) 비트스트림의 비트율 조절을 위한 우선권 할당 방법,비트스트림의 비트율 조절 방법, 비디오 디코딩 방법 및 그방법을 이용한 장치
KR100772873B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100703774B1 (ko) 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
EP1737243A2 (en) Video coding method and apparatus using multi-layer based weighted prediction
WO2010004939A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20060280372A1 (en) Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction
JP4410245B2 (ja) ビデオをトランスコーディングする方法
JP2009532979A (ja) 加重平均合を用いてfgs階層をエンコーディングおよびデコーディングする方法および装置
JP2008536440A (ja) ビデオ信号のスケーラブルなエンコーディング方法およびデコーディング方法
KR20070015097A (ko) 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
MXPA06011817A (es) Metodo de indicadores de codificacion por capa usando la correlacion entre capas, metodo y aparato para descodificar indicadores codificadas.
JP2009533938A (ja) 多階層基盤のビデオエンコーディング方法および装置
KR100763205B1 (ko) 모션 역변환을 사용하여 모션 예측을 수행하는 방법 및장치
US20080013624A1 (en) Method and apparatus for encoding and decoding video signal of fgs layer by reordering transform coefficients
JP2009531942A (ja) エントロピ符号化効率を向上させる方法およびその方法を用いたビデオエンコーダおよびビデオデコーダ
EP1817911A1 (en) Method and apparatus for multi-layered video encoding and decoding
KR100703751B1 (ko) 가상 영역의 영상을 참조하여 인코딩 및 디코딩 하는 방법및 장치
KR20130085088A (ko) 스케일러블 비디오 코딩에서의 고속 모드 결정 방법 및 그 장치
EP1889487A1 (en) Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction
JP5063678B2 (ja) ビットストリームのビット率の調節のための優先権の割当て方法、ビットストリームのビット率の調節方法、ビデオデコーディング方法およびその方法を用いた装置
KR102271878B1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091110