Method and system for generating a plurality of target videos from an input video

The method and system address the complexity of multichannel video distribution by parallel encoding and optimizing resource use, achieving efficient and cost-effective video content adaptation across different platforms.

FR3170983A1Pending Publication Date: 2026-07-03VIDMIZER

Patent Information

Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
VIDMIZER
Filing Date
2024-12-30
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

The complexity and high cost of managing multichannel video content distribution campaigns are exacerbated by the need to adapt video content to various channels' specific technical specifications, leading to increased processing time and resource usage.

Method used

A method and system for generating multiple target videos from an input video by selecting and comparing feature sets, initializing encoders with encoding parameters, and encoding in parallel to meet the specifications of different channels, reducing the need for repetitive decoding and optimizing resource use.

Benefits of technology

This approach optimizes video distribution across multiple channels by reducing time, resources, and costs while maintaining quality, enabling efficient and environmentally friendly processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present invention relates to a method 100 and a system configured to generate several target videos from an input video using different sets of target features. The invention involves obtaining 110 the input video, selecting 120 the sets of target features, comparing 130 with the input feature set, and generating 140 sets of encoding parameters to modify the data in the data fields to be modified. Then, encoders are initialized 160 with these sets of encoding parameters, and a single decoding 170 is performed on the input video. The extracted video, audio, and data frames are then encoded 180 in parallel using the initial N encoders. Finally, each elementary stream is multiplexed 190 to obtain 191 the target videos. Fig. 1
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method and system for generating a plurality of target videos from an input video. TECHNICAL FIELD OF THE INVENTION

[0001] The present invention relates to the technical field of multimedia content generation, in particular, the technical field of video encoding, decoding and compression. STATE OF THE ART

[0002] Nowadays, communication companies must manage large-scale campaigns involving the simultaneous distribution of video content across multiple channels. This task is complex because each channel has its own requirements for format, encoder-decoder, resolution, bitrate, and audio-video quality. The numerous technical specifications of social networks significantly increase the work required to ensure that each video meets the standards of each platform while maintaining optimal quality. This complexity is further compounded by the need to produce variants adapted to the specific characteristics of each network, which increases processing time, verification, and resource usage.

[0003] This situation is known as "Multichannel campaign management for video content distribution". The main drawback of this technique lies in its complexity and high cost in terms of time, resources and distribution quality, as can be illustrated by [Fig. 3] discussed below.

[0004] The present invention therefore aims to overcome, at least in part, the aforementioned drawbacks of managing multichannel campaigns for the distribution of video content. It proposes a technical solution that ensures optimal distribution of video content across multiple channels while reducing the time, resources, and costs required for this task.

[0005] The other objects, features and advantages of the present invention will become apparent from an examination of the following description and accompanying drawings. It is understood that other advantages may be incorporated.

[0006] SUMMARY

[0007] According to one aspect, the present invention relates to a computer-implemented method configured to generate a plurality of target videos from an input video, said method being configured to be executed by at least one computer system, said method comprising at least the following steps: a. Obtaining an input video comprising a set of input features, each feature of the input feature set comprising at least one data field, each data field being configured to include at least one data item and at least one label, the retrieval step comprising; i. Reception of the input video, by at least one communication module; ii. Storage of the input video, by at least one storage module; b. Selection, by at least one data processing module, of N target feature sets, different from the input feature set, each feature of each target feature set of the N target feature sets comprising at least one data field configured to include at least one data item and at least one label, N being greater than or equal to 1; c. For each target feature set of the N target feature sets: i. Comparison, by said data processing module, with the set of input features; preferably, said comparison step includes at least the following steps: • Identification of at least a plurality of data fields, each comprising at least one identical label between the input feature set and the target feature set; • Comparison of at least one data from at least one field of said plurality of identified data fields so as to determine data fields from the input feature set to be modified, said data fields to be modified being data fields of the same label and whose data are different; ii. Generation, by said data processing module, of at least one set of encoding parameters configured to modify at least one data item in at least one data field to be modified so as to match said data item in said data field to be modified with the data item in said field in the target feature set having the same label; d. Obtaining N sets of encoding parameters, preferably storing the N sets of encoding parameters by said storage module; e. Initialization, by said data processing module, of N encoders with the N sets of encoding parameters such that each encoder of the N encoders is initialized with at least one set of encoding parameters of the N encoding parameters; f. Single decoding, by at least one input video decoding module, the decoding comprising at least one of the following: i. Extraction of at least one series of video frames from the input video; and / or ii. Extraction of at least one series of audio frames from the input video; and / or iii. Extraction of at least one series of data frames from the input video; g. Parallel encoding, by at least one encoding module comprising the N encoders, of N videos using the N encoders initialized on the basis of the N sets of encoding parameters, the encoding of each video of the N videos includes at least one of: i. Sending each extracted video frame to at least one of the N encoders initialized with at least one set of parameters from the N parameter sets so as to obtain an elementary video stream; and / or ii. Sending each extracted audio frame to at least one of the N encoders initialized with at least one set of parameters from the N parameter sets so as to obtain an elementary audio stream; and / or iii. Sending each extracted data frame to at least one of the N encoders initialized with at least one set of parameters from the N parameter sets so as to obtain an elementary data stream; h. For each encoded video, multiplexing, by at least one multiplexing module, of each elementary stream taken from at least the audio, video and data streams; i. Obtaining N target videos, each target video of the N target videos comprising a target feature set different from the input feature set.

[0008] The present invention also relates to a computer program product comprising a plurality of instructions which, when executed by at least one processor, execute the process according to the present invention.

[0009] The present invention also relates to a non-transient memory support comprising a computer program product according to the present invention.

[0010] The present invention also relates to a computer system configured to generate a plurality of target videos from an input video, said system comprising at least: a. A communication module configured to receive at least one input video, and to distribute at least one target video; b. A storage module configured to store at least the input video and sets of encoding parameters; c. A data processing module configured to: i. select N different target feature sets from the input feature set; ii. identify the differences between the input feature sets and the target feature sets; iii. modify the encoding settings of the different target videos; d. N encoders, each encoder of the N encoders being configured to be initialized with a set of encoding parameters, generated by the data processing module based on the selected target feature sets; the N encoders being configured to simultaneously encode N videos using the N sets of encoding parameters. e. A decoding module configured to decode the input video and extract at least one from a series of video, audio and / or data frames; f. An encoding module comprising the N encoders initialized with the N sets of encoding parameters, and configured to encode N videos in parallel using the N initialized encoders; g. A multiplexing module configured to generate N target videos by multiplexing, for each video of the N videos, each elementary audio, video and data stream. BRIEF DESCRIPTION OF THE FIGURES

[0011] The aims, objects, features and advantages of the invention will become clearer from the detailed description of an embodiment thereof, which is illustrated by the following accompanying drawings in which:

[0012] [Fig.1] Fig.1 schematically represents a method according to an embodiment of the present invention.

[0013] [Fig.2] Fig.2 schematically represents a system according to a mode of realization of the present invention.

[0014] [Fig.3] Fig.3 schematically represents a prior art method of multi-decoding and multi-encoding.

[0015] [Fig.4] Fig.4 schematically represents a single-decoding and multi-encoding method, according to an embodiment of the present invention.

[0016] [Fig.5] The [Fig.5] schematically illustrates the method of the [Fig.4] further comprising a cropping step, according to an embodiment of the present invention.

[0017] [Fig.6] Figure [Fig.6] schematically illustrates a series of steps for generating at least one target video according to an embodiment of the present invention,

[0018] [Fig.7] Fig.7 schematically illustrates a series of steps for generating at least one target video according to another embodiment of the present invention.

[0019] [Fig.8] Fig.8 schematically illustrates a series of steps for generating at least one target video according to another embodiment of the present invention.

[0020] [Fig.9] Fig.9 schematically illustrates the process of optimizing video quality, consisting of increasing local minima and reducing local maxima, according to an embodiment of the present invention.

[0021] The drawings are given by way of example and are not limiting of the invention. They constitute schematic representations of principle intended to facilitate understanding of the invention and are not necessarily to scale with practical applications. In particular, the dimensions are not representative of reality. DETAILED DESCRIPTION

[0022] Before proceeding with a detailed review of embodiments of the invention, optional features that may be used in combination or alternatively are listed below:

[0023] According to one example, said characteristics are taken from at least: audio resolution, video resolution, audio bitrate, video bitrate, encoder-decoder, visual quality, auditory quality, quality score, width-to-height ratio, subtitling.

[0024] According to one example, the encoding step includes at least modifying the resolution of the input video so as to achieve a predetermined resolution for the target video by modifying the data of the field associated with the resolution of the input video, the predetermined resolution being automatically selected by at least one rate control module and / or by at least one user according to at least one broadcast channel.

[0025] According to one example, the encoding step optionally includes at least: a. Modifying the bitrate of each audio frame of the input video so as to obtain a modified output bitrate for each audio frame of the target video based on the number of tracks in the input video and at least one bitrate Minimum predetermined audio bitrate, said modified bitrate being calculated by the following formula: [Math 1] modified flow rate = number of tracks * flow rate mm pred Where debit_min_pred is the predetermined minimum audio bitrate b. If the number of audio tracks in the input video is strictly greater than two audio tracks: i. Reducing the number of audio tracks to two audio tracks by performing at least one audio reduction mix, by at least one mixing module; c. If the number of audio channels in the input video is greater than or equal to two audio channels: i. Calculation of an audio quality degradation score, by said data processing module; ii. If the audio quality degradation score is below the predetermined threshold, the number of audio channels will be changed to one audio channel, with the calculation of said degradation score including at least: A. The calculation, by said data processing module, of the signal difference between the left and right channels of a stereo audio signal from the input video; B. The calculation, by said data processing module, of the mean squared error corresponding to the value of said degradation using the following formula: [Math 2] °where N corresponds to RMSE = -- total number of samples considered in the signal, L[n] corresponds to the amplitude of the audio signal of the left channel at sample n, and R[n] corresponds to the amplitude of the audio signal of the right channel at sample n.

[0026] According to one example, the decoding step includes at least one of the following: a. determining an average of the motion of the input video by measuring the average of the intensity of motion in the input video, said average being calculated over the whole of the input video to quantify the overall degree of motion of the input video; b. Preferably, determining the highest motion intensity observed in at least one video frame of the input video, the determination of the standard deviation of motion representing the variation of motion between the different video frames of the input video; c. the determination of a scene change value by measuring the frequency and / or intensity of transitions between scenes in the input video allowing the detection of variations greater than a predetermined variation threshold in the visual content between two consecutive video frames of the input video; d. the determination of the entropy values ​​of the luminance, blue color and red color components; e. the determination of the initial visual quality of the input video assessed by calculating an initial visual quality score measuring the perceived quality of the input video via the use of at least one predetermined mathematical algorithm, said initial visual quality score.

[0027] According to one example, the encoding of a target video includes slicing the input video into a plurality of variable video frame segments, the encoding using a constant rate factor predicted dynamically by at least one set of determined parameters taken from at least: a motion mean, a motion intensity, a maximum motion value, a motion standard deviation, a scene change value, an entropy value, a visual quality score.

[0028] By way of example, the present invention comprises at least the determination of at least one optimized video resolution value, the determination of at least one optimized video resolution value comprising at least: a. The selection, by at least one operator, of a memory size for a target video; b. The calculation, by said data processing module, of an average video bitrate required to reach the selected memory size, preferably using the following formula: [Math 3] z, . _ Predetermined memory size x8 U6î)ltcibie— Video duration where the memory size is expressed in bytes, the video duration in seconds, and the target bitrate in bits per second c. A first pass of transcoding the input video in two passes, by said encoding module, preserving the resolution of the input video with a target video bitrate corresponding to the calculated video bitrate; d. A second pass of transcoding of the input video and the audio stream of the input video in a double pass, by said encoding module, preserving the input video resolution with a target video bitrate corresponding to the calculated video bitrate; e. The calculation, by said data processing module, of a score for the visual quality of the transcoded video via a predetermined metric: i. If the calculated visual quality score is greater than or equal to a predetermined threshold, distribution of the transcoded video, by said communication module to at least one user; ii. If the calculated visual quality score is below a predetermined threshold, the data processing module searches for the input video resolution in a list of predefined resolutions ranked in descending order, in which each resolution includes an index, and then selects an index Ïq of the input video resolution from said ranked predefined list of resolutions: A. Initialization of i = io+1 to start at the first resolution immediately lower than the input video resolution; B. Next, repeat the following steps until a target video is distributed or an error message is displayed: • If the value of i is greater than the size of the list of predefined resolutions, then the present invention triggers the distribution of the last encoded video, by said communication module, to at least one user; if no video has been previously encoded, then at least one error message is sent to said user; • If the value of i is less than or equal to the size of the list of predefined resolutions, then select resolution i, and then: • Transcoding of the input video by resizing the input video to the selected resolution i and using double-pass encoding with said calculated video bitrate; • Calculation of the visual quality score of the transcoded video at the resolution selected i via the aforementioned predetermined metric: f. If the visual quality score of the video encoded with the selected resolution i is lower than the visual quality score of the previous resolution i-1, distribution of the video encoded with the previous resolution i-1, by said communication module, to at least one user; g. If the visual quality score of the video encoded with the selected resolution i is greater than the visual quality score of the previous resolution i-1, increment i.

[0029] According to one example, the present invention comprises at least the determination of at least one optimized video resolution value, the determination of at least one optimized video resolution value comprising at least: a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Estimation, by said data processing module, of the throughput required to transcode the input video with the target video resolution and with a visual quality fixed by the encoder; c. If the product of the required bandwidth and the video duration exceeds the selected memory size: i. Search for at least one optimal video resolution configured to maximize the visual quality of said target video through a series of transcodings and calculation of a visual quality score via a predetermined metric; then ii. Distribution of the transcoded video with said optimal video resolution and respecting the predetermined memory size, by said communication module, to at least one user; d. If the product of the required bandwidth and the video duration is less than the selected memory size with a predefined memory size margin: i. Encoding of the input video in two passes with the required bitrate as the target; ii. Distribution of the encoded video, by said communication module, to at least one user; e. Otherwise, the encoding module encodes the input video with a fixed visual quality score predetermined by the user; then f. Distribution of the video encoded with the optimized video resolution, by said communication module, to at least one user.

[0030] According to one example, the present invention comprises at least the determination of at least one optimized video resolution value, the determination of at least one optimized video resolution value comprising at least: a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Estimation, by said data processing module, of the throughput required to transcode the input video with the target video resolution; c. If the product of the required bandwidth and the video duration exceeds the selected memory size: i. Predict the optimal video resolution that will maximize the visual quality score through at least one transcoding; then ii. Distribution of the transcoded video with the optimal video resolution predicted by said communication module to at least one user; d. If the product of the required bandwidth and the video duration is less than the sum of the selected memory size plus a predefined memory size margin: i. Two-pass video encoding with the required bitrate as the target; then, ii. Distribution of the encoded video, by said communication module, to at least one user; e. Otherwise, the encoding module encodes the input video with a fixed visual quality score predetermined by the user; then f. Distribution of the video encoded with the optimized video resolution, by said communication module, to at least one user.

[0031] By way of example, the present invention comprises at least the prediction of at least one optimized video resolution value, the prediction of at least one optimized video resolution value comprising at least: a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Calculation, by said data processing module, of an average video bitrate required to reach the predetermined memory size using the following formula: [Math 4] ,, _ Predetermined memory x8 Uevl tcibie — Video duration where the memory size is expressed in bytes, the video duration in seconds, and the target bitrate in bits per second c. Extraction, by said decoding module, of the characteristics of the input video; d. Calculation, by said data processing module, of the surface area of ​​the input video resolution; e. Prediction, by said data processing module, using at least one predetermined predictive mathematical model, of the optimal resolution surface by injecting said extracted features, the calculated resolution surface, and the average video bitrate required into said predictive mathematical model; f. Selection, by said data processing module, of a resolution corresponding to the predicted resolution surface in at least one list of predefined resolutions and ranked in descending order of resolutions; g. Resizing, by said data processing module, of the input video to the resolution contained in said list of predefined resolutions and whose surface corresponds to the predicted optimal surface; h. Double-pass encoding of the input video, by said encoding module, with the calculated video bitrate and at the selected resolution; i. Distribution of the encoded video, by said communication module, to at least one user.

[0032] According to one example, the present invention comprises at least one training process for at least one predictive mathematical model configured to predict the optimal resolution surface of a target video, the training process comprising at least the following steps: a. Collection of a plurality of training data, via the communication module, including at least one set of videos; b. Preparation of training data, including: i. Extracting features from each video in the video set, including the video bitrate and resolution of each video, to create a dataset. ii. Determining the optimal resolution surface for each video in the set of videos; iii. Division of the dataset into at least one training dataset, one validation dataset, and one test dataset; c. Training of at least one mathematical machine learning model, comprising at least: i. Use of at least one supervised mathematical model, comprising a plurality of hyperparameters, with inputs including extracted features, extracted video bitrates and extracted resolutions, and an output including the optimal resolution area that maximizes the visual quality score; ii. Training of said supervised mathematical model using said training dataset: A. Preferably, use the mean squared error as the loss function to minimize the difference between the predicted resolution surface and the actual resolution surface; B. Preferably, optimization of the hyperparameters of the supervised mathematical model, preferably using a grid or Bayesian search; iii. Evaluation of the performance of the trained mathematical model in terms of accuracy in predicting the optimal resolution and the gap between the predicted resolution surface and the actual resolution surface, using the validation dataset.

[0033] By way of example, the present invention includes at least one step of cropping the input video based on areas of interest, this cropping step comprising at least: a. Extraction of a plurality of keyframes from the input video comprising: i. Segmentation of the input video into a series of representative keyframes, the segmentation step comprising at least one of: A. Keyframe search by analyzing the elementary video stream of the input video; and / or B. Extraction of at least one image from the input video at a predetermined regular time interval; b. Detection of key elements in the keyframes of the plurality of keyframes including: i. The use of at least one pre-trained artificial intelligence mathematical model to identify the key elements present in each keyframe; c. Monitoring of key elements detected, including: i. The use of at least one detected key element tracking algorithm to maintain consistency between key images and determine the trajectories of detected key elements in motion; d. Definition of a plurality of areas of interest including: i. Defining an area of ​​interest for each detected key element; ii. Assigning a prioritization score to each key element detected; iii. Classification of the key elements detected based on their prioritization score; e. Determination of optimal areas of interest including: i. The use of priority scores by a mathematical artificial intelligence model to define the areas of interest to be preserved; f. Dynamic adjustments including: i. If a detected key element moves, the position and / or size of the areas of interest is adjusted by the artificial intelligence mathematical model.

[0034] The examples and conditional language used in this description are primarily intended to aid the reader in understanding the principles of the present invention and not to limit its scope to those specifically cited examples and conditions. It will be understood that a person skilled in the art can conceive of various arrangements which, although not explicitly described or illustrated here, nevertheless embody the principles of the present invention and are included in its spirit and scope.

[0035] Furthermore, by way of aid to understanding, the following description may describe relatively simplified implementations of the present invention. As those skilled in the art will understand, various implementations of the present technology may be of greater complexity.

[0036] Furthermore, the following description, listing the principles, aspects, and implementations of the present invention, along with their specific examples, aims to encompass both their structural and functional equivalents, whether currently known or developed in the future. Thus, for example, it will be understood by those skilled in the art that all the functional diagrams herein represent conceptual views of illustrative flows incorporating the principles of the present invention. Similarly, it will be understood that all the flowcharts, and the like, represent various processes that can be substantially represented on computer-readable media and thus executed by a computer or processor, whether or not that computer or processor is explicitly shown.

[0037] The functions of the various elements shown in the figures, including any functional block referred to as a "processor" or "module," can be performed using dedicated hardware as well as hardware capable of executing software in conjunction with a computer program or appropriate instructions. When provided by a processor, the instructions can be supplied by a single dedicated processor, a single shared processor, or a plurality of individual processors, some of which may be shared. In some embodiments of the present invention, the processor may be a general-purpose processor, such as a central processing unit (CPU). Furthermore, the explicit use of the term "processor" should not be interpreted as referring exclusively to hardware capable of executing software and may implicitly include, but not be limited to, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), read-only memory (ROM) for storing software, random-access memory (RAM), and non-volatile storage. Other conventional and / or custom hardware may also be included.

[0038] Software modules, or simply modules that are assumed to be software, can be represented herein as any combination of flowchart elements or other elements indicating the execution of process steps and / or a textual description. Such modules may be executed by hardware that is expressly or implicitly represented. Furthermore, it should be understood that the module may include, for example, but not limited to, computer program logic, computer program instructions, software, firmware, hardware circuits, or a combination thereof that provides the required capabilities. It should also be noted that a module may comprise several other modules.

[0039] In the context of the present invention, a "preset" means a set of predefined parameters used to configure the encoding of a video or signal. These parameters determine the technical characteristics of the encoding, such as resolution, bitrate, format, or other settings specific to the channel concerned.

[0040] In the context of the present invention, the term "multi-preset" refers to a method for defining and applying several sets of predefined parameters (presets) for encoding content, such as videos or streams, on different channels or formats. Each preset corresponds to a specific configuration of technical parameters (resolution, bitrate, format, etc.) tailored to a particular channel (e.g., social networks, streaming platforms, or devices). Multi-preset functionality thus automates the simultaneous generation of multiple versions of content by applying these presets to each target channel, while optimizing processing time and resource usage.

[0041] In the context of the present invention, “Ready to Broadcast” refers to a video content format that is fully finalized, optimized, and ready for broadcast on various distribution platforms, without requiring any further intervention.

[0042] In the context of the present invention, "probe" is a term used to refer to the analysis of video data streams to identify quality, format, compression parameters, or other characteristics. The "probing" process is essential for decoding or transcoding streams.

[0043] In the context of the present invention, “Stuffing” refers to a technique consisting of adding redundant or unnecessary data into a video stream or data packet to maintain a constant throughput.

[0044] In the context of the present invention, "Video Quality Assessment" refers to the evaluation of the visual quality of a video, often carried out using subjective or objective methods. This visual quality can be assessed based on methods known to a person skilled in the art. For example, objective methods include metrics such as the VMAF (Video Multimethod Assessment Fusion), the SSIM (Structural Similarity Index), and the PSNR (Peak Signal-to-Noise Ratio). Subjective methods, on the other hand, rely on human evaluations, generally performed using tests such as the MOS (Mean Opinion Score) or comparative analysis protocols, where observers rate the perceived quality. These evaluations are particularly useful in fields such as video compression, streaming, and multimedia communication systems.

[0045] In the context of the present invention, the CRF (Constant Rate Factor) encoding parameter refers to a setting used to control the visual quality and bitrate of a video in compression processes. CRF is a variable bitrate encoding method where visual quality is prioritized: a lower CRF value improves video quality but increases the bitrate, while a higher value reduces quality while decreasing the bitrate. This parameter is commonly used in encodings such as H.264 or H.265 to effectively balance quality and file size. In the remainder of this document, the term CRF will refer to CRF as implemented in x264 and x265 encoders, although it can also refer to any other parameter that allows adjustment of the intrinsic quality of an encoder.According to one embodiment, the present invention provides an intelligent video encoding system that optimizes video compression to meet the specifications of multiple broadcast channels. The present invention uses an adaptive video compression control method incorporating intelligent segmented encoding, a multi-preset method (also known as multiple presets), and advanced bitrate controls to automate and optimize the present invention according to specific configurations.

