TW201904294A - 數位內容串流壓縮 - Google Patents

數位內容串流壓縮 Download PDF

Info

Publication number
TW201904294A
TW201904294A TW107119228A TW107119228A TW201904294A TW 201904294 A TW201904294 A TW 201904294A TW 107119228 A TW107119228 A TW 107119228A TW 107119228 A TW107119228 A TW 107119228A TW 201904294 A TW201904294 A TW 201904294A
Authority
TW
Taiwan
Prior art keywords
image data
images
compression
data
scheme
Prior art date
Application number
TW107119228A
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 TW201904294A publication Critical patent/TW201904294A/zh

Links

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/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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/172Methods 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 picture, frame or field
    • 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/18Methods 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 a set of transform coefficients
    • 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一種針對形成一數位內容串流的影像,壓縮其影像資料的方法,該方法包括針對由該數位內容串流內一包含n幅影像的序列,自該n幅影像的每一者獲取影像資料,並針對該n幅影像其中至少一些各別使用一壓縮方案,以壓縮每一者的影像資料。

Description

數位內容串流壓縮
本申請案係關於一種用於壓縮或解壓縮一數位內容串流的方法與裝置,且在一特定實例當中,此方法與裝置使用不同的編碼方案壓縮或解壓縮一數位內容串流,以便於較低頻寬下傳輸影像資料,並減少延遲情形。
本文中與任何公開參考文獻(或自其中衍生的資訊)或任何習知內容相關的敘述,皆非且不應被視為認可、承認或以任何形式主張公開參考文獻(或自其中衍生的資訊)或習知內容屬於本發明所屬技術領域中通常知識的一部分。
使用虛擬實境、擴增實境及混合實境系統時,一般會提供穿戴式顯示裝置,如頭戴式顯示器(HMD),該裝置基於自身的相對空間位置及/或方向,將相關資訊顯示給穿戴者觀看。此類系統會基於與顯示裝置的姿勢(位置及方向)相關的資訊生成影像,因此當顯示裝置移動時,影像會隨之更新以反映顯示裝置的新姿勢。
為避免穿戴者暈眩,由蒐集姿勢資訊到生成對應影像的時間差必須減到最小,尤其在當顯示裝置快速移動時。有鑑於此,再加上對生成高品質擬真影像的需求,便需要搭配能有效運作的處理硬體。於是,目前的高端系統通常需要使用靜態桌機,再透過高速頻寬及低延遲連線使桌機連線至顯示裝置。如此一來,現有的系統如HTC ViveTM 、Oculus RiftTM 及Playstation VRTM 等,皆須在電腦及頭戴式顯示器之間建立有線連線,為相當不便利的情形。
雖然目前已開發出基於行動裝置的解決方案,譬如可結合行動電話,並針對頭戴式顯示器內的影像進行處理且予以顯示的Gear VRTM ,但其處理資料的能力依舊有限,也就是所顯示的內容會受到限制,尤其就影像解析度與品質兩方面而言。
在習知技術中,會透過壓縮影像資料的手段來壓縮資料量。這種手段的應用範圍相當廣,譬如為了減少儲存影像資料所需的儲存空間,或為了減少與傳輸影像資料相關聯的頻寬要求時,皆可採取此一手段。
JPEG格式的壓縮法為破壞性壓縮,此方法係基於離散餘弦轉換(discrete cosine transform, DCT)。使用此一數學運算方法,便可將視訊源的各個影格/場自空間(二維)域轉為頻率域(frequency domain)(又稱為轉換域(transform domain))。可使用大略基於人類心理視覺系統的概念模型,將高頻資訊(即劇烈轉變的影像強度)及色相予以捨棄。在轉換域中,可採取量化手段縮減資訊。係數被量化之後會再經過排序,並以無失真(lossless)的方式被包裹入一輸出位元流中。
然而,以上手段能壓縮的內容有限,且所需的處理時間相當長,以致於不適用於低延遲應用技術當中,如虛擬實境或擴增實境、遠距臨場(telepresence)等技術。
概括而言,本發明之一方面試圖針對形成一數位內容串流的影像,提供一種壓縮來自該等影像的影像資料的方法,該方法針對該數位內容串流內n 幅影像的一序列,包括以下步驟:獲取該n 幅影像中各影像的影像資料;及使用一各別壓縮方案,壓縮對該n 幅影像中至少一些影像的資料。
在一具體實施例中,該方法包括使用一包含多個壓縮方案的序列,壓縮該n 幅影像的序列。
在一具體實施例中,該方法包括壓縮該n 幅影像的序列的一數量,各序列透過多個壓縮方案的同一序列被壓縮。
在一具體實施例中,該等各別壓縮方案中至少兩個提供一不同的壓縮程度(degree of compression)。
在一具體實施例中,存在下列情形至少一者:該n 幅影像中的每一者經由一不同的壓縮方案被壓縮;該n 幅影像中的每一者經由一不同的壓縮方案被壓縮,該壓縮方案提供一不同的壓縮程度;該n 幅影像中至少一者經由一不同的壓縮方案被壓縮,該不同壓縮方案實施於各幅相鄰影像之上;該包含n 幅影像的序列中,至少有兩幅影像經由一共同壓縮方案被壓縮;該n 幅影像中至少一者經由一無失真的壓縮方案被壓縮;該n 幅影像中至少一者經由一破壞性壓縮方案被壓縮;該n 幅影像中至少一者未被壓縮;及該n 幅影像中至少一者被捨棄,以降低一影格速率(frame rate)。
在一具體實施例中,n 值至少為以下其中之一:大於2;介於2和5之間;介於2和10之間;介於4和25之間;小於25;以及基於可取得壓縮方案的數量。
在一具體實施例中,該方法包括:針對該n 幅影像的下一者,獲取下一幅影像資料;壓縮該下一幅影像資料;及對該n 幅影像的每一者反覆實施第一與第二步驟。
在一具體實施例中,該方法針對該n 幅影像中至少一者,包括:自複數個壓縮方案中選擇一方案;及使用該所選的壓縮方案壓縮該影像資料,以產生壓縮後的影像資料。
在一具體實施例中,該方法包括:決定一編碼代碼(encoding code),其指示該所選的壓縮方案;及將該編碼代碼與該壓縮後的影像資料相關聯。
在一具體實施例中,該方法包括選擇該壓縮方案,其根據下列其中至少一者:針對n 幅影像序列中的相鄰影像所實施的壓縮方案;一希望壓縮程度;一用於傳輸壓縮後的影像資料之通訊連結的傳輸頻寬;一用於傳輸壓縮後的影像資料之通訊連結的服務的傳輸品質;一顯示裝置的移動;一顯示裝置的預測移動;影像顯示需求;一目標顯示解析度;一所處理的通道;該一或多幅影像內的像素陣列之一位置;該一或多幅影像當中的像素陣列之一位置,其相對於該一或多幅影像的觀看者的一其注視點;及錯誤指標(error metrics)。
在一具體實施例中,該方法包括使用至少一壓縮方案,以達成下列目的:自該影像資料獲取像素資料,該像素資料代表位於該一或多幅影像內的一像素陣列;決定位於該一或多幅影像內之該像素陣列的一位置,該位置相對於一已定義的位置,該已定義的位置至少部分指示了使用者的一注視點;及至少部分根據該經決定的位置壓縮該像素資料,以使壓縮程度隨該像素陣列被決定的位置變化。
在一具體實施例中,該已定義的位置至少為下列其中一者:一經量測的使用者注視點;一預期的使用者注視點;經測量的使用者注視點偏移;預期的使用者注視點偏移;及至少部分根據指示使用者注視點的視線資料所決定,該視線資料自一視線追蹤系統獲取。
在一具體實施例中,該方法包括壓縮該像素資料,使該壓縮程度為下列情形至少一者:根據從該已定義點的距離決定;根據相對於該已定義點的一方向決定;自該已定義點隨距離增加;及提供注視點壓縮(foveated compression)。
在一具體實施例中,該方法包括使用至少一個壓縮方案,以達到下列目的:自該影像資料獲取像素資料,該像素資料代表位於該一或多幅影像內的一像素陣列;對該像素資料進行一轉換,以決定指示該像素陣列內頻率分量的一頻率係數集合;使用一位元編碼方案,選擇性對該等頻率係數中至少一些進行編碼,以生成一已編碼頻率係數集合;及使用該等已編碼頻率係數生成壓縮後的影像資料。
在一具體實施例中,該位元編碼方案定義替該等頻率係數之每一者進行編碼時所使用的位元數,且其中該等頻率係數被選擇性編碼,以產生下列情形至少一者:該等已編碼頻率係數中至少一些具備不同的位元數;使用較少的位元數,對於與高頻對應的頻率係數進行編碼;使用逐漸減少的位元數,對於與逐漸升高的頻率對應的頻率係數進行編碼;至少一個頻率係數被捨棄,以使該已編碼頻率係數之集合小於該頻率係數的集合;及至少一個與高頻對應的頻率係數被捨棄。
在一具體實施例中,該方法包括:自複數個位元編碼方案中選擇一個方案;及根據該所選的位元編碼方案,對於該等頻率係數進行編碼。
在一具體實施例中,該複數個位元編碼方案中的每一者,對替不同的頻率係數分別使用不同的位元數進行選擇性編碼,以提供一不同的壓縮程度。
在一具體實施例中,該位元編碼方案的選擇,至少部分取決於下列其中一者:一希望壓縮程度;及該像素陣列的位置。
在一具體實施例中,該等頻率分量被安排成複數個階層;其中,替該複數個階層中每一者內的頻率係數進行編碼時所使用的位元數,皆分別由每一位元編碼方案決定。
在一具體實施例中,該陣列為一N xN 像素陣列,形成共2N -1個階層的頻率分量。
在一具體實施例中,該方法包括針對該等頻率係數中至少一些套用一縮放係數(scaling factor),以使經縮放(scaled)的頻率係數被編碼,該縮放係數用於減少每個頻率係數的幅度(magnitude),且其中存在下列情形其中一者:針對至少一些頻率係數套用多個不同的縮放係數;針對每個頻率係數套用同一縮放係數;及在一不同通道中,針對多個頻率係數套用一不同的縮放係數。
在一具體實施例中,該轉換為一二維離散餘弦轉換。
在一具體實施例中,該方法包括:選擇性將頻率係數進行平行編碼;及生成壓縮後的影像資料,至少部分使用平行轉序列(parallel to serial)位元組編碼(byte encoding)的方式進行。
在一具體實施例中,該影像資料定義複數個通道,且其中該方法包括使用至少一壓縮方案,以選擇性壓縮該複數個通道之每一者。
在一具體實施例中,該像素資料定義RGB通道,且其中該方法包括:將該等RGB通道轉換為YCbCr通道;及壓縮該等YCbCr通道,且其中該方法進一步包括下列步驟至少一者:壓縮該Y通道,其相對少於Cb或Cr通道;平行壓縮該等YCbCr通道之每一者;及壓縮該等CbCr通道並使用一未被壓縮的Y通道。
在一具體實施例中,該方法包括:由該影像資料獲取像素資料,該像素資料代表位於該一或多幅影像內的一像素陣列;及壓縮該像素資料,其中該像素資料獲取自該影像資料,獲取方式為:對接下來m -1列像素所對應的影像資料進行緩衝處理;針對下一列像素中的接下來m 個像素,對其進行影像資料緩衝處理;自緩衝後的影像資料獲取下一個m xm 像素區塊的像素資料;重複第二及第三步驟,直到已完全自該m 列像素獲取像素資料為止;及重複第一至第四步驟,直到已自該影像的每一列像素獲取像素資料為止。
在一具體實施例中,m 值係基於下列項目至少一者所選定:一所選的壓縮方案;一所選的位元編碼方案;一希望壓縮程度;及該位元陣列的位置。
在一具體實施例中,該方法至少部分使用一電子處理裝置進行。
概括而言,本發明之一方面試圖提供用於從形成一數位內容串流的部分之多個影像壓縮影像資料的裝置,包含至少一電子編碼器處理裝置,其:獲取該n 幅影像中每一者的影像資料;及針對該n 幅影像中至少一些,分別使用一壓縮方案壓縮其影像資料。
在一具體實施例中,該裝置包含:一編碼器輸入緩衝器,其接收該影像資料;及一編碼器輸出緩衝器,其儲存壓縮後的影像資料。
在一具體實施例中,該裝置包含一編碼器傳輸器,其自該編碼器輸出緩衝器傳輸該影像資料。
在一具體實施例中,該至少一編碼器處理裝置包含:一經適當程式化的現場可程式閘陣列(field programmable gate array);一特殊應用積體電路(Application-Specific Integrated Circuit);及一圖形處理器(Graphics Processing Unit)。
在一具體實施例中,該影像資料定義複數個通道,且其中該裝置包含:分屬每一通道的處理裝置;及一平行處理裝置,其分別針對各通道進行平行處理。
在一具體實施例中,該像素資料定義RGB通道,且其中該裝置:將RGB通道轉換為YCbCr通道;及使用至少一處理裝置,以將該等YCbCr通道選擇性編碼。
在一具體實施例中,該裝置包含一編碼器,其與一解碼器無線通訊,以使影像資料於該編碼器與該解碼器之間以被壓縮的形式傳輸。
在一具體實施例中,該編碼器係下列至少一者:與一適當程式化的處理系統耦接,及屬於該處理系統的一部分。
在一具體實施例中,該解碼器係下列至少一者:與一穿戴式顯示裝置耦接,及屬於該穿戴式顯示裝置的一部分。
在一具體實施例中,該編碼器與該解碼器相互傳輸資料,以交換下列資料至少一者:壓縮後的影像資料;移動資料,其指示一顯示裝置的移動情形;控制資料,其至少部分用於控制該顯示裝置;輸入資料,其指示使用者輸入指令;視線資料,其指示一觀看者之注視點;及感測器資料,其來自與一穿戴式顯示裝置相關聯之感測器。
概括而言,本發明之一方面試圖提供一種將壓縮後的影像資料解壓縮的方法,壓縮後的影像資料代表形成一數位內容串流的影像,該方法針對該數位內容串流內一包含該n 幅影像的序列,其步驟包括:獲取該n 幅影像中至少一些的壓縮後的影像資料;及針對該n 幅影像中至少一些影像的每一者,分別使用一解壓縮方案將每幅影像的壓縮後的影像資料解壓縮。
在一具體實施例中,該解壓縮方案對應於用以生成該壓縮後的影像資料的一壓縮方案。
在一具體實施例中,該方法包括根據下列項目至少一者,分別選擇解壓縮方案:一壓縮方案編碼,其指示用於壓縮該影像資料的壓縮方案;一希望壓縮程度;一用於傳輸壓縮後的影像資料之通訊連結頻寬;一用於傳輸壓縮後的影像資料之通訊連結服務的傳輸品質;一顯示裝置的移動情形;一顯示裝置的預測移動情形;影像顯示需求;一顯示解析度設定目標;一所處理的通道;位於該一或多幅影像內的像素陣列之一位置;位於該一或多幅影像內的像素陣列之一位置,其相對於該一或多幅影像的一觀看者之注視點;及錯誤指標。
在一具體實施例中,該方法包括:針對該n 幅影像的下一者,獲取下一幅影像資料;對該下一幅壓縮後的影像資料解壓縮;及對該n 幅影像的每一者反覆實施第一與第二步驟。
在一具體實施例中,該方法包括使用至少一解壓縮方案,以達成下列目的:獲取壓縮後的影像資料,其代表位於該一或多幅影像內的一像素陣列,且至少部分基於該一或多幅影像內之像素陣列的位置被壓縮,該位置相對於一已定義的位置,該已定義的位置至少部分指示了使用者的一注視點;及解壓縮該壓縮後的影像資料,至少部分根據該經決定的位置。
在一具體實施例中,該已定義的位置至少為下列其中一者:一經量測的使用者注視點;一預期的使用者注視點;經測量的使用者注視點偏移;預期的使用者注視點偏移;及至少部分根據指示使用者注視點的視線資料所決定,該視線資料自一視線追蹤系統獲取。
在一具體實施例中,該方法包括解壓縮該像素資料,使該解壓縮程度為下列情形至少一者:根據與該已定義點的距離決定;根據與該已定義點的相對方向決定;自該已定義點隨距離增加;及提供注視點壓縮。
在一具體實施例中,該方法包括使用至少一解壓縮方案複製影像,以回復一被捨棄影像的影格速率。
在一具體實施例中,該方法包括使用至少一解壓縮方案,以達到下列目的:決定來自壓縮後的影像資料的一已編碼頻率係數集合,其根據一位元編碼方案進行,該位元編碼方案決定每一已編碼頻率係數所使用的位元數;根據該位元編碼方案,對該等已編碼頻率係數實施位元解碼,以生成一頻率係數集合,其中至少生成一頻率係數,以使該等已編碼頻率係數的集合小於該等頻率係數的集合;及對該頻率係數集合實施一逆轉換以決定像素資料,該像素資料代表該一或多幅影像內的一像素陣列。
在一具體實施例中,該位元編碼方案決定將該等頻率係數的每一者編碼時所使用的位元數,且該位元編碼方案使用較少的位元數,將與高頻對應的頻率係數進行編碼,且其中該方法包括生成與高頻對應之頻率係數的其中至少一些。
在一具體實施例中,該方法包括:自複數個位元編碼方案中選擇一個方案;及根據該所選的位元編碼方案,將該等已編碼頻率係數進行解碼。
在一具體實施例中,該複數個位元編碼方案中的每一者,皆將不同的頻率係數分別使用不同的位元數進行選擇性編碼,以提供一不同的壓縮程度。
在一具體實施例中,該位元編碼方案的選擇,至少部分取決於下列其中一者:一編碼代碼;用於產生該壓縮後的影像資料的該位元編碼方案;及該像素陣列的位置。
在一具體實施例中,該等頻率分量被安排成複數個階層;其中,將該複數個階層中每一者內的該等頻率係數進行編碼時所使用的位元數,皆分別由每一位元編碼方案決定。
在一具體實施例中,該陣列為一N xN 像素陣列,形成共2N -1個階層的頻率分量。
在一具體實施例中,該方法包括針對該等頻率係數中至少一些套用一縮放係數,以使縮放過的已編碼頻率係數被解碼,該縮放係數用於增加每一頻率係數的幅度,且其中存在下列情形其中一者:針對至少一些已編碼頻率係數套用多個不同的縮放係數;針對每個已編碼頻率係數套用同一縮放係數;及在一不同的通道中,針對多個已編碼頻率係數套用一不同的縮放係數。
在一具體實施例中,該逆轉換為一二維離散餘弦轉換。
在一具體實施例中,該方法包括:將壓縮後的影像資料解碼,至少部分使用序列轉平行(serial to parallel)位元組解碼(byte decoding)的方式進行;及選擇性將多個頻率係數進行平行編碼。
在一具體實施例中,該影像資料定義複數個通道,且其中該方法包括將各通道之已編碼頻率係數進行選擇性解碼。
在一具體實施例中,該壓縮後的影像資料定義YCbCr通道,且其中該方法包括:對該等YCbCr通道實施一逆轉換;及將該等經轉換的YCbCr通道轉換為RGB通道,且其中該方法進一步包括下列步驟至少一者:相較於Y通道,對Cb或Cr通道進行程度更大的解壓縮;平行解壓縮該等已編碼的YCbCr通道;及解壓縮該等CbCr通道,並將該等已解壓縮的CbCr通道及該Y通道轉換為RGB通道。
在一具體實施例中,該方法至少部分使用一電子處理裝置進行。
概括而言,本發明之一方面試圖提供一種裝置,其針對形成一數位內容串流的影像,解壓縮其影像資料,該裝置包含至少一電子解碼器處理裝置,其:獲取該n 幅影像其中一些的壓縮後的影像資料;及針對該n 幅影像中至少一些,分別使用一解壓縮方案以解壓縮其壓縮後的影像資料。
在一具體實施例中,該裝置包含:一解碼器輸入緩衝器,其接收該壓縮後的影像資料;及一解碼器輸出緩衝器,其儲存該影像資料。
在一具體實施例中,該裝置包含一解碼器收發器,其接收該壓縮後的影像資料,並將該壓縮後的影像資料提供給該輸入緩衝器。
在一具體實施例中,該至少一編碼器處理裝置包含:一經適當程式化的現場可程式閘陣列;一特殊應用積體電路;及一圖形處理器。
在一具體實施例中,該影像資料定義複數個通道,且其中該裝置包含:分屬每一通道的一處理裝置;及一平行處理裝置,其分別針對各通道進行平行處理。
在一具體實施例中,該壓縮後的影像資料定義YCbCr通道,且其中該裝置:使用各別處理裝置將該等CbCr通道解碼;及將該等已解碼的YCbCr通道轉換為RGB通道。
在一具體實施例中,該裝置包含一編碼器,其與一解碼器無線通訊,以使影像資料於該編碼器與該解碼器之間以壓縮形式傳輸。
在一具體實施例中,該裝置包含一解碼器,其透過無線傳輸與一編碼器通訊,以使影像資料於該編碼器與該解碼器之間以壓縮形式傳輸。
在一具體實施例中,該解碼器係下列至少一者:與一適當程式化的電腦系統耦接,及屬於該電腦系統的一部分。
在一具體實施例中,該解碼器係下列至少一者:與一穿戴式顯示裝置耦接,及屬於該穿戴式顯示裝置的一部分。
在一具體實施例中,該解碼器與該編碼器相互傳輸資料,以交換下列資料至少一者:壓縮後的影像資料;移動資料,其指示一顯示裝置的移動情形;控制資料,其至少部分用於控制該顯示裝置;輸入資料,其指示使用者輸入指令;視線資料,其指示一觀看者之注視點;及感測器資料,其來自與一穿戴式顯示裝置相關聯之感測器。
應可理解,本發明的概括形式及其各自特徵可合併使用、變換使用及/或單獨使用,且針對各概括形式敘述的內容皆不具限制性。
以下參考第一圖描述一方法示例,該方法用於壓縮形成一數位內容串流的影像資料,接著將其解壓縮。
為便於說明,此處預設執行該流程時,至少部分使用一或多個電子處理裝置。在一示例中,使用各別的處理裝置分別壓縮及解壓縮影像資料,使壓縮後的影像資料可在兩個電子處理裝置之間傳輸,不過此方式並非必要,亦可使用同一處理裝置壓縮及解壓縮影像資料。
該等處理裝置可為各別處理系統的一部分,如電腦系統、電腦伺服器、客戶端裝置(例如行動電話、筆記型電腦,或如穿戴式/頭戴式顯示器等顯示裝置),或可為與前述裝置耦接的獨立模組。
該影像資料代表一影像序列,該影像序列形成一數位內容串流。在一示例中,自遠端顯示該影像序列,由數位實境系統內的來源所接收。如利用虛擬實境、擴增實境或混合實境圖形應用程式接收影像,由穿戴式顯示器顯示影像;及/或利用遠距臨場應用程式接收影像,由遠端控制系統顯示影像。然而應可理解,雖然本文所述之技術內容對數位實境應用程式尤其適用,但「數位內容串流」此一用語並不具限制性,且所述技術內容可用於任何一種內容串流,如視訊串流、電腦繪圖等。
在本示例中,於步驟100,獲取n 幅影像(n 為一整數)之每一者的影像資料,該n 幅影像形成一數位內容串流。該影像資料可透過任何適當方式獲取,且可由資料儲存所(data store)提供,該影像資料之來源為遠端來源,如電腦系統、伺服器、視訊擷取裝置、視訊來源等。該影像資料可包括自相機(如空拍機等)發送的即時視訊串流。另外,該影像資料亦可於電子處理裝置內部生成,如包含於混合、擴增或虛擬實際系統之中。
於步驟110,使用各別壓縮方案,對該n 幅影像其中至少一些的影像資料分別進行壓縮。此時,通常會對該n 幅影像中的至少一些套用另一種壓縮方案,以使所述影像透過另一種壓縮方式被壓縮。不同的壓縮方案可提供不同的壓縮程度,包括破壞性及/或無失真壓縮;不同的壓縮方案亦可利用不同的壓縮機制,如壓縮不同影像內不同的色彩空間通道(colour space channel)、進行區塊編碼(block encoding)等。因此,可使用的影像壓縮演算法種類相當廣泛,而後文所述的特定示例皆不具限制性。值得留意的是,在該n 幅影像的序列中至少一些影像可為無壓縮狀態。
應可理解,以上所述之程序可包含接收該n 幅影像的每一者,並對其進行壓縮,但具體而言,在延遲情形可能出現時,通常每一幅影像在被接收之後會立即被大致壓縮,以使獲取並壓縮該n 幅影像之每一者的步驟能依序反覆進行。
同樣地,在解壓縮程序方面,於步驟120,獲取該n 幅影像中至少一些的壓縮後的影像資料,且視需要同時獲取任何無壓縮影像的影像資料。已壓縮及視需要無壓縮的影像資料可透過任何適當方式獲取,且可自遠端來源(如用於進行影像壓縮的電子處理裝置)獲取,或由資料儲存所等來源提供。
接著,於步驟130,將壓縮後的影像資料解壓縮,解壓縮時分別使用各別的解壓縮方案,且視需要搭配任何無壓縮的影像資料,以形成一無壓縮數位內容串流,並可於必要時接著顯示該內容串流。
因此,上述方法提供了一種壓縮及解壓縮機制,可針對視訊內容串流內由n 幅影像形成的序列進行壓縮及後續解壓縮,該方法針對至少一些影像使用不同的壓縮/解壓縮方案,並視需要將一些無壓縮、被極少壓縮或被無失真壓縮的影像編碼。
在此情形下,實施影像壓縮通常是為了將所生成資料的大小降至最低,例如因此可利用較少儲存空間儲存資料,或可於低頻寬下傳輸資料。然而,影像壓縮可能導致影像資訊流失,因而導致影像品質降低及/或產生壓縮失真(compression artefact),如振鈴現象(ringing)、輪廓效應(contouring)、色調分離(posterizing)、階梯式雜訊(staircase noise)、混疊(aliasing)、方格(blockiness)等失真現象。
一般的視訊壓縮方案會同時針對多個影格進行壓縮。舉例而言,會透過時間上的冗餘資料確認接續影格之間的高度相似性,因此便能利用如MPEG-4等壓縮方案,僅針對接續影格之間的差異進行編碼,且使用移動估計法(motion estimation)判斷影格之間的差異。所述方法有助於讓可實現的壓縮程度提高,同時將壓縮失真情形降到最低。然而,若要使上述方案發揮最大功效,則有必要在壓縮開始前確認多個影像影格的內容。如此一來,這通常不適用數位實境方案,因為數位實境方案要求低延遲,壓縮每一影格的時間越短越好;換言之,影格只要一生成、且在接續影格生成前就會被大致壓縮,意即難以利用時間上的冗餘資料確認影格內容。
相反地,上述方法會針對該序列內的不同影像使用不同的壓縮手段。舉例而言,壓縮手段包括壓縮由五幅影像形成的序列,過程中,使用無失真壓縮方案壓縮第一幅影像,再使用四種破壞性壓縮方案壓縮後四幅影像,如使用變動長度編碼(run-length encoding)、色彩空間縮減(colour space reduction)、色彩抽樣(chroma subsampling)、轉換編碼(transform coding)、分形壓縮(fractal compression)等破壞性壓縮方案。
一般而言,不同的壓縮方案會帶來不同的影像品質,壓縮失真程度通常不一;換言之,壓縮失真通常只會出現在序列內的一或兩幅影像中。由於每幅影像被瀏覽的時間相當短(如僅0.04秒或更短),觀看者因此不易發現影像出現失真。另外,由於人類觀看視訊內容時習慣一次瀏覽多個影格,對觀看解壓縮內容的人而言,注意力會放在影像序列的整體品質上,而非關注個別影像是否出現品質降低情形。換言之,只要序列內一些影像的品質足夠,使用者一般不會發現整體品質已經降低;如果壓縮失真僅發生於一些影像中,使用者也不會發現這些失真現象。此外,可將影格混合以進一步減少影像失真情形,譬如使某頻率下的像素晃動情形減少。
因此,使用不同壓縮演算法針對一影像序列(如多個視訊及電腦圖形影格)進行壓縮,可用於獲取高壓縮程度,而相對其他方法而言,此方法可使觀看者較不易發現品質有所降低。此方法確保類似失真情形不會出現在多幅連續影像當中,因此能大幅減少壓縮失真帶來的影響,同時大幅降低失真情形被注意到的機會。此外,此方法能使數位內容串流內的每個影格個別被壓縮,因此尤其適用於包含低延遲需求的應用程式,如數位實境應用程式。
以下說明其他進一步的特徵。
在一示例中,該方法包括壓縮由n 幅影像形成的序列,進行壓縮時,使用由多個壓縮方案形成的序列,或者視需要使用同一壓縮方案序列,來壓縮由n 幅影像形成的多個序列。使用已定義的壓縮方案序列有助於進行解壓縮,如僅須辨識序列內第一幅影像的內容,使電子處理裝置能自動判定用於其他影像的解壓縮方案。此外,該等壓縮方案有助於使觀看者更不易發現影像品質降低的情形,藉由例如將極少壓縮的影像散置於已高度壓縮的影像之間,或確保彼此接續的壓縮方案不會造成類似的壓縮失真現象。
然而應可理解,此方法並非必要,且可替代地自複數個壓縮方案中擇一來壓縮每一幅影像,並使用已選擇的壓縮方案來壓縮影像資料,以生成壓縮後的影像資料。
在本示例中,可基於諸多因素選擇壓縮方案,因素包括但不限於針對n 幅影像序列中的相鄰影像所實施的壓縮方案;希望縮程度;用於傳輸已壓縮影像資料之通訊連結頻寬;用於傳輸已壓縮影像資料之通訊連結服務的傳輸品質;顯示裝置的移動情形;顯示裝置的預測移動情形;多幅影像顯示需求;顯示解析度設定目標;所處理的通道;一或多幅影像當中的像素陣列位置;一或多個影像當中的像素陣列之於該一或多個影像的觀看者其注視點的相對位置;及錯誤指標等。藉此可選擇一或多個壓縮方案,以確保壓縮程度已足夠,同時維持該數位內容串流的整體品質。
應可理解,可使用類似方式選擇一適當解壓縮方案。在此情形下,所使用的解壓縮方案通常對應於用來生成壓縮後影像資料的壓縮方案,藉此確保壓縮後的影像資料能被精確解壓縮。為確保此一情形會發生,會藉由同樣的選擇程序選擇解壓縮方案,以使解壓縮方案對應於用來壓縮影像的壓縮方案。在此情形下,若選擇程序涉及同一些因素,就會產生同樣的選擇結果。然而在另一示例中,指示壓縮方案的編碼代碼可於壓縮程序進行期間決定,並與壓縮後的影像資料相關聯,以便使用相關聯的解壓縮方案對壓縮後影像資料進行後續解壓縮。藉此,可交由接收壓縮後影像資料的處理裝置決定編碼代碼,並藉此選定與壓縮方案相關聯的解壓縮方案。
一般會選擇不同的壓縮方案,以使至少兩種不同的壓縮方案提供不同的壓縮程度,不過此方式並非必要。在更一般的情形下,會使用不同的壓縮方案分別壓縮該n 幅影像的每一者,各壓縮方案視需要提供不同的壓縮程度。同樣地,此方式並非必要,且n 幅影像序列內的至少兩幅可藉由一共同壓縮方案被壓縮。無論如何,該n 幅影像中至少一者被壓縮時,通常會使用與相鄰影像不同的壓縮方案,有助於確保影像失真(image artefacts)情形不會出現在多幅連續影像當中。該等壓縮方案可包括無失真或破壞性壓縮方案,較佳地,至少使用一無失真壓縮方案,或至少使用一幅無壓縮影像,以盡可能提升整串影像序列呈現出的影像品質。在又另一示例中,該n 幅影像中至少一者被捨棄以降低影格速率,其中,可在進行壓縮期間複製前一幅影像以回復影格速率,同時減少傳輸資料量。
舉例而言,當使用者頭部快速移動時,則需要提高畫面更新率(影格速率)以使視訊影像維持在低殘影的理想狀態。不過由於使用者移動頭部時,眼睛無法捕捉同樣多的影像細節,因此可以使影像的壓縮程度提高。反之,當使用者頭部處於靜止狀態或移動速度相當緩慢時,眼睛會捕捉到更多影像細節,因此理想狀態為使影像維持低度壓縮,不過由於使用者移動幅度不大,使得高影格速率非影像必要條件,可予以降低。因此應可理解,在本示例中,每一影格的壓縮程度和影格的省略程度可能此消彼長:當頭戴裝置處於移動狀態,可保留原始影格(影像)且使整體影像被高度壓縮,而當頭戴裝置相對靜止時,可省略一些影格(影像),並使保留的影格處於低度壓縮狀態,以維持較佳的影像品質。
在一示例中,可於PID控制器(PID controller)迴圈中套用慣性預測演算法(inertial prediction algorithm),以預測頭部未來的慣性運動。舉例而言,基於物理限制,不同頸部肌肉的加速與減速方式互有差異,並分別決定使用者以臀部及/或腳掌為支點轉動身體時的運動範圍。此外,可基於被呈現的內容預測可能的移動程度。無論如何應可理解,預測可能出現的移動情形此一方式,可用於控制被用來壓縮影像的壓縮方案,具體而言,當移動情形呈現動態變化時,此方式可用於控制壓縮程度變化及被丟失(dropped)/保留影格中的變化,以穩定達成希望的壓縮程度及視覺體驗。
n 幅影像序列的n 值可隨較佳實施方式而變。但在一示例中,n 值大於2、介於2和5之間、介於2和10之間、介於4和25之間,或小於25。調整n 值可確保無壓縮影像或無失真的已壓縮影像每秒會顯示一或多次,有助於維持可感知內容的品質。然而,n 值可替代性地基於現有壓縮方案之數量,藉此使影像序列中被複製的壓縮方案數量減少。
在一示例中,該方法包括:針對該n 幅影像的下一幅,獲取下一幅影像資料;壓縮該下一幅影像資料;及對該序列中n 幅影像的每一幅反覆實施以上步驟,以及視需要針對多個序列的每一者。在本示例中,依序壓縮每一幅影像的影像資料,這種做法尤其能滿足低延遲的需求。一般而言,會使用一類似方法進行解壓縮,其步驟包含針對該n 幅影像的下一幅,獲取下一幅壓縮影像資料;解壓縮該下一幅影像資料;及對後續影像反覆實施以上步驟。然而此方法並非必要,且可改為獲取多幅影像,再予以壓縮。可藉此使時間上的冗餘資訊被當成一或多個壓縮技術使用,進一步提高可實現的壓縮程度。
應可理解,所述技術可透過多個壓縮方案實施,底下將詳細說明相關示例。
在一示例中,該壓縮方案實施注視點壓縮,其中,影像基於使用者正在觀看或期待觀看的影像部分被差別式壓縮(differentially compressed)。在本示例中,該方法包括由該影像資料獲取像素資料,該像素資料代表該一或多幅影像當中的像素陣列;及決定該一或多幅影像中相對於一已定義位置的像素陣列位置,該已定義位置部分指示該觀看者的注視點。該已定義位置可基於一經實際量測的注視點,或一被預期或預測的使用者注視點,決定該注視點的方式例如假定使用者正在注視影像的大略中心;或可基於內容本身,如影像內的焦點、頭戴裝置的移動等。另外,該已定義點可偏離該注視點,譬如將該已定義點稍微置於該注視點下方,此方式係考量以下事實:一般人通常會將注意力稍微放在注視點下方,以避免行走時與障礙物相撞。接著壓縮該像素資料,至少部分根據該已決定位置,以使壓縮程度取決於該已決定的像素陣列位置。
應可理解,亦可執行一解壓縮程序,其中包括獲取壓縮後的影像資料,該壓縮後影像資料代表該一或多幅影像內的像素陣列,且至少部分基於該像素陣列在該一或多幅影像中相對於一已定義位置的位置被壓縮,該已定義位置至少部分指示使用者的一注視點;及包括對該壓縮後的影像資料進行解壓縮,至少部分根據該已決定位置。
因此,此方式可提供對影像進行壓縮並解壓縮的機制,壓縮過程係基於一像素陣列的位置被控制,該位置相對於一已定義點,且至少部分基於經預測或測得的使用者注視點。具體而言,此方式可允許一壓縮程度基於該像素陣列的位置被選擇,使得注視點周圍區域的壓縮程度較小,而離注視點越遠處的壓縮程度越大,如使用者周邊視野內的壓縮程度。此方式可確實提供注視點壓縮,透過增加使用者周邊視野(此處影像的品質減少時,較不易被察覺)的壓縮程度的方式,使整體壓縮程度變大,品質亦無明顯流失。
該壓縮程度可基於與該已定義點之間的距離,如離該注視點越遠處壓縮程度越大,但亦可基於相對於該已定義點的方向,以使壓縮程度相較於該定義點處更高或更低。應可理解,此方式可使不同形狀的區域分別具備各別的壓縮程度,各區域的位置皆相對於該注視點,此方式可視個別情形及/或被壓縮的內容性質而配置。舉例而言,此方式使該已定義點周遭的橢圓形、卵形或心形區域具備的壓縮程度較邊緣區域更小,如此一來,在容易讓使用者察覺壓縮失真情形的區域內,影像品質即可大幅度提升。
在一示例中,壓縮方案壓縮影像資料的方式,係藉由對像素資料實施轉換以決定一頻率係數集合,該等頻率係數指示了像素陣列的頻率分量;該壓縮方案並使用一位元編碼方案,選擇性編碼至少一部分該等頻率係數,藉此產生一已編碼頻率係數集合,並使用該等已編碼頻率係數,產生壓縮過的影像資料。
在此示例中,所述位元編碼方案可定義編碼每一頻率係數所使用的位元數,使得至少有一些已編碼頻率係數具有不同位元數。執行此程序的目的通常在於減少用來編碼頻率係數的位元數,藉此將編碼頻率係數所需的位元數減到最少。所述程序可包含以零位元編碼一些頻率係數,藉此在編碼步驟中有效捨棄部分頻率係數。
較高的頻率分量通常使用較少的位元數,因為這類頻率分量的幅度較小且對應到影像中的劇烈轉變,表示其對於整體影像品質的貢獻度較少。如此一來,可使用較少的位元數對較高頻率分量係數進行編碼,或甚至捨棄一些較高頻率分量係數,而不會明顯影響使用者所感知到的影像品質,同時也能減少編碼頻率係數所需的整體位元數。
值得注意的是,上述方法與例如霍夫曼編碼(Huffman encoding)的代碼替換技術截然不同,該技術是以較短的代碼取代各個值。然而在上述示例中,仍然會對各個值進行編碼,但會使用符合各個值預期幅度的適當位元數,因此,若預期頻率係數的值不會超過7,則可能編碼為一3個位元的字組,因此若值為6則可編碼為「110」,而非使用預設的8個位元字組「00000110」。相反的,若預期的頻率係數值可達63,則可使用一6個位元的字組,因此舉例而言,若值為20則可編碼為「010100」。在某個值超出了可用位元數量的情形下,則可使用所定義的最大位元數量編碼,但如此也會造成壓縮過的影像資料失真。
因此,所述位元編碼方案利用頻率係數值預期大小之相關資訊,藉以定義所應使用的位元數。一個較為保守型的位元編碼方案會使用較多的位元數,其結果將會減少壓縮量,但得到較高的解析度;相較之下,一個較為積極型的位元編碼方案會使用較少的位元數,因此提供更大的壓縮量,但也會換來較低的解析度。
無論如何,所述位元編碼方案能夠定義編碼各頻率係數時所使用的位元數量,因此同一方案也能夠用來對壓縮過的影像資料進行解壓縮,而能執行精確的解壓縮,同時所使用的該位元編碼方案亦能夠經由配置,而針對當前情況進行最佳化壓縮。
在一示例中,所述方法包括從複數個位元編碼方案選擇其中一個,並根據所選的該位元編碼方案對頻率係數進行編碼。就此而言,應可理解所述方法實際上可提供不同的壓縮方案,每一壓縮方案運用相同的基本方法,但使用不同的位元編碼方案。
位元編碼方案的選擇,可至少部分取決於希望的壓縮程度及/或像素陣列的位置。此亦取決於其他因素,例如像素陣列位置、用於傳輸已壓縮影像資料之通訊連結頻寬、用於傳輸已壓縮影像資料之通訊連結服務的傳輸品質、顯示裝置的移動情形、影像顯示需求、目標的顯示解析度、所處理的通道、錯誤指標等等。如此將能夠動態調整壓縮,有助於使壓縮最佳化並針對當前情況獲得可能的最佳影像品質。
例如,在顯示裝置會進行移動的情形中,來自一頭部追蹤系統的反饋可被提供給編碼演算法,使得該編碼演算法能夠基於頭部加速度資訊選擇壓縮方案,並且使得壓縮演算法能夠針對影格速率及壓縮量兩者皆進行動態調整。所述移動反饋資料可從一頭戴式顯示器(HMD)的慣性量測單元(IMU)或從一次要單元(例如其為一解碼器或另一系統的形成構件)讀取。
在一示例中,頻率分量被安排成複數個階層,其中每一位元編碼方案會針對該複數個階層中的各個階層,分別定義用以編碼頻率分量的位元數。具體而言,若陣列為一個N xN 的像素陣列時,則會有2N -1個階層的頻率分量,而每一階層的分量會用各別的位元數加以編碼。
在一示例中,所述方法包括對至少部分頻率係數套用縮放係數,使得縮放過的頻率係數能夠被編碼。就此而言,使用縮放來降低頻率係數的幅度,藉此讓該等頻率係數能夠使用較少的位元數進行編碼。類似的縮放係數亦可在執行解壓縮時運用,藉此讓各別頻率分量縮放至原本的幅度。在此過程中通常會使用四捨五入法,使得縮放過的頻率分量為一整數值,或具有數量有限的有效數字,藉此將用來編碼該等係數的位元數減到最少。應理解的是,這麼做將會造成重新建立的頻率分量精確度降低,但其對影像品質造成的影響是可忽略的。
在使用縮放係數時,可將相同的縮放係數分別套用到每一頻率係數。此作法特別有其優勢,因為能夠減少執行縮放時的電腦運算負擔。詳細而言,此作法允許單一縮放係數從記憶體(例如一暫存器)中被讀取,或允許在邏輯配置之中硬編碼(hard coded)該縮放係數,藉此使得縮放頻率係數的程序能夠更快速執行。然而上述作法並非必要,亦可對不同的頻率係數套用不同的縮放係數,例如對頻率較高的頻率係數套用較大的縮放比例。
所執行的轉換通常為一頻率轉換,例如傅立葉轉換或類似者,在一示例中為二維離散餘弦轉換(2D DCT)。所述轉換可以任何適當方式實施,例如使用已知的轉換技術,然而在一示例中係以高度平行方式執行,因此可減少處理時間。
在一示例中,影像資料定義複數個通道,而所述方法包括選擇性編碼每一通道。藉由對不同的通道分別進行編碼,將允許該等通道使用不同的方式編碼,例如使用不同的位元編碼方案,或如先前所述的壓縮方案,可捨棄不同的頻率係數。此外,分別壓縮各通道將使得各通道的壓縮可被平行處理,如此將有助於大幅減少壓縮執行時間,因此可減少延遲。
在一示例中,像素資料定義RGB通道,而所述方法包括將該等RGB通道轉換成亮度(luminance)與色度(chrominance)通道YCbCr,並對該等YCbCr通道執行轉換。就此而言,人眼對於亮度與色度通道感知程度不同,因而可以對色度通道執行較大程度的壓縮,故相較於亮度通道來說,色度通道的品質會有所減損,但不會對人眼感知到的品質造成減損。因此在一示例中,所述方法可包含選擇性對Y通道編碼比Cb或Cr通道更多的頻率係數,且同樣地,可包含選擇性對Y通道使用比Cb或Cr通道更多的位元數來編碼頻率係數。
在又一示例中,像素資料定義RGB通道,而所述方法可包括將該等RGB通道轉換成YCbCr通道,並藉由壓縮CbCr通道以及使用Y通道來產生壓縮後影像資料。因此,Y通道實際上未經過壓縮,表示亮度通道內所包含的全部資訊均得以被保留。此方法在一些情形下會特別有用,例如當編碼像素陣列顯示出色彩漸層(gradient)時,此方法將有助於保留色彩變化,因此可增強影像品質,同時僅造成壓縮程度略為降低。
如前所述,可針對不同通道平行執行壓縮。此外,各通道頻率係數的編碼亦可平行處理。在此情形下,產生壓縮後影像資料的方法通常包含執行平行轉序列的位元組編碼,以使頻率係數可被序列化成為一位元組流(byte stream),而可對其執行位元組編碼。
在一示例中,壓縮方案包含緩衝影像資料以獲得像素資料,此一程序包含:緩衝對應於接下來m-1 列像素的影像資料,緩衝下一列像素中接下來m 個像素的影像資料,從緩衝後的影像資料中獲得接下來m xm 像素塊的像素資料,並重複上述程序,直到獲得所有m 列像素的像素資料,並持續重複直到獲得影像中所有像素列的像素資料。
m 的值可用以定義壓縮程度,並可基於所選的壓縮方案、所選的位元編碼方案、希望的壓縮程度及/或像素陣列的位置選擇該值。
類似方法亦可用於將壓縮後的影像資料解壓縮。
舉例而言,解壓縮方案可包含獲得壓縮後的影像資料,該壓縮後的影像資料代表一或多幅影像中的一像素陣列,且其至少部分基於該像素陣列在該一或多幅影像中相對於一已定義位置的位置被壓縮,該已定義位置至少部分指示使用者的一注視點,以及至少部分依據已決定位置對該壓縮後的影像資料進行解壓縮。
前述已定義位置可以是經測量的使用者注視點、預期的使用者注視點、經測量的使用者注視點偏移、預期的使用者注視點偏移,並且該已定義位置係至少部分依據視線資料所決定,該視線資料指示了使用者注視點並且係獲取自一視線追蹤系統。解壓縮程度可根據與已定義點的距離、與已定義點的相對方向決定,可從已定義點隨距離增加並提供注視點壓縮。
所述解壓縮方案可依據一位元編碼方案(其定義各個已編碼頻率係數所使用的位元數),從壓縮後的影像資料中決定一已編碼頻率係數集合,並依據該位元編碼方案,對該等已編碼頻率係數執行位元解碼,以產生一頻率係數集合,其中係產生至少一頻率係數,以使前述已編碼頻率係數集合小於該頻率係數集合,並對該頻率係數集合執行逆轉換,以決定一或多幅影像中的一像素陣列所代表的像素資料。
在本示例中,該位元編碼方案同樣定義了編碼每一頻率係數所使用的位元數,該位元編碼方案使用較少的位元數來編碼對應於較高頻率的頻率係數,其中所述方法包括產生至少部分頻率係數對應於較高的頻率。
該位元編碼方案可從複數個位元編碼方案之中選擇出,而所述複數個位元編碼方案係以各自不同的位元數,選擇性編碼不同的頻率係數,以提供不同程度的壓縮/解壓縮。該位元編碼方案的選擇通常係基於一代碼、用以產生壓縮後影像資料的位元編碼方案、或像素陣列位置。
亦可對至少部分頻率係數套用縮放係數,使得縮放過的已編碼頻率係數得以被解碼,其中縮放係數係用以增加每一頻率係數的幅度,並且可對至少部分已編碼頻率係數套用不同的縮放係數,或對每一已編碼頻率係數套用同一縮放係數,或在不同的通道中對已編碼頻率係數套用不同的縮放係數。
於此情形,所執行的逆轉換通常為二維離散餘弦逆轉換,然而亦可根據偏好的實施方式使用其他適當的轉換法。
壓縮後的影像資料通常包含複數個通道,其中所述方法包含選擇性解壓縮各通道。在一示例中,壓縮後的影像資料定義了YCbCr通道,其中所述方法包含對該等YCbCr通道執行逆轉換,並將轉換後的YCbCr通道轉換成RGB通道。在上述程序中,Cb或Cr通道比起Y通道可能被更大程度地解壓縮,或視需要使Y通道保持無壓縮狀態,並且所有通道可被平行處理。
解壓縮後的資料亦可經進一步處理,例如使用去方塊效應濾波器(deblocking filter)處理,當使用方塊編碼技術或類似方法時,利用去方塊效應濾波器將可使巨方塊(macroblock)之間可能形成的尖銳邊緣變得平滑。如此也能夠提高壓縮程度,但又能避免影像品質受到對應減損。
另外,解壓縮後的資料可經過處理,以抵銷傳輸漏失等等造成的影響。例如前一影格的資料緩衝過後,可能歷經傳輸過程後而在下一影格再次顯示時損壞。處理方法可包含替換整個影格,或在個別像素塊損壞時,僅替換個別像素塊。
所述技術可用於傳輸數位實境內容,包含擴增實境、虛擬實境、混合實境、遠端臨場等的一或多種內容。所述技術可包括經由一有線連接、通訊網路及/或一無線通訊連結,從一運算裝置傳輸影像資料到一數位實境頭戴裝置。所述技術可包括以無線方式,從一電腦或類似裝置傳輸壓縮後的影像,或者可包括從一雲端運算環境傳輸壓縮後的影像到一本地裝置(例如搭載頭戴式裝置的智慧型手機),使得影像的產生可利用雲端運算執行。適用的連接方式示例包括gigabit級的硬體線路網路、串流傳輸至行動電話(例如經由3G、4G或5G等行動通訊網路)、經由有線連接傳輸至一繫繩型頭戴式顯示器(tethered HMD),或經由無線連接傳輸至一無繫繩型頭戴式顯示器。應可理解所述方法可使延遲最小化,因此十分適合用於從即時攝影機(例如空拍機等)傳輸影像。
在一示例中,所述裝置包含一編碼器及一解碼器,兩者進行無線通訊,使得影像資料可以在該編碼器與該解碼器之間,以壓縮後的影像資料形式進行傳輸。在一特定示例中,可利用所述裝置來提供一穿戴式顯示裝置(例如頭戴式顯示器)與一處理系統之間的無線通訊。以下將參考第二A圖說明一示例。
在本示例中,一處理系統210(例如經過適當程式化的電腦系統、遊戲機等)用於產生內容,以顯示於一頭戴式顯示裝置240上。為完成上述程序,處理系統210通常自該頭戴式顯示裝置接收與該裝置姿勢有關的感測器資料,並視需要自一或多個不同的控制器250接收輸入資料。處理系統210接著基於上述感測器及/或輸入資料產生內容,該內容通常為視訊資料形式,其可從一視訊卡等輸出。該視訊資料會被傳輸至一編碼器220,其藉由壓縮影像資料編碼該視訊資料,接著再經由一無線通訊連結260,將壓縮後影像資料傳輸至解碼器230。解碼器230解碼該壓縮後影像資料,並將解碼後的視訊資料提供給該頭戴式顯示裝置顯示。
應可理解的是,上述配置可使得既有的電腦系統、遊戲機等設備(210),能夠經由無線通訊260與頭戴式顯示裝置240連接,因此在處理系統210與頭戴式顯示裝置240之間將不需要有線連接方式。如此一來,舉例而言,使用者可穿戴一頭戴式顯示裝置及關聯的解碼器,並將編碼器與使用者的電腦系統或遊戲機連接,而達成一無線連接的頭戴式顯示裝置安排。
然而上述配置並非必要,亦可將上述處理系統210與頭戴式顯示裝置240配置為包含整合式編碼器及解碼器硬體的設備,使該等元件可經由一直接的無線連接260進行通訊,如第二B圖所示。
以下將參考第三圖,詳細說明一硬體配置示例。
本示例將說明硬體編碼器與解碼器分開的配置情形,但應理解此配置方式並非必要,且示例中說明的技術亦可用於整合式硬體的配置情形。此外,雖然示例說明係有關虛擬實境應用,同樣地,其並非必要條件,示例中說明的技術可用於任何影像資料構成部分欲傳輸內容串流之情形,特別是可用於以有限頻寬傳輸內容串流時,以示例技術仍能維持可接受的影像品質與延遲,例如用於虛擬實境、擴增實境、混合實境或遠端臨場等應用。
在本示例中,裝置300同樣包含一處理系統310、一編碼器320、一解碼器330及一顯示裝置340(為頭戴式或類似形式)。以下將逐一詳述該等元件。
本示例中,處理系統310包含至少一微處理器311、一記憶體312、一選擇性的輸入/輸出裝置313(例如鍵盤及/或顯示器),以及一外接介面314,如圖所示,上述元件經由一匯流排315互相連接。在本示例中,可利用外接介面314來連接處理系統310與周邊設備,例如通訊網路、儲存裝置、周邊裝置等等。圖中僅示出單一外接介面314,然而此僅為便於說明示例,實際操作上可包含多個使用不同方法(例如乙太網路、串列埠、USB、無線連接等等)的介面。在本示例中,該外接介面包含至少一資料連接介面(例如USB)以及一視訊連接介面(例如DisplayPort、HDMI、Thunderbolt等等)。
使用時,微處理器311將會執行指令,使得所需程序能夠被執行,指令是以應用程式軟體的形式儲存於記憶體312之中。應用程式軟體可包含一或多個軟體模組,並可於適當的執行環境中予以執行,例如作業系統環境等。
基於上述說明,應可理解處理系統310可以由任何適當的處理系統構成,例如經過適當程式化的個人電腦等。在一特定示例中,處理系統310為一標準處理系統,例如基於英特爾架構的處理系統,其執行儲存在永久性(例如硬碟)儲存器(但並非必需)之中的軟體應用程式。然而應可理解該處理系統亦可以是任何電子處理裝置,例如微處理器、微晶片處理器、邏輯閘配置、視需要與實作邏輯關聯的韌體,例如現場可程式閘陣列(FPGA)、特定應用積體電路(ASIC)、圖形處理器(GPU),或其他任何電子裝置、系統或配置。
此外,雖然所示的處理系統310為一整體,應可理解在實際操作上,處理系統310可由多個實體裝置構成,該等實體裝置可視需要分散在多個不同的地理位置,例如作為一雲端環境的部分組件。
編碼器320通常包含一編碼器輸入緩衝器321,其與一編碼器處理裝置322、一編碼器輸出緩衝器323以及一收發器324耦接。編碼器320另可包含一資料緩衝器325,其與收發器324耦接。
使用時,接收影像資料(在一特定示例中為視訊資料),並在傳送給編碼器處理裝置322進行壓縮之前,先將該影像資料暫時儲存於輸入緩衝器321。就此步驟而言,所述編碼器輸入緩衝器通常先緩衝影像當中接下來m -1 列像素所對應的影像資料,繼而再緩衝下一列像素當中接下來的m 個像素。如此一來,編碼器處理裝置322將能夠從已緩衝的影像資料中,獲取接下來m xm 像素塊的像素資料,並開始編碼。然而應可理解上述緩衝方案並非必要,亦可採用其他適合的緩衝方案,包括在編碼接續影格之間的差異時,緩衝先前多個影格。
上述程序一旦完成後,接下來的m 個像素會被緩衝處理,且重複此步驟直到第一批m 列像素的所有像素資料都被獲取並進行編碼。此程序會重複對同一影像當中的其餘像素列執行,直到獲取整幅影像的所有像素資料,在此時點,下一幅影像也以類似方式開始進行處理。因此依上述方式執行後,編碼器輸入緩衝器始終不需要儲存超過m -1個完整列以及下一列m 個像素的影像資料,也就可以降低記憶體需求。此外,在獲取像素資料後,即使接下來m 個像素的影像資料尚未完成緩衝,都可使用該編碼程序立即處理像素資料。如此將大幅減少處理時間,並有助於將整體延遲情形減至最少。
所獲得的已壓縮影像資料接著被儲存在編碼器輸出緩衝器323之中,例如藉由順序讀入已編碼位元,藉此執行平行轉序列(parallel to serial)的位元組編碼,完成後再經由收發器324傳輸到解碼器330。收發器324亦可用於傳輸其他資料,例如透過編碼器資料緩衝器325從頭戴式顯示器340接收的感測器資料。
緩衝器321、323、325可以是任何適當形式的暫存器,視偏好的實施方式而定,在一示例中可包含高效能的FIFO(先進先出)場儲存晶片等。輸入緩衝器通常連接於一HDMI端口、顯示埠輸出或其他適當的視訊源,而資料緩衝器335則連接於一USB端口,因此兩者可同樣連接到電腦系統。
收發器324可以採任何適當形式,但在一示例中,其能夠使編碼器與解碼器之間建立短距離無線電通訊360,例如經由點對點的WiFiTM 直接連接、60 GHz無線傳輸技術等。
處理裝置322可以是任何能夠執行壓縮程序(包括本文所述壓縮程序)的裝置。處理器322可包含一通用的處理裝置,其依據儲存在記憶體中的軟體指令運作。然而在一示例中,為了確保適當的快速壓縮時間,該處理裝置包含了客製硬體,其經過配置以執行壓縮程序。該處理裝置可包含視需要與實作邏輯關聯的韌體,例如現場可程式閘陣列(FPGA)、圖形處理器(GPU)、特定應用積體電路(ASIC)、數位訊號處理器(DSP),或其他任何電子裝置、系統或配置。在一較佳示例中,編碼器處理裝置322經過配置,可就各獨立通道執行平行處理,例如可包含對每一通道的個別頻率係數執行平行編碼。此外,雖然示例中僅使用單一個編碼器處理裝置322,實際操作上可使用多個編碼器處理裝置322,分別對每一通道執行平行編碼,或是替代地使用GPU或其他類似的平行處理架構。若是有一個通道(例如Y通道)未被編碼,則該編碼器處理裝置可能在傳送各別資料到編碼器輸出緩衝器323時逕採延遲手段,以確保仍能與已編碼的CbCr通道同步。
解碼器330通常包含一收發器334,其與一解碼器輸入緩衝器331耦接,而解碼器輸入緩衝器331同時又與一解碼器處理裝置332及一解碼器輸出緩衝器333耦接。解碼器330可另包含一資料緩衝器335,其與收發器334耦接。
使用時,經由收發器334從編碼器320接收已壓縮影像資料,並將其暫存於輸入緩衝器331,之後再將該資料轉送至解碼器處理裝置332進行解壓縮。解壓縮後的影像資料接著會被儲存至解碼器輸出緩衝器333,之後再被傳輸到顯示裝置340。收發器324亦可用於傳輸其他資料,例如透過解碼器資料緩衝器335從顯示裝置340接收到的感測器資料。
緩衝器331、333、335可以是任何適當形式的暫存器,視偏好的實施方式而定,在一示例中可包含高效能的FIFO(先進先出)場儲存晶片等。輸出緩衝器通常連接於一HDMI端口,而資料緩衝器335則連接於一USB端口,因此兩者可同樣連接到顯示裝置。
收發器334可以採任何適當形式,但在一示例中,其能夠使編碼器與解碼器之間建立短距離無線電通訊360,例如經由點對點的WiFiTM 直接連接、60 GHz無線傳輸技術等。
處理裝置332可包含一通用的處理裝置,其依據儲存在記憶體中的軟體指令運作。然而在一示例中,為了確保適當的快速解壓縮時間,該處理裝置包含了客製硬體,其經過配置以執行解壓縮程序。該處理裝置可包含視需要與實作邏輯關聯的韌體,例如現場可程式閘陣列(FPGA)、圖形處理器(GPU)、特定應用積體電路(ASIC),或其他任何電子裝置、系統或配置。在一較佳示例中,解碼器處理裝置332經過配置,可就各獨立通道執行平行解壓縮,例如可包含對個別頻率係數執行平行編碼。同樣地,雖然示例中僅使用單一個解碼器處理裝置332,實際操作上可使用多個解碼器處理裝置332,分別對每一通道執行平行編碼,或是替代地使用GPU或其他類似的平行處理架構。若是有一個通道(例如Y通道)未被編碼,則該解碼器處理裝置可能在傳送各別資料到解碼器輸出緩衝器333時逕採延遲手段,以確保仍能與CbCr通道同步。
顯示裝置340包含至少一微處理器341、一記憶體342、一選擇性的輸入/輸出裝置343(例如鍵盤或輸入按鍵)、一或多個感測器344、一顯示器345,以及一外接介面346,如圖所示,上述元件經由一匯流排347互相連接。
顯示裝置340的形式可以是一頭戴式顯示器,因此所屬技術領域中具通常知識者應可理解,顯示裝置340係設置在適當的殼體內以供使用者穿戴,並包含相關鏡片,供使用者透過鏡片觀看顯示器。
在本示例中,外接介面346用於透過一有線連接,將所述顯示裝置以一般方式連接到處理系統310。圖中僅示出單一外接介面346,然而此僅為便於說明示例,實際操作上可包含多個使用不同方法(例如乙太網路、串列埠、USB、無線連接等等)的介面。在本示例中,該外接介面包含至少一資料連接介面(例如USB)以及一視訊連接介面(例如DisplayPort、HDMI、Thunderbolt等等)。
使用時,微處理器341會執行指令,使得所需程序能夠被執行,指令是以應用程式軟體的形式儲存於記憶體342之中。應用程式軟體可包含一或多個軟體模組,並可於適當的執行環境中予以執行,例如作業系統環境等。基於上述,應可理解該處理系統亦可以是任何電子處理裝置,例如微處理器、微晶片處理器、邏輯閘配置、視需要與實作邏輯關聯的韌體,例如現場可程式閘陣列(FPGA)、圖形處理器(GPU)、特定應用積體電路(ASIC),或其他任何電子裝置、系統或配置。
感測器344通常用於感測顯示裝置340的方向及/或位置,並可包含慣性感測器、加速度計等。顯示裝置中亦可包含其他感測器(例如光感測器或距離感測器),用以確定該顯示裝置目前是否正由使用者穿戴,或包含眼動追蹤(eye tracking)感測器,用以提供使用者的注視點指示。
在一示例中,該顯示裝置因此可以是一既有的市售顯示裝置,例如HTC ViveTM 、Oculus RiftTM 或 Playstation VRTM 頭戴式裝置,然而應可理解不一定需使用上述裝置,任何合適的配置皆可使用。
以下將進一步詳述影像壓縮/解壓縮流程的運作示例。
為說明本示例,在此假設處理系統310會執行應用程式軟體,而該應用程式軟體會產生顯示於顯示裝置340的內容,該內容係基於感測器資料動態顯示在裝置上,感測器資料來自顯示裝置340上裝載的感測器345或來自其他視需要裝載的感測器(例如手持控制器或位置偵測系統,圖未示),此為所屬技術領域具通常知識者可理解。
處理系統310執行的動作,由處理器311依據儲存在記憶體312的指令(儲存為應用程式軟體形式)、及/或經由輸入/輸出裝置313或其他周邊裝置(圖未示)所接收到的使用者輸入命令予以執行。顯示裝置340執行的動作,由處理器341依據儲存在記憶體342的指令(儲存為應用程式軟體形式)予以執行。
編碼器320及解碼器330如同介於處理系統310與顯示裝置340之間的介面般運作,使得影像資料能夠經歷被壓縮、無線傳輸、解壓縮的流程,最後顯示在顯示裝置340上,同時也使得感測器資料或其他輸入命令資料能夠被回傳至處理系統。編碼器320及解碼器330執行的動作,通常是由各自的處理裝置322、332基於已定義的程式執行,例如以定製硬體配置及/或嵌入式韌體的指令執行。
然而,應可理解上述配置係為執行下文所述示例而設定,並非必要的配置,仍可使用各種不同的配置。例如,編碼器與解碼器的功能可直接內建於處理系統310與顯示裝置340當中。此外,所述壓縮技術也可運用在許多不同的情況,包括在一或多個電腦系統上壓縮及解壓縮影像流,即使不需用到另外的顯示裝置亦可。然而,上述配置特別有利於虛擬實境、擴增實境、混合實境或遠端臨場等應用。
以下將參考第四A及四B圖,進一步說明一壓縮/解壓縮流程示例。
在本示例中,於步驟400,編碼器320接收來自處理系統310的影像資料(具體來說是表現一系列影像的視訊資料),並將該影像資料暫時儲存在編碼器輸入緩衝器321之中。
於步驟410,編碼器處理裝置322選擇接下來要執行的壓縮方案,於步驟420選擇性決定一代碼,該代碼與所選擇壓縮方案關聯。壓縮方案的選擇會根據偏好的實施方式而有不同結果,可包含從一系列已定義的壓縮方案中選擇接下來的方案,或可基於一些考量因素選擇,例如欲達成的整體壓縮程度、延遲需求、影像內容之性質等等。
接著,於步驟430,由編碼器處理裝置322壓縮該影像資料,並視需要將影像資料與前述代碼結合,接下來於步驟440,將影像資料傳送到解碼器330。具體而言,已壓縮影像資料通常會被儲存在輸出緩衝器323,直到達成足夠的資料量,此時將會建立一資料封包,並由收發器324將該封包傳送給編碼器。上述程序會重複執行,直到內容串流的所有影像均獲得處理,通常會視需要每n 幅影像即循環執行一系列壓縮方案。
於步驟450,解碼器330經由收發器334接收已壓縮影像資料,並將其暫時儲存在輸入緩衝器331之中。於步驟460,解碼器處理裝置332判定與已壓縮影像資料關聯的代碼,據以在步驟470決定一解壓縮方案。接下來於步驟480,解碼器處理裝置332解壓縮該影像資料,並將其儲存在輸出緩衝器333之中,以便於步驟490顯示該影像資料。同樣的,上述程序會重複執行,直到內容串流的所有影像均獲得所需處理。
以下將參考第五A至五D圖,進一步詳述壓縮/解壓縮流程的一具體示例。
在本示例中,於步驟500及502,編碼器320接收來自處理系統310的影像資料(具體來說是表現一系列影像的視訊資料),並將該影像資料暫時儲存在編碼器輸入緩衝器321之中。該影像資料會被加以分析,例如藉由剖析(parse)該資料,識別其中對標頭(header)進行定界的旗標,以及識別影像起始處等等,使得在步驟504中,能夠獲取對應於接下來8x8像素塊的影像資料。就此而言,當編碼器緩衝該資料時,編碼器需要從影像中獲得初始8x8的像素塊以開始進行處理程序。因此,在處理程序開始前,編碼器輸入緩衝器321之中聚集了一幅影像的首七列像素,以及第八列像素的首八個像素。在接收到接下來的八個像素後,則可以處理下一個8x8像素塊,並重複此步驟,直到影像中首八列像素的所有像素都被處理完成。接著,以類似方式處理下一批八列像素。
影像資料通常為多通道RGB資料形式,此形式於步驟506會由處理裝置322轉換為YCbCr之亮度與色度通道。此步驟可利用已知的數學座標轉換方法進行,在此不再進一步詳述。
於步驟508,對每一亮度及色度通道執行二維離散餘弦轉換(2D DCT),以將該等通道轉換為頻域。此程序可使用習知技術執行,在一較佳示例中,係由處理裝置322以高度平行方式執行轉換,以減少處理時間。對每一通道執行轉換程序後,將可獲得一8x8矩陣,其具有64個頻率係數,代表各別影像通道中不同頻率分量的幅度(magnitude)。
於步驟510,對每一矩陣套用縮放係數,例如以縮放係數將每一頻率係數切分,以降低每一頻率係數的幅度。縮放係數可以是任何值,且不同通道可能套用不同的縮放係數。在此程序中,經過縮放的頻率係數,通常會以四捨五入法化約為整數或所設定的其他有效數字位數,以減少編碼該等頻率係數所需的資料量。例如,若頻率係數500需要9個位元進行編碼,而頻率係數50僅需6個位元,套用10倍的縮放係數將可減少各頻率係數進行編碼所需的位元數。
應可理解在運用此方法時,值較小的係數可能因四捨五入法被化約為零,例如4縮小為0.4後,因四捨五入其值成為0。雖然如此會導致資訊損失,但此情況通常發生在較高的頻率分量,其對於影像整體呈現的貢獻度較小,因此這類損失造成的影響有限。
套用完縮放係數後,於步驟512決定選擇規則。選擇規則會被用來選擇一些頻率分量,因此在步驟514可以捨棄其他未被選擇的頻率分量。選擇程序通常會基於階層執行,階層則定義為矩陣對角線的階層結構,因此8x8頻域矩陣會包含15個階層,各階層則分別具有1、2、3、4、5、6、7、8、7、6、5、4、3、2、1個係數。
被捨棄的階層通常是較高的頻率分量,如上所述,其對於整體影像呈現的貢獻度較小。選擇規則將基於諸多不同因素來定義哪些階層會被捨棄,根據偏好的實施方式而定。
舉例而言,色度通道對於影像呈現的貢獻通常比亮度通道來得小,因此比起亮度通道,色度通道會有更多的階層被捨棄。例如,就亮度通道Y而言,可保留階層1到8,其對應於36個頻率係數,如第六圖的631所示;然而就色度通道Cb及Cr而言,僅保留階層1到6,其僅對應於21個頻率係數,如第六圖的632與633所示。應可理解的是,上述方法可將全部三個通道需要編碼處理的頻率係數總數,從192個減少到78個。
基於規則來選擇哪些階層會獲得保留,可讓編碼器與解碼器在選擇要保留哪些階層時套用相同的標準,兩者因此可相應地即時執行此程序。此程序亦可基於其他因素選擇保留其他不同的階層,例如基於編碼器與解碼器之間通訊通道的品質及/或頻寬進行選擇。因此,如果因干擾問題使得頻寬縮減,被選取的階層可能減少,而導致較大程度的壓縮。雖然會因此降低影像品質,但在例如VR的許多應用上,降低部分影格的品質比起丟失影格(dropped frames)或增加延遲,更不會被使用者注意到,因此會是一個較佳的作法。
其他的階層選擇因素包括但不限於:顯示裝置移動情形(尤其是移動速率)、影像顯示需求、顯示解析度設定目標、一或多幅影像當中的像素陣列位置,以及一或多幅影像當中的像素陣列之於該一或多幅影像的觀看者其注視點的相對位置。以下將會進一步詳述其他示例。
於步驟516,決定一位元編碼方案,使得在步驟518可使用不同的位元數對於所選的頻率係數進行選擇性編碼。就此步驟而言,如上所述,縮放過的頻率分量可能只需要6個位元即可完全編碼該係數。因此,選擇適當的位元編碼方案後,階層結構的每一階層便能夠以不同的位元數對頻率係數進行編碼。此方法是可行的,因為較高的頻率分量通常幅度較小,因此編碼所需的位元數較少。
在一示例中,用於亮度通道的編碼方案與用於色度通道的不同,如以下表1的示例性編碼方案所示。 表1
表中所示編碼方案對於所述三個通道各通道的前6個階層之編碼示例,請見第六圖。使用該特定的選擇規則與位元編碼方案組合後,其結果是亮度通道641使用了129個位元加以編碼,而色度通道642、643則各自使用了60個位元加以編碼,因此,三個通道的8x8像素陣列一共只用了249個位元(bits)加以編碼。很顯然的,相較於原始未經壓縮的影像資料需要192個位元組(bytes),上述方案代表達成了6倍以上的壓縮。
應可理解,以0位元編碼通道即造成了捨棄該通道的結果,因此該方法可用來選擇已經過編碼的係數,利用編碼規則選擇編碼方案,以達到將步驟512、514與步驟516、518結合。
編碼程序一旦執行完成,於步驟520,藉由執行平行至串列(parallel to serial)的位元組編碼,可將使用位元編碼的頻率分量串接構成一位元流,因此可以32位元組(256個位元)表示。於步驟522,剖析(parse)該等位元組,以便在步驟524中識別相同位元組的子序列。具體而言,此程序是用以識別具有三個以上相同位元組的子序列,其可在步驟526以一代碼取代,而不會造成任何資訊損失。
詳言之,對大部分影像而言,所生成經過編碼的頻率係數中會有包含多個零的字串(strings of zeros),因為縮放過的係數已四捨五入為零。這些字串可以被一代碼取代,而該代碼可被解碼器所識別,因此解碼器能夠再次插入相同位元組的子序列。
代碼可以為任何適當形式,在一示例中,代碼包含識別特定位元組為一代碼的標頭,並包含相同位元組的值和數量之對應資訊。在一較佳配置中,使用布林運算子OR與一列之中(1-8)零的數量組合成一2位元組的代碼。在一示例中,零的數量以N-1表示,因此0-7的數量與2位元組代碼以布林運算子OR組合後,只佔了第二個位元組的3個位元。舉例來說,使用的代碼可以是(1111 1111 ; 1111 1000),並視零的數量而定,將第二個位元組以布林運算子OR與0-7組合。應可理解類似方法可用在不同的值上。
上述方法能夠達成理想的效果,因為該編碼方式很少會造成值大於或等於248的連續數字,因此解碼演算法只需搜尋一個值為255的位元組,以及接續的另一個值大於或等於248的位元組,將其識別為代碼而非已編碼頻率係數。該代碼接著會被對應於資料的位元組取代,其中一系列零的數量會以第二個位元組的最後3個位元表示。根據迄今為止的測試,所述方法可在位元編碼階段後,進一步減少19-25%的資料量。
執行完代碼取代的步驟後,於步驟528,可輸出已壓縮的影像資料。具體而言,已壓縮影像資料通常會被儲存在輸出緩衝器323,直到達成足夠的資料量,此時將會建立一資料封包,並由收發器324將其傳送給編碼器。
於步驟530,解碼器330經由收發器334接收已壓縮影像資料,並將其儲存在解碼器輸入緩衝器331之中。於步驟532,剖析該資料以識別其中所包含的代碼,並於步驟534,執行如上所述以重複的相同位元組子序列取代該等代碼,進而重建由位元編碼頻率係數構成的位元流。
於步驟536,解碼器處理裝置332決定用以編碼該影像資料的位元編碼方案,並以此執行位元流的串列至平行(serial to parallel)解碼,以便在步驟538決定已編碼頻率係數。詳言之,解碼器處理裝置332於此步驟決定用以編碼各頻率係數的位元數,使得該位元流能被有效切分成個別的已編碼頻率係數。各頻率係數於步驟540會被用來重建經縮放的頻率矩陣,被捨棄的頻率係數會以空值產生,以便填滿整個矩陣,該矩陣會在步驟542基於縮放係數予以縮放。
於步驟544,套用二維離散餘弦逆轉換,之後於步驟546,將套用轉換後的每一YCbCr通道之矩陣轉換為RGB通道,使得在步驟548能夠輸出一8x8像素塊,該像素塊可進而在顯示裝置340上呈現。
依照上述流程,編碼8x8像素塊所需處理的影像資料量將能夠大幅減少,因而也能大幅減少全部影像處理時的資料量。具體而言,這是結合使用以下程序達成的:對YCbCr通道執行二維離散餘弦轉換(2D DCT),對所產生的頻率係數執行選擇性位元編碼,以及最後視需要運用無失真編碼方案。處理時可平行處理各通道,且離散餘弦轉換也是以平行方式對8x8陣列執行處理。此外,對於每一頻率係數執行的位元編碼也是平行處理,因此,在大規模平行處理的方式下,能夠讓壓縮與解壓縮處理皆快速執行,因而達到最小程度的延遲,對於例如虛擬實境、擴增實境、遠端臨場等即時應用來說,減少延遲是十分重要的。
以下將參考第七圖與第八圖,說明執行選擇規則的一方法示例。
本示例會特別聚焦於:可如何利用像素陣列在一幅影像當中的空間位置影響前述選擇流程,並因此影響所執行的壓縮量。可基於其他因素執行類似流程,然而此處將不進一步詳述其細節。本流程在編碼器或解碼器上的執行方式相同,為便於說明,以下敘述僅聚焦於編碼器的運作。
在本示例中,於步驟700,編碼器處理裝置322決定當前通道適用的選擇規則。就此步驟而言,如前文所述,通常會對各個亮度及色度通道套用不同的規則。接下來於步驟705,編碼器處理裝置322判定像素陣列在影像當中的所在位置,並據此判定是否有一關聯於該位置的絕對規則。就此步驟而言,如果影像係以頭戴式裝置顯示,所配置的鏡片通常表示使用者無法觀看到一些部分的影像。請參見第八圖之示例,圖中示出一幅影像的可觀看部分801與不可觀看部分802。此示例中,若像素陣列的位置落在不可觀看部分802,則不需要編碼該像素陣列,因此所執行的流程可直接捨棄所有階層的頻率係數。基於上述,如果於步驟710判定有一關於該像素陣列絕對位置的規則存在,則執行流程會進入步驟725,決定各別階層應如何選擇,並於步驟730分別套用位元編碼方案,如同前文有關步驟514至518之敘述。
若判定無絕對位置規則存在,則編碼器處理裝置322於步驟715判定影像觀看者的一注視點,所屬技術領域中具通常知識者應可理解,可藉由使用眼動追蹤感測系統達成此步驟。注視點判定完成後,則於步驟720判定一相對位置,在一示例中為判定該注視點與當前像素陣列位置之間的距離,以藉此在步驟725與步驟730中,利用該相對位置導出係數及/或位元編碼方案應如何選擇。就此而言,由於人眼的周邊視力(peripheral vision)感知細節的程度不同於焦點位置所感知到的,因此在距離使用者注視點較遠處,可以進行較大程度的壓縮。
在一示例中,可定義使用者注視點周圍區域為最小壓縮區域,並從該最小壓縮區域向外逐漸增加壓縮程度。該區域可為任何形狀,可以是圓形、橢圓形、卵形等,視個別情形而定。該區域也可不以注視點為中心,例如為確保注視點下方區域(使用者通常會較清楚地感知到此區域)為最小壓縮區域之情形。
應可理解在無法量測使用者注視點的情況下,可改採預測方式。一般來說,預測會以螢幕的中心作為焦點,然應可理解其並非必要作法而可加以變動,例如預測可基於所呈現內容之性質、頭戴式裝置移動方向等因素進行。
因此,應可理解本文描述的機制,可基於像素陣列在影像當中的絕對及/或相對位置,執行選擇性編碼。藉由讓編碼器與解碼器皆執行相同的演算法來選擇編碼方案並進行選擇,解碼器將能夠可靠且準確地對已壓縮影像資料進行解壓縮,但仍能同時允許以動態方式執行編碼處理,以使整體壓縮程度最大化,並將可感知到的影像品質損失減到最少。
應可理解,亦可基於例如傳輸品質及/或頻寬等其他因素,採用其他類似方法,以確保壓縮程度為基於當前環境最佳化的結果。
以下將參考第九圖,說明壓縮影像資料並隨之對已壓縮影像資料執行解壓縮的一方法示例。
雖然此處將本示例單獨描述,從以下敘述應可理解,本示例可與前文所述壓縮/解壓縮技術共同使用,以進一步提高壓縮及運算效率。詳言之,前文所述技術為執行以下方法流程中可運用的選項,然而應可理解,視運作環境而定,亦可使用其他適當的壓縮技術。
在本示例的步驟900,從影像資料中,獲取一或多幅影像中表現一像素陣列的像素資料。此步驟可以任何適當方式達成,但通常包含接收到影像資料時執行緩衝,直到獲得一例如8x8陣列的像素陣列,獲取方式類似前文所述方法。
於步驟910,決定一編碼方案,通常是從一或多個先前已定義的編碼方案選出其中一個,例如前文所述的編碼方案。選擇程序可以任何適當方式執行,例如藉由分析影像及/或像素資料、基於影像所關聯的影像類型、基於影像來源或顯示器的指示等,執行選擇程序的目的通常是為提供更大或更小的壓縮程度,視當前環境的特定需求而定。
於步驟920,使用選定的編碼方案對像素資料進行編碼,例如使用前文所述或類似技術進行。於步驟930,決定可表示編碼方案的一編碼代碼,例如經由可選方案關聯的查找表中獲得,並將該編碼代碼與已編碼方塊一起使用,藉以產生已壓縮影像資料。在一示例中,可對已編碼像素資料加上作為前綴碼的已編碼代碼,而完成此步驟,然而亦可使用其他方法,例如直接將像素資料代換為編碼代碼(例如使用代碼字取代),視所使用的編碼方案而定。
一旦建立了已壓縮影像資料後,可將該資料傳輸到一目的地(例如作為一位元組流的一部分),使得該資料可被解碼以產生影像資料。
所述程序通常藉由從已壓縮影像資料中決定編碼代碼完成,此為步驟940。就此步驟而言,編碼代碼通常具有一固定格式,例如由數個位元構成的特定組合,而能夠在所接收的位元組流中被輕易識別。接著會利用該編碼代碼判定所使用的編碼方案,通常透過一查找程序,此為步驟950。接下來於步驟960,經識別的編碼方案可被用於解碼已壓縮影像資料,例如使用前文概述過的方法,以便產生代表一或多個影像當中的像素陣列之像素資料。
因此,上述流程允許使用多個編碼方案的其中一者執行編碼。在一較佳示例中,編碼器及解碼器預先已知悉不同的編碼方案,因此能夠在所編碼/解碼的影像中,針對各個像素陣列動態變換不同的編碼方案。如此可確保正在進行編碼的特定資料使用的是最佳編碼方案,因而能達成最大程度的壓縮,同時又可確保其他所需特性(如影像品質及編碼時間)獲得維持。
以下將說明其他進一步的特徵。
在對影像進行編碼時,所述流程通常包含了基於諸多不同因素其中的一或多個來決定編碼方案,該等因素包含影像資料所屬的影像類型、從影像資料來源或顯示器接收到的編碼方案指示,決定的方式包括分析影像資料及像素資料的至少其中一者,或根據壓縮需求決定,例如所需的壓縮量、所生成的影像品質、壓縮延遲等等。
因此,舉例來說,在編碼相片時,所使用的編碼類型可能就與編碼電腦生成圖像時不同,因為該兩種影像的特性通常差異極大。影像的性質可由其關聯的元資料(metadata)或基於影像本身的特性獲知。或者,提供該影像資料的影像來源,例如提供該影像資料以供傳輸到一顯示器或其他運算裝置的電腦系統,也可用來確認應使用的編碼方案。
另一示例中,則是藉由分析像素資料來識別像素陣列的特性。例如,若像素陣列為單一顏色,則使用的演算法會不同於具有多個顏色的像素陣列。此作法在編碼影像的大範圍單色區域(例如天空或背景)時尤其實用,可因此使用表示該單一顏色的編碼代碼,來替換整個像素陣列的像素資料,便能達成最大的壓縮量而不會對影像品質造成顯著減損。
另一示例則是藉由識別影像的漸層(gradient)或邊界來區辨特性,由於使用許多影像壓縮方法皆可能使漸層或邊界產生不必要的失真,因此可能需要尋求替代的壓縮方法。
在一較佳示例中,其中的像素陣列並非僅有單一顏色,因此可使用前述參考第五圖與第六圖說明的方法流程。若像素陣列中未包含漸層或邊界,則使用的技術可包含對YCbCr的全部三個通道進行編碼。然而,若像素陣列中包含漸層或邊界,則可跳過Y通道不對其進行編碼,藉此保留額外的亮度資訊。雖然這麼做會使得最終的總壓縮量減少,但由於CbCr通道已經過壓縮,壓縮量仍然是相當可觀的,而被額外保留的色彩資訊,則可大幅增進生成影像漸層或邊界區域的影像品質。
編碼方案選擇也可用以控制一壓縮演算法的其他方面。例如,可用來確認上述壓縮流程中有哪些頻率係數需被保留,執行方式可類似於以第七圖說明的流程。
編碼代碼通常以0到255之間的一個數字表示,其可由一個位元組定義,因此可從多達256種不同的編碼方案中進行選擇。如此將能夠運用諸多不同的編碼方案,並指定0到255之間的一個編號給各別方案,而能夠藉由使用諸多不同編碼方案來達成壓縮最佳化,以獲得所需的影像品質。在一特定示例中,可建立起業界標準慣用的編碼方案表,如此一來,即使未經過事先通訊建立起即將使用的編碼方案,編碼與解碼系統仍能夠相互配合運作。
在一特定示例中,編碼代碼可藉由格式固定的前綴位元組識別,例如「11111111」,因此指定給編號1、用來選擇一編碼方案的編碼代碼,會被表示成「1111111100000001」。應可理解,如此可使解碼程序更容易辨識所使用的編碼程序。然而上述示例並非限制性的,任何適當的識別方法都可加以使用。
應可理解的是,在解碼已壓縮影像資料時也可使用類似方法,方法中可包括將一單色的像素陣列替換為一編碼代碼,或使用前文所述的解碼流程。
此外應可理解,可使用與前文所述裝置類似的設備執行影像壓縮流程,在此不再進一步詳述。
總結來說,本文所述方法可達成數位內容的大量壓縮,而不會造成嚴重的延遲,因此所述技術可在使用既有硬體的情況下,用於將內容以無線連接方式提供給虛擬或擴增實境所用的穿戴式顯示器,同時亦可在其他應用上廣泛達成較佳的影像壓縮效果。
在本發明說明書與以下的申請專利範圍中,除上下文另有要求外,「包含」、「包括」等用語應理解其所指之意為涵納所述物件個體,或涵納物件、步驟之群體,但不排除其他物件個體或群體。
所屬技術領域中具通常知識者應可理解,顯而易見的,本發明可透過諸多改變與修飾實現。所有對於本技術領域中具通常知識者而言顯而易見的此等改變與修飾,皆應視為落入廣義的本發明之精神與範圍內。
100-130‧‧‧步驟
315‧‧‧匯流排
340‧‧‧顯示裝置/頭戴式顯示器
642、643‧‧‧色度通道
210‧‧‧處理系統
320‧‧‧編碼器
341‧‧‧微處理器
700-730‧‧‧步驟
220‧‧‧編碼器
321‧‧‧編碼器輸入緩衝器
342‧‧‧記憶體
801‧‧‧可觀看部分
230‧‧‧解碼器
322‧‧‧編碼器處理裝置
343‧‧‧輸入/輸出裝置
802‧‧‧不可觀看部分
240‧‧‧頭戴式顯示裝置
323‧‧‧編碼器輸出緩衝器
344‧‧‧感測器
900-960‧‧‧步驟
250‧‧‧控制器
324‧‧‧收發器
345‧‧‧顯示器
260‧‧‧無線通訊連結/無線連接
325‧‧‧資料緩衝器
346‧‧‧外接介面
300‧‧‧裝置
330‧‧‧解碼器
347‧‧‧匯流排
310‧‧‧處理系統
331‧‧‧解碼器輸入緩衝器
360‧‧‧短距離無線電通訊
311‧‧‧微處理器
332‧‧‧解碼器處理裝置
400-490‧‧‧步驟
312‧‧‧記憶體
333‧‧‧解碼器輸出緩衝器
500-548‧‧‧步驟
313‧‧‧輸入/輸出裝置
334‧‧‧收發器
641‧‧‧亮度通道
314‧‧‧外接介面
335‧‧‧資料緩衝器
以下參考所附圖式描述本發明的一示例,其中:
第一圖為一方法示例的流程圖,該方法用於壓縮形成一數位內容串流的影像資料,接著將其解壓縮;
第二A圖為一裝置的第一示例示意圖,該裝置用於將影像顯示於一穿戴式裝置上;
第二B圖為一裝置的第二示例示意圖,該裝置用於將影像顯示於一穿戴式裝置上;
第三圖為一虛擬實境系統的特定示例示意圖,該系統包含用於壓縮及解壓縮影像資料的裝置;
第四A與四B圖為另一方法示例的流程圖,該方法用於壓縮形成一數位內容串流的影像資料,接著將其解壓縮;
第五A至五D圖為一方法的特定示例流程圖,該方法用於壓縮並解壓縮影像;
第六圖為一示意圖,其顯示編碼流程的不同面向;
第七圖為一方法示例的流程圖,該方法用於選擇一位元編碼方案;
第八圖為一示意圖,其顯示一待編碼影像的示例;及
第九圖為一流程圖,其顯示另一編碼/解碼方案示例,該編碼/解碼方案用於壓縮影像資料以及將壓縮後的影像資料解壓縮。

