(第一の実施形態)
以下に図面を参照して、第一の実施形態について説明する。図1は、第一の実施形態の情報処理システムのシステム構成の一例を示す図である。
本実施形態の情報処理システム100は、電子黒板(電子情報ボード)200と、サーバ装置300と、を有する。情報処理システム100において、電子黒板200とサーバ装置300とは、ネットワークを介して接続される。したがって、本実施形態の情報処理システム100は、電子黒板200を含む複数の装置を有するシステムである。
本実施形態の情報処理システム100において、電子黒板200は、手書き入力された文字や画像等を示すストローク情報、電子黒板200の画面をキャプチャした画像データ、マイク等の集音装置よって集音された音声データ等を、サーバ装置300に送信する。尚、本実施形態の電子黒板200は、ストローク情報や画像データ、音声データを取得したときの日時を、取得した情報と対応付けてサーバ装置300に送信しても良い。
また、電子黒板200は、複数の端末装置と通信が可能であり、各端末装置から画像データや音声データを取得しても良い。この場合、電子黒板200に表示される画像は、複数の端末装置によって共有されても良く、電子黒板200は、複数の端末装置に共有される画面を表示させる共有端末(端末装置)となる。
以下の説明では、電子黒板200からサーバ装置300に送信される各種のデータをコンテンツデータと呼ぶ。したがって、本実施形態のコンテンツデータは、音声データ、画像データ、動画データと、それぞれの情報を受信した日時を示す情報等を含む。
尚、本実施形態のストローク情報とは、電子黒板200に対して手書き入力が行われた場合において、利用者に手書き入力された一画毎の軌跡を示す点群の座標情報である。本実施形態では、一画毎の軌跡を示す点群(ストローク情報)によって描画される画像がストローク画像となる。ストローク情報の詳細は、後述される。
また、例えば、電子黒板200がある会議において使用された場合、本実施形態の電子黒板200は、会議名を特定する情報と、会議中に電子黒板200が取得したコンテンツデータとを対応付けてサーバ装置300へ送信しても良い。
本実施形態のサーバ装置300は、受信したコンテンツデータを格納する。このとき、サーバ装置300は、電子黒板200から取得したコンテンツデータを、会議毎に格納しても良い。また、本実施形態の電子黒板200は、サーバ装置300の有する音声認識機能を用いて、発話データに基づく操作指示(コマンド)を受け付ける音声操作が行われても良い。
尚、本実施形態の音声データは、電子黒板200の周辺で発話した人の声や、人の声以外の様々な音等、集音装置が集音した全ての音を示す波形をデジタル化したデータである。したがって、本実施形態では、電子黒板200の周辺で発話した人の声を示す発話データは、音声データの一部である。
さらに、本実施形態の電子黒板200は、画面のキャプチャ画像から、電子黒板200を用いて行われた会議等における重要事項を示す重要事項情報を抽出する。
電子黒板200の利用者は、電子黒板200に表示された画面において、利用者が重要だと考える重要事項が描画されていた場合、この部分を強調するために、特定の色や線種のストローク画像を入力することが推定される。
そこで、本実施形態では、特定の属性(色や線種)のストローク画像によって指定されている領域内の画像データを重要事項と捉え、この領域内の画像データを重要事項情報として抽出する。
言い換えれば、本実施形態では、電子黒板200の画面のキャプチャ画像において、特定の属性で描画されたストローク画像が示す領域内の画像データを、重要事項情報として抽出する。
さらに、本実施形態では、キャプチャ画像において、領域を特定するためのストローク画像以外にも、特定の属性で描画された画像が存在する場合に、この画像を除去する処理を行う。
本実施形態では、この処理を行うことで、利用者が重要だと考える事項が描画された領域内の画像データのみを、重要事項情報として抽出することができ、利用者が意図した画像データを抽出することができる。言い換えれば、本実施形態では、利用者が意図した情報(重要事項情報)を抽出することができる。
以下の説明では、電子黒板200に対する手書き入力を受け付けることを、ストローク画像の入力を受け付ける、と表現する。言い換えれば、以下の説明では、電子黒板200が、ディスプレイに対する利用者の手又は電子ペン等の接触を検出してから、利用者の手又は電子ペン等が離れたことを検出するまでの間は、ストローク画像が入力されている状態となる。
本実施形態の電子黒板200は、コンテンツデータから重要事項情報を抽出して保存しておくことで、電子黒板200を用いた会議の途中や、会議終了時等の任意のタイミングで、会議の参加者に、会議で決定された重要事項を迅速に提示することができる。
つまり、本実施形態の情報処理システム100は、コンテンツデータに含まれる重要事項情報を抽出し、電子黒板200に提供する重要事項抽出サービスを提供するシステムと言える。
以下に、図2及び図3を参照して、本実施形態の情報処理システム100の有する各装置のハードウェア構成について説明する。図2は、電子黒板のハードウェア構成の一例を示す図である。
図2に示されているように、電子黒板200は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、SSD(Solid State Drive)204、ネットワークI/F(Interface)205、及び、外部機器接続I/F206を備えた端末装置である。
これらのうち、CPU201は、電子黒板200全体の動作を制御する。尚、CPU201は、例えば、複数のCPUを含んでいても良い。
ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。SSD204は、電子黒板用のプログラム等の各種データを記憶する。ネットワークI/F205は、通信ネットワークとの通信を制御する。外部機器接続I/F206は、USB(Universal Serial Bus)メモリ2600、外付け機器(カメラ2400、スピーカ2300、マイク2200)との通信を制御する。
また、電子黒板200は、キャプチャデバイス211、GPU212、ディスプレイコントローラ213、接触センサ214、センサコントローラ215、電子ペンコントローラ216、近距離通信回路219、近距離通信回路219のアンテナ219a、及び電源スイッチ222を備えている。
これらのうち、キャプチャデバイス211は、PC400-1のディスプレイに対して映像情報を静止画または動画として表示させる。GPU(Graphics Processing Unit)212は、グラフィクスを専門に扱う半導体チップである。ディスプレイコントローラ213は、GPU212からの入力画像をディスプレイ230(表示装置)等へ出力するために画面表示の制御及び管理を行う。接触センサ214は、ディスプレイ230上に電子ペン2500や利用者の手H等が接触したことを検知する。
センサコントローラ215は、接触センサ214の処理を制御する。接触センサ214は、赤外線遮断方式による座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、ディスプレイ230の上側両端部に設置された2つ受発光装置が、ディスプレイ230に平行して複数の赤外線を放射し、ディスプレイ230の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。接触センサ214は、物体によって遮断された2つの受発光装置が放射した赤外線のIDをセンサコントローラ215に出力し、センサコントローラ215が、物体の接触位置である座標位置を特定する。
電子ペンコントローラ216は、電子ペン2500と通信することで、ディスプレイ230へのペン先のタッチやペン尻のタッチの有無を判断する。近距離通信回路219は、NFC、Bluetooth(登録商標)等の通信回路である。
電源スイッチ222は、電子黒板200の電源のON/OFFを切り換えるためのスイッチである。
また、電子黒板200は、バスライン210を備えている。バスライン210は、図2に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
更に、電子黒板200は、RS-232Cポート223、変換コネクタ224、Bluetoothコントローラ225を有する。
RS-232Cポート223は、バスライン210と接続されており、PC400-2等をCPU201等に接続する。変換コネクタ224は、PC400-2のUSB(Universal Serial Bus)ポートに電子黒板200を接続するためのコネクタである。
Bluetoothコントローラ225は、例えば、PC400-1等と、Bluetoothによる通信を行うためのコントローラである。
尚、接触センサ214は、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。また、電子ペンコントローラ216が、電子ペン2500のペン先及びペン尻だけでなく、電子ペン2500の利用者が握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしてもよい。
次に、図3を参照して、本実施形態のサーバ装置300のハードウェア構成について説明する。図3は、サーバ装置のハードウェア構成の一例を示す図である。
サーバ装置300は、コンピュータによって構築されており、図3に示されているように、CPU301、ROM302、RAM303、HD(Hard Disk)304、HDD(Hard Disk Drive)305、記録メディア306、メディアI/F307、ディスプレイ308、ネットワークI/F309、キーボード311、マウス312、CD-ROMドライブ314、及び、バスライン310を備えた情報処理装置である。
これらのうち、CPU301は、サーバ装置300全体の動作を制御する。また、本実施形態では、CPU301は、複数のCPUを含んでいても良い。
ROM302は、IPL等のCPU301の駆動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。HD304は、プログラム等の各種データを記憶する。HDD(Hard Disk Drive)305は、CPU301の制御にしたがってHD304に対する各種データの読み出し又は書き込みを制御する。メディアI/F307は、フラッシュメモリ等の記録メディア306に対するデータの読み出し又は書き込み(記憶)を制御する。ディスプレイ308は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。ネットワークI/F309は、通信ネットワークを利用してデータ通信をするためのインターフェースである。キーボード311は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。マウス312は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。CD-ROMドライブ314は、着脱可能な記録媒体の一例としてのCD-ROM(Compact Disc Read Only Memory)313に対する各種データの読み出し又は書き込みを制御する。
また、サーバ装置300は、バスライン310を備えている。バスライン310は、図3に示されているCPU301等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
次に、図4を参照して、本実施形態の電子黒板200を利用する状態について説明する。図4は、利用者が電子黒板を利用する状態を示したイメージ図である。
例えば、利用者Aが電子黒板200を利用する場合、電源スイッチ222を押下すると、後述する表示制御部が、ディスプレイ230上にログイン画面を表示させる。このとき、利用者Aが、電子黒板200の近距離通信回路219に、自身のICカード10を近接させると、電子黒板200は、ICカード10からICカード10の識別情報を読み取る。そして、電子黒板200は、サーバ装置300に対して、ICカード10の識別情報を含む認証要求を送信する。そして、電子黒板200は、サーバ装置300から、利用者Aが認証されたことを示す通知を受けると、利用者Aによって入力された情報をICカード10の識別情報と対応付けてサーバ装置300に保存することができるようになる。
次に、図5を参照して、情報処理システム100の有する各装置の機能について説明する。図5は、第一の実施形態の情報処理システムの有する各装置の機能を説明する図である。
始めに、電子黒板200の機能について説明する。以下に説明する電子黒板200の各部は、電子黒板200の有する1又は複数のCPU201がROM202等に格納されたプログラムを読み出して実行することで実現される。
本実施形態の電子黒板200は、ページ記憶部250、表示制御部260、入力部261、集音部262、ページ処理部263、重要事項抽出部264、通信部265、カード読取部266、カード情報対応付け部266、属性設定部268、属性データベース270を有する。
本実施形態のページ記憶部250は、ページ処理部263の処理により取得された各種のデータを記憶する。具体的には、ページ記憶部250には、重畳画像データ251、ストローク画像データ252、ページデータ253、PDF(Portable Document Format)データ254が格納される。各データの詳細は、後述される。尚、本実施形態のページ記憶部250は、例えば、電子黒板200のSSD204等に設けられても良い。
本実施形態の表示制御部260は、入力部261が取得した画像をディスプレイ230に表示させる。
本実施形態の入力部261は、例えば、電子黒板200に入力される入力画像データや、電子黒板200に入力された各種のファイル、遠隔地に設置された他の電子黒板200に表示されている画像を取得する。入力画像データは、例えば、電子黒板200と接続されたPC400-2等から出力される。
また、入力部261は、ディスプレイ230に対して手書き入力された文字や画像を示すストローク画像等を取得する。また、入力部261は、カメラ2400により撮影された動画データ等を取得する。本実施形態では、動画データは、画像データに含まれる。また、入力部261は、電子黒板200に対するストローク画像の属性の変更指示を受け付ける。
本実施形態の集音部262は、マイク2200に入力された音声を音声データとして取得する。また、集音部262は、映像と共に入力される音声データを取得する。
本実施形態のページ処理部263は、ディスプレイ230に表示された1ページの画像から、重畳画像データ251、ページデータ253、PDFデータ254を取得する。また、ページ処理部263は、1ページの画像にストローク画像が入力された場合には、ストローク画像データ252を取得する。
具体的には、ページ処理部263は、ディスプレイ230に表示された画像や入力されたストローク画像等を重畳させた重畳画像の画像データを取得し、重畳画像データ251としてページ記憶部250に格納する。尚、ページ処理部263は、ディスプレイ230に対してストローク画像が入力されていない場合には、ディスプレイ230に表示された画像を重畳画像データとする。
本実施形態の重畳画像とは、ディスプレイ230の画面をキャプチャしたキャプチャ画像であり、重畳画像データとは、キャプチャ画像データである。言い換えれば、本実施形態のキャプチャ画像は、ディスプレイ230に表示された表示画像である。
また、ページ処理部263は、ディスプレイ230に対してストローク画像が入力された場合には、ストローク画像の画像データを取得し、ストローク画像データ252として、ページ記憶部250に格納する。
また、ページ処理部263は、ディスプレイ230に表示された画像から、この画像を表示させるための表示用のページデータを生成し、ページデータ253としてページ記憶部250に格納する。ページデータ253の詳細は、後述される。
また、ページ処理部263は、重畳画像データ251と、ストローク画像データ252と、ページデータ253と、から、重畳画像データ251をPDF形式に変換したPDFデータ254を生成し、ページ記憶部250に格納する。
本実施形態のPDFデータ254は、重畳画像データ251から生成されるPNG(Portable Network Graphics)形式の画像データと、ページデータから生成されるベクタ形式のストローク画像データとを含むものとした。尚、ベクタ形式のデータとは、幾何図形を作成するための情報を数値や式として表現したデータである。尚、本実施形態のPDFデータは、ストローク画像が入力されていない場合には、重畳画像データ251から生成されるPNG(Portable Network Graphics)形式の画像データのみとなる。
本実施形態では、重畳画像データ251には、例えば、ページを識別するページ識別情報(ページID)が含まれ、重畳画像データ251、ストローク画像データ252、ページデータ253、PDFデータ254のそれぞれが、ページIDによって対応付けられていても良い。
本実施形態では、ページ記憶部250に格納されたデータのうち、ページデータ253以外の重畳画像データ251、ストローク画像データ252、PDFデータ254が、コンテンツデータの一部として、サーバ装置300に送信されても良い。
本実施形態の重要事項抽出部264は、ページ処理部263に記録された重畳画像データから、重要事項情報を抽出する。重要事項抽出部264の詳細は、後述される。
本実施形態の通信部265は、入力部261が受け付けた各種のデータや、集音部262が取得した音声データや、重畳画像データ、PDFデータ等を含むコンテンツデータや、重要事項抽出部264により抽出された重要事項情報をサーバ装置300へ送信する。
本実施形態のカード読取部266は、アンテナ219aにICカード等が翳されると、ICカードに記録されている識別情報(カードID)を読み取る。本実施形態のカードIDは、例えば、ICカードの所有者(電子黒板200の利用者)を特定するためのカード識別情報である。
カード情報対応付け部267は、カード読取部266が読み取ったカードIDと、コンテンツデータとを対応付ける。具体的には、カード情報対応付け部267は、例えば、カード読取部266によりカードIDが読み取られてから所定時間内に取得したコンテンツデータを、読み取ったカードIDと対応付けても良い。
このようにすれば、本実施形態では、例えば、会議の参加者が、発話する前や文字や数字等を書き込む前等に、自身が所持しているICカードをアンテナ219aに翳すだけで、文字、画像、音声等のコンテンツデータと、コンテンツデータを入力した参加者とを対応付けることができる。また、通信部265は、コンテンツデータを送信する際に、コンテンツデータに対応付けられたカードIDと共に、サーバ装置300へ送信する。
本実施形態の属性設定部268は、ストローク画像に対する属性の変更指示に基づき、属性データベース270を参照して、属性の変更指示を受けたストローク画像に対し、設定された特定の属性を設定する以下の説明では、特定の属性を特定の属性情報と呼ぶ。
本実施形態における特定の属性情報とは、この属性情報が設定されたストローク画像が特定する領域内の情報が、重要事項情報であることを示す識別情報でもある。また、本実施形態の属性の変更指示とは、例えば、ディスプレイ230の所定の位置をタッチする操作を行うことや、予め決められた特定の形状のストローク画像を描画することによって、与えられても良い。
尚、本実施形態の特定の属性情報は、属性設定部268に予め設定されていても良い。また、本実施形態の特定の属性情報は、属性データベース270が参照されて、選択された属性情報であっても良い。
本実施形態の属性データベース270は、手書き入力により描画されるストローク画像
に設定される属性情報の一覧が格納されている。本実施形態の属性情報とは、例えば、ストローク画像の色や線の太さや種類等である。属性データベース270は、例えば、電子黒板200のSSD204等に設けられていても良い。属性データベース270の詳細は後述される。
次に、本実施形態のサーバ装置300の機能について説明する。本実施形態のサーバ装置300は、コンテンツデータベース330、重要事項データベース340を有する。図5では、これらの各データベースは、サーバ装置300に設けられるものとしているが、これに限定されない。これらの各データベースは、サーバ装置300の外部の記憶装置等に設けられていても良い。
また、本実施形態のサーバ装置300は、通信部361、音声認識部362、コンテンツ格納部363、重要事項格納部364を有する。本実施形態のサーバ装置300の有する各部は、サーバ装置300が有する1又は複数のCPU301が、ROM302等に格納されたプログラムを読み出して実行することで実現される。
コンテンツデータベース330は、電子黒板200から受信した各種のデータ(コンテンツデータ)が格納される。
重要事項データベース340は、重要事項抽出部264により抽出された重要事項情報が格納される。各データベースの詳細は、後述される。
本実施形態の通信部361は、サーバ装置300と他の装置との通信を行う。具体的には、通信部361は、サーバ装置300と電子黒板200との間の情報の送受信を行う。
本実施形態の音声認識部362は、コンテンツデータに含まれる音声データを、音声認識機能によってテキストデータに変換する。音声認識部362の音声認識機能は、例えば、人工知能等によって実現されても良い。
本実施形態のコンテンツ格納部363は、通信部361がコンテンツデータを受信すると、このコンテンツデータをコンテンツデータベース330に格納する。
重要事項格納部364は、通信部361が、電子黒板200の重要事項抽出部264により抽出された重要事項情報を受信すると、受信した重要事項情報を重要事項データベース340に格納する。尚、本実施形態の重要事項格納部364は、重要事項情報を格納する際に、重要事項情報を、重要事項情報の抽出元となる重畳画像データが取得された日時や、重畳画像データと対応付けられた会議の名称等と対応付けて格納しても良い。
次に、図6乃至図8を参照して、本実施形態のサーバ装置300の有する各データベースについて説明する。
図6は、第一の実施形態の属性データベースの一例を示す図である。本実施形態の属性データベース270は、情報の項目として、線種、線色、線幅を有し、それぞれが対応付けられている。尚、図6に示す「線」とは、直線と曲線を含み、ストローク画像である一画の画像を示す。項目「線種」の値は、線の種類を示す。項目「線色」の値は、線の色を示す。項目「線幅」の値は、線の太さを示す。
図6では、例えば、線種として、実線、点線1、点線2、・・と行った線種が存在することがわかる。また、図6では、例えば、線色として、赤、橙、黄等といった色が存在することがわかる。また、図6では、例えば、線幅として、××mm、○○mmといった線幅が存在することがわかる。
本実施形態の属性情報とは、属性データベース270の有する各項目と、項目の値とを含む情報である。つまり、本実施形態の属性情報とは、ストローク画像の色と線種と線幅を示す情報である。
ここで、本実施形態の属性設定部268に保持される特定の属性情報の設定について説明する。
本実施形態の情報処理システム100において、電子黒板200は、入力部261が、属性情報の一覧の表示要求を受け付けると、属性データベース270を参照し、属性情報の一覧画面を電子黒板200のディスプレイ230に表示させる。
属性情報の一覧画面とは、例えば、属性データベース270の有する項目毎に、項目の値を設定させる画面等である。電子黒板200は、ディスプレイ230に表示された画面において、項目「線種」、「線色」、「線幅」毎の値が選択されると、選択された各項目の値を、特定の属性情報として、属性設定部268に保持させる。
したがって、本実施形態の属性制御部268に保持される属性情報は、ストローク画像を描画する際の線種と、線色と、線幅を示す情報である。例えば、電子黒板200において、項目「線種」の値に点線1、項目「線色」に橙、項目「線幅」に0.8mmが選択された場合、属性情報は、「点線1、橙、0.8mm」となる。
図7は、第一の実施形態のコンテンツデータベースの一例を示す図である。
本実施形態のコンテンツデータベース330は、情報の項目として、会議ID、日付、カードID、時刻、コンテンツデータを有する。
項目「会議ID」の値は、電子黒板200を用いて開催されている会議を特定するための識別情報である。項目「日付」の値は、対応する会議IDで特定される会議が開催された日付を示す。項目「カードID」の値は、ICカードに格納されたカード識別情報を示す。項目「時刻」の値は、対応するコンテンツデータが取得された時刻を示す。項目「コンテンツデータ」の値は、コンテンツデータそのものである。
図7の例では、2017年2月10日に開催された会議ID「001」の会議において、電子黒板200は、10:00に、カードID「100」と対応付けられた音声データを取得したことがわかる。同様に、電子黒板200は、10:01に、カードID「100」と対応付けられた重畳画像データを取得し、10:03に、カードID「100」と対応付けられたストローク画像データを取得したことがわかる。
尚、コンテンツデータベース330には、音声認識部362によって音声データから変換されたテキストデータが格納されても良い。この場合、テキストデータは、HD304等に格納されても良い。また、コンテンツデータベース330には、会議IDと対応付けられた会議名等が含まれても良い。
図8は、第一の実施形態の重要事項データベースの一例を示す図である。本実施形態の重要事項データベース340は、情報の項目として、会議ID、日付、重要事項、ページデータIDを有し、それぞれの項目が対応付けられている。本実施形態の重要事項情報は、重要事項データベース340において、項目「会議ID」、「日付」、「カードID」、「重要事項」、「ページID」の値を含む情報であっても良い。
項目「日付」は、「重要事項」が含まれるが取得された日付を示す。項目「重要事項」の値は、重畳画像データから抽出された、重要事項を示す画像データを示す。項目「ページID」の値は、重要事項を示す画像データが含まれる重畳画像を識別するためのページ識別情報である。
尚、重要事項データベース340は、情報の項目として、図8に示す全ての項目を有していなくても良い。重要事項データベース340は、情報の項目として、項目「会議ID」と項目「重要事項」が含まれれば良い。
図8の例では、2017年2月10日に開催された会議ID「001」の会議において、カードID「100」と対応付けられた画像データ11.jpgが重要事項として抽出されたことがわかる。
尚、本実施形態のサーバ装置300では、OCR(Optical Character Recognition)を有し、重要事項情報として抽出された画像データによって示される画像の文字認識を行っても良い。その場合、サーバ装置300は、重要事項情報に、画像データから文字認識されたテキストデータを含めてもよい。本実施形態では、この処理を行うことで、重要事項をテキストデータとして記憶することができる。
尚、上述した情報処理システム100では、サーバ装置300を一台のサーバ装置としたが、これに限定されない。情報処理システム100の有するサーバ装置300は複数台であっても良く、その場合、どのサーバ装置にどの機能やどのデータベースを備えさせても良い。さらに、本実施形態で説明する電子黒板200と、サーバ装置300とが接続された情報処理システム100のシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
次に、図9乃至図13を参照して、本実施形態のページ処理部263により生成され、記録されるページデータ253について説明する。はじめに、本実施形態の電子黒板200のディスプレイ230に表示される画面について説明する。
図9は、電子黒板のディスプレイに表示される画面について説明する図である。図9(A)は、重畳される画像を説明する図であり、図9(B)は、重畳画像の一例を示す図である。
本実施形態の電子黒板200において、表示制御部260は、入力部261により取得される入力画像や、ストローク画像、UI(User Interface)画像及び背景画像を予め指定されたレイアウトにしたがって重畳して表示させる。
尚、UI画像とは、予め設定された画像である。また、背景画像は、例えば、無地の画像やグリッド線を含む画像等であり、重畳画像に含まれるメディアデータである。メディアデータの詳細は、後述される。
表示制御部260は、図9に示すように、UI画像を表示させるためのレイヤ91、ストローク画像を表示させるためのレイヤ92、PCから出力されて電子黒板200に入力される入力画像を表示させるレイヤ93、背景画像を表示させるためのレイヤ94を有する。
本実施形態の表示制御部260は、電子黒板200の利用者からディスプレイ230を見たとき、レイヤ91が1層目、レイヤ92が2層目、レイヤ93が3層目、レイヤ94が4層目となるように、各レイヤを重畳させる。
そして、表示制御部260は、UI画像の画像データ(UI画像データ)、ストローク画像データ、入力画像の画像データ(入力画像データ)、背景画像の画像データ(背景画像データ)を合成することで、4層の重畳画像90の画像データを生成する。
つまり、本実施形態の重畳画像とは、ディスプレイ230の各レイヤに表示された画像を合成した画像である。
次に、図10を参照して、本実施形態のページデータについて説明する。図10は、第一の実施形態のページデータを説明する図である。
本実施形態のページデータとは、重畳画像をディスプレイ230に表示させるための表示用のデータである。
本実施形態のページデータは、情報の項目として、ページデータID、開始時刻、終了時刻、ストローク配列データID、メディアデータIDを有する。
項目「ページデータID」の値は、ページデータを識別するための識別情報である。例えば、ページデータID「p001」のページデータが、重畳画像90から生成された場合、ページデータID「p001」と重畳画像90を識別するページIDとは対応づけられている。
項目「開始時刻」の値は、ページデータIDが特定するページの表示が開始された時刻を示す。項目「終了時刻」の値は、ページの更新が終了した時刻を示す。言い換えれば、項目「終了時刻」の値は、ストローク画像の入力等により、ページの内容の書き換えが終了した時刻を示す。
項目「ストローク配列データID」の値は、ストローク画像の入力により生成されたストローク配列データを識別するための識別情報を示す。本実施形態のストローク配列データは、特定の形状を示す点群の座標情報を含む。つまり、本実施形態のストローク配列データが、一画毎の軌跡を示す点群であるストローク情報である。
項目「メディアデータID」の値は、メディアデータを識別するための識別情報を示す。メディアデータとは、背景画像をディスプレイ230に表示させるための画像データである。言い換えれば、メディアデータとは、ディスプレイ230に表示された背景画像の画像データである。
このように、本実施形態では、入力されたストローク画像をディスプレイ230に表示させるためのストローク配列データを、ページデータと対応付ける。
また、本実施形態では、ストローク画像が入力されなかった場合には、ページデータと対応付けられるストローク配列データが存在しないため、ページデータにおける項目「ストローク配列データID」の値が空欄となる。
例えば、図10の例では、ページデータID「p001」は、ストローク配列データID「st001」と対応付けられている。したがって、ページデータID「p001」で特定されるページデータには、ストローク画像が入力されたことがわかる。
また、図10の例では、ページデータID「p002」は、ストローク配列データIDの値が入力されていない。したがって、ページデータID「p002」で特定されるページ画像データには、ストローク画像が入力されていないことがわかる。
次に、図11を参照して、本実施形態のストローク配列データについて説明する。図11は、ストローク配列データを説明する図である。
本実施形態のストローク配列データは、複数のストロークデータを含んでいる。各ストロークデータは、利用者が手書き入力によってストローク画像を描画する度に生成される。例えば、利用者が電子ペン2500でアルファベットの「S」を描く場合、一筆書きとなるため、1つのストロークデータIDで、一文字が示される。また、例えば、利用者が電子ペン2500でアルファベットの「T」を描く場合、2画となるので、2つのストロークデータIDで、一文字のアルファベットの「T」が示されることになる。
本実施形態のストローク配列データは、情報の項目として、ストロークデータID、開始時刻、終了時刻、色、幅、及び座標廃立データIDを含む。
項目「ストロークデータID」は、ストロークデータを識別するための識別情報である。項目「開始時刻」の値は、利用者がストロークを書き始めた時刻を示す。項目「終了時刻」の値は、利用者がストロークを書き終わった時刻を示す。
項目「色」の値は、そのストロークの色を示し、項目「幅」の値は、ストロークの幅を示す。項目「座標配列データID」の値は、ストロークの通過点に関する情報が含まれる座標配列データ(座標群)を識別するための識別情報を示す。
次に、図12を参照して、本実施形態の座標配列データについて説明する。図12は、座標配列データを説明する図である。
本実施形態の座標配列データは、座標配列データID毎に設けられる。本実施形態の座標配列データは、情報の項目として、X座標値、Y座標値、差分時刻、筆圧を有する。
項目「X座標値」と項目「Y座標」の値は、ストロークが通過した点毎の、ディスプレイ230上での位置を示す。項目「差分時刻」の値は、利用者がストロークを書き始めた時刻から、項目「X座標値」と項目「Y座標」の値とが示す位置を通過した時刻までの差分を示す。項目「筆圧」の値は、電子ペン2500の筆圧を示す。
次に、図13を参照して、本実施形態のメディアデータについて説明する。図13は、メディアデータを説明する図である。
本実施形態のメディアデータは、情報の項目として、メディアデータID、データの種類、記録時刻、X座標値、Y座標値、幅、高さ、及びデータを含む。
項目「メディアデータID」の値は、メディアデータを識別するための識別情報を示す。項目「データの種類」の値は、メディアデータの種類を示す。項目「記録時刻」の値は、電子黒板200において、重畳画像データが保存された時刻を示す。項目「X座標値」と項目「Y座標」の値は、ディスプレイ230上に表示されるメディアデータの位置を示す。尚、より具体的には、項目「X座標値」と項目「Y座標」の値は、ディスプレイ230の左上端の座標を基準としたときのメディアデータの左上端の位置を示している。
項目「幅」の値と、項目「高さ」の値は、メディアデータのサイズを示す。より具体的には、項目「幅」の値と、項目「高さ」の値は、メディアデータの種類が画像であった場合の画像の幅と高さを示す。項目「データ」の値は、メディアデータの内容を示している。
本実施形態のページデータは、以上のような構造のデータとして、電子黒板200に格納されている。
次に、図14を参照して、本実施形態の重要事項抽出部264について説明する。図14は、第一の実施形態の電子黒板の有する重要事項抽出部の機能を説明する図である。
本実施形態の重要事項抽出部264は、属性検出部271、ノイズ除去部272、不要領域除去部273、重要事項情報出力部274を有する。
本実施形態の属性検出部271は、ページ記憶部250に格納された重畳画像データが示す重畳画像から、属性設定部268に保持された特定の属性情報が示す色の画像を検出する。
具体的には、本実施形態の属性検出部271は、画像変換部275、バイナリ画像生成部276を有する。
画像変換部275は、RGB色空間で示される画像を、HSV色空間で示される画像に変換する。より具体的には、画像変換部275は、RGB色空間で示される重畳画像データを、HSV色空間で示される重畳画像データへ変換する。以下の説明では、RGB色空間で示される画像をRGB画像データと呼び、HSV色空間で示される画像をHSV画像データと呼ぶ。尚、HSV色空間とは、色相(Hue)、彩度(Saturation・Chroma)、明度(Value・Lightness・Brightness)の三つの成分からなる色空間である。
バイナリ画像生成部276は、画像変換部275によって変換されたHSV画像から、特定の属性情報が示す色で描画された画像の領域の値を「1」とし、それ以外の領域の値を「0」としたバイナリ画像を生成する。バイナリ画像とは、白と黒のみの2値で表現される画像である。
尚、本実施形態では、RGB画像データをHSV画像データに変換した後にHSV画像データからバイナリ画像を生成するものとしたが、色空間の変換は、RGB色空間からHSV色空間への変換に限定されない。
例えば、本実施形態では、RGB色空間の画像データを、XYZ表色系で示される色空間の画像データに変換しても良いし、xyY表色系で示される色空間の画像データに変換しても良い。また、本実施形態では、RGB色空間の画像データを、L*u*v表色系で示される色空間の画像データに変換しても良いし、L*a*b表色系で示される色空間の画像データに変換しても良い。また、本実施形態では、RGB色空間の画像データを、HLS表色系で示される色空間の画像データに変換しても良い。また、本実施形態では、RGB色空間の画像データを、輝度信号Yと、2つの色差信号を使って表現されるYUV色空間や、YCbCr色空間や、YPbPr色空間の画像データに変換しても良い。
本実施形態のノイズ除去部272は、属性検出部271により、特定の属性情報が示す色のストローク画像が検出されると、このストローク画像が検出された重畳画像からノイズを除去する。
本実施形態のノイズ除去部272によって除去されるノイズとは、例えば、特定の属性情報が示す色によって描画された画像であって、特定の属性情報が示す線幅より細い幅で描画された画像等である。
本実施形態のノイズ除去部272は、例えば、バイナリ画像を膨張させる膨張処理と、バイナリ画像を縮小させる縮小処理を実行するモルフォロジー変換処理を行うことで、バイナリ画像に対するノイズの除去を行う。
本実施形態の不要領域除去部273は、ノイズ除去部272によってノイズが除去された後のバイナリ画像から、不要な領域を除去する処理を行う。
本実施形態の不要領域除去部273によって除去される不要な領域とは、重要事項が含まれる領域とは考えられない大きさの領域である。
本実施形態の不要領域除去部273は、ラベリング処理部277、小矩形除去部278、重なり判定部279を有する。
ラベリング処理部277は、バイナリ画像に対して、画素の連続性に基づいて、連続する画素のラベリングを行う。そして、ラベリング処理部277は、同じレベルが付与された画素群に外接する矩形の領域(バウンディングボックス)を示す情報を取得する。
つまり、本実施形態のラベリング処理部277は、特定の属性情報が設定された画像に外接する矩形群について、矩形毎に、1ページ分の画像(重畳画像)における矩形の位置と大きさを示す矩形領域情報を取得する領域情報取得部の機能を果たす。
以下の説明では、ラベリング処理部277が取得する領域を示す情報を、バウンディングボックス領域情報と呼ぶ。尚、バウンディングボックスとは、図形対象を取り囲むもので、通常は目に見えない長方形の枠であって,その図形対象が選択されたとき見えるようになるものである。バウンディングボックス領域情報の詳細は、後述される。
小矩形除去部278は、バウンディングボックス領域情報による算出されるバウンディングボックス領域の面積と、ディスプレイ230の面積とを比較した結果に応じて、バウンディングボックスを除去する。
重なり判定部279は、小矩形除去部278により除去されていないバウンディングボックス同士が重なり合っているか否かを判定する。そして、重なり判定部279は、重なり合っていないバウンディングボックスと、重なりあっていても、ある条件を満たしているバウンディングボックスとを、重要事項情報を抽出するために特定された領域と判定する。
重要事項情報出力部274は、不要領域除去部273によって、重要事項情報を抽出するために特定された領域内の画像データを、重要事項情報として出力する。
以下に、図15を参照して、本実施形態の情報処理システム100の動作について説明する。図15は、第一の実施形態の情報処理システムの動作を説明するシーケンス図である。
本実施形態の情報処理システム100において、電子黒板200は、表示制御部260により、コンテンツデータをディスプレイ230に表示させる(ステップS1501)。
続いて、電子黒板200は、入力部261により、手書き入力で入力されるストローク画像の属性の変更指示の入力を受け付ける(ステップS1502)。具体的には、例えば、電子黒板200は、ディスプレイ230上の特定の位置に対するタップ等を、属性の変更指示として受け付けても良い。
電子黒板200は、属性の変更指示を受け付けると、属性設定部268が保持している特定の属性情報を入力されるストローク画像に対して設定する(ステップS1503)。
続いて、電子黒板200は、入力部261が、ディスプレイ230に対するストローク画像の入力を受け付けると、表示制御部260により、入力されたストローク画像を特定の属性情報のストローク画像として、ディスプレイ230に描画する(ステップS1504)。
続いて、電子黒板200は、入力部261が、ディスプレイ230に表示された画像の切り替え指示を受け付けると(ステップS1505)、ページ処理部263が、ディスプレイ230に表示された画面の重畳画像データと、ストローク画像データと、をページ記憶部250に格納する(ステップS1506)。
尚、図15では、ストローク画像が入力される例を示しているが、ストローク画像が入力されずに、画像の切り替え指示を受け付けた場合には、ページ処理部263は、重畳画像データのページ記憶部250に格納する。
また、ページ処理部263は、ページデータとPDFデータとを生成し、ページ記憶部250に格納する(ステップS1507)。
続いて、電子黒板200は、重要事項抽出部264により、重畳画像データから重要事項情報を抽出する処理を行う(ステップS1508)。ステップS1508の処理の詳細は、後述される。
続いて、電子黒板200は、コンテンツデータと、重要事項抽出部264が抽出した重要事項情報と、を取得し(ステップS1509)、コンテンツデータと重要事項情報とをサーバ装置300へ送信する(ステップS1510)。ここで取得されるコンテンツデータは、重畳画像データと、PDFデータと、を含む。
続いて、電子黒板200は、重要事項抽出部264により抽出された重要事項情報の一覧を表示させる(ステップS1511)。尚、電子黒板200は、重要事項情報の一覧の表示要求を受け付けた場合にのみ、重要事項情報の一覧を表示するようにしても良い。
サーバ装置300は、通信部361が、電子黒板200からコンテンツデータと重要事項情報とを受信する(ステップS1512)。続いて、サーバ装置300は、コンテンツ格納部363がコンテンツデータをコンテンツデータベース330へ格納し、重要事項格納部364が重要事項データベース340に重要事項情報を格納する(ステップS1513)。
以下に、本実施形態の重要事項抽出部264による処理について、さらに説明する。図16は、第一の実施形態の重要事項抽出部で扱う画像のデータ構造を説明する図である。図16(A)は、一般的な画像を説明する図である。図16(A)に示すように、画像Gは、画素P1、P2、・・・、Pnの集合によって構成される。
図16(B)は、画素が有する値を説明する図である。画素Pnは、画像GがRGB画像である場合には、R値、B値、G値に加え、透過率αを含む。
図16(C)は、画像のデータ構造を説明する図である。本実施形態において、画像のデータ構造は、一次元配列として扱う。例えば、画像Gは、画素P1のR値、B値、G値、透過率α、画素P2のR値、B値、G値、透過率α、と続く一次元配列として扱われる。
本実施形態の重畳画像も、図16に示す一般的な画像と同様のデータ構造を有するものとした。また、本実施形態では、画像Gのデータ構造におけるRGB値を参照して、特定の属性情報が設定されたストローク画像を検出する。
図17は、重要事項抽出部の処理を説明するフローチャートである。図17に示す処理は、図15のステップS1508において、重要事項抽出部264が実行する処理である。尚、重要事項抽出部264は、電子黒板200の有する1つ又は複数のCPU201がROM202等に格納されたプログラムを読み出して実行することで実現される。
本実施形態の重要事項抽出部264は、属性検出部271により、重畳画像データから特定の属性情報の色が設定されたストローク画像データを検出する(ステップS1701)。
続いて、重要事項抽出部264は、ノイズ除去部272により、重畳画像データからノイズを除去する処理を行う(ステップS1702)。続いて、重要事項抽出部264は、不要領域除去部273により、不要な領域を除去する処理を行う(ステップS1703)。ステップS1702とステップS1703の処理の詳細は、後述される。
続いて、重要事項抽出部264は、重要事項情報出力部274により、ステップS1703までの処理によって抽出された領域内かの画像データを重要事項情報として出力し(ステップS1704)、処理を終了する。
次に、図18を参照して、図17のステップS1701に示す属性検出部271の処理について説明する。図18は、重要事項抽出部の有する属性検出部の処理を説明するフローチャートである。
本実施形態の属性検出部271は、RGB画像データである重畳画像データを取得すると、画像変換部275により、この重畳画像データをHSV画像データに変換する(ステップS1801)。
具体的には、画像変換部275は、重畳画像に含まれる全ての画素に対して、RGB値をHSV値に変換する処理を行う。ここで、R値、G値、B値の中で最大値をImaxとし、最小値をIminとし、RGB値は0~255)で正規化されているものとして考えた場合、色相Hは、最大値ImaxがR値の場合、以下の式(1)で求められる。ただし、色相H<0の場合は、360を足す。
また、色相Hは、最大値I
maxがG値の場合、以下の式(2)で求められる。
また、色相Hは、最大値I
maxがB値の場合、以下の式(3)で求められる。
また、彩度Sは、以下の式(4)で求められ、明度Vは、最大値I
maxの値とする。
次に、属性検出部271は、バイナリ画像生成部276により、HVS画像データに変換された重畳画像データから、重畳画像のバイナリ画像を生成し(ステップS1802)、処理を終了する。
以下に、例えば、特定の属性情報が示す色をオレンジ色とした場合のバイナリ画像生成部276の処理について説明する。
オレンジ色をHSV値で示した場合、[Ht,St,Vt]=[15,30,225]である。バイナリ画像生成部276は、この値を基準値として、以下の式(5)によって重畳画像の各画素の値Bを算出し、バイナリ画像を生成する。尚、式(5)において、αはゆらぎの許容範囲である。
本実施形態では、基準値となるH値、S値、V値にゆらぎαを設け、所定の範囲とすることで、例えば、ディスプレイ230に表示された画像を重畳画像データとして出力する際に生じるHSV値の変化により、検出すべきストローク画像が検出されなくなる、といったことを抑制できる。尚、HSV値の変化は、ディスプレイ230に表示された画像を重畳画像データとする際の圧縮処理等によって生じる。
本実施形態のゆらぎαは、例えば、ディスプレイ230に表示された画像を重畳画像データとして出力する際の圧縮の方法等に応じて、任意の値に設定されて良い。
尚、上述した例では、特定の属性情報が示す色をオレンジ色としたが、特定の属性情報が示す色は任意の色であって良い。
図19は、重畳画像から生成されたバイナリ画像の一例を示す図である。図19(A)は、HSV画像とされた重畳画像の例を示しており、図19(B)は、図19(A)に示す重畳画像から生成されたバイナリ画像の例を示している。
図19(A)に示す重畳画像191では、特定の属性情報が示す色のストローク画像ST1、ST2、ST3が含まれる。
本実施形態のバイナリ画像生成部276は、このストローク画像ST1、ST2、ST3に含まれる画素の値を全て「1」とすることで、図19(B)に示す二値のバイナリ画像191Aを生成する。
バイナリ画像191Aでは、ストローク画像ST1と対応する白色のストローク画像ST1a、ストローク画像ST2と対応する白色のストローク画像ST2a、ストローク画像ST3と対応する白色のストローク画像ST3aが含まれることがわかる。
本実施形態では、以上のように、重畳画像から特定の属性情報が示す色の画像を検出する。
次に、図20を参照して、図17のステップS1702に示すノイズ除去部272の処理について説明する。図20は、重要事項抽出部の有するノイズ除去部の処理を説明するフローチャートである。
本実施形態のノイズ除去部272は、属性検出部271により生成されたバイナリ画像における白色の領域を縮小させる処理を行う(ステップS2001)。続いて、ノイズ除去部272は、縮小された白色の領域を膨張させる処理を行い(ステップS2002)、処理を終了する。
以下に、図21及び図22を参照して、本実施形態のノイズ除去部272の処理について具体的に説明する。
図21は、ノイズ除去部による縮小処理と膨張処理を説明する第一の図である。図21(A)は、縮小処理を説明する図であり、図21(B)は、膨張処理を説明する図である。
本実施形態では、入力されたバイナリ画像に対して、図21(A)に示すような縮小処理を行うと、細かいノイズを除去することができる。縮小処理は、以下の式(6)のように示すことができる。
尚、式(6)において、Aは入力画像、Bは構造化要素、cは結果Cの構成要素を示す。
図21(A)の入力画像Aは、構造化要素Bと、結果cが示す構成要素を含む。縮小処理において、構造化要素Bの原点は、入力画像Aの要素と対比される。そして、構造化要素Bの原点は、構造化要素Bに含まれる全ての要素が、入力画像Aの要素と重なる場合のみ、残される。
結果Cは、このようにして構造化要素Bの原点と入力画像Aの各要素とを重ねて対比した結果の、構造化要素Bの原点の軌跡を示している。
図21(A)の入力画像Aの各要素(画素)に対し、原点を要素Boとする構造化要素Bを重ねていった場合、要素Boが入力画像Aの要素A1に重なった場合と、要素A2に重なった場合に、構造化要素Bの要素Bo以外の全ての要素が、入力画像Aと重なる。したがって、結果Cは、要素A1と要素A2を含むものとなる。
また、本実施形態では、入力されたバイナリ画像に対して、図21(B)に示すような膨張処理は、以下の式(7)のように示すことができる。
尚、式(7)において、Aは入力画像、Bは構造化要素B、cは結果Cの構成要素を示す。
図21(B)の結果Cは、入力画像Aに含まれる要素と構造化要素Bの要素を足したものである。膨張処理において、構造化要素Bの原点となる要素Boは、入力画像Aの各要素と重ねられる。そして、膨張処理では、要素Boを入力画像Aの各要素と重ねたとき、入力画像Aに、構造化要素Bの要素Bo以外の要素と重なる要素が存在しない場合、入力画像Aの該当する位置に要素を加える。
したがって、図21(B)に示す結果Cに含まれる要素は、入力画像Aに含まれる要素に、要素A11~要素A16が加えられる。
本実施形態のノイズ除去部272は、上述した縮小処理と膨張処理とを、バイナリ画像191A(図19参照)に対して行う。
図22は、ノイズ除去部による縮小処理と膨張処理を説明する第二の図である。図22(A)は、バイナリ画像191Aを示し、図22(B)は、バイナリ画像191Aに対して縮小処理を行った結果であるバイナリ画像191Bを示し、図22(C)は、バイナリ画像191Aに対して膨張処理を行った結果であるバイナリ画像191Cを示す。
バイナリ画像191Bには、ストローク画像ST1b、ST2bのみが存在し、バイナリ画像191Aでは存在していたストローク画像ST3aが除去されていることがわかる。また、バイナリ画像191Bを膨張させたバイナリ画像191Cにも、ストローク画像ST1c、ST2cのみが存在し、ストローク画像ST3aが除去されていることがわかる。
本実施形態では、以上のようにして、ノイズを除去することで、属性検出部271によって検出された特定の属性情報が示す色の画像であって、特定の属性情報が示す線幅よりも幅の細い線の画像をノイズとして除去することができる。
言い換えれば、本実施形態では、ノイズ除去部272の処理によって、属性検出部271が検出した画像のうち、特定の属性情報が示す線幅以外の幅で描画された画像を、バイナリ画像から除去することができる。
尚、本実施形態では、ノイズ除去部272は、縮小処理と膨張処理を用いたモルフォロジー変換処理を行うものとしたが、これに限定されない。ノイズ除去部272は、特定の属性情報が示す線幅よりも細い線画をノイズとして除去できれば良い。
次に、図23を参照して、図17のステップS1703に示す不要領域除去部273の処理について説明する。図23は、重要事項抽出部の有する不要領域除去部の処理を説明するフローチャートである。
本実施形態の不要領域除去部273は、ノイズ除去部272による処理が行われた後のバイナリ画像に対し、ラベリング処理部277により、ラベリングを行い、バイナリ画像に含まれる各画像のバウンディングボックス領域情報を取得する(ステップS2301)。
続いて、不要領域除去部273は、小矩形除去部278によって、バウンディングボックス領域情報により示される矩形領域の面積が所定値以下のバウンディングボックスを、ノイズとして除去する(ステップS2302)。ステップS2302の処理の詳細は、後述される。
続いて、不要領域除去部273は、残ったバウンディングボックス領域情報に基づき、重なり合っていないバウンディングボックス又は、所定の条件で重なり合っているバウンディングボックスを抽出し(ステップS2303)、処理を終了する。ステップS2303の処理の詳細は、後述される。
本実施形態では、ステップS2303において抽出されたバウンディングボックス内の画像データが、重要事項情報出力部274によって、重要事項情報として出力される。
以下に、図24を参照して、本実施形態のラベリング処理部277によるラベリングについて説明する。
図24は、ラベリング処理部によりラベリングを説明する図である。図24(A)は、ラベリング処理部277に入力されるバイナリ画像の一部を示しており、図24(B)は、ラベリングされた状態を示しており、図24(C)は、ラベリングした結果のバウンディングボックス領域情報を示す。
本実施形態のラベリング処理部277は、バイナリ画像における画素の連続性に基づき、各画素のラベリングを行う。本実施形態のラベリング処理部277は、4近傍での領域成長法により、ラベリングを行うものとした。
図24の例では、図24(A)に示すバイナリ画像241に含まれる4つの白色の領域241a、241b、241c、241dのそれぞれについて、ラベリングされる。
そして、ラベリング処理部277は、図24(B)に示すように、ラベリングされた領域241a、241b、241c、241dのそれぞれのバウンディングボックスについて、バウンディングボックス領域情報を取得する。
具体的には、ラベリング処理部277は、バウンディングボックスの4つの頂点のうち、左上の頂点の座標と、バウンディングボックスの高さと幅を、バウンディングボックス領域情報として取得する。
図24(C)は、領域241aのバウンディングボックス領域情報241Aを示している。図24(B)において、領域241aのバウンディングボックスは、矩形241Sである。したがって、バウンディングボックス領域情報241Aは、矩形241Sの左上の頂点Pの座標と、矩形241Sの幅widthと、高さhightを含む情報となる。尚、頂点Pの座標は、バイナリ画像241の左上の頂点を原点としたときの座標であっても良い。
尚、本実施形態では、4近傍の領域成長法により、ラベリングを行うものとしたが、これに限定されない。ラベリング処理部277は、8近傍の領域成長法によりラベリングを行っても良い。
次に、図25を参照して、図23のステップS2302における小矩形除去部278の処理について説明する。
図25は、小矩形除去部の処理を説明するフローチャートである。本実施形態の小矩形除去部278は、全てのバウンディングボックス領域情報について、ステップS2502以降の処理を行ったか否かを判定する(ステップS2501)。
ステップS2501において、全てのバウンディングボックス領域情報について、該当する処理を行った場合、小矩形除去部278は、処理を終了する。
ステップS2501において、全てのバウンディングボックス領域情報について該当する処理を行っていない場合、小矩形除去部278は、ラベリング処理部277が取得したバウンディングボックス領域情報が示す領域の面積を算出する(ステップS2502)。
続いて、小矩形除去部278は、算出した面積が、所定の閾値以下であるか否を判定する(ステップS2503)。ここでは、ディスプレイ230における表示領域の面積の5%を所定の閾値とした。
ステップS2503において、面積が所定の閾値以下である場合、小矩形除去部278は、このバウンディングボックス領域情報が示す領域を、重要事項情報出力部274による重要事項情報の抽出対象から除外し(ステップS2504)、ステップS2501に戻る。
ステップS2503において、面積が所定の閾値より大きい場合、小矩形除去部278は、ステップS2501に戻る。つまり、面積が所定の閾値より大きいバウンディングボックスは、重要事項情報の抽出対象から除外しない。
本実施形態では、この処理によって、重要事項を含む領域を特定する画像とは考えられない小さい画像(例えば、点の画像等)をノイズとして除去することができる。
また、本実施形態では、所定の閾値をディスプレイ230の表示領域の5%としているが、これに限定されない。
所定の閾値は、例えば、ディスプレイ230の解像度に対するバウンディングボックス内のドット数の割合を示す値としても良い。また、ディスプレイ230の表示領域の面積は、ディスプレイ230の解像度(縦横のドット数)と、ディスプレイ230の大きさ(dot/inch)から算出されても良い。
また、所定の閾値は、ディスプレイ230の大きさに応じて設定されても良い。手書き入力される文字を囲うバウンディングボックスの大きさと、ディスプレイ230の大きさとの関係は、ディスプレイ230の大きさによって変化する。例えば、ディスプレイ230の表示領域の面積に対するバウンディングボックスの面積の割合は、ディスプレイ230の表示領域の面積が小さいほど大きくなり、表示領域の面積が大きいほど小さくなる可能性がある。
本実施形態では、ディスプレイ230の表示領域の面積に対する、バウンディングボックスの面積の割合を示す値を所定の閾値とすることで、ディスプレイ230の大きさに応じて、除去すべきバウンディングボックスの大きさを任意に変更できる。
次に、図26を参照して、図23のステップS2302における重なり判定部279の処理について説明する。
本実施形態の重なり判定部279は、小矩形除去部278により除去されていないバウンディングボックスのうち、重なりあっているバウンディングボックスから、一方のバウンディングボックスを選択し、除去する。以下の説明では、小矩形除去部278によって除去されずに残ったバウンディングボックスをバウンディングボックス群と呼ぶ。
図26は、重なり判定部の処理を説明するフローチャートである。本実施形態の重なり判定部279は、変数iの値を0に設定する(ステップS2601)。続いて、重なり判定部279は、変数iの値が、N未満であるか否かを判定する(ステップS2602)。
尚、Nは整数であり、小矩形除去部278によって除去されずに残ったバウンディングボックス群に含まれるバウンディングボックスの数を示す。言い換えれば、Nは、重なり判定部279による処理の対象となるバウンディングボックスの数である。
ステップS2602において、変数iの値がN未満でない場合、つまり、変数iの値がN以上である場合、重なり判定部279は、後述するステップS2611へ進む。
ステップS2602において、変数iの値がN未満である場合、重なり判定部279は、変数vの値を0に設定する(ステップS2603)。
続いて、重なり判定部279は、変数vの値が、N未満であるか否かを判定する(ステップS2604)。ステップS2604において、変数vの値がN未満でない場合、つまり、変数vの値がN以上である場合、重なり判定部279は、変数iの値に、i+1を設定し(ステップS2605)、ステップS2602に戻る。
ステップS2604において、変数vの値がN未満である場合、重なり判定部279は、バウンディングボックス群のうち、i+v番目のバウンディングボックスの中心点が、i番目のバウンディングボックス内に存在しているか否かを判定する(ステップS2606)。言い換えれば、重なり判定部279は、i番目のバウンディングボックス内に、i+v番目のバウンディングボックスが重なっているか否かを判定している。
また、例えば、i番目のバウンディングボックスは、ディスプレイ230に表示された表示画像のうち、特定の属性情報が設定された画像に外接する矩形群に含まれる、第一の矩形である。また、例えば、i+v番目のバウンディングボックスは、ディスプレイ230に表示された表示画像のうち、特定の属性情報が設定された画像に外接する矩形群に含まれる、第二の矩形である。
ステップS2606において、中心点がi番目のバウンディングボックス内に存在しない場合、重なり判定部279は、後述するステップS2610へ進む。中心点がi番目のバウンディングボックス内に存在しない場合とは、i番目のバウンディングボックスとi+v番目のバウンディングボックスとが、重なっていない場合や、一部が重なっている場合等である。
このように、本重なり判定部279は、ステップS2606において、i番目とi+v番目のバウンディングボックスの中心点の位置に応じて、i+v番目のバウンディングボックスを、重要事項情報出力部274による情報の抽出対象に指定するか否かを判定している。
ステップS2606において、中心点がi番目のバウンディングボックス内に存在する場合、重なり判定部279は、i+v番目のバウンディングボックスの面積が、i番目のバウンディングボックスの面積よりも小さいか否かを判定する(ステップS2607)。
言い換えれば、重なり判定部279は、i番目のバウンディングボックスと、i+v番目のバウンディングボックスとが重なっている領域の大きさの度合いを判定している。
ステップS2607において、面積が小さくない場合、つまり、i+v番目のバウンディングボックスが、i番目のバウンディングボックスの面積以上である場合、重なり判定部279は、後述するステップS2610へ進む。
i+v番目のバウンディングボックスが、i番目のバウンディングボックスの面積以上の場合、仮に、i+v番目のバウンディングボックスの中心点と、i番目のバウンディングボックスの中心点とが重なっていたとしても、i+v番目のバウンディングボックスには、i番目のバウンディングボックスと重ならない領域が存在することを示している。このため、本実施形態では、i+v番目のバウンディングボックスをバウンディングボックス群から除去しない。
ステップS2607において、i+v番目のバウンディングボックスの面積が、i番目のバウンディングボックスの面積より小さい場合、重なり判定部279は、i+v番目のバウンディングボックスを重要事項情報の抽出対象から除去する(ステップS2608)。
i+v番目のバウンディングボックスの面積が、i番目のバウンディングボックスの面積より小さい場合、i+v番目のバウンディングボックスの全領域が、i番目のバウンディングボックスに重なる可能性があることを示している。このため、本実施形態では、i+v番目のバウンディングボックスを、バウンディングボックス群から除去する。
このように、本実施形態の重なり判定部279は、ステップS2607において、i番目とi+v番目のバウンディングボックスの大きさに基づき、i+v番目のバウンディングボックスを重要事項情報出力部274による情報の抽出対象に指定するか否かを判定している。
続いて、重なり判定部279は、Nの値をN-1に設定し(ステップS2609)、vの値をv+1に設定して(ステップS2610)、ステップS2602に戻る。
ステップS2602において、iの値がN以上となった場合、重なり判定部279は、除去されていないバウンディングボックスを、重要事項情報を抽出する領域に指定し(ステップS2611)、処理を終了する。
以上の処理から、本実施形態の重なり判定部279は、バウンディングボックス領域情報が示すi番目とi+v番目のバウンディングボックスの位置、又は、位置及び大きさに基づき、情報の抽出対象とするバウンディングボックスを指定する矩形指定部である。また、本実施形態の重要事項情報出力部274は、重なり判定部279によって指定された矩形内の情報(画像データ)を出力する情報抽出部である。
尚、本実施形態では、バウンディングボックスの中心点が、他のバウンディングボックス内に含まれるか否かに応じて、バウンディングボックス同士が重なっているか否かを判定するものとした。
したがって、本実施形態では、バウンディングボックス同士が重なっているか否かを、各バウンディングボックスの頂点の位置に基づき判定する場合と比較して、簡易な処理とすることができる。
次に、図27を参照して、本実施形態の重なり判定部279の処理について、さらに説明する。
図27は、重なり判定部による処理を説明する図である。図27(A)は、バウンディングボックスが除去されない場合を示す図であり、図27(B)は、バウンディングボックスが除去される場合を説明する第一の図であり、図27(C)は、バウンディングボックスが除去される場合を説明する第二の図である。
図27に示すバイナリ画像281には、バウンディングボックスB1~B7が含まれる。このバウンディングボックスB1~B7は、二値の画像であるバイナリ画像281において、所定の範囲の色の画像と対応する画素群に外接する外接矩形群である。また、バウンディングボックスB1~B7は、二値の画像であるバイナリ画像281において、所定の範囲の色の画像と対応する画素群に外接する外接矩形群のうち、ディスプレイ230の表示領域の面積に対するバウンディングボックスの面積の割合が、所定の閾値より大きい外接矩形群である。
図27(A)では、重なり判定部279により、バウンディングボックスB1がi番目のバウンディングボックスとして選択され、バウンディングボックスB2がv番目のバウンディングボックスとして選択された場合の処理について説明する。
この場合、重なり判定部279は、バウンディングボックスB2の中心点R2が、バウンディングボックスB1に含まれるか否かを判定する。図27(A)の場合、中心点R2は、バウンディングボックスB1に含まれない。したがって、重なり判定部279は、バウンディングボックスB2を、バウンディングボックス群から除去しない。
図27(B)、(C)では、バウンディングボックスB1がi番目のバウンディングボックスとして選択され、バウンディングボックスB3がv番目のバウンディングボックスとして選択された場合の処理について説明する。
この場合、バウンディングボックスB3の中心点R3は、バウンディングボックスB1に含まれる。したがって、重なり判定部279は、バウンディングボックスB3の面積が、バウンディングボックスB1の面積より小さいか否かを判定する。
図27(B)の例では、バウンディングボックスB3の面積は、バウンディングボックスB1の面積より小さい。したがって、重なり判定部279は、バウンディングボックスB3をバウンディングボックス群から除去する。
図27(C)は、バイナリ画像281からバウンディングボックスB3が除去された状態を示している。
本実施形態では、除去されたバウンディングボックスB3内の画像は、バウンディングボックスB3を内包するバウンディングボックスB1の画像として扱われるようになる。
重なり判定部279で、バウンディングボックスB4~B7も、同様に、バウンディングボックス群から除去される。
したがって、バイナリ画像281において、重要事項情報を抽出する領域と特定されるバウンディングボックスは、バウンディングボックスB1とバウンディングボックスB2となる。
本実施形態では、このようにして、重要事項情報を抽出する領域を特定することで、利用者が意図した画像データを重要事項情報として抽出できる。
図28は、抽出された重要事項情報について説明する図である。図28(A)は、ディスプレイ230の表示例を示す図であり、図28(B)は、本実施形態を適用することで抽出される画像の一覧の例を示す図であり、図28(B)は、本実施形態を適用しない場合に抽出される画像の一覧の例を示す図である。
図28(A)に示すように、ディスプレイ230には、特定の属性情報が設定されたストローク画像ST21~ST24が描画されている。このとき、ディスプレイ230に表示された画像は、重畳画像として保存される。
この重畳画像に対して、本実施形態の重要事項抽出部264による処理を適用した場合、
ストローク画像ST22~ST24は、ストローク画像ST21が示す領域内の画像として扱われる。したがって、図28(A)において、重要事項情報として抽出されるのは、ストローク画像ST21によって指定された領域内の画像Gaの画像データのみとなる。
よって、本実施形態では、重要事項抽出部264により抽出された重要事項情報の一覧として、図28(B)に示すように、ストローク画像ST22~ST24を含む画像Gaのみが表示される。
これに対し、本実施形態を適用しない場合では、図28(C)に示すように、画像Ga以外にも、特定の属性情報が設定されたストローク画像ST22~ST24が抽出されることになり、重要事項情報の一覧に利用者が意図しない情報が含まれてしまう。
このように、本実施形態によれば、特定の属性情報が設定されたストローク画像によって指定される領域の中から、利用者が意図していると推定される領域を特定し、特定された領域内の画像データのみを抽出することができる。したがって、本実施形態によれば、利用者が意図した画像データを抽出することができる。
尚、本実施形態では、電子黒板200に対して、利用者の手書きによって特定の属性情報のストローク画像を入力されることで、重要事項が含まれる領域が指定されるものとしたが、これに限定されない。
本実施形態では、例えば、電子黒板200と接続されたPC400-2等から出力されて、電子黒板200に入力される入力画像データにおいて、特定の属性情報の画像によって、重要事項が含まれる領域が指定されていても良い。この場合、属性検出部271は、重畳画像から特定の属性情報の色の画像を検出すれば良く、ノイズ除去部272、不要領域除去部273によるその後の処理も、上述した処理と同様である。
したがって、本実施形態では、利用者による手書き入力以外の方法で指定された領域内の画像データを、重要事項情報として抽出することができる。
(第二の実施形態)
以下に図面を参照して、第二の実施形態について説明する。第二の実施形態は、情報処理システムにおいて、重要事項抽出部をサーバ装置に設けた点が、第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
図29は、第二の実施形態の情報処理システムの有する各装置の機能構成を説明する図である。
本実施形態の情報処理システム100Aは、電子黒板200Aとサーバ装置300Aとを有する。
本実施形態の電子黒板200Aは、ページ記憶部250、表示制御部260、入力部261、集音部262、ページ処理部263、通信部265、カード読取部266、カード情報対応付け部266、属性設定部268、属性データベース270を有する。
本実施形態のサーバ装置300Aは、コンテンツデータベース330、重要事項データベース340、通信部361、音声認識部362、コンテンツ格納部363、重要事項抽出部264A、重要事項格納部364を有する。
本実施形態の重要事項抽出部264Aは、コンテンツデータベース330に格納されたPDFデータに含まれるPNG形式の画像データから、重要事項情報を抽出する点のみ、第一の実施形態の重要事項抽出部264と相違する。
本実施形態において、サーバ装置300Aは、電子黒板200から受信したコンテンツデータから、重要事項情報を抽出する。
以下に、図30を参照して本実施形態の情報処理システム100Aの動作を説明する。図30は、第二の実施形態の情報処理システムの動作を説明するシーケンス図である。
図30のステップS3001からステップS3007までの処理は、図15のステップS1501からステップS1507までの処理と同様であるから、説明を省略する。ステップS3017において、ページデータとPDFデータとがページ記憶部250に格納されると、電子黒板200Aは、通信部265により、コンテンツデータを取得し(ステップS3008)、サーバ装置300へ送信する(ステップS3009)。
サーバ装置300Aは、通信部361がコンテンツデータを受信すると(ステップS3010)、コンテンツ格納部363が受信したコンテンツデータをコンテンツデータベース330に格納させる(ステップS3011)。
続いて、重要事項抽出部264Aは、コンテンツデータベース330に格納されたPDFデータから、PNG形式の画像データを抽出し(ステップS3012)、抽出した画像データから、重要事項情報を抽出する(ステップS3013)。
続いて、サーバ装置300Aは、重要事項格納部364により、抽出した重要事項情報を重要事項データベース340に格納する(ステップS3014)。続いて、サーバ装置300Aは、重要事項データベース340に格納した重要事項情報を読み出して(ステップS3015)、通信部361により電子黒板200Aへ送信させる(ステップS3016)。
電子黒板200Aは、通信部265が重要事項情報を受信すると、受信した重要事項情報の一覧を表示させる(ステップS3017)。
以上のように、本実施形態では、サーバ装置300Aにおいて重要事項情報の抽出を行うため、電子黒板200A側の処理負荷を軽減させることができる。
尚、本実施形態では、重要事項抽出部264Aは、コンテンツデータベース330に格納されたPDFデータに含まれるPNG形式の画像データから重要事項情報を抽出するものとしたが、これに限定されない。本実施形態の重要事項抽出部264Aは、コンテンツデータベース330に格納された重畳画像データに基づき、重要事項情報を抽出しても良い。
尚、上述した情報処理システム100Aでは、サーバ装置300Aを一台のサーバ装置としたが、これに限定されない。情報処理システム100Aの有するサーバ装置300Aは複数台であっても良く、その場合、どのサーバ装置にどの機能やどのデータベースを備えさせても良い。さらに、本実施形態で説明する電子黒板200Aと、サーバ装置300Aとが接続された情報処理システム100Aのシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
(第三の実施形態)
以下に図面を参照して、第三の実施形態について説明する。第三の実施形態は、情報処理システムにおいて、電子黒板の代わりに、画像投影装置を用いた点が、第一の実施形態と相違する。よって、以下の第三の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
図31は、第三の実施形態の情報処理システムを説明する図である。図31に示す情報処理システム100Bは、画像投影装置(プロジェクタ)700とサーバ装置300とを有する。
画像投影装置700は、例えば、画像投影装置700と接続された端末装置から入力された画像データを、スクリーン800に投影する。スクリーン800は、例えば、ホワイトボードや壁面等が代用されても良く、ディスプレイ230に相当するものとなる。
また、画像投影装置700は、電子ペンや利用者の手等の動作を検出することで、スクリーン800に対する手書き入力を検出し、スクリーン800にストローク画像を投影させる。
また、画像投影装置700は、例えば、スクリーン800に表示された保存ボタン285が操作されると、スクリーン800に投影されている画像の画像データを、重畳画像データとして取得し、サーバ装置300へ送信する。画像投影装置700からサーバ装置300へ送信される画像データには、手書き入力されたストローク画像も含まれる。
また、本実施形態の画像投影装置700は、電子黒板200と同様に、取得した重畳画像データから重要事項情報の抽出を行う。
尚、画像投影装置700は、例えば、保存ボタン285が操作された場合に、サーバ装置300にページデータを送信する以外に、例えば、USBメモリ等の可搬型の記録媒体にページデータを出力し、保存させても良い。
以上のように、本実施形態では、画像投影装置700とサーバ装置300のシステムにおいても、利用者が意図した画像データを抽出できる。
次に、図32乃至図34を参照して、上述した各実施形態の情報処理システムの変形例について説明する。
図32は、情報処理システムの変形例を示す第一の図である。図32の例では、電子黒板200の代わりに、端末装置600、画像投影装置700A、ペン動作検出装置810を有する。
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。
画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し、端末装置600へ送信する。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力されるストローク画像の画像データを生成し、画像投影装置700Aによってストローク画像をスクリーン800に描画させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。そして、端末装置600は、重畳画像データから重要事項情報を抽出する。
図33は、情報処理システムの変形例を示す第二の図である。図33の例では、電子黒板200の代わりに、端末装置600とディスプレイ800Aと、ペン動作検出装置810とを有する。
ペン動作検出装置810は、ディスプレイ800Aの近傍に配置され、ディスプレイ800A上に、電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。尚、図33の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力されるストローク画像の画像データを生成し、ディスプレイ800Aに表示させる。
また、本実施形態の端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。そして、端末装置600は、重畳画像データから重要事項情報を抽出する。
図34は、情報処理システムの変形例を示す第三の図である。図34の例では、電子黒板200の代わりに、端末装置600と、画像投影装置700Aとを有する。
端末装置600は、電子ペン820Bと無線通信(Bluetooth等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力されるストローク画像の画像データを生成し、画像投影装置700Aにストローク画像を投影させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。そして、端末装置600は、重畳画像データから重要事項情報を抽出する。
以上のように、上述した各実施形態は、様々なシステム構成において適用することができる。
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(Field Programmable Gate Array)、SOC(System on a chip)、GPU(Graphics Processing Unit)や従来の回路モジュール等のデバイスを含むものとする。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。