Abstract:
Techniques are disclosed for managing memory allocations when coding video data according to multiple codec configurations. According to these techniques, devices may negotiate parameters of a coding session that include parameters of a plurality of different codec configurations that may be used during the coding session. A device may estimate sizes of decoded picture buffers for each of the negotiated codec configurations and allocate in its memory a portion of memory sized according to a largest size of the estimated decoded picture buffers. Thereafter, the devices may exchange coded video data. The exchange may involve decoding coded data of reference pictures and storing the decoded reference pictures in the allocated memory. During the coding session, the devices may toggle among the different negotiated codec configurations. As they do, reallocations of memory may be avoided.
Abstract:
Techniques for cropping images containing an occlusion are presented. A method for image editing is presented comprising, when an occlusion is detected in an original digital image, determining an area occupied by the occlusion, assigning importance scores to different content elements of the original digital image, defining a cropping window around an area of the original digital image that does not include the area occupied by the occlusion and that is based on the importance scores, and cropping the original digital image to the cropping window.
Abstract:
Techniques are disclosed for overcoming communication lag between interactive operations among devices in a streaming session. According to the techniques, a first device streaming video content to a second device and an annotation is entered to a first frame being displayed at the second device, which is communicated back to the first device. Responsive to a communication that identifies the annotation, a first device may identify an element of video content from the first frame to which the annotation applies and determine whether the identified element is present in a second frame of video content currently displayed at the first terminal. If so, the first device may display the annotation with the second frame in a location where the identified element is present. If not, the first device may display the annotation via an alternate technique.
Abstract:
Techniques are described for responding to changes in bandwidth that are available to transmit coded video data between an encoder and a decoder. When such changes in bandwidth occur, estimates may be derived of visual significance of coded video data that has not yet been transmitted and also video data that is next to be coded. These estimates may be compared to each other. When the estimated visual significance of the coded video data that has not yet been transmitted is greater than the estimated visual significance of the video data that is next to be coded, transmission of the coded video data that has not yet been transmitted may be prioritized over coding of the video data that is next to be coded. When the estimated visual significance of the video data that is next to be coded is greater than the estimated visual significance of the coded video data that has not yet been transmitted, coding of the video data that is next to be coded may be prioritized over transmission of the coded video data that has not yet been transmitted. Resources may be allocated to the prioritized coder operation.
Abstract:
Methods and apparatus for contextual video content adaptation are disclosed. Video content is adapted based on any number of criteria such as a target device type, viewing conditions, network conditions or various use cases, for example. A target adaptation of content may be defined for a specified video source. For example, based on receiving a request from a portable device for a live sports feed, a shortened and reduced resolution version of the live sport feed video may be defined for the portable device. The source content may be accessed and adapted (e.g., adapted temporally, spatially, etc.) and an adapted version of content generated. For example, the source content may be cropped to a particular spatial region of interest and/or reduced in length to a particular scene. The generated adaptation may be transmitted to a device in response to the request, or stored to a storage device.
Abstract:
An encoder may include a luma transform, a transformer, and a chroma transform. The luma transform may determine a linear luminance value based upon a plurality of primary color values of a pixel. The transformer may generate a transformed luminance value based upon the linear luminance value and a plurality of transformed color values based upon corresponding more than one of the primary color values of the pixel. The chroma transform may determine a plurality of chroma values based upon corresponding plurality of transformed color values and the transformed luminance value of the pixel.
Abstract:
A system may include a receiver, a decoder, a post-processor, and a controller. The receiver may receive encoded video data. The decoder may decode the encoded video data. The post-processor may perform post-processing on frames of decoded video sequence from the decoder. The controller may adjust post-processing of a current frame, based upon at least one condition parameters detected at the system.
Abstract:
Computing devices may implement dynamic detection of pause and resume for video communications. Video communication data may be capture at a participant device in a video communication. The video communication data may be evaluated to detect a pause or resume event for the transmission of the video communication data. Various types of video, audio, and other sensor analysis may be used to detect when a pause event or a resume event may be triggered. For triggered pause events, at least some of the video communication data my no longer be transmitted as part of the video communication. For triggered resume events, a pause state may cease and all of the video communication data may be transmitted.
Abstract:
Computing devices may implement dynamic display of video communication data. Video communication data for a video communication may be received at a computing device where another application is currently displaying image data on an electronic display. A display location may be determined for the video communication data according to display attributes that are configured by the other application at runtime. Once determined, the video communication data may then be displayed in the determined location. In some embodiments, the video communication data may be integrated with other data displayed on the electronic display for the other application.
Abstract:
A method and system of using a pre-encoder to improve encoder efficiency. The encoder may conform to ITU-T H.265 and the pre-encoder may conform to ITU-T H. 264. The pre-encoder may receive source video data and provide information regarding various coding modes, candidate modes, and a selected mode for coding the source video data. In an embodiment, the encoder may directly use the mode selected by the pre-encoder. In another embodiment, the encoder may receive both the source video data and information regarding the various coding modes (e.g., motion information, macroblock size, intra prediction direction, rate-distortion cost, and block pixel statistics) to simplify and/or refine its mode decision process. For example, the information provided by the pre-encoder may indicate unlikely modes, which unlikely modes need not be tested by the encoder, thus saving power and time.