CN111510706B - 硬件编、解码支持度检测方法、终端及存储介质 - Google Patents
硬件编、解码支持度检测方法、终端及存储介质 Download PDFInfo
- Publication number
- CN111510706B CN111510706B CN202010316091.5A CN202010316091A CN111510706B CN 111510706 B CN111510706 B CN 111510706B CN 202010316091 A CN202010316091 A CN 202010316091A CN 111510706 B CN111510706 B CN 111510706B
- Authority
- CN
- China
- Prior art keywords
- video stream
- hardware
- terminal
- hard
- decoding
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 238000012360 testing method Methods 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 8
- 238000012423 maintenance Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例涉及视频处理技术领域,公开了一种硬件编、解码支持度检测方法、终端及存储介质,包括:获取测试视频流,并将所述测试视频流解码得到标准图像组;利用终端的硬件编码器对所述标准图像组进行编码得到硬编视频流;根据所述测试视频流和所述硬编视频流确定是否启用所述终端的硬件编码器。且若判断启用所述终端的硬件编码器,则利用所述终端的硬件解码器对所述硬编视频流进行解码得到解码图像组;根据所述标准图像组以及所述解码图像组确定是否启用所述终端的硬件解码器,实现自动检测终端的硬件编、解码支持度,降低终端的硬件编、解码支持度检测的成本。
Description
技术领域
本发明实施例涉及视频处理技术领域,特别涉及一种硬件编、解码支持度检测方法、终端及存储介质。
背景技术
随着短视频如抖音的兴起以及内容平台如优酷、腾讯等视频制作日臻完善,终端用户对高清视频的播放和观看需求也越来越多。传统视频在终端上播放主要靠终端CPU的软编解码计算能力,然而随着高清视频越来越多、视频体积越来越大,依靠CPU进行软编解码所占用的计算能力越大,因此绝大多数终端生产厂家在终端中提供了独立的硬件编解码模块如GPU或DSP,并提供相应的API接口以供调用,从而将CPU的计算能力解放出来。但由于终端生产厂商以及操作系统的不同,虽然提供了标准的API接口,但对不同型号的终端来说各自对于标准API接口的支持程度仍有不同。
为满足终端硬件编解码的兼容性,业内比较主流的调用硬件编解码的方法是使用白名单检测机制。白名单是指在后台服务器端记录当前终端App的编解码程序已经支持的终端型号和相关硬件编解码信息的列表,当App启动时联网获取后台白名单列表,检查宿主终端和编解码信息是否在白名单中。如果在白名单中,则启动硬件编解码的代码模块调用终端系统提供的硬件编解码的API接口,使用GPU或DSP进行编解码;否则,调用软编解码API使用CPU进行编解码。
然而,发明人发现现有技术中至少存在如下问题:基于白名单的硬件编解码方案已被业内广泛使用,但它的局限之处是市面上每新增一款终端,都要进行专门测试和记录。如有必要,还需要调整APP代码与该终端系统提供的硬编解码API的集成,使之实现对新款终端硬件编解码API的正确调用。因此专门的硬件测试和维护白名单的成本会随着支持不同终端型号数量的增多而逐渐增大。
发明内容
本发明实施方式的目的在于提供一种硬件编、解码支持度检测方法、终端及存储介质,实现自动检测终端的硬件编、解码支持度,降低终端的硬件编、解码支持度检测的成本。
为解决上述技术问题,本发明的实施方式提供了一种硬件编码支持度检测方法,包括:获取测试视频流,并将所述测试视频流解码得到标准图像组;利用终端的硬件编码器对所述标准图像组进行编码得到硬编视频流;根据所述测试视频流和所述硬编视频流确定是否启用所述终端的硬件编码器。
本发明的实施方式还提供了一种硬件解码支持度检测方法,包括:获取测试视频流,并将所述测试视频流解码得到标准图像组;利用终端的硬件编码器对所述标准图像组进行编码得到硬编视频流;根据所述测试视频流和所述硬编视频流确定是否启用所述终端的硬件编码器;若判断启用所述终端的硬件编码器,则利用所述终端的硬件解码器对所述硬编视频流进行解码得到解码图像组;根据所述标准图像组以及所述解码图像组确定是否启用所述终端的硬件解码器。
本发明的实施方式还提供了一种终端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的硬件编码支持度检测方法,或硬件解码支持度检测方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的硬件编码支持度检测方法,或硬件解码支持度检测方法。
本发明实施方式相对于现有技术而言,提供了一种硬件编码支持度检测方法,包括:获取测试视频流,并将测试视频流解码得到标准图像组;利用终端的硬件编码器对标准图像组进行编码得到硬编视频流;根据测试视频流和硬编视频流确定是否启用终端的硬件编码器。本实施方式中通过在终端APP中对一段预先设置的测试视频流解码后得到的标准图像组进行硬编码处理,并将得到的硬编视频流与测试视频流进行比对,从而确定是否达到启用硬件编码器的条件,实现自动检测终端的硬件编码支持度,且节省了专门的硬件测试和白名单维护相关的维护成本,也不需要持续增量更新终端白名单,减少维护成本和记录成本,降低了终端的硬件编码支持度检测的成本。
另外,所述利用终端的硬件编码器对所述标准图像组进行编码得到硬编视频流之前,还包括:从服务器端获取硬编配置参数;所述利用终端的硬件编码器对所述标准图像组进行编码得到硬编视频流,包括:根据所述硬编配置参数调用所述终端的硬件编码器;若调用成功,则利用所述终端的硬件编码器根据所述硬编配置参数对所述标准图像组进行编码得到所述硬编视频流;若调用失败,则确定所述终端不支持所述硬件编码器。
另外,所述根据所述测试视频流和所述硬编视频流确定是否启用所述终端的硬件编码器,包括:确定所述硬编视频流与所述测试视频流的相似度;若所述硬编视频流与所述测试视频流的相似度不满足预设条件,则将所述终端的产品参数与所述硬编配置参数发送至所述服务器端。
另外,所述将所述测试视频流解码得到标准图像组,包括:将所述测试视频流进行软解码得到所述标准图像组。
另外,所述测试视频流所占内存小于4KB且所述测试视频流包括多个画面组,其中,所述多个画面组中每个所述画面组包括内部编码帧、前向预测帧和双向内插帧。
另外,所述利用所述终端的硬件解码器对所述硬编视频流进行解码得到解码图像组之前,还包括:从服务器端获取硬解配置参数;所述利用所述终端的硬件解码器对所述硬编视频流进行解码得到解码图像组,包括:根据所述硬解配置参数调用所述终端的硬件解码器;若调用成功,则利用所述终端的硬件解码器根据所述硬解配置参数对所述标准图像组进行解码得到所述解码图像组;若调用失败,则确定所述终端不支持所述硬件解码器。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式的硬件编码支持度检测方法中的流程示意图;
图2是根据本发明第二实施方式的硬件解码支持度检测方法中的流程示意图;
图3是根据本发明第三实施方式的终端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种硬件编码支持度检测方法,本实施方式的核心在于,包括:获取测试视频流,并将测试视频流解码得到标准图像组;利用终端的硬件编码器对标准图像组进行编码得到硬编视频流;根据测试视频流和硬编视频流确定是否启用终端的硬件编码器。
本实施方式中通过在终端APP中对一段预先设置的测试视频流解码后得到的标准图像组进行硬编码处理,并将得到的硬编视频流与测试视频流进行比对,从而确定是否达到启用硬件编码器的条件,实现自动检测终端的硬件编码支持度,且节省了专门的硬件测试和白名单维护相关的维护成本,也不需要持续增量更新终端白名单,减少维护成本和记录成本,降低了终端的硬件编码支持度检测的成本。
下面对本实施方式的硬件编码支持度检测方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的硬件编码支持度检测方法的流程示意图如图1所示:
步骤101:获取测试视频流,并将测试视频流解码得到标准图像组。
具体地说,为判断终端的待测App对硬件编码器是否支持,本实施方式中终端的待测APP内预置有硬编码支持度检测程序包,或者在待测App启动时,从服务器端下载硬编码支持度检测程序包,运行硬编码支持度检测程序包对终端的硬件编码支持度进行检测。
加载测试视频流,并将测试视频流解码得到标准图像组,以供后续进行质量校。为确保后续检测结果的一致性,将测试视频流解码得到标准图像组,包括:将测试视频流进行软解码得到标准图像组,此处统一使用终端CPU软解的方式解出标准图像组。
其中,所述测试视频流设置的足够小,可选地,测试视频流所占内存小于4KB。且包含多个(2到3个)画面组(group of pictures,GOP),其中,多个画面组中每个画面组包括内部编码帧I帧、前向预测帧P帧和双向内插帧B帧。使得在使用终端CPU软解时不会过多占用终端CPU内存空间,最大程度地降低在进行硬件编码支持度检测时对终端CPU计算能力的影响。值得说明的是,由于测试视频流体积小,该测试视频流可预置在待测App中;或者也可放在服务器端,通过待测App启动时连接网络动态加载到本地,以适应测试APP程序的可变性。
步骤102:利用终端的硬件编码器对标准图像组进行编码得到硬编视频流。
本实施方式中利用终端的硬件编码器对标准图像组进行编码得到硬编视频流之前,还包括:从服务器端获取硬编配置参数;利用终端的硬件编码器对标准图像组进行编码得到硬编视频流,包括:根据硬编配置参数调用终端的硬件编码器;若调用成功,则利用终端的硬件编码器根据硬编配置参数对标准图像组进行编码得到硬编视频流:若调用失败,则确定终端不支持硬件编码器。
具体地说,在利用终端的硬件编码器对标准图像组进行编码时,还需从服务器端获取硬编配置参数,之后,根据硬编配置参数对标准图像组进行编码得到硬编视频流。本实施方式中硬编配置参数从服务器端获取,以适应测试APP程序的可变性。当然,硬编配置参数也可预存在待测APP中。在得到标准图像组之后,运行硬编码支持度检测程序包中的硬编码程序,调用终端提供的硬件编码器的API接口,如果调用硬件编码器的API接口返回正常,则表明调用成功,此时利用终端的硬件编码器根据硬编配置参数对标准图像组进行编码得到硬编视频流,并输出编码后的硬编视频流;如果调用硬件编码器的API接口直接调用失败或返回为空,则表明调用失败,此时确定待测App不支持此终端的硬件编码器,结束测试。
步骤103:根据测试视频流和硬编视频流确定是否启用终端的硬件编码器。
本实施方式中根据测试视频流和硬编视频流确定是否启用终端的硬件编码器,包括:确定硬编视频流与测试视频流的相似度;若硬编视频流与测试视频流的相似度不满足预设条件,则将终端的产品参数与硬编配置参数发送至服务器端;若硬编视频流与测试视频流的相似度满足预设条件,则启用终端的硬件编码器。
具体地说,在得到硬编视频流之后,将得到的硬编码后的硬编视频流与测试视频流进行比对,确定硬编视频流与测试视频流的相似度。具体的,可将硬编视频流的视频核心参数与测试视频流的视频核心参数进行比较,判断硬编视频流的视频核心参数与测试视频流的视频核心参数之间的差值是否满足一定的阈值范围。该阈值范围可由用户根据实际需求自行设置。
视频核心参数包括但不限于:码率、帧率、分辨率、位深、编码格式、显示比例、时长等。在确定相似度时,可将每个视频核心参数分别进行比对,例如:确定硬编视频流的码率与测试视频流的码率误差为5%,确定硬编视频流的分辨率与测试视频流的分辨率相同,硬编视频流的时长与测试视频流的时长相差8毫秒等。另外,也可将上述视频核心参数组合构成综合的权重模型进行训练从而得到一个综合的相似度,使用较为精准的视频质量对比模型,确保硬编解后的图像质量符合预期。
在得到硬编视频流的视频核心参数与测试视频流的视频核心参数之间的相似度后,确定相似度是否满足预设条件。作为一种可实现的方式,例如:在将每个视频核心参数分别进行比对时,码率的预设条件为不大于正负0.1%,分辨率的预设条件为完全相同,时长的预设条件为不大于6毫秒。从而当所有的视频核心参数的相似度均满足预设条件,则启用终端的硬件编码器,在执行该待测APP音视频播放的相关功能时,自动开启硬件编码功能;否则App使用软编解码功能。作为另一种可实现的方式,在将视频核心参数组合构成综合的权重模型进行训练从而得到一个综合的相似度后,可直接确定最终得到的相似度是否满足设定的阈值,若满足,则启用终端的硬件编码器,执行该待测APP音视频播放的相关功能时,自动开启硬件编码功能;否则App使用软编解码功能。在判断相似度不满足预设条件时,将终端的产品参数与硬编配置参数发送至服务器端,由服务器端进行记录,以备后续调研或App代码优化时使用,使之最终支持和成功调用终端的硬编码API接口。本实施方式中的终端的产品参数可为型号参数。
值得说明的是,本实施方式中在真正使用待测APP的音视频播放功能及编码能力之前,硬件编码支持度检测已经完成,不会产生额外的用户等待。由于本实施方式中是自动检测硬件编码支持度,测试视频流和编码所需的硬编码参数可从服务器端动态加载,甚至对于待测App的硬编码支持度检测程序包,也可考虑从服务器端动态加载,极大减少了待测App的版本升级次数,无需待测App重新发布和升级,提升兼容性。
与现有技术相比,本发明实施方式提供的硬件编码支持度检测方法,通过在终端APP中对一段预先设置的测试视频流解码后得到的标准图像组进行硬编码处理,并将得到的硬编视频流与测试视频流进行比对,确定硬编视频流与测试视频流的相似度,从而确定是否达到启用硬件编码器的条件,实现自动检测终端的硬件编码支持度,且节省了专门的硬件测试和白名单维护相关的维护成本,也不需要持续增量更新终端白名单,减少维护成本和记录成本,降低了终端的硬件编码支持度检测的成本。
本发明的第二实施方式涉及一种硬件解码支持度检测方法。本实施方式中的硬件解码支持度检测方法的流程示意图如图2所示,具体包括:
步骤201:获取测试视频流,并将测试视频流解码得到标准图像组。
步骤202:利用终端的硬件编码器对标准图像组进行编码得到硬编视频流。
步骤203:根据测试视频流和硬编视频流确定是否启用终端的硬件编码器。
上述步骤201至步骤203与第一实施方式中的步骤101至步骤103大致相同,不同之处在于,本实施方式中终端的待测APP内预置有硬解码支持度检测程序包,或者在待测App启动时,从服务器端下载硬解码支持度检测程序包,运行硬解码支持度检测程序包对终端的硬件解码支持度进行检测。其他内容大致相同,在此不再赘述。
步骤204:若判断启用终端的硬件编码器,则利用终端的硬件解码器对硬编视频流进行解码得到解码图像组。
本实施方式中在启用终端的硬件编码器后,利用终端的硬件解码器对硬编视频流进行解码得到解码图像组之前,还包括:从服务器端获取硬解配置参数;利用终端的硬件解码器对硬编视频流进行解码得到解码图像组,包括:根据硬解配置参数调用终端的硬件解码器;若调用成功,则利用终端的硬件解码器根据硬解配置参数对标准图像组进行解码得到解码图像组;若调用失败,则确定终端不支持硬件解码器。
具体地说,在确定启用终端的硬件编码器后,则可确定得到的硬编视频流与测试视频流的相似度满足第一实施方式中的预设条件,此时,在利用终端的硬件解码器对硬编视频流进行解码之前,还需从服务器端获取硬解配置参数,根据硬解配置参数对硬编视频流进行解码得到解码图像组。本实施方式中硬解配置参数从服务器端获取,以适应测试APP程序的可变性。当然,硬解配置参数也可预存在待测APP中。之后,运行硬解码支持度检测程序包中的硬解码程序,调用终端提供的硬件解码器的API接口,如果调用硬件解码器的API接口直接调用失败或返回为空,则表明调用失败,可确定待测App不支持此终端的硬件解码器,结束测试;如果调用硬件解码器的API接口返回正常,则表明调用成功,可利用终端的硬件解码器对标准图像组进行解码得到解码图像组,并输出解码后的解码图像组。
步骤205:根据标准图像组以及解码图像组确定是否启用终端的硬件解码器。
本实施方式中根据标准图像组以及解码图像组确定是否启用终端的硬件解码器,包括:确定标准图像组与解码图像组的相似度;若标准图像组与解码图像组的相似度不满足预设条件,则将终端的产品参数与硬解配置参数发送至服务器端;若标准图像组与解码图像组的相似度满足预设条件,则启用终端的硬件解码器。
具体地说,对比图像的方法较多也相对成熟,可采用但不限于以下计算模型来确定标准图像组与解码图像组之间的相似度:汉明距离、夹角余弦、欧式距离、神经网络等方式,或者将以上各种方法以不同权重进行训练构成合成模型来确定标准图像组与解码图像组之间的相似度。
在得到标准图像组与解码图像组之间的相似度后,确定相似度是否满足预设条件,当相似度满足预设条件时,确定可以启用终端的硬件解码器,在执行该待测APP音视频播放的相关功能时,自动开启硬件解码功能;否则App使用软编解码功能。在确定相似度不满足预设条件时,将终端的产品参数与硬解配置参数发送至服务器端,由服务器端进行记录,以备后续调研或App代码优化时使用,使之最终支持和成功调用终端的硬解码API接口。本实施方式中的终端的产品参数可为型号参数。
与现有技术相比,本发明实施方式中提供了一种硬件解码支持度检测方法,包括:通过在终端APP中对一段预先设置的测试视频流解码后得到的标准图像组进行硬编码处理,并将得到的硬编视频流与测试视频流进行比对,确定硬编视频流与测试视频流的相似度,从而确定是否达到启用硬件编码器的条件,实现自动检测终端的硬件编码支持度;且对满足预设条件的硬编视频流进行解码得到解码图像组,并将标准图像组与解码图像组进行比对,确定标准图像组与解码图像组的相似度,从而确定是否达到启用硬件解码器的条件,实现自动检测终端的硬件解码支持度;且节省了专门的硬件测试和白名单维护相关的维护成本,也不需要持续增量更新终端白名单,减少维护成本和记录成本,降低了终端的硬件解码支持度检测的成本。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种终端,如图3所示,包括至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述的硬件编码支持度检测方法,或硬件解码支持度检测方法。
其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。
处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时、外围接口、电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器301在执行操作时所使用的数据。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述硬件编码支持度检测方法,或硬件解码支持度检测方法。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (8)
1.一种硬件编码支持度检测方法,其特征在于,包括:
获取预置在终端的待测App中的测试视频流,并将所述测试视频流解码得到标准图像组,其中所述测试视频流所占内存小于4KB且所述测试视频流包括多个画面组;所述待测APP内预置有硬编配置参数;
根据所述硬编配置参数调用所述终端的硬件编码器;
若调用成功,则利用所述终端的硬件编码器根据所述硬编配置参数对所述标准图像组进行编码得到硬编视频流;根据所述测试视频流和所述硬编视频流确定是否启用所述终端的硬件编码器;
若调用失败,则确定所述终端不支持所述硬件编码器。
2.根据权利要求1所述的硬件编码支持度检测方法,其特征在于,所述根据所述测试视频流和所述硬编视频流确定是否启用所述终端的硬件编码器,包括:
确定所述硬编视频流与所述测试视频流的相似度;
若所述硬编视频流与所述测试视频流的相似度不满足预设条件,则将所述终端的产品参数与所述硬编配置参数发送至服务器端。
3.根据权利要求2所述的硬件编码支持度检测方法,其特征在于,所述确定所述硬编视频流与所述测试视频流的相似度之后,还包括:
若所述硬编视频流与所述测试视频流的相似度满足所述预设条件,则启用所述终端的硬件编码器。
4.根据权利要求1所述的硬件编码支持度检测方法,其特征在于,所述将所述测试视频流解码得到标准图像组,包括:将所述测试视频流进行软解码得到所述标准图像组。
5.根据权利要求1所述的硬件编码支持度检测方法,其特征在于,所述多个画面组中每个所述画面组包括内部编码帧、前向预测帧和双向内插帧。
6.一种硬件解码支持度检测方法,其特征在于,包括:
获取预置在终端的待测App中的测试视频流,并将所述测试视频流解码得到标准图像组,其中所述测试视频流所占内存小于4KB且所述测试视频流包括多个画面组;所述待测APP内预置有硬编配置参数;
根据所述硬编配置参数调用所述终端的硬件编码器;
若调用成功,则利用所述终端的硬件编码器根据所述硬编配置参数对所述标准图像组进行编码得到硬编视频流;根据所述测试视频流和所述硬编视频流确定是否启用所述终端的硬件编码器;若判断启用所述终端的硬件编码器,则利用所述终端的硬件解码器对所述硬编视频流进行解码得到解码图像组;根据所述标准图像组以及所述解码图像组确定是否启用所述终端的硬件解码器;
若调用失败,则确定所述终端不支持所述硬件编码器。
7.一种终端,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任一所述的硬件编码支持度检测方法,或如权利要求6所述的硬件解码支持度检测方法。
8.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一所述的硬件编码支持度检测方法,或如权利要求6所述的硬件解码支持度检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316091.5A CN111510706B (zh) | 2020-04-21 | 2020-04-21 | 硬件编、解码支持度检测方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316091.5A CN111510706B (zh) | 2020-04-21 | 2020-04-21 | 硬件编、解码支持度检测方法、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510706A CN111510706A (zh) | 2020-08-07 |
CN111510706B true CN111510706B (zh) | 2022-03-22 |
Family
ID=71876307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010316091.5A Active CN111510706B (zh) | 2020-04-21 | 2020-04-21 | 硬件编、解码支持度检测方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111510706B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112911390B (zh) * | 2021-05-08 | 2021-07-30 | 长视科技股份有限公司 | 一种视频数据的播放方法及终端设备 |
CN115546329B (zh) * | 2022-12-01 | 2023-05-16 | 广东保伦电子股份有限公司 | 一种音视频硬件加速转码检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104159113A (zh) * | 2014-06-30 | 2014-11-19 | 北京奇艺世纪科技有限公司 | 安卓系统中视频编码方式的选择方法和装置 |
CN106231051A (zh) * | 2016-08-01 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种视频解码的测试方法及相关设备 |
CN110740313A (zh) * | 2019-10-25 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 硬件编码能力检测方法及装置 |
-
2020
- 2020-04-21 CN CN202010316091.5A patent/CN111510706B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104159113A (zh) * | 2014-06-30 | 2014-11-19 | 北京奇艺世纪科技有限公司 | 安卓系统中视频编码方式的选择方法和装置 |
CN106231051A (zh) * | 2016-08-01 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种视频解码的测试方法及相关设备 |
CN110740313A (zh) * | 2019-10-25 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 硬件编码能力检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111510706A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2991349B1 (en) | Method of palette index signaling for image and video coding | |
CN111510706B (zh) | 硬件编、解码支持度检测方法、终端及存储介质 | |
US7474766B2 (en) | Motion image processor, motion image processing method and recording medium | |
US9900624B2 (en) | Methods and apparatus of decoding process for palette syntax | |
US20090274212A1 (en) | Semiconductor Device Having Moving Image Transcoder and Transcoding Method Therefor | |
US10368071B2 (en) | Encoding data arrays | |
US9241172B2 (en) | Moving image encoding and decoding device | |
KR102534443B1 (ko) | 비디오 증강 제어 방법, 장치, 전자 기기 및 저장 매체 | |
WO2017045540A1 (zh) | 用于智能终端的图片处理方法、装置、终端设备及系统 | |
US20120106650A1 (en) | Method and System for Block and DVC Compression | |
US20080212130A1 (en) | Data file compression apparatus and method thereof | |
US8531468B1 (en) | Image processing apparatus having context memory controller | |
CN115134629A (zh) | 视频传输方法、系统、设备及存储介质 | |
US20050244066A1 (en) | Method for video data status determination and data transmission system | |
CN112203097A (zh) | 一种自适应视频解码方法、装置,终端设备及存储介质 | |
CN116506618B (zh) | 一种基于负载动态自适应的视频解码优化方法 | |
JP4731600B2 (ja) | コンテンツ送信システムにおけるサーバー装置およびコンテンツ送信方法 | |
US20230209052A1 (en) | Systems and methods for block division in video processing | |
US9008185B2 (en) | Apparatus and method of lossless compression/restoration of selective image information | |
CN111510715B (zh) | 视频处理方法、系统、计算机设备及存储介质 | |
CN110119313B (zh) | 图像处理方法及图像处理装置 | |
US20210075843A1 (en) | Quality Metadata Signaling for Dynamic Adaptive Streaming of Video | |
US20150215642A1 (en) | Method and apparatus for predicting residual | |
US20230370620A1 (en) | Server and control method thereof | |
CN113395589B (zh) | 视频文件播放方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |