IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通フロンテック株式会社の特許一覧

特許7620540画面比較装置、画面比較方法、及びプログラム
<>
  • 特許-画面比較装置、画面比較方法、及びプログラム 図1
  • 特許-画面比較装置、画面比較方法、及びプログラム 図2
  • 特許-画面比較装置、画面比較方法、及びプログラム 図3
  • 特許-画面比較装置、画面比較方法、及びプログラム 図4
  • 特許-画面比較装置、画面比較方法、及びプログラム 図5
  • 特許-画面比較装置、画面比較方法、及びプログラム 図6
  • 特許-画面比較装置、画面比較方法、及びプログラム 図7
  • 特許-画面比較装置、画面比較方法、及びプログラム 図8
  • 特許-画面比較装置、画面比較方法、及びプログラム 図9
  • 特許-画面比較装置、画面比較方法、及びプログラム 図10
  • 特許-画面比較装置、画面比較方法、及びプログラム 図11
  • 特許-画面比較装置、画面比較方法、及びプログラム 図12
  • 特許-画面比較装置、画面比較方法、及びプログラム 図13
  • 特許-画面比較装置、画面比較方法、及びプログラム 図14
  • 特許-画面比較装置、画面比較方法、及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-15
(45)【発行日】2025-01-23
(54)【発明の名称】画面比較装置、画面比較方法、及びプログラム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20250116BHJP
【FI】
G06F11/36 188
【請求項の数】 5
(21)【出願番号】P 2021205363
(22)【出願日】2021-12-17
(65)【公開番号】P2023090415
(43)【公開日】2023-06-29
【審査請求日】2023-12-06
(73)【特許権者】
【識別番号】000237639
【氏名又は名称】富士通フロンテック株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】馬路 武志
(72)【発明者】
【氏名】小原 勝利
(72)【発明者】
【氏名】金元 浩一
(72)【発明者】
【氏名】渡辺 裕貴
(72)【発明者】
【氏名】狩野 忠史
(72)【発明者】
【氏名】高山 和也
【審査官】松平 英
(56)【参考文献】
【文献】特開2015-181049(JP,A)
【文献】特開2017-207995(JP,A)
【文献】特開2020-009279(JP,A)
【文献】特開2009-122970(JP,A)
【文献】特開2018-128801(JP,A)
【文献】特開2016-033716(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
8/60-8/77
9/44-9/445
9/451
11/07
11/28-11/36
(57)【特許請求の範囲】
【請求項1】
修正対象のアプリケーションにより表示される画面を比較する画面比較装置において、
修正前の前記アプリケーションにより表示される現行画面に含まれる少なくとも1つ以上の文字を現行画面の文字認識結果として抽出すると共に、修正後の前記アプリケーションにより表示される新規画面に含まれる少なくとも1つ以上の文字を新規画面の文字認識結果として抽出する抽出部と、
前記抽出部により抽出された少なくとも1つ以上の前記現行画面の文字認識結果と、少なくとも1つ以上の前記新規画面の文字認識結果と、のペアに応じて、前記新規画面の文字の誤りを検出する検出部と、
前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果とを比較することで、前記少なくとも1つ以上の前記新規画面の文字認識結果の位置ずれの有無をチェックする手段と、
を備え
位置ずれなしは、前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果とが一致する比較結果を表し、
位置ずれありは、前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向のうち所定方向の文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向のうち前記所定方向の文字認識結果とが一致しない比較結果を表すことを特徴とする画面比較装置。
【請求項2】
請求項1に記載の画面比較装置であって、
前記検出部が検出した前記新規画面の文字の誤りを通知する通知部を更に備えることを特徴とする画面比較装置。
【請求項3】
請求項1又は請求項2に記載の画面比較装置であって、
前記検出部は、前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、に応じて前記新規画面の文字の誤りを検出することを特徴とする画面比較装置。
【請求項4】
修正対象のアプリケーションにより表示される画面を比較する画面比較装置が実行する画面比較方法であって、
修正前の前記アプリケーションにより表示される現行画面に含まれる少なくとも1つ以上の文字を現行画面の文字認識結果として抽出すると共に、修正後の前記アプリケーションにより表示される新規画面に含まれる少なくとも1つ以上の文字を新規画面の文字認識結果として抽出し、
前記抽出された少なくとも1つ以上の前記現行画面の文字認識結果と、少なくとも1つ以上の前記新規画面の文字認識結果と、のペアに応じて、前記新規画面の文字の誤りを検出し、
前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果とを比較することで、前記少なくとも1つ以上の前記新規画面の文字認識結果の位置ずれの有無をチェック
位置ずれなしは、前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果とが一致する比較結果を表し、
位置ずれありは、前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向のうち所定方向の文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向のうち前記所定方向の文字認識結果とが一致しない比較結果を表すことを特徴とする画面比較方法。
【請求項5】
修正対象のアプリケーションにより表示される画面を比較する画面比較装置が実行するプログラムであって、
修正前の前記アプリケーションにより表示される現行画面に含まれる少なくとも1つ以上の文字を現行画面の文字認識結果として抽出すると共に、修正後の前記アプリケーションにより表示される新規画面に含まれる少なくとも1つ以上の文字を新規画面の文字認識結果として抽出し、
前記抽出された少なくとも1つ以上の前記現行画面の文字認識結果と、少なくとも1つ以上の前記新規画面の文字認識結果と、のペアに応じて、前記新規画面の文字の誤りを検出し、
前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果とを比較することで、前記少なくとも1つ以上の前記新規画面の文字認識結果の位置ずれの有無をチェックする、
処理を実行し、
位置ずれなしは、前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向それぞれの文字認識結果とが一致する比較結果を表し、
位置ずれありは、前記少なくとも1つ以上の前記現行画面の文字認識結果の上方向、下方向、右方向、及び左方向のうち所定方向の文字認識結果と、前記少なくとも1つ以上の前記新規画面の文字認識結果の上方向、下方向、右方向、及び左方向のうち前記所定方向の文字認識結果とが一致しない比較結果を表すことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面比較装置、画面比較方法、及びプログラムに関する。
【背景技術】
【0002】
アプリケーションの更改を行う場合、アプリケーションの修正前後において、意図しない文言やボタン配置の変更がないことを目視で修正前後の画面を見比べて、テストしている。例えば、Webアプリケーションのテストを行うプログラムの技術が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-116496号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術においては、目視で修正前後の画面を比較しているため、長い文字列の誤字や脱字の検出に誤る場合がある。また、画面サイズを変更する際に、目視で修正前後の画面を比較しづらいため、確認に誤りが出る場合がある。また、画面を一枚ずつ目視で確認する必要があるため、確認作業に時間がかかっていた。
【0005】
本願発明は、上記課題に鑑み、アプリケーション画面の更改を行う際に、修正前後で意図しない文言や配置の変更の確認を効率よく正確に行うことができる画面比較装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は、修正対象のアプリケーションにより表示される画面を比較する画面比較装置において、修正前の前記アプリケーションにより表示される現行画面に含まれる少なくとも1つ以上の文字を現行画面の文字認識結果として抽出すると共に、修正後の前記アプリケーションにより表示される新規画面に含まれる少なくとも1つ以上の文字を新規画面の文字認識結果として抽出する抽出部と、前記抽出部により抽出された少なくとも1つ以上の前記現行画面の文字認識結果と、少なくとも1つ以上の前記新規画面の文字認識結果と、のペアに応じて、前記新規画面の文字の誤りを検出する検出部と、を備えることを特徴とする。
【0007】
また、本発明は、修正対象のアプリケーションにより表示される画面を比較する画面比較装置が実行する画面比較方法であって、修正前の前記アプリケーションにより表示される現行画面に含まれる少なくとも1つ以上の文字を現行画面の文字認識結果として抽出すると共に、修正後の前記アプリケーションにより表示される新規画面に含まれる少なくとも1つ以上の文字を新規画面の文字認識結果として抽出し、前記抽出された少なくとも1つ以上の前記現行画面の文字認識結果と、少なくとも1つ以上の前記新規画面の文字認識結果と、のペアに応じて、前記新規画面の文字の誤りを検出することを特徴とする。
【0008】
また、本発明は、修正対象のアプリケーションにより表示される画面を比較する画面比較装置が実行するプログラムであって、修正前の前記アプリケーションにより表示される現行画面に含まれる少なくとも1つ以上の文字を現行画面の文字認識結果として抽出すると共に、修正後の前記アプリケーションにより表示される新規画面に含まれる少なくとも1つ以上の文字を新規画面の文字認識結果として抽出し、前記抽出された少なくとも1つ以上の前記現行画面の文字認識結果と、少なくとも1つ以上の前記新規画面の文字認識結果と、のペアに応じて、前記新規画面の文字の誤りを検出する処理を実行することを特徴とする。
【発明の効果】
【0009】
本発明によれば、アプリケーション画面の更改を行う際に、修正前後で意図しない文言や配置の変更の確認を効率よく正確に行うことができる。
【図面の簡単な説明】
【0010】
図1】本実施の形態の画面比較装置により比較される画面の一例を示す図である。
図2】本実施の形態における画面比較装置のハードウェア構成図である。
図3】本実施の形態の画面比較処理に係る画面比較装置の機能ブロックの一例を示す図である。
図4】画面比較装置が実行する画面比較処理による画面比較方法の手順の一例を示すフローチャートである。
図5】画面比較装置が実行する抽出処理の手順の一例を示すフローチャートである。
図6】記憶部に記憶される現行画面のOCR結果配列、及び新規画面OCR結果配列の一例を示す図である。
図7】単数ペア抽出処理の手順の一例を示すフローチャートである。
図8】複数ペア抽出処理の手順の一例を示すフローチャートである。
図9】周囲OCR結果取得処理により取得される現行画面のOCR結果の取得方法の概要の一例を示す図である。
図10】周囲OCR結果取得処理により取得される新規画面のOCR結果の取得方法の概要の一例を示す図である。
図11】周囲OCR結果取得処理の手順の一例を示すフローチャートである。
図12】OCR結果更新処理の手順の一例を示すフローチャートである。
図13】誤字脱字チェック処理の手順の一例を示すフローチャートである。
図14】位置ずれチェック処理の手順の一例を示すフローチャートである。
図15】誤字脱字及び位置ずれを通知する一例を示す図である。
【発明を実施するための形態】
【0011】
図1は、本実施の形態の画面比較装置100により比較される画面の一例を示す図である。画面比較装置100は、例えば、修正対象のアプリケーションにより表示される画面を比較する装置として使用される。以下、修正前のアプリケーションにより表示される画面を現行画面10といい、修正後のアプリケーションにより表示される画面を新規画面20という。アプリケーションとしては、現金自動預払機などのATM(automatic teller machine)のアプリケーションに適用することができる。画面比較装置100を適用するアプリケーションはATMに限られることなく、画面を表示することが必須の種々のアプリケーションに適用することができる。
【0012】
図1に示すように、修正後のアプリケーションにより表示される新規画面20には、修正前のアプリケーションにより表示される現行画面10には表示されていなかった文言300aが表示され誤字が発生している。また、修正前のアプリケーションにより表示される現行画面10においては、文言300bは、画面下中央に表示されていたが、修正後のアプリケーションにより表示される新規画面20においては、文言300bは、画面下左側に表示され誤字が発生している。また、修正前のアプリケーションにより表示される現行画面10において表示されている文言300cのスペル「English Guide」は、修正後のアプリケーションにより表示される新規画面20において表示されている文言300cのスペル「English Guid」と異なる表示がされ脱字が発生している。
【0013】
現行画面10と新規画面20とで同じ文言が表示されるべきところ、図1に示すように誤字や脱字が発生する場合がある。この誤字や脱字を目視で比較する場合、新規画面20を作成するたびに確認するのは煩雑である。また、人間の目視のみに頼るのは、修正前後の画面は比較しづらいため、確認に誤りが出る場合がある。また、画面を一枚ずつ目視で確認する必要があるため、確認作業に時間がかかっていた。
【0014】
そこで、本実施の形態においては、アプリケーション画面の更改を行う際に、修正前後で意図しない文言や配置の変更の確認を効率よく正確に行うことができる画面比較装置100について説明する。
【0015】
画面比較装置100は、例えば、ワークステーション、サーバ、パーソナルコンピュータ等のコンピュータの機能を備えており、画面比較方法に基づく後述する画面比較処理を実行する。画面比較装置100は、図示しないネットワークを通じてサーバ等の他の装置と通信可能に接続されていてもよい。
【0016】
図2は、本実施の形態における画面比較装置100のハードウェア構成図である。図2に示すように、画面比較装置100は、制御部101、入力装置102、出力装置103、記憶部104、インターフェース(I/F)105がバス106に接続されて構成されている。また、画面比較装置100は、図2に示していない他のハードウェア構成を備えていてもよい。
【0017】
制御部101は、画面比較装置100全体を統括的に制御するもので、プログラムを読み込んで画面比較処理を実行するCPU(Central Processing Unit)を有する。
【0018】
入力装置102は、例えば、キーボード、ジョイスティック、ライトペン、マウス、タッチパッド、タッチパネル、トラックボール等、各種のデータや信号等を入力する。
【0019】
出力装置103は、例えば、LCD(Liquid Crystal Display)等の各種ディスプレイ、プリンタ等、画像やその他の情報を出力する。
【0020】
記憶部104は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)等を有する。記憶部104は、画面比較装置100が画面比較処理を実行するプログラムの他、画面比較装置100の各機能を制御し実行するための制御プログラム、現行画面、新規画面などの画面データを記憶する。記憶部104は、画面比較装置100がプログラムを実行する際の作業領域を提供する。また、記憶部104は、現行画面の文字認識結果と新規画面の文字認識結果とを比較した結果を格納する後述の現行画面OCR結果配列、新規画面OCR結果配列を記憶してもよい。
【0021】
インターフェース105は、USB(Universal Serial Bus)等のシリアルインターフェースやイーサネット(登録商標)等のパラレルインターフェース等、図示しない外部機器と接続するためのユニットである。画面比較装置100により比較される現行画面10と新規画面20は、インターフェース105を通じて、記憶部104に記憶される。
【0022】
本実施の形態における画面比較処理は、前述した画面比較装置100によって実行される。
【0023】
図3は、本実施の形態の画面比較処理に係る画面比較装置100の機能ブロックの一例を示す図である。図3に示すように、画面比較装置100の制御部101は、抽出部111、検出部112、及び通知部113を備える。制御部101は、図3に示していない他の構成要素を含んでいてもよい。記憶部104は、後述の現行画面OCR結果配列121、及び新規画面OCR結果配列122を記憶する。記憶部104は、図3に示していない情報を記憶してもよい。
【0024】
抽出部111は、修正前のアプリケーションにより表示される現行画面10に含まれる少なくとも1つ以上の文言を現行画面10の文字認識結果として抽出する。抽出部111は、既存の光学文字認識(OCR:Optical Character Recognition)技術を用いて、現行画面10に含まれる文言から少なくとも1つ以上の文言を現行画面10の文字認識結果(以下、「OCR結果」と呼ぶ)として抽出する。
【0025】
また、抽出部111は、修正後のアプリケーションにより表示される新規画面20に含まれる少なくとも1つ以上の文言を新規画面20の文字認識結果として抽出する。抽出部111は、既存の光学文字認識技術を用いて、新規画面20に含まれる文言から少なくとも1つ以上の文言を新規画面20の文字認識結果(以下、「OCR結果」と呼ぶ)として抽出する。
【0026】
検出部112は、抽出部111により抽出された少なくとも1つ以上の現行画面10のOCR結果と、少なくとも1つ以上の新規画面20のOCR結果と、のペアに応じて、新規画面20の文字の誤りを検出する。
【0027】
通知部113は、検出部112が検出した新規画面20の文字の誤りを出力装置103のディスプレイを通じて通知する。通知部113は、図示しないスピーカを通じて音により通知してもよい。
【0028】
次に、画面比較装置100が実行する画面比較処理を具体的に説明する。図4は、画面比較装置100が実行する画面比較処理による画面比較方法の手順の一例を示すフローチャートである。画面比較方法により実行される画面抽出処理は、画面比較装置100の制御部101によって実行される。
【0029】
はじめに、制御部101は、抽出処理を行う(ステップS101)。抽出処理では、現行画面10に含まれるOCR結果を抽出するとともに、新規画面20に含まれるOCR結果を抽出する処理が行われる。図5を参照して画面比較装置100が実行する抽出処理を具体的に説明する。
【0030】
図5は、画面比較装置100が図4のステップS101において実行する抽出処理の手順の一例を示すフローチャートである。画面比較装置100により実行される抽出処理は、画面比較装置100の制御部101によって実行される。
【0031】
はじめに、制御部101は、現行画面10に対しOCRを行い、OCR結果を抽出する(ステップS201)。この処理では、制御部101は、修正前のアプリケーションにより表示される現行画面10に含まれる少なくとも1つ以上の修正前の文字を現行画面10のOCR結果として抽出する。
【0032】
制御部101は、ステップS201で抽出した現行画面のOCR結果を現行画面OCR結果配列121に格納する(ステップS202)。ステップS201及びステップS202の処理を行った結果、制御部101は、現行画面の全てのOCR結果を抽出されたか否かを判定する(ステップS203)。現行画面の全てのOCR結果が抽出されていない場合(ステップS203:NO)には、現行画面の全てのOCR結果が抽出されるまでの間ステップS201~ステップS203の処理が繰り返し実行される。
【0033】
現行画面の全てのOCR結果が抽出された場合(ステップS203:YES)には、制御部101は、新規画面に対しOCRを行い、OCR結果を抽出する(ステップS204)。この処理では、制御部101は、修正後のアプリケーションにより表示される新規画面に含まれる少なくとも1つ以上の修正後文言を新規画面のOCR結果として抽出する。OCR結果には、新規画面20で表示される文字が含まれる。
【0034】
制御部101は、ステップS204で抽出した新規画面のOCR結果を新規画面のOCR結果配列に格納する(ステップS205)。ステップS204及びステップS205の処理を行った結果、制御部101は、新規画面の全てのOCR結果を抽出されたか否かを判定する(ステップS206)。新規画面の全てのOCR結果が抽出されていない場合(ステップS206:NO)には、新規画面の全てのOCR結果が抽出されるまでの間ステップS204~ステップS206の処理が繰り返し実行される。新規画面の全てのOCR結果が抽出された場合(ステップS206:YES)には、画面比較装置100が実行する抽出処理は終了となる。この処理が終了すると、処理は図4のステップS102へ進む。
【0035】
図6は、記憶部104に記憶される現行画面OCR結果配列121、及び新規画面OCR結果配列122の一例を示す図である。
【0036】
現行画面OCR結果配列121には、ID毎に、現行画面のOCR結果、OCR結果の座標、現行画面のOCR結果のカウンタ、及び紐づく新規画面のIDの情報が格納される。現行画面のOCR結果には、現行画面10をOCRした結果の文言が格納される。OCR結果の座標には、現行画面のOCR結果が配置されている位置情報が格納される。
【0037】
現行画面のOCR結果のカウンタには、現行画面10に表示されているOCR結果の回数の情報が格納される。紐づく新規画面のIDには、現行画面10のOCR結果と対応する新規画面20のOCR結果のIDが格納される。
【0038】
新規画面OCR結果配列122には、ID毎に、新規画面のOCR結果、OCR結果の座標、新規画面のOCR結果のカウンタ、紐づく現行画面のID、チェック結果、及び位置ずれの情報が格納される。新規画面のOCR結果には、新規画面20をOCRした結果の文言が格納される。OCR結果の座標には、新規画面のOCR結果が配置されている位置情報が格納される。
【0039】
新規画面のOCR結果のカウンタには、新規画面20に表示されているOCR結果の回数の情報が格納される。紐づく新規画面のIDには、現行画面10のOCR結果と対応する新規画面20のOCR結果のIDが格納される。
【0040】
図4のステップS102において、制御部101は、単数ペア抽出処理を行う。図7を参照してステップS102において実行される単数ペア抽出処理の詳細について説明する。図7は、図4のステップS102において実行される単数ペア抽出処理の手順の一例を示すフローチャートである。画面比較装置100により実行される単数ペア抽出処理は、画面比較装置100の制御部101によって実行される。
【0041】
はじめに、制御部101は、現行画面OCR結果配列121に格納された1つの現行画面のOCR結果を選択する(ステップS301)。
【0042】
制御部101は、ステップS301で選択された現行画面のOCR結果の少なくとも一部と一致する新規画面のOCR結果を新規画面のOCR結果配列から検索する(ステップS302)。
【0043】
ステップS302で検索した結果、ステップS301で選択された現行画面のOCR結果が新規画面のOCR結果の少なくも一部と一致するか否かを判定する(ステップS303)。選択された現行画面のOCR結果が新規画面のOCR結果と一致しない場合(ステップS303:NO)には、処理はステップS306へ進む。
【0044】
選択された現行画面のOCR結果が新規画面のOCR結果の少なくも一部と一致する場合(ステップS303:YES)には、制御部101は、一致したOCR結果が格納された現行画面OCR結果配列121のカウンタを加算する(ステップS304)。例えば、現行画面10に1回のみ表示されているOCR結果のカウンタは「1」となり、現行画面10に2回表示されているOCR結果のカウンタは「2」となる。制御部101は、現行画面OCR結果配列121に、一致したOCR結果に対応する新規画面のOCR結果のIDを紐づける(ステップS305)。例えば、現行画面OCR結果配列のID「1」に対応するOCR結果「お預入れ」は、新規画面OCR結果配列のID「2」のOCR結果「お預入れ」とID「7」の「お預入れ」に対応する。このため、現行画面OCR結果配列のID「1」に対応するOCR結果の紐づく新規画面のIDには「2」及び「7」が格納される。
【0045】
制御部101は、現行画面OCR結果配列121に格納された全てのOCR結果が選択されたか否かを判定する(ステップS306)。現行画面OCR結果配列121に格納された全てのOCR結果が選択されていない場合(ステップS306:NO)には、処理はステップS301に戻り、現行画面OCR結果配列121に格納された全てのOCR結果が選択されるまでの間、ステップS301~ステップS306の処理が繰り返し実行される。現行画面OCR結果配列121に格納された全てのOCR結果が選択された場合(ステップS306:YES)には、処理はステップS307へ進む。
【0046】
制御部101は、新規画面のOCR結果配列に格納された1つの新規画面のOCR結果を選択する(ステップS307)。
【0047】
制御部101は、ステップS307で選択された新規画面のOCR結果の少なくとも一部と一致する現行画面のOCR結果を現行画面OCR結果配列121から検索する(ステップS308)。ステップS308で検索した結果、ステップS307で選択された新規画面のOCR結果が現行画面のOCR結果の少なくも一部と一致するか否かを判定する(ステップS309)。
【0048】
選択された新規画面のOCR結果が現行画面のOCR結果と一致しない場合(ステップS309:NO)には、処理はステップS312へ進む。選択された新規画面のOCR結果が現行画面のOCR結果の少なくも一部と一致する場合(ステップS309:YES)には、制御部101は、一致したOCR結果が格納された新規画面のOCR結果配列のカウンタを加算する(ステップS310)。例えば、新規画面20に1回のみ表示されているOCR結果のカウンタは「1」となり、新規画面20に2回表示されているOCR結果のカウンタは「2」となる。
【0049】
制御部101は、新規画面のOCR結果配列に、一致したOCR結果に対応する現行画面のOCR結果のIDを紐づける(ステップS311)。例えば、新規画面OCR結果配列のID「2」に対応するOCR結果「お預入れ」は、現行画面OCR結果配列のID「1」のOCR結果「お預入れ」とID「6」の「お預入れ」に対応する。このため、新規画面OCR結果配列のID「2」に対応するOCR結果の紐づく現行画面のIDには「1」及び「6」が格納される。
【0050】
制御部101は、新規画面のOCR結果配列に格納された全てのOCR結果が選択されたか否かを判定する(ステップS312)。新規画面のOCR結果配列に格納された全てのOCR結果が選択されていない場合(ステップS312:NO)には、処理はステップS307に戻り、新規画面のOCR結果配列に格納された全てのOCR結果が選択されるまでの間、ステップS307~ステップS312の処理が繰り返し実行される。そして、新規画面のOCR結果配列に格納された全てのOCR結果が選択された場合(ステップS312:YES)には、画面比較装置100が実行する単数ペア抽出処理は終了となる。この処理が終了すると、処理は図4のステップS103へ進む。
【0051】
図4のステップS103において、制御部101は、複数ペア抽出処理を行う。図8を参照してステップS103において実行される複数ペア抽出処理の詳細について説明する。図8は、図4のステップS103において実行される複数ペア抽出処理の手順の一例を示すフローチャートである。画面比較装置100により実行される複数ペア抽出処理は、画面比較装置100の制御部101によって実行される。
【0052】
はじめに、制御部101は、現行画面OCR結果配列121に格納された1つの現行画面のOCR結果を選択する(ステップS401)。
【0053】
制御部101は、現行画面OCR結果配列121に格納された現行画面のOCR結果のうち選択したOCR結果のカウンタが2以上か否かを判定する(ステップS402)。この処理では、現行画面OCR結果配列に格納された現行画面のOCR結果に対して1項目ずつ処理を行う。そして、カウンタが2以上、すなわち、OCR結果のペアの候補が2以上あるものに対して処理を行う。例えば、図6の現行画面OCR結果配列121によると、ID「1」のOCR結果「お預入れ」とID「6」のOCR結果「お預入れ」が処理対象となる。現行画面OCR結果配列121に格納された現行画面のOCR結果のカウンタが1である場合(ステップS402:NO)には、処理はステップS414へ進む。
【0054】
現行画面OCR結果配列121に格納された現行画面のOCR結果のカウンタが2以上である場合(ステップS402:YES)には、制御部101は、現行画面OCR結果配列121に格納された1つのOCR結果を選択する(ステップS403)。制御部101は、ステップS403で選択された現行画面のOCR結果のIDをパラメータとして指定する(ステップS404)。
【0055】
制御部101は、後述の図9を参照して説明する周囲OCR結果取得処理を行う(ステップS405)。この処理では、現行画面OCR結果配列121に格納された現行画面のOCR結果に対して周囲にあるOCR結果を取得する処理が行われる。
【0056】
図9は、ステップS405の周囲OCR結果取得処理により取得される現行画面のOCR結果の取得方法の概要の一例を示す図である。図9に示すように、現行画面OCR結果配列121に格納された現行画面のOCR結果のうち「お預入れ」が選択されている場合、制御部101は、「お預入れ」の右方向にあるOCR結果「お引出し」と、下方向にあるOCR結果「通帳記入」を周囲にあるOCR結果として取得する。この場合、現行画面OCR結果配列121に格納される出力データとして、上方向のOCR結果「なし」、下方向のOCR結果「通帳記入」(ID「2」)、左方向のOCR結果「なし」、右方向のOCR結果「お引出し」(ID「3」)が取得される。
【0057】
制御部101は、新規画面のOCR結果配列に格納された1つの新規画面のOCR結果を選択する(ステップS406)。制御部101は、ステップS406で選択された新規画面のOCR結果のIDをパラメータとして指定する(ステップS407)。
【0058】
制御部101は、後述の図9を参照して説明する周囲OCR結果取得処理を行う(ステップS408)。ステップS408で実行される周囲OCR結果取得処理は、ステップS405で実行される周囲OCR結果取得処理とほぼ同様の処理が実行されるが、ステップS408で実行される処理では、新規画面OCR結果配列122に格納された新規画面のOCR結果に対して周囲にあるOCR結果を取得する処理が行われる。
【0059】
図10は、ステップS408の周囲OCR結果取得処理により取得される新規画面のOCR結果の取得方法の概要の一例を示す図である。図10に示すように、新規画面OCR結果配列122に格納された新規画面のOCR結果のうち「お預入れ」が選択されている場合、制御部101は、「お預入れ」の右方向にあるOCR結果「お引出し」と、下方向にあるOCR結果「通帳記入」を周囲にあるOCR結果として取得する。この場合、現行画面OCR結果配列121に格納される出力データとして、上方向のOCR結果「新画面」(ID「1」)、下方向のOCR結果「通帳記入」(ID「2」)、左方向のOCR結果「なし」、右方向のOCR結果「お引出し」(ID「4」)が取得される。
【0060】
制御部101は、周囲のOCR結果が一致したか否かを判定する(ステップS409)。周囲のOCR結果が一致した場合(ステップS409:YES)には、制御部101は現行画面OCR結果配列121のOCR結果に対応するカウンタに1を指定する(ステップS410)。すなわち、この場合、OCR結果と一致する一対一のOCR結果のペアが成立したと判定される。制御部101は、紐づく画面IDを更新する(ステップS411)。この処理が終了すると処理はステップS414へ進む。
【0061】
ステップS409の処理において、周囲のOCR結果が不一致の場合(ステップS409:NO)には、制御部101はカウンタの数だけ実行されたか否かを判定する(ステップS412)。例えば、カウンタが「2」のOCR結果の場合、2回分ステップS406~ステップS412の処理が繰り返し実行されたか否かが判定される。例えば、現行画面OCR結果配列のID「1」のOCR結果「お預入れ」の場合、カウンタは「2」であるため、新規画面OCR結果配列122のID[2]のOCR結果「お預入れ」、及びID「7」のOCR結果「お預入れ」の2回分実行される。カウンタの数だけ繰り返し実行されていない場合には、ステップS406の処理に戻り、全てのカウンタの数だけ実行されるまでの間、ステップS406~ステップS412の処理が繰り返し実行される。
【0062】
全てのカウンタの数だけ繰り返し実行されたた場合(ステップS412)には、現行画面OCR結果配列121のうち選択されたOCR結果のカウンタに0を指定する(ステップS413)。すなわち、この場合、OCR結果と一致するOCR結果の項目はないと判定される。
【0063】
ステップS414において、制御部101は、現行画面OCR結果配列121に格納された全てのOCR結果が選択されたか否かを判定する(ステップS414)。現行画面OCR結果配列121に格納された全てのOCR結果が選択されていない場合(ステップS414:NO)には、処理はステップS402へ戻り、現行画面OCR結果配列121に格納された全てのOCR結果が選択されるまでの間、ステップS402~ステップS414の処理が繰り返し実行される。そして、現行画面OCR結果配列121に格納された全てのOCR結果が選択された場合(ステップS414:YES)には、画面比較装置100が実行する複数ペア抽出処理は終了となる。
【0064】
図11を参照して図8のステップS405又はステップS408において実行される周囲OCR結果取得処理の詳細について説明する。図11は、図8のステップS405又はステップS408において実行される周囲OCR結果取得処理の手順の一例を示すフローチャートである。画面比較装置100により実行される周囲OCR結果取得処理は、画面比較装置100の制御部101によって実行される。
【0065】
はじめに、制御部101は、現行画面OCR結果配列121に格納された1つのOCR結果を選択する(ステップS501)。制御部101は、選択したOCR結果のカウンタは1であるか否かを判定する(ステップS502)。この処理では、制御部101は、カウンタが「0」であるOCR結果は、一対一のペアが存在しないOCR結果であり、また、カウンタが「2」以上であるOCR結果は、一対一のペア候補が絞り込めないOCR結果であるため、比較対象外とする。選択したOCR結果のカウンタが1でない場合(ステップS502:NO)、すなわち、選択したOCR結果のカウンタが0又は2以上である場合には、処理はステップS507へ進む。
【0066】
選択したOCR結果のカウンタが1である場合(ステップS502:YES)には、制御部101は、上下左右のうち一つの方向を選択する(ステップS503)。例えば、制御部101は、上下左右のうち上方向を選択する。制御部101は、選択した方向に他のOCR結果が存在するか否かを判定する(ステップS504)。この処理では、制御部101は、現行画面OCR結果配列121及び新規画面OCR結果配列122に格納された座標情報を用いて、上下左右のどの方向に他のOCR結果が存在するかを判定する。制御部101は、現行画面OCR結果配列121に格納された座標(Xs,Ys,Xe,Ye)、及び新規画面OCR結果配列122に格納された座標(Xs,Ys,Xe,Ye)に基づいて上下左右の判断を行う。
【0067】
選択した方向に他のOCR結果が存在する場合(ステップS504:YES)には、制御部101は、後述の図12を参照して説明するOCR結果更新処理を行う(ステップS505)。この処理が終了すると処理はステップS507へ進む。
【0068】
選択した方向に他のOCR結果が存在しない場合(ステップS504:NO)には、制御部101は、全ての方向について選択したか否かを判定する(ステップS506)。この処理では、制御部101は、上方向、下方向、右方向、左方向の全ての方向に対してステップS503~ステップS506の処理が行われたか判定する。全ての方向について選択していない場合(ステップS506:NO)には、処理はステップS503へ戻り、上下左右の全ての方向について選択するまでの間、処理はステップS503~ステップS506の処理を繰り返し実行する。
【0069】
上下左右の全ての方向について選択した場合(ステップS506:YES)には、制御部101は、現行画面OCR結果配列121に格納された全てのOCR結果が選択されたか否かを判定する(ステップS507)。現行画面OCR結果配列121に格納された全てのOCR結果が選択されていない場合(ステップS507:NO)には、処理はステップS501へ戻り、現行画面OCR結果配列121に格納された全てのOCR結果が選択されるまでの間、ステップS501~ステップS507の処理が繰り返し実行される。現行画面OCR結果配列121に格納された全てのOCR結果が選択された場合(ステップS507:YES)には、画面比較装置100が実行する周囲文言取得処理は終了となる。図8のステップS405の周囲OCR結果取得処理の場合には、処理は図8のステップS406へ進む。図8のステップS408の周囲OCR結果取得処理の場合には、処理は図8のステップS409へ進む。
【0070】
図12を参照して図11のステップS505において実行されるOCR結果更新処理の詳細について説明する。図12は、図11のステップS505において実行されるOCR結果更新処理の手順の一例を示すフローチャートである。画面比較装置100により実行されるOCR結果更新処理は、画面比較装置100の制御部101によって実行される。
【0071】
はじめに、制御部101は、図11のステップS501の処理で選択された現行画面のOCR結果と、図11のステップS504の処理において存在すると判定された方向のOCR結果と、の距離を算出する(ステップS601)。この処理では、制御部101は、現行画面OCR結果配列121及び新規画面OCR結果配列122に格納された座標情報を用いて、OCR結果同士の距離を算出する。
【0072】
ステップS601で算出した結果、選択された現行画面のOCR結果と、存在すると判定された方向のOCR結果と、の距離が所定の距離より近くにあるか否かを判定する(ステップS602)。所定の距離は、任意に設定可能である。例えば、アプリケーションにより表示される現行画面や新規画面などの画面の特徴によって、所定の距離を決定する閾値を任意に設定することができる。なお、同じ方向に複数のOCR結果が存在する場合には、最も近いOCR結果を採用する。
【0073】
選択された現行画面のOCR結果と、存在すると判定された方向のOCR結果と、の距離が所定の距離より遠くにある場合(ステップS602:NO)には、画面比較装置100が実行するOCR結果更新処理は終了となり、処理は図11のステップS507へ進む。
【0074】
選択された現行画面のOCR結果と、存在すると判定された方向のOCR結果と、の距離が所定の距離より近くにある場合(ステップS602:YES)には、制御部101は、存在すると判定された方向のOCR結果が設定済みであるか否かを判定する(ステップS603)。
【0075】
存在すると判定された方向のOCR結果が未設定である場合(ステップS603:NO)には、制御部101は、判定された方向の現行画面のOCR結果を設定する(ステップS604)。この処理が終了すると、画面比較装置100が実行するOCR結果更新処理は終了となり、処理は図11のステップS507へ進む。
【0076】
存在すると判定された方向のOCR結果が設定済みである場合(ステップS603:YES)には、制御部101は、設定済みの方向のOCR結果より距離が近いか否かを判定する(ステップS605)。設定済みの方向のOCR結果より距離が遠い場合(ステップS605:NO)には、画面比較装置100が実行するOCR結果更新処理は終了となり、処理は図11のステップS507へ進む。
【0077】
設定済みの方向のOCR結果より距離が近い場合(ステップS605:YES)には、制御部101は、判定された方向の現行画面のOCR結果を更新する(ステップS606)。この処理が終了すると、画面比較装置100が実行するOCR結果更新処理は終了となり、処理は図11のステップS507へ進む。
【0078】
図4のステップS104において、制御部101は、誤字脱字チェック処理を行う。図13を参照してステップS104において実行される誤字脱字チェック処理の詳細について説明する。図13は、図4のステップS104において実行される誤字脱字チェック処理の手順の一例を示すフローチャートである。画面比較装置100により実行される誤字脱字チェック処理は、画面比較装置100の制御部101によって実行される。
【0079】
はじめに、制御部101は、現行画面OCR結果配列121に格納された1つのOCR結果を選択する(ステップS701)。制御部101は、IDにより紐づけられている現行画面OCR結果配列121に格納されたOCR結果と、新規画面OCR結果配列122に格納されたOCR結果と、を比較する(ステップS702)。この処理では、現行画面OCR結果配列121に格納されたOCR結果と、新規画面OCR結果配列122に格納されたOCR結果との少なくとも一部が一致するか否かが判定される。
【0080】
制御部101は、ステップS702で比較した比較結果を新規画面OCR結果配列122のチェック結果に追加する(ステップS703)。
【0081】
例えば、現行画面OCR結果配列121に格納されたID「1」のOCR結果「お預入れ」と新規画面OCR結果配列122に格納されたID「2」のOCR結果「お預入れ」とを比較すると、文言は完全に一致する。この場合、制御部101は、新規画面OCR結果配列122のチェック結果に「完全一致」を示す情報を追加する。
【0082】
一方で、現行画面OCR結果配列121に格納されたID「7」のOCR結果「English Guide」と新規画面OCR結果配列122に格納されたID「8」のOCR結果「English Guid」とを比較すると、文言は前方のみ一致する。この場合、制御部101は、新規画面OCR結果配列122のチェック結果に「前方一致」を示す情報を追加する。
【0083】
制御部101は、現行画面OCR結果配列121に格納された全てのOCR結果が選択されたか否かを判定する(ステップS704)。現行画面OCR結果配列121に格納された全てのOCR結果が選択されていない場合(ステップS704:NO)には、処理はステップS701に戻り、現行画面OCR結果配列121に格納された全てのOCR結果が選択されるまでの間ステップS701~ステップS704の処理が繰り返し実行される。現行画面OCR結果配列121に格納された全てのOCR結果が選択された場合(ステップS704:YES)には、画面比較装置100が実行する誤字脱字チェック処理は終了となり、処理は図4のステップS105へ進む。
【0084】
図4のステップS105において、制御部101は、位置ずれチェック処理を行う。図14を参照してステップS105において実行される位置ずれチェック処理の詳細について説明する。図14は、図4のステップS105において実行される位置ずれチェック処理の手順の一例を示すフローチャートである。画面比較装置100により実行される位置ずれチェック処理は、画面比較装置100の制御部101によって実行される。
【0085】
はじめに、制御部101は、現行画面OCR結果配列121に格納された1つの現行画面のOCR結果を選択する(ステップS801)。制御部101は、ステップS801で選択された現行画面のOCR結果のIDをパラメータとして指定する(ステップS802)。制御部101は、図11を参照して説明した周囲OCR結果取得処理を行う(ステップS803)。
【0086】
制御部101は、現行画面OCR結果配列121に格納された全てのOCR結果が選択されたか否かを判定する(ステップS804)。現行画面OCR結果配列121に格納された全てのOCR結果が選択されていない場合(ステップS804:NO)には、処理はステップS801に戻り、現行画面OCR結果配列121に格納された全てのOCR結果が選択されるまでの間、ステップS801~ステップS804の処理が繰り返し実行される。
【0087】
現行画面OCR結果配列121に格納された全てのOCR結果が選択された場合(ステップS804:YES)には、制御部101は、新規画面OCR結果配列122に格納された1つの新規画面のOCR結果を選択する(ステップS805)。制御部101は、ステップS805で選択された新規画面のOCR結果のIDをパラメータとして指定する(ステップS806)。制御部101は、図11を参照して説明した周囲OCR結果取得処理を行う(ステップS807)。
【0088】
制御部101は、新規画面OCR結果配列122に格納された全てのOCR結果が選択されたか否かを判定する(ステップS808)。新規画面OCR結果配列122に格納された全てのOCR結果が選択されていない場合(ステップS808:NO)には、処理はステップS805に戻り、新規画面OCR結果配列122に格納された全てのOCR結果が選択されるまでの間、ステップS805~ステップS8084の処理が繰り返し実行される。
【0089】
新規画面OCR結果配列122に格納された全てのOCR結果が選択された場合(ステップS808:YES)には、制御部101は、現行画面OCR結果配列121に格納されたOCR結果と、新規画面OCR結果配列122に格納されたOCR結果と、の周囲のOCR結果同士を比較し、比較結果を新規画面OCR結果配列122に格納する(ステップS809)。
【0090】
例えば、現行画面OCR結果配列121に格納されたID「1」のOCR結果「お預入れ」と新規画面OCR結果配列122に格納されたID「2」のOCR結果「お預入れ」とを比較した場合について説明する。この場合、現行画面OCR結果配列121に格納されたID「1」のOCR結果「お預入れ」の上方向のOCR結果は「なし」、下方向のOCR結果は「通帳記入」、左方向のOCR結果は「なし」、右方向のOCR結果は「お引出し」である。一方、新規画面OCR結果配列122に格納されたID「2」のOCR結果「お預入れ」の上方向のOCR結果は「新画面」、下方向のOCR結果は「通帳記入」、左方向のOCR結果は「なし」、右方向のOCR結果は「お引出し」である。このため、周囲のOCR結果同士を比較すると、上方向のOCR結果の比較結果が異なるため、制御部101は、比較結果に「位置ずれあり」の情報を格納する。
【0091】
また、現行画面OCR結果配列121に格納されたID「7」のOCR結果「English Guide」と新規画面OCR結果配列122に格納されたID「8」のOCR結果「English Guid」とを比較した場合について説明する。この場合、現行画面OCR結果配列121に格納されたID「7」のOCR結果「English Guide」の上方向のOCR結果は「公共料金払込」、下方向のOCR結果は「なし」、左方向のOCR結果は「クレジットカード簡易保険・生命保険」、右方向のOCR結果は「なし」である。一方、新規画面OCR結果配列122に格納されたID「8」のOCR結果「English Guid」の上方向のOCR結果は「公共料金払込」、下方向のOCR結果は「なし」、左方向のOCR結果は「クレジットカード簡易保険・生命保険」、右方向のOCR結果は「なし」である。このため、両方のOCR結果同士を比較すると、上下左右方向の全てのOCR結果の比較結果が一致するため、制御部101は、比較結果に「位置ずれなし」の情報を格納する。処理が終了すると、画面比較装置100が実行する位置ずれチェック処理は終了となり、処理は図4のステップS106へ進む。
【0092】
図4のステップS106において、制御部101は、結果通知処理を行う。結果通知処理では、新規画面OCR結果配列122に格納されたチェック結果と、比較結果と、に応じて誤字脱字及び位置ずれをユーザに通知する処理が行われる。図15は、誤字脱字及び位置ずれを通知する一例を示す図である。
【0093】
例えば、チェック結果が「前方一致」のOCR結果については、現行画面OCR結果配列121に格納された座標情報と、新規画面OCR結果配列122に格納された座標情報と、を参照してそれぞれ誤字脱字のOCR結果を通知する強調表示401が行われる。強調表示401では、例えば赤色の枠線により強調表示が行われる。これにより、アプリケーション画面の更改を行った際に、修正前後で意図しない誤字脱字の文言があることを容易に確認することができる。従って、誤字脱字の文言の確認を効率よく正確に行うことができる。
【0094】
また、比較結果が「位置ずれあり」のOCR結果については、現行画面OCR結果配列121に格納された座標情報と、新規画面OCR結果配列122に格納された座標情報と、を参照してそれぞれ位置ずれを通知する強調表示402、403が行われる。強調表示402、403では、例えば黄色の枠線により強調表示が行われる。これにより、アプリケーション画面の更改を行った際に、修正前後で意図しない配置の変更があることを容易に確認することができる。従って、配置の変更の確認を効率よく正確に行うことができる。
【0095】
図示していないが、誤字脱字も位置ずれもないOCR結果についても例えば青色の枠線により強調表示してもよい。また、強調表示は、赤色、黄色、青色の枠線により行われているがこの限りではなく、点滅、網掛け、蛍光色などにより行ってもよい。
【0096】
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用ができることはもちろんである。
【符号の説明】
【0097】
10 :現行画面
20 :新規画面
100 :画面比較装置
101 :制御部
102 :入力装置
103 :出力装置
104 :記憶部
105 :インターフェース
106 :バス
111 :抽出部
112 :検出部
113 :通知部
121 :現行画面OCR結果配列
122 :新規画面OCR結果配列
300a :文言
300b :文言
300c :文言
401 :強調表示
402 :強調表示
403 :強調表示
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15