(57)【要約】【課題】ライブストリーミングにおいて、通信の遅延や用途に応じて映像と音声の同期を最適化する技術を実現する。【解決手段】撮像装置と通信可能な通信装置であって、前記撮像装置から映像データを所定の周期で受信する受信手段と、前記受信手段により受信した映像データを表示する表示手段と、音声データを入力する入力手段と、撮影モードを設定する設定手段と、前記受信手段により受信した映像データと前記入力手段により入力した音声データとを合成して記録する記録手段と、前記設定手段により設定された撮影モードと、前記撮像装置により撮影された映像が前記表示手段に表示されるまでの遅延とに応じて、前記受信手段により受信した映像データと前記入力手段により入力した音声データとが同期して記録されるように前記記録手段を制御する制御手段と、を有する。【選択図】図４
2015122587.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置と通信可能な通信装置であって、
前記撮像装置から映像データを所定の周期で受信する受信手段と、
前記受信手段により受信した映像データを表示する表示手段と、
音声データを入力する入力手段と、
撮影モードを設定する設定手段と、
前記受信手段により受信した映像データと前記入力手段により入力した音声データとを合成して記録する記録手段と、
前記設定手段により設定された撮影モードと、前記撮像装置により撮影された映像が前記表示手段に表示されるまでの遅延とに応じて、前記受信手段により受信した映像データと前記入力手段により入力した音声データとが同期して記録されるように前記記録手段を制御する制御手段と、を有することを特徴とする通信装置。
【請求項２】
前記撮影モードが、撮影者が前記表示手段を介さずに被写体を見て撮影できる第１のモードと、撮影者が前記表示手段を介さない被写体を見ることができない第２のモードとを含み、
前記制御手段は、前記第１のモードに設定されている場合は、前記撮影者が見ている映像と音声とが同期するように前記記録手段を制御し、
前記第２のモードの場合は、前記表示手段に表示されている映像と音声とが同期するように前記記録手段を制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１のモードに設定されている場合に、前記撮像装置に対して、当該撮像装置から送信される映像データに、前記記録手段による記録開始時のデータであることを示す情報を付加するように要求する送信手段と、
前記受信手段により受信した映像データに、前記情報が付加されているか判定する判定手段と、を有し、
前記制御手段は、前記情報が付加された映像データと前記入力手段により入力した音声データとを合成して記録するように前記記録手段を制御することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第２のモードに設定されている場合には、前記制御手段は、前記受信手段により受信した映像データに前記情報が付加されているか否かに関わらず、前記表示手段に表示されている映像データと前記入力手段により入力した音声データとを合成して記録するように前記記録手段を制御することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記撮像装置により得られた映像データを所定の時間長のセグメントに分割し、分割したセグメントの情報を記述したリストの要求を前記撮像装置に送信する第１の送信手段と、
前記撮像装置から、前記要求したリストを受信する第１の受信手段と、
前記撮像装置から受信したリストに記述されたセグメントの要求を前記撮像装置に送信する第２の送信手段と、
前記要求に応じて前記撮像装置から送信されたセグメントを受信する第２の受信手段と、をさらに有し、
前記第１の送信手段は、所定時間ごとにリストを要求すると共に、前記リストに記述されたセグメントの情報のうち、最も古いセグメントの情報に該当するセグメントの要求を送信し、
前記制御手段は、前記第１のモードの場合には、前記記録手段により記録を開始した直後に前記第１の受信手段により受信したリストに新たに記述されているセグメントの中で最も古いセグメントと前記入力手段により入力した音声データとを合成して記録し、前記第２のモードの場合には、前記第１の受信手段により受信したリストに記述されているセグメントの中で最も古いセグメントと前記入力手段により入力した音声データとを合成して記録するように前記記録手段を制御することを特徴とする請求項２ないし５のいずれか１項に記載の通信装置。
【請求項６】
前記設定手段は、前記撮像装置の画角内に撮影者または前記通信装置が存在する場合には前記第１のモードに設定することを特徴とする請求項２ないし５のいずれか１項に記載の通信装置。
【請求項７】
通信装置と通信可能な撮像装置であって、
撮像手段と、
前記撮像手段により得られた映像データを保持する保持手段と、
前記通信装置から、映像データの送信の要求を受信する受信手段と、
前記通信装置から要求された映像データを前記通信装置に送信する送信手段と、
前記通信装置から、前記送信手段により送信される映像データに、前記通信装置による記録開始時のデータであることを示す情報を付加するように要求されたか判定する判定手段と、
前記情報を付加するように要求された場合、前記情報を映像データに付加して前記通信装置に送信するように前記送信手段を制御する制御手段と、を有することを特徴とする撮像装置。
【請求項８】
前記撮像手段により得られた映像データを所定の時間長のセグメントに分割して保持する保持手段と、
前記保持手段に保持されたセグメントの情報を記述したリストを作成する作成手段と、
前記通信装置から、リストの要求を受信する第１の受信手段と、
前記通信装置から要求された前記リストを前記通信装置に送信する第１の送信手段と、
前記通信装置から前記リストに記述されたセグメントの要求を受信する第２の受信手段と、
前記通信装置から要求されたセグメントを前記通信装置に送信する第２の送信手段とをさらに有することを特徴とする請求項７に記載の撮像装置。
【請求項９】
映像データを表示する表示手段と、音声データを入力する入力手段と、撮影モードを設定する設定手段とを有する、撮像装置と通信可能な通信装置の制御方法であって、
前記撮像装置から映像データを所定の周期で受信する受信ステップと、
前記受信した映像データを前記表示手段に表示する表示ステップと、
前記受信した映像データと前記入力手段により入力した音声データとを合成して記録する記録ステップとを有し、
前記記録ステップでは、前記設定手段により設定された撮影モードと、前記撮像装置により撮影された映像が前記表示手段に表示されるまでの遅延とに応じて、前記受信した映像データと前記入力手段により入力した音声データとを同期して記録することを特徴とする通信装置の制御方法。
【請求項１０】
通信装置と通信可能な撮像装置の制御方法であって、
撮像手段により得られた映像データを保持するステップと、
前記通信装置から、映像データの送信の要求を受信するステップと、
前記通信装置から要求された映像データを前記通信装置に送信するステップと、
前記通信装置から、前記送信する映像データに、前記通信装置による記録開始時のデータであることを示す情報を付加するように要求されたか判定するステップと、
前記情報を付加するように要求された場合、前記情報を映像データに付加して前記通信装置に送信するステップと、を有することを特徴とする撮像装置の制御方法。
【請求項１１】
コンピュータを、請求項１ないし６のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項７または８に記載の撮像装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークを介した二つの機器間におけるライブストリーミングに関するものである。
【背景技術】
【０００２】
従来より、ライブストリーミングでカメラで撮影された映像をユーザの端末に転送することにより、ユーザは、遠隔にあるカメラから自分の端末に逐次送られてくる映像や音声を視聴することができる。また、カメラを離れた位置から操作し撮影する用途として、自分を撮るための自分撮りモードや他人や動物などを撮る遠隔撮影モードがある。
【０００３】
自分撮りモードでは、遠隔にあるカメラのマイクでユーザの声を拾うことは難しいため、例えば、特許文献１のように、カメラのリモコンに、カメラにより撮影された映像を表示し、音声を入力するマイクを搭載したものが必要である。これにより、ユーザは、カメラから送られてくる映像を見ながら、リモコンのマイクに向かって話すことで、映像データにマイクで拾った音声を同期させて記録することができる。なお、特許文献１では、リモコンに表示されている映像を用いてカメラの画角を確認し、音声を実際の映像に合わせる必要がある。
【０００４】
また、遠隔撮影モードでは、通信状況に起因して遅延が発生すると、実際に撮影された映像と表示される映像との間に時差が発生するため、音声を表示される映像に合わせる必要がある。ここで、被写体からマイクまでの距離と音速とに基づいて音声到達時間を算出し、映像と音声がマイクに到達するまでの距離によって生じるリップシンクずれを補正するものがある（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１５５０９２号公報
【特許文献２】特開２０１０−２５８５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献１では、通信の遅延が考慮されていないため、遅延が発生したときに映像と音声が同期しなくなってしまう。また、上記特許文献２では、被写体からマイクまでの距離と音速に基づいて音声到達時間を算出しており、自分撮りモードや遠隔撮影モードなどの用途に合わせた設定を行うことができない。
【０００７】
本発明は、上記課題に鑑みてなされ、その目的は、ライブストリーミングにおいて、通信の遅延や用途に応じてサーバ側で得られる映像とクライアント側で得られる音声とを合成して記録するかを決定することで、映像と音声の同期を最適化する技術を実現することである。
【課題を解決するための手段】
【０００８】
上記課題を解決し、目的を達成するため、本発明の通信装置は、撮像装置と通信可能な通信装置であって、前記撮像装置から映像データを所定の周期で受信する受信手段と、前記受信手段により受信した映像データを表示する表示手段と、音声データを入力する入力手段と、撮影モードを設定する設定手段と、前記受信手段により受信した映像データと前記入力手段により入力した音声データとを合成して記録する記録手段と、前記設定手段により設定された撮影モードと、前記撮像装置により撮影された映像が前記表示手段に表示されるまでの遅延とに応じて、前記受信手段により受信した映像データと前記入力手段により入力した音声データとが同期して記録されるように前記記録手段を制御する制御手段と、を有する。
【発明の効果】
【０００９】
本発明によれば、ライブストリーミングにおいて、通信の遅延や用途に応じてサーバ側で得られる映像とクライアント側で得られる音声とを合成して記録するかを決定することで、映像と音声の同期を最適化することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る実施形態の撮像装置の構成を例示するブロック図。
【図２】本発明に係る実施形態の通信装置の構成を例示するブロック図。
【図３】本実施形態のシステムおよびライブストリーミング動作を説明する図。
【図４】本実施形態の通信装置の動作を示すフローチャート。
【図５】本実施形態の撮像装置の動作を示すフローチャート。
【図６】実施形態２のライブストリーミング動作を説明する図。
【図７】実施形態２のプレイリストを例示する図。
【図８】実施形態２の通信中のプレイリストを例示する図。
【図９】実施形態２の通信装置の動作を示すフローチャート。
【図１０】本実施形態の通信装置におけるライブストリーミング画面を例示する図。
【発明を実施するための形態】
【００１１】
以下に、添付図面を参照して本発明を実施するための形態について詳細に説明する。なお、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１２】
以下、本発明を、サーバとしての撮像装置１０００と、クライアントとしての通信装置２０００とを通信可能に接続し、撮像装置１０００で撮影された映像を通信装置２０００でライブストリーミングにより視聴可能にしたシステムにより実現した例を説明する。本実施形態では、撮像装置１０００をデジタルビデオカメラ、通信装置２０００をスマートフォンなどの通信端末に適用した例を説明するが、本発明は、これに限られない。例えば、本発明は、撮像装置として、カメラ付き携帯電話や携帯型のメディアプレーヤ、いわゆるタブレット端末など、通信装置として、パーソナルコンピュータなどの情報処理装置や携帯電話、タブレットデバイス端末、テレビなどにも適用できる。
【００１３】
＜撮像装置の構成＞図１を参照して、本発明に係る実施形態の撮像装置の構成及び機能の概略について説明する。
【００１４】
図１に示す撮像装置（以下、カメラ）１０００において、内部バス１０１０に対してＣＰＵ(Central Processing Unit)１００１、ＲＯＭ(Read Only Memory)１００２、ＲＡＭ(Random Access Memory)１００３、入力処理部１００４、出力処理部１００６、通信制御部１００８、記録媒体制御部１０１１、カメラ信号処理部１０１５、符号・復号処理部１０１６が接続される。内部バス１０１０に接続される各部は、内部バス１０１０を介して互いにデータのやりとりを行える。
【００１５】
ＲＯＭ１００２は、ＣＰＵ１００１が動作するための各種プログラムや設定データが格納される。また、フラッシュメモリなども含まれる。ＲＡＭ１００３は、ＣＰＵ１００１が動作時に必要とするプログラムや変数、作業用の一時データなどが適宜記憶される。
【００１６】
ＣＰＵ１００１は、ＲＯＭ１００２または記録媒体１０１２に格納されるプログラムに従い、ＲＡＭ１００３をワークメモリとして用いて、このカメラ１０００の各部を制御する。
【００１７】
光学系１０１３は、フォーカス、絞り機構などを含む撮影レンズであり、被写体の光学像を形成する。撮像素子１０１４は、ＣＣＤやＣＭＯＳ素子等で構成され、ここではA/D変換器を含み、光学像をアナログ電気信号に変換した後、デジタル信号に変換する。
【００１８】
カメラ信号処理部１０１５は、ＣＰＵ１００１の制御に基づき、撮像素子１０１４で変換されたデジタル信号に対し、所定の画素補間・縮小といったリサイズ処理や色変換、各種補正処理等を行う。
【００１９】
符号・復号処理部１０１６は、ＣＰＵ１００１の制御に基づき、カメラ信号処理部１０１５で処理されたデジタル信号を所定のビットレート、フォーマット形式で圧縮符号化、または映像圧縮符号化データの復号を行う。
【００２０】
なお、音声についてはとくに図示していないが、音声付き映像を配信する場合には、マイクロホン、音声のアナログ信号をデジタル化するＡ／Ｄ変換器、デジタルデータを符号化する構成を持つことになる。当然、映像記録時には映像と共に音声も同時に収録され、符号・復号処理部１０１６で映像と音声を多重化することで、音声付映像データを生成することになる。
【００２１】
入力処理部１００４は、操作部１００５でのユーザ操作を受け付け、操作に応じた制御信号を生成し、ＣＰＵ１００１に供給する。例えば、操作部１００５は、ユーザ操作を受け付ける入力デバイスとして、キーボードといった文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイスなどを有する。また、赤外線リモコンなどの遠隔操作可能なものも含む。なお、タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。これにより、カメラ１０００に対し、ユーザ操作に応じた動作を行わせることができる。
【００２２】
出力処理部１００６は、ＣＰＵ１００１がプログラムに従い生成したＧＵＩ(Graphical User Interface)などの表示データに基づき、表示部１００７に対して表示させるための表示信号を出力する。
【００２３】
なお、操作部１００５としてタッチパネルを用いる場合、操作部１００５と表示部１００７とを一体的に構成することができる。例えば、タッチパネルを光の透過率が表示部１００７の表示を妨げないように構成し、表示部１００７の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、表示部１００７上の表示座標とを対応付ける。これにより、あたかもユーザが表示部１００７上に表示された画面を直接的に操作可能であるかのようなＧＵＩを構成することができる。
【００２４】
記録媒体制御部１０１１は、ＨＤＤや不揮発性の半導体メモリなどの記録媒体１０１２が接続され、ＣＰＵ１００１の制御に基づき、接続された記録媒体１０１２からのデータの読み出しや、当該記録媒体１０１２に対するデータの書き込みを行う。なお、記録媒体制御部１０１１が接続可能な記録媒体１０１２は、不図示のソケットなどを介して、例えばメモリカードなどの着脱可能な不揮発性の半導体メモリを接続するものとしても良い。
【００２５】
記録媒体１０１２は、撮影した映像データのほか、ＣＰＵ１００１の制御に必要な情報も記録することが可能である。
【００２６】
通信制御部１００８は、ＣＰＵ１００１の制御に基づき、コネクタ(有線)/アンテナ(無線)１００９を介して、通信装置２０００その他の外部装置との通信を行う。通信方法としては、無線のＩＥＥＥ８０２．１１やＢｌｕｅｔｏｏｔｈ（登録商標）、有線のＩＥＥＥ８０２．３などを用いることが可能である。
【００２７】
なお、ハードウェアの構成は図１に示すものに限定されず、例えば１つのハードウェアが表示制御、通信制御、記録制御、画像処理制御などを行い、カメラ１０００の各手段として機能してもよい。また、複数のハードウェアが協働して１つの手段として機能してもよい。
【００２８】
＜通信装置の構成＞次に、図２を参照して、本発明に係る実施形態の通信装置の構成及び機能の概略について説明する。
【００２９】
図２に示す通信装置（以下、端末）２０００において、多くの部分はカメラ１０００と同様となるため、カメラ１０００と説明が重複するＣＰＵ２００１〜記録媒体２０１２までの説明は省略する。符号・復号処理部２０１３は、ＣＰＵ２００１の制御に基づき、映像圧縮符号化データの復号、および必要に応じて復号したデータの再符号化を行う。マイク２０１４は、集音手段として音の振動を電気信号に変換する。音声信号処理部２０１５は、マイク２０１４で変換された音声信号をデジタル信号に変換し、各種補正処理等を行う。符号・復号処理部２０１３は、ＣＰＵ２００１の制御に基づき、音声信号処理部２０１５で生成された音声信号を符号化し、映像と音声の多重化処理を行う。
【００３０】
＜ライブストリーミング動作の説明＞次に、図１ないし図３、図１０を参照して、本実施形態のシステムによるＪＰＥＧ画像のフレームを利用したライブストリーミング動作について説明する。
【００３１】
図３（ａ）において、ユーザがカメラ１０００において、操作部１００５からライブストリーミングモードを実行すると、カメラ１０００は、ＣＰＵ１００１の制御により、通信制御部１００８を通信可能状態とする。
【００３２】
さらにユーザは端末２０００において、操作部２００５を操作して通信接続処理およびライブストリーミングに必要なアプリケーションの起動を行う。これに応じて、端末２０００のＣＰＵ２００１は、ＲＯＭ２００２または記録媒体２０１２に格納された当該プログラムに従い、通信制御部２００８を制御し、カメラ１０００との通信を開始し、接続処理を行う。
【００３３】
ここで、カメラ１０００と端末２０００は、通信プロトコルとしてＨＴＴＰ（Hypertext Transfer Protocol）／ＴＣＰ（Transmission Control Protocol）を使用するものとする。また、通信接続においてＵＰｎＰ（Universal Plug and Play）に対応しているものとする。ＵＰｎＰ対応の端末２０００は、機器をネットワークに接続すると、ＤＨＣＰ(Dynamic Host Configuration Protocol)または、ＡｕｔｏＩＰによるＩＰ(Internet Protocol)アドレスの設定を行う。ＩＰアドレスを取得した機器は、ネットワーク上の他の機器を相互に認識するために、「デバイスディスカバリとコントロール」によって、デバイス検索と応答デバイスの種別、サービス機能などの情報取得を行う（ステップ３００２）。カメラ１０００は、端末２０００のデバイス検索要求に対して、機器情報と機器固有情報のフレーム取得先情報などを応答する（ステップ３００３）。
【００３４】
カメラ１０００と端末２０００の接続処理が完了すると、カメラ１０００はライブストリーミングを開始する。
【００３５】
ライブストリーミングにおいて、カメラ１０００のＣＰＵ１００１は、撮像素子１０１４からの信号出力を開始し、その出力をカメラ信号処理部１０１５により適切なフレーム３００１に処理し、符号・復号処理部１０１６へフレーム３００１を送出する。
【００３６】
符号・復号処理部１０１６では、受け取ったフレーム３００１を所定のビットレート、フォーマット形式で圧縮符号化し、ＲＡＭ１００３または記録媒体１０１２に保存する。
【００３７】
カメラ１０００のＣＰＵ１００１は、所定の周期Ｔごとにフレーム３００１を更新する。なお、以下ではＴ＝１／３０秒として説明する。
【００３８】
ＣＰＵ１００１は、上記フレーム３００１の保存先と関連させたパス情報を生成する。パス情報は、端末２０００がフレームを取得する際の取得先情報として使用する。
【００３９】
端末２０００は、所定の周期Ｔを事前に記憶しているか、カメラ１０００の機器情報に含めることで機器情報取得時に得ることができているものとする。
【００４０】
端末２０００は、ライブストリーミング開始後、約Ｔ（秒）後にステップ３００３で取得したフレーム取得先へフレーム取得要求（ＨＴＴＰ  ＧＥＴメソッド）を行う（ステップ３００４）。
【００４１】
カメラ１０００は、応答フレームとして、要求されたフレーム３００１を送信する（ステップ３００５）。
【００４２】
端末２０００は、受信したフレーム３００１を符号・復号処理部２０１３に渡し、復号した後、出力処理部２００６を介して、表示部２００７で再生表示を行う。ライブストリーミングアプリケーションにより端末ＲＥＣ１０００７が実行されている場合、復号したデータ、またはフレーム３００１からヘッダなどを除いたデータ部を、記録媒体２０１２に記録し、順次受信したフレームと音声信号処理部２０１５からの音声信号をそれぞれ符号化し、多重合成して記録していく。
【００４３】
ストリーミング中、カメラ１０００は、約Ｔ（秒）毎にフレーム更新を行う。また、取得されたフレームは削除する。
端末２０００は、約Ｔ（秒）毎にフレーム取得要求を行う（ステップ３００４）。
【００４４】
なお、端末２０００の要求処理（ステップ３００４）には端末、またはアプリケーションの固有のＩＤを付加する。そして、本実施形態のカメラ１０００は、最初に要求のあったＩＤの要求のみに対してストリーミングを行う。つまり、本実施形態のカメラ１０００と端末２０００は１対１接続でのみストリーミングを行うものとする。
【００４５】
本実施形態のシステムによれば、自分撮りモードでは、撮影者は、カメラ１０００から送られてくる自分自身の映像を見ながら、端末２０００のマイク２０１４に向かって話すことで、映像と音声を同期させて記録することができる。また、遠隔撮影モードでは、図３（ｂ）のように、撮影者３１０１は、カメラ１０００で撮影された被写体３１０２の映像を見ながら、表示される映像に合わせて音声を入力することができる。なお、カメラにマイクが搭載されている場合、遠隔撮影モードでは、カメラ１０００で撮影された映像とマイクで拾われた音声が端末２０００に送られるので、撮影者は、端末２０００で映像と音声を視聴しながら、音声を入力することができる。
【００４６】
図１０は、端末２０００における、ライブストリーミングにおけるアプリケーション画面例であり、操作部２００５、表示部２００７が一体化された例を示している。ライブストリーミングデータは、表示エリア１０００１に表示され、カメラ１０００のステータスはズーム位置情報１０００２、記録状態１０００３、バッテリー情報１０００４などを表示している。また、操作手段としてズーム指示１０００５、カメラＲＥＣ１０００６、端末ＲＥＣ１０００７、自分撮り／遠隔撮影１０００８などを備えている。ユーザは、自分撮り／遠隔撮影１０００８を選択することにより、映像と音声の記録を開始する前に自分撮りモードと遠隔撮影モードのいずれかの撮影モードの設定が可能である。
【００４７】
＜システムの動作説明＞次に、図４および図５を参照して、本実施形態のシステムを構成するカメラ１０００および端末２０００の動作について説明する。
【００４８】
まず、図４を参照して、端末２０００がカメラ１０００と接続確立後、ＣＰＵ２００１が実行する処理を説明する。
【００４９】
ステップＳ４００１では、接続時に取得した機器・フレーム取得先情報（ステップ３００２）から、フレーム取得先情報を取得し、保持する。
【００５０】
ステップＳ４００２では、ライブストリーミングアプリケーションにより端末ＲＥＣ１０００７が実行されたか否かを判定する。なお、この判定は、端末ＲＥＣ１０００７が実行されたかに限らず、カメラ１０００が対象となる被写体を検知した時点で記録開始と判定することも可能である。実行された場合にはステップＳ４００３へ進み、実行しない場合、または既に実行され記録が開始されている場合にはステップＳ４００７へ進む。
【００５１】
ステップＳ４００３では、マイク２０１４から音声の入力を開始する。
【００５２】
ステップＳ４００４では、自分撮り／遠隔撮影１０００８の設定が自分撮りモードと遠隔撮影モードのいずれであるかの判定を行う。自分撮りモードの場合にはステップＳ４００５へ進み、遠隔撮影モードの場合にはステップＳ４００６へ進む。なお、モード設定は、操作部２００５により事前にユーザにより設定されているものとする。また、操作部２００５からモード設定を行わず、カメラ１０００の画角内にユーザの視線を検知した場合に自分撮りモードに設定したり、カメラ１０００の画角内に通信している端末２０００が存在する場合には自分撮りモードに設定することも可能である。
【００５３】
ステップＳ４００５では、記録開始時のフレームに開始点情報を付加する要求を送信する。自分撮りモードの場合、カメラ１０００のカメラ信号処理部１０１５で処理されたフレームに音声データを同期させる必要がある。
【００５４】
ステップＳ４００６では、表示部２００７に表示されるフレームと音声データを合成して記録媒体２０１２に記録を開始する。遠隔撮影モードの場合、表示部２００７に表示されるフレームに音声データを同期させる必要がある。
【００５５】
ステップＳ４００７では、所定時間経過したか否かの判定を行う。所定時間が経過した場合にはステップＳ４００８へ進み、経過していない場合には再度ステップＳ４００２を繰り返す。ここで所定時間とは、カメラ１０００が生成する所定の周期Ｔと同等の値にすることが望ましい。
【００５６】
ステップＳ４００８では、ステップＳ４００１で取得したフレーム取得先情報を用いて、フレームの取得要求（ステップ３００４）を行い、カメラ１０００からフレームを取得する。取得したフレームは、ＲＡＭ２００３または記録媒体２０１２に記録した後、符号・復号処理部２０１３に渡され、復号した後、出力処理部２００６を介して、表示部２００７で再生表示（映像表示）を行う。
【００５７】
ステップＳ４００９では、ステップＳ４００８で取得したフレームにステップＳ４００５で要求を送信した開始点情報が付加されているか否かの判定を行う。記録開始時のフレームを受信した場合にはステップＳ４０１０へ進み、受信していない場合にはステップＳ４０１１へ進む。
【００５８】
ステップＳ４０１０では、ステップＳ５００８で取得したフレームと音声データを合成して記録媒体２０１２に記録を開始する。
【００５９】
ステップＳ４０１１では、処理を終了するか否かの判定を行い、終了する場合以外はステップＳ４００２へ戻る。
【００６０】
次に、図５を参照して、カメラ１０００が端末２０００と接続確立後、ＣＰＵ１００１が実行する処理を説明する。
【００６１】
ステップＳ５００１では、ライブストリーミング開始に伴う、フレーム生成の開始処理を行う。ＣＰＵ１００１は、撮像素子１０１４からの信号出力を開始し、その出力をカメラ信号処理部１０１５により適切な映像データに処理し、符号・復号処理部１０１６へデータを渡す。符号・復号処理部１０１６では、受け取った映像データを所定のビットレート、フォーマット形式で圧縮符号化する処理を開始する。
【００６２】
ステップＳ５００２では、端末２０００からのフレーム取得要求（ステップ３００４）有無の判定を行う。フレーム取得要求があった場合にはステップＳ５００３へ進み、なかった場合にはステップＳ５００４へ進む。
【００６３】
ステップＳ５００３では、フレーム取得要求（ステップ３００４）に対する応答（ステップ３００５）として、フレームの送信を行う。
【００６４】
ステップＳ５００４では、端末２０００から開始点情報の付加要求を受信したか否かの判定を行う。要求を受信したということは、自分撮りモードを行っており、カメラ信号処理部１０１５で処理された映像信号に音声信号を同期させる必要があることを意味する。フレーム取得要求があった場合にはステップＳ５００５へ進み、なかった場合にはステップＳ５００６へ進む。
【００６５】
ステップＳ５００５では、記録開始時のフレームに開始点情報を付加する。ステップＳ５００４で要求を受信したときにカメラ信号処理部１０１５で処理された映像信号と音声信号を同期させるため、ＣＰＵ１００１はデジタル信号にフラグを付加する。符号・復号処理部１０１６で所定の処理を行い、ＲＡＭ１００３または記録媒体１０１２に保存されたフレームのアプリケーションマーカー（ＡＰＰｎ）に開始点情報を付加する。なお、開始点情報は、フレームのアプリケーションマーカー（ＡＰＰｎ）ではなく、フレームとは別の情報として付加し、フレームとまとめた構造体を応答フレームとして定義しても良い。
【００６６】
ステップＳ５００６では、処理を終了するか否かの判定を行い、終了する場合以外はステップＳ５００２へ戻る。
【００６７】
なお、本フローでの各イベント判定ステップＳ５００２、Ｓ５００４は、順に問い合わせによる判定で説明したが、各条件のイベント待ちを同時に行う場合には、イベント発生順に各処理を実行しても良い。
【００６８】
［実施形態２］次に、実施形態２としてプレイリストを利用したライブストリーミングについて説明する。
【００６９】
なお、本実施形態のシステム構成は実施形態１と同様であるため、その説明は省略する。
【００７０】
まず、本実施形態のシステムにおけるプレイリストを用いたストリーミングの基本動作について説明する。
１．カメラ（サーバ）は、ストリーミングデータを一定時間のセグメントに分割し、そのセグメント取得先を列挙したプレイリストを作成する。ライブの場合には、定期的にセグメントが生成されるため、新しいセグメントが生成されると、動的に新しい内容のプレイリストに更新（削除、追記）するスライドウインドウ型プレイリストを用いる。
２．端末（クライアント）は、プレイリストを取得・解析し、列挙順にセグメントデータ取得先からデータ取得を行う。
３．端末（クライアント）は、取得したデータの再生表示、または保存を行う。
４．カメラ（サーバ）と端末（クライアント）は、プレイリスト終了（ストリーミング終了）まで、１〜３を繰り返す。
【００７１】
上記基本動作を踏まえ、図６ないし図９を参照して、本実施形態のシステムによるプレイリストを利用したライブストリーミング動作について説明する。
【００７２】
ユーザがカメラ１０００において、操作部１００５からライブストリーミングモードを実行すると、カメラ１０００は、ＣＰＵ１００１の制御により、通信制御部１００８を通信可能状態とする。
【００７３】
さらにユーザは端末２０００において、操作部２００５を操作して通信接続処理およびライブストリーミングに必要なアプリケーションの起動を行う。これに応じて、端末２０００のＣＰＵ２００１は、ＲＯＭ２００２または記録媒体２０１２に格納された当該プログラムに従い、通信制御部２００８を制御し、カメラ１０００との通信を開始し、接続処理を行う。
【００７４】
ここで、カメラ１０００と端末２０００は、通信プロトコルとしてＨＴＴＰ（Hypertext Transfer Protocol）／ＴＣＰ（Transmission Control Protocol）を使用するものとする。また、通信接続においてＵＰｎＰ（Universal Plug and Play）に対応しているものとする。ＵＰｎＰ対応の端末２０００は、機器をネットワークに接続すると、ＤＨＣＰ(Dynamic Host Configuration Protocol)または、ＡｕｔｏＩＰによるＩＰ(Internet Protocol)アドレスの設定を行う。ＩＰアドレスを取得した機器は、ネットワーク上の他の機器を相互に認識するために、「デバイスディスカバリとコントロール」によって、デバイス検索と応答デバイスの種別、サービス機能などの情報取得を行う（ステップ６００３）。カメラ１０００は、端末２０００のデバイス検索要求に対して、機器情報と機器固有情報のプレイリスト取得先情報などを応答する（ステップ６００４）。
【００７５】
カメラ１０００と端末２０００の接続処理が完了すると、カメラ１０００はライブストリーミングを開始する。
【００７６】
ライブストリーミングにおいて、カメラ１０００のＣＰＵ１００１は、撮像素子１０１４からの信号出力を開始し、その出力をカメラ信号処理部１０１５により適切な映像データに処理し、符号・復号処理部１０１６へデータを送出する。
【００７７】
符号・復号処理部１０１６では、受け取った映像データ等を所定のビットレート、フォーマット形式で圧縮符号化し、さらに所定の時間長Ｔｓで分割し、セグメントデータ（６００２）としてＲＡＭ１００３または記録媒体１０１２に保存する。なお、本実施形態ではＴｓ＝０．０３秒として、以下説明する。
【００７８】
ＣＰＵ１００１は、上記セグメントデータの保存先と関連させたパス情報を生成する。パス情報は、端末２０００がセグメントを取得する際の取得先情報として使用するもので、ＣＰＵ１００１は、プレイリスト６００１を作成し、上記パス情報と併せてセグメント情報を記録する。
【００７９】
ここで、図７を参照して、プレイリスト６００１について説明する。
【００８０】
図７に示すプレイリスト７０１０は、Ｅｘｔｅｎｄｅｄ  Ｍ３Ｕ形式のプレイリストであり、最初の行７０１１に識別子タグを記述し、２行目７０１２にはプレイリストバージョンを示すタグとバージョンを記述する。本例ではバージョンを“３”としている。３行目７０１３はセグメントデータ６００２の時間を示すタグとその時間（秒）を整数または小数で記述する。本実施形態では、セグメントデータ時間長をＴｓ＝０．０３（秒）としていることから、本例でも“０．０３”としている。４行目７０１４はセグメントデータ６００２の取得先パス（クエリパラメータを含む）を記述する。３行目７０１３および４行目７０１４はセグメントデータ６００２に関する情報として、必ず続けて記述する必要がある。
【００８１】
また、プレイリスト７０１０は、セグメント情報７０１３、７０１４を記録した図６のプレイリスト６００１の内容例となる。
【００８２】
端末２０００は、セグメントデータ６００２の所定の時間長Ｔｓを事前に記憶しているか、カメラ１０００の機器情報に含めることで機器情報取得時に得ることができているものとする。
【００８３】
端末２０００は、ライブストリーミング開始後、約Ｔｓ（秒）後にステップ６００４で取得したプレイリスト取得先へ、プレイリスト取得要求（ＨＴＴＰ  ＧＥＴメソッド）を行う（ステップ６００５）。
【００８４】
カメラ１０００は、応答プレイリストとして、セグメント情報７０１３、７０１４が一つ記述されたプレイリスト６００１（＝７０１０）を送信する（ステップＳ６００６）。
【００８５】
端末２０００は、受信したプレイリスト７０１０を解析し、セグメント情報の取得先に対して、セグメント取得要求（ＨＴＴＰ  ＧＥＴメソッド）を行う（ステップ６００７）。
【００８６】
カメラ１０００は、応答セグメントとして、要求されたセグメント６００２を送信する（ステップ６００８）。
【００８７】
端末２０００は、受信したセグメント６００２を符号・復号処理部２０１３に渡し、復号した後、出力処理部２００６を介して、表示部２００７で再生表示を行う。ライブストリーミングアプリケーションにより、ユーザから端末ＲＥＣ１０００７への指示入力があると、復号したデータ、またはセグメント６００２からヘッダなどを除いたデータ部を、記録媒体２０１２に記録する。そして、順次受信したセグメントデータと音声信号処理部２０１５からの音声信号をそれぞれ符号化し、多重合成して記録していく。
【００８８】
ストリーミング中、カメラ１０００は、約Ｔｓ（秒）毎にセグメント生成、プレイリスト更新を行う。また、端末２０００に取得されたセグメント情報はプレイリストから削除する。
【００８９】
端末２０００は、カメラ１０００にてプレイリストの更新を行う度、その約Ｔｓ（秒）毎にそのプレイリスト取得（ステップ６００５）を行い、プレイリスト６００１に記載されたセグメント情報に基づき、当該セグメントデータを取得要求する。
【００９０】
なお、端末２０００の要求処理（ステップ６００５、６００７）には端末、またはアプリケーションの固有のＩＤを付加する。そして、本実施形態のカメラ１０００は、最初に要求のあったＩＤの要求のみに対してストリーミングを行う。つまり、本実施形態のカメラ１０００と端末２０００は１対１接続でのみストリーミングを行うものとする。
【００９１】
次に、図９を参照して、端末２０００がカメラ１０００と接続確立後、ＣＰＵ２００１が実行する処理を説明する。
【００９２】
ステップＳ９００１では、接続時に取得した機器・プレイリスト取得先情報（ステップ６００４）から、プレイリスト取得先情報を取得し、保持する。
【００９３】
ステップＳ９００２では、ライブストリーミングアプリケーションにより端末ＲＥＣ１０００７が実行されたか否かを判定する。なお、この判定は、端末ＲＥＣ１０００７が実行されたかに限らず、カメラ１０００が対象となる被写体を検知した時点で記録開始と判定することも可能である。実行された場合にはステップＳ９００３へ進み、実行しない場合、または既に実行され記録が開始されている場合にはステップＳ９０１３へ進む。
【００９４】
ステップＳ９００３では、マイク２０１４から音声の入力を開始する。
【００９５】
ステップＳ９００４では、ステップＳ９００１で取得したプレイリスト取得先情報を用いて、プレイリストの取得要求（ステップ６００５）を行い、カメラ１０００から取得したプレイリストの解析を行う。プレイリストの解析では、識別タグによるプレイリスト形式とバージョンの確認を行った後、セグメント情報を取得する。
【００９６】
ステップＳ９００５では、ステップＳ９００４でセグメント情報が存在したか否かの判定を行う。セグメント情報が存在した場合にはステップＳ９００６に進み、存在しない場合にはステップＳ９００４へ戻る。
【００９７】
ステップＳ９００６では、自分撮り／遠隔撮影１０００８の設定が自分撮りモードと遠隔撮影モードのいずれであるかの判定を行う。自分撮りモードの場合にはステップＳ９００７へ進み、遠隔撮影モードの場合にはステップＳ９０１１へ進む。なお、モード設定は、操作部２００５により事前にユーザにより設定されているものとする。また、操作部２００５からモード設定を行わず、カメラ１０００の画角内にユーザの視線を検知した場合に自分撮りモードに設定したり、カメラ１０００の画角内に通信している端末２０００が存在する場合には自分撮りモードに設定することも可能である。
【００９８】
ステップＳ９００７では、ステップＳ９００４で取得したプレイリストに初めて記述されたセグメントの中から、最も古いセグメントの番号を開始点番号とする。自分撮りモードの場合、端末ＲＥＣ１０００７が実行された直後に生成されたセグメントに音声データを同期させる必要がある。例えば、端末ＲＥＣ１０００７が実行される直前に取得したプレイリストが図８（ａ）のプレイリスト８０１０であり、端末ＲＥＣ１０００７が実行された直後に取得したプレイリストが図８（ｂ）のプレイリスト８０２０であるとすると、開始点番号は４となる。
【００９９】
ステップＳ９００８では、セグメント情報の取得先パスに対してセグメントの取得要求（ステップ６００７）を行い、カメラ１０００からセグメントを取得する。ここで、取得したセグメント情報が１つならば、そのセグメントを最古セグメントとする。また、取得したセグメント情報が複数ならば最も古いセグメントを最古セグメントとする。取得したセグメントは、ＲＡＭ２００３または記録媒体２０１２に記録した後、符号・復号処理部２０１３に渡され、復号した後、出力処理部２００６を介して、表示部２００７で再生表示（映像表示）を行う。
【０１００】
ステップＳ９００９では、ステップＳ９００８で取得したセグメントの番号が、ステップＳ９００７で設定した開始点番号と一致するか否かの判定を行う。一致する場合にはステップＳ９０１０に進み、一致しない場合にはステップＳ９００５へ戻る。
【０１０１】
ステップＳ９０１０では、ステップＳ９００８で取得したセグメントと音声データを合成して記録媒体２０１２に記録を開始する。
【０１０２】
ステップＳ９０１１では、ステップＳ９００８と同様に、セグメント情報の取得先パスに対してセグメントの取得要求（ステップ６００７）を行い、カメラ１０００からセグメントを取得する。取得したセグメントは、ＲＡＭ２００３または記録媒体２０１２に記録した後、符号・復号処理部２０１３に渡され、復号した後、出力処理部２００６を介して、表示部２００７で再生表示（映像表示）を行う。
【０１０３】
ステップＳ９０１２では、表示部２００７で再生表示されているセグメントと音声データを合成して記録媒体２０１２に記録を開始する。遠隔撮影モードの場合、表示部２００７に表示されるセグメントに音声を同期させる必要がある。
【０１０４】
ステップＳ９０１３では、所定時間経過したか否かの判定を行う。所定時間が経過した場合にはステップＳ９０１４へ進み、経過していない場合には再度ステップＳ９００２を繰り返す。なお、所定時間は、カメラ１０００が生成する所定の時間長Ｔｓと同等の値でなくても良い。
【０１０５】
ステップＳ９０１４では、ステップＳ９００４と同様に、ステップＳ９００１で取得したプレイリスト取得先情報を用いて、プレイリストの取得要求（ステップＳ６００５）を行い、カメラ１０００から取得したプレイリストの解析を行う。
【０１０６】
ステップＳ９０１５では、ステップＳ９００５と同様に、ステップＳ９０１４でセグメント情報が存在したか否かの判定を行う。セグメント情報が存在した場合にはステップＳ９０１６に進み、存在しない場合にはステップＳ９０１４へ戻る。
【０１０７】
ステップＳ９０１６では、ステップＳ９００８と同様に、セグメント情報の取得先パスに対してセグメントの取得要求（７００７）を行い、カメラ１０００からセグメントを取得する。取得したセグメントは、ＲＡＭ２００３または記録媒体２０１２に記録した後、符号・復号処理部２０１３に渡され、復号した後、出力処理部２００６を介して、表示部２００７で再生表示（映像表示）を行う。
【０１０８】
ステップＳ９０１７では、ステップＳ９０１３と同様に、所定時間経過したか否かの判定を行う。所定時間が経過した場合にはステップＳ９０１８へ進み、経過していない場合にはステップＳ９０１５へ戻る。所定時間が経過していない場合には、ステップＳ９０１５へ戻ることで、プレイリストに未だセグメント情報が存在する場合、セグメントを再度取得することが可能となる。なお、所定時間は、カメラ１０００が生成する所定の時間長Ｔｓと同等の値でなくても良い。
【０１０９】
ステップＳ９０１８では、処理を終了するか否かの判定を行い、終了する場合以外はステップＳ９００２へ戻る。
【０１１０】
上述した各実施形態によれば、自分撮りモードの場合は、撮影者の唇の動きと音声が合っている必要があるため、撮影映像と音声を同期させて記録し、遠隔撮影モードの場合は、撮影者は遅延した映像を見ながら話をしているため、遅延画像（端末に表示されている映像）と音声を同期させて記録する。
【０１１１】
このように、通信の遅延や用途に応じてカメラの撮影映像と端末からの入力音声とを合成して記録するかを決定するので、映像と音声の同期を最適化することが可能となる。
【０１１２】
［他の実施形態］本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2015122587.tif 000003
【図２】
2015122587.tif 000004
【図３】
2015122587.tif 000005
【図４】
2015122587.tif 000006
【図５】
2015122587.tif 000007
【図６】
2015122587.tif 000008
【図７】
2015122587.tif 000009
【図８】
2015122587.tif 000010
【図９】
2015122587.tif 000011
【図１０】
2015122587.tif 000012