本申請是申請日為2013年1月3日、申請號為201380001436.6、標題為“用于查看圖像的應用”的中國發明專利申請的分案申請。
背景技術:
數字圖像編輯和查看應用為專業的及業余的攝影者提供了用于組織和編輯他們的照片的工具。這些應用為用戶提供了組織照片的合集以及以各種方式來修改照片的各種圖像屬性的能力。
在現代世界,觸摸屏裝置正在不斷地普及。市場上的許多平板電腦和智能電話都使用觸摸屏,并且許多人都擁有這樣的觸摸屏裝置。另外,許多用戶既用他們的便攜式觸摸屏裝置拍攝照片,也將來自其他來源(例如,數字相機)的照片裝載到他們的便攜式觸摸屏裝置之上。正因如此,就需要適于可用于觸摸屏裝置上的獨特控制、用來查看、組織和編輯照片的應用。
技術實現要素:
本發明的一些實施例提供了一種用于查看和處理圖像的新應用。在某些實施例中,該應用在多種不同模式下運行,不同的圖形用戶界面(gui)用于不同的模式。例如,在某些實施例中,應用按照左手和右手兩種模式運行于觸摸裝置上。除了用于不同模式的不同gui之外,某些實施例在不同的模式中按照不同方式(例如,不同取向)來給出具體的用戶界面工具。該應用提供了用于處理一個或多個圖像的各種特征。例如,某些實施例使用于查看多個不同圖像的不同方法成為可能,包括(i)用于選擇多個項目的新的觸摸交互以及(ii)用于從一組圖像中識別出相似的圖像的新方法。另外,該應用還提供用于處理多個選定圖像的的各種新型交互,例如,用于輪轉圖像以及標注圖像的交互。
如上所述,某些實施例的應用提供了多種不同的模式(例如,左手模式和右手模式)。某些實施例根據特定的gui項目在gui中的位置來切換模式。在切換模式時,某些實施例保持第一gui項目集合在gui中的關系(例如,順序),同時修改第二gui項目集合的關系。另外,當某些工具按不同的模式來激活時,某些實施例的應用按照不同的方式(例如,取向)來給出這些工具。
在某些實施例中,該應用提供了用于切換模式的用戶界面機制。例如,某些實施例的gui包括用于顯示一組圖像的縮略圖的縮略圖顯示區以及用于顯示所選圖像的較大的(并且在某些情況下,可編輯的)版本的圖像顯示區。在某些實施例中,縮略圖顯示區是可移動的,并且該應用基于縮略圖顯示區要移至的gui中的位置而在左手和右手模式之間切換(例如,當縮略圖顯示區在gui的右側時為左手模式,而當縮略圖顯示區在gui的左側時為右手模式)。
當應用在兩種模式之間切換時,某些實施例保持第一gui項目集合的順序,同時改變第二gui項目集合的順序。特別地,該應用保持與各種編輯工具關聯的gui項目集合的順序,以便保持典型地按其來使用編輯工具的順序。另一方面,該應用保持第二gui項目集合的順序,以便保持gui項目位于相對于縮略圖顯示區的相同位置。
另外,圖像查看、編輯和組織應用在不同的模式中按照不同的方式來提供某些gui工具。例如,取決于應用是處于左手模式還是處于右手模式,某些實施例按照不同的取向來顯示特定的工具。一個這樣的具體工具是用于放大圖像顯示區的特定區域的縮放工具。某些實施例的縮放工具是能夠改變放大程度的圓形放大器。要修改放大,用戶執行兩個單獨的觸摸輸入的旋轉手勢(例如,以拇指和食指)。當按右手模式來操作時,應用在放大器的左側顯示放大信息,并且當按左手模式來操作時則相反。這防止用戶的手妨礙查看縮放工具上的放大信息。而且,某些實施例切換旋轉方向,以便在這兩種不同模式之間進行放大或縮小。
如上所述,在某些實施例中,縮略圖顯示區在應用gui的兩個不同側之間是可移動的。另外,應用還使用戶能夠經由掃動(swipe)手勢(例如,在觸摸屏上的右掃和左掃手勢)將縮略圖顯示區移動到應用gui之上以及移離應用gui。而且,用戶能夠通過以在觸摸屏上的拖拽手勢移動在縮略圖顯示區與圖像顯示區之間的界線來修改縮略圖顯示的尺寸(以及縮略圖的列數)。
除了在不同模式下操作之外,圖像查看、編輯和組織應用提供用于查看及處理圖像的多種新操作和交互。例如,某些實施例使用于選擇多個圖像的幾種不同操作能夠顯示于圖像顯示區內。一個這樣的操作涉及對在縮略圖顯示區內的第一及第二縮略圖的同時選擇(例如,經由兩個不同的觸摸輸入),以便選擇第一及第二縮略圖以及它們之間的所有縮略圖。響應于這樣的區塊選擇,應用在圖像顯示區中顯示與所選擇的縮略圖對應的全部圖像。
某些實施例另外還區分不同類型的縮略圖選擇輸入。例如,當用戶按照第一方式來選擇特定的縮略圖(例如,在觸摸屏上的敲擊或者單擊)時,應用只選擇該特定縮略圖并且在顯示區內只顯示其相應的圖像。但是,當第一縮略圖已經被選擇并且用戶按照第二方式來選擇第二縮略圖(例如,以在觸摸屏上的長按或者點擊并按住)時,應用保持對第一縮略圖的選擇,同時選擇第二縮略圖。應用在圖像顯示區內顯示第一及第二圖像兩者(以及任何其他已選圖像)。以此方式,某些實施例允許用戶將任意數量的圖像添加到圖像顯示區。
此外,某些實施例的圖像查看、編輯和組織應用能夠根據特定的準則集合顯示與所選圖像類似的所有圖像。當用戶按照第三方式來選擇圖像(例如,經由在觸摸屏上的兩次敲擊、雙擊等)時,應用將在關聯圖像的合集中的所有圖像(例如,其縮略圖適合于在縮略圖顯示區內顯示的圖像)與所選圖像進行比較,并且根據特定的準則集合識別出哪些圖像與所選圖像相似度在閾值內。某些實施例生成圖像的像素的柱狀圖(例如,基于像素的顏色、紋理及梯度值)并且比較柱狀圖以識別相似的圖像。在某些實施例中,應用為圖像的不同區域生成不同的柱狀圖并且比較相應區域的柱狀圖。圖像按以下方式來劃分成區域:某些像素是多個區域的一部分,而其他像素是只是一個區域的一部分。這使應用在進行兩個圖像間的比較時能夠對更能表示圖像的內容的像素(例如,在中心的像素)予以更多的考慮。
當在圖像顯示區內顯示多個圖像時,某些實施例在不同的圖像之間保持恒定的視覺權重。也就是,不是要嘗試通過將圖像顯示為不同的尺寸來填充圖像顯示區內的全部空間,而是應用將每個圖像顯示為相同的尺寸,而不考慮圖像的尺寸。為了在不同的圖像之間保持視圖權重恒定,某些實施例計算要顯示于圖像顯示區內的所有圖像的平均縱橫比,然后識別出將圖像顯示區劃分成正確數量的具有平均縱橫比的區域的最佳劃分。在這些區域之內,應用然后顯示圖像,使得每個圖像使用相同數量的像素來顯示。
一旦多個縮略圖被選擇并且多個圖像被顯示于圖像顯示區內,某些實施例就提供用于查看圖像以及與其交互的各種新交互。例如,用戶能夠在所示圖像之一上執行選擇操作(例如,在觸摸屏上的敲擊、鼠標點擊)。某些實施例在圖像顯示區內只顯示所選圖像(即,主選擇圖像),但是保持對其他圖像的次選擇。為了指示這些選擇,應用以第一選擇指示符來高亮顯示次圖像選擇的縮略圖,同時以第二選擇指示符來高亮顯示主選擇圖像(所示圖像)的縮略圖(例如,使用粗的和細的高亮顯示邊界)。
當在這種查看模式中時,對于多個圖像,某些實施例允許用戶以水平掃動手勢來輪轉不同的選擇圖像。另外,用戶能夠以垂直掃動手勢來從所選圖像集合中去除圖像。當圖像被從集合中去除時,應用從相應的縮略圖中去除選擇指示符。當多個圖像被顯示于圖像顯示區內時,用戶能夠將標簽(例如,最喜愛標簽)施加于全部圖像,或者選擇圖像之一用于主顯示并且然后將標簽僅施加于主圖像選擇。
在查看圖像時,某些實施例的應用允許用戶與圖像寄存(hosting)網站及社會媒體網站進行雙向交互。例如,用戶能夠給圖像添加標題,該標題在圖像查看應用內被附于圖像,并且在圖像被導出到外部應用或網站時也附于圖像。而且,當外部網站的用戶對所寄存的圖像評論時,某些實施例自動地檢索該信息并且在圖像查看應用內顯示外部評論。
除了上述特征外,某些實施例的應用還提供了上下文相關的幫助特征。特別地,當幫助工具被調用時,應用顯示針對用戶當前正用以進行工作的項目進行了修改的幫助指示符。當用戶變更使用中的活動工具集合時,應用針對該活動工具集合來顯示幫助指示符。對于可移動工具(例如,滑動塊),某些實施例在工具被移動時連同工具一起來移動幫助指示符。
前述發明內容意圖用作對本發明的某些實施例的簡要介紹。它并非是要作為本文所公開的所有發明主題的介紹或概述。隨后的具體實施方式以及在具體實施方式中所參照的附圖將進一步描述發明內容部分所描述的實施例以及其他實施例。因此,要理解本文所描述的所有實施例,需要對發明內容、具體實施方式和附圖進行全面回顧。而且,所要求保護的主題并不限定于在發明內容、具體實施方式和附圖中的說明性細節,而是應當由所附的權利要求書來定義,因為所要求保護的主題能夠在不脫離本主題的精神的情況下以其他具體形式來實現。
附圖說明
本發明的新特征在所附的權利要求書中進行闡明。但是,出于解釋起見,本發明的幾種實施例在附圖中進行闡明。
圖1示出了用于某些實施例的圖像查看應用的gui的兩種不同模式。
圖2示出了對要同時顯示于gui的圖像顯示區內的多個圖像的選擇。
圖3示出了用于根據特定的準則集合顯示與所選圖像相似的所有圖像的處理。
圖4示出了標簽圖像在gui中的施加。
圖5示出了上下文相關的幫助特征在gui中的使用。
圖6示出了根據某些實施例的新圖像合集的創建。
圖7在概念上示出了用于創建新圖像合集(例如,相冊)的某些實施例的處理。
圖8在概念上示出了某些實施例的合集數據結構800。
圖9示出了在圖像組織、查看及編輯gui與合集組織gui的之間的導航。
圖10示出了在合集組織gui內的用于查看新創建的相冊的用戶導航。
圖11示出了根據某些實施例的通過合集組織gui的用戶導航。
圖12示出了根據某些實施例的垂直滾動技術。
圖13示出了在肖像模式下對于某些實施例的移動電話及媒體播放器的實現方式的經由四個階段的在圖像查看及編輯gui與合集組織gui之間的導航。
圖14示出了用于查看、編輯和組織圖像的某些實施例的gui的詳細視圖。
圖15在概念上示出了某些實施例的應用所存儲的圖像的數據結構。
圖16示出了在用戶用以將縮略圖顯示區從gui的左側移動到右側以便從右手模式切換為左手模式的四個階段上的gui。
圖17-19示出了在肖像和風景兩種模式中的某些實施例的左手和右手gui模式。
圖20在概念上示出了用于示出在某些實施例的圖像查看gui中的縮略圖顯示區的狀態及其改變的狀態圖。
圖21示出了用戶增大縮略圖顯示區的尺寸。
圖22示出了用戶減小縮略圖顯示區的尺寸。
圖23示出了用于在右手gui模式下從gui中去除縮略圖顯示區的掃動手勢。
圖24示出了用于在左手gui模式下從gui中去除縮略圖顯示區的相似掃動手勢。
圖25示出了關于gui項的選擇,其促使縮略圖顯示區滑出gui。
圖26示出了用于在右手gui模式下使縮略顯示區返回到gui的掃動手勢。
圖27示出了用于在左手gui模式下使縮略顯示區返回到gui的相似掃動手勢。
圖28示出了對用于促使縮略圖顯示區滑動到gui上的gui項目的選擇。
圖29示出了用戶對縮略圖顯示區進行滾動。
圖30示出了在用戶滾動縮略圖顯示區內的合集的縮略圖時的肖像模式的gui。
圖31示出了對肖像gui中的縮略圖顯示區的尺寸的修改。
圖32示出了縮略顯示區在其尺寸減小為一行時的水平滾動。
圖33示出了用戶滾動在某些實施例的移動電話及媒體播放器的縮略圖顯示區內的圖像。
圖34在概念上示出了用于調用縮放工具的某些實施例的處理。
圖35示出了通過某些實施例的右手gui來調用和取消選擇縮放工具的實例。
圖36示出了在gui處于左手模式時通過gui來調用縮放工具的實例。
圖37在概念上示出了呈現在某些實施例中的縮放工具的各種操作的狀態圖。
圖38示出了在右手gui中的縮放工具的放大操作。
圖39示出了在右手gui中的縮放工具的縮小操作。
圖40示出了縮放工具的移動操作。
圖41示出了在左手gui中的縮放工具的放大操作。
圖42示出了在左手gui中的縮放工具的縮小操作。
圖43在概念上示出了用于識別和顯示在合集中的相似圖像的某些實施例的處理。
圖44示出了其中用戶選擇特定的圖像并且應用識別在合集中的與所選圖像相似的一組圖像的圖像查看應用的gui。
圖45在概念上示出了圖像被劃分成9個不同圖塊(tile),該9個圖塊每個都是圖像尺寸的1/4。
圖46示出了由該特定的圖像劃分產生的16個像素象限,并且圖塊的像素包括來自每個象限的像素。
圖47在概念上示出了用于生成根據本發明的某些實施例的柱狀圖集合的處理4700。
圖48在概念上示出了hsv顏色空間4800。
圖49示出了已界定兩個區域的hsv顏色空間的圓形剖面(即,在恒定值處)。
圖50示出了被劃分成兩個區域的hsv顏色空間的三維部分。
圖51示出了由某些實施例用來計算中央像素的紋理的9個像素。
圖52在概念上示出了用于生成柱狀圖且針對相似性來比較圖像的某些實施例的圖像查看、編輯和組織應用的某些部分的軟件體系結構。
圖53在概念上示出了用于在圖像顯示區內選擇縮略圖區塊的某些實施例的處理。
圖54和55示出了選擇縮略圖區塊的實例。
圖56在概念上示出了用于將在未選定的縮略圖之上的用戶輸入轉譯成對縮略圖的選擇的某些實施例的處理。
圖57示出了在某些實施例的gui中的各種選擇輸入。
圖58示出了在某些實施例的移動電話及媒體播放器gui中的相似選擇操作的集合。
圖59在概念上示出了用于在圖像顯示區內同時顯示多個圖像的某些實施例的處理。
圖60示出了其中用戶進行對四個縮略圖的區塊選擇的gui。
圖61示出了四個選定圖像的平均縱橫比區域。
圖62示出了在4∶3圖像顯示區6005內的187∶144縱橫比區域的理想列數為2,具有兩個行。
圖63示出了適合于網格區域內的不同縱橫比的圖像。
圖64示出了圖像在適合于占用在圖像顯示區內的與其他圖像的特定區域相同的面積時的尺寸。
圖65示出了顯示于圖像顯示區內的四個圖像。
圖66在概念上示出了用于描述與圖像的選擇/取消選擇以及已選圖像的查看相關的某些實施例的gui的不同狀態以及在這些狀態之間的轉變的狀態圖。
圖67示出了從在gui中顯示多個已選圖像到顯示作為活動圖像的已選圖像之一的轉變。
圖68示出了在gui中的一系列右向掃動手勢,以便在所選圖像之間輪轉。
圖69示出了在gui中的一系列左向掃動手勢,以便在所選圖像之間輪轉。
圖70示出了在某些實施例的gui中的向下掃動手勢。
圖71示出了用戶在gui中在所選擇的縮略圖上敲擊的實例。
圖72在概念上示出了與在三個不同狀態中的標簽施加相關的某些實施例的gui的狀態圖。
圖73示出了對圖像進行的隱藏圖像標簽施加。
圖74示出了對圖像進行的標記圖像標簽施加。
圖75示出了對多個圖像進行的標記圖像標簽施加。
圖76示出了標簽過濾按鈕的使用。
圖77示出了對圖像進行的最喜愛標簽施加。
圖78示出了對多個圖像進行的最喜愛標簽施加。
圖79在概念上示出了在接收到對圖像施加的標簽時由某些實施例的應用執行的處理。
圖80示出了從相冊到最喜愛圖像的合集的用戶導航。
圖81-83示出了在gui中對一個或多個圖像的圖像信息的訪問。
圖84示出了用戶給圖像添加標題。
圖85示出了根據某些實施例的與gui間的用戶交互,以便經由社會媒體網站來共享圖像。
圖86在概念上示出了用于經由社會媒體或相片共享網站來共享圖像的某些實施例的處理。
圖87示出了用戶將圖像上傳到
圖88示出了用戶選擇兩個圖像來上傳到
圖89在概念上示出了用于檢索對在相片共享網站或社會媒體網站上的圖像發表的評論的某些實施例的處理。
圖90示出了用戶通過在某些實施例的gui中的信息窗口對共享的圖像發表評論。
圖91在概念上示出了用于呈現在某些實施例中的幫助特征的各種操作的狀態圖。
圖92示出了根據某些實施例的以明顯的方式來顯示幫助圖標的實例。
圖93示出了調用幫助工具的實例。
圖94示出了在用戶選擇gui中的新的工具集合時修改幫助工具層級的實例。
圖95示出了連同相應的工具一起自動地移動幫助指示符的應用的實例。
圖96示出了顯示與gui項目之一相關的詳細幫助文檔的一個實例。
圖97示出了在某些實施例中顯示不同的gui項目的幫助指示符的另一個實例。
圖98在概念上示出了某些實施例的圖像查看、編輯和組織應用的軟件體系結構。
圖99是某些實施例被實現于其上的移動計算裝置的體系結構的實例。
圖100在概念上示出了用以實現某些實施例的電子系統。
具體實施方式
在下面的描述中,眾多細節、實例和實施例出于解釋的目的而進行闡明。但是,本領域技術人員應當意識到,本發明并不限定于所闡明的實施例,并且本發明可以在沒有某些所討論的具體細節及實例的情況下實現。在其他情況下,眾所周知的結構和裝置以框圖形式來示出,以便使關于本發明的描述不會因不必要的細節而變得晦澀難懂。
本發明的某些實施例提供一種用于查看和處理圖像的新應用。在某些實施例中,應用在多種不同模式下操作,對于不同模式具有不同的圖形用戶界面(gui)。例如,在某些實施例中,應用在觸摸屏裝置上于左手和右手兩種模式下操作。除了對于不同模式為不同gui之外,某些實施例還在不同模式中按照不同的方式(例如,不同的取向)來呈現具體的用戶界面工具。應用提供了用于處理一個或多個圖像的各種特征。例如,某些實施例使用于查看多個不同圖像的各種方法成為可能,包括(i)用于選擇多個項目的新的觸摸交互,以及(ii)用于從一組圖像中識別出相似圖像的新方法。另外,應用還提供了用于處理多個選定圖像的各種新交互,例如,用于輪轉圖像和標注圖像的交互。
如上所述,某些實施例的圖像編輯、查看和組織應用(以下稱為圖像查看應用、圖像編輯應用等)提供了多種不同模式(例如,左手和右手模式)。某些實施例根據特定的gui項目在gui中的位置來切換模式。在切換模式時,某些實施例保持第一gui項目集合在gui中的關系(例如,順序),同時修改第二gui項目集合的關系。另外,某些實施例的應用在某些工具按照不同的模式來激活時按照不同的方式(例如,取向)來呈現這些工具。
圖1示出了用于某些實施例的圖像查看應用的這樣的gui100的兩種不同模式。特別地,該圖示出了在兩個階段110和120中的于右手模式下的gui100,同時示出在兩個階段130和140中的于左手模式下的gui100。
gui100包括縮略圖顯示區105、圖像顯示區115、第一gui項目集合125和第二gui項目集合135。縮略圖顯示區105顯示了圖像集合(例如,用戶創建的相冊或者其他關聯圖像的合集)的縮略圖。縮略圖是在合集中的圖像的縮小版本。在某些實施例中,縮略圖不一定顯示整個圖像,而是只顯示每個圖像的一部分使得每個縮略圖具有相同的縱橫比(例如,方形)。用戶能夠選擇縮略圖(例如,經由觸摸交互、鼠標點擊等)以便促使相應的圖像出現于圖像顯示區115內。
圖像顯示區115顯示一個或多個選定圖像的較大版本。在這種情況下,縮略圖107在縮略圖顯示區105內被選擇,并且因而在圖像顯示區115內顯示相應的圖像。如圖所示,某些實施例顯示對于在縮略圖顯示區內的每個任意選定的縮略圖的指示。在這種情況下,縮略圖107以粗虛線邊框來示出;但是,本領域技術人員應當意識到,許多不同的選擇指示都是可能的。
除了提供在圖像顯示區內的查看功能之外,某些實施例還給用戶提供各種編輯、標注以及對所示圖像施加的其他操作。第一gui項目集合125包括用于激活不同的編輯工具集合來編輯圖像的三個項目126-128。項目126-128按特定的從左到右的順序來排列,該順序遵循用戶通常希望用以對圖像進行編輯的順序。第二gui項目集合135包括按照設計用于基于在gui中與其他項目(例如,縮略圖顯示區105和圖像顯示區115)的相對位置提供功能的順序來布置的三個項目136-138。
如上所述,階段110示出了在右手模式中的gui100。在該模式中,縮略圖顯示區105在gui的左側。另外,gui項目126-128被布置于gui的左側,項目126在左側,項目127在中間,而項目128在右側。gui項目136-138被布置于gui的右側,項目136在左側,項目137在中間,而項目138在右側。
階段130示出了在左手模式中的gui。在這種情況下,縮略圖顯示區105位于gui的右側。這確保了當用戶在gui之上移動她的左手時,她的手臂不會阻擋對縮略圖顯示區的查看。同樣地,在右手模式下,在縮略圖顯示區105位于gui的左側的情況下,用戶的右臂不會阻擋對縮略圖顯示區105的查看。
在階段130中,第一gui項目集合125位于gui100的右側,于縮略圖顯示區105的下方,而第二gui項目集合125位于gui100的左側。但是,第一項目集合125保持相同的從左到右的順序,該順序匹配用戶典型地按其來使用關聯的編輯工具的順序,而與在右手模式中的第二項目集合135相比,該順序對于這些項目被反轉。
在某些實施例中,應用提供了用于在這兩種模式中切換的用戶界面機制。例如,在某些實施例中,縮略圖顯示區是可移動的,并且應用基于縮略圖被移動到的在gui中的位置而在左手和右手模式之間切換。為了從階段110到達階段130,用戶能夠拾取縮略圖顯示區105并將其從觸摸屏顯示的左側拖拽到觸摸屏顯示的右側。在這樣做時,應用自動地移動第一及第二工具集合125和135,并且反轉第二工具集合135的順序。
另外,圖像查看應用在不同模式中按照不同的方式來提供某些gui工具。例如,取決于應用是處于左手模式還是處于右手模式,某些實施例按照不同的取向來顯示具體的工具。圖1示出了在兩種不同模式中按照不同的取向來激活的這樣的gui工具145的一個實例。在這種情況下,gui工具145是用于放大圖像顯示區的特定區域的縮放工具。
如圖所示,在階段110中,用戶以其右手與圖像顯示區交互以便激活縮放工具145。雖然該圖示出了一個手指的交互,但是不同的實施例會響應于不同類型的輸入以便激活這樣的工具。例如,某些實施例需要在時間上至少部分一致的兩個單獨的觸摸交互,以便激活縮放工具。
階段120示出了在右手顯示模式下的這種交互的結果。應用顯示了在用戶的觸摸交互的位置上的縮放工具145。如圖所示,應用顯示了沿第一取向的工具145,+號(指示較大的放大)在右側,而-號(指示較小的放大)在左側。
相應地,在階段130中,用戶以其左手與圖像顯示區交互以便激活縮放工具145。階段140示出了在左手顯示模式下的這種交互的結果。如同在階段120中一樣,應用顯示了在用戶的觸摸交互的位置上的縮放工具145。在這種情況下,但是,應用顯示了沿第二取向的縮放工具145,+號在左側,而-號在右側。
在某些實施例中,縮放工具能夠改變放大程度。為了修改放大,用戶執行兩個單獨的觸摸輸入的旋轉手勢(例如,以拇指和食指)。在某些實施例中,當應用在右手模式下操作時,順時針旋轉增加放大,而逆時針旋轉減小放大。當處于左手模式時,情況正好相反,逆時針旋轉增加放大,而順時針旋轉減小放大。
而且,某些實施例顯示作為工具的一部分的放大信息(例如,在活動工具內的放大級別)。當處于右手模式時,該放大信息顯示于放大器的左側,然而在左手模式中,信息顯示于放大器的右側。這防止了用戶的手在放大或縮小時阻擋對縮放工具上的放大信息的查看。
如上所述,在某些實施例中,縮略圖顯示區可在應用的gui的不同兩側之間移動。另外,圖像編輯應用使用戶能夠經由掃動手勢(例如,在觸摸屏上的右向及左向掃動手勢)來將縮略圖顯示區移動到應用的gui上以及移離應用的gui。而且,用戶能夠通過以在觸摸屏上的拖拽手勢來移動在縮略圖顯示區與圖像顯示區之間的界線來修改縮略圖顯示區的尺寸(和縮略圖的列數)。
除了在不同模式下操作之外,圖像查看應用還提供了用于查看和處理圖像的多種新的操作和交互。例如,某些實施例使用于選擇多個圖像以在圖像顯示區內進行顯示的幾種不同操作成為可能。圖2示出了經由四個階段210-240對將同時顯示于gui200的圖像顯示區內的多個圖像的選擇。
gui200包括與以上針對gui100所描述的相應顯示區類似的縮略圖顯示區205和圖像顯示區215。在該圖(以及本申請的其他許多圖形)中,gui按右手模式來示出,縮略圖顯示區在左側。本領域技術人員應當意識到,所示的許多交互都可等同地應用于左手gui模式。
第一階段210示出:縮略圖225已經被選擇,并且相應的選定圖像227按較大的可能尺寸顯示于圖像顯示區內(同時保持圖像的縱橫比)。在第二階段220中,用戶經由觸摸交互選擇與第二圖像237對應的第二縮略圖235。本領域技術人員應當意識到,觸摸屏裝置提供用于區分各種類型的交互(例如,敲擊、雙敲擊、長按、單獨的同時交互,多手指交互等)的能力。
第三階段230示出:圖像顯示區215現在顯示所選的圖像227和237兩者。而且,應用顯示了具有比前一階段中更淺的虛線邊界的縮略圖225和235。某些實施例在縮略圖顯示區中使用不同的選擇指示(例如,粗邊和細邊或者高亮、不同顏色等)來區分當個選定圖像和多個選定圖像。
在圖像顯示區215中示出的兩個圖像227和237并不具有相同的縱橫比,而是被顯示為近似相同的尺寸。當在圖像顯示區中顯示多個圖像時,某些實施例在不同的圖像之間保持恒定的視覺加權。也就是,不是嘗試要通過將圖像顯示為不同的尺寸來填充圖像顯示區內的全部空間,而是應用將每個圖像顯示為相同的尺寸,而不考慮圖像的尺寸。為了在不同的圖像之間保持視覺加權恒定,某些實施例計算出將在圖像顯示區內顯示的所有圖像的平均縱橫比,然后識別出將圖像顯示區劃分成正確數量的具有平均縱橫比的區域的最佳劃分。在這些區域內,應用然后顯示圖像使得每個圖像都使用相同數量的像素來顯示。
第三階段230還示出了用戶經由另一觸摸交互來選擇與圖像247對應的第三縮略圖245。結果,在第四階段240中,圖像顯示區215顯示了三個選定圖像227、237和247。為了顯示第三圖像,應用尚不一定要減小其他兩個圖像的尺寸,因為這三個圖像的相同視覺加權能夠在沒有尺寸減小的情況下保持。
如上所述,某些實施例響應于各種不同的觸摸交互以便在圖像顯示區中顯示多個圖像。一種這樣的觸摸操作涉及在縮略圖顯示區中對第一及第二縮略圖的同時選擇(例如,經由兩個不同的觸摸輸入),以便選擇該第一及第二縮略圖以及它們之間的所有縮略圖。響應于這樣的區塊選擇,應用在圖像顯示區內顯示與所選縮略圖對應的全部圖像。
某些實施例另外還區分不同類型的縮略圖選擇輸入。例如,當用戶以第一方式(例如,在觸摸屏上的敲擊或者單擊)來選擇特定的縮略圖時,應用只選擇該特定的縮略圖并且在顯示區內只顯示其相應的圖像。但是,當第一縮略圖已經被選擇并且用戶以第二方式(例如,以在觸摸屏上的長按或者點擊并按住)來選擇第二縮略圖時,應用保持對第一縮略圖的選擇,同時選擇第二縮略圖。在圖像顯示區中應用顯示第一及第二圖像兩者(以及任何其他選定圖像)。以此方式,某些實施例允許用戶將任何數量的圖像添加到圖像顯示區。
而且,某些實施例的圖像查看應用能夠根據特定的準則集合顯示與選定的圖像相似的所有圖像。圖3示出了這樣的經由gui300的三個階段310-330的處理。gui300包括縮略圖顯示區305和圖像顯示區315,與前面附圖中的相應區域類似。
圖3的第一階段310示出:縮略圖335被選擇并且其相應的圖像340被顯示于圖像顯示區315內。在第二階段320中,用戶執行了在所選擇的縮略圖335上的觸摸操作。本領域技術人員應當意識到,這是通用的用戶輸入,并且其他實施例可以提供對相似圖像特征的不同激活(例如,對縮略圖的雙敲擊或雙擊(不管是否已經選擇)、熱鍵或熱鍵序列、觸摸手勢或手勢序列、菜單項目或ui按鈕等)。第三階段330示出:應用已經識別出與所選圖像340相似的圖像并且將所識別的圖像345和350顯示于圖像顯示區315內。而且,相應的縮略圖335、355和360全都在縮略圖顯示區305內被選定,如虛線所示。
為了識別這些相似圖像,某些實施例將在關聯圖像的合集中的所有圖像(例如,其縮略圖適合于顯示于縮略圖顯示區內的圖像)與所選圖像進行比較,并且根據特定的準則集合來識別出哪些圖像與所選圖像間的相似度在閾值內。某些實施例生成圖像的像素的柱狀圖(例如,基于像素的顏色、紋理和梯度值)并且比較這些柱狀圖以識別出相似的圖像。在某些實施例中,應用生成圖像的不同區域的不同柱狀圖并且在圖像之間比較相應區域的柱狀圖。圖像按以下方式來劃分成區域:一些像素是多個區域的一部分,而其他像素只是一個區域的一部分。這使應用能夠在進行兩個圖像間的比較時對更能指示圖像的內容的像素(例如,在圖像中心的像素)給予更多的考慮。
一旦多個縮略圖被選擇并且多個圖像顯示于圖像顯示區內,某些實施例就提供用于查看圖像以及與其交互的各種新交互。例如,用戶能夠執行在所顯示的圖像之一(而不是其相應的縮略圖)上的選擇操作(例如,在觸摸屏上的敲擊、鼠標點擊)。某些實施例在圖像顯示區內只顯示所選圖像(即,主選擇圖像),但是保持對其他圖像的次選擇。為了指示這些選擇,應用以第一選擇指示符來高亮顯示次圖像選擇的縮略圖,同時以第二選擇指示符來高亮顯示主選擇圖像(所顯示的圖像)的縮略圖(例如,使用粗的和細的高亮邊)。
當在用于多個圖像的這種查看模式中時,某些實施例允許用戶以水平掃動手勢來輪轉不同的選定圖像。另外,用戶能夠以垂直掃動手勢將圖像從所選圖像集合中去除。當圖像被從集合中去除時,應用從相應的縮略圖中去除選擇指示符。當多個圖像被顯示于圖像顯示區內時,用戶能夠將標簽(例如,最喜愛標簽)施加于所有圖像,或者選擇一個圖像用于主顯示并且然后僅對主圖像選擇施加標簽。
圖4示出了經由三個階段410-430在gui300中對圖像340-350進行的這樣的標簽施加。第一階段410示出了狀態與圖3的第三階段330相同的gui300,圖像340-350顯示于圖像顯示區315內。在第二階段420,用戶選擇gui項目405以便對所選圖像施加標簽。gui項目405是概念上的項目,并且圖像編輯應用的某些實施例可以通過不同的ui項目、特定類型的選擇手勢、熱鍵等來實現這樣的功能。而且,項目405表示通用標簽,而某些實施例可以包括各種不同的標簽,例如,最喜愛標簽、標記、自定義信息標簽等。
第三階段示出了對gui項目405的選擇的結果。三個縮略圖335、355和360現在顯示用于指示它們已經被標注的標記(marker)。在某些實施例中,應用顯示了在縮略圖內的某些標簽的圖標,同時將其他標簽簡單地存儲為所標注圖像的性質。另外,gui項目405現在被高亮顯示,指示所有選定圖像都已經被標注。某些實施例通過高亮顯示在gui內的標簽按鈕來指示在顯示區內顯示的所有圖像都以特定的標簽進行了標注。對標簽按鈕的后續選擇將標簽從所選圖像中去除。
在查看圖像時,某些實施例的應用還允許用戶與圖像寄存網站及社會媒體網站進行雙向交互。例如,用戶能夠對圖像添加標題,該標題既在圖像查看應用中被附于圖像,并且在圖像被導出到外部應用或網站時也被附于圖像。而且,當外部網站的用戶對所寄存的圖像進行評論時,某些實施例自動地檢索該信息并且在圖像查看應用內顯示外部評論。
除了上述特征之外,某些實施例的應用還提供了上下文相關的幫助特征。特別地,當用戶調用幫助工具時,應用顯示針對用戶當前正處理的項目進行了修改的幫助指示符。圖5示出了經由四個階段510-540的這樣的上下文相關的幫助特征在gui100中的使用。gui包括用于調用上下文相關的幫助特征的幫助激活項目137。第一階段示出了一個選定圖像被顯示于圖像顯示區115內的gui100。
在第二階段520中,用戶經由觸摸交互來選擇幫助激活項目137。如同以上所述的其他gui項目那樣,幫助激活項目137是實際上能夠以多種不同方式(包括各種觸摸交互、光標交互等)來調用的概念上的項目。
第三階段530示出:幫助激活項目137現在是活動的,并且幫助指示符505已經為gui項目126-128呈現。這些幫助指示符505顯示不同gui項目的用途,并且在某些實施例中是可選的,以便訪問具有有關所選項目的更多信息的幫助手冊。第三階段還示出了用戶對曝光項目127的選擇。
當用戶在使用中變更活動工具集合時,應用為該活動工具集合顯示幫助指示符。結果,第四階段540示出了不同的幫助指示符集合515。這些幫助指示符515顯示已經呈現于gui100內的不同的曝光調整項目的用途。用于裁切、曝光及顏色項目的幫助指示符505不再顯示,因為用戶已經導航到這些編輯工具集合的具體一個編輯工具之內。另外,對于可移動的工具(例如,曝光調整滑動塊),某些實施例在用于移動工具時連同工具一起來移動幫助指示符。
圖1-5示出了由用于查看和處理圖像的某些實施例提供的新特征的各種實例。幾種更詳細的實施例將在下文進行描述。部分i描述圖像合集以及在應用中于不同的合集分組之間導航。在部分iii描述不同的gui模式以及在不同模式下與gui間的各種交互之前,部分ii描述某些實施例的gui和圖像數據結構。部分iv然后描述用于選擇多個圖像的不同技術以及某些實施例的應用如何同時顯示多個圖像。部分v描述可以應用于某些實施例中的一種或多種操作的各種操作,包括選擇和取消選擇操作以及標注操作。然后,部分vi描述圖像共享特征,而部分vii描述某些實施例的上下文相關的幫助特征。部分viii然后描述某些實施例的媒體編輯應用的軟件體系結構。最后,部分ix描述用以實現本發明的某些實施例的電子系統。
i.圖像合集
在描述涉及處理圖像合集的各種特征之前,本申請將描述根據本發明的某些實施例的對此類合集的創建和組織。某些實施例的圖像編輯、查看和組織應用使用戶能導入圖像(例如,照片),將圖像關聯到合集(例如,相冊等)內,根據圖像來創建可共享的媒體(例如,日志),編輯圖像等。某些實施例自動地關聯共同從單獨裝置(即,與應用運行于其上的裝置不同的裝置)中導入的圖像,作為一個事件。另一方面,相冊是用戶創建的圖像合集。雖然由應用組織的媒體在本文中主要被描述為圖像,但是本發明的某些實施例還組織、查看并編輯其他類型的媒體,例如,視頻。
圖6示出了根據某些實施例的經由四個階段610-640的新圖像合集的創建。特別地,這些階段示出了用戶選擇特定的事件合集,選擇在事件中的幾個圖像,并且然后由所選圖像形成相冊。出于解釋起見,在該圖以及本文中的其他許多圖形中,用戶交互被示于第一階段,并且在gui中引起的改變被示于后續階段。但是,本領域技術人員應當意識到,在大多數情況下,在接收用戶交互與顯示改變之間的延遲將幾乎是即時的。
第一階段610示出了用于顯示在裝置上可獲得的圖像的合集的合集組織gui600。gui600包括允許用戶在不同類型的合集之間切換的選項卡集合605。選項卡605允許用戶選擇相冊(用戶創建的圖像合集)、照片(集合來自其他各個合集的全部圖像的一個合集)、事件(被共同導入圖像查看應用運行于其上的裝置的圖像合集),以及日志(呈現并共享圖像合集的具體方式)。在某些實施例中,用戶能夠選擇不同的選項卡605以在不同類型的合集之間切換。本領域技術人員應當意識到,某些實施例包括不同的選項卡(例如,具體視頻選項卡、用于其他類型的可共享合集的選項卡等)。
gui600還包括用于顯示表示用戶可獲得的各種合集的圖標的擱架(shelf)615。在某些實施例中,擱架615被顯示以給出玻璃擱架的三維外觀,具有反射和陰影。表示相冊、照片、事件和日志的圖標具有位于玻璃擱架上并投射在gui中可看見的陰影的外觀。在階段610,gui包括用戶選擇(在本例中為通過觸摸操作)的表示稱為“事件2”的圖像合集的圖標625。
第二階段620示出了由用戶選擇圖標625產生的gui650,以及在作為結果的gui650內的附加選擇的結果。當特定的合集被選擇時,應用顯示了用于特定合集的gui。gui650包括縮略圖顯示區655、圖像顯示區660、以及將在下文參照圖14進一步描述的各種其他gui項目。gui650還在其頂部顯示了正在顯示的合集的名稱(在本例中為“事件2”)。
在該階段中,用戶在縮略圖顯示區655中選擇了三個縮略圖,并且應用在圖像顯示區660內顯示了三個相應的圖像。有關選擇多個圖像的不同方式的細節將在后面的部分iv內詳細描述。
在第三階段630中,用戶選擇設置gui項目665(例如,經由觸摸交互、光標控制器等)。在某些實施例中,設置項目激活基于用戶在應用中的之前動作的背景的菜單。例如,當用戶激活特定的編輯工具集合時,設置菜單可以包括與所激活的編輯工具相關的選項。
但是,在這種情況下,用戶處于查看模式,并且設置菜單包括“創建新相冊”的選項。第四階段640示出:用戶選擇該菜單選項來創建新相冊。在某些實施例中,選擇該選項促使應用從所選圖像來創建新相冊。某些實施例包括與設置菜單中的相冊相關的其他選項,例如,將選定圖像添加到之前創建的相冊中。另外,某些實施例提供了用于創建新相冊的不同機制。例如,在某些實施例中,用戶能夠通過合集組織gui600來創建新相冊,然后通過訪問不同的合集將新圖像添加到相冊中。
而且,在創建新相冊時,某些實施例顯示用戶能夠用以設置新相冊的參數的新的窗口或對話框。例如,用戶能夠輸入相冊名稱,并且在某些情況下,確定是否包括所有選定圖像、在當前合集中的所有圖像,或者選擇來自另一合集的圖像,以及其他選項。
但是,某些實施例不提供用于創建新相冊的選項。相冊能夠從運行于同一裝置上的其他應用(例如,單獨的圖像組織應用)中導入圖像查看應用中。作為代替,用戶可以根據對若干圖像的選擇來創建的合集的唯一形式是日志。另外,通過對圖像加標記或者將圖像設置為最喜愛的,用戶促使圖像被添加到那些標簽專用的相冊中。
圖7在概念上示出了用于創建新的圖像合集(例如,相冊)的某些實施例的處理700。如圖所示,處理700首先開始接收(在705)用于創建新的圖像合集的命令。在某些實施例中,該命令是用戶命令,例如,圖6所示的“創建新相冊”菜單選項,但是本領域技術人員應當意識到,命令能夠通過各種不同的用戶輸入裝置以及通過各種不同的gui結構來接收。而且,如上所述,在某些實施例中,用戶能夠通過請求來創建的唯一類型的合集是日志。
處理700然后識別(在710)當前選擇的圖像。在某些實施例中,用戶能夠選擇在特定合集中的圖像子集,并且然后指示應用來根據所選圖像創建新的合集。
處理然后將(在715)所識別的圖像關聯為新的合集。在圖6中,三個圖像被示為當前選擇的,并且因而這三個圖像將被關聯為新的合集。在某些實施例中,應用為新生成的合集創建新的合集數據結構,并且存儲對合集中的每個圖像的引用(例如,指針、數據庫引用id等)。
圖8在概念上示出了某些實施例的合集數據結構800。當用戶生成新相冊或者為新的事件導入新圖像時,應用自動地為相冊或事件創建新的合集數據結構。合集數據結構800包括合集id、合集類型、合集名稱、關鍵圖像以及對圖像集合的引用。合集id是合集的唯一標識符,該標識符在引用合集時由應用使用。合集類型是合集的類型(例如,相冊、事件、日志等)。在某些實施例中,應用包括“照片”合集,該合集引用被導入應用的每個圖像,而不管哪些其他合集還包括該圖像。合集名稱是合集的用戶指定的名稱,該名稱在合集被選擇時顯示于圖像查看和編輯gui的頂部,并且該名稱用于在合集組織gui中的合集的圖標。
關鍵圖像是由用戶設置的用于表示合集的圖像。在某些實施例中,應用在合集組織gui中將關鍵圖像顯示為在玻璃擱架上的合集的可選圖標。另外,合集數據結構800包括對合集中的每個圖像的一系列有序引用。在某些實施例中,圖像的順序確定縮略圖在縮略圖顯示區內顯示的順序。如同將在下文描述的,某些實施例存儲被導入應用中的每個圖像的數據結構,并且合集引用這些數據結構。這些引用可以是指針、對數據庫條目的引用等。
圖9示出了經由四個階段910-940的在圖像組織、查看及編輯gui650(在下文的某些地方稱為圖像查看gui、圖像編輯gui等)與合集組織gui600之間的導航。如圖所示,在第一階段910中,用戶選擇返回按鈕905。在某些實施例中,該按鈕促使應用返回到合集組織gui600。在某些實施例中,應用通過使圖像查看gui650最小化使得它縮小為已經顯示的合集的合集圖標來動畫顯示該轉變。階段920-940示出了該動畫。
在第二階段920中,圖像查看gui650已經開始收縮,使得合集組織gui600的邊緣是可見的。如圖所示,應用并不一定使圖像查看gui650朝中心最小化,而是朝著表示在gui中顯示的合集的圖標的位置最小化。第三階段930示出了在圖像查看gui剛好大于合集圖標625時的應用顯示。最后,在第四階段940,圖像查看gui已經完全最小化并且只顯示合集顯示區。雖然該圖示出了整個gui650(即,縮略圖顯示區、工具欄和圖像顯示區)的最小化,但是某些實施例在用戶點擊返回按鈕時就從顯示中去除縮略圖顯示區和工具欄,使得只有圖像顯示區被示為最小化的。
圖10示出了在合集組織gui600內的經由四個階段1010-1040來查看新創建的相冊的用戶導航。在合集組織gui600內,用戶能夠使用選項卡605來在相冊、照片、事件和日志之間選擇。如下所述,用戶還能夠使用掃動手勢在不同的選項卡之間導航。第一階段1010示出了在事件選項卡1015為活動時對相冊選項卡1005的選擇。如圖所示,某些實施例在選擇期間(例如,在手指正按住選項卡時,在光標處于選項卡上的情況下向下按住鼠標按鈕時等)高亮顯示選定的選項卡。
第二階段1020示出:相冊選項卡1005現在是活動的。在某些實施例中,應用以動畫顯示在不同選項卡之間的轉變(即,示出事件從gui中滑出,同時具有相冊的新擱架滑入顯示區)。相冊的擱架只包括表示“相冊1”的圖標1025。在該階段,用戶選擇圖標1025以便訪問該相冊。在某些實施例中,這促使到圖像查看gui650的轉變。
如階段1030所示,某些實施例的應用以與圖9所示的最小化動畫相反的動畫來顯示該轉變。因而,在階段1030,圖像查看gui650已經開始擴大到所選圖標1025之外。第四階段1040示出了該選擇的結果,應用顯示圖像查看gui650。gui在頂部指示當前活動的合集是“相冊1”。在縮略圖顯示區中,僅有的縮略圖是在圖6中對于“相冊1”被示為選定的三個圖像的縮略圖。某些實施例最初在圖像顯示區內并不顯示任何圖像,而是等待用戶選擇一個或多個圖像。但是,其他實施例最初會選擇在合集的有序序列中的第一圖像或合集的關鍵圖像。而其他實施例會為每個合集存儲用于指示哪個或哪些圖像是合集最近一次在裝置上打開時選擇的持久性數據,并且使用這持久性的數據來在合集被選擇時顯示合集。
圖11示出了根據某些實施例的經由四個階段1110-1140的通過合集組織gui600的用戶導航。如同第一階段1110所示,應用存儲關于至少9個相冊的信息,包括最喜愛相冊、相機膠卷相冊(camerarollalbum)、帶標記照片相冊及其他相冊。在某些實施例中,用戶能夠將圖像標注為最喜愛的或帶標記的,這會自動地將圖像放置到相應的相冊中。另外,某些實施例自動地將以應用運行于其上的裝置捕獲的任何圖像添加到相機膠卷相冊中。
在某些實施例中,掃動手勢促使應用在選項卡之間導航。圖11示出了這樣的手勢。如圖所示,在第一階段1110中,用戶以兩個手指接觸觸摸屏。在下一階段1120中,用戶向左移動兩個手指,同時保持與觸摸屏接觸。如圖所示,在第二擱架集合1115從gui的右側靠近時,擱架1105開始向左移動。在第三階段1130中,用戶在滑動她的手指達至少閾值距離以被認定為掃動手勢之后已經釋放了與觸摸屏接觸的點。另外,新的擱架集合1115繼續向左移動,替換擱架1105,如箭頭所示。
第四階段1140示出:擱架1115已經完全移入gui600之內。而且,照片選項卡1125現在被高亮顯示于顯示器中。使用這些掃動手勢,用戶能夠容易地在不同選項卡之間的導航,不需要特別地選擇選項卡。當用戶導航到照片選項卡時,某些實施例顯示與其他選項卡類似的擱架集合,但是顯示個體圖像縮略圖而不是合集。這些擱架包括被導入圖像查看應用內的每個圖像的縮略圖,這使用戶能夠直接導航到具體的圖像(例如,用于編輯圖像,共享圖像等)。
雖然擱架1105在圖11的第一階段1110中被完全填充,但是應用的特定實例可以存儲超過能夠同時于裝置上顯示的最大數量的合集。正因如此,某些實施例的應用使用戶能夠垂直滾動擱架。圖12示出了經由gui600的兩個階段1210和1220的根據某些實施例的這樣的滾動技術。
在階段1210中,用戶以兩個手指接觸觸摸屏。在下一階段1220中,用戶向上移動兩個手指,同時保持與觸摸屏接觸。這促使擱架向上滑動通過gui600。結果,另外的擱架出現于gui600的底部并且頂部的擱架消失。由于這是平滑滾動技術,因而在某些實施例中擱架不是非連續地移動,而是可以部分地滾動到顯示的頂部和底部之上或之外,這取決于用戶的掃動手勢的距離。
某些實施例的圖像查看應用允許用戶創建數量基本上不受限的相冊,只要在裝置上有可利用的存儲容量即可。類似地,用戶能夠具有數量不限的事件、照片或日志。本領域技術人員應當意識到,其他手勢和輸入可以被用來在擱架集合之間導航。例如,某些實施例包括垂直堆疊的數量不限的擱架,使得向上掃動連續地滾動通過擱架。另外,作為對掃動輸入的替換或者與其結合,某些實施例還響應于在屏幕的左側和右側的敲擊或點擊輸入。
某些實施例的圖像查看、編輯及組織應用運行于移動裝置上。某些實施例運行于平板裝置(例如,
圖13示出了在肖像模式下的用于某些實施例的移動電話和媒體播放器實現方式的經由四個階段1310-1340在圖像查看和編輯gui1350與合集組織gui1300之間的導航。第一階段1310示出了圖像查看和編輯gui1350,該圖像查看和編輯gui1350包括許多與圖像查看和編輯gui650相同的特征。該gui將在下文更詳細地描述。在該階段中,用戶選擇返回按鈕1305,以便導航回到合集組織gui。
第二階段1320示出了某些實施例的合集組織gui1300。與gui600一樣,該gui顯示具有用于表示不同合集的圖標的擱架(例如,玻璃擱架)集合。但是,盡管gui600包括不同類型的合集的選項卡集合,而gui700包括在顯示的底部的可選圖標集合1315。這些圖標包括對相冊(當前選定)、照片、事件及日志的選擇。另外,顯示包括設置菜單。
在該階段1320,用戶選擇事件圖標1325。第三階段1325示出:事件圖標1325是現在選定的,而用于不同合集(兩個事件)的圖標被顯示于擱架上。用戶選擇這些事件之一,并且第四階段1340示出了用于作為結果的選定合集的圖像查看gui1350。
ii.圖像查看
上述圖形示出了某些實施例的圖像查看gui的各種實例。圖14示出了用于查看、編輯及組織圖像的某些實施例的gui1400的詳細視圖。gui1400將部分參照圖15來描述,該圖15在概念上示出了用于由某些實施例的應用存儲的圖像的數據結構1500。
數據結構1500包括圖像id1505、圖像數據1510、編輯指令1515、可交換圖像文件格式(exif)數據1525、標題1530、共享的圖像數據1535、圖像的高速緩存版本1540、在圖像上的任何標簽1545以及用于圖像的任何附加數據1550。圖像id1505是圖像的唯一標識符,該標識符在某些實施例中由合集數據結構用于引用存儲于合集內的圖像。
圖像數據1510是用于顯示圖像的實際完全尺寸像素數據(例如,用于圖像中的每個像素的一系列顏色空間通道值或其編碼版本)。在某些實施例中,該數據可以存儲于圖像查看、編輯及組織應用的數據庫內,或者可以與其他應用的數據一起存儲于同一裝置上。因而,數據結構可以存儲與應用關聯的本地文件的指針或者能夠用來查詢其他應用的數據庫的id。在某些實施例中,一旦應用使用日志中的圖像或者對圖像進行編輯,應用就自動地產生含有圖像數據的圖像文件的本地副本。
編輯指令1515包括有關用戶已對圖像施加的任何編輯的信息。以此方式,應用以非破壞性的格式來存儲圖像,使得應用在任何時候都能夠容易地從圖像的編輯版本還原為原始版本。例如,用戶能夠對圖像施加飽和效果,離開應用,并且然后在其他時間重新打開應用并去除該效果。存儲于這些指令內的編輯可以是裁切和旋轉、完全圖像曝光和顏色調整、局部調整,及特殊效果,以及影響圖像的像素的其他編輯。某些實施例以特定的順序來存儲這些編輯指令,使得用戶能夠查看僅施加了某些編輯集合的不同版本的圖像。
exif數據1525在該信息可用時包括由用于捕獲圖像的相機存儲的各種信息。雖然exif是通常由數碼相機使用的一種特定的文件格式,但是本領域技術人員應當意識到,可比較的信息同樣可以按其他格式來獲得,或者甚至可以由用戶直接輸入。exif數據1525包括相機設置數據、gps數據和時間戳。相機設置數據包括圖像的有關相機設置的信息,只要該信息可從捕獲圖像的相機中獲得。例如,該信息可以包括光圈、焦距、快門速度、曝光補償和iso。gps數據1525指示圖像被捕獲的位置,而時間戳指示圖像被捕獲的時間(根據相機的時鐘)。
標題1530是用戶輸入的關于圖像的描述。在某些實施例中,該信息與圖像一起被顯示于圖像顯示區內,但是也可以被用來顯示在所創建的日志中的圖像上,并且如果圖像被發表于社會媒體或相片共享網站時也可以使用。當用戶將圖像發表于這樣的網站時,應用為圖像生成共享圖像數據1535。該信息存儲位置(例如,
高速緩存的圖像版本1540存儲通常被訪問并顯示的圖像的版本,使得應用無需重復地根據完全尺寸圖像數據1510來生成這些圖像。例如,應用通常會存儲圖像的縮略圖以及顯示分辨率版本(例如,針對圖像顯示區進行修改的版本)。某些實施例的應用每當應用編輯時就生成圖像的新縮略圖,替換之前的縮略圖。某些實施例存儲多個顯示分辨率版本,包括原始圖像以及圖像的一個或多個編輯版本。
標簽1545是應用使用戶能夠與圖像進行關聯的信息。例如,在某些實施例中,用戶能夠將圖像標記為最喜愛的,給圖像加標記(例如,用于進一步回顧),以及隱藏圖像,使得當用戶輪轉包括圖像的合集時,圖像將不會顯示于合集的標準的縮略圖網格內并且將不會顯示于圖像顯示區內。其他實施例可以包括附加標簽。最后,圖像數據結構1500包括應用可以與圖像一起存儲的附加數據1550(例如,位置和面部尺寸等)。
本領域技術人員應當意識到,圖像數據結構1500只是應用可以用來存儲圖像的必要信息的一種可能的數據結構。例如,不同的實施例可以存儲更多或更少的信息,按不同的順序來存儲信息,等等。
返回到圖14,gui1400包括縮略圖顯示區1405、圖像顯示區1410、第一工具欄1415、第二工具欄1420和第三工具欄1425。縮略圖顯示區1405顯示在選定合集中的圖像的縮略圖。縮略圖是完全尺寸圖像的小圖示,并且在某些實施例中只表示圖像的一部分。例如,在縮略圖顯示區1405中的縮略圖全都是方形的,而不考慮完全尺寸圖像的縱橫比。為了確定矩形圖像中的用于縮略圖的那部分,應用識別圖像的較小尺寸并且使用在較長方向上的圖像的中心部分。例如,對于1600x1200像素的圖像,應用將使用1200x1200的方形。為了進一步改進縮略圖的選定部分,某些實施例識別圖像中的所有面部的中心(使用面部檢測算法),然后使用該位置作為縮略圖部分在裁剪方向上的中心。因而,如果在理論的1600x1200圖像中的面部全部位于圖像的左側,則應用將使用最左端的1200列像素而不是在每一側切掉200列。
在確定了圖像中的用于縮略圖的部分之后,圖像查看應用生成圖像的低分辨率版本(例如,使用像素混合和其他技術)。某些實施例的應用將圖像的縮略圖存儲為圖像的高速緩存版本1540。因而,當用戶選擇合集時,應用識別在合集中所有圖像(通過合集數據結構),并且訪問在每個圖像數據結構中的所高速緩存的縮略圖以便顯示于縮略圖顯示區內。
用戶可以選擇在縮略圖顯示區內的一個或多個圖像(例如,通過下面的部分iv所描述的各種觸摸交互)。所選擇的縮略圖以高亮顯示或選擇的其他指示符來顯示。在縮略圖顯示區1405中,縮略圖1430被選擇。另外,如圖所示,某些實施例的縮略圖顯示區1405指示在合集中的已經被加上標記的(即,具有標記設置為“是”的標簽1545的)多個圖像。在某些實施例中,該文本是可選的以便只顯示帶標記的圖像的縮略圖。
應用在圖像顯示區1410內以比相應的縮略圖大的分辨率來顯示所選圖像。圖像通常不按圖像的完全尺寸來顯示,因為圖像通常具有比顯示裝置高的分辨率。正因如此,某些實施例的應用存儲為適合于圖像顯示區而設計的圖像的高速緩存版本1540。在圖像顯示區1410內的圖像按照完全尺寸圖像的縱橫比來顯示。當一個圖像被選擇時,應用在圖像顯示區內盡可能大地顯示該圖像,不剪掉圖像的任何部分。當多個圖像被選擇時,應用通過使用對于每個圖像數量都近似相同的像素按照用于保持其視覺加權的方式來顯示圖像,即使在圖像具有不同的縱橫比時也是如此。
第一工具欄1415顯示題目信息(例如,在gui中示出的合集的名稱、用戶已經對當前選定的圖像添加的標題等)。另外,工具欄1415包括第一gui項目集合1435-1438和第二gui項目集合1440-1443。
第一gui項目集合包括返回按鈕1435、網格按鈕1436、幫助按鈕1437和撤銷按鈕1438。返回按鈕1435使用戶能夠導航回到合集組織gui,如同以上的圖9所示。對網格按鈕1436的選擇促使應用將縮略圖顯示區移到gui之上或之外(例如,經由滑動動畫)。在某些實施例中,用戶還能夠經由掃動手勢使縮略圖顯示區滑動到gui之上或之外。幫助按鈕1437激活用于為用戶識別出當前活動的工具集合的上下文相關的幫助特征并且給用戶提供對于那些工具的用于簡要描述工具的幫助指示符。在某些實施例中,幫助指示符是可選的,用于訪問關于工具的附加信息。對撤銷按鈕1438的選擇促使應用去除對圖像的最近編輯,不管該編輯是裁切還是顏色調整等。為了執行該撤銷,某些實施例從與圖像一起存儲的編輯指令集1515中去除最近的指令。
第二gui項目集合包括共享按鈕1440、信息按鈕1441、顯示原圖按鈕1442和編輯按鈕1443。共享按鈕1440使用戶能夠以各種不同的方式來共享圖像。在某些實施例中,用戶能夠將所選圖像發送給在同一網絡(例如,wi-fi或藍牙網絡)上的其他兼容裝置,將圖像上傳到圖像寄存或社會媒體網站,以及根據所選圖像集合來創建日志(即,附加內容能夠添加于其上的排列圖像的表示),等等。
信息按鈕1441激活用于顯示關于一個或多個選定圖像的附加信息的顯示區。顯示于所激活的顯示區內的信息可以包括為圖像存儲的某些或全部exif數據1525(例如,相機設置、時間戳等)。當多個圖像被選擇時,某些實施例只顯示所有選定圖像共有的exif數據。某些實施例包括在信息顯示區內的附加選項卡,用于:(i)顯示用于根據gps數據(只要該信息可獲得)來示出該一個或多個圖像于何處捕獲的地圖以及(ii)顯示對于在任何照片共享網站上的圖像的評論流。為了從網站上下載該信息,應用使用為具有共享圖像數據1535的圖像而存儲的對象id并且將該信息發送到網站。評論流以及在某些情況下的附加信息被從網站接收并且被顯示給用戶。
顯示原圖按鈕1442使用戶能夠在圖像的原始版本與圖像的當前編輯版本之間切換。當用戶選擇該按鈕時,應用顯示圖像的原始版本,其中沒有施加任何編輯指令1515。在某些實施例中,適當尺寸的圖像被存儲為圖像的高速緩存版本1540之一,使得它可以被快速訪問。當用戶再次選擇按鈕1442時,應用顯示圖像的編輯版本,其中施加了編輯指令1515。
編輯按鈕1443允許用戶進入或退出編輯模式。當用戶選擇在工具欄1420中的編輯工具集合中的一個時,編輯按鈕1443使用戶返回查看和組織模式,如圖14所示。當用戶在查看模式下選擇編輯按鈕1443時,應用按照工具欄1420所示的順序返回到最后使用的編輯工具集合。也就是,在工具欄1420中的項目按照特定的順序來排列,并且編輯按鈕1443激活已經用以對所選圖像進行編輯的那些項目中的最右端的項目。
如上所述,工具欄1420包括按照從左到右的特定順序排列的5個項目1445-1449。裁切項目1445激活用于允許用戶對齊扭曲的圖像并去除圖像的多余部分的裁切和旋轉工具。曝光項目1446激活用于允許用戶修改圖像的黑點、陰影、對比度、亮度、高亮和白點的曝光工具集合。在某些實施例中,曝光工具集合是用于按照不同的組合來共同工作以修改圖像的色調屬性的滑動塊集合。顏色項目1447激活用于使用戶能夠修改飽和度與振動(vibrancy)以及特定顏色的飽和度(例如,藍色像素或綠色像素)和白平衡的顏色工具集合。在某些實施例中,這些工具中的一些被呈現為滑動塊集合。畫筆項目1448激活用于使用戶能夠局部地對圖像進行修改的增強工具集合。通過畫筆,用戶能夠去除紅眼和污點,并且通過對圖像執行擦拭動作來對圖像的局部部分施加或去除飽和度和其他特征。最后,效果項目1449激活用戶能夠施加于圖像的特殊效果集合。這些效果包括梯度、傾斜變化、非真實感去飽和度效果、灰度效果、各種濾波器等。在某些實施例中,應用將這些效果呈現為從工具欄1425中扇出(fanout)的項目集合。
如上所述,ui項目1445-1449按照特定的順序來排列。該順序遵循用戶用以最常見地施加五種不同類型的編輯的順序。因此,在某些實施例中,編輯指令1515按照這種相同的順序來存儲。當用戶選擇項目1445-1449之一時,某些實施例僅將來自所選工具的最左端的工具的編輯施加于所顯示的圖像(但其他編輯保持為存儲于指令集1515內)。
工具欄1425包括gui項目集合1450-1454和設置項目1455。自動增強項目1450自動地對圖像執行增強編輯(例如,移除明顯的紅眼、平衡顏色等)。旋轉按鈕1451旋轉任何選定圖像。在某些實施例中,每當旋轉按鈕被按下時,圖像沿特定的方向旋轉90°。在某些實施例中,自動增強包括被設置于指令集1515內的預定的編輯指令集。某些實施例執行對圖像的分析并且然后基于該分析來定義指令集。例如,自動增強工具將嘗試檢測在圖像中的紅眼,但是如果沒有檢測到紅眼則將不會生成指令來校正它。類似地,自動顏色平衡將基于對圖像的分析。由旋轉按鈕產生的旋轉同樣被存儲為編輯指令。
標記按鈕1452將任何選定圖像標注為帶標記的。在某些實施例中,合集中的帶標記圖像能夠在沒有任何無標記圖像的情況下顯示。最喜愛按鈕1453允許用戶將任何選定圖像標記為最喜愛的。在某些實施例中,其會將圖像標注為最喜愛的,并且還將圖像添加到最喜愛圖像的合集中。隱藏按鈕1454使用戶能夠將圖像標注為隱藏的。在某些實施例中,隱藏圖像將不會顯示于縮略圖顯示區內,和/或在用戶在圖像顯示區內輪轉合集中的圖像時將不會顯示。如圖15所示,這些特征中的許多特征被存儲為在圖像數據結構中的標簽。
最后,設置按鈕1455激活用于根據當前活動的工具集合來提供不同的菜單選項的上下文相關的菜單。例如,在查看模式中,某些實施例的菜單提供用于創建新相冊、為相冊設置關鍵圖像、將設置從一個圖像復制到另一個圖像的選項,以及其他選項。當不同的編輯工具集合為活動時,菜單提供與特定的活動工具集合相關的選項。
本領域技術人員應當意識到,圖像查看和編輯gui1400只是用于圖像查看、編輯及組織應用的許多可能的圖形用戶界面中的一個實例。例如,各種項目能夠位于不同的區域內或者處于不同的順序,并且某些實施例可以包括具有附加或不同功能的項目。某些實施例的縮略圖顯示區可以顯示與其相應的完全尺寸圖像的縱橫比匹配的縮略圖等。
iii.在不同gui模式下的交互
在上文,圖14示出了圖像查看、編輯及組織應用的特定的圖形用戶界面1400。在某些實施例中,應用提供了多種gui模式,其中的gui1400只是一種。這些模式可以區分肖像取向與風景取向,左手用戶與右手用戶,或者其他因素。某些實施例具有三種不同的模式——肖像、左手風景和右手風景。這些模式給用戶呈現相同的gui項目和顯示區,但是按照不同的方式來布置。
a.左手gui與右手gui
某些實施例提供了用戶能夠切換的左手gui和右手gui兩者。不同的選項可以呈現于肖像和風景兩種模式中,或者只呈現于風景模式中。在某些實施例中,為了在左手gui與右手gui之間切換,用戶在gui內移動具體的gui項目(例如,縮略圖顯示區)。作為將具體的gui項目從第一位置移動到第二位置的結果,應用從提供右手gui切換為提供左手gui,或者相反。在某些實施例中,兩種gui間的差異不僅在于具體gui項目的位置,而且還有附加的gui項目集合的位置和順序(例如,從左到右的順序)。
圖16示出了經由用戶用以將縮略圖顯示區1605從gui的左側移動到右側以便從右手模式切換為左手模式的四個階段1610-1640的gui1600。gui1600包括縮略圖顯示區1605、圖像顯示區1615、第一gui項目集合1625(網格開啟/關閉,幫助和撤銷按鈕)、返回按鈕1635、第二gui項目集合1645(共享、信息和切換原圖按鈕)、編輯按鈕1650、第三gui項目集合1655(編輯工具激活按鈕)以及設置菜單按鈕1660。
第一階段1610示出了在右手模式中的gui1600。在右手模式中,縮略圖顯示區1605位于gui的左側。返回按鈕1635和第一gui項目集合1625位于上方工具欄的左側,編輯按鈕1650和第二gui項目集合1655位于上方工具欄的右側,第三gui項目集合1655位于左下方(在縮略圖顯示區下方),而設置菜單按鈕位于右下方。該階段另外還示出:用戶將手指放置于縮略圖顯示區上以便執行在顯示區上的觸摸手勢。在某些實施例中,縮略圖顯示區包括能夠被選擇以便移動顯示區的標題區。
第二階段1620示出:用戶正處于以一個手指執行拖拽(或掃動)手勢之中。為了執行這樣的手勢,用戶將手指在縮略顯示區內按下并且將手指沿著觸摸屏向右滑動,不釋放接觸。在用戶在觸摸屏上移動其手指時,應用與該手指一起移動縮略圖顯示區1605。
第三階段1630示出:用戶已經將觸摸屏沿著觸摸屏進一步向右移動。另外,該圖還示出:在用戶釋放與屏幕的接觸時,縮略圖顯示區1605對齊到gui1600的右邊緣。在某些實施例中,當用戶在gui的左側釋放與顯示區的接觸時,縮略圖顯示區自動地對齊回到該側,并且對于右側同樣如此。
第四階段1640示出了在用戶已經釋放了縮略圖顯示區之后的在左手模式中的gui1600。在左手模式中,大部分的gui工具都具有切換側。設置菜單按鈕1660現在位于左下方,而第三gui項目集合1655位于右下方。第三gui項目集合1655保持它們的從左到右的順序,從裁切激活按鈕到效果激活按鈕。這些項目按照用戶將用以對圖像進行編輯的典型順序來排列(首先裁切和旋轉圖像,然后調整曝光和顏色,接著使用畫筆來修飾,并且最后對圖像施加任何特殊效果)。正因如此,這些工具在兩種gui模式中按照相同的順序來排列。
但是,在上方工具欄中的工具集合切換位置并反轉順序。返回按鈕1635和編輯按鈕1650被分別固定(除了整個工具欄向左滑動以適應縮略圖顯示區1605之外)為最左端的按鈕和最右端的按鈕。但是,第一gui項目集合1625和第二gui項目集合1645切換位置并反轉它們的順序。第一gui項目集合1625現在與編輯按鈕1650相鄰地設置,但按照相反的從左到右的順序。類似地,第二gui項目集合1645現在與返回按鈕1635相鄰地設置,同樣按照相反的從左到右的順序。由此,這些沒有按照特定的順序排列的項目保持它們與縮略圖顯示區1605的相對位置。
在某些實施例中,gui還包括自動增強、旋轉、標記、最喜愛及隱藏按鈕,如圖14所示。在某些這樣的實施例中,這些gui項目在處于左手模式時保持于gui的底部中間位置并且處于相同的順序。但是,在其他實施例中,在左手模式下,自動增強按鈕在該項目集合的右側,而隱藏按鈕在左側。
雖然該圖示出了用戶以左手進行拖拽手勢以便切換為左手gui,但是某些實施例允許用戶以任意手的一個手指(或者以不同的手勢,例如,雙指拖拽、掃動等)沿任一方向拖拽縮略圖顯示區。在這個意義上,gui并不響應于用戶實際上使用哪只手,而是響應于縮略圖顯示區的位置。另一方面,某些實施例的應用能夠識別出用戶正在使用哪只手(例如,基于觸摸屏的不同接觸的相對位置)并因此切換顯示。其他實施例能夠針對某些手勢來區分手(例如,所有五個手指同時觸摸屏幕的中心)并且使用這些手勢作為用于從一種模式切換到另一種模式的命令。
除了具有左手和右手gui模式之外,某些實施例按照肖像和風景模式來不同地顯示圖像查看和編輯gui。在某些實施例中,與左手或右手風景模式相比,縮略圖顯示區當處于肖像模式時位于圖像的不同區域內。例如,在某些實施例中,應用將縮略圖顯示區顯示于肖像gui的底部。
某些實施例基于最近使用的風景模式來為應用確定各種gui項目在肖像模式中的位置。例如,某些實施例運行于具有內置加速計或陀螺儀的裝置上,該內置加速計或陀螺儀識別裝置是垂直取向還是橫向取向,并且通過操作系統將該信息提供給應用。當用戶將裝置重定向為肖像模式時,某些實施例基于gui在重定向之前被設置為的風景模式來對齊圖像查看應用的gui元件。
圖17-19示出了在肖像和風景兩種模式下的某些實施例的左手和右手gui模式。這些圖不是要示出圖14及上述其他附圖所示的某些實施例的gui實現方式,而是示出用于某些實施例的移動電話和媒體播放器的實現方式的圖像查看和編輯gui1700。
圖17示出了經由在圖像查看應用運行于其上的裝置從肖像模式旋轉為風景模式時的三個階段1710-1730的gui1700。如圖17所示,gui1700包括縮略圖顯示區1705、圖像顯示區1715、第一工具欄1725(位于gui的底部),以及第二工具欄1727(位于gui的頂部)。
第一工具欄1725包括自動增強按鈕1730、旋轉按鈕1735、標記按鈕1740、最喜愛按鈕1745、隱藏按鈕1750、設置按鈕1755及工具箱按鈕1760。各種gui項目1730-1755按照與以上參照圖14所描述的方式相同的方式來操作。某些實施例的工具箱1760允許用戶訪問各種不同的編輯工具集合。在某些實施例中,當用戶選擇工具箱1760時,項目1730-1750消失并被與項目1445-1449(裁切項目、曝光項目、顏色項目、畫筆項目及效果項目)相似的gui項目代替。
第二工具欄1727包括返回按鈕1765、網格按鈕1770、顯示原圖按鈕1780、共享按鈕1785和編輯按鈕1790。這些gui項目同樣按照與以上參照圖14所描述的方式相同的方式來操作。在某些實施例中,幫助特征和撤銷特征能夠通過設置項目1755來訪問,而不是具有單獨的項目。
圖17的第一階段1710示出了在肖像模式下的gui1700,應用運行于其上的裝置保持處于垂直位置。在第二階段1720中,用戶開始使裝置轉為橫向。直到第三階段1730,當裝置已經旋轉了完整的90°時,應用才從以肖像模式來顯示gui切換為以風景模式來顯示gui。在某些實施例中,裝置含有加速計或陀螺儀,通過該加速計或陀螺儀裝置的操作系統確定裝置是處于肖像模式還是處于風景模式。該確定被傳遞給應用,該應用輸出適當的gui。
第三階段1730示出了某些實施例的風景模式gui1700。gui包括在上方和下方工具欄中的相同ui項目集合,但這些項目更為分散。另外,縮略圖顯示區1705在顯示的左側而不是顯示的底部。在這種情況下,肖像模式gui處于右手模式(即,在階段1710和1720中),并且因此當應用切換為風景時,它對gui1700使用右手風景模式。
圖18示出了經由用戶用以將縮略圖顯示區1705從gui的左側移動到gui的右側以便從右手模式切換為左手模式的四個階段1810-1840的gui1700。經由前三個階段1810-1830用來拖拽縮略圖顯示區1705的觸摸手勢是與以上在圖16中示出的手勢相似的手勢。第四階段1840示出了在左手模式下的gui1700,縮略圖顯示區1705在gui的右側。在這種實現方式中,應用反轉在工具欄1725中的gui項目1730-1760的順序,工具箱圖標1760現在在右側而設置圖標1755在左側,并且自動增強、旋轉、標記、最喜愛及隱藏項目同樣反轉。
圖19示出了經由在用戶使應用運行于其上的裝置旋轉回肖像模式時的三個階段1910-1930的gui1700。但是,在這種情況下,應用在左手模式下,同時在風景模式下操作。結果,在階段1930,在工具欄1725中的gui項目與圖17所示的右手肖像模式相比被反轉。
b.與縮略圖顯示區的交互
在左手或右手模式中,圖像查看應用允許與縮略圖顯示區(以下也稱為縮略圖網格)的各種交互。用戶能夠改變縮略圖顯示區的尺寸,改變縮略圖的列數,并且滾動縮略圖。圖20在概念上示出了用于示出在某些實施例的圖像查看gui中的狀態以及縮略圖顯示區的狀態變化的狀態圖2000。本領域技術人員應當意識到,該狀態圖并沒有包含與縮略圖顯示區的各種可能的交互。例如,狀態圖并沒有覆蓋滾動縮略圖或者對縮略圖的選擇。而且,雖然該狀態圖指示左手和右手gui模式的不同狀態,但是出于簡明性起見,對于一種模式示出的狀態的等價狀態對于另一種模式將被省略。狀態圖2000將參照圖21-28來描述,這些圖21-28示出了在左手和右手兩種模式下gui1600的各種交互。
當用戶不與gui交互時,它將要么處于狀態2005(右手模式,縮略圖網格在gui的左側)要么處于狀態2050(左手模式,縮略圖網格在gui的右側)。如同以上的圖16所示的,用戶能夠通過將縮略圖網格從gui的左側拖拽至gui的右側而促使從狀態2005到狀態2050的轉變。相反地,當用戶將縮略圖網格從gui的右側拖拽到左側時,gui從狀態2050轉變為狀態2005。
在某些實施例中,用戶能夠通過拖拽在縮略圖網格與圖像顯示區之間的界線(或接縫)來增大和減小縮略圖網格的列的寬度和/或數量。狀態圖2000示出了用于描述在gui處于右手模式時的此類輸入事件的狀態(狀態2005),但是本領域技術人員應當意識到,當處于左手模式時,相反的移動方向將被施加于另外的等價狀態(狀態2050)。在某些實施例中,當應用被初始化時,縮略圖網格具有兩個列的默認寬度。
當在狀態2005中時,當用戶選擇在縮略圖網格與圖像顯示區之間的界線并向右移動時,gui轉變為狀態2010以顯示逐漸變寬的縮略圖網格。在某些實施例中,用戶通過在觸摸屏上將單個手指放置于界線上來選擇界線(即,使得接觸區包括縮略圖網格的一部分和圖像顯示區的一部分兩者)。只要用戶繼續向右移動其手指,縮略圖網格持續加寬。如果用戶釋放界線(例如,通過將她的手指從觸摸屏上移開),則gui返回到狀態2005。
當用戶已經將界線移動了閾值距離時,應用轉變為狀態2015以添加一列縮略圖。這促使縮略圖在縮略圖網格中重新排列。某些實施例的應用使縮略圖排序為(當網格具有兩個列時):前兩個在頂行,隨后兩個在第二行等。當列數擴大到3時,來自第二行的第一縮略圖向上移動到頂行,來自第三行的兩個縮略圖移動到第二行等。
圖21示出了用戶經由gui1600的四個階段2110-2140增大縮略圖顯示區的尺寸。如圖所示,在第一階段2110中,用戶將手指放置于在縮略圖顯示區1605與圖像顯示區1615之間的界線上。在某些實施例中,應用并不實際畫出界線或接縫,而是界線僅僅是由于在縮略圖顯示區與圖像顯示區之間的顏色變化的結果而為可見的。但是,為了清晰起見,這些圖示出了這樣的界線。
在第二及第三階段2120和2130中,用戶向右拖拽界線。在第四階段2140,界線已經被移動得足夠遠以使縮略圖重新排列到第三列內。如圖所示,云的縮略圖2105向上移動到頂行,并且其他縮略圖也重新排列。該圖示出了(如同狀態圖2000那樣)在第三列被創建之前擴大的縮略圖顯示區1605(并且圖像顯示區相應地縮小)。但是,某些實施例只按照不連續的量來移動界線——即,一旦用戶的手指在屏幕上移動了閾值距離,應用就自動地將縮略圖顯示區的寬度由兩列寬度改變為三列寬度。也就是,在用戶將其手指從界線上移開時,gui保持為靜態的,直至達到閾值移動,在該點,隨著界線向右移動了固定量,縮略圖顯示區動態地重新排列以添加另一列,由此減小圖像顯示區的尺寸。
返回到狀態圖2000,在添加了縮略圖的列之后,如果觸摸移動繼續進行并且縮略圖網格尚未達到最大尺寸,則gui轉變回到狀態2010,或者如果達到了最大列數則轉變為狀態2020。當達到最大列數時,應用停止允許網格區的擴大(在狀態2020)。在某些實施例中,應用只允許縮略圖顯示區具有一列、兩列或三列縮略圖;其他實施例(例如,在較小裝置上的那些實施例)只允許一個或兩個列。在這三種狀態中的任一狀態,如果用戶釋放界線(即,通過移除觸摸輸入),則應用轉變回到狀態2005。
相似的狀態變化在用戶朝著屏幕的邊緣來拖拽縮略圖顯示區與圖像顯示區之間的界線時發生。此外,在圖20中示出了在gui處于右手模式時的這些狀態變化,但是同樣可應用于左手模式下的gui(朝著相反方向移動)。
當在狀態2005中時,當用戶選擇在縮略圖網格與圖像顯示區之間的界線并向左移動時,gui轉變為狀態2010以顯示逐漸變窄的縮略圖網格。在某些實施例中,用戶通過在觸摸屏上將單個手指放置于界線上(即,使得接觸區包括縮略圖網格的一部分和圖像顯示區的一部分兩者)來選擇界線。只要用戶繼續向左移動其手指,縮略圖網格就持續變窄。如果用戶釋放界線(例如,通過將她的手指從觸摸屏上移開),則gui返回到狀態2005。
當用戶已經將界線移動了閾值距離時,應用轉變為狀態2030以去除縮略圖的列。這促使縮略圖在縮略圖網格中重新排列。某些實施例的應用使縮略圖排序為(當網格具有兩個列時):前兩個在頂行,隨后兩個在第二行等。當列數減小到1時,來自頂行的第二縮略圖移到第二行,在第二行內的第一縮略圖移到第三行,等等。
圖22示出了用戶經由gui1600的四個階段2210-2240來減小縮略圖顯示區的尺寸。如圖所示,在第一階段2210中,用戶將手指放置于在縮略圖顯示區1605與圖像顯示區1615之間的界線上。在某些實施例中,應用并不實際畫出界線或接縫,而是界線僅僅是由于在縮略圖顯示區與圖像顯示區之間的顏色變化的結果而為可見的。但是,為了清晰起見,這些圖示出了這樣的界線。
在第二階段2220中,用戶已經開始向左拖拽界線。在該圖中,一旦界線開始侵占第二列,應用就將縮略圖重新排列成單個列。如圖所示,皮艇的縮略圖2205向下移動到第二行,并且其他縮略圖也重新排列。在第三階段2230中,用戶繼續向左拖拽界線。最后,在第四階段2240,縮略圖顯示區1605已經達到其最小寬度并且無法持續縮小。該圖(和狀態圖2000)示出了按連續方式縮小的縮略圖顯示區1605(并且圖像顯示區相應地減小)。但是,如同以上所述的縮略圖顯示區的增大那樣,某些實施例只按照不連續的量來移動界線——即,一旦用戶的手指在屏幕上移動了閾值距離,應用就自動地將縮略圖顯示區的寬度由兩列寬度改變為一列寬度。
返回到狀態圖2000,在移除了縮略圖的列之后,如果觸摸移動繼續進行并且縮略圖網格尚未達到最大尺寸,則gui轉變回到狀態2025,或者如果達到了最大列數,則gui轉變為狀態2035。當達到最大列數時,應用停止允許網格區的擴大(在狀態2020)。在某些實施例中,應用只允許縮略圖顯示區具有一列、兩列或三列縮略圖;其他實施例(例如,在較小裝置上的那些)只允許一個或兩個列。在這三種狀態中的任一狀態,如果用戶釋放界線(即,通過移除觸摸輸入),應用轉變回到狀態2005。另外,如果用戶反轉在界線上的觸摸輸入的移動方向,則gui還能夠從擴大狀態2010轉變為狀態2025(或相反)。
除了修改縮略圖顯示區的尺寸和列數之外,某些實施例還允許用戶將縮略圖顯示區滑動到gui之外以及返回到gui上。在某些實施例中,這可以經由掃動手勢或者gui項目的選擇以及其他gui交互(例如,熱鍵或熱鍵集、菜單選項的選擇等)來完成。狀態圖2000在概念上示出了在左手gui的環境下的這些交互(縮略圖顯示區在右側),但是這些交互同樣可應用于右手gui(方向反轉)。
如圖所示,在gui處于狀態2050(左手模式,縮略圖網格被顯示)時,當用戶在網格上執行右向掃動手勢或者選擇網格按鈕ui項目時,gui轉變為狀態2055以使網格滑離顯示的右側。一旦網格滑到顯示之外,gui就轉變為狀態2060以在沒有縮略圖網格的情況下按左手模式來顯示gui。
圖23示出了用于經由四個階段2310-2340從處于右手gui模式下的gui1600中去除縮略圖顯示區1605的掃動手勢。如圖所示,在第一階段2310,用戶開始以一個手指在縮略圖顯示區1605上接觸觸摸屏(但也可以使用具有不同數量的接觸點的其他掃動手勢或者其他手勢)。第二階段2320示出了用戶向左移動其手指,促使縮略圖顯示區沿該方向滑動。在第三階段2330中,用戶在縮略圖顯示區1605繼續向左滑動到gui之外時已經釋放了掃動手勢。第四階段2340示出:縮略圖顯示區不再顯示于gui內,并且圖像顯示區1615已經擴大。基于各種用戶界面工具的位置,用戶能夠容易地辨別出gui仍然處于右手模式。
在某些實施例中,應用需要用戶的手指保持與觸摸屏接觸達特定的閾值距離和/或以閾值速度來移動以便被認定為掃動手勢。但是,在某些實施例中,這種關于是否將輸入認定為掃動手勢的判斷由圖像查看應用運行于其上的裝置的操作系統作出,而不是由應用自身作出。掃動手勢和位置由操作系統傳遞給應用,該應用然后將該掃動手勢轉譯成用于將縮略圖網格滑動到gui之外的指令。
圖24示出了用于經由四個階段2410-2440從處于左手模式下的gui1600中去除縮略圖顯示區1605的相似掃動手勢。這些階段與圖23的階段類似。如圖所示,在第一階段2410,用戶開始以一個手指在縮略圖顯示區1605上接觸觸摸屏(但是也可以使用具有不同數量的接觸點的其他掃動手勢或者其他手勢)。第二階段2420示出了用戶向右移動其手指,促使縮略圖顯示區開始沿該方向滑動。在第三階段2430中,用戶已經在縮略圖顯示區1605繼續向右滑動到gui之外時釋放了掃動手勢。第四階段2440示出:縮略圖顯示區不再顯示于gui內,并且圖像顯示區1615已經擴大。基于各種用戶界面工具的位置,用戶能夠容易地辨別出gui仍然處于左手模式。
如圖20所示,當用戶選擇促使縮略圖顯示區滑動到gui之上和之外的網格按鈕時,某些實施例同樣從狀態2050轉變為狀態2055并且然后轉變為2060。圖25示出了經由四個階段2510-2540在gui1600中對這樣的gui項目2505的選擇。如圖所示,在第一階段2510中,用戶敲擊網格按鈕2505。如同掃動手勢那樣,在某些實施例中,裝置的操作系統將屏幕接觸信息轉譯成敲擊手勢和位置并且將該信息傳遞給圖像查看應用。第二階段2520和第三階段2530示出了縮略圖顯示區1605滑動到gui之外。階段2540所示的作為結果的gui與在圖23的結束時的作為結果的gui相同,其中具有擴大的圖像顯示區1615。
在gui處于狀態2060(左手模式,無縮略圖網格)的情況下,當用戶執行從gui的右邊起的左向掃動手勢或者選擇網格按鈕ui項目時,gui轉變為狀態2065以使網格從右側滑動回到顯示上。一旦網格滑動回到顯示上,gui就轉變回到狀態2050以顯示左手模式下的gui,其中存在縮略圖網格。
圖26示出了用于在右手gui模式下經由四個階段2610-2640使縮略圖顯示區1605返回到gui1600的掃動手勢。如圖所示,在第一階段2610,用戶開始在gui的左邊緣附近以一個手指接觸觸摸屏(但是也可以使用具有不同數量的接觸點的其他掃動手勢或者其他手勢)。不同的實施例使用不同的閾值來確定觸摸接觸需要為多近以致于被認為是接近于邊緣,從而使縮略圖顯示區滑動回到gui上。第二階段2620示出了用戶向右移動其手指,促使縮略圖顯示區1605開始沿該方向滑動回到gui上。在第三階段2630中,用戶在縮略圖顯示區1605繼續向右滑動到gui上時已經釋放了掃動手勢。第四階段2640示出:縮略圖顯示區1605在右手模式下完全呈現于gui中。
圖27示出了用于在左手gui模式下經由四個階段2710-2740使縮略圖顯示區1605返回到gui1600的相似掃動手勢。如圖所示,在第一階段2710,用戶開始在gui的右邊緣附近以一個手指接觸觸摸屏(但是也可以使用具有不同數量的接觸點的其他掃動手勢或者其他手勢)。不同的實施例使用不同的閾值來確定觸摸接觸需要為多近以致于被認為是接近于邊緣,從而使縮略圖顯示區滑動回到gui上。第二階段2720示出了用戶向左移動其手指,促使縮略圖顯示區1605開始沿該方向滑動回到gui上。在第三階段2730中,用戶在縮略圖顯示區1605繼續向左滑動到gui上時已經釋放了掃動手勢。第四階段2340示出:縮略圖顯示區1605在左手模式下完全呈現于gui中。
如圖20所示,當用戶選擇促使縮略圖顯示區滑動到gui之上和之外的網格按鈕時,某些實施例還從狀態2060轉變為狀態2065,并且然后轉變為2050。圖28示出了在gui處于右手模式的情況下經由四個階段2810-2840對gui1600中的gui項目2505的選擇。如圖所示,在第一階段2810中,用戶敲擊網格按鈕2505。如同掃動手勢那樣,在某些實施例中裝置的操作系統將屏幕接觸信息轉譯成敲擊手勢和位置,并且將該信息傳遞給圖像查看應用。第二階段2820和第三階段2830示出了縮略圖顯示區1605滑動回到gui上。在階段2840中示出的作為結果的gui與在圖26結束時的作為結果的gui相同,縮略圖顯示區1605出現于顯示的左側。
以上描述和圖形突出了在左手和右手模式下與gui交互的各個方面。另外,在風景模式(不管是右手還是左手)與肖像模式之間存在某些差異。一個這樣的差異涉及縮略圖顯示區的位置和滾動。
圖29示出了經由gui1600的四個階段2910-2940用戶滾動縮略圖顯示區1605。在第一階段2910中,用戶已經開始在縮略圖顯示區1605之上以一個手指接觸觸摸屏。如同第二階段2920所示,用戶向上移動手指,同時保持與觸摸屏接觸。這具有促使縮略圖顯示區中的縮略圖向上滑動的作用,使得頂部的縮略圖從屏幕上消失并且另外的縮略圖出現于底部。在階段2930,用戶繼續該運動以繼續滾動縮略圖。第四階段2940示出:用戶已經釋放了拖拽操作并且縮略圖已經停止滾動。在某些實施例中,取決于拖拽/掃動手勢的速度,縮略圖可以在用戶釋放手勢之后繼續滾動(即,沖量滾動)。由于全部合集會含有數量有限的圖像,因而最終縮略圖將達到終點并停止滾動。而且,雖然該圖僅示出了向下滾動(經由上向觸摸手勢),用戶還能夠通過向下拖拽縮略圖顯示來向上滾動。
上述圖形示出了在左手和右手風景模式下的gui。另一方面,圖30-32示出了在肖像模式下的某些實施例的gui3000。如圖30所示,gui3000包括縮略圖顯示區3005、圖像顯示區3015、第一gui項目集合3025、第二gui項目集合3035、第三gui項目集合3045、返回按鈕3050、編輯按鈕3055及設置菜單激活項目3060。這些是與以上參照圖16的gui1600所描述的項目相同的項目。
如這些圖形所示,應用顯示了與在風景gui1600的右手模式下的位置相同的位置上的gui項目3025、3035和3045-3060(即,編輯激活gui項目3025在左下方,返回按鈕3050和第二gui項目集合3035在左上方等)。當處于肖像模式時,某些應用不提供從左手模式到右手模式的切換機制,因為縮略圖顯示區3005無論如何都位于gui的底部。如上所述,其他實施例可以響應于指示用戶的用手習慣的動作,例如,五指同時敲擊(與右手相比,相對位置對于左手是不同的)。如上所述,某些實施例基于最近使用的風景模式來為應用確定在肖像模式下的各種gui項目的位置。
圖30示出了在用戶經由四個階段3010-3040來滾動縮略圖顯示區內的合集的縮略圖時的gui3000。如圖所示,在肖像模式中,應用使縮略圖顯示區3005位于gui的底部,但在其他實施例中縮略圖顯示也可以位于gui的頂部。縮略圖顯示區3005橫越gui的寬度,具有固定列數的縮略圖(在本例中為5個)。在該圖中,縮略圖顯示區具有兩個縮略圖的高度。
在第一階段3010中,用戶以一個手指來接觸縮略圖顯示區。如同第二階段3020所示,用戶已經開始在縮略圖顯示區上向上滑動手指。這促使縮略圖向上滑動通過縮略圖顯示區3005,新的縮略圖開始出現于顯示區的底部。第三階段3030示出:用戶已經繼續向上滑動她的手指,縮略圖同樣一起移動。在第四階段3035中,用戶已經釋放了與觸摸屏的接觸,并且因此縮略圖不再移動(但是在某些實施例中,用戶能夠設置應用或裝置基于手勢的速度在掃動手勢之后繼續滾動)。
圖31示出了經由肖像gui3000的四個階段3110-3140對縮略圖顯示區3005的尺寸的修改。如同在風景模式中,用戶能夠拖拽在縮略圖顯示區3005和圖像顯示區3015之間的界線以便修改縮略圖顯示區的尺寸。但是,然而在風景模式中,該界線垂直于滾動的方向移動(并且因而在超過閾值以及添加或減少列時導致縮略圖的重新排列),在肖像模式中的界線平行于滾動的方向而移動。正因如此,大部分情況下,縮略圖顯示區都能夠按連續的方式來修改,而不重排縮略圖,而不是在增加或減少列時具有非連續的跳躍。
第一階段3110示出了縮略圖顯示區具有大約兩個縮略圖的高度的gui3000。在第二階段3120中,用戶將手指放置于縮略圖顯示區3005與圖像顯示區3015之間的界線上,并且開始向下拖拽界線。在這種情況下,縮略圖連同界線一起移動(即,界線對縮略圖的關系不改變)。在其他實施例中,縮略圖在對界線的此類修改期間保持為靜態的,并且界線移動到縮略圖之上。當用戶向上移動界線并且達到縮略圖的頂行時,某些此類實施例則開始與界線一起向上移動縮略圖以便防止間隙出現于縮略圖顯示區的頂部。
第三階段3130示出:用戶繼續向下拖拽界線,同樣使縮略圖進一步向前滑動。在最后階段3140,縮略圖顯示區3005具有僅為一行的高度。在某些實施例中,當縮略圖顯示區在肖像模式中被減少到只有一行縮略圖時,應用自動地防止縮略圖顯示區被減小尺寸(但是用戶仍然能夠敲擊網格按鈕或者使用掃動手勢來完全去除縮略圖顯示區)并且將滾動的方向從垂直修改為水平。應用按照縮略圖在當前所選的合集中存儲的順序將縮略圖重排成單個行,但是所顯示的縮略圖被用戶看起來可以是相同的,直到用戶開始滾動。
圖32示出了在尺寸向下調整到一個行時經由gui3000的四個階段3210-3240進行的縮略圖顯示區的水平滾動。第一階段3210示出了狀態與圖31的階段3140相同的gui3000,縮略圖顯示區3005具有一個行的高度。如圖所示,用戶已經開始以一個手指來接觸縮略圖顯示區。用戶在第二階段3220中開始向左移動其手指,并且在第三階段3230中繼續該移動。該移動的結果是:縮略圖向左滾動通過縮略圖顯示區3005,某些縮略圖向左滾動離開gui并且新的縮略圖從右側進入。在某些實施例中,滾動在用戶達到合集的終點時停止,而其他實施例按照連續滾動的方式使縮略圖繞回。第四階段3240示出:用戶已經釋放了與觸摸屏的接觸,并且縮略圖現在是靜止的。
圖33示出了在某些實施例的移動電話和媒體播放器gui1700的縮略圖顯示區中用戶滾動圖像。在第一階段3310中,第一縮略圖3305被選擇,并且相應的圖像3315已經顯示于圖像顯示區1715內。但是,用戶當前正執行在圖像顯示區上的向左的掃動手勢,開始顯現合集中的下一圖像。第二階段3320示出了該掃動手勢的結果,圖像3325現在正被顯示并且相應的縮略圖3335已被選擇。雖然在前面的圖形中沒有示出,但是在某些實施例中,在較大的(例如,平板)裝置上的應用的用戶同樣可以使用相似的掃動手勢(右向和左向兩種)來快速地瀏覽合集中的圖像。以掃動手勢來瀏覽所選圖像集合將同樣在后面于部分v內描述。
第二至第四階段3320-3340示出了用戶以掃動手勢橫向滾動通過縮略圖顯示區1705。如圖所示,用戶使手指橫向掃動穿過縮略圖顯示區,并且縮略圖滑過,如同以上的圖32那樣。
雖然前面的圖形示出了使用觸摸屏手勢(包括多點觸摸手勢)來滾動通過縮略圖顯示區(不管是在肖像模式中還是在風景模式中),但是本領域技術人員都應當意識到,所描述的圖29-33的特征(以及本文通篇示出的其他特征)可以按照其他方式來執行——例如,使用光標控制裝置(這可以包括按鈕點擊、光標控制器的移動以及通過光標控制器的觸摸輸入的組合)、鍵盤等。
c.縮放工具
這部分的分部a描述了具有左手和右手模式的不同gui的應用,在這些gui中,應用在模式切換時修改某些gui元件的位置和順序,同時將其他gui元件保持于原位。另外,某些實施例不同地(例如,按照不同的取向)激活某些gui工具,這取決于gui是在左手模式中還是在右手模式中。一種這樣的工具是某些實施例的縮放工具,該縮放工具按照不同的取向來顯示并且不同地響應于某些手勢,這取決于gui的哪種模式是活動的。
圖34在概念上示出了用于調用該縮放工具的某些實施例的處理3400。處理3400將參照圖35和36來描述,該圖35和36示出了對在某些實施例的右手及左手媒體編輯和查看gui中的縮放工具的調用。某些實施例的圖像查看、編輯及組織應用響應于通過應用的用戶界面接收到的特定的用戶輸入(例如,觸摸)手勢來執行處理3400。但是,某些實施例(例如,應用的某些移動電話和媒體播放器的實現方式)不包括這樣的縮放工具。
如圖所示,處理首先開始在查看模式下接收(在3405)對在圖像顯示區內的圖像的兩個單獨的觸摸輸入。在某些實施例中,當圖像顯示區顯示一個或多個圖像并且編輯工具集合中的一個編輯工具(例如,裁切、曝光、顏色、畫筆或特殊效果工具)已經被激活時,應用處于查看模式中。某些實施例在兩個單獨的觸摸輸入至少部分一致時將該兩個單獨的觸摸輸入識別為調用縮放工具。也就是,兩個單獨的輸入不需要同時接觸觸摸屏(即,用戶能夠將其拇指放置于屏幕上,然后一秒鐘后以其食指接觸屏幕以便調用縮放工具,只要拇指同樣保持于屏幕上即可)。其他實施例對其間第一及第二觸摸輸入可以被接收的時長進行約束(例如,0.5秒、1秒等)。另外,某些實施例只響應于在閾值距離(例如,絕對距離(例如,3英寸)或者相對于圖像尺寸的距離)內的觸摸輸入來激活縮放工具。
而且,某些實施例區分雙指手勢與兩個單獨的手勢。多點觸摸裝置能夠識別出用戶是已經將一個手指放置于觸摸屏上的某一位置還是多個手指一起放置(例如,用于某些掃動手勢)。這些不同的觸摸手勢在某些實施例中由裝置的操作系統檢測出并發送給應用。當應用從操作系統中接收到在所顯示的圖像上的不同位置的兩個單獨的手勢時,應用調用縮放工具。
響應于接收到兩個單獨的觸摸輸入,處理3400輸出(在3410)與縮放工具顯示關聯的聲音效果。在某些實施例中,聲音效果模仿相機快門打開的聲音。除了其他用途外,聲音效果還為用戶指出縮放工具已激活。另外,某些實施例在由縮放工具覆蓋的區域內顯示給出相機快門打開的外觀的動畫。雖然處理3400在顯示縮放工具之前示出了應用輸出聲音效果,但是本領域技術人員應當意識到,這是概念上的處理并且聲音效果可以與縮放工具的顯示并行輸出。
該處理還識別了(在3415)在兩個單獨的觸摸輸入之間的中點。如上所示,在某些實施例中,應用響應于接收自用戶的觸摸輸入而接收來自操作系統的手勢信息。手勢信息包括確定每個手勢中心的位置(例如,屏幕像素坐標)。某些實施例的應用識別出連接每個手勢的中心坐標的線的中點(例如,平均x坐標和平均y坐標)。
然后,該處理確定(在3420)gui是否處于右手模式。如同以上參照圖16所描述的,圖像編輯應用提供了用戶能夠切換的右手gui和左手gui。在這些實施例的某些實施例中,圖像編輯應用存儲用于指示gui是處于右手模式還是處于左手模式的參數。當用戶在兩種模式之間切換(例如,通過移動縮略圖顯示區)時,應用切換參數。在這些實施例中,處理通過檢查該存儲參數來確定gui是否處于右手模式中。在其他實施例中,應用使用縮略圖顯示區的位置(或其他gui項目)來確定應用當前是處于左手模式還是處于右手模式。
如果gui處于右手模式,則處理顯示(在3425)中心位于所識別的中點的縮放工具,放大信息顯示于縮放環的左側。然后處理結束。在某些實施例中,縮放工具是呈現為中心位于兩個觸摸輸入之間的所識別的中點的橢圓(例如,圓形)的縮放環。但是,其他實施例使用不同的形狀(例如,方形、六邊形等)。在某些實施例中,放大信息給用戶指示在gui控件內的圖像的縮放級別。
圖35示出了通過gui3500在gui處于右手模式的情況下按四個階段3505-3520來調用和取消調用圓形縮放工具的實例。圖35的第一及第二階段3505和3510示出了對縮放工具的調用,而第三及第四階段3515和3520示出了對縮放工具的取消調用。
如圖所示,gui3500包括位于gui3500的左側的縮略圖顯示區3530、圖像顯示區3545及工具欄3540。應用在圖像顯示區3545內顯示圖像3555。如同第一階段3505所示,縮略圖顯示區3530位于gui3500的左側,這指示出gui3500處于右手模式。由于當前沒有選定工具欄3540內的編輯工具激活項目中任一項,因而應用處于查看模式。
第二階段3510示出了在用戶對圖像3555調用了縮放工具之后的gui3500。如上所述,縮放工具能夠通過對圖像提供兩個單獨的觸摸輸入來調用。如圖所示,用戶通過將兩個手指在圖像3555上的單獨位置處(在顯示高爾夫球的位置附近)敲擊來調用縮放工具。
作為兩個觸摸輸入的結果,縮放環3525置于圖像3555上,中心在兩個單獨的觸摸輸入之間的中點(即,在圖像3555內的包括高爾夫球的位置周圍,現在示為放大的)。另外,由于gui處于右手模式(由縮略圖顯示區3530的位置指示),放大信息3535顯示于縮放環3525的左側。該放大信息指示在縮放環3525內的當前縮放級別為2x。在縮放環3525的左側顯示放大信息使得用戶在其右手處于縮放工具之上時容易看見該信息。如同下文將解釋的,用戶能夠使用旋轉手勢來改變放大級別。
回過去參照圖34,當處理3400在操作3420確定gui不處于右手模式(并且因而gui處于左手模式)時,處理顯示(在3430)中心位于所識別的中點的縮放工具,放大信息顯示于縮放環的右側。然后處理結束。在某些實施例中,縮放工具是不管為左手模式還是右手模式都具有相同形狀的縮放環(例如,圓形)。
圖36示出了在gui處于左手模式時通過gui3500按照兩個階段3605和3610來調用圓形縮放工具的實例。如圖所示,第一階段3605與圖35的第一階段3505相同,不同之處在于在圖36中的gui3500處于左手模式,縮略圖顯示區3530位于gui3500的右側。
第二階段3605示出了在用戶對圖像3555調用了縮放工具之后的gui3500。如上所述,縮放工具能夠通過對圖像提供兩個單獨的觸摸輸入來調用。如圖所示,用戶通過將兩個手指在圖像3555上的單獨位置處(在顯示高爾夫球的位置附近)敲擊來調用縮放工具。
作為在圖像3555上的兩個觸摸輸入的結果,縮放環3525置于中心在兩個單獨的觸摸輸入之間的中點處(即,在圖像3555內的包括高爾夫球的位置周圍,現在示為放大的)的圖像3555上。另外,由于gui處于左手模式(由縮略圖顯示區3530的位置指示),因而放大信息3535顯示于縮放環3525的右側。該放大信息指示在縮放環3525內的當前縮放級別為2x。在縮放環3525的右側顯示放大信息使得用戶在其左手處于縮放工具之上時更容易看見該信息。如同下文將解釋的,用戶能夠使用旋轉手勢來改變放大級別。
在縮放工具被調用并被顯示于圖像之上(即,置于圖像上)的情況下,圖像編輯應用還允許用戶取消選擇或取消調用縮放工具。應用的不同實施例提供用戶能夠用以取消選擇縮放工具的不同方式。例如,當在圖像上但在縮放工具之外接收到觸摸收入時,某些實施例的應用去除縮放工具。
回過去參照圖35,第三及第四階段3515和3520示出了通過gui3500來取消選定縮放工具的實例。在第三階段3515中的gui與第二階段3510相同,縮放環3525仍然疊置于圖像3555上,高爾夫球和周圍的草被放大。第四階段3520示出了在用戶取消選定縮放工具之后的gui3500。如上所述,用戶可以通過提供在縮放工具之外的圖像上的觸摸輸入來取消選定縮放工具。如圖所示,用戶已經通過將手指敲擊于在縮放工具3525之外的圖像3555上的位置來取消選定縮放工具3525。作為在縮放環之外的單觸摸輸入的結果,應用從gui3500中去除縮放環3525。在某些實施例中,應用在縮放工具被取消調用時還顯示聲音效果(例如,相機快門關閉的聲音)。某些實施例還在工具正被移除時于縮放工具內顯示相機快門關閉的相應動畫。
除了某些實施例的對縮放工具的簡單調用和移除之外,用戶還能夠將縮放工具移動到圖像中的不同位置,以便放大不同的部分,修改在縮放工具內示出的區域的放大級別,以及執行其他操作。這些操作現在將參照圖37來描述。
圖37在概念上示出了用于呈現出在某些實施例的gui內的縮放工具的各種操作的狀態圖3700。本領域技術人員應當意識到,狀態圖3700并不包含圖像查看gui的各個狀態,乃至縮放工具的各個狀態,而只是在圖像查看gui內的縮放工具操作的子集。
狀態圖3700將參照在圖38、39、41、42和40中示出的ui實例來描述。特別地,圖38和41在與縮放工具的放大(即,拉近)操作相關的多個階段中示出了某些實施例的圖像查看和編輯應用的gui。圖39和42示出了在與縮放工具的縮小(即,拉遠)操作相關的多個階段中某些實施例的圖像查看和編輯應用的gui。圖40示出了在與縮放工具的重定位(即,移動)相關的多個階段中的某些實施例的圖像查看和編輯應用的gui。
如圖37所示,gui具有兩個初始狀態3705和3710。在初始狀態3705,gui顯示縮略圖網格(即,縮略圖顯示區)以及按右手模式顯示于圖像顯示區內的圖像。狀態3710與狀態3705相同,不同之處在于gui處于左手模式而不是右手模式,并且因而縮略圖網格在gui的右側。縮放工具在右手模式下的各種操作將首先參照圖38、39和40來描述。
當縮放工具接收到在圖像上的兩個單獨的觸摸輸入時,縮放工具從初始狀態3705轉變為狀態3715,在該狀態3715,gui按照右手模式將縮放環顯示于圖像上。如上所述,gui在某些實施例中提供了兩個不同版本的縮放環,右手模式一個以及左手模式一個。在某些實施例中,在右手模式下的縮放環使放大信息顯示于縮放環的左側。這使用戶在其右手處于縮放環之上時能夠查看放大信息。在右手模式下調用和顯示縮放環的操作在上文參照圖35進行了詳細描述。
只要沒有提供影響縮放環的輸入,縮放工具就處于狀態3715。但是,當接收到順時針的旋轉輸入時,gui就轉變為狀態3725以增大圖像在縮放工具內的區域的放大率。在某些實施例中,用戶能夠通過將兩個手指放于縮放環上并按照順時針方向旋轉兩個手指來提供順時針的旋轉輸入。某些實施例通過跟蹤輸入的位置并測量連接兩個位置的直線的角度(例如,水平偏角)來識別這樣的輸入。當該角按照順時針的方式改變時,應用增大右手縮放工具的放大率。在某些實施例中,兩個觸摸輸入不需要直接位于縮放工具之上,但這樣做通常會有助于用戶使放大和縮小移動形象化。在增大圖像在縮放環內的區域的放大率之后,gui返回到狀態3715,只要用戶不繼續按順時針方式旋轉其手指即可。
圖38示出了通過gui3500按照四個不同階段3805-3820對縮放工具的放大操作。第一階段3805與圖35的第一階段3505相同,縮略圖顯示區3530位于gui3500的左側,而圖像3555按查看模式顯示于圖像顯示區3545內。
第二階段3810示出了在用戶通過提供在圖像3555上的兩個單獨的觸摸輸入調用了縮放工具之后的gui3500。如圖所示,用戶已經在高爾夫球的位置周圍以兩個手指在圖像3555上敲擊。作為兩個單獨的觸摸輸入的結果,應用將縮放環3525疊置于圖像3555上,該縮放環3525的中心位于兩個單獨的觸摸輸入之間的中點。另外,由于gui處于右手模式,應用在縮放環3525的左側顯示放大信息3535。在某些實施例中,默認放大率是2x縮放,放大率可在lx與3x之間變化。
第三階段3815示出了在用戶已經開始使用縮放工具來增大圖像的放大率之后的gui3500。如上所述,用戶能夠通過提供順時針的旋轉輸入來增大圖像在縮放工具內的區域的放大率。如圖所示,用戶已經開始按順時針方向旋轉兩個手指,如箭頭3825所示。作為順時針旋轉輸入的結果,圖像在縮放環3525內的區域被顯示為進一步放大的。
第四階段3820示出了在用戶已經使用縮放工具進一步增大了圖像的放大率之后的gui3500。如圖所示,用戶已經繼續按順時針方向旋轉兩個手指,如箭頭3830所示。作為旋轉移動的結果,圖像在縮放環3525內的區域在第四階段3820中與第三階段3815中的圖像相比被進一步放大。在該階段,縮放工具處于最大的3x的放大級別。
在某些實施例中,縮放工具將不會使圖像的一部分放大超過其完全尺寸顯示。在較小屏幕的裝置上的圖像通常被縮小尺寸以便適合于裝置的顯示內。例如,1920x1080的圖像在640x480的顯示屏上可以不按完全尺寸來顯示。使用縮放工具使用戶能夠在較接近于其完全尺寸的情況下查看圖像的一部分。但是,當圖像已經處于其完全尺寸時(例如,在1920x1080的顯示屏上的640x480的圖像),則某些實施例將不允許用戶調用縮放工具,因為這將在縮放區域內產生像素化。
回過去參照圖37,當應用在狀態3715下接收到逆時針的旋轉輸入時,gui轉變為狀態3735以減小圖像在縮放工具內的區域的放大率。在某些實施例中,用戶能夠通過將兩個手指放于縮放環上并且按逆時針方向旋轉這兩個手指來提供逆時針的旋轉輸入。如同順時針選擇一樣,某些實施例通過跟蹤兩個輸入的位置并測量連接位置的直線的角度來識別輸入。在減小了圖像在縮放環內的區域的放大率之后,只要用戶不繼續旋轉其手指,gui就返回到狀態3715。
圖39示出了通過gui3500按照四個不同階段3905-3920對縮放工具進行的縮小操作。在第一階段3905的gui3500與在圖38的第四階段3820的gui相同。如圖所示,gui3500包括放大率為3x的縮放環3525,并且圖像在縮放環內的區域被放大。
第二階段3910示出了在用戶已經開始使用縮放工具來減小圖像的放大率之后的gui3500。如上所述,用戶能夠通過提供逆時針的旋轉輸入來減小圖像在縮放環內的區域的放大率。如圖所示,用戶已經開始按逆時針方向來旋轉兩個手指,如箭頭3925所示。作為逆時針旋轉輸入的結果,應用已經減小了圖像在縮放環3525內的區域的放大率。
第三階段3915示出了在用戶已經使用縮放工具進一步減小圖像的放大率之后的gui3500。如圖所示,用戶已經按逆時針方向繼續旋轉兩個手指,如箭頭3930所示。作為旋轉移動的結果,圖像在縮放環3525內的區域在第三階段3915中比在第二階段3910縮小。第四階段3920示出了在用戶已經抬起兩個手指使其離開縮放環3525之后的gui3500。如圖所示,圖像在縮放環3525內的區域在用戶抬起手指之后保持為與在第三階段3915中的圖像的區域相同。
除了改變縮放工具的放大級別之外,某些實施例還允許用戶將工具移動到圖像周圍,由此聚焦于圖像內的不同區域。回過去參照圖37,當縮放工具接收到環移動激活事件時,縮放工具轉變為移環狀態3745。在某些實施例中,環移動激活事件包括用戶用手指長按(即,單觸摸)縮放環。在移環狀態3745期間,縮放環跟隨著用戶輸入移動。也就是,縮放環移到用戶將手指移到的任何地方。縮放工具保持為該狀態,直到接收到縮放環移動解除激活事件。在某些實施例中,用戶能夠通過將手指抬離縮放環來解除激活縮放環移動操作。在接收縮放環移動解除激活事件時,縮放工具返回到狀態3715。
圖40示出了通過gui3500按照四個不同階段4005、4010、4015和4020對縮放工具進行的移動操作。第一階段4005與圖35的第一階段3505相同。如圖所示,gui3500包括位于gui3500的左側的縮略圖顯示區3530、圖像顯示區3545及菜單欄3540。圖像3555按照查看模式顯示于圖像顯示區3545內。另外,圖40還示出:gui3500處于右手模式,這由縮略圖顯示區3530位于gui3500的左側指示。
第二階段4010示出了在用戶調用了縮放工具之后的gui3500。如圖所示,用戶已經通過提供在圖像3555上的兩個單獨的觸摸輸入來調用縮放工具。作為兩個單獨的觸摸輸入的結果,應用將縮放環3525疊置于圖像3555上,該縮放環3525的中心在兩個單獨觸摸的中點。另外,由于gui3500處于右手模式(由縮略圖顯示區3530的位置指示),因而gui在縮放環3525的左側顯示放大信息3535。
第三階段4015示出了在用戶已經開始以觸摸手勢來移動縮放環3525之后的gui3500。在某些實施例中,用戶能夠通過將單個手指放置于縮放環3525上并且將手指拖拽到圖像上的其他位置來移動縮放環。如圖所示,用戶已經開始朝圖像3555的右上角拖拽手指,如箭頭4025所示。作為拖拽移動的結果,縮放環3525朝圖像3555的右上角移動。第四階段3915示出了在用戶已經將縮放環3525移動到圖像上的其他位置之后的gui3500。如圖所示,用戶已經朝圖像3555的頂部拖拽手指,如箭頭4030所示。作為拖拽移動的結果,縮放環3525現在朝圖像3555的頂部移動。
在某些實施例中,縮放工具能夠通過縮放工具解除激活事件來解除激活。例如,縮放工具能夠在縮放環之外接收到單輸入時被解除激活。回過去參照圖37,當縮放工具在狀態3715下接收到在縮放環之外的輸入(例如,在縮放環之外的單觸摸)時,縮放工具轉變回到初始狀態3705。某些實施例的縮放環的解除激活操作在上文參照圖35的階段3515和3520進行了更詳細的描述。
如同上文所詳細描述的,用戶能夠通過將縮略圖顯示區(即,縮略圖網格)移動到gui的右側而將圖像查看和編輯gui由右手模式切換為左手模式。因而,在處于初始狀態3705時,當縮略圖網格被移動到顯示的右側時,縮放工具轉變為其他初始狀態3710(并且如果用戶將縮略圖網格移動回到左側,則相反)。從初始狀態3710開始的縮放工具的各種操作現在將參照圖41和42來描述。這些操作類似于右手操作,除了放大和縮小操作由沿相反方向的旋轉導致的之外。
當縮放工具接收到在圖像上的兩個單獨的觸摸輸入時,縮放工具從初始狀態3710轉變為狀態3720,在該狀態3720下,gui按左手模式來將縮放環顯示于圖像上。如上所述,gui在某些實施例中提供了兩個不同版本的縮放環,右手模式一個以及左手模式一個。在某些實施例中,縮放環在左手模式下使放大信息顯示于縮放環的右側。這使用戶在其左手處于縮放環之上時能夠查看放大信息。在左手模式下調用和顯示縮放環的操作在上文參照圖36進行了詳細描述。
只要沒有提供影響縮放環的輸入,縮放工具就處于狀態3720。但是,當接收到逆時針方向的旋轉輸入時,gui轉變為狀態3730以增大圖像在縮放工具內的區域的放大率。在某些實施例中,用戶能夠通過將兩個手指放于縮放環上并且按逆時針方向旋轉這兩個手指來提供逆時針的旋轉輸入。某些實施例通過跟蹤輸入的位置并測量連接兩個位置的直線的角度(例如,水平偏角)來識別此類輸入。當該角按逆時針方式改變時,應用增大左手縮放工具的放大率。在某些實施例中,兩個觸摸輸入不需要直接位于縮放工具之上,但這樣做通常會有助于用戶將放大和縮小移動形象化。在增大了圖像于縮放環內的區域的放大率之后,只要用戶不繼續按逆時針方式旋轉其手指,gui就返回到狀態3720。
圖41示出了通過gui3500按照四個不同階段4105-4120對縮放工具的放大操作。第一階段4105與圖36的第一階段3605相同,縮略圖顯示區3530位于gui3500的右側,并且圖像3555按照查看模式顯示于圖像顯示區3545內。
第二階段4110示出了在用戶已經通過提供在圖像3555上的兩個單獨的觸摸輸入來調用縮放工具之后的gui3500。如圖所示,用戶已經在高爾夫球的位置附近在圖像3555上以兩個手指進行敲擊。作為兩個單獨的觸摸輸入的結果,應用將縮放環3525疊置于圖像3555上,該縮放環3525的中心在兩個單獨的觸摸輸入之間的中點。另外,由于gui處于左手模式,因而應用在縮放環3525的左側顯示放大信息3535。在某些實施例中,默認放大率是2x放大,放大率可在1x和3x之間變化。
第三階段4115示出了在用戶已經開始使用縮放工具來增大圖像的放大率之后的gui3500。如上所述,用戶能夠通過提供逆時針的旋轉輸入來增大圖像在縮放工具內的區域的放大率。如圖所示,用戶已經開始按逆時針方向來旋轉兩個手指,如箭頭4125所示。作為逆時針旋轉輸入的結果,圖像在縮放環3525內的區域被顯示為進一步放大的。
第四階段4120示出了在用戶已經使用縮放工具進一步增大圖像的放大率之后的gui3500。如圖所示,用戶已經繼續按逆時針方向旋轉兩個手指,如箭頭4130所示。作為旋轉移動的結果,圖像在縮放環3525內的區域在第四階段4120中與第三階段3815中的圖像相比被更多地放大。在該階段,縮放工具處于最大的3x的放大級別。
回過去參照圖37,當應用在狀態3720下接收到順時針的旋轉輸入時,gui轉變為狀態3740以減小圖像在縮放工具內的區域的放大率。在某些實施例中,用戶能夠通過將兩個手指放于縮放環上并按照順時針方向旋轉兩個手指來提供順時針的旋轉輸入。如同逆時針旋轉一樣,某些實施例通過跟蹤兩個輸入的位置并測量連接位置的直線的角度來識別該輸入。在減小了圖像于縮放環內的區域的放大率之后,只要用戶不繼續旋轉其手指,gui就返回到狀態3720。
圖42示出了通過gui3500按照四個不同階段4205-4220對縮放工具的縮小操作。在第一階段4205的gui3500與圖41的在第四階段4120的gui相同。如圖所示,gui3500包括放大率為3x的縮放環3525并且圖像在縮放環內的區域被放大。
第二階段4210示出了在用戶已經開始使用縮放工具來減小圖像的放大率之后的gui3500。如上所述,用戶能夠通過提供順時針的旋轉輸入來減小圖像在縮放環內的區域的放大率。如圖所示,用戶已經開始按順時針方向旋轉兩個手指,如箭頭4225所示。作為順時針旋轉輸入的結果,應用已經減小了圖像在縮放環3525內的區域的放大率。
第三階段4215示出了在用戶已經使用縮放工具進一步減小圖像的放大率之后的gui3500。如圖所示,用戶已經繼續按順時針方向旋轉兩個手指,如箭頭4230所示。作為旋轉移動的結果,圖像在縮放環3525內的區域在第三階段4215中與第二階段4210相比被進一步縮小。第四階段4220示出了在用戶已經抬起兩個手指使其離開縮放環3525之后的gui3500。如圖所示,圖像在縮放環3525內的區域在用戶抬起手指之后保持為與在第三階段4215中的圖像的區域相同。
如同右手縮放工具一樣,用戶能夠在左手模式下將工具移動到圖像的不同區域附近。雖然用于放大和縮小的手勢對于左手和右手模式是方向相反的,但是在某些實施例中,移動縮放環在任意模式下都包括相同的手勢。回過去參照圖37,當縮放工具接收到環移動激活事件時,縮放工具轉變為移環狀態3750。在某些實施例中,環移動激活事件涉及用戶用手指長按(即,單觸摸輸入)縮放環。在移環狀態3750期間,縮放環跟隨著用戶輸入的移動。也就是,縮放環移到用戶將手指移到的任何地方。縮放工具保持為該狀態,直到接收到縮放環移動解除激活事件。在某些實施例中,用戶能夠通過將手指抬離縮放環來解除激活縮放環移動操作。在接收縮放環移動解除激活事件時,縮放工具返回到狀態3720。當縮放工具在狀態3720下接收到在縮放環之外的輸入(例如,在縮放環之外的單觸摸)時,縮放工具轉變回到初始狀態3710,gui處于左手模式。
iv.多個圖像的顯示
雖然上述實例中的許多實例示出了在圖像顯示區內只有一個圖像的gui,但是某些實施例允許用戶選擇幾個圖像用于同時顯示。在各種實施例中,用戶可利用不同的處理以便顯示多個圖像。用戶能夠選擇在合集中的特定圖像(通過以特定類型的選擇輸入來選擇相應的縮略圖),并且應用自動地識別在合集中的與所選圖像的相似度在閾值之內的任何其他圖像。另外,用戶能夠通過長按每個縮略圖持續閾值持續時間來選擇在縮略圖顯示區內的圖像區塊(例如,通過在多點觸摸裝置上的單獨輸入)或者若干個體圖像。另外,某些實施例還包括用于同時選擇多個圖像的設置菜單選項。
當多個圖像被選擇用于在圖像顯示區內顯示時,某些實施例使用用于在確保所有圖像的視覺加權都相等的同時使顯示的使用率最大化的顯示算法。在某些實施例中,應用識別出要顯示的圖像的平均縱橫比,然后針對圖像的數量將圖像顯示區劃分成理想網格,網格的每個矩形區域都具有平均縱橫比。然后,應用使每個圖像適合于網格矩形之一內。
a.相似圖像的識別和顯示
如上所述,用于選擇多個圖像來顯示于圖像顯示區內的方法之一是選擇圖像并促使應用識別出在同一合集內的與所選圖像之間的相似度在閾值之內的任何圖像。在某些實施例中,當用戶在縮略圖上雙敲擊(或雙擊)時,應用自動地將合集內的其他圖像與所選圖像進行比較。為了執行兩個圖像之間的比較,某些實施例使用每個圖像的柱狀圖集合,并且確定圖像柱狀圖的相似度是否在閾值之內。某些實施例使用顏色、紋理及梯度柱狀圖,但其他實施例也可以使用其他像素性質來比較圖像。為了使比較聚焦于圖像的更重要部分(例如,中心),某些實施例將圖像劃分成幾個區域并且比較相應區域的柱狀圖。區域可以是重疊的,使得某些像素(例如,在圖像中心的像素)與其他像素相比用于更多的區域。
圖43在概念上示出了用于識別并顯示合集內的相似圖像的某些實施例的處理4300。某些實施例的圖像查看、編輯及組織應用響應于在應用處于查看模式下顯示相似圖像的用戶命令而執行該處理。處理4300將部分地參照圖44-46來描述。圖44示出了經由其中用戶選擇特定圖像并且應用識別出在合集內與所選圖像相似的圖像集合的三個階段4410-4430的圖像查看應用的gui4400。
gui4400包括縮略圖顯示區4405和圖像顯示區4415。這些顯示區類似于以上針對圖14所描述的那些顯示區。如同在圖像顯示區4415上方的欄區所示出的,縮略圖顯示區4405顯示在合集“相冊1”中的圖像的縮略圖集合。
如圖所示,處理4300首先開始接收(在4305)對在相冊內的特定圖像的選擇以及用于識別相似圖像的命令。如上所述,當用戶在圖像的縮略圖上雙敲擊(即,在同一縮略圖值上的于閾值持續時間之內的兩次快速連續的敲擊)或雙擊時,某些實施例自動地執行該處理。但是,該特征還能夠通過其他gui交互來訪問,例如,與所選圖像一起選擇菜單選項或單獨的gui項目、鍵入鍵擊集合等。
圖44的第一階段4410示出:當前在縮略圖顯示區4405內沒有選定任一縮略圖。在第二階段4420中,用戶以單個手指雙擊縮略圖4425。該圖像示出高爾夫球手剛好擊打了高爾夫球。如同能夠從縮略圖顯示區4405中所看見的,合集包括該高爾夫球場景的四個其他圖像,以及各種無關圖像。
然后,處理4300輸出(在4310)與圖像比較操作關聯的聲音效果。本領域技術人員應當意識到,各種不同的實施例可以使用不同的聲音效果,并且某些可以完全不輸出聲音效果。在某些實施例中,所使用的聲音效果可以被設計為模擬人在翻閱大的實體相片集,或者為讓人感覺處理器在執行計算。雖然聲音效果的輸出在概念上被示于在比較操作之前執行的處理4300中,但是在許多情況下,在用于運行應用的裝置上的處理器將會在裝置輸出聲音效果的時間內執行比較所必需的計算。
然后,該處理檢索(在4315)所選圖像的統計信息。在某些實施例中,統計信息包括用于提供圖像相關的信息的柱狀圖集合。在某些實施例中,柱狀圖提供有關圖像中的顏色分布、圖像中的顏色的變化性以及出現于圖像內的形狀的信息。如同以下參照圖47更詳細地描述的,某些實施例的應用將每個像素放置于顏色范圍、紋理范圍及梯度范圍之內。顏色標識像素在特定的顏色空間中的位置,紋理標識像素的顏色數據與其相鄰像素的顏色數據的相似或差異程度,并且梯度標識像素相對其相鄰像素的強度變化方向及大小。除了這些(及其他)柱狀圖之外,某些實施例還使用其他信息來比較圖像,例如,文件名、用戶輸入的描述、exif數據等。
在某些實施例中,應用將圖像劃分成幾個區域并且比較兩個圖像的相應部分的柱狀圖。不同的實施例對圖像的劃分不同。圖45在概念上示出了將圖像4500分成9個不同圖塊的這樣一種劃分,該9個圖塊中的每個圖塊是圖像尺寸的四分之一。圖45使用四個面板4505-4520來示出這9個圖塊4525-4565。前四個圖塊4525-4540是圖像4500的四個角部區域。隨后兩個圖塊4545和4550(在面板4510中)占用了圖像的垂直中心,而在面板4515中的圖塊4555和4560占用了圖像的水平中心。最后,最后的面板4520僅具有中心位于圖像的實際中心點的一個圖塊4565。
使用該特定的區域集合對圖像的某些像素給予了相對其他像素更多的權重,使得這些像素在兩個圖像的比較中更加重要。圖46示出了由對圖像4500的這種特定劃分產生的16個像素象限,并且圖塊4525-4565的像素包括來自每個象限的像素。如圖所示,在四個角部的象限僅包含于一個圖塊內,并且因而這些像素只貢獻于圖像的9個柱狀圖集合之一。僅與圖像的一個邊接界的8個象限每個都包含于兩個圖塊內,而四個中心象限每個都包含于四個圖塊內。因而,在與不同圖像比較時,中心像素的權重將為角部像素的四倍還要大。
在某些實施例中,應用預先地計算出柱狀圖(以及任何其他統計信息),而不是在被要求識別相似圖像時執行所有計算。某些實施例在應用首次導入圖像時生成圖像的柱狀圖,并且將圖像的柱狀圖與圖像一起存儲(例如,作為在圖15的圖像數據結構1500中的附加數據的一部分,如上所述)。在9個圖塊每個都有三個柱狀圖的情況下,某些實施例為每個圖像存儲27個不同的柱狀圖。
返回到圖43,處理4300然后從當前顯示的合集(初始選定的圖像是該合集的一部分)中選擇(在4320)新的比較圖像。某些實施例從存儲于合集數據結構內的有序系列的開始處開始遍歷圖像,然而其他實施例從在有序系列中于所選圖像之后的下一圖像開始,隨機選擇合集中的圖像,或者使用別的算法。
然后,該處理檢索(在4325)當前比較圖像的統計信息。這些統計信息是與針對用戶選定圖像檢索的統計信息相同的統計信息(即,圖像的各種不同區域的顏色、紋理及梯度的柱狀圖)。如上所述,某些實施例預先計算這些柱狀圖并且以圖像的數據結構來存儲柱狀圖。
然后,處理4300將特定的用戶選定圖像的統計信息與當前比較圖像的統計信息進行比較(在4330)。不同的實施例不同地執行該比較。某些實施例將所選圖像的每個柱狀圖與當前比較圖像的相應柱狀圖進行比較。例如,第一圖像的圖塊1的顏色柱狀圖與第二圖像的圖塊1的顏色柱狀圖比較,第一圖像的圖塊5的紋理柱狀圖與第二圖像的圖塊5的紋理柱狀圖比較,等等。正因如此,某些實施例執行27個不同的比較,以便用來確定這兩個圖像是否被認定為相似的。
為了比較不同圖像的柱狀圖,不同的實施例使用不同的技術。每個柱狀圖是由值的范圍定義的倉段集合。倉段可以是一維的或多維的。例如,紋理由單個值定義,并且因而每個倉段是該紋理值的范圍。像素的梯度被定義為具有角度和長度(或者,作為選擇,x向值和y向值)兩者的矢量。因而,每個倉段將含有落入特定的角度范圍和特定的長度范圍內的像素。像素的顏色值通常為在顏色空間(例如,rgb空間、hsl空間、ycbcr空間或者不同的顏色空間)中的三維值。因而,每個倉段在這三個維度中的每個維度內都將具有確定的范圍,如同以下參照圖48-50更詳細地描述的。
應用比較在第一圖像的柱狀圖的每個倉段內的像素數量與在第二圖像的相應的柱狀圖的每個相應倉段內的像素數量。某些實施例使用均方根函數來計算兩個柱狀圖之間的差異,該均方根函數對柱狀圖的每個倉段的差值的平方的均值求平方根。作為簡化的實例,如果第一柱狀圖具有值[4,2,1,5],并且第二柱狀圖具有值[3,2,4,3],則均方根函數是:
sqrt[{(4-3)2+(2-2)2+(1-4)2+(5-3)2}/4]=sqrt(3.5)=1.87。
應用然后將均方根輸出與在柱狀圖內的像素的總數(即,圖像的像素數量的四分之一)進行比較以確定比較得分。該比較得分針對每個柱狀圖(即,在所示的實例中為27個不同的柱狀圖)來計算。某些實施例不是使用均方根分析,而是使用在兩個柱狀圖之間的簡單的偏差均值,或者用于量化在兩個柱狀圖之間的差異的某些其他算法。
為了將具有不同數量的像素的圖像的柱狀圖進行比較,某些實施例確定像素計數比并且將較小圖像的柱狀圖值乘以該量。其他實施例只比較具有相同的像素數量和縱橫比的圖像。
某些其他實施例將每個柱狀圖值除以在圖像(或圖塊)內的像素總數,從而具有相對于整個柱狀圖和為1的小數的柱狀圖。在某些這樣的實施例中,應用使用乘法函數的平方根來比較柱狀圖。該函數對與其在第二柱狀圖中的相應倉段值相乘的在第一柱狀圖內的每個倉段值求平方根,然后在柱狀圖中的整個倉段集合上對這些平方根求和。因而,對于具有值[0.1,0.4,0.3,0.2]的第一簡單柱狀圖以及具有值[0.35,0.25,0.3,0.1]的第二柱狀圖,得分將為sqrt(0.1*0.35)+sqrt(0.4*0.25)+sqrt(0.3*0.3)+sqrt(0.2*0.1)=0.9447。如果柱狀圖是相同的,則該比較方法給出得分1,并且隨著柱狀圖變得越來越不同而減小。
由其他實施例采用的其他方法使用重疊的顯著倉段的總和。該處理只計算在兩個柱狀圖中的值都大于特定閾值的倉段。閾值可以是用來生成柱狀圖的總體像素的特定百分比,或者倉段數的函數(例如,5/n,其中n是倉段數)。當第一及第二柱狀圖兩者的倉段的值大于閾值時,這些值被加到總得分上,用于柱狀圖比較。在該比較中,得分能夠為0(如果沒有重疊的顯著倉段)至2(如果所有像素都在重疊的顯著倉段內)。該比較技術防止在小的(并且因此為意義不大的)柱狀圖倉段中的差異模糊比較處理。
在比較兩個圖像的統計信息的情況下,處理4300確定(在4335)圖像的相似度是否在閾值之內。在某些實施例中,應用對每個柱狀圖的比較得分求均值并且確定平均得分是否落入閾值之內。這確保了較小的差異(例如,在圖像角部的項目的存在與不存在)不會防止兩個另外相似的圖像照此被識別出。
其他實施例執行對顏色柱狀圖差異的第一平均、對紋理柱狀圖差異的第二平均,以及對梯度柱狀圖差異的第三平均。某些這樣的實施例要求全部三個平均比較得分都落入閾值之內,但其他實施例只要求三個平均得分中的兩個滿足閾值。在另外一些實施例中,應用將每個柱狀圖比較得分與閾值進行比較,并且要求特定數量(例如,它們全部、18/27等)的得分滿足閾值以便將兩個圖像看作是相似的。
在某些實施例中,應用對于顏色、梯度及紋理柱狀圖的相似度使用不同的閾值。例如,應用可以允許顏色柱狀圖的可變性比梯度柱狀圖的大,因為這樣做將允許不同的曝光圖像或者陰天相對于晴天的圖像在它們具有相同的形狀時被認為是相似的。
在某些實施例中,相似度閾值基于機器學習決策樹技術。這種技術使用之前已經被劃分為相似的或不相似的樣本圖像對,并且為圖像計算不同的比較得分(例如,使用以上所述的比較技術中的一種或多種)。這些得分然后針對相似的和不相似的圖像對來分析,以便為比較得分識別出有用的閾值或者閾值組合。
當圖像的相似度在閾值之內時,處理將當前的比較圖像添加(在4340)到被劃分為與特定圖像相似的圖像組。也就是,當前的比較圖像成為將連同用戶選定圖像以及任何其他相似的圖像一起顯示于圖像顯示區內的選定圖像之一。
處理4300然后確定(在4345)當前的合集是否含有該處理尚未將其與特定的用戶選定圖像進行比較的任何別的圖像。如上所述,應用遍歷整個合集,即使合集包括由應用導入的全部圖像也是如此。當仍有別的圖像時,處理返回到4320以如同當前的比較圖像那樣設置下一圖像。
一旦在當前合集中的所有圖像都已經與用戶選定圖像進行了比較,處理就在圖像顯示區內顯示(在4350)特定的用戶所選圖像及其相似的圖像。返回到圖44,第三階段4430示出了用戶以雙擊輸入選擇縮略圖4425的結果。在該階段中,應用在圖像顯示區內顯示四個圖像4435-4450。這些是示出高爾夫球手的五個圖像中的四個。第五個圖像,縮略圖4455差異很大以致于無法被認為是相似的(例如,因為高爾夫俱樂部的不同位置導致梯度差異足夠大或者因為圖像的暗度導致顏色差異足夠大)。圖像4435-4450的縮略圖現在具有高亮邊以便指示這些圖像被選擇用于查看。某些實施例根據在全部圖像上保持相等的視覺加權的算法而在圖像顯示區4415內顯示圖像(但這在本例中不成為問題,因為圖像的縱橫比是相等的)。
圖43的處理4300描述了應用如何通過比較圖像的各種柱狀圖來執行多個圖像之間的比較。圖47在概念上示出了根據本發明的某些實施例的用于生成柱狀圖集合的處理4700。如上所述,某些實施例預先計算出柱狀圖(例如,在圖像導入時生成柱狀圖,并且將它們與圖像一起保存),并且因而在圖像被導入應用時對每個圖像執行處理4700或類似的處理。處理4700將部分地參照圖48-50來描述,所述圖48-50在概念上示出了通常由應用用來生成圖像的顏色柱狀圖集合的顏色空間。
如圖所示,處理4700從接收圖像開始(在4705)。典型的圖像包括排列成矩形的像素集合。每個像素一般地通過(i)在特定的顏色空間中的顏色值集合以及(ii)在矩形中的位置來定義。圖像可以為編碼形式,在這種情況下,應用對圖像解碼以便識別圖像的像素的顏色值。
處理計算(在4710)在該處理將為其生成柱狀圖的不同圖塊的圖像內的尺寸。如同以上參照圖45和46所描述的,某些實施例為9個不同圖塊中的每個圖塊生成三個柱狀圖。處理確定每個圖塊的像素尺寸。例如,如果圖像具有像素尺寸640x480(即,640個像素在水平方向上以及480個像素在垂直方向上),圖塊14525將使用角部在(1,1)(圖像的左側角部)和(320,240)(圖像的中心)的像素矩形,而圖塊94565將使用從像素位置(161,121)到(480,360)的矩形。
然后,該處理選擇(在4715)圖像的下一像素。某些實施例遍歷每行像素,從在左上角的像素(1,1)開始,首先沿著頂行遍歷,并然后下到下一行等。其他實施例按照不同方式(例如,隨機地、列優先等)來選擇像素。
然后,處理4700識別出(4720)選定像素所屬的圖像的全部圖塊。使用圖45和46所示的圖塊方案,朝角部定位的像素將只屬于圖像的一個區域,而位于中央的像素將屬于四個區域。使用該方案,在只接近一個邊的象限內的像素屬于兩個區域。
然后,該處理開始生成柱狀圖。在該實例處理4700中,應用首先生成顏色值,然后是紋理值,并且最后是梯度值。但是,本領域技術人員應當意識到,不同的實施例會按照不同的順序來執行這些計算,或者并行地執行它們。
處理將像素值轉換(在4725)為色調飽和值(hsv)的顏色空間。所存儲的像素值通常在裝置專用的rgb顏色空間中,并且轉換為hsv只需要簡單的變換。圖48在概念上示出了hsv顏色空間4800,該hsv顏色空間4800是被設計為比笛卡爾rgb坐標系更直觀的且更感知相關的圓柱坐標系。如圖所示,在顏色空間4800中,色調由角度維度表示,紅色通常主要位于角度0,綠色主要位于120°,而藍色主要位于240°。徑向維度表示飽和度,范圍為從中心的0飽和度(非彩色)到外邊緣處的完全飽和(純色)。垂直軸表示亮度,在中心的亮度范圍為從黑色(亮度=0)到白色(亮度=1)。
hsv顏色空間只是能夠被用來生成顏色柱狀圖的一種可能的顏色空間。某些實施例使用不同的顏色空間,例如,hsl(色調-飽和度-亮度)顏色空間、ycbcr(亮度-色度)顏色空間,或者其他開發人員定義的顏色空間。其他實施例不執行顏色轉換,并且只使用其中像素已經被定義的裝置的伽馬校正型rgb空間。
在像素值已轉換的情況下,處理4700然后識別出(在4730)當前選定的像素所屬的hsv顏色空間的區域。每個區域是在顏色空間中的三維區域。但是,在某些實施例中,區域在顏色空間中具有不同的尺寸,使得每個區域覆蓋容量相似的人眼可辨別的顏色空間。也就是,與人眼可容易辨別不同顏色值的顏色空間的區域相比,在人眼難以辨別不同顏色值的顏色空間的區域內,該區域是較大的。
例如,兩個區域可以具有不同的色調范圍、不同的飽和度范圍,和/或不同的值范圍。圖49示出了hsv顏色空間的圓形截面4900(即,在恒定值),兩個區域被定義。第一區域4905處于色調維度的紅色部分,而第二區域4910處于色調維度的藍色部分。一般地,人眼能夠更容易地辨別藍色的形狀,而不是紅色的形狀,所以某些實施例使用在顏色空間的藍色部分中具有比在顏色空間的紅色部分中較小色調范圍的區域,如本例所示。
圖50示出了被劃分成兩個區域5005和5010的hsv顏色空間的三維部分5000。在這種情況下,兩個區域的飽和度及色調是相等的,但是值范圍是不同的。本領域技術人員應當意識到,這些區域只是示例,并且區域可以具有在顏色空間中的任意形狀。雖然在圖49和圖50都沒有示出,但是在特定的色調和值之內,多個區域能夠針對不同的飽和度范圍來定義。而且,區域不需要在所有維度下都是恒定的范圍。例如,特定的區域可以具有相對于其外部飽和度的第一色調范圍以及相對于其最內部飽和度的不同的第二色調范圍,只要區域占用整個顏色空間即可。
返回到圖47,處理4700通過將像素與圖像內的相鄰像素進行比較來計算(在4735)當前選定的像素的紋理值。某些實施例使用用于將像素的亮度值與周圍像素的亮度值進行比較以確定像素的單個紋理值的紋理計算。為了確定像素亮度,某些實施例對rgb像素值執行計算。其他實施例將像素的不同性質(除亮度外)與相鄰像素的性質進行比較。
由某些實施例使用的新的紋理計算算法參照圖51來描述。該圖示出了由某些實施例用來計算中心像素(p0)的紋理的9個像素。最初,某些實施例計算每個像素的強度值(類似于明度、亮度或值)。這基本上是rgb值的加權平均,其可以給予一種或另一種顏色通道值更高的權重。例如,某些實施例對紅色顏色通道設置更高的權重。
在圖51中的像素具有i0(對于像素p0)至i8(對于像素p8)的強度值。某些實施例的紋理計算使用一組條件檢查來確定紋理值。本領域技術人員應當意識到,紋理值不對應于物理量,而是僅僅為不同的倉段。某些實施例的紋理計算如下:
·若p0具有窗口中的最大強度,則指定0至p0的紋理;
·若p0具有窗口中的最小強度,則指定1至p0的紋理;
·若p0不具有最小或最大的強度,但是i0,i1,...,i8全都在彼此的閾值之內(即,它們全都具有相同的或相似的強度),則指定2至p0的紋理。
若這三個條件都不滿足,則應用計算下列差值:
·(i1+i2+i3)-(i6+i7+i8);
·(i3+i5+i8)-(i1+i4+i6);
·(i1+i2+i4)-(i5+i7+i8);
·(i2+i3+i5)-(i4+i6+i7)。
然后,應用確定這些差值中的哪個差值具有最大的絕對值,因為其指示了在窗口內于像素p0周圍的最大強度變化的方向。第一差值對應于強度的垂直變化,第二差值對應于強度的水平變化,第三差值對應于從右上角到左下角的變化,而第四差值對應于從右下角到左上角的變化。
如果第一不等量是最大的,則應用指定下列兩個紋理值之一:
·若(i1+i2+i3)>(i6+i7+i8),則指定3至p0的紋理;
·若(i1+i2+i3)<=(i6+i7+i8),則指定4至p0的紋理。
如果第二不等量是最大的,則應用指定下列兩個紋理值之一:
·若(i3+i5+i8)>(i1+i4+i6),則指定5至p0的紋理;
·若(i3+i5+i8)<=(i1+i4+i6),則指定6至p0的紋理。
如果第三不等量是最大的,則應用指定下列兩個紋理值之一:
·若(i1+i2+i4)>(i5+i7+i8),則指定7至p0的紋理;
·若(i1+i2+i4)<=(i5+i7+i8),則指定8至p0的紋理。
最后,如果第四不等量是最大的,則應用指定下列兩個紋理值之一:
·若(i2+i3+i5)>(i4+i6+i7),則指定9至p0的紋理;
·若(i2+i3+i5)<=(i4+i6+i7),則指定10至p0的紋理。
因而,應用基于不等量將每個像素指派給11個不同的紋理倉段之一。本領域技術人員應當意識到,雖然該示例示出了3x3像素窗口,但是某些實施例將使用5x5的窗口,每個不等量在每一側具有10個像素強度,而不是3個。
在算得選定像素的紋理的情況下,處理4700然后識別出(在4740)像素所屬的紋理范圍。由于紋理是一維值,因而紋理柱狀圖的每個倉段表示沿該一個維度的特定范圍。如同顏色柱狀圖一樣,不同的紋理范圍可以不一定是長度相等的。
處理4700還通過識別出在相鄰像素中的最大變化方向來計算(在4745)梯度值。某些實施例使用用于識別像素的強度在水平和垂直兩個方向上的變化方向和大小的梯度計算。例如,某些實施例使用只測量相對強度變化的梯度(即,與水平變化相比的垂直變化)。某些實施例使用公式,即梯度θ=atan2(δi/δy,δi/δx),其中i仍為強度(用于以上給出的紋理計算的相同值)。
再次參照圖51,p0的梯度為θ=atan2(i2-i7,i4-i5)。atan2函數是用于針對兩者不全等于0的任意實變變量(y,x)給出在笛卡爾平面的正x軸與由在平面上的坐標(x,y)給出的點之間的弧度角的函數。因而,某些實施例的梯度是與在垂直強度變化和水平強度變化之間的相對差值相關的角度。
在梯度被算出的情況下,處理然后識別出(在3850)像素所屬的梯度范圍。以上給出的梯度是一維值(即,僅為角度)。在某些實施例中,梯度是二維值(例如,表示為x-y矢量或者角度和長度)。因而,梯度柱狀圖的每個倉段表示x和y梯度值的特定的范圍。如同顏色柱狀圖一樣,不同的梯度范圍在笛卡爾x-y空間中可以不一定是尺寸相等的。
在范圍針對像素的三種不同性質來識別出的情況下,處理將像素添加(在4755)到在操作4720確定的像素所屬的圖像的每個圖塊的顏色、紋理及形狀(梯度)柱狀圖。如上所示,對于以上圖形所示的圖塊方案,取決于像素的位置,這可以是3個不同的柱狀圖、6個不同的柱狀圖或者12個不同的柱狀圖。
在分析了當前選定的像素后,處理4700確定(在4760)在圖像中是否還有任何別的像素尚未分析。當還有別的像素時,處理4700返回到操作4715以選擇下一像素。一旦全部像素都已經被分析,則處理結束。
圖52在概念上示出了用于生成柱狀圖并針對相似度來比較圖像的某些實施例的圖像查看、編輯及組織應用的某些部分的軟件體系結構。圖52示出了柱狀圖生成模塊5200、相似度比較器5250及圖像選擇器5275。另外,該圖示出了圖像數據5280(即,由應用存儲的圖像數據結構和圖像文件)以及合集數據5285(即,由應用存儲的合集數據結構)。
柱狀圖生成模塊5200接收圖像(例如,圖像查看應用正在導入的圖像)并且為圖像的各個區域生成顏色、紋理及形狀的柱狀圖,然后將這些柱狀圖與圖像一起存儲。柱狀圖生成模塊5200包括圖像分塊器5205、hsv轉換器5210、強度計算器5215、紋理計算器5220、梯度計算器5225及柱狀圖生成器5230。
如圖所示,圖像分塊器5205、hsv轉換器5210及強度計算器5215接收圖像數據。圖像分塊器5205接收圖像,識別圖像的尺寸,并且計算不同區域在圖像中的坐標(即,像素坐標),對于這些區域,柱狀圖生成模塊5200將為其生成柱狀圖。圖像分塊器5205將這些圖塊坐標傳遞給柱狀圖生成器5220。
hsv轉換器5210接收圖像的像素數據并且將每個像素轉換到hsv顏色空間(例如,從rgb空間)。本領域技術人員應當意識到,不同的實施例可以使用不同版本的rgb-hsv轉換,或者可以使用完全不同的顏色空間。hsv轉換器將圖像的每個像素的這種顏色空間數據傳遞給柱狀圖生成器5220。
強度計算器5215還接收圖像的像素數據并且計算每個像素的強度值。如同hsv轉換器一樣,不同的實施例可以使用不同的計算來從rgb像素值中得出強度。強度計算器5215將該強度數據提供給紋理計算器5220和梯度計算器5225。
紋理計算器5220計算每個像素的紋理值(例如,使用以上所述的紋理算法,或者不同的處理)并且將這些值提供給柱狀圖生成器5220。梯度計算器5225計算每個像素的梯度值(例如,使用以上所述的梯度算法,或者不同的處理)并且將梯度值提供給柱狀圖生成器5220。
柱狀圖生成器5220使用顏色數據、紋理值及梯度值來生成接收自圖像分塊器5205的每個圖塊的柱狀圖。柱狀圖生成器5220接收例如每個像素的紋理值。對于特定的像素,柱狀圖生成器基于像素坐標來識別該像素屬于哪個(可能是多個)圖塊。生成器然后將紋理值添加至一個或多個圖塊的適當的柱狀圖倉段。柱狀圖生成器5220將這些柱狀圖存儲于圖像的圖像數據5280內。
相似度比較器5250識別類似于特定的用戶選定圖像的圖像。如圖所示,相似度比較器5250包括比較得分生成器5255和閾值檢查器5260。當用戶請求特定圖像的相似圖像時,相似度比較器5250接收來自合集數據5285的圖像列表(例如,在特定合集中的圖像的列表)。相似度比較器5250檢索圖像的柱狀圖并且計算每對圖像的一個或多個比較得分。
閾值檢查器5260接收比較得分并且確定每對圖像是否被認定為相似的。如上所述,閾值檢查器可以對不同的得分執行各種不同的檢查(在某些實施例中,存在27個不同的比較得分)。閾值檢查器5260將相似圖像的列表輸出到圖像選擇器5275,該圖像選擇器5275為gui管理對特定圖像的選擇。
b.多個圖像的用戶選擇
如上所述,某些實施例提供用于選擇多個圖像以便同時查看所選圖像的各種其他方法。例如,應用可以運行于可多點觸摸的裝置(即,能夠識別到多個不同的與觸摸屏接觸的點的裝置、觸摸板等)上并且將在縮略圖顯示區上的多點觸摸輸入轉譯成對縮略圖的區塊選擇。而且,某些實施例允許用戶長按縮略圖以便將縮略圖添加到所選圖像的集合中。
圖53在概念上示出了用于選擇在圖像顯示區內的縮略圖區塊的某些實施例的處理5300。在某些實施例中,應用接收多點觸摸選擇以便選擇該區塊。圖53將參照圖54和55來描述,該圖54和55示出了選擇這樣的縮略圖區塊的實例。這兩個圖都示出了gui5400的三個階段,該gui5400包括縮略圖顯示區5405和圖像顯示區5415,類似于在以上所述的gui中的相應顯示區。圖54的第一階段5410和圖55的第一階段5510兩者都示出了尚未有選定的圖像的gui5400。
如圖所示,處理5300首先開始接收(在5305)在縮略圖顯示區內的兩個單獨的且至少部分一致的選擇。應用可以接收來自能夠轉譯多點觸摸輸入的裝置的觸摸屏的這些選擇。例如,用戶可以使用兩個手指在縮略圖顯示區內的兩個單獨的縮略圖上按下。因為用戶不太可能正好在同一時刻以兩個手指與觸摸屏進行初始接觸,所以某些實施例只要求輸入是部分一致的。
然后,該處理識別出(在5310)在縮略圖顯示區內與第一觸摸選擇關聯的第一縮略圖以及(在5315)與第二觸摸選擇關聯的第二縮略圖。某些實施例使每個縮略圖與特定的二維屏幕像素陣列關聯,該屏幕像素陣列在縮略圖滾動通過顯示區時改變。當用戶在縮略圖網格上觸摸屏幕時,該觸摸輸入被轉譯成一組像素值(例如,特定半徑的圓形、特定邊長的方形等)。然后,應用將這些像素值與縮略圖的像素值進行比較以便確定用戶正在選擇哪個縮略圖。某些實施例識別出與觸摸輸入像素的最大的部分對應的縮略圖。
圖54的第二階段5420示出了用戶以其食指敲擊第一縮略圖5425并以其拇指敲擊第二縮略圖5435。假定左上方的縮略圖表示在合集中的第一圖像,則這些是在圖像的有序合集中的第三和第八縮略圖。在圖55的第二階段5520中,用戶敲擊第一縮略圖5505(在有序合集中的第四縮略圖)并同樣敲擊第二縮略圖5435。
在用于選擇的邊界縮略圖被識別出的情況下,處理5300確定(在5320)第一縮略圖是否在顯示區內的第二縮略圖之前。順序可以根據在合集數據結構中的順序值(例如,對用于存儲縮略圖的圖像數據結構的引用的陣列索引)來確定,或者相對順序可以從縮略圖顯示于其上的屏幕像素中得出。
某些實施例使用作為第一縮略圖來接收的第一輸入以及作為第二縮略圖來接收的第二輸入。但是,為了適當地定義該選擇,應用在順序上需要第一縮略圖于第二縮略圖之前到來。正因如此,當第一縮略圖在第二縮略圖之后時,處理切換(在5325)第一及第二縮略圖使得第一縮略圖在順序上首先到來。
然后,處理選擇(在5330)縮略圖在從第一縮略圖到第二縮略圖的網格中的所有圖像。例如,在圖54中,縮略圖3和8是第一及第二縮略圖。正因如此,縮略圖3至8中的所有縮略圖都由該用戶動作選中。同樣地,在圖55中,縮略圖4至8將被選中。
然后,該處理在選中的縮略圖上顯示(在5335)選擇指示符。某些實施例使用兩種不同形式的選擇指示符來指示選中的縮略圖是對應于次選定圖像(即,若干選定圖像之一)還是對應于主選定圖像(即,作為顯示于圖像顯示區內的唯一圖像的活動圖像)。
因此,處理5300還在圖像顯示區內顯示(在5340)所選圖像。當多個圖像以處理5300按照塊的方式來選擇時,某些實施例總是在圖像顯示區內顯示全部圖像。在某些實施例中,應用通過為每個圖像使用數量近似相等的像素而使用相同的視覺加權來顯示全部圖像。用于識別理想顯示的某些實施例的處理將在下面于本部分的分部c中描述。
圖54的第三階段5430和圖55的5530示出了各個多點觸摸區塊選擇的結果顯示。在階段5430中,從縮略圖5425到縮略圖5435的全部六個縮略圖都以淺淡的高亮(thinhighlight)來顯示。另外,應用在圖像顯示區內以相等的尺寸來顯示這六個圖像。階段5530示出了少一個選定縮略圖的相同結果。因為應用在圖像顯示區5415內只顯示五個圖像,所以兩個圖像被顯示為中心沿著底行,但是具有與沿頂行顯示的其他圖像相同的尺寸。可從這兩個圖像明顯看出,某些實施例在圖像顯示區內按照縮略圖在縮略圖顯示區內顯示的順序來顯示圖像(進而,該順序是圖像在合集數據結構內存儲的順序)。
除了多點觸摸區塊選擇之外,某些實施例還允許用戶長按縮略圖以便選擇縮略圖作為一組選定圖像中的一個。當用戶只是敲擊縮略圖時,這會導致對將作為單獨的選定圖像的相應圖像的選擇。另一方面,當用戶按住該輸入(例如,在觸摸屏上按下達閾值持續時間)時,應用保持對任何之前選定的圖像的選擇并且將縮略圖添加到選定圖像集合中。
圖56在概念上示出了用于將在未選定縮略圖上的用戶輸入轉譯為對縮略圖的選擇的某些實施例的處理5600。用戶同樣可以敲擊或長按已選中的縮略圖(該縮略圖可以是主選擇或次選擇),并且這些輸入將在下文參照圖66進行描述。另外,雖然該處理被描述為響應于觸摸屏輸入,但是本領域技術人員應當意識到,某些實施例實現用于非觸摸屏輸入的類似處理(例如,以鼠標點擊代替敲擊,以及以鼠標按鈕的長按代替在觸摸屏上的長按)。圖56將參照圖57來描述,該圖57示出了在gui5400中經由六個階段5710-5760的各種選擇輸入。
如圖所示,處理5600首先開始接收(在5605)在縮略圖顯示區內對未選定的縮略圖的單點觸摸輸入。在某些實施例中,應用具有用于解決在縮略圖顯示區上的全部輸入的單個處理。在其他實施例中,應用接收來自觸摸屏裝置的按照用于給出輸入類型(例如,敲擊、按住、掃動等)和屏幕位置的形式的多點觸摸信息。應用然后基于其當前狀態將該事件(輸入和位置)轉化成要采取的動作(例如,選擇項目、滑動顯示區、執行編輯等)。但是,這種在概念上的處理只處理對在縮略圖顯示區內的未選定的縮略圖上的單點觸摸輸入(即,敲擊或按住)的接收。
然后,該處理識別出(在5610)與觸摸輸入關聯的未選定的縮略圖。如同以上參照圖53所描述的,某些實施例使每個縮略圖與特定的二維屏幕像素陣列關聯,該屏幕像素陣列在縮略圖滾動通過顯示區時改變。當用戶在縮略圖網格上觸摸屏幕時,該觸摸輸入被轉譯成一組像素值(例如,特定半徑的圓形、特定邊長的方形等)。然后,應用將這些像素值與縮略圖的像素值進行比較以便確定用戶正在選擇哪個縮略圖。某些實施例識別出與觸摸輸入像素的最大的部分對應的縮略圖。
然后,該處理確定(在5615)輸入是否已經被從觸摸屏上去除。在該概念上的處理中,應用要在敲擊與按住之間作出決定,而觸摸屏裝置給應用提供關于觸摸屏的特定部分正接收觸摸輸入的基礎數據。如上所述,在某些實施例中,在敲擊與按住之間的區分在裝置層進行(例如,通過在裝置的操作系統內的框架),并且應用實際上應具有用于處理這些不同輸入的幾個不同的事件驅動型處理。
當輸入還沒有被從觸摸屏上去除時,處理確定(在5620)輸入是否已經存在達閾值持續時間。該持續時間是用戶必須保持與觸摸屏接觸以便使輸入被認定為長按而不是敲擊的時間長度。當按住的閾值持續時間還沒有達到時,應用返回到5615。實質上,這些兩個操作形成在敲擊(如果處理確定用戶在達到閾值持續時間之前已經從觸摸屏上去除輸入)與按住(如果在輸入仍然存在的情況下達到了持續時間)之間的確定。如上所述,某些實施例接收這個來自應用運行于其上的裝置的框架的確定。
當輸入在閾值持續時間之前從觸摸屏上去除時,處理選擇(在5625)所識別的縮略圖并且去除(在5630)對任何其他縮略圖的選擇。也就是,應用使所識別的縮略圖成為唯一選擇的縮略圖。然后,該處理在圖像顯示區內將與縮略圖關聯的圖像顯示(在5635)為單獨的圖像。然后處理結束。
圖57的第一階段5710示出了第一圖像顯示于圖像顯示區5415內且其相應的縮略圖5705被高亮顯示為主選擇的gui5400。如圖所示,在該階段,用戶以敲擊輸入來選擇縮略圖5715。第二階段5720示出:該敲擊選擇的結果是應用現在將縮略圖5715高亮顯示為主選擇,縮略圖5705不再高亮顯示。另外,與縮略圖5715對應的圖像5717被顯示于圖像顯示區5415內,因為這是唯一選擇的圖像。
返回到圖56,當輸入在縮略圖上存在達閾值持續時間時,應用選擇(在5640)所識別的縮略圖。然后,應用顯示(在5645)與縮略圖關聯的圖像,以及任何其他選定圖像。也就是,一個或多個圖像可能已經被選中,并且應用在圖像顯示區內顯示所有這些圖像。然后處理結束。
第二階段5720示出了用戶以長按選擇來選擇縮略圖5725(由小的時鐘圖標指示,該時鐘圖標是在概念上示出的并且不是gui的一部分)。結果,在第三階段5730中,應用顯示圖像5717和圖像5727兩者(該圖像5727對應于縮略圖5725)。而且,縮略圖5715和縮略圖5725兩者都高亮顯示為選中的。但是,應用使用較淺的選擇指示高亮,以便指出這兩個縮略圖都是次選擇并且在此時不存在主選擇。兩個圖像5717和5727按照保持縱橫比(即,不扭曲或裁切圖像)且最大化圖像尺寸的方式來顯示,這將在下文于分部c內解釋。
第三階段5730還示出:用戶再次執行長按選擇,此次在縮略圖5735上。在階段5740中,應用將圖像5737添加到圖像顯示區,按需要在顯示區內重排其他圖像。而且,縮略圖5735現在以次選擇高亮顯示來高亮顯示,與其他兩個縮略圖相同。
另外,用戶還在該階段執行多點觸摸區塊選擇,敲擊縮略圖5745和5755。如同在階段5750中所示,這導致除了這兩個敲擊的縮略圖之外對縮略圖5765的選定。結果,在階段5750中,6個縮略圖現在以較淺的選擇指示來高亮顯示,并且相應的6個圖像被顯示于圖像顯示區內。應用與之前的階段相比已經減小了這些圖像的尺寸以便使這6個圖像以相同的視覺加權適合于顯示區內。
在階段5750,用戶敲擊未選定的縮略圖5775。階段5760示出了該選擇的結果,圖像5777單獨地顯示于圖像顯示區內。其他6個縮略圖的選中被去除,并且應用顯示了在縮略圖5775上的較深的選擇指示的高亮顯示。
圖58示出了在某些實施例的移動電話和媒體播放器的gui1700中的相似的選擇操作集合。第一階段5810示出了用戶對縮略圖5805進行敲擊選擇,導致相應的圖像顯示于顯示區1715內。第二階段5820示出了對縮略圖5815的長按選擇,使得相應的圖像隨后被添加到圖像顯示區。然后,用戶對縮略圖5825和5835進行同時的敲擊選擇,使得與這些縮略圖以及它們之間的縮略圖5845對應的圖像被全部添加到圖像顯示區。
c.顯示多個圖像
前面的分部描述了在某些實施例中可用來選擇多個圖像用于在圖像顯示區內同時顯示的不同動作。如同簡要描述的,當在圖像顯示區內顯示多個圖像時,某些實施例保持每個圖像的縱橫比,同時還賦予每個圖像相同的視覺加權(例如,屏幕像素的數量)。
圖59在概念上示出了用于同時在圖像顯示區內顯示多個圖像的某些實施例的處理5900。圖59將參照圖60-65來描述,圖60-65概念化了由某些實施例執行以便以相同的視覺加權顯示具有不同縱橫比的四個圖像的計算。
如圖所示,處理5900首先開始接收(在5905)n個圖像以在圖像顯示區內顯示。在這種情況下,n是非零正整數(即,1,2,3等)。當只有單個圖像時,某些實施例不執行處理5900,但該處理確實產生了一個圖像按完全尺寸來顯示的正確結果。這些圖像可以通過上述分部所描述的任意用戶交互(例如,區塊選擇、對識別相似圖像的請求,或者導致對多個圖像的選擇及顯示的其他選擇),以及本文未描述的任何其他交互來接收。
圖60示出了用戶對四個縮略圖進行區塊選擇的gui6000。gui6000包括圖像顯示區6005,該括圖像顯示區6005在擴大的視圖中被示為具有4∶3的縱橫比。在某些實施例中,圖像顯示區將改變尺寸(即,像素數)和縱橫比(取決于gui顯示于其上的裝置的顯示屏幕的分辨率和屏幕縱橫比),縮略圖顯示區的尺寸,其他gui區是否占用了部分顯示等。
當接收到在圖像顯示區內顯示圖像的命令時,處理計算(在5910)所接收的圖像的平均縱橫比。該平均縱橫比被用作在圖像將適合于其內的圖像顯示區中的區域集合的縱橫比。如圖61所示,四個選定圖像6105-6120具有4∶3、3∶4、16∶9和4∶3的縱橫比。圖像6105和6120具有相同的縱橫比,但是具有不同的尺寸。在許多情況下,圖像將全都具有比可利用的屏幕像素的數量大的分辨率(即,界定像素的數量),尤其是在多個圖像被顯示時更是如此。因而,每個圖像被分配屏幕的一個較小的部分。圖像6105-6120的平均縱橫比為[(4/3)+(3/4)+(16/9)+(4/3)]/4=187/144,如區域6125所示。
處理5900然后將圖像顯示區劃分(在5915)成使用于具有算得的平均縱橫比的至少n個圖像的每個圖像的屏幕面積最大化的多個行和列。由于顯示區域將全都具有相同的尺寸,因而裝填區域的最有效的方式將采用網格的形式。因而,如果有五個圖像,則區域的網格可以是3x2個網格、2x3個網格,或者圖像被極端地拉長為1x5或5x1個網格。
為了識別出最優解決方案,某些實施例通過能夠用來容納n個圖像的可能的行/列組合的空間來測試以便確定哪種組合在平均縱橫比下給出每個區域的最大可能面積。某些實施例從一列開始并且重復直到達到要顯示的圖像數量(但某些實施例對列數上限進行了限定)。
對于特定的列數,應用確定需要顯示全部圖像的行數。例如,對于三個列和五個圖像,將需要兩行,但有一個區域沒有使用。應用然后對于特定的列數和行數將尺寸最大的區域的寬度計算為查看區的總寬度除以列數(可能會減去一個常數以確保在顯示中的圖像之間至少將存在一個小間隙)。應用還將尺寸最大的區域的高度計算為查看區的總高度除以行數(同樣,可能會減去一個常數)。應用然后確定具有適合于該最大區域內的平均縱橫比的區域的尺寸。所使用的列數是使該區域的面積最大化的列數。
圖62示出:在4∶3的圖像顯示區6005內的縱橫比為187∶144的區域6125的理想列數是2,具有兩個行。實際上,因為187∶144很接近4∶3,所以該網格幾乎填充了整個面積。
然后,應用基于行數和列數來計算(在5920)每個圖像可利用的面積。在某些實施例中,該計算是用來在之前段落中所描述的操作5915中確定行數和列數的尺寸最大的區域。在該實例中,該面積是在圖像顯示區6005內的區域6125的面積。
然后,應用識別出(在5925)將在適合于可利用的面積(即,網格區域的尺寸)時具有最小面積的圖像。這一般地將是具有與平均縱橫比最不同的縱橫比的圖像。在某些實施例中,為了識別該圖像,應用計算每個圖像的高度和寬度以便保持圖像的縱橫比并且使整個圖像適合于網格區域內。對于具有比平均值大的縱橫比的圖像,寬度將等于網格區域的寬度,同時高度將相對于網格區域的高度減少。對于具有比平均值小的縱橫比的圖像,高度將等于網格區域的高度,而寬度相對于網格區域的寬度減少。
圖63在網格區域6125內示出了縱橫比不同的圖像。4∶3的圖像6105占用網格區域的97%(并且其他4∶3的圖像6120占用相同的部分),16∶9的圖像6115占用網格區域的73%,并且3∶4的圖像6110占用網格區域的58%。因此,圖像6110被識別為在適合于網格區域內時具有最小面積的圖像。因此,為了讓每個圖像使用相同數量的像素,每個圖像將占用網格區域面積的58%。
然后,該處理計算(在5930)每個圖像的寬度和高度以便保持縱橫比并且使用在網格區域內的與在操作5925確定的具有最小面積的圖像相同的面積。對于特定的圖像,某些實施例將寬度計算為最小面積與圖像的縱橫比的乘積的平方根。特定圖像的高度然后被計算為寬度除以縱橫比。
圖64示出了在適合于在圖像顯示區內占用與圖像6110相同的面積時的圖像6105(該圖像6105在尺寸上等同于圖像6120)和6115的尺寸。這兩個圖像都被向下調整尺寸以僅占用區域6125的58%。為了使用示例數字,如果區域6125具有374像素的寬度以及288像素的高度,則要顯示的圖像6105的尺寸應近似為288像素x216像素。圖像6115的尺寸應近似為333像素x187像素。圖像6110(在圖63中示出)的尺寸應近似為216像素x288像素。
處理5900將(在5935)每個圖像分配到它們在顯示區內的區域。在某些實施例中,應用按順序(例如,它們在縮略圖顯示區內的順序,該順序進而由它們在合集內的順序決定)取得圖像并且將它們分配到網格區域。另外,當在最后一行中的某些網格區域沒有使用時,應用去除這些網格區域并且使底行的網格區域居中。
最后,處理在圖像顯示區中按指定的尺寸將圖像顯示(在5940)于指定的區域內。圖65示出了顯示于圖像顯示區6005內的圖像6105-6120。可以看出,圖像全都看起來(例如,對于人類觀察者)是相同尺寸的,因為它們每個都具有相同數量的像素。這給出了有利的結果:沒有一個圖像只是因為比其他圖像大而在圖像的比較中看起來更為優選。由于多個圖像顯示特征的常見使用是用戶確定相同場景的哪幾個照片要保留,因而使圖像看起來是尺寸相同的會給用戶提供顯著的益處。
v.在一個或多個圖像上的操作
以上的部分iv描述了在某些實施例中可用來選擇一個或多個圖像的各種技術,包括自動地識別相似圖像分組、縮略圖的區塊選擇,以及長按縮略圖以便將相應的圖像添加到所選圖像的分組中。下面這部分描述可以用來對圖像施加標簽,在選擇中輪轉圖像,以及選擇和取消選擇個體圖像的各種操作。
a.選擇和取消選擇操作
圖66在概念上示出了用于描述與圖像的選擇/取消選擇以及所選圖像的查看相關的某些實施例的gui的不同狀態以及在這些狀態之間轉變的狀態圖6600。本領域技術人員應當意識到,某些實施例的gui會具有與所有不同類型的輸入事件相關的許多不同的狀態,并且狀態圖6600特別地聚焦于這些事件的子集。狀態圖6600將部分地參照圖67-71來描述,圖67-71示出了各種選擇和取消選擇操作。狀態圖6600以及附圖描述并示出了用于改變gui的狀態的觸摸交互。本領域技術人員應當意識到,對于相似的選擇操作同樣可以使用各種別的交互,例如,光標控制器姿態和按鈕點擊、鍵盤輸入,或者觸摸板/軌跡板輸入。在該圖中,許多轉變條件被示為用戶交互(例如,“左向掃動”)。本領域技術人員應當意識到,狀態轉變響應于由圖像查看和編輯應用接收到此類用戶輸入而發生。
當只有一個圖像被選擇時,gui處于狀態6605,在圖像顯示區內顯示該單個選中圖像并且在相應的縮略圖上顯示主選擇指示符。如同前一部分所示,當只有一個圖像顯示于圖像顯示區內時,某些實施例使用在縮略圖上的主選擇指示符來指示,而當縮略圖為多個選中圖像之一時,還使用在縮略圖上次選擇指示符來指示。在某些實施例中,兩種選擇指示符都在縮略圖的邊界周圍高亮顯示,主選擇指示符為比次選擇指示符更深的高亮顯示。
在一個圖像被選擇的情況下,用戶能夠通過在未選定的縮略圖上敲擊來選擇不同的圖像。當用戶敲擊未選定的縮略圖(在本例中為除與所顯示的圖像對應的縮略圖外的任何其他縮略圖)時,應用轉變為狀態6607以將所敲擊的縮略圖(及其相應的圖像)設置為新的選定圖像,然后轉變回到狀態6605。另外,用戶能夠以左向和右向掃動手勢來輪轉圖像。如圖所示,當應用接收到右向掃動手勢時,應用轉變為狀態6608以將在合集中的前一圖像設置為新的選定圖像。同樣地,當應用接收到左向掃動手勢時,它轉變為狀態6609以將合集中的下一圖像設置為新的選定圖像。在任一種此類變化之后,應用都轉變回到6605,新的選定圖像被顯示于圖像顯示區內。當接收這些掃動手勢之一時,某些實施例使用滑動動畫來示出之前選定的圖像滑動離開顯示,新的選定圖像滑動到顯示之上(若為左向手勢則從右側滑動到顯示之上,而若為右向手勢則從左側滑動到顯示之上)。其他實施例使用其他動畫來示出圖像的改變,或者只是在完全沒有任何動畫的情況下替換在圖像顯示區內的圖像。圖33示出了用于輪轉合集中的圖像的此類掃動手勢的實例。
在gui處于狀態6605的情況下,用戶能夠將一個或多個圖像添加到圖像顯示區。這些圖像可以替換當前選定的圖像(例如,如果用戶在未選定的圖像上雙擊以顯示與該圖像相似的所有圖像),或者被添加于當前選定的圖像旁邊(例如,如果用戶在縮略圖上長按)。當用戶執行這些動作之一以將一個或多個圖像添加到預覽顯示區時,gui轉變為狀態6610并且在圖像顯示區內顯示多個所選圖像并在相應的縮略圖上顯示次選擇指示符。此類轉變的眾多實例被示于上述部分內(例如,圖44、54、55和57)。
一旦處于狀態6610(多個圖像被選中并被顯示),如果用戶敲擊未選定的縮略圖,則gui轉變為狀態6607以將所敲擊的縮略圖設置為唯一選定的圖像,并然后返回到狀態6605,如圖57的階段5750和5760所示。另外,當處于狀態6610時,用戶能夠按下并按住在縮略圖顯示區內的一個縮略圖。當特定的縮略圖是之前選定的縮略圖之一時,應用轉變為狀態6615以從選定縮略圖的集合中去除特定的縮略圖。如果只有一個縮略圖保持為選中的,則gui轉變為狀態6605以只顯示這個選定圖像。否則,gui轉變回到狀態6610以顯示所選圖像,這些選定圖像不再包括特定的縮略圖。另外,如果用戶在圖像顯示區內的特定圖像上執行向下掃動手勢,則這將具有與從選定圖像集合中移除特定圖像相同的作用。另一方面,如同前一部分所示,當特定的縮略圖當前沒有被選擇時,則應用轉變為6617以將與縮略圖對應的圖像添加到所選圖像的當前集合,然后轉變回到6610,附加的圖像被顯示于圖像顯示區內。圖57的階段5730和5740示出了這樣的操作。
另外,在狀態6610,當用戶敲擊選定的縮略圖之一或者在圖像顯示區內的顯示圖像之一時,gui轉變為狀態6620。在狀態6620,應用在預覽區內顯示單個活動圖像,主選擇指示符在其相應的縮略圖上,而次選擇指示符在與其他選定圖像對應的縮略圖上。圖67示出了經由gui6700的兩個階段6710和6720的這種轉變。gui6700包括縮略圖顯示區6705和圖像顯示區6715。在第一階段6710,gui在圖像顯示區6715內顯示三個圖像6725-6735,相應的縮略圖6740-6750被高亮顯示于縮略圖顯示區6705內。
同樣地,在第一階段6710中,用戶敲擊圖像6730。第二階段6720示出了該交互的結果,圖像6730占用整個圖像顯示區6715。而且,與圖像6730對應的縮略圖6745現在以比縮略圖6740和6750重的高亮顯示作為邊界,該縮略圖6740和6750保持為選定的。某些實施例以動畫顯示該轉變。例如,在某些實施例中,應用顯示了圖像在多個顯示圖像當中從其位置擴大成在至少一個方向上使用完全圖像顯示區的較大圖像。另外,雖然圖67的第二階段6720示出了占用幾乎整個圖像顯示區的圖像6730,但是在某些實施例中應用顯示了在主顯示圖像之后的其他選定圖像的褪色變暗的版本。當主顯示圖像沒有占用圖像顯示區的某些部分(例如,由于在圖像與顯示區之間的縱橫比差異)時,其他所選圖像(形式為褪色變暗的)的某些部分在顯示中將是可見的。
在下面的討論中,主選定圖像將稱為活動圖像,而在選擇中的全部圖像,不管是主選擇還是次選擇之一,都將稱為選定的。在gui處于狀態6620的情況下,用戶能夠執行各種動作以輪轉圖像(例如,比較各種照片以識別出集合中的最佳照片)。如圖所示,當應用接收到在圖像顯示區上的右向掃動手勢時,在轉變回到狀態6620以顯示新的活動圖像之前,gui轉變為狀態6625以將前一選定圖像按合集順序設置為新的活動圖像。某些實施例以動畫顯示該轉變;例如,通過使之前的活動圖像最小化回到其在圖像顯示區內的位置(即,在所有選定圖像都同時顯示時由圖像占用的位置),同時使新的活動圖像擴大到其較大的顯示中。
其他實施例使用滑動動畫的各種形式。在某些實施例中,應用使這個新的活動圖像滑動到顯示上,同時使前一活動圖像滑動離開。在其他實施例中,新的活動圖像看起來為在前一活動圖像的下方,使得圖像看起來更像是前一圖像滑動離開的。還有其他實施例將新的活動圖像滑動到顯示之上,位于舊的活動圖像上。在某些實施例中,關于應用如何顯示該轉變的選擇留給用戶決定。
圖68示出了經由五個階段6810-6850的在用戶界面6700中的一系列這樣的右向掃動手勢。第一階段6810示出了狀態與圖67的階段6720相同的gui6700。如圖所示,用戶已經開始以一個手指接觸觸摸屏。在下一階段6820中,用戶已經開始向右掃動其手指,促使圖像6730向右滑動離開屏幕并使底下的圖像6725顯現。該掃動手勢的結果在階段6830中示出,圖像6725現在顯示于圖像顯示區6715內。另外,相應的縮略圖6740現在以深的高亮顯示為邊界,指示主選擇,而其他選擇的縮略圖以較淺的高亮顯示為邊界。
另外,在該階段,用戶再次接觸觸摸屏,并且第四階段6840示出:用戶作出向右的其他掃動手勢。這促使圖像6725向右滑動離開屏幕,使底下的圖像6735顯現。該掃動手勢的結果在階段6850中示出,圖像6735現在被顯示于圖像顯示區6715內。另外,相應的縮略圖6750現在以主選擇指示符的深的高亮顯示為邊界,而其他選擇的縮略圖以較淺的高亮顯示為邊界。
與右向掃動手勢類似,當應用處于狀態6620并且接收到在圖像顯示區上的左向掃動手勢時,gui在轉變回到狀態6620以顯示新的活動圖像之前轉變為狀態6630以將下一選定圖像按合集順序設置為新的活動圖像。某些實施例以動畫顯示該轉變;例如,通過使之前的活動圖像最小化回到其在圖像顯示區內的位置(即,圖像在所有選定圖像都同時顯示時占用的位置),同時使新的活動圖像擴大到其較大的顯示中。
其他實施例使用滑動動畫的各種形式。在某些實施例中,應用使這個新的活動圖像滑動到顯示上,同時使前一活動圖像滑動離開。在其他實施例中,新的活動圖像看起來為在前一活動圖像的下方,使得圖像看起來更像是前一圖像滑動離開的。還有其他實施例將新的活動圖像滑動到顯示之上,位于舊的活動圖像上。在某些實施例中,關于應用如何顯示圖像的輪轉的選擇留給用戶決定。
圖69示出了經由三個階段6910-6930的在gui6700中的這樣的左向掃動手勢。第一階段6910示出了狀態與圖68的階段6850相同的gui6700,圖像6735作為在圖像顯示區內的活動圖像并且其相應的縮略圖6750以重的高亮顯示選定。如圖所示,用戶已經開始以一個手指接觸觸摸屏。在下一階段6920中,用戶已經開始向左掃動其手指,促使圖像6735向左滑動離開屏幕并使底下的圖像6725顯現。該掃動手勢的結果在階段6930中示出,圖像6725現在被顯示于圖像顯示區6715內。另外,相應的縮略圖6740現在以深的高亮顯示為邊界,指示主選擇,而其他選擇的縮略圖以較淺的高亮顯示為邊界。
如同這些圖所示的,在某些實施例中應用將允許用戶以掃動手勢來輪轉選定圖像的集合,包括從集合中的最后一個圖像掃動到集合中的第一個圖像,而不是在用戶達到集合末尾時阻止一個方向上的掃動手勢。
除了響應于用戶向左和向右掃動而輪轉選定圖像的集合之外,某些實施例還允許用戶經由掃動手勢從集合中去除圖像。如同狀態圖6600所示,當應用在狀態6620下接收到向下掃動的手勢時,gui轉變為狀態6635,以從所選圖像的集合中去除活動圖像并且將所選圖像的集合中的下一圖像設置為新的活動圖像。很像右向及左向掃動手勢,在某些實施例中應用以動畫顯示轉變;例如,通過使之前的活動圖像最小化,同時使新的活動圖像擴大到較大的顯示中。
其他實施例使用滑動動畫的各種形式;在某些實施例中,應用使新的活動圖像滑動到顯示之上,同時使前一活動圖像滑動離開顯示的底部。在其他實施例中,新的活動圖像看起來為在前一活動圖像的下方,使得圖像看起來更像是前一圖像滑動離開的。還有其他實施例將新的活動圖像滑動到顯示之上,位于舊的活動圖像上。在某些實施例中,關于應用如何顯示該轉變的選擇留給用戶決定。
當在所選圖像的集合中只有兩個圖像時,向下掃動將會只留下一個選定圖像,在這種情況下gui會轉變回到狀態6605,單個選定圖像被顯示于圖像顯示區內。另一方面,當在移除活動圖像之后還有至少兩個圖像保持已選時,則gui返回到狀態6620,集合中的下一圖像作為活動圖像。對于所選圖像,應用的某些實施例重新計算它們在圖像顯示區內的尺寸和位置并且將非活動的選定圖像的褪色變暗版本顯示于它們在活動圖像后面的新位置內。
圖70示出了經由三個階段7010-7030的在用戶界面6700中的這樣的向下掃動手勢。第一階段7010示出了狀態與前一圖形的階段6930相同的gui6700,圖像6725作為在圖像顯示區內的活動圖像并且其相應的縮略圖6740以重的高亮顯示選定。如圖所示,用戶已經開始以一個手指接觸觸摸屏。在下一階段7020中,用戶已經開始向下掃動其手指,促使圖像6725向下滑動離開屏幕并且使底下的圖像6730顯現。該掃動手勢的結果在階段7030中示出,圖像6730現在被顯示于圖像顯示區6715內。另外,相應的縮略圖6745現在以深的高亮顯示為邊界,指示主選擇,而縮略圖6740不再高亮顯示,因為它已被取消選定。
如圖所示,在某些實施例中,用戶按下并按住活動圖像的縮略圖具有以下相同的效果:促使gui轉變為狀態6635以從所選圖像的集合中去除活動圖像并且將集合中的下一圖像設置為活動圖像。另外,當用戶按下并按住選定的但非活動的縮略圖(即,相應的圖像不是顯示的圖像)時,應用轉變為6640以將相應的圖像從所選圖像的集合中去除。如同在階段6635一樣,應用或者轉變為狀態6605(如果只有活動圖像保持為選中)或者返回到狀態6620(如果有多個圖像保持為選中)。當應用轉變回到狀態6620時,應用的某些實施例重新計算保持為選中的圖像在圖像顯示區內的尺寸和位置,并且將非活動的選定圖像的褪色變暗版本顯示于它們在活動圖像后面的新位置內。
另外,當用戶按下并按住未選定的縮略圖時,應用轉變為狀態6617,以將相應的圖像添加到所選圖像的集合中。如圖所示,某些實施例還在用戶將新的圖像添加到集合中時轉變回到狀態6610。另一方面,某些實施例選擇圖像,但保持活動圖像的完全查看器顯示(full-viewerdisplay)。
如圖66所示,在gui處于狀態6620的情況下,當用戶敲擊未選定的縮略圖時,應用去除對全部其他圖像的選擇并且轉變為狀態6607,以將新選擇的圖像(與所敲擊的縮略圖對應)設置為單獨的選定圖像。然后,應用轉變回到狀態6605以在圖像顯示區內顯示新選擇的圖像。當用戶敲擊活動縮略圖時,這促使gui轉變回到狀態6610,所有選定圖像都顯示于圖像顯示區內,從與所敲擊的縮略圖對應的圖像去除活動指示。最后,某些實施例允許用戶通過敲擊與非活動圖像之一對應的選定縮略圖在集合的不同圖像之間切換活動圖像。如圖所示,當用戶敲擊選定的但非活動的縮略圖時,應用轉變為狀態6645以將與所敲擊的縮略圖對應的圖像設置為新的活動圖像,然后轉變回到狀態6620。
圖71示出了經由四個階段7110-7140在gui6700中用戶對選定的縮略圖敲擊的實例。第一階段7110示出了狀態與圖67的第一階段6710相同的gui6700,三個圖像6725-6735全都顯示于圖像顯示區內并且它們相應的縮略圖6740-6750以較淺的高亮顯示選定。
同樣,在該階段7110中,用戶在縮略圖6740上敲擊觸摸屏。第二階段7120示出了該交互的結果,相應的圖像6725(現在為活動圖像)占用整個圖像顯示區6715。另外,用戶所敲擊的縮略圖6740現在被顯示為以比其他選擇的縮略圖重的高亮顯示為邊界。
在該階段7120,用戶在縮略圖6745上敲擊觸摸屏。第三階段7130示出了該交互的結果,相應的圖像6730(現在為活動圖像)占用整個圖像顯示區6715。另外,用戶所敲擊的縮略圖6745現在被顯示為以較重的高亮顯示為邊界。這些階段示出:無論gui是處于狀態6610還是處于狀態6620,敲擊選定的但非活動的縮略圖都將使相應的圖像成為活動圖像。
另外,在階段7130,用戶再次敲擊活動圖像的縮略圖6745。該交互的結果在階段7140中示出,應用再次顯示全部三個圖像6725-6735,其中沒有活動圖像,并且因此對于任何縮略圖都沒有主選擇指示符。這對階段示出從狀態6620到狀態6610的轉變,其中多個圖像被同時顯示。
b.標注圖像
以上部分描述了在某些實施例的圖像查看應用中對一個或多個圖像執行的各種選擇和取消選擇操作。狀態圖6600包括三種主選擇狀態6605、6610和6620。在某些實施例中,應用對其施加用戶選定的標簽的圖像取決于gui在用戶選擇標簽時處于這三種狀態中的哪一種狀態。圖72在概念上示出了與在這三種不同狀態下的標簽施加相關的某些實施例的gui的狀態圖。圖72將參照圖73-77來描述,圖73-77示出了不同標簽對一個或多個圖像的施加。
如圖所示,狀態圖示出了狀態6605(只有一個圖像被選中)、6610(多個圖像被選中并被顯示),以及6620(多個圖像被選中,只有活動圖像被顯示),以及在這些狀態之間的轉變(在上文參照圖66進行了描述)。另外,圖72顯示了由在這三種不同狀態下對標簽ui項目的選擇引起的狀態。如同上文參照圖14所描述的,某些實施例包括用于將不同的標簽施加于一個或多個圖像的gui項目集合。這些標簽可以包括最喜愛標簽(即,用于指示用戶特別喜歡的圖像)、標記(即,用于指示用戶想要以后再次查看的圖像),以及隱藏標簽(即,用于從顯示于縮略圖顯示區內的圖像集合中去除不想要的圖像)。在某些實施例中,這些標簽與所標注的圖像的數據結構一起存儲,并且可以被用來填充具有該標簽的圖像的具體相冊。
如圖66所示,當gui處于狀態6605并且用戶選擇要施加于圖像的標簽時,gui轉變為狀態7205以將所選標簽施加于當前選定的唯一圖像。gui然后轉變回到狀態6605。在某些實施例中,當標簽是隱藏圖像標簽時,gui還從顯示中去除圖像并且選擇要選擇和顯示的在合集中的下一圖像。其他實施例并不立即從顯示中去除隱藏的圖像,而是等待用戶首先查看不同的圖像。
當gui處于狀態6610并且用戶選擇要施加的標簽時,gui轉變為狀態7210以將所選標簽施加于當前選定的所有圖像。gui然后轉變回到狀態6610。最后,當gui處于狀態6620并且用戶選擇要施加的標簽時,gui轉變為狀態7220以將所選標簽施加于唯一的活動圖像而不是當前選定的所有圖像。gui然后轉變回到狀態6620。
圖73-78示出了在某些實施例的圖像查看應用中各種標簽對圖像的施加。圖73示出了經由gui7300的四個階段7310-7300的隱藏圖像標簽的施加。除了各種gui項目集合之外,gui7300還包括圖像顯示區7305和圖像顯示區7315。這些gui項目包括標記按鈕7325、最喜愛按鈕7332及隱藏圖像按鈕7335。
在第一階段7310中,圖像7342被顯示于圖像顯示區7315內并且相應的縮略圖7345被選擇。在該階段,用戶選擇隱藏圖像按鈕7335,促使該按鈕變為高亮顯示的。在某些實施例中,應用以動畫顯示隱藏標簽對圖像的施加。第二階段7320示出了由某些實施例用來指示隱藏圖像標簽對在圖像顯示區內的圖像的施加的動畫。隱藏圖像圖標7350(x)被顯示為離開圖像,然后返回到圖像中(即,成為圖像的性質)。
第三階段7330示出:應用以疊置于縮略圖上的隱藏圖標7355(x)來標記隱藏圖像7342的相應縮略圖7345。另外,在該階段,用戶選擇不同的縮略圖7360。第四階段7340示出:與縮略圖對應的圖像7360現在被顯示。另外,應用已經從縮略圖顯示區7305中去除了隱藏圖像的縮略圖7345,并且相應地在顯示區內重排了縮略圖。如圖所示,在某些實施例中,應用等待,直到用戶導航到了不同的縮略圖,以從所顯示的縮略圖集合中去除隱藏的縮略圖。
圖74示出了經由gui7400的四個階段7410-7440的標記圖像標簽的施加。gui7400包括與gui7300相同的特征——縮略圖顯示區7405、圖像顯示區7415及各種gui項目,包括標記按鈕7425。另外,gui包括標簽過濾按鈕7435,該標簽過濾按鈕7435當前指示在當前選定的合集中的15個圖像沒有一個被標注。在某些實施例中,該按鈕7435被用來識別出應用應當將合集中的哪些圖像呈現于縮略圖顯示區內。此刻,三個圖像被選擇(對應于縮略圖7445-7455),但是只有一個選定圖像(圖像7460)被顯示于圖像顯示區內。
在第一階段7410,用戶選擇標記按鈕7425,促使按鈕變為高亮顯示的。在某些實施例中,應用以動畫顯示對圖像的標記圖像標簽的施加。而且,如同以上參照圖66所示的,當多個圖像被選擇并且所選圖像之一為活動時,應用只對活動圖像施加標簽(在本例中為圖像7460)。
第二及第三階段7420和7430示出了由某些實施例用來指示對在圖像顯示區內的圖像的標記標簽的施加的動畫。標記圖標7465被顯示為離開活動圖像,然后返回到圖像中(即,成為圖像的性質)。
在第四階段7440中,應用在縮略圖7445上顯示標記圖標7470,用于指示該圖像是帶標記的。當在縮略圖顯示區內顯示縮略圖時,某些實施例檢查用于合集中的圖像的圖像數據結構以便確定圖像是否具有任何標簽。如果圖像存在標記標簽,則應用在圖像的縮略圖上顯示標記。標記按鈕7425保持為高亮顯示的,用于指示當前活動的圖像帶標記。在某些實施例中,用戶能夠在這種狀態下選擇標記按鈕,以便去除活動圖像的標記。另外,在該階段,標簽過濾按鈕7435現在指示在合集中的15個圖像中的一個已經帶有標記。
圖75示出了經由gui7400的四個階段7510-7540對多個圖像的標記圖像標簽的施加。如圖所示,在第一階段7510,標記圖標7470被顯示于縮略圖7445上。但是,圖像顯示區顯示三個選定圖像7505、7515和7525,并且與這些圖像對應的縮略圖被選擇。在該階段,用戶選擇標記按鈕7425。如同以上參照圖66所示的,當多個圖像被顯示于圖像顯示區內時,應用對所有這些選定圖像施加標簽。在某些實施例中,應用以動畫顯示對圖像的標記圖像標簽的施加。
第二及第三階段7520和7530示出了用于指示對在圖像顯示區內的圖像的標記圖像標簽的施加的某些實施例的動畫。應用顯示了標記圖像標簽的多個實例,一個實例示為離開每個顯示的圖像,然后返回到圖像中(即,成為圖像的性質)。
在第四階段7540中,應用現在于縮略圖7535、7450和7455中的每個縮略圖上顯示標記圖標7570,用于指示圖像7505、7515和7525是帶標記的。標記按鈕7425保持為高亮顯示的,以指示當前顯示的圖像是全都帶標記的。另外,標簽過濾按鈕7435現在指示在合集中的15個圖像中的4個圖像已經施加了標記標簽。
圖76示出了經由gui7600的三個階段7610-7630的標簽過濾按鈕7435的使用。在第一階段7610中,按鈕7435指示15個圖像中的4個圖像是帶標記的,并且應用在四個縮略圖7445、7535、7450和7455上顯示標記圖標。無標記的圖像7605當前被顯示于圖像顯示區內,并且因此應用沒有高亮顯示標記按鈕7425。在第一階段7610中,用戶敲擊按鈕7435。
如同第二階段7620所示,這導致菜單7615的顯示。這菜單允許用戶基于施加于圖像的標簽在所選合集內的不同圖像集合之間繼續選擇。如圖所示,選項是“所有照片”(在某些實施例中不包括隱藏的照片)、“帶標記的照片”、“編輯的照片”、“隱藏的照片”和“所有及隱藏的照片”。帶標記的、編輯的、及隱藏的照片選項促使只顯示具有這些標簽的圖像,而所有及隱藏的照片選項使隱藏的圖像連同合集中的其余圖像一起成為可見的。
在第二階段7620中,用戶選擇“帶標記的照片”選項。第三階段7630示出了該選擇的結果,應用只顯示帶標記的圖像的縮略圖7445、7535、7450和7455。實質上,應用對合集中的圖像施加過濾器,只有具有標記標簽的圖像通過該過濾器。應用現在還在圖像顯示區內顯示圖像7460,該圖像7460是所標注的圖像之一。
圖77示出了經由gui7300的四個階段7710-7740對圖像的最喜愛標簽的施加,該gui7300在上文參照圖73來描述。在這種情況下,作為兩個選定圖像之一的圖像7705是活動。在第一階段7710,用戶選擇最喜愛按鈕7332,促使按鈕變為高亮顯示的。在某些實施例中,應用以動畫顯示最喜愛標簽對圖像的施加。而且,如同參照圖66所示的,當多個圖像被選擇并且所選圖像之一為活動時(這是本圖的情形),應用只對活動圖像施加標簽。
第二及第三階段7720和7730示出了由某些實施例用來指示對在圖像顯示區內的圖像施加最喜愛標簽的動畫。最喜愛圖標7715被顯示為離開活動圖像,然后返回到圖像中(即,成為圖像的性質)。
在第四階段7740中,最喜愛按鈕7332保持為高亮顯示的,以指示活動圖像是最喜愛的。如同標記圖像標簽一樣,用戶能夠在該狀態下選擇最喜愛按鈕以便從活動圖像中去除最喜愛標簽。在某些實施例中,應用沒有在縮略圖上顯示用于指示哪些圖像為最喜愛圖像的圖標(如本圖所示)。但是,如同將在下文描述的,應用卻保持了最喜愛圖像的單獨合集并且將標注有最喜愛標簽的圖像添加到該合集中。
在某些實施例中,應用防止圖像被標注有最喜愛標簽和隱藏圖像標簽兩者。當用戶為標注為隱藏的圖像選擇最喜愛按鈕時,應用施加最喜愛標簽,同時還去除隱藏圖像標簽。類似地,當用戶隱藏最喜愛圖像時,應用從圖像中去除最喜愛標簽。
圖78示出了經由gui7800的四個階段7810-7840最喜愛標簽對多個圖像的施加。如圖所示,在第一階段7810,應用在圖像顯示區內顯示了圖像7805、7815和7825,相應的縮略圖被選擇。在該階段,用戶選擇最喜愛按鈕7332。如同以上參照圖66所示的,當多個圖像被顯示于圖像顯示區內時,應用對所有這些選定圖像施加標簽。在某些實施例中,應用以動畫顯示最喜愛圖像標簽對圖像的施加。
第二及第三階段7820和7830示出了用于指示對在圖像顯示區內的圖像施加最喜愛標簽的某些實施例的動畫。應用顯示了最喜愛標簽的多個實例,一個實例示為離開每個顯示的圖像,然后返回到圖像中(即,成為圖像的性質)。在第四階段7340中,最喜愛按鈕7332保持為高亮顯示的,以指示所選圖像被標記為最喜愛的。如上圖所示,縮略圖顯示并沒有受到最喜愛標簽的影響。
如同參照最喜愛標簽所提及的,某些實施例為應用能夠施加于圖像的某些或所有標簽創建單獨的合集。在某些實施例中,只創建最喜愛合集,而其他實施例為最喜愛圖像、標記圖像、隱藏的圖像及編輯的圖像或者它們的某種組合創建合集。
圖79在概念上示出了由某些實施例的應用在接收到要施加于圖像的標簽時執行的處理7900。如圖所示,處理7900首先開始接收(在7905)對要施加于一個或多個圖像的標簽的選擇。在某些實施例中,標簽的選擇可以通過用戶選擇一個標簽按鈕(例如,用于對圖像加標記,隱藏圖像,或者將圖像標記為最喜愛的)或者通過編輯之前未編輯的圖像而發生。
然后,該處理將選定的標簽施加(在7910)于圖像的數據結構。如同以上在圖15中示出的,用于由某些實施例的應用存儲的圖像的數據結構包括用于對圖像施加的任何標簽的字段。在某些實施例中,為了施加標簽,應用將用于特定標簽的變量的值由0切換為1。
然后,該處理確定(在7915)具有所選標簽的圖像的合集是否已經存在。在某些實施例中,應用不創建空的合集,并且因而,例如,最喜愛相冊直到至少一個圖像已經被標記為最喜愛圖像時才會存在。但是,其他實施例總是存儲每個可能標簽的合集,而不管應用是具有至少一個圖像還是為空。
當所選標簽的合集已經存在時,處理將新標注的圖像添加(在7920)到之前已存在的具有特定標簽的圖像的合集。在某些實施例中,圖像在合集的圖像的有序系列末尾被添加到合集中。在其他實施例中,應用存儲圖像的整體順序(例如,它們在所有照片合集中的順序),并且該順序被保持于所標注的圖像的合集中。
另一方面,當對于特定的標簽還不存在合集時,處理7900為所標注的圖像創建(在7925)新合集。然后,該處理將新標注的圖像添加(在7930)到新合集中。在某些實施例中,應用為特定的標簽創建新合集的數據結構,具有諸如“最喜愛”之類的名稱。應用然后將對新標注的圖像的圖像數據結構的引用添加到新創建的數據結構。在某些實施例中,所標注的圖像的不同合集呈現為相冊。
圖80示出了用戶經由gui7300的三個階段8010-8030從相冊到最喜愛圖像的合集的導航。在第一階段8010中,應用顯示已經對其施加最喜愛標簽的圖像7705,由高亮顯示的最喜愛按鈕7735指示。同樣地,在該階段,用戶選擇返回按鈕8005。
結果,第二階段8020示出:應用現在顯示合集組織gui8000,相冊選項卡8015被高亮顯示。應用當前存儲兩個相冊,“相冊1”和最喜愛相冊。如圖所示,用戶在該階段選擇最喜愛相冊。第三階段8030示出了“最喜愛”作為選定合集的gui7300。由于只有四個圖像已經被標記為最喜愛的,合集只包括這四個圖像。在某些實施例中,當用戶查看最喜愛相冊,選擇圖像,并然后選擇(高亮顯示的)最喜愛按鈕時,應用不僅從所選圖像中去除最喜愛標簽,而且從最喜愛合集中去除該圖像并且不再顯示該圖像(使得標簽對于具體的合集起著像隱藏圖像標簽一樣的作用)。
c.查看圖像信息
在某些實施例中,用戶可能希望查看有關一個或多個圖像的信息。某些實施例提供gui項目(或者提供鍵盤快捷鍵、菜單選項等),對該gui項目的選擇會促使圖像查看應用給出有關圖像的信息。在某些實施例中,應用將該信息存儲于圖像的數據結構中或者使用來自數據結構的信息來訪問所顯示的信息。當多個圖像被選擇并被顯示于圖像顯示區內時,某些實施例顯示每個選定圖像的單獨信息,而其他實施例只顯示所有選定圖像共同擁有的信息。
圖81示出了根據本發明的某些實施例的經由三個階段8110-8130在gui7300中針對圖像8105進行的對此類信息的訪問。如圖所示,在第一階段8110,應用當前顯示圖像8105。在第二階段8120中,用戶選擇信息按鈕8115。
第三階段8130示出了在用戶選擇信息按鈕8115時出現的信息窗口8125。如圖所示,窗口8125具有三個選項卡:信息選項卡、地圖選項卡和評論選項卡。信息選項卡顯示有關所選圖像的信息,主要使用exif數據。當圖像具有gps數據時,用戶能夠選擇地圖選項卡,以便查看示出圖像被捕獲的位置的地圖。在某些實施例中,應用使用gps數據來訪問地圖數據的數據庫并且下載在該gps位置周圍的地圖數據的特定區域。該數據庫可以是運行應用的裝置本地的數據庫或者通過網絡(例如,互聯網)來訪問的遠程數據庫。如同將下面在部分vi中描述的,當圖像已經被上傳到社會媒體或照片共享網站時,評論選項卡能夠用來查看其他人對圖像的評論,并且對共享的圖像進行附加評論。
在信息選項卡內,某些實施例的應用顯示了用以捕獲圖像的裝置(canoneos-idsmarkiii),用來存儲圖像數據的圖像文件的類型(jpeg),圖像的分辨率(3072x4608)和文件尺寸(2.6mb),圖像捕獲的時間和日期(2012-03-04,12:10:17pm),以及圖像捕獲的位置(joshuatreenationalpark)。在某些實施例中,位置基于gps數據自動地解析,然而在其他實施例中,用戶輸入該數據。在窗口8125的底部,應用顯示相機設置信息,包括光圈(f/5.6)、快門速度(1/200)、焦距(180mm)、曝光(0.7ev)以及感光度(iso200)。
圖82示出了根據本發明的某些實施例的用戶在gui7300中經由三個階段8210-8230來訪問圖像8205的信息。除了在圖像顯示區內的不同的圖像8205之外,前兩個階段8210和8220與以上關于圖81所描述的階段相同。在第三階段中,信息窗口8125顯示信息的不同值,因為有些信息不同于圖像8105的信息。例如,時間戳(3:15:57pm)是同一天的晚些時候,并且文件尺寸以及某些相機設置是不同的。
圖83示出了經由gui7300的三個階段8310-8330對具有兩個選定圖像8105和8205的信息窗口的選擇。此外,該圖的前兩個階段類似于前兩個圖的那兩個階段,除了在本例中應用在圖像顯示區內顯示圖像8105和8205兩者之外。在第三階段8330中,信息窗口8125只顯示所有選定圖像共同具有的信息。在本例中,兩個圖像都是具有14.2mp的jpeg文件,但是具有不同的文件大小(因此文件大小未示出)。而且,兩個圖像的gps數據都解析為joshuatreenationalpark,并且雖然時間戳不同,但是兩個圖像都是在3月4日捕獲的(于不同的時間)。在圖像設置中,兩個圖像的快門速度、焦距及感光度設置是相同的,但是因為攝影師在兩個圖像之間具有不同的光圈和曝光補償的設置,所以應用不顯示該信息。
vi.共享圖像
如同前一部分所簡要提及的,某些實施例允許用戶通過用戶在網站上的帳號將圖像上傳到社會媒體或照片共享網站來共享直接來自圖像編輯、查看和組織應用的圖像。當用戶請求共享圖像時,應用指示其運行于其上的裝置連接至網站(例如,通過互聯網),然后自動地將其上傳給網站上的用戶帳號。在某些實施例中,應用另外還識別出網站的其他用戶已經對該圖像進行了評論,并且給應用的用戶顯示這些評論。
某些實施例提供讓用戶給圖像添加標題的功能。當用戶想要在照片寄存網站上共享圖像時,用戶可能希望對圖像加以說明。在某些實施例中,除了使用在應用中為圖像存儲的標題之外或者另選地,用戶還能夠在用于將圖像共享到網站的對話框中添加該標題。在應用中,該標題被存儲于圖像的數據結構中,如同以上在圖15中所示出。圖84示出了用戶經由gui8400的六個階段8410-8460來給圖像添加標題。gui8400類似于之前的gui(例如,gui3500),但是還包括在頂部的工具欄的中心處的添加標題按鈕8405。在第一階段8410中,應用在圖像顯示區內顯示所選圖像8415。
在第二階段8420中,用戶敲擊添加標題按鈕8405,以便給所選圖像8415添加標題。第三階段8430示出:應用使觸摸屏鍵盤8425覆蓋于觸摸屏的一部分或全部之上,以便讓用戶輸入標題。在某些實施例中,鍵盤由裝置的操作系統提供,并且應用在用戶提供用于添加標題的輸入時給操作系統發送鍵盤請求。
另外,在某些實施例中,觸摸屏裝置能夠連接至用戶可以用來輸入標題的獨立鍵盤。而且,本領域技術人員應當意識到,圖像查看應用可以運行于非觸摸屏裝置上,對該非觸摸屏裝置,用戶使用光標控制器(或其他裝置)與其交互以便選擇添加標題按鈕,然后選擇鍵盤來鍵入標題。
第三及第四階段8430和8440示出了用戶為圖像8405鍵入標題“infrontrow!”的gui8400。在用戶鍵入時,標題出現于圖像顯示區上方的上方標題區內。在第五個階段8450中,用戶選擇在鍵盤上的“回車”按鈕以便完成該標題。第六階段8460示出了在用戶已經輸入標題之后的gui8400。應用現在顯示在圖像頂上的標題,而不是添加標題按鈕。另外,應用將在小文本內的標題覆蓋于縮略圖8435之上。應用現在將已經與圖像8415的數據結構一起存儲了所輸入的標題。
如上所述,在某些實施例中,不管圖像是否具有標題,用戶都能夠使用圖像查看和編輯應用將圖像上傳到社會媒體或照片共享網站。圖85示出了根據某些實施例的與gui8400的用戶交互,以便經由社會媒體網站
在第二階段8520中,用戶選擇“在互聯網上共享”選項。第三階段8530示出:應用現在顯示具有三個照片共享網站選項(
在某些實施例中,不同的社會媒體/照片共享網站連同創建日志、發送圖像以及各種其他共享選項一起是菜單8515的一部分。另外,在用戶選擇了用以共享圖像的網站之后,應用然后提供了用于讓用戶選擇將哪些圖像(即,一個或多個選定圖像、在當前相冊中的所有圖像、來自當前相冊的新的圖像集合等)上傳到照片共享網站的選項。
圖86在概念上示出了用于經由社會媒體或照片共享網站來共享圖像的某些實施例的處理8600。雖然圖86指的是“照片共享”網站,但是這能夠是為照片共享特別設計的網站(例如,
然后,該處理確定(在8610)用戶帳號是否已由應用運行于其上的裝置登錄到所選的照片共享網站上。應用的某些實施例運行于包括不同的社會媒體和照片共享網站的特定應用的裝置上,裝置在必要時通過所述社會媒體和照片共享網站自動地登錄到網站上。在本例中,應用將不具有網站登錄方面的問題。在其他實施例中,用戶必須成功地登錄(或者通過網站專用的應用,或者通過網頁瀏覽器)到網站上。
當用戶尚未登錄時,處理8600在上傳圖像之前提示(在8615)用戶登錄網站,然后結束。一旦用戶登錄,應用再次開始處理8600。在某些實施例中,圖像查看應用顯示用戶用以登錄到網站上的界面,但其他實施例要求用戶切換到不同的應用(例如,網站的專用應用或者網頁瀏覽器)以便登錄。
當用戶已經登錄到所請求的照片共享網站上時,處理確定(在8616)圖像是否已經被上傳到網站上。在某些實施例中,應用檢查圖像的數據結構以確定圖像id是否已經針對特定的相片共享網站的圖像存儲過。另外,某些實施例通過查詢網站數據庫來確定圖像是否仍然存在于網站上。某些實施例針對某些網站來執行該檢查,但是對于其他網站則不執行。
當圖像已經被共享時,處理8600則確定(在8619)用戶是否想要將該圖像共享為新的圖像。用戶可能想要將圖像添加到在相片共享網站中的不同相冊內。另外,用戶可以已經編輯過該圖像,并且想要將已編輯的圖像作為新的圖像來添加(例如,用于示出在編輯之前和之后的圖像)。當用戶將該圖像添加為新的圖像時,處理進行到8620,在下文描述。否則,處理還要確定(在8617)用戶是否想要替換在照片共享網站上的已上傳的圖像。例如,用戶可能已經編輯過圖像并且想要以新的版本來替換共享的圖像。為了實現操作8619和8617,某些實施例給用戶提供提示,該提示允許用戶選擇是取消上傳,將圖像共享為新的圖像,還是替換圖像在相片共享網站上的現有版本。當用戶不想要替換圖像或者共享新的圖像時,處理結束,而不上傳圖像。
當用戶想要替換共享的圖像時,處理使用要替換的圖像的現有圖像id通過照片共享網站的界面來上傳(在8618)新的圖像,然后結束。當圖像還沒有被共享時,該處理則通過照片共享網站的界面來上傳(在8620)圖像。在某些實施例中,圖像查看和編輯應用使用在裝置上的網站專用的應用(例如,
在通過照片共享網站的界面上傳了圖像之后,處理8600在照片共享網站的數據庫內接收(在8625)所上傳的圖像的id。處理存儲(在8630)圖像id以便用于訪問web網站上的圖像,然后結束。該圖像id使應用能夠聯系網站并且請求有關所上傳的圖像的信息(例如,為了下載評論)。在某些實施例中,應用將圖像id存儲于圖像數據結構中,如同以上參照圖15所示出的。
在某些實施例的處理8600中,當用戶選擇上傳圖像時,應用自動地將圖像上傳到相片共享網站,而沒有任何更多的交互。但是,某些實施例允許用戶進一步自定義該上傳。圖87示出了用戶經由gui8700的十個階段8701-8710將圖像上傳到
在第二階段8702,該選項的選擇促使應用在gui8700中顯示附加菜單8720。該菜單8720允許用戶確定應當共享哪些圖像。用戶能夠選擇共享當前顯示于縮略圖顯示區內的整個相冊、當前選定的圖像,或者用于選擇新圖像的第三選項,該第三選項在某些實施例中彈出用戶能夠用以從當前相冊(或者不同的相冊,在某些這樣的實施例中)中選擇圖像集合以進行共享的對話框。在本例中,用戶選擇共享一個選定圖像。
在第三階段103中,gui8700現在包括圖像共享對話框8725,該圖像共享對話框8725使用戶能夠定制圖像上傳到所選的特定相片共享網站(在本例中為
該選擇導致顯示用戶在第四階段8704中能夠從其中選擇不同相冊的菜單(或選擇器)8755。在某些實施例中,應用(或者應用運行于其上的裝置)登錄到在相片共享網站上的用戶的帳號(上傳圖像所必需的,如上所述),并且檢索用戶已經在網站上創建的不同相冊的列表。當用戶選擇按鈕8750(或其等同物)時,應用顯示用戶的相冊的列表,以及用于創建新相冊的選項。某些實施例以用戶已經創建的或者給其上傳了圖像的特定數量的最近相冊預先填充選擇器。在本例中,用戶選擇“自然(nature)”相冊選項,使得閃電的照片將被上傳到
在第五階段8705中,用戶選擇添加位置項目8740。如同第六階段8706所示,該選擇導致顯示用戶能夠從其中選擇用以標注圖像的不同位置的菜單(或選擇器)8760。在某些實施例中,應用(或者應用運行于其上的裝置)檢索用戶之前已經用以標注照片共享網站上的圖像的不同位置的列表。如圖所示,菜單8760包括用于選擇之前創建的“家(home)”的位置、新位置或當前位置的選項。在某些實施例中,圖像查看和編輯應用,或者在用于運行圖像查看和編輯應用的裝置上的其他應用,使用位置檢測機制(例如,gps)來識別用戶的位置,并且然后將該位置與在所識別的當前位置的特定距離(例如,1千米、1英里等)之內的一系列地點(例如,餐館、地址等)關聯。另外,某些實施例使用與圖像一起存儲的gps數據(例如,在exif數據內)來確定位置,并且列出在圖像被捕獲的位置的特定距離之內的地點。然后,應用提供該位置作為在菜單8760內的當前位置選項。某些實施例以用戶已經用以標注圖像的特定數量的最近位置來預先填充選擇器。在本例中,用戶選擇“家(home)”位置標簽。
在第七階段8707中,用戶選擇朋友標注項目8745。如同第八階段8708所示,該選擇導致顯示用于在照片共享網站的環境中列出用戶的朋友的菜單(或檢出器)8765。各種照片共享/社會媒體網站允許用戶具有朋友網,并且某些實施例檢索這些朋友的列表,使得用戶能夠通過圖像查看和編輯應用的界面在圖像中標注它們的朋友。某些實施例以用戶的特定數量的的最近標注的朋友預先填充選擇器。在某些實施例中,用戶能夠標注他們喜歡的任何數量的朋友。但是,在本例中,用戶不標注任何朋友,而是在標題框8735內選擇。
第九階段8709示出:當用戶在標題框內選擇(例如,通過敲擊)時,應用疊置觸摸屏鍵盤8770以便讓用戶輸入圖像的標題。在某些實施例中,鍵盤由裝置的操作系統提供,并且當用戶在標題框內敲擊時,應用對操作系統發送鍵盤請求。在本例中,用戶已經使用鍵盤8770在標題框8735內鍵入“rightoutsidemyhouse!”,并且選擇在鍵盤上的“回車(return)”按鈕以便完成該標題。在第十階段8710中,用戶選擇共享按鈕以便連同標題一起共享照片。在某些實施例中,該標題用于相片共享網站,但是不與圖像一起存儲于圖像查看和編輯應用內。
如同以上參照圖86所述的,當用戶選擇圖像以便共享到圖像之前已經被上傳的相片共享網站上時,某些實施例允許用戶或者將圖像上傳為新的圖像或者替換網站上的老圖像。另外,當替換圖像時,某些實施例檢索標題、標簽和/或來自網站的其他信息以便讓用戶更新該附屬信息。
圖88示出了經由gui8700的四個階段8801-8804用戶選擇兩個圖像以上傳到
在用戶選擇上傳所選圖像之后,應用確定這些圖像中是否有圖像已經被上傳。圖像的數據結構(例如,在上文參照圖15所描述的)指示圖像被共享到其的任何位置。因為在本例中所選的圖像之一已經被共享于
結果,在第四階段中,應用彈出圖像共享對話框8810。這類似于對話框8725,但是包括兩組獨立的標題框、縮略圖、添加位置項目和朋友標注項目。對于閃電圖像,應用從相片共享網站中檢索標題和標注信息并且在對話框8810中將該信息顯示為可編輯的。在本例中,標題和位置被顯示為可編輯的信息。
對于被上傳到相片共享網站的圖像,某些實施例自動地檢索與那些網站的圖像的交互。圖89在概念上示出了用于在照片共享或社會媒體網站上檢索對圖像發表的評論的某些實施例的處理8900。某些實施例的應用在當前顯示于應用的gui的圖像顯示區內的圖像已經發布于照片共享網站時執行處理8900。某些實施例只在圖像被顯示于顯示區達設定的時長(例如,1秒、5秒、1分鐘等)之后執行評論檢索處理。
如圖所示,處理8900首先開始識別出(在8905)當前顯示的圖像已經被發布于照片共享網站。某些實施例等待圖像顯示達特定的時長,然后確定圖像是否已被共享于任何地方。當圖像還沒有被共享時,處理8900將不會執行。此外,當圖像已經被共享于幾個不同的網站時,某些實施例執行處理8900或者其對于每個網站或者網站的子集的變型。
處理8900檢索(在8910)用于照片共享網站的數據庫中的圖像的圖像id。在某些實施例中,應用從所顯示的圖像的數據結構中檢索該圖像id。然后,該處理將對與圖像相關的信息的請求發送(在8915)到照片共享網站,使用檢索到的圖像id來識別在網站的數據庫中的圖像。在某些實施例中,該圖像id是用于在網站的數據庫中識別為圖像創建的對象的對象id,并且應用請求該對象的某些性質。
響應于請求的發送,處理接收(在8920)來自照片共享網站的評論流以及所請求的任何附加信息。在某些實施例中,評論流作為一系列評論來接收,該系列評論每個都包括作出該評論的用戶、用戶的簡檔縮略圖、評論文字本身及時間戳。但是,其他實施例接收并解析嵌套式評論的樹結構。另外,對于發布于
在該信息被接收到的情況下,處理8900檢索(在8925)圖像的評論流的最后訪問日期。所檢索到的日期和時間是用戶在圖像查看應用中查看圖像的任何評論的最后時間。如果用戶在圖像上傳之后還沒有查看過對該圖像的任何評論,則檢索時間將是上傳的時間。在某些實施例中,用戶是否已經直接通過照片共享網站來查看對該圖像的評論不影響最后訪問日期。
然后,該處理確定(在8930)檢索的最后訪問日期是否早于評論流中的最近評論。處理將最后訪問日期與最后評論的時間戳進行比較,并且確定哪個更早。當最后訪問日期較早時,處理給用戶顯示(在8935)關于可獲得新評論的通知。在某些實施例中,通知包括在信息按鈕(用來訪問評論)上的小圖標或標記(badge)。某些實施例使用用于簡單地指示可獲得新評論的通知按鈕,然而其他實施例提供關于新評論的數量的指示(例如,在圖標內的數字)。為了確定新評論的數量,某些實施例將最后訪問日期與每個連續的較早的評論進行比較,直至達到在最后訪問日期之前的評論。在通知顯示(如果有必要)之后,處理8900然后結束。
在某些實施例中,用戶能夠通過訪問信息窗口內的評論選項卡來查看這些評論。通過這窗口,某些實施例還允許用戶以發布于照片共享網站的附加評論進行應答。
圖90示出了經由某些實施例的gui8400的六個階段9010-9060用戶通過信息窗口來發表這樣的評論。在第一階段9010中,應用顯示用戶之前已經加上標題并發布于
在第二階段9020中,用戶選擇信息按鈕8505。如同在圖81-83中那樣,在階段9030中,這促使信息窗口9015出現于顯示中。用戶然后選擇評論選項卡。第四階段9040顯示評論選項卡。如圖所示,信息窗口9015現在顯示
在階段9040中,評論流還包括用戶能夠輸入評論的部分。用戶敲擊該部分,并且第五階段9050示出了作為結果出現的觸摸屏鍵盤8425。這允許用戶為圖像鍵入要發布于
vii.上下文相關的幫助
某些實施例還包括用于為各種用戶界面工具提供關于工具的功能的指示的上下文相關的幫助特征。在某些實施例中,應用基于應用的當前活動工具來確定應當給哪些用戶界面特征提供幫助信息。例如,當用戶選擇特定的編輯工具集合時,應用從顯示中去除某些幫助信息,同時將所選的編輯工具集合特有的信息添加到顯示中。
圖91在概念上示出了用于給出幫助特征的各種操作的某些實施例的gui的狀態圖9100。本領域技術人員應當意識到,狀態圖9100并不包含圖像查看和編輯gui的各種狀態,乃至各種與上下文相關的幫助特征相關的狀態,相反只是在gui內的幫助特征操作的子集。
狀態圖9100將參照圖92-96所示的ui實例來描述。特別地,圖92示出了在與幫助圖標的外觀相關的多個階段中的某些實施例的圖像編輯應用的gui9200。圖93-96示出了在與在用戶于gui內執行各種操作時對幫助特征的激活和顯示相關的多個階段上的gui9200。
如圖91所示,狀態圖9100在用戶于狀態9105下打開圖像查看、組織和編輯應用時開始。在應用打開時,取決于幫助工具之前是否已經在應用運行于其上的裝置上激活,它轉變為狀態9110或狀態9115。在某些實施例中,圖像編輯應用將具有兩個狀態(例如,1或0)的參數存儲于裝置上。在首次加載于裝置上,應用將參數初始化為第一狀態(例如,0)。一旦用戶在裝置上激活了幫助工具,應用就將參數切換為其他狀態(例如,1)。這樣,應用通過檢查該參數來確定幫助工具是否已經在裝置上激活。
如果幫助工具還沒有在裝置上激活(例如,參數具有值0),則gui在應用打開時轉變為狀態9110,在該狀態9110下,應用以與應用的其他gui項目不同的明顯方式顯示幫助圖標。在某些實施例中,幫助圖標是可選的ui項目,用戶能夠選擇該ui項目用于激活幫助工具。幫助工具的不同實施例不同地實現了對幫助圖標的明顯顯示。例如,某些實施例以使用閃爍的幫助圖標或者看起來在脈動的圖標的明顯方式來顯示幫助圖標。應用將幫助圖標顯示為在小的第一狀態與較大的第二狀態之間改變——或者是在兩種狀態之間閃爍,或者是擴大和收縮以便在這兩種狀態之間切換。
圖92示出了經由三個階段9205-9215在gui9200中以明顯的方式來顯示幫助圖標的實例。如圖所示,gui9200包括縮略圖顯示區9230、圖像顯示區9245、菜單欄9240、ui控件顯示區9260和工具欄9235。菜單欄9240包括用于調用不同的圖像編輯工具集合的可選ui項目的集合,包括用于調用圖像裁切工具集合的可選ui項目9242、用于調用曝光調整工具集合的可選ui項目9244、用于調用顏色調整工具集合的可選ui項目9246、用于調用畫筆工具集合的可選ui項目9248,以及用于調用特殊效果工具集合的可選ui項目9250。ui控件顯示區9260在ui控件集合被調用時用于顯示不同的ui控件集合。在本例中,ui控件顯示區9260包括用于圖像查看gui的默認的ui項目集合,包括用于啟動對圖像的自動增強操作的可選ui項目9262、用于初始化對圖像的旋轉操作的可選ui項目9264、用于對圖像加標記的可選ui項目9266、用于將圖像標記為最喜愛的可選ui項目9268,以及用于隱藏圖像的可選ui項目9270。
工具欄9235包括附加的可選項目,包括用于導航回到合集組織gui的可選ui項目9232、用于調用幫助工具的可選ui項目9250(即,幫助圖標)、用于為所顯示的圖像顯示調用信息窗口的可選ui項目9252,以及用于在所顯示的圖像的原始版本與編輯版本之間切換的可選ui項目9254。
在圖92中,幫助工具還沒有在裝置上激活,并且因此應用以明顯的方式來顯示幫助圖標。在本例中,應用將幫助圖標9250顯示為跳動或脈動的。如圖所示,幫助圖標包括問號圖形。該問號擴大及收縮以便產生脈動的外觀。在第一階段9205,幫助圖標具有擴展超出圖標的邊界的大問號。
第二階段9210示出了幫助圖標9250處于其最小狀態的gui9200。如圖所示,幫助圖標9250不再被高亮顯示,由圖標上的小問號指示,該圖標被幫助圖標9250的邊界完全包圍。為了從第一階段9205轉到第二階段9210,應用快速地減小圖標的問號部分的尺寸。在某些實施例中,第二階段9210僅在第一階段9205之后的很短時段(例如,0.5秒)內出現。
第三階段9215示出了在應用將在幫助圖標9250內的問號的尺寸再次增大到其最大點之后的gui9200,類似于階段9205。在某些實施例中,應用從第一階段9205轉到第二階段9210的時間與從第二階段9210轉到第三階段9215的時間相同。在某些實施例中,應用縮小幫助圖標的尺寸,然后快速地放大圖標的尺寸,等等。在某些實施例中,應用以此方式顯示幫助圖標,直到用戶已經調用幫助特征至少一次。
回過去參照圖91,如果應用在應用打開時確定幫助工具之前已經在裝置上調用,則幫助工具轉變為狀態9115,在該狀態9115中,gui按照與其他圖標相同的方式來顯示幫助圖標。也就是,幫助圖標以正常狀態呈現,類似于在圖92的第二階段9210中示出的狀態。
在處于狀態9110或狀態9115時,當應用接收到對幫助圖標的選擇時,gui轉變為狀態9120,以為(i)不變的gui項目以及(ii)用戶工具的當前選定層顯示幫助指示符。在某些實施例中,gui項目包括不同的用戶工具集合。例如,某些實施例包括作為第一集合的默認工具(自動增強、旋轉、標記、最喜愛、隱藏),以及各種編輯工具集合(例如,裁切工具、曝光工具、顏色調整工具、畫筆工具和特殊效果工具)。當在gui中示出了默認工具時,某些實施例為默認工具以及為各種編輯激活項目(用于激活不同的編輯工具集合)顯示幫助指示符。當編輯工具集合中的一個編輯工具被激活時,應用顯示這些工具,代替默認工具。如果幫助特征已經被調用,則某些實施例不顯示不同的編輯激活項目的幫助指示符,而是只顯示所選的編輯工具的幫助指示符。在某些實施例中,不變的gui項目包括總是出現于gui中的項目,不管該項目是否被選擇。這些項目可以包括切換原圖按鈕、共享按鈕、信息按鈕和其他gui項目。
在某些實施例中,應用保持于狀態9120,除非(1)用戶選擇新的編輯工具集合,(2)用戶移動當前所選的編輯工具之一,或者(3)用戶選擇幫助圖標以解除激活幫助特征。當用戶選擇新的工具集合時,應用轉變為狀態9125,以修改當前選擇的用戶工具層,然后轉變回狀態9120,以為新的當前選擇的工具層顯示幫助指示符。
圖93示出了在gui9200中經由三個不同的階段9305-5715來調用上下文相關的幫助工具并且改變選擇的用戶工具集合的實例。第一階段9305類似于圖92的第一階段9205,除了圖像顯示區9245只包括單個圖像之外。第二階段9310示出了在用戶已經激活幫助工具之后的gui9200。在某些實施例中,幫助工具能夠通過選擇幫助圖標來激活。如圖所示,用戶已經通過在幫助圖標9250上敲擊手指激活了幫助工具。作為選擇的結果,應用將各種幫助指示符覆蓋于gui之上。這些幫助指示符顯示各種gui項目的簡短的說明信息。
在第二階段9310中,應用為在工具欄9235內恒定顯示的gui項目9238、9252和9254顯示幫助指示符9325。這些幫助指示符被標記為用于共享按鈕9238的“共享”、用于信息按鈕9252的“圖像信息”以及用于切換原圖按鈕9254的“顯示原圖”,但是各種實施例可以使用一個或多個項目的不同描述。另外,某些實施例只為可選的項目顯示幫助指示符;當用戶還沒有編輯所顯示的圖像時,切換原圖按鈕將不起作用并且因此某些實施例不顯示其幫助指示符。某些實施例為工具欄9235中的不同項目(例如,撤銷按鈕)顯示幫助指示符。
幫助工具還為當前選擇的用戶工具層顯示指示符集合9335(“自動增強”、“旋轉”、“標記”、“最喜愛”和“隱藏”)。另外,當處于該工具層(默認用戶工具集合,在還沒有選擇任何編輯激活項目時顯示)時,應用為編輯激活項目9242、9244、9246、9248和9262顯示幫助指示符9330,這些幫助指示符9330為用戶指示不同的編輯選項(“裁切”、“曝光”、“顏色”、“畫筆工具”和“特殊效果”)。如同恒定呈現的gui項目一樣,不同的實施例對于同一項目可以使用不同的描述,或者具有不同的gui項目集合。在某些實施例中,幫助指示符集合是可選的ui項目。在這樣的實施例中,當用戶選擇幫助指示符時,應用疊加關于相應的gui項目的功能和操作的更詳細的信息。
某些實施例顯示用于在某些項目的幫助指示符中使用的指導。例如,在某些實施例中,“旋轉”指示符包括更多信息,例如,“旋轉90°。觸摸并按住獲得更多選項”。如圖所示,應用在9310所疊加的幫助指示符包括用于在圖像顯示區中心的縮放工具的用來給出關于使用縮放工具的指導的指示符9365,以及用于為縮略圖顯示區描述不同類型的選擇輸入的指示符9375。
圖93的第三階段9315示出了用戶在gui9200中選擇新的工具集合的實例。如同第三階段9315所示,用戶選擇了在菜單欄9240中的可選ui項目9244,用于調用曝光調整工具集合。結果,應用在ui控件顯示區9260內顯示曝光調整工具集合,替換自動增強、旋轉和標注ui項目。曝光調整工具集合包括陰影調整工具9340、對比度調整工具集合9345和9350、亮度調整工具9355和高亮顯示調整工具9360。作為用戶選擇新的工具集合的結果,應用為新顯示的工具集合疊加新的幫助指示符集合9370(“黑點和陰影”、“對比度”、“高亮”、“對比度”和“白點和高亮”),同時移除各種編輯激活工具9242、9244、9246、9248和9262的幫助指示符9330。應用還在圖像顯示區內疊加指示符9380,用于指示用戶能夠過在圖像自身上的觸摸并拖拽調整圖像的曝光數據通。另外,用于共享、圖像信息和切換原圖按鈕的幫助指示符9325保持,不管用戶選擇哪個gui工具集合。
圖94示出了在用戶選擇新的工具集合時在gui9200內按照兩個不同的階段9405和9410對幫助特征的另一個修改實例。第一階段9405與圖93的第二階段9310相同。如圖所示,幫助工具已經被激活,由幫助指示符集合9325、9330、9335、9365和9375出現于gui9200中指示。第二階段9410示出了在用戶選擇了用于在gui9200中顯示的新的工具集合之后的gui9200。在本例中,用戶選擇了在菜單欄9240內的可選ui項目9248,用于調用畫筆工具集合。正因如此,應用顯示了用于在gui9200中調用不同的圖像調整操作的畫筆工具集合9425。作為用戶選擇新的工具集合的結果,幫助工具還為新的畫筆工具集合9425顯示新的幫助指示符集合9430,同時去除不同的編輯激活工具的幫助指示符集合9330。
返回到圖91的階段圖9100,當用戶在應用處于狀態9120的情況下移動當前選定的工具之一時,應用轉變為狀態9130,以連同移動gui工具一起移動幫助指示符。例如,當用戶移動滑動塊時,該滑動塊的幫助指示符隨它一起移動。
圖95示出了應用按照三個階段9505-9515自動地移動幫助指示符以及相應的編輯工具的實例。第一階段9505與圖93的第三階段9315相同,其中幫助工具被激活并且曝光調整工具被選擇。如圖所示,應用為曝光調整工具集合9340-9360顯示幫助指示符集合9370。第二階段9510示出了在用戶開始接觸觸摸屏以便移動曝光調整滑動塊之一時的gui9200。第三階段9515示出了由用戶進行的對比度調整工具9345的移動。作為該移動的結果,幫助指示符9370(標記為“對比度”)連同工具一起向右移動。另外,移動對比度工具之一會促使其他對比度工具同樣移動,并正因如此,其他對比度滑動塊9350連同其幫助指示符一起向左移動。作為該移動的結果,所顯示的圖像的對比度被修改。
回過去參照圖91,當用戶在幫助工具被激活之后再次選擇幫助圖標時,幫助工具從gui中去除全部幫助指示符。另外,由于用戶已經在裝置上激活了幫助工具,因而幫助工具返回到狀態9115,在該狀態9115中,幫助工具按照與其他圖標相同的方式來顯示幫助圖標,如圖93的階段9305所示。
如上所述,當用戶選擇幫助指示符之一時,某些實施例顯示有關所選特征的詳細幫助文檔。某些實施例或者是從外部位置下載(例如,經由互聯網)這些幫助文檔或者是將它們與應用一起存儲。
圖96示出了經由三個不同的階段9605-9610通過gui9200來顯示與gui項目之一相關的詳細幫助文檔的實例。第一階段9605與圖94的第一階段9405相同,其中幫助工具被激活,由示于gui9200上的gui項目的幫助指示符的顯示指示。當用戶選擇幫助指示符之一時,應用顯示關于與相應的gui項目相關的功能和操作的更詳細信息。
第二階段9410示出了用戶選擇幫助指示符之一。特別地,用戶選擇(例如,經由如圖所示的敲擊、經由點擊選擇等)裁切項目9242的幫助指示符,促使應用高亮顯示裁切指示符。
作為選擇的結果,應用在階段9615于gui9200之上疊加裁切工具的詳細幫助信息9630。如上所述,在某些實施例中,詳細幫助信息的內容被存儲于圖像編輯應用在其上執行的裝置上。在這些實施例中,當用戶選擇幫助指示符時,應用在將信息顯示于gui9200上之前從裝置中檢索相應的幫助信息。在其他實施例中,詳細幫助信息被存儲于裝置通過網絡(例如,互聯網)與其連接的一個或多個遠程位置。在這些實施例中,當用戶選擇幫助指示符時,應用在將信息顯示于gui9200上之前通過網絡從這些遠程位置之一中檢索詳細幫助信息。
圖97示出了在某些實施例中的用于不同gui項目的幫助指示符的顯示的另一個實例。特別地,圖97示出了經由gui9300的四個階段9710-9740的幫助指示符的移動以及用于顏色調整工具的多個幫助指示符層。第一階段9710與圖94的第一階段9405相同,其中幫助工具被激活,由示于gui9200中的gui項目的幫助指示符的顯示指示。
第二階段9720示出了在用戶選擇顏色調整激活項目9246之后的gui9200。這促使應用顯示在工具欄9260中的四個顏色調整滑動塊。如同由幫助指示符9705所示的,這些滑動塊使用戶能夠調整所顯示圖像的飽和度、天空顏色(skycolor)、綠色及膚色(skintones)。另外,顏色調整工具包括白平衡項目9715,由幫助指示符9725指示。
在第三階段9730,用戶向右移動天藍色滑動塊9745,以便增加圖像的天空顏色的飽和度。這還促使滑動塊9745的幫助指示符9705向右移動。在這樣做時,指示符開始與草綠色滑動塊的幫助指示符重疊。結果,應用自動地向上移動草綠色滑動塊的幫助指示符(使用長桿(longerstem)),使得用戶能夠看見整個幫助指示符。
第四階段9740示出了用戶選擇白平衡項目9715的結果。如圖所示,應用疊加用于提供眾多可選的白色平衡選項的工具欄9750。在這些項目被顯示的情況下,應用去除顏色調整滑動塊的幫助指示符9705,并且作為代替,疊加不同的白平衡項目的指示符9755。
viii.軟件體系結構
在某些實施例中,以上所述的處理被實現為在特定機器(例如,計算機或手持式裝置)上運行的軟件,或者被存儲于機器可讀介質內。圖98在概念上示出了某些實施例的圖像查看、編輯及組織應用9800的軟件體系結構。在某些實施例中,圖像查看、編輯及組織應用是獨立的應用或者被集成于另一個應用內,然而在其他實施例中,應用可以被實現于操作系統內。而且,在某些實施例中,應用被提供作為基于服務器的解決方案的一部分。在某些這樣的實施例中,應用經由瘦客戶機來提供。也就是,應用運行于服務器上,而用戶經由遠離服務器的單獨的機器與應用交互。在其他此類實施例中,應用經由胖客戶機來提供。也就是,應用由服務器發布到客戶機上并且運行于客戶機上。
圖像查看、編輯及組織應用9800包括用戶界面(ui)交互和生成模塊9805、媒體獲取模塊(ingestmodule)9810、柱狀圖生成器9815、編輯模塊9820、圖像處理器9825、圖像顯示區生成器9830、圖像選擇器9835、圖像標注器9840、圖像比較器9845和共享管理器9850。該圖還示出了與應用9800關聯的存儲數據:源圖像9855、圖像數據9860、合集數據9865和高速緩存圖像9870。
在某些實施例中,源圖像9835存儲被導入應用(即,本地圖像數據庫)內的圖像文件(并且可能為視頻文件或其他媒體)。在某些實施例中,圖像文件可以與應用9800同其通信的另一個圖像查看和組織應用關聯。圖像數據9860存儲某些實施例的圖像數據結構,而合集數據9865存儲合集數據(例如,相冊、事件、日志等)。高速緩存圖像9870存儲圖像(例如,縮略圖、顯示尺寸圖像等)的高速緩存版本。在某些實施例中,四個數據集合9855-9870被存儲于一個物理存儲裝置(例如,內部硬盤、外部硬盤、固態存儲器等)內。在某些實施例中,數據可以在多個物理存儲裝置之間分割。
圖98還是示出了操作系統9875,其包括輸入裝置驅動器9880、顯示模塊9885、媒體導入模塊9890和網絡接口9895。在某些實施例中,如圖所示,裝置驅動器9880、顯示模塊9885、媒體導入模塊9890和網絡接口9895是操作系統的一部分,即使在媒體編輯應用9800是獨立于操作系統的應用時也是如此。
輸入裝置驅動器9860可以包括用于轉譯來自觸摸屏以及鍵盤、鼠標、觸摸板、平板等的信號的驅動器。用戶與這些輸入裝置中的一個或多個交互,這些輸入裝置將信號發送到它們的相應的裝置驅動器。裝置驅動器然后將信號轉譯成被提供給ui交互和生成模塊9805的用戶輸入數據。
本申請描述了用于給用戶提供執行不同的操作和功能集合的眾多方式的圖形用戶界面。在某些實施例中,這些操作和功能基于通過不同類型的觸摸屏裝置接收自用戶的不同命令來執行。例如,本申請示出了使用觸摸屏輸入(例如,以一個或多個手指)來控制(例如,選擇、移動)在圖形用戶界面中的對象。但是,在某些實施例中,在圖形用戶界面中的對象還能夠通過其他控件(例如,光標)來控制或操縱。在某些實施例中,光標控制通過用于將光標移動到裝置的顯示器上的不同位置的輸入裝置來實現。基于光標的位置,不同的輸入(例如,鼠標按鈕點擊等)能夠被用來執行不同的動作(例如,gui項目的選擇)。因而,雖然以上的許多圖形沒有示出光標,但是某些實施例通過光標的使用(帶有或沒有觸摸控制)來執行相同的動作。
顯示模塊9885轉譯用于顯示裝置的用戶界面的輸出。也就是,顯示模塊9885接收用于描述應當顯示什么內容的信號(例如,來自ui交互和生成模塊9805)并且將這些信號轉譯成將發送給顯示裝置的像素信息。顯示裝置可以是lcd、等離子體屏幕、crt監視器、觸摸屏等。在某些觸摸屏的實施例中,顯示模塊9885和輸入裝置的驅動器9880是單個觸摸屏驅動器的一部分。
媒體導入模塊9890通過媒體編輯應用9800運行于其上的裝置的一個或多個端口(例如,usb端口、firewire端口等)接收來自外部存儲裝置(例如,外部驅動器、記錄裝置等)的媒體文件(例如,圖像文件等),并且轉譯該媒體數據以用于應用9800或者將數據直接存儲于裝置的存儲器上。
媒體編輯應用9800的ui交互和生成模塊9805解釋接收自輸入裝置驅動器的用戶輸入數據,并將其傳遞給各種模塊,包括媒體獲取模塊9810、編輯模塊9820、圖像處理器9825、圖像顯示區生成器9830、圖像選擇器9835和圖像標注器9840。ui交互模塊還管理媒體編輯應用gui的顯示,并且將該顯示信息輸出到顯示模塊9865。該ui顯示信息可以基于來自編輯模塊9815、時間線生成器9820、視角生成器9827、回放模塊9830、數據9835-9850等的信息。另外,模塊9805還可以僅基于用戶輸入來生成ui的某些部分——例如,當用戶移動ui中只影響顯示而不是任何其他模塊的項目,例如,將窗口從ui的一側移動到另一側或者修改片段瀏覽器和片段庫的相對尺寸。在某些實施例中,ui交互和生成模塊9805生成基本gui并且以來自其他模塊的信息和所存儲的數據來填充該gui。
媒體獲取模塊9810管理對應用9800的源媒體的導入。如圖所示,某些實施例接收來自操作系統9875的媒體導入模塊9890的源媒體。媒體獲取模塊9810通過ui模塊9805來接收關于應當導入哪些文件的指令,然后指示媒體導入模塊9890啟動該導入(例如,從外部驅動器、外部相機、應用運行于其上的相機裝置、在裝置上的不同應用等)。某些實施例的媒體獲取模塊9810在源圖像9855中存儲這些圖像。在某些實施例中,媒體獲取模塊9810還在源圖像導入時管理圖像數據結構的創建。
在某些實施例中,柱狀圖生成器9815為每個導入的圖像生成顏色、紋理及形狀的柱狀圖。某些實施例的柱狀圖生成器9815在上文參照圖52進行了詳細的描述。
編輯模塊9815包括用于編輯圖像的多種模塊。編輯模塊9815生成各種編輯gui工具并且將來自這些工具的輸入轉譯成用于圖像的編輯指令(例如,裁切指令、旋轉指令、顏色調整指令等)。圖像處理器9825在圖像需要輸出時將編輯指令施加于圖像。例如,當用戶將編輯添加到顯示的圖像時,編輯模塊9820中的適當一個修改對圖像的編輯指令,并且圖像處理器9825施加這些指令以便生成所期望的圖像。
圖像顯示區生成器9830處理圖像顯示區的生成。圖像顯示區生成器9830接收(例如,來自ui交互和生成模塊9805或圖像選擇器9835的)用于顯示的圖像集合。某些實施例的生成器9830計算圖像的平均縱橫比,定義在圖像顯示區內的網格,計算要用于顯示圖像的像素的數量,并且計算每個圖像的尺寸。
圖像選擇器9835將各種用戶交互轉譯成對要發送到圖像顯示區生成器9830的一個或多個圖像的選擇。當用戶請求與特定圖像相似的圖像集合時,圖像選擇器使用圖像比較器9845來識別相似圖像。某些實施例的圖像比較器9845在上文參照圖52進行了描述。圖像標注器9840接收用于標注一個或多個圖像并相應地修改圖像的數據結構的用戶輸入。
共享管理器9850管理圖像在各種照片共享網站(例如,
雖然媒體編輯應用9800的許多特征已經被描述為由一個模塊(例如,ui交互和生成模塊9805、媒體獲取模塊9810等)執行,但是本領域技術人員應當意識到,本文所描述的功能可以被分成多個模塊。類似地,在某些實施例中,被描述為由多個不同的模塊執行的功能可以由單個模塊來執行(例如,圖像顯示區生成器9830和圖像選擇器9835可以是ui交互和生成模塊9805的一部分)。
ix.電子系統
上述許多特征和應用被實現為被指定為記錄于計算機可讀存儲介質(也稱為計算機可讀介質)上的指令集的軟件處理。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器、處理器的內核或者其他處理單元)執行時,它們促使處理單元執行在指令中指示的動作。計算機可讀介質的實例包括,但不限于,cd-rom、閃存驅動器、隨機存取存儲器(ram)芯片、硬盤驅動器、可擦除可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom)等。計算機可讀媒體不包括以無線方式或經由有線連接傳遞的載波和電信號。
在本說明書中,術語“軟件”意指包括駐留于只讀存儲器內的固件或者存儲于磁存儲器內的應用,這些應用能夠被讀入存儲器內,由處理器處理。此外,在某些實施例中,多個軟件發明能夠被實現為較大程序的子部分,同時保持不同的軟件發明。在某些實施例中,多個軟件發明還能夠被實現為單獨的程序。最后,用于共同實現本文所述的軟件發明的單獨程序的任何組合在本發明的范圍之內。在某些實施例中,軟件程序當被安裝以運行于一個或多個電子系統上時,定義了用于執行和進行軟件程序的操作的一個或多個具體的機器實現方式。
a.移動裝置
某些實施例的圖像編輯和查看應用運行于移動裝置上。圖99是該移動計算裝置的體系結構9900的實例。移動計算裝置的實例包括智能手機、平板電腦、膝上型電腦等。如圖所示,移動計算裝置9900包括一個或多個處理單元9905、存儲器接口9910和外設接口9915。
外設接口9915與各種傳感器和子系統耦接,所述子系統包括相機子系統9920、無線通信子系統9925、音頻子系統9930、i/o子系統9935等。外設接口9915使得在處理單元9905和各種外設之間能夠通信。例如,取向傳感器9945(如陀螺儀)和加速度傳感器9950(如加速計)與外設接口9915耦接,以促進實現取向和加速功能。
相機子系統9920與一個或多個光學傳感器9940(例如,電荷耦合裝置(ccd)光學傳感器、互補型金屬-氧化物-半導體(cmos)光學傳感器等)耦接。與光學傳感器9940耦接的相機子系統9920促進實現相機功能,例如圖像和/或視頻數據捕獲。無線通信子系統9925用來促進實現通信功能。在某些實施例中,無線通信子系統9925包括射頻接收器和發送器,以及光學接收器和發送器(在圖99中未示出)。某些實施例的這些接收器和發送器被實現成經由一個或多個通信網絡(如gsm網絡、wi-fi網絡、藍牙網絡等)來操作。音頻子系統9930與揚聲器耦接,用于輸出音頻(例如,用于輸出與不同的圖像操作關聯的不同的聲音效果)。另外,音頻子系統9930還與傳聲器耦接,以促進實現語音使能功能,例如語音識別、數字記錄等。
i/o子系統9935涉及通過外設接口9915進行的在輸入/輸出外設裝置(例如,顯示器、觸摸屏等)與處理單元9905的數據總線之間的傳輸。i/o子系統9935包括觸摸屏控制器9955和其他輸入控制器9960,用于促進實現在輸入/輸出外設裝置與處理單元9905的數據總線之間的傳輸。如圖所示,觸摸屏控制器9955與觸摸屏9965耦接。觸摸屏控制器9955使用多種觸敏技術中的任一種來檢測在觸摸屏9965上的接觸和移動。其他輸入控制器9960與其他輸入/控制裝置(例如,一個或多個按鈕)耦接。代替觸摸交互或者除觸摸交互之外,某些實施例包括能夠檢測接近觸摸交互的接近觸摸屏和相應的控制器。
存儲器接口9910與存儲器9970耦接。在某些實施例中,存儲器9970包括易失性存儲器(例如,高速隨機存取存儲器)、非易失性存儲器(例如,閃存)、易失性和非易失性存儲器的組合,和/或任何其他類型的存儲器。如圖99所示,存儲器9970存儲操作系統(os)9972。os9972包括用于處理基本系統服務以及用于執行與硬件相關的任務的指令。
存儲器9970還包括用于促進實現與一個或多個附加裝置的通信的通信指令9974;用于促進實現圖形用戶界面處理的圖形用戶界面指令9976;用于促進實現圖像相關的處理和功能的圖像處理指令9978;用于促進實現輸入相關的(例如,觸摸輸入)處理和功能的輸入處理指令9980;用于促進實現音頻相關的處理和功能的音頻處理指令9982;以及用于促進實現相機相關的處理和功能的相機指令9984。以上所述的指令只是示例性的,并且在某些實施例中存儲器9970包括附加的和/或其他的指令。例如,智能電話的存儲器可以包括用于促進實現電話相關的處理和功能的電話指令。上述指令不需要被實現為單獨的軟件程序或模塊。移動計算裝置的各種功能能夠以硬件和/或軟件來實現,包括以一個或多個信號處理和/或應用專用的集成電路實現。
雖然圖99所示的構件被示為單獨的構件,但本領域技術人員應當意識到兩個或更多個構件可以被集成于一個或多個集成電路內。另外,兩個或更多個構件可以通過一個或多個通信總線或信號線耦接到一起。此外,雖然許多功能已經被描述為由一個構件執行,但是本領域技術人員應當意識到,針對圖99所描述的功能可以被分成兩個或更多個集成電路。
b.計算機系統
圖100在概念上示出了用以實現本發明的某些實施例的電子系統10000的另一個實例。電子系統10000可以是計算機(例如,臺式計算機、個人計算機、平板計算機等)、電話、pda或者任何其他種類的電子裝置或計算裝置。這樣的電子系統包括各種類型的計算機可讀介質以及用于其他各種類型的計算機可讀介質的接口。電子系統10000包括總線10005、處理單元10010、圖形處理單元(gpu)10015、系統存儲器10020、網絡10025、只讀存儲器10030、永久存儲裝置10035、輸入裝置10040和輸出裝置10045。
總線10005總體表示與電子系統10000的眾多內部裝置通信連接的所有的系統總線、外設總線和芯片組總線。例如,總線10005與具有只讀存儲器10030、gpu10015、系統存儲器10020和永久存儲裝置10035的處理單元10010通信連接。
從這些各種存儲器單元中,處理單元10010檢索出用于執行的指令以及用于處理以便執行本發明的處理的數據。在不同的實施例中,處理單元可以是單處理器或多核處理器。某些指令被傳遞給gpu10015并由其執行。gpu10015能夠卸載對由處理單元10010提供的圖像處理的各種計算或補充。在某些實施例中,此類功能能夠使用corelmage的內核暗影語言(kernelshadinglanguage)來提供。
只讀存儲器(rom)10030存儲電子系統的處理單元10010及其他模塊所需的靜態數據和指令。另一方面,永久存儲裝置10035是讀-寫存儲裝置。該裝置是用于存儲指令和數據(即使在電子系統10000關閉時)的非易失性存儲器單元。本發明的某些實施例使用大容量存儲裝置(例如磁盤或光盤及其相應的盤驅動器)作為永久存儲裝置10035。
其他實施例使用可移動存儲裝置(例如,軟盤、閃存裝置等,及其相應的驅動器)作為永久存儲裝置。像永久存儲裝置10035一樣,系統存儲器10020是讀-寫存儲裝置。但是,與存儲裝置10035不一樣,系統存儲器10020是易失性讀-寫存儲器,例如,隨機存取存儲器。系統存儲器10020存儲處理器在運行時需要的某些指令和數據。在某些實施例中,本發明的處理被存儲于系統存儲器10020、永久存儲裝置10035和/或只讀存儲器10030內。例如,各種存儲器單元包括根據某些實施例的用于處理多媒體片段的指令。從這些各種存儲器單元,處理單元10010檢索出用于執行的指令以及用于處理的數據,以便執行某些實施例的處理。
總線10005還連接到輸入和輸出裝置10040和10045。輸入裝置10040使用戶能夠將信息和選擇命令傳遞給電子系統。輸入裝置10040包括數字字母鍵盤和指點裝置(也稱為“光標控制裝置”)、相機(例如,網絡攝像頭)、用于接收語音命令的傳聲器或類似裝置等。輸出裝置10045顯示由電子系統生成的圖像或以其他方式輸出的數據。輸出裝置10045包括打印機和顯示裝置(例如,陰極射線管(crt)或液晶顯示(lcd)),以及揚聲器或類似的音頻輸出裝置。某些實施例包括諸如起著輸入和輸出裝置兩種作用的觸摸屏之類的裝置。
最后,如圖100所示,總線10005還通過網絡適配器(未示出)將電子系統10000耦接至網絡10025。以此方式,計算機能夠是計算機網絡(例如,局域網(“lan”)、廣域網(“wan”)或者內聯網)或者多個網絡的網絡(例如,互聯網)的一部分。電子系統10000的任意或全部構件可以結合本發明來使用。
某些實施例包括在機器可讀或計算機可讀介質(作為選擇,也稱為計算機可讀存儲介質、機器可讀介質或者機器可讀存儲介質)中存儲計算機程序指令的電子構件,例如,微處理器、存儲裝置和存儲器。此類計算機可讀介質的某些實例包括ram、rom、只讀壓縮盤(cd-rom)、可記錄壓縮盤(cd-r)、可重寫壓縮盤(cd-rw)、只讀數字萬用盤(例如,dvd-rom、雙層dvd-rom)、多種可記錄/可重寫dvd(例如,dvd-ram、dvd-rw、dvd+rw等)、閃存(例如,sd卡、mini-sd卡、微-sd卡等)、磁和/或固態硬盤驅動器、只讀和可記錄藍光
雖然上述討論主要涉及用于執行軟件的微處理器或多核處理器,但是某些實施例由一個或多個集成電路(例如,專用集成電路(asic)或現場可編程門陣列(fpga))執行。在某些實施例中,這樣的集成電路執行存儲于電路自身上的指令。另外,某些實施例執行存儲于可編程邏輯裝置(pld)、rom或ram裝置內的軟件。
如在本申請的說明書和任何權利要求中所使用的,術語“計算機”、“服務器”、“處理器”和“存儲器”全都指的是電子裝置或其他技術裝置。這些術語不包括人或人群。為了說明起見,術語顯示或正在顯示意指在電子裝置上的顯示。如在本申請的說明書和任何權利要求中所使用的,術語“計算機可讀介質”、“計算機可讀介質”和“機器可讀介質”完全限定于用于按照計算機可讀取的形式來存儲信息的有形的實體對象。這些術語不包括任何無線信號、有線下載信號以及任何其他短暫信號。
雖然本發明已經參考眾多具體的細節進行了描述,但是本領域技術人員應當意識到,在不脫離本發明的精神的情況下,本發明能夠以其他具體的形式來實現。例如,許多附圖都示出了各種觸摸手勢(例如,敲擊、雙擊、掃動手勢、長按手勢等)。但是,所示操作中的許多都能夠經由不同的觸摸手勢(例如,代替敲擊的掃動等)或者通過非觸摸輸入(例如,使用光標控制器、鍵盤、觸摸板/軌跡板、接近觸摸敏感屏等)來執行。另外,許多附圖(包括圖7、34、43、47、53、59、79、86和89)在概念上示出了處理。這些處理的具體操作可以不按照所示出的及所描述的嚴格順序來執行。具體的操作可以不以一連串連續的操作來執行,并且不同的具體操作可以在不同的實施例中執行。而且,該處理能夠使用若干個子處理來執行,或者作為較大的宏處理的一部分。因而,本領域技術人員應當理解,本發明并不限定于上述說明性的細節,而是應當由所附權利要求書來限定。