JP2023545825A - クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法、装置、及びコンピュータプログラム - Google Patents

クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法、装置、及びコンピュータプログラム Download PDF

Info

Publication number
JP2023545825A
JP2023545825A JP2023523216A JP2023523216A JP2023545825A JP 2023545825 A JP2023545825 A JP 2023545825A JP 2023523216 A JP2023523216 A JP 2023523216A JP 2023523216 A JP2023523216 A JP 2023523216A JP 2023545825 A JP2023545825 A JP 2023545825A
Authority
JP
Japan
Prior art keywords
processing
segments
code
media stream
signaling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023523216A
Other languages
English (en)
Inventor
ソダガァ,イラジ
Original Assignee
テンセント・アメリカ・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2023545825A publication Critical patent/JP2023545825A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ネットワークベースメディア処理(NBMP)ワークフローにおいてステップベースの処理を実行する方法及び装置が提供される。当該方法は、複数のセグメントを有する入力メディアストリームを含むワークフローを取得するステップと、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方に基づいて、入力メディアストリーム内の前記複数のセグメント間の境界を特定するステップと、前記複数のセグメント間の特定した境界に基づいて前記複数のセグメントを処理するステップと、を含む。

Description

この出願は、2021年7月6日に出願された米国仮特許出願第63/218,817号に基づくとともに、それに対する優先権を主張するものであり、その開示をその全体にてここに援用する。
本開示の実施形態は、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行するための装置及び方法に関する。
様々なアプリケーションを実行するためにネットワークとクラウドプラットフォームが使用されることがある。ネットワークベースメディア処理(NBMP)標準は、クラウドプラットフォーム上でワークフローを定義し、インスタンス化し、及び実行するための仕様を提供している。NBMP標準はまた、等しい継続時間の複数のメディアセグメントを独立に処理するためのツールのセットを含んでいる。例えば、NBMPステップ記述子が、機能ステップベース処理サポートについての情報を提供している。ここで、NBMPステップ記述子は、数あるパラメータの中で、とりわけ、セグメント最大継続時間/サイズ、及び処理ユニットを定め得る。しかしながら、NBMP標準のステップ記述子機能は、セグメント境界を定めていない。本開示の1つ以上の実施形態例は、この問題を解決し、セグメント境界を定めることによってステップ記述子における入力及び出力を適切に処理する機能を提供し得る。
本開示の1つ以上の実施形態例は、セグメント境界を定めることによってステップ記述子機能を提供する方法及び装置を提供する。
本開示の一態様によれば、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法が提供され、当該方法は、複数のセグメントを有する入力メディアストリームを含むワークフローを取得するステップと、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方に基づいて、前記入力メディアストリーム内の前記複数のセグメント間の境界を特定するステップと、前記複数のセグメント間の前記特定した境界に基づいて前記複数のセグメントを処理するステップと、を含む。
本開示の他の一態様によれば、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する装置が提供され、当該装置は、プログラムコードを格納するように構成された少なくとも1つのメモリと、前記プログラムコードを読み出し、前記プログラムコードによって命令されるように動作するよう構成された少なくとも1つのプロセッサと、を含み、前記プログラムコードは、前記少なくとも1つのプロセッサに、入力メディアストリームを含むワークフローを取得させるように構成された取得コードであり、前記入力メディアストリームは複数のセグメントを含む、取得コードと、前記少なくとも1つのプロセッサに、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方に基づいて、前記入力メディアストリーム内の前記複数のセグメント間の境界を特定させるように構成された特定コードと、前記少なくとも1つのプロセッサに、前記複数のセグメント間の前記特定した境界に基づいて前記複数のセグメントを処理させるように構成された処理コードと、を含む。
本開示の他の一態様によれば、命令を格納した非一時的なコンピュータ読み取り可能媒体が提供され、前記命令は、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する装置の少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、入力メディアストリームを含むワークフローを取得させ、前記入力メディアストリームは複数のセグメントを有し、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方に基づいて、前記入力メディアストリーム内の前記複数のセグメント間の境界を特定させ、前記複数のセグメント間の前記特定した境界に基づいて前記複数のセグメントを処理させる。
更なる態様が、以下の説明で部分的に記述され、説明から部分的に明らかになり、又は本開示の提示実施形態の実施によって実現され得る。
本開示の上述の及び他の態様、特徴、及び実施形態の態様が、以下の添付図面と併せられる以下の説明からいっそう明らかになる。
1つ以上の実施形態に従った通信システムの概略図である。 1つ以上の実施形態に従ったストリーミング環境の簡略化した例示である。 1つ以上の実施形態に従ったNBMPシステムのブロック図である。 1つ以上の実施形態に従ったNBMPスプリッタ及びマージプロセスの例図である。 1つ以上の実施形態に従った、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行するプロセス例のブロック図である。 1つ以上の実施形態に従った、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行するためのコンピュータコードの一例のブロック図である。
本開示の実施形態は、ネットワークベースメディア処理(NBMP)ワークフローにおける変更をシグナリングするための方法及び装置に関し、特に、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行するための装置及び方法に関する。
本開示の実施形態は、本質的に例示的なものであり、添付図面を参照して包括的に記述される。しかしながら、実装の例は様々な複数の形態で実施されることができ、本開示は、ここに記載される例に限定されるとして解釈されるべきでない。逆に、実装の例は、本開示の技術的ソリューションをいっそう包括的で完全なものとし、実装の例のアイディアを当業者に包括的に伝えるために提供される。添付図面は単に本開示の例示に過ぎず、必ずしも縮尺通りに描かれているわけではない。添付図面中の同じ参照符号は同じ又は同様のコンポーネントを表しており、故に、それらのコンポーネントの繰り返しての説明は省略する。
以下で説明する提案に係る特徴は、別々に使用されてもよいし、何らかの順序で組み合わされてもよい。添付図面に示す一部のブロック図は機能的エンティティであり、必ずしも物理的又は論理的に独立したエンティティに対応するわけではない。また、実施形態は、処理回路(例えば、1つ以上のプロセッサ若しくは1つ以上の集積回路)又はマイクロコントローラ装置を含み得るハードウェアの形態で実装されてもよいし、ソフトウェアの形態で実装されてもよいし、異なる複数のネットワーク及び/又はプロセッサ装置で実装されてもよいし、ハードウェアコンポーネントとソフトウェアコンポーネントとの組み合わせによって実装されてもよい。一例において、1つ以上のプロセッサが、1つ以上の非一時的コンピュータ読み取り可能媒体に格納されたコンピュータプログラムコードを実行する。
図1は、実施形態に従った、ここに記載される方法、装置及びシステムが実装され得る環境100の図である。図1に示すように、環境100は、ユーザ装置110、プラットフォーム120、及びネットワーク130を含み得る。環境100の装置は、有線接続、無線接続、又は有線接続と無線接続との組み合わせ、を介して相互接続し得る。
ユーザ装置110は、プラットフォーム120に関連する情報を受信、生成、格納、処理、及び/又は提供することができる1つ以上の装置を含み得る。例えば、ユーザ装置110は、コンピューティング装置(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブル装置(例えば、一対のスマートグラス又はスマートウォッチ)、又は類似の装置を含み得る。一部の実装において、ユーザ装置110は、プラットフォーム120から情報を受信し及び/又はプラットフォーム120に情報を送信し得る。
プラットフォーム120は、この中の別の箇所で説明されるような1つ以上の装置を含み得る。一部の実装において、プラットフォーム120は、クラウドサーバ又は一群のクラウドサーバを含み得る。一部の実装において、プラットフォーム120は、ソフトウェアコンポーネントが特定のニーズに応じてスワップイン又はスワップアウトされ得るよう、モジュール式であるように設計され得る。そのようなものとして、プラットフォーム120は、異なる使用のために容易に且つ/或いは迅速に再構成されることができる。
一部の実装において、図示のように、プラットフォーム120は、クラウドコンピューティング環境122内でホストされ得る。特に、ここに記載される実装は、プラットフォーム120を、クラウドコンピューティング環境122内でホストされるものとして記述するが、一部の実装では、プラットフォーム120は、クラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外で実装されてもよく)、あるいは、部分的にクラウドベースであってもよい。
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含み得る。クラウドコンピューティング環境122は、プラットフォーム120をホストするシステム及び/又は装置の物理的な位置及び構成に関するエンドユーザ(例えば、ユーザ装置110)知識を必要としない計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供し得る。図示のように、クラウドコンピューティング環境122は、一群の計算リソース124(まとめて“計算リソース群124”と称し、個々に“計算リソース124”と称する)を含み得る。
計算リソース124は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバ装置、又は他の種類の計算及び/又は通信装置を含み得る。一部の実装において、計算リソース124はプラットフォーム120をホストし得る。クラウドリソースは、計算リソース124において実行される計算インスタンス、計算リソース124内で提供されるストレージ装置、計算リソース124によって提供されるデータ転送装置などを含み得る。一部の実装において、計算リソース124は、有線接続、無線接続、又は有線接続と無線接続との組み合わせを介して、他の計算リソース124と通信し得る。
図1に更に示すように、計算リソース124は、例えば、1つ以上のアプリケーション(“APP”)124-1、1つ以上の仮想マシン(“VM”)124-2、仮想化ストレージ(“VS”)124-3、1つ以上のハイパーバイザ(“HYP”)124-4、又はこれらに類するものなどの、一群のクラウドリソースを含み得る。しかしながら、本開示はそれに限定されず、従って、他の実施形態例によれば、計算リソース124は他のタイプのクラウドリソースを含んでもよい。
アプリケーション124-1は、ユーザ装置110及び/又はプラットフォーム120に提供され又はそれらによってアクセスされ得る1つ以上のソフトウェアアプリケーションを含み得る。アプリケーション124-1は、ユーザ装置110上にソフトウェアアプリケーションをインストールして実行する必要をなくし得る。例えば、アプリケーション124-1は、プラットフォーム120に関連するソフトウェア、及び/又はクラウドコンピューティング環境122を介して提供されることが可能な任意の他のソフトウェアを含み得る。一部の実装において、1つのアプリケーション124-1が、仮想マシン124-2を介して、1つ以上の他のアプリケーション124-1に/から情報を送信/受信し得る。
仮想マシン124-2は、物理的なマシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含み得る。仮想マシン124-2は、仮想マシン124-2による何らかの実マシンへの対応の程度及び用途に応じて、システム仮想マシン又はプロセス仮想マシンのいずれであってもよい。システム仮想マシンは、完全なオペレーティングシステム(“OS”)の実行をサポートする完全なシステムプラットフォームを提供し得る。プロセス仮想マシンは、単一のプログラムを実行することができ、単一のプロセスをサポートし得る。一部の実装において、仮想マシン124-2は、ユーザ(例えば、ユーザ装置110)の代わりに実行を行うことができ、例えばデータ管理、同期、又は長時間データ転送など、クラウドコンピューティング環境122のインフラストラクチャを管理することができる。
仮想化ストレージ124-3は、計算リソース124のストレージシステム又は装置の中で仮想化技術を使用する1つ以上のストレージシステム及び/又は1つ以上の装置を含み得る。一部の実装において、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化及びファイル仮想化を含み得る。ブロック仮想化は、物理的なストレージ又は異種構造に関係なくストレージシステムがアクセスされ得るようにする、論理ストレージの物理ストレージからの抽象化(又は分離)を指すとし得る。この分離は、管理者がエンドユーザのためにストレージを管理する方法における柔軟性をストレージシステムの管理者に許すことができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される場所との間の依存関係を排除し得る。これは、ストレージ使用の最適化、サーバ統合、及び/又は中断のないファイル移動の実行を可能にし得る。
ハイパーバイザ124-4は、例えば計算リソース124などのホストコンピュータ上で複数のオペレーティングシステム(例えば、“ゲストオペレーティングシステム”)が同時に実行することを可能にするハードウェア仮想化技術を提供し得る。ハイパーバイザ124-4は、ゲストオペレーティングシステムに対して仮想オペレーティングプラットフォームを提示することができ、ゲストオペレーティングシステムの実行を管理することができる。多様なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有し得る。
ネットワーク130は、1つ以上の有線ネットワーク及び/又は無線ネットワークを含み得る。例えば、ネットワーク130は、セルラネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上モバイルネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話ネットワーク(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、若しくはこれらに類するもの、及び/又はこれら若しくは他のタイプのネットワークの組み合わせを含み得る。
図1に示した装置及びネットワークの数及び構成は、一例として提供されている。実際には、図1に示したものに対して、追加の装置及び/又はネットワーク、より少ない装置及び/又はネットワーク、異なる装置及び/又はネットワーク、又は異なる構成の装置及び/又はネットワークが存在し得る。また、図1に示した2つ以上の装置が単一の装置内に実装されてもよいし、あるいは、図1に示した単一の装置が複数の分散された装置として実装されてもよい。加えて、あるいは代わりに、環境100の装置のセット(例えば、1つ以上の装置)が、環境100の装置の別のセットによって実行されるとして記載された1つ以上の機能を実行してもよい。
図2は、図1の1つ以上の装置のコンポーネント例のブロック図である。装置200は、ユーザ装置110及び/又はプラットフォーム120に対応し得る。図2に示すように、装置200は、バス210、プロセッサ220、メモリ230、ストレージコンポーネント240、入力コンポーネント250、出力コンポーネント260、及び通信インタフェース270を含み得る。
バス210は、装置200のコンポーネント間での通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせで実装され得る。プロセッサ220は、中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、アクセラレーテッドプロセッシングユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は他のタイプの処理コンポーネントとし得る。一部の実装において、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含み得る。メモリ230は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、及び/又は、プロセッサ220による使用のための情報及び/又は命令を格納する他のタイプの動的又は静的な記憶デバイス(例えば、フラッシュメモリ、磁気メモリ、及び/又は光メモリ)を含み得る。
ストレージコンポーネント240は、装置200の動作及び使用に関係する情報及び/又はソフトウェアを格納する。例えば、ストレージコンポーネント240は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク(登録商標)、カートリッジ、磁気テープ、及び/又は他のタイプの非一時的なコンピュータ読み取り可能媒体を、対応するドライブと共に含み得る。
入力コンポーネント250は、装置200が、例えばユーザ入力を介してなどで、情報を受信することを可能にするコンポーネント(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイクロフォン)を含み得る。加えて、あるいは代わりに、入力コンポーネント250は、情報をセンシングするセンサ(例えば、グローバルポジショニングシステム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又はアクチュエータ)を含んでもよい。出力コンポーネント260は、装置200からの出力情報を提供するコンポーネントを含む(例えば、ディスプレイ、スピーカ、及び/又は1つ以上の発光ダイオード(LED))。
通信インタフェース270は、装置200が、例えば有線接続、無線接続、又は有線接続と無線接続との組み合わせを介してなどで、他の装置と通信することを可能にするトランシーバのようなコンポーネント(例えば、トランシーバ及び/又は別個の受信器と送信器)を含み得る。通信インタフェース270は、装置200が他の装置から情報を受信すること及び/又は他の装置に情報を提供することを可能にし得る。例えば、通信インタフェース270は、イーサネット(登録商標)インタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、Wi-Fiインタフェース、セルラネットワークインタフェース、又はこれらに類するものを含み得る。
装置200は、ここに記載される1つ以上のプロセスを実行し得る。装置200は、それらのプロセスを、例えばメモリ230及び/又はストレージコンポーネント240などの非一時的なコンピュータ読み取り可能媒体によって格納されたソフトウェア命令をプロセッサ220が実行することに応答して実行し得る。コンピュータ読み取り可能媒体は、ここでは、非一時的なメモリ装置として定義される。メモリ装置は、単一の物理的記憶装置内の記憶空間を含み、又は複数の物理的記憶装置にわたって広がった記憶空間を含む。
ソフトウェア命令が、メモリ230及び/又はストレージコンポーネント240に、他のコンピュータ読み取り可能媒体から又は通信インタフェース270を介して他の装置から読み込まれ得る。メモリ230及び/又はストレージコンポーネント240に格納されたソフトウェア命令は、実行されるときに、プロセッサ220に、ここに記載される1つ以上のプロセスを実行させ得る。加えて、あるいは代わりに、ここに記載される1つ以上のプロセスを実行するために、ソフトウェア命令の代わりに又はそれと組み合わせてハードワイヤード回路が使用されてもよい。従って、ここに記載される実装は、ハードウェア回路とソフトウェアとの如何なる特定の組み合わせにも限定されるものではない。
図2に示したコンポーネントの数及び構成は、一例として提供されている。実際には、装置200は、図2に示したものに対して、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、又は異なる構成のコンポーネントを含み得る。加えて、あるいは代わりに、装置200のコンポーネントのセット(例えば、1つ以上のコンポーネント)が、装置200のコンポーネントの別のセットによって実行されるとして記載された1つ以上の機能を実行してもよい。
本開示の一実施形態において、ネットワークベースメディア処理(NBMP)システムが提供される。図3は、ここでの実施形態に従ったNBMPアーキテクチャ300を示しており、クラウド処理に関して実装され得る。NBMPシステム300は、NBMPソース310、NBMPワークフローマネジャ320、機能リポジトリ330、1つ以上のメディア処理エンティティ(media processing entity;MPE)340、メディアソース350、及びメディアシンク360を有している。NBMPソース310、NBMPワークフローマネジャ320、機能リポジトリ330、MPE340、メディアソース350、及びメディアシンク360は、少なくとも1つ以上のプロセッサと、それぞれNBMPソース310、NBMPワークフローマネジャ320、機能リポジトリ330、MPE340、メディアソース350、及びメディアシンク360の機能を上記少なくとも1つ以上のプロセッサに実行させるコードを格納したメモリと、を含むか、それらによって実装されるかすることができる。
NBMPソース310は、NBMPワークフローAPI311を介してNBMPワークフローマネジャ320とワークフロー記述を通信し得る。NBMPソース310はまた、機能ディスカバリAPI313を介して機能リポジトリ330と機能記述を通信し得る。例えば、NBMPソース310は、(1つ以上の)ワークフロー記述ドキュメント(workflow description document;WDD)をNBMPワークフローマネジャ320に送ることができ、また、機能リポジトリ330に格納された機能の機能記述を読み取ることができ、これらの機能は、例えば、メディア復号、特徴点抽出、カメラパラメータ抽出、投影方法、シーム情報抽出、ブレンド、後処理、及び符号化の機能などの、機能リポジトリ330のメモリに格納されたメディア処理機能である。NBMPワークフローマネジャ320は、機能ディスカバリAPI313と同じであっても異なってもよい機能ディスカバリAPI312を介して機能リポジトリ330と通信することができ、また、API314(例えば、MPE API)を介してMPE340のうち1つ以上と通信することができる。
メディア処理エンティティ(MPE)340は、1つ以上のタスク341を含み得る。NBMPワークフローマネジャ320はまた、API315(例えば、NBMPタスクAPI)を介してタスク341と通信し得る。NBMPワークフローマネジャ320は、API315を用いて、1つ以上のMPE340によって実行可能なワークフローの1つ以上のタスク341を設定、構成、管理、及び監視し得る。ワークフローのタスク341を構成、管理、及び監視するため、NBMPワークフローマネジャ320は、MPE340及び/又はタスク341のうちの1つ以上に、例えば要求などのメッセージを送信することができ、各メッセージが幾つかの記述子を持つことができ、該記述子の各々が幾つかのパラメータを持つ。また、NBMPソース310、NBMPワークフローマネジャ320、機能リポジトリ330、及びMPE340の間の通信は制御フローと見なされ得る。
タスク341は各々、メディア処理機能343と、それらメディア処理機能343に関する構成(コンフィギュレーション)342とを含み得る。それぞれのメディア処理エンティティ340内のタスク341の各々はまた、互いに通信して、タスク間のデータフローを容易にし得る。一実施形態において、NBMPワークフローマネジャ320は、WDD内のタスクの記述に基づいてタスクを選択して、機能ディスカバリAPI312を介して機能リポジトリ330を検索し、現在ワークフローに関するタスク341として実行すべき適切な機能を見出し得る。上記1つ以上のMPE340は、メディアソース350からメディアコンテンツを受信し、NBMPワークフローマネジャ320によって作成されたタスク341を含むワークフローに従ってメディアコンテンツを処理し、処理したメディアコンテンツをメディアシンク360に出力するように構成され得る。一実施形態において、上記1つ以上のMPE340は、それぞれメディアソース350及びメディアシンク360との間の複数のメディアフロー316及び317に対して並列に設けられ得る。
メディアソース350は、メディアを格納するメモリを含むことができ、また、NBMPソース310と統合されてもよいし、それとは別個であってもよい。一実施形態において、NBMPワークフローマネジャ320は、ワークフローが準備されたときにNBMPソース310に通知することができ、メディアソース350は、ワークフローが準備されたという通知に基づいて、メディアコンテンツを上記1つ以上のMPE340に送信することができ、上記1つ以上のMPE340は、メディアコンテンツをメディアシンク360に送信することができる。メディアソース350、MPE340、及びメディアシンク360の間の通信はデータフローと見なされ得る。
図4は、本開示の一実施形態に従った、並列処理のためにタスクTのメディアストリーム440の複数のセグメントをNBMPスプリット及びマージすることの一例を示している。図4に示すように、NBMPスプリッタ及びマージャプロセス400は、スプリッタ420及びマージャ430を含む。図4では、入力メディアストリームのタスクTがタスクTのn個のインスタンス(すなわち、T、…、TN-1)に変換され、これらn個のインスタンスが並列に走る。入力メディアストリーム410は連続しているとし得る。スプリッタ420はメディアストリームをN個のメディアサブストリームに変換する。各サブストリームがTのインスタンスによって処理される。そして、マージャ430がこれらサブストリームを共にインターリーブして出力450を生成する。出力450は、タスクTの出力ストリーム(すなわち、メディアストリーム440)に相当するものである。
図4に示すような1:Nスプリッタ420機能及びN:1マージャ430機能は、セグメント境界で動作する。各セグメントが、それに関連付けられた開始、期間、及び長さメタデータを持つ。これらセグメントは独立であるため、結果として、これらサブストリームは、タスクTによって処理されることに関して互いに独立である。実施形態において、タスクT、…、TN-1はタスクTのインスタンスであり、セグメントを同時に又は別々に処理し得る。これらセグメント及びこれらサブストリームは独立であるため、タスクTの各インスタンス(すなわち、T、…、TN-1)はそれ自身の速度で走り得る。
本開示の実施形態によれば、セグメント境界をシグナリングする方法が記述される。これらの方法は、メタデータ法とスタートコード法とを含み得る。実施形態によれば、クラウドプラットフォーム上のメディア処理におけるステップベースの処理のいっそう良好なサポートのために、NBMPステップ記述子においてセグメント境界のシグナリングが必要とされる。実施形態によれば、NBMPステップ記述子は、機能ステップベース処理サポートについての情報を提供し得る。ここで、機能は、定められたセグメントに基づいて独立した及び/又は並列の処理が行われ得るステップモードで機能が処理されることができるかを示す例えば記述子などの情報を有し得る。記述子は、数あるパラメータの中でもとりわけ、セグメントの最大継続時間/サイズ、及び処理ユニットを定め得る。
[メタデータ法]
本開示の一実施形態によれば、メタデータを用いてセグメント境界をシグナリングする方法では、セグメント開始、セグメント継続時間、及びセグメントサイズを定義するためにメタデータが提供され得る。このような定義は、タスクTの複数のセグメントのいずれかに対して提供され得る。例えば、メタデータ定義は次のようにし得る:
・ S: Tスケール単位でのセグメントの開始
・ D: Tスケール単位でのセグメントの継続時間
・ L: バイト単位でのセグメントの長さ
・ T: タイムスケール(秒単位のティック数)。
メタデータに基づくシグナリング方法によれば、任意の機能のメディアストリーム入力又は出力が、セグメント境界メタデータを運ぶ対応するメタデータ入力又は出力を持つものとする。従って、クラウドプラットフォーム上のメディア処理においてステップベースの処理が実行されるときに、並列処理のためにタスクTのメディアストリーム440のセグメントを分割及びマージすることが適切に行われる。
[スタートコード法]
本開示の一実施形態によれば、メタデータ法の代わりに、セグメント境界をシグナリングするための、スタートコードに基づく方法が提供され得る。スタートコードを用いるシグナリング方法によれば、各セグメントの始まりにスタートコードを与え得る。この場合、メディアストリーム入力は、各セグメントに与えられたスタートコードを示すことができる。また、メディアストリーム出力も、各セグメントに与えられたスタートコードを示し得る。
スタートコードに基づくシグナリング方法によれば、任意の機能のメディアストリーム入力又は出力が、セグメント境界を特定するスタートコードを運ぶ対応するメタデータ入力又は出力を持つものとする。従って、クラウドプラットフォーム上のメディア処理においてステップベースの処理が実行されるときに、スタートコードを用いて、並列処理のためにタスクTのメディアストリーム440のセグメントを分割及びマージすることが適切に行われ得る。
一実施形態によれば、入力セグメントの各々に同じ開始パターン(すなわち、スタートコード)を設けることにより、セグメントを分割してマージするプロセスがセグメントの境界を容易に特定し得る。従って、セグメント境界をシグナリングするのに、(メタデータに基づく方法と同様の)各セグメントの開始時間と継続時間の情報は必要とされない。
一実施形態によれば、セグメントの始まりを示すスタートコードが提供されるが、本開示はスタートコードに限定されるものではない。従って、他の実施形態によれば、セグメント境界を示すために、異なる位置の入力及び出力ストリームにパターン又はコードが提供されてもよい。例えば、セグメント間の境界を定めるためにセグメントの終わりに例えばエンドコードなどのコードが提供されてもよい。
一実施形態例によれば、NBMP標準仕様のステップ記述子は次のように拡張され得る。
Figure 2023545825000001
例えば、セグメントメタデータ記述子とセグメントスタートコード記述子がNBMP標準仕様のステップ記述子に追加され得る。
さらに、一実施形態例によれば、NBMP標準仕様のステップ記述子パラメータは次のように拡張され得る。
Figure 2023545825000002

Figure 2023545825000003
Figure 2023545825000004
例えば、セグメントメタデータ記述子とセグメントスタートコード記述子のパラメータが、NBMP標準仕様のステップ記述子パラメータに追加され得る。
一実施形態例によれば、セグメントメタデータ記述子はブーリアン型とすることができ、次の定義を持ち得る:‘TRUE’の場合、この機能は、セグメント境界を検出するための各メディア入力/出力のセグメントメタデータを受信/提供することをサポートする。デフォルト値は‘FALSE’とし得る。
一実施形態例によれば、セグメントスタートコード記述子はブーリアン型とすることができ、次の定義を持ち得る:‘TRUE’の場合、この機能は、セグメント境界を検出するための各メディア入力/出力のスタートコードを受信/提供することをサポートする。
一実施形態例によれば、セグメント境界を特定する方法は、セグメントメタデータ又はセグメントスタートコード記述のうちのいずれかが真であるかを決定し、セグメントメタデータがTRUEであるとの決定に基づいて、セグメント境界がメタデータ法を用いて特定されることを特定し、また、セグメントスタートコードがTRUEであるとの決定に基づいて、セグメント境界がスタートコード法を用いて特定されることを特定することを含み得る。
図5は、1つ以上の実施形態に従った、ネットワークベースメディア処理(NBMP)ワークフローにおいてステップベースの処理を実行する方法500の例のフローチャートである。
一部の実装において、図5の1つ以上のプロセスブロックはプラットフォーム120によって実行され得る。一部の実装において、図5の1つ以上のプロセスブロックは、例えばユーザ装置110など、プラットフォーム120とは別の又はそれを含んだ装置又は装置群によって実行されてもよい。
図5に示すように、動作510にて、方法500は、ワークフローを取得することを含む。ここで、ワークフローは入力メディアストリームを含むことができ、該入力メディアストリームは複数のセグメントを含むことができる。
動作520にて、方法500は、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方に基づいて、入力メディアストリーム内の上記複数のセグメント間の境界を特定することを含む。一実施形態によれば、コードに基づくセグメント境界シグナリングは、上記複数のセグメント間の境界を示すために各セグメントの始まりに与えられるスタートコードを含み得る。
動作530にて、方法500は、上記複数のセグメント間の特定した境界に基づいて上記複数のセグメントを処理することを含む。
一実施形態によれば、方法500は更に、上記複数のセグメントを、変更ワークフローの独立処理のための1つ以上のタスクに分割することによって、変更ワークフローを生成することを含み得る。変更ワークフローのこれら1つ以上のタスクが並列に処理される。
一実施形態によれば、方法500は更に、コードに基づくセグメント境界シグナリングにおいて、入力メディアストリーム内の上記複数のセグメントに対応するコードを受信することと、入力メディアストリームにおいてコードが現れるたびに、コードが隣接セグメント間の境界を示すと決定することとを含み得る。
一実施形態によれば、方法500は更に、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方を入力メディアストリームがサポートしているかを決定することを含み得る。
一実施形態によれば、方法500は更に、メタデータに基づくセグメント境界シグナリングに対応する第1フラグを提供することと、コードに基づくセグメント境界シグナリングに対応する第2フラグを提供することとを含み得る。
一実施形態によれば、方法500は更に、変更ワークフローの1つ以上のタスクを処理したことからの1つ以上の出力をマージして出力メディアストリームを生成することを含み得る。
一実施形態によれば、方法500は更に、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方を出力メディアストリームに適用することを含み得る。
図5は当該方法のブロック例を示しているが、一部の実装において、当該方法は、図5に示したものに対して、追加のブロック、少ないブロック、異なるブロック、又は異なる構成のブロックを含み得る。加えて、あるいは代わりに、当該方法のブロックのうちの2つ以上が並行して実行されてもよい。
図6は、1つ以上の実施形態に従った、ネットワークベースメディア処理(NBMP)ワークフローにおいてステップベースの処理を実行するためのコンピュータコードの一例のブロック図である。
本開示の実施形態によれば、コンピュータコードを格納するメモリを備えた少なくとも1つのプロセッサが提供され得る。コンピュータコードは、該少なくとも1つのプロセッサによって実行されるときに、本開示の任意の数の態様を実行するように構成され得る。
例えば、図6を参照するに、コンピュータコード600がNBMPシステム300内に実装され得る。
図6に示すように、コンピュータコード600は、取得コード610、特定コード620、及び処理コード630を含み得る。
取得コード610は、上記少なくとも1つのプロセッサにワークフローを取得させるように構成され得る。ワークフローは入力メディアストリームを含むことができ、該入力メディアストリームは複数のセグメントを含むことができる。
特定コード620は、上記少なくとも1つのプロセッサに、メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方に基づいて、入力メディアストリーム内の上記複数のセグメント間の境界を特定させるように構成され得る。
処理コード630は、上記少なくとも1つのプロセッサに、上記複数のセグメント間の特定した境界に基づいて上記複数のセグメントを処理させるように構成され得る。
図6は、実施形態に従った機器又は装置のコンピュータコード600のブロックの例を示しているが、一部の実装において、当該機器は、図6に示したものに対して、追加のブロック、少ないブロック、異なるブロック、又は異なる構成のブロックを含み得る。加えて、あるいは代わりに、当該機器のブロックのうちの2つ以上が並行して実行されてもよい。
上述したネットワークベースメディア処理(NBMP)ワークフローにおけるステップベースの処理のセグメント境界をシグナリングするための技術は、別々に使用されてもよいし、何らかの順序で組み合わされてもよい。また、それらの方法(又は実施形態)の各々は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装され得る。一例において、上記1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に格納されたプログラムを実行し得る。
本開示は、例示及び説明を提供するものであり、網羅的であること、又は開示されたままの形態に実装を限定することを意図するものではない。変更及び変形が、本開示に照らして可能であり、又は実装の実施から習得され得る。
ここで使用されるとき、コンポーネントなる用語は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせとして広く解釈されることが意図される。
明らかになることには、ここに記載されたシステム及び/又は方法は、様々な形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせで実装され得る。これらのシステム及び/又は方法を実装するのに使用される実際の特殊化された制御ハードウェア又はソフトウェアコードは、実装の限定となるものではない。従って、ここでは、システム及び/又は方法の動作及び挙動を、特定のソフトウェアコードを参照することなく記述しており、理解されることには、ここでの記載に基づくシステム及び/又は方法を実装するように、ソフトウェア及びハードウェアが設計され得る。
複数の機構の組み合わせが請求項に記載され且つ/或いは明細書に開示されているとしても、それらの組み合わせは、可能な実装の開示を限定することを意図するものではない。実際、それらの機構のうち多くは、具体的には請求項に記載され且つ/或いは明細書に開示されたものではないように組み合わされることができる。以下に挙げられる各従属請求項は1つのクレームのみに直接的に従属することがあるが、可能な実装の開示は、各従属請求項を、請求項セット内のあらゆる他のクレームとの組み合わせで含む。
ここで使用される如何なる要素、行為、又は命令も、そのように明示的に記載されない限り、重要又は必須であるとして解釈されないとし得る。また、ここで使用されるとき、冠詞“a”及び“an”は、1つ以上のアイテムを含むことを意図しており、“1つ以上の”と交換可能に使用され得る。さらに、ここで使用されるとき、用語“セット”は、1つ以上のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムとの組み合わせなど)を含むことを意図しており、“1つ以上”と交換可能に使用され得る。1つのアイテムのみが意図される場合には、用語“1つの”又は類似の言葉が使用される。また、ここで使用されるとき、用語“持つ”、“有する”、“持っている”などは、オープンエンドの用語であることを意図している。さらに、“に基づく”という言い回しは、明示的に別の断りがない限り、“少なくとも部分的に基づく”を意味することを意図している。

