JP2014192566A - 映像処理装置、映像処理方法およびコンピュータプログラム - Google Patents
映像処理装置、映像処理方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2014192566A JP2014192566A JP2013064016A JP2013064016A JP2014192566A JP 2014192566 A JP2014192566 A JP 2014192566A JP 2013064016 A JP2013064016 A JP 2013064016A JP 2013064016 A JP2013064016 A JP 2013064016A JP 2014192566 A JP2014192566 A JP 2014192566A
- Authority
- JP
- Japan
- Prior art keywords
- content
- bandwidth
- moving image
- client terminal
- image content
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000004590 computer program Methods 0.000 title claims description 9
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000005259 measurement Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000009877 rendering Methods 0.000 abstract 1
- 238000000034 method Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 34
- 239000000872 buffer Substances 0.000 description 32
- 230000005540 biological transmission Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 21
- 230000003044 adaptive effect Effects 0.000 description 16
- 238000002360 preparation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 101710114762 50S ribosomal protein L11, chloroplastic Proteins 0.000 description 1
- 101710156159 50S ribosomal protein L21, chloroplastic Proteins 0.000 description 1
- 101710087140 50S ribosomal protein L22, chloroplastic Proteins 0.000 description 1
- 101710118399 50S ribosomal protein L24, chloroplastic Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Computer Security & Cryptography (AREA)
Abstract
【課題】画面に複数の動画コンテンツを同時に表示する際に、効果的な動画コンテンツの表現を行うとともに、ネットワークの帯域を無駄に消費しないようにすることが可能な、映像処理装置を提供する。
【解決手段】ネットワークを通じて配信されるコンテンツを同時に複数取得するコンテンツ取得部と、前記コンテンツ取得部が取得した前記コンテンツごとに割り当てる帯域幅を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定する帯域幅決定部と、を備える、映像処理装置が提供される。
【選択図】図1
【解決手段】ネットワークを通じて配信されるコンテンツを同時に複数取得するコンテンツ取得部と、前記コンテンツ取得部が取得した前記コンテンツごとに割り当てる帯域幅を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定する帯域幅決定部と、を備える、映像処理装置が提供される。
【選択図】図1
Description
本開示は、映像処理装置、映像処理方法およびコンピュータプログラムに関する。
コンテンツのデジタル化が進み、映像を伝送できるインフラも整備されてきたことにより、インターネットを通じた映像配信が普及しつつある。最近では受信側の装置として、パーソナルコンピュータ以外に、ネットワークに接続可能なテレビジョン受像機も増えてきており、配信される動画コンテンツをテレビジョン受像機で見ることもできるようになってきている。
パーソナルコンピュータやテレビジョン受像機等のクライアント端末がサーバから動画コンテンツを取得して表示する際に、伝送路の帯域の無駄な消費を防ぐ技術として、例えば特許文献1がある。特許文献1に開示された技術によれば、表示装置側が必要とする解像度に変更してデータ供給装置が画像データを提供することで、伝送路の帯域の無駄な消費を防止することができる。
従来技術の別例として、HTTP(Hypertext Transfer Protocol)ベースのアダプティブストリーミング技術がある。このアダプティブストリーミング技術として、例えばApple社のHTTP Live Streaming技術や、MPEG−Dash技術としてISOで標準化が行われているものがある。この技術は、インターネットのようにネットワークの帯域幅の変動や、クライアント端末の表示解像度の多様性に対応するために、コンテンツの解像度やコンテンツレートを選択し提供する仕組みを備える。この技術では、クライアント端末は、必要とする動画コンテンツについてサーバへ問い合わせを行う事で、どのような解像度やビットレートの動画コンテンツが提供可能であるのか事前に知ることが出来る。
また、近年、クラウドサービスの発展により、ネットワークを介して、プライベートコンテンツを含めた多様なチャンネルが視聴者に提供されるようになってきている。そのため、複数の動画コンテンツを同時に視聴して、見たい動画コンテンツを簡単に探索することができるマルチ映像再生システムに対するニーズがより高くなってきている。
上記特許文献1で開示された技術では、伝送路の帯域幅が変動するようなネットワーク環境を想定していない。従って、再生しようとする動画コンテンツの解像度を変更するだけでは、帯域の無駄な消費を効果的に防止することが出来ない。
また、1つのクライアント端末上の画面に複数の動画コンテンツを同時に表示する場合、既存のMPEG−Dash技術では、取得するコンテンツのビットレートの決定が独立に実施されるため、全ての動画コンテンツをなるべく高いビットレートで再生が進むように動作してしまう。そのため、本来は低いビットレートでも表示には十分な動画コンテンツへ必要以上の高いビットレートが割り当てられたり、また逆に高いビットレートを必要とする動画コンテンツに十分な割り当てが出来なかったりする状況が発生する。
そこで、本開示は、画面に複数の動画コンテンツを同時に表示する際に、効果的な動画コンテンツの表現を行うとともに、ネットワークの帯域を無駄に消費しないようにすることが可能な、新規かつ改良された映像処理装置、映像処理方法およびコンピュータプログラムを提供する。
本開示によれば、ネットワークを通じて配信されるコンテンツを同時に複数取得するコンテンツ取得部と、前記コンテンツ取得部が取得した前記コンテンツごとに割り当てる帯域幅を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定する帯域幅決定部と、を備える、映像処理装置が提供される。
また本開示によれば、ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、前記取得するステップで取得した前記コンテンツごとに割り当てる帯域幅を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、を備える、映像処理方法が提供される。
また本開示によれば、コンピュータに、ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、前記取得するステップで取得した前記コンテンツごとに割り当てる帯域幅を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、を実行させる、コンピュータプログラムが提供される。
以上説明したように本開示によれば、画面に複数の動画コンテンツを同時に表示する際に、効果的な動画コンテンツの表現を行うとともに、ネットワークの帯域を無駄に消費しないようにすることが可能な、新規かつ改良された映像処理装置、映像処理方法およびコンピュータプログラムを提供することが出来る。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
<1.本開示の一実施形態>
[全体構成例]
[クライアント端末の機能構成例]
[クライアント端末の動作例]
[クライアント端末の変形例]
<2.まとめ>
<1.本開示の一実施形態>
[全体構成例]
[クライアント端末の機能構成例]
[クライアント端末の動作例]
[クライアント端末の変形例]
<2.まとめ>
<1.本開示の一実施形態>
[全体構成例]
まず図面を参照しながら、本開示の一実施形態に係るシステムの全体構成例について説明する。図1は、本開示の一実施形態に係る映像処理システム1の全体構成例を示す説明図である。以下、図1を用いて本開示の一実施形態に係る映像処理システム1の全体構成例について説明する。
[全体構成例]
まず図面を参照しながら、本開示の一実施形態に係るシステムの全体構成例について説明する。図1は、本開示の一実施形態に係る映像処理システム1の全体構成例を示す説明図である。以下、図1を用いて本開示の一実施形態に係る映像処理システム1の全体構成例について説明する。
図1に示した映像処理システム1は、複数の動画コンテンツサーバ2、3から、符号化ストリーム情報を、インターネット等のネットワーク10を経てクライアント端末100で受信し、クライアント端末100で複数の動画コンテンツを取得して同時に再生する構成を有している。
動画コンテンツサーバ2、3は、符号化ストリームに変換された動画コンテンツを保持し、また動画コンテンツを符号化ストリームに変換し、クライアント端末100からの求めに応じてクライアント端末100に送出する装置である。本実施形態では、動画コンテンツサーバ2は、動画コンテンツA及び動画コンテンツBを保持している。動画コンテンツA、Bは、リアルタイムで撮像された動画コンテンツであってもよく、予め撮像された動画コンテンツであってもよい。また動画コンテンツサーバ3は、動画コンテンツC及び動画コンテンツDを保持している。動画コンテンツC、Dは、リアルタイムで撮像された動画コンテンツであってもよく、予め撮像された動画コンテンツであってもよい。もちろん、動画コンテンツサーバに保持される動画コンテンツの種類や数は係る例に限られないことは言うまでもない。
本実施形態の符号化ストリームは、例えばH.264/AVC(Advanced Video Coding)方式等で符号化されたものであるとする。
クライアント端末100は、動画コンテンツサーバ2、3からインターネット等のネットワーク10を経て送信される符号化ストリームを受信し、受信した複数の符号化ストリームを復号する。クライアント端末100は、複数の符号化ストリームを復号することで、複数の動画コンテンツを同時に再生することが出来る。なお、複数の動画コンテンツの同時再生は、クライアント端末100が実行しても良いし、クライアント端末100と有線または無線で接続された、表示画面を有する他の装置が実行しても良い。
本実施形態では、HTTPベースのアダプティブストリーミングによって、動画コンテンツサーバ2、3からクライアント端末100へ動画コンテンツが配信される。上述したように、HTTPベースのアダプティブストリーミングは、ネットワーク10の帯域幅の変動や、クライアント端末の表示解像度の多様性に対応するために、動画コンテンツの解像度やコンテンツレートを選択し提供する仕組みを備える。
クライアント端末100は、動画コンテンツの再生に先立って、動画コンテンツサーバ2、3へ問い合わせを行う。例えば動画コンテンツサーバ2が提供する動画コンテンツAについてクライアント端末100が問い合わせを行った結果、320×240ピクセルの解像度の場合なら1Mbps、2Mbpsの種類のビットレート、1024×768ピクセルの解像度の場合なら1Mbps、2Mbps、3Mbpsの3種類のビットレートにて動画コンテンツAが提供可能な事を知ることができる。
クライアント端末100が動画コンテンツサーバ2、3へ問い合わせることにより得られる情報の例を示す。図2は、クライアント端末100が動画コンテンツサーバ2、3へ問い合わせることにより得られるコンテンツ情報リストの構造を概念的に示す説明図である。
図2に示したコンテンツ情報リストCLは、動画コンテンツAのコンテンツ情報リストCL1と、動画コンテンツBのコンテンツ情報リストCL2と、を含んでいる。
動画コンテンツAのコンテンツ情報リストCL1は、コンテンツ名CL11、解像度情報CL12a、CL12b、レート情報CL13a〜CL13e、及びセグメント情報CL14a、14bを含んでいる。
同様に、動画コンテンツBのコンテンツ情報リストCL2は、コンテンツ名CL21、解像度情報CL22、レート情報CL23、及びセグメント情報CL24を含んでいる。
また図2には示していないが、各動画コンテンツのビットレート毎に、コンテンツの実体のファイルの存在場所を示す情報もコンテンツ情報リストCLに含まれる。コンテンツの実体のファイルの存在場所を示す情報は、例えばファイルのURL(Uniform Resource Locator)であり得る。
クライアント端末100は、図2に示したような構造を有するコンテンツ情報リストCLを動画コンテンツサーバ2、3から得ることで、動画コンテンツA、Bについて用意されている解像度やビットレートを知ることが出来る。また図2に示したように、各動画コンテンツは、解像度やビットレート毎にセグメント情報リストという形で管理されている。このセグメント情報リストは、各動画コンテンツが一定時間ごとに区切られた、セグメントという分割された状態で管理される。
MPEG−DASH(ISO/IEC 23009−1)を用いた場合では、動画コンテンツサーバ2、3は、配信するコンテンツの内容を管理するMPD(Media Presentation Discription)ファイルを保持する。MPDファイルには、動画コンテンツの動画圧縮方式、画像サイズ、符号化レート、ファイルの格納場所が記述される。クライアント端末100は、動画コンテンツサーバ2、3からMPDファイルを取得することで、動画コンテンツA、Bについて用意されている解像度やビットレートを知ることが出来る。
図2に示したような構造を有するコンテンツ情報リストCLを取得した場合において、クライアント端末100は、大きい解像度の動画コンテンツAを画面上に表示させたい場合は1024×768ピクセルのものを選択し、小さい解像度の動画コンテンツAを画面上に表示させたい場合は320×240ピクセルのものを選択する。このような選択により、クライアント端末100は、動画コンテンツAの解像度変換の処理を行う必要が無くなる。また動画コンテンツサーバ2からクライアント端末100へ動画コンテンツAが送信される際に、ネットワーク10の帯域の無駄な消費を防止する事が可能となる。
さらに、動画コンテンツサーバ2は、同一解像度のコンテンツを複数のビットレートで提供できるため、クライアント端末100は、動画コンテンツサーバ2との間のネットワーク10の帯域幅を動的に推測し、その推測した値より低いビットレートのコンテンツを選択することが出来る。
図3は、クライアント端末100でのレート変更及びセグメントの取得例を示す説明図である。図3に示したようなコンテンツ情報リストCL1を動画コンテンツサーバ2から取得している場合に、クライアント端末100は、図3に示したようにレートを変更して、セグメントを取得することが出来る。
図3に示した例をより詳細に説明する。クライアント端末100は、最初に一番低いビットレートである1Mbpsの動画コンテンツAにてストリーミングの開始を決定し、セグメント1M−#1の取得を行う。その後、このセグメントの取得状況からネットワーク10の帯域にまだ余裕があると判断すると、クライアント端末100は、次に高いレートである2Mbpsのセグメント2M−#2、セグメント2M−#3の取得を行う。なおもネットワーク10の帯域にまだ余裕があると判断すると、クライアント端末100は、最高レートである4Mbpsのセグメント4M−#4、・・・の取得を行う。
各セグメントは、ビットレートが異なる場合においても、順番を保てばコンテンツとして途切れることなく再生が可能なように分割がされている。このように動画コンテンツがセグメント単位で分割されていることにより、クライアント端末100のストリーミング開始までの時間を短縮したり、ネットワーク10の帯域が変動する状況においても、少ないバッファ量での途切れない再生を行ったりする事が可能になる。
アダプティブストリーミングによるクライアント端末100の動画コンテンツの取得の概要について説明する。図4A〜4Cは、クライアント端末100の動作例を示す流れ図であり、アダプティブストリーミングによるクライアント端末100での複数の動画コンテンツの取得処理を示したものである。
クライアント端末100は、アダプティブストリーミングによる複数の動画コンテンツの取得処理を、図4Aに示したように、動画コンテンツ毎に独立して実行する(ステップS11)。図4B及び図4Cは、ステップS11での動画コンテンツの取得処理を1つの動画コンテンツについて着目して示した流れ図である。
クライアント端末100は、動画コンテンツサーバ2、3へアクセスを行い、取得可能な動画コンテンツの各種情報が記述されたコンテンツ情報リストを取得する(ステップS12)。クライアント端末100は、コンテンツ情報リストを取得すると、続いて当該動画コンテンツNを取得する初期レートを決定する(ステップS13)。多くの場合、この段階では利用可能なネットワーク10の帯域は未知であるので、クライアント端末100は、選択可能なビットレートの内、最低のビットレートを選択することが望ましい。
上記ステップS13で動画コンテンツNを取得する初期レートを決定すると、続いてクライアント端末100は、動画コンテンツNを取得するためのコンテンツ取得リストを作成する(ステップS14)。コンテンツ取得リストは、コンテンツ単位で、解像度、ビットレート、セグメントが指定されたリストである。
動画コンテンツNを取得するためのコンテンツ取得リストを作成すると、続いてクライアント端末100は、動画コンテンツNを配信する動画コンテンツサーバ2、3に対して、コンテンツ取得リストに記したセグメントを要求する(ステップS15)。動画コンテンツサーバ2、3は、クライアント端末100からの要求に応じて、当該セグメントをクライアント端末100に送信する。クライアント端末100は、受信したセグメントをバッファに保持しておく。
動画コンテンツサーバ2、3から動画コンテンツNのセグメントを受信したクライアント端末100は、受信したセグメントのデコードタイミングであるかどうかを判断し(ステップS16)。デコードタイミングであれば、クライアント端末100はバッファに保持したセグメントを取り出し(ステップS17)、デコードを実行する(ステップS18)。
続いてクライアント端末100は、セグメントを保持するバッファへの流入レートを計測する(ステップS19)。クライアント端末100は、バッファへの流入レートを、例えば1セグメントの受信が完了するまでの時間と、そのセグメントのサイズを用いて、ビットレートをbpsの単位で算出することができる。そしてクライアント端末100は、セグメントを保持するバッファへの流入レートが、一定期間、コンテンツ取得リストのビットレートの情報未満であるかどうか判断する(ステップS20)。バッファの出力側は動画コンテンツのビットレート情報に従ってデコーダが情報を定期的に引き出していくため、バッファの流入側の速度はネットワーク10の状況に応じて、動画コンテンツのビットレート情報より高くなったり低くなったりする。
ステップS20の判断の結果、一定期間、コンテンツ取得リストのビットレートの情報未満であれば、クライアント端末100は計測したバッファの流入レートをリセットし(ステップS21)、コンテンツ取得リストのビットレートよりさらに低いビットレートを選択できるか判断する(ステップS22)。バッファへの流入が遅い場合は、クライアント端末100はネットワーク10に余裕がない状態と判断し、動画コンテンツサーバ2、3から取得する動画コンテンツのレートを下げる。
ステップS22の判断の結果、コンテンツ取得リストのビットレートよりさらに低いビットレートを選択できる場合は、クライアント端末100は、現在のビットレートより低いビットレートを選択し、コンテンツ取得リストを更新する(ステップS23)。
ステップS20の判断の結果、一定期間、コンテンツ取得リストのビットレートの情報未満でなければ、続いてクライアント端末100は、セグメントを保持するバッファへの流入レートが、一定期間、コンテンツ取得リストのビットレートの情報以上であるかどうか判断する(ステップS24)。
ステップS24の判断の結果、一定期間、コンテンツ取得リストのビットレートの情報以上であれば、クライアント端末100は計測したバッファの流入レートをリセットし(ステップS25)、コンテンツ取得リストのビットレートよりさらに高いビットレートを選択できるか判断する(ステップS26)。バッファへの流入が速い場合は、クライアント端末100はネットワーク10に余裕がある状態と判断し、動画コンテンツサーバ2、3から取得する動画コンテンツのレートを上げる。
ステップS26の判断の結果、コンテンツ取得リストのビットレートよりさらに高いビットレートを選択できる場合は、クライアント端末100は、現在のビットレートより低いビットレートを選択し、コンテンツ取得リストを更新する(ステップS27)。
クライアント端末100は、次のセグメントを選択するために、コンテンツ取得リストを更新する(ステップS28)。そしてクライアント端末100は、動画コンテンツの取得処理が終了するまで、一連の処理を継続する(ステップS29)。
このように、アダプティブストリーミングは、ネットワーク10の帯域幅の変動や、クライアント端末100の表示解像度の多様性に対応することができる。しかし、1つのクライアント端末100の画面に複数の動画コンテンツを表示する場合、取得する動画コンテンツのビットレートの決定が独立に実施されるため、全ての動画コンテンツをなるべく高いビットレートで再生されるように動作してしまう。
そのため、1つのクライアント端末100の画面に複数の動画コンテンツを表示する場合に、本来は低いビットレートでも表示には十分なコンテンツへ必要以上の高いビットレートが割当てられたり、また逆に高いビットレートを必要とするコンテンツに十分な割り当てが出来なかったりする状況が発生する。
たとえば、ネットワーク10を介して、10Mbpsの帯域で動画コンテンツサーバ2、3と接続されているクライアント端末100において、それぞれ320×240ピクセル、1280×1024ピクセルの解像度を持つ2つの動画コンテンツを同時に再生する場合を考える。なお、動画コンテンツサーバ2、3が提供可能な動画コンテンツのビットレートは、最低が1Mbpsであり、1Mbps刻みで最大10Mbpsであると仮定する。
この条件でクライアント端末100が動画コンテンツの再生を開始すると、それぞれの動画コンテンツは、時間の経過とともにビットレートは同じ5Mbpsとなって安定する。これはHTTPより下層のトランスポートプロトコルとして用いられるTCP(Transmission Control Protocol)が、同じリンクを共有する複数のコネクションに対して帯域を均等分割する性質があるためである。またクライアント端末100は、動画コンテンツサーバ2、3から取得する動画コンテンツのビットレートの決定を動画コンテンツ毎に独立して行うためである。
一般的には、解像度の高い動画コンテンツには相対的に高いビットレートを、解像度の低いコンテンツには相対的に低いビットレートをそれぞれ割り当てるほうが、コンテンツの質という意味では満足した結果が得られる。
このため、例えば解像度の低い320×240ピクセルの動画コンテンツには2Mbps、解像度の高い1280×1024ピクセルの動画コンテンツには8Mbpsというように、割り当てられるビットレートに差をつけることができれば、無駄な帯域を消費せずに、ユーザに対して効果的な情報を提供する事が可能となる。
このような状況への対策として、例えばアプリケーションからTCP層へコネクション毎に利用可能な最大の帯域を指定することで、各動画コンテンツのビットレートを上述したような要求に適応させることが出来る。しかし、多くのシステムではTCPはOSのカーネルに実装されており、このような対応は実装的に困難である。
そこで以下では、画面に複数の動画コンテンツを表示する際に、効果的な動画コンテンツの表現を行うとともに、ネットワークの帯域を無駄に消費しないようにすることを可能にしたクライアント端末100について説明する。
[クライアント端末の機能構成例]
図5は、本開示の一実施形態に係るクライアント端末100の機能構成例を示す説明図である。図5に示したのは、動画コンテンツサーバ2、3から送信される符号化ストリームを復号し、複数の動画コンテンツを同時に再生するための構成を有するクライアント端末100の例である。以下、図5を用いて本開示の一実施形態に係るクライアント端末100の機能構成例について説明する。
図5は、本開示の一実施形態に係るクライアント端末100の機能構成例を示す説明図である。図5に示したのは、動画コンテンツサーバ2、3から送信される符号化ストリームを復号し、複数の動画コンテンツを同時に再生するための構成を有するクライアント端末100の例である。以下、図5を用いて本開示の一実施形態に係るクライアント端末100の機能構成例について説明する。
図5に示したように、本開示の一実施形態に係るクライアント端末100は、制御部101と、ネットワーク送受信部102と、符号化ストリーム分別部103と、コンテンツバッファ部104a、104b、104c、・・・、104nと、伝送状態判定部107と、レート情報決定部108と、を含んで構成される。
制御部101は、クライアント端末100の各要素の動作を制御する。ネットワーク送受信部102は、ネットワーク10からのデータの受信やネットワーク10へのデータの送信を、制御部101の制御により行う。本実施形態では、ネットワーク送受信部102は、動画コンテンツサーバ2、3から送信される符号化ストリームを受信する。ネットワーク送受信部102は、受信した符号化ストリームを、制御部101の制御に応じて符号化ストリーム分別部103に出力する。ネットワーク送受信部102は、複数の符号化ストリームを同時に受信し得るので、複数の符号化ストリームが受信された場合は、これらの複数の符号化ストリームは後段の符号化ストリーム分別部103で分別される。
符号化ストリーム分別部103は、ネットワーク送受信部102が受信した符号化ストリームを、動画コンテンツ単位に分別する。上述のようにネットワーク送受信部102は、複数の符号化ストリームを同時に受信し得るので、複数の符号化ストリームが受信された場合に、符号化ストリーム分別部103は複数の符号化ストリームを動画コンテンツ単位に分別する。符号化ストリーム分別部103による符号化ストリームの動画コンテンツ単位への分別は、例えば受信した符号化ストリームに含まれるコンテンツを識別するための情報を参照することで行われ得る。符号化ストリーム分別部103は、符号化ストリームを動画コンテンツ単位に分別すると、分別した符号化ストリームを動画コンテンツ単位にコンテンツバッファ部104a、104b、104c、・・・、104nへ出力する。
コンテンツバッファ部104a、104b、104c、・・・、104nは、符号化ストリーム分別部103が動画コンテンツ単位に分別した符号化ストリームを、それぞれ動画コンテンツ単位で保持する。コンテンツバッファ部104a、104b、104c、・・・、104nにそれぞれ動画コンテンツ単位で保持された符号化ストリームは、デコーダ(図示せず)によって取り出されてデコードされる。
伝送状態判定部107は、動画コンテンツサーバ2、3からクライアント端末100への動画コンテンツの伝送状態を判定する。具体的には、伝送状態判定部107は、コンテンツバッファ部104a、104b、104c、・・・、104nへのパケットロス率や流入レートを計測することで、伝送状態を判定する。伝送状態判定部107は、動画コンテンツサーバ2、3からクライアント端末100への動画コンテンツの伝送状態を判定すると、その判定の結果を制御部101に送る。
レート情報決定部108は、動画コンテンツサーバ2、3から配信される動画コンテンツの配信レートを決定する。レート情報決定部108は、本開示の帯域幅決定部の一例として機能する。レート情報決定部108は、例えばクライアント端末100のユーザによる設定や、伝送状態判定部107が判定した伝送状態に基づいて、動画コンテンツサーバ2、3から配信される動画コンテンツの配信レートを決定する。レート情報決定部108は、決定した動画コンテンツの配信レートの情報を制御部101に送る。
本開示の一実施形態に係るクライアント端末100は、複数の動画コンテンツを扱う場合に、動画コンテンツそれぞれで独立した処理とはしない。本開示の一実施形態に係るクライアント端末100は、受信する動画コンテンツのビットレートの決定において、選択している動画コンテンツの取得レートの合計と全てのバッファの状態を考慮して、各動画コンテンツが利用できる帯域の比率を決定する。
本開示の一実施形態に係るクライアント端末100は、このように各動画コンテンツが利用できる帯域の比率を決定することで、効果的な動画コンテンツの表現を行うとともに、ネットワークの帯域を無駄に消費しないようにすることを可能にする。
以上、図5を用いて本開示の一実施形態に係るクライアント端末100の機能構成例について説明した。次に、本開示の一実施形態に係るクライアント端末100の動作例について説明する。
[クライアント端末の動作例]
図6A〜6Cは、本開示の一実施形態に係るクライアント端末100の動作例を示す流れ図である。図6A〜6Cに示した流れ図は、アダプティブストリーミングによるクライアント端末100での複数の動画コンテンツの取得処理を示したものである。この複数の動画コンテンツの取得処理では、上述の処理とは異なり、選択している動画コンテンツの取得レートの合計と全てのバッファの状態を考慮して、各動画コンテンツが利用できる帯域の比率を決定する。以下、図6A〜6Cを用いて本開示の一実施形態に係るクライアント端末100の動作例について説明する。
図6A〜6Cは、本開示の一実施形態に係るクライアント端末100の動作例を示す流れ図である。図6A〜6Cに示した流れ図は、アダプティブストリーミングによるクライアント端末100での複数の動画コンテンツの取得処理を示したものである。この複数の動画コンテンツの取得処理では、上述の処理とは異なり、選択している動画コンテンツの取得レートの合計と全てのバッファの状態を考慮して、各動画コンテンツが利用できる帯域の比率を決定する。以下、図6A〜6Cを用いて本開示の一実施形態に係るクライアント端末100の動作例について説明する。
図4A〜4Cに示した処理は、各動画コンテンツに対して独立して実行されていた。これに対して図6A〜6Cに示した処理は、全ての動画コンテンツに対して実行される。クライアント端末100は、アダプティブストリーミングによる複数の動画コンテンツの取得処理を、図6Aに示したように、全ての動画コンテンツに対して実行する(ステップS101)。図6B及び図6Cは、ステップS101での動画コンテンツの取得処理を示した流れ図である。
クライアント端末100は、動画コンテンツサーバ2、3へアクセスを行い、取得可能な動画コンテンツの各種情報が記述されたコンテンツ情報リストを、受信しようとする全ての動画コンテンツに対して取得する(ステップS111)。この取得処理は例えば制御部101が実行し得る。
ステップS111でコンテンツ情報リストを取得すると、続いてクライアント端末100は、取得する各動画コンテンツの使用帯域の比率を決定する(ステップS112)。このステップS112の処理は、例えばレート情報決定部108が決定し得る。
具体例を挙げて説明する。図7は、各動画コンテンツの使用帯域の比率の決定例を示す説明図である。図7では、同じ解像度の動画コンテンツA〜Dの使用帯域の比率を決定する例が示されている。各動画コンテンツに対して4:3:2:1の割合で帯域を割当てる指示がなされたと仮定すると、クライアント端末100が利用できるネットワーク10の帯域が10Mbpsである場合、クライアント端末100は、動画コンテンツA〜Dにそれぞれ4Mbps、3Mbps、2Mbps、1Mbpsが割り当てられるように使用帯域の比率を決定する。またクライアント端末100が利用できるネットワーク10の帯域が20Mbpsである場合、クライアント端末100は、動画コンテンツA〜Dにそれぞれ8Mbps、6Mbps、4Mbps、2Mbpsが割り当てられるように使用帯域の比率を決定する。
図8は、各動画コンテンツの使用帯域の比率の決定例を示す説明図である。図8では、異なる解像度の動画コンテンツの使用帯域の比率を決定する例が示されている。図8に示した例では、クライアント端末100は、解像度が256×144の動画コンテンツの使用帯域を1とした場合に、解像度が1024×576の動画コンテンツに対して16を割り当てている。図8に示した例では、クライアント端末100は、単に各コンテンツの面積比をそのまま比率として用いている。なお、解像度256×144の動画コンテンツであっても、例えばユーザが注目したい動画コンテンツが1つある場合、クライアント端末100は、その動画コンテンツの比率に2またはそれ以上の値を割り当て得る。
上記ステップS112で取得する各動画コンテンツの使用帯域の比率を決定すると、続いてクライアント端末100は、各動画コンテンツを取得する初期ビットレートを決定する(ステップS113)。このステップS113の処理は例えばレート情報決定部108が実行し得る。
上述したように、多くの場合では、この段階では利用可能なネットワーク10の帯域は未知であるので、クライアント端末100は、選択可能なビットレートの内、最低のビットレートを選択することが望ましい。もちろん利用可能なネットワーク10の帯域を予め知ることが出来れば、クライアント端末100は、上記ステップS112で決定した比率に基づいて各動画コンテンツを取得する初期ビットレートを決定しても良い。
上記ステップS113で各動画コンテンツを取得する初期ビットレートを決定すると、続いてクライアント端末100は、各動画コンテンツを取得するためのコンテンツ取得リストを作成する(ステップS114)。ステップS114の処理は、例えば制御部101が実行し得る。コンテンツ取得リストは、コンテンツ単位で、解像度、ビットレート、セグメントが指定されたリストである。
図9は、ステップS114で生成されるコンテンツ取得リストの例を示す説明図である。図9に示したコンテンツ取得リストでは、動画コンテンツA〜Dについて、解像度、ビットレート、取得セグメントの情報が記述されている。
上記ステップS114でコンテンツ取得リストを作成すると、続いてクライアント端末100は、動画コンテンツを配信する動画コンテンツサーバ2、3に対して、作成したコンテンツ取得リストに記したセグメントを要求する(ステップS115)。ステップS115の処理は、例えば制御部101が実行し得る。動画コンテンツサーバ2、3は、クライアント端末100からの要求に応じて、当該セグメントをクライアント端末100に送信する。クライアント端末100は、受信したセグメントをコンテンツバッファ部104a、104b、104c、・・・、104nに保持しておく。
動画コンテンツサーバ2、3から動画コンテンツのセグメントを受信したクライアント端末100は、デコードタイミングの動画コンテンツがあるかどうかを判断する(ステップS116)。ステップS116の処理は例えば制御部101が実行する。デコードタイミングの動画コンテンツがあれば、クライアント端末100は、コンテンツバッファ部104a、104b、104c、・・・、104nに保持したセグメントを取り出し(ステップS117)、デコードを実行する(ステップS118)。
続いてクライアント端末100は、セグメントを保持するバッファへの流入レートを計測する(ステップS119)。ステップS119の処理は、例えば伝送状態判定部107が実行し得る。伝送状態判定部107は、バッファへの流入レートを、例えば1セグメントの受信が完了するまでの時間と、そのセグメントのサイズを用いて、ビットレートをbpsの単位で算出することができる。
ステップS119でセグメントを保持するバッファへの流入レートを計測すると、クライアント端末100は、セグメントを保持するバッファへの流入レートが、一定期間、コンテンツ取得リストのビットレートの情報未満の動画コンテンツがあるかどうか判断する(ステップS120)。ステップS120の処理は制御部101が実行し得る。上述したように、コンテンツバッファ部104a、104b、104c、・・・、104nの出力側は動画コンテンツのビットレート情報に従ってデコーダが情報を定期的に引き出していくため、コンテンツバッファ部104a、104b、104c、・・・、104nの流入側の速度はネットワーク10の状況に応じて、動画コンテンツのビットレート情報より高くなったり低くなったりする。
ステップS120の判断の結果、一定期間、コンテンツ取得リストのビットレートの情報未満の動画コンテンツがあれば、クライアント端末100は、目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番小さい動画コンテンツを選択する(ステップS121)。このステップS121の処理は、例えばレート情報決定部108が実行し得る。
目標レートとは、クライアント端末100が取得する動画コンテンツ毎に算出される指標であり、取得中のコンテンツのビットレート情報の総和×動画コンテンツへの割当比率で求められる。
図10は、目標レートの算出例を示す説明図である。図10に示したのは、図7のように割り当て比率が決定された場合の、目標レートの算出例である。なお、各動画コンテンツの初期のビットレート情報として1.0Mbpsが選択されているものとする。この場合、各動画コンテンツのビットレート情報の総和は4.0Mbpsであるので、各動画コンテンツの目標レートは、図10に示したように算出される。
上記ステップS121で、目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番小さい動画コンテンツを選択すると、続いてクライアント端末100は、計測したバッファの流入レートをリセットし(ステップS122)、コンテンツ取得リストのビットレートよりさらに低いビットレートを、ステップS121で選択した動画コンテンツについて選択できるか判断する(ステップS123)。
ステップS123の判断の結果、コンテンツ取得リストのビットレートよりさらに低いビットレートを、ステップS121で選択した動画コンテンツについて選択できる場合は、クライアント端末100は、ステップS121で選択した動画コンテンツについて、現在のビットレートより低いビットレートを選択し、コンテンツ取得リストを更新する(ステップS124)。
一方、ステップS120の判断の結果、一定期間、コンテンツ取得リストのビットレートの情報未満の動画コンテンツが無ければ、続いてクライアント端末100は、一定期間、コンテンツ取得リストのビットレートの情報以上の動画コンテンツがあるかどうか判断する(ステップS125)。ステップS120の処理は制御部101が実行し得る。
ステップS125の判断の結果、一定期間、コンテンツ取得リストのビットレートの情報以上の動画コンテンツがあれば、クライアント端末100は、目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きい動画コンテンツを選択する(ステップS126)。このステップS126の処理は、例えばレート情報決定部108が実行し得る。
上記ステップS126で、目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きい動画コンテンツを選択すると、続いてクライアント端末100は、計測したバッファの流入レートをリセットし(ステップS127)、コンテンツ取得リストのビットレートよりさらに低いビットレートを、ステップS126で選択した動画コンテンツについて選択できるか判断する(ステップS128)。
ステップS128の判断の結果、コンテンツ取得リストのビットレートよりさらに高いビットレートを、ステップS126で選択した動画コンテンツについて選択できる場合は、クライアント端末100は、ステップS126で選択した動画コンテンツについて、現在のビットレートより高いビットレートを選択し、コンテンツ取得リストを更新する(ステップS129)。
クライアント端末100は、次のセグメントを選択するために、コンテンツ取得リストを更新する(ステップS130)。そしてクライアント端末100は、動画コンテンツの取得処理が終了するまで、一連の処理を継続する(ステップS131)。
図10に示したように目標レート及び差分レートが算出された場合、各動画コンテンツの取得レートが1Mbpsである時、動画コンテンツAは0.6Mbps、動画コンテンツBは0.2Mbps、それぞれ目標レートに対して不足しており、動画コンテンツCは0.2Mbps、動画コンテンツDは0.6Mbps、それぞれ目標レートに対して超過していることが分かる。
各動画コンテンツの取得レートと目標レートが図10のような状態である場合では、上記ステップS126で動画コンテンツAが選択される。動画コンテンツAが選択されるのは、目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きいからである。
動画コンテンツAには2Mbpsのレート情報も存在する。従って、クライアント端末100はステップS129の処理で、動画コンテンツAについて現在のビットレートより高いビットレートとして2Mbpsを選択する。そしてクライアント端末100はステップS130の処理で、動画コンテンツAを新しいビットレートで取得する準備を実行する。
図11は、図10に示した状態から動画コンテンツAのビットレートを引き上げた場合の、目標レートと差分レートの値を示す説明図である。動画コンテンツAのビットレートを引き上げたので、ビットレート情報の総和は5Mbpsに変化する。そして各動画コンテンツの目標レート及び差分レートは、図11に示したように求められる。
図11に示したように目標レート及び差分レートが算出された場合、今度は目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きい動画コンテンツBが選択される。
動画コンテンツBには2Mbpsのレート情報も存在する。従って、クライアント端末100はステップS129の処理で、動画コンテンツBについて現在のビットレートより高いビットレートとして2Mbpsを選択する。そしてクライアント端末100はステップS130の処理で、動画コンテンツBを新しいビットレートで取得する準備を実行する。
図12は、図11に示した状態から動画コンテンツBのビットレートを引き上げた場合の、目標レートと差分レートの値を示す説明図である。動画コンテンツBのビットレートを引き上げたので、ビットレート情報の総和は6Mbpsに変化する。そして各動画コンテンツの目標レート及び差分レートは、図12に示したように求められる。
図12に示したように目標レート及び差分レートが算出された場合、今度は目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きい動画コンテンツAが再び選択される。
動画コンテンツAには3Mbpsのレート情報も存在する。従って、クライアント端末100はステップS129の処理で、動画コンテンツAについて現在のビットレートより高いビットレートとして3Mbpsを選択する。そしてクライアント端末100はステップS130の処理で、動画コンテンツAを新しいビットレートで取得する準備を実行する。
図13は、図12に示した状態から動画コンテンツAのビットレートを引き上げた場合の、目標レートと差分レートの値を示す説明図である。動画コンテンツAのビットレートを引き上げたので、ビットレート情報の総和は7Mbpsに変化する。そして各動画コンテンツの目標レート及び差分レートは、図13に示したように求められる。
図13に示したように目標レート及び差分レートが算出された場合、今度は目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きい動画コンテンツCが選択される。
動画コンテンツCには2Mbpsのレート情報も存在する。従って、クライアント端末100はステップS129の処理で、動画コンテンツCについて現在のビットレートより高いビットレートとして2Mbpsを選択する。そしてクライアント端末100はステップS130の処理で、動画コンテンツCを新しいビットレートで取得する準備を実行する。
図14は、図13に示した状態から動画コンテンツCのビットレートを引き上げた場合の、目標レートと差分レートの値を示す説明図である。動画コンテンツCのビットレートを引き上げたので、ビットレート情報の総和は8Mbpsに変化する。そして各動画コンテンツの目標レート及び差分レートは、図14に示したように求められる。
図14に示したように目標レート及び差分レートが算出された場合、今度は目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きい動画コンテンツBが再び選択される。
動画コンテンツBには3Mbpsのレート情報も存在する。従って、クライアント端末100はステップS129の処理で、動画コンテンツBについて現在のビットレートより高いビットレートとして3Mbpsを選択する。そしてクライアント端末100はステップS130の処理で、動画コンテンツBを新しいビットレートで取得する準備を実行する。
図15は、図14に示した状態から動画コンテンツBのビットレートを引き上げた場合の、目標レートと差分レートの値を示す説明図である。動画コンテンツBのビットレートを引き上げたので、ビットレート情報の総和は9Mbpsに変化する。そして各動画コンテンツの目標レート及び差分レートは、図15に示したように求められる。
図15に示したように目標レート及び差分レートが算出された場合、今度は目標レートから、コンテンツ取得リストのビットレートの情報を引いた値が一番大きい動画コンテンツAが三度選択される。
動画コンテンツAには4Mbpsのレート情報も存在する。従って、クライアント端末100はステップS129の処理で、動画コンテンツAについて現在のビットレートより高いビットレートとして4Mbpsを選択する。そしてクライアント端末100はステップS130の処理で、動画コンテンツAを新しいビットレートで取得する準備を実行する。
図16は、図15に示した状態から動画コンテンツAのビットレートを引き上げた場合の、目標レートと差分レートの値を示す説明図である。動画コンテンツAのビットレートを引き上げたので、ビットレート情報の総和は10Mbpsに変化する。そして各動画コンテンツの目標レート及び差分レートは、図16に示したように求められる。
図16では、全ての動画コンテンツの差分レートが0になった状態が示されている。従って、図16のように各動画コンテンツのビットレートが指定されていれば、各動画コンテンツのビットレートが、ステップS112において指定された割合となる。この図16のように各動画コンテンツのビットレートが指定されている状態において、ステップS119でレート計測を行なって、ステップS125で判断した結果、動画コンテンツのビットレートを更に上げることが可能であれば、クライアント端末100は、例えば割り当て比率が最も高い動画コンテンツAのビットレートをさらに上げる事が出来る。図17は、図16に示した状態から動画コンテンツAのビットレートをさらに引き上げた場合の、目標レートと差分レートの値を示す説明図である。
このように、目標レート及び差分レートを算出し、それらの差分が最も大きいものについてビットレートを上げていくことで、本開示の一実施形態に係るクライアント端末100は、効果的な動画コンテンツの表現を行うとともに、ネットワークの帯域を無駄に消費しないようにすることを可能にする。
なお上述の例では、目標レート及び差分レートを算出し、それらの差分が最も大きいものについてビットレートを上げて行く場合の例を示したが、本開示の一実施形態に係るクライアント端末100は、その逆についても同様の処理を実行し得る。つまり、本開示の一実施形態に係るクライアント端末100は、目標レート及び差分レートを算出し、それらの差分が最も小さいもの(差分レートが負の値となる場合は、その絶対値が最も大きいもの)についてビットレートを下げていくことが可能になる。
また上述の例では、全ての動画コンテンツのビットレートが1Mbps刻みで用意されている単純な場合を示したが、動画コンテンツのビットレートが様々な形態で用意されている場合にも本実施形態での考え方を適用可能であることは言うまでもない。
例えば、動画コンテンツAのビットレートが2Mbps刻みで用意され、動画コンテンツBのビットレートが100kbps刻みで用意されている場合を考える。この場合、目標レート及び差分レートを算出し、それらの差分が最も大きいものが動画コンテンツAであったとして、動画コンテンツAのビットレートを2Mbps引き上げると、ネットワーク10の帯域に余裕が無くなってしまうことが考えられる。
従ってクライアント端末100は、ビットレートの総和の変動が小さくなるようにビットレートを変化させる動画コンテンツを選択しうる。上述の例では、クライアント端末100は、目標レート及び差分レートを算出し、それらの差分が最も大きいものが動画コンテンツAであったとしても、動画コンテンツAではなく動画コンテンツBのビットレートを引き上げるようにしてもよい。
[クライアント端末の変形例]
図18は、本開示の一実施形態に係るクライアント端末100の変形例を示す説明図である。図18に示したクライアント端末100は、図5に示したクライアント端末100に、符号化ストリームデコード部105と、アプリケーション部106と、が追加されたものである。
図18は、本開示の一実施形態に係るクライアント端末100の変形例を示す説明図である。図18に示したクライアント端末100は、図5に示したクライアント端末100に、符号化ストリームデコード部105と、アプリケーション部106と、が追加されたものである。
符号化ストリームデコード部105は、制御部101の制御により、コンテンツバッファ部104a、104b、104c、・・・、104nに保持されている符号化ストリームを取り出してデコードする。符号化ストリームデコード部105は、符号化ストリームを取り出してデコードすることで動画コンテンツをアプリケーション部106に出力し得る。
アプリケーション部106は、制御部101の制御により、符号化ストリームデコード部105が出力する動画コンテンツに関する処理を実行する。アプリケーション部106が実行する処理として、例えば符号化ストリームデコード部105が出力する動画コンテンツの合成及び再生、符号化ストリームデコード部105が出力する動画コンテンツの、他の装置への送信等がある。
クライアント端末100は、図18に示したような構成を有することで、効果的な動画コンテンツの再生を行うとともに、ネットワークの帯域を無駄に消費しないようにすることを可能にする。
<2.まとめ>
以上説明したように本開示の一実施形態によれば、動画コンテンツサーバ2、3から複数の動画コンテンツを受信して、同時に再生するクライアント端末100を提供することができる。本開示の一実施形態に係るクライアント端末100は、動画コンテンツサーバ2、3から複数の動画コンテンツを受信する際に、予め各動画コンテンツへのビットレートの割り当て比率を決定する。
以上説明したように本開示の一実施形態によれば、動画コンテンツサーバ2、3から複数の動画コンテンツを受信して、同時に再生するクライアント端末100を提供することができる。本開示の一実施形態に係るクライアント端末100は、動画コンテンツサーバ2、3から複数の動画コンテンツを受信する際に、予め各動画コンテンツへのビットレートの割り当て比率を決定する。
そして本開示の一実施形態に係るクライアント端末100は、各動画コンテンツの目標レートと実際のレートとの差分の情報を用いて、動画コンテンツのビットレートを変更して動画コンテンツサーバ2、3から受信する。本開示の一実施形態に係るクライアント端末100は、各動画コンテンツの目標レートと実際のレートとの差分が無くなるまでビットレートの変更を繰り返して実行する。
本開示の一実施形態に係るクライアント端末100は、効果的な動画コンテンツの再生を行うとともに、ネットワークの帯域を無駄に消費しないようにすることを可能にする。本開示の一実施形態に係るクライアント端末100は、例えば、表示解像度が高いものには相対的に高いレート、低いものには相対的に低いレートを割り当てることで、効果的なコンテンツの表現を行うとともに、ネットワークの帯域を無駄に消費しないようにすることを可能にする。
また本開示の一実施形態に係るクライアント端末100は、例えば、同一の解像度であっても、表示エリアによって異なる比率を割り当てる事で、ユーザに注目させたい場所等に表示される特定の動画コンテンツの表示品質を上げることも出来る。また本開示の一実施形態に係るクライアント端末100は、ネットワークの帯域が変動する環境においても、割り当てた比率の帯域に従うよう動画コンテンツの取得を実行する。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1)
ネットワークを通じて配信されるコンテンツを同時に複数取得するコンテンツ取得部と、
前記コンテンツ取得部が取得した前記コンテンツごとに割り当てる帯域を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定する帯域幅決定部と、
を備える、映像処理装置。
(2)
前記帯域幅決定部は、前記コンテンツ取得部が取得した複数の前記コンテンツを1つの画面に表示する際の各前記コンテンツの表示面積比を用いて前記コンテンツごとに割り当てる帯域を決定する、前記(1)に記載の映像処理装置。
(3)
前記コンテンツ取得部が取得する前記コンテンツの実際の取得帯域幅を計測する帯域幅計測部を更に備え、
前記帯域幅決定部は、前記帯域幅計測部が計測した取得帯域幅を満たすよう前記コンテンツごとに割り当てる帯域を決定する、前記(1)または(2)に記載の映像処理装置。
(4)
前記帯域幅決定部は、前記コンテンツ毎に実際の取得帯域幅と、前記比率に基づいて算出される目標帯域幅との差分を求め、前記差分が最も大きい前記コンテンツの帯域幅を変更する、前記(3)に記載の映像処理装置。
(5)
前記帯域幅計測部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅以上のものがあるかを判断し、
前記帯域幅決定部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅以上のものがあれば、前記差分が最も大きい前記コンテンツの帯域幅を高いものに変更する、前記(4)に記載の映像処理装置。
(6)
前記帯域幅計測部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅未満のものがあるかを判断し、
前記帯域幅決定部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅未満のものがあれば、前記差分が最も大きい前記コンテンツの帯域幅を低いものに変更する、前記(4)に記載の映像処理装置。
(7)
前記帯域幅決定部は、同一の前記コンテンツに対して用意された複数の帯域幅の中から1つの帯域幅を選択することで前記コンテンツごとに割り当てる帯域幅を決定する、前記(1)〜(6)のいずれかに記載の映像処理装置。
(8)
前記コンテンツ取得部が取得した複数のコンテンツを、復号前に合成するコンテンツ合成部を更に備える、前記(1)〜(7)のいずれかに記載の映像処理装置。
(9)
ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、
前記取得するステップで取得した前記コンテンツごとに割り当てる帯域を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、
を備える、映像処理方法。
(10)
コンピュータに、
ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、
前記取得するステップで取得した前記コンテンツごとに割り当てる帯域を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、
を実行させる、コンピュータプログラム。
(1)
ネットワークを通じて配信されるコンテンツを同時に複数取得するコンテンツ取得部と、
前記コンテンツ取得部が取得した前記コンテンツごとに割り当てる帯域を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定する帯域幅決定部と、
を備える、映像処理装置。
(2)
前記帯域幅決定部は、前記コンテンツ取得部が取得した複数の前記コンテンツを1つの画面に表示する際の各前記コンテンツの表示面積比を用いて前記コンテンツごとに割り当てる帯域を決定する、前記(1)に記載の映像処理装置。
(3)
前記コンテンツ取得部が取得する前記コンテンツの実際の取得帯域幅を計測する帯域幅計測部を更に備え、
前記帯域幅決定部は、前記帯域幅計測部が計測した取得帯域幅を満たすよう前記コンテンツごとに割り当てる帯域を決定する、前記(1)または(2)に記載の映像処理装置。
(4)
前記帯域幅決定部は、前記コンテンツ毎に実際の取得帯域幅と、前記比率に基づいて算出される目標帯域幅との差分を求め、前記差分が最も大きい前記コンテンツの帯域幅を変更する、前記(3)に記載の映像処理装置。
(5)
前記帯域幅計測部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅以上のものがあるかを判断し、
前記帯域幅決定部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅以上のものがあれば、前記差分が最も大きい前記コンテンツの帯域幅を高いものに変更する、前記(4)に記載の映像処理装置。
(6)
前記帯域幅計測部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅未満のものがあるかを判断し、
前記帯域幅決定部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅未満のものがあれば、前記差分が最も大きい前記コンテンツの帯域幅を低いものに変更する、前記(4)に記載の映像処理装置。
(7)
前記帯域幅決定部は、同一の前記コンテンツに対して用意された複数の帯域幅の中から1つの帯域幅を選択することで前記コンテンツごとに割り当てる帯域幅を決定する、前記(1)〜(6)のいずれかに記載の映像処理装置。
(8)
前記コンテンツ取得部が取得した複数のコンテンツを、復号前に合成するコンテンツ合成部を更に備える、前記(1)〜(7)のいずれかに記載の映像処理装置。
(9)
ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、
前記取得するステップで取得した前記コンテンツごとに割り当てる帯域を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、
を備える、映像処理方法。
(10)
コンピュータに、
ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、
前記取得するステップで取得した前記コンテンツごとに割り当てる帯域を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、
を実行させる、コンピュータプログラム。
2、3 動画コンテンツサーバ
100 クライアント端末
101 制御部
102 ネットワーク送受信部
103 符号化ストリーム分別部
104a、104b、104c、・・・、104n コンテンツバッファ部
105 符号化ストリームデコード部
106 アプリケーション部
107 伝送状態判定部
108 レート情報決定部
100 クライアント端末
101 制御部
102 ネットワーク送受信部
103 符号化ストリーム分別部
104a、104b、104c、・・・、104n コンテンツバッファ部
105 符号化ストリームデコード部
106 アプリケーション部
107 伝送状態判定部
108 レート情報決定部
Claims (10)
- ネットワークを通じて配信されるコンテンツを同時に複数取得するコンテンツ取得部と、
前記コンテンツ取得部が取得した前記コンテンツごとに割り当てる帯域を、同時に取得する前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定する帯域幅決定部と、
を備える、映像処理装置。 - 前記帯域幅決定部は、前記コンテンツ取得部が取得した複数の前記コンテンツを1つの画面に表示する際の各前記コンテンツの表示面積比を用いて前記コンテンツごとに割り当てる帯域を決定する、請求項1に記載の映像処理装置。
- 前記コンテンツ取得部が取得する前記コンテンツの実際の取得帯域幅を計測する帯域幅計測部を更に備え、
前記帯域幅決定部は、前記帯域幅計測部が計測した取得帯域幅を満たすよう前記コンテンツごとに割り当てる帯域を決定する、請求項1に記載の映像処理装置。 - 前記帯域幅決定部は、前記コンテンツ毎に実際の取得帯域幅と、前記比率に基づいて算出される目標帯域幅との差分を求め、前記差分が最も大きい前記コンテンツの帯域幅を変更する、請求項3に記載の映像処理装置。
- 前記帯域幅計測部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅以上のものがあるかを判断し、
前記帯域幅決定部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅以上のものがあれば、前記差分が最も大きい前記コンテンツの帯域幅を高いものに変更する、請求項4に記載の映像処理装置。 - 前記帯域幅計測部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅未満のものがあるかを判断し、
前記帯域幅決定部は、所定の期間継続して、複数の前記コンテンツの流入レートの内、あらかじめ各前記コンテンツで指定された帯域幅未満のものがあれば、前記差分が最も大きい前記コンテンツの帯域幅を低いものに変更する、請求項4に記載の映像処理装置。 - 前記帯域幅決定部は、同一の前記コンテンツに対して用意された複数の帯域幅の中から1つの帯域幅を選択することで前記コンテンツごとに割り当てる帯域幅を決定する、請求項1に記載の映像処理装置。
- 前記コンテンツ取得部が取得した複数のコンテンツを、復号前に合成するコンテンツ合成部を更に備える、請求項1に記載の映像処理装置。
- ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、
前記取得するステップで取得した前記コンテンツごとに割り当てる帯域幅を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、
を備える、映像処理方法。 - コンピュータに、
ネットワークを通じて配信されるコンテンツを同時に複数取得するステップと、
前記取得するステップで取得した前記コンテンツごとに割り当てる帯域幅を、同時に取得される前記複数のコンテンツの全体で使用する帯域幅に対する前記コンテンツごとの比率を用いて決定するステップと、
を実行させる、コンピュータプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013064016A JP2014192566A (ja) | 2013-03-26 | 2013-03-26 | 映像処理装置、映像処理方法およびコンピュータプログラム |
US14/211,062 US20140298394A1 (en) | 2013-03-26 | 2014-03-14 | Image processing device, image processing method, and computer program |
CN201410102506.3A CN104079954A (zh) | 2013-03-26 | 2014-03-19 | 图像处理装置、图像处理方法和计算机程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013064016A JP2014192566A (ja) | 2013-03-26 | 2013-03-26 | 映像処理装置、映像処理方法およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014192566A true JP2014192566A (ja) | 2014-10-06 |
Family
ID=51600961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013064016A Pending JP2014192566A (ja) | 2013-03-26 | 2013-03-26 | 映像処理装置、映像処理方法およびコンピュータプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140298394A1 (ja) |
JP (1) | JP2014192566A (ja) |
CN (1) | CN104079954A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150085875A1 (en) * | 2013-09-25 | 2015-03-26 | Ericsson Television Inc | Adaptive video white spot learning and user bandwidth delivery control system |
JP2018160805A (ja) * | 2017-03-23 | 2018-10-11 | Kddi株式会社 | 画質情報でセグメント受信を制御するクライアント、システム、プログラム及び方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017157903A (ja) | 2016-02-29 | 2017-09-07 | 富士ゼロックス株式会社 | 情報処理装置 |
US20190394509A1 (en) * | 2017-01-19 | 2019-12-26 | Sony Interactive Entertainment Inc. | Image delivery apparatus |
WO2018134946A1 (ja) | 2017-01-19 | 2018-07-26 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、及び画像表示制御装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI106421B (fi) * | 1999-03-11 | 2001-01-31 | Nokia Multimedia Network Termi | Menetelmä ja järjestely videokuvien yhdistämiseksi |
US7796519B2 (en) * | 2001-09-10 | 2010-09-14 | Nippon Telegraph And Telephone Corporation | Dynamic bandwidth allocation circuit, dynamic bandwidth allocation method, optical network unit, PON system, dynamic bandwidth allocation program and recording medium |
US8189472B2 (en) * | 2005-09-07 | 2012-05-29 | Mcdonald James F | Optimizing bandwidth utilization to a subscriber premises |
US8719871B2 (en) * | 2009-10-06 | 2014-05-06 | Verizon Patent And Licensing Inc. | Method and apparatus for utilizing dynamic bandwidth allocation for recording content |
US8451994B2 (en) * | 2010-04-07 | 2013-05-28 | Apple Inc. | Switching cameras during a video conference of a multi-camera mobile device |
-
2013
- 2013-03-26 JP JP2013064016A patent/JP2014192566A/ja active Pending
-
2014
- 2014-03-14 US US14/211,062 patent/US20140298394A1/en not_active Abandoned
- 2014-03-19 CN CN201410102506.3A patent/CN104079954A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150085875A1 (en) * | 2013-09-25 | 2015-03-26 | Ericsson Television Inc | Adaptive video white spot learning and user bandwidth delivery control system |
US9444870B2 (en) * | 2013-09-25 | 2016-09-13 | Ericsson Ab | Adaptive video white spot learning and user bandwidth delivery control system |
JP2018160805A (ja) * | 2017-03-23 | 2018-10-11 | Kddi株式会社 | 画質情報でセグメント受信を制御するクライアント、システム、プログラム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140298394A1 (en) | 2014-10-02 |
CN104079954A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230283653A1 (en) | Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming | |
US10757453B2 (en) | Distributed multi-datacenter video packaging system | |
RU2728534C2 (ru) | Устройство обработки информации и способ обработки информации | |
JP6419848B2 (ja) | 帯域幅最適化のための適応的データセグメント配信調停 | |
US10708667B1 (en) | Combining fragments with different encodings | |
US20100049864A1 (en) | Multimedia broadcast system and method | |
GB2492538A (en) | A device specific, adaptive bit-rate method for streaming audio video content | |
US11017517B2 (en) | Method and apparatus for allocating differential bandwidth for each screen region by using image complexity information | |
US20190158899A1 (en) | Information processing apparatus, control method of the same, and storage medium | |
JP2014192566A (ja) | 映像処理装置、映像処理方法およびコンピュータプログラム | |
US20200351559A1 (en) | Distribution device, distribution method, reception device, reception method, program, and content distribution system | |
AU2018250308B2 (en) | Video compression using down-sampling patterns in two phases | |
US11563990B2 (en) | Method and apparatus for automatic HLS bitrate adaptation | |
JP2015002513A (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム | |
JP6793526B2 (ja) | 動画配信システム、配信サーバ、及びプログラム | |
JP6891497B2 (ja) | 情報処理装置、情報処理システム及びプログラム | |
US12022137B1 (en) | Managing supplemental content in content delivery systems | |
JP2017157904A (ja) | 情報処理装置 | |
JP2019029931A (ja) | 映像送信装置、映像受信装置、映像送受信システム、制御方法、並びにプログラム | |
Kim et al. | Context-aware multimedia quality adaptation for smart streaming | |
Adhau et al. | An Empirical Analysis of Video Streaming and Congestion Control Models from a Pragmatic Perspective | |
JP2008306273A (ja) | 動画像提供システム、方法、装置、プログラム | |
Adhau et al. | An Empirical Analysis of Video Streaming and Congestion Control | |
EP3376769A1 (en) | Systems and methods for adaptive streaming using jpeg 2000 | |
JP2016019140A (ja) | コンテンツ転送方法、コンテンツ転送装置、コンテンツ受信装置およびコンテンツ転送プログラム |