TW202226832A - 自適應範圍之包裝壓縮 - Google Patents

自適應範圍之包裝壓縮 Download PDF

Info

Publication number
TW202226832A
TW202226832A TW110137205A TW110137205A TW202226832A TW 202226832 A TW202226832 A TW 202226832A TW 110137205 A TW110137205 A TW 110137205A TW 110137205 A TW110137205 A TW 110137205A TW 202226832 A TW202226832 A TW 202226832A
Authority
TW
Taiwan
Prior art keywords
pixel
values
range
block
quantization levels
Prior art date
Application number
TW110137205A
Other languages
English (en)
Inventor
理查 威柏
Original Assignee
美商菲絲博克科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商菲絲博克科技有限公司 filed Critical 美商菲絲博克科技有限公司
Publication of TW202226832A publication Critical patent/TW202226832A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

在一實施例中,一種方法是牽涉到接收一像素陣列、壓縮所述像素陣列,其藉由針對於多個像素區塊的每一個像素區塊:存取和在所述像素區塊中的像素相關的像素值、判斷所述像素值的一範圍以及在所述範圍中的一端點像素值、決定對應於所述像素值的所述範圍之內的不同的值的量化位準、針對於所述像素區塊中的所述像素值的每一個,從所述量化位準選擇一量化位準、以及利用其個別所選的量化位準以及所述端點像素值來編碼在所述像素區塊中的所述像素值。

Description

自適應範圍之包裝壓縮
此揭露內容大致是有關於產生用於一人工實境場景的圖形。 相關申請案之交互參照 此申請案是主張2020年12月18日申請的美國非臨時專利申請案號17/126,397的優先權,所述美國非臨時專利申請案的揭露內容是藉此為了所有的目的以其整體被納入作為參考。
人工實境牽涉到電腦產生的圖形以一沉浸式方式顯示給使用者。所述目標是使得使用者體驗到所述電腦產生的圖形,就好像它們在其面前存在於世界中。成像用於人工實境的電腦產生的圖形是計算上繁重的工作,通常需要昂貴且專門的硬體。此至少部分是因為顯示給使用者的圖形必須是非常高品質的要求。為了讓使用者相信所述圖形代表在其周圍的世界(或是一部分),所述圖形據信必須是高品質的。其中所述圖形或是被用來投影所述圖形的顯示器讓使用者能夠看見在像素之間的線的紗窗效應可能會毀掉任何的浸入感。再者,用於人工實境場景的圖形通常是互動的,亦即當使用者在虛擬空間中“移動”時,所述空間隨著其或是響應於其而移動。介於使用者的移動或移動命令以及顯示所述移動的效果之間的延遲可能會造成使用者很大的不適,例如是虛擬實境眩暈。因為使用者的移動通常是不可預期的,因此預先成像一人工實境場景的大多數的構件是不切實際的。
本發明的實施例可包含一人工實境系統、或是結合一人工實境系統來加以實施。人工實境是一種在呈現給使用者之前已經用某種方式調整的實境形式,其例如可包含一虛擬實境(VR)、一擴增實境(AR)、一混合實境(MR)、一混雜實境、或是其之某種組合及/或衍生。人工實境的內容可包含完全是產生的內容、或是產生的內容結合所捕捉的內容(例如,真實世界的照片)。人工實境的內容可包含視訊、音訊、觸覺回授、或是其之某種組合,並且其之任一種都可以在單一通道中或是在多個通道中被呈現(例如,產生一種三維效果給觀看者的立體視訊)。此外,在某些實施例中,人工實境可以是和例如被用來在一人工實境中產生內容且/或在一人工實境中被使用(例如,在其中執行活動)的應用程式、產品、配件、服務、或是其之某種組合相關的。提供人工實境內容的人工實境系統可以在各種的平台上實施,其包含連接至一主機電腦系統的一頭戴式顯示器(HMD)、一獨立的HMD、一行動裝置或計算系統、或是任何其它能夠提供人工實境內容至一或多個觀看者的硬體平台。
在此揭露的特定實施例是針對於影像壓縮技術,其充分利用在一像素區塊中的像素之間的強的RGB色彩對應性。習知的壓縮技術通常是非同步的,因此太過於緩慢而不容許即時的編碼及解碼。為了容許影像更快被編碼/解碼,此揭露內容的實施例是提供一種選擇性地編碼一影像的某些像素區塊之方法,其根據主成分分析的概念,前提是在所述區塊之內的色彩值是彼此高度相關的。高層次的想法是若在一區塊之內的像素色彩值是彼此高度相關的,則所述整個區塊的色彩值可以共同被編碼成為一簡化的表示,其捕捉大部分的色彩資訊。此技術被稱為共同色彩模式,其可以選擇性地施加至一影像中的某些像素區塊,前提是所述區塊適合所述共同色彩模式的話(例如,像素色彩值的高度相關性),而其它區塊的色彩通道則是個別地被編碼,其可以在以下被稱為標準的編碼方法。
主成分分析(PCA)是一種被用來降低大的資料集的維度的方法,其藉由轉換一大集合的變數成為一較小的集合,而仍然包含在所述大集合中的大部分的資訊。在此,所揭露的實施例是提供用於判斷在一區塊之內的像素色彩值是否與彼此高度相關的技術,其利用PCA以找出針對於所述像素區塊的最大特徵值(eigenvalue)以及主導的特徵向量(eigenvector)。若有一足夠主導的特徵向量,則在所述區塊之內的像素色彩值是高度相關的,此表示所述區塊的所述色彩值可以利用所述共同色彩模式而被共同編碼。然而,若在所述區塊中的像素色彩值不是高度相關的,則所述像素色彩值被個別地編碼(正常的模式)。然而,在某些實施例中,即使所述區塊的色彩值是彼此高度相關的,像素區塊也可能不利用所述共同色彩模式而被編碼,因為若一區塊是由過度曝光的像素所構成(例如,具有高對比的邊緣或是一群組的飽和的像素值(255)的區塊),則所述共同色彩模式可能無法正確地代表所述區塊的色彩資訊,因而產生非所要的假影。
在此揭露的特定實施例是針對於一種被稱為適應性範圍包裝技術的壓縮技術,其牽涉到壓縮各種類型的像素資料成為二維陣列的值。例如,所述適應性範圍包裝技術可被用來壓縮對應於影像色彩、深度、以及運動或光流的資料類型。在特定的實施例中,所述適應性範圍包裝技術是以一固定的比率來壓縮像素資料,使得產生自所述技術的壓縮量平均產生一可預測且實質固定的比率。某些實施例是描述利用所述適應性範圍包裝技術,以一無損失的方式來壓縮像素陣列。其它實施例是描述利用所述適應性範圍包裝技術,以一有損失方式來壓縮像素陣列。
在此揭露的實施例只是例子而已,因而此揭露內容的範疇並不限於其。特定實施例可以包含以上揭露的實施例的構件、元件、特點、功能、操作、或是步驟的全部、一些、或是全無。根據本發明的實施例尤其是被揭露在所附針對於方法、儲存媒體、系統及電腦程式產品的請求項中,其中任何在一請求項類型(例如方法)中所提及的特點都也可以在另一請求項類型(例如系統)中加以主張。在所附的請求項中的往回依附或參照只是為了合乎格式的原因來選擇的而已。然而,從刻意的參照回到任何先前的請求項(尤其是多重依附)所產生之任何標的都也可以主張,因而請求項及其之特點的任意組合都被揭示並且可加以主張,而不論在所附的請求項中選擇的依附為何。可主張的標的不僅包括如同在所附的請求項中所闡述的特點的組合,而且亦包括在所述請求項中的特點的任何其它組合,其中在所述請求項中提及的每一個特點都可以和在所述請求項中的任何其它特點或是其它特點的組合來加以結合。再者,在此敘述或描繪的實施例及特點的任一個都可以在一個別的請求項中被主張,且/或以和在此敘述或描繪的任何實施例或特點、或是和所附的請求項的特點的任一個的任意組合來加以主張。
因為人工實境裝置牽涉到產生數位場景或重疊電腦產生的成像到真實世界的一視圖之上,因此它們提供一平台供設計者及工程師提供新形式的資訊、娛樂、或是協同合作的方法。例如,人工實境裝置可以容許使用者能夠在長距離上似乎是本人地通訊、或是藉由以一種不顯眼的方式來知會使用者其周圍的環境來協助使用者。因為人工實境的體驗通常可以是客製化的,因此使用者對於人工實境的體驗可以是相當個人化的,而且若被呈現充分的清晰及便利性,則為高度參與的。
如同在擴增或混合實境中,一種人工實境的體驗可以擴增人的能力之方式是利用電腦產生的影像及/或文字被加入到真實世界。從此簡單的原理,各種引人注目的使用案例可被考量。描述一真實世界的物件的標籤(例如,文字、字形、等等)或影像可以是在世界空間中固定的(例如,作用為路牌或提供自行車路徑的即時地圖的位置感知的標籤)、或是在一真實世界的物件於所述空間移動時固定到其的影像(例如,在一公車於其路線行進時被加到公車的一標籤,所述標籤提供有關其路線或容量的詳細資訊)。標籤亦可被用來幫助使用者導覽一不熟悉的城市(例如,針對於最近的廁所產生一路徑點)、或是幫助在一人群中找出一位朋友(例如,固定到另一使用者的一社會意識的路徑點)。其它值得考量的體驗可以是根據和真實世界的物件的互動。例如,一使用者可以“投影”視訊到一牆壁或螢幕之上,其容許所述視訊能夠被播放並且只有他或是其他接達一共用擴增的空間的人可以看見。作為另一例子的是,一使用者可以將電腦產生的文字固定到一實體物件,以作用為一擴增實境的書或雜誌。內容可以相關於物件而被顯示(容許一使用者能夠了解在一擴增實境旁的有形資產)、或是可以用和使用者固定的關係而被顯示(例如,一個別指導的視訊不斷地在視圖的一角落中播放)。所呈現的媒體可以是針對使用者客製的,因而相同的內容顯示空間可以是內容與每一位觀看相同的物理空間的人相關的。作為另一例子的是,使用者可以藉由“觸碰”一圖像、或是手動地“操縱”電腦產生的影像來和所述電腦產生的圖形互動。這些圖形可以被展示給在一計畫上工作的多個使用者,其致能團隊的協同合作機會(例如,多位建築師一起即時在一建築物中的一個三維數位原型上工作)。
為了使得使用變得容易,輸出電腦產生的圖形的顯示器應該是直覺的、總是可接達的、而且不引人注目的。一種顯示高解析度的人工實境圖形給一使用者的方法是基於一頭戴式顯示器。使用者穿戴一能夠顯示電腦繪圖顯示畫面的設備,例如是一頭盔、頭戴式裝置、或眼鏡。在擴增或混合實境的體驗中,電腦繪圖可以和實體世界並列、或是在實體世界之上可見的。然而,成像這些電腦繪圖在計算上是繁重的。因此,在大多數的情況中,成像是藉由通訊地附接(例如,經由一電纜線、或例如是藍芽的無線通訊協定)至一頭戴式顯示器的功能強大的電腦來加以執行。在此種配置中,頭戴式顯示器是受限於龐大的電線、頻寬及功率限制、熱限制、以及其它相關的束縛。然而,這些束縛的限制正被突破。足夠舒適且有效率的用於整天穿戴、但功能尚未足夠強大到顯示複雜圖形的頭戴式顯示器目前正被開發。
一種被用來縮減實際的顯示器尺寸,而不影響表觀顯示器尺寸是以一掃描顯示器著稱的技術。在一掃描顯示器中,多個較小的影像被組合以形成一較大的複合影像。所述掃描顯示器使用光源、一或多個包括反射器的掃描元件、以及一光學系統,以產生及輸出影像光。輸出的影像光可以輸出到使用者的眼睛。所述光源可以是由例如是發光二極體(LED)的發射器提供的。例如,所述光源可以是一陣列的2560x1440 LED。所述反射器可以是附接至所述掃描元件的任何適當的反射表面。在特定的實施例中,所述掃描元件可以是一掃描反射鏡,其利用一或多個微機電系統(MEMS)構件而被驅動。所述光學系統可包括被用來聚焦、重新導向、以及以另外方式擴增光的透鏡。所述掃描元件可以使得藉由光導構件處理的光源以一對應於所述發射器所用的一產生模式之特定的模式輸出至使用者的眼睛,以最佳化顯示器繪圖速率。例如,因為並不需要所有的發射器立刻都起作用的,並且相較於由相同發射器所構成的傳統顯示器,除了各種其它因素之外,掃描顯示器可以需要較低的功率來運行,因而可以產生較少的熱。它們也可以具有較小的重量,此部分是歸因於用在掃描元件及光學系統的材料品質。利用一掃描顯示器的一結果是為了交換得到例如是功率、重量、以及熱效率,一掃描顯示器可能未完美地顯示被呈現給其的影像,例如是欲用於傳統顯示器的影像。可能有例如是影像的幾何彎曲的非均勻的失真、以及色彩與明確地說是亮度的失真。如同在此進一步解說的,這些失真可以藉由後置處理待被顯示的圖形而被校正,以在所述失真被傳遞至顯示器之前抵消它們,此產生沒有失真的效果。儘管此揭露內容是以一特定的方式描述顯示器,但是此揭露內容思及任何適當的顯示器。
自從其存在開始,人工實境(例如,AR、VR、MR)技術就已經飽受在響應於一AR/VR/MR場景的使用者觀點上的突然改變來成像AR/VR/MR物件上的延遲問題的困擾。為了產生一沉浸式環境,使用者可能需要在觀看一場景時是能夠轉動其頭部,並且所述環境可能需要藉由調整被呈現給所述使用者的視圖來立即響應。每一頭部移動都可能稍微改變所述場景的使用者的觀點。這些頭部移動可能是小的,但是為偶發的,而且難以預測(若非不可能的話)。一項待解決的問題是所述頭部移動可能快速地發生,此需要所述場景的視圖被快速地修改,以考量隨著所述頭部移動發生的在觀點上的改變。若此未足夠快速地被完成,則所產生的延遲可能會使得使用者遭受到感覺不和諧,其可能會導致虛擬實境眩暈或不適、或至少是對於所體驗到的沉浸式本質的中斷。以其整體再成像一視圖來考量在觀點上的這些改變可能是相當耗費資源的,因而只可能在一相當低的幀率(例如,60Hz、或是每1/60秒一次)之下完成。因此,藉由再成像整個場景來修改場景以考量在一足夠快速的步調(例如,200Hz、每1/200秒一次)下的在觀點上的改變,以避免使用者感知延遲並且藉此避免或充分降低感覺不和諧可能不是可行的。一解決方案牽涉到從一物件的一特定的視圖產生所述物件的紋理的一個二維的(2D)影像,其對映到所述物件在所述場景之內的一個三維的(3D)“表面”。一表面或紋理影像是由物件圖元所構成的,其代表所述物件的一特定的視圖。一表面是對應於預期由於在觀點上的一改變而在外觀上以一單元一起移動/平移、歪斜、縮放、扭曲、或以其它方式改變的一或多個物件。並非是再成像整個視圖,而是一計算系統可以單純從改變的觀點來重新取樣這些表面,以近似一對應的物件從所述改變的觀點來看將會是如何。此方法可以顯著地降低所述成像處理,並且因此確保所述視圖足夠快速地被更新以充分降低延遲。不同於再成像整個視圖,重新取樣表面可以是足夠有效率的,其可被利用以在所分配的時間之內(例如,在1/200秒中),在一HMD的一計算系統的相當有限的處理能力下修改視圖。對於一實際和所述HMD分開的系統(例如,一分開的膝上型或是可穿戴的裝置)而言,執行所述重新取樣過程可能是不可行的,因為在所述重新取樣過程中牽涉到的時間規模是極小的。例如,若所述重新取樣過程是在一實際分開的系統中執行的話,所述HMD將必須發送有關所述HMD的目前的位置及方位的資訊,等待所述分開的系統以成像新的視圖,並且接著從所述分開的系統接收所述新的視圖。為了進一步加速整體的成像過程,明確地說是加速所述重新取樣過程,本實施例提出用於選擇性地編碼一影像的某些像素區塊的壓縮技術,其根據主成分分析的概念,若在所述區塊之內的色彩值是彼此高度相關的話。本實施例亦揭示所述適應性範圍包裝技術,其充分利用在一像素區塊之內的像素值之間的類似性,以降低數量的二進位位元來代表所述像素值。
圖1A是描繪一範例人工實境系統100A。在特定的實施例中,所述人工實境系統100A可包括一頭戴式裝置104、一控制器106、以及一計算系統108。一使用者102可以穿戴所述頭戴式裝置104,其可以顯示視覺的人工實境內容給所述使用者102。所述頭戴式裝置104可包含一音訊裝置,其可以提供音訊人工實境內容給所述使用者102。所述頭戴式裝置104可包含一或多個攝影機,其可以捕捉環境的影像及視訊。所述頭戴式裝置104可包含一眼睛追蹤系統,以判斷所述使用者102的聚散距離。所述頭戴式裝置104可被稱為頭戴式顯示器(HMD)。所述控制器106可包括一軌跡墊以及一或多個按鈕。所述控制器106可以從所述使用者102接收輸入,並且中繼所述輸入至所述計算系統108。所述控制器106亦可以提供觸覺回授給所述使用者102。所述計算系統108可以透過電纜線或是無線的連線來連接至所述頭戴式裝置104以及所述控制器106。所述計算系統108可以控制所述頭戴式裝置104以及所述控制器106以提供所述人工實境內容給所述使用者102,並且從所述使用者102接收輸入。所述計算系統108可以是獨立的主機電腦系統、與所述頭戴式裝置104整合的板上的電腦系統、行動裝置、或是任何其它能夠提供人工實境內容給所述使用者102並且從所述使用者102接收輸入的硬體平台。
圖1B是描繪一範例擴增實境系統100B。所述擴增實境系統100B可包含一頭戴式顯示器(HMD)110(例如,眼鏡),其包括一框架112、一或多個顯示器114、以及一計算系統120。所述顯示器114可以是透明或半透明的,容許穿戴所述HMD 110的使用者能夠看穿所述顯示器114而看見真實世界,並且同時顯示視覺的人工實境內容給所述使用者。所述HMD 110可包含一音訊裝置,其可以提供音訊人工實境內容給使用者。所述HMD 110可包含一或多個攝影機,其可以捕捉環境的影像及視訊。所述HMD 110可包含一眼睛追蹤系統,以判斷穿戴所述HMD 110的使用者102的聚散移動。所述擴增實境系統100B可以進一步包含一控制器,其包括一軌跡墊以及一或多個按鈕。所述控制器可以從使用者接收輸入,並且中繼所述輸入至所述計算系統120。所述控制器亦可以提供觸覺回授給使用者。所述計算系統120可以透過電纜線或是無線的連線來連接至所述HMD 110以及所述控制器。所述計算系統120可以控制所述HMD 110以及所述控制器以提供所述擴增實境內容給使用者,並且從使用者接收輸入。所述計算系統120可以是獨立的主機電腦系統、與所述HMD 110整合的板上的電腦系統、行動裝置、或是任何其它能夠提供人工實境內容給使用者並且從使用者接收輸入的硬體平台。
圖2是描繪一人工實境圖形成像及顯示系統200。在特定的實施例中,所述成像及顯示系統200可包括一儲備成像構件210。所述儲備成像構件210可以是一被用來執行補充的成像之遠端的成像構件、或是可以在較少互動性要求下製備的預先成像元件。例如,所述儲備成像構件210可以是透過一雲端計算網路或是本地區域網路所提供的一成像伺服器,其處理串流視訊的預先成像或是其它非互動的成分。使用者可以提供其本身的儲備成像構件210、或是可以獲得對於一儲備成像構件210的接達以作為一訂閱計畫的部分。所述儲備成像構件可以無線地通訊、或是透過一或多個有線的連線至一主要的成像構件220。所述主要的成像構件220可以是一獨立的裝置,例如是一膝上型或桌上型電腦、電玩遊戲主機、或是任何其它適當的本地圖形成像系統、或是一容易穿戴在使用者身體上的裝置,例如是一行動電話、平板電腦、或任何其它適當的小型的圖形成像系統。所述儲備成像構件210及/或主要的成像構件220可以執行具有一典型的成像管線的數個程序。在特定的實施例中,所述主要的成像構件220可以是能夠根據藉由複數個多邊形所界定的三維(“3D”)模型以及足以支援一到達或超過每秒60幀的幀更新率的成像指令來成像互動的圖形。
所述主要的成像構件220可以接收針對於一成像請求的主要的成像資料。所述主要的成像資料可包含用於成像電腦產生的影像之二維或三維的模型、紋理及指令、以及其它適當的資訊。所述主要的成像構件220可以根據接收到的主要的成像資料來執行最初的步驟,以成像人工實境場景的特點。例如,所述主要的成像構件220可以利用光線追蹤、光柵化、或是其它適當的技術來執行可視度計算,以判斷在一虛擬的場景中的虛擬的物件的哪一個3D模型的哪一個多邊形是透過一顯示器的哪些像素可見的。根據所述可視度判斷,所述主要的成像構件220可以執行著色計算,以決定用於每一個像素的適當的色彩。在特定的實施例中,所述主要的成像構件220可以在一每秒30幀的速率或類似者之下從儲備成像構件210接收經壓縮或解壓縮的串流視訊資料。所述主要的成像構件220可以結合從儲備成像構件210接收到的資料與藉由所述最初的成像步驟產生的資料。
在特定的實施例中,供一顯示引擎250使用的例如是“表面”的一或多個專門的物件圖元可加以產生。舉例而言,所述主要的成像構件220可以如同在一典型的成像管線中的藉由首先從3D模型成像2D影像來產生表面。所述主要的成像構件220接著可以利用一額外的後置處理方法以從所述2D影像產生表面。作為另一例子的是,所述主要的成像構件220可以直接從3D模型輸出表面,此消除只關於成像2D影像的額外的步驟。作為另一例子的是,所述主要的成像構件220可以從3D模型輸出2D影像至一顯示引擎250。所述顯示引擎250可以利用一額外的後置處理方法,根據所述2D影像來產生表面。在特定的實施例中,所述主要的成像構件220的輸出可以藉由v-編碼器226而被編碼,接著發送至所述頭戴式顯示器單元230的v-解碼器。
表面可包括對於成像一人工實境場景的一或多個虛擬的物件有用的資訊。所述資訊可包含針對於所述表面在所述場景中的地點及/或位置資料,其是用觀察空間的相對於虛擬的攝影機/觀看者的座標系統指明的(或者是,所述表面的位置亦可以是用任何其它適當的座標系統指明的,例如世界空間座標系統)。所述表面可以進一步包含紋理資料,其藉由一或多個紋理元素陣列來加以表示。因此,在特定的實施例中,一“表面”可被視為具有一轉換矩陣以指明其在一場景之內的位置的一矩形紋理。在所述紋理元素陣列中的每一個紋理元素可以具有色彩資訊以及在所述紋理元素陣列之內的一2D座標(例如,以(u, v)座標指明的)。在特定的實施例中,每一個紋理元素的色彩資訊可以指出數個色彩通道(例如,紅色、綠色及藍色)的強度、以及指出所述紋理元素的通透性位準的alpha資訊(例如,完全透明的、完全不透明的、或是介於之間的某處)。在其它實施例中,一紋理元素的色彩資訊可以指出紅色、綠色及藍色的強度,而不個別地指明通透性位準。在此例中,用於每一個色彩的值可以預先乘上紋理元素的相關的通透性位準(例如,若紋理元素是具有一個0的alpha位準的完全透明的,則用於所述紋理元素的紅色、綠色及藍色值將會全部都藉由乘上所述0的alpha位準而被歸零)。
一表面的紋理資料可以是根據一標準的圖形成像的管線的結果而被產生,其體現技術以根據一觀看者在一個三維的場景中的觀點來最佳地決定應該藉由一顯示器或影像的像素來顯示的色彩。在特定的實施例中,所述顯示引擎250可以限制其將會處理的表面數量(例如,最多16個表面或是任何其它適當數量的表面),以確保在場景中的充分的單純性,因而效能要求可以符合(例如,用以在200-300赫茲下輸出幀)。因此,在人工實境場景中的某些虛擬的物件可以根據任何適當的規則來加以分組。每一個表面可以是在所述場景之內的一或多個物件的一表示,所述一或多個物件被預期會由於在所述場景的一使用者的觀點上的一改變(例如,由在一使用者的頭部上的一HMD移動到一不同的位置及/或方位所產生的),而以一單元一起在外觀上移動/平移、歪斜、縮放、扭曲、或是以其它方式改變。舉例且非限制性的,若判斷出的是一人的一虛擬化身以及由所述虛擬化身穿戴的一帽子將會在外觀上以一單元一起移動/平移、歪斜、縮放、扭曲、或是以其它方式改變,則所述人及帽子可以對應於一表面。在特定的實施例中,一表面可以對應於成組的點(例如,構成一物件的點),所述成組的點在一場景的一使用者的觀點改變時被預期會在外觀上以單一單元移動/平移、歪斜、縮放、扭曲、或是以其它方式改變。
所述主要的成像構件220可以透過一或多個有線或無線的連線來和一頭戴式顯示器單元230通訊。在特定的實施例中,使用者可以是能夠根據使用者的需要來選擇所述主要的成像構件220以及頭戴式顯示器單元230是如何通訊的。所述頭戴式顯示器單元230可被配置以從所述主要的成像構件220接收資料,例如是表面以及其它成像指令。所述頭戴式顯示器單元230可以根據所接收到的資料來準備顯示一人工實境場景給一使用者。在特定的實施例中,所述頭戴式顯示器單元230可包括一顯示引擎250以及一或多個顯示器270。在特定的實施例中,所述顯示器270可以是掃描顯示器,其包含所有必要的發射器、掃描元件、以及光學系統。所述頭戴式顯示器單元230可以進一步包括未被展示的額外構件,其使得所述人工場景的成像及顯示變得容易。這些可包含額外的影像處理構件、眼睛追蹤的構件、熱偵測構件、任何其它適當的構件、或是其之任意組合。儘管此揭露內容以一特定的方式描述成像構件,但是此揭露內容思及任何適當的成像構件。
在特定的實施例中,所述頭戴式顯示器的顯示引擎250及顯示器270可被明確地配置以致能一快速的幀顯示或更新率。在典型互動的圖形成像系統中,一目標幀率可以是在每秒六十幀、或是大約每秒六十幀。儘管此在傳統的系統中是足以讓所述影像看起來清晰、平順的移動視訊,但是其對於人工實境而言可能是不足的。因為人工實境體驗的沉浸式本質,而且進一步因為所述顯示器的頭戴式本質以及其接近使用者的眼睛而被加劇,因此人工實境成像及顯示系統200目標可能是更高的幀顯示率,例如是向上提高到每秒兩百到三百幀,以便於響應於在使用者的觀點及/或移動(例如,頭及/或眼睛移動)上的改變來顯示影像。若此未足夠快速地被完成,則所產生的延遲可能會使得使用者遭受到感覺不和諧,其可能會導致虛擬實境眩暈或不適。在特定的實施例中,所述人工實境成像及顯示系統200可以是能夠追蹤及反應於使用者的眼睛移動。為了在反應於眼睛移動時提供平順的視訊,所述系統200可以在特別激烈的期間目標在甚至更高的顯示率,例如是爆發到高達每秒八百幀。
所述整個系統可以在記住這些快速的顯示率的效能評測下加以配置。每秒200幀的目標幀率是大約等於每5毫秒一幀。因為透過無線或甚至是有線的連線來發送移動資料至一功能強大的圖形處理器、以及更新來自圖形處理器的成像資料會損失大量的時間。因此,至少某些圖形準備量必須在一頭戴式單元中發生,此降低在發送上損失的時間。然而,一頭戴式顯示器單元230有著重量、功率、以及空間限制,其必須堅持於使用者的舒適。這些重量、功率、以及空間限制限縮可利用於一頭戴式顯示器單元230的構件及計算的能力。事實上,利用習知的方式,可利用於一適合用於長期穿戴的頭戴式顯示器單元230的構件並無法在每秒60幀的適當照明下,從包括多邊形的3D模型成像人工實境場景,更不必說用於沉浸式體驗所必要的200或更多幀。
此問題的一解決方案牽涉到一功能強大的主要的成像構件220,其執行以大約每秒60幀產生表面所需的複雜的圖形產生工作。一頭戴式顯示器單元230的一顯示引擎250可包括功能足夠強大到在來自主要的成像構件220的更新之間,根據一使用者的移動來調整或再取樣主要的成像構件220所產生者的硬體構件。所述顯示引擎250可以快速地響應由一使用者的移動所產生的觀點改變以重新處理所述主要的成像構件220的輸出,其彎曲或者是調整所述主要的成像構件220的輸出,直到所述主要的成像構件220已經製備另一用於顯示的幀為止。例如,如先前所述,主要的成像構件220可以在典型的速率,例如是在大約每秒六十幀之下成像在一3D場景中的虛擬的物件的2D影像。所述2D影像可被用來產生表面。每一個表面可包括指出所述表面相對於觀看者的3D位置的位置資訊、以及用於它們所代表的虛擬物件的紋理資訊,其包含複雜的照明效果的結果、遮蔽判斷、以及其它藉由主要的成像構件220所執行的成像技術的實施方式。所述主要的成像構件220可以傳送所述表面至顯示引擎250。所述顯示引擎250接著可以使用有關例如是使用者的位置及/或方位的更新的資訊來從目前的使用者觀點重新取樣所述表面,並且彎曲所述表面以考量顯示的特徵。所述場景的簡化的幾何(由於表面的使用)以及其它最佳化技術致能所述顯示引擎250在所要的目標速率下(例如,在超過每秒200幀之下)執行改善及成像所述人工場景的工作。因此,儘管所述主要的成像構件220每1/60秒製備精確到一使用者的移動的表面一次,所述顯示引擎250仍然可以每1/200秒重新取樣所述輸出以改進圖形的位置,其臨時補缺由主要的成像構件220的幀率所產生的間隙。此可以在電腦產生的圖形的平順且無縫的移動下產生高品質的人工實境體驗給使用者,同時仍然提供舒適的設備。
此問題的另一解決方案是牽涉到一種共同編碼所述表面或2D影像的色彩成分(例如,紅色、藍色、綠色通道)的壓縮技術,其在此被參照為所述共同色彩模式。通常,像素是和色彩的三個維度或通道(例如,紅色、藍色、綠色通道)相關的。如同在以下的額外細節所論述的,若在一像素區塊中的像素之間有強的RGB色彩對應性,則所述共同色彩模式是一起編碼色彩的三個通道。若否的話,則所述像素色彩值是利用標準的編碼技術來個別地編碼。如同在圖2中所繪的,所述HMD 230的t-編碼器243是根據所述色彩對應性來根據共同色彩模式或標準的模式以編碼所述表面。所述編碼的資料是被儲存在位於所述HMD 230的顯示引擎250之內的t-記憶體245中。當針對於一特定的表面的色彩資訊是所需的,所述GPU合成器252是利用來自t-解碼器248的解碼的像素值,所述t-解碼器248是利用來自t-記憶體245的壓縮的資料。
此問題的又一解決方案是牽涉到一種被稱為所述適應性範圍包裝技術的壓縮技術,其利用二維陣列的值來代表各種類型的資料,例如那些對應於影像色彩、深度、或運動的資料類型。類似於在此所述的共同色彩模式,若所述資料對應於影像色彩,則所述資料可以藉由在圖2中描繪的t-編碼器243而被編碼或壓縮,接著被儲存在t-記憶體245中。對於不同類型的資料,相同或不同的編碼器可以編碼所述資料,並且儲存所述編碼的資料在一記憶體中,所記憶體是可藉由一適合用於處理該類型的資料的系統構件存取的。
圖3是描繪針對於一顯示引擎250的一系統圖。所述顯示引擎250可包括四種類型的頂層區塊。如同在圖2中所示,這些區塊可包含一控制區塊300、轉換區塊350、像素區塊400、以及顯示區塊500。所述顯示引擎250的構件中的一或多個可被配置以經由一或多個高速的匯流排、共用的記憶體、或是任何其它適當的方法來通訊。如同在圖2中所示,所述顯示引擎250的控制區塊300可被配置以和兩個鏡射的管線的轉換區塊350、像素區塊400、以及顯示區塊500通訊。在特定的實施例中,所述顯示引擎250的每一個管線可以專用於準備影像給一個別的顯示器270以顯示。每一個顯示器270可被配置以分別顯示影像給一使用者的左眼及右眼。如同在此更詳細地解說的,此通訊可包含資料以及控制信號、中斷及其它的指令。所述兩個管線可以是能夠與彼此獨立地操作。
在特定的實施例中,所述控制區塊300可以從主要的成像構件220接收一輸入資料串流305,並且初始化在所述顯示引擎250中的一管線以完成用於顯示的成像。在特定的實施例中,所述輸入資料串流305可包括來自主要的成像構件220的資料及控制封包。所述資料及控制封包可包含例如是一或多個包括紋理資料及位置資料的表面以及額外的成像指令之資訊。所述控制區塊300可以視需要來散布資料至所述GPU合成器252的一或多個其它區塊。所述控制區塊300可以開始用於一或多個將被顯示的幀的管線處理。在特定的實施例中,頭戴式顯示器單元230可包括多個顯示引擎250,並且每一個顯示引擎250可包括其本身的控制區塊300。
在特定的實施例中,轉換區塊350可以判斷針對於將被顯示在人工實境場景中的表面的最初的可視度資訊。一般而言,轉換區塊350可以從在所述顯示器上的像素位置投射光線,並且產生濾波器命令(例如,根據雙線性或是其它類型的內插技術的濾波)以傳送至所述像素區塊400。轉換區塊300可以從使用者的目前的觀點(例如,利用慣性的量測單元、眼睛追蹤器、及/或任何適當的追蹤/定位演算法,例如是同步定位與地圖構建(SLAM)而被判斷出)執行光線投射到其中表面被設置的人工場景中,並且可以產生結果以傳送至所述像素區塊400。
一般而言,根據特定實施例,轉換區塊350分別可以包括一個四級的管線。一轉換區塊350的級可以如下進行的。一光線投射器可以發出對應於一或多個對齊的像素的陣列的光束,所述陣列被稱為塊(tile)(例如,每一塊可包含16×16對齊的像素)。所述光束可以在進入人工實境場景之前,根據一或多個扭曲網格而被彎曲。所述扭曲網格可被配置以校正源自於(至少)所述頭戴式顯示器230的顯示器270的幾何失真效應。轉換區塊350可以藉由比較每一塊的一邊界框與針對於每一表面的邊界框來判斷每一光束是否交叉在所述場景中的表面。若一光束並未交叉一表面,則其可被拋棄。塊-表面的交叉被偵測出,並且對應的塊-表面的對395被傳遞至所述像素區塊400。
一般而言,根據特定實施例,像素區塊400是從所述塊-表面的對395決定色彩值,以產生像素色彩值。用於每一個像素的色彩值是從藉由控制區塊300接收且儲存的表面的紋理資料(例如,作為輸入資料串流305的部分)取樣的。像素區塊400是從轉換區塊350接收塊-表面的對395,並且排程雙線性濾波。對於每一塊-表面的對395,像素區塊400可以利用對應於投影的塊交叉所述表面之處的色彩值來取樣用於在所述塊之內的像素的色彩資訊。在特定的實施例中,像素區塊400可以個別地處理用於每一個像素的紅色、綠色、以及藍色成分。像素區塊400接著可以輸出像素色彩值495至所述顯示區塊500。
一般而言,顯示區塊500可以從像素區塊400接收像素色彩值495,轉換所述資料的格式成為更適合用於顯示器的掃描線輸出,施加一或多個亮度校正至所述像素色彩值495,並且準備所述像素色彩值495以用於輸出至所述顯示器270。顯示區塊500可以轉換由像素區塊400所產生的塊階的像素色彩值495成為掃描線階或列階的資料,其可能是所述顯示器270所需的。所述亮度校正可包含任何所需的亮度校正、伽馬(gamma)映射、以及抖動。顯示區塊500可以直接提供像素輸出595(例如所述校正後的像素色彩值)至所述顯示器270、或是可以用各種格式提供所述像素輸出595至一在顯示引擎250外部的區塊。例如,所述頭戴式顯示器單元230可包括額外的硬體或軟體以進一步自訂後端色彩處理,以支援較廣的介面至所述顯示器、或是最佳化顯示器速度或保真度。
在特定的實施例中,所述控制區塊300可以從主要的成像構件220接收一輸入資料串流305,並且初始化在所述顯示引擎250中的一管線以根據使用者的目前的觀點來重新取樣或校正人工實境表面。在特定的實施例中,所述控制區塊300可以從主要的成像構件220接收控制封包。所述控制封包可包含一或多個待被成像在人工實境場景中的具有紋理資料及位置資料(例如,如同藉由轉換矩陣所界定)的表面。
在此揭露的特定實施例是針對於影像壓縮技術,其充分利用在一像素區塊中的像素之間的強的RGB色彩對應性。習知的壓縮技術通常是非同步的,因此是太過緩慢而不容許即時的編碼及解碼。為了容許影像更快被編碼/解碼,此揭露內容的實施例是提供一種根據主成分分析的概念來選擇性地編碼一影像的某些像素區塊的方法,前提是在所述區塊之內的色彩值是彼此高度相關的。高層次的想法是若在一區塊之內的像素色彩值是彼此高度相關的,則所述整個區塊的色彩值可被編碼成為一簡化的表示,其捕捉大部分的色彩資訊。此技術被稱為所述共同色彩模式,其可以選擇性地施加至一影像中的某些像素區塊,前提是所述區塊適合所述共同色彩模式的話(例如,像素色彩值的高度相關性),而所述影像的其它區塊則是利用所述標準的編碼方法(正常的模式)而被編碼。
主成分分析(PCA)是一種被用來降低大的資料集的維度的方法,其藉由轉換一大集合的變數成為一較小的集合,而仍然包含在所述大集合中的大部分的資訊。此方法牽涉到轉換多維的資料集成為成對的特徵向量及特徵值,每一對是代表所述資料集的一維度。一特徵向量(亦被稱為所述主要的成分)是代表所述資料集的一新的維度或是一新的軸的一特徵的向量、或者換言之,一特徵向量是代表和最高變異(大多數的資訊)相關的資料集的值的一線或一方向。一特徵值是附屬於對應的特徵向量的一縮放係數,並且代表在每一個主要的成分中所帶有的變異量。當根據特徵向量及特徵值來轉換一資料集時,藉由所述特徵向量及特徵值所表示的維度數目是匹配所述資料集的維度數目。因此,例如在RGB色彩的背景中,根據PCA來代表所述資料組將會產生三對的特徵向量及特徵值,因為有三個通道或維度的色彩(例如,紅色、藍色、綠色通道)。關於特徵向量及特徵值,判斷是否根據所述共同色彩模式來編碼一像素區塊是牽涉到判斷所述像素區塊的RGB色彩值是否具有足夠強的對應性,使得一對特徵向量及特徵值可以代表所述像素區塊的大多數的色彩資訊。因此,根據所述共同色彩模式來編碼所述像素區塊是表示所述像素區塊的RGB色彩值是被編碼為單一維度的資料集,其是藉由對應於一主導的特徵向量的線來加以表示。
所揭露的實施例是提出用於共同編碼某些像素區塊的RGB色彩值的技術,前提是在一像素區塊的RGB色彩之間有強的色彩對應性。在特定的實施例中,判斷是否利用所述共同色彩模式來編碼所述像素區塊是牽涉到對於一像素區塊之內的像素色彩值計算最大特徵值及特徵向量、以及判斷所述最大特徵值是否顯著大於其它特徵值(指出相對所述其它特徵值的主導性)。在一種方法中,冪迭代(power iteration)技術可被用來判斷針對於一像素區塊中的像素色彩值的最大特徵值及特徵向量。所述冪迭代技術是牽涉到迭代地執行近似一任意的開始向量v i、將所述向量v i乘以矩陣A(例如,針對於像素的RGB色彩值的3×3共變異數矩陣)、接著根據所產生的向量的最大項目n來正規化所產生的向量v j的步驟。這些步驟可以迭代地執行一預設數目的迭代(例如,四個迭代),接著所產生的向量v j可被檢查來看看其是否已經收斂到對應於最大特徵值的特徵向量,其可以藉由對應於所產生的向量v j(例如,所述特徵向量)的最大項目n來指出。若其有收斂,則所述最大特徵值的主導性可以藉由比較其與其它特徵值來判斷(例如,根據在所述最大特徵值以及所有特徵值的總和之間的比例)。若所述最大特徵值是足夠主導的(例如,若所述比例高於一臨界比例),則所述像素區塊的色彩通道可以利用所述共同色彩模式來共同編碼;否則,所述像素區塊的色彩通道可以個別地被編碼。例如,參考在圖4中的座標系統410,一像素區塊的色彩值是被描繪為具有強的色彩對應性,使得一條穿過所述像素所畫的線可被用來代表在所述資料集中的像素值的分布。此線可以藉由一特徵向量來加以表示,並且對應於所述特徵向量的特徵值可被判斷為主導,此部分是因為所述特徵值當相較於所有特徵值的總和時,具有例如是0.9612的高的比例值。作為一個反例,參考所述座標系統433,一不同的像素區塊的色彩值是被描繪為具有弱的色彩對應性,使得一條穿過所述像素所畫的線將不能夠正確地代表在所述資料集中的像素值的分布。因此,對應於所述線的一特徵值可能不被判斷為主導的,此部分是因為所述特徵值具有一比例值為當相較於其它特徵向量時,低於一預設的臨界值(例如,0.8412)。在特定的實施例中,針對於所述特徵值的臨界比例值可以根據資料集的類型預設的(例如,針對於對應RGB值的資料類型的0.96臨界比例)。在特定的實施例中,判斷所述特徵值的主導性可以牽涉到利用其它技術,例如:逆迭代、瑞利商(Rayleigh quotient)迭代法、預處理的逆迭代、等等。
在特定的實施例中,若一像素區塊將利用所述共同色彩模式來編碼,則所述編碼過程可以牽涉到根據所述像素區塊的最小及最大的色彩值以及被指定給所述編碼過程的一特定的位元數目,來分割對應所述主導的特徵向量(亦即,主要的成分)的線成為箱(bins)。接著,在所述像素區塊中的每一個像素(例如,在三維的RGB座標空間中)可被投影到所述線之上,並且根據所述投影落入的箱來編碼。每一個箱是和落在對應所述主導的特徵向量的單維的線上的單一量化的值相關的。例如,參考在圖5中的座標系統510,一像素區塊的色彩值被描繪為具有強的色彩對應性,使得穿過所述像素所畫的一線(例如,主導的特徵向量)充分代表在所述資料集中的像素色彩值的分布。在圖5描繪的實施例中,所述編碼過程是被指定3個二進位位元來代表所述箱,因此,如同在所述座標系統520中所繪,所述線被分成8箱,因為3個位元能夠代表8個不同的值。第一箱是被描繪為對應所述像素區塊中的像素值的最小值(例如,最小的像素值[32, 22, 12]),而最後一箱是被描繪為對應所述像素區塊中的像素值的最大值(例如,最大的像素值[66, 53, 42])。在特定的實施例中,被指定給所述編碼過程的位元數目可以根據對應一特定的色彩通道的像素值的範圍而被決定。例如,若在所述區塊中的紅色像素值的範圍是20(例如,最小的像素值100;最大的像素值120),則所述像素可以利用5個位元而被編碼,因為5個位元能夠代表32個不同的值。在某些實施例中,被指定給所述編碼過程的位元數目可以根據對應於兩個或三個色彩通道的像素值的平均範圍而被決定。在其它實施例中,被指定給所述編碼過程的位元數目可以根據用於所述像素區塊的一目標壓縮比例(例如,3個位元)而被決定。
在特定的實施例中,所述解碼過程是牽涉到識別所述像素編碼所根據的箱、以及所述箱的相關量化的值,其對應於所述主導的特徵向量的一維的座標空間,接著判斷在所述RGB座標空間中的對應於所述箱的量化的值的三維的點。在某些實施例中,對應於每一箱的RGB色彩值可以在一查找表中有索引的,其容許所述RGB色彩值能夠根據其而被決定。
圖6是描繪包括利用所述共同色彩模式選擇性地編碼的複數個像素區塊的一範例影像。較淺色的像素區塊是對應於具有足夠高的RGB色彩對應性的區塊,因此可以利用所述共同色彩模式而被編碼,其中所述像素的色彩值是根據PCA而被共同編碼。較深色的像素區塊是對應於不具有足夠高的RGB色彩對應性的區塊,因此可以利用一標準的編碼模式而被編碼,其中針對於所述色彩通道的每一個的色彩值是個別地被編碼。如上所論述,若在所述像素區塊中的RGB色彩值之間有強的對應性,則像素區塊可以利用所述共同色彩模式而被編碼。然而,在某些實施例中,即使所述區塊的色彩值是彼此高度相關的,像素區塊也可能不利用所述共同色彩模式而被編碼,因為所述共同色彩模式可能無法正確地代表所述區塊的色彩資訊,因而當所述區塊被解碼時產生非所要的假影。例如,圖7是描繪一影像710,其包括對應樹的邊緣的較深色的像素區塊。那些較深色的像素是被判斷為具有足夠高的RGB色彩對應性,因此利用所述共同色彩模式而被編碼。然而,如同解碼的影像715中可見的,非所要的假影可見於所述樹的外邊緣。若包括過度曝光的像素或是高對比的像素的像素區塊是利用所述共同色彩模式而被編碼,則此種非所要的假影可能被產生。高對比的像素的例子是被展示在所述影像715中(例如,由舉例說明的方框指出的樹的邊緣)。因此,在特定的實施例中,即使所述區塊的所述色彩值是彼此高度相關的,某些像素區塊仍可以利用所述標準的編碼模式而被編碼,例如,若所述像素的色彩範圍大於一臨界值(為了偵測高對比的邊緣)、或是若有一群組的過度曝光的像素(例如,一群組具有像素值255的像素)。此技術的一例證是被描繪在影像720及725中,其中所述樹的邊緣並未顯示任何非所要的假影。
現在敘述的是一種被稱為所述適應性範圍包裝技術的壓縮技術,其牽涉到壓縮各種類型的像素資料成為二維陣列的值。例如,所述適應性範圍包裝技術可被用來壓縮對應於影像色彩、深度、以及運動或光流的資料類型。在特定的實施例中,所述適應性範圍包裝技術目標是以一固定的比率來壓縮像素資料,使得產生自所述技術的壓縮量平均產生一可預測且實質固定的比率。在某些實施例中,所述適應性範圍包裝技術可以牽涉到可變比率的壓縮。
在特定的實施例中,一影像可被分割成複數個區塊,每一個區塊包括複數個像素。根據和所述影像相關的資料類型,每一個像素可以具有多個成分或通道。例如,若資料的類型是對應於色彩值,則每一個像素可以是和一些成分相關的,例如針對於RGB色彩的紅色、藍色及綠色成分、針對於色度的Cb及Cr成分、或是針對於照度的Y成分。若資料的類型對應於運動,則每一個像素可以是和對應於運動向量/場或是光流向量/場的成分相關的。若資料的類型對應於深度,則每一個像素可以是和一深度成分(例如,Z值)相關的。儘管在此所述的適應性範圍包裝技術能夠編碼所述各種的像素成分,例如是上述的那些成分,但是每一個成分是個別地被編碼。
圖8A-8C是描繪展示此揭露內容的適應性範圍包裝技術的圖及資料陣列。如同在圖8A中所繪,一影像801可被分割成為複數個具有一特定尺寸的像素區塊(例如,像素陣列)。在特定的實施例中,所述像素區塊的尺寸可以根據在所述區塊(例如,4×4、16×16、等等)中的像素值的變異而被決定。產生自所述適應性範圍包裝技術的壓縮比例是隨著所述像素值的變異減小而改善。因此,若一影像是和像素值的高度變異相關的,則所述影像可被分割成為較小的像素區塊,以降低內含在每一個像素區塊中的變異,藉此改善所述壓縮比例。或者是,若所述影像是和像素值的低度變異相關的,則所述影像可被分割成為較大的像素區塊以改善所述壓縮比例。儘管在圖8A-8C中描繪的實施例是展示4×4像素陣列的例子,但此揭露內容是思及適合用於改進所述壓縮比例的任意尺寸的像素陣列。
圖8A是描繪未壓縮的像素陣列805及807的一個例子,其可以代表性一特定影像(例如,影像801)的一區塊的像素值。通常,像素的RGB色彩值的範圍是對應於最小值0以及最大值255(例如,總共256個色彩值),其可以藉由8個二進位位元來加以表示。例如,所述像素陣列805是展示十六個像素值,範圍從0至255。所述像素陣列807是展示在所述像素陣列805中所示的像素值的二進位表示。
圖8B是描繪範例的像素陣列,其展示所述適應性範圍包裝技術的無損失的變化形。所述適應性範圍包裝技術是充分利用在一像素區塊之內的像素值之間的類似性,以減少的數目的二進位位元來代表所述像素值。所述技術是牽涉到判斷在一區塊中的像素值的範圍以及所述像素值的端點,接著決定量化位準來代表在所述像素範圍之內的值。在某些實施例中,所述適應性範圍包裝技術是以一無損失的方式來壓縮一像素區塊,使得在所述像素範圍之內的每一個不同的值是藉由一量化位準來加以表示。例如,參考至所述像素陣列815,給定有三個不同的像素值(亦即100、101、102),三個量化位準被指定,每一個不同的像素值各有一個,即如同在所述表820中所示。根據所述表820來轉換所述像素陣列815中的每一個像素值是牽涉到將每一個像素值映射到其對應的量化位準,此產生壓縮的像素陣列825。此容許所述像素值的每一個能夠藉由2個二進位位元來加以表示,而不是在未壓縮的像素陣列817中所示的8個二進位位元。根據某些實施例,所述解碼過程是牽涉到將所述編碼的像素值加到所述未壓縮的像素陣列(例如,像素陣列815)的最小的像素值。
圖8C是描繪範例的像素陣列,其展示所述適應性範圍包裝技術的有損失的變化形。在某些實施例中,所述適應性範圍包裝技術可以用一有損失方式來壓縮所述像素區塊,使得每一個量化位準代表一群組的離散的值。對比所述無損失的變化形,代表在所述像素範圍之內的值的量化位準的數目是小於在所述像素範圍之內的離散的值的數目。在此種實施例中,在所述編碼過程之前,量化位準的數目可以是預設的、或者是動態計算出的,以確保所述影像或是在所述影像之內的每一個別的像素區塊在一特定的壓縮比例下被壓縮。參考至像素陣列835,八個位準已經被指定來代表四十個不同的像素值,每一個位準代表五個不同的像素值,即如同藉由5的尺度值所指出的。此容許在所述像素陣列835中的像素值的每一個根據所述表820而藉由所述八個被指定的位準之一來加以表示。根據所述表820而被編碼的像素值是被展示在所述編碼的像素陣列845中。如同在所述像素陣列845中所示,每一個像素值是藉由3個二進位位元來加以表示,而不是在所述未壓縮的像素陣列837中所示的8個二進位位元。根據某些實施例,所述解碼過程是牽涉到將所述編碼的像素值乘以所述尺度,接著將其加到所述未壓縮的像素陣列(例如,像素陣列835)的最小的像素值。
在特定的實施例中,其中被指定到一像素區塊的量化位準的數目是對應到不均勻的數目,多個像素值可被分組在一起並且藉由一較長的位元串來加以表示,以更佳利用所述位元。例如,參考圖8B中的表820,三個的像素範圍(例如,所述像素的三個不同的值)、或是三個量化位準是藉由兩個二進位位元來加以表示。然而,所述兩個位元的每一個是未充分利用的,因為當兩個位元能夠代表四個值時,它們只被用來代表三個值。在此種實施例中,多個像素值可以根據產生自所述像素值的分組的獨特組合而被分組在一起,並且藉由一較長的位元串來加以表示。例如,參照回圖8B,若五個像素值被分組在一起,給定被指定到每一個像素值的位準數目是3(例如,三個不同的值、或是像素值的範圍是3),則將會有產生自所述像素值的分組的243個可能的值的組合(例如,3*3*3*3*3=3^5=243)。這些獨特的值的組合可以藉由8個二進位位元來加以表示,因為8個位元能夠代表256個不同的值。因此,在所述像素陣列825中的五個像素值的每一個分組(例如,[00, 00, 01, 00, 01])可以根據所述像素值的獨特的組合而被分類,並且被映射到代表所述獨特的組合的一8個二進位位元值。此表示包括藉由32個二進位位元來表示的16個像素值的像素陣列825可以更進一步被壓縮,其藉由利用三個8個二進位位元串來代表15個像素值以及一額外的2個二進位位元串來代表最後一個像素值,總共使用26個二進位位元來代表16個像素值。每當像素值的範圍可被分解成2、3或5的冪次時,類似的方法可被採用。例如,若所述範圍是9,其可被分解為3*3,則每一個像素值可以藉由兩個3進位數字來加以表示。代表16個像素值所需的位元數目X可以藉由方程式X=A*3+B解出,其中A及B是3進位數字:{0, 1, 2}的每一個。給定A=X/3具有一個3的範圍,並且B=X-A*3亦具有一個3的範圍,A及B的16個值的每一個可被編碼成為26個位元。於是,在9的像素範圍下,代表16個像素值所需的位元總數可被解出為52個位元。若所述範圍是45,其可被分解為3*3*5,則代表16個像素值所需的位元數目X可以藉由所述方程式X=5*AB+C而被解出,其中A及B分別是3進位數字中之一,而C是一5進位數字。三個不同的C值可以用7個位元來表示,因為將會有產生自所述像素值的分組的125個可能的值的組合(例如,5*5*5=5^3=125),此小於藉由7個二進位位元所表示的128個值。這些7位元的串中的五個可以代表所述16個總像素值中的15個,而最後一個像素值可以藉由3個位元來表示,此表示在所述方程式中的C值可被解出為38個位元(例如,五個7位元的串,加上3個額外的位元)。從以上的例子,AB被判斷為需要52個位元,其可被加到所述C值所需的38個位元,此產生X為90個位元,其表示代表16個具有45的像素範圍的像素值所需的位元總數。
圖9是描繪一種用於根據共同色彩模式而選擇性地編碼一影像的像素區塊之範例的方法900。所述方法可以在步驟901藉由存取一影像的一像素區塊以及在所述像素區塊中的所述像素的RGB色彩值來開始。在步驟902,所述方法可以繼續針對於和所述像素區塊相關的RGB色彩值來計算最大的特徵向量及特徵值。在步驟903,所述方法可以繼續判斷所述最大特徵值是否足夠主導的。若所述最大特徵值是足夠主導的,則在步驟904,所述方法可以繼續利用共同色彩模式來編碼所述像素區塊。若所述最大特徵值並不足夠主導的,則在步驟905,所述方法可以繼續利用標準的模式來編碼所述像素區塊。接著,所述方法900可以針對於所述影像的其它像素區塊重複,直到所述影像的全部的像素區塊都藉由所述共同色彩模式或是所述標準的模式而被編碼為止。特定實施例在適當情況可以重複圖9的方法的一或多個步驟。儘管此揭露內容描述且描繪圖9的方法的特定的步驟以一特定的順序來發生,但是此揭露內容思及圖9的方法的任何適當的步驟以任何適當的順序來發生。再者,儘管此揭露內容描述且描繪一種用於根據共同色彩模式而選擇性地編碼一影像的像素區塊之範例的方法,但是此揭露內容思及用於根據共同色彩模式而選擇性地編碼一影像的像素區塊之包含任何適當步驟的任何適當的方法,其可以依適當情況而包含圖9的方法的所有、某些、或是無任何的步驟。再者,儘管此揭露內容描述且描繪實行圖9的方法的特定的步驟之特定的構件、裝置或系統,但是此揭露內容思及實行圖9的方法的任何適當的步驟的任何適當的構件、裝置或系統的任何適當的組合。
圖10描繪一種用於根據量化位準來壓縮及解壓縮像素陣列之範例的方法1000。所述方法可以在步驟1001藉由存取一影像的一像素區塊來開始,所述像素區塊包括和像素值相關的像素。在步驟1002,所述方法可以繼續識別在所述像素區塊中的像素值的一範圍及端點。在步驟1003,所述方法可以繼續決定複數個量化位準以代表在所述範圍之內的像素值。在步驟1004,所述方法可以繼續根據所述複數個量化位準中之一來編碼在所述範圍之內的每一個像素值。在步驟1005,所述方法1000亦可包含解壓縮所述像素陣列的步驟,其藉由根據所述像素值的對應的量化位準及端點來解碼所述編碼的像素值的每一個。特定實施例在適當情況可以重複圖10的方法的一或多個步驟。儘管此揭露內容描述且描繪圖10的方法的特定的步驟以一特定的順序來發生,但是此揭露內容思及圖10的方法的任何適當的步驟以任何適當的順序來發生。再者,儘管此揭露內容描述且描繪一種用於根據量化位準來壓縮及解壓縮像素陣列之範例的方法,但是此揭露內容思及用於根據量化位準來壓縮及解壓縮像素陣列之包含任何適當步驟的任何適當的方法,其可以依適當情況而包含圖10的方法的所有、某些、或是無任何的步驟。再者,儘管此揭露內容描述且描繪實行圖10的方法的特定的步驟之特定的構件、裝置或系統,但是此揭露內容思及實行圖10的方法的任何適當的步驟的任何適當的構件、裝置或系統的任何適當的組合。
圖11描繪一範例的電腦系統1100,其可以是有用於執行如同目前在此揭露的前述技術中的一或多個。在特定的實施例中,一或多個電腦系統1100執行一或多種在此敘述或描繪的方法的一或多個步驟。在特定的實施例中,一或多個電腦系統1100提供在此敘述或描繪的功能。在特定的實施例中,在一或多個電腦系統1100上執行的軟體是執行一或多種在此敘述或描繪的方法的一或多個步驟、或是提供在此敘述或描繪的功能。特定實施例包含一或多個電腦系統1100的一或多個部分。在此,對於一電腦系統的參照在適當情況可以涵蓋一計算裝置,並且反之亦然。再者,對於一電腦系統的參照在適當情況可以涵蓋一或多個電腦系統。
此揭露內容思及任何適當數量的電腦系統1100。此揭露內容思及具有任何適當實體形式的電腦系統1100。舉例且非限制性的,電腦系統1100可以是一內嵌式電腦系統、一系統單晶片(SOC)、單板電腦系統(SBC)(例如,一模組化電腦(COM)或模組化系統(SOM))、一桌上型電腦系統、一膝上型或筆記型電腦系統、一互動資訊站(interactive kiosk)、一大型計算機、一電腦系統網格、一行動電話、一個人數位助理(PDA)、一伺服器、一平板電腦系統、一擴增/虛擬實境裝置、或是這些中的兩個或多個的一組合。在適當情形中,電腦系統1100可包含一或多個電腦系統1100;為一體的或分散的;橫跨多個位置;橫跨多個機器;橫跨多個資料中心;或是存在於雲端中,其可包含在一或多個網路中的一或多個雲端構件。在適當情形中,一或多個電腦系統1100可以在無實質的空間或時間的限制下執行一或多種在此敘述或描繪的方法的一或多個步驟。
舉例且非限制性的,一或多個電腦系統1100可以即時地或是以批次模式來執行一或多種在此敘述或描繪的方法的一或多個步驟。在適當情況,一或多個電腦系統1100可以在不同的時間或是在不同的位置執行一或多種在此敘述或描繪的方法的一或多個步驟。在某些實施例中,電腦系統1100包含一處理器1102、記憶體1104、儲存體1106、一輸入/輸出(I/O)介面1108、一通訊介面1110、以及一匯流排1112。儘管此揭露內容描述且描繪一特定的電腦系統具有在一特定配置下的一特定數量的特定構件,但是此揭露內容思及具有在任何適當的配置下的任何適當數量的任何適當的構件之任何適當的電腦系統。
在特定的實施例中,處理器1102包含用於執行例如是那些構成一電腦程式的指令的硬體。舉例且非限制性的,為了執行指令,處理器1102可以從一內部的暫存器、一內部的快取、記憶體1104、或是儲存體1106擷取(或提取)所述指令;解碼及執行它們;並且接著將一或多個結果寫入到一內部的暫存器、一內部的快取、記憶體1104、或是儲存體1106。在特定的實施例中,處理器1102可包含用於資料、指令、或位址的一或多個內部的快取。此揭露內容思及處理器1102在適當情況包含任何適當數量的任何適當的內部的快取。舉例且非限制性的,處理器1102可包含一或多個指令快取、一或多個資料快取、以及一或多個轉譯後備緩衝器(TLB)。在所述指令快取中的指令可以是在記憶體1104或儲存體1106中的指令的副本,並且所述指令快取可以加速那些指令藉由處理器1102的取出。
在所述資料快取中的資料可以是資料在記憶體1104或儲存體1106中的副本,以供在處理器1102執行的指令在其上運算;在處理器1102執行的先前的指令的結果,以供藉由在處理器1102執行的後續的指令存取、或是用於寫入到記憶體1104或儲存體1106;或是其它適當的資料。所述資料快取可以加速藉由處理器1102的讀取或寫入的操作。所述TLB可以加速用於處理器1102的虛擬位址的轉譯。在特定的實施例中,處理器1102可包含一或多個用於資料、指令、或位址的內部的暫存器。此揭露內容思及處理器1102在適當情況包含任何適當數量的任何適當的內部的暫存器。在適當情形中,處理器1102可包含一或多個算術邏輯單元(ALU);其是一多核心的處理器;或是包含一或多個處理器602。儘管此揭露內容描述且描繪一特定的處理器,但此揭露內容思及任何適當的處理器。
在特定的實施例中,記憶體1104包含主要記憶體以用於儲存供處理器1102執行的指令、或是供處理器1102在其上運算的資料。舉例且非限制性的,電腦系統1100可以從儲存體1106或是另一來源(例如,另一電腦系統1100)載入指令到記憶體1104。處理器1102接著可以從記憶體1104載入所述指令到一內部的暫存器或是內部的快取。為了執行所述指令,處理器1102可以從所述內部的暫存器或內部的快取擷取所述指令,並且解碼它們。在所述指令的執行期間或是之後,處理器1102可以寫入一或多個結果(其可以是中間或最終的結果)至所述內部的暫存器或是內部的快取。處理器1102接著可以將那些結果中的一或多個寫入到記憶體1104。在特定的實施例中,處理器1102只執行在一或多個內部的暫存器或內部的快取中、或是在記憶體1104中的指令(相對於儲存體1106或是在別處)、並且只在一或多個內部的暫存器或內部的快取中、或是在記憶體1104中的資料上運算(相對於儲存體1106或是在別處)。
一或多個記憶體匯流排(其分別可包含一位址匯流排以及一資料匯流排)可以將處理器1102耦接至記憶體1104。如同在以下敘述的,匯流排1112可包含一或多個記憶體匯流排。在特定的實施例中,一或多個記憶體管理單元(MMU)是位在處理器1102與記憶體1104之間,並且使得由處理器1102所請求的對於記憶體1104的存取變得容易。在特定的實施例中,記憶體1104包含隨機存取記憶體(RAM)。此RAM在適當情況可以是揮發性記憶體。在適當情形中,此RAM可以是動態RAM(DRAM)或靜態RAM(SRAM)。再者,在適當情況,此RAM可以是單埠或多埠的RAM。此揭露內容思及任何適當的RAM。記憶體1104在適當情況可包含一或多個記憶體1104。儘管此揭露內容描述且描繪特定的記憶體,但是此揭露內容思及任何適當的記憶體。
在特定的實施例中,儲存體1106包含用於資料或指令的大量儲存。舉例且非限制性的,儲存體1106可包含一硬碟機(HDD)、一軟碟機、快閃記憶體、一光碟、一磁光碟片、磁帶、或是一萬用串列匯流排(USB)隨身碟、或是這些的兩個或多個的一組合。儲存體1106在適當情況可包含可拆卸或非可拆卸的(或固定的)媒體。儲存體1106在適當情況可以是在電腦系統1100的內部或外部。在特定的實施例中,儲存體1106是非揮發性固態的記憶體。在特定的實施例中,儲存體1106包含唯讀記憶體(ROM)。在適當情形中,此ROM可以是遮罩程式化ROM、可程式化ROM(PROM)、可抹除PROM(EPROM)、電性可抹除PROM(EEPROM)、電性可變ROM(EAROM)、或是快閃記憶體、或是這些的兩個或多個的一組合。此揭露內容思及採用任何適當的實體形式的大量儲存體1106。儲存體1106在適當情況可包含一或多個儲存控制單元,其使得在處理器1102以及儲存體1106之間的通訊變得容易。在適當情形中,儲存體1106可包含一或多個儲存體1106。儘管此揭露內容描述且描繪特定的儲存體,但是此揭露內容思及任何適當的儲存體。
在特定的實施例中,I/O介面1108包含硬體、軟體、或是兩者,其提供一或多個用於在電腦系統1100以及一或多個I/O裝置之間的通訊的介面。電腦系統1100在適當情況可包含這些I/O裝置中的一或多個。這些I/O裝置中的一或多個可以致能在人以及電腦系統1100之間的溝通。舉例且非限制性的,一I/O裝置可包含一鍵盤、小型鍵盤、麥克風、監視器、滑鼠、印表機、掃描器、揚聲器、相機、指示筆、平板電腦、觸控螢幕、軌跡球、視訊攝影機、其它適當的I/O裝置、或是這些的兩個或多個的一組合。一I/O裝置可包含一或多個感測器。此揭露內容思及任何適當的I/O裝置以及用於它們的任何適當的I/O介面1108。在適當情形中,I/O介面1108可包含一或多個裝置或軟體驅動程式,其致能處理器1102來驅動這些I/O裝置中的一或多個。I/O介面1108在適當情況可包含一或多個I/O介面1108。儘管此揭露內容描述且描繪一特定的I/O介面,但是此揭露內容思及任何適當的I/O介面。
在特定的實施例中,通訊介面1110包含硬體、軟體、或是兩者,其提供一或多個用於在電腦系統1100以及一或多個其它電腦系統1100或一或多個網路之間的通訊(例如,封包為基礎的通訊)的介面。舉例且非限制性的,通訊介面1110可包含一網路介面控制器(NIC)或網路轉接器以用於和一乙太網路或其它有線為基礎的網路通訊、或是包含一無線NIC(WNIC)或無線轉接器以用於和一例如是WI-FI網路的無線網路通訊。此揭露內容思及任何適當的網路以及用於其之任何適當的通訊介面1110。
舉例且非限制性的,電腦系統1100可以和一隨意網路、一個人區域網路(PAN)、一本地區域網路(LAN)、一廣域網路(WAN)、一都會區域網路(MAN)、或網際網路的一或多個部分、或是這些中的兩個或多個的一組合通訊。這些網路中的一或多個的一或多個部分可以是有線或無線的。舉例而言,電腦系統1100可以和一無線PAN(WPAN)(例如,一藍芽WPAN)、一WI-FI網路、一WI-MAX網路、一行動電話網路(例如,一全球行動通訊系統(GSM)網路)、或其它適當的無線網路、或是這些中的兩個或多個的一組合通訊。電腦系統1100在適當情況可包含用於這些網路的任一者的任何適當的通訊介面1110。通訊介面1110在適當情況可包含一或多個通訊介面1110。儘管此揭露內容描述且描繪一特定的通訊介面,但是此揭露內容思及任何適當的通訊介面。
在特定的實施例中,匯流排1112包含硬體、軟體、或是兩者,其將電腦系統1100的構件彼此耦接。舉例且非限制性的,匯流排1112可包含一加速圖形埠(AGP)或其它圖形匯流排、一強化的工業標準架構(EISA)匯流排、一前端匯流排(FSB)、一超傳輸(HT)互連、一工業標準架構(ISA)匯流排、一無限頻寬互連、一低接腳數(LPC)匯流排、一記憶體匯流排、一微通道架構(MCA)匯流排、一週邊元件互連(PCI)匯流排、一PCI-Express(PCIe)匯流排、一串列先進技術附接(SATA)匯流排、一視訊電子標準協會區域(VLB)匯流排、或其它適當的匯流排、或是這些中的兩個或多個的一組合。匯流排1112在適當情況可包含一或多個匯流排1112。儘管此揭露內容描述且描繪一特定的匯流排,但是此揭露內容思及任何適當的匯流排或互連。
在此,一或多種電腦可讀取的非暫態的儲存媒體在適當情況可包含一或多個半導體為基礎或其它的積體電路(IC)(例如,現場可程式化閘陣列(FPGA)、或特殊應用IC(ASIC))、硬碟機(HDD)、混合硬碟機(HHD)、光碟、光碟機(ODD)、磁光碟片、磁光機、軟碟片、軟碟機(FDD)、磁帶、固態硬碟(SSD)、虛擬磁碟、安全數位卡或碟、任何其它適當的電腦可讀取的非暫態的儲存媒體、或是這些中的兩個或多個的任何適當的組合。一電腦可讀取的非暫態的儲存媒體在適當情況可以是揮發性、非揮發性、或是揮發性及非揮發性的一組合。
在此,除非有明確相反的指出或是上下文有相反的指出,否則“或”是包括而非排它性的。因此,除非有明確相反的指出或是上下文有相反的指出,否則在此的“A或B”是表示“A、B、或是兩者”。再者,除非有明確相反的指出或是上下文有相反的指出,否則“及”是聯合且分別的。因此,除非有明確相反的指出或是上下文有相反的指出,否則在此的“A及B”是表示“聯合或分別的A及B”。
此揭露內容的範疇包含具有在此項技術中的普通技能者將會理解的對於在此敘述或描繪的範例實施例的所有改變、替代、變化、變動及修改。此揭露內容的範疇並不限於在此敘述或描繪的範例實施例。再者,儘管此揭露內容在此描述且描繪個別的實施例為包含特定的構件、元件、特點、功能、操作、或是步驟,但是這些實施例的任一個都可包含具有在此項技術中的普通技能者將會理解的在此任何地方所敘述或描繪的構件、元件、特點、功能、操作、或是步驟的任一個的任何組合或排列。再者,在所附的請求項中對於被調適、安排、能夠、配置、致能、可運作、或操作以執行一特定功能的一設備或系統、或是一設備或系統的一構件的參照是包含所述設備、系統、構件,而不論其或所述特定的功能是否被起動、導通、或解鎖,只要所述設備、系統、或構件如此被調適、安排、能夠、配置、致能、可運作、或是操作即可。此外,儘管此揭露內容描述或描繪特定實施例為提供特定的優點,但是特定實施例可以提供這些優點的無、一些、或是全部。
100A:人工實境系統 100B:擴增實境系統 102:使用者 104:頭戴式裝置 106:控制器 108:計算系統 110:頭戴式顯示器(HMD) 112:框架 114:顯示器 120:計算系統 200:成像及顯示系統 210:儲備成像構件 220:主要的成像構件 226:v-編碼器 230:頭戴式顯示器單元 243:t-編碼器 245:t-記憶體 248:t-解碼器 250:顯示引擎 252:GPU合成器 270:顯示器 300:控制區塊 305:輸入資料串流 350:轉換區塊 395:塊-表面的對 400:像素區塊 410:座標系統 433:座標系統 495:像素色彩值 500:顯示區塊 510:座標系統 520:座標系統 595:像素輸出 710:影像 715:解碼的影像 720:影像 725:影像 801:影像 805:未壓縮的像素陣列 807:未壓縮的像素陣列 815:像素陣列 817:未壓縮的像素陣列 820:表 825:壓縮的像素陣列 835:像素陣列 837:未壓縮的像素陣列 845:編碼的像素陣列 900:方法 901:步驟 902:步驟 903:步驟 904:步驟 905:步驟 1000:方法 1001:步驟 1002:步驟 1003:步驟 1004:步驟 1005:步驟 1100:電腦系統 1102:處理器 1104:記憶體 1106:儲存 1108:輸入/輸出(I/O)介面 1110:通訊介面 1112:匯流排
[圖1A]是描繪一範例人工實境系統。
[圖1B]是描繪一範例擴增實境系統。
[圖2]是描繪一人工實境圖形成像及顯示系統。
[圖3]是描繪針對於一顯示引擎的系統圖。
[圖4]是描繪像素區塊的像素色彩值。
[圖5]是描繪像素區塊的像素色彩值。
[圖6]是描繪一被選擇性地編碼的影像。
[圖7]是描繪被選擇性地編碼的影像。
[圖8A-8C]是描繪未壓縮的像素陣列以及壓縮的像素陣列的例子。
[圖9]是一種用於根據共同色彩模式來選擇性地編碼一影像的像素區塊之方法的流程圖。
[圖10]是一種用於根據量化位準來壓縮像素陣列之方法的流程圖。
[圖11]是描繪一範例電腦系統。
1000:方法
1001:步驟
1002:步驟
1003:步驟
1004:步驟
1005:步驟

