Computing device for content adaptive video decoding
First Claim
1. A non-transitory computer-readable device having instructions stored which, when executed by a processor, cause the processor to perform operations for decoding a bitstream encoded via a plurality of encoders, the operations comprising:
- identifying, from the bitstream, a first portion of a video covering a first period of time in the video and a second portion of the video covering a second period of time in the video, wherein each of the first portion of the video and the second portion of the video comprises a plurality of entire video frames;
identifying the first portion of the video covering the first period of time as comprising a first degree of action associated with an action scene;
identifying the second portion of the video covering the second period of time as comprising a second degree of action associated with a slow scene;
identifying, for the first portion of the video, a first model chosen from a plurality of predefined models based on the first portion of the video being the action scene, wherein each of the plurality of predefined models comprises a coding model associated with a set of composition features used for generating one of the first portion or the second portion and wherein the coding model defines a coding tool for encoding and decoding a portion of the bitstream comprising the set of composition features;
identifying, for the second portion of the video, a second model chosen from the plurality of predefined models based on the second portion of the video being the slow scene;
routing the first portion of the video to a first decoder of a plurality of decoders based on the first model;
decoding the first portion of the video by the first decoder according to the first model;
routing the second portion of the video to a second decoder based on the second model, wherein the plurality of decoders comprises a generic decoder and wherein the routing of each of the first portion and the second portion of the video to one of the plurality of decoders comprises routing one of the first portion or the second portion to the generic decoder when one of the first portion or the second portion is associated with a generic model and when content of one of the first portion of the video or the second portion of the video does not match a predetermined model; and
decoding the second portion of the video by the second decoder according to the second model, wherein the first model and the second model are each a different model.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of content adaptive decoding is provided. The method involves receiving a bitstream encoded wherein video content is segmented into portions based on predefined classifications or models. Based on the segment classifications, each segment or portion is encoded with a different encoder chosen from a plurality of encoders. Each encoder is associated with a model. The chosen encoder is particularly suited to encoding the unique subject matter of the segment. The coded bit-stream for each segment includes information regarding which encoder was used to encode that segment. A matching decoder of a plurality of decoders is chosen using the information in the coded bitstream to decode each segment using a decoder suited for the classification or model of the segment. If scenes exist which do not fall in a predefined classification, or where classification is more difficult based on the scene content, these scenes are segmented, coded and decoded using a generic coder and decoder.
58 Citations
3 Claims
-
1. A non-transitory computer-readable device having instructions stored which, when executed by a processor, cause the processor to perform operations for decoding a bitstream encoded via a plurality of encoders, the operations comprising:
-
identifying, from the bitstream, a first portion of a video covering a first period of time in the video and a second portion of the video covering a second period of time in the video, wherein each of the first portion of the video and the second portion of the video comprises a plurality of entire video frames; identifying the first portion of the video covering the first period of time as comprising a first degree of action associated with an action scene; identifying the second portion of the video covering the second period of time as comprising a second degree of action associated with a slow scene; identifying, for the first portion of the video, a first model chosen from a plurality of predefined models based on the first portion of the video being the action scene, wherein each of the plurality of predefined models comprises a coding model associated with a set of composition features used for generating one of the first portion or the second portion and wherein the coding model defines a coding tool for encoding and decoding a portion of the bitstream comprising the set of composition features; identifying, for the second portion of the video, a second model chosen from the plurality of predefined models based on the second portion of the video being the slow scene; routing the first portion of the video to a first decoder of a plurality of decoders based on the first model; decoding the first portion of the video by the first decoder according to the first model; routing the second portion of the video to a second decoder based on the second model, wherein the plurality of decoders comprises a generic decoder and wherein the routing of each of the first portion and the second portion of the video to one of the plurality of decoders comprises routing one of the first portion or the second portion to the generic decoder when one of the first portion or the second portion is associated with a generic model and when content of one of the first portion of the video or the second portion of the video does not match a predetermined model; and decoding the second portion of the video by the second decoder according to the second model, wherein the first model and the second model are each a different model.
-
-
2. A method comprising:
-
identifying, by a processor and from a bitstream, a first portion of a video covering a first period of time in the video and a second portion of the video covering a second period of time in the video, wherein each of the first portion of the video and the second portion of the video comprises a plurality of entire video frames; identifying, by the processor, the first portion of the video covering the first period of time as comprising a first degree of action associated with an action scene; identifying, by the processor, the second portion of the video covering the second period of time as comprising a second degree of action associated with a slow scene; identifying, by the processor, for the first portion of the video, a first model chosen from a plurality of predefined models based on the first portion of the video being the action scene, wherein each of the plurality of predefined models comprises a coding model associated with a set of composition features used for generating one of the first portion or the second portion and wherein the coding model defines a coding tool for encoding and decoding a portion of the bitstream comprising the set of composition features; identifying, by the processor, for the second portion of the video, a second model chosen from the plurality of predefined models based on the second portion of the video being the slow scene; routing, by the processor, the first portion of the video to a first decoder of a plurality of decoders based on the first model; decoding, by the processor, the first portion of the video by the first decoder according to the first model; routing, by the processor, the second portion of the video to a second decoder based on the second model, wherein the plurality of decoders comprises a generic decoder and wherein the routing of each of the first portion and the second portion of the video to one of the plurality of decoders comprises routing one of the first portion or the second portion to the generic decoder when one of the first portion or the second portion is associated with a generic model and when content of one of the first portion of the video or the second portion of the video does not match a predetermined model; and decoding, by the processor, the second portion of the video by the second decoder according to the second model, wherein the first model and the second model are each a different model.
-
-
3. A device comprising:
-
memory having computer-readable instructions stored therein; and one or more processors configured to execute the computer-readable instructions to; identify, from a bitstream, a first portion of a video covering a first period of time in the video and a second portion of the video covering a second period of time in the video, wherein each of the first portion of the video and the second portion of the video comprises a plurality of entire video frames; identify the first portion of the video covering the first period of time as comprising a first degree of action associated with an action scene; identify the second portion of the video covering the second period of time as comprising a second degree of action associated with a slow scene; identify, for the first portion of the video, a first model chosen from a plurality of predefined models based on the first portion of the video being the action scene, wherein each of the plurality of predefined models comprises a coding model associated with a set of composition features used for generating one of the first portion or the second portion and wherein the coding model defines a coding tool for encoding and decoding a portion of the bitstream comprising the set of composition features; identify, for the second portion of the video, a second model chosen from the plurality of predefined models based on the second portion of the video being the slow scene; route the first portion of the video to a first decoder of a plurality of decoders based on the first model; decode the first portion of the video by the first decoder according to the first model; route the second portion of the video to a second decoder based on the second model, wherein the plurality of decoders comprises a generic decoder and wherein the one or more processors configured to execute the computer-readable instructions to route of each of the first portion and the second portion of the video to one of the plurality of decoders further routes one of the first portion or the second portion to the generic decoder when one of the first portion or the second portion is associated with a generic model and when content of one of the first portion of the video or the second portion of the video does not match a predetermined model; and decode the second portion of the video by the second decoder according to the second model, wherein the first model and the second model are each a different model.
-
Specification