(57)【要約】【課題】映像品質の劣化を回避し、キーフレームを含むセグメントのメモリ量を減らすようにする。【解決手段】本発明の処理装置は、可逆符号化で符号化され、かつキーフレームの挿入周期が変更されたコンテンツについて複数に分割されたセグメントであり、所定数のフレームを有するセグメントを入力する入力処理手段と、入力されたセグメントのうち、非キーフレームで構成される第１セグメントについて、当該第１セグメントより１つ前のセグメントを含む１又は複数のセグメントであり、当該１又は複数のセグメントにおける一番前のセグメントにおいてキーフレームを有するセグメントの復号結果を参照して可逆符号化を行ない、キーフレームを含むキーセグメントを生成する生成処理手段と、生成処理手段により生成されたキーセグメントと、第１セグメントより１つ後の非キーフレームで構成される第２セグメントとを出力する出力処理手段とを備える。【選択図】      図１
2019149699.tif 000002
【特許請求の範囲】
【請求項１】
可逆符号化で符号化され、かつキーフレームの挿入周期が変更されたコンテンツについて複数に分割されたセグメントであり、所定数のフレームを有するセグメントを入力する入力処理手段と、
上記入力処理手段により入力されたセグメントのうち、非キーフレームで構成される第１セグメントについて、当該第１セグメントより１つ前のセグメントを含む１又は複数のセグメントであり、当該１又は複数のセグメントにおける一番前のセグメントにおいてキーフレームを有するセグメントの復号結果を参照して可逆符号化を行ない、キーフレームを含むキーセグメントを生成する生成処理手段と、
上記生成処理手段により生成された上記キーセグメントと、上記第１セグメントより１つ後の非キーフレームで構成される第２セグメントとを出力する出力処理手段と
を備えることを特徴とする処理装置。
【請求項２】
上記生成処理手段により生成された上記キーセグメントについて、所定の付加情報と共に所定時間を保存するキーセグメント保存手段を備えることを特徴とする請求項１に記載の処理装置。
【請求項３】
上記入力処理手段により入力されたセグメントを、所定の付加情報と共に蓄積するセグメント蓄積手段を備え、
上記出力処理手段が、最新コンテンツの取得要求情報を受信すると、上記キーセグメント保存手段に保存される最新のキーセグメントと、上記セグメント蓄積手段に蓄積される、上記最新のキーセグメントに後続するセグメントとを要求元の装置に出力する
ことを特徴とする請求項２に記載の処理装置。
【請求項４】
上記入力手段により入力されたセグメントを、所定の付加情報と共に蓄積するセグメント蓄積手段を備え、
上記生成処理手段が、
取得するコンテンツの時間範囲が指定された取得要求情報を受信すると、開始時刻より過去であって直近のキーフレームを含むセグメントを上記セグメント蓄積手段から検索し、
上記キーセグメント保存手段を参照して、上記直近のキーフレームを含むセグメントから上記開始時刻を含むセグメントまでの間に、キーセグメントが存在しているかを検索し、
上記キーセグメント保存手段に上記キーセグメントがある場合、上記キーセグメントの全フレームを復号し、更に上記セグメント蓄積手段から取得した、上記キーセグメントに後続する、上記開始時刻を含むセグメントの直前のセグメントまでのセグメントのフレームを復号し、上記直前のセグメントのフレームの復号結果を参照して可逆符号化を行ない、上記開始時刻におけるキーフレームを含むキーセグメントを生成して、上記キーセグメント保存手段に保存し、
上記出力処理手段は、上記キーセグメント保存手段に保存されている上記開始時刻におけるキーフレームを含むキーセグメントと、上記セグメント蓄積手段に蓄積される、上記開始時刻におけるキーフレームを含むキーセグメントに後続する終了時刻までの全てのセグメントとを要求元の装置に出力する
ことを特徴とする請求項２に記載の処理装置。
【請求項５】
上記生成処理手段が、上記非キーフレームの前方参照フレーム数の上限値を設けることを特徴とする請求項１〜４のいずれかに記載の処理装置。
【請求項６】
コンピュータを、
可逆符号化で符号化され、かつキーフレームの挿入周期が変更されたコンテンツについて複数に分割されたセグメントであり、所定数のフレームを有するセグメントを入力する入力処理手段と、
上記入力処理手段により入力されたセグメントのうち、非キーフレームで構成される第１セグメントについて、当該第１セグメントより１つ前のセグメントを含む１又は複数のセグメントであり、当該１又は複数のセグメントにおける一番前のセグメントにおいてキーフレームを有するセグメントの復号結果を参照して可逆符号化を行ない、キーフレームを含むキーセグメントを生成する生成処理手段と、
上記生成処理手段により生成された上記キーセグメントと、上記第１セグメントより１つ後の非キーフレームで構成される第２セグメントとを出力する出力処理手段と
して機能させることを特徴とする処理プログラム。
【請求項７】
処理装置における処理方法であって、
上記処理装置は、
可逆符号化で符号化され、かつキーフレームの挿入周期が変更されたコンテンツについて複数に分割されたセグメントであり、所定数のフレームを含むセグメントを入力する入力処理ステップと、
上記入力処理ステップにより入力されたセグメントのうち、非キーフレームで構成される第１セグメントについて、当該第１セグメントより１つ前のセグメントを含む１又は複数のセグメントであり、当該１又は複数のセグメントにおける一番前のセグメントにおいてキーフレームを有するセグメントの復号結果を参照して可逆符号化を行ない、キーフレームを含むキーセグメントを生成する生成処理ステップと、
上記生成処理ステップにより生成された上記キーセグメントと、上記第１セグメントより１つ後の非キーフレームで構成される第２セグメントとを出力する出力処理ステップと
を有することを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置、処理プログラム及び処理方法に関し、例えば、監視カメラ映像をライブモニタリングしたり又は録画再生したりする処理装置に適用し得るものである。
【背景技術】
【０００２】
監視カメラ映像を遠隔地でライブモニタリングしたり、又は録画再生する典型的な監視システムは、監視カメラ、ネットワークビデオレコーダ（ＮＶＲ）、監視モニタを有する。その一例としては、特許文献１に開示される監視システムがある。特許文献１に記載の監視システムは、ＩＰカメラからのビデオストリームをサーバで中継し、監視モニタへ送信すると共に、サーバ内に映像を蓄積しておいて後から録画再生するための構成が示されている。また、ビデオストリームを一度復号して、画角を縮小あるいはフレーム間引きを実施後に再エンコードする構成も示されており、携帯端末等の小画面の監視モニタでのモニタリングにも対応している。
【０００３】
監視モニタへの動画像配信のその他の形態として、特許文献２に、時分割したビデオストリームのダウンロードによる配信システムが開示されている。この配信システムでは、ライブ映像あるいは録画映像のビデオストリームを配信サーバで時分割したファイルとして配備し、監視モニタで動画ファイルをダウンロード再生している。
【０００４】
高能率な映像符号化方式では通常フレーム間差分を利用した符号化が利用される。この方式ではキーフレームとフレーム間差分情報で構成されるその他のフレームの両方を復号する必要があるため、キーフレームからしか再生を開始できない。特許文献３では、フレーム間差分情報を過去に遡って全て解析し、キーフレームに相当する映像データを生成することでキーフレーム以外の時間からの再生を実現するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２５４２４８号公報
【特許文献２】特開２０１６−１２３０９７号公報
【特許文献３】特開２０１５−０５６６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の監視システムでは、監視モニタを操作して任意のカメラ映像のモニタリングを開始するときに、次に記載される処理内容を実現するため、監視モニタに送出するビデオストリームに３秒あるいは１０秒などの短い周期でキーフレームを挿入しながら符号化する必要があった。ここで、処理内容とは、映像表示開始までの待ち時間短縮すること、あるいは通信路でのデータ欠落があっても速やかに映像品質を回復することある。特に１台の監視モニタで複数のカメラ映像を一定周期で次々に切り替えながら表示する運用（カメラスイッチャー）では、切り替えに要する時間が増大するために、キーフレームの周期を伸ばすことが難しい。
【０００７】
しかし、キーフレームは非キーフレームより相対的にデータサイズが大きく、ネットワークビデオレコーダに蓄積保存するデータ容量の過半をキーフレームデータが占める傾向にある。特に監視カメラが撮影対象とすることが多い動きの少ない撮像ではこの傾向が顕著であった。監視カメラのビデオストリーム中のキーフレームの構成割合を減らしつつ、映像表示開始時の応答性を損なわない方法はこれまで開示されていない。
【０００８】
特許文献１では、監視モニタに送信するビデオストリームを中継サーバで再エンコードする構成が開示されているが、仮に中継サーバでキーフレームの周期を長くして再エンコードしても、結局は映像表示開始時の応答性が損なわれる、という課題を解決できるものではなかった。
【０００９】
また、特許文献３の方法は、非キーフレームのデータだけを使用して効率よくキーフレームを復元できるものの、対象とする映像がコンピュータの画面に表示するためのものである。特許文献３の方法では、差分情報は矩形から成る部分領域のキーフレームデータの集合に限定できるという条件が必要であり、監視カメラの撮影映像ではこの条件を満たすことが難しいため、キーフレームの復元には使えない、という問題点があった。
【課題を解決するための手段】
【００１０】
かかる課題を解決するために、第１の本発明に係る処理装置は、（１）可逆符号化で符号化され、かつキーフレームの挿入周期が変更されたコンテンツについて複数に分割されたセグメントであり、所定数のフレームを有するセグメントを入力する入力処理手段と、（２）入力処理手段により入力されたセグメントのうち、非キーフレームで構成される第１セグメントについて、当該第１セグメントより１つ前のセグメントを含む１又は複数のセグメントであり、当該１又は複数のセグメントにおける一番前のセグメントにおいてキーフレームを有するセグメントの復号結果を参照して可逆符号化を行ない、キーフレームを含むキーセグメントを生成する生成処理手段と、（３）生成処理手段により生成されたキーセグメントと、第１セグメントより１つ後の非キーフレームで構成される第２セグメントとを出力する出力処理手段とを備えることを特徴とする。
【００１１】
第２の本発明に係る処理プログラムは、コンピュータを、（１）可逆符号化で符号化され、かつキーフレームの挿入周期が変更されたコンテンツについて複数に分割されたセグメントであり、所定数のフレームを有するセグメントを入力する入力処理手段と、（２）入力処理手段により入力されたセグメントのうち、非キーフレームで構成される第１セグメントについて、当該第１セグメントより１つ前のセグメントを含む１又は複数のセグメントであり、当該１又は複数のセグメントにおける一番前のセグメントにおいてキーフレームを有するセグメントの復号結果を参照して可逆符号化を行ない、キーフレームを含むキーセグメントを生成する生成処理手段と、（３）生成処理手段により生成されたキーセグメントと、第１セグメントより１つ後の非キーフレームで構成される第２セグメントとを出力する出力処理手段として機能させることを特徴とする。
【００１２】
第３の本発明に係る処理方法は、処理装置における処理方法であって、処理装置は、（１）可逆符号化で符号化され、かつキーフレームの挿入周期が変更されたコンテンツについて複数に分割されたセグメントであり、所定数のフレーム有するセグメントを入力する入力処理ステップと、（２）入力処理ステップにより入力されたセグメントのうち、非キーフレームで構成される第１セグメントについて、当該第１セグメントより１つ前のセグメントを含む１又は複数のセグメントであり、当該１又は複数のセグメントにおける一番前のセグメントにおいてキーフレームを有するセグメントの復号結果を参照して可逆符号化を行ない、キーフレームを含むキーセグメントを生成する生成処理ステップと、（３）生成処理ステップにより生成されたキーセグメントと、第１セグメントより１つ後の非キーフレームで構成される第２セグメントとを出力する出力処理ステップとを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、キーフレームの挿入周期が変更されたコンテンツについて、任意のセグメントから再生することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係る監視システムの全体構成を示す全体構成図である。
【図２】実施形態のキーセグメント挿入周期を説明する説明図である。
【図３】第１の実施形態に係るキーセグメント生成部によるキーセグメントの生成処理を示すフローチャートである。
【図４】第１の実施形態に係るキーセグメント生成部によるキーセグメントの生成処理を説明する説明図である。
【図５】実施形態に係るＰｌａｙｌｉｓｔの構成例を示す構成図である。
【図６】第１の実施形態に係る録画キーセグメント生成部による録画用のキーセグメントの生成処理を示すフローチャートである。
【図７】第１の実施形態に係る録画キーセグメント生成部による録画用のキーセグメントの生成処理を説明する説明図である。
【図８】第２の実施形態に係る監視システムの全体構成を示す全体構成図である。
【図９】第２の実施形態に係るキーセグメント生成部によるキーセグメントの生成処理を示すフローチャートである。
【図１０】第２の実施形態に係るキーセグメント生成部によるキーセグメントの生成処理を説明する説明図である。
【図１１】第２の実施形態に係る録画キーセグメント生成部による録画用のキーセグメントの生成処理を示すフローチャートである。
【図１２】第２の実施形態に係る録画キーセグメント生成部による録画用のキーセグメントの生成処理を説明する説明図である。
【発明を実施するための形態】
【００１５】
（Ａ）第１の実施形態
以下では、本発明に係る処理装置、処理プログラム及び処理方法の第１の実施形態を、図面を参照しながら詳細に説明する。
【００１６】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態に係る監視システムの全体構成を示す全体構成図である。
【００１７】
図１において、第１の実施形態に係る監視システム１は、ＩＰカメラ５、映像ゲートウェイ１０、ネットワークビデオレコーダ２０、監視モニタ３０を有する。
【００１８】
なお、図１では、説明を容易にするために、ＩＰカメラ５、映像ゲートウェイ１０、ネットワークビデオレコーダ２０、監視モニタ３０について、それぞれ１台のみの内部構成を示しているが、それぞれ同等の機能を有するものを複数設けるようにしてもよい。
【００１９】
監視システム１では、ＩＰカメラ５は、例えばＬＡＮ（登録商標）を介して、映像ゲートウェイ１０に接続されており、映像ゲートウェイ１０は、例えばＷＡＮ（アクセス回線）を介して、遠隔地に設置したネットワークビデオレコーダ２０に接続している。
【００２０】
監視システム１は、ＩＰカメラ５が撮影した映像をストリーミング配信するためのプロトコルを適用することができ、例えばその配信プロトコルとしてＨＬＳ（HTTP_Live_Streaming）を適用することができる。ＩＰカメラ５が撮像した映像を所定の時間間隔で分割したセグメント（Segment）として取り扱う。
【００２１】
［ＩＰカメラ５］
ＩＰカメラ５は、映像撮像装置であり、撮像した映像を例えばＨ．２６４等の差分圧縮符号化方式で符号化し、その符号化したビデオストリームを映像ゲートウェイ１０に送信する。映像の圧縮符号化方式は、種々の方式を適用でき、例えば、ＭＰＥＧ−１、２、４やMotionＪＰＥＧなどとしてもよく、ＩＰカメラ５は撮影した映像を高画質に圧縮したビデオストリームを送信する。
【００２２】
ここで、Ｈ．２６４は、符号化及び復号に関わるデータ圧縮において、復元したときに元のデータ（ビット列）を完全に再現できるように圧縮する無歪み圧縮である可逆圧縮などの機能が追加されたＨ．２６４（Ｉ＿ＰＣＭ動作モードを用いたＨ．２６４）である。
【００２３】
［映像ゲートウェイ１０］
映像ゲートウェイ１０は、再符号化装置である。映像ゲートウェイ１０は、ＩＰカメラ５からビデオストリームを受信し、ビデオストリームを一度復号して、映像の画質を概ね劣化させず、かつ、ＩＰカメラ５からのビデオストリームよりもキーフレームの挿入周期を長くする（延ばす）ために、ビデオストリームを再符号化するものである。また、映像ゲートウェイ１０は、再符号化したビデオストリームを、アクセス回線を介してネットワークビデオレコーダ２０に送信する。映像ゲートウェイ１０が映像を再符号化することで、非キーフレームに比べてデータサイズが大きいキーフレームの挿入周期を従来よりも長くすることができるため、後述するネットワークビデオレコーダ２０で蓄積保存するデータ容量を軽減することができる。
【００２４】
映像ゲートウェイ１０は、復号部１１、符号化部１２、送信部１３を有する。
【００２５】
復号部１１は、ＩＰカメラ５から受信したビデオストリームを復号し、主要画質規定要因である量子化ステップサイズをフレーム単位で取得し、復号した映像データと合わせて符号化部１２に供給する。
【００２６】
符号化部１２は、復号部１１からの映像データを再符号化し、その再符号化したビデオストリームを送信部１３に供給する。符号化条件は、ＩＰカメラ５のビデオストリームと同一画角、同一フレームレートとし、フレーム毎に復号部１１から入力された平均量子化ステップサイズを用いる。これにより、ＩＰカメラ５が撮影した映像の画質を劣化させることなく、再符号化することができる。また、符号化部１２は、符号化の際に、キーフレーム（例えばＨ．２６４の場合、ＩＤＲフレーム）の挿入周期をＩＰカメラ５のビデオストリームよりも長くして（延ばして）再符号化を行なう。キーフレームの挿入周期は、監視モニタ３０での録画再生の応答時間との関係で適宜調整することができ、例えば、後述する録画再生の応答時間の上限に合わせて、１０分〜１時間程度に設定する（図２（Ａ）参照）。なお、キーフレームの挿入周期については、映像ゲートウェイ１０の符号化部１２とネットワークビデオレコーダ２０との間で互いに設定しておく。
【００２７】
送信部１３は、符号化部１２により再符号化されたビデオストリームを、アクセス回線を介してネットワークビデオレコーダ２０にＨＴＴＰ  ＰＯＳＴメソッドで送信する。送信対象は、例えばビデオストリームをＭＰＥＧ形式で多重化して、連続する複数のフレームを時分割（セグメント化）したデータとし、時分割（セグメント化）の時間間隔は、例えば１０秒前後とする。
【００２８】
ここで、キーフレームとなるビデオストリームが含まれるセグメントは、必ずキーフレームがセグメントの先頭に位置するようにする。また、各セグメントには、先頭の映像フレームの撮影時刻情報、先頭の映像フレームがキーフレームであるか否かを示すキーフラグ情報、セグメントの連続番号を示すセグメントシーケンス番号等のセグメント付加情報を付加し、送信部１３は、セグメントと当該セグメントのセグメント付加情報とを合わせて送信する。
【００２９】
なお、図２（Ｂ）に例示するように、通信障害が発生して、送信タイムアウトとなり所定時間以内に送信できなかった場合、送信部１３は、一旦送信を停止して、未送信データを破棄し、符号化部１２に対して、再度キーフレームを先頭に挿入したビデオストリームを生成させて、送信再開を試行する。
【００３０】
［ネットワークビデオレコーダ２０］
ネットワークビデオレコーダ２０は、アクセス回線を介して映像ゲートウェイ１０からビデオストリームを受信し、各セグメント及び各セグメントのセグメント付加情報を蓄積する。ネットワークビデオレコーダ２０は、ライブモニタリング又は録画再生が可能であり、監視モニタ３０からの要求に応じて、ライブモニタリング又は録画再生する映像の所在を示すＵＲＬをＰｌａｙｌｉｓｔに記載し、そのＰｌａｙｌｉｓｔを監視モニタ３０に提供する。
【００３１】
ネットワークビデオレコーダ２０は、HTTPServer部２１、アップロード部２２、ダウンロード部２３、セグメント蓄積装置２４、キーセグメント生成部２５、キーセグメントキャッシュ２６、録画キーセグメント生成部２７を有する。
【００３２】
HTTPServer部２１は、ＨＴＴＰ（Hypertext  Transfer  Protocol）を用いて、映像ゲートウェイ１０又は監視モニタ３０との間で、ビデオストリームやこれに関連する情報を送受信する。
【００３３】
アップロード部２２は、映像ゲートウェイ１０から受信（アップロード）したセグメント及びセグメント付加情報を、セグメント蓄積装置２４に蓄積すると共に、受信したセグメント及びセグメント付加情報をキーセグメント生成部２５に与える。
【００３４】
セグメント蓄積装置２４は、アップロード部２２からのセグメント及びセグメント付加情報を蓄積するものである。セグメント蓄積装置２４は、セグメント付加情報から、当該セグメントの撮影時刻情報、当該セグメントのキーフレームが含まれているか否かを示すキーフラグ情報、当該セグメントのセグメントシーケンス番号を抽出する。そして、上記撮影時刻情報と、上記キーフラグ情報と、上記セグメントシーケンス番号と、当該セグメントのデータ本体とを対応付けて格納する。より具体的には、例えば、撮影時刻が古い時刻のものから順に、撮影時刻情報、キーフラグ情報、セグメントシーケンス番号、セグメントのデータ本体とを対応付けたものが、セグメント蓄積装置２４に蓄積される。なお、セグメントシーケンス番号について、撮影時刻が古いものから最新のものになるにつれ、セグメントシーケンス番号の値が大きくなるように付与されているので、シーケンスセグメント番号の順に、セグメント付加情報及びセグメントのデータ本体とが格納されているとも言い換えることができる。
【００３５】
ダウンロード部２３は、監視モニタ３０からＰｌａｙｌｉｓｔの送信要求を受信し、その送信要求に基づいて、セグメント蓄積装置２４、キーセグメントキャッシュ２６に存在するＰｌａｙｌｉｓｔを監視モニタ３０に送信する。また、ダウンロード部２３は、監視モニタ３０から受信した映像（セグメント）の配信要求を受信し、その配信要求に従い、セグメント蓄積装置２４、キーセグメントキャッシュ２６に存在するセグメント、キーセグメントを監視モニタ３０に配信する。
【００３６】
Ｐｌａｙｌｉｓｔには、ライブモニタリング用と録画再生用の２種類あり、監視モニタ３０からの送信要求に従ってダウンロード部２３が作成する。このＰｌａｙｌｉｓｔの作成方法の詳細な説明は動作の項で説明する。監視モニタ３０に送信するセグメント、キーセグメントの配信方法の詳細な説明は動作の項で説明する。
【００３７】
キーセグメント生成部２５は、ライブモニタリングのために必要なキーセグメントを生成する。キーセグメント生成部２５は、アップロード部２２からセグメント及びセグメント付加情報を受け取ると、そのセグメント（例えば、segment［i］）に含まれる全てのフレームを復号し、直前のセグメント（例えば、segment［i-1］）の復号結果（すなわち、当該直前のsegment［i-1］に含まれている全てのフレームの復号結果）を参照して、先頭にキーフレームを含むセグメント（これを「キーセグメント」と呼ぶ。）を再作成する。
【００３８】
キーセグメントを再作成する際、キーセグメント生成部２５は、全フレームをＨ．２６４符号化方式で定義されているＩ＿ＰＣＭモードに従ったフォーマットで符号化する。ここで、Ｉ＿ＰＣＭモードでは、非可逆性を伴う直交変換を行わずに、フレーム内予測符号化のみを用いて映像データを符号化しており、復号結果が符号化前の映像データと完全に一致する可逆（ロスレス）符号化を行なうことができる。
【００３９】
上記のように、キーセグメント生成部２５は、直前のセグメント（segment［i-1］）の復号結果を参照するが、この直前のセグメント（segment［i-1］）は、当該直前のセグメントよりも前に存在しているキーフレームを含むセグメント（例えば、segment［0］）から当該直前のセグメント（segment［i-1］）までの全てのフレームを符号化したものである。
【００４０】
すなわち、直前のセグメント（segment［i-1］）の復号結果は、直近のキーフレームとその直近のキーフレーム以降の非キーフレームとを含む映像データであり、符号化前の映像データと完全に一致したものとなる。そのため、監視モニタ３０で、このキーセグメントから再生開始した場合にも、ネットワークビデオレコーダ２０が受信したオリジナルのセグメントに含まれるストリームの復号結果と、キーセグメント生成部２５が再作成したキーセグメントに含まれるストリームの復号結果とは、全フレームで完全に（量子化誤差がなく；１ビットたりとも復号誤差がなく）一致する。
【００４１】
従って、当該直前のセグメント（segment［i-1］）の復号した映像データを参照して、後続セグメント（segment［i］）の非キーフレームの復号結果も完全に一致し、そのため監視モニタ３０で再生される再生映像の乱れ等が発生しない。
【００４２】
なお、アップロード部２２から取得したセグメントが、先頭にキーフレームを含むセグメントである場合には、今回取得したセグメントがキーセグメントとなるため、キーセグメント生成部２５は今回取得したセグメントをそのままキーセグメントとしてキーセグメントキャッシュ２６に記憶する。
【００４３】
キーセグメント生成部２５は、再生成したキーセグメントと、アップロード部２２から取得したセグメント付加情報とをキーセグメントキャッシュ２６に与える。
【００４４】
録画キーセグメント生成部２７は、録画再生のために必要なキーセグメントを生成する。録画キーセグメント生成部２７は、ダウンロード部２３から録画再生に係る再生開始時刻Ａと終了時刻Ｂとの通知を受ける。
【００４５】
そして、録画キーセグメント生成部２７は、セグメント蓄積装置２４に蓄積されているセグメント及びセグメント付加情報を参照して、録画再生開始時刻（再生開始時刻とも呼ぶ。）Ａ、再生終了時刻（終了時刻とも呼ぶ。）Ｂを撮影時刻情報に含んでいるセグメント及びセグメント付加情報を検索する。
【００４６】
次に、録画キーセグメント生成部２７は、キーセグメントキャッシュ２６に、上記検索したセグメントのセグメントシーケンス番号（当該セグメントシーケンス番号を［Ｘ］とする。）よりも過去であって最も直近にキーセグメント（当該キーセグメントのセグメントシーケンス番号を「Ｚ」とする。）があるか否かを検索する。録画キーセグメント生成部２７は、検索した結果、上記直近のキーセグメントがキーセグメントキャッシュ２６にあるとき、次の処理を実行する。録画キーセグメント生成部２７は、上記直近のキーセグメントに含まれている全フレームを復号し、かつ、セグメントシーケンス番号［Ｚ＋１］〜［Ｘ−１］までのセグメントをセグメント蓄積装置２４から取得する。録画キーセグメント生成部２７は、取得したセグメントについて、セグメントシーケンス番号［Ｚ＋１］〜［Ｘ−１］までのセグメントに含まれている全フレームを復号する。
【００４７】
なお、キーセグメントキャッシュ２６に上記直近のキーセグメントがない場合、録画キーセグメント生成部２７は、セグメント蓄積装置２４から、直近のキーフレームを含んでいるセグメント（セグメントシーケンス番号［Ｙ］とする。）から直前のセグメント（セグメントシーケンス番号［Ｘ−１］）を読み出す。録画キーセグメント生成部２７は、読み出したセグメントについて、セグメントシーケンス番号［Ｙ］〜［Ｘ−１］の全てのセグメントに含まれている全フレームを復号する。
【００４８】
そして、録画キーセグメント生成部２７は、セグメントシーケンス番号［Ｘ−１］以外のセグメントの復号結果を破棄（セグメントシーケンス番号［Ｘ−１］のセグメントの復号結果を残し）する。さらに、録画キーセグメント生成部２７は、当該セグメントシーケンス番号［Ｘ−１］のセグメントの復号結果を参照して、セグメントシーケンス番号［Ｘ］のキーセグメントを再生成する。このセグメントシーケンス番号［Ｘ］のキーセグメントを再生成方法は、キーセグメント生成部２５と同様に可逆符号化に従った手法である。これにより、録画再生開始時刻Ａにおけるキーセグメントが作成され、このキーセグメント及びセグメント付加情報がキーセグメントキャッシュ２６に記憶される。
【００４９】
キーセグメントキャッシュ２６は、キーセグメント生成部２５又は録画キーセグメント生成部２７により生成されたキーセグメントと、当該キーセグメントの付加情報とを対応付けて所定時間記憶する記憶領域である。キーセグメントキャッシュ２６は、キーセグメント生成部２５又は録画キーセグメント生成部２７により当該キーセグメントが生成された生成時刻と、当該キーセグメントの撮影時刻情報と、当該キーセグメントのセグメントシーケンス番号と、当該キーセグメントのデータ本体とを対応付けたものを記憶する。
より具体的には、キーセグメントが生成された生成時刻が古いものから順にキーセグメントキャッシュ２６に記憶されていき、各生成時刻から所定時間が経過したときに、あるいは、一定容量以下を維持するように、生成時刻の古いものから順にキーセグメントが削除される。
【００５０】
ここで、キーセグメントが生成された生成時刻は、当該キーセグメントがキーセグメントキャッシュ２６へのキャッシュ開始時刻とも言い換えることができる。
【００５１】
なお、図１では、１個のキーセグメントキャッシュ２６を備える場合を例示しているが、ライブモニタリング用のキーセグメントキャッシュと、録画再生用のキーセグメントキャッシュとを備えるようにしてもよい。
【００５２】
ここで、ライブモニタリング用のキーセグメントキャッシュは、すなわち、キーセグメント生成部２５により生成されたキーセグメントを記憶するキャッシュである。
【００５３】
またここで、録画再生用のキーセグメントキャッシュは、すなわち、録画キーセグメント生成部２７により生成されたキーセグメントを記憶するキャッシュである。
【００５４】
［監視モニタ３０］
監視モニタ３０は、通信機能及び表示機能を備えた映像視聴端末であり、セグメント化された映像データを再生して、映像を表示するものである。監視モニタ３０は、例えば、スマートフォン、タブレット端末、パーソナルコンピュータ等を適用することができる。また、監視モニタ３０は、復号表示部３１を有している。
【００５５】
復号表示部３１は、例えば、ＣＰＵがプログラム実行することにより、HTTPServer部２１に対するHTTPClientとして機能し、TSDemuxer、VideoDecoder、Renderer、ブラウザ等として機能する。復号表示部３１は、ＨＬＳでのクライアントコンポーネントの役割を果たす。
【００５６】
つまり、復号表示部３１は、ネットワークビデオレコーダ２０が送信したファイルを受信する。復号表示部３１は、HTTP_GETリクエストによりHTTPServer２１に対して、Ｐｌａｙｌｉｓｔやセグメントの要求を行い、Ｐｌａｙｌｉｓｔやセグメントを受信する。映像の安定化のためにデータをバッファリングするが、ライブモニタリングのときには、バッファ時間を最小限に設定している。
【００５７】
また、復号表示部３１は、セグメントから音声データ等を分離して、ビデオストリームを取り出し、符号化されたビデオストリームを元のデータに戻し、所定の処理を行い具体的な映像データや画像データを生成する。そして、再生したデータの映像や画像を、監視モニタ３０の表示パネル（図示しない）に表示させる。
【００５８】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態に係る監視システム１における処理を、図面を参照しながら詳細に説明する。
【００５９】
ＩＰカメラ５では、映像を撮影し、その映像を所定の圧縮符号化方式で符号化し、その符号化したビデオストリームが映像ゲートウェイ１０に送信される。
【００６０】
映像ゲートウェイ１０では、ＩＰカメラ５からビデオストリームを受信すると、復号部１１が、受信したビデオストリームを復号しつつ、主要な画質規定要因である量子化ステップサイズをフレーム単位で取得し、復号した映像データと合わせて符号化部１２へ入力する。
【００６１】
符号化部１２では、復号部１１により復号された映像データを、例えばＨ．２６４方式で再符号化し、再符号化した映像データが送信部１３に与えられる。このとき、ＩＰカメラ５のビデオストリームと同一画角、同一フレームレートとし、フレーム毎に復号部１１から入力した平均量子化ステップサイズを用いる。これにより、映像の画質を概ね劣化させることなく映像を再符号化できる。更に、符号化部１２は、映像データの再符号化の際に、キーフレーム（例えば、Ｈ．２６４ではＩＤＲフレーム）の挿入周期をＩＰカメラ５のストリームよりも長くなるようにする。このキーフレームの挿入周期は、例えば、監視モニタ３０への録画再生の応答時間の上限に合わせて設定する。
【００６２】
送信部１３では、再符号化されたビデオストリームを、ネットワークビデオレコーダ２０へＨＴＴＰ  ＰＯＳＴメソッドで送信する。送信部１３は、ＭＰＥＧ形式で、ビデオストリームを多重化し、例えば１０秒前後の連続するフレームを時分割したデータをセグメントファイルとして送信する。各セグメントの先頭には、撮影時刻情報、フラグ情報、セグメントシーケンス番号を有するセグメント付加情報を付加して、セグメントと合わせて送信する。また、キーフレームが含まれるセグメントは、必ず先頭がキーフレームとなるようにする。なお、通信障害が発生して一定時間以内に送信できなかった場合は、一旦送信を停止して未送信データを破棄し、符号化部１２にて再度キーフレームを先頭に挿入したストリームを生成して送信再開を試行する。
【００６３】
ネットワークビデオレコーダ２０にセグメントが受信されると、HTTPServer部２１が、セグメント及びセグメント付加情報をアップロード部２２に転送する。
【００６４】
アップロード部２２では、セグメント及びセグメント付加情報をセグメント蓄積装置２４に保存すると共に、セグメント及びセグメント付加情報をキーセグメント生成部２５に転送する。
【００６５】
セグメント蓄積装置２４では、アップロード部２２から受信した全てのセグメントを各セグメント付加情報とともに蓄積する。
【００６６】
（Ａ−２−１）ライブモニタリングのストリーミング再生処理
次に、監視モニタ３０においてライブモニタリングのストリーミング再生処理の動作を、図面を参照しながら説明する。
【００６７】
以下では、まず、図３、図４を参照してキーセグメント生成部２５によるキーセグメントの生成処理を説明した上で、ライブモニタリング用のＰｌａｙｌｉｓｔの要求方法や生成方法を説明しながら、セグメントの配信方法を説明する。
【００６８】
［キーセグメント生成部２５によるキーセグメント生成処理］
図３は、第１の実施形態に係るキーセグメント生成部２５によるキーセグメントの生成処理を示すフローチャートである。
【００６９】
図４は、第１の実施形態に係るキーセグメント生成部２５によるキーセグメントの生成処理を説明する説明図である。
【００７０】
図４では、「Ｉ」をキーフレームとし、「Ｐ」を非キーフレームとしており、「Ｌ」を可逆符号化で符号化したロスレス符号化フレームとしている。図４の例では、先頭にキーフレームを含んでいるセグメントのセグメントシーケンス番号をセグメント［0］とする。また、その後のセグメントについては、セグメントシーケンス番号を、順番に、セグメント［1］、セグメント［2］、…、セグメント［i-1］、セグメント［i］、…としている。セグメント［1］〜［i］には、キーフレームが含まれていない。また、ここでは、例えば撮影時刻t［i］のセグメント［i］を含んでいるキーセグメント（先頭にキーフレームを含んでいるセグメント）を、キーセグメント［i］などと呼んで説明する。
【００７１】
ステップＳ１０１で、キーセグメント生成部２５は、アップロード部２２から最新のセグメント［i］を取得する。
【００７２】
ステップＳ１０２で、キーセグメント生成部２５は、当該セグメント［i］のセグメント付加情報に含まれているフラグ情報を参照して、キーフレームを含んでいるセグメントであるか否かを判断する。
【００７３】
ステップＳ１０２で、当該セグメント［i］の先頭にキーフレームが含まれているとき、すなわち図４のi=0のとき、キーセグメント生成部２５は、当該セグメント［i］の全フレームを再符号化する（ステップＳ１０３）。そして、ステップＳ１０５で、キーセグメント生成部２５は、再符号化した全てのフレームを連結してキーセグメント［i］とし、キーセグメントキャッシュ２６に転送する。つまり、先頭にキーフレームＩを含んでいるセグメント［0］がダウンロード部２３から取得した場合、後述するステップＳ１０４のように、セグメント［i-1］の復号結果を参照することなく、全てのフレームを再符号化する。
【００７４】
その後、ステップＳ１０６で、キーセグメント生成部２５は、セグメントシーケンス番号の「ｉ」の値を１だけインクリメントしてステップＳ１０１に移行し、次のセグメントシーケンス番号について繰り返し処理を行なう。
【００７５】
ステップＳ１０２で、当該セグメント［i］の先頭にキーフレームが含まれていない場合、キーセグメント生成部２５は、セグメント［i-1］の復号結果を参照して、セグメント［i］を構成する全てのフレームを復号し、全てのフレームについてＩ＿ＰＣＭモードで再符号化を行なう（ステップＳ１０４）。そして、ステップＳ１０５で、キーセグメント生成部２５は、再符号化した全てのフレームを連結してキーセグメント［i］とし、キーセグメントキャッシュ２６に転送する。その後、キーセグメント生成部２５は、セグメントシーケンス番号の「ｉ」の値を１だけインクリメントして、処理を繰り返し行なう（ステップＳ１０６）。
【００７６】
キーセグメント［i］を生成する際、先頭にキーフレームを含んでいるセグメント［0］〜セグメント［i-1］に含まれている全てのフレームを復号する必要があり、セグメント［0］〜セグメント［i-1］の復号結果を参照して、可逆符号化によりキーセグメント［i］を再生成する。
【００７７】
図４の例の場合、キーセグメント生成部２５は、キーセグメントキャッシュ２６にキーセグメント［i-1］が記憶されているかを確認する。ビデオストリームは量子化誤差のないＨ．２４６符号化方式で符号化されているので、キーセグメント生成部２５は、セグメント［i］の直前に位置しているキーセグメント［i-1］の復号結果（図４の「ＬＬＬＬＬＬ」）を参照して、セグメント［i］に含まれている全フレームを可逆符号化する。
【００７８】
図４に示すように、キーセグメントをキーセグメントキャッシュ２６に記憶する際、キーセグメント生成部２５によるキーセグメントの生成時刻が、キーセグメントキャッシュ２６の「生成時刻」に記録される。この「生成時刻」に記録される時刻は、キーセグメントキャッシュ２６にキーセグメントがキャッシュ時間を判断する際に利用される。つまり、「生成時刻」に記録されている時刻から所定のキャッシュ時間が経過したときに、当該キーセグメントは、キーセグメントキャッシュ２６から削除されることになる。このように、比較的データ容量の大きいキーフレームを含むキーセグメントが削除されることにより、保存するデータ容量は、削減される。
【００７９】
また、図４に示すように、例えば、キーセグメントキャッシュ２６は、キーセグメント［i］を記憶するとき、上記「生成時刻」、セグメント［i］の撮影時刻ｔ［i］、セグメントシーケンス番号［i］、キーセグメントのデータ本体を対応付けて記憶する。
【００８０】
［Ｐｌａｙｌｉｓｔの要求方法、生成方法及びセグメントの配信方法］
図５は、実施形態に係るＰｌａｙｌｉｓｔの構成例を示す構成図である。図５（Ａ）は、ライブモニタリング用の初回のリクエスト時のＰｌａｙｌｉｓｔの構成例であり、図５（Ｂ）は、ライブモニタリング用の２回目以降のリクエスト時のＰｌａｙｌｉｓｔの構成例であり、図５（Ｃ）は、録画再生用のＰｌａｙｌｉｓｔの構成例である。
【００８１】
監視モニタ３０における復号表示部３１は、HTTPClientとして機能し、ＨＬＳ方式の標準化技術に従ったストリーミング再生のクライアントとして動作する。
【００８２】
監視モニタ３０においてライブモニタリングを行う場合、復号表示部３１は、ネットワークビデオレコーダ２０のHTTPServer部２１と接続し、HTTPGetリクエストによりHTTPServer部２１にライブモニタリング用のＰｌａｙｌｉｓｔを要求する。
【００８３】
HTTPServer部２１がライブモニタリング用のＰｌａｙｌｉｓｔの要求を受信すると、HTTPServer部２１はライブモニタリング用のＰｌａｙｌｉｓｔの要求をダウンロード部２３に与える。
【００８４】
ダウンロード部２３は、ライブモニタリング用のＰｌａｙｌｉｓｔの要求を受け取ると、今回のＰｌａｙｌｉｓｔの要求が、再生開始に伴う初回の要求であるか否かを判断する。ライブモニタリング用のＰｌａｙｌｉｓｔは、ビデオストリームの生成が常時継続しているので、監視モニタ３０（復号表示部３１）で最後まで再生した時点で継続再生することになる。そのため、復号表示部３１は、次のＰｌａｙｌｉｓｔを取得するセグメントのＵＲＬを継続して要求する。従って、Ｐｌａｙｌｉｓｔの取得要求のリクエストのＵＲＬが、次に取得要求するセグメントのＵＲＬであるか否かに基づいて、ダウンロード部２３は初回の要求であるか否かを判断する。
【００８５】
今回のＰｌａｙｌｉｓｔの要求が初回の要求である場合、ダウンロード部２３は、キーセグメントキャッシュ２６の最後にキャッシュされている最新のキーセグメントのセグメントシーケンス番号［i］を取得する。さらに、ダウンロード部２３は、キーセグメントキャッシュ２６上のセグメントシーケンス番号［i］のキーセグメントの所在を示すＵＲＬをＰｌａｙｌｉｓｔの最初のセグメントとして記述する。図５（Ａ）の例では、キーセグメントキャッシュ２６上のキーセグメント［i］のＵＲＬとして「http://…/KeySeg/Segment［i］」を先頭に記述する。
【００８６】
さらに、ダウンロード部２３は、セグメント蓄積装置２４上に蓄積されている、後続セグメント［i+1］、［i+2］、…、［i+N-1］の所在を示すＵＲＬを規定数（この例ではＮ個）だけ、Ｐｌａｙｌｉｓｔ上に追記する。図５（Ａ）の例では、キーセグメント［i］のＵＲＬの後に、セグメント蓄積装置２４上のセグメント［i+1］、［i+2］、…、［i+N-1］を記述する。このように、Ｐｌａｙｌｉｓｔには、セグメントファイルのＵＲＬが時系列に列挙されている。
【００８７】
上記のように、ライブモニタリング用の初回のＰｌａｙｌｉｓｔ要求があった場合、ダウンロード部２３は、上記のようにして、図５（Ａ）に例示するＰｌａｙｌｉｓｔを作成してHTTPServer部２１に返却する。そして、HTTPServer部２１は、ダウンロード部２３から取得したライブモニタリング用のＰｌａｙｌｉｓｔを、要求元である復号表示部３１に送信する。
【００８８】
監視モニタ３０において、ライブモニタリング用のＰｌａｙｌｉｓｔを受信すると、復号表示部３１が、HTTPGetリクエストにより、HTTPServer部２１に、図５（Ａ）に記述されているキーセグメント［i］のＵＲＬを指示して、セグメント［i］の配信を要求する。
【００８９】
HTTPServer部２１は、ダウンロード部２３にキーセグメント［i］の配信要求を与える。これを受けて、ダウンロード部２３は、キーセグメント［i］のＵＲＬに基づいて、キーセグメントキャッシュ２６上にキャッシュされているキーセグメント［i］のデータにアクセスして取り出し、HTTPServer部２１がキーセグメント［i］のデータを復号表示部３１に配信する。
【００９０】
復号表示部３１は、HTTPServer部２１からキーセグメント［i］のデータを逐次ダウンロードするので、映像再生の安定化のためにキーセグメント［i］のデータをバッファリングしながら、映像再生をする。
【００９１】
キーセグメント［i］のデータのダウンロードが終了すると、復号表示部３１は、Ｐｌａｙｌｉｓｔに記述されている、キーセグメント［i］の次のセグメント［i+1］のＵＲＬを指示してHTTPServer部２１に配信要求する。HTTPServer部２１は、同様に、配信要求をダウンロード部２３に与える。
【００９２】
セグメント［i+1］のＵＲＬは、セグメント蓄積装置２４上のＵＲＬである。そのため、ダウンロード部２３は、HTTPServer部２１から取得したセグメント［i+1］のＵＲＬに基づいて、セグメント蓄積装置２４からセグメント［i+1］のデータにアクセスして取り出す。HTTPServer部２１は、取り出したセグメント［i+1］のデータを復号表示部３１に配信する。そして、復号表示部３１は、ダウンロードしたセグメント［i+1］のデータをバッファリングしながら、映像再生をする。
【００９３】
その後、Ｐｌａｙｌｉｓｔに記述されているセグメント［i+2］以降のＵＲＬについても同様に、復号表示部３１はHTTPServer部２１に配信要求する。そして同様に、ダウンロード部２３は、セグメント［i+2］以降のＵＲＬに基づいて、セグメント蓄積装置２４からセグメント［i+2］以降のデータにアクセスする。さらに、ダウンロード部２３は、HTTPServer部２１を介して、アクセスされたキーセグメント［i+2］以降のデータを復号表示部３１に配信する。そして、復号表示部３１は、ダウンロードしたセグメント［i+2］以降のデータについてもバッファリングしながら、映像再生をする。
【００９４】
初回のＰｌａｙｌｉｓｔに記述されている全てのセグメントのダウンロードが終了すると、復号表示部３１は、２回目以降のＰｌａｙｌｉｓｔの要求をHTTPServer部２１に送信し、このＰｌａｙｌｉｓｔ要求がダウンロード部２３に与えられる。
【００９５】
今回のＰｌａｙｌｉｓｔ要求が、再生開始から２回目以降の要求であるため、初回の要求の際に、ダウンロード部２３は、キーセグメントキャッシュ２６上のキーセグメントのＵＲＬを含むＰｌａｙｌｉｓｔを復号表示部３１に送信済みである。そのためダウンロード部２３は、、２回目以降のＰｌａｙｌｉｓｔの要求を受ると、後続セグメントのＵＲＬをＰｌａｙｌｉｓｔに記述する。
【００９６】
例えば、図５（Ａ）に例示するように、初回の要求時に、ダウンロード部２３は、セグメント蓄積装置２４上のセグメント［i+N-1］の所在を示すＵＲＬを含むＰｌａｙｌｉｓｔを復号表示部３１に送信している。従って、ダウンロード部２３は、セグメント［i+N-1］に後続するセグメント［i+N］のセグメント蓄積装置２４上の所在を示すＵＲＬをＰｌａｙｌｉｓｔの先頭に記載する。さらに、ダウンロード部２３は、セグメント蓄積装置２４上のセグメント［i+N+1］、［i+N+2］、…、［i+N+N-1］のＵＲＬを順番にＰｌａｙｌｉｓｔに記述する（図５（Ｂ）参照）。このように、Ｐｌａｙｌｉｓｔには、初回のＰｌａｙｌｉｓｔの最後のセグメントに後続するセグメントファイルのＵＲＬが時系列に列挙される。
【００９７】
上記のように、ライブモニタリング用の２回目以降のＰｌａｙｌｉｓｔ要求があった場合、ダウンロード部２３は、上記のようにして、図５（Ｂ）に例示するＰｌａｙｌｉｓｔを作成してHTTPServer部２１に返却し、HTTPServer部２１は、ライブモニタリング用のＰｌａｙｌｉｓｔを、要求元である復号表示部３１に送信する。
【００９８】
復号表示部３１は、Ｐｌａｙｌｉｓｔに記述されているセグメント［i+N］以降のＵＲＬについても同様にHTTPServer部２１に配信要求する。そして、同様に、ダウンロード部２３は、セグメント［i+N］以降のＵＲＬに基づいて、セグメント蓄積装置２４からセグメント［i+N］以降のデータにアクセスする。さらに、ダウンロード部２３は、HTTPServer部２１を介して、キーセグメント［i+N］以降のデータを復号表示部３１に配信する。そして、復号表示部３１は、ダウンロードしたセグメント［i+N］以降のデータについてもバッファリングしながら、映像再生をする。
【００９９】
（Ａ−２−２）録画再生のストリーミング再生処理
次に、監視モニタ３０において録画再生のストリーミング再生処理の動作を、図面を参照しながら説明する。
【０１００】
監視モニタ３０において録画再生する場合、復号表示部３１は、HTTPGetリクエストにより、表示範囲となる時刻（再生開始時刻及び再生終了時刻）を指定して、録画再生用のＰｌａｙｌｉｓｔをHTTPServer部２１に要求する。
【０１０１】
HTTPServer部２１は、受信した録画再生用のＰｌａｙｌｉｓｔの要求をダウンロード部２３に与える。
【０１０２】
ダウンロード部２３は、録画再生用のＰｌａｙｌｉｓｔの要求を受け取ると、録画再生開始時刻及び再生終了時刻を、録画キーセグメント生成部２７に通知して、録画用のキーセグメントの生成処理を行なう。
【０１０３】
図６は、第１の実施形態に係る録画キーセグメント生成部２７による録画用のキーセグメントの生成処理を示すフローチャートである。図７は、第１の実施形態に係る録画キーセグメント生成部２７による録画用のキーセグメントの生成処理を説明する説明図である。
【０１０４】
ここでは、録画再生開始時刻を「Ａ」とし、再生終了時刻を「Ｂ」として説明する。
【０１０５】
録画キーセグメント生成部２７は、ダウンロード部２３から録画再生開始時刻Ａと再生終了時刻Ｂが通知されると、録画再生開始時刻Ａを含むセグメントと、再生終了時刻Ｂを含むセグメントがセグメント蓄積装置２４に保存されているか否かを確認する（ステップＳ２０１）。このとき、セグメント蓄積装置２４に、再生開始時刻Ａを含むセグメントと再生終了時刻Ｂを含むセグメントのいずれか一方又は両方がない場合、録画キーセグメント生成部２７は、ステップＳ２０４に移行して、ダウンロード部２３にエラー応答して処理を終了する（ステップＳ２０４）。ダウンロード部２３はHTTPServer部２１にエラー応答を与えて、HTTPServer部２１は復号表示部３１にHTTPGetリクエストに対する応答でエラー応答を返信する。
【０１０６】
ステップＳ２０１で、セグメント蓄積装置２４に、再生開始時刻Ａを含むセグメントと再生終了時刻Ｂを含むセグメントが保存されている場合、録画再生のストリーミング再生処理の動作は、ステップＳ２０２に移行する。ここで、再生開始時刻Ａを含むセグメントのシーケンス番号は「Ｘ」、再生終了時刻Ｂを含むセグメントのシーケンス番号は「Ｗ」とする（ステップＳ２０２）。
【０１０７】
そして、ステップＳ２０３では、録画キーセグメント生成部２７は、再生開始時刻Ａよりも過去であって、再生開始時刻Ａに最も近くに存在するキーフレームを含むセグメントが、セグメント蓄積装置２４に保存されているか否かを確認する（ステップＳ２０３）。このとき、上記キーフレームを含むセグメントがセグメント蓄積装置２４に保存されていない場合、録画キーセグメント生成部２７は、ステップＳ２０４に移行して、ダウンロード部２３にエラー応答して処理を終了する（ステップＳ２０４）。ダウンロード部２３はHTTPServer部２１にエラー応答を与えて、HTTPServer部２１は復号表示部３１にHTTPGetリクエストに対する応答でエラー応答を返信する。
【０１０８】
一方、上記キーフレームを含むセグメントがセグメント蓄積装置２４に保存されている場合、録画キーセグメント生成部２７は、ステップＳ２０３で、当該キーフレームを含むセグメントのシーケンス番号を「Ｙ」とする。
【０１０９】
ステップＳ２０６では、録画キーセグメント生成部２７が、上記キーフレームを含むセグメント［Ｙ］が再生開始時刻Ａを含むセグメント［Ｘ］でないか否かを判断する（ステップＳ２０６）。これは、再生開始時刻Ａを含むセグメント［Ｘ］がキーフレームを含むセグメントであるか否かを判断するためである。
【０１１０】
再生開始時刻Ａを含むセグメント［Ｘ］がキーフレームを含んでいる場合、録画キーセグメント生成部２７は、録画再生開始時刻Ａを含んでいるセグメントのシーケンス番号［Ｘ］と、再生終了時刻Ｂを含んでいるセグメントのシーケンス番号［Ｗ］を、ダウンロード部２３に返却する（ステップＳ２０７）。
【０１１１】
つまり、ステップＳ２０７では、フレーム間差分情報を利用して符号化した映像を再生（復号）する際、先頭とするキーフレームが必要である。この場合、再生開始時刻Ａのセグメント［Ｘ］がキーフレームを含んでいるため、再生開始時刻Ａ（セグメント［Ｘ］）がセグメント［Ｙ］の撮影時刻に含まれるので、当該セグメント［Ｙ］は、そのままセグメント［Ｘ］としている。
【０１１２】
録画キーセグメント生成部２７から録画再生開始時刻Ａを含んでいるセグメントのシーケンス番号［Ｘ］と、再生終了時刻Ｂを含んでいるセグメントのシーケンス番号［Ｗ］の通知を受けたダウンロード部２３は、次のようにして、Ｐｌａｙｌｉｓｔを作成する。
【０１１３】
ダウンロード部２３は、再生開始時刻Ａを含むセグメントシーケンス番号［Ｘ］をキーセグメントとみなして扱う。ダウンロード部２３は、図５（Ｃ）に例示するように、セグメント蓄積装置２４上のセグメントシーケンス番号［Ｘ］の所在を示すＵＲＬを、Ｐｌａｙｌｉｓｔの先頭に記述する。さらに、ダウンロード部２３は、セグメントシーケンス番号［Ｘ］に後続する、セグメントシーケンス番号［Ｘ＋１］から再生終了時刻Ｂのセグメントシーケンス番号［Ｗ］までの全てのセグメントのセグメント蓄積装置２４上のＵＲＬを、順番にＰｌａｙｌｉｓｔに記述して、Ｐｌａｙｌｉｓｔを作成する。このように、録画再生用のＰｌａｙｌｉｓｔには、再生開始時刻Ａを含むキーセグメント［Ｘ］のＵＲＬと、その後セグメント「Ｘ＋１」から再生終了時刻ＢのセグメントまでのＵＲＬが時系列に列挙されている。
【０１１４】
HTTPServer部２１は、ダウンロード部２３により作成された録画再生用のＰｌａｙｌｉｓｔを、復号表示部３１に送信する。
【０１１５】
ステップＳ２０６で、キーフレームを含むセグメント［Ｙ］が再生開始時刻Ａを含むセグメント［Ｘ］でない場合、すなわち再生開始時刻Ａがセグメント［Ｙ］の撮影時刻に含まれていない場合、録画キーセグメント生成部２７は、次の処理を実行する。録画キーセグメント生成部２７は、セグメント［Ｙ］からセグメント［Ｘ］までの範囲で、キーセグメントキャッシュ２６にキャッシュされているキーセグメントがあるか否かを確認する（Ｓ２０８）。録画キーセグメント生成部２７は、上記キーセグメントがキーセグメントキャッシュ２６にキャッシュされていない場合、ステップＳ２０９に移行し、キャッシュされている場合にステップＳ２１０に移行する。
【０１１６】
ステップＳ２０９及びＳ２１０では、キーセグメントキャッシュ２６に上記キーセグメントがキャッシュされている場合、録画キーセグメント生成部２７が、当該キーセグメントのシーケンス番号を「Ｚ」とする（ステップＳ２０９）。録画キーセグメント生成部２７は、キーセグメント［Ｚ］をキーセグメントキャッシュ２６から取得し、当該キーセグメント［Ｚ］の全てのフレームを復号する。さらに、録画キーセグメント生成部２７は、セグメントシーケンス番号［Ｚ＋１］〜［Ｘ−１］の全てのセグメントを、セグメント蓄積装置２４から取得し、全てのセグメントの全てのフレームを復号して（ステップＳ２１０）、ステップＳ２１２に移行する。
【０１１７】
ステップＳ２１１では、録画キーセグメント生成部２７が、セグメント蓄積装置２４からセグメントシーケンス番号［Ｙ］〜「Ｘ−１」のセグメントを取得し、全セグメントに含まれている全てのフレームを復号する（Ｓ２０９）。その後、Ｓ２１２に移行する。
【０１１８】
ステップＳ２１２〜Ｓ２１４では、録画キーセグメント生成部２７が、セグメント［Ｘ］の再符号化に必要なセグメント［Ｘ−１］までの復号結果を生成してから、セグメント［Ｘ−１］以外の復号結果を破棄する（ステップＳ２１２）。録画キーセグメント生成部２７は、キーセグメント生成部２５と同様に、Ｉ＿ＰＣＭモードで、セグメント［Ｘ−１］の全てのフレームの復号結果を参照して、セグメント［Ｘ］に含まれている全てのフレームを可逆符号化を行なう（Ｓ２１３）。そして、録画キーセグメント生成部２７は、再符号化した全てのフレームを連結してキーセグメント［Ｘ］を再生成し、当該キーセグメント［Ｘ］について、生成時刻、撮影時刻情報、セグメントシーケンス番号を含むセグメント付加情報とともに、キーセグメントキャッシュ２６へキャッシュする（Ｓ２１４）。
【０１１９】
そして、録画キーセグメント生成部２７は、再生開始時刻Ａを含んでいるセグメントのシーケンス番号［Ｘ］と、再生終了時刻Ｂを含んでいるセグメントのシーケンス番号［Ｗ］をダウンロード部２３に返却して終了する。
【０１２０】
録画キーセグメント生成部２７から再生開始時刻Ａを含んでいるセグメントのシーケンス番号［Ｘ］と、再生終了時刻Ｂを含んでいるセグメントのシーケンス番号［Ｗ］の通知を受けたダウンロード部２３は、次のようにして、Ｐｌａｙｌｉｓｔを作成する。
【０１２１】
ダウンロード部２３は、キーセグメントキャッシュ２６上のセグメントシーケンス番号［Ｘ］の所在を示すＵＲＬを、Ｐｌａｙｌｉｓｔの先頭に記述する。さらに、ダウンロード部２３は、セグメント蓄積装置２４上の、セグメントシーケンス番号［Ｘ］に後続する、セグメントシーケンス番号［Ｘ＋１］から再生終了時刻Ｂのセグメントシーケンス番号［Ｗ］までの全てのセグメントのＵＲＬを、順番にＰｌａｙｌｉｓｔに記述して、Ｐｌａｙｌｉｓｔを作成する。HTTPServer部２１は、ダウンロード部２３により作成された録画再生用のＰｌａｙｌｉｓｔを、復号表示部３１に送信する。
【０１２２】
監視モニタ３０において、録画再生用のＰｌａｙｌｉｓｔを受信すると、復号表示部３１は、HTTPGetリクエストにより、HTTPServer部２１に、図５（Ｃ）に記述されているキーセグメント［Ｘ］のＵＲＬを指示して、セグメント［Ｘ］の配信を要求する。
【０１２３】
HTTPServer部２１は、ダウンロード部２３にキーセグメント［Ｘ］の配信要求を与える。これを受けて、ダウンロード部２３は、キーセグメント［Ｘ］のＵＲＬに基づいて、キーセグメントキャッシュ２６上にキャッシュされているキーセグメント［Ｘ］のデータにアクセスして取り出し、HTTPServer部２１に渡す。HTTPServer部２１は、キーセグメント［Ｘ］のデータを復号表示部３１に配信する。
【０１２４】
復号表示部３１は、HTTPServer部２１からキーセグメント［Ｘ］のデータを逐次ダウンロードするので、映像再生の安定化のためにキーセグメント［Ｘ］のデータをバッファリングしながら、映像再生をする。
【０１２５】
また、キーセグメント［Ｘ］のデータのダウンロードが終了すると、復号表示部３１は、Ｐｌａｙｌｉｓｔに記述されている、キーセグメント［Ｘ］の次のセグメント［Ｘ＋１］のＵＲＬを指示してHTTPServer部２１に配信要求する。HTTPServer部２１は、同様に、配信要求をダウンロード部２３に与える。
【０１２６】
セグメント［Ｘ＋１］のＵＲＬはセグメント蓄積装置２４上のＵＲＬであるため、ダウンロード部２３は、HTTPServer部２１から取得したセグメント［Ｘ＋１］のＵＲＬに基づいて、セグメント蓄積装置２４からセグメント［Ｘ＋１］のデータにアクセスして取り出し、HTTPServer部２１に渡す。HTTPServer部２１は、セグメント［Ｘ＋１］のデータを復号表示部３１に配信する。そして、復号表示部３１は、ダウンロードしたセグメント［Ｘ＋１］のデータをバッファリングしながら、映像再生をする。その後、セグメント［Ｘ＋２］〜再生終了時刻Ｂのセグメント［Ｗ］についても、セグメント［Ｘ＋１］の配信要求と同様に行なわれる。
【０１２７】
なお、復号表示部３１は、録画再生を開始する場合には、図６に例示するフローチャートに示すように、録画キーセグメント生成部２７が長時間のビデオストリーム復号を完了するのを待つ必要がある場合があり、従来方式の監視モニタよりも映像表示開始までにかかる応答時間が長くなる可能性がある。この応答時間は、符号化部１２で指定したキーフレームの挿入周期と録画キーセグメント生成部２７の復号性能によって決まるので、利用者が許容可能な応答時間に応じて挿入周期を決定するようにしてもよい。
【０１２８】
また、監視モニタ３０において、録画再生中にシーク操作を行った場合、復号表示部３１は、新しい表示範囲を指示してHTTPServer部２１にＰｌａｙｌｉｓｔを要求し、ダウンロード部２３及び録画キーセグメント生成部２７により、改めてＰｌａｙｌｉｓｔが生成される。これにより、監視モニタ３０は新たなＰｌａｙｌｉｓｔに元づいて映像の再生を行なう。
【０１２９】
ここで、新しい表示範囲は、すなわち、新しい再生開始時刻及び再生終了時刻である。
【０１３０】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、以下の効果を奏する。
【０１３１】
撮影した映像を符号化するＩＰカメラの後段に映像ゲートウェイを備え、符号化部が、ＩＰカメラの映像品質を維持しながらもキーフレームの挿入周期を数十倍以上に引き延ばしたことで、従来のビデオストリームのデータ量の過半を占めていたキーフレームデータの構成比率を、ほぼそれを無視できるほどの比率まで低減させることができる。このように再符号化したストリームはＩＰカメラのビデオストリームと比較して、画質を維持しつつも平均符号量が大幅に低下しており、アクセス回線の所要通信帯域の節約、および、ネットワークビデオレコーダでの録画に必要なデータ領域の節約を図ることができる。
【０１３２】
キーセグメント生成部又は録画キーセグメント生成部が、量子化誤差がなく、かつ、ロスレスモードの可逆符号化により再生成したキーセグメントをキーセグメントキャッシュに保存することにより、所定のキャッシュ時間経過後のキーセグメントを削除することができる。監視映像の録画データを再生する目的は、事故等の発報を受けて事後に特定シーンを探して繰り返し確認するためであることが多く、本システムはキャッシュ機構を備えているために、そのような目的で再生を行う際には２回目以降の表示開始を短時間で行うことができる。
【０１３３】
（Ｂ）第２の実施形態
次に、本発明に係る処理装置、処理プログラム及び処理方法の第２の実施形態を、図面を参照しながら詳細に説明する。
【０１３４】
（Ｂ−１）第２の実施形態の構成
図８は、第２の実施形態に係る監視システムの全体構成を示す全体構成図である。
【０１３５】
図８において、第２の実施形態に係る監視システム１Ａは、カメラ９１、映像ゲートウェイ９０、ネットワークビデオレコーダ２０Ａ、監視モニタ３０を有する。
【０１３６】
第２の実施形態では、符号化機能を有するＩＰカメラ５に代えて符号化機能を有しないカメラ９１を備えること、復号部１１を有する映像ゲートウェイ１０に代えて復号部１１を有しない映像ゲートウェイ９０を備える。また、ネットワークビデオレコーダ２０Ａのキーセグメント生成部２５１及び録画キーセグメント生成部２７１の処理が、第１の実施形態と異なる。
【０１３７】
上記以外の構成要素は、第１の実施形態で説明したものと同様であるため、以下では、第２の実施形態の技術的な特徴である構成要素を中心に説明する。
【０１３８】
［カメラ９１］
カメラ９１は、映像ケーブルで映像ゲートウェイ９０と接続しており、撮影映像を映像ゲートウェイ９０に転送するものである。カメラ９１は、符号化処理機能を有していないため、高画質な映像信号を映像ゲートウェイ９０に与えることができる。
【０１３９】
［映像ゲートウェイ９０］
映像ゲートウェイ９０は、監視映像としての要件を満たす所定の符号化品質を設定して、カメラ９１からの映像を符号化して、アクセス回線を通じてネットワークビデオレコーダ２０Ａにビデオストリームを送信する。
【０１４０】
映像ゲートウェイ９０は、符号化部９２と、符号化部９２により符号化された映像をアクセス回線に送信する送信部１３を有する。なお、送信部１３は、第１の実施形態と同様であるため、ここでの詳細な説明は省略する。
【０１４１】
符号化部９２は、所定の符号化品質を設定して、例えばＨ．２６４方式映像を符号化する。符号化部９２は、第１の実施形態の符号化部１２と同様に、符号化の際に、キーフレーム挿入周期を、監視モニタ３０での録画再生の応答時間の上限に合わせて、例えば１０分〜１時間程度に設定して符号化する（図２（Ａ）参照）。なお、キーフレームの挿入周期については、符号化部９２とネットワークビデオレコーダ２０Ａとの間で互いに設定しておく。
【０１４２】
符号化部９２は、非キーフレームが前方参照する際の参照フレーム数の上限値Ｒを指定して映像データを符号化する。例えば、上限値Ｒ＝２と指定した場合、復号表示部３１は、復号結果の参照フレームを直近の２フレームだけ常に保持することで、必要な参照が得られるようになる。上限値Ｒは、符号化効率と符号化に必要な所要メモリ量の兼ね合いに応じて設定することができ、例えば、前方参照フレーム数の上限値Ｒ＝１〜４の範囲で決定するようにしてもよい。なお、上限値Ｒの設定値は、符号化部９２と、ネットワークビデオレコーダ２０Ａとの間で互いに設定しておく。
【０１４３】
［ネットワークビデオレコーダ２０Ａ］
ネットワークビデオレコーダ２０Ａは、基本的には、第１の実施形態で説明したネットワークビデオレコーダ２０と同様の機能を有する。
【０１４４】
ネットワークビデオレコーダ２０Ａは、HTTPServer部２１、アップロード部２２、ダウンロード部２３、セグメント蓄積装置２４、キーセグメント生成部２５１、キーセグメントキャッシュ２６、録画キーセグメント生成部２７１を有する。以下では、第２の実施形態の技術的特徴である、キーセグメント生成部２５１及び録画キーセグメント生成部２７１の構成について詳細に説明する。
【０１４５】
キーセグメント生成部２５１は、第１の実施形態のキーセグメント生成部２５と同様に、アップロード部２２から取得した全てのセグメントに含まれる全フレームを復号し、先頭にキーフレームを含むキーセグメントを再生成する。また、キーセグメント生成部２５１は、生成したキーセグメントの映像データを、生成時刻、撮影時刻情報、セグメントシーケンス情報を含むセグメント付加情報とともに、キーセグメントキャッシュ２６に保存する。
【０１４６】
ここで、キーセグメント生成部２５１は、符号化部９２との間で前方参照フレーム数の上限値Ｒが設定されている。従って、キーセグメントを再生成する際に、終端している直前のＲ枚のフレームを参照し、Ｈ．２６４符号化方式で定義されているＩ＿ＰＣＭモードに従ったフォーマットで符号化する。これにより、監視モニタ３０で当該キーセグメントから映像再生を開始することができ、かつ、ネットワークビデオレコーダ２０Ａが受信したオリジナルのセグメントに含まれるストリームの復号結果と再作成したキーセグメントに含まれるストリームの復号結果が終端のＲ枚のフレームで完全に一致する。そのため、当該セグメントに続く非キーフレームからなるセグメントの復号結果も、完全に一致する。それゆえ、再生映像の乱れ等は発生しない。
【０１４７】
録画キーセグメント生成部２７１は、第１の実施形態の録画キーセグメント生成部２７と同様に、ダウンロード部２３から録画再生に係る再生開始時刻Ａと再生終了時刻Ｂとの通知を受ける。録画キーセグメント生成部２７１は、セグメント蓄積装置２４のセグメント及びセグメント付加情報を検索する。録画キーセグメント生成部２７１は、再生開始時刻Ａを含むセグメントシーケンス番号［Ｘ］と再生終了時刻Ｂを含むセグメントシーケンス番号［Ｗ］を検索して、検索した結果を、ダウンロード部２３に返却する。
【０１４８】
そして、キーセグメント生成部２５１は、セグメント［Ｘ］の再符号化に必要なセグメント［Ｘ−１］までの復号結果を生成し、上述したキーセグメント生成部２５１と同様の再符号化を行い、キーセグメント［Ｘ］を作成する。録画キーセグメント生成部２７１も、キーセグメント生成部２５１と同様に、非キーフレームの前方参照フレーム数の上限値Ｒが設定されている。
【０１４９】
また、録画キーセグメント生成部２７１は、キーセグメント［Ｘ］の次のセグメントであるセグメント［Ｘ＋１］を再生成する際に、終端しているキーセグメント［Ｘ］直前のセグメントであるセグメント［Ｘ−１］における終端のＲ枚のフレームの復号結果を参照し、Ｈ．２６４符号化方式で定義されているＩ＿ＰＣＭモードに従ったフォーマットで符号化する。なお、キーセグメントキャッシュ２６は、生成したキーセグメントのデータを、生成時刻、撮影時刻情報、セグメントシーケンス番号とともに保存する。
【０１５０】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態に係る監視システム１Ａにおける処理を、図面を参照しながら詳細に説明する。
【０１５１】
カメラ９１は、映像を撮影し、映像ケーブルを介して、映像を映像ゲートウェイ９０に転送する。
【０１５２】
映像ゲートウェイ９０では、カメラ９１から映像データを受信すると、符号化部９２が、例えばＨ．２６４方式で符号化し、符号化した映像データが送信部１３に与えられる。映像データの符号化の際に、キーフレーム挿入周期は、例えば、監視モニタ３０への録画再生の応答時間の上限値に合わせて設定する。
【０１５３】
送信部１３では、第１の実施形態と同様に、符号化されたビデオストリームを、ネットワークビデオレコーダ２０ＡへＨＴＴＰ  ＰＯＳＴメソッドで送信する。
【０１５４】
ネットワークビデオレコーダ２０Ａにセグメントが受信されると、HTTPServer部２１は、セグメント及びセグメント付加情報をアップロード部２２に転送する。アップロード部２２では、セグメント及びセグメント付加情報をセグメント蓄積装置２４に保存すると共に、セグメント及びセグメント付加情報をキーセグメント生成部２５１に転送する。
【０１５５】
キーセグメント生成部２５１では、アップロード部２２から受信した全てのセグメントを復号しながら、先頭にキーフレームを含むキーセグメントを再生成し、そのキーセグメントをセグメント付加情報と共にキーセグメントキャッシュ２６に保存する。
【０１５６】
［キーセグメント生成部２５１によるキーセグメント生成処理］
図９は、第２の実施形態に係るキーセグメント生成部２５１によるキーセグメントの生成処理を示すフローチャートである。
【０１５７】
図１０は、第２の実施形態に係るキーセグメント生成部２５１によるキーセグメントの生成処理を説明する説明図である。
【０１５８】
ここでは、非キーフレームの前方参照フレームの上限値Ｒが「２」である場合を例示する。
【０１５９】
またここでは、図１０では、「Ｉ」をキーフレームとし、「Ｐ」を非キーフレームとしており、「Ｌ」を可逆符号化で符号化したロスレス符号化フレームとしている。図１０の例では、先頭にキーフレームを含んでいるセグメントのセグメントシーケンス番号をセグメント［0］とする。また、その後のセグメントについては、セグメントシーケンス番号を、順番に、セグメント［1］、セグメント［2］、…、セグメント［i-1］、セグメント［i］、…としている。セグメント［1］〜［i］には、キーフレームが含まれていない。また、ここでは、例えば撮影時刻t［i］のセグメント［i］を含んでいるキーセグメント（先頭にキーフレームを含んでいるセグメント）を、キーセグメント［i］などと呼んで説明する。
【０１６０】
ステップＳ１０１で、アップロード部２２から最新のセグメント［i］を取得する。
【０１６１】
ステップＳ３００で、キーセグメント生成部２５１は、当該セグメント［i］のセグメント付加情報に含まれているフラグ情報を参照して、キーフレームを含んでいるセグメントであるか否かを判断する。
【０１６２】
ステップＳ３０１で、当該セグメント［i］の先頭にキーフレームが含まれているとき、すなわち図１０のi=0のとき、キーセグメント生成部２５１は、先頭のキーフレームＩを、復号、符号化（再符号化）をせず、キーセグメント［i］における先頭のキーフレームとして出力する。
【０１６３】
ステップＳ３０２では、キーセグメント生成部２５１は、第２フレーム以降、終端のＲ枚のフレームを残して復号し、非キーフレームとする。
【０１６４】
例えば、上記の例の場合、キーセグメント生成部２５１は、セグメント［i］（i=0のとき）の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームにおいて、終端の２枚のフレーム以前における「ＰＰＰ」の３枚のフレームを、キーセグメント［i］（i=0のとき）における終端の２枚のフレーム以前における「ＰＰＰ」の３枚のフレームとして出力する。
【０１６５】
ステップＳ３０３では、キーセグメント生成部２５１は、セグメント［i］（i=0のとき）を構成する全てのフレーム（先頭のキーフレームＩも含む）を復号し、全てのフレームについてＩ＿ＰＣＭモードで再符号化を行なう。
【０１６６】
さらに、キーセグメント生成部２５１は、セグメント［i］（i=0のとき）の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームにおいて、終端の２枚のフレーム「ＰＰ」を、キーセグメント［i］（i=0のとき）における終端の２枚のフレーム「ＬＬ」として出力する。
【０１６７】
ここで、キーセグメント［i］（i=0のとき）における終端の２枚のフレーム「ＬＬ」は、可逆符号化されたフレームである。
【０１６８】
ステップＳ３０４では、キーセグメント生成部２５１が、ステップＳ３０１〜Ｓ３０３で処理された全てのフレームを連結してキーセグメント［i］（i=0のとき）を再生成する。そして、キーセグメント［i］のデータを、生成時刻、撮影時刻情報、セグメントシーケンス番号と共にキーセグメントキャッシュ２６に保存する。
【０１６９】
例えば、上記例の場合、キーセグメント生成部２５１は、Ｓ３０１で処理されたキーフレーム「Ｉ」、Ｓ３０２で処理された第２フレーム以降の３枚のフレーム「ＰＰＰ」、Ｓ３０３で生成された終端の２枚のフレーム「ＬＬ」を連結して、「ＩＰＰＰＬＬ」としたキーセグメント［i］（i=0のとき）を生成して、セグメントシーケンス付加情報と共にキーセグメントキャッシュ２６に保存する。
【０１７０】
また、ステップＳ３００で、当該セグメント［i］の先頭にキーフレームが含まれていない場合、ステップＳ３１１で、キーセグメント生成部２５１は、セグメント［0］〜セグメント［i-1］の復号結果を参照し、セグメント［i］の先頭フレーム「Ｐ」を復号し、これをキーフレームとして符号化する（ステップＳ３０１）。
【０１７１】
例えば、図１０において、セグメント［i］についてキーセグメント［i］を生成する場合を例示する。キーセグメント生成部２５１は、セグメント［0］〜セグメント［i-1］を復号し、セグメント［0］〜セグメント［i-1］の復号結果を参照して、セグメント［i］の「ＰＰＰＰＰＰ」のうち先頭の「Ｐ」を復号する。
【０１７２】
さらに、キーセグメント生成部２５１は、復号した先頭の「Ｐ」を、キーセグメント［i］における先頭のフレームでありキーフレームである「Ｉ」として、再符号化を行なう。
【０１７３】
ステップＳ３１２では、キーセグメント生成部２５１は、セグメント［i］における第２フレーム以降、終端のＲ枚のフレームを残したフレームについて復号し再符号化して、復号され再符号化されたフレームを、非キーフレームとする。
【０１７４】
例えば、上記の例の場合、キーセグメント生成部２５１は、セグメント［0］〜セグメント［i-1］の復号結果とセグメント［i］における先頭フレーム「Ｐ」の復号結果とを参照して、セグメント［i］の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームのうち、終端の２枚のフレーム以前の「ＰＰＰ」の３枚のフレームを復号する。
【０１７５】
さらに、キーセグメント生成部２５１は、復号された３枚のフレーム「ＰＰＰ」を、キーセグメント［i］の第２フレーム以降であって、終端の２枚のフレームより前の３枚のフレーム「ＰＰＰ」として、再符号化を行なう。
【０１７６】
ここで、再符号化されたフレーム「ＰＰＰ」は、非キーフレームである。
【０１７７】
またここで、キーセグメント生成部２５１は、セグメント［i］の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームのうち、終端の２枚のフレーム以前の「ＰＰＰ」の３枚のフレームを、キーセグメント［i］の第２フレーム以降であって、終端の２枚のフレームより前の３枚のフレーム「ＰＰＰ」としてもよい。
【０１７８】
ステップＳ３１３では、キーセグメント生成部２５１は、セグメント［i］における終端のＲ枚のフレームについて復号し、Ｉ＿ＰＣＭモードで再符号化を行なう（可逆符号化を行なう）。
【０１７９】
ここで、復号されＰＣＭモードで再符号化されたフレームは、可逆符号化にて生成されたフレームであり、キーフレームである。
【０１８０】
例えば、上記の例の場合、キーセグメント生成部２５１は、セグメント［0］〜セグメント［i-1］の復号結果と、セグメント［i］における先頭フレーム「Ｐ」の復号結果と、セグメント［i］の第２フレーム以降における５枚のフレーム「ＰＰＰＰＰ」の復号結果とを参照する。
【０１８１】
さらに、キーセグメント生成部２５１は、復号結果を参照して、セグメント［i］の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームのうち、終端の２枚のフレーム「ＰＰ」を、Ｉ＿ＰＣＭモードで再符号化を行なう（可逆符号化を行なう）。
【０１８２】
キーセグメント生成部２５１は、再符号化された終端の２枚のフレームを、キーセグメント［i］における終端の２枚のフレーム「ＬＬ」として出力する。
【０１８３】
ここで、キーセグメント［i］における終端の２枚のフレーム「ＬＬ」は、可逆符号化されたフレームであり、キーフレームである。
【０１８４】
ステップＳ３０４では、キーセグメント生成部２５１が、ステップＳ３０１〜Ｓ３０３で処理された全てのフレームを連結してキーセグメント［i］を再生成する。そして、キーセグメント［i］のデータを、生成時刻、撮影時刻情報、セグメントシーケンス番号と共にキーセグメントキャッシュ２６に保存する。
【０１８５】
例えば、上記例の場合、Ｓ３０１で処理（符号化）されたキーフレームとした「Ｉ」、Ｓ３０２で処理（符号化）された第２フレーム以降の３枚のフレーム「ＰＰＰ」、Ｓ３０３で処理（符号化）された終端の２枚のフレーム「ＬＬ」を連結して、「ＩＰＰＰＬＬ」としたキーセグメント［i］を生成して、セグメントシーケンス付加情報と共にキーセグメントキャッシュ２６に保存する。
【０１８６】
なお、復号表示部３１によるライブモニタリング用のＰｌａｙｌｉｓｔの要求処理、ダウンロード部２３によるライブモニタリング用のＰｌａｙｌｉｓｔの作成方法、セグメントの配信処理は、基本的には、第１の実施形態と同様であるため、ここでの詳細な説明は省略する。
【０１８７】
［録画キーセグメント生成部２７１による処理］
復号表示部３１による録画再生用のＰｌａｙｌｉｓｔの要求処理、ダウンロード部２３による録画再生用のＰｌａｙｌｉｓｔの作成方法、セグメントの配信処理は、基本的には、第１の実施形態と同様であるため、ここでの詳細な説明は省略する。
【０１８８】
以下では、録画キーセグメント生成部２７１による処理の動作を、図１１及び図１２を参照して説明する。
【０１８９】
図１１は、第２の実施形態に係る録画キーセグメント生成部２７１による録画用のキーセグメントの生成処理を示すフローチャートである。図１２は、第２の実施形態に係る録画キーセグメント生成部２７１による録画用のキーセグメントの生成処理を説明する説明図である。
【０１９０】
図１１において、ステップＳ２０１〜ステップＳ２１２までの処理は、第１の実施形態の図６のステップＳ２０１〜ステップＳ２１２の処理と同じであるため、説明を省略する。
【０１９１】
ステップＳ４０１で、録画キーセグメント生成部２７１は、セグメント［0］〜セグメント［X-1］の復号結果を参照し、セグメント［X］の先頭フレーム「Ｐ」を復号し、これをキーフレームとして符号化する（ステップＳ４０１）。
【０１９２】
例えば、図１０において、録画キーセグメント生成部２７１がセグメント［X］からキーセグメント［X］を生成する場合を例示する。キーセグメント生成部２５１は、セグメント［0］〜セグメント［X-1］を復号し、セグメント［0］〜セグメント［X-1］の復号結果を参照して、セグメント［i］の「ＰＰＰＰＰＰ」のうち先頭の「Ｐ」を復号する（ステップＳ４０１）。
【０１９３】
さらに、録画キーセグメント生成部２７１は、復号した先頭の「Ｐ」を、キーセグメント［X］における先頭のフレームでありキーフレームである「Ｉ」として、再符号化を行なう。
【０１９４】
ステップＳ４０２では、録画キーセグメント生成部２７１は、セグメント［X］における第２フレーム以降、終端のＲ枚のフレームを残したフレームについて復号し再符号化して、復号され再符号化されたフレームを、非キーフレームとする。
【０１９５】
例えば、上記の例の場合、録画キーセグメント生成部２７１は、セグメント［0］〜セグメント［X-1］の復号結果とセグメント［X］における先頭フレーム「Ｐ」の復号結果とを参照して、セグメント［X］の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームのうち、終端の２枚のフレーム以前の「ＰＰＰ」の３枚のフレームを復号する。
【０１９６】
さらに、録画キーセグメント生成部２７１は、復号された３枚のフレーム「ＰＰＰ」を、キーセグメント［X］の第２フレーム以降であって、終端の２枚のフレームより前の３枚のフレーム「ＰＰＰ」として、再符号化を行なう。
【０１９７】
ここで、録画キーセグメント生成部２７１は、セグメント［X］の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームのうち、終端の２枚のフレーム以前の「ＰＰＰ」の３枚のフレームを、キーセグメント［X］の第２フレーム以降であって、終端の２枚のフレームより前の３枚のフレーム「ＰＰＰ」としてもよい。
【０１９８】
ステップＳ４０３では、録画キーセグメント生成部２７１は、セグメント［X］における終端のＲ枚のフレームについて復号し、Ｉ＿ＰＣＭモードで再符号化を行なう（可逆符号化を行なう）。
【０１９９】
ここで、復号されＰＣＭモードで再符号化されたフレームは、可逆符号化にて生成されたフレームであり、キーフレームである。
【０２００】
例えば、上記の例の場合、録画キーセグメント生成部２７１は、セグメント［0］〜セグメント［X-1］の復号結果と、セグメント［X］における先頭フレーム「Ｐ」の復号結果と、セグメント［X］の第２フレーム以降における５枚のフレーム「ＰＰＰＰＰ」の復号結果とを参照する。
【０２０１】
さらに、録画キーセグメント生成部２７１は、復号結果を参照して、セグメント［i］の第２フレーム以降の「ＰＰＰＰＰ」の５枚のフレームのうち、終端の２枚のフレーム「ＰＰ」を、Ｉ＿ＰＣＭモードで再符号化を行なう（可逆符号化を行なう）。
【０２０２】
録画キーセグメント生成部２７１は、再符号化された終端の２枚のフレームを、キーセグメント［Ｘ］における終端の２枚のフレーム「ＬＬ」として出力する。
【０２０３】
ここで、キーセグメント［X］における終端の２枚のフレーム「ＬＬ」は、可逆符号化されたフレームであり、キーフレームである。
【０２０４】
そして、ステップＳ４０４で、録画キーセグメント生成部２７１は、ステップＳ４０１〜Ｓ４０３で処理（符号化）された全てのフレームを連結してキーセグメント［X］を再生成する。そして、キーセグメント［X］のデータを、生成時刻、撮影時刻情報、セグメントシーケンス番号と共にキーセグメントキャッシュ２６に保存する。こうして作成したキーセグメント映像データを、撮影時刻情報、セグメントシーケンス番号とともに、キーセグメントキャッシュ２６へ転送する。
【０２０５】
例えば、上記例の場合、Ｓ４０１で処理（符号化）されたキーフレームとした「Ｉ」、Ｓ４０２で処理（符号化）された第２フレーム以降の３枚のフレーム「ＰＰＰ」、Ｓ４０３で処理（符号化）された終端の２枚のフレーム「ＬＬ」を連結して、「ＩＰＰＰＬＬ」としたキーセグメント［X］を生成して、セグメントシーケンス付加情報と共にキーセグメントキャッシュ２６に保存する。
【０２０６】
（Ｂ−３）第２の実施形態の効果
以上のように、第２の実施形態によれば、映像エンコーダはカメラからの映像を直接符号化するため、第１の実施形態よりも機器構成が簡単になり、再符号化を行うことによる映像品質の劣化を回避することができる。
【０２０７】
また、第２の実施形態によれば、キーセグメント生成部及び録画キーセグメント生成部は、第１の実施形態よりも、可逆符号化対象のフレーム数が少ないために、キーセグメントのデータ量を低減することができるので、キーセグメントキャッシュに必要なメモリ量を減らすことができる。
【０２０８】
（Ｃ）他の実施形態
上述した第１及び第２の実施形態においても種々の変形実施形態を言及したが、本発明は、以下の変形実施形態にも適用できる。
【０２０９】
（Ｃ−１）第１の実施形態では、ＩＰカメラ５が、Ｈ．２６４符号化を行う場合を例示したが、Ｍｏｔｉｏｎ−ＪＰＥＧ等のより広く使われている方式を用いることができる。その場合、符号化部１２は、ＩＰカメラ５に設定した映像ビットレートや画質指定値を参考に、概ね同程度の画質になるような条件にＨ．２６４で符号化を行う。
【０２１０】
（Ｃ−２）第１及び第２の実施形態では、１台のネットワークビデオレコーダに対して、ＩＰカメラ、映像ゲートウェイ、監視モニタを１台ずつ接続する例を示したが、それぞれ複数台数接続して、個別に制御することも可能である。
【０２１１】
また、監視モニタはＨＬＳストリーミング再生をサポートするブラウザ等の汎用的なソフトを利用してもよく、１台の監視端末で複数のカメラ映像をモニタすることも可能である。
【０２１２】
（Ｃ−３）第１及び第２の実施形態では、録画再生においては、ネットワークビデオレコーダから直接ストリーミング再生するのではなく、一旦監視モニタのローカルストレージにＭＰＥＧ−ＴＳファイルとしてダウンロードしてから再生することも可能であり、ダウンロード処理の際に録画キーセグメントを周期的に挿入することで、シーク操作が可能な通常の録画ファイルとして利用することができるようになる。
【０２１３】
（Ｃ−４）第１及び第２の実施形態では、符号化部でＨ．２６４符号化方式を使用したが、ロスレスモードをサポートする他の符号化方式、例えばＨ．２６５やＶＰ９を使用しても同じ効果を得られる。すなわち、量子化誤差がなく、かつ、ロスレスモードをサポートする符号化形式であれば、様々な符号化方式を適用できる。
【０２１４】
（Ｃ−５）第１及び第２の実施形態では、セグメント分割対象としてＭＰＥＧ−ＴＳで多重化してＨＬＳ方式でストリーミング配信するシステムとしたが、類似の方式として、ＭＰ４で多重化してＭＰＥＧ−ＤＡＳＨ方式でストリーミング配信するシステムとしても同じ効果を得られる。
【０２１５】
（Ｃ−６）第２の実施形態では、非キーフレームの前方参照フレームの上限値を設定する場合を例示したが、第１の実施形態でも、非キーフレームの前方参照フレームの上限値を設定した符号化処理を行なうようにしてもよい。
【０２１６】
（Ｃ−７）上述した第１及び第２の実施形態で説明したキーセグメント生成部２５及び２５１は、ライブモニタリングの要求があったとき、又は、録画再生の要求があった場合に必要なときにキーセグメントを生成する場合を例示した。
【０２１７】
しかし、キーセグメント生成部２５及び２５１は、所定時間毎（例えば、１０分間隔等）に、キーセグメントを生成するようにしてもよい。つまり、所定時間毎に、現時刻よりも過去であって、直近のキーフレームを含むセグメントをセグメント蓄積装置２４から取得して、その全てのセグメントの全フレームを復号してこれらを連結して、所定間隔毎にキーセグメントキャッシュに保存しておくようにしてもよい。これにより、監視モニタから、過去の録画再生の要求があった場合に、キーセグメントキャッシュにキャッシュされているキーセグメントを検索しやすくなる。また、キーセグメントの生成にはある程度の時間がかかってしまうおそれがあるが、上記のように、予めキーセグメントを生成してキャッシュしておくことで、キーセグメントが検索されやすくなり、監視モニタでの映像再生までの時間を短縮することができる。
【符号の説明】
【０２１８】
１及び１Ａ…監視システム、５…ＩＰカメラ、９１…カメラ、１０…映像ゲートウェイ、１１…復号部、１２及び９２…符号化部、１３…送信部、９０…映像エンコーダ、２０…ネットワークビデオレコーダ、２１…HTTPServer部、２２…アップロード部、２３…ダウンロード部、２４…セグメント蓄積装置、２５…キーセグメント生成部２５…キーセグメントキャッシュ、２７…録画キーセグメント生成部、３０…監視モニタ、３１…復号表示部。
【図１】
2019149699.tif 000003
【図２】
2019149699.tif 000004
【図３】
2019149699.tif 000005
【図４】
2019149699.tif 000006
【図５】
2019149699.tif 000007
【図６】
2019149699.tif 000008
【図７】
2019149699.tif 000009
【図８】
2019149699.tif 000010
【図９】
2019149699.tif 000011
【図１０】
2019149699.tif 000012
【図１１】
2019149699.tif 000013
【図１２】
2019149699.tif 000014