Claims (11)

  1. プロセッサが実行する、クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法であって、
    入力メディアストリームを含むワークフローを取得するステップであり、前記入力メディアストリームは複数のセグメントを有する、ステップと、
    メタデータに基づくセグメント境界シグナリング又はコードに基づくセグメント境界シグナリングのうちの一方に基づいて、前記入力メディアストリーム内の前記複数のセグメント間の境界を特定するステップと、
    前記複数のセグメント間の前記特定した境界に基づいて前記複数のセグメントを処理するステップと、
    を有する方法。
  2. 前記複数のセグメントを、変更ワークフローの独立処理のための1つ以上のタスクに分割することによって、変更ワークフローを生成するステップ、
    を更に有する請求項1に記載の方法。
  3. 前記コードに基づくセグメント境界シグナリングは、前記複数のセグメント間の前記境界を示すために各セグメントの始まりに与えられるスタートコードを含む、請求項1に記載の方法。
  4. 前記コードに基づくセグメント境界シグナリングにおいて、前記入力メディアストリーム内の前記複数のセグメントに対応するコードを受信するステップと、
    前記入力メディアストリームにおいて前記コードが現れるたびに、前記コードが隣接セグメント間の境界を示すと決定するステップと、
    を更に有する請求項1に記載の方法。
  5. 前記メタデータに基づくセグメント境界シグナリング又は前記コードに基づくセグメント境界シグナリングのうちの一方を前記入力メディアストリームがサポートしているかを決定するステップ、
    を更に有する請求項1に記載の方法。
  6. 前記メタデータに基づくセグメント境界シグナリングに対応する第1フラグを提供するステップと、
    前記コードに基づくセグメント境界シグナリングに対応する第2フラグを提供するステップと、
    を更に有する請求項1に記載の方法。
  7. 前記変更ワークフローの前記1つ以上のタスクが並列に処理される、請求項2に記載の方法。
  8. 前記変更ワークフローの1つ以上のタスクを処理したことからの1つ以上の出力をマージして出力メディアストリームを生成するステップ、
    を更に有する請求項2に記載の方法。
  9. 前記メタデータに基づくセグメント境界シグナリング又は前記コードに基づくセグメント境界シグナリングのうちの一方を前記出力メディアストリームに適用するステップ、
    を更に有する請求項8に記載の方法。
  10. クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する装置であって、当該装置は、
    1つ以上のプロセッサと、
    コンピュータプログラムを格納した1つ以上のメモリと、
    を有し、
    前記コンピュータプログラムは、前記1つ以上のプロセッサに、請求項1乃至9のいずれか一項に記載の方法を実行させる、
    装置。
  11. コンピュータに請求項1乃至9のいずれか一項に記載の方法を実行させるコンピュータプログラム。
JP2023523216A 2021-07-06 2022-04-13 クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法、装置、及びコンピュータプログラム Pending JP2023545825A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163218817P 2021-07-06 2021-07-06
US63/218,817 2021-07-06
US17/702,089 US20230019558A1 (en) 2021-07-06 2022-03-23 Method and apparatus for signaling independent processing of media segments on cloud using metadata and startcode
US17/702,089 2022-03-23
PCT/US2022/024541 WO2023282951A1 (en) 2021-07-06 2022-04-13 Method and apparatus for signaling independent processing of media segments on cloud using metadata and startcode

Publications (1)

Publication Number Publication Date
JP2023545825A true JP2023545825A (ja) 2023-10-31

Family

ID=84801952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023523216A Pending JP2023545825A (ja) 2021-07-06 2022-04-13 クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法、装置、及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US20230019558A1 (ja)
EP (1) EP4179705A4 (ja)
JP (1) JP2023545825A (ja)
KR (1) KR20230113816A (ja)
CN (1) CN116264848A (ja)
WO (1) WO2023282951A1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8565538B2 (en) * 2010-03-16 2013-10-22 Honda Motor Co., Ltd. Detecting and labeling places using runtime change-point detection
US9338209B1 (en) * 2013-04-23 2016-05-10 Cisco Technology, Inc. Use of metadata for aiding adaptive streaming clients
US9344748B2 (en) * 2014-03-31 2016-05-17 Arris Enterprises, Inc. Adaptive streaming transcoder synchronization
US11496414B2 (en) * 2019-03-18 2022-11-08 Tencent America LLC Interoperable cloud based media processing using dynamic network interface
US11516152B2 (en) * 2019-09-28 2022-11-29 Tencent America LLC First-in first-out function for segmented data stream processing

Also Published As

Publication number Publication date
US20230019558A1 (en) 2023-01-19
EP4179705A4 (en) 2024-01-03
CN116264848A (zh) 2023-06-16
KR20230113816A (ko) 2023-08-01
WO2023282951A1 (en) 2023-01-12
EP4179705A1 (en) 2023-05-17

Similar Documents

Publication Publication Date Title
JP7089120B2 (ja) メディアコンテンツを処理する方法、装置、及びコンピュータプログラム
US11356534B2 (en) Function repository selection mode and signaling for cloud based processing
JP2023545825A (ja) クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法、装置、及びコンピュータプログラム
CN111858967A (zh) 基于网络的媒体处理中处理媒体内容的方法、装置以及存储介质
US20230108435A1 (en) Method and apparatus for parallel transcoding of media content on cloud
JP7416482B2 (ja) ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム
US11539776B2 (en) Method for signaling protocol characteristics for cloud workflow inputs and outputs
JP2023545448A (ja) データフローにおいて継続性を有するクラウド上の部分的または全体的なワークフローを切り替えまたは更新するための方法および装置
KR20230104258A (ko) 클라우드 플랫폼에서 넷제로 작업흐름 수정을 시그널링하는 방법 및 장치
US20220263923A1 (en) Function repository selection mode and signaling for cloud based processing
CN115668373A (zh) 数据流中无中断且连续切换工作流或更新工作流的方法
JP2023545522A (ja) クラウドプラットフォーム上でワークフローをスケジューリングする方法、装置、及びコンピュータプログラム
CN111831834A (zh) 基于网络的媒体处理(nbmp)中处理媒体内容的方法和装置
CN117015761A (zh) 用于在具有数据流连续性的云上切换或更新部分或全部工作流的方法和装置
EP4179718A1 (en) Method and apparatus for segment-based split and merge functions for parallel processing of media

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240402