(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-24
(54)【発明の名称】リアルタイムVVC復号化を実行するための方法及び装置
(51)【国際特許分類】
H04N 19/436 20140101AFI20230117BHJP
H04N 19/91 20140101ALI20230117BHJP
【FI】
H04N19/436
H04N19/91
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022529082
(86)(22)【出願日】2020-11-24
(85)【翻訳文提出日】2022-05-18
(86)【国際出願番号】 US2020061909
(87)【国際公開番号】W WO2021108341
(87)【国際公開日】2021-06-03
(32)【優先日】2019-11-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】514041959
【氏名又は名称】ヴィド スケール インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】グドゥマス、シュリーニヴァス
(72)【発明者】
【氏名】バンジョパディヤイ、サウラフ
(72)【発明者】
【氏名】ホー、ユイウェン
(72)【発明者】
【氏名】ホー、ヨン
(72)【発明者】
【氏名】シュリーヴァスタヴァ、アシット
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK13
5C159MA04
5C159MA05
5C159ME11
5C159PP16
5C159RC11
5C159UA02
5C159UA05
5C159UA38
(57)【要約】
リアルタイム汎用ビデオコーディング(VVC)デコーダを実装するための装置及び方法は、既存の並列化技術の制限に対処するために複数のスレッドを使用し、コーディング効率を損なうことなく利用可能なCPU計算リソースを十分活用する。提案されるマルチスレッド(MT)フレームワークは、メモリ帯域幅を損なうことなく、CTUのレベルの並列処理技術を使用する。ピクチャレベルの並列処理は、ピクチャの参照階層を考慮することによって、シーケンスを時間レベルに分離する。実施形態は、デフォルト構成でVVC参照エンコーダを使用して生成されたビットストリームについて、マルチコアCPUを有する異種プラットフォームにおけるリアルタイムVVC復号化を達成するための様々な最適化技術を使用して提供される。
【選択図】
図12
【特許請求の範囲】
【請求項1】
ビデオを復号化する方法であって、
スレッドを、並列処理を使用したビデオフレームのCABAC復号化に割り当てることであって、より多くのスレッドが、より高い量子化のパラメータと比較して低い量子化のパラメータを有するフレーム、若しくはインターフレームに対するイントラフレームの復号化に、又はPフレームに、あるいは前記フレームがより下位の時間層にあるときに割り当てられる、割り当てることと、
割り当てられた前記スレッドを使用して前記ビデオフレームを復号化することと、を含む、方法。
【請求項2】
ビデオの並列復号化の方法であって、
コーディングユニットの動きベクトルを生成することと、
インターコーディングユニット再構成を実行することと、
イントラコーディングユニット再構成を実行することと、
前記ビデオの逆再成形及びインループフィルタを実行することと、を含み、
前記生成するステップ及び前記実行するステップが、前記ビデオの別個の部分に対して同時に実行される、方法。
【請求項3】
デバイスであって、
メモリと、1つ以上のプロセッサと、を備え、前記1つ以上のプロセッサが、
スレッドを、並列処理を使用したビデオフレームのCABAC復号化に割り当てることであって、より多くのスレッドが、より高い量子化のパラメータと比較して低い量子化のパラメータを有するフレーム、若しくはインターフレームに対するイントラフレームの復号化に、又はPフレームに、あるいは前記フレームがより下位の時間層にあるときに割り当てられる、割り当てることと、
割り当てられた前記スレッドを使用して前記ビデオフレームを復号化することと、を行うように構成されている、デバイス。
【請求項4】
デバイスであって、
メモリと、1つ以上のプロセッサと、を備え、前記1つ以上のプロセッサが、
コーディングユニットの動きベクトルを生成することと、
インターコーディングユニット再構成を実行することと、
イントラコーディングユニット再構成を実行することと、
前記ビデオの逆再成形及びインループフィルタを実行することと、を行うように構成されており、
前記デバイスが、前記ビデオの別個の部分に対して同時に前記生成及び前記実行するように構成されている、デバイス。
【請求項5】
割り振られたスレッドの数が、初期割り振りの実行に基づいて動的に変化する、請求項1に記載の方法、又は請求項3に記載のデバイス。
【請求項6】
同様の前のフレームの処理時間がある期間より長い場合、ビデオの現在のフレームに割り振られたスレッドの数が増加する、請求項5に記載の方法又はデバイス。
【請求項7】
CABAC復号化と再構成復号化との間の待ち時間がある期間より長い場合、ビデオの現在のフレームに割り振られたスレッドの数が減少する、請求項5に記載の方法又はデバイス。
【請求項8】
スレッドの割り当てが、ピクチャ順序カウント距離、時間層、及びフレームタイプに基づく、前のフレームの重みに基づく、請求項5に記載の方法又はデバイス。
【請求項9】
動きベクトル生成が、左、上、及び/又は右上の隣接コーディングユニットに基づく、請求項2に記載の方法、又は請求項4に記載のデバイス。
【請求項10】
現在のコーディングツリーユニット動きベクトル生成に進む前に、右上コーディングツリーユニットの動きベクトルの生成が完了する、請求項2に記載の方法、又は請求項4に記載のデバイス。
【請求項11】
インターコード化コーディングユニット再構成が、イントラモード、並びに組み合わされたインター及びイントラ予測モード再構成とは別個に実行される、請求項2に記載の方法、又は請求項4に記載のデバイス。
【請求項12】
コーディングユニット再構成が、前記コーディングユニットの1つ以上の部分にわたって並列に実行される、請求項2に記載の方法、又は請求項4に記載のデバイス。
【請求項13】
動きベクトルの長さが閾値未満であるときに、デコーダ動きベクトル補正が使用される、請求項2に記載の方法、又は請求項4に記載のデバイス。
【請求項14】
装置であって、
請求項3~13のいずれか一項に記載のデバイスと、
(i)信号を受信するように構成されたアンテナであって、前記信号がビデオブロックを含む、アンテナ、(ii)受信された前記信号を、前記ビデオブロックを含む周波数帯域に制限するように構成されたバンドリミッタ、及び(iii)ビデオブロックを表す出力を表示するように構成されたディスプレイ、のうちの少なくとも1つと、を備える、装置。
【請求項15】
請求項1、2、及び5~13のいずれか一項に記載の方法に従って、又は請求項4~13のいずれか一項に記載の装置によって復号化された、プロセッサを使用して再生するためのデータコンテンツを含む、非一時的なコンピュータ可読媒体。
【請求項16】
請求項1、2、及び5~13のいずれか一項に記載の方法に従って、又は請求項4~13のいずれか一項に記載の装置によって復号化された、プロセッサを使用して再生するためのビデオデータを含む、信号。
【請求項17】
命令を含むコンピュータプログラム製品であって、前記プログラムがコンピュータによって実行されたとき、請求項1、2、及び5~11のいずれか一項に記載の方法を前記コンピュータに実行させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、概して、ビデオの復号化又は圧縮のための方法又は装置に関する。
【背景技術】
【0002】
高い圧縮効率を実現するために、画像及びビデオのコーディングスキームは、通常、動きベクトル予測を含む予測、並びにビデオコンテンツの空間的冗長性及び時間的冗長性を活用した変換を採用している。一般に、フレーム内又はフレーム間の相関を利用するために、イントラ予測又はインター予測が使用され、次いで、しばしば予測誤差又は予測残差と呼ばれる原画像と予測画像の間の差分が、変換、量子化、及びエントロピコーディングされる。ビデオを再構成するには、エントロピコーディング、量子化、変換、及び予測に対応する逆の処理によって、圧縮データを復号化する。
【発明の概要】
【0003】
本実施形態のうちの少なくとも1つは、概して、VVC(汎用ビデオコーディング又はH.266)規格のように、リアルタイム復号化を実行するための方法又は装置に関する。
【0004】
第1の態様によれば、方法が提供される。この方法は、スレッドを、並列処理を使用したビデオフレームのCABAC復号化に割り当てるステップであって、より多くのスレッドが、より高い量子化のパラメータと比較して低い量子化のパラメータを有するフレーム、若しくはインターフレームに対するイントラフレームの復号化に、又はPフレームに、あるいはフレームがより下位の時間層にあるときに割り当てられる、割り当てるステップと、上記割り当てられたスレッドを使用して上記ビデオフレームを復号化するステップと、を含む。
【0005】
第2の態様によれば、別の方法が提供される。この方法は、コーディングユニットの動きベクトルを生成するためのステップと、インターコーディングユニット再構成を実行するステップと、イントラコーディングユニット再構成を実行するステップと、上記ビデオの逆再成形及びインループフィルタを実行するステップと、を含み、上記生成するステップ及び上記実行するステップは、ビデオの別個の部分に対して同時に実行される。
【0006】
別の態様によれば、装置が提供される。この装置は、メモリと、1つ以上のプロセッサと、を備える、デバイスを備え、1つ以上のプロセッサは、スレッドを、並列処理を使用したビデオフレームのCABAC復号化に割り当てることであって、より多くのスレッドが、より高い量子化のパラメータと比較して低い量子化のパラメータを有するフレーム、若しくはインターフレームに対するイントラフレームの復号化に、又はPフレームに、あるいはフレームがより下位の時間層にあるときに割り当てられる、割り当てることと、上記割り当てられたスレッドを使用して上記ビデオフレームを復号化することと、を行うように構成されている。
【0007】
別の態様によれば、別の装置が提供される。この装置は、メモリと、1つ以上のプロセッサと、を備える、デバイスを備え、1つ以上のプロセッサは、コーディングユニットの動きベクトルを生成することと、インターコーディングユニット再構成を実行することと、イントラコーディングユニット再構成を実行することと、上記ビデオの逆再成形及びインループフィルタを実行することと、を行うように構成されており、このデバイスは、ビデオの別個の部分に対して同時に上記生成及び上記実行するように構成されている。
【0008】
少なくとも一実施形態の別の一般的な態様によれば、復号化実施形態のいずれかに係る装置と、(i)信号を受信するように構成されたアンテナであって、信号がビデオブロック及び特徴マップのテンソルを含む、アンテナ、(ii)受信された信号を、ビデオブロックを含む周波数帯域に制限するように構成されたバンドリミッタ、又は(iii)ビデオブロックを表す出力を表示するように構成されたディスプレイ、若しくは特徴/及び復号化されたコンテンツ分析する任意の受信デバイス、のうちの少なくとも1つと、を備えるデバイスが提供される。
【0009】
少なくとも一実施形態の別の一般的な態様によれば、説明した符号化実施形態又は変形形態のいずれかに従って復号化されたデータコンテンツを含む非一時的なコンピュータ可読媒体が提供される。
【0010】
少なくとも一実施形態の別の一般的な態様によれば、説明した符号化実施形態又は変形形態のいずれかに従って復号化されたビデオデータを含む信号が提供される。
【0011】
少なくとも一実施形態の別の一般的な態様によれば、ビットストリームは、説明した符号化実施形態又は変形形態のいずれかに従って生成されたデータコンテンツを含むようにフォーマットされる。
【0012】
少なくとも一実施形態の別の一般的な態様によれば、コンピュータプログラム製品であって、プログラムがコンピュータによって実行されるとき、説明した復号化実施形態又は変形形態のいずれかをコンピュータに実行させる命令を含むコンピュータプログラム製品が提供される。
【0013】
一般的な態様の上記及び他の態様、特徴、及び利点は、例示的な実施形態の以下の詳細な説明を添付の図面を参照しながら読み進めることによって明らかになるであろう。
【図面の簡単な説明】
【0014】
【
図1】VVCのブロックベースのビデオエンコーダの全体的な図を示す。
【
図2】マルチタイプのツリー構造におけるブロック区分を示す:(a)クォタナリ区分、(b)垂直バイナリ区分、(c)水平バイナリ区分、(d)垂直ターナリ区分、(e)水平ターナリ区分。
【
図3】VVCのビデオデコーダの全体的なブロック図を示す。
【
図4】スライス/ピクチャ復号化段階の例示的な概要を示す。
【
図5】WPP並列化を伴うCABAC復号化の例を示す。
【
図6】スライス/ピクチャ再構成段階のための例示的なスレッドスケジューリング機構を示す。
【
図7】WPP並列化を伴うコーディングユニット動きベクトル生成を示す。
【
図8】CUMV復号化段階内の例示的な並列化を示す。
【
図9】インターコーディングユニット再構成復号化段階内の並列化を示す。
【
図10】並列の非ジョイントイントラコーディングユニット再構成の例を示す。
【
図11】インターコーディングユニット及びイントラコーディングユニット再構成復号化段階のジョイント並列化を示す。
【
図12】水平及び垂直デブロッキングフィルタ復号化段階のインターリーブ処理を示す。
【
図13】コーディングユニット動きベクトル生成及びインターコーディングユニット再構成復号化段階のインターリーブ処理を示す。
【
図14】インター及びイントラコーディングユニット再構成復号化段階のインターリーブ処理を示す。
【
図15】インター、イントラコーディングユニット再構成及び逆再成形復号化段階のインターリーブ処理を示す。
【
図16a】a)1つ以上の開示された実施形態が実装され得る例示的な通信システム100を示す図、及びb)例示的なWTRUを示すシステム図を示す。
【
図16b】a)1つ以上の開示された実施形態が実装され得る例示的な通信システム100を示す図、及びb)例示的なWTRUを示すシステム図を示す。
【
図17】説明した一般的な態様の下の方法の一実施形態を示す。
【
図18】説明した一般的な態様の下の方法の第2の実施形態を示す。
【
図19】説明した方法のうちのいずれかを実行するための装置を示す。
【発明を実施するための形態】
【0015】
ビデオコーディングシステムは、デジタルビデオ信号を圧縮して、そのような信号の記憶必要性及び/又は伝送帯域幅を低減するために広く使用されている。ブロックベース、ウェーブレットベース、及びオブジェクトベースのシステムなどの様々なタイプのビデオコーディングシステムの中でも、今日では、ブロックベースのハイブリッドビデオコーディングシステムが最も広く使用され、展開されている。ブロックベースのビデオコーディングシステムの例としては、MPEG1/2/4パート2、H.264/MPEG-4パート10AVC、VC-1などの国際的なビデオコーディング規格、及び高効率ビデオコーディング(HEVC)と呼ばれる最新のビデオコーディング規格が挙げられ、これは、ITU-T/SG16/Q.6/VCEG及びISO/IEC/MPEGのJCT-VC(ビデオコーディングのジョイントコラボレーションチーム)によって開発された。
【0016】
HEVC規格の第1のバージョンは、前世代ビデオコーディング規格H.264/MPEG AVCと比較して、約50%のビットレートの節約又は同等の知覚的品質を提供し、2013年10月に確定した。HEVC規格は、その前身より著しいコーディング改善を提供するが、HEVCを超える追加のコーディングツールを用いて優れたコーディング効率を達成できるという証拠がある。それに基づいて、VCEGとMPEGの両方は、将来のビデオコーディング規格化のための新しいコーディング技術の探索作業を開始した。ジョイントビデオ探索チーム(Joint Video Exploration Team、JVET)は、ITU-T VECG及びISO/IEC MPEGによって2015年10月に形成されて、コード効率の実質的な増強を可能にすることができる高度な技術の有意な研究を開始した。ジョイント探索モデル(joint exploration model、JEM)と呼ばれる1つの参照ソフトウェアは、HEVC試験モデル(HEVC test model、HM)の上にいくつかの追加のコーディングツールを組み込むことによって、JVETによって維持された。
【0017】
2017年10月に、HEVCを超える能力を有するビデオ圧縮に対する提案のジョイントコール(call for proposals、CfP)が、ITU-T及びISO/IECによって発行された。2018年4月に、23個のCfP応答が、第10回JVETミーティングにおいて受領及び評価され、これは、約40%のHEVCに対する圧縮効率増加を示した。そのような評価結果に基づいて、JVETは、汎用ビデオコーディング(Versatile Video Coding、VVC)と命名された新世代ビデオコーディング規格を開発するための新しいプロジェクトを立ち上げた。同じ月に、VVC試験モデル(VVC test model、VTM)と呼ばれる1つの参照ソフトウェアコードベースが、VVC規格の参照実装を実証するために確立された。一方、新しいコーディングツールの評価を容易にするために、ベンチマークセット(benchmark set、BMS)と呼ばれる別の参照ソフトウェアベースも生成された。BMSコードベースでは、より高いコーディング効率及び中程度の実装複雑性を提供する追加のコーディングツールのリストが、VTMの上に含まれ、VVC規格化プロセス中に同様のコード技術を評価するときのベンチマークとして使用される。具体的には、JEMコーディングツール、例えば、4x4の非分離可能な二次変換(non-separable secondary transform、NSST)、一般化された双予測(generalized bi-prediction、GBi)、双方向光学フロー(bi-directional optical flow、BIO)、デコーダ側動きベクトル補正(decoder-side motion vector refinement、DMVR)、及びBMS-2.0に統合された現在のピクチャ参照(current picture referencing、CPR)に加えて、それは、トレリスコード化量子化ツールを含む。
【0018】
HEVCと同様に、VVCは、ブロックベースのハイブリッドビデオコーディングフレームワーク上に構築される。
図1は、一般的なブロックベースのハイブリッドビデオ符号化システムのブロック図を示す。入力ビデオ信号102は、(コーディングユニット(coding unit、CU)と呼ばれる)ブロックごとに処理される。VTM-1.0では、CUは、最大128×128ピクセルであり得る。しかしながら、クワッドツリーに基づいてのみブロックを区分するHEVCとは異なり、VTM-1.0では、1つのコーディングツリーユニット(coding tree unit、CTU)は、CUに分割されて、クワッド/バイナリ/ターナリツリーに基づいて様々な局所的特性に適合する。更に、HEVCにおける複数の区分ユニットタイプの概念は除去され、すなわち、CU、予測ユニット(prediction unit、PU)、及び変換ユニット(transform unit、TU)の分離は、VVCではもはや存在しない。代わりに、各CUは、常に、更なる区分なしで予測と変換の両方の基本ユニットとして使用される。マルチタイプのツリー構造では、1つのCTUは、最初に、クワッドツリー構造によって分割される。次いで、各クワッドツリーリーフノードを、バイナリ及びターナリツリー構造によって更に分割することができる。
図2に示すように、5つの分割タイプ、クォタナリ区分、水平バイナリ区分、垂直バイナリ区分、水平ターナリ区分、及び垂直ターナリ区分がある。
図1では、空間予測(160)及び/又は時間予測(162)を実行することができる。空間予測(又は「イントラ予測」)は、現在のビデオブロックを予測するために、同じビデオピクチャ/スライス内の既にコーディングされた隣接ブロック(参照サンプルと呼ばれる)のサンプルからのピクセルを使用する。空間予測は、ビデオ信号に固有の空間冗長性を低減する。時間予測(「インター予測」又は「動き補償予測」とも呼ばれる)は、現在のビデオブロックを予測するために、既にコーディングされたビデオピクチャからの再構成されたピクセルを使用する。時間予測は、ビデオ信号に固有の時間的冗長性を低減する。所与のCUの時間予測信号は通常、現在のCUとその時間的参照との間の動きの量及び方向を示す1つ以上の動きベクトル(motion vector、MV)によってシグナリングされる。また、複数の参照ピクチャがサポートされる場合、1つの参照ピクチャインデックスが追加的に送信され、これは、時間予測信号が参照ピクチャストア(164)内のどの参照ピクチャから来るかを識別するために使用される。空間及び/又は時間予測の後に、エンコーダ内のモード決定ブロック(180)は、例えばレート歪み最適化方法に基づいて、最良の予測モードを選択する。次いで、予測ブロックは、現在のビデオブロックから減算され(116)、予測残差は、変換を使用して相関解除され(104)、量子化される(106)。量子化された残差係数は、逆量子化(110)及び逆変換されて(112)、再構成された残差が形成され、次いで、これは、予測ブロックに戻って加算されて(126)、CUの再構成された信号が形成される。デブロッキングフィルタ、サンプル適応オフセット(sample adaptive offset、SAO)、及び適応インループフィルタ(adaptive in-loop filter、ALF)などの更なるループフィルタリングが、再構成されたCUに適用され得(166)、その後、それは、参照ピクチャストア(164)に入れられ、将来のビデオブロックをコーディングするために使用される。出力ビデオビットストリーム120を形成するために、コーディングモード(イントラ又はイントラ)、予測モード情報、動き情報、及び量子化された残差係数はすべて、エントロピコーディングユニット(108)に送信されて、更に圧縮及びパックされて、ビットストリームが形成される。
【0019】
VVCのインター予測及びループフィルタリング段階の中で、以下のツールは、HEVCと比較して新しい。
1)組み合わされたインター/イントラ予測(Combined Inter/Intra Prediction、CIIP)
2)デコーダ側動きベクトル補正(Decoder side Motion Vector Refinement、DMVR)
3)逆再成形
CIIPモードは、インター予測信号をイントラ予測信号と組み合わせる。インター及びイントラ予測信号は、加重平均化を使用して組み合わされる。重みは、左及び上のブロックのコーディングモードに基づく。
【0020】
VVCでは、以下の条件が満たされた場合、組み合わされたインター/イントラ予測(CIIP)モードでは、追加のフラグがCUごとにシグナリングされる。
・CUがマージモードでコーディングされるとき
・CUが64超のルーマサンプルを含む、すなわち、CUの幅×CUの高さが64以上である
・CUの高さ及びCUの幅は、128個未満のルーマサンプルである
【0021】
VVCは、デコーダ側動きベクトル補正(DMVR)としても知られる、デコーダでの双方向マッチングベースの動きベクトル補正を使用して、MV精度を増加させることができる。テンプレートマッチングをデコーダで実行して、参照ピクチャリストL0及びL1において、初期MVの周りでMVを補正する。SADは、初期MVの周りで、ラスタースキャン順序で、探索範囲(整数サンプルでは25ポイントの完全探索)内の各補正されたMV候補間で計算される。最も低いSADを有するMV候補を使用して、双予測信号を生成する。
【0022】
VVCでは、DMVRを、次の特徴を使用する各CUに適用することができる。
・双予測MVを用いたCUレベルマージモード
・現在のピクチャに関して、一方の参照ピクチャは過去にあり、他方の参照ピクチャは将来にある。
・現在のピクチャに対する両方の参照ピクチャ間のPOC(ピクチャ順序カウント)距離が同じである。
・CUが、64超のルーマサンプルを含む
・CUの高さとCUの幅の両方が、8個以上のルーマサンプルである
・CUレベル重み(CU-level weight、BCW)重みインデックスをもつ双予測が、等しい重みを示す
・現在のブロックには、加重予測(Weighted Prediction、WP)が有効にされていない
【0023】
クロマスケーリングを用いたルーママッピング(Luma mapping with chroma scaling、LMCS)は、シーケンスパラメータセット(sequence parameter set、SPS)フラグを使用してシーケンスレベルで有効/無効にすることができるVVC内の新しいツールとして追加される。LMCSは、ループフィルタリング段階の直前に適用される。インターコード化ブロックの場合、動き補償された予測は、マッピングされたドメインに適用され、すなわち、順方向マッピング関数が、元のドメイン内のルーマ予測ブロックに適用されて、マッピングされたドメインに変換される。イントラコード化ブロックの場合、順方向マッピングは適用されない。
【0024】
LMCSは、2つの部分、すなわち、1.断片的線形モデルでのルーママッピング、2.ルーマ依存性クロマスケーリング、からなる。
1.断片的線形モデルでのルーママッピング
ルーママッピングモデルは、タイルグループレベルでシグナリングされる。現在のタイルグループについて、ルーママッピングモデル存在フラグが検出された場合、対応する断片的線形モデルパラメータがシグナリングされる。シグナリングされたコードワードは、スケーリング係数を計算し、16個の等しい断片の各々についてマッピング関数を調整するために使用される。
2.ルーマ依存性クロマ残差スケーリング
クロマ残差スケーリングもまた、タイルグループレベルでシグナリングされる。ルーママッピングが有効化され、デュアルツリー区分が現在のタイルグループに適用されない場合、追加のフラグは、ルーマ依存性クロマ残差スケーリングの使用を示すためにシグナリングされる。ルーマ依存性クロマ残差スケーリングは、その面積が4以下であるクロマブロックに対して無効にされる。クロマ残差スケーリングを使用する目的は、ルーマ信号とクロマ信号との間の相互作用を補償することである。
【0025】
図3は、ブロックベースのビデオデコーダの全体的なブロック図を示す。ビデオビットストリーム202は、最初に、エントロピ復号化ユニット208においてアンパック及びエントロピ復号化される。コーディングモード及び予測情報は、空間予測ユニット260(イントラコーディングされた場合)又は時間予測ユニット262(インターコーディングされた場合)のいずれかに送信されて、予測ブロックを形成する。残差変換係数は、逆量子化ユニット210及び逆変換ユニット212に送信されて、残差ブロックを再構成する。次いで、予測ブロック及び残差ブロックは、226において一緒に加算される。再構成されたブロックは、参照ピクチャストア264に格納される前に、インループフィルタリングを更に通過することができる。次いで、参照ピクチャストア内の再構成されたビデオは、ディスプレイデバイスを駆動するために、並びに将来のビデオブロックを予測するために使用されるために、送出される。
【0026】
いくつかの公開された論文は、CPU、GPU、又は異種プラットフォーム上で、VVCの前のビデオココーデックの並列化能力を利用している。別のアプローチは、フレームの独立した領域を利用し、かつ全体的なメモリアクセスを低減するHEVCデブロッキングフィルタを提案した。他のアプローチでは、GPUは、逆量子化、逆変換、イントラ予測、デブロッキングフィルタ、及びSAOのHEVC復号化段階を加速するために使用される。別のアプローチでは、サンプル分類の並列計算、各コーディングツリーブロックの統計収集、エッジオフセット及びバンドオフセットの各クラスに対する最良オフセット値及び最小歪みの並列計算、SAOマージ及びSAOフィルタリングを含む、GPUベースの並列アルゴリズムが提案される。
【0027】
フレームレベルの並列化は、動き補償依存性を満たしながら、複数のフレームを同時に処理することからなる。フレームレベル並列化の主要な制限のうちの1つは、並列化のレベルが動きベクトルの長さによって決定されることである。これは、特に大きい動きを有するシーケンスでは、主要なボトルネックである。
【0028】
スライスレベルの並列化は、スライスを互いに独立して処理することを可能にする。この並列化のレベルの主要な欠点は、スライスの数がエンコーダによって決定されることである。更に、ほとんどの場合、コーデックは、フレームごとに1つのスライスを使用することに限定され得、結果的に、スライスレベルの並列化はほとんどない。更に、スライスは、コーディング効率を低下させる。
【0029】
フレームレベル又はスライスレベルの並列化の上記の欠点は、波面並列処理(Wavefront Parallel Processing、WPP)及びタイルを用いることによって克服することができる。両方の技術により、各ピクチャを、並列に処理され得る複数の区分にサブ分割することが可能になる。各区分は、他の区分への依存性を有しない必要がある整数個のコーディングユニットを含む。タイルの使用は、コーディング効率を低下させ、ラスタースキャン処理を複雑にする。しかしながら、タイル使用における主要な欠点は、区分間の依存性が欠如しているため、より多数のタイルでは有意であろう、レート歪み損失である。
【0030】
波面並列処理(WPP)は、コーディング依存性を破壊することなく、又はスライス若しくはタイルを使用した並列化におけるようにCABAC確率をリセットすることなく、ピクチャを区分することを可能にする。WPP法は、1つのピクチャをCTU行に区分し、CTU行境界を横切る予測及びエントロピコーディングを可能にする。この理由から、WPPは、スライス及びタイル並列処理方法と比較して、圧縮効率の損失がより低くなる。しかしながら、波面依存性により、すべてのCTB行が同時に復号化を開始することは可能にならない。したがって、行は、やはり同時に復号化を終了しない。これは、多数のWPPスレッドが復号化に使用されるときにより明らかになる並列化効率を導入する。
【0031】
オーバーラップされた波面(Overlapped Wavefront、OWF)並列化は、連続するピクチャの実行と重複させることによって、WPPの実装効率を改善する。OWF技術における依存性は、動き探索によって引き起こされる。OWFでは、参照ピクチャ内の動き探索領域内のすべての参照ピクセルが復号化されるまで、CTUは、復号化の準備ができていない。動き探索依存性は、複数のフレームを符号化するためのフレームレベルの並列処理スレッドのスループットを制限する。この問題は、(動き予測器によって決定される)探索ウィンドウの中心が参照ピクチャの下部に向かって位置するときに悪化する。一方、動きベクトルを制限することにより、速い垂直動きを示す、ビデオの顕著なコーディング損失がもたらされる。
【0032】
したがって、並列化技術のいずれも、今日のマルチコアシステムで利用可能なCPU処理能力を完全に利用することができない。
【0033】
説明した実施形態は、既存の並列化技術の制限に対処し、コーディング効率を損なうことなく利用可能なCPU計算リソースを完全に利用する。提案されたマルチスレッド(Multi-threaded、MT)フレームワークは、メモリ帯域幅を損なうことなく、CTUのレベル並列処理技術を使用する。ピクチャレベルの並列処理は、ピクチャの参照階層を考慮することによって、シーケンスを時間レベルに分離する。本開示は、デフォルト構成でVVC参照エンコーダを使用して生成されたそれらのビットストリームについて、マルチコアCPUを有する異種プラットフォームに対するリアルタイムVVC復号化を達成するために使用される様々な最適化技術を論じている。デコーダについて提案された等価な技術も、VVCエンコーダフレームワークと共に使用され得る。
【0034】
現在のVVCドラフトは、コーディングプロセスを並列可能にするためのいくつかの態様を含む。これには、タイル及び波面並列処理(WPP)が含まれる。並列化のためにタイルを採用することは、タイル間に依存性がないため、コード損失を導入する。WPPはスライスをCTU行に分割し、コーディング依存性を維持しながら行を並列に処理する。
【0035】
本実施形態は、コーディング効率を損なうことなく、並列化のより細かい粒度を提案する。「スライス復号化段階を有するCABACの並列化」と題するセクションは、CABAC復号化、及び再構成復号化段階と呼ばれるスライス復号化段階の残りを処理することによって達成される並列化のより細かい粒度を提示する。スライス/ピクチャ復号化段階のアーキテクチャ図を
図4に示す。再構成復号化段階、例えば、
図4に示されるようなインター、イントラ、再成形器、及びループフィルタ、の各々の並列化は、「スライス復号化段階の並列化」と題するセクションに記載されている。
【0036】
要約すると、パイプライン多段階VVCデコーダのより細かい粒度並列化を改善するための主要な寄与は、以下の通りである。
・イントラCU再構成段階では、すべての非ジョイント/独立したイントラCTU(インターモードでコーディングされたすべてのそのイントラコード化CU参照ピクセルを有するCTU)は、参照ピクセルインターCU(左、上、及び右上ブロック)再構成プロセスが完了すると、並列に再構成することができる。
・インターCU、並びに組み合わされたインター及びイントラ予測(CIIP)CU予測プロセスのインター予測は、ピクチャのすべてのCTUにわたって並列化され得る。
・計算の複雑さを分散させるために、WPP対応CABAC復号化は、再構成復号化段階と並列に実行できる。ピクチャのCABAC復号化のための初期に割り振られたスレッドの数は、前のピクチャのCABAC実行に基づいて動的に変化し、
・デコーダパイプラインの複数の段階は、ピクチャ内で、及び時間層ピクチャにわたって並列に実行できる。例えば、CUMV、インターCU再構成、及びイントラCU再構成の復号化段階は、ピクチャ内で又はピクチャ全体にわたって並列に実行できる。
・各CTUにおいて第1の依存性CUの位置を見つけ、その情報を利用して、CUMV及びイントラCU再構成段階での波面並列処理(WPP)並列化を改善するための事前分析。
・ピクチャを複数回スキャンするのを回避するために、デブロッキングフィルタは、水平及び垂直フィルタリング段階をインターリーブすることによって並列化される。CTU内及びCTUの間の水平エッジ及び垂直エッジの数は、スレッド間でフィルタリング作業負荷を均一に分配するように計算される。
・追加の条件を追加して、DMVRを適応的にオフに切り替える。DMVRは、動きベクトルの長さが事前定義された閾値未満であるときのみ、マージ候補に使用される。動きベクトルの長さに基づいてDMVRを無効にすることは、参照領域の利用可能性をもたらし、DMVR並列化を増加させる。
【0037】
VVC復号化段階の並列化アプローチは、以下の3つのカテゴリのうちの1つに分類することができる。カテゴリは、CTU間の復号化依存性に基づいて、各復号化段階に対して選択される。それらは次の通りである。
I.CTUレベル並列化(CTU level parallelization、CTUP)、
II.改善されたオーバーラップされた波面(Improved Overlapped Wavefront、IOWF)並列化、
III.負荷共有ベースの並列化。
【0038】
アプローチIは、CTUレベル依存性なしのVVC復号化段階、例えば、再成形、サンプル適応オフセット(SAO)のために選択される。アプローチIIは、イントラCU予測と共にCTUレベル依存性を有するVVC復号化段階のために選択される。
【0039】
パイプライン設計のアプローチIは、既存のタイルベースのアプローチに細かい粒度の並列化を追加する。これは、複数のCTU区分間の依存性が禁止されるように、CTUへのピクチャのフレキシブルな区分に基づく。スレッドごとに処理されるCUの数は、QTBT区分に基づいて動的に変化する。
【0040】
パイプライン設計のアプローチIIは、改善されたオーバーラップされた波面(IOWF)アプローチに従うことによって、波面並列処理(WPP)の非効率性に対処する。これらの実施形態で提案されたIOWFは、波面を使用して、ピクチャのCTU内の連続するピクチャ、領域、例えばCUの実行、及びピクチャ内の復号化段階をオーバーラップさせることを可能にする。以下の「スライス復号化段階を有するCABACの並列化」と題するセクションは、アプローチIIに基づくパイプライン設計を強調している。
【0041】
本発明者らのパイプライン設計のアプローチIIIは、高い分岐発散及び低いデータ並列化のために並列化することが困難なモジュールを並列化する。CABAC復号化は、このカテゴリの下に入る。したがって、CABAC復号化は、「スライス復号化段階を有するCABACの並列化」と題するセクションで説明したように、スライスの再構成復号化段階と並列に実行される。
【0042】
スライス復号化段階を有するCABACの並列化
スライス復号化段階を有するCABACの並列化は、提案されたアプローチIIIに基づく。VVCデコーダ待ち時間の主な理由のうちの1つは、CABACエンジンのコンテキスト選択に関するデータ依存性である。これは主に、ビンのコンテンツ選択が、以前に復号化されたビンの値に依存するためである。この依存性は、特にデコーダにおいてCABAC並列化を達成するためのボトルネックである。これにより、今度は、デコーダの待ち時間が追加される。この待ち時間は、ピクチャのCABAC復号化が、他のピクチャの再構成復号化段階と並列に行われる場合、低減できる。
【0043】
CABAC復号化段階と再構成復号化段階との間の負荷分散は、以下の段階からなる。
【0044】
I.スレッド優先度スケジューリング
CABAC復号化の複雑さは、スレッド実行優先度を規定し得る。例えば、イントラスライスのCABAC復号化の複雑さは、他のスライスと比較してはるかに高い。そのため、イントラスライスのCABAC復号化アクティビティは、復号化順序でその前のピクチャより早くスケジュールされ得る。同様に、時間層0のピクチャCABAC復号化の複雑さは、時間層1などより高い。このため、次のグループのピクチャ(group of picture、GOP)であるより下位の時間層ピクチャのCABAC復号化は、前のGOPであるより上位の時間層ピクチャのCABAC復号化と並列にスケジュールされ得る。このようにして、CABAC復号化時間の変動は、時間層ピクチャ間でバランスを取ることができる。したがって、スレッドスケジューリングは、以下に基づいて優先順位付けされる。
・そのフレーム/スライスの推定された複雑さに基づく、ピクチャのCABAC復号化プロセスの早期スケジューリング。
【0045】
II.WPP対応CABAC復号化のスレッド割り振り
図5に示すように、ピクチャのWPP対応CABAC復号化に割り振られたスレッドの初期数は、フレーム復号化の複雑さに依存する。フレーム復号化の複雑さが高い場合、より多くのスレッドが、例えば、低いQP、イントラフレーム、インターピクチャ、又はより下位の時間層のCABAC復号化に割り振られる。いくつかのスレッドがCABAC復号化に割り振られると、残りの利用可能なスレッドは、前のピクチャの再構成復号化段階を処理するために割り振られる。利用可能なスレッドの総数は、以下の方法でCABACと再構成復号化段階との間に分散される。
・より多数のスレッドが、高いQPと比較して低いQPを有するフレーム、インターフレームと比較してイントラフレームのCABAC復号化に、Pピクチャに、又はピクチャがより下位の時間層にあるときに、割り当てられる。
・より多数のスレッドが、単一のタイル又は単一のスライスを有するピクチャと比較して、複数のタイル及びスライスを有するピクチャのCABAC復号化に割り振られる。
【0046】
III.割り振りの動的変動
ピクチャのWPP対応CABAC復号化のための初期に割り振られたスレッドの数は、初期割り振りの実行に基づいて動的に変化する。初期割り振りに基づくCABACと再構成復号化段階との間の待ち時間は、スレッド割り振り基準として使用され得る。CABAC及び再構成復号化段階に割り振られたスレッドの数の動的変動の目標は、フレームごとのCABAC処理時間変動を低減することである。
・同様の前のフレームを処理するのに要する時間が、リアルタイムの制約よりも高い場合、現在のフレームのCABAC復号化に割り振られたスレッドの数が増加する。
・CABAC復号化と再構成復号化段階との間の待ち時間がより高い場合、現在のフレームのCABAC復号化に割り振られたスレッドの数が減少する。
・複数の前のフレームのうちの1つは、割り振りの動的変動を決定する際に使用することができる。
・現在のフレームに対するスレッドの動的割り当てを決定する際の前のフレームの重みは、POC距離、時間層、及びフレームタイプに基づいて変化する。
【0047】
スライス復号化段階の並列化
CABAC復号化後の個々の復号化段階は、アプローチI及びIIを使用して並列化される。パイプライン設計は、並列に処理できる複数の復号化ブロックのオーバーラップ実行の原理に従う。スレッドがブロックの実行を終了した場合、それは、次の利用可能なブロックを実行し続ける。並列処理は、依存性に影響を与えることなく、ピクチャをCTU又はCTU行に区分化する。そのようなオーバーラップ実行は、1つのデコーダモジュール内で又はモジュール間で起こり得る。サブセクションはこれについて詳述する。
【0048】
スレッドスケジューリング
このセクションは、セクション「CUMV生成」において以下に詳述されるCUMV段階について
図6に示されるスレッドスケジューリング機構を示す。再構成復号化段階アクティビティを処理するために、スレッドプール及び先入れ先出し(FIFO)アクティビティキューが作成される。スレッドプールは、異種マルチコアシステム内の利用可能なCPUコアの数に基づいて作成される。スレッドプールからの任意のフリースレッドは、アクティビティキューから第1の利用可能なタスクをフェッチし、CPU能力を利用してアクティビティを実行する。スライス復号化スレッドは、スライス/ピクチャを復号化するために実行されるタスクのリストをアクティビティキュー内にプッシュする。スライス復号化スレッドは初期に、偽に設定された依存性フラグを有する第1のCTU行タスクと、最後のCTU行までの、真に設定された依存性フラグを有する第2のCTU行タスクとの、CU動きベクトル生成をプッシュする。第1のワーカースレッドと呼ばれるフリーワーカースレッドは、タスクキューから第1の利用可能なアクティビティをフェッチし、第1のCTUのCU動きベクトル生成を実行し、いかなる依存性もない第1の行内の最後のCTUまで続ける。別のフリーワーカースレッドは、キューから次のアクティビティ(第2のCTU行CU動きベクトル生成)をフェッチし、WPP依存性を有する第1のワーカースレッドと並列にアクティビティを処理する。このプロセスは、すべてのスライス/ピクチャ復号化段階について続く。
【0049】
GPU並列処理
「復号化段階内の並列化」及び「復号化段階間の並列化」と題するセクションで提案された並列化スキームは、GPU並列化スキームにも適切である。VVC復号化アーキテクチャは、GPUメモリ使用量、例えば、グローバル、キャッシュ、又は定常メモリ使用量を低減するために、及びGPUメモリアクセスを低減するために修正される。CPU並列化に使用されるSIMD最適化の代わりに、GPUベクトル命令を利用して、並列化を増加させる。更に、GPUカーネル起動は、ファイル読み取り動作の直後に行われる。これにより、メモリ転送による実行制限が除去される。
【0050】
復号化段階内の並列化
現在のVVC設計は、各CTUの復号化段階を順次的に処理する。この設計は、並列化フレンドリーでない。VVCデコーダ段階の並列化の程度を改善するために、各ピクチャの復号化段階を次のサブタスクに分割することが提案される。
1.CU動きベクトル(CU motion vector、CUMV)生成
2.インターCU再構成
a.組み合わされたインターイントラ予測(CIIP)
b.デコーダ動きベクトル補正(DMVR)
3.イントラCU再構成
4.逆再成形
5.インループフィルタリング
a.デブロッキングフィルタ
b.適応ループフィルタ
c.サンプル適応オフセット
【0051】
CUMV生成
CU動きベクトル導出プロセスは、再構成プロセスに進む前に、インタースライス/ピクチャ全体に対して完了する。CU動きベクトルの導出は、その左、上、及び/又は右上の隣接CU動きベクトルに依存することができ、これは、波面並列処理(WPP)依存性と呼ばれる。より良い並列処理能力を達成するために、各CTU行は、増加するCTU番号の順序でアクティビティキューにプッシュされる。
図7に示すように、スレッドプールからのフリーワーカースレッドは、アクティビティキューから第1の利用可能なCTU行をフェッチし、CTU行全体の完了まで連続した順序でCTUの動きベクトルを生成する。各ワーカースレッドは、現在のCTU動きベクトル生成に進む前に、常に右上のCTUが動きベクトルを生成することを完了したことを確実にする。このようにして、最大H(CTU行の数)のワーカースレッドを、ピクチャ動きベクトル生成全体の並列処理に使用することができる。
図8は、CUMV動きベクトル導出プロセスを示す。
図8で使用される変数を表1に説明する。
【0052】
【0053】
CUMV動きベクトルを導出するために使用されるステップは、以下のように要約することができる。
・その右上のCTUに依存する各CTU内の第1のCUの位置を決定するための事前分析
・現在のCTU内の第1のCUの位置までのCUは、ステップ1におけるように、その右上のCTUと並列に処理できる
・各CTUの残りのCUは、右上のCTU全体ではなく、右上依存のCUの利用可能性を必要とし得る
【0054】
インターCU再構成
ピクチャ全体についてのCU動きベクトルの導出後、インターCU再構成プロセスは、イントラ及びCIIPモード再構成プロセスから分離されている。インターCU再構成アルゴリズムは、
図9に詳述されている。
図9で使用される変数を表2に説明する。
【0055】
【0056】
復号化スレッドの残りは、CTU又はCTUグループのインターCU再構成プロセスを、増加するCTU番号の順序でアクティビティキューにプッシュする。スレッドプールからのフリーワーカースレッドは、アクティビティキューから第1の利用可能なCTU又はCTUグループをフェッチし、全体的なCTU又はCTUグループのインターCU再構成プロセスを(CTUについて次々と)実行する。すべてのワーカースレッドは、システムで利用可能な複数のCPU/GPUコアを利用して、並列にそのCTUグループのインターCU再構成プロセスを実行する。このようにして、スライス/ピクチャのインターCU再構成全体の複雑さを劇的に低減することができる。
【0057】
I.CIIP
CUが、ルーマサンプルの数が64を超え、かつCUの幅とCUの高さの両方が128以下であるマージモードでコーディングされるとき、追加のフラグは、組み合わされたインター/イントラCU予測(CIIP)モードの使用をシグナリングする。現在のCUについてインターをイントラと組み合わせたため、CIIPモードCUのインター予測は、他のインターCU予測プロセスと組み合わせることができる。インターCU及びCIIPインターCU予測プロセスは、ピクチャのすべてのCTUにわたって並列化することができる。このようにして、CIIPインターCU再構成プロセス時間は、複数のワーカースレッドを使用してそれらを並列に処理することによって、有意に低減することができる。CIIPイントラCU再構成プロセスは、他のイントラCU再構成プロセスと組み合わされる。
【0058】
II.DMVR
VVCは、補正された動きベクトルを伝送することなく補正された動きベクトルを取得することを可能にし、したがって、エンコーダの計算の複雑さを低減する。しかしながら、プロセス中に、DMVRは、デコーダの計算作業負荷及び処理時間を増加させる。DMVRでは、計算の複雑さは、探索中心の周りの探索スキーム、使用されるメトリック、例えば、補正を選択するための絶対差分の和(SAD)、及び分数ピクセル位置を補間するための双一次補間に起因して発生する。
【0059】
エンコーダ又はデコーダのいずれかにおいて動きベクトル(MV)のサイズが制限されるため、現在のCUのDMVR出力を計算するために、より少ない数の参照領域が必要になるであろう。したがって、領域内の探索ポイントの数又はMVのサイズを制限することにより、速い動きを記述するという犠牲を払ってDMVR並列化を増加させ得る。
【0060】
DMVRは、シグナリングオーバーヘッドなしに、適応的にオン及びオフに切り替えることができる。MV補正プロセスは、以下の条件が満たされたときのみ動作する。
・コーディングユニットがマージモードである
・ICモードを使用した単指向性、ATMVP、STMVP、アフィン及びマージ候補が除外される
・(POCref0-POCcur)値及び(POCref1-POCcur)値のうちの一方のみが負である
【0061】
説明した実施形態のうちの少なくとも1つでは、動きベクトルの長さが事前定義された閾値未満である場合、DMVRのみを使用するために、追加の条件が追加される。動きベクトルの長さに基づいてDMVRを無効にすることは、参照領域の利用可能性をもたらし、双予測されるマージ候補についてDMVR並列化を増加させる。
【0062】
イントラCU再構成
イントラCU予測の従来のWPP並列化は、各CTU行を独立した領域として処理する。CTUレベルでは、各CTUは、その左及び右上の隣接CTUが再構成を終了するまで待たなければならない。このプロセスにより、現在のCTU行は、その近隣の上の行よりも常に2CTU潜在性になる。この問題を軽減するために、本明細書に記載の一般的な態様は、イントラCU予測並列化のための以下の段階を提案する。
【0063】
I.事前分析
・事前分析段階は、右上のCTUに依存する各CTUの第1の依存性CUの位置を決定する
・ピクチャ内の非ジョイントCTUの数を見つける。非ジョイントCTUは、すべてのそのイントラコード化CU参照ピクセルがインターモードでコーディングされるものである。
【0064】
II.並列化スキーム
・上記の事前分析結果に基づいて、現在のCTU内の第1の依存性CUの位置になるまでCUは、その右上のCTUと並列に処理することができる。
・すべての非ジョイントイントラCUは、それらの参照されるピクセルインターCU(左、上、及び右上のブロック)再構成プロセスが完了すると並列に再構成できる。フリーワーカースレッドは、一定数の非ジョイントイントラCUを処理することができる。より多くの非ジョイントイントラコード化CUが利用可能である場合、各フリーワーカースレッドは、他のワーカースレッドと並列に一定数の非ジョイントCUを処理することができる。
・上の行内の非ジョイントコード化CTUは、より高い優先度を有する。上の行内の各非ジョイントCTUは、フリーワーカースレッドによって処理される。このスレッドスケジューリング方法では、上の行のイントラCU再構成プロセスをより速く完了させることができ、次のCTU行に対して有意に待ち時間を短縮することができる。
図10に示されるように、第1の行の各非ジョイントCTUは、そのCTUのインターCU再構成プロセス完了後にフリーワーカースレッドによって処理される。
・WPPスレッドは、順次、残りのCTUに対して第1のCTU行イントラCU再構成プロセスを実行する。このWPPスレッドは、上記の非ジョイントCTU再構成プロセスと並列に走る。
【0065】
デブロッキングフィルタ
デブロッキングは、逆再成形器の直後のVVCループフィルタリング段階におけるモジュールである。VVCでは、垂直デブロッキングフィルタリング段階は、水平デブロッキングフィルタリングされた出力に基づく。したがって、現在の設計は、水平及び垂直のフィルタリング段階を順次処理する。しかしながら、水平又は垂直のフィルタリング段階のいずれについてもCTU間にデータ依存性はない。したがって、フレーム全体のすべてのCTUを並列に処理することができる。以下のセクション「インターリーブグループ化」は、水平及び垂直フィルタリング段階をインターリーブし、CTUレベルの並列化に起因するメモリアクセスの増加を軽減する技術を提案している。
【0066】
IV.エッジベースのCTUグループ化
VVCでは、最大許容CTUサイズは128×128である。したがって、8×8グリッドで実行されるデブロッキングの場合、許容される垂直エッジの最大数は、128/8=16である。しかしながら、QTBTTT区分により、垂直エッジ及び水平エッジの数は、CTU内で及びCTU間で変化し得る。したがって、スレッド間の処理負荷を均一に分配するために、それは、事前定義されたエッジの数に基づいて、スレッドごとにタスクを分配するように処理される。
【0067】
V.関心領域(Region of interest、ROI)ベースのCTUグループ化
スレッド割り当てのために連続するCTU行をグループ化する代わりに、スレッド処理ごとに関心領域(ROI)を選択することができる。関心領域に基づいてDBF処理のためにCTUをグループ化すると、メモリのより良好な取り扱いがもたらされるであろう。
【0068】
VI.インターリーブグループ化
既存のVVC設計は、水平及び垂直のフィルタリング段階を順次処理する。これは、ピクチャの複数のスキャンを必要とし、メモリアクセスを増加させる。ピクチャ全体を順次処理する代わりに、ここでは、水平及び垂直のフィルタリング段階をインターリーブすることが提案される。2CTU行の水平フィルタリングが第1のパスにおいて処理され、それに垂直フィルタリングが続く。これは、現在のCTU行の垂直フィルタリングが開始する前に、現在のCTU行及びその下のCTU行の水平フィルタリングされたピクセルの利用可能性を保証する。
図12は、水平及び垂直デブロッキング段階のジョイント並列化を示す。使用された変数を表3に説明する。
【0069】
【0070】
復号化段階間の並列化
復号化段階間の並列化は、アプローチIに基づく。ビデオコーディング段階間のデータ構造及び依存性は、段階内の及び段階間の並列化の可能性を制限する。例えば、CABACなどの復号化モジュールは、高い分岐発散及び低いデータ並列化を有する。同様に、低い分岐発散及びより高いデータ並列化を有するループフィルタリングなどのモジュールは、並列処理のための良好な候補である。提案された並列化技術は、分岐発散及びデータ並列の基準に基づいてVVCデコーダのそのような分析を実行して、1つのモジュールを別のモジュールに対して並列化する有効性を決定する。以下に、低い分岐発散及び更に高いデータ発散を同時に可能にするVVCモジュールのジョイント並列化のためのステップを説明する。
【0071】
時間層ピクチャの並列処理
復号化フレームレート、並びに待ち時間は、時間ピクチャ層の並列復号化によって同時に低減することができる。例えば、新しい参照ピクチャは、非参照ピクチャと比較して、より下位の時間層を占め、逆も同様である。連続したフレームを並列に処理するために、次の段階が連続して実行される。
・参照ピクチャ内のコロケートされたCU、下及び右上のCUの予測プロセスを完了する。
・下及び右のCU予測プロセスが完了した後に、参照ピクチャ内のコロケートされたCUの逆再成形及びデブロッキングを開始する。
・参照ピクチャ内の他のCU予測プロセスと並列に、コロケートされたCUに逆再成形及びループフィルタリングを適用する。
・現在のCUの予測バッファを生成する。
【0072】
ピクチャ内の複数の復号化モジュールの並列処理
複数の復号化モジュールの効率的な並列化を達成するために、2つの要因が考慮される。それらは、高い分岐発散、及び総復号化時間の割合である。我々のプロファイリング分析に基づいて、インターCU予測、ループフィルタリング段階は、復号化時間の非常に高い割合を占める。一方、イントラCU予測モジュールは、高い分岐発散を有していた。そのようなモジュール内の及びそのようなモジュール間のサブ段階は、総復号化時間を最小限に抑えるために、並列に復号化される。
【0073】
I.CUMV生成及びインターCU再構成
CUMV生成とインターCU再構成との間の並列化は、アプローチIIに従い、以下のステップを使用する。
●CABAC復号化の後のWPP依存性に続く並列なピクチャ全体のCU MV生成
●並列なピクチャ全体のインターCU再構成
●上の行CTUのインターCU再構成を他のCTUのCUMV生成と並列にスケジューリングすること
○上のCTU行CU MV生成プロセスの完了後、それらのフリーワーカースレッドは、他のCTU行CU MV生成プロセスの代わりにインターCU再構成プロセスに割り当てられる。下の行CU MV生成プロセスに対するワーカースレッドの早期割り振りは、それらがそれらの上のCTU行からWPP依存性を有するため、リソース浪費につながる。それらのワーカースレッドをインターCU再構成プロセスに割り振ると、リソースを効果的に利用するのに役立つ。
●
図13に示すように、上のCTU行のインターCU再構成プロセスは、番号フリーワーカースレッドを使用して開始されているが、一方、CU動きベクトル生成プロセスは、下のCTU行のWPPワーカースレッドによって実行される。
【0074】
II.CUMV生成、インター及びイントラCU再構成
インターCU及びイントラCU再構成段階のジョイント並列化を
図11に示し、関連するパラメータを表4で説明する。イントラCU再構成は、インターCU再構成プロセスに従う。しかしながら、上の行CTUイントラCU再構成プロセスは、他のCTU(例えば、最後の行CTU)のインターCU再構成と並列に実行できる。これは、インターCU再構成サンプル間の利用可能性を確保し、同時に、インターCU及びイントラCU再構成のジョイント並列化から利益を得るであろう。
【0075】
図14に示すように、動きベクトル生成、インター及びイントラCU再構成復号化段階は、オーバーラップし得る。WPPスレッドが特定のCTU行のCU MV生成を完了すると、フリーワーカースレッドをインターCUの再構成のために使用することができる。事前定義された数のCTUのインターCU再構成が完了すると、フリーワーカースレッドは、第1のCTU行イントラCU再構成プロセスの実行を開始することができる。別のフリーワーカースレッドが第2のCTU行イントラCU再構成プロセスの実行を開始する時間までに、第1のCTU行内の多くのCTUイントラCU再構成プロセスは完了している。このようにして、WPP依存性による第2のCTU行イントラCU再構成プロセスにおける遅延は、有意に最小化され得る。
【0076】
【0077】
III.逆再成形及びイントラCU再構成
他のCTUのCTUレベル逆再成形プロセス及びインター、イントラCU再構成は、並列に実行される。
図15に示すように、上のCTU行の逆再成形プロセスは、ピクチャ全体のインター及びイントラCU再構成の完了前に、フリーワーカースレッドを使用してスケジュールすることができる。この早期スケジューリングにより、ピクチャ全体のインター及びイントラCU再構成完了の前に、デブロッキング、SAO、及びALF完了を含む、上の行CTU全体再構成プロセスが可能になる。上のCTU行再構成が完了すると、次の依存性ピクチャ復号化は、現在のピクチャ復号化と並列に開始することができる。
【0078】
図16Aは、1つ以上の開示された実施形態が実装され得る例示的な通信システム100を示す図である。通信システム100は、音声、データ、ビデオ、メッセージング、ブロードキャストなどのコンテンツを複数の無線ユーザに提供する複数のアクセスシステムであり得る。通信システム100は、複数の無線ユーザが、無線帯域幅を含むシステムリソースの共有を通じて、そのようなコンテンツにアクセスすることを可能にし得る。例えば、通信システム100は、符号分割多重アクセス(code division multiple access、CDMA)、時分割多重アクセス(time division multiple access、TDMA)、周波数分割多重アクセス(frequency division multiple access、FDMA)、直交FDMA(orthogonal FDMA、OFDMA)、シングルキャリアFDMA(single-carrier FDMA、SC-FDMA)、ゼロテールユニークワードDFT-Spread OFDM(zero-tail unique-word DFT-Spread OFDM、ZT UW DTS-s OFDM)、ユニークワードOFDM(unique word OFDM、UW-OFDM)、リソースブロックフィルタ処理OFDM、フィルタバンクマルチキャリア(filter bank multicarrier、FBMC)、及び/又は同様のものなど、1つ以上のチャネルアクセス方法を採用し得る。
【0079】
図16Aに示されるように、通信システム100は、無線送信/受信ユニット(wireless transmit/receive unit、WTRU)102a、102b、102c、102dと、RAN104と、CN106と、公衆交換電話網(public switched telephone network、PSTN)108と、インターネット110と、他のネットワーク112とを含み得るが、開示される実施形態は、任意の数のWTRU、基地局、ネットワーク、及び/又はネットワーク要素を企図していることが理解されよう。WTRU102a、102b、102c、102dの各々は、無線環境において動作し、かつ/又は通信するように構成された任意のタイプのデバイスであり得る。例として、それらのいずれも「局」及び/又は「STA」と称され得るWTRU102a、102b、102c、102dは、無線信号を送信及び/又は受信するように構成され得、ユーザ機器(user equipment、UE)、移動局、固定又は移動加入者ユニット、加入ベースのユニット、ページャ、セルラ電話、携帯情報端末(personal digital assistant、PDA)、スマートフォン、ラップトップ、ネットブック、パーソナルコンピュータ、無線センサ、ホットスポット又はMi-Fiデバイス、モノのインターネット(Internet of Things、IoT)デバイス、ウォッチ又は他のウェアラブル、ヘッドマウントディスプレイ(head-mounted display、HMD)、車両、ドローン、医療デバイス及びアプリケーション(例えば、遠隔手術)、工業用デバイス及びアプリケーション(例えば、工業用及び/又は自動処理チェーンコンテキストで動作するロボット及び/又は他の無線デバイス)、家電デバイス、商業用及び/又は工業用無線ネットワークで動作するデバイスなどを含み得る。WTRU102a、102b、102c、及び102dのいずれも、互換的にUEと称され得る。
【0080】
通信システム100はまた、基地局114a、及び/又は基地局114bを含み得る。基地局114a、114bの各々は、CN106、インターネット110、及び/又は他のネットワーク112などの1つ以上の通信ネットワークへのアクセスを容易にするために、WTRU102a、102b、102c、102dのうちの少なくとも1つと無線でインターフェース接続するように構成された任意のタイプのデバイスであり得る。例として、基地局114a、114bは、基地局トランシーバ(base transceiver station、BTS)、ノードB、eNodeB、ホームノードB、ホームeNodeB、gNB、NR NodeB、サイトコントローラ、アクセスポイント(access point、AP)、無線ルータなどであり得る。基地局114a、114bは各々単一の要素として示されているが、基地局114a、114bは、任意の数の相互接続された基地局及び/又はネットワーク要素を含み得ることが理解されるであろう。
【0081】
基地局114aは、基地局コントローラ(base station controller、BSC)、無線ネットワークコントローラ(radio network controller、RNC)、リレーノードなど、他の基地局及び/又はネットワーク要素(図示せず)も含み得る、RAN104の一部であり得る。基地局114a及び/又は基地局114bは、セル(図示せず)と称され得る、1つ以上のキャリア周波数で無線信号を送信及び/又は受信するように構成され得る。これらの周波数は、認可スペクトル、未認可スペクトル、又はライセンス及び未認可スペクトルの組み合わせであり得る。セルは、比較的固定され得るか又は経時的に変化し得る特定の地理的エリアに無線サービスのカバレッジを提供し得る。セルは更にセルセクタに分割され得る。例えば、基地局114aと関連付けられたセルは、3つのセクタに分割され得る。したがって、一実施形態では、基地局114aは、3つのトランシーバ、すなわち、セルのセクタごとに1つを含み得る。一実施形態では、基地局114aは、多重入力多重出力(multiple-input multiple output、MIMO)技術を用いることができ、セルのセクタごとに複数のトランシーバを利用することができる。例えば、ビームフォーミングを使用して、所望の空間方向に信号を送信及び/又は受信することができる。
【0082】
基地局114a、114bは、エアインターフェース116を介してWTRU102a、102b、102c、102dのうちの1つ以上と通信し得、これは、任意の好適な無線通信リンク(例えば、無線周波数(radio frequency、RF)、マイクロ波、センチメートル波、マイクロメートル波、赤外線(infrared、IR)、紫外線(ultraviolet、UV)、可視光など)であり得る。エアインターフェース116は、任意の好適な無線アクセス技術(radio access technology、RAT)を使用して確立され得る。
【0083】
より具体的には、上記のように、通信システム100は、複数のアクセスシステムであり得、CDMA、TDMA、FDMA、OFDMA、SC-FDMAなどの1つ以上のチャネルアクセススキームを用いることができる。例えば、RAN104及びWTRU102a、102b、102cの基地局114aは、広帯域CDMA(wideband CDMA、WCDMA)を使用してエアインターフェース116を確立することができる、ユニバーサル移動体通信システム(Universal Mobile Telecommunications System、UMTS)地上無線アクセス(Terrestrial Radio Access、UTRA)などの無線技術を実装し得る。WCDMAは、高速パケットアクセス(High-Speed Packet Access、HSPA)及び/又は進化型HSPA(HSPA+)などの通信プロトコルを含み得る。HSPAは、高速ダウンリンク(Downlink、DL)パケットアクセス(High-Speed Downlink Packet Access、HSDPA)及び/又は高速アップリンクパケットアクセス(High-Speed UL Packet Access、HSUPA)を含み得る。
【0084】
一実施形態では、基地局114a及びWTRU102a、102b、102cは、進化型UMTS地上無線アクセス(Evolved UMTS Terrestrial Radio Access、E-UTRA)などの無線技術を実装し得、これは、ロングタームエボリューション(LTE)及び/又はLTE-Advanced(LTE-A)及び/又はLTE-Advanced Pro(LTE-APro)を使用してエアインターフェース116を確立し得る。
【0085】
一実施形態では、基地局114a、及びWTRU102a、102b、102cは、New Radio(NR)を使用して、エアインターフェース116を確立し得る、NR無線アクセスなどの無線技術を実装し得る。
【0086】
一実施形態では、基地局114a及びWTRU102a、102b、102cは、複数の無線アクセス技術を実装し得る。例えば、基地局114a及びWTRU102a、102b、102cは、例えば、デュアル接続性(dual connectivity、DC)原理を使用して、LTE無線アクセス及びNR無線アクセスを一緒に実装し得る。したがって、WTRU102a、102b、102cによって利用されるエアインターフェースは、複数のタイプの無線アクセス技術、並びに/又は複数のタイプの基地局(例えば、eNB及びgNB)に送信される/そこから送信される送信によって特徴付けられ得る。
【0087】
他の実施形態では、基地局114a及びWTRU102a、102b、102cは、IEEE802.11(すなわち、無線フィデリティ(Wireless Fidelity、WiFi)、IEEE802.16(すなわち、Worldwide Interoperability for Microwave Access(WiMAX))、CDMA2000、CDMA2000 1X、CDMA2000EV-DO、暫定規格2000(IS-2000)、暫定規格95(IS-95)、暫定規格856(IS-856)、汎欧州デジタル移動電話方式(Global System for Mobile communications、GSM)、GSM Evolution(Enhanced Data rates for GSM Evolution、EDGE)、GSM EDGE(GERAN)などの無線技術を実装し得る。
【0088】
図16Aの基地局114bは、例えば、無線ルータ、ホームノードB、ホームeNodeB又はアクセスポイントであってもよく、事業所、家庭、車両、キャンパス、工業施設、(例えば、ドローンによる使用のための)空中回廊、道路などの場所などの局所的エリアにおける無線接続を容易にするために、任意の好適なRATを利用することができる。一実施形態では、基地局114b及びWTRU102c、102dは、IEEE802.11などの無線技術を実装して、無線ローカルエリアネットワーク(wireless local area network、WLAN)を確立することができる。一実施形態では、基地局114b及びWTRU102c、102dは、IEEE802.15などの無線技術を実装して、無線パーソナルエリアネットワーク(wireless personal area network、WPAN)を確立することができる。更に別の実施形態では、基地局114b及びWTRU102c、102dは、セルラベースのRAT(例えば、WCDMA、CDMA2000、GSM、LTE、LTE-A、LTE-APro、NRなど)を利用して、ピコセル又はフェムトセルを確立することができる。
図16Aに示すように、基地局114bは、インターネット110への直接接続を有し得る。したがって、基地局114bは、CN106を介してインターネット110にアクセスする必要がない場合がある。
【0089】
RAN104は、WTRU102a、102b、102c、102dのうちの1つ以上に、音声、データ、アプリケーション、及び/又はボイスオーバインターネットプロトコル(voice over internet protocol、VoIP)サービスを提供するように構成された任意のタイプのネットワークであってもよいCN106と通信し得る。データは、異なるスループット要件、待ち時間要件、エラー許容要件、信頼性要件、データスループット要件、モビリティ要件などの様々なサービス品質(quality of service、QoS)要件を有し得る。CN106は、通話制御、ビリングサービス、モバイルロケーションベースのサービス、プリペイド通話、インターネット接続性、映像配信などを提供し、かつ/又はユーザ認証などの高レベルセキュリティ機能を実行することができる。
図16Aには示されていないが、RAN104及び/又はCN106は、RAN104と同じRAT又は異なるRATを用いる他のRANと直接又は間接的に通信し得ることが理解されよう。例えば、NR無線技術を利用し得るRAN104に接続されることに加えて、CN106はまた、GSM、UMTS、CDMA2000、WiMAX、E-UTRA又はWiFi無線技術を用いて別のRAN(図示せず)と通信し得る。
【0090】
CN106はまた、PSTN108、インターネット110、及び/又は他のネットワーク112にアクセスするために、WTRU102a、102b、102c、102dのゲートウェイとして機能し得る。PSTN108は、基本電話サービス(plain old telephone service、POTS)を提供する公衆交換電話網を含み得る。インターネット110は、TCP/IPインターネットプロトコルスイートの伝送制御プロトコル(transmission control protocol、TCP)、ユーザデータグラムプロトコル(datagram protocol、UDP)、及び/又はインターネットプロトコル(internet protocol、IP)などの共通通信プロトコルを使用する、相互接続されたコンピュータネットワーク及びデバイスのグローバルシステムを含み得る。ネットワーク112は、他のサービスプロバイダによって所有及び/又は操作される有線及び/又は無線通信ネットワークを含み得る。例えば、ネットワーク112は、RAN104と同じRAT又は異なるRATを用いることができる1つ以上のRANに接続された別のCNを含み得る。
【0091】
通信システム100におけるWTRU102a、102b、102c、102dのいくつか又はすべては、マルチモード能力を含んでもよい(例えば、WTRU102a、102b、102c、102dは、異なる無線リンクを介して異なる無線ネットワークと通信するための複数のトランシーバを含み得る)。例えば、
図16Aに示されるWTRU102cは、セルラベースの無線技術を用いることができる基地局114a、及びIEEE802無線技術を用いることができる基地局114bと通信するように構成され得る。
【0092】
図16Bは、例示的なWTRU102を示すシステム図である。
図16Bに示すように、WTRU102は、とりわけ、プロセッサ118、トランシーバ120、送/受信要素122、スピーカ/マイクロフォン124、キーパッド126、ディスプレイ/タッチパッド128、非リムーバブルメモリ130、リムーバブルメモリ132、電源134、全地球測位システム(global positioning system、GPS)チップセット136、及び/又は他の周辺機器138を含み得る。WTRU102は、一実施形態との一貫性を有しながら、前述の要素の任意の部分的組み合わせを含み得ることが理解されよう。
【0093】
プロセッサ118は、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアに関連付けられた1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、状態機械などであり得る。プロセッサ118は、信号コーディング、データ処理、電力制御、入力/出力処理、及び/又はWTRU102が無線環境で動作することを可能にする任意の他の機能を実行し得る。プロセッサ118は、送/受信要素122に結合され得るトランシーバ120に結合され得る。
図16Bは、プロセッサ118及びトランシーバ120を別個のコンポーネントとして示しているが、プロセッサ118及びトランシーバ120は、電子パッケージ又はチップにおいて一緒に統合され得ることが理解されよう。
【0094】
送/受信要素122は、エアインターフェース116を介して基地局(例えば、基地局114a)に信号を送信するか又は基地局(例えば、基地局114a)から信号を受信するように構成され得る。例えば、一実施形態では、送/受信要素122は、RF信号を送信及び/又は受信するように構成されたアンテナであり得る。一実施形態では、送/受信要素122は、例えば、IR、UV又は可視光信号を送信及び/又は受信するように構成されたエミッタ/検出器であり得る。更に別の実施形態では、送/受信要素122は、RF信号及び光信号の両方を送信及び/又は受信するように構成され得る。送/受信要素122は、無線信号の任意の組み合わせを送信及び/又は受信するように構成され得ることが理解されよう。
【0095】
送/受信要素122は、単一の要素として
図16Bに示されているが、WTRU102は、任意の数の送/受信要素122を含み得る。より具体的には、WTRU102は、MIMO技術を採用し得る。したがって、一実施形態では、WTRU102は、エアインターフェース116を介して無線信号を送受信するための2つ以上の送/受信要素122(例えば、複数のアンテナ)を含み得る。
【0096】
トランシーバ120は、送/受信要素122によって送信される信号を変調し、送/受信要素122によって受信される信号を復調するように構成され得る。上記のように、WTRU102は、マルチモード能力を有し得る。したがって、トランシーバ120は、例えばNR及びIEEE802.11などの複数のRATを介してWTRU102が通信することを可能にするための複数のトランシーバを含み得る。
【0097】
WTRU102のプロセッサ118は、スピーカ/マイクロフォン124、キーパッド126、及び/又はディスプレイ/タッチパッド128(例えば、液晶ディスプレイ(liquid crystal display、LCD)表示ユニット若しくは有機発光ダイオード(organic light-emitting diode、OLED)表示ユニット)に結合され得、これらからユーザ入力データを受信することができる。プロセッサ118はまた、ユーザデータをスピーカ/マイクロフォン124、キーパッド126、及び/又はディスプレイ/タッチパッド128に出力し得る。更に、プロセッサ118は、非リムーバブルメモリ130及び/又はリムーバブルメモリ132などの任意のタイプの好適なメモリから情報にアクセスし、当該メモリにデータを記憶し得る。非リムーバブルメモリ130は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク又は任意の他のタイプのメモリ記憶デバイスを含み得る。リムーバブルメモリ132は、加入者識別モジュール(subscriber identity module、SIM)カード、メモリスティック、セキュアデジタル(secure digital、SD)メモリカードなどを含み得る。他の実施形態では、プロセッサ118は、サーバ又はホームコンピュータ(図示せず)上など、WTRU102上に物理的に配置されていないメモリから情報にアクセスし、当該メモリにデータを記憶し得る。
【0098】
プロセッサ118は、電源134から電力を受け取り得、WTRU102内の他の構成要素に電力を分配し、かつ/又はその電力を制御するように構成され得る。電源134は、WTRU102に電力を供給するための任意の好適なデバイスであり得る。例えば、電源134は、1つ以上の乾電池(例えば、ニッケルカドミウム(nickel-cadmium、NiCd)、ニッケル亜鉛(nickel-zinc、NiZn)、ニッケル金属水素化物(nickel metal hydride、NiMH)、リチウムイオン(lithium-ion、Li-ion)など)、太陽電池、燃料電池などを含み得る。
【0099】
プロセッサ118はまた、GPSチップセット136に結合され得、これは、WTRU102の現在の場所に関する場所情報(例えば、経度及び緯度)を提供するように構成され得る。GPSチップセット136からの情報に加えて又はその代わりに、WTRU102は、基地局(例えば、基地局114a、114b)からエアインターフェース116を介して場所情報を受信し、かつ/又は2つ以上の近くの基地局から受信されている信号のタイミングに基づいて、その場所を決定し得る。WTRU102は、一実施形態との一貫性を有しながら、任意の好適な場所決定方法によって場所情報を取得し得ることが理解されよう。
【0100】
プロセッサ118は、他の周辺機器138に更に結合され得、これは、追加の特徴、機能、及び/又は有線若しくは無線接続を提供する1つ以上のソフトウェア及び/又はハードウェアモジュールを含み得る。例えば、周辺機器138は、加速度計、電子コンパス、衛星トランシーバ、(ピクチャ及び/又は映像のための)デジタルカメラ、ユニバーサルシリアルバス(universal serial bus、USB)ポート、振動デバイス、テレビジョントランシーバ、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(frequency modulated、FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ、仮想現実及び/又は拡張現実(Virtual Reality/Augmented Reality、VR/AR)デバイス、アクティビティトラッカなどを含み得る。周辺機器138は、1つ以上のセンサを含み得、センサは、ジャイロスコープ、加速度計、ホール効果センサ、磁力計、方位センサ、近接センサ、温度センサ、時間センサ、ジオロケーションセンサ、高度計、光センサ、タッチセンサ、磁力計、気圧計、ジェスチャセンサ、生体認証センサ、及び/又は湿度センサのうちの1つ以上であり得る。
【0101】
WTRU102は、(例えば、UL(例えば、送信用)及びダウンリンク(例えば、受信用)の両方のための特定のサブフレームと関連付けられた)信号のいくつか又はすべての送信及び受信が並列及び/又は同時であり得る、全二重無線機を含み得る。全二重無線機は、ハードウェア(例えば、チョーク)又はプロセッサを介した信号処理(例えば、別個のプロセッサ(図示せず)又はプロセッサ118を介して)を介して自己干渉を低減し、かつ又は実質的に排除するための干渉管理ユニットを含み得る。一実施形態では、WRTU102は、(例えば、UL(例えば、送信用)又はダウンリンク(例えば、受信用)のいずれかのための特定のサブフレームと関連付けられた)信号のいくつか又はすべてのうちのどれかの送信及び受信のための半二重無線機を含み得る。
【0102】
WTRUは、無線端末として
図16A~
図16Bに記載されているが、特定の代表的な実施形態では、そのような端末は、通信ネットワークとの有線通信インターフェースを(例えば、一時的又は永久的に)使用し得ることが企図される。
【0103】
図16A~
図16B、及び
図16A~
図16Bの対応する説明を考慮して、WTRU102a~d、基地局114a~b、eNode-B160a~c、MME162、SGW164、PGW166、gNB180a~c、AMF182a~b、UPF184a~b、SMF183a~b、DN185a~b、及び/又は本明細書に記載される任意の他のデバイスの1つ以上に関して本明細書に記載される機能のうちの1つ以上又は全部は、1つ以上のエミュレーションデバイス(図示せず)によって実行され得る(図示せず)。エミュレーションデバイスは、本明細書に記載の機能の1つ以上又はすべてをエミュレートするように構成された1つ以上のデバイスであり得る。例えば、エミュレーションデバイスを使用して、他のデバイスを試験し、かつ/又はネットワーク及び/若しくはWTRU機能をシミュレートすることができる。
【0104】
エミュレーションデバイスは、ラボ環境及び/又はオペレータネットワーク環境における他のデバイスの1つ以上の試験を実装するように設計され得る。例えば、1つ以上のエミュレーションデバイスは、通信ネットワーク内の他のデバイスを試験するために、有線及び/又は無線通信ネットワークの一部として完全に若しくは部分的に実装され、かつ/又は展開されている間、1つ以上若しくはすべての機能を実行し得る。1つ以上のエミュレーションデバイスは、有線及び/又は無線通信ネットワークの一部として一時的に実装され/展開されている間、1つ以上若しくはすべての機能を実行し得る。エミュレーションデバイスは、試験を目的として別のデバイスに直接結合され得、かつ/又は地上波無線通信を使用して試験を実行し得る。
【0105】
1つ以上のエミュレーションデバイスは、有線及び/又は無線通信ネットワークの一部として実装/展開されていない間、すべてを含む1つ以上の機能を実行し得る。例えば、エミュレーションデバイスは、1つ以上のコンポーネントの試験を実装するために、試験実験室での試験シナリオ、並びに/又は展開されていない(例えば、試験用の)有線及び/若しくは無線通信ネットワークにおいて利用され得る。1つ以上のエミュレーションデバイスは、試験機器であり得る。RF回路(例えば、1つ以上のアンテナを含み得る)を介した直接RF結合及び/又は無線通信は、データを送信及び/又は受信するように、エミュレーションデバイスによって使用され得る。
【0106】
HEVC試験モデル(HM)と同様に、ジョイント探索モデル(JEM)ソフトウェア、ブロックベースのハイブリッドビデオコーディングフレームワーク(100)にも構築される。
図1は、ブロックベースのハイブリッドビデオ符号化システムのブロック図を示している。本出願では、「再構成された」及び「復号化された」という用語は、互換的に使用され得ることに留意されたい。通常では、必ずしもそうではないが、「再構成された」という用語はエンコーダ側で使用され、「復号化された」という用語はデコーダ側で使用される。
【0107】
ビデオシーケンスは、符号化される前に、前処理を受け得、例えば、入力カラーピクチャに色変換(例えば、RGB4:4:4からYCbCr4:2:0への変換)を適用するか、又は、圧縮に対してより耐性のある信号分布を得るために入力ピクチャ成分の再マッピングを実行する(例えば、色成分の1つのヒストグラム等化を使用する)。メタデータは、前処理に関連付けられ、ビットストリームに添付され得る。
【0108】
入力ビデオ信号102は、ブロックごとに処理される。HEVC仕様は、「ブロック」と「ユニット」とを区別し、「ブロック」は、サンプルアレイの特定の領域(例えば、ルーマ、Y)を対象とし、「ユニット」は、すべての符号化された色成分(例えば、Y、Cb、Cr、又はモノクロ)、構文要素、及びブロックに関連付けられた予測データ(例えば、動きベクトル)のコロケートされたブロックを含む。本出願では、「ブロック」という用語は、様々なサイズのデータのアレイを指すために使用することができ、それは、H.264/AVCに指定されているようなマクロブロック及び区分、HEVCにおけるようなコーディングツリーユニット(CTU)、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングブロック(coding block、CB)、予測ブロック(prediction block、PB)、及び変換ブロック(transform block、TB)のいずれか、AV1におけるスーパーブロック又は下位区分、VVC(汎用ビデオコーディング)又は他のビデオコーディング規格におけるようなCTU、CU、TU、CB、及びTBを指すために使用することができる。
【0109】
HEVCでは、拡張されたブロックサイズを使用して、高解像度(1080p及びそれ以上)のビデオ信号を効率的に圧縮する。HEVCでは、CUは、最大64×64ピクセルであり得る。CUは、予測ユニットに更に分割でき、これらの予測ユニットには、別個の予測方法が適用される。各入力ビデオブロック(MB又はCU)について、空間予測(160)及び/又は時間予測(162)を実行することができる。
【0110】
空間予測(又は「イントラ予測」)は、現在のビデオブロックを予測するために、同じビデオピクチャ/スライス内の既にコーディングされた隣接ブロック(参照サンプルと呼ばれる)のサンプルからのピクセルを使用する。空間予測は、ビデオ信号に固有の空間冗長性を低減する。
【0111】
時間予測(「インター予測」又は「動き補償予測」とも呼ばれる)は、現在のビデオブロックを予測するために、既にコーディングされたビデオピクチャからの再構成されたピクセルを使用する。時間予測は、ビデオ信号に固有の時間的冗長性を低減する。所与のビデオブロックの時間予測信号は通常、現在のブロックとその参照ブロックとの間の動きの量及び方向を示す1つ以上の動きベクトルによってシグナリングされる。また、(H.264/AVC又はHEVCなどの最近のビデオコーディング規格の場合と同様に)複数の参照ピクチャがサポートされる場合、各ビデオブロックについて、その参照ピクチャインデックスが追加的に送信され、この参照インデックスは、時間予測信号が参照ピクチャストア(164)内のどの参照ピクチャから来るかを識別するために使用される。
【0112】
空間及び/又は時間予測の後に、エンコーダ内のモード決定ブロック(180)は、例えばレート歪み最適化方法に基づいて、最良の予測モードを選択する。次いで、予測ブロックは、現在のビデオブロックから減算され(116)、予測残差は、変換を使用して相関解除され(104)、量子化される(106)。
【0113】
エンコーダは、更なる予測のための参照データを提供するため、符号化されたブロックを復号化する。量子化された残差係数は、逆量子化(110)及び逆変換されて(112)、再構成された残差が形成され、次いで、これは、予測ブロックに戻って加算されて(126)、ビデオブロックが形成される。
【0114】
エンコーダは、変換をスキップして、変換されていない残差信号に量子化を直接適用することもできる。エンコーダは、変換及び量子化の両方をバイパスすることもでき、すなわち残差は、変換処理又は量子化処理を適用することなく直接符号化される。直接パルスコード変調(pulse code modulation、PCM)コーディングでは、予測は適用されず、コーディングユニットサンプルは、ビットストリームに直接コーディングされる。
【0115】
デブロッキングフィルタ、SAO(サンプル適応オフセット)フィルタ及び適応ループフィルタなどの更なるループフィルタリングが、再構成されたビデオブロックに適用され得(166)、その後、それは、参照ピクチャストア(164)に入れられ、将来のビデオブロックをコーディングするために使用される。出力ビデオビットストリーム120を形成するために、コーディングモード(イントラ又はイントラ)、予測モード情報、動き情報、及び量子化された残差係数はすべて、エントロピコーディングユニット(108)に送信されて、更に圧縮及びパックされて、ビットストリームが形成される。
【0116】
図3は、ブロックベースのビデオデコーダ(200)の全体的なブロック図を示している。ビデオデコーダは、一般に、ビデオデータを符号化することの一部としてビデオ復号化を実行する、対応する符号化パスに相反する復号化パスを実行する。ビデオビットストリーム202は、最初に、エントロピ復号化ユニット208においてアンパック及びエントロピ復号化される。コーディングモード及び予測情報は、空間予測ユニット260(イントラコーディングされた場合)又は時間予測ユニット262(インターコーディングされた場合)のいずれかに送信されて、予測ブロックを形成する。残差変換係数は、逆量子化ユニット210及び逆変換ユニット212に送信されて、残差ブロックを再構成する。次いで、予測ブロック及び残差ブロックは、226において一緒に加算される。再構成されたブロックは、参照ピクチャストア264に格納される前に、インループフィルタリング(266)を更に通過することができる。次いで、参照ピクチャストア内の再構成されたビデオ(220)は、ディスプレイデバイスを駆動するために、並びに将来のビデオブロックを予測するために使用されるために、格納、送信又は使用され得る。
【0117】
復号化されたピクチャは、後処理を更に受けることができ、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)、又は符号化前処理で実行された再マッピング処理の逆を実行する逆再マッピングである。後処理では、符号化前処理で導出されてビットストリームでシグナリングされたメタデータを使用することができる。
【0118】
HEVCとJEMの両方は、
図1及び
図3に示すように、ブロックベースの動き補償されたハイブリッドビデオ符号化/復号化ワークフローに準拠し、空間予測(すなわち、イントラ予測)、時間予測(すなわち、インター予測)、変換、量子化、エントロピコーディング、及びループフィルタなどの同じ機能モジュールに基づく。しかしながら、いくつかのインターコーディングモジュール、特に動き補償された予測に関連するものは、更に拡張され、改善される。
【0119】
本明細書で説明する一般的な態様の下での方法1700の一実施形態が、
図17に示されている。この方法は、開始ブロック1701において開始し、制御は、ブロック1710に進み、スレッドを、並列処理を使用したビデオフレームのCABAC復号化に割り当て、より多くのスレッドが、より高い量子化のパラメータと比較して低い量子化のパラメータを有するフレーム、若しくはインターフレームに対するイントラフレームの復号化に、又はPフレームに、あるいはフレームがより下位の時間層にあるときに割り当てられる。制御は、ブロック1710からブロック1720に進み、割り当てられたスレッドを使用して、ビデオフレームを復号化する。
【0120】
本明細書で説明する一般的な態様の下での方法1800の第2の実施形態が、
図18に示されている。この方法は、開始ブロック1801において開始し、制御はブロック1810に進み、コーディングユニットの動きベクトルを生成する。制御は、ブロック1810からブロック1820に進み、インターコーディングユニット再構成を実行する。制御は、ブロック1820からブロック1830に進み、イントラコーディングユニット再構成を実行する。制御は、ブロック1830からブロック1840に進み、上記ビデオの逆再成形及びインループフィルタを実行し、上記生成するステップ及び上記実行するステップは、ビデオの別個の部分に対して同時に実行される。
【0121】
図19は、
図17又は
図18の方法を実装する装置1900の一実施形態を示す。この装置は、プロセッサ1910を備えており、少なくとも1つのポートを通じてメモリ1920に相互接続することができる。プロセッサ1910とメモリ1920の両方は、外部接続への1つ以上の追加の相互接続を有することもできる。
【0122】
更にプロセッサ1910は、ビットストリームにおいて情報を挿入又は受信し、説明した態様のいずれかを使用して圧縮、符号化、又は復号化するように構成されている。
【0123】
本明細書で説明する実施形態は、ツール、特徴、例、モデル、アプローチなどを含む、様々な態様を含む。これらの態様の多くは、具体的に記載され、少なくとも個々の特性を示すために、多くの場合、限定的に聞こえ得る方法で記載されている。しかしながら、これは説明を明確にすることを目的としており、それらの態様の適用又は範囲を限定するものではない。実際、異なる態様のすべては、更なる態様を提供するために組み合わされ、交換されてもよい。更に、これらの態様は、以前の出願に記載されている態様と組み合わせる、又は入れ替えることができる。
【0124】
この当業者には明らかであるように、実装形態では、例えば、格納又は送信することができる情報を伝えるようにフォーマットされた様々な信号を生成することができる。これらの情報は、例えば、方法を実行するための命令、又は説明されている実装形態の1つによって生成されるデータを含むことができる。例えば、説明されている実施形態のビットストリームを伝えるように信号をフォーマットすることができる。このような信号は、例えば、電磁波として(例えば、スペクトルの無線周波数部分を使用する)、又はベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化すること、及び符号化されたデータストリームで搬送波を変調することを含むことができる。信号が伝える情報は、例えば、アナログ情報又はデジタル情報とすることができる。信号は、既知であるように、様々な異なる有線リンク又は無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に格納することができる。
【0125】
前述のセクションは、様々な請求項のカテゴリ及びタイプにわたって、いくつかの実施形態を説明している。これらの実施形態の特徴は、単独で、又は任意の組み合わせで提供することができる。更に、実施形態は、様々な請求項のカテゴリ及びタイプにわたって、以下の特徴、デバイス、又は態様の1つ以上を、単独で、又は組み合わせで含むことができる。
・スレッドを、並列処理を使用したビデオフレームのCABAC復号化に割り当てる、復号化されたビデオストリームを生成すること、
・より多くのスレッドが、より高い量子化のパラメータと比較して低い量子化のパラメータを有するフレーム、若しくはインターフレームに対するイントラフレームの復号化に、又はPフレームに、あるいはフレームがより下位の時間層にあるときに割り当てられる、上記方法、
・上記割り当てられたスレッドを使用して上記ビデオフレームを復号化すること
【国際調査報告】