JP2022538968A - ビデオデータの変換スキップ残差符号化 - Google Patents

ビデオデータの変換スキップ残差符号化 Download PDF

Info

Publication number
JP2022538968A
JP2022538968A JP2021571049A JP2021571049A JP2022538968A JP 2022538968 A JP2022538968 A JP 2022538968A JP 2021571049 A JP2021571049 A JP 2021571049A JP 2021571049 A JP2021571049 A JP 2021571049A JP 2022538968 A JP2022538968 A JP 2022538968A
Authority
JP
Japan
Prior art keywords
flag
pass
transform coefficients
flags
scanning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021571049A
Other languages
English (en)
Other versions
JPWO2020263442A5 (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 JP2022538968A publication Critical patent/JP2022538968A/ja
Publication of JPWO2020263442A5 publication Critical patent/JPWO2020263442A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/645Methods 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 by grouping of coefficients into blocks after the transform
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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)

Abstract

本開示は、変換スキップ残差ビデオデータ符号化及び復号のためのシステム及び方法を提供する。1つの例示的な方法は、ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することであって、スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス符号化することであって、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す、ことを含む、ことを含む。

Description

関連出願の相互参照
[0001] 本開示は、2019年6月24日に出願された米国仮特許出願第62/865,916号、2019年9月18日に出願された同第62/902,115号、及び2019年12月24日に出願された同第62/953,460号の優先権及び優先権の利益を主張するものである。上記3つの仮出願は、その全体が参照により本明細書に組み込まれる。
技術分野
[0002] 本開示は、一般に、ビデオデータ処理に関し、より詳細には、ビデオデータの変換スキップ残差符号化に関する。
背景
[0003] ビデオの圧縮及び解凍の業界では、ビデオ符号化の新しい標準が開発されている。例えば、ITU-Tビデオコーディングエキスパートグループ(Video Coding Expert Group、「VCEG」)と、ISO/IECムービングピクチャエキスパートグループ(Moving Picture Expert Group、「MPEG」)とによるジョイントビデオエキスパートチーム(Joint Video Experts Team、「JVET」)が、バーサタイルビデオコーディング(Versatile Video Coding、「VVC」)標準を現在開発している。VVC標準は、その前身である高効率ビデオコーディング(High Efficiency Video Coding、「HEVC/H.265」)標準の圧縮効率を倍増することを目的としている。換言すれば、VVCの目標は、HEVC/H.265と同じ主観的な品質を半分の帯域幅で実現することである。
開示の概要
[0004] 本開示の実施形態は、変換スキップ残差ビデオデータ符号化のための方法及びシステムを提供する。
[0005] 1つの例示的な方法は、ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス符号化することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す。
[0006] 別の例示的な方法は、ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス復号することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す。
[0007] 1つの例示的なシステムは、一組の命令を格納するメモリと、プロセッサとを備え、プロセッサは、一組の命令を実行して、ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することをシステムに行わせるように構成され、スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス符号化することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す。
[0008] 別の例示的なシステムは、一組の命令を格納するメモリと、プロセッサとを備え、プロセッサは、一組の命令を実行して、ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することをシステムに行わせるように構成され、スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス復号することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す。
図面の簡単な説明
[0009] 以下の詳細な説明及び添付の図面において、本開示の実施形態及び様々な態様を説明する。各図に示す様々な特徴は、必ずしも原寸に比例して描かれていない。
[0010]ハイブリッドビデオ符号化システムの例示的なエンコーダのブロック図を示す。 [0011]ハイブリッドビデオ符号化システムの例示的なデコーダのブロック図を示す。 [0012]変換符号化のシンタックスを含む例示的な擬似コードを示す。 [0013]変換スキップ残差符号化のシンタックスを含む例示的な擬似コードを示す。 [0014]本開示のいくつかの実施形態による、符号化パスの数を3に減らした、変換スキップ残差符号化の例示的な方法を示す。 [0015]本開示のいくつかの実施形態による、図5に示す方法のシンタックスを含む例示的な擬似コードを示す。 [0016]本開示のいくつかの実施形態による、符号化パスの数を3に減らした、変換スキップ残差符号化の別の例示的な方法を示す。 [0017]本開示のいくつかの実施形態による、図7に示す方法のシンタックスを含む例示的な擬似コードを示す。 [0018]本開示のいくつかの実施形態による、8×8の変換スキップブロックの例示的な逆方向スキャンを示す。 [0019]本開示のいくつかの実施形態による、反転される前の8×8のブロックを示す。 [0020]本開示のいくつかの実施形態による、図10Aの8×8のブロックが反転された後の結果として得られるブロックを示す。 [0021]本開示のいくつかの実施形態による、例示的なマルチパス符号化を示す。 [0022]本開示のいくつかの実施形態による、レベルの絶対値の例示的なシングルパス符号化方法を示す。 [0023]本開示のいくつかの実施形態による、ライスパラメータの例示的なルックアップテーブルを示す。 [0024]本開示のいくつかの実施形態による、シングルパスバイパス符号化と組み合わされた、符号化パスの数を3に減らした、変換スキップ残差符号化の例示的な方法を示す。 [0025]本開示のいくつかの実施形態による、図14の方法と組み合わされた、バイパス符号化のシンタックスを含む例示的な擬似コードを示す。 [0026]本開示のいくつかの実施形態による、第1のパスがコンテキスト符号化に対応し、第2のパスがゴロム・ライス符号化に対応する、変換スキップ残差符号化の例示的な方法を示す。 [0027]本開示のいくつかの実施形態による、図16の方法のバイパス符号化のシンタックスを含む例示的な擬似コードを示す。 [0028]本開示のいくつかの実施形態による、最小バイパス符号化値が0に等しい場合のライスパラメータの例示的なルックアップテーブルを示す。
詳細な説明
[0029] ここで、例示的な実施形態を詳細に参照し、例示的な実施形態の例を添付の図面に示す。以下の説明は添付の図面を参照しており、添付の図面においては、別段の記載がない限り、異なる図面で同じ番号がある場合、この番号は同じ又は類似の要素を表している。例示的な実施形態の以下の説明に記載されている実装形態は、本発明と一致するすべての実装形態を表しているわけではない。そうではなく、これら実装形態は、添付の特許請求の範囲に記載されている本発明に関連する態様と一致する装置及び方法の例に過ぎない。以下に、本開示の特定の態様をより詳細に説明する。本明細書に記載されている用語及び定義が、参照により組み込まれている用語及び/又は定義と矛盾する場合には、本明細書の記載が優先される。
[0030] ビデオは、視覚情報を格納するために時系列に配置された一組の静止画像(又は「フレーム」)である。これらの画像を時系列でキャプチャ及び格納するためには、ビデオキャプチャデバイス(例えば、カメラ)を使用することができ、そのような画像を時系列で表示するためには、ビデオ再生デバイス(例えば、テレビ、コンピュータ、スマートフォン、タブレットコンピュータ、ビデオプレーヤ、又は表示機能を備えた任意のエンドユーザ端末)を使用することができる。また、いくつかの用途では、ビデオキャプチャデバイスは、調査、会議、又は生放送などのために、キャプチャしたビデオをビデオ再生デバイス(例えば、モニタを備えたコンピュータ)にリアルタイムで送信することができる。
[0031] このような用途で必要とされるストレージ空間及び伝送帯域幅を減らすために、ビデオを圧縮することができる。例えば、ビデオは、格納及び送信の前に圧縮することができ、表示の前に解凍することができる。圧縮及び解凍は、プロセッサ(例えば、汎用コンピュータのプロセッサ)によって実行されるソフトウェア又は専用ハードウェアによって実施することができる。圧縮のためのモジュールは一般に「エンコーダ」と呼ばれ、解凍のためのモジュールは一般に「デコーダ」と呼ばれる。エンコーダ及びデコーダは、「コーデック」と総称され得る。エンコーダ及びデコーダは、様々な適切なハードウェア、ソフトウェア、又はそれらの組み合わせのいずれかとして実装することができる。例えば、エンコーダ及びデコーダのハードウェア実装形態としては、1つ又は複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散ロジック、又はそれらの任意の組み合わせなどの回路が挙げられる。エンコーダ及びデコーダのソフトウェア実装形態としては、プログラムコード、コンピュータ実行可能命令、ファームウェア、又はコンピュータ可読媒体に固定された任意の適切なコンピュータ実装アルゴリズム若しくはプロセスが挙げられる。ビデオの圧縮及び解凍は、MPEG-1、MPEG-2、MPEG-4、又はH.26xシリーズなどの様々なアルゴリズム又は標準によって実装することができる。いくつかの用途では、コーデックは、第1の符号化標準からのビデオを解凍し、第2の符号化標準を使用して、解凍されたビデオを再圧縮することができ、この場合、コーデックは「トランスコーダ」と呼ばれ得る。
[0032] ビデオ符号化プロセスは、画像を再構成するために使用され得る有用な情報を識別して保持することができる。ビデオ符号化プロセスで無視された情報を完全に再構成できない場合、符号化プロセスは「非可逆」と呼ばれ得る。それ以外の場合、符号化プロセスは「可逆」と呼ばれ得る。ほとんどの符号化プロセスは非可逆であり、このことは、必要なストレージ空間及び伝送帯域幅を減らすこととのトレードオフである。
[0033] 多くの場合、符号化される画像(「対象の画像」と呼ばれる)の有用な情報は、参照画像(例えば、以前に符号化又は再構成された画像)に対する変化を含み得る。このような変化としては、ピクセルの位置の変化、輝度の変化、又は色の変化が挙げられ、その中でも位置の変化が主に関係する。物体を表す一群のピクセルの位置の変化は、参照画像と対象の画像との間の物体の動きを反映し得る。
[0034] HEVC/H.265と同じ主観的な品質を半分の帯域幅を用いて実現するために、JVETは、ジョイントエクスプロレーションモデル(joint exploration model、「JEM」)参照ソフトウェアを使用してHEVCを超える技術を開発してきた。符号化技術がJEMに組み込まれたため、JEMはHEVCよりも大幅に高い符号化パフォーマンスを実現した。VCEG及びMPEGもまた、HEVCを超える次世代ビデオ圧縮標準の開発を正式に開始した。
[0035] VVC標準は、より優れた圧縮パフォーマンスを提供する多くの符号化技術を含めることを続けている。VVCは、HEVC、H.264/AVC、MPEG2、H.263などの最新のビデオ圧縮標準で使用されてきたものと同じハイブリッドビデオ符号化システムに基づいている。図1は、ハイブリッドビデオ符号化システムの例示的なエンコーダのブロック図を示す。図1に示すように、ビデオエンコーダ200は、ビデオブロック、又はビデオブロックのパーティション若しくはサブパーティションを含む、ビデオフレーム内のブロックのイントラ符号化又はインター符号化を実行し得る。イントラ符号化は、所与のビデオフレーム内のビデオにおける空間的冗長性を低減又は除去するために空間的予測に依拠し得る。インター符号化は、ビデオシーケンスの隣接するフレーム内のビデオにおける時間的冗長性を低減又は除去するために時間的予測に依拠し得る。イントラモードとは、いくつかの空間ベースの圧縮モードを指し得る。インターモード(片方向予測又は双方向予測など)は、いくつかの時間ベースの圧縮モードを指し得る。
[0036] 図1を参照すると、入力ビデオ信号202が、ブロックごとに処理され得る。例えば、ビデオブロックユニットは、16×16のピクセルブロック(例えば、マクロブロック(MB))であり得る。ビデオブロックユニットのサイズは、使用する符号化技法、並びに必要な精度及び効率に応じて異なり得る。HEVCでは、拡張ブロックサイズ(例えば、符号化ツリーユニット(CTU))を使用して、例えば1080p以上の解像度のビデオ信号を圧縮することができる。HEVCでは、CTUは、最大64×64のルーマサンプル、対応するクロマサンプル、及び関連するシンタックス要素を含み得る。VVCでは、CTUのサイズは更に増えて、128×128のルーマサンプル、対応するクロマサンプル、及び関連するシンタックス要素を含み得る。CTUは、例えば、四分木、二分木、又は三分木を使用して、符号化ユニット(CU)に更に分割され得る。CUは、別個の予測方法が適用され得る予測ユニット(PU)に更に分割され得る。各入力ビデオブロックは、空間的予測ユニット260又は時間的予測ユニット262を使用することによって処理され得る。
[0037] 空間的予測ユニット260は、対象のブロックを含む同じ画像/スライスに関する情報を用いて、対象のブロック/CUに対して空間的予測(例えば、イントラ予測)を実行する。空間的予測は、同じビデオ画像フレーム/スライス内の既に符号化された隣接ブロックからのピクセルを使用して、対象のビデオブロックを予測し得る。空間的予測は、ビデオ信号に固有の空間的冗長性を低減し得る。
[0038] 時間的予測ユニット262は、対象のブロックを含む画像/スライスとは異なる画像/スライスからの情報を用いて、対象のブロックに対して時間的予測(例えば、インター予測)を実行する。ビデオブロックの時間的予測は、1つ又は複数の動きベクトルによって信号化され得る。片方向時間的予測では、対象のブロックの予測信号を生成するために、1つの参照画像を示す動きベクトルは1つしか使用されない。一方、双方向時間的予測では、それぞれの参照画像をそれぞれ示す2つの動きベクトルが、対象のブロックの予測信号を生成するために使用され得る。動きベクトルは、対象のブロックと参照フレーム内の1つ又は複数の関連するブロックとの間の動きの量及び方向を示し得る。複数の参照画像がサポートされる場合、1つ又は複数の参照画像インデックスがビデオブロックに送信され得る。1つ又は複数の参照画像インデックスは、時間的予測信号が参照画像ストア又は復号された画像バッファ(DPB)264内のどの参照画像から到来し得るかを識別するために使用され得る。
[0039] エンコーダのモード決定及びエンコーダ制御ユニット280は、例えば、レート歪み最適化に基づいて予測モードを選択し得る。決定された予測モードに基づいて、予測ブロックが取得され得る。予測ブロックは、加算器216において、対象のビデオブロックから差し引かれ得る。予測残差は、変換ユニット204によって変換され、量子化ユニット206によって量子化され得る。量子化された残差係数は、逆量子化ユニット210において逆量子化され、逆変換ユニット212において逆変換されて、再構成された残差を形成し得る。再構成された残差は、加算器226において予測ブロックに追加されて、再構成されたビデオブロックを形成し得る。ループフィルタリングの前の再構築されたビデオブロックは、イントラ予測のための参照サンプルを提供するために使用され得る。
[0040] 再構成されたビデオブロックは、ループフィルタ266においてループフィルタリングを通り得る。例えば、デブロッキングフィルタ、サンプルアダプティブオフセット(SAO)、及び適応ループフィルタ(ALF)などのループフィルタリングが適用され得る。ループフィルタリングの後の再構成されたブロックは、参照画像ストア264に格納されてよく、他のビデオブロックを符号化するためのインター予測参照サンプルを提供するために使用され得る。出力ビデオビットストリーム220を形成するために、符号化モード(例えば、インター又はイントラ)、予測モード情報、動き情報、及び量子化された残差係数がエントロピー符号化ユニット208に送信されて、ビットレートを更に減らした後に、データが圧縮され、パックされてビットストリーム220を形成し得る。
[0041] 図2は、ハイブリッドビデオ符号化システムの例示的なデコーダのブロック図を示す。図2に示すように、ビデオビットストリーム302は、エントロピー復号ユニット308においてアンパック又はエントロピー復号され得る。符号化モード情報は、空間的予測ユニット360を選択するか時間的予測ユニット362を選択するかを判定するために使用され得る。予測モード情報は、予測ブロックを生成するために対応する予測ユニットに送信され得る。例えば、動き補償予測は、時間的予測ユニット362によって適用されて、時間的予測ブロックを形成し得る。
[0042] 残差係数は、再構成された残差を取得するために逆量子化ユニット310及び逆変換ユニット312に送信され得る。予測ブロックと再構成された残差とは、326において一緒に加算されて、ループフィルタリングの前の再構成されたブロックを形成し得る。次いで、再構成されたブロックは、ループフィルタ366においてループフィルタリングを通り得る。例えば、デブロッキングフィルタ、SAO、及びALFなどのループフィルタリングが適用され得る。次いで、ループフィルタリングの後の再構成されたブロックは、参照画像ストア364に格納され得る。参照画像ストア364内の再構成されたデータは、復号されたビデオ320を取得するために使用され得る、又は将来のビデオブロックを予測するために使用され得る。復号されたビデオ320は、システム100(図1)において説明されるようなディスプレイデバイス146などのディスプレイデバイス上に表示され得る。
[0043] VVC(例えば、VVC5)では、ブロックは変換係数のM行N列の配列であり得る。変換係数は、変換において特定の1次元又は2次元の周波数インデックスに関連付けられる、周波数領域にあると見なされるスカラー量であり得る。変換係数レベルは、配列TransCoeffLevel[x0][y0][cIdx][xC][yC]によって表され得る。配列インデックスx0、y0は、画像の左上のルーマサンプルに対する、考慮される変換ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定し得る。配列インデックスcIdxは、色成分のインジケータを指定し得る。配列インデックスxC及びyCは、対象の変換ブロック内の変換係数ロケーション(xC,yC)を指定し得る。
[0044] VVC(例えば、VVC5)では、符号化ブロックの変換係数は、重複しない係数グループ(又はサブブロック)を使用して符号化される。各サブブロックについて、通常の(又はコンテキスト)符号化されたビンとバイパス符号化されたビンとが符号化順に分離される。例えば、最初にサブブロックのすべての通常の符号化されたビンが送信され、その後、バイパス符号化されたビンが送信される。サブブロックの変換係数レベルは、スキャン位置を3回パスする間に符号化される。変換係数レベルは、変換係数の値であり得る。コンテキスト符号化の場合、各ビンは、コンテキストによって選択される確率モデルを有し得る。コンテキストは、以前に符号化されたシンタックス要素を指し得る。バイパス符号化の場合、特定のビンが、符号化効率の損失がほとんどない状態で符号化プロセスを高速化するために選択され得る。バイパス符号化では、ビンは、設定された確率(例えば、0.5に等しい確率)で符号化され得る。
[0045] パス1では、有意フラグ(例えば、sig_coeff_flag)、1より大のフラグ(例えば、gt1_flag)、パリティフラグ(例えば、par_level_flag)、及び3より大のフラグ(例えば、gt3_flag)が順に符号化される。有意フラグが1に等しい場合、最初に1より大のフラグが符号化される。1より大のフラグは、絶対レベル(例えば、レベルの絶対値)が1より大であるか否かを指定する。1より大のフラグが1に等しい場合、パリティフラグ及び3より大のフラグが符号化される。パリティフラグは、絶対レベルから2を差し引いたパリティを指定する。3より大のフラグは、絶対レベルが3より大であるか否かを指定する。最後の通常の(例えば、コンテキスト)符号化された係数の位置は、変数firstPosMode1に格納され得る。
[0046] パス2(a)では、残りの絶対レベル(例えば、abs_remainder)の符号化が、係数グループの最初のスキャン位置から開始してfirstPosMode1の位置まで処理される。1より大のフラグが1に等しい位置のみが符号化される。非2値シンタックス要素は、ゴロム・ライス符号で2値化され、結果として得られるビンは、算術符号化エンジンのバイパスモードで符号化される。例えば、値2は、「001」のゴロム・ライス符号を使用して表すことができ、「001」の各ビットは、ビン(例えば、ビン0、ビン0、及びビン1)と呼ばれ得る。
[0047] パス2(b)では、絶対レベル(dec_abs_level)の符号化が、第1のバイパス符号化位置(例えば、逆順から、firstPosMode1-1)から開始して係数グループの最後のスキャン位置まで処理され、ゴロム・ライス符号を使用して算術符号化エンジンのバイパスモードで完全に符号化される。
[0048] パス3では、符号フラグ(例えば、sign_flag)の符号化が、sig_coeff_flagが1に等しいすべてのスキャン位置に対して処理される。
[0049] 4×4のサブブロックの場合、32個以下の通常の符号化されたビン(例えば、sig_coeff_flag、gt1_flag、par_level_flag、及びgt3_flag)が符号化又は復号されると期待され得る。2×2のクロマサブブロックの場合、通常符号化されたビンの数は8に制限され得る。限度に到達した後、すべてのビンがバイパスモードで符号化される。
[0050] JVETが変換スキップ残差ブロックのために採用した新しい残差符号化プロセスでは、変換スキップ残差符号化の係数のスキャンの順序は順方向スキャンであり、変換スキップブロックの左上の位置から開始する。サブブロックの変換スキップ係数レベルは、スキャン位置を6回パスする間に符号化される。
[0051] パス1では、sig_coeff_flag、coeff_sign_flag、1より大のフラグ(例えば、abs_level_gtx_flag[0])、及びpar_level_flagが符号化順に処理される。sig_coeff_flagが1に等しい場合、coeff_sign_flag及びabs_level_gtx_flag[0]が順に符号化される。coeff_sign_flagは、変換係数レベルの符号を指定する。abs_level_gtx_flag[0]は、絶対レベルが1より大であるか否かを指定する。abs_level_gtx_flag[0]が1に等しい場合、par_level_flagが追加的に符号化される。par_level_flagは、絶対レベルから2を差し引いたパリティを指定する。フラグを符号化する前には、コンテキスト適応型2値算術符号化(context-adaptive binary arithmetic coding、「CABAC」)エンジンが、コンテキスト符号化されたビンが利用可能か否かをチェックする。コンテキスト符号化されたビンが利用可能ではない場合、そのフラグはバイパス符号化される。
[0052] パス2では、所与の位置のabs_level_gtx_flag[0]が1に等しい場合、3より大のフラグ(例えば、abs_level_gtx_flag[1])が符号化される。abs_level_gtx_flag[1]は、絶対レベルが3より大であるか否かを指定する。各係数のabs_level_gtx_flag[1]を符号化する前には、CABACエンジンが、コンテキスト符号化されたビンが利用可能か否かをチェックする。コンテキスト符号化されたビンが利用可能ではない場合、abs_level_gtx_flag[1]はバイパス符号化される。
[0053] パス3では、所与の位置のabs_level_gtx_flag[1]が1に等しい場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が符号化される。abs_level_gtx_flag[2]は、絶対レベルが5より大であるか否かを指定する。各係数のabs_level_gtx_flag[2]を符号化する前には、CABACエンジンが、コンテキスト符号化されたビンが利用可能か否かをチェックする。コンテキスト符号化されたビンが利用可能ではない場合、abs_level_gtx_flag[2]はバイパス符号化される。
[0054] パス4では、所与の位置のabs_level_gtx_flag[2]が1に等しい場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が符号化される。abs_level_gtx_flag[3]は、絶対レベルが7より大であるか否かを指定する。各係数のabs_level_gtx_flag[3]を符号化する前には、CABACエンジンが、コンテキスト符号化されたビンが利用可能か否かをチェックする。コンテキスト符号化されたビンが利用可能ではない場合、abs_level_gtx_flag[3]はバイパス符号化される。
[0055] パス5では、ある位置のabs_level_gtx_flag[3]が1に等しい場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が符号化される。abs_level_gtx_flag[4]は、絶対レベルが9より大であるか否かを指定する。各係数のabs_level_gtx_flag[4]を符号化する前には、CABACエンジンが、コンテキスト符号化されたビンが利用可能か否かをチェックする。コンテキスト符号化されたビンが利用可能ではない場合、abs_level_gtx_flag[4]はバイパス符号化される。
[0056] パス6では、abs_remainderが、abs_level_gtx_flag[4]が1に等しいすべてのスキャン位置に対して処理される。非2値シンタックス要素は、ゴロム・ライス符号で2値化され、結果として得られるビンは、算術符号化エンジンのバイパスモードで符号化される。
[0057] 図3は、変換符号化のシンタックスを含む例示的な擬似コードを示す。例えば、図3に示すシンタックスは、VVCにおける変換符号化に使用され得る。図4は、変換スキップ残差符号化のシンタックスを含む例示的な擬似コードを示す。例えば、図4に示すシンタックスは、VVCにおける変換スキップ残差符号化に使用され得る。
[0058] 変換スキップ残差符号化の現在の設計にはいくつかの問題がある。第1に、変換スキップ残差符号化の符号化パスの数は6回である。つまり、多くの場合、CABACエンジンは係数グループを6回スキャンする必要があり、このことはCABACのスループットに大きく影響する。第2に、変換スキップ残差符号化の符号化パスの数は、変換残差符号化の符号化パスの数とは異なる(例えば、6回のパス対3回のパス)。符号化パスの数の差により、ハードウェアの実装が複雑になり得る。第3に、変換スキップ残差符号化の係数スキャンは順方向スキャンであるのに対し、変換残差符号化のスキャンは逆順である。スキャンの順序の違いによっても、ハードウェアの実装が複雑になり得る。第4に、変換残差符号化では、バイパス符号化は、2つのシンタックス要素(例えば、abs_remainder及びdec_abs_level)しか持たない。しかしながら、変換スキップ残差符号化では、バイパス符号化は、sig_coeff_flag、coeff_sign_flag、par_level_flag、abs_level_gtx_flag[0]、abs_level_gtx_flag[1]、abs_level_gtx_flag[2]、abs_level_gtx_flag[3]、abs_level_gtx_flag[4]、及びabs_remainderなどの更に多くのシンタックス要素を有し得る。変換残差符号化及び変換スキップ残差符号化のバイパス符号化方法を統合することが望ましい。
[0059] 本開示の実施形態は、パリティフラグの新しいバイパス符号化方法を提供する。パリティフラグは、絶対レベルから2を差し引いたパリティを指定し、これは、非ゼロ係数位置の絶対値が偶数であるか奇数であるかを示す。変換スキップブロックにおけるパリティフラグの確率分布は一様であり得る。したがって、偶数値の確率と奇数値の確率とは等しくなり得る。これにより、パリティフラグ及び信号パリティフラグのバイパス符号化が適用され得る。このバイパス符号化は、abs_remainderが信号化される前又は後に行われ得る。パリティフラグは、1より大のフラグが1に等しい場合に信号化され得る。いくつかの実施形態では、コンテキスト符号化されたビンの総数は、変換ブロック内のサンプル当たり2つのビンに制限され得るため、パリティフラグのコンテキストを解放することにより、等しくない確率分布を有する他のシンタックス要素(例えば、パリティフラグの後に符号化されたxより大のフラグのいずれか)をコンテキスト符号化させることができ、これにより符号化効率を向上させることができる。
[0060] いくつかの実施形態では、パリティフラグは、通常のコンテキスト符号化されたビンとして符号化され、係数符号化プロセスの第2のパスで信号化され得る。パリティフラグは、3より大のフラグの前又は後に信号化され得る。
[0061] VVC(例えば、VVC5)では、全部で4つの符号化パスが、3より大のフラグ(例えば、abs_level_gtx_flag[1])、5より大のフラグ(例えば、abs_level_gtx_flag[2])、7より大のフラグ(abs_level_gtx_flag[3])、及び9より大のフラグ(例えば、abs_level_gtx_flag[4])を符号化するために使用される。換言すれば、各フラグは別個の符号化パスで符号化される。本開示の実施形態は、単一のパスですべてのフラグを符号化するための新しい方法を提供する。その結果、すべてのフラグを符号化するために必要な符号化パスは1つだけであり、これにより、CABACのスループットを向上させることができる。
[0062] いくつかの実施形態では、3より大のフラグ(例えば、abs_level_gtx_flag[1])の位置は、第1の符号化パスに移動され得る。例えば、1より大のフラグ(例えば、abs_level_gtx_flag[1])が1に等しい場合、3より大のフラグが信号化され得る。この変更により、変換残差符号化のケース1より大のフラグ及び3より大のフラグの符号化を統合することができ、またこれにより、第1の符号化パスでこれら2つのフラグが符号化される。
[0063] いくつかの実施形態では、サブブロックの変換スキップレベルの符号化パスの数が、3に減らされ得る。図5は、本開示のいくつかの実施形態による、符号化パスの数を3に減らした、変換スキップ残差符号化の例示的な方法を示す。図5の方法は3つのパスを含む。
[0064] パス1(ステップ502)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。各係数には有意フラグ(例えば、sig_coeff_flag)が存在し得る。いくつかの実施形態では、有意フラグは、係数のレベルが非ゼロ値であるか否かを指定し得る。係数の有意フラグが、レベルが非ゼロ値であることを示している(例えば、有意フラグが1に等しい)場合、信号係数符号フラグ(例えば、coeff_sign_flag)及び1より大のフラグ(例えば、abs_level_gtx_flag[0])が符号化され得る。1より大のフラグは、レベルの絶対値が1より大であるか否かを指定し得る。
[0065] パス2(ステップ504)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。係数の1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、3より大のフラグ(例えば、abs_level_gtx_flag[1])が符号化され得る。3より大のフラグは、絶対レベルが3より大であるか否かを指定し得る。係数の3より大のフラグが、絶対レベルが3より大であることを示している(例えば、3より大のフラグが1に等しい)場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が符号化され得る。5より大のフラグは、絶対レベルが5より大であるか否かを指定し得る。係数の5より大のフラグが、絶対レベルが5より大であることを示している(例えば、5より大のフラグが1に等しい)場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が符号化され得る。7より大のフラグは、絶対レベルが7より大であるか否かを指定し得る。係数の7より大のフラグが、絶対レベルが7より大であることを示している(例えば、7より大のフラグが1に等しい)場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が符号化され得る。9より大のフラグは、絶対レベルが9より大であるか否かを指定し得る。
[0066] パス3(ステップ506)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。係数の1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、係数のパリティレベルフラグ(例えば、par_level_flag)がバイパス符号化され得る。パリティレベルフラグは、絶対レベルから2を差し引いたパリティを指定し得る。9より大のフラグが、絶対レベルが9より大であることを示している(例えば、9より大のフラグが1に等しい)場合、係数の残りの絶対レベル(例えば、abs_remainder)が符号化され得、非2値シンタックス要素がゴロム・ライス符号で2値化され得る。いくつかの実施形態では、結果として得られるビンが、算術符号化エンジンのバイパスモードで符号化され得る。
[0067] 図6は、本開示のいくつかの実施形態による、図5に示す方法のシンタックスを含む例示的な擬似コードを示す。図6の擬似コードの一部はイタリック体で示され、3より大のフラグ、5より大のフラグ、7より大のフラグ、9より大のフラグ、及びパリティレベルフラグの処理を示している。
[0068] 図5の方法は、エンコーダ(例えば、図1のエンコーダ)によって実施され得ることを理解されたい。いくつかの実施形態では、エンコーダはビデオフレームを受信し得る。デコーダ(例えば、図2のデコーダ)については、本方法は3つのパスを含み得る。
[0069] パス1では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。各係数には有意フラグ(例えば、sig_coeff_flag)が存在し得る。有意フラグは復号され得る。有意フラグは、レベルが非ゼロ値であるか否かを指定し得る。係数の有意フラグが、レベルが非ゼロ値であることを示している(例えば、有意フラグが1に等しい)場合、信号係数符号フラグ(例えば、coeff_sign_flag)及び1より大のフラグ(例えば、abs_level_gtx_flag[0])が復号され得る。
[0070] パス2では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。係数の1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、各係数のパリティレベルフラグ(例えば、par_level_flag)が復号され得る。パリティレベルフラグは、絶対レベルから2を差し引いたパリティを指定し得る。係数の1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、3より大のフラグ(例えば、abs_level_gtx_flag[1])が復号され得る。係数の3より大のフラグが、絶対レベルが3より大であることを示している(例えば、3より大のフラグが1に等しい)場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が復号され得る。係数の5より大のフラグが、絶対レベルが5より大であることを示している(例えば、4より大のフラグが1に等しい)場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が復号され得る。係数の7より大のフラグが、絶対レベルが7より大であることを示している(例えば、7より大のフラグが1に等しい)場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が復号され得る。
[0071] パス3では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。9より大のフラグが、絶対レベルが9より大であることを示している(例えば、9より大のフラグが1に等しい)場合、係数の残りの絶対レベル(例えば、abs_remainder)が復号され得る。
[0072] いくつかの実施形態では、デコーダは、ビデオビットストリームを受信し得る。
[0073] 図7は、本開示のいくつかの実施形態による、符号化パスの数を3に減らした、変換スキップ残差符号化の別の例示的な方法を示す。図7の方法は3つのパスを含み得る。
[0074] パス1(ステップ702)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。各係数には有意フラグ(例えば、sig_coeff_flag)が存在し得る。有意フラグは、レベルが非ゼロ値であるか否かを示し得る。係数の有意フラグが、レベルが非ゼロ値であることを示している(例えば、有意フラグが1に等しい)場合、信号係数符号フラグ(例えば、coeff_sign_flag)及び1より大のフラグ(例えば、abs_level_gtx_flag[0])が符号化され得る。1より大のフラグは、レベルの絶対値が1より大であるか否かを指定し得る。係数の1より大のフラグが、レベルの絶対値が1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、3より大のフラグ(例えば、abs_level_gtx_flag[1])が符号化され得る。3より大のフラグは、絶対レベルが3より大であるか否かを指定し得る。
[0075] パス2(ステップ704)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。係数の3より大のフラグが、絶対レベルが3より大であることを示している(例えば、3より大のフラグが1に等しい)場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が符号化され得る。5より大のフラグは、絶対レベルが5より大であるか否かを指定し得る。係数の5より大のフラグが、絶対レベルが5より大であることを示している(例えば、5より大のフラグが1に等しい)場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が符号化され得る。7より大のフラグは、絶対レベルが7より大であるか否かを指定し得る。係数の7より大のフラグが、絶対レベルが7より大であることを示している(例えば、7より大のフラグが1に等しい)場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が符号化され得る。9より大のフラグは、絶対レベルが9より大であるか否かを指定し得る。
[0076] パス3(ステップ706)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。係数の1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、係数のパリティレベルフラグ(例えば、par_level_flag)がバイパス符号化され得る。パリティレベルフラグは、絶対レベルから2を差し引いたパリティを指定し得る。9より大のフラグが、絶対レベルが9より大であることを示している(例えば、9より大のフラグが1に等しい)場合、係数の残りの絶対レベル(例えば、abs_remainder)が処理され得、非2値シンタックス要素がゴロム・ライス符号で2値化され得る。結果として得られるビンは、算術符号化エンジンのバイパスモードで符号化され得る。
[0077] 図5の方法と比較すると、図7の方法は、パス2ではなくパス1で3より大のフラグの符号化を処理する。図8は、本開示のいくつかの実施形態による、図7に示す方法のシンタックスを含む例示的な擬似コードを示す。図8の擬似コードの一部はイタリック体で示され、3より大のフラグ、5より大のフラグ、7より大のフラグ、9より大のフラグ、及びパリティレベルフラグの処理を示している。
[0078] 図7の方法は、エンコーダ(例えば、図1のエンコーダ)によって実施され得ることを理解されたい。いくつかの実施形態では、エンコーダはビデオフレームを受信し得る。デコーダ(例えば、図2のデコーダ)については、本方法は3つのパスを含み得る。
[0079] パス1では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。各係数には有意フラグ(例えば、sig_coeff_flag)が存在し得る。有意フラグは復号される。有意フラグは、レベルが非ゼロ値であるか否かを示し得る。係数の有意フラグが、レベルが非ゼロ値であることを示している(例えば、有意フラグが1に等しい)場合、信号係数符号フラグ(例えば、coeff_sign_flag)及び1より大のフラグ(例えば、abs_level_gtx_flag[0])が復号され得る。係数の1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、3より大のフラグ(例えば、abs_level_gtx_flag[1])が復号され得る。
[0080] パス2では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。係数の1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、各係数のパリティレベルフラグ(例えば、par_level_flag)が復号され得る。係数の3より大のフラグが、絶対レベルが3より大であることを示している(例えば、3より大のフラグが1に等しい)場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が復号され得る。係数の5より大のフラグが、絶対レベルが5より大であることを示している(例えば、5より大のフラグが1に等しい)場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が復号され得る。係数の7より大のフラグが、絶対レベルが7より大であることを示している(例えば、7より大のフラグが1に等しい)場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が復号され得る。9より大のフラグは、絶対レベルが9より大であるか否かを指定し得る。
[0081] パス3では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始してそのサブブロックの最後のスキャン位置までの各係数がスキャンされる。9より大のフラグが、絶対レベルが9より大であることを示している(例えば、9より大のフラグが1に等しい)場合、係数の残りの絶対レベル(例えば、abs_remainder)が復号され得る。
[0082] いくつかの実施形態では、デコーダは、ビデオビットストリームを受信し得る。
[0083] いくつかの実施形態では、変換残差符号化プロセスと変換スキップ残差符号化プロセスとのスキャンの順序を統合するために、変換スキップ残差ブロックのスキャンの順序が変更され得る。例えば、変換スキップ残差ブロックのスキャンの順序は、順方向スキャンから逆方向スキャンに変更され得る。図9は、本開示のいくつかの実施形態による、8×8の変換スキップブロックの例示的な逆方向スキャンを示す。図9に示すように、係数のスキャンは、右下隅にある係数から開始され、左上隅にある係数で終了する。図9に示すスキャンの順序は、図5及び図7に示す方法によって適用され得ることを理解されたい。
[0084] いくつかの実施形態では、逆方向スキャンは、変換ブロックが反転された後に実行され得る。図10A及び図10Bは、本開示のいくつかの実施形態による、8×8のブロックの例示的な反転を示す。図10A及び図10Bに示すように、ブロックを反転した後、左上の残差係数の位置が右下の位置に移動される。ブロックが反転した後、逆方向スキャン(例えば、図9の逆方向スキャン)が実行され得る。
[0085] いくつかの実施形態では、バイパス符号化は、複数のパスで実行され得る。図11は、本開示のいくつかの実施形態による、例示的なマルチパス符号化を示す。いくつかの実施形態では、図11に示すマルチパス符号化は、VVC(例えば、VVC5)で実行され得る。図11のコンテキスト符号化されたビンの数は、(図11の黒色の点として示されている)第1のパスの位置において最大限度に到達したと想定され得る。図11に示すように、フラグ(例えば、3より大のフラグ、5より大のフラグ、7より大のフラグ、9より大のフラグなど)は、複数の符号化パスでバイパス符号化され得る。
[0086] いくつかの実施形態では、レベルの絶対値のシングルパスバイパス符号化が実現され得る。図12は、本開示のいくつかの実施形態による、レベルの絶対値の例示的なシングルパス符号化方法を示す。図12に示すように、コンテキスト符号化されたビンが(例えば、図12に黒色の点として示されている)最大限度に到達すると、CABACエンジンは、ゴロム・ライス符号化を使用して絶対レベルの残りのバイパス符号化を開始し得る。
[0087] 図13は、本開示のいくつかの実施形態による、ライスパラメータの例示的なルックアップテーブルを示す。図13によれば、ライスパラメータは変数cRiceParamで表され得る。絶対和のロケーションは、変数locSumAbsで表され得る。
[0088] いくつかの実施形態では、ライスパラメータ(例えば、cRiceParam)は、以下のようにして導出され得る。変換スキップブロックの配列AbsLevel[x][y]、左上のルーマロケーション(x0,y0)、及び対象の係数スキャンロケーション(xC,yC)を所与として、minLevelが最小バイパス符号化値であると仮定すると、係数のフラグのいずれもコンテキスト符号化されない場合、その係数のminLevelは0である。フラグのすべてがコンテキスト符号化されている場合、minLevelは10に等しい。
[0089] いくつかの実施形態では、変数locSumAbsは、以下の擬似コードによって指定されるように導出され得る。
locSumAbs = 0
if (xC > 0)
locSumAbs += AbsLevel[xC - 1][yC]
if (yC > 0)
locSumAbs += AbsLevel[xC][yC -1]
locSumAbs += ( 10 - minLevel)
locSumAbs = Clip3 (0, 31, LocSumAbs)
[0090] いくつかの実施形態では、シングルパスバイパス符号化は、図7に示す方法と組み合わされ得る。例えば、図14は、本開示のいくつかの実施形態による、シングルパスバイパス符号化と組み合わされた、符号化パスの数を3に減らした、変換スキップ残差符号化の例示的な方法を示す。図14の方法は3つのパスを含む。
[0091] パス1(ステップ1402)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始して最後のスキャン位置までの各係数がスキャンされる。各係数について、コンテキスト符号化されたビンの残りの数がグループ限度以上である場合、以下が実行され得る。例えば、いくつかの実施形態では、コンテキスト符号化又はバイパス符号化のいずれかを使用して、グループ内のフラグのすべてを符号化することがより効率的である。その結果、コンテキスト符号化されたビンの数がグループ限度より少ない場合は、残りのフラグの一部をコンテキスト符号化で符号化し、他のフラグをバイパス符号化で符号化するよりも、残りのフラグのすべてをバイパス符号化で符号化する方が効率的である。この例では、パス1のグループにおいて符号化された4つのフラグ(例えば、有意フラグ、信号係数符号フラグ、1より大のフラグ、及び3より大のフラグ)が存在し得る。したがって、4のグループ限度を所与として、各係数について、コンテキスト符号化されたビンの残りの数が4以上である場合、以下が実行され得る。有意フラグ(例えば、sig_coeff_flag)が、レベルが非ゼロ値であることを示している(例えば、有意フラグが1に等しい)場合、信号係数符号フラグ(例えば、coeff_sign_flag)及び1より大のフラグ(例えば、abs_level_gtx_flag[0])が符号化され得る。1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、3より大のフラグ(例えば、abs_level_gtx_flag[1])が符号化され得る。いくつかの実施形態では、係数は、コンテキスト符号化されたビンが最大限度(例えば、図12の黒色の点)に到達するまでスキャンされ得、その後、スキャンは、第1のパスの最後の位置としての位置で停止する。
[0092] パス1の終了後、且つパス2の開始前に、以前のパスの最後の位置にしたがって第1のパスバイパス位置変数(例えば、iFirstPassBypassPos)が設定され得る(ステップ1404)。いくつかの実施形態では、第1のパスバイパス位置変数は、以前のパスに1を加えた最後の位置に設定され得る。
[0093] パス2(ステップ1406)では、サブブロックの最初のスキャン位置から開始してiFirstPassBypassPosまでの係数がスキャンされ得る。各係数について、コンテキスト符号化されたビンの残りの数がグループ限度以上である場合、以下が実行され得る。例えば、グループ限度は3とすることができる(例えば、5より大のフラグ、7より大のフラグ、及び9より大のフラグ)。3より大のフラグが、絶対レベルが3より大であることを示している(例えば、3より大のフラグが1に等しい)場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が符号化され得る。5より大のフラグが、絶対レベルが5より大であることを示している(例えば、5より大のフラグが1に等しい)場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が符号化され得る。7より大のフラグが、絶対レベルが7より大であることを示している(例えば、7より大のフラグが1に等しい)場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が符号化され得る。
[0094] パス2の終了後、且つパス3の開始前に、以前のパスの最後の位置にしたがって第2のパスバイパス位置変数(例えば、iSecondPassBypassPos)が設定される(ステップ1408)。いくつかの実施形態では、第2のパスバイパス位置変数は、以前のパスに1を加えた最後の位置に設定され得る。
[0095] パス3(a)(ステップ1410)では、サブブロックの最初のスキャン位置から開始してiFirstPassBypassPosまでの係数がスキャンされ得る。各係数について以下が実行され得る。1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、パリティレベルフラグ(例えば、par_level_flag)がバイパス符号化され得る。9より大のフラグが、絶対レベルが9より大であることを示している(例えば、9より大のフラグが1に等しい)場合、残りの絶対レベル(例えば、abs_remainder)の符号化は、ゴロム・ライス符号で2値化される非2値シンタックス要素によって処理され得る。結果として得られるビンは、算術符号化エンジンのバイパスモードで符号化され得る。
[0096] パス3(b)(ステップ1412)では、iFirstPassBypassPosから開始して、最後のスキャン位置までの係数がスキャンされ得る。各係数について、絶対レベル(例えば、dec_abs_level)の符号化が、ゴロム・ライス符号で2値化された非2値シンタックス要素によって処理され得る。結果として得られるビンは、算術符号化エンジンのバイパスモードで符号化され得る。信号係数符号フラグも符号化され得る。
[0097] いくつかの実施形態では、パス3(b)では、iFirstPassBypassPosから開始して、最後のスキャン位置までの係数がスキャンされ得、絶対レベル(例えば、dec_abs_level)の符号化が、各係数について2ステップで処理され得る。第1に、dec_abs_levelがゼロであるか否かが信号化される。dec_abs_levelが非ゼロである場合、ゴロム・ライス符号で2値化される非2値シンタックス要素、及び結果として得られるビンは、算術符号化エンジンのバイパスモードで符号化され得る。信号係数符号フラグも符号化され得る。
[0098] 図15は、本開示のいくつかの実施形態による、図14の方法と組み合わされた、バイパス符号化のシンタックスを含む例示的な擬似コードを示す。図15の擬似コードの一部はイタリック体で示され、3より大のフラグ、5より大のフラグ、7より大のフラグ、9より大のフラグ、及びパリティレベルフラグの処理を示している。
[0099] いくつかの実施形態では、2パス符号化方法が使用され得る。例えば、パス1ではフラグのすべてがコンテキスト符号化され得、パス2ではバイパス符号化にゴロム・ライス符号化が使用され得る。図16は、本開示のいくつかの実施形態による、第1のパスがコンテキスト符号化に対応し、第2のパスがゴロム・ライス符号化に対応する、変換スキップ残差符号化の例示的な方法を示す。図16の方法は2つのパスを含む。
[00100] パス1(ステップ1602)では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始して最後のスキャン位置までの各係数がスキャンされる。各係数について、コンテキスト符号化されたビンの残りの数が8以上である場合、以下が実行され得る。有意フラグ(例えば、sig_coeff_flag)がコンテキスト符号化され得る。有意フラグが、レベルが非ゼロであることを示している(例えば、有意フラグが1に等しい)場合、係数符号フラグ(例えば、coeff_sign_flag)及び1より大のフラグ(例えば、abs_level_gtx_flag[0])が信号化され得る。1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、パリティレベルフラグ(例えば、par_level_flag)及び3より大のフラグ(例えば、abs_level_gtx_flag[1])が符号化され得る。パリティレベルフラグは、絶対レベルから2を差し引いたパリティを指定し得る。3より大のフラグは、絶対レベルが3より大であるか否かを指定し得る。3より大のフラグが、絶対レベルが3より大であることを示している(例えば、3より大のフラグが1に等しい)場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が符号化され得る。5より大のフラグが、絶対レベルが5より大であることを示している(例えば、5より大のフラグが1に等しい)場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が符号化され得る。7より大のフラグが、絶対レベルが7より大であることを示している(例えば、7より大のフラグが1に等しい)場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が符号化され得る。9より大のフラグは、レベルの絶対レベルが9より大であるか否かを指定し得る。いくつかの実施形態では、係数は、コンテキスト符号化されたビンが最大限度(例えば、図12の黒色の点)に到達するまでスキャンされ得、その後、スキャンは、第1のパスの最後の位置としての位置で停止する。
[00101] パス1の終了後、且つパス2の開始前に、以前のパスの最後の位置に応じて第1のパスバイパス位置変数(iFirstPassBypassPos)が設定され得る(ステップ1604)。いくつかの実施形態では、第1のパスバイパス位置変数は、以前のパスに1を加えた最後の位置に設定され得る。第1のパスバイパス位置変数は、絶対レベル(例えば、dec_abs_level)シンタックスが信号化される開始位置を表し得る。スキャン位置が第1のパスバイパス位置よりも小さい係数は、パス1でコンテキスト符号化を介して部分的に信号化され得、残りの係数はパス2(a)で信号化され得る。いくつかの実施形態では、係数のスキャン位置が第1のパスバイパス位置変数以上である場合、その係数のフラグのいずれもコンテキスト符号化されず、完全な係数及び符号は、パス2(b)のバイパス符号化を使用して信号化され得る。
[00102] パス2(a)(ステップ1606)では、サブブロックの最初のスキャン位置から開始して第1のパスバイパス位置変数から1を差し引いたロケーションまでの係数がスキャンされ得る。各係数について以下が実行され得る。9より大のフラグが、絶対レベルが9より大であることを示している(例えば、9より大のフラグが1に等しい)場合、残りの絶対レベル(例えば、abs_remainder)がゴロム・ライス符号を使用して2値化され得、結果として得られるビンが算術符号化エンジンのバイパスモードで符号化され得る。
[00103] パス2(b)(ステップ1608)では、第1のパスバイパス位置から開始して、最後のスキャン位置までの係数がスキャンされ得る。各係数について以下が実行され得る。絶対レベル(例えば、dec_abs_level)は、ゴロム・ライス符号で2値化され得、結果として得られるビンは、算術符号化エンジンのバイパスモードで符号化され得る。絶対レベルが0に等しくない場合、係数符号フラグ(例えば、coeff_sign_flag)はバイパス符号化され得る。
[00104] 図16の方法は、エンコーダ(例えば、図1のエンコーダ)によって実施され得ることを理解されたい。いくつかの実施形態では、エンコーダはビデオフレームを受信し得る。図17の方法からの符号化されたビデオフレームは、デコーダ(例えば、図2のデコーダ)を使用して復号され得ることを理解されたい。いくつかの実施形態では、復号方法は2つのパスを含み得る。
[00105] パス1では、サブブロックの係数がスキャンされる。いくつかの実施形態では、サブブロックの最初のスキャン位置から開始して最後のスキャン位置までの各係数がスキャンされる。各係数について、コンテキスト符号化されたビンの残りの数がグループ限度以上である場合、以下が実行され得る。例えば、グループ限度は8とすることができ、パス1で符号化される様々なフラグ(例えば、有意フラグ、係数符号フラグ、1より大のフラグ、パリティレベルフラグ、3より大のフラグ、5より大のフラグ、7より大のフラグ、及び9より大のフラグ)の数を示す。有意フラグ(例えば、sig_coeff_flag)がコンテキスト復号され得る。有意フラグが、レベルが非ゼロであることを示している(例えば、有意フラグが1に等しい)場合、係数符号フラグ(例えば、coeff_sign_flag)及び1より大のフラグ(例えば、abs_level_gtx_flag[0])が信号化され得る。1より大のフラグが、絶対レベルが1より大であることを示している(例えば、1より大のフラグが1に等しい)場合、パリティレベルフラグ(例えば、par_level_flag)及び3より大のフラグ(例えば、abs_level_gtx_flag[1])が復号され得る。パリティレベルフラグは、絶対レベルから2を差し引いたパリティを指定し得る。3より大のフラグは、絶対レベルが3より大であるか否かを指定し得る。3より大のフラグが、絶対レベルが3より大であることを示している(例えば、3より大のフラグが1に等しい)場合、5より大のフラグ(例えば、abs_level_gtx_flag[2])が復号され得る。5より大のフラグが、絶対レベルが5より大であることを示している(例えば、5より大のフラグが1に等しい)場合、7より大のフラグ(例えば、abs_level_gtx_flag[3])が復号され得る。7より大のフラグが、絶対レベルが7より大であることを示している(例えば、7より大のフラグが1に等しい)場合、9より大のフラグ(例えば、abs_level_gtx_flag[4])が復号され得る。9より大のフラグは、レベルの絶対レベルが9より大であるか否かを指定し得る。いくつかの実施形態では、係数は、コンテキスト符号化されたビンが最大限度(例えば、図12の黒色の点)に到達するまでスキャンされ得、その後、スキャンは、第1のパスの最後の位置としての位置で停止する。
[00106] パス1の終了後、且つパス2の開始前に、以前のパスの最後の位置に応じて第1のパスバイパス位置変数(iFirstPassBypassPos)が設定され得る。いくつかの実施形態では、第1のパスバイパス位置変数は、以前のパスに1を加えた最後の位置に設定され得る。第1のパスバイパス位置変数は、絶対レベル(例えば、dec_abs_level)シンタックスが信号化される開始位置を表し得る。スキャン位置が第1のパスバイパス位置よりも小さい係数は、パス1でコンテキスト符号化を介して部分的に信号化され得、残りの係数はパス2(a)で信号化され得る。いくつかの実施形態では、係数のスキャン位置が第1のパスバイパス位置変数以上である場合、その係数のフラグのいずれもコンテキスト復号されず、完全な係数及び符号は、パス2(b)のバイパス復号を使用して信号化され得る。
[00107] パス2(a)では、サブブロックの最初のスキャン位置から開始して第1のパスバイパス位置変数から1を差し引いたロケーションまでの係数がスキャンされ得る。各係数について以下が実行され得る。9より大のフラグが、絶対レベルが9より大であることを示している(例えば、9より大のフラグが1に等しい)場合、2値化された残りの絶対レベル(例えば、abs_remainder)がゴロム・ライス符号を使用して復号され得、結果として得られるビンが算術符号化エンジンのバイパスモードで復号され得る。
[00108] パス2(b)では、第1のパスバイパス位置から開始して、最後のスキャン位置までの係数がスキャンされ得る。各係数について以下が実行され得る。2値化された絶対レベル(例えば、dec_abs_level)は、ゴロム・ライス符号で復号され得、結果として得られるビンは、算術符号化エンジンのバイパスモードで復号され得る。絶対レベルが0に等しくない場合、係数符号フラグ(例えば、coeff_sign_flag)はバイパス復号され得る。
[00109] 図17は、本開示のいくつかの実施形態による、図16の方法のバイパス符号化のシンタックスを含む例示的な擬似コードを示す。図17の擬似コードの一部はイタリック体で示され、第1のパスバイパス位置とパス2(b)との処理を示している。
[00110] いくつかの実施形態では、図17に示すように、パス1は、コンテキスト符号化されたビンの残りの数が8以上(例えば、図17に示すように「MaxCcbs >=8」)である場合にのみ実行される。このことは、コンテキスト符号化ビンバジェットで最大7つのコンテキスト符号化が「浪費」され得、符号化のパフォーマンスに悪影響を与え得ることを意味する。したがって、いくつかの実施形態では、abs_level_gtx_flag[]フラグの数は、開示された2パス符号化方法で調整され得る。例えば、9より大のフラグ(例えば、abs_level_gtx_flag[4])を符号化する代わりに、7より大のフラグ(例えば、abs_level_gtx_flag[3]))までしか符号化しない。したがって、コンテキスト符号化されたビンの残りの数が7以上である場合にのみ、パス1が実行され得る。いくつかの実施形態では、5より大のフラグ(abs_level_gtx_flag[2])までしか符号化されない。したがって、コンテキスト符号化されたビンの残りの数が6以上である場合にのみ、パス1が実行される。abs_level_gtx_flag[]フラグの数は任意の数に調整され得ることを理解されたい。abs_level_gtx_flag[]フラグの数を調整することにより、第1の符号化パスでより多くの位置を符号化することができるため、より良好な符号化効率が提供される。
[00111] いくつかの実施形態では、ライスパラメータcRiceParamは、以下のようにして導出され得る。スキャンロケーション(xC,yC)における係数値としての配列TransCoeffLevel[xC][yC]、及び最小バイパス符号化値としての値minLevelを所与として、係数のフラグのいずれもコンテキスト符号化されない場合、その係数のminLevelは0である。フラグのすべてがコンテキスト符号化されている場合、minLevelは10に等しい。変数locSumAbsは、以下の擬似コードによって指定されるように導出され得る。
locSumAbs = 0
if (xC > 0)
locSumAbs += Abs(TransCoeffLevel[xC - 1][yC])
if (yC > 0)
locSumAbs += Abs(TransCoeffLevel[xC][yC -1])
locSumAbs = locSumAbs - 2*minLevel
locSumAbs = Clip3 (0, 31, LocSumAbs)
[00112] 図18は、本開示のいくつかの実施形態による、最小バイパス符号化値が0に等しい場合のライスパラメータの例示的なルックアップテーブルを示す。図18に示すように、ライスパラメータは変数cRiceParamで表され得る。絶対和のロケーションは、変数locSumAbsで表され得る。
[00113] いくつかの実施形態では、2つの別個のルックアップテーブルが、minLevelに基づくライスパラメータの導出に使用され得る。minLevelが0に等しい場合、図18に示すテーブルが使用され得る。minLevelが0に等しくない場合、図13に示すテーブルが使用され得る。
[00114] いくつかの実施形態では、ライスパラメータの導出は、ルックアップテーブルを必要としない。例えば、cRiceParamは次のように導出され得る。
cRiceParam = (locSumAbs + offset) >> 3
[00115] 上記の式では、オフセットは事前定義された定数であり得、オフライントレーニングによって決定され得る。オフセット値の一例は4である。
[00116] いくつかの実施形態では、オフセット値は色成分に依存する。例えば、オフセット値は、ルーマの場合は4、クロマの場合は0であり得る。
[00117] いくつかの実施形態では、オフセット値はフレームタイプに依存する。例えば、オフセット値は、イントラフレームの場合は4、インターフレームの場合は0であり得る。
[00118] いくつかの実施形態では、VVC(例えば、VVC7)では、変換スキップモードは、ルーマ成分とクロマ成分との両方に対して可能であり、両方のタイプの成分が同じコンテキスト変数を共有し得る。コンテキスト変数は、最近復号されたビンを含む式によって、ビンの適応型2値算術復号プロセスに指定された変数であり得る。しかしながら、ルーマブロック及びクロマブロックの信号統計は異なり得る。結果として、本開示のいくつかの実施形態では、異なるコンテキスト変数がルーマ成分及びクロマ成分に使用され得る。提案されたコンテキストモデルの拡張によって影響を受けるシンタックス要素としては、有意係数フラグ(例えば、sig_coeff_flag)、abs_level_gtx_flag[n][j](例えば、j=0~4)、パリティフラグ(例えば、par_level_flag)、信号係数符号フラグ(例えば、coeff_sign_flag)、及びcoded_sub_block_flag(例えば、図3に示すcoded_sub_block_flag)が挙げられる。
[00119] VVC(例えば、VVC7)では、3つのコンテキスト変数が、変換スキップモードのsig_coeff_flagを符号化するために使用され得る。いくつかの実施形態では、合計6つのコンテキスト変数(例えば、ルーマに3つ、クロマに3つ)が、変換スキップモードのsig_coeff_flagを符号化するために使用され得る。変換スキップモードのsig_coeff_flagを符号化するためのコンテキストインデックスは、隣(例えば、上隣と左隣)の有意係数の数から導出され得る。いくつかの実施形態では、コンテキストインデックスは、コンテキスト変数の識別子を指し得る。例えば、利用可能なコンテキスト変数が6つある場合、第1のコンテキスト変数のコンテキストインデックスは0、第2のコンテキスト変数のコンテキストインデックスは1などになり得る。このプロセスへの入力は、色成分インデックスcIdx、ルーマロケーション(x0,y0)、及び対象の係数スキャンロケーション(xC,yC)であり得る。ルーマロケーション(x0,y0)は、対象の画像の特定のサンプル(例えば、左上サンプル)に対して、対象の変換ブロックの特定のサンプル(例えば、左上サンプル)を指定し得る。このプロセスの出力は、符号化インデックス変数ctxIncであり得る。いくつかの実施形態では、変数ctxIncは、以下の擬似コードにしたがって導出され得る。
locNumSig = 0
if (xC > 0)
locNumSig += sig_coeff_flag[xC - 1][yC]
if (yC > 0)
locNumSig += sig_coeff_flag[xC][yC - 1]
if (cIdx == 0) // 例えば、ルーマ成分では、ctxIncは次のように導出され得る。
ctxInc = locNumSig
else // 例えば、クロマ成分では、ctxIncは次のように導出され得る。
ctxInc = locNumSig + 3
[00120] VVC(例えば、VVC7)では、4つのコンテキスト変数が、変換スキップモードのabs_level_gtx_flag[n][0]を符号化するために使用され得る。いくつかの実施形態では、合計8つのコンテキスト変数(ルーマに4つ及びクロマに4つ)が、変換スキップモードのabs_level_gtx_flag[n][0]を符号化するために使用され得る。変換スキップのabs_level_gtx_flag[n][0]を符号化するためのコンテキストインデックスは、隣(例えば、上隣と左隣)の有意係数の数から導出され得る。このプロセスへの入力は、色成分インデックスcIdx、ルーマロケーション(x0,y0)、及び対象の係数スキャンロケーション(xC,yC)であり得る。ルーマロケーション(x0,y0)は、対象の画像の特定のサンプル(例えば、左上サンプル)に対して、対象の変換ブロックの特定のサンプル(例えば、左上サンプル)を指定し得る。このプロセスの出力は、符号化インデックス変数ctxIncであり得る。いくつかの実施形態では、変数ctxIncは、以下の擬似コードにしたがって導出され得る。
if (BdpcmFlag[x0][y0][cIdx] == 1)
ctxInc = 3
else if (xC > 0 and yC > 0)
ctxInc = sig_coeff_flag[xC - 1][yC] + sig_coeff_flag[xC][yC - 1]
else if (xC > 0)
ctxInc = sig_coeff_flag[xC - 1][yC]
else if (yC > 0)
ctxInc = sig_coeff_flag[xC][yC - 1]
else
ctxInc = 0
if (cIdx > 0)
ctxInc = ctxInc + 4
[00121] VVC(例えば、VVC7)では、1つのコンテキスト変数が、変換スキップモードのpar_level_flagを符号化するために使用され得る。いくつかの実施形態では、合計2つのコンテキスト変数(ルーマに1つ、クロマに1つ)が、変換スキップモードのpar_level_flagを符号化するために使用され得る。変換スキップのpar_level_flagを符号化するためのコンテキストインデックスは、次のように導出され得る。このプロセスへの入力は、色成分インデックスcIdxであり得る。このプロセスの出力は、符号化インデックス変数ctxIncである。いくつかの実施形態では、変数ctxIncは、以下の擬似コードにしたがって導出され得る。
if (cIdx == 0)
ctxInc = 0
else
ctxInc = 1
[00122] いくつかの実施形態では、ルーマとクロマとに別個のコンテキスト変数が、変換スキップモードのabs_level_gtx_flagを符号化するために使用され得る。変換スキップのabs_level_gtx_flagを符号化するためのコンテキストインデックスは、次のように導出され得る。このプロセスへの入力は、色成分インデックスcIdxであり得る。このプロセスの出力は、符号化インデックス変数ctxIncであり得る。いくつかの実施形態では、変数ctxIncは、以下のように導出され得る。シンタックス要素abs_level_gtx_flag[n][j](j > 0)のコンテキストインデックスが、ctxInc = j - 1として導出され、クロマ成分(例えば、0より大であるcIdx)については、コンテキストインデックスは、ctxInc = ctxInc + 4のようにインクリメントされる。
[00123] VVC(例えば、VVC7)では、6つのコンテキスト変数が、変換スキップモードのcoeff_sign_flagを符号化するために使用され得る。いくつかの実施形態では、合計12のコンテキスト変数(ルーマに6つ、クロマに6つ)が、変換スキップモードのcoeff_sign_flagを符号化するために使用され得る。変換スキップモードのcoeff_sign_flagを符号化するためのコンテキストインデックスは、隣(例えば、上隣と左隣)のcoeff_sign_flagから導出され得る。このプロセスへの入力は、色成分インデックスcIdx、ルーマロケーション(x0,y0)、及び対象の係数スキャンロケーション(xC,yC)であり得る。ルーマロケーション(x0,y0)は、対象の画像の特定のサンプル(例えば、左上サンプル)に対して、対象の変換ブロックの特定のサンプル(例えば、左上サンプル)を指定し得る。このプロセスの出力は、符号化インデックス変数ctxIncであり得る。いくつかの実施形態では、変数leftSign及びaboveSignは、以下の擬似コードにしたがって導出され得る。
if (xC == 0)
leftSign = 0
else
leftSign = CoeffSignLevel[xC - 1][yC]
if (yC == 0)
aboveSign = 0
else
aboveSign = CoeffSignLevel[xC][yC - 1]
[00124] いくつかの実施形態では、変数ctxIncは、以下の擬似コードにしたがって導出され得る。
if ((leftSign == 0 and aboveSign == 0) or (leftSign == aboveSign))
if (BdpcmFlag[x0][y0][cIdx] == 0)
ctxInc = 0
else
ctxInc = 3
else if (leftSign >= 0 and aboveSign >= 0)
if (BdpcmFlag[x0][y0][cIdx])
ctxInc = 1
else
ctxInc = 4
else
if (BdpcmFlag[x0][y0][cIdx])
ctxInc = 2
else
ctxInc = 5
if (cIdx > 0)
ctxInc = ctxInc + 6
[00125] VVC(例えば、VVC7)では、3つのコンテキスト変数が、変換スキップモードのcoded_sub_block_flagを符号化するために使用され得る。coded_sub_block_flagは、サブブロックの変換係数レベルが0に等しいか否かを指定するサブブロックフラグであり得る。例えば、coded_sub_block_flag[xS][yS]が0に等しい場合、ロケーション(xS,yS)におけるサブブロックの変換係数レベルは0に等しいと推測される。coded_sub_block_flag[xS][yS]が1に等しい場合、ロケーション(xS,yS)におけるサブブロックの変換係数レベルの少なくとも1つが非ゼロ値を有する。いくつかの実施形態では、合計6つのコンテキスト変数(ルーマに3つ、クロマに3つ)が、変換スキップモードのcoded_sub_block_flagを符号化するために使用され得る。変換スキップモードのcoded_sub_block_flagを符号化するためのコンテキストインデックスは、上隣と左隣のcoded_sub_block_flagから導出され得る。このプロセスへの入力は、色成分インデックスcIdx、ルーマロケーション(x0,y0)、対象のサブブロックスキャンロケーション(xS,yS)、シンタックス要素coded_sub_block_flagの以前に復号されたビン、変換ブロック幅の2進対数log2TbWidth、及び変換ブロック高さlog2TbHeightであり得る。ルーマロケーション(x0,y0)は、対象の画像の左上サンプルに対して、対象の変換ブロックの左上サンプルを指定し得る。このプロセスの出力は、符号化インデックス変数ctxIncであり得る。いくつかの実施形態では、変数log2SbWidth及びlog2SbHeightは、以下の擬似コードにしたがって導出され得る。
if (minimum (log2TbWidth, log2TbHeight) < 2)
log2SbWidth = 1
else
log2SbHeight = log2SbWidth
[00126] いくつかの実施形態では、変数log2SbWidth及びlog2SbHeightは、以下の擬似コードにしたがって修正され得る。
if (log2TbWidth < 2 and cIdx == 0)
log2SbWidth = log2TbWidth
log2SbHeight = 4 - log2SbWidth
else if (log2TbHeight < 2 and cIdx == 0)
log2SbHeight = log2TbHeight
log2SbWidth = 4 - log2SbHeight
[00127] いくつかの実施形態では、変数csbfCtxは、0として初期化され、以下の擬似コードにしたがって修正され得る。
if (xS > 0)
csbfCtx = csbfCtx + coded_sub_block_flag[xS - 1][yS]
if (yS > 0)
csbfCtx = csbfCtx + coded_sub_block_flag[xS][yS - 1]
[00128] いくつかの実施形態では、コンテキストインデックス変数ctxIncは、以下の擬似コードにしたがって、色成分インデックスcIdx及びcsbfCtxを使用して導出され得る。
if (cIdx == 0)
ctxInc = csbfCtx
else
ctxInc = 3 + csbfCtx
[00129] いくつかの実施形態では、命令を含む非一時的コンピュータ可読記憶媒体も提供され、命令は、上記の方法を実行するためのデバイス(開示されているエンコーダ及びデコーダなど)によって実行され得る。非一時的媒体の一般的な形態としては、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、又は任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、孔のパターンを持つ任意の物理媒体、RAM、PROM、及びEPROM、FLASH(登録商標)-EPROM又は任意の他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、任意の他のメモリチップ又はカートリッジ、並びにそれらのネットワークバージョンが挙げられる。デバイスは、1つ又は複数のプロセッサ(CPU)、入出力インターフェース、ネットワークインターフェース、及び/又はメモリを備え得る。
[00130] 本明細書において、「第1」及び「第2」などの関係用語は、エンティティ又は動作を別のエンティティ又は動作から区別するためにのみ使用され、これらのエンティティ又は動作の間のいかなる実際の関係又は順序をも必要としたり示唆したりするものではないことに留意されたい。更に、「含む/備える(comprising)」、「有する(having)」、「含む(containing)」、及び「含む/備える(including)」の単語、並びに他の同様の形態は、意味において均等であり、これらの単語のいずれか1つに続く1つ又は複数の項目が、そのような1つ若しくは複数の項目の網羅的な列挙であることを意味しない、又は列挙された1つ若しくは複数の項目のみに限定されることを意味しないという点でオープンエンドであることが意図されている。
[00131] 本明細書で使用される場合、特に別段の記載のない限り、「又は」という用語は、実行不可能な場合を除いて、すべての可能な組み合わせを包含する。例えば、データベースがA又はBを含み得ると記載されている場合、特に別段の記載のない限り、又は実行不可能でない限り、データベースは、A、又はB、又はA及びBを含み得る。別の例として、データベースがA、B、又はCを含み得ると記載されている場合、特に別段の記載のない限り、又は実行不可能でない限り、データベースは、A、又はB、又はC、又はA及びB、又はA及びC、又はB及びC、又はA及びB及びCを含み得る。
[00132] 上記の実施形態は、ハードウェア、又はソフトウェア(プログラムコード)、又はハードウェアとソフトウェアとの組み合わせによって実装され得ることを理解されたい。ソフトウェアによって実装される場合、ソフトウェアは上記のコンピュータ可読媒体に格納され得る。ソフトウェアは、プロセッサによって実行されると、開示された方法を実行し得る。本開示で説明されるコンピューティングユニット及び他の機能ユニットは、ハードウェア、又はソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって実装され得る。また、上記のモジュール/ユニットのうちの複数が1つのモジュール/ユニットとして組み合わされてもよく、上記のモジュール/ユニットのそれぞれが複数のサブモジュール/サブユニットに更に分割されてもよいことが当業者には理解されよう。
[00133] 上記明細書では、実装形態ごとに変化し得る多数の具体的な詳細を参照して実施形態を説明してきた。説明された実施形態に対して、ある程度の適合及び修正を行うことができる。当業者であれば、本明細書を検討すれば、また本明細書に開示される本発明を実施することにより、他の実施形態を想到し得る。本明細書及び各例は単なる例示として見なされ、本発明の真の範囲及び趣旨は以下の特許請求の範囲によって示されることが意図されている。また、図に示されている一連の工程は、説明のみを目的としており、いかなる特定の一連の工程にも限定されるように意図されていないことも意図されている。そのため、同じ方法を実施しながら、これらの工程を異なる順序で実行し得ることを当業者は理解されよう。
[00134] 以下の条項を使用して実施形態を更に説明することができる。
1.
ビデオデータのエンコーダによって実施される符号化方法であって、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、
スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス符号化することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す、
符号化方法。
2.
スキャンする第1のパスの前に、変換係数をスキャンする第2のパスを実行することを更に含み、
スキャンする第2のパスが、1より大のフラグを符号化することを含み、1より大のフラグが、絶対値が1より大であるか否かを示し、
スキャンする第1のパスが、1より大のフラグが、絶対値が1より大であると示すことに応じて、パリティレベルフラグをバイパス符号化することを更に含む、
条項1に記載の符号化方法。
3.
サブブロックが複数の変換係数を有し、スキャンする第2のパスを実行することが、
コンテキスト符号化されたビンの数が最大限度に到達するまで、複数の変換係数をスキャンすることと、
コンテキスト符号化されたビンの数が最大限度に到達したことに応じて、第2のパスでスキャンされない変換係数のレベルの絶対値をバイパス符号化することであって、バイパス符号化することが、ゴロム・ライス符号化を使用してスキャンされない変換係数の絶対値を2値化することを含む、ことと
を更に含む、条項2に記載の符号化方法。
4.
スキャンする第2のパスが、
変換係数の有意フラグを符号化することであって、有意フラグが、変換係数のレベルがゼロであるか否かを示す、ことと、
有意フラグが、変換係数のレベルがゼロではないと示すことに応じて、1より大のフラグを符号化することと
を更に含む、条項2又は3に記載の符号化方法。
5.
スキャンする第2のパスが、
1より大のフラグが、絶対値が1より大であると示すことに応じて、変換係数の3より大のフラグを符号化することを更に含み、3より大のフラグが、絶対値が3より大であるか否かを示す、
条項2~4のいずれか一項に記載の符号化方法。
6.
スキャンする第2のパスの後、且つスキャンする第1のパスの前に、変換係数をスキャンする第3のパスを実行することを更に含み、
スキャンする第3のパスが、
3より大のフラグが、絶対値が3より大であると示すことに応じて、変換係数の5より大のフラグを符号化することであって、5より大のフラグが、絶対値が5より大であるか否かを示す、ことと、
5より大のフラグが、絶対値が5より大であると示すことに応じて、変換係数の7より大のフラグを符号化することであって、7より大のフラグが、絶対値が7より大であるか否かを示す、ことと、
7より大のフラグが、絶対値が7より大であると示すことに応じて、変換係数の9より大のフラグを符号化することであって、9より大のフラグが、絶対値が9より大であるか否かを示す、ことと
を含む、こと
条項5に記載の符号化方法。
7.
スキャンする第1のパスが、
9より大のフラグが、絶対値が9より大であると示すことに応じて、変換係数の残りの絶対レベルフラグを符号化することを更に含み、残りの絶対レベルフラグが、変換係数のレベルの残りの絶対値を示す、
条項6に記載の符号化方法。
8.
スキャンする第2のパスの後、且つスキャンする第1のパスの前に、変換係数をスキャンする第3のパスを実行することを更に含み、
スキャンする第3のパスが、
1より大のフラグが、絶対値が1より大であると示すことに応じて、変換係数の3より大のフラグを符号化することであって、3より大のフラグが、絶対値が3より大であるか否かを示す、こと
を更に含む、
条項2に記載の符号化方法。
9.
スキャンする第3のパスが、
3より大のフラグが、絶対値が3より大であると示すことに応じて、変換係数の5より大のフラグを符号化することであって、5より大のフラグが、絶対値が5より大であるか否かを示す、ことと、
5より大のフラグが、絶対値が5より大であると示すことに応じて、変換係数の7より大のフラグを符号化することであって、7より大のフラグが、絶対値が7より大であるか否かを示す、ことと、
7より大のフラグが、絶対値が7より大であると示すことに応じて、変換係数の9より大のフラグを符号化することであって、9より大のフラグが、絶対値が9より大であるか否かを示す、ことと
を更に含む、条項8に記載の符号化方法。
10.
スキャンする第1のパスが、
9より大のフラグが、絶対値が9より大であると示すことに応じて、変換係数の残りの絶対レベルフラグを符号化することを更に含み、残りの絶対レベルフラグが、変換係数のレベルの残りの絶対値を示す、
条項9に記載の符号化方法。
11.
サブブロックが複数の変換係数を有し、スキャンする第1のパスが、逆の順序で複数の変換係数をスキャンすることによって実行される、条項1~10のいずれか一項に記載の符号化方法。
12.
スキャンする第1のパスを実行することの前に、複数の変換係数を反転すること
を更に含む、条項11に記載の符号化方法。
13.
符号化方法が変換スキップ残差符号化方法である、条項1~12のいずれか一項に記載の符号化方法。
14.
ビデオフレームを受信することと、
ビデオフレームを複数のサブブロックに分割することと
を更に含む、条項1~13のいずれか一項に記載の符号化方法。
15.
ビデオデータのデコーダによって実施される復号方法であって、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、
スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス復号することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す、
復号方法。
16.
スキャンする第1のパスの前に、変換係数をスキャンする第2のパスを実行することを更に含み、
スキャンする第2のパスが、1より大のフラグを復号することを含み、1より大のフラグが、絶対値が1より大であるか否かを示し、
スキャンする第1のパスが、1より大のフラグが、絶対値が1より大であると示すことに応じて、第1のパスにおいてパリティレベルフラグをバイパス復号することを更に含む、
条項15に記載の復号方法。
17.
スキャンする第2のパスが、
変換係数の有意フラグを復号することであって、有意フラグが、変換係数のレベルがゼロであるか否かを示す、ことと、
有意フラグが、変換係数のレベルがゼロではないと示すことに応じて、1より大のフラグを復号することと
を更に含む、条項16に記載の復号方法。
18.
スキャンする第1のパスが、
1より大のフラグが、絶対値が1より大であると示すことに応じて、変換係数の3より大のフラグを復号することであって、3より大のフラグが、絶対値が3より大であるか否かを示す、ことと、
3より大のフラグが、絶対値が3より大であると示すことに応じて、変換係数の5より大のフラグを復号することであって、5より大のフラグが、絶対値が5より大であるか否かを示す、ことと、
5より大のフラグが、絶対値が5より大であると示すことに応じて、変換係数の7より大のフラグを復号することであって、7より大のフラグが、絶対値が7より大であるか否かを示す、ことと、
7より大のフラグが、絶対値が7より大であると示すことに応じて、変換係数の9より大のフラグを復号することであって、9より大のフラグが、絶対値が9より大であるか否かを示す、ことと
を更に含む、条項16に記載の復号方法。
19.
変換係数をスキャンする第3のパスを実行することを更に含み、
スキャンする第3のパスが、9より大のフラグが、絶対値が9より大であると示すことに応じて、変換係数の残りの絶対レベルフラグを復号することを含み、残りの絶対レベルフラグが、変換係数のレベルの残りの絶対値を示す、
条項18に記載の復号方法。
20.
サブブロックが複数の変換係数を有し、
スキャンする第1のパスが、サブブロックの右下隅からサブブロックの左上隅まで複数の変換係数をスキャンすることによって実行される、条項15に記載の復号方法。
21.
スキャンする第1のパスを実行することの前に、複数の変換係数を反転すること
を更に含む、条項20に記載の復号方法。
22.
復号方法が変換スキップ残差復号方法である、条項15~21のいずれか一項に記載の復号方法。
23.
ビデオデータを符号化するシステムであって、本システムが、
一組の命令を格納するメモリと、
プロセッサとを備え、プロセッサが、一組の命令を実行して、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することをシステムに行わせるように構成され、
スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス符号化することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す、
ビデオデータを符号化するシステム。
24.
ビデオデータを復号するシステムであって、本システムが、
一組の命令を格納するメモリと、
プロセッサとを備え、プロセッサが、一組の命令を実行して、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することをシステムに行わせるように構成され、
スキャンする第1のパスが、変換のパリティレベルフラグを復号することでを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す、
ビデオデータを復号するシステム。
25.
ビデオデータのエンコーダによって実施される符号化方法であって、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することと、
ブブロックの変換係数をスキャンする第2のパスを実行することとを含み、
スキャンする第1のパスを実行することが、コンテキスト符号化されたビンの数が最大限度に到達すると停止され、
サブブロックの変換係数の第1のセットが第1のパスでスキャンされ、
スキャンする第1のパスが、変換係数の第1のセットのそれぞれについて、変換係数のレベルがゼロであるか否かを示す有意フラグを符号化することを含み、
スキャンする第2のパスが、変換係数の第2のセットのそれぞれについてレベルの絶対値を2値化することを含み、変換係数の第2のセットが第1のパスでスキャンされない、
符号化方法。
26.
スキャンする第1のパスが、
第1の変換係数の有意フラグが、第1の変換係数のレベルがゼロではないと示すことに応じて、第1の変換係数の1より大のフラグを符号化することを更に含み、第1の変換係数が、変換係数の第1のセットの1つであり、1より大のフラグが、第1の変換係数のレベルの絶対値が1より大であるか否かを示す、
条項25に記載の符号化方法。
27.
スキャンする第1のパスが、
1より大のフラグが、第1の変換係数のレベルの絶対値が1より大であると示すことに応じて、第1の変換係数の3より大のフラグを符号化することであって、3より大のフラグが、第1の変換係数のレベルの絶対値が3より大であるか否かを示し、スキャンする第1のパスを実行することが、残りのコンテキスト符号化されたビンの数がグループ限度未満である場合に停止される、ことと、
3より大のフラグが、第1の変換係数のレベルの絶対値が3より大であると示すことに応じて、第1の変換係数の5より大のフラグを符号化することであって、5より大のフラグが、第1の変換係数のレベルの絶対値が5より大であるか否かを示す、ことと、
5より大のフラグが、第1の変換係数のレベルの絶対値が5より大であると示すことに応じて、第1の変換係数の7より大のフラグを符号化することであって、7より大のフラグが、第1の変換係数のレベルの絶対値が7より大であるか否かを示す、ことと、
7より大のフラグが、第1の変換係数のレベルの絶対値が7より大であると示すことに応じて、第1の変換係数の9より大のフラグを符号化することであって、9より大のフラグが、第1の変換係数のレベルの絶対値が9より大であるか否かを示す、ことと
を更に含む、条項26に記載の符号化方法。
28.
スキャンする第2のパスが、
9より大のフラグが、第1の変換係数のレベルの絶対値が9より大であると示すことに応じて、第1の変換係数の残りの絶対レベルフラグを符号化することであって、残りの絶対レベルフラグが、第1の変換係数のレベルの残りの絶対値を示す、こと
を更に含む、条項27に記載の符号化方法。
29.
第1のパス及び第2のパスのそれぞれが、逆の順序でサブブロックの変換係数をスキャンすることによって実行される、条項25~28のいずれか一項に記載の符号化方法。
30.
第1のパスを実行することの前に、サブブロックの変換係数を反転すること
を更に含む、条項29に記載の符号化方法。
31.
符号化方法が変換スキップ残差符号化方法である、条項25~30のいずれか一項に記載の符号化方法。
32.
変換係数の第2のセットのそれぞれについてレベルの絶対値を2値化することが、
ゴロム・ライス符号を使用して絶対値を2値化すること
を更に含む、条項25~31のいずれか一項に記載の符号化方法。
33.
ビデオデータのデコーダによって実施される復号方法であって、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することと、
サブブロックの変換係数をスキャンする第2のパスを実行することとを含み、
スキャンする第1のパスを実行することが、コンテキスト符号化されたビンの数が最大限度に到達すると停止され、
サブブロックの変換係数の第1のセットが第1のパスでスキャンされ、
スキャンする第1のパスが、変換係数の第1のセットのそれぞれについて、変換係数のレベルがゼロであるか否かを示す有意フラグを復号することを含み、
スキャンする第2のパスが、変換係数の第2のセットのそれぞれについてレベルの2値化された絶対値を復号することを含み、変換係数の第2のセットが第1のパスでスキャンされない、
復号方法。
34.
スキャンする第1のパスが、
第1の変換係数の有意フラグが、第1の変換係数のレベルがゼロではないと示すことに応じて、第1の変換係数の1より大のフラグを復号することであって、第1の変換係数が、変換係数の第1のセットの1つであり、1より大のフラグが、第1の変換係数のレベルの絶対値が1より大であるか否かを示す、こと
を更に含む、条項33に記載の復号方法。
35.
スキャンする第1のパスが、
1より大のフラグが、第1の変換係数のレベルの絶対値が1より大であると示すことに応じて、第1の変換係数の3より大のフラグを復号することであって、3より大のフラグが、スキャンされている第1の変換係数のレベルの絶対値が3より大であるか否かを示し、スキャンする第1のパスを実行することが、残りのコンテキスト符号化されたビンの数がグループ限度未満である場合に停止される、ことと、
3より大のフラグが、第1の変換係数のレベルの絶対値が3より大であると示すことに応じて、第1の変換係数のそれぞれの5より大のフラグを復号することであって、5より大のフラグが、第1の変換係数のレベルの絶対値が5より大であるか否かを示す、ことと、
5より大のフラグが、第1の変換係数のレベルの絶対値が5より大であると示すことに応じて、第1の変換係数のそれぞれの7より大のフラグを復号することであって、7より大のフラグが、第1の変換係数のレベルの絶対値が7より大であるか否かを示す、ことと、
7より大のフラグが、第1の変換係数のレベルの絶対値が7より大であると示すことに応じて、第1の変換係数のそれぞれの9より大のフラグを復号することであって、9より大のフラグが、第1の変換係数のレベルの絶対値が9より大であるか否かを示す、ことと
を更に含む、条項34に記載の復号方法。
36.
スキャンする第2のパスが、
9より大のフラグが、スキャンされている第1の変換係数のレベルの絶対値が9より大であると示すことに応じて、第1の変換係数の残りの絶対レベルフラグを復号することであって、残りの絶対レベルフラグが、第1の変換係数のレベルの残りの絶対値を示す、こと
を更に含む、条項35に記載の復号方法。
37.
符号化方法が変換スキップ残差符号化方法である、条項33~36のいずれか一項に記載の復号方法。
38.
変換係数の第2のセットのそれぞれのレベルの2値化された絶対値を復号することが、
ゴロム・ライス符号を使用して絶対値を復号すること
を更に含む、条項9~13のいずれか一項に記載の復号方法。
39.
ビデオデータを符号化するシステムであって、本システムが、
一組の命令を格納するメモリと、
プロセッサとを備え、プロセッサが、一組の命令を実行して、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することと、
サブブロックの変換係数をスキャンする第2のパスを実行することとをシステムに行わせるように構成され、
スキャンする第1のパスを実行することが、コンテキスト符号化されたビンの数が最大限度に到達すると停止され、
サブブロックの変換係数の第1のセットが第1のパスでスキャンされ、
スキャンする第1のパスが、変換係数の第1のセットのそれぞれについて、変換係数のレベルがゼロであるか否かを示す有意フラグを符号化することを含み、
スキャンする第2のパスが、変換係数の第2のセットのそれぞれのレベルの絶対値を2値化することを含み、変換係数の第2のセットが第1のパスでスキャンされない、
ビデオデータを符号化するシステム。
40.
ビデオデータを復号するシステムであって、本システムが、
一組の命令を格納するメモリと、
プロセッサとを備え、プロセッサが、一組の命令を実行して、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することと、
サブブロックの変換係数をスキャンする第2のパスを実行することとをシステムに行わせるように構成され、
スキャンする第1のパスを実行することが、コンテキスト符号化されたビンの数が最大限度に到達すると停止され、
サブブロックの変換係数の第1のセットが第1のパスでスキャンされ、
スキャンする第1のパスが、変換係数の第1のセットのそれぞれについて、変換係数のレベルがゼロであるか否かを示す有意フラグを復号することを含み、
スキャンする第2のパスが、変換係数の第2のセットのそれぞれのレベルの2値化された絶対値を復号することを含み、変換係数の第2のセットが第1のパスでスキャンされない、
ビデオデータを復号するシステム。
41.
ビデオフレームのルーマ成分のコンテキスト変数の第1のセットを生成することと、
ビデオフレームのクロマ成分のコンテキスト変数の第2のセットを生成することと、
ビデオフレームのサブブロックを生成することと、
コンテキスト変数の第1のセットとコンテキスト変数の第2のセットとにしたがってサブブロックの変換係数の第1のセットを符号化することと
を含む、ビデオデータのエンコーダによって実施される符号化方法。
42.
変換係数の第1のセットを符号化することが、
コンテキスト変数の第1のセットからの3つのコンテキスト変数とコンテキスト変数の第2のセットからの3つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数の有意フラグを符号化することを含み、有意フラグが、変換係数のレベルがゼロであるか否かを示す、
条項41に記載の符号化方法。
43.
コンテキスト変数の第1のセットからの3つのコンテキスト変数と、コンテキスト変数の第2のセットからの3つのコンテキスト変数とを生成することを更に含み、生成することが、色成分インデックスと、ビデオフレームに対するサブブロックのロケーションを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項42に記載の符号化方法。
44.
変換係数の第1のセットを符号化することが、
コンテキスト変数の第1のセットからの4つのコンテキスト変数とコンテキスト変数の第2のセットからの4つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数のxより大のフラグを符号化することを含み、xより大のフラグが、変換係数のレベルの絶対値がxより大であるか否かを示す、
条項41~43のいずれか一項に記載の符号化方法。
45.
コンテキスト変数の第1のセットからの4つのコンテキスト変数と、コンテキスト変数の第2のセットからの4つのコンテキスト変数とを生成することを更に含み、生成することが、色成分インデックスと、ビデオフレームに対するサブブロックのロケーションを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項44に記載の符号化方法。
46.
変換係数の第1のセットを符号化することが、
コンテキスト変数の第1のセットからの1つのコンテキスト変数とコンテキスト変数の第2のセットからの1つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数のパリティフラグを符号化することを含み、パリティフラグが、変換係数のレベルの絶対値のパリティであることを示す、
条項41~45のいずれか一項に記載の符号化方法。
47.
色成分インデックスにしたがって、コンテキスト変数の第1のセットからの1つのコンテキスト変数と、コンテキスト変数の第2のセットからの1つのコンテキスト変数とを生成すること
を更に含む、条項46に記載の符号化方法。
48.
変換係数の第1のセットを符号化することが、
コンテキスト変数の第1のセットからの6つのコンテキスト変数とコンテキスト変数の第2のセットからの6つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数の係数符号フラグを符号化することを含み、係数符号フラグが、変換係数の値の符号を示す、
条項41~47のいずれか一項に記載の符号化方法。
49.
コンテキスト変数の第1のセットからの6つのコンテキスト変数と、コンテキスト変数の第2のセットからの6つのコンテキスト変数とを生成することを更に含み、生成することが、ビデオフレームに隣接するビデオフレームの有意係数の数と、ビデオフレームに対するサブブロックのロケーションを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項48に記載の方法。
50.
変換係数の第1のセットを符号化することが、
コンテキスト変数の第1のセットからの3つのコンテキスト変数とコンテキスト変数の第2のセットからの3つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数のサブブロックフラグを符号化すること
を含む、条項41~49のいずれか一項に記載の方法。
51.
コンテキスト変数の第1のセットからの3つのコンテキスト変数と、コンテキスト変数の第2のセットからの3つのコンテキスト変数とを生成することを更に含み、生成することが、ビデオフレームに隣接するビデオフレームの有意係数の数と、ビデオフレームに対するサブブロックのロケーションを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項50に記載の方法。
52.
ビデオビットストリームを受信することと、
ビデオビットストリームを複数のサブブロックに分割することと、
サブブロックのルーマ成分のコンテキスト変数の第1のセットを生成することと、
サブブロックのクロマ成分のコンテキスト変数の第2のセットを生成することと、
コンテキスト変数の第1のセットとコンテキスト変数の第2のセットとにしたがってサブブロックの変換係数の第1のセットをコンテキスト符号化することと
を含む、ビデオ処理方法。
53.
ビデオフレームを受信することと、
ビデオフレームを複数のサブブロックに分割することと、
ビデオフレームのルーマ成分のコンテキスト変数の第1のセットを生成することと、
ビデオフレームのクロマ成分のコンテキスト変数の第2のセットを生成することと、
コンテキスト変数の第1のセットとコンテキスト変数の第2のセットとにしたがってサブブロックの変換係数の第1のセットを復号することと
を含む、ビデオデータのデコーダによって実施される復号方法。
54.
変換係数の第1のセットを復号することが、
コンテキスト変数の第1のセットからの3つのコンテキスト変数とコンテキスト変数の第2のセットからの3つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数の有意フラグを復号することを含み、有意フラグが、変換係数のレベルがゼロであるか否かを示す、
条項53に記載の復号方法。
55.
コンテキスト変数の第1のセットからの3つのコンテキスト変数と、コンテキスト変数の第2のセットからの3つのコンテキスト変数とを生成することを更に含み、生成することが、色成分インデックスと、ビデオフレームの左上サンプルに対する対象の変換ブロックの左上サンプルを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項54に記載の復号方法。
56.
変換係数の第1のセットを復号することが、
コンテキスト変数の第1のセットからの4つのコンテキスト変数とコンテキスト変数の第2のセットからの4つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数のxより大のフラグを復号すること
を含む、条項53~55のいずれか一項に記載の復号方法。
57.
コンテキスト変数の第1のセットからの4つのコンテキスト変数と、コンテキスト変数の第2のセットからの4つのコンテキスト変数とを生成することを更に含み、生成することが、色成分インデックスと、ビデオフレームの左上サンプルに対する対象の変換ブロックの左上サンプルを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項56に記載の復号方法。
58.
変換係数の第1のセットを復号することが、
コンテキスト変数の第1のセットからの1つのコンテキスト変数とコンテキスト変数の第2のセットからの1つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数のパリティフラグを復号すること
を含む、条項53~57のいずれか一項に記載の復号方法。
59.
コンテキスト変数の第1のセットからの1つのコンテキスト変数と、コンテキスト変数の第2のセットからの1つのコンテキスト変数とを生成することを更に含み、生成することが、色成分インデックスに基づく、
条項58に記載の復号方法。
60.
変換係数の第1のセットを復号することが、
コンテキスト変数の第1のセットからの6つのコンテキスト変数とコンテキスト変数の第2のセットからの6つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数のコンテキスト係数符号フラグを復号すること
を含む、条項53~59のいずれか一項に記載の復号方法。
61.
コンテキスト変数の第1のセットからの6つのコンテキスト変数と、コンテキスト変数の第2のセットからの6つのコンテキスト変数とを生成することを更に含み、生成することが、ビデオフレームの上隣と左隣とのビデオフレームの有意係数の数と、ビデオフレームの左上サンプルに対する対象の変換ブロックの左上サンプルを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項60に記載の復号方法。
62.
変換係数の第1のセットを復号することが、
コンテキスト変数の第1のセットからの3つのコンテキスト変数とコンテキスト変数の第2のセットからの3つのコンテキスト変数とにしたがって、変換係数の第1のセットの変換係数のサブブロックフラグを復号すること
を含む、条項53~61のいずれか一項に記載の復号方法。
63.
コンテキスト変数の第1のセットからの3つのコンテキスト変数と、コンテキスト変数の第2のセットからの3つのコンテキスト変数とを生成することを更に含み、生成することが、ビデオフレームの上隣と左隣とのビデオフレームの有意係数の数と、ビデオフレームの左上サンプルに対する対象変換ブロックの左上サンプルを指定するルーマロケーションと、対象の係数スキャンロケーションとに基づく、
条項62に記載の復号方法。
64.
ビデオデータを符号化するシステムであって、本システムが、
一組の命令を格納するメモリと、
プロセッサとを備え、プロセッサが、一組の命令を実行して、
ビデオフレームのルーマ成分のコンテキスト変数の第1のセットを生成することと、
ビデオフレームのクロマ成分のコンテキスト変数の第2のセットを生成することと、
ビデオフレームのサブブロックを生成することと、
コンテキスト変数の第1のセットとコンテキスト変数の第2のセットとにしたがってサブブロックの変換係数の第1のセットを符号化することと
をシステムに行わせるように構成される、
ビデオデータを符号化するシステム。
65.
ビデオデータを復号するシステムであって、本システムが、
一組の命令を格納するメモリと、
プロセッサとを備え、プロセッサが、一組の命令を実行して、
ビデオフレームを受信することと、
ビデオフレームを複数のサブブロックに分割することと、
ビデオフレームのルーマ成分のコンテキスト変数の第1のセットを生成することと、
ビデオフレームのクロマ成分のコンテキスト変数の第2のセットを生成することと、
コンテキスト変数の第1のセットとコンテキスト変数の第2のセットとにしたがってサブブロックの変換係数の第1のセットを復号することと
をシステムに行わせるように構成される、
ビデオデータを復号するシステム。
66.
一組の命令を格納する非一時的コンピュータ可読媒体であって、一組の命令は、ビデオデータを符号化するための方法を装置に開始させるように、装置の1つ又は複数のプロセッサによって実行可能であり、本方法が、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、
スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス符号化することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す、
非一時的コンピュータ可読媒体。
67.
一組の命令を格納する非一時的コンピュータ可読媒体であって、一組の命令が、ビデオデータを復号するための方法を装置に開始させるように、装置の1つ又は複数のプロセッサによって実行可能であり、本方法が、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、
スキャンする第1のパスが、変換係数のパリティレベルフラグをバイパス復号することを含み、パリティレベルフラグが変換係数のレベルの絶対値のパリティを示す、
非一時的コンピュータ可読媒体。
68.
一組の命令を格納する非一時的コンピュータ可読媒体であって、一組の命令が、ビデオデータを符号化するための方法を装置に開始させるように、装置の1つ又は複数のプロセッサによって実行可能であり、本方法が、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することと、
サブブロックの変換係数をスキャンする第2のパスを実行することとを含み、
スキャンする第1のパスを実行することが、コンテキスト符号化されたビンの数が最大限度に到達すると停止され、
サブブロックの変換係数の第1のセットが第1のパスでスキャンされ、
スキャンする第1のパスが、変換係数の第1のセットのそれぞれについて、変換係数のレベルがゼロであるか否かを示す有意フラグを符号化することを含み、
スキャンする第2のパスが、変換係数の第2のセットのそれぞれのレベルの絶対値を2値化することを含み、変換係数の第2のセットが第1のパスでスキャンされない、
非一時的コンピュータ可読媒体。
69.
一組の命令を格納する非一時的コンピュータ可読媒体であって、一組の命令が、ビデオデータを復号するための方法を装置に開始させるように、装置の1つ又は複数のプロセッサによって実行可能であり、本方法が、
ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することと、
サブブロックの変換係数をスキャンする第2のパスを実行することとを含み、
スキャンする第1のパスを実行することが、コンテキスト符号化されたビンの数が最大限度に到達すると停止され、
サブブロックの変換係数の第1のセットが第1のパスでスキャンされ、
スキャンする第1のパスが、変換係数の第1のセットのそれぞれについて、変換係数のレベルがゼロであるか否かを示す有意フラグを復号することを含み、
スキャンする第2のパスが、変換係数の第2のセットのそれぞれのレベルの2値化された絶対値を復号することを含み、変換係数の第2のセットが第1のパスでスキャンされない、
非一時的コンピュータ可読媒体。
70.
一組の命令を格納する非一時的コンピュータ可読媒体であって、一組の命令が、ビデオデータを符号化するための方法を装置に開始させるように、装置の1つ又は複数のプロセッサによって実行可能であり、本方法が、
ビデオフレームのルーマ成分のコンテキスト変数の第1のセットを生成することと、
ビデオフレームのクロマ成分のコンテキスト変数の第2のセットを生成することと、
ビデオフレームのサブブロックを生成することと、
コンテキスト変数の第1のセットとコンテキスト変数の第2のセットとにしたがってサブブロックの変換係数の第1のセットを符号化することと
を含む、非一時的コンピュータ可読媒体。
71.
一組の命令を格納する非一時的コンピュータ可読媒体であって、一組の命令が、ビデオデータを復号するための方法を装置に開始させるように、装置の1つ又は複数のプロセッサによって実行可能であり、本方法が、
ビデオフレームを受信することと、
ビデオフレームを複数のサブブロックに分割することと、
ビデオフレームのルーマ成分のコンテキスト変数の第1のセットを生成することと、
ビデオフレームのクロマ成分のコンテキスト変数の第2のセットを生成することと、
コンテキスト変数の第1のセットとコンテキスト変数の第2のセットとにしたがってサブブロックの変換係数の第1のセットを復号することと
を含む、非一時的コンピュータ可読媒体。
[00135] 図面及び明細書において、例示的な実施形態を開示してきた。しかしながら、これらの実施形態には多くの変形及び修正を加えることができる。したがって、特定の用語が使用されているが、それらは一般的且つ説明的な意味でのみ使用されており、限定の目的では使用されていない。

