JP5080575B2 - 適応可変長符号を用いた映像圧縮 - Google Patents

適応可変長符号を用いた映像圧縮 Download PDF

Info

Publication number
JP5080575B2
JP5080575B2 JP2009519614A JP2009519614A JP5080575B2 JP 5080575 B2 JP5080575 B2 JP 5080575B2 JP 2009519614 A JP2009519614 A JP 2009519614A JP 2009519614 A JP2009519614 A JP 2009519614A JP 5080575 B2 JP5080575 B2 JP 5080575B2
Authority
JP
Japan
Prior art keywords
block
vlc
symbol
seob
encoding
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.)
Expired - Fee Related
Application number
JP2009519614A
Other languages
English (en)
Other versions
JP2009544188A (ja
Inventor
イエ、ヤン
バオ、イリアン
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009544188A publication Critical patent/JP2009544188A/ja
Application granted granted Critical
Publication of JP5080575B2 publication Critical patent/JP5080575B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/186Methods 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 a colour or a chrominance component
    • 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/187Methods 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 a scalable video layer

Landscapes

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

Description

本出願は、全体の内容が参照により本明細書に組み込まれる、2006年7月12日出願の米国特許仮出願第60/830491号の利益を主張するものである。
本開示は、デジタル映像および、さらに詳しくは、可変長符号(VLCs:variable length codes)を用いたデジタル映像の圧縮に関する。
デジタル映像の性能は、デジタルテレビ、デジタル直接放送システム、無線通信デバイス、携帯情報端末(PDAs:personal digital assistants)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、セルラーまたは衛星無線電話などを含む広範なデバイスに組み込まれることができる。デジタル映像デバイスは、デジタル映像をより効率的に送信および受信するために、MPEG−2、MPEG−4、またはH.264/MPEG−4高度映像符号化(AVC:Advanced Video Coding)のような、映像圧縮技術を実施する。映像圧縮技術は、映像信号に内在する冗長度を低減または除去するために空間的および時間的予測を行う。
映像符号化において、映像圧縮は、一般的に空間的予測、動き推定および動き補償を含む。特に、イントラ符号化は、所与の映像フレーム内の映像における空間的冗長度を低減または除去するために空間的予測に依存する。インター符号化は、隣接するフレーム内の映像における時間的冗長度を低減または除去するために時間的予測に依存する。インター符号化に対して、映像エンコーダは、二つまたはそれ以上の隣接するフレーム間のよく一致する映像ブロックの動きを追跡するために動き推定を行う。動き推定は動きベクトルを生成するが、これは、一つまたはそれ以上の参照フレーム中の対応する映像ブロックに対する映像ブロックの変位を示す。動き補償は、動きベクトルを用いて参照フレームから予測映像ブロックを生成する。動き補償の後、元の映像ブロックから予測映像ブロックを差し引くことにより残差映像ブロックが形成される。
映像エンコーダは、残差ブロックのビットレートをさらに低減するために変換、量子化およびエントロピー符号化を適用する。エントロピー符号化は、一般的に変換および量子化の操作によりつくり出される残差係数をさらに圧縮するために、算術符号または可変長符号(VLCs:variable length codes)を適用することを含む。例としては、文脈適応2進法算術符号化(CABAC:context-adaptive binary arithmetic coding)および文脈適応可変長符号化(CAVLC:context-adaptive variable length coding)が含まれ、これらはあるエンコーダにおいて二者択一のエントロピー符号化モードとして用いられることができる。映像デコーダは、ブロックの各々に対する動き情報および残差情報を用いて、符号化された映像を復元するために逆操作を行う。
概括的に言って、本開示は、デジタル映像の適応可変長符号化(VLC:variable length coding)のための技術に関する。特に、本適応VLC技術は、予測符号化処理によりつくり出される残差係数のエントロピー符号化のために用いられることができる。本技術は、ゼロのランを用いて非ゼロの変換係数の位置を符号化する映像符号化方式に適用されることができる。一例として、本技術は、スケーラブル映像符号化(SVC:scalable video coding)のために用いられるファイン グラニュラリティ スケーラビリティ(fine granularity scalability;FGS)において変換係数を符号化するために適用されることができる。適応VLC技術は、デジタル映像エンコーダにおいて複雑さの低減および効率の向上を促進するために、VLC処理を適応的に調整する(adjust)ことができる。
本適応VLC技術は、ブロック終了(EOB:end of block)シフトテーブルおよびVLC符号ブック選択テーブルを、符号化された映像スライスのデータとともに送る代わりに、内部状態として保持することができる。テーブルエントリ(entry)は、符号化パス(pass)間に収集される符号化の統計データに基づいて定期的に更新されることができる。また別の様態では、適応VLC技術は、シンボルセット中のsEOBシンボルの位置を、ブロック内に1より大きい非ゼロ係数をもつ確率に適応させる特別EOB(sEOB:special EOB)シフトテーブルを保持することができ、さらに非ゼロ係数の大きさに関する情報を別の符号化パラメータで符号化することができる。付加的な様態において、本適応VLC技術は、色差DCおよびACブロックを相互に独立に、さらに輝度ブロックと独立に、それぞれ色差DCブロック、色差ACブロックおよび輝度ブロックに合わせて調節された別々のEOBシフト、特別EOBシフト、およびVLC符号ブック選択テーブルを用いて符号化することができる。
本開示は、一様態において、VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行い、デジタル映像ブロック係数のVLC符号化の間に符号化の統計データを収集し、さらに収集された符号化の統計データに基づいてVLC符号化の間にVLCパラメータの一つまたはそれ以上を調整する(adjust)ように構成された可変長符号(VLC)ユニットを備える映像符号化デバイスを提供する。
また別の様態において、本開示は、VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うこと、デジタル映像ブロック係数のVLC符号化の間に符号化の統計データを収集すること、および収集された符号化の統計データに基づいてVLC符号化の間にVLCパラメータの一つまたはそれ以上を調整すること、を備える方法を提供する。
付加的な様態において、本開示は、VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うように構成された可変長符号(VLC)ユニットを備える映像符号化デバイスであって、該VLCパラメータは、ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびのブロック終了の確率に基づくsEOBシンボルを備えるシンボルセット内のsEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して、指示する特別EOB(sEOB)シフトテーブルを備える、映像符号化デバイスを提供する。
また別の様態において、本開示は、可変長符号(VLC)パラメータを生成すること、および該VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うことを備える方法であって、該VLCパラメータは、ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づくsEOBシンボルを備えるシンボルセット内のsEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して、指示する特別EOB(sEOB)シフトテーブルを備える、方法を提供する。
本開示に記載される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいて実施されることができる。もしソフトウェアで実施される場合、該ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、またはデジタル・シグナル・プロセッサ(DSP:digital signal processor)のような、一つまたはそれ以上のプロセッサで実行されることができる。本技術を実行するソフトウェアは、予めコンピュータ可読の媒体に格納され、さらにプロセッサに取り込まれて実行されることができる。従って、本開示は、プロセッサに本開示に記載されるような様々な技術のいずれかを実行させるための命令を備えるコンピュータ可読の媒体を備える、コンピュータプログラム製品も企図する。
本開示の一つまたはそれ以上の様態の詳細が、添付図面および以下の記載において説明される。本開示において記載される本技術の他の特徴、目的、および利益は、これらの記載および図面、並びに請求項から明らかであろう。
映像符号化および復号化を示すブロック図。 映像エンコーダの一例を示すブロック図。 映像デコーダの一例を示すブロック図。 スケーラブル映像符号化(SVC)スライスのベースレイヤーに関するブロックにおける残差係数を示す図。 SVCスライスのファイン グラニュラリティ スケーラビリティ(FGS)に関するブロックにおける残差係数の分類を示す図。 残差係数ブロックにおいて非ゼロ係数をゼロのランとして符号化することを示す図。 SVCスライスのFGSエンハンスメントレイヤーに関するブロックにおける有意係数およびリファインメント係数のサイクルベースの符号化を示す図。 本発明の様態による適応VLC処理を適用するように構成されたエントロピー符号化ユニットのブロック図。 本発明の様態による適応VLC処理を適用するように構成されたエントロピー復号化ユニットのブロック図。 本発明の様態による適応VLC処理を示すフロー図。 適応VLC処理をより詳細に示すフロー図。
[詳細な説明]
図1は、映像符号化および復号化システム10を示すブロック図である。図1に示されるように、システム10は、符号化された映像を通信チャンネル16を経由して受信デバイス14に送信するソースデバイス(source device)12を含む。ソースデバイス12は、映像ソース18、映像エンコーダ20および送信器22を含むことができる。受信デバイス14は、受信器24、映像デコーダ26および映像表示デバイス28を含むことができる。システム10は、デジタル映像の適応可変長符号化(VLC)のための技術を適用するように構成されることができる。特に、本適応VLC技術は、予測映像符号化処理によりつくり出される残差ブロック係数のエントロピー符号化のために用いられることができる。本技術は、ゼロのランを用いて非ゼロの変換係数の位置を符号化する映像符号化方式に適用されることができる。一例として、本技術は、スケーラブル映像符号化(SVC)に用いられるファイン グラニュラリティ スケーラビリティ(FGS)レイヤーにおけるシグニフィカンス(significance)符号化のための変換係数を符号化するために適用されることができる。システム10により適用される適応VLC技術は、デジタル映像エンコーダにおいて複雑さの低減および効率の向上を促進するためにVLC処理を適応的に調整することができる。
一様態において、システム10は、ブロック終了(EOB:end of block)シフトテーブルおよびVLC符号ブック選択テーブルを、符号化された映像スライスデータとともに送る代わりに、内部状態として保持する適応VLC技術を適用するように構成されることができる。例えば、映像エンコーダ20は、符号化パスの間に収集された統計データに基づいてテーブルエントリを定期的に更新することができる。また別の様態では、映像エンコーダ20は、シンボルセット中の特別EOBシンボルの位置を、現在の符号化条件下における1より大きい有意係数の確率に適応させる特別EOB(sEOB)シフトテーブルを保持することができる。特別EOBのパラメータは、以下により詳細に記載されるように、2つのシンボル、例えば、sEOBおよびtermSym、により表わされることができる。付加的な様態において、映像エンコーダ20は、例えば、適応VLC方式と連動して、DCおよびACの色差ブロックを、別々のEOBシフト、特別EOBシフト、およびVLC符号ブック選択テーブルを用いて輝度ブロックと独立に符号化することができる。
図1の例において、通信チャンネル16は、無線周波数(RF)スペクトルの、或いは一つまたはそれ以上の物理的な伝送線、ないし無線および有線媒体の任意の組合せのような、任意の無線または有線の通信媒体を備えることができる。チャンネル16は、ローカルエリア・ネットワーク、広域ネットワーク、またはインターネットのようなグローバル・ネットワークなど、パケットベース(packet-based)のネットワークの一部を成すことができる。通信チャンネル16は、映像データをソースデバイス12から受信デバイス14に送信するための任意の適切な通信媒体、または異なる通信媒体の一群を一般的に表す。
ソースデバイス12は、宛先デバイス14に送信するための映像を発生させる。ある場合には、しかし、デバイス12、14は、実質的に対称的なやり方で動作してもよい。例えば、デバイス12、14の各々は、映像を符号化および複合化する構成要素を含むことができる。それ故、システム10は、例えば、映像ストリーミング、映像放送、またはテレビ電話のために、映像デバイス12、14の間の一方向または双方向の映像伝送をサポートすることができる。
映像ソース18は、一つまたはそれ以上のビデオカメラのような映像キャプチャデバイス、予めキャプチャされた映像を含む映像アーカイブ、または映像コンテンツプロバイダからのライブ映像配信を含むことができる。また代わりに、映像ソース18は、コンピュータグラフィックスに基づくデータをソース映像として、またはライブ映像とコンピュータ生成映像の組み合わせを発生させることができる。ある場合には、もし映像ソース18がカメラであれば、ソースデバイス12および受信デバイス14は、いわゆるカメラ付き携帯電話またはテレビ電話を形成することができる。各々の場合に、キャプチャされた、予めキャプチャされた、またはコンピュータで生成された映像は、映像ソースデバイス12から送信器22、チャンネル16および受信器24を経由して映像受信デバイス14の映像デコーダ26に送信されるために、映像エンコーダ20により符号化されることできる。表示デバイス28は、液晶ディスプレイ(LCD:liquid crystal display)、プラズマディスプレイまたは有機発光ダイオード(OLED:organic light emitting diode)ディスプレイのような様々なディスプレイデバイスをいずれも含むことができる。
映像エンコーダ20および映像デコーダ26は、空間的、時間的および/または信号対雑音比(SNR:signal-to-noise ratio)のスケーラビリティのためのスケーラブル映像符号化をサポートするように構成されることができる。ある様態では、映像エンコーダ20および映像デコーダ26は、SVCのためのファイン グラニュラリティ SNR スケーラビリティ(FGS)符号化をサポートするように構成されることができる。エンコーダ20およびデコーダ26は、ベースレイヤー(base layer)および一つまたはそれ以上のスケーラブルなエンハンスメントレイヤー(enhancement layer)の符号化、送信および復号化をサポートすることにより様々な度合いのスケーラビリティをサポートすることができる。スケーラブル映像符号化に対して、ベースレイヤーは最低品質レベルの映像データを搬送する。一つまたはそれ以上のエンハンスメントレイヤーは、より高い空間的、時間的および/またはSNRレベルをサポートするための追加のビットストリームを搬送する。
映像エンコーダ20および映像デコーダ26は、MPEG−2、MPEG−4、ITU−T H.263、またはITU−T H.264/MPEG−4 高度映像符号化(AVC)のような、映像圧縮の標準規格に従って動作することができる。図1には示されないが、ある様態では、映像エンコーダ20および映像デコーダ26は、それぞれ音声エンコーダおよび音声デコーダと統合されることができ、さらに音声および映像の両方の符号化を共通のデータストリームまたは別のデータストリームで扱うための然るべきMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含むことができる。該当する場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザーデータグラムプロトコル(UDP:user datagram protocol)のような他のプロトコル、に準拠することができる。
H.264/MPEG−4(AVC)標準規格は、ITU−T 映像符号化エキスパートグループ(Video Coding Experts Group;VCEG)によりISO/IEC ムービングピクチャー エキスパートグループ(Moving Picture Experts Group;MPEG)と共同で、Joint Video Team(JVT)として知られる共同パートナーシップの産物として策定された。H.264標準規格は、ITU−T調査グループによる、2005年3月付のITU−T勧告H.264、視聴覚サービス全般のための高度映像符号化、に記載されており、ここではH.264標準規格またはH.264仕様、ないしH.264/AVC標準規格または仕様として言及されることがある。
Joint Video Team(JVT)は、スケーラブル映像符号化(SVC)をH.264/MPEG−4 AVCに拡張する作業を続けている。進化しつつあるSVC拡張の仕様は、共同草案(JD:Joint Draft)のかたちになっている。JVTによりつくり出された共同スケーラブル映像モデル(JSVM:Joint Scalable Video Model)は、スケーラブル映像に用いるツールを実装しており、それらは本開示に記載される様々な符号化タスクのためにシステム10において用いられることができる。ファイン グラニュラリティ SNR スケーラビリティ(FGS)符号化に関する詳細な情報は、共同草案文書、例えば、トーマス・ウィーガンド(Thomas Wiegand),ゲイリ・サリバン(Gary Sullivan),ジュリアン・レイチェル(Julien Reichel),ヘイコ・シュワルツ(Heiko Schwarz),およびマサイアス・ウィーン(Mathais Wien)著,「共同草案6(SVC JD6):スケーラブル映像符号化(Joint Draft 6: Scalable Video Coding)」,JVT−S 201,2006年4月,ジュネーブ、および、トーマス・ウィーガンド(Thomas Wiegand),ゲイリ・サリバン(Gary Sullivan),ジュリアン・レイチェル(Julien Reichel),ヘイコ・シュワルツ(Heiko Schwarz),およびマサイアス・ウィーン(MathaisWien)著,「SVC修正に関する共同草案9(SVC JD 9)(Joint Draft 9 of SVC Amendment)」,JVT−V 201,2007年1月,マラケシュ,モロッコ、に見出すことができる。
ある様態では、映像放送に関して、本開示に記載される技術は、技術標準TIA−1099(“FLO仕様”)として発行予定のフォーワード リンク オンリイ (Forward Link Only;FLO)無線インターフェース仕様「地上波モバイル・マルチメディア・マルチキャストのためのフォーワード リンク オンリイ 無線インターフェース仕様(Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast)」を用いた地上波モバイル・マルチメディア・マルチキャスト(TM3)システムにおいてリアルタイムの映像サービスを提供するために拡張H.264映像符号化に対して適用されることができる。FLO仕様は、FLO無線インターフェースに適したビットストリームの文法(syntax)および意味論(semantics)並びに復号化処理を定義する例を含む。代わりに、映像は、DVB−H(digital video broadcast-handheld:デジタル映像放送−ハンドヘルド)、ISDB−T(integrated services digital broadcast-terrestrial:統合デジタル放送サービス−地上波)、またはDMB(digital media broadcast:デジタルメディア放送)のような他の標準規格に従って放送されることもできる。それ故、ソースデバイス12は、モバイル無線端末、映像ストリーミングサーバ、または映像放送サーバであってもよい。しかし、本開示に記載される技術は、いかなる特定の種類の放送、マルチキャスト、またはポイント・ツー・ポイントシステムにも限定されない。放送の場合、ソースデバイス12は、映像データのいくつかのチャンネルを、各々が図1の受信デバイス14と同様であってもよい多数の受信デバイスに対して放送することができる。
映像エンコーダ20および映像デコーダ26の各々は、一つまたはそれ以上のマイクロプロセッサ、デジタル・シグナル・プロセッサ(DSPs)、特定用途向け集積回路(ASICs)、フィールド・プログラマブル・ゲート・アレイ(FPGAs)、個別論理素子、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせとして実施されることができる。映像エンコーダ20および映像デコーダ26の各々は一つまたはそれ以上のエンコーダまたはデコーダに含まれてもよく、それらはいずれもモバイルデバイス、加入者デバイス、放送デバイス、サーバなどそれぞれのエンコーダ/デコーダの組み合わせ(CODEC)の一部として集積化されてもよい。加えて、ソースデバイス12および受信デバイス14の各々は、無線通信をサポートするのに十分なラジオ周波数(RF)無線の構成要素およびアンテナを含めて、適用可能であれば、符号化された映像を送信および受信するための然るべき変調、復調、周波数変換、フィルタ、および増幅器の要素を含むことができる。しかし、図示を容易にするためにかかる構成要素は図1に示されていない。
映像シーケンスは、一連の映像フレームを含む。映像エンコーダ20は、映像データを符号化するために個々の映像フレーム内の画素からなるブロックに作用する。映像ブロックは、固定または可変サイズをもつことができ、特定の符号化規格に従ってサイズは異なることがある。各映像フレームは、一連のスライスを含む。各スライスは、一連のマクロブロックを含むことができ、マクロブロックはサブブロックに配置されることができる。一例として、ITUT−H.264標準規格は、輝度成分に対して16×16、8×8、4×4、および色差成分に対して8×8のような様々なブロックサイズにおけるイントラ予測、並びに、輝度成分に対して16×16、16×8、8×16、8×8、8×4、4×8さらに4×4および色差成分に対してはこれに対応した縮尺サイズのような様々なブロックサイズにおけるインター予測、をサポートする。
より小さい映像ブロックは、より良好な解像度を提供することができ、より細部を含む映像フレームの位置に対して使用されることができる。一般的に、マクロブロック(MB)および様々なサブブロックは、映像ブロックと考えることができる。加えて、スライスは、MBおよび/またはサブブロックのような映像ブロックの連なりと考えることができる。各スライスは、独立に復号化が可能な単位とすることができる。予測の後、8×8の残差ブロックまたは4×4の残差ブロックに変換が行なわれることができ、さらにもしイントラ_16×16予測モードが用いられる場合、追加の変換が色差成分または輝度成分に対する4×4ブロックのDC係数に適用されることができる。
図2は、図1に示されるような映像エンコーダ20の一例を示すブロック図である。映像エンコーダ20は、映像フレーム内のブロックのイントラおよびインター符号化を行うことができる。イントラ符号化は、所与の映像フレーム内の映像における空間的冗長度を低減または除去するために空間的予測に依存する。インター符号化は、映像シーケンスの隣接したフレーム内の映像における時間的冗長度を低減または除去するために時間的予測に依存する。インター符号化に対して、映像エンコーダ20は、隣接したフレーム間のよく一致する映像ブロックの動きを追跡するために動き推定を行う。
図2に示されるように、映像エンコーダ20は、符号化されるべき映像フレーム内の現在の映像ブロック30を受信する。図2の例においては、映像エンコーダ20は、動き推定ユニット32、参照フレームストア(store)34、動き補償ユニット36、ブロック変換ユニット38、量子化ユニット40、逆量子化ユニット42、逆変換ユニット44およびエントロピー符号化ユニット46を含む。ブロック化に伴うアーチファクト(artifacts)を除去する目的でブロックにフィルタをかけるためにループ内デブロッキングフィルタ(示されていない)が用いられてもよい。映像エンコーダ20は、サマー(summer)48およびサマー50も含む。図2は、映像ブロックをインター符号化するための映像エンコーダ20の時間的予測の構成要素を示す。図解を容易にするため図2には示されていないが、映像エンコーダ20は、いくつかの映像ブロックのイントラ符号化のための空間的予測の構成要素も含むことができる。
動き推定ユニット32は、映像ブロック30を一つまたはそれ以上の隣接した映像フレーム中のブロックと比較して一つまたはそれ以上の動きベクトルを生成する。隣接した一つまたは複数のフレームは、先に符号化されたブロックから復元された映像ブロックを格納する任意の種類のメモリまたはデータ記憶デバイスを備えることのできる、参照フレームストア34から読み出されることができる。動き推定は、様々なサイズ、例えば、16×16、16×8、8×16、8×8またはより小さいブロックサイズ、のブロックに対して行われることができる。動き推定ユニット32は、例えば、レートひずみ(rate distortion)モデルに基づいて、現在の映像ブロック30と最もよく一致する隣接フレーム中の一つまたはそれ以上のブロックを特定して、隣接フレーム中のブロックと現在の映像ブロックとの間の変位を決定する。これに基づいて、動き推定ユニット32は、現在の映像ブロック30と、現在の映像ブロック30を符号化するために用いられる参照フレームからの一つまたはそれ以上のよく一致するブロックとの間の変位の大きさおよび軌跡を示す一つまたはそれ以上の動きベクトル(MV)を生成する。
動きベクトルは、二分の一または四分の一画素の精度、ないしさらに細かい精度をもつことができ、これにより映像エンコーダ20は、整数の画素の位置より高い精度で動きを追跡して、より良好な予測ブロックを得ることが可能となる。分数の画素の値をもつ動きベクトルが使われるとき、動き補償ユニット36で補間操作が行われる。動き推定ユニット32は、例えば、レートひずみモデルのような、一定の基準を用いて映像ブロックに対する最良のブロック分割および一つまたは複数の動きベクトルを特定する。例えば、二方向予測の場合には動きベクトル以上があり得る。結果として生じるブロック分割および動きベクトルを用いて、動き補償ユニット36は、予測映像ブロックを形成する。
映像エンコーダ20は、動き補償ユニット36により生成された予測映像ブロックを、元になる現在の映像ブロック30からサマー48で差し引くことにより残差映像ブロックを形成する。ブロック変換ユニット38は、H.264/AVCで用いられる4×4または8×8整数変換のような変換を残差ブラックに適用し、残差変換ブロック係数を生成する。量子化ユニット40は、残差変換ブロック係数を量子化し、ビットレートをさらに低減する。エントロピー符号化ユニット46は、量子化された係数をエントロピー符号化し、ビットレートをさらに一層低減する。
エントロピー符号化ユニット46は、VLC符号化を量子化されたブロック係数に適用するための可変長符号化(VLC)ユニットとして動作する。特に、エントロピー符号化ユニット46は、内部状態として蓄積されることのできる一組のVLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行い、デジタル映像ブロック係数のVLC符号化の間に符号化の統計データを収集し、さらに収集された符号化の統計データに基づいてVLC符号化の間にVLCパラメータの一つまたはそれ以上を調整するように構成されることができる。一般的に、映像デコーダ26は、例えば、図3を参照して、以下に記載されるように、符号化された映像を復号化および復元するために、VLC復号化を含む、逆の操作を行う。
逆量子化ユニット42および逆変換ユニット44は、残差ブロックを復元するために、それぞれ逆量子化および逆変換を適用する。サマー50は、復元された残差ブロックを動き補償ユニット36により生成された動き補償された予測ブロックに加え、参照フレームストア34に格納するための復元された映像ブロックを生成する。復元された映像ブロックは、次の映像フレーム中のブロックを符号化するために、動き推定ユニット32および動き補償ユニット36により使われる。
図3は、映像デコーダ26の一例を示すブロック図である。映像デコーダ26は、映像フレーム内のブロックのイントラおよびインター復号化を行うことができる。図3に示されるように、映像デコーダ26は、映像エンコーダ20により符号化された映像ビットストリームを受信する。図3の例では、映像デコーダ26は、エントロピー復号化ユニット52、動き補償ユニット54、逆量子化ユニット56、逆変換ユニット58、および参照フレームストア62を含む。映像デコーダ26は、サマー64の出力をフィルタするループ内デブロッキングフィルタ(示されていない)を含むこともできる。映像デコーダ26は、サマー64も含む。図3は、映像ブロックのインター復号化のための映像デコーダ26の時間的予測の構成要素を示す。図3には示されていないが、映像デコーダ26は、いくつかの映像ブロックのイントラ復号化のための空間的予測の構成要素も含むことができる。
エントロピー復号化ユニット52は、符号化された映像ビットストリームを受信し、量子化された残差係数、マクロブロック符号化モード、および動きベクトル並びにブロック分割を含むことのできる動き情報、をビットストリームから復号化する。それ故、エントロピー復号化ユニット52は,VLC復号化ユニットとして機能する。例えば、符号化されたビットストリームから量子化された残差係数を復号化するために、図2のエントロピー符号化ユニット46のように、図3のエントロピー復号化ユニット52は、内部状態として格納されることのできる一組のVLCパラメータを用いて、本開示に記載されるように、デジタル映像ブロック係数の適応VLC復号化を行い、デジタル映像ブロック係数のVLC復号化の間に符号化の統計データを収集し、さらに収集された符号化の統計データに基づいてVLC復号化の間にVLCパラメータの一つまたはそれ以上を調整することができる。但し、エントロピー復号化ユニット52は、符号化されたビットストリームから量子化されたブロック係数を取り出すために、図2のエントロピー符号化ユニット46に対して逆のやり方でVLC復号化を行う。
動き補償ユニット54は、動きベクトルおよびブロック分割、並びに参照フレームストア62から一つまたはそれ以上の復元された参照フレームを受信し、予測映像ブロックを生成する。逆量子化ユニット56は、量子化されたブロック係数を逆量子化する、すなわち、量子化の逆を行う。逆変換ユニット58は、それらの係数に逆変換、例えば、逆DCTまたは逆4×4ないし8×8整数変換、を適用し、残差ブロックを生成する。予測映像ブロックは、次にサマー64により残差ブロックと加算され、復号化されたブロックを形成する。ブロック化のアーチファクトを除去することを目的として復号化されたブロックにフィルターをかけるために、デブロッキングフィルタ(図示されていない)が適用されてもよい。フィルタされたブロックは、次に参照フレームストア62に置かれ、これにより次の映像フレームを復号化するための参照フレームが提供され、さらにディスプレイデバイス28(図1)を駆動するための復号化された映像も生成される。
現在、ISO/IEC MPEGおよびITU−T VCEGからの映像符号化の専門家で構成される、Joint Video Team(JVT)は、H.264/AVCに対してスケーラブル映像符号化を拡張する、SVC標準規格の作業を行っている。JSVM(Joint Scalable Video Model:共同スケーラブル映像モデル)と呼ばれる、共通ソフトウェアが参加者により使われている。JSVMは、組み合わされたスケーラビリティをサポートする。SVCのビットストリームは、ファイン グラニュラリティ スケーラビリティ、空間的スケーラビリティ、時間的スケーラビリティ、またはそれら3つの任意の組み合わせをもつことができる。
ファイン グラニュラリティ スケーラビリティは、映像符号化にとって重要かつ非常に望ましい特徴である。この特徴は、圧縮された映像のビットストリームがほとんど任意に切り捨てられることを可能にし、一方で同時にエンドユーザーには適度な劣化の復号化された映像品質を提供する。ファイン グラニュラリティ スケーラビリティ(FGS)において、エンハンスメントレイヤーのビットストリームは、任意に切り捨てられることができる。映像デコーダ26がより多くのビットをFGSレイヤーにおいて受信かつ復号化するにつれて、より良好な映像品質が生成されることになる。さらに、JSVMにおけるFGSは、映像品質の向上がフレームの特定の空間的エリア内だけに集中するのとは対照的に、なぜならその場合は視聴者にとって視覚的に不快であろうとの理由から、映像フレーム全体にわたって均等に行きわたるように設計されている。
FGSは、ビットプレイン符号化を用いて映像品質の適度な向上を達成することができる。もしベースまたは前レイヤーの映像フレームが量子化パラメータQP、例えば、量子化ユニット40(図2)を用いて、量子化される場合、次に現在のエンハンスメントレイヤーの映像は(QP−6)付近の量子化パラメータを用いて量子化され、これにより量子化ステップのサイズは実効的に半分になる。より小さい量子化ステップサイズの結果として、より多くの残差変換係数がエンハンスメントレイヤーにおいて非ゼロとなる。
エンハンスメントレイヤーにおける係数は、非有意係数、有意係数およびリファインメント係数の三種類に一般的に分類される。非有意係数は、エンハンスメントレイヤーにおいてゼロの値をもち、ベースまたは前レイヤーにおけるそれに対応する係数もゼロである、係数である。有意係数は、エンハンスメントレイヤーにおいて非ゼロであるが、ベースまたは前レイヤーにおけるそれに対応する係数はゼロである、係数である。リファインメント係数は、ベースまたは前レイヤーにおけるそれらに対応する係数が既に非ゼロ(すなわち、有意)である係数である。ベースまたは前レイヤーにおけるかかる非ゼロ係数の値は、現在のエンハンスメントレイヤーにおける対応する係数の値により改良(refine)される。
図4は、スケーラブル映像符号化(SVC)スライスのベースレイヤーに関するブロックにおける残差ブロック係数を示す図である。図5は、SVCスライスのファイン グラニュラリティ スケーラビリティ(FGS)のエンハンスメントレイヤーに関するブロックにおける残差ブロック係数の分類を示す図である。図4の例において、ベースまたは前レイヤーは、二つの非ゼロの残差変換係数66、68、および灰色で示す過半数のゼロ値の残差変換係数70を含む。図5の例において、FGSレイヤーのブロックは、灰色で示す非有意係数72、クロスハッチした有意係数74、76、およびドットパターンのリファインメント係数78,80を含む。図5のFGSブロックにおけるリファインメント係数78、80は、図4のベースまたは前レイヤーのブロックにおける非ゼロ係数66、68に対応する。図5に示されるように、有意係数は、1より大きい値をもつことができる。例えば、有意係数76は、図5の例では2の大きさをもつ。図5のリファインメント係数78のような、リファインメント係数は、0の値であってもよいが、対応するベースまたは前レイヤーの係数が非ゼロなので非ゼロ係数と考えられてもよいことに留意すべきである。従って、本開示では、有意およびリファインメント係数は、時には併せて非ゼロ係数として言及される。
H.264/AVCと同様に、SVC JD9も、文脈に基づく適応2進法算術符号化(CABAC)モードおよび文脈に基づく適応可変長符号化(CAVLC)モードの二つのエントロピー符号化モードをサポートする。本開示は、CAVLCモードにおいてFGSエンハンスメントレイヤーの係数を適応符号化するのに役立つことのできる適応VLC技術について記載する。SVCで定義される対応するスキームと比較して、本開示に記載されるようなFGSレイヤーの係数を符号化するための技術は、映像エンコーダ20および/または映像デコーダ26における計算の複雑さを大幅に低減することができ、一方で同時により良好な符号化性能を提供する。
本開示に記載される適応VLC技術は、FGSレイヤーにおける係数の符号化に限定される必要はない。むしろ、かかる技術は、ゼロのランを用いて非ゼロ係数の位置を符号化する任意の符号化システムにより広く適用されることができる。かかる符号化システムの例は、標準的なシングルレイヤーの映像符号器、SVC符号器の個別エンハンスメントレイヤー符号器、またはSVC符号器のFGSエンハンスメントレイヤー符号器である。現在のSVC共同草案では、FGSレイヤーにおける有意係数およびリファインメント係数は、異なるメカニズムを用いて別々に符号化される。しかし、有意係数およびリファインメント係数は、ゼロのランとして両方とも符号化されることもでき、その場合、本開示に記載される適応VLC技術は、両種類の係数の符号化に適用可能となり得る。FGSエンハンスメントレイヤーにおいて有意係数の位置をゼロのランとして符号化する適応VLC技術の応用が本開示を通じて説明のために記載されるが、かかる技術を上記のようにゼロのランを用いて非ゼロ係数の位置を符号化する他の符号化システムに適用することを制限するものではない。
H.264/AVCで用いられる8×8または4×4整数変換のような、ブロックに基づく離散変換を適用する多くの符号化システムにおいて、非ゼロ係数の位置がゼロランを用いて符号化される。ゼロランは、ある走査順序において非ゼロ係数に先立つ連続するゼロ係数の数である。それ故、ゼロランは、ブロックの初めから最初の非ゼロ係数まで、連続する非ゼロ係数の間、または最後の非ゼロ係数とブロックの最後のサブバンド位置の間にわたることもある。映像デコーダ26がある予め定義された順序でゼロランを受信するとき、すべての非ゼロ係数の位置は、予め定義された符号化の順序およびゼロランの値に関する知識を用いて復号化されることができる。SVCにおいてVLCを用いてFGSレイヤーを符号化する際、非ゼロ係数の位置はゼロランとして符号化されることができる。現在の共同草案、例えば、JD9では、有意係数のみがゼロランとして符号化され、リファインメント係数は異なるメカニズムを用いて有意係数とは別に符号化される。この場合、ゼロランを形成するときにリファインメント係数は除外される。言い換えれば、リファインメント係数は、ゼロランの一部としてカウントされないが、ゼロランを遮断もしない。
ブロック終了(EOB)シンボルは、一次元のシンボルセットを形成するためにゼロランと組み合わされることができる。EOBシンボルは符号化されるブロックの終りを指示する。しかし、EOBシンボルは必ずしも映像ブロックの最後のサブバンドの位置ではない。従って、EOBシンボルはブロックの最後の非ゼロ係数の位置および正負号が符号化された後に送られる。以下に記載されるように、EOBシンボルは、標準のシンボルまたは特別なシンボルであってもよく、それらの各々はブロック中の非ゼロ係数に関する異なる情報を伝える。可変長符号化(VLC)を用いて符号化される実際の変数は、ゼロランおよびEOBからなるシンボルセット中のシンボルのインデックスである。このシンボルセットにおいて、より長いゼロランはより大きいインデックスをもち、EOBシンボルのインデックスは、以下に記載されるように、EOBが遭遇するサブバンドの位置のような、ある符号化条件に依存してもよい。シンボルセットは、次に、より短い符号語をより小さいインデックスの値に割り当てるVLC技術を用いて符号化される。
シンボルセット内のEOBシンボルのインデックスを特定するためにEOBシフトテーブルを使うことができる。例えば、EOBシフトテーブルは、EOBshift[]={16,4,3,1,0,...}として定式化されることができ、[]は現在のサブバンド位置または符号化サイクルのような、ある予め定義された符号化条件に依存するテーブルインデックスを参照する。例えば、EOBシフトテーブルにインデックス付けするために、最後の非ゼロ係数の後のサブバンドの位置が使用されてもよい。この場合、ジグザグ走査順序のもとで、EOBシンボルは図5における最後の非ゼロ係数76が送られた後に送られ、さらにジグザグ走査順序のもとでは最後の非ゼロ係数76の後のサブバンドの位置は8なので、シンボルの値EOBshift[8]=0が送られる。EOBの確率は、符号化がより高い周波数のサブバンドを含むブロックの部分に進むにつれて増加する。従って、符号化されるサブバンドの位置が増すにつれて増加するEOBの確率を反映するためにシンボルセット中のEOBシンボルのインデックスの値は減少する。その結果、EOBシフトテーブルは単調には増加しないエントリ入力を含んでもよい。さらに、図5に示すブロックは大きさが2の非ゼロ係数76を含む。この場合、実際に送られるEOBシンボルは、EOBshift[]テーブルからインデックス付けされることはできない。むしろ、代わりに特別EOB(sEOB)シフトテーブルsEOBshift[]からインデックス付けされることができる。この特別な状況は、以下により詳細に説明される。
図6は、残差係数ブロック(ブロック0)において非ゼロ係数をゼロのランとして符号化することを示す図である。図7は、SVCスライスのFGSエンハンスメントレイヤーに関するまた別のブロック(ブロック1)における有意およびリファインメント係数のサイクルベース(cycle-based)の符号化を示す図である。図6においてブロック0は非ゼロ係数82および84、並びにEOB86を含む。図7においてブロック1は有意係数88、90、92、リファインメント係数94およびEOB96を含む。
図6に示されるように、ブロック中の非ゼロ係数の位置を特定するために以下の情報が送られる。1)run=0,sign=1(負),2)run=0,sign=0(正),および3)EOB。上述のように、ゼロランおよびEOBは、EOBシフトテーブルのエントリにより表わされるように一次元のシンボルセット中に組み込まれる。シンボルセットのインデックスが次に符号化される。シンボルセットのインデックスの符号化は、サブバンドの位置または符号化サイクルのような、ある符号化条件にさらに依存する。一例として、VLC符号化はゼロランまたはEOBが属するブロックのサブバンドまたはサブバンドのクラスターを必要条件としてもよい。条件のまた別の例として、VLC符号化はブロックに対して符号化されたゼロランの数も必要条件とすることができる。ゼロランおよびEOBからなるシンボルセットのインデックスの符号化は、現在の符号化条件下における確率推定に従って実施されることができる。条件付き確率を推定することにより、VLC符号器はより正確にシンボルの確率を追跡し、従ってより良好な符号化性能を達成することが可能になる。
現行のSVC JDでは、FGSレイヤーの有意係数は、ゼロのランとして符号化される。SVCにおけるシグニフィカンス符号化は、符号化サイクルを必要条件とする。例えば、有意係数に対するゼロランのシンボルのインデックスを符号化するために用いられるVLC符号ブックは、有意係数が属する符号化サイクルに依存する。符号化サイクルは、二つの変数、(1)ジグザグ走査順序におけるゼロランの開始位置、および(2)開始位置の前のジグザグ順序における連続したリファインメント係数の数、に基づいて定義される。符号化サイクルの定義法に関する詳細は、SVC JD9に見られる。一例として、図7において、3つの有意係数88、90、92はそれぞれ符号化サイクル0、1および4に属する。所与の符号化サイクルに対して、ブロック中にもはや有意係数がなければ、そのときには、例えば、図7の参照番号96で示されるように、EOB(end-of-block)シンボルが送られる。図7ではブロック1に関してEOBシンボルがサイクル8で送られる。特に、該ブロックは大きさが2の有意係数92を含むため、ブロック1に関して特別EOBが送られる。
現行のSVC JD9では、一例として、シンボルセット中のゼロランおよびEOBのインデックスを符号化するために全部で5つの異なるVLC符号ブックを用いることができる。これらのVLC符号ブックは、より小さいインデックスにより短い符号長を割り当てる。これらのVLC符号ブックは、異なるシンボルの確率分布に合わせて調節される。従って、異なる符号化条件下において、異なる確率分布をもち得るゼロランおよびEOBのシンボルセットを符号化するために異なるVLC符号ブックを用いることができる。ゼロランおよびEOBのシンボルセットを符号化するための具体的なVLC符号ブックの選択は、VLC符号ブック選択テーブルを用いて決めることができる。EOBシフトテーブルと同様に、VLC符号ブック選択テーブルも、ある符号化条件でインデックス付けされることができる。SVC JD9では、EOBシフトおよびVLC符号ブック選択テーブル中にインデックス付けするために、現在のゼロランまたはEOBが属する符号化サイクルが用いられる。
FGSエンハンスメントレイヤーにおいて、有意係数およびリファインメント係数は別々に符号化されることができる。この場合、現在の符号化サイクルにおいて次の有意係数までのゼロランの長さを決める過程で走査を通して遭遇するいかなるリファインメント係数もゼロランに寄与しない。例えば、図5のFGSレイヤーのブロックにおいて、有意係数74までのゼロランは、リファインメント係数78および80は有意係数74までのゼロランに数えられないので3ではなく1である。先に説明されたように、有意およびリファインメント係数は両方ともにゼロのランとして符号化されることができる。しかし、有意係数およびリファインメント係数が別々にまたは一緒にゼロのランとして符号化されるかどうかに拘わらず、本開示に記載される適応VLC技術を適用することができる。
非ゼロ係数の大きさは1より大きいことがある。例えば、図7において、最後の有意係数92は、2の大きさをもつ。ある符号化システムでは、1より大きい非ゼロ係数の大きさは、ブロックに関するEOBシンボルが送られた後まで送られることができない。最後の非ゼロ係数の位置および正負号が符号化された後で、標準のEOBシンボルはブロック中の非ゼロの係数のいずれも1より大きくないという情報を伝える。もしブロックが一つまたはそれ以上の1より大きい非ゼロ係数を含めば、しかし、EOBシンボルを符号化するために標準のEOBシフトテーブルを用いる代わりに、特別EOBシフトテーブルからインデックス付けされた特別EOBシンボルが符号化されることができる。特別EOBシンボルに対するVLC符号語が送られた後、1より大きい非ゼロ係数の位置および大きさが符号化される。
現行のSVC JD9において、特別EOBは、sEobBase+termSymにより形成され、ここで第1項sEobBaseは、適用できるサイクルに対するすべての可能なゼロランおよび標準のEOBと区別できる値である。sEobBaseの値は、標準的にはsEobBase=numRemainingZeros+1として計算される。変数“numRemainingZeros”は、ブロックの最後の有意係数から最後のサブバンドまでのジグザグ順序における係数の数から、その間の任意のリファインメント係数を引いたものである。第2項termSymは、以下のように形成される。もしSはブロック中の有意係数の総数、Nは1より大きい係数の数、さらにMはかかる係数の最大の大きさとすると、termSymの値は以下のようになる。
if(M<4)
termSym=2(N−1)+(M%2) (1)
else
termSym=S(M−2)+(N−1)
それ故、“termSym”の値は、1より大きい有意係数の数、およびそれらの有意係数のなかの最大の大きさの両方を示すことにより、特別EOBのシナリオにおける有意係数の大きさを表す。図7の例ではブロック1に対して、sEobBaseは9に等しく、さらにtermSymは0に等しい。従って、ブロック終了を指示するためにEOBshift[8]を送る代わりに、映像エンコーダ20はこの符号化サイクルに対して選択されたVLC符号ブックを用いて、eEobBase+termSym=9の特別EOBを送ることになる。例えば、もしサイクル1に対して選択された符号ブックが符号ブック0(単進符号)であれば、そのときには特別EOBの9が10ビットを用いて送られる。この方式によれば、特別EOBのインデックスは、任意の可能なゼロランのインデックスまたは標準のEOBのインデックスより常に大きいので、映像デコーダ26は標準のEOBと特別EOBを容易に識別することになる。
特別EOBを送った後で、映像エンコーダ20はブロック中のSの有意係数のうちのどれが1より大きいか指示するためにSビットを送ることになる。映像エンコーダ20は、次に各々のかかる係数の“大きさ−2”を単進符号を用いて符号化することになる。図7におけるブロック1の例では、最後の有意係数92が1より大きいことを特定するために3ビットが送られ、その後にいかなる追加の情報も送られる必要がない。大きさの符号化に関するより詳細はSVC JD9に見られる。
SVC JD9において、EOBシフトテーブルおよび符号ブック選択テーブルは、両方ともに符号化サイクルによりインデックス付けされて一組のスライスデータの初めに送られる。シグニフィカンス符号化に対して高い符号化性能を達成するために、映像エンコーダ20は映像スライス中の全ブロックを解析(parse)し、各符号化サイクルに対してゼロランおよびEOBの統計データを収集することになる。映像エンコーダ20は、次に各符号化サイクルに対する統計データに基づいて最適なEOBシフトテーブルおよび符号ブック選択テーブルを決定することになる。実際の符号化パスにおいて、映像エンコーダ20は最適なEOBシフトおよび符号ブック選択テーブルをビットストリームに送り、次にそれらを現在のFGSレイヤーに対するシグニフィカンス符号化を行うために使うことになる。それ故、高い符号化性能を達成するためには、統計データを収集して最適な符号化パラメータ、例えば、EOBシフトテーブルおよび符号ブック選択テーブル、を決定するために専用のパスが必要となり、その後に最適な符号化パラメータにより符号化を行うために追加のパスが必要となる可能性がある。残念ながら、かかるシグニフィカンス符号化方式は多くの短所を有する。
一例として、SVC JD9の実施において、映像スライスを通じて、第1はテーブル生成用に統計データを集計するために、および第2は生成されたテーブルを用いて実際の符号化を行うために、2つのパスをつくることでエンコーダの複雑さが増す可能性がある。もしエンコーダが統計データを収集する第1パスを省けば、そのときにはEOBシフトテーブルおよび符号ブック選択テーブルは符号化される現在の映像データに関する実際の統計データに合わせて調節されることができないので、符号化性能は劣化することになる。かくして符号化性能に大きな損失が生じる可能性がある。
また別の例として、SVC JD9に概説される特別EOBの符号化方式は効率的ではない。特別EOBシンボルが形成される方法は不適切に大きいシンボルを形成する可能性がある。言い換えれば、より大きいシンボルはより長いVLC符号語を用いて符号化されるため、特に1より大きい有意係数を含むブロックの数が比較的多い映像コンテンツに対して符号化に伴う不利益が生じる可能性がある。
さらなる例として、SVC JD9方式による色差係数の符号化は、非効率になりがちである。H.264/AVCのように、SVCでは、色差係数は色差DCおよび色差ACとして送られる。色差DCおよびACの有意係数の符号化において、色差に対する16−エントリのEOBシフトテーブルがただ一つだけFGSレイヤーのビットストリームに含まれる。このEOBシフトテーブルは色差DCおよびACの係数の両方を符号化するために用いられる。しかし、色差DCおよびACの係数は異なる統計データをもつ。例えば、色差ACに対して15の符号化サイクルが必要なのと比べて、色差DCに対しては4つの符号化サイクルが必要である。その結果、一つの共通なEOBシフトテーブルを色差DCおよびACの間で共有するのは効率的ではない。さらに、色差DCおよびACの符号化に対していかなる別々の符号ブック選択テーブルもビットストリーム中に提供されない。代わりに、SVC JD9では、輝度、色差DC、および色差ACはすべて同じ符号ブック選択テーブルを用いる。同じ符号ブック選択テーブルを共有することは、輝度、色差DCおよびACの係数はすべて異なる統計データをもつので、符号化性能の低下をもたらす。
本開示に従って、映像エンコーダ20は適応VLC技術を実施するように構成されることができる。本開示のある様態において、適応VLC技術は先に概説された現行のSVC JD9の実施に係る一つまたはそれ以上の不都合を克服するように編成されることができる。さらに、本開示に概説される適応VLC技術は、ブロック係数をゼロのランとして符号化する任意のシングルレイヤーまたはマルチレイヤーの映像符号器に適用されることができる。従って、かかる技術は必ずしもSVCには限定されない。
例えば、映像エンコーダ20のエントロピー符号化ユニット46は、EOBシフト、特別EOBシフト、および符号ブック選択テーブルのような、最適な符号化パラメータを、符号化パスの間に収集された統計データに基づいて、動的に決定するように構成されることができる。統計データは、例えば、映像スライスの符号化過程を通じてのゼロラン、EOB、およびsEOBのカウントを含むことができる。エントロピー符号化ユニット46は、高水準の符号化性能を維持しつつエンコーダの複雑さを低減する適応VLC方式を適用する。適応VLC方式において、エントロピー符号化ユニット46は、EOBシフト、特別EOBシフト、および符号ブック選択テーブルを、符号化されたビットストリームの部分としてあからさまには送らない。代わりに、EOBシフト、特別なEOBシフト、および符号ブック選択テーブルは映像エンコーダ20および映像デコーダ26の両方に保持される内部状態である。
エントロピー符号化ユニット46は、符号化パスの間に収集された統計データに基づいて映像エンコーダ20内の内部状態を更新する。同様に、エントロピー復号化ユニット52は、復号化パスの間に収集された統計データに基づいて映像デコーダ26内の内部状態を更新する。統計データの収集および符号化パラメータの調整は、映像スライスの符号化または復号化が進む間に行われることができる。このように、EOBシフト、特別EOBシフト、および符号ブック選択テーブルは、これらのテーブルをビットストリーム中に送る必要なしに、かつこれらのテーブルを統計データ収集に専用の別の符号化パスを経由してエンコーダで生成する必要もなしに、現在の映像スライスにおける係数の統計データに動的に適応する。
符号化パラメータのテーブルを映像スライスデータの部分として送る代わりに、映像エンコーダ20および映像デコーダ26により実施される適応VLC方式は、これらのテーブルを内部状態として保持し、映像スライスにおける蓄積された統計データに基づいてテーブルエントリを更新する。映像スライスの符号化の間にわたって内部状態が保持および更新されることは、映像エンコーダ20が、著しい符号化性能の劣化を伴わずに、最適な符号化パラメータを決定するために統計データを収集する第1符号化パスを削除することを可能にする。加えて、SVCスライスのFGSレイヤーの場合、スライスの初めにいかなるテーブルも映像エンコーダによって送られる必要がないので、ビットストリーム切り捨ての筋書きでレートひずみ曲線の開始点の上昇スロープを増加させることもできる。映像デコーダ26のエントロピー復号化ユニット52はデコーダ側で適応VLCをサポートするために、映像エンコーダ20のエントロピーの符号化ユニット46により用いられるのと同じ技術を適用することができる。
エントロピー符号化ユニット46のもう一つの改良点は、本開示の一様態によれば、特別EOBを、SVC JD9で使われるような組み合わせsEOBシンボル(sEOB=sEobBase+termSym)としてではなく、sEOBおよびtermSymとして二つのシンボルで符号化することを含むことができる。特に、ブロック中の少なくとも一つの非ゼロ係数が1より大きい事象を指示するsEOBシンボルは、ゼロランおよび標準のEOBを含むシンボル中に別のシンボルとして導入されることができる。組み合わされたシンボルセット中のsEOBのシンボルのインデックスは、現在の符号化サイクルのような現在の符号化条件下における特別EOBの確率推定に基づいて、エントロピー符号化ユニット46(またはエントロピー復号化ユニット52)により決められることができる。特別EOBシンボルが符号化された後に、1より大きい係数に関する大きさの情報が送られる。大きさの符号化についてはSVC JD9における“termSym”の使用に似た方式が用いられることができる。
代わりに、より良好な符号化性能を提供する他の方式が用いられてもよい。もしSVC JD9に記載されるような方式が用いる場合、“termSym”の値は、固定VLC符号ブックを用いて映像エンコーダ20により別に符号化されることができる。特別EOBシフトテーブルは、1より大きい非ゼロ係数を含むブロックの確率を捉えるために映像エンコーダ20に保持されることができる。特別EOBシフトテーブルは、ある符号化条件でインデックス付けされてもよい。特別EOBが発生するサブバンドの位置、またはSVC JD9で定義される符号化サイクルのような、EOBシフトテーブルのインデックス付けに用いられるのと同様の符号化条件を、特別EOBシフトテーブルをインデックス付けするのに用いることができる。映像エンコーダ20のエントロピー符号化ユニット46は、組み合わされたゼロランおよびEOBのシンボルセットにおける特別EOBのシンボルのインデックスを、1より大きい非ゼロ係数を含むブロックの実際の確率に適応させる。映像デコーダ26のエントロピー復号化ユニット52は、現在の符号化条件下における特別EOBのシンボルのインデックスに等しいシンボルをビットストリームから復号化したときに特別EOBの事象を検出し、エントロピー符号化ユニット46と同期を保つように然るべく特別なEOBの統計データを更新する。
さらなる改良として、映像エンコーダ20のエントロピー符号化ユニット46は、色差DCおよびACの係数を符号化するために、別々のEOBシフト、特別EOBシフト、および符号ブック選択テーブルを適用するように構成されることができる。適応的な符号化スキームが用いられてもよく、その場合かかるテーブルは、例えば、上記のように符号化パスの間に収集された統計データに基づいて動的に調整される内部状態として保持されることができる。このように、映像エンコーダ20は色差DCおよびACのブロックの符号化を分けることができる。加えて、色差DCおよびACのブロックは輝度ブロックとは別に符号化されることができる。その結果、色差DCおよび色差ACの両係数はそれら独自の統計データに合わせて調節された別々のEOBシフト、特別EOBシフト、および符号ブック選択テーブルをもつ。これらのテーブルのエントリは符号化パスから蓄積された統計データに従って適応することができる。もう一つの方法として、あるテーブルエントリ、例えば、色差DCに関するテーブル、は必要メモリおよび更新操作の低減に適応しなくてもよい。代わりに、色差DCおよび/または色差ACに対するテーブルは固定化されたテーブルとして予め選択され、符号化の間には更新されなくてもよい。
映像デコーダ26のエントロピー復号化ユニット52は、色差DCおよびAVの係数に対する別々のEOBシフト、特別EOBシフト、および符号ブック選択テーブルの使用をサポートするために同様の技術を適用することができる。各々の場合に、エントロピー符号化ユニット46またはエントロピー復号化ユニット52により実現されるVLCユニットは、相互に別々に色差DCおよびAVのブロックのVLC符号化を行うように構成されることができる。特に、VLCユニットは色差DCおよびAVのブロックに対して別々に収集された符号化の統計データに基づいて、色差DCおよびAVのブロックに対するEOBシフト、特別EOBシフト、および符号ブック選択テーブルを別々に調整するように構成されることができる。VLCユニットは輝度ブロックを色差DCおよびACのブロックと別に符号化することができる。
本開示においては、いかにVLC符号化パラメータを輝度、色差DCおよび色差ACに対する内部状態として初期化するか、いつおよびいかに符号化パラメータを更新するか、さらにいかに収集された統計データを正規化するかの詳細に関する例も提示される。内部状態に必要なメモリをいかに低減するか、およびいかに更新操作の数を減らすかの詳細に関する例も提示される。一般的に、VLC符号化は、VLCパラメータを用いてブロック内の非ゼロのブロック係数の位置をゼロランとして符号化することを備える。
SVCに関して、デジタル映像のブロック係数が、エンハンスメントレイヤーおよび少なくとも一つのベースまたは前レイヤーを備えるスケーラブル映像符号化(SVC)スライスのエンハンスメントレイヤーにおけるブロック係数を表すとき、ブロック内の非ゼロのブロック係数の位置を符号化することは、有意係数の位置のみを符号化することを備えることができる。エンハンスメントレイヤーの有意係数は、ベースまたは前レイヤーにおけるそれに対応する係数がゼロである、エンハンスメントレイヤーにおける非ゼロ係数である。代わりに、SVCスライスのFGS映像ブロックにおけるリファインメントおよび有意の両係数の位置はゼロのランとして符号化されることができ、それによりリファインメント係数のために別の符号化メカニズムを適用することに伴うシステムの複雑さが低減される。本開示に記載されるように、しかし、適応的な方式はSVCのFGSレイヤーにおけるシグニフィカンス符号化に対してだけでなく、ゼロのランを用いて非ゼロの変換係数の位置を符号化する任意の他の映像符号化方式にも適用できる可能性がある。さらに、本開示に記載されるような適応VLC方式は、もしFGSレイヤーにおけるリファインメント係数もゼロのランとして符号化されれば、リファインメント係数の符号化に適用されることができる。
図8は、本開示の様態による適応VLC処理を適用するように構成されたエントロピー符号化ユニット46のブロック図である。エントロピー符号化ユニット46は図1および2の映像エンコーダ20に属することもできる。図8に示されるように、エントロピー符号化ユニット46は、例えば、量子化ユニット40(図2)、から量子化された残差ブロック係数を受信し、さらに復号化のためにもう一つのデバイスに送信するためにエントロピー符号化されたビットストリームを生成する。図8の例において、エントロピー符号化ユニット46はVLC符号化モジュール98、統計分析モジュール100、VLC適応化モジュール102および内部状態メモリ104を含む。動作において、エントロピー符号化モジュール98は、高い符号化性能を達成する目的でEOBシフト、特別EOBシフト、および符号ブック選択テーブルを選択するために量子化された残差係数から統計データを収集する専用パス(pass)は必要としない。代わりに、EOBシフト、特別EOBシフト、および符号ブック選択テーブルは内部状態メモリ104内に内部状態として保持される。内部状態メモリ104における内部状態は、各々の映像スライスに対して初期化されることができ、さらに統計分析モジュール100により収集された統計データに基づいて映像スライスの符号化の間にわたって調整されることができる。例えば、VLC符号化パラメータは、デジタル映像係数のブロックを備えるスライスの初めにエントロピー符号化ユニット46により初期化されることができる。次に、エントロピー符号化ユニット46は、スライス内の選択された間隔でVLCパラメータを調整することができる。この間隔は規則的または不規則であってもよい。一例として、VLCパラメータは4×4ブロック、8×8ブロック、または16×16マクロブロックのようなスライス内のブロックの境界で調整されてもよい。VLCパラメータは、次に符号化されるべき各々の新しい映像スライスのために再初期化されることができる。代わりの方法として、VLCパラメータは各々の新しいフレームのために再初期化されてもよく、フレームは多数のスライスを含んでもよい。
初期化に当たって、特定のEOBシフトテーブル、特別EOBシフトテーブル、および符号ブック選択テーブルがデフォルトとして選択されてもよい。該デフォルトは、任意に、またはエントロピー符号化ユニット46により扱われる典型的な映像データスライスの経験的な分析に基づいて決められてもよい。次に、統計分析モジュール100により収集された、例えば、ゼロラン、EOBカウントおよびsEOBカウントのような符号化の統計データに呼応して、VLC適応化モジュール102はEOBシフトテーブル、特別EOBシフトテーブルおよび符号ブック選択テーブルのエントリを符号化されたデータの統計に適応的に呼応するように調整することができる。それ故、VLC適応化モジュール102は、別の符号化パスを要するであろう完全な統計データよりむしろ、一つの符号化パスを通じて蓄積された限られた統計データに基づいて内部状態メモリ104におけるテーブルエントリを調整することにより符号化パラメータを適応させることができる。VLC適応化モジュール98は、内部状態メモリ104の内容を参照して、入ってくる量子化された残差係数のVLC符号化に必要なEOBシフト、特別EOBシフト、および符号ブック選択テーブルの現在の符号化条件下における関連するエントリを取得する。内部状態メモリ104の関連する符号化パラメータを用いて、VLC符号化モジュール98は符号化された映像のビットストリームを生成する。
それ故、VLC符号化パラメータは、追跡される符号化条件の各々に対して、ゼロランシンボル、EOBシンボル、およびブロック終了の確率に基づく特別EOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスをそれぞれの符号化条件において指示するEOBシフト、並びに、シンボルセット中のシンボルのインデックスを符号化するために用いられる符号ブックをそれぞれの符号化条件に対して指示するVLC符号ブックを備えることができる。一例として、符号化条件は、サブバンドの位置または符号化サイクルとすることができる。ある符号化条件に対するVLC符号ブックは、SVC JD9に明記された5つのVLC符号ブックのうちの一つのような、複数の異なるVLC符号ブックの一つから選択されてもよい。加えて、VLC符号化パラメータは、追跡される符号化条件の各々に対して、映像ブロックにおける非ゼロの係数の少なくとも一つが1より大きいときに、ゼロランシンボル、EOBシンボル、およびブロック終了の確率に基づくsEOBシンボルを備えるシンボルセット内のsEOBシンボルのインデックスをそれぞれの符号化条件におけて指示する特別EOB(sEOB)シフトを備えることができる。
図9は、本開示の一様態に従って適応VLC処理を適用するように構成されたエントロピー復号化ユニット52のブロック図である。エントロピー復号化ユニット52は、図1および3の映像デコーダ26内に属することができる。図9に示されるように、エントロピー復号化ユニット46は符号化された映像のビットストリームを、例えば、ソースデバイス12からチャンネル16(図1)を経由して受け取り、さらにビットストリームをエントロピー復号化して量子化された残差係数を生成する。図9の例では、エントロピー復号化ユニット52は、VLC復号化モジュール106、統計分析モジュール108、VLC適応化モジュール110および内部状態メモリ112を含む。
動作において、VLC復号化モジュール106は、EOBシフト、特別EOBシフトおよび符号ブック選択テーブルをビットストリームから復号化しない。代わりに、図8のエントロピー符号化ユニット46と同様に、エントロピー復号化ユニット52のためのEOBシフト、特別EOBシフトおよび符号ブック選択テーブルは内部状態メモリ112内に内部状態として保持されることができる。例えば、適応VLCに関して、エンコーダ20およびデコーダ26の両方は特定の映像スライスに対して次のような内部状態を保持することができる。
a.ゼロラン、EOB、および特別EOBの蓄積された統計データ、
b.ある符号化条件でインデックス付けされた、EOBのシフトテーブル、
c.ある符号化条件でインデックス付けされた、特別EOBシフトのテーブル、および
d.ある符号化条件でインデックス付けされた、符号ブック選択テーブル
それ故、エンコーダ20およびデコーダ26は符号化されたスライスを通じて、符号化サブバンドの位置または符号化サイクルのような異なる符号化条件におけるゼロラン、EOBシンボル、およびsEOBシンボルの蓄積されたカウントを含む符号化の統計データを収集することができる。映像エンコーダ20の内部状態メモリ104における内部状態および映像デコーダ26中の内部状態メモリ112における内部状態は、各々の映像スライスに対して同じデフォルト設定に初期化されることができる。内部状態メモリ104および内部状態メモリ112は、それぞれ映像エンコーダ20の統計分析モジュール100および映像デコーダ26の統計分析モジュール108により収集された統計データに基づいて、スライスの符号化および復号化を通じて同じやり方で調整される。
統計分析モジュール108による統計データの収集に呼応して、VLC適応化モジュール110は、VLC復号化モジュール106により復号化されるデータの統計に適応的に呼応するようにEOBシフトテーブル、sEOBシフトテーブル、および符号ブック選択テーブルのエントリを調整することができる。エントロピー符号化ユニット46のVLC適応化モジュール102のように、エントロピー復号化ユニット52のVLC適応化モジュール110は現在の映像スライスの復号化の間にわたって蓄積された限られた統計データに基づいて内部状態メモリ112におけるテーブルエントリを適応させることができる。VLC復号化モジュール106は入ってくるビットストリームをVLC復号化するために必要なEOBシフト、sEOBシフトおよび符号ブック選択テーブルを得るために内部状態メモリ112の内容を参照し、さらにデコーダ26の残りの部分に対する出力として量子化された残差係数を生成する。
図10は、本開示の一様態による適応VLC処理を示すフロー図である。一般的に、図10に示されるように、内部状態メモリ114を初期化し、映像スライス122からの統計データを収集し、さらに内部状態メモリ124を更新する処理は、映像エンコーダ20、映像デコーダ26またはその両方において実施されることができる。映像エンコーダ20および、より詳しくは、エントロピー符号化ユニット46内での適応VLC処理の適用が説明のために以下に記載される。図10に示されるように、新しい映像スライスの初めに、エントロピー符号化ユニット46は、内部状態メモリにおけるVLC符号化パラメータを適用可能なデフォルト値に初期化する(114)。デフォルト値は、経験的データ、歴史的データ、または理論的仮定に基づいて、例えば、VLC符号化パラメータを典型的な映像スライスと関連する典型的な値に設定するように、選択されることができる。内部状態メモリに格納される符号化パラメータは、EOBシフトテーブル、特別EOBシフトテーブル、および符号ブック選択テーブルのような符号化テーブルを含むことができる。エントロピー符号化ユニット46は、次に内部状態メモリに格納された符号化テーブルを用いてスライス内の残差係数ブロックの符号化を行う(120)。非ゼロ係数を符号化するとき、符号化テーブルからの然るべきエントリが、ゼロランのシンボル、EOBシンボルまたはsEOBシンボルが属する現在のサブバンドの位置または現在の符号化サイクルのような現在の符号化条件に基づいて選択される。
スライスの符号化の間に、エントロピー符号化ユニット46は、符号化される映像データから実際の統計データを収集する(122)。実際の統計データは符号化されたブロックに存在するゼロラン長の実際のカウント、EOBカウント、およびsEOBカウントを示することができる。エントロピー符号化ユニット46は収集された統計データに基づいて内部状態を更新し(124)、それによりEOBシフトテーブル、特別EOBシフトテーブル、および符号ブック選択テーブルを符号化されている実際のデータに適応させる。さらに、内部状態メモリにおける符号化パラメータの調整は、例えば、4×4ブロック、8×8ブロック、または16×16MBの境界のようなブロックの境界において適用されることができる。エントロピー符号化ユニット46は更新された符号化パラメータを用いて、現在のスライス内のブロックの符号化を続ける(120)。スライスの終りに達すると(126)、エントロピー符号化ユニット46は次のスライスに進み(128)、符号化パラメータをデフォルト値に再初期化する(114)。
エントロピー復号化ユニット52は、同様の、但し逆の、やり方で入ってくる符号化された映像のビットストリームをエントロピー復号化するために動作することができる。特に、エントロピー復号化ユニット52はエントロピー符号化ユニット46と同期を保つために、内部状態メモリに対する同じ初期化および更新処理に追随する。従って、本開示に矛盾することなく、エントロピー符号化ユニット46およびエントロピー復号化ユニット52は、VLCパラメータを用いてデジタル映像ブロック係数の可変長符号化を行い、デジタル映像ブロック係数のVLC符号化の間に符号化の統計データを収集するように構成されることができる。収集された符号化の統計データに基づいて、エントロピー符号化ユニット46およびエントロピー復号化ユニット52は、収集された統計データに基づくVLC符号化の間にVLCパラメータの一つまたはそれ以上を調整することができる。このように、適応VLC符号化が提供されることができる。
図11は、適応VLC処理をより詳細に示すフロー図である。一般的に、適応VLC処理は、映像エンコーダ20、映像デコーダ26、または両方により、例えば、相互に関係するやり方で、適用されることができる。映像エンコーダ20および、より詳しくは、エントロピー符号化ユニット46、における適応VLC処理の応用について以下に説明のための記載がなされる。図11に示されるように、映像スライスの初めに、映像エンコーダ20は内部状態メモリにおける符号化パラメータおよび統計データを初期化する(130)。符号化パラメータおよび統計データはEOBシフト(EOBshift)テーブル、特別EOBシフト(sEOBshift)テーブル、符号ブック選択(cbSelect)テーブル、およびゼロランの統計データを格納するために用いられるアレイ、EOBおよびsEOB(runStats)を含むことができる。映像エンコーダ20は、次にサブバンド0、ブロック0から始めてスライスを走査する(132)。もし現在のブロックがブロック終了(EOB)を指示しなければ(134)、映像エンコーダ20はゼロランを現在の符号化条件下におけるテーブルcbSelectから選択された符号ブック選択ブックとともに送り、アレイrunStatsにおけるゼロランのカウントをインクリメント(increment)する(138)。映像エンコーダ20は、次にアレイrunStatsの内容に基づいてEOBshift、sEOBshiftおよびcbSelectのパラメータの更新に進む(140)。映像エンコーダ20は、もし必要であればrunStatsを正規化してもよい(142)。正規化はカウンタのオーバーフローを回避し、局所的な統計データに一層よく適応するために望ましいことがある。映像エンコーダ20はスライス中のすべてのブロックに対して処理を続ける。
もし現在のブロック(134)に対してEOBが検出されると、映像エンコーダ20はEOBが特別EOBかどうかを決定する(146)。もしそうであれば、映像エンコーダ20は、現在の符号化条件下におけるテーブルsEOBshift(sEOBshift[cond])からインデックス付けされた特別EOBのシンボルを送り(148)、アレイrunStatsの特別EOBのカウント(sEOB COUNT)をインクリメントする(150)。代わりに、もし検出されたEOB(134)が標準のEOBで、特別EOBでなければ、映像エンコーダ20は、現在の符号化条件下におけるテーブルEOBshift(EOBshift[cond])からインデックス付けされた標準のEOBのシンボルを送り(152)、アレイrunStatsの標準のEOBのカウント(EOB COUNT)をインクリメントさせる(154)。(sEOBまたはEOB)いずれの場合も、映像エンコーダ20は、アレイrunStatsの内容に基づいてEOBshift、sEOBshiftおよびcbSelectのパラメータの更新に進み(140)、もし必要であればrunStatsの内容を正規化する(142)。映像エンコーダ20は、次にスライス中のすべてのブロックに対して処理を続ける(144)。スライスの終りでは、映像エンコーダ20は次のスライスを符号化するために、EOBshift、sEOBshift、およびcbSelectのパラメータ、並びにrunStatsアレイを再初期化することができる。
SVCにおけるFGSレイヤーの場合、映像エンコーダ20はVC JD9で説明されるように、エンハンスメントレイヤーにおけるすべての係数を符号化サイクル順に送る。従って、テーブルEOBshift、sEOBshift、およびcbSelectのテーブルにインデックス付けするために用いられる符号化条件は、SVC JD9で定義されているように現在の符号化サイクルである。図11に示されるように、各々の符号化サイクル内において、映像エンコーダ26はスライス中のすべてのブロックを走査し、現在の符号化サイクルに属するすべての有意係数のゼロラン、EOB、および特別EOBシンボルを送る。もしベクトルモードが用いられる場合、映像エンコーダ26は多数の符号化サイクルにわたってすべてのブロックを走査し、有意係数のゼロラン、EOB、および特別EOBのシンボルを送ることができる。ベクトルモードは、例えば、SVC JD9で支持されるように、映像エンコーダ26に一つのブロックの処理を、次のブロックへの移行に先立ってプリセットされた走査位置に到達するまで、多数の符号化サイクルにわたって行わせる。本開示に記載される適応VLC技術は、映像データを符号化するために用いられる特定の符号化順序とは独立に、或いは、さらに具体的には、ベクトルモードが用いられるかどうかに関わらず、応用されることができる。
説明のために、ベクトルモードは使われないと仮定する。スライス中のすべてのブロックを走査し、さらに現在の符号化サイクルに属するすべての有意係数、EOB、および特別EOBを送ると、映像エンコーダ20は次の符号化サイクルに移行する。次の符号化サイクルにおいて、映像エンコーダ26は映像スライスの第1ブロックから始めて、映像スライス中のすべてのブロックを再び走査する。このサイクルベースの符号化処理は、すべての符号化サイクル(例えば、4×4の輝度係数のブロックの場合には16サイクル)が終わるまで続けられる。映像エンコーダ20はアレイrunStatsに異なる符号化サイクルにおけるゼロラン、EOBおよび特別EOBのようなシンボルの蓄積されたカウントを格納する。EOBshiftおよびsEOBshiftのテーブルは、所与の符号化サイクルにおけるEOBおよび特別EOBをそれぞれ表すためにどのシンボルが用いられるかを特定する。符号ブック選択(cbSelect)テーブルは、各々のサイクルにおけるこれらのシンボルのインデックスを符号化するためにどの符号ブックが用いられるかを特定する。
ゼロラン、特別EOB、およびEOBの符号化の間に、映像エンコーダ20は然るべくアレイrunStatsを更新する。EOBshiftテーブル、sEOBshiftテーブルおよびcbSelectテーブルはrunStatsに格納された、蓄積された統計データに従って更新される。更新は、周期的に生じることができる。例えば、更新は映像スライスにおいて4×4ブロック、8×8ブロック、マクロブロック、または任意の境界で生じることができる。更新操作が頻繁なほど、複雑さは増す。一例として、映像エンコーダ20は、各々のマクロブロックが符号化される後に更新操作を行うように構成されることができる。この場合、符号化パラメータのEOBshiftテーブル、sEOBshiftテーブルおよびcbSelectテーブルは、MB毎に更新されることができる。
映像デコーダ26は、映像エンコーダ20と同期を保つために同じ適応符号化方式を用いる。特に、映像デコーダ26は、映像エンコーダ20と実質的に同じやり方で各々の映像スライスに対して、EOBshift、sEOBshift、cbSelect、およびrunStatsのような内部状態メモリ中の符号化パラメータおよび統計データを初期化する。復号化の間に、映像デコーダ26はビットストリームからゼロラン、EOBおよびsEOBのシンボルを復号化し、ビットストリームから復号化されたシンボルに基づいて然るべくアレイrunStatsを更新する。映像エンコーダ20におけるテーブル更新と同じ位置で、映像デコーダ26によりアレイrunStatsに従ってEOBshift、sEOBshift,およびcbSelectの値が更新される。エンコーダ20およびデコーダ26の両方はアレイrunStats中の値を正規化することもできる。先述のように、正規化を行う利点は、カウンタのオーバーフローの回避、および局所的な統計データへのより良好な適応を含む。
適応VLC技術は、本開示に記載されるように、SVCのFGSレイヤーにおけるシグニフィカンス符号化よりも一層広い応用が可能である。特に、適応VLCは、非ゼロ係数の位置をゼロのランとして符号化する任意の映像符号化方式に対して一般的に有用であり得る。適応VLC技術は、SVCのFGSレイヤーで用いられるようなサイクルベースの符号化順序とは異なるかもしれない任意の符号化順序に従う符号化システムにおいて適用されることもできる。変換および量子化の後、映像エンコーダ20はブロック中の量子化された係数を通して走査し、非ゼロ係数の位置を指示するためにゼロのランを、続いて非ゼロ係数の正負号を、送ることができる。非ゼロ係数に関する大きさ情報は、グループ化されてブロック終了時に送られてもまたは送られなくてもよい。もし大きさがグループ化されてブロック終了後に送られる場合、本開示に提示される特別EOBを用いるコンセプトは、符号化性能を高めるために適用されることができる。例えば、VLC符号化は、ブロック終了のシンボルが符号化された後に、ブロック内の1より大きい係数の大きさ情報を符号化すること、およびブロック内の1より大きい係数の存在を指示するための特別ブロック終了のシンボルを用いること、を備えることができる。かかる映像符号化方式において、映像エンコーダは、高い符号化性能を維持すると同時に複雑さを低減するために、ここに記載される適応符号化方式を適用することができる。
加えて、特別EOBシフトを“termSym”から分離して、sEobBaseと直接に結合される代わりにそれを変数とするコンセプトは、映像エンコーダが映像スライスのビットストリームに符号化テーブルを送る現行のSVCの枠組みに役立つ可能性がある。この枠組みでは、符号化の統計データが集計されて符号化テーブルが決定される第1パスの間に、エンコーダは特別EOBの統計データをゼロランおよび標準のEOBの統計データとともに集計し、特別EOBシフトテーブルを決定し、特別EOBシフトテーブルをEOBシフトテーブルおよび符号ブック選択テーブルとともにビットストリームに送る。この予め決められた特別EOBシフトテーブルは、次に、映像スライスが符号化される第2パスの間に使われることができる。
以下に説明されるのは、SVCスライスのFGSレイヤーを符号化する枠組みにおける、4×4および8×8変換ブロックの輝度係数の処理、並びに色差DCおよび色差AC係数の処理に関する実施の詳細を示す様々な例である。留意すべきことは、適応VLC技術は先に記載されたように他の符号化システムに適用されてもよいことである。これらの例が本開示の範囲の限定を意図しないことも留意すべきである。従って、以下に提示される詳細に対する変更は本開示からの逸脱と見做されるべきではない。
4×4の輝度ブロックの符号化の一例が以下に記載される。この例では、符号化サイクルが、SVC FGSで用いられるように、EOBshift、sEOBshiftおよびcbSelectのような符号化テーブルにインデックス付けするため、さらに符号化の統計データアレイrunStatsにインデックス付けするために用いられる符号化条件であると仮定される。しかし、符号化サイクルが説明のための一例として用いられるが、符号化サイクルの代わりに他の符号化条件が用いられてもよい。4×4の輝度ブロックの符号化に対して、もし全16符号化サイクルのすべてのシンボルに対する蓄積された統計データが格納される場合、アレイrunStatsは合計166のエントリが必要である。16の可能なランをもち、従って、16−エントリのシンボルセットが必要な符号化サイクル0を除いて、これに続くすべての符号化サイクルc(c=1...15)は(16−c)の可能なランおよびEOBおよびsEOBに対する2つの追加シンボルをもち、それ故(18−c)−エントリのシンボルセットを必要とする。かかる多数の符号化状態を保持および更新することは、エンコーダ20およびデコーダ26の両方に高い複雑性を課す。従って、runStatsアレイのサイズを低減することが望ましいであろう。runStatsアレイのサイズを低減し、EOBshift、sEOBshift、およびcbSelectテーブルを更新し、さらにrunStatsアレイを正規化するための技術例が以下に記載される。留意すべきことは、これらの詳細は例として示されるもので本開示を限定すると考えられるべきではないことである。
runStatsアレイに保持される状態を低減するための技術の一例が以下に記載される。FGSレイヤーでは、後の方の符号化サイクルのシンボルの統計データは、前の方の符号化サイクルの統計データより変化が少ない。後の方の符号化サイクルでは、EOBのシンボルの確率はシンボルセット中の残りのシンボルより通常高くなる。従って、c≧Cに対してはEOBshift[c]=0が通常のケースである。特別EOBに対しては、シンボル(16−c)が用いることができる。符号化サイクル数が増加するにつれて、(16−c)の値は減少し、この簡単化がもたらす符号化の不利益は減少する。さらに、後の方の符号化サイクルにおけるruns/EOB/sEOBのシンボルセットの統計データは通常はより偏ったものとなる。それ故、符号化サイクルc≧Cに対しては、単進符号(例えば、SVC JD9における符号ブック0)が最も頻繁に用いられる符号ブックである。これらの所見に基づいて、runStatsアレイに対してなされ得る一簡単化は、c≧Cのすべての符号化サイクルに対してシンボルの統計データを保持しないことである。
従って、符号化の統計データを収集することは、Cは符号化サイクルの最大数より小さいとして、ゼロラン、EOBシンボルおよびsEOBシンボルの蓄積されたカウントを、Cより小さい数の符号化サイクルに対してのみ収集すること、およびC以上の数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの蓄積されたカウントを収集しないこと、を備えることができる。一例として、任意の他の数も使われてもよいが、サイクルのカットオフの閾値としてC=10が選ばれてもよい。もしC=10であれば、そのときには統計データはサイクル0から9に対してのみ収集され、さらにサイクル10およびそれ以後に対しては収集されない。
前の方の符号化サイクル(c<C)に対しては、より大きなランの確率は比較的小さく、それぞれの符号化サイクルに対する最適な符号ブックを決定するときにそれらの重要性は低い。従って、前の方の符号化サイクルc<Cに対して、アレイrunStatsはs<Sの長さをもつより短いゼロランの確率カウントを保持するだけでよい。s>Sの長さをもつすべてのより長いシンボルは、runStatsアレイがすべてのかかるシンボルの総数を保持するだけでよいように一シンボルとして扱うことができる。従って、符号化の統計データを収集することは、符号化サイクルc<Cに対して、Sは現在の符号化サイクルにおけるゼロランの最大値より小さいとして、個別にはSより短い小さいゼロランの各々に対するゼロランの蓄積されたカウントを収集すること、および組み合わせではS以上の長さをもつゼロランに対するゼロランの総カウントを収集することを備えることができる。これらの確率カウントは、符号化サイクルc<Cの各々に対して良好な符号ブックおよび適切なEOBシフト並びに特別EOBを決定するのに十分なので、runStatsアレイに対してなされるこの簡単化は、符号化性能に最小限の劣化しかもたらさない。
一例として、符号化サイクルc=0に対してrunStatsアレイは3つのゼロラン(run=0,1,2)のカウント、それに加えてすべての残りのランに対する一つの総数を保持するだけである。すべての他の符号化サイクルc>0、但しc<C(例えば、c=10)に対してrunStatsアレイは、EOB、特別EOB、および3つのゼロラン(ラン長=0、1、または2)の統計データ、それに加えてすべての残りのラン値に対する一つの総数を保持するだけである。言い換えれば、符号化サイクルc<Cに対してSの値は3である。すべてのサイクルc≧C、例えばC=10の統計データは保持されない。それ故、符号化サイクル0はrunStatsに4つのエントリを必要とし、すべての他の符号化サイクル1から9はrunStatsに各々6つのエントリを必要とする。runStatsに保持される状態の総数は4+6×9=58である。要約すると、C=10およびS=3の例に対して、runStatsに保持されるべき統計データは、次のようにすることができる。
Cycle0: probabilty counts of run=0,1,2,and total count of all runs>2
Cycle 1 to 9: probabilty counts ofEOB,sEOB,run=0,1,2,and total count of all runs>2
以上に概説されたアプローチにより、runStatsのサイズ、および関係する必要メモリは、実質的に、例えば、166エントリから58エントリに低減されることができる。
runStats、EOBshift、sEOBshift、およびcbSelectのパラメータの初期化について以下に記載される。一例として、輝度の4×4ブロックに対してEOBshift、sEOBshift、およびcbSelectのテーブルは実質的に以下のように初期化されることができる。
EOBshiftInit[]={16,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
sEOBshiftInit[]={16,6,6,6,6,6,6,6,6,6,6,5,4,3,2,1},
cbSelectInit[]={1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0}.
アレイrunStatsはすべてゼロに初期化されることができる。代わりに、アレイrunStatsはアレイ中の各エントリに対して小さい数に初期化されてもよい。一例として、サイクル0に対してrunStats中の確率カウントは{16,8,8,4,4,...}に初期化されてもよく、これを符号化サイクル0におけるランの典型的な確率カウントとすることもできる。所与のサイクルにおける特定のランまたはEOB或いはsEOBが符号化されるたびにrunStats中の対応するエントリはインクリメントされる。図7の例を用いると、ブロック1に対して、符号化サイクル0においてrun=0が符号化される。従って、エントリrunStats[cycle=0][run=0]がインクリメントされる。
1より大きい有意係数の大きさの符号化は、ブロック終了(この場合は特別EOB)が送られるまで遅らされるので、現在のゼロランが送られた後に符号化されるべき有意係数がもはや存在しない特別な状況に遭遇することもある。言い換えれば、ブロック中の残りの係数は、もしあるとしても、すべてリファインメント係数である。この場合、エンコーダは、0はブロック中のどの有意係数も1より大きくないことを示し1はブロック中に1より大きい有意係数があることを示す、1ビットのフラグを送るように構成されることができる。もしこのフラグが1であれば、上記のような(トークン(token)termSymから始まる)大きさの値の通常の符号化が行われる。この特別な条件下においてrunStatsに蓄積された統計データは変更されないことになる。
符号化パラメータEOBshift、sEOBshift、およびcbSelectの更新について以下に記載される。図11に示されるように、映像スライス中の映像ブロックの符号化を通じて固定点で、映像エンコーダ20は、シンボルに関する蓄積された統計データと調和を保つために符号化テーブルの更新処理を惹起する。これらのテーブルを更新するための理に適った一つの選択は、他の選択が用いられてもよいが、更新ポイントをマクロブロック(MB)の境界とすることである。例えば、更新処理は4×4または8×8ブロックの境界、或いはある数のブロック/マクロブロックが符号化された後に発生することができる。以下に説明されるのは、これらのテーブルを更新するために使われることのできる簡単な方式を説明する疑似コードの例である。
for (all cycles c<C)

// update EOBshift and sEOBshift
if(c > 0)

if (runStats[c][0])>runStats[c][2])
EOBshift[c] = 0;
else if (runStats[c][0])>runStats[c][3])
EOBshift[c] = 1;
else if (runStats[c][0]>runStats[c][4])
EOBshift[c] = 2;
else
EOBshift[c] = 3;
if (runStats[c][1])>runStats[c][4])
sEOBshift[c] = EOBshift[c]+1;
else if (runStats[c][1])>runStats[c][0]/16)
sEOBshift[c] = 4;
else
sEOBshift[c] = (16−c);
}
//update cbSelect
let A,B,C be counts of the three most probable symbols in coding cycle c
let D be the total count of all other symbols in coding cycle c
if (D<=B)

