Abstract:
In one example, a video coder is configured to code a first slice, wherein the first slice comprises one of a texture slice and a corresponding depth slice, wherein the first slice has a slice header comprising complete syntax elements representative of characteristics of the first slice. The video coder is further configured to determine common syntax elements for a second slice from the slice header of the first slice. The video coder is also configured to code the second slice after coding the first slice at least partially based on the determined common syntax elements, wherein the second slice comprises one of the texture slice and the depth slice that is not the first slice, wherein the second slice has a slice header comprising syntax elements representative of characteristics of the second slice, excluding values for syntax elements that are common to the first slice.
Abstract:
In an example, aspects of this disclosure relate to a method of coding video data that includes identifying a plurality of quantization parameter (QP) values associated with a plurality of reference blocks of video data. The method also includes generating a reference QP for the plurality of reference blocks based on the plurality of QPs. The method also includes storing the reference QP, and coding a block of video data based on the stored reference QP.
Abstract:
In one example, a device for coding video data includes a video coder configured to code, for a bitstream, information representative of which of a plurality of video coding dimensions are enabled for the bitstream, and code values for each of the enabled video coding dimensions, without coding values for the video coding dimensions that are not enabled, in a network abstraction layer (NAL) unit header of a NAL unit comprising video data coded according to the values for each of the enabled video coding dimensions. In this manner, NAL unit headers may have variable lengths, while still providing information for scalable dimensions to which the NAL units correspond.
Abstract:
During a video encoding or decoding process, a predicted prediction block is generated for a CU. The CU may have two or more prediction units (PUs). A computing device selects a neighbor region size. After the computing device selects the neighbor region size, samples in a transition zone of the prediction block are identified. Samples associated with a first PU are in the transition zone if neighbor regions that contain the samples also contain samples associated with a second PU. Samples associated with the second PU may be in the transition zone if neighbor regions that contain the samples also contain samples associated with the first PU. The neighbor regions have the selected neighbor region size. A smoothing operation is then performed on the samples in the transition zone.
Abstract:
For each prediction unit (PU) belonging to a coding unit (CU), a video coder generates a candidate list. The video coder generates the candidate list such that each candidate in the candidate list that is generated based on motion information of at least one other PU is generated without using motion information of any of the PUs belonging to the CU. After generating the candidate list for a PU, the video coder generates a predictive video block for the PU based on one or more reference blocks indicated by motion information of the PU. The motion information of the PU is determinable based on motion information indicated by a selected candidate in the candidate list for the PU.
Abstract:
In an example, aspects of this disclosure relate to a method of coding video data that generally includes determining prediction information for a block of video data, where the block is included in a coded unit of video data and positioned below a top row of above-neighboring blocks in the coded unit, and where the prediction information for the block is based on prediction information from one or more other blocks in the coded unit but not based on prediction information from any of the top row of blocks in the coded unit. The method also generally includes coding the block based on the determined prediction information.
Abstract:
In one example, an apparatus includes a video encoder configured to partition a block of video data into a first geometric partition and a second geometric partition using a geometric motion partition line, wherein the block comprises N×N pixels, divide the block of video data into four equally-sized, non-overlapping (N/2)×(N/2) sub-blocks, and encode at least one of the sub-blocks through which the geometric motion partition line passes using a transform size smaller than (N/2)×(N/2). The video encoder may determine transform sizes for the sub-blocks based on whether the geometric motion partition line passes through the sub-blocks. In one example, a video decoder may inverse transform the sub-blocks, and may determine transform sizes for the sub-blocks based on whether the geometric motion partition line passes through the sub-blocks.
Abstract:
This disclosure describes techniques for coding 3D video block units. In one example, a video encoder is configured to receive one or more texture components from at least a portion of an image representing a view of three dimensional video data, receive a depth map component for at least the portion of the image, code a block unit indicative of pixels of the one or more texture components for a portion of the image and the depth map component. The coding comprises receiving texture data for a temporal instance of a view of video data, receiving depth data corresponding to the texture data for the temporal instance of the view of video data, and encapsulating the texture data and the depth data in a view component for the temporal instance of the view, such that the texture data and the depth data are encapsulated within a common bitstream.
Abstract:
This disclosure describes techniques relevant to HTTP streaming of media data. According to these techniques, a server device may signal a byte range for at least one intra-decodable (I-frame) of a video fragment. According to the techniques of this disclosure, a client device may communicate a request to a server device to retrieve the at least one I-frame based on the signaled byte range, and use the retrieved I-frame to provide a high speed version of a video presentation that includes the at least one I-frame. A high speed version of a video presentation may be a trick mode of the video presentation, such as a fast forward or fast rewind version of the video presentation.
Abstract:
In an example, aspects of this disclosure relate to a method of coding data that includes coding a sequence of bins according to a context adaptive entropy coding process. A current coding cycle used to code at least one bin of the sequence of bins includes determining a context for the bin; selecting a probability model based on the context, wherein the probability model is updated based on a value of a previous bin coded with the context and coded at least two coding cycles prior to the current coding cycle; applying the probability model to code the bin; and updating the probability model based on a value of the bin.