(57)【要約】【課題】記録時のキーフレーム作成の負荷および画面更新情報の保持量を軽減して、途中段階からの再生を可能とする。【解決手段】記録装置の画面記録部２２は初期画面からの差分画像とその差分画像の領域を示す差分領域を時系列順に画面更新情報として記録する。フレーム番号算出部２３は画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に再生した場合の再生領域の埋め尽くし戻り計算を行い、再生領域全体に差分画像が埋め尽くされるまで遡った地点のフレーム番号を算出する。フレーム番号算出部２３はフレーム番号に基づいて画面更新情報から該当する差分画像を抽出し、その差分画像を用いて途中段階からの再生開始画像を生成する。再生装置では、この再生開始画像とそれ以降に得られる差分画像を用いて再生画面を表示する。【選択図】図４
2015056694.tif 000002
【特許請求の範囲】
【請求項１】
画面情報の記録再生を行う記録再生システムにおいて、
初期画面からの差分画像とその差分画像の領域を示す差分領域を時系列順に画面更新情報として記録する画面記録手段と、
この画面記録手段によって記録された画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に再生した場合の再生領域の埋め尽くし戻り計算を行い、再生領域全体に差分画像が埋め尽くされるまで遡った地点のフレーム番号を算出するフレーム番号算出手段と、
このフレーム番号算出手段によって算出されたフレーム番号に基づいて上記画面更新情報から該当する差分画像を抽出し、その差分画像を用いて途中段階からの再生開始画像を生成する再生開始画像生成手段と、
この再生開始画像生成手段によって生成された再生開始画像とそれ以降に得られる差分画像を用いて再生画面を表示する再生画面表示手段と
を具備したことを特徴とする記録再生システム。
【請求項２】
上記画面記録手段は、
上記画面情報が表示される画面をマトリクス状に複数のエリアに分割し、その分割エリア毎に差分画像とその差分領域を画面更新情報として記録し、
上記フレーム番号算出手段は、
上記画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に再生した場合の再生領域の埋め尽くし戻り計算を行い、再生領域全体に差分画像が埋め尽くされるまで遡った地点の分割エリア毎のフレーム番号を算出し、
上記再生開始画像生成手段は、
上記フレーム番号算出手段によって算出されたフレーム番号に基づいて途中段階からの再生開始画像を生成することを特徴とする請求項１記載の記録再生システム。
【請求項３】
特定のイベントが発生した場合に全画面情報を有するキーフレームを生成するキーフレーム生成手段をさらに備え、
上記画面記録手段は、
上記キーフレーム生成手段によってキーフレームを上記画面更新情報の中の上記特定のイベント発生時間に対応した位置に記録し、
上記再生開始画像生成手段は、
上記画面更新情報の中の再生開始時間に対応する差分画像から上記キーフレームまで遡り、そのキーフレームを用いて再生開始画像を生成することを特徴とする請求項１または２記載の記録再生システム。
【請求項４】
上記特定のイベントは、途中再生を必要とする可能性の高いイベントを含むことを特徴とする請求項３記載の記録再生システム。
【請求項５】
コンピュータに画面情報の記録再生処理を実行させるプログラムであって、
上記コンピュータに、
初期画面からの差分画像とその差分画像の領域を示す差分領域を時系列順に画面更新情報として記録する画面記録機能と、
この画面記録機能によって記録された画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に再生した場合の再生領域の埋め尽くし戻り計算を行い、再生領域全体に差分画像が埋め尽くされるまで遡った地点のフレーム番号を算出するフレーム番号算出機能と、
このフレーム番号算出機能によって算出されたフレーム番号に基づいて上記画面更新情報から該当する差分画像を抽出し、その差分画像を用いて途中段階からの再生開始画像を生成する再生開始画像生成機能と、
この再生開始画像生成機能によって生成された再生開始画像とそれ以降に得られる差分画像を用いて再生画面を表示する再生画面表示機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コンピュータ等の端末に表示される画面情報を記録再生する記録再生システム及びプログラムに関する。
【背景技術】
【０００２】
コンピュータ等の端末に表示される画面情報において、直前の画面からの差分データ（差分画像と差分領域の組）を画面更新情報として時系列的に記録し、その記録した画面更新情報に基づいて時間的に途中段階から再生する画面録画再生システムがある。
【０００３】
ここで、画面更新情報を時系列で記録する際に、キーフレームと呼ばれる画面全体の画像データを所定間隔で挿入しておく方法がある。この方法によれば、再生要求があったときに、その時点より古いキーフレームのうちの最も新しいものを起点とし、その起点としたキーフレームに差分画像を重ね合わせれば、途中段階の画像(再生開始画像)を生成することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１２５３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した方法では、再生の有無に関係なく、記録時にキーフレームを所定間隔で画面更新情報に挿入しておく必要がある。このため、キーフレーム作成の負荷が高く、画面更新情報の保持量がキーフレームの数分だけ多くなる。
【０００６】
本発明が解決しようとする課題は、記録時のキーフレーム作成の負荷および画面更新情報の保持量を軽減して、途中段階からの再生を可能とする記録再生システム及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本実施形態に係る記録再生システムは、画面情報の記録再生を行う記録再生システムにおいて、初期画面からの差分画像とその差分画像の領域を示す差分領域を時系列順に画面更新情報として記録する画面記録手段と、この画面記録手段によって記録された画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に再生した場合の再生領域の埋め尽くし戻り計算を行い、再生領域全体に差分画像が埋め尽くされるまで遡った地点のフレーム番号を算出するフレーム番号算出手段と、このフレーム番号算出手段によって算出されたフレーム番号に基づいて上記画面更新情報から該当する差分画像を抽出し、その差分画像を用いて途中段階からの再生開始画像を生成する再生開始画像生成手段と、この再生開始画像生成手段によって生成された再生開始画像とそれ以降に得られる差分画像を用いて再生画面を表示する再生画面表示手段とを具備して構成される。
【発明の効果】
【０００８】
本発明によれば、記録時のキーフレーム作成の負荷および画面更新情報の保持量を軽減して、途中段階から再生することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は第１の実施形態に係る記録再生システムの全体構成を示す図である。
【図２】図２は同実施形態における記録再生システムの記録装置から再生装置に対する画面情報の転送方法を説明するための図である。
【図３】図３は同実施形態における記録再生システムの途中再生時の処理を説明するための図である。
【図４】図４は同実施形態における記録再生システムの記録装置の機能構成を示すブロック図である。
【図５】図５（ａ）は同実施形態における記録再生システムの記録装置側で再生開始画像を生成する場合のシーケンス図、同図（ｂ）は再生装置側で再生開始画像を生成する場合のシーケンス図である。
【図６】図６は同実施形態における記録再生システムの再生装置の機能構成を示すブロック図である。
【図７】図７は同実施形態における記録再生システムによる記録再生処理を示すフローチャートである。
【図８】図８は同実施形態における再生開始画像の生成方法を説明するための図である。
【図９】図９は第２の実施形態における記録再生システムの記録装置の機能構成を示すブロック図である。
【図１０】図１０は第２の実施形態における途中再生時の再生開始画像の生成方法を説明するための図である。
【図１１】図１１は第２の実施形態における再生画像生成処理にビットマップ情報を利用した場合の図である。
【図１２】図１２は第３の実施形態における記録再生システムの記録装置の機能構成を示すブロック図である。
【図１３】図１３は第３の実施形態における記録再生システムの記録装置によるキーフレーム生成を含む記録処理を示すフローチャートである。
【図１４】図１４は第３の実施形態における記録再生システムの記録装置による途中再生時の再生開始画像の生成方法を説明するための図である。
【図１５】図１５は第４の実施形態における画面転送システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して実施形態を説明する。
【００１１】
（第１の実施形態）
図１は第１の実施形態に係る記録再生システムの全体構成を示す図である。
【００１２】
記録装置群１１として、複数（この例では４つ）の記録装置１１ａ，１１ｂ，１１ｃ，１１ｄが存在する。再生装置群１２として、複数（この例では４つ）の再生装置１２ａ，１２ｂ，１２ｃ，１２ｄが存在する。各装置１１ａ，１１ｂ，１１ｃ，１１ｄ，１２ａ，１２ｂ，１２ｃ，１２ｄは、通信ネットワーク１３を介して互いにデータ通信可能に接続されている。
【００１３】
記録装置１１ａ，１１ｂ，１１ｃ，１１ｄは、画面情報の記録を行う端末として用いられる。これらの記録装置１１ａ，１１ｂ，１１ｃ，１１ｄには、特に図示しないが、入力装置や表示装置といった情報を入力、表示するためのデバイスを内蔵あるいは外付けにて備えられている。
【００１４】
再生装置１２ａ，１２ｂ，１２ｃ，１２ｄは、記録装置１１ａ，１１ｂ，１１ｃ，１１ｄによって記録された画面情報を再生する端末として用いられる。これらの再生装置１２ａ，１２ｂ，１２ｃ，１２ｄについても、特に図示しないが、入力装置や表示装置といった情報を入力、表示するためのデバイスを内蔵あるいは外付けにて備えられている。
【００１５】
なお、ここで言う「画面情報」とは、画面上に表示される更新性を有する情報全般のことであり、特にその情報の種類に限定されるものではない。
【００１６】
記録装置１１ａ，１１ｂ，１１ｃ，１１ｄおよび再生装置１２ａ，１２ｂ，１２ｃ，１２ｄは、ＰＣ（Personal Computer）の他、例えばスマートフォンやタブレットなど、画面を有する端末であれば、どのような端末であっても構わない。
【００１７】
また、再生装置１２ａ，１２ｂ，１２ｃ，１２ｄは、記録装置１１ａ，１１ｂ，１１ｃ，１１ｄと異なる端末を用意しても良いし、記録装置１１ａ，１１ｂ，１１ｃ，１１ｄと同じ端末を用いても良い。
【００１８】
画面情報の記録先は、それぞれに記録装置１１ａ，１１ｂ，１１ｃ，１１ｄ内でも良いし、別途用意された図示せぬ録画データ保持サーバに記録しても良い。また、画面情報の記録は明示的に開始しても良いし、記録装置１１ａ，１１ｂ，１１ｃ，１１ｄの起動中に連続的に記録する構成であっても良い。
【００１９】
このような構成において、例えば記録装置１１ａで画面情報や操作情報を記録データとして記録し、再生装置１２ａで記録データを取得して再生することにより、記録装置１１ａで発生した異常を後から再生装置１２ａで再現することなどに利用できる。
【００２０】
以下では、記録装置群１１の中の記録装置１１ａと再生装置群１２の中の再生装置１２ａとの間で画面情報の記録、再生を行う場合を想定して説明する。なお、他の記録装置１１ｂ，１１ｃ，１１ｄと再生装置１２ｂ，１２ｃ，１２ｄとの間で画面情報の記録、再生を行う場合も同様である。
【００２１】
図２は本システムの記録装置から再生装置に対する画面情報の転送方法を説明するための図である。図中の上半分が記録装置１１ａの記録処理、下半分が再生装置１２ａの再生処理を模式的に表したものである。
【００２２】
記録装置１１ａは、直前の画面からの差分データ（差分画像と差分領域の組）を時系列順に画面更新情報として記録する。図２の例では、フレーム番号の１から７で示される画面更新情報が時系列順に示されている。再生装置１２ａは、この画面更新情報を取得することにより、その画面更新情報に含まれる差分画像を用いて画面情報の再生表示を行う。
【００２３】
図２の例では、記録装置１１ａから差分画像１，２，３，４，５，６，７…の順で画面更新情報が再生装置１２ａに転送されている。再生装置１２ａでは、この画面更新情報を取得することにより、差分画像１，２，３，４，５，６，７…の順で合成して画面情報を再生表示することになる。
【００２４】
このような画面情報を途中から再生する場合には図３のようになる。  
図３は本システムの途中再生時の処理を説明するための図である。この例では、フレーム番号５の時点で途中再生の指示があった状態を示している。
【００２５】
本システムでは、画面情報を途中段階から再生する場合は、再生開始時間から画面全体が埋め尽くされるまで差分画像を遡って、全画面画像（再生開始画像）を生成する。図３の例では、差分画像５→４→３まで遡り、これらの画像５，４，３を使って全画面画像（再生開始画像）を生成している。
【００２６】
図４は記録装置１１ａの機能構成を示すブロック図である。ここでは記録装置１１ａを例にしているが、他の記録装置１１ｂ，１１ｃ，１１ｄについても同様の構成である。
【００２７】
記録装置１１ａは、画面構成部２１と、画面記録部２２と、フレーム番号算出部２３と、再生開始画像生成部２４と、通信部２５と、フレームバッファ２６とを備える。
【００２８】
画面構成部２１は、記録装置１１ａ上で動作する各種処理プログラムから描画命令２０を受け取る。画面構成部２１は、この描画命令２０に従って各種処理を実行し、その結果として表示される画面情報をフレームバッファ２６に描画すると共に、この描画命令２０から計算した差分領域を画面記録部２２に渡す。
【００２９】
なお、フレームバッファ２６は、ＲＡＭの他に、例えばＨＤＤ、光ディスク、メモリカードなどの一般的に利用されている記録媒体により構成することができる。
【００３０】
差分領域として、画面上の座標情報などを用いる。具体的には、例えば１４００×１０５０ピクセルの画面の場合、画面左上を（０，０）、画面右下を（１３９９，１０４９）とするような座標系で表された座標情報を用いる。
【００３１】
すなわち、図２の例の場合、差分画像１，２の差分領域は画面上の（０，０）から幅１４００ピクセル、高さ１０５０ピクセル、差分画像３の差分領域は（０，０）から幅７００ピクセル、高さ５２５ピクセル、差分画像４の差分領域は（７００，０）から幅７００ピクセル、高さ５２５ピクセル、差分画像５の差分領域は（０，５２５）から幅１４００ピクセル、高さ５２５ピクセルとったような情報となる。なお、差分領域は、画面情報の配置が分かるものであれば、どのようなものでも良い。
【００３２】
画面記録部２２は、フレームバッファ２６から差分画像を読み出し、その差分画像と差分領域を時系列順に画面更新情報として記録する。なお、画面記録部２２は、圧縮処理や縮小処理を含んでも良い。圧縮処理は差分画像を圧縮し、縮小処理は差分画像を縮小する。また、画面更新情報は、記録された差分画像を再生する際に必要な情報を含む。例えば、更新時間情報や画素形式、圧縮されている場合には圧縮形式なども含む。
【００３３】
フレーム番号算出部２３は、画面記録部２２によって記録された画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に再生した場合の再生領域の埋め尽くし戻り計算を行い、再生領域全体に差分画像が埋め尽くされるまで遡った地点のフレーム番号を算出する。フレーム番号算出部２３は、再生開始時間から上記遡った地点までのフレーム番号を再生開始画像生成部２４に通知する。
【００３４】
再生開始画像生成部２４は、フレーム番号算出部２３によって通知されたフレーム番号に基づいて画面更新情報から該当する差分画像を抽出し、その差分画像を用いて途中段階からの再生開始画像を生成する。
【００３５】
なお、再生開始画像は、再生装置側で生成しても良い。この様子を図５に示す。図５（ａ）は記録装置側で再生開始画像を生成する場合のシーケンス図、同図（ｂ）は再生装置側で再生開始画像を生成する場合のシーケンス図である。
【００３６】
記録装置側で再生開始画像を生成する場合には、図５（ａ）に示すように、記録装置１１ａが上述した埋め尽くし戻り計算を行い、その計算結果として得られた差分データ（差分画像と差分領域の組）に基づいて再生開始画像を生成して再生装置１２ａに送る。再生装置１２ａでは、受信した再生開始画像をそのまま表示することになる。
【００３７】
一方、再生装置側で再生開始画像を生成する場合には、同図（ｂ）に示すように、記録装置１１ａから再生開始画像の生成に必要な差分データをまとめて再生装置１２ａに送る。再生装置１２ａでは、これらの差分データに基づいて再生開始画像を生成して表示する。
【００３８】
また、記録装置１１ａの通信部２５は、再生装置１２ａから再生開始時間を含む再生要求メッセージを受信する。記録装置１１ａで再生開始画像を生成する場合には、通信部２５は、その生成された再生開始画像および再生開始時間以降に対応する画面更新情報を再生装置１２ａに送信する。
【００３９】
図６は再生装置１２ａの機能構成を示すブロック図である。なお、ここでは再生装置１２ａを例にしているが、他の再生装置１２ｂ，１２ｃ，１２ｄについても同様の構成である。
【００４０】
再生装置１２ａは、再生要求部３１と、通信部３２と、再生画面表示部３３とを備える。再生要求部３１は、ユーザ操作により再生開始時間の要求を受け付け、再生要求メッセージを生成して通信部３２に渡す。
【００４１】
再生開始時間の指定方法としては、例えば「記録開始後ｎ分後」といった相対的な時間でも良いし、「今日の××時」といった絶対的な時間でも良い。また、再生要求メッセージは、再生停止時間や再生領域などの情報を含んでも良い。
【００４２】
通信部３２は、再生要求メッセージを記録装置１１ａへ送信する。また、記録装置１１ａから画面更新情報を受信する。
【００４３】
再生画面表示部３３は、画面更新情報に従い、再生開始画像およびそれ以降に得られる差分画像を用いて再生画面を表示する。なお、再生画面表示部３３は、表示するために必要な諸々の処理を行う。例えば、画面更新情報に圧縮形式が指定されている場合は、圧縮形式に応じて展開処理を施してから表示する。
【００４４】
次に、本システムの動作について、記録装置側で再生開始画像を生成する場合を想定して説明する。
【００４５】
図７は本システムによる記録再生処理を示すフローチャートである。なお、このフローチャートでは記録装置側の処理と再生装置側の処理が含まれている。記録装置側の処理は、記録装置内の図示せぬメモリに記録されたプログラムによって実行される。同様に、再生装置側の処理は、再生装置内の図示せぬメモリに記録されたプログラムによって実行される。
【００４６】
図７に示すように、まず、再生装置１２ａが通信部３２を通じて再生開始時間を含む再生要求メッセージを記録装置１１ａに送信する（ステップＳ１１）。
【００４７】
記録装置１１ａでは、この再生要求メッセージを通信部２５により受信する（ステップＳ１２）。これにより、記録装置１１ａのフレーム番号算出部２３が再生開始画像を生成するために必要なフレーム番号を算出する（ステップＳ１３）。続いて、再生開始画像生成部２４がフレーム番号算出部２３によった算出されたフレーム番号に基づいて、該当する差分画像を画面更新情報から読み出し、これらを合成して再生開始画像を生成する。
【００４８】
再生開始画像が生成されると、記録装置１１ａは、通信部２５により再生開始画像およびそれ以降の差分データ（差分画像と差分領域の組）を含む画面更新情報を再生装置１２ａに送信する（ステップＳ１５）。
【００４９】
再生装置１２ａは、この画面更新情報を通信部３２を通じて受信する（ステップＳ１６）。これにより、再生装置１２ａの再生画面表示部３３が再生開始画像を画面上に表示すると共に、差分データに基づいて差分後の画像を時間順に表示する（ステップＳ１７）。
【００５０】
次に、再生開始画像の生成方法について、図８を用いて説明する。
【００５１】
例えば、記録装置１１ａが記録開始２０秒後からの再生要求を受信したとする。これにより、記録装置１１ａでは、記録開始２０秒後から逆再生的に遡り、差分画像で再生領域が埋め尽されるまでのフレーム番号を算出する。図８の例では、記録開始２０秒後を起点にして、差分画像５→４→３まで遡ると再生領域が埋め尽くされることが分かる。
【００５２】
なお、算出方法は、再生領域の埋め尽くし状況が分かればどのような方法でも良い。例えば、記録装置１１ａでＸ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍを利用している場合は、ＲＥＧＩＯＮ＿ＵＮＩＯＮ関数により差分領域の和を取り、埋め尽くしを識別するマスクデータを生成し、ＲＥＣＴ＿ＩＮ＿ＲＥＧＩＯＮ関数により再生領域とマスクデータとを比較しても良い。
【００５３】
マスクデータとは、指定した範囲の埋め尽くしを計算するためのデータである。図８の例の場合、再生領域と同じ大きさの範囲を指定し、差分画像５→４→３の差分領域に従って順にマスクデータを埋めながら埋め尽くしを計算する。記録装置１１ａは、これらの差分画像３〜５を、時系列的に古い差分画像３→４→５の順に差分領域に従って描画することにより再生開始画像を生成する。
【００５４】
このように第１の実施形態によれば、途中段階から再生する際に、再生開始時間から画面全体が埋め尽くされるまで差分画像を遡って再生開始画像を生成する。したがって、記録時の先頭データまで遡るよりも、再生開始画像生成の負荷を軽減することができる。この場合、記録時にキーフレームを必要としないので、キーフレーム作成に伴う時間的なロスがない。また、キーフレームを必要としない分だけ、画面更新情報の保持量を軽減することができる。
【００５５】
（第２の実施形態）
次に、第２の実施形態について説明する。
【００５６】
上記第１の実施形態では、再生領域全体に差分画像が埋め尽くされるまで遡った地点のフレーム番号から再生開始時間に対応するフレーム番号までの全差分画像を用いて再生開始画像を生成していた。これに対し、第２の実施形態では、画面上の同じ領域に上書きされる差分画像を用いずに再生開始画像を生成する例について説明する。
【００５７】
システム構成は、上記第１の実施形態における図１と同様である。以下では、記録装置群１１の中の記録装置１１ａを例にして説明するが、他の記録装置１１ｂ，１１ｃ，１１ｄでも同様である。
【００５８】
図９は第２の実施形態における記録再生システムの記録装置１１ａの機能構成を示すブロック図である。
【００５９】
第２の実施形態では、画面記録部２２ａとフレーム番号算出部２３ａの機能が上記第１の実施形態と異なっている。他の部分は同じなので、同一符号を付して、その詳しい説明は省略する。
【００６０】
画面記録部２２ａは、表示画面をマトリクス状に複数のエリアに分割し、これらの分割エリアに対して画面更新情報を記録する。例えば、分割エリアのサイズが３２×３２ピクセルとすると、（０、０）から幅６０ピクセル、高さ６０ピクセルの更新があった場合には、（０、０）から幅６４ピクセル、高さ６４ピクセルの差分画像を取得して差分領域と共に画面更新情報として記録する。
【００６１】
なお、分割エリアのサイズはいくつでも良い。例えば、ピクセル単位でも良い。なお、画面記録部２２ａは、再生画像生成処理に必要なフレーム番号を示すビットマップ情報を所定間隔で記録しておいても良い。
【００６２】
フレーム番号算出部２３ａは、画面記録部２２ａによって記録された画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に遡り、分割エリア毎に最新のフレーム番号を算出する。そして、フレーム番号算出部２３ａは、再生領域全体に差分画像が埋め尽くされるまで遡った地点で含まれるフレーム番号を再生開始画像生成部２４に通知する。
【００６３】
次に、上記構成の記録装置１１ａにおいて、途中再生時の再生開始画像の生成方法について、図１０を用いて説明する。
【００６４】
図１０は記録装置１１ａによる途中再生時の再生開始画像の生成方法を説明するための図である。
【００６５】
例えば、記録装置１１ａが記録開始２０秒後からの途中再生の要求を受信したとする。これにより、記録装置１１ａでは、記録開始２０秒後から逆再生的に遡り、分割エリア毎に最新のフレーム番号を算出し、再生領域全体に差分画像が埋め尽くされるまで遡った地点で含まれるフレーム番号を算出する。
【００６６】
図１０の例では、記録開始２０秒後の位置から遡った場合に、最終的にはフレーム番号１と５だけが残る。これは、フレーム番号２，３，４，５で示される差分画像が画面上の同じ分割エリアの位置に上書きされているからである。記録装置１１ａは、このフレーム番号１と５で示される差分画像を用いて再生開始画像を生成することになる。
【００６７】
なお、画面記録部２２ａで、再生画像生成処理に必要なフレーム番号を示すビットマップ情報を所定間隔に記録しておいても良い。ビットマップ情報の一例を図１１に示す。
【００６８】
表示画面の複数の分割エリア毎にフレームを更新し、そのフレームに対応したビットマップ情報を時系列で画面更新情報として記録していく。これにより、図１１の例では、記録開始０秒後ではフレーム番号１で示される差分画像を用いて再生開始画像を生成することができる。
【００６９】
同様に、記録開始５秒後ではフレーム番号１と２で示される差分画像、記録開始１０秒後ではフレーム番号１と３で示される差分画像、記録開始１５秒後ではフレーム番号１と４で示される差分画像、記録開始２０秒後ではフレーム番号１と５で示される差分画像を用いて再生開始画像を生成することができる。
【００７０】
このように第２の実施形態によれば、画面をマトリクス状に複数のエリアに分割して差分画像を管理することで、同じエリアに上書きされた差分画像を描画することなく、再生開始画像を生成することができる。その結果、再生開始画像生成の負荷を軽減することができる。
【００７１】
（第３の実施形態）
次に、第３の実施形態について説明する。
【００７２】
第３の実施形態では、特定のイベントが発生した箇所にのみキーフレームを追加するものである。
【００７３】
システム構成は、上記第１の実施形態における図１と同様である。以下では、記録装置群１１の中の記録装置１１ａを例にして説明するが、他の記録装置１１ｂ，１１ｃ，１１ｄでも同様である。
【００７４】
図１２は第３の実施形態における記録再生システムの記録装置１１ａの機能構成を示すブロック図である。
【００７５】
第３の実施形態において、記録装置１１ａは、操作受信部４１と、操作イベント処理部４２と、操作記録部４３と、キーフレーム生成部４４とを備える。さらに、画面記録部２２ｂと、フレーム番号算出部２３ｂの機能が上記第１の実施形態と異なっている。その他の構成は、上記第１の実施形態における記録装置１１ａの構成と同様であるので、ここでの説明は省略する。
【００７６】
操作受信部４１は、例えばマウスやキーボードなどの入力装置４０からユーザの入力操作イベントを受信する。
【００７７】
操作イベント処理部４２は、予め設定された特定のイベントと一致するイベントを処理する場合にキーフレーム生成部４４に通知する。上記特定のイベントとは何でも良い。例えば、画面上で指定された領域でマウスクリックが発生した場合や、指定されたキー入力が発生した場合などとしても良い。また、操作イベント処理部４２は、記録装置１１ａ上で動作する各種処理を提供するプログラムおよび入力された操作イベント情報を操作記録部４３に通知する。
【００７８】
操作記録部４３は、操作イベント情報を記録する。操作イベント情報は、発生時間、マウスやキーボードなどの入力装置４０の種類、クリックやキー操作などの入力内容、入力が発生した位置の情報などを含む。記録した操作イベントは、画面更新情報と一緒に再生装置１２ａに送信しても良い。
【００７９】
キーフレーム生成部４４は、予め設定された特定のイベントが発生した場合に全画面情報を有するキーフレームを生成して画面記録部２２ｂに渡す。
【００８０】
なお、特定の操作イベントが発生した場合だけではなく、特定の画面変化が発生した場合にキーフレームを作成するようにしても良い。また、キーフレームを生成すべきイベントが追加設定された場合は、記録データを遡ってキーフレームを追加しても良い。
【００８１】
画面記録部２２ｂは、キーフレーム生成部４４によって生成されたキーフレームを更新情報の中の上記特定のイベント発生時間に記録する。
【００８２】
フレーム番号算出部２３ｂは、再生開始時間に対応する差分画像の直前のキーフレームを算出し、そのキーフレームの番号から再生開始時間に対応するフレーム番号を再生開始画像生成部２４に通知する。これにより、再生開始画像生成部２４では、画面更新情報の中の再生開始時間に対応する差分画像から逆再生的に戻るときにキーフレームまで遡ることで再生開始画像を生成することができる。
【００８３】
図１３は本システムの記録装置１１ａによるキーフレーム生成を含む記録処理を示すフローチャートである。なお、このフローチャートに示される処理は記録装置内の図示せぬメモリに記録されたプログラムによって実行される。
【００８４】
いま、記録装置１１ａの画面上に何らかの情報が更新表示されているものとする。ここで、ユーザが入力装置４０を操作すると、記録装置１１ａの操作受信部４１はそのユーザ操作によるイベントを受信して操作イベント処理部４２に渡す（ステップＳ２１）。
【００８５】
操作イベント処理部４２は、操作受信部４１から与えられたイベントが予め設定された特定のイベントと一致するか否かを判定する（ステップＳ２２）。一致する場合には（ステップＳ２２のＹｅｓ）、操作イベント処理部４２からキーフレーム生成部４４にキーフレームの生成指示が出力される。キーフレーム生成部４４は、これを受けてイベント発生時の全画面情報（キーフレーム）を生成する（ステップＳ２３）。
【００８６】
そして、画面記録部２２ｂは、このキーフレーム生成部４４によって生成されたキーフレームを画面更新情報の当該イベントの発生時間に対応した位置に記録する（ステップＳ２４）。なお、画面更新情報の生成処理については、上記第１の実施形態で既に説明済みのため、ここでその詳しい説明は省略するものとする。
【００８７】
一方、画面構成部２１は、入力操作に応じて画面情報を更新する（ステップＳ２５）。その際、画面記録部２２ｂが差分データ（差分画像と差分領域の組）を画面更新情報に記録する（ステップＳ２６）。
【００８８】
以後は、図２でも説明したように、記録装置１１ａから再生装置１２ａに対して画面更新情報が時系列で送られる。再生装置１２ａでは、この画面更新情報を取得することにより、その画面更新情報に含まれる差分領域に従って差分画像を合成して再生表示する。
【００８９】
次に、上記構成の記録装置１１ａにおいて、途中再生時の再生開始画像の生成方法について、図１４を用いて説明する。
【００９０】
図１４は本システムの記録装置１１ａによる途中再生時の再生開始画像の生成方法を説明するための図である。
【００９１】
例えば、記録開始１５秒後と２５秒後に特定のイベントＡ，Ｂが発生したとする。これにより、画面更新情報の中に当該時間に対応した箇所に２つのキーフレームが追加される。すなわち、記録開始１５秒後のイベントＡの発生に合わせて、差分画像４の直前の差分画像２，３からなるキーフレームが生成され、差分画像４と共に画面更新情報に記録される。また、記録開始２５秒後のイベントＢの発生に合わせて、差分画像６の直前の差分画像３，４，５からなるキーフレームが生成され、差分画像６と共に画面更新情報に記録される。
【００９２】
ここで、記録装置１１ａが記録開始１５秒後からの途中再生の要求を受信したとする。なお、再生開始時間ではなく、例えばイベントＡといったようにイベントの種類を指定することでも良い。この場合、記録装置１１ａが持つ操作記録のデータから上記指定されたイベントに対応した再生開始時間を算出することになる。
【００９３】
上記記録開始１５秒後からの途中再生の要求があると、記録装置１１ａは、当該時間に対応するキーフレームを使って再生開始画像を生成して再生装置１２ａに送信する。図１４の例では、差分画像２，３からなるキーフレームが再生開始画像として再生装置１２ａに送信される。再生開始画像の送信は、再び差分画像４から順次に送信されることになる。
【００９４】
なお、例えば記録開始２０後から途中再生を行う場合には、上記第１の実施形態と同様に、記録開始２０秒後から逆再生的に遡り、再生領域を埋め尽くすまでの差分画像を算出することになる。ただし、記録開始２０秒後から差分画像５→４と遡った時点で次はキーフレームである。したがって、このキーフレームを用いて再生開始画像を生成できる。つまり、記録開始２０秒後から差分画像５→４→３→２まで遡らなくとも、キーフレームを用いることで、早めに再生開始画像を生成して送ることが可能となる。
【００９５】
このように第３の実施形態によれば、特定のイベントが発生した箇所にのみキーフレームを追加しておくことで、途中再生する際にそのキーフレームを利用して再生開始画像を効率的に生成して速やかに途中からの画面を再生表示することができる。
【００９６】
この場合、キーフレームは、例えばユーザが何らかの操作を行ったときや、何らかの異常が発生した場合など、後に途中再生を必要とする可能性の高いイベントが発生した場合に作成される。したがって、キーフレームを所定間隔で毎回記録する方式に比べて、キーフレーム作成の負荷が少なく、画面更新情報の保持量も少ない。
【００９７】
なお、この第３の実施形態で説明したキーフレームを用いる方法は上記第２の実施形態にも適用することができる。
【００９８】
（第４の実施形態）
次に、第４の実施形態について説明する。
【００９９】
第４の実施形態では、記録装置を画面転送サーバとして動作させることで、記録装置の画面情報をネットワーク上の画面転送ビューワで表示する場合を想定している。
【０１００】
図１５は第４の実施形態における画面転送システムの構成を示すブロック図である。
【０１０１】
この画面転送システムは、画面転送サーバ５１と、この画面転送サーバ５１に通信ネットワーク５３を介して接続される画面転送ビューワ５２とを備える。
【０１０２】
画面転送サーバ５１は、上記第１の実施形態における記録装置１１ａとしての機能を備える。この画面転送サーバ５１には、ローカル操作受信部６１、リモート操作受信部６２、操作イベント処理部６３、画面構成部６４、フレームバッファ６５、画面記録部６６、画面情報送信部６７が設けられている。
【０１０３】
ローカル操作受信部６１は、画面転送サーバ５１に接続された入力装置６０によるユーザのローカル操作イベントを受信する。リモート操作受信部６２は、外部（ここでは画面転送ビューワ５２）から遠隔操作により入力されたリモート操作イベントを受信する。操作イベント処理部６３は、ローカル操作イベントまたはリモート操作イベントを処理して画面構成部６４に渡す。
【０１０４】
画面構成部６４は、操作イベント処理部６３の処理結果として表示される画面情報をフレームバッファ６５に描画すると共に、その画面情報から計算された差分領域（画面上の座標情報）を画面記録部６６に渡す。なお、フレームバッファ６５は、ＲＡＭの他に、例えばＨＤＤ、光ディスク、メモリカードなどの一般的に利用されている記録媒体により構成することができる。
【０１０５】
画面記録部６６は、フレームバッファ６５から差分画像を読み出し、その差分画像と差分領域を含む差分データを時系列で画面更新情報に記録する。
【０１０６】
画面情報送信部６７は、画面転送サーバ５１で表示された画面情報を通信ネットワーク５３を介して画面転送ビューワ５２に送信する。この画面情報には、図２で説明したように、直前の画面からの差分データ（差分画像と差分領域の組）を時系列順に記録した画面更新情報を含む。画面転送ビューワ５２では、この画面更新情報を取得することにより、その画面更新情報に含まれる差分領域に従って差分画像を合成して再生表示する。
【０１０７】
また、この画面情報送信部６７には、図１に示した記録装置１１ａのフレーム番号算出部２３および再生開始画像生成部２４に相当する機能を備えているものとする。すなわち、図３で説明したように、再生要求があったときに、画面情報送信部６７は、再生開始時間に対応する差分画像から逆再生的に再生した場合の再生領域の埋め尽くし戻り計算を行い、再生領域全体に差分画像が埋め尽くされるまで遡った地点のフレーム番号を算出する。そして、画面情報送信部６７は、そのフレーム番号に基づいて差分画像を合成して、途中段階からの再生開始画像を生成する。
【０１０８】
一方、画面転送ビューワ５２は、上記第１の実施形態における再生装置１２ａとしての機能を備える。この画面転送ビューワ５２には、リモート操作送信部８１、画面情報受信部８２、表示部８３が設けられている。
【０１０９】
リモート操作送信部８１は、画面転送ビューワ５２に接続された入力装置８０によるユーザの操作イベントを画面転送サーバ５１に送信する。この操作イベントは、リモート操作イベントとしてインターネット等の通信ネットワーク５３を介して画面転送サーバ５１に送られる。
【０１１０】
画面情報受信部８２は、画面転送サーバ５１から通信ネットワーク５３を介して送られてきた画面情報を受信し、表示部８３に与えて表示する。上述したように、この画面情報には、差分データ（差分画像と差分領域の組）が時系列順に記録された画面更新情報を含む。画面転送ビューワ５２では、この画面更新情報に従って画面情報を表示する。
【０１１１】
このような構成において、上記第１の実施形態と同様の方法にて画面転送サーバ５１から画面転送ビューワ５２に対して画面情報が送られて表示される。その際、画面転送サーバ５１側で何らかの操作イベントがあった場合、あるいは、画面転送ビューワ５２から遠隔操作により操作イベントが入力された場合に、その操作イベントの入力時点での途中の画像を効率的に生成して画面転送ビューワ５２で再生表示することができる。
【０１１２】
このように第４の実施形態によれば、画面転送システムに適用した場合でも、上記第１の実施形態と同様に記録時のキーフレーム作成の負荷および画面更新情報の保持量を軽減して、途中段階からの再生を行うことができる。
【０１１３】
なお、ここでは上記第１の実施形態の方法を例にして説明したが、上記第２乃至第３の実施形態のいずれかの方法を適用することも可能である。
【０１１４】
また、電力系統の監視などを行う電力システムに応用することも可能である。この場合、監視対象とする現場に画面転送サーバ５１を設置し、遠隔監視を行う監視センタに画面転送ビューワ５２に設置しておく。そして、現場で電力系統に関わる何らかの異常が発生した場合に、その異常発生時からの画像を上記同様の手法にて画面転送サーバ５１から画面転送ビューワ５２に送る構成とすれば、記録側（現場側）の負担を増やすことなく、異常発生時からの画像を再生側（監視側）で再生表示することができる。
【０１１５】
さらに、上記第３の実施形態で説明した特定のイベントとして、電力系統の異常を含めておけば、何らかの電力異常が発生した場合にキーフレームを生成して異常時の画面を速やかに再生表示して、迅速に対処できるようになる。
【０１１６】
以上述べた少なくとも１つの実施形態によれば、記録時のキーフレーム作成の負荷および画面更新情報の保持量を軽減して、途中段階からの再生を可能とする記録再生システム及びプログラムを提供することができる。
【０１１７】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１８】
１１…記録装置群、１１ａ，１１ｂ，１１ｃ，１１ｄ…記録装置、１２…再生装置群、１２ａ，１２ｂ，１２ｃ，１２ｄ…再生装置、１３…通信ネットワーク、２０…描画命令、２１…画面構成部、２２，２２ａ，２２ｂ…画面記録部、２３，２３ａ，２３ｂ…フレーム番号算出部、２４…再生開始画像生成部、２５…通信部、２６…フレームバッファ、３１…再生要求部、３２…通信部、３３…再生画面表示部、４０…入力装置、４１…操作受信部、４２…操作イベント処理部、４３…操作記録部、４４…キーフレーム生成部、５１…画面転送サーバ、５２…画面転送ビューワ、５３…通信ネットワーク、６０…入力装置、６１…ローカル操作受信部、６２…リモート操作受信部、６３…操作イベント処理部、６４…画面構成部、６５…フレームバッファ、６６…画面記録部、６７…画面情報送信部、８０…入力装置、８１…リモート操作送信部、８２…画面情報受信部、８３…表示部。
【図１】
2015056694.tif 000003
【図２】
2015056694.tif 000004
【図３】
2015056694.tif 000005
【図４】
2015056694.tif 000006
【図５】
2015056694.tif 000007
【図６】
2015056694.tif 000008
【図７】
2015056694.tif 000009
【図８】
2015056694.tif 000010
【図９】
2015056694.tif 000011
【図１０】
2015056694.tif 000012
【図１１】
2015056694.tif 000013
【図１２】
2015056694.tif 000014
【図１３】
2015056694.tif 000015
【図１４】
2015056694.tif 000016
【図１５】
2015056694.tif 000017