中文字幕无码日韩视频无码三区

元數據生成系統和方法

文檔序號:6444913閱讀:262來源:國知局
專利名稱:元數據生成系統和方法
技術領域
本專利要求2010年12月24日提交的印度專利申請No. 3948/CHE/2010的優先權益,通過引用將其完整地結合到本文中。
背景技術
用于開發用戶界面的元數據通常由圖形設計人員和/或程序員來生成。開發用戶界面的過程能夠包括選擇不同用戶界面(UI)控件并且將其拖放到Π屏幕的不同部分以生成與這些控件相關的對應元數據的極耗費時間的過程。當用戶界面是復雜的和/或包括許多UI控件時,開發用戶界面的時間量增加。

發明內容
自動生成用于開發圖形用戶界面的元數據的示例計算機實現方法包括掃描用戶界面的圖像以檢測圖像上的候選區域,該候選區域潛在地與用戶界面部件關聯。該示例方法包括通過將潛在用戶界面部件與數據庫中存儲的用戶界面定義進行比較以識別與其關聯的用戶界面定義其中之一,來分析候選區域以識別其中包含的用戶界面部件。該示例方法包括提取所識別用戶界面部件的一個或多個性質,并且基于與所識別用戶界面部件和所提取性質關聯的用戶界面定義來生成元數據。自動生成用于開發圖形用戶界面的元數據的示例計算機實現方法包括掃描用戶界面的圖像以檢測圖像上的候選區域,該候選區域潛在地與用戶界面控件關聯。該示例方法包括對候選區域執行圖像識別以識別用戶界面控件,并且基于所識別用戶界面控件來生成元數據。示例有形計算機可讀存儲介質包括供使用處理器來執行的可執行指令,其中指令在被執行時提供生成元數據的系統,該系統包括檢測用戶界面的圖像上的候選區域的檢測器,候選區域潛在地與用戶界面控件關聯。該系統包括分析器,分析候選區域以識別其中包含的用戶界面控件;以及生成器,基于所識別用戶界面控件來生成元數據。