if(3D<=2A)
cbSelect[c] = (C+D<=A) ? cb0:cb2;
else
cbSelect[c] = (2C<=D) ? cb1:cb2;
}
else

if(2B+D<=2A)
cbSelect[c] = (B+C<=A) ? cb4:cb2;
else
cbSelect[c] = (2C<=D) ? cb1:cb2;
}
SVC JD9では、EOBまたはsEOBシンボルは、符号化サイクル0では生じないことになる。従って、テーブルEOBshift、sEOBshiftは、符号化サイクルc>0かつc<Cに対して更新されるだけである。上記の疑似コードにより示された例のように、c>0かつc<Cのすべてのサイクルに対して、runStats[c][0]は蓄積されたEOBの確率を格納し、runStats[c][1]は蓄積された特別EOBの確率を格納し、さらにrunStats[c][s](s=2、3、4)はそれぞれゼロラン“r=s−2”に対する蓄積された確率を格納する、と仮定する。c>0かつc<Cのすべてのサイクルに対して、runStats[c][0]、runStats[c][1]、およびrunStats[c][s]の内容に基づいて、映像エンコーダ20は、EOBshift[c]、sEOBshift[c]、およびcbSelect[c]の値を更新する。
EOBshiftテーブルの更新について、符号化サイクルc>0かつc<Cに対して以下に記載される。一例として、もしrunStats[c][0]により指示されるEOBカウントがラン長r=0(すなわち、s=2)に対するrunStats[c][2]により指示されるゼロランのカウントより大きければ、そのときには上記の疑似コードで示されるように、EOBshift[c]の値はゼロに設定される。さもなければ、もしrunStats[c][0]がrunStats[c][2]以下であり、但しrunStats[c][0]がラン長r=1(すなわち、s=3)に対するrunStats[c][3]により指示されるゼロランのカウントより大きければ、そのときにはEOBshift[c]の値は1に設定される。さもなければ、もしrunStats[c][0]がrunStats[c][2]およびrunStats[c][3]の両方より以下であり、但しrunStats[c][0]がラン長r=2(すなわち、s=4)に対するrunStats[c][4]により指示されるゼロランのカウントより大きければ、そのときにはEOBshift[c]の値は2に設定される。さもなければ、EOBshift[c]の値は3に設定される。
sEOBshiftテーブルの更新について、符号化サイクルc>0かつc<Cに対して以下に記載される。一例として、もしrunStats[c][1]により指示されるsEOBカウントがラン長r=2(すなわち、s=4)に対するrunStats[c][4]により指示されるゼロランのカウントより大きければ、そのときにはsEOBshift[c]の値はEOBshift[c]プラス1の値に等しく設定される。さもなければ、もしrunStats[c][1]がrunStats[c][4]以下であり、但しrunStats[c][1]が16で除されたrunStats[c][0]により指示されるEOBのカウントにより大きければ、そのときにはsEOBshift[c]の値は4に設定される。さもなければ、sEOBshift[c]の値は、16マイナスサイクル数cに等しく設定される。
テーブルcbSelectの更新について、c<Cのすべての符号化サイクルに対して以下に記載される。cbSlect[c]の値を更新するために、映像エンコーダ20は3つの最も確からしいシンボルを追跡する。ゼロラン、EOBおよびsEOBを含む組み合わせのシンボルセットにおける3つの最も確からしいシンボルの確率カウントをA、B、Cとして表し、すべての他のシンボルの総カウントをDとして表す。この場合、もしDがB以下であり、かつDの3倍がAの2倍以下であれば、そのときにはcbSelect[c]の値は、もしCプラスDがA以下であれば符号ブック0(cb0)を指定し、もしCプラスDがAより大きければ符号ブック1(cb1)を指定する。さもなければ、もしDがB以下であり、かつDの3倍がAの2倍より大きければ、そのときには、cbSelect[c]の値は、もしCの2倍がD以下であればcb1を指定し、もしCの2倍がDより大きければ符号ブック2(cb2)を指定する。残りの操作は、上記の疑似符号から容易に明らかである。
上記の疑似符号に示されるように、映像エンコーダ20は、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの蓄積されたカウントに基づいてEOBシフトテーブルを更新し、対応する符号化条件に対するゼロラン、EOBシンボルおよびsEOBシンボルの蓄積されたカウントに基づいてsEOBシフトテーブルを更新し、さらに対応する符号化条件に対するゼロラン、EOBシンボルおよびsEOBシンボルの蓄積されたカウントに基づいて符号ブック選択テーブルを更新する。
疑似符号は、EOB、sEOBおよびゼロランのカウントの間の特定の関係に基づくEOBシフトテーブル、sEOBシフトテーブル、および符号ブック選択テーブルのエントリの更新について説明のために明らかにするが、他の関係を用いてもよい。従って、他の更新処理が用いられてもよく、本開示の範囲から逸脱することなく上記の例に様々な改良がなされてもよい。例えば、上記の疑似符号は、SVC JD9で使われるような符号化サイクルを参照するが、他の符号化条件がカウントおよび符号化パラメータのためのインデックスとして用いられてもよい。一例として、VLC符号化はゼロラン、EOB、またはsEOBが属するブロックの現在のサブバンドまたはサブバンドのクラスター(cluster)を必要条件とすることができる。また別の例として、VLC符号化はブロックに対して符号化されているゼロランの数も必要条件とすることができる。
適応方式の符号化性能を向上させるためにもう一つの条件が追加されてもよい。スライスに対する符号化処理の初めに、例えば、シンボルの統計データが十分に蓄積されていなければ、EOBshift、sEOBshift、およびcbSelectのテーブルの更新は、統計的に有意でないエントリを結果として生じる可能性がある。従って、EOBshift、sEOBshift、およびcbSelectのテーブルエントリを更新すべきかどうか決めるために、各サイクルにおいて遭遇するシンボルの総数に閾値が適用されてもよい。この場合、対応する閾値に到達または超過した合計のシンボルカウントをもつサイクルだけがそれらのテーブルエントリの更新を始められるように、随意的な条件が適用されてもよい。一例として、閾値のアレイ{32,16,8,8,8,8...}がテーブルエントリの更新を開始するかどうか決めるために用いられることができ、ここで閾値のアレイにおけるエントリは、順に、サイクル0、サイクル1、サイクル2、サイクル3、などに対応する。例えば、サイクル0に対しては、更新処理が開始される前に全部で32のシンボルに遭遇してきている必要がある。同様に、サイクル1に対しては、更新処理が開始される前に全部で16のシンボルに遭遇してきている必要がある。それ故、前の方のサイクルに対するVLC符号化パラメータの更新を開始するためには、より多数のシンボルが必要とすることができる。所与の符号化サイクル内で遭遇するエントリの総数に閾値を適用する代替策として、むしろ所与の符号化サイクルにおける最も確からしいシンボルの蓄積されたカウントに閾値が適用されてもよい。
runStatsアレイを正規化するための技術例について以下に記載される。正規化はrunStatsアレイにおけるシンボルのカウントを、ある閾値に達したときに縮小することを含む。正規化はシンボルのカウントのオーバーフローを防ぐために有用なことがある。加えて、正規化はシンボルのカウントがある領域で過剰に蓄積して他の領域の局所的な統計データを圧倒するのを防ぐので、局所的な適応性により広い余地を提供することもできる。正規化処理はEOBshift、sEOBshift、およびcbSelectのテーブルが更新されるのと同時に、例えば、MB境界におけるように周期的に発生してもよい。代わりに、または付加的に、正規化処理は映像符号化処理を通じて他の固定点で発生してもよい。以下に説明されるのは、runStatsアレイを正規化するための処理例を示す疑似符号の一部分である。
for (all cycles c<C) // C is the cycle cutoff in runStats