Claims (24)

  1. ビデオデータのエンコーダによって実施される符号化方法であって、
    ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、
    前記スキャンする第1のパスが、前記変換係数のパリティレベルフラグをバイパス符号化することを含み、前記パリティレベルフラグが前記変換係数のレベルの絶対値のパリティを示す、
    符号化方法。
  2. 前記スキャンする第1のパスの前に、前記変換係数をスキャンする第2のパスを実行することを更に含み、
    前記スキャンする第2のパスが、1より大のフラグを符号化することを含み、前記1より大のフラグが、前記絶対値が1より大であるか否かを示し、
    前記スキャンする第1のパスが、前記1より大のフラグが、前記絶対値が1より大であると示すことに応じて、前記パリティレベルフラグをバイパス符号化することを更に含む、
    請求項1に記載の符号化方法。
  3. 前記サブブロックが複数の変換係数を有し、前記スキャンする第2のパスを実行することが、
    コンテキスト符号化されたビンの数が最大限度に到達するまで、前記複数の変換係数をスキャンすることと、
    前記コンテキスト符号化されたビンの数が前記最大限度に到達したことに応じて、前記第2のパスでスキャンされない変換係数のレベルの絶対値をバイパス符号化することであって、前記バイパス符号化することが、ゴロム・ライス符号化を使用して前記絶対値を2値化することを含む、ことと
    を更に含む、請求項2に記載の符号化方法。
  4. 前記スキャンする第2のパスが、
    前記変換係数の有意フラグを符号化することであって、前記有意フラグが、前記変換係数の前記レベルがゼロであるか否かを示す、ことと、
    前記変換係数の前記レベルがゼロではないことを示す前記有意フラグに応じて、前記1より大のフラグを符号化することと
    を更に含む、請求項2に記載の符号化方法。
  5. 前記スキャンする第2のパスが、
    前記1より大のフラグが、前記絶対値が1より大であると示すことに応じて、前記変換係数の3より大のフラグを符号化することであって、前記3より大のフラグが、前記絶対値が3より大であるか否かを示す、こと
    を更に含む、請求項2に記載の符号化方法。
  6. 前記スキャンする第2のパスの後、且つ前記スキャンする第1のパスの前に、前記変換係数をスキャンする第3のパスを実行することを更に含み、
    前記スキャンする第3のパスが、
    前記3より大のフラグが、前記絶対値が3より大であると示すことに応じて、前記変換係数の5より大のフラグを符号化することであって、前記5より大のフラグが、前記絶対値が5より大であるか否かを示す、ことと、
    前記5より大のフラグが、前記絶対値が5より大であると示すことに応じて、前記変換係数の7より大のフラグを符号化することであって、前記7より大のフラグが、前記絶対値が7より大であるか否かを示す、ことと、
    前記7より大のフラグが、前記絶対値が7より大であると示すことに応じて、前記変換係数の9より大のフラグを符号化することであって、前記9より大のフラグが、前記絶対値が9より大であるか否かを示す、ことと
    を含む、
    請求項5に記載の符号化方法。
  7. 前記スキャンする第1のパスが、
    前記9より大のフラグが、前記絶対値が9より大であると示すことに応じて、前記変換係数の残りの絶対レベルフラグを符号化することであって、前記残りの絶対レベルフラグが、前記変換係数の前記レベルの残りの絶対値を示す、こと
    を更に含む、請求項6に記載の符号化方法。
  8. 前記スキャンする第2のパスの後、且つ前記スキャンする第1のパスの前に、前記変換係数をスキャンする第3のパスを実行することを更に含み、
    前記スキャンする第3のパスが、
    前記1より大のフラグが、前記絶対値が1より大であると示すことに応じて、前記変換係数の3より大のフラグを符号化することであって、前記3より大のフラグが、前記絶対値が3より大であるか否かを示す、こと
    を更に含む、
    請求項2に記載の符号化方法。
  9. 前記スキャンする第3のパスが、
    前記3より大のフラグが、前記絶対値が3より大であると示すことに応じて、前記変換係数の5より大のフラグを符号化することであって、前記5より大のフラグが、前記絶対値が5より大であるか否かを示す、ことと、
    前記5より大のフラグが、前記絶対値が5より大であると示すことに応じて、前記変換係数の7より大のフラグを符号化することであって、前記7より大のフラグが、前記絶対値が7より大であるか否かを示す、ことと、
    前記7より大のフラグが、前記絶対値が7より大であると示すことに応じて、前記変換係数の9より大のフラグを符号化することであって、前記9より大のフラグが、前記絶対値が9より大であるか否かを示す、ことと
    を更に含む、請求項8に記載の符号化方法。
  10. 前記スキャンする第1のパスが、
    前記9より大のフラグが、前記絶対値が9より大であると示すことに応じて、前記変換係数の残りの絶対レベルフラグを符号化することであって、前記残りの絶対レベルフラグが、前記変換係数の前記レベルの残りの絶対値を示す、こと
    を更に含む、請求項9に記載の符号化方法。
  11. 前記サブブロックが複数の変換係数を有し、前記スキャンする第1のパスが、逆の順序で前記複数の変換係数をスキャンすることによって実行される、請求項1に記載の符号化方法。
  12. 前記スキャンする第1のパスを実行することの前に、前記複数の変換係数を反転すること
    を更に含む、請求項11に記載の符号化方法。
  13. 前記符号化方法が変換スキップ残差符号化方法である、請求項1に記載の符号化方法。
  14. 前記ビデオフレームを受信することと、
    前記ビデオフレームを複数のサブブロックに分割することと
    を更に含む、請求項1に記載の符号化方法。
  15. ビデオデータのデコーダによって実施される復号方法であって、
    ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを含み、
    前記スキャンする第1のパスが、前記変換係数のパリティレベルフラグをバイパス復号することを含み、前記パリティレベルフラグが前記変換係数のレベルの絶対値のパリティを示す、
    復号方法。
  16. 前記スキャンする第1のパスの前に、前記変換係数をスキャンする第2のパスを実行することを更に含み、
    前記スキャンする第2のパスが、1より大のフラグを復号することを含み、前記1より大のフラグが、前記絶対値が1より大であるか否かを示し、
    前記スキャンする第1のパスが、前記1より大のフラグが、前記絶対値が1より大であると示すことに応じて、前記第1のパスにおいて前記パリティレベルフラグをバイパス復号することを更に含む、
    請求項15に記載の復号方法。
  17. 前記スキャンする第2のパスが、
    前記変換係数の有意フラグを復号することであって、前記有意フラグが、前記変換係数の前記レベルがゼロであるか否かを示す、ことと、
    前記有意フラグが、前記変換係数の前記レベルがゼロではないと示すことに応じて、前記1より大のフラグを復号することと
    を更に含む、請求項16に記載の復号方法。
  18. 前記スキャンする第1のパスが、
    前記1より大のフラグが、前記絶対値が1より大であると示すことに応じて、前記変換係数の3より大のフラグを復号することであって、前記3より大のフラグが、前記絶対値が3より大であるか否かを示す、ことと、
    前記3より大のフラグが、前記絶対値が3より大であると示すことに応じて、前記変換係数の5より大のフラグを復号することであって、前記5より大のフラグが、前記絶対値が5より大であるか否かを示す、ことと、
    前記5より大のフラグが、前記絶対値が5より大であると示すことに応じて、前記変換係数の7より大のフラグを復号することであって、前記7より大のフラグが、前記絶対値が7より大であるか否かを示す、ことと、
    前記7より大のフラグが、前記絶対値が7より大であると示すことに応じて、前記変換係数の9より大のフラグを復号することであって、前記9より大のフラグが、前記絶対値が9より大であるか否かを示す、ことと
    を更に含む、請求項16に記載の復号方法。
  19. 前記変換係数をスキャンする第3のパスを実行することを更に含み、
    前記スキャンする第3のパスが、
    前記9より大のフラグが、前記絶対値が9より大であると示すことに応じて、前記変換係数の残りの絶対レベルフラグを復号することであって、前記残りの絶対レベルフラグが、前記変換係数の前記レベルの残りの絶対値を示す、こと
    を含む、
    請求項18に記載の復号方法。
  20. 前記サブブロックが複数の変換係数を有し、
    前記スキャンする第1のパスが、前記サブブロックの右下隅から前記サブブロックの左上隅まで前記複数の変換係数をスキャンすることによって実行される、請求項15に記載の復号方法。
  21. 前記スキャンする第1のパスを実行することの前に、前記複数の変換係数を反転すること
    を更に含む、請求項20に記載の復号方法。
  22. 前記復号方法が変換スキップ残差復号方法である、請求項15に記載の復号方法。
  23. ビデオデータを符号化するシステムであって、前記システムが、
    一組の命令を格納するメモリと、
    プロセッサとを備え、
    前記プロセッサは、前記一組の命令を実行して、ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを前記システムに行わせるように構成され、
    前記スキャンする第1のパスが、前記変換係数のパリティレベルフラグをバイパス符号化することを含み、前記パリティレベルフラグが前記変換係数のレベルの絶対値のパリティを示す、
    ビデオデータを符号化するシステム。
  24. ビデオデータを復号するシステムであって、前記システムが、
    一組の命令を格納するメモリと、
    プロセッサとを備え、
    前記プロセッサは、前記一組の命令を実行して、ビデオフレームのサブブロックの変換係数をスキャンする第1のパスを実行することを前記システムに行わせるように構成され、
    前記スキャンする第1のパスが、前記変換係数のパリティレベルフラグを復号することを含み、前記パリティレベルフラグが前記変換係数のレベルの絶対値のパリティを示す、
    ビデオデータを復号するシステム。
