(57)【要約】【課題】データを送受信する装置間におけるクロックの調整を安定させること。【解決手段】受信装置にデータを送信する送信装置であって、受信装置に含まれる第１のカウンタが所定の時間にカウントする第１のカウント値を含む同期データを受信する受信部と、第２のカウンタと、第２のカウンタが所定の時間にカウントする第２のカウント値を生成するカウント値生成部と、第１のカウント値から第２のカウント値を差し引いた値の積算値を算出する算出部と、積算値の絶対値が閾値以上となった場合、積算値を初期化すると共に当該送信装置の第２のカウンタの周波数を制御する制御部と、初期化の時間間隔の大きさに基づいて、閾値を変更するかを判定する判定部と、判定結果に基づいて、閾値を変更する変更部と、を有する送信装置が開示される。【選択図】図２
2017028544.tif 000002
【特許請求の範囲】
【請求項１】
受信装置にデータを送信する送信装置であって、
受信装置に含まれる第１のカウンタが所定の時間にカウントする第１のカウント値を含む同期データを受信する受信部と、
第２のカウンタと、
前記第２のカウンタが前記所定の時間にカウントする第２のカウント値を生成するカウント値生成部と、
前記第１のカウント値から前記第２のカウント値を差し引いた値の積算値を算出する算出部と、
前記積算値の絶対値が閾値以上となった場合、前記積算値を初期化すると共に当該送信装置の第２のカウンタの周波数を制御する制御部と、
前記初期化の時間間隔の大きさに基づいて、閾値を変更するかを判定する判定部と、
判定結果に基づいて、前記閾値を変更する変更部と、
を有する送信装置。
【請求項２】
前記変更部は、前記初期化の時間間隔が所定範囲よりも大きくなった場合、前記閾値をより大きい値に変更し、前記初期化の時間間隔が前記所定範囲よりも小さくなった場合、前記閾値をより小さい値に変更する請求項１に記載の送信装置。
【請求項３】
前記受信部は、同期データが生成される時間間隔においてカウントされた前記第１のカウント値を含む同期データを受信し、
前記カウント値生成部は、同期データを受信した時間間隔においてカウントされた前記第２のカウント値を生成する請求項１に記載の送信装置。
【請求項４】
前記受信部は、前回同期データが生成された後に前記第１のカウント値がリセットされ、リセット後から同期データを送信するまでにカウントされた前記第１のカウント値を含む同期データを受信し、
前記カウント値生成部は、前回同期データを受信した後に前記第１のカウント値がリセットされ、リセット後から前記同期データを受信するまでにカウントされた前記第１のカウント値を生成する請求項３に記載の送信装置。
【請求項５】
前記受信部は、前記受信装置において水平同期信号が生成される度に生成された前記第１のカウント値を含む同期データを受信する請求項１に記載の送信装置。
【請求項６】
受信装置にデータを送信する送信装置に実行させるプログラムであって、
受信装置に含まれる第１のカウンタが所定の時間にカウントする第１のカウント値を含む同期データを受信する受信部と、第２のカウンタと、前記第２のカウンタが前記所定の時間にカウントする第２のカウント値を生成するカウント値生成部と、前記第１のカウント値から前記第２のカウント値を差し引いた値の積算値を算出する算出部と、前記積算値の絶対値が閾値以上となった場合、前記積算値を初期化すると共に当該送信装置の第２のカウンタの周波数を制御する制御部と、を有し、
前記初期化の時間間隔の大きさに基づいて、閾値を変更するかを判定するステップと、
判定結果に基づいて、前記閾値を変更するステップと、を前記送信装置に実行させるプログラム。
【請求項７】
送信装置が受信装置にデータを送信するシステムであって、
前記受信装置は、
第１のカウンタと、
前記第１のカウンタが所定の時間にカウントする第１のカウント値を含む同期データを生成する生成部と、
前記同期データを前記受信装置に送信する送信部と、を有し、
前記送信装置は、
前記同期データを受信する受信部と、
第２のカウンタと、
前記第２のカウンタが前記所定の時間にカウントする第２のカウント値を生成するカウント値生成部と、
前記第１のカウント値から前記第２のカウント値を差し引いた値の積算値を算出する算出部と、
前記積算値の絶対値が閾値以上となった場合、前記積算値を初期化すると共に当該送信装置の第２のカウンタの周波数を制御する制御部と、
前記初期化の時間間隔の大きさに基づいて、閾値を変更するかを判定する判定部と、
判定結果に基づいて、前記閾値を変更する変更部と、を有する送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置及びシステムに関する。
【背景技術】
【０００２】
送信装置において符号化されたデータがネットワークを介して受信装置に送信され、受信装置において符号化されたデータが復号化されるデータ配信システムがある。
【０００３】
例えば、撮影された映像データをリアルタイムで配信する映像配信システムにおいては、カメラで撮影された映像データが送信装置により符号化された後、インターネットを介して端末に送信される。続いて、端末により符号化された映像データが復号化されることでユーザに映像が提供される。
【０００４】
ところが、映像配信システムにおいてリアルタイムに映像データの符号化及び復号化を行うと、送信装置と端末との間におけるクロック周波数の相違により、端末において映像データの復号化が間に合わなかったり、復号化を待たされたりする場合がある。このため、送信装置と端末との間で同じ周波数が使用されるように、クロック周波数の調整が行われる。
【０００５】
例えば、映像受信装置がネットワークを介して同期パケットを映像送信装置に一定のクロック数毎に送信し、映像送信装置が同期パケットを受信した時間間隔を計測することで自装置の動作クロックを調整する映像配信システムが知られている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、データを送受信する装置間におけるクロックの調整が不安定となるという問題があった。
【０００７】
例えば、ＰＬＬ等のループバック回路を有する受信装置で、クロック周波数の調整頻度が多くなると、クロック周波数のロック状態が解除され、受信装置のクロック周波数が不安定となる場合がある。
【０００８】
そこで、開示の技術では、データを送受信する装置間におけるクロックの調整を安定させることを目的とする。
【課題を解決するための手段】
【０００９】
実施形態では、受信装置にデータを送信する送信装置であって、受信装置に含まれる第１のカウンタが所定の時間にカウントする第１のカウント値を含む同期データを受信する受信部と、第２のカウンタと、前記第２のカウンタが前記所定の時間にカウントする第２のカウント値を生成するカウント値生成部と、前記第１のカウント値から前記第２のカウント値を差し引いた値の積算値を算出する算出部と、前記積算値の絶対値が閾値以上となった場合、前記積算値を初期化すると共に当該送信装置の第２のカウンタの周波数を制御する制御部と、前記初期化の時間間隔の大きさに基づいて、前記閾値を変更するかを判定する判定部と、判定結果に基づいて、前記閾値を変更する変更部と、を有する送信装置が開示される。
【発明の効果】
【００１０】
データを送受信する装置間におけるクロックの調整を安定させることができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る映像配信システムの全体の構成の例を示す図である。
【図２】映像符号化装置の構成例を示す図である。
【図３】クロック操作判定部の構成例を示す図である。
【図４】処理部の構成の例を示す図である。
【図５】映像復号化装置の構成例を示す図である。
【図６】クロックカウント値のカウント処理を説明するための図である。
【図７Ａ】通知データに係るパケットのフォーマットの第１の例を示す図である。
【図７Ｂ】通知データに係るパケットのフォーマットの第２の例を示す図である。
【図８】クロック操作判定部における動作フローを示す図である。
【図９】閾値を変更する処理のフローチャートを示す図である。
【図１０】第２実施形態に係る映像配信システム２の全体の構成の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
【００１３】
（第１実施形態）
図１は、第１実施形態に係る映像配信システム１の全体の構成の例を示す図である。映像配信システム１は、カメラ１０と、モニタ２０と、映像符号化装置１００と、映像復号化装置２００とを有する。映像符号化装置１００と、映像復号化装置２００とは、ネットワーク５を介して接続される。ネットワーク５は、例えば、ＬＡＮ（Local Area Network）等である。
【００１４】
映像符号化装置１００は、カメラ１０から映像データを受信し、受信した映像データを符号化する。続いて、映像符号化装置１００は、ネットワーク５を介して、符号化した映像データを映像復号化装置２００に送信する。
【００１５】
映像復号化装置２００は、受信した映像データを復号化し、モニタ２０に映像を表示させる。また、映像復号化装置２００は、映像データを受信した時間間隔を示すクロックカウント値を、ネットワークを介して映像符号化装置１００に送信する。
【００１６】
映像復号化装置２００は、受信した受信装置のクロックカウント値に基づいて自装置のクロック周波数を制御する。
【００１７】
図２は、映像符号化装置１００の構成例を示す図である。映像符号化装置１００は、映像符号化部１１０と、クロック操作判定部１２０と、ＣＰＵ１３０と、クロック生成部１４０とを有する。
【００１８】
映像符号化部１１０は、カメラ１０から映像データを受信し、受信した映像データを符号化する。例えば、映像符号化部１１０は、ＭＰＥＧ２、Ｈ．２６４等によって映像データを符号化する。映像符号化部１１０は、符号化した映像データを映像復号化装置２００に送信する。カメラ１０及び映像符号化部１１０は、クロック生成部１４０によって生成された動作クロックで動作する。なお、以下では、符号化した映像データを映像符号化信号という。
【００１９】
クロック操作判定部１２０は、映像復号化装置２００から受信した通知データから復号化側クロックカウント値を取得する。復号化側クロックカウント値とは、映像復号化装置２００において、前回の映像符号化信号の復号化が完了してから今回の映像符号化信号の復号化が完了するまでにカウントされた映像復号化装置２００のクロックのカウント数である。クロック操作判定部１２０は、取得した復号化側クロックカウント値に基づいてクロック生成部１４０にクロック周波数を変更するための制御信号を送信する。
【００２０】
また、クロック操作判定部１２０は、ＣＰＵ１３０に制御信号を送信した旨のクロック操作通知を送信する。ＣＰＵ１３０は、クロック操作通知を受信した時間間隔に応じて、クロック周波数を変更する時間間隔が大きすぎるか又は小さすぎるかを判定する。ＣＰＵ１３０は、クロック周波数を変更する時間間隔が大きすぎるか小さすぎると判定した場合、クロック操作判定部１２０から送信される制御信号の送信頻度を制御する。制御信号を送信する頻度の調整に関しては後述する。
【００２１】
クロック生成部１４０は、クロック操作判定部１２０から受信した制御信号に対応した周波数の動作クロックを生成する。クロック生成部１４０は、生成した動作クロックによって映像符号化部１１０及びカメラ１０を動作させる。
【００２２】
なお、カメラ１０は、クロック生成部１４０によって生成された動作クロックを取り込む構成とされているが、自装置で動作クロックを生成する構成であってもよい。
【００２３】
図３は、クロック操作判定部１２０の構成例を示す図である。クロック操作判定部１２０は、カウンタ取込部１２１と、カウンタ生成部１２２と、カウンタ差分累積部１２３と、クロック制御部１２４と、クロック操作部１２５と、時間生成部１２６とを有する。
【００２４】
カウンタ取込部１２１は、映像復号化装置２００から通知データを受信し、通知データから復号化側クロックカウント値を取得する。カウンタ取込部１２１は、カウンタ差分累積部１２３に復号化側クロックカウント値を送信する。また、カウンタ取込部１２１は、通知データを受信した際に、カウント通知をカウンタ生成部１２２に送信する。
【００２５】
カウンタ生成部１２２は、カウンタ取込部１２１からカウント通知を受信する。カウンタ生成部１２２は、前回カウント通知を受信してから今回カウント通知を受信するまでにカウントされた符号化側クロックカウント値を生成する。カウンタ生成部１２２は、生成した符号化側クロックカウント値を、カウンタ差分累積部１２３に送信する。なお、符号化側クロックカウント値とは、前回通知データを受信してから今回通知データを受信するまでに映像符号化装置１００においてカウントされたクロック数を示す。
【００２６】
カウンタ差分累積部１２３は、符号化側クロックカウント値（Ａ）から復号化側クロックカウント値（Ｂ）を差し引いた差分値（Ｃ＝Ａ−Ｂ）を算出する。なお、符号化側クロックカウント値（Ａ）よりも復号化側クロックカウント値（Ｂ）の方が大きい場合、差分値Ｃは、負の値となる。
【００２７】
続いて、カウンタ差分累積部１２３は、差分値を積算した積算値（Ｄ＝Ｄ＋Ｃ）を算出する。積算値Ｄが正である場合、映像復号化装置２００のクロック周波数よりも映像符号化装置１００のクロック周波数が大きい状態であることを示す。一方、積算値Ｄが負である場合、映像符号化装置１００のクロック周波数よりも映像復号化装置２００のクロック周波数の方が大きい状態であることを示す。カウンタ差分累積部１２３は、算出した積算値Ｄをクロック制御部１２４に送信する。
【００２８】
クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上（｜Ｄ｜≧Ｅ）であるか否かを判定する。クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上である場合、クロック操作部１２５に制御命令を送信する。例えば、クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上でかつ積算値Ｄが正である場合、基準クロック単位でクロック周波数を下げる制御命令をクロック操作部１２５に送信する。一方、クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上でかつ積算値Ｄが負である場合、基準クロック単位でクロック周波数を上げる制御命令をクロック操作部１２５に送信する。なお、基準クロック単位で周波数を上げたり、下げたりする場合について説明したが、これに限定されない。例えば、基準クロックのｎ倍（ｎ≧１の範囲で可変（ｎは整数））単位でクロック周波数を上げたり下げたりしてもよい。
【００２９】
また、クロック制御部１２４は、クロック操作部１２５に制御命令を送信した旨の通知を時間生成部１２６に送信する。以下では、クロック操作部１２５に制御命令を送信した旨の通知を通知信号という。
【００３０】
時間生成部１２６は、前回通知信号を受信した時刻から今回通知信号を受信した時刻までの通知時間間隔ｔを取得し、取得した通知時間間隔ｔをＣＰＵ１３０に送信する。通知時間間隔ｔとは、時間生成部１２６が前回通知信号を受信した時刻から今回通知信号を受信した時刻までの時間間隔である。例えば、通知時間間隔ｔは、時間生成部１２６が前回通知信号を受信した時刻から今回通知信号を受信した時刻までに生成されたクロック数である。また、通知時間間隔ｔは、ミリ秒（msec）等の時間間隔であってもよい。
【００３１】
ＣＰＵ１３０は、受信した通知時間間隔ｔを基に閾値Ｅを変更するか否かを判定する。ＣＰＵ１３０は、変更すると判定した場合、クロック制御部１２４に設定されている閾値Ｅを変更する。なお、閾値Ｅの変更に関しては後述する。
【００３２】
クロック操作部１２５は、クロック制御部１２４から受信した制御命令に基づいて、クロック生成部１４０において生成されるクロック周波数を変更させる。
【００３３】
図４は、処理部５０の構成の例を示す図である。ＣＰＵ１３０は、映像符号化装置１００内に格納されたプログラムを実行することにより、処理部５０の処理を実行する。処理部５０は、判定部５１と、変更部５２とを有する。
【００３４】
判定部５１は、時間生成部１２６から受信した通知時間間隔ｔに基づいて閾値Ｅを変更するか否かを判定する。具体的には、判定部５１は、通知時間間隔ｔが設定範囲の最小値ｊ以上で最大値ｋ以下である場合（ｊ≦ｔ≦ｋ）、閾値Ｅを変更しないと判定する。また、判定部５１は、通知時間間隔ｔが最小値ｊより小さい場合（ｔ＜ｊ）、閾値Ｅをより大きい値に変更すると判定する。また、判定部５１は、通知時間間隔ｔが最大値ｋより大きい場合（ｋ＜ｔ）、閾値Ｅをより小さい値に変更すると判定する。なお、通知時間間隔ｔの設定範囲としては、最小値のみを設定してもよく、また、最大値のみを設定してもよい。
【００３５】
例えば、通知時間間隔ｔの最大値は、ビデオ信号の１フレームの時間を基に設定してもよい。すなわち、通知時間間隔ｔの最大値は、ビデオ信号の１フレーム毎に通知信号が時間生成部１２６に通知されるように設定される。また、通知時間間隔ｔの最小値は、クロック制御部１２４の過渡応答のクロック周波数の波形を変化させない程度の時間が確保されるように設定される。具体的には、ＰＬＬ等のループバック回路を用いた場合には、過渡応答の開始から、クロック周波数の上限又は下限が、設定されたクロック周波数に対応する許容範囲（Ｈｚ）に収まるまでの時間を、通知時間間隔ｔの最小値としてもよい。
【００３６】
通知時間間隔ｔの設定範囲は、例えば、ビデオ信号１フレームの間隔を基に「0.20[msec]≦ｔ≦0.45[msec]」のように設定されてもよい。なお、通知時間間隔ｔは、判定部５１によって時間[msec]に換算されているものとする。
【００３７】
また、通知時間間隔ｔの設定範囲は、水平同期の回数を基に「10回≦ｔ≦20回」のように設定されてもよい。なお、通知時間間隔ｔは、判定部５１によって水平同期の回数に換算されているものとする。
【００３８】
一般的な複合化装置の構成でMPEG2やH.264では符号化された映像データを一時保存するためのバッファを備えている。また、一般的な符号化装置では時間辺りの符合量をコントロールすることができる。この複合化装置のバッファの容量と符号量のコントロール値より、時間あたりに貯まる符号化された映像データのデータ量が求められ、この値を元に、バッファが溢れないような設定とする。すなわち、バッファ容量16[MByte]、符号量コントロール値50[Mbps]とした場合、8MByte貯まる時間0.02[sec]、を基準に「0.01[sec]≦ｔ≦0.03[sec]」のように設定されてもよい。なお、「bps」はbit/sであり、1[Byte]=8[bit]である。
【００３９】
変更部５２は、判定部５１による判定結果に応じて、クロック制御部１２４に設定されている閾値Ｅを変更する。
【００４０】
図５は、映像復号化装置２００の構成例を示す図である。映像復号化装置２００は、映像復号化部２１０と、クロックカウンタ通知部２２０とを有する。映像復号化部２１０は、例えばＭＰＥＧ２及びＨ．２６４等により、映像符号化装置１００から受信した映像符号化信号を復号して映像信号を生成し、モニタ２０に出力する。また、映像復号化部２１０は、映像符号化信号を受信して復号化する度に、クロックカウンタ通知部２２０に復号化が完了したことを示す基準信号を送信する。例えば、映像復号化部２１０は、基準信号として、映像信号の水平同期信号をクロックカウンタ通知部２２０に送信してもよい。
【００４１】
クロックカウンタ通知部２２０は、前回の基準信号を受信してから今回の基準信号を受信するまでにカウントされたクロックカウント値を、復号化側クロックカウント値として取得する。クロックカウンタ通知部２２０は、復号化側クロックカウント値を含む通知データを生成し、通知データを映像符号化装置１００に送信する。
【００４２】
クロックカウンタ通知部２２０は、通知データを送信した後、復号化側クロックカウント値をリセットし、再度０から復号化側クロックカウント値をカウントアップする。
【００４３】
すなわち、クロックカウンタ通知部２２０は、通知データを送信する度に、復号化側クロックカウント値をリセットし、復号化側クロックカウント値のカウントをやり直す。
【００４４】
図６は、クロックカウント値のカウント処理を説明するための図である。（１）において、映像符号化装置１００及び映像復号化装置２００は、クロックカウント値のカウントを開始する。
【００４５】
続いて、（２）において、映像復号化装置２００は、通知データを映像符号化装置１００に送信する。映像復号化装置２００は、通知データを送信した後に、復号化側クロックカウント値をリセットする。また、映像符号化装置１００は、復号化側クロックカウント値が通知された後に、符号化側クロックカウント値をリセットする。このように、カウント処理を開始した際、映像符号化装置１００は、通知データを送信したタイミングで符号化側クロックカウント値のリセットを行い、映像復号化装置２００は、通知データを受信したタイミングで復号化側クロックカウント値のリセットを行う。これにより、映像符号化装置１００及び映像復号化装置２００においてクロックカウント値が初期化される。
【００４６】
続いて、（３）において、映像復号化装置２００は、映像符号化装置１００に通知データを送信することにより、映像符号化装置１００に復号化側クロックカウント値を通知する。映像復号化装置２００は、復号化側クロックカウント値を送信した後、復号化側クロックカウント値をリセットする。
【００４７】
一方、映像符号化装置１００は、復号化側クロックカウント値が通知された際に、符号化側クロックカウント値を取得する。映像符号化装置１００は、符号化側クロックカウント値を取得した後、符号化側クロックカウント値をリセットする。
【００４８】
続いて、（４）において、映像復号化装置２００は、映像符号化装置１００に通知データを送信することにより、映像符号化装置１００に復号化側クロックカウント値を通知する。映像復号化装置２００は、復号化側クロックカウント値が通知された後、復号化側クロックカウント値をリセットする。
【００４９】
一方、映像符号化装置１００は、復号化側クロックカウント値が通知された際に、符号化側クロックカウント値を取得する。映像符号化装置１００は、符号化側クロックカウント値を取得した後、符号化側クロックカウント値をリセットする。
【００５０】
このように、映像符号化装置１００及び映像復号化装置２００において、繰り返しクロックカウント値が取得される。
【００５１】
図７Ａは、通知データに係るパケットのフォーマットの第１の例を示す図である。図７Ａは、映像符号化装置１００と映像復号化装置２００とが１：１である場合の通信データに係るパケットのフォーマットである。１行に３２ビット列が含まれるものとする。
【００５２】
「src port」は、パケットの送信元のポート番号を示す。「dst port」は、パケットの送信先のポート番号を示す。「length」は、パケット長を示す。「check sum」は、受信したデータの信頼度を検査するためのビット列である。「clock count」は、クロックカウント値を示す。クロックカウント値は、基準クロック（０クロック）から１クロック毎に１ずつカウントアップされる。なお、映像符号化装置１００と映像復号化装置２００とが１：１で通信が行われる場合、パケットが失われる可能性が低いため、パケットのフォーマットにパケットを識別するためのシーケンス番号を含めなくてもよい。
【００５３】
図７Ｂは、通知データに係るパケットのフォーマットの第２の例を示す図である。図７Ｂは、映像符号化装置１００と映像復号化装置２００とがｍ：ｎ（ｍ＞１,ｎ＞１）である場合の通信データに係るパケットのフォーマットである。１行に３２ビット列が含まれるものとする。
【００５４】
「src port」は、パケットの送信元のポート番号を示す。「dst port」は、パケットの送信先のポート番号を示す。「length」は、パケット長を示す。「check sum」は、受信したデータの信頼度を検査するためのビット列である。「Ver」は、映像配信システム１のバージョンを示す。「reserved」は、パケットに含まれる項目のうち使用しない項目を指定する場合等に用いられる情報である。例えば、「reserved」を設定することで、映像配信システム１のバージョンが「1.1」の場合、パケットの中の項目Ａを使用しないが、映像配信システム１のバージョンが「1.2」の場合、項目Ａを使用するといった指定が可能である。
【００５５】
「sequence num」は、パケットを識別するためのシーケンス番号である。例えば、映像符号化装置１００は、シーケンス番号「1」のパケットを受信した後、シーケンス番号「3」のパケットを受信した場合、シーケンス番号「2」のパケットが失われたことを検知することができる。
【００５６】
「clock count」は、復号化側クロックカウント値を示す。「source id」は、パケットを送信した映像復号化装置２００を識別する番号である。
【００５７】
図８は、クロック操作判定部１２０における動作フローを示す図である。（１）において、カウンタ生成部１２２は、符号化側クロックカウント値のカウントを開始し、時間生成部は、通知時間間隔ｔに係るクロック数のカウントを開始する。さらに、クロック制御部１２４に閾値Ｅが設定される。
【００５８】
続いて、（２）において、カウンタ取込部１２１は、映像復号化装置２００から通知データを受信し、通知データから復号化側クロックカウント値を取得する。カウンタ取込部１２１は、復号化側クロックカウント値を取得したことを示すカウント通知をカウンタ生成部１２２に送信する。さらに、カウンタ取込部１２１は、通知データを取得した旨の通知を時間生成部１２６に送信する。
【００５９】
カウンタ生成部１２２は、カウント通知を受信した後、符号化側クロックカウント値をリセットする。また、時間生成部１２６は、カウンタ取込部１２１から通知を受信した後、通知時間間隔ｔに係るカウントをリセットする。このように、クロック操作判定部１２０は、処理開始時に、通知時間間隔ｔに係るカウント及び符号化側クロックカウント値を初期化する。
【００６０】
続いて、（３）において、カウンタ取込部１２１は、映像復号化装置２００から通知データを受信し、通知データから復号化側クロックカウント値を取得する。カウンタ取込部１２１は、カウント通知をカウンタ生成部１２２に送信する。さらに、カウンタ取込部１２１は、取得した復号化側クロックカウント値をカウンタ差分累積部１２３に送信する。
【００６１】
カウンタ生成部１２２は、カウント通知を受信した際に、符号化側クロックカウント値を取得する。続いて、カウンタ生成部１２２は、取得した符号化側クロックカウント値をカウンタ差分累積部１２３に送信する。続いて、カウンタ生成部１２２は、符号化側クロックカウント値をリセットする。
【００６２】
カウンタ差分累積部１２３は、符号化側クロックカウント値（Ａ）から復号化側クロックカウント値（Ｂ）を差し引いた差分値（Ｃ＝Ａ−Ｂ）を算出する。続いて、カウンタ差分累積部１２３は、差分値を積算した積算値（Ｄ＝Ｄ＋Ｃ）を算出する。なお、（３）の時点ではＣ＝０である。カウンタ差分累積部１２３は、積算値Ｄをクロック制御部１２４に送信する。クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上か否かを判定する。クロック制御部１２４は、（３）の時点で積算値Ｄの絶対値が閾値Ｅよりも小さいので、時間生成部１２６に通知信号を送信しない。
【００６３】
続いて、（４）において、カウンタ取込部１２１は、映像復号化装置２００から通知データを受信し、通知データから復号化側クロックカウント値を取得する。カウンタ取込部１２１は、カウント通知をカウンタ生成部１２２に送信する。さらに、カウンタ取込部１２１は、取得した復号化側クロックカウント値をカウンタ差分累積部１２３に送信する。
【００６４】
カウンタ生成部１２２は、カウント通知を受信した際に、符号化側クロックカウント値を取得する。続いて、カウンタ生成部１２２は、取得した符号化側クロックカウント値をカウンタ差分累積部１２３に送信する。続いて、カウンタ生成部１２２は、符号化側クロックカウント値をリセットする。
【００６５】
カウンタ差分累積部１２３は、符号化側クロックカウント値（Ａ）から復号化側クロックカウント値（Ｂ）を差し引いた差分値（Ｃ＝Ａ−Ｂ）を算出する。続いて、カウンタ差分累積部１２３は、差分値を積算した積算値（Ｄ＝Ｄ＋Ｃ）を算出する。カウンタ差分累積部１２３は、算出した積算値Ｄをクロック制御部１２４に送信する。
【００６６】
クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上か否か（｜Ｄ｜≧Ｅ）を判定する。クロック制御部１２４は、（３）の時点で積算値Ｄの絶対値が閾値Ｅ以上であるので、時間生成部１２６にクロック操作部１２５に通知信号を送信する。
【００６７】
クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上でかつ積算値Ｄが正である場合、クロック周波数を下げる制御命令をクロック操作部１２５に送信する。又は、クロック制御部１２４は、積算値Ｄの絶対値が閾値Ｅ以上でかつ積算値Ｄが負である場合、クロック周波数を上げる制御命令をクロック操作部１２５に送信する。
【００６８】
続いて、クロック制御部１２４は、カウンタ差分累積部１２３によって保持されている積算値Ｄを「0」にリセットする。
【００６９】
時間生成部１２６は、（４）において通知時間間隔ｔをリセットした時点からクロック制御部１２４から通知を受けるまでにカウントされたクロック数を取得し、取得したクロック数を通知時間間隔ｔとしてＣＰＵ１３０に送信する。時間生成部１２６は、ＣＰＵ１３９に通知時間間隔ｔを送信した後、通知時間間隔ｔを「0」にリセットする。
【００７０】
ＣＰＵ１３０においては、通知時間間隔ｔを基に閾値を変更するか否かが判定され、変更すると判定された場合、クロック制御部１２４に設定されている閾値が変更される。
【００７１】
また、クロック操作部１２５は、クロック制御部１２４から受信した制御命令に基づいて、クロック生成部１４０において生成されるクロック周波数を変更させる。
【００７２】
図９は、閾値Ｅを変更する処理のフローチャートを示す図である。処理部５０は、通知時間間隔ｔが通知されたか否かを判定する（ステップＳ１０）。通知時間間隔ｔが通知されていない場合（ステップＳ１０Ｎｏ）、処理部５０は、所定時間経過ｔ後、再度ステップＳ１０を実行する。一方、通知時間間隔ｔが通知されていた場合（ステップＳ１０Ｙｅｓ）、ステップＳ１１の処理に移行する。
【００７３】
ステップＳ１１で、処理部５０は、通知時間間隔ｔが所定範囲内か否かを判定する。通知時間間隔ｔが所定範囲内である場合（ステップＳ１１Ｙｅｓ）、処理部５０は、フローチャートのスタート時点に戻り、処理を再度実行する。なお、所定範囲内であるか否かに関しては、図４で説明した通りである。
【００７４】
一方、通知時間間隔ｔが所定範囲外である場合（ステップＳ１１Ｎｏ）、処理部５０は、閾値Ｅを変更する（ステップＳ１２）。例えば、通知時間間隔ｔが所定範囲よりも大きい場合、処理部５０は、閾値Ｅをより小さい値に変更する。また、通知時間間隔ｔが所定範囲よりも小さい場合、処理部５０は、閾値Ｅをより大きい値に変更する。続いて、処理部５０は、フローチャートのスタート時点に戻り、処理を再度実行する。
【００７５】
（第２実施形態）
図１０は、第２実施形態に係る映像配信システム２の全体の構成の例を示す図である。映像配信システム２は、カメラ１０と、モニタ２０と、映像符号化装置１００と、時刻同期システム１５０と、映像復号化装置２００と、時刻同期システム２５０とを有する。
【００７６】
映像符号化装置１００は、カメラ１０から映像データを受信し、映像データを符号化する。続いて、映像符号化装置１００は、ネットワーク５を介して符号化した映像データを映像復号化装置２００に送信する。
【００７７】
映像復号化装置２００は、符号化された映像データを復号化し、モニタ２０に映像を表示させる。
【００７８】
時刻同期システム１５０及び時刻同期システム２５０は、共通の時刻を管理するシステムである。例えば、時刻同期システム１５０及び時刻同期システム２５０は、それぞれ標準時刻を取得する。映像復号化装置２００は、時刻同期システム２５０から取得した時刻に基づいて所定の時間内の復号化側カウントクロック値を取得する。映像復号化装置２００は、取得したクロック数を通知データに格納して映像符号化装置１００に送信する。映像符号化装置１００は、通知データから復号化側カウントクロック値を取得する。
【００７９】
映像符号化装置１００は、時刻同期システム１５０から取得した時刻に基づいて、復号化側カウントクロック値と、同じ時間内にカウントされた符号化側カウントクロック値を取得する。映像符号化装置１００は、符号化側クロックカウント値と復号化側クロックカウント値との比較に基づいて自装置のクロック周波数を制御する。なお、クロック周波数の制御に関しては、第１実施形態と同様である。
【００８０】
また、本実施例は、コンピュータの媒体に格納されたプログラムを実行させることにより、映像符号化装置１００の機能を実現できる。
【００８１】
以上、情報処理システムを第１乃至第２実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【００８２】
なお、本実施形態において、映像符号化装置１００は、送信装置の一例である。映像復号化装置２００は、受信装置の一例である。カウンタ取込部１２１は、受信部の一例である。ＣＰＵ１３０は、第２のカウンタの一例である。カウンタ生成部１２２は、カウント値生成部の一例である。カウンタ差分累積部１２３は、算出部の一例である。クロック制御部１２４は、制御部の一例である。判定部５１は、判定部の一例である。変更部５２は、変更部の一例である。クロックカウンタ通知部２２０は、送信部の一例である。通知データは、同期データの一例である。通知時間間隔ｔは、初期化の時間間隔の一例である。
【符号の説明】
【００８３】
１,２    映像配信システム
５        ネットワーク
１０      カメラ
２０      モニタ
１００    映像符号化装置
１１０    映像符号化部
１２０    クロック操作判定部
１３０    ＣＰＵ
１４０    クロック生成部
２００    映像復号化装置
【先行技術文献】
【特許文献】
【００８４】
【特許文献１】特開２００３−０１８５８５号公報
【図１】
2017028544.tif 000003
【図２】
2017028544.tif 000004
【図３】
2017028544.tif 000005
【図４】
2017028544.tif 000006
【図５】
2017028544.tif 000007
【図６】
2017028544.tif 000008
【図７Ａ】
2017028544.tif 000009
【図７Ｂ】
2017028544.tif 000010
【図８】
2017028544.tif 000011
【図９】
2017028544.tif 000012
【図１０】
2017028544.tif 000013