let MPS be the count of the most probable symbol in the cycle
if (MPS >= MPSthres)
scale back all symbol counts in the current cycle by a factor of 2

上記の疑似符号において、MPSthresの理に適った選択は128とすることができる。しかし、MPSthresの他の値が用いられてもよい。一般的に、もしサイクルにおける最も確からしいシンボル(MPS)のカウントがMPSthres以上であれば、映像エンコーダ20はシンボルのカウントを係数Nだけ現在のサイクルにおいて縮小することにより、すなわち、係数Nで除すことにより正規化する。上記の例では、係数Nは2に等しい。代わりに、現在の符号化サイクルにおけるすべてのシンボルの総カウントおよび総カウントに対する閾値がMPSカウントおよびこれに対応する閾値MPSthresの代わりに正規化に用いられてもよい。
符号化テーブルを更新する頻度を低減するために、選択肢として、更新頻度が動的に変更されてもよい。符号化テーブルの更新は、上記の低複雑度の解でさえ、ある応用に対しては高コストになる可能性がある。従って、更新頻度および関係するコンピュータ使用およびメモリの経費を低減するために更新頻度は様々な基準に基づいて動的に変更されることができる。一例として、更新頻度は符号化テーブルが最近の符号化操作でどのくらい変化したかに基づいて動的に調整されることができる。もし最近の更新操作で符号化テーブルにほとんど変化が生じていなければ、そのときには更新頻度は減らされてもよい。もし最近の更新操作においてより大きな変化が生じていれば、更新頻度は動的に増やされることができる。
輝度ブロックの符号化のための処理例が以下に記載される。この例では、輝度ブロックは、例えば、MPEG1、MPEG2、MPEG4、およびH.263のような多くの映像符号化標準規格において用いられるような、8×8変換を用いて符号化される。FRext(Fidelity Range extension:忠実度の拡張)としても知られるH.264/AVCハイプロファイルでは、マクロブロック中の輝度成分は8×8整数変換または4×4整数変換のいずれかを用いて符号化されることができ、さらにブロック変換のサイズはマクロ
ブロック段階のシンタックス要素としてビットストリーム中に符号化される。これは適応ブロック変換と呼ばれる。もし8×8変換が使われる場合には、4×4変換が使われるときの16の4×4輝度ブロックの代わりに、変換および量子化後にマクロブロック中に4つの8×8の輝度の係数ブロックが存在することになる。上記の符号化処理は例として4×4変換からの係数ブロックを用いるが、本処理は同様のコンセプトを用いて8×8変換ブロックの符号化に容易に適応することができる。
一例として、8×8ブロックは最初に4つの4×4ブロックに変換されることができる。このやり方は、H.264/AVC標準規格により仕様が示されたCAVLCエントロピー符号化モードにおいて用いられる。例えば、映像エンコーダ20は8×8係数ブロックをジグザグ走査順序で走査し、それを64の係数をもつ1次元アレイに変換するように構成されることができる。次に、映像エンコーダ20はインターリーブ方式を用いて64の係数を各々が16の係数をもつ4つのアレイに分解する。特に、64−係数アレイの8×8ジグザグ走査順序におけるn番目(n=0,1,...63)の走査位置の係数はm番目、但しm=mod(n,4),m=0,1,2または3、のブロック中に、位置としては小さい方のブロックの(n/4)番目の走査位置に配置される。この変化後に、映像エンコーダ20は、4つの16−係数ブロックに対して4×4ブロックに関する通常のCAVLC符号化を行う。
SVCにおいて、ベースレイヤーがH.264/AVCハイプロファイルを用いるとき、エンハンスメントレイヤーも8×8ブロック変換も使うことができる。FGSレイヤーにおいて、8×8の係数ブロックはベースレイヤーと同じインターリーブ方式を用いて変換され、さらに4つの4×4ブロックとして符号化されることができる。かかる変換された4×4ブロックの蓄積された統計データは、従来の4×4ブロックの統計データと同様であり得る。従って、映像エンコーダ20はこの変換された4×4ブロックを、すべての他の従来の4×4ブロック係数とともに、同じEOBshift、sEOBshift、およびcbSelectのテーブルを用いて符号化することができる。代わりに、映像エンコーダ20はこの変換された4×4ブロックに対して別に蓄積された統計データを格納し、かかる変換された4×4ブロックを符号化するために別のEOBshift、sEOBshift、およびcbSelectのテーブルを用いるように構成されてもよい。
色差DCおよび色差ACの成分の符号化について以下に記載される。SVCでは、色差係数のブロックは色差DCおよび色差ACブロックとして別々に符号化される。各々の8×8の色差ブロックにおける4つの4×4ブロックのDC係数は、一つのDCブロックとしてグループ化されて符号化される。各々の色差DCブロックは4つのサイクル(c=0,1,2,3)で符号化される。各々の4×4色差ブロックにおける(DC係数を除く)残りの15の色差ACの係数は15サイクル(cycle=1,2,...15)で符号化される。色差DCおよびACブロックのシンボルの統計データは、相互におよび輝度ブロックと十分に異なるので、本開示に記載される適応方式において色差DCおよびAC、並びに輝度に対して別々の統計データを保持することにより色差の符号化性能が向上する。
色差DCおよびACの適応符号化は輝度の符号化手順と同様である。例えば、アレイrunStatsDCおよびrunStatsACをそれぞれ色差DCおよび色差ACに対する蓄積された統計データを別々に格納するために用いることができる。テーブルEOBshiftXX、sEOBshiftXX、およびcbSelectXX(XXはDCまたはACと置き換えられる)が、色差DCまたは色差ACのいずれかについて各符号化サイクルに対するEOBシフト、特別EOBシフト、および符号ブック選択を特定するために用いられる。色差の統計データは輝度の統計データとは異なるので、テーブルEOBshiftXX、sEOBshiftXX、およびcbSelectXXは、異なって初期化されることができる。一例として、これらのテーブルは次のベクトルで初期化されることができる。
EOBshiftDCInit[] = {4,0,0,0};
sEOBshiftDCInit[] = {4,4,3,2};
cbSelectDCInit[] = {0,0,0,0};
EOBshiftACInit[] = {16,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
sEOBshiftACInit[] = {16,8,8,8,8,8,8,8,7,6,5,4,3,2,1};
cbSelectACInit[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
ここで、EOBshiftDCInit[]は色差DCのEOBシフトテーブルに対する初期エントリを表し、sEOBshiftDCInit[]は色差DCの特別EOBシフトテーブルに対する初期エントリを表し、cbSelectDCInit[]は色差DCの符号ブック選択テーブルに対する初期エントリを表し、EOBshiftACInit[]は色差ACのEOBシフトテーブルに対する初期エントリを表し、sEOBshiftACInit[]は色差ACの特別EOBシフトテーブルに対する初期エントリを表し、cbSelectACInit[]は色差ACの符号ブック選択テーブルに対する初期エントリを表す。留意すべきことは、色差DCに対する初期化テーブルは色差DCが4つの符号化サイクルを必要とするために4つのエントリを含み、さらに色差ACに対する初期化テーブルは色差ACが15の符号化サイクルを必要とするために15のエントリを含むことである。
よく用いられるYUV4:2:0映像フォーマットでは、色差係数は輝度係数に比べて半数である。色差DCおよびACの適応符号化に幾ばくかの簡単化が適用されることができる。これらの簡単化により、蓄積された統計データを格納するのに必要なメモリおよび更新操作の回数を低減することができる。例えば、色差DCに対する更新操作は省略されることができ、これによりアレイrunStatsを格納する必要性、およびテーブルEOBshiftDC、sEOBshiftDC並びにcbSelectDCに関するすべての更新操作が無くすことができる。色差ACの更新操作も省略されてもよい。代わりに、色差ACに対する更新処理は、輝度に対する更新処理と似ているが複雑さは低減されるようにしてもよい。例えば、映像エンコーダ20は色差ACブロックが半数なので、色差ACのテーブルを輝度のテーブルの半分の頻度で更新するように構成されてもよい。要約すると、色差DCおよび色差ACブロックのVLC符号化は、相互に別々に、かつ輝度ブロックと別に実行されることができる。色差DCおよびACのブロックに対するEOBシフトテーブル、sEOBシフトテーブル、および符号ブック選択テーブルは、輝度ブロックとは異なって初期化されることができる。ある場合には、固定されたEOBシフトテーブル、sEOBシフトテーブル、および符号ブック選択テーブルを色差DCおよびACのブロックに対して用いてもよい。
ここに記載される技術は、ハードウェア、ソフトウェア、ファームウェアおよびそれらの任意の組み合わせで実施されることができる。モジュールまたは構成要素として記載されるいかなる特徴も、集積論理デバイス中に一緒に、または個別ではあるが相互に動作可能な論理デバイスとして別々に、実施されることができる。ソフトウェアで実施される場合、本技術は、上記の方法の一つまたはそれ以上を、実行されたときに、行う命令を含むプログラム・コードを備えるコンピュータ可読のデータ記憶媒体により少なくとも一部が実現されることができる。コンピュータ可読のデータ記憶媒体はコンピュータプログラム製品の一部を成してもよい。コンピュータ可読のデータ記憶媒体は同期型ダイナミック・ランダム・アクセス・メモリ(SDRAM:synchronous dynamic random access memory)のようなランダム・アクセス・メモリ(RAM:random access memory)、リード・オンリー・メモリ(ROM:read only memory)、不揮発性ランダム・アクセス・メモリ(NVRAM:non-volatile random access memory)、電気的消去・プログラム可能型リード・オンリー・メモリ(EEPROM:electrically erasable programmable read-only memory)、フラッシュメモリ、磁気的または光学的データ記憶媒体などを備えることができる。本技術は付加的に、または代わりに、プログラムコードを命令またはデータ構造のかたちで伝送または通信し、かつコンピュータによりアクセス、読み取り、および/または実行されることのできるコンピュータ可読の通信媒体により少なくとも一部が実現されてもよい。
プログラムコードは、一つまたはそれ以上のデジタル・シグナル・プロセッサ(DSPs)、汎用マイクロプロセッサ、特定用途向け集積回路(ASICs)、フィールド・プログラマブル・ゲート・アレイ(FPGAs)、または他の同等の集積または個別論理回路のような、一つまたはそれ以上のプロセッサにより実行されることができる。従って、ここで用いられる用語“プロセッサ”は、任意の上述の構造、または、ここに記載される技術を実施するのに適する任意の他の構造に適用できる。加えて、ある様態においては、ここに記載される機能性は、符号化および復号化のために構成または組み合わされた映像エンコーダ−デコーダ(CODEC)に組み込まれた専用のソフトウェアモジュールまたはハードウェアモジュールにおいて提供されることができる。
本発明の様々な実施形態が記載された。これらおよび他の実施形態は請求項の範囲内である。
以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
可変長符号(VLC)パラメータを用いてデジタル映像ブロック係数のVLC符号化を行うこと、
前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集すること、および
前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整すること、を備える方法。
[C2]
前記デジタル映像ブロック係数のブロックを備えるスライスの初めに前記VLCパラメータを初期化することをさらに備える、C1に記載の方法。
[C3]
前記一つまたはそれ以上のVLCパラメータを調整することは、前記一つまたはそれ以上のVLCパラメータを、前記デジタル映像ブロック係数のブロックを備えるスライス内の選択された間隔で調整することを備える、C1に記載の方法。
[C4]
前記一つまたはそれ以上のVLCパラメータを調整することは、前記一つまたはそれ以上のVLCパラメータを、前記デジタル映像ブロック係数のブロックを備えるスライス内のブロックの境界で調整することを備える、C1に記載の方法。
[C5]
VLC符号化を行うことは、ブロック内の非ゼロブロック係数の位置を、前記VLCパラメータを用いて前記非ゼロブロック係数に先行するゼロランとして符号化することを備える、C1に記載の方法。
[C6]
VLC符号化を行うことは、異なるVLCパラメータを、前記ブロック内で異なる符号化条件に基づいて選択することを備える、C5に記載の方法。
[C7]
VLC符号化を行うことは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する特別ブロック終了(sEOB)シンボルを符号化すること、および前記sEOBシンボルが符号化された後に1より大きい前記一つまたはそれ以上の係数に関する大きさ情報を符号化することを備える、C1に記載の方法。
[C8]
前記VLCパラメータは、前記符号化条件の各々に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示するブロック終了(EOB)シフトテーブルと、前記符号化条件の各々に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルとを備える、C7に記載の方法。
[C9]
前記VLCパラメータは、前記非ゼロ係数の少なくとも一つが1より大きいときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、前記符号化条件の各々に対して指示するsEOBシフトテーブルと、固定化されたVLCテーブルを用いて符号化された前記ブロック中の1より大きい前記係数に関する前記大きさ情報を指示するパラメータと、を備え、前記大きさ情報を指示する前記パラメータは、前記ブロック内の1より大きい前記非ゼロ係数の数および前記ブロック内の1より大きい前記係数の最大の大きさに基づく、C7に記載の方法。
[C10]
符号化の統計データを収集することは、異なる符号化条件に対してゼロラン、ブロック終了(EOB)シンボルおよびsEOBシンボルの蓄積されたカウントを収集することを備え、前記VLCパラメータの一つまたはそれ以上を調整することは、前記一つまたはそれ以上のVLCパラメータを前記蓄積されたカウントに基づいて調整することを備える、C7に記載の方法。
[C11]
符号化の統計データを収集することは、すべてより少ない符号化条件に対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集することを備え、前記VLCパラメータの一つまたはそれ以上を調整することは、すべてより少ない符号化条件に対して前記一つまたはそれ以上のVLCパラメータを調整することを備える、C10に記載の方法。
[C12]
符号化の統計データを収集することは、すべてより少ないゼロランに対してゼロランの前記蓄積されたカウントを収集することを備える、C10に記載の方法。
[C13]
前記符号化条件は符号化サイクルを含み、符号化の統計データを収集することは、Cより小さい数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集すること、およびC以上の数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集しないことを備え、Cは前記符号化サイクルの最大数より小さいC10に記載の方法。
[C14]
符号化の統計データを収集することは、長さがSより短いゼロランの各々に対し前記ゼロランの前記蓄積されたカウントを収集すること、および長さがS以上のゼロランに対し前記ゼロランの合計カウントを収集することを備え、Sは前記ゼロランの最大長より短いC13に記載の方法。
[C15]
前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示するEOBシフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新すること、前記ブロック中の少なくとも一つの非ゼロ係数が1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、および特別ブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のsEOBシンボルのインデックスを指示するsEOBシフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新すること、および、前記それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新することをさらに備える、C10に記載の方法。
[C16]
前記デジタル映像ブロック係数のブロックを備えるスライス内における選択された間隔で前記蓄積されたカウントを正規化することをさらに備える、C10に記載の方法。
[C17]
前記方法は、色差DCおよび色差ACのブロックを符号化するために別々のブロック終了(EOB)シフトテーブル、特別ブロック終了(sEOB)シフトテーブル、およびVLC符号ブック選択テーブルを用いて、前記色差DCおよびACのブロックのVLC符号化を相互に別々にかつ輝度ブロックと別に行うことをさらに備え、前記EOBシフトテーブルの各々は、それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示し、前記VLC符号ブック選択テーブルの各々は、それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示し、前記sEOBシフトテーブルの各々は、前記非ゼロ係数の少なくとも一つが1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを指示する、C5に記載の方法。
[C18]
前記色差DCおよびACのブロックに対して収集された符号化の統計データに基づいて、前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、前記sEOBシフトテーブル、およびVLC符号ブック選択テーブルを調整することをさらに備える、C17に記載の方法。
[C19]
前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを前記輝度ブロックとは異なって初期化することをさらに備える、C17に記載の方法。
[C20]
前記色差DCおよびACのブロックに対して、固定化されたEOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを用いることをさらに備える、C17に記載の方法。
[C21]
前記デジタル映像ブロック係数を符号化および復号化するために、映像エンコーダの第1エントロピー符号化ユニット内および映像デコーダの第2エントロピー復号化ユニット内の両方において、前記デジタル映像ブロック係数の前記VLC符号化を行うことをさらに備える、C1に記載の方法。
[C22]
前記デジタル映像ブロック係数は、ファイン グラニュラリティ スケーラビリティ(FGS)エンハンスメントレイヤーおよび少なくとも一つのベースまたは前レイヤーを備えるスケーラブル映像符号化(SVC)スライスの前記エンハンスメントレイヤーにおけるブロック係数を表し、ブロック内の非ゼロのブロック係数の位置を符号化することは、有意係数の位置を符号化することを備え、前記エンハンスメントレイヤーにおける前記有意係数は、前記ベースまたは前レイヤーにおける対応する係数がゼロとなる係数である、C1に記載の方法。
[C23]
可変長符号(VLC)パラメータを用いてデジタル映像ブロック係数のVLC符号化を行い、前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集し、前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整するように構成されたVLCユニットを備える映像符号化デバイス。
[C24]
前記VLCユニットは、前記デジタル映像ブロック係数のブロックを備えるスライスの初めに前記VLCパラメータを初期化するように構成される、C23に記載のデバイス。
[C25]
前記VLCユニットは、前記デジタル映像ブロック係数のブロックを備えるスライス内の選択された間隔で前記一つまたはそれ以上のVLCパラメータを調整するように構成される、C23に記載のデバイス。
[C26]
前記VLCユニットは、前記デジタル映像ブロック係数のブロックを備えるスライス内のブロックの境界で前記一つまたはそれ以上のVLCパラメータを調整するように構成される、C23に記載のデバイス。
[C27]
前記VLCユニットは、ブロック内の非ゼロのブロック係数の位置を、前記VLCパラメータを用いて前記非ゼロのブロック係数に先行するゼロランとして符号化し、前記ブロック内において異なる符号化条件に基づいて異なるVLCパラメータを選択するように構成される、C23に記載のデバイス。
[C28]
前記VLCユニットは、前記ブロック内において異なる符号化条件に基づいて異なるVLCパラメータを選択するように構成される、C27に記載のデバイス。
[C29]
前記VLCユニットは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する特別ブロック終了(sEOB)シンボルを符号化し、前記sEOBシンボルが符号化された後に1より大きい一つまたはそれ以上の係数に関する大きさ情報を符号化するように構成される、C23に記載のデバイス。
[C30]
前記VLCパラメータは、追跡される前記符号化条件の各々に対して、ゼロランシンボル、EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記EOBシンボルのインデックスを指示するブロック終了(EOB)シフトテーブル、並びに追跡される前記符号化条件の各々に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルを備える、C29に記載のデバイス。
[C31]
前記VLCパラメータは、前記非ゼロ係数の少なくとも一つが1より大きいときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、追跡される前記符号化条件の各々に対して指示するsEOBシフトテーブルと、固定化されたVLCテーブルを用いて符号化された前記ブロック内の1より大きい前記係数に関する前記大きさ情報を指示するパラメータと、を備え、前記大きさ情報を指示する前記パラメータは、前記ブロック内の1より大きい前記非ゼロ係数の数、および前記ブロック内の1より大きい前記非ゼロ係数の最大の大きさに基づく、C29に記載のデバイス。
[C32]
前記VLCユニットは、異なる符号化条件に対してゼロラン、ブロック終了(EOB)シンボルおよびsEOBシンボルの蓄積されたカウントを含む符号化の統計データを収集し、前記蓄積されたカウントに基づいて前記VLCパラメータの一つまたはそれ以上を調整するように構成される、C29に記載のデバイス。
[C33]
前記VLCユニットは、すべてより少ない符号化条件に対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集し、すべてより少ない符号化条件に対して前記一つまたはそれ以上のVLCパラメータを調整する、C32に記載のデバイス。
[C34]
前記VLCユニットは、すべてより少ないゼロランに対してゼロランの前記蓄積されたカウントを収集する、C32に記載のデバイス。
[C35]
前記符号化条件は符号化サイクルを含み、前記VLCユニットは、Cより小さい数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集し、C以上の数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集せず、Cは前記符号化サイクルの最大数より小さいC32に記載のデバイス。
[C36]
前記VLCユニットは、長さがSより短いゼロランの各々に対し前記ゼロランの前記蓄積されたカウントを収集し、長さがS以上のゼロランに対し前記ゼロランの合計カウントを収集し、Sは前記ゼロランの最大長より短いC35に記載のデバイス。
[C37]
前記VLCユニットは、前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示するEOBシフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新し、前記ブロック中の少なくとも一つの非ゼロ係数が1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、および特別ブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のsEOBシンボルのインデックスを指示するsEOBシフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新し、前記それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新する、C32に記載のデバイス。
[C38]
前記VLCユニットは、前記デジタル映像ブロック係数のブロックを備えるスライス内の選択された間隔で前記蓄積されたカウントを正規化するように構成される、C32に記載のデバイス。
[C39]
前記VLCユニットは、前記色差DCおよびACのブロックを符号化するために別々のブロック終了(EOB)シフトテーブル、特別ブロック終了(sEOB)シフトテーブル、およびVLC符号ブック選択テーブルを用いて、前記色差DCおよびACのブロックのVLC符号化を相互に別々にかつ輝度ブロックと別に行うように構成され、 前記EOBシフトテーブルの各々は、それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づくsEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示し、前記VLC符号ブック選択テーブルの各々は、それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示し、前記sEOBシフトテーブルの各々は、前記非ゼロ係数の少なくとも一つが1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを指示する、C27に記載のデバイス。
[C40]
前記VLCユニットは、前記色差DCおよびACのブロックに対して収集された符号化の統計データに基づいて、前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを調整するように構成される、C39に記載のデバイス。
[C41]
前記VLCユニットは、前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを前記輝度ブロックとは異なって初期化するように構成される、C39に記載のデバイス。
[C42]
前記VLCユニットは、前記色差DCおよびACのブロックに対して、固定化されたEOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを用いるように構成される、C39に記載のデバイス。
[C43]
前記VLCユニットは、前記デジタル映像ブロック係数を符号化するために、または前記デジタル映像ブロック係数を復号化するためにVLC符号化を行うように構成される、C23に記載のデバイス。
[C44]
前記デジタル映像ブロック係数は、ファイン グラニュラリティ スケーラビリティ(FGS)エンハンスメントレイヤーおよび少なくとも一つのベースまたは前レイヤーを備えるスケーラブル映像符号化(SVC)スライスの前記エンハンスメントレイヤーにおけるブロック係数を表し、ブロック内の非ゼロのブロック係数の位置を符号化することは、有意係数の位置を符号化することを備え、前記エンハンスメントレイヤーにおける前記有意係数は、前記ベースまたは前レイヤーにおける対応する係数がゼロとなる係数である、C23に記載のデバイス。
[C45]
VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行う手段、
前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集する手段、および
前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整する手段を備える映像符号化デバイス。
[C46]
コンピュータ可読媒体であって、
VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うこと、
前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集すること、および
前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整することをプロセッサに行わせるための命令を備えるコンピュータ可読媒体。
[C47]
可変長符号(VLC)パラメータを生成すること、および
前記VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うこと、を備える方法であって、
前記VLCパラメータは、ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、複数の異なる符号化条件のそれぞれに対して指示するsEOBシフトテーブルを備える、方法。
[C48]
前記ブロック内の1より大きい前記係数の数および前記ブロック内の1より大きい前記係数の最大の大きさに基づいて、固定化されたVLCテーブルを用いて符号化された前記ブロック内の前記非ゼロ係数の大きさ情報を指示するパラメータを、前記VLCパラメータの一つとして生成することをさらに備える、C47に記載の方法。
[C49]
前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むとき、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを前記それぞれの符号化条件に対して有する前記sEOBシフトテーブルを映像スライス中に含むことをさらに備える、C47に記載の方法。
[C50]
可変長符号(VLC)パラメータを用いてデジタル映像ブロック係数のVLC符号化を行うように構成されたVLCユニットを備える映像符号化デバイスであって、前記VLCパラメータは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して指示するsEOBシフトテーブルを備える、映像符号化デバイス。
[C51]
前記VLCユニットは、前記ブロック内の1より大きい前記係数の数および前記ブロック内の1より大きい前記係数の最大の大きさに基づいて、固定化されたVLCテーブルを用いて符号化された前記ブロック内の前記非ゼロ係数の大きさ情報を指示するパラメータを、前記VLCパラメータの一つとして生成する、C50に記載のデバイス。
[C52]
前記VLC符号化ユニットは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、前記符号化条件の各々に対して指示する、前記sEOBシフトテーブルを映像スライス中に含む、C50に記載のデバイス。
[C53]
可変長符号(VLC)パラメータを生成する手段、および
前記VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うための手段を備えるデバイスであって、
前記VLCパラメータは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して指示するsEOBシフトテーブルを備える、デバイス。
[C54]
可変長符号(VLC)パラメータ生成すること、および
前記VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うこと、をプロセッサに行わせる命令を備えるコンピュータ可読媒体であって、
前記VLCパラメータは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内のsEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して指示するsEOBシフトテーブルを備える、コンピュータ可読媒体。

Claims (52)

  1. デジタル映像ブロック係数のブロックを備えるスライスの初めに可変長符号(VLC)パラメータを初期化すること、
    前記VLCパラメータを用いて前記デジタル映像ブロック係数の符号化を行うこと、ここにおいて、前記VLCパラメータは、複数の異なる符号化条件のそれぞれに対して、前記それぞれの符号化条件の下ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別ブロック終了(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、指示するシフトテーブルを備え、VLC符号化を行うことは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化することを備え、
    前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集すること、および
    前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整すること、
    を備える映像符号化の方法。
  2. 前記一つまたはそれ以上のVLCパラメータを調整することは、前記一つまたはそれ以上のVLCパラメータを、前記デジタル映像ブロック係数のブロックを備える前記スライス内の選択された間隔で調整することを備える、請求項1に記載の方法。
  3. 前記一つまたはそれ以上のVLCパラメータを調整することは、前記一つまたはそれ以上のVLCパラメータを、前記デジタル映像ブロック係数のブロックを備える前記スライス内のブロックの境界で調整することを備える、請求項1に記載の方法。
  4. VLC符号化を行うことは、前記ブロック内の非ゼロブロック係数の位置を、前記VLCパラメータを用いて前記非ゼロブロック係数に先行するゼロランとして符号化することを備える、請求項1に記載の方法。
  5. VLC符号化を行うことは、異なるVLCパラメータを、前記ブロック内で異なる符号化条件に基づいて選択することを備える、請求項に記載の方法。
  6. VLC符号化を行うことは、前記sEOBシンボルが符号化された後に1より大きい前記一つまたはそれ以上の係数に関する大きさ情報を符号化することを備える、請求項1に記載の方法。
  7. 前記VLCパラメータは、前記符号化条件の各々に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示するブロック終了(EOB)シフトテーブルと、前記符号化条件の各々に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルとをさらに備える、請求項に記載の方法。
  8. 前記シフトテーブルは、前記非ゼロ係数の少なくとも一つが1より大きいときに、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備える前記シンボルセット内の前記sEOBシンボルの前記インデックスを、前記符号化条件の各々に対して指示し、前記VLCパラメータパラメータは、固定化されたVLCテーブルを用いて符号化された前記ブロック中の1より大きい前記係数に関する前記大きさ情報を指示するパラメータを備え、前記大きさ情報を指示する前記パラメータは、前記ブロック内の1より大きい前記非ゼロ係数の数および前記ブロック内の1より大きい前記係数の最大の大きさに基づく、請求項に記載の方法。
  9. 符号化の統計データを収集することは、異なる符号化条件に対してゼロラン、ブロック終了(EOB)シンボルおよびsEOBシンボルの蓄積されたカウントを収集することを備え、前記VLCパラメータの一つまたはそれ以上を調整することは、前記一つまたはそれ以上のVLCパラメータを前記蓄積されたカウントに基づいて調整することを備える、請求項に記載の方法。
  10. 符号化の統計データを収集することは、すべてより少ない符号化条件に対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集することを備え、前記VLCパラメータの一つまたはそれ以上を調整することは、すべてより少ない符号化条件に対して前記一つまたはそれ以上のVLCパラメータを調整することを備える、請求項に記載の方法。
  11. 符号化の統計データを収集することは、すべてより少ないゼロランに対してゼロランの前記蓄積されたカウントを収集することを備える、請求項に記載の方法。
  12. 前記符号化条件は符号化サイクルを含み、符号化の統計データを収集することは、Cより小さい数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集すること、およびC以上の数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集しないことを備え、Cは前記符号化サイクルの最大数より小さい請求項に記載の方法。
  13. 符号化の統計データを収集することは、長さがSより短いゼロランの各々に対し前記ゼロランの前記蓄積されたカウントを収集すること、および長さがS以上のゼロランに対し前記ゼロランの合計カウントを収集することを備え、Sは前記ゼロランの最大長より短い請求項12に記載の方法。
  14. 前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、および前記ブロック終了の前記確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記EOBシンボルのインデックスを指示するEOBシフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新すること、前記ブロック中の少なくとも一つの非ゼロ係数が1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、および特別ブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルの前記インデックスを指示する前記シフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新すること、および、前記それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新することをさらに備える、請求項に記載の方法。
  15. 前記デジタル映像ブロック係数のブロックを備える前記スライス内における選択された間隔で前記蓄積されたカウントを正規化することをさらに備える、請求項に記載の方法。
  16. 前記方法は、色差DCおよび色差ACのブロックを符号化するために別々のブロック終了(EOB)シフトテーブル、特別ブロック終了(sEOB)シフトテーブル、およびVLC符号ブック選択テーブルを用いて、前記色差DCおよびACのブロックのVLC符号化を相互に別々にかつ輝度ブロックと別に行うことをさらに備え、前記EOBシフトテーブルの各々は、前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、および前記ブロック終了の前記確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記EOBシンボルのインデックスを指示し、前記VLC符号ブック選択テーブルの各々は、それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示し、前記sEOBシフトテーブルの各々は、前記非ゼロ係数の少なくとも一つが1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを指示する、請求項に記載の方法。
  17. 前記色差DCおよびACのブロックに対して収集された符号化の統計データに基づいて、前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、前記sEOBシフトテーブル、およびVLC符号ブック選択テーブルを調整することをさらに備える、請求項16に記載の方法。
  18. 前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを前記輝度ブロックとは異なって初期化することをさらに備える、請求項16に記載の方法。
  19. 前記色差DCおよびACのブロックに対して、固定化されたEOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを用いることをさらに備える、請求項16に記載の方法。
  20. 前記デジタル映像ブロック係数を符号化および復号化するために、映像エンコーダの第1エントロピー符号化ユニット内および映像デコーダの第2エントロピー復号化ユニット内の両方において、前記デジタル映像ブロック係数の前記VLC符号化を行うことをさらに備える、請求項1に記載の方法。
  21. 前記デジタル映像ブロック係数は、ファイン グラニュラリティ スケーラビリティ(FGS)エンハンスメントレイヤーおよび少なくとも一つのベースまたは前レイヤーを備えるスケーラブル映像符号化(SVC)スライスの前記エンハンスメントレイヤーにおけるブロック係数を表し、前記ブロック内の非ゼロのブロック係数の位置を符号化し、前記ブロックは有意係数の位置を符号化することを備え、前記エンハンスメントレイヤーにおける前記有意係数は、前記ベースまたは前レイヤーにおける対応する係数がゼロとなる係数である、請求項1に記載の方法。
  22. デジタル映像ブロック係数のブロックを備えるスライスの初めに可変長符号(VLC)パラメータを初期化し、
    前記VLCパラメータを用いて前記デジタル映像ブロック係数のVLC符号化を行い、前記VLCパラメータは、複数の異なる符号化条件のそれぞれに対して、前記それぞれの符号化条件の下ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別ブロック終了(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、指示するシフトテーブルを備え、VLC符号化を行うことは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化することを備え、
    前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集し、
    前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整するように構成されたVLCユニットを備える映像符号化デバイス。
  23. 前記VLCユニットは、前記デジタル映像ブロック係数のブロックを備える前記スライス内の選択された間隔で前記一つまたはそれ以上のVLCパラメータを調整するように構成される、請求項22に記載のデバイス。
  24. 前記VLCユニットは、前記デジタル映像ブロック係数のブロックを備える前記スライス内のブロックの境界で前記一つまたはそれ以上のVLCパラメータを調整するように構成される、請求項22に記載のデバイス。
  25. 前記VLCユニットは、前記ブロック内の非ゼロのブロック係数の位置を、前記VLCパラメータを用いて前記非ゼロのブロック係数に先行するゼロランとして符号化し、前記ブロック内において異なる符号化条件に基づいて異なるVLCパラメータを選択するように構成される、請求項22に記載のデバイス。
  26. 前記VLCユニットは、前記ブロック内において異なる符号化条件に基づいて異なるVLCパラメータを選択するように構成される、請求項25に記載のデバイス。
  27. 前記VLCユニットは、前記ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する特別ブロック終了(sEOB)シンボルを符号化し、前記sEOBシンボルが符号化された後に1より大きい一つまたはそれ以上の係数に関する大きさ情報を符号化するように構成される、請求項22に記載のデバイス。
  28. 前記VLCパラメータは、追跡される前記符号化条件の各々に対して、ゼロランシンボル、EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記EOBシンボルのインデックスを指示するブロック終了(EOB)シフトテーブル、並びに追跡される前記符号化条件の各々に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルを備える、請求項27に記載のデバイス。
  29. 前記VLCパラメータは、前記非ゼロ係数の少なくとも一つが1より大きいときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、追跡される前記符号化条件の各々に対して指示するsEOBシフトテーブルと、固定化されたVLCテーブルを用いて符号化された前記ブロック内の1より大きい前記係数に関する前記大きさ情報を指示するパラメータと、を備え、前記大きさ情報を指示する前記パラメータは、前記ブロック内の1より大きい前記非ゼロ係数の数、および前記ブロック内の1より大きい前記非ゼロ係数の最大の大きさに基づく、請求項27に記載のデバイス。
  30. 前記VLCユニットは、異なる符号化条件に対してゼロラン、ブロック終了(EOB)シンボルおよびsEOBシンボルの蓄積されたカウントを含む符号化の統計データを収集し、前記蓄積されたカウントに基づいて前記VLCパラメータの一つまたはそれ以上を調整するように構成される、請求項27に記載のデバイス。
  31. 前記VLCユニットは、すべてより少ない符号化条件に対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集し、すべてより少ない符号化条件に対して前記一つまたはそれ以上のVLCパラメータを調整する、請求項30に記載のデバイス。
  32. 前記VLCユニットは、すべてより少ないゼロランに対してゼロランの前記蓄積されたカウントを収集する、請求項30に記載のデバイス。
  33. 前記符号化条件は符号化サイクルを含み、前記VLCユニットは、Cより小さい数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集し、C以上の数の符号化サイクルに対してゼロラン、EOBシンボルおよびsEOBシンボルの前記蓄積されたカウントを収集せず、Cは前記符号化サイクルの最大数より小さい請求項30に記載のデバイス。
  34. 前記VLCユニットは、長さがSより短いゼロランの各々に対し前記ゼロランの前記蓄積されたカウントを収集し、長さがS以上のゼロランに対し前記ゼロランの合計カウントを収集し、Sは前記ゼロランの最大長より短い請求項33に記載のデバイス。
  35. 前記VLCユニットは、前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示するEOBシフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新し、前記ブロック中の少なくとも一つの非ゼロ係数が1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、および特別ブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内のsEOBシンボルのインデックスを指示するsEOBシフトテーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新し、前記それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示するVLC符号ブック選択テーブルを、対応する符号化条件に対するゼロラン、EOBシンボル、およびsEOBシンボルの前記蓄積されたカウントに基づいて更新する、請求項30に記載のデバイス。
  36. 前記VLCユニットは、前記デジタル映像ブロック係数のブロックを備える前記スライス内の選択された間隔で前記蓄積されたカウントを正規化するように構成される、請求項30に記載のデバイス。
  37. 前記VLCユニットは、前記色差DCおよびACのブロックを符号化するために別々のブロック終了(EOB)シフトテーブル、特別ブロック終了(sEOB)シフトテーブル、およびVLC符号ブック選択テーブルを用いて、前記色差DCおよびACのブロックのVLC符号化を相互に別々にかつ輝度ブロックと別に行うように構成され、 前記EOBシフトテーブルの各々は、それぞれの符号化条件に対して、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づくsEOBシンボルを備えるシンボルセット内のEOBシンボルのインデックスを指示し、前記VLC符号ブック選択テーブルの各々は、それぞれの符号化条件に対して、前記シンボルセット中の前記シンボルのインデックスを符号化するために用いられるVLC符号ブックを指示し、前記sEOBシフトテーブルの各々は、前記非ゼロ係数の少なくとも一つが1より大きいときに、前記それぞれの符号化条件に対して、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを指示する、請求項25に記載のデバイス。
  38. 前記VLCユニットは、前記色差DCおよびACのブロックに対して収集された符号化の統計データに基づいて、前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを調整するように構成される、請求項37に記載のデバイス。
  39. 前記VLCユニットは、前記色差DCおよびACのブロックに対する前記EOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを前記輝度ブロックとは異なって初期化するように構成される、請求項37に記載のデバイス。
  40. 前記VLCユニットは、前記色差DCおよびACのブロックに対して、固定化されたEOBシフトテーブル、sEOBシフトテーブル、およびVLC符号ブック選択テーブルを用いるように構成される、請求項37に記載のデバイス。
  41. 前記VLCユニットは、前記デジタル映像ブロック係数を符号化するために、または前記デジタル映像ブロック係数を復号化するためにVLC符号化を行うように構成される、請求項22に記載のデバイス。
  42. 前記デジタル映像ブロック係数は、ファイン グラニュラリティ スケーラビリティ(FGS)エンハンスメントレイヤーおよび少なくとも一つのベースまたは前レイヤーを備えるスケーラブル映像符号化(SVC)スライスの前記エンハンスメントレイヤーにおけるブロック係数を表し、ブロック内の非ゼロのブロック係数の位置を符号化することは、有意係数の位置を符号化することを備え、前記エンハンスメントレイヤーにおける前記有意係数は、前記ベースまたは前レイヤーにおける対応する係数がゼロとなる係数である、請求項22に記載のデバイス。
  43. デジタル映像ブロック係数のブロックを備えるスライスの初めに可変長符号(VLC)パラメータを初期化する手段、
    前記VLCパラメータを用いて前記デジタル映像ブロック係数のVLC符号化を行う手段、前記VLCパラメータは、複数の異なる符号化条件のそれぞれに対して、前記それぞれの符号化条件の下ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別ブロック終了(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、指示するシフトテーブルを備え、VLC符号化を行うことは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化することを備え、
    前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集する手段、および
    前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整する手段
    を備える映像符号化デバイス。
  44. コンピュータ可読記録媒体であって、
    デジタル映像ブロック係数のブロックを備えるスライスの初めに可変長符号(VLC)パラメータを初期化すること、
    前記VLCパラメータを用いて前記デジタル映像ブロック係数のVLC符号化を行うこと、なお、前記VLCパラメータは、複数の異なる符号化条件のそれぞれに対して、前記それぞれの符号化条件の下ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別ブロック終了(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、指示するシフトテーブルを備え、VLC符号化を行うことは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化することを備え、
    前記デジタル映像ブロック係数の前記VLC符号化の間に符号化の統計データを収集すること、および
    前記収集された符号化の統計データに基づいて前記VLC符号化の間に前記VLCパラメータの一つまたはそれ以上を調整すること
    をプロセッサに行わせるための命令を備えるコンピュータ可読記録媒体。
  45. 可変長符号(VLC)パラメータを生成すること、
    デジタル映像ブロック係数のブロックを備えるスライスの初めに前記VLCパラメータを初期化すること、および
    前記VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うこと、を備える方法であって、
    前記VLCパラメータは、複数の異なる符号化条件のそれぞれに対して、前記それぞれの符号化条件の下ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、指示するsEOBシフトテーブルを備え、VLC符号化を行うことは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化することを備える、方法。
  46. 前記ブロック内の1より大きい前記係数の数および前記ブロック内の1より大きい前記係数の最大の大きさに基づいて、固定化されたVLCテーブルを用いて符号化された前記ブロック内の前記非ゼロ係数の大きさ情報を指示するパラメータを、前記VLCパラメータの一つとして生成することをさらに備える、請求項45に記載の方法。
  47. 前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むとき、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを前記それぞれの符号化条件に対して有する前記sEOBシフトテーブルを前記スライス中に含むことをさらに備える、請求項45に記載の方法。
  48. 可変長符号(VLC)パラメータを用いてデジタル映像ブロック係数のVLC符号化を行うように構成されたVLCユニットを備える映像符号化デバイスであって、前記VLCパラメータは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して指示するsEOBシフトテーブルを備え、前記VLCユニットは、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化するように構成される、映像符号化デバイス。
  49. 前記VLCユニットは、前記ブロック内の1より大きい前記係数の数および前記ブロック内の1より大きい前記係数の最大の大きさに基づいて、固定化されたVLCテーブルを用いて符号化された前記ブロック内の前記非ゼロ係数の大きさ情報を指示するパラメータを、前記VLCパラメータの一つとして生成する、請求項48に記載のデバイス。
  50. 前記VLC符号化ユニットは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、前記EOBシンボル、およびブロック終了の確率に基づく前記sEOBシンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、前記符号化条件の各々に対して指示する、前記sEOBシフトテーブルを前記スライス中に含む、請求項48に記載のデバイス。
  51. 可変長符号(VLC)パラメータを生成する手段、および
    前記VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うための手段を備えるデバイスであって、
    前記VLCパラメータは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内の前記sEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して指示するsEOBシフトテーブルを備え、VLC符号化を行うための前記手段は、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化する手段を備える、デバイス。
  52. 可変長符号(VLC)パラメータ生成すること、および
    前記VLCパラメータを用いてデジタル映像ブロック係数のVLC符号化を行うこと、をプロセッサに行わせる命令を備えるコンピュータ可読記録媒体であって、
    前記VLCパラメータは、前記ブロックが1より大きい一つまたはそれ以上の非ゼロ係数を含むときに、ゼロランシンボル、ブロック終了(EOB)シンボル、およびブロック終了の確率に基づく特別EOB(sEOB)シンボルを備えるシンボルセット内のsEOBシンボルのインデックスを、複数の異なる符号化条件の各々に対して指示するsEOBシフトテーブルを備え、前記命令は、ブロック内に1より大きい一つまたはそれ以上の係数が存在することを指示する前記特別ブロック終了(sEOB)シンボルを符号化することを行わせる、コンピュータ可読記録媒体。
JP2009519614A 2006-07-12 2007-07-08 適応可変長符号を用いた映像圧縮 Expired - Fee Related JP5080575B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US83049106P 2006-07-12 2006-07-12
US60/830,491 2006-07-12
US11/743,998 US8275045B2 (en) 2006-07-12 2007-05-03 Video compression using adaptive variable length codes
US11/743,998 2007-05-03
PCT/US2007/073003 WO2008008714A1 (en) 2006-07-12 2007-07-08 Video compression using adaptive variable length codes

Publications (2)

Publication Number Publication Date
JP2009544188A JP2009544188A (ja) 2009-12-10
JP5080575B2 true JP5080575B2 (ja) 2012-11-21

Family

ID=38705115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009519614A Expired - Fee Related JP5080575B2 (ja) 2006-07-12 2007-07-08 適応可変長符号を用いた映像圧縮

Country Status (9)

Country Link
US (1) US8275045B2 (ja)
EP (1) EP2044778A1 (ja)
JP (1) JP5080575B2 (ja)
KR (1) KR101003320B1 (ja)
CN (1) CN101491098B (ja)
CA (1) CA2657031C (ja)
RU (2) RU2407219C2 (ja)
TW (1) TWI376957B (ja)
WO (1) WO2008008714A1 (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602007008730D1 (de) * 2006-07-13 2010-10-07 Qualcomm Inc Videokodierung mit feinkörniger skalierbarkeit anhand von zyklisch ausgerichteten fragmenten
US20080013624A1 (en) * 2006-07-14 2008-01-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding video signal of fgs layer by reordering transform coefficients
KR100771879B1 (ko) * 2006-08-17 2007-11-01 삼성전자주식회사 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
US8171380B2 (en) * 2006-10-10 2012-05-01 Marvell World Trade Ltd. Adaptive systems and methods for storing and retrieving data to and from memory cells
US8942292B2 (en) 2006-10-13 2015-01-27 Qualcomm Incorporated Efficient significant coefficients coding in scalable video codecs
US8098735B2 (en) * 2006-12-21 2012-01-17 Lsi Corporation Efficient 8×8 CABAC residual block decode
US8798137B2 (en) * 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US9118944B2 (en) * 2009-02-05 2015-08-25 Cisco Technology, Inc. System and method for rate control in a network environment
WO2010091505A1 (en) * 2009-02-13 2010-08-19 Research In Motion Limited Modified entropy encoding for images and videos
US8934543B2 (en) * 2009-02-13 2015-01-13 Blackberry Limited Adaptive quantization with balanced pixel-domain distortion distribution in image processing
WO2010091504A1 (en) * 2009-02-13 2010-08-19 Research In Motion Limited In-loop deblocking for intra-coded images or frames
CN101646086B (zh) * 2009-08-21 2011-07-20 香港应用科技研究院有限公司 用于4×4块变换系数标示的前文参考模型化的方法及装置
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
HUE051391T2 (hu) * 2010-04-13 2021-03-01 Ge Video Compression Llc Szignifikancia térképek és transzformációs együttható blokkok kódolása
US8786625B2 (en) 2010-09-30 2014-07-22 Apple Inc. System and method for processing image data using an image signal processor having back-end processing logic
US9313514B2 (en) * 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
WO2012092661A1 (en) * 2011-01-04 2012-07-12 Research In Motion Limited Coding of residual data in predictive compression
WO2012092662A1 (en) 2011-01-04 2012-07-12 Research In Motion Limited Coding of residual data in predictive compression
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
CN103765899B (zh) 2011-06-15 2018-03-06 韩国电子通信研究院 用于编码和解码可伸缩视频的方法以及使用其的设备
EP2728864B1 (en) * 2011-06-28 2017-12-27 Nec Corporation Method for coding video quantization parameter and method for decoding video quantization parameter
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
US9516316B2 (en) * 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
BR112014001026B1 (pt) 2011-07-15 2022-05-03 Ge Video Compression, Llc Codificação de matriz de amostra de baixo atrasdo
CN103650510B (zh) * 2011-07-15 2018-05-22 谷歌技术控股有限责任公司 用于变换系数级编码的上下文建模技术
US8792550B2 (en) * 2011-08-04 2014-07-29 Qualcomm Incorporated Color/gray patch prevention for video coding
US9338458B2 (en) * 2011-08-24 2016-05-10 Mediatek Inc. Video decoding apparatus and method for selectively bypassing processing of residual values and/or buffering of processed residual values
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
LT3166317T (lt) 2011-10-31 2018-09-10 Samsung Electronics Co., Ltd. Transformacijos koeficiento lygmens entropinio kodavimo ir dekodavimo konteksto modelio nustatymo būdas ir aparatas
US8615138B2 (en) * 2011-11-03 2013-12-24 Google Inc. Image compression using sub-resolution images
US9154792B2 (en) * 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
US9357185B2 (en) * 2011-11-08 2016-05-31 Qualcomm Incorporated Context optimization for last significant coefficient position coding
CN103931197B (zh) 2011-11-08 2018-01-23 谷歌技术控股有限责任公司 确定用于变换系数的二进制码字的方法
KR101672107B1 (ko) 2011-11-08 2016-11-02 구글 테크놀로지 홀딩스 엘엘씨 변환 계수들에 대한 이진 코드워드들을 결정하는 방법
US9247257B1 (en) * 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9635358B2 (en) 2012-01-21 2017-04-25 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
EP2805497A1 (en) 2012-01-21 2014-11-26 Motorola Mobility LLC Method of determining binary codewords for transform coefficients
US9479780B2 (en) 2012-02-01 2016-10-25 Google Technology Holdings LLC Simplification of significance map coding
WO2013116849A1 (en) 2012-02-04 2013-08-08 General Instrument Corporation Devices and methods for context reduction in last significant coefficient position coding
US9167245B2 (en) 2012-02-05 2015-10-20 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
US9596463B2 (en) * 2012-02-22 2017-03-14 Qualcomm Incorporated Coding of loop filter parameters using a codebook in video coding
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US9716892B2 (en) * 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US8891888B2 (en) 2012-09-05 2014-11-18 Google Inc. Entropy coding for recompression of images
MX340434B (es) 2012-09-10 2016-07-08 Panasonic Ip Corp America Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
US10009606B2 (en) * 2012-10-11 2018-06-26 Nvidia Corporation Low power context adaptive binary arithmetic decoder engine
WO2014092597A1 (en) * 2012-12-14 2014-06-19 Intel Corporation Protecting against packet loss during transmission of video information
US10021414B2 (en) 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
CN104885467B (zh) 2013-01-30 2018-08-17 英特尔公司 用于下一代视频编码的内容自适应参数变换
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
CN104375946B (zh) * 2013-08-16 2018-04-20 华为技术有限公司 一种数据处理的方法及装置
US10264261B2 (en) * 2013-08-27 2019-04-16 Integrated Device Technology, Inc. Entropy encoding initialization for a block dependent upon an unencoded block
US9154782B2 (en) 2013-09-16 2015-10-06 Magnum Semiconductor, Inc. Apparatuses and methods for adjusting coefficients using dead zones
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
JP6233121B2 (ja) * 2014-03-17 2017-11-22 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US9781424B2 (en) 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
US9674062B1 (en) * 2015-12-17 2017-06-06 International Business Machines Corporation Memory array to generate a data eye diagram
KR101939882B1 (ko) 2016-10-28 2019-01-17 경희대학교 산학협력단 가시광 무선통신에서 가변 코드와 시분할 기법을 이용하여 멀티미디어 데이터를 전송하는 장치 및 방법
US10873765B2 (en) * 2018-03-29 2020-12-22 Apple Inc. Techniques for high efficiency entropy coding of video data
US10873747B2 (en) 2018-11-18 2020-12-22 Sony Corporation Residual mapping method for image/video compression
US20230035118A1 (en) * 2021-07-23 2023-02-02 Tencent America LLC Cross component end of block flag coding
US20230079859A1 (en) * 2021-09-13 2023-03-16 Apple Inc. Systems and methods for streaming extensions for video encoding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2715434B2 (ja) * 1988-03-30 1998-02-18 松下電器産業株式会社 水素吸蔵合金電極
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
DE69735307T2 (de) 1996-12-12 2006-11-02 Sony Corp. Vorrichtung und verfahren zur kodierung von bilddaten sowie verfahren zur bilddatenübertragung
JP3189876B2 (ja) 1997-06-09 2001-07-16 日本電気株式会社 可変長符号復号化回路
JP2000059234A (ja) 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
KR100316067B1 (ko) 1999-03-15 2001-12-12 서동석 멀티 탭의 제어회로
WO2002045420A1 (en) 2000-11-29 2002-06-06 Sony Corporation Stream processor
JP2002290243A (ja) 2001-03-28 2002-10-04 Mitsubishi Electric Corp 符号化方法、符号化装置、復号方法、及び復号装置
JP4510465B2 (ja) 2002-01-22 2010-07-21 ノキア コーポレイション イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
US6690307B2 (en) 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
JP2006100993A (ja) 2004-09-28 2006-04-13 Mitsubishi Electric Corp 画像符号化装置及び符号化パラメータ算出プログラム
WO2006060037A1 (en) 2004-12-02 2006-06-08 Thomson Licensing Quantizer parameter determination for video encoder rate control
JP4495034B2 (ja) 2005-06-01 2010-06-30 パナソニック株式会社 可変長符号化方式および可変長符号化装置

Also Published As

Publication number Publication date
US8275045B2 (en) 2012-09-25
EP2044778A1 (en) 2009-04-08
CN101491098B (zh) 2013-04-24
CA2657031C (en) 2013-04-23
CA2657031A1 (en) 2008-01-17
RU2009104691A (ru) 2010-08-20
RU2407219C2 (ru) 2010-12-20
WO2008008714A1 (en) 2008-01-17
TW200818923A (en) 2008-04-16
JP2009544188A (ja) 2009-12-10
US20080013633A1 (en) 2008-01-17
KR20090037943A (ko) 2009-04-16
TWI376957B (en) 2012-11-11
RU2010133859A (ru) 2012-02-20
CN101491098A (zh) 2009-07-22
KR101003320B1 (ko) 2010-12-22

Similar Documents

Publication Publication Date Title
JP5080575B2 (ja) 適応可変長符号を用いた映像圧縮
JP5307017B2 (ja) リファインメント係数符号化のためのビデオブロックに基づいた可変長符号化テーブル選択
KR101067308B1 (ko) 정제 계수 코딩을 위한 블록 형식 통계치에 기초한 가변 길이 코딩 테이블 선택
CA2677973C (en) Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
RU2452128C2 (ru) Адаптивное кодирование информации заголовка видеоблока
US8401082B2 (en) Methods and systems for refinement coefficient coding in video compression
CA2666055C (en) Refinement coefficient coding based on history of corresponding transform coefficient values
KR20090018030A (ko) 비디오 압축에서 유효 계수 코딩을 위한 방법 및 시스템
RU2409003C1 (ru) Выбор таблицы кодирования с переменной длиной на основании типа видеоблока для совершенствования кодирования коэффициентов

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120510

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120530

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120731

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees