CN116095401A - 硬解码策略生成方法、装置、电子设备及存储介质 - Google Patents
硬解码策略生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116095401A CN116095401A CN202310102897.8A CN202310102897A CN116095401A CN 116095401 A CN116095401 A CN 116095401A CN 202310102897 A CN202310102897 A CN 202310102897A CN 116095401 A CN116095401 A CN 116095401A
- Authority
- CN
- China
- Prior art keywords
- decoding
- resolution
- data
- parameter threshold
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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
- H04N21/44008—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 involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- 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
- H04N21/4402—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 involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—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 involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种硬解码策略生成方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据;根据硬解码性能数据和硬解码性能参数阈值,确定目标设备支持的解码类型对应的目标分辨率数据;从硬解码性能数据中,确定目标分辨率数据对应的目标最大解码路数;根据目标分辨率数据和目标最大解码路数,生成目标设备支持的解码类型对应的硬解码策略。该方法可以根据硬解码性能参数阈值和目标设备支持的解码类型对应的硬解码性能数据,生成该目标设备支持的解码类型对应的硬解码策略,解决了相关技术存在的消耗成本高以及延后性问题。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种硬解码策略生成方法、装置、电子设备及存储介质。
背景技术
电子设备在播放音视频等多媒体数据时,对多媒体数据解码后播放。目前,解码方式包括软解码和硬解码,其中硬解码可以使用GPU(Graphic Process Unit,图形处理器)的专门模块来解码,能够减少CPU运算,还具有解码效率高、低功耗以及发热少等特点。由于不同电子设备的硬解码能力存在差异,因此根据不同电子设备的硬解码能力,向其下发相应的硬解码策略,能够提高播放质量。
相关技术中,可以根据电子设备硬解码的QoS(Quality of Service,服务质量)以及QoE(Quality of Experience,用户体验)表现,经过离线数据统计,确定各硬解码策略对应的不适配电子设备,生成各硬解码策略的黑名单。但是,黑名单的维护需要定期分析离线数据,消耗成本较高;通常是在已经造成性能受损之后再进行黑名单的添加,存在较严重的延后性。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种硬解码策略生成方法、装置、电子设备以及计算机可读存储介质,以至少解决相关技术存在的消耗成本高以及延后性问题。
根据本公开实施例的一个方面,提供一种硬解码策略生成方法,包括:根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据;根据所述硬解码性能数据和硬解码性能参数阈值,确定所述目标设备支持的解码类型对应的目标分辨率数据;从所述硬解码性能数据中,确定所述目标分辨率数据对应的目标最大解码路数;根据所述目标分辨率数据和所述目标最大解码路数,生成所述目标设备支持的解码类型对应的硬解码策略。
在本公开一些实施例中,所述硬解码性能参数阈值参数包括第一参数阈值、第二参数阈值、第三参数阈值、第四参数阈值和第五参数阈值;其中,所述第一参数阈值为解码器对应的解码成功率阈值,所述第二参数阈值为分辨率阈值,所述第三参数阈值为解码首帧耗时阈值,所述第四参数阈值为解码路数对应的解码成功率阈值,所述第五参数阈值为解码路数的数量阈值。
在本公开一些实施例中,所述硬解码性能数据包括各分辨率下的解码成功率、各分辨率下的解码首帧耗时和各分辨率下各解码路数对应的解码成功率;其中,所述根据所述硬解码性能数据和硬解码性能参数阈值,确定所述目标设备支持的解码类型对应的目标分辨率数据,包括:基于所述第一参数阈值和所述第二参数阈值,在所述各分辨率下的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第一分辨率数据;基于所述第二参数阈值和所述第三参数阈值,在所述各分辨率下的解码首帧耗时中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第二分辨率数据;根据所述各分辨率下各解码路数对应的解码成功率,确定各分辨率下的最大解码路数,进而基于所述第二参数阈值和所述第五参数阈值,在各分辨率下的最大解码路数对应的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第三分辨率数据;从所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中,选取最小分辨率数据为所述目标分辨率数据。
在本公开一些实施例中,所述基于所述第一参数阈值和所述第二参数阈值,在所述各分辨率下的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第一分辨率数据,包括:若所述各分辨率下的解码成功率中,存在解码成功率不小于所述第一参数阈值且分辨率不大于所述第二参数阈值的第一性能数据,则确定所述第一性能数据对应的分辨率为第一分辨率数据;若所述各分辨率下的解码成功率中不存在所述第一性能数据,则确定所述第一分辨率数据为预设值。
在本公开一些实施例中,所述基于所述第二参数阈值和所述第三参数阈值,在所述各分辨率下的解码首帧耗时中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第二分辨率数据,包括:若所述各分辨率下的解码首帧耗时中,存在解码首帧耗时不大于所述第三参数阈值且分辨率不大于所述第二参数阈值的第二性能数据,则确定所述第二性能数据对应的分辨率为第二分辨率数据;若所述各分辨率下的解码首帧耗时中不存在所述第二性能数据,则设置所述第二分辨率数据为预设值。
在本公开一些实施例中,所述根据所述各分辨率下各解码路数对应的解码成功率,确定各分辨率下的最大解码路数,包括:对于每个分辨率,按照所述分辨率下的解码路数从大到小的顺序,遍历所述分辨率下各解码路数对应的解码成功率;在遍历当前解码路数对应的解码成功率时,若所述当前解码路数对应的解码成功率不小于所述第四参数阈值,则确定所述当前解码路数为所述分辨率下的最大解码路数。
在本公开一些实施例中,所述基于所述第二参数阈值和所述第五参数阈值,在各分辨率下的最大解码路数对应的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第三分辨率数据,包括:若所述各分辨率下的最大解码路数对应的解码成功率中,存在最大解码路数不小于所述第五参数阈值且分辨率不大于所述第二参数阈值的第三性能数据,则确定所述第三性能数据对应的分辨率为第三分辨率数据;若所述各分辨率下的最大解码路数对应的解码成功率中不存在所述第三性能数据,则设置所述第三分辨率数据为预设值。
在本公开一些实施例中,在确定各分辨率下的最大解码路数之后,所述方法还包括:若所述各分辨率下的最大解码路数均小于所述第五参数阈值,则利用所述各分辨率下的最大解码路数,更新所述第五参数阈值。
在本公开一些实施例中,所述第一分辨率数据为一个或多个,所述第二分辨率数据为一个或多个,所述第三分辨率数据为一个或多个;其中,所述从所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中,选取最小分辨率数据为所述目标分辨率数据,包括:若所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据均为非预设值,选取所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中均存在的分辨率;确定选取的分辨率的最小值为所述目标分辨率数据。
在本公开一些实施例中,所述方法还包括:若待解码数据对应的分辨率小于所述目标分辨率数据,则将所述硬解码策略下发给所述目标设备,以使得所述目标设备根据所述硬解码策略解码所述待解码数据。
根据本公开实施例的另一方面,提供一种硬解码策略生成装置,包括:数据获取模块,用于根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据;分辨率确定模块,用于根据所述硬解码性能数据和硬解码性能参数阈值,确定所述目标设备支持的解码类型对应的目标分辨率数据;解码路数确定模块,用于从所述硬解码性能数据中,确定所述目标分辨率数据对应的目标最大解码路数;策略生成模块,用于根据所述目标分辨率数据和所述目标最大解码路数,生成所述目标设备支持的解码类型对应的硬解码策略。
在本公开一些实施例中,所述硬解码性能参数阈值包括第一参数阈值、第二参数阈值、第三参数阈值、第四参数阈值和第五参数阈值;其中,所述第一参数阈值为解码器对应的解码成功率阈值,所述第二参数阈值为分辨率阈值,所述第三参数阈值为解码首帧耗时阈值,所述第四参数阈值为解码路数对应的解码成功率阈值,所述第五参数阈值为解码路数的数量阈值。
在本公开一些实施例中,所述硬解码性能数据包括各分辨率下的解码成功率、各分辨率下的解码首帧耗时和各分辨率下各解码路数对应的解码成功率;其中,所述分辨率确定模块还用于:基于所述第一参数阈值和所述第二参数阈值,在所述各分辨率下的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第一分辨率数据;基于所述第二参数阈值和所述第三参数阈值,在所述各分辨率下的解码首帧耗时中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第二分辨率数据;根据所述各分辨率下各解码路数对应的解码成功率,确定各分辨率下的最大解码路数,进而基于所述第二参数阈值和所述第五参数阈值,在各分辨率下的最大解码路数对应的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第三分辨率数据;从所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中,选取最小分辨率数据为所述目标分辨率数据。
在本公开一些实施例中,所述分辨率确定模块还用于:若所述各分辨率下的解码成功率中,存在解码成功率不小于所述第一参数阈值且分辨率不大于所述第二参数阈值的第一性能数据,则确定所述第一性能数据对应的分辨率为第一分辨率数据;若所述各分辨率下的解码成功率中不存在所述第一性能数据,则确定所述第一分辨率数据为预设值。
在本公开一些实施例中,所述分辨率确定模块还用于:若所述各分辨率下的解码首帧耗时中,存在解码首帧耗时不大于所述第三参数阈值且分辨率不大于所述第二参数阈值的第二性能数据,则确定所述第二性能数据对应的分辨率为第二分辨率数据;若所述各分辨率下的解码首帧耗时中不存在所述第二性能数据,则设置所述第二分辨率数据为预设值。
在本公开一些实施例中,所述分辨率确定模块还用于:对于每个分辨率,按照所述分辨率下的解码路数从大到小的顺序,遍历所述分辨率下各解码路数对应的解码成功率;在遍历当前解码路数对应的解码成功率时,若所述当前解码路数对应的解码成功率不小于所述第四参数阈值,则确定所述当前解码路数为所述分辨率下的最大解码路数。
在本公开一些实施例中,所述分辨率确定模块还用于:若所述各分辨率下的最大解码路数对应的解码成功率中,存在最大解码路数不小于所述第五参数阈值且分辨率不大于所述第二参数阈值的第三性能数据,则确定所述第三性能数据对应的分辨率为第三分辨率数据;若所述各分辨率下的最大解码路数对应的解码成功率中不存在所述第三性能数据,则设置所述第三分辨率数据为预设值。
在本公开一些实施例中,所述分辨率确定模块还用于:若所述各分辨率下的最大解码路数均小于所述第五参数阈值,则利用所述各分辨率下的最大解码路数,更新所述第五参数阈值。
在本公开一些实施例中,所述第一分辨率数据为一个或多个,所述第二分辨率数据为一个或多个,所述第三分辨率数据为一个或多个;其中,所述分辨率确定模块还用于:若所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据均为非预设值,选取所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中均存在的分辨率;确定选取的分辨率的最小值为所述目标分辨率数据。
在本公开一些实施例中,所述装置还包括策略下发模块,用于:若待解码数据对应的分辨率小于所述目标分辨率数据,则将所述硬解码策略下发给所述目标设备,以使得所述目标设备根据所述硬解码策略解码所述待解码数据。
根据本公开实施例的再一方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的硬解码策略生成方法。
根据本公开实施例的又一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的硬解码策略生成方法。
本公开的实施例提供的技术方案至少带来以下有益效果:在获取到目标设备支持的解码类型对应的硬解码性能数据后,可以基于硬解码性能参数阈值,对该硬解码性能数据进行分析,得到目标设备支持的解码类型对应的目标分辨率数据,进而确定目标最大解码路数,然后根据目标分辨率数据和目标最大硬解码路数,生成目标设备支持的解码类型对应的硬解码策略。如此,可以通过硬解码性能参数阈值和目标设备支持的解码类型对应的硬解码性能数据,智能生成目标设备支持的解码类型对应的硬解码策略,解决了相关技术存在的消耗成本高以及延后性问题,达到为目标设备分配合适的硬解码策略的效果,使得目标设备能够较好的解码多媒体数据,提高目标设备的播放质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的硬解码策略生成方法的系统架构的示意图;
图2是根据一示例性实施例示出的硬解码策略生成方法的流程图;
图3是根据一示例性实施例示出的确定目标分辨率数据的流程图;
图4是根据又一示例性实施例示出的硬解码策略生成方法的流程图;
图5是根据一示例性实施例示出的硬解码策略生成装置框图;
图6是根据一示例性实施例示出的适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在至少一个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在至少一个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
图1是根据一示例性实施例示出的硬解码策略生成方法的系统架构的示意图。如图1所示,该系统架构可以包括服务器101、网络102和客户端103。网络102用以在客户端103和服务器101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
在示例性实施例中,与服务器101进行数据传输的客户端103可以包括但不限于智能手机、平板电脑、笔记本电脑、智能音箱、数字助理、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备、智能可穿戴设备等类型的终端设备,或者,客户端103也可以是个人计算机,比如膝上型便携计算机和台式计算机等等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。在一些实际应用中,服务器101也可以是网络平台的服务器,网络平台例如可以是交易平台、直播平台、社交平台或者音乐平台等,本公开实施例对此不作限定。其中,服务器可以是一台服务器,也可以是多台服务器形成的集群,本公开对于服务器的具体架构不做限定。
本公开实施例中,客户端103可以是安装有各种应用的终端设备,如安装多媒体应用的终端设备,用户可以通过客户端103所提供的多媒体应用进行音视频点播或者购物。
在示例性实施例中,服务器101用于生成硬解码策略的过程可以是:服务器101获取目标设备支持的解码类型对应的硬解码性能数据;服务器101基于预先配置的参数,根据硬解码性能数据和硬解码性能参数阈值,确定目标设备支持的解码类型对应的目标分辨率数据;服务器101从硬解码性能数据中,确定目标分辨率数据对应的目标最大解码路数;服务器101根据目标分辨率数据和目标最大解码路数,生成目标设备支持的解码类型对应的硬解码策略。
此外,需要说明的是,图1所示的仅仅是本公开提供的硬解码策略生成方法的一种应用环境。图1中的客户端103、网络102和服务器101的数目仅仅是示意性的,根据实际需要,可以具有任意数目的客户端、网络和服务器。
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图及实施例对本公开示例实施例中的硬解码策略生成方法的各个步骤进行更详细的说明。
图2是根据一示例性实施例示出的硬解码策略生成方法的流程图,图2实施例提供的方法的执行主体可以是任意的电子设备,例如图1实施例中的服务器101,但本公开并不限定于此。如图2所示,硬解码策略生成方法可以包括以下步骤。
步骤S201,根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据。
目标设备是指需要解码音视频等多媒体数据的电子设备,为了便于说明,下文中以多媒体数据为视频数据为例进行说明。在实施例中,目标设备支持的解码类型是指目标设备支持的硬解码类型,可以包括H.264硬解码和H.265硬解码。其中,H.264和H.265均为视频压缩标准,H.264又称为AVC(Advanced Video Codec,高级视频编码),H.265又称为HEVC(High Efficiency Video Coding,高效率视频编码)。
在实施例中,硬解码性能数据可以包括:各分辨率下的解码成功率、各分辨率下的解码首帧耗时和各分辨率下各解码路数对应的解码成功率。其中,分辨率下的性能数据可以理解为分辨率最大边下的性能数据,分辨率最大边是指分辨率的长与宽中较大的一边。
其中,各分辨率下的解码成功率是指目标设备支持的解码类型在各个分辨率下的解码成功率。比如,avc_mcs_supportrate_960是指目标设备支持的解码类型为AVC(即H.264硬解码)的情况下,分辨率最大边为960时的解码成功率。一般情况下,分辨率最大边为960时,该分辨率大小为960*540。分辨率最大边是指分辨率的长与宽中较大的一边。
各分辨率下的解码首帧耗时是指目标设备支持的解码类型在各个分变率下的解码首帧耗时,其中解码首帧耗时可以理解为解码视频数据的首帧花费的时间。比如,avc_mcs_firstframecost_1280是指目标设备支持的解码类型为AVC(即H.264硬解码)的情况下,分辨率最大边为1280时的解码首帧耗时。一般情况下,分辨率最大边为1280时,该分辨率大小为1280*720。
各分辨率下各解码路数对应的解码成功率是指目标设备支持的解码类型在各个分辨率下创建的各个解码路数对应的解码成功率。对于每个分辨率,可以创建不同解码路数,创建的解码路数不同,其对应的解码成功率可以是不同的。比如,数据avc_mcs_maxdecodernum_1280_3是指目标设备支持的解码类型为AVC(即H.264硬解码)的情况下,分辨率最大边为1280时候创建3路解码的解码成功率。
表1是目标设备支持的解码类型对应的硬解码性能数据表。从表1可以看出,目标设备的设备型号为AGM(AGM X3),考虑到设备型号相同的设备,其支持的解码类型以及该解码类型对应的硬解码性能数据是相同的,因此设备型号相同的设备,其对应的硬解码策略是相同的。在实施例中,可以根据设备的设备型号,获取设备支持的解码类型对应的硬件性能数据,生成该设备型号对应的硬解码策略。
表1中,目标设备支持的解码类型包括AVC(即H.264硬解码)和HEVC(即H.265硬解码)。对于解码类型AVC(即H.264硬解码),硬解码性能数据包括:分辨率最大边为960时的解码成功率、解码首帧耗时、以及创建1路、2路和3路解码的解码成功率;分辨率最大边为1280时的解码成功率、解码首帧耗时、以及创建1路、2路和3路解码的解码成功率;分辨率最大边为1920时的解码成功率、解码首帧耗时、以及创建1路、2路和3路解码的解码成功率。对于解码类型HEVC(即H.265硬解码),硬解码性能数据包括:分辨率最大边为960时的解码成功率、解码首帧耗时、以及创建1路、2路和3路解码的解码成功率;分辨率最大边为1280时的解码成功率、解码首帧耗时、以及创建1路、2路和3路解码的解码成功率;分辨率最大边为1920时的解码成功率、解码首帧耗时、以及创建1路、2路和3路解码的解码成功率。
表1是目标设备支持的解码类型对应的硬解码性能数据表
在实施例中,可以将获取到的目标设备支持的解码类型对应的硬解码性能数据,存入数据库中,如redis,这样在接收到硬解码策略的生成请求后时,可以从数据库中获取目标设备支持的解码类型对应的硬解码性能数据,进而根据获取的硬解码性能数据生成硬解码策略。
步骤S202,根据硬解码性能数据和硬解码性能参数阈值,确定目标设备支持的解码类型对应的目标分辨率数据。
其中,硬解码性能参数阈值可以包括第一参数阈值、第二参数阈值、第三参数阈值、第四参数阈值和第五参数阈值。需要说明的是,可以根据经验配置各个参数阈值的具体数值,并且可以根据实际需求更改各个参数阈值的具体数值。
第一参数阈值为解码器对应的解码成功率阈值,或者说第一参数阈值为解码器支持的视频数据的分辨率最大边的确立阈值,也就是说解码器解码视频数据需要达到的解码成功率阈值。
第二参数阈值为分辨率阈值,具体可以为支持解码的视频数据的分辨率最大边的上限阈值。比如第二参数阈值为1920,如果某视频数据的分辨率最大边不大于1920,则支持解码该视频数据,否则不支持解码该视频数据。
第三参数阈值为解码首帧耗时阈值,即支持硬解码的解码首帧耗时阈值。比如第三参数阈值为0.09,如果某目标设备支持的硬解码的解码首帧耗时为0.089,则说明该目标设备没有满足解码首帧耗时条件。
第四参数阈值为解码路数对应的解码成功率阈值,或者说第四参数阈值为支持硬解码的最大解码路数的成功率确立阈值,也就是说创建最大解码路数的解码成功率阈值。其中,最大解码路数是指硬解码支持的解码路数数量,比如最大解码路数为3路,说明可以最多创建3路解码。在实施例中,创建不同数量的解码路数,对应的解码成功率阈值可以是相同的,如创建1路解码的解码成功率阈值、创建2路解码的解码成功率阈值、以及创建3路解码的解码成功率阈值均是相同的。
第五参数阈值为解码路数的数量阈值,即解码路数的下限约束阈值。比如第五参数阈值为2,如果某目标设备支持的最大解码路数为1,则说明该目标设备没有达到解码路数的下限约束阈值。
在本步骤中,利用预先配置的硬解码性能参数阈值,对目标设备支持的解码类型对应的硬解码性能数据进行分析,得到目标设备支持的解码类型对应的目标分辨率数据,即得到目标分辨率最大边。
步骤S203,从硬解码性能数据中,确定目标分辨率数据对应的目标最大解码路数。
在本步骤中,从硬解码性能数据中,查询目标分辨率数据下能够创建的最大解码路数为目标最大解码路数。
步骤S204,根据目标分辨率数据和目标最大解码路数,生成目标设备支持的解码类型对应的硬解码策略。
在本步骤中,在确定目标分辨率最大边和目标最大解码路数后,可以生成目标设备支持的解码类型对应的硬解码策略。
需要说明的是,目标设备支持的解码类型可以包括一个或多个。对于目标设备支持的每个解码类型,可以获取该解码类型对应的硬解码性能数据,然后基于预先设置的硬解码性能参数阈值,对该解码类型对应的硬解码性能数据进行分析,获取该解码类型对应的目标分辨率数据,进而确定该解码类型对应的目标最大解码路数,最后生成该解码类型对应的硬解码策略。以表1目标设备支持的解码类型对应的硬解码性能数据为例进行说明,分别对解码类型AVC(即H.264硬解码)和HEVC(即H.265硬解码)进行分析,生成解码类型AVC(即H.264硬解码)对应的硬解码策略和解码类型HEVC(即H.265硬解码)对应的硬解码策略。
在示例性实施例中,硬解码策略生成方法还可以包括:若待解码数据对应的分辨率小于目标分辨率数据,则将硬解码策略下发给目标设备,以使得目标设备根据硬解码策略解码待解码数据。
待解码数据是指需要目标设备解码的音视频等多媒体数据。如果待解码数据的分辨率最大边小于目标分辨率最大边,那么可以将生成的硬解码策略下发给目标设备,然后目标设备根据该硬解码策略对待解码数据进行解码后播放。
需要说明的是,如果目标设备支持的解码类型对应的硬解码策略的数量为多个,则可以设置各个硬解码策略的优先级,如按照解码类型设置各个硬解码策略的优先级,再如按照分辨率设置各个硬解码策略的优先级,又如按照硬解码策略的解码成功率设置各个硬解码策略的优先级。如此,在下发硬解码策略时,可以根据各个硬解码策略的优先级进行下发,从而可以将最优的硬解码策略下发给目标设备,提高解码效率,提高目标设备的播放质量。
在示例性实施例中,将硬解码策略下发时,还可以结合目标设备的实时状态进行策略下发,如结合目标设备的电量、温度、内存、CUP占比等数据进行策略下发。如此,可以根据目标设备的实时状态下发策略,使得目标设备在利用硬解码策略进行解码,能够减少CPU计算,提高解码效率,并且具有功耗低、发热少的特点。
通过本公开实施例提供的硬解码策略方法,在获取到目标设备支持的解码类型对应的硬解码性能数据后,可以基于硬解码性能参数阈值,对该硬解码性能数据进行分析,得到目标设备支持的解码类型对应的目标分辨率数据,进而确定目标最大解码路数,然后根据目标分辨率数据和目标最大硬解码路数,生成目标设备支持的解码类型对应的硬解码策略。如此,可以通过硬解码性能参数阈值和目标设备支持的解码类型对应的,智能生成目标设备支持的解码类型对应的硬解码策略,解决了相关技术存在的消耗成本高以及延后性问题,达到为目标设备分配合适的硬解码策略的效果,使得目标设备能够较好的解码多媒体数据,提高目标设备的播放质量。
在示例性实施例中,如图3所示,在步骤S202中,根据硬解码性能数据和硬解码性能参数阈值,确定目标设备支持的解码类型对应的目标分辨率数据具体可以通过以下步骤实现:
步骤S2021,基于第一参数阈值和第二参数阈值,在各分辨率下的解码成功率中进行查询,根据查询结果确定目标设备支持的解码类型对应的第一分辨率数据。
进一步地,确定第一分辨率数据的具体实现可以为:若各分辨率下的解码成功率中,存在解码成功率不小于第一参数阈值且分辨率不大于第二参数阈值的第一性能数据,则确定第一性能数据对应的分辨率为第一分辨率数据;若各分辨率下的解码成功率中不存在第一性能数据,则确定第一分辨率数据为预设值。上文已经说明,第一参数阈值为解码器对应的解码成功率阈值,第二参数阈值为分辨率阈值。
其中,第一分辨率数据具体可以为第一分辨率最大边。在各分辨率下的解码成功率中进行查询,查询是否存在解码成功率不小于解码器对应的解码成功率阈值、并且分辨率最大边不大于分辨率阈值的数据。如果存在,则确定该数据对应的分辨率最大边为第一分辨率最大边。如果不存在,则设置第一分辨率最大边为预设值,具体可以设置第一分辨率最大边为-1。
举例说明,第一参数阈值为0.95,第二参数阈值为1920,以表1中的硬解码性能数据为例进行说明,对于目标设备支持的解码类型AVC(即H.264硬解码),avc_mcs_supportrate_960、avc_mcs_supportrate_1280、以及avc_mcs_supportrate_1920的数据为1,是大于0.95的,并且分辨率最大边均是不大于1920的,因此解码类型AVC对应的第一分辨率最大边包括960、1280和1920。对于目标设备支持的解码类型HEVC(即H.265硬解码),hevc_mcs_supportrate_960、hevc_mcs_supportrate_1280、以及hevc_mcs_supportrate_1920的数据均为1,大于0.95,并且分辨率最大边均是不大于1920的,因此解码类型HEVC对应的第一分辨率最大边包括960、1280和1920。
步骤S2022,基于第二参数阈值和第三参数阈值,在各分辨率下的解码首帧耗时中进行查询,根据查询结果确定目标设备支持的解码类型对应的第二分辨率数据。
进一步地,确定第二分辨率数据的具体实现可以为:若各分辨率下的解码首帧耗时中,存在解码首帧耗时不大于第三参数阈值且分辨率不大于第二参数阈值的第二性能数据,则确定第二性能数据对应的分辨率为第二分辨率数据;若各分辨率下的解码首帧耗时中不存在第二性能数据,则设置第二分辨率数据为预设值。上文已经说明,第三参数阈值为解码首帧耗时阈值,第二参数阈值为分辨率阈值。
其中,第二分辨率数据具体可以为第二分辨率最大边。在目标设备支持的解码类型对应的各分辨率下的解码首帧耗时中进行查询,查询是否存在解码首帧耗时不大于解码首帧耗时阈值、并且分辨率最大边不大于分辨率阈值的数据。如果存在,则确定该数据对应的分辨率最大边为第二分辨率最大边。如果不存在,则设置第二分辨率最大边为预设值,具体可以设置第二分辨率最大边为-1。
接上述例子进行说明,第三参数阈值为0.1s,以表1中的硬解码性能数据为例进行说明,对于目标设备支持的解码类型AVC(即H.264硬解码),avc_mcs_firstframecost_1280的数据为0.088s,avc_mcs_firstframecost_1920的数据为0.094s,这两个数据不大于0.1s的,并且分辨率最大边均是不大于1920的,因此解码类型AVC对应的第二分辨率最大边包括1280和1920。对于目标设备支持的解码类型HEVC(即H.265硬解码),hevc_mcs_firstframecost_1280的数据为0.097s,hevc_mcs_firstframecost_1920的数据为0.0965s,这两个数据不大于0.1s的,并且分辨率最大边均是不大于1920的,因此解码类型HEVC对应的第二分辨率最大边包括1280和1920。
步骤S2023,根据各分辨率下各解码路数对应的解码成功率,确定各分辨率下的最大解码路数,进而基于第二参数阈值和第五参数阈值,在各分辨率下的最大解码路数对应的解码成功率中进行查询,根据查询结果确定目标设备支持的解码类型对应的第三分辨率数据。
在本步骤中,可以先确定各分辨率下的最大解码路数,即各个分辨率下能够创建的解码路数的最大值,然后根据最大解码路数确定第三分辨率数据。
进一步地,确定各分辨率下的最大解码路数的具体实现可以为:对于每个分辨率,按照分辨率下的解码路数从大到小的顺序,遍历分辨率下各解码路数对应的解码成功率;在遍历当前解码路数对应的解码成功率时,若当前解码路数对应的解码成功率不小于第四参数阈值,则确定当前解码路数为分辨率下的最大解码路数。上文已经说明,第四参数阈值为解码路数对应的解码成功率阈值。
对于目标设备支持的解码类型对应的每个分辨率,确定该分辨率下能够支持的所有解码路数。然后,按照解码路数从大到小,遍历每个解码路数对应的解码成功率。如果当前遍历的解码路数的解码成功率不小于解码路数对应的解码成功率阈值,则确定当前遍历的解码路数为该分辨率下的最大解码路数,否则,继续遍历下一解码路数的解码成功率。需要说明的是,如果该分辨率下所有解码路数对应的解码成功率均小于解码路数对应的解码成功率阈值,则在确定第三分辨率数据时,可以不对该分辨率进行分析。
接上述例子进行说明,第四参数阈值为0.99,以表1中的硬解码性能数据为例进行说明,对于目标设备支持的解码类型AVC(即H.264硬解码),在分辨率最大边为960的时候,其对应的解码路数包括3路、2路和1路,按照从大到小的顺序,先遍历3路对应的解码成功率avc_mcs_maxdecodernum_960_3的数据0.9951807228915662,该数据是大于0.99的,因此确定分辨率最大边960对应的最大解码路数为3路;在分辨率最大边为1280的时候,其对应的解码路数包括3路、2路和1路,按照从大到小的顺序,先遍历3路对应的解码成功率avc_mcs_maxdecodernum_1280_3的数据0.9976851851851852,该数据是大于0.99的,因此确定分辨率最大边1280对应的最大解码路数为3路;在分辨率最大边为1920的时候,其对应的解码路数包括3路、2路和1路,按照从大到小的顺序,先遍历3路对应的解码成功率avc_mcs_maxdecodernum_1920_3的数据0.9975,该数据是大于0.99的,因此确定分辨率最大边1920对应的最大解码路数为3路。
以及,对于目标设备支持的解码类型HEVC(即H.265硬解码),在分辨率最大边为960的时候,其对应的解码路数包括3路、2路和1路,按照从大到小的顺序,先遍历3路对应的解码成功率hevc_mcs_maxdecodernum_960_3的数据0.9967105263157895,该数据是大于0.99的,因此确定分辨率最大边960对应的最大解码路数为3路;在分辨率最大边为1280的时候,其对应的解码路数包括3路、2路和1路,按照从大到小的顺序,先遍历3路对应的解码成功率hevc_mcs_maxdecodernum_1280_3的数据1,该数据是大于0.99的,因此确定分辨率最大边1280对应的最大解码路数为3路;在分辨率最大边为1920的时候,其对应的解码路数包括3路、2路和1路,按照从大到小的顺序,先遍历3路对应的解码成功率hevc_mcs_maxdecodernum_1920_3的数据1,该数据是大于0.99的,因此确定分辨率最大边1920对应的最大解码路数为3路。
在确定各分辨率下的最大解码路数后,可以根据各分辨率下的最大解码路数对应的解码成功率确定第三分辨率数据。进一步地,确定第三分辨率数据的具体实现可以为:若各分辨率下的最大解码路数对应的解码成功率中,存在最大解码路数不小于第五参数阈值且分辨率不大于第二参数阈值的第三性能数据,则确定第三性能数据对应的分辨率为第三分辨率数据;若各分辨率下的最大解码路数对应的解码成功率中不存在第三性能数据,则设置第三分辨率数据为预设值。上文已经说明第五参数阈值为解码路数的数量阈值。
其中,第三分辨率数据具体可以为第三分辨率最大边。在各分辨率下的最大解码路数对应的解码成功率中进行查询,查询是否存在最大解码路数不小于解码路数的数量阈值、并且分辨率最大边不大于分辨率阈值的数据。如果存在,则确定该数据对应的分辨率最大边为第三分辨率最大边。如果不存在,则设置第三分辨率最大边为预设值,具体可以设置第三分辨率最大边为-1。
接上述例子进行说明,第五参数阈值为2,以表1中的硬解码性能数据为例进行说明,对于目标设备支持的解码类型AVC(即H.264硬解码),其在分辨率最大边960、1280以及1920下的最大解码路数均为3,是大于2的,并且这些分辨率最大边均不大于1920,因此解码类型AVC对应的第三分辨率最大边包括960、1280和1920。对于目标设备支持的解码类型HEVC(即H.265硬解码),其在分辨率最大边960、1280以及1920下的最大解码路数均为3,是大于2的,并且这些分辨率最大边均不大于1920,因此解码类型HEVC对应的第三分辨率最大边包括960、1280和1920。
在示例性实施例中,在确定各分辨率下的最大解码路数之后,若判断各分辨率下的最大解码路数均小于第五参数阈值,则利用各分辨率下的最大解码路数,更新第五参数阈值。对于目标设备支持的解码类型,如果各个分辨率下的最大解码路数均不大于设置的解码路数的数量阈值,则可以从各个分辨率下的最大解码路数中选取最大值,将解码路数的数量阈值更改为该最大值,进而利用更改后的解码路数的数量阈值确定第三分辨率最大边,提高第三分辨率最大边存在的可能性,进而提高向目标设备下发硬解码策略的可能性,使得目标设备可以利用硬解码策略进行解码。
需要说明的是,在示例性实施例中,也可以对每个分辨率下的最大解码路数进行分析,如果该分辨率下的最大解码路数小于解码路数的数量阈值,可以将该分辨率对应的解码路数的数量阈值更改为该分辨率下的最大解码路数。进而对于该分辨率下的最大解码路数对应的解码成功率进行分析时,判断该分辨率最大边是否不大于分辨率阈值,如果是,则该分辨率最大边为第三分辨率最大边,否则,该分辨率最大边不是第三分辨率最大边。
步骤S2024,从第一分辨率数据、第二分辨率数据和第三分辨率数据中,选取最小分辨率数据为目标分辨率数据。
其中,第一分辨率数据的数量为一个或多个,第二分辨率数据的数量为一个或多个,第三分辨率数据的数量为一个或多个。在本步骤中,从这些分辨率中选取目标分辨率数据。具体实现可以为:若第一分辨率数据、第二分辨率数据和第三分辨率数据均为非预设值,选取第一分辨率数据、第二分辨率数据和第三分辨率数据中均存在的分辨率;确定选取的分辨率的最小值为目标分辨率数据。
上文说明第一分辨率数据可以为第一分辨率最大边,第二分辨率数据可以为第二分辨率最大边,第三分辨率数据可以为第三分辨率最大边,目标分辨率数据可以为目标分辨率最大边,以及预设值为-1。如果第一分辨率最大边、第二分辨率最大边和第三分辨率最大边均不为-1,那么可以选取第一分辨率最大边、第二分辨率最大边和第三分辨率最大边中均存在的分辨率最大边,进而确定选取的分辨率最大边为目标分辨率最大边。
接上述例子进行说明,对于目标设备支持的解码类型AVC(即H.264硬解码),其第一分辨率最大边包括960、1280和1920,第二分辨率最大边包括1280和1920,第三分辨率最大边包括960、1280和1920,可以得到第一分辨率最大边、第二分辨率最大边和第三分辨率最大边中均存在分辨率最大边1280和1920,因此选取分辨率最大边1280为目标设备支持的解码类型AVC对应的目标分辨率最大边。对于目标设备支持的解码类型HEVC(即H.265硬解码),其第一分辨率最大边包括960、1280和1920,第二分辨率最大边包括1280和1920,第三分辨率最大边包括960、1280和1920,可以得到第一分辨率最大边、第二分辨率最大边和第三分辨率最大边中均存在分辨率最大边1280和1920,因此选取分辨率最大边1280为目标设备支持的解码类型HEVC对应的目标分辨率最大边。
在确定目标分辨率最大边后,在步骤S203中,可以确定该目标分辨率最大边对应的最大解码路数为目标最大解码路数。
接上述例子进行说明,对于目标设备支持的解码类型AVC,分辨率最大边1280对应的最大解码路数为3,因此目标最大解码路数为3。对于目标设备支持的解码类型HEVC,分辨率最大边1280对应的最大解码路数为3,因此目标最大解码路数为3。
最后,生成目标设备对应的硬解码策略为:策略1(解码类型AVC,分辨率最大边1280,最大解码路数3)和策略2(解码类型HEVC,分辨率最大边1280,最大解码路数3),具体可以表示为{“vodMaxCnt264”:3,“vodMaxCnt265”:3,“length264”:1280,“length265”:1280}。如果目标设备需要解码的视频数据最大边小于1280,则可以将生成的硬解码策略下发给目标设备。
为了便于理解,如图4所示,结合一个具体实施例,详细描述上述硬解码策略生成方法的具体执行过程。
具体的,预先设置以下硬解码性能参数阈值:解码器对应的解码成功率阈值m1、分辨率阈值m2、解码首帧耗时阈值m3、解码路数对应的解码成功率阈值m4和解码路数的数量阈值m5。将目标设备支持的解码类型对应的硬解码性能数据存入redis中,其中,硬解码性能数据包括各分辨率下的解码成功率、各分辨率下的解码首帧耗时和各分辨率下各解码路数对应的解码成功率。在目标设备发起策略生成请求后,根据其支持的解码类型对应的硬解码性能数据进行如下处理:
(1)在各分辨率下的解码成功率中,查询满足解码成功率>=m1且分辨率<=m2的数据。若查询到,则确定L1为该数据对应的分辨率最大边;若没有查询到,则确定L1=-1。
(2)在各分辨率下的解码首帧耗时中,查询满足解码首帧耗时<=m3且分辨率<=m2的数据。若查询到,则确定L2为该数据对应的分辨率最大边;若没有查询到,则确定L2=-1。
(3)为各个分辨率确定最大解码路数。对于每个分辨率对应的最大解码路数,其具体过程是:按照解码路数从大到小的顺序,依次遍历该分辨率下解码路数对应的解码成功率,确定硬解成功率>=m4的解码路数为该分辨对应的最大解码路数。
在各分辨率下最大解码路数对应的解码成功率中,查询满足最大解码路数>=m5且分辨率<=m2的数据。若查询到,则确定L3为该数据对应的分辨率最大边;若没有查询到,则确定L3=-1。
需要说明的是,若各分辨率对应的最大解码路数均<m5,则可以利用各分辨率对应的最大解码路数中的最大值替代m5。
(4)若L1、L2和L3均存在且大于0,则确定目标分辨率最大边L=min(L1,L2,L3),目标最大解码路数N为L对应的最大解码路数,否则L=-1,N=-1。
(5)根据目标分辨率最大边L和目标最大解码路数N,生成目标设备支持的解码类型对应的硬解码策略。
需要说明的是,目标设备支持的解码类型为一个或多个。对目标设备支持的每个解码类型,可以根据该解码类型对应的硬解码性能数据生成该解码类型对应的硬解码策略。
本公开实施例提供的硬解码策略方法,可以通过硬解码性能数据智能生成目标设备支持的解码类型对应的硬解码策略,解决了相关技术存在的消耗成本高以及延后性问题,达到为目标设备分配合适的硬解码策略的效果,使得目标设备能够较好的解码多媒体数据,提高目标设备的播放质量。
可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
图5是根据一示例性实施例示出的硬解码策略生成装置框图。参照图5,该硬解码策略生成装置500包括:数据获取模块510、分辨率确定模块520、解码路数确定模块530和策略生成模块540。
其中,数据获取模块510可用于:根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据;分辨率确定模块520可用于:根据硬解码性能数据和硬解码性能参数阈值,确定目标设备支持的解码类型对应的目标分辨率数据;解码路数确定模块530可用于:从硬解码性能数据中,确定目标分辨率数据对应的目标最大解码路数;策略生成模块540可用于:根据目标分辨率数据和目标最大解码路数,生成目标设备支持的解码类型对应的硬解码策略。
在本公开一些实施例中,硬解码性能参数阈值包括第一参数阈值、第二参数阈值、第三参数阈值、第四参数阈值和第五参数阈值。其中,第一参数阈值为解码器对应的解码成功率阈值,第二参数阈值为分辨率阈值,第三参数阈值为解码首帧耗时阈值,第四参数阈值为解码路数对应的解码成功率阈值,第五参数阈值为解码路数的数量阈值。
在本公开一些实施例中,硬解码性能数据包括各分辨率下的解码成功率、各分辨率下的解码首帧耗时和各分辨率下各解码路数对应的解码成功率。其中,分辨率确定模块520还可用于:基于第一参数阈值和第二参数阈值,在各分辨率下的解码成功率中进行查询,根据查询结果确定目标设备支持的解码类型对应的第一分辨率数据;基于第二参数阈值和第三参数阈值,在各分辨率下的解码首帧耗时中进行查询,根据查询结果确定目标设备支持的解码类型对应的第二分辨率数据;根据各分辨率下各解码路数对应的解码成功率,确定各分辨率下的最大解码路数,进而基于第二参数阈值和第五参数阈值,在各分辨率下的最大解码路数对应的解码成功率中进行查询,根据查询结果确定目标设备支持的解码类型对应的第三分辨率数据;从第一分辨率数据、第二分辨率数据和第三分辨率数据中,选取最小分辨率数据为目标分辨率数据。
在本公开一些实施例中,分辨率确定模块520还可用于:若各分辨率下的解码成功率中,存在解码成功率不小于第一参数阈值且分辨率不大于第二参数阈值的第一性能数据,则确定第一性能数据对应的分辨率为第一分辨率数据;若各分辨率下的解码成功率中不存在第一性能数据,则确定第一分辨率数据为预设值。
在本公开一些实施例中,分辨率确定模块520还可用于:若各分辨率下的解码首帧耗时中,存在解码首帧耗时不大于第三参数阈值且分辨率不大于第二参数阈值的第二性能数据,则确定第二性能数据对应的分辨率为第二分辨率数据;若各分辨率下的解码首帧耗时中不存在第二性能数据,则设置第二分辨率数据为预设值。
在本公开一些实施例中,分辨率确定模块520还可用于:对于每个分辨率,按照分辨率下的解码路数从大到小的顺序,遍历分辨率下各解码路数对应的解码成功率;在遍历当前解码路数对应的解码成功率时,若当前解码路数对应的解码成功率不小于第四参数阈值,则确定当前解码路数为分辨率下的最大解码路数。
在本公开一些实施例中,分辨率确定模块520还可用于:若各分辨率下的最大解码路数对应的解码成功率中,存在最大解码路数不小于第五参数阈值且分辨率不大于第二参数阈值的第三性能数据,则确定第三性能数据对应的分辨率为第三分辨率数据;若各分辨率下的最大解码路数对应的解码成功率中不存在第三性能数据,则设置第三分辨率数据为预设值。
在本公开一些实施例中,分辨率确定模块520还可用于:若各分辨率下的最大解码路数均小于第五参数阈值,则利用各分辨率下的最大解码路数,更新第五参数阈值。
在本公开一些实施例中,第一分辨率数据为一个或多个,第二分辨率数据为一个或多个,第三分辨率数据为一个或多个。其中,分辨率确定模块520还可用于:若第一分辨率数据、第二分辨率数据和第三分辨率数据均为非预设值,选取第一分辨率数据、第二分辨率数据和第三分辨率数据中均存在的分辨率;确定选取的分辨率的最小值为目标分辨率数据。
在本公开一些实施例中,图5所示的硬解码策略生成装置500还包括策略下发模块550,用于:若待解码数据对应的分辨率小于目标分辨率数据,则将硬解码策略下发给目标设备,以使得目标设备根据硬解码策略解码待解码数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6示出了适于用来实现本公开实施例的电子设备的结构示意图。需要说明的是,图6示出的电子设备600仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2中所示的步骤S201,根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据;步骤S202,根据硬解码性能数据和硬解码性能参数阈值,确定目标设备支持的解码类型对应的目标分辨率数据;步骤S203,从硬解码性能数据中,确定目标分辨率数据对应的目标最大解码路数;步骤S204,根据目标分辨率数据和目标最大解码路数,生成目标设备支持的解码类型对应的硬解码策略。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备660(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器640与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器640通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种硬解码策略生成方法,其特征在于,包括:
根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据;
根据所述硬解码性能数据和硬解码性能参数阈值,确定所述目标设备支持的解码类型对应的目标分辨率数据;
从所述硬解码性能数据中,确定所述目标分辨率数据对应的目标最大解码路数;
根据所述目标分辨率数据和所述目标最大解码路数,生成所述目标设备支持的解码类型对应的硬解码策略。
2.根据权利要求1所述的方法,其特征在于,所述硬解码性能参数阈值包括第一参数阈值、第二参数阈值、第三参数阈值、第四参数阈值和第五参数阈值;
其中,所述第一参数阈值为解码器对应的解码成功率阈值,所述第二参数阈值为分辨率阈值,所述第三参数阈值为解码首帧耗时阈值,所述第四参数阈值为解码路数对应的解码成功率阈值,所述第五参数阈值为解码路数的数量阈值。
3.根据权利要求2所述的方法,其特征在于,所述硬解码性能数据包括各分辨率下的解码成功率、各分辨率下的解码首帧耗时和各分辨率下各解码路数对应的解码成功率;
其中,所述根据所述硬解码性能数据和硬解码性能参数阈值,确定所述目标设备支持的解码类型对应的目标分辨率数据,包括:
基于所述第一参数阈值和所述第二参数阈值,在所述各分辨率下的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第一分辨率数据;
基于所述第二参数阈值和所述第三参数阈值,在所述各分辨率下的解码首帧耗时中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第二分辨率数据;
根据所述各分辨率下各解码路数对应的解码成功率,确定各分辨率下的最大解码路数,进而基于所述第二参数阈值和所述第五参数阈值,在各分辨率下的最大解码路数对应的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第三分辨率数据;
从所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中,选取最小分辨率数据为所述目标分辨率数据。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一参数阈值和所述第二参数阈值,在所述各分辨率下的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第一分辨率数据,包括:
若所述各分辨率下的解码成功率中,存在解码成功率不小于所述第一参数阈值且分辨率不大于所述第二参数阈值的第一性能数据,则确定所述第一性能数据对应的分辨率为第一分辨率数据;
若所述各分辨率下的解码成功率中不存在所述第一性能数据,则确定所述第一分辨率数据为预设值。
5.根据权利要求3所述的方法,其特征在于,所述基于所述第二参数阈值和所述第三参数阈值,在所述各分辨率下的解码首帧耗时中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第二分辨率数据,包括:
若所述各分辨率下的解码首帧耗时中,存在解码首帧耗时不大于所述第三参数阈值且分辨率不大于所述第二参数阈值的第二性能数据,则确定所述第二性能数据对应的分辨率为第二分辨率数据;
若所述各分辨率下的解码首帧耗时中不存在所述第二性能数据,则设置所述第二分辨率数据为预设值。
6.根据权利要求3所述的方法,其特征在于,所述根据所述各分辨率下各解码路数对应的解码成功率,确定各分辨率下的最大解码路数,包括:
对于每个分辨率,按照所述分辨率下的解码路数从大到小的顺序,遍历所述分辨率下各解码路数对应的解码成功率;
在遍历当前解码路数对应的解码成功率时,若所述当前解码路数对应的解码成功率不小于所述第四参数阈值,则确定所述当前解码路数为所述分辨率下的最大解码路数。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第二参数阈值和所述第五参数阈值,在各分辨率下的最大解码路数对应的解码成功率中进行查询,根据查询结果确定所述目标设备支持的解码类型对应的第三分辨率数据,包括:
若所述各分辨率下的最大解码路数对应的解码成功率中,存在最大解码路数不小于所述第五参数阈值且分辨率不大于所述第二参数阈值的第三性能数据,则确定所述第三性能数据对应的分辨率为第三分辨率数据;
若所述各分辨率下的最大解码路数对应的解码成功率中不存在所述第三性能数据,则设置所述第三分辨率数据为预设值。
8.根据权利要求7所述的方法,其特征在于,在确定各分辨率下的最大解码路数之后,所述方法还包括:
若所述各分辨率下的最大解码路数均小于所述第五参数阈值,则利用所述各分辨率下的最大解码路数,更新所述第五参数阈值。
9.根据权利要求3所述的方法,其特征在于,所述第一分辨率数据为一个或多个,所述第二分辨率数据为一个或多个,所述第三分辨率数据为一个或多个;
其中,所述从所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中,选取最小分辨率数据为所述目标分辨率数据,包括:
若所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据均为非预设值,选取所述第一分辨率数据、所述第二分辨率数据和所述第三分辨率数据中均存在的分辨率;
确定选取的分辨率的最小值为所述目标分辨率数据。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若待解码数据对应的分辨率小于所述目标分辨率数据,则将所述硬解码策略下发给所述目标设备,以使得所述目标设备根据所述硬解码策略解码所述待解码数据。
11.一种硬解码策略生成装置,其特征在于,包括:
数据获取模块,用于根据硬解码策略的生成请求,获取目标设备支持的解码类型对应的硬解码性能数据;
分辨率确定模块,用于根据所述硬解码性能数据和硬解码性能参数阈值,确定所述目标设备支持的解码类型对应的目标分辨率数据;
解码路数确定模块,用于从所述硬解码性能数据中,确定所述目标分辨率数据对应的目标最大解码路数;
策略生成模块,用于根据所述目标分辨率数据和所述目标最大解码路数,生成所述目标设备支持的解码类型对应的硬解码策略。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至10中任一项所述的硬解码策略生成方法。
13.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至10中任一项所述的硬解码策略生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102897.8A CN116095401B (zh) | 2023-01-28 | 2023-01-28 | 硬解码策略生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102897.8A CN116095401B (zh) | 2023-01-28 | 2023-01-28 | 硬解码策略生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116095401A true CN116095401A (zh) | 2023-05-09 |
CN116095401B CN116095401B (zh) | 2024-09-20 |
Family
ID=86186791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310102897.8A Active CN116095401B (zh) | 2023-01-28 | 2023-01-28 | 硬解码策略生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116095401B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572622A (zh) * | 2019-09-30 | 2019-12-13 | 威创集团股份有限公司 | 视频解码方法及装置 |
WO2021057705A1 (zh) * | 2019-09-27 | 2021-04-01 | 腾讯科技(深圳)有限公司 | 视频编解码方法和相关装置 |
KR20210090259A (ko) * | 2018-11-27 | 2021-07-19 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 비디오 디코딩 제어 방법, 장치, 전자 기기 및 저장 매체 |
US20220014709A1 (en) * | 2019-06-10 | 2022-01-13 | Hisense Visual Technology Co., Ltd. | Display And Image Processing Method |
CN114598538A (zh) * | 2022-03-16 | 2022-06-07 | 数字山西设计股份有限公司 | 一种用于数字视频光端机的数据传输系统 |
-
2023
- 2023-01-28 CN CN202310102897.8A patent/CN116095401B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210090259A (ko) * | 2018-11-27 | 2021-07-19 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 비디오 디코딩 제어 방법, 장치, 전자 기기 및 저장 매체 |
US20220014709A1 (en) * | 2019-06-10 | 2022-01-13 | Hisense Visual Technology Co., Ltd. | Display And Image Processing Method |
WO2021057705A1 (zh) * | 2019-09-27 | 2021-04-01 | 腾讯科技(深圳)有限公司 | 视频编解码方法和相关装置 |
CN110572622A (zh) * | 2019-09-30 | 2019-12-13 | 威创集团股份有限公司 | 视频解码方法及装置 |
CN114598538A (zh) * | 2022-03-16 | 2022-06-07 | 数字山西设计股份有限公司 | 一种用于数字视频光端机的数据传输系统 |
Non-Patent Citations (3)
Title |
---|
VIDISHA NITEEN HULYALKAR等: "Hard and Soft Decision Decoding Using Viterbi Algorithm", 2018 3RD INTERNATIONAL CONFERENCE ON INVENTIVE COMPUTATION TECHNOLOGIES (ICICT), 12 March 2020 (2020-03-12) * |
严健等: "一种多通道视频编解码技术的设计与实现", 军民两用技术与产品, 21 April 2011 (2011-04-21) * |
刘伟民: "基于全景视频的自由视点漫游系统设计与实现", 中国优秀硕士学位论文全文数据库, 15 February 2022 (2022-02-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN116095401B (zh) | 2024-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965907B (zh) | 用于播放视频的方法、装置和系统 | |
KR101239357B1 (ko) | 미디어 데이터를 결합시키는 시스템 및 방법 | |
US11490173B2 (en) | Switch of audio and video | |
KR20100066453A (ko) | 미디어 데이터를 배포하는 시스템 및 방법 | |
US20190394537A1 (en) | Methods and apparatus for updating media presentation data | |
CN113742518B (zh) | 存储和提供视频的方法、设备和计算机程序产品 | |
CN112866730B (zh) | 流媒体数据传输方法及装置、系统、电子设备、存储介质 | |
US20110270941A1 (en) | File decoding system and method | |
WO2024169391A1 (zh) | 一种视频数据处理方法、装置、计算机设备以及存储介质 | |
EP3989082A1 (en) | Multimedia file storage and access method | |
CN114040245B (zh) | 视频播放方法、装置、计算机存储介质和电子设备 | |
CN109547839A (zh) | 直播内容的动态预览处理方法及装置、介质、电子设备 | |
CN104572964A (zh) | 一种压缩文件的解压方法和装置 | |
CN116095401B (zh) | 硬解码策略生成方法、装置、电子设备及存储介质 | |
CN108712434A (zh) | 一种基于高清视频直播录播会议会诊的实现方法 | |
CN113079386A (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
CN105323593A (zh) | 一种多媒体转码调度方法和装置 | |
CN116684703A (zh) | 基于邻近服务通信协议的流媒体数据传输方法及相关设备 | |
CN113766255B (zh) | 视频流合并方法、装置、电子设备及计算机介质 | |
CN115767149A (zh) | 一种视频数据的传输方法和装置 | |
CN105338371A (zh) | 一种多媒体转码调度方法和装置 | |
CN115633191A (zh) | 视频播放方法、装置、系统、电子设备与可读存储介质 | |
US11259024B2 (en) | Quantizer design | |
CN113905248A (zh) | 直播视频数据传输方法、装置、设备以及存储介质 | |
CN112749353A (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 |