[0046] According to one embodiment, the present invention provides an intelligent video encoding system that optimizes video compression to meet the specifications of each broadcast channel. The system uses a method of Adaptive video compression control incorporating intelligent segment encoding, a Multi-preset method and advanced bitrate controls to automate and optimize according to specific configurations.

[0047] Advantageously, the intelligent video encoding method of the present invention is designed to meet the growing needs of eco-friendly multi-platform distribution by offering optimized compression while maintaining consistent visual quality. It allows for the automatic generation of several variations of an input video file, each variant being optimized for a given configuration, primarily derived from the specifications of the distribution platforms, thus enabling the generation of a plurality of target videos.

[0048] Preferably, the present invention uses intelligent segment-based encoding, which allows for fine-tuning the encoding parameters to each segment of the video, thus optimizing the quality / size ratio according to the specific characteristics of each scene in the input video, as illustrated in [Fig. 9]. This approach ensures optimal resource allocation, even for content containing scenes of varying complexity.

[0049] According to one embodiment, the present invention also uses a multi-preset method that allows for the simultaneous generation of several variants of an input video file, each variant being optimized for a given configuration. This approach saves time for users, reduces storage and computing requirements, and contributes to greater environmental efficiency by decreasing the volume of data processed, stored, and transmitted.

[0050] Preferably, the present invention also uses advanced bitrate controls that allow the average video bitrate to be dynamically regulated to meet the maximum and minimum average bitrate specifications imposed by the platforms. These controls not only prevent bandwidth overconsumption and ensure compliance with bitrate constraints, but also control the final video file size by defining minimum and maximum limits.

[0051] Advantageously, the present invention uses a method for predicting an encoding parameter called the Constant Rate Factor (CRF) to achieve a desired quality measurable by a predetermined metric such as VMAF / PSNR / SSIM, for example. This method allows the visual quality of each segment to be automatically adjusted according to a predefined target quality score at the encoder level, ensuring a consistent and high-quality visual experience.

[0052] The present invention meets needs not met by current solutions.

[0053] Indeed, CRF encoding as practiced in the prior art does not guarantee a constant perceived visual quality, but focuses on the constant quality of the fixed encoding at the encoder level, which can sometimes lead to inefficient use of bandwidth and / or insufficient quality.

[0054] Furthermore, it is possible to consider associating CRF encoding with a video quality assessment (VQA) system closer to human perception, such as VMAF.

[0055] However, the VMAF score does not always accurately reflect perceived quality, particularly in scenes without movement, where a score of 85 is often sufficient for the human eye, whereas in theory this threshold is above 93.

[0056] According to one embodiment, and ingeniously, instead of using a fixed VMAF score as the target quality, the present invention proposes adopting an adaptive VMAF, adjusted according to the movement of the video content. This allows for a more precise evaluation of perceived quality. Indeed, a VMAF score of 85 can be considered acceptable quality for simple scenes, for example, without movement, where artifacts are imperceptible to the naked eye. However, for more complex scenes, for example with a lot of movement, a similar score could indicate poor-quality video with visible artifacts. By adjusting the VMAF according to, for example, movement, the present invention can better reflect the reality of the quality perceived by the user in different contexts.

[0057] According to one embodiment, the present invention is specifically designed to meet the file size requirements of certain broadcasting channels: For example, users or a specific broadcasting channel may require a video with a maximum file size of 2.5 MB. The present invention advantageously adjusts the file size, also known as the weight, of the video by modifying the resolution and audio bitrate as needed.

[0058] According to one embodiment, the present invention is specifically designed to meet the average bitrate requirements of different social media platforms. For example, the present invention can be configured to dynamically adjust the average bitrate of a video to meet the maximum and minimum average bitrate specifications imposed, such as 2500 kbps by certain social networks.

[0059] According to one embodiment, the present invention makes it possible to simultaneously generate several variants of an input video file, each variant being optimized for a given configuration, primarily derived from the specifications of the streaming platforms. This method makes it possible to automatically create several variations of a single input video file. Advantageously, a single input video is used for all variations, which considerably reduces the storage space required.

[0060] By pooling certain processing steps of the input video, such as decoding or feature extraction to generate multiple versions, the encoding process is optimized. This reduces the number of steps required, speeds up the overall process, and optimizes resource use, making the operation more environmentally friendly.

[0061] In addition, the user only needs to produce and submit one video, thus avoiding the need for the user to manually create and submit several pre-encoded versions, often at higher bitrates.

[0062] Advantageously, the configurations used can be easily reused for future campaigns, thus simplifying the creation of video content and reducing the resources and time required for each new project.

[0063] According to one embodiment, a single input video is sent to the system according to the present invention, accompanied by a configuration specifying the various formats and encoding parameters desired by a user, human or machine, for each broadcast channel. This single source file allows all the necessary encodings to be launched, with dynamic resource management for each task. This replaces the traditional process where the user had to send the video separately for each encoding format. Instead, a single transmission generates all the requested versions.

[0064] Advantageously, the source file, i.e., the input video, is uploaded, stored, and decoded only once (single-process decoding). This single decoding allows for the sharing or factoring of decoding resources, thus offering the possibility of transcoding the video into several output formats (multi-process encoding). This significantly optimizes the use of computing resources and reduces the need for redundant processing.

[0065] Preferably, thanks to a centralized and adaptable configuration, the user can easily customize their content for different markets and languages, without having to perform multiple transcodings.

[0066] Indeed, the present invention makes it possible to reduce intermediate transcoding while maintaining optimal video quality.

[0067] Advantageously, the present invention allows for the pooling of resources, resulting in a significant reduction in energy consumption and thus making the process more environmentally friendly. By optimizing the decoding and extraction of video features so that they are shared between the different versions, the present invention limits the computing resources used, thereby contributing to a reduced ecological footprint.

[0068] According to one embodiment, the present invention thus relates to a computer-implemented method. This method is configured to generate a plurality of target videos from an input video.

[0069] According to one embodiment, and as illustrated in Figures 1 and 2, method 100 comprises at least the following steps: a. Obtaining 110 at least one input video; preferably the input video includes a set of input features; advantageously, each feature in the input feature set includes at least one data field; for example, each data field is configured to include at least one data item and at least one label. Preferably, the obtaining step 110 includes at least; i. Reception of the input video, by at least one communication module 210; ii. Storage of the input video, by at least one 220 storage module; iii. Selection 120, by at least one data processing module 230, of N target feature sets, advantageously different from the input feature set; preferably each feature of each target feature set of the N target feature sets includes at least one data field configured to include at least one data item and at least one label; Advantageously, N is greater than or equal to 1; Note that this selection step may be preceded by a manual selection by a user of one or more dissemination channels, via, for example, a user interface; iv. For each target feature set of the N target feature sets: i. Comparison 130, by said data processing module 230, with the input feature set; preferably, said comparison step 130 comprises at least the following steps: A. Identification of at least a plurality of data fields, each comprising at least one identical label between the input feature set and the target feature set; B. Comparison of at least one data item from at least one field of said plurality of identified data fields so as to determine data fields from the input feature set to be modified, said data fields to be modified being data fields of the same label but whose data are different; ii. Generation 140, by said data processing module 230, of at least one set of encoding parameters; preferably, said set of encoding parameters is configured to modify at least one piece of data from at least one data field to be modified so as to match said data from said data field to be modified with the data from said field in the target feature set having the same label; v. Obtaining 150 of N sets of encoding parameters, and preferably storing the N sets of encoding parameters by said storage module 220; vi. Initialization 160, by said data processing module 230, of N encoders with the N sets of encoding parameters so that each encoder of the N encoders is initialized with at least one set of encoding parameters of the N encoding parameters; vii. 170 decoding, advantageously unique, by at least one 240 decoding module, of the input video, the 170 decoding comprising at least one of the following: i. Extraction of at least one series of video frames from the input video; and / or ii. Possible extraction of at least one series of audio frames from the input video; and / or iii. Possible extraction of at least one series of data frames from the input video; For example, this data may include subtitles; viii. 180 encoding, by at least one 250 encoding module comprising the N encoders, preferably in parallel, via, for example, a plurality of servers or processors, of N videos, advantageously using the N encoders initialized on the basis of the N sets of encoding parameters; According to one embodiment, the 180 encoding of each of the N videos comprises at least one of the following: i. Sending each extracted video frame to at least one of the N initialized encoders, advantageously with at least one set of parameters from the N parameter sets so as to obtain an elementary video stream; and / or ii. Sending each extracted audio frame to at least one of the N initialized encoders, advantageously with at least one set of parameters from the N parameter sets so as to obtain an elementary audio stream; and / or iii. Sending each extracted data frame to at least one of the N initialized encoders, advantageously with at least one set of parameters of the N sets of parameters so as to obtain an elementary data stream; ix. For each encoded video, 190 multiplexing, by at least one 260 multiplexing module, of each elementary stream taken from at least the audio, video and data streams; x. Obtaining 191 of N target videos; Advantageously, each target video of the N target videos includes a different set of target features from the input set of features.

[0070] Thus, the present invention makes it possible in a single step of decoding an input video to generate in parallel a multitude of target videos whose characteristics meet the requirements for example of one or more broadcast channels.

[0071] As illustrated in [Fig. 3], the prior art proposes a solution that is highly resource-intensive, since it involves repeatedly decoding an input video to generate a plurality of target videos. Thus, an input video will be decoded as many times as there are target videos.

[0072] Conversely, and as illustrated in [Fig. 4], the present invention offers an elegant solution that reduces system resource consumption. According to the present invention, the input video is decoded only once, and this single decoding is then cleverly used to generate a plurality of target videos. Furthermore, as described below and illustrated in [Fig. 5], the present invention also allows for automatic cropping of the input video to meet the broadcast constraints of different distribution channels.

[0073] According to one embodiment, and as previously stated, the present invention includes a step 110 for obtaining the input video. Preferably, the first step consists of receiving an input video, which is then stored in a storage module. This input video comprises an input feature set, each feature of the input feature set comprising at least one data field, each data field being configured to include at least one data element and at least one label.

[0074] According to one embodiment, the characteristics in question relate to at least the following elements: a. Audio resolution, which refers to the ability to reproduce a specific number of distinct sound levels for each recorded sample per second. b. Video resolution, which refers to the number of pixels or horizontal and vertical lines that a video image can display at a given moment. c. The audio bitrate, which refers to the number of bits per second used to represent sound waves in a digital stream. d. The video bitrate, which refers to the number of bits per second used to represent the video image in a digital stream. e. The encoder-decoder, also called coded, is an algorithm that allows the conversion of audio or video data between different formats. f. Visual quality which refers to the overall appearance of the video image, including its resolution, contrast and colors, through the use of predetermined metrics. g. Auditory quality, which refers to the overall appearance of the sound, including its clarity, depth, and resonance, through the use of predetermined metrics. h. The video complexity score is a numerical indicator used to assess the overall complexity of the image. This score can be obtained by encoding the source in CRF mode and analyzing the resulting VMAF. This approach provides an accurate measure of the overall complexity of the video stream, taking into account both perceived quality and processing requirements. i. The audio similarity score, which is a numerical indicator used to assess the overall redundancy of the audio signal, by measuring the resemblance or repetition of sound patterns throughout the stream. j. The aspect ratio which refers to the relationship between the width and height of the video image. k. Subtitling, which is a process that allows subtitles to be added to an image or sound to make the content accessible in text form to deaf or hard-of-hearing people.

