TWI757303B - Image compression method and apparatus - Google Patents

Image compression method and apparatus Download PDF

Info

Publication number
TWI757303B
TWI757303B TW106119982A TW106119982A TWI757303B TW I757303 B TWI757303 B TW I757303B TW 106119982 A TW106119982 A TW 106119982A TW 106119982 A TW106119982 A TW 106119982A TW I757303 B TWI757303 B TW I757303B
Authority
TW
Taiwan
Prior art keywords
frequency coefficients
image data
encoding
bit
encoded
Prior art date
Application number
TW106119982A
Other languages
Chinese (zh)
Other versions
TW201806386A (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
Priority claimed from AU2016905048A external-priority patent/AU2016905048A0/en
Application filed by 澳大利亞商伊門斯機器人控股有限公司 filed Critical 澳大利亞商伊門斯機器人控股有限公司
Publication of TW201806386A publication Critical patent/TW201806386A/en
Application granted granted Critical
Publication of TWI757303B publication Critical patent/TWI757303B/en

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/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/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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)
  • Image Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

A method of compressing image data from one or more images forming part of digital reality content, the method including obtaining pixel data from the image data, the pixel data representing an array of pixels within the one or more images; determining a position of the array of pixels within the one or more images relative to a defined position, the defined position being at least partially indicative of a point of gaze of the user; and compressing the pixel data at least partially in accordance the determined position so that a degree of compression depends on the determined position of the array of pixels.

Description

影像壓縮方法與設備 Image compression method and device

本發明係關於壓縮或解壓縮影像資料的方法及設備,並且在一個特定範例中用於壓縮或解壓縮影像資料,允許用降低的頻寬並且較少的延遲來傳輸影像資料。 The present invention relates to a method and apparatus for compressing or decompressing video data, and in one particular example for compressing or decompressing video data, allowing transmission of video data with reduced bandwidth and less delay.

本說明書中對任何先前公開(或其衍生資訊)或任何已知事項的引用,不是也不應被視為確認或承認或任何形式的建議,即先前申請案(或其衍生資訊)或已知事物,構成本說明書所涉及事業領域的一般常見知識之一部分。 Reference in this specification to any prior publication (or derivative information thereof) or any known matter is not and should not be construed as an acknowledgement or admission or recommendation of any kind, namely, prior application (or derivative information thereof) or known matter. It constitutes part of the general knowledge in the field of business covered by this specification.

在虛擬、增強和混合的實境系統中,通常提供一種可戴式顯示裝置,諸如頭戴式顯示器(HMD,Head Mounted Display),其基於顯示裝置的相對空間位置及/或方位將資訊顯示給佩戴者。這種系統根據關於該顯示裝置姿勢(位置和方位)的資訊產生影像來進行操作,如此隨著該顯示裝置移動,會更新該等影像以反映該顯示裝置的新姿勢。 In virtual, augmented and mixed reality systems, it is common to provide a wearable display device, such as a head mounted display (HMD), which displays information to the display device based on the relative spatial position and/or orientation of the display device. wearer. Such systems operate by generating images based on information about the posture (position and orientation) of the display device, such that as the display device moves, the images are updated to reflect the new posture of the display device.

為了避免暈眩,姿勢資訊的收集和相應影像的建立間之時間差最小化,特別是在該顯示裝置快速移動的情況下,這相當重要。結合產生高解析度影像,使得它們看起來盡可能逼真之需求,這表示需要有相當高階的處理硬體。結果,高端現有系統通常需要具有高頻寬並且低延遲連 接至該顯示裝置的靜態桌上型電腦。因此,像是HTC ViveTM、Oculus RiftTM和Playstation VRTM這些當前的系統在電腦與HMD之間需要有線連接,這並不方便。 In order to avoid dizziness, it is important to minimize the time difference between the collection of posture information and the creation of the corresponding image, especially if the display device is moving rapidly. Combined with the need to produce high-resolution images so that they look as realistic as possible, this means that fairly high-end processing hardware is required. As a result, high-end existing systems often require a static desktop computer with high bandwidth and low latency connected to the display device. Therefore, current systems like the HTC Vive , Oculus Rift , and Playstation VR require a wired connection between the computer and the HMD, which is inconvenient.

雖然有行動解決方案可用,例如Gear VRTM,其併入行動電話來執行HMD本身內的影像處理和顯示,但是處理能力是有限的,意味著可以顯示的內容受到限制,特別是在影像解析度和品質方面。 While mobile solutions are available, such as the Gear VR , which is incorporated into a mobile phone to perform image processing and display within the HMD itself, processing power is limited, meaning that what can be displayed is limited, especially at image resolution and quality.

我們都知道,壓縮影像資料可縮小資料體積。這在許多應用當中都非常有用,如減少儲存該影像資料所需的儲存容量,或減少傳輸該影像資料伴隨的頻寬需求。 We all know that compressing image data can reduce the size of the data. This is useful in many applications, such as reducing the storage capacity required to store the image data, or reducing the bandwidth requirements associated with transmitting the image data.

JPEG使用根據離散餘弦轉換(DCT,discrete cosine transform)的破壞性壓縮,此算術運算將視頻源的每個框/區域(frame/field)從空間(2D)域轉換為頻域(也就是轉換域)。鬆散基於人類精神視覺系統的知覺模型拋棄了高頻資訊,即強度上和色調上的急劇轉變。在轉換域中,通過量化來減少資訊。然後量化係數被序列並鬆散地打包至一輸出位元流。 JPEG uses destructive compression according to the discrete cosine transform (DCT), an arithmetic operation that converts each frame/field of the video source from the spatial (2D) domain to the frequency domain (aka transform domain). ). Perceptual models loosely based on the human mind's visual system discard high-frequency information, ie, sharp transitions in intensity and hue. In the transform domain, information is reduced by quantization. The quantized coefficients are then sequenced and loosely packed into an output bitstream.

然而,這種方式通常只能完成有限的壓縮量並且需要相當多的處理時間,因此不適合用於低延遲應用,像是虛擬或增強實境、遙現(telepresence)等。 However, this approach usually only accomplishes a limited amount of compression and requires considerable processing time, making it unsuitable for low-latency applications such as virtual or augmented reality, telepresence, etc.

在一個廣泛的形式中,本發明的態樣尋求提供一種將形成部分數位實境內容的一或多個影像中之影像資料壓縮之方法,該方法包括:從該影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列;決定該等一或多個影像之內該像素陣列相對於一已定義位置的 一位置,該已定義位置至少部分指示該使用者的一凝視點;以及將該像素資料壓縮來產生壓縮的影像資料,該像素資料以至少部分依照該已決定位置來壓縮,如此壓縮程度取決於該像素陣列的該已決定位置。 In one broad form, aspects of the present invention seek to provide a method of compressing image data in one or more images forming part of digital reality content, the method comprising: obtaining pixel data from the image data, the pixel data data representing an array of pixels within the one or more images; determine the position of the array of pixels relative to a defined location within the one or more images a location, the defined location indicating at least in part a gaze point of the user; and compressing the pixel data to generate compressed image data, the pixel data being compressed at least in part according to the determined location, such that the degree of compression depends on the determined position of the pixel array.

在一個具體實施例內,該已定義位置為至少以下之一:一已測量的該使用者凝視點;一預期的該使用者凝視點;偏移一已測量的該使用者凝視點之處;偏移一預期的該使用者凝視點之處;以及至少部分依照指示該使用者凝視點的凝視資料所決定之處,該凝視資料從一凝視追蹤系統來獲得。 In one embodiment, the defined position is at least one of: a measured user gaze point; an expected user gaze point; offset from a measured user gaze point; offsetting an expected location of the user's gaze point; and a location determined at least in part based on gaze data indicative of the user's gaze point, the gaze data obtained from a gaze tracking system.

在一個具體實施例內,該方法包括壓縮該像素資料,如此該壓縮程度取決於下列之一:根據與該已定義點的一距離;根據相對於該已定義點的一方向;從該已定義點進一步增加;以及提供渲染壓縮。 In one embodiment, the method includes compressing the pixel data such that the degree of compression depends on one of the following: according to a distance from the defined point; according to a direction relative to the defined point; from the defined point points are further increased; and rendering compression is provided.

在一個具體實施例內,該方法包括:選擇複數個編碼方案之一者;以及使用該選取的編碼方案對該像素資料編碼。 In one embodiment, the method includes: selecting one of a plurality of encoding schemes; and encoding the pixel data using the selected encoding scheme.

在一個具體實施例內,該等編碼方案之每一者提供一個別壓縮程度,並且其中該方法包含至少部分根據至少以下之一者來選擇該編碼方案:一所要的壓縮程度;以及該像素陣列的該位置。 In one embodiment, each of the encoding schemes provides an individual degree of compression, and wherein the method includes selecting the encoding scheme based, at least in part, on at least one of: a desired degree of compression; and the pixel array of this location.

在一個具體實施例內,該方法包括:決定指示所使用該編碼方案的一編碼代碼;以及使用該編碼代碼與已編碼像素資料來產生壓縮影像資料。 In one embodiment, the method includes: determining an encoding code indicative of the encoding scheme used; and generating compressed image data using the encoding code and encoded pixel data.

在一個具體實施例內,該方法包括使用一編碼方案,利用以下來壓縮該像素資料:對該像素資料套用一轉換,以決定指示該像素陣列的頻率分量之一組頻率係數;使用一位元編碼方案選擇性對至少某些該等 頻率分量編碼,藉此產生一組已編碼的頻率係數;以及使用該已編碼的頻率係數產生壓縮的影像資料。 In one embodiment, the method includes using an encoding scheme to compress the pixel data by: applying a transform to the pixel data to determine a set of frequency coefficients indicative of frequency components of the pixel array; using a single bit The coding scheme is selective for at least some of these encoding the frequency components, thereby generating a set of encoded frequency coefficients; and using the encoded frequency coefficients to generate compressed image data.

在一個具體實施例內,該位元編碼方案定義用於編碼該等頻率係數之每一者的位元數,並且其中該等頻率係數進行選擇性編碼,如此至少以下之一者:至少某些該等已編碼頻率係數具有不同位元數;較少位元數用於將對應至較高頻率的頻率係數編碼;逐漸較少的位元數用於將對應至逐漸較高頻率的頻率係數編碼;拋棄至少一頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及拋棄對應至較高頻率的至少一頻率係數。 In one embodiment, the bit encoding scheme defines the number of bits used to encode each of the frequency coefficients, and wherein the frequency coefficients are selectively encoded such that at least one of: at least some of the Equally encoded frequency coefficients have different numbers of bits; a smaller number of bits is used to encode frequency coefficients corresponding to higher frequencies; progressively smaller numbers of bits are used to encode frequency coefficients corresponding to gradually higher frequencies; discarding at least one frequency coefficient such that the set of coded frequency coefficients is smaller than the set of frequency coefficients; and discarding at least one frequency coefficient corresponding to a higher frequency.

在一個具體實施例內,該方法包括:選擇複數個位元編碼方案之一者;以及依照該選取的位元編碼方案對該頻率係數編碼。 In one embodiment, the method includes: selecting one of a plurality of bit encoding schemes; and encoding the frequency coefficients according to the selected bit encoding scheme.

在一個具體實施例內,該等複數個位元編碼方案之每一者選擇性用不同的位元數來編碼不同的頻率係數,以提供不同的壓縮程度。 In one embodiment, each of the plurality of bit encoding schemes selectively encodes different frequency coefficients with different numbers of bits to provide different degrees of compression.

在一個具體實施例內,至少部分根據至少以下之一來選擇該位元編碼方案:一所要的壓縮程度;以及該像素陣列的該位置。 In one embodiment, the bit encoding scheme is selected based, at least in part, on at least one of: a desired degree of compression; and the position of the pixel array.

在一個具體實施例內,該等頻率分量配置在複數個層級內,並且其中每一位元編碼方案定義要用來編碼該等複數個層級中每一者內該等頻率係數的一各別位元數。 In one embodiment, the frequency components are arranged in a plurality of levels, and wherein each bit encoding scheme defines a respective bit to be used to encode the frequency coefficients in each of the plurality of levels arity.

在一個具體實施例內,該陣列為一N x N像素陣列,導致2N-1個頻率分量層級。 In one embodiment, the array is an NxN array of pixels, resulting in 2N - 1 levels of frequency components.

在一個具體實施例內,該方法包括將一比例縮放因數套用到至少某些該等頻率係數,如此編碼已比例縮放的頻率係數,該比例縮放因 數用來減少每一頻率係數的強度,並且其中至少以下之一:將不同的比例縮放因數套用到至少某些頻率係數;將該相同的比例縮放因數套用到每一頻率係數;以及將一不同的比例縮放因數套用到一不同通道內的頻率係數。 In one embodiment, the method includes applying a scaling factor to at least some of the frequency coefficients, thus encoding the scaled frequency coefficients, the scaling factor is used to reduce the intensity of each frequency coefficient, and at least one of the following: apply a different scaling factor to at least some of the frequency coefficients; apply the same scaling factor to each frequency coefficient; and apply a different scaling factor The scaling factor of is applied to the frequency coefficients within a different channel.

在一個具體實施例內,該影像資料定義複數個通道,並且其中該方法包括針對每一通道選擇性編碼頻率係數。 In one embodiment, the image data defines a plurality of channels, and wherein the method includes selectively encoding frequency coefficients for each channel.

在一個具體實施例內,該像素資料定義RGB通道,並且其中該方法包括:將該RGB通道轉換成YCbCr通道;以及轉換該等YCbCr通道。 In one embodiment, the pixel data defines RGB channels, and wherein the method includes: converting the RGB channels to YCbCr channels; and converting the YCbCr channels.

在一個具體實施例內,該方法包括至少以下之一:選擇性針對該Y通道比起該等Cb或Cr通道編碼更多頻率係數;選擇性針對該等YCbCr通道同時編碼頻率係數;以及選擇性針對該等CbCr通道編碼頻率係數並使用該Y通道。 In one embodiment, the method includes at least one of: selectively encoding more frequency coefficients for the Y channel than the Cb or Cr channels; selectively encoding frequency coefficients simultaneously for the YCbCr channels; and selectively The frequency coefficients are encoded for the CbCr channels and the Y channel is used.

在一個具體實施例內,該轉換為一二維(2-D)離散餘弦轉換。 In one embodiment, the transform is a two-dimensional (2-D) discrete cosine transform.

在一個具體實施例內,該方法包括利用以下從影像資料獲取像素資料:緩衝對應至該影像的下一個n-1列像素之影像資料;緩衝該下一列像素的下一個n像素之影像資料;從該已緩衝影像資料中獲得下一個nxn像素區塊的像素資料;重複步驟b)和c),直到已經從所有該n列像素中獲得像素資料;以及重複步驟a)至d),直到已經從該影像的每一列像素中獲得像素資料。 In one embodiment, the method includes obtaining pixel data from image data using: buffering image data corresponding to the next n-1 rows of pixels of the image; buffering image data of the next n pixels of the next row of pixels; obtain pixel data for the next n x n block of pixels from the buffered image data; repeat steps b) and c) until pixel data has been obtained from all the n rows of pixels; and repeat steps a) to d), until pixel data has been obtained from each column of pixels in the image.

在一個具體實施例內,根據至少以下之一來選擇n:一選取的位元編碼方案;一所要的壓縮程度;以及該像素陣列的該位置。 In one embodiment, n is selected according to at least one of: a selected bit encoding scheme; a desired degree of compression; and the position of the pixel array.

在一個具體實施例內,該方法包括:同時選擇編碼頻率係 數;以及至少部分通過並行至序列位元組編碼來產生壓縮的影像資料。 In a specific embodiment, the method includes simultaneously selecting an encoding frequency system and generating compressed image data at least in part by parallel-to-sequential byte encoding.

在一個廣泛的形式中,本發明的態樣尋求提供一種將形成部分數位實境內容的一或多個影像中之已壓縮影像資料解壓縮之方法,該方法包括:獲得已壓縮的影像資料,該已壓縮影像資料代表該等一或多個影像之內一像素陣列,並且至少部分根據該等一或多個影像之內相對於一已定義位置的該像素陣列之一位置來壓縮,該已定義位置至少部分指示該使用者的凝視點;以及至少部分根據該已決定位置來將該已壓縮影像資料解壓縮。 In one broad form, aspects of the present invention seek to provide a method of decompressing compressed image data in one or more images forming part of digital reality content, the method comprising: obtaining the compressed image data, The compressed image data represents an array of pixels within the one or more images, and is compressed based at least in part on a position of the array of pixels within the one or more images relative to a defined position, the compressed image Defining a location indicates, at least in part, a gaze point of the user; and decompressing the compressed image data based at least in part on the determined location.

在一個具體實施例內,該已定義位置為至少以下之一:一已測量的該使用者凝視點;一預期的該使用者凝視點;偏移一已測量的該使用者凝視點之處;偏移一預期的該使用者凝視點之處;以及至少部分依照指示該使用者凝視點的凝視資料所決定之處,該凝視資料從一凝視追蹤系統來獲得。 In one embodiment, the defined position is at least one of: a measured user gaze point; an expected user gaze point; offset from a measured user gaze point; offsetting an expected location of the user's gaze point; and a location determined at least in part based on gaze data indicative of the user's gaze point, the gaze data obtained from a gaze tracking system.

在一個具體實施例內,該方法包括:選擇複數個解碼方案之一者;以及使用該選取的解碼方案對該像素資料解碼。 In one embodiment, the method includes: selecting one of a plurality of decoding schemes; and decoding the pixel data using the selected decoding scheme.

在一個具體實施例內,該方法包括至少部分根據至少以下之一來選擇該解碼方案:一所要的壓縮程度;該像素陣列的一位置;以及指示所使用的該編碼方案之一編碼代碼,該編碼代碼由該已壓縮的資料影像來決定。 In one embodiment, the method includes selecting the decoding scheme based, at least in part, on at least one of: a desired degree of compression; a position in the pixel array; and an encoding code indicating one of the encoding schemes used, the The encoding code is determined by the compressed data image.

在一個具體實施例內,該方法包括使用一解碼方案,利用以下來解壓縮該已壓縮的像素資料:依照其中定義每一已編碼頻率係數內所使用該位元數的一位元編碼方案,從該已壓縮影像資料決定一組已編碼頻 率係數;依照該位元編碼方案來執行該已編碼頻率係數的位元解碼,藉此產生一組頻率係數,其中產生至少一個頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及對該組頻率係數套用一逆向轉換,來決定代表該等一或多個影像之內一像素陣列的像素資料。 In one embodiment, the method includes decompressing the compressed pixel data using a decoding scheme according to a one-bit encoding scheme in which the number of bits used in each encoded frequency coefficient is defined, determine a set of encoded video data from the compressed image data rate coefficients; performing bit-wise decoding of the coded frequency coefficients in accordance with the bit-coding scheme, thereby generating a set of frequency coefficients, wherein at least one frequency coefficient is generated, such that the set of coded frequency coefficients is smaller than the set of frequency coefficients; and An inverse transformation is applied to the set of frequency coefficients to determine pixel data representing an array of pixels within the one or more images.

在一個具體實施例內,該位元編碼方案定義用於編碼該等頻率係數每一者的該位元數,該位元編碼方案使用較少的位元數,來編碼對應至較高頻率的頻率係數,並且其中該方法包括產生對應至較高頻域的至少某些該頻率係數。 In one embodiment, the bit-coding scheme defines the number of bits used to encode each of the frequency coefficients, the bit-coding scheme uses a smaller number of bits to encode corresponding to higher frequencies frequency coefficients, and wherein the method includes generating at least some of the frequency coefficients corresponding to the higher frequency domain.

在一個具體實施例內,該方法包括:選擇複數個位元編碼方案之一者;以及依照該選取的位元編碼方案對該已編碼的頻率係數解碼。 In one embodiment, the method includes: selecting one of a plurality of bit encoding schemes; and decoding the encoded frequency coefficients according to the selected bit encoding scheme.

在一個具體實施例內,該等複數個位元編碼方案之每一者選擇性用不同的位元數來編碼不同的頻率係數,以提供一不同的壓縮程度。 In one embodiment, each of the plurality of bit encoding schemes selectively encodes different frequency coefficients with different numbers of bits to provide a different degree of compression.

在一個具體實施例內,至少部分根據至少以下之一來選擇該位元編碼方案:一編碼代碼;該位元編碼方案,用來產生該已壓縮的影像資料;以及該像素陣列的該位置。 In one embodiment, the bit encoding scheme is selected based at least in part on at least one of: an encoding code; the bit encoding scheme used to generate the compressed image data; and the position of the pixel array.

在一個具體實施例內,該等頻率分量配置在複數個層級內,並且其中每一位元編碼方案定義要用來編碼該等複數個層級中每一者內該等頻率係數的一各別位元數。 In one embodiment, the frequency components are arranged in a plurality of levels, and wherein each bit encoding scheme defines a respective bit to be used to encode the frequency coefficients in each of the plurality of levels arity.

在一個具體實施例內,該陣列為一N x N像素陣列,導致2N-1個頻率分量層級。 In one embodiment, the array is an NxN array of pixels, resulting in 2N - 1 levels of frequency components.

在一個具體實施例內,該方法包括將一比例縮放因數套用到至少某些該等頻率係數,如此解碼已比例縮放的已編碼頻率係數,該比例 縮放因數用來增加每一頻率係數的強度,並且其中至少以下之一:將不同的比例縮放因數套用到至少某些已編碼頻率係數;將該相同的比例縮放因數套用到每一已編碼頻率係數;以及將一不同的比例縮放因數套用到一不同通道內的已編碼頻率係數。 In one embodiment, the method includes applying a scaling factor to at least some of the frequency coefficients, such that decoding the scaled encoded frequency coefficients, the scale A scaling factor is used to increase the strength of each frequency coefficient, and at least one of the following: apply a different scaling factor to at least some of the coded frequency coefficients; apply the same scaling factor to each coded frequency coefficient ; and applying a different scaling factor to the encoded frequency coefficients in a different channel.

在一個具體實施例內,該影像資料定義複數個通道,並且其中該方法包括針對每一通道選擇性解碼已編碼的頻率係數。 In one embodiment, the image data defines a plurality of channels, and wherein the method includes selectively decoding the encoded frequency coefficients for each channel.

在一個具體實施例內,該已壓縮影像資料定義YCbCr通道,並且其中該方法包括:執行該等YCbCr通道的一逆轉換;以及將該等已轉換YCbCr通道轉換成RGB通道。 In one embodiment, the compressed image data defines YCbCr channels, and wherein the method includes: performing an inverse conversion of the YCbCr channels; and converting the converted YCbCr channels to RGB channels.

在一個具體實施例內,該方法包括至少以下之一:比該Y通道產生更多頻率係數給該Cb或Cr通道;同時解碼該等已編碼YCbCr通道;以及解碼該等CbCr通道,並將該等已編碼CbCr通道與該Y通道轉換成RGB通道。 In one embodiment, the method includes at least one of: generating more frequency coefficients for the Cb or Cr channel than the Y channel; simultaneously decoding the encoded YCbCr channels; and decoding the CbCr channels and converting the Etc. the encoded CbCr channel and the Y channel are converted to RGB channels.

在一個具體實施例內,該逆轉換為一逆二維(2-D)離散餘弦轉換。 In one embodiment, the inverse transform is an inverse two-dimensional (2-D) discrete cosine transform.

在一個具體實施例內,該方法包括:至少部分通過序列至並行位元組解碼來解碼已壓縮的影像資料;以及同時選擇性解碼頻率係數。 In one embodiment, the method includes: decoding the compressed video data at least in part by sequential-to-parallel byte decoding; and simultaneously selectively decoding the frequency coefficients.

在一個具體實施例內,根據至少以下之一來決定所要的壓縮程度:該像素陣列的該位置;用來傳輸該已壓縮影像資料的一通訊連結之傳輸頻寬;用來傳輸該已壓縮影像資料的一通訊連結之傳輸服務品質;一顯示裝置的移動;影像顯示需求;一目標顯示解析度;經處理的一通道;以及錯誤矩陣。 In one embodiment, the degree of compression desired is determined based on at least one of: the location of the pixel array; the transmission bandwidth of a communication link used to transmit the compressed image data; the transmission bandwidth used to transmit the compressed image Data transmission quality of a communication link; movement of a display device; image display requirements; a target display resolution; a processed channel; and an error matrix.

在一個具體實施例內,該數位實境為至少以下之一:增強實境;虛擬實境;混合實境;以及遙現。 In one embodiment, the digital reality is at least one of: augmented reality; virtual reality; mixed reality; and telepresence.

在一個具體實施例內,該方法用於透過至少以下之一,將來自一計算裝置的該影像資料傳輸至一可穿戴式數位實境頭戴組:一通訊網路;以及一無線通訊連結。 In one embodiment, the method is for transmitting the image data from a computing device to a wearable digital reality headset via at least one of: a communication network; and a wireless communication link.

在一個廣泛的形式中,本發明的態樣尋求提供一種將形成部分數位實境內容的一或多個影像中之影像資料壓縮之設備,該設備包括至少一個電子編碼器處理裝置,該至少一個電子編碼器處理裝置:從該影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列;決定該等一或多個影像之內該像素陣列相對於一已定義位置的一位置,該已定義位置至少部分指示該使用者的一凝視點;以及至少部分依照該已決定的位置將該像素資料壓縮,如此壓縮程度取決於該像素陣列的該已決定位置。 In one broad form, aspects of the present invention seek to provide an apparatus for compressing image data in one or more images forming part of digital reality content, the apparatus comprising at least one electronic encoder processing device, the at least one Electronic encoder processing device: obtains pixel data from the image data, the pixel data data represents a pixel array within the one or more images; determines the pixel array within the one or more images relative to a defined a location of a location, the defined location indicating at least in part a gaze point of the user; and compressing the pixel data at least in part according to the determined location, the extent of such compression being dependent on the determined location of the pixel array.

在一個廣泛的形式中,本發明的態樣尋求提供一種將形成部分數位實境內容的一或多個影像中之已壓縮影像資料解壓縮之設備,該設備包括至少一個電子解碼器處理裝置,該至少一個電子解碼器處理裝置:獲得已壓縮的影像資料,該已壓縮影像資料代表該等一或多個影像之內一像素陣列,並且至少部分根據該等一或多個影像之內相對於一已定義位置的該像素陣列之一位置來壓縮,該已定義位置至少部分指示該使用者的凝視點;以及至少部分根據該已決定位置來將該已壓縮影像資料解壓縮。 In one broad form, aspects of the present invention seek to provide an apparatus for decompressing compressed image data in one or more images forming part of digital reality content, the apparatus comprising at least one electronic decoder processing device, The at least one electronic decoder processing device: obtains compressed image data, the compressed image data representing an array of pixels within the one or more images, and is based, at least in part, on relative to the one or more images compressing a location of the pixel array at a defined location, the defined location indicating at least in part the user's gaze point; and decompressing the compressed image data based at least in part on the determined location.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一或多個影像的影像資料壓縮之方法,該方法包括:從該影像資料獲得像素 資料,該像素料資料代表該等一或多個影像之內一像素陣列;對該像素資料套用一轉換,以決定指示該像素陣列的頻率分量之一組頻率係數;使用一位元編碼方案選擇性編碼至少某些該等頻率係數,藉此產生一組已編碼的頻率係數,其中該位元編碼方案定義用於將該等頻率係數每一者編碼的該位元數,如此該等頻率係數選擇性編碼時:使用不同位元數將至少某些該等已編碼頻率係數編碼;以及拋棄至少一頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及使用該已編碼的頻率係數產生壓縮的影像資料。 In one broad form, aspects of the present invention seek to provide a method of compressing image data representing one or more images, the method comprising: obtaining pixels from the image data data representing an array of pixels within the one or more images; applying a transformation to the pixel data to determine a set of frequency coefficients indicative of frequency components of the pixel array; selecting using a one-bit encoding scheme to selectively encode at least some of the frequency coefficients, thereby producing a set of encoded frequency coefficients, wherein the bit encoding scheme defines the number of bits used to encode each of the frequency coefficients, such that the frequency coefficients are selected When encoding: encoding at least some of the encoded frequency coefficients using different numbers of bits; and discarding at least one frequency coefficient such that the group of encoded frequency coefficients is smaller than the group of frequency coefficients; and using the encoded frequency coefficients to generate compression image data.

