(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-01
(54)【発明の名称】クラウド上でのメディアコンテンツの並列トランスコーディング方法及び装置
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240222BHJP
【FI】
G06Q50/10
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023555385
(86)(22)【出願日】2022-04-12
(85)【翻訳文提出日】2023-09-08
(86)【国際出願番号】 US2022024352
(87)【国際公開番号】W WO2023059370
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-03-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イーラジ・ソダガー
(57)【要約】
メディアコンテンツを分流して並列メディアサブストリームにし、1つのトランスコーダを用いて各メディアサブストリームに対してトランスコーディングを行なった後、並列メディアサブストリームを合流させて1つのトランスコーディング済みストリームにする、メディアコンテンツの並列トランスコーディングシステム及び方法が提供される。並列トランスコーディングを分流器タスク、トランスコーダタスク及び合流器タスクを含むワークフローの一部として1つ以上のメディア処理エンティティによって実行してもよく、タスクの状態を報告するように1つ以上のメディア処理エンティティを制御してもよい。
【特許請求の範囲】
【請求項1】
ネットワークを用いたメディア処理(NBMP)ワークフローマネージャを実施する少なくとも1つのプロセッサによって実行される方法であって、
圧縮された映像ストリームを分流して圧縮されたサブストリームにする分流器タスクと、
トランスコーディング済みサブストリームになるべき前記圧縮されたサブストリームに対してそれぞれトランスコーディングを行なうトランスコーダタスクと、
前記トランスコーディング済みサブストリームを合流して1つのトランスコーディング済みサブストリームにする合流器タスクと
を含むNBMPワークフローを作成するステップと、
前記NBMPワークフローを実行するように少なくとも1つのメディア処理エンティティを制御するステップと、
前記NBMPワークフローを実行する前記少なくとも1つのメディア処理エンティティを、前記分流器タスクの分流器状態と、前記トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、前記合流器タスクの合流器状態とのうちから少なくとも1つを別のエンティティに報告するように制御するステップと
を備える方法。
【請求項2】
前記少なくとも1つのメディア処理エンティティは前記分流器タスクの前記分流器状態を報告するように制御される、請求項1に記載の方法。
【請求項3】
前記少なくとも1つのメディア処理エンティティは前記トランスコーダタスクの前記少なくとも1つの、前記トランスコーダ状態を報告するように制御される、請求項1に記載の方法。
【請求項4】
前記少なくとも1つのメディア処理エンティティは前記合流器タスクの前記合流器状態を報告するように制御される、請求項1に記載の方法。
【請求項5】
前記少なくとも1つのメディア処理エンティティは前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの前記少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とを報告するように制御される、請求項1に記載の方法。
【請求項6】
報告するように前記少なくとも1つのメディア処理エンティティを制御する前記ステップは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とを報告サーバに報告するように前記少なくとも1つのメディア処理エンティティを制御するステップを備える、請求項1に記載の方法。
【請求項7】
報告するように前記少なくとも1つのメディア処理エンティティを制御する前記ステップは、前記NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを報告するように前記少なくとも1つのメディア処理エンティティを制御するステップを備える、請求項1に記載の方法。
【請求項8】
報告するように前記少なくとも1つのメディア処理エンティティを制御する前記ステップは、前記NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを報告する前記少なくとも1つのメディア処理エンティティを制御するステップを備える、請求項1に記載の方法。
【請求項9】
報告するように前記少なくとも1つのメディア処理エンティティを制御する前記ステップは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを、前記分流器タスク、前記トランスコーダタスク及び前記合流器タスクのうちの対応する1つが実行されている間に報告するように前記少なくとも1つのメディア処理エンティティを制御するステップを備える、請求項1に記載の方法。
【請求項10】
前記報告サーバは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちの前記少なくとも1つがウェブダッシュボードで視覚化されることを実現するように構成される、請求項6に記載の方法。
【請求項11】
コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、
圧縮された映像ストリームを分流して圧縮されたサブストリームにする分流器タスクと、
トランスコーディング済みサブストリームになるべき前記圧縮されたサブストリームに対してそれぞれトランスコーディングを行なうトランスコーダタスクと、
前記トランスコーディング済みサブストリームを合流して1つのトランスコーディング済みサブストリームにする合流器タスクと
を含むNBMPワークフローを、前記少なくとも1つのプロセッサによって実施されるネットワークを用いたメディア処理(NBMP)ワークフローマネージャに作成させるように構成される作成コードと、
前記NBMPワークフローを実行するように少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される第1の制御コードと、
前記NBMPワークフローを実行する前記少なくとも1つのメディア処理エンティティを、前記分流器タスクの分流器状態と、前記トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、前記合流器タスクの合流器状態とのうちから少なくとも1つを別のエンティティに報告するように前記NBMPワークフローマネージャに制御させるように構成される第2の制御コードと
を備える前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって指示されるように動作するように構成される少なくとも1つのプロセッサと
を備えるシステム。
【請求項12】
前記第2の制御コードは、前記分流器タスクの前記分流器状態を報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項13】
前記第2の制御コードは、前記トランスコーダタスクの前記少なくとも1つの、前記トランスコーダ状態を報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項14】
前記第2の制御コードは、前記合流器タスクの前記合流器状態を報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項15】
前記第2の制御コードは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの前記少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とを報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項16】
前記第2の制御コードは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とを報告サーバに報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項17】
前記第2の制御コードは、前記NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項18】
前記第2の制御コードは、前記NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項19】
前記第2の制御コードは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを、前記分流器タスク、前記トランスコーダタスク及び前記合流器タスクのうちの対応する1つが実行されている間に報告するように前記少なくとも1つのメディア処理エンティティを前記NBMPワークフローマネージャに制御させるように構成される、請求項11に記載のシステム。
【請求項20】
少なくとも1つのプロセッサによって実行されるとき、
圧縮された映像ストリームを分流して圧縮されたサブストリームにする分流器タスクと、
トランスコーディング済みサブストリームになるべき前記圧縮されたサブストリームに対してそれぞれトランスコーディングを行なうトランスコーダタスクと、
前記トランスコーディング済みサブストリームを合流して1つのトランスコーディング済みサブストリームにする合流器タスクと
を含むNBMPワークフローを作成し、
前記NBMPワークフローを実行するように少なくとも1つのメディア処理エンティティを制御し、
前記NBMPワークフローを実行する前記少なくとも1つのメディア処理エンティティを、前記分流器タスクの分流器状態と、前記トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、前記合流器タスクの合流器状態とのうちから少なくとも1つを別のエンティティに報告するように制御する
ネットワークを用いたメディア処理(NBMP)ワークフローマネージャを前記少なくとも1つのプロセッサに実施させるように構成されるコンピュータコードを記憶する非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は2021年10月6日に出願された米国仮出願第63/253,053号の優先権を主張する。本仮出願の開示の全体が本明細書に参照により援用される。
【0002】
本開示の実施形態は、メディアコンテンツの並列トランスコーディングシステム及び方法を対象とする。本システム及び方法では、メディアコンテンツを並列メディアサブストリームに分流し、各メディアサブストリームに対して1つのトランスコーダを用いてトランスコーディングを行ない、並列メディアサブストリームを合流させて1つのトランスコーディング済みストリームにする。
【背景技術】
【0003】
様々なアプリケーションを実行するのにネットワーククラウドプラットフォームが用いられる。ネットワークを用いたメディア処理(Network-Based Media Processing:NBMP)標準にはクラウドプラットフォーム上でのワークフローの定義、インスタンス化及び実行についての仕様が含まれる。当該標準では、セグメントの境界をシグナリングするためのメタデータを用いる分流器機能及び合流器機能テンプレートも定められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
実施形態に係れば、複数のトランスコーダを動作させるクラウドサービスが提供され、これにより、トランスコーディングの速度を上げることができる。たとえば、並列サブストリームの個数を増やしてトランスコーディングの速度を上げることができる。
【課題を解決するための手段】
【0005】
実施形態に係れば、ネットワークを用いたメディア処理(NBMP)ワークフローマネージャを実施する少なくとも1つのプロセッサによって実行される方法が提供される。本方法は、圧縮された映像ストリームを分流して圧縮されたサブストリームにする分流器タスクと、トランスコーディング済みサブストリームになるべき圧縮されたサブストリームに対してそれぞれトランスコーディングを行なうトランスコーダタスクと、トランスコーディング済みサブストリームを合流して1つのトランスコーディング済みサブストリームにする合流器タスクとを含むNBMPワークフローを作成するステップを含む。本方法は、NBMPワークフローを実行するように少なくとも1つのメディア処理エンティティを制御するステップと、NBMPワークフローを実行する少なくとも1つのメディア処理エンティティを、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを別のエンティティに報告するように制御するステップとをさらに含む。
【0006】
1つ以上の実施形態に係れば、少なくとも1つのメディア処理エンティティは分流器タスクの分流器状態を報告するように制御される。
【0007】
1つ以上の実施形態に係れば、少なくとも1つのメディア処理エンティティはトランスコーダタスクの少なくとも1つの、トランスコーダ状態を報告するように制御される。
【0008】
1つ以上の実施形態に係れば、少なくとも1つのメディア処理エンティティは合流器タスクの合流器状態を報告するように制御される。
【0009】
1つ以上の実施形態に係れば、少なくとも1つのメディア処理エンティティは分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とを報告するように制御される。
【0010】
1つ以上の実施形態に係れば、報告するように少なくとも1つのメディア処理エンティティを制御するステップは、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とを報告サーバに報告するように少なくとも1つのメディア処理エンティティを制御するステップを含む。
【0011】
1つ以上の実施形態に係れば、報告するように少なくとも1つのメディア処理エンティティを制御するステップは、NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを報告するように少なくとも1つのメディア処理エンティティを制御するステップを含む。
【0012】
1つ以上の実施形態に係れば、報告するように少なくとも1つのメディア処理エンティティを制御するステップは、NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを報告する少なくとも1つのメディア処理エンティティを制御するステップを含む。
【0013】
1つ以上の実施形態に係れば、報告するように少なくとも1つのメディア処理エンティティを制御するステップは、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを、分流器タスク、トランスコーダタスク及び合流器タスクのうちの対応する1つが実行されている間に報告するように少なくとも1つのメディア処理エンティティを制御するステップを含む。
【0014】
1つ以上の実施形態に係れば、報告サーバは、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちの少なくとも1つがウェブダッシュボードで視覚化されることを実現するように構成される。
【0015】
実施形態に係れば、システムが提供される。本システムは、コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって指示されるように動作するように構成される少なくとも1つのプロセッサとを含む。コンピュータプログラムコードは、圧縮された映像ストリームを分流して圧縮されたサブストリームにする分流器タスクと、トランスコーディング済みサブストリームになるべき圧縮されたサブストリームに対してそれぞれトランスコーディングを行なうトランスコーダタスクと、トランスコーディング済みサブストリームを合流して1つのトランスコーディング済みサブストリームにする合流器タスクとを含むNBMPワークフローを、少なくとも1つのプロセッサによって実施されるネットワークを用いたメディア処理(NBMP)ワークフローマネージャに作成させるように構成される作成コードを含む。コンピュータプログラムコードは、NBMPワークフローを実行するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される第1の制御コードと、NBMPワークフローを実行する少なくとも1つのメディア処理エンティティを、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを別のエンティティに報告するようにNBMPワークフローマネージャに制御させるように構成される第2の制御コードとをさらに含む。
【0016】
1つ以上の実施形態に係れば、第2の制御コードは、分流器タスクの分流器状態を報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0017】
1つ以上の実施形態に係れば、第2の制御コードは、トランスコーダタスクの少なくとも1つの、トランスコーダ状態を報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0018】
1つ以上の実施形態に係れば、第2の制御コードは、合流器タスクの合流器状態を報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0019】
1つ以上の実施形態に係れば、第2の制御コードは、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とを報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0020】
1つ以上の実施形態に係れば、第2の制御コードは、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とを報告サーバに報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0021】
1つ以上の実施形態に係れば、第2の制御コードは、NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0022】
1つ以上の実施形態に係れば、第2の制御コードは、NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0023】
1つ以上の実施形態に係れば、第2の制御コードは、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを、分流器タスク、トランスコーダタスク及び合流器タスクのうちの対応する1つが実行されている間に報告するように少なくとも1つのメディア処理エンティティをNBMPワークフローマネージャに制御させるように構成される。
【0024】
実施形態に係れば、コンピュータコードを記憶する非一時的コンピュータ可読媒体が提供される。本コンピュータコードは、少なくとも1つのプロセッサによって実行されるとき、圧縮された映像ストリームを分流して圧縮されたサブストリームにする分流器タスクと、トランスコーディング済みサブストリームになるべき圧縮されたサブストリームに対してそれぞれトランスコーディングを行なうトランスコーダタスクと、トランスコーディング済みサブストリームを合流して1つのトランスコーディング済みサブストリームにする合流器タスクとを含むNBMPワークフローを作成するネットワークを用いたメディア処理(NBMP)ワークフローマネージャを少なくとも1つのプロセッサに実施させるように構成される。本コンピュータコードは、NBMPワークフローを実行するように少なくとも1つのメディア処理エンティティを制御し、NBMPワークフローを実行する少なくとも1つのメディア処理エンティティを、分流器タスクの分流器状態と、トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、合流器タスクの合流器状態とのうちから少なくとも1つを別のエンティティに報告するように制御することを少なくとも1つのプロセッサに行なわせるようにさらに構成される。
【0025】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質及び様々な効果がより明らかになる。
【図面の簡単な説明】
【0026】
【
図1】実施形態に係る、本出願で説明されている方法、装置及びシステムを実施することができる環境の図である。
【
図2】
図1の1つ以上のデバイスの要素の例のブロック図である。
【
図3】実施形態に係るNBMPシステムのブロック図である。
【
図4】実施形態に係る、分流器機能及び合流器機能を用いた並列トランスコーディングのアーキテクチャの例の図である。
【
図7】実施形態に係るシステムのブロック図である。
【
図8】実施形態に係るコンピュータコードのブロック図である。
【発明を実施するための形態】
【0027】
図1は、実施形態に係る、本出願で説明されている方法、装置及びシステムを実施することができる環境100の図である。
図1に示されているように、環境100はユーザデバイス110、プラットフォーム120及びネットワーク130を含んでもよい。環境100のデバイスを有線接続、無線接続や、有線接続と無線接続との組合せを介して接続してもよい。
【0028】
ユーザデバイス110は、プラットフォーム120に関連する情報の受信、生成、記憶、処理及び/又は提供を行なうことができる1つ以上のデバイスを含む。たとえば、ユーザデバイス110はコンピューティングデバイス(たとえば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話器(たとえば、スマートフォン、無線電話器など)、ウェアラブルデバイス(たとえば、スマートグラス又はスマートウォッチ)やこれらに類するデバイスを含んでもよい。いくつかの実現例では、ユーザデバイス110はプラットフォーム120から情報を受信しかつ/又はプラットフォーム120に情報を送信してもよい。
【0029】
プラットフォーム120は本明細書の他の記載で説明されているように1つ以上のデバイスを含む。いくつかの実現例では、プラットフォーム120はクラウドサーバを含んでも、クラウドサーバのグループを含んでもよい。いくつかの実現例では、その場合に必要なものに応じてソフトウェアコンポネントをスワップインしたりスワップアウトしたりすることができるようなモジュール式になるようにプラットフォーム120を設計することができる。したがって、プラットフォーム120を異なる用途向けに容易にかつ/又は迅速に再構成することができる。
【0030】
いくつかの実現例では、図示されているように、プラットフォーム120をクラウドコンピューティング環境122でホスティングによって提供してもよい。特に、本明細書で説明されている実現例では、プラットフォーム120がクラウドコンピューティング環境122でホスティングによって提供されるように説明されているが、いくつかの実現例では、プラットフォーム120はクラウドを用いるものではなくてもよい(すなわち、クラウドコンピューティング環境の外で実施されてもよい)し、部分的にクラウドを用いるものであってもよい。
【0031】
クラウドコンピューティング環境122は、プラットフォーム120をホスティングによって提供する環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホスティングによって提供する1つ以上のシステム及び/又は1つ以上のデバイスの物理的な位置及び構成についてのエンドユーザ(たとえばユーザデバイス110)による認識を必要としない計算サービス、ソフトウェアサービス、データアクセスサービス、記憶サービスなどを提供してもよい。図示の通り、クラウドコンピューティング環境122は計算リソース124の集まり(まとめて「計算リソース124」と称し、また、個別に「計算リソース124」と称する)を含んでもよい。
【0032】
計算リソース124は1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイスや他の種類の計算及び/又は通信デバイスを含む。いくつかの実現例では、計算リソース124がプラットフォーム120をホスティングによって提供してもよい。クラウドリソースは、計算リソース124で実行される計算インスタンス、計算リソース124で提供される記憶デバイス、計算リソース124によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実現例では、計算リソース124は有線接続、無線接続や、有線接続と無線接続との組合せを介して他の計算リソース124と通信してもよい。
【0033】
図1にさらに示されているように、計算リソース124は1つ以上のアプリケーション(APP)124-1、1つ以上の仮想マシン(VM)124-2、仮想ストレージ(VS)124-3、1つ以上のハイパーバイザ(HYP)124-4などのクラウドリソースのグループを含む。
【0034】
アプリケーション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を介して情報を受信してもよい。
【0035】
仮想マシン124-2は、物理的なマシンのようにプログラムを実行するマシン(たとえばコンピュータ)のソフトウェア実現例を含む。仮想マシン124-2は、用途と、仮想マシン124-2が任意の実在のマシンに一致する度合いとに応じてシステム仮想マシンとプロセス仮想マシンとのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(OS)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンはプログラムを1つだけ実行することができ、プロセスを1つだけサポートすることができる。いくつかの実現例では、ユーザ(たとえばユーザデバイス110)の代わり仮想マシン124-2が実行主体になってもよく、仮想マシン124-2がデータ管理、同期や長期間のデータ転送など、クラウドコンピューティング環境122のインフラストラクチャを管理してもよい。
【0036】
仮想ストレージ124-3は、1つ以上の記憶システム、及び/又は計算リソース124の記憶システム若しくはデバイス中で仮想化技術を用いる1つ以上のデバイスを含む。いくつかの実現例では、記憶システムに限っていえば、仮想化の類型にはブロック仮想化とファイル仮想化とが含まれるといえる。ブロック仮想化は、物理的ストレージであってもヘテロジニアス構造であっても記憶システムにアクセスすることができるような、物理的ストレージからの論理ストレージの抽出(又は分離)を指すといえる。分離により、記憶システムのアドミニストレータによるエンドユーザ向けのストレージの管理の仕方の自由度を高めることができる。ファイル仮想化により、データが所定のファイルレベルでアクセスされることと、ファイルが物理的に記憶されている位置との間の依存関係を解消させることができる。これにより、ストレージの使用の最適化、サーバ統合及び/又は非破壊的なファイルマイグレーションの実行を可能にすることができる。
【0037】
ハイパーバイザ124-4は、計算リソース124などのホストコンピュータ上で複数のオペレーティングシステム(たとえば「ゲストオペレーティングシステム」)が同時に実行主体になることを可能にするハードウェア仮想化技術を提供することができる。ハイパーバイザ124-4はゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提供することができ、ゲストオペレーティングシステムの実行を管理することができる。様々なオペレーティングシステムの複数のインスタンスが、仮想化されたハードウェアリソースを共有することができる。
【0038】
ネットワーク130は1つ以上の有線ネットワーク及び/又は無線ネットワークを含む。たとえば、ネットワーク130はセルラネットワーク(たとえば、第五世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第三世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上移動体通信網(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話網(たとえば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバを用いたネットワークなど、及び/又はこれらのタイプ若しくは他のタイプのネットワークの組合せを含んでもよい。
【0039】
図1に示されているデバイス及びネットワークの個数及び配置は一例として示されている。実際には、
図1に示されているものと比較して、より多数のデバイス及び/若しくはネットワーク、より少数のデバイス及び/若しくはネットワーク、異なるデバイス及び/若しくはネットワーク又は異なる配置のデバイス及び/若しくはネットワークが存在してもよい。さらに、
図1に示されている2つ以上のデバイスが1つのデバイス中で実施されてもよいし、
図1に示されている1つのデバイスが複数の分散したデバイスとして実施されてもよい。これに加えて又はこれの代わりに、環境100のデバイスの集合(たとえば1つ以上のデバイス)が、環境100のデバイスの別の集合によって実行されるような1つ以上の機能を実行してもよい。
【0040】
図2は
図1の1つ以上のデバイスの要素の例のブロック図である。デバイス200はユーザデバイス110及び/又はプラットフォーム120に対応してもよい。
図2に示されているように、デバイス200はバス210、プロセッサ220、メモリ230、記憶要素240、入力要素250、出力要素260及び通信インタフェイス270を含んでもよい。
【0041】
バス210はデバイス200の要素間の通信を可能にする要素を含む。プロセッサ220はハードウェア、ファームウェア、又はハードとソフトとの組合せで実施される。プロセッサ220は中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、アクセラレーテッドプロセッシングユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)又は別のタイプのプロセッサである。いくつかの実現例では、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含む。メモリ230はランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、並びに/又はプロセッサ220によって用いられる情報及び/若しくは指示を記憶する別のタイプの動的若しくは静的記憶デバイス(たとえば、フラッシュメモリ、磁気メモリ及び/若しくは光メモリ)を含む。
【0042】
記憶要素240はデバイス200の動作及び使用に関する情報及び/又はソフトウェアを記憶する。たとえば、記憶要素240はハードディスク(たとえば、磁気ディスク、光ディスク、光磁気ディスク及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は別のタイプの非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
【0043】
入力要素250は、ユーザ入力(たとえば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ及び/又はマイク)を介するなどして、デバイス200が情報を受け付けることを可能にする要素を含む。これに加えて又はこれの代わりに、入力要素250は情報を感知するセンサ(たとえば、全地球測位システム(GPS)要素、加速度計、ジャイロスコープ及び/又はアクチュエータ)を含んでもよい。出力要素260はデバイス200からの出力情報を提供する要素(たとえば、ディスプレイ、スピーカ及び/又は1つ以上の発光ダイオード(LED))を含む。
【0044】
通信インタフェイス270は、有線接続、無線接続や、有線接続と無線接続との組合せを介するなどしてデバイス200が他のデバイスと通信するのを可能にするトランシーバのような要素(たとえば、トランシーバ及び/又は別体になっている受信器と送信器)を含む。通信インタフェイス270を用いることで、デバイス200が別のデバイスから情報を受信しかつ/又は別のデバイスに情報を提供することを可能にしてもよい。たとえば、通信インタフェイス270はEthernetインタフェイス、光インタフェイス、同軸インタフェイス、赤外線インタフェイス、高周波(RF)インタフェイス、ユニバーサルシリアルバス(USB)インタフェイス、Wi-Fiインタフェイス、セルラネットワークインタフェイスなどを含んでもよい。
【0045】
デバイス200は本明細書で説明されている1つ以上のプロセスを実行することができる。デバイス200は、メモリ230及び/又は記憶要素240などの非一時的コンピュータ可読媒体によって記憶されているソフトウェア指示をプロセッサ220が実行するのに応じて当該プロセスを実行してもよい。本出願ではコンピュータ可読媒体は非一時的なメモリデバイスと定義される。メモリデバイスは1つの物理的な記憶デバイス中の記憶空間、又は複数の物理的な記憶デバイスにわたる記憶空間を含む。
【0046】
ソフトウェア指示を別のコンピュータ可読媒体から読み出したり、通信インタフェイス270を介して別のデバイスから読み出したりしてメモリ230及び/又は記憶要素240に読み込んでもよい。実行時、メモリ230及び/又は記憶要素240に記憶されているソフトウェア指示を用いて本明細書で説明されている1つ以上のプロセスをプロセッサ220に実行させてもよい。これに加えて又はこれの代わりに、ソフトウェア指示の代わりにハードワイヤード回路を用いたり、ソフトウェア指示と組み合せてハードワイヤード回路を用いたりして、本明細書で説明されている1つ以上のプロセスを実行してもよい。したがって、本明細書で説明されている実現例はハードウェア回路とソフトウェアとのいかなる特定の組合せにも限定されない。
【0047】
図2に示されている要素の個数及び配置は一例として示されている。実際には、デバイス200は
図2に示されているものと比較して、より多数の要素、より少数の要素、異なる要素又は異なる配置の要素を含んでもよい。これに加えて又はこれの代わりに、デバイス200の要素の集合(たとえば、1つ以上の要素)が、デバイス200の要素の別の集合によって実行されるような1つ以上の機能を実行してもよい。
【0048】
本開示の一実施形態では、NBMPシステム300が提供される。
図3を参照して、NBMPシステム300はNBMP提供元310、NBMPワークフローマネージャ320、機能レポジトリ330、1つ以上のメディア処理エンティティ350、メディア提供元360及びメディア提供先370を備える。
【0049】
NBMP提供元310はサードパーティエンティティ380から指示を受け取ってもよく、NBMPワークフローAPI392を介してNBMPワークフローマネージャ320と通信してもよく、機能検出API391を介して機能レポジトリ330と通信してもよい。たとえば、NBMP提供元310はNBMPワークフローマネージャ320に1つ以上のワークフロー記述ドキュメント(workflow description document:WDD)を送ってもよく、機能レポジトリ330に記憶されている機能の機能説明を読み出してもよい。当該機能は機能レポジトリ330のメモリに記憶されているメディア処理機能であり、たとえば、メディア復号、特徴箇所抽出、カメラパラメータ抽出、投影方法、継ぎ目情報抽出、合成、後処理や符号化の機能などである。NBMP提供元310は、少なくとも1つのプロセッサと、NBMP提供元310の機能を少なくともプロセッサに実行させるように構成されているコードを記憶する少なくとも1つのメモリとを備えたり、これらによって実施されたりしてもよい。
【0050】
NBMP提供元310は、ワークフロー記述ドキュメントを送ることによって、1つ以上のメディア処理エンティティ350によって実行されるようにタスク352を含むワークフローを作成するようにNBMPワークフローマネージャ320に要求してもよく、ワークフロー記述ドキュメントは数個の記述子を含んでもよく、記述子の各々は数個のパラメータを有してもよい。
【0051】
たとえば、NBMP提供元310は機能レポジトリ330に記憶されている機能を選択してワークフロー記述ドキュメントをNBMPワークフローマネージャ320に送ってもよく、ワークフロー記述ドキュメントは入出力データ、必要な機能やワークフローの要件など、記述の詳細に用いられる様々な記述子を含む。ワークフロー記述ドキュメントはタスクの記述の集合と、メディア処理エンティティ350の1つ以上によって実行されるタスク352の入出力の接続マップとを含んでもよい。このような情報をNBMP提供元310からNBMPワークフローマネージャ320が受け取るとき、NBMPワークフローマネージャ320は機能名に基づいてタスクをインスタンス化して、接続マップにしたがってタスクを接続することによってワークフローを作成してもよい。
【0052】
上記の代わりに又は上記に加えて、NBMP提供元310はキーワードの集合を用いてワークフローを作成するようにNBMPワークフローマネージャ320に要求してもよい。たとえば、NBMP提供元310は、機能レポジトリ330に記憶されている適する機能をNBMPワークフローマネージャ320が探索するのに用い得るキーワードの集合を含むことができるワークフロー記述ドキュメントをNBMPワークフローマネージャ320に送ってもよい。このような情報をNBMP提供元310からNBMPワークフローマネージャ320が受け取るとき、NBMPワークフローマネージャ320はワークフロー記述ドキュメントの処理記述子で指定することができるキーワードを用いて適する機能を検索することによってワークフローを作成してもよく、ワークフロー記述ドキュメント中の他の記述子を用いてタスクのプロビジョニングを行ない、タスクを接続してワークフローを作成してもよい。
【0053】
NBMPワークフローマネージャ320は機能検出API393を介して機能レポジトリ330と通信してもよく、機能検出API393は機能検出API391と同じAPIであっても異なるAPIであってもよい。NBMPワークフローマネージャ320はNBMPタスクAPI394を介してメディア処理エンティティ350の1つ以上と通信してもよい。NBMPワークフローマネージャ320はメディア処理エンティティ(media processing entity:MPE)API396も介してメディア処理エンティティ350の1つ以上と通信してもよい。NBMPワークフローマネージャ320は、少なくとも1つのプロセッサと、NBMPワークフローマネージャ320の機能を少なくともプロセッサに実行させるように構成されているコードを記憶する少なくとも1つのメモリとを備えたり、これらによって実施されたりしてもよい。
【0054】
NBMPワークフローマネージャ320はNBMPタスクAPI394を用いて、1つ以上のメディア処理エンティティ350によって実行可能なワークフローの、1つ以上のタスク352の構築、設定、管理、監視を行なってもよい。一実施形態では、NBMPワークフローマネージャ320はNBMPタスクAPI394を用いてタスク352の更新及び破棄を行なってもよい。ワークフローのタスク352の設定、管理、監視を行なうために、NBMPワークフローマネージャ320はメディア処理エンティティ350の1つ以上に要求などのメッセージを送ってもよい。各メッセージは数個の記述子を有してもよく、記述子の各々は数個のパラメータを有する。タスク352の各々はメディア処理機能354と、メディア処理機能354の設定353とを含んでもよい。
【0055】
一実施形態では、タスクのリストを含まない(たとえば、タスクのリストの代わりにキーワードのリストを含む)ワークフロー記述ドキュメントをNBMP提供元310から受け取った後、NBMPワークフローマネージャ320は機能レポジトリ330を検索するためのワークフロー記述ドキュメント中のタスクの記述に基づいてタスクを機能検出API393を介して選択して、対象のワークフローのタスク352として実行される適する機能を検出してもよい。たとえば、NBMPワークフローマネージャ320はワークフロー記述ドキュメント中で提供されるキーワードに基づいてタスクを選択してもよい。NBMP提供元310によって提供されるキーワード又はタスクの記述の集合を用いて適する機能が特定された後、NBMPワークフローマネージャ320はNBMPタスクAPI394を用いて、選択されたタスクをワークフロー中で設定してもよい。たとえば、NBMPワークフローマネージャ320はNBMP提供元から受け取った情報から設定データを抽出して、設定データに基づいてタスク352を設定してもよい。
【0056】
1つ以上のメディア処理エンティティ350は、メディア提供元360からメディアコンテンツを受け取り、タスク352を含みかつNBMPワークフローマネージャ320によって作成されるワークフローにしたがってメディアコンテンツを処理し、処理されたメディアコンテンツをメディア提供先370に出力するように構成されてもよい。1つ以上のメディア処理エンティティ350の各々は、少なくとも1つのプロセッサと、メディア処理エンティティ350の機能を少なくともプロセッサに実行させるように構成されているコードを記憶する少なくとも1つのメモリとを備えたり、これらによって実施されたりしてもよい。
【0057】
メディア提供元360はメディアを記憶するメモリを含んでもよく、NBMP提供元310と一体化されてもNBMP提供元310とは別体であってもよい。一実施形態では、ワークフローが用意されたときにNBMPワークフローマネージャ320がNBMP提供元310に通知してもよく、メディア提供元360はワークフローが用意されているとの通知に基づいてメディア処理エンティティ350の1つ以上にメディアコンテンツを送ってもよい。
【0058】
メディア提供先370は、少なくとも1つのプロセッサと、1つ以上のメディア処理エンティティ350によって処理されたメディアを表示するように構成される少なくとも1つのディスプレイとを備えたり、これらによって実施されたりしてもよい。
【0059】
サードパーティエンティティ380は、少なくとも1つのプロセッサと、サードパーティエンティティ380の機能を少なくともプロセッサに実行させるように構成されているコードを記憶する少なくとも1つのメモリとを備えたり、これらによって実施されたりしてもよい。
【0060】
上述されているように、NBMP提供元310からNBMPワークフローマネージャ320へのメッセージ(たとえば、ワークフローの作成を要求するためのワークフロー記述ドキュメント)と、NBMPワークフローマネージャ320から1つ以上のメディア処理エンティティ350へのメッセージ(たとえば、ワークフローを実行させるためのメッセージ)とは、数個の記述子を含んでもよく、記述子の各々は数個のパラメータを有してもよい。複数の例で、APIを用いたNBMPシステム300のどの要素の間の通信も数個の記述子を含んでもよく、記述子の各々は数個のパラメータを有してもよい。
【0061】
実施形態に係れば、複数のトランスコーダを動作させるクラウドサービスが提供され、これにより、トランスコーディングの速度を上げることができる。たとえば、並列サブストリームの個数を増やしてトランスコーディングの速度を上げることができる。
【0062】
実施形態に係れば、
図4に示されているアーキテクチャ400を実施することができ、アーキテクチャ400は分流器機能及び合流器機能を用いた並列トランスコーディングのアーキテクチャである。
【0063】
図4を参照して、メディア提供元410からの1つのストリーム491が分流器420によって複数のサブストリーム492に分割される。その後、各サブストリーム492に対して対応するトランスコーダ(トランスコーダ430-1,430-2,…430-N)によってトランスコーディングが行なわれ、トランスコーディング済みサブストリーム493はトランスコーダから合流器440に送られる。合流器440はトランスコーディング済みサブストリーム493を合成して、出力494を生成してメディア提供先450に送る。出力494は、トランスコーディング済みサブストリーム493を含む1つのトランスコーディング済みストリームを含んでもよい。実施形態に係れば、メディア提供元410は
図3のメディア提供元360に対応してもよく、メディア提供先450は
図3のメディア提供先370に対応してもよい。実施形態に係れば、分流器420、トランスコーダ(トランスコーダ430-1,430-2,…430-N)及び合流器440はタスク352の1つ以上の、一部として
図3のメディア処理エンティティ350の1つ以上によって実行される機能(たとえば、
図3のメディア処理機能354)であってもよい。
【0064】
図5~
図6を参照して、分流器420及び合流器440の実施形態を説明する。たとえば、
図5~
図6にそれぞれ示されているように、分流器420は1:2の分流を含む分流器機能であってもよく、合流器440は2:1の合流を含む合流器機能であってもよい。ただし、分流器420及び合流器440の分流比及び合流比はこれに限定されない。実施形態に係れば、分流器機能及び合流器機能を実行するメディア処理エンティティ350では、標準で定められている設定パラメータの分流数及び/又は合流数を許容することができる。たとえば、タスク352の対応する設定353に少なくとも1つの指標が含まれてもよく、この指標によって、タスク352に含まれる分流器機能及び/又は合流器機能によって実行される分流数及び/又は合流数を示してもよい。
【0065】
図5~
図6を参照して、分流器機能でも合流器機能でも、機能テンプレートの一部として設定可能である入力バッファ及び出力バッファを用いる。分流器機能及び合流器機能の入力及び出力は、タイミングメタデータが設けられかつインデックスが付されたストリームであってもよい。インデックスが付されたストリームの各セグメントの付属するタイミングメタデータストリームには開始時間、時間幅及びバイト長さのメタデータが含まれてもよい。対応する設定パラメータはセグメント時間幅、セグメントメタデータ及び繰り返しヘッダ(repeat-header)であってもよい。
【0066】
実施形態に係れば、
図5を参照して、分流器420は入力バッファ422、分流器ロジック424及び複数の出力バッファ(たとえば、第1の出力バッファ426-1と第2の出力バッファ426-2)を含んでもよい。入力バッファ422は、インデックスが付されかつタイミングメタデータが設けられた圧縮された映像ストリームを受け取るように構成されてもよい。一例として、圧縮された映像ストリームは圧縮されたセグメントs4,s3,s2及びs1を含んでもよい。分流器ロジック424は、圧縮された映像ストリームを圧縮されたサブストリームに分流し、圧縮されたサブストリームを出力バッファにそれぞれ提供するように構成されてもよい。たとえば、分流器ロジック424は圧縮されたセグメントs3及びs1を含む圧縮されたサブストリームを第1の出力バッファ426-1に提供し、圧縮されたセグメントs4及びs2を含む圧縮されたサブストリームを第2の出力バッファ426-2に提供してもよい。出力バッファは、出力バッファが受け取った圧縮されたサブストリームを出力するように構成されてもよい。実施形態に係れば、分流器420は圧縮されたセグメントs3及びs1を含む圧縮されたサブストリームを第1のトランスコーダ(たとえば、
図4のトランスコーダ430-1)に出力し、圧縮されたセグメントs4及びs2を含む圧縮されたサブストリームを第2のトランスコーダ(たとえば、
図4のトランスコーダ430-2)に出力してもよく、第1及び第2のトランスコーダは受け取った圧縮されたサブストリームに対してトランスコーディングを行なって、トランスコーディング済みサブストリームを合流器440に出力してもよい。
【0067】
図6を参照して、合流器440は複数の入力バッファ(たとえば、第1の入力バッファ442-1と第2の入力バッファ442-2)、合流器ロジック444及び出力バッファ446を含んでもよい。入力バッファは、トランスコーディング済みサブストリームをそれぞれ受け取るように構成されてもよい。たとえば、第1の入力バッファ442-1はトランスコーディング済みセグメントs3*及びs1*を含むトランスコーディング済みサブストリームを受け取ってもよく、第2の入力バッファ442-2はトランスコーディング済みセグメントs4*及びs2*を含むトランスコーディング済みサブストリームを受け取ってもよい。第1の入力バッファ442-1と第2の入力バッファ442-2との各々は、それぞれ受け取ったトランスコーディング済みサブストリームを合流器ロジック444に出力するように構成されてもよい。合流器ロジック444は、トランスコーディング済みサブストリームを合流させてトランスコーディング済みセグメント(たとえば、トランスコーディング済みセグメントs4*,s3*,s2*及びs1*)を含む1つのトランスコーディング済み映像ストリームにして、1つのトランスコーディング済み映像ストリームを出力バッファ446に送るように構成されてもよい。出力バッファ446は、1つのトランスコーディング済み映像ストリームを出力するように構成されてもよい。実施形態に係れば、合流器440は1つのトランスコーディング済み映像ストリームをメディア提供先450に出力してもよい。1つのトランスコーディング済み映像ストリームにインデックスを付して、タイミングメタデータを設けてもよい。
【0068】
実施形態に係れば、分流器420、トランスコーダ及び合流器440がこれらの要素の動作を報告サーバに報告してもよい。たとえば、分流器420、トランスコーダ及び/又は合流器440を実施する1つのメディア処理エンティティ(又は複数のエンティティ)が別の要素(たとえば、報告サーバ)に情報を送ってもよく、この情報はメディア処理エンティティによって実行された1つ以上の機能の1つ以上の分流器状態、1つ以上のトランスコーダ状態及び/又は1つ以上の合流器状態を示す。
【0069】
図7を参照して、以下、本開示の実施形態によって実行される動作の例を説明する。
図7中、矢印付きの実線はNBMP API動作を示し、矢印付きの点線はメディア処理を示す。
図7はNBMP管理要素を含むシステム700を示す。実施形態に係れば、システム700はNBMPクライアント710と、NBMPサービス720と、メディア提供元410と、メディア提供先450と、ウェブUIバックエンド740及びウェブダッシュボード742を実施する報告サーバとを含んでもよい。実施形態に係れば、報告サーバは、少なくとも1つのプロセッサと、報告サーバの機能を少なくともプロセッサに実行させるように構成されているコンピュータコードを記憶する少なくとも1つのメモリとによって実施されてもよい。実施形態に係れば、少なくとも1つのプロセッサ及び/又はメモリは、本開示の実施形態の他の要素が実施されるのに用いられる少なくとも1つのプロセッサ及び/又はメモリと同じであっても異なってもよい。
【0070】
実施形態に係れば、NBMPクライアント710を
図3のNBMP提供元310によって実施してもよい。NBMPサービス720は機能レポジトリ722、ワークフローマネージャ724及びタスクマネージャ726を含んでもよい。実施形態に係れば、機能レポジトリ722を
図3の機能レポジトリ330によって実施してもよく、ワークフローマネージャ724とタスクマネージャ726とを
図3のNBMPワークフローマネージャ320によって実施してもよい。実施形態に係れば、ワークフロー730は分流器420、トランスコーダ430及び合流器440を含んでもよく、これらは
図3の1つ以上のメディア処理エンティティ350によって実施されるタスク352に含まれてもよい。
【0071】
実施形態に係れば、システム700は、(1)ワークフローを作成するステップと、(2)利用可能な機能を取得するステップと、(3)分流器、トランスコーダ及び合流器のタスクを作成するステップと、(4)ワークフローを実行するステップと、(5)ワークフローに対してメディアのストリーミングを行なうステップと、(6)ワークフロー及びタスク状態を視覚化するステップとを含む方法を実行してもよい。
【0072】
たとえば、NBMPクライアント710は、ワークフロー730を記述するWDD781を作成してワークフローマネージャ724に送ってもよく、ワークフローマネージャ724はワークフロー730を作成してもよい。実施形態に係れば、ワークフロー730を
図3を参照して上述されているように作成してもよい。WDD781を受け取った後、ワークフローマネージャ724は機能レポジトリ722から機能テンプレートを取得(782)してワークフロー730を作成してもよい。実施形態に係れば、ワークフローマネージャ724(たとえばNBMPワークフローマネージャ320)は
図3を参照して上述されているように機能レポジトリ722(たとえば機能レポジトリ330)とやり取りしてもよい。WDD781と機能テンプレートとに基づいてワークフローマネージャ724は1つ以上のメディア処理エンティティ(たとえば、メディア処理エンティティ350)によって実行されるようにワークフロー730のタスクの作成及び順序設定(783)を行なってもよい。タスクは分流器420、トランスコーダ430及び合流器440のメディア処理機能を含んでもよい。ワークフローマネージャ724がワークフロー730のタスクの作成及び順序設定を行なった後、タスクマネージャ726はワークフロー730のタスクが実行されるように1つ以上のメディア処理エンティティを制御(784)してもよい。タスクは、メディア提供元410が分流器420を実施するメディア処理エンティティに対してメディアのストリーミングを行なうステップ(785)と、分流器420、トランスコーダ430及び合流器440を実施する1つ以上のメディア処理エンティティによってメディアを処理するステップと、処理されたメディアコンテンツを、合流器440を実施するメディアメディア処理エンティティがメディア提供先450に出力するステップ(791)とによって実行されてもよい。実施形態に係れば、メディア提供元410によってストリーミングされるメディアは、インデックスが付されるh265ストリームであってもよい。分流器420、トランスコーダ430及び合流器440の機能については
図4~
図6を参照した上記の説明から理解することができる。
【0073】
実施形態に係れば、ワークフローマネージャ724がワークフロー状態を報告サーバのウェブUIバックエンド740に報告(786)してもよく、タスクマネージャ726がタスク状態を報告サーバのウェブUIバックエンド740に報告(787)してもよく、分流器420が分流器状態を報告サーバのウェブUIバックエンド740に報告(788)してもよく、トランスコーダ430が当該トランスコーダ430に対応するトランスコーダ状態を報告サーバのウェブUIバックエンド740に報告(789)してもよく、合流器440が合流器状態を報告サーバのウェブUIバックエンド740に報告(790)してもよい。状態の報告はそれぞれの状態を示す指標を含む第1の情報を送るステップを含んでもよい。実施形態に係れば、WDD781は、ワークフローマネージャ724、タスクマネージャ726、分流器420、トランスコーダ430及び合流器440の1つ以上がこれらに対応する状態を報告するべき報告先を示す第2の情報を含んでもよく、第2の情報は報告されることになっているものをさらに示してもよい。実施形態に係れば、第2の情報に基づいてワークフローマネージャ724及び/又はタスクマネージャ726がこれらに対応する状態を報告してもよく、また、第2の情報に基づいてワークフローマネージャ724及び/又はタスクマネージャ726が、1つ以上のメディア処理エンティティによって実施される分流器420、トランスコーダ430及び/又は合流器440の状態を報告するように1つ以上のメディア処理エンティティを制御してもよい。
【0074】
実施形態に係れば、報告サーバを用いて、報告サーバが受け取った第1の情報に基づいてウェブダッシュボード742でデータの視覚化を実現(792)してもよい。たとえば、視覚化されるデータはワークフロー状態、タスク状態、ワークフローグラフ及びメディア提供先映像プレーヤを含んでもよい。実施形態に係れば、分流器状態、トランスコーダ状態及び合流器状態も視覚化してもよい。報告サーバは、少なくとも1つのディスプレイにウェブダッシュボード742を表示させることによってデータが視覚化されることを実現するように構成されてもよい。
【0075】
実施形態に係れば、トランスコーディングの実質速度を上げる、2つ以上のトランスコーダを用いたメディアストリーミングの並列トランスコーディングシステム及び方法を提供することができる。本システム及び方法を用いることで、タイミングメタデータを用いて分流数/合流数及び機能の設定が可能であるようにNBMP標準のNBMP分流器機能及び合流器機能を実施することができる。本システム及び方法を用いることで、NBMP標準を用いるワークフローのインスタンス化、デプロイ、管理及び監視を管理することができ、この場合、NBMPワークフローマネージャだけではなくワークフローのタスクによって進捗がウェブを用いたダッシュボードにリアルタイムに報告される。
【0076】
本開示の実施形態に係れば、少なくとも1つのプロセッサを、コンピュータコードを記憶するメモリとともに提供することができる。コンピュータコードは、少なくとも1つのプロセッサによって実行されるときに本開示のいかなる数の態様をも実行するように構成されてもよい。
【0077】
たとえば、
図8を参照して、コンピュータコード800をNBMPシステム300で実施してもよい。たとえば、コンピュータコードをNBMPワークフローマネージャ320のメモリに記憶してもよく、NBMPワークフローマネージャ320の少なくとも1つのプロセッサによって実行してもよい。コンピュータコードは、たとえば、取得コード810、作成コード820、第1の制御コード830及び第2の制御コード840を備えてもよい。
【0078】
取得コード810は、本開示の実施形態にしたがって、WDDから情報をNBMPワークフローマネージャ320に取得させるように構成されてもよい。たとえば、NBMPワークフローマネージャ320はWDDを受け取ってもよく、NBMPワークフローマネージャ320が対応する情報を取得するようにWDD中のパラメータをNBMPワークフローマネージャ320にシグナリングしてもよい。
【0079】
作成コード820は、本開示の実施形態にしたがって、タスク352を含むメディア処理ワークフローをNBMPワークフローマネージャ320に作成させるように構成されてもよい。たとえば、タスク352は分流器420、トランスコーダ430及び合流器440の機能を含んでもよい。実施形態に係れば、メディア処理ワークフローをWDDから取得される情報に基づいて作成してもよい。
【0080】
第1の制御コード830は、本開示の実施形態にしたがって、メディア処理ワークフローを実行するように少なくとも1つのメディア処理エンティティ350をNBMPワークフローマネージャ320に制御させるように構成されてもよい。
【0081】
第2の制御コード840は、本開示の実施形態にしたがって、分流器状態、トランスコーダ状態及び合流器状態のうちから少なくとも1つを報告するように、メディア処理ワークフローを実行する少なくとも1つのメディア処理エンティティ350をNBMPワークフローマネージャ320に制御させるように構成されてもよい。たとえば、分流器420を実施するメディア処理エンティティ350を、分流器状態を報告するように制御してもよく、トランスコーダ430を実施するメディア処理エンティティ350を、トランスコーダ状態を報告するように制御してもよく、合流器440を実施するメディア処理エンティティ350を、合流器状態を報告するように制御してもよい。実施形態に係れば、NBMPワークフローマネージャ320はWDDから取得される情報に基づいて制御を行なってもよい。たとえば、NBMPワークフローマネージャ320はWDDから取得された情報に基づいてどの情報をどこに報告するのかを制御してもよい。実施形態に係れば、NBMPワークフローマネージャ320は状態を報告サーバに報告するようにメディア処理エンティティ350を制御してもよい。
【0082】
1つ以上の実施形態に係れば、本開示の実施形態をNBMPとは異なる環境で実施してもよい。
【0083】
上記の開示にて例示と説明とを行なっているが、上記の開示は、制限列挙であったり、実施を、開示されている形態に厳密に一致するものに限定したりすることを意図していない。上記の開示に照らし合せれば、修正と変形とが可能であるし、修正と変形とを実現例の実施から得ることができる。
【0084】
本出願で用いられる用語要素は、ハードウェア、ファームウェア、又はハードとソフトとの組合せとして広義に解釈されることを意図している。
【0085】
特徴の組合せが請求項に記載されかつ/又は明細書で説明されている場合であっても、当該組合せは可能な実現例の開示を限定することを意図していない。実際には、これらの特徴の多くを、請求項に明確には記載されておらずかつ/又は明細書で明確には開示されていない仕方で組み合せることができる。以下に列挙されている各従属請求項は1つの請求項のみに直接従属することができるが、各従属請求項を請求項の集合中の他の任意の請求項と組み合せたものが、可能な実現例の開示に含まれる。
【0086】
本出願で用いられている要素、動作又は指示は、核心的であったり必須であったりするものとしては当然解釈されない。ただし、そのように明記されている場合を除く。また、本出願で用いられている冠詞「a」及び「an」は1つ以上の事物を含むことを意図しており、「1つ以上」の意味でも用いることができる。さらに、本出願で用いられている「集合」は、1つ以上の事物(たとえば、関連する事物、関連しない事物、関連する事物と関連しない事物との組合せなど)を含むことを意図しており、「1つ以上」の意味でも用いることができる。事物1つのみを意図している記載箇所では、用語「1つ」又は同様の記載表現が用いられる。また、本出願で用いられている用語「has」、「have」、「having」などは、オープンエンド用語であることを意図している。さらに、語句「に基づく」は、別段明記しない限り、「に少なくとも部分的に基づく」を意味することを意図している。
【符号の説明】
【0087】
100 環境
110 ユーザデバイス
120 プラットフォーム
122 クラウドコンピューティング環境
124 計算リソース
124-1 アプリケーション
124-2 仮想マシン
124-3 仮想ストレージ
124-4 ハイパーバイザ
130 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 記憶要素
250 入力要素
260 出力要素
270 通信インタフェイス
300 NBMPシステム
310 NBMP提供元
320 NBMPワークフローマネージャ
330 機能レポジトリ
350 メディア処理エンティティ
352 タスク
353 設定
354 メディア処理機能
360 メディア提供元
370 メディア提供先
380 サードパーティエンティティ
391 機能検出API
392 NBMPワークフローAPI
393 機能検出API
394 NBMPタスクAPI
396 メディア処理エンティティAPI
400 アーキテクチャ
410 メディア提供元
420 分流器
422 入力バッファ
424 分流器ロジック
426-1 第1の出力バッファ
426-2 第2の出力バッファ
430 トランスコーダ
430-1 トランスコーダ
430-2 トランスコーダ
430-N トランスコーダ
440 合流器
442-1 第1の入力バッファ
442-2 第2の入力バッファ
444 合流器ロジック
446 出力バッファ
450 メディア提供先
491 ストリーム
492 サブストリーム
493 サブストリーム
494 出力
700 システム
710 NBMPクライアント
720 NBMPサービス
722 機能レポジトリ
724 ワークフローマネージャ
726 タスクマネージャ
730 ワークフロー
740 ウェブUIバックエンド
742 ウェブダッシュボード
781 WDD
800 コンピュータコード
810 取得コード
820 作成コード
830 第1の制御コード
840 第2の制御コード
【手続補正書】
【提出日】2023-09-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ネットワークを用いたメディア処理(NBMP)ワークフローマネージャを実施する少なくとも1つのプロセッサによって実行される方法であって、
圧縮された映像ストリームを分流して圧縮されたサブストリームにする分流器タスクと、
トランスコーディング済みサブストリームになるべき前記圧縮されたサブストリームに対してそれぞれトランスコーディングを行なうトランスコーダタスクと、
前記トランスコーディング済みサブストリームを合流して1つのトランスコーディング済みサブストリームにする合流器タスクと
を含むNBMPワークフローを作成するステップと、
前記NBMPワークフローを実行するように少なくとも1つのメディア処理エンティティを制御するステップと、
前記NBMPワークフローを実行する前記少なくとも1つのメディア処理エンティティを、前記分流器タスクの分流器状態と、前記トランスコーダタスクの少なくとも1つの、トランスコーダ状態と、前記合流器タスクの合流器状態とのうちから少なくとも1つを別のエンティティに報告するように制御するステップと
を備える方法。
【請求項2】
前記少なくとも1つのメディア処理エンティティは前記分流器タスクの前記分流器状態を報告するように制御される、請求項1に記載の方法。
【請求項3】
前記少なくとも1つのメディア処理エンティティは前記トランスコーダタスクの前記少なくとも1つの、前記トランスコーダ状態を報告するように制御される、請求項1に記載の方法。
【請求項4】
前記少なくとも1つのメディア処理エンティティは前記合流器タスクの前記合流器状態を報告するように制御される、請求項1に記載の方法。
【請求項5】
前記少なくとも1つのメディア処理エンティティは前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの前記少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とを報告するように制御される、請求項1に記載の方法。
【請求項6】
報告するように前記少なくとも1つのメディア処理エンティティを制御する前記ステップは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とを報告サーバに報告するように前記少なくとも1つのメディア処理エンティティを制御するステップを備える、請求項1に記載の方法。
【請求項7】
報告するように前記少なくとも1つのメディア処理エンティティを制御する前記ステップは、前記NBMPワークフローマネージャが受け取ったワークフロー記述ドキュメント(WDD)中の情報に基づいて、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを報告するように前記少なくとも1つのメディア処理エンティティを制御するステップを備える、請求項1に記載の方法。
【請求項8】
報告するように前記少なくとも1つのメディア処理エンティティを制御する前記ステップは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちから前記少なくとも1つを、前記分流器タスク、前記トランスコーダタスク及び前記合流器タスクのうちの対応する1つが実行されている間に報告するように前記少なくとも1つのメディア処理エンティティを制御するステップを備える、請求項1に記載の方法。
【請求項9】
前記報告サーバは、前記分流器タスクの前記分流器状態と、前記トランスコーダタスクの少なくとも1つの、前記トランスコーダ状態と、前記合流器タスクの前記合流器状態とのうちの前記少なくとも1つがウェブダッシュボードで視覚化されることを実現するように構成される、請求項6に記載の方法。
【請求項10】
コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、
少なくとも1つのプロセッサによって実施されるネットワークを用いたメディア処理(NBMP)ワークフローマネージャに請求項1~9のいずれか一項に記載の方法を行わせるように構成される前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって指示されるように動作するように構成される
前記少なくとも1つのプロセッサと
を備えるシステム。
【請求項11】
少なくとも1つのプロセッサによって実行されるとき、
請求項1~9のいずれか一項に記載の方法を行うネットワークを用いたメディア処理(NBMP)ワークフローマネージャを前記少なくとも1つのプロセッサに実施させるように構成される
コンピュータプログラム。
【国際調査報告】