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

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

▶ 日本放送協会の特許一覧

<>
  • 特許-復号化装置およびプログラム 図1
  • 特許-復号化装置およびプログラム 図2
  • 特許-復号化装置およびプログラム 図3
  • 特許-復号化装置およびプログラム 図4
  • 特許-復号化装置およびプログラム 図5
  • 特許-復号化装置およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-12
(45)【発行日】2024-12-20
(54)【発明の名称】復号化装置およびプログラム
(51)【国際特許分類】
   H04N 19/42 20140101AFI20241213BHJP
【FI】
H04N19/42
【請求項の数】 5
(21)【出願番号】P 2021068855
(22)【出願日】2021-04-15
(65)【公開番号】P2022163805
(43)【公開日】2022-10-27
【審査請求日】2024-03-15
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【弁理士】
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【弁理士】
【氏名又は名称】木下 郁一郎
(72)【発明者】
【氏名】白戸 諒
(72)【発明者】
【氏名】川本 潤一郎
(72)【発明者】
【氏名】倉掛 卓也
【審査官】松元 伸次
(56)【参考文献】
【文献】国際公開第2008/143156(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
所定の符号化方式で符号化された映像ストリームを受信する受信処理部と、
前記受信処理部が受信した前記映像ストリームの復号化の処理を行い、復号化後の映像ストリームを出力する復号化部と、
前記復号化部が出力した前記復号化後の映像ストリームを送信する送信処理部と、
前記映像ストリームの前記復号化部での復号化の処理による遅延に対する要求である遅延要求に応じて、前記復号化部の処理のためのリソースを決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てるリソース管理部と、
前記送信処理部から送信される前記復号化後の映像ストリームを受信する映像処理装置からの要求データに基づいて、前記遅延要求を前記リソース管理部に通知する要求処理部と、
備え復号化装置。
【請求項2】
前記リソース管理部は、前記映像ストリームの映像フォーマットの種別にも応じて、前記復号化部の処理のためのリソースを決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てる、
請求項に記載の復号化装置。
【請求項3】
所定の符号化方式で符号化された映像ストリームを受信する受信処理部と、
前記受信処理部が受信した前記映像ストリームの復号化の処理を行い、復号化後の映像ストリームを出力する復号化部と、
前記復号化部が出力した前記復号化後の映像ストリームを送信する送信処理部と、
前記映像ストリームの前記復号化部での復号化の処理による遅延に対する要求である遅延要求に応じて、前記復号化部の処理のためのリソースを決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てるリソース管理部と、
を備え、
前記リソース管理部は、前記映像ストリームの映像フォーマットの種別にも応じて、前記復号化部の処理のためのリソースを決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てるものであり
前記リソース管理部は、前記受信処理部からの、前記映像ストリームの映像フォーマットの種別の通知を受けるものであり、
前記映像フォーマットの種別は、2K、4K、または8Kのいずれかの映像フォーマットであることを表すものである、
復号化装置。
【請求項4】
前記リソース管理部は、前記復号化部の処理が記述されたプログラムを実行するプロセッサーにおけるスレッド数を、前記映像ストリームの復号化の処理のためのリソースとして決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てる、
請求項1からまでのいずれか一項に記載の復号化装置。
【請求項5】
請求項1から4までのいずれか一項に記載の復号化装置、
としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号化装置およびプログラムに関する。
【背景技術】
【0002】
映像信号をIPパケット化して汎用のイーサネットワーク上で伝送するための標準化が、SMPTE(米国テレビ映画技術者協会)で議論されている。このように映像信号をIPパケットで伝送することにより、既存のインフラストラクチャーを用いて映像信号を効率的に共有することのできる番組制作システム、IP制作システムを実現することが期待される。
【0003】
このIP制作システムを用いた番組制作では、画質劣化の少ない、低遅延で圧縮可能な、軽圧縮と呼ばれる圧縮手法が用いられる。この圧縮手法は、HEVC(High Efficiency Video Coding)といった高圧縮率のコーデックと異なり、圧縮率を1/4から1/10程度に抑えることで、ラインレベルの低遅延を実現する。具体的には、LLVC(Low Latency Video Codec)、VC2、TICO(Tiny Codec)、JPEG XS(XSは、eXtra Speed eXtra Smallの略)といった手法が存在し、用いられている。
【0004】
これらの手法のうち、JPEG XSのみについては、国際標準化が完了している。JPEG XSを用いたIP制作システムにおける圧縮信号のパケタイズについては、ISO/IEC 21122において明らかにされている。
【0005】
上記のような軽圧縮手法については、FPGAやASIC上のハードウェアでの実装と、CPU上で稼働するソフトウェアでの実装とが考えられる。圧縮時の処理遅延に関しては、ハードウェアで実装する場合には、軽圧縮手法の理論上の値であるラインレベルの低遅延が実現できる。ソフトウェアで実装する場合には、処理遅延の量は、プログラムの実装や動作環境に大きく依存する。
【0006】
従来技術では、主として可能な限り小さな遅延で圧縮し伝送することを目的として、専用ハードウェア上でJPEG XSによる映像の圧縮および復号(伸長)を行う機材が開発されてきている。
【0007】
非特許文献1や非特許文献2では、JPEG XSの実装について記載されている。
【先行技術文献】
【非特許文献】
【0008】
【文献】「JPEG XS - 本格的な映像製作用の新たな低複雑性コーデック規格」,Fraunhofer IIS,[online],[2021年3月4日ダウンロード],インターネット<URL:https://www.iis.fraunhofer.de/ja/ff/amm/content-production/jpegxs.html>
【文献】「オープンフォーマットJPEG XS、画像符号化史上初のパラダイムシフト」,PRONEWS,2018年04月23日掲載,[online],[2021年3月4日ダウンロード],インターネット<URL:https://www.pronews.jp/news/20180423181595052.html>
【発明の概要】
【発明が解決しようとする課題】
【0009】
IP制作システムの普及にともない、様々なテレビ番組等が、IP制作システムを用いて制作され始めている。これに伴い、映像を圧縮して伝送する要求が増えている。しかし、CCU(カメラ・コントロール・ユニット)、映像調整卓、スイッチャーといったすべての放送機器に符号化処理機能や復号化処理機能を搭載することは困難である。つまり、符号化処理機能や復号化処理機能を、放送機器とは別のハードウェアもしくはソフトウェアで実現し、放送機器と接続させる必要がある。
【0010】
JPEG XSでの符号化処理および復号化処理での遅延量を小さくするために、従来技術では、専用ハードウェアの機能として軽圧縮が実装されてきている。
【0011】
しかしながら、IP制作システムで制作する番組が多様化するにつれて、制作する番組の性質によって遅延要求の度合いが異なる場合も増えてくる。遅延要求が緩和される場合には、遅延量が多少は大きくなってもよく、従来技術によるハードウェアでの実装よりも安価な実装による機材が求められる。また、番組の性質等によって、様々な遅延の要求に柔軟に対応できる機材が求められる。
【0012】
また、専用のハードウェアで符号化機能と復号化機能を実現する場合には、映像フォーマット毎の専用機が必要である。また、専用のハードウェアでは、2K/4K/8Kなどといった様々な画素数の映像フォーマットの番組に対応するには柔軟性が低い。これらすべての映像フォーマットの制作のために十分な機材を準備する場合にはコストが非常に高い。
【0013】
本発明は、上記のような課題認識に基づいて行われたものであり、映像信号の様々な遅延要求に柔軟に対応することができ、且つ低コストで実現可能な復号化装置およびそのプログラムを提供しようとするものである。
【課題を解決するための手段】
【0014】
[1]上記の課題を解決するため、本発明の一態様による復号化装置は、所定の符号化方式で符号化された映像ストリームを受信する受信処理部と、前記受信処理部が受信した前記映像ストリームの復号化の処理を行い、復号化後の映像ストリームを出力する復号化部と、前記復号化部が出力した前記復号化後の映像ストリームを送信する送信処理部と、前記映像ストリームの前記復号化部での復号化の処理による遅延に対する要求である遅延要求に応じて、前記復号化部の処理のためのリソースを決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てるリソース管理部と、を備えるものである。
【0015】
[2]また、本発明の一態様は、上記の復号化装置において、前記送信処理部から送信される前記復号化後の映像ストリームを受信する映像処理装置からの要求データに基づいて、前記遅延要求を前記リソース管理部に通知する要求処理部、をさらに備えるものである。
【0016】
[3]また、本発明の一態様は、上記の復号化装置において、前記リソース管理部は、前記映像ストリームの映像フォーマットの種別にも応じて、前記復号化部の処理のためのリソースを決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てるものである。
【0017】
[4]また、本発明の一態様は、上記の復号化装置において、前記リソース管理部は、前記受信処理部からの、前記映像ストリームの映像フォーマットの種別の通知を受けるものである。
【0018】
[5]また、本発明の一態様は、上記の復号化装置において、前記リソース管理部は、前記復号化部の処理が記述されたプログラムを実行するプロセッサーにおけるスレッド数を、前記映像ストリームの復号化の処理のためのリソースとして決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てる、ものである。
【0019】
[6]また、本発明の一態様は、所定の符号化方式で符号化された映像ストリームを受信する受信処理部と、前記受信処理部が受信した前記映像ストリームの復号化の処理を行い、復号化後の映像ストリームを出力する復号化部と、前記復号化部が出力した前記復号化後の映像ストリームを送信する送信処理部と、前記映像ストリームの前記復号化部での復号化の処理による遅延に対する要求である遅延要求に応じて、前記復号化部の処理のためのリソースを決定し、決定された前記リソースを当該映像ストリームの復号化の処理のために割り当てるリソース管理部と、を備える復号化装置、としてコンピューターを機能させるためのプログラムである。
【発明の効果】
【0020】
本発明によれば、復号化装置は、個別の映像ストリームに対する遅延要求に応じて、その映像ストリームの復号化処理のための計算リソースを決定し、割り当てることができる。
【図面の簡単な説明】
【0021】
図1】本発明の実施形態による映像伝送システムの構成と、その各装置の概略機能構成とを示すブロック図である。
図2】同実施形態による映像伝送システムの動作手順の例を示すシーケンスチャートである。
図3】同実施形態による映像伝送システムの動作手順の別の例を示すシーケンスチャートである。
図4】同実施形態において使用されるSDPファイルが含む要求機能データの形式の例を示す概略図である。
図5】同実施形態における復号化装置として特定の動作環境(コンピューター)を機能させる場合の、ある特定の動作環境(コンピューター)を復号化装置3として機能させる場合の、映像ストリームのフォーマットと、その映像ストリームの復号化処理に割り当てるスレッド数との組合せに対する、復号化処理による遅延量(時間)の測定結果を示す概略図である。
図6】同実施形態による映像伝送システムを構成する各装置の内部構成の例を示すブロック図である。
【発明を実施するための形態】
【0022】
次に、本発明の一実施形態について、図面を参照しながら説明する。本実施形態による映像伝送システムは、伝送対象とする映像の符号化処理を行う機能、および復号化処理(復号処理とも呼ばれる)を行う機能を含んでいる。
【0023】
まず、実施形態の前提となる事項を説明する。
【0024】
ソフトウェアで符号化機能と復号化機能を実現する場合、マルチスレッド処理で割り当てるリソースを制御することで、様々な遅延の要求に応えることができる。また、ソフトウェアで実現する場合には、2K/4K/8Kなどといった複数の映像フォーマットフォーマットを、ほぼ同一のプログラムで処理することが可能である。また、リソースを、符号化機能や復号化機能以外のソフトウェアの機能と分け合うことができるため、リソースを効率的な使用が可能となり、コストの低減が見込める。
【0025】
ただし、ソフトウェアにおける符号化処理の演算量は、復号化処理の演算量と比較して大きい。符号化処理の演算量の大きさの理由により、符号化処理の処理遅延を短縮することは困難である。また、ソフトウェアによる符号化処理に最大リソース(CPUリソース等)を割当てても、実現可能な処理遅延には多くの制約がかかる。
【0026】
専用のハードウェアで実現する場合には、FPGAのIPコアは、符号化処理の処理量よりも復号化処理の処理量の方が少なく、復号化処理の回路規模の方が少ない。しかし、復号化処理の回路規模の削減は、符号化処理の回路規模と比べて、2~3割減に留まる。
【0027】
ソフトウェアで符号化処理および復号化処理を実現する場合にも、符号化処理の処理量よりも復号化処理の処理量の方が小さい。ソフトウェアで実現する場合の復号化処理の処理量は、符号化処理の処理量と比べて、4~5割減とすることができる。
【0028】
また、ソフトウェアによって符号化処理を実現する場合には数フレームの遅延が生じる場合もあるが、ソフトウェアによって復号化処理を実現する場合の遅延量は、1フレーム未満とすることも可能である。
【0029】
以上説明したように、復号化機能をソフトウェアで実現する場合には、相対的に処理量を少なくできることや、コストを抑制できることや、スレッドごとの計算資源を適切に制御できることなどによる効果は大きい。一方で、符号化機能をソフトウェアで実現しようとしても、復号化機能で得られるほどの効果を得ることは困難で、且つ遅延量を小さくすることもできない。つまり、符号化処理を専用のハードウェアで実装し、復号化処理をソフトウェアで実装する場合には、コストを抑制しながら、様々な幅広い遅延要求に応じた処理を行うことが可能となる。
【0030】
復号化機能をソフトウェアで実現する場合、様々な遅延要求に対応できるようにするためには、機材運用において、余裕をもってリソースの割り当てを行うことが想定される。例えば、比較的大きな遅延量でも構わないという映像の伝送においても、低遅延用のリソースの割り当てを行うことにもなり得る。また、復号化処理のオペレーターには、要求ごとに適切なリソースの割り当てを行うように判断することが要求される。本実施形態は、このような復号化処理へのリソースの割り当てを、自動化し、且つ最適化するものである。これにより、本実施形態の映像伝送システムでは、効率的にリソースの割り当てを行いながら、機材を運用することができるようになる。
【0031】
その具体的な構成を以下で説明する。
【0032】
図1は、本実施形態による映像伝送システムの構成と、その各装置の概略機能構成とを示すブロック図である。映像伝送システム100は、映像信号を伝送する過程において、軽圧縮手法による、信号の符号化および復号化を行う。図示するように、映像伝送システム100は、符号化装置1と、ネットワークスイッチ2と、復号化装置3と、映像処理装置4A,4Bとを含んで構成される。
【0033】
符号化装置1は、入力される映像信号を符号化し、出力する。符号化装置1は、符号化後のデータを、IPパケットとして送信する。つまり、符号化装置1は、圧縮映像ストリームを生成し、ネットワークスイッチ2側に伝送する。この圧縮映像ストリームは、例えばSMPTE ST2110の規定に基づいてIPパケット化されている。符号化装置1は、例えばマルチキャスト方式でこのIPパケットを送出することができる。ただし、符号化装置1は、ユニキャスト方式でIPパケットを送出してもよい。
【0034】
ネットワークスイッチ2は、ネットワークを構成する機器であり、IPパケットを転送する。具体的には、ネットワークスイッチ2は、符号化装置1から送出されたIPパケットを受信し、復号化装置3へ転送する。ネットワークスイッチ2は、複数の入力ポートと複数の出力ポートを備える。ネットワークスイッチ2は、IPパケットのヘッダーを参照することにより、受信したパケットを、宛先に対応する出力ポートに出力する。
【0035】
復号化装置3は、ネットワークスイッチ2から、IPパケットを受信するとともに、IPパケットに含まれるデータの復号化を行う。復号化装置3は、例えば映像処理装置4Aや4Bからの要求に基づいて、復号化後のデータをこれら映像処理装置4Aや4Bに送信する。
【0036】
映像処理装置4A,4Bは、例えば放送番組を制作するなどの目的のために、映像を処理する装置である。映像処理装置4Aや4Bなどを総称して、映像処理装置4と呼んでもよい。映像処理装置4は、符号化処理が行われた映像の復号映像を求める際に、復号化装置3に対して、要求機能データを送信する。要求機能データは、遅延要求のデータを含む。遅延要求のデータは、例えば、0以上10以下の整数値で表わされる。遅延要求の値が0であることは、遅延最小であることを表す。遅延要求の値が10であることは、遅延最大であることを表す。遅延要求の値は、0以上10以下の範囲内で遅延要求の大小の程度を表すものである。
【0037】
本実施形態において、符号化装置1が持つ符号化機能は、専用のハードウェアを用いて実現される。これにより、符号化装置1は、小さい遅延量で符号化処理を行うことができる。符号化装置1は、符号化方式として例えばJPEG XSを用いた符号化を行う。符号化機能を専用のハードウェアで実現することにより、符号化機能を汎用のプロセッサー(CPU等)で実現する場合よりも、符号化処理の遅延量を小さくすることができる。
【0038】
一方、本実施形態の復号化装置3が持つ復号化機能は、汎用のプロセッサー(CPU等)とプログラム(ソフトウェア)とで実現される。これにより、復号化装置3は、並列的に復号化処理を行う複数の映像ストリームのそれぞれについて、個別に、復号化処理のためのリソースを割り当てることができる。ここで割り当てられるリソースとは、主として、CPUコア、スレッド、CPU時間である。つまり、復号化装置3は、CPUコアや、スレッドや、CPU時間等の単位で、個々の映像ストリームの復号化の処理にリソースを割り当てることができる。ただし、割り当てられるリソースが他のリソース(例えば、半導体メモリーによって実現される主記憶領域など)を含んでもよい。映像ストリームの種類(例えばコンテンツの内容)に応じて、復号化処理において許容される遅延量は異なる。復号化装置3をソフトウェアで実現することにより、それぞれの映像ストリームに対して、柔軟に、リソースを割り当てたりその割り当てを変更したりすることが容易になる。
【0039】
一例として、復号化装置3は、復号化処理の対象である映像ストリームごとに、計算のためのリソースとして、異なるスレッド数を割り当てることができる。
【0040】
符号化装置1の内部の機能構成は、次の通りである。符号化装置1は、符号化部11と、送信処理部12とを含んで構成される。符号化装置1は、電子回路を用いて実現される。符号化装置1の一部がコンピューターとプログラムとで実現されてもよい。ただし、本実施形態における符号化装置1は、専用のハードウェアで実現される。符号化装置1の各部の機能は、次の通りである。
【0041】
符号化部11は、入力される映像ストリームを符号化し、IPパケットを出力する。
【0042】
送信処理部12は、符号化部11が生成したIPパケットを、外部に(図1の構成においてはネットワークスイッチ2に)送信する。
【0043】
復号化装置3の内部の機能構成は、次の通りである。図示したように、復号化装置3は、受信処理部31と、復号化部32と、送信処理部33と、リソース管理部34と、要求処理部35と、受信要求部36とを含んで構成される。これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。各部の機能は、次の通りである。
【0044】
受信処理部31は、外部から(図1の構成においてはネットワークスイッチ2から)IPパケットを受信する。受信処理部31が受信するIPパケットは、あらゆる種類のデータを伝送するものであってよい。ただし、受信処理部31が受信するIPパケットには、符号化装置1において符号化された映像ストリームのデータを伝送するためのパケットが含まれる。つまり、受信処理部は、所定の符号化方式で符号化された映像ストリームを受信するものである。
【0045】
復号化部32は、受信処理部31が受信した映像ストリームを復号化して出力する。
つまり、復号化部32は、受信処理部31が受信した映像ストリームの復号化の処理を行い、復号化後の映像ストリームを出力するものである。本実施形態における復号化部32は、コンピューターとプログラム(ソフトウェア)とで実現される。復号化部32は、複数の映像ストリームの復号化の処理を同時並列的に行うことができる。復号化部32においてそれぞれの映像ストリームの復号化処理に割り当てられる計算リソースは可変であり、後述するリソース管理部34によってその割り当てが行われる。つまり、復号化部における特定の映像ストリームを復号化するためのリソースは、リソース管理部34によって決定され、割り当てられる。復号化部32の処理をコンピューターとプログラムとで実現した場合には、その処理(オペレーティングシステムが管理するプロセス(タスク等とも呼ばれる))へのリソースの割り当ては、比較的柔軟に行うことができ、且つ可変である。復号化部32は、復号化後の映像のデータを、IPパケットとして送信処理部33に渡す。
【0046】
送信処理部33は、IPパケットを外部に送信する。送信処理部33は、少なくとも、復号化部32から渡される映像データの載せたIPパケットを、映像処理装置4Aや4Bに向けて送信する。つまり、送信処理部33は、復号化部32が出力した復号化後の映像ストリームを外部に送信する。
【0047】
リソース管理部34は、復号化部32における処理のためのリソースの管理および割り当てを行う。リソース管理部34は、復号化部32が復号化する個々の映像ストリームごとに、割り当てるリソースの量を決定する。ここでのリソースとは、例えば、CPUのリソースである。より具体的には、リソース管理部34は、個々の映像ストリームごとに、割り当てるスレッド数を決定し、割り当てを行う。リソース管理部34は、復号化部32が同時並行的に複数の映像ストリームの復号化処理を行う場合に、個々の映像ストリームごとに、その復号化処理のためのリソースを決定し、割り当てることができる。なお、リソース管理部34が、さらにCPU以外のリソースを処理対象の個々の映像ストリームに割り当てるものであってもよい。
【0048】
具体的には、リソース管理部34は、映像ストリームの復号化部での復号化の処理による遅延に対する要求である遅延要求に少なくとも応じて、復号化部32の処理のためのリソースを決定し、決定されたリソースを当該映像ストリームの復号化の処理のために割り当てる。また、リソース管理部34は、さらに、映像ストリームの映像フォーマットの種別にも応じて、復号化部32の処理のためのリソースを決定し、決定されたリソースを当該映像ストリームの復号化の処理のために割り当てるものであってもよい。映像フォーマットは、例えば、映像に含まれるフレームの画素数(縦および横のそれぞれの画素数)等を規定するものである。映像フォーマットが異なれば、当然、符号化されている映像を復号化するための処理に要する計算量は変わる。リソース管理部34は、映像処理装置4(送信処理部33から送信される復号化後の映像ストリームを受信する映像処理装置)からの要求データに含まれる前記遅延要求を受け取るものであってよい。また、リソース管理部34は、受信処理部31からの、映像ストリームの映像フォーマットの種別の通知を(例えば要求処理部35を経由して)受け取る。
【0049】
リソース管理部34は、具体的には、復号化部32の処理が記述されたプログラムを実行するプロセッサー(CPU、GPU、コア等と呼ばれる)におけるスレッド数を、映像ストリームの復号化の処理のためのリソースとして決定し、決定されたリソースを当該映像ストリームの復号化の処理のために割り当てる。
【0050】
上記の通り、リソース管理部34は、少なくとも、送信先である映像処理装置4側からの遅延に関する要求に基づいて、個々の映像ストリームに割り当てるリソースの量を決定する。復号化部32が処理対象とする映像ストリームのフォーマットがすべて同一である場合には、リソース管理部34は、映像処理装置4側からの遅延要求のみに基づいて、個々の映像ストリームに割り当てるリソースの量を決定してもよい。
【0051】
リソース管理部34は、さらに、映像フォーマットの種類に応じて、個々の映像ストリームに割り当てるリソースの量を決定してもよい。映像フォーマットが異なれば、復号化処理のための処理負荷も変わるためである。つまり、復号化部32が同時に複数の種類の映像フォーマットの復号化を行う場合には、リソース管理部34は、映像処理装置4側からの遅延要求のみに基づいて個々の映像ストリームに割り当てるリソースの量を決定するのではなく、映像フォーマットの種類にも基づいて割り当てるリソースの量を決定する。
【0052】
リソース管理部34は、割り当てるリソースを決定するために、遅延要求の情報を、映像処理装置4側から取得する。また、リソース管理部34は、割り当てるリソースを決定するために、映像フォーマットの種類を表す情報を、ネットワークスイッチ2側(符号化装置1側)から取得する。それらの情報を取得する手順については、後で図2図3を参照しながら説明する。
【0053】
要求処理部35は、映像処理装置4から、復号化の要求を受ける。このとき、映像処理装置4からの要求には、遅延に関する要求の情報が含まれる。つまり、要求処理部35は、映像処理装置4からの要求データに基づいて、遅延要求をリソース管理部34に通知することができる。
【0054】
受信要求部36は、映像処理装置4から要求された映像が未受信である場合に、ネットワークスイッチ2に対して、当該映像ストリームの受信を要求する。
【0055】
次に、図2および図3を参照しながら、映像伝送システム100の動作手順について説明する。
【0056】
図2は、映像伝送システム100の動作手順の例を示すシーケンスチャートである。なお、この動作手順において、映像処理装置4Aは、復号化装置3に対して、番組Aの映像を要求する。また、映像処理装置4Aは、映像を受信するためにマルチキャストアドレスを用いる。なお、映像処理装置4Aが映像を要求した時点で、復号化装置3の受信処理部31はまだその映像を受信していない。以下、このフローチャートに沿って説明する。
【0057】
ステップS11において、映像処理装置4Aは、要求機能データを復号化装置3の要求処理部35に送信する。要求機能データは、要求する映像を受信するためのアドレスの情報を含む。要求処理部35は、この要求機能データを受信する。
【0058】
ステップS12において、要求処理部35は、要求機能データ内のアドレスについて、受信処理部31への問い合わせを行う。この問い合わせに応じて、受信処理部31は、要求された映像を既に受信しているか否かを確認する。本例において復号化装置3はその映像をまだ受信していないため、受信処理部31は、映像が未受信であることを要求処理部35に回答する。要求処理部35はその回答を受け取る。
【0059】
ステップS13において、要求処理部35は、映像処理装置4Aからの要求機能データを受信要求部36に伝達する。
【0060】
ステップS14において、受信要求部36は、ネットワークスイッチ2に対して、番組Aの映像のマルチキャスト伝送を要求する。このとき、受信要求部36は、IGMP(Internet Group Management Protocol)を用いてマルチキャスト伝送を要求する。IGMPは、受信側である復号化装置3がネットワークスイッチ2に対してマルチキャストグループへの参加、維持、離脱を通知するために用いられるプロトコルである。
【0061】
ステップS15において、ネットワークスイッチ2は、要求された映像の伝送を開始する。ネットワークスイッチ2から復号化装置3に伝送される映像のデータは、符号化装置1の符号化部11によって符号化されたデータである。復号化装置3の受信処理部31は、ネットワークスイッチ2がマルチキャスト伝送する映像のデータを受信する。
【0062】
ステップS16において、受信処理部31は、映像データを受信していることの確認と、その映像データのパラメーターとを、要求処理部35に渡す。要求処理部35は、それらの受信確認およびパラメーターを受け取る。ここでのパラメーターは、映像フォーマットの種別を表す情報を含む。
【0063】
ステップS17において、要求処理部35は、ステップS16において受け取ったパラメーターの情報に基づき、リソース管理部34に対して、復号化部32の処理を実行するためのリソースの割り当てを要求する。ここで、リソース管理部34が復号化部32の処理に割り当てるリソースは、具体的には、例えばプロセッサーの処理時間(CPU時間)である。また、リソース管理部34が、実メモリーやその他の計算リソースを割り当てるようにしてもよい。
【0064】
ステップS18において、リソース管理部34は、ステップS17におけるリソースの割り当てが完了した後に、復号化部32に復号化処理を開始させる。これに基づき、復号化部32は、リソース管理部34によって割り当てられたリソースを使用した処理を開始する。具体的には、復号化部32は、受信処理部31が受信した映像データの復号化を開始する。復号化部32は、復号化後の映像データを、順次、送信処理部33に渡す。送信処理部33は、復号化部32から渡された復号化後の映像データを、要求元である映像処理装置4Aに対して送信する。
【0065】
以上説明したように、図2に示した手順により、復号化装置3は、映像処理装置4Aからの要求に基づいて、映像データの受信を開始し、受信した映像データの復号化の処理と、復号化後の映像データの映像処理装置4Aへの伝送を行う。
【0066】
図3は、映像伝送システム100の動作手順の別の例を示すシーケンスチャートである。以下、このフローチャートに沿って説明する。なお、この動作手順において、映像処理装置4Bは、復号化装置3に対して、番組Bの映像を要求する。また、映像処理装置4Bは、映像を受信するためにマルチキャストアドレスを用いる。なお、映像処理装置4Bが映像を要求した時点で、復号化装置3の受信処理部31は既にその映像データを受信している。以下、このフローチャートに沿って説明する。
【0067】
ステップS21において、映像処理装置4Bは、要求機能データを復号化装置3の要求処理部35に送信する。要求機能データは、要求する映像を受信するためのアドレスの情報を含む。要求処理部35は、この要求機能データを受信する。
【0068】
ステップS22において、要求処理部35は、要求機能データ内のアドレスについて、受信処理部31への問い合わせを行う。この問い合わせに応じて、受信処理部31は、要求された映像を既に受信しているか否かを確認する。本例において復号化装置3はその映像を既に受信している。受信処理部31は、映像を既に受信していることを要求処理部35に回答する。また、受信処理部31は、その映像のパラメーターを、併せて、要求処理部35に渡す。要求処理部35はそれらの回答(パラメーターの情報を含む)を受け取る。
【0069】
ステップS23において、要求処理部35は、ステップS22において受け取ったパラメーターの情報に基づき、リソース管理部34に対して、復号化部32の処理を実行するためのリソースの割り当てを要求する。ここで、リソース管理部34が復号化部32の処理に割り当てるリソースは、図2で説明した場合と同様に、例えばプロセッサーの処理時間(CPU時間)である。また、リソース管理部34が、実メモリーやその他の計算リソースを割り当てるようにしてもよい。
【0070】
ステップS24において、リソース管理部34は、ステップS23におけるリソースの割り当てが完了した後に、復号化部32に復号化処理を開始させる。これに基づき、復号化部32は、リソース管理部34によって割り当てられたリソースを使用した処理を開始する。具体的には、復号化部32は、受信処理部31が受信した映像データの復号化を開始する。復号化部32は、復号化後の映像データを、順次、送信処理部33に渡す。送信処理部33は、復号化部32から渡された復号化後の映像データを、要求元である映像処理装置4Bに対して送信する。
【0071】
なお、上記処理手順では、ネットワークスイッチ2は、マルチキャストによって映像データを配信する例を説明したが、映像データの配信はユニキャストによるものであってもよい。
【0072】
映像伝送システム100において、符号化装置1および復号化装置3は、SMPTE ST 2110の規格に準拠した圧縮映像ストリームの伝送を行う。そのため、符号化装置1から復号化装置3には、伝送に関するパラメーターを記述したSDPファイルが伝送される。なお、SDPは、Session Description Protocolの略であり、ストリーミングのパラメーターを記述する書式である。符号化装置1や復号化装置3における処理に必要なリソースの量(サイズ)は、圧縮映像ストリームに含まれる映像のサイズやフォーマットといったパラメーターに依存するとともに、ストリームの伝送に対する遅延要求にも依存する。
【0073】
本実施形態においては、復号化装置3のリソース管理部34は、符号化装置1から渡されるSDPファイル内の映像データのパラメーターと、映像処理装置4側から渡される要求機能データとに基づいて、リソースの割り当てを行う。
【0074】
本実施形態では、映像処理装置4から復号化装置3に対して渡される要求機能データの記述にもSDPファイルを用いる。映像処理装置4から復号化装置3に対して渡されるSDPファイルは、RFC4566の規定を拡張したものであり、圧縮映像ストリームのアドレスと、遅延要求のデータとを含む。
【0075】
図4は、SDPファイルが含む要求機能データの形式の例を示す概略図である。要求機能データは、メディア記述部に記述される。同図に示すデータの各行は、「a=」で記述されるセッション情報である。同図の第1行目のデータは、映像処理装置4が要求する圧縮映像ストリームのアドレスを表す。第1行目の<payload type>の箇所には、ペイロード値が記述される。第1行目の<IP address>の箇所には、映像ストリームの所在を表すIPアドレスが記述される。同図の第2行目のデータは、映像処理装置4が要求する遅延要求の程度を表す。第2行目の<payload type>の箇所には、ペイロード値が記述される。第2行目の<0~10>の箇所には、0以上10以下の整数のいずれかの値が記述される。この値は遅延要求を表す数値である。0は遅延最小を表す。10は遅延最大を表す。つまり、この値が小さい程、小さい遅延が要求される。また、この値が大きい程、遅延要求として大きい遅延を許容する。
【0076】
なお、図4に示した映像ストリームアドレスと遅延要求の記述以外についてのSDPファイルの記述は、RFC4566に基づく。
【0077】
復号化装置3のリソース管理部34は、映像処理装置4側から受け取るSDPファイル内に記述された要求機能データ内の遅延要求の値(0から10までのいずれか)と、符号化装置1側から渡される圧縮映像ストリームに関連するSDPファイル内の映像データのパラメーターとを参照する。リソース管理部34は、参照した上記のパラメーター等に基づいて、遅延要求を満たすように、当該映像ストリームの復号化を行う復号化部32へのリソースの割り当てを行う。
【0078】
具体的には、リソース管理部34は、映像ストリームごとに、復号化部32が復号化処理を行うためのスレッド数を割り当てる。なお、リソース管理部34は、例えば、当該復号化装置3における、映像データのパラメーターと遅延要求との組合せに対応する適切なスレッド数の値を、予め記憶しておくようにする。あるいは、リソース管理部34は、例えば、映像データのパラメーターと遅延要求との組合せに対応する適切なスレッド数の値を算出するための手順を実行できるようにしておいてもよい。
【0079】
前提として、復号化装置3は、例えば1台のコンピューターで実現される。1台のコンピューターは、1つまたは複数のCPUを備える。1つのCPUは、複数のコアを備えていてもよい。具体的には、1CPUが、例えば1コア、4コア、8コア、10コア、12コア等であってよい。また、1コアが、単一のスレッドまたは複数のスレッドを実行できるように構成されていてよい。コンピューターが持つハードウェア資源に応じて、例えば、4コア/4スレッド、4コア/8スレッド、8コア/64スレッド、10コア/80スレッド、12コア/96スレッドなどといったスレッドでの構成が可能である。また、ここに例示したものとは異なる、他のスレッド構成であってもよい。
【0080】
また、スレッドとプロセス(タスク)との関係は、次の通りである。例えば、1スレッドを1つのプロセス(タスク)が占有してもよい。あるいは、複数のスレッドを1つのプロセス(タスク)が占有してもよい。あるいは、1スレッドを複数のプロセス(タスク)が共有してもよい。ここで、プロセス(タスク)とは、コンピューター上のリソースを管理するオペレーティングシステム(モニター等とも呼ばれる)によって管理される論理的な処理の単位である。
【0081】
なお、各コアは、所定のクロック周波数で動作し、実行可能形式のプログラムに含まれる命令を実行する。
【0082】
復号化装置3は、映像フォーマットと遅延要求とに応じて割り当てるべきスレッド数の情報を予め保持しておく。割り当てるべきスレッド数は、復号化処理の処理量(計算量)やハードウェアリソースの能力等に応じて予め求められ、復号化装置3内の所定の記憶手段に書き込まれている。なお、割り当てるべきスレッド数は、予め、理論的に、あるいは実環境に応じた実証等により、検証されている。復号化装置3のリソース管理部34は、映像フォーマットおよび遅延要求を把握した後にその記憶手段を参照することによって、割り当てるべきスレッド数を決定することができる。
【0083】
図5は、ある特定の動作環境(コンピューター)を復号化装置3として機能させる場合の、映像ストリームのフォーマット(ここでは、2Kまたは4K)と、そのストリームの復号化処理(復号化部32の処理)に割り当てるスレッド数との組合せに対する、復号化処理による遅延量(時間)の測定結果を示す概略図である。ここで、2Kとは、横1920画素×縦1080画素の画素配列で構成される映像のフォーマットである。また、4Kとは、横3840画素×縦2160画素の画素配列で構成される映像のフォーマットである。また、図示する遅延量の単位は、ミリ秒(msec)である。
【0084】
図示するように、図5は、2Kおよび4Kのそれぞれの映像フォーマットに対して、スレッド数が1,2,4,8,12のそれぞれの場合の、復号化処理の遅延量(時間)を示している。映像フォーマットが2Kの場合には、上記それぞれのスレッド数の場合に、遅延量は、19.3ミリ秒、11.6ミリ秒、6.0ミリ秒、4.9ミリ秒、3.5ミリ秒である。映像フォーマットが4Kの場合には、上記それぞれのスレッド数の場合に、遅延量は、73.7ミリ秒、40.8ミリ秒、22.5ミリ秒、18.6ミリ秒、12.6ミリ秒である。なお、図5に示すデータは単なる例である。復号化装置3は、自装置の実際の処理能力に応じて、復号化処理に割り当てるスレッド数を決定する。
【0085】
図5の遅延量を前提とした場合に、映像フォーマットが2Kでフレームレートが60fps(フレーム毎秒)・プログレッシブの映像について、復号化処理による遅延量(時間長)を1フレーム分(1/60秒、即ち、約16.667ミリ秒)以下にするためには、スレッド数として2以上を割り当てることが必要である。また、同様の映像について復号化処理による遅延量を2フレーム分(2/60秒、即ち、約33.333ミリ秒)以下にするためには、スレッド数として1以上を割り当てることが必要である。
【0086】
また、図5の遅延量を前提とした場合に、映像フォーマットが4Kでフレームレートが60fps(フレーム毎秒)・プログレッシブの映像について、復号化処理による遅延量(時間長)を1フレーム分(1/60秒、即ち、約16.667ミリ秒)以下にするためには、スレッド数として12以上を割り当てることが必要である。また、同様の映像について復号化処理による遅延量を2フレーム分(2/60秒、即ち、約33.333ミリ秒)以下にするためには、スレッド数として4以上を割り当てることが必要である。
【0087】
このように、復号化装置3のリソース管理部34は、映像フォーマットと遅延要求に基づいて、復号化処理のために割り当てるスレッド数を決定することができる。また、リソース管理部34は、決定したスレッド数でその映像の復号化処理を行うように、復号化部32を制御する。これにより、復号化部32は、受信処理部31から渡される映像データの復号化処理を、映像処理装置4側からの要求に見合う遅延量で実行し、復号化後の映像データを送信処理部33に渡すことができる。また、送信処理部33は、その復号化後の映像データを、要求元の映像処理装置4に送信することができる。
【0088】
以上のように、復号化装置3のリソース管理部34は、符号化装置1や映像処理装置4から渡されるデータ(SDPファイル)の内容に応じて、復号化処理に適したリソース(CPU等)を復号化部32に割り当てることができる。つまり、リソース管理部34は、外部から受信したデータに基づいて、遅延要求を満たす復号化処理のリソースを自動的に割り当てることができる。また、復号化部32は、遅延要求を満足しながら、映像ストリームの復号化処理を行うことができる。
【0089】
本実施形態の処理方法により、復号化装置3は、映像を要求する側(映像処理装置4側)からの要求に基づいて、復号化処理に必要なリソースを自動的に割り当てることができる。つまり、復号化装置3は、コンピューターの処理能力を効率的に利用した処理を行うことができる。つまり、復号化装置3は、ハードウェアのみによる処理を行うように構成する場合に比べて、計算資源を柔軟に復号化処理に割り当てることができる。また、ハードウェアのみによって復号化装置を構成する場合と比べて、本実施形態の復号化装置3は、映像フォーマットごとの専用の装置を用意する必要がない。本実施形態の復号化装置3は、汎用機材(コンピューター)を用いて実現できるため、柔軟性が高く、低コスト化が可能である。また、本実施形態の復号化装置3は、様々な遅延要求に対して柔軟に対応できる。つまり、放送番組を制作する現場等において、様々な遅延要求を持つ様々な番組で利用可能な伝送システム(符号化装置および復号化装置を含む)を実現することが可能となる。
【0090】
図6は、本実施形態の映像伝送システムを構成する各装置の内部構成の例を示すブロック図である。各装置(符号化装置1、ネットワークスイッチ2、復号化装置3、映像処理装置4A,4B)の少なくとも一部は、コンピューターを用いて実現され得る。図示するように、そのコンピューターは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピューター自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力デバイスである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピューター内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポートにアクセスする。
【0091】
なお、上述した実施形態における符号化装置1、ネットワークスイッチ2、復号化装置3、映像処理装置4A,4Bの少なくともいずれかの機能をコンピューターおよびプログラムで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。つまり、「コンピューター読み取り可能な記録媒体」とは、非一過性の(non-transitory)コンピューター読み取り可能な記録媒体であってよい。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0092】
以上説明したように、本実施形態の映像伝送システム100は、映像処理装置4側からの遅延要求に基づいて適切なリソースの割り当てを自動的に行うことができる。
【0093】
本実施形態では、符号化装置1を専用ハードウェアで実現し、復号化装置3を汎用コンピューター上でソフトウェア(プログラム)を稼働させることによって実現する。これにより、トータルコストを抑制しながら、幅広い遅延要求に対応することができるようになる。
【0094】
また、本実施形態では、遅延要求(許容される遅延の量を、例えば数値(0から10までの整数等)で表わしたデータ)を含む要求機能データを、映像処理装置4(放送機器等)から復号化装置3のリソース管理部34に送る。これにより、リソース管理部34は、要求を満たすためのリソースを、復号化部32による復号化処理のために自動的に割り当てる。したがって、本実施形態の映像伝送システム100では、効率的なリソース割当が可能となる。
【0095】
また、本実施形態によれば、符号化装置1における符号化処理の機能を専用ハードウェアで実現し、復号化装置3における復号化処理の機能を汎用コンピューターとソフトウェアで実現する。また、IPによる映像伝送を用いた放送番組等の制作において、映像の復号化処理を求める放送機器(映像処理装置4)は、復号化装置3に映像の復号化処理を求める。復号化装置3においては、リソース管理部34は、放送機器(映像処理装置4)側から受け取る遅延要求に応じて、復号化処理に必要なリソース(CPUコア、スレッド、CPU時間)を自動的に割り当てることが可能となる。即ち、復号化装置3を実現するための汎用コンピューターのリソースを、自動的に復号化処理に割り当てることが可能となる。これにより、符号化装置1および復号化装置3の効率的な運用が可能となる。また、復号化装置は、放送機器(映像処理装置4)側からの様々な遅延要求に対応することが可能となる。また、復号化装置は、様々な映像フォーマットの復号化処理に柔軟に対応することが可能となる。これにより、映像伝送システム100の全体において、機材コストの低減が可能となる。
【0096】
以上、実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
【0097】
映像伝送システム100では、各装置間の通信でIPを用いた。しかしながら、同様の改装における通信のためにIP以外のプロトコルを用いるようにしてもよい。
【0098】
上記実施形態では、リソース管理部34は、映像処理装置4側から送信されたデータに含まれる遅延要求の情報に基づいて、符号化処理のためのリソースを決定し、そのリソースの割り当てを行った。しかしながら、リソース管理部34は、映像処理装置4以外の他の装置から発せられる遅延要求の情報に基づいて上記リソースを決定してもよい。
【0099】
上記実施形態では、映像フォーマットの種別に関する情報は、受信処理部31から、要求処理部35を経由して、リソース管理部34に通知された。しかしながら、リソース管理部34は、他の箇所(情報源)から映像フォーマットの種別に関する情報を取得してもよい。
【0100】
なお、複数の変形例を、組み合わせることが可能な限りにおいて、組み合わせて実施してもよい。
【0101】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0102】
本発明は、映像の復号化処理に利用することができる。本発明は、例えば、IPによる伝送を用いた放送番組の制作等に利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【0103】
1 符号化装置
2 ネットワークスイッチ
3 復号化装置
4A,4B 映像処理装置
11 符号化部
12 送信処理部
31 受信処理部
32 復号化部
33 送信処理部
34 リソース管理部
35 要求処理部
36 受信要求部
100 映像伝送システム
901 中央処理装置
902 RAM
903 入出力ポート
904,905 入出力デバイス
906 バス
図1
図2
図3
図4
図5
図6