JP7257535B2 - 変換スキップモードとブロック差分パルスコード変調の改善された残差コーディング - Google Patents

変換スキップモードとブロック差分パルスコード変調の改善された残差コーディング Download PDF

Info

Publication number
JP7257535B2
JP7257535B2 JP2021546711A JP2021546711A JP7257535B2 JP 7257535 B2 JP7257535 B2 JP 7257535B2 JP 2021546711 A JP2021546711 A JP 2021546711A JP 2021546711 A JP2021546711 A JP 2021546711A JP 7257535 B2 JP7257535 B2 JP 7257535B2
Authority
JP
Japan
Prior art keywords
coded
flag
bins
block
video
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.)
Active
Application number
JP2021546711A
Other languages
English (en)
Other versions
JP2022520944A (ja
Inventor
ジャオ,シン
リ,シアン
リィウ,シャン
Original Assignee
テンセント・アメリカ・エルエルシー
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 テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2022520944A publication Critical patent/JP2022520944A/ja
Application granted granted Critical
Publication of JP7257535B2 publication Critical patent/JP7257535B2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/547Motion estimation performed in a transform domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/98Adaptive-dynamic-range coding [ADRC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

参照による援用
本出願は、2019年2月24日に出願された米国仮出願第62 / 809,677号「Improved Residual Coding for Transform Skip Mode and Block Differential Pulse-Code Modulation(変換スキップモード及びブロック差分パルスコード変調の残差コーディングの改善)」に基づく優先権の利益を主張する、2020年2月24日に出願された米国特許出願第16/799,358号「IMPROVED RESIDUAL CODING FOR TRANSFORM SKIP MODE AND BLOCK DIFFERENTIAL PULSE-CODE MODULATION(変換スキップモード及びブロック差分パルスコード変調のための改善された残差コーディング)」に基づく優先権の利益を主張し、
その全体を本明細書に参照援用する。
技術分野
本開示は、概して、ビデオコーディングに関連する実施形態を記載する。
本明細書で提供される背景説明は、本開示のコンテキストを全般的に提示するためのものである。現在挙げられている発明者の研究は、その研究がこの背景部分に記載されている範囲において、また、出願時に他の点では先行技術として適格でないかもしれない説明の側面において、本開示に対する先行技術として明示的にも黙示的にも認められていない。
ビデオコーディングとデコーディングは、動き補正を伴うインター画像予測(inter-picture prediction)を用いて行うことができる。非圧縮ディジタルビデオは、一連の画像を含むことができ、各画像は、例えば、1920×1080の輝度サンプル及び関連する色サンプルの空間寸法を有する。一連の画像は、固定又は可変の画像レート(例えば、60画像/秒又は60Hz)を有することができる。非圧縮ビデオは、大きいビットレートを必要とする。例えば、サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920x1080の輝度サンプル解像度)は、1.5Gビット/秒に近い帯域幅を必要とする。このようなビデオの1時間は、600Gバイトを超えるストレージ領域を必要とする。
ビデオコーディング及びデコーディングの1つの目的は、圧縮による入力ビデオ信号の冗長性の低減である。圧縮は、場合によっては、2桁以上前述の帯域幅又はストレージスペースの要件を低減するのに役立つ。可逆圧縮及び非可逆圧縮の両方、並びにそれらの組み合わせを用いることができる。可逆圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構成できる技術をいう。非可逆圧縮を使用する場合、再構成された信号は、元の信号と同一ではないかもしれないが、元の信号と再構成された信号との間の歪みは十分小さく、再構成された信号を意図された用途に役立てられる。ビデオの場合、非可逆圧縮が広く用いられている。許容される歪みの量は、用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを容認し得る。達成可能な圧縮比は、より高い許容可能/容認可能歪みは、より高い圧縮比をもたらすことができることを反映できる。
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピーコーディングを含むいくつかの広範なカテゴリからの技術を利用できる。
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照画像からのサンプル又は他のデータを参照することなく表現される。いくつかのビデオコーデックでは、画像は空間的にサンプルのブロックに分割される。サンプルのすべてのブロックがイントラモードでコーディングされている場合、その画像はイントラ画像とすることができる。イントラ画像と、独立デコーダリフレッシュ画像等のそれらの派生物は、デコーダ状態をリセットするために用いられることができ、したがって、コーディングされたビデオビットストリーム及びビデオセッションにおける第1画像として、又は静止画像として用いられることが可能である。イントラブロックのサンプルは変換にさらされることができ、変換係数はエントロピーコーディングの前に量子化されることができる。イントラ予測は、変換前ドメインにおけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値がより小さく、AC係数がより小さいほど、エントロピーコーディング後にブロックを表すための所与の量子化ステップサイズで必要なビットが少なくなる。
例えばMPEG-2世代のコーディング技術から知られるような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に近接するデータのエンコード/デコード中に得られる周囲の、デコード順において、先行するサンプルデータ及び/又はメタデータから、データのブロックを試行する技術を含む。このような技術は、以後「イントラ予測」技術と称される。少なくともいくつかの場合では、イントラ予測は再構成中の現在画像からの参照データのみを使用し、参照画像からの参照データは使用しないことに留意されたい。
さまざまな形式のイントラ予測があり得る。かかり技術のうちの1つ以上が、所与のビデオコーディング技術において、用いられることが可能である場合、使用中の技術は、イントラ予測モードでコーディングされることができる。特定の場合には、モードは、サブモード及び/又はパラメータを有することができ、それらは、個別にコーディングされることができ、又はモードコード名(mode codeword)に含まれることができる。所与のモード/サブモード/パラメータの組み合わせに用いられるコード名は、イントラ予測を通してコーディング効率ゲイン(coding efficiency gain)に影響を与える可能性があり、同様に、コード名をビットストリームに変換するために使用されるエントロピーコーディング技術も同様に影響を与える可能性がある。
特定のイントラ予測モードがH.264で導入され、H.265で改良され、共同探索モデル(JEM:joint exploration model)、汎用ビデオコーディング(VVC:versatile video coding)、及びベンチマークセット(BMS:benchmark set)等のより新しいコーディング技術でさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する近接するサンプル値を使用して形成されることができる。隣接するサンプルのサンプル値は、方向にしたがって予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリームでコーディングされることができ、又はそれ自体が予測されることがある。
動き補償は、非可逆圧縮技術であることができ、かつ、先行して再構成された画像又はその一部(参照画像)からのサンプルデータのブロックが、動きベクトル(以下、MVとも称する。)により示される方向に空間的にシフトされた後に、新たな再構成画像又はその一部の予測のために使用される技術に関連付けることができる。場合によっては、参照画像は現在再構成中の画像と同一であることもできる。MVは、X及びYの2次元、又は3次元を有することができ、第3次元は、使用中の参照画像の表示である(後者は、間接的に、時間次元でありえる)。
いくつかのビデオ圧縮技術では、サンプルデータの、あるエリアに適用可能なMVは、他のMVから、例えば、再構成中のエリアに空間的に隣接し、デコードの順序(decoding order)でそのMVに先行するサンプルデータの別のエリアに関連するMVから予測できる。このようにして、MVのコーディングに必要なデータ量を大幅に削減することができ、それによって、冗長性を除去し、圧縮を増大させることができる。MV予測は効率的に作用できる。なぜならば、例えば、(ナチュラルビデオとして既知の)カメラから導出された入力ビデオ信号をコーディングする場合、単一のMVが適用可能であるエリアよりも大きなエリアは、類似の方向に移動するという統計的可能性があり、したがって、場合によっては、隣接するエリアのMVから導出された類似の動きベクトルを用いて予測できるからである。その結果、所与のエリアについて見出されたMVは、周囲のMVから予測されるMVと類似又は同一になり、それは、エントロピーコーディングの後、MVを直接コーディングする場合に使用されるであろうものよりも、より少ない数のビットで表され得る。場合によっては、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の例であり得る。他の場合には、MV予測それ自体は、例えば、いくつかの周囲MVから予測子を計算する際の丸め誤差のために、非可逆的であり得る。
様々なMV予測メカニズムがH.265/HEVC(ITU-T Rec.H.265,High Efficiency Video Coding,December 2016)に、記述されている。
図1を参照すると、現在ブロック(101)は、空間的にシフトされた同じサイズの以前のブロックから予測可能であることが、モーションサーチプロセス中にエンコーダにより見出されたサンプルを含む。そのMVを直接コーディングする代わりに、1つ以上の参照画像に関連付けられたメタデータから、例えば、A0、A1、及びB0、B1、B2(それぞれ102から106)と示される5つの周囲のサンプルのいずれかに関連付けられたMVを使用して、(デコード順において、)最新の参照画像から、MVを導出することができる。H.265では、MV予測は、隣接ブロックが使用しているのと同じ参照画像からの予測子を使用できる。
本開示の態様は、デコーダにおけるビデオコーディングのための方法及び装置を提供する。いくつかの実施形態では、構文要素のビンを含むビットストリームを受信する。構文要素は、コード化された画像内の変換スキップブロックの領域の係数に対応する。構文要素は、係数のうちの1つの絶対係数レベルが第1閾値よりも大きいかどうかを示す第1フラグと、絶対係数レベルのパリティを示す第2フラグと、を含む。第2フラグはパスでデコードされる(decoded in a pass)。パスは、以下のうちの少なくとも1つを満たす:
(1)他の構文要素がそのパスで(in the pass)デコードされず、
(2)絶対係数レベルが第2閾値よりも大きいかどうかを示す第3フラグは、そのパスでデコードされ、及び
(3)係数のうちの1つの係数レベルのサイン情報(sign information)を示す第4フラグは、そのパスでデコードされる。第2閾値は第1閾値より大きい。
一実施形態において、第1閾値は1であり、第2閾位置は3である。
一実施形態において、変換スキップブロックに対応する現在ブロックは、ブロック差分パルスコード変調(block differential pulse-code modulationaFaDPCM)モードでコーディングされる。
一実施形態において、 先行するパスで、第1フラグと、絶対係数レベルが3より大きいかどうかを示す第5フラグと、をデコードした後に、他の構文要素をデコードすることなく、第2フラグをパスでデコードする。
一実施形態において、先行するパスで記第3フラグをデコードした後に、他の構文要素をデコードすることなく、第2フラグをパスでデコードする。
一実施形態において、第3フラグをと同じパスで(in the same pass with the third flag)第2フラグをデコードする。
一実施形態において、第4フラグと同じパスで第2フラグをデコードする。
いくつかの実施例では、構文要素のビンを含むビットストリームが受信される。構文要素は、コード化された画像内の変換スキップブロック(a transform skipped block)の領域の係数に対応する。構文要素は、係数のうちの1つの絶対係数レベルが第1閾値よりも大きいかどうかを示す第1フラグと、係数のうちの1つの絶対係数レベルが第2閾値よりも大きいかどうかを示す第2フラグと、を含む。第2閾値は第1閾値より大きい。コンテキストコード化された第2フラグのビンの数を係数のコード化された情報に基づいて決定する。コンテキストモデリングを実行して、第2フラグのビンの数ごとに(for each of the number of)コンテキストモデルを決定する。第2フラグのビンの数を、決定されたコンテキストモデルに基づいてデコードする。
一実施形態において、第1閾値は1であり、第2閾位置は3である。
一実施形態において、 係数のコード化された情報(the coded information of the coefficients)は、
前記係数を含む現在係数グループ(CG)内の前記第1フラグの数(a number of the first flag)、
先行するCG内の第1フラグの数(a number of the first flag)、
変換スキップブロックに対応する現在ブロックがイントラコーディングされているか、又は、インターコーディングされているかどうか、
変換スキップブロックのサイズ、
変換スキップブロックの幅、
変換スキップブロックの高さ、又は
変換スキップブロックのアスペクト比
を含む。
一実施形態において、現在ブロックがイントラコーディングされている場合の第2フラグのビンの数は、現在ブロックがインターコーディングされている場合の第2フラグのビンの数より多い。
いくつかの実施形態では、構文要素のビンを含むビットストリームを受信する。構文要素は、コード化された画像内の変換スキップブロックの係数グループ(CG)に含まれる係数に対応する。CGのコンテキストコード化ビンの最大数又は前記CGのコンテキストコード化ビンの最大平均数を、係数のコード化された情報に基づいて決定する。コンテキストモデリングを実行して、CGの構文要素のビンの数ごとに(for each of a number of the bins)コンテキストモデルを決定する。コンテキストコード化されている(being context coded)CGの構文要素のビンの数は、CGのコンテキストコード化ビンの最大数又はCGのコンテキストコード化ビンの最大平均数を超えない。構文要素のビンの数を、決定された前記コンテキストモデルに基づいてデコードする。
一実施形態において、係数のコード化された情報は、
係数を含む現在係数グループ(CG)内の第1フラグの数、
先行するCG内の第1フラグの数、
変換スキップブロックに対応する現在ブロックがイントラコーディングされているか、又は、インターコーディングされているかどうか、
変換スキップブロックのサイズ、
変換スキップブロックの幅、
変換スキップブロックの高さ、又は
変換スキップブロックのアスペクト比
を含む。
また、本開示の態様は、コンピュータにより実行されたときに、コンピュータに上記方法のいずれかを実行させる命令を格納する、非一時的なコンピュータ読取可能媒体記憶を提供する。
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
図1は、一実施例における現在ブロック及びその周囲の空間マージ候補を模式的に示す図である。 図2は、一実施形態による通信システムの簡略ブロック図を模式的に示す図である。 図3は、一実施形態による通信システムの簡略ブロック図を模式的に示す図である。 図4は、一実施形態によるデコーダの簡略ブロック図を模式的に示す図である。 図5は、一実施形態によるエンコーダの簡略ブロック図を模式的に示す図である。 図6は、別の実施形態によるエンコーダのブロック図である。 図7は、別の実施形態によるデコーダのブロック図である。 図8Aは、一実施形態による、ブロック差分パルスコード変調コード化ブロックの例を示す図である。 図8Bは、一実施形態による、BDPCMコード化ブロックの例を示す図である。 図9Aは、一実施形態による、例示的なコンテキストベースの適応バイナリ算術コーディング(CABAC)ベースのエントロピーエンコーダを示す図である。 図9Bは、一実施形態による、例示的なCABACベースのエントロピーデコーダを示す図である。 図10は、一実施形態による、サブブロックスキャン順序の一例を示す図である。 図11は、一実施形態による、変換係数の異なるタイプの構文要素が生成されるサブブロックスキャンプロセスの一例を示す図である。 図12は、一実施形態による、現在の係数に対するコンテキスト選択に使用されるローカルテンプレートの一例を示す図である。 図13Aは、一実施形態による、現在の係数のサイン情報をコーディングするために使用されるコンテキストの例を示す図である。 図13Bは、一実施形態による、電流係数のサイン情報をコーディングするために使用されるコンテキストの一例を示す図である。 図14は、一実施形態による係数デコーディングプロセスを概説するフローチャートを示す図である。 図15は、一実施形態による係数デコーディングプロセスを概説するフローチャートを示す図である。 図16は、一実施形態による係数デコーディングプロセスを概説するフローチャートを示す図である。 図17は、一実施形態によるコンピュータシステムを模式的に示す図である。
I.ビデオコーディングエンコーダ及びデコーダ
図2は、本開示の一実施形態による通信システム(200)の簡略化されたブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信できる複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1対の端末デバイス(210)及び(220)を含む。図2の例では、第1対の端末デバイス(210)及び(220)は、データの一方向送信を行う。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に伝送するために、ビデオデータ(例えば、端末デバイス(210)により捕捉されるビデオ画像のストリーム)をコーディングすることができる。エンコードされた画像データは、1つ以上のコーディングされたビデオビットストリームの形態で送信されることができる。端末デバイス(220)は、ネットワーク(250)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコードして、ビデオ画像を復元し、復元されたビデオデータにしたがってビデオ画像を表示できる。一方向性データ伝送は、メディア提供アプリケーション等において、一般的であり得る。
別の例では、通信システム(200)は、第2対の端末デバイス(230)及び(240)を含み、例えばビデオ会議中に、発生し得るコーディングされたビデオデータの双方向伝送を行う。データの双方向伝送のために、例えば、端末デバイス(230)及び(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)及び(240)の他方の端末デバイスに伝送するために、ビデオデータ(例えば、端末デバイスにより捕捉されるビデオ画像のストリーム)をコーディングすることができる。端末デバイス(230)及び(240)の各端末デバイスは、端末デバイス(230)及び(240)の他方の端末デバイスにより送信されたコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコードして、ビデオ画像を復元し、復元されたビデオデータにしたがって、アクセス可能な表示デバイスにビデオ画像を表示できる。
図2の例では、端末デバイス(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ及びスマートフォンとして示され得るが、本発明の原理はこれらに限定されない。本発明の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議機器への適用を見出す。ネットワーク(250)は、例えばワイヤライン(有線)及び/又は無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)及び(240)の間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回線交換及び/又はパケット交換チャネル内のデータを交換できる。代表的なネットワークには、テレコミュニケーションネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットが含まれる。 本説明のためには、以下に説明しない限り、ネットワーク(250)のアーキテクチャ及びトポロジーは本発明の動作には重要ではない。
図3は、開示された主題の適用例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTVや、CD、DVD、メモリースティック等を含むデジタルメディアへの圧縮ビデオの保存等を含む、他のビデオ対応アプリケーションに等しく適用できる。
ストリーミングシステムは、例えば、非圧縮のビデオ画像(302)のストリームを生成するビデオソース(301)、例えばデジタルカメラを含むことができるキャプチャサブシステム(313)を含み得る。一実施形態では、ビデオ画像のストリーム(302)は、デジタルカメラにより撮影されるサンプルを含む。エンコードされたビデオデータ(304)(又はコーディングされたビデオビットストリーム)と比較した場合に、高データ量を強調するために太線として描かれたビデオ画像のストリーム(302)は、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子デバイス(320)により処理されることができる。ビデオエンコーダ(303)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができ、以下により詳細に説明されるように、開示された主題の態様を可能にし又は実施する。エンコードされたビデオデータ(304)(又はエンコードされたビデオビットストリーム(304))は、ビデオ画像(302)のストリームと比較した場合に、より低いデータ量を強調するために細線として示され、将来の使用のためにストリーミングサーバ(305)に記憶され得る。図3のクライアントサブシステム(306)及び(308)等の1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスすることができ、エンコードされたビデオデータ(304)のコピー(307)及び(309)を読み出すことができる。クライアントサブシステム(306)は、例えば電子デバイス(330)内のビデオデコーダ(310)を含むことができる。ビデオデコーダ(310)は、エンコードされたビデオデータの入力コピー(307)をデコードし、ディスプレイ(312)(例えばディスプレイスクリーン)又は他のレンダリングデバイス(図示せず)上にレンダリングすることができるビデオ画像の出力ストリーム(311)を生成する。いくつかのストリーミングシステムでは、エンコードされたビデオデータ(304)、(307)及び(309)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準にしたがってコーディングされることができる。これらの標準の例は、ITU-T勧告H.265を含む。例えば、開発中のビデオコーディング規格は、汎用ビデオコーディング(VVC)として非公式に知られている。開示された主題は、VVCのコンテキストで使用され得る。
電子デバイス(320)及び(330)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(320)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(330)は、ビデオエンコーダ(図示せず)も含むことができる。
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれることができる。電子デバイス(430)は、受信器(431)(例えば、受信回路)を含むことができる。ビデオデコーダ(410)は、図3の例のビデオデコーダ(310)の代わりに使用されることができる。
受信器(431)は、ビデオデコーダ(410)によって、デコードされるべき1つ以上のコーディングされたビデオシーケンスを受信することができ、同一又は別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信することができ、その際、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(401)から受信することができ、このチャネルは、エンコードされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る。受信器(431)は、エンコードされたビデオデータを、他のデータ、例えばコーディングされたオーディオデータ及び/又は付随的なデータストリームと共に受信することができ、これらのデータは、それぞれのエンティティ(図示せず)を使用して転送され得る。受信器(431)は、コーディングされたビデオシーケンスを他のデータから分離できる。ネットワークジッタに対抗するために、バッファメモリ(415)が、受信器(431)とエントロピーデコーダ/パーサ(420)(以後「パーサ(420)」)との間に結合され得る。特定の用途では、バッファメモリ(415)はビデオデコーダ(410)の一部である。他の場合には、ビデオデコーダ(410)の外側にあることができる(図示せず)。さらに別の場合には、例えばネットワークジッタに対抗するために、ビデオデコーダ(410)の外側にバッファメモリ(図示せず)が存在することができ、さらに、例えば再生タイミングを処理するために、ビデオデコーダ(410)の内側に別のバッファメモリ(415)が存在することもできる。受信器(431)が、十分な帯域幅及び制御可能性の記憶/転送デバイスから、又は、アイソクロナスネットワークから、データを受信している場合、バッファメモリ(415)は不要であるか、又は小さくてもよい。インターネット等のベストエフォート型パケットネットワークでの使用のために、バッファメモリ(415)は、必要とされ、比較的大きく、有利に適応サイズであり得、ビデオデコーダ(410)の外側のオペレーティングシステム又は類似の要素(図示せず)に少なくとも部分的に実装され得る。
ビデオデコーダ(410)は、コーディングされたビデオシーケンスからシンボル(421)を再構成するためのパーサ(420)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報、及び、図4に示されているように、電子デバイス(430)の不可欠な部分ではないが、電子デバイス(430)に結合され得るレンダリングデバイス(412)(例えば、表示スクリーン)等のレンダリングデバイスを制御する潜在的な情報を含む。(複数の)レンダリングデバイスの制御情報は、付加拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態であり得る。パーサ(420)は、受信されるコーディングされたビデオシーケンスをパーシングし/エントロピーデコードすることができる。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感度を伴う又は伴わない算術コーディングなどを含む種々の原理に従うことができる。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つに対するサブグループパラメータのセットを、コーディングされたビデオシーケンスから抽出し得る。サブグループは、画像グループ(GOP)、画像、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)等を含み得る。パーサ(420)はまた、変換係数、量子化パラメータ値、モーションベクター等の情報を、コーディングされたビデオシーケンスから抽出し得る。
パーサ(420)は、シンボル(421)を生成するように、バッファメモリ(415)から受信したビデオシーケンスに、エントロピーデコーディング/パーシング動作を実行し得る。
シンボル(421)の再構成は、コーディングされたビデオ画像又はその部分のタイプ(例えば、画像間及び画像内、ブロック間及びブロック内)及び他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが、どのように含まれているかは、パーサ(420)によって、コーディングされたビデオシーケンスからパーシングされたサブグループ制御情報により制御されることができる。パーサ(420)と以下の複数ユニットとの間のかかるサブグループ制御情報のフローは、明確さのために図示されていない。
すでに述べた機能ブロックの他に、ビデオデコーダ(410)は、概念的に、以下に説明するように、いくつかの機能ユニットに分割されることができる。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示された主題を説明するの目的で、以下の機能単位に概念的に細分化することが適切である。
第1ユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数、並びに、パーサ(420)から(複数の)シンボルとして、使用されるべき変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力されることができるサンプル値を含むブロックを出力できる。
いくつかの場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、イントラコード化されたブロックに関係できる、すなわち、先行して再構成された画像からの予測情報を使用していないが、現在画像の、先行して再構成された部分からの予測情報を使用できるブロック。 かかる予測情報は、画像内部予測ユニット(452)により提供されることができる。場合によっては、画像内部予測ユニット(452)は、現在の画像バッファ(458)からフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在の画像バッファ(458)は、例えば、部分的に再構成された現在の画像及び/又は完全に再構成された現在の画像をバッファする。アグリゲータ(455)は、場合によっては、サンプル毎に、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)により提供される出力サンプル情報に加算する。
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、相互コーディングに関係し、潜在的にモーション補償ブロックに関係できる。かかる場合、モーション補償予測ユニット453は、予測に使用されるサンプルをフェッチするために参照画像メモリ457にアクセスすることができる。ブロックに関連するシンボル(421)にしたがって、フェッチされたサンプルをモーション補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(455)によって、スケーラ/逆変換ユニット(451)の出力(この場合、残差サンプル又は残差信号と称される)に加算されることができる。モーション補償予測ユニット(453)が予測サンプルをフェッチする参照画像メモリ(457)内のアドレスは、モーションベクターによって、制御することができ、例えばX、Y、及び参照画像コンポーネントを有することができるシンボル(421)の形態でモーション補償予測ユニット(453)に利用可能である。モーション補償はまた、サブサンプルの正確なモーションベクターが使用されている場合に参照画像メモリ(457)からフェッチされるようにサンプル値を補間すること、モーションベクター予測機構、等を含むことができる。
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)内の種々のループフィルタリング技術を受けることができる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができ、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも称される)に含まれるパラメータにより制御され、パーサ(420)からシンボル(421)としてループフィルタユニット(456)に利用可能にされるが、コーディングされた画像又はコーディングされたビデオシーケンスの(デコード順において、)前の部分のデコードの間に得られるメタ情報に応答できると共に、以前に再構成されループフィルタリングされたサンプル値に応答できる、ループ内フィルタ技術を含むことができる。
ループフィルタユニット(456)の出力は、レンダリングデバイス(412)に出力されることができ、また将来の画像内部予測に使用するために参照画像メモリ(457)に記憶されることができるサンプルストリームでありえる。
コーディングされた画像は、一旦完全に再構成されると、将来の予測のための参照画像として使用されることができる。例えば、一旦現在の画像に対応するコーディング画像が完全に再構成され、(例えば、パーサ(420)によって、)コーディングされた画像が参照画像として識別されると、現在の画像バッファ(458)は参照画像メモリ(457)の一部となることができ、新たな現在画像バッファは、後続のコーディング画像の再構成を開始する前に再割当てされ得る。
ビデオデコーダ(410)は、ITU-T Rec.H.265.等の標準の所定のビデオ圧縮技術にしたがってデコーディング動作を実行し得る。コーディングされたビデオシーケンスは、コーディングされたビデオシーケンスが、ビデオ圧縮技術若しくは標準の構文、及び、ビデオ圧縮技術若しくは標準に文書化されているプロファイルの両方に準拠するという意味で、使用されているビデオ圧縮技術又は標準により特定された構文に適合し得る。具体的には、プロファイルは、特定のツールを、そのプロファイルの下で使用できる唯一のツールとして、ビデオ圧縮技術又は標準で使用可能なすべてのツールから選択できる。また、コンプライアンスのために必要なことは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルにより定義される範囲内にあることであり得る。場合によっては、レベルは、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照画像サイズなどを制限する。レベルにより設定された制限は、場合によっては、仮想参照デコーダ(HRD:Hypothetical Reference Decoder)の仕様と、コーディングされたビデオシーケンスでシグナリングされるHRDバッファ管理のメタデータによって、さらに制限され得る。
一実施形態では、受信器(431)は、エンコードされたビデオと共に追加の(冗長な)データを受信できる。追加データは、コーディングされた(複数の)ビデオシーケンスの部分として含まれ得る。追加のデータは、データを適切にデコードするため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(410)により使用され得る。追加のデータは、例えば、時間的、空間的、又は信号雑音比(SNR)拡張層、冗長スライス、冗長画像、前方エラー補正コードなどの形態であり得る。
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信器(540)(例えば、送信回路)を含む。図3の例のビデオエンコーダ(303)の代わりに、ビデオエンコーダ(503)を用いることができる。
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によって、コーディングされる(複数の)ビデオ映像を捕捉できるビデオソース(501)(図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信し得る。別の例では、ビデオソース(501)は、電子デバイス(520)の一部である。
ビデオソース(501)は、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)でありえるデジタルビデオサンプルストリームの形態で、ビデオエンコーダ(503)によって、コーディングされるべきソースビデオシーケンスを提供し得る。メディア配信システムにおいて、ビデオソース(501)は、予め準備されたビデオを記憶する記憶デバイスであり得る。ビデオ会議システムでは、ビデオソース(501)は、局所映像情報をビデオシーケンスとして捕捉するカメラであり得る。ビデオデータは、シーケンスで見たときに動きをもたらす複数の個々の画像として提供され得る。画像自体は、ピクセルの空間アレイとして組織化されることができ、各ピクセルは、使用中のサンプリング構造、色空間等に応じて、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルの関係を容易に理解できる。以下の説明は、サンプルに焦点を当てている。
一実施例によれば、ビデオエンコーダ(503)は、リアルタイムで、又はアプリケーションによって、必要とされる他の任意の時間制約の下で、ソースビデオシーケンスの画像をコード化し、コード化されたビデオシーケンス(543)に圧縮できる。 適切なコーディングレートを実現することは、コントローラ(550)の一つの機能である。いくつかの実施形態において、コントローラ(550)は、以下に記載されるように、他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。継手は、明確にするため表されない。コントローラ(550)により設定されるパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のラムダ値、...)、画像サイズ、画像グループレイアウト、最大動きベクトルサーチレンジ等を含むことができる。コントローラ(550)は、特定のシステム設計のために最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するように構成されることができる。
いくつかの実施形態では、ビデオエンコーダ(503)は、コーディングループで動作するように構成される。
過剰に単純化された説明として、一例において、コーディングループは、(例えば、コーディングされるべき入力画像及び参照画像に基づいて、シンボルストリーム等のシンボルを生成する責任を担う)ソースコーダ(530)と、ビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)とを含むことができる。デコーダ(533)は、(シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が、開示された主題において、考慮されたビデオ圧縮技術において、可逆的であるように)、(リモート)デコーダも作成するのと同様の方法で、シンボルを再構成してサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(534)に入力される。シンボルストリームのデコーディングは、デコーダロケーション(ローカル又はリモート)に依存しないビットイクザクトな結果(bit-exact results)をもたらすので、参照画像メモリ(534)中の内容もまた、ローカルエンコーダとリモートエンコーダとの間でビットイクザクトである。換言すれば、エンコーダの予測部分は、デコーダがデコード中に予測を使用するときに「見る」のとまったく同じサンプル値を参照画像サンプルとして「見る」。参照画像同期性のこの基本原理(及び、例えばチャンネルエラーのために、同期性が維持できない場合の結果として生じるドリフト)は、いくつかの関連技術においても同様に使用される。
「ローカル」デコーダ(533)の動作は、ビデオデコーダ(410)等の「リモート」デコーダと同じであることができ、これは、図4と関連して詳細に既に上述したとおりである。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)及びパーサ(420)によるコーディングビデオシーケンスへのシンボルのコーディング/デコーディングが可逆的でありえるので、バッファメモリ(415)を含むビデオデコーダ(410)のエントロピーデコーディング部分及びパーサ(420)は、ローカルデコーダ(533)に完全には実装されない場合がある。
この点で行うことができる観察は、デコーダ内に存在するパーシング/エントロピーデコーディングを除く任意のデコーダ技術もまた、対応するエンコーダ内に実質的に同一の機能的形態で存在する必要があることである。このために、開示された主題は、デコーダ動作に集中する。それらが包括的に記載されているデコーダ技術の逆であるにつれて、エンコーダ技術の説明を、略記できる。特定の領域だけで、より多くの詳細説明が、必要とされて、下でなされる。
動作中に、いくつかの例において、ソースコーダ(530)は、「参照画像」として指定されたビデオシーケンスからの1つ以上の、先行してコーディングされた画像を参照して入力画像を予測的にコーディングする、モーション補償予測コーディングを実行し得る。このようにして、コーディングエンジン(532)は、入力画像のピクセルブロックと、入力画像に対する(複数の)予測参照として選択され得る(複数の)参照画像のピクセルブロックとの間の差をコーディングする。
ローカルビデオデコーダ(533)は、ソースコーダ(530)により生成されたシンボルに基づいて、参照画像として指定され得る画像のコーディングされたビデオデータをデコードし得る。コーディングエンジン(532)の動作は、有利には、非可逆プロセスであり得る。コーディングされたビデオデータがビデオ・デコーダ(図5には示されていない)でデコードされ得る場合、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、参照画像上でビデオデコーダにより実行され、参照画像キャッシュ(534)に記憶されるべき再構成された参照画像を生じさせ得るデコーディング処理を繰り返す。このようにして、ビデオエンコーダ(503)は、遠位端ビデオデコーダによって、得られるであろう再構成された参照画像として、共通のコンテンツを有する再構成された参照画像のコピーをローカルに記憶できる。
予測器(535)は、コーディングエンジン(532)について予測サーチを実行し得る。すなわち、コーディングされるべき新しい画像について、予測器(535)は、新しい画像についての適切な予測参照として役立ち得る、参照画像動きベクトル、ブロック形状等の特定のメタデータ、又は、サンプルデータ(参照ピクセルブロックの候補として)、について参照画像メモリ(534)をサーチし得る。予測器(535)は、適切な予測参照を見出すために、サンプルブロック毎に動作し得る。場合によっては、予測器(535)によって、得られたサーチ結果により決定されるように、入力画像は、参照画像メモリ(534)に記憶された複数の参照画像から引き出された予測参照を有し得る。
コントローラ(550)は、例えば、ビデオデータをエンコードするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(530)のコーディング動作を管理し得る。
上述した機能ユニットの全ての出力は、エントロピーコーダ(545)におけるエントロピーコーディングを受け得る。エントロピーコーダ(545)は、ハフマンコーディング、可変長コーディング、算術コーディング等の技術にしたがって、シンボルを可逆的に圧縮することによって、種々の機能ユニットにより生成されたシンボルをコーディングされたビデオシーケンスに変換する。
送信器(540)は、エントロピーコーダー(545)により作成されたコード化ビデオシーケンスをバッファリングして、エンコードされたビデオデータを格納し得る記憶デバイスへのハードウェア/ソフトウェアリンクあり得る通信チャネル(560)を介した送信に備えることができる。 送信器(540)は、ビデオ・コーダ(503)からのコーディングされたビデオデータを、例えばコーディングされたオーディオデータ及び/又は補助的なデータ・ストリーム(図示せず)等の、送信されるべき他のデータとともにマージし得る。
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理し得る。コーディングの間、コントローラ(550)は、各コーディングされた画像に、特定のコーディングされた画像タイプを割り当てることができ、これは、各画像に適用され得るコーディング技術に影響を及ぼし得る。例えば、画像は、しばしば、次の画像タイプの1つとして割り当てられる:
イントラ画像(I画像)は、予測ソースとしてシーケンス内の他の画像を使用することなく、コーディングされ、デコードされ得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」:Independent Decoder Refresh)画像を含む、異なるタイプのイントラ画像を許容する。当業者は、I画像のこれらの変形例、並びにそれらのそれぞれの用途及び特徴を認識している。
予測画像(P画像)は、各ブロックのサンプル値を予測するために、最大で1つの運動ベクトルと参照インデックスを用いるインター予測又はイントラ予測を使用して、コーディングされ、デコードされ得るものであり得る。
双方向(bi-directionally)予測画像(B画像)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルと参照インデックスを用いるインター予測又はイントラ予測を使用して、コーディングされ、デコードされ得るものであり得る。同様に、複数の予測画像は、1つのブロックの再構成のために、2つ以上の参照画像及び関連するメタデータを使用できる。
ソース画像は、通常、空間的に複数のサンプルブロック(例えば、4×4、8×8、4×8、又は16×16の各サンプルのブロック)に分割され、ブロック毎にコーディングされる。ブロックは、ブロックのそれぞれの画像に適用されるコーディング割り当てにより決定された、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、I画像のブロックは、非予測的にコーディングされるか、又は、それらは、同じ画像の既にコーディングされたブロック(空間予測又はインター予測)を参照して予測的にコーディングされ得る。P画像の画素ブロックは、先行してコーディングされた一つの参照画像を参照して、空間的予測又は時間的予測を介して予測的にコーディングされ得る。B画像のブロックは、1つ又は2つの、先行してコーディングされた参照画像を参照して、空間的予測を介して、又は時間的予測を介して予測的にコーディングされ得る。
ビデオエンコーダ(503)は、所定のビデオコーディング技術又はITU-T Rec.H.265.などの標準にしたがってコーディング動作を実行し得る。 その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を活用する予測コーディング動作を含む種々の圧縮動作を実行し得る。したがって、コード化されたビデオデータは、使用されているビデオコード化技術又は標準により指定された構文に準拠し得る。
一実施例において、送信器(540)は、エンコードされたビデオとともに付加的なデータを送信できる。ソースコーダ(530)は、コード化されたビデオシーケンスの一部としてかかるデータを含むことができる。追加のデータは、時間的/空間的/SNR強調レイヤーや、他の形式の冗長データ、例えば冗長画像及びスライス、SEIメッセージ、VUIパラメータセットフラグメント等を含み得る。
ビデオは、時間シーケンスにおいて、複数のソース画像(ビデオ画像)として捕捉され得る。画像内予測(Intra-picture prediction)(しばしば、イントラ予測と略される)は、所与の画像における空間的相関を使用し、画像間予測又はインター予測(inter-picture prediction)は、画像間の(時間的又は他の)相関を使用する。一例では、現在画像と称されるコーディング/デコーディング中の特定の画像は、ブロックに分割される。現在画像内のブロックが、ビデオ内の、先行してコーディングされ、まだバッファされている参照画像内の参照ブロックに類似する場合、現在の画像内ブロックは、動きベクトルと称されるベクトルによって、コーディングされ得る。動きベクトルは、参照画像内の参照ブロックを指し、複数の参照画像が使用されている場合には、参照画像を識別する第3次元を有することができる。
いくつかの実施形態において、双方向予測技術(bi-prediction technique)は、画像間予測において、使用され得る。双方向予測技術によれば、ビデオ内の現在画像に対してデコード順では両方とも先行する(ただし、表示順では、それぞれ過去及び未来であり得る)第1参照画像及び第2参照画像等の2つの参照画像が使用される。現在画像内のブロックは、第1参照画像内の第1参照ブロックを指す第1動きベクトルと、第2参照画像内の第2参照ブロックを指す第2の動きベクトルとによって、コーディングされることができる。ブロックは、第1参照ブロックと第2参照ブロックとの組み合わせにより予測されることができる。
さらに、コーディング効率を改善するために、インター画像予測にマージモード技術を使用できる。
本開示のいくつかの実施形態によれば、インター画像予測及びイントラ画像予測等の予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオ画像シーケンス中の画像は、圧縮のためにコーディングトリーユニット(CTU)に仕切られ、画像中のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセル等の、同じサイズを有する。一般に、CTUは、1つのルマCTB(one luma CTB)と2つのクロマCTB(two chroma CTBs)である3つのコーディングトリーブロック(CTB)を含む。各CTUは、1つ又は複数のコーディング単位(CU)に再帰的に4分木分割できる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1CU、32×32ピクセルの4CU、又は16×16ピクセルの16CUに分割できる。例では、各CUは、インター予測タイプ又はイントラ予測タイプ等の、CUの予測タイプを決定するために分析される。CUは時間的及び/又は空間的予測可能性に依存して1つ以上の予測単位(PU)に分割される。一般に、各PUはルマ予測ブロック(PB)と2つのクロマPBを含む。一実施形態では、コーディング(エンコード/デコード)における予測動作は、予測ブロックのユニットにおいて、実行される。予測ブロックの一例としてルマ予測ブロックを用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル等、ピクセルに対する値(例えば、ルマ値)の行列を含む。
図6は、本開示の別の実施形態によるビデオエンコーダ(603)の図を示す。ビデオ・エンコーダ(603)は、ビデオ画像シーケンス内の現在ビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされた画像にエンコードするように構成されている。一実施例では、ビデオエンコーダ(603)は、図3の例のビデオエンコーダ(303)の代わりに使用される。
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルの予測ブロック等の処理ブロックに対するサンプル値のマトリックスを受信する。ビデオエンコーダ(603)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、又は双方向予測モードを使用して、最良にコーディングされるかどうかを決定する。処理ブロックがイントラモードでコード化されるべき場合は、ビデオエンコーダ(603)はイントラ予測時術を使用して処理ブロックをコード化された画像にエンコードすることができ:処理ブロックがインターモード又は双予測モードでコード化されるべき場合は、ビデオエンコーダ(603)はインター予測又は双予測技術を使用して、それぞれ、処理ブロックをコード化された画像にエンコードすることができる。特定のビデオコーディング技術では、マージモードは、予測器外部のコード化された動きベクトル成分の利益なしに、動きベクトルが1つ以上の動きベクトル予測器から導出されるインター画像予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一実施形態では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)等の他の構成要素を含む。
図6の例では、ビデオエンコーダ(603)は、図6に示すように一緒に結合されたエントロピーエンコーダ(625)と、インターエンコーダ(630)と、イントラエンコーダ(622)と、残差計算器(623)と、スイッチ(626)と、残差エンコーダ(624)と、汎用コントローラ(621)と、を含む。
インターエンコーダ(630)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照画像内の1つ以上の参照ブロックと比較し(例えば、先行する画像内及び後の画像内のブロック)、インター予測情報(例えば、インターエンコーディング技術による冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。若干の実施例において、基準ピクチャは、コード化されたビデオ情報に基づいて復号化される復号化基準ピクチャである。
イントラエンコーダ(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを、同じ画像内で既にコーディングされたブロックと比較し、変換後に量子化された係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラコーディング技術に従ったイントラ予測方向情報)も生成するように構成されている。一実施例では、イントラエンコーダ(622)はまた、同じ画像内のイントラ予測情報及び参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
汎用コントローラ(621)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一実施形態では、汎用コントローラ(621)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(626)に制御信号を供給する。例えば、モードがイントラモードである場合、汎用コントローラ(621)は、スイッチ(626)を制御して、残差計算器(623)が使用するイントラモード結果を選択し、エントロピーエンコーダ(625)を制御して、
ビットストリームにイントラ予測情報を含め、モードがインターモードの場合、汎用コントローラ(621)は、スイッチ(626)を制御して残差計算器(623)で使用するインター予測結果を選択し、エントロピーエンコーダ(625)を制御してインター予測情報を選択し、ビットストリームにインター予測情報を含める。
残差計算器(623)は、受信されたブロックと、イントラエンコーダ(622)又はインターエンコーダ(630)から選択された予測結果との差(残差データ)を計算するように構成される。残差エンコーダ(624)は、残差データに基づいて動作し、残差データをエンコードして変換係数を生成するように構成される。一実施例では、残差エンコーダ(624)は、残差データを空間ドメインから周波数ドメインにコンバートし、変換係数を生成するように構成される。それから、変換係数は量子化処理に従属して、量子化変換係数を得る。様々な実施形態では、ビデオエンコーダ(603)は、残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を実行し、デコードされた残差データを生成するように構成される。デコードされた残差データは、イントラエンコーダ(622)及びインターエンコーダ(630)によって、適切に使用されることができる。例えば、インターエンコーダ(630)は、デコードされた残差データ及びインター予測情報に基づいてデコードされたブロックを生成することができ、イントラエンコーダ(622)は、デコードされた残差データ及びイントラ予測情報に基づいてデコードされたブロックを生成できる。デコードされたブロックは、いくつかの実施例では、デコードされた画像を生成するために適切に処理され、デコードされた画像は、メモリ回路(図示せず)内でバッファされ、参照画像として使用され得る。
エントロピーエンコーダ(625)は、エンコードされたブロックを含むようにビットストリームをフォーマットするように構成されている。エントロピーエンコーダ(625)は、HEVC標準のような適切な標準に従った種々の情報を含むように構成される。一実施例では、エントロピーエンコーダ(625)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及びビットストリーム内の他の適切な情報を含むように構成される。開示された主題にしたがってインターモード又は双方向予測モードのいずれかのマージサブモードにおけるブロックをコーディングする場合、残差情報は存在しないことに留意されたい。
図7は、本開示の別の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、コーディングされたビデオシーケンスの一部であるコーディングされた画像を受信し、コーディングされた画像をデコードして再構成画像を生成するように構成されている。一実施形態では、ビデオデコーダ(710)は、図3の実施形態のビデオデコーダ(310)の代わりに使用される。
図7実施例において、ビデオデコーダ(710)は、図7に示すように一緒に結合されているエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)およびイントラデコーダ(772)を含む。
エントロピーデコーダ(771)は、コーディングされた画像から、そのコーディング画像を作成する(of which the coded picture is made up)構文要素を表す特定のシンボルを再構成するように構成できる。かかるシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双方向予測モード、マージサブモード又は別のサブモードにおけるインターモード、双方向予測モード等)、予測情報(例えば、イントラ予測情報又はインター予測情報)を含むことができ、それらは、イントラデコーダ(722)又はインターデコーダ(780)によって、それぞれ使用される特定のサンプル又はメタデータ、例えば量子化された変換係数の形態の残差情報等、を識別できる。実施例において、予測モードがインターであるか双予測されたモードであるときに、インター予測情報はインター・デコーダ(780)に提供される。そして、予測タイプが先行復号化タイプであるときに、先行復号化情報はイントラ・デコーダ(772)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(773)に提供される。
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(773)は、逆量子化変換係数(de-quantized transform coefficients)を抽出するために逆量子化を実行し、逆量子化変換係数を処理して残差を周波数領域から空間領域にコンバートするように構成される。残差デコーダ(773)は、量子化器パラメータ(QP)を含む特定の制御情報も必要とすることがあり、その情報は、エントロピーデコーダ(771)により提供され得る(データパスは、低ボリューム制御情報のみであり得るため、図示されていない)。
再構成モジュール(774)は、空間領域において、残差デコーダ(773)により出力される残差と(場合によっては、インター又はイントラ予測モジュールにより出力される)予測結果を組み合わせて、再構成されたブロックを形成し、これは、再構成された画像の一部であり得、したがって、再構成されたビデオの一部であり得る。デブロッキング等の他の適切な動作を行って、視覚品質を改善できることに留意されたい。
なお、ビデオエンコーダ(303)、(503)及び(603)と、ビデオデコーダ(310)、(410)、及び(710)とは、任意の適切な技術を用いて実現できる。一実施形態では、ビデオエンコーダ(303)、(503)及び(603)と、ビデオデコーダ(310)、(410)及び(710)とは、1つ以上の集積回路を使用して実装され得る。別の実施形態では、ビデオエンコーダ(303)、(503)及び(503)と、ビデオデコーダ(310)、(410)、及び(710)とは、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実現できる。
II.変換スキップモード
本開示の一実施形態では、変換スキップ(TS)モードを、イントラ及びインター予測残差の両方をコーディングするために適用できる。16サンプル以下のルマ又はクロマコーディングブロックに対して、TSモードが現在ブロックに適用されているかどうかを示すフラグがシグナリングされ得る。
TSモードが適用される場合、予測プロセスは通常の変換モードの予測プロセスと同じである。いくつかの例では、イントラ又はインター予測が適用され得る。変換スキップTUの場合、スケーリングプロセスを使用して、変換スキップ係数が他の変換係数と同様の大きさになるようにすることができる。一実施形態では、スケールダウンプロセスを実行することができ、スケーリングファクタは、同じサイズの他の変換(ノルム1の標準浮動小数点変換に対して)に関連するスケーリングと同じであり得る。さらに、TSモードが適用される場合、非量子化及びスケーリングは、通常の変換モードでの非量子化及びスケーリングと同じである。TSモードが適用されている場合、デブロッキング、サンプルアダプティブオフセット(SAO)、及びアダプティブループフィルタリング(ALF)も同じであるが、変換がバイパスされているかどうかを示すフラグがシグナリングされ得る。さらに、TSモードが有効か否かを示すフラグがSPSでシグナリングされ得る。
一実施例において、VVCドラフトのTSモードに関連する仕様テキストを以下の表1に示す:
Figure 0007257535000001
表1で、transform_skip_flag[x0][y0][cIdx]は、関連付けられた変換ブロックに変換を適用するかどうかを指定する。transform_skip_flag[x0][y0][cIdx]が1に等しい場合、現在の変換ブロックに変換が適用されないことを指定する。transform_skip_flag[x0][y0][cIdx]が0に等しい場合、変換が現在の変換ブロックに適用されるかどうかが他の構文要素に依存することを指定する。transform_skip_flag[x0][y0][cIdx]が存在しない場合、0に等しいと推測される。
配列インデックスx0、y0は、画像の左上の輝度サンプルに対する変換ブロックの左上のルマサンプルの位置(x0、y0)を指定する。配列インデックスcIdxは、カラーコンポーネントのインジケーターを指定する。配列インデックスcIdxが0に等しい場合、色成分はルマである。配列インデックスcIdxが1に等しい場合、色成分はCbである。配列インデックスcIdxが2に等しい場合、色成分はCrである。
次に、スケーリング及び変換プロセスの実施例は、後述する。
プロセスへの入力は:
(a)現在の画像の左上のルマサンプルに対する、現在のルマ変換ブロックの左上のサンプルを指定するルマ位置(xTbY、yTbY)、
(b)現在ブロックの色成分を指定する変数cIdx、
(c)変換ブロック幅を指定する変数nTbW、及び(d)変換ブロックの高さを指定する変数nTbH、である。
このプロセスの出力は、x=0...nTbW-1,y=0...nTbH-1を有する残差サンプル[x][y]の配列7であり得る。
スケーリングプロセスにおいて、変数bitDepthは、現在の色成分のビット深度であり、変数bdShiftは、スケーリングシフトファクターであり、変数tsFiftは、変換スキップシフトである。変数bitDepth、bdShift、及びtsShiftは、次のように導出できる:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC (式1)
bdShift=Max(22?bitDepth,0) (式2)
tsShift=5+((Log2(nTbW)+Log2(nTbH))/2) (式3)
変換係数に対するスケーリングプロセスは、入力として、変換ブロック位置(xTbY,yTbY)、変換幅nTbW及び変換高さnTbH、色成分変数cIdx及び現在の色成分のビット深度bitDepth、さらに、出力として、スケーリングされた変換係数の配列で呼び出され得る。
残差サンプルrの(nTbW)x(nTbH)配列は、量子化された係数であり、以下のように導出され得る。
transform_skip_flag[xTbY][yTbY][cIdx]が1に等しい場合、x=0…nTbW-1,y=0…nTbH-1xを有する残差サンプル配列値r[x][y]は次のように導き出され得る:
r[x][y]=d[x][y]<<tsShift (式4)
transform_skip_flag[xTbY][yTbY][cIdx]が0に等しい場合、スケール化された変換係数に対する変換プロセスは、入力として、変換ブロック位置(xTbY、yTbY)、変換幅nTbW及び変換高さnTbH、色成分変数cIdx及びスケール化された変換係数dの(nTbW)x(nTbH)配列、出力として、残差サンプルrの(nTbW)x(nTbH)配列で呼び出され得る。
x=0...nTbW-1,y=0...nTbH-1を有する残差サンプル[x][y]は次のように導き出されることができる:
resSamples[x][y]=(r[x][y]+(1<<(bdShift?1)))>>bdShift (式 5)
III.ブロック差分パルスコード変調
ブロック差分パルスコード変調(BDPCM)は、ブロックレベルで差分パルスコード変調(DPCM)アプローチを使用するイントラコーディングツールである。CUが、各次元が32以下のルーマイントラコード化CUである場合は常に、bdpcm_flagはCUレベルで送信され得る。このフラグは、通常のイントラコーディング又はDPCMが使用され、単一のコンテキストベースの適応バイナリ算術コーディング(CABAC)を使用してエンコードされているかどうかを示す。
BDPCMは、LOCO-Iの中央値エッジ検出器(Median Edge Detector)を使用できる(例えば、JPEG-LSで使用される)。具体的には、ピクセルAを左隣、ピクセルBを上隣(top neighbor)、Cを左上隣として有する現在のピクセルXに対して、現在のピクセルX P(X)の予測は次の式で決定される:
C≧max(A,B)Pの場合、P(X)= min(A,B)
C≦min(A,B)の場合、max(A,B)
その他の場合、A+B-C 式(6)
ピクセル予測子は、CUの最上行(top row)及び左列から予測するときに、フィルタリングされていない参照ピクセルを使用する。次に、予測子は、CUの残りの部分に対して再構築されたピクセルを使用します。ピクセルは、CU内でラスタースキャンの順序で処理されます。予測エラーは、再スケーリング後に、変換スキップ量子化器と同じ方法で空間ドメインにおいて、量子化し得る。各ピクセルは、逆量子化された(dequantized)予測エラーを予測に付加することによって、再構築されることができる。したがって、再構築されたピクセルを使用して、ラスタースキャン順序で次のピクセルを予測できる。量子化された予測エラーの振幅とサインは別個にエンコードされる。cbf_bdpcm_flagはコーディングされる。cbf_bdpcm_flagが0に等しい場合、ブロックのすべての振幅はゼロとしてデコードされる。cbf_bdpcm_flagが1に等しい場合、ブロックのすべての振幅はラスタースキャン順序で個別にエンコードされる。 複雑さを低く保ために、振幅を(包括的に)最大31に制限できる。振幅は、第1ビンに(for the first bin)3つのコンテキストで(with three contexts)、第12ビンまでは追加のビンごとに1つのコンテキストで、残りのすべてのビンに1つのコンテキストで、単項バイナリ化を使用してエンコードできる。サインは、ゼロ残差ごとにバイパスモデルでエンコードされ得る。
通常のイントラモード予測のコヒーレンスを維持するために、イントラモード予測の最も可能性の高いモード(MPM)リストの第1モードは、BDPCM CUに関連付けられ(送信されずに)、後続のブロックのMPMを生成するために利用可能である。
デブロックフィルタは、2つのBDPCMコード化ブロック間の輪郭(border)/境界(boundary)で非アクティブ化され得る。なぜなら、BDPCMコード化ブロックのどちらも、通常、アーティファクトのブロッキングに関与する変換を実行しないからである。さらに、BDPCMは、ここで説明されているもの以外のステップを使用しない場合がある。特に、BDPCMは、上記のように残差コーディングで変換を実行しない場合がある。
BDPCMに関するスループットの改善及び他の画面コンテンツコーディング(SCC)ツールとの相互作用を調査するために、BDPCMに関するいくつかのテストが実施されている。
図8Aは、一実施形態によるBDPCMコード化ブロックの例を示す。図8Aに示す例は、テスト1に関連している。図8Aでは、スループットを向上させるために、より小さなブロック(例えば、4x4、4x8及び8x4のサイズを有する)は、ブロックを2つの半体に効果的に分割する対角線を使用して、2つの、独立してデコード可能なエリアに分割され得る(例えば、階段状成形パーテション(stair-case shaped partition)。
一実施形態では、第1の半分のある領域からのピクセルは、予測を計算するために第2の半分の別の領域からのピクセルを使用することを許されない場合がある。ある領域のピクセルが別の領域のピクセルを使用して予測を計算する必要がある場合は、代わりに参照ピクセルが使用される。例えば、他の領域からのピクセルは、最も近い参照ピクセルにより置き換えられ得る。たとえば、左隣を同じ行の左側の参照ピクセルに置き換え、
上隣を同じ列の左側の参照ピクセルに置き換え、
左上隣を最も近い参照ピクセルに置き換えることができる。したがって、2つの領域を並行して処理できる。
図8Aはまた、異なるサイズを有する各ブロックの例示的なスループットを提供する。たとえば、2つの、独立してデコード可能な領域を有する4×4ブロックの場合、スループットは1サイクルあたり4ピクセルになり得る。2つの、独立してデコード可能な領域を有する4×8又は8×4ブロックの場合、スループットは1サイクルあたり5.33ピクセルになり得る。独立してデコード可能な領域がない8x8ブロックの場合、スループットは1サイクルあたり4.26ピクセルになり得る。独立してデコード可能な領域がない8x8ブロックの場合、スループットは1サイクルあたり4.26ピクセルになり得る。独立してデコード可能な領域がない16x16ブロックの場合、スループットは1サイクルあたり8.25ピクセルになり得る。
図8Bは、一実施形態によるBDPCMコード化ブロックの例を示す。図8Bに示す例は、テスト2に関連する。図8Bに示されるように、ブロックは、JPEG-LS予測子を置き換えるために、垂直又は水平予測子を使用して分割され得る。垂直又は水平の予測子を選択して、ブロックレベルでシグナリングし得る。独立してデコード可能な領域の形状は、予測子のジオメトリを反映する。現在ピクセルの予測に左側又は上側の(left or a top)ピクセルを使用する水平又は垂直の予測子の形状により、ブロックを処理する最もスループット効率の高い方法は、1つの列又は行のすべてのピクセルを並列に処理し、かつ、これらの列又は行を順番に処理することであり得る。たとえば、スループットを向上させるために、幅4のブロックは、このブロックで選択された予測子が垂直の場合、水平境界で2つの半分に分割され、高さ4のブロックは、このブロックで選択された予測子が水平の場合、垂直境界で2つの半分に分割される。2つの、独立してデコード可能な領域を持つ4×4ブロック、8×4、又は4×8ブロックの場合、スループットは1サイクルあたり8ピクセルになり得る。独立してデコード可能な領域がない4×8ブロック、8x4ブロック、又は8x8ブロックの場合、スループットは1サイクルあたり8ピクセルになり得る。独立してデコード可能な領域がない16x16ブロックの場合、スループットは1サイクルあたり16ピクセルになり得る。
テスト3において、本開示の実施形態によれば、BDPCM残差振幅は28に制限され、振幅は、第一の12個のビンに対して切り捨て単項バイナリ化でエンコードされ、剰余に対して2次指数ゴロム等確率ビン(order-2 Exp-Golomb equal probability bins)が続く(たとえば、encodeRemAbsEP()関数を使用)。
IV.変換係数コーディング
エントロピーコーディングは、ビデオ信号が一連の構文要素に減少された(reduced)後、ビデオコーディングの最終段階(又はビデオデコーディングの第1段階)で実行されることができる。エントロピーコーディングは、データを表すために使用されるビット数がデータの確率に対数的に比例するように、統計プロパティを使用してデータを圧縮する可逆圧縮方式でありえる。たとえば、構文要素のセットに対してエントロピーコーディングを実行することにより、構文要素を表すビット(ビンと称される)をビットストリーム内のより少ないビット(コード化ビットと称される)に変換できる。CABACは、エントロピーコーディングの1つの形式である。CABACでは、確率推定を提供するコンテキストモデルを、それぞれのビンに関連付けられたコンテキストに基づいて、ビンのシーケンス内の各ビンに対して決定できる。続いて、確率推定を使用してバイナリ算術コーディングプロセスを実行し、ビンのシーケンスをビットストリーム内のコード化されたビットにエンコードすることができる。さらに、コンテキストモデルは、コード化されたビンに基づく新たな確率推定で更新される。
図9Aは、一実施形態による例示的なCABACベースのエントロピーエンコーダ(900A)を示す。例えば、エントロピーエンコーダ(900A)は、図5の例のエントロピーコーダ(545)又は図6の例のエントロピーエンコーダ(625)に実装できる。エントロピーエンコーダ(900A)は、コンテキストモデラ(910)及びバイナリ算術エンコーダ(920)を含むことができる。一実施例では、様々なタイプの構文要素が、エントロピーエンコーダ(900A)への入力として提供される。 例えば、バイナリ値の構文要素のビンは、コンテキストモデラ(910)に直接入力されることができ、一方、非バイナリ値の構文要素は、ビン文字列のビンがコンテキストモデラ(910)に入力される前に、ビン文字列にバイナリ化されることができる。
一実施例では、コンテキストモデラ(910)は、構文要素のビンを受信し、コンテキストモデリングプロセスを実行して、受信した各ビンに対するコンテキストモデルを選択する。たとえば、変換ブロック内の変換係数のバイナリ構文要素のビンが受信される。現在ブロックが予測のためにBDPCMでコード化されている場合、変換ブロックは変換スキップブロックであり得る。したがって、例えば、構文要素のタイプ、変換コンポーネントの色コンポーネントタイプ、変換係数の位置、及び、先行して処理された隣接する変換係数などに基づいて、このビンのコンテキストモデルを決定できる。コンテキストモデルは、このビンに対する確率推定を提供できる。
一実施例では、コンテキストモデルのセットは、1つ以上のタイプの構文要素に対して構成できる。これらのコンテキストモデルは、図9Aに示すように、メモリ(901)に格納されるコンテキストモデルリスト(902)に配置されることができる。コンテキストモデルリスト(902)の各エントリは、コンテキストモデルを表すことができる。リスト内の各コンテキストモデルは、コンテキストモデルインデックスと称されるインデックス、又はコンテキストインデックスに割り当てられることが可能である。さらに、各コンテキストモデルは、確率推定値(probability estimate)又は確率推定値を示すパラメータを含むことができる。確率推定値は、ビンが0又は1である可能性を示すことができる。例えば、コンテキストモデリング中に、コンテキストモデラ(910)は、ビンに対するコンテキストインデックスを計算することができ、したがって、コンテキストモデルは、コンテキストモデルリスト(902)からのコンテキストインデックスに従って選択されることができ、ビンに割り当てられることが可能である。
さらに、コンテキストモデルリスト内の確率推定値は、エントロピーエンコーダ(900A)の動作の開始時に初期化できる。コンテキストモデルリスト(902)内のコンテキストモデルがビンに割り当てられ、ビンをエンコードするために使用された後、コンテキストモデルは、更新された確率推定値を有するビンの値に従ってその後更新されることができる。
一実施例では、バイナリ算術エンコーダ(920)は、ビン及びビンに割り当てられたコンテキストモデル(例えば、確率推定値)を受信し、したがって、バイナリ算術コーディングプロセスを実行する。その結果、コード化されたビットが生成され、ビットストリームで送信される。
図9Bは、一実施形態による、例示的なCABACベースのエントロピーデコーダ(900B)を示す。例えば、エントロピーデコーダ(900B)は、図4のパーサ(420)又は図7のエントロピーデコーダ(771)に実装されることができる。エントロピーデコーダ(900B)は、バイナリ算術デコーダ(930)及びコンテキストモデラ(940)を含むことができる。バイナリ算術デコーダ(930)は、ビットストリームからのコード化されたビットを受信し、バイナリ算術デコーディングプロセスを実行して、コード化されたビットからビンを回復する。コンテキストモデラ(940)は、コンテキストモデラ(910)と同様に動作できる。例えば、コンテキストモデラ(940)は、メモリ(903)に格納されたコンテキストモデルリスト(904)内のコンテキストモデルを選択し、選択されたコンテキストモデルをバイナリ算術デコーダ(930)に提供できる。コンテキストモデラ(940)は、バイナリ算術デコーダ(930)から復元されたビンに基づいてコンテキストモデルを決定できる。例えば、復元されたビンに基づいて、コンテキストモデラ(940)は、次にデコードされるビンの構文要素のタイプ、及び先行してデコードされた構文要素の値を知ることができる。その情報は、次にデコードされるべきビンのコンテキストモデルを決定するために使用される。
V.変換係数に対するエントロピーコーディング
1. 変換係数の構文要素
一実施形態では、変換ブロックの残差信号(residual signals)は、まず空間ドメインから周波数ドメインに変換され、変換係数のブロックをもたらす。その後、量子化が実行されて、変換係数のブロックが変換係数レベルのブロックに量子化される。様々な実施形態では、残差信号を変換係数レベルに変換するために異なる技術が使用され得る。変換係数レベルのブロックはさらに処理されて、エントロピーエンコーダに提供され、ビットストリームのビットにエンコードされることができる構文要素が生成される。一実施形態では、変換係数レベルから構文要素を生成するプロセスは、以下の方法で実行できる。
変換係数レベルのブロックは、最初に、例えば、4x4位置サイズを有するサブブロックに分割されることができる。これらのサブブロックは、所定のスキャン順序に従って処理されることができる。図10は、逆対角スキャン順序と称される、サブブロックスキャン順序の例を示している。図示のように、ブロック(1010)は、16のサブブロック(1001)に分割されている。各サブブロック(1001)は、係数グループ(CG)であり得る。サブブロック(1001)内の位置が処理又はスキャンされる前に、フラグはシグナリングされることができ、CGが少なくとも1つの非ゼロ変換係数レベルを含むかどうかを示すことができる。フラグがCGに非ゼロ変換係数レベルが少なくとも1つ含まれていることを示す場合、右下隅のサブブロックが最初に処理され、左上隅のサブブロックが最後に処理されます。変換係数レベルが全てゼロであるサブブロックの場合、一実施例では、サブブロックは処理されずにスキップされることができる。 TSモードでは、スキャン順序は逆対角スキャン順序の反対になり得る。つまり、左上隅のサブブロックを最初に処理し、右下隅のサブブロックを最後に処理できる。
それぞれが少なくとも1つの非ゼロ変換係数レベルを有するサブブロックの場合、4つのスキャンパスを各サブブロックで実行できる。各パス中に、それぞれのサブブロック内の16の位置が、逆対角スキャン順序でスキャンされることができる。図11は、変換係数の異なるタイプの構文要素を生成できるサブブロックスキャンプロセス(1100)の例を示す。
サブブロック内の16個の係数位置(1110)が、図11の下部に一次元で示されている。位置(1110)には、それぞれのスキャン順序を反映して0から15までの番号が付されている。第一のパス中に、スキャン位置(1110)がスキャンされ、各スキャン位置(1110)において、以下の3種類の構文要素(1101-1103)が生成される:
(i) それぞれの変換係数の絶対変換係数レベル(以下「absLevel」と称される)がゼロ以上であるかどうか、を示す第1タイプのバイナリ構文要素(1101)(重要度フラグ(significance flags)と称され、sig_coeff_flagで示される)。絶対変換係数レベルは、通常、変換係数値の大きさ(the magnitude)を指す。サイン値(正又は負)と組み合わせた絶対変換係数レベルは、変換係数を表すことができる。
(ii)それぞれの変換係数の絶対変換係数レベルのパリティを示す第2タイプのバイナリ構文要素(1102)(パリティフラグと称され、par_level_flagで示される)。パリティフラグは、それぞれの変換係数の絶対変換係数レベルがゼロ以外の場合にのみ生成される。
(iii)(absLevel-1)>>1がそれぞれの変換係数に対して0より大きいかどうかを示す、第3タイプのバイナリ構文要素(1103)(1超過フラグと称され、rem_abs_gt1_flagで示される)。1超過フラグは、それぞれの変換係数の絶対変換係数レベルがゼロ以外の場合にのみ生成される。
第2パスの間に、第4タイプのバイナリ構文要素(1104)が生成され得る。第4タイプの構文要素(1104)は、2超過フラグと称され、rem_abs_gt2_flagで示される。第4タイプの構文要素(1104)は、それぞれの変換係数の絶対変換係数レベルが4より大きいかどうかを示す。2超過フラグは、(absLevel-1)>>1が、それぞれの変換係数に対して、0より大きい場合にのみ生成される。
第3パスの間に、第5タイプの非バイナリ構文要素(1105)がおそらく生成され得る。剰余は通常、絶対変換係数レベルabsLevelの剰余値を指す(例:abs_remainder)。係数コーディングでは、係数レベルが所定の値Xより大きいかどうかを示すために、少なくとも第1信号が生成される。続いて、絶対変換係数レベルの剰余値に対応する第2信号が生成される(例えば、absLevel-X)。例えば、ここで、第5タイプの構文要素(1105)は、abs_remanderにより示されることができ、4より大きいそれぞれの変換係数の絶対変換係数レベルの剰余値を示す。第5タイプの構文要素(1105)は、それぞれの変換係数の絶対変換係数レベルが4より大きい場合にのみ生成される。
第4パスの間に、第6タイプの構文要素(1106)が、それぞれの変換係数レベルのサイン(sign)を示す非ゼロの係数レベルで、各スキャン位置(1110)において、生成され得る。
TSモードでは、第1パスは、重要度フラグ、パリティフラグ、1超過フラグ、及び2超過フラグを含み得る。さらに、x超過フラグなど、追加のタイプの構文要素が別のパスで生成され得る。x超過フラグは、rem_abs_gtx_flagで示され、それぞれの変換係数の絶対変換係数レベルがxより大きいかどうかを示す。いくつかの例では、xは2、4、6、又は8でありえる。
上記の様々なタイプの構文要素は、パス順序及び各パスのスキャン順序に従って、エントロピーエンコーダに提供されることができる。異なるタイプの構文要素をエンコードするために、異なるエントロピーエンコーディングスキームを使用できる。例えば、一実施形態では、重要度フラグ、パリティフラグ、1超過フラグ、及び2超過フラグは、図9Aに記載されているように、CABACベースのエントロピーエンコーダでエンコードされることができる。対照的に、第3及び第4パスの間に生成された構文要素は、CABACバイパスエントロピーエンコーダ(たとえば、入力ビンに対する、固定確率推定のバイナリ算術エンコーダ)でエンコードされることができる。
2.変換係数構文要素のビンのコンテキストモデリング
コンテキストモデリングを実行して、いくつかのタイプの変換係数構文要素のビンのコンテキストモデルを決定できる。一実施形態では、変換係数間の相関を利用するために、コンテキストモデルは、ローカルテンプレート及び各現在係数(例えば、現在処理中の係数)の対角位置に従って、おそらく他の要因と組み合わせて、決定されることができる。
図12は、現在の係数のコンテキスト選択に使用されるローカルテンプレート(1230)の例を示す。ローカルテンプレート(1230)は、係数ブロック(1210)内の現在係数(1220)の隣接する位置又は係数のセットをカバーすることができる。係数ブロック(1210)は、8x8の位置のサイズを有することができ、64位置における係数レベルを含むことができる。係数ブロック(1210)は、それぞれ4x4位置のサイズを有する4つのサブブロックに分割されます。各サブブロックは、4x4係数位置を含むことができるCGで有り得る。CG(1230)は、現在係数(1210)を含む。CG(1230)がゼロ係数レベルのみを含むかどうかを示すためにフラグがシグナリングされ得る。図12の例では、ローカルテンプレート(1230)は、現在の係数(1220)の右下において、5つの係数レベルをカバーする5位置テンプレートであると画定されている。逆対角スキャン順序が係数ブロック(1210)内のスキャン位置の複数のパスに使用される場合、ローカルテンプレート(1230)内の隣接する位置は、現在の係数(1220)に先行して処理される。TSモードでは、スキャン順序は逆対角スキャン順序の反対であり得、ローカルテンプレートは、現在係数の左上における5つの係数レベルをカバーする5位置テンプレートであり得る。
コンテキストモデリング中に、ローカルテンプレート(1230)内の係数レベルの情報を使用して、コンテキストモデルを決定できる。このために、いくつかの実施形態では、テンプレートの大きさ(template magnitude)と称される尺度が、ローカルテンプレート(1230)内の変換係数又は変換係数レベルの大きさを測定又は示すために画定される。テンプレートの大きさは、コンテキストモデルを選択するための基礎として用いられることが可能である。
一実施例では、テンプレートの大きさは、ローカルテンプレート(1230)内の部分的に再構築された絶対変換係数レベルの、sumAbs1により示される合計であると画定される。部分的に再構築された絶対変換係数レベルは、それぞれの変換係数の構文要素sig_coeff_flag、par_level_flag、及びrem_abs_gt1_flagのビンに従って決定されることができる。これらの3つのタイプの構文要素は、エントロピーエンコーダ又はエントロピーデコーダで実行されるサブブロックのスキャン位置を最初に通過した後に(after a first pass over scan positions)取得できる。一実施形態では、numSigは、ローカルテンプレート(1230)内の非ゼロ係数の数である。さらに、スキャン位置(x、y)dの対角位置は:d=x+yに従って定義され、ここで、xとyはそれぞれの位置の座標である。コンテキストモデルインデックスは、以下に説明するように、sumAbs1と対角位置dに基づいて選択できる。
3.ローカルテンプレート及び対角位置に基づくコンテキストインデックスの決定
一実施形態では、エントロピーエンコーダ又はデコーダにおけるコンテキストモデリングプロセス中に、コンテキストインデックスは、以下に説明するように、現在係数(1220)のコンテキストコード化されたバイナリ構文要素について、決定されることができる。 決定は、ローカルテンプレート(1230)及び現在係数の対角位置(1220)に基づくことができる。
(1)sig_coeff_flag
現在係数(1220)のsig_coef_flagをコーディングする場合、コンテキストインデックスは、sumAbs1及び現在係数(1220)の対角位置dに応じて選択されることができる。たとえば、ルマコンポーネントに対して、コンテキストインデックスは次のように決定される:
ctxSig=18*max(0,state-1)+min(sumAbs1,5)+(d<2?12:(d<5?6:0)) (式7)
ここで、ctxSigは 重要度フラグ構文要素であり、「state」は、状態が0、1、2又は3の値を取ることができる従属量子化スキームのスケーラ量子化器の状態を表す。
式7は、以下の式と等価である:
ctxIdBase=18*max(0,state-1)+(d<2?12:(d<5?6:0)) (式8)
ctxSig=ctxIdSigTable[min(sumAbs1,5)]+ctxIdBase (式9)
式8及び式9において、ctxIdBaseはコンテキストインデックスベースを表す。 コンテキストインデックスベースは、状態と対角位置dに基づいて決定されることができる。 たとえば、状態は値0、1、2、又は3をとることができ、したがって、max(0,state-1)は、値0、1、又は2の、3つの可能な値のうちの1つをとることができる。たとえば、d < 2?12:、d <5?6:0は、dのさまざまな範囲:d <2、2 <= d <5又は5 <= dに対応して12、6、又は0の値を取ることができる。
式8及び式9において、ctxIdSigTable[]は、配列データ構造を表すことができ、ctxIdBaseに関する重要度フラグのコンテキストインデックスオフセットを格納できる。たとえば、異なるsumAbs1値に対して、min(sumAbs1、5)はsumAbs1値を5以下にクリップする。その後、クリップされた値はコンテキストインデックスオフセットにマップされます。たとえば、ctxIdSigTable[0~5]={0、1、2、3、4、5}の定義の下で、クリップされた値0、1、2、3、4又は5は0、1、2、3、4、又は5にそれぞれマップされる。
クロマ成分に対して、コンテキストインデックスは、式10に従って画定されることができる:
ctxSig=12*max(0,state-1)+min(sumAbs1,5)+(d<2?6:0) (式10)
ここで、式10は以下の式に等価である:
ctxIdBase=12*max(0,state-1)+(d<2?6:0) (式11)
ctxSig=ctxIdSigTable[min(sumAbs1,5)]+ctxIdBase (式12)
(2)par_level_flag
現在の係数(1220)のpar_leber_flagをコーディングする場合、コンテキストインデックスは、sumAbs1、numSig、及び対角位置dに応じて選択されることができる。たとえば、ルマコンポーネントに対して、現在係数がデコード順序の第一の非ゼロ係数である場合、コンテキストインデックスctxParは0に割り当てられ、それ以外の場合、コンテキストインデックスは次のように決定されることができる:
ctxPar=1+min(sumAbs1-numSig,4)+(d==0?15:(d<3?10:(d<10?5:0))) (式13)
ここで、式13は以下の式に等価である:
ctxIdBase=(d==0?15:(d<3?10:(d<10?5:0))) (式14)
ctxPar=1+ctxIdTable[min(sumAbs1-numSig,4)]+ctxIdBase (式15)
ここで、ctxParはパリティフラグのコンテキストインデックスを表し、ctxIdTable[]は別の配列データ構造を表し、それぞれのctxIdBaseに関するコンテキストインデックスオフセットを格納する。たとえば、ctxIdTable[0?4]={0、1、2、3、4}である。
クロマに対しては、現在係数がデコード順序の第一の非ゼロ係数である場合、コンテキストインデックスctxParは0に割り当てられ、 それ以外の場合、コンテキストインデックスは次のように決定されることができる。
ctxPar=1+min(sumAbs1-numSig,4)+(d==0?5:0) (式16)
ここで、式16は以下の式に等価である:
ctxIdBase=(d==0?5:0) (式17)
ctxPar=1+ctxIdTable[min(sumAbs1-numSig,4)]+ctxIdBase (式18)
(3)rem_abs_gt1_flag及びrem_abs_gt2_flag
現在係数(1220)のrem_abs_gt1_flag及びrem_abs_gt2_flagをコーディングする場合、コンテキストモデルインデックスは、par_lever_flagと同じ方法で決定されることができる:
ctxGt1 = ctxPar
ctxGt2 = ctxPar
ここで、ctxGt1及びctxGt2は、それぞれ1超過フラグと2超過フラグのコンテキストインデックスを表す。
異なるタイプの構文要素、sig_coeff_flag、par_level_flag、rem_abs_gt1_flag及びrem_abs_gt2_flagに対して、異なるコンテキストモデルのセットが使用されることに留意されたい。たとえば、rem_abs_gt1_flagに使用されるコンテキストモデルは、ctxGt1の値がctxGt2の値と等しい場合でも、rem_abs_gt2_flagのコンテキストモデルとは異なる。
VI.TSモード及びBDPCMモードに対する改善された残差コーディング
TSモード及びBDPCMモードの両方の残差コーディングは、変換なしで、空間領域で処理される。 したがって、TSモード及びBDPCMモードの間の共有モジュールは、係数コーディングのよりよりシンプルなデザインのために用いられることが可能である。
さらに、TSモード及びBDPCMモードの係数は、変換及び量子化に関連する通常の変換係数とは異なる特性を示す。したがって、異なる係数コーディングスキームは、より良いコーディングパフォーマンスを示し得る。
一実施形態では、TSモード及び/又はBDPCMモードの係数コーディングに対して、絶対変換係数レベル(例えば、absLeve)のパリティを示すパリティビットフラグ(例えば、par_lever_flagh)は、算術コーディングにおけるコンテキストモデリングを用いることなくバイパスしてコーディングされ得る。一実施例では、パリティビットフラグは別のパスでコーディングされることができる。別の例では、パリティビットフラグはabs_remainderと一緒に同じパスでコーディングされることができる。
一実施形態では、TSモード及び/又はBDPCMモードの係数コーディングのために、絶対変換係数レベル(例えば、absLeve)のパリティを示すパリティビットフラグ(例えば、par_lever_flagh)は、特定の順序又は組合せで、他の構文要素と一緒に1つのパスで、又は、別個のパスでコーディングされ得る。一実施例では、パリティビットフラグは、sig_coeff_flagとrem_abs_gt1_flagをコーディングするコーディングパスの後に別個のパスでコーディングされることができる。別の例では、パリティビットフラグは、rem_abs_gt2_flag又はx超過フラグ(たとえば、rem_abs_gtx_flag)をコーディングするパスをコーディングした後、別個のパスでコーディングされることができ、ここで、xは2、4、6又は8である。一実施例では、パリティビットフラグは、同じコーディングパスでrem_abs_gt2_flag又はx超過フラグと一緒にコーディングされることができる。一例では、パリティビットフラグは、同じコーディングパスでサイン情報と一緒にコーディングされることができる。
一実施形態では、TSモード及び/又はBDPCMモードの係数コーディングに対して、構文要素rem_abs_gt2_flagをコーディングする場合、rem_abs_gt2_flagをコーディングするための係数あたりのコンテキストコード化ビンの数は、コード化情報に依存し得る。コード化情報は、
非ゼロ係数の数(たとえば、現在CGのコード化されたsig_coeff_flagの数)、
先行してコード化されたCGの非ゼロ係数の数(たとえば、コード化されたsig_coeff_flagの数)、
現在ブロックがインター予測又はイントラ予測によって、コード化されたかどうか(whether)、
現在の係数ブロックサイズ、
係数ブロック幅、
係数ブロック高さ、及び
係数ブロックアスペクト比を
を含み得る。いくつかの例では、現在CGに係数が含まれる。
一例では、現在ブロックがイントラコーディングされている場合、rem_abs_gt2_flagをコーディングするための係数あたりのコンテキストコード化ビンの数は、現在ブロックがインターコーディング及び/又はIBCコード化されている場合のrem_abs_gt2_flagをコーディングするための係数あたりのコンテキストコード化ビンの数よりも多くなり得る。現在ブロックがインターコーディングされている場合のrem_abs_gt2_flagをコーディングするための係数あたりのコンテキストコード化されたビンの数の例示的な値は、3、4、5、及び6を含む。 現在ブロックがイントラコーディングされている場合のrem_abs_gt2_flagをコーディングするための係数あたりのコンテキストコード化されたビンの数の例示的な値は、5、6、7、8及び9を含む。
一実施形態では、TSモード及び/又はBDPCMモードの係数コーディングについて、CGあたりの構文要素のコンテキストコード化ビンの最大数又はCGあたりの構文要素のコンテキストコード化ビンの最大平均数は、コード化情報に依存する。コード化情報は、
非ゼロ係数の数(たとえば、現在CGのコード化されたsig_coeff_flagの数)、
先行してコード化されたCGの非ゼロ係数の数(たとえば、コード化されたsig_coeff_flagの数)、
現在ブロックがインター予測又はイントラ予測によって、コード化されたかどうか、
現在の係数ブロックサイズ、
係数ブロック幅、
係数ブロック高さ、及び
係数ブロックアスペクト比を
含む。コンテキストコード化ビンの最大数を設定することは、コーディング速度を加速するだけでなく、必要なメモリサイズとコンテキストモデルの維持にかかるコストも削減する。
一実施形態では、TSモード及び/又はBDPCMモードの係数コード化のために、absLeveのパリティを示すパリティビットフラグ(例えば、par_lever_fragy)はコード化されないことがある。代わりに、構文要素sig_coeff_flag、abs_gt1_flag、abs_gt2_flag、サイン情報、及びabs_remainderがコーディングされる。
一実施例では、構文要素sig_coef_flag及びabs_gt1_flagは、第1パスでコード化され得る。構文要素abs_gt2_flagは、第2パスでコード化され得る。構文要素abs_remainderは、第3パスでコード化され得る。必要に応じて、サイン情報は、第4パスでコード化され得る。
別の実施例では、構文要素sig_coeff_flag、abs_gt1_flag及びサイン情報は、第1パスでコード化され得る。構文要素abs_gt2_flagは、第2パスでコード化され得る。構文要素abs_remainderは、第4パスでコード化され得る。
一実施形態では、TSモード及び/又はBDPCMモードの係数コーディングのために、構文要素rem_abs_gt1_flag(例えば、absLeverが1より大きいことを示す)、及びrem_abs_gt2_flag(例えば、absLeveが3より大きいことを示す)に加えて、追加の構文要素rem_abs_gt3_flag(たとえば、absLevelが5より大きいことを示す)及び/又はrem_abs_gt4_flag(たとえば、absLevelが7より大きいことを示す)もシグナリングされ得る。 構文要素rem_abs_gt3_flag及び/又はrem_abs_gt4_flagは、エントロピーコーディングのために別個のコンテキストを使用し得る。
一実施形態では、TSモード及び/又はBDPCMモードの係数コーディングについて、各非ゼロ係数に対するサイン情報をコーディングする場合、コンテキストは、先行してコード化されたサインビット値に依存し得る。
一実施例では、図13Aは、サイン情報をコーディングするために使用されるコンテキストが、現在係数(Xとしてマークされている)の上側ブロック(1301)及び左側ブロック(1302)を含むことを示している。一実施例では、図1は、図13Bは、サイン情報をコーディングするために使用されるコンテキストが、現在係数(Xとしてマークされている)の複数の上側及び左側ブロック(1303、1304、1305、1306、及び1307)を含むことを示す。
一実施形態では、サイン情報をコーディングするために使用されるコンテキストが、先行してコード化されたNのサインビットに依存する。 Nの例示的な値には、1、2、3、及び4が含まれる。
一実施形態では、サイン情報をコーディングする代わりに、サイン残差がコード化され、サイン残差ビットは、現在サインビットが予測サインビット値に等しいかどうかを示す。一実施例では、予測サインビットは、先行してスキャンされたN個のサインビットを使用して導出される。 Nの例示的な値には、1、2、3、及び4が含まれる。別の例では、予測サインビットは、左側及び/又は上側の隣接するサインビット値を使用して導出される。
一実施形態では、TSモード及び/又はBDPCMモードの係数コーディングに対して、係数の大きさをコーディングする場合、1つ以上の一次レベル値が最初にシグナリングされ、
その後、これらの一次レベル値のうち各非ゼロ係数マイナス1の残差がシグナリングされる。一実施形態では、一次レベル値は、所与の閾値に制限される。一実施形態では、一次レベル値の数は、1、2、3、又は4などの所与の閾値に制限される。
一実施形態では、複数の一次レベル値がシグナリングされると、一次レベル値は昇順で配置され、
その後、各係数に対して、最小の一次レベル値から開始し、
現在係数が、現在一次レベル値よりも大きいレベル値を有するかどうかを示すフラグがシグナリングされる。一実施例では、現在係数が現在一次レベル値よりも大きくないレベル値を有する場合、現在のレベル値と先行する一次レベル値との間の差がシグナリングされる。
VII.例示的なデコーディングプロセス
図14は、本開示のいくつかの実施形態による、プロセス(1400)を概説するフローチャートを示す。方法(1400)が、いくつかのタイプの係数構文要素のエントロピーデコーディングにおいて、用いられることが可能である。様々な実施形態では、プロセス(1400)は、端末デバイス(210)、(220)、(230)及び(240)における処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路などの処理回路により実行されることができる。いくつかの実施形態では、プロセス(1400)は、ソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス(1400)を実行する。プロセスは(S1401)から始まり、(S1410)に進む。
(S1410)において、構文要素のビンのコード化されたビットを含むビットストリームが受信される。構文要素は、コード化された画像内の変換スキップブロックの領域の係数に対応し、第1フラグ及び第2フラグを含む。第1フラグは、係数のうちの1つの絶対係数レベルが第1閾値(例えば1)よりも大きいかどうかを示し、第2フラグは、絶対係数レベルのパリティを示す。たとえば、第1フラグは、現在係数の絶対値(たとえば、absLevel)が第1閾値よりも大きいことを示す、重要度構文要素(たとえば、sig_coeff_flag)であり得る。第2フラグは、absLevelのパリティを示すパリティ構文要素(par_level_flagなど)であり得る。変換スキップブロックは、変換が変換ブロックで実行されなかったことを示し得る。たとえば、現在ブロックがBDPCMでコード化されている場合、変換は変換ブロックで実行されない。
(S1420)において、第2のフラグは、別個のパスでデコードされる。パスは、
(1)他の構文要素がそのパスでデコードされず、
(2)絶対係数レベルが第2閾値よりも大きいかどうかを示す第3フラグが、そのパスでデコードされ、及び
(3)係数のうちの1つの係数レベルのサイン情報(sign information)を示す第4フラグは、そのパスでデコードされる、
のうちの少なくとも1つを満たす。いくつかの実施形態において、第2閾値は前記第1閾値より大きい。一実施例では、パリティ構文要素である第2フラグは、第1のフラグ及び第5フラグがデコードされた後、別個のパスでデコードされ得る。 第5フラグは、絶対係数レベルが第3閾値(例えば3)より大きいかどうかを示す。一実施例では、第3フラグが先行するパスでデコードされた後、第2フラグが別個のパスでデコードされる。一実施例では、第2フラグは、第3フラグ又は第4フラグと同じパスでデコードされる。プロセス(1400)は(S1499)に進み、(S1499)において、終了する。
図15は、本開示のいくつかの実施形態による、プロセス(1500)を概説するフローチャートを示す。方法(1500)が、幾つかのタイプの係数構文要素のエントロピーデコーディングに用いられることが可能である。様々な実施形態では、プロセス(1500)は、端末デバイス(210)、(220)、(230)及び(240)における処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路などの処理回路により実行されることができる。いくつかの実施形態では、プロセス(1500)は、ソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス(1500)を実行する。プロセスは(S1501)から始まり、(S1510)に進む。
(S1510)において、構文要素のビンのコード化されたビットを含むビットストリームが受信される。構文要素は、コード化された画像内の変換スキップブロックの領域の係数に対応し、第1フラグ及び第2フラグを含む。第1フラグは、係数のうちの1つの絶対係数レベルが第1閾値(例えば1)よりも大きいかどうかを示し、第2フラグは、係数のうちの1つの絶対係数レベルが第2閾値(例えば3)よりも大きいかどうかを示す。いくつかの実施形態において、第2閾値は第1閾値より大きい。たとえば、第1フラグは、現在係数の絶対値(たとえば、absLevel)が第1閾値よりも大きいことを示す、重要度構文要素(たとえば、sig_coeff_flag)であり得る。第2フラグは、それぞれの変換係数の絶対変換係数レベルが第2閾値より大きいかどうかを示す、2超過構文要素(例えば、rem_abs_gt2_flag)であり得る。変換スキップブロックは、変換が変換ブロックで実行されなかったことを示し得る。たとえば、現在ブロックがBDPCMでコード化されている場合、変換は変換ブロックで実行されない。
(S1520)において、コード化されたコンテキストである第2フラグのビンの数は、係数のコード化情報に基づいて決定される。係数のコード化情報は、
係数を含む現在係数グループ(CG)内の第1フラグの数、
先行するCG内の第1フラグの数、
変換スキップブロックに対応する現在ブロックがイントラコーディングされているか、又は、インターコーディングされているかどうか、
変換スキップブロックのサイズ、
変換スキップブロックの幅、
変換スキップブロックの高さ、又は
変換スキップブロックのアスペクト比
を含む。先行するCGは、スキャンされた隣接するCGであり得る。一実施例において、
現在ブロックがイントラコーディングされている場合の第2フラグのビンの数は、現在ブロックがインターコーディングされている第2フラグのビンの数より多い。
(S1530)において、コンテキストモデリングは実行され、第2フラグのビンの数ごとにコンテキストモデルを決定する。コンテキストコード化された、第2フラグのビンの数は、S1520で決定された数を超えないことができる。
(S1540)において、第2フラグのビンの数のコード化されたビットは、決定されたコンテキストモデルに基づいてデコードされる。変換スキップブロックの領域に対する第2フラグのビンの残りの総数のコード化されたビットは、EPモデル(すなわち、バイパスモデル)に基づいてデコードされ得る。復元されたビンに基づいて、係数の係数レベルを、再構成できる。プロセス(1500)は(S1599)に進み、(S1599)において、終了する。
図16は、本開示のいくつかの実施形態による、プロセス(1600)を概説するフローチャートを示す。方法(1600)が、いくつかのタイプの係数構文要素のエントロピーデコーディングに用いられることが可能である。様々な実施形態では、プロセス(1600)は、端末デバイス(210)、(220)、(230)及び(240)における処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路などの処理回路により実行されることができる。いくつかの実施形態では、プロセス(1600)は、ソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス(1100)を実行する。プロセスは(S1601)から始まり、(S1610)に進む。
(S1610)において、構文要素のビンのコード化されたビットを含むビットストリームが受信される。構文要素は、コード化された画像内の変換スキップブロックの係数グループ(CG)に含まれる係数に対応する。CGは、変換スキップブロック/係数ブロックにより分割され得、4x4の係数位置を含み得る。変換スキップブロックは、変換が変換ブロックで実行されなかったことを示し得る。たとえば、現在ブロックがBDPCMでコード化されている場合、変換は変換ブロックで実行されない。
(S1620)において、CGのコンテキストコード化ビンの最大数又はCGのコンテキストコード化ビンの最大平均数が、係数のコード化情報に基づいて決定される。係数のコード化情報は、
係数を含む現在係数グループ(CG)内の第1フラグの数、
先行するCGの第1フラグの数、
変換スキップブロックに対応する現在ブロックがイントラコーディングされているか、又は、インターコーディングされているかどうか、
変換スキップブロックのサイズ、
変換スキップブロックの幅、
変換スキップブロックの高さ、又は
変換スキップブロックのアスペクト比
を含む。先行するCGは、スキャンされた隣接するCGであり得る。
(S1630)において、コンテキストモデリングを実行して、CGの構文要素のビンの数ごとにコンテキストモデルを決定する。コンテキストコード化されているCGの構文要素のビンの数は、S1620において、決定されたCGのコンテキストコード化ビンの最大数又はCGのコンテキストコード化ビンの最大平均数を超えない。
(S1640)において、構文要素のビンの数のコード化されたビットは、決定されたコンテキストモデルに基づいてデコードされる。CG内の構文要素のビンの残りの総数のコード化されたビットは、EPモデル(すなわち、バイパスモデル)に基づいてデコードされ得る。 復元されたビンに基づいて、係数の係数レベルを、再構成できる。 プロセス(1600)は(S1699)に進み、(S1699)において、終了する。
VIII.コンピュータシステム
上記の技術は、コンピュータ可読命令を用いたコンピュータソフトウェアとして行うことができて、物理的に一つ以上のコンピュータ可読媒体に格納されることができる。例えば、図17は、開示された主題の特定の実施例を実施するのに適しているコンピュータシステム(1700)を示す。
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は類似のメカニズムの対象となり得る任意の適切な機械コード若しくはコンピュータ言語を使用してコーディングされることができ、直接実行されることができるか、又は、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)等による、実施、マイクロコード実行等を介して実行されることができる命令を含むコードを作成する。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、物品のインターネット等を含む種々のタイプのコンピュータ又はその構成要素上で実行されることができる。
コンピュータシステム(1700)のための図17に示されるコンポーネントは、例示的な性質のものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能性に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム(1700)の例示的な実施形態に示されるコンポーネントのいずれか1つ又は組み合わせに関連する依存性又は要件を有すると解釈されるべきではない
コンピュータシステム(1700)は、特定のヒューマンインタフェース入力デバイスを含み得る。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スイッピング、データグローブの動き)、音声入力(例えば、音声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介して、一人又は複数の人間ユーザによる入力に応答し得る。また、ヒューマンインタフェースデバイスは、オーディオ(例えば、音声、音楽、周囲の音声)、画像(例えば、走査画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体画像を含む3次元ビデオ)等の、人間による意識的入力に必ずしも直接関係しない特定の媒体を捕捉するために用いられ得る。
入力ヒューマンインタフェースデバイスは、キーボード(1701)、マウス(1702)、トラックパッド(1703)、タッチスクリーン(1710)、データグローブ(図示せず)、ジョイスティック(1705)、マイクロホン(1706)、スキャナ(1707)、カメラ(1708)の1つ以上を含み得る。
コンピュータ・システム(1700)はまた、特定のヒューマンインタフェース出力デバイスを含み得る。かかるヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通して、1人又は複数の人間ユーザの感覚を刺激し得る。かかるヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1710)、データグローブ(図示せず)、又はジョイスティック(1705)による触覚フィードバック)、入力デバイスとして働かない触覚フィードバックデバイスであることもでき)と、オーディオ出力デバイス(例えば、スピーカー(1709)、ヘッドフォン(図示せず)と、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1710)であり、各々が触覚フィードバック能力を有するか又は有さず、各々が触覚フィードバック能力を有するか又は有さず、そのうちのいくつかは、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)等の立体出力のような手段を介して2次元視出力又は3次元以上の出力を可能にし得るもの)と、プリンタ(図示せず)と、を含み得る。
コンピュータシステム(1700)はまた、人間がアクセス可能な記憶デバイスと、それらのアクセス可能な媒体とを含むことができ、媒体は、例えば、CD/DVD等の媒体(1721)によるCD/DVD ROM/RWを含む光学媒体ドライブ(1720)、USBメモリ(1722)、着脱可能ヘッドドライブ又はソリッドステートドライブ(1723)、テープ、フロッピーディスク(図示せず)等の従来の磁気媒体、セキュリティドングル等の特殊化されたROM/ASIC/PLDベースデバイス等である。
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解されたい。
コンピュータシステム(1700)はまた、1つ以上の通信ネットワークへのインタフェースを含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは、さらに、ローカル、広域、大都市、車両及び工業、リアルタイム、遅延耐性等であり得る。ネットワークの例としては、イーサネット、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上放送TV、CANBusを含む産業用及び車両用を含む。特定のネットワークは、特定の汎用データポート又はペリフェラルバス(1749)(たとえば、コンピュータシステムのUSBポート(1700)に接続された外部ネットワークインターフェイスアダプタを必要とする、他には、一般に、以下に説明するようにシステムバス(たとえば、PCコンピュータシステムへのイーサネットインターフェイス又はスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)に接続することによって、コンピュータシステム(1700)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1700)は、他のエンティティと通信できる。かかる通信は、単指向性通信、受信のみ(例えば、放送テレビ)通信、単指向性送信専用(例えば、特定のCANバスデバイスへのCANバス)通信、又は、例えばローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの、双方向通信でありえる。特定のプロトコル及びプロトコルスタックは、上述のように、それらのネットワーク及びネットワークインタフェースの各々で使用されることができる。
前述のヒューマンインタフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインタフェースは、コンピュータシステム(1700)のコア(1740)に接続されることができる。
コア(1740)は、1つ以上の中央処理デバイス(CPU)(1741)、グラフィックス処理デバイス(GPU)(1742)、フィールドプログラマブルゲートエリア(FPGA)(1743)の形態の特殊なプログラマブル処理デバイス、特定のタスクのためのハードウェアアクセラレータ(1744)等を含むことができる。これらのデバイスは、読出し専用メモリ(ROM) (1745)、ランダムアクセスメモリ(1746)、内部大容量記憶デバイス、例えば内部非ユーザアクセス可能ハードドライブ、SSD等(1747)と共に、システムバス(1748)を介して接続され得る。いくつかのコンピュータシステムでは、システムバス(1748)は、追加のCPU、GPU等による拡張を可能にするために、1つ又は複数の物理プラグの形態でアクセス可能である。周辺デバイスは、コアのシステムバス(1748)に直接接続するか、又は周辺バス(1749)を介して接続できる。周辺バスのアーキテクチャは、PCI、USB等を含む。
CPU(1741)、GPU(1742)、FPGA(1743)、及びアクセラレータ(1744)は、組み合わされて、上述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(1745)又はRAM(1746)に格納されることができる。移行データは、RAM(1746)に格納されることもできるが、永久データは例えば内部大容量記憶デバイス(1747)に格納されことができる。1つ以上のCPU(1741)、GPU(1742)、大容量記憶デバイス(1747)、ROM(1745)、RAM(1746)等と密接に関連付けることができるキャッシュメモリを使用することによって、メモリデバイスのいずれかへの高速記憶及び検索を可能にすることができる。
コンピュータ可読媒体は、各種のコンピュータ実施動作(computer-implemented operations)を実行するためにその上のコンピュータコードを有することができる。メディアおよびコンピュータコードは特別に設計されたそれらであることができて、本開示のために作成されることができる、または、それらはよく公知で、コンピュータソフトウェア技術の技術を有するそれらが利用できる種類でありえる。
一例として、限定するものではなく、アーキテクチャ(1700)、具体的にはコア(1740)を有するコンピュータシステムは、1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能性を提供できる。かかるコンピュータ可読媒体は、コア-内部大容量記憶デバイス(1747)又はROM(1745)等の一時的でない性質のコア(1740)の特定の記憶デバイスと同様に、上述のようにユーザがアクセス可能な大容量記憶デバイスに関連する媒体であってもよい。本開示の様々な実施形態を実装するソフトウェアは、かかるデバイスに記憶され、コア(1740)により実行され得る。コンピュータ読取可能媒体は、特定のニーズに応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(1740)及びその中の具体的にプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(1746)に記憶されたデータ構造を定義し、ソフトウェアにより定義されたプロセスにしたがって、かかるデータ構造を変更することを含む、本明細書に記載された特定のプロセス又は特定の部分を実行させることができる。付加的に又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ(1744)内に配線された、又は他の方法で具現化されたロジックの結果として、機能性を提供することができ、これは、本明細書に記載される特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、又はソフトウェアと共に動作できる。ソフトウェアへの言及は、論理を含み、また、必要に応じて、その逆も可能である。コンピュータ読取り可能媒体への参照は、実行のためのソフトウェアを記憶する(集積回路(IC)等の)回路、実行のためのロジックを具体化する回路、又は適切な場合にはその両方を含むことができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
付録A:略称
JEM:ジョイント探索モデル
VVC:広用途ビデオコーディング
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオコーディング
SEI:付加強化情報
VUI:ビデオユーザビリティ情報
GOP:画像グループ
TU:変換ユニット
PU:予測ユニット
CTU:コーディングトリーユニット
CTB:コーディングトリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号雑音比
CPU:中央処理装置
GPU:グラフィックスプロセッシングユニット
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクト・ディスク
DVD:デジタルビデオディスク
ROM:リードオンリーメモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバスシステムフォーモバイルコミュニケーション
LTE:ロングタームエヴォリューションコントローラ・エリア・ネットワーク・バス
USB:ユニバーサルシリアル・バス
PCI:ペリフェラルコンポーネントインターコネクト
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:コーディングユニット
DPCM:差分パルスコード変調
BDPCM:ブロック差分パルスコード変調
SCC:スクリーンコンテンツコーディング
Bs:境界強度
本開示はいくつかの例示的な実施形態を説明しているが、本発明の範囲内に入る、変更、置換、及び様々な均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本発明の原理を実施し、したがってその概念及び範囲内にある多数のシステム及び方法を創造できることが理解されよう。

Claims (15)

  1. ビデオデコーダが実行するビデオデコーディングの方法であって、
    構文要素のビンを含むビットストリームを受信するステップであって、前記構文要素は、コード化された画像内の変換スキップブロックの領域の係数に対応し、前記構文要素は、前記係数のうちの1つの絶対係数レベルが第1閾値よりも大きいかどうかを示す第1フラグと、前記絶対係数レベルのパリティを示す第2フラグと、を含む、ステップと、
    前記絶対係数レベルが3より大きいかどうかを示す第5フラグを先行するパスでデコードするステップの後に、他の構文要素をデコードすることなく、
    パスで前記第2フラグをデコードするステップであって、
    前記パスは、
    (1)前記絶対係数レベルが第2閾値よりも大きいかどうかを示す第3フラグが、前記パスでデコードされ、前記先行するパスと前記パスは異なり、及び
    (2)前記係数のうちの1つの前記絶対係数レベルのサイン情報を示す第4フラグが、前記パスでデコードされ、前記第2閾値は前記第1閾値よりも大きい、
    のうちの少なくとも1つを満たす、ステップと、
    を含む方法。
  2. 前記第1閾値は1であり
    請求項1記載の方法。
  3. 前記変換スキップブロックに対応する現在ブロックは、ブロック差分パルスコード変調モードでコード化される、
    請求項1又は2記載の方法。
  4. 前記デコードするステップは、
    前記第3フラグを先行するパスでデコードするステップの後に、他の構文要素をデコードすることなく、前記パスで前記第2フラグをデコードするステップを含む、
    請求項1乃至いずれか1項記載の方法。
  5. 前記デコードするステップは、
    前記第3フラグと同じパスで前記第2フラグをデコードするステップを含む、
    請求項1乃至いずれか1項記載の方法。
  6. 前記デコードするステップは、
    前記第4フラグと同じパスで前記第2フラグをデコードするステップを含む、
    請求項1乃至いずれか1項記載の方法。
  7. ビデオデコーダが実行するビデオデコーディングの方法であって、
    構文要素のビンを含むビットストリームを受信するステップであって、前記構文要素は、コード化された画像内の変換スキップブロックの領域の係数に対応し、前記構文要素は、前記係数のうちの1つの絶対係数レベルが第1閾値よりも大きいかどうかを示す第1フラグと、前記係数のうちの1つの前記絶対係数レベルが第2閾値よりも大きいかどうかを示す第2フラグとを含み、前記第2閾値は前記第1閾値より大きい、ステップと、
    前記係数のコード化された情報に基づいてコンテキストコード化された前記第2フラグのビンの数を決定するステップと、
    コンテキストモデリングを実行して、前記第2フラグのビンの数ごとにコンテキストモデルを決定する、ステップと、
    決定された前記コンテキストモデルに基づいて、前記第2フラグのビンの数をデコードするステップと、
    を含み、
    前記係数の前記コード化された情報は、
    前記係数を含む現在係数グループ(CG)内の前記第1フラグの数、
    先行するCGの前記第1フラグの数、
    変換スキップブロックに対応する現在ブロックがイントラコーディングされているか、又は、インターコーディングされているかどうか、
    前記変換スキップブロックのサイズ、
    前記変換スキップブロックの幅、
    前記変換スキップブロックの高さ、又は
    前記変換スキップブロックのアスペクト比
    を含む方法。
  8. 前記第1閾値は1であり、前記第2閾値は3である、
    請求項記載の方法。
  9. 前記現在ブロックがイントラコーディングされている場合、前記第2フラグのビンの数は、前記現在ブロックがインターコーディングされている場合の前記第2フラグの前記ビンの数より多い、
    請求項記載の方法。
  10. ビデオデコーダで実行されるビデオデコーディングの方法であって、
    構文要素のビンを含むビットストリームを受信するステップであって、前記構文要素は、コード化された画像内の変換スキップブロックの係数グループ(CG)に含まれる係数に対応するステップと、
    前記係数基づいて、前記CGのコンテキストコード化されたビンの最大平均数又は前記CGのコンテキストコード化ビンの最大数を決定するステップと、
    コンテキストモデリングを実行して、前記CGの構文要素の複数の前記ビンごとにコンテキストモデルを決定する、ステップであって、コンテキストコード化されている前記CGの構文要素の前記ビンの数は、前記CGのコンテキストコード化ビンの最大数又は前記CGのコンテキストコード化ビンの最大平均数を超えない、ステップと、
    決定された前記コンテキストモデルに基づいて、構文要素の前記ビンの数をデコードするステップと、
    を含む方法。
  11. 前記係数の前記コード化された情報は、
    前記係数を含む現在係数グループ(CG)内の第1フラグの数、
    先行するCG内の前記第1フラグの数、
    変換スキップブロックに対応する現在ブロックがイントラコーディングされているか、又は、インターコーディングされているかどうか、
    変換スキップブロックのサイズ、
    変換スキップブロックの幅、
    変換スキップブロックの高さ、又は
    変換スキップブロックのアスペクト比
    を含む、請求項10記載の方法。
  12. ビデオデコーディングの装置であって、
    処理回路を備え、前記処理回路は、請求項1乃至11いずれか1項記載の方法を実行するように構成されている、
    装置。
  13. ビデオエンコーダが実行するビデオエンコーディングの方法であって、
    構文要素のビンを含むビットストリームを送信するステップであって、前記構文要素は、コード化された画像内の変換スキップブロックの領域の係数に対応し、前記構文要素は、前記係数のうちの1つの絶対係数レベルが第1閾値よりも大きいかどうかを示す第1フラグと、前記絶対係数レベルのパリティを示す第2フラグと、を含む、ステップと、
    前記絶対係数レベルが3より大きいかどうかを示す第5フラグを先行するパスでデコードするステップの後に、他の構文要素をデコードすることなく、
    パスで前記第2フラグをデコードするステップであって、
    前記パスは、
    (1)前記絶対係数レベルが第2閾値よりも大きいかどうかを示す第3フラグが、前記パスでデコードされ、前記先行するパスと前記パスは異なり、及び
    (2)前記係数のうちの1つの前記絶対係数レベルのサイン情報を示す第4フラグが、前記パスでデコードされ、前記第2閾値は前記第1閾値よりも大きい、
    のうちの少なくとも1つを満たす、ステップと、
    を含む方法。
  14. ビデオエンコーダが実行するビデオエンコーディングの方法であって、
    構文要素のビンを含むビットストリームを送信するステップであって、前記構文要素は、コード化された画像内の変換スキップブロックの領域の係数に対応し、前記構文要素は、前記係数のうちの1つの絶対係数レベルが第1閾値よりも大きいかどうかを示す第1フラグと、前記係数のうちの1つの前記絶対係数レベルが第2閾値よりも大きいかどうかを示す第2フラグとを含み、前記第2閾値は前記第1閾値より大きい、ステップと、
    前記係数のコード化された情報に基づいてコンテキストコード化された前記第2フラグのビンの数を決定するステップと、
    コンテキストモデリングを実行して、前記第2フラグのビンの数ごとにコンテキストモデルを決定する、ステップと、
    を含み、
    前記係数の前記コード化された情報は、
    前記係数を含む現在係数グループ(CG)内の前記第1フラグの数、
    先行するCGの前記第1フラグの数、
    変換スキップブロックに対応する現在ブロックがイントラコーディングされているか、又は、インターコーディングされているかどうか、
    前記変換スキップブロックのサイズ、
    前記変換スキップブロックの幅、
    前記変換スキップブロックの高さ、又は
    前記変換スキップブロックのアスペクト比
    を含む方法。
  15. ビデオエンコーダで実行されるビデオエンコーディングの方法であって、
    構文要素のビンを含むビットストリームを送信するステップであって、前記構文要素は、コード化された画像内の変換スキップブロックの係数グループ(CG)に含まれる係数に対応するステップと、
    前記係数基づいて、前記CGのコンテキストコード化されたビンの最大平均数又は前記CGのコンテキストコード化ビンの最大数を決定するステップと、
    コンテキストモデリングを実行して、前記CGの構文要素の複数の前記ビンごとにコンテキストモデルを決定する、ステップであって、コンテキストコード化されている前記CGの構文要素の前記ビンの数は、前記CGのコンテキストコード化ビンの最大数又は前記CGのコンテキストコード化ビンの最大平均数を超えない、ステップと、
    を含む方法。
JP2021546711A 2019-02-24 2020-02-24 変換スキップモードとブロック差分パルスコード変調の改善された残差コーディング Active JP7257535B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962809677P 2019-02-24 2019-02-24
US62/809,677 2019-02-24
US16/799,358 2020-02-24
US16/799,358 US11044492B2 (en) 2019-02-24 2020-02-24 Residual coding for transform skip mode and block differential pulse-code modulation
PCT/US2020/019508 WO2020172668A1 (en) 2019-02-24 2020-02-24 Improved residual coding for transform skip mode and block differential pulse-code modulation

Publications (2)

Publication Number Publication Date
JP2022520944A JP2022520944A (ja) 2022-04-04
JP7257535B2 true JP7257535B2 (ja) 2023-04-13

Family

ID=72142006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021546711A Active JP7257535B2 (ja) 2019-02-24 2020-02-24 変換スキップモードとブロック差分パルスコード変調の改善された残差コーディング

Country Status (5)

Country Link
US (1) US11044492B2 (ja)
EP (1) EP3769533A4 (ja)
JP (1) JP7257535B2 (ja)
CN (1) CN113330749B (ja)
WO (1) WO2020172668A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886915A (zh) * 2018-10-05 2023-10-13 Lg电子株式会社 图像编码/解码方法、存储介质及数据传输方法
US11070812B2 (en) * 2019-03-12 2021-07-20 Qualcomm Incorporated Coefficient domain block differential pulse-code modulation in video coding
WO2020219737A1 (en) * 2019-04-24 2020-10-29 Bytedance Inc. Constraints on quantized residual differential pulse code modulation representation of coded video
CN117857783A (zh) * 2019-05-01 2024-04-09 字节跳动有限公司 使用量化残差差分脉冲码调制编解码的帧内编解码视频
JP7288083B2 (ja) 2019-05-02 2023-06-06 バイトダンス インコーポレイテッド 符号化ツリー構造タイプに基づく符号化モード
CN113906758A (zh) 2019-05-31 2022-01-07 字节跳动有限公司 调色板模式与帧内块复制预测
CN114051728A (zh) * 2019-06-18 2022-02-15 Lg 电子株式会社 基于块大小执行bdpcm的图像解码方法及其设备
KR20220021442A (ko) * 2019-06-18 2022-02-22 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
JP7328373B2 (ja) * 2019-06-28 2023-08-16 バイトダンス インコーポレイテッド スクリーンコンテンツ符号化におけるクロマイントラモードの導出
KR102612765B1 (ko) 2019-06-28 2023-12-13 바이트댄스 아이엔씨 변환 스킵 모드에서 양자화 파라미터를 수정하는 기술
CN117041573A (zh) * 2019-07-09 2023-11-10 Lg电子株式会社 编码/解码设备及用于发送数据的设备
US11388443B2 (en) * 2019-09-18 2022-07-12 Qualcomm Incorporated Harmonization of deblocking conditions in video coding
CN115943628A (zh) * 2020-04-13 2023-04-07 Op方案有限责任公司 用于组合的无损和有损编码的方法和***
CN114286095B (zh) * 2020-09-27 2023-02-07 腾讯科技(深圳)有限公司 视频解码方法、装置及设备
US11677971B2 (en) * 2020-10-01 2023-06-13 Tencent America LLC Method and apparatus for video coding
CN112689145B (zh) * 2020-12-07 2024-02-13 中南大学 一种vvc帧内编码的快速帧内模式选择方法
WO2023146164A1 (ko) * 2022-01-27 2023-08-03 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
WO2023194193A1 (en) * 2022-04-08 2023-10-12 Interdigital Ce Patent Holdings, Sas Sign and direction prediction in transform skip and bdpcm

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015507424A (ja) 2012-01-17 2015-03-05 クゥアルコム・インコーポレイテッドQualcomm Incorporated Cabac係数レベルコーディングのためのスループット改善

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8014450B2 (en) * 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US20130003858A1 (en) * 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
EP2866443A4 (en) * 2012-06-22 2016-06-15 Sharp Kk ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES
US9591315B2 (en) * 2012-10-01 2017-03-07 Telefonaktiebolaget Lm Ericsson (Publ) Coding and decoding of transform skipped blocks
US11323747B2 (en) * 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
EP3484149B1 (en) * 2015-06-23 2020-11-11 MediaTek Singapore Pte Ltd. Method and apparatus for transform coefficient coding of non-square blocks
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015507424A (ja) 2012-01-17 2015-03-05 クゥアルコム・インコーポレイテッドQualcomm Incorporated Cabac係数レベルコーディングのためのスループット改善

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
B. Bross, et al.,Non-CE8: Unified Transform Type Signalling and Residual Coding for Transform Skip, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0464-v3,2019年01月13日
Heiko Schwarz, et al.,CE7: Summary report on quantization and coefficient coding,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0027-v1,2019年01月07日
Mohsen Abdoli, et al.,CE8: BDPCM with horizontal/vertical predictor and independently decodable areas (test 8.3.1b),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0057,2018年12月30日
Xiaozhong Xu, et al.,Description of Core Experiment 8 (CE8): Screen Content Coding Tools,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M1028-v2,2019年02月09日

