(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-25
(54)【発明の名称】組み合わせられた可逆及び非可逆符号化のための方法及びシステム
(51)【国際特許分類】
H04N 19/103 20140101AFI20230518BHJP
H04N 19/70 20140101ALI20230518BHJP
H04N 19/174 20140101ALI20230518BHJP
【FI】
H04N19/103
H04N19/70
H04N19/174
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022560404
(86)(22)【出願日】2021-04-13
(85)【翻訳文提出日】2022-11-16
(86)【国際出願番号】 US2021027072
(87)【国際公開番号】W WO2021211576
(87)【国際公開日】2021-10-21
(32)【優先日】2020-04-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-04-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521328755
【氏名又は名称】オーピー ソリューションズ, エルエルシー
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100211395
【氏名又は名称】鈴木 裕貴
(72)【発明者】
【氏名】ハリ カルバ
(72)【発明者】
【氏名】ボリヴォイェ ファート
(72)【発明者】
【氏名】ヴェリボール アジッチ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA01
5C159MA04
5C159MA05
5C159MA45
5C159ME11
5C159RB09
5C159RC12
5C159TA17
5C159TB04
5C159TB06
5C159TB08
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
デコーダは、ビットストリームを受信することと、ビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1の領域及び第3の領域を含む、識別することと、ビットストリームで、第1の領域が可逆符号化プロトコルにしたがって符号化されているという指示を検出することと、現在のフレームを復号化することであって、現在のフレームを復号化することは、可逆符号化プロトコルに対応する可逆復号化プロトコルを使用して第1の領域を復号化することをさらに含む、復号化することと、を行うように構成されている回路を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
符号化されたビデオビットストリームを受信することと、
前記ビットストリームで、現在のフレームを識別することであって、前記現在のフレームは、第1の領域、第2の領域、及び第3の領域を含む、前記識別することと、
前記ビットストリームで、前記第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することと、
前記ビットストリームで、前記第2の領域が変換スキップ残差符号化を使用して符号化されていることを検出することと、
前記ビットストリームで、前記第3の領域が非可逆符号化を使用して符号化されていることを検出することであって、前記非可逆符号化は、インター予測及びイントラ予測のうちの少なくとも1つを含む、前記検出することと、
を行うように構成されている回路を含む、デコーダ。
【請求項2】
前記ビットストリームは、前記第1の領域に対応するサブピクチャヘッダをさらに含み、
前記第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することは、前記サブピクチャヘッダで、前記少なくとも第1の領域がブロック差分パルス符号変調を使用して符号化されているという指示を検出することをさらに含む、請求項1に記載のデコーダ。
【請求項3】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項2に記載のデコーダ。
【請求項4】
前記サブピクチャは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれる、請求項2に記載のデコーダ。
【請求項5】
前記ビットストリームは、前記第2の領域に対応するサブピクチャヘッダをさらに含み、
前記デコーダは、前記サブピクチャヘッダで、変換スキップ残差符号化を使用する前記第2の領域が変換スキップ残差符号化を使用して符号化されているという前記指示を検出することを行うようにさらに構成されている、請求項1に記載のデコーダ。
【請求項6】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項5に記載のデコーダ。
【請求項7】
第1のプロセッサスレッドを使用して前記第1の領域を復号化することと、
第2のプロセッサスレッドを使用して前記第2の領域の要素を復号化することと、を行うようにさらに構成されている、請求項1に記載のデコーダ。
【請求項8】
前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、ブロック差分パルス符号変調に対応する復号化プロトコルを使用して前記第1の領域を復号化することをさらに含む、前記復号化すること、を行うようにさらに構成されている、請求項1に記載のデコーダ。
【請求項9】
前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、変換スキップ残差符号化を使用することに対応する復号化プロトコルを使用して前記第2の領域を復号化することをさらに含む、前記復号化すること、を行うようにさらに構成されている、請求項1に記載のデコーダ。
【請求項10】
前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、前記非可逆符号化プロトコルに対応する復号化プロトコルを使用して前記第3の領域を復号化することをさらに含む、前記復号化すること、を行うようにさらに構成されている、請求項1に記載のデコーダ。
【請求項11】
組み合わせられた可逆及び非可逆符号化の方法であって、
デコーダによって、符号化されたビデオビットストリームを受信することと、
前記デコーダによって且つ前記ビットストリームで、現在のフレームを識別することであって、前記現在のフレームは、第1の領域、第2の領域、及び第3の領域を含む、前記識別することと、
前記デコーダよって且つ前記ビットストリームで、前記第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することと、
前記デコーダによって且つ前記ビットストリームで、前記第2の領域が変換スキップ残差符号化を使用して符号化されていることを検出することと、
前記デコーダによって且つ前記ビットストリームで、前記第3の領域が非可逆符号化を使用して符号化されていることを検出することであって、前記非可逆符号化は、インター予測及びイントラ予測のうちの少なくとも1つを含む、前記検出することと、
を含む、方法。
【請求項12】
前記ビットストリームは、前記第1の領域に対応するサブピクチャヘッダをさらに含み、
前記第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することは、前記サブピクチャヘッダで、前記少なくとも第1の領域がブロック差分パルス符号変調を使用して符号化されているという指示を検出することをさらに含む、請求項11に記載の方法。
【請求項13】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項12に記載の方法。
【請求項14】
前記サブピクチャは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれる、請求項12に記載の方法。
【請求項15】
前記ビットストリームは、前記第2の領域に対応するサブピクチャヘッダをさらに含み、
前記デコーダは、前記サブピクチャヘッダで、変換スキップ残差符号化を使用する前記第2の領域が変換スキップ残差符号化を使用して符号化されているという前記指示を検出することを行うようにさらに構成されている、請求項11に記載の方法。
【請求項16】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項16に記載の方法。
【請求項17】
第1のプロセッサスレッドを使用して前記第1の領域を復号化することと、
第2のプロセッサスレッドを使用して前記第3の領域の要素を復号化することと、をさらに含む、請求項11に記載の方法。
【請求項18】
前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、ブロック差分パルス符号変調に対応する復号化プロトコルを使用して前記第1の領域を復号化することをさらに含む、前記復号化すること、をさらに含む、請求項11に記載の方法。
【請求項19】
前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、変換スキップ残差符号化を使用することに対応する復号化プロトコルを使用して前記第2の領域を復号化することをさらに含む、前記復号化すること、をさらに含む、請求項11に記載の方法。
【請求項20】
前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、前記非可逆符号化プロトコルに対応する復号化プロトコルを使用して前記第3の領域を復号化することをさらに含む、前記復号化すること、をさらに含む、請求項11に記載の方法。
【請求項21】
符号化されたビットストリームを受信することと、
前記ビットストリームで、現在のフレームを識別することであって、前記現在のフレームは、第1のサブピクチャ及び第2のサブピクチャを含む、前記識別することと、
前記ビットストリームで、前記第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという指示を検出することと、
前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、前記可逆符号化プロトコルに対応する可逆復号化プロトコルを使用して前記第1のサブピクチャを復号化することをさらに含む、前記復号化することと、
を行うように構成されている回路を含む、デコーダ。
【請求項22】
前記ビットストリームは、前記第1のサブピクチャに対応するサブピクチャヘッダをさらに含み、
前記検出することは、前記サブピクチャヘッダで、前記少なくとも第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという前記指示を検出することをさらに含む、請求項21に記載のデコーダ。
【請求項23】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項22に記載のデコーダ。
【請求項24】
前記サブピクチャは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれる、請求項22に記載のデコーダ。
【請求項25】
前記第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されていることを検出することと、
前記可逆符号化プロトコルに対応する非可逆復号化プロトコルにしたがって前記第2のサブピクチャを復号化することと、を行うようにさらに構成されている、請求項21に記載のデコーダ。
【請求項26】
前記ビットストリームは、前記第2のサブピクチャに対応するサブピクチャヘッダをさらに含み、
前記デコーダは、前記サブピクチャヘッダで、前記第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されているという前記指示を検出することを行うようにさらに構成されている、請求項25に記載のデコーダ。
【請求項27】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項26に記載のデコーダ。
【請求項28】
前記サブピクチャヘッダは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれる、請求項26に記載のデコーダ。
【請求項29】
第1のプロセッサスレッドを使用して前記第1のサブピクチャを復号化することと、
第2のプロセッサスレッドを使用して前記第2のサブピクチャの要素を復号化することと、を行うようにさらに構成されている、請求項21に記載のデコーダ。
【請求項30】
前記ビットストリームを受信し、前記ビットストリームを量子化係数に復号化するように構成されているエントロピーデコーダプロセッサと、
逆離散コサインを実行することを含む前記量子化係数を処理するように構成されている逆量子化及び逆変換プロセッサと、
デブロッキングフィルタと、
フレームバッファと、
イントラ予測プロセッサと、
をさらに含む、請求項21に記載のデコーダ。
【請求項31】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、四分木プラス二分決定木の一部を形成する、請求項21に記載のデコーダ。
【請求項32】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、コーディングツリーユニットを含む、請求項21に記載のデコーダ。
【請求項33】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、コーディングユニットを含む、請求項21に記載のデコーダ。
【請求項34】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、予測ユニットを含む、請求項21に記載のデコーダ。
【請求項35】
組み合わせられた可逆及び非可逆符号化の方法であって、
デコーダで、ビットストリームを受信することと、
前記デコーダによって且つ前記ビットストリームで、現在のフレームを識別することであって、前記現在のフレームは、第1のサブピクチャ及び第2のサブピクチャを含む、前記識別することと、
前記デコーダによって且つ前記ビットストリームで、前記第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという指示を検出することと、
前記デコーダによって、前記現在のフレームを復号化することであって、前記現在のフレームを復号化することは、前記可逆符号化プロトコルに対応する可逆復号化プロトコルを使用して前記第1のサブピクチャを復号化することをさらに含む、前記復号化することと、
を含む、方法。
【請求項36】
前記ビットストリームは、前記第1のサブピクチャに対応するサブピクチャヘッダをさらに含み、
前記検出することは、前記サブピクチャヘッダで、前記少なくとも第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという前記指示を検出することをさらに含む、請求項35に記載の方法。
【請求項37】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項36に記載の方法。
【請求項38】
前記サブピクチャは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれる、請求項36に記載の方法。
【請求項39】
前記第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されていることを検出することと、
前記可逆符号化プロトコルに対応する非可逆復号化プロトコルにしたがって前記第2のサブピクチャを復号化することと、をさらに含む、請求項39に記載の方法。
【請求項40】
前記ビットストリームは、前記第2のサブピクチャに対応するサブピクチャヘッダをさらに含み、
前記検出することは、前記サブピクチャヘッダで、前記第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されているという前記指示をさらに含む、請求項39に記載の方法。
【請求項41】
前記サブピクチャヘッダは、前記現在のフレームに対応するデータに明示的に含まれる、請求項40に記載の方法。
【請求項42】
前記サブピクチャヘッダは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれる、請求項40に記載の方法。
【請求項43】
前記デコーダは、
第1のプロセッサスレッドを使用して前記第1のサブピクチャを復号化することと、
第2のプロセッサスレッドを使用して前記第2のサブピクチャの要素を復号化することと、を行うようにさらに構成されている、請求項35に記載の方法。
【請求項44】
前記デコーダは、
前記ビットストリームを受信し、前記ビットストリームを量子化係数に復号化するように構成されているエントロピーデコーダプロセッサと、
逆離散コサインを実行することを含む前記量子化係数を処理するように構成されている逆量子化及び逆変換プロセッサと、
デブロッキングフィルタと、
フレームバッファと、
イントラ予測プロセッサと、
をさらに含む、請求項35に記載の方法。
【請求項45】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、四分木プラス二分決定木の一部を形成する、請求項35に記載の方法。
【請求項46】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、コーディングツリーユニットを含む、請求項35に記載の方法。
【請求項47】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、コーディングユニットを含む、請求項35に記載の方法。
【請求項48】
前記第1のサブピクチャ及び前記第2のサブピクチャのうちの少なくとも1つは、予測ユニットを含む、請求項35に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本願は、2021年4月13日に出願され、「METHODS AND SYSTEMS FOR COMBINED LOSSLESS AND LOSSY CODING」と題された米国非仮出願第17/229,210の優先権の利益を主張し、その全体を参照により本明細書に援用し、2020年4月13日に出願され、「METHODS AND SYSTEMS FOR COMBINED LOSSLESS AND LOSSY CODING」と題された米国仮特許出願第63/009,370の優先権の利益を主張し、その全体を参照により本明細書に援用する。
【0002】
本発明は、概して、ビデオ圧縮の分野に関する。特に、本発明は、組み合わせられた可逆及び非可逆符号化のための方法及びシステムを対象にする。
【背景技術】
【0003】
ビデオコーデックは、デジタルビデオを圧縮し、或いは解凍する電子回路又はソフトウェアを含み得る。それは、圧縮されていないビデオを圧縮されたフォーマットに変換することができ、或いはその逆も同様であり得る。ビデオ圧縮のコンテキストでは、ビデオを圧縮する(且つ/或いはそのいくつかの機能を実行する)デバイスは典型的に、エンコーダと呼ばれることがあり、ビデオを解凍する(且つ/或いはそのいくつかの機能を実行する)デバイスは、デコーダと呼ばれることがある。
【0004】
圧縮されたデータのフォーマットは、標準的なビデオ圧縮仕様に準拠し得る。圧縮は、圧縮されたビデオが元のビデオに存在するいくつかの情報を欠くという点で非可逆的であり得る。この結果は、元のビデオを正確に再構成するための情報が不十分であるので、解凍されたビデオは、元の圧縮されていないビデオよりも低い品質を有し得ることを含み得る。
【0005】
ビデオ品質、(例えば、ビットレートによって判定される)ビデオを表すために使用されるデータ量、符号化及び復号化アルゴリズムの複雑さ、データ損失及びエラーに対する感度、編集の容易さ、ランダムアクセス、エンドツーエンド遅延(例えば、遅延)などの間に複雑な関係が存在し得る。
【0006】
動き補償は、ビデオ内のカメラ及び/又はオブジェクトの動きを考慮することによって、以前の且つ/或いは未来のフレームなどの、参照フレームを与えられたビデオフレーム又はその一部分を予測するアプローチを含み得る。それは、ビデオ圧縮のためのビデオデータの符号化及び復号化、例えば、Motion Picture Experts Group(MPEG)のadvanced video coding(AVC)規格(H.264とも呼ばれる)を使用した符号化及び復号化で採用され得る。動き補償は、参照ピクチャから現在のピクチャへの変換という観点からピクチャを記述し得る。参照ピクチャは、現在のピクチャと比較すると時間的に以前のものであることがあり、現在のピクチャと比較すると未来からのものであることがある。画像が、以前に送信され且つ/或いは格納された画像から正確に画像を合成され得るとき、圧縮効率は向上され得る。
【発明の概要】
【0007】
一態様では、デコーダは、符号化されたビデオビットストリームを受信することと、ビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1の領域、第2の領域、及び第3の領域を含む、識別することと、ビットストリームで、第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することと、ビットストリームで、第2の領域が変換スキップ残差符号化を使用して符号化されていることを検出することと、ビットストリームで、第3の領域が非可逆符号化を使用して符号化されていることを検出することであって、非可逆符号化は、インター予測及びイントラ予測のうちの少なくとも1つを含む、検出することと、を行うように構成されている回路を含む。
【0008】
別の態様では、組み合わせられた可逆及び非可逆符号化の方法は、デコーダによって、符号化されたビデオビットストリームを受信することと、デコーダによって且つビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1の領域、第2の領域、及び第3の領域を含む、識別することと、デコーダによって且つビットストリームで、第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することと、デコーダによって且つビットストリームで、第2の領域が変換スキップ残差符号化を使用して符号化されていることを検出することと、デコーダによって且つビットストリームで、第3の領域が非可逆符号化を使用して符号化されていることを検出することであって、非可逆符号化は、インター予測及びイントラ予測のうちの少なくとも1つを含む、検出することとを含む。
【0009】
別の態様では、デコーダは、符号化されたビットストリームを受信することと、ビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1のサブピクチャ及び第2のサブピクチャを含む、識別することと、ビットストリームで、第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという指示を検出することと、現在のフレームを復号化することであって、現在のフレームを復号化することは、可逆符号化プロトコルに対応する可逆復号化プロトコルを使用して第1のサブピクチャを復号化することをさらに含む、復号化することと、を行うように構成されている回路を含む。
【0010】
別の態様では、組み合わせられた可逆及び非可逆符号化の方法は、デコーダで、ビットストリームを受信することと、デコーダによって且つビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1のサブピクチャ及び第2のサブピクチャを含む、識別することと、デコーダによって且つビットストリームで、第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという指示を検出することと、デコーダによって、現在のフレームを復号化することであって、現在のフレームを復号化することは、可逆符号化プロトコルに対応する可逆復号化プロトコルを使用して第1のサブピクチャを復号化することをさらに含む、復号化することと、を含む。
【0011】
本発明の非限定的な実施形態のこれら及び他の態様及び特徴は、添付の図面と共に本発明の特定の非限定的な実施形態の以下の説明を検討することにより、当業者に明らかになるであろう。
【図面の簡単な説明】
【0012】
本発明を説明する目的で、図面は、本発明の1つ又は複数の実施形態の態様を示す。しかしながら、本発明は、図面に示される正確な配置及び手段に限定されないことを理解されたい。
【
図1】
図1は、複数のサブピクチャを有するフレームの例示的な一実施形態を示すブロックダイアグラムである。
【
図2】
図2は、2つのサブピクチャを有するフレームの例示的な一実施形態を示す説明図である。
【
図3】
図3は、本対象のいくつかの実装形態による、ビデオを復号化するための例示的なプロセスを示すプロセスフローダイアグラムである。
【
図4】
図4は、本対象のいくつかの実装形態による、ビットストリームを復号化することができる例示的なデコーダを示すシステムブロックダイアグラムである。
【
図5】
図5は、本対象のいくつかの実装形態による、ビデオを符号化する例示的なプロセスを示すプロセスフローダイアグラムである。
【
図6】
図6は、本明細書に開示される任意の1つ又は複数の方法論、及び任意の1つ又は複数のその部分を実装するために使用され得るコンピューティングシステムのブロックダイアグラムである。
【0013】
図面は、必ずしも縮尺通りではなく、想像線、図表示、及び部分図によって説明され得る。場合によっては、実施形態の理解に必要でない詳細、又は他の詳細を把握することを困難にする詳細は、省略され得る。
【発明を実施するための形態】
【0014】
従来の映像符号化方式では、ビデオシーケンスは、Group-of-Pictures(GOP)に分割される。各GOPは、時間的な且つ空間的な予測という意味で自己完結されている。通常、グループ内の最初のピクチャは、後続のピクチャのための参照ピクチャとして使用される。ピクチャ間の時間的な且つ空間的な関係は、予測符号化を使用して非常に効率的な圧縮を可能にする。
【0015】
典型的に、過去の符号化システムは、符号化されたフレームからいくつかの情報が符号化処理中に省略され、復号化中に回復されない、非可逆符号化を使用して動作している。そのような非可逆処理は、例えば、限定されないが、エンコーダからデコーダへビットストリームで送信されるデータの量、フレーム又はピクチャのグループを符号化し、且つ/或いは復号化するために使用される処理時間及び/又はメモリリソースなどを減らすことによって、より高い効率を達成するために、復号化されたフレーム及び/又は映像の、ある程度の詳細及び/又は解像度を犠牲にし得る。
【0016】
上記のプロセスに対する代替的なアプローチは、可逆符号化を含むことができ、フレームは、全くない或いは無視できる情報の損失で符号化され、復号化される。これは、出力フレーム及び/又は映像の、より高い解像度及び/又は他の詳細をもたらし得る。しかしながら、以下でさらに詳細に言及されるように、可逆符号化及び復号化は時々、ある種の画像処理にとって、より効率的であることがあり、可逆符号化はまた、メモリリソース及び処理時間の観点から非常に高価であることがある。これは、Ultra High Definition(UHD)映像符号化で特に明らかであり、ピクチャ又は画像サイズは、8K×4K(7680×4320)に上がり得る。大きな画像サイズは、チップ及び/又はモジュール設計に大きな課題をもたらし得る。この理由の1つは、UHDが、動き推定と、動き推定及び補償の参照ブロックをバッファリングするためのオンチップ又は他の処理メモリとにおける、より大きな探索範囲を必要とすることである。UHD処理は、より大きな画像サイズが必要とされるせいで、非可逆符号化及び復号化の課題をも示し得る。
【0017】
本明細書に開示される実施形態は、組み合わせられた可逆及び非可逆ビデオ圧縮符号化を使用して、より効率的なシグナリング、復号化、及び符号化を可能にする。一実施形態では、ピクチャは、最初に、品質及び計算要件に基づいてサブピクチャに分割されてもよい。エンコーダは、ピクチャ及び/又はGOPの符号化及び/又は復号化を実行しているCPU若しくは他のデバイス、回路、又はコンポーネント上の処理コア(又はハードウェアスレッド)にあるだけの数のサブピクチャを作成してもよい。各サブピクチャは独立して符号化され得るので、この形式のタスク分割は、全ての利用可能な計算リソースを効率的に使用することによって、効率的な符号化及び/又は復号化を可能にし得る。さらに、可逆符号化は、例えば、フレーム全体の特定のサブピクチャに関して、変換及び量子化を使用する非可逆符号化よりも優れた圧縮を提供し得る。結果として、組み合わせられた可逆及び非可逆符号化は、可逆符号化のみよりも優れた性能をもたらし得る。
【0018】
ここで、
図1を参照すると、複数のサブピクチャに分割された現在のフレームの例示的な一実施形態が説明される。サブピクチャは、現在のフレームよりも小さい現在のフレームの任意の部分を含むことができ、現在のフレームのサブピクチャは、現在のフレームの全てをカバーするように組み合わせることができる。
図1は、2つ又は4つのサブピクチャに分割された例示的な現在のフレームを説明するが、本開示の全体を見た当業者は、任意の数のサブピクチャが、解像度、効率、又は任意の他の考慮事項に関して必要に応じて使用されてもよいことを理解するであろう。
【0019】
また、
図1を参照すると、サブピクチャは、限定されないが、正方形及び/又は長方形の形状、正方形及び/又は長方形の形状を有する2つ以上のブロックの組み合わせによって定義される形状などを含む、任意の適切な形状を有し得る。各ブロックは、ブロックの1つ又は複数の部分及び/又は特徴の座標を使用して識別され、且つ/或いはシグナリングされてもよく、座標は、フレーム及び/又はピクチャの1つ又は複数の角及び/又は側面から測定される、フレーム及び/又はピクチャにわたる画素数を示し得る。例えば、限定されないが、ブロックは、長方形のブロックの識別のための2つのx座標及び2つのy座標などの、頂点の座標を使用して識別されてもよい。代替的に或いは追加的に、サブピクチャ及び/又はその一部分は、限定されないが、指数曲線又は他の曲線などを使用して定義される、1つ又は複数の曲線縁を使用する線分セグメントの端点などの線形方程式又は数学的に同等の式によって定義される、1つ又は複数の線分セグメントを使用する幾何学的分割を含むが、それらに限定されない、点、線、及び/又は形状の任意の適切な幾何学的記述を使用して識別されてもよい。
【0020】
引き続き
図1を参照すると、サブピクチャは、互いに別々に符号化され得る。例えば、限定されないが、複数のサブピクチャの第1の領域は、第1のプロセッサスレッドを使用して符号化され、且つ/或いは復号化されてもよく、第3の領域の要素は、第2のプロセッサスレッドを使用して復号化されてもよい。本明細書で使用されるように、「プロセッサスレッド」は、本開示の全体を検討した際、当業者に思い付き得る、マルチスレッド並列処理のスレッドを実行することができる任意のプロセッサコア及び/又は他のハードウェア要素を含み得る。各サブピクチャが独立して符号化される一実施形態では、この形式のタスク分割は、全ての利用可能な計算リソースを効率的に使用することによって、効率的な符号化を可能にし得る。
【0021】
また、
図1を参照すると、可逆符号化は、ソースビデオが損失なく保存されることが上述された1つ又は複数の理由で望ましいピクチャのブロックのサブセットに選択的に適用され得る。非限定的な一実施例として、可逆符号化のピクチャのサブセットの選択は、符号化効率の理由のために行われてもよい。そのようなケースでは、可逆符号化モードの決定は、非可逆及び可逆モードでCTUを符号化する際のレート歪み(RD)コストを評価した後に行われてもよい。特定のユースケースでは、ビデオの一部分は、アプリケーションによって指示される理由のために、可逆モードで符号化されるようにユーザによって選択されてもよい。非限定的な一実施例は、ソース品質の保持がユーザにとって望ましいフレームの部分がある状況を含んでもよい。そのようなユーザ選択が行われるとき、領域全体は、RD分析を実行することなく、可逆符号化を使用するようにマークされてもよい。
【0022】
さらに
図1を参照すると、代替的或いは追加的に、サブピクチャは、より大量の動きが検出され、且つ/或いは存在するピクチャのエリア、領域及び/又は細区分としてエンコーダ及び/又は他のハードウェア及び/又はソフトウェアコンポーネント及び/又はプロセスによって識別されてもよい。そのような領域は、サブピクチャとして識別されてもよく、重要であると考えられ、非可逆符号化を使用して符号化されることがあり、動きがほとんど或いは全くないサブピクチャは、非可逆符号化を使用して符号化されてもよい。一実施例が
図2に示され、ピクチャ200は、動きを有する第1の領域204と、動きのない第3の領域208との2つのサブピクチャに分割される。上述されたように、いくつかのケースでは、可逆符号化は、変換及び量子化を使用する非可逆符号化よりも良好な圧縮を与え得る。代替の或いは追加の一実施例では、ピクチャ200は、第1の可逆プロトコルを使用して符号化された第1の領域204、第2の可逆プロトコルを使用して第2の領域(図示せず)、及び非可逆プロトコルを使用して第3の領域に分割されてもよい。
【0023】
再び
図1を参照すると、ピクチャは、サブピクチャ、スライス、及びタイルに分割され得る。ブロック(CTU)は、イントラ又はインター符号化モードで符号化され得るコーディングユニットであってもよい。サブピクチャは、単一のCTU及び/又は複数のCTUを含んでもよい。一実施形態では、CTUのサブセット内の各CTUは、可逆符号化がCTUで使用されるかどうかをシグナリングしてもよい。代替的に或いは追加的に、限定されないが、連続的に位置するCTUのセットなどの、CTUのセットは、一緒にシグナリングされてもよい。可逆及び/又は非可逆符号化は、ビットストリームに提供される1つ又は複数のヘッダでシグナリングされてもよい。例えば、限定されないが、CTUは、CTUヘッダで可逆及び/又は非可逆符号化モードをシグナリングすることによって、可逆符号化モードで符号化されてもよい。代替的に或いは追加的に、ブロック(CTU)のサブセットの可逆符号化の選択的な使用は、より高いレベルのシンタクティックユニットでシグナリングされてもよい。例えば、タイル、スライス、及び/又はサブピクチャヘッダは、そのシンタクティックユニットの全てのCTUに関する可逆符号化モードの使用をシグナリングしてもよい。サブピクチャヘッダは、明示的に存在するか、或いは以前にシグナリングされたピクチャヘッダなどの別のヘッダの識別子などのメカニズムを使用して参照することによって含まれるかのいずれかであってもよい。
【0024】
引き続き
図1を参照すると、非限定的な一実施例として、サブピクチャヘッダ、CTUヘッダ、及び/又は他のヘッダ内のデータ及び/又は論理は、限定されないが、可逆モードシグナリングが有効であるかどうか、或いは言い換えれば、エンコーダ及び/又はデコーダが、可逆及び/又は非可逆モードが関連CTU、サブピクチャなどに使用されているかどうかを示す信号をシグナリングし、且つ/或いは受信すべきかどうかを示す第1のビットを含んでもよい。サブピクチャヘッダ、CTUヘッダ、及び/又は他のヘッダ内のデータ及び/又は論理は、限定されないが、可逆及び/又は非可逆モードを示す第2のビットを含んでもよく、可逆モードは、関連CTU、サブピクチャなどが、上述されたように可逆符号化及び復号化プロトコルを使用して符号化され、復号化されるモードである。以下は、採用され得る論理及びデータの非限定的且つ例示的な例である。
Sub_picture_header{
...
......
......
...lossless_mode_signaling [1-bit]
if(lossless_mode_signaling){
lossless_mode [1 bit];
}
...
......
......
}
代替的に或いは追加的に、非可逆又は可逆モードは、PPS、SPS、ブロック、サブブロックなどの、ヘッダでlossless_coding_contraint_flagなどを使用してシグナリングされてもよい。
【0025】
また、
図1を参照すると、本開示で説明される処理を実行するように構成されているエンコーダ及び/又はデコーダは、例えば、可逆符号化プロトコルに対応する識別子及び/又はビットを使用して、使用される可逆符号化プロトコルをシグナリングし、且つ/或いは検出するように構成されていてもよい。代替的に或いは追加的に、エンコーダ及び/又はデコーダは、例えば、所定の規格、リリース、又は統一規格を採用する他のアプローチと一致するように、特定の可逆符号化及び復号化プロトコルを動作するように構成されていてもよい。2つ以上の標準プロトコルが存在してもよく、その選択は、2つ以上の潜在的な選択を符号化するのに十分な数のビットを使用してビットストリームでシグナリングされてもよい。
【0026】
引き続き
図1を参照すると、可逆符号化プロトコルは、画像、ビデオ、フレーム、ピクチャ、サブピクチャなどの可逆符号化の任意のプロトコルを含んでもよい。非限定的な一実施例として、エンコーダ及び/又はデコーダが可逆符号化を達成し得ることは、変換符号化段階をバイパスし、残差を直接符号化することである。本開示では、「変換スキップ残差符号化」と呼ばれ得る、このアプローチは、例えば、ブロックベースのハイブリッド映像符号化のいくつかの形式で実行されるように、以下でさらに詳細に説明されるように、離散コサイン変換(DCT)のファミリーからの変換を適用することによって空間から周波数領域へ、残差の変換をスキップすることによって達成されてもよい。可逆符号化及び復号化は、限定されないが、可逆符号化のregular and TS residual coding(RRC、TSRC)と、可逆及び非可逆動作モードのRRC及びTSRCの修正とに関するJVET-Q00069のコア実験CE3-1、可逆符号化のブロック差分パルス符号変調(BDPCM)及び高いレベルの技術を有効にすることと、異なるRRC/TSRC技術とBDPCMの組み合わせなどとに関する、JVET-Q0080のコア実験CE3-2で提案されたようなプロセス及び/又はプロトコルを含む、1つ又は複数の代替プロセス及び/又はプロトコルにしたがって実行されてもよい。
【0027】
図1をさらに参照すると、本開示で説明されるようなエンコーダは、TS残差符号化を使用して1つ又は複数のフィールドを符号化するように構成されていてもよく、1つ又は複数のフィールドは、限定されないが、任意のピクチャ、サブピクチャ、コーディングユニット、コーディングツリーユニット、ツリーユニット、ブロック、スライス、タイル、及び/又はそれらの任意の組み合わせを含んでもよい。本開示で説明されるようなデコーダは、TS残差符号化にしたがって、且つ/或いはTS残差符号化を使用して、1つ又は複数のフィールドを復号化するように構成されていてもよい。変換スキップモードでは、フィールドの残差は、限定されないが、4画素×4画素のサイズなどの、所定のサイズの、非重複サブブロック又は他の細区分のユニットで符号化されてもよい。変換されるフィールドの各走査位置の量子化インデックスは、最後の有意な走査位置を符号化する代わりに、符号化されてもよく、最後のサブブロック及び/又は細区分の位置は、前の細区分のレベルに基づいて推測されてもよい。TS残差符号化は、逆方向ではなく順方向で対角走査を実行してもよい。順方向の走査順序は、サブブロック及び/又は細区分の位置だけでなく、変換ブロック内のサブブロックを走査するために適用されてもよい。一実施形態では、最後の(x,y)位置のシグナリングはないことがある。非限定的な一実施例として、coded_sub_block_flagは、以前の全てのフラグが0に等しいとき、最後のサブブロックを除くあらゆるサブブロックに関して符号化されてもよい。sig_coeff_flagのコンテキストモデルは、縮小されたテンプレートを使用してもよい。sig_coeff_flagのコンテキストモデルは、上と左とに隣接する値に依存してもよく、abs_level_gt1_flagのコンテキストモデルはまた、左と上とのsig_coeff_flagの値に依存してもよい。
【0028】
また、
図1を参照し、非限定的な一実施例として、TS残差符号化プロセスにおける第1の走査パス中に、有意性フラグ(sig_coeff_flag)、サインフラグ(coeff_sign_flag)、1よりも大きい絶対値フラグ(abs_level_gtx_flag[0])、及びパリティ(par_level_flag)は、符号化されてもよい。所定の走査位置に関して、sig_coeff_flagが1に等しい場合、coeff_sign_flagが符号化され、(絶対値が1よりも大きいかどうかを指定する)abs_level_gtx_flag[0]が続いてもよい。abs_level_gtx_flag[0]が1に等しい場合、par_level_flagがさらに符号化され、絶対値のパリティを指定する。第2の或いは後続の走査パス中に、絶対値が1よりも大きい各走査位置に関して、i=1...4に対して最大4つまでのabs_level_gtx_flag[i]は、所定の位置での絶対値がそれぞれ3、5、7又は9よりも大きいかどうかを示すために符号化されてもよい。第3の或いは最後の「剰余(remainder)」走査パス中に、絶対値のabs_remainderとして格納され得る剰余は、バイパスモードで符号化されてもよい。絶対値の剰余は、1という固定ライスパラメータ値を使用して二値化されてもよい。
【0029】
さらに
図1を参照すると、第1の走査パス、及び第2の或いは「xよりも大きい」走査パスのビンは、限定されないが、TUなどのフィールドにおけるコンテキスト符号化ビンの最大数が使い果たされるまで、コンテキスト符号化されてもよい。非限定的な一実施例では、残差ブロックのコンテキスト符号化ビンの最大数は、1.75*block_width*block_hightに或いは同等に、平均してサンプル位置当たり1.75コンテキスト符号化ビンに限定されてもよい。上述されたように、剰余の走査パスなどの最後の走査パスのビンは、バイパス符号化されてもよい。限定されないが、RemCcbsなどの変数は、最初にブロック又は他のフィールドのコンテキスト符号化ビンの最大数に設定されてもよく、コンテキスト符号化ビンが符号化されるたびに1ずつ減少されてもよい。非限定的な一実施例では、RemCcbsが4よりも大きい、或いは4に等しい間、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag及びpar_level_flagを含み得る、第1の符号化パスのシンタックス要素は、コンテキスト符号化ビンを使用して符号化されてもよい。いくつかの実施形態では、第1のパスを符号化する間、RemCcbsが4よりも小さくなる場合、第1のパスでまだ符号化されていない残りの(remaining)係数は、剰余の走査パス及び/又は第3のパスで符号化されてもよい。
【0030】
また、
図1を参照すると、第1のパスの符号化の完了後、RemCcbsが4よりも大きい、或いは4に等しい場合、第2の符号化パスのシンタックス要素は、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、abs_level_gt9_flagを含んでもよく、コンテキスト符号化ビンを使用して符号化されてもよい。第2のパスを符号化している間、RemCcbsが4よりも小さくなる場合、第2のパスでまだ符号化されていない残りの係数は、剰余の且つ/或いは第3の走査パスで符号化されてもよい。いくつかの実施形態では、TS残差符号化を使用して符号化されるブロックは、BDPCM符号化を使用して符号化されないことがある。BDPCMモードで符号化されないブロックに関して、レベルマッピング機構は、コンテキスト符号化ビンの最大数が達するまで、変換スキップ残差符号化に適用されてもよい。レベルマッピングは、シグナリングコストを削減するために、現在の係数レベルを予測するように上と左とに隣接する係数レベルを使用してもよい。所定の残差位置に関して、absCoeffは、マッピング前の絶対係数レベルとして示されてもよく、absCoeffModは、マッピング後の係数レベルとして示されてもよい。非限定的な一実施例として、X0が、左に隣接する位置の絶対係数レベルを示し、X1が、上に隣接する位置の絶対係数レベルを示す場合、レベルマッピングは、以下のように実行され得る。
【数1】
次いで、absCoeffMod値は、上記されたように符号化され得る。全てのコンテキスト符号化ビンが使い果たされた後、レベルマッピングは、現在のブロック及び/又はフィールド及び/又は細区分の全ての残りの走査位置に関して無効化されてもよい。coded_subblock_flagが1に等しく、サブブロックに少なくとも1つの非ゼロ量子化残差があることを示し得る場合、上述されたように3つの走査パスは、各サブブロック及び/又は他の細区分に関して実行されてもよい。
【0031】
また、
図1を参照すると、いくつかの実施形態では、変換スキップモードが大きなブロックに使用されるとき、ブロック全体は、値をゼロにすることなく使用されてもよい。さらに、変換シフトは、変換スキップモードでは削除されてもよい。TS残差符号化の信号の統計的特性は、変換係数の統計的特性とは異なっていてもよい。変換スキップモードの残差符号化は、最大ルマ及び/又はクロマブロックサイズを指定してもよい。非限定的な一実施例として、設定は、変換スキップモードに、MaxTsSize×MaxTsSizeの最大サイズのルマブロックに使用されることを認めてもよく、MaxTsSizeの値は、PPSでシグナリングされてもよく、限定されないが、32などのグローバル最大可能値を有してもよい。CUが変換スキップモードで符号化されているとき、その予測残差は、変換スキップ残差符号化プロセスを使用して量子化され、符号化されてもよい。
【0032】
引き続き
図1を参照すると、本開示で説明されるようなエンコーダは、BDPCMを使用して1つ又は複数のフィールドを符号化するように構成されていてもよく、1つ又は複数のフィールドは、限定されないが、任意のピクチャ、サブピクチャ、コーディングユニット、コーディングツリーユニット、ツリーユニット、ブロック、スライス、タイル、及び/又はそれらの任意の組み合わせを含んでもよい。本開示で説明されるようなデコーダは、BDPCMにしたがって、且つ/或いはBDPCMを使用して、1つ又は複数のフィールドを復号化するように構成されていてもよい。BDPCMは、画素レベルで完全な再構成を維持してもよい。非限定的な一実施例として、BDPCMを有する各画素の予測プロセスは、ブロック内参照を使用して各画素を予測し、次いで、ブロックの残りの後続の画素のためのブロック内参照として使用されるためにそれを再構成する、4つの主要ステップ、(1)ブロック内画素予測、(2)残差計算、(3)残差量子化、及び(4)画素再構成を含んでもよい。
【0033】
また、
図1を参照すると、ブロック内画素予測は、各画素を予測するために複数の参照画素を使用してもよい。非限定的な一実施例として、複数の参照画素は、予測される画素pの左の画素αと、pよりも上の画素βと、pよりも上及びpの左の画素γとを含んでもよい。pの予測値は、限定されないが、以下のように定式化され得る。
【数2】
【0034】
さらに
図1を参照すると、画素レベルの独立性は、残差変換をスキップし、空間領域量子化を統合することによって達成されてもよい。これは、以下のように、線形量子化器Qによって実行され、量子化残差値rを計算し得る。
【数3】
量子化器パラメータ(QP)によって課される、正しいレート-歪み比に対応するために、BDPCMは、例えば、限定されないが、上述されたように、変換スキップモード法で使用される空間領域正規化を採用してもよい。量子化残差値rは、エンコーダによって送信されてもよい。
【0035】
また、
図1を参照すると、BDPCMの別の状態は、前のステップからのp及びrを使用する画素の再構成を含んでもよく、例えば、限定されないが、以下のように、デコーダで或いはデコーダによって実行されてもよい。
【数4】
一度再構成されると、現在の画素は、同じブロック内の他の画素のためのブロック内参照として使用されてもよい。
【0036】
BDPCMアルゴリズムの予測スキームは、元の画素値がその予測値から離れているとき、比較的大きな残差がある場合に使用され得る。画面コンテンツでは、これは、ブロック内参照が背景レイヤに属し、現在の画素が前景レイヤに属する場合、或いはその逆の場合に発生し得る。この状況は、「レイヤ遷移」状況と呼ばれることがあり、参照で利用可能な情報が正確な予測に十分ではないことがある。シーケンスレベルで、BDPCMイネーブルフラグは、SPSでシグナリングされてもよい。このフラグは、例えば、限定されないが、上述されたように、変換スキップモードがSPSで有効である場合にのみシグナリングされてもよいが、それに限定されない。BDPCMが有効であるとき、CUサイズがルマサンプルの観点からMaxTsSize×MaxTsSizeよりも小さい、或いはMaxTsSize×MaxTsSizeに等しい場合、及びCUがイントラ符号化されている場合、フラグは、CUレベルで送信されてもよく、MaxTsSizeは、変換スキップモードが許される最大ブロックサイズである。このフラグは、通常のイントラ符号化又はBDPCMが使用されるかどうかを示してもよい。BDPCMが使用される場合、BDPCM予測方向フラグは、予測が水平又は垂直であるかどうかを示すために送信されてもよい。次いで、ブロックは、フィルタリングされていない参照サンプルを用いて、通常の水平又は垂直のイントラ予測プロセスを使用して予測されてもよい。
【0037】
ここで、
図3を参照すると、組み合わせられた可逆及び非可逆符号化の方法300の例示的な一実施形態が説明される。ステップ305で、デコーダは、ビットストリームを受信する。ステップ310で、デコーダは、ビットストリームで現在のフレームを識別する。現在のフレームは、第1の領域、第2の領域、及び第3の領域を含むことができ、それらの任意は、上述されたように任意の領域を含んでもよい。領域は、フレームヘッダ情報を使用してフラグが立てられてもよく、且つ/或いは座標、幾何学的情報、各領域に含まれるブロック及び/又はCTUの識別などを使用して記述され、或いはその他の方法で説明されてもよい。一実施形態では、デコーダは、現在のフレームの第1の領域、第2の領域、及び第3の領域の2つの領域のみを識別してもよく、残りの領域は、現在のフレームの残りのタイル、スライス、ブロック、CTUなどとして識別されてもよい。3つ以上の領域があってもよく、方法300は、任意の追加の領域に関して実行される本開示で説明されるように、任意の処理ステップを含んでもよい。
【0038】
引き続き
図3を参照すると、ステップ315で、デコーダは、ビットストリームで、第1の領域がブロック差分パルス符号変調にしたがって符号化されているという指示を検出する。これは、限定されないが、
図1-
図2を参照して上述されたように実行されてもよい。検出は、例えば、上述されたように、ブロック差分パルス符号変調が有効であるという検出を含んでもよく、且つ/或いは検出が先行してもよい。一実施形態では、ビットストリームは、第1の領域に対応するサブピクチャヘッダを含んでもよい。検出は、少なくとも第1の領域が、サブピクチャ及び/又は領域固有のヘッダにブロック差分パルス符号変調にしたがって符号化されているという指示を検出することを含んでもよい。サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。例えば、限定されないが、bdpcmがシーケンスに対して有効である場合、sps_bdpcm_enabled_flagは、SPS及び/又は他のヘッダで1に設定されてもよい。sps_bdpcm_enabled_flagが1に等しいことは、intra_bdpcm_luma_flag及び/又はintra_bdpcm_chroma_flagが、イントラ符号化ユニット及び/又は他のフィールドに関する符号化ユニット及び/又は他のフィールド固有のシンタックスに存在し得ることを指定してもよい。sps_bdpcm_enabled_flagが0に等しいことは、intra_bdpcm_luma_flag及び/又はintra_bdpcm_chroma_flagが、イントラ符号化ユニット及び/又は他のフィールドに関する符号化ユニット及び/又は他のフィールド固有のシンタックスに存在しないことを指定してもよい。存在しないとき、sps_bdpcm_enabled_flagの値は、0に等しいと推測されてもよい。一実施形態では、gci_no_bdpcm_constraint_flagが1に等しいことは、限定されないが、OlsInScopeパラメータによって定義され得る、所定のセットの全てのピクチャのsps_bdpcm_enabled_flagが、0に等しいものとすることを指定してもよい。gci_no_bdpcm_constraint_flagが0に等しいことは、そのような制約を課さないことがある。さらなる非限定的な一実施例として、intra_bdpcm_luma_flagが1に等しいことは、BDPCMが、位置(x0、y0)で現在のルマ符号化ブロック、及び/又は他のフィールドに適用され得る、すなわち、変換がスキップされることを指定してもよい。ルマイントラ予測モードは、intra_bdpcm_luma_dir_flagによって指定されてもよい。例えば、限定されないが、0に等しいintra_bdpcm_luma_flagは、BDPCMが、位置(x0,y0)で現在のルマ符号化ブロック、及び/又は他のフィールドに適用されないことを指定してもよい。変数BdpcmFlag[x][y][cIdx]は、x=x0...x0+cbWidth-1、y=y0...+cbHeight-1、cIdx=0に関するintra_bdpcm_luma_flagに等しく設定されてもよい。intra_bdpcm_luma_dir_flagが0に等しいことは、BDPCM予測方向が水平方向であることを示してもよい。intra_bdpcm_luma_dir_flagが1に等しいことは、BDPCM予測方向が垂直方向であることを示してもよい。変数BdpcmDir[x][y][cIdx]は、x=x0..x0+cbWidth-1、y=y0..y0+cbHeight-1、cIdx=0に関するintra_bdpcm_luma_dir_flagに等しく設定されてもよい。サブピクチャ及び/又は領域は、現在のフレームの第3のサブピクチャ及び/又は他の要素に対応するサブピクチャヘッダの識別子を参照することによって含まれてもよい。
【0039】
引き続き
図3を参照すると、ステップ320で、デコーダは、ビットストリームで、第2の領域が変換スキップ残差符号化にしたがって符号化されているという指示を検出する。これは、限定されないが、
図1-
図2を参照して上述されたように実行されてもよい。検出は、例えば、上述されたように、変換スキップ残差符号化が有効であるという検出を含んでもよく、且つ/或いは検出が先行してもよい。一実施形態では、ビットストリームは、第1の領域に対応するサブピクチャヘッダを含んでもよい。検出は、少なくとも第1の領域が、サブピクチャヘッダの変換スキップ残差符号化プロトコルにしたがって符号化されているという指示を検出することを含んでもよい。これは、変換スキップイネーブルフラグを含んでもよい。例えば、限定されないが、sh_ts_residual_coding_disabled_flagは、residual_codingのシンタックス構造が1に等しいことは、現在のスライス及び/又は他のフィールドの変換スキップブロックの残差サンプルを解析するために使用されて得ることを指定してもよい。sh_ts_residual_coding_disabled_flagが0に等しいことは、residual_ts_codingのシンタックス構造が、現在のスライスの変換スキップブロックの残差サンプルを解析するために使用され得ることを指定してもよい。sh_ts_residual_coding_disabled_flagが存在しないとき、それは、0に等しいと推測されてもよい。transform_skip_flag[x0][y0][cIdx]は、変換が、関連付けられた変換ブロックに適用され得るかどうかを指定してもよい。配列インデックスx0、y0は、ピクチャの左上ルマサンプルに対する、考慮された変換ブロックの左上ルマサンプルの位置(x0,y0)を指定してもよい。配列インデックスcIdxは、色成分のインジケータを指定してもよい。例えば、それは、Yに対して0、Cbに対して1、Crに対して2に等しくてもよい。transform_skip_flag[x0][y0][cIdx]が1に等しいことは、変換が、関連付けられた変換ブロックに適用されないことがあることを指定してもよい。transform_skip_flag[x0][y0][cIdx]が0に等しいことは、変換が、関連付けられた変換ブロックに適用されるかどうかという決定が、他のシンタックス要素に依存することを指定してもよい。代替的に或いは追加的に、変換スキップモードは、黙示的にシグナリングされてもよい。例えば、transform_skip_flag[x0][y0][cIdx]が存在しない場合、それは、以下のように推論されてもよい。BdpcmFlag[x0][y0][cIdx]が1に等しい場合、transform_skip_flag[x0][y0][cIdx]は、1に等しいと推測されてもよい。さもなければ、BdpcmFlag[x0][y0][cIdx]が0に等しい場合、transform_skip_flag[x0][y0][cIdx]は、0に等しいと推測されてもよい。サブピクチャヘッダ及び/又は領域固有のヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。サブピクチャ及び/又は領域は、現在のフレームの第3のサブピクチャ及び/又は他の要素に対応するサブピクチャヘッダの識別子を参照することによって含まれてもよい。
【0040】
引き続き
図3を参照すると、ステップ325で、デコーダは、第3の領域が非可逆符号化プロトコルにしたがって符号化されていることを検出し、可逆符号化プロトコルに対応する非可逆復号化プロトコルにしたがって第3の領域を復号化する。これは、以下で説明されるように、DCT及び他のプロセスを含む、本明細書で説明される任意の非可逆復号化プロセスにしたがって実行されてもよい。ビットストリームは、第3の領域に対応するサブピクチャ及び/又は領域固有のヘッダを含んでもよく、検出することは、サブピクチャヘッダで、第3の領域が非可逆符号化プロトコルにしたがって符号化されているという指示を含んでもよい。サブピクチャ及び/又は領域固有のヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。サブピクチャ及び/又は領域固有のヘッダは、例えば、上述されたように、第3のサブピクチャに対応するサブピクチャ及び/又は領域固有のヘッダの識別子を参照することによって含まれてもよい。一実施形態では、デコーダは、上記で定義されたように、第1のプロセッサスレッドを使用して第1の領域を復号化し、第2のプロセッサスレッドを使用して第3の領域の要素を復号化するように構成されていてもよい。
【0041】
引き続き
図3を参照すると、デコーダは、現在のフレームを復号化してもよい。現在のフレームを復号化することは、BDPCM符号化プロトコルに対応するBDPCM復号化プロトコルを使用して第1の領域を復号化することを含んでもよい。現在のフレームを復号化することは、変換スキップ残差符号化プロトコルに対応する変換スキップ残差復号化プロトコルを使用して第2の領域を復号化することを含んでもよい。現在のフレームを復号化することは、非可逆符号化プロトコルに対応する非可逆復号化プロトコルを使用して第3の領域を復号化することを含んでもよい。
【0042】
また、
図3を参照すると、デコーダは、ビットストリームを受信し、ビットストリームを量子化係数に復号化するように構成されているエントロピーデコーダプロセッサと、逆離散コサインを実行することを含む量子化係数を処理するように構成されている逆量子化及び逆変換プロセッサと、デブロッキングフィルタと、フレームバッファと、イントラ予測プロセッサとを含んでもよい。第1の領域、第2の領域、及び第3の領域のうちの少なくとも1つは、四分木プラス二分決定木の一部を形成してもよい。第1の領域、第2の領域、及び第3の領域のうちの少なくとも1つは、コーディングツリーユニットを含んでもよい。いくつかの実装形態では、第1の領域、第2の領域、及び第3の領域のうちの少なくとも1つは、コーディングツリーユニット(CTU)、コーディングユニット(CU)、又は予測ユニット(PU)を含んでもよい。
【0043】
図4は、組み合わせられた非可逆及び可逆符号化プロトコルを使用してビットストリーム428を復号化することができる例示的なデコーダ400を示すシステムブロックダイアグラムである。デコーダ400は、エントロピーデコーダプロセッサ404、逆量子化及び逆変換プロセッサ408、デブロッキングフィルタ412、フレームバッファ416、動き補償プロセッサ420、及び/又はイントラ予測プロセッサ424を含み得る。
【0044】
また、
図4を参照すると、動作において、ビットストリーム428は、デコーダ400によって受信され、エントロピーデコーダプロセッサ404に入力されることができ、エントロピーデコーダプロセッサ404は、ビットストリームの一部分を量子化係数にエントロピー復号化し得る。量子化係数は、逆量子化及び逆変換プロセッサ408に提供されることができ、逆量子化及び逆変換プロセッサ408は、逆量子化及び逆変換を実行し、残差信号を生成することができ、残差信号は、処理モードにしたがって動き補償プロセッサ420又はイントラ予測プロセッサ424の出力に追加され得る。動き補償プロセッサ420及びイントラ予測プロセッサ424の出力は、以前に復号化されたブロックに基づくブロック予測値を含み得る。予測値及び残差の和は、デブロッキングフィルタ412によって処理され、フレームバッファ416に格納され得る。
【0045】
引き続き
図4を参照すると、デコーダ400は、任意の順序で、且つ任意の程度の繰り返しで、本開示で説明される任意の実施形態での任意の方法、方法ステップ、又は方法ステップのシーケンスを実行するように設計され、且つ/或いは構成され得る。例えば、デコーダ400は、所望の或いは命令された結果が達成されるまで、単一のステップ又はシーケンスを繰り返し実行するように構成されていてもよい。ステップ又はステップのシーケンスの繰り返しは、前の繰り返しの出力を後続の繰り返しへの入力として使用し、集約結果を生成するために繰り返しの入力及び/又は出力を集約し、グローバル変数などの1つ又は複数の変数の削減又はデクリメントを行い、且つ/或いは、より大きな処理タスクを、反復的に対処される、より小さな処理タスクのセットに分割して、反復的に且つ/或いは再帰的に実行されてもよい。デコーダ400は、2つ以上の並列スレッド、プロセッサコアなどを使用してステップを2回以上、同時に且つ/或いは実質的に同時に実行するなど、本開示で説明されるように任意のステップ又はステップのシーケンスを並行して実行してもよい。並列スレッド及び/又はプロセス間のタスクの分割は、反復間のタスク分割に適した任意のプロトコルにしたがって実行されてもよい。当業者は、本開示の全体を検討する際、ステップ、ステップのシーケンス、処理タスク、及び/又はデータが、反復、再帰、及び/又は並列処理を使用して細分化され、共有され、或いはその他の方法で取り扱われ得る様々な方法を承知するであろう。
【0046】
図5は、単一のグローバル動きベクトル候補を動きベクトル候補リストに追加することを含む動きベクトル候補リストを構成することができるビデオエンコーダ500の例示的な一実施形態を示すシステムブロックダイアグラムである。例示的なビデオエンコーダ500は、入力ビデオ504を受信することができ、入力ビデオ504は、ツリー構造のマクロブロックパーティションスキーム(例えば、四分木プラス二分木)などの、処理スキームにしたがって最初にセグメント化され、且つ/或いは分割され得る。ツリー構造のマクロブロックパーティションスキームの一実施例は、ピクチャフレームを、コーディングツリーユニット(CTU)と呼ばれる大きいブロック要素に分割することを含んでもよい。いくつかの実装形態では、各CTUは、コーディングユニット(CU)と呼ばれる複数のサブブロックに1回又は複数回さらに分割されてもよい。この分割の最終結果は、予測ユニット(PU)と呼ばれ得るサブブロックのグループを含んでもよい。変換ユニット(TU)がまた、利用されてもよい。
【0047】
また、
図5を参照すると、例示的なビデオエンコーダ500は、イントラ予測プロセッサ508と、単一のグローバル動きベクトル候補を動きベクトル候補リストに追加することを含む動きベクトル候補リストを構成することができる動き推定/補償プロセッサ512(インター予測プロセッサとも呼ばれる)と、変換/量子化プロセッサ516と、逆量子化/逆変換プロセッサ520と、インループフィルタ524と、復号ピクチャバッファ528と、及び/又はエントロピー符号化プロセッサ532とを含み得る。ビットストリームパラメータは、エントロピー符号化プロセッサ532に入力され、出力ビットストリーム536に含められてもよい。
【0048】
引き続き
図5を参照すると、動作において、入力ビデオ504のフレームの各ブロックに関して、イントラピクチャ予測を介してブロックを処理するか、或いは動き推定/補償を使用してブロックを処理するかが判定され得る。ブロックは、イントラ予測プロセッサ508又は動き推定/補償プロセッサ512に提供され得る。ブロックがイントラ予測を介して処理されるべきである場合、イントラ予測プロセッサ508は、処理を実行し、予測子(predictor)を出力してもよい。ブロックが動き推定/補償を介して処理されるべきである場合、動き推定/補償プロセッサ512は、該当する場合、単一のグローバル動きベクトル候補を動きベクトル候補リストに追加することを含む、動きベクトル候補リストを構成することを含む処理を実行してもよい。
【0049】
また、
図5を参照すると、残差は、入力ビデオから予測子を減ずることによって形成され得る。残差は、変換/量子化プロセッサ516によって受信されることができ、変換/量子化プロセッサ516は、変換処理(例えば、離散コサイン変換(DCT))を実行し、量子化され得る係数を生成し得る。量子化係数及び任意の関連付けられたシグナリング情報は、エントロピー符号化のためにエントロピー符号化プロセッサ532に提供され、出力ビットストリーム536に含められ得る。エントロピー符号化プロセッサ532は、現在のブロックを符号化することに関連するシグナリング情報の符号化をサポートしてもよい。さらに、量子化係数は、逆量子化/逆変換プロセッサ520に提供されることができ、逆量子化/逆変換プロセッサ520は、画素を再生成することができ、画素は、予測子と組み合わせられ、インループフィルタ524によって処理されることができ、その出力は、単一のグローバル動きベクトル候補を動きベクトル候補リストに追加することを含む、動きベクトル候補リストを構成することができる、動き推定/補償プロセッサ512によって使用されるために、復号ピクチャバッファ528に格納され得る。
【0050】
さらに
図5を参照すると、いくつかの変形例が詳細に上述されたが、他の変更又は追加は可能である。例えば、いくつかの実装形態では、現在のブロックは、任意の非対称ブロック(8×4、16×8など)だけでなく、任意の対称ブロック(8×8、16×16、32×32、64×64、128×128など)も含んでもよい。
【0051】
また、
図5を参照すると、いくつかの実装形態では、四分木プラス二分決定木(QTBT)が実装されてもよい。QTBTでは、コーディングツリーユニットレベルで、QTBTのパーティションパラメータは、任意のオーバーヘッドを送信することなく、ローカル特性に適応するように動的に導き出されてもよい。その後、コーディングユニットレベルで、ジョイントクラシファイア決定木構造は、不必要な繰り返しを排除してもよく、誤った予測のリスクを制御してもよい。いくつかの実装形態では、LTRフレームブロック更新モードは、QTBTのリーフノード毎で利用可能な追加の選択として利用可能であってもよい。
【0052】
また、
図5を参照すると、いくつかの実装形態では、追加のシンタックス要素は、ビットストリームの異なる階層レベルでシグナリングされてもよい。例えば、フラグは、シーケンスパラメータセット(SPS)で符号化されたイネーブルフラグを含むことによって、全体のシーケンスに対して有効であってもよい。さらに、CTUフラグは、コーディングツリーユニット(CTU)レベルで符号化されてもよい。
【0053】
引き続き
図5を参照すると、非一時的コンピュータプログラム製品(すなわち、物理的に具現化されたコンピュータプログラム製品)は、命令を格納してもよく、命令は、1つ又は複数のコンピューティングシステムの1つ又は複数のデータプロセッサによって実行されるとき、少なくとも1つのデータプロセッサに、本明細書で説明された動作及び/又はそのステップを実行させ、限定されないが、上述された400及び/又はエンコーダ500の任意の動作を実行するように構成されてもよいことを含む。同様に、コンピュータシステムはまた、1つ又は複数のデータプロセッサと、1つ又は複数のデータプロセッサに結合されたメモリとを含んでもよいと説明される。メモリは、少なくとも1つのプロセッサに、本明細書で説明される1つ又は複数の動作を実行させる命令を一時的に或いは恒久的に格納してもよい。さらに、方法は、単一のコンピューティングシステム内の1つ又は複数のデータプロセッサによって、或いは2つ以上のコンピューティングシステム間に分散された1つ又は複数のデータプロセッサによってのいずれかで実装され得る。そのようなコンピューティングシステムは、複数のコンピューティングシステムの1つ又は複数の間の直接接続などを介して、ネットワーク(例えば、インターネット、無線広域ネットワーク、ローカルエリアネットワーク、広域ネットワーク、有線ネットワークなど)を介した接続を含む、1つ又は複数の接続を介して、接続され、データ及び/又はコマンド又は他の命令などを交換し得る。
【0054】
引き続き
図5を参照すると、エンコーダ500、デコーダ400、及び/又はその回路は、任意の順序で、且つ任意の程度の繰り返しで、本開示で説明される任意の実施形態での任意の方法、方法ステップ、又は方法ステップのシーケンスを実行するように設計され、且つ/或いは構成され得る。例えば、エンコーダ500、デコーダ400、及び/又はその回路は、所望の或いは命令された結果が達成されるまで、単一のステップ又はシーケンスを繰り返し実行するように構成されていてもよい。ステップ又はステップのシーケンスの繰り返しは、前の繰り返しの出力を後続の繰り返しへの入力として使用し、集約結果を生成するために繰り返しの入力及び/又は出力を集約し、グローバル変数などの1つ又は複数の変数の削減又はデクリメントを行い、且つ/或いは、より大きな処理タスクを、反復的に対処される、より小さな処理タスクのセットに分割して、反復的に且つ/或いは再帰的に実行されてもよい。エンコーダ500、デコーダ400、及び/又はその回路は、2つ以上の並列スレッド、プロセッサコアなどを使用してステップを2回以上、同時に且つ/或いは実質的に同時に実行するなど、本開示で説明されるように任意のステップ又はステップのシーケンスを並行して実行してもよい。並列スレッド及び/又はプロセス間のタスクの分割は、反復間のタスク分割に適した任意のプロトコルにしたがって実行されてもよい。当業者は、本開示の全体を検討する際、ステップ、ステップのシーケンス、処理タスク、及び/又はデータが、反復、再帰、及び/又は並列処理を使用して細分化され、共有され、或いはその他の方法で取り扱われ得る様々な方法を承知するであろう。
【0055】
本明細書に開示される実施形態は、デコーダを含み、デコーダは、符号化されたビデオビットストリームを受信することと、ビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1の領域、第2の領域、及び第3の領域を含む、識別することと、ビットストリームで、第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することと、ビットストリームで、第2の領域が変換スキップ残差符号化を使用して符号化されていることを検出することと、ビットストリームで、第3の領域が非可逆符号化を使用して符号化されていることを検出することであって、非可逆符号化は、インター予測及びイントラ予測のうちの少なくとも1つを含む、検出することと、を行うように構成されている回路を含む。
【0056】
いくつかの実施形態では、ビットストリームは、第1の領域に対応するサブピクチャヘッダをさらに含み、第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することは、サブピクチャヘッダで、少なくとも第1の領域がブロック差分パルス符号変調を使用して符号化されているという指示を検出することをさらに含む。いくつかの実施形態では、サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれる。いくつかの実施形態では、サブピクチャは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれる。
【0057】
いくつかの実施形態では、ビットストリームは、第2の領域に対応するサブピクチャヘッダをさらに含み、デコーダは、サブピクチャヘッダで、変換スキップ残差符号化を使用する第2の領域が変換スキップ残差符号化を使用して符号化されているという指示を検出することを行うようにさらに構成されている。いくつかの実施形態では、サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれる。いくつかの実施形態では、デコーダは、第1のプロセッサスレッドを使用して第1の領域を復号化することと、第2のプロセッサスレッドを使用して第2の領域の要素を復号化することとを行うようにさらに構成されている。デコーダは、現在のフレームを復号化することであって、現在のフレームを復号化することは、ブロック差分パルス符号変調に対応する復号化プロトコルを使用して第1の領域を復号化することをさらに含む、復号化すること、を行うようにさらに構成されていてもよい。デコーダは、現在のフレームを復号化することであって、現在のフレームを復号化することは、変換スキップ残差符号化を使用することに対応する復号化プロトコルを使用して第2の領域を復号化することをさらに含む、復号化すること、を行うようにさらに構成されていてもよい。デコーダは、現在のフレームを復号化することであって、現在のフレームを復号化することは、非可逆符号化プロトコルに対応する復号化プロトコルを使用して第3の領域を復号化することをさらに含む、復号化すること、を行うようにさらに構成されていてもよい。
【0058】
いくつかの実施形態では、組み合わせられた可逆及び非可逆符号化の方法は、デコーダによって、符号化されたビデオビットストリームを受信することと、デコーダによって且つビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1の領域、第2の領域、及び第3の領域を含む、識別することと、デコーダよって且つビットストリームで、第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することと、デコーダによって且つビットストリームで、第2の領域が変換スキップ残差符号化を使用して符号化されていることを検出することと、デコーダによって且つビットストリームで、第3の領域が非可逆符号化を使用して符号化されていることを検出することであって、非可逆符号化は、インター予測及びイントラ予測のうちの少なくとも1つを含む、検出することとを含む。
【0059】
いくつかの実施形態では、ビットストリームは、第1の領域に対応するサブピクチャヘッダをさらに含み、第1の領域がブロック差分パルス符号変調を使用して符号化されていることを検出することは、サブピクチャヘッダで、少なくとも第1の領域がブロック差分パルス符号変調を使用して符号化されているという指示を検出することをさらに含む。いくつかの実施形態では、サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれる。サブピクチャは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれてもよい。ビットストリームは、第2の領域に対応するサブピクチャヘッダを含んでもよく、デコーダは、サブピクチャヘッダで、変換スキップ残差符号化を使用する第2の領域が変換スキップ残差符号化を使用して符号化されているという指示を検出することを行うようにさらに構成されていてもよい。サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。
【0060】
方法は、第1のプロセッサスレッドを使用して第1の領域を復号化することと、第2のプロセッサスレッドを使用して第3の領域の要素を復号化することとを含んでもよい。方法は、現在のフレームを復号化することであって、現在のフレームを復号化することは、ブロック差分パルス符号変調に対応する復号化プロトコルを使用して第1の領域を復号化することをさらに含む、復号化することを含んでもよい。方法は、現在のフレームを復号化することであって、現在のフレームを復号化することは、変換スキップ残差符号化を使用することに対応する復号化プロトコルを使用して第2の領域を復号化することをさらに含む、復号化することを含んでもよい。方法は、現在のフレームを復号化することであって、現在のフレームを復号化することは、非可逆符号化プロトコルに対応する復号化プロトコルを使用して第3の領域を復号化することをさらに含む、復号化することを含んでもよい。
【0061】
いくつかの実施形態では、デコーダは、符号化されたビットストリームを受信することと、ビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1のサブピクチャ及び第2のサブピクチャを含む、識別することと、ビットストリームで、第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという指示を検出することと、現在のフレームを復号化することであって、現在のフレームを復号化することは、可逆符号化プロトコルに対応する可逆復号化プロトコルを使用して第1のサブピクチャを復号化することをさらに含む、復号化することと、を行うように構成されている回路を含む。
【0062】
いくつかの実施形態では、ビットストリームは、第1のサブピクチャに対応するサブピクチャヘッダを含んでもよく、検出することは、サブピクチャヘッダで、少なくとも第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという指示を検出することを含んでもよい。サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。サブピクチャは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれてもよい。デコーダは、第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されていることを検出することと、可逆符号化プロトコルに対応する非可逆復号化プロトコルにしたがって第2のサブピクチャを復号化することとを行うようにさらに構成されていてもよい。ビットストリームは、第2のサブピクチャに対応するサブピクチャヘッダを含んでもよく、デコーダは、サブピクチャヘッダで、第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されているという指示を検出することを行うようにさらに構成されていてもよい。サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。サブピクチャヘッダは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれてもよい。デコーダは、第1のプロセッサスレッドを使用して第1のサブピクチャを復号化することと、第2のプロセッサスレッドを使用して第2のサブピクチャの要素を復号化することとを行うようにさらに構成されていてもよい。デコーダは、ビットストリームを受信し、ビットストリームを量子化係数に復号化するように構成されているエントロピーデコーダプロセッサと、逆離散コサインを実行することを含む量子化係数を処理するように構成されている逆量子化及び逆変換プロセッサと、デブロッキングフィルタと、フレームバッファと、イントラ予測プロセッサとを含んでもよい。第1のサブピクチャ及び第2のサブピクチャのうちの少なくとも1つは、四分木プラス二分決定木の一部を形成してもよい。第1サブピクチャ及び第2サブピクチャのうちの少なくとも1つは、コーディングツリーユニットを含んでもよい。第1のサブピクチャ及び第2のサブピクチャのうちの少なくとも1つは、コーディングユニットを含んでもよい。第1のサブピクチャ及び第2のサブピクチャのうちの少なくとも1つは、予測ユニットを含んでもよい。
【0063】
いくつかの実施形態では、組み合わせられた可逆及び非可逆符号化の方法であって、デコーダで、ビットストリームを受信することと、デコーダによって且つビットストリームで、現在のフレームを識別することであって、現在のフレームは、第1のサブピクチャ及び第2のサブピクチャを含む、識別することと、デコーダによって且つビットストリームで、第1のサブピクチャが可逆符号化プロトコルにしたがって符号化されているという指示を検出することと、デコーダによって、現在のフレームを復号化することであって、現在のフレームを復号化することは、可逆符号化プロトコルに対応する可逆復号化プロトコルを使用して第1のサブピクチャを復号化することをさらに含む、復号化することと、を含む。
【0064】
いくつかの実施形態では、ビットストリームは、第1のサブピクチャに対応するサブピクチャヘッダをさらに含んでもよく、検出することは、サブピクチャヘッダで、少なくとも第1のサブピクチャが非可逆符号化プロトコルにしたがって符号化されているという指示を検出することを含んでもよい。サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。サブピクチャヘッダは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれてもよい。方法は、第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されていることを検出することと、可逆符号化プロトコルに対応する非可逆復号化プロトコルにしたがって第2のサブピクチャを復号化することとを含んでもよい。いくつかの実施形態では、ビットストリームは、第2のサブピクチャに対応するサブピクチャヘッダを含んでもよく、検出することは、サブピクチャヘッダで、第2のサブピクチャが非可逆符号化プロトコルにしたがって符号化されているという指示を検出することを含んでもよい。サブピクチャヘッダは、現在のフレームに対応するデータに明示的に含まれてもよい。サブピクチャヘッダは、第3のサブピクチャに対応するサブピクチャヘッダの識別子を参照することによって含まれてもよい。デコーダは、第1のプロセッサスレッドを使用して第1のサブピクチャを復号化することと、第2のプロセッサスレッドを使用して第2のサブピクチャの要素を復号化することとを行うようにさらに構成されていてもよい。
【0065】
いくつかの実施形態では、デコーダは、ビットストリームを受信し、ビットストリームを量子化係数に復号化するように構成されているエントロピーデコーダプロセッサと、逆離散コサインを実行することを含む量子化係数を処理するように構成されている逆量子化及び逆変換プロセッサと、デブロッキングフィルタと、フレームバッファと、イントラ予測プロセッサとを含んでもよい。第1のサブピクチャ及び第2のサブピクチャのうちの少なくとも1つは、四分木プラス二分決定木の一部を形成してもよい。第1のサブピクチャ及び第2のサブピクチャのうちの少なくとも1つは、コーディングツリーユニットを含んでもよい。第1のサブピクチャ及び第2のサブピクチャのうちの少なくとも1つは、コーディングユニットを含んでもよい。第1のサブピクチャ及び第2のサブピクチャのうちの少なくとも1つは、予測ユニットを含んでもよい。
【0066】
本明細書で説明される任意の1つ又は複数の態様及び実施形態は、コンピュータ技術における当業者にとって明らかであるように、本明細書の教示にしたがってプログラムされた1つ又は複数の機械(例えば、電子文書に関するユーザコンピューティングデバイス、文書サーバなどの、1つ又は複数のサーバデバイスなどとして利用される1つ又は複数のコンピューティングデバイス)を使用して都合よく実装されてもよいことに留意されたい。適切なソフトウェアコーディングは、ソフトウェア技術における当業者に明らかであるように、本開示の教示に基づいて、熟練したプログラマによって容易に作成され得る。ソフトウェア及び/又はソフトウェアモジュールを採用して上述された態様及び実装形態はまた、ソフトウェア及び/又ソフトウェアモジュールの機械実行可能命令の実装形態を支援するために適切なハードウェアを含んでもよい。
【0067】
そのようなソフトウェアは、機械可読記憶媒体を採用するコンピュータプログラム製品であってもよい。機械可読記憶媒体は、機械(例えば、コンピューティングデバイス)による実行のための命令シーケンスを格納し、且つ/或いは符号化することができ、本明細書で説明される方法論及び/又は実施形態の任意の1つを機械に実行させる任意の媒体であってもよい。機械可読記憶媒体の例は、磁気ディスク、光ディスク(例えば、CD、CD-R、DVD、DVD-Rなど)、光磁気ディスク、読み取り専用メモリ「ROM」デバイス、ランダムアクセスメモリ「RAM」デバイス、磁気カード、光カード、ソリッドステートメモリデバイス、EPROM、EEPROM、及びそれらの任意の組み合わせを含むが、それらに限定されない。本明細書で使用されるように、機械可読媒体は、例えば、コンピュータメモリと組み合わせた、コンパクトディスクの集まり又は1つ若しくは複数のハードディスクドライブなどの、物理的に別個の媒体の集まりだけでなく、単一の媒体も含むことが意図される。本明細書で使用されるように、機械可読記憶媒体は、信号送信の一時的な形式を含まない。
【0068】
そのようなソフトウェアはまた、搬送波などの、データキャリア上でデータ信号として搬送された情報(例えば、データ)を含んでもよい。例えば、機械実行可能な情報は、信号が、機械(例えば、コンピューティングデバイス)による実行のための命令シーケンス又はその一部分、及び、機械に、本明細書で説明される方法論及び/又は実施形態の任意の1つを実行させる任意の関連付けられた情報(例えば、データ構造及びデータ)を符号化するデータキャリアに具現化されたデータ搬送信号として含まれてもよい。
【0069】
コンピューティングデバイスの例は、電子書籍読み取りデバイス、コンピュータワークステーション、端末コンピュータ、サーバコンピュータ、携帯デバイス(例えば、タブレットコンピュータ、スマートフォンなど)、Webアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、その機械によって行われるべきアクションを指定する命令シーケンスを実行できる任意の機械、及びそれらの任意の組み合わせを含むが、それらに限定されない。一実施例では、コンピューティングデバイスは、キオスクを含んでもよく、且つ/或いはキオスクに含まれてもよい。
【0070】
図6は、制御システムに、本開示の任意の1つ又は複数の態様及び/又は方法論を実行させるための命令のセットが実行され得るコンピュータシステム600の例示的な形態のコンピューティングデバイスの一実施形態の図表示を示す。複数のコンピューティングデバイスが、1つ又は複数のデバイスに、本開示の任意の1つ又は複数の態様及び/又は方法論を実行させるための特別に構成されている命令のセットを実行するために利用されてもよいことも考慮される。コンピュータシステム600は、バス612を介して、互いに、及び他のコンポーネントと通信するプロセッサ604及びメモリ608を含む。バス612は、任意の様々なバスアーキテクチャを使用して、メモリバス、メモリコントローラ、周辺バス、ローカルバス、及びそれらの任意の組み合わせを含むが、それらに限定されない、任意のいくつかのタイプのバス構造を含んでもよい。
【0071】
プロセッサ604は、限定されないが、ステートマシンで調節され、メモリ及び/又はセンサからの動作入力によって指示され得る、算術及び論理演算装置(ALU)などの、算術及び論理演算を実行するための論理回路を組み込むプロセッサなどの、任意の適切なプロセッサを含み得る。非限定的な一実施例として、プロセッサ604は、フォンノイマン及び/又はハーバードアーキテクチャにしたがって編成されてもよい。プロセッサ604は、限定されないが、マイクロコントローラ、マイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラムプログラマブルロジックデバイス(CPLD)、グラフィックスプロセシングユニット(GPU)、汎用GPU、テンソルプロセシングユニット(TPU)、アナログ又は混合信号プロセッサ、トラステッドプラットフォームモジュール(TPM)、浮動小数点装置(FPU)、及び/又はシステムオンチップ(SoC)を含んでもよく、組み込んでもよく、且つ/或いは組み込まれてもよい。
【0072】
メモリ608は、ランダムアクセスメモリコンポーネント、読み取り専用コンポーネント、及びそれらの任意の組み合わせを含むが、それらに限定されない、様々なコンポーネント(例えば、機械可読媒体)を含んでもよい。一実施例では、起動中などの、コンピュータシステム600内の要素間で情報を転送するのに役立つ基本ルーチンを含む、基本入出力システム616(BIOS)が、メモリ608に格納されてもよい。メモリ608はまた、本開示の任意の1つ又は複数の態様及び/又は方法論を具体化する命令(例えば、ソフトウェア)620を含んでもよい(例えば、1つ又は複数の機械可読媒体に格納される)。別の実施例では、メモリ608は、オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、プログラムデータ、及びそれらの任意の組み合わせを含むが、それらに限定されない、任意の数のプログラムモジュールをさらに含んでもよい。
【0073】
コンピュータシステム600はまた、記憶デバイス624を含んでもよい。記憶デバイス(例えば、記憶デバイス624)の例は、ハードディスクドライブ、磁気ディスクドライブ、光学媒体と組み合わせた光ディスクドライブ、ソリッドステートメモリデバイス、及びそれらの任意の組み合わせを含むが、それらに限定されない。記憶デバイス624は、適切なインタフェース(図示せず)によってバス812に接続されてもよい。例示的なインタフェースは、SCSI、アドバンスドテクノロジーアタッチメント(ATA)、シリアルATA、ユニバーサルシリアルバス(USB)、IEEE1394(FIREWIRE)、及びそれらの任意の組み合わせを含むが、それらに限定されない。一実施例では、記憶デバイス624(又はその1つ若しくは複数のコンポーネント)は、(例えば、外部ポートコネクタ(図示せず)を介して)コンピュータシステム600と取り外し可能にインタフェースされてもよい。特に、記憶デバイス624及び関連付けられた機械可読媒体628は、コンピュータシステム600のための機械可読命令、データ構造、プログラムモジュール、及び/又は他のデータの、不揮発性且つ/或いは揮発性の記憶装置を提供してもよい。一実施例では、ソフトウェア620は、完全に或いは部分的に、機械可読媒体628内に存在してもよい。別の実施例では、ソフトウェア620は、完全に或いは部分的に、プロセッサ604内に存在してもよい。
【0074】
コンピュータシステム600はまた、入力デバイス632を含んでもよい。一実施例では、コンピュータシステム600のユーザは、入力デバイス632を介してコンピュータシステム600にコマンド及び/又は他の情報を入力してもよい。入力デバイス632の例は、英数字入力デバイス(例えば、キーボード)、ポインティングデバイス、ジョイスティック、ゲームパッド、音声入力デバイス(例えば、マイク、音声応答システムなど)、カーソル制御デバイス(例えば、マウス)、タッチパッド、光学スキャナ、ビデオキャプチャデバイス(例えば、スチールカメラ、ビデオカメラ)、タッチスクリーン、及びそれらの任意の組み合わせを含むが、それらに限定されない。入力デバイス632は、シリアルインタフェース、パラレルインタフェース、ゲームポート、USBインタフェース、FIREWIREインタフェース、バス612へのダイレクトインタフェース、及びそれらの任意の組み合わせを含むが、それらに限定されない、様々なインタフェース(図示せず)を介してバス612にインタフェースされてもよい。入力デバイス632は、以下でさらに議論される、ディスプレイ636の一部であってもよく、或いは別個であってもよいタッチスクリーンインタフェースを含んでもよい。入力デバイス632は、上述されたように、グラフィカルインタフェースにおいて1つ又は複数のグラフィカル表現を選択するためのユーザ選択デバイスとして利用されてもよい。
【0075】
ユーザはまた、記憶デバイス624(例えば、リムーバブルディスクドライブ、フラッシュドライブなど)及び/又はネットワークインタフェースデバイス640を介して、コンピュータシステム600にコマンド及び/又は他の情報を入力してもよい。ネットワークインタフェースデバイス640などの、ネットワークインタフェースデバイスは、ネットワーク644などの、1つ又は複数の様々なネットワーク、及びそれに接続された1つ又は複数のリモートデバイス648にコンピュータシステム600を接続するために利用されてもよい。ネットワークインタフェースデバイスの例は、ネットワークインタフェースカード(例えば、モバイルネットワークインタフェースカード、LANカード)、モデム、及びそれらの任意の組み合わせを含むが、それらに限定されない。ネットワークの例は、広域ネットワーク(例えば、インターネット、企業ネットワーク)、ローカルエリアネットワーク(例えば、オフィス、建物、キャンパス又は他の比較的小さな地理的空間に関連付けられたネットワーク)、電話ネットワーク、電話/音声プロバイダに関連付けられたデータネットワーク(例えば、移動通信プロバイダのデータ及び/又は音声ネットワーク)、2つのコンピューティングデバイス間の直接接続、及びそれらの任意の組み合わせを含むが、それらに限定されない。ネットワーク644などの、ネットワークは、通信の有線モード及び/又は無線モードを採用してもよい。概して、任意のネットワークトポロジーが使用されてもよい。情報(例えば、データ、ソフトウェア620など)は、ネットワークインタフェースデバイス640を介して、コンピュータシステム600へ且つ/或いはコンピュータシステム600から通信されてもよい。
【0076】
コンピュータシステム600は、ディスプレイデバイス636などの、ディスプレイデバイスに表示可能な画像を通信するためのビデオディスプレイアダプタ652をさらに含んでもよい。ディスプレイデバイスの例は、液晶ディスプレイ(LCD)、陰極線管(CRT)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、及びそれらの任意の組み合わせを含むが、それらに限定されない。ディスプレイアダプタ652及びディスプレイデバイス636は、本開示の態様のグラフィカル表現を提供するためにプロセッサ604と組み合わせて利用されてもよい。ディスプレイデバイスに加えて、コンピュータシステム600は、オーディオスピーカ、プリンタ、及びそれらの任意の組み合わせを含むが、それらに限定されない、1つ又は複数の他の周辺出力デバイスを含んでもよい。そのような周辺出力デバイスは、周辺インタフェース656を介してバス612に接続されてもよい。周辺機器インタフェースの例は、シリアルポート、USB接続、FIREWIRE接続、パラレル接続、及びそれらの任意の組み合わせを含むが、それらに限定されない。
【0077】
前述は、本発明の例示的な実施形態の詳細な説明である。様々な変更及び追加は、本発明の精神及び範囲から逸脱することなく、行われ得る。上述された様々な実施形態の各々の特徴は、関連付けられた新たな実施形態における多様な特徴の組み合わせを提供するために、必要に応じて他の説明された実施形態の特徴と組み合わせられてもよい。さらに、前述は、複数の別個の実施形態を説明し、本明細書で説明されたものは、本発明の原理の適用の単なる例示に過ぎない。さらに、本明細書における特定の方法は、特定の順序で実行されるものとして説明されてもよく、且つ/或いは記載されてもよく、その順序は、本開示にしたがって方法、システム及びソフトウェアを達成するために通常の技術内で非常に可変的である。したがって、本説明は、例としてのみに捉えられ、その他の点で本発明の範囲を限定することを意図しない。
【0078】
例示的な実施形態は、上記に開示され、添付の図面に説明されている。本発明の精神及び範囲から逸脱することなく、本明細書に具体的に開示されているものに対して様々な変更、省略及び追加を行い得ることは、当業者によって理解されるであろう。
【国際調査報告】