Systems and methods for video coding
A system for low complexity and/or energy efficient encoding includes an encoding device, the encoding device configured to select a video application for an input video, set at least a boundary parameter, determine at least a goal parameter, generate a plurality of tool combinations, wherein each tool combination of the plurality of tool combinations has fewer tools than the full encoder toolset, tabulate measurements of each tool combination of the plurality of tool combinations, and select a tool combination of the plurality of tool combinations, wherein the selected tool combination generates optimal measurements as a function of the at least a goal parameter. An energy measurement device may be coupled to the encoding device and the selected tool combination may achieve the goal parameter at the highest energy efficiency.
1 . A method of video encoding, the method comprising:
selecting, by an encoding device, a video application for an input video;
setting, by the encoding device, at least a boundary parameter;
determining, by the encoding device, at least a goal parameter;
generating, by the encoding device, a plurality of tool combinations, wherein each tool combination of the plurality of tool combinations is a subset of the full encoder toolset;
tabulating, by the encoding device, performance and power consumption measurements of each tool combination of the plurality of tool combinations during video encoding; and
selecting, by the encoding device, a tool combination of the plurality of tool combinations, as a function of the performance and power consumption measurements and the at least a goal parameter.
2 . The method of claim 1 , wherein setting the boundary parameter includes setting a maximal bitrate.
3 . The method of claim 2 , wherein determining the at least a goal parameter further comprises:
measuring, by the encoding device and for a full encoder toolset, at least an output parameter; and
determining the at least a goal parameter as a function of the at least an output parameter.
4 . The method of claim 2 , wherein selecting the tool combination further comprises selecting the tool combination as a function of a rate of the tool combination, a performance of the tool combination, and a complexity of the tool combination.
5 . The method of claim 4 , wherein function reduces encoder complexity.
6 . The method of claim 4 , wherein the function optimizes compression performance for the goal parameter.
7 . The method of claim 4 , wherein the function minimizes divergence from a set output rate.
8 . The method of claim 1 , wherein selecting the tool combination further comprises selecting the tool combination as a function of a machine-learning model.
9 . The method of claim 8 , wherein the machine-learning model further comprises a hybrid neural network.
10 . The method of claim 1 , further comprising:
determining that at least a tool combination of the plurality of tool combinations has a parameter violating the at least a boundary parameter; and
eliminating the at least a tool combination.
11 . A system for energy-efficient video encoding, the system comprising a power source, a video encoding device and a power measurement device coupled to the power source and encoding device for measuring power consumed by the encoding device, the encoding device configured to:
select a video application for an input video;
set at least a boundary parameter;
determine at least a goal parameter;
generate a plurality of tool combinations, wherein each tool combination of the plurality of tool combinations has fewer tools than the full encoder toolset;
tabulate performance measurements and power consumption measurements of each tool combination of the plurality of tool combinations; and
select a tool combination of the plurality of tool combinations, wherein the selected tool combination generates an optimal combination of performance and power consumption during video encoding.
12 . The encoding device of claim 11 , wherein setting the boundary parameter includes setting a maximal performance.
13 . The encoding device of claim 11 , wherein determining the at least a goal parameter further comprises:
measuring, by the encoding device and for a full encoder toolset, at least an output parameter; and
determining the at least a goal parameter as a function of the at least an output parameter.
14 . The encoding device of claim 11 , wherein selecting the tool combination further comprises selecting the tool combination as a function of a machine-learning model.
15 . The encoding device of claim 14 , wherein the machine-learning model further comprises a hybrid neural network.
16 . The encoding device of claim 11 , further configured to:
determine that at least a tool combination of the plurality of tool combinations has a parameter violating the at least a boundary parameter; and
eliminate the at least a tool combination.