TW201344627A - Depth buffer compression for stochastic motion blur rasterization - Google Patents

Depth buffer compression for stochastic motion blur rasterization Download PDF

Info

Publication number
TW201344627A
TW201344627A TW101115171A TW101115171A TW201344627A TW 201344627 A TW201344627 A TW 201344627A TW 101115171 A TW101115171 A TW 101115171A TW 101115171 A TW101115171 A TW 101115171A TW 201344627 A TW201344627 A TW 201344627A
Authority
TW
Taiwan
Prior art keywords
depth
patch
processor
depth value
samples
Prior art date
Application number
TW101115171A
Other languages
Chinese (zh)
Other versions
TWI550554B (en
Inventor
Magnus Andersson
Tomas G Akenine-Moller
Jon N Hasselgren
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to TW101115171A priority Critical patent/TWI550554B/en
Publication of TW201344627A publication Critical patent/TW201344627A/en
Application granted granted Critical
Publication of TWI550554B publication Critical patent/TWI550554B/en

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A depth buffer compression scheme uses bilinear patches as a predictor for depth. The scheme targets compression of scenes rendered with stochastic blur rasterization. A tile of fragments may be split into two or more regions and a higher-degree function may be fit to each region. The residuals are then stored as delta corrections.

Description

用於隨機移動模糊柵格化之深度緩衝器壓縮技術 Depth buffer compression technique for random moving fuzzy rasterization

本發明大體而言係關於深度緩衝器壓縮技術。 The present invention relates generally to depth buffer compression techniques.

發明背景 Background of the invention

先前的深度緩衝器壓縮機構壓縮利用柵格化靜態三角形技術所得到的深度。這提供大量的帶寬使用節省,並且因此對圖形處理器是非常重要的。但是,對於移動模糊以及景深兩者之隨機柵格化是漸成為一現實的問題,即使對於即時圖形亦然,並且由於所提供的斷片之位置以及深度的不規則性使得先前的深度緩衝器壓縮演算法失效。 Previous depth buffer compression mechanisms compressed the depth obtained using rasterized static triangle techniques. This provides a large amount of bandwidth usage savings and is therefore very important to the graphics processor. However, random rasterization for both motion blur and depth of field is a real problem, even for instant graphics, and because of the location and depth irregularities provided, the previous depth buffer is compressed. The algorithm fails.

依據本發明之一實施例,係特地提出一種方法,其包括下列之步驟:產生對於一區塊像素(像素塊)之一補片;估計一預測者之一位置;並且編碼在該預測者位置以及取樣深度之間的差量。 In accordance with an embodiment of the present invention, a method is specifically proposed comprising the steps of: generating a patch for a block of pixels (pixel block); estimating a position of a predictor; and encoding at the predictor location And the difference between the sampling depths.

圖式簡單說明 Simple illustration

一些實施例參考下面圖形被說明:第1圖是依據一實施例之深度緩衝器壓縮演算法的三步驟之說明;第2圖是依據一實施例之群集技術的概略圖;第3圖是依據一實施例之模式1的概略圖,其中一像素塊以及該像素塊中之四個點被展示在左方並且A、B、C以及D深度值被展示在右方之子像素塊中間; 第4圖是依據一實施例由三個預測函數圖表組成並且展示它們如何具有相似資料減少步驟,左方圖形展示具有指示深度之灰階樣本的一組不規則樣本,中間圖形展示樣本之邊界框,以至於該框於xy維度對半被分割並且於各產生的子區域中,一代表性深度以及位置從二個深度值(子像素塊中之最小以及最大)之平均被產生,並且於右方圖形中,一資料預測補片被展示;第5圖是依據本發明一實施例之用於群集的流程圖;第6圖是依據一實施例之用於一預測函數的流程圖;第7圖是對於本發明一實施例之硬體描述;以及第8圖是本發明一實施例之前面正視圖。 Some embodiments are illustrated with reference to the following figures: FIG. 1 is a three-step illustration of a depth buffer compression algorithm in accordance with an embodiment; FIG. 2 is a schematic diagram of a clustering technique in accordance with an embodiment; A schematic diagram of Mode 1 of an embodiment, wherein a pixel block and four points in the pixel block are shown on the left and the A, B, C, and D depth values are displayed in the middle of the right sub-pixel block; Figure 4 is a diagram of three prediction function graphs according to an embodiment and showing how they have similar data reduction steps, the left graph showing a set of irregular samples with gray scale samples indicating depth, and the middle graph showing the bounding boxes of the samples So that the box is split in half in the xy dimension and in each generated sub-region, a representative depth and position are generated from the average of the two depth values (the smallest and largest of the sub-pixel blocks), and are on the right In the square graph, a data prediction patch is shown; FIG. 5 is a flowchart for clustering according to an embodiment of the present invention; and FIG. 6 is a flowchart for a prediction function according to an embodiment; The drawings are a hardware description of an embodiment of the present invention; and FIG. 8 is a front elevational view of an embodiment of the present invention.

詳細說明 Detailed description

吾人之演算法可被使用以壓縮來自無模糊(亦即,無移動模糊,以及景深),同時也可用於具有從隨機柵格化器產生的模糊(例如,移動模糊)所形成之景象的深度值。 Our algorithm can be used to compress from no blur (ie, no motion blur, and depth of field), but also to the depth of the scene with blur (eg, motion blur) generated from the random rasterizer. value.

於一實施例中,吾人之演算法可以不使用來自柵格化器之資訊,就複雜性而論,其是一個很大的優點並且因此輸入在根本上可以剛好是一組(x_i,y_i,d_i),其中(x_i,y_i)是在樣本中之屏幕空間的位置,並且d_i是樣本深度。吾等壓縮一組此樣本,因而其可以壓縮形式被儲存在晶片外記憶體中。吾人之演算法計算對於非模糊景象之雙線性補片,以及對於模糊景象之三線性補片,其中時間,t,被使用作為第三維度。這些補片通常被稱為預測函數。吾等也 可使用四維(x,y,z,t)方式之平面。概要地,其概念是推測補片位置,並且編碼相對於這補片之差量。該補片本質上需要相對少的儲存器,並且該等差量使用比實際深度值更少很多之位元被編碼。這通常使得其可壓縮樣本區塊下降至其之原始記憶體所消耗的25%、50%、或75%(例如)。此節省將僅是就記憶體帶寬使用而論。但是,注意到在計算能力以及可用記憶體帶寬之間的間隙繼續增加,對於可預見的未來,其結構將很可能是有帶寬限定的。 In an embodiment, our algorithm may not use information from the rasterizer, which is a great advantage in terms of complexity and therefore the input may be just a group (x_i, y_i, D_i), where (x_i, y_i) is the position of the screen space in the sample, and d_i is the sample depth. We compress a set of this sample so that it can be stored in a compressed form in the off-chip memory. Our algorithm computes a bilinear patch for a non-blurred scene, and a three-linear patch for a blurred scene, where time, t, is used as the third dimension. These patches are often referred to as prediction functions. We also A four-dimensional (x, y, z, t) plane can be used. In summary, the concept is to estimate the patch position and encode the difference from the patch. The patch essentially requires relatively few memories, and the differences are encoded using bits that are much less than the actual depth value. This typically causes the compressible sample block to fall to 25%, 50%, or 75% of its original memory (for example). This savings will only be in terms of memory bandwidth usage. However, it is noted that the gap between computing power and available memory bandwidth continues to increase, and for the foreseeable future, its structure will most likely be bandwidth limited.

一非常簡單的大體架構說明深度緩衝器壓縮機構。讓我們開始一些假設。一個w×h像素之區塊,有時被稱為一像素塊,獨立地被處理,並且我們假設各像素具有n個取樣。第i個取樣以S i =(,,,)被表示,其中首先之二個構成要素是在像素塊內部之取樣的x-以及y-座標,並且第三個構成要素,[0,1],是取樣之時間。也可能對於像場描述之深度的鏡片位置,例如,(,),增加更多構成要素。目前深度壓縮機構未明確地處理移動模糊以及景深,並且因此既不具有時間構成要素亦無鏡片參數。注意,對於一特定取樣,所有的(,,)被固定,並且由於柵格化產生者僅是深度,=z/w。因而,僅深度值,,可被壓縮。但是,如果可能的話,取決於演算法以利用固定的構成要素而供較佳壓縮。 A very simple general architecture illustrates the depth buffer compression mechanism. Let's start with some assumptions. A block of w x h pixels, sometimes referred to as a block of pixels, is processed independently, and we assume that each pixel has n samples. The ith sample is taken as S i =( , , , Is indicated, wherein the first two constituent elements are the x- and y-coordinates of the sample inside the pixel block, and the third constituent element, [0,1] is the time of sampling. It is also possible for the lens position to describe the depth of the field, for example, ( , ), adding more components. Current depth compression mechanisms do not explicitly handle motion blur and depth of field, and therefore have neither time components nor lens parameters. Note that for a particular sample, all ( , , ) is fixed, and since the rasterizer is only depth, = z / w . Thus, only the depth value, Can be compressed. However, if possible, the algorithm is dependent on the use of fixed components for better compression.

深度緩衝器壓縮機構,被展示於第1圖中,通常共用三個共通步驟,並且這些步驟是:1.群集, 2.預測函數產生,以及3.差量編碼。 The depth buffer compression mechanism, shown in Figure 1, typically shares three common steps, and these steps are: 1. Cluster, 2. Predictive function generation, and 3. Differential coding.

應注意到,然而,一演算法可能不具有一個或二個上述步驟。下面將進一步說明各個步驟。 It should be noted that, however, an algorithm may not have one or two of the above steps. The various steps are further explained below.

例如,當有一像素塊中的一組取樣屬於一背景層,以及該像素塊中之其餘取樣屬於前景層時,則群集是需要的。於這些情況中,非常不易使用相同預測函數而壓縮像素塊中之所有深度。群集步驟因此試圖分開像素塊取樣使成為二層或許多層,其中各層中之取樣通常將共享有一些特性(例如,接近至攝影機)。切割取樣使成為二或更多層之目的是,比較於單一層壓縮所有取樣,在觀念上各層將成為更簡單於壓縮。對於僅具有前景取樣之一像素塊,儘管或僅當一個三角形覆蓋一整個像素塊時,群集可能不是所需的。一般而言,一位元遮罩或許多位元遮罩是需要而用以指示一取樣是屬於那個層。 For example, a cluster is needed when a set of samples in a block of pixels belong to a background layer and the remaining samples in the block of pixels belong to the foreground layer. In these cases, it is very difficult to compress all depths in a block of pixels using the same prediction function. The clustering step therefore attempts to separate the pixel block samples into two or more layers, where the samples in each layer will typically share some characteristics (eg, close to the camera). The purpose of cutting the sample to make two or more layers is to compress all the samples compared to a single layer, and conceptually the layers will be simpler to compress. For a block of pixels with only foreground samples, the cluster may not be required, although or only if one triangle covers an entire block of pixels. In general, a one-dimensional mask or a number of bit masks are needed to indicate that a sample belongs to that layer.

下一個步驟,各層產生其自己之預測函數。此處之目的是使用深度取樣以及可能是它們固定的(x,y,t)座標以產生一預測函數,d(x,y,t),其之任務是試圖使用低廉(就儲存、生產以及評估而論)函數以預測各取樣之深度。例如,假設對於一像素塊,具有小的每個像素移位之一矩形已被產生。由於預測函數,可使用該矩形平面,因為其對於深度將可能是很好的推測。這推測將不是100%正確的,並且因此接著之步驟將更正這結果。 In the next step, each layer produces its own prediction function. The purpose here is to use deep sampling and possibly their fixed (x, y, t) coordinates to produce a prediction function, d(x, y, t), whose task is to try to use inexpensive (in terms of storage, production, and The function is evaluated to predict the depth of each sample. For example, assume that for a pixel block, a rectangle with a small per pixel shift has been generated. This rectangular plane can be used due to the prediction function, as it would probably be a good guess for depth. This speculation will not be 100% correct, and so the next step will correct the result.

差量編碼必須確認精確深度,,可在像素塊解壓縮 期間被重建,因為圖形應用程式界面(API)之一般是需要無損之深度緩衝器。在預測函數,d(x,y,t),以及取樣深度間之差量如下所示被計算: The differential code must confirm the exact depth, It can be rebuilt during pixel block decompression because the graphics application interface (API) is generally a depth buffer that requires lossless. The difference between the prediction function, d(x, y, t), and the sample depth is calculated as follows:

給予一良好預測函數,在取樣深度以及預測函數間之差量,δi,,將是小的。因此,差量將使用很少之位元被編碼。如果有少數層的話,則良好的壓縮比率可被達成,因而預測函數使用很少之位元被儲存,並且因而差量同樣也可使用很少之位元被編碼。壓縮機構之另一成功要素是演算法在形成期間實際上應該在許多像素塊上成為致動的。 Given a good prediction function, the difference between the sampling depth and the prediction function, δ i , will be small. Therefore, the difference will be encoded using very few bits. If there are a few layers, a good compression ratio can be achieved, so the prediction function is stored with very few bits, and thus the difference can also be encoded with very few bits. Another success factor of the compression mechanism is that the algorithm should actually be actuated on many pixel blocks during formation.

首先,吾等對於像素塊分割在Zmin以及Zmax間之深度區間使成為n個區段,如第5圖區塊22之展示。對於各區段,吾等儲存一位元,其記錄區段中是否至少有一取樣。該等位元被啟始化為零。各取樣接著依據取樣之深度值被分類至一區段,並且對應的位元如區塊24所指示被設定為一。於這步驟中,被清除之取樣可被忽略。當所有的取樣已被處理時,各個0表示至少(Zmax-Zmin)/n深度之間隙。藉由找到如區塊26展示之連貫的零之最大範圍,二個深度層分離之良好近似被得到。 First, we make n segments for the depth interval of the pixel block partition between Z min and Z max , as shown in block 5 of FIG. For each segment, we store a single bit, and whether there is at least one sample in the recorded segment. The bits are initialized to zero. Each sample is then sorted into a segment based on the depth value of the sample, and the corresponding bit is set to one as indicated by block 24. In this step, the cleared samples can be ignored. When all samples have been processed, each 0 represents a gap of at least (Z max - Z min ) / n depth. A good approximation of the two depth layer separations is obtained by finding the maximum range of consecutive zeros as shown by block 26.

從第2圖之左方至右方,深度值以叉號被標記在深度軸上,並且這些深度值接著利用Zmin以及Zmax拘限。於此情況中,接著在區段化之後,8個小的區段在Zmin以及Zmax之間被產生,並且具有至少一深度取樣之區段被標記為1,並且此外它們被標記為0。最後,零的最大間隔被發現,並且這 使深度分離成為兩個層。利用這步驟被產生的取樣聚集之各者接著作為利用預測函數產生步驟而個別地被處理之一個層。此外,群集處理內含地產生一個或多個指示各取樣屬於那個層之位元遮罩。位元遮罩將是壓縮像素塊圖像之部份。如果需要的話,取樣可藉由找到第二以及第三(等等)之連貫零的最長範圍而簡單地被聚集成為更多層。也可能進一步地概述這概念。取代每個區段具有一位元,吾等對於每個區段儲存一計數器,其記錄多少深度取樣落在那區段之內。群集接著藉由找到圖形中最深以及最長之“凹谷”而被完成,其中y是作為區段(x)函數之計數器。這可產生較佳的結果。 From the left to the right of Figure 2, the depth values are marked with a cross on the depth axis, and these depth values are then constrained by Z min and Z max . In this case, then after segmentation, 8 small segments are generated between Z min and Z max , and segments with at least one deep sample are labeled 1 and further they are marked as 0. . Finally, the maximum interval of zero is found, and this separates the depth into two layers. Each of the sample aggregations generated by this step is a layer that is individually processed using the prediction function generation step. In addition, the cluster processing inherently produces one or more bit masks indicating which samples belong to that layer. The bit mask will be part of the compressed block image. If desired, sampling can be simply aggregated into more layers by finding the longest range of consecutive zeros of the second and third (etc.). It is also possible to further outline this concept. Instead of having one bit per segment, we store a counter for each segment that records how many deep samples fall within that segment. The cluster is then completed by finding the deepest and longest "valley" in the graph, where y is the counter as a function of extent (x). This produces better results.

在這點上,吾等具有從先前步驟產生的一位元遮罩,指示對於目前層的像素塊的w×h×n取樣之何者應該被壓縮。注意到,吾等可以僅具有一個層,於其情況中,所有取樣被包含。 At this point, we have a one-bit mask generated from the previous step indicating which of the wxhxn samples of the current layer of pixel blocks should be compressed. It is noted that we may have only one layer, in which case all samples are included.

大多數深度緩衝器壓縮機構依據於屏幕空間中之深度d=z/w是線性的事實,亦即:d(x,y)=z(x,y)/w(x,y)=a+bx+cy。 (2) Most depth buffer compression mechanisms are based on the fact that the depth d=z/w in the screen space is linear, ie: d(x,y)=z(x,y)/w(x,y)=a+ Bx+cy. (2)

但是,一旦時間尺度被包含則移動模糊被產生,就不再是這樣的情况了。吾等藉由增加時間,t,至預測項而處理因移動模糊所產生之壓縮隨機緩衝問題,但是同時也提升預測器維度。大體而言,吾等可使用一預測函數,d(x,y,t),其是許多項目之總和:d(x,y,t)=Σmnoamnoxmynto。 (3) However, once the time scale is included then the motion blur is generated, this is no longer the case. We deal with the compression random buffer problem caused by motion blur by increasing the time, t, to the prediction term, but also increasing the predictor dimension. In general, we can use a prediction function, d(x, y, t), which is the sum of many items: d(x, y, t) = Σ mno a mno x m y n t o . (3)

吾等提出依據這方程式之一預測函數陣列,其具有不同的有效係數之群集。當進行壓縮時吾人可嘗試所有可能的組合。但是,吾等可自這些中選擇一些似乎適用於吾等遭遇之資料型式。所選擇之模式被編列在下面: We propose to predict a function array according to one of the equations, which has a cluster of different significant coefficients. When compressing, we can try all possible combinations. However, we may choose from these options that appear to apply to our data types. The selected mode is listed below:

對於吾人之三種模式,預測函數具有4-8個未知係數(a,b,等等)。取決於目標平臺中不同運算成本,吾等可從二種提出的方法之一者得到預測函數,亦即使用最小平方方法,或使用資料減少方法。 For the three modes of ours, the prediction function has 4-8 unknown coefficients (a, b, etc.). Depending on the cost of the different computations in the target platform, we can derive the prediction function from one of the two proposed methods, ie using the least squares method, or using the data reduction method.

對於最小之序列,因為各像素塊包含許多取樣,當決定預測函數係數時,其可能建立一過度受限之線性系統。時常,此一系統藉由計算假性反逆法被解出,該假性反逆法包含許多乘法與加法運算以及可使用克萊姆法則(Cramer's rule)完成倒反一較小的矩陣。如果乘法與加法運算在目標平臺上是低成本的,則一最小平方方法可能是有吸引力的,以便找到預測函數常數。 For the smallest sequence, since each pixel block contains many samples, it is possible to establish an over-constrained linear system when determining the prediction function coefficients. Often, this system is solved by calculating a pseudo-inverse method that includes many multiply and add operations and can use the Cramer's rule to complete the inverse of a smaller matrix. If the multiplication and addition operations are low cost on the target platform, then a least squares approach may be attractive in order to find the prediction function constants.

對於資料減少,下面的方法是根據於減低一個層中之取樣使成為更多可管理之表示點數目。首先,吾等於x以及y中找到對於所有取樣的邊界框(第6圖,方塊32)。該邊界框接著被分割成為2×2之一致的網柵胞格(第6圖,方塊34)。對於各胞格,吾等找到具有最小以及最大深度值的二個取 樣(第6圖,方塊36)。這二個取樣之中心點(於xyz中)接著被計算(第6圖,方塊38)。這給我們四個表示點,rij,具有i,j {0,1},其中i以及j是網柵胞格座標。 For data reduction, the following method is based on reducing the sampling in one layer to make it more manageable points. First, I find the bounding box for all samples in x and y (Figure 6, box 32). The bounding box is then divided into 2 x 2 uniform grid cells (Fig. 6, block 34). For each cell, we find two samples with minimum and maximum depth values (Fig. 6, box 36). The center point of these two samples (in xyz) is then calculated (Figure 6, box 38). This gives us four representation points, r ij , with i,j {0, 1}, where i and j are grid cell coordinates.

第5以及6圖之順序可利用軟體、硬體及/或韌體被實作。於軟體以及韌體實施例中,該等順序可依照被儲存在一個或多個非暫態電腦可讀取媒體(例如,磁式、半導體或光學記憶體)中之電腦執行指令被實作。 The order of Figures 5 and 6 can be implemented using software, hardware and/or firmware. In software and firmware embodiments, the sequences may be implemented in accordance with computer executed instructions stored in one or more non-transitory computer readable media (eg, magnetic, semiconductor, or optical memory).

類似地,對於考慮t之模式,吾等也可計算t中之界限,並且替代地分割該邊界框成為2×2×2之網柵胞格。這導致以8個取代4個之表示點rijk,具有i,j,k {0,1}。接著,吾等說明吾等如何處理來自這些減低之代表性資料點的各特定模式。 Similarly, for the mode considering t, we can also calculate the limit in t and instead divide the bounding box into a 2 x 2 x 2 grid cell. This results in the representation of the point r ijk with 8 instead of 4, with i, j, k {0,1}. Next, we explain how we deal with each specific pattern from these reduced representative data points.

模式0說明一個四維平面,以至於d(x,y,t)=a+bx+cy+dt。這表示是可用於靜態,以及可用於移動幾何,因為其包含dt項目。當計算平面方程式時,吾等首先移動原點至該等表示點之一者。這方式吾等不能計算最佳之a-係數。反而,吾等稍後以微分編碼步驟計算之。接著吾等僅需要解決bx+cy+dt項,以及三個其餘之表示點。任何適用於解決3×3線性系統之方法,例如,克萊姆法則,可被使用以計算這些。 Mode 0 illustrates a four-dimensional plane such that d(x, y, t) = a + bx + cy + dt. This representation is available for static and can be used for moving geometry because it contains dt items. When calculating the plane equation, we first move the origin to one of the representation points. In this way we can't calculate the best a-coefficient. Instead, we later calculate this in a differential encoding step. Then we only need to solve the bx+cy+dt entry and the three remaining representation points. Any method suitable for solving a 3x3 linear system, such as Cramer's Law, can be used to calculate these.

模式1是用於靜態幾何,亦即,用於產生訊框而無移動模糊的部份。吾等使用雙線性補片,其在上面利用d(x,y)=a+bx+cy+dxy被說明,吾等稱其為模式1(第6圖,方塊40)。對於這模式之動機,比較至僅使用平面方程式,是二倍。首先,雙線性補片是更具有彈性的,因為其是二階表面, 並且因此具有適於表面較平穩改變之較高機會。第二,其是相當直接地取得雙線性補片。 Mode 1 is for static geometry, that is, the part used to generate the frame without moving blur. We use a bilinear patch, which is illustrated above using d(x, y) = a + bx + cy + dxy, which we call Mode 1 (Figure 6, Box 40). The motivation for this model is twice as large as using only the plane equation. First, a bilinear patch is more elastic because it is a second-order surface. And therefore there is a higher chance of being adapted to a smoother surface change. Second, it is quite straightforward to obtain a bilinear patch.

給予四個深度值,A、B、C以及D,放在規則之2×2柵格中,其是直接取得雙線性補片如:d(x,y)=(1-x)(1-y)A+x(1-y)B+(1-x)yC+xyD。但是,對於一特定層,吾等計算四個表示點,如上所述有關於減少,並且接著的問題是這些點之各者可能被安置在像素塊內部之(幾乎)任意的位置中,並且吾等需要從這些取得雙線性補片。吾等如第3圖展示地解決這問題,其中吾等簡單地從三個點計算一平面,並且估計所需xy位置的平面深度。 Give four depth values, A, B, C, and D, in a 2×2 grid of rules, which directly obtain a bilinear patch such as: d(x,y)=(1-x)(1 -y) A+x(1-y)B+(1-x)yC+xyD. However, for a particular layer, we calculate four representation points, as described above for reduction, and the next problem is that each of these points may be placed in (almost) arbitrary positions inside the pixel block, and I need to get a bilinear patch from these. We have solved this problem as shown in Figure 3, where we simply calculate a plane from three points and estimate the plane depth of the desired xy position.

對於模式1,吾等得到四個點,(xi,yi,zi),i {0,1,2,3},並且吾等需要計算子像素塊中間之深度,A、B、C以及D,如右方之展示。例如,對於頂部-左方子像素塊,平面方程式從(x0,y0,z0)、(x1,y1,z1)以及(x2,y2,z2)被計算出。平面方程式接著於頂部-左方子像素塊中心被估計出,其產生A。使用A、B、C以及D,其是直接以d(x,y)=a+bx+cy+dxy形式重新寫入。注意到,其也是可能建立線性方程式系統並且使用,例如,克萊姆法則直接地解出b、c以及d。 For mode 1, we get four points, (x i , y i , z i ), i {0,1,2,3}, and we need to calculate the depth in the middle of the sub-pixel block, A, B, C, and D, as shown on the right. For example, for the top-left sub-pixel block, the plane equation is calculated from (x 0 , y 0 , z 0 ), (x 1 , y 1 , z 1 ), and (x 2 , y 2 , z 2 ). The plane equation is then estimated at the center of the top-left sub-pixel block, which produces A. Use A, B, C, and D, which are directly rewritten in the form of d(x, y) = a + bx + cy + dxy. It is noted that it is also possible to build a linear equation system and use, for example, Cramer's law to directly resolve b, c, and d.

模式2線性地內插置放在t=0中以及t=1中之二個雙線性補片(P0以及P1),以獲得隨著時間移動之一表面。因此,吾等得到方程式z(x,y,t)=P0+t(P1-P0)。為計算這表示,吾等首先進行資料減少以產生2×2×2表示點rijk。四個表示點rijk,i,j {0,1},相同如用於模式1之方式被使用以計算二補片Pk,k {0,1}。各補片Pk接著近似地代表在時間 之像素塊資料。吾等接著具有供這模 式所需的所有8個係數。於最後步驟中,該等二補片經由外插被放置在時間t0=0以及t1=1。 Mode 2 linearly interpolates two bilinear patches (P 0 and P 1 ) placed in t=0 and t=1 to obtain one surface that moves with time. Therefore, we get the equation z(x, y, t) = P 0 + t(P 1 - P 0 ). To calculate this representation, we first perform a data reduction to produce a 2 x 2 x 2 representation point r ijk . Four representation points r ijk , i, j {0,1}, the same as used for mode 1 is used to calculate the two patches P k ,k {0,1}. Each patch P k then approximately represents time Pixel block data. We then have all eight coefficients needed for this mode. In the final step, the two patches are placed at time t0=0 and t1=1 via extrapolation.

所有吾人之預測函數具有相似資料減少步驟。第4圖展示對於xy-補片模式之設定處理程序。在左方,吾等開始一組不規則取樣。取樣灰階指示它們的深度。於中間,取樣邊界框被發現。該框在xy維度被對半分割。於各產生的子區域中,一表示深度以及位置從具有最小深度10以及最大深度12之二個取樣的平均被產生。在右方,吾等接著具有一資料預測補片。為更容易解壓縮,近似深度需要在已知於解壓縮器的四個暗示位置被估計。 All of our prediction functions have similar data reduction steps. Figure 4 shows the setting process for the xy-patch mode. On the left, we start a set of irregular sampling. The gray scales are sampled to indicate their depth. In the middle, the sampling bounding box is found. The box is split in half in the xy dimension. Among the generated sub-regions, an average representing the depth and position from the two samples having the minimum depth 10 and the maximum depth 12 is generated. On the right, we then have a data prediction patch. To make it easier to decompress, the approximate depth needs to be estimated at the four implied locations known to the decompressor.

由於群集以及清晰取樣,於資料減少步驟中之一些網柵胞格可結束而不需任何取樣,並且因此吾等不能產生它們的表示點rij(k)。為補救這點,吾等使用鄰近的網柵胞格估計新的表示點。為簡化故,吾等僅充填xy鄰近者之缺失的資料,並且不是在t中。因此,吾等僅需考慮2×2部份之情況,並且以時間相依模式執行其兩次。 Due to clustering and clear sampling, some of the grid cells in the data reduction step can end without any sampling, and therefore we cannot generate their representation points r ij(k) . To remedy this, we use neighboring grid cells to estimate new representation points. For the sake of simplicity, we only fill in the missing data of the xy neighbors, and not in t. Therefore, we only need to consider the case of 2×2 parts and perform it twice in time dependent mode.

如果僅有一網柵胞格是缺失的取樣,吾等從其他的三個點產生一平面,並且在空的網柵胞格中心估計它。 If only one grid cell is a missing sample, we generate a plane from the other three points and estimate it at the center of the empty grid cell.

如果僅有兩個表示點,例如,r00以及r01,以及二個空的網柵胞格,吾等如下面展示地產生一新的點,r10 If there are only two representation points, for example, r 00 and r 01 , and two empty grid cells, we generate a new point, r 10 as shown below:

其中r10之首先的二個構成要素藉由於x以及y中旋轉差向量,e,90度並且增加它至r00之x以及y上而被產生。其他構成要素從r00簡單地被複製。這從來自r00至r01之向量擠壓出一平面。當這第三表示點已被產生時,吾等繼續進行而有如一個表示點是缺失的。最後,如果僅有一個表示點存在,則表示點於各空網柵胞格中間被產生。它們的深度值被設定為現存點的深度值。 The first two constituent elements of r 10 are generated by rotating the difference vector in x and y, e, 90 degrees and increasing it to x and y of r 00 . Other components are simply copied from r 00 . This squeezes a plane from the vector from r 00 to r 01 . When this third representation point has been generated, we proceed as if one representation point was missing. Finally, if only one representation point exists, it means that the point is generated in the middle of each empty grid cell. Their depth values are set to the depth values of the existing points.

於最後步驟中,吾等計算修正項以編碼一特定取樣如何可從預測函數重新產生。吾等需要對於每個取樣儲存二個數值。第一者是層指標,其聯結取樣與某一層。通常,吾等在一個層以及四個層之間使用,因此吾等需要高至二個位元以儲存這指標。如果一像素塊可使用一個單一層被壓縮,則吾等不需要儲存這些指標。 In the final step, we calculate the corrections to encode how a particular sample can be regenerated from the prediction function. We need to store two values for each sample. The first is a layer indicator that joins a sample with a layer. Usually, we use between one layer and four layers, so we need up to two bits to store this indicator. If a block of pixels can be compressed using a single layer, then we do not need to store these metrics.

將儲存的第二取樣數值是修正項,δi。這些藉由在層中之所有取樣上循環並且計算在預測值,d(x,y,t),以及取樣實際深度間之差量而被發現。在這階段期間,吾等追蹤所需的位元數以儲存修正項,並且也計算供用於吾人之預測函數中之a-常數。a-常數被設定因而吾等僅得到無符號之修正項(亦即,所有的取樣置放在預測函數上面)。 The second sample value to be stored is the correction term, δ i . These are found by cycling through all the samples in the layer and calculating the difference between the predicted value, d(x, y, t), and the actual depth of the sample. During this phase, we track the number of bits needed to store the corrections and also calculate the a-constant used in our prediction function. The a-constant is set so we only get unsigned corrections (ie, all samples are placed on top of the prediction function).

對於每個修正項之k修正位元,吾等保留數值2k-1作為一清除值,並且因此可僅使用高至(並且包含)2k-2之修正項。但是,於一實施例中,吾等得到可以非常低廉方式傳信一特定取樣是否仍然被清除之利益。否則,這通常使用層指標中之一特定數值被完成。 For the k correction bit of each correction term, we retain the value 2 k -1 as a clear value, and therefore only corrections up to (and including) 2 k -2 can be used. However, in one embodiment, we have the benefit of being able to signal in a very inexpensive manner whether a particular sample is still being erased. Otherwise, this is usually done using one of the layer metrics.

第7圖展示系統700之實施例。於實施例中,系統700可以是媒體系統,雖然系統700是不受本文之限定。例如,系統700可被包含於個人電腦(PC)、膝上型輕便電腦、超輕便型電腦、平板電腦、觸控板、輕便電腦、手持電腦、掌上型電腦、個人數位助理(PDA)、行動電話、組合式行動電話/PDA、電視、智慧設備(例如,智慧型手機、智慧平板電腦或智慧電視)、移動式網際網路設備(MID)、通訊聯繫設備、資料通訊設備等等。 FIG. 7 shows an embodiment of system 700. In an embodiment, system 700 can be a media system, although system 700 is not limited by the text. For example, system 700 can be included in a personal computer (PC), a laptop, an ultra-portable computer, a tablet, a touchpad, a portable computer, a handheld computer, a palmtop computer, a personal digital assistant (PDA), and a mobile device. Telephone, combined mobile phone/PDA, TV, smart device (for example, smart phone, smart tablet or smart TV), mobile internet device (MID), communication contact device, data communication device, etc.

於實施例中,系統700包括耦合至顯示器720之平臺702。平臺702可從內容設備(例如,內容服務設備730或內容傳送設備740或其他相似內容來源)接收內容。包括一個或多個導航特點之導航控制器750可被使用以與,例如,平臺702及/或顯示器720互動。這些構件各者將在下面更詳細地被說明。 In an embodiment, system 700 includes a platform 702 coupled to display 720. Platform 702 can receive content from a content device (eg, content service device 730 or content delivery device 740 or other similar content source). A navigation controller 750 that includes one or more navigation features can be used to interact with, for example, platform 702 and/or display 720. Each of these components will be explained in more detail below.

於實施例中,平臺702可包括下列構件之任何組合,如晶片組705、處理器710、記憶體712、儲存器714、圖形子系統715、軟體應用716、全球定位系統(GPS)721、攝影機723及/或無線電718。晶片組705可提供處理器710、記憶體712、儲存器714、圖形子系統715、軟體應用716及/或無線電718間之相互通訊。例如,晶片組705可包含能夠提供與儲存器714相互通訊之儲存轉接器(未被展示)。 In an embodiment, platform 702 can include any combination of the following components, such as chipset 705, processor 710, memory 712, storage 714, graphics subsystem 715, software application 716, global positioning system (GPS) 721, camera 723 and/or radio 718. Wafer set 705 can provide intercommunication between processor 710, memory 712, storage 714, graphics subsystem 715, software application 716, and/or radio 718. For example, the chipset 705 can include a storage adapter (not shown) that can provide communication with the storage 714.

此外,平臺702可包含一操作系統770。至處理器772之界面可界接操作系統以及處理器710。 Additionally, platform 702 can include an operating system 770. The interface to processor 772 can interface with the operating system and processor 710.

韌體790可被提供以實作功能,例如,啟動序列。從平 臺702之外引動韌體更新的一更新模組可被提供。例如,更新模組可包含指令碼以決定試圖更新是否授權並且辨識韌體790的最近更新以便利於何時需要更新之決定。 Firmware 790 can be provided to implement functions, such as a startup sequence. From flat An update module that drives firmware update outside of station 702 can be provided. For example, the update module can include an instruction code to determine the decision to attempt to update the authorization and identify the most recent update of firmware 790 to facilitate when an update is needed.

於一些實施例中,平臺702可利用一外部電源供應被供電。於一些情況中,平臺702也可包含一內部電池780,於不適用於外部電源供應之實施例中或於允許任何電池供應電源或外部供應電源之實施例中,該內部電池780作用如同電源。 In some embodiments, platform 702 can be powered using an external power supply. In some cases, platform 702 can also include an internal battery 780 that acts as a power source in embodiments that are not suitable for external power supply or in embodiments that allow any battery to supply power or externally supply power.

第5及6圖展示之順序可藉由被包含在提及的一些範例之儲存器714內或在處理器710或圖形子系統715內之記憶體內的軟體以及韌體實施例而被實作。於一實施例中,圖形子系統715可包含圖形處理單元並且處理器710可以是中央處理單元。 The order shown in Figures 5 and 6 can be implemented by software and firmware embodiments contained within the memory 714 of some of the examples mentioned or in memory within the processor 710 or graphics subsystem 715. In an embodiment, graphics subsystem 715 can include a graphics processing unit and processor 710 can be a central processing unit.

處理器710可作為複雜指令集電腦(CISC)或簡化指令集電腦(RISC)處理器、x86指令集相容處理器、多核心或任何其他微處理機或中央處理單元(CPU)被實作。於實施例中,處理器710可包括雙核心處理器、雙核心移動式處理器以及其它者。 Processor 710 can be implemented as a Complex Instruction Set Computer (CISC) or Reduced Instruction Set Computer (RISC) processor, an x86 instruction set compatible processor, a multi-core or any other microprocessor or central processing unit (CPU). In an embodiment, processor 710 can include a dual core processor, a dual core mobile processor, and others.

記憶體712可被實作為依電性記憶體設備,例如,但是不受限定於,隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或靜態隨機存取記憶體(SRAM)。 The memory 712 can be implemented as an electrical memory device, such as, but not limited to, a random access memory (RAM), a dynamic random access memory (DRAM), or a static random access memory (SRAM). .

儲存器714可被實作為非依電性儲存設備,例如,但是不受限定於,磁片驅動、光碟驅動、卡帶驅動、內部儲存設備、被附帶儲存設備、快閃記憶體、電池備用同步動態 隨機存取記憶體(同步DRAM)及/或網路可存取儲存設備。於實施例中,儲存器714可包括一技術,以例如,當包含複數個硬碟驅動時,則對於貴重數位媒體增加提高保護之儲存性能。 The storage 714 can be implemented as a non-electrical storage device, such as, but not limited to, a magnetic disk drive, a disk drive, a cassette drive, an internal storage device, an attached storage device, a flash memory, and a battery backup synchronization dynamic. Random access memory (synchronous DRAM) and/or network accessible storage devices. In an embodiment, the storage 714 can include a technique to increase the storage performance of the enhanced protection for valuable digital media, for example, when a plurality of hard disk drives are included.

圖形子系統715可進行用以顯示之影像處理,例如,靜止或視訊的顯示。圖形子系統715可以是,例如,圖形處理單元(GPU)或視覺處理單元(VPU)。類比或數位界面可被使用以通訊地耦合圖形子系統715以及顯示器720。例如,界面可以是任何的高清晰度多媒體界面、顯示埠(DisplayPort)、無線HDMI及/或無線HD符合技術。圖形子系統715可被整合入處理器710或晶片組705中。圖形子系統715可以是通訊地耦合至晶片組705之獨立卡。 Graphics subsystem 715 can perform image processing for display, such as display of still or video. Graphics subsystem 715 can be, for example, a graphics processing unit (GPU) or a visual processing unit (VPU). An analog or digital interface can be used to communicatively couple graphics subsystem 715 and display 720. For example, the interface can be any high definition multimedia interface, DisplayPort, wireless HDMI, and/or wireless HD compliance technology. Graphics subsystem 715 can be integrated into processor 710 or chipset 705. Graphics subsystem 715 can be a standalone card communicatively coupled to chipset 705.

此處說明之圖形及/或視訊處理技術可以各種硬體結構被實作。例如,圖形及/或視訊功能可被整合在晶片組內。另外地,離散圖形及/或視訊處理器可被使用。如另一實施例中,圖形及/或視訊功能可利用包含多核心處理器之一般用途處理器被實作。於進一步的實施例中,該等功能可被實作於消費者電子設備中。 The graphics and/or video processing techniques described herein can be implemented in a variety of hardware configurations. For example, graphics and/or video functions can be integrated into the chipset. Additionally, discrete graphics and/or video processors can be used. In another embodiment, graphics and/or video functions may be implemented using a general purpose processor including a multi-core processor. In further embodiments, the functions can be implemented in consumer electronic devices.

無線電718可包含一個或多個可使用各種適當的無線通訊技術發送以及接收信號之無線電。此些技術可包含跨越一個或多個無線網路之通訊。無線網路範例包含(但是不受限定於)無線局域性區域網路(WLAN)、無線個人區域網路(WPAN)、無線大都會區域網路(WMAN)、行動電話網路以及衛星網路。於跨越此些網路之通訊中,無線電718可依 據任何版本之一個或多個可應用標準而操作。 Radio 718 may include one or more radios that can transmit and receive signals using a variety of suitable wireless communication technologies. Such techniques may include communication across one or more wireless networks. Examples of wireless networks include (but are not limited to) wireless local area networks (WLANs), wireless personal area networks (WPANs), wireless metropolitan area networks (WMANs), mobile telephone networks, and satellite networks. . In the communication across these networks, the radio 718 can Operates according to one or more applicable standards of any version.

於實施例中,顯示器720可包括任何電視型式監視器或顯示器。顯示器720可包括,例如,電腦顯示屏幕、觸控屏幕顯示器、視訊監視器、電視類似設備及/或電視。顯示器720可以是數位及/或類比的。於實施例中,顯示器720可以是全像攝影顯示器。同時,顯示器720也可以是可接收視訊投射之透明表面。此些投射可傳送各種形成之資訊、影像、及/或物件。例如,此些投射可以是用於移動式擴增實境(MAR)應用之視覺覆蓋物。在一個或多個軟體應用716控制下,平臺702可顯示使用者界面722在顯示器720上。 In an embodiment, display 720 can include any television type monitor or display. Display 720 can include, for example, a computer display screen, a touch screen display, a video monitor, a television similar device, and/or a television. Display 720 can be digital and/or analog. In an embodiment, display 720 can be a holographic camera. At the same time, display 720 can also be a transparent surface that can receive video projections. Such projections can convey various formed information, images, and/or objects. For example, such projections can be visual overlays for mobile augmented reality (MAR) applications. Platform 702 can display user interface 722 on display 720 under the control of one or more software applications 716.

於實施例中,內容服務設備730可藉由任何國內的、國際性的及/或獨立的服務被主持並且因此,例如,可經由網際網路而接取平臺702。內容服務設備730可耦合至平臺702及/或顯示器720。平臺702及/或內容服務設備730可耦合至網路760以經由網路760通訊(例如,傳送及/或接收)媒體資訊。內容傳送設備740也可耦合至平臺702及/或顯示器720。 In an embodiment, the content services device 730 can be hosted by any domestic, international, and/or independent service and, for example, the platform 702 can be accessed via the Internet. Content services device 730 can be coupled to platform 702 and/or display 720. Platform 702 and/or content services device 730 can be coupled to network 760 to communicate (e.g., transmit and/or receive) media information via network 760. Content delivery device 740 can also be coupled to platform 702 and/or display 720.

於實施例中,內容服務設備730可包括電纜線電視盒、個人電腦、網路、電話、網際網路引動設備或可傳送數位資訊及/或內容之構件,以及可經由網路760或直接地在內容提供者以及平臺702及/顯示器720之間單向或雙向通訊內容之任何其他相似設備。應了解,內容可經由網路760單向及/或雙向通訊於系統700中之任一構件以及內容提供者。內容範例可包含任何媒體資訊,例如,包含視訊、音樂、醫學及遊戲資訊等等。 In an embodiment, the content service device 730 can include a cable television box, a personal computer, a network, a telephone, an internet-enabled device, or a component that can transmit digital information and/or content, and can be via the network 760 or directly Any other similar device that communicates content between the content provider and platform 702 and/or display 720 in one or two directions. It should be appreciated that content can be communicated to any of the components in system 700 and content providers via network 760 unidirectionally and/or bidirectionally. Content examples can include any media information, such as video, music, medical, and gaming information.

內容服務設備730接收,例如,包含媒體資訊、數位資訊之有線電視節目內容,及/或其他內容。內容提供者範例可包含任何有線或衛星電視或無線電或網際網路內容提供者。提供之範例不欲限制本發明實施例。 The content service device 730 receives, for example, cable television program content including media information, digital information, and/or other content. Examples of content providers can include any cable or satellite television or radio or internet content provider. The examples provided are not intended to limit the embodiments of the invention.

於實施例中,平臺702可從具有一個或多個導航特點之導航控制器750接收控制信號。控制器750之導航特點可被使用以例如,與使用者界面722互動。於實施例中,導航控制器750可以是指示設備,其可以是允許使用者輸入空間(例如,連續的以及多維的)資料進入電腦之電腦硬體構件(明確地說,人類界面設備)。許多系統,例如,圖形使用者界面(GUI),以及電視與監視器允許使用者使用實體姿勢以控制並且提供資料至電腦或電視。 In an embodiment, platform 702 can receive control signals from navigation controller 750 having one or more navigation features. The navigation features of controller 750 can be used, for example, to interact with user interface 722. In an embodiment, the navigation controller 750 can be a pointing device that can be a computer hardware component (specifically, a human interface device) that allows a user to enter spatial (eg, continuous and multi-dimensional) material into the computer. Many systems, such as graphical user interfaces (GUIs), and televisions and monitors allow users to use physical gestures to control and provide data to a computer or television.

控制器750導航特點之移動可藉由顯示在顯示器上之指標、游標、聚焦環或其他視覺指示器之移動,而被回應在顯示器(例如,顯示器720)上。例如,在軟體應用716控制下,被安置於導航控制器750上之導航特點可被映製,例如,至顯示在使用者界面722上之虛擬導航特點。於實施例中,控制器750可以不是分離的構件,但是可被整合入平臺702及/或顯示器720中。但是實施例不受限定於此處被展示或被說明之元件或本文。 Movement of the navigation features of controller 750 can be echoed on the display (e.g., display 720) by movement of indicators, cursors, focus rings, or other visual indicators displayed on the display. For example, under the control of the software application 716, navigation features placed on the navigation controller 750 can be mapped, for example, to virtual navigation features displayed on the user interface 722. In an embodiment, controller 750 may not be a separate component, but may be integrated into platform 702 and/or display 720. However, the embodiments are not limited to the elements shown or described herein or herein.

於實施例中,驅動器(未被展示)可包括一技術,例如,當引動時,類似於電視,在開始開機之後藉由觸控按鈕使得使用者可立即導通及斷開平臺702。程式邏輯可當平臺被“斷開”時,允許平臺702湧送內容至媒體轉換器或其他內容 服務設備730或內容傳送設備740。此外,晶片組705可包括硬體及/或軟體支援,例如,用於5.1環繞音效音訊及/或高傳真度7.1環繞音效音訊。驅動器可包含用於整合圖形平臺之圖形驅動器。於實施例中,圖形驅動器可包括週邊構件互連(PCI)先進圖形顯示卡。 In an embodiment, the driver (not shown) may include a technique, for example, when priming, similar to a television, the user can immediately turn the platform 702 on and off with a touch button after starting the power-on. Program logic can allow platform 702 to flood content to media converters or other content when the platform is "disconnected" Service device 730 or content delivery device 740. In addition, the chipset 705 can include hardware and/or software support, for example, for 5.1 surround sound audio and/or high-fidelity 7.1 surround sound audio. The drive can include a graphics driver for integrating the graphics platform. In an embodiment, the graphics driver can include a Peripheral Component Interconnect (PCI) advanced graphics display card.

於各種實施例中,任何被展示於系統700中之一個或多個構件可被整合。例如,平臺702以及內容服務設備730可被整合,或平臺702以及內容傳送設備740可被整合,或例如,平臺702、內容服務設備730以及內容傳送設備740可被整合。於各種實施例中,平臺702以及顯示器720可以是整合單元。例如,顯示器720以及內容服務設備730可被整合,或顯示器720以及內容傳送設備740可被整合。這些範例不欲限制本發明。 In various embodiments, any one or more of the components shown in system 700 can be integrated. For example, platform 702 and content service device 730 can be integrated, or platform 702 and content delivery device 740 can be integrated, or for example, platform 702, content service device 730, and content delivery device 740 can be integrated. In various embodiments, platform 702 and display 720 can be integrated units. For example, display 720 and content service device 730 can be integrated, or display 720 and content delivery device 740 can be integrated. These examples are not intended to limit the invention.

於各種實施例中,系統700可作為無線系統、有線系統或二者之組合被實作。當作為無線系統被實作時,系統700可包含適用於在無線共用媒體上通訊之構件以及界面,例如,一個或多個天線、發送器、接收器、收發器、放大器、濾波器、控制邏輯以及其它者。無線共用媒體範例可包含無線頻譜之部份,例如,射頻以及其它者。當作為有線系統被實作時,系統700可包含適用於在有線通訊媒體上通訊之構件以及界面,例如,輸入/輸出(I/O)轉換器、連接I/O轉換器與對應的有線通訊媒體之實體連接器、網路界面卡(NIC)、碟控制器、視訊控制器、音訊控制器以及其它者。有線通訊媒體範例可包含金屬線、電纜線、金屬導線、印 刷電路板(PCB)、背板、切換光纖、半導體材料、雙絞線、同軸電纜線、光纖等等。 In various embodiments, system 700 can be implemented as a wireless system, a wired system, or a combination of both. When implemented as a wireless system, system 700 can include components and interfaces suitable for communicating over a wireless shared medium, such as one or more antennas, transmitters, receivers, transceivers, amplifiers, filters, control logic And others. Examples of wireless shared media may include portions of the wireless spectrum, such as radio frequencies and others. When implemented as a wired system, system 700 can include components and interfaces suitable for communicating over a wired communication medium, such as input/output (I/O) converters, connected I/O converters, and corresponding wired communications. Physical connectors for media, network interface cards (NICs), disk controllers, video controllers, audio controllers, and others. Wired communication media examples can include metal wires, cable wires, metal wires, and printed Brush circuit board (PCB), backplane, switching fiber, semiconductor materials, twisted pair, coaxial cable, fiber, and more.

平臺702可建立一個或多個通訊資訊之邏輯或實體的通道。資訊可包含媒體資訊以及控制資訊。媒體資訊可以是關聯於表示用於使用者之內容的任何資料。內容範例可包含,例如,來自聲音會話、視訊會議、直播視訊、電子郵件(“email”)訊息、聲音郵件訊息、文數字符號、圖形、影像、視訊、文字等等之資料。來自聲音會話之資料可以是,例如,語音資訊、靜音週期、背景雜訊、舒適雜訊、音調等等。控制資訊可以關聯於表示用於自動化系統的命令、指令或控制字詞之任何資料。例如,控制資訊可被使用以經由系統引導媒體資訊,或指示節點以預定方式而處理媒體資訊。但實施例是不受限定於第8圖中展示或說明之元件或本文。 Platform 702 can establish a logical or physical channel of one or more communication messages. Information can include media information and control information. The media information can be any material associated with the content representing the user. Examples of content may include, for example, information from voice conversations, video conferencing, live video, email ("email") messages, voicemail messages, alphanumeric symbols, graphics, images, video, text, and the like. The information from the voice session can be, for example, voice information, silent periods, background noise, comfort noise, tones, and the like. Control information can be associated with any material that represents commands, instructions, or control words used to automate the system. For example, control information can be used to direct media information via the system, or to instruct the node to process media information in a predetermined manner. However, the embodiments are not limited to the elements shown or described in FIG. 8 or herein.

如上所述,系統700可以變化的實體樣式或型式因數被實施。第7圖展示系統700可於其中被實施之小型式因數設備800之實施例。於實施例中,例如,設備800可被實作為具有無線能力之移動電腦設備。移動式電腦設備可以關聯於,例如,具有處理系統以及移動電源或供應器(例如,一個或多個電池)之任何設備。 As described above, system 700 can be implemented with varying physical styles or pattern factors. FIG. 7 shows an embodiment of a miniature factor device 800 in which system 700 can be implemented. In an embodiment, for example, device 800 can be implemented as a mobile computer device with wireless capabilities. A mobile computer device can be associated with, for example, any device having a processing system and a mobile power source or supply (eg, one or more batteries).

如上所述,移動式電腦設備範例可包含個人電腦(PC)、膝上型輕便電腦、超薄型輕便電腦、平板電腦、觸控鍵盤、輕便電腦、手持電腦、掌上型電腦、個人數位助理(PDA)、行動電話、組合行動電話/PDA、電視、智慧設 備(例如,智慧型手機、智慧平板電腦或智慧電視)、移動網際網路設備(MID)、通訊聯繫設備、資料通訊設備等等。 As mentioned above, examples of mobile computer devices may include personal computers (PCs), laptops, laptops, ultra-thin portable computers, tablets, touch keyboards, portable computers, handheld computers, palmtop computers, personal digital assistants ( PDA), mobile phone, combination mobile phone/PDA, TV, smart device Equipment (for example, smart phones, smart tablets or smart TVs), mobile internet devices (MIDs), communication devices, data communication devices, and more.

移動電腦設備範例也可包含被配置以供人員所配帶之電腦,例如,腕部電腦、指式電腦、指環式電腦、眼鏡式電腦、帶鉗式電腦、臂箍式電腦、鞋式電腦、衣著式電腦以及其他可穿戴式電腦。於實施例中,例如,移動電腦設備可被實作為可執行電腦應用、以及聲音通訊及/或資料通訊之智慧型手機。雖然一些實施例可藉由範例以被實作為智慧型手機之移動式電腦設備被說明,應了解,其他實施例也可使用其他無線移動電腦設備被實作。實施例是不受本文之限定。 Examples of mobile computer devices may also include computers that are configured for personnel to carry, such as wrist computers, finger computers, ring computers, eyeglass computers, caliper computers, armband computers, shoe computers, Clothing-type computers and other wearable computers. In an embodiment, for example, a mobile computer device can be implemented as a smart phone capable of executing a computer application, as well as voice communication and/or data communication. While some embodiments may be illustrated by way of example with a mobile computer device that is implemented as a smart phone, it should be appreciated that other embodiments may be implemented using other wireless mobile computer devices. The examples are not limited by the text.

如第8圖之展示,設備800可包括外罩802、顯示器804、輸入/輸出(I/O)設備806以及天線808。設備800也可包括導航特點812。顯示器804可包括用以顯示適用於移動式電腦設備資訊之任何適當的顯示單元。I/O設備806可包括供資訊進入移動式電腦設備之任何適當的I/O設備。供用於I/O設備806之範例可包含文數字式符號鍵盤、數字袖珍鍵盤、觸控鍵盤、輸入鍵、按鈕、開關、弧形搖桿開關、麥克風、擴音機、聲音辨識設備以及軟體等等。資訊也可藉由麥克風被輸進設備800中。此資訊可利用聲音辨識設備被數位化。實施例是不受本文限定。 As shown in FIG. 8, device 800 can include a housing 802, a display 804, an input/output (I/O) device 806, and an antenna 808. Device 800 can also include navigation features 812. Display 804 can include any suitable display unit for displaying information suitable for mobile computer devices. I/O device 806 can include any suitable I/O device for accessing information to the mobile computer device. Examples for the I/O device 806 can include an alphanumeric keypad, a digital keypad, a touch keyboard, input keys, buttons, switches, curved rocker switches, microphones, amplifiers, voice recognition devices, and software. Information can also be entered into device 800 by means of a microphone. This information can be digitized using a voice recognition device. Embodiments are not limited by this description.

各種實施例可使用硬體元件、軟體元件或二者之組合被實作。硬體元件範例可包含處理器、微處理機、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等等)、 積體電路、特定應用積體電路(ASIC)、可程控邏輯設備(PLD)、數位信號處理器(DSP)、場可程控閘陣列(FPGA)、邏輯閘、暫存器、半導體設備、晶片、微晶片、晶片組等等。軟體範例可包含軟體構件、程式、軟體應用、電腦程式、應用程式、系統程式、機器程式、運算系統軟體、中介軟體、韌體、軟體模組、程式段、子程式段、函數、方法、程序、軟體界面、應用程式界面(API)、指令集、計算程式碼、電腦程式碼、程式碼段、電腦程式碼段、字組、數值、符號或其任何組合。決定一實施例是否使用硬體元件及/或軟體元件被實作,可依據任何數量之下列因數而變化,例如,所需的計算率、功率位準、熱容限度、處理週期預算、輸入資料率、輸出資料率、記憶體資源、資料匯流排速率以及其他設計或性能限制。 Various embodiments may be implemented using hardware components, software components, or a combination of both. Examples of hardware components can include processors, microprocessors, circuits, circuit components (eg, transistors, resistors, capacitors, inductors, etc.), Integrated circuits, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), digital signal processors (DSPs), field programmable gate arrays (FPGAs), logic gates, scratchpads, semiconductor devices, wafers, Microchips, wafer sets, and the like. Software examples can include software components, programs, software applications, computer programs, applications, system programs, machine programs, computing system software, mediation software, firmware, software modules, program segments, sub-segments, functions, methods, programs. , software interface, application programming interface (API), instruction set, calculation code, computer code, code segment, computer code segment, block, value, symbol, or any combination thereof. Determining whether an embodiment is implemented using hardware components and/or software components can vary depending on any number of factors, such as required calculation rate, power level, heat capacity limit, processing cycle budget, input data Rate, output data rate, memory resources, data bus rate, and other design or performance limitations.

至少一實施例之一個或多個觀點可藉由被儲存在機器可讀取媒體上代表處理器內之各種邏輯的表示指令被實作,該等指令當利用機器被讀取時將導致該機器形成邏輯以執行此處說明之技術。此些表示,習知為“IP核心”可被儲存在有實體的機器可讀取媒體上,並且被供應至各種顧客或製造商以裝載進入實際上構成邏輯或處理器之製造機器內。 One or more aspects of at least one embodiment may be implemented by a representation instruction stored on a machine readable medium representing various logic within the processor, the instructions being caused by the machine being read Logic is formed to perform the techniques described herein. Such representations, known as "IP cores", can be stored on physical machine readable media and supplied to various customers or manufacturers for loading into manufacturing machines that actually constitute logic or processors.

各種實施例可使用硬體元件、軟體元件或二者之組合被實作。硬體元件範例可包含處理器、微處理機、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等等)、積體電路、應用特定積體電路(ASIC)、可程控邏輯設備 (PLD)、數位信號處理器(DSP)、場可程控閘陣列(FPGA)、邏輯閘、暫存器、半導體設備、晶片、微晶片、晶片組等等。軟體範例可包含軟體構件、程式、軟體應用、電腦程式、應用程式、系統程式、機器程式、運算系統軟體,中介軟體、韌體、軟體模組、程式段、子程式段、函數、方法、程序、軟體界面、應用程式界面(API)、指令集、計算程式碼、電腦程式碼、程式碼段、電腦程式碼段、字組、數值、符號或其任何組合。決定一實施例是否使用硬體元件及/或軟體元件被實作,可依據任何數量之下列因數而變化,例如,所需的計算率、功率位準、熱容限度、處理週期預算、輸入資料率、輸出資料率、記憶體資源、資料匯流排速率以及其他設計或性能限制。 Various embodiments may be implemented using hardware components, software components, or a combination of both. Examples of hardware components can include processors, microprocessors, circuits, circuit components (eg, transistors, resistors, capacitors, inductors, etc.), integrated circuits, application-specific integrated circuits (ASICs), programmable logic device (PLD), digital signal processor (DSP), field programmable gate array (FPGA), logic gate, scratchpad, semiconductor device, wafer, microchip, chipset, and the like. Software examples can include software components, programs, software applications, computer programs, applications, system programs, machine programs, computing system software, mediation software, firmware, software modules, program segments, sub-programs, functions, methods, programs. , software interface, application programming interface (API), instruction set, calculation code, computer code, code segment, computer code segment, block, value, symbol, or any combination thereof. Determining whether an embodiment is implemented using hardware components and/or software components can vary depending on any number of factors, such as required calculation rate, power level, heat capacity limit, processing cycle budget, input data Rate, output data rate, memory resources, data bus rate, and other design or performance limitations.

至少一實施例之一個或多個觀點可藉由被儲存在機器可讀取媒體上代表處理器內之各種邏輯的表示指令被實作,該等指令當利用機器被讀取時將導致該機器形成邏輯以執行此處說明之技術。此些表示,習知為“IP核心”可被儲存在有實體的機器可讀取媒體上,並且被供應至各種顧客或製造商以裝載進入實際上構成邏輯或處理器之製造機器內。 One or more aspects of at least one embodiment may be implemented by a representation instruction stored on a machine readable medium representing various logic within the processor, the instructions being caused by the machine being read Logic is formed to perform the techniques described herein. Such representations, known as "IP cores", can be stored on physical machine readable media and supplied to various customers or manufacturers for loading into manufacturing machines that actually constitute logic or processors.

此處說明之圖形處理技術被可以各種硬體結構被實作。例如,圖形功能性可被整合在一晶片組內。另外地,一離散圖形處理器可被使用。如另一實施例,圖形功能可利用包含多核心處理器之一般用途處理器被實作。 The graphics processing techniques described herein can be implemented in a variety of hardware configurations. For example, graphics functionality can be integrated into a chip set. Alternatively, a discrete graphics processor can be used. As another example, graphics functionality may be implemented using a general purpose processor that includes a multi-core processor.

10‧‧‧最小深度 10‧‧‧Minimum depth

12‧‧‧最大深度 12‧‧‧Maximum depth

20‧‧‧群集流程圖 20‧‧‧Cluster flow chart

22-26‧‧‧群集流程圖步驟步驟 22-26‧‧‧Cluster Flowchart Steps

30‧‧‧預測函數流程圖 30‧‧‧Predictive function flow chart

32-40‧‧‧預測函數流程圖步驟 32-40‧‧‧Predictive function flow chart steps

700‧‧‧系統 700‧‧‧ system

702‧‧‧平臺 702‧‧‧ platform

705‧‧‧晶片組 705‧‧‧ Chipset

710‧‧‧處理器 710‧‧‧ processor

712‧‧‧記憶體 712‧‧‧ memory

714‧‧‧儲存器 714‧‧‧Storage

715‧‧‧圖形子系統 715‧‧‧Graphics Subsystem

716‧‧‧軟體應用 716‧‧‧Software applications

718‧‧‧無線電 718‧‧‧ radio

720‧‧‧顯示器 720‧‧‧ display

721‧‧‧全球定位系統(GPS) 721‧‧‧Global Positioning System (GPS)

722‧‧‧使用者界面 722‧‧‧User interface

723‧‧‧攝影機 723‧‧‧ camera

730‧‧‧內容服務設備 730‧‧‧Content Service Equipment

740‧‧‧內容傳送設備 740‧‧‧Content delivery equipment

750‧‧‧導航控制器 750‧‧‧Navigation controller

760‧‧‧網路 760‧‧‧Network

770‧‧‧操作系統 770‧‧‧ operating system

772‧‧‧至處理器界面 772‧‧‧ to processor interface

780‧‧‧電池 780‧‧‧Battery

790‧‧‧韌體 790‧‧‧ Firmware

792‧‧‧韌體更新模組 792‧‧‧ Firmware update module

800‧‧‧設備 800‧‧‧ Equipment

802‧‧‧外罩 802‧‧‧ Cover

804‧‧‧顯示器 804‧‧‧ display

806‧‧‧輸入/輸出(I/O)設備 806‧‧‧Input/Output (I/O) devices

808‧‧‧天線 808‧‧‧Antenna

810‧‧‧顯示單元 810‧‧‧Display unit

812‧‧‧導航特點 812‧‧‧Navigation features

第1圖是依據一實施例之深度緩衝器壓縮演算法的三步驟之說明;第2圖是依據一實施例之群集技術的概略圖;第3圖是依據一實施例之模式1的概略圖,其中一像素塊以及該像素塊中之四個點被展示在左方並且A、B、C以及D深度值被展示在右方之子像素塊中間;第4圖是依據一實施例由三個預測函數圖表組成並且展示它們如何具有相似資料減少步驟,左方圖形展示具有指示深度之灰階樣本的一組不規則樣本,中間圖形展示樣本之邊界框,以至於該框於xy維度對半被分割並且於各產生的子區域中,一代表性深度以及位置從二個深度值(子像素塊中之最小以及最大)之平均被產生,並且於右方圖形中,一資料預測補片被展示;第5圖是依據本發明一實施例之用於群集的流程圖;第6圖是依據一實施例之用於一預測函數的流程圖;第7圖是對於本發明一實施例之硬體描述;以及第8圖是本發明一實施例之前面正視圖。 1 is a diagram showing three steps of a depth buffer compression algorithm according to an embodiment; FIG. 2 is a schematic diagram of a clustering technique according to an embodiment; and FIG. 3 is a schematic diagram of mode 1 according to an embodiment. , wherein one pixel block and four points in the pixel block are shown on the left and the A, B, C, and D depth values are displayed in the middle of the right sub-pixel block; FIG. 4 is three according to an embodiment. The predictive function chart composes and shows how they have similar data reduction steps, the left graph shows a set of irregular samples with grayscale samples indicating depth, and the middle graph shows the bounding box of the sample so that the box is half-paired in the xy dimension Dividing and in each generated sub-region, a representative depth and position are generated from an average of two depth values (minimum and maximum in the sub-pixel block), and in the right graph, a data prediction patch is displayed 5 is a flow chart for clustering according to an embodiment of the present invention; FIG. 6 is a flowchart for a prediction function according to an embodiment; and FIG. 7 is a hardware for an embodiment of the present invention; Drawing And 8 is a front elevational view of an embodiment of the present invention.

DEPTH‧‧‧深度 DEPTH‧‧ depth

Claims (28)

一種方法,其包括下列之步驟:產生對於一區塊像素(像素塊)之一補片;估計一預測者之一位置;並且編碼在該預測者位置以及取樣深度之間的差量。 A method comprising the steps of: generating a patch for a block of pixels (pixel block); estimating a position of a predictor; and encoding a difference between the predictor position and the sample depth. 如申請專利範圍第1項之方法,其包含產生一適用於移動模糊像素塊之時間相依平面。 The method of claim 1, wherein the method comprises generating a time dependent plane suitable for moving the blurred pixel block. 如申請專利範圍第1項之方法,其包含產生一適用於移動模糊像素塊之三線性補片。 The method of claim 1, wherein the method comprises generating a linear patch suitable for moving the blurred pixel block. 如申請專利範圍第2以及3項之方法,其包含使用在屏幕空間中之取樣位置、深度值以及取樣時間以發展該平面/補片。 The method of claim 2, wherein the method includes using a sampling position, a depth value, and a sampling time in the screen space to develop the plane/patch. 如申請專利範圍第1項之方法,其包含產生一適用於非模糊像素塊之雙線性補片。 The method of claim 1, wherein the method comprises generating a bilinear patch suitable for non-blurring pixel blocks. 如申請專利範圍第5項之方法,其包含使用在屏幕空間中之取樣位置以及深度值以發展該補片。 The method of claim 5, comprising the use of a sampling position and a depth value in the screen space to develop the patch. 如申請專利範圍第1項之方法,其包含壓縮該等深度值並且儲存被壓縮的表示在一記憶體中。 The method of claim 1, comprising compressing the depth values and storing the compressed representation in a memory. 如申請專利範圍第1項之方法,其包含藉由分割一深度區間成為區縫(bin)、以至少一深度值而標記該等區縫、並且找出在區縫之間的最大間隔以及深度值而進行群集。 The method of claim 1, comprising dividing a depth interval into bins, marking the zones with at least one depth value, and finding a maximum spacing and depth between the seams. Clustered by value. 如申請專利範圍第1項之方法,其包含藉由找到對於一目前層中的所有取樣之一邊界框、分割該框成為一均勻 的胞格網柵、並且對於各胞格找到具有最小與最大深度值的二個取樣而發展一補片。 The method of claim 1, wherein the method comprises: by finding a bounding box for all samples in a current layer, dividing the frame into a uniform A patch is developed and a patch is developed for each cell to find two samples with minimum and maximum depth values. 如申請專利範圍第9項之方法,其包含計算在設定的最小與最大深度值之間的中點。 A method of claim 9, comprising calculating a midpoint between the set minimum and maximum depth values. 如申請專利範圍第10項之方法,其包含從四個中點值導出一雙線性補片。 The method of claim 10, wherein the method comprises deriving a bilinear patch from the four midpoint values. 至少一種機器可讀取媒體,其包括複數個指令並且,回應於在一電腦設備上執行該等複數個指令,導致該電腦設備實行依據申請專利範圍第1-11項之任一項的方法。 At least one machine readable medium comprising a plurality of instructions and responsive to execution of the plurality of instructions on a computer device, causing the computer device to perform the method of any of claims 1-11. 一種裝置,其包括:一處理器,其發展對於一景象之一補片,估計該補片之一位置,並且編碼在該補片以及取樣深度之間的差量;以及一耦合至該處理器之記憶體。 An apparatus comprising: a processor that develops a patch for a scene, estimates a location of the patch, and encodes a difference between the patch and a sample depth; and a coupling to the processor Memory. 如申請專利範圍第13項之裝置,其中該處理器決定該景象是為模糊或非模糊。 A device as claimed in claim 13, wherein the processor determines whether the scene is ambiguous or non-blurred. 如申請專利範圍第14項之裝置,其中該處理器用以發展對於非模糊景象的一雙線性補片。 A device as claimed in claim 14, wherein the processor is for developing a bilinear patch for a non-blurred scene. 如申請專利範圍第15項之裝置,其中該處理器使用屏幕空間中之取樣位置以及深度值以發展該補片。 The device of claim 15, wherein the processor uses the sampling position and the depth value in the screen space to develop the patch. 如申請專利範圍第13項之裝置,其中該處理器用以發展對於模糊景象之一三線性補片。 The apparatus of claim 13 wherein the processor is operative to develop a trilinear patch for one of the blurred scenes. 如申請專利範圍第17項之裝置,其中該處理器使用屏幕空間中之取樣位置、深度值以及時間以發展該補片。 The apparatus of claim 17, wherein the processor uses the sampling position, depth value, and time in the screen space to develop the patch. 如申請專利範圍第13項之裝置,其中該處理器僅使用取樣與屏幕空間之一位置以及取樣深度以壓縮深度值。 A device as claimed in claim 13 wherein the processor uses only one location of the sample and screen space and the depth of the sample to compress the depth value. 如申請專利範圍第13項之裝置,其中該處理器不使用來自一柵格化程序(rasterizer)之資訊而壓縮深度值。 A device as claimed in claim 13, wherein the processor compresses the depth value without using information from a rasterizer. 如申請專利範圍第13項之裝置,其中該處理器壓縮深度值並且儲存該等值於該記憶體中,其中該記憶體不與該處理器結合一起。 The device of claim 13, wherein the processor compresses the depth value and stores the value in the memory, wherein the memory is not combined with the processor. 如申請專利範圍第13項之裝置,其中該處理器藉由分割一深度區間成為區縫、以至少一深度值標記該等區縫、並且找出在區縫之間的最大間隔以及深度值而進行群集。 The device of claim 13, wherein the processor marks the zones by dividing a depth interval into zones, and marks the zones with at least one depth value, and finds the maximum spacing and depth values between the zones. Perform a cluster. 如申請專利範圍第13項之裝置,其中該處理器藉由找到對於一目前層中的所有取樣之一邊界框、分割該框成為一均勻的胞格網柵、並且對於各胞格找到具有最小與最大深度值的二個取樣而發展一補片。 The device of claim 13, wherein the processor becomes a uniform cell grid by finding a bounding box for all samples in a current layer, and finding the smallest cell grid for each cell A patch is developed with two samples of the maximum depth value. 如申請專利範圍第13項之裝置,其中該處理器計算在設定的最小與最大深度值之間的中點。 The apparatus of claim 13, wherein the processor calculates a midpoint between the set minimum and maximum depth values. 如申請專利範圍第13項之裝置,其中該處理器從四個中點值導出一雙線性補片。 The apparatus of claim 13, wherein the processor derives a bilinear patch from the four midpoint values. 如申請專利範圍第13項之裝置,其包含一操作系統。 An apparatus as claimed in claim 13 which comprises an operating system. 如申請專利範圍第13項之裝置,其包含一電池。 A device as claimed in claim 13 which comprises a battery. 如申請專利範圍第13項之裝置,其包含韌體以及更新該韌體之一模組。 A device as claimed in claim 13 which comprises a firmware and a module for updating the firmware.
TW101115171A 2012-04-27 2012-04-27 Depth buffer compression for stochastic motion blur rasterization TWI550554B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101115171A TWI550554B (en) 2012-04-27 2012-04-27 Depth buffer compression for stochastic motion blur rasterization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101115171A TWI550554B (en) 2012-04-27 2012-04-27 Depth buffer compression for stochastic motion blur rasterization

Publications (2)

Publication Number Publication Date
TW201344627A true TW201344627A (en) 2013-11-01
TWI550554B TWI550554B (en) 2016-09-21

Family

ID=49990261

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101115171A TWI550554B (en) 2012-04-27 2012-04-27 Depth buffer compression for stochastic motion blur rasterization

Country Status (1)

Country Link
TW (1) TWI550554B (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6426755B1 (en) * 2000-05-16 2002-07-30 Sun Microsystems, Inc. Graphics system using sample tags for blur
EP2591602A1 (en) * 2010-07-06 2013-05-15 Koninklijke Philips Electronics N.V. Generation of high dynamic range images from low dynamic range images
JP5150698B2 (en) * 2010-09-30 2013-02-20 株式会社東芝 Depth correction apparatus and method

Also Published As

Publication number Publication date
TWI550554B (en) 2016-09-21

Similar Documents

Publication Publication Date Title
TWI582720B (en) Compression techniques for dynamically-generated graphics resources
US9264692B2 (en) Depth buffer compression for stochastic motion blur rasterization
CN107851307B (en) Method and system for demosaicing bayer-type image data for image processing
US9363473B2 (en) Video encoder instances to encode video content via a scene change determination
TWI537880B (en) Color compression using a selective color transform
TWI517672B (en) 3d video coding including depth based disparity vector calibration
US9838710B2 (en) Motion estimation for arbitrary shapes
TWI517086B (en) Low power centroid determination and texture footprint optimization for decoupled sampling based rendering pipelines
TWI568256B (en) Object detection using motion estimation
TWI571111B (en) Video coding including shared motion estimation between multple independent coding streams
TWI517089B (en) Color buffer caching
TWI615805B (en) Color buffer compression
KR101653158B1 (en) Distributed graphics processing
KR20150038428A (en) Stochastic depth buffer compression using generalized plane encoding
KR101652885B1 (en) Adaptive depth offset compression
TWI551118B (en) Motion estimation methods for residual prediction
TWI550554B (en) Depth buffer compression for stochastic motion blur rasterization
RU2637480C2 (en) Simplified depth encoding with modified inra-framed encoding for encoding three-dimensional video data
TWI594625B (en) Performance and bandwidth efficient fractional motion estimation

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees