(57)【特許請求の範囲】
【請求項１】
共有される画面を表す画面データを取得する取得手段と、
前記取得された画面データが表す画面から文字が表示される第１の領域を特定する第１の特定手段と、
前記取得された画面データが表す画面から文字が表示され得る第２の領域を特定する第２の特定手段と、
前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する生成手段と
を備えるデータ処理装置。
【請求項２】
前記第１の特定手段は、前記第１の領域を文字認識処理によって特定し、
前記第２の特定手段は、前記第２の領域を、前記文字認識処理と異なる画像認識処理によって特定する
請求項１に記載のデータ処理装置。
【請求項３】
前記第２の特定手段は、前記画面の画像特徴に基づいて前記第２の領域を特定する
請求項１又は請求項２に記載のデータ処理装置。
【請求項４】
前記第２の特定手段は、前記画面から前記第１の領域を除いた領域から前記第２の領域を特定する
請求項１から請求項３までのいずれか１項に記載のデータ処理装置。
【請求項５】
前記生成手段は、前記特定された第１の領域及び第２の領域を含む領域の第１の画像を表す第１の画像データと、前記画面から前記第１の画像が表す領域を除く領域を少なくとも含む第２の画像を表す第２の画像データとを生成し、
前記第１の画像データの画質及び生成頻度の少なくともいずれかが前記第２の画像データよりも高い
請求項１から請求項４までのいずれか１項に記載のデータ処理装置。
【請求項６】
第１の装置と第２の装置とを備え、
前記第１の装置は、
共有される画面を表す画面データを取得する取得手段と、
前記取得された画面データが表す画面から文字が表示される第１の領域を特定する第１の特定手段と、
前記取得された画面データが表す画面から文字が表示され得る第２の領域を特定する第２の特定手段と、
前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する生成手段と、
前記生成された画像データを前記第２の装置に送信する第１の通信手段とを備え、
前記第２の装置は、
前記送信された画像データを受信する第２の通信手段と、
前記受信された画像データに応じた画像を表示する表示手段とを備える
画面共有システム。
【請求項７】
共有される画面を表す画面データを取得し、
前記取得された画面データが表す画面から、文字が表示される第１の領域と、文字が表示され得る第２の領域とを特定し、
前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する
データ処理方法。
【請求項８】
コンピュータに、
共有される画面を表す画面データを取得する処理と、
前記取得された画面データが表す画面から文字が表示される第１の領域を特定する処理と、
前記取得された画面データが表す画面から文字が表示され得る第２の領域を特定する処理と、
前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する処理と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ処理装置、画面共有システム、データ処理方法及びプログラムに関する。
【背景技術】
【０００２】
ある装置を別の装置から遠隔操作する技術が知られている。装置を遠隔操作する場合には、当該装置（遠隔操作される側）に表示されている画面を別の装置（遠隔操作する側）でも表示可能にすることがある。画面を別の装置で表示する場合には、効率的なデータ通信が求められることがある。一般に、視認性が良い鮮明な画像は、画像データのサイズが大きくなる傾向にある。大容量の画像データを転送する場合、通信環境（速度など）によっては、時間を要する可能性がある。画像データの転送に時間を要すると、遠隔操作における操作性が低下する。
【０００３】
特許文献１は、画面の変化を検出し、画面に一定時間以上変化がなくなった後に画面の解析を実行する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１１１８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術は、表示の変更を契機として画像データを送信する。したがって、このような技術は、表示される画面のうち変更がまだ生じていない部分に対しては適用されず、当該部分の視認性や操作性に寄与しない。
【０００６】
本開示の例示的な目的の一つは、画面を共有する場合において視認性と操作性の両立を図ることである。
【課題を解決するための手段】
【０００７】
本開示の一態様に係るデータ処理装置は、共有される画面を表す画面データを取得する取得手段と、前記取得された画面データが表す画面から文字が表示される第１の領域を特定する第１の特定手段と、前記取得された画面データが表す画面から文字が表示され得る第２の領域を特定する第２の特定手段と、前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する生成手段とを有する。
【０００８】
本開示の別の態様に係る画面共有システムは、第１の装置と第２の装置とを備え、前記第１の装置は、共有される画面を表す画面データを取得する取得手段と、前記取得された画面データが表す画面から文字が表示される第１の領域を特定する第１の特定手段と、前記取得された画面データが表す画面から文字が表示され得る第２の領域を特定する第２の特定手段と、前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する生成手段と、前記生成された画像データを前記第２の装置に送信する第１の通信手段とを備え、前記第２の装置は、前記送信された画像データを受信する第２の通信手段と、前記受信された画像データに応じた画像を表示する表示手段とを有する。
【０００９】
本開示のさらに別の態様に係るデータ処理方法は、共有される画面を表す画面データを取得し、前記取得された画面データが表す画面から、文字が表示される第１の領域と、文字が表示され得る第２の領域とを特定し、前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する。
【００１０】
本開示のさらに別の態様に係るプログラムは、コンピュータに、共有される画面を表す画面データを取得する処理と、前記取得された画面データが表す画面から文字が表示される第１の領域を特定する処理と、前記取得された画面データが表す画面から文字が表示され得る第２の領域を特定する処理と、前記取得された画面データが表す画面の一部の領域であって、前記特定された第１の領域及び第２の領域を含む領域の画像を表す画像データを生成する処理とを実行させる。
【発明の効果】
【００１１】
本開示によれば、画面を共有する場合において視認性と操作性の両立が図られる。
【図面の簡単な説明】
【００１２】
【図１】図１は、データ処理装置の構成の一例を示すブロック図である。
【図２】図２は、第１の部分画像データ及び第２の部分画像データを説明するための図である。
【図３】図３は、データ処理装置が実行する処理の一例を示すフローチャートである。
【図４】図４は、画面共有システムの構成の一例を示すブロック図である。
【図５】図５は、第１の装置及び第２の装置が実行する処理の一例を示すシーケンスチャートである。
【図６】図６は、画面共有システムの構成の別の例を示すブロック図である。
【図７】図７は、第１の装置及び第２の装置が実行する処理の別の例を示すシーケンスチャートである。
【図８】図８は、第１のループ処理の一例を示すフローチャートである。
【図９】図９は、第２のループ処理の一例を示すフローチャートである。
【図１０Ａ】図１０Ａは、画面データと当該画面データに基づいて生成される画像データを例示する図である。
【図１０Ｂ】図１０Ｂは、画面データと当該画面データに基づいて生成される画像データを例示する図である。
【図１０Ｃ】図１０Ｃは、画面データと当該画面データに基づいて生成される画像データを例示する図である。
【図１１】図１１は、コンピュータ装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１３】
［第１実施形態］
図１は、一実施形態に係るデータ処理装置１００の構成を示すブロック図である。データ処理装置１００は、２以上の装置の間で画面を共有するための装置である。データ処理装置１００は、取得部１１０と、第１の特定部１２０と、第２の特定部１３０と、生成部１４０とを少なくとも有する。
【００１４】
ここでいう画面の共有とは、ある装置の表示画面の一部又は全部を１又は複数の他の装置において視認し得るようにすることをいう。一の態様において、共有される画面は、２以上の装置においてほぼ同時に表示される。換言すれば、共有される画面は、２以上の装置において、装置間の距離や通信速度などに起因するある程度の範囲内の時間差（すなわち遅延）で表示される。ただし、共有される画面は、必ずしも２以上の装置においてほぼ同時に表示されなくてもよく、また、一方の装置（遠隔操作する側）のみにおいて表示されてもよい。遠隔操作される装置は、共有される画面を必ずしも表示しなくてもよい。
【００１５】
取得部１１０は、画面データを取得する。画面データは、共有される画面を表すデータである。一の態様において、取得部１１０による画面データの取得は、キャプチャ、スクリーンキャプチャ、スクリーンショット、スクリーンダンプなどとも呼ばれる。画面データは、例えば、各画素を所定のビット数（色深度）で表現したビットマップ画像を表す。ビットマップ画像は、モノクロ画像とカラー画像のいずれであってもよい。
【００１６】
取得部１１０が画面データを取得するタイミングは、特定のタイミングに限定されない。一の態様において、取得部１１０は、所定の時間間隔で画面データを繰り返し取得する。第１の特定部１２０、第２の特定部１３０及び生成部１４０は、画面データが取得される毎に後述される処理を実行することができる。
【００１７】
第１の特定部１２０及び第２の特定部１３０は、画像から所定の条件を満たす領域を特定する。第１の特定部１２０及び第２の特定部１３０は、取得部１１０により取得された画面データが表す画面から領域を特定する。以下においては、説明の便宜上、第１の特定部１２０により特定される領域を「第１の領域」といい、第２の特定部１３０により特定される領域を「第２の領域」という。
【００１８】
第１の特定部１２０は、画面データが表す画面のうちの文字が表示される領域を特定する。第１の領域は、画像において文字が描画されている領域であるともいえる。一の態様において、第１の特定部１２０は、文字認識処理によって第１の領域を特定する。文字認識処理は、例えば、周知のＯＣＲ（Optical Character Recognition）技術を用いて文字を認識する処理である。ここでいう文字は、数字や記号を含む。
【００１９】
第２の特定部１３０は、画面データが表す画面のうちの文字が表示され得る領域を特定する。第２の領域は、第１の領域とは異なり、文字が表示されていない領域を含み得る。第２の領域は、文字が事後に表示される可能性がある領域であるともいえる。
【００２０】
第２の特定部１３０は、第１の特定部１２０と異なる方法（アルゴリズム）を用いて第２の領域を特定することができる。一の態様において、第２の特定部１３０は、画像認識処理によって第２の領域を特定する。画像認識処理は、例えば、画像から所定の条件を満たすオブジェクトを認識する処理である。例えば、第２の特定部１３０は、テキストボックスなどの所定の形状を有する領域を第２の領域として特定する。
【００２１】
第２の特定部１３０は、画面データが表す画面から特定される画像特徴に基づいて第２の領域を特定してもよい。ここでいう画像特徴としては、例えば、複数画素の色の異同を用いることができる。例えば、第２の特定部１３０は、画像に含まれるエッジに基づいて第２の領域を特定してもよい。
【００２２】
生成部１４０は、画像データを生成する。生成部１４０は、取得部１１０により取得された画面データが表す画面の一部の領域（以下「部分領域」という。）を表す画像データを生成する機能を少なくとも有する。部分領域は、第１の特定部１２０により特定された第１の領域と、第２の特定部１３０により特定された第２の領域とを含む。部分領域は、第１の領域と第２の領域のいずれでもない領域を含んでもよい。
【００２３】
生成部１４０は、部分領域の画質が変更された画像データを生成してもよい。ここでいう画質の変更とは、画像データのデータ量が少なくなるような加工処理をいう。例えば、生成部１４０は、部分領域の色深度を画面データの色深度よりも小さく（すなわち階調数を少なく）してもよいし、画像データを圧縮してもよい。
【００２４】
生成部１４０は、部分領域を表す画像データを生成する機能の他に、部分領域でない領域を表す画像データを生成する機能を有してもよい。以下においては、説明の便宜上、部分領域を表す画像データを「第１の部分画像データ」といい、部分領域でない領域を表す画像データを「第２の部分画像データ」という。
【００２５】
図２は、第１の部分画像データ及び第２の部分画像データを説明するための図である。データＤ１は、第１の部分画像データに相当し、画面データが表す領域Ｒ０のうちの部分領域Ｒ１を表す。データＤ２１は、画面データが表す領域Ｒ０から部分領域Ｒ１を除いた領域Ｒ２を表す。一方、データＤ２２は、領域Ｒ０を表す。第２の部分画像データは、データＤ２１、Ｄ２２のいずれであってもよい。
【００２６】
図３は、データ処理装置１００が実行する処理を示すフローチャートである。ステップＳ１１において、取得部１１０は、画面データを取得する。ステップＳ１２において、第１の特定部１２０は、ステップＳ１１において取得された画面データに基づいて第１の領域を特定する。ステップＳ１３において、第２の特定部１３０は、ステップＳ１１において取得された画面データに基づいて第２の領域を特定する。
【００２７】
第２の特定部１３０は、ステップＳ１２において特定された第１の領域を除いた領域から第２の領域を特定してもよい。あるいは、第２の特定部１３０は、第１の特定部１２０により第１の領域が特定される前に第２の領域を特定してもよいし、第１の特定部１２０と並行に処理を実行してもよい。
【００２８】
ステップＳ１４において、生成部１４０は、ステップＳ１２、Ｓ１３における特定結果に基づいて、部分領域を表す画像データを生成する。生成部１４０は、生成された画像データを出力する。画像データの出力先は、データ処理装置１００内部の他の構成要素であってもよいし、データ処理装置１００と異なる装置であってもよい。
【００２９】
以上に説明されたように、本実施形態のデータ処理装置１００は、第１の領域及び第２の領域を含む画像データを生成する構成を有する。この画像データは、テキストボックスのような、文字が表示され得る領域が視認可能に構成されている一方で、第１の領域及び第２の領域のいずれにも該当しない領域が画面に含まないように構成される。
【００３０】
したがって、本実施形態によれば、文字の入力などにより第２の領域に変更が生じる前から当該領域を表示することが可能である。このため、本実施形態によれば、画像データが第２の領域を含まない場合に比べ、文字の出現を予見することが可能であり、画像を表示する装置における操作性を向上させることが可能である。また、本実施形態によれば、第１の領域及び第２の領域を除く領域を含まない画像データを生成することが可能である。このため、本実施形態によれば、このような領域を含む場合に比べ、少ないデータ量で高画質の画像データにすることが可能であり、画像を表示する装置における視認性を向上させることが可能である。ゆえに、本実施形態によれば、操作性と視認性をバランス良く両立させることが容易に可能である。
【００３１】
また、本実施形態は、文字認識処理により第１の領域を特定し、画像認識処理により第２の領域を特定する構成を採用することができる。この構成によれば、文字認識処理のみでは特定することができない、文字が入力され得る領域を特定することが可能である。
【００３２】
［第２実施形態］
図４は、別の実施形態に係る画面共有システム２００の構成を示すブロック図である。画面共有システム２００は、第１の装置２１０と、第２の装置２２０とを含む。第１の装置２１０及び第２の装置２２０は、例えば、インターネットなどのネットワークを介して通信可能に接続されている。なお、画面共有システム２００における第１の装置２１０及び第２の装置２２０の数は、特に限定されない。
【００３３】
本実施形態以降の実施形態において、既に説明された実施形態に記載された用語と同一の用語は、特に定義又は説明がある場合を除き、当該実施形態と同様の意味で用いられる。また、以降の実施形態において、既に説明された実施形態と同一の符号を付される構成要素は、当該実施形態と同様の構成を少なくとも含む。以降の実施形態において、既に説明された実施形態と重複する説明は、適宜省略される。
【００３４】
第１の装置２１０は、画像データを送信する装置である。第１の装置２１０は、第１実施形態に記載されたデータ処理装置１００と同様の構成、すなわち、取得部１１０、第１の特定部１２０、第２の特定部１３０及び生成部１４０を有する。加えて、第１の装置２１０は、通信部２１１を有する。通信部２１１は、生成部１４０により生成された画像データを第２の装置２２０に送信する。
【００３５】
第２の装置２２０は、画像データを表示する装置である。第２の装置２２０は、通信部２２１と、表示部２２２とを有する。通信部２２１は、第１の装置２１０により送信された画像データを受信する。表示部２２２は、液晶などの表示素子により構成された表示パネルとその駆動回路とを含み、画像データに応じた画像を表示する。なお、第２の装置２２０は、キーボード、マウスなどの入力装置又は当該入力装置を接続するインターフェース（端子など）を含んでもよい。
【００３６】
図５は、第１の装置２１０及び第２の装置２２０が実行する処理を示すシーケンスチャートである。このうち、ステップＳ２１〜Ｓ２４の処理は、第１実施形態のステップＳ１１〜Ｓ１４の処理（図３参照）と同様である。ステップＳ２５において、第１の装置２１０の通信部２１１は、生成された画像データを第２の装置２２０に送信する。ステップＳ２６において、第２の装置２２０の表示部２２２は、ステップＳ２５において通信部２２１により受信された画像データに応じた画像を表示する。
【００３７】
本実施形態によれば、第１実施形態と同様の効果を奏することができる。具体的には、本実施形態によれば、第１の装置２１０が第１の領域及び第２の領域を含む画像データを生成及び送信することにより、第２の装置２２０における操作性と視認性の両立を図ることが可能である。
【００３８】
［第３実施形態］
図６は、さらに別の実施形態に係る画面共有システム３００の構成を示すブロック図である。画面共有システム３００は、第１の装置３１０と、第２の装置３２０とを少なくとも有する。第１の装置３１０及び第２の装置３２０は、例えば、インターネットなどのネットワークを介して通信可能に接続されている。画面共有システム３００は、表示装置３１０ａを含んでもよいが、必須の構成要素ではない。
【００３９】
表示装置３１０ａは、画面データに対応する画面を表示する。表示装置３１０ａは、第１の装置３１０と接続され、又は第１の装置３１０に含まれてもよい。ここでいう接続は、表示装置３１０ａと第１の装置３１０との間に他の装置を含む形態（すなわち間接的な接続）であってもよいし、これらの装置の間に他の装置を含まない形態（すなわち直接的な接続）であってもよい。表示装置３１０ａは、入力装置を兼ねたタッチスクリーンデバイスであってもよい。
【００４０】
第１の装置３１０は、制御部３１１と、通信部３１２と、入力部３１３と、記憶部３１４と、データ取得部３１５と、文字領域特定部３１６と、入力領域特定部３１７と、画像領域特定部３１８と、データ生成部３１９とを有する。
【００４１】
制御部３１１は、第１の装置３１０の各部の動作を制御する。制御部３１１は、例えば、ＣＰＵ（Central Processing Unit）などの処理装置（プロセッサ）とメモリとを含み、プログラムを実行できるように構成されている。データ取得部３１５、文字領域特定部３１６、入力領域特定部３１７、画像領域特定部３１８及びデータ生成部３１９は、制御部３１１が特定のアプリケーションプログラムを実行することによって（すなわちソフトウェアによって）実装されてもよい。
【００４２】
通信部３１２は、第２の装置３２０とデータをやり取りする。通信部３１２は、例えば、データを符号化及び復号する回路を含む。通信部３１２による通信は、有線と無線のいずれであってもよい。
【００４３】
入力部３１３は、ユーザによるデータの入力を受け付ける。入力部３１３は、例えば、キーボード、マウスなどの入力装置又は当該入力装置を接続するインターフェースを含む。
【００４４】
記憶部３１４は、データを記憶する。記憶部３１４は、例えば、ハードディスク、フラッシュメモリなどの書き換え可能な不揮発性の記憶媒体を含む。記憶部３１４は、着脱可能な記憶媒体又はそのリーダライタを含んで構成されてもよい。記憶部３１４は、本実施形態における画面の共有に必要なデータを記憶する。
【００４５】
データ取得部３１５は、画面データを取得する。データ取得部３１５は、文字領域特定部３１６及び記憶部３１４に画面データを供給してもよい。データ取得部３１５は、取得部１１０の一例に相当する。
【００４６】
文字領域特定部３１６は、文字領域を特定する。文字領域は、第１の領域の一例に相当する。文字領域は、画面データに対応する画面のうち、１又は複数の文字が表示される領域である。文字領域特定部３１６は、第１の特定部１２０の一例に相当する。
【００４７】
入力領域特定部３１７は、入力領域を特定する。入力領域は、第２の領域の一例に相当する。入力領域は、画面データに対応する画面のうち、文字が入力され得る領域である。本実施形態において、入力領域は、他の領域と区別可能な色であったり、所定の線（枠など）で囲われていたりするなど、外観に所定の規則性を有する。入力領域特定部３１７は、この外観上の規則性に基づいて入力領域を特定する。入力領域特定部３１７は、第２の特定部１３０の一例に相当する。
【００４８】
画像領域特定部３１８は、画像領域を特定する。画像領域は、画面データに対応する画面のうち、データ生成部３１９により生成される画像データによって可視化される領域である。画像領域特定部３１８は、文字領域特定部３１６により特定された文字領域と、入力領域特定部３１７により特定された入力領域とに基づいて画像領域を特定する。
【００４９】
画像領域特定部３１８は、文字領域及び入力領域の経時変化を判断し、変化があった領域を画像領域に含めてもよい。すなわち、画像領域特定部３１８は、ある文字領域又は入力領域を画像領域に含んだ後、当該文字領域又は入力領域に変化がない場合には、当該領域を画像領域から除外してもよい。
【００５０】
データ生成部３１９は、画像データを生成する。データ生成部３１９は、画像領域特定部３１８により特定された画像領域を表す画像データを生成する。データ生成部３１９は、生成された画像データを通信部３１２に供給する。データ生成部３１９は、生成部１４０の一例に相当する。
【００５１】
第２の装置３２０は、制御部３２１と、通信部３２２と、入力部３２３と、表示部３２４とを有する。制御部３２１、通信部３２２及び入力部３２３の構成は、第１の装置３１０の同名の構成要素と同様である。表示部３２４は、データ生成部３１９により生成され、通信部３１２により送信された画像データに応じた画像を表示する。
【００５２】
図７は、第１の装置３１０及び第２の装置３２０が実行する処理の一例を示すシーケンスチャートである。同図に示される一連の処理は、第１の装置３１０が画面データを取得する毎に繰り返される。第１の装置３１０は、例えば、所定の時間間隔で画面データを反復的に取得する。
【００５３】
ステップＳ３１において、データ取得部３１５は、画面データを取得する。ステップＳ３２において、文字領域特定部３１６は、画面データに対してレイアウト解析を実行する。レイアウト解析とは、画面データが表す画面における文字のレイアウトを解析し、当該画面から１又は複数の文字領域を特定する処理をいう。文字領域特定部３１６は、複数の文字が塊をなして配置されていれば、当該複数の文字を一つの文字領域と認識する。文字領域特定部３１６は、ＯＣＲ技術を用いた文字認識処理によって文字領域を特定することができる。
【００５４】
また、ステップＳ３２において、文字領域特定部３１６は、特定された文字領域に関するデータ（すなわちレコード）を文字領域テーブルに記録する。文字領域テーブルは、個々の文字領域の位置（すなわち座標）を示すデータを含む。ステップＳ３２において特定された文字領域の数を「ｍ」とすると、文字領域特定部３１６は、ｍ個のレコードを文字領域テーブルに記録する。なお、ｍは、１以上の整数である。
【００５５】
ステップＳ３３において、画像領域特定部３１８は、ステップＳ３２において特定された文字領域から画像領域を特定する第１のループ処理を実行する。より詳細には、画像領域特定部３１８は、ステップＳ３２において特定された文字領域のそれぞれが画像領域に該当するか、すなわち第２の装置３２０への送信対象に該当するかを判断する。第１のループ処理は、ステップＳ３２において特定された文字領域を取捨選択する処理であるともいえる。
【００５６】
ステップＳ３４において、入力領域特定部３１７は、画面データに対して画像解析を実行する。画像解析とは、画面データが表す画面を解析し、上述された所定の規則性に基づいて入力領域を特定する処理をいう。入力領域特定部３１７は、例えば、画素の色やエッジの有無又は方向に基づいて入力領域を特定する。入力領域特定部３１７は、画面データが表す画面のうち、文字領域を除く領域に対して画像解析を実行してもよい。
【００５７】
また、ステップＳ３４において、入力領域特定部３１７は、特定された入力領域に関するレコードを入力領域テーブルに記録する。入力領域テーブルは、個々の入力領域の位置を示すデータを含む。ステップＳ３４において特定された入力領域の数を「ｎ」とすると、入力領域特定部３１７は、ｎ個のレコードを入力領域テーブルに記録する。なお、ｎは、１以上の整数である。
【００５８】
ステップＳ３５において、画像領域特定部３１８は、ステップＳ３４において特定された入力領域から画像領域を特定する第２のループ処理を実行する。より詳細には、画像領域特定部３１８は、ステップＳ３４において特定された入力領域のそれぞれが画像領域に該当するか、すなわち第２の装置３２０への送信対象に該当するかを判断する。第２のループ処理は、ステップＳ３４において特定された入力領域を取捨選択する処理であるともいえる。
【００５９】
ステップＳ３６において、データ生成部３１９は、画像データを生成する。データ生成部３１９は、後述される画像領域テーブルを参照することにより、ステップＳ３３及びＳ３５において特定された画像領域を画像に含む画像データを生成する。ステップＳ３７において、データ生成部３１９は、生成された画像データを通信部３１２に供給することにより、画像データを第２の装置３２０に送信する。第２の装置３２０が画像データを受信すると、表示部３２４は、ステップＳ３８において当該画像データに応じた画像を表示する。
【００６０】
ステップＳ３９において、データ取得部３１５は、ステップＳ３１において取得された画面データを記憶部３１４に記録する。この画面データは、データ取得部３１５により新たな画面データが取得され、図７に示される一連の処理が再度実行される場合に、後述される比較対象として用いられる。すなわち、この画面データは、更新前の画面データであるともいえる。
【００６１】
図８は、ステップＳ３３の第１のループ処理を詳細に示すフローチャートである。ステップＳ３３１において、画像領域特定部３１８は、ステップＳ３２において特定された文字領域の一つを表す画像データＤiを取得する。ｉは、画像データを区別するための１以上ｍ以下のインデックスであり、その初期値は「１」である。例えば、画像領域特定部３１８は、文字領域テーブルに記録されたレコードを所定の順序で読み出すことにより、画像データＤiを取得することができる。
【００６２】
ステップＳ３３２において、画像領域特定部３１８は、画像データＤiに比較対象が存在するかを判断する。より詳細には、画像領域特定部３１８は、画像データＤiに対応する更新前の画像データが記憶部３１４に記憶されているか判断する。例えば、データ取得部３１５が画面データを最初に取得したタイミングでは、比較対象の画像データは、いずれの画像データＤiについても記録されていない。画像領域特定部３１８は、画像データＤiに比較対象が存在しない場合（ステップＳ３３２：ＮＯ）、ステップＳ３３３、Ｓ３３４の処理をスキップ（すなわち省略）する。
【００６３】
画像データＤiに比較対象が存在する場合（ステップＳ３３２：ＹＥＳ）、画像領域特定部３１８は、ステップＳ３３３において比較対象の画像データを記憶部３１４から取得する。具体的には、画像領域特定部３１８は、文字領域テーブルを参照することにより、記憶部３１４に記憶された更新前の画面データのうち、画像データＤiと同じ座標の文字領域を表す部分を読み出す。
【００６４】
ステップＳ３３４において、画像領域特定部３１８は、画像データＤiと更新前の画像データとを比較し、両者の画像に差異があるか判断する。これらの画像に差異がある場合（ステップＳ３３４：ＹＥＳ）、画像領域特定部３１８は、ステップＳ３３５において画像データＤiを画像領域に追加する。具体的には、画像領域特定部３１８は、画像データＤiに関するレコードを画像領域テーブルに記録する。一方、比較された２つの画像に差異がない場合（ステップＳ３３４：ＮＯ）、画像領域特定部３１８は、ステップＳ３３５の処理をスキップする。
【００６５】
ステップＳ３３６において、画像領域特定部３１８は、第１のループ処理を続行するか判断する。具体的には、画像領域特定部３１８は、ｉの値がｍ未満であるか判断する。画像領域特定部３１８は、ｉの値がｍ未満であれば（ステップＳ３３６：ＹＥＳ）ステップＳ３３７においてｉの値を「１」増加（すなわちインクリメント）し、ステップＳ３３１以降の処理を繰り返す。一方、ｉの値がｍに達したら（ステップＳ３３６：ＮＯ）、画像領域特定部３１８は、第１のループ処理を終了させる。
【００６６】
図９は、ステップＳ３５の第２のループ処理を詳細に示すフローチャートである。ステップＳ３５１において、画像領域特定部３１８は、ステップＳ３４において特定された入力領域の一つを表す画像データＤjを取得する。ｊは、画像データを区別するための１以上ｎ以下のインデックスであり、その初期値は「１」である。例えば、画像領域特定部３１８は、入力領域テーブルに記録されたレコードを所定の順序で読み出すことにより、画像データＤjを取得することができる。
【００６７】
ステップＳ３５２において、画像領域特定部３１８は、画像データＤjに比較対象が存在するかを判断する。より詳細には、画像領域特定部３１８は、画像データＤjに対応する更新前の画像データが記憶部３１４に記憶されているか判断する。画像領域特定部３１８は、画像データＤjに比較対象が存在しない場合（ステップＳ３５２：ＮＯ）、ステップＳ３５３、Ｓ３５４の処理をスキップする。
【００６８】
画像データＤjに比較対象が存在する場合（ステップＳ３５２：ＹＥＳ）、画像領域特定部３１８は、ステップＳ３５３において比較対象の画像データを記憶部３１４から取得する。具体的には、画像領域特定部３１８は、入力領域テーブルを参照することにより、記憶部３１４に記憶された更新前の画面データのうち、画像データＤjと同じ座標の入力領域を表す部分を読み出す。
【００６９】
ステップＳ３５４において、画像領域特定部３１８は、画像データＤjと更新前の画像データとを比較し、両者の画像に差異があるか判断する。これらの画像に差異がある場合（ステップＳ３５４：ＹＥＳ）、画像領域特定部３１８は、ステップＳ３５５において画像データＤjを画像領域に追加する。具体的には、画像領域特定部３１８は、画像データＤjに関するレコードを画像領域テーブルに記録する。一方、比較された２つの画像に差異がない場合（ステップＳ３５４：ＮＯ）、画像領域特定部３１８は、ステップＳ３５５の処理をスキップする。
【００７０】
ステップＳ３５６において、画像領域特定部３１８は、第２のループ処理を続行するか判断する。具体的には、画像領域特定部３１８は、ｊの値がｎ未満であるか判断する。画像領域特定部３１８は、ｊの値がｎ未満であれば（ステップＳ３５６：ＹＥＳ）ステップＳ３５７においてｊの値をインクリメントし、ステップＳ３５１以降の処理を繰り返す。一方、ｊの値がｎに達したら（ステップＳ３５６：ＮＯ）、画像領域特定部３１８は、第２のループ処理を終了させる。
【００７１】
図１０Ａ〜図１０Ｃは、画面データと当該画面データに基づいて生成される画像データを例示する図である。図１０Ａは、第１の画面データＤ３１と当該画面データに対応する第１の画像データＤ３１ａとを示す図である。第１の画面データＤ３１は、表示開始時の画面データに相当し、上述された比較対象の画面データが存在しない。第１の画面データＤ３１は、文字領域及び入力領域（ここではテキストボックス）を含むウィンドウＷ１と、文字領域を含むウィンドウＷ２とを含む画面を表す。
【００７２】
第１の画像データＤ３１ａは、画像領域Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５及びＲ６を含む画像を表す。第１の画像データＤ３１ａは、画像領域Ｒ１〜Ｒ６を除く領域の画像を含まずに構成される。したがって、第１の画像データＤ３１ａは、このような領域の画像を含む場合に比べ、データ量が少なくなる。
【００７３】
図１０Ｂは、第２の画面データＤ３２と当該画面データに対応する第２の画像データＤ３２ａとを示す図である。ここにおいて、第２の画面データＤ３２は、第１の画面データＤ３１に連続する（すなわち、第１の画面データＤ３１の次に取得される）画面データである。第２の画面データＤ３２は、ウィンドウＷ２に表示される文字が異なる点を除き、第１の画面データＤ３１と同じ画面を表す。
【００７４】
この場合、第２の画像データＤ３２ａは、第１の画像データＤ３１ａと比較して差異がある部分、すなわち画像領域Ｒ３のみを含む画像を表す。第２の装置３２０は、第２の画像データＤ３２ａを受信すると、画像領域Ｒ３を更新する一方、画像領域Ｒ１、Ｒ２、Ｒ４、Ｒ５及びＲ６を更新せず、更新前と同じ画像を表示し続ける。
【００７５】
図１０Ｃは、第３の画面データＤ３３と当該画面データに対応する第３の画像データＤ３３ａとを示す図である。ここにおいて、第３の画面データＤ３３は、第２の画面データＤ３２に連続する画面データである。第３の画面データＤ３３は、ウィンドウＷ１の入力領域に文字が新たに表示されている点を除き、第２の画面データＤ３２と同じ画面を表す。
【００７６】
この場合、第３の画像データＤ３３ａは、第２の画像データＤ３２ａと比較して差異がある部分、すなわち画像領域Ｒ１のみを含む画像を表す。第２の装置３２０は、第３の画像データＤ３３ａを受信すると、画像領域Ｒ１を更新する一方、画像領域Ｒ２、Ｒ３、Ｒ４、Ｒ５及びＲ６を更新せず、更新前と同じ画像を表示し続ける。
【００７７】
なお、第１の装置３１０は、画像領域Ｒ１〜Ｒ６を除く領域の画像を含む画像データを生成してもよい。この場合、第１の装置３１０は、画像領域Ｒ１〜Ｒ６を除く領域の画質を画像領域Ｒ１〜Ｒ６よりも低下させてもよい。また、第１の装置３１０は、画像領域Ｒ１〜Ｒ６を除く領域を含む画像を、画面の更新回数よりも少ない回数で画像データに含めてもよい。
【００７８】
本実施形態によれば、第２実施形態と同様の効果を奏することができる。具体的には、本実施形態によれば、第１の装置３１０が文字領域及び入力領域を含む画像データを生成及び送信することにより、第２の装置３２０における操作性と視認性の両立を図ることが可能である。
【００７９】
また、本実施形態は、画面データが表す画面のうち、文字領域を除く領域に対して画像解析を実行する構成を採用することができる。この構成によれば、文字領域に対して画像解析を実行する場合に比べ、画像解析を実行する領域を少なくすることが可能である。
【００８０】
また、本実施形態は、文字領域又は入力領域の更新前との差異を判断し、差異がない場合に画像領域から除外する構成を採用することができる。この構成によれば、文字領域又は入力領域の差異の有無を判断しない場合に比べ、画像データのデータ量を少なくすることが可能である。
【００８１】
［変形例］
本開示は、上述された第１実施形態〜第３実施形態に限定されない。本開示は、当業者が把握し得る変形又は応用を適用した形態を含み得る。例えば、本開示は、以下に記載される変形例を含む。また、本開示は、本明細書に記載された事項を必要に応じて適宜に組み合わせた形態を含み得る。例えば、特定の実施形態を用いて説明された事項は、他の実施形態に対しても適用され得る。
【００８２】
（変形例１）
第１の領域及び第２の領域の形状は、特に限定されない。一の態様において、第１の領域及び第２の領域の形状は、正方形又は長方形である。別の態様において、第１の領域及び第２の領域の形状は、正方形又は長方形を複数連結させて組み合わせた形状であってもよい。第１の領域及び第２の領域は、画素単位で特定されてもよい。
【００８３】
（変形例２）
画像領域は、文字領域及び入力領域のいずれとも異なる領域を含んでもよい。このような領域は、例えば、ユーザの操作を受け付ける領域（ボタン、アイコンなど）や、所定の情報を表示するピクトグラムを表示する領域である。データ生成部３１９は、あらかじめ記録されたこのような領域の規則性を参照することにより、当該領域を画像領域に含む画像データを生成することが可能である。
【００８４】
（変形例３）
本開示に係る各装置（データ処理装置１００、第１の装置２１０、３１０及び第２の装置２２０、３２０）の具体的なハードウェア構成は、さまざまなバリエーションが考えられ、特定の構成に限定されない。例えば、各装置は、ソフトウェアを用いて実現されてもよい。
【００８５】
図１１は、各装置を実現するコンピュータ装置４００のハードウェア構成の一例を示すブロック図である。コンピュータ装置４００は、ＣＰＵ（Central Processing Unit）４０１と、ＲＯＭ（Read Only Memory）４０２と、ＲＡＭ（Random Access Memory）４０３と、記憶装置４０４と、ドライブ装置４０５と、通信インターフェース４０６と、入出力インターフェース４０７とを備える。本開示に係る各装置は、図１１に示される構成（又はその一部）によって実現され得る。
【００８６】
ＣＰＵ４０１は、ＲＡＭ４０３を用いてプログラム４０８を実行する。プログラム４０８は、ＲＯＭ４０２に記憶されていてもよい。また、プログラム４０８は、メモリカードなどの記録媒体４０９に記録され、ドライブ装置４０５によって読み出されてもよいし、外部装置からネットワーク４１０を介して送信されてもよい。通信インターフェース４０６は、ネットワーク４１０を介して外部装置とデータをやり取りする。入出力インターフェース４０７は、周辺機器（入力装置、表示装置など）とデータをやり取りする。通信インターフェース４０６及び入出力インターフェース４０７は、データを取得又は出力する手段として機能することができる。
【００８７】
なお、各装置の構成要素は、単一の回路（プロセッサなど）によって構成されてもよいし、複数の回路の組み合わせによって構成されてもよい。ここでいう回路（circuitry）は、専用又は汎用のいずれであってもよい。
【００８８】
上述された実施形態において単体の装置として説明された構成は、複数の装置に分散して設けられてもよい。例えば、データ処理装置１００は、クラウドコンピューティング技術などを用いて、複数のコンピュータ装置によって実現されてもよい。
【符号の説明】
【００８９】
１００    データ処理装置
１１０    取得部
１２０    第１の特定部
１３０    第２の特定部
１４０    生成部
２００、３００    画面共有システム
２１０、３１０    第１の装置
２２０、３２０    第２の装置
４００    コンピュータ装置
【図１】
0006631319.tif 000002
【図２】
0006631319.tif 000003
【図３】
0006631319.tif 000004
【図４】
0006631319.tif 000005
【図５】
0006631319.tif 000006
【図６】
0006631319.tif 000007
【図７】
0006631319.tif 000008
【図８】
0006631319.tif 000009
【図９】
0006631319.tif 000010
【図１０Ａ】
0006631319.tif 000011
【図１０Ｂ】
0006631319.tif 000012
【図１０Ｃ】
0006631319.tif 000013
【図１１】
0006631319.tif 000014