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

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

▶ ドルビー ラボラトリーズ ライセンシング コーポレイションの特許一覧

特許7577827HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理
<>
  • 特許-HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理 図1A
  • 特許-HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理 図1B
  • 特許-HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理 図2
  • 特許-HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理 図3A
  • 特許-HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理 図3B
  • 特許-HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-25
(45)【発行日】2024-11-05
(54)【発明の名称】HDRビデオのクラウド・ベース符号化における作業負荷割り当ておよび処理
(51)【国際特許分類】
   H04N 19/85 20140101AFI20241028BHJP
【FI】
H04N19/85
【請求項の数】 13
(21)【出願番号】P 2023500024
(86)(22)【出願日】2021-07-08
(65)【公表番号】
(43)【公表日】2023-08-01
(86)【国際出願番号】 US2021040967
(87)【国際公開番号】W WO2022011194
(87)【国際公開日】2022-01-13
【審査請求日】2023-01-04
(31)【優先権主張番号】20184883.5
(32)【優先日】2020-07-09
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】63/049,673
(32)【優先日】2020-07-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】スゥ,グワン-ミーン
(72)【発明者】
【氏名】カドゥ,ハルシャッド
(72)【発明者】
【氏名】ガドギル,ニーラジ ジェイ.
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】特表2010-529809(JP,A)
【文献】米国特許出願公開第2019/0349607(US,A1)
【文献】米国特許出願公開第2016/0036882(US,A1)
【文献】米国特許出願公開第2013/0104177(US,A1)
【文献】特開2002-199392(JP,A)
【文献】HUANG, Jing-Chen et al.,On High Efficient Cloud Video Transcoding,Proc. International Symposium on Intelligent Signal Processing and Communication Systems 2015,ID,IEEE,2016年03月14日,pp.170-173,[online],[retrieved on 2024-03-27],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/7432759>,https://doi.org/10.1109/ISPACS.2015.7432759
【文献】ZHANG, Ning et al.,Study on Adaptive Job Assignment for Multiprocessor Implementation of MPEG2 Video Encoding,IEEE Transactions on Industrial Electronics,米国,IEEE,1997年10月,Vol.44, No.5,pp.726-734,[online],[retrieved on 2024-03-27],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/633481>,https://doi.org/10.1109/41.633481
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
複数の計算ノードによってエンコードされるようシーンのシーケンスのシーンを割り当てるための方法であって、当該方法は:
シーンのシーケンスを受領する段階であって、各シーンが一つまたは複数のビデオ・フレームを含む、段階と;
シーンの前記シーケンスの各シーンがM個の計算ノードのうちの特定の計算ノードでのエンコードのためにスケジュールされる最良の出力割り当てを生成するために、一つまたは複数の割り当て反復工程を実行する段階とを含み、M>1であり、前記一つまたは複数の割り当て反復工程の各割り当て反復工程は:
各計算ノードについて、その割り当て反復工程のためのランダム・シード選択に基づいて、シーンの前記シーケンスの一つまたは複数のシーンの、その個別の計算ノードへの初期ランダム割り当て(305)を生成する段階と;
各計算ノードについて、前記初期ランダム割り当てに基づく洗練割り当てステップ(310)を実行し、シーンの前記シーケンスの前記一つまたは複数のシーンの、その個別の計算ノードへの洗練された割り当ておよび洗練された割り当てコストを生成する段階であって、前記洗練された割り当てコストは、割り当てられたシーンをエンコードするときにその個別の計算ノードに課される作業負荷を反映する、段階と;
前記複数の計算ノードにわたる作業負荷分配の均一性が最大化されるように、前記洗練された割り当てに基づいて、最良の割り当てコストおよび前記最良の出力割り当て(315)を更新する段階とを実行することを含む、
方法。
【請求項2】
前記複数の計算ノードにわたる作業負荷分配の均一性を最大化することは、前記M個の計算ノードについての前記洗練された割り当てコストを最小化することを含む、請求項1に記載の方法。
【請求項3】
前記洗練割り当てステップ(310)を実行することが:
第1の値を用いて全割り当てコストを初期化し;
各計算ノードmについて、シーンの前記シーケンスの前記M個の計算ノードへの前記初期ランダム割り当てに従ってノード作業負荷を設定し;
収束まで:
計算ノードm=0から始めて計算ノードm=M-1に達するまで、各計算ノードmについて順次:
計算ノードm<M-1についてのみ、そのノードの作業負荷からシーンを除去し、該シーンを計算ノードm+1の作業負荷に割り当て、前記M個の計算ノードについての第1のコスト・メトリックを計算し;
計算ノードm>0についてのみ、計算ノードm-1の作業負荷から取られたシーンを、そのノードの作業負荷に追加し、前記M個の計算ノードについての第2のコスト・メトリックを計算し;
そのノードの作業負荷を変更せずに保ち、前記M個の計算ノードについての第3のコスト・メトリックを計算し;
前記第1のコスト・メトリック、前記第2のコスト・メトリック、および前記第3のコスト・メトリックのうち最小のものに基づいて、更新されたノード作業負荷を生成し(360);
更新されたノード作業負荷に基づいて反復工程割り当てコストを計算し;
前記全割り当てコストが前記反復工程割り当てコストより小さい場合:収束を合図し、前記更新されたノード作業負荷を前記洗練された割り当てとして出力し、前記全割り当てコストを前記洗練された割り当てコストとして出力し、そうでない場合は:前記全割り当てコストを前記反復工程割り当てコストに置き換えることによって続行する
ことを繰り返すことを含む、
請求項1または2に記載の方法。
【請求項4】
前記初期ランダム割り当てを生成することが:
1からK-1のシーン・インデックスをもつ候補集合を生成する段階であって、Kは、前記M個の計算ノードに割り当てられるシーンの前記シーケンスにおけるシーンの総数を示す、段階と;
最初の要素0をもつ割り当て集合を生成する段階と;
前記割り当て集合を、前記ランダム・シード選択を用いたランダム選択に従って更新して、更新された割り当て集合を生成する段階と;
前記更新された割り当て集合を昇順にソートして、ソートされた割り当て集合を生成する段階と;
前記ソートされた割り当て集合に従って前記初期ランダム割り当てを生成する段階とを含み、
前記割り当て集合を更新することは:
t=1ないしM-1について:
0からK-t-1までの間のランダム整数pを選択し;
前記候補集合におけるp番目の要素を同定し、それを前記割り当て集合にアペンドし;
前記候補集合におけるp番目の要素を除去し;
前記候補集合を昇順にソートすることを含む、
請求項1ないし3のうちいずれか一項に記載の方法。
【請求項5】
前記ソートされた割り当て集合に従って前記初期ランダム割り当てを生成することが:
計算ノードmに、前記ソートされた割り当て集合におけるm番目の要素以上だが、前記ソートされた割り当て集合におけるm+1番目の要素より小さい値の間のインデックスをもつすべてのシーンを割り当てることを含む、
請求項4に記載の方法。
【請求項6】
各計算ノードについてのシーンからノードの割り当てに基づいて、すべての計算ノードについてコスト・メトリックを計算することが:
各計算ノードについて、前記シーンからノードの割り当てに基づいてその計算ノードに割り当てられたフレームの総数を計算し;
各計算ノードに割り当てられたフレームの総数の標準偏差を計算することを含む、
請求項1ないし5のうちいずれか一項に記載の方法。
【請求項7】
前記ノードの作業負荷からシーンを除去し、該シーンを計算ノードm+1の作業負荷に割り当てることは:
計算ノードmにおけるエンコードのためにスケジュールされた最後のシーンを識別し、計算ノードm+1でのエンコードのためにスケジュールされる最初のシーンとして割り当てることを含む、
請求項に記載の方法。
【請求項8】
計算ノードm-1の作業負荷から取られたシーンを、そのノードの作業負荷に追加することは:
計算ノードm-1におけるエンコードのためにスケジュールされた最後のシーンを識別し、計算ノードmにおけるエンコードのためにスケジュールされる最初のシーンとして割り当てることを含む、
請求項1ないし7のうちいずれか一項に記載の方法。
【請求項9】
最良の割り当てコストおよび最良の出力割り当てを更新することが:
最初の割り当て反復工程では、前記洗練された割り当てを最良の出力割り当てとして設定し、前記洗練された割り当てコストを最良の割り当てコストとして設定し;
その後の割り当て反復工程では、前記洗練された割り当てコストを最良の割り当てコストを比較し;最良の割り当てコストが前記洗練された割り当てコストより大きい場合には、前記洗練された割り当てを最良の出力割り当てとして選択し、前記洗練された割り当てコストを最良の割り当てコストとして選択することを含む、
請求項1ないし請求項8のうちいずれか一項に記載の方法。
【請求項10】
前記M個の計算ノードうちのある計算ノードについて:
シーンの前記シーケンスのその計算ノードへの最良の出力割り当てに従って、その計算ノードに割り当てられたシーンについての高ダイナミックレンジ(HDR)フレームのシーケンスおよび対応する標準ダイナミックレンジフレーム(SDR)のシーケンスにアクセスし;
その計算ノードに割り当てられた前記シーンについて出力ビットストリームを生成することをさらに含む、
請求項1ないし9のうちいずれか一項に記載の方法。
【請求項11】
前記出力ビットストリームを生成することがさらに:
HDRフレームの前記シーケンスとSDRフレームの前記シーケンスに基づいてシーン・ベースの前方再整形関数を生成し;
HDRフレームの前記シーケンスを、前記シーン・ベースの前方再整形関数に基づいて、再整形されたSDRフレームのシーケンスにマッピングし;
再整形されたSDRフレームの前記シーケンスを圧縮することによって、符号化されたビットストリームを生成し;
再整形されたSDRフレームの前記シーケンス、HDRフレームの前記シーケンス、および前記シーン・ベースの前方再整形関数に基づいてシーン・ベースの後方再整形関数を生成し;
前記シーン・ベースの後方再整形関数のパラメータに基づいてメタデータを生成し;
前記符号化されたビットストリームおよび前記メタデータを含む前記出力ビットストリームを出力することをさらに含む、
請求項10に記載の方法。
【請求項12】
請求項1ないし11のうちいずれか一項に記載の方法を一つまたは複数のプロセッサで実行するためのコンピュータ実行可能命令を記憶している非一時的なコンピュータ読み取り可能記憶媒体。
【請求項13】
プロセッサを有しており、請求項1ないし11に記載の方法のいずれかを実行するように構成されている装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2020年7月9日にいずれも出願された米国特許出願第63/049,673号および欧州特許出願EP20184883.5号からの優先権の利益を主張するものであり、各出願は、その全体が参照により援用される。
【0002】
技術
本開示は、概して画像に関する。より詳細には、本発明のある実施形態は、高ダイナミックレンジ(HDR)ビデオのクラウド・ベースの符号化における作業負荷割り当ておよび処理に関する。
【背景技術】
【0003】
本稿での用法では、用語「ダイナミックレンジ」(DR)は、たとえば最も暗いグレー(黒)から最も明るい白(ハイライト)までの、画像における強度(たとえば、ルミナンス、ルーマ)の範囲を知覚する人間の視覚系(HVS: human visual system)の能力に関係しうる。この意味では、DRは「シーン基準の(scene-referred)」強度に関係する。DRは、特定の幅の強度範囲を十分にまたは近似的にレンダリングする表示装置の能力にも関係しうる。この意味では、DRは「ディスプレイ基準の(display-referred)」強度に関係する。本稿の記述における任意の点において特定の意味が特に有意であることが明示的に指定されるのでない限り、この用語はどちらの意味でも、たとえば交換可能に使用されうると推定されるべきである。
【0004】
本稿での用法では、高ダイナミックレンジ(HDR: high dynamic range)という用語は、人間の視覚系(HVS)の14~15桁にまたがるDR幅に関係する。実際上、人間が強度範囲の広範な幅を同時に知覚しうるDRは、HDRに対してある程度打ち切られていることがある。本稿での用法では、「視覚的ダイナミックレンジ」(VDR: visual dynamic range)または「向上ダイナミックレンジ」(EDR: enhanced dynamic range)の用語は、個々にまたは交換可能に、眼球の動きも含み、シーンまたは画像を横断したいくらかの光順応変化を許容する人間の視覚系(HVS)によってシーンまたは画像内で知覚可能なDRに関係する。本稿での用法では、VDRは5~6桁にまたがるDRに関しうる。よって、真のシーン基準のHDRに比べるといくぶん狭いかもしれないが、それでもVDRまたはEDRは幅広いDR幅を表わし、やはりHDRと称されてもよい。
【0005】
実際上、画像は一つまたは複数の色成分(たとえばルーマYおよびクロマCbおよびCr)を有する。ここで、各色成分はnビット毎ピクセルの精度で表現される(たとえばn=8)。たとえば、ガンマ・ルミナンス符号化を使うと、n≦8である画像(たとえばカラー24ビットJPEG画像)は標準ダイナミックレンジの画像と考えられ、n≧10である画像は向上ダイナミックレンジの画像と考えられてもよい。HDR画像は、インダストリアル・ライト・アンド・マジックによって開発されたOpenEXRファイル・フォーマットのような、高精度(たとえば16ビット)の浮動小数点フォーマットを使って記憶および頒布されてもよい。
【0006】
たいていの消費者デスクトップ・ディスプレイは、現在のところ、200ないし300cd/m2またはニトのルミナンスをサポートする。たいていの消費者HDTVは300ないし500ニトの範囲であり、新しいモデルは1000ニト(cd/m2)に達する。よって、そのような従来のディスプレイは、HDRに対し、標準ダイナミックレンジ(SDR: standard dynamic range)とも称される低ダイナミックレンジ(LDR: lower dynamic range)の典型である。撮影設備(たとえばカメラ)およびHDRディスプレイ(たとえばドルビー・ラボラトリーズからのPRM-4200業務用参照モニタ)の両方における進歩のためHDRコンテンツの入手可能性が高まるにつれ、HDRコンテンツは、カラーグレーディングされ、より高いダイナミックレンジ(たとえば1000ニトから5000ニト以上)をサポートするHDRディスプレイ上で表示されることがある。
本稿での用法では、「前方再整形(forward reshaping)」という用語は、もとのビット深さおよびもとの符号語分布または表現(たとえば、ガンマ、PQ、HLGなど)から、同じまたは異なるビット深さおよび異なる符号語分布または表現への、デジタル画像の、サンプルからサンプルへのまたは符号語から符号語へのマッピングのプロセスを表す。再整形は、固定ビットレートでの改善された圧縮性または改善された画像品質を許容する。たとえば、限定されるものではないが、10ビットのビデオ符号化アーキテクチャーにおける符号化効率を改善するために、10ビットまたは12ビットのPQ符号化されたHDRビデオに再整形が適用されてもよい。受信機において、受信信号(これは再整形されてもされなくてもよい)を圧縮解除した後、受信機は、「逆(または後方)再整形関数」を適用して、信号をもとの符号語分布に復元し、および/または、より高いダイナミックレンジを達成することができる。
下記の参考文献のそれぞれは、その全体が参照により援用される。
【先行技術文献】
【特許文献】
【0007】
【文献】米国特許第10,575,028号、H. Kadu et al.、"Coding of high-dynamic range video using segment-based reshaping"
【文献】米国特許第8,811,490号、G-M. Su et al.、"Multiple color channel multiple regression predictor"
【文献】国際公開第2019/217751号、Q. Song et al.、PCT特許出願第PCT/US2019/031620号、"High-fidelity full reference and high-efficiency reduced reference encoding in end-to-end single-layer backward compatible encoding pipeline"、2019年5月9日出願
【文献】米国特許第10,264,287号、B. Wen et al.、"Inverse luma/chroma mappings with histogram transfer and approximation"
【文献】米国特許第10,397,576号、H. Kadu and G-M. Su、"Reshaping curve optimization in HDR coding"
【発明の概要】
【発明が解決しようとする課題】
【0008】
多くのビデオ配信シナリオでは、HDRビデオは、典型的には「クラウド・コンピューティング・サーバー」と呼ばれるマルチプロセッサ環境で符号化される可能性がある。そのような環境では、計算の容易さ、計算ノード間の作業負荷バランス、およびビデオ品質の間のトレードオフが、再整形関連メタデータがフレーム毎に更新されることを強制する可能性があり、そのことは特に、低ビットレートでビデオを送信する場合には、許容できないオーバーヘッドを生じる可能性がある。本発明者らにより認識されるように、再整形関連メタデータのオーバーヘッドを最小限にしながら、クラウド・ベースの環境における符号化されたビデオの品質を改善するよう、作業負荷割り当ておよびノード・ベースの処理のための改良された技術が望まれる。
【0009】
本セクションで記述されたアプローチは、追求されることができたが必ずしも以前に着想または追求されたアプローチではない。したがって、特に断りのない限り、本セクションにおいて記述されるアプローチはいずれも、本セクションに含まれているというだけのために従来技術の資格をもつと想定されるべきではない。同様に、特に断りのない限り、一つまたは複数のアプローチに関して特定されている問題は、このセクションに基づいて何らかの従来技術において認識されていたと想定されるべきではない。
【図面の簡単な説明】
【0010】
本発明の実施形態は、限定ではなく例として、添付の図面の図に示されており、同様の参照番号は同様の要素を指す。
【0011】
図1A】従来技術による再整形関数を使用するHDRデータのための例示的な単層エンコーダを示す。
【0012】
図1B】従来技術による、図1Aのエンコーダに対応する例示的なHDRデコーダを示す。
【0013】
図2】ある実施形態による、HDRビデオのクラウド・ベースのエンコードのための例示的アーキテクチャーを示す。
【0014】
図3A】ある実施形態による、シーンからセグメントへの割り当てのための例示的プロセスを示す。
【0015】
図3B】ある実施形態による、シーンからセグメントへの割り当てプロセス内の洗練割り当てプロセスの例を示す図である。
【0016】
図4】本発明のある実施形態による、再整形を使用するシーン・ベースのエンコードのための例示的なエンコーダを示す。
【発明を実施するための形態】
【0017】
HDRビデオのクラウド・ベースのビデオ符号化における作業負荷割り当ておよびノード・ベースの処理のための方法が本明細書に記載される。以下の記述では、説明の目的で、本発明の十全な理解を提供するために、多数の個別的な詳細が記載される。しかしながら、本発明は、これらの個別的な詳細なしに実施されうることは明らかであろう。他方では、本発明を不必要に隠蔽し、不明瞭にし、または埋没させることを避けるために、周知の構造および装置は、網羅的な詳細さでは記述されていない。
【0018】
概要
本明細書に記載される例示的な実施形態は、HDR画像のためのクラウド・ベースの再整形および符号化〔コーディング〕に関する。ある実施形態では、HDRビデオをエンコードするためのクラウド・ベースのシステムでは、ノードは、入力ビデオをシーンにセグメント化し、他の計算ノードによって使用される、シーンからセグメントへの割り当てを生成する発注者ノードであるように割り当てられる。発注者ノード内のプロセッサは、シーンのシーケンスを受領し、各シーンは、一つまたは複数のビデオ・フレームを含み、次いで、プロセッサは:
シーンのシーケンスを受領する段階であって、各シーンが一つまたは複数のビデオ・フレームを含む、段階と;
最良の出力割り当てを生成するために一つまたは複数の割り当て反復工程を実行する段階とを実行し、前記一つまたは複数の割り当て反復工程を実行することは:
前記一つまたは複数の割り当て反復工程におけるある反復工程について:
その割り当て反復工程のためのランダム・シード選択に基づいてシーンのシーケンスの、M個の計算ノードへの初期ランダム割り当て(305)を生成する段階であって、M>1である、段階と;
前記初期ランダム割り当てに基づく洗練割り当てステップ(310)を実行し、シーンのシーケンスのM個の計算ノードへの洗練された割り当ておよび洗練された割り当てコストを生成する段階と;
最良の割り当てコストおよび最良の出力割り当て(315)を、洗練された割り当ておよび洗練された割り当てコストに基づいて更新する段階とを実行することを含む。
【0019】
別の実施形態では、M個の計算ノードのうちのあるノードについて、そのノード内のプロセッサは、シーンからセグメントへの割り当てに従って、そのノードに割り当てられたシーンにアクセスする段階であって、該シーンは、高ダイナミックレンジ(HDR)フレームのシーケンスと、対応する標準ダイナミックレンジフレーム(SDR)のシーケンスとを含む、段階と、シーン・ベースの前方再整形関数およびシーン・ベースの後方再整形関数を使用して出力ビットストリームおよび対応する再整形メタデータとを生成する段階とを実行する。
【0020】
例示的なHDR符号化システム
図1Aおよび図1Bは、従来技術に基づき、画像再整形を用いた例示的な単一層の後方互換なコーデック・フレームワークを示す。より具体的には、図1Aは、上流のビデオ・エンコーダ内の一つまたは複数のコンピューティング・プロセッサで実装されうる例示的なエンコーダ・アーキテクチャーを示す。図1Bは、一つまたは複数の下流のビデオ・デコーダ内のやはり一つまたは複数のコンピューティング・プロセッサで実装されうる例示的なデコーダ・アーキテクチャーを示す。
【0021】
この枠組みの下では、参照HDRコンテンツ(120)および対応する参照SDRコンテンツ(125)(すなわち、HDRコンテンツと同じ画像を表すが、カラーグレーディングされ、標準ダイナミックレンジで表現されるコンテンツ)が与えられて、再整形されたHDRコンテンツ(134)が、エンコーダ・アーキテクチャーを実装する上流のエンコード装置によって、符号化されたビデオ信号(144)の単一層におけるSDRコンテンツとしてエンコードされ、伝送される。受領されたSDRコンテンツは、ビデオ信号の単一層において、デコーダ・アーキテクチャーを実装する下流のデコード装置によって受領され、デコードされる。後方再整形メタデータ(152)も、再整形されたコンテンツと一緒にビデオ信号においてエンコードされ、伝送され、それにより、HDR表示装置が(再整形された)SDRコンテンツおよび後方再整形メタデータに基づいてHDRコンテンツを再構成できる。一般性を失うことなく、非後方互換なシステムにおけるようないくつかの実施形態では、再整形されたSDRコンテンツは、それ自体では閲覧可能ではなくてもよく、閲覧可能なSDRまたはHDRコンテンツを生成する後方再整形関数と組み合わせて閲覧されなければならない。後方互換性をサポートする他の実施形態では、後方再整形関数を用いることなく、レガシーSDRデコーダでも、受領されたSDRコンテンツを再生できる。
【0022】
図1Aに示されるように、HDR画像(120)および目標ダイナミックレンジを与えられて、ステップ130において前方再整形関数(132)を生成した後、該前方再整形関数を与えられた後、前方再整形マッピング・ステップ(132)がHDR画像(120)に適用されて、再整形されたSDR基本層(134)が生成される。圧縮ブロック142(たとえば、AVC、HEVC、AV1などの任意の既知のビデオ符号化アルゴリズムに従って実装されたエンコーダ)は、ビデオ信号の単一層(144)においてSDR画像(134)を圧縮/エンコードする。さらに、後方再整形関数生成器(150)は、メタデータ(152)としてデコーダに伝送されうる後方再整形関数を生成することができる。いくつかの実施形態では、メタデータ(152)は、前方再整形関数(130)を表すことができ、よって、後方再整形関数(図示せず)を生成するのはデコーダに任される。
【0023】
最適な後方再整形関数を表す/指定する後方再整形メタデータの例は、必ずしもこれらのみに限定されないが:逆トーンマッピング関数、逆ルーマ・マッピング関数、逆クロマ・マッピング関数、ルックアップテーブル(LUT)、多項式、逆表示管理係数/パラメータなどを含みうる。さまざまな実施形態において、ルーマ後方再整形関数およびクロマ後方再整形関数は、合同誌てまたは別個に導出/最適化されてもよく、たとえば限定なしに、本開示で後述するような多様な技術を使用して導出されてもよい。
【0024】
再整形されたSDR画像(134)および目標HDR画像(120)に基づいて後方再整形関数生成器(150)によって生成される後方再整形メタデータ(152)は、ビデオ信号144の一部として、たとえば補足向上情報(supplemental enhancement information、SEI)メッセージングとして多重化されてもよい。
【0025】
いくつかの実施形態では、後方再整形メタデータ(152)は、全体的な画像メタデータの一部としてビデオ信号において搬送され、該メタデータは、ビデオ信号においてSDR画像がエンコードされる単一層とは別個にビデオ信号において搬送される。たとえば、後方再整形メタデータ(152)は、符号化ビットストリームにおける成分ストリームにおいてエンコードされてもよく、該成分ストリームは、SDR画像(134)がエンコードされる(符号化ビットストリームの)単一層と別個であってもなくてもよい。
【0026】
このように、後方再整形メタデータ(152)は、エンコーダ側で利用可能な強力な計算資源およびオフライン・エンコード・フロー(コンテンツ適応多重パス(content adaptive multiple passes)、先読み動作、逆ルーマ・マッピング、逆クロマ・マッピング、CDFベースのヒストグラム近似および/または転送(transfer)等を含むが、これらに限定されない)を利用するために、エンコーダ側で生成または予備生成されることができる。
【0027】
図1Aのエンコーダ・アーキテクチャーは、目標HDR画像(120)をビデオ信号中の符号化された/圧縮されたHDR画像に直接エンコードすることを避けるために使用されることができ;その代わりに、ビデオ信号中の後方再整形メタデータ(152)を使うことで、下流のデコード装置が(ビデオ信号中にエンコードされた)SDR画像(134)を、参照HDR画像(120)と同一であるか、またはそれをよく近似する/最適に近似する再構成された画像に後方再整形することができるようにすることができる。
【0028】
いくつかの実施形態では、図1Bに示されるように、単一層(144)における再整形されたSDR画像でエンコードされたビデオ信号および全体的な画像メタデータの一部としての後方再整形メタデータ(152)は、コーデック・フレームワークのデコーダ側で入力として受領される。圧縮解除ブロック(154)は、ビデオ信号の単一層(144)における圧縮されたビデオ・データをデコードされたSDR画像(156)に圧縮解除/デコードする。圧縮解除154は、典型的には、圧縮142の逆に対応する。デコードされたSDR画像(156)は、SDR表示装置のために最適化されていてもよい圧縮ブロック(142)および圧縮解除ブロック(154)における量子化誤差のもとで、SDR画像(134)と同じであってもよい。後方互換なシステムでは、デコードされたSDR画像(156)は、SDR表示装置上でレンダリングされるよう出力SDRビデオ信号において(HDMI(登録商標)インターフェースを通じて、ビデオ・リンクを通じて、など)出力されてもよい。
【0029】
任意的に、代替的にまたは追加的に、同じまたは別の実施形態において、後方再整形ブロック158は、入力ビデオ信号から後方(または前方)再整形メタデータ(152)を抽出し、再整形メタデータ(152)に基づいて後方再整形関数を構築し、最適な後方再整形機能に基づいて、デコードされたSDR画像(156)に対して後方再整形演算を実行して、後方再整形された画像(160)(または再構成されたHDR画像)を生成する。いくつかの実施形態では、後方再整形画像は、参照HDR画像(120)と同一であるかまたはそれをよく近似する/最適に近似する、プロダクション品質またはほぼプロダクション品質のHDR画像を表す。後方再整形画像(160)は、HDR表示装置上でレンダリングされるよう、出力HDRビデオ信号において(たとえばHDMI(登録商標)インターフェースを通じて、ビデオ・リンクを通じて、など)出力されてもよい。
【0030】
いくつかの実施形態では、HDR表示装置に特有の表示管理動作が、HDR表示装置上で後方再整形された画像(160)をレンダリングするHDR画像レンダリング動作の一部として、後方再整形された画像(160)に対して実行されてもよい。
【0031】
クラウド・ベースの符号化
既存の再整形技術は、フレーム・ベースであってもよく、すなわち、新しい再整形メタデータが新しいフレームごとに送信される、あるいはシーン・ベースであってもよく、すなわち、新しい再整形メタデータが新しいシーンごとに送信される。本明細書で使用されるところでは、ビデオ・シーケンス(フレーム/画像のシーケンス)についての用語「シーン」は、同様のルミナンス、色、およびダイナミックレンジ特性を共有する、ビデオ・シーケンス内の一連の連続するフレームに関連しうる。シーン・ベースの方法は、完全なシーンにアクセスできるビデオ・ワークフロー・パイプラインではうまく機能する。だが、コンテンツ・プロバイダーがクラウド・ベースのマルチプロセッシングを使用することは珍しくなく、その場合、ビデオ・ストリームをセグメントに分割した後、各セグメントはクラウド内の単一の計算ノードによって独立して処理される。本明細書で使用するところでは、「セグメント」という用語は、ビデオ・シーケンスにおける一連の連続するフレームを示す。セグメントはシーンの一部であってもよく、または一つまたは複数のシーンを含んでいてもよい。よって、シーンの処理は、複数のプロセッサにまたがって分割されることがある。
【0032】
特許文献1で論じられているように、ある種のクラウド・ベースのアプリケーションでは、ある種の品質制約条件の下で、セグメント・ベースの処理は、フレームごとに再整形メタデータを生成することを必要とし、望ましくないオーバーヘッドをもたらす可能性がある。これは、非常に低いビットレート(たとえば、1Mbit/s未満)のアプリケーションで問題になりうる。図2は、デコードされたビデオの品質を損なうことなく、再整形メタデータのデータレート低減を許容する、新しいシーン・ベースの分散アーキテクチャーの例示的なアーキテクチャーを示す。
【0033】
図2に示されているように、提案されるアーキテクチャーは、2つのステージを含む:a)限定ではないが典型的には、シーンをセグメントに割り当てる、単一の計算ノード上に実装される発注者ステージ(205)と、b)クラウド内の各ノードがセグメントのシーケンスをエンコードするエンコード・ステージ(210)である。
【0034】
典型的にはメザニン(mezzanine)ファイルと呼ばれる、コンテンツ配信のためのビデオ・ソース(202)を与えられて、第1ステージ・ノードはビデオ・メタデータを(たとえば、XMLファイルから)取ってきて:(a)ステップ215で、シーン境界を決定し、(b)ステップ220で、各作業者ノードのためのシーンからセグメントへの割り当てリストを決定する。シーン境界決定についての主な目的は、1つのシーン内で通常の再生中に、フェードイン、フェードアウト、ディゾルブなどの顕著なルミナンスまたは色の変化がないことを確かにすることである。(ビデオ編集におけるディゾルブとは、ある画像から別の画像へのスムーズな移行のことを指す。ブランク(または黒)画像から別の画像へのディゾルブは、フェードインまたはフェードアウトとも呼ばれる。)シーンからセグメントへの割り当てユニット(220)の目標は、1つのシーンが2つの異なる計算ノードにおいて分割され、エンコードされることがないことを保証することであり、そのようなことがあるとセグメント境界付近に突然の変化を引き起こす可能性がある。さらに、割り当てタスクは、すべての計算ノード(210)にわたる均一な作業負荷に向けて努力するべきである。
【0035】
第2ステージ(210)では、各計算ノードは、それ自身のシーンからセグメントのリスト(S2Sリスト)(230)をステージ1から受領し、対応するセグメントのためのそれ自身の部分的メザニン(225)を入力ビデオ(202)から受領する。各ノードは、並列に、その割り当てられたセグメントをエンコードし、符号化ビットストリームを出力する。各処理タスクの詳細については、次に論じる。
【0036】
発注者ノード〔ディスパッチャー・ノード〕
各ノードにおける作業負荷分散の要件に依存して、関心のある2つの主なシナリオがある。ある実施形態では、セグメントは、不均一な長さを有していてもよく、これは異なるノードにおける不均一な作業負荷を許容する。これは、シーンが複数のノードでエンコードされるように分割できないシーン・ベースの解決策のために調整される。別の実施形態では、セグメントは、固定長を有し、よって、すべてのノードにわたって均一な作業負荷を強制する。提案される発注者および作業者ノード・モデルの下で、提案されるアーキテクチャーは両方のシナリオを扱うことができる。
【0037】
不均一セグメント長シナリオでは、各作業者ノードは、処理のために異なる作業負荷を受け取ることがある。シーン・ベースのエンコードを有効にするために、発注者ノードはXMLファイル(メザニンから抽出される)を読み込み、シーン境界を決定する。特に、フェードイン/フェードアウト内でどのように諸フレームを分割またはマージするか、どのように諸シーンを新しいシーン・カット境界にディゾルブするかを決定する。これらの新しい定義されたシーンのうちで、発注者はどのシーンがどのノードによってエンコードされるべきかを決定する。このプロセスの出力は、シーンからセグメント(S2S)リスト(230)である。主な目的は、各ノード内のフレーム数をできるだけ均一に分散させることである。ある実施形態では、限定されるものではないが、このステージにおける均一性を測定するためのメトリックは、各ノードにおいて割り当てられたフレーム数の標準偏差である。標準偏差が小さいほど、各ノードの作業負荷がより均一であることを意味する。ある実施形態では、S2Sリストは、中断されないシーン処理制約条件の下で、全ノードにわたる最も均一な負荷を求める最適化問題の出力として導出されてもよい。
【0038】
シーン・カットは、ビデオ・ソース(202)のXMLファイルにおいて定義されてもよいが、典型的には、そのようなメタデータはカラーグレーディング境界を定義する。たとえば、再生中に表示管理プロセスが色を歪めないように、カラーグレーディングの便宜のために、シーン・カット・フラグがディゾルブ・シーン中に挿入されることができる。しかしながら、これらのXMLデータは、ベースライン・データが再整形されること、および再整形がディゾルブ内の最終的な見え方に影響を与える可能性があることを考慮に入れていない。ある実施形態では、そのような問題を避けるために、ディゾルブは複数のシーン毎単一フレーム(multiple single frames per scene)に分割されて、時間領域に沿った遅い遷移を許容することができる。この方法は、これらの特殊な遷移効果の間、再整形関連メタデータのビットレートを増加させることに注意されたい。フェードインおよびフェードアウト遷移にも、同じ技法が適用できる。
【0039】
XMLファイルが利用可能でない場合、発注者は、当該技術分野で知られている既知のシーン・カット検出技術のいずれかを用いて、自分自身でシーン・カットを識別する必要がある。たとえば、ある実施形態では、時間領域に沿ったルミナンス変化を測定し、変化が一定レートであるかどうかを見ることができる。ひとたびシーン・カットが検出されると、シーン・カット全体を単一フレームに分割することができ、各フレームが別個の「シーン」を表す。
【0040】
上記の諸方法に加えて、誤ったシーン・カット境界を避けるために、シーン・カット境界付近のソフト遷移を考慮することもできる。たとえば、検出されたシーン・カットについて、シーン・カットの前に少数の単一フレーム「シーン」を追加し、シーン・カットの後に少数の単一フレーム「シーン」を追加することができる。そのような方法はシーン・ベースのメタデータのビットレートを増加させる。
【0041】
シーン境界決定(215)が与えられると、シーンからセグメント・ユニット(220)は、どのシーンをどのセグメントに含められるべきかを決定する。この種の割り当ては、シーンからセグメント割り当てリスト(S2Sリスト)(230)を与える。発注者ノードは、各作業者ノードについて1つのS2Sリストを出力する。
【0042】
K個のシーンにグループ化された、J個の合計フレームをもつビデオ・シーケンスを考える。k番目のシーンについての対応する開始フレーム・インデックスをSkとし、k番目のシーンについてのフレーム数をDkとする。ここで、k=0,1,…,K-1である。こうして:
【数1】
作業者ノードの数をMとする。シーンを各ノードに分配するために、ある実施形態では、以下の規則を課すことができる:
・シーンは、複数のノードで処理される複数の、より小さなサブシーンに分割されることはできない。言い換えれば、再整形関連メタデータの時間的安定性および圧縮効率を維持するために、完全なシーンを1つのノード内で処理しなければならない。
・ノードは、時間的に連続していないシーンを処理するべきではない。たとえば、ノードnがシーン3、6、7を処理することは望ましくない。なぜなら、シーン3、6は連続しておらず、何らかの時点でシーン3とシーン6の間にシーン4、5を挿入する必要があるからである。連続しないシーンを処理するには、すべてのシーンを順序通りにまとめ直すための後処理ステップを必要とし、よって、余分な後処理を必要とする。
【0043】
ノードmに割り当てられたシーンの集まりを、Φmとする。ここで、m=0,1,…,M-1である。前述の規則に従い、Φm内の最初のシーン・インデックスをφmとして定義することができる。ここで、φmは0からK-1までの間の値範囲をもつ。ある実施形態では、実装を簡略化するために、単調増分規則が施行されてもよい。すなわち:
m<nであるとき、φm<φn
ある実施形態では、φ0=0であり、よって、最初のシーンは常に最初のセグメントに割り当てられる。シーンKの数がノードの数Mよりも大きい場合、φmは一意的でなければならない。すなわち、その値は他のノードのどれにおいても同じであってはならない。これは、どのノードの作業負荷もゼロでないことを保証するためである。K<Mの場合、簡単な解決策は、各ノードに1つのシーンを割り当て、残りのノードはシーンをゼロ個にしておくことである。
【0044】
図3Aは、ある実施形態による、シーンからセグメントの割り当てのための例示的なプロセス(300)を示す。図3Aに示されるように、プロセスは、初期ランダム割り当て(305)で始まる。このステップでは、K個のシーンのリストがランダムにM個のセグメントに分割される。その初期リストは、逐次反復アルゴリズムを使用してさらに調整される。ステップ305は2つの集合を初期化する:
・候補集合(Ω(t))は、(t>0について)t回目の反復工程の終了時におけるシーン・インデックスのもとのリストである。
・選択集合(Ψ(t))はt回目の反復工程の終了時における割り当てられたシーン・インデックスのリストである。
【0045】
動作のはじめ、すなわちt=0では、Ω(0)は最初のシーン以外のすべてのシーンを含み(すなわち、Ω(0)={φm|m=1,…,K-1})を除くすべてのシーンを含み、Ψ(0)は最初のシーンφ0のみを含む。t回目の反復工程(t>0)では、Ω(t-1)から1つの要素をランダムに選択し、この要素をΩ(t-1)から除去し、この選ばれた要素を集合Ψ(t)に入れる。このプロセスは、Ψ(t)が昇順にソートされるM個の要素を含むようになるまで、M-1回繰り返される。ソートされたΨ(t)が、このステージからの出力となる。テーブル1は、このプロセスを擬似コードで表現している。
テーブル1:シーンからセグメントの割り当てにおける初期化ステップ
【表1】
【0046】
例として、3つのノードにおいて割り当てられるべき10個のシーンのリストを考える。各シーンは、下記に示されるように可変数のフレームをもつ。
【表2】
ステップ305の出力をΨ(2)={0,3,8}とすると、このステップの後、シーンは次のようにノード(またはセグメント)に割り当てられる:
ノード0:シーン0~2
ノード1:シーン3~7
ノード2:シーン8~9
【0047】
ステップ310において、この初期のランダム割り当て(Ψ(M-1))は、図3Bに示されるように、逐次反復的にさらに洗練される。図3Bに示されるように、2つの逐次反復ステップがある:a)(すべてのノードについて)ノード・レベルで1つ、およびb)(収束まで)全割り当てコスト・レベルで1つである。ステップ345で始めて、全割り当てコストは、最大の可能な割り当てコスト(たとえば、σf opt=inf)を近似しうる大きな値に初期化される。次に、各ノードm、m=0,1,2,…M-1についてアルゴリズムが逐次反復される。各ノード反復工程において、各ノードの作業負荷を見て、3つの可能なシナリオを使用して各ノードの作業負荷が調整されうる(350):
・(A)その最後のシーンを除去し、それを次のノードに移す(これはノードM-1には適用されない)
・(B)その前のノードからもう1つシーンを追加する(これはノード0には適用されない)
・(C)現在の割り当てを維持する
これら3つのオプションのうち、ステップ355では、割り当て関連コスト(たとえば、各セグメントにおけるフレーム数の標準偏差)を測る。コストが低いほど、作業負荷がより均一であることを意味し、より好ましい。よって、各ノードについて、ステップ360において、最も低い割り当てコストを与える設定が選択される。すべてのノードが処理された後、ステップ362において、最低の割り当てコスト(たとえば、σf (t))が、既存の全割り当てコスト(たとえば、σf opt)と比較される。最低の割り当てコストが全割り当てコストよりも低いと考えられる場合、全割り当てコストの値は最低の割り当てコストで更新され、プロセスはステップ350に戻る。さもなければ、コスト改善がないか、または改善が小さすぎると考えられる場合、ステップ365において、洗練割り当てステージ310は、最後のシーンからセグメントの割り当てと、対応するコスト(すなわち、全割り当てコストの最後の値)を出力することによって終了する。これらは、洗練されたS2S割り当ておよび洗練された割り当てコストと称される。
【0048】
別の実施形態では、ノード逐次反復(たとえば、ステップ350、355、および360)をノード0で始めて前方に進む代わりに、ノードM-1でノード逐次反復を始めて後方に進んでもよい。あるいはまた、すべてのノードのうちで両方向に逐次反復することを試み、それら2つの間で最小コストをもつ作業負荷を選択してもよい。
【0049】
ステージ310の後、洗練されたシーンからセグメントの割り当てを与えられて、ステップ315において、新しい最良の全体的な割り当てコスト(および関連するS2S割り当て)が計算されてもよい。ある実施形態では、最適でない割り当てにつながりうる不良なランダム初期化ステップ305を避けるために、ステップ305~315は、L個の異なるランダム初期化ステップ305について(たとえば、異なるランダム・シード生成器を使用することによって)L回繰り返され、各ステップが全体的な割り当てコスト(l)、l=1,2,…L(たとえばσf,l opt)を与える。次いで、ステップ315において、最良の全体的なコスト(たとえば、最小の標準偏差σf,l opt)をもつ割り当てを選択する。実験結果は、洗練された割り当てステップ(310)と組み合わせたL=100が満足な結果をもたらし、Lのより大きな値は全体的なS2S割り当て戦略を有意に改善しないことを示した。
【0050】
よって、l=1では、σf,1 optは単に最初の洗練された割り当てコストを表す(すなわちσf *=σf,1 opt=σf opt)を表す。ここで、σf *は最良の全体的な割り当てコストを表す。その後の反復工程では、σf *<σf,l optであれば、この反復工程は無視され、そうでなければ、最良の割り当てコストが更新され(たとえばσf *=σf,l opt)、この反復工程についての対応する作業負荷が、最良のシーンからセグメントの割り当てと考えられる。
【0051】
ステップ320は、すべてのL回の反復工程が行われたかどうかをチェックし、そうであれば、ステップ325において、最良のシーンからセグメントの割り当て、すなわち、すべてのL回の反復工程のうちで最良のコストをもつものが出力され、そうでなければ、プロセスは、別の初期ランダム割り当て(305)を用いて繰り返される。
【0052】
議論を容易にするために、ビデオ・シーケンスの終わりを示すもう1つの変数φM (t)=Kが追加される。{φm (t)}の集合、m=0,1,…,Mが与えられて、t回目の反復工程における各ノードにおけるフレーム数を次のように計算できる。
【数2】
ある実施形態では、作業負荷の均一性、または割り当てコストは、{fm (t)}の標準偏差として定義できる。ここで、
【数3】
σf (t)の値が小さいほど、作業負荷は各ノードに分散される。この洗練割り当てステージについての例示的な擬似コードがテーブル2に掲げられる。
テーブル2:シーンからセグメントの割り当てにおける洗練割り当てステージのための例示的なコード
【表3】
【0053】
ある実施形態では、限定されるものではないが、使用されるフレームの標準偏差は、洗練割り当てステージのための良好なコスト・メトリックを提供するが、以下のような代替コスト・メトリックが適用されてもよい:
・ノード内の全割り当てられたフレームの最大数から、ノード内の全割り当てられたフレームの最小数を引いたものとして測られる作業負荷範囲
・各ノードにおける全フレームの作業負荷平均(たとえば式(4)におけるμf (t)

【数4】
各ノードにおける作業負荷の、全体的な平均からの平均距離
【0054】
我々の例に戻ると、テーブル3およびテーブル4は、ランダム初期化ステージの後の、シーンからセグメントの割り当てておよび対応するS2Sパラメータを示す。{fm (0)}内の値のうちで標準偏差によって測られる全体的なコストは、σf (0)=6.81として計算できる。
テーブル3:初期化後の例示的なS2S割り当て
【表4】
テーブル4:初期化ステージ後の例示的な割り当てパラメータ
【表5】
【0055】
ここで、洗練された割り当て(310)の例を考える。このステージの最初の反復(t=0)では、最初のノードm=0について、3つの異なる戦略が試され、それぞれの場合について標準偏差σf (0)が測られる。結果はテーブル5および6に示される。テーブル5に示されるように、オプションAの下では、ノード0はシーン0と1のみを割り当てられ、コストは10.12であり、オプションBの下では、ノード0はシーン0~3を割り当てられ、コストは5.04であり、オプションC(前と変更なし)の下では、コストは同じまま(6.81)である。こうして、オプションBが、その後の諸ノードにおいてシーンの割り当てを洗練することを続けるための最良の戦略として選択される。そこで、同じプロセスが繰り返される。
テーブル5:ノード0についての例示的な洗練された割り当て
【表6】
テーブル6:ノード0についてのオプションA、B、CについてのS2Sパラメータ
【表7】
【0056】
t=0の終わりには、この例では、最良のS2Sは、テーブル6に示したコストσf opt 5.04のもののままである;すなわち:
ノード0:シーン0~3
ノード1:シーン4~7
ノード2:シーン8~9
【0057】
次に、t=1で、ステップ350、355および360が繰り返される。この例では、t=1において、全体的なコストの改善はないので、プロセスは終了する。
【0058】
いくつかの実施形態では、すべてのセグメントが同じ数のフレームを有することが好ましい場合がある。そのようなシナリオについては、最初のM-1個のノードについてのフレーム数を次のように割り当てることができる。
【数5】
残りのフレームは、次のように最後のノード(ノードM-1)に割り当てられる。
【数6】
【0059】
シーン・ベースの符号化
シーンからセグメントの割り当て(230)が与えられて、図4は、クラウド内の各ノード(210)上のシーン・ベースのエンコードのための例示的なアーキテクチャーを示す。k番目のシーンについての開始フレーム・インデックスがSkと記されることを想起されたい。よって、シーンkが与えられると、ノードはフレームSk、Sk+1、Sk+2、…、およびSk+1-1を処理する必要がある。あるシーンについての参照HDRフレーム(404)および対応するSDRフレーム(402)は、対応するSDRおよびHDRシーン・バッファ(図示せず)に格納されてもよい。
【0060】
図4から、ステップ405において、入力SDRおよびHDRフレームは、シーン・ベースの前方再整形関数を生成するために使用される。そのような関数のパラメータは、シーン全体について使用され(フレームごとに更新されるのではなく)、よって、メタデータ152のためのオーバーヘッドを低減する。次に、ステップ132において、前方再整形がHDRシーン(404)に適用されて、再整形された基本層407を生成し、これが圧縮ユニット(142)によって符号化されて、符号化されたビットストリーム144を生成する。最後に、ステップ410では、再整形されたSDRデータ407ともとのHDRデータ(404)を用いて、下流のデコーダに一緒に送信される後方再整形関数のためのパラメータ152を生成する。これらのステップについては、次により詳細に述べる。
限定されることなく、ステップは、3次元マッピング・テーブル(3DMT)表現と呼ばれるもののコンテキストで記述される。ここで、動作を単純化するために、各フレームは、3次元マッピング・テーブルとして表現され、各色成分(たとえば、Y、Cb、またはCr)は「ビン」に細分され、明示的なピクセル値を用いて画像を表現する代わりに、各ビン内のピクセル平均を使用する。3DMT定式化の詳細は特許文献3に見出すことができる。
【0061】
前方再整形関数のシーン・ベースの生成(405)は、2つのレベルの動作からなる。まず、各フレームについて統計が収集される。たとえば、ルーマについては、SDR(hj s(b))フレームとHDR(hj v(b))フレームの両方についてのヒストグラムを計算し、それらをj番目のフレームについてのフレームバッファに格納する。ここで、bはビン・インデックスである。各フレームについて3DMT表現を生成した後、次のように記される「a/B」行列表現を生成する:
【数7】
ここで、chは、ルーマまたはクロマ・チャネル(たとえば、Y、Cb、またはCr)を指し、(Sj F)Tは参照HDRシーン・データおよび前方再整形関数のパラメトリック・モデルに基づく転置行列を示し、vj F,chはSDRシーン・データおよび前方整形関数の前記パラメトリック・モデルに基づくベクトルを示す。
【0062】
現在シーン内の各フレームの統計を与えられて、最適な前方再整形係数を計算するためにシーン・レベル・アルゴリズムを適用することができる。たとえば、ルーマについては、フレーム・ベースのヒストグラムを加算または平均することによって、SDR(hs(b))およびHDRデータ(hv(b))についてのシーン・ベースのヒストグラムを生成することができる。たとえば、ある実施形態では、
【数8】
【0063】
両方のシーン・レベルのヒストグラムをもつことで、HDRからSDRへの前方マッピング関数(FLUT)を生成するために累積密度関数(CDF)マッチング(特許文献4~5)を適用することができる。
【数9】
クロマ(たとえば、ch=Cbまたはch=Cr)については、式(7)中のa/Bフレーム・ベース表現に対して再び平均して、
【数10】
によって与えられるシーン・ベースのa/B行列表現を生成し、(特許文献2~3)のような再整形関数の多色多重回帰(multiple-color, multiple-regression、MMR)モデルについてのパラメータを生成することができる。
【数11】
すると、再整形されたSDR信号(407)は次のように生成できる。
【数12】
【0064】
シーン・ベースの後方再整形関数を生成すること(410)は、フレーム・レベルとシーン・レベルの両方の動作を含む。ルーマ・マッピング関数は単一チャネル予測子であるため、単に前方再整形関数を反転させて後方再整形関数を得ることができる。クロマについては、再整形されたSDRデータ(407)ともとのHDRデータ(404)を用いて3DMT表現を形成し、次のように新しいフレーム・ベースのa/B表現を計算する:
【数13】
【0065】
シーン・レベルでは、ルーマについて、後方ルーマ再整形関数を生成するために、特許文献3のヒストグラム加重BLUT構築を適用してもよい。クロマについては、シーン・ベースのa/B表現を計算するために、再びフレーム・ベースのa/B表現を平均することができる。
【数14】
ここで、後方再整形マッピング関数についてのMMRモデル解は次式によって与えられる。
【数15】
次いで、再構成されたHDR信号(160)は次のように生成できる:
【数16】
【0066】
例示的なコンピュータ・システム実装
本発明の実施形態は、コンピュータ・システム、電子回路およびコンポーネントにおいて構成されるシステム、集積回路(IC)デバイス、たとえばマイクロコントローラ、フィールド・プログラマブル・ゲート・アレイ(FPGA)、または他の構成可能またはプログラマブルなロジック・デバイス(PLD)、離散時間またはデジタル信号プロセッサ(DSP)、特定用途向けIC(ASIC)、および/またはそのようなシステム、デバイスまたはコンポーネントの一つまたは複数を含む装置を用いて実装されうる。コンピュータおよび/またはICは、ここに記載されるような、HDRビデオのクラウド・ベースのビデオ符号化における、作業負荷配分およびノード・ベースの処理に関する命令を実行、制御、または執行することができる。コンピュータおよび/またはICは、ここに記載されるようなHDRビデオのクラウド・ベースのビデオ符号化における、作業負荷配分およびノード・ベースの処理に関する多様な多様なパラメータまたは値の任意のものを計算することができる。画像およびビデオのダイナミックレンジ拡張実施形態は、ハードウェア、ソフトウェア、ファームウェア、およびそれらのさまざまな組み合わせで実装されうる。
【0067】
本発明のある種の実装は、プロセッサに本発明の方法を実行させるソフトウェア命令を実行するコンピュータ・プロセッサを含む。たとえば、ディスプレイ、エンコーダ、セットトップボックス、トランスコーダ等における一つまたは複数のプロセッサは、該プロセッサにとってアクセス可能なプログラムメモリ内のソフトウェア命令を実行することによって、上述したようなHDRビデオのクラウド・ベースのビデオ符号化における、作業負荷配分およびノード・ベースの処理のための方法を実装することができる。本発明は、プログラム・プロダクトの形で提供されてもよい。プログラム・プロダクトは、データ・プロセッサによって実行されると、該データ・プロセッサに本発明の方法を実行させる命令を含む一組のコンピュータ読み取り可能な信号を担持する任意の非一時的かつ有形の媒体を含んでいてもよい。本発明によるプログラム・プロダクトは、幅広い多様な非一時的かつ有形の形のいずれかであってもよい。プログラム・プロダクトは、たとえば、フロッピーディスケット、ハードディスクドライブを含む磁気データ記憶媒体、CD-ROM、DVDを含む光データ記憶媒体、ROM、フラッシュRAMを含む電子データ記憶媒体等の物理的な媒体を含むことができる。プログラム・プロダクト上のコンピュータ読み取り可能信号は、任意的に、圧縮または暗号化されてもよい。
【0068】
コンポーネント(たとえば、ソフトウェアモジュール、プロセッサ、アセンブリ、デバイス、回路等)が上記で言及されている場合、別段の指示がない限り、該コンポーネントへの言及(「手段」への言及を含む)は、本発明の示されている例示的実施形態において機能を実行する開示された構造と構造的に等価でない構成要素を含む、記載された構成要素の機能を実行する(たとえば、機能的に同等である)任意の構成要素を、当該構成要素の等価物として含むものとして解釈されるべきである。
【0069】
等価物、拡張、代替物およびその他
本発明の箇条書き例示的実施形態(enumerated example embodiment、EEE)は、限定されるものではないが、以下のように定義される。
〔EEE1〕
一つまたは複数の計算ノードによってエンコードされるセグメントにシーンのシーケンスを割り当てるための方法であって、当該方法は:
シーンのシーケンスを受領する段階であって、各シーンが一つまたは複数のビデオ・フレームを含む、段階と;
最良の出力割り当てを生成するために一つまたは複数の割り当て反復工程を実行する段階とを含み、前記一つまたは複数の割り当て反復工程を実行することは:
前記一つまたは複数の割り当て反復工程におけるある反復工程について:
その割り当て反復工程のためのランダム・シード選択に基づいてシーンの前記シーケンスの、M個の計算ノードへの初期ランダム割り当て(305)を生成する段階であって、M>1である、段階と;
前記初期ランダム割り当てに基づく洗練割り当てステップ(310)を実行し、シーンの前記シーケンスの前記M個の計算ノードへの洗練された割り当ておよび洗練された割り当てコストを生成する段階と;
最良の割り当てコストおよび前記最良の出力割り当て(315)を、前記洗練された割り当ておよび前記洗練された割り当てコストに基づいて更新する段階とを実行することを含む、
方法。
〔EEE2〕
前記洗練割り当てステップ(310)を実行することが:
第1の値を用いて全割り当てコストを初期化し;
各計算ノードについて、シーンの前記シーケンスの前記M個の計算ノードへの前記初期ランダム割り当てに従ってノード作業負荷を設定し;
収束まで:
最初のノードから始めて、各ノードについて順次:
そのノードの作業負荷からシーンを除去し、該シーンをその次の利用可能なノードの作業負荷に割り当て、前記M個の計算ノードについての第1のコスト・メトリックを計算し;
その以前の利用可能なノードの作業負荷から取られたシーンを、そのノードの作業負荷に追加し、前記M個の計算ノードについての第2のコスト・メトリックを計算し;
そのノードの作業負荷を変更せずに保ち、前記M個の計算ノードについての第3のコスト・メトリックを計算し;
前記第1のコスト・メトリック、前記第2のコスト・メトリック、および前記第3のコスト・メトリックのうち最小のものに基づいて、更新されたノード作業負荷を生成し(360);
更新されたノード作業負荷に基づいて反復工程割り当てコストを計算し;
前記全割り当てコストが前記反復工程割り当てコストより小さい場合:収束を合図〔シグナリング〕し、前記更新されたノード作業負荷を前記洗練された割り当てとして出力し、前記全割り当てコストを前記洗練された割り当てコストとして出力し、そうでない場合は:前記全割り当てコストを前記反復工程割り当てコストに置き換えることによって続行する
ことを繰り返すことを含む、EEE1に記載の方法。
〔EEE3〕
前記第1の値が、各ノードに割り当てられたフレームの総数の最大の可能な標準偏差の推定値を含む、EEE2に記載の方法。
〔EEE4〕
前記初期ランダム割り当てを生成することが:
1からK-1のシーン・インデックスをもつ候補集合を生成する段階であって、Kは、前記M個の計算ノードに割り当てられるシーンの前記シーケンスにおけるシーンの総数を示す、段階と;
最初の要素0をもつ割り当て集合を生成する段階と;
前記割り当て集合を、前記ランダム・シード選択を用いたランダム選択に従って更新して、更新された割り当て集合を生成する段階と;
前記更新された割り当て集合を昇順にソートして、ソートされた割り当て集合を生成する段階と;
前記ソートされた割り当て集合に従って前記初期ランダム割り当てを生成する段階とを含み、
前記割り当て集合を更新することは:
t=1ないしM-1について:
0からK-t-1までの間のランダム整数pを選択し;
前記候補集合におけるp番目の要素を同定し、それを前記割り当て集合にアペンドし;
前記候補集合におけるp番目の要素を除去し;
前記候補集合を昇順にソートすることを含む、
EEE1ないし3のうちいずれか一項に記載の方法。
〔EEE5〕
前記ソートされた割り当て集合に従って前記初期ランダム割り当てを生成することが:
ノードmに、前記ソートされた割り当て集合におけるm番目の要素以上だが、前記ソートされた割り当て集合におけるm+1番目の要素より小さい値の間のインデックスをもつすべてのシーンを割り当てることを含む、
EEE4に記載の方法。
〔EEE6〕
各計算ノードについてのシーンからノードの割り当てに基づいて、すべての計算ノードについてコスト・メトリックを計算することが:
各計算ノードについて、シーンからノードの割り当てに基づいてその計算ノードに割り当てられたフレームの総数を計算し;
各計算ノードに割り当てられたフレームの総数の標準偏差を計算することを含む、
EEE1ないし5のうちいずれか一項に記載の方法。
〔EEE7〕
前記ノードの作業負荷からシーンを除去し、該シーンをその次の利用可能なノードの作業負荷に割り当てることは:
そのノードに割り当てられた最後のシーンを識別し、その次の利用可能なノードの作業負荷に最初のシーンとして割り当てることを含む、
EEE1ないし6のうちいずれか一項に記載の方法。
〔EEE8〕
その以前の利用可能なノードの作業負荷から取られたシーンを、そのノードの作業負荷に追加することは:
該以前の利用可能なノードに割り当てられた最後のシーンを識別し、そのノードの作業負荷に最初のシーンとして割り当てることを含む、
EEE1ないし7のうちいずれか一項に記載の方法。
〔EEE9〕
最良の割り当てコストおよび最良の出力割り当てを更新することが:
最初の割り当て反復工程では、前記洗練された割り当てを最良の出力割り当てとして設定し、前記洗練された割り当てコストを最良の割り当てコストとして設定し;
その後の割り当て反復工程では、前記洗練された割り当てコストを最良の割り当てコストを比較し;最良の割り当てコストが前記洗練された割り当てコストより大きい場合には、前記洗練された割り当てを最良の出力割り当てとして選択し、前記洗練された割り当てコストを最良の割り当てコストとして選択することを含む、
EEE1ないしEEE8のうちいずれか一項に記載の方法。
〔EEE10〕
前記M個の計算ノードうちのあるノードについて:
シーンの前記シーケンスのそのノードへの最良の出力割り当てに従って、そのノードに割り当てられたシーンについての高ダイナミックレンジ(HDR)フレームのシーケンスおよび対応する標準ダイナミックレンジフレーム(SDR)のシーケンスにアクセスし;
そのノードに割り当てられた前記シーンについて出力ビットストリームを生成することをさらに含む、
EEE1ないし9のうちいずれか一項に記載の方法。
〔EEE11〕
前記出力ビットストリームを生成することがさらに:
HDRフレームの前記シーケンスとSDRフレームの前記シーケンスに基づくシーン・ベースの前方再整形関数を生成し;
HDRフレームの前記シーケンスを、前記シーン・ベースの前方再整形関数に基づく再整形されたSDRフレームのシーケンスにマッピングし;
再整形されたSDRフレームの前記シーケンスを圧縮することによって符号化されたビットストリームを生成し;
再整形されたSDRフレームの前記シーケンス、HDRフレームの前記シーケンス、および前記シーン・ベースの前方再整形関数に基づくシーン・ベースの後方再整形関数を生成し;
前記シーン・ベースの後方再整形関数のパラメータに基づくメタデータを生成し;
前記符号化されたビットストリームおよび前記メタデータを含む前記出力ビットストリームを出力することをさらに含む、
EEE10に記載の方法。
〔EEE12〕
EEE1ないし11のうちいずれか一項に記載の方法を一つまたは複数のプロセッサで実行するためのコンピュータ実行可能命令を記憶している非一時的なコンピュータ読み取り可能記憶媒体。
〔EEE13〕
プロセッサを有しており、EEE1ないし11に記載の方法のいずれかを実行するように構成されている装置。
【0070】
このように、HDRビデオのクラウド・ベースのビデオ符号化における作業負荷割り当ておよびノード・ベースの処理に関連する例示的な実施形態が記載されている。上記の明細書において、本発明の実施形態は、実装ごとに変わりうる多数の個別的詳細を参照して説明されてきた。よって、何が本発明であり、何が出願人によって本発明であると意図されているかの唯一かつ排他的な指標は、その後の訂正があればそれも含めて、請求項が許可された特定の形での、本願に対して発行される請求項の集合である。かかる請求項に含まれる用語について本稿で明示的に記載される定義は、請求項において使用される用語の意味を支配する。よって、請求項に明示的に記載されていない限定、要素、特性、特徴、利点または属性は、そのような請求項の範囲をいかなる仕方であれ限定すべきではない。よって、本明細書および図面は、限定的な意味ではなく例示的な意味に考えられるべきである。
図1A
図1B
図2
図3A
図3B
図4