[go: up one dir, main page]

HK40073926A - Configuration method of decoder, device, medium and electronic equipment - Google Patents

Configuration method of decoder, device, medium and electronic equipment Download PDF

Info

Publication number
HK40073926A
HK40073926A HK42022062856.4A HK42022062856A HK40073926A HK 40073926 A HK40073926 A HK 40073926A HK 42022062856 A HK42022062856 A HK 42022062856A HK 40073926 A HK40073926 A HK 40073926A
Authority
HK
Hong Kong
Prior art keywords
compatibility
configuration
decoding
decoder
processing
Prior art date
Application number
HK42022062856.4A
Other languages
Chinese (zh)
Other versions
HK40073926B (en
Inventor
曹洪彬
陈思佳
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of HK40073926A publication Critical patent/HK40073926A/en
Publication of HK40073926B publication Critical patent/HK40073926B/en

Links

Description

Configuration method, device and medium of decoder and electronic equipment
The present application is based on and claims priority of chinese patent application No. CN202110208285.8 entitled "configuration method of decoder, apparatus, medium, and electronic device", filed 24/02/2021, the entire contents of which are incorporated herein by reference.
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a configuration method of a decoder, a configuration apparatus of a decoder, a computer-readable medium, and an electronic device.
Background
Due to the problems of performance and power consumption, the decoding chip of the terminal device can generate the phenomenon of frame accumulation during decoding. In general, the parameters of the decoding chip are configured to be a real-time communication mode or a low-latency mode to solve the decoding frame accumulation problem.
However, the parameter configuration mode of the decoding chip cannot take the system compatibility problem of the terminal device into consideration, and cannot apply other parameters and interfaces with better indexes, so that the decoding efficiency cannot be optimal.
In view of the above, there is a need in the art to develop a new decoder configuration method and apparatus.
It should be noted that the information disclosed in the above background section is only for enhancement of understanding of the technical background of the present application, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure is directed to a method for configuring a decoder, a device for configuring a decoder, a computer readable medium, and an electronic device, so as to overcome the technical problems of poor compatibility and low decoding efficiency at least to some extent.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to an aspect of an embodiment of the present disclosure, there is provided a method for configuring a decoder, the method including: acquiring decoding parameters of a decoder and a video to be decoded corresponding to the decoder, and determining a parameter configuration rule corresponding to the decoding parameters;
performing rule configuration processing on the decoding parameters according to the parameter configuration rules to obtain parameter configuration results, and performing compatibility logic configuration on the decoding parameters to obtain compatibility detection rules, wherein the compatibility detection rules comprise at least two compatibility grades;
performing parameter grade matching processing on the at least two compatibility grades and the parameter configuration result to obtain at least two compatibility grade configurations, and performing grade configuration selection processing on the at least two compatibility grade configurations to determine one compatibility grade configuration;
decoding abnormity detection processing is carried out on the decoder according to the compatibility grade configuration to obtain an abnormity detection result;
and based on the abnormal detection result, carrying out hardware decoding processing on the video to be decoded to obtain a decoding processing result, and determining the compatibility grade configuration applicable to the decoder according to the decoding processing result.
According to an aspect of the embodiments of the present disclosure, there is provided a configuration apparatus of a decoder, the apparatus including: the rule configuration module is configured to acquire decoding parameters of a decoder and a video to be decoded corresponding to the decoder, and determine parameter configuration rules corresponding to the decoding parameters;
the detection rule module is configured to perform rule configuration processing on the decoding parameters according to the parameter configuration rules to obtain parameter configuration results, and perform compatibility logic configuration on the decoding parameters to obtain compatibility detection rules, wherein the compatibility detection rules comprise at least two compatibility grades;
the level matching module is configured to perform parameter level matching processing on the at least two compatibility levels and the parameter configuration result to obtain at least two compatibility level configurations, and perform level configuration selection processing on the at least two compatibility level configurations to determine a compatibility level configuration;
the abnormity detection module is configured to perform decoding abnormity detection processing on the decoder according to the compatibility grade configuration to obtain an abnormity detection result;
and the decoding processing module is configured to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result based on the abnormal detection result, and determine the compatibility grade configuration applicable to the decoder according to the decoding processing result.
In some embodiments of the present disclosure, based on the above technical solutions, the detection rule module includes: the frame rate setting submodule is configured to perform rule configuration processing on the frame rate setting parameter according to the parameter configuration rule to obtain a frame rate configuration result;
and the storage frame setting submodule is configured to perform rule configuration processing on the decoding storage frame parameters according to the parameter configuration rules to obtain a storage frame configuration result.
In some embodiments of the present disclosure, based on the above technical solutions, the level matching module includes: the frame rate matching submodule is configured to perform parameter level matching processing on the at least two compatibility levels and the frame rate configuration result to obtain compatibility level configuration; and
a frame storing matching sub-module configured to perform parameter level matching processing on the at least two compatibility levels and the frame storing configuration result to obtain compatibility level configuration; and
and the unmatching submodule is configured to not perform parameter level matching processing on the at least two compatibility levels and the frame rate configuration result, and not perform parameter level matching processing on the at least two compatibility levels and the frame hoarding configuration result to obtain compatibility level configuration.
In some embodiments of the present disclosure, based on the above technical solutions, the detection rule module includes: the grade division submodule is configured to perform compatibility grade division processing on the decoding parameter to obtain at least two compatibility grades;
and the logic configuration submodule is configured to perform level logic configuration on the at least two compatibility levels to obtain a compatibility detection rule.
In some embodiments of the present disclosure, based on the above technical solutions, the logic configuration sub-module includes: the level configuration unit is configured to perform compatibility priority configuration on the at least two compatibility levels to obtain compatibility priorities of the at least two compatibility levels;
and the level specifying unit is configured to perform level logic configuration on the at least two compatibility levels according to the compatibility priority to obtain a compatibility detection rule.
In some embodiments of the present disclosure, based on the above technical solutions, the level matching module includes: and the configuration selection submodule is configured to perform level configuration selection processing on the at least two compatibility level configurations according to the compatibility priority to determine a compatibility level configuration.
In some embodiments of the present disclosure, based on the above technical solutions, the decoding processing module includes: and the result exception submodule is configured to determine, if the exception detection result is that the decoder is abnormal, a next compatibility level configuration of the compatibility level configurations in the at least two compatibility level configurations according to the compatibility priority, so as to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result.
In some embodiments of the present disclosure, based on the above technical solutions, the decoding processing module includes: and the decoding normal sub-module is configured to perform hardware decoding processing on the video to be decoded according to the compatibility grade configuration to obtain a decoding processing result if the abnormal detection result indicates that the decoder is normal.
In some embodiments of the present disclosure, based on the above technical solutions, the decoding processing module includes: and the decoding success sub-module is configured to determine that the compatibility grade configuration is applicable to the decoder if the decoding processing result is that the first frame image of the video to be decoded is successfully decoded.
In some embodiments of the present disclosure, based on the above technical solutions, the decoding processing module includes: the decoding failure submodule is configured to perform decoding timeout detection processing on the decoder to obtain a timeout detection result if the decoding processing result is that the decoding of the first frame image of the video to be decoded fails;
a detection result submodule configured to determine a compatibility level configuration applicable to the decoder based on the timeout detection result.
In some embodiments of the present disclosure, based on the above technical solutions, the detection result sub-module includes: and the waiting timeout unit is configured to perform hardware decoding processing on other video frame images except the first frame image in the video to be decoded if the timeout detection result is waiting timeout so as to determine compatibility grade configuration applicable to the decoder.
In some embodiments of the present disclosure, based on the above technical solutions, the detection result sub-module includes: and the time length normal unit is configured to perform decoding anomaly detection processing on the decoder again according to the compatibility grade configuration if the overtime detection result is that the waiting is not overtime so as to determine the compatibility grade configuration applicable to the decoder.
According to an aspect of the embodiments of the present disclosure, there is provided a computer readable medium, on which a computer program is stored, which when executed by a processor implements a configuration method of a decoder as in the above technical solution.
According to an aspect of an embodiment of the present disclosure, there is provided an electronic apparatus including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the configuration method of the decoder as in the above technical solution via executing the executable instructions.
In the technical scheme provided by the embodiment of the disclosure, on one hand, the decoding parameters are subjected to rule configuration processing, the decoding frame accumulation problem of the decoder and the delay problem in the decoding processing process of the decoder hardware are solved, the decoding frame rate is higher, the effect of hardware decoding and quick frame output is realized, and the requirement of a low-delay video service scene is met; on the other hand, compatibility logic configuration and parameter grade matching processing are carried out on the decoding parameters to obtain compatibility grade configuration, the compatibility problem of different decoders is solved, and the optimal decoding performance of the decoders is exerted.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty. In the drawings:
fig. 1 schematically illustrates an architecture diagram of an exemplary system to which the disclosed solution applies;
fig. 2 schematically illustrates a flow chart of steps of a method of configuration of a decoder in some embodiments of the present disclosure;
FIG. 3 schematically illustrates a flow chart of steps of a method of rule configuration processing in some embodiments of the present disclosure;
FIG. 4 schematically illustrates a flow chart of steps of a method of compatibility logic configuration in some embodiments of the present disclosure;
FIG. 5 schematically illustrates a flow chart of steps of a method of hierarchical logic configuration in some embodiments of the present disclosure;
FIG. 6 schematically illustrates a flow chart of steps of a method of parameter level matching processing in some embodiments of the present disclosure;
FIG. 7 schematically illustrates a flow chart of steps of a method of determining a compatibility level configuration applicable to a decoder in some embodiments of the present disclosure;
fig. 8 is a flow chart schematically illustrating steps of a method for configuring a decoder of a terminal device not hoarding frame models in some embodiments of the present disclosure;
fig. 9 is a flow chart schematically illustrating steps of a decoder configuration method for a terminal device that hoards frame models in embodiments of the present disclosure;
fig. 10 schematically illustrates a block diagram of a configuration apparatus of a decoder in some embodiments of the present disclosure;
FIG. 11 schematically illustrates a structural schematic diagram of a computer system suitable for use with an electronic device embodying embodiments of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known methods, devices, implementations, or operations have not been shown or described in detail to avoid obscuring aspects of the disclosure.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and operations/steps, nor do they necessarily have to be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
In the related art in the field, currently, decoders of most terminal devices such as mobile phones and the like integrate factors in various aspects such as performance, power consumption and the like during design, and therefore, after decoding of one video frame is completed inside the decoders such as a decoding chip and the like, a video image cannot be immediately output. For example, a partial decoding chip may have a constraint of decoding bin frames.
The decoding hoarding means that the video frames are buffered in an internal buffer of the decoder, and the video images are not output until the internal buffer is filled.
However, in a low-latency video service scenario, it is necessary to output a video image as soon as possible after decoding one video frame.
Generally, the low-latency scheme is basically configured by corresponding parameters of the android system, that is, set to a real-time communication mode, or set to a low-latency mode to meet the requirements of a low-latency service scenario.
However, android versions are not very compatible. For example, the priority parameter is the parameter introduced by version 6.0 of android, and the low-latency is the parameter introduced by version 11.0 of android. Although these two parameters have been implemented in a proprietary interface by some chip vendors before being formally listed in the android official manual, for most other chips, direct configuration may still present compatibility issues. Taking chip MSM8916 as an example, in the mode configuration using real-time communication, the target frame rate configuration of 60 may cause a configuration failure.
Moreover, the situation that a part of chip manufacturers have private interfaces is not considered. And, configuring according to other parameters of the official documents can also make the decoding efficiency of the chip higher. Of course, compatibility issues need to be considered for the configuration of other parameters as well.
Based on the problems of the above solutions, the present disclosure provides a new configuration method of a decoder based on a cloud technology, a configuration apparatus of a decoder, a computer readable medium, and an electronic device.
Cloud technology refers to a hosting technology for unifying serial resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data.
Cloud technology (Cloud technology) is based on a general term of network technology, information technology, integration technology, management platform technology, application technology and the like applied in a Cloud computing business model, can form a resource pool, is used as required, and is flexible and convenient. Cloud computing technology will become an important support. Background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture-like websites and more web portals. With the high development and application of the internet industry, each article may have its own identification mark and needs to be transmitted to a background system for logic processing, data in different levels are processed separately, and various industrial data need strong system background support and can only be realized through cloud computing.
Among them, Cloud gaming (Cloud gaming) may also be called game on demand (gaming), which is an online game technology based on Cloud computing technology. Cloud game technology enables light-end devices (thin clients) with relatively limited graphics processing and data computing capabilities to run high-quality games. In a cloud game scene, a game is not operated in a player game terminal but in a cloud server, and the cloud server renders the game scene into a video and audio stream which is transmitted to the player game terminal through a network. The player game terminal does not need to have strong graphic operation and data processing capacity, and only needs to have basic streaming media playing capacity and capacity of acquiring player input instructions and sending the instructions to the cloud server.
Cloud Computing reduction (CCEDU) refers to an Education platform service based on Cloud Computing business model application. On the cloud platform, all education institutions, training institutions, enrollment service institutions, propaganda institutions, industry associations, management institutions, industry media, legal structures and the like are integrated into a resource pool in a centralized cloud mode, all resources are mutually displayed and interacted and communicated according to needs to achieve intentions, so that education cost is reduced, and efficiency is improved.
The cloud conference is an efficient, convenient and low-cost conference form based on a cloud computing technology. A user can share voice, data files and videos with teams and clients all over the world quickly and efficiently only by performing simple and easy-to-use operation through an internet interface, and complex technologies such as transmission and processing of data in a conference are assisted by a cloud conference service provider to operate.
At present, domestic cloud conferences mainly focus on Service contents mainly in a Software as a Service (SaaS a Service) mode, including Service forms such as telephones, networks and videos, and cloud computing-based video conferences are called cloud conferences.
In the cloud conference era, data transmission, processing and storage are all processed by computer resources of video conference manufacturers, users do not need to purchase expensive hardware and install complicated software, and efficient teleconferencing can be performed only by opening a browser and logging in a corresponding interface.
The cloud conference system supports multi-server dynamic cluster deployment, provides a plurality of high-performance servers, and greatly improves conference stability, safety and usability. In recent years, video conferences have gained popularity due to the fact that communication efficiency can be greatly improved, communication cost is continuously reduced, and internal management level is upgraded, and the video conferences are widely applied to various fields such as transportation, finance, operators, education, enterprises and the like. Undoubtedly, after the video conference uses cloud computing, the cloud computing has stronger attraction in convenience, rapidness and usability, and the arrival of new climax of video conference application is necessarily stimulated.
In low-delay video service scenes such as cloud games, cloud education, cloud conferences and the like in the cloud technology, the configuration method of the decoder can be used for solving the decoding frame accumulation problem of the decoder and the delay problem of the decoding processing process of the hardware of the decoder, the decoding frame rate is higher, the effect of hardware decoding and quick frame output is realized, the requirement of the low-delay video service scene is met, the compatibility problem of different decoders can be solved, and the optimal decoding performance of the decoder is exerted.
Fig. 1 shows an exemplary system architecture diagram to which the disclosed solution is applied.
As shown in fig. 1, the system architecture 100 may include a terminal 110, a network 120, and a server side 130. Wherein the terminal 110 and the server 130 are connected through the network 120.
The terminal 110 may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, and the like. Network 120 may be any type of communications medium capable of providing a communications link between terminal 110 and server 130, such as a wired communications link, a wireless communications link, or a fiber optic cable, and the like, without limitation. The server 130 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, middleware service, a domain name service, a security service, a CDN, a big data and artificial intelligence platform, and the like.
Specifically, the terminal 110 obtains a decoding parameter of a decoder and a video to be decoded corresponding to the decoder, and determines a parameter configuration rule corresponding to the decoding parameter. Then, according to the parameter configuration rule, the decoding parameter is subjected to rule configuration processing to obtain a parameter configuration result, compatibility configuration is carried out on the decoding parameter to obtain a compatibility detection rule, and the compatibility detection rule comprises at least two compatibility grades. Further, the at least two compatibility grades and the parameter configuration result are subjected to parameter grade matching processing to obtain at least two compatibility grade configurations, and the at least two compatibility grade configurations are subjected to grade configuration selection processing to determine one compatibility grade configuration. And then, decoding abnormity detection processing is carried out on the decoder according to compatibility grade configuration to obtain an abnormity detection result. And finally, based on the abnormal detection result, performing hardware decoding processing on the video to be decoded to obtain a decoding processing result, and determining the applicable compatibility grade configuration of the decoder according to the decoding processing result.
In addition, the configuration method of the decoder in the embodiment of the present disclosure may be applied to a terminal, and may also be applied to a server, which is not particularly limited in the present disclosure. The embodiment of the present disclosure is mainly illustrated by applying the configuration method of the decoder to the terminal 110.
The following detailed description is provided for the configuration method of the decoder, the configuration apparatus of the decoder, the computer readable medium, and the electronic device provided in the present disclosure.
Fig. 2 schematically shows a flow chart of steps of a configuration method of a decoder in some embodiments of the present disclosure, and as shown in fig. 2, the configuration method of the decoder may mainly include the following steps:
s210, acquiring decoding parameters of a decoder and a video to be decoded corresponding to the decoder, and determining parameter configuration rules corresponding to the decoding parameters.
Step S220, carrying out rule configuration processing on the decoding parameters according to the parameter configuration rules to obtain parameter configuration results, and carrying out compatibility logic configuration on the decoding parameters to obtain compatibility detection rules, wherein the compatibility detection rules comprise at least two compatibility grades.
Step S230, parameter grade matching processing is carried out on the at least two compatibility grades and the parameter configuration result to obtain at least two compatibility grade configurations, and grade configuration selecting processing is carried out on the at least two compatibility grade configurations to determine one compatibility grade configuration.
And S240, decoding abnormity detection processing is carried out on the decoder according to compatibility grade configuration to obtain an abnormity detection result.
And S250, based on the abnormal detection result, carrying out hardware decoding processing on the video to be decoded to obtain a decoding processing result, and determining the compatibility grade configuration applicable to the decoder according to the decoding processing result.
In the exemplary embodiment of the disclosure, on one hand, the decoding parameters are subjected to rule configuration processing, the decoding frame accumulation problem of a decoder and the delay problem of the decoding processing process of decoder hardware are solved, the decoding frame rate is higher, the effect of hardware decoding fast frame output is realized, and the requirement of a low-delay video service scene is met; on the other hand, compatibility logic configuration and parameter grade matching processing are carried out on the decoding parameters to obtain compatibility grade configuration, the compatibility problem of different decoders is solved, and the optimal decoding performance of the decoders is exerted.
The following describes each step of the configuration method of the decoder in detail.
In step S210, a decoding parameter of the decoder and a video to be decoded corresponding to the decoder are obtained, and a parameter configuration rule corresponding to the decoding parameter is determined.
In the exemplary embodiment of the present disclosure, decoding is a process of restoring the encoded code stream to the content represented originally, corresponding to encoding. Decoding may include software decoding and hardware decoding.
The software decoding means writing a decoding algorithm on a software level, and utilizing a central processing unit to calculate and process a coded code stream so as to achieve the purpose of decoding. The hardware decoding means decoding the coded code stream by using a hardware decoding device included in the device. The hardware decoding device can comprise a decoder such as a decoding chip.
For example, when the decoder is a decoding chip of an Android system (Android), the decoding parameters may include configurable parameters of an interface provided by the Android, and the interface may include two interfaces, a setInteger interface and a setFeatureEnabled interface. The service method of the system comprises the steps that a setInteger interface is used for binding a parameter with a mapping type of int (shaping), the use method is setInteger (interval), the position is used for specifying the nth parameter, and the val is used for specifying a corresponding parameter value; the setFeatureEnabled interface is used for any specific function such as to be added.
The decoding parameters corresponding to the setInteger interface and the setFeatureEnabled interface may be "priority", "frame-rate", "low-latency", "operating-rate", and may further include corresponding parameters of a private interface provided by a chip vendor, such as "vendor. qti- … -low-latency. enable", "vendor. history- … -low-latency-req", and "vendor … -low-latency. enable". Wherein, the low-latency can be two parameters corresponding to the setInteger interface and the setFeatureEnabled interface respectively.
And the video to be decoded corresponding to the decoder is the video which can be subjected to hardware decoding processing by the decoder.
Further, a parameter configuration rule corresponding to the decoding parameter is determined. The parameter configuration rule may be a rule for correspondingly configuring the decoding parameter according to actual requirements. For example, when the actual requirement is to solve the real-time problem of the video to be decoded, the frame accumulation behavior of the decoder can be removed from the target frame rate and the low latency in the real-time communication mode, and therefore, the parameter configuration rule can divide the decoding parameters from the two aspects so as to make the decoding parameters meet the actual requirement.
Specifically, the decoding parameters corresponding to the target frame rate in the real-time communication mode may include priority, frame-rate and operation-rate, and the parameters corresponding to the bin behavior of the low-latency removal decoder may include low-latency corresponding to the setInteger interface, low-latency corresponding to the setFeatureEnable interface, and corresponding parameters of the chip vendor private interface, such as "vendor. qti- … -low-latency. enable", "vendor. facility- … -low-latency. latency-req" and "vendor … -low-latency. enable".
In step S220, the decoding parameter is subjected to rule configuration processing according to the parameter configuration rule to obtain a parameter configuration result, and the decoding parameter is subjected to compatibility logic configuration to obtain a compatibility detection rule, where the compatibility detection rule includes at least two compatibility levels.
In an exemplary embodiment of the present disclosure, after determining the parameter configuration rule, the decoding parameter may be subjected to a rule configuration process in accordance with the parameter configuration rule.
In an alternative embodiment, the decoding parameters include a frame rate setting parameter and a decoding hoarding parameter, the parameter configuration result includes a frame rate configuration result and a hoarding configuration result, fig. 3 is a flow chart illustrating steps of a method of rule configuration processing, and as shown in fig. 3, the method at least includes the following steps: in step S310, the frame rate setting parameter is subjected to rule configuration according to the parameter configuration rule to obtain a frame rate configuration result.
Wherein, the frame rate setting parameters include priority, frame-rate and operating-rate.
In order to make the frame rate setting parameter satisfy the target frame rate requirement in the real-time communication mode, the priority may be set to 0, the frame-rate may be set to any value between 60 and 120, and the operating-rate may be set to any value between 120 and 240, so as to obtain the frame rate configuration result corresponding to the frame rate setting parameter.
In step S320, a rule configuration process is performed on the decoding frame-storing parameters according to the parameter configuration rule to obtain a frame-storing configuration result.
The decoding context parameters include low-latency corresponding to the setInteger interface, low-latency corresponding to the setFeatureEnabled interface, and corresponding parameters of the chip vendor proprietary interface, such as "vendor. qti- … -low-latency. enable", "vendor. hisi- … -low-latency-req", and "vendor … -low-latency. enable".
In order to solve the low-latency decoder bin problem, the low-latency corresponding to the setInteger interface may be set to 1, the low-latency corresponding to the setFeatureEnable interface may be set to true, and the corresponding parameters of the chip vendor private interface, such as "vector. qti- … -low-latency. enable", "vector. hisi- … -low-latency-req", and "vector … -low-latency. enable", may be set to 1, so as to obtain the bin configuration result corresponding to the decoder bin parameters.
In the present exemplary embodiment, the frame rate setting parameter and the decoding hoarding parameter are subjected to rule configuration processing according to the parameter configuration rule to obtain the corresponding frame rate configuration result and hoarding configuration result, which may provide a data basis for solving the real-time problem of hardware decoding processing.
After the parameter configuration result is obtained, the compatibility logic configuration can be performed on the decoding parameters.
In an alternative embodiment, fig. 4 shows a flowchart of the steps of a method for configuring a compatibility logic, as shown in fig. 4, the method at least comprises the following steps: in step S410, the compatibility grade division processing is performed on the decoding parameter to obtain at least two compatibility grades.
Specifically, 5 compatibility levels can be divided, namely Ultimate (limit level), UltraFast (UltraFast level), Fast (Fast level), LowLatency (low latency level) and Normal (Normal level). In the subsequent process, the decoding parameters can be configured according to the 5 compatibility levels. In addition, other numbers or manners of division may be performed on the compatibility grades according to actual situations and requirements, and this exemplary embodiment is not particularly limited in this respect.
In step S420, a compatibility detection rule is obtained by performing a hierarchical logic configuration on at least two compatibility levels.
In an alternative embodiment, fig. 5 shows a flow chart of the steps of a method of hierarchical logic configuration, as shown in fig. 5, the method comprising at least the steps of: in step S510, compatibility priority configuration is performed on at least two compatibility levels to obtain compatibility priorities of the at least two compatibility levels.
The decoding capability of the Ultimate file is set to be the best, so that the extreme decoding capability of decoders such as decoding chips can be exerted, and the compatibility priority is the highest; setting that UltraFast, Fast and LowLatency files accept or reject decoding parameters to adapt to the compatibility problem of terminals where different decoders are located, so that the compatibility priorities of the UltraFast, Fast and LowLatency files can be set to be the same and lower than that of an Ultrate file, and the compatibility priority of the UltraFast file can also be respectively set to be lower than that of the Ultrate file, while the compatibility priority of the Fast file is lower than that of the UltraFast file, and the compatibility priority of the LowLatency file is lower than that of the Fast file; while Normal file has the weakest decoding capability but the best compatibility, it can be used as a guaranteed-base compatibility grade, so that the priority of the Normal file compatibility is the lowest.
In addition, compatibility priorities of other compatibility levels may also be set according to actual situations and requirements, which is not particularly limited in this exemplary embodiment.
In step S520, a compatibility detection rule is obtained by performing a hierarchical logic configuration on at least two compatibility levels according to the compatibility priority.
After determining the compatibility levels and corresponding compatibility priorities, a level logic configuration may be performed for at least two of the compatibility levels.
Specifically, the compatibility detection rule obtained by the hierarchical logic configuration may be that an Ultimate file is selected first to determine whether the decoder is applicable. When the decoder is not applicable to the Ultimate file, the second selected UltraFast file determines whether the decoder is applicable. When the decoder is not applicable to both the Ultimate and UltraFast files, the third selected Fast file determines whether the decoder is applicable. When the decoder is not applicable to the Ultimate, UltraFast, and Fast files, a fourth selected LowLatency file determines whether the decoder is applicable. When the decoder is not applicable to the Ultimate file, the UltraFast file, the Fast file and the LowLatency file, the Normal file is finally selected to be applicable to the decoder.
In the exemplary embodiment, the compatibility detection rule may be obtained by performing compatibility logic configuration on the decoding parameter, so as to provide a decoding logic for performing hardware decoding processing by using a decoder subsequently, and exert compatibility of different decoders under the condition that the optimal decoding performance of the decoder is exerted to the maximum extent.
In step S230, a parameter level matching process is performed on the at least two compatibility levels and the parameter configuration result to obtain at least two compatibility level configurations, and a level configuration selection process is performed on the at least two compatibility level configurations to determine a compatibility level configuration.
In the exemplary embodiment of the present disclosure, since at least two compatibility levels are already determined in the compatibility detection rule, in order to further determine the corresponding relationship between different compatibility levels and parameter configuration results, parameter level matching processing may be performed on the at least two compatibility levels and the parameter configuration results.
In an alternative embodiment, fig. 6 shows a flow chart of steps of a method of parameter level matching processing, which, as shown in fig. 6, comprises at least the following steps: in step S610, a parameter level matching process is performed on at least two compatibility levels and a frame rate configuration result to obtain a compatibility level configuration.
The two compatibility levels for performing the parameter level matching with the frame rate configuration result may be an Ultimate file and an UltraFast.
Specifically, in the Ultimate file, the frame rate setting parameters to be configured include priority, frame-rate, and operating-rate. The frame-rate and the operating-rate are configured according to the highest value. Wherein the frame-rate is set to 120, and the operating-rate is set to 240.
In the UltraFast profile, the frame rate setting parameters to be configured also include priority, frame-rate, and operating-rate. The frame-rate and operating-rate are configured according to the lowest value. Wherein the frame-rate is set to 60, and the operating-rate is set to 120.
In step S620, a parameter level matching process is performed on at least two compatibility levels and the bin configuration result to obtain a compatibility level configuration.
The two compatibility levels for parameter level matching with the bin configuration result may be Fast and LowLatency.
Specifically, in the Fast file, the low-latency corresponding to the setInteger interface is set to 1, the low-latency corresponding to the setFeatureEnabled interface is set to true, and the corresponding parameters of the chip vendor private interface, such as "vendor.qti- … -low-latency. enable", "vendor.hisi- … -low-latency-req", and "vendor … -low-latency. enable", are set to 1.
In the LowLatency document, low-latency corresponding to the setInteger interface is set to 1, and low-latency corresponding to the setFeatureEnabled interface is set to true.
In step S630, the parameter level matching processing is not performed on the at least two compatibility levels and the frame rate configuration result, and the compatibility level configuration is obtained without performing the parameter level matching processing on the at least two compatibility levels and the frame hoarding configuration result.
The compatibility level that is not matched with the parameter levels of the frame rate configuration result and the bin frame configuration result may be a Normal file. That is, the Normal file does not need to configure any decoding parameter, and it is sufficient to ensure that the decoder can normally output the decoding result.
In the exemplary embodiment, the compatibility level and the parameter configuration result are subjected to parameter level matching processing to obtain corresponding compatibility level configuration, so as to provide a parameter basis for a decoder to perform hardware decoding processing according to the compatibility level, and ensure the low-delay decoding capability of the decoder.
Further, a rating selection process may be performed from the at least two compatibility rating configurations to determine a compatibility rating configuration from the at least two compatibility rating configurations.
In an alternative embodiment, a compatibility level configuration is determined by performing a level configuration selection process on at least two compatibility level configurations according to a compatibility priority.
Since the compatibility detection rule is set according to the compatibility priority corresponding to the compatibility level, when the compatibility level configuration is selected for the first time, the corresponding configuration of the Ultimate file may be selected as the determined compatibility configuration. Instead of selecting the compatibility level configuration for the first time, the next compatibility level configuration of the current compatibility level configuration may be selected according to the compatibility level. But whether the next compatibility level configuration needs to be selected is determined based on whether the current compatibility level configuration reveals a decoder anomaly.
In step S240, the decoder is configured according to the compatibility level to perform decoding anomaly detection processing to obtain an anomaly detection result.
In an exemplary embodiment of the present disclosure, under the current compatibility level configuration, a decoding anomaly detection process may be performed on a decoder to obtain an anomaly detection result. The decoding anomaly detection processing for the decoder may be determined in the process of performing hardware decoding processing on the video to be decoded, or may be determined by a pre-detection means of the hardware decoding processing, which is not particularly limited in this exemplary embodiment. And the anomaly detection result can be both normal decoder and abnormal decoder.
In step S250, based on the anomaly detection result, the video to be decoded is subjected to hardware decoding processing to obtain a decoding processing result, and the compatibility level configuration applicable to the decoder is determined according to the decoding processing result.
In the exemplary embodiment of the present disclosure, since the anomaly detection result is that the decoder is normal and the decoder is abnormal, further hardware decoding processing of the video to be decoded can be realized according to different anomaly detection results.
In an optional embodiment, if the anomaly detection result indicates that the decoder is normal, the hardware decoding processing is performed on the video to be decoded according to the compatibility level configuration to obtain a decoding processing result.
And after the decoder is subjected to decoding abnormity detection processing according to compatibility grade configuration, if the driving layer does not send any abnormal information, the abnormal detection result indicates that the decoder is normal. That is, the decoder is suitable for the current compatibility level configuration, and can further perform hardware decoding processing on the video to be decoded.
In addition to this, the abnormality detection result may be a decoder abnormality, in which case the compatibility level configuration needs to be replaced to determine the compatibility level configuration capable of hardware decoding processing.
In an optional embodiment, if the anomaly detection result is that the decoder is anomalous, a next compatibility level configuration of the compatibility level configurations is determined in the at least two compatibility level configurations according to the compatibility priority, so as to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result.
After the decoder is subjected to decoding anomaly detection processing according to the compatibility grade configuration, if the driving layer sends an anomaly information, the anomaly detection result is that the decoder is abnormal, and therefore the decoder is not suitable for the current compatibility grade configuration.
Further, it may be determined that the next compatibility level configuration of the current compatibility level configuration continues to perform decoding anomaly detection processing according to the compatibility priority, until it is determined that an anomaly detection result corresponding to one compatibility level configuration is normal for the decoder, and then perform hardware decoding processing on the video to be decoded according to the compatibility level configuration.
However, in the decoding processing result obtained by performing hardware decoding processing on the video to be decoded, two types of decoding success and decoding failure may occur, and therefore, it is also necessary to determine compatibility level configuration suitable for the decoder for different decoding processing results.
In an optional embodiment, if the decoding processing result is that the first frame image of the video to be decoded is successfully decoded, it is determined that the compatibility level configuration is the compatibility level configuration applicable to the decoder.
For the terminal device without frame accumulation, when the anomaly detection result is that the decoder is normal and the decoding processing result is that the first frame image of the video to be decoded is successfully decoded, it indicates that the compatibility configuration is not only nominally applicable to the decoder, but also can be successfully decoded in the actual use process, and therefore, the compatibility level configuration is applicable to the compatibility level configuration of the decoder.
In addition, the decoding processing result may also be that the first frame image of the video to be decoded fails to be decoded, so that the decoding timeout detection processing can be performed on the decoder to determine the compatibility level configuration applicable to the decoder.
In an alternative embodiment, fig. 7 shows a flow chart of the steps of a method of determining a compatibility level configuration applicable to a decoder, as shown in fig. 7, the method comprising at least the steps of: in step S710, if the decoding processing result is that the decoding of the first frame image of the video to be decoded fails, the decoder is performed with decoding timeout detection processing to obtain a timeout detection result.
For example, the decoding process of the video to be decoded by the decoder (MediaCodec) may be performed as a result of hardware processing, and the decoding process result is that the first frame image of the video to be decoded fails to be decoded, which indicates that the decoding failure result may be caused by the compatibility level configuration. Therefore, it is possible to add a process of performing decoding timeout detection processing on a decoder to determine that compatibility level configuration is appropriate.
Specifically, the timeout detection processing may be to set a waiting time threshold, so as to determine whether the decoding time of the first frame image of the video to be decoded meets the decoding requirement according to the waiting time threshold. For example, the waiting time threshold may be 10ms, 100ms, or 1s, or other values may be set according to practical situations, which is not particularly limited in the present exemplary embodiment. Therefore, the timeout detection result may include both waiting for timeout and waiting for non-timeout.
In step S720, the compatibility level configuration applicable to the decoder is determined according to the timeout detection result.
In an optional embodiment, if the timeout detection result is waiting for timeout, performing hardware decoding processing on other video frame images except the first frame image in the video to be decoded to determine the compatibility level configuration applicable to the decoder.
And when the decoding duration of the first frame image of the video to be decoded is greater than the waiting duration threshold, or the decoding duration of the first frame image of the video to be decoded is greater than or equal to the waiting duration threshold, indicating that the overtime detection result is waiting overtime.
In this case, in order to avoid the subsequent decoding process of other video frame images from being blocked, the hardware decoding process may be continued on the other video frame images to determine whether the current compatibility level configuration is suitable for the decoder in the subsequent hardware decoding process of the other video frame images. Moreover, the decoding length detection processing can be performed in the subsequent process of performing hardware decoding processing on other video frame images, and the compatibility grade configuration can be replaced when the abnormity detection result is that the decoder is abnormal. That is, the replacement of the compatibility level configuration is not limited to the decoding abnormality detection processing procedure of the first frame image.
When the first frame image is successfully decoded in the process of carrying out hardware decoding processing on other video frame images, determining that the current compatibility grade configuration is suitable for the compatibility grade configuration of a decoder; when the first frame image fails to be decoded in the process of performing hardware decoding processing on other video frame images, the next compatibility level configuration can be selected continuously to perform decoding abnormality detection processing, hardware decoding processing and other processes, so that the compatibility level configuration suitable for the decoder is determined in the remaining compatibility level configurations.
In addition, the timeout detection result may also result in waiting for non-timeout, so that a secondary decoding anomaly detection process is required to determine the compatibility level configuration applicable to the decoder.
In an alternative embodiment, if the timeout detection result is that the wait time is not exceeded, the decoder is subjected to decoding anomaly detection again according to the compatibility level configuration to determine the compatibility level configuration applicable to the decoder.
And when the decoding duration of the first frame image of the video to be decoded is less than or equal to the waiting duration threshold, or the decoding duration of the first frame image of the video to be decoded is less than the waiting duration threshold, indicating that the overtime detection result is waiting overtime.
In this case, it is possible that the terminal device in the frame bin buffers the hardware decoding processing result of the first frame image in the internal buffer of the decoder, so that the hardware decoding processing result of the first frame image is decoded successfully but cannot be perceived. Therefore, to eliminate such frame bin, a secondary decoding anomaly detection process can be performed according to the compatibility level to determine that the first frame image cannot be successfully decoded if the decoder is normal.
Specifically, when the anomaly detection result of the secondary decoding anomaly detection processing is that the decoder is normal, it indicates that the hoarding behavior occurs in the terminal device at this time, so that it can be determined that the current compatibility level configuration is suitable for the compatibility level configuration of the decoder; when the anomaly detection result of the secondary decoding anomaly detection processing is decoder anomaly, the fact that the first frame image cannot be successfully decoded due to decoder anomaly is indicated, so that the next compatibility level can be replaced to perform subsequent decoding anomaly detection processing and hardware decoding processing, and compatibility level configuration suitable for the decoder is determined.
In two exemplary embodiments, the compatibility level configuration applicable to the decoder can be determined according to different timeout detection results, so that the subsequent hardware decoding processing process of other video frame images cannot be blocked, and the compatibility level configuration can be determined under the condition of eliminating the frame accumulation behavior, so that the accuracy is better, and the practicability is stronger.
The following describes a configuration method of a decoder provided in the embodiments of the present disclosure in detail with reference to a specific application scenario.
Fig. 8 is a flowchart illustrating the steps of a method for configuring a decoder of a terminal device not storing frame models, as shown in fig. 8, in step S810, configuring a low latency parameter.
The low-latency parameter configuration may be a rule configuration process of decoding parameters of the decoder according to a parameter configuration rule.
When the terminal device of the frame-free type is a device using the android system, the decoding parameters are mainly configured through MediaFormat (multimedia format), and the decoding parameters are configured according to the transmitted key values through a setInteger interface and a setFeatureEnabled interface. In addition, when the decoder is a decoding chip, the chip manufacturer may also expose a private key name as a decoding parameter.
Specifically, referring to table 1:
TABLE 1
The decoding parameters corresponding to the "real-time communication" configure the decoding chip to be in the real-time communication mode by setting priority and frame-rate, and set the target frame rate in the real-time communication mode. The decoding parameters corresponding to the low delay are configured with low-latency to remove the hoarding frame of the decoding chip, so as to achieve the purpose of fast frame output. The decoding parameters corresponding to the "operating frequency" adjust the operating frequency inside the decoding chip by configuring the operating-rate to adapt to the target frame rate of decoding. The decoding parameters corresponding to the chip manufacturer private interface comprise the private parameters of the manufacturer of the current mainstream decoding chip, and through the configuration of the private parameters, the decoding chip can run at higher efficiency, the frame hoarding behavior in the decoding chip is closed, and the decoding delay is reduced.
Due to the fact that the decoding chips of the android system are various in types, the decoding chips designed by part of chip manufacturers may only support one or more decoding parameters in the table 1, and the decoding parameters in the table 1 may also have compatibility problems, and therefore compatibility detection can be further performed on the decoding parameters.
The decoding parameters in table 1 may have a certain compatibility problem for decoding chips generated by different chip manufacturers, different android system versions, and different video sizes of videos to be decoded.
For example, when a decoding chip such as MSM8916 sets "frame-rate" to 60, it will cause the decoding chip to fail to initialize, and when the video size of the video to be decoded is 1080p, a decoding chip such as SDM670 sets the operating-rate to 240, it will cause the decoding chip to fail to initialize. Therefore, compatibility detection must be performed on the decoding parameters.
First, the decoding parameters are subjected to compatibility grade division processing to obtain 5 compatibility grades, namely, Ultimate (limit grade), UltraFast (UltraFast grade), Fast (Fast grade), LowLatency (low delay grade) and Normal (Normal grade).
Specifically, the Ultimate file is a limit configuration, and all parameters in table 1 are configured in the limit configuration, and are configured according to the highest value. Wherein the frame-rate is set to 120, and the operating-rate is set to 240.
The UltraFast gear is configured UltraFast, all parameters in the table 1 are configured in the gear, and are configured according to the lowest value, at this time, the rame-rate is set to be 60, and the operating-rate is set to be 120.
The Fast file is configured quickly, decoding parameters corresponding to the real-time communication and the operation frequency in the Fast file are not configured, and only the decoding parameters corresponding to the low-delay and the chip manufacturer private interface are configured.
The LowLatency gear is a low-latency configuration, and only decoding parameters corresponding to 'low latency' are configured in the gear.
Normal gear is configured conventionally, and the decoding parameters in the gear in the following table 1 are not configured.
Among the five compatibility levels, the decoding capability of the Ultimate file is the best, the extreme decoding capability of decoders such as decoding chips can be exerted, the decoding frame rate of partial decoding chips can be improved by 5 times compared with that of the Normal file, and therefore the compatibility priority is the highest; setting that UltraFast, Fast and LowLatency files can make choices for decoding parameters to adapt to the compatibility problem of terminals where different decoders are located, so that the compatibility priority of the UltraFast, Fast and LowLatency files can be set to be the same and lower than that of the Ultrate files, and the compatibility priority of the UltraFast files can also be respectively set to be lower than that of the Ultrate files, while the compatibility priority of the Fast files is lower than that of the UltraFast files, and the compatibility priority of the LowLatency files is lower than that of the Fast files; the Normal file has the weakest decoding capability but the best compatibility, and can be used as a bottom-guaranteed compatibility grade to ensure that a decoder can normally decode and output video images.
According to the five compatibility grades, carrying out grade logic configuration from an Ultimate file to a Normal file in sequence according to the compatibility priority to obtain a compatibility detection rule.
Specifically, the compatibility detection rule obtained by the hierarchical logic configuration may be that an Ultimate file is selected first to determine whether the decoder is applicable. When the decoder is not applicable to the Ultimate file, the second selected UltraFast file determines whether the decoder is applicable. When the decoder is not applicable to both the Ultimate and UltraFast files, the third selected Fast file determines whether the decoder is applicable. When the decoder is not applicable to the Ultimate, UltraFast, and Fast files, a fourth selected LowLatency file determines whether the decoder is applicable. When the decoder is not applicable to the Ultimate file, the UltraFast file, the Fast file and the LowLatency file, the Normal file is finally selected to be applicable to the decoder.
Further, the compatibility grade and the parameter configuration result in table 1 are subjected to parameter grade matching processing to obtain compatibility grade configuration.
In the Ultimate document, the frame rate setting parameters to be configured include priority, frame-rate, and operating-rate. The frame-rate and the operating-rate are configured according to the highest value. Wherein the frame-rate is set to 120, and the operating-rate is set to 240.
In the UltraFast profile, the frame rate setting parameters to be configured also include priority, frame-rate, and operating-rate. The frame-rate and the operating-rate are configured according to the lowest value. Wherein the frame-rate is set to 60, and the operating-rate is set to 120.
In the Fast file, low-latency corresponding to the setInteger interface is set to be 1, low-latency corresponding to the setFeatureEnable interface is set to be true, and corresponding parameters of the chip manufacturer private interface, such as "vendor. qti- … -low-latency. enable", "vendor. hisi- … -low-latency-req" and "vendor … -low-latency. enable" are set to be 1.
In the LowLatency document, low-latency corresponding to the setInteger interface is set to 1, and low-latency corresponding to the setFeatureEnabled interface is set to true.
The Normal file does not need to configure any decoding parameter, and the decoder can output the decoding result normally.
And when one selected compatibility grade configuration is successful, the compatibility grade configuration can be recorded as the optimal gear of the decoding chip in a low-delay scene, and subsequent videos to be decoded in the same size are adapted according to the compatibility grade configuration of the gear. However, when the compatibility level configuration fails, the next compatibility level of the compatibility level is switched to for configuration.
Since the compatibility detection rule has been set according to the compatibility priority corresponding to the compatibility level, when the compatibility level configuration is selected for the first time, the corresponding configuration of the Ultimate file may be selected as the determined compatibility configuration. Instead of selecting the compatibility level configuration for the first time, the next compatibility level configuration of the current compatibility level configuration may be selected according to the compatibility level. But whether the next compatibility level configuration needs to be selected is determined based on whether the current compatibility level configuration reveals a decoder anomaly.
In step S820, the decoder is started.
To determine whether the current compatibility level configuration is compatible with the decoder, the decoder may be enabled for subsequent decoding anomaly detection processing.
In step S830, is the decoder abnormal?
Since the decoder configuration and start-up process are asynchronous, it cannot be determined simply by returning to the decision whether the configuration was successful, i.e. whether the compatibility level configuration is applicable to the decoder, i.e. for the decoder, the decoding anomaly detection process needs to be performed according to the current compatibility level configuration.
In step S840, the configuration gear is replaced.
And if the abnormity detection result of the decoding abnormity detection processing is abnormal of the decoder, determining the next compatibility grade configuration of the compatibility grade configurations in at least two compatibility grade configurations according to the compatibility priority, so as to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result.
After the decoder is subjected to decoding anomaly detection processing according to the compatibility grade configuration, if the driving layer sends an anomaly information, the anomaly detection result is that the decoder is abnormal, and therefore the decoder is not suitable for the current compatibility grade configuration.
Further, it may be determined that the next compatibility level configuration of the current compatibility level configuration continues to perform decoding anomaly detection processing according to the compatibility priority, until it is determined that an anomaly detection result corresponding to one compatibility level configuration is normal for the decoder, and then perform hardware decoding processing on the video to be decoded according to the compatibility level configuration.
However, in the decoding processing result obtained by performing hardware decoding processing on the video to be decoded, two types of decoding success and decoding failure may occur, and therefore, it is also necessary to determine compatibility level configuration suitable for the decoder for different decoding processing results.
In step S850, is the first frame decoded successfully?
And if the abnormity detection result is that the decoder is normal, performing hardware decoding processing on the video to be decoded according to compatibility grade configuration to obtain a decoding processing result.
And after the decoder is subjected to decoding abnormity detection processing according to compatibility grade configuration, if the driving layer does not send any abnormal information, the abnormal detection result indicates that the decoder is normal. That is, the decoder is suitable for the current compatibility level configuration, and can further perform hardware decoding processing on the video to be decoded.
For the model without frame accumulation, the decoding result can be judged only by waiting for the output of the first frame image. When the output of the first frame image fails, that is, the decoding processing result is the decoding failure of the first frame image of the video to be decoded, secondary decoding abnormality detection processing may be performed to determine whether the reason why the decoding of the first frame image fails is caused by the failure of compatibility level configuration.
In step S860, the subsequent video frame is decoded.
For the frame-free type, when the decoding processing result of the first frame image is output, it indicates that the first frame image is successfully decoded, so the compatibility level configuration is adapted to the compatibility level configuration of the decoder, and the hardware decoding processing can be performed on other video frame images except the first frame image in the video to be decoded by using the compatibility level configuration.
Fig. 9 is a flowchart illustrating the steps of the decoder configuration method of the terminal device storing frame dosage forms, as shown in fig. 9, in step S910, the low latency parameter configuration is performed.
The low-latency parameter configuration may be a rule configuration process of decoding parameters of the decoder according to a parameter configuration rule.
When the terminal device of the frame-free type is a device using the android system, the decoding parameters are mainly configured through MediaFormat (multimedia format), and the decoding parameters are configured according to the transmitted key values through a setInteger interface and a setFeatureEnabled interface. In addition, when the decoder is a decoding chip, the chip manufacturer may also expose a private key name as a decoding parameter.
Specifically, the decoding parameters shown in table 1 may be referred to. The decoding parameters corresponding to the "real-time communication" configure the decoding chip to be in a real-time communication mode by setting priority and frame-rate, and set a target frame rate in the real-time communication mode. The decoding parameters corresponding to the low delay are configured with low-latency to remove the hoarding frame of the decoding chip, so as to achieve the purpose of fast frame output. The decoding parameters corresponding to the "operating frequency" adjust the operating frequency inside the decoding chip by configuring the operating-rate to adapt to the target frame rate of decoding. The decoding parameters corresponding to the chip manufacturer private interface comprise the private parameters of the manufacturer of the current mainstream decoding chip, and through the configuration of the private parameters, the decoding chip can run at higher efficiency, the frame hoarding behavior in the decoding chip is closed, and the decoding delay is reduced.
Due to the fact that the decoding chips of the android system are various in types, the decoding chips designed by part of chip manufacturers may only support one or more decoding parameters in the table 1, and the decoding parameters in the table 1 may also have compatibility problems, and therefore compatibility detection can be further performed on the decoding parameters.
The decoding parameters in table 1 may have a certain compatibility problem for decoding chips generated by different chip manufacturers, different android system versions, and different video sizes of videos to be decoded.
For example, when a decoding chip such as MSM8916 sets "frame-rate" to 60, it will cause the decoding chip to fail to initialize, and when the video size of the video to be decoded is 1080p, a decoding chip such as SDM670 sets the operating-rate to 240, it will cause the decoding chip to fail to initialize. Therefore, compatibility detection must be performed on the decoding parameters.
First, the decoding parameters are subjected to compatibility grade division processing to obtain 5 compatibility grades, namely, Ultimate (limit grade), UltraFast (UltraFast grade), Fast (Fast grade), LowLatency (low delay grade) and Normal (Normal grade).
Specifically, the Ultimate file is a limit configuration, and all the parameters in table 1 are configured in this position, and are configured according to the highest value. Wherein the frame-rate is set to 120, and the operating-rate is set to 240.
The UltraFast gear is configured UltraFast, all parameters in the table 1 are configured in the gear, and are configured according to the lowest value, at this time, the rame-rate is set to be 60, and the operating-rate is set to be 120.
The Fast file is configured quickly, decoding parameters corresponding to the real-time communication and the operation frequency in the Fast file are not configured, and only the decoding parameters corresponding to the low-delay and the chip manufacturer private interface are configured.
The LowLatency gear is a low-latency configuration, and only decoding parameters corresponding to 'low latency' are configured in the gear.
Normal gear is configured conventionally, and the decoding parameters in the gear in the following table 1 are not configured.
Among the five compatibility levels, the decoding capability of the Ultimate file is the best, the extreme decoding capability of decoders such as decoding chips can be exerted, the decoding frame rate of partial decoding chips can be improved by 5 times compared with that of the Normal file, and therefore the compatibility priority is the highest; setting that UltraFast, Fast and LowLatency files accept or reject decoding parameters to adapt to the compatibility problem of terminals where different decoders are located, so that the compatibility priorities of the UltraFast, Fast and LowLatency files can be set to be the same and lower than that of an Ultrate file, and the compatibility priority of the UltraFast file can also be respectively set to be lower than that of the Ultrate file, while the compatibility priority of the Fast file is lower than that of the UltraFast file, and the compatibility priority of the LowLatency file is lower than that of the Fast file; the Normal file has the weakest decoding capability but the best compatibility, and can be used as a bottom-guaranteed compatibility grade to ensure that a decoder can normally decode and output video images.
According to the five compatibility grades, carrying out grade logic configuration from an Ultimate file to a Normal file in sequence according to the compatibility priority to obtain a compatibility detection rule.
Specifically, the compatibility detection rule obtained by the hierarchical logic configuration may be that an Ultimate file is selected first to determine whether the decoder is applicable. When the decoder is not applicable to the Ultimate file, the second selected UltraFast file determines whether the decoder is applicable. When the decoder is not applicable to both the Ultimate and UltraFast files, the third selected Fast file determines whether the decoder is applicable. When the decoder is not applicable to the Ultimate, UltraFast, and Fast files, a fourth selected LowLatency file determines whether the decoder is applicable. When the decoder is not applicable to the Ultimate file, the UltraFast file, the Fast file and the LowLatency file, the Normal file is finally selected to be applicable to the decoder.
Further, the compatibility grade and the parameter configuration result in table 1 are subjected to parameter grade matching processing to obtain compatibility grade configuration.
In the Ultimate document, the frame rate setting parameters to be configured include priority, frame-rate, and operating-rate. The frame-rate and the operating-rate are configured according to the highest value. Wherein the frame-rate is set to 120, and the operating-rate is set to 240.
In the UltraFast profile, the frame rate setting parameters to be configured also include priority, frame-rate, and operating-rate. The frame-rate and the operating-rate are configured according to the lowest value. Wherein the frame-rate is set to 60, and the operating-rate is set to 120.
In the Fast file, the low-latency corresponding to the setInteger interface is set to 1, the low-latency corresponding to the setFeatureEnabled interface is set to true, and the corresponding parameters of the chip manufacturer private interface, such as "vendor. qti- … -low-latency. enable", "vendor. hisi- … -low-latency-req", and "vendor … -low-latency. enable", are set to 1.
In the LowLatency document, low-latency corresponding to the setInteger interface is set to 1, and low-latency corresponding to the setFeatureEnabled interface is set to true.
The Normal file does not need to configure any decoding parameter, and the decoder can output the decoding result normally.
And when one selected compatibility grade configuration is successful, the compatibility grade configuration can be recorded as the optimal gear of the decoding chip in a low-delay scene, and subsequent videos to be decoded in the same size are adapted according to the compatibility grade configuration of the gear. However, when the configuration of the compatibility level fails, the next compatibility level of the compatibility level is switched to for configuration.
Since the compatibility detection rule has been set according to the compatibility priority corresponding to the compatibility level, when the compatibility level configuration is selected for the first time, the corresponding configuration of the Ultimate file may be selected as the determined compatibility configuration. Instead of selecting the compatibility level configuration for the first time, the next compatibility level configuration of the current compatibility level configuration may be selected according to the compatibility level. But whether the next compatibility level configuration needs to be selected is determined based on whether the current compatibility level configuration reveals a decoder anomaly.
In step S920, the decoder is started.
To determine whether the current compatibility level configuration is compatible with the decoder, the decoder may be enabled for subsequent decoding anomaly detection processing.
In step S930, decoder is abnormal?
Since the decoder configuration and start-up process are asynchronous, it cannot be determined simply by returning to the decision whether the configuration was successful, i.e. whether the compatibility level configuration is applicable to the decoder, i.e. for the decoder, the decoding anomaly detection process needs to be performed according to the current compatibility level configuration.
In step S940, the configuration gear is replaced.
And if the abnormity detection result of the decoding abnormity detection processing is abnormal of the decoder, determining the next compatibility grade configuration of the compatibility grade configurations in at least two compatibility grade configurations according to the compatibility priority, so as to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result.
After the decoder is subjected to decoding anomaly detection processing according to the compatibility grade configuration, if the driving layer sends an anomaly information, the anomaly detection result is that the decoder is abnormal, and therefore the decoder is not suitable for the current compatibility grade configuration.
Further, it may be determined that, according to the compatibility priority, the next compatibility level configuration of the current compatibility level configuration continues to perform decoding anomaly detection processing, until it is determined that an anomaly detection result corresponding to one compatibility level configuration is that the decoder is normal, and then the hardware decoding processing is performed on the video to be decoded according to the compatibility level configuration.
However, in the decoding processing result obtained by performing hardware decoding processing on the video to be decoded, two types of decoding success and decoding failure may occur, and therefore, it is also necessary to determine compatibility level configuration suitable for the decoder for different decoding processing results.
In step S950, is the first frame decoded successfully?
For a terminal device of the frame accumulation type, a specific number of video frames are required to be input for outputting a decoded image. For example, for a terminal with a bin number of 3, a video frame of 4 th frame needs to be transmitted, and a video image of 1 st frame is output. The frame accumulation problem, i.e. the frame accumulation behavior inside the decoding chip is closed, can be solved according to the decoder configuration method shown in fig. 8.
Therefore, the judgment of whether the hardware decoding process of the first frame picture of the frame bin type is successful can also be determined according to the decoding process result of whether the first frame picture is output.
In step S960, wait for timeout?
For some decoding chips produced by small manufacturers and decoding chips of the old generation, the frame hoarding problem may not be solved by the decoder configuration shown in fig. 8. Therefore, a waiting time threshold can be set to perform decoding timeout detection processing on the decoder, so as to block the hardware decoding process of other subsequent video frame images in the detection process.
And if the overtime detection result is that the waiting is not overtime, carrying out decoding abnormity detection processing on the decoder again according to the compatibility grade configuration so as to determine the compatibility grade configuration applicable to the decoder.
And when the decoding duration of the first frame image of the video to be decoded is less than or equal to the waiting duration threshold, or the decoding duration of the first frame image of the video to be decoded is less than the waiting duration threshold, indicating that the overtime detection result is waiting overtime.
In this case, it is possible that the terminal device in the frame bin buffers the hardware decoding processing result of the first frame image in the internal buffer of the decoder, so that the hardware decoding processing result of the first frame image is decoded successfully but cannot be perceived. Therefore, to eliminate such frame bin, a secondary decoding anomaly detection process can be performed according to the compatibility level to determine that the first frame image cannot be successfully decoded if the decoder is normal.
Specifically, when the anomaly detection result of the secondary decoding anomaly detection processing is that the decoder is normal, it indicates that the hoarding behavior of the terminal device occurs at this time, and thus it can be determined that the current compatibility level configuration is suitable for the compatibility level configuration of the decoder; when the anomaly detection result of the secondary decoding anomaly detection processing is decoder anomaly, the fact that the first frame image cannot be successfully decoded due to decoder anomaly is indicated, so that the next compatibility level can be replaced to perform subsequent decoding anomaly detection processing and hardware decoding processing, and compatibility level configuration suitable for the decoder is determined.
In step S970, the subsequent video frame is decoded.
And if the overtime detection result is waiting overtime, performing hardware decoding processing on other video frame images except the first frame image in the video to be decoded so as to determine the applicable compatibility grade configuration of the decoder.
And when the decoding duration of the first frame image of the video to be decoded is greater than the waiting duration threshold, or the decoding duration of the first frame image of the video to be decoded is greater than or equal to the waiting duration threshold, indicating that the overtime detection result is waiting overtime.
In this case, in order to avoid the subsequent decoding process of other video frame images from being blocked, the hardware decoding process may be continued on the other video frame images to determine whether the current compatibility level configuration is suitable for the decoder in the subsequent hardware decoding process of the other video frame images. Moreover, the decoding length detection processing can be performed in the subsequent process of performing hardware decoding processing on other video frame images, and the compatibility grade configuration can be replaced when the abnormity detection result is that the decoder is abnormal. That is, the replacement of the compatibility level configuration is not limited to the decoding abnormality detection processing procedure of the first frame image.
When the first frame image is successfully decoded in the process of carrying out hardware decoding processing on other video frame images, determining that the current compatibility grade configuration is suitable for the compatibility grade configuration of a decoder; when the first frame image fails to be decoded in the process of performing hardware decoding processing on other video frame images, the next compatibility level configuration can be selected continuously to perform decoding abnormality detection processing, hardware decoding processing and other processes, so that the compatibility level configuration suitable for the decoder is determined in the remaining compatibility level configurations.
Based on the application scenarios, the configuration method of the decoder provided by the embodiment of the disclosure, on one hand, performs rule configuration processing on the decoding parameters, solves the problem of frame accumulation in decoding of the decoder and the problem of delay in the decoding processing process of the decoder hardware, has a higher decoding frame rate, realizes the effect of fast frame output in hardware decoding, and meets the requirements of low-delay video service scenarios; on the other hand, compatibility logic configuration and parameter grade matching processing are carried out on the decoding parameters to obtain compatibility grade configuration, the compatibility problem of different decoders is solved, and the optimal decoding performance of the decoders is exerted.
It should be noted that although the various steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that these steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
The following describes embodiments of the apparatus of the present disclosure, which may be used to perform the configuration method of the decoder in the above embodiments of the present disclosure. For the details that are not disclosed in the embodiments of the apparatus of the present disclosure, refer to the embodiments of the configuration method of the decoder described above in the present disclosure.
Fig. 10 schematically shows a block diagram of a configuration apparatus of a decoder in some embodiments of the present disclosure, and as shown in fig. 10, the configuration apparatus 1000 of the decoder may mainly include: a rule configuration module 1010, a probing rule module 1020, a rank matching module 1030, an anomaly detection module 1040, and a decoding processing module 1050.
The rule configuration module 1010 is configured to obtain a decoding parameter of a decoder and a to-be-decoded video corresponding to the decoder, and determine a parameter configuration rule corresponding to the decoding parameter; a detection rule module 1020 configured to perform rule configuration processing on the decoding parameter according to a parameter configuration rule to obtain a parameter configuration result, and perform compatibility logic configuration on the decoding parameter to obtain a compatibility detection rule, where the compatibility detection rule includes at least two compatibility levels; a level matching module 1030 configured to perform a parameter level matching process on the at least two compatibility levels and the parameter configuration result to obtain at least two compatibility level configurations, and perform a level configuration selection process on the at least two compatibility level configurations to determine a compatibility level configuration; the anomaly detection module 1040 is configured to perform decoding anomaly detection processing on the decoder according to compatibility level configuration to obtain an anomaly detection result; the decoding processing module 1050 is configured to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result based on the anomaly detection result, and determine compatibility level configuration applicable to the decoder according to the decoding processing result.
In some embodiments of the disclosure, the probe rules module includes: the frame rate setting submodule is configured to perform rule configuration processing on the frame rate setting parameters according to the parameter configuration rules to obtain a frame rate configuration result;
and the storage frame setting submodule is configured to perform rule configuration processing on the decoding storage frame parameters according to the parameter configuration rules to obtain a storage frame configuration result.
In some embodiments of the disclosure, the rank matching module comprises: the frame rate matching submodule is configured to perform parameter level matching processing on at least two compatibility levels and a frame rate configuration result to obtain compatibility level configuration; and
the frame storage matching submodule is configured to perform parameter level matching processing on at least two compatibility levels and a frame storage configuration result to obtain compatibility level configuration; and
and the unmatching submodule is configured to not perform parameter level matching processing on the at least two compatibility levels and the frame rate configuration result, and not perform parameter level matching processing on the at least two compatibility levels and the frame hoarding configuration result to obtain compatibility level configuration.
In some embodiments of the disclosure, the probe rules module includes: the level division submodule is configured to perform compatibility level division processing on the decoding parameters to obtain at least two compatibility levels;
and the logic configuration submodule is configured to perform hierarchical logic configuration on at least two compatibility levels to obtain a compatibility detection rule.
In some embodiments of the disclosure, a logic configuration submodule includes: the level configuration unit is configured to perform compatibility priority configuration on the at least two compatibility levels to obtain compatibility priorities of the at least two compatibility levels;
and the level specifying unit is configured to perform level logic configuration on at least two compatibility levels according to the compatibility priority to obtain a compatibility detection rule.
In some embodiments of the disclosure, the rank matching module comprises: and the configuration selection submodule is configured to perform level configuration selection processing on at least two compatibility level configurations according to the compatibility priority to determine a compatibility level configuration.
In some embodiments of the disclosure, a decoding processing module comprises: and the result exception submodule is configured to determine the next compatibility grade configuration of the compatibility grade configuration in the at least two compatibility grade configurations according to the compatibility priority if the exception detection result is that the decoder is abnormal, so as to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result.
In some embodiments of the disclosure, a decoding processing module comprises: and the decoding normal sub-module is configured to perform hardware decoding processing on the video to be decoded according to the compatibility grade configuration to obtain a decoding processing result if the abnormal detection result indicates that the decoder is normal.
In some embodiments of the disclosure, a decoding processing module comprises: and the decoding success sub-module is configured to determine compatibility grade configuration to be applicable to the decoder if the decoding processing result is that the first frame image of the video to be decoded is successfully decoded.
In some embodiments of the disclosure, a decoding processing module comprises: the decoding failure submodule is configured to perform decoding overtime detection processing on the decoder to obtain an overtime detection result if the decoding processing result is decoding failure of the first frame image of the video to be decoded;
a detection result submodule configured to determine a compatibility level configuration to be used by the decoder based on the timeout detection result.
In some embodiments of the present disclosure, the probe result sub-module comprises: and the waiting overtime unit is configured to perform hardware decoding processing on other video frame images except the first frame image in the video to be decoded if the overtime detection result is waiting overtime so as to determine the applicable compatibility grade configuration of the decoder.
In some embodiments of the present disclosure, the probe result sub-module comprises: and the time length normal unit is configured to perform decoding anomaly detection processing on the decoder again according to the compatibility grade configuration if the overtime detection result is that the waiting time is not overtime so as to determine the compatibility grade configuration applicable to the decoder.
The specific details of the configuration apparatus of the decoder provided in the embodiments of the present disclosure have been described in detail in the corresponding method embodiments, and therefore are not described herein again.
FIG. 11 illustrates a schematic structural diagram of a computer system suitable for use in implementing an electronic device of an embodiment of the present disclosure.
It should be noted that the computer system 1100 of the electronic device shown in fig. 11 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 11, a computer system 1100 includes a Central Processing Unit (CPU)1101, which can perform various appropriate actions and processes in accordance with a program stored in a Read-Only Memory (ROM) 1102 or a program loaded from a storage section 1108 into a Random Access Memory (RAM) 1103. In the RAM 1103, various programs and data necessary for system operation are also stored. The CPU1101, ROM 1102, and RAM 1103 are connected to each other by a bus 1104. An Input/Output (I/O) interface 1105 is also connected to bus 1104.
The following components are connected to the I/O interface 1105: an input portion 1106 including a keyboard, mouse, and the like; an output section 1107 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 1108 including a hard disk and the like; and a communication section 1109 including a Network interface card such as a LAN (Local Area Network) card, a modem, or the like. The communication section 1109 performs communication processing via a network such as the internet. A driver 1110 is also connected to the I/O interface 1105 as necessary. A removable medium 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is mounted on the drive 1110 as necessary, so that a computer program read out therefrom is mounted into the storage section 1108 as necessary.
In particular, the processes described in the various method flowcharts may be implemented as computer software programs, according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication portion 1109 and/or installed from the removable medium 1111. When the computer program is executed by a Central Processing Unit (CPU)1101, various functions defined in the system of the present application are executed.
It should be noted that the computer readable medium shown in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM), a flash Memory, an optical fiber, a portable Compact Disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer-readable signal medium may include a propagated data signal with computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (15)

1. A method of configuring a decoder, the method comprising:
acquiring decoding parameters of a decoder and a video to be decoded corresponding to the decoder, and determining parameter configuration rules corresponding to the decoding parameters;
performing rule configuration processing on the decoding parameters according to the parameter configuration rules to obtain parameter configuration results, and performing compatibility logic configuration on the decoding parameters to obtain compatibility detection rules, wherein the compatibility detection rules comprise at least two compatibility grades;
performing parameter grade matching processing on the at least two compatibility grades and the parameter configuration result to obtain at least two compatibility grade configurations, and performing grade configuration selection processing on the at least two compatibility grade configurations to determine one compatibility grade configuration;
performing decoding abnormity detection processing on the decoder according to the compatibility grade configuration to obtain an abnormity detection result;
and based on the abnormal detection result, carrying out hardware decoding processing on the video to be decoded to obtain a decoding processing result, and determining the compatibility grade configuration applicable to the decoder according to the decoding processing result.
2. The method of claim 1, wherein the decoding parameters include a frame rate setting parameter and a decoding bin parameter, the parameter configuration result includes a frame rate configuration result and a bin frame configuration result,
the performing rule configuration processing on the decoding parameter according to the parameter configuration rule to obtain a parameter configuration result includes:
carrying out rule configuration processing on the frame rate setting parameters according to the parameter configuration rules to obtain a frame rate configuration result;
and carrying out rule configuration processing on the decoding frame storing parameters according to the parameter configuration rules to obtain a frame storing configuration result.
3. The method according to claim 2, wherein the performing the parameter level matching process on the at least two compatibility levels and the parameter configuration result to obtain at least two compatibility level configurations comprises:
performing parameter grade matching processing on the at least two compatibility grades and the frame rate configuration result to obtain compatibility grade configuration; and
performing parameter grade matching processing on the at least two compatibility grades and the hoarding configuration result to obtain compatibility grade configuration; and
and performing no parameter level matching processing on the at least two compatibility levels and the frame rate configuration result, and performing no parameter level matching processing on the at least two compatibility levels and the frame hoarding configuration result to obtain compatibility level configuration.
4. The method according to claim 1, wherein the performing the compatibility logic configuration on the decoding parameters obtains a compatibility detection rule, and comprises:
performing compatibility grade division processing on the decoding parameters to obtain at least two compatibility grades;
and performing level logic configuration on the at least two compatibility levels to obtain a compatibility detection rule.
5. The method according to claim 4, wherein said performing a hierarchical logic configuration of said at least two compatibility levels results in a compatibility detection rule, comprising:
performing compatibility priority configuration on the at least two compatibility grades to obtain the compatibility priorities of the at least two compatibility grades;
and performing level logic configuration on the at least two compatibility levels according to the compatibility priority to obtain a compatibility detection rule.
6. The method of claim 5, wherein said performing a hierarchy configuration selection process on said at least two compatibility hierarchy configurations to determine a compatibility hierarchy configuration comprises:
and performing grade configuration selection processing on the at least two compatibility grade configurations according to the compatibility priority to determine a compatibility grade configuration.
7. The method according to claim 5, wherein said performing hardware decoding processing on the video to be decoded based on the anomaly detection result to obtain a decoding processing result comprises:
and if the abnormity detection result is that the decoder is abnormal, determining the next compatibility grade configuration of the compatibility grade configurations in the at least two compatibility grade configurations according to the compatibility priority, so as to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result.
8. The method according to any one of claims 1 to 7, wherein the performing, based on the anomaly detection result, a hardware decoding process on the video to be decoded to obtain a decoding process result includes:
and if the abnormal detection result indicates that the decoder is normal, performing hardware decoding processing on the video to be decoded according to the compatibility grade configuration to obtain a decoding processing result.
9. The method according to any one of claims 1 to 7, wherein the determining the compatibility level configuration applicable to the decoder according to the decoding processing result comprises:
and if the decoding processing result is that the first frame image of the video to be decoded is successfully decoded, determining that the compatibility grade configuration is applicable to the decoder.
10. The method according to any one of claims 1 to 7, wherein the determining the compatibility level configuration applicable to the decoder according to the decoding processing result comprises:
if the decoding processing result is that the decoding of the first frame image of the video to be decoded fails, performing decoding overtime detection processing on the decoder to obtain an overtime detection result;
and determining the compatibility grade configuration applicable to the decoder according to the overtime detection result.
11. The method according to claim 10, wherein the determining the compatibility level configuration applicable to the decoder according to the timeout detection result comprises:
and if the overtime detection result is waiting overtime, performing hardware decoding processing on other video frame images except the first frame image in the video to be decoded so as to determine the applicable compatibility grade configuration of the decoder.
12. The method according to claim 10, wherein the determining the compatibility level configuration applicable to the decoder according to the timeout detection result comprises:
and if the overtime detection result is waiting for non-overtime, carrying out decoding abnormity detection processing on the decoder again according to the compatibility grade configuration so as to determine the compatibility grade configuration applicable to the decoder.
13. An apparatus for configuring a decoder, the apparatus comprising:
the rule configuration module is configured to acquire decoding parameters of a decoder and a video to be decoded corresponding to the decoder, and determine parameter configuration rules corresponding to the decoding parameters;
the detection rule module is configured to perform rule configuration processing on the decoding parameters according to the parameter configuration rules to obtain parameter configuration results, and perform compatibility logic configuration on the decoding parameters to obtain compatibility detection rules, wherein the compatibility detection rules comprise at least two compatibility grades;
the level matching module is configured to perform parameter level matching processing on the at least two compatibility levels and the parameter configuration result to obtain at least two compatibility level configurations, and perform level configuration selection processing on the at least two compatibility level configurations to determine a compatibility level configuration;
the abnormity detection module is configured to perform decoding abnormity detection processing on the decoder according to the compatibility grade configuration to obtain an abnormity detection result;
and the decoding processing module is configured to perform hardware decoding processing on the video to be decoded to obtain a decoding processing result based on the abnormal detection result, and determine the compatibility grade configuration applicable to the decoder according to the decoding processing result.
14. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out the method of configuring a decoder according to any one of claims 1 to 12.
15. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of configuring a decoder of any of claims 1 to 12 via execution of the executable instructions.
HK42022062856.4A 2021-02-24 2022-10-27 Configuration method of decoder, device, medium and electronic equipment HK40073926B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110208285.8 2021-02-24

