JP5248619B2 - スケーラブルビデオ符号化のための改良された拡張レイヤ符号化 - Google Patents

スケーラブルビデオ符号化のための改良された拡張レイヤ符号化 Download PDF

Info

Publication number
JP5248619B2
JP5248619B2 JP2010530087A JP2010530087A JP5248619B2 JP 5248619 B2 JP5248619 B2 JP 5248619B2 JP 2010530087 A JP2010530087 A JP 2010530087A JP 2010530087 A JP2010530087 A JP 2010530087A JP 5248619 B2 JP5248619 B2 JP 5248619B2
Authority
JP
Japan
Prior art keywords
video block
encoding
coefficient
video
quality
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
JP2010530087A
Other languages
English (en)
Other versions
JP2011501572A (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
Priority claimed from US12/250,784 external-priority patent/US8848787B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2011501572A publication Critical patent/JP2011501572A/ja
Application granted granted Critical
Publication of JP5248619B2 publication Critical patent/JP5248619B2/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
    • 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
    • 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/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

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

本出願は、2007年10月15に出願された米国仮出願第60/979,919号、および2007年10月16に出願された米国仮出願第60/940,214号の利益を主張する。これらの出願のそれぞれの内容は、参照により本明細書に組み込まれている。
本開示は、ディジタルビデオ符号化に関し、より詳細にはビデオデータのスケーラブルビデオ符号化に関する。
ディジタルビデオ機能は、ディジタルテレビ、ディジタルダイレクトブロードキャストシステム、無線通信デバイス、無線ブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、ディジタルカメラ、ディジタル録音デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラ無線電話または衛星無線電話などを含めて、幅広いデバイスに組み込まれ得る。ディジタルビデオデバイスは、ディジタルビデオをより効率的に送受信するために、MPEG(Motion Pictures Expert Group)−2、MPEG−4、または国際電気通信連合 電気通信標準化部門(International Telecommunication Union Standardization Sector)(ITU−T)H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)(以下、「H.264/MPEG−4 パート10 AVC」標準)などのビデオ圧縮技術を実装する。ビデオ圧縮技術は、ビデオシーケンスの固有の冗長性を削減または除去するために、空間的予測および時間的予測を行う。
ビデオ符号化において、ビデオ圧縮は一般に予測ビデオブロックを生成するための空間的予測、および/または動き推定および動き補償を含む。イントラ符号化は、所定の符号化ユニット内のビデオブロック、例えばフレームもしくはスライスの間の空間的冗長性を削減または除去するために、空間的予測に依存する。すなわち、ビデオエンコーダは同じ符号化ユニット内の他のデータに基づいてデータを圧縮するために、空間的予測を行う。一方、インター符号化はビデオシーケンスの連続するビデオフレームのビデオブロック間の時間的冗長性を削減または除去するために、時間的予測に依存する。従って、インター符号化では、ビデオエンコーダは2個以上の隣接する符号化ユニットの一致するビデオブロックの動きを追跡するために、動き推定および動き補償を行う。
空間的予測または時間的予測の後で、符号化されている原ビデオブロックから予測ビデオブロックを減じることによって、残差係数のブロック(残差ブロックまたは残差情報と呼ばれる)が生成される。この残差ブロックは、予測ビデオブロックと原ブロックとの間の差を量子化した係数値の二次元行列であり得る。ビデオエンコーダは、残差ブロックの通信に関連するビットレートをさらに削減するために、残差ブロックに対して変換プロセス、量子化プロセス、およびエントロピー符号化プロセスを適用することが可能である。これらの変換技術は、離散コサイン変換(DCT)、ウェーブレット変換、整数変換、またはその他のタイプの変換を備え得る。
DCT変換の場合、例えば変換プロセスは画素領域係数(pixel-domain coefficients)のセットを画素領域係数のエネルギーを周波数領域または変換領域の形で表す変換係数に変換する。量子化変換係数を生成するために、変換係数に量子化が適用される。量子化は、一般に任意の所定の係数に関連するビットの数を制限する。ビデオエンコーダは、量子化変換係数をさらに圧縮するために、量子化変換係数をエントロピー符号化する。ビデオエンコーダは、可変長符号化(VLC)、算術演算符号化、固定長符号化、またはそれらの組合せを用いて、これらの係数をエントロピー符号化することが可能である。ビデオデコーダは、ビデオシーケンスを再構成するために逆演算を行うことが可能である。
MPEG−2など、いくつかのビデオ符号化標準は比較的一定の品質、ビットレート、または空間分解能でビデオを符号化する。そのような技術は、類似のデコーダ能力(例えば、メモリリソース、もしくは処理リソース)および/または接続品質を有するデバイスにビデオアプリケーションを提供するのに十分な場合がある。しかし、より最新のビデオ伝送システムは、一般に様々なデコーダ能力および/または接続品質を有するデバイスを含む。そのようなシステムでは、比較的一定の品質、ビットレート、または空間分解能で符号化されたビデオを送信することは、ビデオアプリケーションが適切なデコーダ能力および/または接続品質を有するデバイスに関して作用し、適切なデコーダ能力および/または接続品質を有さないデバイスに関して作用しない結果をもたらす。無線の関連で、例えばビデオ伝送のソースの近くに配置されたデバイスは、ソースから離れて配置されたデバイスよりも高い品質の接続を有することが可能である。従って、ソースから離れて配置されたデバイスは、一定の品質、ビットレート、または空間分解能で送信された、符号化されたビデオを受信することができない可能性がある。
その他のビデオ符号化標準は、これらの課題を克服するためにスケーラブル符号化技術を利用する。例えば、ITU−T H.264/MPEG−4、パート10、AVCの拡張によれば、スケーラブルビデオ符号化(SVC)は、ビデオシーケンスが基本レイヤ(base layer)および1つまたは複数のスケーラブル拡張レイヤ(enhancement layer)として符号化されるビデオ符号化を指す。SVCの場合、基本レイヤは一般に基本的な空間レベル、時間レベルおよび/または品質レベルで ビデオデータを運ぶ。1つまたは複数の拡張レイヤは、より高い空間レベル、時間レベルおよび/または品質レベルをサポートするために、追加のビデオデータを運ぶ。拡張レイヤは、例えばフレームレート全体を高めるために空間分解能を基本レイヤのフレームに追加することが可能であるか、または追加のフレームを加えることが可能である。場合によっては、基本レイヤは拡張レイヤの伝送よりも確実な形で送信され得る。従って、符号化されたビデオのソースから離れて配置されたデバイス、またはより低いデコーダ能力を有するデバイスは、最低の空間レベル、時間レベルおよび/または品質レベルであっても、基本レイヤ、従ってビデオシーケンスを受信することが可能であり得る。
本開示は、単一の符号化パス内で拡張レイヤビットストリームのエントロピー符号化を可能にするスケーラブルビデオ符号化技術を説明する。通常、拡張レイヤビットストリームは、複数の符号化パスを用いて符号化される。拡張レイヤのそれぞれのビデオブロックに関して、例えば第1の符号化パスは、ブロックをエントロピー符号化するための符号化テーブル(すなわち、コードブック)を選択する際に使用するためのブロックに関する統計を収集することが可能であり、第2の符号化パスは、選択された符号化テーブルを用いてブロックをエントロピー符号化することが可能である。しかし、本開示における技術によれば、拡張レイヤビットストリームのビデオブロックは、ビデオ符号化テーブルの選択において使用するための統計を収集するための第1の符号化パスを実行することなくエントロピー符号化される。
代わりに、拡張レイヤは、単一の符号化パス内において係数単位ベースで拡張レイヤの係数を符号化する符号化技術を用いて符号化される。一例では、ビデオエンコーダは拡張レイヤビデオブロックの非ゼロ係数のそれぞれに関して、エンドオブブロック(EOB)シンボルと、ランレングスと、符号(sign)とを符号化する。ビデオエンコーダは、拡張レイヤのビデオブロックを符号化するために単一の符号化テーブルのみを使用することが可能であり、それにより符号化テーブルを選択する際に使用されることになる統計を収集するための第1の符号化パスを実行する必要を除去する。
加えて、ビデオエンコーダは拡張レイヤ内の非ゼロ係数の大きさを符号化しなくてもよい。このように、拡張レイヤのすべての非ゼロ係数の大きさは1の大きさに制限され得る。拡張レイヤの係数の大きさを符号化しないことは、結果としてピーク信号対雑音比(PSNR)に何らかの損失をもたらす可能性があるが、拡張レイヤを符号化するために使用されるビットの数を削減する。本開示の技術は、いくつかの利点を提供し得る。例えば、これらの技術は符号化効率を維持しながら、拡張レイヤビットストリームの符号化について符号化の複雑さ、符号化遅延、およびメモリ要件を減じることが可能である。
一態様では、スケーラブルビデオ符号化を用いてビデオデータを符号化する方法は、ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化することを備える。本方法は、第1の品質で符号化されたビデオブロックと組み合わされたとき、結果として第1の品質よりも高い第2の品質を有するビデオブロックをもたらすビデオブロックの改良版(refinements)を少なくとも1つの拡張レイヤビットストリームの一部として符号化することも含む。本方法は、ビデオブロックの改良版が単一の符号化パス内で符号化されることも含む。
もう1つの態様では、スケーラブルビデオ符号化を用いてビデオデータを符号化するためのデバイスは、ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化し、第1の品質で符号化されたビデオブロックと組み合わされたとき、結果として第1の品質よりも高い第2の品質を有するビデオブロックをもたらすビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化する、少なくとも1個のエンコーダを備える。ビデオブロックの改良版は、単一の符号化パス内で符号化される。
もう1つの態様では、コンピュータ可読媒体は1つまたは複数のプロセッサに、ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化させて、第1の品質で符号化されたビデオブロックと組み合わされたとき、結果として第1の品質よりも高い第2の品質を有するビデオブロックをもたらすビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化させるための命令を備える。ビデオブロックの改良版は、単一の符号化パス内で符号化される。
もう1つの態様では、スケーラブルビデオ符号化を用いてビデオデータを符号化するためのデバイスは、ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化する第1の手段と、第1の品質で符号化されたビデオブロックと組み合わされたとき、結果として第1の品質よりも高い第2の品質を有するビデオブロックをもたらすビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化する第2の手段とを備える。ビデオブロックの改良版は、単一の符号化パス内で符号化される。
もう1つの態様では、スケーラブルビデオ符号化を用いてビデオデータを復号する方法は、ビデオブロックを第1の品質で取得するために、基本レイヤビットストリームを復号することと、第1の品質で復号されたビデオブロックと組み合わされたとき、結果として第2の品質を有するビデオブロックをもたらすビデオブロックの改良版を取得するために拡張レイヤビットストリームを復号することとを備える。拡張レイヤを復号することは、ビデオブロックの改良版のそれぞれの非ゼロ係数に関して、少なくとも1つの残りの非ゼロ係数が存在することを示すシンボルと、非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、非ゼロ係数の符号(sign)とを復号することを含む。
もう1つの態様では、スケーラブルビデオ符号化を用いてビデオデータを復号するためのデバイスは、ビデオブロックを第1の品質で取得するために、基本レイヤビットストリームを復号して、第1の品質で復号されたビデオブロックと組み合わされたとき、結果として第2の品質を有するビデオブロックをもたらすビデオブロックの改良版を取得するために拡張レイヤビットストリームを復号する、少なくとも1個のデコーダを備える。この少なくとも1個のデコーダは、ビデオブロックの改良版のそれぞれの非ゼロ係数に関して、少なくとも1つの残りの非ゼロ係数が存在することを示すシンボルと、非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、非ゼロ係数の符号とを復号する。
もう1つの態様では、コンピュータ可読媒体は、1つまたは複数のプロセッサに、ビデオブロックを第1の品質で取得するために基本レイヤビットストリームを復号させて、第1の品質で復号されたビデオブロックと組み合わされたとき、結果として第2の品質を有するビデオブロックをもたらすビデオブロックの改良版を取得するために、拡張レイヤビットストリームを復号させるための命令を備える。これらの命令は、1つまたは複数のプロセッサに、ビデオブロックの改良版のそれぞれの非ゼロ係数に関して少なくとも1つの残りの非ゼロ係数が存在することを示すシンボルと、非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、非ゼロ係数の符号とを復号させる。
もう1つの態様では、スケーラブルビデオ符号化を用いてビデオデータを復号するためのデバイスは、ビデオブロックを第1の品質で取得するために、基本レイヤビットストリームを復号するための第1の手段と、第1の品質で復号されたビデオブロックと組み合わされたとき、結果として第2の品質を有するビデオブロックをもたらすビデオブロックの改良版を取得するために、拡張レイヤビットストリームを復号するための第2の手段とを備える。第2の復号手段は、ビデオブロックの改良版のそれぞれの非ゼロ係数に関して、少なくとも1つの残りの非ゼロ係数が存在することを示すシンボルと、非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、非ゼロ係数の符号とを復号する。
本開示において説明される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形で実装され得る。ソフトウェアの形で実装される場合、ソフトウェアはマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、もしくはディジタル信号プロセッサ(DSP)、またはその他の均等の統合論理回路、あるいはディスクリート論理回路など、1つもしくは複数のプロセッサと呼ばれる場合があるプロセッサ内で実行され得る。これらの技術を実行するための命令を備えるソフトウェアは、当初、コンピュータ可読媒体内に格納され、プロセッサによってロードされ、実行され得る。
従って、本開示はプロセッサに本開示において説明される様々な技術のいずれかを実行させる命令を備えたコンピュータ可読媒体も企図する。場合によっては、コンピュータ可読媒体は製造会社に販売されかつ/またはデバイス内で使用され得るコンピュータプログラム製品の一部を形成し得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことが可能であり、場合によっては、実装材料を含むことも可能である。
本開示の1つまたは複数の態様の詳細は、添付の図面および下の説明において記載される。本開示で説明する技術のその他の特徴、対象および利点は、説明および図面ならびに特許請求の範囲から明らかになるであろう。
ビデオスケーラビリティをサポートするビデオ伝送システムを例示するブロック図。 図1の符号化システムのソースデバイスおよび宛先デバイスをさらに詳細に例示するブロック図。 例示的な基本レイヤエンコーダおよび拡張レイヤエンコーダをさらに詳細に示すブロック図。 例示的な基本レイヤエントロピーエンコーダおよび拡張レイヤエントロピーエンコーダをさらに詳細に示すブロック図。 基本レイヤデコーダおよび拡張レイヤデコーダの例をさらに詳細に示すブロック図。 例示的な基本レイヤエントロピーデコーダおよび拡張レイヤエントロピーデコーダをさらに詳細に示すブロック図。 4×4係数ブロックのジグザグ走査を例示する概念図。 拡張レイヤビデオブロックの係数のブロックの仮説例を示す概念図。 本開示のスケーラブルビデオ符号化技術を実行しているビデオエンコーダの例示的な動作を示す流れ図。 本開示の一態様による、拡張レイヤビデオブロックの残差係数を符号化している拡張レイヤエンコーダの例示的な動作を示す流れ図。 残差変換係数ベクトルを取得するために拡張レイヤビットストリームを復号している拡張レイヤデコーダの例示的な動作を示す流れ図。 本開示によるスケーラブルビデオ符号化において使用するためのエンコーダおよび/またはデコーダの異なる構成を例示するブロック図。 本開示によるスケーラブルビデオ符号化において使用するためのエンコーダおよび/またはデコーダの異なる構成を例示するブロック図。 本開示によるスケーラブルビデオ符号化において使用するためのエンコーダおよび/またはデコーダの異なる構成を例示するブロック図。 本開示によるスケーラブルビデオ符号化において使用するためのエンコーダおよび/またはデコーダの異なる構成を例示するブロック図。
図1は、ビデオスケーラビリティをサポートするビデオ伝送システム10を例示するブロック図である。図1の例では、ビデオ伝送システム10はソースデバイス12と、複数の宛先デバイス14A、14B(まとめて「宛先デバイス14」と呼ぶ)とを含む。ソースデバイス12は、1つまたは複数のソースからディジタルビデオコンテンツを取得し、宛先デバイス14への伝送のために当該ビデオコンテンツを符号化する。このビデオコンテンツについては、例えば、リアルタイムで、またはニアリアルタイムでキャプチャすること、アーカイブすること(例えば、事前にキャプチャすること)、コンピュータにより生成すること、またはそれらの組合せが可能である。それぞれの場合、ビデオコンテンツは通信チャネルを経由して宛先デバイス14に送信するために、ソースデバイス12によって符号化され得る。ソースデバイス12は、通信チャネルを経由して符号化されたビデオを配信する目的で、1つもしくは複数のアンテナを駆動させるための適切な無線周波数(RF)変調、フィルタリング、および増幅器の構成要素を有する送信機を含むか、または当該送信機に結合され得る。
スケーラブルビデオをサポートするために、ソースデバイス12は基本レイヤビットストリーム(すなわち、基本レイヤ)および1つまたは複数のスケーラブル拡張レイヤビットストリーム(すなわち、拡張レイヤ)として、ソースビデオを符号化する。基本レイヤビットストリームは、一般に基本的な品質レベルを有するビデオデータを運ぶ。1つまたは複数の拡張レイヤは、さらに高い品質レベルをサポートするために、ここで改良版と呼ばれる追加のビデオデータを運ぶ。拡張レイヤにおいて符号化された改良版は、例えば追加のさらに高い周波数係数を提供することによって、または既存の係数をさらに改良することによって、忠実度(例えば、視覚的な品質)を段階的に高めることが可能である。場合によっては、基本レイヤは拡張レイヤの伝送よりも確実な形で、例えばより低いパケット誤り率(PER)で送信され得る。
図1に示す例では、説明を簡単にするために1つのチャネルの基本レイヤおよび単一の拡張レイヤが示される。しかし、ソースデバイス12はチャネルの追加のビデオデータを運んでいる2つ以上の拡張レイヤを符号化することが可能である。場合によっては、ソースデバイス12は宛先デバイス14に関連するユーザによる選択のために異なるチャネルをサポートする目的で、別々のビットストリーム内でソースビデオを符号化することが可能である。これらのチャネルは、宛先デバイス14が任意の時点での鑑賞のために異なるチャネルを選択することができるように、一般に同時に送信される。従って、宛先デバイス14はユーザ制御の下でテレビ鑑賞経験のようにスポーツを鑑賞するために1つのチャネルを選択し、ニュースまたはいくつかのその他のスケジュールされたプログラミングイベントを鑑賞するためにもう1つのチャネルを選択することが可能である。一般に、それぞれのチャネルは基本レイヤおよび1つまたは複数の拡張レイヤとして符号化され得る。
さらに、本開示の技術は例示のために、品質スケーラビリティ(信号対雑音比(SNR)スケーラビリティとも呼ばれる)という状況に関して説明される。しかし、これらの技術は空間スケーラビリティに拡張され得る。空間スケーラビリティアプリケーションでは、基本レイヤは基本的な空間分解能でビデオデータを運び、拡張レイヤはさらに高い空間分解能をサポートするために、追加のビデオデータを運ぶ。場合によっては、システム10はSNR、空間スケーラビリティ、および/または時間スケーラビリティを組み合わせるビデオスケーラビリティを利用することが可能である。
ソースデバイス12は、例えばITU−T H.264/MPEG−4、パート10、AVC標準のSVC拡張に従って、基本レイヤとしてソースビデオを符号化すること、および本開示で説明する技術に従って拡張レイヤとしてソースビデオを符号化することが可能である。従って、本開示で説明するこれらの技術は、いくつかの態様においてその他の点ではH.264標準に準拠するデバイス向けのビデオスケーラビリティ拡張を実装するために適用され得る。実際に、本開示のこれらの技術はH.264標準、またはその他の標準の将来のバージョンもしくは将来の拡張に関する潜在的な修正を表す可能性がある。しかし、これらの技術はMPEG−1およびMPEG−2、ITU−T H.263標準、米国映画テレビ技術者協会(SMPTE)412Mビデオコーデック標準(一般に、「VC−1」と呼ばれる)、中国オーディオビデオ符号化標準作業部会によって定義された標準(一般に、「AVS」と呼ばれる)、ならびに、標準団体によって定義された、または独自仕様標準として、団体によって構築された任意のその他のビデオ符号化標準など、様々なその他のビデオ圧縮標準のいずれかと共に使用され得る。
宛先デバイス14は、符号化されたビデオの有線受信および/または無線受信をサポートすることが可能である。宛先デバイス14は、無線通信デバイス、例えばセルラ無線電話または衛星無線電話、無線ブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、ディジタルカメラ、ディジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、ディジタルテレビ、ディジタルダイレクトブロードキャストシステムなど、ディジタルビデオデータを受信および復号することが可能な任意のデバイスを備えることが可能である。図1の例では、2個の宛先デバイス14A、14Bが示される。しかし、システム10は任意の数の宛先デバイス14を含むこが可能である。宛先デバイス14は、上で説明された様々なビデオ圧縮標準のいずれかに従って動作することも可能である。
図1は、符号化されたビデオを送信するソースデバイス12に対する宛先デバイス14のポジショニングを表す。特に、宛先デバイス14Aは送信源、すなわち図1のソースデバイス12にさらに近接し、宛先デバイス14Bは送信源からさらに離れている。 基本レイヤがより低いPERで符号化される場合、宛先デバイス14Aおよび14Bは両方とも基本レイヤを確実に受信して復号することが可能である。ソースデバイス12にさらに近く位置する宛先デバイス14Aは、拡張レイヤを確実に受信することも可能である。しかし、ソースデバイス12からさらに離れて位置する宛先デバイス14Bは、例えばネットワーク状態またはチャネル状態により、拡張レイヤを確実に受信しない場合がある。
従って、基本レイヤデータおよび拡張レイヤデータの両方が利用可能であるため、さらに近接する宛先デバイス14Aはさらに高い品質のビデオが可能であり、一方、宛先デバイス14Bは、基本レイヤデータによって提供された最低品質レベルのみを表すことが可能である。従って、宛先デバイス14によって取得されたビデオは、拡張レイヤの追加のビットが復号され、復号されたビデオの信号対雑音比(SNR)を高める目的で基本レイヤビットストリームに追加され得るという意味において、スケーラブルである。しかし、スケーラビリティは拡張レイヤデータが存在するときのみ可能である。従って、「品質」という用語は、本開示で使用される場合、客観的な視覚品質および/または主観的な視覚品質を指す場合がある。すなわち、拡張レイヤの改良版は、結果として原データのさらに高い品質の複製であるビデオデータをもたらす。このようにビデオの忠実度は、拡張レイヤによって増大され得る。
その他の場合、ネットワーク状態またはチャネル状態は、宛先デバイス14Aおよび14Bの両方が基本レイヤならびに拡張レイヤを受信するのに十分であり得る。しかし、宛先デバイス14Aおよび14Bは、宛先デバイス14Aおよび14Bのうちの1つがさらに高い品質のビデオを作成するために拡張レイヤの追加のビデオデータを使用することを妨げる、異なるデコーダ能力を有する可能性がある。宛先デバイス14のうちの1つが例えば、移動体ハンドセットまたはその他の小型のポータブルデバイスなどのクライアントデバイスである場合、演算上の複雑さおよびメモリ要件による制限が存在する可能性がある。従って、スケーラブルビデオ符号化は、制限された演算リソースまたはメモリリソースを有する宛先デバイス14が基本レイヤのみを復号することが可能なように指定され得る。このように、より良好なネットワーク状態もしくはチャネル状態、および/またはさらに高いデコーダ能力を有する宛先デバイス14は、拡張レイヤの追加のビデオデータを用いて、さらに高いビデオ品質を有するビデオを再構成することが可能になる。
本開示で説明する技術は、拡張レイヤビットストリームの効率的な符号化を促すエントロピー符号化技術を利用する。本開示のエントロピー符号化技術は、例えば単一の符号化パス内の拡張レイヤビットストリーム内の改良版の形をとる、追加のビデオデータのコーディングを可能にし、それにより、コーディングの複雑さ、符号化遅延、およびメモリ要件を削減する。さらに詳細に説明するように、ソースデバイス12は場合によっては任意の後続の係数、すなわち符号化されている現在の非ゼロ係数の後続の任意の係数の知識なしに、拡張レイヤの係数ベクトルのそれぞれの非ゼロ係数を符号化することが可能である。単一のパス内で拡張レイヤを符号化することは、係数ベクトルを解析するための第1のパスおよびその解析に基づいて、係数ベクトルを符号化するための第2のパスを実行する必要を除去することが可能である。
例えば、いくつかの通常のエントロピーエンコーダは、シンボルのうちの少なくともいくつかが2つ以上の非ゼロ係数を表す状態で、係数ベクトルを表すためのシンボルを生成するために第1の符号化パスを実行することが可能である。すなわち、係数ベクトルの非ゼロ係数を符号化するために、後続の係数の知識が必要とされる。さらに、または別法として、いくつかの通常のエントロピーエンコーダは第1の符号化パスまたは後続の符号化パスの間に、シンボルを符号化する際に使用するためのVLCテーブルを選択することも可能である。一態様では、VLCテーブルは生成されたシンボルに基づいて選択され得る。あるいは、第1の符号化パスの間に係数ベクトルを解析することによって、統計が収集されることが可能であり、VLCテーブルはこれらの収集された統計に基づいて選択され得る。
次いで、第1の符号化パスの間に実行された解析に基づいて、係数ベクトルをエントロピー符号化するために、通常のエントロピーエンコーダによって第2の符号化パスが実行される。一例として、いくつかの通常のエントロピーエンコーダは、第2の符号化パスの間に、生成されたシンボルまたはその他の統計に基づいて選択されたVLCテーブルを用いて、第1のパスの間に生成されたシンボルを符号化することが可能である。2つ以上の非ゼロ係数を表すシンボルを生成すること、および/またはそれらの生成されたシンボルもしくはその他の統計に基づいてVLCテーブルを選択することは、係数ベクトルのより効率的な符号化を可能にし得る。
本開示の技術を行うことは、拡張レイヤを符号化するための2つ以上の符号化パスの必要をなくするだけでなく、本開示のエントロピー符号化技術はさらに結果として基本レイヤのビデオデータの係数情報を格納することと、当該情報にアクセスこととを伴わずに拡張レイヤを符号化し、さらに演算上の複雑さおよびメモリ要件を削減する。
ソースデバイス12、宛先デバイス14、もしくはそれらの両方は、上で説明されたように無線通信デバイスであってよく、または有線通信デバイスであってもよい。また、ソースデバイス12、宛先デバイス14、またはそれらの両方は、無線通信デバイス内または有線通信デバイス内、あるいはディジタルメディアプレーヤ、携帯情報端末(PDA)、ディジタルテレビなど、ディジタルビデオアプリケーションをサポートしているその他のタイプのデバイス内に組み込まれることが可能な、集積回路チップ、またはチップセットなど、集積回路デバイスとして実装され得る。
図2は、符号化システム10のソースデバイス12および宛先デバイス14をより詳細に例示するブロック図である。宛先デバイス14は、例えば図1の宛先デバイス14Aまたは14Bのどちらかであり得る。図2に示すように、ソースデバイス12はビデオソース18とビデオエンコーダ20と送信機22とを含み得る。ソースデバイス12のビデオソース18は、ビデオカメラ、これまでキャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオ供給など、ビデオキャプチャデバイスを含み得る。別の代替案として、ビデオソース18はソースビデオなどのコンピュータグラフィックベースのデータ、またはライブビデオとコンピュータにより生成されたビデオの組合せを生成することが可能である。場合によっては、ソースデバイス12はビデオソース18がビデオカメラであり得る、いわゆるカメラ電話またはビデオ電話であり得る。それぞれの場合、キャプチャされたビデオ、事前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、送信機22および通信チャネル16を経由してソースデバイス12から宛先デバイス14に送信するために、ビデオエンコーダ20によって符号化され得る。
ビデオエンコーダ20は、ビデオソース18からビデオデータを受信し、基本レイヤビットストリームおよび1つまたは複数の拡張レイヤビットストリームとしてビデオデータを符号化する。図2に示された例では、ビデオエンコーダ20は基本レイヤエンコーダ30と拡張レイヤエンコーダ32とを含む。基本レイヤエンコーダ30および拡張レイヤエンコーダ32は、ビデオソース18から共通のビデオデータを受信する。基本レイヤエンコーダ30は、第1の品質レベルでビデオの基本レイヤビットストリームを生成するために、第1のビットレートでビデオデータを符号化する。拡張レイヤエンコーダ32は、基本レイヤのビットレベルに追加されたとき、ビデオを第2のさらに高い品質レベルに拡張する1つまたは複数の拡張レイヤを生成するために追加のビットを符号化する。すなわち、拡張レイヤは基本レイヤに追加されるとき、さらに高い品質レベルを提供する第2のさらに高いビットレートを提供する。従って、拡張レイヤは基本レイヤにおいて符号化されたビデオデータの改良版を符号化すると見なされ得る。これらの改良版は、例えば既存の係数に対する追加の係数および/または改良版であり得る。拡張レイヤにおいて符号化された改良版は、ビデオデータが復号されるにつれて拡張レイヤ内の改良版がビデオデータの品質を段階的に高めるという意味で階層的であり得る。従って、すべての拡張レイヤの改良版の復号は、例えば結果として最高のビットレートと最高の品質とをもたらすことになり、一方、第1の拡張レイヤの改良版のみの復号は、基本レイヤのみの復号と比べてビットレートおよび品質において増分的な増大(incremental increase)を生み出すことになる。
ビデオソース18から受信されたビデオデータは、一連のビデオフレームであり得る。基本レイヤエンコーダ30および拡張レイヤエンコーダ32は、この一連のフレームを符号化されたユニットに分割し、その一連のビデオフレームを符号化するために、それらの符号化されたユニットを処理する。符号化ユニットは、例えばフレーム全体であってよく、またはフレームのスライスなど、フレームの一部であってもよい。基本レイヤエンコーダ30および拡張レイヤエンコーダ32は、それぞれの符号化されたユニットを画素ブロック(ここでは、ビデオブロックまたはブロックと呼ばれる)に分割し、ビデオデータを符号化するために、個々の符号化されたユニット内のそれらのビデオブロックに関して演算する。従って、ビデオデータは複数のフレームを含むことが可能であり、フレームは複数のスライスを含むことが可能であり、スライスは複数のビデオブロックを含むことが可能である。
ビデオブロックは固定サイズを有してよく、または様々なサイズを有してもよく、指定された符号化標準に従ってサイズの点で異なってもよい。例として、ITU−T H.264/MPEG−4、パート10、AVCは、輝度成分(luma component)に関して16×16、8×8、または4×4、および色成分(chroma component)に関して8×8など、様々なブロックサイズでイントラ予測をサポートすると同様に、輝度成分に関して16×16、16×8、8×16、8×8、8×4、4×8、および4×4、ならびに色成分に関して対応する基準化されたサイズなど、様々なブロックサイズでインター予測をサポートする。H.264/MPEG−4、パート10、AVCでは、マクロブロック(MB)と呼ばれることがあるそれぞれのビデオブロックは、固定サイズまたは様々なサイズのサブブロックに細分割され得る。すなわち、符号化されたユニットは、同じサイズのサブブロックまたは異なるサイズのサブブロックを含み得る。一般に、MBおよび様々なサブブロックはビデオブロックと見なされ得る。従って、MBはビデオブロックと見なされ得、分割またはサブ分割された場合、MB自体がビデオブロックのセットを規定すると見なされ得る。
エンコーダ30、32は、フレームのビデオブロックのイントラ符号化およびインター符号化を行う。イントラ符号化は、所定の符号化ユニット内、例えばフレーム内またはスライス内のビデオデータの空間的冗長性を削減または除去するために、空間的予測に依存する。イントラ符号化の場合、エンコーダ30、32は符号化されている現ブロックと同じフレーム内の1つまたは複数の予め符号化されたブロックに基づいて空間的予測ブロックを形成する。予測ブロックは、符号化されている現ビデオブロックの予測バージョンであり得る。基本レイヤエンコーダ30は、例えば現フレームの基本レイヤ内の1つまたは複数の予め符号化されたブロックの画素値を用いて、(当該ブロックに関連するイントラ符号化モードに従って)補間を行うことにより、フレーム内の1つまたは複数の予め符号化されたブロックに基づいて予測ブロックを生成することが可能である。拡張レイヤエンコーダ32は、フレーム内の1つまたは複数の予め符号化されたブロックに基づいて予測ブロックを生成することが可能である。拡張レイヤエンコーダ32は、例えばフレーム内の基本レイヤおよび拡張レイヤからの1つまたは複数の予め符号化されたビデオブロックに基づいて予測ブロックを生成することが可能である。例えば、拡張レイヤエンコーダ32は、基本レイヤからの少なくとも1つの予め符号化されたビデオブロック、および拡張レイヤからの少なくとも1つの予め符号化されたビデオブロックからの画素値の重み付けされた和を用いて予測ブロックを生成することが可能である。
インター符号化は、ビデオシーケンスの隣接するフレーム内の時間的冗長性を削除または除去するために、時間的予測に依存する。インター符号化の場合、エンコーダ30、32は符号化されたユニット内の2つ以上の隣接するフレームの間の厳密に一致するビデオブロックの動きを追跡するために、動き推定を行う。インター予測の場合、エンコーダ30、32は符号化されたユニット内のその他のフレームからの1つまたは複数の予め符号化されたブロックに基づいて時間的予測ブロックを生成することが可能である。エンコーダ30、32は、例えば現ビデオブロックと最も厳密に一致する、隣接するフレーム内のブロック、例えば、最小平均2乗誤差(MSE)、差分2乗和(SSD)、差分絶対値和(SAD)、またはその他の異なる測定基準を有する1つまたは複数の隣接するフレーム内のブロックを識別するために、現ビデオブロックを1つまたは複数の隣接するビデオフレーム内のブロックと比較することが可能である。エンコーダ30、32は、予測ブロックとして隣接するフレーム内で識別されたブロックを選択する。基本レイヤエンコーダ30は、現ビデオブロックを基本レイヤの1つまたは複数の隣接するフレーム内のブロックと比較する。拡張レイヤエンコーダ32は、現ビデオブロックを基本レイヤ内および/または拡張レイヤ内の1つもしくは複数の隣接するフレーム内のブロックと比較することが可能である。
ビデオブロックのイントラ予測またはインター予測に続いて、エンコーダ30、32は符号化されている原ビデオブロックから生成された予測ブロックを減じることによって、残差ブロックを生成する。残差ブロックは、従って予測ブロックと符号化されている現ブロックとの間の差を示す。エンコーダ30、32は、残差ブロックの通信に関連するビットレートをさらに削減するために変換プロセス、量子化プロセスおよびエントロピー符号化プロセスを適用することが可能である。離散コサイン変換(DCT)、整数変換、ウェーブレット変換、方向変換、またはその他の変換動作を含み得る変換技術は、画素差分値のセットを周波数領域における画素差分値のエネルギーを表す残差変換係数に変更する。エンコーダ30、32は、一般に任意の所定の係数に関連するビットの数を制限するプロセスを必要とする量子化を残差変換係数に適用する。エンコーダ30、32は、残差係数をさらに圧縮する目的で係数の一次元ベクトルを生成して係数ベクトルをエントロピー符号化するために、二次元残差ブロックを走査する。エントロピー符号化は、例えば可変長符号化(VLC)、算術演算符号化、固定長符号化、コンテキスト適応VLC(CAVLC)、コンテキスト適応バイナリ算術演算符号化(context-adaptive binary arithmetic coding)(CABAC)、および/またはその他のエントロピー符号化技術を含む。
SNRスケーラビリティは、残差量子化によって達成され得る。詳細には、基本レイヤエンコーダ30は第1の量子化パラメータ(QP)を用いて残差変換係数を量子化することが可能であり、拡張レイヤエンコーダ32は第2のQPを用いて残差変換係数を量子化することが可能である。ITU−T H.264/MPEG−10 AVCでは、より大きなQPは通常、結果としてより少ない数のビットを用いて、より低い品質でビデオデータを符号化し、一方、より小さなQPは結果としてより多い数のビットを用いて、さらに高い品質でビデオデータを符号化する。従って、最低の品質レベルでビデオデータを符号化する基本レイヤエンコーダ30は、拡張レイヤの係数を量子化するために、拡張レイヤエンコーダ32によって使用されるQP値よりも大きなQP値を用いて基本レイヤの係数を量子化することが可能である。結果として、基本レイヤ符合器30からの量子化された残差変換係数は、第1の品質でビデオシーケンスを表し、拡張レイヤエンコーダからの量子化された残差変換係数は、基本レイヤと組み合わされたとき、ビデオシーケンスの品質を第2のさらに高い品質に高める、ビデオシーケンスの既存の係数に対する追加の係数または改良版を表す。
エンコーダ30、32はそれぞれ、それぞれ基本レイヤおよび拡張レイヤの量子化された残差変換係数を表す一次元の係数ベクトルを受信する。すなわち、基本レイヤエンコーダ30は基本レイヤの係数のベクトルを受信し、拡張レイヤエンコーダ32は対応する拡張レイヤの係数のベクトルを受信する。エンコーダ30、32は、同じ原ビデオデータを受信するが、係数のベクトルは異なる可能性がある。これは、基本レイヤエンコーダ30および拡張レイヤエンコーダ32が異なる予測ブロックを生成していることに起因し得る。例えば、基本レイヤエンコーダ30は1つまたは複数の予め符号化された基本レイヤブロックから予測ブロックを生成し、拡張レイヤエンコーダ32は1つまたは複数の予め符号化された基本レイヤブロックおよび拡張レイヤブロックから予測ブロックを生成する。
基本レイヤエンコーダ30および拡張レイヤエンコーダ32は、それぞれ基本レイヤビットストリームおよび少なくとも1つの拡張レイヤビットストリームを生成するために、それぞれの係数ベクトルを符号化する。本開示の技術によれば、基本レイヤエンコーダ30および拡張レイヤエンコーダ32は、異なる符号化技術を用いてそれぞれの係数ベクトルを符号化する。基本レイヤエンコーダ30は、基本レイヤエンコーダ30が少なくとも1つの符号化パスの間に係数ベクトルを解析し、その解析に基づいて少なくとも1つの後続の符号化パスの間に係数ベクトルを符号化する、複数の符号化パスプロセスを用いて係数ベクトルを符号化することが可能である。一例では、基本レイヤエンコーダ30はH.264/MPEG−4、パート10、AVC標準において定義されたCAVLCに従って、基本レイヤ係数ベクトルの量子化された残差変換係数を符号化することが可能である。H.264/MPEG−4、パート10、AVC標準において定義されたCAVLCは、複数の符号化パスを用いて基本レイヤ係数ベクトルを符号化することが可能である。
第1の符号化パスの間、基本レイヤエンコーダ30はその少なくともいくつかが2つ以上の非ゼロ係数、および、場合によっては係数ベクトルの係数のすべてを表す係数ベクトルを表すためのシンボルを生成することが可能である。基本レイヤエンコーダ30は、例えばH.264/MPEG−4、パート10、AVC標準において定義されたCAVLCに従って、係数ベクトル内の係数の総数(“TotalCoeffs”)、係数ベクトル内のいくつかのトレイリングワン(trailing ones)(“T1s”)、任意のトレイリングワンの符号(sign)、トレイリングワン以外の非ゼロ係数の大きさ(またはレベル)、すべてのランの和(“sumRuns”)、およびそれぞれの非ゼロ係数の前のランを表すシンボルを生成する。TotalCoeffおよびsumRunsなど、シンボルのいくつかを生成するために、基本レイヤエンコーダ30は係数ベクトル全体を解析することが可能である。
第1の符号化パスの間に、基本レイヤエンコーダ30は係数ベクトルの解析に基づいて後続の符号化パスの間に使用するためのVLCテーブルを選択することも可能である。場合によっては、基本レイヤエンコーダ30は第1の符号化パスの間に生成されたシンボルに基づいて後続の(例えば、第2の)符号化パスの間に使用するためのVLCテーブルを選択することが可能である。例えば、基本レイヤエンコーダ30はブロック内の係数の総数(TotalCoeffs)の値とsunRunsシンボルの値との間に何らかの関係が存在するため、ブロック内の係数の総数(TotalCoeffs)に基づいて、sunRumsシンボルを符号化するときに使用するためのVLCテーブルを選択することが可能である。詳細には、TotalCoeffsが増大するとsumRunsは減少し、TotalCoeffsが減少するとsumRunsは増大する。この場合も、ブロック内の係数の総数(TotalCoeffs)に基づいて、sumRunsシンボルを符号化するときに使用するためのVLCテーブルを選択することは、基本レイヤエンコーダ30がsumRunsをより効率的に符号化するVLCテーブルを選択することを可能にし得る。類似のVLCテーブルの選択が、符号化されることになるその他のシンボルに関して、またはその他の収集された統計を用いて実行され得る。
基本レイヤエンコーダ30は、第2の符号化パスまたはその他の後続の符号化パスの間に、係数ベクトル内の非ゼロ係数の総数(TotalCoeff)を表すシンボルと、(T1sと呼ばれる)いくつかのトレイリングワンを表すシンボルとを符号化する。トレイリングワンの数は、係数ベクトルが逆の順序で、すなわち係数ベクトルの終端から開始して読み取られるときに、2以上の大きさを有する係数が発生する前に係数ベクトル内で発生する1の大きさを有する係数の数である。基本レイヤエンコーダ30は、予測された数の非ゼロ係数に基づいて、Total CoeffシンボルおよびT1シンボルを符号化する際に使用するためのVLCテーブルを選択し、その選択されたVLCテーブルを用いてTotalCoeffシンボルおよびT1シンボルを符号化することが可能である。非ゼロ係数の予測数に基づいて、TotalCoeffシンボルおよびT1シンボルを符号化する際に使用するためのVLCテーブルを選択することは、基本レイヤエンコーダ30が、TotalCoeffシンボルおよびT1シンボルをより効率的に符号化するVLCテーブルを選択することを可能にし得る。従って、異なるVLCテーブルは非ゼロ係数の異なる予測数に関してより効率的な可能性がある。一例では、基本レイヤエンコーダ30は1つまたは複数の予め符号化されたビデオブロック、例えば、上隣接(upper neighboring)ビデオブロックおよび左隣接(left neighboring)ビデオブロックの非ゼロ係数の数に基づいて、現ブロック内の非ゼロ係数の数を予測することが可能である。
基本レイヤエンコーダ30は、任意のトレイリングワンの符号(sign)を符号化することが可能である。例えば、基本レイヤエンコーダ30はトレイリングワンのそれぞれに関して、トレイリングワンの符号が正である場合、「1」を符号化し、トレイリングワンの符号が負である場合、「0」を符号化することが可能である。従って、基本レイヤエンコーダ30はそれらの符号に関して、VLCテーブル選択を行う必要がない可能性がある。基本レイヤエンコーダ30は、トレイリングワン以外の非ゼロ係数の大きさを符号化することが可能である。基本レイヤエンコーダ30は、VLCテーブル、固定長符号化、またはその他のタイプのエントロピー符号化を用いて、非ゼロ係数のレベルを符号化することが可能である。例えば、基本レイヤエンコーダ30はバイナリ符号化を用いて非ゼロ係数のレベルを符号化することが可能である。
基本レイヤエンコーダ30は、最後の非ゼロ係数の前に係数ベクトル内で発生するゼロ値係数の数(sumRuns)を表すシンボルを符号化することが可能である。上で説明したように、ブロック内の係数の総数(TotalCoeffs)の値とsumRunsシンボルの値との間に何らかの関係が存在するため、基本レイヤエンコーダ30はブロック内の係数の総数(TotalCoeffs)に基づいて、sumRunsシンボルを符号化するときに使用するためのVLCテーブルを選択することが可能である。
基本レイヤエンコーダ30は、係数ベクトルの最後の非ゼロ係数から始めて、それぞれの非ゼロ係数の前に発生するラン(すなわち、ランレングス)を符号化することが可能である。ランレングスは、非ゼロ係数に先行するゼロ値係数の数である。従って、基本レイヤエンコーダ30は係数ベクトルの第1の非ゼロ係数の前のランが符号化されるまで、まず係数ベクトルの最後の非ゼロ係数の前のランレングス(すなわち、ゼロ値係数の数)と、その後に続く、先行する非ゼロ係数の前のランレングス、等々を符号化することが可能である。
基本レイヤエンコーダ30は、ランレングスのそれぞれを別々に符号化するために使用するためのVLCテーブルを選択することが可能である。基本レイヤエンコーダ30は、ランの和(sumRuns)シンボルと、これまで符号化されたランの和とに基づいて、現在のラン値を符号化するためのVLCテーブルを選択することが可能である。例として、係数ベクトルが8のランの和(sumRuns)を有し、符号化された最後の非ゼロ係数の前に符号化されたランが6であった場合、すべての残りのランは0、1、または2でなければならない。それぞれの追加のランが符号化されるにつれて、可能なランレングスは段階的に短くなるため、基本レイヤエンコーダ30はランを表す目的で使用されるビットの数を削減するために、より効率的なVLCテーブルを選択することが可能である。
このように基本レイヤエンコーダ30は、例えばシンボルを生成するため、かつ/またはVLCテーブルを選択するために、基本レイヤ残差ブロックの係数ベクトルを解析するための第1のパスおよびその解析に基づいて、係数ベクトルを符号化するための第2の符号化パスを含めて基本レイヤ係数を符号化するために、複数のパス符号化を実行する。基本レイヤエンコーダ30は、H.264/MPEG−4、パート10、AVC標準において定義されたCAVLCを用いて量子化された残差変換係数を符号化するとして上で説明するが、基本レイヤエンコーダ30は量子化された残差変換係数を符号化するためにその他の符号化方法論を使用することが可能である。
拡張レイヤエンコーダ32は、係数ベクトルの形をとり得る拡張レイヤの量子化された残差変換係数を符号化する。拡張レイヤエンコーダ32は、基本レイヤの量子化された残差係数とは異なる量子化された残差係数を生成することが可能である。量子化の間の異なるQPの使用により、拡張レイヤの量子化された残差係数は基本レイヤの量子化された残差係数とは異なる可能性がある。加えて、残差ブロックは原ビデオブロックと基本レイヤおよび拡張レイヤから予め符号化されたブロックを用いて生成された予測ブロックとの間の差を表すため、量子化された残差変換係数は基本レイヤの量子化された残差変換係数とは異なる可能性がある。基本レイヤの残差ブロックは、原ビデオブロックと基本レイヤから予め符号化されたブロックのみを用いて生成された予測ブロックとの間で異なる。従って、拡張レイヤは既存の係数に対する追加の係数および/または改良版を含み得る。この意味で、拡張レイヤ内のビデオブロックの量子化された残差変換係数は、基本レイヤ内で第1の品質で符号化されたビデオブロックに対する改良版を表し、基本レイヤに追加されるとき、さらに高い品質のビデオデータを提供する。
拡張レイヤエンコーダ32は、利用可能なビットレートに応じて、符号化の間に係数ベクトルの量子化された残差係数のうちの1つまたは複数を破棄することが可能である。例えば、拡張レイヤエンコーダ32は高周波変換基底関数に対応する係数、例えば、図3に例示されるジグザグ走査を用いて係数走査が行われたとき、係数ベクトルの終端に向けて配置された係数を破棄することが可能である。符号化されることになるシンボルの少なくともいくつか、例えばTotalCoeffsおよびsumRunsは、ブロック内のすべての係数を指すため、H.264/MPEG−4、パート10、AVC標準において定義されたCAVLCに従って、量子化された残差係数を符号化することは、拡張レイヤエンコーダ32が係数を破棄することを可能にしない場合がある。拡張レイヤエンコーダ32が係数ベクトルの係数のうちの1つまたは複数を破棄する場合、受信情報は冗長になり、従ってより低い符号化効率をもたらすことになる。さらに、デコーダはH.264/MPEG−4、パート10、AVC標準において定義されたCAVLCを用いて符号化するとき、ジグザグ走査においてそれぞれの係数の位置を適切に復号することが可能であるように、ブロック内のすべての非ゼロ係数に関するランを受信しなければならないため、拡張レイヤエンコーダ32は拡張レイヤの係数ベクトルからの係数を破棄することができない場合がある。
従って、拡張レイヤエンコーダ32は本開示の符号化技術に従って1つまたは複数の拡張レイヤの係数を符号化する。拡張レイヤエンコーダ32は、単一の符号化パス内で、係数ベクトルの量子化された残差変換係数を符号化する。すなわち、拡張レイヤエンコーダ32は、係数ベクトルを解析するための第1のパスを実行し、次いでその解析に基づいて第2のパスの間にシンボルを符号化することを行わない。代わりに、拡張レイヤエンコーダ32は係数ベクトルの始めから開始して単一の符号化パス内で非ゼロ係数のそれぞれを1つずつ符号化する。このように、拡張レイヤエンコーダ32は、係数ベクトル内の任意の後続の係数を解析することなく、すなわち係数ベクトルの任意の後続の係数の知識なしに、非ゼロ係数のそれぞれを符号化することが可能である。
一態様では、拡張レイヤエンコーダ32は非ゼロ係数のそれぞれに関して、係数ベクトル内に少なくとも1つの残りの非ゼロ係数が存在することを示すシンボルを符号化することが可能である。シンボルは、例えばエンドオブブロック(EOB)シンボルであり得る。拡張レイヤエンコーダ32は、単一のビットを用いてこのシンボルを符号化することが可能である。例えば、拡張レイヤエンコーダ32は少なくとも1つの残りの非ゼロ係数、例えば少なくとも現在の非ゼロ係数が存在するときゼロを符号化し、それ以上の残りの非ゼロ係数が存在しないとき1を符号化することが可能である。
それぞれの係数のEOBシンボルに続いて、拡張レイヤエンコーダ32は現在の非ゼロ係数の前のランを符号化する。上で説明したように、ランは係数ベクトルのこれまでの非ゼロ係数、また第1の非ゼロ係数の場合、係数ベクトルの始めと現在の非ゼロ係数との間で発生するゼロ値係数の数を表す。拡張レイヤエンコーダ32は、単一のVLCテーブルを用いてランを符号化することが可能である。一例では、拡張レイヤエンコーダ32はTotalCoeffsが1に等しいとき、sumRunsを符号化するためにH.264/MPEG−4、パート10、AVC標準において定義されたCAVLCで使用されたVLCテーブルを用いてランを符号化することが可能である。すなわち、拡張レイヤエンコーダ32はビデオエンコーダ20によってすでに維持されたVLCテーブルのうちの1つを再使用することが可能である。その他の場合、拡張レイヤエンコーダ32は、ランを符号化するためにビデオエンコーダ20によってすでに維持されたその他のVLCテーブルのうちの1つを使用することが可能である。あるいは、拡張レイヤエンコーダ32は、特に拡張レイヤの係数ベクトルのランを符号化するように設計された個別のVLCテーブルを維持することが可能である。いずれの場合も、拡張レイヤエンコーダ32はランを符号化するために使用するためのVLCテーブルを順応的に選択する必要がない可能性がある。代わりに、拡張レイヤエンコーダ32は単一のVLCテーブルを使用することが可能であり、これによりVLCテーブルを選択するために使用される統計を収集するための第1のパスの必要を除去する。
それぞれの係数の符号化されたランに続いて、拡張レイヤエンコーダ32は非ゼロ係数の符号(sign)を符号化する。拡張レイヤエンコーダ32は、例えば非ゼロ係数の符号が正である場合は「1」を符号化し、非ゼロ係数の符号が負である場合は「0」を符号化することが可能である。拡張レイヤエンコーダ32は、非ゼロ係数の大きさを1に設定することによって、非ゼロ係数の大きさを調整することが可能である。場合によっては、拡張レイヤエンコーダ32は非ゼロ係数の大きさを符号化しなくてよい。このように拡張レイヤエンコーダ32は、非ゼロ係数の大きさを1に制限することが可能である。次いで、宛先デバイス14は1に等しい大きさを有するように改良版内で識別されたすべての非ゼロ係数を復号するように構成される。拡張レイヤの係数の大きさを符号化しないことは、結果としてピーク信号対雑音比(PSNR)に何らかの損失をもたらす可能性があるが、係数を符号化するために使用されるビットの数を削減する。
このように拡張レイヤエンコーダ32は、例えば係数ベクトルの任意の後続の係数の知識なしに、単一のパス内で拡張レイヤビットストリームの係数を符号化することが可能である。拡張レイヤエンコーダ32は、例えばベクトルの2つ以上の非ゼロ係数を表すシンボルを生成するために、またはシンボルを符号化するためのVLCテーブルを選択するために、係数ベクトルを解析する必要がないため、1つの符号化パスのみが実行される。通常のエンコーダは、一般に少なくとも2つのパスを実行する。すなわち、(1)係数ベクトルを解析するための第1のパス、および(2)その解析に基づいて係数ベクトルを符号化するための第2のパスである。加えて、拡張レイヤエンコーダ32は単一のVLCテーブルを用いて拡張レイヤの係数を符号化することが可能であり、これにより符号化テーブルを順応的に選択する際に使用するためのシンボルを形成するために、符号化パスを実行する必要を除去する。このように拡張レイヤエンコーダ32は、符号化の複雑さ、符号化遅延、およびメモリ要件を削減することが可能である。さらに、本開示のエントロピー符号化技術は、さらに結果として基本レイヤの係数情報を格納することと当該情報にアクセスすることとを伴わずに、拡張レイヤの係数を符号化することが可能であり、演算上の複雑さおよびメモリ要件をさらに削減する。
ソースデバイス12は、送信機22を経由して、符号化されたビデオデータを宛先デバイス14に送信する。宛先デバイス14は、受信機24とビデオデコーダ26とディスプレイデバイス28とを含み得る。受信機24は、チャネル16を経由して、符号化されたビデオビットストリームをソースデバイス12から受信する。上で説明したように、符号化されたビデオビットストリームは基本レイヤビットストリームと1つまたは複数の拡張レイヤビットストリームとを含む。ビデオデコーダ26は、ビデオデータを取得するために、基本レイヤおよび、利用可能な場合1つまたは複数の拡張レイヤを復号する。
詳細には、ビデオデコーダ26は基本レイヤデコーダ34と拡張レイヤデコーダ36とを含む。基本レイヤデコーダ34は、ディスプレイデバイス28上で表示する目的で第1の品質でビデオデータを作成するために、チャネル16を経由して受信された基本レイヤビットストリームを復号する。拡張レイヤデコーダ36は、追加のビデオデータ、例えば復号されたビデオデータの品質を第2のさらに高い品質に高める改良版を取得するために、1つまたは複数の拡張レイヤのビットストリームを復号する。この場合も、宛先デバイス14によって受信された拡張レイヤの数、例えば1、2、3またはそれ以上の数は、チャネル状態またはその他の制限に依存し得る。加えて、拡張レイヤデコーダ36によって処理された受信拡張レイヤの数はデコーダの制限に依存し得る。一般に、基本レイヤの符号化および復号は、選択された数の拡張レイヤと共に、復号されたビデオのSNR品質の増分的な改善を可能にする。
基本レイヤデコーダ34は、基本レイヤの量子化された残差係数のベクトルを表すシンボルを取得するために基本レイヤを復号する。基本レイヤデコーダ34は、ブロック内の非ゼロ係数の総数、ブロックのトレイリングワンの数、トレイリングワンの符号、トレイリングワン以外の係数の大きさ、すべてのランの和および非ゼロ係数のそれぞれの前のランを取得するために基本レイヤを復号することが可能である。基本レイヤデコーダ34は、基本レイヤシンボルを復号する際に使用するためのVLCテーブルを識別するために、基本レイヤビットストリームをさらに復号することが可能である。すなわち、基本レイヤデコーダ34は予め復号されたシンボルに基づいて、使用するためのVLCテーブルを選択することが可能である。基本レイヤデコーダ34は、復号されたシンボルを用いて基本レイヤの係数ベクトルを再構成することが可能である。
拡張レイヤデコーダ36は、例えば既存の残差係数に対する追加の残差係数または改良版のベクトルの形をとる拡張レイヤの改良版を取得するために、拡張レイヤのビットストリームを復号する。詳細には、拡張レイヤデコーダ36はEOBシンボルがそれ以上の非ゼロ係数が残っていないことを示すまで、拡張レイヤエンコーダ32によって使用された同じVLCテーブルを用いて、拡張レイヤ係数のランおよび符号を復号する。拡張レイヤデコーダ36は、復号されたシンボルを用いて拡張レイヤブロックの係数ベクトルを再構成する。
デコーダ34、36は、復号された量子化された残差係数を用いて、符号化されたユニットのブロックのそれぞれを再構成する。デコーダ34、36は、係数ベクトルを生成した後、量子化された残差係数の二次元ブロックを生成するために係数ベクトルを逆走査する。デコーダ34、36は、量子化された残差係数を逆量子化、すなわち量子化解除して、画素値の残差ブロックを作成するために、量子化解除された残差係数に逆変換、例えば逆DCT、逆整数変換、逆ウェーブレット変換、または逆方向変換を適用する。 デコーダ34、36は、それぞれ再構成された基本レイヤビデオブロックおよび拡張レイヤビデオブロックを形成するために、画素値の残差ブロックを用いて、デコーダ34、36によって生成された予測ブロッを合計する。基本レイヤビデオブロックおよび拡張レイヤビデオブロックは、さらに高い分解能を有するビデオブロックを形成するために組み合わされる。デコーダ34、36は、エンコーダ30、32に関して上で説明したのと同じように予測ブロックを生成する。宛先デバイス14は、ディスプレイデバイス28を経由して、再構成されたビデオブロックをユーザに表示することが可能である。ディスプレイデバイス28は、ブラウン管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、有機LEDディスプレイ、または別のタイプのディスプレイユニットなど、様々なディスプレイデバイスのいずれかを備え得る。
場合によっては、ビデオエンコーダ20およびビデオデコーダ26は、任意に切り捨可能なスケーラブル拡張ビットストリームを提供するように構成される。従って、システム10はスケーラビリティを達成するために、全体が符号化されなければならないディスクリート拡張レイヤの使用を回避することが可能である。しかし、いくつかの実施形態ではシステム10は例えば選択ベースで一般化された密な粒度のスケーラビリティ(fine granularity scalability)(FGS)手法、またはディスクリート拡張レイヤを用いてスケーラビリティをサポートするように構成され得る。
ソースデバイス12および宛先デバイス14は、実質的に対称的な形で動作することが可能である。例えば、ソースデバイス12および宛先デバイス14は、それぞれビデオ符号化およびビデオ復号構成要素を含むことが可能である。従って、システム10は例えばビデオストリーミング、ビデオブロードキャスティング、もしくはビデオ電話に関して、デバイス12、14の間で一方向ビデオ伝送または双方向ビデオ伝送をサポートすることが可能である。
いくつかの態様では、ビデオブロードキャスティングに関して、本開示で説明する技術は技術標準TIA−1099として2007年7月に発表された順方向リンクオンリー(FLO)無線インターフェース仕様書、“Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast”(「FLO仕様書」)を用いて、地上モバイルマルチメディアマルチキャスト(terrestrial mobile multimedia multicast)(TM3)システムにおいてリアルタイムのビデオサービスを配信するために、拡張H.246ビデオ符号化に適用され得る。すなわち、通信チャネル16はFLO仕様書などに従って、無線ビデオ情報をブロードキャストするために使用される無線情報チャネルを備え得る。FLO仕様書は、FLO無線インターフェースに適したビットストリームシンタックスおよびセマンティックス、ならびに復号プロセスを定義する例を含む。
あるいは、ビデオはDVB−H(ディジタルビデオブロードキャストハンドヘルド)、ISDB−T(統合サービスディジタルブロードキャスト−地上(integrated services digital broadcast - terrestrial)、またはDMB(ディジタルメディアブロードキャスト)など、その他の基準に従ってブロードキャストされ得る。従って、ソースデバイス12は移動体無線端末、ビデオストリーミングサーバ、またはビデオブロードキャストサーバであり得る。しかし、本開示で説明する技術は、任意の特定のタイプのブロードキャストシステム、マルチキャストシステムまたはポイントツーポイントシステムに限定されない。ブロードキャストの場合、ソースデバイス12はビデオデータのいくつかのチャネルをそのそれぞれが図1の宛先デバイス14に類似し得る複数の宛先デバイスにブロードキャストすることが可能である。従って、ビデオブロードキャスティングに関して単一の宛先デバイス14が図1に示されるが、ソースデバイス12は通常、ビデオコンテンツを多くの宛先デバイスに同時にブロードキャストすることになる。
その他の例では、送信機22、通信チャネル16および受信機24は、イーサネット(登録商標)、電話(例えばPOTS)、ケーブル、電線、および光ファイバシステム、および/または符号分割多元接続(CDMAもしくはCDMA2000(登録商標))通信システム、周波数分割多元接続(FDMA)システム、直交周波数分割多元(OFDM)接続システム、GSM(移動体通信用グローバルシステム)、GPRS(汎用パケット無線サービス)、もしくはEDGE(拡張データのGSM環境)などの時分割多元接続(TDMA)システム、TETRA(地上基盤無線)移動体電話システム、広帯域符号分割多元接続(WCDMA)システム、ハイデータレート1×EV−DO(第1世代エボリューションデータオンリー)もしくは1×EV−DOゴールドマルチキャストシステム、IEEE402.18システム、MediaFLO(商標)システム、DMBシステム、DVB−Hシステム、または2つ以上のデバイスの間のデータ通信向けの別の方式の1つもしくは複数を備える無線システムのうちの1つもしくは複数を含めて、任意の有線通信システムまたは無線通信システムに従って通信するように構成され得る。
ビデオエンコーダ20およびビデオデコーダ26は、それぞれ1つもしくは複数のマイクロプロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ26のそれぞれは、それらのいずれかがそれぞれの移動体デバイス、加入者デバイス、ブロードキャストデバイス、サーバなどの中で組み合わされたエンコーダ/デコーダ(コーデック)の一部として統合され得る1つもしくは複数のエンコーダまたはデコーダの中に含まれ得る。加えて、ソースデバイス12および宛先デバイス14は、それぞれ無線通信をサポートするのに十分な無線周波数(RF)無線構成要素およびアンテナを含めて、適用可能な場合、符号化されたビデオの送受信に関して適切な変調、復調、周波数変換、フィルタリングおよび増幅構成要素を含むことが可能である。しかし、例を簡単にするために、そのような構成要素は図1におけるソースデバイス12の送信機22および宛先デバイス14の受信機24として要約される。
図3は、例示的な基本レイヤエンコーダ30および拡張レイヤエンコーダ32をさらに詳細に示すブロック図である。図3の例では、基本レイヤエンコーダ30は予測ユニット33A、フレーム格納部35A、変換ユニット38A、量子化ユニット40A、係数走査ユニット41A、逆量子化ユニット42A、逆変換ユニット44A、基本レイヤエントロピーエンコーダ46、ならびに加算器48Aおよび48B(「加算器48」)を含む。図3において異なる特徴をユニットとして示すことは、例示されるデバイスの異なる機能的態様を強調することが意図され、そのようなユニットが個別のハードウェアまたはソフトウェア構成要素によって実現されなければならないことを意味するとは限らない。むしろ、1つもしくは複数のユニットに関連する機能性は、共通のハードウェアまたはソフトウェア構成要素、あるいは個別のハードウェアまたはソフトウェア構成要素の中に組み込まれ得る。
予測ユニット33Aは、イントラ予測またはインター予測を用いて予測ブロックを生成する。予測ブロックは、符号化されている現ビデオブロックの予測バージョンであり得る。上で説明したように、予測ユニット33Aは符号化されている現ブロックと同じフレーム内の基本レイヤの1つまたは複数の予め符号化されたブロックに基づいて、イントラ予測を用いて予測ブロックを生成することが可能である。あるいは、予測ユニットは基本レイヤの1つまたは複数の隣接するフレーム内の1つまたは複数の予め符号化されたブロックに基づいて、インター予測を用いて予測ブロックを生成することが可能である。予測ユニット33Aは、フレーム格納部35Aから予め符号化されたブロックを取り出すことが可能である。
ビデオブロックのイントラベースの予測またはインターベースの予測に続いて、基本レイヤエンコーダ30は加算器48Aにおいて現ビデオブロックから予測ユニット33Aによって作成された予測ブロックを減じることによって、残差ブロックを生成する。この残差ブロックは、現ビデオブロックの画素値と予測ブロックの画素値との間の差分を量子化する画素差分値のセットを含む。この残差ブロックは、二次元ブロック形態(例えば、二次元行列または画素値のアレイ)の形で表され得る。すなわち、残差ブロックは画素値の二次元表示である。
変換ユニット38Aは、残差変換係数を作成するために残差ブロックに変換を適用する。 変換ユニット38Aは、例えばDCT、整数変換、方向変換、ウェーブレット変換、またはそれらの組合せを適用することが可能である。画素値の残差ブロックに変換を適用した後で、量子化ユニット40Aはビットレートをさらに削減するために、変換係数を量子化する。量子化に続いて、逆量子化ユニット42Aおよび逆変換ユニット44Aは残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用することが可能である。加算器48Bは、フレーム格納部35A内の格納のために再構成されたビデオブロックを作成する目的で、再構成された残差ブロックを予測ユニット33Aによって作成された予測ブロックに追加する。フレーム格納部34内に格納された、再構成されたビデオブロックは、後続のビデオブロックをイントラ符号化またはインター符号化するために、基本レイヤエンコーダ30の予測ユニット32によって使用され得る。加えて、下でより詳細に説明するように、フレーム格納部35A内に格納された、再構成されたビデオブロックは、拡張レイヤ内のビデオブロックの改良版をイントラ符号化またはインター符号化するために、拡張レイヤエンコーダ32の予測ユニット33Bによって使用され得る。
量子化に続いて、係数走査ユニット41Aは二次元ブロック形態から一次元ベクトル形態に係数を走査し、プロセスはしばしば係数走査と呼ばれる。係数走査ユニット41Aは、例えば図7においてさらに説明するジグザグ走査順序を用いて、係数の二次元ブロックを走査することが可能である。走査に続いて、基本レイヤエントロピーエンコーダ46は一次元ベクトルの係数をエントロピー符号化する。基本レイヤエンコーダ46は、例えばH.264/MPEG−4、パート10、AVC標準において定義され、図2に関して上で詳細に説明したCAVLCを用いて、係数ベクトルの係数をエントロピー符号化することが可能である。
拡張レイヤエンコーダ32は、予測ユニット33B、フレーム格納部35B、変換ユニット38B、量子化ユニット40B、係数走査ユニット41B、逆量子化ユニット42B、逆変換ユニット44B、拡張レイヤエントロピーエンコーダ49、ならびに加算器48Cおよび48D(「加算器48」)を含む。拡張レイヤエンコーダ32のユニットは、基本レイヤエンコーダ30の同類番号付けされたユニットのユニットに本質的に類似する。従って、違いだけを説明することになる。
拡張レイヤエンコーダ32の予測ユニット33Bは、現ビデオブロックの予測バージョンである予測ブロックを生成する。予測ブロックを生成するために、基本レイヤの予め符号化されたブロックのみを使用する、基本レイヤエンコーダ30の予測ユニット33Aと異なり、拡張レイヤエンコーダ32の予測ユニット33Bは基本レイヤおよび拡張レイヤの1つまたは複数の予め符号化されたブロックに基づいて予測ブロックを生成することが可能である。すなわち、予測ユニット33Bは基本レイヤから再構成されたビデオブロックと拡張レイヤの再構成されたビデオブロックとを用いて、予測ブロックを生成することが可能である。例えば、予測ユニット33Bは第2のさらに高い品質で予測ブロックを生成するために、基本レイヤの再構成されたビデオブロックを拡張レイヤの再構成されたブロックと組み合わせることが可能である。
予測ユニット33Bによって生成された予測ブロックは、基本レイヤおよび拡張レイヤ両方の再構成されたビデオブロックに基づいて生成されるため、加算器48Cにおいて生成された残差ブロックは、現ビデオブロックと基本レイヤおよび拡張レイヤから、すなわち第2のさらに高い視覚的品質で構成された、予め符号化されたブロックとの間の差分を表す。
拡張レイヤエンコーダ32の量子化ユニット40Bは、基本レイヤエンコーダ30の量子化ユニット40Aと動作的に類似するが、変換係数を量子化するために異なるQPを使用することが可能である。図2に関して上で説明したように、SNRスケーラビリティは、異なる量子化パラメータを用いて達成され得る。例えば、基本レイヤエンコーダ30および拡張レイヤエンコーダ32がITU−T H.264/MPEG−10 AVCに従って動作するとき、量子化ユニット40Aは量子化ユニット40Bによって使用されるQP値よりも大きなQP値を用いてビデオデータを符号化することが可能である。結果として、基本レイヤエンコーダ30からの量子化された残差変換係数は、第1の品質でビデオシーケンスを表し、拡張レイヤエンコーダ32からの量子化された残差変換係数は、基本レイヤと組合されるときビデオシーケンスの品質を第2のさらに高い視覚的品質に高める、ビデオ係数の既存の係数の追加の係数または改良版を表す。
さらに、図2に関してより詳細に説明したように、拡張レイヤエントロピーエンコーダ49は、単一の符号化パス内で量子化された残差変換係数を符号化する。すなわち、拡張レイヤエントロピーエンコーダ49は係数ベクトルの任意の後続の係数の知識なしに、拡張レイヤの係数ベクトルのそれぞれの非ゼロ係数を符号化することが可能である。単一のパス内で拡張レイヤを符号化することは、係数ベクトルを解析するための第1のパス、およびその解析に基づいて係数ベクトルを符号化するための第2のパスを実行する必要を除去することが可能である。代わりに、拡張レイヤエントロピーエンコーダ49は、係数ベクトルの始めから開始して単一の符号化パス内で係数のそれぞれを1つずつ符号化する。拡張レイヤのエントロピー符号化に関するさらなる詳細については、図4に関して以下に説明する。
図4は、例示的な基本レイヤエントロピーエンコーダ46および拡張レイヤエントロピーエンコーダ49をより詳細に示すブロック図である。基本レイヤエントロピーエンコーダ46は、解析ユニット50、複数のVLCテーブル52A〜52N(「VLCテーブル52」)、総係数エンコーダ54、トレイリングワン(T1s)エンコーダ56、符号エンコーダ58、係数の大きさエンコーダ60、ランの和エンコーダ62およびランレングスエンコーダ64を含み得る。拡張レイヤエントロピーエンコーダ49は、EOBシンボルエンコーダ66、ランレングスエンコーダ68、符号エンコーダ70およびVLCテーブル69を含み得る。
基本レイヤエントロピーエンコーダ46は、複数の符号化パスを実行することによって第1の品質でビデオブロックを表す係数ベクトルを符号化する。H.264/MPEG−4、パート10、AVC標準において定義されるCAVLCに従って、例えば基本レイヤエントロピーエンコーダ46は、例えば係数ベクトルを表すシンボルを生成するため、および/またはVLCテーブルを選択するために、係数ベクトルを解析するための第1の符号化パスおよびその解析に基づいて、係数ベクトルを符号化するための第2の符号化パスを実行することが可能である。
例として、基本レイヤエントロピーエンコーダ46の解析ユニット50は係数ブロックを表す1つまたは複数のシンボルを生成するために、係数ベクトルを解析することが可能である。解析ユニット50は、例えばH.264/MPEG−4、パート10、AVC標準に従って、ブロック内の総係数の数(TotalCoeff)、トレイリングワンの数(T1s)、それぞれのトレイリングワンの符号、それぞれの非ゼロ係数の大きさ、ランの総和(sumRuns)およびそれぞれの非ゼロ係数に先行するランレングスを決定することが可能である。解析ユニット50によって生成されるシンボルの少なくともいくつか、例えばTotalCoeffおよびsumRunsは、係数ベクトルの係数のすべてを表すことが可能である。解析ユニット50は、その他の場合、より多くのシンボルまたはより少ないシンボルを生成することが可能である。
さらに、または別法として解析ユニット50は第1の符号化パスまたは後続の符号化パスの間に、シンボルを符号化する際に使用するためのVLCテーブル52のサブセットを選択することが可能である。一態様では、解析ユニット50は生成されたシンボルに基づいてVLCテーブル52のサブセットを選択することが可能である。あるいは、解析ユニット50は係数ベクトルの解析の間に統計を収集して、それらの収集された統計に基づいてVLCテーブル52のサブセットを選択することが可能である。例えば、ブロック内の係数の総数(TotalCoeffs)の値とsumRunsシンボルの値の間に何らかの関係が存在するため、基本レイヤエンコーダ30はブロック内の係数の総数(TotalCoeffs)に基づいてsumRunsシンボルを符号化するときに使用するためのVLCテーブルを選択することが可能である。下で詳細に説明するように、生成されたシンボルまたはその他の統計に基づいてVLCテーブル52のサブセットを選択することは、係数ベクトルを表すシンボルのより効率的な符号化を可能にし得る。
基本レイヤエントロピーエンコーダ46は、第2の符号化パスまたはその他の後続の符号化パスの間に、係数ベクトルを符号化する。詳細には、総係数エンコーダ54は係数ベクトル内の非ゼロ係数の総数(TotalCoeff)を符号化する。総係数エンコーダ54は、現在の係数ベクトルの非ゼロ係数の数の予測に基づいて選択されたVLCテーブル52のうちの1つを用いてTotalCoeffを符号化することが可能である。一例では、現在の係数ベクトルの非ゼロ係数の数の予測は1つまたは複数の予め符号化されたビデオブロック、例えば上隣接ビデオブロックおよび左隣接ビデオブロックの非ゼロ係数の数に基づいて行われ得る。このように基本レイヤエントロピーデコーダは、予め復号されたブロックに基づいて同じVLCテーブルを選択することが可能である。
総係数エンコーダ54が非ゼロ係数の総数を符号化した後で、T1sエンコーダ56はT1sシンボルを符号化する。T1sエンコーダ56は、例えば総係数エンコーダ54に関して上で説明したのと同じ形で、非ゼロ係数の予測数に基づいて選択されたVLCテーブル52のうちの1つを用いてT1sシンボルを符号化することが可能である。
符号エンコーダ58は、任意のトレイリングワンの符号(sign)を符号化する。例えば、符号エンコーダ58はトレイリングワンのそれぞれに関してトレイリングワンの符号が正である場合、「1」を符号化し、トレイリングワンの符号が負である場合、「0」を符号化することが可能である。係数の大きさエンコーダ60は、トレイリングワン以外の非ゼロ係数のレベル(例えば、大きさ)を符号化する。係数の大きさエンコーダ60は、VLCテーブル、固定長符号化またはその他のタイプのエントロピー符号化を用いて非ゼロ係数のレベルを符号化することが可能である。
ランの和エンコーダ62は、最後の非ゼロ係数の前に係数ベクトル内で発生するゼロ値係数の数を表すシンボル、すなわち、sumRunsシンボルを符号化することが可能である。ランの和エンコーダ62は、ブロック内の係数の総数(TotalCoeffs)に基づいて選択されたVLCテーブル52のうちの1つを用いてsumRunsシンボルを符号化する。この場合も、ブロック内の係数の総数(TotalCoeffs)に基づいてsumRunsシンボルを符号化するときに使用するためのVLCテーブルを選択することは、ランの和エンコーダ62がsumRunsをより効率的に符号化するVLCテーブルを選択することを可能にし得る。
ランレングスエンコーダ64は、係数ベクトルのランレングスを符号化する。ランレングスエンコーダ64は、係数ベクトルの第1の非ゼロ係数の前のランレングスが符号化されるまで、まず係数ベクトルの最後の非ゼロ係数のランレングスと、その後に続く先行する非ゼロ係数のランレングス、等々を符号化することが可能である。すなわち、ランレングスエンコーダはまず最後のランレングスの符号化を始めることが可能である。ランレングスエンコーダ64は、係数ベクトルの総ランの和(sumRuns)と、これまで符号化されたランの和とに基づいて選択されたVLCテーブル52を用いてランレングスのそれぞれを符号化することが可能である。例として、係数ベクトルが8のランの和(sumRuns)を有し、符号化された最後の非ゼロ係数の前に符号化されたランが6であった場合、すべての残りのランは0、1、または2でなければならない。それぞれの追加のランが符号化されるに従って可能なランレングスは段階的に短くなるため、ランレングスエンコーダ64はランを表すために使用されるビットの数を削減するために、より効率的なVLCテーブルを選択することが可能である。このようにランレングスエンコーダ64によって使用されるVLCテーブル52は、ランレングスのそれぞれに関して異なり得る。
拡張レイヤエントロピーエンコーダ49は、拡張レイヤを形成するために単一の符号化パス内のビデオブロックに、例えば既存の係数に対する追加の係数または改良版の形をとる改良版を表す係数ベクトルを符号化する。より詳細に説明するように、ソースデバイス12は、場合によっては任意の後続の係数の知識なしに拡張レイヤの係数ベクトルのそれぞれの非ゼロ係数を符号化することが可能である。拡張レイヤエントロピーエンコーダ49は、係数ベクトルの始めから開始して単一の符号化パス内で係数のそれぞれを1つずつ符号化することが可能である。このように拡張レイヤエンコーダ49は、係数ベクトル内で後に発生する係数を解析することなく、係数単位ベースで係数ベクトルを符号化する。単一のパス内で拡張レイヤを符号化することは、係数ベクトルを解析するための第1のパスおよびその解析に基づいて、係数ベクトルを符号化するための第2のパスを実行する必要を除去することが可能である。
非ゼロ係数のそれぞれに関して、EOBシンボルエンコーダ66は係数ベクトル内に少なくとも1つの残りの非ゼロ係数が存在することを示すEOBシンボルを符号化する。例えば、EOBシンボルエンコーダ66は少なくとも1つの残りの非ゼロ係数、例えば少なくとも現在の非ゼロ係数が存在する場合、0を符号化し、それ以上の残りの非ゼロ係数が存在しない場合、1を符号化することが可能である。
それぞれの係数のEOBシンボルを符号化することに続いて、ランレングスエンコーダ68は非ゼロ係数に先行するランレングスを符号化する。上で説明したように、ランレングスは現在の非ゼロ係数に先行するゼロ値係数の数を表す。ランレングスエンコーダ68は、単一のVLCテーブル69を用いてランレングスを符号化することが可能である。一例では、VLCテーブル69は基本レイヤエントロピーエンコーダ46のVLCテーブル52のうちの1つと同じであり得る。あるいは、ランレングスエンコーダ68は、詳細には拡張レイヤの係数ベクトルのランを符号化するように設計された、個別のVLCテーブルを維持することが可能である。いずれの場合も、ランレングスエンコーダ68はランを符号化するために使用するためのVLCテーブルを順応的に選択する必要がない可能性がある。代わりに、ランレングスエンコーダ68は単一のVLCテーブルを使用することが可能であり、それによりVLCテーブルを選択するために使用される統計を収集するための第1のパスの必要を除去する。
それぞれの係数の符号化されたランレングスに続いて、符号エンコーダ70は非ゼロ係数の符号を符号化する。符号エンコーダ70は、例えば非ゼロ係数の符号が正である場合、「1」を符号化し、非ゼロ係数の符号が負である場合、「0」を符号化することが可能である。拡張レイヤエントロピーエンコーダ49は、拡張レイヤの非ゼロ係数の大きさを符号化しなくてよく、これは結果としてピーク信号対雑音比(PSNR)に何らかの損失をもたらす可能性があるが、係数を符号化するために使用されるビットの数を削減する。
本開示のエントロピー符号化技術は、拡張レイヤエントロピーエンコーダ49が単一のパス内で拡張レイヤビットストリームの係数を符号化することを可能にし得る。拡張レイヤエントロピーエンコーダ49は、例えばシンボルを生成するためおよび/またはVLCテーブルを選択するために係数ベクトルを解析しないので、1つの符号化パスのみが必要とされる。通常のエンコーダは、一般に2つのパスを実行する。すなわち、(1)係数ベクトルを解析するための第1のパスおよび(2)その解析に基づいて、係数ベクトルを符号化するための第2のパスである。加えて、拡張レイヤエントロピーエンコーダ49は単一のVLCテーブルを用いて拡張レイヤの係数を符号化することが可能であり、それにより様々なVLCテーブルから選択するために符号化パスを実行する必要を除去する。このように拡張レイヤエントロピーエンコーダ49は、符号化の複雑さ、符号化遅延およびメモリ要件を削減することが可能である。さらに、本開示のエントロピー符号化技術は、さらに結果として基本レイヤの係数情報を格納することと、当該情報にアクセスすることとを伴わずに、拡張レイヤの係数の符号化することが可能であり、さらに演算上の複雑さおよびメモリ要件を低減する。
図5は、基本レイヤデコーダ34および拡張レイヤデコーダ36の例をさらに詳細に示すブロック図である。基本レイヤデコーダ34は基本レイヤエントロピーデコーダ72、係数走査ユニット74A、逆量子化ユニット76A、逆変換ユニット78A、予測ユニット80A、フレーム格納部82Aおよび加算器84Aを含む。拡張レイヤデコーダ34は、拡張レイヤエントロピーデコーダ86、係数走査ユニット74A、逆量子化ユニット76A、逆変換ユニット78A、予測ユニット80A、フレーム格納部82Aおよび加算器84Aを含む。
基本レイヤエントロピーデコーダ72は、ディスプレイデバイス上で表示する目的で第1の品質でビデオデータを作成するために、受信された基本レイヤビットストリームを復号する。基本レイヤエントロピーデコーダ72は、基本レイヤビットストリームを受信して、残差情報(例えば、量子化された残差係数の一次元ベクトルの形をとる)およびヘッダ情報(例えば、1つまたは複数のヘッダシンタックス要素の形をとる)を取得するために、基本レイヤビットストリームを復号する。基本レイヤエントロピーデコーダ72は、図3および4の基本レイヤエントロピーエンコーダ46によって実行された符号化とは逆の復号機能を実行する。
詳細には、基本レイヤエントロピーデコーダ72は基本レイヤの量子化された残差係数のベクトルを表すシンボルを取得するために基本レイヤを復号する。例えば、H.264/MPEG−4、パート10、AVC標準において定義されたCAVLCを用いて符号化するとき、基本レイヤエントロピーデコーダ72はブロック内の非ゼロ係数の総数(TotalCoeff)、ブロックのトレイリングワンの数(T1s)、トレイリングワンの符号、トレイリングワン以外の係数の大きさ、すべてのランの和(sumRuns)および非ゼロ係数のそれぞれの前のランを取得するために基本レイヤを復号することが可能である。場合によっては、復号のために選択されたVLCテーブルは予め復号されたブロックまたは現ブロックの予め復号されたシンボルに基づいて選択され得る。その他の場合、基本レイヤエントロピーデコーダ34は基本レイヤシンボルを復号する際に使用するためのVLCテーブルを識別するために、基本レイヤビットストリームを復号することが可能である。復号されたシンボルを用いて、基本レイヤデコーダ34は基本レイヤの係数ベクトルを再構成することが可能である。
係数ベクトルを生成した後で、係数走査ユニット74Aは量子化された残差係数の二次元ブロックを生成するために係数ベクトルを逆走査する。逆量子化ユニット76Aは、量子化された残差係数を逆量子化、すなわち量子化解除し、変換ユニット78Aは画素値の残差ブロックを作成するために、量子化解除された残差係数に逆変換、例えば逆DCT、逆整数変換、逆ウェーブレット変換または逆方向変換を適用する。
予測ユニット80Aは、イントラ予測の場合は共通のフレーム内の1つもしくは複数の隣接するブロックを用いて、またはインター予測の場合は隣接するフレーム内の1つもしくは複数のブロックを用いて、予測ブロックを生成する。予測ユニットは、基本レイヤからの予め符号化されたブロックのみを用いて予測ブロックを生成する。加算器84Aは、再構成された基本レイヤビデオブロックを形成するために、画素値の残差ブロックを用いて予測ユニット80Aによって生成された予測ブロックを合計する。基本レイヤビデオブロックは、後続の予測ブロックを生成する目的で使用されるために、フレーム格納部82A内に格納される。
拡張レイヤデコーダ36は、例えば既存の残差係数に対する追加の残差係数または改良版のベクトルの形をとる、ビデオデータの改良版を取得するために、拡張レイヤビットストリームを復号する。拡張レイヤエントロピーデコーダ86は、EOBシンボルがそれ以上の非ゼロ係数が残っていないことを示すまで、拡張レイヤエントロピーエンコーダ49によって使用されたのと同じVLCテーブルを用いて拡張レイヤ係数のランおよび符号を復号する。復号されたシンボルを用いて、 拡張レイヤエントロピーデコーダ86は拡張レイヤブロックの係数ベクトルを再構成する。復号された係数ベクトルは、基本レイヤのビットと組み合わされたとき、復号されたビデオデータの品質を第2のさらに高い品質に高める改良版を表す追加のビットを表す。
係数ベクトルを生成した後で、係数走査ユニット74Bは量子化された残差係数の二次元ブロックを生成するために、係数ベクトルを逆走査する。逆量子化ユニット76Bは量子化された残差係数を逆量子化、すなわち量子化解除し、逆変換ユニット78Bは画素値の残差ブロックを作成するために、量子化解除された残差係数に逆変換、例えば逆DCT、逆整数変換、逆ウェーブレット変換または逆方向変換を適用する。
予測ユニット80Bは、イントラ予測の場合は共通のフレーム内の1つもしくは複数の隣接するブロックを用いて、またはインター予測の場合は隣接するフレーム内の1つもしくは複数のブロックを用いて、予測ブロックを生成する。予測ユニットは、基本レイヤおよび拡張レイヤの両方からの予め符号化されたブロックを用いて予測ブロックを生成する。加算器84Bは、再構成された拡張レイヤビデオブロックを形成するために、画素値の残差ブロックを用いて予測ユニット80Bによって生成された予測ブロックを合計する。拡張レイヤビデオブロックは、後続の予測ブロックを生成する際に、予測ユニット80Bによる使用のためにフレーム格納部82B内に格納される。再構成された基本レイヤビデオブロックおよび再構成された拡張レイヤビデオブロックは、さらに高い品質を有するビデオブロックを形成するために、加算器84Cにおいて組み合わされる。
図6は、例示的な基本レイヤエントロピーデコーダ72および拡張レイヤエントロピーデコーダ86をより詳細に示すブロック図である。基本レイヤエントロピーデコーダ72は、複数のVLCテーブル52A〜52N(「VLCテーブル52」)、総係数デコーダ90、トレイリングワン(T1s)デコーダ92、符号デコーダ94、係数の大きさデコーダ96、ランの和デコーダ98およびランレングスデコーダ100を含み得る。拡張レイヤエントロピーデコーダ86は、EOBシンボルデコーダ102、ランレングスデコーダ104、符号デコーダ106およびVLCテーブル69を含み得る。
基本レイヤエントロピーデコーダ72は、基本的な品質レベルでビデオブロックの係数ベクトルを示すシンボルを取得するために、基本レイヤビットストリームを復号する。総係数デコーダ90は、係数ベクトル内の非ゼロ係数の総数(TotalCoeff)を取得するために、VLCテーブル52のうちの1つを用いてビットストリームを復号する。総係数デコーダ90は、現在の係数ベクトルの非ゼロ係数の数の予測に基づいて、例えば1つまたは複数の予め復号されたビデオブロックの非ゼロ係数の数に基づいて、TotalCoeffを復号するためのVLCテーブル52を選択することが可能である。このように総係数デコーダ90は、TotalCoeffシンボルを符号化するために総係数エンコーダ54によって使用されたのと同じVLCテーブル52を選択することが可能である。
総係数デコーダ90が非ゼロ係数の総数を復号した後で、T1sデコーダ92はT1sシンボルを復号する。T1sシンボルは、逆の順序で係数ベクトルが読み取られたとき、2以上の大きさを有する係数に遭遇する前に遭遇する、1の大きさを有する係数の数を表す。T1sデコーダ92は、非ゼロ係数の予測数に基づいて選択されたVLCテーブル52のうちの1つを用いてT1sシンボルを復号することが可能である。
符号デコーダ94は、任意のトレイリングワンの符号を復号する。例えば、符号デコーダ94はトレイリングワンのそれぞれに関して「1」が受信されたとき、係数の符号が正であることを決定し、「0」が受信されたとき、係数の符号が負であることを決定することが可能である。係数の大きさデコーダ96は、トレイリングワン以外の非ゼロ係数の大きさを復号する。係数の大きさデコーダ96は、VLCテーブル、固定長符号化、またはその他のタイプのエントロピー符号化を用いて、非ゼロ係数のレベルを復号することが可能である。
ランの和デコーダ98は、最後の非ゼロ係数の前の係数ベクトル内で発生するゼロ値係数の数を表すシンボル、すなわちsumRunsシンボルを復号することが可能である。ランの和デコーダ98は、総係数デコーダ90によって予め復号された、ブロック内の係数の総数(TotalCoeffs)に基づいて選択されたVLCテーブル52のうちの1つを用いてsumRunsシンボルを復号する。この場合も、ブロック内の係数の総数(TotalCoeffs)に基づいて、sumRunsシンボルを復号するときに使用するためのVLCテーブルを選択することは、ランの和デコーダ98がsumRunsをより効率的に復号するVLCテーブルを選択することを可能にし得る。
ランレングスデコーダ100は、係数ベクトルのランレングスを復号する。ランレングスデコーダ100は、係数ベクトルの第1の非ゼロ係数の前のランレングスが復号されるまで、まず係数ベクトルの最後の非ゼロ係数のランレングスとその後に続く先行する非ゼロ係数のランレングス、等々を復号することが可能である。すなわち、ランレングスデコーダ100は、まず最後のランレングスの復号を始めることが可能である。ランレングスデコーダ64は、係数ベクトルの総ランの和(sumRuns)とこれまでに符号化されたランの和とに基づいて選択されたVLCテーブル52を用いてランレングスのそれぞれを復号することが可能である。sumRunsシンボルは、ランの和デコーダ98によって予め復号される。しかし、ランレングスデコーダ100は、これまで復号されたランの和に関する統計を収集することが可能である。それぞれの追加のランが復号されるにつれて可能なランレングスは段階的に短くなるため、ランレングスデコーダ100はランを表すために使用されるビットの数を削減するために、より効率的なVLCテーブルを選択することが可能である。このようにランレングスデコーダ100によって使用されるVLCテーブル52は、ランレングスのそれぞれに関して異なり得る。
拡張レイヤエントロピーデコーダ86は、例えば既存の係数に対する追加の係数または改良版の形をとる、ビデオブロックに関する改良版を取得するために、拡張レイヤのビットストリームを復号する。EOBシンボルデコーダ102は、少なくとも1つの残りの非ゼロ係数が存在するかどうかをEOBシンボルが示すかどうかを決定する。少なくとも1つの残りの非ゼロ係数が存在するとき、ランレングスデコーダ104は、 次の非ゼロ係数に先行するランレングスを復号する。ランレングスデコーダ104は、ランレングスエンコーダ68によって使用されたVLCテーブルと同じであるVLCテーブル69を用いて、次の非ゼロ係数のランレングスを復号することが可能である。符号エンコーダ106は、非ゼロ係数の符号を復号する。例えば、符号エンコーダ106は「1」が受信されたとき、係数の符号が正になり、「0」が受信されたとき、負になることを決定することが可能である。拡張レイヤエントロピーデコーダ86は、残りの非ゼロ係数が存在しないことをEOBシンボルデコーダ102が示すまで非ゼロ係数を復号し続ける。
図7は、4×4係数ブロック40のジグザグ走査を例示する概念図である。図7に示されるジグザグ走査は、図2のエンコーダ30、32によって実行され得る。図7に示される、このようなジグザグ走査に関する走査順序はビデオブロック110を通して矢印をたどり、係数c1〜c16は走査順序でラベル付けされている。詳細には、図7に示される数値は系列一次元ベクトル内の係数の位置を示し、係数の実際の値を示さない。図7に例示されるジグザグ走査の結果は、一次元係数ベクトルXである。ここで、
Figure 0005248619
であり、c1〜c16は係数の二次元アレイ内の係数の位置を表す。
本開示の技術は、任意の特定の走査順序または技術に限定されない。例えば、本開示で使用される走査順序は図7に示されるジグザグ走査順序であってよい。あるいは、本開示で使用される走査順序は水平走査、垂直走査または任意のその他の走査技術など、その他の走査順序であってもよい。
図8は、拡張レイヤの係数の係数ブロック120の仮説例を示す概念図である。この例では、図8に示される数値は位置にある係数の実際の値を示す。係数ブロック120の実際の係数値は、量子化された残差係数、量子化を伴わない変換係数または拡張レイヤ内のビデオブロックのその他のタイプの係数を表し得る。図8示される例では、係数ブロック120は4×4ブロックである。しかし、本開示の技術は任意のサイズのブロックに適用するために拡張され得る。図3に例示されるジグザグ走査に従って係数ブロック120を走査した後で、結果として生じる係数ベクトルVは、
Figure 0005248619
である。
拡張レイヤエンコーダ32は、本開示で説明する技術に従って係数ベクトルVの係数のそれぞれを符号化する。例として、係数ベクトルVの非ゼロ係数のそれぞれに関して拡張レイヤエンコーダ32はEOBシンボルとランレングスおよび符号を符号化する。上で詳細に説明したように、EOBシンボルは係数ベクトル内に任意の残りの非ゼロ係数が存在するかどうかを示し、ランレングスは係数ベクトルの現在の非ゼロ係数の前に発生するゼロ値係数の数を表し、符号は係数値が正であるか、または負であるかを示す。
本開示の一態様によれば、拡張レイヤエンコーダ32は係数の大きさを符号化しなくてよい。代わりに、拡張レイヤエンコーダ32は非ゼロ係数のすべての大きさが1に等しかった場合と同様に、非ゼロ係数のそれぞれを符号化することが可能である。このように、拡張レイヤエンコーダ32はVの代わりに以下の係数ベクトルV’を符号化すると見なされ得る。
Figure 0005248619
拡張レイヤエンコーダ32は、0に等しいEOBと0のランに関する符号語と1に等しい符号とを用いて第1の係数(すなわち、係数ベクトルV内の4または係数ベクトルV’内の1)を符号化すること、0に等しいEOBと2のランに関する符号語と0に等しい符号とを用いて、第2の係数(すなわち、係数ベクトルV内の−2または係数ベクトルV’内の−1)を符号化すること、および0に等しいEOBと1のランに関する符号語と1に等しい符号(sign)と、その後に続く1に等しいEOBシンボルとを用いて、第3の非ゼロ係数(すなわち、係数ベクトルV内または係数ベクトルV’内の1)を符号化することが可能である。上で説明したように、ランを符号化するために使用される符号語はH.264/MPEG−4、パート10、AVC標準において定義されたVLCテーブルから取得され得る。
この例示的な符号化されたビットストリームは、例示のために説明される。拡張レイヤエンコーダ32は、本開示の範囲から逸脱することなく、異なる形で係数ベクトルV,V’を符号化することが可能である。例えば、EOBシンボルはブロック内で追加の非ゼロ係数を表すために1として符号化され得るし、残りの非ゼロ係数が存在しないことを表すために0として符号化され得る。同様に、符号シンボルは正の非ゼロ係数を表すために0として符号化され得るし、負の非ゼロ係数を表すために1として符号化され得る。もう1つの例として、それぞれの非ゼロ係数に関して符号化されたEOBシンボルは、現在の係数がベクトルの最後の非ゼロ係数であるかどうかを表すことが可能である。従って、符号化されたビットストリームの終端においてEOBシンボルが存在しない可能性がある。代わりに、現在の係数が最後の非ゼロ係数であることをEOBシンボルが示すとき、ビデオデコーダは現在の係数のランおよびシンボルを復号した後でブロックの追加の係数が存在しないことをわかっている。
図9は、本開示のスケーラブルビデオ符号化技術を実行している、図2のビデオエンコーダ20などのビデオエンコーダの例示的な動作を示す流れ図である。ビデオエンコーダ20の基本レイヤエンコーダ30および拡張レイヤエンコーダ32は、ビデオソース18からビデオデータを取得する(130)。上で説明したように、基本レイヤエンコーダ30および拡張レイヤエンコーダ32は同じ原ビデオデータを取得する。ビデオソース18から取得されたビデオデータは、例えば一連のビデオフレームであり得る。
それぞれのビデオブロックに関して、基本レイヤエンコーダ30は複数の符号化パスを実行する符号化技術を用いて基本レイヤを符号化する(132)。基本レイヤは、第1の品質レベルでビデオブロックを符号化する。基本レイヤエンコーダ30は、第1の品質でビデオブロックを表す係数ベクトルを生成して基本レイヤを生成するために、当該ブロックの残差変換係数を符号化することが可能である。基本レイヤエンコーダ30はH.264/MPEG−4、パート10、AVC標準において定義されたCAVLCに従って基本レイヤを生成するために、係数ベクトルを符号化することが可能である。図2に関して上で詳細に説明したように、基本レイヤエンコーダ30は係数ベクトルを解析するための第1の符号化パスおよびその解析に基づいて、係数ベクトルを符号化するための第2のパスを実行することが可能である。
それぞれのビデオブロックに関して、拡張レイヤエンコーダ32は単一の符号化パスを実行する符号化技術を用いて拡張レイヤとして追加のビットを符号化する(134)。拡張レイヤビットストリームの追加のビットは、基本レイヤビットストリームに追加されたとき、ビデオを第2のさらに高い品質レベルに高める改良版を符号化する。拡張レイヤエンコーダ32は、この例において単一の拡張レイヤのみを符号化するとして説明するが、拡張レイヤエンコーダ32は2つ以上の拡張レイヤビットストリームを符号化することが可能である。その場合、拡張レイヤが復号されるにつれて拡張レイヤは段階的にさらに高い品質を提供するという意味で、拡張レイヤは階層的であり得る。
拡張レイヤエンコーダ32によって使用される第2のエントロピー符号化技術は、拡張レイヤの係数ベクトルの非ゼロ係数のそれぞれに関してEOBシンボルとランと符号とを符号化することが可能である。上で詳細に説明したように、EOBシンボルは任意の残りの非ゼロ係数が存在するかどうかを示すことが可能であり、ランレングスは非ゼロ係数に先行して発生するゼロ値係数の数を示し、符号は係数値が正であるか、または負であるかを示す。最後の非ゼロ係数の符号に続いて、拡張レイヤエンコーダ32は残りの非ゼロ係数が存在しないことを示すために、EOBシンボルを符号化することが可能である。
基本レイヤエンコーダ30および拡張レイヤエンコーダ32は、それぞれ符号化された基本レイヤビットストリームおよび符号化された拡張レイヤビットストリームを出力する(136)。拡張レイヤエンコーダ32によって使用されるエントロピー符号化技術は、符号化効率性の損失をあまり伴わずに、さらに低い演算上および実装上の複雑さを伴って、拡張レイヤの残差係数の符号化を可能にし得る。本開示のエントロピー符号化技術は、単一の符号化パス内の拡張レイヤビットストリーム内で、例えば改良版の形をとる追加のビデオデータの符号化を可能にし、それにより符号化の複雑さ、符号化遅延、およびメモリ要件を削減することが可能である。例えば、拡張レイヤエンコーダ32は、任意の後続の係数の知識なしに拡張レイヤの係数ベクトルのそれぞれの非ゼロ係数を符号化することが可能であり、それにより単一のパス内で係数ベクトルの符号化を可能にして、係数ベクトルを解析するための第1のパスおよびその解析に基づいて、係数ベクトルを符号化するための第2のパスを実行する必要を除去する。
図10は、本開示の一態様に従って拡張レイヤのビデオブロックの残差係数を符号化している、図2の拡張レイヤエンコーダ32などの拡張レイヤエンコーダの例示的な動作を示す流れ図である。拡張レイヤエンコーダ32は、拡張レイヤブロックの係数ベクトル内の第1の非ゼロ係数を識別する(140)。拡張レイヤエンコーダ32は、拡張レイヤブロックの係数ベクトル内に少なくとも1つの残りの非ゼロ係数が存在することを示すEOBシンボルを符号化する(142)。拡張レイヤエンコーダ32は、単一のビットを用いてEOBシンボルを符号化すること、例えば少なくとも1つの残りの非ゼロ係数が存在するとき0を符号化し、それ以上の残りの非ゼロ係数が存在しないとき1を符号化することが可能である。
拡張レイヤエンコーダ32は、非ゼロ係数に先行するゼロ値係数の数を示すランを符号化する(144)。拡張レイヤエンコーダ32は、場合によってはH.264/MPEG−4、パート10、AVC標準において定義されたCAVLCに関して既に格納されたVLCテーブルを用いてランを符号化することが可能である。例えば、拡張レイヤエンコーダ32は係数の総数(TotalCoeffs)が1に等しいとき、ランの総和(sumRuns)を符号化するために使用されるVLCテーブルを用いてランを符号化することが可能である。あるいは、拡張レイヤエンコーダ32は、特に拡張レイヤの係数ベクトルのランを符号化するように設計された個別のVLCテーブルを維持することが可能である。
拡張レイヤエンコーダ32は、非ゼロ係数の符号を符号化することが可能である(146)。拡張レイヤエンコーダ32は、例えば非ゼロ係数の符号が正である場合は「1」を符号化し、非ゼロ係数の符号が負である場合は「0」を符号化することが可能である。場合によっては、拡張レイヤエンコーダ32は非ゼロ係数の大きさを符号化しなくよてい。このように拡張レイヤエンコーダ32は、非ゼロ係数の大きさを1に制限することが可能である。従って、2以上の大きさを有する任意の非ゼロ係数は、1に等しく設定される。拡張レイヤの非ゼロ係数の大きさを符号化しないことは、結果として、ピーク信号対雑音比(PSNR)に何らかの損失をもたらす可能性があるが、非ゼロ係数を符号化するために使用されるビットの数を削減する。
拡張レイヤエンコーダ32は、拡張レイヤブロック内に任意の残りの非ゼロ係数が存在するかどうかを決定する(148)。拡張レイヤブロック内に少なくとも1つの残りの非ゼロ係数が存在する場合、拡張レイヤエンコーダ32は残りの非ゼロ係数のそれぞれに関して、EOBとランと符号とを符号化し続ける。拡張レイヤブロック内に残りの非ゼロ係数が存在しないとき、拡張レイヤエンコーダ32は拡張レイヤブロックの係数ベクトル内に残りの非ゼロ係数が存在しないことを示すためのEOBシンボルを符号化する(149)。上で説明したように、拡張レイヤは基本レイヤに沿って送信される。
図10で説明された拡張レイヤ符号化技術は、2つ以上の係数を指すシンボルを符号化しないため、拡張レイヤ符号化技術は拡張レイヤエンコーダ32が利用可能なビットレートに応じて符号化の間に係数ベクトルの量子化された残差係数のうちの1つまたは複数を破棄することを可能にし得る。さらに、拡張レイヤ符号化技術は符号化の複雑さおよび実装を削減する。
図11は、残差変換係数のベクトルを取得するために拡張レイヤビットストリームを復号している、図2の拡張レイヤデコーダ36などの拡張レイヤデコーダの例示的な動作を示す流れ図である。拡張レイヤデコーダ36は、拡張レイヤビットストリームを取得する(150)。拡張レイヤデコーダ36は、任意の残りの非ゼロ係数が存在するかどうかを決定するために、EOBシンボルを解析する(152)。拡張レイヤデコーダ36は、例えばEOBシンボルが0に等しいとき少なくとも1つの残りの非ゼロ係数が存在することを決定し、EOBシンボルが1に等しいとき残りの非ゼロ係数が存在しないことを決定することが可能である。
拡張レイヤデコーダ36が少なくとも1つの残りの非ゼロ係数が存在すること、例えばEOBシンボルが0に等しいことを決定するとき、拡張レイヤデコーダ36は次の非ゼロ係数に関連するランを復号する(154)。次の非ゼロ係数に関連するランは、非ゼロ係数に先行するゼロ値係数の数を表す。拡張レイヤデコーダ36は、拡張レイヤエンコーダ32によって使用された同じVLCテーブルを用いて、ランを復号する。一例では、拡張レイヤデコーダ36は係数の総数(TotalCoeffs)が1に等しいときランの総和(sumRuns)を符号化する際に使用するために、H.264/MPEG−4、パート10、AVC標準において定義されたCAVLCで使用されたVLCテーブルを用いてランを復号することが可能である。しかし、拡張レイヤエンコーダ32によって使用されたのと同じテーブルである限り、その他のVLCテーブルが使用されることも可能である。拡張レイヤデコーダ36は、係数の数を0に等しい非ゼロ係数に先行するランレングスに等しく設定する(156)。例えば、ランレングスが2に等しい場合、拡張レイヤデコーダ36は非ゼロ係数に先行する2つの係数を0に等しく設定することが可能である。
拡張レイヤデコーダ36は、非ゼロ係数の符号を復号する(158)。非ゼロ係数の符号は、符号シンボルが1に等しいとき正として復号され、符号シンボルが0に等しいとき負として復号され得る。非ゼロ係数の符号を復号した後で、拡張レイヤデコーダ36は復号された符号に基づいて非ゼロ係数をプラスマイナス1に等しく設定することが可能である(160)。上で説明したように、拡張レイヤは、拡張レイヤの係数の大きさを符号化しなくてもよい。従って、拡張レイヤデコーダ36はすべての非ゼロ係数の大きさを1に等しく設定するように構成され得る。
拡張レイヤデコーダ36は、拡張レイヤデコーダ36が残りの非ゼロ係数が存在しないこと、例えばEOBシンボルが1に等しいことを決定するまで、非ゼロ係数のランおよび符号を復号し続ける。この時点で、拡張レイヤデコーダ36は何らかの係数が残っている場合、ベクトルの残りの係数を0に等しく設定する(162)。図2に関してより詳細に説明したように、拡張レイヤデコーダ36はディスプレイ28に表示する目的でビデオブロックを再構成するために、予測ブロックおよびその他のデータに加えて係数ベクトルを使用する。
図12〜15は、スケーラブルビデオ符号化において使用するためのエンコーダおよび/またはデコーダの異なる構成を例示するブロック図である。これらの例示的なエンコーダおよびデコーダは、その中で本開示の技術が利用され得るエンコーダのタイプを例示するためである。しかし、例示的な構成は決して説明される技術に限定されるべきではない。これらの技術は、任意のスケーラブルビデオエンコーダにおいて使用され得る。
図12〜15に示される例示的なビデオエンコーダおよびビデオデコーダのそれぞれは、拡張レイヤビットストリームの効率的な符号化を促すために、本開示で説明するエントロピー符号化技術を利用することが可能である。本開示のエントロピー符号化技術は、単一の符号化パス内の拡張レイヤビットストリーム内で、例えば改良版の形をとる、追加のビデオデータの符号化を可能にし、それにより符号化の複雑さ、符号化遅延、およびメモリ要件を削減する。さらに詳細に説明するように、拡張レイヤの係数ベクトルのそれぞれの非ゼロ係数は任意の後続の係数、すなわち現在復号されている非ゼロ係数に続く任意の係数の知識なしに符号化され得る。単一のパス内で拡張レイヤを符号化することは、係数ベクトルを解析するための第1のパスおよびその解析に基づいて、係数ベクトルを符号化するための第2のパスを実行する必要を除去することが可能である。
図12は、例示的なスケーラブルビデオエンコーダ170を示すブロック図である。スケーラブルビデオエンコーダ170は、例えば図2のビデオエンコーダ20に対応し得る。図12の例では、スケーラブルビデオエンコーダ170は基本レイヤエンコーダ30を含み、予測ユニット172、フレーム格納部173、変換ユニット174、量子化ユニット175Aおよび175B、逆量子化ユニット176Aおよび176B、逆変換ユニット177、多重化モジュール178および加算器179A〜179Cを含む。図3において、ユニットとして異なる特徴を示すことは、例示されたデバイスの異なる機能的態様を強調することが意図され、そのようなユニットが個別のハードウェアまたはソフトウェア構成要素によって実現されなければならないことを意味するとは限らない。むしろ、1つもしくは複数のユニットに関連する機能性は、共通のハードウェアまたはハードウェア構成要素、あるいは個別のハードウェアまたはソフトウェア構成要素の中に組み込まれ得る。
予測ユニット172は、イントラ予測またはインター予測を用いて予測ブロックを生成する。予測ブロックは、符号化されている現ビデオブロックの予測バージョンであり得る。上で説明したように、予測ユニット172は符号化されている現ブロックと同じフレーム内の基本レイヤの1つまたは複数の予め符号化されたブロックに基づき、イントラ予測を用いて予測ブロックを生成することが可能である。あるいは、予測ユニットは基本レイヤの1つまたは複数の隣接するフレーム内の1つまたは複数の予め符号化されたブロックに基づきインター予測を用いて予測ブロックを生成することが可能である。予測ユニット172は、フレーム格納部173から予め符号化されたブロックを取り出すことが可能である。
ビデオブロックのイントラ予測またはインター予測に続いて、基本レイヤエンコーダ30は加算器179Aにおいて現ビデオブロックからの予測ユニット172によって作成された予測ブロックを減じることによって残差ブロックを生成する。この残差ブロックは、現ビデオブロックの画素値と予測ブロックの画素値との間の差分を量子化する画素差分値のセットを含む。この残差ブロックは、二次元ブロック形態(例えば、二次元行列または画素値のアレイ)の形で表され得る。すなわち、残差ブロックは画素値の二次元表示である。
変換ユニット174は、残差変換係数を作成するために残差ブロックに変換を適用する。変換ユニット174は、例えばDCT、整数変換、方向変換、ウェーブレット変換、またはそれらの組合せを適用することが可能である。画素値の残差ブロックに変換を適用した後で、量子化ユニット175Aはビットレートをさらに削減するために変換係数を量子化する。基本レイヤに関連する量子化された係数に対応する量子化ユニット175Aの出力は、多重化モジュール178に提供される。
量子化に続いて、逆量子化ユニット176Aは変換係数の残差ブロックの再構成されたバージョンを作成するために逆量子化を適用する。加算器179Bは、変換ユニット174から出力された変換係数の原残差ブロックから、逆量子化ユニット176Aから出力された変換係数の残差ブロックの再構成されたバージョンを減じる。本明細書において変換差分ブロックと呼ばれるこのブロックは、量子化ユニット175Bに提供される。量子化ユニット175Bは、ビットレートをさらに減じるために変換係数を量子化する。拡張レイヤに関連する量子化された係数に対応する、量子化ユニット175Bの出力は、多重化モジュール178に提供される。一例では、量子化ユニット175Aは第1のQPを用いて残差係数を量子化することが可能であり、 量子化ユニット175Bは第2のQPを用いて残差係数差分を量子化することが可能である。第2のQPは、例えば第1のQPの値の半分、すなわち、QP/2であってよい。
量子化ユニット175Bによる量子化に続いて、逆量子化ユニット176Bは変換差分ブロックの再構成されたバージョンを生成するために逆量子化を適用する。加算器179Cは、再構成された残差ブロックを生成するために逆量子化ユニット176Bから出力された変換差分ブロックの再構成されたバージョンに、逆量子化ユニット176Aから出力された変換係数の残差ブロックの再構成されたバージョンを追加する。
逆変換ユニット177は、ビデオブロックの再構成されたバージョンに逆変換を適用する。フレーム格納部173内に格納されたビデオブロックの再構成されたバージョンは、後続のビデオブロックをイントラ符号化またはインター符号化するために予測ユニット172によって使用され得る。予測ユニット172は、動きベクトル、分割サイズ、イントラ符号化モードなどの制御データを多重化モジュール178に提供することが可能である。多重化モジュール178は、基本レイヤデータと拡張レイヤデータとを組み合わせることが可能である。場合によっては、多重化モジュール178は基本レイヤデータおよび拡張レイヤデータをエントロピー符号化するためのエントロピーエンコーダを含み得る。その他の場合、基本レイヤエンコーダおよび拡張レイヤエンコーダは、多重化モジュールから分離し得る。
図13は、例示的なスケーラブルビデオデコーダ180を示すブロック図である。スケーラブルビデオデコーダ180は、例えば図2のビデオデコーダ26に対応し得る。図13のスケーラブルビデオデコーダ180は、逆多重化モジュール(demultiplex module)181、逆量子化ユニット182Aおよび182B、逆変換ユニット183、予測ユニット184、フレーム格納部185ならびに加算器186Aおよび186Bを含む。
逆多重化モジュール181は、スケーラブル符号化されたビデオを受信して信号を逆多重化する。場合によっては、逆多重化モジュール181は基本レイヤデータおよび拡張レイヤデータをエントロピー復号するためのエントロピーデコーダを含み得る。その他の場合、基本レイヤデコーダおよび拡張レイヤデコーダは、逆多重化モジュールから分離し得る。
逆量子化ユニット182Aは基本レイヤに関連する量子化された残差係数を逆量子化、すなわち量子化解除し、逆量子化ユニット182Bは拡張レイヤに関連する量子化された残差係数を量子化解除する。一例では、逆量子化ユニット182Aは第1のQPを用いて残差係数を量子化することが可能であり、逆量子化ユニット182Bは第2のQPを用いて残差係数差分を量子化することが可能である。第2のQPは、例えば第1のQPの値の半分、すなわちQP/2であってよい。逆量子化ユニット182Aおよび182Bによって出力された、量子化解除された変換係数のそれぞれのセットは、再構成された残差変換ブロックを生成するために、加算器186Aにおいて加算される。上で説明したように、逆量子化ユニット182Aによって出力された、量子化解除された変換係数は、基本的な品質レベルに対応することが可能であり、逆量子化ユニット182Bによって出力された、量子化解除された変換係数は、逆量子化ユニット182Bのアウトプットに追加されたとき、結果として品質レベルの増大をもたらす。
逆変換ユニット183は、画素値の残差ブロックを作成するために量子化解除された残差係数ブロックの和に逆変換、例えば逆DCT、逆整数変換、逆ウェーブレット変換または逆方向変換を適用する。加算器186Bは、再構成された基本レイヤビデオブロックを形成するために、画素値の残差ブロックに予測ユニット184によって生成された予測ブロックを追加する。上で詳細に説明したように、予測ユニット184はイントラ予測の場合は共通のフレーム内の1つもしくは複数の隣接するブロックを用いて、またはインター予測の場合はフレーム格納部185内に格納され得る、隣接するフレーム内の1つもしくは複数のブロックを用いて、予測ブロックを生成することが可能である。
図14は、もう1つの例示的なスケーラブルビデオデコーダ190を示すブロック図である。スケーラブルビデオデコーダ190は、例えば図2のビデオデコーダ26に対応し得る。図14のスケーラブルビデオデコーダ190は、逆多重化モジュール191、逆量子化ユニット192Aおよび192B、逆変換ユニット193Aおよび193B、予測ユニット194、フレーム格納部195ならびに加算器196Aおよび196Bを含む。
逆多重化モジュール191は、スケーラブル符号化されたビデオを受信して、信号を逆多重化する。場合によっては、逆多重化モジュール181は、基本レイヤデータおよび拡張レイヤデータをエントロピー復号するためのエントロピーデコーダを含み得る。その他の場合、基本レイヤデコーダおよび拡張レイヤデコーダは、逆多重化モジュールから分離し得る。
逆量子化ユニット192Aおよび逆変換ユニット193Aは、基本レイヤの残差ブロックの再構成されたバージョンを取得するために、基本レイヤに関連する復号された残差係数に逆量子化動作、すなわち量子化解除動作と、逆変換動作とを適用する。逆量子化ユニット192Bおよび逆変換ユニット193Bは、拡張レイヤの残差ブロックの再構成されたバージョンを取得するために、拡張レイヤに関連する復号された残差係数に逆量子化動作、すなわち量子化解除動作と、逆変換動作とを適用する。一例では、逆量子化ユニット192Aは第1のQPを用いて残差係数を量子化することが可能であり、逆量子化ユニット192Bは第2のQPを用いて残差係数差分を量子化することが可能である。第2のQPは、例えば、第1のQPの値の半分、すなわち、QP/2であってよい。
予測ユニット194は、イントラ予測の場合は共通のフレーム内の1つもしくは複数の隣接するブロックを用いて、またはインター予測の場合はフレーム格納部195内に格納され得る、隣接するフレーム内の1つもしくは複数のブロックを用いて、予測ブロックを生成することが可能である。加算器196Aは、基本的な品質レベルで復号されたビデオデータを生成するために、逆変換ユニット193Aから出力された、再構成された残差ブロックに、予測ユニット194によって生成された予測ブロックを追加する。基本的な品質レベルを有する復号されたビデオデータは、スケーラブルビデオエンコーダ190から出力される。
基本的な品質レベルを有する復号されたビデオデータは、加算器196Bにも提供される。加算器196Bは、第2のさらに高い品質レベルで復号されたビデオデータを生成するために、逆変換ユニット193Bから出力された拡張レイヤの残差ブロックの再構成されたバージョンに、加算器196Aのアウトプットを追加する。基本的な品質レベルを有する復号されたビデオデータは、スケーラブルビデオエンコーダ190から出力される。
図15は、もう1つの例示的なビデオエンコーダ200を示すブロック図である。図15の例では、基本レイヤエンコーダ30は、予測ユニット33A、フレーム格納部35A、変換ユニット38A、量子化ユニット40A、係数走査ユニット41A、逆量子化ユニット42A、逆変換ユニット44A、基本レイヤエントロピーエンコーダ46、加算器48A〜48Cおよびイントラ予測ユニット40Aを含む。図3において、ユニットとして異なる特徴を示すことは、例示されたデバイスの異なる機能的態様を強調することが意図され、そのようなユニットが個別のハードウェアまたはソフトウェア構成要素によって実現されなければならないことを意味するとは限らない。むしろ、1つもしくは複数のユニットに関連する機能性は、共通のハードウェアまたはソフトウェア構成要素、あるいは個別のハードウェアもしくはソフトウェア構成要素の中に組み込まれ得る。
予測ユニット33Aはインター予測、例えば動き補償予測を用いて、予測ブロックを生成する。予測ブロックは、符号化されている現ビデオブロックの予測バージョンであり得る。上で説明したように、予測ユニット33Aは基本レイヤの1つまたは複数の隣接するフレーム内の1つまたは複数の予め符号化されたブロックに基づき、インター予測を用いて予測ブロックを生成することが可能である。予測ユニット33Aは、フレーム格納部35Aから、予め符号化されたブロックを取り出すことが可能である。
ビデオブロックのインターベースの予測に続いて、基本レイヤエンコーダ30は加算器48Aにおいて現ビデオブロックから予測ユニット33Aによって作成された予測ブロックを減じることによって、残差ブロックを生成する。この残差ブロックは、現ビデオブロックの画素値と、予測ブロックの画素値との間の差分を量子化する画素差分値のセットを含む。この残差ブロックは、二次元ブロック形態(例えば、二次元行列または画素値のアレイ)の形で表され得る。すなわち、残差ブロックは画素値の二次元表示である。
変換ユニット38Aは、残差変換係数を作成するために残差ブロックに変換を適用する。変換ユニット38Aは、例えばDCT、整数変換、方向変換、ウェーブレット変換、またはそれらの組合せを適用することが可能である。画素値の残差ブロックに変換を適用した後で、量子化ユニット40Aはビットレートをさらに削減するために、変換係数を量子化する。量子化に続いて、逆量子化ユニット42Aおよび逆変換ユニット44Aは残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用することが可能である。加算器48Bは、フレーム格納部35A内に格納するために再構成されたビデオブロックを作成するために、予測ユニット33Aによって作成された予測ブロックに再構成された残差ブロックを追加する。フレーム格納部34内に格納された、再構成されたビデオブロックは、後続のビデオブロックをイントラ符号化またはインター符号化するために、基本レイヤエンコーダ30の予測ユニット32によって使用され得る。加えて、下でより詳細に説明するように、フレーム格納部35A内に格納された、再構成されたビデオブロックは、拡張レイヤ内のビデオブロックの改良版をイントラ符号化またはインター符号化するために、拡張レイヤエンコーダ32の予測ユニット33Bによって使用され得る。
量子化に続いて、加算器48Cは量子化された残差係数からイントラ予測ユニット40Aによって生成されたイントラ予測ブロックを減じる。イントラ予測ユニット40Aは、符号化されている現ブロックと同じフレーム内の1つまたは複数の予め符号化されたブロックに基づき、イントラ予測を用いて予測ブロックを生成することが可能である。基本レイヤエントロピーエンコーダ46は、例えばH.264/MPEG−4、パート10、AVC標準において定義され、図2に関して上で詳細に説明したCAVLCを用いて加算器48Cから出力された係数をエントロピー符号化する。
拡張レイヤエンコーダ32は、予測ユニット33B、フレーム格納部35B、変換ユニット38B、量子化ユニット40B、係数走査ユニット41B、逆量子化ユニット42B、逆変換ユニット44B、拡張レイヤエントロピーエンコーダ49および加算器48D〜48Fを含む。拡張レイヤエンコーダ32のユニットは、基本レイヤエンコーダ30の同類番号付けされたユニットのユニットに本質的に類似する。従って、違いのみが説明する。
拡張レイヤエンコーダ32の予測ユニット33Bは、現ビデオブロックの予測バージョンである予測ブロックを生成する。予測ブロックを生成するために、基本レイヤの予め符号化されたブロックを使用する、基本レイヤエンコーダ30の予測ユニット33Aと異なり、拡張レイヤエンコーダ32の予測ユニット33Bは、拡張レイヤの1つまたは複数の予め符号化されたブロックに基づいて予測ブロックを生成することが可能である。拡張レイヤの再構成されたビデオブロックは、第2の、基本レイヤの予測ブロックよりも高い品質であり得る。
拡張レイヤエンコーダ32と基本レイヤエンコーダ30との間のさらなる差は、拡張レイヤエンコーダ32の逆量子化ユニット42Bの出力が加算器48Fにおいて拡張レイヤエンコーダ30の逆量子化ユニット42Aの出力と組み合わされることである。逆量子化ユニット42Aおよび42Bの出力を加えることは、さらに高い品質の再構成されたビデオブロックを生成し、それにより上で説明した予測ユニットによるさらに良好な予測を可能にする。
本開示で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形で実装され得る。ユニットもしくは構成要素として説明した任意の特徴は、統合論理素子内で実装されることが可能であり、または離散的であるが、相互運用可能な論理素子として別々に実装されることも可能である。ソフトウェアの形で実装される場合、これらの技術は実行されたとき上で説明した方法のうちの1つまたは複数を実行する命令を備えたコンピュータ可読媒体によって、少なくとも部分的に実現され得る。このコンピュータ可読媒体は、実装材料を含み得るコンピュータプログラム製品の一部を形成し得る。このコンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)、読出し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気データ記憶媒体または光データ記憶媒体などのランダムアクセスメモリ(RAM)を備え得る。これらの技術は、さらに、または別法として、命令もしくはデータ構造の形をとるコードを運ぶか、または当該コードを通信し、かつコンピュータによってアクセス、読取り、および/あるいは実行されることが可能な、コンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
当該コードは、1つもしくは複数のディジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、またはその他の均等な統合論理回路あるいはディスクリート論理回路など、1つもしくは複数のプロセッサによって実行され得る。従って、「プロセッサ」という用語は、本明細書で使用される場合、前述の構造、または本明細書で説明した技術の実装に適した任意のその他の構造のいずれかを指す場合がある。加えて、いくつかの態様では、本明細書で説明した機能性は、符号化もしくは復号するように構成された専用のソフトウェアユニット内または専用のハードウェアユニット内に提供されることが可能であり、あるいは組み合わされたビデオエンコーダ−デコーダ(コーデック)内に組み込まれることも可能である。ユニットとして異なる特徴を示すことは、例示されたデバイスの異なる機能的態様を強調することが意図され、そのようなユニットが個別のハードウェア構成要素またはソフトウェア構成要素によって実現されなければならないことを意味するとは限らない。むしろ、1つもしくは複数のユニットに関連する機能性は、共通のハードウェア構成要素またはソフトウェア構成要素、あるいは個別のハードウェア構成要素またはソフトウェア構成要素の中に組み込まれ得る。
様々な実施形態が説明されている。これらの実施形態およびその他の実施形態は、以下の特許請求の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
スケーラブルビデオ符号化を用いてビデオデータを符号化する方法であって、
ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化することと、
前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化することとを備え、前記ビデオブロックの前記改良版が単一の符号化パス内で符号化される方法。
[C2]
前記ビデオブロックの前記改良版を符号化することは、任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化することを備える、C1に記載の方法。
[C3]
前記ビデオブロックの前記改良版を符号化することは、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、少なくとも1つの残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号とを符号化することを備える、C1に記載の方法。
[C4]
最後の非ゼロ係数を符号化した後に、前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すシンボルを符号化することをさらに備える、C3に記載の方法。
[C5]
前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整することをさらに備える、C3に記載の方法。
[C6]
前記ビデオブロックの前記改良版の前記非ゼロ係数のそれぞれの前記大きさを1に等しくなるように調整することは、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化することを備える、C5に記載の方法。
[C7]
前記ビデオブロックの前記改良版を前記拡張レイヤビットストリームの一部として符号化することは、前記ビデオブロックの前記改良版の係数が、前記基本レイヤビットストリームの一部として前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように、前記ビデオブロックの前記改良版を符号化することを備える、C1に記載の方法。
[C8]
単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化することをさらに備える、C1に記載の方法。
[C9]
前記ビデオブロックを前記基本レイヤの一部として前記第1の品質で符号化することは、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化することと、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化することとを備える、C1に記載の方法。
[C10]
前記ビデオブロックを前記第1の品質で符号化することは、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従いコンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化することを備え、
前記ビデオブロックの前記改良版を符号化することは、前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて前記ビデオブロックの前記改良版を符号化することを備える、C9に記載の方法。
[C11]
前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、C1に記載の方法。
[C12]
スケーラブルビデオ符号化を用いてビデオデータを符号化するためのデバイスであって、
ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化し、 前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化する、少なくとも1個のエンコーダを備え、前記ビデオブロックの前記改良版が単一の符号化パス内で符号化されるデバイス。
[C13]
前記少なくとも1個のエンコーダは、任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化する、C12に記載のデバイス。
[C14]
前記少なくとも1個のエンコーダは、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、少なくとも1つ残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号とを符号化する、C12に記載のデバイス。
[C15]
前記少なくとも1個のエンコーダは、最後の非ゼロ係数を符号化した後で、前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すシンボルを符号化する、C14に記載のデバイス。
[C16]
前記少なくとも1個のエンコーダは、前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整する、C14に記載のデバイス。
[C17]
前記少なくとも1個のエンコーダは、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化する、C16に記載のデバイス。
[C18]
前記少なくとも1個のエンコーダは、前記ビデオブロックの前記改良版の係数が、前記基本レイヤビットストリームの一部として前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように前記ビデオブロックの前記改良版を符号化する、C12に記載のデバイス。
[C19]
前記少なくとも1個のエンコーダは、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化する、C12に記載のデバイス。
[C20]
前記少なくとも1個のエンコーダは、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化し、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化する、C12に記載のデバイス。
[C21]
前記少なくとも1個のエンコーダは、
前記第1の品質で前記ビデオブロックを符号化してITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従いコンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化することを備え、
前記ビデオブロックの前記改良版を符号化して前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて前記ビデオブロックの前記改良版を符号化することを備える、C20に記載のデバイス。
[C22]
前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、C12に記載のデバイス。
[C23]
前記少なくとも1個のエンコーダは、
前記ビデオブロックを基本レイヤビットストリームの一部として前記第1の品質で符号化する基本レイヤエンコーダと、
前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い前記第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を前記少なくとも1つの拡張レイヤビットストリームの一部として符号化する拡張レイヤエンコーダとを備える、C12に記載のデバイス。
[C24]
前記デバイスは、無線通信デバイスを備える、C12に記載のデバイス。
[C25]
前記デバイスは、集積回路デバイスを備える、C12に記載のデバイス。
[C26]
1つまたは複数のプロセッサに、
ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化させ、 前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化させるための命令を備えたコンピュータ可読媒体であって、前記ビデオブロックの前記改良版が単一の符号化パス内で符号化されるコンピュータ可読媒体。
[C27]
前記命令は、1つまたは複数のプロセッサに任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化させる、C26に記載のコンピュータ可読媒体。
[C28]
前記命令は、1つまたは複数のプロセッサに、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、少なくとも1つ残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号とを符号化させる、C26に記載のコンピュータ可読媒体。
[C29]
前記命令は、1つまたは複数のプロセッサに、最後の非ゼロ係数を符号化した後に前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すためのシンボルを符号化させる、C28に記載のコンピュータ可読媒体。
[C30]
前記命令は、1つまたは複数のプロセッサに、前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整させる、C28に記載のコンピュータ可読媒体。
[C31]
前記命令は、1つまたは複数のプロセッサに、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化させる、C30に記載のコンピュータ可読媒体。
[C32]
前記命令は、1つまたは複数のプロセッサに、前記ビデオブロックの前記改良版の係数が前記基本レイヤビットストリームの一部として、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように、前記ビデオブロックの前記改良版を符号化させる、C26に記載のコンピュータ可読媒体。
[C33]
前記命令は、1つまたは複数のプロセッサに、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化させる、C26に記載のコンピュータ可読媒体。
[C34]
前記命令は、1つまたは複数のプロセッサに、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化させ、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化させる、C26に記載のコンピュータ可読媒体。
[C35]
前記命令は、1つまたは複数のプロセッサに、
前記第1の品質で前記ビデオブロックを符号化させ、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従って、コンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化することを備え、
前記ビデオブロックの前記改良版を符号化させ、前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて、前記ビデオブロックの前記改良版を符号化することを備える、C34に記載のコンピュータ可読媒体。
[C36]
前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、C26に記載のコンピュータ可読媒体。
[C37]
スケーラブルビデオ符号化を用いてビデオデータを符号化するためのデバイスであって、
ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化する第1手段と、
前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化する第2の手段とを備え、前記ビデオブロックの前記改良版が単一の符号化パス内で符号化されるデバイス。
[C38]
前記第2の符号化手段は、任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化する、C37に記載のデバイス。
[C39]
前記第2の符号化手段は、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、少なくとも1つ残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号とを符号化する、C37に記載のデバイス。
[C40]
前記第2の符号化手段は、最後の非ゼロ係数を符号化した後で前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すためのシンボルを符号化する、C38に記載のデバイス。
[C41]
前記第2の符号化手段は、前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整する、C38に記載のデバイス。
[C42]
前記第2の符号化手段は、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化する、C40に記載のデバイス。
[C43]
前記第2の符号化手段は、前記ビデオブロックの前記改良版の係数が前記基本レイヤビットストリームの一部として、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように、前記ビデオブロックの前記改良版を符号化する、C37に記載のデバイス。
[C44]
前記第2の符号化手段は、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化する、C37に記載のデバイス。
[C45]
前記ビデオブロックを前記基本レイヤの一部として前記第1の品質で符号化する前記第1の符号化手段は、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化することと、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化することとを備える、C37に記載のデバイス。
[C46]
前記第1の符号化手段は、
前記第1の品質で前記ビデオブロックを符号化して、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従いコンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化することを備え、
前記ビデオブロックの前記改良版を符号化して、前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて前記ビデオブロックの前記改良版を符号化することを備える、C45に記載のデバイス。
[C47]
前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、C37に記載のデバイス。
[C48]
スケーラブルビデオ符号化を用いてビデオデータを復号する方法であって、
第1の品質でビデオブロックを取得するために基本レイヤビットストリームを復号することと、
前記第1の品質で復号された前記ビデオブロックと組み合わされたとき、結果として第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を取得するために拡張レイヤビットストリームを復号することとを備え、
前記拡張レイヤを復号することは、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、少なくとも1個の残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号とを復号することを含む方法。
[C49]
前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示す、最後の非ゼロ係数に続くシンボルを復号することをさらに備える、C48に記載の方法。
[C50]
それぞれの係数の前記復号されたランと、それぞれの係数の前記符号(sign)と、残りの非ゼロ係数が存在しないことを示す前記シンボルとを用いて前記ビデオブロックの前記改良版に関する係数のベクトルを生成することをさらに備える、C49に記載の方法。
[C51]
前記係数のベクトルのそれぞれの非ゼロ係数の大きさを1に等しく設定することをさらに備える、C50に記載の方法。
[C52]
前記ビデオブロックの前記改良版を復号することは、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく前記ビデオブロックの前記改良版を復号することを備える、C48に記載の方法。
[C53]
単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を復号することをさらに備える、C48に記載の方法。
[C54]
前記単一のVLCテーブルは、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準において定義されたCAVLCで指定された前記VLCテーブルのうちの1つを備える、C53に記載の方法。
[C55]
スケーラブルビデオ符号化を用いて、ビデオデータを復号するためのデバイスであって、
第1の品質でビデオブロックを取得するために基本レイヤビットストリームを復号し、 前記第1の品質で復号された前記ビデオブロックと組み合わされたとき、結果として第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を取得するために、拡張レイヤビットストリームを復号する少なくとも1個のデコーダを備え、
前記少なくとも1個のデコーダは、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、少なくとも1個の残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号とを復号するデバイス。
[C56]
前記少なくとも1個のデコーダは、前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示す、最後の非ゼロ係数に続くシンボルを復号する、C55に記載のデバイス。
[C57]
前記少なくとも1個のデコーダは、それぞれの係数の前記復号されたランと、それぞれの係数の前記符号と、残りの非ゼロ係数が存在しないことを示す前記シンボルとを用いて前記ビデオブロックの前記改良版に関する係数のベクトルを生成する、C56に記載のデバイス。
[C58]
前記少なくとも1個のデコーダは、前記係数のベクトルのそれぞれの非ゼロ係数の大きさを1に等しく設定する、C57に記載のデバイス。
[C59]
前記少なくとも1個のデコーダは、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく前記ビデオブロックの前記改良版を復号する、C55に記載のデバイス。
[C60]
前記少なくとも1個のデコーダは、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を復号する、C55に記載のデバイス。
[C61]
前記単一のVLCテーブルは、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準において定義されたCAVLCで指定された前記VLCテーブルのうちの1つを備える、C60に記載のデバイス。
[C62]
前記少なくとも1個のデコーダは、
前記第1の品質で前記ビデオブロックを取得するために、前記基本レイヤビットストリームを復号する基本レイヤデコーダと、
前記ビデオブロックの前記改良版を取得するために、前記拡張レイヤビットストリームを復号する拡張レイヤデコーダとを備える、C55に記載のデバイス。
[C63]
前記デバイスは、無線通信デバイスを備える、C55に記載のデバイス。
[C64]
前記デバイスは、集積回路デバイスを備える、C55に記載のデバイス。
[C65]
1つまたは複数のプロセッサに、
第1の品質でビデオブロックを取得するために基本レイヤビットストリームを復号させ、
前記第1の品質で復号された前記ビデオブロックと組み合わされたとき、結果として第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を取得するために拡張レイヤビットストリームを復号させるための命令を備えたコンピュータ可読媒体であって、
前記命令は、前記1つまたは複数のプロセッサに、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、少なくとも1個の残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号(sign)とを復号させるコンピュータ可読媒体。
[C66]
前記命令は、1つまたは複数のプロセッサに、前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示す、最後の非ゼロ係数に続くシンボルを復号させる、C65に記載のコンピュータ可読媒体。
[C67]
前記命令は、1つまたは複数のプロセッサに、それぞれの係数の前記復号されたランと、それぞれの係数の前記符号と、残りの非ゼロ係数が存在しないことを示す前記シンボルとを用いて前記ビデオブロックの前記改良版に関する係数のベクトルを生成させる、C66に記載のコンピュータ可読媒体。
[C68]
前記命令は、1つまたは複数のプロセッサに、前記係数のベクトルのそれぞれの非ゼロ係数の大きさを1に等しく設定させる、C67に記載のコンピュータ可読媒体。
[C69]
前記命令は、1つまたは複数のプロセッサに、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく前記ビデオブロックの前記改良版を復号させる、C65に記載のコンピュータ可読媒体。
[C70]
前記命令は、1つまたは複数のプロセッサに、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を復号させる、C65に記載のコンピュータ可読媒体。
[C71]
前記単一のVLCテーブルは、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準において定義されたCAVLCで指定された前記VLCテーブルのうちの1つを備える、C70に記載のコンピュータ可読媒体。
[C72]
スケーラブルビデオ符号化を用いてビデオデータを復号するためのデバイスであって、 第1の品質でビデオブロックを取得するために、基本レイヤビットストリームを復号する第1の手段と、
前記第1の品質で復号された前記ビデオブロックと組み合わされたとき、結果として第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を取得するために、拡張レイヤビットストリームを復号する第2の手段とを備え、
前記第2の復号手段は、前記ビデオブロックの前記改良版のそれぞれの非ゼロ係数に関して、 少なくとも1個の残りの非ゼロ係数が存在することを示すシンボルと、前記非ゼロ係数に先行するゼロ値係数の数を示すランレングスと、前記非ゼロ係数の符号とを復号するデバイス。
[C73]
前記第2の復号手段は、前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示す、最後の非ゼロ係数に続くシンボルを復号する、C72に記載のデバイス。
[C74]
それぞれの係数の前記復号されたランと、それぞれの係数の前記符号(sign)と、残りの非ゼロ係数が存在しないことを示す前記シンボルとを用いて、前記ビデオブロックの前記改良版に関する係数のベクトルを生成する手段をさらに備える、C73に記載のデバイス。
[C75]
前記係数のベクトルのそれぞれの非ゼロ係数の大きさを1に等しく設定する手段をさらに備える、C74に記載のデバイス。
[C76]
前記第2の復号手段は、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく前記ビデオブロックの前記改良版を復号する、C72に記載のデバイス。
[C77]
前記第2の復号手段は、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を復号する、C72に記載のデバイス。
[C78]
前記単一のVLCテーブルは、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準において定義されたCAVLCで指定された前記VLCテーブルのうちの1つを備える、C77に記載のデバイス。

Claims (35)

  1. スケーラブルビデオ符号化を用いてビデオデータを符号化する方法であって、
    ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化することと、
    前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化することと、ここにおいて、前記ビデオブロックの前記改良版は、ビデオ符号化テーブル選択に使用するための統計値を収集する第1の符号化パスを実行せずに符号化され前記改良版はさらなる係数と既存の係数に対する改良版の少なくとも1つを具備し、前記改良版を符号化することは、任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化することと、前記ビデオブロックの前記改良版の非ゼロ係数毎に、少なくとも1つの残りの非ゼロ係数があることを示すシンボルと、前記非ゼロ係数に先行するゼロの値係数の数を示すランレングスと、前記非ゼロ係数の符号を符号化することを具備する、
    前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整することと
    を備える方法。
  2. 最後の非ゼロ係数を符号化した後に、前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すシンボルを符号化することをさらに備える、請求項1に記載の方法。
  3. 前記ビデオブロックの前記改良版の前記非ゼロ係数のそれぞれの前記大きさを1に等しくなるように調整することは、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化することを備える、請求項1に記載の方法。
  4. 前記ビデオブロックの前記改良版を前記拡張レイヤビットストリームの一部として符号化することは、前記ビデオブロックの前記改良版の係数が、前記基本レイヤビットストリームの一部として前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように、前記ビデオブロックの前記改良版を符号化することを備える、請求項1に記載の方法。
  5. 単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化することをさらに備える、請求項1に記載の方法。
  6. 前記ビデオブロックを前記基本レイヤの一部として前記第1の品質で符号化することは、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化することと、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化することとを備える、請求項1に記載の方法。
  7. 前記ビデオブロックを前記第1の品質で符号化することは、ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従いコンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化することを備え、
    前記ビデオブロックの前記改良版を符号化することは、前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて前記ビデオブロックの前記改良版を符号化することを備える、請求項6に記載の方法。
  8. 前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、請求項1に記載の方法。
  9. スケーラブルビデオ符号化を用いてビデオデータを符号化するためのデバイスであって、
    ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化し、
    前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化し、ここにおいて、前記ビデオブロックの前記改良版は、ビデオ符号化テーブル選択に使用するための統計値を収集する第1の符号化パスを実行せずに符号化され前記改良版はさらなる係数と既存の係数に対する改良版の少なくとも1つを具備する、
    任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化する、
    前記ビデオブロックの前記改良版の非ゼロ係数毎に、少なくとも1つの残りの非ゼロ係数があることを示すシンボルと、前記非ゼロ係数に先行するゼロの値係数の数を示すランレングスと、前記非ゼロ係数の符号を符号化し、
    前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整する
    少なくとも1個のエンコーダを備えるデバイス。
  10. 前記少なくとも1個のエンコーダは、最後の非ゼロ係数を符号化した後で、前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すシンボルを符号化する、請求項9に記載のデバイス。
  11. 前記少なくとも1個のエンコーダは、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化する、請求項9に記載のデバイス。
  12. 前記少なくとも1個のエンコーダは、前記ビデオブロックの前記改良版の係数が、前記基本レイヤビットストリームの一部として前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように前記ビデオブロックの前記改良版を符号化する、請求項9に記載のデバイス。
  13. 前記少なくとも1個のエンコーダは、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化する、請求項9に記載のデバイス。
  14. 前記少なくとも1個のエンコーダは、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化し、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化する、請求項9に記載のデバイス。
  15. 前記第1の品質で前記ビデオブロックを符号化するために前記少なくとも1個のエンコーダは、
    ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従いコンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化し、
    前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて前記ビデオブロックの前記改良版を符号化する、請求項14に記載のデバイス。
  16. 前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、請求項9に記載のデバイス。
  17. 前記少なくとも1個のエンコーダは、
    前記ビデオブロックを基本レイヤビットストリームの一部として前記第1の品質で符号化する基本レイヤエンコーダと、
    前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い前記第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を前記少なくとも1つの拡張レイヤビットストリームの一部として符号化する拡張レイヤエンコーダと
    を備える、請求項9に記載のデバイス。
  18. 前記デバイスは、無線通信デバイスを備える、請求項9に記載のデバイス。
  19. 前記デバイスは、集積回路デバイスを備える、請求項9に記載のデバイス。
  20. 1つまたは複数のプロセッサに、
    ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化させる命令と、
    前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化させる命令と、ここにおいて、前記ビデオブロックの前記改良版は、ビデオ符号化テーブル選択に使用するための統計値を収集する第1の符号化パスを実行せずに符号化され前記改良版はさらなる係数と既存の係数に対する改良版の少なくとも1つを具備し、前記1または複数のプロセッサに前記改良版を符号化させる命令は、前記1または複数のプロセッサに、任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化させ、前記ビデオブロックの前記改良版の非ゼロ係数毎に、少なくとも1つの残りの非ゼロ係数があることを示すシンボルと、前記非ゼロ係数に先行するゼロの値係数の数を示すランレングスと、前記非ゼロ係数の符号を符号化させる命令を具備する、
    前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整させる
    ための命令を備えたコンピュータ可読媒体。
  21. 前記命令は、前記1つまたは複数のプロセッサに、最後の非ゼロ係数を符号化した後に前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すためのシンボルを符号化させる、請求項20に記載のコンピュータ可読媒体。
  22. 前記命令は、前記1つまたは複数のプロセッサに、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化させる、請求項20に記載のコンピュータ可読媒体。
  23. 前記命令は、前記1つまたは複数のプロセッサに、前記ビデオブロックの前記改良版の係数が前記基本レイヤビットストリームの一部として、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように、前記ビデオブロックの前記改良版を符号化させる、請求項20に記載のコンピュータ可読媒体。
  24. 前記命令は、前記1つまたは複数のプロセッサに、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化させる、請求項20に記載のコンピュータ可読媒体。
  25. 前記命令は、前記1つまたは複数のプロセッサに、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化させ、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化させる、請求項20に記載のコンピュータ可読媒体。
  26. 前記命令は、前記1つまたは複数のプロセッサに、
    ITU−T H.264/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従って、コンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化させ、
    前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて、前記ビデオブロックの前記改良版を符号化させる、請求項25に記載のコンピュータ可読媒体。
  27. 前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、請求項20に記載のコンピュータ可読媒体。
  28. スケーラブルビデオ符号化を用いてビデオデータを符号化するためのデバイスであって、
    ビデオブロックを基本レイヤビットストリームの一部として第1の品質で符号化する第1の手段と、
    前記第1の品質で符号化された前記ビデオブロックと組み合わされたとき、結果として前記第1の品質よりも高い第2の品質を有する前記ビデオブロックをもたらす前記ビデオブロックの改良版を少なくとも1つの拡張レイヤビットストリームの一部として符号化する第2の手段とを備え、
    前記ビデオブロックの前記改良版は、ビデオ符号化テーブル選択に使用するための統計値を収集する第1の符号化パスを実行せずに符号化され
    前記改良版はさらなる係数と既存の係数に対する改良版の少なくとも1つを具備し
    前記第2の手段は、任意の後続の係数を解析することなく前記改良版のそれぞれの非ゼロ係数を符号化し、前記ビデオブロックの前記改良版の非ゼロ係数毎に、少なくとも1つの残りの非ゼロ係数があることを示すシンボルと、前記非ゼロ係数に先行するゼロの値係数の数を示すランレングスと、前記非ゼロ係数の符号を符号化し、
    前記第2の手段は、前記ビデオブロックの前記改良版の前記非ゼロ係数の大きさを1に等しくなるように調整する
    デバイス。
  29. 前記第2の手段は、最後の非ゼロ係数を符号化した後で前記ビデオブロックの前記改良版内に残りの非ゼロ係数が存在しないことを示すためのシンボルを符号化する、請求項28に記載のデバイス。
  30. 前記第2の手段は、前記係数の大きさを符号化することなく前記非ゼロ係数を符号化する、請求項29に記載のデバイス。
  31. 前記第2の手段は、前記ビデオブロックの前記改良版の係数が前記基本レイヤビットストリームの一部として、前記第1の品質で符号化された前記ビデオブロックの係数情報にアクセスすることなく復号可能なように、前記ビデオブロックの前記改良版を符号化する、請求項28に記載のデバイス。
  32. 前記第2の手段は、単一の可変長符号化(VLC)テーブルのみを用いて前記ビデオブロックの前記改良版を符号化する、請求項28に記載のデバイス。
  33. 前記ビデオブロックを前記基本レイヤの一部として前記第1の品質で符号化する前記第1の手段は、第1の符号化パス内で前記ビデオブロックの係数ベクトルを解析する符号化技術を用いて前記第1の品質で前記ビデオブロックを符号化し、前記解析に基づいて前記第2の符号化パス内で前記係数ベクトルを符号化する手段を備える、請求項28に記載のデバイス。
  34. 前記第1の手段は、
    ITU−T H.24/MPEG−4、パート10、アドバンストビデオ符号化(AVC)標準に従いコンテキスト適応可変長符号化(CAVLC)プロセスを用いて前記第1の品質で前記ビデオブロックを符号化し、
    前記CAVLCプロセスにおいて定義された前記VLCテーブルのうちの1つを用いて、前記第2の手段により、前記ビデオブロックの前記改良版を符号化する、請求項33に記載のデバイス。
  35. 前記第1の品質および前記第2の品質は、第1および第2の信号対雑音比(SNR)ならびに第1および第2の空間分解能のうちの1つを備える、請求項28に記載のデバイス。
