CN106060550B - 视频编码参数的处理、视频数据的编码方法及装置 - Google Patents

视频编码参数的处理、视频数据的编码方法及装置 Download PDF

Info

Publication number
CN106060550B
CN106060550B CN201610460339.9A CN201610460339A CN106060550B CN 106060550 B CN106060550 B CN 106060550B CN 201610460339 A CN201610460339 A CN 201610460339A CN 106060550 B CN106060550 B CN 106060550B
Authority
CN
China
Prior art keywords
video coding
coding parameter
hardware configuration
configuration information
video
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
Application number
CN201610460339.9A
Other languages
English (en)
Other versions
CN106060550A (zh
Inventor
彭志勇
程广
陀健
卢春城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201610460339.9A priority Critical patent/CN106060550B/zh
Publication of CN106060550A publication Critical patent/CN106060550A/zh
Application granted granted Critical
Publication of CN106060550B publication Critical patent/CN106060550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种视频编码参数的处理、视频数据的编码方法及装置。其中,该方法包括:获取终端的硬件配置信息;根据映射关系中是否存在与硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数;将确定后的视频编码参数反馈给终端。本发明解决了相关技术中采用固定的视频编码参数对视频数据进行编码的方式缺乏灵活性,无法与终端的硬件配置信息相适应的技术问题。

Description

视频编码参数的处理、视频数据的编码方法及装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种视频编码参数的处理、视频数据的编码方法及装置。
背景技术
随着宽带网络的普及和带宽的逐步提高,视频技术的应用范围越来越广,例如:网络可视会议、网络视频教育、网络视频聊天、网络视频直播等。在通常情况下,视频数据所需要占用的带宽较大,因此,为了能够有效地降低网络传输的带宽成本,需要对视频数据进行压缩编码,再进行传输。
在视频编码过程中,编码参数对中央处理器(CPU)的计算消耗、图像质量控制等都会造成影响。相关技术中所提供的应用场景通常是用户终端采用固定的编码参数对视频数据进行编码。在这种情况下,对于相同的视频应用而言,硬件配置较低的用户终端使用视频应用进行编码后的视频数据的效果较差,而硬件配置较高的用户终端则无法完全发挥其高速处理性能,使用视频应用编码后的视频数据的效果有限,难以与高性能硬件属性相适配,从而导致视频数据的编码过程无法与用户终端的硬件配置相适应。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种视频编码参数的处理、视频数据的编码方法及装置,以至少解决相关技术中采用固定的视频编码参数对视频数据进行编码的方式缺乏灵活性,无法与终端的硬件配置信息相适应的技术问题。
根据本发明实施例的一个方面,提供了一种视频编码参数的处理方法,包括:
获取终端的硬件配置信息;根据映射关系中是否存在与硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数;将确定后的视频编码参数反馈给终端。
可选地,根据判断结果确定为待编码的视频数据选用的视频编码参数包括:如果映射关系中存在与硬件配置信息相适配的视频编码参数,则确定选用相适配的视频编码参数;如果映射关系中不存在与硬件配置信息相适配的视频编码参数,则确定选用默认的视频编码参数。
可选地,在根据判断结果确定为待编码的视频数据选用的视频编码参数之前,还包括:配置步骤:根据硬件配置信息为终端配置待验证的视频编码参数;发送步骤:将待验证的视频编码参数发送至终端;验证步骤:根据终端采用待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对待验证的视频编码参数进行重新配置,如果是,则返回配置步骤;如果否,则在硬件配置信息与当前最新配置的视频编码参数之间建立映射关系并对映射关系进行存储。
可选地,在建立映射关系并对映射关系进行存储后,还包括:对映射关系进行删除,或者,采用最新输入的视频编码参数对映射关系中对应相同硬件配置信息的一个或多个视频编码参数或对应不同硬件配置信息的多个视频编码参数进行更新。
可选地,在获取终端的硬件配置信息之前,还包括:向终端发送提示信息,其中,提示信息用于提示终端的用户是否允许采集硬件配置信息。
可选地,硬件配置信息包括以下至少之一:中央处理器(CPU)的生产厂商、CPU的型号、单指令多数据流(SIMD)、CPU的频率、CPU的核数。
根据本发明实施例的另一方面,还提供了一种视频数据的编码方法,包括:
向服务器发送硬件配置信息;接收服务器反馈的与硬件配置信息相适配的视频编码参数;采用视频编码参数对待编码的视频数据进行编码。
根据本发明实施例的又一方面,还提供了一种视频编码参数的处理装置,包括:
获取模块,用于获取终端的硬件配置信息;确定模块,用于根据映射关系中是否存在与硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数;反馈模块,用于将确定后的视频编码参数反馈给终端。
可选地,确定模块,用于如果映射关系中存在与硬件配置信息相适配的视频编码参数,则确定选用相适配的视频编码参数;或者,如果映射关系中不存在与硬件配置信息相适配的视频编码参数,则确定选用默认的视频编码参数。
可选地,上述装置还包括:配置模块,用于根据硬件配置信息为终端配置待验证的视频编码参数;发送模块,用于将待验证的视频编码参数发送至终端;验证模块,用于根据终端采用待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对待验证的视频编码参数进行重新配置,如果是,则返回配置模块;如果否,则在硬件配置信息与当前最新配置的视频编码参数之间建立映射关系并对映射关系进行存储。
可选地,上述装置还包括:调整模块,用于对映射关系进行删除,或者,采用最新输入的视频编码参数对映射关系中对应相同硬件配置信息的一个或多个视频编码参数或对应不同硬件配置信息的多个视频编码参数进行更新。
可选地,上述装置还包括:提示模块,用于向终端发送提示信息,其中,提示信息用于提示终端的用户是否允许采集硬件配置信息。
可选地,硬件配置信息包括以下至少之一:中央处理器(CPU)的生产厂商、CPU的型号、单指令多数据流(SIMD)、CPU的频率、CPU的核数。
根据本发明实施例的再一方面,还提供了一种视频数据的编码装置,包括:
发送模块,用于向服务器发送硬件配置信息;接收模块,用于接收服务器反馈的与硬件配置信息相适配的视频编码参数;编码模块,用于采用视频编码参数对待编码的视频数据进行编码。
在本发明实施例中,采用获取终端的硬件配置信息并根据映射关系中是否存在与硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数的方式,通过采用确定后的视频编码参数来取代固定的视频编码参数,达到了增强对待编码的视频数据进行灵活性编码的目的,从而实现了在针对具有不同硬件配置的用户终端进行视频编码时,可以自适应应用存在于映射关系中与硬件配置信息相适配的视频编码参数,从而进行最佳视频显示效果的视频编码,增强视频数据编码方式的灵活性以及提升视频数据在视频应用上的显示质量的技术效果,进而解决了相关技术中采用固定的视频编码参数对视频数据进行编码的方式缺乏灵活性,无法与终端的硬件配置信息相适应的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的视频数据的编码方法的流程图;
图2是根据本发明优选实施例的获取最佳视频编码参数方法的流程图;
图3是根据本发明实施例的视频数据的编码方法的流程图;
图4是根据本发明优选实施例的终端与服务器端配合完成视频编码方法的流程图;
图5是根据本发明实施例的视频编码参数的处理装置的结构框图;
图6是根据本发明优选实施例的视频编码参数的处理装置的结构框图;
图7是根据本发明实施例的视频数据的编码装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种视频编码参数的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的视频数据的编码方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,获取终端的硬件配置信息;
步骤S14,根据映射关系中是否存在与硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数;
步骤S16,将确定后的视频编码参数反馈给终端。
通过上述步骤,采用获取终端的硬件配置信息并根据映射关系中是否存在与硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数的方式,通过采用确定后的视频编码参数来取代固定的视频编码参数,达到了增强对待编码的视频数据进行灵活性编码的目的,从而实现了在针对具有不同硬件配置的用户终端进行视频编码时,可以自适应应用存在于映射关系中与硬件配置信息相适配的视频编码参数,从而进行最佳视频显示效果的视频编码,增强视频数据编码方式的灵活性以及提升视频数据在视频应用上的显示质量的技术效果,进而解决了相关技术中采用固定的视频编码参数对视频数据进行编码的方式缺乏灵活性,无法与终端的硬件配置信息相适应的技术问题。
需要说明的是,本发明实施例中提到的视频应用所在终端首先需要对采集到的视频数据进行视频编码操作,然后再将编码后的视频数据通过网络传输至其他视频应用所在终端进行播放。具体地,负责对视频数据进行编码的视频应用所在终端与负责对编码后的视频数据进行播放的视频应用所在终端不同。而即便一个视频应用所在终端同时具备编码功能和播放功能,但是,在同一时刻该终端仅会执行编码功能与播放功能中的一项功能。例如:终端A与终端B通过一款视频应用进行视频通话,如果终端A需要将采集到视频数据发送至终端B进行观看,那么终端A执行的仅是对视频数据进行编码的操作,而终端B执行的仅是对编码后的视频数据进行播放的操作,反之亦然;但无论是终端A还是终端B都不会在对视频数据进行编码的同时再对视频数据进行播放。最终,视频数据的播放效果是由对该视频数据进行编码的终端的硬件配置信息来决定的。
在优选实施过程中,上述硬件配置信息可以包括但不限于以下至少之一:
(1)中央处理器(CPU)的生产厂商;
(2)CPU的型号;
(3)单指令多数据流(SIMD);
(4)CPU的频率;
(5)CPU的核数。
而且,还可以按照CPU的生产厂商、CPU的型号、单指令多数据流、CPU的频率以及CPU的核数对硬件配置信息进行分类。
可选地,在步骤S14中,根据判断结果确定为待编码的视频数据选用的视频编码参数可以包括以下执行步骤:
步骤S141,如果映射关系中存在与硬件配置信息相适配的视频编码参数,则确定选用相适配的视频编码参数;
步骤S142,如果映射关系中不存在与硬件配置信息相适配的视频编码参数,则确定选用默认的视频编码参数。
在优选实施例中,在服务器获取到终端的硬件配置信息后,需要判断硬件配置信息是否在映射关系中,即,映射关系中是否存在与硬件配置信息相适配的视频编码参数。如果存在与硬件配置信息相适配的视频编码参数,则终端需要使用服务器端返回的与当前用户终端相适配的最佳编码参数进行视频编码;如果不存在与硬件配置信息相适配的视频编码参数,则终端需要使用默认的视频应用本身自带的视频编码参数进行视频编码。
可选地,在步骤S14中,根据判断结果确定为待编码的视频数据选用的视频编码参数之前,还可以包括以下执行步骤:
配置步骤:根据硬件配置信息为终端配置待验证的视频编码参数;
发送步骤:将待验证的视频编码参数发送至终端;
验证步骤:根据终端采用待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对待验证的视频编码参数进行重新配置,如果是,则返回配置步骤;如果否,则在硬件配置信息与当前最新配置的视频编码参数之间建立映射关系并对映射关系进行存储。
用户终端可以预留可调的编码参数空间并向服务器端发送请求消息,请求服务器返回与当前终端的硬件配置信息相适配的视频编码参数。服务器端根据请求消息返回待验证的视频编码参数至用户终端,然后由用户终端将其存储在预留可调的编码参数空间中。
通过用户终端观察硬件配置信息(例如:特定类型CPU)具备的视频应用场景编码视频数据的显示效果,如果判断出显示效果没有改善或虽然有所改善但尚未达到最佳显示效果,则再次在服务器后台重新配置待验证的视频编码参数,并发送至用户终端。当用户终端下次重新启动视频应用时,该视频应用可以根据服务器后台最新配置的视频编码参数对视频数据进行视频编码,并再次观察视频应用的显示效果是否有所改善。如此往复操作,直到用户终端呈现出视频数据的最佳现实效果或无限接近最佳显示效果。经过反复多次操作,服务器端可以得到具备不同硬件配置信息的各种类型用户终端所分别对应的最佳适配视频编码参数,进而在不同用户分别使用不同用户终端上的视频应用进行视频编码时,服务器端可以根据用户终端发送的请求消息和上述已经建立的映射关系,将对应的最佳适配视频编码参数发送给用户终端,以便于用户终端按照最佳适配视频编码参数对视频数据进行最佳效果编码。
作为本发明的一个优选实施例,图2是根据本发明优选实施例的获取最佳视频编码参数方法的流程图。如图2所示,该方法可以包括以下执行步骤:
步骤S202:用户端正常启动视频应用,在初次使用视频应用过程中,都是按照默认的视频编码参数执行视频数据编码操作的,同时请求用户允许获取用户终端的硬件配置信息,并存储到服务器后台。
步骤S204:假设上述视频应用为网络视频直播,可以通过网络直播实时观察对应的视频应用的编码质量,初步观察用户初次启用视频应用时的视频数据编码质量。
步骤S206:在服务器后台根据获取到的用户终端的硬件配置信息,首次尝试配置对应的视频编码参数并更新视频应用。
步骤S208:当用户终端下次重新启动视频应用时,该视频应用可以根据服务器后台配置的映射关系,应用最新配置的视频编码参数对视频数据进行视频编码。
步骤S210:再次观察视频应用的显示效果是否有所改善。
步骤S212:通过观察视频显示效果,判断出显示效果没有改善或虽然有所改善但尚未达到最佳显示效果,则再次在后台配置视频编码参数,类似地,多次重复执行步骤S208-步骤S212所对应的操作,直至最终达到满意的显示效果。
步骤S214:通过多次调整对应的视频编码参数,使得视频应用呈现最佳的显示效果,此时服务器后台存储的映射关系即为用户终端的硬件配置信息(例如:CPU)与最佳视频编码参数之间的映射关系。类似地,通过对多种具有不同标识的CPU分别获取各自对应的最佳视频编码,最终能够得出每种不同标识的CPU及其对应的最佳视频编码参数之间的映射关系,并存储于服务器后台的数据库中,从而能够使得具备不同硬件配置的用户终端在启动视频应用时,提高视频编码的灵活性,获得最佳的显示效果。
可选地,在验证步骤,建立映射关系并对映射关系进行存储后,还可以包括以下执行步骤:
步骤S15,对映射关系进行删除,或者,采用最新输入的视频编码参数对映射关系中对应相同硬件配置信息的一个或多个视频编码参数或对应不同硬件配置信息的多个视频编码参数进行更新。
在优选实施过程中,既可以对映射关系中的部分或全部已经存在的映射条目进行删除,也可以对映射关系中的单个映射条目进行单独更新,还可以对映射关系中部分或全部已经存在的映射条目进行批量更新。
可选地,在步骤S12,获取终端的硬件配置信息之前,还可以包括以下执行步骤:
步骤S11,向终端发送提示信息,其中,提示信息用于提示终端的用户是否允许采集硬件配置信息。
出于保护用户隐私的考虑,在终端向用户发出提示信息,以使用户选择是否允许对其使用的终端进行硬件配置信息进行搜集;而只有当用户明确地选择了允许对其使用的终端进行硬件配置信息进行搜集,才会对终端的硬件配置信息进行搜集;若用户选择拒绝对其使用的终端进行硬件配置信息进行搜集,则不会对终端的硬件配置信息进行搜集。
根据本发明实施例,还提供了一种视频数据的编码方法的实施例。图3是根据本发明实施例的视频数据的编码方法的流程图。如图3所示,该方法可以包括以下处理步骤:
步骤S32,向服务器发送硬件配置信息;
步骤S34,接收服务器反馈的与硬件配置信息相适配的视频编码参数;
步骤S36,采用视频编码参数对待编码的视频数据进行编码。
通过上述步骤,采用向服务器端提供终端的硬件配置信息,然后由服务器从映射关系中查找与硬件配置信息相适配的视频编码参数并向终端返回视频编码参数的方式,通过终端采用服务器返回的视频编码参数来取代固定的视频编码参数,达到了增强对待编码的视频数据进行灵活性编码的目的,从而实现了在针对具有不同硬件配置的用户终端进行视频编码时,可以自适应应用存在于映射关系中与硬件配置信息相适配的视频编码参数,从而进行最佳视频显示效果的视频编码,增强视频数据编码方式的灵活性以及提升视频数据在视频应用上的显示质量的技术效果,进而解决了相关技术中采用固定的视频编码参数对视频数据进行编码的方式缺乏灵活性,无法与终端的硬件配置信息相适应的技术问题。
下面将结合图4所示的优选实施方式对上述优选实施过程作进一步地描述。
图4是根据本发明优选实施例的终端与服务器端配合完成视频编码方法的流程图。如图4所示,该流程可以包括以下执行步骤:
步骤S402:启动视频应用,在该优选实施例中,视频应用可以是网络视频直播,该步骤的作用在于:开启视频直播上传引擎,发送消息通知视频服务,上传引擎要开始直播的状态,同时通过视频数据采集设备(例如:摄像头)采集视频画面,并为后续对视频数据进行视频编码做准备。
步骤S404:在用户允许的情况下,获取用户终端的硬件配置信息并存储到内存,作为下一个步骤的输入。
具体地,出于对用户个人隐私保护方面因素的考虑,在搜集用户终端的硬件配置信息之前,会向用户发出提示信息,以提示用户是否允许对其使用的终端上的硬件配置信息进行搜集。如果用户选择允许,那么,此时可以调用获取硬件配置信息的应用程序编程接口(API),获取用户终端的硬件配置信息,其可以包括但不限于:CPU的生产厂商、CPU型号、SIMD、CPU频率,CPU物理核数;然后将获取到的硬件配置信息存放在内存中,作为后续流程的输入。
在该优选实施例中,视频编码器分别设置有:默认编码参数和预留的可变编码参数。在首次搜集用户终端的硬件配置信息的过程中,无论用户是否允许搜集用户终端的硬件配置信息,在首次启用视频应用时,均采用默认的编码参数进行视频编码。当下次启动视频应用时,如果确定需要使用预留的可变编码参数行视频编码时,才会采用预留的可变编码参数行视频编码,否则,将沿用默认的编码参数进行视频编码。
步骤S406:接收获取到的用户终端的硬件配置信息,同时向配置后台发送请求获取已经存在的映射关系作为判断依据。具体地,可以通过网络连接向配置后台发送请求,以获取当前存在的硬件配置信息与可变的视频编码参数之间的映射关系,并根据获取到的映射关系与获取到的用户终端的硬件配置信息进行比对;若当前获取到的用户终端的硬件配置信息已存在于上述映射关系中,则采用上述映射关系中与当前获取到的用户终端的硬件配置信息对应的视频编码参数执行后续的视频数据编码操作;若当前获取到的用户终端的硬件配置信息尚未存在于上述映射关系中,则仍然按照默认的视频编码参数执行后续的视频数据编码操作。
步骤S408:使用上一步骤中获取到的可变的视频编码参数,应用到编码器的预留可变视频编码参数中来替换默认的视频编码参数。
在该优选实施例中,采用h264标准的开源库x264,具体的可变视频编码参数可以包括但不限于以下至少之一:
(1)线程超前缓冲(lookahead);
(2)亚像素运动估计质量(subpel_refine);
(3)并行编码多帧(threads);
(4)运动估计算法(me_method);
(5)量化(trellis:Trellis);
(6)两个相关图像间P帧的数目(bframe);
(7)参考帧最大数目(frame_reference);
(8)时间空间队运动预测(direct_mv_pred);
(9)帧间最大量化步长(qp_step);
(10)整像素运动估计搜索范围(me_range)。
步骤S410:经视频采集设备(例如:摄像头)将采集后的视频数据发送至视频编码器。可选地,该视频编码器可以采用h264标准开源库x264中提供的可变的视频编码参数或者默认的视频编码参数对采集到的视频数据进行视频编码,最后输出适合传输的视频数据流。
步骤S412:视频编码配置后台能够提供视频编码的配置功能,映射关系的更新功能以及映射关系的查询功能。
具体地,视频应用将获取到的用户终端的硬件配置信息,通过网络传输到服务器端的配置后台中并存储到数据库。服务器端在每次获取到新的用户终端的硬件配置信息后,都会在数据库中新增一项记录。由于在初始配置过程中,并不存在与用户终端的硬件配置信息对应的可变的视频编码参数,因此,其对应的视频编码参数为空。这样,当视频应用在获取到上述映射关系时,若发现还未对用户终端的硬件配置信息对应的视频编码参数进行配置,则视频应用将会使用默认的视频编码参数对视频数据进行编码;然而,如果匹配到与用户终端的硬件配置信息对应的视频编码参数,则视频应用会使用匹配到的视频编码参数。存储到数据库中的映射关系的示例如下:
(1)标识:1889011,CPU的生产厂商:GenuineIntel,CPU的型号:Intel(R)Core(TM)i3-3120M CPU@2.50GHz,SIMD:mmx sse sse2 sse3 sse41 sse42 avx,CPU的频率:2.50GHz,CPU的核数:4;适配信息:{"lookahead":5,"subpel_refine":5,"threads":1,"me_method":2,"trellis":1,"bframe":2,"frame_reference":3,"mb_tree":1}。
(2)标识:1889006,CPU的生产厂商:AuthenticAMD,CPU的型号:AMD,SIMD:mmx ssesse2 sse3,CPU的频率:2.82GHz,CPU的核数:4;适配信息:空。
……
对于映射关系的查询功能而言,可以按照预设的查询条件向数据库查询对应的映射关系条目,以返回给视频应用,其中,预设的查询条件可以包括但不限于以下至少之一:CPU的生产厂商、CPU型号、SIMD、CPU频率,CPU物理核数。通过向视频应用发送携带上述预设的查询条件的查询请求,向数据库查询对应的硬件配置信息和可变的视频编码参数之间的映射关系,然后将查询结果返回给视频应用。
对于映射关系的更新功能而言,可以单个或批量地更新配置数据库中的硬件配置信息和可变的视频编码参数之间的映射关系。具体地,提供单个映射条目更新功能,通过输入适配的可变的视频编码参数,再选择单个映射条目进行更新,则采用新输入的视频编码参数来替换对应映射条目中存储的视频编码参数;提供批量映射条目更新功能,通过输入适配的可变的视频编码参数,再选择多个映射条目进行更新,则采用新输入的视频编码参数来替换对应的批量映射条目中各自存储的视频编码参数。
步骤S414:对上述映射关系进行存储,在该优选实施例中,可以采用MySQL数据库对上述映射关系进行存储。
根据本发明实施例,还提供了一种视频编码参数的处理装置的实施例。图5是根据本发明实施例的视频编码参数的处理装置的结构框图。如图5所示,该装置可以包括:获取模块100,用于获取终端的硬件配置信息;确定模块102,用于根据映射关系中是否存在与硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数;反馈模块104,用于将确定后的视频编码参数反馈给终端。
在优选实施过程中,上述硬件配置信息可以包括但不限于以下至少之一:
(1)中央处理器(CPU)的生产厂商;
(2)CPU的型号;
(3)单指令多数据流(SIMD);
(4)CPU的频率;
(5)CPU的核数。
可选地,确定模块102,用于如果映射关系中存在与硬件配置信息相适配的视频编码参数,则确定选用相适配的视频编码参数;或者,如果映射关系中不存在与硬件配置信息相适配的视频编码参数,则确定选用默认的视频编码参数。
可选地,图6是根据本发明优选实施例的视频编码参数的处理装置的结构框图。如图6所示,上述装置还可以包括:配置模块106,用于根据硬件配置信息为终端配置待验证的视频编码参数;发送模块108,用于将待验证的视频编码参数发送至终端;验证模块110,用于根据终端采用待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对待验证的视频编码参数进行重新配置,如果是,则返回配置模块;如果否,则在硬件配置信息与当前最新配置的视频编码参数之间建立映射关系并对映射关系进行存储。
可选地,如图6所示,上述装置还可以包括:调整模块112,用于对映射关系进行删除,或者,采用最新输入的视频编码参数对映射关系中对应相同硬件配置信息的一个或多个视频编码参数或对应不同硬件配置信息的多个视频编码参数进行更新。
可选地,如图6所示,上述装置还可以包括:提示模块114,用于向终端发送提示信息,其中,提示信息用于提示终端的用户是否允许采集硬件配置信息。
根据本发明实施例,还提供了一种视频数据的编码装置的实施例。图7是根据本发明实施例的视频数据的编码装置的结构框图。如图7所示,该装置可以包括:发送模块200,用于向服务器发送硬件配置信息;接收模块202,用于接收服务器反馈的与硬件配置信息相适配的视频编码参数;编码模块204,用于采用视频编码参数对待编码的视频数据进行编码。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种视频编码参数的处理方法,其特征在于,包括:
获取终端的硬件配置信息;
根据映射关系中是否存在与所述硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数;
将确定后的视频编码参数反馈给所述终端;
其中,在根据所述判断结果确定为所述待编码的视频数据选用的视频编码参数之前,还包括:配置步骤:根据所述硬件配置信息为所述终端配置待验证的视频编码参数;发送步骤:将所述待验证的视频编码参数发送至所述终端;验证步骤:根据所述终端采用所述待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对所述待验证的视频编码参数进行重新配置,如果是,则返回所述配置步骤;如果否,则在所述硬件配置信息与当前最新配置的视频编码参数之间建立所述映射关系并对所述映射关系进行存储。
2.根据权利要求1所述的方法,其特征在于,根据所述判断结果确定为所述待编码的视频数据选用的视频编码参数包括:
如果所述映射关系中存在与所述硬件配置信息相适配的视频编码参数,则确定选用所述相适配的视频编码参数;
如果所述映射关系中不存在与所述硬件配置信息相适配的视频编码参数,则确定选用默认的视频编码参数。
3.根据权利要求1所述的方法,其特征在于,在建立所述映射关系并对所述映射关系进行存储后,还包括:
对所述映射关系进行删除,或者,采用最新输入的视频编码参数对所述映射关系中对应相同硬件配置信息的一个或多个视频编码参数或对应不同硬件配置信息的多个视频编码参数进行更新。
4.根据权利要求1所述的方法,其特征在于,在获取所述终端的所述硬件配置信息之前,还包括:
向所述终端发送提示信息,其中,所述提示信息用于提示所述终端的用户是否允许采集所述硬件配置信息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述硬件配置信息包括以下至少之一:
中央处理器CPU的生产厂商、CPU的型号、单指令多数据流SIMD、CPU的频率、CPU的核数。
6.一种视频数据的编码方法,其特征在于,包括:
向服务器发送硬件配置信息;
接收所述服务器反馈的与所述硬件配置信息相适配的视频编码参数,其中,所述视频编码参数由所述服务器通过以下步骤得到:配置步骤:根据所述硬件配置信息为终端配置待验证的视频编码参数;发送步骤:将所述待验证的视频编码参数发送至所述终端;验证步骤:根据所述终端采用所述待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对所述待验证的视频编码参数进行重新配置,如果是,则返回所述配置步骤;如果否,则在所述硬件配置信息与当前最新配置的视频编码参数之间建立映射关系并对所述映射关系进行存储;
采用所述视频编码参数对所述待编码的视频数据进行编码。
7.一种视频编码参数的处理装置,其特征在于,包括:
获取模块,用于获取终端的硬件配置信息;
确定模块,用于根据映射关系中是否存在与所述硬件配置信息相适配的视频编码参数的判断结果确定为待编码的视频数据选用的视频编码参数;
反馈模块,用于将确定后的视频编码参数反馈给所述终端;
其中,所述装置还包括:配置模块,用于根据所述硬件配置信息为所述终端配置待验证的视频编码参数;发送模块,用于将所述待验证的视频编码参数发送至所述终端;验证模块,用于根据所述终端采用所述待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对所述待验证的视频编码参数进行重新配置,如果是,则返回所述配置模块;如果否,则在所述硬件配置信息与当前最新配置的视频编码参数之间建立所述映射关系并对所述映射关系进行存储。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,用于如果所述映射关系中存在与所述硬件配置信息相适配的视频编码参数,则确定选用所述相适配的视频编码参数;或者,如果所述映射关系中不存在与所述硬件配置信息相适配的视频编码参数,则确定选用默认的视频编码参数。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
调整模块,用于对所述映射关系进行删除,或者,采用最新输入的视频编码参数对所述映射关系中对应相同硬件配置信息的一个或多个视频编码参数或对应不同硬件配置信息的多个视频编码参数进行更新。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
提示模块,用于向所述终端发送提示信息,其中,所述提示信息用于提示所述终端的用户是否允许采集所述硬件配置信息。
11.根据权利要求7至10中任一项所述的装置,其特征在于,所述硬件配置信息包括以下至少之一:
中央处理器CPU的生产厂商、CPU的型号、单指令多数据流SIMD、CPU的频率、CPU的核数。
12.一种视频数据的编码装置,其特征在于,包括:
发送模块,用于向服务器发送硬件配置信息;
接收模块,用于接收所述服务器反馈的与所述硬件配置信息相适配的视频编码参数,其中,所述视频编码参数由所述服务器通过以下步骤得到:配置步骤:根据所述硬件配置信息为终端配置待验证的视频编码参数;发送步骤:将所述待验证的视频编码参数发送至所述终端;验证步骤:根据所述终端采用所述待验证的视频编码参数对待编码的视频数据进行编码后的显示效果判断是否需要对所述待验证的视频编码参数进行重新配置,如果是,则返回所述配置步骤;如果否,则在所述硬件配置信息与当前最新配置的视频编码参数之间建立映射关系并对所述映射关系进行存储;
编码模块,用于采用所述视频编码参数对所述待编码的视频数据进行编码。
CN201610460339.9A 2016-06-21 2016-06-21 视频编码参数的处理、视频数据的编码方法及装置 Active CN106060550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610460339.9A CN106060550B (zh) 2016-06-21 2016-06-21 视频编码参数的处理、视频数据的编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610460339.9A CN106060550B (zh) 2016-06-21 2016-06-21 视频编码参数的处理、视频数据的编码方法及装置

Publications (2)

Publication Number Publication Date
CN106060550A CN106060550A (zh) 2016-10-26
CN106060550B true CN106060550B (zh) 2019-03-01

Family

ID=57168930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610460339.9A Active CN106060550B (zh) 2016-06-21 2016-06-21 视频编码参数的处理、视频数据的编码方法及装置

Country Status (1)

Country Link
CN (1) CN106060550B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108093197B (zh) * 2016-11-21 2021-06-15 阿里巴巴集团控股有限公司 用于信息分享的方法、系统及机器可读介质
CN107948660A (zh) * 2017-11-16 2018-04-20 北京小米移动软件有限公司 视频编码适配的方法及装置
CN110198427B (zh) * 2018-07-05 2021-09-21 腾讯科技(深圳)有限公司 视频通话方法和装置
CN110012217B (zh) * 2018-12-06 2021-07-20 卓米私人有限公司 采集分辨率的确定方法、装置及电子设备
CN109587511A (zh) * 2018-12-24 2019-04-05 网易(杭州)网络有限公司 多设备视频直播方法、设备、系统及存储介质
CN110113669B (zh) * 2019-06-14 2021-07-16 北京达佳互联信息技术有限公司 获取视频数据的方法、装置、电子设备及存储介质
CN111010587A (zh) * 2019-12-24 2020-04-14 网易(杭州)网络有限公司 直播控制方法、装置及系统
CN112637589A (zh) * 2020-07-31 2021-04-09 西安诺瓦星云科技股份有限公司 数据处理方法及其装置以及视频处理设备
CN112511788B (zh) * 2020-11-27 2022-04-01 厦门亿联网络技术股份有限公司 一种视频会议的视频传输控制方法及视频传输系统
CN112738507B (zh) * 2020-12-23 2024-07-05 百果园技术(新加坡)有限公司 一种编码模式确定方法、装置、设备及存储介质
CN114286128A (zh) * 2021-12-28 2022-04-05 广州方硅信息技术有限公司 直播视频参数调整方法、系统、装置、设备及存储介质
CN114697693B (zh) * 2022-03-21 2023-09-19 联想(北京)有限公司 一种数据处理方法、装置、存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1150456C (zh) * 1996-10-15 2004-05-19 松下电器产业株式会社 图象编码方法和编码设备
CN102111617B (zh) * 2010-12-15 2012-07-11 广州市动景计算机科技有限公司 流媒体解码方法及装置
US9575590B2 (en) * 2012-11-27 2017-02-21 Beijing Lenovo Software Ltd Input method and input apparatus
CN104301291A (zh) * 2013-07-16 2015-01-21 广州市千钧网络科技有限公司 用于直播的流压缩方法和装置
CN104917671B (zh) * 2015-06-10 2017-11-21 腾讯科技(深圳)有限公司 基于移动终端的音频处理方法和装置

Also Published As

Publication number Publication date
CN106060550A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
CN106060550B (zh) 视频编码参数的处理、视频数据的编码方法及装置
US20200267416A1 (en) Image processor and image processing method
CN106060459A (zh) 一种摄像机的协议转换系统及其转换方法
CN105959618A (zh) 一种远程操控机器人的方法
CN104602030B (zh) 一种编码方法、编码装置及服务器
CN103957341B (zh) 图片传输的方法及其相关设备
CN104685886A (zh) 用于视频处理的装置及其方法
CN109151436A (zh) 数据处理方法及装置、电子设备及存储介质
CN105407316A (zh) 智能摄像系统的实现方法、智能摄像系统和网络摄像头
CN109587491A (zh) 一种帧内预测方法、装置及存储介质
CN109996080A (zh) 图像的预测方法、装置及编解码器
CN109525802A (zh) 一种视频流传输方法和装置
CN109451325A (zh) 直播平台的换肤方法、装置、存储介质和电子装置
CN113572669B (zh) 场景处理方法、装置、智能网关及处理器
CN109257609A (zh) 数据处理方法及装置、电子设备及存储介质
EP2924985A1 (en) Low-bit-rate video conference system and method, sending end device, and receiving end device
CN111432158A (zh) 媒体节点的负载均衡方法及装置、存储介质、电子装置
CN112468816A (zh) 固定码率系数预测模型建立及视频编码的方法
CN109274976A (zh) 数据处理方法及装置、电子设备及存储介质
CN116170582A (zh) 一种视频数据处理方法、装置、计算机设备以及存储介质
EP1494481A2 (en) Motion picture receiving device, motion picture transmitting device, and program
CN106162808B (zh) 一种网络接入的方法和设备
CN112351278B (zh) 一种视频的编码方法和装置,视频的解码方法和装置
CN110996137B (zh) 一种视频处理方法及装置
WO2023147780A1 (zh) 视频帧的编码模式筛选方法、装置及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant