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

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

▶ 富士通株式会社の特許一覧

<>
  • 特開-映像伝送装置、方法、及びシステム 図1
  • 特開-映像伝送装置、方法、及びシステム 図2
  • 特開-映像伝送装置、方法、及びシステム 図3
  • 特開-映像伝送装置、方法、及びシステム 図4
  • 特開-映像伝送装置、方法、及びシステム 図5
  • 特開-映像伝送装置、方法、及びシステム 図6
  • 特開-映像伝送装置、方法、及びシステム 図7
  • 特開-映像伝送装置、方法、及びシステム 図8
  • 特開-映像伝送装置、方法、及びシステム 図9
  • 特開-映像伝送装置、方法、及びシステム 図10
  • 特開-映像伝送装置、方法、及びシステム 図11
  • 特開-映像伝送装置、方法、及びシステム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128393
(43)【公開日】2023-09-14
(54)【発明の名称】映像伝送装置、方法、及びシステム
(51)【国際特許分類】
   H04N 21/234 20110101AFI20230907BHJP
   H04N 21/238 20110101ALI20230907BHJP
【FI】
H04N21/234
H04N21/238
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022032714
(22)【出願日】2022-03-03
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】石井 大祐
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164GA03
5C164SA11S
5C164SB01P
5C164SB26P
5C164SB29S
5C164SB41S
5C164TA08S
5C164YA21
(57)【要約】
【課題】映像ファイルを断片化する場合に、クライアントアプリケーションで要求される遅延時間を満たす範囲で、トラフィックを削減する。
【解決手段】映像伝送装置10が、映像ファイルを受信するクライアントアプリケーション42nが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得し、取得した情報に基づいて、要求遅延時間を満たす範囲で最長となるキーフレームの挿入頻度を算出し、符号化装置24nに設定する。符号化装置24nは、設定されたキーフレームの挿入頻度に基づいて、映像ファイルを符号化し、符号化ストリームを断片化装置30へ送信し、断片化装置30の分割装置32が、符号化ストリームを複数の断片化ファイルに分割し、クライアントアプリ42nからアクセス可能に断片化ファイル記憶部34に記憶する。
【選択図】図1
【特許請求の範囲】
【請求項1】
設定されたキーフレームの挿入頻度に基づいて符号化装置により符号化され、分割装置により複数の断片化ファイルに分割された映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得する取得部と、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となる前記キーフレームの挿入頻度を前記符号化装置に設定する設定部と、
を含む映像伝送装置。
【請求項2】
前記設定部は、前記要求遅延時間から、前記発生する遅延時間に関する情報が示す遅延時間を差し引いた時間が、前記キーフレームの挿入時間間隔となるように、前記キーフレームの挿入頻度を算出する請求項1に記載の映像伝送装置。
【請求項3】
前記取得部は、複数の前記クライアントアプリケーションが各々異なる要求遅延時間を要求する場合、最短の要求遅延時間を前記設定部で用いる前記要求遅延時間として採用する請求項1又は請求項2に記載の映像伝送装置。
【請求項4】
前記取得部は、前記発生する遅延時間に関する情報として、符号化に要する遅延時間、前記断片化ファイルへの分割に要する遅延時間、及び前記映像ファイルの伝送に要する遅延時間の少なくとも1つを取得する請求項1~請求項3のいずれか1項に記載の映像伝送装置。
【請求項5】
前記取得部は、前記符号化に要する遅延時間として、前記符号化装置の機器構成及び符号化方式に応じた遅延時間を取得する請求項4に記載の映像伝送装置。
【請求項6】
前記取得部は、前記映像ファイルの伝送に要する遅延時間として、計測により得られた遅延時間、統計的若しくは機械学習により得られた遅延時間、又は予め定めた遅延時間を取得する請求項4に記載の映像伝送装置。
【請求項7】
前記設定部は、前記符号化装置に設定する前記キーフレームの挿入頻度に基づいて、符号化された前記映像ファイルを前記キーフレーム毎に分割するように前記分割装置に設定する請求項1~請求項6のいずれか1項に記載の映像伝送装置。
【請求項8】
映像伝送装置が、
映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得し、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となるキーフレームの挿入頻度を符号化装置に設定し、
前記符号化装置が、設定された前記キーフレームの挿入頻度に基づいて、前記映像ファイルを符号化し、
分割装置が、符号化された前記映像ファイルを複数の断片化ファイルに分割する
映像伝送方法。
【請求項9】
設定されたキーフレームの挿入頻度に基づいて、映像ファイルを符号化する符号化装置と、
符号化された前記映像ファイルを複数の断片化ファイルに分割する分割装置と、
前記映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得する取得部と、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となる前記キーフレームの挿入頻度を前記符号化装置に設定する設定部と、
を含む映像伝送システム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、映像伝送装置、映像伝送方法、及び映像伝送システムに関する。
【背景技術】
【0002】
エッジで撮影した映像を、クラウドのコンピューティングリソースを用いて処理をさせるといった、エッジ-クラウド間の映像処理技術が存在する。映像ファイルに対するマルチアクセスを可能にするためなどの理由で、エッジ-クラウド間での映像ファイルの処理及び伝送の過程で映像ファイルを細かく区切って、HLS(HTTP Live Streaming)等の断片化ファイルに分割する場合がある。
【0003】
例えば、複数の符号化ストリームを合成して再生する際に、全てのコンテンツでGOP(Group Of Picture)構成を同一に保ちつつ、GOP構成を変更することが可能な映像処理装置が提案されている。この装置は、同一のコンテンツについて異なる条件で符号化された複数のストリームの内のいずれかを複数のコンテンツについて取得し、該ストリームが復号される前に合成する。また、この装置は、各ストリームのピクチャ構成の情報を取得し、取得したピクチャ構成の情報を用いて、合成される各ストリームのピクチャ構成が同一となるように各コンテンツに対するストリームを選択する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2014-192565号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
映像ファイルを断片化ファイルに分割する場合、映像ファイルを細かく分割し、1つの断片化ファイルに相当する時間が短くなるほど、断片化ファイルへの変換のための待ち時間を短縮し、遅延時間を抑えることができる。ただし、映像ファイルを断片化ファイルに分割する際に、例えばIピクチャ等のキーフレームが存在しない区間では分割することができない。断片化ファイルを短くするためにキーフレームを増やした場合、低遅延化を達成することはできる。しかし、PピクチャやBピクチャ等のキーフレーム以外のフレームに比べ、キーフレームのファイルサイズは大きいため、キーフレームを増やすことによりトラフィックが増大するという問題がある。
【0006】
また、トラフィックを抑制するためにQPを下げることも考えられる。しかし、この場合、映像品質に大きく影響してしまうため、アプリケーションによっては適さない。
【0007】
なお、上記のGOP構成を変更する従来技術では、GOPサイズを複数のストリームで共通化することを目的としており、低遅延化及びトラフィックの削減については考慮されていない。
【0008】
一つの側面として、開示の技術は、映像ファイルを断片化する場合に、クライアントアプリケーションで要求される遅延時間を満たす範囲で、トラフィックを削減することを目的とする。
【課題を解決するための手段】
【0009】
一つの態様として、開示の技術は、設定されたキーフレームの挿入頻度に基づいて符号化装置により符号化され、分割装置により複数の断片化ファイルに分割された映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間を取得する。また、開示の技術は、発生する遅延時間に関する情報を取得する。そして、開示の技術は、取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となる前記キーフレームの挿入頻度を前記符号化装置に設定する。
【発明の効果】
【0010】
一つの側面として、映像ファイルを断片化する場合に、クライアントアプリケーションで要求される遅延時間を満たす範囲で、トラフィックを削減することができる、という効果を有する。
【図面の簡単な説明】
【0011】
図1】映像伝送システムの概略構成を示すブロック図である。
図2】符号化情報の一例を示す図である。
図3】符号化ストリームを分割した断片化ファイルを説明するための図である。
図4】要求遅延情報の一例を示す図である。
図5】断片化ファイルの長短による遅延を説明するための図である。
図6】映像伝送装置の機能ブロック図である。
図7】集約した要求遅延情報の一例を示す図である。
図8】映像出力装置毎の要求遅延時間の一例を示す図である。
図9】符号化遅延DBの一例を示す図である。
図10】映像出力装置毎のキーフレームの挿入頻度の一例を示す図である。
図11】映像伝送装置として機能するコンピュータの概略構成を示すブロック図である。
図12】映像伝送処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0013】
図1に示すように、本実施形態に係る映像伝送システム100は、映像伝送装置10と、複数の映像出力装置20n(n=1,2,・・・)と、断片化装置30と、複数のクライアント端末40nとを含む。
【0014】
映像出力装置20nは、エッジ側に配置される。映像出力装置20nは、映像入力機器22nと、符号化装置24nとを含む。映像入力機器22nは、例えばビデオカメラであり、映像を撮影し、映像ファイルを符号化装置24nへ入力する。
【0015】
符号化装置24nは、設定されたキーフレームの挿入頻度(詳細は後述)に基づいて、映像入力機器22nから入力された映像ファイルを符号化する。例えば、符号化装置24nは、1つのIピクチャと、複数のBピクチャ及びPピクチャとをまとめたGOPの構造を1単位として符号化を行う。Iピクチャはキーフレームの一例である。本実施形態では、このキーフレームの挿入頻度が後述する映像伝送装置10により設定される。符号化装置24nは、ハードウェアエンコーダであってもよいし、ソフトウェアエンコーダであってもよい。符号化装置24nは、映像ファイルを符号化した符号化ストリームを断片化装置30へ送信する。
【0016】
また、符号化装置24nは、符号化における遅延時間を算出するための符号化情報を保持する。図2に、符号化情報26の一例を示す。図2の例では、符号化情報26は、エンコーダの種類、採用される符号化方式等の情報を含む。エンコーダの種類は、ハードウェアかソフトウェアか、ソフトウェアの場合にはCPU(Central Processing Unit)の性能等である。また、符号化情報26は、符号化装置24nに入力される映像ファイルのフレームレート、解像度等の情報を含む。符号化情報26は、映像出力装置20nの識別情報である装置IDと対応付けられている。なお、図2では、装置IDとして、その装置IDが示す映像出力装置20nに含まれる映像入力機器22nの識別情報を使用した例を示しており、「映像入力機器n」は、映像入力機器22nの識別情報である。
【0017】
断片化装置30は、クラウド側に配置される。断片化装置30は、分割装置32と、断片化ファイル記憶部34とを含む。なお、映像伝送システム100に含まれる断片化装置30の数は図1の例に限定されず、複数の断片化装置30を含んでもよい。
【0018】
分割装置32は、CPU、ROM(Read Only Memory)、RAM(Random Access Memory)等を含むコンピュータで実現されてよい。分割装置32は、映像出力装置20nから送信された符号化ストリームを受信し、図3に示すように、符号化ストリームを複数の断片化ファイルに分割する。断片化ファイルは、例えば、HLS、MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)等である。また、分割装置32は、各断片化ファイルの再生順等の情報を含むインデックス情報も生成する。分割装置32は、1映像ファイルを何個の断片化ファイルに分割するかの情報を保持している。
【0019】
断片化ファイル記憶部34には、分割装置32により分割された断片化ファイルが記憶される。断片化ファイル記憶部34は、例えば、SSD(Solid State Drive)等の高速ストレージで実現してよい。クラウド上の高速ストレージに断片化ファイルを記憶することで、複数のクライアント端末40nから同時に断片化ファイルの利用が可能となる。
【0020】
クライアント端末40nは、パーソナルコンピュータ、タブレット端末、スマートフォン等で実現されてよい。クライアント端末40n上では、映像ファイルを再生するためのクライアントアプリケーション(以下、「クライアントアプリ」という)42nが動作する。クライアントアプリ42nは、映像ファイルの利用形態等により、映像入力機器22nで取得された映像ファイルがクライアントアプリ42nへ伝送されるまでの遅延時間として、そのアプリケーションに応じた要求遅延時間を要求する。例えば、ライブ配信等のリアルタイム性が要求されるクライアントアプリ42nでは要求遅延時間は短い時間となる。これに比べ、伝送された映像ファイルをいったん蓄積した後に利用するようなクライアントアプリ42nでは、要求遅延時間は長い時間となる。
【0021】
クライアント端末40nは、例えば図4に示すように、映像ファイルを取得する接続先機器毎に、その映像ファイルの伝送に対する要求遅延時間を定めた要求遅延情報44を保持する。図4の例では、要求遅延情報44には、クライアントアプリ42nの識別情報であるクライアントIDが対応付けられている。なお、「クライアントアプリn」は、クライアントアプリ42nの識別情報であり、図4の例では、「クライアントアプリ1」は、クライアントアプリ421の識別情報である。
【0022】
エッジ-クラウド間の通信、すなわち、映像出力装置20nと断片化装置30との間の通信は、低遅延を達成するため、高速性に優れるUDP(User Datagram Protocol)としてよい。そのため、映像出力装置20nと断片化装置30との間の通信回線は、回線コスト、許容トラフィック、専用線における最大値の制約、VPN(Virtual Private Network)におけるスループットの制約等、通信量に制約が大きい回線となる。また、断片化装置30とクライアント端末40nとの間の通信は、TCP(Transmission Control Protocol)としてよい。そのため、断片化装置30とクライアント端末40nとの間の通信回線は、クラウド内の高速回線等、通信量の制約が小さい回線となる。これにより、映像伝送システム100におけるTCP送信区間を最小とし、映像ファイルの伝送の高速化を保つことができる。
【0023】
ここで、図5に示すように、1つの断片化ファイルの時間が短いほど、すなわち、1つの断片化ファイルに含まれるフレーム数が少ないほど、断片化ファイルへの変換のための待ち時間が短くなるため、低遅延化を図ることができる。また、1つの断片化ファイルの時間が長いほど、断片化ファイルへの変換のための待ち時間が長くなるため、低遅延化を図ることができない。一方、1つの断片化ファイルには少なくとも1つのキーフレームが含まれる必要がある。そのため、断片化ファイルを短くするためにキーフレームを増やした場合、データ量の大きなキーフレームが増えることになるため、トラフィックが増大するという問題がある。
【0024】
そこで、映像伝送装置10は、クライアントアプリ42nの要求遅延時間を満たす範囲で、トラフィックを削減することができるキーフレームの挿入頻度を算出して符号化装置24nに設定する。映像伝送装置10は、機能的には、図6に示すように、取得部12と、算出部14と、設定部16とを含む。また、映像伝送装置10の所定の記憶領域には、符号化遅延DB(Database)18が記憶される。なお、算出部14及び設定部16は、開示の技術の設定部の一例である。
【0025】
取得部12は、映像ファイルを受信するクライアントアプリ42nが要求する要求遅延時間を取得する。取得部12は、複数のクライアントアプリ42nが各々異なる要求遅延時間を要求する場合、最短の要求遅延時間、すなわち最も要求が厳しい要求遅延時間を、後段の算出部14で用いる要求遅延時間として採用する。取得部12は、例えば、クライアントアプリ42nと接続される映像出力装置20nが変更されるなどして、クライアントアプリ42nの要求遅延時間が変更される都度、要求遅延時間を取得し直す。
【0026】
具体的には、取得部12は、各クライアントアプリ42nから、そのクライアントアプリ42nのクライアントIDに対応付けられた要求遅延情報44(図4)を取得する。取得部12は、各クライアントアプリ42nから取得した要求遅延情報44を、図7に示すように集約する。そして、取得部12は、同一の接続先機器を対象とする要求遅延時間のうち、最短の要求遅延時間を、その接続先機器が示す映像出力装置20nに対する要求遅延時間として取得する。
【0027】
例えば、図7に示すように、接続先機器を映像出力装置201(装置ID=映像入力機器1)とするクライアントアプリ42nがクライアントアプリ421、423、及び424(クライアントID=クライアントアプリ1、3、及び4)であるとする。そして、クライアントアプリ421、423、及び424のそれぞれの要求遅延時間が9秒、15秒、及び20秒の場合、取得部12は、図8に示すように、映像出力装置201に対する要求遅延時間「9秒」を取得する。同様に、取得部12は、映像出力装置202に対する要求遅延時間「10秒」を取得する。
【0028】
また、取得部12は、発生する遅延時間に関する情報を取得する。具体的には、取得部12は、発生する遅延時間に関する情報として、符号化に要する遅延時間(以下、「符号化遅延」という)を取得する。より具体的には、取得部12は、符号化遅延DB18を参照し、符号化遅延として、映像出力装置20nの機器構成及び符号化方式に応じた遅延時間を取得する。取得部12は、クライアントアプリ42nの接続先機器である映像出力装置20nが変更される都度、符号化遅延を取得し直す。
【0029】
例えば、符号化遅延DB18には、図9に示すように、エンコーダの種類及び符号化方式毎に、符号化遅延を算出するための単位時間(以下、「単位符号化遅延」という)が記憶されている。取得部12は、映像出力装置20nから符号化情報26(図2)を取得する。また、取得部12は、符号化情報26に含まれるエンコーダの種類及び符号化方式に対応する単位符号化遅延を符号化遅延DB18から取得する。そして、取得部12は、符号化情報26に含まれるフレームレート及び解像度と、単位符号化遅延とに基づいて、映像出力装置20n毎に符号化遅延を算出する。
【0030】
また、取得部12は、発生する遅延時間に関する情報として、映像入力機器22nとクライアント端末40n間の映像ファイルの伝送に関する遅延時間(以下、「伝送遅延」という)を取得する。伝送遅延は時間帯に応じて変化する場合があるため、取得部12は、任意の値や、過去の伝送遅延の時間帯毎の平均値等の予め登録された伝送遅延を取得してよい。また、取得部12は、機械学習等により生成された伝送遅延の予測モデルにより予測される伝送遅延を取得してもよい。また、取得部12は、上記の符号化遅延及び伝送遅延として、計測ステップを設け、実処理時間を計測し、実ノードで得られた値を取得してもよい。
【0031】
算出部14は、取得された情報に基づいて、要求遅延時間を満たす範囲で最長となるキーフレームの挿入頻度を算出する。具体的には、算出部14は、要求遅延時間から、発生する遅延時間に関する情報が示す遅延時間を差し引いた時間が、キーフレームの挿入時間間隔となるように、キーフレームの挿入頻度を算出する。図10に、映像出力装置20n毎に算出されたキーフレームの挿入頻度の一例を示す。
【0032】
以下、キーフレームの挿入頻度の算出の一例について説明する。算出に用いる値を、下記のように定義する。
R:同一の映像出力装置20nに接続されるクライアントアプリ42nの要求遅延時間のうち、最小の要求遅延時間[sec]
F:映像ファイルのフレームレート[frame/sec]
C:符号化遅延[sec]
A:その他の遅延時間[sec]
N:1映像ファイルについての断片化ファイル数
【0033】
この場合、算出部14は、以下のようにキーフレームの挿入頻度(I[frame])を算出する。
I=floor((R-C-A)*F/N)
ただし、floor(X)は、X以下の最大の整数
【0034】
例えば、最小の要求遅延時間(R)が9秒、符号化遅延(C)が4秒、その他の遅延時間(A)として伝送遅延が1秒であり、フレームレート(F)が10fps、断片化ファイル数(N)が4の場合、I=floor((9-4-1)*10/4)=10となる。すなわち、10フレームに1枚の頻度でキーフレームを挿入することが必要であると算出される。
【0035】
設定部16は、算出部14により算出されたキーフレームの挿入頻度を映像出力装置20nの符号化装置24nに設定する。また、設定部16は、断片化装置30の分割装置32に、算出部14により算出されたキーフレームの挿入頻度に基づいて、キーフレーム毎に符号化ストリームを分割した断片化ファイルを生成するように設定する。これは、デフォルトの設定として、例えば、GOP2つ分、すなわちキーフレーム2つ分で1つの断片化ファイルとなるように設定されているような場合を考慮したものである。デフォルトの設定がキーフレーム毎に断片化を行うものであれば、設定部16による設定は不要である。
【0036】
映像伝送装置10は、例えば図11に示すコンピュータ50で実現されてよい。コンピュータ50は、CPU51と、一時記憶領域としてのメモリ52と、不揮発性の記憶部53とを備える。また、コンピュータ50は、入力部、表示部等の入出力装置54と、記憶媒体59に対するファイルの読み込み及び書き込みを制御するR/W(Read/Write)部55とを備える。また、コンピュータ50は、インターネット等のネットワークに接続される通信I/F(Interface)56を備える。CPU51、メモリ52、記憶部53、入出力装置54、R/W部55、及び通信I/F56は、バス57を介して互いに接続される。
【0037】
記憶部53は、HDD(Hard Disk Drive)、SSD、フラッシュメモリ等によって実現されてよい。記憶媒体としての記憶部53には、コンピュータ50を、映像伝送装置10として機能させるための映像伝送プログラム60が記憶される。映像伝送プログラム60は、取得プロセス62と、算出プロセス64と、設定プロセス66とを有する。また、記憶部53は、符号化遅延DB18を構成する情報が記憶される情報記憶領域70を有する。
【0038】
CPU51は、映像伝送プログラム60を記憶部53から読み出してメモリ52に展開し、映像伝送プログラム60が有するプロセスを順次実行する。CPU51は、取得プロセス62を実行することで、図6に示す取得部12として動作する。また、CPU51は、算出プロセス64を実行することで、図6に示す算出部14として動作する。また、CPU51は、設定プロセス66を実行することで、図6に示す設定部16として動作する。また、CPU51は、情報記憶領域70から情報を読み出して、符号化遅延DB18をメモリ52に展開する。これにより、映像伝送プログラム60を実行したコンピュータ50が、映像伝送装置10として機能することになる。なお、プログラムを実行するCPU51はハードウェアである。
【0039】
なお、映像伝送プログラム60により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0040】
次に、本実施形態に係る映像伝送装置10の作用について説明する。映像伝送装置10において、図12に示す映像伝送処理が実行される。なお、映像伝送処理は、開示の技術の映像伝送方法の一例である。
【0041】
ステップS10で、取得部12が、各クライアントアプリ42nから要求遅延情報44を取得して、各クライアントアプリ42nの接続先機器及び要求遅延時間を集約する。そして、取得部12が、同一の接続先機器を対象とする要求遅延時間のうち、最短の要求遅延時間を、その接続先機器が示す映像出力装置20nに対する要求遅延時間として取得する。
【0042】
次に、ステップS12で、取得部12が、映像出力装置20nから符号化情報26を取得し、取得した符号化情報26と、符号化遅延DB18の情報とに基づいて、符号化遅延を取得する。また、取得部12が、予め登録された伝送遅延を取得する。次に、ステップS14で、算出部14が、上記ステップS10及びS12で取得された情報に基づいて、要求遅延時間を満たす範囲で最長となるキーフレームの挿入頻度を算出する。
【0043】
次に、ステップS16で、設定部16が、上記ステップS14で算出されたキーフレームの挿入頻度を映像出力装置20nの符号化装置24nに設定する。次に、ステップS18で、設定部16が、上記ステップS14で算出されたキーフレームの挿入頻度に基づいて挿入されたキーフレーム毎に符号化ストリームを分割した断片化ファイルを生成するように、断片化装置30の分割装置32に設定する。そして、映像伝送処理を終了する。
【0044】
映像伝送装置10は、上記の映像伝送処理を所定時間間隔で繰り返し実行する。又は、映像伝送装置10は、クライアントアプリ42nの要求遅延時間が変更される都度、及び符号化装置の構成及び符号化方式が変更される都度、上記の映像伝送処理を実行する。
【0045】
これにより、符号化装置24nが、設定されたキーフレームの挿入頻度に基づいて、映像入力機器22nから入力された映像ファイルを符号化して、符号化ストリームを断片化装置30へ送信する。そして、断片化装置30では、分割装置32が、符号化ストリームを、キーフレーム毎に分割して断片化ファイルを生成し、断片化ファイル記憶部34に記憶する。そして、クライアントアプリ42nが、断片化ファイル記憶部34にアクセスして、断片化ファイルを取得し、映像を復号して再生する。
【0046】
以上説明したように、本実施形態に係る映像伝送システムによれば、映像伝送装置が、映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得する。また、映像伝送装置が、取得された情報に基づいて、要求遅延時間を満たす範囲で最長となるキーフレームの挿入頻度を算出し、符号化装置に設定する。符号化装置は、設定されたキーフレームの挿入頻度に基づいて、映像ファイルを符号化する。そして、符号化された映像ファイルを複数の断片化ファイルに分割し、クライアントアプリからアクセス可能に記憶部に記憶する。これにより、映像ファイルを断片化する場合に、クライアントアプリケーションで要求される遅延時間を満たす範囲で、トラフィックを削減することができる。そのため、利用可能な回線帯域に制約のある場合であっても、クライアントアプリの要求遅延時間を満たしつつ、回線帯域の制約も満たすことができる。
【0047】
また、本実施形態に係る映像伝送システムによれば、クライアントアプリの接続先の変更や、符号化装置の構成の変更等にも動的に対応して、クライアントアプリの要求遅延時間を満たしつつ、トラフィックを削減することができる。この場合における適用時の効果例について説明する。
【0048】
上記実施形態で説明したキーフレームの挿入頻度の算出例において、符号化装置の構成がソフトウェアエンコーダ利用からハードウェアエンコーダ利用に変更されたことにより、符号化遅延が4秒から1秒に変更になったとする。この場合、キーフレームの挿入頻度は、I=floor((9-1-1)*10/4)=17となり、キーフレームの挿入頻度を約40%削減することができる。キーフレーム(例えば、Iピクチャ)のデータ量は、キーフレーム以外のフレーム(例えば、P及びBピクチャ)のデータ量と比較して大きく、シーンにより異なるが、仮に20倍程度であるとする。キーフレーム以外のフレームのデータ量をaとすると、Iフレーム分(1GOP分)のデータ量は、20*a+(I-1)*a=(I-1+20)*aとなる。また、計算を容易とするため、1映像ファイルを170フレームとすると、符号化装置の構成の変更前後のデータ量は以下のようになる。
【0049】
変更前(I=10):(10-1+20)*170/10*a=493a
変更後(I=17):(17-1+20)*170/17*a=360a
この場合、変更前のデータ量に対する変更後のデータ量は、360a/493a=約73%であり、約27%のトラフィックを削減することができる。
【0050】
上記の符号化装置の構成の変更後から、さらに、同一の符号化装置に接続されるクライアントアプリが変更されたことにより、最小の要求遅延時間が9秒から15秒に変更になったとする。この場合、最小の要求遅延時間の変更前後のキーフレームの挿入頻度は、I=floor((15-1-1)*10/4)=32となり、キーフレームの挿入頻度を約45%削減することができる。上記と同様に、キーフレームのデータ量を、キーフレーム以外のフレームのデータ量aの20倍程度とし、1映像ファイルを320フレームとすると、符号化装置の構成及び最小の要求遅延時間の変更前後のデータ量は以下のようになる。
【0051】
変更前(I=10):(10-1+20)*320/10*a=928a
変更後(I=32):(32-1+20)*320/32*a=510a
この場合、変更前のデータ量に対する変更後のデータ量は、510a/928a=約55%であり、約45%のトラフィックを削減することができる。
【0052】
なお、上記実施形態では、キーフレームの挿入頻度を算出するための遅延時間の一例として、符号化遅延及び伝送遅延について説明したが、遅延時間にはこれ以外のものを含んでもよい。例えば、断片化ファイルへの分割に要する遅延時間(以下、「分割遅延」という)を加えてもよい。また、これらの遅延時間を全て考慮する場合に限定されず、符号化遅延、伝送遅延、及び分割遅延の少なくとも1つを遅延時間として用いてもよい。
【0053】
また、本実施形態における映像伝送システムにおける映像伝送装置の配置は、図1の例に限定されない。映像伝送装置は、エッジ側に配置されてもよいし、クラウド側に配置されてもよい。また、映像伝送装置の各機能部をエッジ側及びクラウド側に分散配置するようにしてもよい。
【0054】
また、上記実施形態では、映像伝送プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【0055】
以上の実施形態に関し、さらに以下の付記を開示する。
【0056】
(付記1)
設定されたキーフレームの挿入頻度に基づいて符号化装置により符号化され、分割装置により複数の断片化ファイルに分割された映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得する取得部と、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となる前記キーフレームの挿入頻度を前記符号化装置に設定する設定部と、
を含む映像伝送装置。
【0057】
(付記2)
前記設定部は、前記要求遅延時間から、前記発生する遅延時間に関する情報が示す遅延時間を差し引いた時間が、前記キーフレームの挿入時間間隔となるように、前記キーフレームの挿入頻度を算出する付記1に記載の映像伝送装置。
【0058】
(付記3)
前記取得部は、複数の前記クライアントアプリケーションが各々異なる要求遅延時間を要求する場合、最短の要求遅延時間を前記設定部で用いる前記要求遅延時間として採用する付記1又は付記2に記載の映像伝送装置。
【0059】
(付記4)
前記取得部は、前記発生する遅延時間に関する情報として、符号化に要する遅延時間、前記断片化ファイルへの分割に要する遅延時間、及び前記映像ファイルの伝送に要する遅延時間の少なくとも1つを取得する付記1~付記3のいずれか1項に記載の映像伝送装置。
【0060】
(付記5)
前記取得部は、前記符号化に要する遅延時間として、前記符号化装置の機器構成及び符号化方式に応じた遅延時間を取得する付記4に記載の映像伝送装置。
【0061】
(付記6)
前記取得部は、前記映像ファイルの伝送に要する遅延時間として、計測により得られた遅延時間、統計的若しくは機械学習により得られた遅延時間、又は予め定めた遅延時間を取得する付記4に記載の映像伝送装置。
【0062】
(付記7)
前記設定部は、前記符号化装置に設定する前記キーフレームの挿入頻度に基づいて、符号化された前記映像ファイルを前記キーフレーム毎に分割するように前記分割装置に設定する付記1~付記6のいずれか1項に記載の映像伝送装置。
【0063】
(付記8)
映像伝送装置が、
映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得し、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となるキーフレームの挿入頻度を符号化装置に設定し、
前記符号化装置が、設定された前記キーフレームの挿入頻度に基づいて、前記映像ファイルを符号化し、
分割装置が、符号化された前記映像ファイルを複数の断片化ファイルに分割する
映像伝送方法。
【0064】
(付記9)
前記要求遅延時間から、前記発生する遅延時間に関する情報が示す遅延時間を差し引いた時間が、前記キーフレームの挿入時間間隔となるように、前記キーフレームの挿入頻度を算出する付記8に記載の映像伝送方法。
【0065】
(付記10)
複数の前記クライアントアプリケーションが各々異なる要求遅延時間を要求する場合、最短の要求遅延時間を前記要求遅延時間として採用する付記8又は付記9に記載の映像伝送方法。
【0066】
(付記11)
前記発生する遅延時間に関する情報として、符号化に要する遅延時間、前記断片化ファイルへの分割に要する遅延時間、及び前記映像ファイルの伝送に要する遅延時間の少なくとも1つを取得する付記8~付記10のいずれか1項に記載の映像伝送方法。
【0067】
(付記12)
前記符号化に要する遅延時間として、前記符号化装置の機器構成及び符号化方式に応じた遅延時間を取得する付記11に記載の映像伝送方法。
【0068】
(付記13)
前記映像ファイルの伝送に要する遅延時間として、計測により得られた遅延時間、統計的若しくは機械学習により得られた遅延時間、又は予め定めた遅延時間を取得する付記11に記載の映像伝送方法。
【0069】
(付記14)
前記符号化装置に設定する前記キーフレームの挿入頻度に基づいて、符号化された前記映像ファイルを前記キーフレーム毎に分割するように前記分割装置に設定する付記8~付記13のいずれか1項に記載の映像伝送方法。
【0070】
(付記15)
設定されたキーフレームの挿入頻度に基づいて、映像ファイルを符号化する符号化装置と、
符号化された前記映像ファイルを複数の断片化ファイルに分割する分割装置と、
前記映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得する取得部と、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となる前記キーフレームの挿入頻度を前記符号化装置に設定する設定部と、
を含む映像伝送システム。
【0071】
(付記16)
前記設定部は、前記要求遅延時間から、前記発生する遅延時間に関する情報が示す遅延時間を差し引いた時間が、前記キーフレームの挿入時間間隔となるように、前記キーフレームの挿入頻度を算出する付記15に記載の映像伝送システム。
【0072】
(付記17)
前記取得部は、複数の前記クライアントアプリケーションが各々異なる要求遅延時間を要求する場合、最短の要求遅延時間を前記設定部で用いる前記要求遅延時間として採用する付記15又は付記16に記載の映像伝送システム。
【0073】
(付記18)
前記取得部は、前記発生する遅延時間に関する情報として、符号化に要する遅延時間、前記断片化ファイルへの分割に要する遅延時間、及び前記映像ファイルの伝送に要する遅延時間の少なくとも1つを取得する付記15~付記17のいずれか1項に記載の映像伝送システム。
【0074】
(付記19)
設定されたキーフレームの挿入頻度に基づいて符号化装置により符号化され、分割装置により複数の断片化ファイルに分割された映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得し、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となる前記キーフレームの挿入頻度を前記符号化装置に設定する
ことを含む処理をコンピュータに実行させるための映像伝送プログラム。
【0075】
(付記20)
設定されたキーフレームの挿入頻度に基づいて符号化装置により符号化され、分割装置により複数の断片化ファイルに分割された映像ファイルを受信するクライアントアプリケーションが要求する要求遅延時間と、発生する遅延時間に関する情報とを取得し、
取得された情報に基づいて、前記要求遅延時間を満たす範囲で最長となる前記キーフレームの挿入頻度を前記符号化装置に設定する
ことを含む処理をコンピュータに実行させるための映像伝送プログラムを記憶した非一時的記憶媒体。
【符号の説明】
【0076】
100 映像伝送システム
10 映像伝送装置
12 取得部
14 算出部
16 設定部
18 符号化遅延DB
20n 映像出力装置
22n 映像入力機器
24n 符号化装置
26 符号化情報
30 断片化装置
32 分割装置
34 断片化ファイル記憶部
40n クライアント端末
42n クライアントアプリ
44 要求遅延情報
50 コンピュータ
51 CPU
52 メモリ
53 記憶部
54 入出力装置
55 R/W部
56 通信I/F
57 バス
59 記憶媒体
60 映像伝送プログラム
62 取得プロセス
64 算出プロセス
66 設定プロセス
70 情報記憶領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12