(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-05
(54)【発明の名称】マシン用ビデオコーディングのエンハンスメントプロセス
(51)【国際特許分類】
H04N 19/46 20140101AFI20240329BHJP
H04N 19/30 20140101ALI20240329BHJP
【FI】
H04N19/46
H04N19/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023564596
(86)(22)【出願日】2023-01-05
(85)【翻訳文提出日】2023-10-20
(86)【国際出願番号】 US2023010174
(87)【国際公開番号】W WO2023163809
(87)【国際公開日】2023-08-31
(32)【優先日】2022-02-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-12-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ウェン・ガオ
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA31
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
マシン用ビデオコーディング(VCM)画像エンハンスメントを実行するシステム、デバイス及び方法であって、符号化されたビットストリームから符号化された画像を取得するステップと、符号化された画像に対応するエンハンスメントパラメータを取得するステップと、符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成するステップと、復号された画像とエンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成するステップであって、エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化される、ステップと、人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に復号された画像とエンハンスメントがなされた画像との少なくとも一方を提供するステップとを含む方法。
【特許請求の範囲】
【請求項1】
マシン用ビデオコーディング(VCM)画像エンハンスメントを実行する方法であって、前記方法は少なくとも1つのプロセッサによって実行され、
符号化されたビットストリームから符号化された画像を取得するステップと、
前記符号化された画像に対応するエンハンスメントパラメータを取得するステップと、
前記符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成するステップと、
前記復号された画像と前記エンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成するステップであって、前記エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化される、ステップと、
前記人視認VCMタスク、前記マシン視認VCMタスク及び前記人マシン複合視認VCMタスクの前記1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に前記復号された画像と前記エンハンスメントがなされた画像との少なくとも一方を提供するステップとを含む、方法。
【請求項2】
前記エンハンスメントモジュールはニューラルネットワークを備え、
前記エンハンスメントパラメータは前記ニューラルネットワークに対応するニューラルネットワークパラメータを備える、請求項1に記載の方法。
【請求項3】
前記エンハンスメントがなされた画像はレート歪み最適化を用いた生成物であり、
前記ニューラルネットワークパラメータは歪みメトリックとパラメータサイズとに基づいて選択される、請求項2に記載の方法。
【請求項4】
前記歪みメトリックは前記エンハンスメントがなされた画像及び入力画像に関連する平均二乗誤差、構造類似性メトリック及びマルチスケール構造類似性メトリックのうちの少なくとも1を備える、請求項3に記載の方法。
【請求項5】
前記平均二乗誤差は式
【数1】
を用いて計算され、
MSEは前記平均二乗誤差を表わし、f(c,h,w)は前記入力画像の特徴を表わし、
【数2】
は前記エンハンスメントがなされた画像の特徴を表わし、Cは特徴マップのチャンネル数を表わし、Hは前記特徴マップの行数を表わし、Wは前記特徴マップの列数を表わし、cはチャンネルインデックスを表わし、hは行を表わし、wは列位置を表わす、請求項4に記載の方法。
【請求項6】
前記復号された画像は前記符号化されたビットストリームに対応するgroup of pictures(GOP)に含まれ、
前記GOPに含まれるすべての画像が前記エンハンスメントパラメータを共有する、請求項1に記載の方法。
【請求項7】
前記エンハンスメントパラメータは前記符号化されたビットストリームに含まれる、請求項1に記載の方法。
【請求項8】
前記符号化されたビットストリームは前記符号化された画像に対応するフラグを備え、
前記フラグは、前記符号化された画像に対応する前記エンハンスメントパラメータが前記符号化されたビットストリームに含まれるか否かを示す、請求項7に記載の方法。
【請求項9】
前記エンハンスメントパラメータは前記符号化されたビットストリームとは別のメタデータビットストリームに含まれる、請求項1に記載の方法。
【請求項10】
前記メタデータビットストリームは前記符号化された画像に対応するフラグを備え、
前記フラグは、前記符号化された画像に対応する前記エンハンスメントパラメータが前記メタデータビットストリームに含まれるか否かを示す、請求項9に記載の方法。
【請求項11】
マシン用ビデオコーディング(VCM)画像エンハンスメントを実行するデバイスであって、前記デバイスは、
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み込み、前記プログラムコードによって指示されているように動作するように構成される少なくとも1つのプロセッサであって、前記プログラムコードは、
前記少なくとも1つのプロセッサに、符号化されたビットストリームから符号化された画像を取得させるように構成される第1の取得コードと、
前記少なくとも1つのプロセッサに、前記符号化された画像に対応するエンハンスメントパラメータを取得させるように構成される第2の取得コードと、
前記少なくとも1つのプロセッサに、前記符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成させるように構成される復号コードと、
前記少なくとも1つのプロセッサに、前記復号された画像と前記エンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成させるように構成される第1の生成コードであって、前記エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化される、第1の生成コードと、
前記少なくとも1つのプロセッサに、前記人視認VCMタスク、前記マシン視認VCMタスク及び前記人マシン複合視認VCMタスクの前記1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に前記復号された画像と前記エンハンスメントがなされた画像との少なくとも一方を提供させるように構成される提供コードとを含む、少なくとも1つのプロセッサとを備える、デバイス。
【請求項12】
前記エンハンスメントモジュールはニューラルネットワークを備え、
前記エンハンスメントパラメータは前記ニューラルネットワークに対応するニューラルネットワークパラメータを備える、請求項11に記載のデバイス。
【請求項13】
前記エンハンスメントがなされた画像はレート歪み最適化を用いた生成物であり、
前記ニューラルネットワークパラメータは歪みメトリックとパラメータサイズとに基づいて選択される、請求項12に記載のデバイス。
【請求項14】
前記歪みメトリックは前記エンハンスメントがなされた画像及び入力画像に関連する平均二乗誤差、構造類似性メトリック及びマルチスケール構造類似性メトリックのうちの少なくとも1を備える、請求項13に記載のデバイス。
【請求項15】
前記復号された画像は前記符号化されたビットストリームに対応するgroup of pictures(GOP)に含まれ、
前記GOPに含まれるすべての画像が前記エンハンスメントパラメータを共有する、請求項11に記載のデバイス。
【請求項16】
前記エンハンスメントパラメータは前記符号化されたビットストリームに含まれる、請求項11に記載のデバイス。
【請求項17】
前記符号化されたビットストリームは前記符号化された画像に対応するフラグを備え、
前記フラグは、前記符号化された画像に対応する前記エンハンスメントパラメータが前記符号化されたビットストリームに含まれるか否かを示す、請求項16に記載のデバイス。
【請求項18】
前記エンハンスメントパラメータは前記符号化されたビットストリームとは別のメタデータビットストリームに含まれる、請求項11に記載のデバイス。
【請求項19】
前記メタデータビットストリームは前記符号化された画像に対応するフラグを備え、
前記フラグは、前記符号化された画像に対応する前記エンハンスメントパラメータが前記メタデータビットストリームに含まれるか否かを示す、請求項18に記載のデバイス。
【請求項20】
指示を記憶する非一時的コンピュータ可読媒体であって、前記指示は、マシン用ビデオコーディング(VCM)画像エンハンスメントのためのデバイスの、1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、
符号化されたビットストリームから符号化された画像を取得させ、
前記符号化された画像に対応するエンハンスメントパラメータを取得させ、
前記符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成させ、
前記復号された画像と前記エンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成させ、前記エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化され、
前記人視認VCMタスク、前記マシン視認VCMタスク及び前記人マシン複合視認VCMタスクの前記1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に前記復号された画像と前記エンハンスメントがなされた画像との少なくとも一方を提供させる、1つ以上の指示を備える、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は米国特許商標庁に2022年2月24日に出願された米国仮出願第63/313,616号と2022年12月6日に出願された米国出願第18/076,020号との優先権を主張する。これらの出願の全体が参照により本明細書に援用される。
【0002】
本開示の実施形態は動画符号化を対象とし、特に、マシン用ビデオコーディング(VCM)と適合性がある画像エンハンスメントを対象とする。
【背景技術】
【0003】
動画や画像が様々な目的(たとえば娯楽、教育など)で人であるユーザによって使用される場合がある。このため、高い主観的品質を維持しつつ高い圧縮効率を得るために、多くの場合に動画符号化や画像符号化に人の視覚系の特性を利用する場合がある。
【0004】
機械学習の使用の増大にともない、多くのインテリジェントプラットフォームでは、多数のセンサに加えて、マシン視認タスク(たとえば物体検出、セグメンテーションや追跡)向けに動画が利用されてきた。この結果、マシンタスクで使用される動画又は画像の符号化が、関心を集める困難な課題になっていた。この結果、マシン用ビデオコーディング(VCM)の考えが取り入れられた。この目的を達成するために、国際標準団体MPEGは、相違デバイス間で相互運用性を高めるための関連技術を標準化するために“Video coding for machines(VCM)”というアドホックグループを設けた。
【0005】
既存のVCM方法を特定の種類の動画コンテンツ向けに最適化する場合がある。一例として、VCMのいくつかの実現例では、たとえば、学習を用いる実現例か人為的(hand-crafted)実現例かのいずれかを画像/動画データセットの集合を用いて訓練したり最適化したりする場合がある。しかし、実際の符号化動作では、個々の画像/動画には独自の特性がある場合があり、これが訓練画像/動画データセットの特性からずれるおそれがある。したがって、復号された画像/動画にさらにエンハンスメントを行なう必要があるといえる。
【発明の概要】
【課題を解決するための手段】
【0006】
本開示の態様に係れば、マシン用ビデオコーディング(VCM)画像エンハンスメントを実行する方法は少なくとも1つのプロセッサによって実行され、符号化されたビットストリームから符号化された画像を取得するステップと、符号化された画像に対応するエンハンスメントパラメータを取得するステップと、符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成するステップと、復号された画像とエンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成するステップであって、エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化される、ステップと、人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に復号された画像とエンハンスメントがなされた画像との少なくとも一方を提供するステップとを含む。
【0007】
本開示の態様に係れば、マシン用ビデオコーディング(VCM)画像エンハンスメントを実行するデバイスは、プログラムコードを記憶するように構成される少なくとも1つのメモリと、プログラムコードを読み込み、プログラムコードによって指示されているように動作するように構成される少なくとも1つのプロセッサであって、プログラムコードは、少なくとも1つのプロセッサに、符号化されたビットストリームから符号化された画像を取得させるように構成される第1の取得コードと、少なくとも1つのプロセッサに、符号化された画像に対応するエンハンスメントパラメータを取得させるように構成される第2の取得コードと、少なくとも1つのプロセッサに、符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成させるように構成される復号コードと、少なくとも1つのプロセッサに、復号された画像とエンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成させるように構成される第1の生成コードであって、エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化される、第1の生成コードと、少なくとも1つのプロセッサに、人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に復号された画像とエンハンスメントがなされた画像との少なくとも一方を提供させるように構成される提供コードとを含む、少なくとも1つのプロセッサとを含む。
【0008】
本開示の態様に係れば、非一時的コンピュータ可読媒体は指示を記憶し、指示は、マシン用ビデオコーディング(VCM)画像エンハンスメントのためのデバイスの、1つ以上のプロセッサによって実行されるとき、1つ以上のプロセッサに、符号化されたビットストリームから符号化された画像を取得させ、符号化された画像に対応するエンハンスメントパラメータを取得させ、符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成させ、復号された画像とエンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成させ、エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化され、人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に復号された画像とエンハンスメントがなされた画像との少なくとも一方を提供させる、1つ以上の指示を含む。
【0009】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質及び様々な効果がより明らかになる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係る、本出願で説明されている方法、装置及びシステムを実施することができる環境の図である。
【
図2】
図1の1つ以上のデバイスの要素の例のブロック図である。
【
図3】実施形態に係る、動画符号化を実行するためのアーキテクチャ例のブロック図である。
【
図4】実施形態に係る、エンハンスメントモジュールを含み、動画符号化を実行するアーキテクチャ例のブロック図である。
【
図5】実施形態に係る、エンハンスメントモジュールを含み、動画符号化を実行するアーキテクチャ例のブロック図である。
【
図6】実施形態に係る、平均二乗誤差を決定するモジュールのブロック図である。
【
図7A】実施形態に係る、ビットストリームの例を示す図である。
【
図7B】実施形態に係る、ビットストリームの例を示す図である。
【
図7C】実施形態に係る、ビットストリームの例を示す図である。
【
図7D】実施形態に係る、ビットストリームの例を示す図である。
【
図8】実施形態に係る、エンハンスメントモジュール例のブロック図である。
【
図9】実施形態に係る、特徴圧縮を実行するためのプロセス例のフローチャートである。
【発明を実施するための形態】
【0011】
図1は、実施形態に係る、本出願で説明されている方法、装置及びシステムを実施することができる環境100の図である。
図1に示されているように、環境100はユーザデバイス110、プラットフォーム120及びネットワーク130を含んでもよい。環境100のデバイスを有線接続、無線接続や、有線接続と無線接続との組合せを介して接続してもよい。
【0012】
ユーザデバイス110は、プラットフォーム120に関連する情報の受信、生成、記憶、処理及び/又は提供を行なうことができる1つ以上のデバイスを含む。たとえば、ユーザデバイス110はコンピューティングデバイス(たとえば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話器(たとえば、スマートフォン、無線電話器など)、ウェアラブルデバイス(たとえば、スマートグラス又はスマートウォッチ)やこれらに類するデバイスを含んでもよい。いくつかの実現例では、ユーザデバイス110はプラットフォーム120から情報を受信しかつ/又はプラットフォーム120に情報を送信してもよい。
【0013】
プラットフォーム120は本明細書の他の記載で説明されているように1つ以上のデバイスを含む。いくつかの実現例では、プラットフォーム120はクラウドサーバを含んでも、クラウドサーバのグループを含んでもよい。いくつかの実現例では、その場合に必要なものに応じてソフトウェアコンポネントをスワップインしたりスワップアウトしたりすることができるようなモジュール式になるようにプラットフォーム120を設計することができる。したがって、プラットフォーム120を異なる用途向けに容易にかつ/又は迅速に再構成することができる。
【0014】
いくつかの実現例では、図示されているように、プラットフォーム120をクラウドコンピューティング環境122でホスティングによって提供してもよい。特に、本明細書で説明されている実現例では、プラットフォーム120がクラウドコンピューティング環境122でホスティングによって提供されるように説明されているが、いくつかの実現例では、プラットフォーム120はクラウドを用いるものではなくてもよい(すなわち、クラウドコンピューティング環境の外で実施されてもよい)し、部分的にクラウドを用いるものであってもよい。
【0015】
クラウドコンピューティング環境122は、プラットフォーム120をホスティングによって提供する環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホスティングによって提供する1つ以上のシステム及び/又は1つ以上のデバイスの物理的な位置及び設定についてのエンドユーザ(たとえばユーザデバイス110)情報を必要としない計算、ソフトウェア、データアクセス、記憶などのサービスを提供してもよい。図示の通り、クラウドコンピューティング環境122は計算リソース124の集まり(まとめて「計算リソース124」と称し、また、個別に「計算リソース124」と称する)を含んでもよい。
【0016】
計算リソース124は1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイスや他の種類の計算及び/又は通信デバイスを含む。いくつかの実現例では、計算リソース124がプラットフォーム120をホスティングによって提供してもよい。クラウドリソースが、計算リソース124において実行する計算インスタンス、計算リソース124で提供される記憶デバイス、計算リソース124によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実現例では、計算リソース124が有線接続、無線接続や、有線接続と無線接続との組合せを介して他の計算リソース124と通信してもよい。
【0017】
図1にさらに示されているように、計算リソース124は1つ以上のアプリケーション(APP)124-1、1つ以上の仮想マシン(VM)124-2、仮想ストレージ(VS)124-3、1つ以上のハイパーバイザ(HYP)124-4などのクラウドリソースのグループを含む。
【0018】
アプリケーション124-1は1つ以上のソフトウェアアプリケーションを含み、これをユーザデバイス110及び/又はプラットフォーム120に提供したり、これにユーザデバイス110及び/又はプラットフォーム120がアクセスしたりすることができる。アプリケーション124-1を用いることで、ソフトウェアアプリケーションをユーザデバイス110にインストールしてユーザデバイス110で実行する必要をなくすことができる。たとえば、アプリケーション124-1は、プラットフォーム120に関連するソフトウェア、及び/又はクラウドコンピューティング環境122を介して提供することができるその他一切のソフトウェアを含んでもよい。いくつかの実現例では、1つのアプリケーション124-1が1つ以上の他のアプリケーション124-1に仮想マシン124-2を介して情報を送信し、又は1つのアプリケーション124-1が1つ以上の他のアプリケーション124-1から仮想マシン124-2を介して情報を受信してもよい。
【0019】
仮想マシン124-2は物理的マシンのようなプログラムを実行するマシン(たとえばコンピュータ)のソフトウェア実現例を含む。仮想マシン124-2は、用途と、仮想マシン124-2が任意の実在のマシンに一致する度合いとに応じてシステム仮想マシンとプロセス仮想マシンとのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(OS)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンはプログラムを1つだけ実行することができ、プロセスを1つだけサポートすることができる。いくつかの実現例では、仮想マシン124-2がユーザ(たとえばユーザデバイス110)に代わって実行してもよく、データ管理、同期や長時間のデータ転送など、クラウドコンピューティング環境122のインフラストラクチャを管理してもよい。
【0020】
仮想ストレージ124-3は、1つ以上の記憶システム、及び/又は計算リソース124の記憶システム若しくはデバイス中で仮想化技術を用いる1つ以上のデバイスを含む。いくつかの実現例では、記憶システムに限っていえば、仮想化の類型にはブロック仮想化とファイル仮想化とが含まれるといえる。ブロック仮想化は、物理的ストレージであってもヘテロジニアス構造であっても記憶システムにアクセスすることができるような、物理的ストレージからの論理ストレージの抽出(又は分離)を指すといえる。分離により、記憶システムのアドミニストレータによるエンドユーザ向けのストレージの管理の仕方の自由度を高めることができる。ファイル仮想化により、データが所定のファイルレベルでアクセスされることと、ファイルが物理的に記憶されている位置との間の依存関係を解消させることができる。これにより、ストレージの使用の最適化、サーバ統合及び/又は非破壊的なファイルマイグレーションの実行を可能にすることができる。
【0021】
ハイパーバイザ124-4は、計算リソース124などのホストコンピュータで複数のオペレーティングシステム(たとえば「ゲストオペレーティングシステム」)が同時に実行することを可能にするハードウェア仮想化技術を提供することができる。ハイパーバイザ124-4はゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提供することができ、ゲストオペレーティングシステムの実行を管理することができる。様々なオペレーティングシステムの複数のインスタンスが、仮想化されたハードウェアリソースを共有することができる。
【0022】
ネットワーク130は1つ以上の有線ネットワーク及び/又は無線ネットワークを含む。たとえば、ネットワーク130はセルラネットワーク(たとえば、第五世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第三世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上移動体通信網(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話網(たとえば公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバを用いたネットワークなど、及び/又は上記のタイプ若しくは他のタイプのネットワークの組合せを含んでもよい。
【0023】
図1に示されているデバイス及びネットワークの個数及び配置は一例として示されている。実際には、
図1に示されているものと比較して、より多数のデバイス及び/若しくはネットワーク、より少数のデバイス及び/若しくはネットワーク、異なるデバイス及び/若しくはネットワーク又は異なる配置のデバイス及び/若しくはネットワークが存在してもよい。さらに、
図1に示されている2つ以上のデバイスが1つのデバイス中で実施されてもよいし、
図1に示されている1つのデバイスが複数の分散したデバイスとして実施されてもよい。上記に加えて又は上記の代わりに、環境100のデバイスの集合(たとえば1つ以上のデバイス)が、環境100のデバイスの別の集合によって実行されるように説明されている1つ以上の機能を実行してもよい。
【0024】
図2は、
図1の1つ以上のデバイスの要素の例のブロック図である。デバイス200はユーザデバイス110及び/又はプラットフォーム120に対応してもよい。
図2に示されているように、デバイス200はバス210、プロセッサ220、メモリ230、記憶要素240、入力要素250、出力要素260及び通信インタフェイス270を含んでもよい。
【0025】
バス210はデバイス200の要素間の通信を可能にする要素を含む。プロセッサ220はハードウェア、ファームウェア、又はハードとソフトとの組合せで実施される。プロセッサ220は中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、アクセラレーテッドプロセッシングユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)又は別のタイプのプロセッサである。いくつかの実現例では、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、並びに/又はプロセッサ220によって用いられる情報及び/若しくは指示を記憶する別のタイプの動的記憶デバイス若しくは静的記憶デバイス(たとえばフラッシュメモリ、磁気メモリ及び/若しくは光メモリ)を含む。
【0026】
記憶要素240はデバイス200の動作及び使用に関する情報及び/又はソフトウェアを記憶する。たとえば、記憶要素240は、ハードディスク(たとえば、磁気ディスク、光ディスク、光磁気ディスク及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ及び/又は別のタイプの非一時的コンピュータ可読媒体を対応するドライブとともに含んでもよい。
【0027】
入力要素250は、ユーザ入力(たとえば、タッチ画面ディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ及び/又はマイク)を介するなどしてデバイス200が情報を受け取ることを可能にする要素を含む。これに加えて又はこれの代わりに、入力要素250は情報を感知するセンサ(たとえば、グローバルポジショニングシステム(GPS)要素、加速度計、ジャイロスコープ及び/又はアクチュエータ)を含んでもよい。出力要素260は、デバイス200から出力情報を提供する要素(たとえば、ディスプレイ、スピーカ及び/又は1つ以上の発光ダイオード(LED))を含む。
【0028】
通信インタフェイス270は、有線接続、無線接続や、有線接続と無線接続との組合せを介するなどしてデバイス200が他のデバイスと通信するのを可能にするトランシーバのような要素(たとえば、トランシーバ及び/又は別体になっている受信器と送信器)を含む。通信インタフェイス270を用いることで、デバイス200が別のデバイスから情報を受信しかつ/又は別のデバイスに情報を提供することを可能にしてもよい。たとえば、通信インタフェイス270はEthernetインタフェイス、光インタフェイス、同軸インタフェイス、赤外線インタフェイス、高周波(RF)インタフェイス、ユニバーサルシリアルバス(USB)インタフェイス、Wi-Fiインタフェイス、セルラネットワークインタフェイスなどを含んでもよい。
【0029】
デバイス200は本明細書で説明されている1つ以上のプロセスを実行することができる。デバイス200は、メモリ230及び/又は記憶要素240などの非一時的コンピュータ可読媒体によって記憶されているソフトウェア指示をプロセッサ220が実行するのに応じて当該プロセスを実行してもよい。本出願ではコンピュータ可読媒体は非一時的なメモリデバイスと定義される。メモリデバイスは1つの物理的な記憶デバイス中の記憶空間、又は複数の物理的な記憶デバイスにわたる記憶空間を含む。
【0030】
ソフトウェア指示を別のコンピュータ可読媒体から読み出したり、通信インタフェイス270を介して別のデバイスから読み出したりしてメモリ230及び/又は記憶要素240に読み込んでもよい。実行時、メモリ230及び/又は記憶要素240に記憶されているソフトウェア指示を用いて本明細書で説明されている1つ以上のプロセスをプロセッサ220に実行させてもよい。これに加えて又はこれの代わりに、ソフトウェア指示の代わりにハードワイヤード回路を用いたり、ソフトウェア指示と組み合せてハードワイヤード回路を用いたりして、本明細書で説明されている1つ以上のプロセスを実行してもよい。したがって、本明細書で説明されている実現例はハードウェア回路とソフトウェアとのいかなる特定の組合せにも限定されない。
【0031】
図2に示されている要素の個数及び配置は一例として示されている。実際には、デバイス200は
図2に示されているものと比較して、より多数の要素、より少数の要素、異なる要素又は異なる配置の要素を含んでもよい。これに加えて又はこれの代わりに、デバイス200の要素の集合(たとえば1つ以上の要素)が、デバイス200の要素の別の集合によって実行されるように説明されている1つ以上の機能を実行してもよい。
【0032】
図3は実施形態に係る、動画符号化を実行するためのアーキテクチャ例300のブロック図である。実施形態では、アーキテクチャ300はマシン用ビデオコーディング(VCM)アーキテクチャであってもよいし、その他、VCM符号化と親和性があったりVCM符号化を実行するように構成されていたりするアーキテクチャであってもよい。たとえば、アーキテクチャ300は“Use cases and requirements for Video Coding for Machines”(ISO/IEC JTC 1/SC 29/WG 2 N18)、“Draft of Evaluation Framework for Video Coding for Machines”(ISO/IEC JTC 1/SC 29/WG 2 N19)及び“Call for Evidence for Video Coding for Machines”(ISO/IEC JTC 1/SC 29/WG 2 N20)と親和性があるものであってもよい。これらの開示内容の全体が参照により本明細書に援用される。
【0033】
実施形態では、
図3に図示されている要素の1つ以上が
図1~
図2に関して上記で説明されている要素の1つ以上に対応したりこれによって実施されたりしてもよく、たとえば、ユーザデバイス110、プラットフォーム120、デバイス200又はこれらに含まれる要素のいずれか、のうちの1つ以上に対応したりこれによって実施されたりしてもよい。
【0034】
図3から分かるように、アーキテクチャ300はVCMエンコーダ310とVCMデコーダ320とを含んでもよい。実施形態では、VCMエンコーダはセンサ入力301を受け取ってもよく、センサ入力301はたとえば1つ以上の入力画像又は入力動画を含んでもよい。センサ入力301を、センサ入力から特徴を抽出することができる特徴抽出モジュール311に提供してもよく、抽出された特徴を、特徴変換モジュール312を用いて変換し、特徴符号化モジュール313を用いて符号化してもよい。実施形態では、用語「符号化」は用語「圧縮」を含む場合があるし、用語「圧縮」に対応する場合があるし、用語「圧縮」の代わりに用いられる場合がある。アーキテクチャ300は、特徴抽出を行なうのを支援することができるニューラルネットワーク(NN)とインタフェイスを介して特徴抽出モジュール311が接続することを可能にすることができるインタフェイス302を含んでもよい。
【0035】
センサ入力301を動画符号化モジュール314に提供してもよく、動画符号化モジュール314は符号化された動画を生成してもよい。実施形態では、特徴の抽出、変換及び符号化の後、符号化された特徴を動画符号化モジュール314に提供してもよく、動画符号化モジュール314では符号化された動画を生成するのを支援するのに符号化された特徴を用いてもよい。実施形態では、動画符号化モジュール314が符号化された動画を符号化された動画ビットストリームとして出力してもよく、特徴符号化モジュール313が符号化された特徴を符号化された特徴ビットストリームとして出力してもよい。実施形態では、VCMエンコーダ310が符号化された動画ビットストリームと符号化された特徴ビットストリームとの双方をビットストリームマルチプレクサ315に提供してもよく、ビットストリームマルチプレクサ315は符号化された動画ビットストリームと符号化された特徴ビットストリームとを結合することによって、符号化されたビットストリームを生成してもよい。
【0036】
実施形態では、符号化されたビットストリームをビットストリームデマルチプレクサ(demux)が受信してもよく、ビットストリームデマルチプレクサは符号化されたビットストリームを符号化された動画ビットストリームと符号化された特徴ビットストリームとに分離してもよく、これらをVCMデコーダ320に提供してもよい。符号化された特徴ビットストリームを、復号された特徴を生成することができる特徴復号モジュール322に提供してもよく、また、符号化された動画ビットストリームを、復号された動画を生成することができる動画復号モジュールに提供してもよい。実施形態では、復号された特徴をさらに動画復号モジュール323に提供してもよく、動画復号モジュール323は復号された動画を生成するのを支援するのに復号された特徴を用いてもよい。
【0037】
実施形態では、動画復号モジュール323及び特徴復号モジュール322の出力を主にマシンによる使用に用いてもよく、たとえばマシン視認モジュール332に用いてもよい。実施形態では、出力を人による使用に用いることもでき、これについては人視認モジュール331として
図3に図示されている。VCMシステム、たとえばアーキテクチャ300は、クライアント側、たとえばVCMデコーダ320の側から見ると、動画復号を行なって最初にサンプルドメインの動画を取得してもよい。その後、動画コンテンツを理解する1つ以上のマシンタスクをたとえばマシン視認モジュール332によって実行してもよい。実施形態では、アーキテクチャ300は、1つ以上のマシンタスクを実行するのを支援することができるNNとインタフェイスを介してマシン視認モジュール332が接続することを可能にすることができるインタフェイス303を含んでもよい。
【0038】
図3から分かるように、動画符号化モジュール314と動画復号モジュール323とを含む動画符号化復号経路に加えて、アーキテクチャ300に含まれる別の経路が特徴抽出、特徴符号化、特徴復号経路であってもよく、この経路は特徴抽出モジュール311、特徴変換モジュール312、特徴符号化モジュール313及び特徴復号モジュール322を含む。
【0039】
実施形態はマシンによる視認、人による視認又は人/マシン複合視認のための復号された動画のエンハンスメント方法に関するものであってもよい。実施形態では、復号された各画像をたとえばVCMデコーダ320によって生成してもよいが、マシンによる視認又は人による視認のための各画像のエンハンスメントをエンハンスメントモジュールと、エンコーダ側から送られたメタデータとを用いて行なってもよい。実施形態では、これらの方法をいかなるVCMコーデックにも適用することができる。いくつかの実施形態が「画像/動画」などの広義の用語を用いたり「画像」や「動画」などのより特定された用語を用いたりして説明されている場合があるが、実施形態が適用されてもよいことが分かる。
【0040】
図4は実施形態に係る、動画符号化を実行するためのアーキテクチャ例400のブロック図である。
図4に示されているように、アーキテクチャ400はエンハンスメントモジュール402を含んでもよい。復号された画像/動画用のVCMデコーダ320の出力と、VCMエンコーダ310によって生成されたメタデータとをエンハンスメントモジュール402に供給してエンハンスメントがなされた画像及び/又はエンハンスメントがなされた動画を生成してもよく、これをマシン視認タスク又は人視認タスクに用いることができる。実施形態では、メタデータはエンハンスメントモジュール402のパラメータを含んでもよく、これをたとえばエンハンスメントパラメータと称する場合がある。実施形態では、エンハンスメントパラメータは、一例として、エンハンスメント処理、たとえば後述されている処理を実行するようにエンハンスメントモジュール402を設定するのに用いられるパラメータであってもよい。実施形態では、エンハンスメントモジュール402は画像/動画処理モジュールであってもよい。実施形態では、エンハンスメントモジュール402はニューラルネットワークを用いる処理モジュールであってもよい。視認タスクに応じて、復号された画像/動画又はエンハンスメントがなされた画像/動画を選択して人視認モジュール331とマシン視認モジュール332とに供給してもよい。
図4ではこの選択はスイッチ404を用いて図示されているが、実施形態はこれに限定されず、復号された画像/動画とエンハンスメントがなされた画像/動画とを選択的に提供する他の技術を用いてもよい。
【0041】
実施形態では、メタデータの伝送を適宜に行なってもよい。たとえば、復号された画像/動画がマシン視認モジュール332によって用いられる場合、デコーダ側はメタデータを用いないのでメタデータを送らないようにVCMエンコーダ310に通知することができる。
【0042】
実施形態では、エンハンスメントパラメータを固定してもよく、したがって、メタデータを送らずに済む。
【0043】
実施形態では、VCMエンコーダ310とVCMデコーダ320とをマシンタスク、たとえば、マシン視認モジュール332に対応するタスク向けに最適化してもよい。実施形態では、復号された画像/動画を人視認タスク、たとえば、人視認モジュール331に対応するタスク向けに改良するようにエンハンスメントモジュール402を設計してもよい。実施形態では、復号された画像/動画をマシン視認タスク向けにさらに改良するようにエンハンスメントモジュール402を設計してもよい。実施形態では、復号された画像/動画を複合マシン/人視認タスク、たとえば、マシン視認モジュール332と人視認モジュール331との双方に対応するタスク向けに改良するようにエンハンスメントモジュール402を設計してもよい。異なるタスクに対してエンハンスメントパラメータが異なることが可能である。
【0044】
実施形態では、エンハンスメントモジュール402がニューラルネットワークであったりニューラルネットワークを含んだりしてもよく、マシン視認タスク、人視認タスク又は複合マシン/人視認タスクのパフォーマンスが高くなるようにVCMエンコーダ310がニューラルネットワークのパラメータを最適化してもよい。実施形態では、レート歪み最適化手法を用いることができる。実施形態では、ニューラルネットワークのパラメータをVCMエンコーダ310によって提供されるエンハンスメントパラメータ、たとえばメタデータに基づいて最適化してもよい。実施形態では、ニューラルネットワークのパラメータをエンハンスメントパラメータに直接含めてもよい。実施形態では、エンハンスメントパラメータによってニューラルネットワークパラメータに対する修正を指定してもよいし、ニューラルネットワークパラメータが導出されることを可能にする情報をエンハンスメントパラメータが含んでもよい。
【0045】
図5は実施形態に係る、動画符号化を実行するためのアーキテクチャ例500のブロック図である。
図5に示されているように、アーキテクチャ500はエンハンスメントモジュール402を含んでもよく、画像エンハンスメント及び/又は動画エンハンスメントをレート歪み最適化手法を用いて行なうようにアーキテクチャ500を構成してもよい。
【0046】
実施形態では、レート歪み最適化プロセスをエンコーダ側で実行してもよく、たとえば、VCMエンコーダ310によって実行してもよいし、VCMエンコーダ310に関連する他の要素によって実行してもよい。実施形態では、入力画像とこれに対応するエンハンスメントがなされた画像との間の歪みメトリックDを計算してもよく、エンハンスメントパラメータのパラメータサイズRを決定してもよい。全体の損失関数Llossを以下の式1を用いて表わしてもよい。
Lloss=R+λD (式1)
【0047】
式1では、λを用いてトレードオフ(歪みDとレートR)を設定することができる。
図5は画像に関するものであるように図示されているが、たとえば、歪みメトリックを計算するときに動画を一連の画像として扱うことによって実施形態を動画にも適用してもよいことが分かる。
【0048】
実施形態では、VCMエンコーダ310がエンハンスメントパラメータを勾配降下法又はその変形例を用いて最適化してもよい。実施形態では、最適化されたエンハンスメントパラメータを画像毎に取得してもよく、また、最適化されたエンハンスメントパラメータはデコーダ側に送られるメタデータであってもよいし、最適化されたエンハンスメントパラメータをデコーダ側に送られるメタデータに含ませてもよい。実施形態では、エンハンスメントパラメータが画像のグループ(たとえばgroup of pictures(GOP))などの複数の画像に対して一定であってもよい。たとえば、歪みメトリックをGOPや画像のグループの平均歪みとして設定してもよい。メタデータ、たとえばエンハンスメントパラメータをGOP中で共有してもよい。したがって、メタデータサイズを縮小することができる。
【0049】
人による視認の場合、歪みメトリックが平均二乗誤差(MSE)、1-ssim又は1-ms_ssimの1つ以上を含んでもよい。ssimは入力画像とエンハンスメントがなされた画像との間の構造類似性メトリック(SSIM)を表記するものであり、ms_ssimは入力画像とエンハンスメントがなされた画像との間のマルチスケール構造類似性メトリック(MS-SSIM)を表記するものである。
【0050】
マシンによる視認の場合、ssim又はms_ssimが、マシン視認タスクのパフォーマンスが高いことと強く相関する場合があるので、この場合も1-ssim又は1-ms_ssimを用いてもよい。
【0051】
図6は実施形態に係る、誤差決定モジュール600のブロック図である。実施形態では、誤差決定モジュール600を、エンハンスメントがなされた画像と入力画像との間の特徴空間でのMSEを決定するのに用いてもよい。実施形態では、特徴空間でのMSEをマシンによる視認の歪みメトリックとして用いることができる。
図6に示されているように、誤差決定モジュールは、入力画像から特徴を抽出するのに用いることができる特徴抽出ニューラルネットワーク602と、エンハンスメントがなされた画像から特徴を抽出するのに用いることができる特徴抽出ニューラルネットワーク604とを含んでもよい。実施形態では、特徴抽出ニューラルネットワーク602及び特徴抽出ニューラルネットワーク604の1つ以上が、VCMエンコーダ310に含まれる1つ以上の要素、たとえば特徴抽出モジュール311に対応してもよい。実施形態では、MSEをMSEモジュール606によってたとえば以下の式2にしたがって計算してもよい。
【数1】
【0052】
上記の式2では、f(c,h,w)は入力画像の特徴を表わし、
【数2】
はエンハンスメントがなされた画像の特徴を表わし、cはチャンネルインデックスを表わし、(h,w)は行及び列における与えられた特徴の位置を表わし、Cは特徴マップのチャンネル数を表わし、Wは特徴マップの行数を表わし、Hは特徴マップの列数を表わす。
【0053】
図6では、特徴抽出ニューラルネットワーク602及び604は単純なものであってもよく、たとえば、マシンタスクネットワークの最初の数層であってもよい。実施形態では、マシン解析ネットワークがエンコーダ側で既知である場合、与えられたマシン解析ネットワークの最初の数層を特徴抽出ニューラルネットワーク602及び604の少なくとも1つとして用いることが有効である場合がある。実施形態では、マシン解析ネットワークがエンコーダ側で未知である場合、Faster R-CNN又はMask R-CNN、VGG-16などの一般的に用いられているマシン解析ネットワークの最初の数層を特徴抽出ニューラルネットワーク602及び604の少なくとも1つとして用いてもよい。
【0054】
実施形態では、エンハンスメントモジュール402のパラメータを表わすメタデータを送る複数の仕方が存在してもよい。
図7A~
図7Dは実施形態に係る、エンハンスメントパラメータを表わすメタデータを含むビットストリームの例を示す図である。
【0055】
実施形態では、特定の画像のメタデータが、特定の画像に対応する符号化された画像データを含むビットストリームに含まれてもよい。たとえば、画像1から画像kの画像データを含むビットストリームが、対応するメタデータ、たとえば、メタデータ1からメタデータkの少なくとも1つを含むこともなされてもよい。
【0056】
実施形態では、
図7Aに示されているように、ビットストリーム中で、画像1に対応するビットストリームの一部が画像1のメタデータに対応するビットストリームの一部に付されたり隣接したりその他関連づけられたりしてもよく、画像2から画像kについても同様になっていてもよい。
【0057】
実施形態では、メタデータを選択的に含ませることができる。一例として、たとえば
図7Bに示されているように、特定の画像についてメタデータが付されるか否かを示すのにフラグFを用いてもよい。実施形態では、与えられた画像にメタデータが付されない場合、エンハンスメントパラメータを変更しなくてもよい。与えられた画像にメタデータが付される場合、エンハンスメントパラメータをメタデータ中の情報に応じて変更してもよい。このような構成の一例が
図7Bに示されている。
図7Bから分かるように、各画像が、ビットストリームが画像のエンハンスメントパラメータなどのメタデータを含むか否かを示す対応するフラグFを有してもよい。
【0058】
実施形態では、フラグFが0又は1の値を有するのでフラグFを1ビットで表わすことができ、このため、フラグFによってもたらされるオーバーヘッドを小さくすることができる。オーバーヘッドをさらに削減するために、フラグFのエントロピー符号化を、コンテキストモデルを用いて行なったりコンテキストモデルを用いずに行なったりしてもよい。実施形態では、フラグFを1バイトで表わしてもよいし、デコーダで既知のパラメータのどの集合を用いるべきであるのかを示す複数のビットを用いて表わしてもよい。このことは、デコーダ、たとえば、VCMデコーダ320やエンハンスメントモジュール402がエンハンスメントパラメータの集合を1つ以上記憶したり受け取ったりしていた場合に(be)有用である場合がある。
【0059】
実施形態では、GOPがメタデータの集合を1つ含み、GOPサイズを自由に選択することができる場合、メタデータを選択的に付すことを利用してメタデータを搬送してもよい。実施形態では、GOPサイズを一定にする場合、たとえば、すべてのGOPがK個の画像を含む場合、フラグFを用いずにすべてのK番目の画像の先頭又は末尾にメタデータを付してもよい。
【0060】
図7A及び
図7Bに示されているように、メタデータとフラグFとを対応する画像のビットストリームの後に付したり含ませたりしてもよいが、実施形態はこれに限定されない。たとえば、別の実施形態では、フラグFを対応するビットストリームの前に配置してもよいし、フラグFと関連するメタデータとの双方を対応するビットストリームの前に配置してもよい。
【0061】
実施形態では、メタデータは、符号化された画像/動画の主要なビットストリームとは別に(be)送られてもよく、たとえば、別のビットストリームで(be)送られてもよい。たとえば、
図7Cは、画像1から画像kの各々のメタデータ メタデータビットストリームの例を示し、
図7Dは、特定の画像に対してメタデータが存在するか否かを示すのに用いられるフラグFのメタデータビットストリームの例を示す。
【0062】
上記で説明されているように、実施形態に係れば、エンハンスメントモジュール402がニューラルネットワークであってもよい。実施の複雑さとパフォーマンスの要件とに応じて、エンハンスメントモジュール402が単純なものであってもよいし複雑なものであってもよい。
【0063】
図8は比較的単純であるといえるエンハンスメントモジュール例402の図を示す。たとえば、
図8に示されているように、エンハンスメントモジュール402はカーネルサイズが3×3でありストライドが1である単純な畳み込み層を含んでもよい。
【0064】
図8に示されているエンハンスメントモジュール402にはカラー画像を用いてもよく、したがって、復号された画像のサイズとエンハンスメント画像のサイズとの双方が3×W×Hである。3は3つの色チャンネルを示し、たとえば、RGB、YCrCbや他のカラーフォーマットの3つの色チャンネルを示す。
図8に示されているエンハンスメントモジュール402に3つのフィルタを用いてもよく、各フィルタは3×3×3個の重み値と1つのバイアス値とを含んでもよい。したがって、合計84個(たとえば、3×3×3×3+3=84)のパラメータを用いてもよい。
【0065】
実施形態では、VCMエンコーダ310によって生成されるビットストリームのビットレートが高い場合、エンハンスメントパラメータのパラメータサイズが、レートが低い場合と比較して大きい場合がある。たとえば、たとえば
図8に示されているようにレートが低い場合に畳み込みカーネルが3×3であるのに対して、ビットレートが高い場合に畳み込みカーネルが5×5や7×7であってもよい。
【0066】
通常、ニューラルネットワークパラメータを32ビットの浮動小数点数として示すことができる。実施形態では、エンハンスメントパラメータを16ビットの浮動小数点数などの小さいビット深度の正確度で表わしてメタデータサイズを縮小することができる。実施形態では、k番目の画像のエンハンスメントパラメータを
【数3】
(k=1,2,…)の通りのように表記してもよい。Nはエンハンスメントパラメータの総数を示す。
【0067】
実施形態では、N個の数値をメタデータとして送信してもよいし、k番目の画像のエンハンスメントパラメータと、たとえば
【数4】
のような一定であるモジュールパラメータの集合との差をメタデータとして送信してもよい。たとえば、以下の式3にしたがって決定された数値の集合をメタデータとして送信してもよい。
【数5】
【0068】
実施形態では、新たなエンハンスメントパラメータと既知のパラメータの集合1つとの差をメタデータとして送信してもよい。たとえば、k番目の画像とそれに先行する画像のパラメータとの差を以下の式4にしたがって決定し、これをメタデータとして送信してもよい。
【数6】
【0069】
上記の式3及び式4は、メタデータが画像毎に送られる実施形態に対応するといえるが、実施形態はこれに限定されない。たとえば、メタデータを選択して画像に付す場合の例や、メタデータがGOP中で共有される場合の例に同様の方法を適用することができる。
【0070】
図9に示されているように、プロセス900が、符号化されたビットストリームから符号化された画像を取得するブロック(ブロック902)を含んでもよい。
【0071】
図9にさらに示されているように、プロセス900は符号化された画像に対応するエンハンスメントパラメータを取得するブロック(ブロック904)を含んでもよい。実施形態では、エンハンスメントパラメータは上記で説明されているエンハンスメントパラメータに対応してもよい。実施形態では、エンハンスメントパラメータを人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの少なくとも1つ向けに最適化してもよい。
【0072】
図9にさらに示されているように、プロセス900は符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成するブロック(ブロック906)を含んでもよい。実施形態では、VCM復号モジュールは上記で説明されているVCMデコーダ320に対応してもよい。
【0073】
図9にさらに示されているように、プロセス900は復号された画像とエンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成するブロック(ブロック908)を含んでもよい。実施形態では、エンハンスメントモジュールは上記で説明されているエンハンスメントモジュール402に対応してもよい。
【0074】
図9にさらに示されているように、プロセス900はVCMタスク、たとえば、人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に復号された画像とエンハンスメントがなされた画像との少なくとも一方を提供するブロック(ブロック910)を含んでもよい。実施形態では、人視認モジュールは上記で説明されている人視認モジュール331に対応してもよく、マシン視認モジュールは上記で説明されているマシン視認モジュール332に対応してもよい。
【0075】
実施形態では、エンハンスメントモジュールがニューラルネットワークを含んでもよく、エンハンスメントパラメータがニューラルネットワークに対応するニューラルネットワークパラメータを含んでもよい。
【0076】
実施形態では、エンハンスメントがなされた画像はレート歪み最適化を用いた生成物であってもよく、ニューラルネットワークパラメータを歪みメトリックとパラメータサイズとに基づいて選択してもよい。
【0077】
実施形態では、歪みメトリックはエンハンスメントがなされた画像及び入力画像に関連する平均二乗誤差、構造類似性メトリック及びマルチスケール構造類似性メトリックのうちの少なくとも1を含んでもよい。
【0078】
実施形態では、平均二乗誤差を、上記で説明されている式2を用いて計算してもよい。
【0079】
実施形態では、復号された画像を符号化されたビットストリームに対応するgroup of pictures(GOP)に含ませてもよく、GOPに含まれるすべての画像がエンハンスメントパラメータを共有する。
【0080】
実施形態では、エンハンスメントパラメータを符号化されたビットストリームに含ませてもよい。
【0081】
実施形態では、符号化されたビットストリームが符号化された画像に対応するフラグを含んでもよく、フラグは、符号化された画像に対応するエンハンスメントパラメータが符号化されたビットストリームに含まれるか否かを示してもよい。
【0082】
実施形態では、エンハンスメントパラメータを、符号化されたビットストリームとは別のメタデータビットストリームに含ませてもよい。
【0083】
実施形態では、メタデータビットストリームが符号化された画像に対応するフラグを含んでもよく、フラグは、符号化された画像に対応するエンハンスメントパラメータがメタデータビットストリームに含まれるか否かを示してもよい。
【0084】
図9はプロセス900のブロック例を示しているが、いくつかの実現例では、プロセス900は
図9に示されているものと比較して、追加のブロックを含んでもよいし、より少数のブロックを含んでもよいし、異なるブロックを含んでもよいし、異なる配置のブロックを含んでもよい。これに加えて又はこれの代わりに、プロセス900のブロックの2つ以上を並列に実行してもよい。
【0085】
さらに、提案されている方法を処理回路(たとえば、1つ以上のプロセッサや1つ以上の集積回路)によって実施してもよい。一例では、非一時的コンピュータ可読媒体に記憶されているプログラムを1つ以上のプロセッサによって実行して提案されている方法の1つ以上を実行する。
【0086】
コンピュータ可読指示を用い、1つ以上のコンピュータ可読媒体に物理的に記憶されるコンピュータソフトウェアとして上記で説明されている技術を実施することができる。
【0087】
本開示の実施形態を個別に用いてもよいし、任意の順序で組み合せてもよい。さらに、実施形態(及びその方法)の各々を処理回路(たとえば、1つ以上のプロセッサや1つ以上の集積回路)によって実施してもよい。一例では、非一時的コンピュータ可読媒体に記憶されているプログラムを1つ以上のプロセッサが実行する。
【0088】
上記の開示にて例示と説明とを行なっているが、上記の開示は、制限列挙であったり、実施を、開示されている形態に厳密に一致するものに限定したりすることを意図していない。上記の開示に照らし合せれば、修正と変形とが可能であるし、修正と変形とを実現例の実施から得ることができる。
【0089】
本出願で用いられる用語要素は、ハードウェア、ファームウェア、又はハードとソフトとの組合せとして広義に解釈されることを意図している。
【0090】
特徴の組合せが請求項に記載されかつ/又は本明細書に開示されている場合であっても、当該組合せは可能な実現例の開示内容を限定することを意図していない。実際には、これらの特徴の多くを、請求項に明確には記載されておらずかつ/又は明細書で明確には開示されていない仕方で組み合せることができる。以下に列挙されている各従属請求項は1つの請求項のみに直接従属することができるが、各従属請求項を請求項の集合中の他の任意の請求項と組み合せたものが、可能な実現例の開示に含まれる。
【0091】
本出願で用いられている要素、動作又は指示は、核心的であったり必須であったりするものとしては当然解釈されない。ただし、そのように明記されている場合を除く。また、本出願で用いられている冠詞“a”及び“an”は1つ以上の事物を含むことを意図しており、「1つ以上」の意味でも用いることができる。さらに、本出願で用いられている「集合」は、1つ以上の事物(たとえば、関連する事物、関連しない事物、関連する事物と関連しない事物との組合せなど)を含むことを意図しており、「1つ以上」の意味でも用いることができる。事物1つのみを意図している記載箇所では、用語「1つ」又は同様の記載表現が用いられる。また、本出願で用いられている用語“has”、“have”、“having”などは、オープンエンド用語であることを意図している。さらに、語句「に基づいて」は、別段明記しない限り、「に少なくとも部分的に基づいて」を意味することを意図している。
【符号の説明】
【0092】
100 環境
110 ユーザデバイス
120 プラットフォーム
122 クラウドコンピューティング環境
124-1 アプリケーション
124-4 ハイパーバイザ
124-3 仮想ストレージ
124-2 仮想マシン
124 計算リソース
130 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 記憶要素
250 入力要素
260 出力要素
270 通信インタフェイス
300 アーキテクチャ
301 センサ入力
302 NNに対するインタフェイス
303 NNに対するインタフェイス
310 VCMエンコーダ
311 特徴抽出モジュール
312 特徴変換モジュール
313 特徴符号化モジュール
314 動画符号化モジュール
315 ビットストリームマルチプレクサ
320 VCMデコーダ
322 特徴復号モジュール
323 動画復号モジュール
331 人視認モジュール
332 マシン視認モジュール
400 アーキテクチャ
402 エンハンスメントモジュール
404 スイッチ
500 アーキテクチャ
600 誤差決定モジュール
602 特徴抽出ニューラルネットワーク
604 特徴抽出ニューラルネットワーク
606 MSEモジュール
900 プロセス
【手続補正書】
【提出日】2023-10-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
マシン用ビデオコーディング(VCM)画像エンハンスメントを実行する方法であって、前記方法は少なくとも1つのプロセッサによって実行され、
符号化されたビットストリームから符号化された画像を取得するステップと、
前記符号化された画像に対応するエンハンスメントパラメータを取得するステップと、
前記符号化された画像をVCM復号モジュールを用いて復号して復号された画像を生成するステップと、
前記復号された画像と前記エンハンスメントパラメータとに基づいてエンハンスメントモジュールを用いてエンハンスメントがなされた画像を生成するステップであって、前記エンハンスメントパラメータは人視認VCMタスク、マシン視認VCMタスク及び人マシン複合視認VCMタスクの1つ向けに最適化される、ステップと、
前記人視認VCMタスク、前記マシン視認VCMタスク及び前記人マシン複合視認VCMタスクの前記1つを実行する人視認モジュールとマシン視認モジュールとの少なくとも一方に前記復号された画像と前記エンハンスメントがなされた画像との少なくとも一方を提供するステップとを含む、方法。
【請求項2】
前記エンハンスメントモジュールはニューラルネットワークを備え、
前記エンハンスメントパラメータは前記ニューラルネットワークに対応するニューラルネットワークパラメータを備える、請求項1に記載の方法。
【請求項3】
前記エンハンスメントがなされた画像はレート歪み最適化を用いた生成物であり、
前記ニューラルネットワークパラメータは歪みメトリックとパラメータサイズとに基づいて選択される、請求項2に記載の方法。
【請求項4】
前記歪みメトリックは前記エンハンスメントがなされた画像及び入力画像に関連する平均二乗誤差、構造類似性メトリック及びマルチスケール構造類似性メトリックのうちの少なくとも1を備える、請求項3に記載の方法。
【請求項5】
前記平均二乗誤差は式
【数1】
を用いて計算され、
MSEは前記平均二乗誤差を表わし、f(c,h,w)は前記入力画像の特徴を表わし、
【数2】
は前記エンハンスメントがなされた画像の特徴を表わし、Cは特徴マップのチャンネル数を表わし、Hは前記特徴マップの行数を表わし、Wは前記特徴マップの列数を表わし、cはチャンネルインデックスを表わし、hは行を表わし、wは列位置を表わす、請求項4に記載の方法。
【請求項6】
前記復号された画像は前記符号化されたビットストリームに対応するgroup of pictures(GOP)に含まれ、
前記GOPに含まれるすべての画像が前記エンハンスメントパラメータを共有する、請求項1に記載の方法。
【請求項7】
前記エンハンスメントパラメータは前記符号化されたビットストリームに含まれる、請求項1に記載の方法。
【請求項8】
前記符号化されたビットストリームは前記符号化された画像に対応するフラグを備え、
前記フラグは、前記符号化された画像に対応する前記エンハンスメントパラメータが前記符号化されたビットストリームに含まれるか否かを示す、請求項7に記載の方法。
【請求項9】
前記エンハンスメントパラメータは前記符号化されたビットストリームとは別のメタデータビットストリームに含まれる、請求項1に記載の方法。
【請求項10】
前記メタデータビットストリームは前記符号化された画像に対応するフラグを備え、
前記フラグは、前記符号化された画像に対応する前記エンハンスメントパラメータが前記メタデータビットストリームに含まれるか否かを示す、請求項9に記載の方法。
【請求項11】
請求項1~10のいずれか一項に記載の方法を行うように構成されたデバイス。
【請求項12】
1つ以上のプロセッサに、請求項1~10のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】