IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7405989マシン向け映像符号化における方法及び装置
<>
  • 特許-マシン向け映像符号化における方法及び装置 図1
  • 特許-マシン向け映像符号化における方法及び装置 図2
  • 特許-マシン向け映像符号化における方法及び装置 図3
  • 特許-マシン向け映像符号化における方法及び装置 図4
  • 特許-マシン向け映像符号化における方法及び装置 図5
  • 特許-マシン向け映像符号化における方法及び装置 図6
  • 特許-マシン向け映像符号化における方法及び装置 図7
  • 特許-マシン向け映像符号化における方法及び装置 図8
  • 特許-マシン向け映像符号化における方法及び装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】マシン向け映像符号化における方法及び装置
(51)【国際特許分類】
   H04N 19/126 20140101AFI20231219BHJP
   H04N 19/147 20140101ALI20231219BHJP
   H04N 19/174 20140101ALI20231219BHJP
   H04N 19/189 20140101ALI20231219BHJP
【FI】
H04N19/126
H04N19/147
H04N19/174
H04N19/189
【請求項の数】 11
(21)【出願番号】P 2022537181
(86)(22)【出願日】2021-07-01
(65)【公表番号】
(43)【公表日】2023-02-28
(86)【国際出願番号】 US2021040058
(87)【国際公開番号】W WO2022076051
(87)【国際公開日】2022-04-14
【審査請求日】2022-06-16
(31)【優先権主張番号】63/089,858
(32)【優先日】2020-10-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/090,555
(32)【優先日】2020-10-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/360,838
(32)【優先日】2021-06-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャン・リュウ
(72)【発明者】
【氏名】ウェン・ガオ
(72)【発明者】
【氏名】シャオジョン・シュ
【審査官】田部井 和彦
(56)【参考文献】
【文献】特表2020-508605(JP,A)
【文献】米国特許出願公開第2019/0295242(US,A1)
【文献】米国特許出願公開第2019/0379895(US,A1)
【文献】Kristian Fischer, et.al.,On Intra Video Coding And In-Loop Filtering For Neural Object Detection Networks [online],Published in: 2020 IEEE International Conference on Image Processing (ICIP),2020年09月30日,pp.1147-1151,インターネット <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9191023>,DOI: 10.1109/ICIP40778.2020.9191023
【文献】Wen-Liang Hwang et al.,Multi-Objective Optimization and Characterization of Pareto Points for Scalable Coding [online],Published in: IEEE Transactions on Circuits and Systems for Video Technology (Volume: 29, Issue: 7, July 2019),2018年07月02日,pp.2096-2111,インターネット <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8401533>
【文献】Jacob Strom et al.,Summary information on BD-rate experiment evaluation practices [online],JVET-Q2016-v4,インターネット <URL: https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q2016-v4.zip>,2020年02月14日
【文献】Lingyu Duan et al.,Video Coding for Machines: A Paradigm of Collaborative Compression and Intelligent Analytics [online],Published in: IEEE Transactions on Image Processing (Volume: 29),2020年08月28日,pp.8680-8695,インターネット <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9180095>,DOI: 10.1109/TIP.2020.3016485
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/126
H04N 19/147
H04N 19/174
H04N 19/189
(57)【特許請求の範囲】
【請求項1】
マシン向け映像符号化(VCM)の第1の符号化方式についての第1のピクチャ品質対符号化効率特性を処理回路によって決定するステップと、
VCMの第2の符号化方式についての第2のピクチャ品質対符号化効率特性を前記処理回路によって決定するステップと、
前記第1のピクチャ品質対符号化効率特性と前記第2のピクチャ品質対符号化効率特性とに基づいて前記第1の符号化方式と前記第2の符号化方式との比較のためのビヨンテガールド・デルタ(BD)計量を前記処理回路によって決定するステップと
を備え、
前記第1のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の前記第1の符号化方式についての第1の複数のピクチャ品質対符号化効率曲線を含み、前記第2のピクチャ品質対符号化効率特性は前記ピクチャ品質および符号化効率についての前記二次元平面内の前記第2の符号化方式についての第2の複数のピクチャ品質対符号化効率曲線を含み、前記第2の複数のピクチャ品質対符号化効率曲線は前記第1の複数のピクチャ品質対符号化効率曲線にそれぞれ対応し
前記第1の複数のピクチャ品質対符号化効率曲線及び前記対応する第2の複数のピクチャ品質対符号化効率曲線にそれぞれ基づいてBD計量値を計算するステップと、
前記第1の符号化方式と前記第2の符号化方式との前記比較のための全体BD計量として前記BD計量値の加重合計を計算するステップと
をさらに備える
映像符号化のための方法。
【請求項2】
平均適合率の平均(mAP)、画素当たりビット数(BPP)、複数物体追跡精度(MOTA)、50%である和集合に対する共通部分の閾値における平均適合率(AP50)、75%である和集合に対する共通部分の閾値における平均適合率(AP75)及び平均正解率のうちの少なくとも1つの前記BD計量を計算するステップ
をさらに備える、請求項1に記載の方法。
【請求項3】
前記第1のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の第1の曲線を含み、前記第2のピクチャ品質対符号化効率特性は前記ピクチャ品質および符号化効率についての前記二次元平面内の第2の曲線を含む、請求項1または2に記載の方法。
【請求項4】
前記第1の曲線と前記第2の曲線の間の平均間隔として前記BD計量を計算するステップ
をさらに備える、請求項3に記載の方法。
【請求項5】
前記第1のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の前記第1の符号化方式についての第1の複数のピクチャ品質対符号化効率曲線を含み、前記第2のピクチャ品質対符号化効率特性は前記ピクチャ品質および符号化効率についての前記二次元平面内の前記第2の符号化方式についての第2の複数のピクチャ品質対符号化効率曲線を含み、前記方法は、
前記第1の符号化方式についての前記第1の複数のピクチャ品質対符号化効率曲線の第1のパレートフロント曲線を計算するステップと、
前記第2の符号化方式についての前記第2の複数のピクチャ品質対符号化効率曲線の第2のパレートフロント曲線を計算するステップと、
前記第1のパレートフロント曲線と前記第2のパレートフロント曲線とに基づいて前記BD計量を計算するステップと
をさらに備える、請求項1または2に記載の方法。
【請求項6】
前記第1の符号化方式及び前記第2の符号化方式はマシンビジョンとヒューマンビジョンとの両方向けの映像符号化に用いられ、前記方法は、
マシンビジョンについての画素当たりビット数(BPP)の第1のBDレートを計算するステップと、
ヒューマンビジョンについての第2のBDレートを計算するステップと、
前記第1の符号化方式と前記第2の符号化方式との前記比較のための全体BD計量として前記第1のBDレートと前記第2のBDレートとの加重合計を計算するステップと
を備える、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記第1の符号化方式及び前記第2の符号化方式はマシンビジョンとヒューマンビジョンとの両方向けの映像符号化に用いられ、前記方法は、
前記第1の符号化方式による前記マシンビジョンと前記ヒューマンビジョンとについての歪みの加重合計に基づいて第1の全体歪みを計算するステップと、
前記第1の全体歪みと、前記第1の符号化方式の第1のレート情報とに基づいて第1のコスト計量値を計算するステップと、
前記第2の符号化方式による前記マシンビジョンと前記ヒューマンビジョンとの歪みの加重合計に基づいて第2の全体歪みを計算するステップと、
前記第2の全体歪みと、前記第2の符号化方式の第2のレート情報とに基づいて第2のコスト計量値を計算するステップと、
前記第1のコスト計量値と前記第2のコスト計量値とに基づいて前記第1の符号化方式と前記第2の符号化方式とを比較するステップと
を備える、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記第1の符号化方式及び前記第2の符号化方式はマシンビジョンとヒューマンビジョンとの両方向けの映像符号化に用いられ、前記方法は、
前記第1の符号化方式による前記マシンビジョンと前記ヒューマンビジョンとについての歪みの加重合計に基づいて前記第1のピクチャ品質対符号化効率特性を決定するステップと、
前記第2の符号化方式による前記マシンビジョンと前記ヒューマンビジョンとについての歪みの加重合計に基づいて前記第2のピクチャ品質対符号化効率特性を決定するステップと
を備える、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記第1の符号化方式及び前記第2の符号化方式は複数のビジョンタスク向けの映像符号化に用いられ、前記方法は、
前記第1の符号化方式による前記複数のビジョンタスクについての歪みの加重合計に基づいて前記第1のピクチャ品質対符号化効率特性を決定するステップと、
前記第2の符号化方式による前記複数のビジョンタスクについての歪みの加重合計に基づいて前記第2のピクチャ品質対符号化効率特性を決定するステップと
を備える、請求項1から7のいずれか一項に記載の方法。
【請求項10】
請求項1から9のいずれか一項に記載の方法を実行するように構成された装置。
【請求項11】
コンピュータに請求項1から9のいずれか一項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による援用
本出願は、2020年10月12日に出願された米国仮出願第63/090,555号「WEIGHTED PERFORMANCE METRIC FOR VIDEO CODING FOR MACHINE」および2020年10月9日に出願された米国仮出願第63/089,858号「PERFORMANCE METRIC FOR VIDEO CODING FOR MACHINE」の優先権の利益を主張する2021年6月28日に出願された米国特許出願第17/360,838号「METHOD AND APPARATUS IN VIDEO CODING FOR MACHINES」の優先権の利益を主張する。先の出願の開示全体が全体として参照によりここに援用される。
【0002】
本開示は、概してマシン向け映像符号化に関する実施形態を説明する。
【背景技術】
【0003】
本明細書で説明されている背景の説明は本開示の背景を概略的に示すためのものである。この背景の記載箇所で説明されている範囲の、現時点で記名されている発明者の成果、及び、これ以外の、出願時点での先行技術としての条件を満たさないといえる説明の態様は、本開示に対する先行技術としては明示的にも暗示的にも認められない。
【0004】
従来から映像や画像は娯楽、教育などの様々な用途に人間によって用いられている。このため、映像符号化や画像符号化では、高い主観的品質を維持しつつ圧縮効率を高くするのに人間の視覚系の特徴を利用することが多い。
【0005】
近年、機械学習の適用の増加にともない、多くのプラットホームでは多数のセンサに加えて、物体検出、セグメンテーションや追跡などのマシンビジョンのタスクに用いる映像を利用している。マシンのタスクに用いられる映像符号化や画像符号化は興味をそそる、やりがいのある分野になる。
【発明の概要】
【課題を解決するための手段】
【0006】
本開示の態様ではマシン向け映像符号化に用いる方法及び装置を提供する。いくつかの例では、マシン向け映像符号化装置は処理回路を含む。処理回路はマシン向け映像符号化(VCM)の第1の符号化方式についての第1のピクチャ品質対符号化効率特性と、VCMの第2の符号化方式についての第2のピクチャ品質対符号化効率特性とを決定する。その後、処理回路は第1のピクチャ品質対符号化効率特性と第2のピクチャ品質対符号化効率特性とに基づいて第1の符号化方式と第2の符号化方式との比較のためのビヨンテガールド・デルタ(Bjontegaard delta, BD)計量を決定する。
【0007】
いくつかの実施形態では、処理回路は、平均適合率の平均(mean average precision, mAP)、画素当たりビット数(BPP)、複数物体追跡精度(multiple object tracking accuracy, MOTA)、50%である和集合に対する共通部分の閾値における平均適合率(AP50)、75%である和集合に対する共通部分の閾値における平均適合率(AP75)及び平均正解率のうちの少なくとも1つのBD計量を計算する。
【0008】
いくつかの例では、第1のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の第1の曲線を含み、第2のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の第2の曲線を含む。一例では、処理回路は第1の曲線と第2の曲線の間の平均間隔としてBD計量を計算する。
【0009】
いくつかの例では、第1のピクチャ品質対符号化効率特性は第1の軸におけるピクチャ品質および第2の軸における符号化効率についての二次元平面内の第1の符号化方式についての第1の複数のピクチャ品質対符号化効率曲線を含み、第2のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の第2の符号化方式についての第2の複数のピクチャ品質対符号化効率曲線を含む。処理回路は第1の符号化方式についての第1の複数のピクチャ品質対符号化効率曲線の第1のパレートフロント曲線を計算し、第2の符号化方式についての第2の複数のピクチャ品質対符号化効率曲線の第2のパレートフロント曲線を計算する。その後、処理回路は第1のパレートフロント曲線と第2のパレートフロント曲線とに基づいてBD計量を計算する。
【0010】
一例では、第2の複数のピクチャ品質対符号化効率曲線は第1の複数のピクチャ品質対符号化効率曲線にそれぞれ対応する。その後、処理回路は第1の複数のピクチャ品質対符号化効率曲線及び対応する第2の複数のピクチャ品質対符号化効率曲線にそれぞれ基づいてBD計量値を計算する。その後、処理回路は第1の符号化方式と第2の符号化方式との比較のための全体BD計量としてBD計量値の加重合計を計算する。
【0011】
いくつかの例では、マシンビジョンとヒューマンビジョンとの両方向けの映像符号化に第1の符号化方式と第2の符号化方式とが用いられる。処理回路はマシンビジョンについての画素当たりビット数(BPP)の第1のBDレート、ヒューマンビジョンについての第2のBDレートを計算し、第1の符号化方式と第2の符号化方式との比較のための全体BD計量として第1のBDレートと第2のBDレートとの加重合計を計算する。
【0012】
いくつかの例では、マシンビジョンとヒューマンビジョンとの両方向けの映像符号化に第1の符号化方式と第2の符号化方式とが用いられる。処理回路は第1の符号化方式によるマシンビジョンとヒューマンビジョンとについての歪みの加重合計に基づいて第1の全体歪みを計算し、第1の全体歪みと、第1の符号化方式の第1のレート情報とに基づいて第1のコスト計量値を計算する。その後、処理回路は第2の符号化方式によるマシンビジョンとヒューマンビジョンとの歪みの加重合計に基づいて第2の全体歪みを計算し、第2の全体歪みと、第2の符号化方式の第2のレート情報とに基づいて第2のコスト計量値を計算する。処理回路は第1のコスト計量値と第2のコスト計量値とに基づいて第1の符号化方式と第2の符号化方式とを比較する。
【0013】
いくつかの例では、マシンビジョンとヒューマンビジョンとの両方向けの映像符号化に第1の符号化方式と第2の符号化方式とが用いられる。処理回路は第1の符号化方式によるマシンビジョンとヒューマンビジョンとについての歪みの加重合計に基づいて第1のピクチャ品質を決定し、第2の符号化方式によるマシンビジョンとヒューマンビジョンとについての歪みの加重合計に基づいて第2のピクチャ品質を決定する。
【0014】
いくつかの例では、第1の符号化方式と第2の符号化方式とを複数のビジョンタスク向けの映像符号化に用いる。処理回路は第1の符号化方式による複数のビジョンタスクについての歪みの加重合計に基づいて第1のピクチャ品質を決定し、第2の符号化方式による複数のビジョンタスクについての歪みの加重合計に基づいて第2のピクチャ品質を決定する。
【0015】
本開示の態様では、マシン向け映像符号化に用いるコンピュータによって実行されるときにコンピュータに映像符号化方法を実行させる命令を記憶する非一時的コンピュータ可読媒体も提供する。
【0016】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質及び様々な利点がより明らかになる。
【図面の簡単な説明】
【0017】
図1】本開示の実施形態に係るマシン向け映像符号化(VCM)システムのブロック図を示す。
図2】本開示のいくつかの実施形態に係るマシン向け映像符号化のビヨンテガールド・デルタ(BD)計量の計算を示すグラフを示す。
図3】本開示のいくつかの実施形態に係るマシン向け映像符号化のビヨンテガールド・デルタ(BD)計量の計算を示す別のグラフを示す。
図4】本開示のいくつかの実施形態に係る疑似コードの例を示す。
図5】本開示のいくつかの実施形態に係る疑似コードの例を示す。
図6】本開示のいくつかの実施形態に係る疑似コードの例を示す。
図7】本開示のいくつかの実施形態に係る疑似コードの例を示す。
図8】本開示の実施形態に係るプロセス例の概略を示すフローチャートを示す。
図9】一実施形態に係るコンピュータシステムの概略図である。
【発明を実施するための形態】
【0018】
本開示の態様ではマシン向け映像符号化(VCM)の性能計量技術を提供する。性能計量技術は、意味のある比較を行なうために符号化ツールの性能を他と比較して評価するのに用いることができる。
【0019】
図1は本開示の実施形態に係るVCMシステム(100)のブロック図を示す。VCMシステム(100)は拡張現実(AR)用途、自律運転用途、ビデオゲームゴーグル用途、スポーツゲームアニメーション用途、監視用途などの様々な利用用途に用いることができる。
【0020】
VCMシステム(100)はネットワーク(105)によって接続されるVCMエンコードサブシステム(101)とVCMデコードサブシステム(102)とを含む。一例では、VCMエンコードサブシステム(101)はマシン向け映像符号化機能を持つ1つ以上のデバイスを含むことができる。一例では、VCMエンコードサブシステム(101)は、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、タブレットコンピュータなど、1つのコンピューティングデバイスを含む。別の例では、VCMエンコードサブシステム(101)は1以上のデータセンタ、1以上のサーバファームなどを含む。VCMエンコードサブシステム(101)は、センサデバイスから出力された映像フレーム列などの映像コンテンツを受け取って、マシンビジョン向け映像符号化及び/又はヒューマンビジョン向け映像符号化にしたがって映像コンテンツを符号化ビットストリームに圧縮することができる。符号化ビットストリームをネットワーク(105)を介してVCMデコードサブシステム(102)に渡すことができる。
【0021】
VCMデコードサブシステム(102)はマシン向け映像符号化機能を持つ1つ以上のデバイスを含む。一例では、VCMデコードサブシステム(102)はデスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、タブレットコンピュータ、ウェアラブルコンピューティングデバイス、ヘッドマウントディスプレイ(HMD)デバイスなどのコンピューティングデバイスを含む。VCMデコードサブシステム(102)はマシンビジョン向け映像符号化及び/又はヒューマンビジョン向け映像符号化にしたがって符号化ビットストリームをデコードすることができる。デコードされた映像コンテンツをマシンビジョン及び/又はヒューマンビジョンに用いることができる。
【0022】
VCMエンコードサブシステム(101)は、任意の適当な技術を用いて実現することができる。図1の例では、VCMエンコードサブシステム(101)は互いに接続されている処理回路(120)、インターフェイス回路(111)及びマルチプレクサ(112)を含む。
【0023】
処理回路(120)は1つ以上の中央処理装置(CPU)、1つ以上のグラフィックスプロセッシングユニット(GPU)、特定用途向け集積回路など、いかなる適当な処理回路も含むことができる。図1の例では、処理回路(120)を、ヒューマンビジョン向け映像エンコーダ(130)やマシンビジョン向け特徴エンコーダ(140)などの2つのエンコーダを含むように構成することができる。一例では、映像エンコーダ(130)として機能するソフトウェアを1つ以上のCPU及び/又はGPUによって実行することができ、特徴エンコーダ(140)として機能するソフトウェアを1つ以上のCPU及び/又はGPUによって実行することができる。別の例では、映像エンコーダ(130)及び/又は特徴エンコーダ(140)を特定用途向け集積回路を用いて実現することができる。
【0024】
いくつかの例では、映像エンコーダ(130)は映像フレーム列にヒューマンビジョン向け映像エンコードを実行して第1のビットストリームを生成することができ、特徴エンコーダ(140)は映像フレーム列にマシンビジョン向け特徴エンコードを実行して第2のビットストリームを生成することができる。マルチプレクサ(112)は第1のビットストリームと第2のビットストリームとを合成して符号化ビットストリームを生成することができる。
【0025】
いくつかの例では、特徴エンコーダ(140)は特徴抽出モジュール(141)、特徴変換モジュール(142)及び特徴エンコードモジュール(143)を含む。特徴抽出モジュール(141)は映像フレーム列から特徴を検出して抽出することができる。特徴変換モジュール(142)は抽出された特徴を特徴マップ、特徴ベクトルなどの適切な特徴表現に変換することができる。特徴エンコードモジュール(143)は特徴表現を第2のビットストリームにエンコードすることができる。いくつかの実施形態では、特徴抽出を人工ニューラルネットワークによって実行することができる。
【0026】
インターフェイス回路(111)はVCMエンコードサブシステム(101)とネットワーク(105)とを接続することができる。インターフェイス回路(111)は、ネットワーク(105)から信号を受信する受信部と、信号をネットワーク(105)に送信する送信部とを含むことができる。たとえば、インターフェイス回路(111)は符号化ビットストリームをネットワーク(105)を介してVCMデコードサブシステム(102)などの他のデバイスに搬送する信号を送信することができる。
【0027】
Ethernet接続、光ファイバ接続、WiFi接続、セルラーネットワーク接続などの有線接続及び/又は無線接続を介してVCMエンコードサブシステム(101)及びVCMデコードサブシステム(102)とネットワーク(105)とが適切に接続される。ネットワーク(105)はネットワークサーバデバイス、記憶デバイス、ネットワークデバイスなどを含むことができる。ネットワーク(105)の構成要素は有線接続及び/又は無線接続を介して互いに適切に接続される。
【0028】
VCMデコードサブシステム(102)は符号化ビットストリームをマシンビジョン及び/又はヒューマンビジョン向けにデコードするように構成されている。一例では、VCMデコードサブシステム(102)は映像デコードを行なって、ヒューマンビジョン向けに表示することができる映像フレーム列を復元することができる。別の例では、VCMデコードサブシステム(102)は特徴デコードを実行して、マシンビジョンに用いることができる特徴表現を復元することができる。
【0029】
VCMデコードサブシステム(102)は任意の適当な技術を用いて実現することができる。図1の例では、VCMデコードサブシステム(102)は、図1に示されているように互いに接続されているインターフェイス回路(161)、デマルチプレクサ(162)及び処理回路170を含む。
【0030】
インターフェイス回路(161)はVCMデコードサブシステム(102)とネットワーク(105)とを接続することができる。インターフェイス回路(161)は、ネットワーク(105)から信号を受信する受信部と、信号をネットワーク(105)に送信する送信部とを含むことができる。たとえば、インターフェイス回路(161)は、ネットワーク(105)から、符号化ビットストリームを搬送する信号などのデータを搬送する信号を受信することができる。
【0031】
デマルチプレクサ(162)は受信された符号化ビットストリームを、符号化された映像の第1のビットストリームと、符号化された特徴の第2のビットストリームとに分離することができる。
【0032】
処理回路(170)はCPU、GPU、特定用途向け集積回路などの適当な処理回路を含むことができる。処理回路(170)を、映像デコーダ、特徴デコーダなど様々なデコーダを含むように構成することができる。たとえば、処理回路(170)は映像デコーダ(180)と特徴デコーダ(190)とを含むように構成される。
【0033】
一例では、映像デコーダ(180)としてGPUを構成する。別の例では、映像デコーダ(180)として機能するソフトウェア命令をCPUによって実行することができる。別の例では、特徴デコーダ(190)としてGPUを構成する。別の例では、特徴デコーダ(190)として機能するソフトウェア命令をCPUによって実行することができる。
【0034】
映像デコーダ(180)は符号化された映像の第1のビットストリーム中の情報をデコードして、デコードされた映像(たとえばピクチャフレーム列)を復元することができる。デコードされた映像をヒューマンビジョン向けに表示することができる。いくつかの例では、デコードされた映像をマシンビジョン向けに提供することができる。
【0035】
特徴デコーダ(190)は符号化された特徴の第2のビットストリーム中の情報をデコードして、特徴を適当な表現形式で復元することができる。デコードされた特徴をマシンビジョン向けに提供することができる。いくつかの例では、デコードされた特徴をヒューマンビジョン向けに提供することができる。
【0036】
VCMシステム(100)ではマシン向け映像符号化を、様々な符号化ツールによって実行したり符号化ツールの様々な設定に応じて実行したりすることができる。本開示の態様では、様々な符号化ツール及び/又は符号化ツールの様々な設定の性能を評価する性能計量技術を提供し、その際には、性能計量技術に基づいて符号化ツール及び適切な設定の選択を支援することができる。
【0037】
図1の例では、VCMエンコードサブシステム(101)は、映像エンコーダ(130)と特徴エンコーダ(140)とに接続されたコントローラ(150)を含む。コントローラ(150)は性能計量技術を用いて性能評価を実行して、性能評価に応じて映像エンコーダ(130)及び特徴エンコーダ(140)に用いる符号化ツール及び/又は設定を選択することができる。コントローラ(150)を様々な技術によって実現することができる。一例では、コントローラ(150)は性能評価並びに符号化ツール及び設定の選択に用いるソフトウェア命令を実行するプロセッサとして実現される。別の例では、コントローラ(150)は特定用途向け集積回路を用いて実現される。
【0038】
本開示のいくつかの態様によれば、ヒューマンビジョン及びマシンビジョン向けの映像/画像符号化の品質を評価するのに様々なピクチャ品質計量及び符号化効率計量が用いられる。
【0039】
ヒューマンビジョン向けの評価映像/画像符号化品質についてのいくつかの例では、平均二乗誤差(mean squared error, MSE)/ピーク信号対雑音比(peak signal-to-noise ratio, PSNR)、構造類似度インデックス測定(structure similarity index measure, SSIM)/マルチスケールSSIM(multiscale SSIM, MS-SSIM)、映像マルチメソッド評価融合(video multimethod assessment fusion, VMAF)などの性能計量を用いることができる。一例では、MSEを用いて元の画像と、元の画像の復元画像との間で平均二乗誤差を計算することができ、復元画像は符号化ツールを用いたり符号化ツールの設定を用いたりした操作の結果の画像である。PSNRについては、信号の可能な最大出力と、信号の表現の忠実度に影響を及ぼす劣化誘起雑音の出力との比として計算することができる。PSNRをMSEに基づいて決めることができる。MSEやPSNRは絶対誤差に基づいて計算される。
【0040】
別の例では、SSIMを用いて元の画像と、元の画像の復元画像との類似度を測定することができる。SSIMでは、特に画素が空間的に近い場合に画素間に強い依存性があるという構造情報を用いる。依存性は視認シーン中の物体の構造に関する重要な情報を内包する。MS-SSIMについては、サブサンプリングの複数の段階の過程で複数のスケールを用いて扱うことができる。
【0041】
マシンビジョン向けの評価映像/画像符号化品質についてのいくつかの例では、物体検出、セグメンテーションや追跡などのマシンビジョンのタスクの性能を測定するのに平均適合率の平均(mAP)、複数物体追跡精度(MOTA)などの性能計量を用いることができる。さらに、VCMのために生成されるビットストリームの記憶又は伝送のコストを測定するのに画素当たりビット数(bits per pixel, BPP)を用いることができる。
【0042】
特に、いくつかの例では、mAPは、x軸が再現率でありy軸が適合率である適合率-再現率曲線(PR曲線)の下にある面積として計算される。いくつかの例では、BPPは所定の画像解像度に対して計算され、たとえば元の画像の解像度に対して計算される。
【0043】
いくつかの例では、VCMの符号化ツールに対してピクチャ品質対符号化効率特性を決定することができ、ピクチャ品質対符号化効率特性に基づいて符号化ツールの性能評価を決定することができる。符号化ツールのピクチャ品質対符号化効率特性は、ピクチャ品質と、映像を符号化するのに当該符号化ツールを用いた符号化効率との関係を表わす。いくつかの例では、符号化ツールのピクチャ品質対符号化効率特性を、第1の軸にピクチャ品質があり第2の軸に符号化効率がある二次元平面の曲線として表わすことができる。いくつかの例では、符号化ツールのピクチャ品質対符号化効率特性を、ピクチャ品質に基づいて符号化効率を計算する式によって表わすことができる。いくつかの例では、符号化ツールのピクチャ品質対符号化効率特性を、ピクチャ品質と符号化効率とを関連づけるルックアップテーブルを用いて表わすことができる。
【0044】
一例では、ピクチャ品質はmAP(又はMOTA)に基づいて測定され、符号化効率はBPPに基づいて測定される。mAP(又はMOTA)対BPPの関係をピクチャ品質対符号化効率特性を示す曲線として導くことができ、マシンビジョンの符号化方式(符号化ツールとも称する)の性能を表わすのに用いることができる。これに加えて、映像/画像符号化、および元の解像度の100%、75%、50%、および25%など、元のコンテンツの様々な解像度を実現するためのパディング又はスケーリングによるクロップの前に、映像/画像を予め処理することができる。マシンビジョンのタスク向けにデコードした後、デコードされた映像/画像をスケーリングして元の解像度に戻すことができる。いくつかの実施形態では、マシンビジョン向け符号化方式に対するmAP(又はMOTA)対BPP曲線を数個導くことができる。
【0045】
本開示のいくつかの態様では、たとえばmAP(又はMOTA)とBPPとの1つ以上の関係曲線から1つの性能値(性能計量)を計算する技術を提供し、このようにして、複数の符号化方式の性能値に基づいて複数のマシンビジョン向け符号化方式の比較を行なうことができる。たとえば、複数の符号化方式にそれぞれ用いられる性能計量値をコントローラ(150)によって計算することができ、コントローラ(150)は性能計量値に基づいて複数の符号化方式から符号化方式を選択することができる。
【0046】
なお、以下の説明では、mAP対BPPの関係曲線は本開示のいくつかの態様に係る性能計量技術を例示するのに用いられている。本性能計量技術を他の関係曲線に用いることができる。たとえば、mAPを、MOTA、50%である和集合に対する共通部分の閾値における平均適合率(AP50)、75%である和集合に対する共通部分の閾値における平均適合率、平均正解率など、性能に対する他の適切な測定に変更することができる。別の例では、BPPを、入力が映像である場合のビットレートに変更することができる。
【0047】
本開示のいくつかの態様によれば、BD平均適合率の平均(BD-mAP)、BD画素当たりビット数(BDレート)などのビヨンテガールド・デルタ(BD)計量をマシン向け映像符号化の性能評価に用いることができる。
【0048】
図2は本開示のいくつかの実施形態に係るマシン向け映像符号化のBD計量の計算を示すグラフ(200)を示す。グラフ(200)は第1のVCM方式についてのmAP対BPPの第1の曲線(210)と、第2のVCM方式についてのmAP対BPPの第2の曲線(220)とを含む。いくつかの例では、mAP及びBPP値を、すべてのIスライスのQP(QPISlice)などの量子化パラメータ(QP)の様々な値にしたがって決定することができる。
【0049】
たとえば、第1のVCM方式を用いた映像の符号化に至るのに、コントローラ(150)でQPISlice値を設定し、映像エンコーダ(130)及び特徴エンコーダ(140)でQPISlice値に基づいて第1のVCM方式を用いて映像をエンコードして第1の符号化ビットストリームを生成することができる。第1の符号化ビットストリームに基づいて、QPISlice値に関連するmAP及びBPP値をたとえばコントローラ(150)によって決定することができる。コントローラ(150)では、第1のVCM方式の使用に対して様々なQPISlice値を設定して、それぞれのQPISlice値に関連するmAP及びBPP値を決定することができる。その後、mAP及びBPP値を用いて第1の曲線(210)を形成する。たとえば、あるQPISlice値に対して、このQPISlice値に関連するmAP値及びBPP値を用いて第1の曲線(210)上の点を形成する。
【0050】
同様に、第2のVCM方式を用いた映像の符号化に至るのに、コントローラ(150)でQPISlice値を設定し、映像エンコーダ(130)及び特徴エンコーダ(140)でQPISlice値に基づいて第2のVCM方式を用いて映像をエンコードして第2の符号化ビットストリームを生成することができる。第2の符号化ビットストリームに基づいて、QPISlice値に関連するmAP及びBPP値をたとえばコントローラ(150)によって決定することができる。コントローラ(150)では、第2のVCM方式の使用に対して様々なQPISlice値を設定して、それぞれのQPISlice値に関連するmAP及びBPP値を決定することができる。その後、mAP及びBPP値を用いて第2の曲線(220)を形成する。たとえば、あるQPISlice値に対して、このQPISlice値に関連するmAP値及びBPP値を用いて第2の曲線(220)上の点を形成する。
【0051】
本開示の態様によれば、BD-mAPを第1の曲線(210)と第2の曲線(220)の間の平均間隔として決定することができ、平均間隔を、第1の曲線(210)と第2の曲線(220)の間の面積(230)(グレーの暗色部によって示されている)に基づいて計算することができる。いくつかの例では、コントローラ(150)で、第1の曲線(210)及び第2の曲線(220)などの2つの曲線間の間隔の面積を計算するアルゴリズムに対応するソフトウェア命令を実行することができ、たとえば面積に基づいてBD-mAP値を決定することができる。
【0052】
いくつかの例では、第1のVCM方式は参照方式(アンカーとも称する)であることが可能であり、第2のVCM方式は評価を受ける(又は検証を受ける)方式である。一例では、参照方式をスケーリングされていない(すなわち、スケールが100%)映像に適用し、評価を受ける方式を、映像を75%縮小した映像に適用することができる。参照方式に対する第2のVCM方式のBD計量を、第2のVCM方式の性能と他のVCM方式(第1のVCM方式及び第2のVCM方式以外)とを比較するのに用いることができる。
【0053】
いくつかの実施形態では、BDレートを同様に決定することができる。
【0054】
図3は本開示のいくつかの実施形態に係るマシン向け映像符号化のBD計量の計算を示すグラフ(300)を示す。グラフ(300)は第1のVCM方式についてのBPP対mAPの第1の曲線(310)と、第2のVCM方式についてのBPP対mAPの第2の曲線(320)とを含む。いくつかの例では、図2を参照して説明されるのと同様に、QPISliceの様々な値にしたがってmAP及びBPP値を決定することができる。
【0055】
本開示の態様によれば、BDレートを第1の曲線(310)と第2の曲線(320)の間の平均間隔として決定することができ、平均間隔を、第1の曲線(310)と第2の曲線(320)の間の面積(330)に基づいて計算することができる。いくつかの例では、コントローラ(150)で、第1の曲線(310)及び第2の曲線(320)などの2つの曲線間の間隔の面積を計算するアルゴリズムに対応するソフトウェア命令を実行することができ、たとえば面積に基づいてBDレート値を決定することができる。
【0056】
いくつかの例では、第1のVCM方式は参照方式であることが可能であり、第2のVCM方式は評価を受ける方式である。一例では、参照方式をスケーリングされていない(すなわち、スケールが100%)映像に適用し、評価を受ける方式を、映像を75%縮小した映像に適用することができる。一例では、第1の曲線(310)と第2の曲線(320)の間の平均間隔は、同等の品質が実現される場合において、第2のVCM方式を用いて伝送したり記憶したりするためのビットが14.75%減少したことを示す。参照方式に対する第2のVCM方式のBD計量を、第2のVCM方式の性能と他のVCM方式(第1のVCM方式及び第2のVCM方式以外)とを比較するのに用いることができる。たとえば、伝送したり記憶したりするためのビットが10%減少したことを第3のVCM方式のBDレートが示す場合、第2のVCM方式のVCM性能が第3のVCM方式よりも高いと判断される。
【0057】
本開示の態様によれば、2つのVCM方式を比較する場合、方式毎に複数のBPP対mAP(又はmAP対BPP)曲線を生成することができ、性能比較に用いる性能差の値を総合的にまとめたものを示すBD計量などの1つの性能計量を決定するのにいくつかの技術が用いられる。
【0058】
実施形態では、第1のVCM方式の複数のBPP対mAP((又はmAP対BPP)曲線に基づいて第1のパレートフロント曲線を形成することができ、第2のVCM方式の複数のmAP対BPP曲線に基づいて第2のパレートフロント曲線を形成することができる。たとえば、第1のVCM方式について、特定のBPP対mAP曲線が他のBPP対mAP曲線よりも常に良好である場合、この特定のBPP対mAP曲線を第1のパレートフロント曲線として用いることができる。しかし、複数のBPP対mAP曲線が交差し得る場合、第1のパレートフロント曲線を形成するのに複数のBPP対mAP曲線の最適区画を選択することができる。第2のVCM方式についても第2のパレートフロント曲線を同様に形成することができる。その後、第1の方式の第1のパレートフロント曲線と第2の方式の第2のパレートフロント曲線とを用いてBD計量を計算することができる。
【0059】
別の実施形態では、BD計量をVCM方式の複数のBPP対mAP曲線に対してそれぞれ計算することができ、BD計量値の平均(たとえば加重平均)を性能比較に用いることができる。
【0060】
いくつかの例では、元のコンテンツの様々な解像度を実現するために映像を予め処理することができ、その後、予め処理された映像を第1のVCM方式と第2のVCM方式とを用いてそれぞれ符号化することができ、様々な解像度に対してBDレートをそれぞれ計算することができる。一例では、解像度100%の第1の映像、解像度75%の第2の映像、解像度50%の第3の映像及び解像度25%の第4の映像などの異なる解像度の4つの映像を実現するために映像を予め処理する。一例では、第1のVCM方式と第2のVCM方式とを第1の映像に適用して第1のBDレートを計算することができ、第1のVCM方式と第2のVCM方式とを第2の映像に適用して第2のBDレートを計算することができ、第1のVCM方式と第2のVCM方式とを第3の映像に適用して第3のBDレートを計算することができ、第1のVCM方式と第2のVCM方式とを第4の映像に適用して第4のBDレートを計算することができる。その後、第1のBDレート、第2のBDレート、第3のBDレート及び第4のBDレートの平均を第1のVCM方式と第2のVCM方式との性能比較のための全体BDレートとして計算することができる。
【0061】
いくつかの例では、全体BDレートを計算するのに、BDレートに、等しい重みを付けたり異なる重みを付けたりすることができる。一例では、特定のスケールの重要度が他のスケールの重要度よりも高く、より大きい重みを特定のスケールに割り付けてもよい。いくつかの例では、重みすべての合計は1に等しい。なお、様々な解像度スケールに対するBPP対mAP曲線が、各VCM方式に対して複数の曲線がある2つのVCM方式の比較を示す例として用いられる。複数の曲線を取り扱う技術は、様々な解像度スケールを用いる技術に限定されない。
【0062】
本開示のいくつかの態様によれば、特定の用途で、デコードされた映像をマシンビジョンとヒューマンビジョンとの両方によって用いることができ、双方によって同時に用いられる(マシンビジョンとヒューマンビジョンとの両方による使用)場合を想定した2つの符号化方式を比較するのに性能計量を用いることができる。実施形態では、マシンビジョンについての第1のBDレートと、ヒューマンビジョンについての第2のBDレートとをそれぞれ計算することができ、その後、適切に組み合わせて、2つの符号化方式の性能比較のための性能計量を形成することができる。
【0063】
いくつかの例では、2つの符号化方式を比較する場合、マシンビジョンについての第1のBDレート(BDmと標記する)をBPP対mAP曲線などのマシンビジョン計量を用いて計算することができる。その後、ヒューマンビジョンについての第2のBDレート(BDhと標記する)をビットレート曲線対PSNR、ビットレート曲線対MS-SSIM、ビットレート曲線対SSIMなどのヒューマンビジョン計量を用いて計算することができる。なお、PSNR、MS-SSIMやSSIM以外の同様のヒューマンビジョン関連の性能計量をヒューマンビジョンについての符号化性能を測定するのに用いることができる。
【0064】
いくつかの例では、マシンビジョンについての第1のBDレートと、ヒューマンビジョンについての第2のBDレートとを組み合わせて、BDoverallで標記される最終的な性能比較結果を計算することができる。たとえば、ヒューマンビジョンについての第1のBDレートBDmと、マシンビジョンについての第2のBDレートBDhとを組み合わせるのに式(1)を用いることができる。
BDoverall=(1-w)×BDm+w×BDh 式(1)
ここで、wは範囲が[0,1]である重みを表わし、かつ符号化性能全体に対するヒューマンビジョンの相対重要度を示す。
【0065】
いくつかの実施形態では、符号化方式の比較のための性能計量としてコスト計量を計算することができる。コスト計量(Cと標記する)は歪みについての第1の部分と、レート情報(RTと標記する)についての第2の部分とを含むことができる。歪みはヒューマンビジョンについての歪み(Dhと標記する)と、マシンビジョンについての歪み(Dmと標記する)との組み合わせとして生成される全体歪み(Dと標記する)であることが可能である。一例では、レート情報(RTと標記する)は、符号化された映像を表わすのに用いられるビットストリーム長であることが可能である。一例では、全体歪みDとコスト計量Cを式(2)及び式(3)を用いて計算することができる。
D=(1-w1)×Dm+w1×Dh 式(2)
C=D+λ×RT 式(3)
ここで、w1は範囲が[0,1]である重みであり、ヒューマンビジョンとマシンビジョンとの組み合わせの適用全体におけるヒューマンビジョンの相対重要度を示すのに用いられる。パラメータλは歪みとレートとの相対重要度を示すのに用いられる0以上のスカラー量である。
【0066】
いくつかの例では、ヒューマンビジョンについての歪みDhを式(4)を用いるなどして正規化平均誤差(NME)として計算することができる。
【数1】
ここで、Nは画像又は映像中の画素の総数を表わし、pは多くの場合に1又は2であり、||P||は対応するp-ノルム演算値を表わし、||P||maxは元の画像又は映像中の画素についての最大p-ノルムを表わし、P(i)は元の画像又は映像中のi番目の画素を表わし、P’(i)はデコードされた画像又は映像中のi番目の画素を表わした。なお、NMEの範囲は[0,1]である。
【0067】
いくつかの例では、画像又は映像が、カラーチャンネルが1つのみのモノクロである場合には、p-ノルム演算値||P||をたとえば絶対値演算値に変更してもよい。一例では、カラー画像又はカラー映像が用いられる場合、(R,G,B)などの3値のタプルで画素を表わすことができる。ここで、R、G及びBはRGB色空間における3つのカラーチャンネル値に対するものを示す。別の例では、カラー画像又はカラー映像が用いられる場合、(Y,Cb,Cr)などの3値のタプルで画素を表わすことができる。ここで、Y、Cb及びCrはYCbCr色空間における3つのチャンネル値に対するものを示す。RGB色空間の例を用いれば、p-ノルム演算値をたとえば式(5)を用いて計算することができる。
【数2】
ここで、wR、wG、wBは各カラーチャンネルの重みを表わし、これらは同じであっても同じでなくてもよい。いくつかの例では、3つのチャンネルの解像度が異なる場合、このように異なることを反映するように、解像度の低い方のチャンネルに小さい方の重みを適用してもよい。
【0068】
いくつかの例では、まず、各チャンネルについての正規化平均誤差(NME)をたとえば式(6)~式(8)を用いるなどして計算することができる。
【数3】
ここで、NR、NG及びNBはRチャンネル、Gチャンネル及びBチャンネルの画素数をそれぞれ表わし、Rmax、Gmax及びBmaxはRチャンネル、Gチャンネル及びBチャンネルにおける最大値を表わし、多くの場合、いくつかの例で同じ値に設定される。(R(i),G(i),B(i))は元の画像又は映像中のi番目の画素を表わし、(R’(i),G’(i),B’(i))はデコードされた画像又は映像中のi番目の画素を表わす。これに加えて、一例では、pは多くの場合に1又は2に設定される。全体正規化平均誤差NMEをNMER、NMEG及びNMEBの加重平均として式(9)を用いるなどして計算することができる。
NME=wR×NMER+wG×NMEG+wB×NMEB 式(9)
ここで、wR、wG、wBは、3つのカラーチャンネルの相対重要度を表わす0以上の重みであり、wR+wG+wB=1である。
【0069】
なお、(6)~(8)のチャンネルに基づいたNMEの上記計算は、4:2:0でサブサンプリングしたり4:4:4でサブサンプリングしたりするY’CbCr(YUV)などの他のカラーフォーマットに適切に変更したものであってもよい。一例では、Y成分のみに重み1を割り付けて、その他の2つの成分Cb及びCrには重み0を割り付けることができる。別の例では、各チャンネルのサンプル解像度に基づいて重みを決定する。たとえば、4:2:0では、Yの解像度がUVよりも高いのに応じて、UV成分の重みがY成分の重みよりも当然小さくなる。
【0070】
本開示の態様によれば、マシンビジョンについての歪みをマシンのタスクに応じて(1-mAP)や(1-MOTA)と表わすことができる。なお、mAP及びMOTAの範囲は[0,1]である。平均正解率など、マシンビジョンの歪みの計算時にmAPやMOTAの代わりにマシンビジョン向けの他の同様の性能計量も用いることができる点も注記される。
【0071】
いくつかの例では、ヒューマンビジョンについての歪みがヒューマンビジョンの閾値(Threshhと標記する)を超える場合、ヒューマンビジョンとマシンビジョンとを組み合わせる用途に、デコードされた画像を利用することができない場合がある。同様に、マシンビジョンについての歪みがマシンビジョンの閾値(Threshmと標記する)を超える場合、ヒューマンビジョンとマシンビジョンとを組み合わせる用途に、デコードされた画像を利用することができなくなる。いずれの場合でも、全体歪みDはその最大値などの既定の値に設定される(たとえば1)。
【0072】
図4はマシンビジョンとヒューマンビジョンとの両方を考慮した場合の例における全体歪みDと全体コスト計量Cとを計算するための疑似コード(400)の例を示す。図4の例では、w1は範囲が[0,1]である重みであり、ヒューマンビジョンとマシンビジョンとの組み合わせの適用全体におけるヒューマンビジョンの相対重要度を示すのに用いられる。パラメータDhはヒューマンビジョンについての歪みであり、パラメータDmはマシンビジョンについての歪みである。パラメータλは歪みとレートとの相対重要度を示すのに用いられる0以上のスカラー量である。パラメータThreshhはヒューマンビジョンの歪み閾値であり、パラメータThreshmはマシンビジョンの歪み閾値である。
【0073】
いくつかの例では、マシンビジョンのタスクの歪みがヒューマンビジョンのタスクよりも重要であると考えてもよく、その一方で、ヒューマンビジョンで見た品質は当然、最低許容可能レベルに維持される。
【0074】
図5はマシンビジョンのタスクの歪みがヒューマンビジョンのタスクより重要であると考える例における全体歪みDと全体コスト計量Cとを計算するための疑似コード(500)の例を示す。ヒューマンビジョンで見た品質を最低許容可能レベルに維持することができる。図5の例では、w1は範囲が[0,1]である重みであり、ヒューマンビジョンとマシンビジョンとの組み合わせの適用全体におけるヒューマンビジョンの相対重要度を示すのに用いられる。パラメータDmはマシンビジョンについての歪みである。パラメータλは歪みとレートとの相対重要度を示すのに用いられる0以上のスカラー量である。パラメータThreshhはヒューマンビジョンの歪み閾値である。
【0075】
いくつかの例では、ヒューマンビジョンの歪みが最低許容可能レベル以下に低下する場合にヒューマンビジョンの歪みを考慮に入れてもよい。
【0076】
図6はマシンビジョンのタスクの歪みがヒューマンビジョンのタスクよりも重要であると考える例における全体歪みDと全体コスト計量Cとを計算するための疑似コード(600)の例を示す。ヒューマンビジョンの歪みが最低許容可能レベル以下に低下する場合にヒューマンビジョンの歪みを考慮に入れてもよい。図6の例では、w1は範囲が[0,1]である重みであり、ヒューマンビジョンとマシンビジョンとの組み合わせの適用全体におけるヒューマンビジョンの相対重要度を示すのに用いられる。パラメータDhはヒューマンビジョンについての歪みであり、パラメータDmはマシンビジョンについての歪みである。パラメータλは歪みとレートとの相対重要度を示すのに用いられる0以上のスカラー量である。パラメータThreshhはヒューマンビジョンの歪み閾値である。
【0077】
いくつかの例では、ヒューマンビジョンとマシンビジョンとについての符号化性能を組み合わせる以外に、3つ以上のタスクなど、複数のタスクについての符号化性能を組み合わせることができる。複数のタスクは物体検出タスク、物体セグメンテーションタスク、物体追跡タスクなどを含むことができる。タスクがM個(Mは2を超える整数)ある例では、全体BDレートは、式(10)を用いるなどした、個々のタスクについてのBDレートの加重結合であることが可能である。
BDoverall=w(0)×BD0+w(1)×BD1+…+w(M-1)×BDM-1 式(10)
ここで、w(i)(i=0,1,…,M-1)は0以上の重み係数であり、w(0)+w(1)+…+w(M-1)=1である。BDi(i=0,…,M-1)はM個のタスクについてのそれぞれのBDレートである。
【0078】
タスクがM個(Mは2を超える整数)ある例では、全体歪みは、式(11)を用いるなどした、個々のタスクについての歪みの加重結合であることが可能であり、その際、コスト計量Cをたとえば式(12)を用いて計算することができる。
D=w(0)×D0+w(1)×D1+…+w(M-1)×DM-1 式(11)
C=D+λ×RT 式(12)
ここで、w(i)(i=0,1,…,M-1)は0以上の重み係数であり、w(0)+w(1)+…+w(M-1)=1である。Di(i=0,…,M-1)はM個のタスクについてのそれぞれの歪みである。
【0079】
いくつかの例では、タスクについての歪みがタスクの閾値を超える場合、複数のタスクを組み合わせる用途に、デコードされた画像を利用することができない場合がある。
【0080】
図7は閾値が各タスクにそれぞれ用いられる場合の例における全体歪みDと全体コスト計量Cとを計算するための疑似コード(700)の例を示す。タスクについての歪みがタスクの閾値を超える場合、複数のタスクを組み合わせる用途に、デコードされた画像を利用することができない場合がある。図7の例では、w(i)(i=0,1,…,M-1)は0以上の重み係数であり、w(0)+w(1)+…+w(M-1)=1である。Di(i=0,…,M-1)はM個のタスクについてのそれぞれの歪みである。Threshi(i=0,…,M-1)はM個のタスクについてのそれぞれの閾値である。
【0081】
いくつかの例で、計算された全体歪みに基づいて、全体加重適合率(wmAPと標記する)をたとえば式(13)を用いて計算することができる。
wmAP=1-D 式(13)
【0082】
さらに、wmAP対BPP曲線を形成することができる。その後、2つのwmAP対BPP曲線の比較に用いる対応するBDレートを計算することができる。
【0083】
アンカー符号化方式と検証符号化方式などの2つの符号化方式を比較する実施形態では、全体BDレートを計算することができる。全体BDレートが負である場合、検証符号化方式の性能がアンカー符号化方式よりも高い。
【0084】
アンカー符号化方式と検証符号化方式などの2つの符号化方式を比較する実施形態では、それぞれのコスト計量値を計算することができる。全体コスト計量値が小さい符号化方式の性能は高いとみなされる。
【0085】
なお、上記で説明されている技術を適切に修正することができる。いくつかの例では、変換関数を用いることができる。一例では、mAPやMOTAなどのマシンビジョン品質計量を変換関数の入力として用いてもよい。その後、変換関数の出力をBDレート計算に用いることができる。変換関数はリニアスケーリング、平方根演算、対数領域変換などを含むことができる。
【0086】
図8は本開示の実施形態に係るプロセス(800)の概略を示すフローチャートを示す。VCMシステム(100)などで用いられるような符号化方式の比較にプロセス(800)を用いることができる。様々な実施形態で、プロセス(800)は処理回路(120)などの処理回路によって実行される。いくつかの実施形態では、プロセス(800)はソフトウェア命令において実現され、したがって、処理回路がソフトウェア命令を実行するときに処理回路がプロセス(800)を実行する。プロセスは(S801)から開始され、(S810)に進む。
【0087】
(S810)で、VCMの第1の符号化方式についての第1のピクチャ品質対符号化効率特性を決定する。
【0088】
(S820)で、VCMの第2の符号化方式についての第2のピクチャ品質対符号化効率特性を決定する。
【0089】
いくつかの例では、ピクチャ品質を、平均適合率の平均(mAP)、複数物体追跡精度(MOTA)、50%である和集合に対する共通部分の閾値における平均適合率(AP50)、75%である和集合に対する共通部分の閾値における平均適合率(AP75)、平均正解率などのいかなる適当なマシンビジョン品質計量によっても測定することができる。符号化効率を、画素当たりビット数(BPP)など、VCMについてのいかなる適当な計量によっても測定することができる。
【0090】
(S830)で、第1のピクチャ品質対符号化効率特性と第2のピクチャ品質対符号化効率特性とに基づいて第1の符号化方式と第2の符号化方式との比較のためのビヨンテガールド・デルタ(BD)計量を決定することができる。
【0091】
いくつかの例では、第1のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の第1の曲線を含み、第2のピクチャ品質対符号化効率特性はピクチャ品質および符号化効率についての二次元平面内の第2の曲線を含む。その後、第1の曲線と第2の曲線の間の平均間隔としてBD計量を計算することができる。平均間隔を第1の曲線と第2の曲線の間の面積に基づいて計算することができる。
【0092】
一例では、BD計量は平均適合率の平均(mAP)、たとえばBD-mAPで標記されるものに基づいて計算される。別の例では、BD計量は画素当たりビット数(BPP)、たとえばBD-BPPやBDレートで標記されるものに基づいて計算される。一例では、BD計量は複数物体追跡精度(MOTA)、たとえばBD-MOTAで標記されるものに基づいて計算される。一例では、BD計量は50%である和集合に対する共通部分の閾値における平均適合率(AP50)、たとえばBD-AP50で標記されるものに基づいて計算される。一例では、BD計量は75%である和集合に対する共通部分の閾値における平均適合率(AP75)、たとえばBD-AP75で標記されるものに基づいて計算される。一例では、BD計量は平均正解率に基づいて計算される。
【0093】
いくつかの例では、第1のピクチャ品質対符号化効率特性がピクチャ品質および符号化効率についての二次元平面内の第1の符号化方式についての第1の複数のピクチャ品質対符号化効率曲線を含み、第2のピクチャ品質対符号化効率特性がピクチャ品質および符号化効率についての二次元平面内の第2の符号化方式についての第2の複数のピクチャ品質対符号化効率曲線を含む。一例では、第1の符号化方式についての第1の複数のピクチャ品質対符号化効率曲線に基づいて第1のパレートフロント曲線を計算し、第2の符号化方式についての第2の複数のピクチャ品質対符号化効率曲線に基づいて第2のパレートフロント曲線を計算する。その後、第1のパレートフロント曲線と第2のパレートフロント曲線とに基づいてBD計量を計算する。
【0094】
別の例では、第2の複数のピクチャ品質対符号化効率曲線は第1の複数のピクチャ品質対符号化効率曲線にそれぞれ対応する。その後、第1の複数のピクチャ品質対符号化効率曲線及び対応する第2の複数のピクチャ品質対符号化効率曲線にそれぞれ基づいてBD計量値をそれぞれ計算する。その後、第1の符号化方式と第2の符号化方式との比較のための全体BD計量としてBD計量値の加重合計を計算することができる。
【0095】
いくつかの例では、マシンビジョンとヒューマンビジョンとの両方向けの映像符号化に第1の符号化方式と第2の符号化方式とが用いられる。一例では、マシンビジョンについての画素当たりビット数(BPP)である第1のBDレートを計算し、ヒューマンビジョンについての第2のBDレートを計算する。その後、第1の符号化方式と第2の符号化方式との比較のための全体BD計量として第1のBDレートと第2のBDレートの加重合計とを計算する。
【0096】
別の例では、第1の符号化方式によるマシンビジョンとヒューマンビジョンとについての歪みの加重合計に基づいて第1の全体歪みを計算する。その後、第1の全体歪みと、第1の符号化方式の第1のレート情報とに基づいて第1のコスト計量値を計算する。さらに、第2の符号化方式によるマシンビジョンとヒューマンビジョンとの歪みの加重合計に基づいて第2の全体歪みを計算し、第2の符号化方式の第2の全体歪みと第2のレート情報とに基づいて第2のコスト計量値を計算する。第1のコスト計量値と第2のコスト計量値とに基づいて第1の符号化方式と第2の符号化方式とを比較することができる。
【0097】
別の例では、第1の符号化方式によるマシンビジョンとヒューマンビジョンとについての歪みの加重合計に基づいて第1のピクチャ品質を決定する。第2の符号化方式によるマシンビジョンとヒューマンビジョンとについての歪みの加重合計に基づいて第2のピクチャ品質を決定する。その後、第1の符号化方式と第2の符号化方式との比較のためにBD計量を計算して用いることができる。
【0098】
いくつかの例では、第1の符号化方式と第2の符号化方式とを複数のビジョンタスク向けの映像符号化に用いる。その際、第1の符号化方式による複数のビジョンタスクについての歪みの加重合計に基づいて第1のピクチャ品質を決定することができる。第2の符号化方式による複数のビジョンタスクについての歪みの加重合計に基づいて第2のピクチャ品質を決定することができる。その後、第1の符号化方式と第2の符号化方式との比較のためにBD計量を計算して用いることができる。
【0099】
その後、プロセスは(S899)に進んで終了する。
【0100】
コンピュータ可読命令を用い、1つ以上のコンピュータ可読媒体に物理的に記憶されるコンピュータソフトウェアとして上記で説明されている手法を実現することができる。たとえば、図9は開示されている保護対象の特定の実施形態を実現するのに適するコンピュータシステム(900)を示す。
【0101】
コンピュータソフトウェアはいかなる適切な機械コードすなわちコンピュータ言語を用いてもコーディングすることができ、このコンピュータ言語は命令を備えるコードを生成するためのアセンブリ、コンパイル、リンク又は同様のメカニズムによって処理されてもよく、この命令は、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって、直接実行したり、解釈、マイクロコードの実行などを通じて実行したりすることができる。
【0102】
命令は、たとえば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータ又はその構成要素で実行することができる。
【0103】
コンピュータシステム(900)について図9に示されている構成要素は当然一例であり、本開示の実施形態を実現するコンピュータソフトウェアの使用又は機能の範囲に関してなんら限定を示唆することを意図するものではない。また、構成要素の構成について、コンピュータシステム(900)の典型的な実施形態で示されている構成要素のいずれか1つ又はこれらの組み合わせに関して何かしら依拠したり必要としたりするようにも当然解釈されない。
【0104】
コンピュータシステム(900)は特定のヒューマンインターフェイス入力装置を含んでもよい。このようなヒューマンインターフェイス入力装置はたとえば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)による1人以上の人間のユーザによる入力に応答するものであってもよい。ヒューマンインターフェイス装置を用いることで、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得した写真画像など)、映像(二次元映像、立体映像を含む三次元映像など)など、人間による意識的な入力に必ずしも直接関連しないなんらかの媒体を獲得することもできる。
【0105】
入力ヒューマンインターフェイス装置は、キーボード(901)、マウス(902)、トラックパッド(903)、タッチ画面(910)、データグローブ(図示せず)、ジョイスティック(905)、マイク(906)、スキャナ(907)、カメラ(908)の1つ以上(示されているものから1つずつだけ)を含んでもよい。
【0106】
コンピュータシステム(900)はなんらかのヒューマンインターフェイス出力装置も含んでもよい。このようなヒューマンインターフェイス出力装置はたとえば、触覚出力、音、光及び嗅覚/味覚を通じて1人以上の人間のユーザの感覚を刺激するものであってもよい。このようなヒューマンインターフェイス出力装置は触覚出力デバイス(たとえば、タッチ画面(910)、データグローブ(図示せず)やジョイスティック(905)による触覚フィードバック、ただし、入力デバイスとして働かない触覚フィードバックデバイスも存在することができる)、音声出力デバイス(スピーカ(909)、ヘッドホン(図示せず)など)、視覚出力デバイス(CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(910)などであり、それぞれタッチ画面入力機能を備えるもの、又は備えていないもの、それぞれ触覚フィードバック機能を備えるもの、又は備えていないものがある-これらの画面のいくつかが立体映像出力装置、バーチャルリアリティグラス(図示せず)、ホログラフィディスプレイや発煙タンク(図示せず)などの手段によって二次元視覚的出力又は3次元以上の出力を出力する機能を備えてもよい)及びプリンタ(図示せず)を含んでもよい。
【0107】
コンピュータシステム(900)は、CD/DVD又はそれに類する媒体(921)をともなうCD/DVD ROM/RW(920)を含む光媒体、サムドライブ(922)、リムーバブルハードドライブやソリッドステートドライブ(923)、テープやフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用のROM/ASIC/PLDベースのデバイスなど、人間による取扱いが可能な記憶デバイス及びその関連媒体を含むこともできる。
【0108】
ここで開示されている保護対象に関連して用いられている用語「コンピュータ可読媒体」が伝送媒体、搬送波又はその他一時的な信号を含まないことも当業者は当然理解する。
【0109】
コンピュータシステム(900)は1つ以上の通信ネットワーク(955)に対するインターフェイス(954)も含むことができる。ネットワークはたとえば、無線ネットワーク、有線ネットワーク、光学ネットワークであることが可能である。さらに、ネットワークはローカル、ワイドエリア、メトロポリタン、車両用及び産業用、リアルタイム、遅延耐性などのネットワークであることが可能である。ネットワークの例には、Ethernetなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ及び地上波テレビを含むテレビの有線又は無線ワイドエリアデジタルネットワーク、CANBusを含む車両用及び産業用などが含まれる。なんらかのネットワークには一般的になんらかの汎用データポートやペリフェラルバス(949)に取り付けられる外部ネットワークインターフェイスアダプタが必要であり(たとえば、コンピュータシステム(900)のUSBポートなど)、その他のものとしては、一般的には、後述されているようにシステムバスに取り付けられることによってコンピュータシステム(900)のコアに組み込まれるものがある(たとえば、PCコンピュータシステムに組み込まれるEthernetインターフェイスや、スマートフォンコンピュータシステムに組み込まれるセルラーネットワークインターフェイス)。これらのネットワークのいずれを用いても、コンピュータシステム(900)は相手方と通信することができる。このような通信は一方向、受信専用(たとえば、テレビ放送)、一方向送信専用(たとえば、CANbusデバイスから特定のCANbusデバイス)又は双方向、たとえば、ローカル若しくはワイドエリアデジタルネットワークを用いた他のコンピュータシステムに対する双方向の通信であることが可能である。上記で説明されているこのようなネットワーク及びネットワークインターフェイスの各々にいくつかのプロトコル及びプロトコルスタックを用いることができる。
【0110】
上記のヒューマンインターフェイス装置、人間による取扱いが可能な記憶デバイス及びネットワークインターフェイスをコンピュータシステム(900)のコア(940)に取り付けることができる。
【0111】
コア(940)は1つ以上の中央処理装置(CPU)(941)、グラフィックスプロセッシングユニット(GPU)(942)、フィールドプログラマブルゲートエリア(FPGA)(943)の形態の専用のプログラム可能な処理ユニット、特定のタスクに用いるハードウェアアクセラレータ(944)、グラフィックスアダプタ(950)などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)(945)、ランダムアクセスメモリ(946)、内部のユーザ取り扱い不能なハードディスク、SSDなどの内部大容量記憶装置(947)とともに、システムバス(948)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(948)はCPU、GPUなどを追加することによって拡張を可能にする1つ以上の物理的なプラグの形態をとり、手作業可能なものであることが可能である。周辺デバイスをコアのシステムバス(948)に直接取り付けるか、ペリフェラルバス(949)を通じて取り付けるかすることができる。一例では、画面(910)をグラフィックスアダプタ(950)に接続することができる。ペリフェラルバスのアーキテクチャにはPCI、USBなどが含まれる。
【0112】
CPU(941)、GPU(942)、FPGA(943)及びアクセラレータ(944)は、組み合さって上記のコンピュータコードを形成することができるいくつかの命令を実行することができる。このコンピュータコードをROM(945)に記憶したりRAM(946)に記憶したりすることができる。変化していくデータもRAM(946)に記憶することができる一方で、変化しないデータをたとえば内部大容量記憶装置(947)に記憶することができる。1つ以上のCPU(941)、GPU(942)、大容量記憶装置(947)、ROM(945)、RAM(946)などに密接に関連づけることができるキャッシュメモリを用いることにより、メモリデバイスのいずれにも高速記憶及び読み出しを行なうことを可能にすることができる。
【0113】
コンピュータ可読媒体には様々なコンピュータで実現される動作を実行するためのコンピュータコードを搭載することができる。媒体及びコンピュータコードは本開示のために特別に設計及び構成されたものであることが可能であるし、コンピュータソフトウェア技術の当業者によく知られ、当業者が入手可能な種類のものであることが可能である。
【0114】
限定としてではなく一例として、アーキテクチャ(900)を有するコンピュータシステム、特にコア(940)は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形のコンピュータ可読媒体中で実現されるソフトウェアを実行する結果として機能を発揮することができる。このようなコンピュータ可読媒体は上記で紹介したユーザによる取扱いが可能な大容量記憶装置に関連する媒体であることが可能であるだけでなく、コア内部大容量記憶装置(947)やROM(945)など、非一時的な特性を持つコア(940)の特定の記憶装置であることも可能である。本開示の様々な実施形態を実現するソフトウェアをこのようなデバイスに記憶してコア(940)によって実行することができる。コンピュータ可読媒体は個々の要求に応じて1つ以上のメモリデバイスやチップを含むことができる。ソフトウェアによって、コア(940)、特にコア(940)内のプロセッサ(CPU、GPU、FPGAなどを含む)に、本出願で説明されている、RAM(946)に記憶されるデータ構造を決めることと、ソフトウェアによって定められたプロセスにしたがってこのようなデータ構造を修正することとを含む、特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。これに加えて、又はこれに代わるものとして、本コンピュータシステムは結線によるロジックの結果として機能を発揮したり、回路において別の仕方で実現して機能を発揮したりすることができ(たとえばアクセラレータ(944))、これは、本出願で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するのに、ソフトウェアの代わりに動作したり、ソフトウェアと協働したりすることができる。必要に応じて、「ソフトウェア」と記載されている場合にはロジックを包含する場合があり、逆も可能である。必要に応じて、「コンピュータ可読媒体」と記載されている場合には、実行されるソフトウェアを記憶する回路(集積回路(IC)など)や、実行されるロジックを実現する回路や、これらの両方を包含する場合がある。本開示にはハードとソフトとの任意の適切な組み合わせが含まれる。
【0115】
本開示ではいくつかの典型的な実施形態を説明してきたが、変形例、置換例及び様々な代替の等価物が存在し、これらは本開示の範囲に含まれる。したがって、当業者であれば、本出願で明示的に示されていたり説明されていたりしなくても、本開示の原理を実現し、したがってその精神及び範囲内にある多数のシステム及び方法を想起することができることが分かる。
【符号の説明】
【0116】
100 VCMシステム
101 VCMエンコードサブシステム
102 VCMデコードサブシステム
105 ネットワーク
111 インターフェイス回路
112 マルチプレクサ
120 処理回路
130 映像エンコーダ
140 特徴エンコーダ
141 特徴抽出モジュール
142 特徴変換モジュール
143 特徴エンコードモジュール
150 コントローラ
161 インターフェイス回路
162 デマルチプレクサ
170 処理回路
180 映像デコーダ
190 特徴デコーダ
200 グラフ
210 第1の曲線
220 第2の曲線
230 第1の曲線と第2の曲線の間の面積
300 グラフ
310 第1の曲線
320 第2の曲線
330 第1の曲線と第2の曲線の間の面積
400 疑似コード
500 疑似コード
600 疑似コード
700 疑似コード
800 プロセス
900 コンピュータシステム
901 キーボード
902 マウス
903 トラックパッド
905 ジョイスティック
906 マイク
907 スキャナ
908 カメラ
909 音声出力デバイススピーカ
910 タッチ画面
920 CD/DVD ROM/RW
921 媒体
922 サムドライブ
923 ソリッドステートドライブ
940 コア
941 中央処理装置、CPU
942 グラフィックスプロセッシングユニット、GPU
943 フィールドプログラマブルゲートエリア、FPGA
944 ハードウェアアクセラレータ
945 読み出し専用メモリ、ROM
946 ランダムアクセスメモリ、RAM
947 大容量記憶装置
948 システムバス
949 ペリフェラルバス
950 グラフィックスアダプタ
954 インターフェイス
955 通信ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9