Also Published As

Publication number Publication date
CN113330749A (zh) 2021-08-31
WO2020172668A1 (en) 2020-08-27
EP3769533A1 (en) 2021-01-27
JP2022520944A (ja) 2022-04-04
US11044492B2 (en) 2021-06-22
US20200275121A1 (en) 2020-08-27
CN113330749B (zh) 2024-05-10
EP3769533A4 (en) 2022-04-20

Similar Documents

Publication Publication Date Title
JP7257535B2 (ja) 変換スキップモードとブロック差分パルスコード変調の改善された残差コーディング
JP7159423B2 (ja) 映像復号化のための方法、装置及びコンピュータ・プログラム
JP7436715B2 (ja) ビデオコーディングの方法および装置、ならびにコンピュータプログラム
JP7357684B2 (ja) ビデオ復号のための方法、装置、およびコンピュータプログラム
JP7254187B2 (ja) ビデオ復号用の方法、装置およびプログラム
JP2023062099A (ja) ビデオ復号化のための方法、機器、非一時的なコンピュータ可読媒体、及びコンピュータプログラム
JP7185047B2 (ja) イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
JP2022540536A (ja) ビデオコーディング方法並びに装置及びコンピュータプログラム
JP7221390B2 (ja) ビデオ復号及び符号化の方法、装置並びにプログラム
JP7357678B2 (ja) ビデオ復号のための方法、装置、およびプログラム
JP7419506B2 (ja) 映像コーディングのための方法及び装置
JP7354273B2 (ja) ビデオ符号化方法、装置及びコンピュータプログラム
JP2023527662A (ja) デコーダ側イントラモード導出
JP2023522354A (ja) デカップリング変換パーティション分割
US10542260B1 (en) Method and apparatus for video coding
JP7383038B2 (ja) ビデオコーディングのための方法、装置及びプログラム
RU2801430C1 (ru) Способ и устройство для режима кодирования на основе палитры под структурой локального двойственного дерева
JP7338053B2 (ja) ビデオコード化のための方法及び装置
KR102679144B1 (ko) 인트라 예측 모드와 블록 차분 펄스-코드 변조 모드 사이의 상호작용을 위한 방법 및 장치
JP2023525668A (ja) 多重変換選択を用いた適応スキャン
JP2023523172A (ja) ビデオコーディングの並列処理の改良

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230403

R150 Certificate of patent or registration of utility model

Ref document number: 7257535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150