(57)【要約】【課題】動画ストリームの配信要求を受信してから動画ストリームを配信するまでの遅延時間を短くすることができる撮像装置を提供することを課題とする。【解決手段】撮像装置は、複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する配信手段（３０２）と、前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリストに示される動画ストリームに対応する動画フレームをフレーム内符号化によって符号化する符号化手段（３０３）とを有し、前記配信手段は、特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する。【選択図】図７
2019009492.tif 000002
【特許請求の範囲】
【請求項１】
複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する配信手段と、
前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリストに示される動画ストリームに対応する動画フレームをフレーム内符号化によって符号化する符号化手段とを有し、
前記配信手段は、特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信することを特徴とする撮像装置。
【請求項２】
前記符号化手段は、撮像された動画フレームをフレーム内符号化またはフレーム間符号化によって符号化し、
さらに、前記符号化された動画フレームのセグメントを生成する生成手段を有し、
前記配信手段は、前記特定の動画ストリームの配信要求を受信すると、前記セグメントを配信することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記動画ストリームに係る情報は、動画の解像度、符号化方式、配信ビットレート、およびフレームレートのうちの少なくとも１つを含むことを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記配信手段は、前記プレイリスト内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を同時または順に前記符号化手段に対して行うことを特徴とする請求項１〜３のいずれか１項に記載の撮像装置。
【請求項５】
前記配信手段は、前記プレイリスト内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信ビットレートの低い順で前記符号化手段に対して行うことを特徴とする請求項１〜３のいずれか１項に記載の撮像装置。
【請求項６】
前記配信手段は、前記プレイリスト内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信頻度が高い順で前記符号化手段に対して行うことを特徴とする請求項１〜３のいずれか１項に記載の撮像装置。
【請求項７】
前記配信手段は、前記プレイリスト内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行った後、前記特定の動画ストリームの配信要求の受信の待ち時間が閾値以上になった場合には、再び、前記プレイリスト内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行うことを特徴とする請求項４〜６のいずれか１項に記載の撮像装置。
【請求項８】
前記配信手段は、前記特定の動画ストリームの配信要求を受信すると、前記プレイリスト内の動画ストリームのうちの前記特定の動画ストリーム以外の動画ストリームの生成終了要求を前記符号化手段に対して行うことを特徴とする請求項１〜７のいずれか１項に記載の撮像装置。
【請求項９】
前記配信手段は、前記プレイリストに１つの動画ストリームに係る情報が示されている場合には、前記特定の動画ストリームの配信要求を受信する前に、前記プレイリストに示される１つの動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行い、前記プレイリストに複数の動画ストリームに係る情報が示されている場合には、前記特定の動画ストリームの配信要求を受信した後に、前記特定の動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行うことを特徴とする請求項１〜３のいずれか１項に記載の撮像装置。
【請求項１０】
配信手段により、複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する第１の配信ステップと、
符号化手段により、前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリストに示される動画ストリームに対応する動画フレームをフレーム内符号化によって符号化する符号化ステップと、
前記配信手段により、特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する第２の配信ステップと
を有することを特徴とする撮像装置の処理方法。
【請求項１１】
複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する第１の配信ステップと、
前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリストに示される動画ストリームに対応する動画フレームをフレーム内符号化によって符号化する符号化ステップと、
特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する第２の配信ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、撮像装置の処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、クライアントの通信状況に応じて、品質を調整して動画の配信を行うアダプティブストリーミング技術を用いたシステムが普及している。アダプティブストリーミング技術の代表的な例としては、下記の２つがある。第１の技術は、ＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）によって規格化されたＤＡＳＨ（Ｄｙｎａｍｉｃ Ａｄａｐｔｉｖｅ Ｓｔｒｅａｍｉｎｇ ｏｖｅｒ ＨＴＴＰ）である。第２の技術は、ＨＬＳ（ＨＴＴＰ Ｌｉｖｅ Ｓｔｒｅａｍｉｎｇ）である。これらの技術では、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）を通信方式として用い、配信サーバーは動画ストリームをセグメントと呼ばれる複数の動画ファイルに分割して、各セグメントをクライアントに対して配信する。
【０００３】
具体的には、ＤＡＳＨ配信では、まずクライアントは、配信サーバーが配信可能である動画ストリームの情報を含むＭＰＤ（Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイルを取得する。そして、クライアントは、その中からクライアントの表示性能や通信状況に応じて、適切な解像度やビットレートの動画ストリームを選択する。そして、クライアントは、ＭＰＤの記載に従って、ＭＰＥＧ２−ＴＳまたはＭＰ４の動画フォーマットをセグメント単位でダウンロードして再生する。ＭＰＥＧ２−ＴＳおよびＭＰ４の動画フォーマットにおける動画コーデックには、フレーム内符号化によって符号化される動画フレーム（Ｉフレーム）と、フレーム間符号化によって符号化される動画フレーム（Ｐフレーム、Ｂフレーム）が存在する。クライアントは、Ｉフレームから動画の再生を開始する。
【０００４】
特許文献１は、クライアントから動画配信の要求がある前に、ＭＰＤに記述されたセグメントの中から、次にクライアントに配信するセグメントをアナウンスし、クライアントから配信前に配信キャンセルや配信順序変更の要求を受け付ける方法を開示している。また、特許文献２は、クライアントの動画再生開始を早めるためにクライアントから動画配信の要求があった際にＩフレームを生成する方法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１６−５３１４６６号公報
【特許文献２】特開２００２−３４４９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述の特許文献１および２では、例えばネットワークカメラのように、撮像手段と配信サーバーを備える構成を用いてＤＡＳＨ配信をライブ形式（ＤＡＳＨライブ配信）で行う際の動画フレームの撮像方法が考慮されていない。このため、クライアントが動画の再生を開始するために必要なＩフレームを含むセグメントが作成されるまでの遅延時間が長くなる。
【０００７】
特許文献１では、クライアントに対してＤＡＳＨライブ配信を開始する際に、Ｉフレームを含むセグメントが配信サーバー内に存在しない場合について開示されていない。そのような場合、クライアントは、配信サーバーが新たにＩフレームを含むセグメントを作成するのを待ってからそのセグメントを取得するまでの間だけ遅延時間が長くなる。
【０００８】
また、特許文献２では、配信サーバーは、クライアントから動画配信要求が行われてからＩフレームを生成するため、動画配信要求を行ってからＩフレームを含むセグメントを取得するまでの間だけ遅延時間が長くなる。
【０００９】
本発明の目的は、動画ストリームの配信要求を受信してから動画ストリームを配信するまでの遅延時間を短くすることができる撮像装置、撮像装置の処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の撮像装置は、複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する配信手段と、前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリストに示される動画ストリームに対応する動画フレームをフレーム内符号化によって符号化する符号化手段とを有し、前記配信手段は、特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する。
【発明の効果】
【００１１】
本発明によれば、動画ストリームの配信要求を受信してから動画ストリームを配信するまでの遅延時間を短くすることができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る撮像システムの構成例を示す図である。
【図２】第１の実施形態に係る撮像装置のハードウェア構成例を示す図である。
【図３】第１の実施形態に係る撮像装置の機能構成例を示す図である。
【図４】ＤＡＳＨライブ配信に用いるＭＰＤの一例を示す図である。
【図５】動画フレームとセグメントの関係を示す図である。
【図６】管理部の処理を示すフローチャートである。
【図７】撮像装置とクライアント間の相互作用の一例を示すシーケンス図である。
【図８】第１の実施形態に係る配信部の処理を示すフローチャートである。
【図９】第２の実施形態に係る配信部の処理を示すフローチャートである。
【図１０】第３の実施形態に係る配信部の処理を示すフローチャートである。
【図１１】第３の実施形態に係る配信部の処理を示すフローチャートである。
【図１２】第４の実施形態に係る配信部の処理を示すフローチャートである。
【図１３】撮像装置とクライアントの処理を示すシーケンス図である。
【図１４】第５の実施形態に係る配信部の処理を示すフローチャートである。
【図１５】第６の実施形態に係る配信部の処理を示すフローチャートである。
【図１６】第６の実施形態に係る配信部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る撮像システムの構成例を示す図である。撮像システムは、撮像装置１０１と、クライアント１０２と、ネットワーク１０３とを有する。例えば、撮像装置１０１は、ネットワークカメラであり、ネットワーク１０３は、ＬＡＮ等のＩＰネットワークである。撮像装置１０１とクライアント１０２は、ネットワーク１０３を介して、相互に接続され、相互に通信可能である。撮像装置１０１は、撮影した画像を、ネットワーク１０３を介して、クライアント１０２に配信する。クライアント１０２は、撮像装置１０１の外部機器である。クライアント１０２は、撮像装置１０１に対して、各種リクエストコマンドを送信する。撮像装置１０１は、それらのコマンドに対するレスポンスをクライアント１０２に送信する。ネットワーク１０３は、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信規格を満足する複数のルータ、スイッチ、ケーブル等を有する。ネットワーク１０３は、撮像装置１０１およびクライアント１０２間の通信が行えるものであれば、その通信規格、規模、構成が限定されない。ネットワーク１０３は、インターネットから無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）にまで適用可能である。なお、図１では、説明の簡略化のために、撮像装置１０１は１台としているが、２台以上であってもよい。また、クライアント１０２以外にも、撮像装置１０１に接続するクライアントがあってもよい。
【００１４】
図２は、本実施形態に係る撮像装置１０１のハードウェア構成例を示す図である。撮像装置１０１では、ＣＰＵ２０１、一次記憶装置２０２、二次記憶装置２０３、画像キャプチャインタフェース２０６、ネットワークインタフェース２０７が内部バス２０４を介して相互に接続されている。撮像装置１０１は、撮像素子２０５を有する。一次記憶装置２０２は、例えばＲＡＭであり、書き込み可能な高速の記憶装置であり、ＯＳや各種プログラムおよび各種データがロードされ、またＯＳや各種プログラムの作業領域として使用される。二次記憶装置２０３は、例えばフラッシュメモリ、ＨＤＤ、ＳＤカード等であり、不揮発性記憶装置であり、ＯＳや各種プログラムおよび各種データの永続的な記憶領域として使用され、短期的な各種データの記憶領域として使用される。ＣＰＵ１１２は、二次記憶装置２０３に記憶されているプログラムを一次記憶装置２０２に展開して実行することにより、撮像装置１０１の処理を行う。
【００１５】
撮像素子２０５は、ＣＣＤセンサやＣＭＯＳセンサであり、光電変換により動画像データを生成する。画像キャプチャインタフェース２０６は、撮像素子２０５に接続され、撮像素子２０５から取得した動画像データを所定のフォーマットに変換し、圧縮して一次記憶装置２０２に動画フレームとして転送する。ネットワークインタフェース２０７は、ネットワーク１０３を介して、撮像装置１０１へ画像の要求をするクライアント１０２に接続するインタフェースであり、クライアント１０２との通信を担う。
【００１６】
図３は、本実施形態に係る撮像装置１０１の機能構成例を示す図である。撮像装置１０１は、一時記憶部３０１、配信部３０２、撮像処理部３０３、管理部３０４および通信部３０５を有する。一時記憶部３０１は、図２の一次記憶装置２０２に対応する。配信部３０２、撮像処理部３０３、管理部３０４および通信部３０５は、図２のＣＰＵ２０１がプログラムを実行することにより機能する処理部である。
【００１７】
撮像処理部３０３は、撮像素子２０５により生成された動画フレームを、画像キャプチャインタフェース２０６を経由して取得する。そして、撮像処理部３０３は、その動画フレームを符号化し、ＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）やＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）などの動画再生に必要な動画メタ情報と共に一時記憶部３０１に保存する。符号化方式として例えば、Ｈ．２６４／ＡＶＣまたはＨ．２６５／ＨＥＶＣを用いることができる。ただし、符号化方式はこれらに限らない。また、撮像処理部３０３は、複数の符号化方式の中から符号化方式を選択して符号化を行ってもよい。一時記憶部３０１は、生成された動画メタ情報と動画フレームを一時的に記憶する。
【００１８】
管理部３０４は、撮像処理部３０３が一時記憶部３０１に保存した動画メタ情報と動画フレームから初期化セグメント情報とセグメント情報をそれぞれ生成して、配信部３０２に通知する。初期化セグメント情報は、一時記憶部３０１に保存された動画メタ情報から初期化セグメントを生成するための情報であり、例えばファイルとして保存した動画メタ情報のパスである。セグメント情報は、一時記憶部３０１に保存された動画フレームからセグメントを生成するための情報であり、例えばセグメントが含む各動画フレームのデータファイルのパスを動画フレームの番号から小さい順に記述したテキストを用いることができる。各セグメントが含む動画フレームは、各セグメントが含む動画フレーム数（セグメントフレーム数）を基に判定され、セグメントフレーム数は、配信部３０２からの動画ストリーム開始要求時に指定される。具体的な指定方法の説明は、図４におけるセグメント時間情報４１４の説明と共に行う。管理部３０４は、配信部３０２がセグメント情報を解放するまで一時記憶部３０１の動画フレームを保持する。
【００１９】
配信部３０２は、配信できる全動画ストリーム情報が記載されているプレイリストと管理部３０４が生成した初期化セグメントおよびセグメントを、クライアント１０２のリクエストに応じて、通信部３０５を経由して、クライアント１０２に配信する。プレイリストの一例として、ＩＳＯ／ＩＥＣ２３００９−１：２０１４にて定義されるＭＰＤファイルを用いる。配信部３０２は、初期化セグメントとセグメントのヘッダ部を生成し、管理部３０４が生成した初期化セグメント情報とセグメント情報に記載されている動画メタ情報および動画フレームのデータ部分と結合し、初期化セグメントとセグメントを生成する。そして、配信部３０２は、初期化セグメントとセグメントを、通信部３０５を経由して、クライアント１０２に配信する。
【００２０】
管理部３０４は、クライアント１０２からの配信要求を受信してからセグメントを配信する例を説明したが、これに限定されない。管理部３０４は、ＨＴＴＰ／２やＷｅｂｓｏｃｋｅｔなどのプロトコルによっては要求を受信しなくても動画フレームを生成して、セグメントが完成した時点で次々と配信してもよい。
【００２１】
図４は、撮像装置１０１がクライアント１０２に配信するＭＰＤファイル４００の構成例を示す図である。ＭＰＤファイル４００は、ＸＭＬ形式であり、スキーマ情報４０１にて、ｘｍｌｎｓ属性で指定した名前空間およびｘｓｉ属性で指定したスキーマ文書において、ＭＰＤファイル４００の記述方法が定義される。
【００２２】
プロファイル情報４０２では、ＩＳＯ／ＩＥＣ２３００９−１：２０１４にて定義されるプロファイル“ｕｒｎ:ｍｐｅｇ:ｄａｓｈ:ｐｒｏｆｉｌｅ:ｉｓｏｆｆ-ｌｉｖｅ：２０１１”を指定している。このプロファイルは、ＤＡＳＨライブ配信を想定して設計されている。このプロファイルは、クライアント１０２から撮像装置１０１へのストリーム設定変更要求、一次記憶装置２０２の帯域使用率等の撮像装置１０１の稼働状況、およびネットワーク１０３の通信帯域等に合わせてＭＰＤファイル４００を動画配信中に更新できる。
【００２３】
例えば、撮像装置１０１は、配信可能な３本の動画ストリーム１、２、３の動画フレームを撮像処理部３０３が出力する。ＭＰＤファイル４００の中では、動画ストリーム１、２、３で配信する動画の情報を、データ構造Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５、４０６、４０７で定義している。ＭＰＤファイル４００は、複数の動画ストリームに係る情報を示すことが可能なプレイリストである。
【００２４】
Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５は、符号化情報４０９、解像度情報４１０、フレームレート情報４１１、および配信ビットレート情報４１２を含む。符号化情報４０９は、動画の符号化方式Ｈ．２６４／ＡＶＣ  Ｍａｉｎプロファイル  レベル３．１を示す。解像度情報４１０は、動画の幅４８０および高さ２７０を示す。フレームレート情報４１１は、動画の１秒当たりの表示フレーム枚数３０を示す。配信ビットレート情報４１２は、動画の配信ビットレート値６８００００ｂｐｓを示す。また、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５は、下記のように、セグメントが区切られる時間の単位（セグメント時間）をセグメント時間情報４１４で示している。
【００２５】
（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５のセグメント時間）＝（セグメント時間情報４１４のｄｕｒａｔｉｏｎ）／（セグメント時間情報４１４のｔｉｍｅｓｃａｌｅ）＝３００／３０００［秒］＝０．１［秒］
【００２６】
故に、前述した配信部３０２から管理部３０４へのセグメントフレーム数を、下記の計算式によって導出し、指定することが可能である。
【００２７】
（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５のセグメントフレーム数）＝（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５のフレームレート）＝０．１［秒］×３０［１／秒］×（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５のセグメント時間）＝３
【００２８】
また、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５は、動画ストリーム１の初期化セグメントＵＲＩ情報４１６、および、セグメントＵＲＩ情報４１５を含んでいる。クライアント１０２は、撮像装置１０１のＩＰアドレスを含むＭＰＤＢａｓｅＵＲＩ情報４０３、ストリーム１の識別子を含むＲｅｐｒｅｓｅｎｔａｔｉｏｎＢａｓｅＵＲＩ情報４１３を使用することにより、下記のＵＲＩにアクセスする。そして、クライアント１０２は、動画ストリーム１の初期化セグメントと各セグメントの取得を行う。
【００２９】
（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５の初期化セグメントＵＲＩ）＝（ＭＰＤＢａｓｅＵＲＩ情報４０３）＋（ＲｅｐｒｅｓｅｎｔａｔｉｏｎＢａｓｅＵＲＩ情報４１３）＋（初期化セグメントＵＲＩ情報４１６）＝“ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｉｎｉｔ１．ｍｐ４”
【００３０】
（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５のセグメントＵＲＩ）＝（ＭＰＤＢａｓｅＵＲＩ情報４０３）＋（ＲｅｐｒｅｓｅｎｔａｔｉｏｎＢａｓｅＵＲＩ情報４１３）＋（セグメントＵＲＩ情報４１５）＝“ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｍｅｄｉａ１＿＄Ｎｕｍｂｅｒ＄．ｍ４ｓ”
【００３１】
上記の式で、Ａ＋Ｂは、要素Ａの文字列の右側に要素Ｂの文字列を結合すること意味する。＄Ｎｕｍｂｅｒ＄は、テンプレート表現であり、セグメントＵＲＩ情報４１５のｓｔａｒｔＮｕｍｂｅｒの値からセグメント１つ毎に評価値がインクリメントされていく。
【００３２】
実際の動画ストリーム１の各セグメントのＵＲＩは、“ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｍｅｄｉａ１＿１．ｍ４ｓ”である。また、“ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｍｅｄｉａ１＿２．ｍ４ｓ”である。また、“ｈｔｔｐ：／／１９２．１６９．１００．１：８０／ｖｉｄｅｏ／ｓｔｒｅａｍ１／ｍｅｄｉａ１＿３．ｍ４ｓ”等である。
【００３３】
他に、ＵＲＩのためのテンプレート表現として、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５のＲｅｐｒｅｓｅｎｔａｔｉｏｎＩＤ４０８として$ＲｅｐｒｅｓｅｎｔａｔｉｏｎＩＤ$を用いることができる。また、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０５の配信ビットレート４１２の数値とし、＄ＢａｎｄＷｉｄｔｈ＄等を用いることができる。また、それらの組み合わせを用いることができる。
【００３４】
Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０６は、符号化情報４１８、解像度情報４１９、フレームレート情報４２０、配信ビットレート情報４２１、およびセグメント時間情報４２３を含む。さらに、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０６は、ＲｅｐｒｅｓｅｎｔａｔｉｏｎＩＤ４１７、初期化セグメントＵＲＩ情報４２５、およびセグメントＵＲＩ情報４２４を含む。
【００３５】
Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０７は、符号化情報４２７、解像度情報４２８、フレームレート情報４２９、配信ビットレート情報４３０、およびセグメント時間情報４３２を含む。さらに、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０７は、ＲｅｐｒｅｓｅｎｔａｔｉｏｎＩＤ４２６、初期化セグメントＵＲＩ情報４３４、およびセグメントＵＲＩ情報４３３を含む。
【００３６】
Ｒｅｐｒｅｓｅｎｔａｉｏｎ４０５が動画ストリーム１の情報を表現するのと同様に、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ４０６および４０７は、動画ストリーム２、３について、各種の値を表現している。本実施形態では、説明の容易化のため、動画ストリームを３本としたが、３本以外の動画ストリームを定義してもよいし、逆にクライアント１０２からのリクエストに合わせて１本の動画ストリームのみの定義でもよい。
【００３７】
図５は、動画ストリーム１と動画ストリーム１の各セグメントとの関係を示す図である。撮像処理部３０３は、動画ストリーム１の開始要求を受け付けると、ＳＰＳおよびＰＰＳを含む動画メタ情報５０１と動画フレーム５１１〜５１６を連続して生成し、それぞれを生成すると同時に管理部３０４に生成通知をする。このうち、動画フレーム５１１と５１４は、完全な動画フレームを構成するのに必要な動画情報を有するＩフレームを示し、それ以外の動画フレームは、直前の画像との差分の動画情報を有するＰフレームを示す。Ｉフレームは、フレーム内符号化によって符号化される動画フレームである。Ｐフレームは、フレーム間符号化によって符号化される動画フレームである。撮像処理部３０３は、撮像された動画フレームをフレーム内符号化またはフレーム間符号化によって符号化する。撮像処理部３０３は、動画フレーム５１６を生成した後もフレーム生成を続け、各フレームセグメントを生成すると同時に管理部３０４に生成通知をする。
【００３８】
管理部３０４は、まず動画メタ情報５０１を含む初期化セグメント５００を生成し、次に動画フレーム５１１、５１２、５１３を含むセグメント１−１（５２０）を生成し、次に動画フレーム５１４、５１５、５１６を含むセグメント１−２（５３０）を生成する。管理部３０４は、生成手段であり、セグメント１−２（５３０）を生成した後も撮像処理部３０３が生成したフレームに対してセグメントの生成を続ける。
【００３９】
管理部３０４は、他の動画ストリームについても、撮像処理部３０３が生成したフレームを、セグメントフレーム数の指定に応じて、同様にセグメント化する。本実施形態では、差分の動画情報をＰフレームとしたが、Ｂフレームなどにも適用可能である。また、セグメントの最初のフレームは、必ずしもＩフレームとならなくてもよい。
【００４０】
図６は、管理部３０４の処理例を示すフローチャートである。管理部３０４は、撮像処理部３０３が自身が開始した直後に開始要求を行うことで開始する。ステップＳ６００において、管理部３０４は、イベントの発生を待ち、発生イベントの判定により、処理動作を切り替える。管理部３０４は、発生イベントが、撮像処理部３０３からの動画メタ情報の生成イベントであると判定した場合には、ステップＳ６０１に処理を進める。また、管理部３０４は、発生イベントが、撮像処理部３０３からの動画フレーム生成イベントであると判定した場合には、ステップＳ６０５に処理を進める。また、管理部３０４は、発生イベントが、配信部３０２からのセグメント解放指示イベントであると判定した場合には、ステップＳ６１６に処理を進める。また、管理部３０４は、発生イベントが、配信部３０２からの動画ストリームの終了要求イベントであると判定した場合には、ステップＳ６１７に処理を進める。
【００４１】
ステップＳ６０１において、管理部３０４は、動画メタ情報を保存する。次に、ステップＳ６０２において、管理部３０４は、動画メタ情報を含む初期化セグメントを生成して配信部３０２に通知する。次に、ステップＳ６０３において、管理部３０４は、動画ストリームの開始要求時に指定されたセグメントフレーム数などのセグメント構成情報を保存する。次に、ステップＳ６０４において、管理部３０４は、自己の状態をＩフレーム待ちの状態に設定する。その後、管理部３０４は、ステップＳ６００に処理を戻す。
【００４２】
ステップＳ６０５において、管理部３０４は、自己の状態を判定する。そして、管理部３０４は、自己の状態がＩフレーム待ちの状態であると判定した場合には、ステップＳ６０６に処理を進め、自己の状態が次フレーム待ちの状態であると判定した場合には、ステップＳ６１２に処理を進める。
【００４３】
ステップＳ６０６において、管理部３０４は、生成された動画フレームがＩフレームか否かを判定する。そして、管理部３０４は、動画フレームがＩフレームであると判定した場合にはステップＳ６０７に処理を進め、動画フレームがＩフレームでないと判定した場合にはステップＳ６００に処理を戻す。
【００４４】
ステップＳ６０７において、管理部３０４は、動画フレーム情報を保存する。次に、ステップＳ６０８において、管理部３０４は、動画フレームがＳ６０３にて保存したセグメント構成情報に含むセグメントフレーム数分生成されたか否かを判定する。そして、管理部３０４は、セグメントフレーム数分の動画フレームが生成されたと判定した場合にはステップＳ６０９に処理を進め、セグメントフレーム数分の動画フレームが生成されていないと判定した場合にはステップＳ６００に処理を戻す。
【００４５】
ステップＳ６０９において、管理部３０４は、セグメント番号とセグメントに含まれる動画フレーム情報を保存する。次に、ステップＳ６１０において、管理部３０４は、配信部３０２にセグメントが生成された旨を通知する。次に、ステップＳ６１１において、管理部３０４は、自己の状態を次フレーム待ちの状態に設定する。その後、管理部３０４は、ステップＳ６００に処理を戻す。
【００４６】
上記のステップＳ６０９およびＳ６１０では、管理部３０４は、セグメント情報と動画フレーム情報のみを保存し、通知することが重要である。もし、管理部３０４が、動画フレーム中の動画データ部分からセグメントを生成すると、データのコピー処理を実行するだけでなく、クライアント１０２毎にセグメントを保存する必要が出てくるため、一時記憶部３０１が不足するという懸念が発生する。
【００４７】
ステップＳ６１２において、管理部３０４は、動画フレーム情報を保存する。次に、ステップＳ６１３において、管理部３０４は、動画フレームがステップＳ６０３にて保存したセグメント構成情報に含まれる動画フレーム数分生成されたか否かを判定する。そして、管理部３０４は、セグメント分の動画フレーム数が生成されたと判定した場合にはステップＳ６１４に処理を進め、セグメント分の動画フレーム数が生成されていないと判定した場合にはステップＳ６００に処理を戻す。
【００４８】
ステップＳ６１４において、管理部３０４は、セグメント番号とセグメントに含まれる動画フレーム情報を保存する。次に、ステップＳ６１５において、管理部３０４は、配信部３０２にセグメントが生成された旨を通知する。その後、管理部３０４は、ステップＳ６００に処理を戻す。
【００４９】
本実施形態では、必ず連続で動画フレームが生成される前提で説明したが、動画フレームが連続して生成されない可能性がある場合は、管理部３０４は、動画フレームが連続か否かを判定し、非連続の場合は再度Ｉフレーム待ちの状態に戻る処理を行ってもよい。
【００５０】
ステップＳ６１６において、管理部３０４は、保存しているセグメント情報と当該セグメントに含まれている動画フレームを削除する。その後、管理部３０４は、ステップＳ６００に処理を戻す。
【００５１】
ステップＳ６１７において、管理部３０４は、保存している全セグメント情報と当該セグメントに含まれている動画フレーム情報を削除する。次に、ステップＳ６１８において、管理部３０４は、全ての動画ストリームが終了したか否かを判定する。そして、管理部３０４は、全ての動画ストリームが終了したと判定した場合には、処理を終了し、全ての動画ストリームが終了していないと判定した場合には、ステップＳ６００に処理を戻す。
【００５２】
本実施形態では、配信部３０２が動画ストリームの開始要求を行った際に、管理部３０４は、撮像処理部３０３と同時に起動する例を説明したが、常時起動しておき、全クライアント１０２のセグメント情報を１つの管理部３０４が管理してもよい。
【００５３】
図７は、クライアント１０２が撮像装置１０１から動画配信を受信する処理を示すシーケンス図である。以下、クライアント１０２と撮像装置１０１の処理方法を説明する。撮像装置１０１は、撮像処理を行う撮像処理部３０３と、撮像処理部３０３が生成した動画メタ情報と動画フレームを基にセグメントを生成および管理する管理部３０４と、クライアント１０２への配信処理を行う配信部３０２を有する。
【００５４】
まず、ステップＳ７００において、クライアント１０２は、動画情報を束ねるＭＰＤファイル４００の配信要求を撮像装置１０１に配信する。次に、ステップＳ７０１において、撮像装置１０１の配信部３０２は、ＭＰＤファイル４００の配信要求を受信すると、配信可能な動画ストリームをまとめたＭＰＤファイル４００を生成して、クライアント１０２に配信する。
【００５５】
ステップＳ７０９において、配信部３０２は、ＭＰＤファイル４００に記載されている動画ストリーム１のストリーム開始要求を、撮像処理部３０３に対して出力する。次に、ステップＳ７１０において、配信部３０２は、ＭＰＤファイル４００に記載されている動画ストリーム２のストリーム開始要求を、撮像処理部３０３に対して出力する。次に、ステップＳ７１１において、配信部３０２は、ＭＰＤファイル４００に記載されている動画ストリーム３のストリーム開始要求を、撮像処理部３０３に対して出力する。
【００５６】
ステップＳ７２１において、撮像処理部３０３は、ステップＳ７０９の動画ストリーム１の開始要求を受け付けると、動画ストリーム１について、ＳＰＳおよびＰＰＳを含む動画メタ情報を生成し、管理部３０４に通知する。次に、ステップＳ７２２において、撮像処理部３０３は、ステップＳ７１０の動画ストリーム２の開始要求を受け付けると、動画ストリーム２について、ＳＰＳおよびＰＰＳを含む動画メタ情報を生成し、管理部３０４に通知する。次に、ステップＳ７２３において、撮像処理部３０３は、ステップＳ７１１の動画ストリーム３の開始要求を受け付けると、動画ストリーム３について、ＳＰＳおよびＰＰＳを含む動画メタ情報を生成し、管理部３０４に通知する。その後、ステップＳ７２４において、撮像処理部３０３は、動画フレームを連続して生成し、管理部３０４に通知する。
【００５７】
ステップＳ７１２において、管理部３０４は、ステップＳ７２１の動画メタ情報生成通知を受け付けると、初期化セグメント１を生成し、生成が完了した場合には、生成通知を配信部３０２に出力する。次に、ステップＳ７１３において、管理部３０４は、ステップＳ７２２の動画メタ情報生成通知を受け付けると、初期化セグメント２を生成し、生成が完了した場合には、生成通知を配信部３０２に出力する。次に、ステップＳ７１４において、管理部３０４は、ステップＳ７２３の動画メタ情報生成通知を受け付けると、初期化セグメント３を生成し、生成が完了した場合には、生成通知を配信部３０２に出力する。
【００５８】
次に、ステップＳ７１５〜Ｓ７２０において、管理部３０４は、動画ストリーム開始時に指定されたセグメント構成情報を基に、セグメントを生成する。具体的には、管理部３０４は、動画ストリーム１については、セグメント１−１、１−２、・・・、動画ストリーム２については、セグメント２−１、２−２、・・・、動画ストリーム３については、セグメント３−１、３−２、・・・を生成する。そして、管理部３０４は、その生成が完了した場合には、生成通知を配信部３０２に出力する。
【００５９】
クライアント１０２は、ステップＳ７０１のＭＰＤファイル４００を取得して分析した後、自己のＣＰＵ能力や表示解像度および通信帯域などから受信する動画ストリームを選択する。ステップＳ７０２において、クライアント１０２は、再生に必要な情報が含まれている初期化セグメントの配信要求を撮像装置１０１に配信する。図７の場合、クライアント１０２は、動画ストリーム１を選択し、初期化セグメント１の配信要求を撮像装置１０１に配信する。なお、クライアント１０２は、ＭＰＤファイル４００に記載される他の動画ストリームの初期化セグメントの配信要求を配信してもよく、また、初期化セグメントを撮像装置１０１からサーバプッシュ方式で取得してもよい。
【００６０】
次に、ステップＳ７０３において、配信部３０２は、指定された初期化セグメントをクライアント１０２に返信する。図７の場合、配信部３０２は、初期化セグメント１をクライアント１０２に返信する。
【００６１】
次に、ステップＳ７０４において、クライアント１０２は、上記の初期化セグメント１を受信した後、セグメント１−１の配信要求を撮像装置１０１に配信する。次に、ステップＳ７０５において、配信部３０２、ステップＳ７１５のセグメント１−１が生成されると、セグメント１−１をクライアント１０２に配信する。次に、ステップＳ７０８において、クライアント１０２は、セグメント１−１を受信後、動画再生を行う。クライアント１０２は、必要であれば一定時間セグメント１−１をバッファリングしてから動画再生を開始してもよい。
【００６２】
次に、ステップＳ７０６において、クライアント１０２は、次のセグメント１−２の配信要求を撮像装置１０１に配信する。次に、ステップＳ７０７において、配信部３０２は、ステップＳ７１８のセグメント１−２が生成されると、セグメント１−２をクライアント１０２に配信する。クライアント１０２は、動画を途切れないように、セグメント１−１に含まれていた動画フレームの後に、セグメント１−２に含まれている動画フレームを順次再生する。その後も同様に、クライアント１０２は、撮像装置１０１からセグメントを順次取得し、動画の再生を行う。
【００６３】
図８は、本実施形態に係る配信部３０２の処理例を示すフローチャートである。ステップＳ８００において、配信部３０２は、イベントの発生を待ち、発生イベントの判定によって処理動作を切り替える。配信部３０２は、発生イベントが、クライアント１０２からのＭＰＤ配信要求イベントであると判定した場合には、ステップＳ８０１に処理を進める。また、配信部３０２は、発生イベントが、管理部３０４からのセグメント生成通知イベントであると判定した場合には、ステップＳ８０６に処理を進める。また、配信部３０２は、発生イベントが、クライアント１０２からの初期化セグメント／セグメント配信要求イベントであると判定した場合には、ステップＳ８０７に処理を進める。また、配信部３０２は、発生イベントが、動画ストリームの配信終了要求のイベントであると判定した場合には、ステップＳ８１１に処理を進める。
【００６４】
ステップＳ８０１において、配信部３０２は、現在配信可能な単数または複数の動画ストリームの情報をまとめたＭＰＤファイル４００を生成する。次に、ステップＳ８０２において、配信部３０２は、クライアント１０２にＭＰＤファイル４００を配信する。次に、ステップＳ８０３において、配信部３０２は、ＭＰＤファイル４００に記載されている全動画ストリームが開始しているか否かを判定する。そして、配信部３０２は、既に全動画ストリームが開始していると判定した場合には、ステップＳ８０４に処理を進め、全動画ストリームが開始していないと判定した場合には、ステップＳ８０５に処理を進める。
【００６５】
ステップＳ８０４において、配信部３０２は、撮像処理部３０３に対して、全動画ストリームのＩフレームの生成要求を出力し、ステップＳ８００に処理を戻す。ステップＳ８０５において、配信部３０２は、撮像処理部３０３に対して、ＭＰＤファイル４００に記載されている全動画ストリームの開始要求を同時に出力し、ステップＳ８００に処理を戻す。ここで、ステップＳ８０５では、配信部３０２は、全動画ストリームの開始要求を同時に出力しているが、図５で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてＩフレームの生成が行われる。動画ストリームの開始要求およびＩフレームの生成要求は、全動画ストリームに対して同時に行わず、順次行ってもよい。配信部３０２は、ＭＰＤファイル４００内（プレイリスト内）の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を同時または順に撮像処理部３０３に対して行う。
【００６６】
ステップＳ８０３において、既に全動画ストリームを開始している場合の例としては、クライアント１０２が最初のステップＳ８０１〜Ｓ８０３およびＳ８０５を既に完了している場合が挙げられる。その他、クライアント１０２以外のクライアントが撮像装置１０１に接続し、ステップＳ８０１〜Ｓ８０３およびＳ８０５を既に完了している場合が挙げられる。
【００６７】
ステップＳ８０６において、配信部３０２は、動画フレームを含むセグメント情報を保存する。その後、配信部３０２は、ステップＳ８００に処理を戻す。
【００６８】
ステップＳ８０７において、配信部３０２は、要求された初期化セグメント／セグメントが既に生成されているか否かを判定する。そして、配信部３０２は、初期化セグメント／セグメントが既に生成されていると判定した場合には、ステップＳ８０８に処理を進め、初期化セグメント／セグメントが生成されていないと判定した場合には、ステップＳ８１０に処理を進める。
【００６９】
ステップＳ８０８において、配信部３０２は、セグメントのヘッダ部分を生成し、ヘッダ部分を動画フレームのデータ部分に結合したセグメントを、通信部３０５を経由してクライアント１０２に配信する。次に、ステップＳ８０９において、配信部３０２は、管理部３０４に配信したセグメントの解放を指示する。その後、配信部３０２は、ステップＳ８００に処理を戻す。ステップＳ８０８では、配信部３０２は、コピー処理とメモリ使用量を増やさないため、ヘッダ部分だけを生成して、ヘッダ部分を動画フレームのデータ部分に結合しながら配信することが重要である。
【００７０】
ステップＳ８１０において、配信部３０２は、クライアント１０２にエラーレスポンスを配信する。その後、配信部３０２は、ステップＳ８００に処理を戻す。なお、配信部３０２は、要求されたセグメントが存在しない場合は、エラーレスポンスを配信する例を説明したが、セグメントが生成できるまで待ち合わせをしてもよい。
【００７１】
ステップＳ８１１において、配信部３０２は、管理部３０４に対して、当該動画ストリームの終了要求を出力して、当該動画ストリームのセグメント生成を停止させる。次に、ステップＳ８１２において、配信部３０２は、全ての動画ストリームが終了したか否かを判定する。そして、配信部３０２は、全ての動画ストリームが終了したと判定した場合には、処理を終了し、全ての動画ストリームが終了していないと判定した場合には、ステップＳ８００に処理を戻す。なお、配信部３０２は、ステップＳ８１２で全ての動画ストリームが終了したと判定した場合に終了する例を説明したが、撮像装置１０１の他の処理部からの終了要求を受け取るまで、ステップＳ８００でイベント判定を続けてもよい。
【００７２】
以上のように、撮像処理部３０３は、ステップＳ７００のＭＰＤファイル４００の配信要求を受信すると、ステップＳ７０２の特定の動画ストリームの配信要求を受信する前に、ステップＳ７２４で、ＭＰＤファイル４００内の動画ストリームの符号化を行う。具体的には、撮像処理部３０３は、符号化手段であり、ＭＰＤファイル４００に示される動画ストリームに対応する動画フレームをフレーム内符号化によって符号化する。配信部３０２は、特定の動画ストリーム（初期化セグメント／セグメント）の配信要求を受信すると、その特定の動画ストリームに対応する、フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する。
【００７３】
このように、撮像装置１０１は、ＭＰＤファイル４００の配信要求が行われた時点で全ての動画ストリームの生成を開始し、クライアント１０２がどの動画ストリームを選択しても即座に初期化セグメント／セグメントを返信できるようにする。これにより、撮像装置１０１は、クライアント１０２に対して、短い遅延で動画配信することができる。
【００７４】
（第２の実施形態）
図９は、本発明の第２の実施形態に係る配信部３０２の一部の処理例を示すフローチャートである。第２の実施形態における配信部３０２は、第１の実施形態における配信部３０２のステップＳ８０３〜Ｓ８０５の処理を、ステップＳ９００〜Ｓ９０５の処理に置き換えて行う。第２の実施形態と第１の実施形態で共通している部分の説明は省略し、第２の実施形態と第１の実施形態で異なる部分について説明を行う。
【００７５】
図９は、配信部３０２が動画ストリームの開始要求を配信ビットレートが低い順に行う処理を示すフローチャートである。ステップＳ９００では、配信部３０２は、ＭＰＤファイル４００に記載される動画ストリーム１、２、３のそれぞれの配信ビットレート４１２、４２１、４３０を参照し、動画ストリームのｉｄ（番号）を配信ビットレートが低い順に配列ＯＢＷ［ｊ］でソートする。なお、ソートの方法は、バブルソート、２分木ソートなど、いずれのソートアルゴリズムを使用してもよい。下記に、動画ストリーム１、２、３のビットレートと配列ＯＢＷ［ｊ］のソートの例を示す。
【００７６】
（動画ストリーム１の配信ビットレート  ６８００００［ｂｐｓ］）＜（動画ストリーム２の配信ビットレート  １３６００００［ｂｐｓ］）＜（動画ストリーム３の配信ビットレート  ５６８００００［ｂｐｓ］）
ＯＢＷ［１］＝１
ＯＢＷ［２］＝２
ＯＢＷ［３］＝３
【００７７】
次に、ステップＳ９０１において、配信部３０２は、変数ｊについて、１から、ＭＰＤファイル４００に記載された動画ストリーム総数までのループ処理を開始する。配信部３０２は、全ての動画ストリームに対する処理が完了すると、動画ストリーム総数のループ処理を終了する。
【００７８】
次に、ステップＳ９０２において、配信部３０２は、ＭＰＤファイル４００に記載されている動画ストリームのうちの配列ＯＢＷ［ｊ］の動画ストリームが既に開始しているか否かを判定する。そして、配信部３０２は、配列ＯＢＷ［ｊ］の動画ストリームが既に開始していると判定した場合には、ステップＳ９０３に処理を進め、配列ＯＢＷ［ｊ］の動画ストリームが開始していないと判定した場合には、ステップＳ９０５に処理を進める。
【００７９】
ステップＳ９０３において、配信部３０２は、撮像処理部３０３に対して、配列ＯＢＷ［ｊ］の動画ストリームのＩフレームの生成要求を出力する。その後、配信部３０２は、ステップＳ９０４に処理を進める。
【００８０】
ステップＳ９０５において、配信部３０２は、撮像処理部３０３に対して、配列ＯＢＷ［ｊ］の動画ストリームの開始要求を出力する。その後、配信部３０２は、ステップＳ９０４に処理を進める。ここで、ステップＳ９０５では、配信部３０２は、動画ストリームの開始要求を出力しているが、図５で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてＩフレームの生成が行われる。
【００８１】
ステップＳ９０４において、配信部３０２は、変数ｊが動画ストリーム総数と同じでない場合には、変数ｊをインクリメントし、ステップＳ９０１に処理を戻し、変数ｊが動画ストリーム総数と同じである場合には、図８のステップＳ８００に処理を戻す。
【００８２】
以上のように、配信部３０２は、ＭＰＤファイル４００内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信ビットレートの低い順で撮像処理部３０３に対して行う。
【００８３】
このように、撮像装置１０１は、ＭＰＤファイル４００の配信要求が行われた時点で、動画ストリームの開始要求を配信ビットレートが低い順に出力する。これにより、撮像装置１０１は、クライアント１０２に対して、短い遅延で動画配信しつつ、単位時間当たりの処理データサイズが小さいデータから動画ストリーム開始の準備が完了することが期待される。そのため、撮像装置１０１の単位時間当たりのメモリ使用量を低減することができる。
【００８４】
（第３の実施形態）
図１０は、本発明の第３の実施形態に係る配信部３０２の一部の処理例を示すフローチャートである。第３の実施形態における配信部３０２は、第１の実施形態における配信部３０２のステップＳ８０３〜Ｓ８０５の処理を、ステップＳ１０００〜Ｓ１００６の処理に置き換えて行う。第３の実施形態と第１の実施形態で共通している部分の説明は省略し、第３の実施形態と第１の実施形態で異なる部分について説明を行う。
【００８５】
図１０は、配信部３０２が動画ストリームの開始要求を配信頻度が高い順に出力する処理を示すフローチャートである。ステップＳ１０００において、配信部３０２は、一時記憶部３０１に保存されている動画ストリーム１、２、３の配信履歴情報（後述）を読み出し、各動画ストリームｉの配信頻度評価値ｖａｌ（ｉ）を算出し、一時記憶部３０１に格納する。動画ストリームｉの配信頻度評価値ｖａｌ（ｉ）の例として、時間Ｔmから時間ＴMまでの動画ストリームｉの合計配信時間の算出式を式（１）に示す。
【００８６】
【数１】
2019009492.tif 000003
【００８７】
式（１）のｓは、一続きの動画ストリーム配信の配信メタ情報を含む構造体である。ｓｔｒｍ（ｓ）は、一続きの動画ストリーム配信の動画ストリームｉｄを示す。Ｔｏ（ｓ）は、一続きの動画ストリーム配信の配信開始時間を示す。Ｔｃ（ｓ）は、一続きの動画ストリーム配信の配信終了時間を示す。ここでは、動画ストリームｉの配信頻度評価値ｖａｌ（ｉ）を式（１）で定義したが、クライアント１０２の動画ストリームｉへのアクセス回数を用いる等の他の定義でもよい。
【００８８】
次に、ステップＳ１００１において、配信部３０２は、ＭＰＤファイル４００に記載される動画ストリーム１、２、３のそれぞれの配信頻度評価値ｖａｌ（ｉ）を一時記憶部３０１から参照する。そして、配信部３０２は、動画ストリームのｉｄを配信頻度評価値ｖａｌ（ｉ）が高い順に配列ＯＴＭ［ｊ］でソートする。なお、ソートの方法は、バブルソート、２分木ソートなど、いずれのソートアルゴリズムを使用してもよい。
【００８９】
次に、ステップＳ１００２において、配信部３０２は、変数ｊについて、１から、ＭＰＤファイル４００に記載された動画ストリーム総数までのループ処理を開始する。配信部３０２は、全ての動画ストリームに対する処理が完了すると、動画ストリーム総数のループ処理を終了する。
【００９０】
次に、ステップＳ１００３において、配信部３０２は、ＭＰＤファイル４００に記載されている配列ＯＴＭ［ｊ］の動画ストリームが既に開始しているか否かを判定する。そして、配信部３０２は、既に配列ＯＴＭ［ｊ］の動画ストリームが開始していると判定した場合には、ステップＳ１００４に処理を進め、配列ＯＴＭ［ｊ］の動画ストリームが開始していないと判定した場合には、ステップＳ１００６に処理を進める。
【００９１】
ステップＳ１００４において、配信部３０２は、撮像処理部３０３に対して、配列ＯＴＭ［ｊ］の動画ストリームのＩフレームの生成要求を出力する。その後、配信部３０２は、ステップＳ１００５に処理を進める。
【００９２】
ステップＳ１００６において、配信部３０２は、撮像処理部３０３に対して、配列ＯＴＭ［ｊ］の動画ストリームの開始要求を出力する。その後、配信部３０２は、ステップＳ１００５に処理を進める。ここで、ステップＳ１００６では、配信部３０２は、動画ストリームの開始要求を出力しているが、図５で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてＩフレームの生成が行われる。
【００９３】
ステップＳ１００５において、配信部３０２は、変数ｊが動画ストリーム総数と同じでない場合には、変数ｊをインクリメントし、ステップＳ１００２に処理を戻し、変数ｊが動画ストリーム総数と同じである場合には、図８のステップＳ８００に処理を戻す。
【００９４】
図１１は、第３の実施形態に係る配信部３０２の他の一部の処理例を示すフローチャートである。第３の実施形態における配信部３０２は、第１の実施形態における配信部３０２のステップＳ８１１の処理を、ステップＳ１１００およびＳ１１０１の処理に置き換えて行う。
【００９５】
図１１は、配信部３０２が動画ストリームを終了してストリーム配信履歴情報を保存する処理を示すフローチャートである。ステップＳ１１００において、配信部３０２は、管理部３０４に対して、クライアント１０２から配信終了要求を受信した動画ストリームの終了要求を出力し、当該動画ストリームのセグメントの生成を停止させる。次に、ステップＳ１１０１において、配信部３０２は、ステップＳ１１００で終了した動画ストリームの配信履歴情報を一時記憶部３０１に保存する。動画ストリームの配信履歴情報としては、例えば、一続きの動画ストリーム配信について、動画ストリームの配信開始時間と動画ストリームの配信終了時間を保存する。
【００９６】
以上のように、配信部３０２は、ＭＰＤファイル４００内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信頻度が高い順で撮像処理部３０３に対して行う。
【００９７】
このように、撮像装置１０１は、ＭＰＤファイル４００の配信要求が行われた時点で、動画ストリームの開始要求を配信頻度が高い順に行うことにより、クライアント１０２に対して、短い適な遅延で動画配信することができる。また、撮像装置１０１は、ＣＰＵ２０１への高負荷やメモリ使用量増大を起因として一部動画ストリームで指定通りのフレームレートの撮像ができなくなる場合（フレーム落ち）がある。その場合でも、撮像装置１０１は、配信頻度の高い動画ストリームをフレーム落ちなく配信し、クライアント１０２の動画再生をスムーズに行わせることができる。
【００９８】
（第４の実施形態）
図１２は、本発明の第４の実施形態に係る配信部３０２の処理例を示すフローチャートである。撮像装置１０１は、ＭＰＤファイル４００の配信要求が行われてから一定時間が経過しても、クライアント１０２から初期化セグメント配信要求イベントを受信しない場合に、Ｉフレームを全ての動画ストリームで生成する。ステップＳ１２００において、配信部３０２は、イベントの発生を待ち、発生イベントの判定により、処理動作を切り替える。配信部３０２は、発生イベントが、クライアント１０２からのＭＰＤ配信要求イベントであると判定した場合には、ステップＳ１２０１に処理を進める。また、配信部３０２は、発生イベントが、管理部３０４からのセグメント生成通知イベントであると判定した場合には、ステップＳ１２０７に処理を進める。また、配信部３０２は、発生イベントが、クライアント１０２からの初期化セグメント／セグメント配信要求イベントであると判定した場合には、ステップＳ１２０８に処理を進める。また、配信部３０２は、発生イベントが、動画ストリームの配信終了要求のイベントであると判定した場合には、ステップＳ１２１４に処理を進める。
【００９９】
ステップＳ１２０１において、配信部３０２は、現在配信可能な単数または複数の動画ストリームの情報をまとめたＭＰＤファイル４００を生成する。次に、ステップＳ１２０２において、配信部３０２は、クライアント１０２に対して、ＭＰＤファイル４００を配信する。次に、ステップＳ１２０３において、配信部３０２は、ＭＰＤファイル４００に記載されている全動画ストリームが既に開始しているか否かを判定する。そして、配信部３０２は、既に全動画ストリームが開始していると判定した場合には、ステップＳ１２０４に処理を進め、全動画ストリームが開始していないと判定した場合には、ステップＳ１２０５に処理を進める。
【０１００】
ステップＳ１２０４において、配信部３０２は、撮像処理部３０３に対して、全動画ストリームのＩフレームの生成要求を出力する。その後、配信部３０２は、ステップＳ１２０６に処理を進める。
【０１０１】
ステップＳ１２０５において、配信部３０２は、撮像処理部３０３に対して、ＭＰＤファイル４００に記載されている全動画ストリームの開始要求を同時に出力する。その後、配信部３０２は、ステップＳ１２０６に処理を進める。ここで、ステップＳ１２０５では、配信部３０２は、全動画ストリームの開始要求を同時に出力する例を説明したが、図５で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてＩフレームの生成が行われる。動画ストリームの開始要求およびＩフレームの生成要求は、全動画ストリームに対して同時に行わず、順次行ってもよい。
【０１０２】
Ｓ１２０３にて、既に全動画ストリームを開始している場合の例としては、クライアント１０２が最初のステップＳ１２０１〜Ｓ１２０３およびＳ１２０５を既に完了している場合が挙げられる。また、クライアント１０２以外のクライアントが撮像装置１０１に接続し、ステップＳ１２０１〜Ｓ１２０３およびＳ１２０５を既に完了している場合が挙げられる。
【０１０３】
ステップＳ１２０６において、配信部３０２は、タイマカウント値Ｔに０を設定し、タイマのカウントアップを開始させる。その後、配信部３０２は、ステップＳ１２００に処理を戻す。
【０１０４】
ステップＳ１２００において、配信部３０２は、タイマカウント値Ｔが閾値以上になったと判定した場合には、ステップＳ１２０３に処理を進める。
【０１０５】
ステップＳ１２０７において、配信部３０２は、動画フレームを含むセグメント情報を保存する。その後、配信部３０２は、ステップＳ１２００に処理を戻す。
【０１０６】
ステップＳ１２０８において、配信部３０２は、要求された初期化セグメント／セグメントが既に生成されているか否かを判定する。そして、配信部３０２は、初期化セグメント／セグメントが既に生成されていると判定した場合には、ステップＳ１２０９に処理を進め、初期化セグメント／セグメントが生成されていないと判定した場合には、ステップＳ１２１３に処理を進める。
【０１０７】
ステップＳ１２０９において、配信部３０２は、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する。そして、配信部３０２は、発生イベントが初期化セグメント配信要求イベントであると判定した場合には、ステップＳ１２１０に処理を進め、発生イベントが初期化セグメント配信要求イベントでないと判定した場合には、ステップＳ１２１１に処理を進める。
【０１０８】
ステップＳ１２１０において、配信部３０２は、タイマのカウントアップを終了させる。次に、ステップＳ１２１１において、配信部３０２は、セグメントのヘッダ部分を生成し、ヘッダ部分を動画フレームのデータ部分に結合したセグメントを、通信部３０５を経由してクライアント１０２に配信する。次に、ステップＳ１２１２において、配信部３０２は、管理部３０４に対して、配信したセグメントの解放を指示する。その後、配信部３０２は、ステップＳ１２００に処理を戻す。
【０１０９】
ステップＳ１２１３において、配信部３０２は、クライアント１０２に対して、エラーレスポンスを配信する。その後、配信部３０２は、ステップＳ１２００に処理を戻す。
【０１１０】
ステップＳ１２１４において、配信部３０２は、管理部３０４に対して、当該動画ストリームの終了要求を出力し、当該動画ストリームのセグメントの生成を停止させる。次に、ステップＳ１２１５において、配信部３０２は、全ての動画ストリームが終了したか否かを判定する。そして、配信部３０２は、全ての動画ストリームが終了したと判定した場合には、処理を終了し、全ての動画ストリームが終了していないと判定した場合には、ステップＳ１２００に処理を戻す。なお、配信部３０２は、ステップＳ１２１５で全ての動画ストリームが終了したと判定した場合に、処理を終了する例を説明したが、撮像装置１０１の他の処理部からの終了要求を受け取るまで、ステップＳ１２００でイベント判定を続けてもよい。
【０１１１】
本実施形態では、動画ストリームの開始要求およびＩフレームの生成要求は、全動画ストリームに対して同時に行う例を説明したが、各動画ストリームに対して順次行ってもよい。
【０１１２】
以上のように、配信部３０２は、ＭＰＤファイル４００内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部３０３に対して行った後、ステップＳ１２０６でタイマカウント値Ｔを０に設定する。その後、配信部３０２は、特定の動画ストリーム（初期化セグメント／セグメント）の配信要求の受信の待ち時間Ｔが閾値以上になった場合には、ステップＳ１２０３に進む。ステップＳ１２０４またはＳ１２０５では、配信部３０２は、再び、ＭＰＤファイル４００内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部３０３に対して行う。
【０１１３】
このように、撮像装置１０１は、ＭＰＤファイル４００の配信要求が行われてから初期化セグメント配信要求が行われるまで、閾値ごとの時間に、全ての動画ストリームのＩフレームを生成する。これにより、撮像装置１０１は、クライアント１０２がＭＰＤファイル４００の分析等に起因して初期化セグメント配信要求まで時間を要する場合でも、クライアント１０２に対して、短い遅延で動画配信することができる。
【０１１４】
（第５の実施形態）
図１３は、本発明の第５の実施形態に係る動画配信における撮像装置１０１とクライアント１０２間の相互作用の一例を示すシーケンス図であり、クライアント１０２が撮像装置１０１から動画配信を受信しているシーケンスを示す。第５の実施形態が第１の実施形態と異なる部分は、配信部３０２のステップＳ１３００およびＳ１３０１、管理部３０４のステップＳ７１８以降のセグメント生成のシーケンス、撮像処理部３０３のステップＳ１３０２以降の動画フレーム生成のシーケンスである。第５の実施形態と第１の実施形態で共通している部分の説明は省略し、第５の実施形態と第１の実施形態で異なる部分について説明を行う。
【０１１５】
ステップＳ７０４において、クライアント１０２は、動画ストリーム１のセグメント１−１の配信要求を撮像装置１０１に配信する。配信部３０１は、動画ストリーム１のセグメント１−１の配信要求を受信すると、その動画ストリーム１以外の動画ストリームとして、ＭＰＤファイル４００から動画ストリーム２および動画ストリーム３を特定する。次に、ステップＳ１３００において、配信部３０２は、撮像処理部３０３および管理部３０４に対して、その特定した動画ストリーム２の終了要求を出力する。次に、ステップＳ１３０１において、配信部３０２は、撮像処理部３０３および管理部３０４に対して、その特定した動画ストリーム３の終了要求を出力する。
【０１１６】
撮像処理部３０３は、動画ストリーム２および動画ストリーム３の終了要求を受信する。すると、撮像処理部３０３は、ステップＳ７２４以降で行っている動画フレームの生成のうち、動画ストリーム２および動画ストリーム３の動画フレームの生成を終了し、ステップＳ１３０２以降で動画ストリーム１の動画フレームの生成を継続する。
【０１１７】
管理部３０４は、ステップＳ１３００およびＳ１３０１の動画ストリーム２および動画ストリーム３の終了要求を受信する。すると、管理部３０４は、動画ストリーム２および動画ストリーム３のセグメントの生成を終了する。管理部３０４は、ステップＳ７１８以降では、動画ストリーム１のセグメントの生成を継続する。
【０１１８】
図１４は、配信部３０２が初期化セグメント配信要求を受信した時の処理を示すフローチャートである。配信部３０２は、初期化セグメント配信要求をクライアント１０２から受信した際に、当該初期化セグメントの動画ストリーム以外の動画ストリームの終了要求を行う。第５の実施形態における配信部３０２は、第１の実施形態における配信部３０２のステップＳ８０７とＳ８０８の処理の間に、ステップＳ１４００〜Ｓ１４０５の処理を追加する。第５の実施形態と第１の実施形態で共通している部分の説明は省略し、第５の実施形態と第１の実施形態で異なる部分について説明を行う。
【０１１９】
ステップＳ１４００において、配信部３０２は、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する。そして、配信部３０２は、発生イベントが初期化セグメント配信要求イベントであると判定した場合には、ステップＳ１４０１に処理を進め、発生イベントが初期化セグメント配信要求イベントでないと判定した場合には、図８のステップＳ８０８に処理を進める。
【０１２０】
ステップＳ１４０１において、配信部３０２は、配信する動画ストリームのｉｄを含む配信ストリーム情報を一時記憶部３０１に保存する。次に、ステップＳ１４０２において、配信部３０２は、変数ｉについて、１から、ＭＰＤファイル４００に記載された動画ストリーム総数までのループ処理を開始する。配信部３０２は、全ての動画ストリームに対する処理が完了すると、動画ストリーム総数のループ処理を終了する。次に、ステップＳ１４０３において、配信部３０２は、一時記憶部３０１に保存されている配信ストリーム情報を読み出し、配信ストリーム情報が動画ストリームｉのｉｄを含んでいるか否かを判定する。そして、配信部３０２は、配信ストリーム情報が動画ストリームｉのｉｄを含んでいると判定した場合には、ステップＳ１４０４に処理を進め、配信ストリーム情報が動画ストリームｉのｉｄを含んでいないと判定した場合には、ステップＳ１４０５に処理を進める。ステップＳ１４０５において、配信部３０２は、動画ストリームｉの終了要求を撮像処理部３０３に出力し、ステップＳ１４０４に処理を進める。ステップＳ１４０４において、配信部３０２は、変数ｉが動画ストリーム総数と同じでない場合には、変数ｉをインクリメントし、ステップＳ１４０２に処理を戻し、変数ｉが動画ストリーム総数と同じである場合には、図８のステップＳ８０８に処理を進める。
【０１２１】
配信部３０２は、ステップＳ１４００では、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する例を説明した。しかし、ステップＳ１３０１とＳ１３０２との間に、クライアント１０２およびクライアント１０２以外のクライアントが動画ストリーム１以外の動画ストリームの初期化セグメントを要求する場合がある。その場合の配信遅延を最適にするために、配信部３０２は、ステップＳ１４００で、発生イベントが最初のセグメントの配信要求イベントであるか否かを判定するようにしてもよい。
【０１２２】
配信部３０２は、特定の動画ストリーム（初期化セグメント／セグメント）の配信要求を受信すると、ＭＰＤファイル４００内の動画ストリームのうちの上記の特定の動画ストリーム以外の動画ストリームの生成終了要求を撮像処理部３０３に対して行う。
【０１２３】
このように、撮像装置１０１は、ＭＰＤファイル４００の配信要求が行われた時点で、全ての動画ストリームを開始し、クライアント１０２が初期化セグメントの配信要求を行うと、配信する動画ストリーム以外の動画ストリームを終了する。これにより、撮像装置１０１の単位時間当たりのメモリ使用量を低減しつつ、撮像装置１０１は、クライアント１０２に対して、短い遅延で動画配信することができる。
【０１２４】
（第６の実施形態）
図１５は、本発明の第６の実施形態に係る配信部３０２がＭＰＤ配信要求イベントを受信した時の処理例を示すフローチャートである。第６の実施形態における配信部３０２は、第１の実施形態における配信部３０２のステップＳ８０３〜Ｓ８０５の処理を、ステップＳ１５００〜Ｓ１５０５の処理に置き換える。第６の実施形態と第１の実施形態で共通している部分の説明は省略し、第６の実施形態と第１の実施形態で異なる部分について説明を行う。
【０１２５】
図１５は、ＭＰＤファイル４００に定義される動画ストリームが１つである場合に、配信部３０２が動画ストリームの開始要求を行う処理を示すフローチャートである。ステップＳ１５００において、配信部３０２は、ＭＰＤファイル４００に定義されている動画ストリームが１つであるか否かを判定する。そして、配信部３０２は、動画ストリームが１つであると判定した場合には、ステップＳ１５０１に処理を進め、動画ストリームが１つでないと判定した場合には、ステップＳ１５０５に処理を進める。
【０１２６】
ステップＳ１５０１において、配信部３０２は、複数ストリームフラグをオフにする。次に、ステップＳ１５０２において、配信部３０２は、ＭＰＤファイル４００に記載されている動画ストリームが既に開始しているか否かを判定する。そして、配信部３０２は、動画ストリームが既に開始していると判定した場合には、ステップＳ１５０３に処理を進め、動画ストリームが開始していないと判定した場合には、ステップＳ１５０４に処理を進める。
【０１２７】
ステップＳ１５０３において、配信部３０２は、撮像処理部３０３に対して、動画ストリームのＩフレームの生成要求を出力し、図８のステップＳ８００に処理を戻す。ステップＳ１５０４において、撮像処理部３０３に対して、動画ストリームの開始要求を出力し、図８のステップＳ８００に処理を戻す。ここで、ステップＳ１５０４では、配信部３０２は、動画ストリームの開始要求を出力しているが、図５で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてＩフレームの生成が行われる。ステップＳ１５０２にて、既に動画ストリームを開始している場合の例としては、クライアント１０２が最初のステップＳ１５００〜Ｓ１５０２およびＳ１５０４を既に完了している場合が挙げられる。また、クライアント１０２以外のクライアントが撮像装置１０１に接続し、ステップＳ１５００〜Ｓ１５０２およびＳ１５０４を既に完了している場合が挙げられる。ステップＳ１５０５において、配信部３０２は、複数ストリームフラグをオンにし、図８のステップＳ８００に処理を戻す。
【０１２８】
図１６は、配信部３０２が初期化セグメント配信要求イベントを受信した時の処理例を示すフローチャートである。第６の実施形態における配信部３０２は、第１の実施形態における配信部３０２のステップＳ８０７の処理の直前に、ステップＳ１６００〜Ｓ１６０４の処理を追加して行う。配信部３０２は、初期化セグメント配信要求イベントをクライアント１０２から受信した際に、動画ストリームの開始要求を行う。
【０１２９】
ステップＳ１６００において、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する。そして、配信部３０２は、発生イベントが初期化セグメント配信要求イベントであると判定した場合には、ステップＳ１６０１に処理を進め、発生イベントが初期化セグメント配信要求イベントでないと判定した場合には、図８のステップＳ８０７に処理を進める。
【０１３０】
ステップＳ１６０１において、配信部３０２は、複数ストリームフラグがオンであるか否かを判定する。そして、配信部３０２は、複数ストリームフラグがオンであると判定した場合には、ステップＳ１６０２に処理を進め、複数ストリームフラグがオンでないと判定した場合には、図８のステップＳ８００に処理を戻す。
【０１３１】
ステップＳ１６０２において、配信部３０２は、ステップＳ１６００にて判定された初期化セグメントの動画ストリームが既に開始しているか否かを判定する。そして、配信部３０２は、動画ストリームが既に開始していると判定した場合には、ステップＳ１６０３に処理を進め、動画ストリームが開始していないと判定した場合には、ステップＳ１６０４に処理を進める。
【０１３２】
ステップＳ１６０３において、配信部３０２は、撮像処理部３０３に対して、ステップＳ１６００にて判定された初期化セグメントの動画ストリームのＩフレームの生成要求を出力し、図８のステップＳ８０７に処理を進める。ステップＳ１６０４において、配信部３０２は、撮像処理部３０３に対して、ステップＳ１６００にて判定された初期化セグメントの動画ストリームの開始要求を出力し、図８のステップＳ８０７に処理を進める。ここで、ステップＳ１６０４では、配信部３０２は、動画ストリームの開始要求を出力しているが、図５で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてＩフレームの生成が行われる。
【０１３３】
以上のように、配信部３０２は、ＭＰＤファイル４００に１つの動画ストリームに係る情報が示されている場合には、特定の動画ストリーム（初期化セグメント／セグメント）の配信要求を受信する前に、その１つの動画ストリームのＩフレームの生成要求を行う。具体的には、配信部３０２は、ＭＰＤファイル４００に示される１つの動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部３０３に対して行う。
【０１３４】
また、配信部３０２は、ＭＰＤファイル４００に複数の動画ストリームに係る情報が示されている場合には、特定の動画ストリーム（初期化セグメント／セグメント）の配信要求を受信した後に、特定の動画ストリームのＩフレームの生成要求を行う。具体的には、配信部３０２は、特定の動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部３０３に対して行う。
【０１３５】
このように、撮像装置１０１は、クライアント１０２に配信する動画ストリームが特定できた時点で、当該動画ストリームを開始することにより、撮像装置１０１のメモリ使用量を最小限にすることができる。
【０１３６】
（その他の実施形態）
以上、説明した実施形態では、ＤＡＳＨ配信を例に説明したが、ＨＬＳ配信など他のアダプティブストリーミング技術にも適用可能である。
【０１３７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１３８】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１３９】
１０１  撮像装置、３０２  配信部、３０３  撮像処理部、３０４  管理部
【図１】
2019009492.tif 000004
【図２】
2019009492.tif 000005
【図３】
2019009492.tif 000006
【図４】
2019009492.tif 000007
【図５】
2019009492.tif 000008
【図６】
2019009492.tif 000009
【図７】
2019009492.tif 000010
【図８】
2019009492.tif 000011
【図９】
2019009492.tif 000012
【図１０】
2019009492.tif 000013
【図１１】
2019009492.tif 000014
【図１２】
2019009492.tif 000015
【図１３】
2019009492.tif 000016
【図１４】
2019009492.tif 000017
【図１５】
2019009492.tif 000018
【図１６】
2019009492.tif 000019