(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-03
(54)【発明の名称】組み合わせられた可逆符号化および非可逆符号化のための機械向け映像符号化(VCM)エンコーダおよびデコーダ
(51)【国際特許分類】
H04N 19/70 20140101AFI20240527BHJP
【FI】
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023574429
(86)(22)【出願日】2022-06-01
(85)【翻訳文提出日】2024-01-31
(86)【国際出願番号】 US2022031726
(87)【国際公開番号】W WO2022260900
(87)【国際公開日】2022-12-15
(32)【優先日】2021-06-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521328755
【氏名又は名称】オーピー ソリューションズ, エルエルシー
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】カルバ、ハリ
(72)【発明者】
【氏名】フルト、ボリヴォジェ
(72)【発明者】
【氏名】アジッチ、ベリボル
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
組み合わせられた可逆符号化および非可逆符号化のための機械向け映像符号化(VCM)エンコーダは、入力映像における特徴を含むサブピクチャを符号化し、前記サブピクチャの指標を提供するように構成されている、特徴エンコーダと、前記特徴エンコーダから前記サブピクチャの指標を受信し、非可逆符号化プロトコルを使用して前記サブピクチャを符号化するように構成されている、映像エンコーダと、を備える。
【特許請求の範囲】
【請求項1】
機械向け映像符号化(VCM)エンコーダであって、
ソース映像を受信し、入力映像における特徴を含むサブピクチャを符号化し、前記サブピクチャの指標を提供するように構成されている、特徴エンコーダと、
ソース映像を受信し、前記特徴エンコーダから前記サブピクチャの指標を受信し、非可逆符号化プロトコルを使用して前記サブピクチャを符号化するように構成されている、映像エンコーダと、
前記特徴エンコーダおよび前記映像エンコーダに対し結合されており、符号化ビットストリームを提供する、マルチプレクサと、を備える、VCMエンコーダ。
【請求項2】
前記サブピクチャを識別するように構成されている特徴抽出器をさらに備える、請求項1に記載のVCMエンコーダ。
【請求項3】
前記特徴エンコーダは、可逆符号化プロトコルを使用して前記サブピクチャを符号化するようにさらに構成されている、請求項1に記載のVCMエンコーダ。
【請求項4】
前記可逆符号化プロトコルは、変換スキップ残差符号化プロトコルである、請求項3に記載のVCMエンコーダ。
【請求項5】
前記エンコーダは、ブロック差分パルス符号変調を可能にする、請求項3に記載のVDMエンコーダ。
【請求項6】
前記特徴エンコーダは、非可逆符号化プロトコルを使用して前記サブピクチャを符号化するようにさらに構成されている、請求項1に記載のVCMエンコーダ。
【請求項7】
前記非可逆符号化プロトコルは、離散コサイン変換符号化プロトコルを含む、請求項1に記載のVCMエンコーダ。
【請求項8】
前記離散コサイン変換符号化プロトコルは、形状適応離散コサイン変換符号化プロトコルを含む、請求項4に記載のVCMエンコーダ。
【請求項9】
前記サブピクチャをデコーダに対しシグナリングするようにさらに構成されている、請求項1に記載のVCMエンコーダ。
【請求項10】
前記サブピクチャをシグナリングすることは、前記サブピクチャを含む一連のフレームをシグナリングすることをさらに含む、請求項8に記載のVCMエンコーダ。
【請求項11】
前記サブピクチャをシグナリングすることは、前記サブピクチャに含まれる特徴の種類をシグナリングすることをさらに含む、請求項8に記載のVCMエンコーダ。
【請求項12】
VCMデコーダであって、
符号化された特徴データおよび映像データを有する符号化ビットストリームを受信し、機械による消費のために復号された特徴データを提供する、特徴デコーダと、
前記符号化ビットストリームおよび特徴データを前記特徴デコーダから受信し、人の閲覧者に適した復号された映像を提供する、映像デコーダと、を備える、VCMデコーダ。
【請求項13】
前記映像デコーダは、VVC標準により符号化された符号化ビットストリームを復号するように構成されている、請求項12に記載のVCMデコーダ。
【請求項14】
前記映像デコーダは、変換スキップ残差符号化プロトコルを使用して符号化された前記ビットストリームを復号するように構成されている、請求項12に記載のVCMデコーダ。
【請求項15】
前記デコーダは、ブロック差分パルス符号変調を使用して符号化されたビットストリームを復号するようにさらに構成されている、請求項12に記載のVCMデコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には映像の符号化および復号の分野に関する。特に、本発明は、組み合わせられた可逆符号化および非可逆符号化のための機械向け映像符号化(VCM)エンコーダに関する。
【背景技術】
【0002】
映像コーデックは、デジタル映像を圧縮または解凍する電子回路またはソフトウェアを含むことができる。電子回路またはソフトウェアは、圧縮されていない映像を圧縮形式にまたは圧縮された映像を圧縮されていない形式に変換することができる。映像圧縮の場合、映像を圧縮する(および/またはそのうちの何らかの機能を実行する)デバイスは、典型的にはエンコーダと呼ばれることがあり、映像を解凍する(および/またはそのうちの何らかの機能を実行する)デバイスはデコーダと呼ばれることがある。
【0003】
圧縮データの形式は、標準映像圧縮仕様に準拠することができる。圧縮は、圧縮された映像が元の映像に存在したいくらかの情報を欠く点において非可逆性であり得る。この結果として、解凍された映像は、元の映像を正確に再構築するには不十分な情報しかないため、元の圧縮されていない映像よりも低い品質を有し得る。
【0004】
映像の品質、映像を表すために使用されるデータ量(例えば、ビットレートによって決まる)、符号化アルゴリズムおよび復号アルゴリズムの複雑さ、データの損失および誤差の影響の受けやすさ、編集の容易さ、ランダムアクセス、エンドツーエンド遅延(例えば、待ち時間)等の間には複雑な関係が存在し得る。
【0005】
動き補償は、映像におけるカメラおよび/または物体の動きを考慮することにより、前のフレームおよび/または将来のフレームなどの参照フレームを所与として、映像フレームまたはその一部分を予測する手法を含むことができる。動き補償は、映像圧縮に向けた映像データの符号化および復号、例えば、動画像専門家集団(MPEG)の高度動画像符号化(AVC)規格(H.264とも呼ばれる)を使用した符号化および復号に採用されることができる。動き補償は、参照ピクチャの現在ピクチャへの変換に関してピクチャを記述することができる。参照ピクチャは、現在ピクチャと比べて時間的に前のピクチャ、現在ピクチャと比べて将来からのピクチャであることができる。画像が前に送信されおよび/または記憶された画像から正確に合成されることができる場合、圧縮効率を改善することができる。
【発明の概要】
【0006】
機械向け映像符号化(VCM)エンコーダであって、ソース映像を受信し、ソース入力映像における特徴を含むサブピクチャを符号化し、前記サブピクチャの指標を提供するように構成されている、特徴エンコーダを備える、VCMエンコーダが提供される。前記VCMエンコーダはまた、ソース映像を受信し、前記特徴エンコーダから前記サブピクチャの指標を受信し、前記サブピクチャを符号化するように構成されている、映像エンコーダを備える。マルチプレクサは、前記特徴エンコーダおよび前記映像エンコーダに対し結合されており、特徴データおよび映像データを有するVCM符号化ビットストリームを提供する。
【0007】
いくつかの実施形態では、映像エンコーダは、可逆エンコーダ、非可逆エンコーダ、またはそれらの組合せである。映像エンコーダは、VVC、AVCなど、任意の適用可能な符号化規格に従って映像を符号化してよい。
【0008】
VCMデコーダは特徴デコーダを備え、前記特徴デコーダは、符号化された特徴データおよび映像データを有する符号化ビットストリームを受信し、機械による用途のために復号された特徴データを提供する。VCMデコーダはまた、映像デコーダを備え、前記映像デコーダは、前記符号化ビットストリームおよび特徴データを前記特徴デコーダから受信し、人の閲覧に適するものなどの復号された映像を提供した。
【0009】
いくつかの実施形態では、VCMデコーダは、VVC、AVCなどの適用可能な規格により符号化された映像を復号するように構成されている。
本発明の非限定的な実施形態のこれらおよび他の態様および特徴は、添付図面と併せて本発明の特定の非限定的な実施形態の以下の説明を考察することで当業者には明らかになる。
【0010】
本発明を説明するために、図面に本発明の1つまたは複数の実施形態の態様を示す。しかしながら、本発明が、図面に示されている精密な配置および手段に限定されないことを理解されたい。
【図面の簡単な説明】
【0011】
【
図1】VCCエンコーダの例示的な一実施形態を示すブロック図。
【
図2】VCMエンコーダの例示的な一実施形態を示すブロック図。
【
図3】特徴を含むサブピクチャを有する画像の例示的な実施形態のスクリーンショット。
【
図4】映像デコーダの例示的な一実施形態を示すブロック図。
【
図5】映像エンコーダの例示的な一実施形態を示すブロック図。
【
図6】本明細書に開示される方法論の任意の1つまたは複数およびそれらの1つまたは複数の部分の実装に使用することができる計算システムのブロック図。
【発明を実施するための形態】
【0012】
図面は必ずしも一定の縮尺ではなく、幻像線、線図表現、および断片図により示され得る。特定の場合、実施形態の理解に必要ない細部または他の細部を理解しにくくする細部は省かれていることがある。
【0013】
複数のカメラを有する監視システム、インテリジェント交通、スマートシティ用途、およびインテリジェント産業用途などの多くの用途では、従来の映像符号化は、カメラからの多数の映像の圧縮と、ネットワークを通じた機械に対する送信と、人間による消費とを必要とする。次いで、機械サイトにおいて、特徴抽出のためのアルゴリズムが、典型的には、畳み込みニューラルネットワークまたは物体検出、イベントアクション認識、姿勢推定、およびその他を含む深層学習技法を使用して適用される。
図1は、機械に適用される標準VVC符号器を示す。
【0014】
上記の手法に伴う問題は、複数のカメラからの大量の映像送信であり、これは、効率的かつ高速なリアルタイム分析および意思決定のためにかなりの時間を要する場合がある。本明細書において記載される機械向け映像符号化(VCM)手法の実施形態は、限定はしないが、送信機サイトにおいて映像を符号化することといくつかの特徴を抽出することの両方によってこの問題を解決し、次いで、結果として生じる符号化ビットストリームをVCMデコーダに送信する。VCMデコーダサイトにおいて、映像は人間の視覚のためにデコードされてよく、特徴は機械のためにデコードされてよい。これより
図2を参照して、機械向け映像符号化(VCM)のエンコーダの例示的な一実施形態を示す。VCMエンコーダ200は、限定はしないが、デジタルおよび/またはアナログ回路を含む任意の回路を使用して実装されてよく;VCMエンコーダ200は、ハードウェア構成、ソフトウェア構成、ファームウェア構成、および/またはそれらの任意の組合せを使用して構成されてよい。VCMエンコーダ200は、計算デバイスとしておよび/または計算デバイスのコンポーネントとして実装されてよく、計算デバイスは、限定はしないが、後述の任意の計算デバイスを含んでよい。一実施形態において、VCMエンコーダ200は、入力映像204を受信し、出力ビットストリーム208を生成するように構成されてよい。入力映像204の受信は、後述の任意の様式で達成されてよい。ビットストリームは、限定はしないが、後述の任意のビットストリームを含んでよい。
【0015】
VCMエンコーダ200は、限定はしないが、プリプロセッサ、映像エンコーダ212、特徴抽出器216、オプティマイザ、特徴エンコーダ220、および/またはマルチプレクサ224を含んでよい。プリプロセッサは、入力映像204のストリームを受信し、分析して、ストリームの映像サブストリーム、オーディオサブストリーム、およびメタデータサブストリームに分けてよい。プリプロセッサは、さらに詳細に後述するようにデコーダを含んでよくおよび/またはデコーダと通信してよい。換言すれば、プリプロセッサは入力ストリームを復号する能力を有してよい。これにより、非限定的な例において、入力映像204の復号が可能になり得、下流のピクセルドメイン解析を促進し得る。
【0016】
さらに
図2を参照すると、VCMエンコーダ200は、ハイブリッドモードおよび/または映像モードにより動作してよく、ハイブリッドモードにあるとき、VCMエンコーダ200は、人間の消費者向けの視覚信号を符号化し、機械の消費者向けの特徴信号を符号化するように構成されてよく、機械の消費者は、以下でさらに詳細に記載するコンピューティングデバイスを含むがこれに限定されない、任意のデバイスおよび/またはコンポーネントを含んでよいがこれに限定されない。入力信号は、例えば、ハイブリッドモードである場合にプリプロセッサを通じて渡されてよい。
【0017】
なお
図2を参照すると、映像エンコーダ212は、限定ではなく、更に詳細に後述するように任意の映像エンコーダ212を含んでよい。VCMエンコーダ200がハイブリッドモードにある場合、VCMエンコーダ200は、変更されていない入力映像204を映像エンコーダ212に送信してよく、同じ入力映像204のコピーおよび/または何らかの様式により変更された入力映像204を特徴抽出器216に送信してよい。入力映像204に対する変更は、任意のスケーリング、変換、または本開示全体を考慮した上で当業者が思い至り得る他の変更を含んでよい。限定ではなく例として、入力映像204はより小さな解像度にリサイズされてよく、入力映像204におけるの一連のピクチャにおける特定数のピクチャが破棄されて、入力映像204のフレームレートを下げてよく、限定ではなく例として、RGBを変換することにより色情報が変更されてよく、映像がグレースケール映像に変換等されよい。なお
図2を参照すると、映像エンコーダ212および特徴抽出器216は接続され、有用情報を両方向に交換してよい。限定ではなく例として、映像エンコーダ212は運動推定情報を特徴抽出器216に、または特徴抽出器216は運動推定情報を映像エンコーダ212に転送してよい。
【0018】
映像エンコーダ212は、映像エンコーダ212および/または特徴抽出器216が識別し得る関心領域(ROI)に基づいて、量子化マッピングおよび/またはそのデータ記述を特徴抽出器216に提供してよく、または特徴抽出器120は、映像エンコーダ212および/または特徴抽出器216が識別し得る関心領域(ROI)に基づいて、量子化マッピングおよび/またはそのデータ記述を映像エンコーダ212に提供してよい。映像エンコーダ212は、入力映像204、入力信号、および/または任意のフレームおよび/またはそのサブフレームに存在および/または識別された特徴に基づいて、1つまたは複数のパーティション決定を記述するデータを特徴抽出器216に提供してよい。特徴抽出器216は、入力映像204、入力信号、および/または任意のフレームおよび/またはそのサブフレームに存在および/または識別された特徴に基づいて、1つまたは複数のパーティション決定を記述するデータを映像エンコーダ212に提供してよい。映像エンコーダ212、特徴抽出器216は、最適なピクチャ群(GOP)決定のために時間的情報を互いと共有および/または伝送してよい。これらの技法および/またはプロセスの各々は、限定ではなく、更に詳細に後述されるように実行されてよい。
【0019】
引き続き
図2を参照すると、特徴抽出器216はオフラインモードまたはオンラインモードにより動作してよい。特徴抽出器216は、特徴を識別および/または他の方法により特徴に対して作用および/または特徴を操作してよい。「特徴」は、本開示で使用される場合、データの特定の構造属性および/または内容属性である。特徴の例は、SIFT、オーディオ特徴、色ヒストグラム、動きヒストグラム、発話レベル、音の大きさレベル等を含んでよい。特徴はタイムスタンプであってよい。各特徴には、フレーム群のうちの単一のフレームが関連付けられてよい。特徴は、タイムスタンプ、映像中の人物および物体のラベル、関心のある物体および/または領域の座標、領域ベースの量子化のフレームマスク、および/または本開示全体を考慮した上で当業者が思い至り得る任意の他の特徴等の高レベル内容特徴を含んでよい。更なる非限定的な例として、特徴は、フレームまたはフレーム群の空間的特性および/または時間的特性を記述する特徴を含んでよい。空間的特性および/または時間的特性を記述する特徴の例は、動き、テクスチャ、色、明るさ、エッジカウント、ブラー、ブロックノイズ等を含んでよい。オフラインモードの場合、更に詳細に後述するすべての機械モデルは、エンコーダおよび/またはエンコーダのメモリに記憶されてよく、および/またはエンコーダにアクセス可能であってよい。そうしたモデルの例は、限定ではなく、全体または部分畳み込みニューラルネットワーク、キーポイント抽出器、エッジ検出器、特徴マップコンストラクタ等を含んでよい。オンラインモードの場合、1つまたは複数のモデルは、リモート機械によりリアルタイムでまたは抽出前の何らかの時点で特徴抽出器216に通信してよい。
【0020】
なお
図2を参照すると、特徴エンコーダ220は、限定ではなく例として、特徴抽出器216により生成された特徴信号を符号化するように構成される。一実施形態では、特徴を抽出した後、特徴抽出器216は、抽出された特徴を特徴エンコーダ220に渡してよい。特徴エンコーダ220は、限定ではなく例として、エントロピー符号化および/または同様の技法を使用して特徴ストリームを生成してよく、特徴ストリームはマルチプレクサ224に渡されてよい。映像エンコーダ212および/または特徴エンコーダ220は、オプティマイザ124を介して接続されてよく、オプティマイザ124は、それらの映像エンコーダ212と特徴エンコーダ220との間において有用情報を交換してよい。限定ではなく例として、コードワード構造および/またはエントロピー符号化の長さに関連する情報が、最適な圧縮に向けてオプティマイザを介して交換され再使用されてよい。
【0021】
一実施形態では、
図2を参照し続けると、映像エンコーダ212は映像ストリームを生成してよく、映像ストリームはマルチプレクサ224に渡されてよい。マルチプレクサ224は、映像ストリームを特徴エンコーダ220によって生成された特徴ストリームと多重化してよく、これに代えてまたはこれに加えて、映像ビットストリームおよび特徴ビットストリームは、別個のチャネル、別個のネットワークを介して、別個のデバイスに、および/または別個の時間もしくは時間間隔にて送信されてよい(時間多重化)。映像ストリームおよび特徴ストリームの各々は、本開示に記載の任意のビットストリームの実装に適した任意の様式で実装されてよい。一実施形態では、多重化された映像ストリームおよび特徴ストリームはハイブリッドビットストリームを生成してよく、ハイブリッドビットストリームは更に詳細に後述するように伝送されてよい。
【0022】
なお
図2を参照すると、VCMエンコーダ200が映像モードである場合、VCMエンコーダ200は、映像エンコーダ212を映像および特徴の両方の符号化に使用してよい。特徴抽出器216は特徴を映像エンコーダ212に送信してよく、映像エンコーダ212は特徴を符号化して映像ストリームにしてよく、映像ストリームは対応する映像デコーダ232により復号されてよい。VCMエンコーダ200は単一の映像エンコーダ212を映像符号化および特徴符号化の両方に使用してよく、その場合、映像および特徴にパラメータの異なるセットを使用してよく、これに代えて、VCMエンコーダ200が、並列に動作し得る2つの別個の映像エンコーダ212sを使用してよいことに留意されたい。
【0023】
なお
図2を参照すると、システム100は、VCMデコーダ228を備えてよく、および/またはVCMデコーダ228と通信してよい。VCMデコーダ228および/またはその要素は、上述したVCMエンコーダ200の構成に適した任意の回路および/または任意の種類の構成を使用して実装されてよい。VCMデコーダ228は、限定ではなく、デマルチプレクサを備えてよい。デマルチプレクサは、上述のように多重化された場合、ビットストリームを逆多重化するように動作してよく、例えば、限定ではないが、デマルチプレクサは、1つまたは複数の映像ビットストリームおよび1つまたは複数の特徴ビットストリームを含む多重化されたビットストリームを別々の映像ビットストリームおよび特徴ビットストリームへと分離してよい。
【0024】
図2を引き続き参照すると、VCMデコーダ228は映像デコーダ232を備えてよい。映像デコーダ232は、限定ではなく、更に詳細に後述するように、デコーダに適した任意の様式で実装されてよい。一実施形態では、限定ではなく、映像デコーダ232は出力映像を生成してよく、出力映像は、人または他の生物および/または視覚能力を有するデバイスにより閲覧されてよい。
【0025】
なお
図2を参照すると、VCMデコーダ228は特徴デコーダ236を備えてよい。一実施形態では、限定ではなく、特徴デコーダ236は、1つまたは複数の復号されたデータを機械に提供するように構成されてよい。機械は、限定ではなく任意のマイクロコントローラ、プロセッサ、組み込みシステム、システムオンチップ、ネットワークノード等を含む、限定ではなく下記のような任意の計算デバイスを含んでよい。機械は、更に詳細に後述するように、機械モデルの操作、記憶、トレーニング、機械モデルからの入力の受信、機械モデルの出力の生成、および/または機械モデルとの他の方法での対話を行ってよい。機械は、いくつかはデスクトップコンピュータ、ラップトップコンピュータ、および/またはモバイルデバイスなどの従来の計算デバイスでなくてよい処理コンポーネントおよび通信コンポーネントを有する物体のネットワークとして定義されるモノのインターネット(IOT)に含まれてよい。IoT内の物体は、限定ではなく、マイクロプロセッサおよび/またはマイクロコントローラおよびローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)と対話するための1つまたは複数のコンポーネントが組み込まれた任意のデバイスを含んでよい;1つまたは複数のコンポーネントは、限定ではなく例として、ワシントン州カークランドに所在のブルートゥースSIG社(Bluetooth SIG,Inc.)により公表されたプロトコルに従うブルートゥース(登録商標)送受信機のような2.4~2.485GHzで通信する無線送受信機および/または仏国リュエイ-マルメゾン(Rueil-Malmaison)に所在のシュナイダーエレクトリックSE(Schneider Electric SE)により公表されたMODBUSプロトコルおよび/または電気電子技術者協会(IEEE)により公表されたIEEE802.15.4規格のZIGBEE(登録商標)仕様に従って動作するネットワーク通信コンポーネントを含んでよい。当業者ならば、本開示全体を考慮した上で、本開示と一貫して採用し得る代替または追加の通信プロトコルおよびそうしたプロトコルをサポートするデバイスを認識し、それらの各々は本開示の範囲内であると企図される。
【0026】
引き続き
図2を参照すると、VCMエンコーダ200および/またはVCMデコーダ228の各々は、本開示に記載の任意の実施形態における任意の方法、方法ステップ、または方法ステップのシーケンスを任意の順序かつ任意の反復程度で実行するように設計および/または構成されてよい。例えば、VCMエンコーダ200および/またはVCMデコーダ228の各々は、所望または命令された結果が達成されるまで、単一のステップまたはステップのシーケンスを繰り返し実行するように構成されてよく、ステップまたはステップのシーケンスの反復は、前の反復の出力を続く反復の入力として使用し、反復の入力および/または出力を集計して集計結果を生成し、グローバル変数等の1つまたは複数の変数の低減またはデクリメントを使用し、および/またはより大きな処理タスクの、繰り返しアドレス指定されるより小さな処理タスクのセットへの分割を使用して、反復的および/または再帰的に実行されてよい。VCMエンコーダ200および/またはVCMデコーダ228の各々は、本開示に記載の任意のステップまたはステップのシーケンスを並列に実行してよく、例えば、2つ以上の並列スレッド、プロセッサコア等を使用してステップを2回以上同時におよび/または略同時に実行してよく;並列スレッドおよび/またプロセッサ間のタスクの分割は、反復間のタスクの分割に適した任意のプロトコルに従って実行されてよい。当業者ならば、本開示全体を考慮した上で、ステップ、ステップのシーケンス、処理タスク、および/またはデータを細分、共有、および/または反復、再帰、および/または並列処理の使用に他の方法で対処し得る種々の方法を認識する。
【0027】
いくつかの実施形態では、なお
図2を参照すると、ネットワークを通じて送信されるデータの量は、例えば、限定ではないが、ビットストリーム形式で、可逆および非可逆符号化の組合せを使用して符号化されてよく、これは、限定ではないが、例えば、限定ではないが、以下で説明されるように、組み合わされた可逆および非可逆VVC符号化に適するように実装されてよい。
【0028】
一実施形態では、さらに
図2を参照すると、VCMエンコーダ200がソース映像204から抽出される特徴を決定するとき、エンコーダは、ソース映像204を、識別された特徴を含む1つまたは複数のサブピクチャを含むがこれらに限定されないサブピクチャへと分割してよい。VCMエンコーダ200は、限定ではないがVVCエンコーダを含み得る映像エンコーダ212に、サブピクチャのロケーションについて通知してよい。次いで、映像エンコーダ212は、いくつかの識別されたサブピクチャを符号化するために、限定はしないが、簡略化形状適応DCT(SA-DCT)アルゴリズムなどの非可逆符号化技法を実装してよい。本明細書に記載される「サブピクチャ」は、フレームの任意の部分および/またはそうした部分の組合せを含んでよく、部分は、ブロック、符号化ユニット、符号化ツリーユニット、スライスおよび/またはタイルへの矩形形態の任意の組合せ、および/または多角形および/または湾曲した外周を有する任意の形状を含んでよい。
【0029】
図2をさらに参照すると、例示的な一実施形態では、ピクセルの矩形アレイが与えられると、SA-DCTプロセスは、各特定の列jのN
j個のピクセルを最上位置にシフトすることと、それらを列ベクトルx
jにグループ化することとを含んでよい。列ベクトルx
jは、続けて、1次元標準DCTを使用することによって垂直方向に変換されてよく、これは、列ごとに垂直変換係数を有する対応するベクトルをもたらし得る。続けて、同等の手順が水平方向に繰り返されてよく、言い換えれば、同じ行
iに属する列ベクトルa
jのM
i要素は、最左位置にシフトされ、行ベクトルb
iにグループ化されてよく、これは再び1次元標準DCTで変換されてよいが、ここでは水平方向に変換されて、SA-DCT係数全体を有する行ベクトルc
iを生成してよい。1次元標準DCT演算は、以下の式に従って実行されてよい。
【0030】
【0031】
ここで、DCTLおよびSLは、それぞれ、LMiまたはNjに対するLxLマトリックスおよび形状適応プレ因子を表す。通常量子化後に実行される逆SA-DCT演算は、この式に従って実行されてよい。
【0032】
【0033】
ここで、星印の値は量子化が行われたことを示す。所与の変換Lに対する変換行列DCTLは、行指数pおよび列指数kに対する以下の式に従って与えられてよい。
【0034】
【0035】
ここで、p=0の場合
【0036】
【0037】
であり、それ以外の場合は1である。一実施形態では、SA-DCT手法は、実装の複雑さ、符号化効率、および既存のDCT技法に対する完全な後方互換性の間の妥当なトレードオフを提供してよい。SA-DCTは、より複雑なDCTソリューションに近い変換効率を有する低複雑度ソリューションを表してよい。これに代えてまたはこれに加えて、限定ではないが、他のインター符号化、イントラ符号化、および/またはDCTベースの手法を含む、本開示を考慮すると当業者に想到され得る任意の他のDCTベースまたは他の非可逆符号化プロトコルが採用されてよい。
【0038】
引き続き
図2を参照すると、いくつかの実施形態では、VCMデコーダおよび/または映像デコーダ232は、可逆符号化プロトコルを使用して、映像形式で表示される他のサブピクチャおよび/または1つもしくは複数の映像フレームを符号化してよい。これに代えてまたはこれに加えて、特徴エンコーダ220は、可逆符号化プロトコルを使用して特徴を含むサブピクチャを符号化してよく、フレームは、情報の損失なしに、または無視できる程度の損失で符号化および復号される。可逆符号化プロトコルは、限定ではないが、非限定的な例として、エンコーダおよび/またはデコーダが可逆符号化を達成し得ること、変換符号化段階をバイパスし、残差を直接符号化することを含んでよい。本開示において「変換スキップ残差符号化」と呼ばれることがあるこの手法は、例えば、ブロックベースのハイブリッド映像コーディングのいくつかの形態において実行されるように、離散コサイン変換(DCT)のファミリーからの変換を適用することによって、以下でさらに詳細に説明するように、残差の空間領域から周波数領域への変換をスキップすることによって達成されてよい。可逆符号化および復号は、可逆符号化のための通常およびTS残差符号化(RRC、TSRC)に関するJVET-Q00069のCore Experiment CE3-1、ならびに可逆および非可逆動作モードのためのRRCおよびTSRCの修正、可逆符号化のためのブロック差分パルス符号変調(BDPCM)および高レベル技法を可能にすることに関するJVET-Q0080のCore Experiment CE3-2、ならびに異なるRRC/TSRC技法とのBDPCMの組合せなどにおいて提案されたプロセスおよび/またはプロトコルを含むがこれらに限定されない、1つまたは複数の代替プロセスおよび/またはプロトコルに従って実行されてよい。
【0039】
図2をさらに参照すると、本開示において記載されるエンコーダは、TS残差符号化を使用して1つまたは複数のフィールドを符号化するように構成されてよい。ここで、1つまたは複数のフィールドは、限定ではないが、任意のピクチャ、サブピクチャ、符号化ユニット、符号化ツリーユニット、ツリーユニット、ブロック、スライス、タイル、および/またはそれらの任意の組合せを含んでよい。本開示において記載されるデコーダは、TS残差符号化に従って、および/またはTS残差符号化を使用して、1つまたは複数のフィールドを復号するように構成されてよい。変換スキップモードでは、フィールドの残差は、限定ではないが、4ピクセル×4ピクセルのサイズなど、所与のサイズの重複しないサブブロックまたは他のサブ分割の単位において符号化されてよい。最後の有効走査位置を符号化する代わりに、変換されるフィールドにおける各走査位置の量子化指数が符号化されてよく、最後のサブブロックおよび/またはサブ分割位置は、以前のサブ分割レベルに基づいて推測されてよい。TS残差符号化は、逆方向方式ではなく順方向方式で対角走査を実行してよい。順方向走査順序は、変換ブロック内のサブブロックならびにサブブロックおよび/またはサブ分割内の位置を走査するように適用されてよく、一実施形態では、最終(x,y)位置のシグナリングがない場合がある。非限定的な例として、coded_sub_block_flagは、すべての前のフラグが0に等しいとき、最後のサブブロックを除くすべてのサブブロックについて符号化され得る。有意性フラグコンテキストモデリングは、縮小テンプレートを使用してよい。有意性フラグのコンテキストモデルは、上および左の隣接値に依存し得、abs_level_gt1フラグのコンテキストモデルも、左および上の有意係数フラグ値に依存し得る。
【0040】
非限定的な例として、TS残差符号化プロセスにおける第1の走査パス中に、有意性フラグ、符号フラグ、1よりも大きい絶対レベルフラグ、およびパリティが符号化されてよい。所与の走査位置について、有意係数が1に等しい場合、係数符号フラグが符号化されてよく、絶対レベルが1よりも大きいかどうかを指定するフラグがそれに続く。abs_level_gtX_flagが1に等しい場合、par_level_flagは、絶対レベルのパリティを指定するために追加で符号化されてよい。第2のまたは後続の走査パス中に、その絶対レベルが1よりも大きい各走査位置について、所与の位置における絶対レベルがそれぞれ3、5、7、または9よりも大きいかどうかを示すために、i=1...4について最大4つのabs_level_gtx_flag[i]が符号化されてよい。第3のまたは最後の「剰余」走査パス中に、絶対レベルabs_remainderとして記憶され得る剰余は、バイパスモードで符号化され得る。絶対レベルの残りは、固定ライスパラメータ値1を使用して二値化されてよい。
【0041】
第1の走査パスおよび第2のまたは「xより大きい」走査パス中のビンは、限定ではないが、TUなど、フィールドにおける最大数のコンテキスト符号化ビンが使い果たされるまで、コンテキスト符号化され得る。残差ブロックにおけるコンテキスト符号化されたビンの最大数は、非限定的な例では、1.75*block_width*block_height、または同等に、平均してサンプル位置ごとに1.75個のコンテキスト符号化されたビンに制限され得る。上記したような剰余走査パスなどの最後の走査パスにおけるビンは、バイパス符号化され得る。限定ではないが、RemCcbsなどの変数は、最初に、ブロックまたは他のフィールドのコンテキスト符号化されたビンの最大数に設定されてよく、コンテキスト符号化されたビンが符号化されるたびに1だけ減らされ得る。非限定的な例では、RemCcbsが4以上である間、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flagおよびpar_level_flagを含み得る第1の符号化パスにおけるのシンタックス要素は、コンテキスト符号化されたビンを使用して符号化されてよい。いくつかの実施形態では、第1のパスを符号化する間にRemCcbsが4よりも小さくなった場合、第1のパスにおいてまだ符号化されていない残りの係数は、剰余走査パスおよび/または第3のパスにおいて符号化されてよい。
【0042】
第1のパス符号化の完了後、RemCcbsが4以上である場合、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、およびabs_level_gt9_flagを含み得る第2の符号化パスにおけるのシンタックス要素は、コンテキスト符号化されたビンを使用して符号化されてよい。第2のパスを符号化している間にRemCcbsが4よりも小さくなる場合、第2のパスにおいてまだ符号化されていない残りの係数は、剰余および/または第3の走査パスにおいて符号化されてよい。いくつかの実施形態では、TS残差符号化を使用して符号化されたブロックは、BDPCM符号化を使用して符号化されないことがある。BDPCMモードで符号化されないブロックでは、コンテキスト符号化されたビンの最大数に達するまで残差符号化を変換スキップするように、レベルマッピング機構が適用されてよい。レベルマッピングは、シグナリングコストを低減するべく現在の係数レベルを予測するために、上および左の隣接係数レベルを使用してよい。所与の残差位置に対して、absCoeffは、マッピング前の絶対係数レベルとして示されてよく、absCoeffModは、マッピング後の係数レベルとして示されてよい。非限定的な例として、X0が左の隣接位置の絶対係数レベルを示し、X1が上の隣接位置の絶対係数レベルを示す場合、レベルマッピングは以下のように実行され得る。
【0043】
【0044】
次いで、absCoeffMod値は、上述したように符号化されてよい。すべてのコンテキスト符号化されたビンが使い果たされた後、レベルマッピングは、現在のブロックおよび/またはフィールドおよび/またはサブ分割におけるすべての残りの走査位置に対して無効化されてよい。coded_subblock_flagが1に等しい場合、上記したような3つの走査パスが各サブブロックおよび/または他のサブ分割に対して実行されてよく、これは、サブブロックに1つ以上の非0量子化残差が存在することを示し得る。
【0045】
いくつかの実施形態では、変換スキップモードが大きいブロックに使用されるとき、ブロック全体が、いかなる値もゼロにすることなく使用されてよい。これに加えて、変換スキップモードでは変換シフトを除去してよい。TS残差符号化における信号の統計的特性は、変換係数の統計的特性と異なる場合がある。変換スキップモードのための残差符号化は、最大ルーマおよび/またはクロマブロックサイズを指定してよく、非限定的な例として、設定は、最大MaxTsSize×MaxTsSizeのサイズのルーマブロックのに変換スキップモードが使用されることを可能にしてよく、ここで、MaxTsSizeの値は、PPSにおいてシグナリングされてよく、限定ではないが32などのグローバル最大可能値を有してよい。CUが変換スキップモードで符号化されるとき、その予測残差は、変換スキップ残差符号化プロセスを使用して量子化および符号化されてよい。
【0046】
図2を引き続き参照すると、本開示において記載されるエンコーダは、BDPCMを使用して1つまたは複数のフィールドを符号化するように構成されてよい。ここで、1つまたは複数のフィールドは、限定ではないが、任意のピクチャ、サブピクチャ、符号化ユニット、符号化ツリーユニット、ツリーユニット、ブロック、スライス、タイル、および/またはそれらの任意の組合せを含んでよい。本開示において記載されデコーダは、BDPCMに従って、および/またはBDPCMを使用して、1つまたは複数のフィールドを復号するように構成されてよい。BDPCMは、ピクセルレベルで完全な再構成を維持することができる。非限定的な例として、BDPCMを有する各ピクセルの予測プロセスは、4つの主なステップを含んでよく、これらのステップは、そのブロック内参照を使用して各ピクセルを予測し、次いで、ブロックの残りにおける後続のピクセルのためのブロック内参照として使用されるように各ピクセルを再構成してよい。(1)ブロック内ピクセル予測、(2)残差計算、(3)残差量子化、(4)ピクセル再構成。
【0047】
なお
図2を参照すると、ブロック内ピクセル予測は、各ピクセルを予測するために複数の参照ピクセルを使用してよく、非限定的な例として、複数の参照ピクセルは、予測されるピクセルpの左のピクセルα、pの上のピクセルβ、およびpの上および左のピクセルγを含んでよい。pの予測は、限定ではないが、以下のように定式化されてよい。
【0048】
【0049】
なお
図2を参照すると、予測値が計算されると、その残差が計算されてよい。この段階での残差は、可逆であり、デコーダ側でアクセス不可能であり得るので、
【0050】
【0051】
と表され、予測pからの元のピクセル値oの減算として計算され得る。
【0052】
【0053】
さらに
図2を参照すると、ピクセルレベルの独立性は、残差変換をスキップし、空間領域量子化を統合することによって達成されてよい。これは、量子化された残差値rを以下のように計算するために、線形量子化器Qによって実行され得る。
【0054】
【0055】
量子化器パラメータ(QP)によって課される正しいレート歪み比に対応するために、BDPCMは、例えば、限定ではないが、上記したように、転送スキップモード方法において使用される空間領域規格化を採用してよい。量子化された残差値rは、エンコーダによって送信されてよい。
【0056】
なお
図2を参照すると、BDPCMの別の状態は、前のステップからのpおよびrを使用するピクセル再構成を含んでよく、これは、例えば、限定ではないが、デコーダにおいて、またはデコーダによって、以下のように実行され得る。
c=p+r
再構成されると、現在のピクセルは、同じブロック内の他のピクセルのためのブロック内参照として使用され得る。
【0057】
元のピクセル値がその予測から離れているときに比較的大きい残差がある場合、BDPCMアルゴリズムにおける予測方式が使用されてよい。スクリーンコンテンツでは、これは、現在のピクセルが背景レイヤに属しながらブロック内参照が背景レイヤに属する場合、または現在のピクセルが背景レイヤに属しながらブロック内参照が背景レイヤに属する場合に起こり得る。「レイヤ遷移」状況と呼ばれ得るこの状況では、参照中の利用可能な情報は、正確な予測のために十分でないことがある。シーケンスレベルでは、BDPCM有効化フラグがSPSにおいてシグナリングされてよく、このフラグは、限定ではないが、変換スキップモードが、例えば、限定ではないが、上記したように、SPSにおいて有効化される場合にのみシグナリングされ得る。BDPCMが有効化されるとき、CUサイズがルーマサンプルに関してMaxTsSize×MaxTsSize以下であり、CUがイントラ符号化される場合、フラグがCUレベルで送信されてよく、ここで、MaxTsSizeは、変換スキップモードが許可される最大ブロックサイズである。このフラグは、通常のイントラ符号化またはBDPCMが使用されるかどうかを示してよい。BDPCMが使用される場合、予測が水平であるか垂直であるかを示すために、BDPCM予測方向フラグが送信されてよい。次いで、ブロックは、フィルタ処理されていない参照サンプルを用いた通常の水平または垂直イントラ予測プロセスを使用して予測されてよい。
【0058】
さらに
図2を参照すると、デコーディングサイトにおいて、特徴デコーダ236は、VVCデコーダなどであるがこれに限定されない映像デコーダ232が人間の視覚のためにサブピクチャを複合するのを支援してよく、一実施形態において可逆プロトコルに従って複合され得る復号された特徴は、映像全体のアセンブリのために映像デコーダ232に提供されてよい。一実施形態では、本明細書に開示される手法は、送信されるデータの量を著しく低減し、依然として復号された映像の高品質を維持してよい。
【0059】
ここで
図3を参照すると、本明細書に開示される手法の非限定的な例が提示される。VCMエンコーダ200は、映像シーケンスにおける顔認識を実行してよい。エンコーダ側では、顔が認識された人物からなるサブピクチャ304が識別されてよい。顔は、限定ではないが、ユーザ入力、限定ではないが、深層ニューラルネット分類器、畳み込みニューラルネット分類器、再帰ニューラルネット分類器などを含み得るニューラルネット分類器などの画像分類器、ナイーブベイズ分類器、K最近傍分類器、および/または粒子群最適化、蟻コロニー最適化、および/または遺伝的アルゴリズム分類器に基づく分類器を使用して認識されてよい。認識された顔を有する映像は、例えば、限定はしないが、非可逆符号化と可逆符号化との任意の組合せを使用して符号化されてよく、非限定的な例として、サブピクチャなど、高い詳細度、高い重要度などを有するエリアが可逆符号化により符号化され、他のエリアが非可逆符号化により符号化されてよい。
【0060】
重要度の高いエリアは、顔認識などによって識別される顔を含んでよいが、これに限定されない。これに代えてまたはこれに加えて、第1の領域の識別は、フレームの1つまたは複数のブロックおよび/または部分に関するセマンティック情報を受信し、セマンティック情報を使用して、第1の領域に含めるためのフレームのブロックおよび/または部分を識別することによって実行されてよい。セマンティック情報は、顔検出を特徴付けるデータを含んでよいが、これに限定されない。顔検出および/または他のセマンティック情報は、自動顔認識プロセスおよび/またはプログラムによって実行されてよく、および/またはユーザから顔データ、セマンティック情報などの識別を受信することによって実行されてよい。これに代えてまたはこれに加えて、セマンティック重要性は、有意性スコアを使用して計算されてよい。
【0061】
さらに
図3を参照すると、エンコーダは、複数のブロックの情報の平均測度を決定し、情報の平均測度を使用して第1の領域を識別することによって、第1の領域を識別してよい。識別は、例えば、情報の平均尺度と閾値との比較を含んでよい。情報の平均測度は、複数のブロックの複数の情報測度の和を計算することによって決定されてよく、それは有意係数によって乗算されてよい。有意係数は、第1のエリアの特性に基づいて決定されてよい。これに代えて、有意係数はユーザから受信されてよい。情報の測度は、例えば、現在のフレームのエリアの詳細のレベルを含んでよい。例えば、滑らかなエリアまたは高度にテクスチャ化されたエリアは、異なる量の情報を含んでよい。
【0062】
さらに
図3を参照すると、情報の平均測度は、非限定的な例として、エリア内の個々のブロックについての情報測度の和に従って決定されてよく、これは重み付けされてよく、および/または有意係数によって乗算されてよく、例えば以下の和に示される。
【0063】
【0064】
ここで、Nは第1のエリアの通し番号、SNは有意係数、kは第1のエリアを構成する複数のブロックのうちの1つのブロックに対応する指数、nはエリアを構成するブロックの数、Bkは複数のブロックのうちの1つのブロックの情報の測度、ANは情報の第1の平均測度である。Bkは、例えば、ブロックの離散コサイン変換を使用して計算された空間アクティビティの測度を含んでよい。例えば、上述のブロックが画素の4×4ブロックである場合、一般化離散コサイン変換行列は、以下の形式をとる一般化離散コサイン変換II行列を含んでよい。
【0065】
【0066】
ここで、aは1/2であり、bは
【0067】
【0068】
であり、cは
【0069】
【0070】
である。
いくつかの実装では、なお
図3を参照すると、効率的なハードウェアおよびソフトウェア実装のために使用され得る変換行列の整数近似が利用されてよい。例えば、上述のブロックがピクセルの4×4ブロックである場合、一般化離散コサイン変換行列は、以下の形式をとる一般化離散コサイン変換II行列を含んでよい。
【0071】
【0072】
ブロックBiについて、ブロックの周波数成分は、以下を用いて計算されてよい。
FBi=TxBixT’
ここで、T’はコサイン変換行列Tの横軸であり、Biは、上述したように4×4ブロックを表す4×4行列など、ブロックにおけるピクセルに対応する数値の行列として表されるブロックであり、演算xは行列乗算を表す。空間アクティビティの測度は、代替的にまたは追加的に、エッジおよび/またはコーナー検出、パターン検出のためのカーネルとの畳み込み、および/または限定ではないが、以下でさらに詳細に説明されるようなFFT処理などの周波数分析を使用して実行されてよい。
【0073】
引き続き
図3を参照すると、エンコーダが、以下でさらに詳細に説明するように、映像フレーム内の第2のエリアを決定するようにさらに構成される場合、エンコーダは、第2のエリアの情報の第2の平均測度を決定するように構成されてよく、情報の第2の平均測度を決定することは、情報の第1の平均測度を決定するために上述したように達成されてよい。
【0074】
さらに
図3を参照すると、有意係数S
Nは、外部の専門家によって供給されてよく、および/またはエリアの特性に基づいて計算されてよい。エリアの「特性」は、本明細書で使用される場合、その内容に基づいて特定されるエリアの測定可能な属性であり、特性は、第1のエリアに対して実行される1つまたは複数の計算の出力を使用して数値で表現し得る。1つまたは複数の計算は、第1のエリアにより表される任意の信号の任意の解析を含んでよい。非限定的な一例には、品質モデリング用途において平滑な背景を有するエリアにはより高いS
Nを割り当て、平滑性の低いエリアにはより低いS
Nを割り当てることがあり得る;非限定的な例として、平滑性はキャニーエッジ検出を使用して特定されて、エッジの数を特定し得、その場合、数が少ないことは、平滑性が高いことを示す。自動平滑性検出のさらなる例は、エリアにわたる空間変数における信号にわたる高速フーリエ変換(FFT)の使用を含んでよく、信号は、任意の2次元座標系にわたっておよび赤緑青の色値を表すチャネル等にわたって解析されてよく、FFTを使用して計算される周波数領域において低周波成分が相対的に優位なことは、平滑性がより高いことを示してよく、一方、高周波成分が相対的に優位なことは、背景エリアにわたる色値および/または陰影値の遷移が頻繁で急速であることを示してよく、これは平滑性スコアの低下に繋がる場合があり、セマンティック的に重要な物体はユーザ入力により識別されてよい。これに代えてまたは加えて、セマンティック重要性はエッジ構成および/またはテクスチャパターンに従って検出されてよい。背景は、限定ではなく、限定ではなくセマンティック的に重要な物体を含む顔または他の物品等の重要なまたは「前景」物体を表すエリアの一部分を受信および/または検出することにより識別されてよい。別の例には、人の顔等のセマンティック的に重要な物体を含むエリアにより高いS
Nを割り当てることがあり得る。
【0075】
図3をさらに参照すると、第1の領域を識別することは、複数のブロックの各ブロックの空間アクティビティの測度を決定することと、空間アクティビティの測度を使用して第1の領域を識別することとを含んでよい。本開示で使用される場合、「空間アクティビティ測度」は、ブロック、ブロックのセット、および/またはフレームのエリア内でテクスチャがどの程度頻繁に、どの程度の振幅で変化するかを示す量である。言い換えれば、空などの平坦なエリアは、低い空間アクティビティ測度を有し得るが、草などの複雑なエリアは、高い空間アクティビティ測度を受け取ることになる。それぞれの空間アクティビティ測度の決定は、限定ではないが、離散コサイン変換行列などの変換行列を使用する決定を含んでよい。各ブロックについてそれぞれの空間アクティビティ測度を決定することは、一般化離散コサイン変換行列を使用する決定を含んでよく、これは、限定ではないが、上記したような任意の離散コサイン変換行列を含んでよい。例えば、各ブロックについてのそれぞれの空間アクティビティ測度を決定することは、一般化離散コサイン変換行列、一般化離散コサイン変換II行列、および/または離散コサイン変換行列の整数近似を使用することを含んでよい。
【0076】
一実施形態では、さらに
図3を参照すると、映像エンコーダ212は、例えばフレーム700からフレーム756までの映像クリップサイズを含む、識別された顔および/または人物を含むサブピクチャについて通知されてよい。映像エンコーダ212は、次いで、簡略化されたSA-DCTを使用して、このサブピクチャおよび/またはクリップに非可逆エンコーダを適用してよい。特徴エンコーダ220は、特徴および/または特徴を含むサブピクチャを、可逆符号化を使用して符号化してよく、特徴および/またはサブピクチャは、可逆符号化プロトコルに対応する可逆復号を使用して特徴デコーダ236によって復号されてよく、映像デコーダ232において復号された映像と組み合わされてよい。
【0077】
図4は、適応クロッピングが可能な例示的なデコーダ400を示すシステムブロック図である。デコーダ400は、エントロピーデコーダプロセッサ404、逆量子化および逆変換プロセッサ408、デブロッキングフィルタ412、フレームバッファ416、動き補償プロセッサ420、および/またはイントラ予測プロセッサ424を含んでよい。動作において、なお
図4を参照すると、ビットストリーム428がデコーダ400により受信され、エントロピーデコーダプロセッサ404に入力され得、エントロピーデコーダプロセッサ404はビットストリームの部分を復号して量子化係数にしてよい。量子化係数は逆量子化および逆変換プロセッサ408に提供され得、逆量子化および逆変換プロセッサ408は逆量子化および逆変換を実行して残差信号を作成してよく、これは処理モードに従って動き補償プロセッサ420またはイントラ予測プロセッサ424の出力に追加してよい。動き補償プロセッサ420およびイントラ予測プロセッサ424の出力は、前に復号されたブロックに基づいてブロック予測を含んでよい。予測と残差との和がデブロッキングフィルタ412により処理され、フレームバッファ416に記憶されてよい。
【0078】
一実施形態において、なお
図4を参照すると、デコーダ400は、任意の実施形態において上述された任意の動作を任意の順に任意の反復程度で実施するように構成された回路を含んでよい。例えば、デコーダ400は、所望または命令された結果が達成されるまで、単一のステップまたはステップのシーケンスを繰り返し実行するように構成されてよく、ステップまたはステップのシーケンスの反復は、前の反復の出力を続く反復の入力として使用し、反復の入力および/または出力を集計して集計結果を生成し、グローバル変数等の1つまたは複数の変数の低減またはデクリメントを使用し、および/またはより大きな処理タスクの、繰り返しアドレス指定されるより小さな処理タスクのセットへの分割を使用して、反復的および/または再帰的に実行されてよい。デコーダは、本開示に記載の任意のステップまたはステップのシーケンスを並列に実行してよく、例えば、2つ以上の並列スレッド、プロセッサコア等を使用してステップを2回以上同時におよび/または略同時に実行してよく;並列スレッドおよび/またはプロセッサ間のタスクの分割は、反復間のタスクの分割に適した任意のプロトコルに従って実行されてよい。当業者ならば、本開示全体を考慮した上で、ステップ、ステップのシーケンス、処理タスク、および/またはデータを細分、共有、および/または反復、再帰、および/または並列処理の使用に他の方法で対処し得る種々の方法を認識する。
【0079】
図5は、適応クロッピングが可能な例示的な映像エンコーダ500を示すシステムブロック図である。例示的な映像エンコーダ500は、ツリー構造マクロブロック区分方式(例えば、4分木+2分木)などの処理方式に従って最初にセグメント化または分割され得る入力映像504を受信してよい。ツリー構造のマクロブロックパーティション方式の一例には、ピクチャフレームを符号化ツリー単位(CTU:coding tree unit)と呼ばれる大きなブロック要素にパーティションすることがあり得る。いくつかの実施態様では、各CTUは符号化単位(CU)と呼ばれるいくつかのサブブロックにさらにパーティションされてよい。このパーティションの最終結果は、予測単位(PU)と呼ばれ得るサブブロック群を含んでよい。変換単位(TU)が利用されてもよい。
【0080】
なお
図5を参照すると、一例の映像エンコーダ500は、イントラ予測プロセッサ508、グローバル動きベクトル候補を動きベクトル候補リストに追加することを含む動きベクトル候補を構築可能な、インター予測プロセッサと呼ばれることもある動き推定/補償プロセッサ512、変換/量子化プロセッサ516、逆量子化/逆変換プロセッサ520、インループフィルタ524、復号ピクチャバッファ528、および/またはエントロピー符号化プロセッサ532を含んでよい。ビットストリームパラメータがエントロピー符号化プロセッサ532に入力されて、出力ビットストリーム536に含まれてもよい。
【0081】
動作において、引き続き
図5を参照すると、入力映像504のフレームの各ブロックについて、ピクチャ内予測を介してブロックを処理すべきかそれとも動き推定/補償を使用してブロック処理すべきかを判断してよい。ブロックは、イントラ予測プロセッサ508または動き推定/補償プロセッサ512に提供されてよい。ブロックがイントラ予測を介して処理される場合、イントラ予測プロセッサ508が処理を実行して予測子を出力してよい。ブロックが動き推定/補償を介して処理されるべき場合、動き推定/補償プロセッサ512が、該当する場合、グローバル動きベクトル候補を動きベクトル候補リストに追加することを含む動きベクトル候補リストを構築することを含む処理を実行してよい。
【0082】
さらに
図5を参照すると、予測子を入力映像54から減算することにより残差を形成してよい。残差は変換/量子化プロセッサ516により受信され得、変換/量子化プロセッサ516は変換処理(例えば、離散コサイン変換(DCT))を実行して係数を生成してよく、係数は量子化されてよい。量子化された係数および関連する任意のシグナリング情報はエントロピー符号化プロセッサ532に提供されて、エントロピー符号化され、出力ビットストリーム536に含まれてよい。エントロピー符号化プロセッサ532は、現在ブロックの符号化に関連するシグナリング情報の符号化をサポートしてよい。これに加えて、量子化された係数は逆量子化/逆変換プロセッサ520に提供されてよく、逆量子化/逆変換プロセッサ520はピクセルを再現してよく、これは予測子と結合され、インループフィルタ524により処理され得、インループフィルタ524の出力は、グローバル動きベクトル候補を動きベクトル候補リストに追加することを含む動きベクトル候補リストを構築することが可能な動き推定/補償プロセッサ512による使用に向けて復号ピクチャバッファ528に記憶されてよい。
【0083】
引き続き
図5を参照すると、少数の変形形態について詳細に上述したが、他の変更または追加も可能である。例えば、いくつかの実施態様において、現在ブロックは任意の対称ブロック(8×8、16×16、32×32、64×64、128×128等)および任意の非対称ブロック(8×4、16×8等)を含んでよい。
【0084】
いくつかの実施態様では、なお
図5を参照すると、四分木二分決定木(QTBT:quadtree plus binary decision tree)が実装されてよい。QTBTでは、符号化ツリー単位レベルにおいて、QTBTのパーティションパラメータは、いかなるオーバーヘッドも送信せずにローカル特性に適合するように動的に導出され得る。続けて、符号化単位レベルにおいて、共同分類器決定木構造が不必要な反復をなくし、予測誤りリスクを制御し得る。いくつかの実施態様では、LTRフレームブロック更新モードが、QTBTのあらゆるリーフノードで利用可能な追加選択肢として利用可能であってよい。
【0085】
いくつかの実施態様において、なお
図5を参照すると、追加のシンタックス要素がビットストリームの異なる階層レベルで伝えられてよい。例えば、有シーケンスパラメータセット(SPS)に符号化された有効化フラグを含むことにより、シーケンス全体でフラグが有効化されてよい。さらに、CTUフラグが符号化ツリー単位(CTU)レベルに符号化されてよい。
【0086】
いくつかの実施形態は、1つまたは複数の計算システムの1つまたは複数のデータプロセッサにより実行されると、1つ以上のデータプロセッサに本明細書における動作を実行させる命令を記憶した非一時的コンピュータプログラム製品(すなわち、物理的に具体化されるコンピュータプログラム製品)を含んでよい。なお
図5を参照すると、エンコーダ500は、任意の実施形態において上述された任意の動作を任意の順に任意の反復程度で実施するように構成された回路を含んでよい。例えば、エンコーダ500は、所望または命令された結果が達成されるまで、単一のステップまたはステップのシーケンスを繰り返し実行するように構成されてよく、ステップまたはステップのシーケンスの反復は、前の反復の出力を続く反復の入力として使用し、反復の入力および/または出力を集計して集計結果を生成し、グローバル変数等の1つまたは複数の変数の低減またはデクリメントを使用し、および/またはより大きな処理タスクの、繰り返しアドレス指定されるより小さな処理タスクのセットへの分割を使用して、反復的および/または再帰的に実行されてよい。エンコーダ500は、本開示に記載の任意のステップまたはステップのシーケンスを並列に実行してよく、例えば、2つ以上の並列スレッド、プロセッサコア等を使用してステップを2回以上同時におよび/または略同時に実行してよく;並列スレッドおよび/またはプロセッサ間のタスクの分割は、反復間のタスクの分割に適した任意のプロトコルに従って実行されてよい。当業者ならば、本開示全体を考慮した上で、ステップ、ステップのシーケンス、処理タスク、および/またはデータを細分、共有、および/または反復、再帰、および/または並列処理の使用に他の方法で対処し得る種々の方法を認識する。
【0087】
引き続き
図5を参照すると、非一時的コンピュータプログラム製品(すなわち、物理的に具体化されるコンピュータプログラム製品)は、1つまたは複数の計算システムの1つまたは複数のデータプロセッサにより実行されると、1つ以上のデータプロセッサに、限定ではなく上述の任意の動作および/またはデコーダ900および/またはエンコーダ500が実行するように構成され得る任意の動作を含め、本開示に記載の動作および/またはそのステップを実行させる命令を記憶してよい。同様に、1つまたは複数のデータプロセッサと、1つまたは複数のデータプロセッサに結合されたメモリとを含み得るコンピュータシステムも記載される。メモリは、1つ以上のプロセッサに本明細書に記載の動作の1つまたは複数を実行させる命令を一時的または永久的に記憶してよい。これに加えて、方法は、単一の計算システム内のまたは2つ以上の計算システムに分散した1つまたは複数のデータプロセッサにより実装されることが可能である。そうした計算システムは、ネットワーク(例えば、インターネット、無線ワイドエリアネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、有線ネットワーク等)を経由した接続、複数の計算システムの1つまたは複数間の直接接続等を含め、1つまたは複数の接続を介して接続することができおよびデータおよび/またはコマンドまたは他の命令等を交換することができる。
【0088】
なお、コンピュータ分野の当業者には明らかになるように、本明細書に記載の態様および実施形態の任意の1つまたは複数は、本明細書の教示に従ってプログラムされた1つまたは複数の機械(例えば、電子ドキュメントのユーザ計算デバイスとして利用される1つまたは複数の計算デバイス、ドキュメントサーバ等の1つまたは複数のサーバデバイス等)を使用して好都合に実装されてよい。適切なソフトウェアコーディングは、ソフトウェア分野の当業者には明らかになるように、本開示の教示に基づいて熟練したプログラマにより容易に準備することができる。ソフトウェアおよび/またはソフトウェアモジュールを採用した上記態様および実施態様は、ソフトウェアおよび/またはソフトウェアモジュールの機械実行可能命令の実施を支援するのに適したハードウェアを含んでもよい。
【0089】
そうしたソフトウェアは、機械可読記憶媒体を採用するコンピュータプログラム製品であってよい。機械可読記憶媒体は、機械(例えば、計算デバイス)により実行される命令のシーケンスを記憶および/または符号化することが可能であり、機械に本明細書に記載の方法論および/または実施形態のいずれか1つを実行させる任意の媒体であってよい。機械可読記憶媒体の例には、限定ではないが、磁気ディスク、光ディスク(例えば、CD、CD-R、DVD、DVD-R等)、光磁気ディスク、読取専用メモリ「ROM」デバイス、ランダムアクセスメモリ「RAM」デバイス、磁気カード、光学カード、ソリッドステートメモリデバイス、EPROM、EEPROM、および/またはそれらの任意の組合せがある。機械可読媒体は、本明細書で使用される場合、単一の媒体および物理的に別個の媒体の集合、例えば、コンピュータメモリと組み合わせたコンパクトディスクまたは1つもしくは複数のハードディスクドライブの集合体等を含むことを意図する。本明細書で使用される場合、機械可読記憶媒体は一過性形態の信号伝送を含まない。
【0090】
そうしたソフトウェアはまた、搬送波等のデータキャリア上のデータ信号として搬送される情報(例えば、データ)を含んでもよい。例えば、機械実行可能情報はデータキャリアの中に具現化されるデータ搬送信号として含まれてよく、信号は、機械(例えば、計算デバイス)により実行される命令のシーケンスまたはその一部および本明細書に記載の方法論および/または実施形態のいずれか1つを機械に実行させる任意の関連する情報(例えば、データ構造およびデータ)を符号化する。
【0091】
計算デバイスの例には、限定ではないが、電子書籍読取デバイス、コンピュータワークステーション、端末コンピュータ、サーバコンピュータ、ハンドヘルドデバイス(例えば、タブレット型コンピュータ、スマートフォン等)、ウェブ装置、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、その機械によってとられるべき動作を規定する命令のシーケンスを実行可能な任意の機械、およびそれらの任意の組合せを含む。一例では、計算デバイスはキオスクを含んでよくおよび/またはキオスクに含まれてよい。
【0092】
図6は、制御システムに本開示の態様および/または方法論の任意の1つまたは複数を実行させる命令セットを内部で実行し得るコンピュータシステム600の例示的な形態における計算デバイスの一実施形態の図式表現を示す。本開示の態様および/または方法論の任意の1つまたは複数をデバイスの1つまたは複数に実行させる、特に構成された命令セットを実施するのに複数の計算デバイスを利用してもよいことも企図される。コンピュータシステム600は、バス612を介して互いおよび他の構成要素と通信するプロセッサ604およびメモリ608を備える。バス612は、限定ではなく、多様な任意のバスアーキテクチャを使用するメモリバス、メモリコントローラ、周辺機器用バス、ローカルバス、およびそれらの任意の組合せを含むいくつかの種類の任意のバス構造を含んでよい。
【0093】
プロセッサ604は、限定ではなく、状態機械を用いて調整され得、メモリおよび/またはセンサからの動作入力により指示され得る、算術論理ユニット(ALU)等の算術演算および論理演算を実行する論理回路を組み込んだプロセッサ等の任意の適したプロセッサを含んでよく、プロセッサ604は、非限定的な例としてフォンノイマンおよび/またはハーバードアーキテクチャに従って編成されてよい。プロセッサ604は、限定ではなく、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、コンプレックスプログラマブル論理デバイス(CPLD)、グラフィカル処理ユニット(GPU)、汎用GPU、テンソル処理ユニット(TPU)、アナログまたは混合信号プロセッサ、トラステッドプラットフォームモジュール(TPM)、浮動小数点ユニット(FPU)、および/またはシステムオンチップ(SoC)を含んでよく、組み込んでよく、および/または組み込まれてよい。
【0094】
メモリ608は、限定ではないが、ランダムアクセスメモリコンポーネント、読取専用コンポーネント、およびそれらの任意の組合せを含め、種々のコンポーネント(例えば、機械可読媒体)を含んでよい。一例では、スタートアップ中等にコンピュータシステム600内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入力/出力システム616(BIOS)が、メモリ608に記憶されてよい。メモリ608はまた、本開示の態様および/または方法論のうちの任意の1つまたは複数を具現化する命令(例えば、ソフトウェア)620を含んで(例えば、1つまたは複数の機械可読媒体に記憶されて)もよい。別の例では、メモリ608はさらに、限定ではないが、オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、プログラムデータ、およびそれらの任意の組合せを含め、任意の数のプログラムモジュールを含んでよい。
【0095】
コンピュータシステム600はまた、記憶デバイス624を含んでもよい。記憶デバイス(例えば、記憶デバイス624)の例には、限定ではないが、ハードディスクドライブ、磁気ディスクドライブ、光学媒体との組み合わせた光ディスクドライブ、ソリッドステートメモリデバイス、およびそれらの任意の組合せがある。記憶デバイス624は、適切なインタフェース(図示せず)によってバス612に接続されてよい。インタフェースの例は、限定ではないが、SCSI、アドバンスト・テクノロジー・アタッチメント(ATA)、シリアルATA、ユニバーサルシリアルバス(USB)、IEEE1394(ファイアワイヤ(FIREWIRE)(登録商標))、およびそれらの任意の組合せがある。一例では、記憶デバイス624(または1つもしくは複数のそのコンポーネント)は、コンピュータシステム600と取り外し可能にインタフェースしてよい(例えば、外部ポートコネクタ(図示せず)を介して)。特に、記憶デバイス624および関連する機械可読媒体628は、コンピュータシステム600の機械可読命令、データ構造、プログラムモジュール、および/または他のデータの不揮発性および/または揮発性記憶装置を提供してよい。一例では、ソフトウェア620は、完全または部分的に、機械可読媒体628内に常駐してよい。別の例では、ソフトウェア620は、完全または部分的に、プロセッサ604内に常駐してよい。
【0096】
コンピュータシステム600はまた、入力デバイス632を含んでもよい。一例では、コンピュータシステム600のユーザが、入力デバイス632を介してコンピュータシステム600にコマンドおよび/または他の情報を入力してよい。入力デバイス632の例には、限定ではないが、英数字入力デバイス(例えば、キーボード)、ポインティングデバイス、ジョイスティック、ゲームパッド、オーディオ入力デバイス(例えば、マイクロホン、音声応答システム等)、カーソル制御デバイス(例えば、マウス)、タッチパッド、光学スキャナ、映像キャプチャデバイス(例えば、静止カメラ、映像カメラ)、タッチスクリーン、およびそれらの任意の組合せがある。入力デバイス632は、限定ではないが、シリアルインタフェース、パラレルインタフェース、ゲームポート、USBインタフェース、ファイアワイヤ(FIREWIRE)インタフェース、バス612への直接インタフェース、およびそれらの任意の組合せを含め、種々の任意のインタフェース(図示せず)を介してバス612とインタフェースしてよい。入力デバイス632は、さらに後述されるディスプレイ636の一部であってもよくまたはそれと別個であってもよいタッチスクリーンインタフェースを含んでよい。入力デバイス632は、上述したようなグラフィカルインタフェース内で1つまたは複数のグラフィカル表現を選択するためのユーザ選択デバイスとして利用されてよい。
【0097】
ユーザはまた、記憶デバイス624(例えば、リムーバブルディスクドライブ、フラッシュドライブ等)および/またはネットワークインタフェースデバイス640を介してコマンドおよび/または他の情報をコンピュータシステム600に入力してもよい。ネットワークインタフェースデバイス640等のネットワークインタフェースデバイスは、ネットワーク644等の種々のネットワークの1つまたは複数およびそれに接続される1つまたは複数のリモートデバイス648にコンピュータシステム600を接続するために利用されてよい。ネットワークインタフェースデバイスの例には、限定ではないが、ネットワークインタフェースカード(例えば、モバイルネットワークインタフェースカード、LANカード)、モデム、およびそれらの任意の組合せがある。ネットワークの例には、限定ではないが、ワイドエリアネットワーク(例えば、インターネット、企業ネットワーク)、ローカルエリアネットワーク(例えば、オフィス、ビル、キャンパス、または他の比較的に小さい地理的空間と関連付けられるネットワーク)、電話ネットワーク、電話/音声プロバイダと関連付けられるデータネットワーク(例えば、モバイル通信プロバイダのデータおよび/または音声ネットワーク)、2つの計算デバイス間の直接接続、およびそれらの任意の組合せがある。ネットワーク644等のネットワークは、通信の有線モードおよび/または無線モードを採用してよい。一般に、いかなるネットワークトポロジも使用可能である。情報(例えば、データ、ソフトウェア620等)が、ネットワークインタフェースデバイス640を介してコンピュータシステム600におよび/またはコンピュータシステム1200から通信されてよい。
【0098】
コンピュータシステム600は、ディスプレイデバイス636等のディスプレイデバイスに表示可能な画像を通信するための映像ディスプレイアダプタ652をさらに含んでよい。ディスプレイデバイスの例には、限定ではなく、液晶ディスプレイ(LCD)、陰極線管(CRT)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、およびそれらの任意の組合せがある。
【0099】
ディスプレイアダプタ652およびディスプレイデバイス636がプロセッサ604と組み合わせて利用されて、本開示の態様のグラフィカル表現を提供してよい。ディスプレイデバイスに加えて、コンピュータシステム600は、限定ではないが、オーディオスピーカ、プリンタ、およびそれらの任意の組合せを含む1つまたは複数の他の周辺機器出力デバイスを含んでよい。そうした周辺機器出力デバイスは、周辺機器インタフェース656を介してバス612に接続されてよい。周辺機器インタフェースの例には、限定ではなく、シリアルポート、USB接続、ファイアワイヤ(FIREWIRE)接続、パラレル接続、およびそれらの任意の組合せがある。
【0100】
上記は本発明の例示的な実施形態の詳細な説明であった。本発明の主旨および範囲から逸脱せずに種々の変更および追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多くの特徴組合せを提供するために、記載の他の実施形態の特徴と適宜組み合わせることができる。さらに、上記はいくつかの別個の実施形態について説明しているが、本明細書に記載されたものは単に、本発明の原理の適用の例示である。さらに、本明細書における特定の方法は特定の順序で実行されるものとして示されおよび/または説明されていることがあるが、順序は、本開示による方法、システム、およびソフトウェアを達成するために通常技能内で大きく変更可能である。したがって、この説明は例としてのみ解釈されることが意図され、本発明の範囲の限定を意図しない。
【0101】
例示的な実施形態について上に開示し添付図面に示してきた。本発明の主旨および範囲から逸脱せずに、本明細書に特に開示されたものに種々の変更、省略、および追加を行い得ることが当業者には理解される。
【国際調査報告】