SYSTEM FOR EFFICIENT VIDEO TRANSCODING BASED ON ENCODER DECISIONS EXTRACTION

20170230676 · 2017-08-10

Assignee

Inventors

Cpc classification

International classification

Abstract

A method and apparatus of a system for efficient video transcoding based on encoder decisions extraction. In one embodiment, the method comprises removal of “Residual Data” thus extraction of “Encoding Decisions” En from coded video content Cn at resolution Sn, rate Bn that was originally constructed by decoding content C0 at resolution S0, rate B0, than scaled and encoded into content Cn. The content C0 and “Encoding Decisions” En are used by re-coder to reconstruct, perfectly if required, content Cn by utilizing “Encoding Decisions” En in the process equivalent to encoding thus producing transcoded content Cn of higher quality and with far smaller computational complexity then transcoder with full decode/encode cycle.

Claims

1. A method/system for efficient video transcoding based on encoder decisions extraction comprising: H.264 decoder, video scaler, H.264 encoder, separator system that extracts “residual( )” portion of H.264 from encoded content, processing and distribution system, H.264 decoder equivalent to said H.264 decoder, video scaler equivalent to said scaler, re-coder apparatus, wherein video content C0 or portion thereof encoded with H.264 at specific bit-rate and specific resolution that includes but its not limited to: video frame size, specific number of bits per pixel, specific chroma format, frame rate is decoded by said decoder, wherein resulting raw video sequence is scaled to a different resolution by scaler or passed through scaler retaining the same resolution, wherein resulting scaled raw video sequence is encoded to either different resolution or different bit-rate or both by encoder based on said raw sequence and present encoding option, wherein resulting coded content Cn is processed by a separator that extracts “residual( )” portion per H.264 specification from said coded content thus producing output En that contains only “Encoding Decisions”, wherein both the initial video content C0 and said output En or portions of these are, individually or jointly, optionally further processed by any know and/or future art and distributed to or through one or more destinations by any know and/or future art, wherein receiving system receives said C0 and said output En or corresponding portions of these, wherein said content C0 or portion thereof is decoded by the decoder equivalent to previously utilized H.264 decoder, wherein resulting raw video sequence is scaled to a resolution identical to previously utilized resolution for previously utilized scaler or passed through scaler equivalent to previously utilized scaler, where in resulting raw video sequence at the output of this scaler is identical to resulting raw video sequence at the output of previously utilized scaler, wherein re-coder accepts resulting scaled raw video sequence and said “Encoding Decisions” En or said corresponding portion thereof as input, wherein re-coder performs all functions of H.264 encoder except those including but not limited to: inter/intra coding decisions, motion vector search, selection of encoding modes, that would eventually produce information identical to information received by “Encoding Decisions” En input, thus in essence, re-coder reconstructs previously removed “residual( )” data portion and performs further H.264 processing based on “encoding decisions” En, wherein resulting content Cn* can be, if so desired, identical to said content Cn.

2. The method/system of claim 1 wherein video codec is not H.264 but any other video codec in the preset and future art that is equivalent to H.264 in the sense that encoded video content contains separable “Residual Data” that is substantially similar to “residual( )” data portion of H.264 content, and thus contains separable “Encoding Decisions” substantially similar to said “Encoding Decisions” En from claim 1, wherein all comprising sub-systems from claim 1 perform identical or equivalent functions for said other video codec that said sub-systems performed for H.264 in claim 1.

3. The method/system of claim 2 wherein any or all comprising sub-systems are merged and/or divided into different sub-systems where in at least one of said different sub-systems performs function identical or equivalent to function of said separator or at least one of said different sub-systems performs function identical or equivalent to function of said re-coder.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and specific video coding examples selected for ease of understanding and are therefore not to be considered limiting of its scope, for the invention admits other video coding methods and may admit to other equally effective embodiments.

[0017] FIG. 1 is an illustration of a complete system for efficient video transcoding based on encoder decisions extraction according to one or more embodiments.

[0018] FIG. 2 is an illustration of a system for separation of “Encoding Decisions” and “Residual Data” for an example case of H.264 encoded content according to one or more embodiments.

[0019] FIG. 3 is an illustration of a system for re-coding (re-construction) of video encoding at particular resolution and rate, for an example case of H.264 encoded content. FIG. 3 illustrate said system for re-coding by comparison between essential parts of “standard” H.264 encoding vs. said re-coding with available “Encoding Decisions” En according to one or more embodiments.

DETAILED DESCRIPTION

