JP2020515113A - ビデオデータを符号化及び復号するための方法、装置及びシステム - Google Patents

ビデオデータを符号化及び復号するための方法、装置及びシステム Download PDF

Info

Publication number
JP2020515113A
JP2020515113A JP2019538171A JP2019538171A JP2020515113A JP 2020515113 A JP2020515113 A JP 2020515113A JP 2019538171 A JP2019538171 A JP 2019538171A JP 2019538171 A JP2019538171 A JP 2019538171A JP 2020515113 A JP2020515113 A JP 2020515113A
Authority
JP
Japan
Prior art keywords
subband
line index
video
coded line
precinct
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.)
Granted
Application number
JP2019538171A
Other languages
English (en)
Other versions
JP6979075B2 (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Publication of JP2020515113A publication Critical patent/JP2020515113A/ja
Application granted granted Critical
Publication of JP6979075B2 publication Critical patent/JP6979075B2/ja
Active 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/46Embedding additional information in the video signal during the compression process
    • 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
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • 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/103Selection of coding mode or of prediction mode
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods 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 set of transform coefficients
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • 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
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • 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)

Abstract

ビデオビットストリームからのビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットを復号するシステムおよび方法であって、ビデオデータのプレシンクトは、1つまたは複数のサブバンドを含む。この方法は、ビデオビットストリームから各サブバンドの最大符号化ラインインデックス予測モードを復号することと、サブバンドの最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームからの各サブバンドの複数の最大符号化ラインインデックスデルタ値を復号することと、複数の最大符号化ラインインデックスデルタ値およびサブバンドの最大符号化ラインインデックス予測モードを使用して、各サブバンドの最大符号化ラインインデックス値を生成することと、を含む。

Description

本発明は一般に、デジタルビデオ信号処理に関し、特に、ビデオデータを符号化及び復号するための方法、装置及びシステムに関する。本発明はまた、ビデオデータを符号化および復号するためのコンピュータプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
ビデオデータの伝送および記憶のためのアプリケーションを含む、ビデオ符号化のための多くのアプリケーションが現在存在する。多くのビデオ符号化規格も開発されており、他の規格も現在開発中である。ビデオ圧縮研究においては、「配信コーデック(distribution codecs)」、すなわち、地理的に分散した視聴者に圧縮ビデオデータを配信することを意図したコーデックに重点が置かれている。しかし、新たな研究分野は「メザニンコーデック(mezzanine codecs)」に向けられている。メザニンコーデックは高度に局所化された配信、すなわち、放送スタジオ内で使用され、従来のビデオコーデックと比較して、エンコーダおよびデコーダについて、複雑さの大幅な低減および、典型的には1フレームより充分に短い超低遅延の要件によって特徴付けられる。JPEG(Joint Photographic Experts Group)としても知られる、国際標準化機構/国際電子技術委員会合同委員会1/小委員会29/作業グループ1(ISO/IEC JTC1/SC29/WG1)内のこのようなコーディングにおける最近の発展は、「JPEG XS」と名付けられた標準化作業項目をもたらした。
JPEG XSの目標は、32ラインのビデオデータを超えないエンドツーエンドレイテンシと、Xilinx(登録商標)のようなベンダからのミッドレンジFPGAのような比較的適度な実装技術内での実装のための能力とを有するコーデックを生成することである。JPEG XSのレイテンシ要件は、符号化されたデータが圧縮されたビデオデータを搬送するチャネルの容量に対して過度に変化しないことを保証にするために、厳密なレート制御技術の使用を要求する。
放送スタジオでは、ビデオがリアルタイム編集、グラフィック及び重畳挿入、及び1つの最終出力への異なるコンテンツソースの混合を含むいくつかの変換を受ける前に、カメラによってキャプチャされる。ビデオが適切に処理されると、配信エンコーダが、最終消費者への最終配信のために、ビデオデータを符号化するために使用される。スタジオ内では、ビデオデータは一般に、非圧縮フォーマットで転送される。圧縮されていないビデオデータを伝送するには、非常に高速のリンクを使用する必要がある。シリアル・デジタル・インターフェース(SDI)プロトコルの変形は、異なるビデオ・フォーマットを転送することができる。例えば、3G−SDI(3Gbpsの電気リンクで動作する)は、1080pのHDTV(1920×1080の解像度)を30fps及び8ビット/サンプルで伝送することができる。固定ビットレートを有するインターフェースは、一定ビットレート(CBR)を有するデータを転送するのに適している。圧縮されていないビデオデータは、一般にCBRであり、圧縮されたビデオデータは、超低遅延符号化の文脈では一般にCBRであると予想される。
ビットレートが増加することにつれて、達成可能なケーブル配線長は減少し、これはスタジオを通るケーブル配線にとって問題となる。例えば、UHDTV(3840×2160)は1080PのHDTVと比較して4倍の帯域幅の増加を必要とし、これは12Gbpsのインターフェースを意味する。単一の電気チャネルのデータレートを増加させることは、ケーブルの達成可能な長さを減少させる。3Gbpsでは、ケーブル・ランが一般に、スタジオ・アプリケーションに使用可能な最小の長さである150mを超えることはできない。より高いレートのリンクを達成する1つの方法は、例えば、4つの3G−SDIリンクを使用することによって、フレームタイリングまたは他の何らかの多重化スキームを用いてケーブルを複製することによる。しかし、ケーブル配線複製方法は、ケーブル配線の複雑さを増大させ、より多くの物理的空間を必要とし、単一のケーブルの使用に比べて信頼性を低下させる可能性がある。したがって、「視覚的に無損失」(すなわち、元のビデオデータと比較して知覚可能なアーチファクトを有さない)レベルの性能を保持しながら、比較的低い圧縮比(例えば、4:1)で圧縮を実行することができるコーデックが、産業界によって必要とされる。
圧縮比は、圧縮されたストリームに与えられる「ピクセル当たりのビット」(bpp)の数として表すこともでき、圧縮比に戻す変換は、圧縮されていない信号のビット深度、およびクロマフォーマットの知識を必要とすることに留意されたい。例えば、8bの4:4:4のビデオデータは非圧縮の24bppを占めるので、4bppは6:1の圧縮比を意味する。
ビデオデータは、1つ以上のカラーチャネルを含む。一般に、1つの原色チャネルおよび2つの二次色チャネルがある。原色チャネルは一般に「ルマ」チャネルと呼ばれ、二次色チャネルは一般に「クロマ」チャネルと呼ばれる。ビデオデータは、「YCbCr」または「RGB」などの色空間を使用して表される。いくつかのアプリケーションは、コンピュータグラフィックスカードの出力の視覚的に無損失の圧縮、またはタブレット内のシステムオンチップ(SOC)からタブレット内のLCDパネルへの伝送を必要とする。グラフィックスカードまたはSOCからのコンテンツはレンダリングウィジェット、テキスト、アイコンなどの使用のために、カメラからキャプチャされたコンテンツとは異なる統計的特性を有することが多い。関連するアプリケーションは、「スクリーンコンテンツアプリケーション」と呼ぶことができる。スクリーンコンテンツアプリケーションの場合、「RGB」は、LCDパネルを駆動するために一般に使用されるフォーマットであるので、「RGB」が一般に使用される。最大の信号強度は「G」(緑)チャネルに存在し、したがって、一般に、Gチャネルは原色チャネルを使用して符号化され、残りのチャネル(すなわち、「B」および「R」)は、二次色チャネルを使用して符号化される。この構成は、「GBR」と呼ぶことができる。「YCbCr」色空間が使用されている場合、「Y」チャネルは原色チャネルを使用して符号化され、「Cb」および「Cr」チャネルは二次色チャネルを使用して符号化される。
ビデオデータはまた、特定のクロマフォーマットを用いて表される。4:4:4クロマフォーマットが使用される場合、原色チャネルおよび二次色チャネルは、同じ空間密度で空間的にサンプリングされる。スクリーンコンテンツの場合、一般にLCDパネルが4:4:4クロマフォーマットでピクセルを提供するので、一般に使用されるクロマフォーマットは4:4:4である。ビット深度はそれぞれのカラーチャネルにおけるサンプルのビット幅を定義し、これは、利用可能なサンプル値の範囲を意味する。一般に、全てのカラーチャネルは同じビット深度を有するが、カラーチャネルは、代替的に異なるビット深度を有しても良い。他のクロマフォーマットも可能である。例えば、クロマ・チャネルが(ルマ・チャネルと比較して)水平方向に半分のレートでサンプリングされる場合、4:2:2クロマ・フォーマットが使用中であると言われる。また、クロマ・チャネルが(ルマ・チャネルと比較して)水平方向および垂直方向のレートの半分でサンプリングされる場合、4:2:0クロマ・フォーマットが使用中であると言われる。これらのクロマ・フォーマットは、強度に対する感度が色に対する感度よりも高いという人間の視覚系の特性を利用する。したがって、過度の視覚的影響を引き起こすことなく、カラーチャネルのサンプリングを低減させることが可能である。しかし、カラーチャネルのサンプリングの低減は、複数世代の符号化および復号が一般的であるスタジオ環境にはあまり適用できない。また、スクリーンコンテンツの場合、4:4:4以外のクロマフォーマットの使用は、サブピクセルレンダリングされた(または「アンチエイリアシングされた」)テキストおよび鮮明なオブジェクトエッジに歪みが導入されるので、問題となり得る。
フレームデータはまた、スクリーンコンテンツとカメラキャプチャコンテンツとの混合物を含み得る。例えば、コンピュータ画面は様々なウィンドウ、アイコン、および制御ボタン、テキストを含むことができ、再生されているビデオ、または閲覧されている画像も含むことができる。コンテンツは、コンピュータ画面全体に関して、「混合コンテンツ」と呼ぶことができる。さらに、コンテンツの詳細(または「テクスチャ」)のレベルは、フレーム内で変化する。一般に、詳細なテクスチャの領域(例えば、葉、テキスト)、またはノイズを含む領域(例えば、カメラセンサからの)は、圧縮することが困難である。詳細なテクスチャは、詳細を失うことなく低い圧縮比でしか符号化することができない。逆に、細部がほとんどない領域(例えば、平坦な領域、空、コンピュータアプリケーションからの背景)は、細部の損失がほとんどなく、高い圧縮比で符号化することができる。
複雑さが低いという点で、1つの一般的な解決策は、画像にわたって階層的に適用される「ウェーブレット」変換の適用である。ウェーブレット変換は、JPEG2000画像符号化規格に関連して十分に研究されている。画像にわたるウェーブレット変換の適用は、各フレームの空間範囲にわたって多数の離散コサイン変換(DCT)を適用するH.264/AVCなどのブロックベースのコーデックとは異なる。H.264/AVC内の各ブロックは、モード決定を行う必要があるためにエンコーダの複雑さが増大することを犠牲にして、高度の局所適応性を達成する様々な方法のうちの1つを使用して予測される。対照的に、ウェーブレット変換は広い空間領域にわたって適用され、したがって、ブロックベースのコーデックに利用可能な予測モードは一般に適用可能ではなく、その結果、エンコーダおよびデコーダの複雑さにおける差異が大幅に低減される。
ウェーブレット・ベースの圧縮技法の文脈では、複数のタイプのコンテンツ(混合)を含むフレームにわたって高い視覚品質を達成することは問題である。混合されたコンテンツを有するフレームにわたって高い視覚品質を達成することは、超低レイテンシ要件を満たすために厳格なローカルレート制御が必要とされる場合に、特に問題となり得る。
本発明の目的は、既存の構成の1つ以上の欠点を実質的に克服するか、または少なくとも改善することである。
本開示の一態様は、ビデオビットストリームからのビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットを復号する方法を提供し、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、この方法は、ビデオビットストリームからの各サブバンドのための最大符号化ラインインデックス予測モードを復号することと、サブバンドのための最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームからの各サブバンドのための複数の最大符号化ラインインデックスデルタ値を復号することと、複数の最大符号化ラインインデックスデルタ値と、サブバンドのための最大符号化ラインインデックス予測モードと、を使用して、各サブバンドのための最大符号化ラインインデックス値群を生成することと、を含む。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、ビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットをビデオビットストリームに符号化する方法を提供し、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、この方法は、各サブバンドに対する最大符号化ラインインデックス予測モードをビデオビットストリームに符号化することと、サブバンドに対する最大符号化ラインインデックス予測モードを使用して、各サブバンドに対する複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化することと、を含む。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、ビデオビットストリームからのビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットを復号するためのプログラムが格納されたコンピュータ可読媒体を提供し、ビデオデータのプレシンクトは1つ以上のサブバンドを含み、このプログラムは、ビデオビットストリームからの各サブバンドに対する最大符号化ラインインデックス予測モードを復号するためのコードと、サブバンドに対する最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームから各サブバンドに対する複数の最大符号化ラインインデックスデルタ値を復号するためのコードと、複数の最大符号化ラインインデックスデルタ値と、サブバンドに対する最大符号化ラインインデックス予測モードと、を使用して、各サブバンドに対する最大符号化ラインインデックス値群を生成するためのコードと、を含む。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、ビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットをビデオビットストリームに符号化するためのプログラムが格納されたコンピュータ可読媒体を提供し、ビデオデータのプレシンクトは1つ以上のサブバンドを含み、このプログラムは、各サブバンドのための最大符号化ラインインデックス予測モードをビデオビットストリームに符号化するためのコードと、サブバンドのための最大符号化ラインインデックス予測モードを使用して、各サブバンドのための複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化するためのコードと、を含む。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、ビデオビットストリームからのビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットを復号するためのシステムを提供し、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、このシステムは、データを格納するためのメモリと、コンピュータ可読媒体と、コンピュータプログラムを実行するためにメモリに結合されたプロセッサと、を備え、このプログラムは、ビデオビットストリームからの各サブバンドのための最大符号化ラインインデックス予測モードを復号し、サブバンドのための最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームからの各サブバンドのための複数の最大符号化ラインインデックスデルタ値を復号し、複数の最大符号化ラインインデックスデルタ値と、サブバンドのための最大符号化ラインインデックス予測モードと、を使用して、各サブバンドに対する最大符号化ラインインデックス値群を生成する、ための命令を有する。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、ビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットをビデオビットストリームに符号化するためのシステムを提供し、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、このシステムは、データを記憶するためのメモリと、コンピュータ可読媒体と、コンピュータプログラムを実行するためにメモリに結合されたプロセッサと、を備え、このプログラムは、各サブバンドのための最大符号化ラインインデックス予測モードをビデオビットストリームに符号化し、サブバンドのための最大符号化ラインインデックス予測モードを使用して、各サブバンドのための複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化する、ための命令を有する。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを受信し、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、ビデオビットストリームから各サブバンドのための最大符号化ラインインデックス予測モードを復号し、サブバンドのための最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームからの各サブバンドのための複数の最大符号化ラインインデックスデルタ値を復号し、サブバンドのための最大符号化ラインインデックス予測モードと複数の最大符号化ラインインデックスデルタ値とを使用して、各サブバンドのための最大符号化ラインインデックス値群を生成するように構成されたデコーダを提供する。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、1つまたは複数のサブバンドを含むビデオデータのプレシンクトを受信し、各サブバンドの最大符号化ラインインデックス予測モードをビデオビットストリームに符号化し、サブバンドの最大符号化ラインインデックス予測モードを使用して、各サブバンドの複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化するように構成されたビデオエンコーダを提供する。
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを生成するための方法であって、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、この方法は、ビデオビットストリームからオフセットテーブルを復号することと、オフセットテーブルは不均一量子化オフセットのセットを定義し、不均一量子化オフセットのセットにおける各量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは比較的低い大きさの係数を含むサブバンドの部分に対して、より大きい大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、サブバンド係数のグループの量子化オフセットに基づいて、各係数について読み取るビット数を決定するために、復号されたオフセットテーブルを適用することによって、ビデオビットストリームからのサブバンドのサブバンド係数のグループを復号することと、ビデオデータのプレシンクトを生成するために、サブバンド係数の復号されたグループに逆ウェーブレット変換を適用することと、を含む。
別の態様では、オフセットテーブルは、固定レベルからレベル0までのサブバンド群に適用される。
別の態様では、オフセットテーブルは、量子化オフセット群の各々に対して0または1のオフセット値を使用するように制約される。
別の態様では、オフセットテーブルは、オフセット当たり1ビットを有する固定長のビット・シーケンスとしてビデオ・ビットストリームに格納される。
別の態様では、オフセットテーブルは、オフセット値群をテストし、誤差を生成することによって生成される。
別の態様では、オフセットテーブルの生成は、高周波エネルギーを含むことが知られているコンテンツの領域が存在する正のオフセットを適用することに関する。
別の態様では、オフセットマップの生成は、プレシンクトに与えられる全体のビットレートに敏感である。
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを生成するためのプログラムが格納されたコンピュータ可読媒体を提供し、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、このプログラムは、ビデオビットストリームからオフセットテーブルを復号するためのコードであって、オフセットテーブルは不均一な量子化オフセットのセットを定義し、不均一な量子化オフセットのセットにおける各量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは、比較的低い大きさの係数を含むサブバンドの部分に対して、より大きい大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、サブバンド係数のグループのための量子化オフセットに基づいて、各係数のために読み出されるビット数を決定するために、復号されたオフセットテーブルを適用することによって、ビデオビットストリームからのサブバンドのためのサブバンド係数のグループを復号するためのコードと、ビデオデータのプレシンクトを生成するために、サブバンド係数の復号されたグループに逆ウェーブレット変換を適用するためのコードと、を有する。
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを生成するためのシステムを提供し、ビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、このシステムは、データを格納するためのメモリと、コンピュータ可読媒体と、を有し、プロセッサは、コンピュータプログラムを実行するためにメモリと結合されており、このプログラムは、ビデオビットストリームからオフセットテーブルを復号し、オフセットテーブルは、不均一量子化オフセットのセットを定義しており、不均一量子化オフセットのセットにおけるそれぞれの量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは、比較的低い大きさの係数を含むサブバンドの部分に対してより大きな大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、復号されたオフセットテーブルを適用して、サブバンド係数のグループの量子化オフセットに基づいて各係数を読み取るためのビット数を決定することによって、ビデオビットストリームからサブバンド係数のグループを復号し、サブバンド係数の復号されたグループに逆ウェーブレット変換を適用してビデオデータのプレシンクトを生成する、ための命令を有する。
本開示の別の態様は、ビデオビットストリームを受信し、ここで、ビデオビットストリームのビデオデータのプレシンクトは1つまたは複数のサブバンドを含み、ビデオビットストリームからオフセットテーブルを復号し、オフセットテーブルは、不均一量子化オフセットのセットを定義しており、不均一量子化オフセットのセットにおけるそれぞれの量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは、比較的低い大きさの係数を含むサブバンドの部分に対してより大きな大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、復号されたオフセットテーブルを適用して、サブバンド係数のグループの量子化オフセットに基づいて各係数を読み取るためのビット数を決定することによって、ビデオビットストリームからサブバンド係数のグループを復号し、サブバンド係数の復号化されたグループに逆ウェーブレット変換を適用してビデオデータのプレシンクトを生成する、ように構成されているビデオデコーダを提供する。
他の態様も開示される。
次に、本発明の少なくとも1つの実施形態を、以下の図面および付録を参照して説明する。
図1は、サブフレーム待ち時間ビデオ符号化及び復号システムを示す概略ブロック図である。 図2Aおよび2Bは、図1のビデオ符号化および復号システムの一方または両方を実施することができる汎用コンピュータシステムの概略ブロック図を形成する。 図3は、ビデオエンコーダの機能モジュールを示す概略ブロック図である。 図4は、ビデオデコーダの機能モジュールを示す概略ブロック図である。 図5Aは、プレシンクトのためのウェーブレットサブバンド分解を示す概略ブロック図である。 図5Bは、ウェーブレット分析フィルタバンクを示す概略ブロック図である。 図5Cは、固定切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す概略ブロック図である。 図5Dは、プレシンクトのためのビットストリーム分解を示す概略ブロック図である。 図6は、可変切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す概略ブロック図である。 図7は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを符号化する方法を示す概略フロー図である。 図8は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを復号する方法を示す概略フロー図である。
添付の図面のいずれか1つまたは複数において、同じ参照番号を有するステップおよび/または特徴が参照される場合、これらのステップおよび/または特徴は反対の意図が現れない限り、本説明の目的のために、同じ機能または操作を有する。
図1は、サブフレーム待ち時間ビデオ符号化および復号システム100の機能モジュールを示す概略ブロック図である。システム100は空間的に局所化された係数符号化アプローチを使用し、局所ビットレート消費を、そのような消費が視覚的に重要ではない場合は低減することによって全体的な視覚品質を改善することができる。
レート制御およびバッファ管理機構は、ビデオデコーダ134からの復号されたビデオフレームが、ビデオフレームが配信されるインタフェースのタイミングに従って配信されるように、(例えば、複雑さおよびビデオエンコーダ114への入力ビデオデータの可能なモードのエンコーダ検索にかかる時間の変動のために)バッファアンダーランおよびその結果生じる復号されたビデオの配信の失敗が生じないことを保証する。ビデオフレームが配信されるインターフェースは例えば、SDIであってもよい。SDIのようなインターフェースは、水平及び垂直ブランキング期間を有するクロックソースに同期されたサンプルタイミングを有する。したがって、復号されたビデオのサンプルは、SDIリンクのフレームタイミングに従って配信される必要がある。SDIを介した送信のためにフォーマットされたビデオデータは、例えば、SMPTE ST.2022−6に規定されている方法を使用して、イーサネット(登録商標)を介して搬送されてもよい。必要とされるタイミングに従ってサンプルが送達されなかった場合、顕著な視覚的アーチファクトが生じる(例えば、無効なデータが下流のデバイスによってサンプル値として解釈されることから)。したがって、レート制御機構は、バッファオーバーランがなく、その結果、入力ビデオデータを処理することができないことを保証する。ビデオエンコーダ114へのインバウンドSDIリンクについても同様の制約が存在し、これは、到着タイミングに従ってサンプルを符号化する必要があり、例えば、フレームの異なる領域を符号化するための様々な処理要求のために、ビデオエンコーダ114への入力ビデオデータをストールしない場合がある。
上述したように、ビデオ符号化及び復号システム100は、ビデオデータの1フレーム未満の待ち時間を有する。特に、用途によっては、ビデオエンコーダ114の入力からビデオデコーダ134の出力までのビデオデータの32ラインを超えない待ち時間を必要とする。待ち時間は、ビデオデータの入力/出力と、通信チャネル上を通過する前および後の部分的に符号化されたビデオデータの格納と、の期間に要する時間を含む。一般に、ビデオデータは、ラスタ走査順序で、例えばSDIリンクを介して送受信される。各フレームは「プレシンクト」に分割され、各プレシンクトは一般に、高さがルマサンプルの2つのラインであり、フレームの幅に等しい幅を有する。次に、1つまたは複数のプレシンクトの率平滑化ウィンドウを適用して、現在のプレシンクトの目標率を設定する。ビットストリームは、1つの圧縮プレシンクトのデータが送信前にバッファにアセンブルされるように、バッファに書き込まれる。
システム100は、ソースデバイス110および宛先デバイス130を含む。通信チャネル120は、ソースデバイス110から宛先デバイス130に符号化ビデオ情報を通信するために使用される。いくつかの構成では、ソースデバイス110および宛先デバイス130が重畳挿入およびリアルタイム編集モジュールなどのそれぞれの放送スタジオ機器を備え、この場合、通信チャネル120はSDIリンクであってもよい。典型的には、通信チャネル120は「CBR」チャネルである。したがって、通信チャネル120は、利用可能な帯域幅に一定の制限を与える。非圧縮ビデオデータの場合、通信チャネル120の帯域幅は、非圧縮ビデオデータの帯域幅に一致するように単に設定される。圧縮ビデオデータの場合、要求される帯域幅は一般に、時間的に変化し、各プレシンクトは、いくつかのプレシンクトのレート制御ルックアヘッド・ウィンドウによって設定される制限内で圧縮サイズを変化させることができる。多くのプレシンクトにわたって平均化すると、固定サイズが維持されなければならない。レート制御ルックアヘッド・ウィンドウを欠くより低い複雑さの実装は、ビデオデータの各圧縮プレシンクトに対して固定サイズを使用する。ビデオデータの圧縮されたプレシンクトは、通信チャネル120を介して搬送される。通信チャネル120は、たとえシステム100において圧縮データが搬送されても、SDIまたはHDMIなどの非圧縮データを搬送することを意図したインターフェースを利用することができる。
他の構成では、ソースデバイス110および宛先デバイス130は、システムオンチップ(SOC)およびLCDパネル(例えば、スマートフォン、タブレット、またはラップトップコンピュータに見られるような)の一部としてグラフィックスドライバを備える。SOC構成では、通信チャネル120が典型的にはPCBトラックワークおよび関連するコネクタなどの有線チャネルである。さらに、ソースデバイス110および宛先でば130は、無線テレビ放送をサポートする装置、ケーブルテレビアプリケーション、インターネットビデオアプリケーション、および符号化されたビデオデータが何らかの記憶媒体またはファイルサーバ上でキャプチャされるアプリケーションを含む、広範囲の装置のいずれかを備えることができる。ソースデバイス110はビデオデータをキャプチャし、視覚的に無損失の圧縮を提供する圧縮フォーマットでビデオデータを出力するデジタルカメラであってもよく、そのようなパフォーマンスは真に無損失のフォーマット(例えば、非圧縮)と同等であると考えられてもよい。
図1に示すように、ソースデバイス110は、ビデオソース112と、ビデオエンコーダ114と、送信機116と、を含む。ビデオソース112は、典型的には非圧縮ビデオデータ113のソースを含む。ビデオソース112は例えば、イメージングセンサ、非一時的記録媒体に格納された以前にキャプチャされたビデオシーケンス、又はリモートイメージングセンサからのビデオフィードとすることができる。非圧縮ビデオデータ113は、ビデオソース112からビデオエンコーダ114に、ビデオデータの配信の固定タイミングで、CBRチャネルを介して送信される。ビデオデータは、典型的にはライン(「水平同期」)とフレーム(「垂直同期」)とを区別するためのシグナリングを伴うラスタスキャンフォーマットで配信される。ビデオソース112はまた、コンピュータグラフィックスカードの出力、例えば、オペレーティングシステムや、コンピューティングデバイス、例えば、タブレットコンピュータ上で実行される様々なアプリケーションのビデオ出力を表示することであってもよい。グラフィックスカードから出力される内容は、「画面内容」の一例である。ビデオソース112としてイメージングセンサを含むことができるソースデバイス110の例には、スマートフォン、ビデオカムコーダ、およびネットワークビデオカメラが含まれる。画面コンテンツは、スムーズにレンダリングされたグラフィックスと、様々な領域における自然コンテンツの再生と、を含み得るので、画面コンテンツは一般に、「混合コンテンツ」の形態でもある。ビデオエンコーダ114は、図3を参照してさらに説明するように、ビデオソース112からの非圧縮ビデオデータ113を符号化ビデオデータに変換する。
ビデオエンコーダ114は、入力された非圧縮ビデオデータ113を符号化する。ビデオエンコーダ114は、入力ビデオデータをリアルタイムで符号化する必要がある。すなわち、ビデオエンコーダ114は例えば、入力データを処理するレートが入力データレートを下回る場合、入力された非圧縮ビデオデータ113をストールすることができない。ビデオエンコーダ114は、一定のビットレートで圧縮ビデオデータ115(「ビットストリーム」)を出力する。典型的なビデオ・ストリーミング・アプリケーションでは、ビットストリーム全体がいずれの1つのロケーションに格納されない。その代わりに、圧縮されたビデオデータのプレシンクトは、ビデオエンコーダ114によって連続的に生成され、ビデオデコーダ134によって、例えば(CBR)通信チャネル120内に中間記憶装置を用いて消費される。CBRストリーム圧縮ビデオデータは通信チャネル120(例えば、SDIリンク)を介して送信機116によって送信される。他の構成では、圧縮されたビデオデータは、後に通信チャネル120を介して送信されるまで、または通信チャネル120を介した送信の代わりに、「フラッシュ」メモリまたはハードディスクドライブなどの非一時的記憶装置122に格納される。
宛先デバイス130は、受信機132、ビデオデコーダ134、および表示装置136を含む。受信機132は通信チャネル120から符号化されたビデオデータを受信し、受信したビデオデータ133をビデオデコーダ134に送信する。そして、ビデオデコーダ134は、復号したフレームデータを表示装置136に出力する。表示装置136の例は、陰極線管、液晶ディスプレイ(スマートフォンなど)、タブレットコンピュータ、コンピュータモニタ、またはスタンドアロンテレビセットで含む。他の構成では、ソースデバイス110および宛先デバイス130のそれぞれの機能が単一のデバイスで実施される。デバイス110および130の機能が単一の装置上で具現化される例示的な構成は、携帯電話ハンドセットおよびタブレットコンピュータ、または重畳挿入ユニットを含む放送スタジオ内の機器を含む。
上述の例示的な装置にもかかわらず、ソースデバイス110および宛先デバイス130のそれぞれは、典型的にはハードウェアおよびソフトウェアコンポーネントの組合せを介して、汎用コンピューティングシステム内に構成することができる。図2Aは、そのようなコンピュータシステム200を示しており、コンピュータモジュール201、キーボード202、マウスポインタデバイス203、スキャナ226、ビデオソース112として構成することができるカメラ227、およびマイクロフォン280などの入力デバイス、ならびにプリンタ215、ディスプレイデバイス136として構成することができるディスプレイデバイス214、およびラウドスピーカ217を含む出力デバイスを含む。外部変調復調器(モデム)トランシーバデバイス216は、接続221を介して通信ネットワーク220との間で通信するために、コンピュータモジュール201によって使用されてもよい。通信チャネル120を表すことができる通信ネットワーク220は、インターネット、セルラー電気通信ネットワーク、またはプライベートWANなどのワイドエリアネットワーク(WAN)とすることができる。接続221が電話回線である場合、モデム216は、従来の「ダイヤルアップ」モデムであってもよい。あるいは、接続221が大容量(例えば、ケーブル)接続である場合、モデム216はブロードバンドモデムであってもよい。無線モデムはまた、通信ネットワーク220への無線接続のために使用されてもよい。トランシーバデバイス216は、送信機116および受信機132の機能を提供することができ、通信チャネル120は、接続221において具現化することができる。
コンピュータモジュール201は、典型的には少なくとも1つのプロセッサユニット205とメモリユニット206とを含む。例えば、メモリユニット206は、RAM(semiconductor random access memory)やROM(semiconductor read only memory)を有する。コンピュータモジュール201はまた、ビデオディスプレイ214、ラウドスピーカ217、およびマイクロフォン280に結合するオーディオビデオインターフェース207、キーボード202、マウス203、スキャナ226、カメラ227、およびオプションとしてジョイスティックまたは他のヒューマンインターフェースデバイス(図示せず)に結合するI/Oインターフェース213、ならびに外部モデム216およびプリンタ215のためのインターフェース208を含む、いくつかの入出力(I/O)インターフェースを含む。オーディオビデオインターフェース207からコンピュータモニタ214への信号は、一般に、コンピュータグラフィックスカードの出力であり、「スクリーン・コンテンツ」の一例を提供する。いくつかの実装形態では、モデム216がコンピュータモジュール201内、例えば、インターフェース208内に組み込まれてもよい。コンピュータモジュール201はまた、ローカルエリアネットワーク(LAN)として知られるローカルエリア通信ネットワーク222への接続223を介したコンピュータシステム200の結合を可能にするローカルネットワークインターフェース211を有する。図2Aに示すように、ローカル通信ネットワーク222は、通常、いわゆる「ファイアウォール」デバイスまたは同様の機能のデバイスを含む接続224を介してワイドネットワーク220に結合することもできる。ローカルネットワークインターフェース211は、EthernetTMサーキットカード、BluetoothTMワイヤレス構成、またはIEEE 802.11ワイヤレス構成を備え得るが、多数の他のタイプのインターフェースがインターフェース211のために実施され得る。ローカルネットワークインタフェース211はまた、送信機116および受信機132の機能を提供することができ、通信チャネル120はまた、ローカル通信ネットワーク222において具現化することができる。
I/Oインターフェース208および213は、シリアルおよびパラレル接続のいずれかまたは両方を提供することができ、前者は典型的には、USB(Universal Serial Bus)規格に従って実装され、対応するUSBコネクタ(図示せず)を有する。記憶装置209が設けられ、典型的にはHDD(hard disk drive)210を含む。フロッピー(登録商標)ディスクドライブおよび磁気テープドライブ(図示せず)などの他の記憶装置も使用されても良い。光ディスクドライブ212は、典型的にはデータの不揮発性ソースとして機能するために提供される。そのような光ディスク(例えば、CD−ROM、DVD、ブルーレイDiscTM)、USB−RAM、ポータブル、外部ハードドライブ、およびフロッピーディスクなどのポータブルメモリデバイスは、コンピュータシステム200への適切なデータソースとして使用され得る。典型的には、HDD210、光ドライブ212、ネットワーク220および222のいずれも、ビデオソース112として、または表示部214を介した再生のために記憶されるべき復号されたビデオデータの宛先として動作するように構成されてもよい。システム100のソースデバイス110および宛先デバイス130、またはシステム100のソースデバイス110および宛先デバイス130は、コンピュータシステム200で実施することができる。
コンピュータモジュール201の構成要素205〜213は、典型的には、相互接続されたバス204を介して、当業者に知られているコンピュータシステム200の従来の動作モードをもたらす方法で通信する。例えば、プロセッサ205は、接続218を使用してシステムバス204に結合される。同様に、メモリ206および光ディスクドライブ212は、接続219によってシステムバス204に結合される。説明した構成を実施することができるコンピュータの例は、IBM−PCおよび互換機、Sun SPARCstations、Apple MacTM、または同様のコンピュータシステムを含む。
必要に応じて、ビデオエンコーダ114およびビデオデコーダ134、ならびに以下に説明する方法は、コンピュータシステム200を使用して実施することができ、ここで、ビデオエンコーダ114、ビデオデコーダ134、および説明する方法は、コンピュータシステム200内で実行可能な1つまたは複数のソフトウェアアプリケーションプログラム233として実施することができる。特に、ビデオエンコーダ114、ビデオデコーダ134、及び説明される方法のステップは、コンピュータシステム200内で実行されるソフトウェア233内の命令群231(図2B参照)によって実行される。ソフトウェア命令群231は、それぞれが1つまたは複数の特定のタスクを実行するためのものである1つまたは複数のコードモジュールとして形成することができる。ソフトウェアはまた、2つの別個の部分に分割されてもよく、第1の部分および対応するコードモジュールは説明される方法を実行し、第2の部分および対応するコードモジュールは、第1の部分とユーザとの間のユーザインターフェースを管理する。
ソフトウェアは、例えば、以下に記載される記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム200にロードされ、次いで、コンピュータシステム200によって実行される。そのようなソフトウェアまたはコンピュータ可読媒体に記録されているコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム200におけるコンピュータプログラム製品の使用は、好ましくは、ビデオエンコーダ114、ビデオデコーダ134、および説明される方法を実施するための有利な装置をもたらす。
ソフトウェア233は、典型的にはHDD210またはメモリ206に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム200にロードされ、コンピュータシステム200によって実行される。したがって、例えば、ソフトウェア233は、光ディスクドライブ212によって読み取られる光学的に読み取り可能なディスク記憶媒体(例えば、CD−ROM)225に格納されてもよい。
場合によっては、アプリケーションプログラム群233が1つまたは複数のCD−ROM225上で符号化されてユーザに供給され、対応するドライブ212を介して読み取られてもよく、あるいはネットワーク220または222からユーザによって読み取られてもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム200にロードすることもできる。コンピュータ可読記憶媒体は実行および/または処理のために、記録された命令および/またはデータをコンピュータシステム200に提供する任意の一時的でない有形の記憶媒体を指す。そのような記憶媒体の例は、フロッピーディスク、磁気テープ、CD−ROM、DVD、ブルーレイDiscTM、ハードディスクドライブ、ROMまたは集積回路、USBメモリ、光磁気ディスク、またはPCMCIAカードなどのコンピュータ可読カードを含み、そのような装置はコンピュータモジュール201の内蔵または外付けであるか否かにかかわらずである。ソフトウェア、アプリケーションプログラム、命令および/またはビデオデータまたは符号化ビデオデータのコンピュータモジュール401への提供にも関与し得る一時的または非有形のコンピュータ可読伝送媒体の例は、無線または赤外線伝送チャネル、ならびに別のコンピュータまたはネットワーク化されたデバイスへのネットワーク接続、ならびに電子メール伝送およびウェブサイト上に記録された情報などを含むインターネットまたはイントラネットを含む。
アプリケーションプログラム群233の第2の部分および上述の対応するコードモジュールは、ディスプレイ214上にレンダリングされるか、または他の方法で表される1つまたは複数のGUI(graphical user interface)を実装するために実行することができる。典型的にはキーボード202およびマウス203の操作を通じて、コンピュータシステム200およびアプリケーションのユーザは、GUIに関連するアプリケーションに制御コマンドおよび/または入力を提供するために、機能的に適応可能な方法でインターフェースを操作することができる。ラウドスピーカ217を介して出力されるスピーチプロンプトおよびマイクロフォン280を介して入力されるユーザ音声コマンドを利用するオーディオインターフェースなど、機能的に適応可能なユーザインターフェースの他の形態も実装され得る。
図2Bは、プロセッサ205および「メモリ」234の詳細な概略ブロック図である。メモリ234は、図2Aのコンピュータモジュール201によってアクセスされ得る全てのメモリモジュール(HDD209および半導体メモリ206を含む)の論理集合を表す。
コンピュータモジュール201が最初に電源投入されると、POST(power-on self-test)プログラム250が実行される。POSTプログラム250は、典型的には図2Aの半導体メモリ206のROM249に格納される。ソフトウェアを格納するROM249などのハードウェアデバイスは、ファームウェアと呼ばれることもある。POSTプログラム250は、コンピュータモジュール201内のハードウェアを検査して、適切な機能を保証し、典型的にはプロセッサ205、メモリ234(209、206)、および、典型的にはROM249に格納されているBIOS(basic input-output systems software)モジュール251を、正しい動作について検査する。POSTプログラム250が正常に実行されると、BIOS251は、図2Aのハードディスクドライブ210を起動する。ハードディスクドライブ210の起動により、ハードディスクドライブ210上に常駐しているブートストラップローダプログラム252に、プロセッサ205を介して実行させる。これにより、オペレーティングシステム253がRAMメモリ206にロードされ、オペレーティングシステム253が動作を開始する。オペレーティングシステム253は、プロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインターフェース、および汎用ユーザインターフェースを含む様々な高レベル機能を実行するために、プロセッサ205によって実行可能なシステムレベルアプリケーションである。
オペレーティングシステム253は、メモリ234(209、206)を管理して、コンピュータモジュール201で実行される各プロセスまたはアプリケーションが別のプロセスに割り当てられたメモリと衝突することなく実行するのに十分なメモリを有することを保証する。さらに、図2Aのコンピュータシステム200で利用可能な異なるタイプのメモリは、各プロセスが効果的に実行できるように、適切に使用される必要がある。したがって、集合メモリ234は、メモリの特定のセグメントがどのように割り当てられるかを示すことを意図するものではなく(特に断らない限り)、コンピュータシステム200によってアクセス可能なメモリの一般的なビューおよびそのようなものがどのように使用されるかを提供することを意図するものである。
図2Bに示すように、プロセッサ205は、制御ユニット239、算術論理ユニット(ALU)240、およびキャッシュメモリと呼ばれることもあるローカルまたは内部メモリ248を含むいくつかの機能モジュールを含む。キャッシュメモリ248は、典型的にはレジスタセクション内に多数の記憶レジスタ244〜246を含む。1つ以上の内部バス241は、これらの機能モジュールを機能的に相互接続する。プロセッサ205はまた、典型的には、接続218を使用して、システムバス204を介して外部機器と通信するための1つ以上のインターフェース242を有する。メモリ234は、接続219を使用してバス204に結合される。
アプリケーションプログラム233は、条件付き分岐およびループ命令を含むことができる一連の命令231を含む。プログラム233は、プログラム233の実行に使用されるデータ232を含むこともできる。命令群231およびデータ232は、それぞれメモリロケーション228、229、230および235、236、237に格納される。命令群231とメモリロケーション228−230の相対的なサイズに応じて、特定の命令は、メモリロケーション230に示される命令によって示されるように、単一のメモリロケーションに格納され得る。あるいは、命令がメモリロケーション228および229に示される命令セグメントによって示されるように、それぞれが別個のメモリロケーションに格納されるいくつかの部分にセグメント化されてもよい。
一般に、プロセッサ205には、そこで実行される命令のセットが与えられる。プロセッサ205は、プロセッサ205が別の命令セットを実行することによって反応する後続の入力を待つ。各入力は、入力デバイス202、203のうちの1つまたは複数によって生成されたデータ、ネットワーク220、202のうちの1つを介して外部ソースから受信されたデータ、記憶デバイス206、209のうちの1つから取り出されたデータ、または対応するリーダ212に挿入された記憶媒体225から取り出されたデータを含む、いくつかのソースのうちの1つまたは複数から提供することができ、すべて図2Aに示す。命令のセットの実行は、場合によってはデータの出力をもたらし得る。実行はまた、データまたは変数をメモリ234に格納することを含み得る。
ビデオエンコーダ114、ビデオデコーダ134、および説明される方法は、対応するメモリロケーション255、256、257内のメモリ234に格納されている入力変数群254を使用することができる。ビデオエンコーダ114、ビデオデコーダ134、および説明される方法は出力変数群261を生成し、これらは、対応するメモリロケーション262、263、264内のメモリ234に格納される。中間変数群258は、メモリロケーション259、260、266、267に格納することができる。
図2Bのプロセッサ205を参照すると、レジスタ244、245、246、算術論理ユニット(ALU)240、および制御ユニット239は、プログラム233を構成する命令セット内のすべての命令に対して「フェッチ、デコード、および実行」サイクルを実行するのに必要なマイクロオペレーションのシーケンスを実行するように協働する。各フェッチ、デコード、および実行サイクルは以下を含む:
(a) メモリロケーション228、229、230から命令231をフェッチまたは読出すフェッチ動作
(b) 制御ユニット239がどの命令がフェッチされたかを判定するデコード動作、および
(c) 制御ユニット239および/またはALU240が命令を実行する実行動作
その後、次の命令のためのさらなるフェッチ、デコード、および実行サイクルを実行する。同様に、制御ユニット239がメモリロケーション232に値を格納または書き込む保存サイクルが実行される。
後述する図7および図8の方法における各ステップまたはサブプロセスは、プログラム233の1つまたは複数のセグメントに関連付けられ、典型的にはプロセッサ205内のレジスタセクション244、245、247、ALU240、および制御ユニット239により協働して実行されることで、プログラム233の注目セグメントに対する命令セット内のすべての命令に対するフェッチ、デコード、および実行サイクルを実行する。
図3は、ビデオエンコーダ114の機能モジュールを示す概略ブロック図である。図4は、ビデオデコーダ134の機能モジュールを示す概略ブロック図である。ビデオエンコーダ114およびビデオデコーダ134は図2Aおよび2Bに示すように、汎用コンピュータシステム200を使用して実装することができる。図2Aおよび2Bでは様々な機能モジュールがコンピュータシステム200内の専用ハードウェアによって実装されても良いし、ハードディスクドライブ205上に常駐するソフトウェアアプリケーションプログラム233の1つまたは複数のソフトウェアコードモジュールなどの、コンピュータシステム200内で実行可能なソフトウェアによって且つプロセッサ205によるその実行において制御されることによって実装されても良いし、あるいはコンピュータシステム200内で実行可能な専用ハードウェアおよびソフトウェアの組合せによって実装されても良い。ビデオエンコーダ114、ビデオデコーダ134、および説明される方法は代替的に、説明される方法の機能またはサブ機能を実行する1つまたは複数の集積回路などの専用ハードウェアにおいて実装されても良い。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または1つ以上のマイクロプロセッサおよび関連するメモリを含み得る。特に、ビデオエンコーダ114はモジュール310、314、315、318、320、324、328、および330を備え、ビデオデコーダ134はモジュール410、414、418、422、426、および430を備える。ビデオエンコーダ114およびビデオデコーダ134の各モジュールは、それぞれ、ソフトウェアアプリケーションプログラム233の1つまたは複数のソフトウェアコードモジュール、またはビデオエンコーダ114およびビデオデコーダ134を実現するためにFPGA内の内部論理ブロックを構成するFPGA「ビットストリームファイル」として実装され得る。
図3のビデオエンコーダ114は低レイテンシビデオエンコーダの一例であるが、他のビデオコーデックを使用して、本明細書で説明する処理ステージ群を実行することもできる。ビデオエンコーダ114は、各フレームが1つまたは複数のカラーチャネルを含む、一連のフレームなどのキャプチャされたフレームデータを受信する。
図3を参照すると、変換モジュール310はビデオソース112から非圧縮ビデオデータ113を受信し、1組の分析フィルタバンクを使用して階層ウェーブレットフォワード変換を実行する。一般に、5/3 Le Gallウェーブレットが使用されるが、HaarウェーブレットまたはCohen−DaubechiesFeauveau 9/7ウェーブレットなどの他のウェーブレット変換を使用することができる。変換モジュール310は、ウェーブレット係数群を生成する。ウェーブレット係数群は、ウェーブレット分解構造に従って複数のサブバンドにグループ化される。変換モジュール310は、グループ化されたウェーブレット係数群312を出力する。ウェーブレット分解構造は、図5Aおよび図5Bを参照して以下でさらに説明される。
超低レイテンシ要件のため、垂直方向の分解のレベルの数はしばしば2つ以下のレベル(一般に、2つのレベルがレート制御ルックアヘッドに利用可能なプレシンクトの数を低減するので、1つのレベルのみ)に非常に制約される。水平方向では、分解のレベルの数は比較的制約されず、5つのレベルが一般に使用される。1つのレベルの垂直分解の場合を考えると、各サブバンド内には、高さが1つの係数で幅がいくつかの係数の配列として配列された係数のセットがある。係数の配置はリストと考えることができ、各サブバンド内の係数群が一般に正方形アレイであるJPEG2000などのコーデックにおける典型的な使用とは対照的である。次いで、各サブバンド内の係数群のリストをスキャンすることができる。しかし、第1に、グループ化動作が適用され、すなわち、各サブバンドはエントロピー符号化の目的のために、等しいサイズの係数のグループのセットに分割される。様々なグループサイズを使用することができ、グループサイズはすべてのサブバンドにわたって一定である必要はないが、すべてのサブバンドについて4の固定グループサイズは典型的には、様々なテストデータの下で最適に近い性能を提供する。したがって、変換モジュールは、グループ化された係数群312を生成する。
グループ化された係数群312は、最大符号化ラインインデックス(GCLI)抽出器モジュール314に渡される。グループ化された係数群312は、一連のビットプレーン(または「ライン」)として符号化され、すなわち、グループ内の各係数のビット「n」は、モジュール314によって4ビットの単位として符号化される。最初に、係数グループ内の係数群の最上位ビットを含むビットプレーンのビットプレーンインデックスが決定される。ビットプレーンインデックスは、最大符号化ラインインデックス(GCLI)と呼ばれる。集合的に(すなわち、すべての係数グループおよびサブバンドにわたって)、インデックス群は、最大符号化ラインインデックス群(GCLI群)316を形成する。GCLI群316は、GCLI予測モジュール315に渡される。予測モード319は、モジュール315によってプレシンクト内のすべてのサブバンドにわたるGCLI群のために選択される。代替の構成では、別個のGCLI予測モードが各サブバンドに対して独立して決定されてもよい。各サブバンドに対してGCLI予測モードを決定する構成では、各サブバンドのGCLI予測モードが符号化ビットストリーム115において別々にシグナリングされる。利用可能な予測モードは、水平、垂直及び生(予測なし)を含む。他の予測モードも利用可能であり、「HSIG」および「VSIG」モードを含み、それによって連続するゼロ値化されたGCLIのランがシグナリングされる。他の構成は、サブバンドにわたって動作する「Zツリー」予測モードを使用することができ、上記の分解レベルにおけるサブバンド群のゼロ値化されたGCLI群の存在から、より低い分解レベルにおけるサブバンドのゼロ値化されたGCLI群を予測することを可能にする。各サブバンドについて別個のGCLI予測モードが利用可能である場合、GCLI予測モード探索は、すべてのサブバンドがZツリー予測を使用するか、またはサブバンドがZツリー予測を使用しないように制約される。
GCLI予測の結果として、GCLIデルタ値群317がモジュール315によって生成される。予測モード319およびGCLIデルタ値群317は、符号化ビットストリーム115に符号化するためにエントロピーエンコーダモジュール318に渡される。GCLI予測モジュール315はまた、GCLI符号化コスト327を生成する。GCLI符号化コストは、GCLIデルタ値群317を符号化するビットコストを示す。ビットプレーンのセットとしてのサブバンド内の係数グループ群の表現は、図5Cを参照してさらに説明される。
グループ化された係数群312は、オフセット導出器モジュール330にも入力される。オフセット導出器モジュール330は、オフセットテーブル332を導出する。オフセットテーブル332は、サブバンド内の係数グループ群のための最小ビットプレーン上の変動を可能にする。サブバンド内変動は、より低い品質が許容される係数グループの特定のセット群の符号化コストの低減を可能にする。いくつかの係数グループに対する符号化コストの低減は、プレシンクト内の残りの係数グループ群に対して全体的により大きなレートを与える。オフセットテーブル332は、オフセットのリストを含み、各オフセットは、特定のサブバンドレベル以下の係数グループ群に適用される。オフセットテーブル(オフセットマップとも呼ばれる)は、量子化オフセットとも呼ばれるオフセットのセットを効果的に定義する。オフセット群の各々は、サブバンド係数のセットに適用される。量子化オフセット群は、典型的には不均一である。特定のサブバンドレベルを超える係数群は影響を受けない。より高いサブバンドレベルは、より少ない係数を有するので、より高いサブバンドレベルの係数の精度を低減することは、より低いサブバンドレベルにおける係数の精度を低減することと比較して、ビットレートを節約することへの寄与を比較的少なくする。オフセットテーブル332は一般に、プレシンクト全体にわたって適用され、各オフセットは、特定のサブバンドレベルの係数と、重複するフィルタサポートの意味で並置されるより低いサブバンドレベルの係数と、に適用される。フィルタサポートに関する重なりは、真のフィルタサポートに関して、例えば、5/3 Le Gallウェーブレットに関して定義することができる。あるいは、たとえ5/3 Le Gallウェーブレットが使用されるとしても、オーバーラップはHaar waveletのより単純なサポートの観点から定義されてもよく、実質的に同じ効果で低減された複雑さを達成する。
レート制御モジュール320は、オフセットテーブル332およびGCLI符号化コスト327を受信し、プレシンクトのレート制御パラメータ群322を決定する。プレシンクトには、プレシンクトの次元および画素値当たりの目標ビットに従って、特定のビットバジェットが与えられる。さらに、プレシンクトのビットバジェットは、いくつかのプレシンクトにわたる平滑化ウィンドウを使用して決定することができる。超短待ち時間動作の場合、平滑化ウィンドウのサイズは厳しく制約され、例えば、1レベルの垂直分解では、32ラインのビデオデータのエンド・ツー・エンド待ち時間を満たしながら、平滑化ウィンドウに対して4つのプレシンクトのみが利用可能である。GCLI予測モジュール315から受信されたGCLI符号化コスト327は、係数グループビットプレーンの符号化に利用可能な残りのビットバジェットと共に、プレシンクトビットバジェットから差し引かれる。次に、レート制御パラメータ群322は、プレシンクトに対するビットバジェットの最大量が使用されるように選択される。レート制御パラメータ群322は、2つのパラメータ、「シナリオ」および「リファインメント」パラメータを含む。シナリオ及びリファインメントパラメータは共に、グループ化された係数群312の量子化のために使用される。ウェーブレット係数群の切り捨ては、目標ビットバジェットを超えない機構である。「シナリオ」は、すべてのサブバンドについて全体の切り捨て点を設定する。すべてのサブバンドにわたるグローバルな切り捨ては、コース機構を提供する。次に、「リファインメント」レベルによって、より細かい粒度のレート制御が提供される。リファインメントレベルは、「シナリオ」によって示されるものより1ビット下のサブバンドも符号化されるサブバンドの数を指定する。リファインメントレベルは、符号化されるリファインメントビットプレーンの追加のサブバンドに相当する残りのビットバジェットが不十分になるまで、残りのビットバジェットの多くを消費する。
以下の情報は、シナリオおよびリファインメントパラメータを選択するときの符号化コスト群の導出に含まれる。第1に、プレシンクトに対するGCLI群の符号化コストが決定され、残りのバジェットは係数グループビットプレーン符号化に利用可能である。GCLI符号化コストは、シナリオパラメータ選択によって影響を受けるが、これはシナリオを上げると、符号化されていないビットプレーンの「フロア」が高くなるからである(図5Cを参照してさらに説明する)。すべての有効ビットプレーンがフロアより下にある係数グループについては、ビットプレーンは符号化されない。したがって、係数グループをスキップするシグナリングは、選択されたシナリオによって影響を受ける。次に、各係数グループのビットプレーンのコストが係数グループのGCLI値と、係数グループの修正された最大切り捨てラインインデックス(GTLI)値とから決定され、候補シナリオから生じるGTLIは、オフセットテーブル332からの対応するオフセットに従って調整される。レート制御パラメータ群322は、量子化器モジュール324およびパッカーモジュール328に提供され、符号化ビットストリーム115に符号化される。
量子化器モジュール324は、レート制御パラメータ群322(すなわち、サブバンドのリファインメントおよびシナリオ)およびオフセットテーブル332に従って、各グループからのウェーブレット係数群を量子化する。サブバンド内の係数群の切り捨て点は、シナリオおよびリファインメントによって設定され、「最大切り捨てラインインデックス」(GTLI)と呼ばれる。GTLIは、オフセットテーブル332から選択されたオフセットの追加によってさらに修正される。
オフセットテーブル332は、1つのオフセットが複数のサブバンドにわたるウェーブレット係数群に適用されるように適用される(水平方向の分解のみが考慮される)。オフセットマップは、固定レベルから、例えばレベルNからレベル0まで適用される。例えば、レベルNより上のサブバンドレベルではオフセットは適用されず、次いで、レベルNのサブバンドについては、係数グループ毎に1つのオフセットが適用され、レベルNより下のサブバンド(例えば、レベルM)では、それぞれのオフセットが2N−M係数グループに適用される。例えば、オフセットマップがレベル2(5つのレベルのうちの)で生成される場合、1つのオフセットがレベル2の1つの係数グループに適用され、同じオフセットがレベル0の4つの係数グループに適用される。最終GTLIに従って係数群を切り捨てる前に、切り捨てられた係数値が切り捨て前の値により近くなるように、丸めオフセットが適用される。一般に、均一な丸めは、低い複雑さで良好な性能を提供する。最後に、量子化器モジュール324は、切り捨てられた係数グループ群326をパッカーモジュール328に出力する。
エントロピーエンコーダモジュール318は、GCLI群デルタ群317およびGCLI予測モード319を受信して符号化する。GCLI値群を予測するためのいくつかのモードが利用可能であり、選択されたモードは、プレシンクト内のすべてのサブバンドにわたってすべての係数グループに適用される。GCLI予測モードの例は、予測子がサブバンド内の左隣接係数グループである水平予測と、予測子が上記隣接係数グループ、すなわち上記プレシンクトからの対応するサブバンド内の係数グループである垂直予測と、を含む。各係数のGCLI値が符号化され、予測子が使用されない「生」モードも利用可能である。係数グループの数は、選択されたウェーブレット分解およびプレシンクト次元から既知であるので、GCLI群316はGCLIデルタの一連の単項符号化された大きさを使用して符号化され、GCLIデルタの符号のための追加ビットを含む。結果として得られる符号化されたGCLIデルタ317のセットは、単項符号および各値の符号ビットを使用して、符号化されたビットストリーム115に書き込まれる。
パッカーモジュール328は、各係数グループから符号化されるべきビットプレーンを含むデータを、符号化ビットストリーム115にパックする。各係数グループに対して、指示されたGCLIから修正されたGTLIまでのビットプレーン群は、符号化ビットストリーム115にパックされる。レート制御パラメータ群322からのシナリオによって示されるように、修正されたGTLIがGTLIを超えて増加された場合、係数ビットプレーンデータのための低減された符号化コストが生じる。レート制御モジュール320は既に、低減された符号化コストを考慮に入れており、ビットレートの節約の結果として、リファインメントのために追加のサブバンドを選択するか、またはより高いシナリオを選択することができる。
結果として得られる符号化ビットストリーム115は、送信機116、通信チャネル120、および受信機132を介して、受信ビットストリーム133としてビデオデコーダ134に送信される。得られた符号化ビットストリーム115は、非一時的記憶装置122に記憶されてもよい。非一時的記憶装置は通信チャネル120に加えて、または通信チャネル120の代わりに、または通信チャネル120の一部として存在することができる。
図4を参照すると、エントロピーデコーダモジュール410は、受信ビットストリーム133を受信する。最初に、フレームヘッダがモジュール410によって復号される。フレームヘッダは、フレーム寸法及び符号化されたプレシンクトサイズを含む項目をシグナリングする。次に、フレームヘッダからプレシンクトが復号される。
各プレシンクトについて、レート制御モジュール320によって決定されるシナリオおよびリファインメントは、受信ビットストリーム133から復号される。シナリオおよびリファインメントから、プレシンクトの残りの符号化構造を決定することができる。さらに、各プレシンクトについて、オフセット抽出器モジュール418は、受信ビットストリーム133から、オフセットテーブル332に対応するオフセットテーブル420を復号または決定する。エントロピー復号モジュール410は、デルタGCLI値群412およびGCLI予測モード413を復号する。デルタGCLI値群412およびGCLI予測モード413は、GCLI再構成器モジュール414に出力される。GCLI再構成器モジュール414は、受信ビットストリーム133から得られたプレシンクトに対するGCLI予測モード413に従って、GCLI値群416を再構成する。各サブバンドが独立したGCLI予測モードを有する構成では、別個のGCLI予測モードが各サブバンドに対して復号される。次に、各係数グループについて、サブバンドのGCLI予測モードに従って予測GCLIが決定され、係数グループのGCLI値を再構成するためにGCLIデルタが追加される。
GCLI値群416およびオフセットテーブル420を使用して、アンパッカーモジュール422は、プレシンクト内のサブバンド群の係数グループ群のビットプレーン群を復号係数群424として抽出するように動作する。逆量子化器モジュール426は、ウェーブレット係数群428を生成するために、復号された係数群424に対して逆量子化を実行する。逆量子化動作は、復号された係数をウェーブレット係数(合成ウェーブレットフィルタバンクによる使用に適した)に変換するために、適切な逆量子化ステップを適用することを含む。逆量子化ステップは、サブバンドのGTLIに従って決定され、オフセットテーブル420からの対応するオフセットに従ってサブバンド内の各係数グループに対して修正される。以下の式[1]は、オフセットテーブル420からのオフセットを含む「gtli」を用いて、量子化ステップサイズの導出に使用することができる。オフセットテーブルからのオフセットは量子化ステップサイズに影響を及ぼすので、オフセットは「量子化オフセット」とも呼ばれる。
Figure 2020515113
次に、逆変換モジュール430は、合成ウェーブレットフィルタバンクをウェーブレット係数群428に適用して、復号ビデオ135を生成する。
図5Aは、ビデオデータのプレシンクト500に対するウェーブレットサブバンド分解を示す概略ブロック図である。図5Bは、ウェーブレット分析フィルタバンク550を示す概略ブロック図である。図5Bでは、プレシンクトのビデオサンプル群552が水平分解のためのレベル0〜5に対応するフィルタ553、554、556、558、および560などのウェーブレット分析フィルタのセットに供給される。ウェーブレット分析フィルタバンク550内の各フィルタは、2組の係数、ローパス係数群(「L」)およびハイパス係数群(「H」)を生成する。ローパス係数群Lは、フィルタバンク550内の次のレベル(すなわち、レベルNからレベルN+1まで)に渡される。ローパス係数群「L」は、最終レベル(すなわち、図5Bのレベル4)まで、フィルタバンク550の次のレベルで「H」および「L」セットにさらに分解され、そのレベルで「H」および「L」係数の両方が出力される。集合的に、係数のセット群は、サブバンド係数群570として出力される。図5Bは、5つのレベルの水平分解を示す。したがって、サブバンド係数群570は、6つのサブバンドを含む。
垂直分解の1つのレベルは図5Aに示されるように、係数群の別の2つのサブバンドを追加する。係数の各セットは、セットを生成するために使用されるフィルタのレベルによって識別され、「H」または「L」として、別個のサブバンドを形成する。各色成分のサンプル群は、別々のフィルタを使用して処理され、サブバンドの数を3倍にする(すべての色成分にわたって同じ分解構造が使用されると仮定する)。さらに、図5Bは、ウェーブレット分解の一次元を示しているが、ビデオデータ上で動作することは一般に、垂直方向および水平方向に分解を実行することを必要とする。次に、各サブバンドは、垂直および水平次元における「H」および「L」セットを示す2文字シーケンスとして識別され、その後に分解レベルが続く。図5Aのサブバンド構成502は、ビデオ処理システム100におけるビデオデータのプレシンクトのためのサブバンド識別を示す。サブバンド構成502は、1つのレベルの垂直分解と5つのレベルの水平分解を示し、その結果、色成分に対して8つのサブバンドが得られる。したがって、4:4:4クロマフォーマットを使用して各色成分に対してサブバンド構成502を適用する場合、サブバンドの総数は24である。図5Aに示されるように、各サブバンドはそこに含まれる係数の数に従ってサイズ決めされ、サブバンド群は、分析フィルタバンク550(図5B)に提供されるサンプル群の空間領域に一致する空間領域を一緒に占めるように示される。1つのレベルの垂直分解から得られる2つのサブバンドは、「LH0」および「HH0」として示され、5つのレベルの水平分解から得られる6つのサブバンドは「HL0」、「HL1」、「HL2」、「HL3」、「HL4」、および「LL4」として示される。
図5Cは、固定された切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す。サブバンド5100の一部は一連のグループ、例えば、図5Cのグループ5104、5106、および5108に配列された多数の係数5102を含む。複数のグループの各々は、固定数の係数、例えば4つの係数を含む。各係数のバイナリ表現は、示された部分5100についても示されている。部分5100についてのビットプレーン510のセットも示されている。各係数を符号化するために、GCLI値群が導出される。図5Cに見られるように、グループ5104、5106、および5108は、ビットプレーン5、4、および7にそれぞれ有意ビット群をもたらす係数を含む。図5Cの例では、水平予測スキームが示されており、その結果、デルタGCLI値5120および5122はそれぞれ−1および+3である。各グループのGCLIビットプレーン群の上のビットプレーン群はゼロ値群(ビット群5110として示される)のみを含み、符号化されない。ビット群5110は、有意ではなく、符号化されていないと言われる。サブバンド内の係数グループ群に対して、特定のGTLI閾値5114が存在する。GTLI5114は、プレシンクト内のすべてのサブバンドに適用されるシナリオ、異なるサブバンド間のビット群の相対的な重み付けを制御するためのサブバンドワイドレベルオフセット、および「リファインメント」パスにサブバンドを含めることによって余分なビットプレーンを符号化する可能性の結果である。
リファインメントパスは、サブバンドのサブセットに対するGTLI閾値5114の低下をもたらす。サブセットは、リファインメント順序テーブルから導出され、リファインメントは、リファインメント順序テーブル内の最初の0個以上のエントリに適用される。リファインメントパスを使用することは、シナリオ選択メカニズムと比較して、より細かい粒度のレート制御を可能にし、したがって、所与のプレシンクトにおける未使用ビットの量を低減する。さらに、オフセットテーブルからの各係数グループに対するオフセットの適用は、サブバンド内の異なる係数グループに対するGTLI閾値5114の変動を可能にする。図5Cに見られるように、グループ5108のGTLI閾値は、グループ5104および5106のGTLI閾値に対して1ビットプレーンだけ上げられる。考慮される係数グループに対するGTLI閾値より低い係数ビットプレーン、すなわちビット群5116は、有意である(ビット群は有用な情報を含む)が符号化されず、したがって失われる。したがって、ビット群5112(実線で囲まれたグループ5104、5106、5108のそれぞれのビット)のみが有意であり、符号化される。ビデオ処理システム100がすべての有効ビットを保持できない(すなわち、シナリオが常にビット0を示すとは限らない)と仮定すると、復号されたビデオデータ(ビデオデータ135)の主観的品質に大きく寄与するビット群を割り当てることが好ましい。GTLI閾値5114は符号化されるべき有意ビットプレーンを有さない係数グループをもたらし、GCLIデルタ値群に影響を及ぼし、係数グループに対してビットプレーンが符号化されない場合には特別な処理を行うことが可能である。したがって、シナリオ選択は、GCLI符号化コストに影響を及ぼす。各サブバンドはまた、適用される独立したサブバンド「利得」を有する可能性がある。サブバンド利得のセットは、重み付けテーブルとして知られている。
サブバンド間のGTLI閾値群の重み付けは、「visual」および「psnr」と定義された2つの共通の重み付けを用いて調整することもできる。「psnr」重み付けは、ウェーブレット分解の各レベルで見られる利得の差を補償し、結果として、各係数が均一な影響を有し、したがって、復号されたビットストリームのPSNRを最大にする。「visual」重み付けは、視覚的に重要でないとみなされる他のサブバンドを犠牲にして、視覚的品質に対してより大きな寄与をするとみなされるサブバンドに対してより高い精度を提供する。重み付け方式を使用することの欠点は、サブバンド全体にわたって均一に適用することで、したがってプレシンクト全体にわたって均一に適用されることである。サブバンド内精度を有するGTLIオフセットマップの決定は、より高い適応度を提供し、プレシンクトのサブバンドの異なる部分における明確に異なるウェーブレット係数統計の存在下で不利なレート制御挙動を軽減する。
ゲインテーブル値('gain[sb_idx]))とリファインテーブル値('priority[sb_idx]')が考慮される。GTLI閾値5114は、以下の式[2]に示すように決定される。
Figure 2020515113
式[2]において、coeff_group_idxは、考慮されるサブバンド内の係数グループを識別し、map_offsetsは、係数グループインデックスをオフセットテーブルインデックスに変換する。所与の分解レベル、例えば、レベル3では、map_offsetsは1:1マッピングであり、次いで、より低い分解レベル、例えば、レベル2では、map_offsetsが2つの係数グループインデックス毎に単一のオフセットテーブルインデックスにマッピングし、以下同様である。次に、offset_tableは、図7のステップ706で決定され、図8のステップ802で復号されたオフセットテーブルまたはマップである。より高い分解レベル、例えば、レベル4については、オフセットテーブルは使用されず、式[2]のoffset_tableは無視される。map_offsets関係は、考慮されるレベルとオフセットテーブルが生成されたレベルとの間の分解レベルの差に従って、係数グループインデックスをビットシフトすることによって実現される。したがって、map_offsets関係は、明示的なテーブルルックアップを必要としない。このmap_offsets関係は、図7のステップ706で生成された単一のオフセットテーブルが複数のレベルのウェーブレット分解にわたって使用されることを可能にする。図5Dは、符号化プレシンクト5202に対するビットストリーム5200の分解を示す。符号化プレシンクト5202は以下のように、ウェーブレットサブバンド群を符号化するために特定の順序付けおよびグループ化を使用する。各色成分の水平分解サブバンド、すなわちLL4、HL4、HL3、HL2、HL1、およびHL0は、サブパケット5208にグループ化され、垂直分解サブバンド、すなわち各色成分のLH0およびHH0はサブパケット5210にグループ化される。したがって、サブパケット5208は、18個のサブバンドの係数データを含み、サブパケット5210は、6個のサブバンドの係数データを含む。符号化プレシンクト5202にサブバンド係数データを配置する他の方法も可能である。各サブパケット(すなわち、5208および5210)内では、符号化されたGCLIデルタ群5214および係数データ5216が関連するすべてのサブバンドに対して存在する。
符号化プレシンクト5202は、符号化レート制御パラメータ群5204、符号化オフセットテーブル5206、および符号化GCLI群5208を含む。レート制御パラメータ群5204は、プレシンクト内の複数のサブバンドのシナリオおよびリファインメントを定義する。レート制御パラメータ群5204は、符号化オフセットテーブル5206と組み合わせて、プレシンクトの各サブバンド内の各係数グループに対するGTLIが決定されることを可能にする。オフセットテーブル5206は、GTLIがサブバンド内の係数グループ間で変化することを許容し、その結果、特定の係数グループ群の符号化コストが低減される。次に、符号化GCLI群5208を使用して、プレシンクト内の各係数グループの符号化されたビットプレーンの数が決定され、係数データ5210として符号化される。レート制御パラメータ群5204、符号化GCLI群5208、および係数データ5210は、符号化プレシンクト5202の全体を占有する可能性が低いので、未使用データ部分5212も通常存在する。未使用データ部分5212のサイズは、適切なレート制御パラメータ群5204の選択により、例えば、符号化プレシンクト5202のサイズの制約内で達成可能な限り多くのサブバンドをリファインメントのために選択することにより、最小化される。
図6は、ビットストリームの表現600を示す。表現600は、可変切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す。例示的な空間ドメイン602は、フレーム内のピクセルデータを表し、いくつかの例示的なテキスト614と、いくつかのテクスチャードビデオデータ(たとえば、草または木などのいくつかの自然コンテンツ)など、より細かい詳細616を有するいくつかの領域と、を含む。より細かい詳細616は、滑らかな領域(例えば、コンテンツに非常に滑らかな変動を有し、したがって、主に低周波数またはより高いサブバンド係数エネルギーを占有する、曇りのない空)ではないので、ウェーブレット領域には、デコーダで高い視覚品質を維持するために保存する価値のあるいくつかの高周波数情報がある。テキスト614は、ウェーブレット領域内の複数のサブバンドにわたる大きな係数の大きさを含み、したがって、考慮されるプレシンクトに与えられるビットレートのかなりの部分を消費する。
図6は、LL4 604、LH4 606、LH3 608、LH2 610およびLH1 612の5つのサブバンドを示す。サブバンド604、606、608、610、および612のそれぞれについて、係数群を係数グループ群に分割するマーキングと共に軸が示されている。サブバンド604、606、608、610、および612のそれぞれについて、係数の大きさは、係数の大きさがサブバンド全体にわたって変化するように示されている(例示の目的のために、実線が示されているが、実際には各係数が離散的な大きさおよび符号を有し、固定数の係数が各係数グループ内に存在する)。各係数グループは固定数の係数を含み、より高いレベルのウェーブレット分解(例えば、サブバンド604、606)のためのマーキング間のより広い間隔は、より少ない係数が存在することを反映し、各係数は、より低いレベルのウェーブレット分解(例えば、サブバンド610、612)と比較して、空間領域602においてより大きなサポートを有する。各サブバンドに対して、各係数グループに対するGCLIの閾値、例えば、サブバンド610に対する閾値620が示されている。GCLIは係数グループ毎に設定されるので、GCLI閾値(例えば、620)の変化は、考慮されるサブバンドについての係数グループ境界でのみ生じる(これは図6に示されるサブバンド604、606、608、610および612の各々について明らか)。さらに、各サブバンドに対して、各係数グループに対するGTLIの閾値、例えば、サブバンド610に対する622が示されている。
図6に示すように、GTLI閾値は、サブバンド全体にわたって変化する。GCLI閾値620とGTLI閾値622との間のギャップは、サブバンド内の考慮される係数グループの精度と、ビットプレーン符号化コストと、を示す。図6に見られるように、サブバンド610および612における一連の係数グループは、適用される正のオフセットを有する。オフセットは、テキスト614に空間的に対応する全てのサブバンドにわたる係数にわたる、増加したウェーブレット係数エネルギーと一致する。広い(増加した)スペクトルエネルギーは、関連する係数グループ群に対するGCLIを上昇させ、したがって、サブバンドにわたる固定されたGTLIによって、係数グループ群に対する係数群の量子化レベルも上昇させる。量子化レベルを上げると、高エネルギー係数群の精度が低下し、その結果、符号化コストが低下する。符号化コストは、GCLI閾値620とGTLI閾値622との間のギャップとして可視化することができる。オフセットテーブルに正のオフセットを適用することによるサブバンドの部分の符号化コストの低減は、レート制御モジュール320がサブバンドにわたる精度の全体的な増加(GTLI閾値622の低減)を提供することを可能にする。特に、低エネルギーを有するサブバンドの部分は、より低いGTLI閾値の影響を受け、これらの低エネルギー部分における改善された精度をもたらす。低エネルギー部分は、そわなければ失われるか、または破損されるのであろう詳細を含み得るので、低エネルギー部分は視覚的に重要である。
プレシンクト全体の符号化コストはビットバジェットを超えることができないので、係数グループ群のGTLI閾値が上昇しない場合、グループの他の係数の下位ビットが符号化され、したがって、他の係数に与えられる精度が低くなる。精度は、他の係数の視覚的品質に対してより大きな寄与をする。例えば、リファインメントパスの対象となるサブバンドをより少なくし、影響を受けるサブバンドのGTLI値を上げる必要がある。いくつかの例では、より高いシナリオを選択することが必要であり、すべてのサブバンドについてGTLI閾値を上げる。テクスチャ詳細616と共存する係数に示されるように、サブバンド、例えばサブバンド612に対するGTLI閾値を上げることは、詳細616と一致する係数の大きさがより小さく、したがって、対応するGCLI群がより低く、ビットプレーンの損失が視覚的に相対的により大きな影響を有するので、符号化係数群の精度を実質的に低減する。サブバンド内の不均一なGTLIオフセットテーブルの適用は、サブバンド全体にわたる係数の精度を均一にするものと見なすことができる。
図7は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを符号化する方法700を示す概略フロー図である。方法700は、メモリ206に格納され、プロセッサ205の実行によって制御される、アプリケーション233の1つまたは複数のモジュール(図3のモジュールなど)として実装することができる。
方法700を実行すると、符号化ビットストリーム115(図1)は、より高いエネルギーを有するサブバンド群の部分における係数の精度が低下し、その結果、量子化がより厳しくなる。精度の低下は、サブバンド内の他の場所(および他のサブバンド内)の係数群の精度の向上を可能にする。方法700の実行は、所与の分解レベルでサブバンド内の各係数グループに対するGTLI閾値を調整するためのオフセットテーブルを決定するために、発見的手法(heuristic)を適用する。方法700は、ウェーブレット分析変換ステップ702で開始する。
ウェーブレット分析変換ステップ702において、変換モジュール310は、プロセッサ205の制御下で、ビデオデータのプレシンクトに対する5/3 Le Gallウェーブレット変換などのウェーブレットフィルタまたはウェーブレット変換を適用する。超短待ち時間動作の場合、プレシンクトのサイズは、2本のビデオラインの高さ、およびフレームの全幅に制限される。ステップ702は、図5Aおよび図5Bを参照して説明したように、ウェーブレット分解に従って複数のサブバンドにグループ化されたウェーブレット係数のセットを生成するために実行される。モジュール314は、ステップ702において、各サブバンドの各係数グループに対するGCLIビットプレーンを決定することによって、GCLI群(GCLI群316など)を決定するために実行する。次に、プロセッサ205における制御は、方法700を係数エネルギー検出ステップ704に渡す。
係数エネルギー検出ステップ704において、オフセット導出器モジュール330は、プロセッサ205の制御下で、プレシンクト係数エネルギー表示を生成する。プレシンクト係数エネルギー表示は、プレシンクトを空間的に、概ね等しいサイズのセクション群に分割する。プレシンクトにわたるセクションカウントは、水平ウェーブレット分解の特定レベルN、例えばレベル2(分解の5レベルのうちの)における係数グループの数に対応する。各セクションにおいて、局所係数エネルギー表示が導出される。局所係数エネルギー表示は、プレシンクトのいくつかのサブバンド、例えば、レベルNからレベル0までの係数の大きさを考慮することによって導出される。レベルNでは、セクション(例えば、セクションi)に対応する単一の係数グループの係数群が考慮される。レベルN−1では、セクション2i〜2i+1に対応する係数グループ群の係数群が考慮され、レベルN−2では、セクション4i〜4i+3に対応する係数グループ群の係数群が考慮され、以下同様である。したがって、所与のセクションのエネルギー表示は、セクションと空間的に重なり合うより低いレベルの分解からのウェーブレット係数群の和によって示されるように、総高周波エネルギーと相関する。5/3 Le Gallウェーブレットのための5つのサンプルのサポートは、セクションの隣接する係数グループ群とのいくらかの追加のオーバーラップを意味するが、これはオフセットテーブル生成の目的のために考慮される必要はない。
考慮されるサブバンド群は、典型的にはより低い分解レベルであり、したがって、より小さい空間サポートを有する係数群を有する。考慮される係数群は、入力ビデオデータ113内の高周波エネルギー(鋭いエッジ)を捕捉する。複数のサブバンドにわたる高エネルギーの集中は、ビデオデータ113における空間的に鋭いエッジを示し、その結果、比較的高いGCLI値群が得られる。次いで、複数のサブバンドにわたる比較的高いエネルギーのセクションは、高いエネルギーセクションとしてマークされる。比較的低い大きさの係数群を有するセクション、または複数のサブバンドにわたってあまり顕著でないスプリアスエネルギーは、低エネルギーセクションとしてマークされる。プレシンクトを高エネルギーセクションと低エネルギーセクションに分類することにより、オフセットテーブルの生成が可能になる。次に、プロセッサ205における制御は、方法700をサブバンド内オフセットテーブル生成ステップ706に進める。
サブバンド内オフセットテーブル生成ステップ706において、オフセット導出器モジュール330は、プロセッサ205の制御下で、プレシンクトのためのオフセットテーブル(テーブル332など)を生成するために実行する。オフセットテーブルは、オフセット群のセット群またはラン群への分類を平滑化することによって、プレシンクトを高エネルギーおよび低エネルギーの領域に分類することから生成される。ステップ704からの各セクションは、まず、閾値を適用することによって、局所的に低いエネルギーまたは局所的に高いエネルギーとして分類される。この第1の分類は、主に低エネルギーのセクションのグループにおける高エネルギーセクション群のスプリアス検出が可能であり、その逆も可能であるという意味で、「ノイズの多い」分類をもたらす。より滑らかな分類を生成するために、水平フィルタが適用される。水平フィルタを適用する際に、各セクションの分類は、空間的に隣接するセクションの分類に照らして再評価される(水平方向において、評価はプレシンクトごとに動作するように制限される)。例えば、大多数(5つのうち3つ)フィルタを適用して、分類におけるスプリアス遷移を大幅に除去することができる。フィルタは例えば、一様な係数群を有する5タップFIRフィルタとして実施することができ、その後に閾値演算が続く。大多数フィルタは、断続的な中断を有する高係数エネルギーの領域群、例えば、単語間にある間隔を有するテキストに有用である。
次に、低エネルギーのセクション群にはゼロ値オフセットが割り当てられ、高エネルギーの領域群には正の整数オフセットが割り当てられる。平滑化関数の適用は、間欠的に高いエネルギーの領域群がオフセット値1を受け取るように、オフセット値がゼロおよび1の値に制約されることをもたらすことができる。さらに、一貫して高いエネルギー分類の領域群は、2のオフセット値を受け取ることができる。例えば、前のフィルタリング規則に加えて、5/5大多数フィルタは、2のオフセットをもたらすことができる。ステップ706は、より低い大きさの係数群を有するサブバンドの部分に対してより大きな大きさの係数群を有するサブバンドの部分に与えられる精度を低減するためにオフセットテーブルを生成するように動作する。GCLI予測モジュール315は、ステップ706の一部として実行して、GCLIデルタ値群を決定することができる。GCLI予測モジュール315は、各GCLI値を予測するための予測モードを選択する。各係数グループに対して、予測されたGCLIが例えば、隣接する係数グループから生成される。次に、デルタGCLIを符号化して、必要なGCLIを生成する。次に、プロセッサ205における制御は、方法700をシナリオ選択ステップ708に進める。
シナリオ選択ステップ708において、レート制御モジュール320は、プロセッサ205の制御下で、プレシンクトを符号化するための「シナリオ」を選択する。シナリオは、そのシナリオがプレシンクトのビットバジェットを超えない係数ビットプレーン符号化の最低ビットプレーンを特定するように、プレシンクト内のすべてのサブバンドに適用可能な基本GTLI閾値を設定する。ステップ706のオフセットテーブルの影響は、符号化コストを決定する際に考慮される。次に、プロセッサ205における制御は、方法700をリファインメント選択ステップ710に渡す。
リファインメント選択ステップ710において、レート制御モジュール320は、プロセッサ205の制御下で、プレシンクトを符号化するための「リファインメント」を選択する。リファインメントは、1つの追加のビットプレーンが符号化されるサブバンドの数を指定する整数である。ステップ708の後に残っている、ビットバジェットを超えない最大のリファインメントが選択される。サブバンド群の「優先順位リスト」は、サブバンドがリファインメントのために考慮されるべき順序を確立する。所与のリファインメント値に対して、優先順位リスト内の最初のゼロ以上のサブバンドがリファインメントのために選択される。次に、プロセッサ205における制御は、方法700を係数量子化ステップ712に渡す。
係数量子化ステップ712において、量子化器モジュール324は、プロセッサ205の制御下で、量子化閾値に従って係数グループ群312を量子化し、切り捨てられた係数グループ群326を生成する。各サブバンドの量子化閾値は、シナリオおよびリファインメントから決定される。特定の係数グループに適用される量子化閾値は、オフセットテーブル内の対応するエントリに従ってさらに調整される。量子化閾値を下回るビットプレーンの切り捨てはデータの損失をもたらすので、オフセットが適用されて、均等に分散された丸めが保証される。有効量子化器ステップサイズ(すなわち、量子化閾値の電力の2乗)に対する係数群の統計的分布を考慮に入れるために、非一様丸めを使用して、他のオフセット群も可能である。次に、プロセッサ205における制御は、方法700をオフセットテーブル符号化ステップ714に渡す。
オフセットテーブル符号化ステップ714において、エントロピーエンコーダモジュール318は、プロセッサ205の制御下で、オフセットテーブルを符号化ビットストリーム115に符号化する。プレシンクト当たりの固定数の「n」個のセクション、および値0および1に制約されたオフセットテーブルの場合、オフセットテーブルは、nビットの固定長シーケンスとして符号化することができる。オフセットテーブルは、比較的長い0または1のラン(または2つ以上のオフセットが許可される場合は他の値)を有する傾向があるため、オフセットテーブルのランレングス符号化を使用することができる。ランレングス符号化は結果として得られる、ビット列が可変長を有するがよりコンパクトな表現をもたらす。次に、プロセッサ205における制御は、方法700を有意ビットプレーン符号化ステップ716に渡す。
有意ビットプレーン符号化ステップ716において、パッカーモジュール328は、プロセッサ205の制御下で、係数データを符号化ビットストリーム115に符号化する。各係数グループに対して、オフセットテーブル内の対応するエントリに従って修正された、GCLI値からGTLIまでのビットプレーンは、符号化ビットストリーム115に符号化(または「パック」)される。したがって、複数のサブバンドにまたがり、比較的高いエネルギー(したがって、より高いGCLI値群)を含む係数グループ群は、考慮されるサブバンド内の他の係数グループ群に対して切り捨てられた最低ビットプレーンのうちの1つまたは複数を有する。この追加の切り捨ては、ステップ708および710において、プレシンクトについて全体的により高い品質を選択するために利用された係数グループ群の符号化コストの低減をもたらした。換言すれば、ビット群は、ビット群が視覚品質に対して比較的小さい寄与をするプレシンクトの部分から離れて、ビット群が全体の視覚品質に対して比較的大きい寄与を行うことができるプレシンクトの他の部分に向かって割り当てられている。したがって、混合コンテンツを有するフレームにわたる視覚品質を向上させることができる。その後、方法700は終了する。
図8は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを復号する方法800を示す概略フロー図である。方法800は、メモリ206に格納され、プロセッサ205の実行によって制御される、アプリケーション233の1つまたは複数のモジュール(図4のモジュールなど)として実装することができる。方法800は、オフセットテーブル復号ステップ802で開始する。
オフセットテーブル復号ステップ802において、エントロピーデコーダモジュール410、オフセット抽出器モジュール418は、プロセッサ205の制御下で、受信したビットストリーム133からオフセットテーブルを復号する。オフセットテーブルは、図7のステップ714の符号化方法に従って復号される。オフセットテーブルは、考慮されるプレシンクトの1つまたは複数のサブバンド内の各係数グループのGTLI閾値群を設定するためのオフセット群のセットを特定する。図7のステップ706で導出されたオフセット群のセットは、より高いエネルギーのウェーブレット係数群のセット群の符号化コストを低減し、プレシンクト内の他の場所の係数群に対してより多くのレートを与える。したがって、全体的な視覚品質は、プレシンクトのシナリオ値およびリファインメント値から生じる一定の閾値を使用することに比べて改善される。次に、プロセッサ205における制御は、方法800を係数グループ復号ステップ803に渡す。
GCLI群復号ステップ803において、エントロピーデコーダモジュール410及びGCLI再構成器モジュール414は、プロセッサ205の制御下で、受信されたビットストリーム133からGCLI予測モード及びGCLIデルタ群を復号し、GCLI値群416を生成する。次に、プロセッサ205における制御は、方法800を係数グループ復号ステップ804に進める。
係数グループ復号ステップ804において、アンパッカモジュール422は、プロセッサ205の制御下で、受信ビットストリーム133からの係数グループ群からのビットプレーン群を復号(または「アンパック」)して、係数グループのための復号された係数群424を生成する。係数グループに対するオフセットテーブルからのオフセットに従って修正された、係数グループに対するGCLI値からGTLI閾値までの範囲のビットプレーン群は、ビットストリームからアンパックされる。次に、プロセッサ205における制御は、方法800を係数逆量子化ステップ806に渡す。
係数逆量子化ステップ806において、逆量子化器モジュール426は、プロセッサ205の制御下で、各係数グループ内の係数群に対して逆量子化を実行する。逆量子化動作は、サブバンドのGTLI値に従って導出され、考慮される係数グループに対応するオフセットテーブルからのオフセットに従って調整される、(式[1]を参照して説明されるような)逆量子化ステップサイズを有する復号された係数をスケーリングすることを必要とする。ステップ804および806は一緒に動作して、オフセットテーブルを適用して、サブバンド係数群のグループに対するオフセットに基づいて、各係数に対して読み取るべきビット数を決定することによって、ビットストリームからサブバンドに対するサブバンド係数群のグループを復号する。次に、プロセッサ205における制御は、方法800をウェーブレット合成フィルタステップ808に渡す。
ウェーブレット合成フィルタステップ808において、逆変換モジュール430は、プロセッサ205の制御下で、ウェーブレット解析フィルタバンクにおいて(すなわち、変換モジュール310において)行われた分解を逆にするウェーブレット合成フィルタバンクを適用することによって、ウェーブレット係数群428を復号ビデオ135に変換する。ステップ808は、図7のステップ702で適用された順方向ウェーブレット変換の逆変換を適用する。ステップ808の実行の結果として、考慮されたプレシンクト内の各ピクセルに対するサンプル群が生成され、従って、ビデオデコーダ134からの出力のために利用可能である。その後、方法800は終了する。
ビデオ処理システム100のオフセットマップは、サブバンドの最下位符号化ビットプレーンの部分符号化を可能にする。ビットプレーンは、オフセットテーブル内の非ゼロオフセットにマッピングする任意の係数群が(ゼロのオフセット値を有する係数グループに対して符号化される最下位ビットプレーンに対して)符号化されない1つ以上の最下位ビットプレーンを有するという意味で、部分的に符号化される。対照的に、JPEG2000画像符号化標準は、ビットプレーン符号化を有するが、一般にランレングス符号化または算術符号化のような技術を使用して、ビットプレーンの全体を解析して圧縮を達成する。ビデオ処理システム100の複雑さが低い性質は、算術符号化の使用を排除する。さらに、係数グループ群における係数群のグループ化は、4ビットのアトミックデータユニットを提供し、例えばFPGAにおける高速実装を容易にする。
方法700は、ステップ706に関連してオフセットテーブルを導出するための発見的方法を説明し、これは、低複雑度の実施を可能にする。増加した符号化効率が低い複雑さよりも高い優先順位である他のアプリケーションでは、オフセットテーブルがサーチ機能を使用して導出されてもよい。方法700の構成では、オフセットテーブルが特定のオフセット値群、例えば、0および1を漸進的にテストし、サーチを実行することによって生成される。複雑さの点で禁止的であるフルサーチを実行するのではなく、テーブルを介したプログレッシブサーチを利用することができる。プログレッシブサーチを使用する構成では、各オフセットがテストされると、合成ウェーブレットが実行され、誤差が生成される。生成された誤差を最小化するオフセットが使用され、探索は次のオフセットに進む。
さらに、ビデオソース112は、様々なコンテンツタイプの位置を記述するメタデータが存在する手段によって生成されていてもよい。例えば、デバイスは、テキストを他のコンテンツにオーバーレイすることができる。テキスト領域は、オーバーラップするプレシンクト群の他の場所で必要とされる過度に消費するレートとみなされてもよい。方法700の構成では、係数エネルギー検出ステップ704がメタデータの受信によって増強されるか、または置き換えられる。次に、オフセットテーブルの生成は、過度に高い周波数エネルギーを含むことが知られているコンテンツの領域が存在する正のオフセットを適用することに関する。特定された領域と部分的にまたは完全に重なるウェーブレット係数群は、1のオフセットを受信することができる。あるいは特定された領域と部分的に重なるウェーブレット係数群が1つのオフセットを受信することができ、特定された領域と完全に重なるウェーブレット係数群は2のオフセットを受信することができる。
方法700の別の構成では、オフセットマップ導出(例えば、ステップ706)は(ウェーブレット係数群312に加えて)プレシンクトに与えられる全体のビットレートにも敏感である。オフセットマップ生成がプレシンクトに与えられる全体のビットレートに敏感である構成では、高データレート動作(例えば、8BPPを超えるピクセル当たりのビットレートを有する)のために、オフセットテーブルは完全にゼロオフセット群に向かって部分的にバイアスされる。これらの構成は、豊富な圧縮ビットレートがビットストリームに利用可能である場合に、ウェーブレット係数群の追加された切り捨てを低減する。
産業上の利用
説明されたこれら構成は、コンピュータおよびデータ処理産業に適用可能であり、特に、低レイテンシ(サブフレーム)ビデオ符号化システムのためのビデオ信号などの信号の復号を符号化するためのデジタル信号処理産業に適用可能である。サブバンド内の係数群の可変量子化を適用することによって、混合コンテンツを有するフレームにわたる視覚品質を改善することができる。記載された方法は、低待ち時間システムにおいて混合コンテンツを有するフレームの視覚コンテンツを改善するために使用され得る。
上記は本発明のいくつかの実施形態のみを説明しており、本発明の範囲および精神から逸脱することなく、本発明に修正および/または変更を加えることができ、実施形態は例示であり、限定ではない。
関連出願へのリファレンス
本出願は、2017年3月15日に出願されたオーストラリア国特許出願第2017201760号についての優先権を条約優先権に基づいて請求するものであり、その全ての記載内容の参照により本出願に援用する。

Claims (16)

  1. ビデオビットストリームからのビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットを復号する方法であって、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、前記方法は、
    前記ビデオビットストリームからの各サブバンドに対する最大符号化ラインインデックス予測モードを復号することと、
    各サブバンドについて複数の最大符号化ラインインデックスデルタ値を、前記ビデオビットストリームから、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して復号することと、
    前記複数の最大符号化ラインインデックスデルタ値と、前記サブバンドの前記最大符号化ラインインデックス予測モードと、を使用して、各サブバンドの前記最大符号化ラインインデックス値群を生成することと
    を有することを特徴とする方法。
  2. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする、ことを特徴とする請求項1に記載の方法。
  3. ビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットをビデオビットストリームに符号化する方法であって、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、前記方法は、
    各サブバンドの最大符号化ラインインデックス予測モードを前記ビデオビットストリームに符号化することと、
    各サブバンドの複数の最大符号化ラインインデックスデルタ値を、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して前記ビデオビットストリームに符号化することと
    を有することを特徴とする方法。
  4. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングすることを特徴とする請求項3に記載の方法。
  5. ビデオビットストリームからのビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットを復号するためのプログラムを格納した、コンピュータ可読媒体であって、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、前記プログラムは、
    前記ビデオビットストリームからの各サブバンドに対する最大符号化ラインインデックス予測モードを復号するためのコードと、
    各サブバンドについて複数の最大符号化ラインインデックスデルタ値を、前記ビデオビットストリームから、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して復号するためのコードと、
    前記複数の最大符号化ラインインデックスデルタ値と、前記サブバンドの前記最大符号化ラインインデックス予測モードと、を使用して、各サブバンドの前記最大符号化ラインインデックス値群を生成するためのコードと
    を有することを特徴とするコンピュータ可読媒体。
  6. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする、ことを特徴とする請求項5に記載のコンピュータ可読媒体。
  7. ビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットをビデオビットストリームに符号化するためのプログラムを格納した、コンピュータ可読媒体であって、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、前記プログラムは、
    各サブバンドの最大符号化ラインインデックス予測モードを前記ビデオビットストリームに符号化するためのコードと、
    各サブバンドの複数の最大符号化ラインインデックスデルタ値を、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して前記ビデオビットストリームに符号化するためのコードと
    を有することを特徴とするコンピュータ可読媒体。
  8. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングすることを特徴とする請求項7に記載のコンピュータ可読媒体。
  9. ビデオビットストリームからのビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットを復号するためのシステムであって、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、前記システムは、
    データを格納するためのメモリおよびコンピュータ可読媒体と、
    コンピュータプログラムを実行する、前記メモリに結合されたプロセッサと
    を有し、前記プログラムは、
    前記ビデオビットストリームからの各サブバンドに対する最大符号化ラインインデックス予測モードを復号し、
    各サブバンドについて複数の最大符号化ラインインデックスデルタ値を、前記ビデオビットストリームから、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して復号し、
    前記複数の最大符号化ラインインデックスデルタ値と、前記サブバンドの前記最大符号化ラインインデックス予測モードと、を使用して、各サブバンドの前記最大符号化ラインインデックス値群を生成する
    ための命令を有することを特徴とするシステム。
  10. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする、ことを特徴とする請求項9に記載のシステム。
  11. ビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットをビデオビットストリームに符号化するシステムであって、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、前記システムは、
    データを格納するためのメモリおよびコンピュータ可読媒体と、
    コンピュータプログラムを実行する、前記メモリに結合されたプロセッサと
    を有し、前記プログラムは、
    各サブバンドの最大符号化ラインインデックス予測モードを前記ビデオビットストリームに符号化し、
    各サブバンドの複数の最大符号化ラインインデックスデルタ値を、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して前記ビデオビットストリームに符号化する
    ための命令を有することを特徴とするシステム。
  12. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングすることを特徴とする請求項11に記載のシステム。
  13. ビデオデコーダであって、
    ビデオビットストリームからビデオデータのプレシンクトを受信し、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、
    前記ビデオビットストリームから各サブバンドについて最大符号化ラインインデックス予測モードを復号し、
    各サブバンドの複数の最大符号化ラインインデックスデルタ値を、前記ビデオビットストリームから、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して復号し、
    前記複数の最大符号化ラインインデックスデルタ値および前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して、各サブバンドの前記最大符号化ラインインデックス値群を生成する
    ように構成されていることを特徴とするビデオデコーダ。
  14. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングすることを特徴とする請求項13に記載のビデオデコーダ。
  15. ビデオエンコーダであって、
    ビデオデータのプレシンクトを受信し、ビデオデータの前記プレシンクトは、1つ以上のサブバンドを含み、
    各サブバンドの最大符号化ラインインデックス予測モードを前記ビデオビットストリームに符号化し、
    各サブバンドの複数の最大符号化ラインインデックスデルタ値を、前記サブバンドの前記最大符号化ラインインデックス予測モードを使用して前記ビデオビットストリームに符号化する
    ように構成されていることを特徴とするビデオエンコーダ。
  16. 各最大符号化ラインインデックス値は、前記ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングすることを特徴とする請求項15に記載のビデオエンコーダ。
JP2019538171A 2017-03-15 2018-02-09 ビデオデータを符号化及び復号するための方法、装置及びシステム Active JP6979075B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2017201760 2017-03-15
AU2017201760A AU2017201760B2 (en) 2017-03-15 2017-03-15 Method, apparatus and system for encoding and decoding video data
PCT/AU2018/000019 WO2018165695A1 (en) 2017-03-15 2018-02-09 Method, apparatus and system for encoding and decoding video data

Publications (2)

Publication Number Publication Date
JP2020515113A true JP2020515113A (ja) 2020-05-21
JP6979075B2 JP6979075B2 (ja) 2021-12-08

Family

ID=63521621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019538171A Active JP6979075B2 (ja) 2017-03-15 2018-02-09 ビデオデータを符号化及び復号するための方法、装置及びシステム

Country Status (7)

Country Link
US (1) US11323745B2 (ja)
EP (1) EP3596927A4 (ja)
JP (1) JP6979075B2 (ja)
CN (1) CN110419222A (ja)
AU (1) AU2017201760B2 (ja)
TW (2) TWI733986B (ja)
WO (2) WO2018165694A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018114813A1 (en) 2016-12-19 2018-06-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding or decoding using a subband dependent prediction adaption for gcli entropy coding
WO2020007848A1 (en) * 2018-07-02 2020-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Bilateral high frequency boost
US11170481B2 (en) * 2018-08-14 2021-11-09 Etron Technology, Inc. Digital filter for filtering signals
WO2020153506A1 (ko) * 2019-01-21 2020-07-30 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
CN113796076A (zh) * 2019-03-26 2021-12-14 Vid拓展公司 用于视频译码的内容自适应变换精度
US10931293B1 (en) 2019-12-27 2021-02-23 Seagate Technology Llc Transform domain analytics-based channel design
KR20220096624A (ko) 2020-12-31 2022-07-07 엘지디스플레이 주식회사 표시 장치
CN114286106B (zh) * 2021-12-29 2024-02-13 苏州长风航空电子有限公司 一种基于MPSoC的多路SDI视频极低延时编码系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014114813A1 (en) * 2013-01-28 2014-07-31 Jaguar Land Rover Limited Motor vehicle system and method
US20140247999A1 (en) * 2013-03-01 2014-09-04 intoPIX SA Method and device for display stream compression
JP2020502960A (ja) * 2016-12-19 2020-01-23 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. Gcliのエントロピー符号化のためのサブバンドに依存する予測の適応を使用する符号化または復号のための装置および方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865291B1 (en) * 1996-06-24 2005-03-08 Andrew Michael Zador Method apparatus and system for compressing data that wavelet decomposes by color plane and then divides by magnitude range non-dc terms between a scalar quantizer and a vector quantizer
US6411740B1 (en) * 1998-11-04 2002-06-25 Sharp Laboratories Of America, Incorporated Method for non-uniform quantization in a resolution hierarchy by use of a nonlinearity
US6658162B1 (en) * 1999-06-26 2003-12-02 Sharp Laboratories Of America Image coding method using visual optimization
US7903734B2 (en) 2003-04-24 2011-03-08 Canon Kabushiki Kaisha Moving image decoding apparatus, moving image decoding method, image decoding method, and image decoding apparatus
US7092576B2 (en) 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7822281B2 (en) 2003-10-31 2010-10-26 Canon Kabushiki Kaisha Digital video compression
WO2011013192A1 (ja) * 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法
EP4072136A1 (en) * 2013-03-01 2022-10-12 intoPIX s.a. Method and device for display stream compression
JP6528679B2 (ja) 2013-03-05 2019-06-12 日本電気株式会社 信号処理装置、信号処理方法および信号処理プログラム
WO2018041840A1 (en) 2016-08-29 2018-03-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Improvements for greatest common line index (gcli) video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014114813A1 (en) * 2013-01-28 2014-07-31 Jaguar Land Rover Limited Motor vehicle system and method
US20140247999A1 (en) * 2013-03-01 2014-09-04 intoPIX SA Method and device for display stream compression
JP2020502960A (ja) * 2016-12-19 2020-01-23 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. Gcliのエントロピー符号化のためのサブバンドに依存する予測の適応を使用する符号化または復号のための装置および方法

Also Published As

Publication number Publication date
CN110419222A (zh) 2019-11-05
WO2018165694A1 (en) 2018-09-20
EP3596927A1 (en) 2020-01-22
TW201836354A (zh) 2018-10-01
EP3596927A4 (en) 2020-05-13
US11323745B2 (en) 2022-05-03
TW201836353A (zh) 2018-10-01
JP6979075B2 (ja) 2021-12-08
TWI733986B (zh) 2021-07-21
US20200014956A1 (en) 2020-01-09
WO2018165695A1 (en) 2018-09-20
AU2017201760B2 (en) 2023-03-09
AU2017201760A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
JP6979075B2 (ja) ビデオデータを符号化及び復号するための方法、装置及びシステム
AU2020210276B2 (en) Method, apparatus and system for encoding and decoding video data
US10666948B2 (en) Method, apparatus and system for encoding and decoding video data
US9838715B2 (en) Image processing apparatus and method
JP2024029013A (ja) 動画符号化における彩度量子化
US10574988B2 (en) System and methods for reducing slice boundary visual artifacts in display stream compression (DSC)
US20100046628A1 (en) Systems and Methods for Perceptually Lossless Video Compression
JP2002010216A (ja) 復号化装置及びその制御方法並びに記憶媒体
Descampe et al. JPEG XS, a new standard for visually lossless low-latency lightweight image compression
AU2017201933A1 (en) Method, apparatus and system for encoding and decoding video data
AU2017201971A1 (en) Method, apparatus and system for encoding and decoding image data
AU2017204642A1 (en) Method, apparatus and system for encoding and decoding video data
AU2017225027A1 (en) Method, apparatus and system for encoding and decoding video data
AU2017210632A1 (en) Method, apparatus and system for encoding and decoding video data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201208

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210630

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211112

R151 Written notification of patent or utility model registration

Ref document number: 6979075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151