JP2017046183A - 送信装置、受信装置及び通信システム - Google Patents
送信装置、受信装置及び通信システム Download PDFInfo
- Publication number
- JP2017046183A JP2017046183A JP2015167078A JP2015167078A JP2017046183A JP 2017046183 A JP2017046183 A JP 2017046183A JP 2015167078 A JP2015167078 A JP 2015167078A JP 2015167078 A JP2015167078 A JP 2015167078A JP 2017046183 A JP2017046183 A JP 2017046183A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- evaluation
- data
- segment data
- list
- 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
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】必要度が高い等と評価されるメディアデータの部分を効率的に送受信する。【解決手段】メディアデータを端末に送信するカメラ100であって、メディアデータの一部に対応するセグメントデータを生成する生成手段と、生成手段で生成したセグメントデータを評価する評価手段と、評価手段の評価に基づいて、セグメントデータについての情報の一覧であるセグメントリストを管理する管理手段と、管理手段で管理するセグメントリストを送信する第1送信手段と、生成手段で生成したセグメントデータを送信する第2送信手段と、を備える。【選択図】図1
Description
本発明は、メディアデータを送信する送信装置、メディアデータを受信する受信装置、送信装置と受信装置とを備える通信システム、送信装置及び受信装置の制御方法、並びに、送信装置及び受信装置を制御するためのプログラムに関する。
近年、ネットワークカメラやビデオ会議システム等において、ネットワークを介して動画データや音声データ等のメディアデータをリアルタイムに送受信するライブストリーミングの技術が実用化されている。ライブストリーミングにおいて、従来ファイル転送等に用いられていたプロトコルを使用して、ストリーミング映像データの転送を行う方法がある。なお、従来ファイル転送等に用いられていたプロトコルとしては、HTTP(Hypertext Transfer Protocol)及びTCP(Transmission Control Protocol)がある。
ところで、カメラでの撮影において、意図しない乱れた映像や、必要のない映像が撮られてしまうことがある。これに対し、加速度センサー・被写体動き検知・フォーカス合焦判断等を用いて撮影映像の必要度を判断し、エンコードビットレートを変更することで記録媒体の記録可能容量の消費量を抑制するものがある(特許文献1)。また、デジタル放送番組を記録媒体に録画した後、データ再生時にコマーシャルコンテンツをカットして放送番組コンテンツのみを再生するものがある(特許文献2)。
ところで、カメラでの撮影において、意図しない乱れた映像や、必要のない映像が撮られてしまうことがある。これに対し、加速度センサー・被写体動き検知・フォーカス合焦判断等を用いて撮影映像の必要度を判断し、エンコードビットレートを変更することで記録媒体の記録可能容量の消費量を抑制するものがある(特許文献1)。また、デジタル放送番組を記録媒体に録画した後、データ再生時にコマーシャルコンテンツをカットして放送番組コンテンツのみを再生するものがある(特許文献2)。
しかしながら、ライブストリーミングでは、ネットワークの通信路の状況や機器のバッファリングにより、輻輳遅延が発生することがあり、メディアデータ中の必要度の高い部分を効率的に送受信できないことがある。一方で、特許文献1及び2には、ライブストリーミングにおいて、メディアデータ中の必要度の高い部分を効率的に送受信する技術は開示されていない。
そこで、本発明は、必要度が高い等と評価されるメディアデータの部分を効率的に送受信することを目的とする。
そこで、本発明は、必要度が高い等と評価されるメディアデータの部分を効率的に送受信することを目的とする。
本発明は、メディアデータを受信装置に送信する送信装置であって、メディアデータの一部に対応するセグメントデータを生成する生成手段と、前記生成手段で生成したセグメントデータを評価する評価手段と、前記評価手段の評価に基づいて、セグメントデータについての情報の一覧であるセグメントリストを管理する管理手段と、前記管理手段で管理する前記セグメントリストを送信する第1送信手段と、前記生成手段で生成したセグメントデータを送信する第2送信手段と、を備えることを特徴とする。
本発明は、送信対象の一部に対応するセグメントデータの評価に基づいて、セグメントデータについての情報の一覧であるセグメントリストが送信装置で管理され、このセグメントリストが受信装置に送信される。このため、送信装置又は受信装置は、セグメントデータの評価に基づくセグメントリストから、送受信するセグメントデータを決定できる。したがって、必要度が高い等と評価されるセグメントデータを効率的に送受信できる。
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
<第1実施形態>
本実施形態の通信システムは、送信装置の一例であって撮像装置であるカメラ100と、受信装置の一例であって情報処理装置である端末200とを備える。カメラ100は、後述の通り、映像データ等のストリーミングデータを端末200に送信する。端末200は、受信したストリーミングデータを表示する。なお、カメラ100には、撮影機能を主とするスチルカメラやビデオカメラの他に、カメラ付き携帯電話やいわゆるタブレット端末を用いてもよい。また、端末200には、一般的なパーソナルコンピュータの他に、いわゆるスマートフォン等の携帯電話やいわゆるタブレット端末、テレビ等を用いてもよい。
<第1実施形態>
本実施形態の通信システムは、送信装置の一例であって撮像装置であるカメラ100と、受信装置の一例であって情報処理装置である端末200とを備える。カメラ100は、後述の通り、映像データ等のストリーミングデータを端末200に送信する。端末200は、受信したストリーミングデータを表示する。なお、カメラ100には、撮影機能を主とするスチルカメラやビデオカメラの他に、カメラ付き携帯電話やいわゆるタブレット端末を用いてもよい。また、端末200には、一般的なパーソナルコンピュータの他に、いわゆるスマートフォン等の携帯電話やいわゆるタブレット端末、テレビ等を用いてもよい。
次に、図1を参照して、カメラ100の構成を説明する。図1は、カメラ100のブロック図である。カメラ100は、内部バス110と、内部バス110に接続するCPU(Central Processing Unit)101及びROM(Read Only Memory)102とを備える。また、カメラ100は、内部バス110に接続するRAM(Random Access Memory)103、入力処理部104、出力処理部106及び通信制御部108を備える。また、カメラ100は、内部バス110に接続する記録媒体制御部111、カメラ信号処理部115及び符号・復号処理部116を備える。内部バス110に接続される各部は、内部バス110を介して互いにデータのやりとりができる。また、カメラ100は、さらに操作部105、表示部107、通信インタフェース109、光学系113、撮像素子114及び記録媒体112を備える。
CPU101は、ROM102又は記録媒体112に格納されるプログラムに従い、RAM103をワークメモリとして用いて、カメラ100の各部を制御する。
ROM102は、CPU101が動作するための各種プログラムや設定データを格納する。ROM102にはフラッシュメモリが含まれてもよい。
RAM103は、CPU101が動作時に必要とするプログラム、変数及び作業用の一時データ等を適宜記憶する。
入力処理部104は、操作部105でのユーザ操作を受け付け、操作に応じた制御信号を生成し、CPU101に供給する。
操作部105は、入力処理部104に接続して、ユーザ操作を受け付ける入力デバイスである。操作部105として、キーボードといった文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイス等が使われる。また、赤外線リモコン等の遠隔操作可能なものもが使われてもよい。なお、タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。入力処理部104及び操作部105により、カメラ100に対し、ユーザ操作に応じた動作を行わせることができる。
出力処理部106は、CPU101がプログラムに従い生成したGUI(Graphical User Interface)等の表示データに基づき、表示部107に対して表示させるための表示信号を出力する。
表示部107は、出力処理部106に接続して、画像等を表示する。
なお、操作部105としてタッチパネルを用いる場合、操作部105と表示部107とを一体的に構成できる。例えば、光の透過率が表示部107の表示を妨げないようにタッチパネルを構成し、表示部107の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、表示部107上の表示座標とを対応付ける。これにより、あたかもユーザが表示部107上に表示された画面を直接的に操作可能であるかのようなGUIを構成できる。
ROM102は、CPU101が動作するための各種プログラムや設定データを格納する。ROM102にはフラッシュメモリが含まれてもよい。
RAM103は、CPU101が動作時に必要とするプログラム、変数及び作業用の一時データ等を適宜記憶する。
入力処理部104は、操作部105でのユーザ操作を受け付け、操作に応じた制御信号を生成し、CPU101に供給する。
操作部105は、入力処理部104に接続して、ユーザ操作を受け付ける入力デバイスである。操作部105として、キーボードといった文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイス等が使われる。また、赤外線リモコン等の遠隔操作可能なものもが使われてもよい。なお、タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。入力処理部104及び操作部105により、カメラ100に対し、ユーザ操作に応じた動作を行わせることができる。
出力処理部106は、CPU101がプログラムに従い生成したGUI(Graphical User Interface)等の表示データに基づき、表示部107に対して表示させるための表示信号を出力する。
表示部107は、出力処理部106に接続して、画像等を表示する。
なお、操作部105としてタッチパネルを用いる場合、操作部105と表示部107とを一体的に構成できる。例えば、光の透過率が表示部107の表示を妨げないようにタッチパネルを構成し、表示部107の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、表示部107上の表示座標とを対応付ける。これにより、あたかもユーザが表示部107上に表示された画面を直接的に操作可能であるかのようなGUIを構成できる。
通信制御部108は、CPU101の制御に基づき、通信インタフェース109を介して、外部装置との通信を行う。なお、本実施形態では、通信制御部108は端末200と通信を行う。通信方法としては、無線のIEEE802.11やBluetooth(登録商標)、有線のIEEE802.3等を用いることができる。
通信インタフェース109は、アンテナ及びコネクタの少なくとも一方を備え、通信制御部108と接続して外部装置との通信を行う。無線での通信を行う場合、通信インタフェース109のアンテナが使われる。有線での通信を行う場合、通信インタフェース109のコネクタが使われる。
記録媒体制御部111は、記録媒体112が接続され、CPU101の制御に基づき、記録媒体112からのデータの読み出しや、記録媒体112に対するデータの書き込みを行う。
記録媒体112は、記録媒体制御部111に接続するデータの記録が可能な媒体である。記録媒体112には、HDD(hard disk drive)や不揮発性の半導体メモリ等が使われる。なお、記録媒体112には、不図示のソケット等を介して記録媒体制御部111へ着脱可能に接続できるメモリカード等の不揮発性の半導体メモリを用いてもよい。
通信インタフェース109は、アンテナ及びコネクタの少なくとも一方を備え、通信制御部108と接続して外部装置との通信を行う。無線での通信を行う場合、通信インタフェース109のアンテナが使われる。有線での通信を行う場合、通信インタフェース109のコネクタが使われる。
記録媒体制御部111は、記録媒体112が接続され、CPU101の制御に基づき、記録媒体112からのデータの読み出しや、記録媒体112に対するデータの書き込みを行う。
記録媒体112は、記録媒体制御部111に接続するデータの記録が可能な媒体である。記録媒体112には、HDD(hard disk drive)や不揮発性の半導体メモリ等が使われる。なお、記録媒体112には、不図示のソケット等を介して記録媒体制御部111へ着脱可能に接続できるメモリカード等の不揮発性の半導体メモリを用いてもよい。
光学系113は、フォーカス、絞り機構等を含む撮影レンズであり、被写体の光学像を形成する。
撮像素子114は、CCDやCMOS素子等で構成され、本実施形態ではA/D変換器を含み、光学像をアナログ電気信号に変換した後、デジタル信号に変換する。
カメラ信号処理部115は、CPU101の制御に基づき、撮像素子114で変換されたデジタル信号に対し、所定の画素補間及び縮小といったリサイズ処理や色変換、各種補正処理等を行う。
符号・復号処理部116は、CPU101の制御に基づき、カメラ信号処理部115で処理されたデジタル信号を所定のビットレート、フォーマット形式で圧縮符号化したり、映像圧縮符号化データを復号化したりする。
なお、カメラ100が音声付き映像を端末200に送信するには、カメラ100は、マイクロホン、音声のアナログ信号をデジタル化するA/D変換器、及び、音声のデジタルデータを符号化する符号部を備える必要がある。カメラ100は、映像記録時には映像と共に音声も同時に収録し、符号・復号処理部116で映像と音声を多重化して、音声付映像データを生成する。
撮像素子114は、CCDやCMOS素子等で構成され、本実施形態ではA/D変換器を含み、光学像をアナログ電気信号に変換した後、デジタル信号に変換する。
カメラ信号処理部115は、CPU101の制御に基づき、撮像素子114で変換されたデジタル信号に対し、所定の画素補間及び縮小といったリサイズ処理や色変換、各種補正処理等を行う。
符号・復号処理部116は、CPU101の制御に基づき、カメラ信号処理部115で処理されたデジタル信号を所定のビットレート、フォーマット形式で圧縮符号化したり、映像圧縮符号化データを復号化したりする。
なお、カメラ100が音声付き映像を端末200に送信するには、カメラ100は、マイクロホン、音声のアナログ信号をデジタル化するA/D変換器、及び、音声のデジタルデータを符号化する符号部を備える必要がある。カメラ100は、映像記録時には映像と共に音声も同時に収録し、符号・復号処理部116で映像と音声を多重化して、音声付映像データを生成する。
次に、図2を参照して、端末200の構成を説明する。図2は、端末200のブロック図である。端末200は、内部バス210と、内部バス210に接続するCPU201、ROM202、RAM203、入力処理部204、出力処理部206、通信制御部208、記録媒体制御部211及び符号・復号処理部213とを備える。端末200は、さらに操作部205、表示部207、通信インタフェース209及び記録媒体212を備える。
符号・復号処理部213は、CPU201の制御に基づき、映像圧縮符号化データを復号化したり、必要に応じて復号化したデータを再符号化したりする。なお、図2に示す端末200の各部は、図1に示すカメラ100の同名称の部分と同様の機能をもつため、詳細な説明を省略する。
符号・復号処理部213は、CPU201の制御に基づき、映像圧縮符号化データを復号化したり、必要に応じて復号化したデータを再符号化したりする。なお、図2に示す端末200の各部は、図1に示すカメラ100の同名称の部分と同様の機能をもつため、詳細な説明を省略する。
次に、本実施形態の通信システムで行われるライブストリーミングについて説明する。本実施形態の通信システムは、プレイリストを利用したライブストリーミングを行う。そこで、まずプレイリストを用いたストリーミングの基本的な動作を説明する。
第1の動作として、サーバとなるカメラ100は、ストリーミングに使われる音声データや映像データ等のメディアデータ(以下、ストリーミングデータという)の記録を行う。カメラ100は、所定時間記録を行った後、この所定時間分のデータをストリーミングデータの一部に対応するセグメント(セグメントデータともいう)として保存する。そして、カメラ100は、セグメントの情報であるセグメント情報を作成する。さらに、カメラ100は、セグメント情報の一覧が含まれるプレイリストを作成し管理する。なお、プレイリストは、本発明のセグメントリストに相当する。
セグメント情報には、後述の通り、セグメントの取得先のアドレスであるセグメントアドレスが含まれる。リアルタイムでのストリーミングであるライブストリーミングの場合、カメラ100は定期的にセグメントを生成し、新しいセグメントを生成すると動的にプレイリストを更新する。すなわち、ライブストリーミングの場合はスライドウインドウ型プレイリストが使われる。プレイリストの更新には、プレイリストからの特定のセグメント情報の削除や、プレイリストへの新しいセグメント情報の追記が含まれる。
第1の動作として、サーバとなるカメラ100は、ストリーミングに使われる音声データや映像データ等のメディアデータ(以下、ストリーミングデータという)の記録を行う。カメラ100は、所定時間記録を行った後、この所定時間分のデータをストリーミングデータの一部に対応するセグメント(セグメントデータともいう)として保存する。そして、カメラ100は、セグメントの情報であるセグメント情報を作成する。さらに、カメラ100は、セグメント情報の一覧が含まれるプレイリストを作成し管理する。なお、プレイリストは、本発明のセグメントリストに相当する。
セグメント情報には、後述の通り、セグメントの取得先のアドレスであるセグメントアドレスが含まれる。リアルタイムでのストリーミングであるライブストリーミングの場合、カメラ100は定期的にセグメントを生成し、新しいセグメントを生成すると動的にプレイリストを更新する。すなわち、ライブストリーミングの場合はスライドウインドウ型プレイリストが使われる。プレイリストの更新には、プレイリストからの特定のセグメント情報の削除や、プレイリストへの新しいセグメント情報の追記が含まれる。
次に、第2の動作として、クライアントとなる端末200は、カメラ100からプレイリストを受信して解析する。そして、端末200は、プレイリストに列挙されたセグメント情報の順に、セグメント情報に含まれるセグメントアドレスにセグメント取得要求を送信し、この要求の応答としてセグメントを受信する。
次に、第3の動作として、端末200は、受信したセグメントの再生表示又は保存を行う。
カメラ100及び端末200は、ストリーミングの終了まで、上述の第1から第3の動作を繰り返す。
次に、第3の動作として、端末200は、受信したセグメントの再生表示又は保存を行う。
カメラ100及び端末200は、ストリーミングの終了まで、上述の第1から第3の動作を繰り返す。
次に、図3を参照して、本実施形態の通信システムで行われるライブストリーミングの動作を説明する。図3は、本実施形態の通信システムのシーケンス図である。
図3に示す動作に先立って、ユーザは、カメラ100の操作部105を操作してカメラ100のライブストリーミングの機能の実行を指示する。カメラ100のCPU101は、通信制御部108を通信可能な状態にする。
また、ユーザは、端末200の操作部205を操作して、カメラ100との通信接続処理及びライブストリーミングに必要なアプリケーションの起動を指示する。端末200のCPU201は、端末200のROM202又は記録媒体212に格納された当該アプリケーションのプログラムを実行して、端末200の通信制御部208を制御し、カメラ100との通信を開始する。なお、カメラ100及び端末200は、通信プロトコルとしてHTTPを使用するものとする。また、端末200は、通信接続においてUPnP(Universal Plug and Play)に対応しているものとする。
図3に示す動作に先立って、ユーザは、カメラ100の操作部105を操作してカメラ100のライブストリーミングの機能の実行を指示する。カメラ100のCPU101は、通信制御部108を通信可能な状態にする。
また、ユーザは、端末200の操作部205を操作して、カメラ100との通信接続処理及びライブストリーミングに必要なアプリケーションの起動を指示する。端末200のCPU201は、端末200のROM202又は記録媒体212に格納された当該アプリケーションのプログラムを実行して、端末200の通信制御部208を制御し、カメラ100との通信を開始する。なお、カメラ100及び端末200は、通信プロトコルとしてHTTPを使用するものとする。また、端末200は、通信接続においてUPnP(Universal Plug and Play)に対応しているものとする。
UPnP対応の端末200は、ネットワークに接続すると、IP(Internet Protocol)アドレスの設定を行う。IPアドレスの設定にはDHCP(Dynamic Host Configuration Protocol)又はAutoIPが使われる。IPアドレスを取得した端末200は、ネットワーク上の他の機器を相互に認識するために、図3のステップS303及びS304に示す「デバイスディスカバリーとコントロール」を行う。
ステップS303において、端末200は、デバイス検索要求を送信する。カメラ100はこの要求を受信する。
ステップS304において、カメラ100は、デバイス検索要求に対する応答として、機器情報、機器固有情報であるプレイリスト取得先の情報、及び、サービス情報等を、端末200に送信する。端末200はこの情報を受信する。
ステップS304により接続処理が完了し、カメラ100はライブストリーミングを開始する。
ステップS303において、端末200は、デバイス検索要求を送信する。カメラ100はこの要求を受信する。
ステップS304において、カメラ100は、デバイス検索要求に対する応答として、機器情報、機器固有情報であるプレイリスト取得先の情報、及び、サービス情報等を、端末200に送信する。端末200はこの情報を受信する。
ステップS304により接続処理が完了し、カメラ100はライブストリーミングを開始する。
ライブストリーミングが開始すると、カメラ100は所定の周期で、セグメント302の生成、及び、プレイリスト301の更新を行う。まずセグメント302について説明する。
ライブストリーミング実行時に、カメラ100のCPU101は、撮像素子114からの信号出力を開始する。カメラ100のカメラ信号処理部115は、この出力を適切な映像データになるように処理し、処理された映像データ、及び、ズーム倍率(又は焦点距離)等のカメラステータスを符号・復号処理部116に送る。
符号・復号処理部116は、受け取った映像データ等を所定のビットレート及びフォーマット形式で圧縮符号化し、さらに所定の再生時間Tsとなるセグメント302を生成する。CPU101は、セグメント302をRAM103又は記録媒体112に保存する。本実施形態では再生時間Tsを0.5秒とする。
なお、端末200は、セグメント302の所定の再生時間Tsを事前に記憶しているものとする。ただし、図3のステップS304で、カメラ100は再生時間Tsをカメラ100の機器情報に含めて端末200に送信し、端末200は、この機器情報から再生時間Tsを取得してもよい。
ライブストリーミング実行時に、カメラ100のCPU101は、撮像素子114からの信号出力を開始する。カメラ100のカメラ信号処理部115は、この出力を適切な映像データになるように処理し、処理された映像データ、及び、ズーム倍率(又は焦点距離)等のカメラステータスを符号・復号処理部116に送る。
符号・復号処理部116は、受け取った映像データ等を所定のビットレート及びフォーマット形式で圧縮符号化し、さらに所定の再生時間Tsとなるセグメント302を生成する。CPU101は、セグメント302をRAM103又は記録媒体112に保存する。本実施形態では再生時間Tsを0.5秒とする。
なお、端末200は、セグメント302の所定の再生時間Tsを事前に記憶しているものとする。ただし、図3のステップS304で、カメラ100は再生時間Tsをカメラ100の機器情報に含めて端末200に送信し、端末200は、この機器情報から再生時間Tsを取得してもよい。
カメラ100のCPU101は、セグメント302のアドレスであるセグメントアドレスを生成する。セグメントアドレスは、端末200がセグメント302を取得する際のアドレスとして使用するものであり、例えばURL(Uniform Resource Locator)で表される。CPU101は、プレイリスト301を作成し、プレイリスト301にセグメント302のセグメントアドレスを含んだセグメント情報を記録する。
次に、図4を参照して、プレイリスト301について説明する。図4はプレイリスト301の例を示す図である。プレイリスト301は、Extended M3U形式のプレイリストである。プレイリスト301は、識別子411とバージョン情報412とセグメント情報415とを含む。
識別子411は、プレイリスト301がExtended M3U形式であることを示す識別子タグである。識別子411は、プレイリスト301の第1行目に記述される。
バージョン情報412は、プレイリスト301のバージョンである。バージョン情報412は、バージョン情報を示すタグと共にプレイリスト301の第2行目に記述される。本実施形態では、バージョンとして「3」が記述される。
識別子411は、プレイリスト301がExtended M3U形式であることを示す識別子タグである。識別子411は、プレイリスト301の第1行目に記述される。
バージョン情報412は、プレイリスト301のバージョンである。バージョン情報412は、バージョン情報を示すタグと共にプレイリスト301の第2行目に記述される。本実施形態では、バージョンとして「3」が記述される。
セグメント情報415は、1つのセグメントについての情報であり、セグメントの再生時間413とセグメントアドレス414とを含む。セグメント情報415は、プレイリスト301の第3行目以降に記述される。
再生時間413は、セグメント情報415が表すセグメントの再生時間である。再生時間413は、再生時間を示すタグと共にプレイリスト301に記述される。再生時間413は、例えば、単位を秒とし、整数又は小数で記述される。本実施形態では、再生時間Tsが0.5秒であるため、再生時間として0.5と記述される。
セグメントアドレス414は、セグメント情報415が表すセグメントについてのセグメントアドレスである。セグメントアドレスは、上述の通りURLで表され、クエリパラメータを含む。再生時間413とセグメントアドレス414とは、所定のセグメントに関する情報として、続けて記述する必要がある。プレイリスト301が複数のセグメントについての情報を含むときは、プレイリスト301はセグメント情報415を複数備える。
再生時間413は、セグメント情報415が表すセグメントの再生時間である。再生時間413は、再生時間を示すタグと共にプレイリスト301に記述される。再生時間413は、例えば、単位を秒とし、整数又は小数で記述される。本実施形態では、再生時間Tsが0.5秒であるため、再生時間として0.5と記述される。
セグメントアドレス414は、セグメント情報415が表すセグメントについてのセグメントアドレスである。セグメントアドレスは、上述の通りURLで表され、クエリパラメータを含む。再生時間413とセグメントアドレス414とは、所定のセグメントに関する情報として、続けて記述する必要がある。プレイリスト301が複数のセグメントについての情報を含むときは、プレイリスト301はセグメント情報415を複数備える。
ここで図3の説明に戻ると、図3のステップS305において、端末200は、ライブストリーミングが開始してから約Ts(秒)後に、ステップ304で取得したプレイリスト取得先へ、プレイリスト取得要求を送信する。この送信にはHTTPのGETメソッドが使われる。カメラ100は、このプレイリスト取得要求を受信する。
ステップS306において、カメラ100は、セグメント情報415が例えば1つ記述されたプレイリスト301を、プレイリスト取得要求の応答として端末200に送信する。端末200は、このプレイリスト301を受信する。
ステップS307において、端末200は、受信したプレイリスト301を解析し、プレイリスト301のセグメント情報415に含まれるセグメントアドレスに対してセグメント取得要求を送信する。この送信にはHTTPのGETメソッドが使われる。カメラ100は、このセグメント取得要求を受信する。
ステップS308において、カメラ100は、要求されたセグメント302を、セグメント取得要求の応答として端末200に送信する。端末200は、このセグメント302を受信する。
ステップS306において、カメラ100は、セグメント情報415が例えば1つ記述されたプレイリスト301を、プレイリスト取得要求の応答として端末200に送信する。端末200は、このプレイリスト301を受信する。
ステップS307において、端末200は、受信したプレイリスト301を解析し、プレイリスト301のセグメント情報415に含まれるセグメントアドレスに対してセグメント取得要求を送信する。この送信にはHTTPのGETメソッドが使われる。カメラ100は、このセグメント取得要求を受信する。
ステップS308において、カメラ100は、要求されたセグメント302を、セグメント取得要求の応答として端末200に送信する。端末200は、このセグメント302を受信する。
ライブストリーミング実行中、カメラ100は、約Ts(秒)毎にセグメント302の生成、及び、プレイリスト301の更新を行う。カメラ100は、端末200が取得したセグメント302についてのセグメント情報415を、プレイリスト301から削除する。
端末200は、カメラ100がプレイリスト301の更新を行う度、すなわち、約Ts(秒)毎に、ステップS305に示すプレイリスト取得要求をカメラ100に送信する。そして、端末200は、ステップS306で受信したプレイリスト301に記載のセグメント情報415に基づいて、ステップS307でセグメント取得要求を送信し、ステップS308でセグメント302を受信する。
このようにして、端末200によるセグメント302の取得が続けられる。
端末200は、カメラ100がプレイリスト301の更新を行う度、すなわち、約Ts(秒)毎に、ステップS305に示すプレイリスト取得要求をカメラ100に送信する。そして、端末200は、ステップS306で受信したプレイリスト301に記載のセグメント情報415に基づいて、ステップS307でセグメント取得要求を送信し、ステップS308でセグメント302を受信する。
このようにして、端末200によるセグメント302の取得が続けられる。
なお、ステップS305及びS307で端末200からカメラ100へ送信されるプレイリスト取得要求及びセグメント取得要求には、端末200又はアプリケーションの固有のIDが含まれる。カメラ100は、最初の要求に含まれるIDと一致するIDを含む要求のみに対して応答する。つまり、本実施形態のカメラ100と端末200は1対1接続でのみストリーミングを行う。
端末200は、受信したセグメント302を符号・復号処理部213に渡し、復号化した後、出力処理部206を介して、表示部207で再生表示を行う。ここで、図8を参照して、端末200の表示部207に表示されるライブストリーミング実行時の画面の例を説明する。図8は、端末200の画面の例を示す図である。なお、図8には、タッチパネル等が使われて操作部205及び表示部207が一体化された端末200の画面の例が示されている。
図8に示す端末200の表示部207の画面は、表示エリア801と、ズーム情報部802と、記録状態部803と、バッテリー情報部804と、ズーム制御ボタン805とを備える。さらに、表示部207の画面は、カメラ記録ボタン806と、端末記録ボタン807とを備える。
図8に示す端末200の表示部207の画面は、表示エリア801と、ズーム情報部802と、記録状態部803と、バッテリー情報部804と、ズーム制御ボタン805とを備える。さらに、表示部207の画面は、カメラ記録ボタン806と、端末記録ボタン807とを備える。
表示エリア801には、端末200がカメラ100から受信したストリーミングデータ、すなわちセグメント302が表示される。
ズーム情報部802、記録状態部803及びバッテリー情報部804には、それぞれ、カメラ100のズームに関する情報、カメラ100が記録しているか否か、カメラ100のバッテリーの残量が表示される。
ズーム制御ボタン805は、カメラ100のズーム倍率を変更するためのボタンである。ユーザがズーム制御ボタン805を操作することで、端末200からカメラ100に、カメラ100のズーム倍率変更の命令が送信される。カメラ100は、この命令を受信して、命令に応じてズーム倍率を変更する。
カメラ記録ボタン806は、カメラ100での記録を開始したり終了したりするためのボタンである。ユーザがカメラ記録ボタン806を操作することで、端末200からカメラ100に、カメラ100の記録の開始命令又は終了命令が送信される。カメラ100は、この命令を受信して、命令に応じて記録の開始又は終了を行う。
端末記録ボタン807は、端末200での記録を開始したり終了したりするためのボタンである。ユーザが端末記録ボタン807を操作することで、端末200は、記録の開始又は終了を行う。端末200での記録が行われているときは、端末200で復号化したデータ、又は、セグメント302からヘッダ等を除いたデータ部を記録媒体212に記録保存する。そして、順次受信したセグメントデータを結合し記録していく。
ズーム情報部802、記録状態部803及びバッテリー情報部804には、それぞれ、カメラ100のズームに関する情報、カメラ100が記録しているか否か、カメラ100のバッテリーの残量が表示される。
ズーム制御ボタン805は、カメラ100のズーム倍率を変更するためのボタンである。ユーザがズーム制御ボタン805を操作することで、端末200からカメラ100に、カメラ100のズーム倍率変更の命令が送信される。カメラ100は、この命令を受信して、命令に応じてズーム倍率を変更する。
カメラ記録ボタン806は、カメラ100での記録を開始したり終了したりするためのボタンである。ユーザがカメラ記録ボタン806を操作することで、端末200からカメラ100に、カメラ100の記録の開始命令又は終了命令が送信される。カメラ100は、この命令を受信して、命令に応じて記録の開始又は終了を行う。
端末記録ボタン807は、端末200での記録を開始したり終了したりするためのボタンである。ユーザが端末記録ボタン807を操作することで、端末200は、記録の開始又は終了を行う。端末200での記録が行われているときは、端末200で復号化したデータ、又は、セグメント302からヘッダ等を除いたデータ部を記録媒体212に記録保存する。そして、順次受信したセグメントデータを結合し記録していく。
次に、ライブストリーミング実行時に輻輳が発生した場合の動作について、図5を参照して説明する。図5は、輻輳時を含むプレイリストの推移を示す図である。図3を参照して説明した通り、通信状況が良好である場合、プレイリスト取得要求(ステップS305)からセグメント応答(ステップS308)までの一連の処理が定期的に行われる。しかし、実際には、輻輳等により通信が定期的に行えなくなることがある。輻輳が発生しているときは、図5に示す通り、端末200はプレイリスト及びセグメントの取得が行えない。なお、図5に示すプレイリストの説明は、図6に示す処理の説明の中で行う。
次に、図6を参照して、ライブストリーミング実行時のカメラ100の処理を説明する。図6は、カメラ100のCPU101が実行する処理を示すフローチャートである。図6の処理は、カメラ100が端末200と接続を確立した後に開始する。
ステップS601において、カメラ100のCPU101は、ライブストリーミング開始に伴う、セグメント生成の処理を開始する。セグメント生成の処理は、次のような処理である。すなわち、CPU101は、撮像素子114からの信号出力を開始し、その出力をカメラ信号処理部115により適切な映像データに処理し、処理された映像データを符号・復号処理部116に渡す。符号・復号処理部116は、受け取った映像データを所定のビットレート及びフォーマット形式で圧縮符号化し、さらに所定の再生時間Tsを持つセグメントを生成する。本実施形態では、上述の通り再生時間Tsは0.5秒である。CPU101は、撮像素子114より得られた映像データを0.5秒単位に符号化してセグメントを作成し、セグメントを1つのファイルとしてRAM103又は記録媒体112に蓄積する。ステップS601で、このようなセグメント生成の処理が開始する。なお、このセグメント生成の処理は生成手段による処理の一例である。
ステップS601において、カメラ100のCPU101は、ライブストリーミング開始に伴う、セグメント生成の処理を開始する。セグメント生成の処理は、次のような処理である。すなわち、CPU101は、撮像素子114からの信号出力を開始し、その出力をカメラ信号処理部115により適切な映像データに処理し、処理された映像データを符号・復号処理部116に渡す。符号・復号処理部116は、受け取った映像データを所定のビットレート及びフォーマット形式で圧縮符号化し、さらに所定の再生時間Tsを持つセグメントを生成する。本実施形態では、上述の通り再生時間Tsは0.5秒である。CPU101は、撮像素子114より得られた映像データを0.5秒単位に符号化してセグメントを作成し、セグメントを1つのファイルとしてRAM103又は記録媒体112に蓄積する。ステップS601で、このようなセグメント生成の処理が開始する。なお、このセグメント生成の処理は生成手段による処理の一例である。
ステップS602において、カメラ100のCPU101は、一つのセグメントの生成が完了したか否かの判定を行う。CPU101は、再生時間Tsを持つデータが、RAM103又は記録媒体112に一時的に保存されたことを確認し、保存が完了しているときは、一つのセグメントの生成が完了したと判定してステップS603へ処理を進める。CPU101は、保存が完了していないときは、一つのセグメントの生成が完了していないと判定してステップS606へ処理を進める。なお、本ステップは問い合わせ(ポーリング)による判定で説明したが、CPU101は、再生時間Tsを持つセグメントを書き込んだことを検出して割り込み通知を行う等の方法によって、セグメント生成完了を判定するようにしてもよい。
ステップS603において、カメラ100のCPU101は、セグメント情報を生成する。上述の通り、セグメント情報には、セグメントの再生時間及びセグメントアドレスが含まれる。CPU101は、再生時間を上述の通り0.5秒とする。また、CPU101は、セグメントのファイル名等に関連付けたパス情報を使って、セグメントアドレスを生成する。なお、セグメントアドレスには、セグメントのファイル名のパス情報を使わず、セグメントを特定できるアドレスを使ってもよい。
ステップS604において、カメラ100のCPU101は、セグメントの評価を実行する。セグメントの評価方法は、カメラ100の撮影モードによって異なる。カメラ100の撮影モードには、ポートレートモードとスポーツモードと風景モードとがある。
ポートレートモードは、人物の撮影に適した撮影モードである。カメラ100がポートレートモードのとき、CPU101は、セグメントの映像データから顔検出がされるか否かによって評価する。CPU101は、セグメントの映像データから顔検出がされると必要度の高いセグメントと評価し、顔検出されないと必要度の低いセグメントと評価する。
スポーツモードは、動いている人物等の撮影に適した撮影モードである。カメラ100がスポーツモードのとき、CPU101は、セグメントの映像データに動きがあるか否かによって評価する。CPU101は、セグメントの映像データに動きがあるとき必要度の高いセグメントと評価し、動きがないとき必要度の低いセグメントと評価する。また、カメラ100がスポーツモードのとき、CPU101は、セグメントの音声データの音量が所定値以上か否かよって評価してもよい。CPU101は、セグメントの音声データの音量が所定値以上のとき必要度の高いセグメントと評価し、所定値未満のとき必要度の低いセグメントと評価する。
風景モードは、風景の撮影に適した撮影モードである。カメラ100が風景モードのとき、CPU101は、セグメントの映像データに所定以上の振動を検知するか否かによって評価する。CPU101は、セグメントの映像データに所定以上の振動を検知するとき必要度の低いセグメントと評価し、所定以上の振動を検知しないとき必要度の高いセグメントと評価する。
また、カメラ100がどの撮影モードであっても、セグメントの映像データが黒一色のとき、CPU101は必要度の低いセグメントと評価する。
そして、CPU101は、セグメントの必要度が低いと判定したときステップS606に処理を進め、セグメントの必要度が高いと判定したときステップS605に処理を進める。なお、ステップS604で行うセグメントの評価は、評価手段による処理の一例である。
ポートレートモードは、人物の撮影に適した撮影モードである。カメラ100がポートレートモードのとき、CPU101は、セグメントの映像データから顔検出がされるか否かによって評価する。CPU101は、セグメントの映像データから顔検出がされると必要度の高いセグメントと評価し、顔検出されないと必要度の低いセグメントと評価する。
スポーツモードは、動いている人物等の撮影に適した撮影モードである。カメラ100がスポーツモードのとき、CPU101は、セグメントの映像データに動きがあるか否かによって評価する。CPU101は、セグメントの映像データに動きがあるとき必要度の高いセグメントと評価し、動きがないとき必要度の低いセグメントと評価する。また、カメラ100がスポーツモードのとき、CPU101は、セグメントの音声データの音量が所定値以上か否かよって評価してもよい。CPU101は、セグメントの音声データの音量が所定値以上のとき必要度の高いセグメントと評価し、所定値未満のとき必要度の低いセグメントと評価する。
風景モードは、風景の撮影に適した撮影モードである。カメラ100が風景モードのとき、CPU101は、セグメントの映像データに所定以上の振動を検知するか否かによって評価する。CPU101は、セグメントの映像データに所定以上の振動を検知するとき必要度の低いセグメントと評価し、所定以上の振動を検知しないとき必要度の高いセグメントと評価する。
また、カメラ100がどの撮影モードであっても、セグメントの映像データが黒一色のとき、CPU101は必要度の低いセグメントと評価する。
そして、CPU101は、セグメントの必要度が低いと判定したときステップS606に処理を進め、セグメントの必要度が高いと判定したときステップS605に処理を進める。なお、ステップS604で行うセグメントの評価は、評価手段による処理の一例である。
ステップS605において、カメラ100のCPU101は、セグメント情報をプレイリストに追記する。
ここで、ライブストリーミング実行後、N回目に生成されたセグメントを第Nセグメントというと、例えば第1セグメントについてのセグメント情報500Aは、図5のプレイリスト510に示されるように生成される。また、カメラ100が管理するプレイリストがプレイリスト520のときに第4セグメントが生成されたとすると、プレイリスト520に第4セグメントのセグメント情報500Bが追記されたプレイリスト530が生成される。その後、第5セグメントが生成されると、プレイリスト530に第5セグメントのセグメント情報500Cが追記されたプレイリスト540が生成される。
しかし、ステップS604でセグメントの必要度が低いと評価されたときは、ステップS605の処理が行われないため、必要度が低いセグメントのセグメント情報はプレイリストに追記されない。例えば、カメラ100が管理するプレイリストがプレイリスト511のときに、第3セグメントが生成され、第3セグメントは必要度が低いと評価されたとする。このとき、プレイリスト511には第3セグメントのセグメント情報は追記されず、第3セグメント生成後のプレイリスト520はプレイリスト511と同じ内容となる。
このように、図6のステップS604で、CPU101が、セグメントの評価に応じて、ステップS605に進めるかステップS606に進めるかの判定は、プレイリストにセグメント情報を追記するか否かの判定になるといえる。なお、ステップS604のこの判定、及びステップS605は、管理手段による処理の一例である。
ここで、ライブストリーミング実行後、N回目に生成されたセグメントを第Nセグメントというと、例えば第1セグメントについてのセグメント情報500Aは、図5のプレイリスト510に示されるように生成される。また、カメラ100が管理するプレイリストがプレイリスト520のときに第4セグメントが生成されたとすると、プレイリスト520に第4セグメントのセグメント情報500Bが追記されたプレイリスト530が生成される。その後、第5セグメントが生成されると、プレイリスト530に第5セグメントのセグメント情報500Cが追記されたプレイリスト540が生成される。
しかし、ステップS604でセグメントの必要度が低いと評価されたときは、ステップS605の処理が行われないため、必要度が低いセグメントのセグメント情報はプレイリストに追記されない。例えば、カメラ100が管理するプレイリストがプレイリスト511のときに、第3セグメントが生成され、第3セグメントは必要度が低いと評価されたとする。このとき、プレイリスト511には第3セグメントのセグメント情報は追記されず、第3セグメント生成後のプレイリスト520はプレイリスト511と同じ内容となる。
このように、図6のステップS604で、CPU101が、セグメントの評価に応じて、ステップS605に進めるかステップS606に進めるかの判定は、プレイリストにセグメント情報を追記するか否かの判定になるといえる。なお、ステップS604のこの判定、及びステップS605は、管理手段による処理の一例である。
ステップS606において、カメラ100のCPU101は、通信制御部108を介して、端末200からのプレイリスト取得要求を受信したか否かを判定する。このプレイリスト取得要求の受信は図3のステップS305に対応する。CPU101は、プレイリスト取得要求を受信したときステップS607に処理を進め、プレイリスト取得要求を受信していないときステップS608に処理を進める。
ステップS607において、カメラ100のCPU101は、プレイリスト取得要求に対する応答として、通信制御部108を介して、端末200にプレイリストを送信する。このプレイリストの送信は、図3のステップS306に対応する。なお、ステップS607は、送信装置の第1送信手段による処理の一例である。
ステップS607において、カメラ100のCPU101は、プレイリスト取得要求に対する応答として、通信制御部108を介して、端末200にプレイリストを送信する。このプレイリストの送信は、図3のステップS306に対応する。なお、ステップS607は、送信装置の第1送信手段による処理の一例である。
ステップS608において、カメラ100のCPU101は、通信制御部108を介して、端末200からのセグメント取得要求を受信したか否かを判定する。このセグメント取得要求の受信は図3のステップS307に対応する。CPU101は、セグメント取得要求を受信したときステップS609に処理を進め、セグメント取得要求を受信していないときステップS612に処理を進める。
ステップS609において、カメラ100のCPU101は、ステップS608で受信したセグメント取得要求で要求されるセグメントが有効か否かの判定を行う。CPU101は、セグメントが有効のときステップS610に処理を進め、無効のときはステップS611に処理を進める。
ステップS609において、カメラ100のCPU101は、ステップS608で受信したセグメント取得要求で要求されるセグメントが有効か否かの判定を行う。CPU101は、セグメントが有効のときステップS610に処理を進め、無効のときはステップS611に処理を進める。
ステップS610において、カメラ100のCPU101は、セグメント取得要求に対する応答として、通信制御部108を介して、要求されたセグメントを端末200に送信する。このセグメントの送信は、図3のステップS308に対応する。また、CPU101は送信したセグメントをRAM103又は記録媒体112から削除する。
さらに、CPU101は、送信したセグメントについてのセグメント情報をプレイリストから削除する。例えば、カメラ100が管理するプレイリストが図5に示すプレイリスト510のときに、カメラ100がセグメント情報500Aに記載されている第1セグメントを端末200に送信したとする。このとき、カメラ100は、プレイリスト510からセグメント情報500Aを削除して、プレイリスト511を生成する。同様に、カメラ100が管理するプレイリストがプレイリスト540のときに、カメラ100が、セグメント情報500Bに記載されている第4セグメントを端末200に送信したとする。このとき、カメラ100は、プレイリスト540からセグメント情報500Bを削除して、プレイリスト541を生成する。
そして、CPU101は、ステップS612に処理を進める。なお、ステップS610でセグメントを送信する処理は、送信装置の第2送信手段による処理の一例である。
さらに、CPU101は、送信したセグメントについてのセグメント情報をプレイリストから削除する。例えば、カメラ100が管理するプレイリストが図5に示すプレイリスト510のときに、カメラ100がセグメント情報500Aに記載されている第1セグメントを端末200に送信したとする。このとき、カメラ100は、プレイリスト510からセグメント情報500Aを削除して、プレイリスト511を生成する。同様に、カメラ100が管理するプレイリストがプレイリスト540のときに、カメラ100が、セグメント情報500Bに記載されている第4セグメントを端末200に送信したとする。このとき、カメラ100は、プレイリスト540からセグメント情報500Bを削除して、プレイリスト541を生成する。
そして、CPU101は、ステップS612に処理を進める。なお、ステップS610でセグメントを送信する処理は、送信装置の第2送信手段による処理の一例である。
ステップS611において、カメラ100のCPU101は、セグメント取得要求に対する応答として、通信制御部108を介して、端末200にエラーステータスを送信し、ステップS612に処理を進める。
ステップS612において、カメラ100のCPU101は、ライブストリーミングを終了するか否かの判定を行う。この判定は、例えば、ユーザがライブストリーミングの終了を指示したか否かで行われる。ライブストリーミングを終了するとき、CPU101は図6の処理を終了し、ライブストリーミングを終了しないときCPU101はステップS602へ処理を戻す。
ステップS612において、カメラ100のCPU101は、ライブストリーミングを終了するか否かの判定を行う。この判定は、例えば、ユーザがライブストリーミングの終了を指示したか否かで行われる。ライブストリーミングを終了するとき、CPU101は図6の処理を終了し、ライブストリーミングを終了しないときCPU101はステップS602へ処理を戻す。
なお、図6に示す処理では、セグメント生成の完了イベント待ち(ステップS602)、プレイリスト取得要求の受信イベント待ち(ステップS606)及びセグメント取得要求の受信イベント待ち(ステップS608)を順番に行う。しかし、カメラ100は、これらのイベント待ちを同時に行い、発生したイベントに対応する処理を行うようにしてもよい。
次に、図7を参照して、ライブストリーミング実行時の端末200の処理を説明する。図7は、端末200のCPU201が実行する処理を示すフローチャートである。図7の処理は、端末200がカメラ100と接続を確立した後に開始する。
ステップS701において、端末200のCPU201は、カメラ100からプレイリスト取得先情報を受信し保持する。プレイリスト取得先情報の受信は、図3のステップS304に対応する。
ステップS702において、端末200のCPU201は、所定時間経過したか否かの判定を行う。CPU201は、所定時間が経過したときステップS703へ処理を進め、経過していないとき再度ステップS702で所定時間の経過を待つ。所定時間は、セグメントの再生時間Tsと同等の値にすることが望ましい。
ステップS701において、端末200のCPU201は、カメラ100からプレイリスト取得先情報を受信し保持する。プレイリスト取得先情報の受信は、図3のステップS304に対応する。
ステップS702において、端末200のCPU201は、所定時間経過したか否かの判定を行う。CPU201は、所定時間が経過したときステップS703へ処理を進め、経過していないとき再度ステップS702で所定時間の経過を待つ。所定時間は、セグメントの再生時間Tsと同等の値にすることが望ましい。
ステップS703において、端末200のCPU201は、ステップS701で取得したプレイリスト取得先情報を用いて、通信制御部208を介して、プレイリスト取得要求をカメラ100に送信する。このプレイリスト取得要求の送信は、図3のステップS305に対応する。
その後、CPU201は、通信制御部208を介して、プレイリストをカメラ100から受信する。そして、CPU201は、受信したプレイリストを解析する。CPU201は、プレイリストに含まれる識別子タグ及びバージョンを確認した後、プレイリストに含まれるセグメント情報を取得する。図7から分かるように、ステップS703は、所定時間の周期で実行される。すなわち、CPU201は、所定の周期でプレイリストをカメラ100から受信する。なお、本ステップでプレイリストをカメラ100から受信する処理は第1受信手段による処理の一例である。
ステップS704において、端末200のCPU201は、プレイリストにセグメント情報が存在するか否かの判定を行う。CPU201は、セグメント情報が存在するときステップS705へ処理を進め、存在しないときステップS703に処理を戻す。
その後、CPU201は、通信制御部208を介して、プレイリストをカメラ100から受信する。そして、CPU201は、受信したプレイリストを解析する。CPU201は、プレイリストに含まれる識別子タグ及びバージョンを確認した後、プレイリストに含まれるセグメント情報を取得する。図7から分かるように、ステップS703は、所定時間の周期で実行される。すなわち、CPU201は、所定の周期でプレイリストをカメラ100から受信する。なお、本ステップでプレイリストをカメラ100から受信する処理は第1受信手段による処理の一例である。
ステップS704において、端末200のCPU201は、プレイリストにセグメント情報が存在するか否かの判定を行う。CPU201は、セグメント情報が存在するときステップS705へ処理を進め、存在しないときステップS703に処理を戻す。
ステップS705において、端末200のCPU201は、取得したプレイリストから、最も古いセグメント(最古セグメント)についてのセグメント情報(最古セグメント情報)を取得する。CPU201は、取得したプレイリストに含まれるセグメント情報が1つのとき、このセグメント情報を最古セグメント情報とする。CPU201は、取得したプレイリストに含まれるセグメント情報が複数のとき、最初のセグメント情報を最古セグメント情報とする。
そして、CPU201は、最古セグメント情報に含まれるセグメントアドレスに対して、通信制御部208を介して、最古セグメントについてのセグメント取得要求を送信する。このセグメント取得要求の送信は、図3のステップS307に対応する。その後、カメラ100からセグメントを受信する。CPU201は、受信した最古セグメントを、RAM203又は記録媒体212に記録して、符号・復号処理部213に渡す。符号・復号処理部213はセグメントを復号化する。CPU201は、復号化されたデータを、出力処理部206を介して、表示部207で再生表示(映像表示)する。また、ライブストリーミングアプリケーションにより端末での記録がされるとき、CPU201は、本処理フローとは別の処理により、復号化したデータ、又はセグメントからヘッダ等を除いたデータを、記録媒体212に保存する。なお、本ステップでセグメントを受信する処理は第2受信手段による処理の一例である。
そして、CPU201は、最古セグメント情報に含まれるセグメントアドレスに対して、通信制御部208を介して、最古セグメントについてのセグメント取得要求を送信する。このセグメント取得要求の送信は、図3のステップS307に対応する。その後、カメラ100からセグメントを受信する。CPU201は、受信した最古セグメントを、RAM203又は記録媒体212に記録して、符号・復号処理部213に渡す。符号・復号処理部213はセグメントを復号化する。CPU201は、復号化されたデータを、出力処理部206を介して、表示部207で再生表示(映像表示)する。また、ライブストリーミングアプリケーションにより端末での記録がされるとき、CPU201は、本処理フローとは別の処理により、復号化したデータ、又はセグメントからヘッダ等を除いたデータを、記録媒体212に保存する。なお、本ステップでセグメントを受信する処理は第2受信手段による処理の一例である。
ステップS706において、端末200のCPU201は、ライブストリーミングを終了するか否かの判定を行う。この判定は、例えば、ユーザがライブストリーミングの終了を指示したか否かで行われる。CPU201は、ライブストリーミングを終了するとき図7の処理を終了し、ライブストリーミングを終了しないときステップS702へ処理を戻す。
以上のように、本実施形態では、必要度が低いと評価されたセグメントのセグメント情報はプレイリストに記載されない。このため、必要度が低いと評価されたセグメントは、カメラ100から端末200に送信されることがない。したがって、ネットワーク上のパケットを減らすことができ、必要度が高いと評価されるセグメントを効率的に送受信できる。
上述の図6の処理では、必要度が低いと評価されたセグメントのセグメント情報はプレイリストに追記しない。しかし、輻輳等の影響でプレイリストに所定数以上のセグメント情報が記載された状態になったときのみに、セグメントの評価を行い、必要度が低いと評価されたセグメントのセグメント情報をプレイリストに追記しないようにしてもよい。
また、セグメントの評価は常に行う一方で、プレイリストに所定数未満のセグメント情報が記述されているときは、セグメントの評価に関わらず、セグメント情報をプレイリストに追記してもよい。そして、プレイリストに所定数以上のセグメント情報が記述された場合に、プレイリストから、必要度が低いと評価されたセグメントのセグメント情報を削除してもよい。
これらの場合、ネットワークに余裕があるとき、すべてのセグメントが端末200に送信され、ユーザは必要度が低いと評価されるセグメントであっても、セグメントの映像データを参照できる。一方で、通信の輻輳等によりネットワークに余裕がなくなってきたとき、必要度が低いと評価されたセグメントは、カメラ100から端末200に送信されなくなる。したがって、ネットワーク上のパケットを減らすことができ、必要度が高いと評価されるセグメントを効率的に送受信できる。
また、セグメントの評価は常に行う一方で、プレイリストに所定数未満のセグメント情報が記述されているときは、セグメントの評価に関わらず、セグメント情報をプレイリストに追記してもよい。そして、プレイリストに所定数以上のセグメント情報が記述された場合に、プレイリストから、必要度が低いと評価されたセグメントのセグメント情報を削除してもよい。
これらの場合、ネットワークに余裕があるとき、すべてのセグメントが端末200に送信され、ユーザは必要度が低いと評価されるセグメントであっても、セグメントの映像データを参照できる。一方で、通信の輻輳等によりネットワークに余裕がなくなってきたとき、必要度が低いと評価されたセグメントは、カメラ100から端末200に送信されなくなる。したがって、ネットワーク上のパケットを減らすことができ、必要度が高いと評価されるセグメントを効率的に送受信できる。
また、図6の処理では、セグメントの評価は、必要度が高いか低いかの2つのレベルで行われる。しかし、セグメントの評価は3つ以上のレベルで行われてもよい。そして、プレイリストに含まれるセグメント情報の数に応じて、プレイリストに追記するセグメントのレベルを変化させてもよい。すなわち、プレイリストに含まれるセグメント情報の数が多くなるほど、より必要度の高いセグメントについてのセグメント情報をプレイリストに追記するようにしてもよい。
また、必要度が低いと評価されるセグメントをプレイリストに追記するか否かを、ユーザが設定できるようにしてもよい。
また、必要度が低いと評価されるセグメントをプレイリストに追記するか否かを、ユーザが設定できるようにしてもよい。
<第2実施形態>
第1実施形態では、セグメントの評価に応じてセグメント情報をプレイリストに追記するか否かをカメラ100が決定する。これに対して、本実施形態では、カメラ100は必要度が低いと評価されたセグメントのセグメント情報もプレイリストに追記し、端末200が、必要度が低いと評価されたセグメントを受信するか否かを判定する例を説明する。
カメラ100及び端末200は第1実施形態と同様の構成であるものとし、説明を省略する。また、第1実施形態と同様に、セグメントの再生時間Tsは0.5秒であり、カメラ100及び端末200は1対1の接続でのみストリーミングを行うものとする。なお、これら以外の第1実施形態と同様の点については、説明を省略又は簡略化する。
第1実施形態では、セグメントの評価に応じてセグメント情報をプレイリストに追記するか否かをカメラ100が決定する。これに対して、本実施形態では、カメラ100は必要度が低いと評価されたセグメントのセグメント情報もプレイリストに追記し、端末200が、必要度が低いと評価されたセグメントを受信するか否かを判定する例を説明する。
カメラ100及び端末200は第1実施形態と同様の構成であるものとし、説明を省略する。また、第1実施形態と同様に、セグメントの再生時間Tsは0.5秒であり、カメラ100及び端末200は1対1の接続でのみストリーミングを行うものとする。なお、これら以外の第1実施形態と同様の点については、説明を省略又は簡略化する。
まず、図9及び10を参照して、本実施形態におけるライブストリーミング実行時のカメラ100の処理を説明する。図9は、輻輳時を含むプレイリストの推移を示す図である。図10は、カメラ100のCPU101が実行する処理を示すフローチャートである。図10の処理は、カメラ100が端末200と接続を確立した後に開始する。
図10のステップS601からステップS612までは、以下に説明する点の除き、図6のステップS601からステップS612までと同様の処理である。以下では、図6との相違点を中心に、図10のカメラ100の処理を説明する。
図10のステップS601からステップS612までは、以下に説明する点の除き、図6のステップS601からステップS612までと同様の処理である。以下では、図6との相違点を中心に、図10のカメラ100の処理を説明する。
図10のステップS604では、図6のステップS604と同様の処理が行われる。ただし、セグメントの必要度が低いと判定されたとき、CPU101はステップS650に処理を進め、セグメントの必要度が高いと判定されたときCPU101はステップS605に処理を進める。
ステップS650において、カメラ100のCPU101は、必要度が低いと判定されたセグメントのセグメント情報にフラグをセットする。フラグは、セグメント情報内のセグメントアドレスにクエリパラメータとしてセットする。本実施形態では、ステップS603において、セグメントアドレスのクエリパラメータに、フラグの初期値として「flg=0」を含めておく。そして、ステップS650において、CPU101は、セグメントアドレスのクエリパラメータを「flg=1」と設定しなおすことで、セグメント情報にフラグをセットする。
ステップS650において、カメラ100のCPU101は、必要度が低いと判定されたセグメントのセグメント情報にフラグをセットする。フラグは、セグメント情報内のセグメントアドレスにクエリパラメータとしてセットする。本実施形態では、ステップS603において、セグメントアドレスのクエリパラメータに、フラグの初期値として「flg=0」を含めておく。そして、ステップS650において、CPU101は、セグメントアドレスのクエリパラメータを「flg=1」と設定しなおすことで、セグメント情報にフラグをセットする。
図10のステップS605において、図6のステップS605と同様に、カメラ100のCPU101は、セグメント情報をプレイリストに追記する。ただし、上述の通り、セグメント情報のセグメントアドレスには、セグメントの評価を表すフラグが含まれる。
図9を参照して、ステップS605で生成されるプレイリストの例を説明する。CPU101が第1セグメントを生成し、第1セグメントは必要度が高いと評価されたとする。このときのプレイリストは、プレイリスト910のように、第1セグメントのセグメント情報900Aに「flg=0」が含まれる。
また、カメラ100が管理するプレイリストがプレイリスト911のときに、第3セグメントが生成され、第3セグメントは必要度が低いと評価されたとする。このとき、「flg=1」が含まれる第3セグメントのセグメント情報900Bがプレイリスト911に追記されたプレイリスト920が生成される。同様に、カメラ100が管理するプレイリストがプレイリスト930のときに、第5セグメントが生成され、第5セグメントは必要度が低いと評価されたとする。このとき、「flg=1」が含まれる第5セグメントのセグメント情報900Dがプレイリスト930に追記されたプレイリスト940が生成される。
図9を参照して、ステップS605で生成されるプレイリストの例を説明する。CPU101が第1セグメントを生成し、第1セグメントは必要度が高いと評価されたとする。このときのプレイリストは、プレイリスト910のように、第1セグメントのセグメント情報900Aに「flg=0」が含まれる。
また、カメラ100が管理するプレイリストがプレイリスト911のときに、第3セグメントが生成され、第3セグメントは必要度が低いと評価されたとする。このとき、「flg=1」が含まれる第3セグメントのセグメント情報900Bがプレイリスト911に追記されたプレイリスト920が生成される。同様に、カメラ100が管理するプレイリストがプレイリスト930のときに、第5セグメントが生成され、第5セグメントは必要度が低いと評価されたとする。このとき、「flg=1」が含まれる第5セグメントのセグメント情報900Dがプレイリスト930に追記されたプレイリスト940が生成される。
図10のステップS610において、図6のステップS610と同様に、カメラ100のCPU101は、セグメント取得要求に対する応答として、通信制御部108を介して、要求されたセグメントを端末200に送信する。そして、CPU101は、セグメントをRAM103又は記録媒体112から削除し、送信したセグメントについてのセグメント情報をプレイリストから削除する。
図9を参照して、送信したセグメントについてのセグメント情報が削除される例を説明する。カメラ100が管理するプレイリストがプレイリスト910のときに、カメラ100がセグメント情報900Aに記載されている第1セグメントを送信したとする。このとき、カメラ100は、プレイリスト910からセグメント情報900Aを削除して、プレイリスト911を生成する。同様に、カメラ100が管理するプレイリストがプレイリスト950のときに、カメラ100がセグメント情報900Dに記載されている第5セグメントを送信したとする。このとき、カメラ100は、プレイリスト950からセグメント情報900Dを削除して、プレイリスト951を生成する。
図9を参照して、送信したセグメントについてのセグメント情報が削除される例を説明する。カメラ100が管理するプレイリストがプレイリスト910のときに、カメラ100がセグメント情報900Aに記載されている第1セグメントを送信したとする。このとき、カメラ100は、プレイリスト910からセグメント情報900Aを削除して、プレイリスト911を生成する。同様に、カメラ100が管理するプレイリストがプレイリスト950のときに、カメラ100がセグメント情報900Dに記載されている第5セグメントを送信したとする。このとき、カメラ100は、プレイリスト950からセグメント情報900Dを削除して、プレイリスト951を生成する。
図10のステップS610において、CPU101は、送信したセグメントより古いセグメントがある場合、この古いセグメントをRAM103又は記録媒体112から削除する。また、この古いセグメントについてのセグメント情報をプレイリストから削除する。
図9を参照して、古いセグメントについてのセグメント情報が削除される例を説明する。カメラ100が管理するプレイリストがプレイリスト940のときに、カメラ100がセグメント情報900Cに記載されている第4セグメントを送信したとする。このとき、カメラ100は、プレイリスト940から第4セグメントのセグメント情報900Cを削除する。さらに、カメラ100は、プレイリスト940から、第4セグメントより古いセグメントである第3セグメントのセグメント情報900Bも削除して、プレイリスト941を生成する。
図9を参照して、古いセグメントについてのセグメント情報が削除される例を説明する。カメラ100が管理するプレイリストがプレイリスト940のときに、カメラ100がセグメント情報900Cに記載されている第4セグメントを送信したとする。このとき、カメラ100は、プレイリスト940から第4セグメントのセグメント情報900Cを削除する。さらに、カメラ100は、プレイリスト940から、第4セグメントより古いセグメントである第3セグメントのセグメント情報900Bも削除して、プレイリスト941を生成する。
次に、図11を参照して、ライブストリーミング実行時の端末200の処理を説明する。図11は、端末200のCPU201が実行する処理を示すフローチャートである。図11の処理は、端末200がカメラ100と接続を確立した後に開始する。
図11のステップS701からステップS706までは、以下に説明する点を除き、図7のステップS701からステップS706までと同様の処理である。以下では、図7との相違点を中心に、図11の端末200の処理を説明する。
図11のステップS701からステップS706までは、以下に説明する点を除き、図7のステップS701からステップS706までと同様の処理である。以下では、図7との相違点を中心に、図11の端末200の処理を説明する。
図11のステップS704では、図7のステップS704と同様の処理が行われる。ただし、CPU201は、セグメント情報が存在するときステップS750へ処理を進め、存在しないときはステップS703に処理を戻す。
ステップS750において、端末200のCPU201は、カメラ100が所定数以上のセグメントを保持しているか否かを判定する。
ライブストリーミングでは、輻輳等によりカメラ100と端末200との間での通信が行えなくなると、カメラ100のバッファ、すなわち、RAM103又は記録媒体112にセグメントがたまっていく。そして、カメラ100が生成するプレイリストには、カメラ100のバッファにたまったセグメントと同数のセグメント情報が含まれる。例えば、図9に示すように、カメラ100が第3セグメントを生成したときに、ネットワークが輻輳になり、カメラ100と端末200との間での通信が行えなくなったとする。このときでも、上述の通り、カメラ100は再生時間Tsの間隔でセグメントを生成し、生成したセグメントのセグメント情報をプレイリストに追記する。このため、カメラ100は、第4セグメントを生成して保存するときに第4セグメントのセグメント情報900Cが追記されたプレイリスト930を生成する。同様に、カメラ100は、第5セグメントを生成して保存するときに第5セグメントのセグメント情報900Dが追記されたプレイリスト940を生成する。
端末200のCPU201は、受信したプレイリストに含まれるセグメント情報の数が所定値以上のとき、カメラ100が所定数以上のセグメントを保持していると判定して、ステップS751に処理を進める。CPU201は、受信したプレイリストに含まれるセグメント情報の数が所定値未満のとき、カメラ100が所定数以上のセグメントを保持していないと判定して、ステップS705に処理を進める。なお、本実施形態は、ステップS750の判定に使われる所定値を3とする。
ステップS750において、端末200のCPU201は、カメラ100が所定数以上のセグメントを保持しているか否かを判定する。
ライブストリーミングでは、輻輳等によりカメラ100と端末200との間での通信が行えなくなると、カメラ100のバッファ、すなわち、RAM103又は記録媒体112にセグメントがたまっていく。そして、カメラ100が生成するプレイリストには、カメラ100のバッファにたまったセグメントと同数のセグメント情報が含まれる。例えば、図9に示すように、カメラ100が第3セグメントを生成したときに、ネットワークが輻輳になり、カメラ100と端末200との間での通信が行えなくなったとする。このときでも、上述の通り、カメラ100は再生時間Tsの間隔でセグメントを生成し、生成したセグメントのセグメント情報をプレイリストに追記する。このため、カメラ100は、第4セグメントを生成して保存するときに第4セグメントのセグメント情報900Cが追記されたプレイリスト930を生成する。同様に、カメラ100は、第5セグメントを生成して保存するときに第5セグメントのセグメント情報900Dが追記されたプレイリスト940を生成する。
端末200のCPU201は、受信したプレイリストに含まれるセグメント情報の数が所定値以上のとき、カメラ100が所定数以上のセグメントを保持していると判定して、ステップS751に処理を進める。CPU201は、受信したプレイリストに含まれるセグメント情報の数が所定値未満のとき、カメラ100が所定数以上のセグメントを保持していないと判定して、ステップS705に処理を進める。なお、本実施形態は、ステップS750の判定に使われる所定値を3とする。
図11のステップS705において、端末200のCPU201は、図6のステップS705と同様に、最古セグメントをカメラ100から受信する。このとき、CPU201は、セグメントの評価を表すフラグ、すなわち、受信したプレイリストに含まれるセグメントアドレス内のフラグを考慮しない。
図9を参照して、端末200が最古セグメントを受信する例を説明する。端末200がプレイリスト910を受信したとする。このとき、プレイリスト910にはセグメント情報として、第1セグメントのセグメント情報900Aのみが記載されている。このため、端末200のCPU201は、第1セグメントを最古セグメントと判定して、カメラ100から第1セグメントを取得する。また、端末200がプレイリスト950を受信したとする。このとき、プレイリスト950にはセグメント情報として、第5セグメントのセグメント情報900D及び第6セグメントのセグメント情報900Eが記載されている。このため、端末200のCPU201は、第5セグメントを最古セグメントと判定して、カメラ100から第5セグメントを取得する。
図9を参照して、端末200が最古セグメントを受信する例を説明する。端末200がプレイリスト910を受信したとする。このとき、プレイリスト910にはセグメント情報として、第1セグメントのセグメント情報900Aのみが記載されている。このため、端末200のCPU201は、第1セグメントを最古セグメントと判定して、カメラ100から第1セグメントを取得する。また、端末200がプレイリスト950を受信したとする。このとき、プレイリスト950にはセグメント情報として、第5セグメントのセグメント情報900D及び第6セグメントのセグメント情報900Eが記載されている。このため、端末200のCPU201は、第5セグメントを最古セグメントと判定して、カメラ100から第5セグメントを取得する。
図11のステップS751において、端末200のCPU201は、取得したプレイリストに含まれるセグメント情報から、フラグがセットされていない(必要性が高いと評価された)セグメントの中で最も古いセグメントのセグメント情報を取得する。なお、以降では、フラグがセットされていないセグメントの中で最も古いセグメントをフラグ未セット最古セグメントという。
その後、CPU201は、フラグ未セット最古セグメントの取得要求をカメラ100に送信し、カメラ100からの応答でフラグ未セット最古セグメントを受信する。そして、CPU201は、受信したフラグ未セット最古セグメントを、RAM203又は記録媒体212に記録したり、表示部207で再生表示したりする。なお、ステップS750及びステップS751のフラグ未セット最古セグメントの取得要求は、受信装置の第1送信手段による処理の一例である。
その後、CPU201は、フラグ未セット最古セグメントの取得要求をカメラ100に送信し、カメラ100からの応答でフラグ未セット最古セグメントを受信する。そして、CPU201は、受信したフラグ未セット最古セグメントを、RAM203又は記録媒体212に記録したり、表示部207で再生表示したりする。なお、ステップS750及びステップS751のフラグ未セット最古セグメントの取得要求は、受信装置の第1送信手段による処理の一例である。
図9を参照して、端末200がフラグ未セット最古セグメントを受信する例を説明する。端末200がプレイリスト940を受信したとする。プレイリスト940には、第3から第5セグメントについてのセグメント情報900B、C、Dが含まれる。このうち、フラグがセットされていないのは、第4セグメントについてのセグメント情報900Cのみである。このため、端末200のCPU201は、第4セグメントをフラグ未セット最古セグメントと判定して、カメラ100から第4セグメントを取得する。このとき、カメラ100は、第4セグメントのセグメント情報900C、及び、端末200に送信した第4セグメントより古いセグメントである第3セグメントのセグメント情報900Bをプレイリスト940から削除する。このため、カメラ100が管理するプレイリストはプレイリスト941になる。
このように、本実施形態では、輻輳等によってカメラ100に未送信のセグメントがたまると、端末200は、必要度が高いと評価されたセグメントを優先的にカメラ100から受信する。そして、カメラ100では、必要度が低いと評価されたセグメントが削除されていき、必要度が低いと評価されたセグメントは端末200に送信されない。したがって、通信の輻輳の抑制や緩和ができる。そして、端末200は、必要度が高いと評価されたセグメントを効率的に受信できる。
本実施形態では、カメラ100に未送信のセグメントが所定数たまると、端末200は、必要度が高いと評価されたセグメントをカメラ100から受信するようになる。しかし、端末200は、カメラ100の未送信のセグメントの数によらずに、必要度が高いと評価されたセグメントをカメラ100から受信するようにしてもよい。
この場合、端末200は、必要度が高いと評価されたセグメントを優先的にカメラ100から受信する。そして、カメラ100では、必要度が低いと評価されたセグメントが削除されていき、必要度が低いと評価されたセグメントは端末200に送信されない。したがって、端末200は、必要度が高いと評価されたセグメントを効率的に受信できる。
この場合、端末200は、必要度が高いと評価されたセグメントを優先的にカメラ100から受信する。そして、カメラ100では、必要度が低いと評価されたセグメントが削除されていき、必要度が低いと評価されたセグメントは端末200に送信されない。したがって、端末200は、必要度が高いと評価されたセグメントを効率的に受信できる。
また、端末200は、取得要求を行ったセグメントより古いセグメントの削除要求をカメラ100に送信してもよい。このとき、カメラ100は、削除要求がされたセグメントをRAM203又は記録媒体212から削除し、削除要求がされたセグメントのセグメント情報をプレイリストから削除する。なお、削除要求の送信は、受信装置の第2送信手段の一例である。
また、端末200は、プレイリストに、必要度が低いと評価されたセグメントのセグメント情報が、所定数あるとき又は所定数続くときは、必要度が低いと評価されたセグメントであっても、カメラ100から受信するようにしてもよい。
また、必要度が低いと評価されるセグメントを端末200からカメラ100に要求するか否かを、ユーザが設定できるようにしてもよい。
また、端末200は、プレイリストに、必要度が低いと評価されたセグメントのセグメント情報が、所定数あるとき又は所定数続くときは、必要度が低いと評価されたセグメントであっても、カメラ100から受信するようにしてもよい。
また、必要度が低いと評価されるセグメントを端末200からカメラ100に要求するか否かを、ユーザが設定できるようにしてもよい。
<その他の実施形態>
上記の実施形態では、カメラ100はライブストリーミングを行う。しかし、カメラ100は、記録媒体112等に記録されている、既に存在するメディアデータを端末200に送信するようにしてもよい。このとき、図6のステップS601において、カメラ100のCPU101は、メディアデータを分割して、所定の再生時間Tsを持つセグメントを生成する処理を開始する。
本発明は、上記の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
上記の実施形態では、カメラ100はライブストリーミングを行う。しかし、カメラ100は、記録媒体112等に記録されている、既に存在するメディアデータを端末200に送信するようにしてもよい。このとき、図6のステップS601において、カメラ100のCPU101は、メディアデータを分割して、所定の再生時間Tsを持つセグメントを生成する処理を開始する。
本発明は、上記の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 カメラ
200 端末
200 端末
Claims (19)
- メディアデータを受信装置に送信する送信装置であって、
メディアデータの一部に対応するセグメントデータを生成する生成手段と、
前記生成手段で生成したセグメントデータを評価する評価手段と、
前記評価手段の評価に基づいて、セグメントデータについての情報の一覧であるセグメントリストを管理する管理手段と、
前記管理手段で管理する前記セグメントリストを送信する第1送信手段と、
前記生成手段で生成したセグメントデータを送信する第2送信手段と、を備えることを特徴とする送信装置。 - 前記管理手段は、前記評価手段が所定の評価をしたセグメントデータの情報を前記セグメントリストに追記しないことを特徴とする請求項1に記載の送信装置。
- 前記管理手段は、前記セグメントリストに所定数以上のセグメントデータの情報があるとき、前記評価手段が所定の評価をしたセグメントデータの情報を前記セグメントリストに追記しないことを特徴とする請求項2に記載の送信装置。
- 前記管理手段は、前記セグメントリストに所定数以上のセグメントデータの情報があるとき、前記評価手段が所定の評価をしたセグメントデータの情報を前記セグメントリストから削除することを特徴とする請求項1に記載の送信装置。
- 前記管理手段は、前記評価手段の評価を前記セグメントリストに含めることを特徴とする請求項1に記載の送信装置。
- 前記評価手段は、セグメントデータに含まれる映像データから顔検出がされるか否かに基づいて、セグメントデータを評価することを特徴とする請求項1乃至5の何れか1項に記載の送信装置。
- 前記評価手段は、セグメントデータに含まれる映像データに動きがあるか否かに基づいて、セグメントデータを評価することを特徴とする請求項1乃至5の何れか1項に記載の送信装置。
- 前記評価手段は、セグメントデータに含まれる音声データが所定値以上の音量であるか否かに基づいて、セグメントデータを評価することを特徴とする請求項1乃至5の何れか1項に記載の送信装置。
- 前記評価手段は、セグメントデータに含まれる映像データから所定以上の振動が検知されるか否かに基づいて、セグメントデータを評価することを特徴とする請求項1乃至5の何れか1項に記載の送信装置。
- 前記管理手段は、前記第2送信手段が送信するセグメントデータの情報を前記セグメントリストから削除することを特徴とする請求項1乃至9の何れか1項に記載の送信装置。
- 前記管理手段は、前記第2送信手段が送信するセグメントデータが表す時間より前の時間を表すセグメントデータについての情報を前記セグメントリストから削除することを特徴とする請求項10に記載の送信装置。
- 送信装置からメディアデータを受信する受信装置であって、
所定の周期で、メディアデータの一部を示すセグメントデータについての情報の一覧であるセグメントリストを受信する第1受信手段と、
前記セグメントリストに含まれるセグメントデータの評価が所定の評価であるセグメントデータについての取得要求を前記送信装置に送信する第1送信手段と、
前記送信装置からセグメントデータを受信する第2受信手段と、を備えることを特徴とする受信装置。 - 前記第1送信手段は、前記セグメントリストに所定数以上のセグメントデータの情報があるとき、前記セグメントリストに含まれるセグメントデータの評価が所定の評価であるセグメントデータについての取得要求を前記送信装置に送信することを特徴とする請求項12に記載の受信装置。
- セグメントデータの削除要求を送信する第2送信手段をさらに備えることを特徴とする請求項12又は請求項13に記載の受信装置。
- メディアデータを送信する送信装置とメディアデータを受信する受信装置とを備える通信システムであって、
メディアデータの一部を示すセグメントデータを生成する生成手段と、
前記生成手段で生成したセグメントデータを評価する評価手段と、
前記評価手段の評価が所定の評価であるセグメントデータの送受信を制御する制御手段と、を備えることを特徴とする通信システム。 - メディアデータを受信装置に送信する送信装置の制御方法であって、
メディアデータの一部に対応するセグメントデータを生成する生成ステップと、
前記生成ステップで生成したセグメントデータを評価する評価ステップと、
前記評価ステップでの評価に基づいて、セグメントデータについての情報の一覧であるセグメントリストを管理する管理ステップと、
前記セグメントリストを送信する第1送信ステップと、
前記生成ステップで生成したセグメントデータを送信する第2送信ステップと、を備えることを特徴とする送信装置の制御方法。 - 送信装置からメディアデータを受信する受信装置の制御方法であって、
所定の周期で、メディアデータの一部を示すセグメントデータについての情報の一覧であるセグメントリストを受信する第1受信ステップと、
前記セグメントリストに含まれるセグメントデータの評価が所定の評価であるセグメントデータについての取得要求を前記送信装置に送信する第1送信ステップと、
前記送信装置からセグメントデータを受信する第2受信ステップと、を備えることを特徴とする受信装置の制御方法。 - メディアデータを受信装置に送信する送信装置を制御するためのプログラムであって、
メディアデータの一部に対応するセグメントデータを生成する生成ステップと、
前記生成ステップで生成したセグメントデータを評価する評価ステップと、
前記評価ステップでの評価に基づいて、セグメントデータについての情報の一覧であるセグメントリストを管理する管理ステップと、
前記セグメントリストを送信する第1送信ステップと、
前記生成ステップで生成したセグメントデータを送信する第2送信ステップと、をコンピュータに実行させるためのプログラム。 - 送信装置からメディアデータを受信する受信装置を制御するためのプログラムであって、
所定の周期で、メディアデータの一部を示すセグメントデータについての情報の一覧であるセグメントリストを受信する第1受信ステップと、
前記セグメントリストに含まれるセグメントデータの評価が所定の評価であるセグメントデータについての取得要求を前記送信装置に送信する第1送信ステップと、
前記送信装置からセグメントデータを受信する第2受信ステップと、をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015167078A JP2017046183A (ja) | 2015-08-26 | 2015-08-26 | 送信装置、受信装置及び通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015167078A JP2017046183A (ja) | 2015-08-26 | 2015-08-26 | 送信装置、受信装置及び通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017046183A true JP2017046183A (ja) | 2017-03-02 |
Family
ID=58210446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015167078A Pending JP2017046183A (ja) | 2015-08-26 | 2015-08-26 | 送信装置、受信装置及び通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017046183A (ja) |
-
2015
- 2015-08-26 JP JP2015167078A patent/JP2017046183A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4633042B2 (ja) | 画像表示装置および画像データ処理方法 | |
US9445142B2 (en) | Information processing apparatus and control method thereof | |
US20170070699A1 (en) | Information processing apparatus, image capturing apparatus, and control methods for the same | |
JP6360300B2 (ja) | 通信装置、撮像装置およびそれらの制御方法、並びにプログラム | |
JP6257197B2 (ja) | 情報処理装置及びその制御方法、プログラム、並びに記憶媒体 | |
US10028017B2 (en) | Information processing device and method of controlling information processing device | |
JP6433151B2 (ja) | 映像供給装置、映像取得装置およびそれらの制御方法ならびに映像供給システム | |
US20150373073A1 (en) | Image pickup apparatus, control method and recording medium | |
JP2017046183A (ja) | 送信装置、受信装置及び通信システム | |
CN111385673B (zh) | 通信设备、其控制方法及其记录介质 | |
JP7218164B2 (ja) | 通信装置およびその制御方法 | |
JP7279416B2 (ja) | 仲介端末、通信システム、入力システム、仲介制御方法、及びプログラム | |
JP2018045674A (ja) | 情報処理装置及びその制御方法、コンピュータプログラム | |
JP2019068187A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP7073120B2 (ja) | 映像送信装置、情報処理装置、システム、情報処理方法及びプログラム | |
JP2017208672A (ja) | 映像供給装置、映像取得装置、それらの制御方法及びプログラム、並びに映像供給システム | |
JP7196209B2 (ja) | 通信装置、制御方法、およびプログラム | |
JP6824949B2 (ja) | 通信装置、制御方法およびプログラム | |
JP7086743B2 (ja) | 通信装置、通信装置の制御方法、プログラム | |
JP2015142360A (ja) | 撮像装置及び雲台装置 | |
JP6254862B2 (ja) | 撮像装置およびその制御方法、システム、並びにプログラム | |
JP2019067133A (ja) | 情報処理装置、情報処理装置の制御方法、プログラム | |
JP2017147563A (ja) | 撮像装置、情報処理方法及びプログラム | |
JP2017038238A (ja) | 画像記録装置、その制御方法及びプログラム |