在一個具體實施例內,選擇性編碼該等頻率係數,如此至少以下之一:定義使用一些位元來編碼頻率係數之每一者,與該各別頻率係數之值無關;較少位元數用於將對應至較高頻率的頻率係數編碼;逐漸較少的位元數用於將對應至逐漸較高頻率的頻率係數編碼;拋棄對應至較高頻率的至少一頻率係數。 In one embodiment, the frequency coefficients are selectively encoded such that at least one of the following: defines the use of a number of bits to encode each of the frequency coefficients, independent of the value of the respective frequency coefficient; a smaller number of bits for encoding frequency coefficients corresponding to higher frequencies; gradually fewer bits are used for encoding frequency coefficients corresponding to gradually higher frequencies; discarding at least one frequency coefficient corresponding to higher frequencies.

在一個具體實施例內,該方法包括將一比例縮放因數套用到至少某些該等頻率係數,如此編碼已比例縮放的頻率係數,並且其中至少以下之一:將不同的比例縮放因數套用到至少某些頻率係數;將該相同的比例縮放因數套用到每一頻率係數;以及該比例縮放因數用來降低頻率係數每一者的強度。 In one embodiment, the method includes applying a scaling factor to at least some of the frequency coefficients, thus encoding the scaled frequency coefficients, and wherein at least one of the following: applying a different scaling factor to at least some of the frequency coefficients the same scaling factor is applied to each frequency coefficient; and the scaling factor is used to reduce the intensity of each of the frequency coefficients.

在一個具體實施例內,該方法包括:選擇複數個編碼方案之一者;以及使用該選取的編碼方案對該像素資料編碼。 In one embodiment, the method includes: selecting one of a plurality of encoding schemes; and encoding the pixel data using the selected encoding scheme.

在一個具體實施例內,該等編碼方案之每一者提供一各別壓縮程度,並且其中該方法包含至少部分根據至少以下之一者來選擇該編碼 方案:一所要的壓縮程度;以及該像素陣列的該位置。 In one embodiment, each of the encoding schemes provides a respective degree of compression, and wherein the method includes selecting the encoding based, at least in part, on at least one of Scheme: a desired degree of compression; and the position of the pixel array.

在一個具體實施例內,該方法包括依照至少以下之一將頻率係數選擇性編碼:選擇規則;一所要的壓縮程度;以及該等一或多個影像內該像素陣列的一位置。 In one embodiment, the method includes selectively encoding the frequency coefficients according to at least one of: selection rules; a desired degree of compression; and a location of the pixel array within the one or more images.

在一個具體實施例內,該方法包括:選擇複數個位元編碼方案之一者;以及依照該選取的位元編碼方案對該頻率係數編碼。 In one embodiment, the method includes: selecting one of a plurality of bit encoding schemes; and encoding the frequency coefficients according to the selected bit encoding scheme.

在一個具體實施例內,該等複數個位元編碼方案之每一者選擇性用不同的位元數來編碼不同的頻率係數,以提供不同的壓縮程度。 In one embodiment, each of the plurality of bit encoding schemes selectively encodes different frequency coefficients with different numbers of bits to provide different degrees of compression.

在一個具體實施例內,至少部分根據至少以下之一來選擇該位元編碼方案:選擇規則;一所要的壓縮程度;以及該像素陣列的該位置。 In one embodiment, the bit encoding scheme is selected based, at least in part, on at least one of: selection rules; a desired degree of compression; and the location of the pixel array.

在一個具體實施例內,該方法包括根據至少以下之一來選擇該位元解碼方案:用來傳輸該已壓縮影像資料的一通訊連結之傳輸頻寬;用來傳輸該已壓縮影像資料的一通訊連結之傳輸服務品質;一顯示裝置的移動;影像顯示需求;一目標顯示解析度;經處理的一通道;該等一或多個影像之內該像素陣列的一位置;該等一或多個影像之內該像素陣列相對於該等一或多個影像的一觀察者凝視點之一位置;以及錯誤矩陣。 In one embodiment, the method includes selecting the bit decoding scheme based on at least one of: a transmission bandwidth of a communication link used to transmit the compressed video data; a transmission bandwidth used to transmit the compressed video data the transmission quality of the communication link; the movement of a display device; the demand for image display; a target display resolution; a channel processed; a position of the pixel array within the one or more images; the one or more A position within an image of the pixel array relative to an observer's gaze point of the one or more images; and an error matrix.

在一個具體實施例內,該等頻率分量配置在複數個層級內,並且其中每一位元編碼方案定義要用來編碼該等複數個層級中每一者內該等頻率係數的一各別位元數。 In one embodiment, the frequency components are arranged in a plurality of levels, and wherein each bit encoding scheme defines a respective bit to be used to encode the frequency coefficients in each of the plurality of levels arity.

在一個具體實施例內,該陣列為一N x N像素陣列,導致2N-1個頻率分量層級。 In one embodiment, the array is an NxN array of pixels, resulting in 2N - 1 levels of frequency components.

在一個具體實施例內,該方法包括:決定該等一或多個影像 的一觀察者之凝視點;至少部分依照該凝視點將頻率係數選擇性編碼。 In one embodiment, the method includes: determining the one or more images A gaze point of an observer; the frequency coefficients are selectively encoded at least in part according to the gaze point.

在一個具體實施例內,該方法包括:決定該凝視點與該等一或多個影像內該像素陣列的一位置間之距離;以及依照該距離將頻率係數選擇性編碼,如此較大距離有較少的頻率係數經過編碼。 In one embodiment, the method includes: determining a distance between the gaze point and a position of the pixel array in the one or more images; and selectively encoding frequency coefficients according to the distance, such that the larger distance is Fewer frequency coefficients are encoded.

在一個具體實施例內,該影像資料定義複數個通道,並且其中該方法包括針對每一通道選擇性編碼頻率係數。 In one embodiment, the image data defines a plurality of channels, and wherein the method includes selectively encoding frequency coefficients for each channel.

在一個具體實施例內,該像素資料定義RGB通道,並且其中該方法包括:將該RGB通道轉換成YCbCr通道;以及轉換該等YCbCr通道。 In one embodiment, the pixel data defines RGB channels, and wherein the method includes: converting the RGB channels to YCbCr channels; and converting the YCbCr channels.

在一個具體實施例內,該方法包括至少以下之一:選擇性針對該Y通道而比該等Cb或Cr通道編碼更多頻率係數;選擇性針對該等YCbCr通道同時編碼更多頻率係數;以及通過以下產生該已壓縮影像資料:編碼該等CbCr通道;以及使用該Y通道。 In one embodiment, the method includes at least one of: selectively encoding more frequency coefficients for the Y channel than the Cb or Cr channels; selectively encoding more frequency coefficients simultaneously for the YCbCr channels; and The compressed image data is generated by: encoding the CbCr channels; and using the Y channel.

在一個具體實施例內,該轉換為一二維(2-D)離散餘弦轉換。 In one embodiment, the transform is a two-dimensional (2-D) discrete cosine transform.

在一個具體實施例內,該方法包括從一視頻饋送當中獲取該像素資料。 In one embodiment, the method includes obtaining the pixel data from a video feed.

在一個具體實施例內,該方法包括利用以下從影像資料獲取像素資料:緩衝對應至該影像的下一個n-1列像素之影像資料;緩衝該下一列像素的下一個n像素之影像資料;從該已緩衝影像資料中獲得下一個nxn像素區塊的像素資料;重複步驟b)和c),直到已經從所有該n列像素中獲得像素資料;以及重複步驟a)至d),直到已經從該影像的每一列像素中獲得像素資料。 In one embodiment, the method includes obtaining pixel data from image data using: buffering image data corresponding to the next n -1 rows of pixels of the image; buffering image data of the next n pixels of the next row of pixels; obtain pixel data for the next n x n block of pixels from the buffered image data; repeat steps b) and c) until pixel data has been obtained from all the n rows of pixels; and repeat steps a) to d), until pixel data has been obtained from each column of pixels in the image.

在一個具體實施例內,根據至少以下之一來選擇n:選擇規則;一選取的位元編碼方案;以及該像素陣列的該位置。 In one embodiment, n is selected according to at least one of: a selection rule; a selected bit-coding scheme; and the position of the pixel array.

在一個具體實施例內,該方法包括:同時選擇編碼頻率係數;以及至少部分通過並行至序列位元組編碼來產生壓縮的影像資料。 In one embodiment, the method includes simultaneously selecting encoding frequency coefficients; and generating compressed image data at least in part by parallel-to-sequential byte encoding.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一或多個影像的影像資料壓縮之設備,該設備包括至少一個電子編碼器處理裝置,該至少一個電子編碼器處理裝置:從該影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列;對該像素資料套用一轉換,以決定指示該像素陣列的頻率分量之一組頻率係數;使用一位元編碼方案選擇性編碼至少某些該等頻率係數,藉此產生一組已編碼的頻率係數,其中該位元編碼方案定義用於將該等頻率係數編碼的該位元數,並且其中該等頻率係數選擇性編碼時:至少某些該等已編碼頻率係數具有不同位元數;拋棄至少一頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及使用該已編碼的頻率係數產生已壓縮的影像資料。 In one broad form, aspects of the present invention seek to provide an apparatus for compressing image data representing one or more images, the apparatus comprising at least one electronic encoder processing means, the at least one electronic encoder processing means: from The image data obtains pixel data representing an array of pixels within the one or more images; applies a transformation to the pixel data to determine a set of frequency coefficients indicative of frequency components of the pixel array; uses a A bit-coding scheme selectively encodes at least some of the frequency coefficients, thereby producing a set of coded frequency coefficients, wherein the bit-coding scheme defines the number of bits used to encode the frequency coefficients, and wherein the When frequency coefficients are selectively encoded: at least some of the encoded frequency coefficients have different numbers of bits; discard at least one frequency coefficient so that the group of encoded frequency coefficients is smaller than the group of frequency coefficients; and use the encoded frequency coefficients to generate Compressed image data.

在一個具體實施例內,該設備包括:一編碼器輸入緩衝區,用來接收該影像資料;以及一編碼器輸出緩衝區,其中儲存壓縮影像資料。 In one embodiment, the apparatus includes: an encoder input buffer for receiving the image data; and an encoder output buffer for storing compressed image data.

在一個具體實施例內,該設備包括一編碼器輸入緩衝區,該編碼器輸入緩衝區:緩衝對應至該影像的下一個n-1列像素之影像資料;緩衝該下一列像素中下一個n像素的影像資料,允許該至少一個編碼器處理裝置從該已緩衝影像資料中獲取下一個nxn像素區塊的像素資料;重複步驟b),直到已經從所有該n列像素中獲得像素資料;以及重複步驟a)和b),直到已經從該影像的每一列像素中獲得像素資料。 In one embodiment, the apparatus includes an encoder input buffer that: buffers image data corresponding to the next n -1 rows of pixels in the image; buffers the next n of pixels in the next row pixel image data, allowing the at least one encoder processing device to obtain pixel data for the next n x n pixel block from the buffered image data; repeat step b) until pixel data has been obtained from all the n rows of pixels ; and repeating steps a) and b) until pixel data has been obtained from each column of pixels in the image.

在一個具體實施例內,該設備包括一編碼器發射器,發射來自該編碼器輸出緩衝區的該影像資料。 In one embodiment, the apparatus includes an encoder transmitter that transmits the image data from the encoder output buffer.

在一個具體實施例內,該至少一個編碼器處理裝置包括:一現場可程式閘陣列;一專用積體電路以及一圖形處理單元。 In one embodiment, the at least one encoder processing device includes: a field programmable gate array; a dedicated integrated circuit; and a graphics processing unit.

在一個具體實施例內,該像素資料定義複數個通道,並且其中該設備包括至少每一通道的一各別處理裝置之一者以及一並行處理裝置,用來同時處理每一通道。 In one embodiment, the pixel data defines a plurality of channels, and wherein the apparatus includes at least one of a respective processing device for each channel and a parallel processing device for processing each channel simultaneously.

在一個具體實施例內,該像素資料定義RGB通道,並且其中該設備:將該RGB通道轉換成YCbCr通道;以及使用處理裝置將該等YCbCr通道選擇性編碼。 In one embodiment, the pixel data defines RGB channels, and wherein the apparatus: converts the RGB channels to YCbCr channels; and selectively encodes the YCbCr channels using processing means.

在一個具體實施例內,該像素資料定義RGB通道,並且其中該設備:使用一YCbCr處理裝置,將該等RGB通道轉換成CbCr通道;使用至少一各別處理裝置將該等CbCr通道解碼;以及使用一延遲區塊將該Y通道從該YCbCr處理裝置轉換至一輸出緩衝區。 In one embodiment, the pixel data defines RGB channels, and wherein the apparatus: converts the RGB channels to CbCr channels using a YCbCr processing device; decodes the CbCr channels using at least one respective processing device; and The Y channel is converted from the YCbCr processing device to an output buffer using a delay block.

在一個具體實施例內,該設備包括一編碼器,用無線通訊方式與一解碼器通訊,允許影像資料以已壓縮影像資料方式在該編碼器與該解碼器之間轉換。 In one embodiment, the apparatus includes an encoder in wireless communication with a decoder, allowing image data to be converted between the encoder and the decoder as compressed image data.

在一個具體實施例內,該編碼器為耦合至合適程式編輯的處理系統至少之一及其一部分。 In one embodiment, the encoder is at least one and a portion thereof coupled to a suitable programming processing system.

在一個具體實施例內,該解碼器為耦合至一可穿戴顯示裝置至少之一及其一部分。 In one embodiment, the decoder is coupled to at least one and a portion of a wearable display device.

在一個具體實施例內,該編碼器和解碼器通訊來交換至少以 下之一:已壓縮的影像資料;指示一顯示裝置移動的移動資料;至少部分用來控制該顯示裝置的控制資料;指示使用者輸入指令的輸入資料;指示一觀察者的凝視點之凝視資料;以及來自與一可穿戴顯示裝置關聯的感應器之感應器資料。 In one embodiment, the encoder and decoder communicate to exchange at least The following one: compressed image data; movement data indicating movement of a display device; control data used at least in part to control the display device; input data indicating user input commands; gaze data indicating a gaze point of an observer ; and sensor data from sensors associated with a wearable display device.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一或多個影像的已壓縮影像資料解壓縮之方法,該方法包括:獲取已壓縮的影像資料;依照定義每一已編碼頻率係數內所使用位元數的一位元編碼方案,從該已壓縮影像資料決定一組已編碼頻率係數;依照該位元編碼方案來執行該已編碼頻率係數的位元解碼,藉此產生一組頻率係數,其中產生至少一個頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及對該組頻率係數套用一逆向轉換,來決定代表該等一或多個影像之內一像素陣列的像素資料。 In one broad form, aspects of the present invention seek to provide a method of decompressing compressed image data representing one or more images, the method comprising: obtaining the compressed image data; each encoded frequency as defined A one-bit encoding scheme of the number of bits used in the coefficients, and a set of encoded frequency coefficients is determined from the compressed image data; bit-wise decoding of the encoded frequency coefficients is performed according to the bit encoding scheme, thereby generating a a set of frequency coefficients, wherein at least one frequency coefficient is generated, such that the set of encoded frequency coefficients is less than the set of frequency coefficients; and applying an inverse transformation to the set of frequency coefficients to determine an array representing a pixel within the one or more images pixel data.

在一個具體實施例內,該方法包括:選擇複數個解碼方案之一者;以及使用該選取的解碼方案對該像素資料解碼。 In one embodiment, the method includes: selecting one of a plurality of decoding schemes; and decoding the pixel data using the selected decoding scheme.

在一個具體實施例內,該方法包括至少部分根據至少以下之一來選擇該解碼方案:選擇規則;一所要的壓縮程度;該像素陣列的一位置;以及指示所使用的該編碼方案之一編碼代碼,該編碼代碼由該已壓縮的資料影像來決定。 In one embodiment, the method includes selecting the decoding scheme based, at least in part, on at least one of: selection rules; a desired degree of compression; a position in the pixel array; and an encoding indicating one of the encoding schemes used code, the encoding code is determined by the compressed data image.

在一個具體實施例內,該位元編碼方案使用較少的位元數,來編碼對應至較高頻率的頻率係數,並且其中該方法包括產生對應至較高頻域的至少某些該頻率係數。 In one embodiment, the bit encoding scheme uses a smaller number of bits to encode frequency coefficients corresponding to higher frequencies, and wherein the method includes generating at least some of the frequency coefficients corresponding to the higher frequency domain.

在一個具體實施例內,該方法包括將一比例縮放因數套用到 至少某些該等頻率係數,如此轉換已比例縮放的頻率係數,並且其中至少以下之一:將不同的比例縮放因數套用到至少某些已編碼頻率係數;將該相同的比例縮放因數套用到每一已編碼頻率係數;以及該比例縮放因數用來增加已編碼頻率係數每一者的強度。 In a specific embodiment, the method includes applying a scaling factor to at least some of these frequency coefficients, such that the scaled frequency coefficients are converted and at least one of the following: apply a different scaling factor to at least some of the encoded frequency coefficients; apply the same scaling factor to each encoded frequency coefficients; and the scaling factor is used to increase the strength of each of the encoded frequency coefficients.

在一個具體實施例內,該方法包括:選擇複數個位元編碼方案之一者;以及依照該選取的位元編碼方案對該已編碼的頻率係數解碼。 In one embodiment, the method includes: selecting one of a plurality of bit encoding schemes; and decoding the encoded frequency coefficients according to the selected bit encoding scheme.

在一個具體實施例內,該等複數個位元編碼方案之每一者選擇性用不同的位元數來編碼不同的頻率係數,以提供不同的壓縮程度。 In one embodiment, each of the plurality of bit encoding schemes selectively encodes different frequency coefficients with different numbers of bits to provide different degrees of compression.

在一個具體實施例內,至少部分根據至少以下之一來選擇該位元編碼方案:一編碼代碼;選擇規則;該位元編碼方案,用來產生該已壓縮的影像資料;以及該像素陣列的該位置。 In one embodiment, the bit encoding scheme is selected based at least in part on at least one of: an encoding code; selection rules; the bit encoding scheme used to generate the compressed image data; the location.

在一個具體實施例內,該選擇規則根據至少以下之一:用來傳輸該已壓縮影像資料的一通訊連結之傳輸頻寬;用來傳輸該已壓縮影像資料的一通訊連結之傳輸服務品質;一顯示裝置的移動;影像顯示需求;一目標顯示解析度;經處理的一通道;該等一或多個影像之內該像素陣列的一位置;該等一或多個影像之內該像素陣列相對於該等一或多個影像的一觀察者凝視點之一位置;以及錯誤矩陣。 In one embodiment, the selection rule is based on at least one of the following: transmission bandwidth of a communication link used to transmit the compressed image data; transmission quality of service of a communication link used to transmit the compressed image data; movement of a display device; image display requirements; a target display resolution; a channel processed; a position of the pixel array within the one or more images; the pixel array within the one or more images a position of an observer's gaze point relative to the one or more images; and an error matrix.

在一個具體實施例內,該方法包括:決定該等一或多個影像的一觀察者之凝視點;至少部分依照該凝視點將已編碼頻率係數選擇性解碼。 In one embodiment, the method includes: determining a gaze point of an observer of the one or more images; and selectively decoding encoded frequency coefficients based at least in part on the gaze point.

在一個具體實施例內,該方法包括:決定該凝視點與該等一或多個影像內該像素陣列的一位置間之距離;以及依照該距離將該已編碼 頻率係數選擇性解碼,如此較大距離產生較多的頻率係數。 In one embodiment, the method includes: determining a distance between the gaze point and a position of the pixel array within the one or more images; and according to the distance the encoded The frequency coefficients are selectively decoded, such that larger distances produce more frequency coefficients.

在一個具體實施例內,該等頻率分量配置在複數個層級內,並且其中每一位元編碼方案定義要用來編碼該等複數個層級中每一者內該等頻率係數的一各別位元數。 In one embodiment, the frequency components are arranged in a plurality of levels, and wherein each bit encoding scheme defines a respective bit to be used to encode the frequency coefficients in each of the plurality of levels arity.

在一個具體實施例內,該陣列為一N x N像素陣列,導致2N-1個頻率分量層級。 In one embodiment, the array is an NxN array of pixels, resulting in 2N - 1 levels of frequency components.

在一個具體實施例內,該影像資料定義複數個通道,並且其中該方法包括針對每一通道選擇性解碼已編碼的頻率係數。 In one embodiment, the image data defines a plurality of channels, and wherein the method includes selectively decoding the encoded frequency coefficients for each channel.

在一個具體實施例內,該已壓縮影像資料定義YCbCr通道,並且其中該方法包括:執行該等YCbCr通道的一逆轉換;以及將該等已轉換YCbCr通道轉換成RGB通道。 In one embodiment, the compressed image data defines YCbCr channels, and wherein the method includes: performing an inverse conversion of the YCbCr channels; and converting the converted YCbCr channels to RGB channels.

在一個具體實施例內,該方法包括至少以下之一:比該Y通道產生更多頻率係數給該Cb或Cr通道;同時解碼該等已編碼YCbCr通道;解碼該等CbCr通道,並將該等已解碼CbCr通道與該Y通道轉換成RGB通道。 In one embodiment, the method includes at least one of: generating more frequency coefficients for the Cb or Cr channel than the Y channel; simultaneously decoding the encoded YCbCr channels; decoding the CbCr channels, and converting the The decoded CbCr channel and the Y channel are converted to RGB channels.

在一個具體實施例內,該逆轉換為一逆二維(2-D)離散餘弦轉換。 In one embodiment, the inverse transform is an inverse two-dimensional (2-D) discrete cosine transform.

在一個具體實施例內,該方法包括使用該像素資料來產生一視頻饋送。 In one embodiment, the method includes using the pixel data to generate a video feed.

在一個具體實施例內,該方法包括:至少部分通過序列至並行位元組解碼來解碼已壓縮的影像資料;以及同時選擇性解碼頻率係數。 In one embodiment, the method includes: decoding the compressed video data at least in part by sequential-to-parallel byte decoding; and simultaneously selectively decoding the frequency coefficients.

在一個具體實施例內,該數位實境為至少以下之一:增強實境;虛擬實境;以及混合實境。 In one embodiment, the digital reality is at least one of: augmented reality; virtual reality; and mixed reality.

在一個具體實施例內,該方法用於利用透過至少以下之一,接收來自一計算裝置的該已壓縮影像資料,在一可戴式數位實境頭戴組內顯示影像資料:一通訊網路;以及一無線通訊連結。 In one embodiment, the method is for displaying the image data in a wearable digital reality headset utilizing the compressed image data received from a computing device through at least one of: a communication network; and a wireless communication link.

在一個具體實施例內,該方法用於至少以下之一:傳輸虛擬實境視頻資料;以及無線傳輸虛擬實境視頻資料。 In a specific embodiment, the method is used for at least one of: transmitting virtual reality video material; and wirelessly transmitting virtual reality video material.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一或多個影像的已壓縮影像資料解壓縮之設備,該設備包括至少一個電子解碼器處理裝置,該至少一個電子解碼器處理裝置:獲取已壓縮的影像資料;依照定義每一已編碼頻率係數內所使用該位元數的一位元編碼方案,從該已壓縮影像資料決定一組已編碼頻率係數;依照該位元編碼方案來執行該已編碼頻率係數的位元解碼,藉此產生一組頻率係數,其中產生至少一個頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及對該組頻率係數套用一逆向轉換,來決定代表該等一或多個影像之內一像素陣列的像素資料。 In one broad form, aspects of the present invention seek to provide an apparatus for decompressing compressed image data representing one or more images, the apparatus comprising at least one electronic decoder processing means, the at least one electronic decoder processing The device: obtains compressed image data; determines a set of coded frequency coefficients from the compressed image data according to a one-bit coding scheme that defines the number of bits used in each coded frequency coefficient; encodes according to the bits a scheme to perform bit-wise decoding of the coded frequency coefficients, thereby generating a set of frequency coefficients, wherein at least one frequency coefficient is generated, such that the set of coded frequency coefficients is smaller than the set of frequency coefficients; and applying an inverse to the set of frequency coefficients transform to determine pixel data representing an array of pixels within the one or more images.

在一個具體實施例內,該設備包括:一解碼器輸入緩衝區,用來接收該已壓縮影像資料;以及一解碼器輸出緩衝區,其儲存該影像資料。 In one embodiment, the apparatus includes: a decoder input buffer for receiving the compressed image data; and a decoder output buffer for storing the image data.

在一個具體實施例內,該設備包含一解碼器收發器,接收該已壓縮影像資料並將該已壓縮影像資料提供至該輸入緩衝區。 In one embodiment, the apparatus includes a decoder transceiver that receives the compressed image data and provides the compressed image data to the input buffer.

在一個具體實施例內,該至少一個解碼器處理裝置包括:一現場可程式閘陣列;一專用積體電路以及一圖形處理單元。 In one embodiment, the at least one decoder processing device includes: a field programmable gate array; a dedicated integrated circuit; and a graphics processing unit.

在一個具體實施例內,該已壓縮影像資料定義複數個通道, 並且其中該設備包括至少每一通道的一各別處理裝置之一者以及一並行處理裝置,用來同時處理每一通道。 In one embodiment, the compressed image data defines a plurality of channels, And wherein the apparatus includes at least one of a respective processing device for each channel and a parallel processing device for processing each channel simultaneously.

在一個具體實施例內,該已壓縮影像資料定義YCbCr通道,並且其中該設備:使用至少一個處理裝置將該等CbCr通道解碼;以及將該等已解碼YCbCr通道轉換成RGB通道。 In one embodiment, the compressed image data defines YCbCr channels, and wherein the apparatus: decodes the CbCr channels using at least one processing device; and converts the decoded YCbCr channels to RGB channels.

在一個具體實施例內,該已壓縮影像資料定義YCbCr通道,並且其中該設備:使用處理裝置將該等CbCr通道解碼;使用一RGB處理裝置,將該等已解碼CbCr通道與該Y通道轉換成RGB通道;以及使用一延遲區塊將該Y通道從一解碼器輸入緩衝區轉換至該RGB處理裝置。 In one embodiment, the compressed image data defines YCbCr channels, and wherein the apparatus: decodes the CbCr channels using processing means; converts the decoded CbCr channels and the Y channel using an RGB processing means RGB channel; and converting the Y channel from a decoder input buffer to the RGB processing device using a delay block.

在一個具體實施例內,該設備包括一解碼器,以無線通訊方式與一編碼器通訊,允許影像資料作為已壓縮影像資料在該編碼器與該解碼器之間傳輸。 In one embodiment, the apparatus includes a decoder in wireless communication with an encoder, allowing image data to be transmitted between the encoder and the decoder as compressed image data.

在一個具體實施例內,該解碼器為耦合至合適程式編輯的電腦系統至少之一及其一部分。 In one embodiment, the decoder is at least one and a portion thereof coupled to a suitable programming computer system.

在一個具體實施例內,該解碼器為耦合至一可穿戴顯示裝置至少之一及其一部分。 In one embodiment, the decoder is coupled to at least one and a portion of a wearable display device.