JP2010530087A 2007-10-15 2008-10-15 スケーラブルビデオ符号化のための改良された拡張レイヤ符号化 Expired - Fee Related JP5248619B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US97991907P 2007-10-15 2007-10-15
US60/979,919 2007-10-15
US98021407P 2007-10-16 2007-10-16
US60/980,214 2007-10-16
US12/250,784 2008-10-14
US12/250,784 US8848787B2 (en) 2007-10-15 2008-10-14 Enhancement layer coding for scalable video coding
PCT/US2008/080034 WO2009052206A1 (en) 2007-10-15 2008-10-15 Improved enhancement layer coding for scalable video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012221420A Division JP5456867B2 (ja) 2007-10-15 2012-10-03 スケーラブルビデオ符号化のための改良された拡張レイヤ符号化

Publications (2)

Publication Number Publication Date
JP2011501572A JP2011501572A (ja) 2011-01-06
JP5248619B2 true JP5248619B2 (ja) 2013-07-31

Family

ID=40344656

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010530087A Expired - Fee Related JP5248619B2 (ja) 2007-10-15 2008-10-15 スケーラブルビデオ符号化のための改良された拡張レイヤ符号化
JP2012221420A Expired - Fee Related JP5456867B2 (ja) 2007-10-15 2012-10-03 スケーラブルビデオ符号化のための改良された拡張レイヤ符号化

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012221420A Expired - Fee Related JP5456867B2 (ja) 2007-10-15 2012-10-03 スケーラブルビデオ符号化のための改良された拡張レイヤ符号化

