Patent classifications
H04N19/40
OPTIMIZATION OF ENCODING PROFILES FOR MEDIA STREAMING
Techniques described herein are directed toward creating one or more “dynamic profiles” for media (video) streaming in which an encoding bit rate (and optionally other profile settings) is optimized for particular content. More specifically, techniques involve performing one or more “probe” encodings of the particular content to determine an encoding bit rate (and optionally other profile settings) that results in an encoding having a quality value sufficiently near (within a threshold) a target quality value.
OPTIMIZATION OF ENCODING PROFILES FOR MEDIA STREAMING
Techniques described herein are directed toward creating one or more “dynamic profiles” for media (video) streaming in which an encoding bit rate (and optionally other profile settings) is optimized for particular content. More specifically, techniques involve performing one or more “probe” encodings of the particular content to determine an encoding bit rate (and optionally other profile settings) that results in an encoding having a quality value sufficiently near (within a threshold) a target quality value.
Multiple Sign Bit Hiding Within a Transform Unit
Methods of encoding and decoding for video data are described for encoding or decoding coefficients for a transform unit. In particular, the sign bits for the non-zero coefficients are encoded using sign bit hiding. Two or more sets of coefficients are defined for the transform unit and a sign bit may be hidden for each set, subject to satisfaction of a threshold test. The sets may correspond to coefficient groups that are otherwise used in multi-level significance map encoding and decoding.
Multiple Sign Bit Hiding Within a Transform Unit
Methods of encoding and decoding for video data are described for encoding or decoding coefficients for a transform unit. In particular, the sign bits for the non-zero coefficients are encoded using sign bit hiding. Two or more sets of coefficients are defined for the transform unit and a sign bit may be hidden for each set, subject to satisfaction of a threshold test. The sets may correspond to coefficient groups that are otherwise used in multi-level significance map encoding and decoding.
DYNAMIC ENCODING PARAMETER ADJUSTMENT
The transcoding of a contribution feed into a plurality of output feeds in various formats can be monitored to ensure that unnecessary data is not transmitted in the contribution feed. Each output feed can be transcoded using respective values for a set of video format parameters. These values can be aggregated and analyzed to determine the lowest values for individual parameters that are being used for the various output feeds. A video encoder for the contribution feed can then dynamically modify the video format parameters used to encode the contribution feed in order to avoid encoding and transmitting data that is not actually used for these output streams, which can conserve resources such as network bandwidth, or enable those resources to be used more advantageously to send data that will actually result in higher quality video presentation in the output formats for current limitations or conditions.
DYNAMIC ENCODING PARAMETER ADJUSTMENT
The transcoding of a contribution feed into a plurality of output feeds in various formats can be monitored to ensure that unnecessary data is not transmitted in the contribution feed. Each output feed can be transcoded using respective values for a set of video format parameters. These values can be aggregated and analyzed to determine the lowest values for individual parameters that are being used for the various output feeds. A video encoder for the contribution feed can then dynamically modify the video format parameters used to encode the contribution feed in order to avoid encoding and transmitting data that is not actually used for these output streams, which can conserve resources such as network bandwidth, or enable those resources to be used more advantageously to send data that will actually result in higher quality video presentation in the output formats for current limitations or conditions.
Fragment-aligned audio coding
Audio video synchronization and alignment or alignment of audio to some other external clock are rendered more effective or easier by treating fragment grid and frame grid as independent values, but, nevertheless, for each fragment the frame grid is aligned to the respective fragment's beginning. A compression effectiveness lost may be kept low when appropriately selecting the fragment size. On the other hand, the alignment of the frame grid with respect to the fragments' beginnings allows for an easy and fragment-synchronized way of handling the fragments in connection with, for example, parallel audio video streaming, bitrate adaptive streaming or the like.
Fragment-aligned audio coding
Audio video synchronization and alignment or alignment of audio to some other external clock are rendered more effective or easier by treating fragment grid and frame grid as independent values, but, nevertheless, for each fragment the frame grid is aligned to the respective fragment's beginning. A compression effectiveness lost may be kept low when appropriately selecting the fragment size. On the other hand, the alignment of the frame grid with respect to the fragments' beginnings allows for an easy and fragment-synchronized way of handling the fragments in connection with, for example, parallel audio video streaming, bitrate adaptive streaming or the like.
Transcoding ultra-high-definition panoramic videos
In one example, a processing system including at least one processor may obtain viewport information of a mobile computing device associated with a panoramic video, map the viewport information to a plurality of blocks of a frame of the panoramic video in accordance with a cube map projection of the frame, encode the plurality of blocks into a projected frame, and transmit the projected frame to the mobile computing device. In another example, a processing system of a mobile computing device including at least one processor may obtain viewport information of the device associated with a panoramic video, transmit to a server the viewport information, obtain from the server a projected frame of the panoramic video comprising a plurality of blocks of a frame of the panoramic video that are associated with the viewport information in accordance with a cube map projection of the frame, and buffer the projected frame.
Transcoding ultra-high-definition panoramic videos
In one example, a processing system including at least one processor may obtain viewport information of a mobile computing device associated with a panoramic video, map the viewport information to a plurality of blocks of a frame of the panoramic video in accordance with a cube map projection of the frame, encode the plurality of blocks into a projected frame, and transmit the projected frame to the mobile computing device. In another example, a processing system of a mobile computing device including at least one processor may obtain viewport information of the device associated with a panoramic video, transmit to a server the viewport information, obtain from the server a projected frame of the panoramic video comprising a plurality of blocks of a frame of the panoramic video that are associated with the viewport information in accordance with a cube map projection of the frame, and buffer the projected frame.