Method and apparatus for encoding based on importance values
Embodiments are generally directed to methods and apparatuses for encoding based on importance values. An embodiment of a computing system comprises: a graphics processing unit (GPU) to render a scene of a graphics application that includes a plurality of geometries into a color buffer within a frame buffer of the GPU; and an encoder to encode the content of the color buffer into a video bitstream based on a plurality of importance values that are assigned to each of the plurality of geometries.
1. A computing system, comprising:
one or more processors;
a memory coupled to the one or more processors, the one or more processors comprising a graphics processing unit (GPU) to render a scene of a graphics application that includes a plurality of geometries into a color buffer within a frame buffer of the GPU, wherein content of the color buffer is encoded, via an encoder, into a video bitstream based on a plurality of importance values that are predetermined and assigned to vertices of the plurality of geometries relating to one or more scenes associated with an application, wherein the plurality of geometries are rasterized into pixels associated with the color buffer, wherein the pixels in the color buffer are assigned one or more importance values higher than a threshold value associated with interested regions, wherein the plurality of importance values are stored in an importance buffer within the frame buffer.
2. The computing system of claim 1 , wherein pixels in the color buffer that are rasterized from each of the plurality of geometries being assigned the same plurality of importance values as the importance values of a corresponding geometry, wherein the encoder further to encode the content of the color buffer into the video bitstream by providing the interested regions with higher image quality while reducing image quality of uninterested regions, wherein the encoder is further to transmit the video bitstream to a remote device over a network between the remote device and the computing system.
3. The computing system of claim 1 , wherein the application includes a graphics application being a three-dimensional (3D) graphics application, wherein the plurality of importance values being received through an application programming interface (API) of the computing system.
4. The computing device of claim 1 , wherein first contents of the video bitstream corresponding to the interested regions are displayed with the higher image quality at a display device, while second contents of the video bitstream corresponding to the uninterested regions are compressed to preserve bandwidth.
5. A method for data processing, comprising:
rendering a scene of a graphics application that includes a plurality of geometries into a color buffer within a frame buffer of a graphics processing unit (GPU); and
encoding the content of the color buffer into a video bitstream based on a plurality of importance values that are predetermined and assigned to vertices of the plurality of geometries relating to one or more scenes associated with an application, wherein the plurality of geometries are rasterized into pixels associated with the color buffer, wherein the pixels in the color buffer are assigned one or more importance values higher than a threshold value associated with interested regions, wherein the plurality of importance values are stored in an importance buffer within the frame buffer.
6. The method of claim 5 , wherein pixels in the color buffer that are rasterized from each of the plurality of geometries being assigned the same plurality of importance values as the importance values of a corresponding geometry, wherein pixels in the color buffer that are assigned importance values higher than a threshold forming interested regions, wherein the encoder further to encode the content of the color buffer into the video bitstream by providing the interested regions with higher image quality while reducing image quality of uninterested regions.
7. The method of claim 5 , further comprising:
transmitting the video bitstream to a remote device over a network, wherein the graphics application being a three-dimensional (3D) graphics application, wherein the plurality of importance values being received through an application programming interface (API).
8. The method of claim 5 , wherein first contents of the video bitstream corresponding to the interested regions are displayed with the higher image quality at a display device, while second contents of the video bitstream corresponding to the uninterested regions are compressed to preserve bandwidth.
9. An apparatus comprising:
a graphics processing unit (GPU) to render a scene of a graphics application that includes a plurality of geometries into a color buffer within a frame buffer of the GPU;
an encoder to encode the content of the color buffer into a video bitstream based on a plurality of importance values that are predetermined and assigned to vertices of the plurality of geometries relating to one or more scenes associated with an application, wherein the plurality of geometries are rasterized into pixels associated with the color buffer, wherein the pixels in the color buffer are assigned one or more importance values higher than a threshold value associated with interested regions, wherein the plurality of importance values are stored in an importance buffer within the frame buffer; and
a memory coupled to the GPU.
10. The apparatus of claim 9 , wherein pixels in the color buffer that are rasterized from each of the plurality of geometries being assigned the same plurality of importance values as the importance values of a corresponding geometry, wherein the encoder further to encode the content of the color buffer into the video bitstream by providing the interested regions with higher image quality while reducing image quality of uninterested regions, wherein the encoder is further to transmit the video bitstream to a remote device over a network between the remote device and the computing system.
11. The apparatus of claim 9 , wherein the graphics application being a three-dimensional (3D) graphics application, wherein the plurality of importance values being received through an application programming interface (API) of the computing system.
12. The apparatus of claim 9 , wherein first contents of the video bitstream corresponding to the interested regions are displayed with the higher image quality at a display device, while second contents of the video bitstream corresponding to the uninterested regions are compressed to preserve bandwidth.
13. A non-transitory computer-readable medium having stored thereon instructions which, when executed, cause a computing device to perform operations comprising:
rendering a scene of a graphics application that includes a plurality of geometries into a color buffer within a frame buffer of a graphics processing unit (GPU); and
encoding the content of the color buffer into a video bitstream based on a plurality of importance values that are predetermined and assigned to vertices of the plurality of geometries relating to one or more scenes associated with an application, wherein the plurality of geometries are rasterized into pixels associated with the color buffer, wherein the pixels in the color buffer are assigned one or more importance values higher than a threshold value associated with interested regions, wherein the plurality of importance values are stored in an importance buffer within the frame buffer.
14. The non-transitory computer-readable medium of claim 13 , wherein pixels in the color buffer that are rasterized from each of the plurality of geometries being assigned the same plurality of importance values as the importance values of a corresponding geometry, wherein pixels in the color buffer that are assigned importance values higher than a threshold forming interested regions, wherein the encoder further to encode the content of the color buffer into the video bitstream by providing the interested regions with higher image quality while reducing image quality of uninterested regions.
15. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:
transmitting the video bitstream to a remote device over a network, wherein the graphics application being a three-dimensional (3D) graphics application, wherein the plurality of importance values being received through an application programming interface (API).
16. The non-transitory computer-readable medium of claim 13 , wherein first contents of the video bitstream corresponding to the interested regions are displayed with the higher image quality at a display device, while second contents of the video bitstream corresponding to the uninterested regions are compressed to preserve bandwidth.