# US 11,115,661 B2 · Low delay content disarm and reconstruction (CDR) of live streaming video

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,115,661 B2
- Document ID: US11115661B2
- Status: Granted
- Kind: B2
- Application number: 16/355,775
- Filed: 2019-03-17
- Published: 2020-09-17
- Granted: 2021-09-07
- Earliest claimed: 2019-03-17
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Ophir Azulai
- Web page: https://patentgrep.com/patent/US11115661B2

## CPC

- H04L 65/80: Responding to QoS
- H04N 19/124: Quantisation
- H04L 63/1441: {Countermeasures against malicious traffic (countermeasures against attacks on cryptographic mechanisms H04L9/002)}
- H04L 63/145: {the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms}
- H04L 65/70: Media network packetisation
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/40: using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04L 65/765: {intermediate}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of disarming and reconstructing an encoded video stream to nullify malicious agents potentially embedded in the encoded video stream comprising decoding a received encoded video stream to obtain a decoded video stream, extracting, from the encoded video stream, encoding information calculated by an originating encoder to create the encoded video stream, adjusting the encoding information by replacing one or more quantization parameters defined in the encoding information with respective adjusted quantization parameter(s) calculated based on a random selection of a value from a range of quantization parameter values, encoding the decoded video stream using the adjusted encoding information to produce a modified encoded video stream and transmitting the modified encoded video stream.

## Claims

### Claim 1

A method of decoding and re-encoding an encoded video stream to nullify malicious agents potentially embedded in the encoded video stream, comprising:
using at least one processor for removing or altering malicious agents potentially embedded in the encoded video stream, by:
decoding a received encoded video stream to obtain a decoded video stream;
extracting, from the encoded video stream, encoding information calculated by an originating encoder to create the encoded video stream,
wherein the encoding information calculated by the originating encoder includes motion estimation of motion vectors, quantization parameters, and macroblock types;
adjusting the encoding information by replacing at least one quantization parameter defined in the encoding information with a respective adjusted quantization parameter calculated based on a random selection of a value from a pre-defined range of quantization parameter values, wherein the value randomly selected being utilized during encoding for introducing randomness to a structure of an output video stream encoded using the adjusted encoding information thereby preventing predictability of the structure, wherein the pre-defined range being configured to prevent quality degradation of the output video stream compared to the received encoded video stream,
wherein said encoding being performed using the encoding information calculated by the originating encoder and extracted from the encoded video stream, without motion estimation calculations being conducted for producing the modified encoded video stream;
encoding the decoded video stream using the adjusted encoding information to produce a modified encoded video stream, encoded in a same encoding protocol as an encoding protocol of the received encoded video stream; and
transmitting the modified encoded video stream.

### Claim 2 (depends on 1)

The method of claim 1, wherein the received encoded video stream extracted from a received transport stream encapsulating the encoded video stream.

### Claim 3 (depends on 1)

The method of claim 1, wherein the modified encoded video stream is encapsulated in an output transport stream.

### Claim 4 (depends on 1)

The method of claim 1, wherein the encoding information includes motion vectors, quantization parameters and macroblock types generated by the originating encoder for a plurality of frames encoded in the encoded video stream.

### Claim 5 (depends on 1)

The method of claim 1, wherein the quantization parameter value of the respective adjusted quantization is equal or lower than the quantization parameter value of the at least one quantization parameter.

### Claim 6

A system for decoding and re-encoding an encoded video stream to nullify malicious agents potentially embedded in the encoded video stream, comprising:
at least one processor executing a code for removing or altering malicious agents potentially embedded in the encoded video stream, the code comprising:
code instructions to decode a received encoded video stream to obtain a decoded video stream;
code instructions to extract, from the encoded video stream, encoding information calculated by an originating encoder to create the encoded video stream,
wherein the encoding information calculated by the originating encoder includes motion estimation of motion vectors, quantization parameters, and macroblock types;
code instructions to adjust the encoding information by replacing at least one quantization parameter defined in the encoding information with a respective adjusted quantization parameter calculated based on a random selection of a value from a pre-defined range of quantization parameter values, wherein the value randomly selected being utilized during encoding for introducing randomness to a structure of an output video stream encoded using the adjusted encoding information thereby preventing predictability of the structure, wherein the pre-defined range being configured to prevent quality degradation of the output video stream compared to the received encoded video stream,
wherein said encoding being performed using the encoding information calculated by the originating encoder and extracted from the encoded video stream, without motion estimation calculations being conducted for producing the modified encoded video stream;
code instructions to encode the decoded video stream using the adjusted encoding information to produce a modified encoded video stream, encoded in a same encoding protocol as an encoding protocol of the received encoded video stream; and
code instructions to transmit the modified encoded video stream.