[0075] According to one embodiment, the present invention comprises the selection of target features. Preferably, once the input video is obtained, the present invention is configured to select N different target feature sets from the input feature set, advantageously based on a selection by a user, human or machine, depending on the type(s) of broadcast channel(s). Similar to the features of the input feature set, each feature of each target feature set of the N target feature sets comprises at least one data field configured to include at least one data item and at least one label. Advantageously, the labels of the fields of each feature of the input feature set are identical to the labels of the feature fields for each target feature set of the N target feature sets.

[0076] Preferably, N is a number equal to or greater than 1.

[0077] Advantageously, this selection step 120 may include a preliminary selection step, preferably manual, by at least one user of one or more broadcast channels. Then, the present invention, based on this selection of broadcast channels by the user, automatically selects N different target feature sets from the input feature set, N then advantageously corresponding to the number of broadcast channels selected by the user.

[0078] According to one embodiment, the present invention comprises the comparison 130 between the input features and the target features. Preferably, for each target feature set of the N target feature sets, the present invention is configured to compare the input video with each target feature set. This step includes, for example, identifying at least a plurality of data fields, each comprising identical labels between the input feature set and the target feature set, and advantageously comparing at least one data field from at least one field of said plurality of identified data fields to identify the data fields of the input feature set to be modified.

[0079] According to one embodiment, the present invention comprises the generation of 140 encoding parameters. Preferably, for each target feature set among the N, the present invention is configured to generate a set of encoding parameters. This set of encoding parameters is advantageously configured to modify at least one data field in at least one data field to be modified so as to match said data field in said data field to be modified with the data field in said field of the corresponding target feature set, i.e., having the same label.

[0080] According to one embodiment, the present invention comprises the unique decoding of the input video. Advantageously, this allows the extraction of various information. Indeed, the decoding of the input video advantageously comprises at least one of the following: extraction of at least one series of video frames from the input video, optional extraction of at least one series of audio frames from the input video, or optional extraction of at least one series of data frames from the input video.

[0081] According to one embodiment, the present invention comprises the encoding of a plurality of target videos, in particular N target videos; these target videos being intended for distribution and broadcast. Preferably, the encoding parameters are used to encode N videos using N encoders initialized on the basis of the N sets of encoding parameters. During this encoding, each extracted frame is transmitted to an encoder to generate a stream whose features and data are at least partially identical to at least one set of target features.

[0082] According to one embodiment, the encoding step includes at least modifying the resolution of the input video to achieve a predetermined resolution for the target video. This modification is done by changing the data in the data field labeled "resolution". Advantageously, the predetermined resolution can be automatically selected by at least one rate control module and / or by at least one user based on at least one streaming channel.

[0083] According to one embodiment, the present invention includes the multiplexing of streams. Indeed, for each encoded video, at least one elementary audio, video, and data stream is multiplexed by a multiplexing module to obtain a target video; this is then advantageously executed N times, preferably in parallel, to obtain the N target videos.

[0084] Advantageously, the present invention includes the storage of the target videos. Preferably, the N target videos are stored in the storage module.

[0085] Preferably, the present invention may include a step of broadcasting each target video on at least one broadcasting channel associated with each target video.

[0086] The present invention makes it possible to automatically generate several variations of an input video, each variant being optimized for a given configuration, primarily derived from the specifications of the streaming platforms and / or the user's choices. This approach saves time for users, reduces storage and computing power requirements, and contributes to greater environmental efficiency by decreasing the volume of data processed.

[0087] According to one embodiment, the present invention may also include a preliminary video quality analysis phase, which makes it possible to determine the key areas to be retained to ensure better quality after compression. Preferably, the present invention uses multi-pass encoding, which improves the final quality of the compressed video. Advantageously, the present invention is encoding-agnostic, making it compatible with different compression standards, such as H.264 and H.265. Furthermore, it is configured to be applied to a wide range of resolutions, from standard definition (SD) to ultra-high definition (UHD) and beyond, thus ensuring flexibility of use according to the specific needs of the platforms.

[0088] Preferably, the present invention uses dynamic encoding, which allows the compression to be adapted to the quality of the communication signal, advantageously in real time.

[0089] According to one embodiment, the present invention can be used to transmit videos over different types of communication networks, such as mobile networks, such as 3G, 4G, 5G networks, etc... for example.

[0090] According to one embodiment, the present invention makes it possible to significantly preserve the quality of a video during video encoding by using a clever set of steps.

[0091] According to one embodiment, the present invention may include at least one rate control module. This rate control module is preferably configured to automatically select a predetermined resolution to maximize the perceived video quality.

[0092] For example, the automatic selection of the predetermined resolution by the flow control module makes it possible to optimize the use of system resources in the case where the selected resolution is lower than the source resolution.

[0093] For example, the automatic selection of the predetermined resolution by the bitrate control module helps to reduce artifacts and optimize perceived quality. In particular, in cases where the bitrate is very low, encoding at a lower resolution allows the bitrate to be adapted to that resolution, which reduces the strain on the encoding and limits the occurrence of artifacts such as freezing or blurring. This can thus lead to better perceived quality, as the bitrate is more appropriate to the target resolution.

[0094] According to one embodiment, the present invention also relates to a computer system 200 configured to generate a plurality of target videos from an input video.

[0095] Preferably, and as illustrated in [Fig.2], this system 200 comprises several modules: a. A 210 communication module: this module is configured to receive the input video and to distribute at least one target video. Preferably, it also serves to transfer the necessary data between the different modules of the system. b. A 220 storage module: This module is configured to store the input video and sets of encoding parameters. It allows the original video and the parameters necessary for encoding the different target versions to be retained. c. A data processing module 230: This module is primarily configured to interact with various system modules, specifically to control them. Preferably, this module is configured to select N different target feature sets from the input feature set. It serves to identify the differences between the input and target feature sets in order to modify the encoding parameters of the different target versions. d. N encoders: each encoder is initialized with a specific set of encoding parameters, which are generated by the module of Data processing is performed based on the selected target feature sets. The encoders simultaneously encode N videos using the N sets of encoding parameters. e. A 240 decoding module: This module is configured to decode the input video and extract at least one of a series of video, audio, and / or data frames. It prepares the data necessary for encoding the different target versions. The present invention is advantageously designed so that the input video only needs to be decoded once. f. A 250 encoding module: This module includes N encoders initialized with N sets of encoding parameters and is configured to encode N videos in parallel using the N initialized encoders. The encoding of each video includes at least one of the following: i. Sending each extracted video frame to at least one of the N encoders initialized with at least one set of parameters from the N sets of parameters so as to obtain an elementary video stream. ii. Sending each extracted audio frame to at least one of the N encoders initialized with at least one set of parameters from the N parameter sets so as to obtain an elementary audio stream. iii. Sending each extracted data frame to at least one of the N encoders initialized with at least one set of parameters from the N parameter sets so as to obtain an elementary data stream. g. A 260 multiplexing module: This module is configured to generate N target videos by multiplexing, for each of the N videos, each elementary audio, video, and data stream. It allows for obtaining N target videos, each comprising a set of target features different from the input feature set of the input video.

[0096] This System 200 allows for the automatic generation of multiple versions of the same video, adapted to specific configurations such as the requirements of each distribution platform. It addresses the growing needs of multi-platform distribution by offering an eco-friendly and efficient solution for creating simpler user workflows, faster and more consistent content distribution across various channels, while meeting the increasing environmental requirements of the sector.

[0097] Advantageously, the present invention allows: a. To automate compression rate checks to meet the specifications of each broadcast channel, reproduced as configurations. b. To generate optimized multi-channel variants from a single input video file. c. To maintain consistent quality through segmented encoding. Advantageously, segment-based encoding not only increases perceived quality by reducing local artifacts, but also optimizes compression by reducing the bitrate in easily compressible areas. This allows the video to be compressed more efficiently depending on the intended distribution channel.

[0098] According to one embodiment, the encoding step 180 also includes modifying the bitrate of each audio frame of the input video to obtain a modified output bitrate for each audio frame of the target video. This modified bitrate is preferably determined based on the number of tracks in the input video and / or at least a predetermined minimum audio bitrate, for example, 64 Kbps.

[0099] Preferably, if the number of audio tracks in the input video is strictly greater than 2, then the present invention includes a step of reducing the number of audio tracks to 2 by performing at least one audio reduction mix, by at least one mixing module.

[0100] Advantageously, if the number of audio channels in the input video is greater than or equal to 2, the present invention includes a step of calculating the mono-stereo audio quality degradation by said data processing module. Then, if the mono-stereo audio quality degradation is less than the predetermined threshold, the present invention preferably includes a step of changing the number of channels to 1.

[0101] This reduction in the number of audio tracks optimizes resource utilization and reduces bandwidth consumption. Furthermore, the calculation of mono-stereo audio quality degradation ensures acceptable audio quality for end users, even if the number of audio channels were greater than or equal to 2.

[0102] According to one embodiment, the calculation of the degradation of monostereo audio quality may include at least the following steps: a. Calculate, using the data processing module, the signal difference (diff) between the left (L) and right (R) channels of a stereo input video signal: [Math 5] = |i [ H ] - n Represents the sample index of the signal, L[n] represents the amplitude of the audio signal of the left channel at time n, and R[n] represents the amplitude of the audio signal of the right channel at time n. b. Calculate, using the same data processing module, the squared error The average RMSE corresponding to the value of said degradation. This error The root mean square (RMS) is an example of an indicator used to evaluate the audio degradation quality: [Math.6] RMSE =

[0103] where N represents the total number of samples considered in the calculation, n represents the sample index, diff[n] represents the signal difference between the left and right channels for sample n, and RMSE is the square root of the mean of the squares of the differences, thus indicating the average deviation between the values ​​of the two audio channels.

[0104] According to one embodiment, the decoding step 170, which is advantageously unique, may include calculating the average of the movement in the video to quantify the overall degree of movement.

[0105] Preferably, the determination of motion is carried out by measuring the average intensity of motion in the input video. This measurement provides a representative value of the speed and amplitude of the motions present in the input video. Advantageously, this average is calculated over the entire input video. This makes it possible to take into account all the motions present in the video and to provide a more accurate estimate of the overall degree of motion.

[0106] According to one embodiment, the formula for calculating the intensity of a video frame at time t is as follows:

[0107] [Math.7] motion_score t = y)

[0108] Where M and N are respectively the width and height of the video frame considered, and where M(x,y) is the intensity of the movement for each pixel.

[0109] [Math.8] M(x, y) = u(xy)2 + v(xy)2

[0110] The average intensity is therefore calculated as follows: [YES] [Math.9] average intensity = ■f2j t _1motion_score t

[0112] According to one embodiment, the decoding step 170 may also include at least one step for determining the highest motion intensity observed in a video frame of the input video. This feature makes it possible to identify particularly dynamic or motion-rich sequences in the input video.

[0113] Preferably, this determination is carried out by analyzing the intensity of color and brightness changes in each frame of the input video. This makes it possible to measure the global and local motion in each frame, thus enabling the detection of areas where the motion is greatest.

[0114] Advantageously, this method 100 can be used to optimize video compression by identifying dynamic sequences that require denser compression than static sequences, thus taking advantage of segment-based encoding.

[0115] For example, the formula for determining the highest motion intensity observed in at least one video frame of the input video is as follows:

[0116] [Math. 10] motion score = maximization score,, motion score^,-, motion scoreJ

[0117] According to one embodiment, the decoding step 170 may further include calculating the maximum motion value by measuring the highest motion intensity observed in at least one video frame of the input video. This feature makes it possible to identify particularly dynamic or motion-rich sequences in the input video. Preferably, this maximum motion value is calculated using a predetermined method.

[0118] Advantageously, these various steps can be used to improve the quality of the video playback after decoding by identifying the dynamic areas that require more precise rendering. This feature improves the perceived quality of the target video. The present invention preferably uses a segment-based encoding system involving, for example, a change in encoding parameters depending on the nature of certain frames in the input video.

[0119] According to one embodiment, the decoding step 170 may also include calculating the standard deviation of the motion, representing the variation in motion between the different frames of an input video. This feature makes it possible to determine the variations in motion and the regularity of the video stream of the input video.

[0120] Preferably, the standard deviation of the motion is calculated using an appropriate statistical method to ensure optimal accuracy. This characteristic allows for the detection of variations in movement and the regularity of the video stream with high reliability.

[0121] For example, the formula for calculating the standard deviation of the motion is as follows:

[0122] [Math. 11] ^motion =}jy^ t= ^otion_score t - average intensity

[0123] Advantageously, this step can be optimized to reduce computation time and improve overall system performance. This feature allows for the processing of larger and more complex input videos with increased processing speed.

[0124] Finally, this method can be integrated into a video compression system to improve the quality of the resulting video while reducing the video file size. This feature enhances the user experience by providing higher-quality video with more efficient storage.

[0125] According to one embodiment, the decoding step 170 may further include a step for determining a scene change value by measuring the frequency and / or intensity of transitions between scenes in the input video. This value enables the detection of variations exceeding a predetermined variation threshold in the visual content between two consecutive video frames of the input video, which is advantageously often due to a scene change.

[0126] Preferably, the present invention can use the calculation of the scene change value ("mafd"), or Mean Absolute Frame Difference; For example, for 2 successive frames Ttet Tt+1 of dimensions MxN (Width M, Height N), the MAFD is calculated as follows:

[0127] [Math. 12] MAFD=y) - T t+l (x, y)|

[0128] Where T^xy) is the intensity of the pixel at position (x,y) in the frame T t, M and N are the dimensions of the frame in pixels.

[0129] According to one embodiment, this method can be used to improve the quality of video compression by enabling better detection of scene changes and reducing compression-related artifacts, for example.

[0130] According to one embodiment, this step can be used to improve the quality of video segmentation by enabling better detection of scene changes and reducing segmentation-related artifacts.

[0131] According to one embodiment, the decoding step 170 may also include at least the determination of the entropy values ​​of the luminance, blue color and red color components.

[0132] For example, the entropy H for a given component is calculated as follows:

[0133] [Math. 13] H C = ^ k=Q P k^°ff^P^

[0134] Where C is the analyzed component (Y, R, G or B), Pk is defined as the proportion of pixels having an intensity k relative to the total number of pixels in the frame or image considered, L is the total number of intensity levels k, calculated from the histogram of the component.

[0135] Finally, this decoding step 170 can be carried out using parallel decompression methods to accelerate the decoding process and improve the quality of the decoded video signal.

[0136] According to one embodiment, the decoding step 170 may include evaluating the initial visual complexity of the input video. This evaluation is performed by encoding in constant quality encoder, for example in CRF mode, and by calculating a score measuring the perceived quality of the video using at least one predetermined mathematical algorithm, for example of the VMAF type.

[0137] Advantageously, this mechanism makes it possible to evaluate the initial visual quality of the input video and to automatically adjust the quality level of subsequent encodings based on this score. Furthermore, the use of a constant rate factor (CRF) during the initial encoding is beneficial because an optimal choice, determined by machine learning algorithms and based on the video database used, allows for an optimal compromise between quality and compression from the very first encoding, thus avoiding potential readjustment encodings.

[0138] According to one embodiment, the present invention may include at least the determination of at least one optimized video resolution value. Preferably, this step of determining at least one optimized video resolution value may be comprised of at least one of the following: the generation step 150, the decoding step 170, or the encoding step 180.

[0139] Preferably, the step of determining at least one optimized video resolution value includes at least: a. Selection, by at least one operator, for example a human or a machine, of a predetermined memory size for a target video; Calculation, by said data processing module 230, of an average video bitrate required to reach the predetermined memory size, preferably using the following formula: [Math 14] z, _ Predetermined_memory_size x8 D6Dltcjbie— Video duration Where the memory size is expressed in bytes, the video duration in seconds, and the target bitrate in bits per second; a. A first pass of transcoding the input video in double pass, by said encoding module 250, advantageously keeping the same resolution as the input video with a target bitrate corresponding to the calculated video bitrate; b. A second pass of transcoding of the input video and advantageously of the audio in double pass, by said encoding module 250, preferably keeping the same resolution as the input video with a target bitrate corresponding to the calculated video bitrate; c. Measurement, by said data processing module 230, of the visual quality of the transcoded video via a predetermined metric, for example using VMAF or PSNR (Peak Signal to Noise Ratio): i. if the measured visual quality is greater than or equal to a predetermined threshold, then distribution of the video encoded by said communication module 210 to at least one user; ii. If the measured visual quality is below a predetermined threshold, the data processing module 230 searches for the resolution of the input video in a list of predefined resolutions; This list of predefined resolutions is advantageously sorted in descending order of resolution, such as 3840x2160, 2880x2160, 1920x1080, ...; Let ε be the index of the input video resolution in said list of predefined resolutions: A. Initialize i = ù+ 1 to start at the first resolution immediately lower than the input video resolution; B. Next, repeat the following steps: • If the value of i is greater than the size of the list of predefined resolutions, then the present invention triggers the distribution of the last encoded video, by said communication module 210, to at least one user; Advantageously, if the last encoded video does not exist, then the present invention returns an error message to said user; • If the value of i is less than or equal to the size of the list of predefined resolutions, then the present invention is configured to select resolution i, and then to: • Transcode the input video by resizing the input video to the selected resolution i and preferably using double-pass encoding, advantageously with said calculated video bitrate; • Evaluate the visual quality of the transcoded video at the selected resolution i using the predetermined metric: • If the visual quality measurement of the video encoded with the selected resolution i is lower than the visual quality of the previous resolution i-1, distribution of the video encoded with the previous resolution i-1, by said communication module 210, to at least one user; • If the visual quality measurement of the video encoded with the selected resolution i is greater than the visual quality of the previous resolution i-1, increment i and repeat step B).

[0140] Advantageously, progressively reducing the resolution of the input video, when the measured visual quality is still above a predetermined threshold, makes it possible to obtain an encoded video with an acceptable memory size while having acceptable visual quality.

[0141] According to another embodiment, the determination of at least one optimized video resolution value may include at least: a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Optionally, modify the audio configuration to reduce the memory size of the audio stream from the input video; c. Estimation, by said data processing module 230, of the throughput required to transcode the input video with the target video resolution and preferably with a visual quality fixed by the encoder; d. If the product of the required bandwidth and the video duration exceeds the selected memory size: i. Search for at least one video resolution configured to optimize the visual quality of said target video through a series of transcodings and video quality measurements via a predetermined metric; then ii. Distribution of the optimized video, by said communication module 210, to at least one user e. If the product of the required bandwidth and the video duration is less than the sum of the selected memory size plus a predefined size margin: i. Dual-pass video encoding with the required bitrate as the target; ii. Distribution of the encoded video, by said communication module 210, to at least one user; f. Otherwise, encoding, by the encoding module 250, of the input video with a quality predetermined by the encoder; then g. Distribution of the optimized video, by said communication module 210, to at least one user.

[0142] According to yet another embodiment, the determination of at least one optimized video resolution value may include at least: a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Optionally, modify the audio configuration to reduce the memory size of the audio stream from the input video; c. Prediction, by said data processing module 230, of the bitrate required to transcode the input video with the target video resolution; d. If the product of the required bandwidth and the video duration exceeds the selected memory size: i. Predict the video resolution that will optimize video quality through at least one transcoding step; then ii. Distribution of the optimized video, by said communication module 210, to at least one user; e. If the product of the required bandwidth and the video duration is less than the selected memory size with a predefined size margin: i. Dual-pass video encoding with the required bitrate as the target; then, ii. Distribution of the optimized video, by said communication module 210, to at least one user; f. Otherwise, encoding, by the encoding module 250, of the input video with a quality predetermined by the encoder; then g. Distribution of the optimized video, by said communication module 210, to at least one user.

[0143] According to one embodiment, the present invention may also include at least the prediction of at least one optimized video resolution value. Preferably, this step of predicting at least one optimized video resolution value may be comprised of at least one of the following: the generation step 150, the decoding step 170, or the encoding step 180.

[0144] Preferably, this step of predicting at least one optimized video resolution value may include at least the following steps: a. Selection, by at least one operator, of a predetermined memory size for a target video; The operator can be a human using their smartphone, for example; alternatively, the operator can be a machine; Calculation, by said data processing module 230, of an average video bitrate required to reach the predetermined memory size using the following formula: [Math 15] x, _ Predetermined_memory_size x8 Debit rate — Video duration Where the memory size is expressed in bytes, the video duration in seconds, and the target bitrate in bits per second; a. Extraction, by said decoding module 240, of the characteristics of the input video; b. Calculation, by said data processing module 230, of the resolution area of ​​the input video; The resolution area preferably corresponds to the size in pixels of each image that makes up the video; It is generally expressed as width x height, for example 1920 x 1080 for high-definition (HD) video. The resolution area determines the level of detail and visual quality of the video; c. Prediction, by said data processing module 230, using at least one predetermined predictive mathematical model, such as for example the PredictionSurface model, of the optimal resolution surface, called SURFACE_OPTIM, by injecting said extracted features, the calculated resolution surface, and the calculated video bitrate into said predictive mathematical model; d. Selection, by said data processing module 230, of a resolution corresponding to the predicted resolution surface in at least one list of predefined resolutions, preferably sorted in descending order of resolution, such as for example: 3840x2160, 2880x2160, 1920x1080, etc.... e. Resizing, by said data processing module 230, of the input video to the resolution contained in said list of predefined resolutions and whose surface corresponds to the predicted optimal surface; f. Double-pass encoding of the input video, by said encoding module 250, with the calculated video bitrate and at the selected resolution; g. Distribution of the encoded video, by said communication module 210, to at least one user.

[0145] Optionally, this prediction step may also include validation by said data processing module 230; preferably this validation may include at least the following steps: i. Verification, by the data processing module 230, whether the video encoded with the resolution immediately lower than the selected resolution allows or does not allow obtaining a better visual quality than the video encoded with the selected resolution; ii. Verification, by the data processing module 230, whether the video encoded with the resolution immediately higher than the selected resolution allows or does not allow obtaining a better visual quality than the video encoded with the selected resolution.

[0146] According to one embodiment, the present invention also includes a process for training at least one predictive mathematical model, such as the PredictionSurface model, configured to predict the optimal resolution surface of a target video. Preferably, this predictive mathematical model is configured to use features extracted from an input video, a resolution surface, and a video bitrate.