[0020] FIG. 1 depicts a system consisting of blocks 100 (“send” side), 200 (“conduit”) and 300 (“receive” side) for efficient video transcoding in accordance with embodiments of the present invention. Encoded video content C0 of particular resolution S0 and rate B0 is decoded by decoder 110 and produces sequence of raw video frames P0. Said sequence P0 is then scaled by pre-selected scaling method Mn in a scaler 120 to a required resolution Sn, whereby term “resolution” includes: frame dimensions and/or number of bits per pixel and/or chroma format and/or any other characteristic associated with raw sequence of video frames. The resulting sequence Pn is processed by encoder 130 that produces encoded content Cn based on Pn and set of encoder options 131. Process flow from system input C0 to encoder 130 output Cn represents well know art of video transcoding and it is envisioned to be performed off-line (not necessarily live nor real-time) in this example embodiment.

[0021] Content Cn is further processed by separator 140, details of which are illustrated in FIG. 2, which separates “Encoding Decisions” En from “Residual Data” Rn and outputs content containing “Encoding Decisions” En only. Said content En and input content C0 or selected and matching parts of these contents are then additionally processed and transmitted by system 200 that includes but is not limited to known data compression and network transmission formats and protocols.

[0022] Content C0 and “Encoding Decisions” En are inputs to the receiving side 300 of the system illustrated herein. Encoded video content C0 is decoded by decoder 310, identical to the decoder 110 by decoding specification and/or by design and produces sequence of raw video frames P0*. Scaler 320 that processes P0* is identical to scaler 120 thus ensuring that resulting raw sequence Pn* on the receiving side 300 is identical to Pn from the sending side 100.

[0023] The resulting sequence Pn* from system 300 and received content En are inputs to re-coder 330, details of which are illustrated in FIG. 2, which produces encoded content Cn* that can be if required, identical to corresponding content Cn from the sending side 100. Process flow in sub-system 300, from system input C0 and En to re-coder's 330 output Cn* is envisioned to be performed either off-line or live (in real-time) in this example embodiment.

[0024] FIG. 2 depicts a system 140 for separation of “Encoding Decisions” En and “Residual Data” Rn in accordance with embodiments of the present invention. For purposes of ease of understanding, the illustration depicted on FIG. 2 represents a block diagram of separator 140 for the case of H.264 encoded content where “Residual Data” Rn corresponds to “residual( )” block as described and used by H.264 standard. Content Cn is processed through H.264 standard compliant parser 141. The switch element 142 identifies H.264 “residual( )” data section (“Residual Data” Rn) and directs its transfer to block 143 that collects and optionally discards “Residual Data” Rn. When switch element 142 identifies H.264 data that is not “residual( )”, it directs its transfer to block 144 that organizes said data into “Encoding Decisions” content En.

[0025] FIG. 3 depicts a system 330 for re-coding of content Cn in accordance with embodiments of the present invention. Notably, FIG. 3 depicts encoder 130 and re-coder 330 for purposes of easier understanding of system 330 by comparison with “standard encoder” 130. The illustration depicted on FIG. 2 represents re-coding and encoding for the case of H.264 for purposes of ease of understanding. Additionally, block diagrams for both 330 and 130 are only sketches of encoding sub-system deemed essential for understanding embodiments of the present invention.

[0026] System 130 on FIG. 3 illustrates “top level” method and apparatus of standard H.264 encoder. Inputs to Encoding Decision Engine block 132 are frame of raw data under consideration, pre-set encoding parameters 131 and buffered frames that were previously encoded then reconstructed (decoding equivalent). As it is known in the art, block 132 decides if frame is to be coded independently (intra) or as difference from frames in the frame buffer (inter), then performs computationally extensive “search” using any method known in the art to select “optimal” encoding structure, parameters and data sub-set for reference (“Encoder Decisions” En). As it is known in the art, “Residual Data” Rn is then computed by straight-forward mathematical operations as specified by En on data sub-sets from frame and frame buffer that are also specified by En. Content Cn is formed upon additional processing of En and Rn as is well known in the art.

[0027] System 330 on FIG. 3 illustrates “top level” method and apparatus of re-coder in accordance with embodiments of the present invention. It is described here in terms of difference between re-coder 330 and standard H.264 encoder 130. Re-coder 330 does not have Encoding Decision Engine block 132 and does not require pre-set encoding parameters 131 because all “Encoder Decisions” En are passed from system 100 through system 200 to system 300, and specifically to re-coder 330. The remaining computational and data flow of re-coder 330 is identical to that of standard H.264 encoder 130.

[0028] The foregoing description of embodiments of the invention comprises a number of elements, systems, devices, circuits and/or assemblies that perform various functions as described. These elements, systems, devices, circuits and/or assemblies are exemplary interpretations of means for performing their respectively described functions.

[0029] While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.