360 neighbor-based quality selector, range adjuster, viewport manager, and motion estimator for graphics
First Claim
1. An electronic processing system, comprising:
- a display processor to generate image data for a display;
a memory communicatively coupled to the display processor to store a two-dimensional (2D) frame which corresponds to a projection from a 360 video space;
a quality selector communicatively coupled to the display processor to;
determine a plurality of quantization parameters for a plurality of blocks of the 2D frame based on a budget to support a target bit-rate, wherein at least two of the quantization parameters are different from each other,determine a first quantization parameter for a first block of the 2D frame based on the budget,determine that the first block is a neighbor of each of the plurality of blocks in one or more of the 360 video space or the 2D frame, andin response to the first block being determined to be the neighbor of each of the plurality of blocks in the one or more of the 360 video space or the 2D frame, determine an average of the plurality of quantization parameters and adjust the first quantization parameter based on the average, wherein at least one of the plurality of blocks is a neighbor of the first block only in the 360 video space;
a range adjuster communicatively coupled to the display processor to adjust a search range for the 2D frame based on a search area of the 2D frame; and
a viewport manager communicatively coupled to the display processor to determine if a request for a viewport of the 2D frame extends beyond a first edge of the 2D frame and to fill the requested viewport with wrap-around image information.
1 Assignment
0 Petitions
Accused Products
Abstract
An embodiment may include a display processor, memory to store a 2D frame corresponding to a projection from a 360 video, and a quality selector to select a quality factor for a block of the 2D frame based on quality information from neighboring blocks of the 2D frame, including blocks which are neighboring only in the 360 video space. The system may also include a range adjuster to adjust a search range for the 2D frame based on a search area of the 2D frame, a viewport manager to determine if a request for a viewport of the 2D frame extends beyond a first edge of the 2D frame and to fill the requested viewport with wrap-around image information, and/or a motion estimator to estimate motion information based on both color information and depth information. Other embodiments are disclosed and claimed.
54 Citations
19 Claims
-
1. An electronic processing system, comprising:
-
a display processor to generate image data for a display; a memory communicatively coupled to the display processor to store a two-dimensional (2D) frame which corresponds to a projection from a 360 video space; a quality selector communicatively coupled to the display processor to; determine a plurality of quantization parameters for a plurality of blocks of the 2D frame based on a budget to support a target bit-rate, wherein at least two of the quantization parameters are different from each other, determine a first quantization parameter for a first block of the 2D frame based on the budget, determine that the first block is a neighbor of each of the plurality of blocks in one or more of the 360 video space or the 2D frame, and in response to the first block being determined to be the neighbor of each of the plurality of blocks in the one or more of the 360 video space or the 2D frame, determine an average of the plurality of quantization parameters and adjust the first quantization parameter based on the average, wherein at least one of the plurality of blocks is a neighbor of the first block only in the 360 video space; a range adjuster communicatively coupled to the display processor to adjust a search range for the 2D frame based on a search area of the 2D frame; and a viewport manager communicatively coupled to the display processor to determine if a request for a viewport of the 2D frame extends beyond a first edge of the 2D frame and to fill the requested viewport with wrap-around image information. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A graphics apparatus, comprising:
-
an encoder to encode a plurality of blocks of a two-dimensional (2D) frame based on a plurality of quantization parameters, where the 2D frame corresponds to a projection of a 360 video space, wherein at least two of the quantization parameters are different from each other; and a quality selector communicatively coupled to the encoder to; determine the plurality of quantization parameters for the plurality of blocks based on a budget to support a target bit-rate, determine a first quantization parameter for a first block of the 2D frame based on the budget, determine that the first block is a neighbor of each of the plurality of blocks in one or more of the 360 video space or the 2D frame, wherein at least one of the plurality of blocks is a neighbor of the first block only in the 360 video space, and in response to the first block being determined to be the neighbor of each of the plurality of blocks in the one or more of the 360 video space or the 2D frame, determine an average of the plurality of quantization parameters and adjust the first quantization parameter based on the average. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of processing a 360 video, comprising:
-
encoding a plurality of blocks of a two-dimensional (2D) frame based on a plurality of quantization parameters, where the 2D frame corresponds to a projection of a 360 video space, wherein at least two of the quantization parameters are different from each other; determining the plurality of quantization parameters for the plurality of blocks based on a budget to support a target bit-rate; determining a first quantization parameter for a first block of the 2D frame based on the budget; determining that the first block is a neighbor of each of the plurality of blocks in one or more of the 360 video space or the 2D frame, wherein at least one of the plurality of blocks is a neighbor of the first block only in the 360 video space; and in response to the first block being determined to be the neighbor of each of the plurality of blocks in the one or more of the 360 video space or the 2D frame, determining an average of the plurality of quantization parameters and adjusting the first quantization parameter based on the average. - View Dependent Claims (15, 16)
-
-
17. At least one non-transitory computer readable medium, comprising a set of instructions, which when executed by a computing device cause the computing device to:
-
encode a plurality of blocks of a two-dimensional (2D) frame based on a plurality of quantization parameters, where the 2D frame corresponds to a projection of a 360 video space, wherein at least two of the quantization parameters are different from each other; determine the plurality of quantization parameters for the plurality of blocks based on a budget to support a target bit-rate; determine a first quantization parameter for a first block of the 2D frame based on the budget; determine that the first block is a neighbor of each of the plurality of blocks in one or more of the 360 video space or the 2D frame, wherein at least one of the plurality of blocks is a neighbor of the first block only in the 360 video space; and in response to the first block being determined to be the neighbor of each of the plurality of blocks in the one or more of the 360 video space or the 2D frame, determine an average of the plurality of quantization parameters and adjust the first quantization parameter based on the average. - View Dependent Claims (18, 19)
-
Specification