[0147] According to one embodiment, the training process comprises at least the following steps: a. Collection of a plurality of training data, preferably via the communication module 210; This plurality of data preferably includes at least one set of videos, advantageously varied in terms of content, resolutions and visual complexities; b. Preparation of training data, including: i. Extracting data features from the plurality of data, preferably from each video in the video set, including the video bitrate and resolution of each video, preferably in pixels, to constitute a dataset. ii. Determining the optimal resolution surface for each video in the video set, with the optimal resolution surface configured to maximize visual quality. c. Division of the dataset into at least one training dataset, one validation dataset, and one test dataset; d. Training of at least one mathematical machine learning model, comprising at least: i. Use of at least one supervised mathematical model, comprising a plurality of hyperparameters, with inputs including extracted features, extracted video bitrates and extracted resolutions, and an output including the optimal resolution surface that maximizes the visual quality score; Preferably, the supervised mathematical model is selected from neural networks (MLP) or gradient boosting-based models (XGBoost, LightGBM). ii. Training of said supervised mathematical model using said training dataset: A. Preferably, use the mean squared error as the loss function to minimize the difference between the predicted resolution surface and the actual resolution surface; B. Preferably, optimization of the hyperparameters of the supervised mathematical model, preferably using a grid or Bayesian search. C. Evaluation of the performance of the trained mathematical model in terms of accuracy in predicting the optimal resolution and the gap between the resolution surface predicted and actual resolution surface, using the validation dataset.

[0148] According to one embodiment, the present invention also includes an adaptation of the aspect ratio to the requirements of the different distribution channels.

[0149] For example, with the diversity of promotional spaces on social networks (news feed, stories, instant articles, etc.), publishers and advertisers must adapt to the specific characteristics of each format. This aspect ratio modification feature of the present invention allows, from an input video, the automatic generation of videos in various aspect ratios and advantageous resolutions for optimized distribution on each platform.

[0150] This approach thus facilitates optimized and eco-responsible management of video content for efficient multi-platform distribution.

[0151] Furthermore, the present invention is preferably configured to reduce the size of the audio stream from an input video.

[0152] Preferably, the reduction of the audio file size is achieved by reducing the number of tracks and advantageously for each track by calculating an appropriate bitrate.

[0153] According to one embodiment, the present invention introduces a new approach based on advanced segmentation and CRF prediction techniques for encoding. The present invention aims to provide consistent visual quality while minimizing the memory size of target videos, advantageously enabling local management of encoding parameters. Unlike global encoding, this approach ensures optimal resource allocation, even for content containing scenes of varying complexity.

[0154] According to one embodiment, the present invention is configured to predict a CRF. This allows for better adjustment of the target visual quality without unduly increasing the size of the target video, preferably using an additional transcoding step for improved accuracy if necessary.

[0155] According to one embodiment, the present invention introduces dynamic segmentation allowing the encoding parameters to be finely adapted to each segment of the video, thus optimizing the quality / memory size ratio according to the specificities of each scene.

[0156] Regarding CRF prediction, this is carried out on each segment independently.

[0157] Indeed, in the prior art, the segments have a fixed size, which limits the efficiency of compression, because this leads to an increase in the number of intra images, resulting either in an increase in the memory required, or in a degradation of visual quality.

[0158] The present invention solves this problem by proposing a segmented encoding method in which the segments have different sizes, thus enabling more dynamic and optimized segment management. The methodology of the present invention emphasizes artifact reduction, thereby ensuring better visual quality and optimization of the memory size of the generated target videos, since the visual quality is reduced until it becomes perceptible.

[0159] Quality adaptation for each segment can be achieved using a multi-pass algorithm (i.e., potentially via several successive transcodes). This approach does not require re-encoding the entire content, but only the relevant segment, thus optimizing processing time. Furthermore, when the initial CRF is correctly calibrated, a single transcode per segment is generally sufficient, thereby reducing transcoding costs and time.

[0160] According to one embodiment, the present invention incorporates a CRF transcoding step to ensure increased accuracy, limiting the VMAF error to less than 1 point, for example. This transcoding preferably uses a configuration optimized for speed and more consistent results.

[0161] Advantageously, the characteristics of the input video are used to model the visual aspects of the video and thus enable the system to adapt the compression according to the content and quality requirements.

[0162] Advantageously, the present invention is configured to take advantage of the computing power of artificial intelligence, in particular machine learning.

[0163] According to one embodiment, the present invention uses a multi-layer neural network. Preferably, this neural network comprises several dense layers that allow for modeling the complex relationships between the video characteristics and the optimal CRF.

[0164] For example, the first dense layer is configured to use the ReLU activation function to capture nonlinearities in the data. Advantageously, this first layer can comprise 256 neurons, for example. It should be noted that the ReLU activation function is well known to those skilled in the art.

[0165] According to one embodiment, this first dense layer can be followed by a plurality of additional dense layers, with, for example, 128, 64, and 32 neurons respectively, and preferably all activated by ReLU. These successive layers allow the predictive mathematical model to capture increasingly finer details in the features extracted from the input video.

[0166] According to one embodiment, the last dense layer is configured to generate the final prediction, and may, for example, comprise only a single neuron. Preferably, this final prediction is the estimated value of the CRF.

[0167] Advantageously, the predictive mathematical model can use the Mean Absolute Error (MAE) loss function to minimize the gap between the predicted CRF values ​​and the target values.

[0168] According to one embodiment, the development of the present invention has led to the development of a CRF prediction methodology that allows for the encoding of entire content while optimizing the average VMAF, thus ensuring optimal visual quality. Furthermore, this method can be effectively applied to segment-based encoding, further improving compression capabilities while maintaining consistent quality throughout the entire content.

[0169] According to one embodiment, the present invention is configured to allow optimal transcoding of videos containing scenes of varying complexity while ensuring homogeneous visual quality and optimized compression.

[0170] For videos with varying levels of complexity, local drops in quality (local minima) may occur, negatively impacting the overall viewing experience. These drops in quality, even if temporary, can compromise the overall perception of the video. Therefore, rigorous management of these minima is essential to achieve a stable and satisfactory level of quality.

[0171] Without local support for these minimums, prior art solutions must increase the overall video quality, thereby increasing its memory size. Indeed, easily encoded video segments whose visual quality is not degraded by a high compression ratio will take up more space if the compression ratio is reduced across the entire video in order to preserve local minimums. The present invention aims to maintain the same visual quality throughout the entire video without increasing the memory size of the target video, thus avoiding any degradation of perceived quality.

[0172] Thanks to local management and local minimums, the present invention offers a solution allowing an optimal compromise between memory size and video quality regardless of the differences in scene complexity within it.

[0173] According to one embodiment, the present invention includes at least one segment encoding allowing the video to be divided into distinct units and the encoding of each segment to be set independently.

[0174] This segmentation offers several advantages: a. Ensuring consistent visual quality: Each segment is encoded with an optimized CRF to achieve a target quality level, for example a VMAF value. This ensures a consistent perceived quality throughout the video. b. Reduction of local artifacts: By adjusting the compression rate for each segment, the present invention makes it possible to reduce visual artifacts that may appear in complex scenes, ensuring optimal quality in critical passages.

[0175] Thanks to advanced quality management through segmentation, the present invention offers a video compression solution that maximizes efficiency while minimizing the memory size of the target videos. It thus meets the growing demands of communication companies for eco-friendly multi-platform distribution.

[0176] According to one embodiment, the present invention includes a step of reducing the frame rate.

[0177] Preferably, this reduction in frame rate includes at least: a. If the visual quality of the video is below a predetermined visual quality threshold, for example by a user, and the number of video frames of the target video is in automatic mode, restart the encoding considering only one frame out of 3 for frame rates that are multiples of 30 or 30000:1001, and one frame out of 2 for other frame rates. b. If the visual quality of the video is still below a predetermined visual quality threshold, use a still image with the corresponding audio stream.

[0178] According to one embodiment, the present invention is configured to transcode an input video with a compression rate sufficient to maintain a defined visual quality while respecting a minimum video bitrate constraint, sometimes imposed by certain platforms for example.

[0179] According to one embodiment, the present invention includes at least one transcoding.

[0180] Preferably, the transcoding includes at least the following steps: a. Optionally, define a target visual quality score dependent on the minimum video bitrate of the input video; b. Perform a double-pass encoding of the input video, aiming for the minimum video bitrate as the target video bitrate; c. Calculate a visual quality score for the encoded video: i. If the visual quality score is greater than or equal to the target visual quality score, distribute the encoded video, via communication module 210, to at least one user; ii. If the visual quality score is lower than the target visual quality score: A. Predict at least one encoding parameter, for example CRF, adapted to the target visual quality score; B. Encode the input video with the predicted encoding parameter, then distribute the encoded video, via communication module 210, to at least one user.

[0181] According to one embodiment, the minimum required visual quality score is tested first; if this score is insufficient, the assumption is made that CRF encoding provides a higher bitrate because a higher quality score is desired. Advantageously, it is possible to verify this video bitrate at the end of the encoding process.

[0182] A further improvement envisaged consists of increasing the prediction model of the encoding parameter, in particular of CRF, to add a prediction of the CRF according to a minimum video input bitrate.

[0183] According to one embodiment, the present invention comprises at least: a. Extracting video features, either through classic techniques (motions, color variation, ...), or through artificial intelligence, such as multi-layer neural networks, for example. b. Prediction of CRF from targeted visual characteristics and quality; c. Predicting the CRF from the characteristics and the desired video bitrate, i.e. the minimum video bitrate.

[0184] In the case where the predicted CRF for targeting the minimum video bitrate is lower than the CRF for the targeted visual quality, the present invention may include the use of segment-based encoding by targeting this video bitrate so as to allow the maintenance of the targeted visual quality.

[0185] Otherwise, the present invention may include encoding the predicted CRF for the targeted visual quality. It is also quick to verify that the resulting video bitrate corresponds to the final quality. If this is not the case, one of the CRF predictions has failed, but it is possible to re-encode with a two-pass variable bitrate (VBR) encoding. This optimization reduces the probability of performing two transcodes and also avoids the calculation of a visual quality score.

[0186] According to one embodiment, the present invention is configured to use a plurality of adjustable visual quality levels to reduce video file size while maximizing perceived visual quality, thereby contributing to a reduction in carbon footprint.

[0187] According to one embodiment, and as illustrated in [Fig. 6], the present invention is configured to achieve a lossless level of visual quality for the human eye. Preferably, this is achieved by a minimum VMAF level. To achieve this objective, the present invention includes transcoding using a predetermined CRF, for example, of 26. After this initial transcoding, the present invention is configured to verify the visual quality score, i.e., the VMAF, for example, to guarantee visual quality. If the visual quality score does not meet the requirements, the CRF is then adjusted accordingly. a. If the visual quality score is too high, the CRF is increased to reduce the size of the target video, while maintaining sufficient visual quality of the target video. b. If the visual quality score is too low, the CRF is decreased to improve the visual quality of the target video.

[0188] Preferably, these adjustments are repeated until the target visual quality level, i.e., score, is reached. Advantageously, the present invention is designed to ensure convergence, even for complex videos where a certain visual quality score may seem difficult to achieve.

[0189] Advantageously, an encoded version of the video is then produced which meets the visual quality objectives while having an optimized target video memory size, i.e. having the minimum memory size required, thus ensuring a level of target visual quality identical to the original visual quality, i.e. the change being invisible to the naked eye.

[0190] According to one embodiment, [Fig. 6] illustrates a process that may sometimes involve several encodings. However, this additional encoding has a minimal impact on the performance of segment encoding, because the re-transcoding is not systematic and only concerns the specified segment, without affecting the entire content.

[0191] According to another embodiment, and as illustrated in [Fig. 7], the present invention is configured to eliminate the iterative aspect described above. Preferably, the present invention includes an initial transcoding, followed by the use of a machine learning mathematical model to directly estimate the new CRF value, thereby enabling the production of an optimized target video—that is, one with the smallest possible memory size while maintaining visual quality without any perceptible loss.

[0192] To this end, the present invention includes extracting features from the initially encoded video, such as a visual quality score obtained with the initial CRF. The machine learning mathematical model is configured to use these features as input, in addition to a target visual quality score, to calculate an optimal CRF adapted to the visual quality requirements. Preferably, the present invention can then include a second transcoding with this optimal CRF so as to obtain the final version of the target video, optimized in terms of memory size and conforming to the target visual quality level.

