背景技術:
當在與網絡或移動應用相關聯的相應布局內顯示圖像時,圖像可以被放置在幾乎任何形狀和尺寸的容器內。例如,可以在第一實例處將圖像放置在第一尺寸的容器內,而在第二實例處將相同的圖像放置在第二尺寸的容器內。用于圖像放置的容器尺寸可以由于任何數量的原因而變化,諸如在顯示時圖像的突出(例如,與相關搜索結果相關聯)、設備或顯示屏幕的尺寸(例如,較大的設備可能導致更大的容器尺寸)等。
為了促進針對容器的圖像的裁剪,一些傳統(tǒng)技術確保在容器的邊界內的單個焦點的放置。其他技術執(zhí)行面部的自動檢測并將面部放置在容器的邊界內。對于任一種技術,圖像被簡單地定尺寸以適合容器,從而使得圖像具有與容器對應的適當的寬度和/或高度。然后可以裁剪不在容器邊界內的過量的圖像。然而,該方法可能導致圖像的無意義的顯示,特別是由于可以放置圖像的不同的容器尺寸。例如,假定圖像中的感興趣對象是個體,但是該個體僅是圖像的一小部分。使用這種傳統(tǒng)方法,不管容器的尺寸如何,圖像被定尺寸成適合容器(例如,容器的高度)。因此,當圖像被放置在相對較小的容器中時,在圖像內的圍繞個體的細節(jié)和內容中個體可能很難看到。
技術實現要素:
本公開的方面涉及根據容器尺寸來優(yōu)化圖像裁剪。在這點上,在裁剪圖像之前,對圖像縮放以適合特定容器,圖像要被放置在基于該容器的尺寸的布局內。為此,放置在相對較大的容器中的圖像可能被最小地縮放或根本不縮放,而放置在相對較小的容器中的圖像可能被相當地縮放以聚焦在特定的感興趣區(qū)域(熱點)上?;谌萜鞒叽鐏砜s放圖像可以使得特定感興趣區(qū)域以清楚和清晰的方式保持在視野中。例如,假定感興趣區(qū)域是人的面部。在這種情況下,當圖像被呈現在相對較小的容器內時,人的面部可以占據容器的大量部分。因此,圍繞感興趣區(qū)域(人的面部)的內容通??梢员慌懦陲@示之外,以從人的面部去除任何不必要的干擾。
除了根據圖像要被放置于其中的容器的尺寸來最佳地縮放圖像以用于顯示之外,在一些實施方式中,可以將圖像定位在容器內,從而使得感興趣區(qū)域或熱點被定位在容器的邊界內。例如,指定的熱點可以居中于容器中以確保感興趣區(qū)域的完全可見性。在確定圖像在容器內的縮放和放置之后,可以裁剪圖像以去除落在容器邊界外部的圖像部分。然后可以以允許感興趣區(qū)域的最佳查看的方式來顯示最佳地裁剪的圖像。
提供本發(fā)明內容以便以簡化形式來介紹將在下文詳細描述中進一步描述的一些概念。本發(fā)明內容不旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
附圖說明
下面參考附圖詳細描述本發(fā)明,其中:
圖1示出了已經被裁剪而導致感興趣區(qū)域的去除的示例性圖像;
圖2a-2b圖示了與不同尺寸的容器相關聯而被呈現的圖像;
圖3a-3b圖示了根據本公開的實施例的具有與不同尺寸容器相關聯而被呈現的具有不同縮放因子的圖像;
圖4是根據本公開的實施例的用于優(yōu)化圖像裁剪的示例性系統(tǒng)的框圖;
圖5圖示了根據本公開的實施例的用于選擇焦點和熱點的示例性用戶界面;
圖6圖示了根據本發(fā)明的實施例的被縮放和裁剪的圖像;
圖7圖示了根據本公開的實施例的有助于圖像裁剪優(yōu)化的一種方法的流程圖;
圖8是示出根據本公開的實施例的促進圖像裁剪優(yōu)化的另一種方法的流程圖;
圖9是示出根據本公開的實施例的促進圖像裁剪優(yōu)化的另一種方法的流程圖;以及
圖10是適合在本公開的實現中使用的示例性計算環(huán)境的框圖。
具體實施方式
在本文中具體描述本發(fā)明的主題以滿足法定要求。然而,描述本身不旨在限制本專利的范圍。相反,發(fā)明人已經設想所要求保護的主題還可以以其他方式實施,以包括不同的步驟或與本文檔中所描述的步驟類似的步驟的組合、以及其他現有的或未來的技術。此外,盡管術語“步驟”和/或“塊”在這里可以被用于指示所采用的方法的不同元素,但是這些術語不應被解釋為暗示這里公開的各種步驟之間的任何特定順序,除非個別步驟的順序被明確地描述。
單個圖像可以以任何數量的尺寸被顯示在用戶設備上。例如,移動設備可以以比顯示圖像的平板小的尺寸來顯示圖像。作為另一示例,可以在一個實例中與突出物品相關聯地顯示圖像,從而導致更大的圖像尺寸,而在一周后以較少突出顯示圖像,因為該物品可能不再被認為是突發(fā)新聞,從而導致較小的圖像尺寸。特別地,與網站或應用相關聯的相應設計通常包括各種形狀和尺寸的容器。容器通常適應于觀看環(huán)境(例如,顯示屏幕的尺寸)以提供最佳視圖和交互式體驗。結果,相對于被顯示在膝上型設備上的網站內的相同圖像,顯示網站的移動設備可以在更小尺寸的容器中提供圖像。
由于可以經由用戶設備呈現圖像的可變容器尺寸,所以頻繁地裁剪圖像以便適合圖像將被呈現在其中的適當容器。為了自動化圖像裁剪使得圖像適合特定容器,傳統(tǒng)系統(tǒng)將圖像居中于容器中,將圖像定尺寸以適合容器(例如,容器的高度),然后裁剪存在于容器的邊界外部的圖像部分。然而,這種自動裁剪可能導致呈現不期望的圖像,特別是在圖像中的感興趣對象被完全或部分地從圖像被裁剪的情況下。比如,裁剪圖像以使得個體的面部的一部分被裁剪可能是對圖像的不期望的修改。舉例來說,并且簡要參考圖1。圖1圖示了從圖像104裁剪感興趣對象102(面部)的一部分的示例。
為了避免從圖像全部或部分地裁剪重要方面,一些傳統(tǒng)系統(tǒng)的裁剪技術基于由發(fā)布者指定的單個位置。在這點上,發(fā)布者可以選擇圖像中的單個位置,然后當被顯示在用戶設備上時,該單個位置被排除在被裁剪之外。在保持圖像的裁剪邊界內的單個位置的同時,圖像被簡單地定尺寸以適合容器的邊界(例如,對圖像定尺寸,從而使得圖像的頂部邊界和底部邊界與容器相適合)。以這種方式的圖像定尺寸可能導致在不期望的細節(jié)水平或圖像中對于圖像的觀看者無意義的細節(jié)水平上顯示圖像。在這點上,被包含在經裁剪的圖像內的細節(jié)或內容相對于放置圖像的容器的尺寸和/或形狀沒有被優(yōu)化。因此,當圖像適合于小容器時,圖像內的感興趣對象的尺寸可能被不期望地減小。僅作為示例,并且參考圖2a和2b,假定用戶202a是圖像204a中感興趣的對象。當圖像被縮放以適合在容器206a內時,對象202a保持為圖像的重要且可見的方面。然而,當圖像204b被縮放以適合容器206b時,用戶202b變成被遮蔽感興趣對象(用戶202a)的細節(jié)或內容所包圍的小的方面。
因此,本發(fā)明的實施例針對最優(yōu)圖像裁剪。在這點上,圖像可以被有效地或最佳地裁剪以適合在容器內,例如在響應布局設計內。響應布局設計是指具有一個或多個容器的布局(例如,在網站或應用環(huán)境內),一個或多個容器通常適應于觀看環(huán)境以提供最佳視圖和/或交互式體驗。結果,相對于在膝上型設備上被顯示的網站內的相同圖像,顯示網站的移動設備可以在更小尺寸的容器中提供圖像。容器是指可以容納任何類型的數據或特定類型的數據的容器(或者是用于任何類型的數據或特定類型的數據的占位符)。在一些情況下,容器包括屬性,屬性定義要在容器內保持的數據類型。例如,容器可以被指定成容納圖像。
根據本文所述的本發(fā)明的方面,圖像可以被最佳地裁剪以適合不同尺寸的容器。對于最佳裁剪,根據要放置圖像的容器的尺寸來縮放圖像?;谌萜鞒叽缈s放圖像可以導致經由用戶設備向用戶呈現更有意義的圖像。例如,在較小容器內呈現的圖像可以被相當地縮放以聚焦在特定感興趣區(qū)域(熱點)上。通過聚焦在熱點上,由于熱點外部的全部內容不會從被指示為有意義的內容(熱點)轉移注意力,圖像將可能對用戶更有意義和清楚。例如,在諸如在搜索結果頁面中處理和顯示大量圖像的情況下,降低細節(jié)的水平以聚焦在圖像的感興趣區(qū)域上可以幫助用戶觀看大量圖像。作為另一示例,在圖像以較小尺寸出現的情況下(例如,如果圖像在下載期間用作占位符),則減小正在顯示的細節(jié)的級別能夠從感興趣區(qū)域移除不必要的注意力分散。
如所提到的,圖像被縮放以適合特定容器,要將圖像放置在基于該容器的尺寸的布局內。為此,放置在相對大的容器中的圖像可能被最小地縮放或根本不縮放,而放置在相對較小的容器中的圖像可能被相當地縮放以聚焦在特定感興趣區(qū)域(本文也稱為熱點)。在一些情況下,到感興趣區(qū)域中的漸增(progression)量被用于確定要應用于圖像的圖像縮放的程度。漸增量或熱點漸增量是指熱點相對于容器的尺寸或比例。相較于和顯示設備相關聯的最大容器尺寸和最小容器尺寸,可以基于要放置圖像的容器的尺寸來確定漸增量。例如,大約在最大容器尺寸和最小容器尺寸之間的一半的容器尺寸可能導致0.5的熱點漸增(在0到1的數值范圍上)。熱點漸增量然后可以用于確定縮放的水平或程度,當縮放的水平或程度被應用時導致圖像的縮放,從而使得圖像熱點占據容器的期望部分(例如,50%)。
除了根據圖像要被放置于其中的容器的尺寸來最佳地縮放圖像以用于顯示之外,在一些實施方式中,可以將圖像定位在容器內,從而使得感興趣區(qū)域或熱點被定位在容器的邊界內。比如,指定的熱點可以居中于容器中以確保感興趣區(qū)域的完全可見性。在確定圖像在容器內的縮放和放置之后,可以裁剪圖像以去除落在容器邊界外部的圖像部分。然后可以以允許最佳地觀看感興趣區(qū)域或熱點的方式來顯示最佳地裁剪的圖像。
通過示例的方式并且參考圖3a和3b,假定圖3a的熱點302a被指定為圖像304a內的感興趣區(qū)域。進一步假定圖像304a將被呈現在容器306a內。因為容器306a相對較大,所以圖像304a被最小地縮放?,F在假定圖3b的熱點302b被指定為圖像304b內的感興趣區(qū)域,并且圖像304b將被呈現在容器306b內。因為容器306b相對較小,所以圖像304a被相當地縮放以聚焦在熱點302b上。因此,基于容器的尺寸,圖像被適當地縮放以聚焦在圖像內的熱點上。
雖然本文關于在響應布局設計內的容器一般性地描述本發(fā)明的各方面,但是可以理解,該技術可以在其他圖像裁剪環(huán)境中實現。上述概念和其他概念、包括其變型和組合被認為在本公開的范圍內。
現在轉到圖4,提供了示出可以采用本公開的一些實現的操作環(huán)境的示例的框圖。應當理解,本文描述的這種和其他布置僅作為示例。除了所示的那些之外或代替所示的那些,可以使用其他布置和元件(例如,機器、接口、功能、命令和功能分組等),并且為了清楚起見,一些元件可以完全省略。此外,本文描述的很多元件是可以被實現為離散或分布式部件或與其他部件結合、以及以任何合適的組合和位置實現的功能實體。本文描述為由一個或多個實體執(zhí)行的各種功能可以由硬件、固件和/或軟件來執(zhí)行。例如,一些功能可以由執(zhí)行存儲在存儲器中的指令的處理器來實現。
在未示出的其他部件中,操作環(huán)境400包括多個用戶設備,諸如用戶設備402a和402b至402n、發(fā)布者設備404、內容服務器406以及網絡408。應當理解,如圖4所示的操作環(huán)境400是一個合適的操作環(huán)境的示例。圖4中所示的每個部件可以經由結合圖10描述的任何類型的計算設備來實現,計算設備諸如計算設備1000中的一個或多個。這些部件可以經由網絡408彼此通信,網絡408可以是有線的、無線的或兩者。網絡408可以包括多個網絡或網絡的網絡,但是以簡單的形式示出,以免模糊本公開的方面。舉例來說,網絡408可以包括一個或多個廣域網(wan)、一個或多個局域網(lan)、諸如因特網的一個或多個公共網絡和/或一個或多個專用網絡。在網絡408包括無線電信網絡的情況下,諸如基站、通信塔或甚至接入點(以及其他部件)的部件可以提供無線連接。網絡環(huán)境在辦公室、企業(yè)范圍的計算機網絡、內聯網和因特網中很常見。因此,沒有非常詳細地描述網絡408。
應當理解,在本公開的范圍內,可以在操作環(huán)境400內采用任何數量的用戶設備、發(fā)布者設備和內容服務器。每個可以包括單個設備或在分布式環(huán)境中協(xié)作的多個設備。比如,內容服務器406可以經由布置在分布式環(huán)境中共同提供本文描述的功能的多個設備來提供。另外,未示出的其他部件也可以被包括在分布式環(huán)境中。
在高層,與發(fā)布者設備404相關聯的發(fā)布者可以指定特定圖像的豐富數據,豐富數據使能或促進圖像的最佳裁剪。比如,并且如下文更詳細地描述的,發(fā)布者可以指定圖像內的熱點或感興趣區(qū)域,從而使得根據熱點適當地縮放和裁剪圖像。在生成豐富圖像時,可以將豐富圖像提供給內容服務器406,豐富圖像即包括豐富元數據的圖像。內容服務器406通常管理例如與網站或應用(例如,移動應用)相關聯地服務或提供圖像。當用戶設備402提供對內容的請求時,內容服務器406可以向用戶設備402提供除了別的以外的豐富圖像以用于顯示。使用與圖像相關聯的豐富數據,用戶設備可以以優(yōu)化圖像的縮放和裁剪的方式來顯示圖像(例如,在容器內)。
首先轉到發(fā)布者設備404,發(fā)布者設備404可以是能夠由發(fā)布者操作的任何類型的計算設備。發(fā)布者在本文中被用于指代指示圖像的豐富數據的個體或實體。在一些情況下,發(fā)布者設備可以由發(fā)布圖像用于合并到內容中的實體使用。比如,將圖像和豐富圖像數據提供給內容服務器以服務內容,諸如由第三方提供的應用或網站。在其他情況下,發(fā)布者設備可以由發(fā)布其自己的具有一個或多個圖像的應用或網站的實體使用。
在一些實現中,發(fā)布者設備404是本文中關于圖10描述的一種類型的計算設備。作為示例而非限制,發(fā)布者設備可以被實現為個人計算機(pc)、膝上型計算機、移動設備、智能電話、平板計算機、智能手表、可穿戴計算機、個人數字助理(pda)、mp3播放器、全球定位系統(tǒng)(gps)或設備、視頻播放器、手持通信設備、游戲設備或系統(tǒng)、娛樂系統(tǒng)、車輛計算機系統(tǒng)、嵌入式系統(tǒng)控制器、電器、消費電子設備、工作站、這些描述的設備的任何組合、或任何其他合適的設備。
發(fā)布者設備可以包括一個或多個處理器以及一個或多個計算機可讀介質。計算機可讀介質可以包括由一個或多個處理器可執(zhí)行的計算機可讀指令。指令可以由一個或多個應用程序來呈現,諸如圖4中所示的圖像應用程序410。圖像應用410通??梢允悄軌虼龠M在發(fā)布者設備404和內容服務器406之間提供豐富圖像的任何應用。盡管本文一般地描述為與內容服務器406通信,但是可以理解,發(fā)布者設備404可以直接與用戶設備402和/或未示出的其他部件(例如,服務器或設備)通信。在一些實施方式中,圖像應用410包括web應用,其可以在web瀏覽器中運行,并且可以至少部分地在服務器側托管。另外或替代地,圖像應用可以包括專用應用。在一些情況下,應用被集成到操作系統(tǒng)中(例如,作為服務)。
發(fā)布者可以使用圖像應用410向內容服務器406提供輸入。輸入可以由用戶經由應用410的用戶界面提供,應用410可以基于客戶端或服務器(例如,基于瀏覽器)。通常,發(fā)布者可以選擇或輸入與圖像相關聯的豐富圖像數據。豐富圖像數據在本文中通常被稱為指示與圖像相關聯的屬性的數據或元數據,其使能或促進圖像的裁剪和/或縮放。豐富圖像數據可以由顯示或呈現設備用于將圖像放置在容器內。如本文所述,豐富圖像數據可以包括指示熱點。熱點指的是圖像內的感興趣區(qū)或區(qū)域。可以以任何數量的方式選擇或指定熱點。
在一個實施例中,可以基于對焦點和區(qū)域的用戶選擇來指定熱點。焦點可以是圖像內的任何點或位置(例如,由像素指定),諸如指示熱點的中心的圖像上的單個x、y位置。可以以任何方式指示熱點區(qū)域以指定熱點的尺寸或區(qū)域。例如,熱點尺寸可以被指定為距離焦點的半徑。在這種情況下,熱點指的是具有圍繞焦點的指定半徑的感興趣區(qū)域。在一些實施方式中,可以采用允許發(fā)布者用一個點擊和拖動手勢來設置熱點中心和尺寸的一次點擊界面。參考圖5,圖5示出了用于經由焦點和半徑選擇熱點的一個示例性用戶界面。如圖5所示,發(fā)布者可以選擇圖像500內的焦點502并選擇半徑504以生成熱點506??梢岳斫?,可以以任何數量的方式來指定熱點。比如,這樣的選擇可以作為兩個不同的選擇、針對焦點的點擊和針對半徑的拖動等而發(fā)生。此外,盡管被描述為基于半徑的圓形熱點,但是可以理解,可以使用任何形狀用于指定熱點。比如,用戶可以圍繞感興趣的對象繪制自由形式的形狀。如下文更詳細描述的,當顯示圖像時,焦點可以用于確定在裁剪期間要保留的圖像的點,并且熱點區(qū)域可以用于確定圖像的比例。
返回圖4,內容服務器406是指向用戶設備提供內容的服務器。內容服務器可以與搜索引擎、網站或應用相關聯以提供用于在用戶設備402上顯示的網頁或應用頁面。從諸如發(fā)布者設備404的發(fā)布者設備所接收的豐富圖像可以被存儲,從而使得它們由內容服務器406可訪問。在一個實施方式中,可以將豐富圖像存儲為xmp標準的一部分。比如,xmp元數據可以與圖像一起存儲在圖像文件本身內或者存儲在邊車(sidecar)圖像(filename.xmp)中。當從用戶設備接收到對內容的請求時,內容服務器406可以向用戶設備提供內容。如所描述的,內容服務器406通常提供具有豐富圖像數據的豐富圖像,從而使得用戶設備可以基于豐富數據來修改圖像。可以理解,內容服務器406可以將嵌入有元數據或者作為邊車文件的豐富圖像傳送到請求圖像的設備、應用或服務。為此,圖像可以通過網絡被傳送到在用戶設備上顯示圖像但不隸屬于發(fā)布者的第三方(例如,圖像可以被上傳到另一博客的博客系統(tǒng)(wordpress)站點)。因此,元數據可以對希望使用或存儲數據的任何實體來說是可用的。
用戶設備402a到402n可以是在操作環(huán)境400的客戶端側的客戶端設備,而內容服務器406可以在操作環(huán)境400的服務器側。內容服務器406可以包括被設計成結合用戶設備402a到402n上的客戶端軟件工作以便實現本公開中討論的特征和功能的任何組合的服務器側軟件。這種客戶端側軟件的示例是用戶設備402a上的應用412。每個其他設備包括具有類似功能的類似應用。提供操作環(huán)境400的這種劃分以示出合適環(huán)境的一個示例,并且注意,不要求針對每個實施方式內容系統(tǒng)406和用戶設備402a至402n的任何組合保持為單獨的實體。
用戶設備402a到402n可以是能夠由用戶操作的任何類型的計算設備。例如,在一些實現中,用戶設備402a到402n是本文中關于圖10描述的類型的計算設備。作為示例而非限制,用戶設備可以被實現為個人計算機(pc)、膝上型計算機、移動設備、智能電話、平板計算機、智能手表、可穿戴計算機、個人數字助理(pda)、mp3播放器、全球定位系統(tǒng)(gps)或設備、視頻播放器、手持通信設備、游戲設備或系統(tǒng)、娛樂系統(tǒng)、車輛計算機系統(tǒng)、嵌入式系統(tǒng)控制器、電器、消費電子設備、工作站、這些描述的設備的任何組合、或任何其他合適的設備。
用戶設備可以包括一個或多個處理器以及一個或多個計算機可讀介質。計算機可讀介質可以包括由一個或多個處理器可執(zhí)行的計算機可讀指令。指令可以由一個或多個應用程序、諸如圖1中所示的應用程序412來呈現。如上文所指出的,其他用戶設備可以包括類似于應用412的一個或多個應用。應用通??梢允悄軌虼龠M用戶設備與內容服務器之間的信息交換的任何應用。在一些實施方式中,應用包括網絡應用,其可以在網絡瀏覽器中運行,并且可以至少部分地在服務器側托管。另外或替代地,應用可以包括專用應用。在一些情況下,應用被集成到操作系統(tǒng)中(例如,作為服務)。
用戶可以使用應用412向內容服務器406提供輸入。輸入可以由用戶經由與應用412相關聯的用戶界面來提供,應用412可以基于客戶端或服務器(例如,基于瀏覽器)。通常,用戶例如從內容服務器406發(fā)起對內容的請求。例如,用戶可以發(fā)起對于網頁、網站或應用的請求。這樣的網頁、網站或應用可以是響應式的,因為圖像被放置在網站或應用內的容器中。可以經由到應用或網絡瀏覽器中的用戶輸入(例如,輸入url或鏈接的選擇)來發(fā)起請求。
響應于對內容的請求,可以例如從內容服務器406接收內容。如所描述的,內容可以是包含用于放置圖像的一個或多個容器的網頁或應用的形式。提供給用戶設備402的內容還可以包括包含圖像和豐富圖像數據的豐富圖像。
應用412可以利用所接收的豐富圖像數據來操縱或修改圖像以包括在應用布局(例如,響應布局)內的特定容器中。換句話說,應用412利用所接收的豐富圖像數據來確定容器內的圖像的最佳或適當呈現。
根據本發(fā)明的實施例,為了優(yōu)化圖像用于放置在特定容器內,可以相對于圖像要被放置到的容器的尺寸和/或形狀來縮放和/或裁剪圖像。例如,在用于網絡和移動應用的響應設計的情況下,圖像可以潛在地在任何數量的形狀和/或尺寸的容器中顯示。因此,可以在顯示時間期間確定圖像的縮放和/或裁剪,以使圖像最佳地適合響應布局。
縮放通常是指對圖像重新定尺寸。可以使用任何數量的技術來縮放圖像。例如,縮放可以應用最近鄰插值,其中每個像素簡單地由相同尺寸的四個像素替換。作為另一示例,縮放可以被用于對圖像執(zhí)行放大或縮小操作。作為又一示例,可以使用線性或雙三次縮放用于縮放以供使用??梢岳斫?,可以使用不同的重新采樣算法來基于所使用的特定設備和/或平臺來優(yōu)化顯示。
可以使用縮放圖像來減小與容器中顯示的圖像一起呈現的細節(jié)的級別。因此,縮放使得圖像在各種尺寸下清楚和清晰。例如,當圖像要被放置在小容器中時,可以放大圖像以聚焦在被指示為熱點(即,感興趣區(qū)域)的個人的面部上。在某些情況下,為了放大,可能會創(chuàng)建新的像素。在其他情況下,源圖像可以包括放大而不進行插值的信息。作為另一示例,在處理和顯示大量圖像的情況下,大量圖像諸如在(例如,新聞應用的)搜索結果內,降低圖像內呈現的細節(jié)的水平使得能夠集中在重要或有價值的部分以輔助用戶處理圖像列表。
如本文所述,根據要放置圖像的容器的尺寸來確定圖像的圖像縮放。圖像縮放可以相對于圖像要被放置到其中的容器(在本文中有時被稱為目的地容器)的尺寸或與之成比例地確定。在這點上,相比于目的地容器是更大的尺寸,當目的地容器是較小尺寸時,可以在更大程度上縮放圖像。
可以采用任何數量的方法來確定相對于目的地容器縮放圖像的量或程度。在一個實施例中,基于導致以相對于目的地容器的特定尺寸呈現的熱點所需的縮放級別來確定要應用于圖像的圖像縮放。僅作為示例而非限制,假定要相對于目的地容器以其原始尺寸呈現熱點。在這種情況下,應用于圖像的圖像縮放是0?,F在假定呈現熱點以占據目的地容器的大部分(例如,最大寬度和/或高度)。在這種情況下,可以基于熱點占據幾乎所有目的地容器所需的縮放量來確定要應用于圖像的圖像縮放(例如,將熱點高度或寬度與容器的邊界對準)。
為了確定對于目的地容器適當或成比例的圖像縮放,可以確定熱點漸增量。熱點漸增量指的是熱點相對于目的地容器的尺寸或比例。如可以理解的,熱點漸增可以落入任何漸增范圍內。例如,如本文所述,熱點漸增可以在0到1之間。熱點漸增量0指示熱點的尺寸或比例不改變。熱點漸增量1表示要修改熱點的尺寸或比例,從而使得圖像熱點占據幾乎所有容器。例如,熱點的寬度和/或高度可以與容器的邊界對準。
為了確定熱點漸增量,可以標識目的地容器尺寸,最大容器尺寸和最小容器尺寸。目的地容器尺寸是指要放置或呈現圖像的容器的尺寸。如可以理解的,可以以任何數量的方式指定圖像用于在特定容器中放置。例如,與圖像和/或容器相關聯的元數據可以用于標識要在哪個容器放置圖像。然后,應用程序可以標識要將應用程序放置到其中的容器的尺寸。在一些情況下,可以基于設備的屏幕分辨率、設備的方向等來確定容器尺寸。
最大容器尺寸是指可以放置或呈現圖像的容器的最大或最大的潛在尺寸。最大容器尺寸可以基于顯示設備或顯示屏幕(例如,移動設備、平板等)的尺寸、被顯示的網絡瀏覽器的尺寸等。最小容器尺寸指的是其中可放置或呈現圖像的容器的最小或最小的潛在尺寸。如可以理解的,最小容器尺寸可以小到1×1像素,但是可以具有被認為對于顯示圖像是合理的任何尺寸(例如,100像素×100像素)。在一些情況下,最大和/或最小容器尺寸可以是跨設備可應用的默認容器尺寸。在其他情況下,最大和/或最小容器尺寸可以是針對特定顯示設備、顯示屏幕尺寸、網絡瀏覽器尺寸等確定或指定的容器尺寸。在一些情況下,最大容器尺寸與熱點漸增量0相關聯,從而使得縮放不應用于圖像,并且最小容器尺寸與熱點漸增量1相關聯,導致完全縮放到熱點中。
基于最大容器尺寸、最小容器尺寸和目的地容器尺寸,可以確定目的地容器尺寸的熱點漸增量。在一個實施方式中,可以使用線性漸增來確定目的地容器尺寸的熱點漸增量。為此,線性漸增可以被用于確定針對落入最大容器尺寸與最小容器尺寸之間的容器尺寸的熱點漸增量。在一些情況下,可以僅考慮容器的一個方面,例如寬度。
僅作為示例,并且參考圖6,假定最大容器尺寸602是800像素(寬度),并且熱點漸增量為0,最小容器尺寸604為100像素(寬度),并且熱點漸增量為1。還假定目標容器尺寸606是500像素(寬度)。為了確定目的地容器尺寸606的熱點漸增量,可以應用線性漸增模型來確定漸增量為0.35。在這點上,期望漸增或縮放到熱點中使得35%反映熱點影響縮放的程度。
熱點漸增量然后可以被用于確定要應用于圖像的圖像縮放。在這點上,可以確定導致特定熱點漸增所需的圖像縮放的程度。在一些實現中,基于熱點的尺寸來確定要應用于圖像的圖像縮放的量。為此,在熱點較小的情況下必須更多地縮放圖像以達到某一水平的熱點漸增(例如,0.35),與熱點較大的情況下達到相同水平的熱點漸增所需要的漸增相比。
在一些情況下,為了確定針對要放置在目的地容器中的圖像的圖像縮放,可以使用用于最大容器尺寸和最小尺寸容器的圖像縮放。僅作為示例,用于最大容器尺寸的圖像縮放可以被標識為100%的圖像縮放,即,圖像不被放大以使熱點在視野中。可以以多種方式確定用于最小容器尺寸的圖像縮放。在一個實施方式中,用于最小容器尺寸的圖像縮放可以取決于熱點尺寸相對于圖像尺寸以及目的地容器的尺寸/形狀的比率。具體地,可以根據將圖像縮放使熱點填充容器寬度和/或高度(或一些其他測量)所需的量來確定圖像縮放。因此,在豐富圖像數據中指示的熱點區(qū)域或尺寸可以被用于確定導致熱點占據容器的大部分的縮放量。在一些情況下,對于最小容器尺寸,熱點邊界可能需要與容器的高度和/或寬度對準。僅作為示例,并且參考圖6,用于最大容器尺寸的圖像比例尺608可以被指定為100%或1x。此外,針對填充最小容器尺寸604的熱點610,可以確定圖像比例612為800%或8x??梢岳斫猓钚〕叽缛萜鞯膱D像縮放根據熱點的尺寸相對于圖像而變化。例如,如果熱點較小,則圖像將被更大程度地縮放以使熱點變?yōu)槿晥D。
然后可以使用為最大容器尺寸和/或最小容器尺寸標識的圖像縮放來確定與目的地容器相關聯的圖像的圖像縮放。確定目的地容器的圖像縮放可以以任何數量的方式來實現。在一個實施例中,針對目的地容器而應用于圖像的圖像縮放量基于針對目的地容器而確定的漸增量。在這點上,目的地容器的熱點漸增可以乘以熱點完全占據容器所需的最大圖像縮放(例如,線性漸增)。換句話說,可以將針對目的地容器而確定的熱點漸增乘以針對最小容器尺寸而確定的圖像比例。作為示例,并且參考圖6,如圖所示,針對目的地容器606的漸增量614為0.35,并且針對最小容器尺寸604所確定的圖像縮放612為800%或8x(例如,圖像被放大8倍,以使熱點近似為與容器尺寸相同)。因此,針對目的地容器606的圖像縮放可以被確定為0.35乘以8x,導致大約因子3的圖像縮放616。3x的圖像縮放將在針對最大容器尺寸的圖像縮放1與針對最小容器尺寸的圖像縮放8之間的大約35%。也就是說,35%的熱點漸增指示800%最大縮放的35%被應用于圖像,這大約是280%(放大2.8倍)。在一些情況下,為了確定針對最小容器尺寸的圖像縮放量,最初將圖像縮放到容器中而忽略熱點漸增,這將被認為是100%或1x。此后,使用最小容器尺寸和熱點尺寸,確定比例因子以使熱點與容器具有相同的尺寸。
除了縮放圖像之外,應用412可以被配置為裁剪圖像,從而使得圖像適合在容器內。因此,在縮放圖像之后,可以裁剪圖像以去除或排除落在目標容器的邊界外部的圖像的部分。圖像被裁剪的位置可以基于經縮放的圖像如何與容器對準。因此,可以參考在豐富圖像數據中指定的焦點和/或熱點以對準圖像。在一些情況下,圖像被定位在容器內,從而使得指定的焦點或熱點被放置在容器內。在其他情況下,圖像被定位在容器內,從而使得指定的焦點或熱點居中于容器內。基于圖像在容器內的放置,可以裁剪在容器外部的圖像部分。
在操縱或調整圖像用于放置在容器中時,應用412可以使得在容器內顯示圖像。因此,用戶設備402的顯示屏幕可以在優(yōu)化的縮放和/或裁剪下在容器內顯示圖像。作為示例,并且參考圖6,可以在圖像的適當或最佳縮放的情況下在容器606中顯示圖像618以聚焦在指定的熱點上,同時將熱點保持在圖像的中心或中心附近。
現在參考圖7,提供了示出用于促進圖像裁剪的優(yōu)化的方法700的實施例的流程圖。方法700的每個方框和本文描述的其他方法包括可以使用硬件、固件和/或軟件的任何組合來執(zhí)行的計算過程。比如,各種功能可以由執(zhí)行存儲在存儲器中的指令的處理器來實現。這些方法還可以被實現為存儲在計算機存儲介質上的計算機可用指令。僅舉幾個例子,所述方法可以由獨立應用、服務或托管服務(獨立的或與另一托管服務組合)或者另一產品的插件來提供。
最初,在框702,獲取圖像和圖像內的感興趣區(qū)域的指示。這樣的信息可以例如由內容提供商在對內容請求的響應中提供。感興趣區(qū)域的指示可以由圖像的發(fā)布者、設計者或其他提供者來指定或選擇。例如,發(fā)布者設備(例如,圖4的發(fā)布者設備404)可以經由發(fā)布者設備的輸入部件(例如,圖10的顯示器/i/o部件1020)接收與感興趣的圖像或區(qū)域相關的輸入(例如,觸摸輸入、鍵盤輸入等)。然后,發(fā)布者設備可以向內容提供者提供與感興趣的圖像和/或區(qū)域相關的輸入數據,內容提供者然后可以響應于對內容的請求向用戶設備(例如,圖4的用戶設備402)提供數據。在框704,基于圖像要被放置于其中的容器的尺寸來確定縮放圖像的量以用于顯示。為了聚焦在圖像內的感興趣區(qū)域、較小尺寸的容器縮放圖像的量大于針對較大尺寸的容器縮放圖像的量。在這點上,在諸如圖4的用戶設備402的用戶設備處的應用可以確定縮放圖像的量,特別地,較小尺寸的容器可以具有較大的縮放量。在框706,根據所確定的縮放圖像的量來縮放圖像。在框708,將經縮放的圖像裁剪為適合于容器。在諸如圖4的用戶設備402的用戶設備處的應用可以縮放和裁剪圖像。
現在參考圖8,提供了示出用于促進圖像裁剪的優(yōu)化的方法800的一個實施例的流程圖。最初,在框802,獲取圖像的感興趣區(qū)域的指示,感興趣區(qū)域的指示包括感興趣區(qū)域的焦點。這樣的信息可以例如由內容提供商在對內容請求的響應中提供。感興趣區(qū)域的指示可以由圖像的發(fā)布者、設計者或其他提供者指定或選擇。例如,發(fā)布者設備(例如,圖4的發(fā)布者設備404)可以經由發(fā)布者設備的輸入部件(例如,圖10的顯示器/i/o部件1020)接收與感興趣的圖像或區(qū)域相關的輸入(例如,觸摸輸入、鍵盤輸入等)。然后,發(fā)布者設備可以向內容提供者提供與感興趣的圖像和/或區(qū)域相關的輸入數據,內容提供者然后可以響應于對內容的請求向用戶設備(例如,圖4的用戶設備402)提供數據。在框804,標識用于呈現圖像的容器。可以基于與圖像和/或資源(例如,網頁或應用)相關聯的元數據來標識用于呈現圖像的容器。比如,諸如圖4的用戶設備402的用戶設備可以標識要在其中呈現圖像的容器。在框806,確定用于應用為相對于容器的尺寸放大圖像以聚焦在的感興趣區(qū)域上的圖像縮放。在框808,根據所確定的圖像縮放來縮放圖像。在框810,基于感興趣區(qū)域的焦點,將經縮放的圖像居中于容器中。隨后,在框812,裁剪經居中的圖像以去除圖像在容器的一個或多個邊界外部的部分。在框814,引起經裁剪的圖像的顯示。在實施例中,諸如圖4的用戶設備402的用戶設備可以確定適用的圖像縮放、縮放圖像、居中圖像、裁剪圖像、并且顯示圖像。
現在參考圖9,提供了示出用于促進圖像裁剪的優(yōu)化的方法900的一個實施例的流程圖。最初,在框902,獲取圖像的感興趣區(qū)域的指示,感興趣區(qū)域的指示包括感興趣區(qū)域的焦點。例如,發(fā)布者設備(例如,圖4的發(fā)布者設備404)可以經由發(fā)布者設備的輸入部件(例如,圖10的顯示器/i/o部件1020)接收與感興趣的圖像或區(qū)域相關的輸入(例如,觸摸輸入、鍵盤輸入等)。發(fā)布者設備然后可以向內容提供者提供與感興趣的圖像和/或區(qū)域相關的輸入數據,內容提供者然后可以響應于對內容的請求向用戶設備(例如,圖4的用戶設備402)提供數據。在框904,基于感興趣區(qū)域的尺寸和用于相對于顯示設備的顯示屏幕來呈現圖像的容器尺寸,自動確定用于應用為縮放圖像的圖像縮放尺寸。在一些情況下,圖像縮放尺寸基于針對相對于容器尺寸感興趣區(qū)域而被確定的漸增量。在框906,向圖像應用縮放尺寸以放大圖像。在框908,基于感興趣區(qū)域的焦點在容器內對準經縮放的圖像。在框910,根據與容器的圖像對準來裁剪經縮放的圖像。在實施例中,諸如圖4的用戶設備402的用戶設備可以確定適用的圖像縮放、應用圖像縮放尺寸、對準經縮放的圖像、以及裁剪圖像。
現在轉到圖10。圖10提供了適于在實現本公開時使用的示例性計算環(huán)境的圖。計算設備1000包括直接或間接耦合以下設備的總線1010:存儲器1012、一個或多個處理器1014、一個或多個呈現部件1016、輸入/輸出(i/o)端口1018、輸入/輸出部件1020、以及說明性的電源1022??偩€1010表示可以是一個或多個總線(諸如地址總線、數據總線或其組合)的總線。盡管圖10的各個框為了清楚起見用線條示出,但實際上,描繪各種部件不是那么清楚,并且比喻地,線條將更準確地是灰色和模糊的。例如,可以將諸如顯示設備的呈現部件視為i/o部件。此外,處理器具有存儲器。發(fā)明人認識到這是本領域的本質,并且重申圖10的圖僅僅是可以結合本發(fā)明的一個或多個實施例使用的示例性計算設備的說明。在諸如“工作站”、“服務器”、“膝上型計算機”、“手持設備”等類別之間不進行區(qū)分,因為所有這些類型都被預期在圖10的范圍內并且參考“計算設備”。
計算設備1000通常包括各種計算機可讀介質。計算機可讀介質可以是由計算設備1000可訪問的任何可用介質,并且包括易失性和非易失性介質、可移除和不可移除介質。作為示例而非限制,計算機可讀介質可以包括計算機存儲介質和通信介質。計算機存儲介質包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據的信息的任何方法或技術來實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括但不限于ram、rom、eeprom、閃存或其他存儲器技術、cd-rom、數字通用盤(dvd)或其他光盤存儲器、磁帶盒、磁帶、磁盤存儲器或其他磁存儲設備、或可以用于存儲期望的信息并且可以由計算設備1000訪問的任何其他介質。計算機存儲介質本身不包括信號。通信介質通常在諸如載波或其它傳輸機制的調制數據信號中體現計算機可讀指令、數據結構、程序模塊或其他數據,并且包括任何信息傳遞介質。術語“調制數據信號”意指使得其一個或多個特性以在信號中編碼信息的方式而被設置或改變的信號。作為示例而非限制,通信介質包括諸如有線網絡或直接有線連接的有線介質以及諸如聲學、rf、紅外和其它無線介質的無線介質。任何上述的組合也應包括在計算機可讀介質的范圍內。
存儲器1012包括易失性和/或非易失性存儲器形式的計算機存儲介質。存儲器可以是可移除的、不可移除的或其組合。示例性硬件設備包括固態(tài)存儲器、硬盤驅動器、光盤驅動器等。計算設備1000包括從諸如存儲器1012或i/o部件1020的各種實體讀取數據的一個或多個處理器。呈現部件1016向用戶或其他設備呈現數據指示。示例性呈現部件包括顯示設備、揚聲器、打印部件、振動部件等。
i/o端口1018允許計算設備1000在邏輯上耦合到包括i/o部件1020的其它設備,其中一些可以被內置。說明性部件包括麥克風、操縱桿、游戲平板、碟形衛(wèi)星天線、掃描儀、打印機、無線設備等。i/o部件1020可以提供自然用戶界面(nui),自然用戶界面(nui)處理由用戶產生的空中姿勢、語音或其他生理輸入。在一些情況下,輸入可以被發(fā)送到適當的網絡元件用于進一步處理。nui可以將語音識別、觸摸和觸筆識別、面部識別、生物特征識別、屏幕上和臨近屏幕的手勢識別、空中手勢、頭部和眼睛跟蹤以及與計算設備上的顯示相關聯的觸摸識別的任何組合實現在計算設備1000上。計算設備1000可以配備有深度相機,諸如立體相機系統(tǒng)、紅外相機系統(tǒng)、rgb相機系統(tǒng)、以及它們的組合,用于手勢檢測和識別。另外,計算設備1000可以配備有能夠檢測運動的加速度計或陀螺儀。加速度計或陀螺儀的輸出可以被提供給計算設備1000的顯示器以實施沉浸式增強現實或虛擬現實。
可以理解,本公開的實現提供了促進圖像裁剪的優(yōu)化。已經關于特定實施例描述了本發(fā)明,這些特定實施例在所有方面都旨在是說明性的而非限制性的。在不脫離本發(fā)明范圍的情況下,替代實施例對于本發(fā)明所屬領域的普通技術人員將變得顯而易見。