Claims (72)

  1. 一種用於從形成一數位內容串流的部分之多個影像壓縮影像資料的方法,該方法包含針對該數位內容串流內n 幅影像的一序列,包括以下步驟: a) 獲取該n 幅影像中各影像的影像資料;及 b) 使用一各別壓縮方案,壓縮該n 幅影像中至少一些的影像資料,。
  2. 如申請專利範圍第1項的方法,其中該方法包括使用多個壓縮方案的一序列,壓縮該n 幅影像的該序列。
  3. 如申請專利範圍第1項或第2項的方法,其中該方法包括壓縮該n 幅影像的序列的一數量,各序列透過多個壓縮方案的同一序列被壓縮。
  4. 如申請專利範圍第1項至第3項任一項的方法,其中該等各別壓縮方案中至少兩個提供一不同的壓縮程度(degree of compression)。
  5. 如申請專利範圍第1項至第4項任一項的方法,其中存在下列情形至少一者: a) 該n 幅影像中的每一者經由一不同的壓縮方案被壓縮; b) 該n 幅影像中的每一者經由一不同的壓縮方案被壓縮,該壓縮方案提供一不同的壓縮程度; c) 該n 幅影像中至少一者經由一不同的壓縮方案被壓縮,該不同壓縮方案實施於各幅相鄰影像之上; d) 該包含n 幅影像的序列中,至少有兩幅影像經由一共同壓縮方案被壓縮; e) 該n 幅影像中至少一者經由一無失真的壓縮方案被壓縮; f) 該n 幅影像中至少一者經由一破壞性壓縮方案被壓縮; g) 該n 幅影像中至少一者未被壓縮;及 h) 該n 幅影像中至少一者被捨棄,以降低一影格速率(frame rate)。
  6. 如申請專利範圍第1項至第5項任一項的方法,其中n 值至少為下列其中之一: a) 大於2; b) 介於2和5之間; c) 介於2和10之間; d) 介於4和25之間; e) 小於25;及 f) 基於可取得壓縮方案的一數量。
  7. 如申請專利範圍第1項至第6項任一項的方法,其中該方法包括: a) 針對該n 幅影像的下一者,獲取下一幅影像資料; b) 壓縮該下一幅影像資料;及 c) 對該n 幅影像的每一者反覆實施步驟a)與b)。
  8. 如申請專利範圍第1項至第7項任一項的方法,其中該方法針對該n 幅影像中至少一者,包括: a) 自複數個壓縮方案中選擇一方案;及 b) 使用該所選的壓縮方案壓縮該影像資料,以產生壓縮後的影像資料。
  9. 如申請專利範圍第8項的方法,其中該方法包括: a) 決定一編碼代碼(encoding code),其指示所選的該壓縮方案;及 b) 將該編碼代碼與該壓縮後的影像資料相關聯。
  10. 如申請專利範圍第8項或第9項的方法,其中該方法包括選擇該壓縮方案,其根據下列其中至少一者: a) 針對該n 幅影像序列中的相鄰影像所實施的壓縮方案; b) 一希望壓縮程度; c) 一用於傳輸壓縮後的影像資料之一通訊連結的傳輸頻寬; d) 一用於傳輸壓縮後的影像資料之一通訊連結的服務的傳輸品質; e) 一顯示裝置的移動; f) 一顯示裝置的預測移動; g) 影像顯示需求; h) 一目標顯示解析度; i) 一所處理的通道; j) 該一或多幅影像內的像素陣列之一位置;及 k) 該一或多幅影像當中的像素陣列之一位置,其相對於該一或多幅影像的觀看者的一注視點;及 l) 錯誤指標(error metrics)。
  11. 如申請專利範圍第1項至第10項任一項的方法,其中該方法包括使用至少一壓縮方案,以達成下列目的: a) 自該影像資料獲取像素資料,該像素資料代表位於該一或多幅影像內的一像素陣列; b) 決定位於該一或多幅影像內之該像素陣列的一位置,該位置相對於一已定義的位置,該已定義的位置至少部分指示了使用者的一注視點;及 c) 至少部分根據該經決定的位置壓縮該像素資料,以使一壓縮程度隨該像素陣列被決定的位置變化。
  12. 如申請專利範圍第11項的方法,其中該已定義的位置為下列其中一者: a) 一經量測的使用者注視點; b) 一預期的使用者注視點; c) 經測量的使用者注視點偏移; d) 預期的使用者注視點偏移;及 e) 至少部分根據指示使用者注視點的視線資料所決定,該視線資料自一視線追蹤系統獲取。
  13. 如申請專利範圍第11項或第12項的方法,其中該方法包括壓縮該像素資料,使該壓縮程度為下列情形至少一者: a) 根據從該已定義點的一距離決定; b) 根據相對於該已定義點的一方向決定; c) 自該已定義點隨距離增加;及 d) 提供注視點壓縮(foveated compression)。
  14. 如申請專利範圍第1項至第13項任一項的方法,其中該方法包括使用至少一個壓縮方案,以達到下列目的: a) 自該影像資料獲取像素資料,該像素資料代表位於該一或多幅影像內的一像素陣列; b) 對該像素資料進行一轉換,以決定指示該像素陣列內頻率分量的一頻率係數集合; c) 使用一位元編碼方案,選擇性對該等頻率係數中至少一些進行編碼,以生成一已編碼頻率係數集合;及 d) 使用該等已編碼頻率係數生成壓縮後的影像資料。
  15. 如申請專利範圍第14項的方法,其中該位元編碼方案定義替該等頻率係數之每一者進行編碼時所使用的位元數,且其中該等頻率係數被選擇性編碼,以產生下列情形至少一者: a) 該等已編碼頻率係數中至少一些具備不同的位元數; b) 使用較少的位元數,對於與高頻對應的頻率係數進行編碼; c) 使用逐漸減少的位元數,對於與逐漸升高的頻率對應的頻率係數進行編碼; d) 至少一個頻率係數被捨棄,以使該已編碼頻率係數之集合小於該等頻率係數的集合;及 e) 至少一個與高頻對應的頻率係數被捨棄。
  16. 如申請專利範圍第14項或第15項的方法,其中該方法包括: a) 自複數個位元編碼方案中選擇一個方案;及 b) 根據該所選的位元編碼方案,對該等頻率係數進行編碼。
  17. 如申請專利範圍第16項的方法,其中該複數個位元編碼方案中的每一者,對不同的頻率係數分別使用不同的位元數進行選擇性編碼,以提供一不同的壓縮程度。
  18. 如申請專利範圍第16項或第17項的方法,其中該位元編碼方案的選擇,至少部分取決於下列其中一者: a) 一所需的壓縮程度;及 b) 該像素陣列的位置。
  19. 如申請專利範圍第16項至第18項任一項的方法,其中該等頻率分量被安排成複數個階層,且其中對該複數個階層中每一者內的頻率係數進行編碼時所使用的位元數,皆分別由每一位元編碼方案決定。
  20. 如申請專利範圍第19項的方法,其中該陣列為一N xN 像素陣列,形成共2N -1個階層的頻率分量。
  21. 如申請專利範圍第14項至第20項任一項的方法,其中該方法包括針對該等頻率係數中至少一些套用一縮放係數,以使縮放過的頻率係數被編碼,該縮放係數用於減少每個頻率係數的幅度(magnitude),且其中存在下列情形其中一者: a) 針對至少一些頻率係數套用多個不同的縮放係數; b) 針對每個頻率係數套用同一縮放係數;及 c) 在一不同的通道中,針對多個頻率係數套用一不同的縮放係數。
  22. 如申請專利範圍第14項至第21項任一項的方法,其中該轉換為一二維離散餘弦轉換。
  23. 如申請專利範圍第14項至第22項任一項的方法,其中該方法包括: a) 選擇性對頻率係數進行平行編碼;及 b) 至少部分由平行至串列位元組編碼,生成壓縮後的影像資料。
  24. 如申請專利範圍第1項至第23項任一項的方法,其中該影像資料定義複數個通道,且其中該方法包括使用至少一壓縮方案,以選擇性壓縮該複數個通道之每一者。
  25. 如申請專利範圍第24項的方法,其中該像素資料定義RGB通道,且其中該方法包括: a) 將該等RGB通道轉換為YCbCr通道;及 b) 壓縮該等YCbCr通道,且其中該方法進一步包括下列步驟至少一者: i) 壓縮該Y通道,其相對少於Cb或Cr通道; ii) 平行壓縮該等YCbCr通道之每一者;及 iii) 壓縮該等CbCr通道並使用一未被壓縮的Y通道。
  26. 如申請專利範圍第1項至第25項任一項的方法,其中該方法包括: a) 由該影像資料獲取像素資料,該像素資料代表位於該一或多幅影像內的一像素陣列;及 b) 壓縮該像素資料,其中該像素資料獲取自該影像資料,獲取方式為: i) 對接下來m -1列像素所對應的影像資料進行緩衝處理; ii) 針對下一列像素中的接下來m 個像素,進行影像資料緩衝處理; iii) 自緩衝後的影像資料獲取下一個m xm 像素區塊的像素資料; iv) 重複步驟b)與c),直到已完全自該m 列像素獲取像素資料為止;及 v) 重複步驟a)至d),直到已自該影像的每一列像素獲取像素資料為止。
  27. 如申請專利範圍第26項的方法,其中m 值係基於下列項目至少一者所選定: a) 一所選的壓縮方案; b) 一所選的位元編碼方案; c) 一希望壓縮程度;及 d) 該位元陣列的位置。
  28. 如申請專利範圍第1項至第27項任一項的方法,其中該方法至少部分使用一電子處理裝置進行。
  29. 一種用於從形成一數位內容串流的部分之多個影像壓縮影像資料的裝置,該裝置包含至少一電子編碼器處理裝置,其: a) 獲取該n 幅影像中每一者的影像資料;及 b) 針對該n 幅影像中至少一些,分別使用一壓縮方案壓縮其影像資料。
  30. 如申請專利範圍第29項的裝置,其中該裝置包含: a) 一編碼器輸入緩衝器,接收該影像資料;及 b) 一編碼器輸出緩衝器,儲存壓縮後的影像資料。
  31. 如申請專利範圍第29項或第30項的裝置,其中該裝置包含一編碼器傳輸器,自該編碼器輸出緩衝器傳輸該影像資料。
  32. 如申請專利範圍第29項至第31項任一項的裝置,其中該至少一編碼器處理裝置包含: a) 一經適當程式化的現場可程式閘陣列(field programmable gate array); b) 一特殊應用積體電路(Application-Specific Integrated Circuit);及 c) 一圖形處理器(Graphics Processing Unit)。
  33. 如申請專利範圍第29項至第32項任一項的裝置,其中該影像資料定義複數個通道,且其中該裝置包含: a) 分屬每一通道的一處理裝置;及 b) 一平行處理裝置,分別針對各通道進行平行處理。
  34. 如申請專利範圍第33項的裝置,其中該像素資料定義RGB通道,且其中該裝置: a) 將RGB通道轉換為YCbCr通道;及 b) 使用至少一處理裝置,將該等YCbCr通道選擇性編碼。
  35. 如申請專利範圍第29項至第34項任一項的裝置,其中該裝置包含一編碼器,與一解碼器無線通訊,以使影像資料於該編碼器與該解碼器之間以被壓縮的形式傳輸。
  36. 如申請專利範圍第35項的裝置,其中該編碼器係下列至少一者:與一適當程式化的處理系統耦接,及屬於該處理系統的一部分。
  37. 如申請專利範圍第35項或第36項的裝置,其中該解碼器係下列至少一者:與一穿戴式顯示裝置耦接,及屬於該穿戴式顯示裝置的一部分。
  38. 如申請專利範圍第35項至第37項任一項的裝置,其中該編碼器與該解碼器相互傳輸資料,以交換下列資料至少一者: a) 壓縮後的影像資料; b) 移動資料,指示一顯示裝置的移動情形; c) 控制資料,至少部分用於控制該顯示裝置; d) 輸入資料,指示使用者輸入指令; e) 視線資料,指示一觀看者之注視點;及 f) 感測器資料,來自與一穿戴式顯示裝置相關聯之感測器。
  39. 如申請專利範圍第29項至第38項任一項的裝置,其中該裝置執行如申請專利範圍第1項至第28項任一項的方法。
  40. 一種解壓縮壓縮後的影像資料的方法,壓縮後的影像資料代表形成一數位內容串流之部分的影像,該方法針對該數位內容串流內該n 幅影像的一序列,包括: a) 獲取該n 幅影像中至少一些的壓縮後的影像資料;及 b) 針對該n 幅影像中至少一些影像的每一者,分別使用一解壓縮方案將每幅影像的壓縮後的影像資料解壓縮。
  41. 如申請專利範圍第40項的方法,其中該解壓縮方案對應於用以生成該壓縮後的影像資料的一壓縮方案。
  42. 如申請專利範圍第41項的方法,其中該方法包括根據下列項目至少一者,分別選擇解壓縮方案: a) 一壓縮方案編碼,指示用於壓縮該影像資料的壓縮方案; b) 一希望壓縮程度; c) 一用於傳輸壓縮後的影像資料之一通訊連結的一傳輸頻寬; d) 一用於傳輸壓縮後的影像資料之一通訊連結的服務的傳輸品質; e) 一顯示裝置的移動; f) 一顯示裝置的預測移動; g) 影像顯示需求; h) 一目標顯示解析度; i) 一所處理的通道; j) 該一或多幅影像內的像素陣列之一位置;及 k) 該一或多幅影像內的像素陣列之一位置,其相對於該一或多幅影像的一觀看者之一注視點;及 l) 錯誤指標。
  43. 如申請專利範圍第40項至第42項任一項的方法,其中該方法包括: a) 針對該n 幅影像的下一者,獲取下一幅影像資料; b) 對該下一幅壓縮後的影像資料解壓縮;及 c) 對該n 幅影像的每一者反覆實施步驟a) 與b)。
  44. 如申請專利範圍第40項至第43項任一項的方法,其中該方法包括使用至少一解壓縮方案,以達成下列目的: a) 獲取壓縮後的影像資料,其代表位於該一或多幅影像內的一像素陣列,且至少部分基於該一或多幅影像內之像素陣列的位置被壓縮,該位置相對於一已定義的位置,該已定義的位置至少部分指示了使用者的一注視點;及 b) 解壓縮該壓縮後的影像資料,至少部分根據該經決定的位置。
  45. 如申請專利範圍第44項的方法,其中該已定義的位置至少為下列其中一者: a) 一經量測的使用者注視點; b) 一預期的使用者注視點; c) 自經測量的使用者注視點的偏移; d) 自預期的使用者注視點的偏移;及 e) 至少部分根據指示使用者注視點的視線資料所決定,該視線資料自一視線追蹤系統獲取。
  46. 如申請專利範圍第44項或第45項的方法,其中該方法包括解壓縮該像素資料,使該解壓縮程度為下列情形至少一者: a) 根據自該已定義點的一距離決定; b) 根據相對該已定義點的一方向決定; c) 自該已定義點隨距離增加;及 d) 提供注視點壓縮。
  47. 如申請專利範圍第40項至第46項任一項的方法,其中該方法包括使用至少一解壓縮方案複製一影像,以回復一被捨棄影像的一影格速率。
  48. 如申請專利範圍第40項至第47項任一項的方法,其中該方法包括使用至少一解壓縮方案,以達到下列目的: a) 根據一位元編碼方案,決定來自壓縮後的影像資料的一已編碼頻率係數集合,該位元編碼方案決定每一已編碼頻率係數所使用的位元數; b) 根據該位元編碼方案,對該等已編碼頻率係數實施位元解碼,以生成一頻率係數集合,其中至少生成一頻率係數,以使該等已編碼頻率係數的集合小於該等頻率係數的集合;及 c) 對該頻率係數集合實施一逆轉換以決定像素資料,該像素資料代表該一或多幅影像內的一像素陣列。
  49. 如申請專利範圍第48項的方法,其中該位元編碼方案決定替該等頻率係數的每一者編碼時所使用的位元數,且該位元編碼方案使用較少的位元數,替與高頻對應的頻率係數進行編碼,且其中該方法包括生成與高頻對應之頻率係數的其中至少一些。
  50. 如申請專利範圍第48項或第49項的方法,其中該方法包括: a) 自複數個位元編碼方案中選擇一個方案;及 b) 根據該所選的位元編碼方案,將該等已編碼頻率係數進行解碼。
  51. 如申請專利範圍第50項的方法,其中該複數個位元編碼方案中的每一者,皆替不同的頻率係數分別使用不同的位元數進行選擇性編碼,以提供一不同的壓縮程度。
  52. 如申請專利範圍第50項或第51項的方法,其中該位元編碼方案的選擇,至少部分取決於下列其中一者: a) 一編碼代碼; b) 用於產生該壓縮後的影像資料的該位元編碼方案;及 c) 該像素陣列的位置。
  53. 如申請專利範圍第50項至第52項任一項的方法,其中該等頻率分量被安排成複數個階層,且其中替該複數個階層中每一者內的該等頻率係數進行編碼時所使用的位元數,皆分別由每一位元編碼方案決定。
  54. 如申請專利範圍第53項的方法,其中該陣列為一N xN 像素陣列,形成共2N -1個階層的頻率分量。
  55. 如申請專利範圍第48項至第54項任一項的方法,其中該方法包括針對該等頻率係數中至少一些套用一縮放係數,以使縮放過的已編碼頻率係數被解碼,該縮放係數用於增加每一頻率係數的幅度,且其中存在下列情形其中一者: a) 針對至少一些已編碼頻率係數套用多個不同的縮放係數; b) 針對每個已編碼頻率係數套用同一縮放係數;及 c) 在一不同的通道中,針對多個已編碼頻率係數套用一不同的縮放係數。
  56. 如申請專利範圍第48項至第55項任一項的方法,其中該逆轉換為一二維離散餘弦轉換。
  57. 如申請專利範圍第48項至第56項任一項的方法,其中該方法包括: a) 將壓縮後的影像資料解碼,至少部分使用串列至平行位元組解碼的方式進行;及 b) 選擇性將多個頻率係數進行平行編碼。
  58. 如申請專利範圍第40項至第57項任一項的方法,其中該影像資料定義複數個通道,且其中該方法包括對各通道之已編碼頻率係數進行選擇性解碼。
  59. 如申請專利範圍第58項的方法,其中該壓縮後的影像資料定義YCbCr通道,且其中該方法包括: a) 對該等YCbCr通道實施一逆轉換;及 b) 將該等經轉換的YCbCr通道轉換為RGB通道,且其中該方法進一步包括下列步驟至少一者: i) 相較於Y通道,對Cb或Cr通道進行程度更大的解壓縮; ii) 平行解壓縮該等已編碼的YCbCr通道;及 iii) 解壓縮該等CbCr通道,並將該等已解壓縮的CbCr通道及該Y通道轉換為RGB通道。
  60. 如申請專利範圍第40項至第59項任一項的方法,其中該方法至少部分使用一電子處理裝置進行。
  61. 一種解壓縮來自多個影像之影像資料的裝置,該等影像形成一數位內容串流,該裝置包含至少一電子解碼器處理裝置,執行: a) 獲取該n 幅影像其中一些的壓縮後的影像資料;及 b) 針對該n 幅影像中至少一些,分別使用一解壓縮方案以解壓縮壓縮後的影像資料。
  62. 如申請專利範圍第61項的裝置,其中該裝置包含: a) 一解碼器輸入緩衝器,接收該壓縮後的影像資料;及 b) 一解碼器輸出緩衝器,儲存該影像資料。
  63. 如申請專利範圍第61項或第62項的裝置,其中該裝置包含一解碼器收發器,接收該壓縮後的影像資料,並將該壓縮後的影像資料提供給該輸入緩衝器。
  64. 如申請專利範圍第61項至第63項任一項的裝置,其中該至少一解碼器處理裝置包含: a) 一經適當程式化的現場可程式閘陣列; b) 一特殊應用積體電路;及 c) 一圖形處理器。
  65. 如申請專利範圍第61項至第64項任一項的裝置,其中該影像資料定義複數個通道,且其中該裝置包含: a) 分屬每一通道的一處理裝置;及 b) 一平行處理裝置,分別針對各通道進行平行處理。
  66. 如申請專利範圍第65項的裝置,其中該壓縮後的影像資料定義YCbCr通道,且其中該裝置: a) 使用各別處理裝置替該等CbCr通道解碼;及 b) 將該等已解碼的YCbCr通道轉換為RGB通道。
  67. 如申請專利範圍第61項至第66項任一項的裝置,其中該裝置包含一編碼器,與一解碼器無線通訊,以使影像資料於該編碼器與該解碼器之間以壓縮形式傳輸。
  68. 如申請專利範圍第61項至第67項任一項的裝置,其中該裝置包含一解碼器,與一編碼器無線通訊,以使影像資料於該編碼器與該解碼器之間以壓縮形式傳輸。
  69. 如申請專利範圍第68項的裝置,其中該解碼器係下列至少一者:與一適當程式化的電腦系統耦接,及屬於該電腦系統的一部分。
  70. 如申請專利範圍第68項或第69項的裝置,其中該解碼器係下列至少一者:與一穿戴式顯示裝置耦接,及屬於該穿戴式顯示裝置的一部分。
  71. 如申請專利範圍第61項至第70項任一項的裝置,其中該解碼器與該編碼器相互傳輸資料,以交換下列資料至少一者: a) 壓縮後的影像資料; b) 移動資料,指示一顯示裝置的移動; c) 控制資料,至少部分用於控制該顯示裝置; d) 輸入資料,指示使用者輸入指令; e) 視線資料,指示一觀看者之注視點;及 f) 感測器資料,來自與一穿戴式顯示裝置相關聯之感測器。
  72. 如申請專利範圍第61項至第71項任一項的裝置,其中該裝置執行如申請專利範圍第40項至第60項任一項的方法。
TW107119228A 2017-06-05 2018-06-04 數位內容串流壓縮 TW201904294A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762515002P 2017-06-05 2017-06-05
US62/515,002 2017-06-05

Publications (1)

Publication Number Publication Date
TW201904294A true TW201904294A (zh) 2019-01-16

Family

ID=64565624

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107119228A TW201904294A (zh) 2017-06-05 2018-06-04 數位內容串流壓縮

Country Status (6)

Country Link
US (1) US20200145696A1 (zh)
EP (1) EP3635952A4 (zh)
CN (1) CN110999287A (zh)
AU (1) AU2018280337B2 (zh)
TW (1) TW201904294A (zh)
WO (1) WO2018223179A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10657674B2 (en) 2016-06-17 2020-05-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
AU2018218182B2 (en) 2017-02-08 2022-12-15 Immersive Robotics Pty Ltd Antenna control for mobile device communication
WO2019100109A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Frequency component selection for image compression
WO2019100108A1 (en) 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Image compression for digital reality
CN108174175A (zh) * 2018-01-30 2018-06-15 小派科技(上海)有限责任公司 基于移动端的vr显示系统
US11048464B2 (en) * 2018-07-31 2021-06-29 Dell Products, L.P. Synchronization and streaming of workspace contents with audio for collaborative virtual, augmented, and mixed reality (xR) applications
FR3098605B1 (fr) * 2019-07-10 2021-07-23 Photonis France Appareil de vision nocturne de type numerique avec vitesse d’acquisition d’image ajustable.
US20220345721A1 (en) * 2019-09-30 2022-10-27 Sony Interactive Entertainment Inc. Image data transfer apparatus, image display system, and image compression method

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416847B2 (en) * 1998-12-21 2013-04-09 Zin Stai Pte. In, Llc Separate plane compression using plurality of compression methods including ZLN and ZLD methods
US20020090140A1 (en) * 2000-08-04 2002-07-11 Graham Thirsk Method and apparatus for providing clinically adaptive compression of imaging data
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
EP1892965A3 (en) 2003-04-04 2011-04-06 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
KR100788703B1 (ko) * 2006-02-24 2007-12-26 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9648346B2 (en) * 2009-06-25 2017-05-09 Microsoft Technology Licensing, Llc Multi-view video compression and streaming based on viewpoints of remote viewer
US8457396B2 (en) * 2009-08-11 2013-06-04 Microsoft Corporation Digital image compression and decompression
US20110206118A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US8965140B1 (en) * 2011-01-31 2015-02-24 Teradici Corporation Method and apparatus for encoding mixed content image sequences
US8625910B2 (en) * 2011-02-25 2014-01-07 Adobe Systems Incorporated Compression of image data
US8787454B1 (en) * 2011-07-13 2014-07-22 Google Inc. Method and apparatus for data compression using content-based features
US20130251261A1 (en) * 2012-03-23 2013-09-26 Marvell World Trade Ltd. Method And Apparatus For Image Data Compression
US10514541B2 (en) * 2012-12-27 2019-12-24 Microsoft Technology Licensing, Llc Display update time reduction for a near-eye display
EP2952003B1 (en) 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9973692B2 (en) * 2013-10-03 2018-05-15 Flir Systems, Inc. Situational awareness by compressed display of panoramic views
US11245939B2 (en) * 2015-06-26 2022-02-08 Samsung Electronics Co., Ltd. Generating and transmitting metadata for virtual reality
WO2017025483A1 (de) * 2015-08-07 2017-02-16 SensoMotoric Instruments Gesellschaft für innovative Sensorik mbH Verfahren und vorrichtung zur datenerfassung und auswertung von umgebungsdaten
CN114998557A (zh) * 2015-08-18 2022-09-02 奇跃公司 虚拟和增强现实系统和方法
EP3347810A1 (en) * 2015-09-10 2018-07-18 Google LLC Playing spherical video on a limited bandwidth connection
EP3145201A1 (en) * 2015-09-17 2017-03-22 Harmonic Inc. Video processing with dynamic resolution changes
US11228754B2 (en) * 2016-05-06 2022-01-18 Qualcomm Incorporated Hybrid graphics and pixel domain architecture for 360 degree video
WO2017217656A1 (ko) * 2016-06-15 2017-12-21 주식회사 에벤에셀케이 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램
US10657674B2 (en) * 2016-06-17 2020-05-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
US10719447B2 (en) * 2016-09-26 2020-07-21 Intel Corporation Cache and compression interoperability in a graphics processor pipeline
US10979721B2 (en) * 2016-11-17 2021-04-13 Dolby Laboratories Licensing Corporation Predicting and verifying regions of interest selections
WO2018154130A1 (en) * 2017-02-27 2018-08-30 Koninklijke Kpn N.V. Processing spherical video data
US10511842B2 (en) * 2017-10-06 2019-12-17 Qualcomm Incorporated System and method for foveated compression of image frames in a system on a chip
US10523914B1 (en) * 2018-07-26 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing multiple 360° immersive video sessions in a network

Also Published As

Publication number Publication date
WO2018223179A1 (en) 2018-12-13
AU2018280337A1 (en) 2019-12-19
EP3635952A4 (en) 2020-11-25
EP3635952A1 (en) 2020-04-15
US20200145696A1 (en) 2020-05-07
CN110999287A (zh) 2020-04-10
AU2018280337B2 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
US11553187B2 (en) Frequency component selection for image compression
US11151749B2 (en) Image compression method and apparatus
TW201904294A (zh) 數位內容串流壓縮
US11973979B2 (en) Image compression for digital reality
AU2019253866B2 (en) Image compression method and apparatus
US20240121406A1 (en) Content Compression for Network Transmission
US20240137548A1 (en) Packing of displacements data in video frames for dynamic mesh coding
US20230395041A1 (en) Content Display Process