Adaptive foveated encoder and global motion predictor
An embodiment of an adaptive video encoder may include technology to determine headset-related information including at least one of focus-related information and motion-related information, and determine one or more video encode parameters based on the headset-related information. The adaptive video encoder may also encode a macroblock of a video image based on the one or more determined video encode parameters. Other embodiments are disclosed and claimed.
1 . One or more non-transitory computer-readable media storing instructions executable to perform operations for producing a video, the video comprising an encoded frame that includes a focus region and a region having a lower quality than the focus region, the operations comprising:
analyzing encoding statistics of one or more previously encoded frames, wherein the encoding statistics correspond to a focus region of each of the one or more previously encoded frames, wherein the encoding statistics indicate a number of bits that are used to encode each of the one or more previously encoded frames;
determining one or more encoding parameters for a frame based on the encoding statistics of the one or more previously encoded frames; and
generating the encoded frame by encoding the frame using the one or more encoding parameters.
2 . The one or more non-transitory computer-readable media of claim 1 , wherein determining the one or more encoding parameters for the frame comprises:
determining the one or more encoding parameters for the frame further based on a threshold encoding parameter.
3 . The one or more non-transitory computer-readable media of claim 1 , wherein determining the one or more encoding parameters for the frame comprises:
determining the one or more encoding parameters for the frame further based on a bandwidth or bit rate of a wireless connection used for streaming the encoded video.
4 . The one or more non-transitory computer-readable media of claim 1 , wherein the one or more encoding parameters for the frame comprise a first encoding parameter for a first portion of the frame and a second encoding parameter for a second portion of the frame, and the first encoding parameter is different from the second encoding parameter.
5 . The one or more non-transitory computer-readable media of claim 1 , wherein encoding the frame using the one or more encoding parameters comprising:
encoding the frame using the one or more encoding parameters and a hardware encoder.
6 . The one or more non-transitory computer-readable media of claim 1 , wherein the encoded video is used in a virtual reality system.
7 . A headset comprising:
one or more non-transitory computer-readable media storing instructions executable to perform operations for producing a video, the video comprising an encoded frame that includes a focus region and a region having a lower quality than the focus region, the operations comprising:
analyzing encoding statistics of one or more previously encoded frames, wherein the encoding statistics correspond to a focus region of each of the one or more previously encoded frames, wherein the encoding statistics indicate a number of bits that are used to encode each of the one or more previously encoded frames,
determining one or more encoding parameters for a frame based on the encoding statistics of the one or more previously encoded frames, and
generating the encoded frame by encoding the frame using the one or more encoding parameters; and
a display device to display the video.
8 . The headset of claim 7 , wherein determining the one or more encoding parameters for the frame comprises:
determining the one or more encoding parameters for the frame further based on a threshold encoding parameter.
9 . The headset of claim 7 , wherein determining the one or more encoding parameters for the frame comprises:
determining the one or more encoding parameters for the frame further based on a bandwidth or bit rate of a wireless connection used for streaming the encoded video.
10 . The headset of claim 7 , wherein the one or more one or more encoding parameters for the frame comprise a first encoding parameter for a first portion of the frame and a second encoding parameter for a second portion of the frame, and the first encoding parameter is different from the second encoding parameter.
11 . The headset of claim 7 , wherein encoding the frame using the one or more encoding parameters comprising:
encoding the frame using the one or more encoding parameters and a hardware encoder.
12 . The headset of claim 7 , wherein the encoded video is used in a virtual reality system.
13 . A head-mounted display comprising:
one or more non-transitory computer-readable media storing instructions executable to perform operations for producing a video, the video comprising an encoded frame that includes a focus region and a region having a lower quality than the focus region, the operations comprising:
analyzing encoding statistics of one or more previously encoded frames, wherein the encoding statistics correspond to a focus region of each of the one or more previously encoded frames, wherein the encoding statistics indicate a number of bits that are used to encode each of the one or more previously encoded frames,
determining one or more encoding parameters for a frame based on the encoding statistics of the one or more previously encoded frames, and
generating the encoded frame by encoding the frame using the one or more encoding parameters; and
a sensor to collect focus-related information, the focus region identified based on the focus-related information.
14 . The head-mounted display of claim 13 , wherein determining the one or more encoding parameters for the frame comprises:
determining the one or more encoding parameters for the frame further based on a threshold encoding parameter.
15 . The head-mounted display of claim 13 , wherein determining the one or more encoding parameters for the frame comprises:
determining the one or more encoding parameters for the frame further based on a bandwidth or bit rate of a wireless connection used for streaming the encoded video.
16 . The head-mounted display of claim 13 , wherein the one or more one or more encoding parameters for the frame comprise a first encoding parameter for a first portion of the frame and a second encoding parameter for a second portion of the frame, and the first encoding parameter is different from the second encoding parameter.
17 . The head-mounted display of claim 13 , wherein encoding the frame using the one or more encoding parameters comprising:
encoding the frame using the one or more encoding parameters and a hardware encoder.