Publications (2)

Publication Number Publication Date
HK40073926A true HK40073926A (en) 2022-12-30
HK40073926B HK40073926B (en) 2023-09-15

Family

ID=

Similar Documents

Publication Publication Date Title
US11417341B2 (en) Method and system for processing comment information
US20210344938A1 (en) Video decoding method and apparatus, computer device, and storage medium
US9218813B2 (en) Voice and/or facial recognition based service provision
CN114501062A (en) Video rendering coordination method, device, equipment and storage medium
US11128879B2 (en) Hybrid decoding
CN113157418A (en) Server resource allocation method and device, storage medium and electronic equipment
CN106817613B (en) Method and device for playing audio and video contents
US11785195B2 (en) Method and apparatus for processing three-dimensional video, readable storage medium and electronic device
US9584788B1 (en) Video storage and video playing
US11706496B2 (en) Echo bullet screen
CA3150211A1 (en) Systems and methods for streamlining multimedia content acquisition
CN111478930A (en) STB cloudification method, system, thin STB, virtual STB and platform, storage medium
US11611483B2 (en) Learning-based dynamic determination of synchronous/asynchronous behavior of computing services
CN113296984A (en) Compatibility parameter determining method and device, electronic equipment and storage medium
CN114205359A (en) Video rendering coordination method, device and equipment
WO2024104307A1 (en) Live streaming video stream rendering method and apparatus, and device, storage medium and product
CN110891195B (en) Method, device and equipment for generating screen image and storage medium
CN116405709A (en) A cloud rendering method and related equipment
CN110611842B (en) Video transmission management method based on virtual machine and related device
US9872074B1 (en) Determining game maturity levels and streaming gaming content to selected platforms based on maturity levels
HK40073926A (en) Configuration method of decoder, device, medium and electronic equipment
CN114979772B (en) Decoder configuration method, decoder configuration device, medium and electronic equipment
HK40073926B (en) Configuration method of decoder, device, medium and electronic equipment
CN111866508A (en) Video processing method, device, medium and electronic equipment
CN117956226B (en) Video decoding method and device of cloud mobile phone