JP2023161219A - 送信装置、受信装置及びそれらのプログラム - Google Patents
送信装置、受信装置及びそれらのプログラム Download PDFInfo
- Publication number
- JP2023161219A JP2023161219A JP2022071443A JP2022071443A JP2023161219A JP 2023161219 A JP2023161219 A JP 2023161219A JP 2022071443 A JP2022071443 A JP 2022071443A JP 2022071443 A JP2022071443 A JP 2022071443A JP 2023161219 A JP2023161219 A JP 2023161219A
- Authority
- JP
- Japan
- Prior art keywords
- chunk
- unit
- priority data
- video
- control information
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 100
- 230000005236 sound signal Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 description 47
- 238000012545 processing Methods 0.000 description 36
- 239000000872 buffer Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 238000009499 grossing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】映像の伝送遅延を低減できる送信装置を提供する。【解決手段】送信装置1は、仮想CPBによるビットレート制御を映像信号に施す映像符号化部11と、CBR以上のビットレートで出力した映像信号からチャンクを構成するチャンク構成部12と、所定の制御情報を生成する制御情報生成部13と、チャンク及び制御情報をそれぞれパケットに多重化するトランスポート多重化部14と、優先データとチャンクと非優先データとを優先度順に多重信号として送信するトランスポート送信部17と、を備える。【選択図】図1
Description
本発明は、送信装置、受信装置及びそれらのプログラムに関する。
放送サービスのように、映像信号、音声信号、データ等の複数コンポーネントを含む多重信号を扱う伝送システムにおいては、一般に、伝送路の伝送容量の範囲内で、各コンポーネントに一定範囲の伝送容量を割り当てる運用を行う(非特許文献1)。図13に示すように、従来の伝送システムでは、映像信号に割り当てられた帯域を上限とする一定のビットレート(CBR:Constant Bit Rate)で、映像信号の符号データ(符号化した映像信号)を送信する。また、従来の伝送システムでは、放送サービスを構成する複数コンポーネントの多重方式として、例えば、MMT(MPEG Media Transport)方式(非特許文献2)やDASH/ROUTE(Dynamic adaptive streaming over HTTP/ Real-Time Object Delivery over Unidirectional Transport)方式(非特許文献3)が用いられる。
図14には、ピクチャ間の参照構造の一例を図示した。ここで、「I」がフレーム内圧縮を行うI(Intra)ピクチャ、「P」が前方のフレームを参照するP(Predictive)ピクチャ、「B」が前後のフレームを参照するB(Bidirectionally Predictive)ピクチャを表す。また、図14の矢印は、先端側のピクチャが終端側のピクチャを参照することを示す。実際の映像符号化の処理においては、ピクチャの種類の違いや、量子化パラメータなどの調整によるビットレート制御によって、時間軸上で発生する映像信号の符号データ量に変動が生じる。通常、Iピクチャの符号データ量が最も大きく、Pピクチャの符号データ量が2番目に大きくなり、Bピクチャの符号データ量が最も小さくなる(図16(a)参照)。
図15に示すように、従来の送信装置が備える映像符号化部9は、映像信号を符号化する符号化処理部90と、CPB(Coded Picture Buffer)91と、CPB91のバッファ使用量に応じて、ビットレート制御を行う符号化制御部92とを備える。また、映像符号化部9には、CBR及び最大CPB遅延を、符号化パラメータとして設定する。そして、映像符号化部9は、図16(a)~図16(c)に示すように、符号データのビットレートが常にCBR以下に収まるように、最大CPB遅延の範囲で符号データを時間方向に平滑化して送信する。具体的には、符号化制御部92は、CPB91からフィードバックされたバッファ使用量に基づいて、CPB91が溢れそうか(符号データをCBRで送信し切れずに最大CBP遅延を超過しないか)判定する。そして、符号化制御部92は、CPB91が溢れそうな場合、映像信号の圧縮率を上げることで画質を低下させる(ビット量が低減)。一方、符号化制御部92は、CPB91に余裕がある(符号データをCBRかつ最大CBP遅延の範囲内で送信し切ることができる)場合、映像信号の圧縮率を下げることで画質を向上させる(ビット量が増加)。このようにして、符号化制御部92は、CPB91の出力が所定のビットレートを越えないように制御する。
なお、図16(a)は、符号化処理部90が出力する符号データ量を表す。また、図16(b)は、CPB91の出力となる、CBRで平滑化された符号データ量を表す。また、図16(c)は、送信装置が出力する符号データ量を表す。
近年、インターネット上の映像配信では、MPEG(Moving Picture Experts Group)-DASH(Dynamic Adaptive Streaming over HTTP)やHLS(HTTP Live Streaming)など配信技術毎に異なっていたメディアコンテナ形式を統一するCMAF(Common Media Application Format)の採用が進んでいる(非特許文献4)。CMAFでは、メディアコンテナ形式をISOBMFF(ISO Base Media File Format)ベースに統一することに加えて、配信の低遅延化を可能とする技術として、ULL(Ultra Low Latency)配信を可能とするチャンク構造を規定している。CMAFの基礎となっているISOBMFFを用いた動画配信では、チャンク構造を用いない場合、映像のIピクチャを先頭に数から数十秒の時間尺のセグメントを構成して送信することが一般的である。一方、CMAF-ULLでは、映像のIピクチャを必ずしも先頭としない数フレーム単位でのチャンク構造を構成して送信できる。今後、放送でもCMAFを採用することで、放送と通信の垣根を越えて共通のフォーマットでのコンテンツ配信が可能となり、放送・通信が融合したサービスの高度化が期待されている。
MPEG-DASHやHLSのプレイヤ(受信装置)は、サービスの受信開始時、始めにセグメントの所在情報(セグメントを配信するサーバ上のURLなど)を含むリストを記載したマニフェストファイルをサーバに要求して取得する。そして、このマニフェストファイルに記載されたセグメントの所在情報に従って、セグメントを時系列順にサーバに要求して取得し、映像を再生する。このとき、回線状況の悪化等により、セグメントの取得に失敗したり、取得が完了するまでに時間がかかると、バッファアンダーフローによる映像の再生破綻が生じる可能性が増加する。このような映像の再生破綻を回避するため、プレイヤは、セグメントの取得失敗などが生じた場合に、プレイヤ内のバッファ時間を増加させて、より安定した再生ができるような調整を行う。
視聴者が任意の時間に視聴するVOD(Video On Demand)コンテンツでは、コンテンツを構成する全てのセグメントは事前にエンコードされたものであり、マニフェストファイルには全てのセブメントの所在情報を予め記載することができ、マニフェストファイルがコンテンツの途中で更新されることはない。一方、視聴者が生放送で視聴するライブ配信コンテンツでは、ライブエンコーダによって新たなセグメントが生成されるごとに、古いセグメントの情報を削除し、新たなセグメントの情報を追記する形でマニフェストファイルが更新される。なお、生放送の追いかけ視聴も可能とする場合には、古いセグメントの情報を削除せず、新たなセグメントの情報を追記するとともに再生開始セグメントを指示するポインタ情報の更新のみを行う場合もある。プレイヤは、定期的にマニフェストファイルを取得し、追記された最新のセグメントを取得しながら再生を行う。ライブ配信の場合も、プレイヤにおいてセグメントの取得失敗や取得が完了するまでに時間がかかる場合、バッファ長を大きくして映像破綻を防ぐ。つまり、プレイヤの内部により多くのセグメントをバッファすることとなるため、ライブ配信においては、カメラで撮影された映像がプレイヤの画面に表示されるまでのトータルの伝送遅延が増加することとなる。
CMAF―ULLでは、セグメントよりも時間尺の短いチャンクを用いることで、サーバへの要求や取得の単位であるファイル構成遅延が削減され、通信状況が良ければより低遅延な配信を実現しやすくなる。しかし、チャンクの取得失敗や取得が完了するまでに時間がかかる場合、プレイヤがバッファ量を増加させてトータルの伝送遅延が増加する原理はセグメント単位での配信の場合と変わらない。
ARIB TR-B39、"高度広帯域衛星デジタル放送運用規定(第二分冊)"
ISO/IEC 23008-1、"High efficiency coding and media delivery in heterogeneous environments: MPEG media transport"
ATSC Standard: A/331,"Signaling, Delivery, Synchronization, and Error Protection"
ISO/IEC 23000-19、"Common media application format (CMAF) for segmented media"
ARIB STD-B60、"デジタル放送におけるMMTによるメディアトランスポート方式"
従来の送信装置は、図15及び図16に示すように、映像符号化部9の出力がCPB91を介した上に、チャンク単位のメタデータを生成し、メタデータをヘッダ情報として先に送信してからチャンクを送信するためのチャンク構成処理の待ち時間が生じる。このため、送信装置の内部で、映像のCPB遅延(時間方向で変動する符号データ量を時間方向に平滑化するための遅延)に加えて、チャンク構成遅延が加わる。さらに、従来の受信装置では、映像復号部がチャンクを取得しようとしたときに該当チャンクが取得不可(未完成)であった場合に、映像の再生破綻を回避するためにバッファを増加させるので、映像が画面に提示されるまでの映像復号部内のバッファ処理により、トータルの伝送遅延が増加してしまう。なお、チャンクが取得不可となる原因は、放送波において映像コンポーネントに割り当てられた伝送容量を上限とする範囲内でチャンクを送信するために、チャンクを送り切るのに時間を要し、チャンク全体の受信が完了していない状態で、映像復号部が当該チャンクを取得しようとする場合がある。
そこで、本発明は、映像の伝送遅延を低減できる送信装置、受信装置及びそれらのプログラムを提供することを課題とする。
前記課題を解決するため、本発明に係る送信装置は、映像信号が入力され、入力された映像信号を符号化して送信する送信装置であって、映像符号化部と、制御情報生成部と、チャンク構成部と、多重化部と、送信部と、を備える構成とした。
かかる構成によれば、映像符号化部は、仮想CPBによるビットレート制御を前記映像信号に施し、CPBを介さずに、符号化した前記映像信号を予め設定したCBR以上のビットレートで出力する。つまり、映像符号化部は、仮想的にCPBをエミュレートして、従来技術と同様のビットレート制御を行いつつ、実際の出力がCPBを介さないので、バスなどの内部インタフェースが許す最大レートで映像信号を出力できる。このように、映像符号化部は、CPBを介さないので、CPB遅延を低減できる。
チャンク構成部は、映像符号化部がCBR以上のビットレートで出力した映像信号からチャンクを構成し、構成したチャンクにメタデータをヘッダ情報として付加する。メタデータにはチャンクを構成する全ての映像フレームのデータサイズやタイムスタンプのリスト情報を含めるため、チャンク全体の符号化が完了したタイミングでメタデータが完成する。メタデータが完成すると、メタデータが付加されたチャンクを多重化部へ出力できる。
制御情報生成部は、CBRが記述された制御情報を生成する。
多重化部は、メタデータが付加されたチャンク及び制御情報をそれぞれ伝送パケットに多重化する。
送信部は、予め設定した伝送レート以下となるように、チャンクより優先度が高い制御情報を含む優先データと、チャンクと、チャンクより優先度が低い非優先データとを優先度順に多重信号として送信する。これにより、送信部は、従来技術に比べて、伝送路の帯域全体を活用して短時間でチャンクを伝送できる。
多重化部は、メタデータが付加されたチャンク及び制御情報をそれぞれ伝送パケットに多重化する。
送信部は、予め設定した伝送レート以下となるように、チャンクより優先度が高い制御情報を含む優先データと、チャンクと、チャンクより優先度が低い非優先データとを優先度順に多重信号として送信する。これにより、送信部は、従来技術に比べて、伝送路の帯域全体を活用して短時間でチャンクを伝送できる。
また、前記課題を解決するため、本発明に係る受信装置は、前記送信装置から多重信号を受信する受信装置であって、多重分離部と、マニフェストファイル生成部と、記憶部と、読出部と、映像復号部と、を備える構成とした。
かかる構成によれば、多重分離部は、多重信号から、所定の制御情報と、符号化された映像信号とで構成されたチャンクとを分離する。
マニフェストファイル生成部は、多重分離部が分離した制御情報に応じて、チャンクの所在情報が記述されたマニフェストファイルを生成する。また、マニフェストファイル生成部は、受信装置が新たなチャンクの受信を完了した場合、直ちにマニフェストファイルを更新する。
マニフェストファイル生成部は、多重分離部が分離した制御情報に応じて、チャンクの所在情報が記述されたマニフェストファイルを生成する。また、マニフェストファイル生成部は、受信装置が新たなチャンクの受信を完了した場合、直ちにマニフェストファイルを更新する。
記憶部は、チャンク及びマニフェストファイルを記憶する。
読出部は、記憶部からチャンク及びマニフェストファイルを読み出す。
映像復号部は、マニフェストファイルを読出部に要求し、当該要求に応じてマニフェストファイルを読出部から取得し、取得したマニフェストファイルの所在情報が示すチャンクを時系列に要求及び受信して映像信号を復号する。
読出部は、記憶部からチャンク及びマニフェストファイルを読み出す。
映像復号部は、マニフェストファイルを読出部に要求し、当該要求に応じてマニフェストファイルを読出部から取得し、取得したマニフェストファイルの所在情報が示すチャンクを時系列に要求及び受信して映像信号を復号する。
このように、送信装置は、CBRを介さずに最短時間でメタデータが付加されたチャンクを構成し、伝送路の帯域全体を活用して短時間で伝送することで、チャンクを受信装置の記憶部に素早く格納できるので、映像復号部からの取得の要求に素早く応じることができる。さらに、受信装置は、チャンクを受信すると直ちに記憶部に格納すると共に、チャンクが取得可能となると同時にマニフェストファイルを更新して、映像復号部からの要求に応じてチャンクを送信可能な状態にできる。従って、映像復号部において、受信装置にまだ届いていないチャンクを要求してチャンク取得が失敗する可能性を減少させ、映像破綻を回避するためのバッファ時間を必要以上に増加させることがなくなり、映像のトータルの伝送遅延を低減できる。
なお、本発明は、コンピュータを前記した送信装置又は受信装置として機能させるためのプログラムで実現することもできる。
本発明によれば、映像の伝送遅延を低減することができる。
(実施形態)
以下、本発明の実施形態について図面を参照して説明する。但し、以下に説明する実施形態は、本発明の技術思想を具体化するためのものであって、特定的な記載がない限り、本発明を以下のものに限定しない。また、同一の手段には同一の符号を付し、説明を省略する場合がある。
以下、本発明の実施形態について図面を参照して説明する。但し、以下に説明する実施形態は、本発明の技術思想を具体化するためのものであって、特定的な記載がない限り、本発明を以下のものに限定しない。また、同一の手段には同一の符号を付し、説明を省略する場合がある。
[送信装置の構成]
図1を参照し、実施形態に係る送信装置1の構成について説明する。
送信装置1は、映像信号が入力され、入力された映像信号を符号化して送信するものである。図1に示すように、送信装置1は、音声符号化部10と、映像符号化部11と、チャンク構成部12と、制御情報生成部13と、トランスポート多重化部(多重化部)14と、チャンクキュー15Aと、優先データキュー15Bと、非優先データキュー15Cと、トークン出力部16と、トランスポート送信部(送信部)17とを備える。
図1を参照し、実施形態に係る送信装置1の構成について説明する。
送信装置1は、映像信号が入力され、入力された映像信号を符号化して送信するものである。図1に示すように、送信装置1は、音声符号化部10と、映像符号化部11と、チャンク構成部12と、制御情報生成部13と、トランスポート多重化部(多重化部)14と、チャンクキュー15Aと、優先データキュー15Bと、非優先データキュー15Cと、トークン出力部16と、トランスポート送信部(送信部)17とを備える。
音声符号化部10は、音声信号が入力され、入力された音声信号を符号化するものである。例えば、音声符号化部10は、AAC(Advanced Audio Coding)、MPEG-H 3D Audio、AC-4などの一般的な音声符号化方式で音声信号を符号化する。そして、音声符号化部10は、符号化した音声信号をチャンク構成部12に出力する。
映像符号化部11は、仮想CPBによるビットレート制御を映像信号に施して、CPBを介さずに、符号化した映像信号を予め設定したCBR以上のビットレートで出力するものである。ここでは、映像符号化部11は、映像信号が入力されると共に、最大CPB遅延及びCBRのビットレート値がパラメータとして入力される。
<映像符号化部>
図2を参照し、映像符号化部11を詳細に説明する。
図2に示すように、映像符号化部11は、符号化処理部11Aと、仮想CPB11Bと、符号化制御部11Cとを備える。
図2を参照し、映像符号化部11を詳細に説明する。
図2に示すように、映像符号化部11は、符号化処理部11Aと、仮想CPB11Bと、符号化制御部11Cとを備える。
符号化処理部11Aは、後記する符号化制御部11Cからのビットレート制御に従って、映像信号を符号化するものである。例えば、符号化処理部11Aは、H.265/HEVC(High Efficiency Video Coding)、H.266/VVC(Versatile Video Coding)、AVI(Audio Video Interleave)などの一般的な映像符号化方式で映像信号を符号化する。そして、符号化処理部11Aは、符号化した映像信号を仮想CPB11Bに入力すると共に、CPBを介さずに、その映像信号をチャンク構成部12に出力する。
仮想CPB11Bは、従来のCPB91(図15)をエミュレートするための仮想的なCPBである。つまり、仮想CPB11Bは、従来のCPB91とは異なり、実際に映像信号の符号データを平滑化して出力する機能を有していない。なお、仮想CPB11Bは、符号化制御部11Cによって参照される。
符号化制御部11Cは、仮想CPB11Bのバッファ使用量を参照し、符号化処理部11Aにおける符号化モードの選択や量子化パラメータの調整などのビットレート制御を行うものである。なお、符号化制御部11Cのビットレート制御自体は、従来の符号化制御部92(図15)と同様のため、説明を省略する。
図2に示すように、映像符号化部11では、従来技術と同様、仮想CPB11Bがバッファの状態を符号化制御部11Cにフィードバックし、符号化制御部11Cが符号化処理部11Aの出力ビットの発生量を制御する。一方、映像符号化部11は、従来のCPB91(図15)を介さずに、映像信号の符号データをチャンク構成部12に出力する。従って、従来の映像符号化部9の出力ビットレートα(図15)がCBRで制限されるのに対し、映像符号化部11の出力ビットレートβ(図2)はCBRに制限されることはない(β>α)。その結果、チャンク構成部12が、映像信号の符号データを内部インタフェースの最大レート(β)で遅滞なく出力できる。
図1に戻り、送信装置1の構成の説明を続ける。
チャンク構成部12は、映像符号化部11がCBR以上のビットレートで出力した映像信号から、メタデータを付加したチャンクを構成するものである。本実施形態では、チャンク構成部12は、映像符号化部11がCBR以上のビットレートで出力した映像信号と、音声符号化部10が符号化した音声信号とからチャンクを構成する。具体的には、チャンク構成部12は、映像信号について、複数フレームの集合をチャンクとして構成する。また、チャンク構成部12は、音声信号について、前記した複数フレームの集合と同等区間のアクセスユニットをチャンクとして構成する。例えば、チャンクのメディアコンテナ形式としては、CMAFを利用できる。そして、チャンク構成部12は、映像信号及び音声信号から構成し、ヘッダ情報としてメタデータを付加したチャンクをトランスポート多重化部14に出力する。
チャンク構成部12は、映像符号化部11がCBR以上のビットレートで出力した映像信号から、メタデータを付加したチャンクを構成するものである。本実施形態では、チャンク構成部12は、映像符号化部11がCBR以上のビットレートで出力した映像信号と、音声符号化部10が符号化した音声信号とからチャンクを構成する。具体的には、チャンク構成部12は、映像信号について、複数フレームの集合をチャンクとして構成する。また、チャンク構成部12は、音声信号について、前記した複数フレームの集合と同等区間のアクセスユニットをチャンクとして構成する。例えば、チャンクのメディアコンテナ形式としては、CMAFを利用できる。そして、チャンク構成部12は、映像信号及び音声信号から構成し、ヘッダ情報としてメタデータを付加したチャンクをトランスポート多重化部14に出力する。
制御情報生成部13は、CBRが記述された制御情報を生成するものである。例えば、制御情報生成部13は、多重化方式としてMMTを用いる場合、MPT(MMT Package Table)のアセットループの記述子に、パラメータとして入力されたCBRのビットレート値を記述し、制御情報を生成する。また、制御情報生成部13は、多重化方式としてDASH/ROUTEを用いる場合、MPD(Media Presentation Description)に、パラメータとして入力されたCBRのビットレート値を記述し、制御情報を生成する。そして、制御情報生成部13は、生成した制御情報をトランスポート多重化部14に出力する。
トランスポート多重化部14は、チャンク及び制御情報をそれぞれ伝送パケットに多重化するものである。ここで、トランスポート多重化部14は、最大パケット長がパラメータとして入力され、入力された最大パケット長に応じて、各データをフラグメンテーションする。具体的には、トランスポート多重化部14は、チャンク構成部12が構成したチャンクを伝送パケットに多重化し、チャンクキュー15Aに格納する。また、トランスポート多重化部14は、制御情報生成部13が生成した制御情報を伝送パケットに多重化し、チャンクより優先度が高い優先データとして、優先データキュー15Bに格納する。さらに、トランスポート多重化部14は、緊急速報、イベントメッセージなどの優先データが入力され、入力された優先データを伝送パケットに多重化し、優先データキュー15Bに格納する。さらに、トランスポート多重化部14は、データ放送などの静的なデータコンテンツが入力され、入力された静的なデータコンテンツを伝送パケットに多重化し、チャンクより優先度が低い非優先データとして、非優先データキュー15Cに格納する。
チャンクキュー15Aは、チャンクをキューイングするものである。
優先データキュー15Bは、制御情報、緊急速報、イベントメッセージなどの優先データをキューイングするものである。
非優先データキュー15Cは、静的なデータコンテンツなどの非優先データをキューイングするものである。
優先データキュー15Bは、制御情報、緊急速報、イベントメッセージなどの優先データをキューイングするものである。
非優先データキュー15Cは、静的なデータコンテンツなどの非優先データをキューイングするものである。
トークン出力部16は、予め設定したトークン量に相当するトークンを所定の間隔で出力するものである。このトークンは、トランスポート送信部17がビットレート制御を行うための信号である。本実施形態では、トークン出力部16は、最大パケット長及び伝送路伝送容量がパラメータとして入力され、入力された最大パケット長及び伝送路伝送容量に応じて、トークン量及びトークン出力間隔を算出する。そして、トークン出力部16は、トークンにトークン量を記述し、そのトークンをトークン出力間隔でトランスポート送信部17に出力する。なお、トークン出力部16の詳細は、後記する。
トランスポート送信部17は、予め設定した伝送レート以下となるように、優先データと、チャンクと、非優先データとを優先度順に多重信号として送信するものである。図3に示すように、トランスポート送信部17は、トークン出力部16から入力されたトークンに応じて、優先データキュー15Bにキューイングされた優先データ150Bと、チャンクキュー15Aにキューイングされたチャンク150Aと、非優先データキュー15Cにキューイングされた非優先データとを優先度順に送信する。これにより、トランスポート送信部17の出力ビットレートが、伝送路の伝送容量以下に収まる。なお、トランスポート送信部17の詳細は、後記する。
<トークン出力部の処理>
図4を参照し、トークン出力部16の処理を詳細に説明する。
図4に示すように、ステップS10において、トークン出力部16は、最大パケット長及び伝送路伝送容量に応じて、トークン量及びトークン出力間隔を算出する。具体的には、トークン出力部16は、伝送路伝送容量を最大パケット長で除算することで、単位時間(1秒)あたりに発行可能なトークン量を算出できる。このとき、トークン出力部16は、トークン出力間隔の逆数であるトークン発行周期と、1回あたりのトークン量との積が、単位時間あたりのトークン量となるように算出すればよい。
図4を参照し、トークン出力部16の処理を詳細に説明する。
図4に示すように、ステップS10において、トークン出力部16は、最大パケット長及び伝送路伝送容量に応じて、トークン量及びトークン出力間隔を算出する。具体的には、トークン出力部16は、伝送路伝送容量を最大パケット長で除算することで、単位時間(1秒)あたりに発行可能なトークン量を算出できる。このとき、トークン出力部16は、トークン出力間隔の逆数であるトークン発行周期と、1回あたりのトークン量との積が、単位時間あたりのトークン量となるように算出すればよい。
例えば、伝送路伝送容量を毎秒100Mビット、最大パケット長を1400バイト、最大パケット長の1パケットの送信に必要なトークン量(1回あたりのトークン量)を1.0とする。この場合、単位時間(1秒)あたりに発行可能なトークン量は100,000,000/(1400*8)=8929となる。従って、トークン出力間隔は、単位時間あたりに発行可能なトークン量の逆数1/8929秒となる。
単位時間あたりのトークン量が変わらなければ、1回あたりのトークン量を減らして、発行間隔を短くしてもよい。例えば、1回あたりのトークン量を0.5とした場合、トークン出力間隔は、1/17856秒となる。さらに、単位時間あたりのトークン量が変わらなければ、1回あたりのトークン量を増やして、発行間隔を長くしてもよい。例えば、1回あたりのトークン量を2.0とした場合、トークン出力間隔は、1/4464秒となる。
ステップS11において、トークン出力部16は、ステップS10で算出したトークン量に相当するトークンをトランスポート送信部17に出力する。
ステップS12において、トークン出力部16は、ステップS10で算出したトークン出力間隔だけ待機した後、ステップS11の処理に戻る。つまり、トークン出力部16は、次のトークン出力タイミングまで待機する。
ステップS12において、トークン出力部16は、ステップS10で算出したトークン出力間隔だけ待機した後、ステップS11の処理に戻る。つまり、トークン出力部16は、次のトークン出力タイミングまで待機する。
<トランスポート送信部の処理:トークンによる割り込み処理>
図5を参照し、トランスポート送信部17にトークンが入力されたときの割り込み処理を説明する。
図5に示すように、ステップS20において、トランスポート送信部17は、残トークン量を0に設定する。
ステップS21において、トランスポート送信部17は、残トークン量が予め設定された閾値(例えば、1)以上であるか否かを判定する。
図5を参照し、トランスポート送信部17にトークンが入力されたときの割り込み処理を説明する。
図5に示すように、ステップS20において、トランスポート送信部17は、残トークン量を0に設定する。
ステップS21において、トランスポート送信部17は、残トークン量が予め設定された閾値(例えば、1)以上であるか否かを判定する。
残トークン量が1以上の場合(ステップS21でYes)、トランスポート送信部17は、ステップS22の処理に進む。
ステップS22において、トランスポート送信部17は、図6又は図7のパケット送信処理への割り込みを発生させる。なお、図6又は図7のパケット送信処理の何れかを実行するかは、例えば、送信装置1の管理者が手動で設定する。
ステップS23において、トランスポート送信部17は、予め設定された保持上限を超える残トークン量を破棄し、ステップS21の処理に戻る。
ステップS22において、トランスポート送信部17は、図6又は図7のパケット送信処理への割り込みを発生させる。なお、図6又は図7のパケット送信処理の何れかを実行するかは、例えば、送信装置1の管理者が手動で設定する。
ステップS23において、トランスポート送信部17は、予め設定された保持上限を超える残トークン量を破棄し、ステップS21の処理に戻る。
なお、この残トークン量の保持上限は、トランスポート送信部17の出力ビットレートにおける平滑化の精度に影響するパラメータであり、任意に設定できる。この上限を小さく設定するほど(最小値は0)、トランスポート送信部17の瞬時的な出力ビットレートが上限ビットレート(伝送路伝送容量)を越えないように制御できる。その一方、この上限を小さく設定するほど、キューに送信待ちのパケットが減少したときに残トークンが破棄されやすいため、伝送帯域に空き(有効なパケットが無い状態)が生じやすくなる。また、この上限を大きく設定するほど、一時的にキューに送信待ちのパケットが減少したときも残トークンが破棄されにくいため、伝送帯域に空きを生じさせずに使用できる。その一方、この上限を大きく設定するほど、トランスポート送信部17の瞬時的な出力ビットレートが上限ビットレートを越えることが許容される。つまり、伝送帯域の利用効率と、トランスポート送信部17の出力ビットレートの平滑化精度のトレードオフとなる。平滑化精度が低い場合には、送信装置1の後段において別途シェーピングを行ってもよい。
残トークン量が1以上でない場合(ステップS21でNo)、トランスポート送信部17は、ステップS24の処理に進む。
ステップS24において、トランスポート送信部17は、トークン量に相当するトークンを残トークン量に加算し、ステップS21の処理に戻る。
ステップS24において、トランスポート送信部17は、トークン量に相当するトークンを残トークン量に加算し、ステップS21の処理に戻る。
<トランスポート送信部の処理:パケット送信処理の第1例>
図6を参照し、トランスポート送信部17によるパケット送信処理の第1例を説明する。
図6に示すように、ステップS30において、トランスポート送信部17は、残トークン量が予め設定された閾値(例えば、1)以上であるか否かを判定する。
残トークン量が1以上の場合(ステップS30でYes)、トランスポート送信部17は、ステップS32の処理に進む。
残トークン量が1以上でない場合(ステップS30でNo)、トランスポート送信部17は、ステップS31の処理に進む。
図6を参照し、トランスポート送信部17によるパケット送信処理の第1例を説明する。
図6に示すように、ステップS30において、トランスポート送信部17は、残トークン量が予め設定された閾値(例えば、1)以上であるか否かを判定する。
残トークン量が1以上の場合(ステップS30でYes)、トランスポート送信部17は、ステップS32の処理に進む。
残トークン量が1以上でない場合(ステップS30でNo)、トランスポート送信部17は、ステップS31の処理に進む。
ステップS31において、トランスポート送信部17は、図5のステップS22による割り込みを待つ。そして、トランスポート送信部17は、割り込みが発生したら、ステップS32の処理に進む。
ステップS32において、トランスポート送信部17は、優先データキュー15Bに優先データの伝送パケットがキューイングされているか否かを判定する。
優先データキュー15Bにキューイングされている場合(ステップS32でYes)、トランスポート送信部17は、ステップS35の処理に進む。
優先データキュー15Bにキューイングされていない場合(ステップS32でNo)、トランスポート送信部17は、ステップS33の処理に進む。
優先データキュー15Bにキューイングされている場合(ステップS32でYes)、トランスポート送信部17は、ステップS35の処理に進む。
優先データキュー15Bにキューイングされていない場合(ステップS32でNo)、トランスポート送信部17は、ステップS33の処理に進む。
ステップS33において、トランスポート送信部17は、チャンクキュー15Aにチャンクの伝送パケットがキューイングされているか否かを判定する。
チャンクキュー15Aにキューイングされている場合(ステップS33でYes)、トランスポート送信部17は、ステップS35の処理に進む。
チャンクキュー15Aにキューイングされていない場合(ステップS33でNo)、トランスポート送信部17は、ステップS34の処理に進む。
チャンクキュー15Aにキューイングされている場合(ステップS33でYes)、トランスポート送信部17は、ステップS35の処理に進む。
チャンクキュー15Aにキューイングされていない場合(ステップS33でNo)、トランスポート送信部17は、ステップS34の処理に進む。
ステップS34において、トランスポート送信部17は、非優先データキュー15Cに非優先データの伝送パケットがキューイングされているか否かを判定する。
非優先データキュー15Cにキューイングされている場合(ステップS34でYes)、トランスポート送信部17は、ステップS35の処理に進む。
非優先データキュー15Cにキューイングされていない場合(ステップS34でNo)、トランスポート送信部17は、ステップS30の処理に戻る。
非優先データキュー15Cにキューイングされている場合(ステップS34でYes)、トランスポート送信部17は、ステップS35の処理に進む。
非優先データキュー15Cにキューイングされていない場合(ステップS34でNo)、トランスポート送信部17は、ステップS30の処理に戻る。
ステップS35において、トランスポート送信部17は、伝送パケットがキューイングされている該当キューから伝送パケットを取得する。このとき、トランスポート送信部17は、必要に応じて、タイムスタンプ情報を記述又は更新してもよい。例えば、MMTでは、MMTプロトコルヘッダ部にパケットの送信時刻を示すデリバリータイムスタンプ(送信時刻タイムスタンプ)領域が存在する。そこで、伝送パケットの多重化方式としてMMTを用いる場合、トランスポート送信部17は、トランスポート送信部17から伝送路2への送出時刻を記載するように、このデリバリータイムスタンプを更新する。
ステップS36において、トランスポート送信部17は、ステップS35で取得した伝送パケットを受信装置3に送信する。そして、トランスポート送信部17は、送信パケット長/最大パケット長のトークン量を残トークン量から減算し、ステップS30の処理に戻る。
このように、第1例のパケット送信処理では、トランスポート送信部17が、優先データキュー15B、チャンクキュー15A、非優先データキュー15Cの優先度順に伝送パケットを送信する。
<トランスポート送信部の処理:パケット送信処理の第2例>
図7を参照し、トランスポート送信部17によるパケット送信処理の第2例を説明する。この第2例のパケット送信処理は、カウンタを用いて、優先データキュー15Bを参照する頻度を低減した点が、第1例と異なる。
図7を参照し、トランスポート送信部17によるパケット送信処理の第2例を説明する。この第2例のパケット送信処理は、カウンタを用いて、優先データキュー15Bを参照する頻度を低減した点が、第1例と異なる。
図7に示すように、ステップS40において、トランスポート送信部17は、カウンタをN-1に設定する。なお、Nは任意の値で予め設定できる。
ステップS41において、トランスポート送信部17は、残トークン量が予め設定された閾値(例えば、1)以上であるか否かを判定する。
残トークン量が1以上の場合(ステップS41でYes)、トランスポート送信部17は、ステップS43の処理に進む。
残トークン量が1以上でない場合(ステップS41でNo)、トランスポート送信部17は、ステップS42の処理に進む。
ステップS41において、トランスポート送信部17は、残トークン量が予め設定された閾値(例えば、1)以上であるか否かを判定する。
残トークン量が1以上の場合(ステップS41でYes)、トランスポート送信部17は、ステップS43の処理に進む。
残トークン量が1以上でない場合(ステップS41でNo)、トランスポート送信部17は、ステップS42の処理に進む。
ステップS42において、トランスポート送信部17は、図5のステップS22による割り込みを待つ。そして、トランスポート送信部17は、割り込みが発生したら、ステップS43の処理に進む。
ステップS43において、トランスポート送信部17は、カウンタが0であるか否かを判定する。
カウンタが0の場合(ステップS43でYes)、トランスポート送信部17は、ステップS44の処理に進む。
カウンタが0でない場合(ステップS43でNo)、トランスポート送信部17は、ステップS46の処理に進む。
カウンタが0の場合(ステップS43でYes)、トランスポート送信部17は、ステップS44の処理に進む。
カウンタが0でない場合(ステップS43でNo)、トランスポート送信部17は、ステップS46の処理に進む。
ステップS44において、トランスポート送信部17は、優先データキュー15Bに優先データの伝送パケットがキューイングされているか否かを判定する。
優先データキュー15Bにキューイングされている場合(ステップS44でYes)、トランスポート送信部17は、ステップS45の処理に進む。
優先データキュー15Bにキューイングされていない場合(ステップS44でNo)、トランスポート送信部17は、ステップS46の処理に進む。
優先データキュー15Bにキューイングされている場合(ステップS44でYes)、トランスポート送信部17は、ステップS45の処理に進む。
優先データキュー15Bにキューイングされていない場合(ステップS44でNo)、トランスポート送信部17は、ステップS46の処理に進む。
ステップS45において、トランスポート送信部17は、カウンタをN-1に設定する。
ステップS46において、トランスポート送信部17は、チャンクキュー15Aにチャンクの伝送パケットがキューイングされているか否かを判定する。
チャンクキュー15Aにキューイングされている場合(ステップS46でYes)、トランスポート送信部17は、ステップS49の処理に進む。
チャンクキュー15Aにキューイングされていない場合(ステップS46でNo)、トランスポート送信部17は、ステップS47の処理に進む。
ステップS46において、トランスポート送信部17は、チャンクキュー15Aにチャンクの伝送パケットがキューイングされているか否かを判定する。
チャンクキュー15Aにキューイングされている場合(ステップS46でYes)、トランスポート送信部17は、ステップS49の処理に進む。
チャンクキュー15Aにキューイングされていない場合(ステップS46でNo)、トランスポート送信部17は、ステップS47の処理に進む。
ステップS47において、トランスポート送信部17は、カウンタを0に設定する。
ステップS48において、トランスポート送信部17は、非優先データキュー15Cに非優先データの伝送パケットがキューイングされているか否かを判定する。
非優先データキュー15Cにキューイングされている場合(ステップS48でYes)、トランスポート送信部17は、ステップS49の処理に進む。
非優先データキュー15Cにキューイングされていない場合(ステップS48でNo)、トランスポート送信部17は、ステップS41の処理に戻る。
ステップS48において、トランスポート送信部17は、非優先データキュー15Cに非優先データの伝送パケットがキューイングされているか否かを判定する。
非優先データキュー15Cにキューイングされている場合(ステップS48でYes)、トランスポート送信部17は、ステップS49の処理に進む。
非優先データキュー15Cにキューイングされていない場合(ステップS48でNo)、トランスポート送信部17は、ステップS41の処理に戻る。
ステップS49において、トランスポート送信部17は、伝送パケットがキューイングされている該当キューから伝送パケットを取得する。このとき、トランスポート送信部17は、必要に応じて、タイムスタンプ情報を記述又は更新してもよい。
ステップS50において、トランスポート送信部17は、ステップS49で取得した伝送パケットを受信装置3に送信する。そして、トランスポート送信部17は、送信パケット長/最大パケット長のトークン量を残トークン量から減算する。
ステップS51において、トランスポート送信部17は、カウンタから1を減算し、ステップS41の処理に戻る。
ステップS51において、トランスポート送信部17は、カウンタから1を減算し、ステップS41の処理に戻る。
第1例のパケット送信処理では、優先データキュー15Bが詰まった場合、チャンクが送信できない状態が継続してしまう。これに対し、第2例のパケット送信処理では、トランスポート送信部17が、N回のパケット送信に対して、1回だけ優先データキュー15Bを参照する。これにより、第2例のパケット送信処理では、優先データキュー15Bが詰まった場合でも、チャンクが送信できない状態に陥ることを防止できる。
図8(a)及び図8(b)に示すように、送信装置1は、CPBを介さずに映像信号の符号データを出力し、符号化の完了と同時にメタデータを付加したチャンクを完成させることができる。これにより、送信装置1内部でのCPB遅延が発生しない上に、非優先データよりも優先的にチャンクのデータを放送伝送路の帯域全体を利用して送信できるので、最短時間でチャンクのデータを送り切ることができる。ここで、Iピクチャを含むチャンクのデータ量が大きく、次以降のチャンクの送信が遅延する場合も考えられる。この場合でも、図9(a)及び図9(b)に示すように、送信装置1は、最大CPB遅延をGOP長相当とすることで、GOP長を超える遅延蓄積は発生しないので、リアルタイム性を確保できる。なお、図8(a)及び図9(a)は、符号化処理部11Aが出力する符号データ量を表す。また、図8(b)及び図9(b)は、送信装置1が出力する符号データ量を表す。
[受信装置の構成]
図10を参照し、実施形態に係る受信装置3の構成について説明する。
図10に示すように、受信装置3は、送信装置1から多重信号を受信するものであり、中継部3Aと、映像復号部3Bとを備える。
図10を参照し、実施形態に係る受信装置3の構成について説明する。
図10に示すように、受信装置3は、送信装置1から多重信号を受信するものであり、中継部3Aと、映像復号部3Bとを備える。
中継部3Aは、映像信号を後記する映像復号部3Bに中継するものであり、多重分離部30と、マニフェストファイル生成部31と、記憶部32と、サーバ部(読出部)33とを備える。
多重分離部30は、中継部3Aが受信した多重信号から、所定の制御情報と、符号化された映像信号とで構成されたチャンクとを分離するものである。そして、多重分離部30は、分離した制御情報をマニフェストファイル生成部31に出力し、チャンクを記憶部32に書き込む。
マニフェストファイル生成部31は、多重分離部30が分離した制御情報に応じて、チャンクの所在情報(例えば、URL)や再生開始チャンクを指示するポインタ情報が記述されたマニフェストファイルを生成するものである。そして、マニフェストファイル生成部31は、生成したマニフェストファイルを記憶部32に書き込む。なお、マニフェストファイル生成部31の詳細は、後記する。
このマニフェストファイルは、放送チャンネルに関連付けられており、チャンクの所在情報が記述されている。例えば、マニフェストファイルには、所在情報として、チャンクファイルのURLの一覧、又は、チャンクファイルのテンプレートURLが記載されている。さらに、テンプレートURLの場合、再生開始チャンクを指示するため、再生開始チャンクを特定するポインタ情報として、シーケンス番号の初期値を記載する。例えば、チャンクファイルのテンプレートURLは、「chunk_$Number$.m4s」である。また、シーケンス番号は、チャンクファイルのURLを生成するためのものであり、例えば、テンプレートURLの「$Number$」に代入する。例えば、マニフェストファイルの書式は、HLS方式であればm3u8、MPEG-DASH方式であればMPDがあげられる。なお、マニフェストファイルの書式は、前記したものに制限されない。
記憶部32は、チャンク及びマニフェストファイルを記憶するメモリ、HDD(Hard Disk Drive)などの記憶装置である。ここで、中継部3Aが新たなチャンクを受信する都度、マニフェストファイル生成部31が記憶部32のマニフェストファイルの内容を更新する。従って、記憶部32が、最新のマニフェストファイルを記憶している状態となる。
サーバ部33は、記憶部32からチャンク及びマニフェストファイルを読み出すものである。そして、サーバ部33は、読み出したチャンク及びマニフェストファイルを映像復号部3Bに出力する。なお、サーバ部33の詳細は、後記する。
映像復号部3Bは、マニフェストファイルをサーバ部33にリクエスト(要求)し、当該リクエストに応じてマニフェストファイルをサーバ部33から取得し、取得したマニフェストファイルに記載のチャンクをサーバ部33にリクエストして取得することを繰り返して、映像信号を復号するものである。例えば、映像復号部3Bは、図2の符号化処理部11Aと同様の映像符号化方式で映像信号を復号する。
<サーバ部及び映像復号部の処理>
図11を参照し、サーバ部33及び映像復号部3Bの処理について説明する。
図11に示すように、ステップS60において、映像復号部3Bは、記憶部32に記憶されているマニフェストファイルのURLを指定し、サーバ部33にチャンクをリクエストする。例えば、チャンクのリクエストには、HTTP(Hypertext Transfer Protocol)/TCP(Transmission Control Protocol)を用いる。
図11を参照し、サーバ部33及び映像復号部3Bの処理について説明する。
図11に示すように、ステップS60において、映像復号部3Bは、記憶部32に記憶されているマニフェストファイルのURLを指定し、サーバ部33にチャンクをリクエストする。例えば、チャンクのリクエストには、HTTP(Hypertext Transfer Protocol)/TCP(Transmission Control Protocol)を用いる。
なお、マニフェストファイルのURLを指定する方法は、任意である。例えば、受信装置3のユーザによる手入力、QRコード(登録商標)による指定、通信ネットワークからの取得など、様々な手法でマニフェストファイルのURLを指定できる。また、ライブ視聴用のマニフェストファイルのURLをチャンネル毎に一定にすることで、チャンネルに関連付けられたマニフェストのURLをリクエストすることで、意図したチャンネルのライブ視聴が可能である。
ステップS61において、サーバ部33は、記憶部32からマニフェストファイルを読み出して、映像復号部3Bにレスポンスする。映像復号部3Bは、サーバ部33からマニフェストファイルを取得する。
ステップS62において、映像復号部3Bは、取得したマニフェストファイルに従って、初期バッファのため、A個(例えば、A=3)のチャンクをサーバ部33にリクエストする。
ステップS63において、サーバ部33は、記憶部32からチャンクを読み出して、映像復号部3Bにレスポンスする。
ステップS64において、映像復号部3Bは、A個のチャンクをバッファする。
ステップS63において、サーバ部33は、記憶部32からチャンクを読み出して、映像復号部3Bにレスポンスする。
ステップS64において、映像復号部3Bは、A個のチャンクをバッファする。
ステップS65において、映像復号部3Bは、A個のチャンクがバッファされたところで、映像信号を復号し、映像を再生する。
その後、映像復号部3Bは、後続のチャンクをリクエストし、チャンクをバッファしながら映像の再生を続ける(ステップS66~S68)。
その後、映像復号部3Bは、後続のチャンクをリクエストし、チャンクをバッファしながら映像の再生を続ける(ステップS66~S68)。
なお、映像復号部3Bは、サーバ部33に対して、定期的にマニフェストファイルをリクエストして最新情報の再取得を行ってもよい。特に、マニフェストファイルに記載されているチャンクの所在情報がテンプレートではないチャンクURLの一覧である場合、マニフェストファイルの再取得を行って後続チャンクファイルのURLを取得することができる。一方、チャンクの所在情報が、テンプレートURLの場合には、ポインタ情報をインクリメント(加算)していくことで後続のチャンクファイルのURLを生成できるため、一般にマニフェストファイルを定期的に再取得しなくても再生の継続が可能である。
なお、サーバ部33として、HTTP(Hypertext Transfer Protocol)サーバを利用できる。一般的なHTTPサーバは、取得(GET)リクエストされたURLのファイルが存在しない場合、レスポンスとして、指定されたファイルが存在しない旨のエラーメッセージ(NotFoundエラー)を応答する。つまり、リクエストしたチャンクが未完成の場合、映像復号部3Bには、NotFoundエラーが応答される。そこで、映像復号部3Bは、チャンクを取得できるまで(NotFoundエラーが応答されなくなるまで)、一定時間毎に同一URLでリクエストを繰り返せばよい。
また、サーバ部33は、映像復号部3Bからのチャンク取得のリクエストに対し、チャンクが完成するまで応答を保留し、チャンク完成後に応答してもよい。また、サーバ部33は、チャンクの全体が未完成であっても、チャンクを受信できた部分から順次応答してもよい。例えば、HTTPでは、Chunked Transfer Encodingを使用することで、全体が完成していないデータを順次応答することができる。
<マニフェストファイル生成部の詳細>
以下、マニフェストファイル生成部31の詳細について補足する。
マニフェストファイル生成部31は、初期バッファの分を含めて、映像復号部3Bが最初に取得すべきチャンクがチャンクファイルのURLの一覧の先頭やポインタ情報によって指示されるように、チャンクが完成する都度、マニフェストファイルを更新する。ここで、受信途中のチャンクのシーケンス番号をBとする。この場合、マニフェストファイル生成部31は、初期バッファ数であるA個前のチャンク(シーケンス番号=B-A)から映像復号部3Bが取得できるように、チャンクファイルのURL、又は、テンプレートURL及び再生開始を指示するポインタ情報であるシーケンス番号(B-A)をマニフェストファイルに記述する。
以下、マニフェストファイル生成部31の詳細について補足する。
マニフェストファイル生成部31は、初期バッファの分を含めて、映像復号部3Bが最初に取得すべきチャンクがチャンクファイルのURLの一覧の先頭やポインタ情報によって指示されるように、チャンクが完成する都度、マニフェストファイルを更新する。ここで、受信途中のチャンクのシーケンス番号をBとする。この場合、マニフェストファイル生成部31は、初期バッファ数であるA個前のチャンク(シーケンス番号=B-A)から映像復号部3Bが取得できるように、チャンクファイルのURL、又は、テンプレートURL及び再生開始を指示するポインタ情報であるシーケンス番号(B-A)をマニフェストファイルに記述する。
これにより、映像復号部3Bは、受信予定のチャンク(シーケンス番号=B)の完成を待たずに、初期バッファ数であるA個のチャンクを取得した後、シーケンス番号=B-Aのチャンクから直ちに映像の再生を開始できる。そして、映像復号部3Bは、シーケンス番号=B-Aのチャンクから映像の再生を開始して、1チャンク分の映像を再生したところで、チャンクをバッファするためにシーケンス番号=Bのチャンクをリクエストする。このとき、映像復号部3Bは、シーケンス番号=Bのチャンクの受信を完了している可能性が高いので、リクエストに対するエラーが低減し、レスポンスまで時間を要することなくスムーズにチャンクを取得できる。
(変形例)
以上、実施形態を詳述してきたが、本発明は前記した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
前記した実施形態では、送信装置の映像符号化部は、最大CPB遅延及びCBRのビットレート値がパラメータとして入力されることとして説明したが、これに限定されない。例えば、映像符号化部には、最大CPB遅延の代わりに、CPBサイズをパラメータとして入力してもよい。また、最大CPB遅延又はCPBサイズに加えて、初期バッファ容量(初期化状態としてCPBの一部容量を使用しているものとみなして符号化処理を開始する)など追加のパラメータを入力してもよい。これらの各種パラメータは、CPBの状態を詳細に管理し高度なレート制御を行うためのパラメータであり、CPBの基本動作が大きく変わるものではなく、本発明の実現性を損なうものではない。
以上、実施形態を詳述してきたが、本発明は前記した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
前記した実施形態では、送信装置の映像符号化部は、最大CPB遅延及びCBRのビットレート値がパラメータとして入力されることとして説明したが、これに限定されない。例えば、映像符号化部には、最大CPB遅延の代わりに、CPBサイズをパラメータとして入力してもよい。また、最大CPB遅延又はCPBサイズに加えて、初期バッファ容量(初期化状態としてCPBの一部容量を使用しているものとみなして符号化処理を開始する)など追加のパラメータを入力してもよい。これらの各種パラメータは、CPBの状態を詳細に管理し高度なレート制御を行うためのパラメータであり、CPBの基本動作が大きく変わるものではなく、本発明の実現性を損なうものではない。
前記した実施形態では、多重化方式としてMMTを用いる場合、送信装置の制御情報生成部は、MPTを制御情報として生成し、伝送することとしたが、これに限定されない。例えば、多重化方式としてMMTを用いる場合であっても、MPEG-DASHで規定されるマニフェストファイルであるMPDを汎用データ伝送方式などによって多重化し、制御情報として伝送できる。この場合、受信装置のマニフェストファイル生成部は、MMTから多重分離したMPDをもとに、MPD又は他の形式のマニフェストファイルを生成してもよい。
前記した実施形態では、受信装置において、中継部及び映像復号部が一体化していることとして説明したが、本発明は、これに限定されない。例えば、受信装置では、中継部をホームゲートウェイのような中継装置として、映像復号部から独立させてもよい。
前記した実施形態では、送信装置及び受信装置が独立したハードウェアであることとして説明したが、本発明は、これに限定されない。例えば、本発明は、コンピュータが備えるCPU、メモリ、ハードディスク等のハードウェア資源を、前記した送信装置又は受信装置として機能させるためのプログラムで実現することもできる。このプログラムは、通信回線を介して配布してもよく、CD-ROMやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
(参考例)
図12を参照し、参考例に係る受信装置4について説明する。
図12に示すように、受信装置4は、伝送路2を介して、送信装置1から多重信号を受信するものであり、中継部4Aと、映像復号部4Bとを備える。
図12を参照し、参考例に係る受信装置4について説明する。
図12に示すように、受信装置4は、伝送路2を介して、送信装置1から多重信号を受信するものであり、中継部4Aと、映像復号部4Bとを備える。
中継部4Aは、映像信号を後記する映像復号部3Bに中継するものであり、多重分離部40と、制御情報解析部41と、CBR補償バッファ42とを備える。
多重分離部40は、中継部4Aが受信した多重信号から、CBRが記述された制御情報と、符号化された映像信号とで構成されたチャンクとを分離するものである。そして、多重分離部40は、分離した制御情報を制御情報解析部41に出力する。さらに、多重分離部40は、分離したチャンクから映像信号の符号データを必要に応じて再構成し、CBR補償バッファ42に出力する。例えば、多重分離部40は、CMAF形式などのチャンクとして伝送された符号データが映像復号部4Bの入力に適合しない場合に、映像復号部4Bで処理できるようにチャンク化されていない符号データに再構成してもよい。また、多重分離部40は、MMT方式からMPEG-2 TS(Transport Stream)など多重化方式の変換処理を伴ってもよい。
制御情報解析部41は、多重分離部40より入力された制御情報を解析し、CBRのビットレート値を読み出すものである。つまり、制御情報解析部41は、制御情報に記述されたCBRを取得し、取得したCBRをCBR補償バッファ42に出力する。
CBR補償バッファ42は、制御情報解析部41から入力されたCBRのビットレート値を参照し、映像信号の符号データをCBRで平滑化するバッファである。そして、CBR補償バッファ42は、CBRのビットレート値で平滑化した符号データを映像復号部4Bに出力する。
映像復号部4Bは、CBR補償バッファ42から入力された映像信号の符号データを復号し、再生するものである。例えば、映像復号部4Bは、図2の符号化処理部11Aと同様の映像符号化方式で映像信号を復号する。
なお、参考例に係る受信装置4では、中継部4A及び映像復号部4Bが一体化していることとして説明したが、これに限定されない。例えば、受信装置4では、中継部4Aをホームゲートウェイのような中継装置として、映像復号部4Bから独立させてもよい。
1 送信装置
2 伝送路
3,4 受信装置
3A,4A 中継部
3B,4B 映像復号部
10 音声符号化部
11 映像符号化部
11A 符号化処理部
11B 仮想CPB
11C 符号化制御部
12 チャンク構成部
13 制御情報生成部
14 トランスポート多重化部(多重化部)
15A チャンクキュー
15B 優先データキュー
15C 非優先データキュー
16 トークン出力部
17 トランスポート送信部(送信部)
30,40 多重分離部
31 マニフェストファイル生成部
32 記憶部
33 サーバ部(読出部)
41 制御情報解析部
42 CBR補償バッファ
2 伝送路
3,4 受信装置
3A,4A 中継部
3B,4B 映像復号部
10 音声符号化部
11 映像符号化部
11A 符号化処理部
11B 仮想CPB
11C 符号化制御部
12 チャンク構成部
13 制御情報生成部
14 トランスポート多重化部(多重化部)
15A チャンクキュー
15B 優先データキュー
15C 非優先データキュー
16 トークン出力部
17 トランスポート送信部(送信部)
30,40 多重分離部
31 マニフェストファイル生成部
32 記憶部
33 サーバ部(読出部)
41 制御情報解析部
42 CBR補償バッファ
Claims (7)
- 映像信号が入力され、入力された前記映像信号を符号化して送信する送信装置であって、
仮想CPBによるビットレート制御を前記映像信号に施し、CPBを介さずに、符号化した前記映像信号を予め設定したCBR以上のビットレートで出力する映像符号化部と、
前記映像符号化部が前記CBR以上のビットレートで出力した映像信号からチャンクを構成し、構成した前記チャンクにメタデータをヘッダ情報として付加するチャンク構成部と、
所定の制御情報を生成する制御情報生成部と、
前記メタデータが付加されたチャンク及び前記制御情報をそれぞれパケットに多重化する多重化部と、
予め設定した伝送レート以下となるように、前記チャンクより優先度が高い前記制御情報を含む優先データと、前記チャンクと、前記チャンクより優先度が低い非優先データとを優先度順に多重信号として送信する送信部と、
を備えることを特徴とする送信装置。 - 予め設定したトークン量に相当するトークンを所定の間隔で出力するトークン出力部、をさらに備え、
前記送信部は、
前記トークンに相当するトークン量を残トークン量に加算し、
前記残トークン量が予め設定された閾値以上の場合、前記優先データと、前記チャンクと、前記非優先データとを優先度順に送信し、
前記優先データ、前記チャンク又は前記非優先データの送信データ量に応じたトークン量を前記残トークン量から減算することを特徴とする請求項1に記載の送信装置。 - 前記優先データを格納する優先データキューと、
前記チャンクをキューイングするチャンクキューと、
前記非優先データが入力され、入力された前記非優先データを格納する非優先データキューと、をさらに備え、
前記多重化部は、前記チャンク構成部が構成したチャンクを前記チャンクキューに格納し、前記制御情報生成部が生成した制御情報を前記優先データとして前記優先データキューに格納し、
前記送信部は、前記優先データキューにキューイングされた優先データと、前記チャンクキューにキューイングされたチャンクと、前記非優先データキューにキューイングされた非優先データとを優先度順に送信することを特徴とする請求項1又は請求項2に記載の送信装置。 - 音声信号が入力され、入力された前記音声信号を符号化する音声符号化部、をさらに備え、
前記チャンク構成部は、前記映像符号化部が前記CBR以上のビットレートで出力した映像信号と、前記音声符号化部が符号化した音声信号とから前記チャンクを構成することを特徴とする請求項1に記載の送信装置。 - 請求項1に記載の送信装置から多重信号を受信する受信装置であって、
前記多重信号から、所定の制御情報と、符号化された前記映像信号とで構成されたチャンクとを分離する多重分離部と、
前記多重分離部が分離した制御情報に応じて、前記チャンクの所在情報が記述されたマニフェストファイルを生成するマニフェストファイル生成部と、
前記チャンク及び前記マニフェストファイルを記憶する記憶部と、
前記記憶部から前記チャンク及び前記マニフェストファイルを読み出す読出部と、
前記マニフェストファイルを前記読出部に要求し、当該要求に応じて前記マニフェストファイルを前記読出部から取得し、取得した前記マニフェストファイルの所在情報が示すチャンクを時系列に受信して映像信号を復号する映像復号部と、
を備えることを特徴とする受信装置。 - コンピュータを、請求項1に記載の送信装置として機能させるためのプログラム。
- コンピュータを、請求項5に記載の受信装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022071443A JP2023161219A (ja) | 2022-04-25 | 2022-04-25 | 送信装置、受信装置及びそれらのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022071443A JP2023161219A (ja) | 2022-04-25 | 2022-04-25 | 送信装置、受信装置及びそれらのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023161219A true JP2023161219A (ja) | 2023-11-07 |
Family
ID=88650027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022071443A Pending JP2023161219A (ja) | 2022-04-25 | 2022-04-25 | 送信装置、受信装置及びそれらのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023161219A (ja) |
-
2022
- 2022-04-25 JP JP2022071443A patent/JP2023161219A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7506219B2 (ja) | 再生方法および再生装置 | |
US10623785B2 (en) | Streaming manifest quality control | |
US10547659B2 (en) | Signaling and processing content with variable bitrates for adaptive streaming | |
JP4690280B2 (ja) | メディアデータをストリーミングする方法、システム及びクライアント装置 | |
JP3789995B2 (ja) | ビデオサーバシステム及びその動作方法 | |
US7743161B2 (en) | Digital content buffer for adaptive streaming | |
KR101737325B1 (ko) | 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치 | |
US8837586B2 (en) | Bandwidth-friendly representation switching in adaptive streaming | |
US9015779B2 (en) | Streaming video server with segment length control and methods for use therewith | |
CN106686438B (zh) | 一种跨设备的音频图像同步播放的方法、装置及系统 | |
KR100711635B1 (ko) | 화상 부호화 방법 | |
WO2013008867A1 (ja) | 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 | |
CN109792546B (zh) | 从服务器向客户端设备传送视频内容的方法 | |
AU2002231829A1 (en) | Method and system for buffering streamed data | |
JP2015136059A (ja) | 通信装置、通信データ生成方法、および通信データ処理方法 | |
CN115943631A (zh) | 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据 | |
US9294821B2 (en) | Scrubbing noise remover and methods for use therewith | |
US20160080455A1 (en) | Delivery device, reproduction device, and delivery system | |
JP2023161219A (ja) | 送信装置、受信装置及びそれらのプログラム | |
JP7292901B2 (ja) | 送信装置、送信方法、及びプログラム |