Claims (20)

  1. 一種方法,其包括藉由計算裝置: 接收像素陣列; 壓縮所述像素陣列,其藉由對於在複數個像素區塊中的每一個像素區塊: 存取和在所述像素區塊中的像素相關的像素值; 判斷所述像素值的範圍以及在所述範圍中的端點像素值; 決定對應在所述像素值的所述範圍之內的不同的值的量化位準; 對於在所述像素區塊中的所述像素值的每一個,從所述量化位準選擇一量化位準;以及 利用其個別所選的量化位準以及所述端點像素值來編碼在所述像素區塊中的所述像素值。
  2. 如請求項1之方法,其中對應在所述像素值的所述範圍之內的所述不同的值的量化位準的數目是匹配在所述像素值的所述範圍之內的所述不同的值的數目。
  3. 如請求項1之方法,其中對應在所述像素值的所述範圍之內的所述不同的值的量化位準的數目是小於在所述像素值的所述範圍之內的所述不同的值的數目。
  4. 如請求項3之方法,其中所述量化位準的每一個是和對應於和所述量化位準相關的不同的值的數目的尺度相關的。
  5. 如請求項1之方法,其中決定對應於所述像素值的所述範圍之內的所述不同的值的所述量化位準是根據和在所述像素區塊中的所述像素相關的所述像素值的變異而定。
  6. 如請求項1之方法,其中決定對應於所述像素值的所述範圍之內的所述不同的值的所述量化位準是根據針對於所述複數個像素區塊中的每一個像素區塊的目標壓縮比例而定。
  7. 如請求項1之方法,其進一步包括: 解壓縮所述像素陣列,其藉由針對於所述複數個像素區塊中的每一個像素區塊: 利用其個別的所選的量化位準以及所述端點像素值來解碼在所述像素區塊中的所述像素值。
  8. 一種系統,其包括:一或多個處理器;以及和所述一或多個處理器通訊的一或多個電腦可讀取的非暫態的儲存媒體,所述一或多個電腦可讀取的非暫態的儲存媒體包括指令,當所述指令藉由所述一或多個處理器執行時,其使得所述系統執行: 接收像素陣列; 壓縮所述像素陣列,其藉由對於複數個像素區塊中的每一個像素區塊: 存取和在所述像素區塊中的像素相關的像素值; 判斷所述像素值的範圍以及在所述範圍中的端點像素值; 決定對應於所述像素值的所述範圍之內的不同的值的量化位準; 針對於所述像素區塊中的所述像素值的每一個,從所述量化位準選擇一量化位準;以及 利用其個別所選的量化位準以及所述端點像素值來編碼在所述像素區塊中的所述像素值。
  9. 如請求項8之系統,其中對應在所述像素值的所述範圍之內的所述不同的值的量化位準的數目是匹配在所述像素值的所述範圍之內的所述不同的值的數目。
  10. 如請求項8之系統,其中對應在所述像素值的所述範圍之內的所述不同的值的量化位準的數目是小於在所述像素值的所述範圍之內的所述不同的值的數目。
  11. 如請求項10之系統,其中所述量化位準的每一個是和對應於和所述量化位準相關的不同的值的數目的尺度相關的。
  12. 如請求項8之系統,其中決定對應於所述像素值的所述範圍之內的所述不同的值的所述量化位準是根據和在所述像素區塊中的所述像素相關的所述像素值的變異而定。
  13. 如請求項8之系統,其中決定對應於所述像素值的所述範圍之內的所述不同的值的所述量化位準是根據針對於所述複數個像素區塊中的每一個像素區塊的目標壓縮比例而定。
  14. 如請求項8之系統,其進一步包括: 解壓縮所述像素陣列,其藉由針對於所述複數個像素區塊中的每一個像素區塊: 利用其個別的所選的量化位準以及所述端點像素值來解碼在所述像素區塊中的所述像素值。
  15. 一或多種儲存指令之電腦可讀取的非暫態的儲存媒體,當所述指令藉由內含在一或多個計算裝置中的一或多個處理器執行時,其使得所述一或多個計算裝置執行: 接收像素陣列; 壓縮所述像素陣列,其藉由對於複數個像素區塊中的每一個像素區塊: 存取和在所述像素區塊中的像素相關的像素值; 判斷所述像素值的範圍以及在所述範圍中的端點像素值; 決定對應於所述像素值的所述範圍之內的不同的值的量化位準; 針對於在所述像素區塊中的所述像素值的每一個,從所述量化位準選擇一量化位準;以及 利用其個別所選的量化位準以及所述端點像素值來編碼在所述像素區塊中的所述像素值。
  16. 如請求項15之一或多種電腦可讀取的非暫態的儲存媒體,其中對應在所述像素值的所述範圍之內的所述不同的值的量化位準的數目是匹配在所述像素值的所述範圍之內的所述不同的值的數目。
  17. 如請求項15之一或多種電腦可讀取的非暫態的儲存媒體,其中對應在所述像素值的所述範圍之內的所述不同的值的量化位準的數目是小於在所述像素值的所述範圍之內的所述不同的值的數目。
  18. 如請求項17之一或多種電腦可讀取的非暫態的儲存媒體,其中所述量化位準的每一個是和對應於和所述量化位準相關的不同的值的數目的尺度相關的。
  19. 如請求項15之一或多種電腦可讀取的非暫態的儲存媒體,其中決定對應於所述像素值的所述範圍之內的所述不同的值的所述量化位準是根據和在所述像素區塊中的所述像素相關的所述像素值的變異而定。
  20. 如請求項15之一或多種電腦可讀取的非暫態的儲存媒體,其中決定對應於所述像素值的所述範圍之內的所述不同的值的所述量化位準是根據針對於所述複數個像素區塊中的每一個像素區塊的目標壓縮比例而定。
TW110137205A 2020-12-18 2021-10-06 自適應範圍之包裝壓縮 TW202226832A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/126,397 US11647193B2 (en) 2020-12-18 2020-12-18 Adaptive range packing compression
US17/126,397 2020-12-18

Publications (1)

Publication Number Publication Date
TW202226832A true TW202226832A (zh) 2022-07-01

Family

ID=78725627

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110137205A TW202226832A (zh) 2020-12-18 2021-10-06 自適應範圍之包裝壓縮

Country Status (3)

Country Link
US (1) US11647193B2 (zh)
TW (1) TW202226832A (zh)
WO (1) WO2022132306A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270468B1 (en) * 2020-12-18 2022-03-08 Facebook Technologies, Llc. Joint color image and texture data compression

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3106749B2 (ja) 1992-12-10 2000-11-06 ソニー株式会社 適応型ダイナミックレンジ符号化装置
JP4240554B2 (ja) 1997-07-11 2009-03-18 ソニー株式会社 画像符号化装置および画像符号化方法、並びに画像復号化装置および画像復号化方法
US20060056508A1 (en) 2004-09-03 2006-03-16 Phillippe Lafon Video coding rate control
US7839932B2 (en) * 2004-12-06 2010-11-23 Thomson Licensing Method and apparatus for encoding or decoding two digital video signals arranged in a single-video signal path
US7796823B1 (en) 2005-09-22 2010-09-14 Texas Instruments Incorporated Texture compression
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
KR101394151B1 (ko) * 2007-10-04 2014-05-14 삼성전자주식회사 시감 특성을 이용한 영상 부호화 장치 및 방법
US8406314B2 (en) * 2007-11-28 2013-03-26 Sharp Laboratories Of America, Inc. Two-dimensional DPCM with PCM escape mode
ES2628010T3 (es) 2009-12-16 2017-08-01 Red.Com, Llc Formateo basado en resolución de datos de imagen comprimidos
US9961231B2 (en) 2015-10-06 2018-05-01 Canon Kabushiki Kaisha Image processing method that attempts decoding of additional information using a plurality of decoding methods, and apparatus therefor
US10356407B2 (en) * 2015-11-20 2019-07-16 Facebook Technologies, Llc Display-side video decompression using quantization tables
JP6944138B2 (ja) * 2016-07-29 2021-10-06 ソニーグループ株式会社 画像処理装置および画像処理方法
CN107846589B (zh) * 2016-09-19 2020-07-07 上海臻瞳电子科技有限公司 一种基于局部动态量化的图像压缩方法
JP6822123B2 (ja) * 2016-12-19 2021-01-27 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US10506196B2 (en) 2017-04-01 2019-12-10 Intel Corporation 360 neighbor-based quality selector, range adjuster, viewport manager, and motion estimator for graphics
US10645386B1 (en) * 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization

Also Published As

Publication number Publication date
US20220201302A1 (en) 2022-06-23
WO2022132306A1 (en) 2022-06-23
US11647193B2 (en) 2023-05-09

Similar Documents

Publication Publication Date Title
TWI810395B (zh) 用於後成像處理的顯示引擎
US11170577B2 (en) Generating and modifying representations of objects in an augmented-reality or virtual-reality scene
US11734858B2 (en) Joint pixel and texture data compression
US11176901B1 (en) Pan-warping and modifying sub-frames with an up-sampled frame rate
CN116897326A (zh) 人工现实中虚拟对象的手部锁定渲染
US11645814B2 (en) System and method for optimizing the rendering of dynamically generated geometry
US11557049B1 (en) Interpolation optimizations for a display engine for post-rendering processing
US11508285B2 (en) Systems and methods for spatio-temporal dithering
TW202226832A (zh) 自適應範圍之包裝壓縮
US20210090322A1 (en) Generating and Modifying Representations of Objects in an Augmented-Reality or Virtual-Reality Scene
US11011123B1 (en) Pan-warping and modifying sub-frames with an up-sampled frame rate
US11681363B2 (en) Waveguide correction map compression
US11562679B2 (en) Systems and methods for mask-based temporal dithering
US11721064B1 (en) Adaptive rate shading using texture atlas
US20240013443A1 (en) Pixel Block Encoder Capable of Jointly Encoding Pixel Channels
US11733773B1 (en) Dynamic uniformity correction for boundary regions
US11727638B1 (en) Adaptive geometric smoothing
US20220366820A1 (en) Viewport visual effect correction