Patent ID: 8290036

Claim:
A system for concurrent delivery of a plurality of video streams comprising: a classifier to receive at least one incoming video stream, to segment said incoming video stream into a plurality of video segments and to associate each of said video segments with a respective content identifier; a controller to select video segments for bitrate reduction; at least one transcoder to transcode said selected video segments to a target bitrate; a cache memory to store transcoded video segments; and a transmitter to transmit at least said transcoded video segments, wherein if a transcoded video segment is found in said cache memory, said controller is to send said cached transcoded video segment to the transmitter for transmission, and wherein if said transcoded video segment is not found in said cache memory, said controller is to send said video segment to said transcoder for bitrate reduction, and wherein said controller is further is to: monitor the total bitrate of outgoing video streams by said transmitter, and to compare said total bitrate to a threshold, and if said transcoded video segment is found in said cache memory, send said cached transcoded video segment to said transmitter for transmission, and if said transcoded video segment is not found in said cache memory, send said video segment to said transcoder for bitrate reduction and wherein storage of said transcoded video segments in said cache memory is indexed by said content identifier and transcoding bitrate; wherein said selection of video segments for transcoding and a determination of target bitrate for transcoding of said selected video segments are based at least on said comparison, and wherein upon selection of a video segment for transcoding said controller is further to search said cache memory for transcoded segments having a content identifier matching the content identifier of said selected video segment.