[0193] According to one embodiment, by relying on a CRF prediction, based on machine learning and taking into account the characteristics of the input stream as well as the desired visual quality, such as VMAF, the process makes it possible to avoid re-transcoding.

[0194] According to another embodiment, and as illustrated in [Fig.8], the transcoding and calculation of a visual quality score necessary for the prediction of an encoding parameter, preferably of the CRF, are replaced by a processing based on the image analysis of the video using predictive mathematical models of the deep neural network type, for example.

[0195] According to one embodiment, the first layers of the deep neural network can be based on a Vision Transformers (ViT) architecture configured for feature extraction in the image domain. To capture the temporal features of the input video, the upper layers of the deep neural network can include long-short-term memory (LSTM) recurrent networks configured to process temporal data such as audio or video.

[0196] Preferably, in order to optimize the prediction time of the predictive mathematical model, the present invention is configured to reduce the size of the input video images to a lower resolution. This optimization allows the lowest layers of the deep neural network, based on convolutional operations, to reduce the number of computations required for inference.

[0197] According to one embodiment, the prediction relies on Deep Learning techniques, thus eliminating the need to extract features from the input video. The model handles feature determination directly by analyzing the raw data of the input video.

[0198] Furthermore, it is possible to leverage the information contained in content compressed using constant bit rate (CBR) or variable bit rate (VBR) for estimating the complexity of the input video. In the case of CBR, the stuffing can be removed, and information equivalent to VBR-encoded content can be obtained. The present invention is then configured to select a subset of video frames to analyze based on the groups of video frames that are most difficult to encode. This search for video frame groups can be based on an inexpensive probe of the input video and the memory size of each frame.

[0199] As previously mentioned, the use of video on social media is becoming increasingly complex, as these platforms now offer several distinct promotional spaces: news feeds, instant articles, stories, and external advertising networks. For publishers and advertisers, this requires adapting to the specific characteristics of each distribution space.

[0200] According to one embodiment, the present invention includes a feature for adapting the aspect ratio, providing an effective and technical response to this challenge by allowing, from an input video, the automatic generation of target video versions adapted to different ratios and resolutions for optimized broadcasting on each platform.

[0201] As an example, the input video was shot in such a way as to allow automatic cropping to suit different formats. Here is a non-exhaustive list of examples of the cropping possible with the present invention: a. 16:9 to 16:9: resizing to 1920x1080, 960x540... etc.... b. 16:9 verse 1:1: Reframing by a centered square from the input video, then resizing to 1080x1080, 960x960, 640x640... etc... c. 16:9 to 9:16: Crop with a centered rectangle from the input video, then resize to 1242x2208, 1080x1920, 750x1624, 750x1334, 720x1280, 640x1136... etc...

[0202] According to one embodiment, the input video was not filmed in such a way as to allow for simple and direct reframing, which makes the version described above potentially inadequate. Automatic framing would risk cutting off essential elements.

[0203] To solve this problem, the present invention can use artificial intelligence to dynamically adjust the cropping. According to this embodiment, a mathematical model of artificial intelligence is configured to preserve areas of interest, such as the faces of the speakers, in order to avoid any unwanted cropping. For example, in a video where several people appear, the present invention is configured so that all faces remain visible, even when resizing to smaller formats.

[0204] Another example of the use of the present invention relates to videos of products in motion. For example, an introductory video shows a product, such as a car or a smartphone. Preferably, the present invention is configured to automatically track the main object throughout the video and to adjust the framing so that the object remains centered, even if the original video was not designed to adapt to different formats. This ensures that the product is always visible and properly framed in the versions cropped for each screen format, without important details being cut off.

[0205] The present invention thus makes it possible to automate the reframing, thereby reducing the time and effort required to produce several versions of a video.

[0206] Furthermore, the present invention makes it possible to reduce the number of intermediate transcodings, thus preserving the original visual quality of the input video.

[0207] Finally, the present invention allows for resource optimization. By reducing the complexity of the process, the operation becomes more environmentally friendly, with less energy and resource consumption.

[0208] According to one embodiment, the present invention includes a step of cropping an input video based on detected areas of interest. Preferably, this step includes at least: a. Extracting keyframes from the input video: i. Segmentation of the input video into a series of representative keyframes. This step avoids unnecessary frame-by-frame analysis and reduces computational costs. b. Detection of key elements in key images: i. Use of at least one pre-trained artificial intelligence mathematical model, such as convolutional neural networks (e.g., YOLO, Faster R-CNN, or MobileNet), to identify the key elements present in each keyframe: A. Human faces: Detection via facial recognition algorithms. B. Main objects: Objects are detected and classified (e.g. cars, electronic products, etc.). C. Text areas: If the input video contains text, such as subtitles or description, these areas are also detected to prevent them from being cut off during automatic cropping. c. Monitoring of key elements detected: i. A detected key element tracking algorithm (e.g., DeepSORT or KLT tracker) is used to maintain consistency between key images and determine the trajectories of moving key elements. d. Definition of areas of interest: i. Classification of areas of interest, preferably including a prioritization of said areas of interest. ii. Prioritization criteria: A. Each detected element is evaluated according to predetermined criteria: • Attention score: Faces and objects that capture attention (e.g., close-up faces or a product in the center) receive a high priority score. • Scene context: Background elements receive a lower priority score unless they add important context, such as a monument visible behind a subject. • Relative dimensions: Key elements detected occupying a large part of the original frame receive a high priority score. e. Determination of optimal zones: i. Use of priority scores by an artificial intelligence mathematical model to define areas of interest to be preserved. For example, areas are marked with frames that include the detected key elements while minimizing unnecessary space. f. Dynamic adjustments: i. If a detected key element moves, the artificial intelligence mathematical model adjusts the position and size of the areas of interest in real time to ensure that no important details are missed. For example, a moving object (such as a car) remains tracked throughout the video. ii. Fitting algorithm: A. We apply an algorithm based on a combination of: • Adaptive resizing: The image is cropped to fit the target format while retaining areas of interest within the field of view. • Weighted interpolation: If several areas of interest coexist (e.g., two faces), the algorithm balances their position in the frame to maximize their visibility. • Visual stabilization: Stabilization techniques are used to avoid abrupt transitions or unpleasant movements when the artificial intelligence mathematical model adjusts the framing across several consecutive images. iii. Final optimization: A. In cases where the target format imposes severe restrictions (such as a vertical format like 9:16), the artificial intelligence mathematical model can apply techniques such as adding fuzzy margins to preserve the integrity of areas of interest.

[0209] For example, in the case of an introductory video with multiple speakers: When a video features several people, the artificial intelligence mathematical model adjusts the framing to include all the important faces.

[0210] For example, in an interview filmed in 16:9 format, the artificial intelligence mathematical model automatically reframes to display the two speakers side by side in a 1:1 version, without cutting off faces.

[0211] For example, in the case of a video showing a moving car. The artificial intelligence mathematical model detects the car as the main object, tracks its movements throughout the video, and adjusts the framing to keep it centered, even in a vertical format. The car thus remains visible and well-framed on a vertical smartphone screen, without compromising the perception of details such as the logo or headlights.

[0212] According to one embodiment, the present invention makes it possible to significantly reduce video quality loss during encoding and decoding by using efficient and adaptive encoding. The present invention improves bandwidth compression and reduces the time required to transmit or store videos, while maintaining acceptable visual quality. Furthermore, the present invention effectively manages compression artifacts that appear during video encoding and decoding, thereby improving overall image quality. In addition, it improves color stability and reduces color artifacts that appear during video encoding and decoding.

[0213] The invention proposes an adaptive video compression control system, integrating segment encoding, a multi-preset method and advanced bitrate controls to automate and optimize according to specific configurations.

[0214] The present invention preferably automatically adjusts video and audio compression parameters to adapt the quality, memory size and / or bit rate of videos to the required specifications, while reducing the carbon footprint associated with the broadcasting processes.

[0215] The present invention is configured to automate several critical steps, relying on several integrated rate controls, using segment-optimized intelligent variable rate encoding.

[0216] The present invention is configured to also automate the generation of multiple variants of an input video in a single process, each version being optimized for the associated configuration, making it possible to target, for example, a specific platform or distribution channel. While reducing human intervention, the present invention decreases storage and computing power requirements, and enables the creation of simpler user workflows and faster, more consistent content distribution across various channels, while also meeting the industry's growing environmental requirements.

[0217] The invention is not limited to the embodiments previously described and extends to all embodiments covered by the claims.

Claims

Demands

1. A computer-implemented method (100) configured to generate a plurality of target videos from an input video, said method (100) being configured to be executed by at least one computer system (200), said method (100) comprising at least the following steps: has. b. Obtaining (110) an input video comprising an input feature set, each feature of the input feature set comprising at least one data field, each data field being configured to include at least one data item and at least one label, the obtaining step (110) comprising; i. Reception of the input video, by at least one communication module (210); ii. Storage of the input video, by at least one storage module (220); Selection (120), by at least one data processing module (230), of N target feature sets, different from the input feature set, each feature of each target feature set of the N target feature sets comprising at least one data field configured to include at least one data item and at least one label, N being equal to or greater than 1; For each target feature set of the N target feature sets: i. Comparison (130), by said data processing module (230), with the input feature set; preferably, said comparison step (130) comprises at least the following steps: • Identification of at least a plurality of data fields, each comprising at least one identical label between the input feature set and the target feature set; • Comparison of at least one data item from at least one field of said plurality of identified data fields so as to determine data fields from the input feature set to be modified, said data fields to be modified being data fields d. f. g- of the same label but with different data; ii. Generation (140), by said data processing module (230), of at least one set of encoding parameters configured to modify at least one data item in at least one data field to be modified so as to match said data item in said data field to be modified with the data item in said field in the target feature set having the same label; Obtaining (150) N sets of encoding parameters, preferably storing the N sets of encoding parameters by said storage module (220); Initialization (160), by said data processing module (230), of N encoders with the N sets of encoding parameters such that each encoder of the N encoders is initialized with at least one set of encoding parameters from the N encoding parameters; Unique decoding (170), by at least one decoding module (240), of the input video, the decoding comprising at least one of: i. Extraction of at least one series of video frames from the input video; and / or ii. Extraction of at least one series of audio frames from the input video; and / or iii. Extraction of at least one series of data frames from the input video; Parallel encoding (180), by at least one encoding module (250) comprising the N encoders, of N videos using the N encoders initialized on the basis of the N sets of encoding parameters, the encoding of each video of the N videos includes at least one of: i. Sending each extracted video frame to at least one of the N encoders initialized with at least one set of N parameters sets of parameters so as to obtain an elementary video stream; and / or ii. Sending each extracted audio frame to at least one of the N encoders initialized with at least one set of parameters from the N parameter sets so as to obtain an elementary audio stream; and / or iii. Sending each extracted data frame to at least one of the N encoders initialized with at least one set of parameters from the N parameter sets so as to obtain an elementary data stream; h. For each encoded video, multiplexing (190), by at least one multiplexing module (260), each elementary stream taken from at least the audio, video and data streams; i. Obtaining (191) N target videos, each target video of the N target videos comprising a target feature set different from the input feature set.

2. Method (100) according to the preceding claim wherein said features are taken from at least: audio resolution, video resolution, audio bitrate, video bitrate, encoder-decoder, visual quality, auditory quality, quality score, width-to-height ratio, subtitling.

