JP5838925B2 - 通信システム、端末装置、動画の表示方法、及びプログラム - Google Patents

通信システム、端末装置、動画の表示方法、及びプログラム Download PDF

Info

Publication number
JP5838925B2
JP5838925B2 JP2012146948A JP2012146948A JP5838925B2 JP 5838925 B2 JP5838925 B2 JP 5838925B2 JP 2012146948 A JP2012146948 A JP 2012146948A JP 2012146948 A JP2012146948 A JP 2012146948A JP 5838925 B2 JP5838925 B2 JP 5838925B2
Authority
JP
Japan
Prior art keywords
image data
moving image
divided
determined
constituting
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.)
Active
Application number
JP2012146948A
Other languages
English (en)
Other versions
JP2014011622A (ja
Inventor
建太郎 牛山
建太郎 牛山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2012146948A priority Critical patent/JP5838925B2/ja
Priority to EP13808486.8A priority patent/EP2869581A4/en
Priority to PCT/JP2013/067323 priority patent/WO2014002978A1/ja
Publication of JP2014011622A publication Critical patent/JP2014011622A/ja
Priority to US14/584,124 priority patent/US20150113582A1/en
Application granted granted Critical
Publication of JP5838925B2 publication Critical patent/JP5838925B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、解像度の異なる複数の画像データを配信するシステムに関する。
従来、例えばストリーミング配信において、ネットワーク環境に応じて送信する画像の解像度を変更する技術が知られている(特許文献1参照)。例えば特許文献1において、ネットワーク環境が良い場合、送信装置は、標準解像度よりも高解像度の画像データを受信端末へ送信する。一方、ネットワーク環境が悪い場合、送信装置は、標準解像度の画像データを受信端末へ送信する。また、標準解像度の画像データを受信した受信端末の負荷が低い場合、受信端末は、標準解像度の画像データを高解像度の画像データにアップスケールする。
特開2009−290691号公報
しかしながら、特許文献1の技術では、例えばネットワーク帯域が狭い場合、高解像度の画像を表示することは困難であった。この場合、受信端末が、標準解像度の画像データを高解像度の画像データをアップスケールしなければならなかった。そのため、特許文献1の技術では、ネットワーク帯域の余裕度に応じて、低解像度と高解像度の画像を柔軟に表示することは困難であった。
また、特許文献1の技術では、例えばネットワーク帯域が広く、受信端末のCPU負荷が低い場合、受信端末は、送信装置から高解像度の画像データを受信することができる。しかしながら、受信端末の描画能力等の性能が低いため、高解像度の画像データを迅速に表示できない場合がある。この場合、特許文献1の技術では、受信端末の性能に応じて、低解像度と高解像度の画像を柔軟に表示することは困難である。
本発明は、以上の点に鑑みてなされたものであり、ネットワーク帯域の余裕度または端末の性能に応じて、低解像度と高解像度の画像を柔軟に表示することが可能な通信システム、端末装置、動画の表示方法、及びプログラムを提供する。
上記課題を解決するために、請求項1に記載の発明は、端末装置とサーバ装置とがネットワークを介して通信可能な通信システムであって、前記サーバ装置は、表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶する記憶手段を備え、少なくとも前記第2の動画データは、前記第2の動画データを構成する画像フレームを分割した複数の分割画像データにより構成され、前記端末装置は、前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させる第1制御手段と、前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定する第1決定手段と、前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記第1決定手段により決定された分割画像データを表示させる第2制御手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の通信システムにおいて、前記第2制御手段は、前記第1の動画データを構成する画像フレームの表示範囲の一部を、前記第1決定手段により決定された分割画像データに置き換えて表示させることを特徴とする。
請求項3に記載の発明は、請求項1または2に記載の通信システムにおいて、前記端末装置は、画像フレームを書き込むフレームバッファをさらに備え、前記第2制御手段は、前記第1決定手段により決定された前記分割画像データを取得する取得処理と、取得された前記分割画像データにより構成される画像フレームを前記フレームバッファに書き込む第1の書き込み処理と、前記第1の書き込みにより書き込まれなかった前記フレームバッファの書き込み領域に、前記第1制御手段により取得された前記第1の動画データを構成する画像フレームを書き込む第2の書き込み処理と、前記第1及び第2の書き込み処理により前記フレームバッファに書き込まれた画像フレームを表示させる表示処理と、を実行することを特徴とする。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の通信システムにおいて、前記第1制御手段は、前記第1の動画データを構成する画像フレームを1又は複数含むブロックごとに所定の時間単位で区切られた前記動画データを前記サーバ装置から順次取得し、前記ブロックごとに取得された前記動画データに基づいて動画を表示させ、前記第1決定手段は、前記ブロックごとの前記動画データが取得されるごとに前記取得対象となる前記分割画像データを決定することを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の通信システムにおいて、前記記憶手段に記憶された複数の動画データの中で、前記解像度が高く、且つ、ディスプレイへの表示範囲の中に前記画像フレームに占める割合が高い前記動画データを優先して、前記第1の動画データとして決定する第2決定手段を備え、前記第1制御手段は、前記第2決定手段により決定された前記第1の動画データを構成する画像フレームを、前記第2の動画データを構成する複数の分割画像データよりも優先して前記サーバ装置から取得することを特徴とする。
請求項6に記載の発明は、請求項1乃至5の何れか一項に記載の通信システムにおいて、前記第1決定手段は、前記余裕度を示す値が大きいほど、または、前記性能を示す値が大きいほど、前記複数の分割画像データの中から取得対象となる前記分割画像データをより多く決定することを特徴とする。
請求項7に記載の発明は、請求項1乃至6の何れか一項に記載の通信システムにおいて、前記第1の動画データを構成する複数の画像フレームにおいて表示される範囲として指定された表示範囲を決定する第3決定手段を備え、前記第1決定手段は、前記第3決定手段により決定された表示範囲の中に画像フレームが占める割合が高い前記分割画像データを優先して決定することを特徴とする。
請求項8に記載の発明は、請求項1乃至6の何れか一項に記載の通信システムにおいて、前記第1の動画データを構成する複数の画像フレームにおいて表示される範囲として指定された表示範囲を決定する第3決定手段を備え、前記第1決定手段は、前記第3決定手段により決定された表示範囲の中心から所定範囲の領域で、且つ前記表示範囲より狭い領域を含む画像フレームを構成する前記分割画像データを優先して決定する。
請求項9に記載の発明は、表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶するサーバ装置であって、少なくとも前記第2の動画データを構成する画像フレームを分割した複数の分割画像データを記憶するサーバ装置とネットワークを介して通信可能な端末装置のコンピュータに、前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させるステップと、前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定するステップと、前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記決定された分割画像データを表示させるステップと、を実行させることを特徴とする。
請求項10に記載の発明は、表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶するサーバ装置であって、少なくとも前記第2の動画データを構成する画像フレームを分割した複数の分割画像データを記憶するサーバ装置とネットワークを介して通信可能な端末装置であって、前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させる第1制御手段と、前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定する第1決定手段と、前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記第1決定手段により決定された分割画像データを表示させる第2制御手段と、を備えることを特徴とする。
請求項11に記載の発明は、表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶するサーバ装置であって、少なくとも前記第2の動画データを構成する画像フレームを分割した複数の分割画像データを記憶するサーバ装置とネットワークを介して通信可能な端末装置により行われる動画の表示方法であって、前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させるステップと、前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定するステップと、前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記決定された分割画像データを表示させるステップと、を含むことを特徴とする。
請求項1、9〜11に記載の発明によれば、ネットワーク帯域の余裕度または端末の性能に応じて、低解像度と高解像度の画像を柔軟に表示することができる。
請求項2に記載の発明によれば、例えば高解像度の画像が取得できなかった領域についても、欠けのない画像を表示させることができる。
請求項3に記載の発明によれば、第1の動画データを構成する画像フレームの表示範囲の一部を、より効率良く分割画像データに置き換えて表示させることができる。
請求項4に記載の発明によれば、動画データの再生進行状況及び取得進行状況に応じて、各時点で最適な分割画像データを取得対象として決定することができる。
請求項5に記載の発明によれば、より広い表示範囲に、より高画質の画像を表示させることができる。
請求項6に記載の発明によれば、ネットワークの帯域の余裕度が大きいほど、または端末装置の性能が高いほど、より高画質の画像を表示させることができる。
請求項7に記載の発明によれば、より広い表示範囲に、高画質の画像を表示させることができる。
請求項8に記載の発明によれば、表示範囲の中心部分の領域を優先して、高画質の画像を表示させることができる。
本実施形態の通信システムSの概要構成例を示す図である。 各レイヤの動画データを構成する1画像フレームを示す図である。 クライアント2の制御部21におけるメイン処理を示すフローチャートである。 (A)は、クライアント2の制御部21におけるダウンロード処理を示すフローチャートである。(B)は、ブロック優先順決定処理により生成された取得対象リストの内容の一例を示す図である。 クライアント2の制御部21におけるブロック優先順決定処理を示すフローチャートである。 クライアント2の制御部21における再生処理を示すフローチャートである。 クライアント2の制御部21における画面描画処理を示すフローチャートである。 (A)は、レイヤ1の画像フレームにおける描画領域を示す図である。(B)は、レイヤ2の分割画像フレームにおける描画領域を示す図である。(C),(D)は、レイヤ1及びレイヤ2にける動画ストリームにおいて、取得対象候補となる動画データブロックが決定される様子を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
[1.通信システムSの構成及び動作概要]
始めに、図1等を参照して、本実施形態の通信システムの構成及び動作概要について説明する。図1は、本実施形態の通信システムSの概要構成例を示す図である。図1に示すように、通信システムSは、配信サーバ1、及びクライアント2を含んで構成される。配信サーバ1は、本発明のサーバ装置の一例である。クライアント2は、本発明の端末装置の一例である。なお、図1に示す例では、1つのクライアントを示しているが、実際にはこれより多くのクライアントが存在する。また、配信サーバ1とクライアント2とはネットワークNWを介して通信可能になっている。ネットワークNWは、例えば、インターネット、携帯通信網、及びゲートウェイ等により構成される。
配信サーバ1は、例えばクライアント2からのコンテンツのアップロードを受け付ける。アップロードされたコンテンツには、他のコンテンツから識別するためのコンテンツIDが付与される。コンテンツには、例えば動画データ及び音声データが含まれる。動画データは、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影されたデータである。なお、広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、360レンズ等がある。また、動画データは、複数のカメラにより同じ被写体が別の視点から撮影されたデータであってもよい。この場合、複数の動画データがコンテンツに含まれることになる。また、音声データは、複数のマイクによって集音されたデータであってもよい。この場合、複数の音声データがコンテンツに含まれることになる。
また、配信サーバ1は、例えばアップロードされたコンテンツに含まれる動画データに基づき、解像度の異なる複数の動画データを生成する。例えば、1つの動画データが複製され、低解像度から高解像度までの複数のレイヤごとに動画データが生成される。本実施形態では、レイヤ1〜レイヤ3の3つのレイヤを例にとるが、これに限定されるものではない。例えば、レイヤ1の動画データは、低解像度の動画データである。レイヤ2の動画データは、中解像度の動画データである。レイヤ3の動画データは、高解像度の動画データである。なお、低解像度又は中解像度の動画データは、表示対象を第1の解像度で表示する第1の動画データの一例である。また、中解像度又は高解像度の動画データは、表示対象を第1の解像度より高い第2の解像度で表示する第2の動画データの一例である。なお、表示対象は、カメラにより撮影される被写体である。
また、配信サーバ1は、レイヤ2の動画データを構成する画像フレームを分割して複数の分割画像データを生成する。つまり、画像フレーム全体の表示領域が分割される。これにより、レイヤ2の動画データは、レイヤ2の動画データを構成する画像フレームを分割した複数の分割画像データにより構成されることになる。さらに、配信サーバ1は、レイヤ3の動画データを構成する画像フレームを分割して複数の分割画像データを生成する。図2は、各レイヤの動画データを構成する1画像フレームを示す図である。図2の例では、レイヤ1の1画像フレームあたりのピクセル数は、1M(メガ)ピクセルである。また、レイヤ2の1画像フレームあたりのピクセル数は、4Mピクセルである。また、レイヤ3の1画像フレームあたりのピクセル数は、16Mピクセルである。そして、図2の例では、レイヤ2の画像フレームは4等分に分割されている。つまり、レイヤ2の1画像フレームから、パート1から4までの4つの画像フレームが得られる。このように分割された画像フレームを、「分割画像フレーム」という。一方、レイヤ3の1画像フレームは16等分に分割されている。このように分割された1分割画像フレームあたりのピクセル数は、1Mピクセルである。つまり、図2の例では、レイヤ2及びレイヤ3それぞれの分割画像フレームのピクセル数は、レイヤ1の画像フレームのピクセル数と同一となる。
画像フレームの分割は、動画データを構成する複数の画像フレームであり、且つ再生時刻が互いに異なる複数の画像フレームごとに行われる。再生時刻とは、例えば動画データの再生開始からの経過時間である。そして、上述したパートごとに、複数の分割画像データが纏められて動画データが生成される。図2の例では、レイヤ2の動画データは4つ生成される。一方、レイヤ3の動画データは16つ生成される。このように生成された動画データは、それぞれ、MPEG等の所定の圧縮形式で圧縮されて動画ファイルに格納される。動画ファイルには、他の動画ファイルと区別可能なファイル名が付与される。一方、図2に示すレイヤ1では、分割されていない動画データが、所定の圧縮方式で圧縮されて動画ファイルに格納される。なお、レイヤ1の動画データの画像フレームについても、分割されるように構成してもよい。また、図2の例では、画像フレームが格子状に分割されるように構成したが、その他の形状に分割されてもよい。また、図2の例では、同じレイヤにおける各分割フレーム全体の表示領域の面積が均等になるように分割されているが、不均等になるように分割されてもよい。
また、配信サーバ1は、記憶装置11を備える。記憶装置11は、本発明における記憶手段の一例である。記憶装置11は、例えばハードディスクドライブ(HDD)により構成される。記憶装置11は、クライアント2からの要求に応じて、クライアント2へ送信されるWebページのデータが記憶される。さらに、記憶装置11には、動画ファイル記憶領域11a、音声ファイル記憶領域11b、メタファイル記憶領域11c、及びワークファイル記憶領域11dが設けられている。動画ファイル記憶領域11aには、上述した複数の動画ファイルが記憶される。動画ファイル記憶領域11aに記憶された動画ファイルは、配信サーバ1にアクセス可能な複数のクライアント間で共有することができる。音声ファイル記憶領域11bには、複数の音声ファイルが記憶される。音声ファイルには、コンテンツに含まれる音声データが所定の圧縮形式で圧縮されて格納される。音声ファイルには、他の音声ファイルと区別可能なファイル名が付与される。音声ファイル記憶領域11bに記憶された音声ファイルは、配信サーバ1にアクセス可能な複数のクライアント間で共有することができる。
メタファイル記憶領域11cには、コンテンツのメタファイルが記憶される。メタファイルには、他のメタファイルと区別可能なファイル名が付与される。メタファイルのファイル名には、メタファイルであることを示す識別子が含まれる。そして、メタファイルには、上述した動画データ及び音声データを例えばクライアント2が再生するために必要なメタ情報が格納される。メタ情報には、例えば、メタファイルのURL、コンテンツID、コンテンツ名、レイヤ数、レイヤごとの画像フレームの分割数、各動画ファイルの属性情報及び記憶場所、並びに音声ファイルの属性情報及び記憶場所等が含まれる。記憶場所は、例えばURLで示される。メタ情報に含まれるコンテンツIDやコンテンツ名により、メタファイルは動画データに対応付けられる。動画ファイルの属性情報には、動画ファイルのファイル名、動画ファイルのファイルサイズ、動画ファイルに格納される動画データのレイヤ、解像度、及び1画像フレームあたりのピクセル数等の情報が含まれる。ここで、動画ファイルに、複数の分割画像データを含む動画データが格納される場合がある。この場合、動画ファイルの属性情報には、動画ファイルのファイル名、動画データのレイヤ、解像度、及び分割元の画像フレームに対する座標位置等の情報が含まれる。音声ファイルの属性情報には、音声ファイルのファイル名、及び音声ファイルのファイルサイズ(データ量)等が含まれる。なお、アップロードされたコンテンツに複数の音声データが含まれる場合ある。例えば、この場合のメタ情報には、各音声ファイルの属性情報及び記憶場所が含まれる。この場合の音声ファイルの属性情報には、音声データを集音したマイクの設置位置の情報等が含まれる。また、メタ情報には、動画データを補正するための補正パラメータが含まれる場合もある。動画データが魚眼レンズにより撮影された場合、補正パラメータには、対角線画角、及びアスペクト比等が含まれる。一方、動画データが360レンズにより撮影された場合、補正パラメータには、最大仰俯角、及び最小仰俯角等が含まれる。さらに、メタ情報には、動画データの再生に関して例えばユーザによる操作を制限する操作制限情報が含まれる場合もある。操作制限情報は、例えばコンテンツをアップロードする公開者等の指示に基づき設定される。メタファイル記憶領域11cに記憶されたメタファイルは、配信サーバ1にアクセス可能な複数のクライアント間で共有することができる。
ワークファイル記憶領域11dには、コンテンツのワークファイルが記憶される。ワークファイルには、他のワークファイルと区別可能なファイル名が付与される。ワークファイルのファイル名には、ワークファイルであることを示す識別子が含まれる。そして、ワークファイルには、例えば、メタファイルのURL、コンテンツID、コンテンツ名、及び動画データを構成する画像フレームにおける表示対象に対する疑似的なカメラワークに関するワーク情報等が格納される。ワーク情報は、本発明の編集データの一例である。カメラワークとは、撮影者がカメラを動かすことで、カメラの被写体に対する位置、カメラの被写体に対する角度、及び被写体のサイズを決める動作をいう。本実施形態では、動画データを構成する複数の画像フレームにおける表示対象に対するカメラワークをユーザがあたかも実際のカメラを動かすように操作部を操作して疑似的に行う。このような操作を、「疑似カメラワーク操作」という。疑似カメラワーク操作により、ユーザは、動画データを構成する複数の画像フレームにおいて所望の表示範囲を指定することができる。表示範囲は、画像フレームにおいてディスプレイの画面に描画される描画領域に関する範囲である。描画領域は、画像フレームにおいて表示される範囲として指定される。言い換えれば、描画領域は、画像フレームで画定される撮影範囲から切り出される範囲である。ユーザは、疑似カメラワーク操作により、描画領域の画像フレームに対する座標位置を、画像フレームごとに異なるように指定することができる。また、ユーザは、疑似カメラワーク操作により、描画領域の画像フレームに対するサイズを拡大または縮小することができる。これにより、描画領域内の画像を拡大または縮小することできる。なお、上記ワーク情報には、例えば、画像フレームにおいて指定された描画領域の画像フレームに対する座標位置と、この画像フレームの再生位置とのセットを、描画領域が指定された画像フレームごとに含まれる。再生位置とは、動画データの再生開始からの時間的な位置をいう。なお、描画領域の座標位置は、画像フレームに対する座標位置である。ワークファイル記憶領域11dに記憶されたワークファイルは、配信サーバ1にアクセス可能な複数のクライアント間で共有することができる。
そして、配信サーバ1は、例えばクライアント2からのコンテンツの要求に応じて、コンテンツに対応する動画ファイル及び音声ファイルをクライアント2へ送信する。動画ファイル及び音声ファイルの送信は、例えばネットワークNWを介してストリーミング配信により行われる。この場合、配信サーバ1は、動画ファイルに格納された動画データに基づき動画ストリームを動画ファイルごとに生成する。動画ストリームは、複数の動画データブロックから構成される。動画データブロックは、動画データの先頭位置から終了位置までが所定の時間単位で区切られたデータである。各動画データブロックには、1又は複数の画像フレームが含まれる。また、配信サーバ1は、音声ファイルに格納された音声データに基づき音声ストリームを音声ファイルごとに生成する。音声ストリームは、複数の音声データブロックから構成される。音声データブロックは、音声データの先頭位置から終了位置までが所定の時間単位で区切られたデータである。そして、配信サーバ1は、生成した動画ストリームに含まれる動画データブロックを順次、クライアント2へ送信する。また、配信サーバ1は、生成した音声ストリームに含まれる音声データブロックを順次、クライアント2へ送信する。
次に、クライアント2は、図1に示すように、制御部21、記憶部22、ビデオRAM23、映像制御部24、操作処理部25、音声制御部26、インターフェース部27、及びバス28等を備えて構成される。これらの構成要素は、バス28に接続されている。映像制御部24には、ディスプレイを備える表示部24aが接続される。操作処理部25には、操作部25aが接続される。操作部25aには、例えば、マウス、キーボード、リモコン等がある。制御部21は、ユーザによる操作部25aからの操作指示を、操作処理部25を介して受け付ける。ユーザは、操作部25aを用いて、上述した疑似カメラワーク操作を行うことができる。音声制御部26には、スピーカ26aが接続される。インターフェース部27は、ネットワークNWに接続される。
制御部21は、コンピュータとしてのCPU、ROM、及びRAM等により構成される。制御部21は、タイマー機能を備える。制御部21は、本発明の第1制御手段、第2制御手段、第1決定手段、第2決定手段、及び第3決定手段の一例である。記憶部22は、例えば、例えばハードディスクドライブ(HDD)により構成される。記憶部22には、OS(Operating System)、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツを再生するためのプログラムである。プレイヤーソフトウェアには、本発明のプログラムが含まれる。なお、プレイヤーソフトウェアは、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、プレイヤーソフトウェアは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
制御部21は、プレイヤーソフトウェアを実行することでコンテンツを再生するプレイヤーとして機能する。制御部21はプレイヤーの機能により、配信サーバ1からストリーミング配信された動画データブロック及び音声データブロックを順次取得し、動画データブロック及び音声データブロックに基づいてコンテンツを再生させる。より具体的には、 制御部21におけるRAMにはバッファメモリが設けられている。バッファメモリには、配信サーバ1からストリーミング配信された動画データブロック及び音声データブロックが一時的に保持される。制御部21は、バッファメモリから動画データを再生してビデオRAM23へ出力する。ビデオRAM23にはフレームバッファが設けられている。フレームバッファには再生された動画データの画像フレームが書き込まれる。映像制御部24は、制御部21からの制御信号に従って、フレームバッファに書き込まれた画像フレームを、表示部24aにおけるディスプレイの画面に描画することで表示させる。つまり、制御部21は、配信サーバ1から取得された動画データを構成する画像フレームに基づいて、動画を表示させる。また、制御部21は、バッファメモリから音声データを再生して音声制御部26へ出力する。音声制御部26は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ26aへ出力する。
[2.通信システムSの動作]
次に、図3〜図7等を参照して、通信システムSの動作について説明する。図3は、クライアント2の制御部21におけるメイン処理を示すフローチャートである。図4(A)は、クライアント2の制御部21におけるダウンロード処理を示すフローチャートである。図5は、クライアント2の制御部21におけるブロック優先順決定処理を示すフローチャートである。図6は、クライアント2の制御部21における再生処理を示すフローチャートである。図7は、クライアント2の制御部21における画面描画処理を示すフローチャートである。
(2−1.メイン処理)
先ず、図3等を参照して、クライアント2の制御部21におけるメイン処理を説明する。例えばクライアント2においてプレイヤーソフトウェアが起動すると、クライアント2はページリクエストを配信サーバ1へ送信する。そして、クライアント2は、ページリクエストに応じて配信サーバ1から送信されたWebページを受信して表示部24aにおけるディスプレイに表示する。このWebページには、例えば、コンテンツの情報が選択可能に表示される。Webページに表示されるコンテンツの情報は、配信サーバ1にアップロードされた複数のコンテンツの中の一部のコンテンツの情報である。例えば、例えばユーザに推奨されるコンテンツの情報、またはユーザにより入力されたキーワードに基づき検索されたコンテンツの情報が該当する。コンテンツの情報には、例えば、コンテンツIDやコンテンツ名が含まれる。そして、ユーザが操作部25aを操作して再生対象のコンテンツの情報を選択すると、選択されたコンテンツの情報がクライアント2から配信サーバ1へ送信される。配信サーバ1は、受信されたコンテンツの情報に含まれるコンテンツIDやコンテンツ名に基づいて、ワークファイル記憶領域11dからワークファイルを検索する。そして、ワークファイルがワークファイル記憶領域11dに記憶されている場合、このワークファイルがクライアント2へ送信される。一方、ワークファイルがワークファイル記憶領域11dに記憶されていない場合がある。この場合、配信サーバ1は、受信されたコンテンツの情報に含まれるコンテンツIDやコンテンツ名に基づいて、メタファイル記憶領域11cからメタファイルを検索する。そして、メタファイルがメタファイル記憶領域11cに記憶されている場合、このメタファイルがクライアント2へ送信される。一方、メタファイルがメタファイル記憶領域11cに記憶されていない場合がある。この場合、ワークファイル及びメタファイル以外のファイルがクライアント2へ送信される。
こうして、クライアント2は、配信サーバ1からファイルを取得すると、図3に示すメイン処理を開始する。図3に示すステップS1では、クライアント2の制御部21は、例えば、取得したファイルを、例えばファイル名に含まれる識別子に基づき識別する。そして、制御部21は、取得したファイルがメタファイルであるか否かを判定する(ステップS2)。取得されたファイルがメタファイルであると判定された場合(ステップS2:YES)、ステップS8へ進む。一方、取得されたファイルがメタファイルでないと判定された場合(ステップS2:NO)、ステップS3へ進む。ステップS3では、制御部21は、取得したファイルがワークファイルであるか否かを判定する。取得されたファイルがワークファイルであると判定された場合(ステップS3:YES)、ステップS5へ進む。一方、取得されたファイルがワークファイルでないと判定された場合(ステップS3:NO)、ステップS4へ進む。ステップS4では、ファイル非対応メッセージがユーザへ通知される。ファイル非対応メッセージは、取得されたファイルが非対応であることを示すメッセージである。例えば、ファイル非対応メッセージが、表示部24aに表示、または、スピーカ26aから音声出力されることでユーザに通知される。
ステップS5では、制御部21は、取得したワークファイルに含まれるメタファイルのURLに基づき、メタファイルの要求を配信サーバ1へ送信し、ステップS6へ進む。このメタファイルの要求には、例えばメタファイルのファイル名が含まれる。配信サーバ1は、受信されたメタファイルの要求に含まれるファイル名に基づいて、メタファイル記憶領域11cからメタファイルを検索する。そして、メタファイルがメタファイル記憶領域11cに記憶されている場合、このメタファイルがクライアント2へ送信される。
ステップS6では、制御部21は、メタファイルの取得が成功したか否かを判定する。メタファイルの要求に応じて、配信サーバ1からメタファイルが受信された場合、メタファイルの取得が成功したと判定され(ステップS6:YES)、ステップS8へ進む。一方、配信サーバ1からメタファイルが受信されない場合、メタファイルの取得が失敗したと判定され(ステップS6:NO)、ステップS7へ進む。ステップS7では、ファイル取得失敗メッセージがユーザへ通知される。ファイル取得失敗メッセージは、メタファイルの取得失敗を示すメッセージである。
ステップS8では、制御部21は、取得したメタファイルに格納されたメタ情報でプレイヤーを初期化する。なお、ワークファイルが配信サーバ1から取得されている場合、このワークファイルがプレイヤーに設定される。次いで、制御部21は、操作制限情報がメタ情報に含まれているか否かを判定する(ステップS9)。操作制限情報がメタ情報に含まれていると判定された場合(ステップS9:YES)、ステップS10へ進む。つまり、この場合、ワークファイルの生成が制限される。これにより、例えばコンテンツをアップロードする公開者等は、動画データが他のユーザにより編集されることを禁止することができる。一方、操作制限情報がメタ情報に含まれていないと判定された場合(ステップS9:NO)、ステップS15へ進む。
ステップS10では、制御部21は、図4(A)に示すダウンロード処理と、図6に示す再生処理とを開始する。なお、ダウンロード処理と再生処理は、例えばOSのマルチタスク機能により並行して実行される。ダウンロード処理と再生処理の詳細については後述する。次いで、制御部21は、コンテンツの再生を終了するか否かを判定する(ステップS11)。例えば、ユーザが操作部25aを操作してコンテンツの再生終了指示を行うと、コンテンツの再生を終了すると判定される。また、コンテンツの再生が最後まで行われると、コンテンツの再生を終了すると判定される。コンテンツの再生を終了すると判定された場合(ステップS11:YES)、図3に示す処理を終了する。一方、コンテンツの再生を終了しないと判定された場合(ステップS11:NO)、ステップS12へ進む。このとき、動画データを構成する各画像フレームにおける描画領域は、メタ情報に基づき初期設定された描画領域となる。ステップS12では、制御部21は、上記ステップS8の処理によりワークファイルが設定されているか否かを判定する。ワークファイルが設定されていないと判定された場合(ステップS12:NO)、ステップS11に戻る。一方、例えばコンテンツをアップロードする公開者等は、操作制限情報によりワークファイルの生成を禁止する場合であっても、公開者自身が行った疑似的なカメラワークに基づく再生を禁止させたくない場合がある。この場合、上記公開者等により公開されたワークファイルが上記ステップS8で設定されることがある。ワークファイルが設定されていると判定された場合(ステップS12:YES)、ステップS13へ進む。ステップS13では、制御部21は、設定されているワークファイルを参照して疑似的なカメラワークの更新の必要があるか否かを判定する。例えば、設定されているワークファイル中に、ステップS13の判定の直後に表示するべき画像フレームの再生位置と描画領域の座標位置とのセットを含むワーク情報がある場合、疑似的なカメラワークの更新の必要があると判定される。疑似的なカメラワークの更新の必要があると判定された場合(ステップS13:YES)、ステップS14へ進む。一方、疑似的なカメラワークの更新の必要がないと判定された場合(ステップS13:NO)、ステップS11に戻る。ステップS14では、制御部21は、ステップS13の判定で用いたワーク情報に基づき現在の再生位置の描画領域を決定する。
一方、ステップS15では、制御部21は、ワークファイルを新規に生成する。次いで、制御部21は、新規に生成したワークファイルに、再生対象のコンテンツのメタファイルのURL等を記述する(ステップS16)。次いで、制御部21は、図4(A)に示すダウンロード処理と、図6に示す再生処理とを開始する(ステップS17)。ステップS17の処理は、ステップS10の処理と同様である。次いで、制御部21は、コンテンツの再生を終了するか否かを判定する(ステップS18)。ステップS18の処理は、ステップS11の処理と同様である。コンテンツの再生を終了すると判定された場合(ステップS18:YES)、ステップS26へ進む。一方、コンテンツの再生を終了しないと判定された場合(ステップS18:NO)、ステップS19へ進む。
ステップS19では、制御部21は、ユーザから操作部25aを介して疑似カメラワーク操作があったか否かを判定する。疑似カメラワーク操作があったと判定された場合(ステップS19:YES)、ステップS20へ進む。ステップS20では、制御部21は、疑似カメラワーク操作により指定された描画領域を決定する。次いで、制御部21は、ステップS20で決定された描画領域の座標位置と現在の再生位置とのセットを含むワーク情報を、上記ステップS15で生成されたワークファイルに追記し(ステップS21)、ステップS18に戻る。言い換えれば、プレイヤーの疑似的なカメラワークの状態がワーク情報として追記される。
一方、ステップS19において、疑似カメラワーク操作がないと判定された場合(ステップS19:NO)、ステップS22へ進む。ステップS22では、制御部21は、前回の疑似カメラワーク操作から予め設定された時間が経過したか否かを判定する。この時間は、例えば5秒〜10秒程度に設定される。前回の疑似カメラワーク操作から予め設定された時間が経過していないと判定された場合(ステップS22:NO)、ステップS18に戻る。一方、前回の疑似カメラワーク操作から予め設定された時間が経過したと判定された場合(ステップS22:YES)、ステップS23へ進む。なお、図3に示す処理開始後、未だ疑似カメラワーク操作がない場合、上記ステップS19からステップS23へ進む。
ステップS23では、制御部21は、上記ステップS8の処理によりワークファイルが設定されているか否かを判定する。ワークファイルが設定されていないと判定された場合(ステップS23:NO)、ステップS18に戻る。一方、ワークファイルが設定されていると判定された場合(ステップS23:YES)、ステップS24へ進む。ステップS24では、制御部21は、設定されているワークファイルを参照して疑似的なカメラワークの更新の必要があるか否かを判定する。例えば、設定されているワークファイル中に、ステップS24の判定の直後に表示するべき画像フレームの再生位置と描画領域の座標位置とのセットを含むワーク情報がある場合、疑似的なカメラワークの更新の必要があると判定される。疑似的なカメラワークの更新の必要があると判定された場合(ステップS24:YES)、ステップS25へ進む。一方、疑似的なカメラワークの更新の必要がないと判定された場合(ステップS24:NO)、ステップS18に戻る。なお、疑似カメラワーク操作がなく、且つ、疑似的なカメラワークの更新の必要がない場合、動画データを構成する各画像フレームにおける描画領域は、メタ情報に基づき初期設定された描画領域となる。
ステップS25では、制御部21は、ステップS24の判定で用いたワーク情報に基づき現在の再生位置の描画領域を決定する。次いで、制御部21は、ステップS25で決定された描画領域の座標位置と現在の再生位置とのセットを含むワーク情報を、上記ワークファイルに追記し(ステップS21)、ステップS18に戻る。
ステップS26では、制御部11は、ステップS21の処理によりワーク情報が格納されたワークファイルの公開処理を実行し、図3に示す処理を終了する。ワークファイルの公開処理では、制御部21は、ワーク情報が格納されたワークファイルを、再生されたコンテンツの動画データに対応付けて配信サーバ1に登録させる。例えば、制御部11は、ワークファイルの登録要求を配信サーバ1へ送信する。このワークファイルの要求には、例えば、ワーク情報が格納されたワークファイル、及び再生されたコンテンツのコンテンツID等が含まれる。配信サーバ1は、受信されたワークファイルの登録要求に含まれるワークファイルをワークファイル記憶領域11dに登録する。つまり、ワークワークワイルは、複数のユーザ間で共有可能にアップロードされる。このとき、ワークファイルには、再生されたコンテンツのコンテンツID等が追記される。これにより、ワークファイルは、再生されたコンテンツの動画データに対応付けられる。なお、ワークファイルは、配信サーバ1以外のサーバ装置に登録されるように構成してもよい。つまり、クライアント2とは異なる他のクライアントがアクセス可能なサーバ装置にワークファイルが登録されてもよい。
(2−2.ダウンロード処理)
次に、図4及び図5等を参照して、クライアント2の制御部21におけるダウンロード処理を説明する。図4(A)に示すダウンロード処理が開始されると、メタ情報に示される動画ファイルに対応する動画ストリームリストが動画ファイルごとに生成される。例えば、レイヤ1の動画ストリームリスト、レイヤ2のパート1〜パート4それぞれの動画ストリームリスト、及びレイヤ3のパート1〜パート16それぞれの動画ストリームリストが生成される。動画ストリームリストは、動画ストリームを構成する各動画データブロックのブロック番号を登録するリストである。動画ストリームは、メタ情報に示される動画ファイル中の動画データから配信サーバ1により生成されるものである。ブロック番号は、動画データブロックの再生順に付与されたシリアル番号である。各動画ストリームリストに登録されるブロック番号の数は同一である。更に、メタ情報に示される音声ファイルに対応する音声ストリームリストが生成される。音声ストリームリストは、音声ストリームを構成する各音声データブロックのブロック番号を登録するリストである。音声ストリームは、メタ情報に示される音声ファイル中の音声データから配信サーバ1により生成されるものである。なお、メタ情報に複数の音声ファイルが示される場合ある。この場合、それぞれの音声ファイルに対応する音声ストリームリストが生成されることになる。なお、動画ストリームリスト及び音声ストリームリストは、制御部21により生成される。この場合、動画データまたは音声データの先頭位置から終了位置までを区切る時間単位は、予めプレイヤーソフトウェアに設定されている。或いは、動画ストリームリスト及び音声ストリームリストは、配信サーバ1により生成され、クライアント2へ送信されるように構成してもよい。
図4(A)に示すステップS31では、制御部21は、コンテンツの再生を終了するか否かを判定する。ステップS31の処理は、ステップS11の処理と同様である。コンテンツの再生を終了すると判定された場合(ステップS31:YES)、図4(A)に示す処理を終了する。一方、コンテンツの再生を終了しないと判定された場合(ステップS31:NO)、ステップS32に進む。
ステップS32では、制御部21は、ブロック優先順決定処理を実行する。ブロック優先順決定処理では、図5に示すように、制御部21は、現在の再生位置と、推定ネットワーク帯域とを取得する(ステップS321)。推定ネットワーク帯域は、配信サーバ1とクライアント2との間のネットワークNWの帯域(bps)の推定値である。推定ネットワーク帯域は、例えば、クライアント2と配信サーバ1との間のデータ伝送時間が制御部21により計測されることで算出される。
次いで、制御部21は、音声ストリームリストから、現在の再生位置を含む音声データブロックと、現在の再生位置を含む音声データブロックの次の音声データブロックとを最優先で取得するデータブロックとして決定する(ステップS322)。ここで、現在の再生位置は、ステップS321で取得された再生位置である。次いで、制御部21は、ステップS322で決定された音声データブロックのブロック番号を登録する取得対象リストを生成する(ステップS323)。取得対象リストに登録されるブロック番号には、音声データブロックのブロック番号であることを示す情報が付加される。
次いで、制御部21は、クライアント2の描画性能を示す値を取得する(ステップS324)。描画性能とは、1フレーム(1画面)あたり何ピクセル描画できるかを示すレンダリング能力である。言い換えれば、描画性能は、フレームバッファが1フレームあたり何ピクセル分のデータをバッファリングできるかを示す。なお、ステップS324における描画性能を示す値の取得は、初回のブロック優先順決定処理でのみ行われればよい。或いは、描画性能を示す値の取得は、図4(A)に示すダウンロード処理の開始後、ステップS31の処理前に行われるように構成してもよい。
次いで、制御部21は、ステップS324で取得された描画性能を示す値に応じて、描画対象とするレイヤの範囲を決定する(ステップS325)。例えば、クライアント2の描画性能を示す値が、4M(pixels/frame)であるとする。この場合、図2の例では、レイヤ1及びレイヤ2の画像フレームは、画像フレーム全体を描画できる。一方、レイヤ3の画像フレームは、画像フレームの1/4しか描画できない。そのため、上記ステップS325では、描画対象とするレイヤの範囲として、レイヤ1及びレイヤ2が決定される。一方、例えば、クライアント2の描画性能を示す値が、2M(pixels/frame)であるとする。この場合、図2の例では、レイヤ1の画像フレームだけが画像フレーム全体を描画できる。そのため、上記ステップS325では、描画対象とするレイヤの範囲として、レイヤ1が決定される。
ところで、クライアント2の描画性能を示す値は、画像が拡大された場合、拡大されたときのズーム倍率によって補正される。例えば、ズーム倍率が2倍である場合、クライアント2の描画性能を示す値が2倍される。取得された描画性能を示す値が2M(pixels/frame)であるとすると、4M(pixels/frame)に補正される。この場合、図2の例では、レイヤ1及びレイヤ2の画像フレームは、画像フレーム全体を描画できる。一方、レイヤ3の画像フレームは、画像フレームの1/4しか描画できない。そのため、この場合、上記ステップS325では、描画対象とするレイヤの範囲として、レイヤ1及びレイヤ2が決定される。一方、例えば、ズーム倍率が8倍である場合、クライアント2の描画性能を示す値が8倍される。取得された描画性能を示す値が2M(pixels/frame)であるとすると、16M(pixels/frame)に補正される。この場合、図2の例では、レイヤ1〜レイヤ3の画像フレームは、画像フレーム全体を描画できる。そのため、この場合、上記ステップS325では、描画対象とするレイヤの範囲として、レイヤ1〜レイヤ3が決定される。つまり、ズーム倍率が2倍未満のとき、レイヤ1のみが決定される。ズーム倍率が2倍以上8倍未満のとき、レイヤ1及びレイヤ2が決定される。ズーム倍率が8倍以上のとき、レイヤ1〜レイヤ3が決定される。
次いで、制御部21は、上記ステップS325で決定されたレイヤの動画ストリームリストから、現在の再生位置を含む動画データブロックと、現在の再生位置を含む動画データブロックの次の動画データブロックとを決定する(ステップS326)。この決定は、ステップS325で決定された全てのレイヤの全ての動画ストリームリストについて行われる。例えば、ステップS325で決定されたレイヤが、レイヤ1とレイヤ2であるとする。この場合、レイヤ1の動画ストリームリスト、レイヤ2のパート1の動画ストリームリスト、レイヤ2のパート2の動画ストリームリスト、レイヤ2のパート3の動画ストリームリスト、及びレイヤ2のパート4の動画ストリームリストそれぞれについて、動画データブロックが決定される。
次いで、制御部21は、上記ステップS14、ステップS20またはステップS25等で決定された描画領域に基づいて、上記ステップS326で決定された動画データブロックに含まれる画像フレームまたは分割画像フレームの描画率を、上記決定された動画データブロックごとに算出する(ステップS327)。ここで、画像フレームの描画率とは、描画領域の中に画像フレームまたは分割画像フレームが占める割合をいう。
図8(A)は、レイヤ1の画像フレームにおける描画領域を示す図である。図8(A)に示すように、レイヤ1では、先頭の画像フレームの描画率が100%である。図8(B)は、レイヤ2の分割画像フレームにおける描画領域を示す図である。分割画像フレームの場合、1つのパートで描画領域のすべてをカバーできるとは限らない。図8(B)に示すように、レイヤ2では、パート1における先頭の分割画像フレームの描画率が17%である。また、パート2における先頭の分割画像フレームの描画率が50%である。また、パート3における先頭の分割画像フレームの描画率が8%である。また、パート4における先頭の分割画像フレームの描画率が25%である。このように、レイヤ2のパート2における先頭の分割画像フレームが最も大きい描画率である。また、図8(B)に示す例では、破線で示すように、各動画データブロック内で描画領域の位置が分割画像フレームごとに変化している。この場合、現在の再生位置の画像フレームまたは分割画像フレームの時間的に後に続く画像フレームまたは分割画像フレームの描画領域は、例えば上述したワーク情報に基づいて特定される。一方、ワーク情報がない場合、現在の再生位置の画像フレームまたは分割画像フレームの時間的に後に続く画像フレームまたは分割画像フレームの描画領域は、上記ステップS14、ステップS20またはステップS25等で決定された描画領域に基づいて推定される。つまり、描画領域の動きの変化に基づき予測計算される。例えば、複数の分割画像フレーム間において描画領域が右に動いていたら、その次の分割画像フレームにおける描画領域はさらに右に位置することが予測計算される。なお、ステップS327で算出される分割画像フレームの描画率は、動画データブロックに含まれる複数の分割画像フレームの描画率の平均または合計となる。
次いで、制御部21は、上記ステップS326で決定された動画データブロックのビットレートと、上記ステップS321で取得された推定ネットワーク帯域とに基づいて、上記ステップS326で決定された動画データブロックの中から、取得対象候補となる動画データブロックをレイヤごとに決定する(ステップS328)。例えば各レイヤの動画データブロックのビットレートが、推定ネットワーク帯域以下になるように、取得対象候補となる動画データブロックが選定される。ここで、レイヤ2の場合、パート1〜パート4の動画データブロックのビットレートの総和が推定ネットワーク帯域以下になるように、取得対象候補となる動画データブロックが決定される。なお、動画データブロックのビットレートは、例えばメタ情報に含まれる情報に基づいて算出される。図8(C),(D)は、レイヤ1及びレイヤ2にける動画ストリームにおいて、取得対象候補となる動画データブロックが決定される様子を示す図である。図8(C),(D)に示すように、レイヤ1では、上記ステップS326で決定された全ての動画データブロックが決定されている。レイヤ2では、上記ステップS326で決定されたブロック番号が”1”の動画データブロックの中(図8(C))で、描画率が50%の分割画像フレームを含む動画データブロックと、描画率が25%の分割画像フレームを含む動画データブロックと、が決定((図8(D))されている。これは、例えば描画率が17%の分割画像フレームを含む動画データブロックが取得対象候補としてさらに決定されると、「動画データブロックのビットレート≦推定ネットワーク帯域」の条件を満たさなくなるためである。一方、上記ステップS326で決定されたブロック番号が”2”の動画データブロックの中(図8(C))で、描画率が70%の分割画像フレームを含む動画データブロックと、描画率が20%の分割画像フレームを含む動画データブロックと、が決定((図8(D))されている。このように、描画率が高い分割画像フレームを含む動画データブロックが優先して決定されることになる。これにより、より広い表示範囲に、高画質の画像を表示させることができる。
次いで、制御部21は、上記ステップS328で決定された取得対象候補となる動画データブロックの中で描画率が基準描画率αである画像フレームまたは分割画像フレームを含む動画データブロックがあるか否かを判定する(ステップS329)。基準描画率αは、例えば100%に設定されることが望ましい。ただし、90%〜100%の間に設定されてもよい。そして、描画率が基準描画率αである画像フレームまたは分割画像フレームを含む動画データブロックがあると判定された場合(ステップS329:YES)、ステップS330へ進む。一方、描画率が基準描画率αである画像フレームまたは分割画像フレームを含む動画データブロックがないと判定された場合(ステップS329:NO)、ステップS331へ進む。
ステップS330では、制御部21は、描画率が基準描画率αである画像フレームまたは分割画像フレームを含む動画データブロックに対応するレイヤの中で、最も解像度の高いレイヤをベースレイヤとして決定し、ステップS332へ進む。つまり、複数の動画データブロックの中で、解像度が高く、且つ、描画率が高い画像フレームを含む動画データブロックが優先されて、ベースレイヤの動画データブロックとして決定される。これにより、より広い表示範囲に、より高画質の画像を表示させることができる。図8(C),(D)の例では、描画率が基準描画率αである画像フレームを含む動画データブロックに対応するレイヤは、レイヤ1のみである。そのため、レイヤ1がベースレイヤとして決定される。なお、描画率が基準描画率αである画像フレームまたは分割画像フレームを含む動画データブロックに対応するレイヤが、レイヤ1〜レイヤ3であるとする。この場合、最も解像度の高いレイヤであるレイヤ3がベースレイヤとして決定される。また、この場合、レイヤ3よりも解像度の高いレイヤはないので、図5に示す処理は終了し、図4(A)に示す処理に戻る。一方、ステップS331では、制御部21は、最も描画率が高い画像フレームまたは分割画像フレームを含む動画データブロックに対応するレイヤの中で、最も解像度の高いレイヤをベースレイヤとして決定し、ステップS332へ進む。
ステップS332では、制御部21は、上記ステップS330又はステップS331で決定されたベースレイヤの動画データブロックを、音声データブロックの次に優先して取得するデータブロックとして決定する。次いで、制御部21は、ステップS332で決定された動画データブロックのブロック番号を上記取得対象リストに登録する(ステップS333)。なお、取得対象リストに登録されるブロック番号には、動画データブロックのブロック番号であることを示す情報、及びレイヤを示す情報が付加される。
次いで、制御部21は、推定ネットワーク帯域から、ベースレイヤの動画データブロックのビットレートを減算した差分ネットワーク帯域を算出する(ステップS334)。差分ネットワーク帯域は、ネットワークNWの帯域の余裕度を示す値の一例である。ネットワークNWの帯域の余裕度は、ネットワークNWの空き帯域ともいう。また、ネットワークNWの余裕度は、クライアント2と配信サーバ1との間のネットワークNWの空き帯域ともいう。また、ネットワークNWの帯域の余裕度は、ネットワークNWを介して、クライアント2と配信サーバ1との間で利用可能な利用帯域ともいう。言い換えれば、差分ネットワーク帯域は、ネットワークNWの帯域と、ベースレイヤの動画データブロックを配信サーバ1から取得するために消費する帯域との差である。次いで、制御部21は、上記ステップS326で決定された動画データブロックのビットレートと、上記ステップS334で算出された差分ネットワーク帯域とに基づいて、上記ステップS326で決定された動画データブロックの中から、再度、取得対象候補となる動画データブロックをレイヤごとに決定する(ステップS335)。なお、ベースレイヤの動画データブロックは、上記ステップS332で取得するデータブロックとして決定されているので、取得対象候補から除外される。例えばベースレイヤ以外のレイヤの動画データブロックのビットレートが、差分ネットワーク帯域以下になるように、取得対象候補となる動画データブロックが選定される。差分ネットワーク帯域に余裕がある場合、分割画像フレームを含む少なくとも一つの動画データブロックが決定される。上記ステップS335の処理により、差分ネットワーク帯域に応じたデータ量の分割画像データを取得することが可能となる。つまり、ネットワークNWの帯域の余裕度を示す値が大きいほど、動画データを構成する画像フレームを分割した複数の分割画像フレームの中から取得対象となる分割画像フレームがより多く決定されることになる。これにより、ネットワークNWの帯域に余裕があればあるほど、より高画質の画像を表示させることができる。また、上記ステップS325の処理により、クライアント2の描画性能を示す値が大きいほど、描画対象とするレイヤが多く決定される。そのため、クライアント2の描画性能を示す値が大きいほど、動画データを構成する画像フレームを分割した複数の分割画像フレームの中から取得対象となる分割画像フレームがより多く決定されることになる。なお、上記ステップS325の処理において、クライアント2の描画性能以外の性能に基づき、描画対象とするレイヤの範囲が決定されるように構成してもよい。描画性能以外の性能としては、例えば、所定時間に何ピクセルのデータを処理できるかを示すCPU処理能力(例えば、200Mpixel/sec)等が挙げられる。
次いで、制御部21は、上記ステップS335で決定された取得対象候補となる動画データブロックの中で描画率が基準描画率β以上の分割画像フレームを含む動画データブロックがあるか否かを判定する(ステップS336)。基準描画率βは、例えば70%に設定される。ただし、60%〜90%の間に設定されてもよい。そして、描画率が基準描画率β以上の分割画像フレームを含む動画データブロックがあると判定された場合(ステップS336:YES)、ステップS337へ進む。一方、描画率が基準描画率β以上の分割画像フレームを含む動画データブロックがないと判定された場合(ステップS336:NO)、図5に示す処理を終了し、図4(A)に示す処理に戻る。
ステップS337では、制御部21は、描画率が基準描画率β以上の分割画像フレームを含む動画データブロックに対応するレイヤの中で、最も解像度の高いレイヤをサブレイヤとして決定する。次いで、制御部21は、上記ステップS337で決定されたサブレイヤの動画データブロックを、ベースレイヤの動画データブロックの次に優先して取得するデータブロックとして決定する(ステップS338)。次いで、制御部21は、ステップS338で決定された動画データブロックのブロック番号を上記取得対象リストに登録し(ステップS339)、図4(A)に示す処理に戻る。なお、取得対象リストに登録されるブロック番号には、動画データブロックのブロック番号であることを示す情報、レイヤを示す情報、及びパートを示す情報が付加される。
図4(B)は、ブロック優先順決定処理により生成された取得対象リストの内容の一例を示す図である。図4(B)に示すように、取得対象リストに登録された各データブロックのブロック番号には、優先度が対応付けられている。対応付けられた優先度の値が小さいデータブロックほど、取得する優先度が高いデータブロックである。なお、取得対象リストの内容は、コンテンツの再生が進行する従って変化する。
図4(A)に示す処理に戻り、ステップS33では、制御部21は、取得対象リストを参照して、配信サーバ1から取得するデータブロックがあるか否かを判定する。取得対象リストにデータブロックのブロック番号が登録されている場合、取得するデータブロックがあると判定される。そして、取得するデータブロックがあると判定された場合(ステップS33:YES)、ステップS34へ進む。一方、取得するデータブロックがないと判定された場合(ステップS33:NO)、ステップS31に戻る。
ステップS34では、制御部21は、変数nに”1”をセットする。次いで、制御部21は、取得対象リストの中で優先度がn番のデータブロックがバッファメモリに保持されているか否かを判定する(ステップS35)。つまり、図4(A)に示す処理で優先度がn番のデータブロックが既に取得されているか否かが判定される。そして、優先度がn番のデータブロックが保持されていないと判定された場合(ステップS35:NO)、ステップS36に進む。ステップS36では、制御部21は、優先度がn番のデータブロックの要求を配信サーバ1へ送信する。そして、制御部21は、データブロックの取得が成功したか否かを判定する(ステップS37)。データブロックの要求に応じて配信サーバ1からデータブロックが受信されない場合、データブロックの取得が失敗したと判定され(ステップS37:NO)、ステップS38へ進む。ステップS38では、データブロック取得失敗メッセージがユーザへ通知され、図4(A)に示す処理が終了する。データブロック取得失敗メッセージは、データブロックの取得失敗を示すメッセージである。
一方、データブロックの要求に応じて配信サーバ1からストリーミング配信されたデータブロックの受信が完了した場合、データブロックの取得が成功したと判定される(ステップS37:YES)。この場合、制御部21は、ステップS31へ戻り、コンテンツの再生を終了しない場合(ステップS31:NO)、再び、ブロック優先順決定処理を実行する(ステップS32)。つまり、ブロックデータが取得されるごとにブロック優先順決定処理で、取得対象となるブロックデータが決定されることになる。前回のブロック優先順決定処理からさほど時間が経過していなければ、現在の再生位置を含むデータブロックに変化はない。そのため、再び実行されたブロック優先順決定処理で生成された取得対象リストの内容は、前回のブロック優先順決定処理で生成された取得対象リストの内容と同一となる。この場合、ステップS35で、優先度がn番のデータブロックが保持されていると判定されると(ステップS35:YES)、ステップS39へ進む。ステップS39では、制御部21は、変数nに”1”を加算する。次いで、制御部21は、変数nがブロック数より大きいか否かを判定する(ステップS40)。ブロック数とは、取得対象リストにブロック番号が登録されているデータブロックの数である。そして、変数nがブロック数より大きくないと判定された場合(ステップS40:NO)、ステップS35に戻る。このとき、優先度がn+1番のデータブロックが保持されていなければ、n+1番のデータブロックの要求が配信サーバ1へ送信される(ステップS36)。一方、変数nがブロック数より大きいと判定された場合(ステップS40:YES)、ステップS31に戻る。この場合、そのときの取得対象リストに登録されている全てのデータブロックが取得された場合である。以上のように、ブロック優先順決定処理は、ブロックデータが配信サーバ1から取得されるたびに行われる。そのため、動画データの再生進行状況及び取得進行状況に応じて、各時点で最適なデータブロックを取得対象として決定することができる。
(2−3.再生処理)
次に、図6及び図7等を参照して、クライアント2の制御部21における再生処理を説明する。図6に示す再生処理が開始されると、制御部21は、クライアント2の描画性能を示す値を取得する(ステップS51)。次いで、制御部21は、コンテンツの再生を終了するか否かを判定する(ステップS52)。ステップS52の処理は、ステップS11の処理と同様である。コンテンツの再生を終了すると判定された場合(ステップS52:YES)、図6に示す処理を終了する。一方、コンテンツの再生を終了しないと判定された場合(ステップS52:NO)、ステップS53へ進む。
ステップS53では、制御部21は、ユーザから操作部25aを介してシーク操作があったか否かを判定する。シーク操作とは、例えば現在の表示されている画像フレームから1以上の画像フレームをスキップさせる操作をいう。シーク操作がないと判定された場合(ステップS53:NO)、ステップS56へ進む。一方、シーク操作があったと判定された場合(ステップS53:YES)、ステップS54へ進む。ステップS54では、制御部21は、メタ情報によりシーク操作が禁止されているか否かを判定する。上述した操作制限情報がメタ情報に含まれている場合、シーク操作が禁止されていると判定される。シーク操作が禁止されていると判定された場合(ステップS54:YES)、ステップS56へ進む。一方、シーク操作が禁止されていないと判定された場合(ステップS54:NO)、ステップS55へ進む。ステップS55では、制御部21は、現在の再生位置を、シーク操作により指定された再生位置に移動させ、ステップS52に戻る。
ステップS56では、制御部21は、再生に十分なデータブロックがバッファメモリに保持されているか否かを判定する。例えば、予め設定された数分の画像フレームに対応する画像データがバッファメモリに保持されている場合、再生に十分なデータブロックがバッファメモリに保持されていると判定される。そして、再生に十分なデータブロックがバッファメモリに保持されていると判定された場合(ステップS56:YES)、ステップS57へ進む。一方、再生に十分なデータブロックがバッファメモリに保持されていないと判定された場合(ステップS56:NO)、ステップS52に戻る。
ステップS57では、制御部21は、動画データが再生中であるか否かを判定する。例えば、画像フレームが遷移中である場合、動画データが再生中であると判定され(ステップS57:YES)、ステップS58へ進む。一方、画像フレームの遷移が停止中である場合、動画データが再生中でないと判定され(ステップS57:NO)、ステップS61へ進む。ステップS58では、制御部21は、音声データの再生が一時停止している場合、音声データの再生を再開する。次いで、制御部21は、画面描画処理を実行する(ステップS59)。この画面描画処理の詳細は後述する。次いで、制御部21は、現在の再生位置を次の画像フレームに移動させ(ステップS60)、ステップS52に戻る。一方、ステップS61では、制御部21は、音声データの再生が一時停止していない場合、音声データの再生を一時停止する。次いで、制御部21は、現在の描画領域が前回描画時の描画領域と異なるか否かを判定する(ステップS62)。現在の描画領域が前回描画時の描画領域と異ならないと判定された場合(ステップS62:NO)、ステップS52に戻る。一方、現在の描画領域が前回描画時の描画領域と異なると判定された場合(ステップS62:YES)、ステップS63へ進む。ステップS63では、制御部21は、画面描画処理を実行する。これは、一時停止中でも、上記ステップS14、ステップS20またはステップS25等の処理で描画領域が更新された場合、再度、画面描画処理を行う必要があるためである。
次に、画面描画処理では、図7に示すように、制御部21は、現在の再生位置を取得する(ステップS591)。次いで、制御部21は、上記ステップS51で取得された描画性能を示す値に基づいて、描画対象のレイヤの範囲を決定する(ステップS592)。ステップS592の処理は、ステップS325の処理と同様である。次いで、制御部21は、取得済の動画データブロックの中で、所定条件を満たす動画データブロックを決定する(ステップS593)。例えば、所定条件として以下の(1)〜(3)の全ての条件を満たす動画データブロックが決定される。
(1)現在の再生位置を含むこと
(2)現在の描画領域に画像フレームまたは分割画像フレームの少なくとも一部が含まれること
(3)描画対象のレイヤに属すること
ここで、現在の再生位置は、上記ステップS591で決定された再生位置である。また、現在の描画領域は、上記ステップS14、ステップS20またはステップS25等で決定された描画領域である。また、描画対象のレイヤは、上記ステップS592で決定されたレイヤである。
次いで、制御部21は、上記ステップS593で決定された動画データブロックの情報を登録する描画対象リストを生成する(ステップS594)。動画データブロックの情報とは、例えば、動画データブロックのブロック番号である。次いで、制御部21は、描画対象リストに登録された動画データブロックの情報を高画質順にソートする(ステップS595)。つまり、動画データブロックに含まれる動画データの解像度が高い順に動画データブロックの情報が並び替えられる。次いで、制御部21は、ビデオRAM23におけるフレームバッファをクリアする(ステップS596)。
次いで、制御部21は、変数nに”1”をセットする(ステップS597)。次いで、制御部21は、描画対象リストの中で解像度が高いn番目の動画データブロックに含まれる例えば1画像フレームまたは1分割画像フレーム分の動画データをバッファメモリから再生する(ステップS598)。そして、制御部21は、再生された動画データを構成する画像フレームまたは分割画像フレームをフレームバッファに書き込む(ステップS599)。なお、画像フレームまたは分割画像フレームは、フレームバッファに合わせて拡大又は縮小されて書き込まれる。ただし、この書き込みは、既に書き込み済みのピクセルが上書きされないように制御される。次いで、制御部21は、フレームバッファに、画像フレームの必要なピクセルが全て書き込まれたか否かを判定する(ステップS600)。フレームバッファに必要なピクセルが全て書き込まれていないと判定された場合(ステップS600:NO)、ステップS601に進む。一方、フレームバッファに必要なピクセルが全て書き込まれたと判定された場合(ステップS600:YES)、ステップS603に進む。
ステップS601では、制御部21は、変数nに”1”を加算する。次いで、制御部21は、変数nがブロック数より大きいか否かを判定する(ステップS602)。ブロック数とは、描画対象リストに情報が登録されている動画データブロックの数である。そして、変数nがブロック数より大きくないと判定された場合(ステップS602:NO)、ステップS598に戻る。ステップS598の処理は、複数回繰り返し行われるが、解像度が高い動画データが優先して再生される。そのため、最初の処理では、解像度が高い分割画像データに対応する分割画像フレームが書き込まれる(第1の書き込み処理)。以後の処理では、分割画像フレームが書き込まれなかったフレームバッファの書き込み領域に、例えば低解像度の動画データを構成する画像フレームが書き込まれる(第2の書き込み処理)。一方、変数nがブロック数より大きいと判定された場合(ステップS602:YES)、ステップS603へ進む。
ステップS603では、制御部21は、音声データの再生位置に同期させて、フレームバッファの内容をディスプレイに表示させる。つまり、制御部21は、フレームバッファに書き込まれた画像フレームの現在の描画領域をディスプレイの画面に描画することで表示させる(表示処理)。これにより、例えば低解像度の動画データを構成する画像フレームの少なくとも一部分に、より効率良く、中解像度または高解像度の分割画像データを表示させることができる。例えば低解像度の動画データを構成する画像フレームの描画領域の一部が分割画像データに置き換えられて表示される。これにより、例えば高解像度の画像が取得できなかった領域についても、欠けのない画像を表示させることができる。そのため、ユーザに欠けのない画像を見せることができる。なお、例えば低解像度の動画データを構成する画像フレームの描画領域の一部に、分割画像データを重畳させて表示されるように構成してもよい。
上記ステップS337の処理の別の例として、制御部21は、描画領域の中心から所定範囲の領域で、且つ描画領域より狭い領域を含む分割画像フレームを含む動画データブロックに対応するレイヤの中で、最も解像度の高いレイヤをサブレイヤとして決定するように構成してもよい。ここで、所定範囲の領域には、例えば、円形領域や矩形領域などがある。このように構成すれば、描画率が低くても描画領域の中央部分が含まれる分割画像データを優先的に取得することが可能となる。そのため、描画領域の中心部分の領域を優先して、高画質の画像を表示させることができる。
また、他のユーザによりアップロードされたワークファイルが配信サーバ1から取得されていた場合がある。この場合、制御部21は、取得されたワークファイル中のワーク情報に基づいて、動画データを構成する画像フレームにおいてワーク情報が示す描画領域をディスプレイに表示させることになる。つまり、動画データを構成する画像フレームの描画領域を、取得されたワーク情報が示す描画領域に従って表示させる。
以上説明したように、上記実施形態によれば、クライアント2は、配信サーバ1との間のネットワークNWの帯域の余裕度と、クライアント2の性能との少なくとも何れか一方に応じて、例えば中解像度または高解像度の動画データを構成する複数の分割画像データの中から取得対象となる分割画像データを少なくとも1つ決定する。そして、クライアント2は、例えば低解像度の動画データを構成する画像フレームの少なくとも一部分に、上記決定した分割画像データを表示させる。そのため、本実施形態によれば、ネットワークNWの帯域の余裕度に応じて低解像度の画像フレームにおける一部分だけ高解像度の画像を表示させることができるので、低解像度と高解像度の画像を柔軟に表示させることができる。また、本実施形態によれば、クライアント2の性能に応じて低解像度の画像フレームにおける一部分だけ高解像度の画像を表示させることができるので、低解像度と高解像度の画像を柔軟に表示することができる。
一般に、動画データの高解像度化は、カメラ等のデバイスへの対応が最も早く、ネットワーク等の配信インフラ及びエンドユーザの表示端末への対応は中々進まないといった状況がある。このような状況であっても、本実施形態によれば、ユーザは、例えば高解像度の動画を低解像度対応のディスプレイで見る場合であっても、例えばズームインしたときだけ高解像度の動画を表示させることが可能となる。つまり、ユーザが見る範囲を狭めたときに、高解像度の動画をユーザへ提供することができる。
1 配信サーバ
2 クライアント
11 記憶装置
21 制御部
22 記憶部
S 通信システム

Claims (11)

  1. 端末装置とサーバ装置とがネットワークを介して通信可能な通信システムであって、
    前記サーバ装置は、
    表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶する記憶手段を備え、
    少なくとも前記第2の動画データは、前記第2の動画データを構成する画像フレームを分割した複数の分割画像データにより構成され、
    前記端末装置は、
    前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させる第1制御手段と、
    前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定する第1決定手段と、
    前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記第1決定手段により決定された分割画像データを表示させる第2制御手段と、
    を備えることを特徴とする通信システム。
  2. 前記第2制御手段は、前記第1の動画データを構成する画像フレームの表示範囲の一部を、前記第1決定手段により決定された分割画像データに置き換えて表示させることを特徴とする請求項1に記載の通信システム。
  3. 前記端末装置は
    像フレームを書き込むフレームバッファをさらに備え、
    前記第2制御手段は、
    前記第1決定手段により決定された前記分割画像データを取得する取得処理と、
    取得された前記分割画像データにより構成される画像フレームを前記フレームバッファに書き込む第1の書き込み処理と、
    前記第1の書き込みにより書き込まれなかった前記フレームバッファの書き込み領域に、前記第1制御手段により取得された前記第1の動画データを構成する画像フレームを書き込む第2の書き込み処理と、
    前記第1及び第2の書き込み処理により前記フレームバッファに書き込まれた画像フレームを表示させる表示処理と、
    を実行することを特徴とする請求項1または2に記載の通信システム。
  4. 前記第1制御手段は、前記第1の動画データを構成する画像フレームを1又は複数含むブロックごとに所定の時間単位で区切られた前記動画データを前記サーバ装置から順次取得し、前記ブロックごとに取得された前記動画データに基づいて動画を表示させ、
    前記第1決定手段は、前記ブロックごとの前記動画データが取得されるごとに前記取得対象となる前記分割画像データを決定することを特徴とする請求項1乃至3の何れか一項に記載の通信システム。
  5. 前記記憶手段に記憶された複数の動画データの中で、前記解像度が高く、且つ、ディスプレイへの表示範囲の中に前記画像フレームが占める割合が高い前記動画データを優先して、前記第1の動画データとして決定する第2決定手段を備え、
    前記第1制御手段は、前記第2決定手段により決定された前記第1の動画データを構成する画像フレームを、前記第2の動画データを構成する複数の分割画像データよりも優先して前記サーバ装置から取得することを特徴とする請求項1乃至4の何れか一項に記載の通信システム。
  6. 前記第1決定手段は、前記余裕度を示す値が大きいほど、または、前記性能を示す値が大きいほど、前記複数の分割画像データの中から取得対象となる前記分割画像データをより多く決定することを特徴とする請求項1乃至5の何れか一項に記載の通信システム。
  7. 前記第1の動画データを構成する複数の画像フレームにおいて表示される範囲として指定された表示範囲を決定する第3決定手段を備え、
    前記第1決定手段は、前記第3決定手段により決定された表示範囲の中に画像フレームが占める割合が高い前記分割画像データを優先して決定することを特徴とする請求項1乃至6の何れか一項に記載の通信システム。
  8. 前記第1の動画データを構成する複数の画像フレームにおいて表示される範囲として指定された表示範囲を決定する第3決定手段を備え、
    前記第1決定手段は、前記第3決定手段により決定された表示範囲の中心から所定範囲の領域で、且つ前記表示範囲より狭い領域を含む画像フレームを構成する前記分割画像データを優先して決定することを特徴とする請求項1乃至6の何れか一項に記載の通信システム。
  9. 表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶するサーバ装置であって、少なくとも前記第2の動画データを構成する画像フレームを分割した複数の分割画像データを記憶するサーバ装置とネットワークを介して通信可能な端末装置のコンピュータに、
    前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させるステップと、
    前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定するステップと、
    前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記決定された分割画像データを表示させるステップと、
    を実行させることを特徴とするプログラム。
  10. 表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶するサーバ装置であって、少なくとも前記第2の動画データを構成する画像フレームを分割した複数の分割画像データを記憶するサーバ装置とネットワークを介して通信可能な端末装置であって、
    前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させる第1制御手段と、
    前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定する第1決定手段と、
    前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記第1決定手段により決定された分割画像データを表示させる第2制御手段と、
    を備えることを特徴とする端末装置。
  11. 表示対象を第1の解像度で表示する第1の動画データと、前記表示対象を前記第1の解像度より高い第2の解像度で表示する第2の動画データと、を含む複数の動画データを記憶するサーバ装置であって、少なくとも前記第2の動画データを構成する画像フレームを分割した複数の分割画像データを記憶するサーバ装置とネットワークを介して通信可能な端末装置により行われる動画の表示方法であって、
    前記第1の動画データを構成する画像フレームを前記サーバ装置から順次取得し、取得された画像フレームに基づいて、動画を表示させるステップと、
    前記端末装置と前記サーバ装置との間のネットワークの帯域の余裕度と、前記端末装置の性能との少なくとも何れか一方に応じて、前記第2の動画データを構成する複数の分割画像データの中から取得対象となる前記分割画像データを少なくとも1つ決定するステップと、
    前記第1の動画データを構成する画像フレームの少なくとも一部分に、前記決定された分割画像データを表示させるステップと、
    を含むことを特徴とする動画の表示方法。
JP2012146948A 2012-06-29 2012-06-29 通信システム、端末装置、動画の表示方法、及びプログラム Active JP5838925B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012146948A JP5838925B2 (ja) 2012-06-29 2012-06-29 通信システム、端末装置、動画の表示方法、及びプログラム
EP13808486.8A EP2869581A4 (en) 2012-06-29 2013-06-25 COMMUNICATION SYSTEM, END UNIT, VIDEO DISPLAY METHOD AND PROGRAM THEREFOR
PCT/JP2013/067323 WO2014002978A1 (ja) 2012-06-29 2013-06-25 通信システム、端末装置、動画の表示方法、及びプログラム
US14/584,124 US20150113582A1 (en) 2012-06-29 2014-12-29 Communication System, Terminal Device, Video Display Method, and Storage Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012146948A JP5838925B2 (ja) 2012-06-29 2012-06-29 通信システム、端末装置、動画の表示方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014011622A JP2014011622A (ja) 2014-01-20
JP5838925B2 true JP5838925B2 (ja) 2016-01-06

Family

ID=49783124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012146948A Active JP5838925B2 (ja) 2012-06-29 2012-06-29 通信システム、端末装置、動画の表示方法、及びプログラム

Country Status (4)

Country Link
US (1) US20150113582A1 (ja)
EP (1) EP2869581A4 (ja)
JP (1) JP5838925B2 (ja)
WO (1) WO2014002978A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102135177B1 (ko) * 2014-06-27 2020-07-20 한국전자통신연구원 능동형 이미징 시스템 구현 방법 및 장치
GB2527786B (en) * 2014-07-01 2016-10-26 Canon Kk Method, device, and computer program for encapsulating HEVC layered media data
US10129312B2 (en) * 2014-09-11 2018-11-13 Microsoft Technology Licensing, Llc Dynamic video streaming based on viewer activity
US9872081B2 (en) * 2014-10-20 2018-01-16 Nbcuniversal Media, Llc Digital content spatial replacement system and method
CN104361556B (zh) * 2014-10-22 2017-11-28 华为技术有限公司 一种图像合成方法和图像芯片以及图像设备
JP6589526B2 (ja) * 2015-09-30 2019-10-16 ブラザー工業株式会社 ビットレート決定装置、サーバ装置、ビットレート決定方法、及びプログラム
CN105791978A (zh) * 2016-03-01 2016-07-20 中磊电子(苏州)有限公司 视频处理方法及视频处理***
US11343551B1 (en) * 2019-07-23 2022-05-24 Amazon Technologies, Inc. Bandwidth estimation for video streams

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06169452A (ja) * 1992-11-27 1994-06-14 Kyocera Corp 画面に重み付けを持たせた画像圧縮方式
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6172672B1 (en) * 1996-12-18 2001-01-09 Seeltfirst.Com Method and system for providing snapshots from a compressed digital video stream
US6139197A (en) * 1997-03-04 2000-10-31 Seeitfirst.Com Method and system automatically forwarding snapshots created from a compressed digital video stream
US6850965B2 (en) * 1998-11-17 2005-02-01 Arthur Douglas Allen Method for connection acceptance and rapid determination of optimal multi-media content delivery over network
JP2003224846A (ja) * 2002-01-29 2003-08-08 Matsushita Electric Ind Co Ltd 画像処理装置、復号化装置、符号化装置、画像処理システム、画像処理方法、及び、符号化方法
US7555006B2 (en) * 2003-09-15 2009-06-30 The Directv Group, Inc. Method and system for adaptive transcoding and transrating in a video network
KR100893863B1 (ko) * 2006-09-05 2009-04-20 엘지전자 주식회사 무선 통신 시스템에서의 링크 적응적 데이터 전송 방법
JP2009016934A (ja) * 2007-06-29 2009-01-22 Toshiba Corp 映像再生装置
JP2009049528A (ja) * 2007-08-14 2009-03-05 Canon Inc 画像配信システム、画像配信方法、及びコンピュータプログラム
JP4670902B2 (ja) 2008-05-30 2011-04-13 ソニー株式会社 送信装置、送信方法および受信装置
US8042143B2 (en) * 2008-09-19 2011-10-18 At&T Intellectual Property I, L.P. Apparatus and method for distributing media content
JP5089658B2 (ja) * 2009-07-16 2012-12-05 株式会社Gnzo 送信装置及び送信方法
US20110032986A1 (en) * 2009-08-07 2011-02-10 Sling Media Pvt Ltd Systems and methods for automatically controlling the resolution of streaming video content
EP2556439A4 (en) * 2010-04-08 2015-03-04 Vasona Networks CONTINUOUS BANDWIDTH MANAGEMENT FOR MULTIPLE CUSTOMERS
US9137278B2 (en) * 2010-04-08 2015-09-15 Vasona Networks Inc. Managing streaming bandwidth for multiple clients
CN103141110A (zh) * 2010-08-11 2013-06-05 耶德托公司 用于向多个用户装置提供加密内容的方法和***
US8997160B2 (en) * 2010-12-06 2015-03-31 Netflix, Inc. Variable bit video streams for adaptive streaming
US8982942B2 (en) * 2011-06-17 2015-03-17 Microsoft Technology Licensing, Llc Adaptive codec selection

Also Published As

Publication number Publication date
WO2014002978A1 (ja) 2014-01-03
EP2869581A4 (en) 2016-01-13
JP2014011622A (ja) 2014-01-20
EP2869581A1 (en) 2015-05-06
US20150113582A1 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
JP5838925B2 (ja) 通信システム、端末装置、動画の表示方法、及びプログラム
JP5928196B2 (ja) 通信システム、端末装置、登録方法、及びプログラム
JP5825279B2 (ja) 端末装置及びプログラム
WO2013175979A1 (ja) 撮像装置、マスク画像設定方法、および、記録媒体
JP6015493B2 (ja) 端末装置、及びプログラム
WO2014132987A1 (ja) 情報処理装置及び情報処理方法
JP7255116B2 (ja) 情報処理システム、端末装置およびプログラム
WO2009119394A1 (ja) 映像取得方法、映像取得装置、映像取得システム及び映像取得用プログラム
JP2013255210A (ja) 映像表示方法、映像表示装置および映像表示プログラム
JP6270555B2 (ja) 画像処理システム、撮像装置及びその制御方法
JP2013243543A (ja) 撮像装置、マスク画像の重畳方法、および、プログラム
JP5915604B2 (ja) 情報処理装置、プログラム及び情報処理方法
JP6084080B2 (ja) 撮像装置
TW201942713A (zh) 資訊處理裝置、資料處理方法、及程式
JP2012222399A (ja) 映像再生システム、映像再生方法、映像再生装置及びプログラム
EP3820153A1 (en) Image capturing device, distribution system, distribution method, and carrier means
JP2014107590A (ja) 撮像装置、撮像システム、撮像装置の制御方法およびプログラム
JP2018033151A (ja) 撮像装置、設定方法、および、プログラム
JP5850012B2 (ja) 情報処理装置、プログラム及び通信システム
JP4331492B2 (ja) 画像処理装置、画像提供サーバ装置、画像処理方法および画像処理プログラム
CN104853245A (zh) 一种电影预览方法和装置
JP6343377B2 (ja) 撮像装置、撮像システム、撮像装置の制御方法、撮像システムの制御方法およびプログラム
WO2020050058A1 (ja) コンテンツ配信システムおよびコンテンツ配信方法、並びにプログラム
JP6253681B2 (ja) 撮像装置、設定方法、および、プログラム
JP5854019B2 (ja) 端末装置、及びプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151013

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026

R150 Certificate of patent or registration of utility model

Ref document number: 5838925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150