JP2021571049A 2019-06-24 2020-05-12 ビデオデータの変換スキップ残差符号化 Pending JP2022538968A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962865916P 2019-06-24 2019-06-24
US62/865,916 2019-06-24
US201962902115P 2019-09-18 2019-09-18
US62/902,115 2019-09-18
US201962953460P 2019-12-24 2019-12-24
US62/953,460 2019-12-24
PCT/US2020/032460 WO2020263442A1 (en) 2019-06-24 2020-05-12 Transform-skip residual coding of video data

Publications (2)

Publication Number Publication Date
JP2022538968A true JP2022538968A (ja) 2022-09-07
JPWO2020263442A5 JPWO2020263442A5 (ja) 2023-05-12

Family

ID=74039022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021571049A Pending JP2022538968A (ja) 2019-06-24 2020-05-12 ビデオデータの変換スキップ残差符号化

Country Status (6)

Country Link
US (1) US20200404332A1 (ja)
EP (1) EP3987809A4 (ja)
JP (1) JP2022538968A (ja)
KR (1) KR20220024658A (ja)
CN (1) CN114679917A (ja)
WO (1) WO2020263442A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115460403A (zh) * 2017-07-31 2022-12-09 韩国电子通信研究院 对图像编码和解码的方法及存储比特流的计算机可读介质
CN114827608B (zh) * 2019-09-24 2023-08-01 北京达佳互联信息技术有限公司 残差和系数编解码的方法和装置
WO2023191261A1 (ko) * 2022-03-30 2023-10-05 엘지전자 주식회사 영상 코딩 시스템에서 레지듀얼 정보를 코딩하는 방법 및 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850932B1 (ko) * 2001-06-11 2008-08-12 엘지전자 주식회사 디지털 전송 시스템 및 방법
US9693056B2 (en) * 2010-10-14 2017-06-27 Thomson Licensing Method and apparatus for improved entropy encoding and decoding
US9491469B2 (en) * 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
US20130016789A1 (en) * 2011-07-15 2013-01-17 General Instrument Corporation Context modeling techniques for transform coefficient level coding
CN102255858B (zh) * 2011-08-22 2013-07-24 宁波大学 一种多媒体广播单频网鲁棒移动信号成帧调制方法
US9491463B2 (en) * 2012-04-14 2016-11-08 Qualcomm Incorporated Group flag in transform coefficient coding for video coding
US9313498B2 (en) * 2012-04-16 2016-04-12 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US20140003530A1 (en) * 2012-06-28 2014-01-02 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
WO2017142319A1 (ko) * 2016-02-16 2017-08-24 삼성전자 주식회사 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
US10628284B2 (en) * 2017-04-24 2020-04-21 Tektronix, Inc. System and method for bitstream decoding with compiler-generated syntax trees
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备