Country Status (9)

Country Link
EP (1) EP2213099A1 (ja)
JP (2) JP5248619B2 (ja)
KR (1) KR101147943B1 (ja)
CN (1) CN101855908B (ja)
BR (1) BRPI0818077A2 (ja)
CA (1) CA2702488C (ja)
RU (1) RU2463728C2 (ja)
TW (1) TWI408965B (ja)
WO (1) WO2009052206A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306153B2 (en) * 2009-09-21 2012-11-06 Techwell Llc Method and system for tracking phase in a receiver for 8VSB
JP5749340B2 (ja) 2010-07-21 2015-07-15 ドルビー ラボラトリーズ ライセンシング コーポレイション マルチレイヤフレーム準拠ビデオ配信のためのシステム及び方法
US8634668B2 (en) 2011-02-25 2014-01-21 Sony Corporation Method of compression of digital images using a fixed number of bits per block
US20120257675A1 (en) * 2011-04-11 2012-10-11 Vixs Systems, Inc. Scalable video codec encoder device and methods thereof
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
US9602841B2 (en) * 2012-10-30 2017-03-21 Texas Instruments Incorporated System and method for decoding scalable video coding
JP6082123B2 (ja) * 2012-11-29 2017-02-15 エルジー エレクトロニクス インコーポレイティド 複数のレイヤをサポートする映像符号化/復号化方法
MY186153A (en) * 2012-12-26 2021-06-28 Sony Corp Image processing device and method
US9998735B2 (en) * 2013-04-01 2018-06-12 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
US9848199B2 (en) * 2014-03-17 2017-12-19 Qualcomm Incorporated Device and method for scalable coding of video information

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050018773A1 (en) * 2001-11-21 2005-01-27 Van Der Vleuten Renatus Josephus Bit plane compression method
JP4447197B2 (ja) * 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
WO2003063501A1 (en) * 2002-01-22 2003-07-31 Nokia Corporation Coding transform coefficients in image/video encoders and/or decoders
JP3893350B2 (ja) * 2002-11-29 2007-03-14 キヤノン株式会社 符号化データ変換装置及びその方法
JP2006237656A (ja) * 2003-02-28 2006-09-07 Secom Co Ltd 符号化信号分離・合成装置、差分符号化信号生成装置、差分符号化信号抽出装置、符号化信号分離・合成方法、符号化信号分離・合成プログラム
JP4014098B2 (ja) * 2003-06-26 2007-11-28 株式会社Kddi研究所 画像の階層的符号化装置および復号装置
KR100736086B1 (ko) * 2005-09-06 2007-07-06 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
KR100763192B1 (ko) * 2005-09-26 2007-10-04 삼성전자주식회사 Fgs 계층의 비디오 데이터를 엔트로피 부호화 및복호화하는 방법 및 장치
KR100714706B1 (ko) * 2005-09-26 2007-05-04 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
US8116371B2 (en) * 2006-03-08 2012-02-14 Texas Instruments Incorporated VLC technique for layered video coding using distinct element grouping
US7778472B2 (en) * 2006-03-27 2010-08-17 Qualcomm Incorporated Methods and systems for significance coefficient coding in video compression
KR100834757B1 (ko) * 2006-03-28 2008-06-05 삼성전자주식회사 엔트로피 부호화 효율을 향상시키는 방법 및 그 방법을이용한 비디오 인코더 및 비디오 디코더

