IP Library › Granted Patent US 9,323,545
Granted Patent B2
US 9,323,545 · App. 14/591,308 · Granted Apr 26, 2016

Method, system, module, and storage medium for automatic adaptation of hardware encoding and decoding

Inventor: Xiaocui Ji (Shenzhen, CN)
Assignee: Tencent Technology (Shenzhen) Company Limited
G06F9/44526H04N19/10H04N19/12H04N19/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 9,323,545
App. No.
14/591,308
Granted
Apr 26, 2016
Kind
B2
Abstract

This present disclosure provides a method, system, module, and storage medium for automatic adaptation of hardware encoding and decoding, wherein the method calls a hardware codec of an embedded device to perform encoding and decoding, including the following steps: pre-storing at least one encoding and decoding plugin each of which corresponds to a hardware codec and complies with a pre-defined interface; importing the encoding and decoding plugin and loading the corresponding hardware codec; and encoding or decoding corresponding data. By dynamically loading the plugin, the prevent disclosure solves the problem that the management on different platforms are complex and the compatibilities of different platforms are poor; furthermore, the prevent disclosure improves the encoding and decoding capability of the system and further improves the video quality by reasonably scheduling the hardware codec of the embedded chip.

Claims (52)

1. A method for automatic adaptation of hardware encoding and decoding, comprising:

pre-storing, by an embedded device comprising a hardware codec, at least one encoding and decoding plugin each of which corresponds to the hardware codec and complies with a pre-defined interface;

importing, by the embedded device, the encoding and decoding plugin and loading the corresponding hardware codec; and

encoding or decoding, by the embedded device, corresponding data.

2. The method of claim 1 , further comprising the following step before importing the encoding and decoding plugin and loading the corresponding hardware codec:

verifying, by the embedded device, the encoding and decoding plugin.

3. The method of claim 2 , wherein verifying the encoding and decoding plugin comprises at least one of the following:

creating a software entity;

calling a function interface; and

determining whether a scanned encoding and decoding plugin has already existed.

4. The method of claim 1 , wherein encoding or decoding corresponding data comprises:

implementing, by a callback function, data input and output interactions between the encoding and decoding plugin and a main program.

5. The method of claim 4 , wherein implementing data input and output interactions between the encoding and decoding plugin and a main program comprises:

registering, by the main program, the callback function to the encoding and decoding plugin via a defined interface;

storing, by the encoding and decoding plugin, the callback function;

receiving, by the main program, data to be encoded and decoded;

calling, by the encoding and decoding plugin, an encoding and decoding function;

if a data space is required for performing encoding and decoding, the encoding and decoding plugin calling the callback function and applying to the main program for the data space;

applying, by the main program, for the data space for the encoding and decoding plugin; and

calling the callback function to return to the main program after the encoding and decoding operation is finished.

6. A video communication encoding and decoding method implemented by a hardware codec of an embedded device, comprising:

pre-storing at least one encoding and decoding plugin each of which corresponds to the hardware codec and complies with a pre-defined interface;

scanning the pre-stored encoding and decoding plugin and obtaining a capability value of the hardware codec corresponding to the encoding and decoding plugin according to a plugin interface;

comparing capability values of hardware codecs of both communication sides;

importing needed encoding and decoding plugin according to the comparison result and loading the corresponding hardware codec; and

encoding or decoding corresponding data.

7. The method of claim 6 , further comprising:

pre-setting a software codec corresponding to one pre-stored encoding and decoding plugin; and

loading the software codec when both communication sides are not provided with corresponding encoding and decoding plugins and encoding or decoding the data.

8. The method of claim 6 , wherein scanning the pre-stored encoding and decoding plugin and obtaining a capability value of the hardware codec corresponding to the encoding and decoding plugin according to a plugin interface comprises:

verifying the scanned encoding and decoding plugin.

9. The method of claim 8 , wherein verifying the scanned encoding and decoding plugin comprises:

creating a software entity;

calling a function interface; and

judging whether the scanned encoding and decoding plugin has already existed.

10. The method of claim 6 , wherein encoding or decoding corresponding data comprises:

implementing, by a callback function, data input and output interactions between the encoding and decoding plugin and a main program.

11. The method of claim 10 , wherein implementing data input and output interactions between the encoding and decoding plugin and a main program comprises:

registering, by the main program, the callback function to the encoding and decoding plugin via a defined interface;

storing, by the encoding and decoding plugin, the callback function;

receiving, by the main program, data needed to be encoded and decoded;

calling, by the encoding and decoding plugin, an encoding and decoding function;

if a data space is required for performing the encoding and decoding, the encoding and decoding plugin calling the callback function and applying to the main program for the data space;

applying, by the main program, for the data space for the encoding and decoding plugin; and

calling the callback function to return to the main program after the encoding and decoding operation is finished.

12. A system for automatic adaptation of hardware encoding and decoding, comprising:

a hardware codec integrated in an embedded chip;

a storage unit configured to store at least one encoding and decoding plugin each of which corresponds to the hardware codec and complies with a pre-defined interface; and

a main program module configured to import the encoding and decoding plugin, load the corresponding hardware codec, and encode or decode corresponding data.

13. The system of claim 12 , wherein the main program module further comprises a software codec, the main program module loads the software codec to encode or decode the data when both communication sides are not provided with corresponding hardware codecs, and the software codec corresponds to one pre-stored encoding and decoding plugin.

14. The system of claim 12 , the main program module further comprises a verification unit configured to verify the encoding and decoding plugin.

15. The system of claim 12 , wherein data input and output interactions between the encoding and decoding plugin and the main program module are implemented by a callback function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: JI, XIAOCUI
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 034673/0880 →
Priority Claims (1)
CN 2012 1 0327240 · Sep 6, 2012 · national
Continuity (2)
Continuation PCTCN2013082673 · Aug 30, 2013
Related Publication 20150128155A1 · May 7, 2015