(57)【要約】【課題】視覚障がい者のユーザにとっての利便性を向上させることを目的とする。【解決手段】スクリーンリーダ機能が有効に設定され、かつ、印刷対象ファイルが指定された場合、前記印刷対象ファイルの解析情報を取得する取得手段と、前記取得手段により取得された前記解析情報を音声出力するよう制御する制御手段と、を有する。【選択図】図８
2020060963.tif 000002
【特許請求の範囲】
【請求項１】
スクリーンリーダ機能が有効に設定され、かつ、印刷対象ファイルが指定された場合、前記印刷対象ファイルの解析情報を取得する取得手段と、
前記取得手段により取得された前記解析情報を音声出力するよう制御する制御手段と、
を有する情報処理装置。
【請求項２】
前記取得手段は、前記スクリーンリーダ機能が有効に設定され、かつ、ユーザによる入力部へのタップ操作を介して前記印刷対象ファイルが指定された場合、前記解析情報を取得する請求項１記載の情報処理装置。
【請求項３】
前記取得手段は、前記印刷対象ファイル内の予め定められた領域にアクセシビリティ向上に用いられるアクセシビリティ情報が含まれる場合、前記アクセシビリティ情報に基づいて、前記解析情報を取得する請求項１又は２記載の情報処理装置。
【請求項４】
前記取得手段は、前記印刷対象ファイルのコンテンツデータに文字列が含まれる場合、前記文字列を前記解析情報として取得する請求項１又は２記載の情報処理装置。
【請求項５】
前記取得手段は、前記印刷対象ファイルに対応する文書の、タイトルを示す前記文字列を前記解析情報として取得する請求項４記載の情報処理装置。
【請求項６】
前記取得手段は、表に含まれていない前記文字列を前記解析情報として取得する請求項４又は５記載の情報処理装置。
【請求項７】
前記取得手段は、予め定められた種類の文字を含む前記文字列を前記解析情報として取得する請求項４乃至６何れか１項記載の情報処理装置。
【請求項８】
前記印刷対象ファイルの認識を前記情報処理装置のオペレーティングシステム又はクラウドサービスに依頼する依頼手段を更に備え、
前記取得手段は、前記依頼の応答として得られた認識処理の結果を示す情報を、前記解析情報として取得する請求項１又は２記載の情報処理装置。
【請求項９】
前記取得手段は、前記認識処理の結果として、前記印刷対象ファイルに含まれる画像の認識結果を示す文字列、前記印刷対象ファイルに含まれる文書の要約を示す文字列のうち、何れかを取得する請求項８記載の情報処理装置。
【請求項１０】
前記取得手段は、前記印刷対象ファイルに対応する文書の、印刷画像に含まれる文字列を前記解析情報として取得する請求項１又は２記載の情報処理装置。
【請求項１１】
前記取得手段は、前記印刷対象ファイルに対応する文書の、タイトルを示す前記文字列を前記解析情報として取得する請求項１０記載の情報処理装置。
【請求項１２】
前記取得手段は、前記タイトルを示し、かつ、表に含まれない前記文字列を前記解析情報として取得する請求項１１記載の情報処理装置。
【請求項１３】
前記取得手段は、予め定められた種類の文字を含む前記文字列を前記解析情報として取得する請求項１１又は１２記載の情報処理装置。
【請求項１４】
情報処理装置が実行する情報処理方法であって、
スクリーンリーダ機能が有効に設定され、かつ、印刷対象ファイルが指定された場合、前記印刷対象ファイルの解析情報を取得する取得ステップと、
前記取得ステップで取得された前記解析情報を音声出力するよう制御する制御ステップと、
を含む情報処理方法。
【請求項１５】
コンピュータを、請求項１乃至１３何れか１項記載の情報処理装置の各手段として、機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
米国では電子・電気技術に対して、視覚障がい者にも使いやすくすることを義務づけられており、アクセシビリティを高めることが要望されてきている。また、日本でも同様に、アクセシビリティを高めることが要望されてきている。
これに対して、スクリーンリーダ機能が搭載されたスマートフォンが登場している。スクリーンリーダ機能とは、視覚障がい者が画面を操作するために、情報を音声で読み上げることによって操作を補助する機能である。例えば、ｉＰｈｏｎｅ（登録商標）には、ＶｏｉｃｅＯｖｅｒというスクリーンリーダ機能が搭載されている。
図１６は、スクリーンリーダ機能の設定画面の一例を示している。図１６の例では、領域１６０１へのタップ操作を介して、スクリーンリーダ機能のＯＮ／ＯＦＦが設定される。
印刷やスキャンに関連するデバイスやアプリケーションにおいても、アクセシビリティを強化して、視覚障がい者でも印刷を可能にすることが求められている。これに対して、特許文献１には、複写機等の原稿読み取り装置において、スキャンした原稿の種別を音声で伝えることで、視覚障がい者でも原稿の概要を知ることを可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２６０６５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
視覚障がい者のユーザが印刷機能を利用する場合、スクリーンリーダ機能により読み上げられるファイル名称の音声情報等を元にファイルを選択していた。しかしながら、ファイル名だけでは印刷したいファイルが正しく選択されているか否かをユーザが判断できない場合がある。例えば、ファイル名が日付ベースでつけられる場合、「２０１８０５２１１１３０００．ｐｄｆ」というファイル名のファイルが複数作成されることがある。この場合、ファイル名が読み上げられても、ユーザは、コンテンツの内容を把握できない可能性がある。また、印刷プレビューの画面が表示されたとしても、目視が困難なユーザは、確認できない恐れもある。
このように、視覚障がい者のユーザにとって、単にファイル名称を読み上げるだけでは、印刷するファイルが正しく選択されているか否かを判断することが困難な場合がある。
本発明は上述の問題点の少なくとも１つを鑑みなされたものである。本発明は、視覚障がい者のユーザにとっての利便性を向上させることを目的の１つとする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、スクリーンリーダ機能が有効であり、印刷対象ファイルが指定された場合、前記印刷対象ファイルの解析情報を取得する取得手段と、前記取得手段により取得された前記解析情報を音声出力するよう制御する制御手段と、を有する。
【発明の効果】
【０００６】
本発明の１つの側面によれば、視覚障がい者のユーザにとっての利便性を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】データ処理システムのシステム構成の一例を示す図である。
【図２】データ処理装置のハードウェア構成の一例を示す図である。
【図３】印刷処理装置のハードウェア構成の一例を示す図である。
【図４】データ処理装置の機能構成の一例を示す図である。
【図５】トップメニュー画面の一例を示す図である。
【図６】ファイル選択画面の一例を示す図である。
【図７】印刷プレビュー画面の一例を示す図である。
【図８】データ処理装置の処理の一例を示すフローチャートである。
【図９】ＰＤＦの構造の一例を説明する図である。
【図１０】文字認識処理の一例を説明する図である。
【図１１】データ処理装置の処理の一例を示すフローチャートである。
【図１２】印刷画像の一例を示す図である。
【図１３】文字属性情報の一例を示す図である。
【図１４】データ処理装置の処理の一例を示すフローチャートである。
【図１５】データ処理装置の処理の一例を示すフローチャートである。
【図１６】スクリーンリーダ機能の設定画面の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下に、本発明の実施の形態の一例を、図面に基づいて詳細に説明する。
【０００９】
＜実施形態１＞
図１は、本実施形態のデータ処理システムのシステム構成の一例を示す図である。図１の例では、データ処理システムは、データ処理装置１０１、無線ＬＡＮターミナル１０２、印刷処理装置１０４、印刷処理装置１０５を含む。データ処理装置１０１、無線ＬＡＮターミナル１０２、印刷処理装置１０４、印刷処理装置１０５は、ＬＡＮ１０３を介して相互に通信可能に接続されている。
データ処理装置１０１は、印刷処理装置１０４又は１０５に対して印刷ジョブ送信の指示等を行う情報処理装置である。データ処理装置１０１は、例えば、スマートフォン、タブレット装置、パーソナルコンピュータ（ＰＣ）、ノートＰＣ等である。本実施形態では、データ処理装置１０１は、モバイル形態の情報処理装置である。しかし、データ処理装置１０１は、モバイル形態でない情報処理装置であることとしてもよい。
印刷処理装置１０４は、プリンタ機能、コピー機能、スキャナ機能、ファクス送信機能等を備えるプリンタ、複合機等の印刷処理装置である。印刷処理装置１０５は、印刷処理装置１０４と同様に、プリンタ機能、コピー機能、スキャナ機能、ファクス送信機能等を備えるプリンタ、複合機等の印刷処理装置である。
【００１０】
ＬＡＮ１０３は、データ処理システムの各装置が接続されているＬＡＮである。無線ＬＡＮターミナル１０２は、ネットワーク・ルーター機能を有した無線ＬＡＮの親機であって、ＬＡＮ１０３の設置場所の中でＷｉ−Ｆｉを通じた無線ＬＡＮ機能の実現のため用いられる。
また、データ処理装置１０１は、モバイル端末であることから、Ｗｉ−Ｆｉ機能を有効にすることで、無線ＬＡＮターミナル１０２を介してＬＡＮ１０３に参加することができる。データ処理装置１０１は、無線ＬＡＮターミナル１０２が提供する無線ＬＡＮエリアに入ると、予め設定していた認証情報を利用してＬＡＮ１０３のネットワークに参加することができる。
無線信号１０６、１０７、１０８それぞれは、データ処理装置１０１と、印刷処理装置１０４又は１０５と、が送受信するＢｌｕｅｔｏｏｔｈ（登録商標）  ＬＥ（Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｇｙ）による無線信号である。この無線信号が到達し合う周辺のコンピューターデバイス間においては、ＷＰＡＮ（Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を形成し通信を行うことができる。
【００１１】
図２は、データ処理装置１０１のハードウェア構成の一例を示す図である。本実施形態では、データ処理装置１０１は、小型端末用のオペレーティングシステムや、通話、データ通信を制御するためのプログラムの実行を行う。
データ処理装置１０１は、ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０５、音声制御部２０６、表示制御部２０７、入力制御部２０８、記憶装置２０９、位置検出制御部２１０を含む。各要素は、システムバス２０１を介して相互に通信可能に接続されている。
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２は、データ処理装置１０１を制御する中央演算装置である。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３は、データ処理装置１０１のオペレーティングシステム、通話、データ通信等を制御するアプリケーションのプログラム等を記憶する記憶装置である。データ通信を制御するアプリケーションとは、例えば、印刷アプリケーション、Ｍａｉｌソフト、Ｗｅｂブラウザ等である。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４は、ＣＰＵ２０２のワークメモリやデータの一時的な記憶領域として機能する記憶装置である。ＣＰＵ２０２は、実行対象のプログラムを実行する際に、そのプログラムをＲＡＭ２０４に展開する。
【００１２】
ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０５は、外部の装置との間でのデータの通信に用いられるコントローラである。ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０５は、ＬＡＮ通信部２１１と、電話データ通信部２１２と、ＢＬＥ通信部２１３と、を含む。
ＬＡＮ通信部２１１は、無線ＬＡＮターミナル１０２を介して、ＬＡＮ１０３のネットワークへの参加に用いられる。電話データ通信部２１２は、携帯キャリアの提供するネットワークへの参加に用いられる。ＢＬＥ通信部２１３は、Ｂｌｕｅｔｏｏｔｈ  ＬＥによる無線信号が到達し合う周辺のコンピューターデバイス間においてＷＰＡＮを形成するために用いられる。
ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０５は、例えば、無線ＬＡＮのネットワークに参加可能な場合、無線ＬＡＮへの接続を優先する。そして、ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０５は、データ処理装置１０１が無線ＬＡＮのネットワークエリアから外れた場合、携帯キャリアが提供する無線通信ネットワークへの参加を行うような排他制御を行う。しかし、ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０５は、Ｂｌｕｅｔｏｏｔｈ  ＬＥの通信を行う場合、他の通信との間で、排他制御を行わない。
【００１３】
音声制御部２０６は、マイク・スピーカ２１４を介した音声データの入出力に用いられる制御部である。音声制御部２０６は、例えば、通話アプリケーションが起動しユーザが電話をしているときに用いられる。また、音声制御部２０６は、後述するスクリーンリーダ機能により出力された音声データをスピーカを介して出力する。
表示制御部２０７は、ディスプレイ２１５に出力される情報の制御を行う制御部である。入力制御部２０８は、データ処理装置１０１のボタンやタッチパネル２１６等の入力部を介してユーザにより入力された情報を受け付ける制御部である。
データ処理装置１０１上で実現されるアプリケーションは、音声制御部２０６、表示制御部２０７、入力制御部２０８を利用して、ネットワーク通信情報やデータ処理装置１０１のさまざまな情報をユーザに提供する。
【００１４】
記憶装置２０９は、不揮発性の記憶装置であり、データ処理装置１０１の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログ、各種プログラム、各種設定情報等を記憶する。記憶装置２０９は、例えば、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、フラッシュメモリ等である。
位置検出制御部２１０は、ＧＰＳセンサー２１７を介してデータ処理装置１０１の位置情報を取得し、オペレーティングシステムに提供する制御部である。
これらのデータ処理装置１０１において、ＣＰＵ２０２がＲＯＭ２０３、記憶装置２０９等に記憶されたプログラムにしたがって処理を実行することで、図４で後述する機能、図９、１１、１４、１５で後述するフローチャートの処理等が実現される。即ち、ＣＰＵ２０２、ＲＯＭ２０３、記憶装置２０９は、所謂コンピュータとして機能する。なお、複数のプロセッサ、メモリ、及びストレージを協働させ各処理を実行することもできる。また、一部の処理は、ＡＳＩＣ等のハードウェア回路を用いて実行することもできる。
【００１５】
図３は、印刷処理装置１０４のハードウェア構成の一例を示す図である。本実施形態では、印刷処理装置１０４は、スキャナ機能と、プリンタ機能を有する複合機（ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｐｈｅｒａｌ））を想定しているがこれに限定されるものではない。読取機能を有さないプリンタ等の印刷処理装置であってもよい。本実施例では、一例として印刷処理装置が以下に説明する各種構成要件を備えるものとする。
印刷処理装置１０４は、Ｉ／Ｏ３０１、Ｉ／Ｆ制御部３０２、ＲＡＭ３０３、ＲＡＭ制御部３０４、画像データ調歩回路３０５、プリンタエンジン３０６、エンジンＩ／Ｆ３０７、メインコントローラ３０８、を含む。また、印刷処理装置１０４は、スキャナコントローラ３０９、プリンタコントローラ３１０、ユーザインターフェース３１２、スキャナエンジン３１３を含む。
Ｉ／Ｏ３０１は、外部の装置との間の接続に用いられるインターフェースである。Ｉ／Ｏ３０１は、ＬＡＮ通信部３１４、ＢＬＥ通信部３１５を含む。ＬＡＮ通信部３１４は、ＬＡＮ１０３等の通信媒介を介して、データ処理装置１０１との間で通信を行う。ＢＬＥ通信部３１５は、Ｂｌｕｅｔｏｏｔｈ  ＬＥを用いたＷＰＡＮの形成に用いられる。印刷処理装置１０４は、Ｉ／Ｏ３０１を通して、デバイスＩＤやスキャンイメージをデータ処理装置１０１に送信する。また、印刷処理装置１０４は、Ｉ／Ｏ３０１を通して、データ処理装置１０１から各種の制御コマンドを受信し、受信した制御コマンドに応じた処理を行う。
Ｉ／Ｆ制御部３０２は、印刷処理装置１０４に搭載されているスキャナ、プリンタ、ファクス等のデバイスに対してデバイスＩＤを発行する制御を行う制御部である。ＲＡＭ３０３は、Ｉ／Ｏ３０１を介して取得された制御コマンド等の外部データや、スキャナエンジン３１３で読み取られたイメージのデータ等の一時的な記憶領域として機能する記憶装置である。また、ＲＡＭ３０３は、プリンタコントローラ３１０で展開されたプリンタエンジン３０６に渡される前のイメージの記憶等に用いられる。ＲＡＭ制御部３０４は、ＲＡＭ３０３内の領域の割り当て管理を行う制御部である。
画像データ調歩回路３０５は、ＲＡＭ制御部３０４によりＲＡＭ３０３に展開されたイメージをプリンタエンジン３０６の回転にあわせて出力する装置である。プリンタエンジン３０６は、紙等の出力メディアにイメージを現像する装置である。メインコントローラ３０８は、エンジンＩ／Ｆ３０７を介してプリンタエンジン３０６の各種制御を行うコントローラである。また、メインコントローラ３０８は、スキャナコントローラ３０９やプリンタコントローラ３１０に対して、Ｉ／Ｏ３０１経由でデータ処理装置１０１から受信した制御言語の適切な振り分け処理を行う。更に、メインコントローラ３０８は、それぞれのコントローラやユーザインターフェース３１２からの指示をうけてプリンタエンジン３０６やスキャナエンジン３１３の制御を行う。
スキャナコントローラ３０９は、データ処理装置１０１から送信されたスキャン制御コマンドをメインコントローラ３０８が解釈可能な内部実行命令に分解する。また、スキャナコントローラ３０９は、スキャナエンジン３１３で読み取られたイメージをスキャン制御コマンドに変更する。プリンタコントローラ３１０は、データ処理装置１０１から送信された印刷ジョブとして受けたＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データを、メインコントローラ３０８が解釈可能な、展開イメージ等を含む内部実行命令に分解する。展開イメージは、プリンタエンジン３０６まで送信され、用紙等の出力メディアに印刷される。
本実施形態では、印刷処理装置１０５のハードウェア構成は、印刷処理装置１０４のハードウェア構成と同様である。
【００１６】
図４は、データ処理装置１０１の機能構成の一例を示す図である。データ処理装置１０１は、ＯＳ４１０、アプリケーション４０１、その他のアプリケーション４０８を含む。
ＯＳ４１０は、データ処理装置１０１の全体を制御するためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）である。本実施形態のＯＳ４１０は、操作画面に表示されている文字列等の情報を音声で読み上げることによって操作を補助するスクリーンリーダ機能を有している。ＯＳとしてｉＯＳ（登録商標）を採用する場合、スクリーンリーダ機能は、アクセシビリティ向上のためにプリインストールされているＶｏｉｃｅＯｖｅｒ（登録商標）機能によって提供される。また、ＯＳとしてＡｎｄｒｏｉｄ（登録商標）を採用する場合、スクリーンリーダ機能は、アクセシビリティ向上のためにプリインストールされているＴａｌｋＢａｃｋ機能によって提供される。これらのスクリーンリーダ機能は、図１６に一例を示すＯＳ４１０の設定画面から有効（ＯＮ）、無効（ＯＦＦ）を切り替えることができる。これらのスクリーンリーダに関する設定は、記憶装置２０９に記憶される。スクリーンリーダ機能がＯＮに設定されている場合、データ処理装置１０１は操作画面の読み上げを実行する。読み上げは、例えばユーザが表示オブジェクトや表示文字列をタップしたことに従って実行される。また、読み上げは、操作画面が遷移したことに従って実行される。
アプリケーション４０１は、印刷処理を制御するアプリケーションである。アプリケーション４０１は、ＵＩ部４０２、探索部４０３、印刷制御部４０４、解析部４０５、保存制御部４０６を含む。アプリケーション４０１は、アプリケーションストア等からユーザ操作を介してダウンロードされ、データ処理装置１０１にインストールされているものとする。
ＵＩ部４０２は、アプリケーション４０１への情報の入出力を制御するＵＩ部であり、アプリケーション４０１内の設定を変更させるためのユーザインターフェースを提供する。探索部４０３は、データ処理装置１０１が参加するＬＡＮ１０３上において、データ処理装置１０１がＳＮＭＰで管理されるネットワーク機器を探索する。そして、探索部４０３は、探索したネットワーク機器の中から、印刷が実行可能な印刷処理装置を探索する。更に、探索部４０３は、ＢＬＥの送受信が可能なＷＰＡＮ内において、印刷を実行可能な印刷処理装置を探索する。
印刷制御部４０４は、印刷処理装置に対して送信する印刷ジョブを生成し、生成した印刷ジョブを対応する印刷処理装置に送信する。また、解析部４０５は、画像やＰＤＦ等のファイルを解析する。保存制御部４０６は、解析部４０５による解析結果を、記憶装置２０９に記憶する。
【００１７】
図５は、アプリケーション４０１が起動された際に、アプリケーション４０１によりディスプレイ２１５に表示されるトップメニュー画面の一例を示す図である。トップメニュー画面は、ユーザからの各種入力操作の受け付けに利用されるユーザインターフェースの一例である。ボタン５０１は、印刷を実行する印刷処理装置を選択するための画面への遷移の指示に用いられるボタンである。アプリケーション４０１は、ボタン５０１の選択を検知すると、ディスプレイ２１５に、印刷を実行する印刷処理装置を選択するための画面を表示する。図５の例では、印刷処理を実行する印刷処理装置として、プリンタが選択されている。ボタン５０２は、印刷対象となるファイルの選択・印刷の実行の指示を行うための画面であるファイル選択画面６０１への遷移の指示に用いられるボタンである。アプリケーション４０１は、ボタン５０２の選択を検知すると、ディスプレイ２１５にファイル選択画面６０１を表示する。
図６は、ファイル選択画面６０１の一例を示す図である。図６の例ではファイル選択画面６０１内に、印刷されるファイルの候補となるファイル６０２〜６０４がリスト形式で表示されている。ユーザは、タッチパネル２１６を介して、ファイル６０２〜６０４の中から印刷したいファイルを指定する。アプリケーション４０１は、タッチパネル２１６、ファイル選択画面６０１を介して、ユーザから印刷対象のファイルの指定を受け付ける。以下では、印刷対象のファイルを、印刷対象ファイルとする。そして、アプリケーション４０１は、印刷対象ファイルの指定を受付けると、ディスプレイ２１５に印刷プレビュー画面７０１を表示する。印刷プレビューとは、印刷対象ファイルの内容の確認に用いられる情報である。印刷プレビュー画面とは、印刷対象ファイルの内容の確認に用いられる画面である。なお、スクリーンリーダ機能が有効な場合、アプリケーション４０１は、ＯＳ４１０が提供するスクリーンリーダ機能と協働しマイク・スピーカ２１４のスピーカを介して、ファイル６０２〜６０４のファイル名を順番に音声で出力する。ここで、スクリーンリーダ機能とは、情報を音声出力することで、ユーザの操作を補助する機能である。
【００１８】
図７は、ファイル選択画面６０１を介して印刷対象ファイルが指定された際にディスプレイ２１５に表示される印刷プレビュー画面７０１の一例を示す図である。
印刷プレビュー画面７０１には、印刷対象ファイルの内容が表示される。ボタン７０２は、印刷の指示に用いられるボタンである。また、ボタン７０３は、前のページに戻ることの指示に用いられるボタンである。アプリケーション４０１は、ボタン７０３の選択を検知すると、ディスプレイ２１５にファイル選択画面６０１を表示する。視覚が健常なユーザは、印刷プレビュー画面７０１を視認することで、印刷対象ファイルの内容を確認することができる。ユーザは、確認して問題なければ、ボタン７０２を選択して、印刷対象ファイルの印刷をデータ処理装置１０１に指示する。アプリケーション４０１は、ボタン７０２の選択を検知すると、印刷対象ファイルの印刷を行うよう制御する。
しかし、視覚障がい者は、印刷プレビュー画面を目視確認できない。そのため、印刷対象ファイルの内容を確認できない。
本実施形態では、データ処理装置１０１が、スクリーンリーダ機能が有効な場合に、印刷対象ファイルを解析して、印刷対象ファイルの印刷プレビューを取得し、取得した印刷プレビューを音声出力する処理について説明する。印刷対象ファイルの解析とは、印刷対象ファイルを調べることで印刷対象ファイルに関連する情報を取得することであり、例えば、印刷対象ファイルに含まれる情報を取得したり、印刷対象ファイルが示す画像の内容を示す情報を取得したりすることである。また、印刷対象ファイルの解析により取得される情報を、印刷対象ファイルの解析情報とする。
【００１９】
図８は、本実施形態のデータ処理装置１０１の処理の一例を示すフローチャートの一例である。
Ｓ８０１において、アプリケーション４０１は、ユーザによるボタン５０２の選択を検知し、ディスプレイ２１５にファイル選択画面６０１を表示する。
Ｓ８０２において、アプリケーション４０１は、ファイル選択画面６０１を介して、ユーザから印刷対象ファイルの指定を受け付ける。
Ｓ８０３において、アプリケーション４０１は、ディスプレイ２１５に、Ｓ８０２で受け付けた指定が示す印刷対象ファイルの印刷プレビュー画面を表示する。
Ｓ８０４において、アプリケーション４０１は、スクリーンリーダ機能が有効か否かを判定する。本実施形態では、アプリケーション４０１は、スクリーンリーダ機能が有効が否かをＯＳ４１０に問い合わせる。ＯＳ４１０は、記憶装置２０９に記憶されたスクリーンリーダ機能が有効か否かを示す情報に基づいて、スクリーンリーダ機能が有効か否かを判定する。アプリケーション４０１は、スクリーンリーダ機能が有効であると判定した場合、処理をＳ８０５に進め、スクリーンリーダ機能が無効であると判定した場合、図８の処理を終了する。
【００２０】
Ｓ８０５において、アプリケーション４０１は、解析部４０５を介して、Ｓ８０２で指定された印刷対象ファイルにアクセシビリティ情報が含まれるか否かを判定する。アクセシビリティ情報とは、ファイルへのアクセシビリティ向上のためにファイル内の予め定められた領域に組み込まれた情報である。
印刷対象ファイルがＰＤＦファイルである場合、アプリケーション４０１は、印刷対象ファイル内にドキュメント構造タグ（ＳｔｒｕｃｔＴｒｅｅＲｏｏｔ）が含まれているか否かを判定する。ドキュメント構造タグは、ＰＤＦファイルに組み込まれた情報であり、文書の内容に関する構造を示す情報である。ドキュメント構造タグの情報には、例えば、章と節による文書の編成や、表、脚注を識別する情報等がある。アプリケーション４０１は、印刷対象ファイル内のドキュメント構造タグを解析することで、印刷対象ファイルのアクセシビリティ情報を取得することができる。
【００２１】
ＰＤＦファイルの構造は、オブジェクトの階層構造とみなすことができる。図９を用いて、ＰＤＦファイルの構造の一例について説明する。ツリー９０１は、あるＰＤＦファイルの構造を表現したツリーである。ドキュメント構造タグは、［文書ルートカタログ（Ｃａｔａｌｏｇ）］―［ＳｔｒｕｃｔＴｒｅｅＲｏｏｔ］のオブジェクト（辞書）に相当する。
図９の例では、ドキュメント構造タグは、タグ９０３にあたる。
一方、印刷対象ファイルが画像ファイルである場合、アプリケーション４０１は、その画像ファイルのフォーマットの仕様にのっとって、印刷対象ファイルにアクセシビリティ情報が含まれるか否かを判定する。しかし、画像ファイルには、アクセシビリティ情報が含まれない場合がある。その場合、アプリケーション４０１は、印刷対象ファイルにアクセシビリティ情報が含まれないと判定する。
【００２２】
Ｓ８０６において、アプリケーション４０１は、解析部４０５を介して、印刷対象ファイルからアクセシビリティ情報を取得し、取得したアクセシビリティ情報の内容を示す文字列を取得する。アプリケーション４０１は、アクセシビリティ情報が文字列の情報である場合、アクセシビリティ情報が示す文字列を取得する。また、アプリケーション４０１は、アクセシビリティ情報が文字列と異なる情報（例えば、画像に対応する位置の情報、画像が撮影された時刻の情報等）である場合、以下のようにする。即ち、アプリケーション４０１は、アクセシビリティ情報が示す内容（例えば、画像に対応する位置の情報、画像が撮影された時刻の情報等）を示す文字列を取得する。そして、アプリケーション４０１は、ＯＳ４１０が提供するスクリーンリーダ機能と協働してマイク・スピーカ２１４のスピーカを介して、取得した文字列を、音声出力する。
印刷対象ファイルがＰＤＦの場合、アプリケーション４０１は、ＰＤＦファイルのフォーマットのドキュメント構造タグ内の子要素である構造要素（ＳｔｒｕｃｔＥｌｅｍ）からアクセシビリティ情報を取得する。図９の例では、アプリケーション４０１は、構造要素９０４、９０５の情報を、アクセシビリティ情報として取得する。
【００２３】
Ｓ８０７において、アプリケーション４０１は、解析部４０５を介して、印刷対象ファイル内のコンテンツデータに文字列が含まれるか否かを判定する。ファイルのコンテンツデータとは、そのファイルが保存する対象の中身を示すデータであり、画像ファイルの場合は画像のデータであり、テキストファイルの場合はテキストデータである。
印刷対象ファイルがＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）等のアプリケーションから作成されたＰＤＦであるとすると、印刷対象ファイルは、コンテンツデータ内に文字コードを持つ文字列を含む場合がある。その場合、アプリケーション４０１は、印刷対象ファイルのコンテンツデータ内の文字列を検出して、印刷対象ファイル内のコンテンツデータに文字列が含まれると判定する。
一方、印刷対象ファイルが複写機で原稿をスキャンすることで作成されたＰＤＦファイルであるとすると、印刷対象ファイルは、コンテンツとしてスキャン画像を含み、文字列を含まない場合がある。その場合、アプリケーション４０１は、印刷対象ファイルのコンテンツデータ内から文字列を検出できないため、印刷対象ファイル内のコンテンツデータに文字列が含まれないと判定する。
アプリケーション４０１は、印刷対象ファイル内のコンテンツデータに文字列が含まれると判定した場合、処理をＳ８０８に進め、含まれないと判定した場合、処理をＳ８０９に進める。
Ｓ８０８において、アプリケーション４０１は、印刷対象ファイル内のコンテンツデータから文字列を取得する。そして、アプリケーション４０１は、ＯＳ４１０が提供するスクリーンリーダ機能と協働してマイク・スピーカ２１４のスピーカを介して、取得した文字列を、音声出力する。
【００２４】
Ｓ８０９において、アプリケーション４０１は、解析部４０５を介して、印刷対象ファイルの印刷画像に対して、以下で説明する領域分割処理を行う。印刷画像とは、印刷対象ファイルが実際にどのように印刷されるかを示す画像である。本実施形態では、印刷対象ファイルの印刷画像は、Ｓ８０３で表示された印刷プレビュー画面の画像である
領域分割処理について説明する。
領域分割処理とは、画像内から文字列が存在する領域を分割する処理である。本実施形態では、文字列には、１つの文字も含むこととする。本実施形態では、アプリケーション４０１は、以下の（１）〜（５）の処理を行うことで、印刷対象ファイルに対して領域分割処理を実行する。
（１）二値化処理
アプリケーション４０１は、解析部４０５を介して、印刷対象ファイルの印刷画像に対して２値化を行うことにより、２値画像を取得する。この２値化により、印刷画像における予め定められた閾値より濃い色の画素は、黒画素となる。また、その閾値より薄い色の画素は、白画素となる。なお、本実施形態では、印刷画像が、１００ＤＰＩであるとする。しかし、印刷画像は、この解像度に限定されず、２００ＤＰＩ等の他の解像度であってもよい。
【００２５】
（２）黒画素塊検出処理
アプリケーション４０１は、解析部４０５を介して、（１）の処理で取得した２値画像に対して、８連結で繋がる黒画素の輪郭を追跡することにより、８方向の何れかの方向で連続して存在する黒画素の塊（黒画素塊）を検出する。ここで、８連結とは、ある画素を基準として、左上、左、左下、下、右下、右、右上、上の８つの方向のうちの何れかの方向で、その画素と同じ色（本実施形態では黒）の画素が連続しているという意味である。また、４連結とは、ある画素を基準として、左、下、右、上の４つの方向の何れかの方向で、その画素と同じ色の画素が連続しているという意味である。
アプリケーション４０１は、８方向に存在する８つの隣接画素の何れもが黒画素ではない単独の黒画素を検出しないこととなる。一方、８方向に存在する８つの隣接画素の何れか１つにでも黒画素が存在する黒画素は、その隣接する黒画素と共に、黒画素塊として検出されることになる。図１０の黒画素塊１４０１は、解析部４０５を介して検出された黒画素塊の一例である。また、アプリケーション４０１は、解析部４０５を介して検出した黒画素塊の外接矩形の位置情報（四頂点のＸ、Ｙ座標情報のこと）を取得する。なお、印刷画像内では、Ｘ軸は右方向に伸び、Ｙ軸は下方向に伸びているものとする。外接矩形の幅は、Ｘ軸方向の長さ、外接矩形の高さは、Ｙ軸方向の長さを示す。図１０の矩形１４０２は、黒画素塊１４０１の外接矩形である。なお、本実施形態では、矩形とは、四辺の全てがＸ座標軸、Ｙ座標軸の何れかと平行な矩形であり、斜め向きの矩形ではないとする。
【００２６】
（３）表領域検出処理
アプリケーション４０１は、解析部４０５を介して、（２）の処理で検出した黒画素塊それぞれについて、以下の条件１〜３の全てに該当するか否かを判定する。そして、アプリケーション４０１は、条件１〜３の全てに該当する黒画素塊を、表の枠線を示す黒画素塊であると判断する。
条件１：黒画素塊の外接矩形の幅、高さが閾値（例えば、１００画素、０．２５ｃｍ等）以上である。
条件２：外接矩形の内部における黒画素塊が占める割合が予め定められた閾値（例えば、２０パーセント）以下である。
条件３：黒画素塊の最大幅と外接矩形の幅との差が予め定められた閾値（例えば、１０画素等）以下であり、かつ、黒画素塊の最大高さと外接矩形の高さとの差が予め定められた閾値（例えば、１０画素等）以下である。
アプリケーション４０１は、表の枠線を構成すると判断した黒画素塊の外接矩形の位置情報を、保存制御部４０６を介して記憶装置２０９に記憶する。ここで記憶された位置情報を持つ外接矩形の領域を、以下では、表領域とする。なお、図１０の例では、黒画素塊１４０１は、表の枠線を構成する黒画素塊と判定されたとする。そのため、矩形１４０２の領域は、表領域となる。
【００２７】
（４）認識セルの特定処理
アプリケーション４０１は、解析部４０５を介して、表領域から、認識対象の領域である認識セルを特定する。アプリケーション４０１は、認識セルを特定するために、表領域内部の白画素の輪郭を追跡することにより、白画素塊を検出する。アプリケーション４０１は、黒画素塊を求めた処理と同様の処理で白画素塊を検出する。アプリケーション４０１は、検出した白画素塊が予め定められた条件に合致する場合、その白画素塊の外接矩形の領域を認識セルとして特定する。この予め定められた条件は、以下の条件ａ〜ｃである。
条件ａ：白画素塊の外接矩形の幅、高さが予め定められた閾値（例えば、２０画素等）以上である。
条件ｂ：外接矩形の内部における黒画素塊の占める割合が予め定められた閾値（例えば、２０％等）以下である。
条件ｃ：白画素塊の最大幅と外接矩形の幅との差が予め定められた閾値（例えば、５画素等）以下であり、かつ、白画素塊の最大高さと外接矩形の高さとの差が予め定められた閾値（例えば、５画素等）以下である。
図１３の例では、領域１４０３、１４０４が、解析部４０５を介して、認識セルとして特定される。アプリケーション４０１は、特定した認識セルの位置情報を、保存制御部４０６を介して、記憶装置２０９に記憶する。
【００２８】
（５）文字領域の特定処理
アプリケーション４０１は、解析部４０５を介して、（４）の処理で特定した表領域内の各認識セルの内部に、その各認識セルに内接する白画素塊によって囲まれた黒画素塊があるか否かを判定する。そして、アプリケーション４０１は、黒画素塊があると判定した場合、あると判定された全ての黒画素塊に外接矩形を設定する。
更に、解析部４０５は、一つの認識セルの中に複数の外接矩形を設定した場合、外接矩形同士の距離が予め定められた閾値（例えば、２０画素、０．５ｃｍ等）以下であるか否かを判定する。より具体的には、アプリケーション４０１は、１つの認識セル内に含まれる外接矩形を一つ一つ選択し、選択された外接矩形からの距離が閾値以内である外接矩形を検出する。
そして、アプリケーション４０１は、閾値以下の距離だけ離れた外接矩形を検出した場合、閾値以下の距離だけ離れた外接矩形同士を統合して、新たな外接矩形を生成する。即ち、アプリケーション４０１は、両方の外接矩形に外接する新たな外接矩形を生成し、生成した外接矩形の情報を記憶装置２０９に記憶し、選択された外接矩形と検出された外接矩形との情報を記憶装置２０９から削除する。
【００２９】
その後、アプリケーション４０１は、その認識セル内の外接矩形をまた初めから一つ一つ選択し、互いの間の距離が閾値以下である外接矩形同士を統合していく。アプリケーション４０１は、以上の処理を繰り返す。即ち、互いの間の距離が閾値以下である外接矩形が無くなるまで、外接矩形同士の統合が繰り返される。
このように、本実施形態では、アプリケーション４０１は、一つの認識セルの内部に存在する外接矩形同士の統合を行うが、認識セルをまたぐ外接矩形同士の統合を行わない。
以上の処理が完了した際に、記憶装置２０９に記憶されている外接矩形の情報は、文字列が存在する領域である文字領域を示す情報となる。解析部４０５は、認識セルの内部に存在する文字領域の位置情報を、対応する認識セルと関連付けて記憶装置２０９に記憶する。以上の処理により、アプリケーション４０１は、印刷画像内の表領域内に存在する文字領域を特定する。
図１３の例では、領域１４０５、１４０６それぞれは、文字領域として特定された領域である。また、領域１４０５、１４０６それぞれの位置情報は、認識セルである領域１４０３の情報と関連付けられて、記憶装置２０９に記憶される。
また、アプリケーション４０１は、公知のＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）の技術を用いて、印刷画像内の表領域以外の部分に存在する文字列が存在する文字領域を特定する。そして、アプリケーション４０１は、特定した文字領域の位置情報を、記憶装置２０９に記憶する。
アプリケーション４０１は、以上の（１）〜（５）の処理を実行することで、印刷画像から、文字列が存在する領域である文字領域を分割する。
【００３０】
Ｓ８１０において、アプリケーション４０１は、解析部４０５を介して、印刷画像内に文字列が含まれるか否かを判定する。より具体的には、アプリケーション４０１は、Ｓ８０９で特定した文字領域が存在するか否かに基づいて、印刷画像内に文字列が含まれるか否かを判定する。アプリケーション４０１は、Ｓ８０９で特定した文字領域が存在する場合、印刷画像内に文字列が含まれると判定して、処理をＳ８１１に進め、Ｓ８０９で特定した文字領域が存在しない場合、印刷画像内に文字列が含まれないと判定して、処理をＳ８１２に進める。
Ｓ８１１において、アプリケーション４０１は、解析部４０５を介して、印刷画像におけるＳ８０９で特定した文字領域それぞれに対して文字認識を行い、文字列を取得する。そして、アプリケーション４０１は、マイク・スピーカ２１４のスピーカを介して、取得した文字列を音声出力する。
アプリケーション４０１は、文字認識により取得した文字列を、対応する文字領域と関連付けて記憶装置２０９に記憶する。それにより、文字領域が表領域内に存在する場合、文字列は、文字領域と予め関連付けられている認識セルとも関連付けられることになる。また、アプリケーション４０１は、文字認識に失敗した場合、文字領域に関連付けられる文字列を取得できないこととなる。
また、アプリケーション４０１は、文字認識を行う際に、更に、認識率を取得してもよい。認識率は、文字を正しく認識できたか否かを何かしらの数値で示した値である。その場合、アプリケーション４０１は、認識した文字列と関連付けて認識率についても、記憶装置に記憶することとしてもよい。
【００３１】
Ｓ８１２において、アプリケーション４０１は、解析部４０５を介して、外部の画像解析サービスを利用して、印刷画像がどのような画像であるかを認識する認識処理の結果の情報を取得する。本実施形態では、アプリケーション４０１は、Ｇｏｏｇｌｅ  Ｃｌｏｕｄ  Ｖｉｓｉｏｎ  ＡＰＩ（登録商標）等のクラウドコンピューティングを用いた画像解析のサービス（クラウドサービス）に印刷画像の認識処理を依頼することで、応答として印刷画像の認識処理の結果（認識結果）の情報を取得する。認識処理の結果の情報は、例えば、何等かのオブジェクト（例えば、人物、動物、風景等）の画像であることを示す情報等である。そして、アプリケーション４０１は、マイク・スピーカ２１４のスピーカを介して、取得した認識処理の結果の情報を音声出力する。
本実施形態では、アプリケーション４０１は、Ｓ８１２で、クラウドコンピューティングを用いた画像解析サービスを利用することとしたが、利用しないこととしてもよい。その場合、アプリケーション４０１は、例えば、画像内の被写体を検出するためのオフラインの推論エンジンを用いて、印刷画像に対する認識処理を実行し、認識処理の結果の情報を取得することとしてもよい。その場合、アプリケーション４０１は、例えば、ＯＳ４１０が提供するＡＰＩ等に印刷画像の認識処理を依頼し、応答として認識処理の結果の情報を取得する。続いて、ＯＳ４１０が提供するスクリーンリーダ機能と協働して取得した情報を音声出力する。
Ｓ８０６、Ｓ８０８、Ｓ８１１、Ｓ８１２それぞれで音声出力される情報（アクセシビリティ情報を示す文字列、印刷対象ファイルに含まれる文字列、印刷画像から認識された文字列、印刷画像に対する認識処理の結果の情報）それぞれは、解析情報の一例である。
【００３２】
なお、Ｓ８０６、Ｓ８０８、Ｓ８１１、Ｓ８１２の何れかの処理において、情報の音声出力が行われている最中に、ユーザが予め定められた操作を行った場合、アプリケーション４０１は、音声出力を途中で中止することとする。
図１１を用いて、データ処理装置１０１が音声出力を中止する処理について説明する。
図１１（ａ）、（ｂ）の処理の開始の際には、Ｓ８０６、Ｓ８０８、Ｓ８１１、Ｓ８１２の何れかの処理で情報が音声出力されているとする。本実施形態では、アプリケーション４０１は、マルチスレッド処理により図８のフローチャートの処理と、図１１（ａ）、（ｂ）の何れかのフローチャートの処理と、を並列して実行することとする。
図１１（ａ）のフローチャートの処理について説明する。
Ｓ１００１において、アプリケーション４０１は、ボタン７０２が選択されたか否かを判定する。アプリケーション４０１は、ボタン７０２が選択されたと判定した場合、処理をＳ１００２に進め、ボタン７０２が選択されていないと判定した場合、図１１の処理を終了する。
Ｓ１００２において、アプリケーション４０１は、Ｓ８０６、Ｓ８０８、Ｓ８１１、Ｓ８１２の何れかの処理で実行されている音声出力処理を中止するよう制御する。
Ｓ１００３において、アプリケーション４０１は、印刷対象ファイルの印刷処理を実行するよう制御する。
【００３３】
図１１（ｂ）のフローチャートの処理について説明する。
Ｓ１００４において、アプリケーション４０１は、ボタン７０３が選択されたか否かを判定する。アプリケーション４０１は、ボタン７０３が選択されたと判定した場合、処理をＳ１００５に進め、ボタン７０３が選択されていないと判定した場合、図１１（ｂ）の処理を終了する。
Ｓ１００５において、アプリケーション４０１は、Ｓ８０６、Ｓ８０８、Ｓ８１１、Ｓ８１２の何れかの処理で実行されている音声出力処理を中止するよう制御する。
Ｓ１００６において、アプリケーション４０１は、ディスプレイ２１５に、ファイル選択画面６０１を表示する。
以上の図１１の処理により、データ処理装置１０１は、音声出力処理をキャンセルして、別の処理に進むことができる。
なお、本実施形態では、アプリケーション４０１は、印刷プレビュー画面７０１に移動したタイミング以外に、タッチパネル２１６へのユーザによるタップ操作を検知した場合に、Ｓ８０３〜Ｓ８１２の処理を実行することとする。これにより、タッチパネル２１６へのタップ操作に応じて、再度、印刷対象ファイルの解析情報が音声出力される。そのため、ユーザが、解析情報を聞き返したい場合に聞き返すことができるようになる。
【００３４】
以上、本実施形態の処理により、データ処理装置１０１は、印刷対象ファイルの解析情報を、音声出力することで、ユーザに提供できる。これにより、視覚障がい者のユーザが、印刷するファイルが正しく選択されているか否かをより容易に判断することができるようになる。困難な場合がある。即ち、データ処理装置１０１は、印刷の際の視覚障がい者のユーザにとっての利便性を向上できる。
【００３５】
＜実施形態２＞
実施形態１では、データ処理装置１０１が、印刷対象ファイルを解析してから解析情報を取得して、取得した解析情報を音声出力する処理について説明した。しかし、印刷対象ファイルの解析情報に含まれる文字数によっては、解析情報の音声出力に時間がかかってしまう。例えば、図１２のような請求書の文書ファイルの印刷画像から取得された文字列を音声出力すると時間がかかり、ユーザの混乱を招く可能性がある。
そこで、本実施形態では、データ処理装置１０１が、印刷対象ファイルから、特定の解析情報を取得し、取得した特定の解析情報を音声出力する処理について説明する。
本実施形態では、データ処理装置１０１が、印刷対象ファイルから、特定の解析情報として、文書のタイトルを取得し、音声出力する。
本実施形態のデータ処理システムのシステム構成は、実施形態１と同様である。また、データ処理システムの各構成要素のハードウェア構成及び機能構成についても、実施形態１と同様である。
【００３６】
アプリケーション４０１は、解析部４０５を介して、印刷対象ファイルの印刷画像から文字属性情報１２０１を取得する。
図１２の文書１１０１から取得される文字属性情報１２０１について説明する。図１３は、文書１１０１から取得された文字属性情報１２０１の一例を示す図である。文字属性情報とは、文書内に含まれる文字列の属性を示す情報である。なお、図１３の例では、文字属性情報１２０１は、ＸＭＬ形式となっているが、別の形式でもよい。例えば、文字属性情報１２０１は、解析部４０５内部でのみ使用される情報であるため、バイナリ形式でもよい。
例えば、文書１１０１内の文字列１１０２から、文字属性情報１２０１における要素１２０２の情報が取得される。
要素１２０２には、以下のように、「文字列（ｓｔｒｉｎｇ）」、「文字サイズ（ｓｉｚｅ）」、「文字位置（ｐｏｓｉｔｉｏｎ）」、「タイプ（ｔｙｐｅ）」の項目が含まれる。図１３の例では、「文字列（ｓｔｒｉｎｇ）」は、Ｉｎｖｏｉｃｅである。また、「文字サイズ（ｓｉｚｅ）」は、２４である。また、「文字位置（ｐｏｓｉｔｉｏｎ）」は、対応する文字列に外接する文字枠１１０３の左上の座標［２０、１０］と右下の座標［１００、３４］とである。また、「タイプ（ｔｙｐｅ）」は、Ｔｅｘｔである。「タイプ（ｔｙｐｅ）」の項目は、例えば、表内のデータである場合、Ｔａｂｌｅとなる。タイプは必要に応じて種類が増減されることとしてもよい。
【００３７】
以下では、文字属性情報１２０１を取得する処理について説明する。
（印刷対象ファイルが画像ファイル又は画像のみを含むＰＤＦファイルである場合）
アプリケーション４０１は、印刷対象ファイルに対して、図８のＳ８０９で説明した領域分割処理を実行することで、印刷対象ファイルの印刷画像内の文字領域を特定する。そして、アプリケーション４０１は、特定した文字領域それぞれについて、文字領域が表領域内に存在する場合、対応する文字列のタイプをＴａｂｌｅとして、文字領域が表領域内に存在しない場合、対応する文字列のタイプをＴｅｘｔとして、取得する。
そして、アプリケーション４０１は、印刷画像内の各文字領域に対して文字認識処理を実行することで、各文字領域に対応する文字列と文字サイズとを取得する。
アプリケーション４０１は、取得したタイプ、文字列、文字サイズ、及び文字領域の位置情報を用いて、印刷対象ファイルの文字属性情報１２０１を作成する。アプリケーション４０１は、作成した文字属性情報１２０１を、記憶装置２０９に記憶する。しかし、アプリケーション４０１は、作成した文字属性情報１２０１を、記憶装置２０９に記憶せずに、ＲＡＭ２０４に記憶してもよい。
【００３８】
（印刷対象ファイルが文字コードを含むＰＤＦファイルである場合）
印刷対象ファイルが、文字コードを含むＰＤＦの場合、印刷対象ファイル内に文字列、文字サイズ、文字位置の情報が含まれている。そのため、アプリケーション４０１は、印刷対象ファイルから、それらの情報を取得する。
ＰＤＦフォーマットの仕様では、表というオブジェクトの定義は無い。そのため、ＰＤＦファイル内のある文字列が、表内の文字列か否かを、単純にＰＤＦファイル内の情報から判断できない。ただし、ドキュメント構造タグにより、表内の文字列が定義されていれば、アプリケーション４０１は、このドキュメント構造タグから、ＰＤＦファイル内の文字列が、表内の文字列か否かを判定できる。そして、アプリケーション４０１は、判定結果に基づいて、印刷画像内の文字列のタイプを取得する。
また、ドキュメント構造タグにより、表内の文字列が定義されていない場合、アプリケーション４０１は、印刷対象ファイルを一旦画像に変換して、変換後の画像に対して領域分割処理を行うことで、印刷画像内の各文字列が表内の文字列か否かを判定する。そして、アプリケーション４０１は、判定結果に基づいて、印刷画像内の文字列のタイプを取得する。
【００３９】
以上の処理により、アプリケーション４０１は、解析部４０５を介して、印刷対象ファイルの文字属性情報１２０１を作成する。
続いて、文字属性情報１２０１の情報を元に、文書のタイトルを示す文字列を取得し、取得した文字列を音声出力する処理について説明する。
処理の概要として、アプリケーション４０１が文字属性情報１２０１内の複数の＜ｄａｔａ＞要素の中から、以下の条件α、βを満たす文字列情報を探索する処理である。
条件α：印刷画像内で、相対的に上側、左側に位置する文字列である。
条件β：印刷画像内で、相対的にフォントサイズが大きい文字列である。
条件α、βは、文書内のタイトルは、文書内で上側、左側に位置し、かつ、フォントサイズも他の文字列よりも大きい、との仮定に基づく条件である。
【００４０】
図１４は、本実施形態のデータ処理装置１０１の処理の一例を示すフローチャートである。図１４を用いて、データ処理装置１０１が、文字属性情報１２０１の情報を元に、文書のタイトルを示す文字列を取得し、取得した文字列を音声出力する処理について説明する。
Ｓ１３０１において、アプリケーション４０１は、解析部４０５を介して、ＰＤＦファイルである印刷対象ファイル内に、タイトルの情報が含まれているか否かを判定する。印刷対象ファイル内にアクセシビリティ情報として、タイトルが定義された情報が含まれる場合がある。そこで、アプリケーション４０１は、解析部４０５を介して、印刷対象ファイルのドキュメント構造タグ（ＳｔｒｕｃｔＴｒｅｅＲｏｏｔ）内から、タイトルとして定義されている構造要素を探索する。アプリケーション４０１は、探索できた場合、処理をＳ１３０２に進め、探索できなかった場合、処理をＳ１３０３に進める。
本実施形態では、アプリケーション４０１は、印刷対象ファイルのドキュメント構造タグ（ＳｔｒｕｃｔＴｒｅｅＲｏｏｔ）内から、タイトルとして定義されている構造要素を探索することで、タイトルの情報を探索することとした。しかし、アプリケーション４０１は、印刷対象ファイルのドキュメント構造タグ（ＳｔｒｕｃｔＴｒｅｅＲｏｏｔ）内から、タイトルとして定義されている構造要素を探索しないこととしてもよい。例えば、印刷対象ファイル内にメタデータとして、タイトルの情報が含まれる場合がある。そこで、アプリケーション４０１は、印刷対象ファイルのメタデータから、タイトルを示すメタデータを探索することとしてもよい。
【００４１】
Ｓ１３０２において、アプリケーション４０１は、ＯＳ４１０が提供するスクリーンリーダ機能と協働してＳ１３０１で探索したタイトルの情報を、マイク・スピーカ２１４のスピーカを介して、音声出力する。
Ｓ１３０３において、アプリケーション４０１は、解析部４０５を介して、印刷対象ファイルから文字属性情報１２０１を作成する。
Ｓ１３０４において、アプリケーション４０１は、解析部４０５を介して、Ｓ１３０３で作成した文字属性情報１２０１内の＜ｄａｔａ＞要素のうち、文書内における上側の領域として予め定められた領域内に存在する＜ｄａｔａ＞要素を抽出する。本実施形態では、印刷画像に表される文書の領域をｙ方向に３分割した場合の最上部の領域を、文書内における上側の領域として予め定められた領域とする。また、文書内における上側の領域として予め定められた領域は、文書の領域をｙ方向に３分割した場合の最上部の領域に限定されない。例えば、文書内における上側の領域として予め定められた領域は、文書の領域をｙ方向に５分割した場合の最上部の領域であってもよい。
例えば、文書の下側にロゴがあり、ロゴの形によっては、サイズの大きい文字列と判定されてしまう場合がある。このような文字列を、文書のタイトルとして取得しないようにするために、アプリケーション４０１は、Ｓ１３０４の処理を行う。
【００４２】
Ｓ１３０５において、アプリケーション４０１は、解析部４０５を介して、Ｓ１３０４で抽出した＜ｄａｔａ＞要素のうち、フォントサイズが最も大きい＜ｄａｔａ＞要素を全て抽出する。
Ｓ１３０６において、アプリケーション４０１は、解析部４０５を介して、Ｓ１３０４で抽出した＜ｄａｔａ＞要素のうち、以下のような＜ｄａｔａ＞要素を抽出する。即ち、アプリケーション４０１は、Ｓ１３０５で抽出した＜ｄａｔａ＞要素に対応するフォントサイズとのサイズ差が、予め定められた閾値（例えば、０．５ｐ、１ｐ等）以下であるフォントサイズの＜ｄａｔａ＞要素を全て抽出する。
文字認識によるフォントサイズの特定処理は、精度が１００％ではない場合がある。そのため、フォントサイズが実際のサイズと比べて、０．５〜１．０ｐほどずれて特定される場合が生じうる。そこで、アプリケーション４０１は、そのような場合に対応して、Ｓ１３０６の処理を実行する。
【００４３】
Ｓ１３０７において、アプリケーション４０１は、解析部４０５を介して、Ｓ１３０５とＳ１３０６とで抽出した＜ｄａｔａ＞要素中から、もっとも左上に位置する＜ｄａｔａ＞要素の文字列を、タイトルを示す文字列として取得する。より具体的には、アプリケーション４０１は、各＜ｄａｔａ＞要素の「文字位置（ｐｏｓｉｔｉｏｎ）」が示す文字枠の左上の座標値を取得する。そして、アプリケーション４０１は、取得した座標値のうち、対応するｘ座標値とｙ座標値との和が最も小さい座標値を特定する。アプリケーション４０１は、特定した座標値に対応する＜ｄａｔａ＞要素を、最も左上に存在する文字列を示す＜ｄａｔａ＞要素として特定する。アプリケーション４０１は、特定した＜ｄａｔａ＞要素に対応する文字列を、タイトルを示す文字列として取得する。
Ｓ１３０８において、アプリケーション４０１は、ＯＳ４１０が提供するスクリーンリーダ機能と協働してＳ１３０７で取得した文字列を、マイク・スピーカ２１４のスピーカを介して音声出力する。
【００４４】
なお、本実施形態では、アプリケーション４０１は、印刷対象ファイルに対応する文書のタイトルを示す文字列を１つだけ取得することとした。しかし、タイトルの候補が複数ある場合に対応するため、アプリケーション４０１は、印刷対象ファイルに対応する文書のタイトルを示す文字列を複数取得してもよい。その場合、アプリケーション４０１は、Ｓ１３０７で、Ｓ１３０５とＳ１３０６とで抽出した＜ｄａｔａ＞要素中から、各＜ｄａｔａ＞要素の「文字位置（ｐｏｓｉｔｉｏｎ）」が示す文字枠の左上の座標値を取得する。そして、アプリケーション４０１は、取得した座標値のうち、対応するｘ座標値とｙ座標値との和が、予め定められた閾値以下の座標値を複数特定する。アプリケーション４０１は、特定した座標値それぞれに対応する＜ｄａｔａ＞要素を、タイトルを示す文字列を示す＜ｄａｔａ＞要素として特定する。アプリケーション４０１は、特定した複数の＜ｄａｔａ＞要素に対応する複数の文字列を、タイトルを示す文字列として取得することとなる。そして、アプリケーション４０１は、ＯＳ４１０が提供するスクリーンリーダ機能と協働して特定した複数の文字列を音声出力する。
また、本実施形態では、アプリケーション４０１は、タイトルに相当する文字列を、音声出力の対象となる特定の文字列として取得した。しかし、アプリケーション４０１は、他の種類の文字列を音声出力の対象となる文字列として取得してもよい。例えば、アプリケーション４０１は、印刷画像から抽出した文字列に基づき要約を作成し、作成した要約を、音声出力の対象となる文字列として取得してもよい。なお、アプリケーション４０１は、公知の要約アルゴリズムを用いることで、印刷画像から抽出した文字列から要約を作成できる。アプリケーション４０１は、例えば、各文のグラフ表現におけるベクトルの類似度に基づき重要な文を抽出するＬｅｘＲａｎｋ等のアルゴリズムを用いることができる。また、アプリケーション４０１は、外部のクラウドサーバ等と連携して要約を作成することとしてもよい。
【００４５】
以上、本実施形態の処理により、データ処理装置１０１は、印刷対象ファイルが指定された際に、印刷画像に対応する文書に関する特定の情報のみ音声出力できる。これにより、視覚障がい者のユーザは、より容易に、印刷対象ファイルの内容を確認することができる。
【００４６】
＜実施形態３＞
数値のみの文字列と表内の文字列とについては、音声で読み上げられても分かりづらく、かえって混乱を招く可能性があった。
そこで、本実施形態では、データ処理装置１０１が数値のみの文字列と表内の文字列とを、音声出力させないように制御する処理について説明する。
本実施形態のデータ処理システムのシステム構成は、実施形態１と同様である。また、データ処理システムの各構成要素のハードウェア構成及び機能構成についても、実施形態１と同様である。
【００４７】
図１５は、本実施形態のデータ処理装置１０１の処理の一例を示すフローチャートである。本実施形態では、印刷対象ファイルは、文書の画像を示す画像ファイルであるとする。
本実施形態では、データ処理装置１０１は、図１４のフローチャートのＳ１３０１〜Ｓ１３０３と同様の処理を実行する。データ処理装置１０１は、Ｓ１３０３の処理を実行した後に、図１５の処理を実行する。
Ｓ１５０１において、アプリケーション４０１は、解析部４０５を介して、Ｓ１３０３で作成した文字属性情報１２０１に含まれる＜ｄａｔａ＞要素の中で、タイプがＴａｂｌｅのものを削除する。
Ｓ１５０２において、アプリケーション４０１は、解析部４０５を介して、文字属性情報１２０１に含まれる＜ｄａｔａ＞要素の中で、予め定められた種類の文字を含まない文字列をもつ＜ｄａｔａ＞要素を削除する。本実施形態では、予め定められた種類の文字は、ひらがな、カタカナ、漢数字を除く漢字、アルファベットであるとする。これにより、アプリケーション４０１は、アラビア数字、漢数字等の数値のみで構成されるような文字列をもつ＜ｄａｔａ＞要素を削除できる。
Ｓ１５０３において、アプリケーション４０１は、マイク・スピーカ２１４のスピーカを介して、文字属性情報１２０１に残っている＜ｄａｔａ＞要素の文字列を音声出力する。
【００４８】
本実施形態では、印刷対象ファイルは、文書の画像を示す画像ファイルであるとした。しかし、印刷対象ファイルは、文書の画像をコンテンツとして含むＰＤＦファイルであるとしてもよい。その場合、データ処理装置１０１は、印刷対象ファイルは、文書の画像を示す画像ファイルである場合と同様の処理を実行する。
また、印刷対象ファイルは、文字列をコンテンツとして含むＰＤＦファイルであるとしてもよい。その場合、データ処理装置１０１は、印刷対象ファイルにコンテンツとして含まれる文字列を取得し、取得した文字列から、表に格納される文字列と、予め定められた種類の文字を含まない文字列と、を除いた文字列を音声出力する。
【００４９】
以上、本実施形態では、データ処理装置１０１は、表に含まれている文字列、又は、数値のみで構成されているような文字列を音声出力しないように制御した。これにより、ユーザが混乱してしまう可能性を低減できる。
【００５０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５１】
例えば、上述したデータ処理システムの機能構成の一部又は全てをハードウェアとしてデータ処理装置１０１等に実装してもよい。
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。例えば、上述した各実施形態を任意に組み合わせる等してもよい。
【符号の説明】
【００５２】
１０１  データ処理システム
２０２  ＣＰＵ
【図１】
2020060963.tif 000003
【図２】
2020060963.tif 000004
【図３】
2020060963.tif 000005
【図４】
2020060963.tif 000006
【図５】
2020060963.tif 000007
【図６】
2020060963.tif 000008
【図７】
2020060963.tif 000009
【図８】
2020060963.tif 000010
【図９】
2020060963.tif 000011
【図１０】
2020060963.tif 000012
【図１１】
2020060963.tif 000013
【図１２】
2020060963.tif 000014
【図１３】
2020060963.tif 000015
【図１４】
2020060963.tif 000016
【図１５】
2020060963.tif 000017
【図１６】
2020060963.tif 000018