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

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

▶ 株式会社トゥービーソフトの特許一覧

特許7539096UI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法
<>
  • 特許-UI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法 図1
  • 特許-UI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法 図2
  • 特許-UI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-15
(45)【発行日】2024-08-23
(54)【発明の名称】UI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法
(51)【国際特許分類】
   G06F 8/38 20180101AFI20240816BHJP
【FI】
G06F8/38
【請求項の数】 10
(21)【出願番号】P 2023059961
(22)【出願日】2023-04-03
(65)【公開番号】P2023171259
(43)【公開日】2023-12-01
【審査請求日】2023-04-03
(31)【優先権主張番号】10-2022-0060634
(32)【優先日】2022-05-18
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】511155464
【氏名又は名称】株式会社トゥービーソフト
【氏名又は名称原語表記】TOBESOFT CO., LTD.
(74)【代理人】
【識別番号】100130111
【弁理士】
【氏名又は名称】新保 斉
(72)【発明者】
【氏名】ハン、ジョン フン
【審査官】松平 英
(56)【参考文献】
【文献】特開平08-166865(JP,A)
【文献】米国特許出願公開第2021/0158093(US,A1)
【文献】米国特許第10606925(US,B2)
【文献】米国特許出願公開第2022/0092842(US,A1)
【文献】米国特許出願公開第2010/0002002(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
8/60-8/77
9/44-9/445
9/451
12/14
21/00-21/88
G09C 1/00-5/00
H04K 1/00-3/00
H04L 9/00-9/40
(57)【特許請求の範囲】
【請求項1】
UI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置であって、
前記UI開発ツールから支援されるものと予め設定された複数のUIコンポーネント(components)のそれぞれに対応する、予め設定された2つ以上の標準名称が記録された標準名称テーブルを保存して保持する標準名称テーブル保持部;
第1ユーザによって、複数の図形-前記複数の図形のそれぞれの内部には、各図形に対応するUIコンポーネントの名称に対するテキストが挿入されている-が配置されたUI設計案に対する第1イメージが入力されるとともに、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成することを指示するUIコンポーネント自動生成命令が印加されると、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成するための自動生成イベントを発生させる自動生成イベント発生部;
前記自動生成イベントが発生されると、前記第1イメージの横長さおよび縦長さを確認して、前記第1イメージと同じ横長さおよび縦長さを有する背景領域を生成する背景領域生成部;
前記第1イメージから前記複数の図形を認識する図形認識部;
前記複数の図形が認識されると、前記第1イメージから前記複数の図形のそれぞれが挿入されている位置を確認することによって、前記複数の図形のそれぞれに対する位置情報を確認する位置情報確認部;
予め設定されたテキスト認識モジュールに基づいて、前記複数の図形のそれぞれの内部に挿入されたテキストを認識するテキスト認識部;
前記標準名称テーブルを参照して、前記複数の図形のそれぞれに対して、前記複数のUIコンポーネントのうち、各図形に対して認識されたテキストにマッチングされる標準名称を有するUIコンポーネントをマッチングさせることにより、前記複数の図形それぞれに対応するUIコンポーネントをマッチングさせるUIコンポーネントマッチング部;および
前記背景領域において、前記複数の図形のそれぞれに対する位置情報に応じた位置に、各図形にマッチングされたUIコンポーネントを挿入するUIコンポーネント挿入部
を含む構成において、
前記図形認識部は、
前記第1イメージを構成する複数の画素のうち、図形の線を構成する色であると予め指定された画素値範囲に属する画素値を有する第1画素それぞれの画素値を、予め指定された第1画素値に変更し、前記複数の画素のうち、前記第1画素を除いた残りの第2画素のそれぞれの画素値を、予め指定された第2画素値に変更することにより、2値イメージを生成する2値イメージ生成部;および
前記2値イメージから、前記第1画素値を有する前記第1画素のみを分離認識することにより、前記第1画素で構成される前記複数の図形を認識する図形認識処理部
を含む、電子端末装置。
【請求項2】
前記位置情報確認部は、
前記複数の図形が認識されると、前記第1イメージにおいて、前記第1イメージを構成する4つの頂点のうちいずれか1つの第1頂点を基準に、前記複数の図形のそれぞれの中心点に対する2次元相対座標を、前記複数の図形のそれぞれに対する位置情報として確認し、
前記UIコンポーネント挿入部は、
前記背景領域において、前記背景領域を構成する4つの頂点のうち、前記第1頂点に対応する頂点を基準に、前記複数の図形のそれぞれに対する位置情報を構成する2次元相対座標による位置に、各図形に対応するUIコンポーネントを挿入することを特徴とする、請求項1に記載の電子端末装置。
【請求項3】
前記自動生成イベント発生部は、
予め設定されたユーザ認証サーバ-前記ユーザ認証サーバは、前記UI開発ツールから前記UIコンポーネント自動生成機能を利用できる有料ユーザであると予め指定された、複数の有料ユーザのそれぞれの識別コードが保存されたユーザデータベースを含んでいる-と事前に共有している、p(pは2以上の偶数)+1個の異なるハッシュ関数-前記p+1個のハッシュ関数のそれぞれには、0以上p以下の整数で構成された異なる固有番号が割り当てられている-が保存されているハッシュ関数保存部;
前記第1ユーザによって、前記第1イメージが入力されるとともに、前記UIコンポーネント自動生成命令が印加されると、前記自動生成イベントを発生させる前に、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認するための認証イベントを発生させる認証イベント発生部;
前記認証イベントが発生されると、前記第1ユーザに対して事前に発行された識別コードを入力することを要請する内容が含まれたメッセージを画面上に表示するメッセージ表示部;
前記第1ユーザにより第1識別コードが入力されると、p桁の1回用認証番号をランダムに生成し、前記1回用認証番号を、中心軸を基準に前段のp/2桁の第1部分番号と後段のp/2桁の第2部分番号に分離した後、前記第1部分番号を構成するp/2個の数字のそれぞれに対してモジュロ(modulo)-2演算を行うことにより、p/2ビットの第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことによって、p/2ビットの第2部分コードを生成した後、前記第1部分コードと前記第2部分コードを排他的論理和(exclusive OR)することにより、p/2ビットの演算コードを生成する演算コード生成部;
前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量(Hamming weigth)の和を演算した後、前記ハッシュ関数保存部から、前記p+1個のハッシュ関数のうち、前記ハミング重量の和が固有番号として割り当てられている第1ハッシュ関数を抽出するハッシュ関数抽出部;
前記演算コードに前記演算コードを入力として印加して第1ハッシュ値を生成し、前記第1識別コードを前記第1ハッシュ値に暗号化した後、前記ユーザ認証サーバへ、暗号化された前記第1識別コードと前記1回用認証番号を転送するとともに、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認することを要請する確認要請命令を転送する確認要請部;および
前記ユーザ認証サーバにおいて、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであることが確認されることで、前記ユーザ認証サーバから、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであると確認されたことを指示する確認メッセージが受信されると、前記自動生成イベントを発生させるイベント発生処理部
を含み、
前記ユーザ認証サーバは、
メモリ上に前記p+1個のハッシュ関数を保存しており、前記電子端末装置から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、前記p+1個のハッシュ関数と前記1回用認証番号に基づいて、前記第1ハッシュ値を生成することにより、暗号化された前記第1識別コードを前記第1ハッシュ値を用いて復号化することによって、前記第1識別コード復元した後、前記ユーザデータベース上に前記第1識別コードが保存されているか否かを確認して、前記ユーザデータベース上に前記第1識別コードが保存されていることが確認されると、前記確認メッセージを生成して前記電子端末装置へ転送することを特徴とする、請求項1に記載の電子端末装置。
【請求項4】
前記ユーザ認証サーバは、
メモリ上に前記p+1個のハッシュ関数を保存しており、前記電子端末装置から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、前記1回用認証番号を、中心軸を基準に前段のp/2桁の前記第1部分番号と後段のp/2桁の前記第2部分番号に分離した後、前記第1部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことによって前記第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことによって前記第2部分コードを生成した後、前記第1部分コードと前記第2部分コードを排他的論理和することによって、前記演算コードを生成し、前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量の和を演算した後、前記p+1個のハッシュ関数のうち、前記ハミング重量の和が固有番号として割り当てられている前記第1ハッシュ関数を抽出し、前記第1ハッシュ関数に前記演算コードを入力として印加して前記第1ハッシュ値を生成した後、暗号化された前記第1識別コードを前記第1ハッシュ値を用いて復号化することによって、前記第1識別コード復元することを特徴とする、請求項に記載の電子端末装置。
【請求項5】
UI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の動作方法において、
前記UI開発ツールから支援されると予め設定された複数のUIコンポーネント(components)のそれぞれに対応する、予め設定された2つ以上の標準名称が記録された標準名称テーブルを保存して維持する段階;
第1ユーザによって、複数の図形-前記複数の図形のそれぞれの内部には、各図形に対応するUIコンポーネントの名称に対するテキストが挿入されている-が配置されたUI設計案に対する第1イメージが入力されるとともに、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成することを指示するUIコンポーネント自動生成命令が印加されると、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成するための自動生成イベントを発生させる段階;
前記自動生成イベントが発生されると、前記第1イメージの横長さおよび縦長さを確認して、前記第1イメージと同じ横長さおよび縦長さを有する背景領域を生成する段階;
前記第1イメージから前記複数の図形を認識する段階;
前記複数の図形が認識されると、前記第1イメージから前記複数の図形のそれぞれが挿入されている位置を確認することによって、前記複数の図形のそれぞれに対する位置情報を確認する段階;
予め設定されたテキスト認識モジュールに基づいて、前記複数の図形のそれぞれの内部に挿入されたテキストを認識する段階;
前記標準名称テーブルを参照して、前記複数の図形のそれぞれに対して、前記複数のUIコンポーネントのうち、各図形に対して認識されたテキストにマッチングされる標準名称を有するUIコンポーネントをマッチングさせることにより、前記複数の図形のそれぞれに対応するUIコンポーネントをマッチングさせる段階;
前記背景領域において、前記複数の図形のそれぞれに対する位置情報に応じた位置に、各図形にマッチングされたUIコンポーネントを挿入する段階;
を含む構成において、
前記複数の図形を認識する段階は、
前記第1イメージを構成する複数の画素のうち、図形の線を構成する色であると予め指定された画素値範囲に属する画素値を有する第1画素それぞれの画素値を、予め指定された第1画素値に変更し、前記複数の画素のうち、前記第1画素を除いた残りの第2画素のそれぞれの画素値を、予め指定された第2画素値に変更することによって、2値イメージを生成する段階;および
前記2値イメージから、前記第1画素値を有する前記第1画素のみを分離認識することによって、前記第1画素で構成される前記複数の図形を認識する段階
を含む、電子端末装置の動作方法。
【請求項6】
前記確認する段階は、
前記複数の図形が認識されると、前記第1イメージにおいて、前記第1イメージを構成する4つの頂点のうちいずれか1つの第1頂点を基準に、前記複数の図形のそれぞれの中心点に対する2次元相対座標を、前記複数の図形のそれぞれに対する位置情報として確認し、
前記挿入する段階は、
前記背景領域において、前記背景領域を構成する4つの頂点のうち、前記第1頂点に対応する頂点を基準に、前記複数の図形のそれぞれに対する位置情報を構成する2次元相対座標による位置に、各図形に対応するUIコンポーネントを挿入することを特徴とする、請求項に記載の電子端末装置の動作方法。
【請求項7】
前記自動生成イベントを発生させる段階は、
予め設定されたユーザ認証サーバ-前記ユーザ認証サーバは、前記UI開発ツールから前記UIコンポーネント自動生成機能を利用できる有料ユーザであると予め指定された、複数の有料ユーザのそれぞれの識別コードが保存されたユーザデータベースを含んでいる-と事前に共有している、p(pは2以上の偶数)+1個の異なるハッシュ関数-前記p+1個のハッシュ関数のそれぞれには、0以上p以下の整数で構成された異なる固有番号が割り当てられている-が保存されているハッシュ関数保存部を維持する段階;
前記第1ユーザによって、前記第1イメージが入力されるとともに、前記UIコンポーネント自動生成命令が印加されると、前記自動生成イベントを発生させる前に、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認するための認証イベントを発生させる段階;
前記認証イベントが発生されると、前記第1ユーザに対して事前に発行された識別コードを入力することを要請する内容が含まれたメッセージを画面上に表示する段階;
前記第1ユーザにより第1識別コードが入力されると、p桁の1回用認証番号をランダムに生成し、前記1回用認証番号を、中心軸を基準に前段のp/2桁の第1部分番号と後段のp/2桁の第2部分番号に分離した後、前記第1部分番号を構成するp/2個の数字のそれぞれに対してモジュロ(modulo)-2演算を行うことにより、p/2ビットの第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字の各々に対してモジュロ-2演算を行うことによって、p/2ビットの第2部分コードを生成した後、前記第1部分コードと前記第2部分コードとを排他的論理和(exclusive OR)することによって、p/2ビットの演算コードを生成する段階;
前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量(Hamming weigth)の和を演算した後、前記ハッシュ関数保存部から、前記p+1個のハッシュ関数のうち、前記ハミング重量の和が固有番号として割り当てられている第1ハッシュ関数を抽出する段階;
前記第1ハッシュ関数に前記演算コードを入力として印加して第1ハッシュ値を生成し、前記第1識別コードを第1ハッシュ値に暗号化した後、前記ユーザ認証サーバへ、暗号化された前記第1識別コードと前記1回用認証番号を転送しながら、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認することを要請する確認要請命令を転送する段階;および
前記ユーザ認証サーバにおいて、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであることが確認されることで、前記ユーザ認証サーバから、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであることが確認されたことを示す確認メッセージが受信されると、前記自動生成イベントを発生させる段階
を含み、
前記ユーザ認証サーバは、
メモリ上に前記p+1個のハッシュ関数を保存しており、前記電子端末装置から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、前記p+1個のハッシュ関数と前記1回用認証番号に基づいて、前記第1ハッシュ値を生成することにより、暗号化された前記第1識別コードを前記第1ハッシュ値を用いて復号化することによって、前記第1識別コード復元した後、前記ユーザデータベース上に前記第1識別コードが保存されているか否かを確認して、前記ユーザデータベース上に前記第1識別コードが保存されていることが確認されると、前記確認メッセージを生成して前記電子端末装置へ転送することを特徴とする、請求項に記載の電子端末装置の動作方法。
【請求項8】
前記ユーザ認証サーバは、
メモリ上に前記p+1個のハッシュ関数を保存しており、前記電子端末装置から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、前記1回用認証番号を、中心軸を基準に前段のp/2桁の前記第1部分番号と後段のp/2桁の前記第2部分番号とに分離した後、前記第1部分番号を構成するp/2個の数字それぞれに対してモジュロ-2演算を行うことによって前記第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことによって前記第2部分コードを生成した後、前記第1部分コードと前記第2部分コードとを排他的論理和することにより、前記演算コードを生成し、前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量の和を演算した後、前記p+1個のハッシュ関数のうち、前記ハミング重量の和が固有番号として割り当てられている前記第1ハッシュ関数を抽出し、前記第1ハッシュ関数に前記演算コードを入力として印加して前記第1ハッシュ値を生成した後、暗号化された前記第1識別コードを前記第1ハッシュ値を用いて復号化することによって、前記第1識別コード復元することを特徴とする、請求項に記載の電子端末装置の動作方法。
【請求項9】
請求項5~8のいずれか一項に記載の方法をコンピュータとの結合を通じて実行させるためのコンピュータプログラムを記録したコンピュータ読取り可能記録媒体。
【請求項10】
請求項5~8のいずれか一項に記載の方法をコンピュータとの結合を通じて実行させるための保存媒体に保存されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、UI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法に関する。
【背景技術】
【0002】
一般に、UI(User Interface)開発ツールを活用してUIを開発するユーザは、プレゼンテーション文書作成プログラムや手書きで作成されたUI設計案を参照して、UIで具現しようとする機能に応じて、テキストインプット(input)ボックス、メニューバーなどのようなUIコンポーネント(components)を配置する方式でUIを開発することが多い。
【0003】
このようなUI設計案には、開発しようとするUIに含まれるテキストインプットボックス、メニューバーなどのUIコンポーネントが所定の図形の形式で挿入されている場合が多く、UI設計案を参照してUIを開発しようとするユーザは、UI設計案に挿入された図形を見て、各図形に対応するUIコンポーネントを適切に選択して配置する作業を行わなければならない。
【0004】
ただし、このようにUI設計案を参照してUIを開発する場合、ユーザはUI設計案に挿入された図形を見て、一々それに対応するUIコンポーネントを選択し、UI設計案における各図形の挿入位置を確認して、対応するUIコンポーネントの配置位置も決定しなければならないという点で、UI開発に多くの時間と労力がかかるという問題点があった。
【0005】
もし、UI開発ツールにおいて、ユーザにより、複数の図形が配置されたUI設計案に対するイメージが入力されるとともに、UIコンポーネント自動生成命令が印加されると、前記イメージと同じ大きさの背景領域を生成した後、前記イメージから前記複数の図形を認識し、前記イメージから前記複数の図形のそれぞれが挿入されている位置を確認して、前記背景領域から、各図形に対応するUIコンポーネントを各図形の挿入位置と対応する地点に自動的に挿入する技術が導入されれば、ユーザは前記UI開発ツールを活用して、より効率的にUIを開発することができるはずである。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、UI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法を提示することにより、ユーザが前記UI開発ツールを活用して、より効率的にUIを開発できるように支援しようとする。
【課題を解決するための手段】
【0007】
本発明の一実施形態によるUI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置は、前記UI開発ツールから支援されるものと予め設定された複数のUIコンポーネント(components)のそれぞれに対応する、予め設定された2つ以上の標準名称が記録された標準名称テーブルを保存して保持する標準名称テーブル保持部;第1ユーザによって、複数の図形-前記複数の図形のそれぞれの内部には、各図形に対応するUIコンポーネントの名称に対するテキストが挿入されている-が配置されたUI設計案に対する第1イメージが入力されるとともに、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成することを指示するUIコンポーネント自動生成命令が印加されると、前記複数の図形のそれぞれに対応するUIコンポーネントを自動で生成するための自動生成イベントを発生させる自動生成イベント発生部;前記自動生成イベントが発生されると、前記第1イメージの横長さおよび縦長さを確認して、前記第1イメージと同じ横長さおよび縦長さを有する背景領域を生成する背景領域生成部;前記第1イメージから前記複数の図形を認識する図形認識部;前記複数の図形が認識されると、前記第1イメージから前記複数の図形のそれぞれが挿入されている位置を確認することによって、前記複数の図形のそれぞれに対する位置情報を確認する位置情報確認部;予め設定されたテキスト認識モジュールに基づいて、前記複数の図形のそれぞれの内部に挿入されたテキストを認識するテキスト認識部;前記標準名称テーブルを参照して、前記複数の図形のそれぞれに対して、前記複数のUIコンポーネントのうち、各図形に対して認識されたテキストにマッチングされる標準名称を有するUIコンポーネントをマッチングさせることによって、前記複数の図形のそれぞれに対応するUIコンポーネントをマッチングさせるUIコンポーネントマッチング部;および前記背景領域において、前記複数の図形のそれぞれに対する位置情報に応じる位置に、各図形にマッチングされたUIコンポーネントを挿入するUIコンポーネント挿入部を含む。
【0008】
また、本発明の一実施形態によるUI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の動作方法は、前記UI開発ツールで支援されるものと予め設定された複数のUIコンポーネントのそれぞれに対応する、予め設定された2つ以上の標準名称が記録された標準名称テーブルを保存して保持する段階;第1ユーザによって、複数の図形-前記複数の図形のそれぞれの内部には、各図形に対応するUIコンポーネントの名称に対するテキストが挿入されている-が配置されたUI設計案に対する第1イメージが入力されるとともに、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成することを指示するUIコンポーネント自動生成命令が印加されると、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成するための自動生成イベントを発生させる段階;前記自動生成イベントが発生されると、前記第1イメージの横長さおよび縦長さを確認して、前記第1イメージと同じ横長さおよび縦長さを有する背景領域を生成する段階;前記第1イメージから前記複数の図形を認識する段階;前記複数の図形が認識されると、前記第1イメージにおいて前記複数のそれぞれが挿入されている位置を確認することによって、前記複数の図形のそれぞれに対する位置情報を確認する段階;予め設定されたテキスト認識モジュールに基づいて、前記複数の図形のそれぞれの内部に挿入されたテキストを認識する段階;前記標準名称テーブルを参照して、前記複数の図形のそれぞれに対して、前記複数のUIコンポーネントのうち、各図形に対して認識されたテキストにマッチングされる標準名称を有するUIコンポーネントをマッチングさせることによって、前記複数の図形のそれぞれに対応するUIコンポーネントをマッチングさせる段階;および前記背景領域において、前記複数の図形のそれぞれに対する位置情報に応じた位置に、各図形にマッチングされたUIコンポーネントを挿入する段階を含む。
【発明の効果】
【0009】
本発明は、UI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置およびその動作方法を提示することにより、ユーザが前記UI開発ツールを活用して、より正確かつ効率的にUIを開発できるように支援することができる。
【図面の簡単な説明】
【0010】
図1】本発明の一実施形態によるUI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の構造を示す図である。
図2】本発明の一実施形態によるUI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の動作を説明するための図である。
図3】本発明の一実施形態によるUI設計案のイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の動作方法を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下では、本発明に係る実施形態を添付の図面を参照して詳細に説明する。このような説明は、本発明を特定の実施形態に限定することを意図するものではなく、本発明の精神および技術の範囲に含まれるすべての変更、均等物ないし代替物を含むものと理解されなければならない。各図面を説明する際に同様の参照符号を類似な構成要素に対して使用し、他に定義されない限り、技術的または科学的な用語を含めて本明細書上で使用されるすべての用語は、本発明が属する技術分野において通常の知識を有する者によって一般的に理解されるのと同じ意味を持っている。
【0012】
本明細書において、ある部分がある構成要素を「含む」という場合、これは、特に反対の記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含み得ることを意味する。さらに、本発明の様々な実施形態において、各構成要素、機能ブロック、または手段は、1またはそれ以上の下部構成要素から構成されてもよく、各構成要素が行う電気、電子、および機械的機能は、電子回路、集積回路、ASIC(Application Specific Integrated Circuit)など、公知の様々な素子または機械的要素で具現されることができ、それぞれ別々に具現されるか、2以上が1つに統合されて具現されてもよい。
【0013】
一方、添付のブロック図のブロックやフローチャートの段階は、汎用コンピュータ、特殊用コンピュータ、携帯用ノートパソコン、ネットワークコンピュータなどのデータプロセッシングが可能な装備のプロセッサやメモリに搭載されて指定された機能を行うコンピュータプログラム命令(instructions)を意味するものと解釈されることができる。これらのコンピュータプログラム命令は、コンピュータ装置に備えられたメモリまたはコンピュータで読み取り可能なメモリに保存されることができるため、ブロック図のブロックまたはフローチャートの段階で説明された機能は、それを行う命令手段を内包する製造物として生産されてもよい。また、各ブロックまたは各段階は、特定の論理的機能を行うための1以上の実行可能な命令を含むモジュール、セグメント、またはコードの一部を表すことができる。また、いくつかの代替可能な実施形態では、ブロックまたは段階で言及された機能が、決められた順序とは異なって実行されることも可能であることに留意されたい。例えば、連続して図示されている2つのブロックまたは段階は、実質的に同時に実行されてもよく、逆の順序で実行されてもよく、場合によっては一部のブロックまたは段階が省略されたままで実行されてもよい。
【0014】
図1は、本発明の一実施形態によるUI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の構造を示す図である。
【0015】
図1を参照すると、本発明の一実施形態による電子端末装置110は、標準名称テーブル保持部111、自動生成イベント発生部112、背景領域生成部113、図形認識部114、位置情報確認部115、テキスト認識部116、UIコンポーネントマッチング部117、UIコンポーネント挿入部118を含む。
【0016】
標準名称テーブル保持部111は、前記UI開発ツールから支援されるものと予め設定された複数のUIコンポーネント(components)のそれぞれに対応する、予め設定された2つ以上の標準名称が記録された標準名称テーブルを保存して保持する。
【0017】
ここで、前記複数のUIコンポーネントは、ボタン、テキストインプット(input)ボックス、メニューバーなどのようなUI開発ツールを通じてユーザが作り出すことができるコンポーネントを意味する。
【0018】
例えば、前記UI開発ツールから支援されるものと予め設定された複数のUIコンポーネントを「UIコンポーネント1、UIコンポーネント2、UIコンポーネント3」とする場合、標準名称テーブル保持部111は、下記の表1のような、「UIコンポーネント1、UIコンポーネント2、UIコンポーネント3」のそれぞれに対応する、予め設定された2つ以上の標準名称が記録された標準名称テーブルを保存して保持してもよい。
【0019】
【表1】
【0020】
自動生成イベント発生部112は、第1ユーザ130により、複数の図形が配置されたUI設計案に対する第1イメージが入力されるとともに、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成することを指示するUIコンポーネント自動生成命令が印加されると、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成するための自動生成イベントを発生させる。
【0021】
ここで、UI設計案とは、プレゼンテーション文書作成プログラムで作成されたスライド文書などの所定の電子文書の形態で設けられた文書であってもよく、人が手書きで作成した文書であってもよい。このとき、UI設計案を作成する設計者は、UI設計案を作成する際に、所定のUIコンポーネントを表現するための図形を生成した後、各図形の内部に各図形に対応するUIコンポーネントの名称を挿入して、UI設計案内に配置しておくことができる。これによって、本発明において、UI設計案に挿入されている前記複数の図形のそれぞれの内部には、各図形に対応するUIコンポーネントの名称に対するテキストが挿入されていると仮定する。
【0022】
背景領域生成部113は、自動生成イベント発生部112によって前記自動生成イベントが発生されると、前記第1イメージの横長さおよび縦長さを確認し、前記第1イメージと同じ横長さおよび縦長さを有する背景領域を生成する。
【0023】
図形認識部114は、前記第1イメージから前記複数の図形を認識する。
【0024】
このとき、本発明の一実施形態によれば、図形認識部114は、前記第1イメージから前記複数の図形を認識するための具体的な構成として、2値イメージ生成部119および図形認識処理部120を含んでもよい。
【0025】
2値イメージ生成部119は、前記第1イメージを構成する複数の画素のうち、図形の線を構成する色であると予め指定された画素値範囲に属する画素値を有する第1画素のそれぞれの画素値を、予め指定された第1画素値に変更し、前記複数の画素のうち、前記第1画素を除いた残りの第2画素のそれぞれの画素値を、予め指定された第2画素値に変更することにより、2値イメージを生成する。
【0026】
図形認識処理部120は、前記2値イメージから、前記第1画素値を有する前記第1画素のみを分離認識することにより、前記第1画素で構成される前記複数の図形を認識する。
【0027】
以下では、図2を参照して、自動生成イベント発生部112、背景領域生成部113、および図形認識部114の動作を例として詳細に説明する。
【0028】
まず、電子端末装置110に「ユーザ1(130)」によって、複数の図形201、202、203が配置されたUI設計案に対する「イメージ1(210)」が入力されることで、複数の図形201、202、203のそれぞれに対応するUIコンポーネントを自動的に生成することを指示するUIコンポーネント自動生成命令が印加されたと仮定する。
【0029】
このとき、自動生成イベント発生部112は、複数の図形201、202、203のそれぞれに対応するUIコンポーネントを自動的に生成するための自動生成イベントを発生させてもよい。
【0030】
すると、背景領域生成部113は、「イメージ1(210)」の横長さおよび縦長さを確認し、「イメージ1(210)」と同じ横長さおよび縦長さを有する背景領域220を生成することができる。
【0031】
このとき、図形の線を構成する色であると予め指定された画素値の範囲が「150超255以下」とし、予め指定された第1画素値を「255」とし、予め指定された第2画素値を「0」であると仮定する。
【0032】
すると、2値イメージ生成部119は、「イメージ1(210)」を構成する複数の画素のうち、図形の線を構成する色であると予め指定された画素値範囲に属する画素値を有する第1画素それぞれの画素値を、前記第1画素値である「255」に変更することができ、前記複数の画素のうち、前記第1画素を除いた残りの第2画素のそれぞれの画素値を、前記第2画素値である「0」に変更することで、2値イメージ230を生成することができる。
【0033】
その後、図形認識処理部120は、2値イメージ230から、前記第1画素値である「255」を有する前記第1画素のみを分離認識することにより、前記第1画素で構成される複数の図形201、202、203を認識することができる。
【0034】
位置情報確認部115は、図形認識部114によって前記複数の図形が認識されると、前記第1イメージから前記複数の図形のそれぞれが挿入されている位置を確認することにより、前記複数の図形それぞれに対する位置情報を確認する。
【0035】
このとき、本発明の一実施形態によれば、位置情報確認部115は、図形認識部114によって前記複数の図形が認識されると、前記第1イメージから、前記第1イメージを構成する4つの頂点のうちいずれか1つの第1頂点を基準に、前記複数の図形のそれぞれの中心点に対する2次元の相対座標を、前記複数の図形のそれぞれに対する位置情報として確認することができる。
【0036】
テキスト認識部116は、予め設定されたテキスト認識モジュールに基づいて、前記複数の図形のそれぞれの内部に挿入されたテキストを認識する。
【0037】
ここで、テキスト認識モジュールとは、イメージや映像からテキストを認識して獲得できる光学文字認識(Optical Character Recognition:OCR)技術やディープラーニング(deep learning)技術を基盤にして事前構築されたテキスト認識モジュールを意味する。
【0038】
UIコンポーネントマッチング部117は、前記標準名称テーブルを参照して、前記複数の図形のそれぞれに対して、前記複数のUIコンポーネントのうち、各図形に対して認識されたテキストにマッチングされる標準名称を有するUIコンポーネントをマッチングさせることによって、前記複数の図形のそれぞれに対応するUIコンポーネントをマッチングさせる。
【0039】
UIコンポーネント挿入部118は、前記背景領域において、前記複数の図形のそれぞれに対する位置情報に応じた位置に、各図形にマッチされたUIコンポーネントを挿入する。
【0040】
このとき、本発明の一実施形態によれば、UIコンポーネント挿入部118は、前記背景領域において、前記背景領域を構成する4つの頂点のうち前記第1頂点に対応する頂点を基準として、前記複数の図形のそれぞれに対する位置情報を構成する2次元相対座標による位置に、各図形に対応するUIコンポーネントを挿入してもよい。
【0041】
以下では、図2を参照して、位置情報確認部115、テキスト認識部116、UIコンポーネントマッチング部117、およびUIコンポーネント挿入部118の動作を例として、詳細に説明する。
【0042】
まず、上述した例のように、図形認識部114によって、2値イメージ230に基づいて複数の図形201、202、203が認識されたと仮定する。
【0043】
すると、位置情報確認部115は、「イメージ1(210)」から、「イメージ1(210)」を構成する4つの頂点211、212、213、214のいずれか一つの第1頂点213を基準に、複数の図形201、202、203のそれぞれの中心点に対する2次元相対座標を、複数の図形201、202、203のそれぞれに対する位置情報として確認することができる。
【0044】
これに関連して、第1頂点213を基準に、複数の図形201、202、203のそれぞれの中心点204、205、206に対する2次元相対座標が「(x、y)、(x2、)、(x3、)」であるとする場合、位置情報確認部115は、複数の図形201、202、203のそれぞれに対する位置情報を、「(x1、)、(x2、)、(x3、)」のように確認することができる。
【0045】
その後、テキスト認識部116は、予め設定されたテキスト認識モジュールに基づいて、複数の図形201、202、203のそれぞれの内部に挿入されたテキストである「テキスト1、テキスト2、テキスト3」を認識することができる。
【0046】
すると、UIコンポーネントマッチング部117は、前記表1のような標準名称テーブルを参照して、複数の図形201、202、203のそれぞれに対して、前記複数のUIコンポーネントである「UIコンポーネント1、UIコンポーネント2、UIコンポーネント3」のうち、各図形に対して認識されたテキストにマッチングされる標準名称を有するUIコンポーネントをマッチングさせることにより、複数の図形201、202、203のそれぞれに対応するUIコンポーネントをマッチングさせることができる。
【0047】
これに関連して、図形201に対して認識されたテキストである「テキスト1」にマッチングされる標準名称が「標準名称5」、図形202に対して認識されたテキストである「テキスト2」にマッチングされる標準名称が「標準名称9」、図形203に対して認識されたテキストである「テキスト3」にマッチングされる標準名称が「標準名称2」であると仮定する。
【0048】
このとき、表1のような標準名称テーブルでは、「標準名称5、標準名称9、標準名称2」のそれぞれを標準名称として有するUIコンポーネントが「UIコンポーネント2、UIコンポーネント3、UIコンポーネント1」であるため、UIコンポーネントマッチング部117は、複数の図形201、202、203のそれぞれに対応するUIコンポーネントを「UIコンポーネント2、UIコンポーネント3、UIコンポーネント1」のようにマッチングさせることができる。
【0049】
すると、UIコンポーネント挿入部118は、背景領域220において、背景領域220を構成する4つの頂点221、222、223、224のうち第1頂点213に対応する頂点223を基準に、複数の図形201、202、203のそれぞれに対する位置情報を構成する2次元相対座標による位置に、各図形に対応するUIコンポーネント225、226、227を挿入することができる。
【0050】
これに関連して、複数の図形201、202、203のそれぞれに対する位置情報を構成する二次元相対座標は、「(x、y1)、(x2、)、(x3、)」であるため、UIコンポーネント挿入部118は、図面符号220に示された絵のように、頂点223を基準に、「(x,y)」に応じた位置に図形201に対応するUIコンポーネントである「UIコンポーネント2(225)」を挿入することができ、頂点223を基準に、「(x,y)」による位置に、図形202に対応するUIコンポーネントである「UIコンポーネント3(226)」を挿入することができ、頂点223を基準に、「(x3、)」による位置に、図形203に対応するUIコンポーネントである「UIコンポーネント1(227)」を挿入することができる。
【0051】
本発明の一実施形態によれば、電子端末装置110は、予め指定された有料ユーザのみが前記UI開発ツールから前記UI自動生成機能を利用できるようにする構成をさらに含んでもよい。
【0052】
これに関して、自動生成イベント発生部112は、前記自動生成イベントを発生させる前に、第1ユーザ130が前記UIコンポーネント自動生成機能を利用することができる有料ユーザであるか否かを確認するための構成であって、ハッシュ関数保存部121、認証イベント発生部122、メッセージ表示部123、演算コード生成部124、ハッシュ関数抽出部125、確認要請部126およびイベント発生処理部127を含んでもよい。
【0053】
ハッシュ関数保存部121には、予め設定されたユーザ認証サーバ140と事前に共有している、p(pは2以上の偶数)+1つの相違するハッシュ関数(前記p+1個のハッシュ関数のそれぞれには、0以上p以下の整数から構成された異なる固有番号が割り当てられている)が保存されている。
【0054】
ここで、ユーザ認証サーバ140は、前記UI開発ツールにおいて前記UIコンポーネント自動生成機能を利用できる有料ユーザであると予め指定された複数の有料ユーザのそれぞれの識別コードが保存されたユーザデータベースを含んでいる。
【0055】
例えば、ユーザ認証サーバ140は、以下の表2のようなユーザデータベースを含んでもよい。
【0056】
【表2】
【0057】
このような状況において、pを「6」とする場合、ハッシュ関数保存部121には、下記の表3のような「7」個の異なるハッシュ関数が保存されていてもよい。
【0058】
【表3】
【0059】
認証イベント発生部122は、第1ユーザ130によって、前記第1イメージが入力されるとともに、前記UIコンポーネント自動生成命令が印加されると、前記自動生成イベントを発生させる前に、第1ユーザ130が前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認するための認証イベントを発生させる。
【0060】
メッセージ表示部123は、認証イベント発生部122によって前記認証イベントが発生されると、第1ユーザ130に対して事前に発行された識別コードを入力することを要請する内容が含まれたメッセージを画面上に表示する。
【0061】
演算コード生成部124は、第1ユーザ130により第1識別コードが入力されると、p桁の1回用の認証番号をランダムに生成し、前記1回用認証番号を、中心軸を基準に前段のp/2桁の第1部分番号と後段のp/2桁の第2部分番号に分離した後、前記第1部分番号を構成するp/2個の数字のそれぞれに対してモジュロ(modulo)-2演算を行うことによって、p/2ビットの第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことによって、p/2ビットの第2部分コードを生成した後、前記第1部分コードと前記第2部分コードとを排他的論理和(exclusive OR)することにより、p/2ビットの演算コードを生成する。
【0062】
ここで、モジュロ-2演算とは、所定の被除数を2で割った余りを算出する演算を意味する。
【0063】
ハッシュ関数抽出部125は、前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量(Hamming weight)の和を演算した後、前記ハッシュ関数保存部から、前記p+1個のハッシュ関数中、前記ハミング重量の和が固有番号として割り当てられている第1ハッシュ関数を抽出する。
【0064】
確認要請部126は、前記第1ハッシュ関数に前記演算コードを入力として印加して第1ハッシュ値を生成し、前記第1識別コードを前記第1ハッシュ値に暗号化した後、ユーザ認証サーバ140へ、暗号化された前記第1識別コードと前記1回用認証番号を転送しながら、第1ユーザ130が前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認することを要請する確認要請命令を転送する。
【0065】
以下では、認証イベント発生部122、メッセージ表示部123、演算コード生成部124、ハッシュ関数抽出部125および確認要請部126の動作を例として、詳細に説明する。
【0066】
まず、上述した例のように、電子端末装置110に「ユーザ1(130)」によって、第1イメージ210が入力されるとともに、前記UIコンポーネント自動生成命令が印加されたと仮定する。
【0067】
このとき、認証イベント発生部122は、前記自動生成イベントを発生させる前に、「ユーザ1(130)」が前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認するための認証イベントを発生させてもよい。
【0068】
すると、メッセージ表示部123は、「ユーザ1(130)」に対して事前に発行された識別コードを入力することを要請する内容が含まれたメッセージを画面上に表示することができる。
【0069】
このとき、「ユーザ1(130)」が前記メッセージを確認して、電子端末装置110上に、「ユーザ1(130)」に対して事前に発行された識別コードである「識別コード1」を入力したとする場合、演算コード生成部124は、「6」桁の1回用認証番号をランダムに生成することができる。
【0070】
このとき、前記1回用認証番号が「921230」のように生成されたとする場合、演算コード生成部124は、1回用認証番号である「921230」を、中心軸を基準に前段の「3」桁の第1部分番号である「921」と後段の「3」桁の第2部分番号である「230」に分離することができる。
【0071】
その後、演算コード生成部124は、前記第1部分番号である「921」を構成する「3」個の数字それぞれに対してモジュロ-2演算を行うことにより、「3」ビットの第1部分コードを「101」のように生成することができ、前記第2部分番号である「230」を構成する「3」個の数字のそれぞれに対してモジュロ-2演算を行うことによって、「3」ビットの第2部分コードを「010」のように生成することができる。
【0072】
その後、演算コード生成部124は、前記第1部分コードである「101」と前記第2部分コードである「010」とを排他的論理和することにより、「3」ビットの演算コードを「111」のように生成することができる。
【0073】
すると、ハッシュ関数抽出部125は、前記第1部分コードである「101」と前記第2部分コードである「010」のそれぞれに対するハミング重量の和を「3」のように演算することができ、前記表3のようなハッシュ関数保存部121から、「7」個のハッシュ関数のうち、「3」が固有番号として割り当てられている「ハッシュ関数4」を抽出することができる。
【0074】
その後、確認要請部126は、「ハッシュ関数4」に前記演算コードである「111」を入力として印加して「ハッシュ値1」を生成し、「識別コード1」を「ハッシュ値1」に暗号化した後、ユーザ認証サーバ140へ、暗号化された「識別コード1」と前記1回用認証番号である「921230」を転送して、「ユーザ1(130)」が前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認することを要請する確認要請命令を転送することができる。
【0075】
このとき、本発明の一実施形態によれば、ユーザ認証サーバ140は、メモリ上に前記p+1個のハッシュ関数を保存しており、電子端末装置110から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、p+1個のハッシュ関数と前記1回用認証番号に基づいて、前記第1ハッシュ値を生成し、暗号化された前記第1識別コードを前記第1ハッシュ値に復号化することにより、前記第1識別コードを復元した後、前記ユーザデータベース上に前記第1識別コードが保存されているか否かを確認し、前記ユーザデータベース上に前記第1識別コードが保存されていると確認されると、第1ユーザ130が、前記UIコンポーネント自動生成機能を利用できる有料ユーザであると確認されたことを示す確認メッセージを生成して電子端末装置110へ転送することができる。
【0076】
このとき、本発明の一実施形態によれば、ユーザ認証サーバ140は、メモリ上に前記p+1個のハッシュ関数を保存しており、電子端末装置110から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、前記1回用認証番号を、中心軸を基準に前段のp/2桁の前記第1部分番号と後段のp/2桁の前記第2部分番号に分離した後、前記第1部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことにより前記第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字それぞれに対してモジュロ-2演算を行うことによって前記第2部分コードを生成した後、前記第1部分コードと前記第2部分コードを排他的論理和することで、前記演算コードを生成し、前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量の和を演算した後、前記p+1個のハッシュ関数のうち、前記ハミング重量の和が固有番号として割り当てられている前記第1ハッシュ関数を抽出し、前記第1ハッシュ関数に前記演算コードを入力として印加して前記第1ハッシュ値を生成した後、暗号化された前記第1識別コードを前記第1ハッシュ値に復号化することによって、前記第1識別コードを復元することができる。
【0077】
このように、ユーザ認証サーバ140において、第1ユーザ130が前記UIコンポーネント自動生成機能を利用できる有料ユーザであると確認されることで、ユーザ認証サーバ140から、前記確認メッセージを受信されると、イベント発生処理部127は、前記自動生成イベントを発生させる。
【0078】
以下では、ユーザ認証サーバ140およびイベント発生処理部127の動作を例として、詳細に説明する。
【0079】
まず、ユーザ認証サーバ140のメモリ上には、前記表3のような「7」個のハッシュ関数が保存されていてもよい。
【0080】
このような状況で、前述した例のように、確認要請部126が、ユーザ認証サーバ140へ、暗号化された「識別コード1」と前記1回用認証番号である「921230」とを転送するとともに、「ユーザ1(130)」が前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認することを要請する確認要請命令を転送することで、ユーザ認証サーバ140に、暗号化された「識別コード1」と前記1回用認証番号である「921230」が受信されて、前記確認要請命令が受信されたと仮定する。
【0081】
すると、ユーザ認証サーバ140は、前記1回用認証番号である「921230」を中心軸を基準に、前段の「3」桁の前記第1部分番号である「921」と後段の「3」桁の前記第2部分番号である「230」に分離することができる。
【0082】
その後、ユーザ認証サーバ140は、前記第1部分番号である「921」を構成する「3」個の数字のそれぞれに対してモジュロ-2演算を行うことによって、前記第1部分コードを「101」のように生成することができ、前記第2部分番号である「230」を構成する「3」個の数字のそれぞれに対してモジュロ-2演算を行うことによって、前記第2部分コードを「010」のように生成することができる。
【0083】
その後、ユーザ認証サーバ140は、前記第1部分コードである「101」と前記第2部分コードである「010」を排他的論理和することにより、「3」ビットの演算コードを「111」のように生成することができ、前記第1部分コードである「101」と前記第2部分コードである「010」のそれぞれに対するハミング重量の和を「3」のように演算することができる。
【0084】
その後、ユーザ認証サーバ140は、メモリ上に保存されている「7」個のハッシュ関数のうち、「3」が固有番号として割り当てられている「ハッシュ関数4」を抽出することができる。
【0085】
その後、ユーザ認証サーバ140は、「ハッシュ関数4」に前記演算コードである「111」を入力として印加して「ハッシュ値1」を生成することができる。
【0086】
このとき、暗号化された「識別コード1」は、「識別コード1」が「ハッシュ値1」に暗号化されたものであるため、ユーザ認証サーバ140は、暗号化された「識別コード1」を「ハッシュ値1」に復号化することにより、「識別コード1」を正常的に復元することができる。
【0087】
その後、ユーザ認証サーバ140は、前記表2のようなユーザデータベース上に「識別コード1」が保存されているか否かを確認し、前記表2のようなユーザデータベース上に「識別コード1」が保存されていると確認することができる。
【0088】
すると、ユーザ認証サーバ140は、「ユーザ1(130)」が前記UIコンポーネント自動生成機能を利用できる有料ユーザであると確認されたことを示す確認メッセージを生成して電子端末装置110へ転送することができる。
【0089】
これにより、電子端末装置110にユーザ認証サーバ140から前記確認メッセージが受信されると、イベント発生処理部127は、前記自動生成イベントを発生させることができる。
【0090】
すると、電子端末装置110は、複数の図形201、202、203のそれぞれに対応するUIコンポーネントを自動的に生成するためのプロセスを行うことができる。
【0091】
図3は、本発明の一実施形態によるUI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の動作方法を示すフローチャートである。
【0092】
段階S310では、前記UI開発ツールから支援されるものと予め設定された複数のUIコンポーネントのそれぞれに対応する、予め設定された2つ以上の標準名称が記録された標準名称テーブルを保存して保持する。
【0093】
段階S320では、第1ユーザによって、複数の図形(前記複数の図形のそれぞれの内部には、各図形に対応するUIコンポーネントの名称に対するテキストが挿入されている)が配置されたUI設計案に対する第1イメージが入力されるとともに、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成することを指示するUIコンポーネント自動生成命令が印加されると、前記複数の図形のそれぞれに対応するUIコンポーネントを自動的に生成するための自動生成イベントを発生させる。
【0094】
段階S330では、前記自動生成イベントが発生されると、前記第1イメージの横長さおよび縦長さを確認して、前記第1イメージと同じ横長さおよび縦長さを有する背景領域を生成する。
【0095】
段階S340では、前記第1イメージから前記複数の図形を認識する。
【0096】
段階S350では、前記複数の図形が認識されると、前記第1イメージにおいて複数の図形のそれぞれが挿入されている位置を確認することによって、前記複数の図形のそれぞれの位置情報を確認する。
【0097】
段階S360では、予め設定されたテキスト認識モジュールに基づいて、前記複数の図形のそれぞれの内部に挿入されたテキストを認識する。
【0098】
段階S370では、前記標準名称テーブルを参照して、前記複数の図形のそれぞれに対して、前記複数のUIコンポーネントのうち、各図形に対して認識されたテキストにマッチングされる標準名称を有するUIコンポーネントをマッチングさせることにより、前記複数の図形のそれぞれに対応するUIコンポーネントをマッチングさせる。
【0099】
段階S380では、前記背景領域において、前記複数の図形のそれぞれに対する位置情報に応じた位置に、各図形にマッチングされたUIコンポーネントを挿入する。
【0100】
このとき、本発明の一実施形態によれば、段階S340では、前記第1イメージを構成する複数の画素のうち、図形の線を構成する色であると予め指定された画素値の範囲に属する画素値を有する第1画素のそれぞれの画素値を、予め指定された第1画素値に変更し、前記複数の画素のうち、前記第1画素を除いた残りの第2画素のそれぞれの画素値を、予め指定された第2画素値に変更することにより、2値イメージを生成する段階および前記2値イメージから、前記第1画素値を有する前記第1画素のみを分離認識することにより、前記第1画素で構成される前記複数の図形を認識する段階を含んでもよい。
【0101】
さらに、本発明の一実施形態によれば、段階S350では、前記複数の図形が認識されると、前記第1イメージにおいて、前記第1イメージを構成する4つの頂点のうちいずれか1つの第1頂点を基準に、前記複数の図形のそれぞれの中心点に対する二次元相対座標を、前記複数の図形のそれぞれに対する位置情報として確認することができる。
【0102】
このとき、段階S380では、前記背景領域において、前記背景領域を構成する4つの頂点のうち前記第1頂点に対応する頂点を基準に、前記複数の図形のそれぞれに対する位置情報を構成する2次元相対座標に応じた位置に、各図形に対応するUIコンポーネントを挿入することができる。
【0103】
また、本発明の一実施形態によれば、段階S320では、予め設定されたユーザ認証サーバ(前記ユーザ認証サーバは、前記UI開発ツールにて前記UIコンポーネント自動生成機能を利用できる有料ユーザであると予め指定された、複数の有料ユーザのそれぞれの識別コードが保存されたユーザデータベースを含んでいる)と事前に共有している、p(pは2以上の偶数)+1つの異なるハッシュ関数(前記p+1個のハッシュ関数それぞれには、0以上p以下の整数で構成された異なる固有番号が割り当てられている)が保存されているハッシュ関数保存部を維持する段階、前記第1ユーザにより、前記第1イメージが入力されるとともに、前記UIコンポーネント自動生成命令が印加されると、前記自動生成イベントを発生させる前に、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認するための認証イベントを発生させる段階、前記認証イベントが発生されると、前記第1ユーザに対して事前に発行された識別コードを入力することを要請する内容が含まれたメッセージを画面上に表示する段階、前記第1ユーザによって第1識別コードが入力されると、p桁の1回用認証番号をランダムに生成し、前記1回用認証番号を、中心軸を基準に前段のp/2桁の第1部分番号と後段のp/2桁の第2部分番号に分離した後、前記第1部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことにより、p/2ビットの第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字それぞれに対してモジュロ-2演算を行うことにより、p/2ビットの第2部分コードを生成した後、前記第1部分コードと前記第2部分コードを排他的論理和することにより、p/2ビットの演算コードを生成する段階、前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量の和を演算した後、前記ハッシュ関数保存部から、前記p+1個のハッシュ関数のうち、前記ハミング重量の和が固有番号として割り当てられている第1ハッシュ関数を抽出する段階、前記第1ハッシュ関数に前記演算コードを入力として印加して第1ハッシュ値を生成し、前記第1識別コードを前記第1ハッシュ値に暗号化した後、前記ユーザ認証サーバへ、暗号化された前記第1識別コードと前記1回用認証番号を転送するとともに、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであるか否かを確認することを要請する確認要請命令を転送する段階、および前記ユーザ認証サーバから、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであることが確認されることで、前記ユーザ認証サーバから、前記第1ユーザが前記UIコンポーネント自動生成機能を利用できる有料ユーザであると確認されたことを示す確認メッセージが受信されると、前記自動生成イベントを発生させる段階を含んでもよい。
【0104】
このとき、前記ユーザ認証サーバは、メモリ上に前記p+1個のハッシュ関数を保存しており、前記電子端末装置から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、前記p+1個のハッシュ関数と前記1回用認証番号に基づいて、前記第1ハッシュ値を生成して、暗号化された前記第1識別コードを前記第1ハッシュ値に復号化することで、前記第1識別コードを復元した後、前記ユーザデータベース上に前記第1識別コードが保存されているか否かを確認して、前記ユーザデータベース上に前記第1識別コードが保存されていることが確認されると、前記確認メッセージを生成して前記電子端末装置へ転送することができる。
【0105】
このとき、本発明の一実施形態によれば、前記ユーザ認証サーバは、メモリ上に前記p+1個のハッシュ関数を保存しており、前記電子端末装置から、暗号化された前記第1識別コードと前記1回用認証番号が受信されるとともに、前記確認要請命令が受信されると、前記1回用認証番号を、中心軸を基準に前段のp/2桁の前記第1部分番号と後段のp/2桁の前記第2部分番号に分離した後、前記第1部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことにより、前記第1部分コードを生成し、前記第2部分番号を構成するp/2個の数字のそれぞれに対してモジュロ-2演算を行うことにより、前記第2部分コードを生成した後、前記第1部分コードと前記第2部分コードとを排他的論理和することで、前記演算コードを生成し、前記第1部分コードと前記第2部分コードのそれぞれに対するハミング重量の和を演算した後、前記p+1個のハッシュ関数のうち、前記ハミング重量の和が固有番号として割り当てられている前記第1ハッシュ関数を抽出し、前記第1ハッシュ関数に前記演算コードを入力として印加して前記第1ハッシュ値を生成した後、暗号化された前記第1識別コードを前記第1ハッシュ値に復号化することによって、前記第1識別コードを復元することができる。
【0106】
以上、図3を参照して、本発明の一実施形態によるUI設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置の動作方法について説明した。ここで、本発明の一実施形態による電子端末装置の動作方法は、図1図2を用いて説明した電子端末装置110の動作に対する構成と対応することができるため、これについてのより詳細な説明は、省略することにする。
【0107】
本発明の一実施形態による電子端末装置の動作方法は、コンピュータとの結合を介して実行させるための保存媒体に保存されたコンピュータプログラムで具現されてもよい。
【0108】
また、本発明の一実施形態による電子端末装置の動作方法は、様々なコンピュータ手段を介して行うことができるプログラム命令の形態で具現され、コンピュータ読取り可能媒体に記録されてもよい。前記コンピュータ読取り可能媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであってもよく、コンピュータソフトウェアの当業者に公知のものが使用可能であってもよい。コンピュータ読取り可能記録媒体の例には、ハードディスク、フロッピーディスク、磁気テープなどの磁気媒体(magnetic media)、CD-ROM、DVDなどの光記録媒体(optical media)、フロプティカルディスク(floptical disk)などの磁気-光媒体(magneto-optical media)、およびロム(ROM)、ラム(RAM)、フラッシュメモリなどのプログラム命令を保存して行うように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作成されるような機械語コードだけでなく、インタプリタなどを使用してコンピュータによって実行され得る高級言語コードを含む。
【0109】
以上のように、本発明では具体的な構成要素などの特定の事項と限定された実施形態および図面によって説明されたが、これは本発明のより全体的な理解を助けるために提供されたものであり、本発明は前記の実施形態に限定されるものではなく、本発明が属する分野で通常の知識を有する者であれば、このような記載から様々な修正および変形が可能である。
【0110】
したがって、本発明の精神は、説明された実施形態に限定されてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等または等価的な変形がある全てのものは、本発明の思想の範囲に属すると言える。
【符号の説明】
【0111】
110 ・・・UI(User Interface)設計案に対するイメージ分析を通じてUIコンポーネント自動生成機能を提供することのできるUI開発ツールが搭載された電子端末装置
111 ・・・標準名称テーブル保持部
112 ・・・自動生成イベント発生部
113 ・・・背景領域生成部
114 ・・・図形認識部
115 ・・・位置情報確認部
116 ・・・テキスト認識部
117 ・・・UIコンポーネントマッチング部
118 ・・・UIコンポーネント挿入部
119 ・・・2値イメージ生成部
120 ・・・図形認識処理部
121 ・・・ハッシュ関数保存部
122 ・・・認証イベント発生部
123 ・・・メッセージ表示部
124 ・・・演算コード生成部
125 ・・・ハッシュ関数抽出部
126 ・・・確認要請部
127 ・・・イベント発生処理部
130 ・・・第1ユーザ
140 ・・・ユーザ認証サーバ
図1
図2
図3