(57)【要約】  受信部（３０１）は、タイムスタンプが設定されている複数のＩフレームデータと複数のＰフレームデータとを受信する。時刻取得部（３０２）は、各Ｉフレームデータの受信時刻を取得する。映像記憶部（３０３）は、複数のＩフレームデータと複数のＰフレームデータとを記憶する。時刻計算部（３０４）は、Ｉフレームデータの映像記憶部（３０３）からの読出し時刻を読出し対象のＩフレームデータの受信時刻と読出し対象のＩフレームデータに先行するＩフレームデータである先行Ｉフレームデータの受信時刻と先行Ｉフレームデータの読出し時刻とに基づき計算し、Ｐフレームデータの映像記憶部（３０３）からの読出し時刻を読出し対象のＰフレームデータのタイムスタンプに基づき計算する。データ読出し部（３０５）は、読出し対象のＩフレームデータと読出し対象のＰフレームデータとを時刻計算部（３０４）により計算された時刻に読み出す。
2016139808.tif 000002
【特許請求の範囲】
【請求項１】
それぞれにタイムスタンプが設定されている複数のＩ（Ｉｎｔｒａ−ｃｏｄｅｄ）フレームデータと複数のＰ（Ｐｒｅｄｉｃｔｅｄ）フレームデータとを受信する受信部と、
前記受信部による各Ｉフレームデータの受信時刻を取得する時刻取得部と、
前記受信部により受信された前記複数のＩフレームデータと前記複数のＰフレームデータとを記憶する映像記憶部と、
Ｉフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータに先行するＩフレームデータである先行Ｉフレームデータの受信時刻と前記先行Ｉフレームデータの読出し時刻とに基づき計算し、Ｐフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＰフレームデータのタイムスタンプに基づき計算する時刻計算部と、
前記読出し対象のＩフレームデータと前記読出し対象のＰフレームデータとをそれぞれ前記時刻計算部により計算された時刻に前記映像記憶部から読み出すデータ読出し部とを有するデータ処理装置。
【請求項２】
前記受信部は、
それぞれにタイムスタンプが設定されている複数のＩフレームデータと複数のＰフレームデータと複数のＢ（Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  Ｐｒｅｄｉｃｔｅｄ）フレームデータとを受信し、
前記映像記憶部は、
前記受信部により受信された前記複数のＩフレームデータと前記複数のＰフレームデータと前記複数のＢフレームデータとを記憶し、
前記時刻計算部は、
Ｂフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＢフレームデータのタイムスタンプに基づき計算し、
前記データ読出し部は、
前記読出し対象のＩフレームデータと前記読出し対象のＰフレームデータと前記読出し対象のＢフレームデータとをそれぞれ前記時刻計算部により計算された時刻に前記映像記憶部から読み出す請求項１に記載のデータ処理装置。
【請求項３】
前記受信部は、
それぞれにタイムスタンプが設定されている複数のＩフレームデータと複数のＰフレームデータと複数のＢ（Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  Ｐｒｅｄｉｃｔｅｄ）フレームデータとを受信し、
前記時刻取得部は、
前記受信部による各Ｉフレームデータの受信時刻と各Ｂフレームデータの受信時刻とを取得し、
前記映像記憶部は、
前記受信部により受信された前記複数のＩフレームデータと前記複数のＰフレームデータと前記複数のＢフレームデータとを記憶し、
前記時刻計算部は、
Ｉフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータに先行するＩフレームデータ又はＰフレームデータである先行Ｉ／Ｐフレームデータの受信時刻と前記先行Ｉ／Ｐフレームデータの読出し時刻とに基づき計算し、
Ｂフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＢフレームデータのタイムスタンプに基づき計算し、
Ｐフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＰフレームデータの受信時刻と前記読出し対象のＰフレームデータに先行するＩフレームデータ又はＰフレームデータである先行Ｉ／Ｐフレームデータの受信時刻と前記先行Ｉ／Ｐフレームデータの読出し時刻とに基づき計算し、
前記データ読出し部は、
前記読出し対象のＩフレームデータと前記読出し対象のＰフレームデータと前記読出し対象のＢフレームデータとをそれぞれ前記時刻計算部により計算された時刻に前記映像記憶部から読み出す請求項１に記載のデータ処理装置。
【請求項４】
前記時刻取得部は、
前記受信部が各Ｉフレームデータの受信を開始した時刻を各Ｉフレームデータの受信時刻として取得する請求項１に記載のデータ処理装置。
【請求項５】
前記時刻取得部は、
前記受信部が各Ｉフレームデータの受信を開始した時刻を各Ｉフレームデータの受信時刻として取得し、
前記受信部が各Ｐフレームデータの受信を開始した時刻を各Ｐフレームデータの受信時刻として取得する請求項３に記載のデータ処理装置。
【請求項６】
前記時刻計算部は、
前記読出し対象のＩフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータの直前のＩフレームデータである直前Ｉフレームデータの受信時刻との差分と、前記直前Ｉフレームデータの読出し時刻とに基づき計算する請求項１に記載のデータ処理装置。
【請求項７】
前記時刻計算部は、
前記読出し対象のＩフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータの直前のＩフレームデータである直前Ｉフレームデータの受信時刻との差分と、前記直前Ｉフレームデータに先行する複数のＩフレームデータの間の受信時刻の差分と、前記直前Ｉフレームデータの読出し時刻とに基づき計算する請求項１に記載のデータ処理装置。
【請求項８】
前記時刻計算部は、
前記読出し対象のＰフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＰフレームデータのタイムスタンプと前記読出し対象のＰフレームデータの直前のフレームデータである直前フレームデータのタイムスタンプとの差分と、前記直前フレームデータの読出し時刻とに基づき計算する請求項１に記載のデータ処理装置。
【請求項９】
前記時刻計算部は、
前記読出し対象のＢフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＢフレームデータのタイムスタンプと前記読出し対象のＢフレームデータの直前のフレームデータである直前フレームデータのタイムスタンプとの差分と、前記直前フレームデータの読出し時刻とに基づき計算する請求項２に記載のデータ処理装置。
【請求項１０】
前記時刻計算部は、
前記読出し対象のＩフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータの直前のＩフレームデータ又はＰフレームデータである直前Ｉ／Ｐフレームデータの受信時刻との差分と、前記直前Ｉ／Ｐフレームデータの読出し時刻とに基づき計算し、
前記読出し対象のＰフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＰフレームデータの受信時刻と前記読出し対象のＰフレームデータの直前のＩフレームデータ又はＰフレームデータである直前Ｉ／Ｐフレームデータの受信時刻との差分と、前記直前Ｉ／Ｐフレームデータの読出し時刻とに基づき計算する請求項３に記載のデータ処理装置。
【請求項１１】
前記時刻計算部は、
前記読出し対象のＩフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータの直前のＩフレームデータ又はＰフレームデータである直前Ｉ／Ｐフレームデータの受信時刻との差分と、前記直前Ｉ／Ｐフレームデータに先行する複数のＩフレームデータの間の受信時刻の差分、前記直前Ｉ／Ｐフレームデータに先行する複数のＰフレームデータの間の受信時刻の差分及び前記直前Ｉ／Ｐフレームデータに先行するＩフレームデータとＰフレームデータとの間の受信時刻の差分のうちのいずれかと、前記直前Ｉ／Ｐフレームデータの読出し時刻とに基づき計算し、
前記読出し対象のＰフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＰフレームデータの受信時刻と前記読出し対象のＰフレームデータの直前のＩフレームデータ又はＰフレームデータである直前Ｉ／Ｐフレームデータの受信時刻との差分と、前記直前Ｉ／Ｐフレームデータに先行する複数のＩフレームデータの間の受信時刻の差分、前記直前Ｉ／Ｐフレームデータに先行する複数のＰフレームデータの間の受信時刻の差分及び前記直前Ｉ／Ｐフレームデータに先行するＩフレームデータとＰフレームデータとの間の受信時刻の差分のうちのいずれかと、前記直前Ｉ／Ｐフレームデータの読出し時刻とに基づき計算する請求項３に記載のデータ処理装置。
【請求項１２】
前記時刻計算部は、
前記読出し対象のＢフレームデータの前記映像記憶部からの読出し時刻を、前記読出し対象のＢフレームデータのタイムスタンプと前記読出し対象のＢフレームデータの直前のフレームデータである直前フレームデータのタイムスタンプとの差分と、前記直前フレームデータの読出し時刻とに基づき計算する請求項３に記載のデータ処理装置。
【請求項１３】
コンピュータが、それぞれにタイムスタンプが設定されている複数のＩ（Ｉｎｔｒａ−ｃｏｄｅｄ）フレームデータと複数のＰ（Ｐｒｅｄｉｃｔｅｄ）フレームデータとを受信し、
前記コンピュータが、各Ｉフレームデータの受信時刻を取得し、
前記コンピュータが、受信された前記複数のＩフレームデータと前記複数のＰフレームデータとを記憶領域に格納し、
前記コンピュータが、Ｉフレームデータの前記記憶領域からの読出し時刻を読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータに先行するＩフレームデータである先行Ｉフレームデータの受信時刻と前記先行Ｉフレームデータの読出し時刻とに基づき計算し、Ｐフレームデータの前記記憶領域からの読出し時刻を読出し対象のＰフレームデータのタイムスタンプに基づき計算し、
前記コンピュータが、前記読出し対象のＩフレームデータと前記読出し対象のＰフレームデータとをそれぞれ計算された時刻に前記記憶領域から読み出すデータ処理方法。
【請求項１４】
それぞれにタイムスタンプが設定されている複数のＩ（Ｉｎｔｒａ−ｃｏｄｅｄ）フレームデータと複数のＰ（Ｐｒｅｄｉｃｔｅｄ）フレームデータとを受信する受信処理と、
前記受信処理による各Ｉフレームデータの受信時刻を取得する時刻取得処理と、
前記受信処理により受信された前記複数のＩフレームデータと前記複数のＰフレームデータとを記憶領域に格納する映像記憶処理と、
Ｉフレームデータの前記記憶領域からの読出し時刻を読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータに先行するＩフレームデータである先行Ｉフレームデータの受信時刻と前記先行Ｉフレームデータの読出し時刻とに基づき計算し、Ｐフレームデータの前記記憶領域からの読出し時刻を読出し対象のＰフレームデータのタイムスタンプに基づき計算する時刻計算処理と、
前記読出し対象のＩフレームデータと前記読出し対象のＰフレームデータとをそれぞれ前記時刻計算処理により計算された時刻に前記記憶領域から読み出すデータ読出し処理とをコンピュータに実行させるデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データの読出し時刻を制御する技術に関する。
【背景技術】
【０００２】
監視カメラが、ＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）３５５０で定義されるＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）プロトコルを用いて映像データをレコーダに送信する場合を想定する。
この場合に、レコーダでは、ＲＴＣＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）パケットのＳＲ（Ｓｅｎｄｅｒ  Ｒｅｐｏｒｔ）を用いて、ＲＴＰヘッダに含まれるタイムスタンプと、監視カメラが持つＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）タイムスタンプとを同期させることが行われる。【０００３】
上記の方式で映像データを送信する監視カメラが時刻バックアップ用の電池を持たない場合は、監視カメラは電源断時に正しい時刻を保持することができない。
このため、監視カメラは電源断があった場合には、電源投入後にＮＴＰプロトコルなどを用いて外部から時刻を取得することとなる。
しかしながら、監視カメラが時刻を取得できるまでに所定の時間を要する。
監視カメラが外部から時刻を取得できるまでの間も監視カメラが撮像を行い、撮像された映像データをレコーダに送信する場合は、時刻を取得するまでの間、ＲＴＣＰのＳＲによってＲＴＰタイムスタンプに対応付けられるＮＴＰタイムスタンプは誤った値となる。
このため、レコーダは、誤ったＮＴＰタイムスタンプで映像データを記録することになり、映像データを再配信する際などに誤ったタイミングで映像データを再配信することとなる。【０００４】
この問題を回避するためには、ＲＴＣＰを用いずに、レコーダで各フレームの映像データの受信時刻を記録しておき、記録した受信時刻を映像データを再配信する際のタイミング情報として用いることも考えられる。
しかし、Ｈ．２６４のような予測符号化方式ではＩ（Ｉｎｔｒａ−ｃｏｄｅｄ）フレームデータのサイズが他の種類のフレームデータのサイズより大きい。
このため、監視カメラとレコーダ間の帯域などの要因により、Ｉフレームデータの送信は他の種類のフレームデータの送信よりも時間がかる。
この結果、Ｉフレームデータの直前のフレームデータとＩフレームデータとの間の受信間隔及びＩフレームデータとＩフレームデータの直後のフレームデータとの間の受信間隔が撮像時のフレーム間隔よりも長くなり、Ｉフレームデータ及びＩフレームデータに後続するフレームデータにずれが生じる場合がある。
このずれは、Ｉフレームデータの受信ごとに加算されていく。
そして、フレームデータの受信時刻に従って例えば再配信のためにフレームデータを読み出すと、Ｉフレームデータの度に、読出しタイミングが撮像タイミングとずれていく。【０００５】
特許文献１には、ＲＴＰによりＭＰＥＧ２−ＴＳ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）のような厳密なクロック同期を行う必要があるデータを送信する場合に、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）を用いてクロック再生する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２３９３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように、レコーダでのフレームデータの受信時刻に従ってフレームデータを読み出す方式では、Ｉフレームデータのサイズが他の種類のフレームデータのサイズより大きい場合に、Ｉフレームデータの度に、読出しタイミングが撮像タイミングとずれていくという課題がある。
また、特許文献１の技術では、ＰＬＬという特別なハードウェアが必要である。【０００８】
この発明は、上記のような課題を解決することを主な目的としており、Ｉフレームデータのサイズが他の種類のフレームデータのサイズより大きい場合でも、特別なハードウェアを用いることなく、各フレームのフレームデータの読出し時刻を撮像時刻に同期させることを主な目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデータ処理装置は、
それぞれにタイムスタンプが設定されている複数のＩ（Ｉｎｔｒａ−ｃｏｄｅｄ）フレームデータと複数のＰ（Ｐｒｅｄｉｃｔｅｄ）フレームデータとを受信する受信部と、
前記受信部による各Ｉフレームデータの受信時刻を取得する時刻取得部と、
前記受信部により受信された前記複数のＩフレームデータと前記複数のＰフレームデータとを記憶する映像記憶部と、
Ｉフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＩフレームデータの受信時刻と前記読出し対象のＩフレームデータに先行するＩフレームデータである先行Ｉフレームデータの受信時刻と前記先行Ｉフレームデータの読出し時刻とに基づき計算し、Ｐフレームデータの前記映像記憶部からの読出し時刻を読出し対象のＰフレームデータのタイムスタンプに基づき計算する時刻計算部と、
前記読出し対象のＩフレームデータと前記読出し対象のＰフレームデータとをそれぞれ前記時刻計算部により計算された時刻に前記映像記憶部から読み出すデータ読出し部とを有する。
【発明の効果】
【００１０】
本発明では、Ｉフレームデータの読出し時刻を、読出し対象のＩフレームデータの受信時刻と先行Ｉフレームデータの受信時刻と先行Ｉフレームデータの読出し時刻とに基づいて計算するため、Ｉフレームデータの受信時刻におけるずれを調整することができる。
このため、本発明によれば、Ｉフレームデータのサイズが他の種類のフレームデータのサイズより大きい場合でも、特別なハードウェアを用いることなく、各フレームのフレームデータの読出し時刻を撮像時刻に同期させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係るデータ処理装置の動作例を示すフローチャート図。
【図３】実施の形態１に係るデータ処理装置の動作例を示すフローチャート図。
【図４】実施の形態１に係る受信時刻と読出し時刻の例を示す図。
【図５】実施の形態１に係るデータ処理装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るシステム構成例を示す。
【００１３】
図１において、監視カメラ１は撮像対象物（例えば、監視対象エリア）を撮像し、撮像対象物の映像データを送信する。
ネットワーク２は、映像データの送信に用いられるネットワークであり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｗｔｏｒｋ）、インターネットなどである。
データ処理装置３は、監視カメラ１からの映像データを受信し、受信した映像データを記録する。
データ処理装置３は、例えば監視レコーダである。
なお、図１では、１つの監視カメラ１のみを示しているが、監視カメラ１は複数あってもよい。
【００１４】
監視カメラ１からの撮像映像データには、複数のＩ（Ｉｎｔｒａ−ｃｏｄｅｄ）フレームデータと複数のＢ（Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  Ｐｒｅｄｉｃｔｅｄ）フレームデータと複数のＰ（Ｐｒｅｄｉｃｔｅｄ）フレームデータが含まれている。
前述したように、Ｉフレームデータは、Ｂフレームデータ及びＰフレームデータよりもサイズが大きい。
このため、Ｉフレームデータの送信はＢフレームデータ及びＰフレームデータの送信よりも時間がかかる。
また、後述するように、各フレームデータにはタイムスタンプが設定されている。
【００１５】
監視カメラ１において、撮像部１０１は撮像対象物を撮像する。
符号化部１０２は、撮像部１０１が撮像した映像を符号化する。
時刻付与部１０３は、符号化部１０２の符号化により得られたデータ（フレームデータ）にタイムスタンプを付与する。
送信部１０４は、ネットワーク２を介してフレームデータ（複数のＩフレームデータ、複数のＢフレームデータ、複数のＰフレームデータ）をデータ処理装置３に送信する。
【００１６】
データ処理装置３において、受信部３０１は、監視カメラ１から送信されたフレームデータ（複数のＩフレームデータ、複数のＢフレームデータ、複数のＰフレームデータ）を受信する。
【００１７】
時刻取得部３０２は、受信部３０１がＩフレームデータを受信した受信時刻を取得する。
【００１８】
映像記憶部３０３は、受信部３０１により受信された複数のＩフレームデータと複数のＢフレームデータと複数のＰフレームデータとを記憶する記憶領域である。
また、映像記憶部３０３は、時刻取得部３０２により取得されたＩフレームデータの受信時刻も記憶する。
【００１９】
時刻計算部３０４は、後述するデータ読出し部３０５が各フレームデータを映像記憶部３０３から読み出す読出し時刻を計算する。
時刻計算部３０４は、Ｉフレームデータの映像記憶部３０３からの読出し時刻を読出し対象のＩフレームデータの受信時刻と読出し対象のＩフレームデータに先行するＩフレームデータである先行Ｉフレームデータの受信時刻と先行Ｉフレームデータの読出し時刻とに基づき計算する。
例えば、時刻計算部３０４は、Ｉフレームデータの映像記憶部３０３からの読出し時刻を、読出し対象のＩフレームデータの受信時刻と読出し対象のＩフレームデータの直前のＩフレームデータである直前Ｉフレームデータの受信時刻との差分と、直前Ｉフレームデータの読出し時刻とに基づき計算する。
また、時刻計算部３０４は、Ｂフレームデータの映像記憶部３０３からの読出し時刻を読出し対象のＢフレームデータのタイムスタンプに基づき計算する。
例えば、時刻計算部３０４は、Ｂフレームデータの映像記憶部３０３からの読出し時刻を、読出し対象のＢフレームデータのタイムスタンプと読出し対象のＢフレームデータの直前のフレームデータである直前フレームデータのタイムスタンプとの差分と、直前フレームデータの読出し時刻とに基づき計算する。
また、時刻計算部３０４は、Ｐフレームデータの映像記憶部３０３からの読出し時刻を読出し対象のＰフレームデータのタイムスタンプに基づき計算する。
例えば、時刻計算部３０４は、Ｐフレームデータの映像記憶部３０３からの読出し時刻を、読出し対象のＰフレームデータのタイムスタンプと読出し対象のＰフレームデータの直前のフレームデータである直前フレームデータのタイムスタンプとの差分と、直前フレームデータの読出し時刻とに基づき計算する。
【００２０】
データ読出し部３０５は、読出し対象のＩフレームデータと読出し対象のＢフレームデータと読出し対象のＰフレームデータとをそれぞれ時刻計算部３０４により計算された時刻に映像記憶部３０３から読み出す。
データ読出し部３０５は、読み出した各フレームデータから監視カメラ１で撮像された映像を再生する。
もしくは、データ読出し部３０５は、読み出した各フレームデータを外部装置に再配信する。
【００２１】
＊＊＊動作の説明＊＊＊
次に、本実施の形態の動作例を説明する。
【００２２】
まずは、監視カメラ１の動作例を説明する。
監視カメラ１において、撮像部１０１は撮像対象物を撮像する。
符号化部１０２は、撮像部１０が撮像した映像を符号化する。
送信部１０４が符号化部１０２の符号化により得られたフレームデータをＲＴＰパケットで送信する際に、時刻付与部１０３がタイムスタンプをＲＴＰヘッダに挿入する。
タイムスタンプの周波数を９００００Ｈｚとすると、毎秒３０フレームの映像であれば１フレームにつきタイムスタンプの値が３０００ずつ増加する。
送信部１０４は、タイムスタンプがＲＴＰヘッダに設定されたＲＴＰパケットをネットワーク２を介してデータ処理装置３に送信する。
【００２３】
次に、図２及び図３を参照して、データ処理装置３の動作例を説明する。
図２は、データ処理装置３の受信処理、時刻取得処理及び映像記憶処理を示す。
図３は、データ処理装置３の時刻計算処理及びデータ読出し処理を示す。
図２及び図３に示す手順は、データ処理方法及びデータ処理プログラムの処理手順に相当する。
【００２４】
図２において、データ処理装置３の受信部３０１は、監視カメラ１の送信部１０４から送信されたＲＴＰパケットを受信する（Ｓ１０１）（受信処理）。
前述のように、ＲＴＰパケットには、フレームデータとタイムスタンプが含まれる。
【００２５】
次に、時刻取得部３０２は、受信部３０１がＩフレームデータを受信した受信時刻を取得する（Ｓ１０２）（時刻取得処理）。
１つのＩフレームデータが複数のＲＴＰパケットに分割されて送信される場合は、時刻取得部３０２は、複数のＲＴＰパケットのうちの先頭のＲＴＰパケットの受信時刻を取得する。
つまり、時刻取得部３０２は、受信部３０１が各Ｉフレームデータの受信を開始した時刻を各Ｉフレームデータの受信時刻として取得する。
ここでは、時刻取得部３０２はＩフレームデータの受信時刻のみを取得するが、時刻取得部３０２はＢフレームデータの受信時刻及びＰフレームデータの受信時刻を取得してもよい。
【００２６】
映像記憶部３０３は、受信部３０１により受信された各フレームデータとタイムスタンプとを記憶する（Ｓ１０３）（映像記憶処理）。
また、映像記憶部３０３は、Ｉフレームデータに対応付けて、時刻取得部３０２により取得された受信時刻を記憶する。
【００２７】
ＲＴＰパケットの受信後又はＲＴＰパケットの受信と並行してデータ処理装置３のユーザからフレームデータの読出しが指示された場合（図３のＳ２０１でＹＥＳ）に、時刻計算部３０４は、読出し対象のフレームデータの読出し時刻を計算する（Ｓ２０２）（時刻計算処理）。
読出し時刻の計算方法の詳細は後述するが、前述のように、Ｉフレームデータの読出し時刻の計算方法と、Ｂフレームデータの読出し時刻の計算方法及びＰフレームデータの読出し時刻の計算方法とは異なる。
【００２８】
データ読出し部３０５は、読出し対象のＩフレームデータと読出し対象のＢフレームデータと読出し対象のＰフレームデータとをそれぞれ時刻計算部３０４により計算された時刻に映像記憶部３０３から読み出す（Ｓ２０３）（データ読出し処理）。
なお、図３では、Ｓ２０２の後にＳ２０３が実施されるようになっているが、Ｓ２０２とＳ２０３とが並行して実施されてもよい。
【００２９】
次に、図４を参照して、Ｓ２０２の読出し時刻の計算方法の詳細を説明する。
【００３０】
図４では、左から右に時刻が進む様子を表している。
なお、図４の（ａ）が受信時刻を表し、図４の（ｂ）が読出し時刻を表している。
時刻Ｔｒ０から時刻Ｔｒ６は、０番目から６番目のフレームデータを受信した時刻を示している。
０番目のフレームデータと５番目のフレームデータはＩフレームデータである。
１番目のフレームデータから４番目のフレームデータ及び６番目のフレームデータはＰフレームデータまたはＢフレームデータである。
時刻Ｔｓ０から時刻Ｔｓ６は、０番目から６番目のフレームデータの読出し時刻を示している。
また、値Δｔｓは一定値であり、前後のフレームデータでのタイムスタンプの差分値３０００に等しく、これは１／３０秒に等しい。
【００３１】
データ処理装置３のユーザにより０番目のフレームデータからの読出しが指示された場合を想定する。
時刻Ｔｓ０は、ユーザからフレームデータの読出しが指示された時刻である。
読出し時刻計算部３０４は、時刻Ｔｓ０を０番目のフレームデータの読出し時刻に指定し、データ読出し部３０５は時刻Ｔｓ０にて０番目のフレームデータを映像記憶部３０３から読み出す。
【００３２】
時刻計算部３０４は、１番目のフレームデータの読出し時刻Ｔｓ１を、Ｔｓ１＝Ｔｓ０＋Δｔｓにより計算する。
つまり、時刻計算部３０４は、受信時刻Ｔｒ１を参照せずに、直前フレームデータである０番目のフレームデータの読出し時刻Ｔｓ０にタイムスタンプの差分Δｔｓを加算して読出し時刻Ｔｓ１を算出する。
同様に、時刻計算部３０４は、２番目のフレームデータの読出し時刻Ｔｓ２、３番目のフレームデータの読出し時刻Ｔｓ３、４番目のフレームデータの読出し時刻Ｔｓ４を以下にて算出する。
Ｔｓ２＝Ｔｓ１＋Δｔｓ
Ｔｓ３＝Ｔｓ２＋Δｔｓ
Ｔｓ４＝Ｔｓ３＋Δｔｓ
【００３３】
次に、５番目のフレームデータはＩフレームデータであるため、時刻計算部３０４は、５番目のフレームの読出し時刻Ｔｓ５を、Ｔｓ５＝Ｔｓ０＋Ｔｒ５−Ｔｒ０により計算する。
つまり、時刻計算部３０４は、読出し時刻Ｔｓ４を参照せずに、５番目のフレームデータの直前のＩフレームデータである０番目のフレームデータの受信時刻Ｔｒ０と５番目のフレームデータの受信時刻Ｔｒ０との差分を、読出し時刻Ｔｓ０に加算して読出し時刻Ｔｓ５を算出する。
【００３４】
次に、時刻計算部３０４は、６番目のフレームデータの送信時刻Ｔｓ６を、Ｔｓ６＝Ｔｓ５＋Δｔｓにより計算する。
つまり、時刻計算部３０４は、受信時刻Ｔｒ６を参照せずに、直前フレームデータである５番目のフレームデータの読出し時刻Ｔｓ５にタイムスタンプの差分Δｔｓを加算して読出し時刻Ｔｓ６を算出する。
【００３５】
図４には図示していないが、７番目から９番目のフレームデータがＢフレームデータまたはＰフレームデータであり、１０番目のフレームデータがＩフレームデータである場合は、時刻計算部３０４は、１０番目のフレームの読出し時刻Ｔｓ１０を、Ｔｓ１０＝Ｔｓ５＋Ｔｒ１０−Ｔｒ５により計算する。
つまり、時刻計算部３０４は、９番目の読出し時刻Ｔｓ９を参照せずに、１０番目のフレームデータの直前のＩフレームデータである５番目のフレームデータの受信時刻Ｔｒ５と１０番目のフレームデータの受信時刻Ｔｒ１０との差分を、読出し時刻Ｔｓ５に加算して読出し時刻Ｔｓ１０を算出する。
なお、７番目から９番目のフレームデータの読出し時刻の計算方法は、１番目から４番目のフレームデータの読出し時刻の計算方法と同じである。
【００３６】
以上では、時刻計算部３０４は、Ｉフレームデータの読出し時刻を、直前のＩフレームデータの読出し時刻を基準にして計算している。
しかし、時刻計算部３０４は、読出し対象のＩフレームデータに先行するＩフレームデータであれば、直前のＩフレームデータではないＩフレームデータの読出し時刻を基準にして読出し対象のＩフレームデータの読出し時刻を計算してもよい。
例えば、０番目のフレームデータから５フレーム前のＩフレームデータの読出し時刻が計算済みであれば、時刻計算部３０４は、０番目のフレームデータから５フレーム前のＩフレームデータの読出し時刻を基準にして５番目のフレームデータの読出し時刻Ｔｓ５を計算してもよい。
ここでは、０番目のフレームデータから５フレーム前のＩフレームデータの受信時刻をＴｒｍ５、０番目のフレームデータから５フレーム前のＩフレームデータの読出し時刻をＴｓｍ５とする。
この場合に、５番目のフレームデータの読出し時刻Ｔｓ５を、Ｔｓ５＝Ｔｓｍ５＋Ｔｒｍ５−Ｔｒ５により計算してもよい。
【００３７】
また、以上では、時刻計算部３０４は、読出し時刻Ｔｓ５を、Ｔｓ５＝Ｔｓ０＋Ｔｒ５−Ｔｒ０により計算したが、その結果としてＴｓ５−Ｔｓ４がΔｔｓから大きく異なる値を取る場合がある。
このような場合に、過去のＩフレームデータの受信間隔も用いてＩフレームデータの読出し時刻を補正してもよい。
例えば、０番目のフレームデータから５フレーム前のＩフレームデータの受信時刻をＴｒｍ５、０番目のフレームデータから１０フレーム前のＩフレームデータの受信時刻をＴｒｍ１０とする。
時刻計算部３０４は、例えば、Ｔｓ５＝Ｔｓ０＋（Ｔｒ５−Ｔｒ０）×０．５＋（Ｔｒ０−Ｔｒｍ５）×０．３＋（Ｔｒｍ５−Ｔｒｍ１０）×０．２により読出し時刻Ｔｓ５を計算してもよい。
このように、時刻計算部３０４は、Ｉフレームデータの映像記憶部３０３からの読出し時刻を、読出し対象のＩフレームデータの受信時刻と読出し対象のＩフレームデータの直前のＩフレームデータである直前Ｉフレームデータの受信時刻との差分と、直前Ｉフレームデータに先行する複数のＩフレームデータの間の受信時刻の差分と、直前Ｉフレームデータの読出し時刻とに基づき計算するようにしてもよい。
【００３８】
また、時刻計算部３０４は、上式で用いたパラメータ（０．５、０．３、０．２）を変更してもよいし、上式とは異なる計算式で読出し時刻Ｔｓ５を計算してもよい。
【００３９】
また、以上では、データ処理装置３は、ＩフレームデータとＢフレームデータとＰフレームデータを監視カメラ１から受信することとしたが、本実施の形態は、データ処理装置３は、ＩフレームデータとＢフレームデータのみを監視カメラ１から受信する場合にも適用可能である。
【００４０】
＊＊＊効果の説明＊＊＊
本実施の形態によれば、データ処理装置３は、監視カメラ１が西暦年月日を含む絶対時刻を保持していなくても、各フレームのフレームデータを撮像タイミングと同期して読み出すことができる。
また、監視カメラ１に搭載された図示しない時刻クロック源とデータ処理装置３に搭載された図示しない時刻クロック源の速度に差がある場合でも、破綻無く映像データの再生又は映像データの再配信を行うことができる。
【００４１】
実施の形態２．
実施の形態１では、Ｐフレームデータの読出し時刻の計算方法は、Ｂフレームデータの読出し時刻の計算方法と同じである。
本実施の形態では、Ｐフレームデータの読み出し時刻を実施の形態１で示したＩフレームデータの読出し時刻の計算方法に従って計算する。
【００４２】
本実施の形態においても、システム構成例は図１に示す通りである。
また、データ処理装置３の動作も図２及び図３に示す通りである。
但し、本実施の形態では、時刻取得部３０２は、図２のＳ１０２において、受信部３０１がＩフレームデータを受信した受信時刻を取得し、また、受信部３０１がＰフレームデータを受信した受信時刻を取得する。
１つのＰフレームデータが複数のＲＴＰパケットに分割されて送信される場合は、時刻取得部３０２は、複数のＲＴＰパケットのうちの先頭のＲＴＰパケットの受信時刻を取得する。
つまり、時刻取得部３０２は、受信部３０１が各Ｐフレームデータの受信を開始した時刻を各Ｐフレームデータの受信時刻として取得する。
また、映像記憶部３０３は、図２のＳ１０３において、Ｐフレームデータの受信時刻も記憶する。
更に、時刻計算部３０４は、図３のＳ２０２において、Ｐフレームデータの読み出し時刻を実施の形態１で示したＩフレームデータの読出し時刻の計算方法に従って計算する。
より具体的には、時刻計算部３０４は、Ｐフレームデータの読出し時刻を読出し対象のＰフレームデータの受信時刻と読出し対象のＰフレームデータに先行するＩフレームデータ又はＰフレームデータである先行Ｉ／Ｐフレームデータの受信時刻と先行Ｉ／Ｐフレームデータの読出し時刻とに基づき計算する。
また、実施の形態１では、時刻計算部３０４は、Ｉフレームデータの読出し時刻は、先行するＩフレームデータの読出し時刻に基づいて計算したが、本実施の形態では、時刻計算部３０４は、Ｉフレームデータの読出し時刻を、先行するＰフレームデータの読出し時刻に基づいて計算する場合がある。
以下では、図４を参照して、本実施の形態におけるＩフレームデータの読出し時刻の計算方法及びＰフレームデータの読出し時刻の計算方法を説明する。
【００４３】
本実施の形態では、図４の０番目のフレームデータがＩフレームデータであり、５番目のフレームデータがＰフレームデータである場合を想定する。
また１番目から４番目のフレームデータ、６番目のフレームデータは、すべてＢフレームデータである。
時刻計算部３０４は、０番目から４番目のフレームデータの読出し時刻を、実施の形態１と同様の方法で計算する。
また、時刻計算部３０４は、５番目のフレームデータ（Ｐフレームデータ）の読出し時刻Ｔｓ５を、実施の形態１と同様に、Ｔｓ５＝Ｔｓ０＋Ｔｒ５−Ｔｒ０により計算する。
つまり、時刻計算部３０４は、読出し時刻Ｔｓ４を参照せずに、５番目のフレームデータの直前のＩフレームデータである０番目のフレームデータの受信時刻Ｔｒ０と５番目のフレームデータの受信時刻Ｔｒ０との差分を、読出し時刻Ｔｓ０に加算して読出し時刻Ｔｓ５を算出する。
【００４４】
次に、時刻計算部３０４は、６番目のフレームデータの送信時刻Ｔｓ６を、実施の形態１と同様の方法で計算する。
【００４５】
図４には図示していないが、７番目から９番目のフレームデータがＢフレームデータまたはＰフレームデータであり、１０番目のフレームデータがＩフレームデータである場合は、時刻計算部３０４は、１０番目のフレームの読出し時刻Ｔｓ１０を、Ｔｓ１０＝Ｔｓ５＋Ｔｒ１０−Ｔｒ５により計算する。
つまり、時刻計算部３０４は、９番目の読出し時刻Ｔｓ９を参照せずに、１０番目のフレームデータの直前のＰフレームデータである５番目のフレームデータの受信時刻Ｔｒ５と１０番目のフレームデータの受信時刻Ｔｒ１０との差分を、読出し時刻Ｔｓ５に加算して読出し時刻Ｔｓ１０を算出する。
なお、７番目から９番目のフレームデータの読出し時刻の計算方法は、実施の形態１と同じである。
【００４６】
以上では、時刻計算部３０４は、Ｉフレームデータ（又はＰフレームデータ）の読出し時刻を、直前のＩフレームデータ（又はＰフレームデータ）の読出し時刻を基準にして計算している。
しかし、時刻計算部３０４は、読出し対象のＩフレームデータ（又はＰフレームデータ）に先行するＩフレームデータ（又はＰフレームデータ）であれば、直前のＩフレームデータ（又はＰフレームデータ）ではないＩフレームデータ（又はＰフレームデータ）の読出し時刻を基準にして読出し対象のＩフレームデータ（又はＰフレームデータ）の読出し時刻を計算してもよい。
例えば、０番目のフレームデータから５フレーム前のＩフレームデータ（又はＰフレームデータ）の読出し時刻が計算済みであれば、時刻計算部３０４は、０番目のフレームデータから５フレーム前のＩフレームデータ（又はＰフレームデータ）の読出し時刻を基準にして５番目のフレームデータの読出し時刻Ｔｓ５を計算してもよい。
ここでは、０番目のフレームデータから５フレーム前のＩフレームデータ（又はＰフレームデータ）の受信時刻をＴｒｍ５、０番目のフレームデータから５フレーム前のＩフレームデータ（又はＰフレームデータ）の読出し時刻をＴｓｍ５とする。
この場合に、５番目のフレームデータの読出し時刻Ｔｓ５を、Ｔｓ５＝Ｔｓｍ５＋Ｔｒｍ５−Ｔｒ５により計算してもよい。
【００４７】
また、時刻計算部３０４は、実施の形態１に示した別の計算方法により、Ｉフレームデータ（又はＰフレームデータ）の読出し時刻を計算してもよい。
本実施の形態では、０番目のフレームデータから５フレーム前のＰフレームデータの受信時刻をＴｒｍ５、０番目のフレームデータから１０フレーム前のＩフレームデータの受信時刻をＴｒｍ１０とする。
時刻計算部３０４は、例えば、Ｔｓ５＝Ｔｓ０＋（Ｔｒ５−Ｔｒ０）×０．５＋（Ｔｒ０−Ｔｒｍ５）×０．３＋（Ｔｒｍ５−Ｔｒｍ１０）×０．２により、５番目のフレームデータであるＰフレームデータ（又はＩフレームデータ）の読出し時刻Ｔｓ５を計算してもよい。
【００４８】
このように、時刻計算部３０４は、Ｉフレームデータ（又はＰフレームデータ）の映像記憶部３０３からの読出し時刻を、読出し対象のＩフレームデータ（又はＰフレームデータ）の受信時刻と読出し対象のＩフレームデータ（又はＰフレームデータ）の直前のＩフレームデータ又はＰフレームデータである直前Ｉ／Ｐフレームデータの受信時刻との差分と、直前Ｉ／Ｐフレームデータに先行する複数のＩフレームデータの間の受信時刻の差分、直前Ｉ／Ｐフレームデータに先行する複数のＰフレームデータの間の受信時刻の差分及び直前Ｉ／Ｐフレームデータに先行するＩフレームデータとＰフレームデータとの間の受信時刻の差分のうちのいずれかと、直前Ｉ／Ｐフレームデータの読出し時刻とに基づき計算するようにしてもよい。
つまり、前述の例において、０番目のフレームデータから５フレーム前のフレームデータがＩフレームデータであり、０番目のフレームデータから１０フレーム前のフレームデータがＩフレームデータであれば、時刻計算部３０４は、これら２つのＩフレームデータの間の受信時刻の差分を用いる。
また、０番目のフレームデータから５フレーム前のフレームデータがＰフレームデータであり、０番目のフレームデータから１０フレーム前のフレームデータがＰフレームデータであれば、時刻計算部３０４は、これら２つのＰフレームデータの間の受信時刻の差分を用いる。
また、０番目のフレームデータから５フレーム前のフレームデータがＩフレームデータ（又はＰフレームデータ）であり、０番目のフレームデータから１０フレーム前のフレームデータがＰフレームデータ（又はＩフレームデータ）であれば、時刻計算部３０４は、これらＩフレームデータとＰフレームデータの間の受信時刻の差分を用いる。
【００４９】
また、時刻計算部３０４は、上式で用いたパラメータ（０．５、０．３、０．２）を変更してもよいし、上式とは異なる計算式で読出し時刻Ｔｓ５を計算してもよい。
【００５０】
以上、本実施の形態によれば、ＰフレームデータのサイズがＢフレームデータのサイズよりも大幅に大きい場合にも、特別なハードウェアを用いることなく、各フレームのフレームデータの読出し時刻を撮像時刻に同期させることができる。
【００５１】
以上、本発明の実施の形態について説明したが、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【００５２】
最後に、データ処理装置３のハードウェア構成例を図５を参照して説明する。
データ処理装置３はコンピュータである。
データ処理装置３は、プロセッサ９０１、補助記憶装置９０２、メモリ９０３、通信装置９０４、入力インタフェース９０５、ディスプレイインタフェース９０６といったハードウェアを備える。
プロセッサ９０１は、信号線９１０を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース９０５は、入力装置９０７に接続されている。
ディスプレイインタフェース９０６は、ディスプレイ９０８に接続されている。
【００５３】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
メモリ９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
図１に示す映像記憶部３０３は、メモリ９０３又は補助記憶装置９０２により実現される。
通信装置９０４は、データを受信するレシーバー９０４１及びデータを送信するトランスミッター９０４２を含む。
通信装置９０４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入力インタフェース９０５は、入力装置９０７のケーブル９１１が接続されるポートである。
入力インタフェース９０５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。
ディスプレイインタフェース９０６は、ディスプレイ９０８のケーブル９１２が接続されるポートである。
ディスプレイインタフェース９０６は、例えば、ＵＳＢ端子又はＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。
入力装置９０７は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ９０８は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００５４】
補助記憶装置９０２には、図１に示す受信部３０１、時刻取得部３０２、時刻計算部３０４、データ読出し部３０５（以下、受信部３０１、時刻取得部３０２、時刻計算部３０４、データ読出し部３０５をまとめて「部」と表記する）の機能を実現するプログラムが記憶されている。
このプログラムは、メモリ９０３にロードされ、プロセッサ９０１に読み込まれ、プロセッサ９０１によって実行される。
更に、補助記憶装置９０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がメモリ９０３にロードされ、プロセッサ９０１はＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
図５では、１つのプロセッサ９０１が図示されているが、データ処理装置３が複数のプロセッサ９０１を備えていてもよい。
そして、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ９０３、補助記憶装置９０２、又は、プロセッサ９０１内のレジスタ又はキャッシュメモリに記憶される。
【００５５】
「部」を「サーキットリー」で提供してもよい。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ９０１だけでなく、ロジックＩＣ又はＧＡ（Ｇａｔｅ  Ａｒｒａｙ）又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）又はＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった他の種類の処理回路をも包含する概念である。
【符号の説明】
【００５６】
１  監視カメラ、２  ネットワーク、３  データ処理装置、１０１  撮像部、１０２  符号化部、１０３  時刻付与部、１０４  送信部、３０１  受信部、３０２  時刻取得部、３０３  映像記憶部、３０４  時刻計算部、３０５  データ読出し部。
【図１】
2016139808.tif 000003
【図２】
2016139808.tif 000004
【図３】
2016139808.tif 000005
【図４】
2016139808.tif 000006
【図５】
2016139808.tif 000007
【国際調査報告】
2016139808.tif 000008
2016139808.tif 000009
2016139808.tif 000010
2016139808.tif 000011