(57)【要約】【課題】コンテンツから特定の部分を抽出し、抽出した部分を外部の表示装置で表示する。【解決手段】携帯情報端末は、コンテンツファイルが表す文書のページの画像から、表示領域Ａ１と、メモが記述された非表示領域を検出する。携帯情報端末は、表示領域Ａ１内の画像と、非表示領域の画像を自装置のタッチパネルで表示する。また、携帯情報端末は、非表示領域Ａ１内の画像を表す映像信号を、プロジェクターへ送信する。プロジェクターは、携帯情報端末から送信された映像信号を受信し、受信した映像信号が表す画像を投写する。【選択図】図３
2016173527.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツのビットマップ画像を記憶する記憶手段と、
前記ビットマップ画像から矩形の第１領域を検出する第１検出手段と、
前記第１検出手段が検出した第１領域内の画像を表す映像信号を外部の表示装置へ出力する出力手段と、
前記第１領域に対して所定方向にあり、所定範囲の階調値の画素により定まる第２領域を前記ビットマップ画像から検出する第２検出手段と、
前記第２検出手段が検出した第２領域内の画像を表示部に表示させる表示制御手段と
を備える情報処理装置。
【請求項２】
前記第１検出手段は、前記ビットマップ画像を主走査方向へ走査して画素の階調値を取得し、取得した所定範囲内の階調値の画素の座標から前記矩形の前記主走査方向における一端及び他端を特定し、副走査方向へ前記ビットマップ画像を走査して画素の階調値を取得し、取得した所定範囲内の階調値の画素の座標から前記矩形の前記副走査方向における一端及び他端を特定する
請求項１に記載の情報処理装置。
【請求項３】
前記第２検出手段は、前記ビットマップ画像に対して主走査と副走査を行って画素の階調値を取得し、所定範囲内の階調値の画素の座標から、前記第２領域の主走査方向における一端及び他端と副走査方向における一端及び他端を検出する
請求項１に記載の情報処理装置。
【請求項４】
前記第２検出手段は、副走査を行う際、前記ビットマップ画像の副走査方向の端から所定範囲を走査しない
請求項３に記載の情報処理装置。
【請求項５】
記憶部に記憶されたビットマップ画像から矩形の第１領域を検出する第１検出ステップと、
前記第１検出ステップで検出した第１領域内の画像を表す映像信号を外部の表示装置へ出力する出力ステップと、
前記第１領域に対して所定方向にあり、所定範囲の階調値の画素により定まる第２領域を前記ビットマップ画像から検出する第２検出ステップと、
前記第２検出ステップで検出した第２領域内の画像を表示部に表示させる表示制御ステップと
を備える画像表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを表示する技術に関する。
【背景技術】
【０００２】
特許文献１には、プレゼンテーション用プログラムを実行しているパソコンにおいて、投影用画像を表す投影用画像データと、プレゼンテーションの原稿を表す文書データとを作成し、パソコンでは投影用画像と原稿の両方を表示し、プロジェクターに対しては投影用画像のみを出力する技術が開示されている。特許文献１に開示されているプログラムによれば、パソコンにおいては、プレゼンテーションに使用する画像と、画像に対応する原稿の両方を表示する一方、プロジェクターではプレゼンテーションに使用する画像のみを投写するため、聴講者に対して原稿を見せることなく、発表者は、パソコンで原稿を見ながら発表を行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１９８８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示されているプログラムでは、プロジェクターで表示する画像データと表示しない文書データとが別々に生成されているが、プレゼンテーションに使用するコンテンツを扱うファイルの中には、外部の表示装置で表示する部分と、外部の表示装置で表示しない部分の両方を含むフォーマットのものもある。特許文献１のプログラムでは、このようなフォーマットに対応していないため、ファイルから外部の表示装置で表示する部分のみを抽出してプロジェクターに投写することができない。
【０００５】
本発明は、コンテンツから特定の部分を抽出し、抽出した部分を外部の表示装置で表示する技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、コンテンツのビットマップ画像を記憶する記憶手段と、前記ビットマップ画像から矩形の第１領域を検出する第１検出手段と、前記第１検出手段が検出した第１領域内の画像を表す映像信号を外部の表示装置へ出力する出力手段と、前記第１領域に対して所定方向にあり、所定範囲の階調値の画素により定まる第２領域を前記ビットマップ画像から検出する第２検出手段と、前記第２検出手段が検出した第２領域内の画像を表示部に表示させる表示制御手段とを備える情報処理装置を提供する。
この情報処理装置によれば、コンテンツから特定の部分を抽出し、抽出した部分を外部の表示装置で表示することができる。
【０００７】
本発明においては、前記第１検出手段は、前記ビットマップ画像を主走査方向へ走査して画素の階調値を取得し、取得した所定範囲内の階調値の画素の座標から前記矩形の前記主走査方向における一端及び他端を特定し、副走査方向へ前記ビットマップ画像を走査して画素の階調値を取得し、取得した所定範囲内の階調値の画素の座標から前記矩形の前記副走査方向における一端及び他端を特定する構成としてもよい。
この構成によれば、画素の階調値だけで矩形の第１領域を特定することができる。
【０００８】
また、本発明においては、前記第２検出手段は、前記ビットマップ画像に対して主走査と副走査を行って画素の階調値を取得し、所定範囲内の階調値の画素の座標から、前記第２領域の主走査方向における一端及び他端と副走査方向における一端及び他端を検出する構成としてもよい。
この構成によれば、画素の階調値だけで第２領域を特定することができる。
【０００９】
また、本発明においては、前記第２検出手段は、副走査を行う際、前記ビットマップ画像の副走査方向の端から所定範囲を走査しない構成としてもよい。
この構成によれば、ビットマップ画像の端部については、表示部に表示しないようにすることができる。
【００１０】
また、本発明は、記憶部に記憶されたビットマップ画像から矩形の第１領域を検出する第１検出ステップと、前記第１検出ステップで検出した第１領域内の画像を表す映像信号を外部の表示装置へ出力する出力ステップと、前記第１領域に対して所定方向にあり、所定範囲の階調値の画素により定まる第２領域を前記ビットマップ画像から検出する第２検出ステップと、前記第２検出ステップで検出した第２領域内の画像を表示部に表示させる表示制御ステップと画像表示方法を提供する。
この画像表示方法によれば、コンテンツから特定の部分を抽出し、抽出した部分を外部の表示装置で表示することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る装置を示した図。
【図２】携帯情報端末１０のハードウェア構成を示した図。
【図３】コンテンツファイルが表す文書のページの一例を示した図。
【図４】制御部１０１において実現する機能の機能ブロック図。
【図５】携帯情報端末１０が表示する画面の一例を示した図。
【図６】表示領域Ａ１と非表示領域Ａ２を検出する処理の流れを示したフローチャート。
【図７】表示領域Ａ１の左端を検出する処理の流れを示したフローチャート。
【図８】表示領域Ａ１の上端を検出する処理の流れを示したフローチャート。
【図９】表示領域Ａ１の下端を検出する処理の流れを示したフローチャート。
【図１０】表示領域Ａ１の右端を検出する処理の流れを示したフローチャート。
【図１１】非表示領域Ａ２を検出する処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１２】
［実施形態］
図１は、本発明の一実施形態に係る装置を示した図である。ＬＡＮ２は、無線や有線の通信回線を含むコンピューターネットワークであり、図示省略したパーソナルコンピューターや携帯情報端末、スマートフォンなどが接続される。アクセスポイント３０は、無線ＬＡＮの通信規格（例えば、ＩＥＥＥ８０２．１１）に従った通信を行うアクセスポイントである。アクセスポイント３０は、例えば、会議室に設置されており、ＬＡＮ２に接続されている。
【００１３】
携帯情報端末１０は、無線ＬＡＮの通信規格に従った通信が可能な情報処理装置である。本実施形態では、携帯情報端末１０は、タブレット端末であるが、スマートフォンであってもよい。携帯情報端末１０は、アプリケーションプログラムをインストールすることにより様々な機能が実現する。
【００１４】
表示装置の一例であるプロジェクター２０は、外部装置から供給された映像信号が表す映像をスクリーンや壁面へ投写する。また、プロジェクター２０は、無線ＬＡＮの通信規格に従った無線通信を行う機能や、ＵＳＢ（Universal Serial Bus）の通信規格に従った通信を行う機能を備えている。プロジェクター２０は、無線通信やＵＳＢの通信により映像信号を受信し、受信した映像信号が表す映像をスクリーンや壁面へ投写する。
【００１５】
（携帯情報端末１０の構成）
図２は、携帯情報端末１０のハードウェア構成の一例を示した図である。通信部１０５は、アクセスポイント３０へ無線通信を行う通信インターフェースとして機能する。タッチパネル１０３は、表示装置（例えば液晶ディスプレイ）と、表示装置の表示面において指の接触を検出するセンサーとを組み合わせた装置であり、ユーザーにより操作される操作部の一例である。タッチパネル１０３は、文字やＧＵＩ（Graphical User Interface）、携帯情報端末１０を操作するためのメニュー画面などを表示装置で表示する。また、タッチパネル１０３は、ユーザーが指で触れた位置をセンサーで検出する。制御部１０１は、タッチパネル１０３が検出した位置と、タッチパネルに表示されている画面に応じてユーザーの操作を特定し、特定した操作に応じて各部の制御や各種処理を実行する。
【００１６】
記憶部１０２は、不揮発性メモリーを有しており、オペレーティングシステムのプログラムや複数のアプリケーションプログラムを記憶する。本実施形態では、記憶部１０２は、外部の表示装置へ映像信号を出力する機能を実現するアプリケーションプログラム（以下、映像出力アプリと称する）を記憶している。また、記憶部１０２は、映像出力アプリが処理するファイルであるコンテンツファイルを記憶する。本実施形態では、コンテンツファイルが表すコンテンツは、一又は複数のページを有する文書である。
【００１７】
図３は、コンテンツファイルが表す文書のページの一例を示した図である。各ページにおいては、枠線Ｌがある。枠線Ｌは、外部装置で表示する表示領域Ａ１を表す。例えば、コンテンツファイルが、プレゼンテーションで使用するものである場合、表示領域Ａ１内には、プロジェクター２０で投写するコンテンツが配置される。枠線Ｌの外側は、外部装置で表示しない領域である。枠線Ｌの外側には、例えば、コンテンツファイルが、プレゼンテーションで使用するものである場合、表示領域Ａ１内についてのメモなどが記述される。
【００１８】
制御部１０１は、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory）を有し、ＣＰＵが記憶部１０２に記憶されているオペレーティングシステムのプログラムを実行すると、オペレーティングシステムが実現する。また、オペレーティングシステムが実現すると、記憶部１０２に記憶されているアプリケーションプログラムを実行することが可能となる。
【００１９】
図４は、携帯情報端末１０において、映像出力アプリを実行することにより実現する機能の構成を示した機能ブロック図である。第１検出部１００１は、ビットマップ画像をスキャンし、表示領域Ａ１（第１表示領域）を検出する。第２検出部１００２は、ビットマップ画像をスキャンし、後述する非表示領域Ａ２（第２表示領域）を検出する。出力部１００３は、第１検出部１００１が検出した第１領域内の画像を表す映像信号を、通信部１０５を制御して外部の表示装置へ出力する。表示制御部１００４は、第１検出部１００１が検出した表示領域Ａ１内の画像と、第２検出部１００２が検出した非表示領域Ａ２内の画像が表示されるようにタッチパネル１０３を制御する。
【００２０】
（実施形態の動作例）
次に、本実施形態の動作例について説明する。ユーザーが、映像出力アプリの実行を指示する操作をタッチパネル１０３において行うと、制御部１０１は、記憶部１０２に記憶されている映像出力アプリを実行する。制御部１０１は、映像出力アプリを実行すると、アクセスポイント３０及びＬＡＮ２を介してプロジェクター２０に接続する。映像出力アプリを実行中の携帯情報端末１０において、記憶部１０２に記憶されているコンテンツファイルを選択する操作をユーザーが行うと、制御部１０１は、選択されたコンテンツファイルが表す文書をタッチパネル１０３に表示させる。
【００２１】
図５は、コンテンツファイルが表す文書の表示例である。図５に示したように、タッチパネル１０３が表示する画面においては、各ページの表示領域Ａ１のサムネイル画像を表示するサムネイル領域Ａ２１、選択されているページの表示領域Ａ１内を表示する選択画像領域Ａ２２、選択されているページにおいて表示領域Ａ１の外にある部分を表示するメモ表示領域Ａ２３、ページを選択するＧＵＩを表示するＧＵＩ領域Ａ２４がある。
【００２２】
制御部１０１は、図５に示した画面を表示するに際し、まず、コンテンツファイルが表す文書の各ページのビットマップ画像を生成し、生成したビットマップ画像を記憶手段の一例である記憶部１０２に書き込む。なお、制御部１０１は、生成したビットマップ画像を記憶手段の一例であるＲＡＭに記憶させるようにしてもよい。図３に示したように生成されたビットマップ画像においては、制御部１０１は、ページの左上を原点（０，０）とし、原点から右方向をＸ軸の正方向（主走査方向）とし、原点から下方向をＹ軸の正方向（副走査方向）とする。また、ページの左右方向の幅をｗ、上下方向の高さをｈとし、枠線Ｌの左辺のＸ軸方向の座標をｘ１、右辺のＸ軸方向の座標をｘ２、上辺のＹ軸方向の座標をｙ１、下辺のＹ軸方向の座標をｙ２とする。制御部１０１は、各ページのビットマップ画像において、表示領域Ａ１とメモ表示領域Ａ２３に表示する非表示領域Ａ２を検出する。
【００２３】
図６は、表示領域Ａ１と非表示領域Ａ２を検出する処理の流れを示したフローチャートである。ビットマップ画像を生成した制御部１０１（第１検出部１００１）は、ステップＳＡ１〜ステップＳＡ９の処理により表示領域Ａ１を検出する。具体的には、制御部１０１は、まず、ビットマップ画像をスキャンして表示領域Ａ１の左端のｘ座標であるｘ１を検出する（ステップＳＡ１）。
【００２４】
図７は、表示領域Ａ１の左端のｘ座標であるｘ１を検出する処理の流れを示したフローチャートである。制御部１０１は、ビットマップ画像においてスキャンする画素の座標を表すスキャン座標（ｘ，ｙ）を初期化し、ｘ＝０、ｙ＝ｈ／４とする（ステップＳＢ１）。次に制御部１０１は、ｘ１を初期化してｘ１＝０とする（ステップＳＢ２）。また、制御部１０１は、表示領域Ａ１の端の座標を検出したことを表す検出フラグを初期化して０にする（ステップＳＢ３）。
【００２５】
次に制御部１０１は、ビットマップ画像においてスキャン座標の位置にある画素の画素値を取得する（ステップＳＢ４）。本実施形態においては、ビットマップ画像の画素の色は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の三色の組み合わせで表され、ここで制御部１０１が取得する画素値は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の各色の階調値である。本実施形態では、各色の階調値の範囲は、０〜２５５となっており、階調値が大きくなるにつれて色が濃いものとしている。
【００２６】
制御部１０１は、画素値を取得すると、取得した画素値により特定される色が白以外であるか否か判断する（ステップＳＢ５）。本実施形態では、制御部１０１は、Ｒ、Ｇ及びＢの値の平均値が予め定められた閾値（例えば２０８）以下であるか、即ち、階調値の平均値が０から２０８の範囲内であるか否か判断する。制御部１０１は、Ｒ、Ｇ及びＢの値の平均値が２０８を超えている場合、即ちスキャン座標の画素の色が白である場合（ステップＳＢ５でＮＯ）、スキャン座標のｘの値をインクリメントする（ステップＳＢ８）。
【００２７】
次に制御部１０１は、スキャン座標のｘの値がビットマップ画像の右端の座標であるか判断する（ステップＳＢ９）。制御部１０１は、ｘの値がビットマップ画像の右端の座標ではない場合（ステップＳＢ９でＮＯ）、処理の流れをステップＳＢ４へ戻す。制御部１０１は、スキャン座標の画素の色が白以外となるまで、ステップＳＢ４、ステップＳＢ５、ステップＳＢ８、ステップＳＢ９の処理を繰り返す。
【００２８】
例えば、図３に示したページをスキャンした場合、スキャン座標のｘの値が、枠線Ｌの左辺の線の座標となると、ステップＳＢ４で取得した画素値で特定される色が白以外となる。制御部１０１は、スキャン座標の画素の色が白以外となると（即ち、階調値の平均値が２０８から０の範囲内となると）（ステップＳＢ５でＹＥＳ）、ｘ１＝ｘとして表示領域Ａ１の左端のｘ座標を確定し（ステップＳＢ６）、検出フラグの値を１とし（ステップＳＢ７）、ｘ１を検出する処理を終了する。
【００２９】
なお、制御部１０１は、スキャン座標の画素の色が白以外とならないままステップＳＢ９でＹＥＳと判断した場合、スキャン座標のｙの値をインクリメントし（ステップＳＢ１０）、スキャン座標のｘの値を０にする（ステップＳＢ１１）。そして、制御部１０１は、スキャン座標のｙの値が閾値を超えているか判断する（ステップＳＢ１２）。本実施形態においては、この閾値はｈ／２となっている。制御部１０１は、ｙの値が閾値以下である場合（ステップＳＢ１２でＮＯ）、処理の流れをステップＳＢ４へ戻す。制御部１０１は、ｙの値が閾値を超えている場合（ステップＳＢ１２でＹＥＳ）、つまり、ビットマップ画像のｈ／４からｈ／２の間に枠線Ｌの左辺の線が無い場合、ｘ１を検出する処理を終了する。
【００３０】
制御部１０１は、ｘ１を検出する処理を終了すると、図６の処理へ戻り、検出フラグの値が１であるか、即ち、表示領域Ａ１の端の座標を検出したか判断する（ステップＳＡ２）。制御部１０１は、検出フラグの値が０である場合（ステップＳＡ２でＮＯ）、スキャンしたビットマップ画像には、表示領域Ａ１が無いものと判断し、次に、非表示領域Ａ２を検出する処理を行う（ステップＳＡ１０）。非表示領域Ａ２を検出する処理については後述する。制御部１０１は、検出フラグの値が１である場合（ステップＳＡ２でＹＥＳ）、ビットマップ画像をスキャンして表示領域Ａ１の上端のｙ座標であるｙ１を検出する（ステップＳＡ３）。
【００３１】
図８は、表示領域Ａ１の上端のｙ座標であるｙ１を検出する処理の流れを示したフローチャートである。制御部１０１は、スキャン座標（ｘ，ｙ）を初期化し、ｘ＝ｘ１とし、ｙの値をｈ／４から１を引いた値とする（ステップＳＣ１）。また、制御部１０１は、検出フラグを初期化して０にする（ステップＳＣ２）。
【００３２】
次に制御部１０１は、ビットマップ画像においてスキャン座標の周囲にある画素の画素値を取得する（ステップＳＣ３）。本実施形態においては、スキャン座標に対してＸ軸方向に隣り合う画素の画素値を取得する。制御部１０１は、画素値を取得すると、取得した画素値により特定される色が白以外であるか否か判断する（ステップＳＣ４）。制御部１０１は、スキャン座標に対してＸ軸の負方向に隣り合う画素又は正方向に隣り合う画素のいずれかの色が白以外である場合（ステップＳＣ４でＹＥＳ）、スキャン座標のｙの値をデクリメントする（ステップＳＣ７）。
【００３３】
次に制御部１０１は、スキャン座標のｙの値がビットマップ画像の上端の座標であるか判断する（ステップＳＣ８）。制御部１０１は、ｙの値が上端の座標の０ではない場合（ステップＳＣ８でＮＯ）、処理の流れをステップＳＣ３へ戻す。制御部１０１は、ステップＳＣ３で取得した画素値で特定される色が白となるまで、ステップＳＣ３、ステップＳＣ４、ステップＳＣ７、ステップＳＣ８の処理を繰り返す。
【００３４】
例えば、図３に示したページをスキャンした場合、スキャン座標のｙの値が枠線Ｌの上辺の線の座標から１を引いた値となると、ステップＳＣ３で取得した画素値で特定される色が白となる。制御部１０１は、ステップＳＣ３で取得した画素値で特定される色が白となると（即ち、階調値の平均値が２０９から２５５の範囲内となると）（ステップＳＣ４でＮＯ）、ｙ１＝ｙとして表示領域Ａ１の上端のｙ座標を確定し（ステップＳＣ５）、検出フラグの値を１とし（ステップＳＣ６）、ｙ１を検出する処理を終了する。
【００３５】
なお、制御部１０１は、ステップＳＣ８でＹＥＳと判断した場合、つまり、Ｙ軸方向に延びる線がビットマップ画像の上端に達している場合、枠線Ｌの上辺が無い、即ち、表示領域Ａ１が無いことになるため、検出フラグの値を０としたまま、ｙ１を検出する処理を終了する。
【００３６】
制御部１０１は、ｙ１を検出する処理を終了すると、図６の処理へ戻り、検出フラグの値が１であるか、即ち、表示領域Ａ１の上端の座標を検出したか判断する（ステップＳＡ４）。制御部１０１は、検出フラグの値が０である場合（ステップＳＡ４でＮＯ）、スキャンしたビットマップ画像には、表示領域Ａ１が無いものと判断し、処理の流れをステップＳＡ１０へ移す。一方、制御部１０１は、検出フラグの値が１である場合（ステップＳＡ４でＹＥＳ）、ビットマップ画像をスキャンして表示領域Ａ１の下端のｙ座標であるｙ２を検出する（ステップＳＡ５）。
【００３７】
図９は、表示領域Ａ１の下端のｙ座標であるｙ２を検出する処理の流れを示したフローチャートである。制御部１０１は、スキャンを行うスキャン座標（ｘ，ｙ）を初期化し、ｘ＝ｘ１とし、ｙの値をｈ／４に１を足した値とする（ステップＳＤ１）。また、制御部１０１は、検出フラグを初期化して０にする（ステップＳＤ２）。
【００３８】
次に制御部１０１は、ビットマップ画像においてスキャン座標の周囲にある画素の画素値を取得する（ステップＳＤ３）。本実施形態においては、スキャン座標に対してＸ軸方向に隣り合う画素の画素値を取得する。制御部１０１は、画素値を取得すると、取得した画素値により特定される色が白以外であるか否か判断する（ステップＳＤ４）。制御部１０１は、スキャン座標に対してＸ軸の負方向に隣り合う画素又は正方向に隣り合う画素のいずれかの色が白以外である場合（ステップＳＤ４でＹＥＳ）、スキャン座標のｙの値をインクリメントする（ステップＳＤ７）。
【００３９】
次に制御部１０１は、スキャン座標のｙの値がビットマップ画像の下端の座標であるか否か判断する（ステップＳＤ８）。制御部１０１は、ｙの値が下端の座標のｈではない場合（ステップＳＤ８でＮＯ）、処理の流れをステップＳＤ３へ戻す。制御部１０１は、ステップＳＤ３で取得した画素値で特定される色が白となるまで、ステップＳＤ３、ステップＳＤ４、ステップＳＤ７、ステップＳＤ８の処理を繰り返す。
【００４０】
例えば、図３に示したページをスキャンした場合、スキャン座標のｙの値が枠線Ｌの下辺の線の座標に１を足した値となると、ステップＳＤ３で取得した画素値で特定される色が白となる。制御部１０１は、ステップＳＤ３で取得した画素値で特定される色が白となると（即ち、階調値の平均値が２０９から２５５の範囲内となると）（ステップＳＤ４でＮＯ）、ｙ２＝ｙとして表示領域Ａ１の下端のｙ座標を確定し（ステップＳＤ５）、検出フラグの値を１とし（ステップＳＤ６）、ｙ２を検出する処理を終了する。
【００４１】
なお、制御部１０１は、ステップＳＤ８でＹＥＳと判断した場合、つまり、Ｙ軸方向に延びる線がビットマップ画像の下端に達している場合、枠線Ｌの下辺が無い、即ち、表示領域Ａ１が無いことになるため、検出フラグの値を０としたまま、ｙ２を検出する処理を終了する。
【００４２】
制御部１０１は、ｙ２を検出する処理を終了すると、図６の処理へ戻り、検出フラグの値が１であるか、即ち、枠線Ｌの下辺の座標を検出したか判断する（ステップＳＡ６）。制御部１０１は、検出フラグの値が０である場合（ステップＳＡ６でＮＯ）、スキャンしたビットマップ画像には、表示領域Ａ１が無いものと判断し、処理の流れをステップＳＡ１０へ移す。一方、制御部１０１は、検出フラグの値が１である場合（ステップＳＡ６でＹＥＳ）、ビットマップ画像をスキャンして表示領域Ａ１の右端のｘ座標であるｘ２を検出する（ステップＳＡ７）。
【００４３】
図１０は、表示領域Ａ１の右端のｘ座標であるｘ２を検出する処理の流れを示したフローチャートである。制御部１０１は、スキャンを行うスキャン座標（ｘ，ｙ）を初期化し、ｘ＝ｘ１とし、ｙ＝ｙ２とする（ステップＳＥ１）。また、制御部１０１は、検出フラグを初期化して０にする（ステップＳＥ２）。
【００４４】
次に制御部１０１は、ビットマップ画像においてスキャン座標の周囲にある画素の画素値を取得する（ステップＳＥ３）。本実施形態においては、スキャン座標に対してＹ軸方向に隣り合う画素の画素値を取得する。制御部１０１は、画素値を取得すると、取得した画素値により特定される色が白以外であるか否か判断する（ステップＳＥ４）。制御部１０１は、スキャン座標に対してＹ軸の負方向に隣り合う画素又は正方向に隣り合う画素のいずれかの色が白以外である場合（ステップＳＥ４でＹＥＳ）、スキャン座標のｘの値をインクリメントする（ステップＳＥ７）。
【００４５】
次に制御部１０１は、スキャン座標のｘの値がビットマップ画像の右端の座標であるか判断する（ステップＳＥ８）。制御部１０１は、ｘの値が右端の座標のｗではない場合（ステップＳＥ８でＮＯ）、処理の流れをステップＳＥ３へ戻す。制御部１０１は、ステップＳＥ３で取得した画素値で特定される色が白となるまで、ステップＳＥ３、ステップＳＥ４、ステップＳＥ７、ステップＳＥ８の処理を繰り返す。
【００４６】
例えば、図３に示したページをスキャンした場合、スキャン座標のｘの値が枠線Ｌの右辺の線の座標に１を足した値となると、ステップＳＥ３で取得した画素値で特定される色が白となる。制御部１０１は、ステップＳＥ３で取得した画素値で特定される色が白となると（即ち、階調値の平均値が２０９から２５５の範囲内となると）（ステップＳＥ４でＮＯ）、ｘ２＝ｘとして表示領域Ａ１の右端のｘ座標を確定し（ステップＳＥ５）、検出フラグの値を１とし（ステップＳＥ６）、ｘ２を検出する処理を終了する。
【００４７】
なお、制御部１０１は、ステップＳＥ８でＹＥＳと判断した場合、つまり、Ｘ軸方向に延びる線がビットマップ画像の右端に達している場合、枠線Ｌの右辺が無い、即ち表示領域Ａ１が無いことになるため、検出フラグの値を０としたまま、ｘ２を検出する処理を終了する。
【００４８】
制御部１０１は、ｘ２を検出する処理を終了すると、図６の処理へ戻り、検出フラグの値が１であるか、即ち、表示領域Ａ１の右端の座標を検出したか判断する（ステップＳＡ８）。制御部１０１は、検出フラグの値が０である場合（ステップＳＡ８でＮＯ）、スキャンしたビットマップ画像には、表示領域Ａ１が無いものと判断し、処理の流れをステップＳＡ１０へ移す。一方、制御部１０１は、検出フラグの値が１である場合（ステップＳＡ８でＹＥＳ）、ビットマップ画像が表すページのページ番号と対応付けて、表示領域Ａ１を特定する座標（ｘ１，ｙ１，ｘ２，ｙ２）をＲＡＭに記憶させる（ステップＳＡ９）。
【００４９】
制御部１０１（第２検出部１００２）は、ステップＳＡ２、ステップＳＡ４、ステップＳＡ６又はステップＳＡ８でＮＯと判断した場合と、ステップＳＡ９の処理が終了した場合、非表示領域Ａ２を検出する処理を行う（ステップＳＡ１０）。
【００５０】
図１１は、非表示領域Ａ２を検出する処理の流れを示したフローチャートである。本実施形態においては、制御部１０１は、ビットマップ画像において非表示領域Ａ２があると想定される領域（表示領域Ａ１より下側の領域）を走査する。制御部１０１は、走査により白以外の画素を検出し、検出した画素の座標を記録し、記録した座標から非表示領域Ａ２を特定する。本実施形態においては、非表示領域Ａ２の左端の座標をｘ３、右端の座標をｘ４、上端の座標をｙ３、下端の座標をｙ４とし、（ｘ３，ｙ３）と（ｘ４，ｙ４）を対頂点とする矩形の領域を非表示領域Ａ２とする。
制御部１０１（第２検出部１００２）は、ビットマップ画像の走査においては、ビットマップ画像に対して主走査と副走査を行い、非表示領域Ａ２を検出する。具体的には、まず、制御部１０１は、非表示領域Ａ２の左端のｘ座標を表すｘ３、非表示領域Ａ２の上端のｙ座標を表すｙ３、非表示領域Ａ２の右端のｘ座標を表すｘ４、及び非表示領域Ａ２の下端のｙ座標を表すｙ４を初期化し、各座標の値を０とする（ステップＳＦ１）。また、制御部１０１は、スキャン座標（ｘ，ｙ）を初期化し、ｘ＝０、ｙ＝ｙ２＋αとする（ステップＳＦ２）。本実施形態においては、αの値を５とするが、５以外の値であってもよい。次に制御部１０１は、非表示領域Ａ２の端の座標を検出したことを表す検出フラグを初期化して０にする（ステップＳＦ３）。
【００５１】
制御部１０１は、ステップＳＦ３の処理を終えると、ビットマップ画像においてスキャン座標の位置にある画素の画素値を取得し（ステップＳＦ４）、画素値を取得すると、取得した画素値により特定される色が白以外であるか否か（即ち、階調値の平均値が２０８から０の範囲内であるか否か）判断する（ステップＳＦ５）。制御部１０１は、取得した画素値により特定される色が白である場合（ステップＳＦ５でＮＯ）、処理の流れをステップＳＦ１４へ移してｘの値をインクリメントし（ステップＳＦ１４）、処理の流れをステップＳＦ１５へ移す。制御部１０１は、ステップＳＦ１５において、スキャン座標のｘの値がｘ＝ｗであるか、即ち、Ｘ軸方向へ１ライン分のスキャンを終了したか判断する。制御部１０１は、スキャン座標のｘの値がｘ＝ｗではない場合（ステップＳＦ１５でＮＯ）、処理の流れをステップＳＦ４へ戻す。
【００５２】
制御部１０１は、ｘの値をインクリメントし、ｘの値がｘ＝ｗとなった場合（ステップＳＦ１５でＹＥＳ）、スキャン座標について、ｘ＝０、ｙ＝ｙ＋１とする（ステップＳＦ１６）。次に制御部１０１は、ｙの値が閾値を超えているか判断する（ステップＳＦ１７）。本実施形態においては、この閾値は、ｈ−１００となっている。この値に閾値を設定しているのは、ページの下部にフッターやページ番号がある場合、これらを非表示領域Ａ２に含めないようにするためである。制御部１０１は、ｙの値が閾値を超えていない場合（ステップＳＦ１７でＮＯ）、処理の流れをステップＳＦ４へ戻す。これにより、制御部１０１は、次の行の画素のスキャンを行うこととなる。
【００５３】
制御部１０１は、１行ずつＸ軸方向へ画素の色を判断していく。例えば、図３で示したページをスキャンした場合、スキャン座標が、枠線Ｌの下端より下側にある文字を構成する画素の中で最も上端の画素の座標となると、ステップＳＦ５でＹＥＳと判断する。制御部１０１は、ステップＳＦ５でＹＥＳと判断すると、ｙ３を確定済みであるか判断する（ステップＳＦ６）。ここで制御部１０１は、ｙ３の座標を確定していない場合（ステップＳＦ６でＮＯ）、ｙ３＝ｙとしてｙ３の座標を確定する（ステップＳＦ８）。次に制御部１０１は、ｘ３とｘ４を初期化してｘ３＝ｘ、ｘ４＝ｘとする（ステップＳＦ９）。次に制御部１０１は、スキャン座標のｘの値がｘ＜ｘ３であるか判断する（ステップＳＦ１０）。制御部１０１は、ステップＳＦ１０でＹＥＳと判断すると、非表示領域Ａ２の左端の座標であるｘ３の値をｘ３＝ｘとして更新する（ステップＳＦ１１）。
【００５４】
制御部１０１は、ステップＳＦ１０でＮＯと判断すると、処理の流れをステップＳＦ１２へ移し、ｘ＞ｘ４であるか判断する。制御部１０１は、ステップＳＦ１２でＹＥＳと判断すると、非表示領域Ａ２の右端の座標であるｘ４の値をｘ４＝ｘとして更新する（ステップＳＦ１３）。制御部１０１は、ステップＳＦ１２でＮＯと判断すると、処理の流れをステップＳＦ１４へ移す。
【００５５】
制御部１０１は、スキャン座標を更新し、スキャン座標の画素の色が白以外であるか判断を続ける。例えば、ｙ３を確定した後にｙをインクリメントしてスキャンするｙ座標を１画素分下側に移した後、Ｘ軸方向へスキャンしてスキャン座標の画素の色が白以外となると、制御部１０１は、ステップＳＦ６でＹＥＳと判断する。制御部１０１は、ステップＳＦ６でＹＥＳと判断すると、非表示領域Ａ２の下端のｙ座標であるｙ４の値をｙ４＝ｙとして更新する（ステップＳＦ７）。これにより、ｙの値をインクリメントした後でスキャン座標の画素の色が白以外となる毎にｙ４の値が更新されることとなる。
【００５６】
また、ｙ３を確定した後にｙをインクリメントし、ｙ３を確定したときのスキャン座標の画素より左側（Ｘ軸の負方向側）に白以外の画素がある場合、制御部１０１は、ステップＳＦ１０でＹＥＳと判断する。制御部１０１は、ステップＳＦ１０でＹＥＳと判断すると、ｘ３＝ｘとする（ステップＳＦ１１）。これにより、ｙ３を確定したときのスキャン座標の画素より左側に白以外の画素がある毎に、非表示領域Ａ２の左端のｘ座標であるｘ３の値が更新されることとなる。
【００５７】
また、ｙ３を確定した後にｙをインクリメントし、ｙ３を確定したときのスキャン座標の画素より右側（Ｘ軸の正方向側）に白以外の画素がある場合、制御部１０１は、ステップＳＦ１２でＹＥＳと判断する。制御部１０１は、ステップＳＦ１２でＹＥＳと判断すると、ｘ４＝ｘとする（ステップＳＦ１３）。これにより、ｙ３を確定したときのスキャン座標の画素より右側に白以外の画素がある毎に、非表示領域Ａ２の右端のｘ座標であるｘ４の値が更新されることとなる。
【００５８】
制御部１０１は、スキャン座標を更新してｙの値が閾値を超えると（ステップＳＦ１７でＹＥＳ）、非表示領域Ａ２が矩形か否か（ｘ３＜ｘ４且つｙ３＜ｙ４であるか）判断する（ステップＳＦ１８）。例えば、図３に示したページのように、枠線Ｌの下に文字列がある場合、ｘ３＜ｘ４且つｙ３＜ｙ４となるため、制御部１０１は、ステップＳＦ１８でＹＥＳと判断する。制御部１０１は、ステップＳＦ１８でＹＥＳと判断すると、検出フラグの値を１にし（ステップＳＦ１９）、ｙ４の座標を確定（ステップＳＦ２０）して、図１１の処理を終了する。
一方、例えば、枠線Ｌの下に白以外の画素がない場合や、枠線Ｌの下にＸ軸方向に沿った一本の線又はＹ軸方向に沿った一本の線が描かれている場合、ｘ３＜ｘ４且つｙ３＜ｙ４とならないため、制御部１０１は、ステップＳＦ１８でＮＯと判断する。制御部１０１は、ステップＳＦ１８でＮＯと判断すると、図１１の処理を終了する。
【００５９】
制御部１０１は、非表示領域Ａ２を検出する処理を終了すると、図６の処理へ戻り、検出フラグの値が１であるか、即ち、非表示領域Ａ２の座標を検出したか判断する（ステップＳＡ１１）。制御部１０１は、検出フラグの値が０である場合（ステップＳＡ８でＮＯ）、スキャンしたビットマップ画像には、非表示領域Ａ２が無いものと判断し、図６の処理を終了する。一方、制御部１０１は、検出フラグの値が１である場合（ステップＳＡ１１でＹＥＳ）、ビットマップ画像が表すページのページ番号と対応付けて、非表示領域Ａ２を特定する座標（ｘ３，ｙ３，ｘ４，ｙ４）をＲＡＭに記憶させる（ステップＳＡ１２）。
【００６０】
制御部１０１（表示制御部１００４）は、各ページについて表示領域Ａ１と非表示領域Ａ２を検出する処理を終了すると、サムネイル領域Ａ２１又はＧＵＩ領域Ａ２４でなされた操作に応じて選択されているページの表示領域Ａ１の座標をＲＡＭから取得し、取得した座標で特定される表示領域Ａ１内の画像を選択画像領域Ａ２２に表示する。また、制御部１０１（出力部１００３）は、表示領域Ａ１内の画像を表す映像信号を、プロジェクター２０へ送信する。プロジェクター２０は、この映像信号を受信し、受信した映像信号が表す画像を投写する。また、制御部１０１（表示制御部１００４）は、選択されているページの非表示領域Ａ２の座標をＲＡＭから取得し、取得した座標で特定される非表示領域Ａ２内の画像をメモ表示領域Ａ２３に表示する。
【００６１】
制御部１０１は、サムネイル領域Ａ２１又はＧＵＩ領域Ａ２４において、ページを送る操作が行われ、新たなページが選択された場合、新たに選択されたページの表示領域Ａ１の座標をＲＡＭから取得し、取得した座標で特定される表示領域Ａ１内の画像を選択画像領域Ａ２２に表示する。また、制御部１０１は、表示領域Ａ１内の画像を表す映像信号を、プロジェクター２０へ送信する。また、制御部１０１は、新たに選択されたページの非表示領域Ａ２の座標をＲＡＭから取得し、取得した座標で特定される非表示領域Ａ２内の画像をメモ表示領域Ａ２３に表示する。
【００６２】
このように、本実施形態においては、投写する画像と、投写する画像についてのメモとを含むコンテンツファイルから、投写する画像を抽出してプロジェクター２０で投写し、メモについてはプロジェクター２０で投写せずに携帯情報端末１０で表示することができる。
【００６３】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した各実施形態及び以下の変形例は、一つ又は複数を適宜組み合わせて実施してもよい。
【００６４】
上述した実施形態においては、映像出力アプリを実行する装置は、携帯情報端末に限定されるものではなく、ラップトップコンピュータやデスクトップコンピュータなど、他の情報処理装置であってもよい。
【００６５】
上述した実施形態においては、無線通信により携帯情報端末１０からプロジェクター２０へ映像信号を送っているが、無線通信で映像信号を送る構成に限定されるものではなく、例えばケーブルでＬＡＮ２に接続し、ケーブルを介して映像信号を送る構成であってもよい。また、携帯情報端末１０からプロジェクター２０へ映像信号を送る際には、ＬＡＮ２を介さずに、携帯情報端末１０とプロジェクター２０とが直接無線通信を行う構成であってもよい。
【００６６】
上述した実施形態においては、携帯情報端末１０から送られた映像信号を受信して映像を表示するのは、プロジェクター２０に限定されるものではなく、例えば、液晶テレビなどの直視型のディスプレイ装置であってもよい。
【００６７】
上述した実施形態においては、映像出力アプリが携帯情報端末１０において表示する画面には、メモ表示領域Ａ２３が設けられているが、メモ表示領域Ａ２３は、ユーザーの操作に応じて表示／非表示を切り替えられるようにしてもよい。
【００６８】
上述した実施形態においては、生成したビットマップ画像を予め定められた倍率で縮小した状態で表示領域Ａ１と非表示領域Ａ２の座標を検出し、検出した座標を縮小前のビットマップ画像の座標に変換してもよい。
【００６９】
上述した実施形態においては、ビットマップ画像をコンテンツファイルから生成する構成となっているが、文書をスキャンして生成されたビットマップ画像を記憶部１０２に記憶させ、このビットマップ画像から表示領域Ａ１と非表示領域Ａ２を検出してもよい。
【符号の説明】
【００７０】
２…ＬＡＮ、１０…携帯情報端末、２０…プロジェクター、３０…アクセスポイント、１０１…制御部、１０２…記憶部、１０３…タッチパネル、１０５…通信部、１００１…第１検出部、１００２…第２検出部、１００３…出力部、１００４…表示制御部、Ａ１…表示領域、Ａ２…非表示領域、Ａ２１…サムネイル領域、Ａ２２…選択画像領域、Ａ２３…メモ表示領域、Ａ２４…ＧＵＩ領域、Ｌ…枠線
【図１】
2016173527.tif 000003
【図２】
2016173527.tif 000004
【図３】
2016173527.tif 000005
【図４】
2016173527.tif 000006
【図５】
2016173527.tif 000007
【図６】
2016173527.tif 000008
【図７】
2016173527.tif 000009
【図８】
2016173527.tif 000010
【図９】
2016173527.tif 000011
【図１０】
2016173527.tif 000012
【図１１】
2016173527.tif 000013