Also Published As

Publication number Publication date
WO2020263442A1 (en) 2020-12-30
EP3987809A1 (en) 2022-04-27
US20200404332A1 (en) 2020-12-24
EP3987809A4 (en) 2023-02-22
KR20220024658A (ko) 2022-03-03
CN114679917A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
CN114830670B (zh) 用于色度采样的方法和装置
WO2018099579A1 (en) Apparatus and method for encoding an image
RU2760234C2 (ru) Кодирование и декодирование данных
CN114145016A (zh) 视频信号的矩阵加权帧内预测
JP2022538968A (ja) ビデオデータの変換スキップ残差符号化
JP2023514136A (ja) クロマ信号を処理するための方法
JP2022549773A (ja) 映像データの可逆符号化
CA2917419C (en) Scanning orders for non-transform coding
CN114788284B (zh) 用于在调色板模式下对视频数据进行编码的方法和装置
CN115836525A (zh) 用于从多个交叉分量进行预测的方法和系统
CN115349228A (zh) 视频记录的符号数据隐藏
JP2023519216A (ja) ループフィルタの高レベルシンタックス制御
CN114788289A (zh) 使用调色板模式的视频处理方法和装置
CN115552900A (zh) 用信号通知最大变换大小和残差编码的方法
JP2022548204A (ja) 変換スキップモードで映像データを符号化するための方法及び装置
JP2023534098A (ja) 映像コンテンツを処理するための方法及び機器
KR20220057628A (ko) 최대 서브-블록 변환 크기를 도출하기 위한 방법 및 장치
CN114902670A (zh) 用信号通知子图像划分信息的方法和装置
GB2577350A (en) Image data encoding and decoding
US11606577B2 (en) Method for processing adaptive color transform and low-frequency non-separable transform in video coding
US20210084293A1 (en) Method and apparatus for coding video data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230428

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240417