# US 11,451,604 B2 · Video transcoding method and apparatus, a server system, and storage medium

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

- Number: US 11,451,604 B2
- Document ID: US11451604B2
- Status: Granted
- Kind: B2
- Application number: 16/428,238
- Filed: 2019-05-31
- Published: 2019-10-17
- Granted: 2022-09-20
- Earliest claimed: 2017-08-03
- Assignees: Tencent Technology (Shenzhen) Company Limited
- Applicants: Tencent Technology (Shenzhen) Company Limited
- Inventors: Zhi Qin; Guimin Chen
- Web page: https://patentgrep.com/patent/US11451604B2

## CPC

- H04L 65/756: adapting media to device capabilities
- H04L 65/70: Media network packetisation
- H04L 65/752: adapting media to network capabilities
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04L 65/765: {intermediate}
- H04N 21/234: Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N 21/23418: {involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/23424: {involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement}
- H04N 21/2343: involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements {(video transcoding H04N19/40; media packet handling at the source H04L65/762)}
- H04N 21/234309: {by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo (conversion of standards in analog television systems H04N7/01)}
- H04N 21/234363: {by altering the spatial resolution, e.g. for clients with a lower screen resolution}
- H04N 21/23439: {for generating different versions}
- H04N 21/8358: involving watermark {(protecting executable software by watermarking G06F21/16; image watermarking in general G06T1/0021; watermarks inserted in still images for transmission purposes H04N1/32144; inserting watermarks during video coding H04N19/467)}
- H04N 21/845: Structuring of content, e.g. decomposing content into time segments
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Aspects of the disclosure provide a method and a server system for transcoding a video source file into multiple target formats. The server system includes a first server configured to receive a first video chunk of the video source file and first attribute parameters corresponding to the first video chunk and a first target format of the multiple target formats where the first video chunk is transcoded into the first target format. The first attribute parameters include a first precoding parameter for the first video chunk and a first coding parameter for the first target format. The first server can process the first video chunk according to the first precoding parameter to obtain a first intermediate coding result and code the first intermediate coding result according to the first coding parameter to obtain a first final coding result in the first target format and output the first final coding result.

## Claims

### Claim 1

A method for transcoding a video source file into multiple target formats, comprising:
dividing the video source file into multiple video chunks that include the first video chunk;
generating a plurality of transcoding tasks according to the multiple video chunks and the multiple target formats, each of the plurality of transcoding tasks being for transcoding one of the multiple video chunks according to corresponding attribute parameters that correspond to the one of the multiple video chunks and one of the multiple target formats, the corresponding attribute parameters including a corresponding precoding parameter for each of the multiple video chunks, wherein each of the multiple video chunks have independently settable precoding parameters;
receiving, by a first server implemented by processing circuitry of a server system, a first video chunk of the multiple video chunks and first attribute parameters corresponding to the first video chunk and a first target format of the multiple target formats, the first attribute parameters including a first precoding parameter for the first video chunk and a first coding parameter for the first target format, the first video chunk to be transcoded into the first target format;
processing, by the first server, the first video chunk based on the first precoding parameter for the first video chunk to generate a first intermediate coding result used to generate the multiple target formats of the first video chunk;
after processing the first video chunk according to the first precoding parameter, coding, by the first server, the first intermediate coding result according to the first coding parameter for the first target format to obtain a first final coding result in the first target format; and
outputting the first final coding result.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
receiving, by a second server implemented by the processing circuitry, a second video chunk of the multiple video chunks and second attribute parameters of the attribute parameters corresponding to the second video chunk and the first target format, the second attribute parameters including a second precoding parameter for the second video chunk and the first coding parameter for the first target format, the second video chunk to be transcoded into the first target format;
processing, by the second server, the second video chunk according to the second precoding parameter for the second video chunk to obtain a second intermediate coding result;
coding, by the second server, the second intermediate coding result according to the first coding parameter for the first target format to obtain a second final coding result; and
outputting the second final coding result.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
receiving, by a second server implemented by the processing circuitry, the first video chunk and second attribute parameters corresponding to the first video chunk and a second target format of the multiple target formats, the second attribute parameters including the first precoding parameter for the first video chunk and a second coding parameter for the second target format, the first video chunk to be transcoded into the second target format;
processing, by the second server, the first video chunk according to the first precoding parameter for the first video chunk to obtain the first intermediate coding result;
coding, by the second server, the first intermediate coding result according to the second coding parameter for the second target format to obtain a second final coding result; and
outputting the second final coding result.

### Claim 4 (depends on 2)

The method according to claim 2, further comprising:
generating a merging task when the multiple video chunks have been transcoded according to the first target format, the merging task including final coding results corresponding to the first target format, target format information of the first target format, and time information of the multiple video chunks, the final coding results including the first final coding result and the second final coding result.

### Claim 5 (depends on 4)

The method according to claim 4, further comprising:
receiving the merging task;
merging the final coding results according to the time information to obtain a target video file in the first target format; and
outputting the target video file.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the generating the plurality of transcoding tasks comprises:
determining the corresponding precoding parameter for each of the multiple video chunks according to an identifier of the respective video chunk;
determining a coding parameter for each of the multiple target formats according to the respective target format; and
generating each of the plurality of transcoding tasks according to the corresponding precoding parameter, the coding parameter corresponding to the respective target format, and the respective video chunk.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the determining the precoding parameter comprises:
determining position information of the respective video chunk in the video source file according to the identifier of the respective video chunk; and
determining the corresponding precoding parameter of the respective video chunk according to the position information.

### Claim 8 (depends on 7)

The method according to claim 7, wherein the determining the corresponding precoding parameter according to the position information comprises:
obtaining a precoding code rate and a customized parameter for processing the video source file, the customized parameter including at least one of a video opening-credit file, a video closing-credit file, and watermark information.

### Claim 9 (depends on 8)

The method according to claim 8, wherein the determining the corresponding precoding parameter according to the position information further comprises:
determining the precoding code rate, the video opening-credit file, and the watermark information as the corresponding precoding parameter of the respective video chunk when the respective video chunk is determined to be the first of the multiple video chunks according to the position information;
determining the precoding code rate, the video closing-credit file, and the watermark information as the corresponding precoding parameter of the respective video chunk when the respective video chunk is determined to be the last of the multiple video chunks according to the position information; and
determining the precoding code rate and the watermark information as the corresponding precoding parameter of the respective video chunk when the respective video chunk is determined not to be the first or the last of the multiple video chunks according to the position information.

### Claim 10

A server system for transcoding a video source file into multiple target formats, comprising:
processing circuitry configured to implement a first server that is configured to:
divide the video source file into multiple video chunks that include the first video chunk;
generate a plurality of transcoding tasks according to the multiple video chunks and the multiple target formats, each of the plurality of transcoding tasks being for transcoding one of the multiple video chunks according to corresponding attribute parameters that correspond to the one of the multiple video chunks and one of the multiple target formats, the corresponding attribute parameters including a corresponding precoding parameter for each of the multiple video chunks, wherein each of the multiple video chunks have independently settable precoding parameters;
receive a first video chunk of the multiple video chunks and first attribute parameters corresponding to the first video chunk and a first target format of the multiple target formats, the first attribute parameters including a first precoding parameter for the first video chunk and a first coding parameter for the first target format, the first video chunk to be transcoded into the first target format;
process the first video chunk based on the first precoding parameter for the first video chunk to generate a first intermediate coding result used to generate the multiple target formats of the first video chunk;
after processing the first video chunk according to the first precoding parameter, code the first intermediate coding result according to the first coding parameter for the first target format to obtain a first final coding result in the first target format; and
output the first final coding result.

### Claim 11 (depends on 10)

The server system according to claim 10, wherein the processing circuitry is further configured to implement a second server that is configured to:
receive a second video chunk of the multiple video chunks and second attribute parameters of the attribute parameters corresponding to the second video chunk and the first target format, the second attribute parameters including a second precoding parameter for the second video chunk and the first coding parameter for the first target format, the second video chunk to be transcoded into the first target format;
process the second video chunk according to the second precoding parameter for the second video chunk to obtain a second intermediate coding result;
code the second intermediate coding result according to the first coding parameter for the first target format to obtain a second final coding result; and
output the second final coding result.

### Claim 12 (depends on 10)

The server system according to claim 10, wherein the processing circuitry is further configured to implement a second server that is configured to:
receive the first video chunk and second attribute parameters corresponding to the first video chunk and a second target format of the multiple target formats, the second attribute parameters including the first precoding parameter for the first video chunk and a second coding parameter for the second target format, the first video chunk to be transcoded into the second target format;
process the first video chunk according to the first precoding parameter for the first video chunk to obtain the first intermediate coding result;
code the first intermediate coding result according to the second coding parameter for the second target format to obtain a second final coding result; and
output the second final coding result.

### Claim 13 (depends on 11)

The server system according to claim 11, wherein the processing circuitry is further configured to:
generate a merging task when the multiple video chunks have been transcoded according to the first target format, the merging task including final coding results corresponding to the first target format, target format information of the first target format, and time information of the multiple video chunks, the final coding results including the first final coding result and the second final coding result.

### Claim 14 (depends on 13)

The server system according to claim 13, wherein the processing circuitry is further configured to:
receive the merging task;
merge the final coding results according to the time information to obtain a target video file in the first target format; and
output the target video file.

### Claim 15 (depends on 10)

The server system according to claim 10, wherein the processing circuitry is further configured to:
determine the corresponding precoding parameter for each of the multiple video chunks according to an identifier of the respective video chunk;
determine a coding parameter for each of the multiple target formats according to the respective target format; and
generate each of the plurality of transcoding tasks according to the corresponding precoding parameter, the coding parameter corresponding to the respective target format, and the respective video chunk.

### Claim 16 (depends on 15)

The server system according to claim 15, wherein the processing circuitry is further configured to:
determine position information of the respective video chunk in the video source file according to the identifier of the respective video chunk; and
determine the corresponding precoding parameter of the respective video chunk according to the position information.

### Claim 17 (depends on 16)

The server system according to claim 16, wherein the processing circuitry is further configured to:
obtain a precoding code rate and a customized parameter for processing the video source file, the customized parameter including at least one of a video opening-credit file, a video closing-credit file, and watermark information.

### Claim 18

A non-transitory computer-readable storage medium storing a program executable by one or more processors to perform:
dividing the video source file into multiple video chunks that include the first video chunk;
generating a plurality of transcoding tasks according to the multiple video chunks and the multiple target formats, each of the plurality of transcoding tasks being for transcoding one of the multiple video chunks according to corresponding attribute parameters that correspond to the one of the multiple video chunks and one of the multiple target formats, the corresponding attribute parameters including a corresponding precoding parameter for each of the multiple video chunks, wherein two of the multiple video chunks have different precoding parameters;
receiving a first video chunk of the multiple video chunks and first attribute parameters corresponding to the first video chunk and a first target format of multiple target formats, the first attribute parameters including a first precoding parameter for the first video chunk and a first coding parameter for the first target format, the first video chunk to be transcoded into the first target format;
processing the first video chunk based on the first precoding parameter for the first video chunk to generate a first intermediate coding result used to generate the multiple target formats of the first video chunk;
after processing the first video chunk according to the first precoding parameter, coding the first intermediate coding result according to the first coding parameter for the first target format to obtain a first final coding result in the first target format; and
outputting the first final coding result.
