IP Library Granted Patent US 12,341,983
Granted Patent B2
US 12,341,983 · App. 18/007,211 · Granted Jun 24, 2025

Integrating an encoder for hierarchical video coding

Inventors: Fabio Murra (London, GB); Robert Johnson (London, GB)
Assignee: V-NOVA INTERNATIONAL LIMITED
H04N19/33G06F9/44526H04N19/30H04N19/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,341,983
App. No.
18/007,211
Granted
Jun 24, 2025
Kind
B2
Abstract

A video encoder is provided that has: one or more encoder plug-ins that provide a wrapper for one or more respective base codecs to implement a base encoding layer, each wrapper implementing an interface for data exchange with a corresponding base codec, the base encoding layer being configured to encode and decode a video signal; an enhancement encoder to implement an enhancement encoding layer, the enhancement encoder being configured to: receive a decoded video signal from one of the one or more encoder plug-ins, the decoded video signal comprising a decoded version of an encoded video signal generated by said one of the one or more encoder plug-ins, and generate an encoded enhancement signal for the encoded video signal, the encoded enhancement signal comprising one or more layers of residual data, the residual data being generated based on a comparison of data derived from the decoded video signal and data derived from an input video signal, and, an encoder integration layer to control operation of the one or more encoder plug-ins and the enhancement encoder to generate an encoding of the input video signal using the base encoding layer and the enhancement encoding layer, wherein the encoder integration layer provides a control interface for the video encoder. A system, methods and computer readable medium are also provided.

Claims (40)

1. A video encoder comprising:

one or more encoder plug-ins that provide a wrapper for one or more respective base codecs to implement a base encoding layer, each wrapper implementing an interface for data exchange with a corresponding base codec, the base encoding layer being configured to encode and decode a video signal;

an enhancement encoder to implement an enhancement encoding layer, the enhancement encoder being configured to:

receive a decoded video signal from one of the one or more encoder plug-ins, the decoded video signal comprising a decoded version of an encoded video signal generated by said one of the one or more encoder plug-ins, and

generate an encoded enhancement signal for the encoded video signal, the encoded enhancement signal comprising one or more layers of residual data, the residual data being generated based on a comparison of data derived from the decoded video signal and data derived from an input video signal, and,

an encoder integration layer to control operation of the one or more encoder plug-ins and the enhancement encoder to generate an encoding of the input video signal using the base encoding layer and the enhancement encoding layer,

wherein the encoder integration layer provides a control interface for the video encoder.

2. The video encoder according to claim 1 , wherein the encoder integration layer is configured to: receive ownership of a frame of the input video signal; instruct encoding of the frame by the one or more encoding plug-ins and the enhancement encoder; and, provide a pointer to a location of output data upon request via the control interface.

3. The video encoder according to claim 2 , wherein the pointer is provided within a data structure further comprising ancillary information associated with the encoding of the input video signal.

4. The video encoder according to claim 1 , wherein the encoder integration layer is further configured to create a data structure for a type of frame to be encoded from the frame of the input video signal, the data structure comprising a set of planes which collectively make up the frame, and to populate the planes with frame data from the frame of the input video signal.

5. The video encoder according to claim 1 , wherein the encoder integration layer is further configured to identify that a frame is externally allocated and retrieve a data structure comprising a set of planes which collectively make up a frame of the input video signal and a set of parameters necessary to encode the frame.

6. The video encoder according to claim 1 , wherein the encoder integration layer is configured to obtain a set of encoding properties and, upon initialisation of the encoder integration layer, via the control interface, confirm successful initialisation according to the encoding properties.

7. The video encoder according to claim 6 , wherein the encoder integration layer is configured to receive a further set of encoding properties and instruct a reconfiguration of the base encoder layer using the one or more encoder plug-ins.

8. The video encoder according to claim 1 , wherein the encoder integration layer is configured to: obtain a set of configuration defaults; retrieve a configuration data structure comprising one or more configuration properties; and override a configuration default of the set of configuration defaults corresponding to the one or configuration properties.

9. The video encoder according to claim 1 , wherein the control interface comprises a set of predefined queries, wherein the encoder integration layer is configured to receive a query from the set of predefined queries and return a corresponding encoding or configuration property of the encoder integration layer.

10. The video encoder according to claim 1 , wherein the control interface comprises a set of predefined metadata queries, the encoder integration layer is configured to receive a query for one or more metadata properties, wherein the encoder integration layer is configured to retrieve metadata from the one or more encoder plug-ins and return a read-only metadata property corresponding to the one or more metadata properties.

11. The video encoder according to claim 1 , wherein the control interface comprises a set of predefined metadata queries, and wherein the encoder integration layer is configured to receive a query for one or more metadata properties, and the encoder integration layer is configured to retrieve metadata from the one or more encoder plug-ins and return a location of a block of memory storing the metadata in response to the query.

12. The video encoder according to any-preceding claim 1 , wherein the control interface provides a set of predetermined optimisation instructions and wherein the encoder integration layer is configured to receive one or more of the predetermined instructions and optimise the operation of the one or more encoder plug-ins and the enhancement encoder in accordance with a predefined variant corresponding to the received instructions.

13. A method of encoding a video signal using a video encoder, the method comprising:

initialising an encoder integration layer;

while there are frames to encode of an input video signal:

retrieving an input frame of the input video signal and passing ownership of the frame to the video encoder via a control interface;

waiting for the video encoder to encode the input frame and subsequently fetching output data; and

releasing ownership of the output data back to the encoder integration layer, and shutting down the encoder integration layer.

14. A non-transitory computer readable medium comprising instructions which, when executed by a processor, cause the processor to carry out the method of claim 13 .

15. A video encoding system, comprising:

a video encoder according to claim 1 ;

one or more base codecs; and,

an application layer which provides one or more calls to the video encoder via the control interface to instruct video encoding.

16. The video encoding system according to claim 15 , wherein the application layer is configured to, via the control interface:

initialise the encoder integration layer;

while there are frames to encode of an input video signal:

retrieve an input frame of the input video signal and pass ownership of the frame to the video encoder via the control interface;

wait for the video encoder to encode the input frame and subsequently fetch output data; and,

release ownership of the output data back to the encoder integration layer, and shut down the encoder integration layer.

17. An encoder integration layer to control operation of one or more encoder plug-ins and an enhancement encoder to generate an encoding of an input video signal using a base encoding layer and an enhancement encoding layer, wherein the encoder integration layer provides a control interface for a video encoder,

wherein the one or more encoder plug-ins provide a wrapper for one or more respective base codecs to implement the base encoding layer, each wrapper implementing an interface for data exchange with a corresponding base codec, the base encoding layer being configured to encode and decode a video signal; and,

the enhancement encoder implements an enhancement encoding layer, the enhancement encoder being configured to:

receive a decoded video signal from one of the one or more encoder plug-ins, the decoded video signal comprising a decoded version of an encoded video signal generated by said one of the one or more encoder plug-ins, and

generate an encoded enhancement signal for the encoded video signal, the encoded enhancement signal comprising one or more layers of residual data, the residual data being generated based on a comparison of data derived from the decoded video signal and data derived from the input video signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2025
From: MURRA, FABIO; JOHNSON, ROBERT
To: V-NOVA INTERNATIONAL LIMITED
Reel/Frame 071208/0178 →
Priority Claims (2)
GB 2011670 · Jul 28, 2020 · national
GB 2018734 · Nov 27, 2020 · national
Continuity (1)
Related Publication 20230262240A1 · Aug 17, 2023
References Cited (7)
US 9060175B2 · Wang · 2015 [cited by examiner]
US 20210297729A1 · Fersch · 2021 [cited by examiner]
WO 2020212701 · 2020 [cited by applicant]
Ozer Jan: “How to Encode With Lcevc”, Streaming Media Magazine, Mar. 12, 2020 (Mar. 12, 2020), XP055853828. [cited by applicant]
Test Model 4.1 of Low Complexity Enhancement Video Coding, Conference Proceedings Article, Jun. 6, 2020 130. MPEG meeting; Apr. 20, 2020-Apr. 24, 2020; Alpbach; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG 11), … [cited by applicant]
The OpenMAX Integration Layer standard CELF Embedded Linux Conference 2007, Apr. 19, 2007, elinux.org https://elinux.org/images/e/e0/The_OpenMAX_Integration_Layer_standard.pdf. [cited by applicant]
International Search Report & Written Opinion for application No. PCT/GB2021/051951 mailed on Mar. 11, 2021. [cited by applicant]