3. Method (100) according to any one of the preceding claims wherein the encoding step (180) includes at least modifying the resolution of the input video so as to achieve a predetermined resolution for the target video by modifying the data of the field associated with the resolution of the input video, the predetermined resolution being automatically selected by at least one rate control module and / or by at least one user according to at least one broadcast channel.

4. Method (100) according to any one of the preceding claims wherein the encoding step (180) comprises at least: i. a. Modifying the bitrate of each audio frame of the input video to obtain a modified output bitrate for each audio frame of the target video based on the number of tracks in the input video and at least a predetermined minimum audio bitrate, said modified bitrate being calculated by the following formula: [Math 1] modified bitrate = number of tracks^minpred bitrate b. If the number of audio tracks in the input video is strictly greater than two audio tracks: i. Reducing the number of audio tracks to two audio tracks by performing at least one audio reduction mix, by at least one mixing module; c. If the number of audio channels in the input video is greater than two audio channels: Calculation of an audio quality degradation score, by said data processing module; If the audio quality degradation score is below the predetermined threshold, the number of audio channels will be changed to one audio channel, with the calculation of said degradation score including at least: • The calculation, by said data processing module, of the signal difference between the left and right channels of a stereo audio signal from the input video; • The calculation, by said data processing module, of the mean squared error corresponding to the value of said degradation using the following formula: ii. [Math.2] RMSE = VN where N corresponds to the total number of samples considered in the signal, and L[n] corresponds to the amplitude of the left channel audio signal.

5.

6. to sample n, and R[n] corresponds to the amplitude of the audio signal of the right channel at sample n. Method (100) according to any one of the preceding claims, wherein the decoding step (170) comprises at least one of: a. the determination of an average of the motion of the input video by measuring the average of the intensity of motion in the input video, said average being calculated over the whole of the input video to quantify the overall degree of motion of the input video; b. determining the maximum value of the motion by measuring the highest intensity of motion observed in at least one video frame of the input video; c. the determination of the standard deviation of the motion representing the variation of the motion between the different video frames of the input video; d. the determination of a scene change value by measuring the frequency and / or intensity of transitions between scenes in the input video allowing the detection of variations greater than a predetermined variation threshold in the visual content between two consecutive video frames of the input video; e. the determination of the entropy values ​​of the luminance, blue color and red color components; f. the determination of the initial visual quality of the input video assessed by calculating an initial visual quality score measuring the perceived quality of the input video via the use of at least one predetermined mathematical algorithm, said initial visual quality score. Method (100) according to the preceding claim, wherein the encoding of a target video comprises slicing the input video into a plurality of video frame segments of varying durations, the encoding using an encoding parameter predicted by at least one set of dynamically determined parameters taken from at least: a mean of motion, a motion intensity, a maximum value of motion, a standard deviation of motion, a scene change value, an entropy value, a visual quality score.

7. Method (100) according to any one of the preceding claims comprising at least the determination of at least one optimized video resolution value, the determination of at least one optimized video resolution value comprising at least: has. b. c. d. The selection, by at least one operator, of a memory size for a target video; The calculation, by said data processing module, of an average video bitrate required to reach the selected memory size, preferably using the following formula: [Math 3] x, . Predetermined menor size x8 UeDltcibje— Video duration where the memory size is expressed in bytes, the video duration in seconds, and the target bitrate in bits per second; A first pass of transcoding the input video in a double pass, by said encoding module, preserving the resolution of the input video with a target video bitrate corresponding to the calculated video bitrate; A second pass of transcoding of the input video and the audio stream of the input video in a double pass, by said encoding module, preserving the resolution of the input video with a target video bitrate corresponding to the calculated video bitrate; The calculation, by said data processing module, of a score for the visual quality of the video t transcoded via a predetermined metric: i. If the calculated visual quality score is greater than or equal to a predetermined threshold, distribution of the transcoded video, by said communication module to at least one user; ii. If the calculated visual quality score is below a predetermined threshold, the data processing module searches for the input video resolution in a list of predefined resolutions sorted in descending order of resolution, in which each resolution includes an index, and then selects an index Îq of the input video resolution from said sorted predefined list of resolutions: • Initialization of i = 10 + 1 to start with the first resolution immediately lower than the resolution of the input video; Next, repeat the following steps until a target video is delivered or an error message is displayed: • If the value of i is greater than the size of the list of predefined resolutions, then the present invention triggers the distribution of the last encoded video, by said communication module, to at least one user; if no video has been previously encoded, then at least one error message is sent to said user; • If the value of i is less than or equal to the size of the list of predefined resolutions, then select resolution i, and then: • Transcoding of the input video by resizing the input video to the selected resolution i and using double-pass encoding with said calculated video bitrate; • Calculation of the visual quality score of the transcoded video at the selected resolution i via the predetermined metric:

8. f. If the visual quality score of the video encoded with the selected resolution i is lower than the visual quality score of the previous resolution i-1, distribution of the video encoded with the previous resolution i-1, by said communication module, to at least one user; g. If the visual quality score of the video encoded with the selected resolution i is greater than the visual quality score of the previous resolution i-1, increment i. Method (100) according to any one of claims 1 to 6 comprising at least the determination of at least one optimized video resolution value, the determination of at least one optimized video resolution value comprising at least:

9. a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Estimation, by said data processing module, of the throughput required to transcode the input video with the target video resolution and with a visual quality fixed by the encoder; c. If the product of the required bitrate and the video duration exceeds the selected memory size: i. Search for at least one optimal video resolution configured to maximize the visual quality of the target video through a series of transcodings and visual quality score calculations using a predetermined metric; then ii. Distribution of the transcoded video with said optimal video resolution and respecting the predetermined memory size, by said communication module, to at least one user; d. If the product of the required bandwidth and the video duration is less than the selected memory size with a predefined memory size margin: i. Encoding of the input video in two passes with the required bitrate as the target; ii. Distribution of the encoded video, by said communication module, to at least one user; e. Otherwise, the encoding module encodes the input video with a fixed visual quality score predetermined by the user; then f. Distribution of the video encoded with the optimized video resolution, by said communication module, to at least one user. Method (100) according to any one of claims 1 to 6 comprising at least the determination of at least one optimized video resolution value, the determination of at least one optimized video resolution value comprising at least: a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Estimation, by said data processing module, of the throughput required to transcode the input video with the target video resolution; c. If the product of the required bandwidth and the video duration exceeds the selected memory size: i. Predict the optimal video resolution that will maximize the visual quality score through at least one transcoding; then ii. Distribution of the transcoded video with the optimal video resolution predicted by said communication module to at least one user; d. If the product of the required bandwidth and the video duration is less than the sum of the selected memory size plus a predefined memory size margin: i. Two-pass video encoding with the required bitrate as the target; then, ii. Distribution of the encoded video, by said communication module, to at least one user; e. Otherwise, the encoding module encodes the input video with a fixed visual quality score predetermined by the user; then f. Distribution of the video encoded with the optimized video resolution, by said communication module, to at least one user.

10. Method (100) according to any one of claims 1 to 6 comprising at least the prediction of at least one optimized video resolution value, the prediction of at least one optimized video resolution value comprising at least:

11. a. Selection, by at least one operator, of a predetermined memory size for a target video; b. Calculation, by said data processing module, of an average video bitrate required to reach the predetermined memory size using the following formula: [Math 4] x, . Predetermined menor size x8 UeDltcibje— Video duration where the memory size is expressed in bytes, the video duration in seconds, and the target bitrate in bits per second; c. Extraction, by said decoding module, of the characteristics of the input video; d. Calculation, by said data processing module, of the surface area of ​​the input video resolution; e. Prediction, by said data processing module, using at least one predetermined predictive mathematical model, of the optimal resolution surface by injecting said extracted features, the calculated resolution surface, and the average video bitrate required into said predictive mathematical model; f. Selection, by said data processing module, of a resolution corresponding to the predicted resolution surface in at least one list of predefined resolutions and ranked in descending order of resolutions; g. Resizing, by said data processing module, of the input video to the resolution contained in said list of predefined resolutions and whose surface corresponds to the predicted optimal surface; h. Double-pass encoding of the input video, by said encoding module, with the calculated video bitrate and at the selected resolution; i. Distribution of the encoded video, by said communication module, to at least one user. Method (100) according to the preceding claim comprising at least one training process for at least one predictive mathematical model configured to predict the optimal resolution surface of a target video, the training process comprising at least the following steps: has. b. c. Collection of a plurality of training data, via the communication module, including at least one set of videos; Preparation of training data, including: i. Extracting features from each video in the video set, including the video bitrate and resolution of each video, to create a dataset. ii. Determining the optimal resolution surface for each video in the set of videos; iii. Division of the dataset into at least one training dataset, one validation dataset, and one test dataset; Training at least one mathematical machine learning model, comprising at least: i. Use of at least one supervised mathematical model, comprising a plurality of hyperparameters, with inputs including extracted features, extracted video bitrates and extracted resolutions, and an output including the optimal resolution surface that maximizes the visual quality score; ii. Training of said supervised mathematical model using said training dataset: • Preferably, use the mean squared error as the loss function to minimize the difference between the predicted resolution surface and the actual resolution surface; • Preferably, optimization of the hyperparameters of the supervised mathematical model, preferably using a grid or Bayesian search. iii. Evaluation of the performance of the trained mathematical model in terms of accuracy in predicting the optimal resolution and the gap between the predicted resolution surface and the actual resolution surface, using the validation dataset.

12. Method (100) according to any one of the preceding claims comprising a step of cropping the input video based on areas of interest, this cropping step comprising at least: a. Extraction of a plurality of keyframes from the input video comprising: i. Segmenting the input video into a series of representative keyframes, the segmentation step comprising at least one of the following: • Keyframe search by analyzing the elementary video stream of the input video; and / or • Extracting at least one image from the input video at a predetermined regular time interval; b. Detection of key elements in the keyframes of the plurality of keyframes including: i. The use of at least one pre-trained mathematical artificial intelligence model to identify the key elements present in each keyframe; c. Monitoring of key elements detected, including: i. The use of at least one detected key element tracking algorithm to maintain consistency between key images and determine the trajectories of detected key elements in motion; d. Definition of a plurality of areas of interest including: i. The definition of an area of ​​interest for each key element detected; ii. Assigning a prioritization score to each key element detected; iii. Classification of the key elements detected based on their prioritization score; e. Determination of optimal areas of interest including: i. The use of priority scores by a mathematical artificial intelligence model to define the areas of interest to be preserved; f. Dynamic adjustments including: i. If a detected key element shifts, adjustment is made by the mathematical intelligence model artificial, of the position and / or size of the areas of interest.

13. Product computer program comprising a plurality of instructions which when executed by at least one processor executing method (100) according to any one of claims 1 to 12.

14. Non-transient memory carrier comprising a computer program product according to the preceding claim.

15. A computer system (200) configured to generate a plurality of target videos from an input video, said system comprising at least: a. A communication module (210) configured to receive at least one input video, and to distribute at least one target video; b. A storage module (220) configured to store at least the input video and sets of encoding parameters; c. A data processing module (230) configured to: i. select N different target feature sets from the input feature set; ii. identify the differences between the input feature sets and the target feature sets; iii. modify the encoding settings of the different target videos; iv. N encoders, each of the N encoders being configured to be initialized with a set of encoding parameters, generated by the data processing module based on the selected target feature sets; the N encoders being configured to simultaneously encode N videos using the N sets of encoding parameters. d. A decoding module (240) configured to decode the input video and extract at least one from a series of video, audio and / or data frames; e. An encoding module (250) comprising the N encoders initialized with the N sets of encoding parameters, and being configured to encode N videos in parallel using the N initialized encoders; f. A multiplexing module (260) configured to generate N target videos by multiplexing, for each video of the N videos, each elementary audio, video and data stream.