圖I是示例元數據生成系統的框圖。圖2是涉及本文所述系統和方法的示例工作流程。圖3-4是能夠用于實現本文所述示例的示例方法的流程圖。圖5是可用于和/或編程為實現本文所述示例方法和系統的任一個或全部的示例處理器平臺的示意圖。圖6示出元數據生成的示例系統及關聯工作流程。通過結合附圖進行閱讀,將會更好地理解以上概述以及某些示例的以下詳細描述。為了便于說明本文所述的示例,附圖中示出某些示例。但是,應當理解,本公開并不局限于附圖所示的布置和工具。
具體實施例方式雖然下面公開包括在硬件上執行的固件和/或軟件以及其它部件的示例方法、設備、系統和制造產品,但是應當注意,這類方法、設備、系統和/或制造產品只是說明性的,而不應當被認為進行限制。例如,預期這些固件、硬件和/或軟件部件的任一個或全部可專門通過硬件、專門通過軟件、專門通過固件或者通過硬件、軟件和/或固件的任何組合來體現。相應地,雖然下面描述示例方法、設備、系統和/或制造產品,但是所提供的示例并不是實現這類方法、設備、系統和/或制造產品的唯一方式。當看到所附權利要求的任一項涵蓋純軟件和/或固件實現時,至少一個示例的元件的至少一個在此明確定義成包括存儲軟件和/或固件的有形介質,例如存儲器、DVD、⑶、·藍光等等。本文所述的示例系統和方法實現從數字圖像來自動有效地生成用戶界面(UI)元數據。更具體來說,代替圖形設計人員當開發用戶界面時在設計方表面(designersurface)上拖放UI控件,所述的示例搜索和識別數字圖像中包含的UI控件和/或部件,并且生成其元數據。所生成的元數據可存儲在XML文件中,并且可以是能夠通過各種技術/軟件來解釋的技術中立和/或平臺無關的元數據。因此,所生成的元數據可用于使用諸如.NET 、JAVA 等的任何技術來生成用戶界面屏幕。XML文件可包括與所識別Π控件相關的數據,例如類型、位置(例如X和Y坐標)、字體、背景顏色和/或尺寸。所述的示例可易于集成到集成開發環境中,或者可以是獨立產品。從用戶界面的數字圖像,所述的示例處理和識別這類數字圖像中的Π控件部件圖像,并且此后生成技術中立元數據。在某個示例中,示例元數據轉換引擎可接收數字圖像作為輸入。數字圖像可包括包含UI控件的屏幕截圖(例如軟拷貝)。作為補充或替代,數字圖像可以是包含圖形設計人員所繪制的Π控件、經過掃描并且然后轉換為數字圖像的屏幕截圖的硬拷貝。例如,數字圖像可以是gif圖像、tiff圖像或者jpeg圖像。一旦接收到數字圖像,則元數據轉換引擎的示例Π檢測部件可掃描和/或檢測圖像的候選區域。候選區域可包含一個或多個Π控件。例如,Π檢測部件可檢測數字圖像的左上角作為候選區域,因為這個區域包括矩形和/或3維(3D)圖像。在一些示例中,UI檢測部件可包括邏輯和/或與確定圖像和/或其中的區域是否可能包含UI控件時要檢查的內容相關的內部元數據。例如,Π檢測部件可通過檢測通常可與用戶界面上的Π控件關聯的某些形狀(例如正方形、矩形)、對象、3D圖像等的存在,來將圖像中的區域識別為候選區域。在一些示例中,UI檢測部件的子集、即示例UI識別部件可分析所檢測候選區域。在其它示例中,與UI檢測部件分離的示例UI識別部件可分析所檢測候選區域。與結構無關,Π識別部件可通過應用識別候選區域中的一個或多個Π控件并且從其中提取Π控件的圖像識別程序,來分析所檢測候選區域。更具體來說,Π識別部件可分析候選區域中的潛在UI控件(例如矩形),以便確定它是哪一種類型的UI控件。例如,UI識別部件可分析數字圖像的左上角的潛在UI控件(例如矩形),并且檢測潛在UI控件是按鈕類型的部件。在一些示例中,在確定所檢測UI控件是按鈕類型部件時,Π識別部件可將所識別UI控件與數據庫(例如內部資料庫)中存儲的UI定義或控件進行比較,以便確定UI控件是按鈕類型部件,與文本窗口和/或其它Π部件不同。可通過識別數據庫所存儲的、與用戶界面上識別的UI控件匹配的UI定義,來進行這個確定。還可對數據庫的UI定義的部分或全部來存儲相應UI控件的對應性質。作為補充或替代,Π識別部件可提取UI控件的其它性質(例如靜態性質),例如向量高度、字體、顏色和/或背景顏色。從數字圖像所識別和/或所提取的數據和則可輸入和/或饋入示例UI元數據生成器。UI元數據生成器可處理所識別UI控件和性質和/或與其關聯的UI定義,并且然后生成對應的技術中立元數據。元數據可基于任何可訪問位置所存儲的數據來生成。用于生成元數據的數據可按照SML文件或者任何其它格式。在一些示例中,圖形設計人員可掃描包含Π控件的用戶界面的紙線框圖像。掃描 圖像可輸入Π控件檢測部件,其中檢測包含也許可能是Π控件的矩形的圖像的候選區域。然后,示例UI識別部件可分析候選區域,以便確定矩形實際上是與文本框相關的UI控件。UI識別部件還可提取與文本框相關的任何可提取數據,例如位置、尺寸等。然后,可通過將與文本框UI控件相關的所識別和所提取數據輸入示例UI元數據生成器部件,來生成中立元數據。這個中立元數據可存儲在任何適當位置,并且以后可用于按照任何技術來生成用戶界面屏幕。圖I示出包括數據存儲或源102和系統104的示例元數據生成系統100。數據源102和/或系統104的一個或兩者可與訪問裝置106進行交互。在一些示例中,數據源102和/或系統104能夠在單個系統中實現。在一些不例中,數據源102和/或系統104能夠完全或部分在訪問裝置106中實現。在一些示例中,數據源102和/或系統104能夠經由網絡108與訪問裝置106進行通信。在一些示例中,訪問裝置106能夠經由網絡108與數據源102和/或系統104進行通信。網絡108可通過例如因特網、內聯網、專用或個人網絡、有線或無線局域網、有線或無線廣域網、蜂窩網絡和/或任何其它適當網絡來實現。訪問裝置106可接收用戶界面的圖像和/或其它數據,并且將其傳送給元數據生成系統100,以便于識別圖像中的用戶界面控件并且生成對應元數據。例如,圖像可以是包含Π控件的屏幕截圖(例如軟拷貝),和/或圖像可以是從包含由圖形設計人員所繪制的UI控件的屏幕截圖的硬拷貝所轉換的數字圖像。在一些示例中,數據源102能夠從訪問裝置106接收UI圖像和/或與其相關的數據。在一些示例中,系統104能夠從訪問裝置106接收UI圖像和/或與其相關的數據。數據源102和/或系統104能夠在任何集成開發環境中實現,或者可以是獨立廣品。訪問裝置106能夠使用工作站(膝上型、臺式、平板計算機等)來實現。在一些示例中,訪問裝置106可包括和/或具有與其關聯的掃描儀。在一些示例中,圖形設計人員可希望開發用戶界面。開發用戶界面的過程能夠包括選擇不同Π控件并且將其拖放到Π屏幕的不同部分以生成與這些控件相關的對應元數據的極耗費時間的過程。當用戶界面是復雜的和/或包括許多UI控件時,開發用戶界面的時間量增加。在這類情況下,使用本文所述的示例,訪問裝置和數據源102和/或系統104可進行交互以有效地生成元數據,并且在一些情況下,基于接收作為輸入的數字圖像來有效地生成技術中立元數據。數字圖像可包含其中包含的Π部件的圖像。例如,如果圖形設計人員希望基于數字圖像來開發用戶界面,則圖像的副本可從訪問裝置106傳遞給數據源102和/或系統104。一旦接收,數據源102和/或系統104可執行過程以識別圖像中包含的UI控件,并且此后生成對應的技術中立元數據。所生成的元數據可以在數據源102和/或系統104可訪問和/或存儲在其中。在一些示例中,過程包括掃描和/或檢測圖像上也許可能包含Π控件的一個或多個候選區域。數據源102和/或系統104可基于某些判據來檢測一個或多個候選區域。例如,判據可與掃描、檢測和/或識別圖像中包含一般可關聯UI控件的形狀和/或對象的區域。例如,矩形可一般與按鈕或文本框關聯。如果識別一個或多個候選區域,則數據源102和/或系統104可分析候選區域,以便確認Π控件的存在,并且對其進行識別。在一些示例中,通過將所識別候選區域中包含的潛在UI控件與數據源102和/或系統104所存儲和/或可訪問的UI定義進行比較,來確認和/或確定UI控件的存在和標識。在潛在UI控件與UI定義之間識別到匹配時,數據源102和/或系統104可將圖像上的所識別UI控件與對應UI定義關聯。作為補充和替代,數據源和/或系統104可從數字圖像來提取與Π控件關聯的其它性質。這些性質的一部分包括靜態性質,例如位置、尺寸、字體、顏色、背景顏色等。
·
然后,數據源102和/或系統104可基于例如所識別UI控件、所提取性質和/或與其關聯的UI定義來生成技術中立元數據。元數據可基于數據源102和/或系統104所存儲和/或可訪問的數據來生成。一旦被生成,元數據可存儲在任何適當位置,并且可用于按照諸如.NET 、JAVA 等的任何技術來開發用戶界面。在一些示例中,一旦被生成,元數據可從數據源102和/或系統104傳遞給訪問裝置106,其中例如它是人員(例如圖形設計人員)在訪問裝置106的用戶界面可查看的。圖2是包括訪問裝置202和元數據生成系統204的示例工作流程200的框圖。在一些示例中,元數據生成系統204可部分或完全在訪問裝置202中實現。元數據生成系統204可用于實現圖I的數據源102和/或系統104。訪問裝置202可用于實現圖I的訪問裝置106。在參考標號206,訪問裝置202示出用戶界面的數字圖像206。例如,數字圖像206可使用訪問裝置202已經生成,或者可從硬拷貝已經掃描到訪問裝置202中。在參考標號208,訪問裝置202示出使用本文所述示例基于數字圖像206所生成的技術中立元數據208。元數據生成系統204可包括Π控件檢測部件210、Π控件識別部件或分析器212、Π控件生成器部件214、處理器216和數據源218。雖然圖2示出了實現圖I的數據源102和/或系統104和訪問裝置106的一個示例,但是圖2所示的元件、過程和/或裝置的一個或多個可按照其它方式來組合、劃分、重新設置、省略、消除和/或實現。在一些示例中,處理器216可集成到UI控件檢測部件210、UI控件識別部件212、UI控件生成器部件214和/或數據源218中。訪問裝置202、UI控件檢測部件210、UI控件識別部件212、UI控件生成器部件214、處理器216和/或數據源218以及更一般來說的示例工作流程200和/或元數據生成系統204可通過硬件、軟件、固件和/或硬件、軟件和/或固件的組合來實現。因此,訪問裝置202、UI控件檢測部件210、Π控件識別部件212、UI控件生成器部件214、處理器216和/或數據源218以及更一般來說的示例工作流程200和/或元數據生成系統204能夠通過一個或多個電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯裝置(PLD)和/或現場可編程邏輯裝置(FPLD)等等來實現。當看到所附權利要求的任一項涵蓋純軟件和/或固件實現時,訪問裝置202、UI控件檢測部件210、UI控件識別部件212、UI控件生成器部件214、處理器216和/或數據源218以及更一般來說的示例工作流程200中至少一個在此明確定義成包括存儲軟件和/或固件的有形介質,例如存儲器、DVD、⑶、藍光等等。此外,圖2的示例工作流程200和/或元數據生成系統204可包括作為對圖2所示的補充或替代的一個或多個元件、過程和/或裝置,和/或可包括任何或所有所示元件、過程和裝置的一個以上。一旦數字圖像206已經輸入到訪問裝置202上,數字圖像或者其副本可被傳送給元數據生成系統204并且存儲在數據源218。在一些示例中,UI控件檢測部件210可從數據源218接收數字圖像,并且掃描圖像以檢測可潛在地包含用戶界面控件和/或用戶界面控件的圖像的一個或多個候選區域。UI控件檢測部件210可基于邏輯和/或內部元數據來檢測圖像上的候選區域。邏輯和/或內部元數據可包括實現和/或訓練UI控件檢測部件210來區分Π控件和非Π控件的樣本Π控件圖像特征和/或樣本非Π控件圖像特征。
·
在一些示例中,UI控件檢測部件210可在圖像的左下角檢測到包括也許可能是UI·控件的矩形的第一候選區域以及在圖像的中心檢測到包括也許可能包含Π控件的3D對象的第二候選區域。在其它示例中,Π控件檢測部件210可在圖像的左下角檢測到包括也許可能是UI控件的矩形和也許可能是UI控件的3D對象的第一候選區域。在一些示例中,UI控件檢測部件210按照段和/或區域來掃描圖像,并且確定區域的每個是否包含可能的UI控件。由UI控件檢測部件210所掃描的圖像的區域可相似地或者不同地確定大小。由Π控件檢測部件210所掃描的圖像的區域可以是任何適當形狀,例如矩形、正方形等。與候選區域相關的信息或者由UI控件檢測部件210所識別的任何其它信息可存儲在數據源218和/或元數據生成系統204可訪問的任何其它數據庫。所檢測候選區域可由UI控制識別部件212來分析。在一些示例中,UI控件識別部件212可分析候選區域,以便使用圖像識別程序來識別其中包含的UI控件。在一些示例中,Π控件識別部件212可通過將潛在UI控件與數據源218中存儲的UI定義進行比較以識別與所識別潛在Ul控件關聯的UI定義,來分析候選區域。如果識別到匹配,則UI控件識別部件212可將圖像的候選區域中的UI控件與對應UI定義關聯。UI控件識別部件212還可從圖像來提取靜態性質和/或與所識別UI控件關聯。靜態性質的一部分可包括位置、字體、背景顏色、尺寸等。UI控件的標識、所提取性質、Π定義連同由UI控件識別部件212所識別和/或提取的任何其它信息可存儲在數據源218和/或元數據生成系統204可訪問的任何其它數據庫。UI控件生成器部件214可從數據源218來接收與所識別UI控件相關的信息,并且然后生成對應的技術中立元數據。元數據可基于數據源218和/或Π控件生成器部件214可訪問的任何其它數據庫所存儲的數據來生成。所生成的元數據可存儲在數據源218和/或任何其它適當數據庫,并且可用于按照任何技術來開發用戶界面。在一些示例中,在Π控件生成器部件214生成元數據之后和/或同時,這個元數據的部分或全部可在訪問裝置202上以參考標號208來顯示。然后,圖形設計人員可在需要時對元數據208進行查看、編輯和/或添加。元數據生成系統204包括檢索數據、執行功能性并且將數據存儲在數據源218、訪問裝置202、圖I的訪問裝置106、數據源102和/或圖I的系統104的處理器216。在一些示例中,處理器216驅動元數據生成系統204的相應部件。例如,處理器216可驅動UI控件檢測部件210來掃描圖像以識別一個或多個候選區域。處理器216可驅動UI控件識別部件212來分析候選區域并且確定相應候選區域中包含的任何UI控件的標識和/或性質。處理器216可驅動UI控件生成器部件214以基于UI控件檢測部件210和/或Π控件識別部件212所識別和/或所提取的信息來生成技術中立元數據。在一些示例中,處理器216可驅動訪問裝置202向用戶輸入提供信息和功能性,以便控制訪問裝置202、編輯信息、查看數字圖像206和/或元數據208等。訪問裝置202和元數據生成系統204可包括一個或多個內部存儲器和/或包括數據源218的數據存儲。數據存儲裝置可包括各種內部和/或外部存儲器、磁盤、遠程存儲裝置,其與元數據生成系統204和/或訪問裝置202進行通信。圖3-4示出表示可使用例如可用于使用一個或多個訪問裝置、元數據生成系統、 數據存儲和/或系統來自動生成技術中立元數據的計算機可讀指令來實現的過程的示例流程圖。圖3-4的示例過程可使用處理器、控制器和/或任何其它適當的處理裝置來執行。例如,圖3-4的示例過程可使用諸如閃速存儲器、只讀存儲器(ROM)和/或隨機存取存儲器(RAM)之類的實體計算機可讀介質上存儲的編碼指令(例如計算機可讀指令)來實現。本文所使用的術語“有形計算機可讀介質”明確定義為包括任何類型的計算機可讀存儲裝置,但不包括傳播信號。作為補充或替代,圖3-4的示例過程可使用其中將信息存儲任何時長(例如延長時間段、永久、短暫、臨時緩沖和/或信息高速緩存)的諸如閃速存儲器、只讀存儲器(ROM)、隨機存取存儲器(RAM)、高速緩存或者任何其它存儲介質之類的非暫時計算機可讀介質上存儲的編碼指令(例如計算機可讀指令)來實現。本文所使用的術語“非暫時計算機可讀介質”明確定義為包括任何類型的計算機可讀介質,但不包括傳播信號。備選地,圖3-4的示例過程的部分或全部可使用專用集成電路(ASIC)、可編程邏輯裝置(PLD)、現場可編程邏輯裝置(FPLD)、分立邏輯、硬件、固件等的任何組合來實現。另夕卜,圖3-4的示例過程的部分或全部可人工或者作為上述技術的任何組合、例如固件、軟件、分立邏輯和/或硬件的任何組合來實現。此外,雖然圖3-4的示例過程參照圖3-4的流程圖來描述,但是可采用實現圖3-4的過程的其它方法。例如,框的執行順序可以改變,和/或所述框的一部分可以改變、消除、細分或組合。另外,圖3-4的示例過程的任一個或全部可由例如單獨處理線程、處理器、裝置、分立邏輯、電路等依次和/或并行執行。圖3涉及使元數據能夠基于數字圖像來自動生成的示例方法300。在框302,方法300輸入數字圖像。圖像可以是gif圖像、tiff圖像、jpeg圖像、數字圖像、用戶界面的屏幕截圖等。圖像可基于使用訪問裝置106和/或202其中之一所創建的數字圖像。圖像可以是由圖形設計人員所創建的、已經掃描到訪問裝置106和/或202中的用戶界面的草圖。與創建圖像中使用的方法無關,圖像可包括其中包含Π控件的一個或多個圖像、區域和/或部件。這些圖像、區域和/或部件可與文本框、按鈕等相關。在框304,方法300掃描圖像,以便檢測圖像上的任何候選區域。候選區域可潛在地與UI控件關聯。在框306,方法300處理來自所檢測候選區域的列表的第一個或下一個候選區域。在框308,方法300分析候選區域,以便確定其中是否包含Π控件。如果方法300確定候選區域包含一個或多個UI控件,則控制進行到框310。但是,如果方法300確定候選區域沒有包含一個或多個Π控件,則控制進行到框312。在框310,方法300分析候選區域,以便識別其中的UI控件。在一些示例中,方法300通過對候選區域執行圖像識別,來分析候選區域。在一些示例中,方法300可通過將候選區域中包含的潛在和/或所識別UI控件與UI定義進行比較以識別與所識別UI控件關聯的Π定義其中之一,來分析候選區域。在框314,方法300提取所檢測Π控件的一個或多個性質。例如,性質可基于與UI定義關聯的靜態性質和/或數據。在框316,方法300確定所檢測候選區域是否包含更多Π控件。如果所檢測候選區域包含更多Π控件,則控制返回到框308。但是,如果候選區域沒有包含更多UI控件,則控制進行到框312。在框312,方法300確定是否已經處理全部所檢測候選區域。如果還沒有處理所有候選區域,則控制返回到框306。但是,如果已經處理所有候選區域,則控制進行到框318。在框318,方法300確定是否已經檢測到任何UI控件。如果沒有檢測到UI控件,則控制進行到框320。但是,如果檢測到一個或多個Π控件,則控制進行到框322。在框322,方法300生成中立元數據。在一些示例中,方法300可基于候選區域中包含的UI控件的標識來生成中立元數據。在一些示例中,方法300可基于諸如從數字圖像所提取的靜態性質之類的性質來生成中立元數據。在一些示例中,方法300可基于與候選區域中包含的相應UI控件關聯的Π定義來生成中立元數據。在框324,方法300存儲中立元數據。在一些示例中,所存儲元數據可用于按照任何技術來開發用戶界面。在框320,方法300確定是否返回到框302。否則,示例方法300結束。圖4涉及使元數據能夠基于數字圖像來自動生成的示例方法400。在框402,方法400輸入圖像。圖像可基于使用訪問裝置106和/或202其中之一所創建的數字圖像。圖像可以是由圖形設計人員所創建的、已經掃描到訪問裝置106和/或202中的用戶界面的草圖。與創建圖像中使用的方法無關,圖像可包括其中包含Π控件的一個或多個圖像和/或區域。這些圖像和/或部件可與文本框、按鈕等相關。在框404,方法400掃描圖像,以便檢測圖像上的任何候選區域。候選區域可潛在地與UI控件關聯。在框406,方法400對候選區域執行圖像識別,以便識別UI控件。在一些示例中,在對候選區域應用圖像識別時,方法400識別候選區域之一中包含的潛在UI控件,并且將這個潛在UI控件與數據庫所存儲的UI定義進行比較,以便識別與所識別UI控件關聯的Π定義之一。在一些示例中,在對候選區域應用圖像識別時,方法400從圖像來提取一個或多個性質和/或提取與潛在和/或所識別UI控件關聯的一個或多個性質。在框408,方法400生成中立元數據。在一些示例中,方法400可基于候選區域中包含的UI控件的標識來生成中立元數據。在一些示例中,方法400可基于諸如從數字圖像所提取的靜態性質之類的性質來生成中立元數據。在一些示例中,方法400可基于與候選區域中包含的相應Π控件關聯的Π定義來生成中立元數據。在框410,方法400存儲中立元數據。在一些示例中,所存儲元數據可用于按照任何技術來開發用戶界面。在框412,方法400確定是否返回到框402。否則,示例方法400結束。圖5是可用于實現本文所述的系統和方法的示例處理器系統500的框圖。如圖5所示,處理器系統500包括耦合到互連總線504的處理器502。處理器502可以是任何適當、的處理器、處理單元或者微處理器。雖然圖5未示出,但是處理器系統500可以是多處理器系統,并且因而可包括與處理器502相同或相似并且在通信上耦合到互連總線504的一個或多個附加處理器。圖5的處理器502耦合到芯片組506,芯片組506包括存儲控制器510和輸入/輸出(I/o)控制器510。眾所周知,芯片組通常提供I/O和存儲器管理功能以及多個通用和/或專用寄存器、計時器等,其由耦合到芯片組506的一個或多個處理器可訪問或使用。存儲控制器508執行使處理器502 (或者當存在多個處理器時的多個處理器)能夠訪問系統存儲器512和大容量存儲存儲器514的功能。系統存儲器512可包括任何預期類型的易失性和/或非易失性存儲器,例如靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、閃速存儲器、只讀存儲器(ROM)等等。大容量存儲存儲器514可包括任何預期類型的大容量存儲裝置,包括硬盤驅動器、光盤驅動器、磁帶存儲裝置等等。
I/O控制器510執行使處理器502能夠經由I/O總線522與外圍輸入/輸出(I/
O)裝置516和518以及網絡接口 520進行通信的功能。I/O裝置516和518可以是任何預期類型的I/O裝置,例如鍵盤、視頻顯示器或監視器、鼠標等等。網絡接口 520可以是例如以太網裝置、異步傳輸模式(ATM)裝置、802. 11裝置、DSL調制解調器、電纜調制解調器、蜂窩調制解調器等,它使處理器系統500能夠與另一個處理器系統進行通信。雖然存儲控制器508和I/O控制器510在圖5中示為芯片組506中的單獨塊,但是,這些塊所執行的功能可集成在單個半導體電路中,或者可使用兩個或兩個以上單獨的集成電路來實現。圖6示出元數據生成的示例系統及關聯工作流程600。在602,手繪圖形UI圖像604可被掃描并且轉換為數字圖像。數字圖像可以是.gif圖像、.tiff圖像或者.jpeg圖像等。在606,示例Π控件檢測部件可檢測包含和/或潛在地包含一個或多個Π控件的一個或多個候選區域608、610。在612,示例UI控件識別部件可分析候選區域608、610,以便識別其中包含的Π控件612-630。在一些示例中,Π控件識別部件可應用圖像識別程序來識別候選區域608、610中的UI控件612-630,和/或提取UI控件和/或相關數據。在一些示例中,所識別UI控件可通過UI上的顏色(例如黃色)、通過輪廓等等來區分。在632,由示例Π元數據生成器部件對一個或多個Π控制部件來生成元數據。UI元數據生成器部件可處理所識別UI控件和/或所提取數據,并且基于此來生成對應的技術中立元數據。在一些示例中,技術中立元數據可用于生成實際Π控件部件供由用戶進行交互。在一些示例中,技術中立元數據可用于通過寫入所指定源代碼生成器,按照任何預期技術來生成圖形用戶界面。在634,示出可使用任何編程語言和/或集成開發環境(IDE)、基于元數據來生成的Π屏幕。示范系統和方法基于數字圖像的輸入來輸出技術中立元數據。更具體來說,在接收到數字圖像時,示例系統和方法識別潛在地包含Π控件的候選區域,并且然后進一步分析這些候選區域,以便確定潛在UI控件的標識(例如類型、UI控件、非UI控件等)。作為補充或替代,示例系統和方法還分析這些候選區域,以便提取對應性質(例如靜態性質)。基于所識別、所提取性質等,示例系統和方法可自動生成可有利地用于按照任何適當技術來創建用戶界面的技術中立元數據。
某些實施例考慮實現實現上述功能性的方法、系統和任何機器可讀介質上的計算機程序產品。例如,某些實施例可使用現有計算機處理器、或者通過為這個或另一個目的而結合的專用計算機處理器、或者通過硬連線和/或固件系統來實現。某些實施例包括用于攜帶或者其上存儲計算機可執行指令或數據結構的計算機可讀介質。這種計算機可讀介質可以是可由通用或專用計算機或者具有處理器的其它機器可訪問的任何可用介質。作為舉例,這種計算機可讀介質可包括RAM、ROM、PROM、EPROM、EEPROM、閃存、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或者其它磁存儲裝置、或者可用來攜帶或存儲采取計算機可 執行指令或數據結構形式的預期程序代碼、可由通用或專用計算機或者具有處理器的其它機器可訪問的其它任何介質。以上所述的組合也包含在計算機可讀介質的范圍之內。計算機可執行指令包括例如使通用計算機、專用計算機或者專用處理機執行某個功能或某組功能的指令和數據。一般來說,計算機可執行指令包括執行特定任務或者實現特定抽象數據類型的例程、程序、對象、部件、數據結構等。計算機可執行指令、關聯數據結構和程序模塊表示用于執行本文公開的某些方法的步驟和系統的程序代碼的示例。這類可執行指令或關聯數據結構的特定序列表示用于實現在這類步驟中所述的功能的相應動作的示例。本發明的實施例可在采用到具有處理器的一個或多個遠程計算機的邏輯連接的組網環境中實施。邏輯連接可包括在此作為舉例而不是限制來提供的局域網(LAN)和廣域網(WAN)。這類組網環境是辦公范圍和企業范圍的計算機網絡、內聯網和因特網中常見的,并且可采用大量不同的通信協議。本領域的技術人員將會理解,這類網絡計算環境通常包含許多類型的計算機系統配置,其中包括個人計算機、手持裝置、多處理器系統、基于微處理器或者可編程消費電子產品、網絡PC、小型計算機、大型計算機等等。本發明的實施例還可在分布式計算環境中實施,在這些環境中,任務由通過通信網絡鏈接(通過硬連線鏈路、無線鏈路或者通過硬連線或無線鏈路的組合)的本地和遠程處理裝置來執行。在分布式計算環境中,程序模塊可能位于本地以及遠程存儲器存儲裝置中。雖然本文已經描述了某些方法、設備和制造產品,但是本專利的覆蓋范圍并不局限于此。相反,本專利涵蓋在字面上或者在等同原則下完全落入所附權利要求書的范圍的所有方法、設備和制造產品。
權利要求
1.一種自動生成用于開發圖形用戶界面的元數據的計算機實現方法,包括 掃描用戶界面的圖像以檢測所述圖像上的候選區域,所述候選區域潛在地與用戶界面部件關聯; 通過將潛在用戶界面部件與數據庫中存儲的用戶界面定義進行比較以識別與其關聯的所述用戶界面定義其中之一,來分析所述候選區域以識別其中包含的用戶界面部件; 提取所識別用戶界面部件的一個或多個性質;以及 基于與所識別用戶界面部件和所提取性質關聯的所述用戶界面定義來生成元數據。
2.如權利要求I所述的方法,其中,至少分析所述候選區域以識別其中包含的所述用戶界面部件還包括對所述候選區域執行圖像識別。
3.如權利要求I所述的方法,其中,所提取性質的一個或多個包括靜態性質。
4.如權利要求3所述的方法,所述靜態性質包括所識別用戶界面部件的位置、與所識別用戶界面部件關聯的字體、與所識別用戶界面部件關聯的背景顏色或者與所識別用戶界面部件關聯的尺寸中的至少一個。
5.如權利要求I所述的方法,還包括將所生成元數據存儲在數據庫中。
6.如權利要求I所述的方法,其中,所述圖像包括數字圖像、gif圖像、tiff圖像或jpeg圖像其中之一。
7.如權利要求I所述的方法,其中,所述圖像包括數字圖像。
8.如權利要求I所述的方法,其中,所述圖像包括用戶界面的屏幕截圖。
9.一種自動生成用于開發圖形用戶界面的元數據的計算機實現方法,包括 掃描用戶界面的圖像以檢測所述圖像上的候選區域,所述候選區域潛在地與用戶界面控件關聯; 對所述候選區域執行圖像識別,以便識別用戶界面控件;以及 基于所識別用戶界面控件來生成元數據。
10.如權利要求9所述的方法,其中,執行所述圖像識別還提取與所識別用戶界面控件關聯的性質。
11.如權利要求10所述的方法,其中,所提取性質的一個或多個包括靜態性質。
12.如權利要求11所述的方法,其中,所述靜態性質包括所識別用戶界面控件的位置、與所識別用戶界面控件關聯的字體、與所識別用戶界面控件關聯的背景顏色或者與所識別用戶界面控件關聯的尺寸中的至少一個。
13.如權利要求11所述的方法,其中,執行圖像識別包括識別潛在的用戶界面控件,并且將所述潛在的用戶界面控件與數據庫中存儲的用戶界面定義進行比較,以便識別與其關聯的所述用戶界面定義之一。
14.如權利要求13所述的方法,其中,基于所識別用戶界面控件來生成元數據包括基于與所識別用戶界面控件關聯的所述用戶界面定義之一來生成所述元數據。
15.一種包括供使用處理器來執行的可執行指令的有形計算機可讀存儲介質,其中,所述指令在被執行時提供生成元數據的系統,所述系統包括 檢測器,檢測用戶界面的圖像上的候選區域,所述候選區域潛在地與用戶界面控件關聯; 分析器,分析所述候選區域,以便識別其中包含的用戶界面控件;生成器,基于所識別用戶界面控件來生成元數據。
16.如權利要求15所述的有形計算機可讀存儲介質,其中,所述分析器將潛在的用戶界面控件與數據庫中存儲的用戶界面定義進行比較,以便識別與其關聯的所述用戶界面定義之一。
17.如權利要求15所述的有形計算機可讀存儲介質,其中,所述生成器還基于與所識別用戶界面控件關聯的所述用戶界面定義來生成元數據。
18.如權利要求15所述的有形計算機可讀存儲介質,其中,所述分析器還提取所檢測用戶界面控件的一個或多個性質。
19.如權利要求18所述的有形計算機可讀存儲介質,其中,所述生成器還基于所提取一個或多個性質來生成元數據。
20.如權利要求18所述的有形計算機可讀存儲介質,所述性質包括靜態性質,其中包括所識別用戶界面控件的位置、與所識別用戶界面控件關聯的字體、與所識別用戶界面控件關聯的背景顏色或者與所識別用戶界面控件關聯的尺寸中的至少一個。
全文摘要
描述元數據生成系統和方法。自動生成用于開發圖形用戶界面的元數據的示例計算機實現方法包括掃描用戶界面的圖像以檢測圖像上的候選區域,該候選區域潛在地與用戶界面部件關聯。該示例方法包括通過將潛在用戶界面部件與數據庫中存儲的用戶界面定義進行比較以識別與其關聯的用戶界面定義其中之一,來分析候選區域以識別其中包含的用戶界面部件。該示例方法包括提取所識別用戶界面部件的一個或多個性質,并且基于與所識別用戶界面部件和所提取性質關聯的用戶界面定義來生成元數據。
文檔編號G06F17/30GK102662942SQ201110460158
公開日2012年9月12日 申請日期2011年12月26日 優先權日2010年12月24日
發明者G·辛赫, N·法尼拉 申請人:通用電氣公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1