Also Published As

Publication number Publication date
CN101855908B (zh) 2012-11-21
KR20100066584A (ko) 2010-06-17
BRPI0818077A2 (pt) 2015-03-31
CN101855908A (zh) 2010-10-06
WO2009052206A1 (en) 2009-04-23
KR101147943B1 (ko) 2012-05-23
RU2010119448A (ru) 2011-11-27
EP2213099A1 (en) 2010-08-04
CA2702488C (en) 2013-04-02
JP2011501572A (ja) 2011-01-06
JP5456867B2 (ja) 2014-04-02
TW200934250A (en) 2009-08-01
JP2013051699A (ja) 2013-03-14
RU2463728C2 (ru) 2012-10-10
TWI408965B (zh) 2013-09-11
CA2702488A1 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
JP5456867B2 (ja) スケーラブルビデオ符号化のための改良された拡張レイヤ符号化
US8848787B2 (en) Enhancement layer coding for scalable video coding
JP4981927B2 (ja) Svccgs拡張層コーディングに関するcavlc拡張
JP5080575B2 (ja) 適応可変長符号を用いた映像圧縮
EP2225886B1 (en) Layered encoded bitstream structure
CN102204251B (zh) 使用大于4x4和8x8的变换的视频译码
JP5139416B2 (ja) ビデオ圧縮における重要度係数符号化のための方法およびシステム
RU2452128C2 (ru) Адаптивное кодирование информации заголовка видеоблока
JP5259828B2 (ja) 4×4および8×8よりも大きい変換を使用するビデオ符号化
CA2666055A1 (en) Refinement coefficient coding based on history of corresponding transform coefficient values
Martínez et al. DISTRIBUTED VIDEO CODING IN TRANSFORM DOMAIN

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

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: 20130312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130410

R150 Certificate of patent or registration of utility model

Ref document number: 5248619

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

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