在一個具體實施例內,該解碼器和編碼器通訊來交換至少以下之一:已壓縮的影像資料;指示一顯示裝置移動的移動資料;至少部分用來控制該顯示裝置的控制資料;指示使用者輸入指令的輸入資料;指示一觀察者的凝視點之凝視資料;以及來自與一可穿戴顯示裝置關聯的感應器之感應器資料。 In one embodiment, the decoder communicates with the encoder to exchange at least one of: compressed video data; movement data indicating movement of a display device; control data used at least in part to control the display device; input data for the user to input commands; gaze data indicating a gaze point of an observer; and sensor data from sensors associated with a wearable display device.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一 或多個影像的影像資料壓縮之方法,該方法包括:從該影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列;決定一編碼方案;使用該編碼方案對該像素資料編碼;決定指示所使用該編碼方案的一編碼代碼;以及使用該編碼代碼與已編碼像素資料來產生已壓縮影像資料。 In a broad form, aspects of the present invention seek to provide a A method of compressing image data of one or more images, the method comprising: obtaining pixel data from the image data, the pixel data representing an array of pixels within the one or more images; determining an encoding scheme; using the encoding scheme encoding the pixel data; determining an encoding code indicating the encoding scheme used; and generating compressed image data using the encoding code and the encoded pixel data.

在一個具體實施例內,該方法包括用至少以下之一來決定該編碼方案:根據該影像資料的一影像類型;根據從一影像資料來源接收的一編碼方案指示;利用分析至少該影像資料與該像素資料之一者;以及根據包含至少以下之一的壓縮需求:一壓縮總量;一結果影像品質;以及一壓縮延遲。 In one embodiment, the method includes determining the encoding scheme by at least one of: based on an image type of the image data; based on an encoding scheme indication received from an image data source; by analyzing at least the image data with one of the pixel data; and according to a compression requirement comprising at least one of: a compression amount; a resultant image quality; and a compression delay.

在一個具體實施例內,該方法包括分析該像素資料來決定該像素陣列是否為至少以下之一:一梯度;一邊界;以及一單一顏色。 In one embodiment, the method includes analyzing the pixel data to determine whether the pixel array is at least one of: a gradient; a border; and a single color.

在一個具體實施例內,該方法包括至少以下之一:若該像素陣列為純色,則將該像素陣列替換為表示該純色的一編碼代碼;若該像素陣列為一梯度,則該方法包含使用根據本發明另一態樣的一方法來將該像素資料編碼;以及使用根據本發明另一態樣的一方法來將該像素資料解碼。 In one embodiment, the method includes at least one of the following: if the pixel array is a solid color, replacing the pixel array with an encoded code representing the solid color; if the pixel array is a gradient, the method includes using The pixel data is encoded according to a method according to another aspect of the present invention; and the pixel data is decoded using a method according to another aspect of the present invention.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一或多個影像的影像資料壓縮之設備,該設備包括至少一個電子編碼器處理裝置,該至少一個電子編碼器處理裝置:從該影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列;決定一編碼方案;使用該編碼方案將該像素資料編碼;決定指示所使用該編碼方案的一編碼代碼;以及使用該已編碼的頻率係數產生壓縮的影像資料。 In one broad form, aspects of the present invention seek to provide an apparatus for compressing image data representing one or more images, the apparatus comprising at least one electronic encoder processing means, the at least one electronic encoder processing means: from the image data obtains pixel data representing an array of pixels within the one or more images; determines an encoding scheme; encodes the pixel data using the encoding scheme; determines an encoding indicating the encoding scheme used code; and generating compressed image data using the encoded frequency coefficients.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一或多個影像的已壓縮影像資料解壓縮之方法,該方法包括:獲取已壓縮的影像資料;從該已壓縮影像資料決定一編碼代碼;使用該編碼代碼決定一編碼方案;以及使用該編碼方案將該至少部分已壓縮影像資料解碼,來決定代表該等一或多個影像之內一像素陣列的像素資料。 In one broad form, aspects of the present invention seek to provide a method of decompressing compressed image data representing one or more images, the method comprising: obtaining compressed image data; determining from the compressed image data an encoding code; determining an encoding scheme using the encoding code; and decoding the at least a portion of the compressed image data using the encoding scheme to determine pixel data representing an array of pixels within the one or more images.

在一個具體實施例內,該方法包括至少以下之一:將一編碼代碼替換為一純色的像素陣列;使用根據本發明另一態樣的一方法,將已壓縮影像資料解碼為一梯度的一像素陣列;以及使用根據本發明另一態樣的一方法來將該已壓縮影像資料解碼。 In one embodiment, the method includes at least one of: replacing an encoded code with a solid-color pixel array; using a method according to another aspect of the present invention to decode compressed image data into a gradient of pixel array; and decoding the compressed image data using a method according to another aspect of the present invention.

在一個廣泛的形式中,本發明的態樣尋求提供一種將代表一或多個影像的已壓縮影像資料解壓縮之設備,該設備包括至少一個電子解碼器處理裝置,該至少一個電子解碼器處理裝置:獲取已壓縮的影像資料;從該已壓縮影像資料決定一編碼代碼;使用該編碼代碼決定一編碼方案;以及使用該編碼方案將該已壓縮影像資料解碼,來決定代表該等一或多個影像之內一像素陣列的像素資料。 In one broad form, aspects of the present invention seek to provide an apparatus for decompressing compressed image data representing one or more images, the apparatus comprising at least one electronic decoder processing means, the at least one electronic decoder processing means: obtaining compressed image data; determining an encoding code from the compressed image data; determining an encoding scheme using the encoding code; and decoding the compressed image data using the encoding scheme to determine representations of the one or more Pixel data for a pixel array within an image.

應了解,本發明的廣泛形式及其各自特徵可以結合使用、可互換及/或獨立使用,並且不用於限制參考單獨的廣泛形式。 It should be appreciated that the broad forms of the invention and their respective features may be used in combination, interchangeably and/or independently and are not intended to be limited to reference to a single broad form.

100-170‧‧‧步驟 100-170‧‧‧Steps

200‧‧‧可穿戴式裝置上顯示影像設備 200‧‧‧Display video equipment on wearable devices

210‧‧‧處理系統 210‧‧‧Processing system

220‧‧‧編碼器 220‧‧‧Encoder

230‧‧‧解碼器 230‧‧‧Decoder

240‧‧‧HMD 240‧‧‧HMD

250‧‧‧控制器 250‧‧‧Controller

260‧‧‧無線通訊連結 260‧‧‧Wireless Communication Link

300‧‧‧虛擬實境系統合併用於 壓縮與解壓縮影像資料的設備 300‧‧‧Virtual reality systems incorporated for Equipment for compressing and decompressing video data

310‧‧‧處理系統 310‧‧‧Processing system

311‧‧‧微處理器 311‧‧‧Microprocessors

312‧‧‧記憶體 312‧‧‧Memory

313‧‧‧輸入/輸出裝置 313‧‧‧Input/Output Devices

314‧‧‧外部介面 314‧‧‧External interface

315‧‧‧匯流排 315‧‧‧Bus

320‧‧‧編碼器 320‧‧‧Encoder

321‧‧‧編碼器輸入緩衝區 321‧‧‧Encoder input buffer

322‧‧‧編碼器處理裝置 322‧‧‧Encoder processing device

323‧‧‧編碼器輸出緩衝區 323‧‧‧Encoder output buffer

324‧‧‧收發器 324‧‧‧Transceiver

325‧‧‧個別資料緩衝區 325‧‧‧Individual data buffer

330‧‧‧解碼器 330‧‧‧Decoder

331‧‧‧解碼器輸入緩衝區 331‧‧‧Decoder input buffer

332‧‧‧解碼器處理裝置 332‧‧‧Decoder Processing Device

333‧‧‧解碼器輸出緩衝區 333‧‧‧Decoder output buffer

334‧‧‧收發器 334‧‧‧Transceivers

335‧‧‧個別資料緩衝區 335‧‧‧Individual data buffer

340‧‧‧顯示裝置 340‧‧‧Display Devices

341‧‧‧微處理器 341‧‧‧Microprocessors

342‧‧‧記憶體 342‧‧‧Memory

343‧‧‧輸入/輸出裝置 343‧‧‧Input/Output Devices

344‧‧‧感測器 344‧‧‧Sensor

345‧‧‧顯示器 345‧‧‧Display

346‧‧‧外部介面 346‧‧‧External interface

347‧‧‧匯流排 347‧‧‧Bus

360‧‧‧短範圍無線電通訊 360‧‧‧Short range radio communication

400-448‧‧‧步驟 400-448‧‧‧Steps

531-533‧‧‧頻率係數 531-533‧‧‧Frequency coefficient

541‧‧‧亮度通道 541‧‧‧Luminance Channels

542‧‧‧色度通道 542‧‧‧chroma channels

543‧‧‧色度通道 543‧‧‧chroma channel

600-630‧‧‧步驟 600-630‧‧‧Steps

701‧‧‧可觀看部分 701‧‧‧Viewable part

702‧‧‧不可觀看部分 702‧‧‧Unviewable part

800-860‧‧‧步驟 800-860‧‧‧Steps

900-928‧‧‧步驟 900-928‧‧‧Steps

1000-1040‧‧‧步驟 1000-1040‧‧‧Steps

請參閱附圖,說明本發明的範例,其中:第一圖為用於壓縮以及後續解壓縮影像資料的一方法範例之流程圖;第二A圖為用於在一可穿戴式裝置上顯示影像的一設備之 第一範例示意圖;第二B圖為用於在一可穿戴式裝置上顯示影像的一設備之第二範例示意圖;第三圖為一虛擬實境系統合併用於壓縮與解壓縮影像資料的設備之特定範例示意圖;第四A圖至第四D圖為用於壓縮以及後續解壓縮影像資料的一方法特定範例之流程圖;第五圖為例示該編碼處理態樣的示意圖;第六圖為選擇一位元編碼方案的一方法範例之流程圖;第七圖為待編碼的影像範例之示意圖;第八圖為用於壓縮影像資料以及解壓縮已壓縮影像資料的一編碼/解碼方案之另一個範例的流程圖;第九A圖和第九B圖為使用一選取的編碼/解碼方案,來壓縮以及後續解壓縮影像資料的一方法特定範例之流程圖;以及第十圖為用於壓縮以及後續解壓縮影像資料的一方法進一步範例之流程圖。 Please refer to the accompanying drawings to illustrate examples of the present invention, wherein: the first is a flowchart of an example method for compressing and subsequently decompressing image data; the second A is for displaying images on a wearable device one of the devices The first example is a schematic diagram; the second B is a second example of an apparatus for displaying images on a wearable device; the third diagram is a virtual reality system incorporating equipment for compressing and decompressing image data Figure 4 is a schematic diagram of a specific example; Figures 4 A to D are flowcharts of a specific example of a method for compressing and subsequently decompressing image data; Figure 5 is a schematic diagram illustrating an aspect of the encoding process; Figure 6 is a A flowchart of an example method of selecting a one-bit encoding scheme; Figure 7 is a schematic diagram of an example of an image to be encoded; Figure 8 is another example of an encoding/decoding scheme for compressing image data and decompressing compressed image data Flow chart of an example; Figures 9A and 9B are flow charts of a specific example of a method for compressing and subsequently decompressing image data using a selected encoding/decoding scheme; and Figure 10 is a flow chart for compression and a flowchart of a further example of a method for subsequent decompression of image data.

此時將參閱第一圖說明用於壓縮與解壓縮影像資料的方法之範例。 An example of a method for compressing and decompressing image data will now be described with reference to the first figure.

針對例示目的,假設至少部分使用一或多個電子處理裝置來執行該處理。在一個範例中,使用個別處理裝置來壓縮與解壓縮該影像資料,允許已壓縮影像資料在該等兩處理裝置之間傳輸,雖然這並非必須並 且可擇一地同一個處理裝置可用於壓縮與解壓縮該影像資料。 For purposes of illustration, it is assumed that the processing is performed, at least in part, using one or more electronic processing devices. In one example, separate processing devices are used to compress and decompress the image data, allowing compressed image data to be transmitted between the two processing devices, although this is not required and And alternatively the same processing device can be used to compress and decompress the image data.

該處理裝置可形成各別處理系統的一部分,像是電腦系統、電腦伺服器、包含行動電話、可攜式電腦的用戶端裝置、像是可穿戴式或頭戴式顯示器的顯示裝置,或另外可為連結至這種裝置的獨立模組形式。 The processing device may form part of a respective processing system, such as a computer system, a computer server, a client device including a mobile phone, a portable computer, a display device such as a wearable or head-mounted display, or otherwise It may be in the form of a stand-alone module attached to such a device.

該影像資料通常代表一或多個影像,並且在一個範例中,代表要顯示在各別顯示裝置上的一系列影像。如從以下說明中將了解,在一個特定範例中,該影像資料為適於遠端顯示對於一來源的一系列影像,像是在其中影像顯示於一可穿戴式顯示器上的虛擬或增強實境圖形應用中,及/或在其中影像從像是無人機搭載攝影機等遠端可控制系統顯示的遙現應用中。 The image data typically represents one or more images, and in one example, a series of images to be displayed on respective display devices. As will be understood from the description below, in one particular example, the image data is suitable for remote display of a series of images for a source, such as a virtual or augmented reality in which the images are displayed on a wearable display In graphics applications, and/or in telepresence applications where images are displayed from a remotely controllable system such as a drone mounted camera.

在此範例中,在步驟100上,從影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列。該像素資料可用任何合適的方式獲取,這取決於該影像資料的格式。在一個範例中,簡單選擇該影像資料之內特定位元組序列就可達成。該像素陣列通常對應至一組像素數量,像是該等影像之一者之內一8x8像素區塊,不過也可使用其他像素陣列。 In this example, at step 100, pixel data is obtained from image data, the pixel data representing an array of pixels within the one or more images. The pixel data can be obtained in any suitable manner, depending on the format of the image data. In one example, this is accomplished by simply selecting a particular sequence of bytes within the image data. The pixel array typically corresponds to a number of pixels, such as an 8x8 pixel block within one of the images, although other pixel arrays may be used.

在步驟110上,對該像素資料套用一轉換,以決定指示該像素陣列的頻率分量之一組頻率係數。因此,該轉換通常為一頻率轉換,像是傅立葉轉換等,並且在一個範例內為2D DCT(離散餘弦轉換)。該轉換可用任何合適的方式套用,例如使用已知的轉換技術,但是在一個範例中以高並行方式執行,藉此縮短處理時間。 At step 110, a transformation is applied to the pixel data to determine a set of frequency coefficients indicative of frequency components of the pixel array. Therefore, the transform is usually a frequency transform, such as a Fourier transform, etc., and in one example a 2D DCT (discrete cosine transform). The transformation can be applied in any suitable manner, such as using known transformation techniques, but in one example is performed in a highly parallel manner, thereby reducing processing time.

在步驟120上,使用一位元編碼方案將至少某些該等頻率係 數選擇性編碼,藉此產生一組已編碼的頻率係數。該位元編碼方案定義要用來將每一頻率係數編碼的位元數,在該等頻率係數經過選擇性編碼之後,至少某些該等已編碼頻率係數具有不同位元數,並且至少一頻率係數遭到拋棄,如此該組已編碼頻率係數小於該組頻率係數。 At step 120, at least some of the frequencies are encoded using a one-bit encoding scheme number-selective encoding, thereby producing a set of encoded frequency coefficients. The bit encoding scheme defines the number of bits to be used to encode each frequency coefficient, after the frequency coefficients are selectively encoded, at least some of the encoded frequency coefficients have different numbers of bits, and at least one frequency coefficient is discarded so that the set of coded frequency coefficients is smaller than the set of frequency coefficients.

此處理可用任何合適方式實現,並且可包含拋棄某些該等頻率係數,然後使用不同的位元數編碼該等剩餘頻率係數,藉此減少編碼該等頻率係數所需的位元數。替代地,該處理應包括用零位元編碼某些該等頻率係數,藉此有效拋棄該等各別頻率係數做為該編碼步驟的一部分。 This process may be accomplished in any suitable manner, and may include discarding some of the frequency coefficients and then encoding the remaining frequency coefficients using a different number of bits, thereby reducing the number of bits required to encode the frequency coefficients. Alternatively, the process should include encoding some of the frequency coefficients with zero bits, thereby effectively discarding the respective frequency coefficients as part of the encoding step.

已拋棄的該等特定頻率分量將隨該較佳實施而變,通常較高頻率分量會因其強度較少並因其對應至影像之內劇烈轉變而被拋棄,意味著其對於整體影像品質的貢獻較少。這允許拋棄較高頻率分量係數,而不會對所感受的影像品質有顯著不利地影響。除了拋棄對應至較高頻率的頻率分量以外,該處理可用較少位元編碼較高頻率分量的頻率係數,藉此減少編碼該等頻率係數所需的位元總量。 The specific frequency components that are discarded will vary with the preferred implementation, generally higher frequency components are discarded because they are less intense and because they correspond to sharp transitions within the image, meaning they have a significant impact on the overall image quality. Contribute less. This allows higher frequency component coefficients to be discarded without significantly adversely affecting the perceived image quality. In addition to discarding frequency components corresponding to higher frequencies, the process may encode frequency coefficients of higher frequency components with fewer bits, thereby reducing the total number of bits required to encode the frequency coefficients.

類似地,當用不同位元數編碼該等頻率係數時,其執行與該頻率係數的實際值無關,而是根據對該頻率係數的預期強度之了解來執行。例如:較低頻率上的頻率係數強度通常較大,因此通常用較多位元數編碼,而較高頻率上的頻率係數強度通常較小,因此用較少位元數編碼。這可讓要編碼的該等頻率係數值不會損失資訊。 Similarly, when encoding the frequency coefficients with different numbers of bits, it is performed independently of the actual value of the frequency coefficient, but rather based on knowledge of the expected strength of the frequency coefficient. For example, frequency coefficients at lower frequencies are generally stronger and therefore encoded with more bits, while frequency coefficients at higher frequencies are typically less intense and therefore encoded with fewer bits. This allows the frequency coefficient values to be encoded without loss of information.

一旦已經執行編碼,則在步驟130上可使用該已編碼頻率係數產生壓縮影像資料,例如,這可通過建立一位元組串流來執行,包含該等已編碼頻率係數序列,選擇性以額外資訊,像是旗標或其他標記來識別 新影像等等的開始。 Once the encoding has been performed, the encoded frequency coefficients may be used to generate compressed image data at step 130, for example, this may be performed by creating a stream of bits containing the sequence of encoded frequency coefficients, optionally with additional information, such as flags or other markings to identify The start of new images and more.

因此,上述處理允許通過使用一位元編碼方案,其拋棄至少某些該等頻率係數並使用不同位元數編碼該等剩餘係數,例如根據該頻率係數的強度,選擇性編碼頻率係數來建立已壓縮影像資料。如此,使用較少數量位元就可編碼較小強度係數,而無任何資訊損失。 Thus, the above process allows the creation of compressed frequency coefficients by using a one-bit encoding scheme that discards at least some of the frequency coefficients and encodes the remaining coefficients using a different number of bits, eg selectively encoding frequency coefficients according to the strength of the frequency coefficients video material. In this way, smaller intensity coefficients can be encoded using a smaller number of bits without any loss of information.

應該注意的是,這種方法應該與代碼替換技術形成對照,例如霍夫曼編碼(Huffman encoding),其中的值替代較短的代碼。相反,在此範例中,該等值仍舊已編碼,儘管使用適合於該值預期強度的位元數,因此如果預期該頻率係數值不超過七,那麼這可編碼為三位元字元,所以六會編碼為「110」,而不是使用預設的八位元字元「00000110」。相較之下,若預期該頻率係數之值高達六十三,則應使用六位元字元,例如二十應編碼為「010100」。在該值高出該可用位元數的事件中,則應使用可用於該定義位元數的最大值,從而導致所得已壓縮影像資料的精度損失。 It should be noted that this approach should be contrasted with code substitution techniques such as Huffman encoding, where values are substituted for shorter codes. Instead, in this example, the values are still encoded, albeit using the number of bits appropriate to the expected strength of the value, so if the frequency coefficient value is not expected to exceed seven, then this can be encoded as a three-bit character, so Six will be encoded as "110" instead of using the default octet "00000110". In contrast, if the value of the frequency coefficient is expected to be as high as sixty-three, six-bit characters should be used, eg, twenty should be encoded as "010100". In the event that the value is higher than the available number of bits, the maximum value available for the defined number of bits should be used, resulting in a loss of precision in the resulting compressed image data.

如此,該位元編碼方案使用有關該等頻率係數值的預期大小之資訊,以便定義應使用的位元數。較不積極的位元編碼方案將使用較多位元數,導致壓縮較少,但是有較高解析度,而較積極的位元編碼方案將使用較少位元數,因此提供較多壓縮,但是解析度較低。 As such, the bit encoding scheme uses information about the expected size of the frequency coefficient values in order to define the number of bits that should be used. A less aggressive bit-coding scheme will use more bits, resulting in less compression, but at higher resolution, while a more aggressive bit-coding scheme will use fewer bits and therefore provide more compression, But the resolution is lower.

在任何事件中,通過使用一位元編碼方案,其定義用於將每一頻率係數編碼的該位元數,這允許在解壓縮該已壓縮影像資料時使用相同方案,接著允許執行正確解壓縮,同時允許設置所使用的該位元編碼方案,將用於目前情況的該壓縮最佳化。 In any event, by using a one-bit encoding scheme, which defines the number of bits used to encode each frequency coefficient, this allows the same scheme to be used when decompressing the compressed image data, which in turn allows correct decompression to be performed , while allowing the bit-coding scheme used to be set to optimize the compression for the current situation.

關於這方面,在步驟140上,依照該位元編碼方案,從該已 壓縮影像資料決定一組已編碼的頻率係數。尤其是,利用選擇組成下一個頻率係數的下一個位元數,關於用來將每一頻率係數編碼的該位元數之資訊允許將該已接收已壓縮影像資料劃分成該等已編碼頻率係數。 In this regard, at step 140, according to the bit encoding scheme, from the Compressed image data determines a set of encoded frequency coefficients. In particular, information about the number of bits used to encode each frequency coefficient allows dividing the received compressed image data into the encoded frequency coefficients by selecting the next number of bits that make up the next frequency coefficient .

在步驟150上,依照該位元編碼方案,執行該等已編碼頻率係數的選擇性位元解碼,藉此產生一組頻率係數。在這方面,執行來將每一已編碼頻率係數轉換成一頻率係數,並且另外產生在該編碼處理期間要丟棄的頻率係數。尤其是,通常執行來產生據有空值的頻率係數,藉此再次建立一整組頻率係數。 At step 150, selective bit decoding of the encoded frequency coefficients is performed according to the bit encoding scheme, thereby generating a set of frequency coefficients. In this regard, execution is performed to convert each encoded frequency coefficient into a frequency coefficient and additionally generate frequency coefficients to be discarded during the encoding process. In particular, it is usually performed to generate frequency coefficients with null values, thereby again establishing a whole set of frequency coefficients.

接著,對該組頻率係數套用一逆向轉換,來決定代表該等一或多個影像之內一像素陣列的像素資料。尤其是,其通常為逆向頻率轉換的形式,像是逆向傅立葉轉換、2D DCT等。 Next, an inverse transformation is applied to the set of frequency coefficients to determine pixel data representing a pixel array within the one or more images. In particular, it is usually in the form of an inverse frequency transform, such as an inverse Fourier transform, 2D DCT, and the like.

因此,上述處理允許通過使用一位元編碼方案選擇性編碼頻率係數,將影像資料編碼,然後接著使用相同位元編碼方案,將該已編碼頻率係數解碼。更進一步,使用的該位元編碼方案可經過調適,並且可取決於廣泛的標準範圍,像是已編碼影像資料的性質、已編碼的特定通道等。這允許套用該位元編碼方案,藉此可實現最大壓縮量。 Thus, the above-described process allows the encoding of image data by selectively encoding frequency coefficients using a one-bit encoding scheme, and then decoding the encoded frequency coefficients using the same bit-encoding scheme. Furthermore, the bit encoding scheme used can be adapted and can depend on a wide range of criteria, such as the nature of the encoded image data, the particular channel being encoded, and so on. This allows applying the bitwise encoding scheme, whereby the maximum amount of compression can be achieved.

除了上述優點以外,可用高並行方式實現該方案,例如允許同時編碼每一頻率係數。這反過來使得能夠快速執行該處理,從而減少延遲時間,這在許多應用中相當重要,諸如虛擬實境應用,其中反應顯示裝置的移動而建立影像,並且必須快速將其傳輸到該顯示裝置來顯示。 In addition to the above advantages, the scheme can be implemented in a highly parallel manner, eg allowing each frequency coefficient to be encoded simultaneously. This in turn enables the processing to be performed quickly, thereby reducing latency, which is important in many applications, such as virtual reality applications, where an image is created in response to movement of a display device and must be quickly transmitted to the display device to show.

此時將描述一些進一步特色。 Some further features will be described at this point.

在一個範例中,該位元編碼方案使用較少數量的位元來編碼 對應至較高頻率的頻率係數,這是由於該等較高頻率分量具有較小強度,這表示需要較少量位元就可精確編碼較高頻率係數,相較低頻率。在一個範例中,逐漸較少的位元數用於將對應至逐漸較高頻率的頻率係數編碼。在此案例中,連續較高頻率上的頻率係數應具有位元數等於或低於一前面較低頻率的頻率係數之位元數。類似地,該方法可包括拋棄對應至較高頻率的至少某些該等頻率係數,這傾向對於所看見的影像品質較少衝擊。亦應了解,針對某些該等較低頻率係數,可保留將該係數編碼所需的所有位元,在某些範例可超過8位元。 In one example, the bit encoding scheme uses a smaller number of bits to encode The frequency coefficients corresponding to the higher frequencies, since these higher frequency components have less intensity, which means that fewer bits are required to accurately encode the higher frequency coefficients than the lower frequencies. In one example, progressively smaller numbers of bits are used to encode frequency coefficients corresponding to progressively higher frequencies. In this case, the frequency coefficients at successively higher frequencies should have the same or lower number of bits than the frequency coefficients of a previous lower frequency. Similarly, the method may include discarding at least some of the frequency coefficients corresponding to higher frequencies, which tend to have less impact on the quality of the image seen. It should also be appreciated that for some of these lower frequency coefficients, all bits required to encode the coefficient may be reserved, in some examples exceeding 8 bits.

在一個範例中,該方法包括將一比例縮放因數套用到至少某些該等頻率係數,如此編碼已比例縮放的頻率係數。在此方面,使用比例縮放減少該等頻率係數的強度,如此可使用較少位元數編碼這些係數。當執行解壓縮時可套用類似的比例縮放因數,藉此將各別頻率分量比例縮放回其原始強度。在此處理期間,通常執行數值簡化(rounding),如此該已比例縮放的頻率分量為整數值,或具有有限數量的有效數據,藉此將用來編碼該等係數的位元數最少化。亦應了解,當執行時,該等重新建立的頻率分量之精準度會下降,但是這效果對於結果影像品質的影響可忽略不計。 In one example, the method includes applying a scaling factor to at least some of the frequency coefficients, thus encoding the scaled frequency coefficients. In this regard, scaling is used to reduce the intensity of the frequency coefficients so that the coefficients can be encoded using a smaller number of bits. Similar scaling factors may be applied when performing decompression, thereby scaling the respective frequency components back to their original intensities. During this process, numerical rounding is typically performed so that the scaled frequency components are integer-valued, or have a limited amount of significant data, thereby minimizing the number of bits used to encode the coefficients. It should also be appreciated that, when implemented, the accuracy of the reconstructed frequency components is reduced, but this effect has a negligible impact on the quality of the resulting image.

在一個範例中,將該相同的比例縮放因數套用到每一頻率係數。因為這減少執行該比例縮放時的計算負擔,因此特別有利。尤其是,這允許從記憶體,像是暫存器中,讀取單一比例縮放因數,或允許在邏輯組態之內寫死,藉此讓該等頻率係數的比例縮放程序更迅速。然而,這不是必需的,並且不同的比例縮放因數可套用於不同的頻率係數,例如以較大量比例縮放頻率較高的頻率係數。 In one example, the same scaling factor is applied to each frequency coefficient. This is particularly advantageous as this reduces the computational burden when performing this scaling. In particular, this allows a single scaling factor to be read from memory, such as a scratchpad, or to be hard-coded within a logical configuration, thereby making the scaling process of the frequency coefficients faster. However, this is not required, and different scaling factors can be applied to different frequency coefficients, eg, scaling higher frequency coefficients by a larger amount.

在一個範例中,該方法包括將一比例縮放因數套用至該等頻率分量,以決定比例縮放的頻率分量,依照選擇標準選擇一或多個已比例縮放的頻率分量,並依照一位元編碼方案執行該已選取已比例縮放頻率分量的位元編碼,來產生壓縮的影像資料,藉此限制用來將每一已選取已比例縮放的頻率分量編碼。然而,這並非必需並且應使用其他方式,像是在拋棄某些該等頻率係數之後執行比例縮放等。 In one example, the method includes applying a scaling factor to the frequency components to determine the scaled frequency components, selecting one or more scaled frequency components according to selection criteria, and according to a one-bit encoding scheme Bit encoding of the selected scaled frequency components is performed to generate compressed image data, thereby limiting the encoding used to encode each selected scaled frequency component. However, this is not necessary and other means should be used, such as scaling after discarding some of these frequency coefficients.

在一個範例中,該方法可包括選擇複數個編碼方案之一者,並使用該已選取的編碼方案編碼該像素資料,這允許根據因素,像是所需的壓縮程度,來選擇不同的編碼方案。如此,每一該等編碼方案都能提供各別壓縮程度,例如通過使用不同壓縮方式,或以複數個不同位元編碼方案之一者來使用上述方式。在此後者案例中,該等複數個位元編碼方案之每一者選擇性用不同的位元數來編碼不同的頻率係數,以提供不同的壓縮程度。 In one example, the method may include selecting one of a plurality of encoding schemes and encoding the pixel data using the selected encoding scheme, which allows a different encoding scheme to be selected depending on factors such as the desired degree of compression . As such, each of these encoding schemes can provide a respective degree of compression, eg, by using different compression schemes, or using one of a plurality of different bit encoding schemes. In this latter case, each of the plurality of bit encoding schemes selectively encodes different frequency coefficients with different numbers of bits to provide different degrees of compression.

根據一係數範圍,像是選擇規則、所要的壓縮程度及/或像素陣列在該等一或多個影像內的位置,可選擇所使用的該特定編碼方案,接著用來提供所喜愛的壓縮,底下將有更詳盡說明。 Based on a range of coefficients, such as selection rules, degree of compression desired, and/or location of pixel arrays within the one or more images, the particular encoding scheme used can be selected and then used to provide the preferred compression, There will be more detailed instructions below.

類似地,在一個範例中,該方法通常包括依照選擇規則、所要的壓縮程度及/或像素陣列在該等一或多個影像內的位置,選擇性編碼頻率係數。在這方面,該等選擇規則可用來定義要編碼哪些頻率係數,及/或使用哪個特定位元編碼方案,這實際上實現相同的最終結果,因此應被認為是等效程序。 Similarly, in one example, the method typically includes selectively encoding frequency coefficients according to selection rules, desired compression levels, and/or positions of pixel arrays within the one or more images. In this regard, the selection rules can be used to define which frequency coefficients are to be encoded, and/or which particular bit-coding scheme to use, which in practice achieves the same end result and should therefore be considered an equivalent procedure.

例如:該等選擇規則可用來選擇該等頻率係數的子集來進行 編碼,然後使用該位元編碼方案來編碼。替代地,依照選擇規則選擇一位元編碼方案,使用該位元編碼方案以零位元編碼至少某些的該等頻率係數,然後依照該位元編碼方案編碼該等頻率係數。 For example: the selection rules may be used to select a subset of the frequency coefficients for encode and then encode using that bitwise encoding scheme. Alternatively, a one-bit coding scheme is selected according to a selection rule, at least some of the frequency coefficients are encoded with zero bits using the bit-coding scheme, and then the frequency coefficients are encoded according to the bit-coding scheme.

在兩案例中,使用選擇規則允許動態執行選擇性位元編碼,如此可根據環境調整選取的該等頻率係數及/或用來編碼該已選擇頻率係數的位元數。當解壓縮該已壓縮影像資料時,可使用類似的選擇規則,藉此允許根據該特定環境,動態執行該位元編碼方案及/或頻率係數拋棄,確定可精確解壓縮該已壓縮資料。 In both cases, the use of selection rules allows for selective bit encoding to be performed dynamically, so that the selected frequency coefficients and/or the number of bits used to encode the selected frequency coefficients can be adjusted according to circumstances. Similar selection rules can be used when decompressing the compressed image data, thereby allowing the bit-coding scheme and/or frequency coefficient discarding to be performed dynamically according to the particular circumstances, ensuring that the compressed data can be accurately decompressed.

在一個範例中,這允許考量到許多不同因數,像是用來傳輸該已壓縮影像資料的一通訊連結之傳輸頻寬、用來傳輸該已壓縮影像資料的一通訊連結之傳輸服務品質、顯示裝置的移動、影像顯示需求、目標顯示解析度、所處理的一影像通道、該等一或多個影像之內該像素陣列的位置或關於該等一或多個影像的一觀察者凝視點該該等一或多個影像之內該像素陣列之位置。針對另一替代方案,可使用指示該已解壓縮影像內錯誤及/或資料傳輸的誤差度量,以便控制使用的壓縮程度。亦應了解,這些配置可用來動態調整壓縮程度,例如利用變更用來壓縮該影像資料的該位元編碼方案,例如:若壓縮物超出臨界,則可減少壓縮,而若可用傳輸頻寬下降,則可提高壓縮。此動態調整壓縮的能力幫助將該壓縮最佳化,以獲得當前環境的最佳可能影像品質。 In one example, this allows many different factors to be considered, such as the transmission bandwidth of a communication link used to transmit the compressed image data, the transmission quality of a communication link used to transmit the compressed image data, the display Movement of the device, image display requirements, target display resolution, an image channel processed, the location of the pixel array within the one or more images, or an observer's gaze point with respect to the one or more images the location of the pixel array within the one or more images. For another alternative, error metrics indicative of errors within the decompressed image and/or data transmission may be used in order to control the degree of compression used. It should also be understood that these configurations can be used to dynamically adjust the degree of compression, for example by changing the bit-coding scheme used to compress the image data, for example, reducing compression if the compression exceeds a critical threshold, and reducing the available transmission bandwidth if the available transmission bandwidth decreases. can improve compression. This ability to dynamically adjust compression helps optimize that compression for the best possible image quality for the current environment.

例如:一影像某些部分的相對品質可能不如其他部分那麼重要。在虛擬實境的案例中,由於顯示鏡頭的影像失真,所以影像周邊部分通常不會確實顯示給使用者。因此,這些影像部分應使用一有效零品質編 碼,藉此在不損失該可視影像的任何影像品質之下,可大幅減少壓縮影像資料量。 For example: the relative quality of some parts of an image may not be as important as others. In the case of virtual reality, due to the image distortion of the display lens, the peripheral part of the image is usually not actually displayed to the user. Therefore, these image parts should use a valid zero-quality encoding code, thereby greatly reducing the amount of compressed image data without losing any image quality of the viewable image.

在另一個範例中,尤其是在虛擬實境應用中,這可根據一觀察者凝視點來執行。在此範例中,這牽涉到決定該等一或多個影像的一觀察者凝視點,並至少部分依照該凝視點來選擇性編碼頻率係數。尤其是,這可牽涉到決定該凝視點與該等一或多個影像內該像素陣列的位置間之距離,並依照該距離選擇性編碼頻率係數,如此距離越遠就編碼越少頻率係數。如此,可執行觀察者觀看影像哪個部分之分析,例如使用眼睛追蹤技術或類似技術,然後以較高品質編碼靠近該凝視點的影像部分。在此方面,一觀察者對於周邊區域的注視通常會減少,如此通常比較不會注意到影像品質下降。因此,用較高品質編碼靠近觀察者凝視點的影像,這會讓整體品質較差的影像被觀察者認為具有一般水準品質。 In another example, especially in virtual reality applications, this may be performed based on an observer's gaze point. In this example, this involves determining an observer's gaze point for the one or more images, and selectively encoding frequency coefficients at least in part according to the gaze point. In particular, this may involve determining the distance between the gaze point and the position of the pixel array within the one or more images, and selectively encoding frequency coefficients according to the distance, such that the greater the distance, the fewer frequency coefficients are encoded. In this way, analysis of which part of the image the observer is looking at can be performed, for example using eye tracking techniques or similar techniques, and then the part of the image close to the gaze point is encoded with higher quality. In this regard, an observer's gaze to the surrounding area is generally reduced, so that the degradation of the image quality is generally less noticeable. Therefore, encoding images close to the viewer's gaze point with higher quality would result in an overall lower quality image being perceived by the viewer as being of average quality.

在一個範例中,該等頻率分量配置在複數個階層內,用每一位元編碼方案定義要用於編碼該等複數個階層內每一者內該等頻率係數之各別位元數。類似地,或用從應該編碼哪個階層頻率係數所定義之選擇規則。如此,可依照各別階層定義該位元編碼方案及/或頻率係數的選擇。 In one example, the frequency components are arranged in a plurality of layers, with each bit coding scheme defining a respective number of bits to be used to encode the frequency coefficients in each of the plurality of layers. Similarly, or with selection rules defined from which hierarchical frequency coefficients should be encoded. In this way, the selection of the bit coding scheme and/or frequency coefficients can be defined according to the respective hierarchy.

在一個範例中,該像素陣列為N x N像素陣列,產生2N-1階頻率分量,不過應了解,這將取決於特定實施。 In one example, the pixel array is an NxN pixel array, producing frequency components of order 2N - 1, although it should be understood that this will depend on the particular implementation.

在一個範例中,除了執行上述破壞壓縮以外,也可執行額外非破壞壓縮步驟。這通常牽涉到解析(parsing)位元組序列,識別包含一些一致位元組的子序列,並且將該子序列替換成指出該等一致位元組之值以及該子序列內一些一致位元組之代碼。在一個範例中,當一致位元組的 子序列包括三或多個位元組時,該代碼包括二位元組,不過應了解,應可使用其他合適的編碼方案。 In one example, in addition to performing the destructive compression described above, additional non-destructive compression steps may also be performed. This usually involves parsing a sequence of bytes, identifying a subsequence containing some consistent bytes, and replacing the subsequence with values indicating those consistent bytes and some consistent bytes within the subsequence the code. In one example, when the consistent byte Where the subsequence includes three or more bytes, the code includes two bytes, although it will be appreciated that other suitable encoding schemes may be used.

雖然通常稱為運行長度編碼的代碼替換可以在任何位元組序列上執行,但是在一個範例中,該位元組序列為從該已編碼頻率係數形成的該位元流。在此方面,通常有許多該等已編碼頻率係數擁有零值,表示當將從該等已編碼頻率係數形成的該位元流當成位元組序列分析時,在序列內頻繁存在許多零值位元組。因此,通過將這些替換為一代碼,這允許減少位元組數量。 While code replacement, commonly referred to as run-length encoding, can be performed on any sequence of bytes, in one example, the sequence of bytes is the bitstream formed from the encoded frequency coefficients. In this regard, there are usually many of the encoded frequency coefficients with zero values, indicating that when the bitstream formed from the encoded frequency coefficients is analyzed as a sequence of bytes, there are frequently many zero-valued bits within the sequence tuple. Thus, by replacing these with a code, this allows reducing the number of bytes.

在一個範例中,該影像資料定義複數個通道,並且其中該方法包括針對每一通道選擇性編碼頻率係數。通過單獨編碼不同通道,這允許對不同通道進行不同編碼,例如使用不同位元編碼方案,或拋棄不同頻率係數。此外,單獨編碼通道可允許通道同時編碼,如此可大幅幫助縮短編碼執行時間,因此降低編碼延遲。 In one example, the image data defines a plurality of channels, and wherein the method includes selectively encoding frequency coefficients for each channel. By encoding the different channels separately, this allows different encoding of the different channels, eg using different bit-coding schemes, or discarding different frequency coefficients. In addition, separate encoding channels allow channels to be encoded simultaneously, which can greatly help reduce encoding execution time, thus reducing encoding latency.

在一個範例中,該像素資料定義RGB通道,並且該方法包括將該等RGB通道轉換成亮度與色度通道YCbCr,並變換該等YCbCr通道。在此方面,人眼對於亮度與色度通道的感受並不同,允許色度通道使用較大壓縮程度來編碼,因此品質相較於該亮度通道較低,但無損所感受到的品質。然而,應了解,這並非必需並且處理可另外在該等RGB通道內執行,在此案例中色彩轉換並非必要。 In one example, the pixel data defines RGB channels, and the method includes converting the RGB channels to luma and chrominance channels YCbCr, and transforming the YCbCr channels. In this regard, the human eye does not perceive the luma and chroma channels differently, allowing the chroma channel to be encoded with a greater degree of compression, so the quality is lower than the luma channel, but the perceived quality is lost. However, it should be understood that this is not necessary and processing could otherwise be performed within the RGB channels, in which case color conversion is not necessary.

如此在此範例中,該方法可包括針對該Y通道比該Cb或Cr通道選擇性編碼更多頻率係數,並且類似可包括針對該Y通道用超過該等Cb和Cr通道的位元來選擇性編碼頻率係數。 So in this example, the method may include selectively encoding more frequency coefficients for the Y channel than the Cb or Cr channels, and similarly may include selectively encoding the Y channel with more bits than the Cb and Cr channels. Coding frequency coefficients.

在進一步範例中,在該像素資料定義RGB通道之處,該方法可包括將該等RGB通道轉換成YCbCr通道,並利用編碼該等CbCr通道並使用該Y通道來產生該壓縮影像資料。實際上在此範例中,該Y通道並未有效編碼,表示保留該亮度通道內含的完整資訊。這在某些編碼場景中特別有用,例如當編碼顯示漸層的像素陣列時,這可幫助保留色彩變化,因此改善畫質,同時僅導致壓縮些微減小。 In a further example, where the pixel data defines RGB channels, the method may include converting the RGB channels to YCbCr channels, and generating the compressed image data by encoding the CbCr channels and using the Y channel. In fact, in this example, the Y channel is not effectively encoded, which means that the full information contained in the luminance channel is preserved. This is particularly useful in certain encoding scenarios, such as when encoding pixel arrays that display gradients, which can help preserve color variations, thus improving picture quality, while resulting in only a small reduction in compression.

如上述,該等不同通道可同時編碼。此外,該等頻率係數中每一通道都可同時編碼。在此案例中,產生已壓縮影像資料的該方法通常包括同時執行來串列位元組編碼,如此將該等頻率係數串列成一位元組串流,然後進行位元組編碼。 As mentioned above, these different channels can be encoded simultaneously. Furthermore, each channel of the frequency coefficients can be encoded simultaneously. In this case, the method of generating compressed image data typically includes performing concurrent byte encoding, thus serializing the frequency coefficients into a one-byte stream, followed by byte encoding.

在一個範例中,從影像資料獲取像素資料的方法包括將對應至該影像中下一個n-1像素列的影像資料緩衝、將該下一個像素列的下一n個像素之影像資料緩衝,以及從該已緩衝影像資料中獲取下一個n x n像素區塊之像素資料。重複此程序,直到已經從所有n列像素獲取像素資料,而針對下一n列重複此程序,通過將對應至該影像中下一個n-1像素列的影像資料緩衝、將該下一個像素列的下一n個像素之影像資料緩衝,以及從該已緩衝影像資料中獲取下一個n x n像素區塊之像素資料。 In one example, the method of obtaining pixel data from image data includes buffering the image data corresponding to the next n -1 pixel row in the image, buffering the image data of the next n pixels in the next pixel row, and Obtain pixel data for the next n x n pixel block from the buffered image data. This process is repeated until pixel data has been obtained from all n columns of pixels, and this process is repeated for the next n columns, by buffering the image data corresponding to the next n -1 pixel columns in the image, the next pixel column buffering the image data of the next n pixels of the image data, and obtaining the pixel data of the next n x n pixel block from the buffered image data.

如此,從此可了解,該處理並未要求整個影像都緩衝,而是只有在開始處理之前先將n-1列像素以及來自下一列的進一步n個像素緩衝即可。這有兩個主要衝擊,換言之縮短處理時間,接著造成延遲顯著縮小,同時降低整體記憶體需求。n值通常為整數並且可根據因素來設定,像是選擇規則、所需的壓縮程度、像素陣列的位置等。在一個範例中n=8,但是這 並非必要,任何值都可使用。 Thus, it can be seen from this that the process does not require the entire image to be buffered, but only that n-1 columns of pixels and a further n pixels from the next column are buffered before the process begins. This has two main impacts, in other words reducing processing time, which in turn results in a significant reduction in latency, while reducing overall memory requirements. The value of n is usually an integer and can be set based on factors such as selection rules, degree of compression desired, location of the pixel array, etc. In one example n = 8, but this is not necessary and any value can be used.

雖然可以從任何來源獲取影像資料,不過在一個範例中,該方法包括從一視頻饋送中,像是要顯示的一系列影像,獲取該像素資料。在一個範例中,該方法用於傳輸虛擬實境視頻資料,並且在一個特定範例中,用於無線傳輸虛擬實境視頻資料。 While image data can be obtained from any source, in one example, the method includes obtaining the pixel data from a video feed, such as a series of images to be displayed. In one example, the method is used to transmit virtual reality video material, and in one particular example, for wireless transmission of virtual reality video material.

上述處理也可用於提供形成任何數位實境內容一部分的影像,包含增強實境、虛擬實境、混合實境、遙現等。 The above processing can also be used to provide imagery that forms part of any digital reality content, including augmented reality, virtual reality, mixed reality, telepresence, and the like.

在一個範例中,該方法用於利用透過至少一通訊網路與一無線通訊連結之一者,接收來自一計算裝置的該已壓縮影像資料,在一可戴式數位實境頭戴組內顯示影像資料。這可包括從一電腦以無線方式將已壓縮影像傳輸至其他類似裝置,或可包括從雲端計算環境將已壓縮影像傳輸至本機裝置,像是頭戴式智慧型手機,允許使用雲端計算來執行影像建立。合適連接的範例,包括一有線GB網際網路、至行動電話的串流,例如透過行動通訊網路,像是3G、4G或5G網路,透過有線連接傳輸至一綁定HMD,或透過無線連接傳輸至未綁定HMD等。 In one example, the method is used to display the image in a wearable digital reality headset using one of the compressed image data received from a computing device through at least one communication network and a wireless communication link material. This may include wireless transmission of compressed images from a computer to other similar devices, or may include transmission of compressed images from a cloud computing environment to a local device, such as a headset, allowing the use of cloud computing to Perform image creation. Examples of suitable connections include a wired GB Internet, streaming to a mobile phone, e.g. via a mobile communication network such as 3G, 4G or 5G network, via a wired connection to a bound HMD, or via a wireless connection Transfer to unbound HMD etc.

應了解,當解壓縮該已壓縮影像資料時,可使用類似方式。 It should be appreciated that a similar approach may be used when decompressing the compressed image data.

例如:可使用相同位元編碼方案,如此該位元編碼方案使用較少位元數來編碼對應至較高頻率的頻率係數。在此案例中,針對壓縮期間拋棄對應至較高頻率的至少某些頻率係數,必需要在解壓縮期間再次產生,通常為空值,允許套用後續逆變換,以下將有更詳細說明。 For example, the same bit-coding scheme can be used, such that the bit-coding scheme uses fewer bits to encode frequency coefficients corresponding to higher frequencies. In this case, at least some frequency coefficients corresponding to higher frequencies are discarded during compression, and must be regenerated during decompression, usually as null values, allowing subsequent inverse transforms to be applied, as described in more detail below.

通常該方法包括將一比例縮放因數套用到至少某些該等頻率係數,如此轉換已比例縮放的頻率係數。再次,將相同比例縮放因數套 用至每一頻率係數,藉此提高每一頻率係數的強度,進而逆轉壓縮期間執行的該比例縮放,並再次產生該原始頻率係數強度的近似值。 Typically the method involves applying a scaling factor to at least some of the frequency coefficients, thus converting the scaled frequency coefficients. Again, set the same scaling factor to Each frequency coefficient is applied, thereby increasing the strength of each frequency coefficient, thereby reversing the scaling performed during compression, and again producing an approximation of the original frequency coefficient strength.

該方法可包括選擇複數個解碼方案之一者,並使用該已選取的解碼方案解碼該像素資料。在此案例中,可使用選擇規則、所要的壓縮程度或該像素陣列的位置,類似於上述關於影像壓縮的該編碼方案選擇,來選擇該解碼方案。替代地,此可根據指出所使用該編碼方案的一編碼代碼來執行,該編碼代碼由該已壓縮影像資料所決定。 The method may include selecting one of a plurality of decoding schemes, and decoding the pixel data using the selected decoding scheme. In this case, the decoding scheme can be selected using selection rules, the desired degree of compression, or the location of the pixel array, similar to the encoding scheme selection described above for image compression. Alternatively, this may be performed according to an encoding code indicating the encoding scheme used, the encoding code being determined by the compressed image data.

同樣,該解碼方案可與上面描述的不同,但可同樣使用複數個不同位元編碼方案之一者,依照該選取的位元編碼方案解碼該已編碼頻率係數。在此案例中,該等複數個位元編碼方案之每一者選擇性用不同的位元數來編碼不同的頻率係數,以提供不同的壓縮程度。 Again, the decoding scheme may be different from that described above, but the encoded frequency coefficients may likewise be decoded according to the selected bit-coding scheme using one of a plurality of different bit-coding schemes. In this case, each of the plurality of bit encoding schemes selectively encodes different frequency coefficients with different numbers of bits to provide different degrees of compression.

類似地並有效等效地,該方法可以包括依照選擇規則選擇性地解碼該已編碼頻率係數,特別是通過依照選擇規則產生該已編碼頻率係數,並依照該位元編碼方案解碼該已編碼頻率係數。 Similarly and effectively equivalently, the method may comprise selectively decoding the coded frequency coefficients according to a selection rule, in particular by generating the coded frequency coefficients according to a selection rule, and decoding the coded frequency coefficients according to the bit-coding scheme coefficient.

如壓縮期間,該等選擇規則通常取決於一因素範圍,像是用來傳輸該已壓縮影像資料的一通訊連結之一或多個傳輸頻寬、用來傳輸該已壓縮影像資料的一通訊連結之傳輸服務品質、顯示裝置的移動、影像顯示需求、目標顯示解析度、所處理的一通道、該等一或多個影像之內該像素陣列的位置或關於該等一或多個影像的一觀察者凝視點之該等一或多個影像之內該像素陣列之位置。 Such selection rules typically depend on a range of factors, such as one or more transmission bandwidths of a communication link used to transmit the compressed image data, a communication link used to transmit the compressed image data, such as during compression transmission quality of service, movement of the display device, image display requirements, target display resolution, a channel being processed, the location of the pixel array within the one or more images, or a The position of the pixel array within the one or more images of the viewer's gaze point.

例如:這可牽涉到決定該等一或多個影像的一觀察者凝視點,並至少部分依照該凝視點來選擇性解碼已編碼頻率係數。這通常可通 過決定該凝視點與該等一或多個影像內該像素陣列的位置間之距離,並依照該距離選擇性解碼該已編碼頻率係數來實現,如此距離越遠就產生更多頻率係數。然而,應了解,選擇規則的實施可根據該較佳實施以任何合適方式來實現。 For example, this may involve determining an observer's gaze point for the one or more images, and selectively decoding the encoded frequency coefficients based at least in part on the gaze point. This usually works This is achieved by determining the distance between the gaze point and the position of the pixel array in the one or more images, and selectively decoding the encoded frequency coefficients according to the distance, so that the greater the distance, the more frequency coefficients are generated. It should be appreciated, however, that the implementation of selection rules may be implemented in any suitable manner in accordance with the preferred implementation.

該等頻率分量通常配置在複數個階層內,使用該位元編碼方案,其定義要用於編碼對應至該等複數個階層之個別一者之內頻率分量的該等頻率係數之各別位元數,或使用該等選擇規則,其由應該產生哪個階層頻率係數來定義。 The frequency components are usually arranged in a plurality of layers, using the bit encoding scheme that defines the respective bits to be used to encode the frequency coefficients corresponding to frequency components in a respective one of the plurality of layers number, or use these selection rules, which are defined by which class of frequency coefficients should be generated.

在也執行非破壞編碼的事件中,該方法通常包括識別序列位元組之內一代碼,並將該代碼替換成包含一些一致位元組的子序列。在此案例中,該代碼通常指出該子序列內該等一致位元組以及一些一致位元組之值。同樣,該子序列通常包括三個或更多位元組,必且該代碼包含兩位元組,不過也可使用其他合適的配置。通常在該已壓縮影像資料上執行此處理,用此來產生該位元串流,然後用來建立該等已編碼頻率係數。 In the event that non-destructive encoding is also performed, the method typically includes identifying a code within a sequence of bytes, and replacing the code with a subsequence containing some consistent bytes. In this case, the code typically indicates the values of the consistent bytes and some of the consistent bytes within the subsequence. Again, the subsequence typically includes three or more bytes, and the code must contain two bytes, although other suitable configurations may be used. This processing is typically performed on the compressed image data, which is used to generate the bitstream, which is then used to create the encoded frequency coefficients.

如先前所說明,該影像資料通常定義複數個通道,而已編碼頻率係數選擇性單獨解碼每一通道。該等通道通常包括YCbCr通道,而該方法包括執行該等YCbCr通道的逆變換,並且將該等已變換YCbCr通道轉換成RGB通道。通常,該逆變換為一逆2-D離散餘弦變換,不過可使用其他合適的轉換。亦應了解,若該Y通道尚未編碼,如上述,該方法可包括解碼該等CbCr通道,然後將該等已解碼CbCr通道和該Y通道轉換成RGB通道。 As previously explained, the image data typically defines a plurality of channels, and the encoded frequency coefficients selectively decode each channel individually. The channels typically include YCbCr channels, and the method includes performing an inverse transform of the YCbCr channels and converting the transformed YCbCr channels to RGB channels. Typically, the inverse transform is an inverse 2-D discrete cosine transform, although other suitable transforms may be used. It should also be appreciated that if the Y channel has not been encoded, as described above, the method may include decoding the CbCr channels and then converting the decoded CbCr channels and the Y channel to RGB channels.

如壓縮該影像資料的範例中,該方法通常包括比該Y通道產生更多頻率係數給該等Cb或Cr通道。該方法也可包括同時解碼該等已編碼 YCbCr通道,亦選擇性同時對個別頻率分量進行位元解碼,在案例中已壓縮影像資料通過串聯至並聯位元組解碼進行至少部分解碼,有效將該傳入位元組串流區分成單獨位元編碼頻率分量,然後同時進行解碼。 As in the case of compressing the image data, the method typically involves generating more frequency coefficients for the Cb or Cr channels than the Y channel. The method may also include concurrently decoding the encoded The YCbCr channel also selectively bit-decodes individual frequency components simultaneously, in this case the compressed image data is at least partially decoded by serial-to-parallel byte-bit decoding, effectively distinguishing the incoming byte stream into individual bits The frequency components are meta-encoded and then decoded at the same time.

該已解壓縮資料也可進行進一步處理,像是使用一去區塊濾波器(deblocking filter),用來在使用區塊編碼技術等等時,以使宏區塊(marcoblocks)之間形成的銳利邊緣平順。這又可以允許使用更高程度的壓縮,同時避免影像品質的相應降低。 The decompressed data can also be further processed, such as using a deblocking filter to sharpen the formation of macroblocks between macroblocks when using block coding techniques, etc. Smooth edges. This in turn may allow a higher degree of compression to be used while avoiding a corresponding reduction in image quality.

在進一步範例中,由一各別硬體組態執行上述方法,例如:壓縮影像資料可由包括一電子編碼器處理裝置的一編碼器來執行,其中該裝置從該影像資料獲得像素資料、執行一頻率變換、使用一位元編碼方案選擇性編碼至少某些該等頻率係數,以及使用該已編碼頻率係數產生已壓縮影像資料。 In a further example, the above method is performed by a respective hardware configuration, eg, compressing image data may be performed by an encoder including an electronic encoder processing device, wherein the device obtains pixel data from the image data, performs a frequency transforming, selectively encoding at least some of the frequency coefficients using a one-bit encoding scheme, and generating compressed image data using the encoded frequency coefficients.

類似地,使用包括一電子解碼器處理裝置的一解碼器來執行該已壓縮影像資料的解壓縮,其中該裝置獲得已壓縮影像資料、從該已壓縮影像資料決定一組已編碼頻率係數、依照該位元編碼方案執行該等已編碼頻率係數的位元解碼,以及將一逆變換套用至該組頻率係數,來決定代表該等一或多個影像之內一像素陣列的像素資料。 Similarly, decompression of the compressed video data is performed using a decoder comprising an electronic decoder processing device, wherein the device obtains the compressed video data, determines from the compressed video data a set of encoded frequency coefficients, The bit encoding scheme performs bit decoding of the encoded frequency coefficients and applies an inverse transform to the set of frequency coefficients to determine pixel data representing an array of pixels within the one or more images.

在一個範例中,該設備(200)包括以無線通訊的一編碼器和一解碼器,允許影像資料以已壓縮影像資料方式在該編碼器與該解碼器之間傳輸。在一個特定範例中,可用此來提供可穿戴式顯示裝置,像是一HMD與一處理系統之間的無線通訊。此時將參照第二A圖來說明此範例。 In one example, the apparatus (200) includes an encoder and a decoder in wireless communication, allowing video data to be transmitted between the encoder and the decoder as compressed video data. In one specific example, this can be used to provide wireless communication between wearable display devices, such as an HMD and a processing system. This example will now be described with reference to the second figure A.

在此範例中,像是適合程式編輯電腦系統、遊戲控制台等的 一處理系統210適用於在一HMD 240上產生顯示內容。處理系統210通常通過接收來自該HMD有關該HMD姿勢的感測器資料,並且選擇性輸入來自一或多個個別控制器250的資料,來實現此目的。然後處理系統210根據該感測器及/或輸入資料來產生內容,通常為視頻資料的形式,其可從視頻卡等地方輸出。該視頻資料傳輸至一編碼器220,其藉由壓縮該影像資料來編碼該視頻資料,然後透過一無線通訊連結260無線傳輸該已壓縮影像資料至解碼器230。解碼器230將該已壓縮影像資料解碼,並將該結果視頻資料提供給該HMD來顯示。 In this example, something like a suitable programming computer system, game console, etc. A processing system 210 is adapted to generate display content on an HMD 240 . The processing system 210 typically accomplishes this by receiving sensor data from the HMD regarding the posture of the HMD, and selectively inputting data from one or more individual controllers 250 . The processing system 210 then generates content, typically in the form of video data, from the sensor and/or input data, which can be output from a video card or the like. The video data is transmitted to an encoder 220, which encodes the video data by compressing the video data, and then wirelessly transmits the compressed video data to the decoder 230 through a wireless communication link 260. The decoder 230 decodes the compressed video data and provides the resulting video data to the HMD for display.

應了解,此配置允許現有的電腦系統、遊戲機等以及HMD 210、240透過無線連接260相連,如此避免處理系統210與HMD 240之間有線連接的需求。如此例如一使用者可穿戴一HMD和相關解碼器,然後將該編碼器連接至其電腦系統或遊戲機,建構成一無線HMD配置。這可用於將傳統繫連(tethered)耳麥轉換成無線配置。 It should be appreciated that this configuration allows existing computer systems, game consoles, etc., and HMDs 210, 240 to connect via wireless connection 260, thus avoiding the need for a wired connection between processing system 210 and HMD 240. Thus, for example, a user can wear an HMD and associated decoder, and then connect the encoder to his computer system or game console to create a wireless HMD configuration. This can be used to convert traditional tethered headsets to a wireless configuration.

然而這並非必需,或者處理系統210和HMD 240可設置成包括整合式編碼器與解碼器硬體,允許這些透過直接無線連接260來通訊,如第二B圖內所示。例如:在一電腦系統內可提供該編碼器,用於產生內容,而該解碼器可整合在智慧型手機內,例如Snapdragon 820 Hexagon DSP或類似裝置內,允許該智慧型手機接收並解碼從該電腦系統無線串流來的內容。在一個範例中,這允許該電腦系統越過一本機無線連接來串流,但在另一個範例中,這可用來透過一行動電話網路或類似網路,提供來自雲端型數位實境引擎的內容。 This is not required, however, or the processing system 210 and HMD 240 may be configured to include integrated encoder and decoder hardware, allowing these to communicate via a direct wireless connection 260, as shown in the second panel B. For example: the encoder may be provided in a computer system for generating content, and the decoder may be integrated into a smartphone, such as a Snapdragon 820 Hexagon DSP or similar device, allowing the smartphone to receive and decode data from the Content streamed wirelessly from a computer system. In one example, this allows the computer system to stream over a local wireless connection, but in another example, this can be used to provide streaming from a cloud-based digital reality engine over a cellular network or similar content.

此時將參照第三圖來更詳細說明該硬體組態的範例。 An example of the hardware configuration will now be described in more detail with reference to the third figure.

此範例將用分離的硬體編碼器與解碼器來例示,但應了解,這並非必需並且該相同技術可與整合式硬體結合使用。更進一步,雖然參照虛擬實境應用,同樣這並非必需,並且該技術可用來套用至其中要傳輸影像資料的任何環境,尤其是當要使用有限頻寬傳輸影像資料時,同時保持可接受的影像品質以及期望的延遲,像是在虛擬實境、增強實境或遙現應用中。 This example will be exemplified with separate hardware encoder and decoder, but it should be understood that this is not required and the same technique can be used in conjunction with integrated hardware. Further, while referring to virtual reality applications, again this is not required, and the technique can be applied to any environment in which image data is to be transmitted, especially when limited bandwidth is to be used to transmit image data, while maintaining acceptable images Quality and expected latency, such as in virtual reality, augmented reality or telepresence applications.

在此範例中,設備300再次包括一處理系統310、編碼器320、解碼器330以及HMD或類似形式的一顯示裝置340。此時將更詳細說明這些組件每一者。 In this example, apparatus 300 again includes a processing system 310, encoder 320, decoder 330, and a display device 340 in the form of an HMD or similar. Each of these components will be described in more detail at this point.

在此範例中,處理系統310包括一個微處理器311、一記憶體312、一選配輸入/輸出裝置313,像是鍵盤及/或顯示器,以及如所示透過一匯流排315互連的一外部介面314。在此範例中,外部介面314可用於將處理系統310連接至周邊裝置,像是通訊網路、儲存裝置、週邊設備等。雖然顯示單一外部介面314,不過這僅為範例,並且實際上可提供使用許多方法(例如乙太網路、序列、USB、無線等等)的多個介面。在此特定範例中,該外部介面包括至少一資料連接,像是USB,以及視頻連接,像是DisplayPort、HMDI、Thunderbolt等等。 In this example, processing system 310 includes a microprocessor 311, a memory 312, an optional input/output device 313, such as a keyboard and/or display, and a bus 315 interconnected as shown. External interface 314 . In this example, the external interface 314 may be used to connect the processing system 310 to peripheral devices, such as communication networks, storage devices, peripheral devices, and the like. Although a single external interface 314 is shown, this is only an example, and in practice multiple interfaces may be provided using many methods (eg, Ethernet, serial, USB, wireless, etc.). In this particular example, the external interface includes at least a data connection, such as USB, and a video connection, such as DisplayPort, HMDI, Thunderbolt, and the like.

在使用中,微處理器311執行儲存在記憶體312內應用程式軟體形式的指令,允許執行所需的處理。該應用程式軟體可包括一或多個軟體模組,並且可在合適的執行環境內執行,像是一作業系統環境等。 In use, microprocessor 311 executes instructions in the form of application software stored in memory 312, allowing required processing to be performed. The application software may include one or more software modules and may execute within a suitable execution environment, such as an operating system environment or the like.

因此,應了解,可從任何合適的處理系統形成處理系統310,像是合適的程式編輯PC等等。在一個特定範例中,處理系統310為標準處理 系統,像是Intel架構型處理系統,其執行儲存在非揮發性(例如硬碟)儲存設備內的軟體應用程式,不過這並非必要。然而,亦應了解,該處理系統可為任何電子處理裝置,像是微處理器、微晶片處理器、邏輯閘組態、選擇性關聯於實施邏輯的韌體,諸如FPGA(場可程式編輯閘陣列)、一專用積體電路(ASIC)、一晶片上系統(SoC)、一圖形處理單元(GPU)、數位信號處理(DSP)或任何其他電子裝置、系統或配置。 Thus, it should be appreciated that processing system 310 may be formed from any suitable processing system, such as a suitable programming PC or the like. In one particular example, the processing system 310 is standard processing Systems, such as Intel-based processing systems, execute software applications stored on non-volatile (eg, hard disk) storage devices, although this is not required. However, it should also be understood that the processing system may be any electronic processing device, such as a microprocessor, microchip processor, logic gate configuration, firmware optionally associated with implementing logic, such as an FPGA (field programmable gate) array), an application specific integrated circuit (ASIC), a system on a chip (SoC), a graphics processing unit (GPU), digital signal processing (DSP) or any other electronic device, system or configuration.

更進一步,雖然處理系統310顯示為單一實體,應了解,實際上處理系統310應由多個實體裝置所形成,可選擇性分配在一些地理個別位置上,例如雲端環境一部分。 Furthermore, although the processing system 310 is shown as a single entity, it should be understood that in practice the processing system 310 should be formed by a plurality of physical devices, which may be selectively distributed in some geographically specific locations, such as part of a cloud environment.

編碼器320通常包括一編碼器輸入緩衝區321,依序連結至一編碼器處理裝置322、一編碼器輸出緩衝區323以及一收發器324。可提供一個別資料緩衝區325來耦接至收發器324。 The encoder 320 generally includes an encoder input buffer 321 connected to an encoder processing device 322 , an encoder output buffer 323 and a transceiver 324 in sequence. A separate data buffer 325 may be provided for coupling to transceiver 324 .

在使用中,影像資料,並且在一個特定範例中,視頻資料已接收,並且在送至編碼器處理裝置322進行壓縮之前,暫時儲存在輸入緩衝區321內。在此方面,該編碼器輸入緩衝區通常緩衝對應至該影像的接下來七列像素,然後接下來八列像素之影像資料。這允許編碼器處理裝置322從該已緩衝影像資料獲得接下來8x8區塊像素的像素資料,並開始編碼。 In use, image data, and in one particular example, video data has been received and temporarily stored in input buffer 321 before being sent to encoder processing device 322 for compression. In this regard, the encoder input buffer typically buffers image data corresponding to the next seven columns of pixels and then the next eight columns of pixels of the image. This allows the encoder processing device 322 to obtain pixel data for the next 8x8 block of pixels from the buffered image data and start encoding.

一旦已經完成,接下來八個像素則緩衝,重複此步驟直到已獲取並已編碼來自八列像素的像素資料。然後針對該影像內後續像素列重複此處理,直到已獲取整個影像的像素資料,在此點上以類似方式處理下一個影像。針對此方式的結果,該編碼器輸入緩衝區從來不需要儲存超過七列及八個影像資料像素,減少記憶體之需求。此外,針對已獲取像素資 料,這可使用該編碼處理立即處理,即使在緩衝影像資料的接下來八個像素之前。這顯著縮短處理時間,並幫助減少整體延遲。 Once this has been done, the next eight pixels are buffered, and this step is repeated until pixel data from eight columns of pixels has been acquired and encoded. This process is then repeated for subsequent rows of pixels within the image until pixel data for the entire image has been acquired, at which point the next image is processed in a similar manner. As a result of this approach, the encoder input buffer never needs to store more than seven columns and eight pixels of image data, reducing memory requirements. In addition, for acquired pixel data material, this can be processed immediately using this encoding process, even before buffering the next eight pixels of image material. This significantly reduces processing time and helps reduce overall latency.

然後,該結果已壓縮影像資料儲存在編碼器輸出緩衝器323內,例如依序通過編碼位元內的讀取,藉此透過收發器324,在傳輸至解碼器330之前,執行並列至序列位元組編碼。收發器324也調適成透過編碼器資料緩衝區325傳輸其他資料,像是接收自HMD 340的一感測器資料。 The resulting compressed image data is then stored in the encoder output buffer 323 , eg, by sequentially reading the encoded bits, whereby a parallel-to-serial bit is performed by the transceiver 324 before being transmitted to the decoder 330 Tuple encoding. Transceiver 324 is also adapted to transmit other data, such as a sensor data received from HMD 340, through encoder data buffer 325.

根據較佳具體實施例,緩衝區321、323、325可為任何合適的暫時儲存設備形式,根據該較佳實施並且在一個範例中,可包括高效能FIFO(先進先出)場記憶體晶片等等。該輸入緩衝區通常連接至HDMI連接埠、顯示器連接埠輸出或任何其他合適的視頻源,而資料緩衝區335連接至USB連接埠,藉此允許等效連接至該電腦系統。 According to a preferred embodiment, the buffers 321, 323, 325 may be in the form of any suitable temporary storage device, according to the preferred implementation and in one example, may include high performance FIFO (first in first out) field memory chips, etc. Wait. The input buffer is typically connected to an HDMI port, monitor port output, or any other suitable video source, while the data buffer 335 is connected to a USB port, thereby allowing an equivalent connection to the computer system.

收發器324可為任何合適形式,但是在一個範例中,允許該編碼器與該解碼器之間短範圍無線電通訊360,例如透過點對點直接WiFiTM連接、60GHz無線技術等等。 The transceiver 324 may be of any suitable form, but in one example, allows short-range radio communication 360 between the encoder and the decoder, such as through a point-to-point direct WiFi connection, 60GHz wireless technology, and the like.

處理裝置322可為能夠執行本文所說明該壓縮處理的任何裝置。處理裝置322可包括依照記憶體內儲存的軟體指令操作之通用處理裝置。然而,在一個範例中,為了確定適當的快速壓縮時間,該處理裝置包括設置成執行該壓縮處理的客製化硬體。這應包括選擇性關聯於實現邏輯的韌體,像是一FPGA(場可程式編輯閘陣列)、一圖形處理單元(GPU,Graphics Processing Unit)、一專用積體電路(ASIC,Application-Specific Integrated Circuit)、一晶片上系統(SoC,system on a chip)、數位信號處理器(DSP,digitial signal processor)或任何其他電子裝置、系統或配置。在較佳 範例中,編碼器處理裝置322設置成執行每一DCT的個別通道並行處理,以及個別頻率係數的並行編碼。如此,雖然顯示單一編碼器處理裝置322,實務上,可提供各別編碼器處理裝置322來同時編碼每一該等通道,或另外可使用、一GPU或其他類似並行處理架構。在像是該Y通道這類通道未編碼的事件中,該編碼器處理裝置可在將該各別資料發送至編碼器輸出緩衝區323當中簡單導入一延遲,確定這仍舊與該等已編碼CbCr通道同步。 Processing device 322 may be any device capable of performing the compression process described herein. Processing device 322 may comprise a general-purpose processing device that operates in accordance with software instructions stored in memory. However, in one example, in order to determine an appropriate fast compression time, the processing device includes customized hardware configured to perform the compression process. This should include firmware optionally associated with implementing logic, such as an FPGA (Field Programmable Gate Array), a Graphics Processing Unit (GPU), an Application-Specific Integrated Circuit (ASIC) Circuit), a system on a chip (SoC), a digital signal processor (DSP), or any other electronic device, system or configuration. in the better In an example, the encoder processing means 322 is arranged to perform parallel processing of the individual channels of each DCT, as well as parallel encoding of the individual frequency coefficients. Thus, although a single encoder processing device 322 is shown, in practice, separate encoder processing devices 322 may be provided to encode each of these channels simultaneously, or alternatively, a GPU or other similar parallel processing architecture may be used. In the event that channels such as the Y channel are not encoded, the encoder processing device can simply introduce a delay in sending the respective data to the encoder output buffer 323 to determine that this is still the same as the encoded CbCr Channel synchronization.

解碼器330通常包括一收發器334,其連結至一解碼器輸入緩衝區331,接著連結至一解碼器處理裝置332和一解碼器輸出緩衝區333。另外提供一分離的資料緩衝區335,其耦接至收發器334。 Decoder 330 typically includes a transceiver 334 coupled to a decoder input buffer 331 , which in turn is coupled to a decoder processing device 332 and a decoder output buffer 333 . A separate data buffer 335 is additionally provided, which is coupled to the transceiver 334 .

在使用中,透過收發器334從編碼器320接收已壓縮影像資料,並且在送至解碼器處理緩衝區332進行解壓縮之前,暫時儲存在輸入緩衝區331內。然後,該結果影像資料在傳輸至顯示裝置340之前,儲存在解碼器輸出緩衝區333內。收發器324也適用於透過解碼器資料緩衝區335傳輸其他資料,像是接收自顯示裝置340的一感測器資料。 In use, compressed video data is received from encoder 320 via transceiver 334 and temporarily stored in input buffer 331 before being sent to decoder processing buffer 332 for decompression. Then, the resulting image data is stored in the decoder output buffer 333 before being transmitted to the display device 340 . The transceiver 324 is also adapted to transmit other data, such as a sensor data received from the display device 340 , through the decoder data buffer 335 .

根據較佳具體實施例,緩衝區331、333、335可為任何合適的暫時儲存設備形式,並且在一個範例中,可包括高效能FIFO(先進先出)場記憶體晶片等等。該輸出緩衝區通常連接至HDMI連接埠,而資料緩衝區335則連接至USB連接埠,藉此允許等效連接至該顯示裝置。 According to a preferred embodiment, the buffers 331, 333, 335 may be in the form of any suitable temporary storage device and, in one example, may include high performance FIFO (first in first out) field memory chips or the like. The output buffer is usually connected to the HDMI port, while the data buffer 335 is connected to the USB port, thereby allowing an equivalent connection to the display device.

收發器334可為任何合適形式,但是在一個範例中,允許該編碼器與該解碼器之間短範圍無線電通訊360,例如透過點對點直接WiFiTM連接、60GHz無線技術等等。 The transceiver 334 may be of any suitable form, but in one example, allows short-range radio communication 360 between the encoder and the decoder, such as through a point-to-point direct WiFi connection, 60GHz wireless technology, and the like.

處理裝置332可包括依照記憶體內儲存的軟體指令操作之通 用處理裝置。然而,在一個範例中,為了確定適當的低解壓縮時間,該處理裝置包括設置成執行該解壓縮處理的客製化硬體。這應包括選擇性關聯於實現邏輯的韌體,像是一FPGA(場可程式編輯閘陣列)、一圖形處理單元(GPU,Graphics Processing Unit)、一專用積體電路(ASIC,Application-Specific Integrated Circuit)、一晶片上系統(SoC,system on a chip)、數位信號處理器(DSP,digitial signal processor)或任何其他電子裝置、系統或配置。在較佳範例中,解碼器處理裝置332設置成執行每一DCT的個別通道並行處理,以及個別頻率係數的並行編碼。同樣,雖然顯示單一解碼器處理裝置332,實務上,可提供各別解碼器處理裝置332來同時編碼每一該等通道,或另外可使用、一GPU或其他類似並行處理架構。在像是該Y通道這類通道未編碼的事件中,該解碼器處理裝置可在將該各別資料發送至解碼器輸出緩衝區333當中簡單導入一延遲,確定這仍舊與該等已解碼CbCr通道同步。 The processing device 332 may include a channel that operates in accordance with software instructions stored in memory. Use a processing device. However, in one example, in order to determine an appropriately low decompression time, the processing device includes customized hardware configured to perform the decompression process. This should include firmware optionally associated with implementing logic, such as an FPGA (Field Programmable Gate Array), a Graphics Processing Unit (GPU), an Application-Specific Integrated Circuit (ASIC) Circuit), a system on a chip (SoC), a digital signal processor (DSP), or any other electronic device, system or configuration. In the preferred example, the decoder processing means 332 is arranged to perform parallel processing of the individual channels of each DCT, as well as parallel encoding of the individual frequency coefficients. Likewise, although a single decoder processing device 332 is shown, in practice, separate decoder processing devices 332 may be provided to encode each of these channels simultaneously, or alternatively, a GPU or other similar parallel processing architecture may be used. In the event that channels such as the Y channel are not encoded, the decoder processing device can simply introduce a delay in sending the respective data to the decoder output buffer 333 to determine that this is still the same as the decoded CbCr Channel synchronization.

顯示裝置340包括至少一個微處理器341、一記憶體342、一選配輸入/輸出裝置343,像是鍵盤或輸入按鈕、一或多個感測器344、一顯示器345以及的一外部介面346,如所示透過一匯流排347互連。 The display device 340 includes at least one microprocessor 341, a memory 342, an optional input/output device 343, such as a keyboard or input buttons, one or more sensors 344, a display 345, and an external interface 346 , interconnected through a busbar 347 as shown.

顯示裝置340可為HMD形式,因此提供於適當外殼內,然後可讓使用者佩戴,並包括相關透鏡,允許觀看到該顯示器,精通技術人士將會了解。 Display device 340 may be in the form of an HMD, thus provided in a suitable housing, which can then be worn by a user, and include associated lenses to allow viewing of the display, as will be appreciated by those skilled in the art.

在此範例中,外部介面347適用於用來透過有線連接,將該顯示裝置正常連接至處理系統310。雖然顯示單一外部介面347,不過這僅為範例,並且實際上可提供使用許多方法(例如乙太網路、序列、USB、無線等等)的多個介面。在此特定範例中,該外部介面通常包括至少一資料連 接,像是USB,以及視頻連接,像是DisplayPort、HMDI、Thunderbolt等等。 In this example, the external interface 347 is suitable for connecting the display device to the processing system 310 normally through a wired connection. Although a single external interface 347 is shown, this is only an example, and in practice multiple interfaces may be provided using many methods (eg, Ethernet, serial, USB, wireless, etc.). In this particular example, the external interface typically includes at least one data link connections, such as USB, and video connections, such as DisplayPort, HMDI, Thunderbolt, and more.

在使用中,微處理器341執行儲存在記憶體342內應用程式軟體形式的指令,允許執行所需的處理。該應用程式軟體可包括一或多個軟體模組,並且可在合適的執行環境內執行,像是一作業系統環境等。因此,應了解,該處理裝置可為任何電子處理裝置,像是微處理器、微晶片處理器、邏輯閘組態、選擇性關聯於實施邏輯的韌體,諸如FPGA(場可程式編輯閘陣列)、一圖形處理單元(GPU)、一專用積體電路(ASIC)、一晶片上系統(SoC)、數位信號處理(DSP)或任何其他電子裝置、系統或配置。 In use, microprocessor 341 executes instructions stored in memory 342 in the form of application software, allowing required processing to be performed. The application software may include one or more software modules and may execute within a suitable execution environment, such as an operating system environment or the like. Thus, it should be understood that the processing device may be any electronic processing device, such as a microprocessor, a microchip processor, a logic gate configuration, firmware optionally associated with implementing logic, such as an FPGA (Field Programmable Gate Array). ), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a system on a chip (SoC), digital signal processing (DSP) or any other electronic device, system or configuration.

感測器344一般用於感測顯示裝置340的方位及/或位置,並且可包括慣性感測器、加速度計等。可提供像是光感測器或接近感測器這些額外感測器,來決定目前是否正在佩戴該顯示裝置,而眼睛追蹤感測器可用於提供使用者凝視點的指示。 Sensors 344 are generally used to sense the orientation and/or position of display device 340 and may include inertial sensors, accelerometers, and the like. Additional sensors such as light sensors or proximity sensors can be provided to determine whether the display device is currently being worn, and eye-tracking sensors can be used to provide an indication of the user's gaze point.

在一個範例中,該顯示裝置可因此為現有商業顯示裝置,像是HTC ViveTM、Oculus RiftTM或Playstation VRTM頭戴組,不過應了解,這並非必需並且可使用任何合適的配置。 In one example, the display device may thus be an existing commercial display device, such as an HTC Vive , Oculus Rift or Playstation VR headset, although it should be understood that this is not required and any suitable configuration may be used.

此時將更詳盡說明該影像壓縮/解壓縮的操作範例。 An example of the image compression/decompression operation will now be described in more detail.

為了該範例的目的,假設處理系統310正在執行產生顯示在顯示裝置340上內容的應用程式軟體,其中根據來自顯示裝置340上感測器345以及選配的其他感測器之感測器資料,動態地顯示內容,例如手持控制器或位置檢測系統(未顯示),如精通技術人員將了解的。 For the purposes of this example, assume that processing system 310 is executing application software that generates content for display on display device 340, wherein based on sensor data from sensor 345 on display device 340 and optional other sensors, Content is displayed dynamically, such as a handheld controller or a position detection system (not shown), as the skilled artisan will appreciate.

由處理系統310所執行的動作,係由處理器311依照在記憶體312內儲存為應用程式軟體的指令來執行,及/或透過I/O裝置313或其他週邊 (未顯示)接收自使用者的輸入指令來執行。顯示裝置340所執行的動作由處理器341依照在記憶體342內儲存為應用程式軟體的指令來執行。 Actions performed by processing system 310 are performed by processor 311 in accordance with instructions stored as application software in memory 312, and/or through I/O device 313 or other peripherals (Not shown) Receives input from the user to execute. The actions performed by the display device 340 are performed by the processor 341 according to the instructions stored in the memory 342 as application software.

編碼器320和解碼器340當成處理系統310與顯示裝置340之間的介面,允許影像資料顯示於顯示裝置340上之前壓縮、無線傳輸然後解壓縮,同時也允許感測器資料或輸入指令資料回傳至該處理系統。由編碼器320和解碼器330所執行的動作通常由各別處理裝置322、332根據已定義的程式編輯來執行,並且在一個範例中,根據一客製化硬體組態及/或嵌入式韌體內的指令來執行。 The encoder 320 and the decoder 340 serve as the interface between the processing system 310 and the display device 340, allowing image data to be compressed, wirelessly transmitted and then decompressed before being displayed on the display device 340, and also allowing sensor data or input command data to be returned. to the processing system. The actions performed by the encoder 320 and decoder 330 are typically performed by the respective processing devices 322, 332 according to defined programming and, in one example, according to a customized hardware configuration and/or embedded The instructions in the firmware are executed.

然而,應了解,針對以下範例目的所假設的上述組態並非必需,並且可使用許多其他組態,例如:該編碼器與解碼器的功能性可直接內建在處理系統310與顯示裝置340之內。此外,該壓縮技術可套用至廣泛的其他其況中,包括在一或多個電腦系統上壓縮與解壓縮影像,不需要使用分開的顯示裝置。然而,上述配置對於虛擬或增強實境應用、遙現應用等特別有利。 It should be appreciated, however, that the above-described configuration assumed for the following example purposes is not required, and many other configurations may be used, eg, the encoder and decoder functionality may be built directly between the processing system 310 and the display device 340 Inside. In addition, the compression technique can be applied to a wide variety of other situations, including compressing and decompressing images on one or more computer systems, without the need for a separate display device. However, the above configuration is particularly advantageous for virtual or augmented reality applications, telepresence applications, and the like.

此時將參閱第四A圖至第四D圖說明壓縮與後續解壓縮影像資料的方法之範例程序。 At this point, an example procedure of a method of compressing and subsequently decompressing image data will be described with reference to the fourth figures A to D. FIG.

在此範例中,在步驟400和402上,編碼器320從處理系統310接收影像資料,特別是代表一系列影像的視頻資料,然後暫時儲存在編碼器輸入緩衝區321內。接著分析該影像資料,例如通過解析該資料來識別限定標頭(header)的該資料內之旗標、識別一影像的開頭等等,在步驟404上允許獲取對應至接下來8x8像素區塊的影像資料。在此方面,當緩衝該資料時,該編碼器從該影像要求一初始8x8像素區塊,以便開始處理。因此, 在開始處理之前,在編碼器輸入緩衝區321內填入一影像的前七行像素,以及第八行像素的前八個像素。隨著接收到接下來八個像素,接著處理接下來8x8區塊,然後重複到已經處理完該影像前八列內所有像素。接著用類似方式處理接下來八列群組。 In this example, at steps 400 and 402 , the encoder 320 receives image data, particularly video data representing a series of images, from the processing system 310 and temporarily stores it in the encoder input buffer 321 . The image data is then analyzed, eg, by parsing the data to identify flags within the data that define headers, identifying the beginning of an image, etc., in step 404 to allow the acquisition of data corresponding to the next 8x8 pixel block video material. In this regard, when buffering the data, the encoder requires an initial 8x8 pixel block from the image in order to begin processing. therefore, Before starting processing, the encoder input buffer 321 is filled with the first seven rows of pixels of an image, and the first eight pixels of the eighth row of pixels. As the next eight pixels are received, the next 8x8 block is processed, and then repeats until all pixels in the first eight columns of the image have been processed. The next eight column groups are then processed in a similar manner.

該影像資料通常為多通道RGB資料的形式,然後在步驟406上由處理裝置322轉換成YCbCr亮度與色度通道。此處理可用已知的數學座標轉換來執行,因此將不會進一步詳細說明。 The image data is typically in the form of multi-channel RGB data, which is then converted by processing device 322 into YCbCr luminance and chrominance channels at step 406 . This processing can be performed with known mathematical coordinate transformations, so will not be described in further detail.

在步驟408上,一2D DCT套用至每一該等亮度與色度通道,藉此將該等通道轉換至頻率領域。此處理可用已知的技術執行,並且在較佳範例中,由處理裝置322以並行度非常高的方式執行,藉此縮短處理時間。每一通道上的轉換處理結果為8x8矩陣,具有64個頻率係數,代表該各別影像通道內不同頻率分量的強度。 At step 408, a 2D DCT is applied to each of the luma and chrominance channels, thereby converting the channels to the frequency domain. This processing can be performed using known techniques and, in the preferred example, is performed by the processing device 322 with a very high degree of parallelism, thereby reducing processing time. The result of the conversion process on each channel is an 8x8 matrix with 64 frequency coefficients representing the intensities of different frequency components within the respective image channel.

在步驟410上,一比例縮放因數套用至每一矩陣,例如用該比例縮放因數除以每一頻率係數,藉此降低每一頻率係數的強度。該比例縮放因數應為任何值,並且可不同通道都不同。身為此處理的一部分,該已比例縮放的頻率係數通常數值簡化為為整數或有效圖的設定數量,藉此減少編碼該等頻率係數所需資料的量,例如:係數500應需要9位元來編碼,而50只需要6位元,因此套用10的比例縮放因數可減少編碼該等特別頻率係數所需之位元數。 At step 410, a scaling factor is applied to each matrix, eg, the scaling factor is divided by each frequency coefficient, thereby reducing the intensity of each frequency coefficient. The scaling factor should be any value and can vary from channel to channel. As part of this process, the scaled frequency coefficients are usually numerically reduced to integers or a set number of significant maps, thereby reducing the amount of data required to encode the frequency coefficients, e.g. a coefficient of 500 should require 9 bits to encode, whereas 50 requires only 6 bits, so applying a scaling factor of 10 reduces the number of bits required to encode these special frequency coefficients.

在此方式中,應了解較低值係數可數值簡化為零,例如4經過比例縮放為0.4,並因此四捨五入為零。雖然這導致資訊損失,這傾向發生於已知對該影像整體外觀貢獻較少的較高頻率分量,因此這種損失的衝 擊有限。 In this manner, it should be understood that lower value coefficients can be reduced numerically to zero, eg, 4 is scaled to 0.4, and thus rounded to zero. Although this results in a loss of information, it tends to occur with higher frequency components that are known to contribute less to the overall appearance of the image, so the impact of this loss is Hits are limited.

在套用該比例縮放因數之後,在步驟412上決定選擇規則。該等選擇規則用於允許選擇某些該等頻率分量,如此在步驟414上可拋棄其他分量。該選擇通常根據定義為對角跨越該矩陣的一階層(hierarchy)之層級來執行,如此一個8x8頻率領域矩陣包括分別具有1、2、3、4、5、6、7、8、7、6、5、4、3、2、1係數的15層級。 After applying the scaling factor, a selection rule is determined at step 412. The selection rules are used to allow selection of some of these frequency components so that other components may be discarded at step 414 . The selection is typically performed in terms of a hierarchy defined as a hierarchy across the matrix diagonally, such that an 8x8 frequency domain matrix includes 1, 2, 3, 4, 5, 6, 7, 8, 7, 6, respectively , 15 levels of 5, 4, 3, 2, 1 coefficients.

已拋棄的該等層級通常是較高頻率分量,這上面有提到對於該影像外觀的貢獻較低。根據該較佳實施,該等選擇規則基於一廣泛的因素範圍來定義哪個層級被拋棄。 The layers that have been discarded are usually higher frequency components which, as mentioned above, contribute less to the appearance of the image. According to the preferred implementation, the selection rules define which tiers are discarded based on a broad range of factors.

例如:色度通道對於影像外觀的貢獻通常低於亮度通道,所以相對於該亮度通道來說,通常會拋棄更多層級的色度。如此例如,針對該亮度通道Y,保留層級1至8,對應至36個頻率係數,如第五圖內531上所示,而針對該等色度通道Cb和Cr,可保留層級1至6,對應於只有21個頻率係數,如第五圖內532和533上所示。應了解,這減少從192編碼至78通過全部三個通道所需的頻率係數總量。 For example, the chroma channel usually contributes less to the appearance of the image than the luma channel, so more layers of chroma are usually discarded relative to the luma channel. For example, for the luminance channel Y, levels 1 to 8 are reserved, corresponding to 36 frequency coefficients, as shown in 531 in the fifth figure, while for the chrominance channels Cb and Cr, levels 1 to 6 can be reserved, This corresponds to only 21 frequency coefficients, as shown at 532 and 533 in the fifth graph. It will be appreciated that this reduces the total number of frequency coefficients required to encode from 192 to 78 through all three channels.

根據規則選擇要保留哪個階層,當選擇要保留哪個階層時,允許該編碼器和解碼器套用相同標準,接著以即時調適方式執行之。接著根據其他因素選擇不同階層,像是編碼器與解碼器之間一通訊通道的品質及/或頻寬。如此,若由於干擾而減少頻寬,可選擇較少階層,這導致較高壓縮程度。雖然這將導致影像品質下降,不過在許多應用中,像是VR,某些框品質下降受注目的程度要低於掉框或增加延遲,因此是較佳結果。 Which tier to keep is selected according to the rules, and when choosing which tier to keep, the encoder and decoder are allowed to apply the same standard and then perform it in an on-the-fly adaptation manner. Then different levels are selected based on other factors, such as the quality and/or bandwidth of a communication channel between the encoder and the decoder. As such, if bandwidth is reduced due to interference, fewer layers can be selected, which results in a higher degree of compression. While this will result in lower image quality, in many applications, such as VR, some frame degradation is less noticeable than dropped frames or increased latency, and is therefore a better result.

其他因素可包括但不受限於該顯示裝置的移動,尤其是移動 速率、影像顯示需求、目標顯示解析度、該等一或多個影像之內該像素陣列的位置以及該等一或多個影像之內該項素陣列相對於該等一或多個影像的觀察者凝視點之位置。底下將更詳細說明進一步範例。 Other factors may include, but are not limited to, movement of the display device, especially movement speed, image display requirements, target display resolution, position of the pixel array within the one or more images, and observation of the pixel array within the one or more images relative to the one or more images The position of the gaze point. Further examples are described in more detail below.

在步驟416上,決定一位元編碼方案,然後在步驟418上,允許使用不同位元數來選擇性編碼該已選取頻率係數。在此方案,如上述,一已比例縮放頻率分量可能只需要6位元就可完全編碼該係數。因此,選取該位元編碼方案,如此針對該階層內每一層級,改變用來編碼該等頻率係數的位元數。這是可行的,因為較高頻率分量通常具有較小的強度,因此需要較少的位元進行編碼。 At step 416, a one-bit encoding scheme is determined, and then at step 418, a different number of bits is allowed to selectively encode the selected frequency coefficients. In this scheme, as described above, a scaled frequency component may only require 6 bits to fully encode the coefficients. Therefore, the bit encoding scheme is selected such that for each level within the hierarchy, the number of bits used to encode the frequency coefficients is changed. This works because higher frequency components generally have less intensity and therefore require fewer bits to encode.

在一個範例中,用於該亮度通道的該編碼方案不同於該色度通道所使用的,而範例編碼方案顯示於底下的表格1內。 In one example, the encoding scheme used for the luma channel is different from that used for the chroma channel, and example encoding schemes are shown in Table 1 below.

Figure 106119982-A0202-12-0047-1
Figure 106119982-A0202-12-0047-1

第五圖內顯示用於該等三個通道每一者中前6個層級的此編碼形式之範例。使用選擇規則與位元編碼方案的此特定組合導致以129位元編碼亮度通道541,並且用60位元編碼色度通道542、543之每一者,導致只使用249位元就可編碼該8x8像素陣列的全部三個通道。應了解,這相較於 需要192位元組的原始未壓縮影像資料,代表超過六倍的壓縮。 An example of this form of encoding for the first 6 levels in each of the three channels is shown in the fifth figure. Using this particular combination of selection rules and bit encoding scheme results in encoding the luma channel 541 with 129 bits, and encoding each of the chroma channels 542, 543 with 60 bits, resulting in the 8x8 being encoded using only 249 bits All three channels of the pixel array. It should be understood that this is compared to Requires 192 bytes of raw uncompressed image data, representing more than six times the compression.

從此將可了解,具有0位元的加密通道有效對應至拋棄該通道,因此這可通過選擇使用該等編碼規則的一編碼方案,用來當成選擇該等已編碼係數之方式,藉此有效地將步驟412和414與416和418組合。 It will be appreciated from this that an encrypted channel with 0 bits effectively corresponds to discarding the channel, so this can be used as a way of selecting the encoded coefficients by selecting an encoding scheme that uses the encoding rules, thereby effectively Combine steps 412 and 414 with 416 and 418.

一旦已經執行該編碼,則在步驟420上利用執行並列至序列位元組編碼,可將該等位元已編碼頻率分量串連成一位元串流,然後允許以32位元組(256位元)表示。在步驟422上,剖析該等位元組,來在步驟424上識別後續一致位元組。尤其是,此方式用於識別三個或更多一致位元組的子序列,然後在步驟426上替換成一代碼,不損失任何資訊。 Once the encoding has been performed, by performing parallel-to-sequence byte encoding at step 420, the bit-encoded frequency components can be concatenated into a one-bit stream, which then allows 32-byte (256-bit) )express. At step 422, the bytes are parsed to identify subsequent consistent bytes at step 424. In particular, this approach is used to identify subsequences of three or more identical bytes, which are then replaced with a code at step 426 without any loss of information.

特別是針對大部分影像,在該結果編碼頻率係數內有零字串,在此該等已比例縮放的係數都數值簡化為零。因此,可用一代碼替換,其可由該解碼器識別,允許該解碼器重新插入一致位元組的子序列。 Especially for most images, there is a string of zeros in the resulting encoded frequency coefficients, where the scaled coefficients are reduced to zero in value. Therefore, it can be replaced with a code that can be recognized by the decoder, allowing the decoder to re-insert the subsequence of consistent bytes.

雖然該代碼可為任何合適的形式,在一個範例中,該代碼包括識別該特定位元組為代碼的一標頭,以及對應至一致位元組的值與編號之資訊。在較佳配置當中,使用布林OR運算將一2位元組代碼與一列(1-8)內零編號組合。在一個範例中,該零編號代表為N-1,如此0-7的數字與該2位元組代碼進行OR運算,如此只採用該第二位元組的3位元,例如:所使用的該代碼可為(1111 1111;1111 1000),其中該第二位元組根據零編號與0-7進行OR運算。應了解,類似方式可用於不同值。 Although the code may be in any suitable form, in one example, the code includes a header identifying the particular byte as the code, and information corresponding to the value and number of the corresponding byte. In the preferred configuration, a Boolean OR operation is used to combine a 2-byte code with a zero number in a column (1-8). In one example, the zero number represents N-1, so the numbers 0-7 are ORed with the 2-byte code, so that only 3 bits of the second byte are used, for example: the used The code may be (1111 1111; 1111 1000), where the second byte is ORed with 0-7 according to the zero number. It should be appreciated that a similar approach can be used for different values.

此方式運作良好,因為該編碼很少導致連續數字超過或等於248之值,如此該解碼演算法可簡單搜尋具有255值的一個位元組以及具有值大於或等於248的後續位元組,將其識別為與已編碼頻率分量相反地代 碼。然後用對應至具有由該第二位元中最後3位元所表示一系列零的該資料之位元組來取代此代碼。這可導致在根據最新測試的該位元編碼階段之後,資料可進一步縮小19-25%。 This works well because the encoding rarely results in consecutive numbers exceeding or equal to the value of 248, so the decoding algorithm can simply search for a byte with a value of 255 and subsequent bytes with a value greater than or equal to 248, converting It is identified as the inverse of the coded frequency components code. This code is then replaced with the byte corresponding to the data having a series of zeros represented by the last 3 bits in the second bit. This can result in a further 19-25% reduction in data after this bit encoding stage according to the latest tests.

在執行代碼替換之後,在步驟428上輸出已壓縮影像資料。尤其是,該已壓縮影像資料通常儲存在輸出緩衝區323內,直到有足夠資料,此時建立一資料封包並由收發器324傳輸至該編碼器。 After performing the code replacement, at step 428 the compressed image data is output. In particular, the compressed image data is usually stored in the output buffer 323 until there is enough data, at which point a data packet is created and transmitted by the transceiver 324 to the encoder.

在步驟430上,解碼器330透過收發器334接收該已壓縮資料,然後儲存在解碼器輸入緩衝區331內。在步驟432上剖析該資料,以識別該資料內的代碼,如上述,然後在步驟434上用重複的一致位元組之子序列來替換,藉此重新建立位元已編碼頻率係數的該位元串流。 At step 430 , the compressed data is received by the decoder 330 through the transceiver 334 and stored in the decoder input buffer 331 . The data is parsed at step 432 to identify codes within the data, as described above, and then replaced at step 434 with a repeating subsequence of consistent bytes, thereby recreating the bits of the bit-encoded frequency coefficients stream.

在步驟436上,解碼器處理裝置332決定用於編碼該影像資料的該位元編碼方案,用此方案來執行該位元串流的序列至並列解碼,藉此在步驟438上決定該等已編碼頻率係數。尤其是,這允許解碼器處理裝置332決定用於編碼該頻率係數的該位元的數字,允許該位元串流有效分成個別已編碼頻率係數。在步驟440上使用該等個別頻率係數來重新建立該比例縮放的頻率矩陣,使用空值產生拋棄的頻率係數,藉此填滿整個矩陣,接著在步驟442上根據該比例縮係數比例縮放。 At step 436, decoder processing device 332 determines the bit encoding scheme used to encode the image data, and uses this scheme to perform sequential-to-parallel decoding of the bitstream, thereby determining at step 438 the already Coding frequency coefficients. In particular, this allows decoder processing means 332 to determine the number of bits used to encode the frequency coefficients, allowing the bitstream to be efficiently divided into individual encoded frequency coefficients. The individual frequency coefficients are used to recreate the scaled frequency matrix at step 440 , the discarded frequency coefficients are generated using nulls, thereby filling the entire matrix, and then at step 442 is scaled according to the scale factor.

在步驟444上,在步驟446上將每一YCbCr通道的該已轉換矩陣轉換成RGB通道之前,套用逆向2D DCT轉換,允許在步驟448上輸出一8x8像素區塊,而允許由顯示裝置340實施。 At step 444, an inverse 2D DCT transformation is applied prior to converting the converted matrix of each YCbCr channel to RGB channels at step 446, allowing an 8x8 pixel block to be output at step 448, allowing implementation by display device 340 .

因此,上述處理可顯著減少每一8x8像素區塊編碼所需的影像資料量,因此減少整體影像量。尤其是,使用YCbCr通道的2D DCT、對 結果頻率係數進行選擇性位元編碼以及一選配的最終非破壞編碼方案,就可實現此目的。每一通道都可同時處理,以並行方式將該DCT套用至該8x8陣列。更進一步,每一該等頻率係數的位元編碼也同時發生,產生大量並行方法,允許以迅速方式同時執行壓縮與解壓縮,造成對等待時間有最小影響,這在像是VR、AR以及遙現這類即時應用當中相當重要。 Therefore, the above process can significantly reduce the amount of image data required to encode each 8x8 pixel block, thus reducing the overall image size. In particular, 2D DCT using YCbCr channels, for Selective bit-encoding of the resulting frequency coefficients and an optional final non-destructive encoding scheme accomplishes this. Each channel can be processed simultaneously, applying the DCT to the 8x8 array in parallel. Furthermore, the bit-coding of each of these frequency coefficients also occurs simultaneously, resulting in a large number of parallel methods, allowing compression and decompression to be performed simultaneously in a rapid manner with minimal impact on latency, which is the case in applications such as VR, AR, and remote. It is very important in this kind of instant application.

此時將參閱第六圖和第七圖來說明實現選擇規則的方式範例。 An example of the manner in which the selection rule is implemented will now be described with reference to the sixth and seventh figures.

尤其是,此範例著重在如何使用一影像之內該像素陣列的空間定位來影響該選擇處理,並因此影響所執行的壓縮量。針對其他因素可執行類似處理,並且本文將不再詳細說明。此處理對於編碼器或解碼器來說都一樣,所以為了容易說明,因此只將焦點放在編碼器的操作上。 In particular, this example focuses on how the spatial positioning of the pixel array within an image is used to influence the selection process, and thus the amount of compression performed. Similar processing may be performed for other factors and will not be described in detail herein. This process is the same for either the encoder or the decoder, so for ease of illustration, only the operation of the encoder will be focused.

在此範例中,在步驟600上,編碼器處理裝置322決定該目前通道的選擇規則。在此方面,如先前所述,不同規則通常會套用至該等亮度與色度通道之每一者。然後在步驟605上,編碼器處理裝置322決定該影像之內該像素陣列的位置,並從此決定是否伴隨有與該位置有關的一絕對規則。在此方面,當使用頭戴組顯示影像時,該透鏡配置通常表示看不見影像的該部分。第七圖內顯示此範例,其顯示一影像的可觀看部分701以及不可觀看部分702。在此方面,若該像素陣列位於不可觀看部分702內,則不需要對該像素陣列編碼,因此該處理可簡單忽略該等頻率係數的所有層級。因此,在步驟610上若存在該像素陣列絕對位置的規則,則該處理前往步驟625,允許決定各別層級選擇,然後在步驟630上使用各別位元編碼方案,如上面關於步驟414至418的說明。 In this example, at step 600, the encoder processing device 322 determines the selection rule for the current channel. In this regard, as previously described, different rules are typically applied to each of the luma and chroma channels. Then at step 605, the encoder processing device 322 determines the position of the pixel array within the image, and from there, determines whether an absolute rule is associated with the position. In this regard, when a headset is used to display images, the lens configuration typically means that the portion of the image is not visible. This example is shown in Figure 7, which shows a viewable portion 701 and an unviewable portion 702 of an image. In this regard, if the pixel array is within the non-viewable portion 702, the pixel array does not need to be encoded, so the process can simply ignore all levels of the frequency coefficients. Therefore, if there is a rule for the absolute position of the pixel array at step 610, then the process proceeds to step 625, allowing the individual level selections to be determined, and then at step 630 using the respective bit encoding scheme, as above with respect to steps 414 to 418 instruction of.

否則在步驟615上,編碼器處理裝置322決定該影像的觀察者凝視點。運用眼睛追蹤感應系統就可實現,精通技術人士就可了解。一旦已經決定,在步驟620上決定一相對位置,以及決定一範例內該凝視點與該目前像素陣列位置之間的距離,然後在步驟625和630上用此來引導係數及/或位元編碼方案決策。在此方面,當一個人的周邊視野感受不到與其焦點位置相同的細節層級時,所以可從使用者凝視點開始進一步使用更大程度的壓縮。 Otherwise, at step 615, the encoder processing device 322 determines the viewer's gaze point for the image. This can be achieved using an eye-tracking sensor system that is accessible to the tech-savvy. Once determined, a relative position is determined at step 620, and the distance between the gaze point and the current pixel array position within an example is determined, which is then used at steps 625 and 630 to guide coefficient and/or bit encoding program decision. In this regard, when one's peripheral field of view does not perceive the same level of detail as its focal position, a greater degree of compression can be used further from the user's gaze point.

在一個範例中,可將使用者凝視點四周定義成最低壓縮區域,而隨著從該最低區域往外移動時提高壓縮程度。該區域可為任何形狀,並且可根據特定環境而為圓形、橢圓形、卵形等等。該區域也可相對於該凝視區偏離中心,因此確保使用低於該凝視點的最小壓縮,此區域一般來說就是使用者比較會察覺的區域。 In one example, a region of lowest compression may be defined around the user's gaze point, and the degree of compression increases as one moves outward from the lowest region. The region can be of any shape and can be circular, oval, oval, etc. depending on the particular circumstances. This area can also be off-center relative to the gaze zone, so make sure to use the minimum compression below the gaze point, which is generally the area that the user is more perceptible to.

亦應了解,在無法測量使用者凝視點的環境中,這可預測。一般而言,該預測聚焦在畫面的中央,但應了解,這並非必需並且可改變,例如根據像是所代表內容的性質、頭戴組移動方向等等。 It should also be appreciated that in environments where the user's gaze point cannot be measured, this is predictable. In general, the prediction is focused on the center of the frame, but it should be understood that this is not required and may vary, eg, depending on things like the nature of the content represented, the direction in which the headset is moving, and so on.

如此,應了解,這說明允許根據該影像之內該像素陣列的絕對及/或相對位置來執行選擇性編碼之機制。讓該編碼器與解碼器每一者都執行相同演算法來選擇該編碼方案以及所使用的選擇,這允許該解碼器可靠並精確解壓縮該已壓縮影像資料,同時仍舊允許動態執行編碼,將整體壓縮程度最大化,同時讓可感受的影像品質損失降至最低。 As such, it should be appreciated that this illustrates a mechanism that allows selective encoding to be performed based on the absolute and/or relative position of the pixel array within the image. Having the encoder and decoder each perform the same algorithm to select the encoding scheme and the selection used allows the decoder to reliably and accurately decompress the compressed image data, while still allowing encoding to be performed dynamically, The overall compression is maximized while minimizing the perceived loss of image quality.

應了解,類似方式可用於其他因素,像是傳輸品質及/或頻寬,因此確定該壓縮程度最適合當前的環境。 It should be appreciated that a similar approach can be used for other factors, such as transmission quality and/or bandwidth, and thus determine the level of compression best suited to the current environment.

此時將參考第八圖說明用來壓縮影像資料以及後續解壓縮已壓縮影像資料的方法之進一步範例。 A further example of a method for compressing image data and subsequently decompressing the compressed image data will now be described with reference to FIG. 8 .

雖然用單獨範例說明,不過從以下說明將了解,該當前範例可與上述壓縮/解壓縮技術結合使用,以便用來進一步改善壓縮與計算效能。尤其是,上述技術代表以下處理當中可運用的選項之一,不過也可了解,根據環境可適當其他壓縮技術。 Although illustrated with a separate example, it will be appreciated from the following description that the current example can be used in conjunction with the above-described compression/decompression techniques to further improve compression and computational performance. In particular, the above-described technique represents one of the options that can be employed in the following processing, although it will be appreciated that other compression techniques may be appropriate depending on the circumstances.

在此範例中,在步驟800上,從像素資料獲得代表該等一或多個影像之內一像素陣列的像素資料。這可用任何合適方式實現,但是通常牽涉到緩衝所接收的影像資料,直到已經用類似上述方式獲得一像素陣列,像是8x8陣列。 In this example, at step 800, pixel data representing an array of pixels within the one or more images is obtained from pixel data. This can be accomplished in any suitable manner, but typically involves buffering the received image data until an array of pixels, such as an 8x8 array, has been obtained in a manner similar to that described above.

在步驟810上,已決定一編碼方案,通常從一或多個先前定義的編碼方案當中選擇一編碼方案,像是上面關於第一圖至第七圖所說明的編碼方案。該選擇可用任何適當方式來執行,像是通過該影像及/或像素資料的分析、根據關聯於該影像的影像類型、根據來自影像來源或顯示器的指令等等,並且這通常根據當前情況的特定需求,執行來提供更高或更低壓縮程度。 At step 810, an encoding scheme has been determined, typically selected from one or more previously defined encoding schemes, such as the encoding schemes described above with respect to Figures 1-7. The selection may be performed in any suitable manner, such as through analysis of the image and/or pixel data, based on the type of image associated with the image, based on instructions from an image source or display, etc., and is generally based on the specifics of the current situation requirements, implemented to provide a higher or lower degree of compression.

在步驟820上,使用該編碼方案編碼該像素資料,例如使用上述技術等等。在步驟830上,指示該編碼方案的一編碼代碼是例如通過與可用方案相關聯的查找(look-up),這與該已編碼區塊搭配使用來產生壓縮影像資料。在一個範例中,這可利用該已編碼代碼當成前綴碼加入至該已編碼像素資料來實現,儘管可使用其他方式,包括根據所使用的該編碼方案,簡單地通過用該編碼代碼取代該像素數據,例如使用一代碼字元替換。 At step 820, the pixel data is encoded using the encoding scheme, eg, using the techniques described above and the like. At step 830, an encoding code indicating the encoding scheme is used, for example, through a look-up associated with the available schemes, which are used in conjunction with the encoded block to generate compressed image data. In one example, this may be accomplished using the encoded code as a prefix code added to the encoded pixel data, although other means may be used, including simply by replacing the pixel with the encoded code, depending on the encoding scheme used Data, for example, is replaced with a code character.

一旦已經建立該已壓縮影像資料,然後這可傳輸至一目的地,例如一位元組串流的一部分,允許進行解碼來產生影像資料。 Once the compressed image data has been created, this can then be transmitted to a destination, such as part of a one-byte stream, allowing decoding to generate the image data.

在步驟840上,通常由決定來自該已壓縮影像資料的該編碼代碼來執行此處理。在此方面,該編碼代碼通常具有一組格式,像是位元的特定組合,這樣在所接收位元組串流之內就可輕易辨識。然後使用該編碼代碼來決定使用的該編碼方案,通常透過步驟850上的查找程序。然後在步驟860上,使用該已辨識編碼方案來解碼該已壓縮影像資料,例如使用上面關於第一圖至第七圖所描述的方式,藉此產生代表該等一或多個影像之內該像素陣列的像素資料。 At step 840, this process is typically performed by determining the encoding code from the compressed image data. In this regard, the encoded code typically has a set of formats, such as a specific combination of bits, that can be easily identified within the received stream of bytes. The encoding code is then used to determine the encoding scheme to use, typically through the lookup procedure at step 850 . Then at step 860, the compressed image data is decoded using the identified encoding scheme, such as in the manner described above with respect to Figures 1-7, thereby generating a representation of the image within the one or more images. Pixel data for the pixel array.

因此,上述處理允許使用一些編碼方案之一者來執行編碼。在較佳範例中,事先知道編碼器與解碼器使用該等不同編碼方案,允許針對已編碼/已解碼的該影像之內每一像素陣列動態改變。這確定該編碼方案用於最佳化被編碼的該特定資料,藉此實現壓縮最大化,同時確定維持其他所要的特性,像是影像品質與編碼時間。 Thus, the above process allows encoding to be performed using one of several encoding schemes. In the preferred example, the encoder and decoder are known in advance to use these different encoding schemes, allowing dynamic changes for each pixel array within the image as encoded/decoded. This determines that the encoding scheme is used to optimize the particular data being encoded, thereby maximizing compression, while determining to maintain other desired characteristics, such as image quality and encoding time.

此時將描述一些進一步特色。 Some further features will be described at this point.

當編碼該影像時,該處理通常牽涉到根據不同因素的一範圍之一或多者,包括該影像資料的影像類型、從一影像資料來源或顯示器接收的一編碼方案指示、利用分析至少該影像資料與該像素資料之一者,或根據壓縮要求,像是要求的壓縮量、結果影像品質、壓縮延遲等等,來決定該編碼方案。 When encoding the image, the processing typically involves one or more of a range of factors, including the image type of the image data, an encoding scheme indication received from an image data source or display, analysis of at least the image using One of the data and the pixel data, or according to compression requirements, such as the amount of compression required, resulting image quality, compression delay, etc., determines the encoding scheme.

如此例如在編碼相片而非電腦生成圖形時,可使用不同編碼類型,因為其通常具有非常不同的屬性。從與該影像相關聯的中繼資料, 或根據該影像本身的屬性,就可獲得該影像的性質。另外,供應該影像資料的一影像來源,像是供應該影像資料來傳輸至一顯示器或其他計算裝置的一電腦系統,可指定應該使用的該編碼方案。 Thus, for example, when encoding photographs rather than computer-generated graphics, different encoding types can be used, as they often have very different properties. From the metadata associated with the image, Or according to the properties of the image itself, the properties of the image can be obtained. Additionally, an image source that supplies the image data, such as a computer system that supplies the image data for transmission to a display or other computing device, can specify the encoding scheme that should be used.

進一步範例為分析該像素資料,來識別該像素陣列的特性,例如若該像素陣列具有單一顏色,則應該使用與內含多種顏色的該像素陣列所用不同之演算法。這對於編碼具有單一顏色的大面積影像特別有用,像是天空或背景,允許指示使用純色來取代整個像素陣列的該像素資料之單一編碼代碼,藉此導致最大量壓縮,而對影像品質無有效損失。 A further example is to analyze the pixel data to identify the characteristics of the pixel array, eg if the pixel array has a single color, a different algorithm should be used than that used for the pixel array containing multiple colors. This is especially useful for encoding large area images with a single color, such as the sky or background, allowing a single encoding code that indicates the use of a solid color to replace the pixel data for the entire pixel array, thereby resulting in maximum compression with no effect on image quality loss.

進一步範例為梯度或邊界的識別,其可導致使用許多影像壓縮方式還是得不到所要壓縮物,因此可能需要替代的壓縮方式。 A further example is the identification of gradients or boundaries, which may result in the use of many image compression methods still not obtaining the desired compression, and thus an alternative compression method may be required.

在一個較佳範例中,其中該像素陣列並非純色,則使用關於第一圖至第七圖所描述的方式。在該像素陣列不含梯度或邊界的事件中,該技術可牽涉到編碼所有三個該等YCbCr通道。然而,在該像素陣列包含一梯度或邊界的事件中,該Y通道可不用編碼,如此保留額外的亮度資訊。雖然這減少所獲得的最終壓縮總量,不過由於該等CbCr通道的壓縮,所以該壓縮總量仍舊足夠,而該額外保留的顏色資訊可顯著改善該梯度或邊界區域內該結果影像的品質。 In a preferred example, where the pixel array is not a solid color, the approach described with respect to Figures 1 to 7 is used. In the event that the pixel array contains no gradients or boundaries, this technique may involve encoding all three of the YCbCr channels. However, in the event that the pixel array contains a gradient or boundary, the Y channel may not be encoded, thus preserving additional luminance information. Although this reduces the final amount of compression obtained, the amount of compression is still sufficient due to the compression of the CbCr channels, and the additionally preserved color information can significantly improve the quality of the resulting image in the gradient or border region.

該選擇也可用來控制一壓縮演算法的其他態樣,例如:這應用於以類似於關於第六圖中該處理所執行方式,指定在上述壓縮處理當中要保留哪個頻率係數。 This selection can also be used to control other aspects of a compression algorithm, eg, this applies to specifying which frequency coefficients are to be preserved in the compression process described above in a manner similar to that performed with respect to the process in the sixth figure.

該編碼代碼通常指定為從0至255的數字形式,這可用單一位元組定義,並且允許最多256種不同的編碼方案供選擇。如此有廣泛不同的 編碼方案可使用,而這些方案都分別指派給數字0至255,如此可使用廣泛不同的編碼方案,藉此達成具有所要影像品質的最佳壓縮。在一個特定範例中,應了解,可建立編碼方案的工業標準清單,如此即使之前未溝通建立要使用的編碼方案,也可讓編碼與解碼系統協同運作。 The encoding code is usually specified as a number from 0 to 255, which can be defined with a single tuple, and allows up to 256 different encoding schemes to choose from. so widely varied Coding schemes can be used, and these schemes are assigned to numbers 0 to 255, respectively, so that a wide variety of coding schemes can be used, thereby achieving the best compression with the desired image quality. In one particular example, it should be understood that an industry standard list of encoding schemes can be established so that the encoding and decoding systems can work together even if the encoding scheme to be used has not been previously communicated.

在一個特定範例中,該編碼代碼可由諸如「11111111」之類的固定格式前導位元組來識別,如此用來選擇指派給數字1的編碼方案之該編碼代碼應為「1111111100000001」。應了解,執行此允許該解碼處理輕鬆識別所使用的編碼處理。然而,任何合適的方式都可使用,並且上面範例並非用於設限。 In one specific example, the encoding code can be identified by a fixed format leading byte such as "11111111", so the encoding code used to select the encoding scheme assigned to the number 1 should be "1111111100000001". It will be appreciated that doing this allows the decoding process to easily identify the encoding process used. However, any suitable approach may be used and the above examples are not intended to be limiting.

應了解,當解碼該已壓縮影像資料時,使用類似的方式,該方式包括將一編碼代碼替換成一純色的像素陣列,或使用先前說明的解碼處理。 It will be appreciated that a similar approach is used when decoding the compressed image data, including replacing an encoded code with a solid-color pixel array, or using the decoding process previously described.

亦應了解,可使用類似於上述的設備來執行該影像壓縮處理,因此不再進一步詳細說明。 It should also be appreciated that the image compression process may be performed using equipment similar to those described above, and thus will not be described in further detail.

此時參閱第九A圖和第九B圖,更詳細說明進一步範例處理。 Referring now to Figure 9 A and Figure 9 B, further example processing is described in more detail.

在此範例中,在步驟904上,編碼器320從處理系統310接收影像資料,特別是代表一系列影像的視頻資料,然後在步驟902上暫時儲存在編碼器輸入緩衝區321內。接著分析該影像資料,例如通過解析該資料來識別限定標頭的該資料內之旗標、識別一影像的開頭等等,在步驟904上獲取對應至接下來8x8像素區塊的影像資料。應了解,這對應至上述步驟400至404,因此將不再進一步詳細說明。 In this example, at step 904 , the encoder 320 receives image data, particularly video data representing a series of images, from the processing system 310 and then temporarily stores it in the encoder input buffer 321 at step 902 . The image data is then analyzed, eg, by parsing the data to identify flags within the data defining the header, identifying the beginning of an image, etc., and obtaining image data corresponding to the next 8x8 pixel block at step 904 . It should be appreciated that this corresponds to steps 400 to 404 described above, and thus will not be described in further detail.

在步驟906上,編碼器920選擇要使用的一編碼方案。這可透 過8x8像素區塊的分析,例如決定該區塊是否為單一顏色、梯度、邊緣等等,或可根據該影像來源提供的資訊來實現。 At step 906, the encoder 920 selects an encoding scheme to use. It's transparent Through the analysis of the 8x8 pixel block, for example, it is determined whether the block is a single color, gradient, edge, etc., or can be realized according to the information provided by the image source.

在顯示的範例中,該等編碼方案包括一第一編碼方案,用來在步驟908上執行一區塊替換,其中用一已知預定的代碼取代單色像素區塊。在步驟908上提供一第二編碼方案,在此範例中其對應至上述編碼方案,並且指定至步驟406至426。然而,應了解,可使用不同方案的任何數量N,然後在步驟910上選擇並使用其他方案。 In the example shown, the encoding schemes include a first encoding scheme for performing a block replacement at step 908 in which a block of monochrome pixels is replaced with a known predetermined code. A second encoding scheme is provided at step 908, which in this example corresponds to the encoding scheme described above, and assigned to steps 406-426. However, it should be appreciated that any number N of different schemes can be used, and then other schemes are selected and used at step 910.

在步驟912上,代表該已選取編碼方案的一編碼代碼前置附加(prepended)至該已編碼資料,然後在步驟914上將此資料當成壓縮影像資料來輸出。 In step 912, an encoding code representing the selected encoding scheme is prepended to the encoded data, and then in step 914 the data is output as compressed image data.

接著,在步驟916上,解碼器330接收該已壓縮影像資料,來執行此解碼,並在步驟918上,偵測該編碼代碼存在與否,然後在步驟920上,用此檢測結果來選擇一適當的解碼方案。例如:這可包括在步驟922上執行區塊替換,用單色像素區塊取代該預定代碼,或包括在步驟924上執行步驟432-446的該解碼處理。同樣,提供N合適的解碼方案,而依照需求可在步驟926上選擇並使用其他方案。 Next, in step 916, the decoder 330 receives the compressed image data to perform the decoding, and in step 918, detects the presence or absence of the encoding code, and then, in step 920, uses the detection result to select a proper decoding scheme. For example: this may include performing block replacement at step 922, replacing the predetermined code with a block of monochrome pixels, or performing the decoding process of steps 432-446 at step 924. Again, N suitable decoding schemes are provided, while other schemes may be selected and used at step 926 as desired.

最終,在步驟928上,從該解碼器輸出一8x8像素區塊。 Finally, at step 928, an 8x8 pixel block is output from the decoder.

從此可了解,步驟906上執行的該選擇程序執行要執行的分類功能,如此每一像素區塊都可指派給不同的編碼方案。在一個範例中,最多可定義256個不同的方案,允許第三方導入新壓縮/解壓縮方案給先前說明架構之內的該8x8像素區塊。更進一步,使用者可定義特定分類方案,如此例如根據要編碼的該影像內容性質、該情況的需求,像是延遲需求等等, 例如256個方案的不同組合就可用於不同環境。 From this, it can be understood that the selection process performed at step 906 performs the classification function to be performed, so that each pixel block can be assigned to a different encoding scheme. In one example, up to 256 different schemes can be defined, allowing third parties to import new compression/decompression schemes to the 8x8 pixel block within the previously described architecture. Furthermore, the user can define a specific classification scheme, such as according to the nature of the image content to be encoded, the requirements of the situation, such as delay requirements, etc., For example, different combinations of 256 schemes can be used in different environments.

這大大增加了可執行的編碼之靈活性,並且特別允許使用針對每個像素區塊的分類處理,來動態選擇個別編碼方案,藉此根據具體情況優化對每個區塊的編碼。更進一步,可以提供不同的分類方案,每個不同的分類方案允許存取編碼方案的不同組合,藉此進一步增加靈活性,允許使用者確保可在各種不同情況中執行最佳編碼。 This greatly increases the flexibility of the encoding that can be performed, and in particular allows the use of a per-pixel block classification process to dynamically select individual encoding schemes, thereby optimizing the encoding of each block on a case-by-case basis. Still further, different sorting schemes can be provided, each different sorting scheme allowing access to different combinations of coding schemes, thereby further increasing flexibility, allowing the user to ensure that optimal coding can be performed in a variety of different situations.

在另一個廣泛形式中,上述第六圖和第七圖中描述的該移動壓縮方案還可結合不同的加密方案來使用,以提供一種將來自數位實境內容中一或多個影像形成部分的影像資料壓縮之方法,此時將參閱第十圖來說明。 In another broad form, the motion compression scheme described in Figures 6 and 7 above can also be used in conjunction with different encryption schemes to provide a way to combine images from one or more images forming part of digital reality content. The method of image data compression will now be described with reference to Figure 10.

在此範例中,該方法包括在步驟1000上從該影像資料獲得像素資料,該像素資料代表該等一或多個影像之內一像素陣列。這可用類似於上述方式來實現。 In this example, the method includes obtaining pixel data from the image data at step 1000, the pixel data representing an array of pixels within the one or more images. This can be accomplished in a manner similar to that described above.

在步驟1010上,決定該等一或多個影像之內該像素陣列相對於一已定義位置的一位置,而該已定義位置至少部分指示該使用者的一凝視點。所定義的位置可以基於凝視的實際測量點,或該使用者的預期或預測凝視點,例如通過假設使用者在開始盯著該影像的大致中心,或基於內容,例如影像內的焦點、頭戴組的移動等來決定。此外,該定義點可偏離該凝視點,例如將此定位在該凝視點底下,來考量到個人傾向稍微聚焦在凝視點底下,避免走路時撞到障礙物。 At step 1010, a location of the pixel array within the one or more images is determined relative to a defined location that at least partially indicates a gaze point of the user. The defined position can be based on the actual measured point of gaze, or the user's expected or predicted gaze point, such as by assuming the user is starting to stare at the approximate center of the image, or based on content, such as focus within the image, head-mounted The movement of the group etc. is decided. Additionally, the defining point may be offset from the gaze point, eg, positioned below the gaze point, to account for a personal tendency to focus slightly below the gaze point to avoid bumping into obstacles while walking.

接著,在步驟1020上將該像素資料壓縮,來產生壓縮的影像資料,該像素資料以至少部分依照該已決定位置來壓縮,如此壓縮程度取 決於該像素陣列的該已決定位置。 Next, in step 1020, the pixel data is compressed to generate compressed image data, and the pixel data is compressed at least in part according to the determined position, such that the degree of compression is Depends on the determined position of the pixel array.

應了解,可執行類似的解壓縮處理,其牽涉到在步驟1030上獲得已壓縮的影像資料,該已壓縮影像資料代表該等一或多個影像之內一像素陣列,並且至少部分根據該等一或多個影像之內的該像素陣列相對於一已定義位置之一位置來壓縮,該已定義位置至少部分指示該使用者的凝視點,以及在步驟1040上至少部分依照該已決定位置來解壓縮該已壓縮影像資料。 It will be appreciated that a similar decompression process may be performed involving obtaining compressed image data at step 1030, the compressed image data representing an array of pixels within the one or more images, and based at least in part on the The array of pixels within one or more images is compressed relative to a position at a defined location that at least partially indicates the user's gaze point, and at step 1040 is at least partially based on the determined location Decompress the compressed image data.

如此,這提供壓縮與後續解壓縮該影像的機制,其中該壓縮根據一像素陣列相對於一定義點的位置來控制,接著至少部分根據該使用者的預測或受測凝視點來控制。尤其是,這允許根據該像素陣列的位置,選擇壓縮程度,如此在該凝視點附近區域可使用較少壓縮,而遠離該凝視點的區域可使用較大壓縮,例如使用者的視野周邊內。這實際上提供了渲染(foveated)壓縮,通過增加使用者的周邊視野的壓縮,其中降低的影像品質不太明顯,從而允許實現更大的總體壓縮,而無可察覺的品質損失。 As such, this provides a mechanism for compressing and subsequently decompressing the image, wherein the compression is controlled according to the position of an array of pixels relative to a defined point, and then at least in part according to the user's predicted or measured gaze point. In particular, this allows the degree of compression to be chosen based on the location of the pixel array, so that less compression can be used in areas near the gaze point, and more compression can be used in areas far from the gaze point, such as within the periphery of the user's field of view. This actually provides foveated compression, by increasing the compression of the user's peripheral field of view, where the reduced image quality is less noticeable, allowing for greater overall compression with no perceptible loss of quality.

應了解,此處理可與上述壓縮處理結合使用,例如允許基於該像素陣列的位置來選擇不同的壓縮方案,並允許使用上述位元編碼方案。然而,這並非必需並且任何合適的壓縮方案都可使用,像是小波壓縮、自適應採樣等。 It will be appreciated that this process can be used in conjunction with the compression process described above, eg, to allow selection of different compression schemes based on the location of the pixel array, and to allow the use of the bit-coding schemes described above. However, this is not required and any suitable compression scheme can be used, like wavelet compression, adaptive sampling, etc.

在任何事件中,此時將描述一些進一步特色。 In any event, some further features will be described at this time.

在一個範例中,所定義位置是使用者的凝視測量點、使用者的凝視預期點、偏離使用者凝視測量點之處、偏離使用者凝視預期點之處以及至少部分依照指示使用者凝視點的凝視資料所決定點之一,其中該凝 視資料獲自於一凝視追踪系統。如此,所定義點可基於凝視的測量點或預測點並且可偏移,像是低於該凝視點,以便優化該壓縮程度,而不會引起可察覺的影像品質降低。 In one example, the defined locations are the user's gaze measurement point, the user's gaze expected point, the deviation from the user's gaze measurement point, the deviation from the user's expected gaze point, and at least in part in accordance with the point of indicating the user's gaze One of the points determined by the gaze data, where the gaze Visual data is obtained from a gaze tracking system. As such, the defined point may be based on a measured or predicted point of gaze and may be offset, such as below the gaze point, in order to optimize the degree of compression without causing an appreciable reduction in image quality.

該壓縮程度可基於與該定義點的距離,例如遠離該凝視點時逐漸降低,但也可基於相對於該定義點的方向,如此高於或低於該定義點時壓縮較多。應了解,這允許在相對於該凝視點定位具有任意形狀的區域中使用相應的壓縮程度,並且這可以根據受壓縮內容的特定環境及/或性質來配置。例如,這允許圍繞該定義點的橢圓形、卵形或心形區域與周邊區域相比具有減少的壓縮量,從而在該使用者對任何壓縮物的感知將會更大的區域中優化影像品質。 The degree of compression may be based on the distance from the definition point, eg, gradually decreases away from the gaze point, but may also be based on the direction relative to the definition point, so that the compression is more above or below the definition point. It will be appreciated that this allows a corresponding degree of compression to be used in locating regions of arbitrary shape relative to the gaze point, and this may be configured according to the specific environment and/or properties of the compressed content. For example, this allows an elliptical, oval or heart-shaped area around the defining point to have a reduced amount of compression compared to the surrounding area, thereby optimizing image quality in areas where the user's perception of any compression will be greater .

在一個範例中,該方法包括選擇複數個編碼方案之一者,並使用該已選取的編碼方案編碼該像素資料,如此應了解,這允許結合類似於第八圖和第九圖中描述的技術來執行渲染壓縮,其中使用的編碼方案係依照該像素陣列的位置來選擇。如此在一個範例中,每個編碼方案都提供相應的壓縮程度,並且其中該方法包括至少部分依照想要的壓縮程度及/或該像素陣列的位置來選擇編碼方案。 In one example, the method includes selecting one of a plurality of encoding schemes, and encoding the pixel data using the selected encoding scheme, as will be appreciated, this allows incorporating techniques similar to those described in Figures 8 and 9 to perform rendering compression, where the encoding scheme used is chosen according to the location of the pixel array. Thus, in one example, each encoding scheme provides a corresponding degree of compression, and wherein the method includes selecting an encoding scheme based, at least in part, on a desired degree of compression and/or location of the pixel array.

該處理也涉及決定指出所使用編碼方案的一編碼代碼,並使用該編碼代碼和已編碼像素資料來產生壓縮影像資料,從而允許將其用於解碼該已壓縮影像資料。然而,這並非必需,或者該解壓縮處理可以涉及使用類似的標準來決定所使用的編碼方案,例如該像素陣列的位置以及因此所需的壓縮程度。 The process also involves determining an encoding code indicating the encoding scheme used, and using the encoding code and encoded pixel data to generate compressed image data, allowing it to be used to decode the compressed image data. However, this is not required, or the decompression process may involve the use of similar criteria to determine the encoding scheme used, such as the location of the pixel array and thus the degree of compression required.

在一個範例中,該編碼方案使用類似於上面關於第一圖所描 述的方式,在此案例中,通過對該像素資料套用一轉換,來決定指出該像素陣列頻率分量的一組頻率係數,來壓縮影像資料,使用一位元編碼方案選擇性編碼至少某些該等頻率係數,從而產生一組已編碼的頻率係數,並使用該已編碼的頻率係數產生已壓縮影像資料。然而應了解,可使用任一或多個合適壓縮技術,像是JPEG等等。 In one example, the encoding scheme uses a coding scheme similar to that described above with respect to the first figure In the manner described, in this case, the image data is compressed by applying a transformation to the pixel data to determine a set of frequency coefficients indicating the frequency components of the pixel array, selectively encoding at least some of these using a one-bit encoding scheme frequency coefficients, thereby generating a set of coded frequency coefficients, and using the coded frequency coefficients to generate compressed image data. It should be appreciated, however, that any or more suitable compression techniques may be used, such as JPEG or the like.

在該較佳範例中,如上面第一圖的案例中,該位元編碼方案定義用於將每一該等頻率係數編碼的位元數,如此至少某些該等已編碼頻率係數具有不同的位元數。更典型地,使用較少數的位元來編碼對應於較高頻率的頻率係數,並且較佳是,逐漸更少數量的位元用於對逐漸升高頻率相應的頻率係數進行編碼。在一個範例中,拋棄至少一些頻率係數(使用零位元有效進行編碼),使得該組已編碼頻率係數小於該組頻率係數,並且這些頻率係數通常對應於較高頻率。 In the preferred example, as in the case of the first figure above, the bit encoding scheme defines the number of bits used to encode each of the frequency coefficients, such that at least some of the encoded frequency coefficients have different bits arity. More typically, a smaller number of bits are used to encode frequency coefficients corresponding to higher frequencies, and preferably progressively smaller numbers of bits are used to encode frequency coefficients corresponding to progressively higher frequencies. In one example, at least some of the frequency coefficients are discarded (effectively encoded with zero bits) so that the set of coded frequency coefficients is smaller than the set of frequency coefficients, and which generally correspond to higher frequencies.

在一個範例中,該方法包括選擇複數個位元編碼方案之一者,並依照該選取的位元編碼方案編碼該等頻率係數。如此應了解,不同的編碼方案可以對應於第一圖的該編碼方案,其中使用不同的位元編碼方案來用各別不同的位元數對不同的頻率係數進行編碼,從而提供不同的壓縮程度。 In one example, the method includes selecting one of a plurality of bit encoding schemes, and encoding the frequency coefficients according to the selected bit encoding scheme. It should thus be appreciated that different encoding schemes may correspond to the encoding scheme of the first figure, wherein different bit encoding schemes are used to encode different frequency coefficients with respective different numbers of bits, thereby providing different degrees of compression .

如此應了解,該位元編碼方案可至少部分根據想要的壓縮程度及/或該像素陣列的位置來選擇。這可根據其他因素,例如該像素陣列的位置、用於發送該已壓縮影像資料的一通訊連結之傳輸頻寬、用於發送該已壓縮影像資料的一通訊連結之傳輸服務品質、一顯示裝置的移動、影像顯示要求、一目標顯示解析度、正在處理的通道、錯誤矩陣等。如上述, 這允許動態調整該壓縮,以幫助優化該壓縮並獲得當前情況下最佳可能影像品質之能力。 As will be appreciated, the bit encoding scheme may be selected based at least in part on the desired degree of compression and/or the location of the pixel array. This may depend on other factors such as the location of the pixel array, the transmission bandwidth of a communication link used to send the compressed image data, the transmission quality of a communication link used to send the compressed image data, a display device movement, image display requirements, a target display resolution, the channel being processed, the error matrix, etc. As above, This allows the ability to dynamically adjust the compression to help optimize the compression and achieve the best possible image quality under the current circumstances.

在一個範例中,該等頻率分量配置在複數個層級內,並且其中每一位元編碼方案定義要用來編碼該等複數個層級中每一者內該等頻率係數的一個別位元數。尤其是,其中該陣列為N x N像素陣列,這產生2N-1階的頻率分量,其中每一階層內的分量都用各別位元數編碼。 In one example, the frequency components are arranged in a plurality of levels, and wherein each bit encoding scheme defines an additional number of bits to be used to encode the frequency coefficients in each of the plurality of levels. In particular, where the array is an NxN array of pixels, this produces frequency components of order 2N - 1, wherein the components within each level are encoded with a respective number of bits.

如上述,該方法可包括以類似於上述方式套用一比例縮放因數。 As described above, the method may include applying a scaling factor in a manner similar to that described above.

該影像資料通常定義複數個通道,其中該方法包括針對每一通道選擇性編碼頻率係數。例如:該像素資料可定義RGB通道,該等通道會轉換成YCbCr通道,然後如上述轉換該等通道。此處理涉及選擇性比該等Cb或Cr通道編碼更多頻率係數給該Y通道、選擇性同時編碼頻率係數給該等YCbCr通道及/或選擇性編碼頻率係數給該等CbCr通道並使用該Y通道,如此該Y通道有效未壓縮。 The image data typically defines a plurality of channels, wherein the method includes selectively encoding frequency coefficients for each channel. For example, the pixel data can define RGB channels, these channels are converted to YCbCr channels, and then the channels are converted as described above. This process involves selectively encoding more frequency coefficients to the Y channel than the Cb or Cr channels, selectively encoding frequency coefficients simultaneously to the YCbCr channels, and/or selectively encoding frequency coefficients to the CbCr channels and using the Y channel, so the Y channel is effectively uncompressed.

在一個範例中,該轉換為一2-D離散餘弦轉換。 In one example, the transform is a 2-D discrete cosine transform.

該方法通常也包括將該影像資料緩衝,以獲得該等像素陣列,例如通過緩衝像素的n-1列,以及下一列像素的接下來n像素,來形成第一nxn像素區塊。然後如前所述緩衝連續區塊,其中基於所選位元編碼方案、想要的壓縮程度及/或該像素陣列的位置,可選擇性控制每個區塊中的像素數。 The method also typically includes buffering the image data to obtain the array of pixels, eg, by buffering n-1 columns of pixels, and the next n pixels of the next column of pixels, to form a first n x n block of pixels. Consecutive blocks are then buffered as previously described, wherein the number of pixels in each block can be selectively controlled based on the selected bit encoding scheme, the desired degree of compression, and/or the location of the pixel array.

頻率係數通常同時編碼,而該已壓縮影像資料是通過並列到序列位元組編碼所產生,不過也可使用其他合適的方式。 The frequency coefficients are usually encoded simultaneously and the compressed image data is generated by parallel-to-sequential byte encoding, although other suitable methods may be used.

類似方式可用於將該已壓縮影像資料解碼。 A similar approach can be used to decode the compressed video data.

例如:對該已壓縮影像資料解碼可包括選擇複數個解碼方案之一者,並使用所選解碼方案對該像素資料解碼,其中該選擇係基於想要的壓縮程度、該像素陣列的位置或該已壓縮影像資料內一編碼代碼。 For example, decoding the compressed image data may include selecting one of a plurality of decoding schemes, and decoding the pixel data using the selected decoding scheme, wherein the selection is based on a desired degree of compression, the location of the pixel array, or the An encoding code within the compressed image data.

該方法可包括使用與上述類似的解壓縮方案,其可使用複數個位元編碼方案之一者來提供不同程度的壓縮,通過針對複數個階層每一者中的該等頻率係數,編碼個別位元數。 The method may include using a decompression scheme similar to that described above, which may provide varying degrees of compression using one of a plurality of bit encoding schemes, by encoding individual bits for the frequency coefficients in each of the plurality of levels arity.

一比例縮放因數可套用到至少某些該等頻率係數,如此解碼已比例縮放的已編碼頻率係數,該比例縮放因素用來增加每一頻率係數的強度。再次,不同的比例縮放因數可套用於至少某些已編碼的頻率係數,或該相同的比例縮放因數可套用於每一已編碼的頻率係數。在兩案例中,不同的比例縮放因數可套用於不同通道內的已編碼頻率係數。 A scaling factor may be applied to at least some of the frequency coefficients, such that the scaled encoded frequency coefficients are decoded, the scaling factor being used to increase the strength of each frequency coefficient. Again, different scaling factors may be applied to at least some of the encoded frequency coefficients, or the same scaling factor may be applied to each encoded frequency coefficient. In both cases, different scaling factors can be applied to the encoded frequency coefficients in different channels.

可使用複數個通道,其中每個通道都依照需要進行解碼,這可通過使用序列至並列位元組解碼並選擇性同時解碼頻率係數,來選擇性同時執行。 A plurality of channels may be used, with each channel being decoded as needed, which may be selectively performed simultaneously by decoding the frequency coefficients simultaneously using sequence-to-parallel bit-set decoding and selectively decoding the frequency coefficients simultaneously.

上述技術想要的壓縮程度可基於該像素陣列的位置、用於發送該已壓縮影像資料的一通訊連結之傳輸頻寬、用於發送該已壓縮影像資料的一通訊連結之傳輸服務品質、一顯示裝置的移動、影像顯示要求、一目標顯示解析度、正在處理的通道或錯誤矩陣之任一或多者。 The degree of compression desired by the above techniques can be based on the location of the pixel array, the transmission bandwidth of a communication link used to send the compressed image data, the transmission quality of a communication link used to send the compressed image data, a Any one or more of movement of the display device, image display requirements, a target display resolution, the channel being processed, or an error matrix.

這些技術可用於傳輸數位實境內容,包括增強實境、虛擬實境、混合實境、遙現等之任一或多者。這可包括經由一通訊網路及/或一無線通訊連結,從計算裝置將該影像資料發送到可穿戴式數位實境頭戴組。 These techniques may be used to transmit digital reality content, including any or more of augmented reality, virtual reality, mixed reality, telepresence, and the like. This may include sending the image data from the computing device to the wearable digital reality headset via a communication network and/or a wireless communication link.

因此,上述處理允許進行顯著的影像壓縮,而對於等待時間沒有不利的影響,允許將該技術用於使用現有硬體,對虛擬或增強實境可穿戴式顯示器提供無線連接,同時也允許在其他應用當中更廣泛地實現已改良的影像壓縮。 Thus, the above processing allows for significant image compression without adversely affecting latency, allowing the technology to be used to provide wireless connectivity to virtual or augmented reality wearable displays using existing hardware, while also allowing for other Improved image compression for wider application.

在本說明書和以下申請專利範圍中,除非上下文另有要求,否則文字「包括」以及諸如「包括」或「包含」之類的變體將被理解為暗示包括所述整數群組或步驟,但不排除任何其他整數或整數群組。 In this specification and the scope of the following claims, unless the context requires otherwise, the word "comprising" and variations such as "comprising" or "comprising" will be understood to imply inclusion of the stated group of integers or steps, but Any other integers or groups of integers are not excluded.

精通技術人士將了解,許多變化和修改將變得顯而易見。精通技術人士應了解的所有這些變化和修改,都應落在上述本發明中廣泛的精神和範疇內。 Tech-savvy people will understand that many changes and modifications will become apparent. All such changes and modifications that should be apparent to those skilled in the art are intended to fall within the broad spirit and scope of the invention described above.

100-170‧‧‧步驟 100-170‧‧‧Steps

Claims (20)

一種將代表一或多個影像的影像資料壓縮之方法,該方法包括:a)從該影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列;b)對該像素資料套用一轉換,以決定指示該像素陣列的頻率分量之一組頻率係數;c)選擇複數個位元編碼的其中一個,其中該等位元編碼方案的每一個以各別不同的位元數選擇性編碼不同的頻率係數,來提供不同的壓縮程度,其中該位元編碼方案是至少部分基於以下而被選擇:i)一所要的壓縮程度;以及ii)該等一或多個影像內該像素陣列的一位置;以及d)使用所選擇的位元編碼方案來選擇性編碼該等頻率係數的至少一些,藉此產生一組已編碼的頻率係數,其中該位元編碼方案定義用於編碼該等頻率係數的該位元數,如此當該等頻率係數被選擇性編碼時:i)經編碼的該等頻率係數的至少一些是以不同的位元數所編碼的;以及ii)至少一個頻率係數被拋棄,使該組已編碼的頻率係數小於該組頻率係數;以及e)使用該已編碼的頻率係數產生壓縮的影像資料。 A method of compressing image data representing one or more images, the method comprising: a) obtaining pixel data from the image data, the pixel data representing an array of pixels within the one or more images; b) pairing Apply a transformation to the pixel data to determine a set of frequency coefficients indicative of the frequency components of the pixel array; c) select one of a plurality of bit-coding schemes, wherein each of the bit-coding schemes uses a different bit Binary selective encoding of different frequency coefficients to provide different degrees of compression, wherein the bit encoding scheme is selected based at least in part on: i) a desired degree of compression; and ii) the one or more images a position within the pixel array; and d) selectively encoding at least some of the frequency coefficients using the selected bit encoding scheme, thereby generating a set of encoded frequency coefficients, wherein the bit encoding scheme defines a in encoding the number of bits of the frequency coefficients such that when the frequency coefficients are selectively encoded: i) at least some of the encoded frequency coefficients are encoded with a different number of bits; and ii) at least one frequency coefficient is discarded so that the set of coded frequency coefficients is smaller than the set of frequency coefficients; and e) using the coded frequency coefficient to generate compressed image data. 如申請專利範圍第1項之方法,其中選擇位元編碼方案,至少基於以下之一:a)用來傳輸該已壓縮影像資料至一顯示裝置的一無線通訊連結之 傳輸頻寬;b)用來傳輸該已壓縮影像資料至一顯示裝置的一無線通訊連結之傳輸服務品質;c)一顯示裝置的鏡頭安排;d)一顯示裝置的移動;e)一顯示裝置的影像顯示需求;f)一顯示裝置的目標顯示解析度。 The method of claim 1, wherein a bit encoding scheme is selected based on at least one of the following: a) a wireless communication link used to transmit the compressed image data to a display device transmission bandwidth; b) transmission quality of a wireless communication link used to transmit the compressed image data to a display device; c) lens arrangement of a display device; d) movement of a display device; e) a display device image display requirements; f) the target display resolution of a display device. 如申請專利範圍第1項之方法,其中選擇性編碼該等頻率係數,如此至少以下之一:a)定義使用一些位元數來編碼頻率係數之每一者,與該各別頻率係數之值無關;b)較少位元數用於將對應至較高頻率的頻率係數編碼;c)逐漸較少的位元數用於將對應至逐漸較高頻率的頻率係數編碼;d)拋棄對應至較高頻率的至少一頻率係數。 The method of claim 1, wherein the frequency coefficients are selectively encoded such that at least one of the following: a) defines the use of a number of bits to encode each of the frequency coefficients, and the value of the respective frequency coefficient irrelevant; b) fewer bits are used to encode frequency coefficients corresponding to higher frequencies; c) progressively fewer bits are used to encode frequency coefficients corresponding to progressively higher frequencies; d) discarded at least one frequency coefficient for higher frequencies. 如申請專利範圍第1項之方法,其中該方法包括將一比例縮放因數套用到至少某些該等頻率係數,如此編碼已比例縮放的頻率係數,並且其中至少以下之一:a)將不同的比例縮放因數套用到至少某些頻率係數;b)將該相同的比例縮放因數套用到每一頻率係數;以及c)該比例縮放因數用來降低頻率係數每一者的強度。 The method of claim 1, wherein the method comprises applying a scaling factor to at least some of the frequency coefficients, thus encoding the scaled frequency coefficients, and wherein at least one of the following: a) applying a different scale A scaling factor is applied to at least some of the frequency coefficients; b) the same scaling factor is applied to each frequency coefficient; and c) the scaling factor is used to reduce the intensity of each of the frequency coefficients. 如申請專利範圍第1項之方法,其中該等頻率分量配置在複數個層級內,並且其中每一位元編碼方案定義要用來編碼該等複數個層級中每一者內該等頻率係數的一各別位元數。 The method of claim 1, wherein the frequency components are arranged in a plurality of levels, and wherein each bit coding scheme defines a value to be used to encode the frequency coefficients in each of the plurality of levels A respective number of bits. 如申請專利範圍第1項之方法,其中該方法包括:a)決定該等一或多個影像的一觀察者之凝視點;b)至少部分依照該凝視點將頻率係數選擇性編碼:i)決定該凝視點與該等一或多個影像內該像素陣列的一位置間之距離;以及ii)依照該距離將頻率係數選擇性編碼,如此較大距離有較少的頻率係數經過編碼。 The method of claim 1, wherein the method comprises: a) determining a gaze point of an observer of the one or more images; b) selectively encoding frequency coefficients at least in part according to the gaze point: i) determining the distance between the gaze point and a position of the pixel array within the one or more images; and ii) selectively encoding frequency coefficients according to the distance, such that larger distances have fewer frequency coefficients encoded. 如申請專利範圍第1項之方法,其中該影像資料定義複數個通道,並且其中該方法包括藉由以下並行針對每一通道選擇性編碼頻率係數:a)將該RGB通道轉換成YCbCr通道;以及b)藉由選擇性針對該Y通道而比該等Cb或Cr通道編碼更多頻率係數,來轉換該等YCbCr通道。 The method of claim 1, wherein the image data defines a plurality of channels, and wherein the method includes selectively encoding frequency coefficients for each channel by: a) converting the RGB channels to YCbCr channels in parallel; and b) Converting the YCbCr channels by selectively encoding more frequency coefficients for the Y channel than the Cb or Cr channels. 如申請專利範圍第1項之方法,其中該方法包括利用以下從影像資料獲得像素資料:a)緩衝對應至該影像的下一個n-1列像素之影像資料;b)緩衝該下一列像素的下一個n像素之影像資料;c)從該已緩衝影像資料中獲得下一個nxn像素區塊的像素資料;d)重複步驟b)和c),直到已經從所有該n列像素中獲得像素資料;以及e)重複步驟a)至d),直到已經從該影像的每一列像素中獲得像素資料。 The method of claim 1, wherein the method comprises obtaining pixel data from image data using: a) buffering image data corresponding to the next n -1 rows of pixels in the image; b) buffering the image data of the next row of pixels image data for the next n pixels; c) obtain pixel data for the next block of n x n pixels from the buffered image data; d) repeat steps b) and c) until all the n rows of pixels have been obtained pixel data; and e) repeating steps a) to d) until pixel data has been obtained from each column of pixels of the image. 如申請專利範圍第1項之方法,其中該方法包括:a)同時選擇編碼頻率係數;以及b)至少部分通過並行至序列位元組編碼來產生壓縮的影像資料。 The method of claim 1, wherein the method comprises: a) simultaneously selecting encoding frequency coefficients; and b) generating compressed image data at least in part by parallel-to-sequential byte encoding. 一種壓縮影像資料的解壓縮方法,該壓縮的影像資料代表一或多個影像,該方法包括:a)獲取已壓縮的影像資料;b)決定複數個位元編碼計畫中所選擇的一個,其中該等位元編碼方案的每一個以各別不同的位元數選擇性編碼不同的頻率係數來提供不同的壓縮程度,其中該位元編碼方案至少基於以下而被選擇:i)一所要的壓縮程度;以及ii)該等一或多個影像內像素陣列的一位置;c)依照所選擇的該位元編碼方案藉由以下來解碼已編碼的該頻率係數:i)依照所選擇的該位元編碼方案從該壓縮影像資料決定一組經編碼的頻率係數;ii)依照所選擇的該位元編碼方案執行該等頻率係數的位元解碼,以產生一組頻率係數,其中至少一個頻率係數被產生,使得該組經編碼的頻率係數小於該組頻率係數;以及iii)對該組頻率係數套用一逆向轉換,來決定代表該等一或多個影像之內一像素陣列的像素資料。 A decompression method for compressed image data, the compressed image data representing one or more images, the method comprising: a) obtaining the compressed image data; b) determining a selected one of a plurality of bit encoding schemes, wherein each of the bit-coding schemes selectively encodes different frequency coefficients at respective different numbers of bits to provide different degrees of compression, wherein the bit-coding scheme is selected based on at least i) a desired degree of compression; and ii) a position of the pixel array within the one or more images; c) decoding the encoded frequency coefficients according to the selected bit encoding scheme by: i) according to the selected A bit-coding scheme determines a set of coded frequency coefficients from the compressed image data; ii) performs bit-wise decoding of the frequency coefficients according to the selected bit-coding scheme to generate a set of frequency coefficients, wherein at least one frequency coefficients are generated such that the set of encoded frequency coefficients is less than the set of frequency coefficients; and iii) applying an inverse transformation to the set of frequency coefficients to determine pixel data representing an array of pixels within the one or more images. 如申請專利範圍第10項之方法,其中該位元編碼方案是基於以下少一者而被選擇:a)用來傳輸該已壓縮影像資料至一顯示裝置的一無線通訊連結之傳輸頻寬;b)用來傳輸該已壓縮影像資料至一顯示裝置的一無線通訊連結之傳輸服務品質;c)一顯示裝置的鏡頭安排; d)一顯示裝置的移動;e)一顯示裝置的影像顯示需求;f)一顯示裝置的目標顯示解析度。 The method of claim 10, wherein the bit encoding scheme is selected based on at least one of: a) the transmission bandwidth of a wireless communication link used to transmit the compressed image data to a display device; b) the transmission service quality of a wireless communication link used to transmit the compressed image data to a display device; c) the lens arrangement of a display device; d) movement of a display device; e) image display requirements of a display device; f) target display resolution of a display device. 如申請專利範圍第1或10項之方法,其中該數位實境至少為下列之一:a)增強實境;b)虛擬實境;以及c)混合實境。 The method of claim 1 or 10 of the scope of the patent application, wherein the digital reality is at least one of the following: a) augmented reality; b) virtual reality; and c) mixed reality. 如申請專利範圍第1或10項之方法,其中該方法用於藉由接收該壓縮影像資料從一電腦裝置經由至少下列之一,顯示影像資料在一可戴式數位實境頭戴組:a)一通訊網路;以及b)一無線通訊連結。 The method of claim 1 or 10, wherein the method is for displaying image data in a wearable digital reality headset by receiving the compressed image data from a computer device via at least one of the following: a ) a communication network; and b) a wireless communication link. 如申請專利範圍第1或10項之方法,其中該方法用於至少以下之一:a)傳輸虛擬實境視頻資料;以及b)無線傳輸虛擬實境視頻資料。 The method of claim 1 or 10 of the claimed scope, wherein the method is used for at least one of the following: a) transmitting virtual reality video data; and b) wirelessly transmitting virtual reality video data. 一種將代表一或多個影像的影像資料壓縮之設備,該設備包括至少一個電子編碼器處理裝置,該至少一個電子編碼器處理裝置:a)從該影像資料獲得像素資料,該像素料資料代表該等一或多個影像之內一像素陣列;b)對該像素資料套用一轉換,以決定指示該像素陣列的頻率分量之一組頻率係數;c)選擇複數個位元編碼方案的其中一個,其中該等位元編碼方案的每一個以各自不同的位元數選擇性編碼不同頻率係數,以提供不同 的壓縮程度,其中該位元編碼方案是至少基於以下部分而被選擇,i)一所要的壓縮程度;以及ii)該等一或多個影像內像素陣列的一位置;d)使用所選擇的位元編碼方案選擇性編碼至少某些該等頻率係數,藉此產生一組已編碼的頻率係數,其中該位元編碼方案定義用於將該等頻率係數編碼的該位元數,並且其中該等頻率係數選擇性編碼時:i)至少某些該等已編碼頻率係數具有不同位元數;ii)拋棄至少一頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及e)使用該已編碼的頻率係數產生壓縮的影像資料。 An apparatus for compressing image data representing one or more images, the apparatus comprising at least one electronic encoder processing means, the at least one electronic encoder processing means: a) obtaining pixel data from the image data, the pixel data representing a pixel array within the one or more images; b) applying a transformation to the pixel data to determine a set of frequency coefficients indicative of frequency components of the pixel array; c) selecting one of a plurality of bit encoding schemes , wherein each of the equal bit encoding schemes selectively encodes different frequency coefficients with respective different numbers of bits to provide different , wherein the bit-coding scheme is selected based at least on: i) a desired degree of compression; and ii) a position of the pixel array within the one or more images; d) using the selected A bit-coding scheme selectively encodes at least some of the frequency coefficients, thereby producing a set of coded frequency coefficients, wherein the bit-coding scheme defines the number of bits used to encode the frequency coefficients, and wherein the When frequency coefficients are selectively encoded: i) at least some of the encoded frequency coefficients have different numbers of bits; ii) discard at least one frequency coefficient, so that the group of encoded frequency coefficients is smaller than the group of frequency coefficients; and e) use the already encoded frequency coefficients The encoded frequency coefficients produce compressed image data. 如申請專利範圍第15項之設備,其中該至少一電子編碼器處理裝置基於下列至少之一選擇該位元編碼方案:a)用來傳輸該已壓縮影像資料至一顯示裝置的一無線通訊連結之傳輸頻寬;b)用來傳輸該已壓縮影像資料至一顯示裝置的一無線通訊連結之傳輸服務品質;c)一顯示裝置的鏡頭安排;d)一顯示裝置的移動;e)一顯示裝置的影像顯示需求;f)一顯示裝置的目標顯示解析度。 The apparatus of claim 15, wherein the at least one electronic encoder processing device selects the bit encoding scheme based on at least one of the following: a) a wireless communication link for transmitting the compressed image data to a display device transmission bandwidth; b) transmission quality of a wireless communication link used to transmit the compressed image data to a display device; c) lens arrangement of a display device; d) movement of a display device; e) a display The image display requirements of the device; f) the target display resolution of a display device. 如申請專利範圍第15或16項之設備,其中該裝置包含一編碼器,其與一解碼器通訊連接,允許影像資料作為壓縮的影像資料於該編碼器和該解碼器之間轉換,其中該編碼器為耦合至合適程式編輯的處理系 統至少之一及其一部分,該解碼器為耦合至一可穿戴顯示裝置至少之一及其一部分。 The apparatus of claim 15 or 16 of the claimed scope, wherein the apparatus comprises an encoder communicatively connected to a decoder to allow image data to be converted between the encoder and the decoder as compressed image data, wherein the The encoder is a processing system coupled to a suitable programming at least one and a part thereof, the decoder is coupled to at least one and a part thereof of a wearable display device. 如申請專利範圍第15項之設備,其中該至少一編碼器處理裝置包括:a)一合適程式編輯的現場可程式閘陣列;b)一專用積體電路;以及c)一圖形處理單元。 The apparatus of claim 15, wherein the at least one encoder processing device comprises: a) a suitably programmed field programmable gate array; b) a dedicated integrated circuit; and c) a graphics processing unit. 如申請專利範圍第15項之設備,其中該像素資料定義複數個通道,並且其中該設備包括:a)針對每一通道的一各別處理裝置;以及b)用於同時處理每一通道的一並行處理裝置。 15. The apparatus of claim 15, wherein the pixel data defines a plurality of channels, and wherein the apparatus includes: a) a separate processing device for each channel; and b) a simultaneous processing device for each channel Parallel processing device. 一種將代表一或多個影像的已壓縮影像資料解壓縮之設備,該設備包括至少一個電子解碼器處理裝置,該至少一個電子解碼器處理裝置:a)獲取已壓縮的影像資料;b)決定複數個位元編碼計畫中所選擇的一個,其中該等位元編碼方案的每一個以各別不同的位元數選擇性編碼不同的頻率係數來提供不同的壓縮程度,其中該位元編碼方案至少基於以下而被選擇:i)一所要的壓縮程度;以及ii)該等一或多個影像內像素陣列的一位置;c)依照所選擇的該位元編碼方案藉由以下來解碼已編碼的該頻率係數:i)依照定義每一已編碼頻率係數內所使用該位元數的所選擇位元編碼方案,藉由以下從該已壓縮影像資料決定一組已編碼頻率係數;ii)依照所選擇的該位元編碼方案來執行該已編碼頻率係數 的位元解碼,藉此產生一組頻率係數,其中產生至少一個頻率係數,如此該組已編碼頻率係數小於該組頻率係數;以及iii)對該組頻率係數套用一逆向轉換,來決定代表該等一或多個影像之內一像素陣列的像素資料。 An apparatus for decompressing compressed image data representing one or more images, the apparatus comprising at least one electronic decoder processing means, the at least one electronic decoder processing means: a) obtaining the compressed image data; b) determining a selected one of a plurality of bit-coding schemes, wherein each of the bit-coding schemes selectively encodes different frequency coefficients at respective different numbers of bits to provide different degrees of compression, wherein the bit-coding schemes The scheme is selected based at least on: i) a desired degree of compression; and ii) a position of the pixel array within the one or more images; c) decoding the bit-coding scheme according to the selected by The encoded frequency coefficients: i) determine a set of encoded frequency coefficients from the compressed image data by following the selected bit encoding scheme that defines the number of bits used within each encoded frequency coefficient; ii) executing the encoded frequency coefficients according to the selected bit-coding scheme decoding of the bits of Pixel data for a pixel array within one or more images.
TW106119982A 2016-06-17 2017-06-15 Image compression method and apparatus TWI757303B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662351738P 2016-06-17 2016-06-17
US62/351738 2016-06-17
AU2016905048A AU2016905048A0 (en) 2016-12-07 Image compression method and apparatus
??2016905048 2016-12-07
AU2016905048 2016-12-07

Publications (2)

Publication Number Publication Date
TW201806386A TW201806386A (en) 2018-02-16
TWI757303B true TWI757303B (en) 2022-03-11

Family

ID=60663859

Family Applications (2)

Application Number Title Priority Date Filing Date
TW111102715A TWI788200B (en) 2016-06-17 2017-06-15 Image compression method and apparatus
TW106119982A TWI757303B (en) 2016-06-17 2017-06-15 Image compression method and apparatus

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW111102715A TWI788200B (en) 2016-06-17 2017-06-15 Image compression method and apparatus

Country Status (3)

Country Link
AU (2) AU2017285700B2 (en)
TW (2) TWI788200B (en)
WO (1) WO2017214671A1 (en)

Families Citing this family (9)

* 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
WO2018145153A1 (en) 2017-02-08 2018-08-16 Immersive Robotics Pty Ltd Antenna control for mobile device communication
CN110495107A (en) 2017-02-08 2019-11-22 因默希弗机器人私人有限公司 Day line traffic control for mobile device communication
EP3714602A4 (en) * 2017-11-21 2021-07-28 Immersive Robotics Pty Ltd Image compression for digital reality
WO2019100109A1 (en) * 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Frequency component selection for image compression
US10650791B2 (en) 2017-12-28 2020-05-12 Texas Instruments Incorporated Display system
WO2019209257A1 (en) 2018-04-24 2019-10-31 Hewlett-Packard Development Company, L.P. Display devices including switches for selecting column pixel data
CN113033787A (en) * 2019-12-24 2021-06-25 中科寒武纪科技股份有限公司 Method and equipment for quantizing neural network matrix, computer product and board card
US11403782B2 (en) * 2019-12-31 2022-08-02 Alibaba Group Holding Limited Static channel filtering in frequency domain

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325125A (en) * 1992-09-24 1994-06-28 Matsushita Electric Corporation Of America Intra-frame filter for video compression systems
US6252989B1 (en) * 1997-01-07 2001-06-26 Board Of The Regents, The University Of Texas System Foveated image coding system and method for image bandwidth reduction
US7027655B2 (en) * 2001-03-29 2006-04-11 Electronics For Imaging, Inc. Digital image compression with spatially varying quality levels determined by identifying areas of interest
US7689047B2 (en) * 2005-04-19 2010-03-30 Samsung Electronics Co, Ltd. Reduced buffer size for JPEG encoding
US7734105B2 (en) * 2003-12-19 2010-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Multi-mode image processing
US8098941B2 (en) * 2007-04-03 2012-01-17 Aptina Imaging Corporation Method and apparatus for parallelization of image compression encoders

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963673A (en) * 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding
KR100323441B1 (en) * 1997-08-20 2002-06-20 윤종용 Mpeg2 motion picture coding/decoding system
US6249614B1 (en) * 1998-03-06 2001-06-19 Alaris, Inc. Video compression and decompression using dynamic quantization and/or encoding
US8542732B1 (en) * 2008-12-23 2013-09-24 Elemental Technologies, Inc. Video encoder using GPU
US8184069B1 (en) * 2011-06-20 2012-05-22 Google Inc. Systems and methods for adaptive transmission of data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325125A (en) * 1992-09-24 1994-06-28 Matsushita Electric Corporation Of America Intra-frame filter for video compression systems
US6252989B1 (en) * 1997-01-07 2001-06-26 Board Of The Regents, The University Of Texas System Foveated image coding system and method for image bandwidth reduction
US7027655B2 (en) * 2001-03-29 2006-04-11 Electronics For Imaging, Inc. Digital image compression with spatially varying quality levels determined by identifying areas of interest
US7734105B2 (en) * 2003-12-19 2010-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Multi-mode image processing
US7689047B2 (en) * 2005-04-19 2010-03-30 Samsung Electronics Co, Ltd. Reduced buffer size for JPEG encoding
US8098941B2 (en) * 2007-04-03 2012-01-17 Aptina Imaging Corporation Method and apparatus for parallelization of image compression encoders

Also Published As

Publication number Publication date
AU2019253866B2 (en) 2021-07-22
TWI788200B (en) 2022-12-21
WO2017214671A1 (en) 2017-12-21
TW201806386A (en) 2018-02-16
TW202220441A (en) 2022-05-16
AU2017285700A1 (en) 2019-01-24
AU2017285700B2 (en) 2019-07-25
AU2019253866A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
US11151749B2 (en) Image compression method and apparatus
TWI757303B (en) Image compression method and apparatus
US11553187B2 (en) Frequency component selection for image compression
AU2018280337B2 (en) Digital content stream compression
US11973979B2 (en) Image compression for digital reality
US20240121406A1 (en) Content Compression for Network Transmission
EP3635952B1 (en) Digital content stream compression
US20230395041A1 (en) Content Display Process
JP4011580B2 (en) Image data transmission system
GB2568112A (en) Method and system for processing display data