### Claim 7 (depends on 6)

The system of claim 6, wherein the received encoded video stream extracted from a received transport stream encapsulating the encoded video stream.

### Claim 8 (depends on 6)

The system of claim 6, wherein the modified encoded video stream is encapsulated in an output transport stream.

### Claim 9 (depends on 6)

The system of claim 6, wherein the encoding information includes motion vectors, quantization parameters and macroblock types generated by the originating encoder for a plurality of frames encoded in the encoded video stream.

### Claim 10 (depends on 6)

The system of claim 6, wherein the quantization parameter value of the respective adjusted quantization is equal or lower than the quantization parameter value of the at least one quantization parameter.

### Claim 11

A computer program product for decoding and re-encoding an encoded video stream to nullify malicious agents potentially embedded in the encoded video stream, comprising:
a non-transitory computer readable storage medium storing a plurality of program instructions for removing or altering malicious agents potentially embedded in the encoded video stream, said plurality of program instructions comprising:
first program instructions for decoding a received encoded video stream to obtain a decoded video stream;
second program instructions for extracting, from the encoded video stream, encoding information calculated by an originating encoder to create the encoded video stream,
wherein the encoding information calculated by the originating encoder includes motion estimation of motion vectors, quantization parameters, and macroblock types;
third program instructions for adjusting the encoding information by replacing at least one quantization parameter defined in the encoding information with a respective adjusted quantization parameter calculated based on a random selection of a value from a pre-defined range of quantization parameter values, wherein the value randomly selected being utilized during encoding for introducing randomness to a structure of an output video stream encoded using the adjusted encoding information thereby preventing predictability of the structure, wherein the pre-defined range being configured to prevent quality degradation of the output video stream compared to the received encoded video stream,
wherein said encoding being performed using the encoding information calculated by the originating encoder and extracted from the encoded video stream, without motion estimation calculations being conducted for producing the modified encoded video stream;
fourth program instructions for encoding the decoded video stream using the adjusted encoding information to produce a modified encoded video stream, encoded in a same encoding protocol as an encoding protocol of the received encoded video stream; and
fifth program instructions for transmitting the modified encoded video stream;
wherein the first, second, third, fourth and fifth program instructions are executed by at least one processor from the non-transitory computer readable storage medium.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the received encoded video stream extracted from a received transport stream encapsulating the encoded video stream.

### Claim 13 (depends on 11)

The computer program product of claim 11, wherein the modified encoded video stream is encapsulated in an output transport stream.

### Claim 14 (depends on 11)

The computer program product of claim 11, wherein the encoded video stream is a live encoded video stream portraying a live event.

### Claim 15 (depends on 11)

The computer program product of claim 11, wherein the encoding information includes motion vectors, quantization parameters and macroblock types generated by the originating encoder for a plurality of frames encoded in the encoded video stream.

### Claim 16 (depends on 11)

The computer program product of claim 11, wherein the quantization parameter value of the respective adjusted quantization is equal or lower than the quantization parameter value of the at least one quantization parameter.

### Claim 17 (depends on 1)

The method of claim 1, wherein said encoding being performed using the encoding information calculated by an originating encoder and extracted from the encoded video stream, without motion estimation calculations being conducted for producing the modified encoded video stream.

### Claim 18 (depends on 6)

The system of claim 6, wherein the modified encoded video stream being produced using the encoding information calculated by an originating encoder and extracted from the encoded video stream, without motion estimation calculations being conducted for producing thereof.

### Claim 19 (depends on 11)

The computer program product of claim 11, wherein the modified encoded video stream being produced using the encoding information calculated by an originating encoder extracted from the encoded video stream, without motion estimation calculations being conducted for producing thereof.

### Claim 20 (depends on 1)

The method of claim 1, wherein the adjusted quantization parameter being calculated under a maximum bitrate constraint.
