Distributed and parallel video stream encoding and transcoding
AssigneeIntel Corporation
InventorsYi Zou, Gang Shen, Jun Tian
Life of this patent
Estimating the term…
Abstract
In one embodiment, an apparatus comprises processing circuitry to: receive, via a communication interface, a frame of a video stream; determine a number of subframes to be encoded in parallel for the frame; partition the frame into a plurality of subframes based on the number of subframes to be encoded in parallel; and send, via the communication interface, the plurality of subframes to a cluster of encoding servers, wherein the cluster of encoding servers is to encode the plurality of subframes in parallel, and wherein each subframe of the plurality of subframes is to be encoded by a particular encoding server of the cluster of encoding servers.
Claims25
An apparatus, comprising:
- a communication interface;
- and
- processing circuitry to:
- receive, via the communication interface, a frame of a video stream;
- determine a number of subframes to be encoded in parallel for the frame;
- partition the frame into a plurality of subframes based on the number of subframes to be encoded in parallel;
- and
- send, via the communication interface, the plurality of subframes to a cluster of encoding servers, wherein the cluster of encoding servers is to encode the plurality of subframes in parallel, and wherein each subframe of the plurality of subframes is to be encoded by a particular encoding server of the cluster of encoding servers.
At least one non-transitory machine accessible storage medium having instructions stored thereon, wherein the instructions, when executed on a machine, cause the machine to:
- receive, via a communication interface, a frame of a video stream;
- determine a number of subframes to be encoded in parallel for the frame;
- partition the frame into a plurality of subframes based on the number of subframes to be encoded in parallel;
- and
- send, via the communication interface, the plurality of subframes to a cluster of encoding servers, wherein the cluster of encoding servers is to encode the plurality of subframes in parallel, and wherein each subframe of the plurality of subframes is to be encoded by a particular encoding server of the cluster of encoding servers.
A method, comprising:
- receiving, via a communication interface, a frame of a video stream;
- determining a number of subframes to be encoded in parallel for the frame;
- partitioning the frame into a plurality of subframes based on the number of subframes to be encoded in parallel;
- and
- sending, via the communication interface, the plurality of subframes to a cluster of encoding servers, wherein the cluster of encoding servers is to encode the plurality of subframes in parallel, and wherein each subframe of the plurality of subframes is to be encoded by a particular encoding server of the cluster of encoding servers.
A system, comprising:
- a frame chunking server, wherein the frame chunking server comprises circuitry to:
- receive, via a network, a frame of a video stream;
- determine a number of subframes to be encoded in parallel for the frame;
- partition the frame into a plurality of subframes based on the number of subframes to be encoded in parallel;
- and
- send, via the network, the plurality of subframes to a cluster of encoding servers;
- and
- the cluster of encoding servers, wherein the cluster of encoding servers comprises circuitry to:
- receive, via the network, the plurality of subframes from the frame chunking server;
- encode the plurality of subframes into a plurality of encoded subframes using one or more video codecs, wherein the plurality of subframes is to be encoded by the cluster of encoding servers in parallel, and wherein each subframe of the plurality of subframes is to be encoded by a particular encoding server of the cluster of encoding servers;
- and
- send, via the network, the plurality of encoded subframes to a network destination corresponding to the video stream.
Dependencies are inferred from the claim text.