CN104811722B - 一种视频数据的编解码方法及装置 - Google Patents
一种视频数据的编解码方法及装置 Download PDFInfo
- Publication number
- CN104811722B CN104811722B CN201510180497.4A CN201510180497A CN104811722B CN 104811722 B CN104811722 B CN 104811722B CN 201510180497 A CN201510180497 A CN 201510180497A CN 104811722 B CN104811722 B CN 104811722B
- Authority
- CN
- China
- Prior art keywords
- information
- frame
- processed
- mode
- coding
- 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
Classifications
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种视频数据的编码方法,包括:获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,则按照第一编码方式和第二编码方式分别对待处理帧进行预处理,其中,第一编码方式和第二编码方式是不同的编码方式;根据第一编码方式的预处理结果和第二编码方式的预处理结果,从第一编码方式和第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码。本发明实施例还公开了一种视频数据的编码装置。采用本发明,具有保证视频数据处理的质量,增强视频数据编码的用户体验的优点。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种视频数据的编解码方法及装置。
背景技术
当前视频编解码过程中,视频数据将通过预测、变换、量化和熵编码等过程,被变成码流,去除了数据间的冗余信息,提高了视频数据的传输效率。帧速率上转换技术是一种视频后处理技术,通过在原有视频帧中***中间帧的方式,将低帧率视频转变成高帧率视频,提供更好的视觉质量。多参考帧技术是在多参考帧模式下,对一个宏块或者子块进行运动补偿时,编码会从过去的若干个已编码帧中选定一帧作为参考帧,寻求当前编码宏块或子块的最佳匹配块,以获得更好的预测效果。在很多物体存在遮蔽等情况下,多参考帧的引入能够提高编码效率。
现有技术的视频数据编解码方法中编码端不做视频帧的处理方式的选择,也不需要传送视频帧的处理方式等视频数据至解码端。解码端基于一种或者几种自适应规则,选择性地进行帧速率上转换的操作,自适应规则可以包括运动的激烈程度,编码的模式选择,视频内容的纹理结构等。如图1,图1是现有技术中解码端自适应地进行视频帧处理的一操作方式。解码端处理当前帧的数据时,可统计前一已解码帧的运动矢量信息,判断上述已解码帧的运动矢量的平均长度是否超过阈值。若运动矢量的平均长度超过阈值,则重复前一帧,将其***当前帧之前,进而可接着处理下一帧。如运动矢量的平均长度未超过阈值,则用帧速率上转换算法得到插值帧,将插值帧***当前帧之前,进而可接着处理下一帧。
现有技术中解码端采用自适应的方法(无法从编码端获知视频数据的处理方式)进而无法保证对不视频数据的处理方式产生误判决,无法保证对于插值算法(如帧速率上转换算法)的适用性。现有技术采用简单的插值方法未对运动情况(包括剧烈的和平缓的运动情况)进行区分,对参考帧列表的入列参考帧的内容没有特定要求,使得在高帧率视频源的情况下,无法充分发挥参考帧算法的性能,无法保证视频质量。
发明内容
本发明实施例提供一种视频数据的编解码方法及装置,可提高编码方式选择的多样性和灵活性,保证视频数据的处理质量,增强视频数据编码的用户体验。
本发明实施例第一方面提供了一种视频数据的编码方法,其可包括:
获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种;
若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,则按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式;
根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码。
结合第一方面,在第一种可能的实现方式中,所述指定信息为帧率信息;
所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,包括:
所述帧率信息所指示的帧率大于预设的帧率阈值。
结合第一方面,在第二种可能的实现方式中,所述指定信息为时间复杂度信息;
所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,包括:
所述时间复杂度信息所指示的时间复杂度大于预设的时间复杂度阈值。
结合第一方面,在第三种可能的实现方式中,所述指定信息为空间复杂度信息;
所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,包括:
所述空间复杂度信息所指示的空间复杂度大于预设空间复杂度阈值。
结合第一方面至第一方面第三种可能的实现方式中任一种,在第四种可能的实现方式中,所述按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,包括:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得满足指定视频质量指标的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理所耗费的第一编码数据量大小;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得满足所述指定视频质量指标的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理所耗费的第二编码数据量大小。
结合第一方面第四种可能的实现方式,在第五种可能的实现方式中,所述根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,包括:
判断所述第一编码数据量大小是否小于所述第二编码数据量大小,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
结合第一方面至第一方面第三种可能的实现方式中任一种,在第六种可能的实现方式中,所述按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,包括:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标。
结合第一方面第六种可能的实现方式,在第七种可能的实现方式中,所述根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,包括:
判断所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
结合第一方面第四种可能的实现方式和第一方面第六种可能的实现方式,在第八种可能的实现方式中,所述根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,包括:
获取所述第一编码数据量大小和第二编码数据量大小,以及所述第一质量指标和所述第二质量指标;
判断所述第一质量指标与所述第一编码数据量大小的比值,是否高于所述第二质量指标与所述第二编码数据量大小的比值;
若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
结合第一方面第六种可能的实现方式,在第九种可能的实现方式中,所述根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,包括:
判断所述待处理帧是否为监控视频数据或者特写视频数据中的视频帧;
若判断结果为是,则获取所述第一质量指标和所述第二质量指标;
判断所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式。
结合第一方面,在第十种可能的实现方式中,所述从所述第一编码方式和所述第二编码方式中选择目标编码方式之后,所述方法还包括:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
结合第一方面第十种可能的实现方式,在第十一种可能的实现方式中,所述根据所述目标编码方式对所述待处理帧进行编码之后,所述方法还包括:
判断所述目标编码方式是否为视频编码标准技术;
若所述目标编码方式为所述视频编码标准技术,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
本发明实施例第二方面提供了一种视频数据的解码方法,其可包括:
获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种;
若所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,则根据所述待处理帧的码流信息中携带的标识信息,确定所述待处理帧的目标解码方式;
根据所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧。
结合第二方面,在第一种可能的实现方式中,所述指定信息为帧率信息;
所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,包括:
所述帧率信息所指示的帧率大于预设的帧率阈值。
结合第二方面,在第二种可能的实现方式中,所述指定信息为时间复杂度信息;
所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,包括:
所述时间复杂度信息所指示的时间复杂度大于预设的时间复杂度阈值。
结合第二方面,在第三种可能的实现方式中,所述指定信息为空间复杂度信息;
所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,包括:
所述空间复杂度信息所指示的空间复杂度大于预设空间复杂度阈值。
结合第二方面至第二方面第三种可能的实现方式中任一种,在第四种可能的实现方式中,所述根据所述待处理帧的码流信息中携带的标识信息,确定所述待处理帧的目标解码方式,包括:
对所述待处理帧的码流信息进行解码,获取所述码流信息中携带的用于标记目标编码方式的索引信息,根据所述索引信息确定所述目标编码方式;
按照预设的编码方式和解码方式的对应关系,结合所述目标编码方式确定所述待处理帧的目标解码方式。
结合第二方面至第二方面第三种可能的实现方式中任一种,在第五种可能的实现方式中,所述根据所述待处理帧的码流信息中携带的标识信息,确定所述待处理帧的目标解码方式,包括:
对所述待处理帧的码流信息进行解码,获取所述码流信息中携带的标识信息是否包含图像显示信息或者时间戳;
若所述标识信息中包含图像显示信息或者时间戳,则确定所述目标编码方式为所述视频编码标准技术,并按照预设的编码方式和解码方式的对应关系,确定所述视频编码标准技术对应的目标解码方式;
若所述标识信息中没有图像显示信息或者时间戳,则确定所述目标编码方式为所述帧速率上转换技术或者所述分辨率缩放技术,并按照预设的编码方式和解码方式的对应关系,确定所述帧速率上转换技术对应的目标解码方式,或者所述分辨率缩放技术对应的目标解码方式。
结合第二方面第四种可能的实现方式或者第二方面第五种可能的实现方式,在第六种可能的实现方式中,所述根据所述目标解码方式确定对所述待处理帧进行解码的辅助信息,包括:
当所述目标解码方式为所述视频编码标准技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧对应的残差数据信息和控制头信息;
当所述目标解码方式为帧速率上转换技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为空;
当所述目标解码方式为分辨率缩放技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧进行缩放处理对应的残差数据信息和控制头信息。
结合第二方面第六种可能的实现方式,在第七种可能的实现方式中,所述根据所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧之后,所述方法还包括:
判断所述目标解码方式是否为所述视频编码标准技术对应的解码方式;
若所述目标解码方式为所述视频编码标准技术对应的解码方式,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
本发明实施例第三方面提供了一种视频数据的编码装置,其可包括:
获取模块,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种;
预处理模块,用于在所述获取模块获取的所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件时,按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式;
处理模块,用于根据所述预处理模块处理的所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码。
结合第三方面,在第一种可能的实现方式中,所述指定信息为帧率信息;
所述预处理模块,具体用于:
判断所述帧率信息所指示的帧率是否大于预设的帧率阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
结合第三方面,在第二种可能的实现方式中,所述指定信息为时间复杂度信息;
所述预处理模块,具体用于:
判断所述时间复杂度信息所指示的时间复杂度是否大于预设的时间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
结合第三方面,在第三种可能的实现方式中,所述指定信息为空间复杂度信息;
所述预处理模块,具体用于:
判断所述空间复杂度信息所指示的空间复杂度是否大于预设空间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
结合第三方面至第三方面第三种可能的实现方式中任一种,在第四种可能的实现方式中,所述预处理模块,具体用于:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得满足指定视频质量指标的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理所耗费的第一编码数据量大小;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得满足所述指定视频质量指标的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理所耗费的第二编码数据量大小。
结合第三方面第四种可能的实现方式,在第五种可能的实现方式中,所述处理模块,具体用于:
判断所述预处理模块处理得到的所述第一编码数据量大小是否小于所述第二编码数据量大小,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
结合第三方面至第三方面第三种可能的实现方式中任一种,在第六种可能的实现方式中,所述预处理模块,具体用于:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标。
结合第三方面第六种可能的实现方式,在第七种可能的实现方式中,所述处理模块,具体用于:
判断所述预处理模块处理得到的所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
结合第三方面第四种可能的实现方式和第三方面第六种可能的实现方式,在第八种可能的实现方式中,所述处理模块,具体用于:
获取所述预处理模块处理的所述第一编码数据量大小和第二编码数据量大小,以及所述第一质量指标和所述第二质量指标;
判断所述第一质量指标与所述第一编码数据量大小的比值,是否高于所述第二质量指标与所述第二编码数据量大小的比值;
若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
结合第三方面第六种可能的实现方式,在第九种可能的实现方式中,所述处理模块,具体用于:
判断所述待处理帧是否为监控视频数据或者特写视频数据中的视频帧;
若判断结果为是,则获取所述预处理模块处理的所述第一质量指标和所述第二质量指标;
判断所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式。
结合第三方面,在第三方面第十种可能的实现方式中,所述编码装置还包括标记模块,所述标记模块用于:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
结合第三方面第十种可能的实现方式,在第十一种可能的实现方式中,所述编码装置,还包括:
参考帧判断模块,用于判断所述处理模块选择的所述目标编码方式是否为视频编码标准技术,若所述目标编码方式为所述视频编码标准技术,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
本发明实施例第四方面提供了一种视频数据的解码装置,其可包括:
获取模块,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种;
确定模块,用于在所述获取模块获取的所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件时,根据所述待处理帧的码流信息中携带的标识信息,确定所述待处理帧的目标解码方式;
处理模块,用于根据所述确定模块确定的所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧。
结合第四方面,在第一种可能的实现方式中,所述指定信息为帧率信息;
所述确定模块,具体用于:
判断所述帧率信息所指示的帧率是否大于预设的帧率阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
结合第四方面,在第二种可能的实现方式中,所述指定信息为时间复杂度信息;
所述确定模块,具体用于:
判断所述时间复杂度信息所指示的时间复杂度是否大于预设的时间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
结合第四方面,在第三种可能的实现方式中,所述指定信息为空间复杂度信息;
所述确定模块,具体用于:
判断所述空间复杂度信息所指示的空间复杂度是否大于预设空间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
结合第四方面至第四方面第三种可能的实现方式中任一种,在第四种可能的实现方式中,所述确定模块,具体用于:
对所述待处理帧的码流信息进行解码,获取所述码流信息中携带的用于标记目标编码方式的索引信息,根据所述索引信息确定所述目标编码方式;
按照预设的编码方式和解码方式的对应关系,结合所述目标编码方式确定所述待处理帧的目标解码方式。
结合第四方面至第四方面第三种可能的实现方式中任一种,在第五种可能的实现方式中,所述确定模块,具体用于:
对所述待处理帧的码流信息进行解码,获取所述码流信息中携带的标识信息是否包含图像显示信息或者时间戳;
若所述标识信息中包含图像显示信息或者时间戳,则确定所述目标编码方式为所述视频编码标准技术,并按照预设的编码方式和解码方式的对应关系,确定所述视频编码标准技术对应的目标解码方式;
若所述标识信息中没有图像显示信息或者时间戳,则确定所述目标编码方式为所述帧速率上转换技术或者所述分辨率缩放技术,并按照预设的编码方式和解码方式的对应关系,确定所述帧速率上转换技术对应的目标解码方式,或者所述分辨率缩放技术对应的目标解码方式。
结合第四方面第四种可能的实现方式或者第四方面第五种可能的实现方式,在第六种可能的实现方式中,所述处理模块,具体用于:
当所述确定模块确定的所述目标解码方式为所述视频编码标准技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧对应的残差数据信息和控制头信息;
当所述确定模块确定的所述目标解码方式为帧速率上转换技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为空;
当所述确定模块确定的所述目标解码方式为分辨率缩放技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧进行缩放处理对应的残差数据信息和控制头信息。
结合第四方面第六种可能的实现方式,在第七种可能的实现方式中,所述解码装置还包括:
参考帧判断模块,用于判断所述确定模块确定的所述目标解码方式是否为所述视频编码标准技术对应的解码方式;
若所述目标解码方式为所述视频编码标准技术对应的解码方式,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
本发明实施例第五方面提供了一种视频数据的编解码***,包括:上述第三方面提供的编码装置和上述第四方面提供的解码装置。
本发明实施例可根据视频数据的待处理帧的指定信息,确定是否采用多种编码方式对待处理帧进行处理,进而可根据上述第一编码方式和第二编码方式对待处理帧进行预处理的预处理结果确定选择具体哪一种编码方式为目标编码方式对待处理帧进行编码。本发明实施例可从多种编码方式中选择具体一种编码方式对待处理帧进行编码处理,提高了视频数据的待处理帧的视频处理质量,增强了视频数据处理的用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中解码端自适应进行视频帧处理的一示意图;
图2是本发明实施例提供的视频数据的编码方法的第一实施例流程示意图;
图3是本发明实施例提供的视频数据的编码方法的第二实施例流程示意图;
图4是本发明实施例提供的视频数据的编码方法的第三实施例流程示意图;
图5是本发明实施例提供的视频数据的解码方法的实施例流程示意图;
图6是本发明实施例提供的视频数据的编码装置的第一实施例结构示意图;
图7是本发明实施例提供的视频数据的编码装置的第二实施例结构示意图;
图8是本发明实施例提供的视频数据的编码装置的第三实施例结构示意图;
图9是本发明实施例提供的视频数据的解码装置的实施例的一结构示意图;
图10是本发明实施例提供的视频数据的解码装置的实施例的另一结构示意图;
图11是本发明实施例提供的视频数据的编解码***的实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中所描述的视频数据的编码方法和解码方法可根据视频数据待处理帧的帧率,或者时间复杂度信息,或者视频数据中图像复杂度等空间复杂度信息确定对视频数据进行编码所使用的编码方式,可提高视频数据的编码质量和解码质量。下面将结合图2-图11,分别从编码端和解码端对本发明实施例提供的视频数据的编码方法和解码方法及装置进行具体描述。
参见图2,是本发明实施例提供的视频数据的编码方法的第一实施例流程示意图。本发明实施例中所描述的视频数据的编码方法,包括步骤:
S101,获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
在一些可行的实施方式中,编码端对视频数据的待处理帧进行编码之前,可首先对待处理帧进行解析,获取待处理帧的指定信息,进而可根据待处理帧的指定信息确定采用什么样的编码方式对待处理帧进行编码。具体的,编码端可预先设定启动多种编码方式对待处理帧进行编码处理时,上述待处理帧的指定信息所需满足的条件,进而可在获取得到待处理帧的指定信息之后,根据待处理帧的指定信息判断上述指定信息是否预设条件。若上述获取得到的待处理帧的指定信息满足预设条件,则可启动多种编码方式对待处理帧进行预处理。若上述获取得到的待处理帧的指定信息不满足预设条件,则可按照一般编码方式对待处理视频数据进行编码。具体的,上述一般编码方式具体可为现有的视频编解码标准所规定的编码方式,例如H.264标准中规定的混合架构编码方式,在此不做限制。
具体实现中,本发明实施例中所描述的待处理帧的指定信息可包括:帧率信息、时间复杂度信息以及空间复杂度信息等。其中,上述待处理帧的时间复杂度信息可包括:待处理帧的运动矢量的长度信息,或者待处理帧的参考帧的索引信息。即,在本发明实施例中,编码端可根据待处理帧的运动矢量的长度信息,或者参考帧的索引信息等反映时间复杂度的物理量来判断待处理帧中包含的运动画面的运动剧烈程度。上述反映时间复杂度的物理量仅是举例,而非穷举,包含但不限于上述信息。上述待处理帧的空间复杂度信息可包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息等。即,在本发明实施例中,编码端可根据待处理帧中包含的图像色度的变化范围、图像纹理或者图像编码模式等反映空间复杂度的物理量来判断待处理帧中包含的图像内容。
S102,若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,则按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式。
在一些可行的实施方式中,由于视频数据的帧率不同,视频数据的编码需求也将不同,为了保证视频数据的编码质量,编码端可根据视频数据的帧率确定具体采用的编码方式。若上述待处理帧的指定信息为帧率信息,则编码端可在上述待处理帧的帧率信息指示的帧率大于预设的帧率阈值时,确定待处理帧的指定信息符合启动多种编码方式处理待处理帧的预设条件。即,在本发明实施例中,编码端可根据待处理帧的帧率确定是否直接采用视频编解码标准所规定的编码方式,或者是否需要采用多种编码方式进行同时处理以从多种编码方式中筛选得到目标编码方式。例如,当编码端判断得到待处理视频数据的帧率大于60帧/秒时,可使用多种编码方式对待处理视频数据进行处理,进而从中选择处理结果更加满足需求的编码方式作为待处理视频数据的目标编码方式,否则直接使用一般的编码方式,即视频编解码标准中所规定的编码方式,在此不再赘述。
在一些可行的实施方式中,若上述待处理帧的指定信息为时间复杂度信息,则编码端可在上述待处理帧的时间复杂度信息所指示的时间复杂度大于预设的时间复杂度阈值时,确定待处理帧的指定信息符合启动多种编码方式处理待处理帧的预设条件。例如,当待处理视频数据的平均运动矢量的长度大于5时,则可判断待处理帧的时间复杂度信息所指示的时间复杂度大于预设的时间复杂度阈值。进一步的,可启动多种编码方式对待处理视频数据进行同时处理,以从中选择目标编码方式。若待处理视频数据的时间复杂度不满足预设条件,则直接使用一般的编码方式对待处理视频数据进行编码,在此不再赘述。
在一些可行的实施方式中,若上述待处理帧的指定信息为空间复杂度信息,则编码端可在上述待处理帧的空间复杂度信息所指示的空间复杂度大于预设空间复杂度阈值时,确定待处理帧的指定信息符合启动多种编码方式处理待处理帧的预设条件。例如,当待处理帧中具体某一个纹理强度的纹理数超过40%时,编码端可判断待处理帧的图像纹理大于预设空间复杂度阈值,进而可启动多种编码方式对待处理数据进行编码,否则使用一般的编码方式进行处理。本发明实施例中所描述的一般的编码方式具体可为现阶段视频编解码标准中规定的编码方式,一般指包括:预测、变换、量化和熵编码等步骤的混合架构编码方式,也可为其它的时域、频域的预测和变换等编码方式,在此不做限制。
在一些可行的实施方式中,编码端确定上述待处理帧的指定信息符合启动多种编码方式处理待处理帧预设条件之后,则可启动第一编码方式和第二编码方式,进而可按照上述第一编码方式和第二编码方式对待处理帧进行处理。具体的,编码端可按照上述第一编码方式和第二编码方式分别对待处理帧进行预处理,以根据上述预处理的处理结果确定选择具体哪一种编码方式对待处理帧进行编码。具体实现中,编码端对待处理帧进行预处理的目的是为了确定具体哪一种编码方式对待处理方式的编码效果会更好一些,而非直接采用上述第一编码方式和第二编码方式对待处理帧进行编码,故此,编码端对待处理帧进行预处理时,可先将待处理视频帧进行简化处理(例如压缩处理等),得到较小数据大小的帧数据,再对压缩后的帧数据进行处理,进而可通过处理结果的比对确定目标编码方式。具体实现中,上述压缩处理进行预处理方式中的一种实现方式,具体处理方式可根据使用应用场景限定,在此不再赘述。
具体实现中,本发明实施例中所描述的第一编码方式具体可为视频编解码标准所规定的视频编码标准技术,或者帧速率上转换技术,或者分辨率缩放技术等。其中,上述视频编解码标准所规定的视频编码标准技术可包括H.263、H.264以及H.265等视频编码标准中所规定的编码技术,在此不做限制。上述编码方式仅是举例,而非穷举,包含但不限于上述编码方式。此外,本发明实施例中所描述的第二编码方式为不同与第一编码方式的编码技术,具体可包括不同于第一编码方式的视频编解码标准所规定的视频编码标准技术,或者不同于第一编码方式的帧速率上转换技术,或者不同于第一编码方式的分辨率缩放技术等。上述编码方式仅是举例,而非穷举,包含但不限于上述编码方式。即,第一编码方式可为上述多种编码技术中的任一种,第二编码方式也可为上述多种编码技术中任一种,但是第二编码方式选定的编码技术与第一编码方式的编码技术不同。例如,当第一编码方式为帧速率上转换技术A时,第二编码方式只能为视频编解码标准所规定的视频编码标准技术中的任一种,或者任一种分辨率缩放技术,或者是帧速率上转换技术B。即第一编码方式为帧速率上转换技术A,第二编码方式则不为帧速率上转换技术A。具体实现中,上述第一编码方式和第二编码方式的选择可根据时间应用场景需求确定,在此不做限制。
S103,根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码。
在一些可行的实施方式中,编码端使用第一编码方式和第二编码方式等多种编码方式同时对待处理帧进行预处理之后,可根据上述多种编码方式的预处理结果从上述多种编码方式中选择目标编码方式。具体的,编码端可使用第一编码方式和第二编码方式对待处理帧进行预处理,进而可将第一编码方式对待处理帧进行预处理得到的视频数据的视频质量或者第一编码方式对待处理帧进行预处理过程中所耗费的编码数据量大小,与第二编码方式对待处理帧进行预处理得到的视频数据的视频质量,或者第二编码方式对待处理帧进行预处理过程中所耗费的编码数据量大小等信息进行比对,根据比对结果从上述第一编码方式和第二编码方式中选择满足具体应用场景需求的编码方式作为对待处理帧进行具体编码处理的目标编码方式。
在一些可行的实施方式中,编码端选择了目标编码方式之后,可使用目标编码方式对待处理帧进行编码。此外,编码端选择了目标编码方式之后,可首先将目标编码方式告知给解码端,解码端可根据编码端传送的信息确定编码端对待处理帧进行编码时所采用的编码方式,进而可使用相对应的解码方式进行解码,无需自行判断,减少了编码方式的误判率。具体实现中,编码端可通过多种发送方式将目标编码方式告知解码端,其中,不同的发送方式对应着不同的标识信息,编码端可通过不同的发送方式将目标编码方式的标识信息发送给解码端。具体的,编码端可选择发送索引信息的发送方式,编码端可采用索引的方式对目标编码方式进行标记,对目标编码方式的索引信息进行编码以得到目标编码方式的标识信息,进而可将目标编码方式的标识信息以码流的形式传递给解码端。解码端可通过解析码流信息,根据码流信息中携带的索引信息确定目标编码方式,进而可根据目标编码方式对应的解码方式对待处理帧进行解码处理。编码端对目标编码方式的索引信息进行编码时,可以以等概率的方式编码索引信息,例如,若有两种编码方式,则第一编码方式编码为0,第二编码方式编码为1。具体的,编码端也可以以实际统计特性,按照不等概率的方式编码索引信息。例如,若有三种编码方式,则第一编码方式可编码为0,第二编码方式可编码为10,第三编码方式可编码为110。进一步的,编码端也可采用等概率和不等概率两种方式混合编码的方式编码索引信息。例如,若有三种编码方式,第一编码方式可编码为0,第二编码方式可编码为10,第三编码方式可编码为11。具体实现中,编码端可根据使用应用需求确定索引信息的编码方式,在此不做限制。
此外,编码端也可采用表征时域信息的物理量对目标编码方式进行标记以得到目标编码方式的标识信息,并将目标编码方式的标识信息作为控制信息传递给解码端。解码端可根据编码端传递的控制信息确定目标编码方式,进而可根据目标编码方式对应的解码方式对待处理帧进行解码处理。上述目标编码方式的传递方式仅是举例,而非穷举,包含但不限于上述实现方式,在此不做限制。其中,上述表征时域信息的物理量可包括:图像显示信息或者时间戳等,在此不做限制。例如,“图像显示信息”是表征每一帧图像在解码端的显示顺序的物理量,作为一种控制信息会被传递到解码端。编码端和解码端可规定当某一个图像显示位置对应的“图像显示信息”存在时,使用第一编码方式对待处理帧进行处理,否则,使用第二编码方式对待处理帧进行处理。又或者,“时间戳”是在传输视频信息时,在传输***层加入的控制信息,表征在解码端在哪一个时间点来播放相对应的视频信息。编码端和解码端可以规定当某一个视频片断的时间戳信息间隔符号规定时,使用第一编码方式进行编码,否则,当上述时间戳信息间隔的稀疏度超过预设阈值时,使用第二编码方式进行编码。编码端可将图像显示信息或者时间戳等信息作为目标编码方式的标识信息,通过图像显示信息或者时间戳等信息将目标编码方式传递给解码端。
在本发明实施例中编码端可根据视频数据的待处理帧的帧率信息或者时间复杂度信息或者空间复杂度信息等待处理帧的指定信息判断是否采用多种编码方式对待处理视频中的待处理帧进行处理,或者按照视频编解码标准所规定的一般编码方式对待处理帧进行处理。若待处理视频数据的帧率或者时间复杂度等指定信息符合启动多种编码方式进行处理的预设条件,则可采用第一编码方式和第二编码方式分别对视频数据中的待处理帧进行预处理,进而可根据上述第一编码方式和第二编码方式的预处理结果确定选择具体哪一种编码方式为待处理帧进行编码。编码端选择目标编码方式之后,可按照指定信息发送方式将目标编码方式告知给解码端,以供解码端根据目标编码方式对应的解码方式对待处理视频数据进行解码处理。本发明实施例可从多种编码方式中选择具体一种编码方式对待处理帧进行编码处理,提高了视频数据的待处理帧的视频处理质量,增强了视频数据处理的用户体验。
参见图3,是本发明实施例提供的视频数据的编码方法的第二实施例流程示意图。本发明实施例中所描述的视频数据的编码方法,包括步骤:
S201,获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
在一些可行的实施方式中,本发明实施例中所描述的编码端获取待处理帧的指定信息的具体实现过程可参见上述第一实施例中的步骤S101,在此不再赘述。
S202,若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,则按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得满足指定视频质量指标的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理所耗费的第一编码数据量大小。
S203,按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得满足所述指定视频质量指标的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理所耗费的第二编码数据量大小。
在一些可行的实施方式中,本发明实施例中所描述的编码端按照第一编码方式和第二编码方式对待处理帧进行预处理的具体实现过程可参见上述第一实施例中的步骤S102,在此不再赘述。
进一步的,在一些可行的实施方式中,本发明实施例中所描述的算法启动方式,即确定是否使用多种编码方式对待处理帧进行处理的启动方式,可以是每一帧都进行单独判断、确定是否启动,即可以是帧级的判断方式。进一步的,编码端确定是否使用多种编码方式对待处理视频数据进行处理的启动方式,还可以是图像组级的判断方式。例如,在编码一个图像组时,可将一个图像组中包含的多帧数据集中进行一次判断,使得该图像组中的多帧数据都使用两种编码方式进行处理,再从中选择目标编码方式,或者都使用三种编码方式进行处理,再选择目标编码方式。进一步的,还可以是序列级的判断方式,即一个序列的帧数据(由多个图像组构成)一次判断,确定是否启动多种编码方式进行处理。或者是条带级的判断方式,或者片级的判断方式,其中,上述条带和片是构成帧的两种方式。即,编码端可按照条带的方式或者片的方式对帧数据进行拆分,将一帧数据拆分为多个条带数据或者多片数据,进而可按照条带级的方式进行判断,确定条带数据是否启动多种编码方式进行处理,或者片级数据是否启动多种编码方式进行处理等,在此不做限制。
进一步的,在一些可行的实施方式中,本发明实施例中所描述的第一编码方式和第二编码方式可为不同的两种编码方式,也可为不同的三种或者四种等多种编码方式,在此不做限制。本发明将以第一编码方式和第二编码方式为两种不同的编码方式这种情况为例,进行具体说明。
在一些可行的实施方式中,编码端可按照第一编码方式对待处理帧进行第一视频质量处理,以获得满足指定视频质量指标的视频数据。进一步的,编码端还可确定按照第一编码方式对待处理帧进行第一视频质量处理所耗费的编码数据量大小(即第一编码数据量大小),其中,上述第一视频质量处理所耗费的第一编码数据量大小即为第一编码方式对待处理帧进行预处理的预处理结果。此外,编码端还可按照第二编码方式对待处理帧进行第二视频质量处理,以获得满足上述指定视频质量指标的视频数据。其中,上述第二编码方式对待处理帧进行预处理的预处理结果包括第二视频质量处理所耗费的第二编码数据量大小。具体实现中,上述指定视频质量指标可包括主观质量指标或者客观质量指标。其中,上述客观质量指标可包括:峰值信噪比或者结构相似度等。上述视频客观质量的质量指标仅是举例,而非穷举,包含但不限于上述质量指标。上述主观质量指标可包括:主观评估评分、心理学模型评分、最小可见误差评分、时空域人眼掩饰效应或者生理特点的评分等。上述视频主观质量的质量指标仅是举例,而非穷举,包含但不限于上述质量指标。
S204,判断所述第一编码数据量大小是否小于所述第二编码数据量大小,若判断结果为是,则执行步骤S205,否则执行步骤S206。
S205,将所述第一编码方式选择为目标编码方式。
S206,将所述第二编码方式选择为目标编码方式。
在一些可行的实施方式中,编码端按照第一编码方式和第二编码方式对待处理帧进行预处理之后,则可将第一编码方式的预处理结果中包括第一编码数据量大小,与第二编码方式的预处理结果中包括的第二编码数据量大小进行比对,根据比对结果从第一编码方式和第二编码方式中选择目标编码方式。具体的,编码端可判断第一编码数据量大小是否小于第二编码数据量大小,若判断结果为是,则可确定相同处理目标的情况下,第一编码方式对待处理帧进行处理所耗费的编码数据量较小,即第一编码方式的处理性能优于第二编码方式,进而可将第一编码方式选择为目标编码方式。若第一编码数据量大小大于第二编码数据量大小,则可将第二编码方式的处理性能优于第一编码方式,进而可将第二编码方式确定为目标编码方式。
S207,根据所述目标编码方式对所述待处理帧进行编码。
具体实现中,编码端使用目标编码方式对待处理帧进行编码的具体实现过程可参见第一实施例中的步骤S103所描述的实现方式,在此不再赘述。
S208,判断所述目标编码方式是否为视频编码标准技术,若判断结果为是,则执行步骤S209。
S209,将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
在一些可行的实施方式中,编码端确定了目标编码方式,使用目标编码方式对待处理帧进行编码之后,还可根据目标编码方式确定是否将待处理帧接入下一个待处理帧对应的参考帧列表中。即,编码端对待处理帧(例如第N帧,N为自然数)进行编码时,可在对待处理帧之前的已处理帧(例如第N-1帧)进行编码完成之后生成待处理帧(第N帧)的参考帧列表。编码端对第N-1帧的帧数据进行处理之后,可根据第N-1帧的编码方式确定第N-1帧是否可以作为其下一帧(即第N帧)的帧数据编码的参考帧。若是,则可将上述第N-1帧加入到参考帧列表中,即,将第N-1帧加入到其编码的参考帧列表中,生成一个新的参考帧列表,将该参考帧列表作为第一帧(第N帧)编码的参考帧列表。编码端对第N帧的帧数据进行处理之后,可根据第N帧的编码方式确定第N帧是否可以作为其下一帧(即第N+1帧)的帧数据编码的参考帧。若是,则可将上述第N帧加入到参考帧列表中,即,将第N帧加入到其编码的参考帧列表中,生成一个新的参考帧列表,将该参考帧列表作为第一帧(第N+1帧)编码的参考帧列表。
在一些可行的实施方式中,若上述目标编码方式为视频编解码标准所规定的视频编码标准技术,则可将上述待处理帧加入到参考帧列表中,生成下一个待处理帧对应的参考帧列表。若上述目标编码方式不是视频编解码标准所规定的视频编码标准技术,则不将待处理帧接入到参考帧列表中。具体实现中,若上述目标编码方式为视频编解码标准所规定的视频编码标准技术,则编码端可通过发送索引信息的方式将目标编码方式的选择结果传递给解码端,或者通过发送图像显示信息等控制信息的方式将目标编码方式的选择结果传递给解码端。解码端接收到上述索引信息或者控制信息之后,则可对上述索引信息或者控制信息进行解析,确定目标编码方式。若上述目标编码方式为帧速率上转换的编码方式,编码端确定了对待处理帧进行编码的编码方式之后,无需发送任何当前帧的视频数据信息到解码端。解码端若未从编码端接收到任何信息,则可默认目标编码方式为帧速率上转换的编码方式。
具体实现中,编码端对每一帧的视频数据都是依照上述实现方式,故此,编码端对待处理帧进行处理时,可接收到待处理帧之前的已处理帧的目标编码方式,进而可根据待处理帧的目标编码方式确定已处理帧是否可为当前待处理帧的参考帧。具体的,当编码端发送目标编码方式给解码端时采用的是发送索引信息的方法,则编码端可对采用视频编解码标准所规定的编码方式的处理帧赋予“图像显示信息”,并将具有“图像显示信息”的已处理帧按照靠近待处理帧的远近位置原则,生成待处理帧的参考帧列表。例如,编码端可获取待处理帧之前的5个视频帧,假设为F1到F5,其中,F1、F3和F4使用的编码方式为视频编解码标准所规定的编码方式,F2和F5使用的是帧速率上转换的编码方式,则编码端可获取到F1到F5各个视频帧中携带的“图像显示信息”的情况。具体的,编码端可根据上述各个视频帧采用的编码方式确定各个视频帧的“图像显示信息”为0、无、1、2、无,此时,编码端可确定待处理帧的参考帧为F1、F3和F4,进而可根据各个参考帧和待处理帧的位置关系确定待处理帧的参考帧列表为F4、F3、F1。
在一些可行的实施方式中,若编码端传递目标编码方式给解码端采用的是发送控制信息的方法,则编码端可将具有“图像显示信息”的已处理帧按照靠近待处理帧的远近位置原则,生成参考帧列表,进而还可将不连续的“图像显示信息”映射为连续的参考索引。例如,编码端可获取待处理帧之前的5个视频帧,假设为F1到F5,其中,F1、F3和F4使用的编码方式为视频编解码标准所规定的编码方式,F2和F5使用的是帧速率上转换的编码方式,则编码端可获取到F1到F5各个视频帧中携带的“图像显示信息”的情况为0、无、2、3、无.进一步的,编码端可确定待处理帧的参考帧为F1、F3和F4,进而可根据各个参考帧和待处理帧的位置关系确定待处理帧的参考帧列表为F4、F3、F1。其中,上述参考帧F4、F3、F1的参考索引可有(3,2,0)映射为(3,2,1)。
在本发明实施例中编码端可根据待处理视频数据的帧率或者时间复杂度等信息判断是否采用多种编码方式对待处理视频中的待处理帧进行处理,或者按照视频编解码标准所规定的一般编码方式对待处理帧进行处理。若待处理视频数据的帧率或者时间复杂度等指定信息满足预设条件,则可采用第一编码方式和第二编码方式分别对待处理视频数据中的待处理帧进行预处理,进而可根据上述第一编码方式和第二编码方式的预处理结果确定选择具体哪一种编码方式为待处理帧进行编码。编码端选择目标编码方式之后,可按照指定信息发送方式将目标编码方式告知给解码端,以供解码端根据目标编码方式对应的解码方式对待处理视频数据进行解码处理,解码端无需自行判断,可提高解码端对编码方式的判断的准确性。编码端还可根据预先生成的待处理帧对应的参考帧列表,根据目标编码方式对待处理帧进行编码,提高了待处理视频的编码视频质量,增强了视频数据处理的用户体验。
参见图4,是本发明实施例提供的视频数据的编码方法的第三实施例流程示意图。本发明实施例中所描述的视频数据的编码方法,包括步骤:
S301,获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
在一些可行的实施方式中,本发明实施例中所描述的编码端获取待处理帧的指定信息的具体实现过程可参见上述第一实施例中的步骤S101,在此不再赘述。
S302,若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标。
S303,按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标。
在一些可行的实施方式中,本发明实施例中所描述的编码端按照第一编码方式和第二编码方式对待处理帧进行预处理的具体实现过程可参见上述第一实施例中的步骤S102以及第二实施例中的步骤S202和S203,在此不再赘述。
进一步的,编码端可按照第一编码方式对所述待处理帧进行第一视频质量处理,以获得耗费指定编码数据量大小的情况下的视频数据。进一步的,编码端还可确定按照第一编码方式对待处理帧进行第一视频质量处理之后所得到的视频数据的质量指标(即第一质量指标)。其中,上述第一视频质量处理得到的视频数据的第一质量指标即为第一编码方式对待处理帧进行预处理的预处理结果。此外,编码端还可按照第二编码方式对待处理帧进行第二视频质量处理,以获得耗费上述指定编码数据量大小的情况下的视频数据,其中,第二编码方式的预处理结果包括第二视频质量处理得到的所述视频数据的第二质量指标。其中,上述质量指标可包括客观质量指标和主观质量指标,具体可参见上述第二实施例,在此不再赘述。
S304,判断所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则执行步骤S305,否则,执行步骤S306。
S305,将所述第一编码方式选择为目标编码方式。
S306,将所述第二编码方式选择为目标编码方式。
在一些可行的实施方式中,编码端按照第一编码方式和第二编码方式对待处理帧进行预处理之后,则可将第一编码方式的预处理结果中包括第一质量指标,与第二编码方式的预处理结果中包括的第二质量指标进行比对,根据比对结果从第一编码方式和第二编码方式中选择目标编码方式。具体的,编码端可判断第一质量指标是否高于第二质量指标,若判断结果为是,则可确定耗费相同编码数据量大小的情况下,第一编码方式对待处理帧进行处理得到的视频质量较高,即第一编码方式的处理性能优于第二编码方式,进而可将第一编码方式选择为目标编码方式。若第一质量指标低于第二质量指标,则可将第二编码方式的处理性能优于第一编码方式,进而可将第二编码方式确定为目标编码方式。
在一些可行的实施方式中,编码端从第一编码方式和第二编码方式中选择目标编码方式时,还可根据第一编码数据量大小和第二编码数据量大小,以及第一质量指标和第二质量指标进行综合判断。编码端可从第一编码方式和第二编码方式的预处理结果中,获取上述第一质量指标和第二质量指标,以及第一编码数据量大小和第二编码数据量大小,进而可确定第一质量指标和第一编码数据量大小的比值,以及,第二质量指标和第二编码数据量大小的比值。当编码端判断得知第一质量指标和第一编码数据量大小的比值高于第二质量指标和第二编码数据量大小的比值时,则可将第一编码方式确定为待处理帧的目标编码方式,否则,则将第二编码方式确定为待处理帧的目标编码方式。
进一步的,编码端从第一编码方式和第二编码方式中选择目标编码方式时,还可根据待处理帧的具体应用场景进行选择。若待处理帧为指定应用场景的视频数据,则可强制采用保证视频质量的编码方式进行编码,即可指定具体某一个编码方式为指定应用场景的视频数据的编码方式。具体的,编码端可判断上述待处理帧是否为监控视频数据或者特写视频数据中的视频帧。若上述待处理帧为监控视频数据或者特写视频数据中的视频帧,则可使用更高质量的编码方式对上述待处理帧进行处理。例如,对于监控视频,可根据第一编码方式的预处理结果中包含的第一质量指标和第二编码方式的预处理结果中包含的第二质量指标选择目标编码方式。若第一质量指标高于第二质量指标,则选择第一编码方式作为监控视频的目标编码方式,否则,选择第二编码方式作为监控视频的目标编码方式。
S307,根据所述目标编码方式对所述待处理帧进行编码。
具体实现中,编码端使用目标编码方式对待处理帧进行编码的具体实现过程可参见第一实施例中的步骤S103所描述的实现方式,在此不再赘述。
S308,判断所述目标编码方式是否为视频编码标准技术,若判断结果为是,则执行步骤S309。
S309,将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
具体实现中,上述步骤S308和S309的具体实现过程可参见第二实施例中的步骤S208和S209所描述的实现方式,在此不再赘述。
在本发明实施例中编码端可根据待处理视频数据的帧率或者时间复杂度、空间复杂度等信息判断是否采用多种编码方式对待处理视频中的待处理帧进行处理,或者按照视频编解码标准所规定的一般编码方式对待处理帧进行处理。若待处理视频数据的帧率或者时间复杂度等指定信息满足预设条件,则可采用第一编码方式和第二编码方式分别对待处理视频数据中的待处理帧进行预处理,进而可根据上述第一编码方式和第二编码方式的预处理结果确定选择具体哪一种编码方式为待处理帧进行编码。编码端选择目标编码方式之后,可按照指定信息发送方式将目标编码方式告知给解码端,以供解码端根据目标编码方式对应的解码方式对待处理视频数据进行解码处理,解码端无需自行判断,可提高解码端对编码方式的判断的准确性。编码端还可根据预先生成的待处理帧对应的参考帧列表,根据目标编码方式对待处理帧进行编码,提高了待处理视频的编码视频质量,增强了视频数据处理的用户体验。
参见图5,是本发明实施例提供的视频数据的解码方法的第一实施例流程示意图。本发明实施例中所描述的视频数据的解码方法包括步骤:
S401,获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
在一些可行的实施方式中,本发明实施例所描述的解码端的实现过程和上述编码端的实现过程互为逆过程,即解码端所描述的实现过程是上述编码端的实现过程的逆过程。本发明实施例中所描述的视频数据的待处理帧的指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息等。其中,上述待处理视频数据的时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;上述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息等。具体实现中,本发明实施例中所描述的解码端获取待处理帧的指定信息,判断上述指定信息是否满足启动目标解码方式处理待处理帧的预设条件的具体实现过程可参见上述编码端实施例所描述的实现方式,在此不再赘述。
S402,若所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,则根据所述待处理帧的码流信息中携带的标识信息,确定所述待处理帧的目标解码方式。
在一些可行的实施方式中,当解码端判断得知上述指定信息满足预设条件时,则根据待处理帧的码流信息中携带的标识信息确定编码端对待处理帧进行编码所使用的目标编码方式,进而可根据解码端与编码端预先协议的方式确定待处理帧的目标解码方式。具体的,解码端可接收编码端传送的码流信息,对码流信息进行解码,根据码流信息中携带的信息确定编码端所采用的目标编码方式。当解码端接收到的标识信息为编码方式的索引信息时,解码端可根据索引信息的编码方式结合码流信息中携带的编码信息确定目标编码方式,进而可根据编码端和解码端预先协议确定的编码方式和解码方式的对应关系,确定目标编码方式对应的目标解码方式。当解码端接收到的标识信息为编码方式对应的图像显示信息等控制信息时,解码端可根据规定的图像显示信息赋予方式结合码流信息中携带的图像显示信息确定目标编码方式。当解码端对待处理帧的码流信息进行解码,获取得到码流信息中携带的标识信息中包含图像显示信息或者时间戳,则可确定目标编码方式为视频编码标准技术,进而可按照预设的编码方式和解码方式的对应关系确定目标编码方式对应的目标解码方式。若解码端对待处理帧的码流信息进行解码,获取得到码流信息中携带的标识信息中中没有图像显示信息或者时间戳,则确定目标编码方式为所述帧速率上转换技术或者所述分辨率缩放技术,进而可按照预设的编码方式和解码方式的对应关系,确定所述帧速率上转换技术对应的目标解码方式,或者所述分辨率缩放技术对应的目标解码方式。
例如,解码端可与编码端约定目标编码方式的索引信息的编码方式,比如,若有两种编码方式,可规定第一编码方式编码为0,第二编码方式编码为1,则解码端接收到码流信息之后,则可对码流信息进行解析,根据约定方式确定码流中携带的目标编码信息。或者,解码端可与编码端约定目标编码方式的控制信息与图像显示信息的对应关系,比如,若有两种编码方式,则可规定第一编码方式可赋予“图像显示信息”,第二编码方式不赋予“图像显示信息”。解码端接收到控制信息之后,若上述控制信息中包含“图像显示信息”则可确定目标编码方式为第一编码方式。若上述控制信息中不包含“图像显示信息”,则可确定目标编码方式为第二编码方式。具体实现中上述确定目标编码方式的方式仅是举例,具体可参见上述编码端所描述的实现方式,在此不做限制。
在一些可行的实施方式中,若上述指定信息不满足预设条件,解码端则可按照一般解码方式对待处理视频数据进行解码处理。其中,上述一般解码方式为视频编解码标准所规定的混合结构解码方式,上述混合架构解码方式的具体实现方式可参见视频数据编解码标准中规定的执行方式,在此不再赘述。
S403,根据所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧。
在一些可行的实施方式中,解码端确定了编码端所采用的目标编码方式之后,则可根据目标编码方式对应的目标解码方式对待处理视频数据中的待处理帧进行解码。具体的,当解码端对待处理帧进行解码时,可根据其与编码端预先协议的各个编码方式对应的信息确定方式,确定上述编码端采用的目标编码方式对应的指定信息,进而可从待处理视频数据中获取上述指定信息,根据上述指定信息对待处理视频数据进行解码,得到视频数据。具体实现中,若上述目标解码方式为视频编码标准技术对应的解码方式时,解码端则可获取对待处理帧进行解码的辅助信息,其中,上述辅助信息为待处理帧对应的残差数据信息和控制头信息。当目标解码方式为帧速率上转换技术对应的解码方式时,解码端则无需获取对待处理帧进行处理的辅助信息,即,对所述待处理帧进行解码的辅助信息为空。当目标解码方式为分辨率缩放技术对应的解码方式时,获取对待处理帧进行解码的辅助信息,其中,上述辅助信息为待处理帧进行缩放处理对应的残差数据信息和控制头信息。例如,若编码端对待处理帧进行编码采用的是视频编解码标准所规定的视频编码标准技术,则解码端确定上述目标编码方式对应的解码方式之后需要获取完整的残差数据信息和控制头信息对待处理视频进行解码。若编码端对待处理帧进行编码采用的是帧速率转换技术,则解码端不需要获取任何数据信息,只需要按照帧速率转换技术对应的解码方式进行解码即可。若编码端对待处理帧进行编码采用的是分辨率缩放技术,则解码端需要获取缩小后的残差数据信息和控制头信息对待处理视频进行解码。进一步的,编码端也可采用其他的编码方式,需要传递的信息还可包括:滤波系数信息或者修正信息等,在此不做限制。
在一些可行的实施方式中,解码端根据目标解码方式和获取到的辅助信息解码待处理帧,解码端还可根据待处理帧的解码方式确定待处理帧是否可作为下一个待处理帧的参考帧。具体的,解码端可判断目标解码方式是否为视频编码标准技术对应的解码方式,若目标解码方式为视频编码标准技术对应的解码方式,则将处理得到的待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。具体实现中,解码端生成待处理帧的参考帧列表的具体实现方式可参见编码端实施例所描述的实现方式,在此不再赘述。
在本发明实施例中,解码端可根据待处理视频数据确定启动视频编解码标准中规定的解码方式对待处理视频数据进行解码,还可根据编码端发送的标识信息确定编码端对待处理视频数据进行编码的目标解码方式,进而根据目标解码方式对待处理帧进行解码。解码端无需根据自适应准则自行确定解码方式,减少了待处理视频数据编码的编码方式的误判性,增强了待处理帧视频数据解码的准确性,提高了视频数据解码的质量。
参见图6,是本发明实施例提供的视频数据的编码装置的第一实施例结构示意图。本发明实施例所描述的编码装置,包括:
获取模块10,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种。
预处理模块20,用于在所述获取模块获取的所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件时,按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式。
处理模块30,用于根据所述预处理模块处理的所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码。
在一些可行的实施方式中,上述指定信息为帧率信息;
上述预处理模块20,具体用于:
判断所述帧率信息所指示的帧率是否大于预设的帧率阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
在一些可行的实施方式中,上述指定信息为时间复杂度信息;
上述预处理模块20,具体用于:
判断所述时间复杂度信息所指示的时间复杂度是否大于预设的时间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
在一些可行的实施方式中,上述定信息为空间复杂度信息;
上述预处理模块20,具体用于:
判断所述空间复杂度信息所指示的空间复杂度是否大于预设空间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
具体实现中,本发明实施例中所描述的编码装置即为本发明实施例提供的视频数据的编码方法的执行主体,即为上述编码方法的实施例中所描述的编码端。本发明实施例中所描述的编码装置可通过其获取模块10、预处理模块20和处理模块30执行本发明实施例提供的视频数据的编码方法的第一实施例中所描述的实现方式,具体实现过程可参见上述视频数据的编码方法的第一实施例中各个步骤(步骤S101至S103)所描述的实现方式,在此不再赘述。
在本发明实施例中,编码装置可根据视频数据的待处理帧的帧率信息或者时间复杂度信息或者空间复杂度信息等待处理帧的指定信息判断是否采用多种编码方式对待处理视频中的待处理帧进行处理,或者按照视频编解码标准所规定的一般编码方式对待处理帧进行处理。若待处理视频数据的帧率或者时间复杂度等指定信息符合启动多种编码方式进行处理的预设条件,则可采用第一编码方式和第二编码方式分别对视频数据中的待处理帧进行预处理,进而可根据上述第一编码方式和第二编码方式的预处理结果确定选择具体哪一种编码方式为待处理帧进行编码。编码装置选择目标编码方式之后,可按照指定信息发送方式将目标编码方式告知给解码装置,以供解码装置根据目标编码方式对应的解码方式对待处理视频数据进行解码处理。本发明实施例所描述的编码装置可从多种编码方式中选择具体一种编码方式对待处理帧进行编码处理,提高了视频数据的待处理帧的视频处理质量,增强了视频数据处理的用户体验。
参见图7,是本发明实施例提供的视频数据的编码装置的第二实施例结构示意图。本发明实施例所描述的编码装置,包括:
获取模块10,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种。
具体实现中,上述获取模块10可执行上述编码装置的第一实施例中的获取模块10所执行的实现方式,具体实现过程可参见上述视频数据的编码方法的第一实施例的步骤S101所描述的实现方式,在此不再赘述。
预处理模块21,用于在所述获取模块获取的所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件时,按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式。
具体实现中,上述预处理模块21可执行上述编码装置的第一实施例中的预处理模块20所执行的实现方式,进一步的,还可执行如下操作:
在一些可行的实施方式中,上述预处理模块21,具体用于:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得满足指定视频质量指标的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理所耗费的第一编码数据量大小;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得满足所述指定视频质量指标的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理所耗费的第二编码数据量大小。
处理模块31,用于根据所述预处理模块处理的所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码。
具体实现中,本发明实施例中所描述的处理模块31可执行上述编码装置的第一实施例中的处理模块30所执行的实现方式,进一步的,还可执行如下操作:
在一些可行的实施方式中,上述处理模块31,具体用于:
判断所述预处理模块处理得到的所述第一编码数据量大小是否小于所述第二编码数据量大小,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
在一些可行的实施方式中,本发明实施例中所描述的编码装置还包括标记模块40,上述标记模块40用于:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
在一些可行的实施方式中,本发明实施例中所描述的编码装置还包括:
参考帧判断模块50,用于判断所述处理模块选择的所述目标编码方式是否为视频编码标准技术,若所述目标编码方式为所述视频编码标准技术,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
具体实现中,本发明实施例提供的编码装置具体可为本发明实施例提供的视频数据的编码方法的执行主体,即本发明实施例提供的视频数据的编码方法的实施例中所描述的编码端,具体实现中,编码装置可通过其内置的各个模块(包括获取模块10、预处理模块21、处理模块31、标记模块40和参考帧判断模块50)执行上述视频数据的编码方法的第一实施例和第二实施例中所描述的实现方式,具体实现过程可参见上述视频数据的编码方法的第一实施例和第二实施例中各个步骤所描述的实现方式,在此不再赘述。
在本发明实施例中编码装置可根据待处理视频数据的帧率或者时间复杂度等信息判断是否采用多种编码方式对待处理视频中的待处理帧进行处理,或者按照视频编解码标准所规定的一般编码方式对待处理帧进行处理。若待处理视频数据的帧率或者时间复杂度等指定信息满足预设条件,则可采用第一编码方式和第二编码方式分别对待处理视频数据中的待处理帧进行预处理,进而可根据上述第一编码方式和第二编码方式的预处理结果确定选择具体哪一种编码方式为待处理帧进行编码。编码装置选择目标编码方式之后,可按照指定信息发送方式将目标编码方式告知给解码装置,以供解码装置根据目标编码方式对应的解码方式对待处理视频数据进行解码处理,解码装置无需自行判断,可提高解码装置对编码方式的判断的准确性。编码装置还可根据预先生成的待处理帧对应的参考帧列表,根据目标编码方式对待处理帧进行编码,提高了待处理视频的编码视频质量,增强了视频数据处理的用户体验。
参见图8,是本发明实施例提供的视频数据的编码装置的第三实施例结构示意图。本发明实施例所描述的编码装置,包括:
获取模块10,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种。
具体实现中,上述获取模块10的具体实现过程可参见上述视频数据的编码方法的第一实施例的步骤S101所描述的实现方式,在此不再赘述。
预处理模块22,用于在所述获取模块获取的所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件时,按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式。
具体实现中,上述预处理模块22可执行上述编码装置的第一实施例中的预处理模块20以及上述编码装置的第二实施例中的预处理模块21所执行的实现方式,进一步的,还可执行如下操作:
在一些可行的实施方式中,上述预处理模块22,具体用于:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标。
处理模块32,用于根据所述预处理模块处理的所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码。
具体实现中,本发明实施例中所描述的处理模块32可执行上述编码装置的第一实施例中的处理模块30以及第二实施例中的处理模块31所执行的实现方式,进一步的,还可执行如下操作:
在一些可行的实施方式中,上述处理模块32,具体用于:
判断所述预处理模块处理得到的所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
在一些可行的实施方式中,上述处理模块32还可具体用于:
获取所述预处理模块处理的所述第一编码数据量大小和第二编码数据量大小,以及所述第一质量指标和所述第二质量指标;
判断所述第一质量指标与所述第一编码数据量大小的比值,是否高于所述第二质量指标与所述第二编码数据量大小的比值;
若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
在一些可行的实施方式中,上述处理模块32还可具体用于:
判断所述待处理帧是否为监控视频数据或者特写视频数据中的视频帧;
若判断结果为是,则获取所述预处理模块处理的所述第一质量指标和所述第二质量指标;
判断所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式。
在一些可行的实施方式中,本发明实施例中所描述的编码装置还包括标记模块40,上述标记模块40用于:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
在一些可行的实施方式中,本发明实施例中所描述的编码装置还包括:
参考帧判断模块50,用于判断所述处理模块选择的所述目标编码方式是否为视频编码标准技术,若所述目标编码方式为所述视频编码标准技术,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
具体实现中,本发明实施例提供的编码装置具体可为本发明实施例提供的视频数据的编码方法的执行主体,即本发明实施例提供的视频数据的编码方法的实施例中所描述的编码端,具体实现中,编码装置可通过其内置的各个模块(包括获取模块10、预处理模块22、处理模块32、标记模块40和参考帧判断模块50)执行上述视频数据的编码方法的第一实施例和第二实施例中所描述的实现方式,具体实现过程可参见上述视频数据的编码方法的第一实施例和第二实施例中各个步骤所描述的实现方式,在此不再赘述。
在本发明实施例中编码装置可根据待处理视频数据的帧率或者时间复杂度、空间复杂度等信息判断是否采用多种编码方式对待处理视频中的待处理帧进行处理,或者按照视频编解码标准所规定的一般编码方式对待处理帧进行处理。若待处理视频数据的帧率或者时间复杂度等指定信息满足预设条件,则可采用第一编码方式和第二编码方式分别对待处理视频数据中的待处理帧进行预处理,进而可根据上述第一编码方式和第二编码方式的预处理结果确定选择具体哪一种编码方式为待处理帧进行编码。编码装置选择目标编码方式之后,可按照指定信息发送方式将目标编码方式告知给解码装置,以供解码装置根据目标编码方式对应的解码方式对待处理视频数据进行解码处理,解码装置无需自行判断,可提高解码装置对编码方式的判断的准确性。编码装置还可根据预先生成的待处理帧对应的参考帧列表,根据目标编码方式对待处理帧进行编码,提高了待处理视频的编码视频质量,增强了视频数据处理的用户体验。
参见图9,是本发明实施例提供的视频数据的解码装置的实施例结构示意图。本发明实施例所描述的解码装置,包括:
获取模块60,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种。
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种。
确定模块70,用于在所述获取模块获取的所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件时,根据所述待处理帧的码流信息中携带的标识信息,确定所述待处理帧的目标解码方式。
处理模块80,用于根据所述确定模块确定的所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧。
在一些可行的实施方式中,上述指定信息为帧率信息;
上述确定模块70,具体用于:
判断所述帧率信息所指示的帧率是否大于预设的帧率阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
在一些可行的实施方式中,上述指定信息为时间复杂度信息;
上述确定模块70,具体用于:
判断所述时间复杂度信息所指示的时间复杂度是否大于预设的时间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
在一些可行的实施方式中,上述指定信息为空间复杂度信息;
上述确定模块70,具体用于:
判断所述空间复杂度信息所指示的空间复杂度是否大于预设空间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
在一些可行的实施方式中,上述确定模块70具体用于:
对所述待处理帧的码流信息进行解码,获取所述码流信息中携带的用于标记目标编码方式的索引信息,根据所述索引信息确定所述目标编码方式;
按照预设的编码方式和解码方式的对应关系,结合所述目标编码方式确定所述待处理帧的目标解码方式。
在一些可行的实施方式中,上述确定模块70具体用于:
对所述待处理帧的码流信息进行解码,获取所述码流信息中携带的标识信息是否包含图像显示信息或者时间戳;
若所述标识信息中包含图像显示信息或者时间戳,则确定所述目标编码方式为所述视频编码标准技术,并按照预设的编码方式和解码方式的对应关系,确定所述视频编码标准技术对应的目标解码方式;
若所述标识信息中没有图像显示信息或者时间戳,则确定所述目标编码方式为所述帧速率上转换技术或者所述分辨率缩放技术,并按照预设的编码方式和解码方式的对应关系,确定所述帧速率上转换技术对应的目标解码方式,或者所述分辨率缩放技术对应的目标解码方式。
在一些可行的实施方式中,上述处理模块80,具体用于:
当所述确定模块确定的所述目标解码方式为所述视频编码标准技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧对应的残差数据信息和控制头信息;或者
当所述确定模块确定的所述目标解码方式为帧速率上转换技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为空;
当所述确定模块确定的所述目标解码方式为分辨率缩放技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧进行缩放处理对应的残差数据信息和控制头信息。
在一些可行的实施方式中,本发明实施例中所描述的解码装置(如图10)还包括:
参考帧判断模块90,用于判断所述确定模块确定的所述目标解码方式是否为所述视频编码标准技术对应的解码方式;
若所述目标解码方式为所述视频编码标准技术对应的解码方式,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
具体实现中,本发明实施例提供的解码装置为本发明实施例提供的视频数据的解码方法的执行主体,即本发明实施例提供的视频数据的解码方法的实施例中所描述的解码端。解码装置可通过可获取模块、确定模块、处理模块和参考帧判断模块等执行本发明实施例提供的视频数据的解码方法的实施例中所描述的实现方式,具体实现过程可参见上述视频数据的解码方法的实施例,在此不再赘述。
在本发明实施例中,解码装置可根据待处理视频数据确定启动视频编解码标准中规定的解码方式对待处理视频数据进行解码,还可根据编码装置发送的标识信息确定编码装置对待处理视频数据进行编码的目标解码方式,进而根据目标解码方式对待处理帧进行解码。解码装置无需根据自适应准则自行确定解码方式,减少了待处理视频数据编码的编码方式的误判性,增强了待处理帧视频数据解码的准确性,提高了视频数据解码的质量。
参见图11,是本发明实施例提供的视频数据的编解码***的实施例结构示意图,包括:本发明实施例提供的编码装置1000和解码装置2000。
具体实现中,上述编码装置和解码装置的具体实现过程可参见上述各个实施例的各个步骤所描述的实现方式,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (38)
1.一种视频数据的编码方法,其特征在于,包括:
获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息以及图像编码模式信息中的至少一种;
若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,则按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述预设条件为所述指定信息大于预设的对应所述指定信息的阈值,所述第一编码方式和所述第二编码方式是不同的编码方式;
根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码;
其中,所述按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,包括:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得满足指定视频质量指标的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理所耗费的第一编码数据量大小;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得满足所述指定视频质量指标的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理所耗费的第二编码数据量大小;
所述根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式包括:
判断所述第一编码数据量大小是否小于所述第二编码数据量大小,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
2.如权利要求1所述的方法,其特征在于,所述指定信息为帧率信息;
所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,包括:
所述帧率信息所指示的帧率大于预设的帧率阈值。
3.如权利要求1所述的方法,其特征在于,所述指定信息为时间复杂度信息;
所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,包括:
所述时间复杂度信息所指示的时间复杂度大于预设的时间复杂度阈值。
4.如权利要求1所述的方法,其特征在于,所述指定信息为空间复杂度信息;
所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,包括:
所述空间复杂度信息所指示的空间复杂度大于预设空间复杂度阈值。
5.如权利要求1所述的方法,其特征在于,所述从所述第一编码方式和所述第二编码方式中选择目标编码方式之后,所述方法还包括:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
6.如权利要求5所述的方法,其特征在于,所述根据所述目标编码方式对所述待处理帧进行编码之后,所述方法还包括:
判断所述目标编码方式是否为视频编码标准技术;
若所述目标编码方式为所述视频编码标准技术,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
7.一种视频数据的编码方法,其特征在于,包括:
获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息以及图像编码模式信息中的至少一种;
若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,则按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述预设条件为所述指定信息大于预设的对应所述指定信息的阈值,所述第一编码方式和所述第二编码方式是不同的编码方式;
根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码;
其中,所述按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,包括:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标;
获取所述第一编码数据量大小和第二编码数据量大小,以及所述第一质量指标和所述第二质量指标;
判断所述第一质量指标与所述第一编码数据量大小的比值,是否高于所述第二质量指标与所述第二编码数据量大小的比值;
若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
8.一种视频数据的编码方法,其特征在于,包括:
获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
若所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,所述预设条件为所述指定信息大于预设的对应所述指定信息的阈值,则按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式;
根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码;其中,所述按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,包括:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标;
所述根据所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式包括:
判断所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
9.如权利要求8所述的方法,其特征在于,所述待处理帧包括监控视频数据或者特写视频数据中的视频帧。
10.如权利要求8所述的方法,其特征在于,所述方法还包括:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
11.一种视频数据的解码方法,其特征在于,包括:
获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息以及图像编码模式信息中的至少一种;
若所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,所述预设条件为所述指定信息大于预设的对应所述指定信息的阈值,则从编码端接收以码流信息的形式传递的标识信息,所述标识信息由所述编码端对所述待处理帧进行编码所采用的目标编码方式的索引信息编码得到,或者从所述编码端接收控制信息,所述控制信息中携带采用表征时域信息的物理量对所述目标编码方式进行标记的标识信息;
根据所述标识信息或者所述控制信息确定所述目标编码方式,并按照预设的编码方式和解码方式的对应关系,结合所述目标编码方式确定所述待处理帧的目标解码方式;
根据所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧。
12.如权利要求11所述的方法,其特征在于,所述指定信息为帧率信息;
所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,包括:
所述帧率信息所指示的帧率大于预设的帧率阈值。
13.如权利要求11所述的方法,其特征在于,所述指定信息为时间复杂度信息;
所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,包括:
所述时间复杂度信息所指示的时间复杂度大于预设的时间复杂度阈值。
14.如权利要求11所述的方法,其特征在于,所述指定信息为空间复杂度信息;
所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,包括:
所述空间复杂度信息所指示的空间复杂度大于预设空间复杂度阈值。
15.如权利要求11-14任一项所述的方法,其特征在于,所述根据所述标识信息确定所述目标编码方式,包括:
对所述码流信息进行解码,获取所述码流信息中携带的用于标记所述目标编码方式的索引信息,根据所述索引信息确定所述目标编码方式。
16.如权利要求11-14任一项所述的方法,其特征在于,所述根据所述控制信息确定所述目标编码方式,并按照预设的编码方式和解码方式的对应关系,结合所述目标编码方式确定所述待处理帧的目标解码方式包括:
对所述控制信息进行解码,获取所述控制信息中携带的标识信息是否包含图像显示信息或者时间戳;
若所述标识信息中包含图像显示信息或者时间戳,则确定所述目标编码方式为视频编码标准技术,并按照预设的编码方式和解码方式的对应关系,确定所述视频编码标准技术对应的目标解码方式;
若所述标识信息中没有图像显示信息或者时间戳,则确定所述目标编码方式为帧速率上转换技术或者分辨率缩放技术,并按照预设的编码方式和解码方式的对应关系,确定所述帧速率上转换技术对应的目标解码方式,或者所述分辨率缩放技术对应的目标解码方式;
其中,所述表征时域信息的物理量包括:所述图像显示信息或者所述时间戳。
17.如权利要求16所述的方法,其特征在于,所述根据所述目标解码方式确定对所述待处理帧进行解码的辅助信息,包括:
当所述目标解码方式为所述视频编码标准技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧对应的残差数据信息和控制头信息;
当所述目标解码方式为帧速率上转换技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为空;
当所述目标解码方式为分辨率缩放技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧进行缩放处理对应的残差数据信息和控制头信息。
18.如权利要求17所述的方法,其特征在于,所述根据所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧之后,所述方法还包括:
判断所述目标解码方式是否为所述视频编码标准技术对应的解码方式;
若所述目标解码方式为所述视频编码标准技术对应的解码方式,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
19.一种视频数据的编码装置,其特征在于,包括:
获取模块,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种;
预处理模块,用于在所述获取模块获取的所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件时,按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述预设条件为所述指定信息大于预设的对应所述指定信息的阈值,所述第一编码方式和所述第二编码方式是不同的编码方式;
处理模块,用于根据所述预处理模块处理的所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码
其中,所述预处理模块,具体用于:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得满足指定视频质量指标的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理所耗费的第一编码数据量大小;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得满足所述指定视频质量指标的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理所耗费的第二编码数据量大小;
所述处理模块具体用于:
判断所述预处理模块处理得到的所述第一编码数据量大小是否小于所述第二编码数据量大小,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
20.如权利要求19所述的编码装置,其特征在于,所述指定信息为帧率信息;
所述预处理模块,具体用于:
判断所述帧率信息所指示的帧率是否大于预设的帧率阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
21.如权利要求19所述的编码装置,其特征在于,所述指定信息为时间复杂度信息;
所述预处理模块,具体用于:
判断所述时间复杂度信息所指示的时间复杂度是否大于预设的时间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
22.如权利要求19所述的编码装置,其特征在于,所述指定信息为空间复杂度信息;
所述预处理模块,具体用于:
判断所述空间复杂度信息所指示的空间复杂度是否大于预设空间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件。
23.如权利要求21-22任一项所述的编码装置,其特征在于,所述预处理模块还用于:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标;
所述处理模块还用于:
获取所述预处理模块处理的所述第一编码数据量大小和第二编码数据量大小,以及所述第一质量指标和所述第二质量指标;
判断所述第一质量指标与所述第一编码数据量大小的比值,是否高于所述第二质量指标与所述第二编码数据量大小的比值;
若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
24.如权利要求19所述的编码装置,其特征在于,所述编码装置还包括标记模块,所述标记模块用于:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
25.如权利要求24所述的编码装置,其特征在于,所述编码装置,还包括:
参考帧判断模块,用于判断所述处理模块选择的所述目标编码方式是否为视频编码标准技术,若所述目标编码方式为所述视频编码标准技术,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
26.一种视频数据的编码装置,其特征在于,包括:
获取模块,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
预处理模块,用于在所述获取模块获取的所述指定信息符合启动多种编码方式处理所述待处理帧的预设条件,所述预设条件为所述指定信息大于预设的对应所述指定信息的阈值时,按照第一编码方式和第二编码方式分别对所述待处理帧进行预处理,其中,所述第一编码方式和所述第二编码方式是不同的编码方式;
处理模块,用于根据所述预处理模块处理的所述第一编码方式的预处理结果和所述第二编码方式的预处理结果,从所述第一编码方式和所述第二编码方式中选择目标编码方式,并根据所述目标编码方式对所述待处理帧进行编码;
其中,所述预处理模块,具体用于:
按照所述第一编码方式对所述待处理帧进行第一视频质量处理以获得耗费指定编码数据量大小的情况下的视频数据,其中,所述第一编码方式的预处理结果包括所述第一视频质量处理得到的所述视频数据的第一质量指标;
按照所述第二编码方式对所述待处理帧进行第二视频质量处理以获得耗费所述指定编码数据量大小的情况下的视频数据,其中,所述第二编码方式的预处理结果包括所述第二视频质量处理得到的所述视频数据的第二质量指标;
所述处理模块,具体用于:
判断所述第一质量指标是否高于所述第二质量指标,若判断结果为是,则将所述第一编码方式选择为目标编码方式,若判断结果为否,则将所述第二编码方式选择为目标编码方式。
27.如权利要求26所述的编码装置,其特征在于,所述待处理帧包括监控视频数据或者特写视频数据中的视频帧。
28.如权利要求26所述的编码装置,其特征在于,所述编码装置还包括标记模块,所述标记模块用于:
采用索引的方式对所述目标编码方式进行标记,对所述目标编码方式的索引信息进行编码以得到所述目标编码方式的标识信息,并将所述标识信息以码流的形式传递给解码端;或者
采用表征时域信息的物理量对所述目标编码方式进行标记以得到所述目标编码方式的标识信息,并将所述目标编码方式的标识信息作为控制信息传递给解码端;
其中,所述表征时域信息的物理量包括:图像显示信息或者时间戳。
29.一种视频数据的解码装置,其特征在于,包括:
获取模块,用于获取视频数据中的待处理帧的指定信息,所述指定信息包括:帧率信息、时间复杂度信息以及空间复杂度信息中的至少一种;
其中,所述时间复杂度信息包括:运动矢量的长度信息,或者参考帧的索引信息;所述空间复杂度信息包括:图像色度的变化范围信息、图像纹理信息以及图像编码模式信息中的至少一种;
确定模块,用于在所述获取模块获取的所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件,所述预设条件为所述指定信息大于预设的对应所述指定信息的阈值时,从编码端接收以码流信息的形式传递的标识信息,所述标识信息由所述编码端对所述待处理帧进行编码所采用的目标编码方式的索引信息编码得到,或者从所述编码端接收控制信息,所述控制信息中携带采用表征时域信息的物理量对所述目标编码方式进行标记的标识信息;根据所述标识信息或者所述控制信息确定所述目标编码方式,并按照预设的编码方式和解码方式的对应关系,结合所述目标编码方式,确定所述待处理帧的目标解码方式;
处理模块,用于根据所述确定模块确定的所述目标解码方式确定对所述待处理帧进行解码的辅助信息,根据所述目标解码方式和所述辅助信息解码所述待处理帧。
30.如权利要求29所述的解码装置,其特征在于,所述指定信息为帧率信息;
所述确定模块,具体用于:
判断所述帧率信息所指示的帧率是否大于预设的帧率阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
31.如权利要求29所述的解码装置,其特征在于,所述指定信息为时间复杂度信息;
所述确定模块,具体用于:
判断所述时间复杂度信息所指示的时间复杂度是否大于预设的时间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
32.如权利要求29所述的解码装置,其特征在于,所述指定信息为空间复杂度信息;
所述确定模块,具体用于:
判断所述空间复杂度信息所指示的空间复杂度是否大于预设空间复杂度阈值,若判断结果为是,则确定所述指定信息符合启动目标解码方式处理所述待处理帧的预设条件。
33.如权利要求29-32任一项所述的解码装置,其特征在于,所述确定模块,具体用于:
对所述码流信息进行解码,获取所述码流信息中携带的用于标记所述目标编码方式的索引信息,根据所述索引信息确定所述目标编码方式。
34.如权利要求29-32任一项所述的解码装置,其特征在于,所述确定模块,具体用于:
对所述控制信息进行解码,获取所述控制信息中携带的标识信息是否包含图像显示信息或者时间戳;
若所述标识信息中包含图像显示信息或者时间戳,则确定所述目标编码方式为视频编码标准技术,并按照预设的编码方式和解码方式的对应关系,确定所述视频编码标准技术对应的目标解码方式;
若所述标识信息中没有图像显示信息或者时间戳,则确定所述目标编码方式为帧速率上转换技术或者分辨率缩放技术,并按照预设的编码方式和解码方式的对应关系,确定所述帧速率上转换技术对应的目标解码方式,或者所述分辨率缩放技术对应的目标解码方式。
35.如权利要求34所述的解码装置,其特征在于,所述处理模块,具体用于:
当所述确定模块确定的所述目标解码方式为所述视频编码标准技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧对应的残差数据信息和控制头信息;
当所述确定模块确定的所述目标解码方式为所述帧速率上转换技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为空;
当所述确定模块确定的所述目标解码方式为所述分辨率缩放技术对应的解码方式时,获取对所述待处理帧进行解码的辅助信息,所述辅助信息为所述待处理帧进行缩放处理对应的残差数据信息和控制头信息。
36.如权利要求35所述的解码装置,其特征在于,所述解码装置还包括:
参考帧判断模块,用于判断所述确定模块确定的所述目标解码方式是否为所述视频编码标准技术对应的解码方式;
若所述目标解码方式为所述视频编码标准技术对应的解码方式,则将处理得到的所述待处理帧加入所述参考帧列表,以生成下一个待处理帧对应的参考帧列表。
37.一种视频数据的编解码***,其特征在于,包括:如权利要求19-25任一项所述的编码装置,以及如权利要求29-36任一项所述的解码装置。
38.一种视频数据的编解码***,其特征在于,包括:如权利要求26-28任一项所述的编码装置,以及如权利要求29-36任一项所述的解码装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510180497.4A CN104811722B (zh) | 2015-04-16 | 2015-04-16 | 一种视频数据的编解码方法及装置 |
PCT/CN2016/079034 WO2016165603A1 (zh) | 2015-04-16 | 2016-04-12 | 一种视频数据的编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510180497.4A CN104811722B (zh) | 2015-04-16 | 2015-04-16 | 一种视频数据的编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104811722A CN104811722A (zh) | 2015-07-29 |
CN104811722B true CN104811722B (zh) | 2019-05-07 |
Family
ID=53696151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510180497.4A Active CN104811722B (zh) | 2015-04-16 | 2015-04-16 | 一种视频数据的编解码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104811722B (zh) |
WO (1) | WO2016165603A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811722B (zh) * | 2015-04-16 | 2019-05-07 | 华为技术有限公司 | 一种视频数据的编解码方法及装置 |
CN107343208B (zh) * | 2016-04-29 | 2019-10-11 | 掌赢信息科技(上海)有限公司 | 一种控制视频码率方法及电子设备 |
CN105959700B (zh) * | 2016-05-31 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 视频图像编码的方法、装置、存储介质和终端设备 |
CN107635142B (zh) * | 2016-07-18 | 2020-06-26 | 浙江大学 | 一种视频数据的处理方法及装置 |
EP3474225B1 (en) * | 2017-10-18 | 2019-09-25 | Axis AB | Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames |
CN107682675A (zh) * | 2017-10-19 | 2018-02-09 | 佛山市章扬科技有限公司 | 一种采用多种压缩方式录制视频的方法 |
CN110139104B (zh) * | 2018-02-09 | 2023-02-28 | 腾讯科技(深圳)有限公司 | 视频解码方法、装置、计算机设备和存储介质 |
CN108960384B (zh) * | 2018-06-07 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种图形码的解码方法及客户端 |
CN118042135A (zh) * | 2019-03-19 | 2024-05-14 | 华为技术有限公司 | 点云编码方法、点云解码方法、装置及存储介质 |
CN110740317B (zh) * | 2019-09-18 | 2021-10-15 | 浙江大华技术股份有限公司 | 子块运动预测、编码方法、编码器及存储装置 |
CN114827723B (zh) * | 2022-04-25 | 2024-04-09 | 阿里巴巴(中国)有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN117294683A (zh) * | 2022-06-16 | 2023-12-26 | 中兴通讯股份有限公司 | 视频处理方法、发送端、接收端、存储介质和程序产品 |
CN116233438B (zh) * | 2023-03-09 | 2023-08-29 | 上海华期信息技术有限责任公司 | 利用加权算法的数据预测采集*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6845214B1 (en) * | 1999-07-13 | 2005-01-18 | Nec Corporation | Video apparatus and re-encoder therefor |
CN101018337A (zh) * | 2006-02-10 | 2007-08-15 | 富士施乐株式会社 | 编码装置、解码装置、编码方法、解码方法、计算机可读介质 |
CN101615910A (zh) * | 2009-05-31 | 2009-12-30 | 华为技术有限公司 | 压缩编码的方法、装置和设备以及压缩解码方法 |
CN104052992A (zh) * | 2014-06-09 | 2014-09-17 | 联想(北京)有限公司 | 一种图像处理方法及电子设备 |
CN104410861A (zh) * | 2014-11-24 | 2015-03-11 | 华为技术有限公司 | 视频编码方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100952340B1 (ko) * | 2008-01-24 | 2010-04-09 | 에스케이 텔레콤주식회사 | 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치 |
CN103458237B (zh) * | 2012-05-29 | 2016-09-21 | 北京数码视讯科技股份有限公司 | 视频编码方式的确定方法和装置以及视频编码方法和装置 |
CN104519368B (zh) * | 2013-09-30 | 2017-12-01 | 华为技术有限公司 | 图像编码、解码重构处理方法及装置 |
CN104811722B (zh) * | 2015-04-16 | 2019-05-07 | 华为技术有限公司 | 一种视频数据的编解码方法及装置 |
-
2015
- 2015-04-16 CN CN201510180497.4A patent/CN104811722B/zh active Active
-
2016
- 2016-04-12 WO PCT/CN2016/079034 patent/WO2016165603A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6845214B1 (en) * | 1999-07-13 | 2005-01-18 | Nec Corporation | Video apparatus and re-encoder therefor |
CN101018337A (zh) * | 2006-02-10 | 2007-08-15 | 富士施乐株式会社 | 编码装置、解码装置、编码方法、解码方法、计算机可读介质 |
CN101615910A (zh) * | 2009-05-31 | 2009-12-30 | 华为技术有限公司 | 压缩编码的方法、装置和设备以及压缩解码方法 |
CN104052992A (zh) * | 2014-06-09 | 2014-09-17 | 联想(北京)有限公司 | 一种图像处理方法及电子设备 |
CN104410861A (zh) * | 2014-11-24 | 2015-03-11 | 华为技术有限公司 | 视频编码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104811722A (zh) | 2015-07-29 |
WO2016165603A1 (zh) | 2016-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104811722B (zh) | 一种视频数据的编解码方法及装置 | |
CN105981380B (zh) | 利用调色板编码的编码视频数据区块的方法和装置 | |
CN108322760A (zh) | 一种视频编解码的方法及装置 | |
CN105392008B (zh) | 一种预测编、解码方法和相应的编、解码器和电子设备 | |
US9462279B2 (en) | Image encoding/decoding method and device | |
KR101782280B1 (ko) | 팔레트 테이블 예측을 위한 방법 및 장치 | |
KR101500781B1 (ko) | 이미지들을 처리하기 위한 방법 및 그 대응하는 전자 장치 | |
CN108702501A (zh) | 用于视频编码的色度预测的区域化亮度预测模式继承的方法及装置 | |
US20180249162A1 (en) | Method and apparatus for decoding a video using an intra prediction | |
EP3007442A1 (en) | Method of pulse-code modulation and palette coding for video coding | |
CN110233949A (zh) | 调色板表初始化和管理的方法 | |
CN107465924A (zh) | 从多个相邻量化参数中确定量化参数预测值的方法和装置 | |
RU2008106777A (ru) | Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения | |
KR20150034696A (ko) | 현재 블록의 분할을 예측하여 비디오를 코딩하는 방법, 디코딩 방법 및 이에 상응하는 코딩 및 디코딩 장치 및 컴퓨터 프로그램 | |
US20210127141A1 (en) | Segmentation method and method for signaling segmentation of a coding tree unit | |
CN109996080A (zh) | 图像的预测方法、装置及编解码器 | |
CN105794208B (zh) | 编码解码图像方法、编码解码图像设备及相应计算机可读介质 | |
CN108353180A (zh) | 具有延迟重构的视频编码 | |
CN110476422A (zh) | 图像编码装置、图像编码方法和图像编码程序、图像解码装置、图像解码方法和图像解码程序 | |
CN115474052A (zh) | 点云编码处理方法、解码处理方法及相关设备 | |
Erfurt et al. | Multiple feature-based classifications adaptive loop filter | |
CN114868390A (zh) | 视频编码方法、解码方法、编码器、解码器以及ai加速器 | |
JPH0217777A (ja) | 画像伝送方式 | |
CN104581184B (zh) | 深度图像的编码、解码处理方法及装置 | |
CN109862358A (zh) | 一种基于环境信息的图像帧解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |