Lossless video coding systems and methods
US-9712817-B1 · Jul 18, 2017 · US
US2016140689A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016140689-A1 |
| Application number | US-201514929139-A |
| Country | US |
| Kind code | A1 |
| Filing date | Oct 30, 2015 |
| Priority date | Nov 13, 2014 |
| Publication date | May 19, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method, computer readable medium, and system are disclosed for supersampling a large-scale and disjoined data set. The data set may include point cloud, voxel, or polygonal mesh data. The data set may be rendered using a distributed, sort-last rendering system that includes a plurality of rendering nodes and one or more compositing nodes. The method includes the steps of receiving graphics data at a plurality of rendering nodes, rendering at least a portion of the graphics data by one or more rendering nodes to produce multi-sample image data, encoding the multi-sample image data using a difference encoding technique, and transmitting the encoded multi-sample image data to a compositing node. The multi-sample image data comprises a plurality of values per pixel of a target image corresponding to a plurality of sample locations defined for each pixel of the target image.
Opening claim text (preview).
What is claimed is: 1 . A method, comprising: receiving graphics data at a plurality of rendering nodes; rendering at least a portion of the graphics data by one or more rendering nodes to produce multi-sample image data, wherein the multi-sample image data comprises a plurality of values per pixel of a target image corresponding to a plurality of sample locations defined for each pixel of the target image; encoding the multi-sample image data using a difference encoding technique; and transmitting the encoded multi-sample image data to a compositing node. 2 . The method of claim 1 , wherein the one or more rendering nodes comprises a first rendering node that is configured to: generate a plurality of frame buffer tiles that store the multi-sample image data, wherein each frame buffer tile corresponds to a different sample index in a plurality of sample indices that correspond to a plurality of sample locations for pixels of the target image; identify a reference frame buffer tile; and encode the plurality of frame buffer tiles based on the reference frame buffer tile using the difference encoding technique. 3 . The method of claim 2 , wherein encoding a frame buffer tiles using the difference encoding technique comprises: for each value for a pixel in the frame buffer tile, calculating a difference value by subtracting a corresponding value for the pixel in the reference frame buffer tile from the value for the pixel in the frame buffer tile; and encoding a plurality of difference values using run length encoding. 4 . The method of claim 1 , wherein the one or more rendering nodes comprises at least two rendering nodes, and each rendering node in the two or more rendering nodes is configured to: generate one or more frame buffer tiles that store the multi-sample image data, wherein each frame buffer tile corresponds to a different sample index in a plurality of sample indices that correspond to a plurality of sample locations for pixels of the target image; identify a reference frame buffer tile; and encode the one or more frame buffer tiles based on the reference frame buffer tile using the difference encoding technique. 5 . The method of claim 4 , wherein each rendering node in the two or more rendering nodes is configured to generate one frame buffer tile corresponding to a single sample index. 6 . The method of claim 4 , wherein a first rendering node in the two or more rendering nodes generates the reference frame buffer tile, which corresponds to a first sample index, and one or more additional rendering nodes in the two or more rendering nodes generate additional frame buffer tiles, each frame buffer tile in the additional frame buffer tiles corresponding to a different sample index. 7 . The method of claim 1 , wherein the multi-sample image data is encoded using a hardware video encoder. 8 . The method of claim 7 , wherein the hardware video encoder implements a video codec that is selected from a group of an H.264 video codec and an MPEG 4 Part 10, AVC video codec. 9 . The method of claim 1 , wherein the graphics data comprises one of a point cloud, a set of voxels, and a polygonal mesh. 10 . The method of claim 9 , wherein a plurality of graphics primitives are extracted from the graphics data, and wherein rendering the graphics data comprises processing the plurality of graphics primitives via a graphics processing pipeline implemented by a parallel processing unit. 11 . The method of claim 1 , wherein, in a particular rendering node of the one or more rendering nodes, a plurality of frame buffers tiles for storing the multi-sample image data are allocated in a memory, the particular rendering node generating the multi-sample image data in parallel by: allocating a plurality of threads in a parallel processing unit, wherein each thread corresponds to a different sample index in a plurality of sample indices corresponding to the plurality of sample locations; processing a graphics primitive represented by the graphics data by the plurality of threads, wherein the processing by each thread, for each pixel in screen space covered by the graphics primitive, comprises: generating a color value for the graphics primitive at a sample location within the pixel specified by the sample index for the thread; and storing the color value in a particular frame buffer tile associated with the sample index for the thread. 12 . The method of claim 1 , wherein the processing by each thread, for each pixel in screen space covered by the graphics primitive, further comprises: generating a depth value for the graphics primitive at the sample location within the pixel specified by the sample index for the thread; and storing the depth value in the particular frame buffer tile associated with the sample index for the thread. 13 . The method of claim 1 , wherein the compositing node is configured to: decode the multi-sample image data to reconstruct a multi-sample frame buffer; and generate the target image by filtering the multi-sample frame buffer. 14 . The method of claim 13 , wherein the multi-sample frame buffer is reconstructed by decoding a plurality of encoded frame buffer tiles received from one or more rendering nodes based on a reference frame buffer tile. 15 . The method of claim 1 , wherein the compositing node is configured to: decode the multi-sample image data to reconstruct a multi-sample frame buffer; generate a first sub-image by filtering the multi-sample frame buffer; transmit the first sub-image to a second compositing node that is configured to generate the target image by combining the first sub-image with one or more additional sub-images from one or more additional compositing nodes. 16 . A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform steps comprising: receiving graphics data at a plurality of rendering nodes; rendering at least a portion of the graphics data by one or more rendering nodes to produce multi-sample image data, wherein the multi-sample image data comprises a plurality of values per pixel of a target image corresponding to a plurality of sample locations defined for each pixel of the target image; encoding the multi-sample image data using a difference encoding technique; and transmitting the encoded multi-sample image data to a compositing node. 17 . The non-transitory computer-readable storage medium of claim 16 , wherein the one or more rendering nodes comprises a first rendering node that is configured to: generate a plurality of frame buffer tiles that store the multi-sample image data, wherein each frame buffer tile corresponds to a different sample index in a plurality of sample indices that correspond to a plurality of sample locations for pixels of the target image; identify a reference frame buffer tile; and encode the plurality of frame buffer tiles based on the reference frame buffer tile using the difference encoding technique. 18 . The non-transitory computer-readable storage medium of claim 16 , wherein the one or more rendering nodes comprises at least two rendering nodes, and each rendering node in the two or more rendering nodes is configured to: generate one or more frame buffer tiles that store the multi-sample image data, wherein each frame buffer tile corresponds to a different sample index in a plurality of sample indices that correspond to a plurality of sample locations for pixels of the target image; identify a reference frame buffer
Scaling of whole images or parts thereof, e.g. expanding or contracting · CPC title
characterised by syntax aspects related to video coding, e.g. related to compression standards · CPC title
Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes · CPC title
Parallel processing · CPC title
Blending, e.g. for anti-aliasing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.