CN108012154A - 一种视频编码方法及装置 - Google Patents

一种视频编码方法及装置 Download PDF

Info

Publication number
CN108012154A
CN108012154A CN201610966780.4A CN201610966780A CN108012154A CN 108012154 A CN108012154 A CN 108012154A CN 201610966780 A CN201610966780 A CN 201610966780A CN 108012154 A CN108012154 A CN 108012154A
Authority
CN
China
Prior art keywords
coding
result
destination object
coding result
value
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
Application number
CN201610966780.4A
Other languages
English (en)
Other versions
CN108012154B (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201610966780.4A priority Critical patent/CN108012154B/zh
Publication of CN108012154A publication Critical patent/CN108012154A/zh
Application granted granted Critical
Publication of CN108012154B publication Critical patent/CN108012154B/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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/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
    • H04N19/197Methods 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 including determination of the initial value of an encoding parameter

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)

Abstract

本发明实施例公开了一种视频编码方法及装置。方法包括:针对目标层级中的目标对象,遍历该目标对象在目标层级中的第一编码参数组合的取值,对该目标对象进行编码,其中,第一编码参数组合的取值至少包括两个;根据预设的第一编码结果选择准则,将针对该目标对象的编码结果中最佳的编码结果,确定为该目标对象的编码结果,进而完成该目标对象关于第一编码参数组合的编码。应用本发明实施例提供的方案进行视频编码,可以获得更好的编码结果。

Description

一种视频编码方法及装置
技术领域
本发明涉及视频编码技术领域,特别涉及一种视频编码方法及装置。
背景技术
视频编码,即视频数据压缩,用于消除视频信号的数据冗余。随着多媒体应用中数字视频业务的不断发展和视频云计算需求的不断提高,现有的有线、无线传输网络带宽和存储资源已无法支撑数据量庞大的原始视频信源,因此,视频编码成为目前国内外研究和应用的热点之一。
现有技术中,针对目标编码单元,通常只基于一组固定的编码参数取值来进行单次编码,上述编码参数一旦确定,不会对该编码单元的编码参数进行调整。而实际应用中,上述编码参数的取值通常是预先设置或者根据上一编码单元的编码结果所确定的,视频帧中位置相邻的编码单元之间虽然具有相似性,但是这些编码单元之间一定程度上也可能会存在较大的差异,所以,根据上一编码单元确定的编码参数可能并非当前编码单元的最佳编码参数,进而易导致当前编码单元的编码结果较差。
发明内容
本发明实施例的目的在于提供一种视频编码方法及装置,以获得更好的编码结果。具体技术方案如下:
第一方面,本发明实施例提供了一种视频编码方法,所述方法包括:
针对目标层级中的目标对象,遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码,其中,所述第一编码参数组合的取值至少包括两个;
根据预设的第一编码结果选择准则,将针对所述目标对象的编码结果中最佳的编码结果,确定为所述目标对象的编码结果,进而完成所述目标对象关于所述第一编码参数组合的编码。
可选地,在所述完成所述目标对象关于所述第一编码参数组合的编码之后,还包括:
判断所述目标层级是否存在未编码的对象;
若存在,将所述目标对象更新为所述目标对象的下一对象,并返回执行所述遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码的步骤;
若不存在,根据所述目标层级中所有对象的编码结果,确定所述目标对象父对象的编码结果;判断所述父对象对应的第二编码参数组合的取值是否遍历完成,如果未遍历完成,从所述第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将所述目标对象更新为所述父对象包含的第一个子对象,返回执行所述遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码的步骤;
如果遍历完成,按照预设的第二编码结果选择准则,将针对所述父对象的编码结果中最佳的编码结果,确定为所述父对象的编码结果,进而完成所述父对象关于所述第二编码参数组合的编码。
可选地,所述根据预设的第一编码结果选择准则,将针对所述目标对象的编码结果中最佳的编码结果,确定为所述目标对象的编码结果,包括:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果。
可选地,所述根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果,包括:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断所述目标编码结果是否为空;
如果否,从所述目标编码结果中选择最佳编码结果作为所述目标对象的编码结果。
可选地,本发明实施例提供的视频编码方法,还包括:
如果所述目标编码结果为空,从针对所述目标对象的编码结果中选择最佳编码结果作为所述目标对象的编码结果;或直接执行所述判断所述父对象对应的第二编码参数组合的取值是否遍历完成的步骤。
可选地,所述主观质量模型为以下模型中的至少一种:
恰可失真模型、峰值信噪比模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数。
第二方面,本发明实施例提供了一种视频编码装置,所述装置包括:
编码模块,用于针对目标层级中的目标对象,遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码,其中,所述第一编码参数组合的取值至少包括两个;
第一确定模块,用于根据预设的第一编码结果选择准则,将针对所述目标对象的编码结果中最佳的编码结果,确定为所述目标对象的编码结果,进而完成所述目标对象关于所述第一编码参数组合的编码。
可选地,本发明实施例提供的视频编码装置,还包括:
第一判断模块,用于在所述第一确定模块完成所述目标对象关于所述第一编码参数组合的编码之后,判断所述目标层级是否存在未编码的对象;
第一更新模块,用于在所述第一判断模块的结果为存在的情况下,将所述目标对象更新为所述目标对象的下一对象,并触发所述编码模块;
第二确定模块,用于在所述第一判断模块的结果为不存在的情况下,根据所述目标层级中所有对象的编码结果,确定所述目标对象父对象的编码结果;触发第二判断模块;
所述第二判断模块,用于判断所述父对象对应的第二编码参数组合的取值是否遍历完成;
第二更新模块,用于在所述第二判断模块的结果为未遍历完成的情况下,从所述第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将所述目标对象更新为所述父对象包含的第一个子对象,触发所述编码模块;
第三确定模块,用于在所述第二判断模块的结果为遍历完成的情况下,按照预设的第二编码结果选择准则,将针对所述父对象的编码结果中最佳的编码结果,确定为所述父对象的编码结果,进而完成所述父对象关于所述第二编码参数组合的编码。
可选地,所述第一确定模块,具体用于:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果。
可选地,所述第一确定模块,包括:
第一选择子模块,用于根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断子模块,用于判断所述目标编码结果是否为空;
第二选择子模块,用于在所述判断子模块的结果为否的情况下,从所述目标编码结果中选择最佳编码结果作为所述目标对象的编码结果。
可选地,所述第一确定模块,还包括:
第三选择子模块,用于在所述判断子模块的结果为是的情况下,从针对所述目标对象的编码结果中选择最佳编码结果作为所述目标对象的编码结果;或直接触发所述第二判断模块。
可选地,所述主观质量模型为以下模型中的至少一种:
恰可失真模型、峰值信噪比模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数。
在本发明实施例提供的视频编码方法中,针对目标层级中的目标对象,遍历该目标对象在目标层级中的第一编码参数组合的取值,对该目标对象进行编码,其中,第一编码参数组合的取值至少包括两个,然后,根据预设的第一编码结果选择准则,将针对该目标对象的编码结果中最佳的编码结果,确定为该目标对象的编码结果,进而完成该目标对象关于第一编码参数组合的编码。本发明实施例提供的视频编码方法中,针对目标对象,会遍历至少两组编码参数的取值来进行多次编码,然后根据预设的编码结果选择准则,从所得的多个编码结果中选取最佳的编码结果作为该目标对象的编码结果,与现有技术中只基于一组固定的编码参数取值来进行单次编码相比,得到的编码结果更好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的视频编码方法的第一种流程示意图;
图2为视频编码层级结构的示例;
图3为本发明实施例所提供的视频编码方法的第二种流程示意图;
图4为图3所示实施例的一种具体的流程图;
图5为本发明实施例所提供的视频编码装置的第一种结构示意图;
图6为本发明实施例所提供的视频编码装置的第二种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了保证得到更好的编码结果,本发明实施例提供了一种视频编码方法及装置。
下面首先对本发明实施例提供的一种视频编码方法进行介绍。
需要说明的是,本发明实施例所提供的一种视频编码方法的执行主体可以为一种视频编码装置,如:视频编码器。其中,该视频编码装置可以为现有视频编码软件中的插件,或者,独立的功能软件,这都是合理的。并且,该视频编码装置可以应用于终端中,也可以应用于服务器中。
如图1所示,本发明实施例提供的一种视频编码方法,包括如下步骤:
S101,针对目标层级中的目标对象,遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码。
其中,第一编码参数组合为该目标对象在目标层级中的编码参数的组合,其取值至少包括两个。
需要说明的是,层级是根据视频编码的层级结构确定的,具体地,包括从低到高的预测单元层/编码单元层、条带层、图像层、图像组层、视频段层、视频层,其中,每个高层级对象都可以划分为至少一个低层级对象,被划分的高层级对象为划分所得的低层级对象的父对象,多个低层级对象为被划分的高层级对象的子对象。需要强调的是,实际应用中,层级划分可以是不连续的,例如,可以划分成只包括图像层和编码单元层的层级结构,这都是允许的,那么,图像层对象便为其划分的多个编码单元层对象的父对象。
举例而言,参见图2所示,视频1至视频5均为视频层的对象,可以将视频层对象视频3划分为N个视频段层对象;而针对视频段层对象视频段4,又可以将其划分为M个图像层对象,分别为图像1至图像M;进一步地,还可以将图像层对象图像2划分为7个条带层对象,分别为条带1至条带7;更进一步地,条带层对象条带6还可以划分成多个编码单元及其划分的预测单元,其中,就图像2而言,图像2为条带1至条带7的父对象,条带1至条带7为图像2的子对象。其中,N为大于5的自然数,M为大于6的自然数。
需要说明的是,实际应用中,目标层级可以为预测单元层、编码单元层、条带层、图像层、图像组层、视频段层或视频层,具体根据需求而定。
可以理解的是,第一编码参数组合为针对目标层级设置的所有编码参数的集合,当目标层级为视频或者视频段层时,第一编码参数组合可以包含:编码码率、量化参数、最大量化参数、最小量化参数、多遍编码次数、I帧间隔、模式选择时用的拉格朗日参数、图像帧类型分布等;当目标层级为图像层或条带层时,第一编码参数组合可以包含:量化参数、图像帧类型、模式选择时用的拉格朗日参数、可用编码模式、编码单元大小等;当目标层级为编码单元层或预测单元层时,第一编码参数组合可以包含:量化参数、模式选择时用的拉格朗日参数、可用编码模式等。当然,第一编码参数组合所包含的参数不仅限于上述提到的编码参数。
需要说明的是,可以首先获取目标对象所在视频的视频信息,然后根据获取到的视频信息对第一编码参数组合的取值进行初始化,其中,视频信息可以包括但不限于视频码率、帧率、视频压缩格式、量化参数、关键帧分布及图像分辨率等;具体地,可以直接读取视频的各层级信息,例如,当要对已编码的视频应用本发明实施例所提供的视频编码方法进行二次编码时,便可以直接读取视频信息;也可以通过对视频进行快速编码来得到具体的视频信息,当然,还可以根据实际需求应用其他的方法来获取视频信息,此处不作限定。
实际应用中,针对目标对象,可以从第一编码参数组合中选取一个或多个编码参数,设为目标编码参数,而目标编码参数,可以设定多个不同的取值,从而得到第一编码参数组合的多个取值,然后,遍历目标对象的第一编码参数组合的取值,对目标对象进行编码,得到多个编码结果。
具体地,在一种实现方式中,可以首先获得第一编码参数组合的所有取值,然后遍历每一取值,对目标对象进行编码;举例而言,假设,第一编码参数组合包含了8个编码参数,从中选取3个为目标编码参数,分别设定2、3、4个不同的值,则第一编码参数组合的取值为2×3×4=24个,那么,可以首先获得这24个取值,再分别对目标对象进行编码。
当目标编码参数为数值型参数时,在另一种实现方式中,还可以设定迭代方式,针对目标编码参数的取值,进行迭代,实时地确定第一编码参数组合的取值,对目标对象进行编码;其中,迭代方式,可以为根据最值和迭代步长进行迭代,还可以根据最值、迭代步长及迭代次数进行迭代,最值可以为最小值,也可以为最大值,当然,上面所述仅为迭代方式的两种具体示例,不具限定作用。
举例而言,首先对第一编码参数组合中各编码参数进行初始化,假设目标编码参数为量化参数,初始值为40,设定最小值为20,迭代步长为-2,那么在针对第一编码参数组合的第一个取值,对目标对象进行编码后,可以调整量化参数的取值为38,保持其他参数的取值不变,再对目标对象进行编码,如此,直到调整量化参数为20,并对目标对象进行编码后,完成关于第一编码参数组合的遍历;假设目标编码参数还包括拉格朗日参数,其初始值为默认值1.0,设定最小值为0.4,迭代步长为-0.2,那么在针对第一编码参数组合的第一个取值,对目标对象进行编码后,可以保持拉格朗日参数的取值不变,调整量化参数的取值,对目标对象进行多次编码,待量化参数的取值遍历完后;调整拉格朗日参数的取值为0.8,保持不变,重新从40开始,调整量化参数的取值,对目标对象进行多次编码,直到拉格朗日参数取值为0.4,量化参数为20时的编码完成,当然,还可以先保持量化参数的取值不变,对拉格朗日参数的取值进行迭代,这都是允许的。实际应用中,目标编码参数还可以为三个或更多,但关于第一编码参数组合的遍历,原理相似,不再赘述。
可以理解的是,上述所举示例仅为两个具体实例,不具限定作用。
其中,针对第一编码参数组合的每一个取值,对目标对象进行编码时,可以采用传统编码方法或感知编码方法,如失真评价替换感知编码方法或去感知冗余编码方法,具体编码过程属于现有技术,这里不再赘述。当然,实际应用中,还可以采用其他编码方法,在此不作限定。需要说明的是,由于应用本发明实施例提供的方案仅仅影响编码的次数和参数的选择,所以应用本发明实施例提供的技术方案进行编码,最终生成的视频码流符合现有的视频编码标准,可以直接被常用播放器解码播放。
此外,当在整个目标层级应用本发明实施例所提供的视频编码方法时,在第一种实现方式中,可以顺序逐个完成当前层对象的编码;在第二种实现方式中,也可以同时对目标层级中的多个对象进行编码。其中,由于两个相邻对象具有相关性,通常后一个对象基于前一个对象的编码结果进行编码,因此,第一种实现方式的时间复杂度更低,因为后一个对象只需基于前一个对象的最佳编码结果进行编码即可。
S102,根据预设的第一编码结果选择准则,将针对目标对象的编码结果中最佳的编码结果,确定为目标对象的编码结果,进而完成目标对象关于第一编码参数组合的编码。
可以理解的是,在针对目标层级中的目标对象,遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码后,可以根据预设的第一编码结果选择准则,从目标对象得到的编码结果中选出最佳的编码结果作为目标对象的编码结果;其中,第一编码结果选择准则对应的可以是客观评价指标,也可以是主观评价指标,当然还可以是两者的结合,具体根据实际需求而定,此处不作限定。
其中,可以在遍历完第一编码参数组合的取值后,对所有的编码结果进行评判,并确定目标对象的编码结果;也可以在针对第一编码参数组合的每一个取值,对目标对象进行编码后,实时地对编码结果进行评判,待遍历完第一编码参数组合的取值后,最终确定目标对象的编码结果,这都是可行的。
具体地,所述根据预设的第一编码结果选择准则,将针对目标对象的编码结果中最佳的编码结果,确定为目标对象的编码结果,可以包括:
根据目标层级的主观质量模型,从针对目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为目标对象的编码结果。
需要说明的是,当想要获得满足人眼视觉特性的编码结果时,可以在目标层级设置主观质量模型,来对目标对象的编码结果进行评价,并从中选出最佳编码结果;其中,主观质量模型指人眼观看视频时,对视频质量的主观评价体系,包括主观质量模型值的计算和评价方法两部分,评价方法即指如何根据主观质量模型具体判断编码对象是否编码成功,实际应用中,主观质量模型可以为以下模型中的至少一种:恰可失真模型、PSNR(PeakSignal to Noise Ratio,峰值信噪比)经验值模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数;当然,主观质量模型也可以为除上述几种模型之外的其他主观质量模型,在此不作限定。
更具体地,所述根据目标层级的主观质量模型,从针对目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为目标对象的编码结果,可以包括:
根据目标层级的主观质量模型,从针对目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断目标编码结果是否为空;
如果否,从目标编码结果中选择最佳编码结果作为目标对象的编码结果。
其中,可以首先根据目标层级设置的主观质量模型,从针对目标对象的编码结果中,选出满足主观质量条件的目标编码结果,若目标编码结果非空,即目标对象的编码结果中存在满足主观质量条件的结果,那么可以从中再进行二次筛选,得到最佳编码结果。需要说明的是,最佳可以为压缩率最高、最能满足主观质量条件,或压缩率与主观质量的评价结果综合最佳,即最佳编码结果可以为压缩率最高的结果,或主观质量的评价结果最优的结果,或满足主观质量条件中压缩率最高的结果。当然,最佳编码结果也可以由其他方法确定获得,具体不作限定。
举例而言,假设目标层级为图像层,主观质量模型为PSNR经验值模型,经验值为41,针对目标对象图像2,由S101得到的编码结果共12个,其中,PSNR实际值大于41的为5个,即,满足主观质量条件的编码结果为5个,那么,可以将这5个编码结果中PSNR实际值最大的编码结果确定为图像2的编码结果,还可以将这5个编码结果中压缩率最高的编码结果确定为图像2的编码结果。
需要说明的是,如果目标编码结果为空,可以从针对目标对象的编码结果中选择最佳编码结果作为目标对象的编码结果,并认定获得了满足主观质量条件的编码结果。
举例而言,假设目标层级为图像层,主观质量模型为PSNR经验值模型,经验值为41,针对目标对象图像3,由S101得到的编码结果共4个,PSNR实际值均小于41,那么,可以直接将这4个编码结果中PSNR实际值最大的编码结果或者压缩率最高的编码结果确定为图像3的编码结果。
需要说明的是,实际应用中,当第一编码结果准则结合了客观评价指标和主观评价指标,最佳的编码结果为满足主观质量条件中客观评价指标最好的编码结果时,那么,针对S101中,遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码的步骤,具体地,可以将目标编码参数的取值按照对应的客观评价指标从高到底的顺序进行遍历,这样得到的第一个满足主观质量条件的编码结果便是按照第一编码结果准则确定的最佳编码结果,那么,目标编码参数后面未遍历的取值可以不再进行遍历,降低了视频编码的时间复杂度。
举例而言,假设目标层级为图像层,主观质量模型为PSNR经验值模型,经验值为41,目标编码参数为量化参数,取值范围为40至20,可以理解的是,量化参数大的压缩率大,量化参数小的压缩率小,那么,可以设定量化参数的初始值为40,迭代步长为-1,按照量化参数取值从大到小的顺序,遍历第一编码参数组合的取值对目标对象进行编码,如果当量化参数为35时,得到的编码结果的PSNR实际值大于41,即满足主观质量条件,那么就可以将当前编码结果确定为目标对象的编码结果,量化参数34至20对应的第一编码参数组合的取值不需再进行遍历。
在图1所示实施例提供的视频编码方法中,针对目标层级中的目标对象,遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码,其中,第一编码参数组合的取值至少包括两个,然后,根据预设的第一编码结果选择准则,将针对目标对象的编码结果中最佳的编码结果,确定为目标对象的编码结果,进而完成目标对象关于第一编码参数组合的编码。本发明实施例提供的视频编码方法中,针对目标对象,会遍历至少两组编码参数的取值来进行多次编码,然后根据预设的编码结果选择准则,从所得的多个编码结果中选取最佳的编码结果作为该目标对象的编码结果,与现有技术中只基于一组固定的编码参数取值来进行单次编码相比,得到的编码结果更好。
更进一步地,在图1所示实施例的基础上,如图3所示,本发明实施例提供的视频编码方法,还可以包括:
S103,判断目标层级是否存在未编码的对象,若存在,执行S104,若不存在,执行S105。
需要说明的是,若目标层级中的目标对象完成了关于第一编码参数组合的编码,可以判断目标层级是否存在未编码的对象,并根据判断结果进行后续处理,具体的,如果目标层级存在未编码的对象,说明目标对象不是目标层级的最后一个对象,则执行S104,如果目标层级不存在未编码的对象,即目标层级中所有的对象已编码完成,则执行S105。其中,具体的判断方法属于现有技术,此处不再赘述。
S104,将目标对象更新为目标对象的下一对象,并返回执行S101。
需要说明的是,当S103执行结果为是,即目标层级存在未编码对象时,可以将目标对象更新为目标对象的下一对象,循环执行S101及其后续步骤。
举例而言,目标对象为编码单元层中的编码单元4,编码单元4关于第一编码参数组合的编码完成后,编码单元层中还有未编码的编码单元5、编码单元6、编码单元7和编码单元8,那么,可以将目标对象更新为根据设定的规则所确定的编码单元4的下一对象,返回执行针对目标层级中的目标对象,遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码的步骤。其中,编码单元4的下一对象可以为编码单元5,也可以为编码单元6,在此不作限定。
S105,根据目标层级中所有对象的编码结果,确定目标对象父对象的编码结果,执行S106。
其中,当S103的执行结果为否,即目标层级中不存在未编码对象时,可以根据目标层级中所有对象的编码结果,确定目标对象父对象关于所属层级编码参数组合的当前取值的编码结果。
S106,判断父对象对应的第二编码参数组合的取值是否遍历完成,如果遍历完成,执行S107,如果未遍历完成,执行S108。
其中,确定了目标对象父对象关于所属层级编码参数组合的当前取值的编码结果后,还可以判断父对象对应的第二编码参数组合的取值是否遍历完成,如果遍历完成了,则执行S107,如果未遍历完成,可以执行S108,继续进行遍历。
S107,按照预设的第二编码结果选择准则,将针对父对象的编码结果中最佳的编码结果,确定为父对象的编码结果,进而完成父对象关于第二编码参数组合的编码。
可以理解的是,在目标对象父对象,遍历完对应的第二编码参数组合的取值后,可以根据预设的第二编码结果选择准则,从目标对象父对象得到的编码结果中选出最佳的编码结果作为目标对象父对象的编码结果;其中,第二编码结果选择准则对应的可以是客观评价指标,也可以是主观评价指标,当然还可以是两者的结合,具体根据实际需求而定,此处不作限定。
可以理解的是,实际应用中,当第二编码结果准则结合了客观评价指标和主观评价指标,最佳的编码结果为满足主观质量条件中客观评价指标最好的编码结果时,那么,遍历父对象对应的第二编码参数组合的取值,对父对象进行编码时,也可以将对应的目标编码参数的取值按照客观评价指标从高到底的顺序进行遍历,并将得到的第一个满足主观质量条件的编码结果确定为父对象的最佳编码结果,父对象对应的目标编码参数后面未遍历的取值可以不再进行遍历,降低了视频编码的时间复杂度。
具体地,所述按照预设的第二编码结果选择准则,将针对父对象的编码结果中最佳的编码结果,确定为父对象的编码结果,可以包括:
根据目标层级上一层级的主观质量模型,从针对父对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为父对象的编码结果。
其中,关于主观质量模型在图1所示实施例的S102中已有介绍,此处不再赘述。实际应用中,目标层级上一层级的主观质量模型可以为以下模型中的至少一种:恰可失真模型、PSNR(Peak Signal to Noise Ratio,峰值信噪比)经验值模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数;当然,也可以为除上述几种模型之外的其他主观质量模型,在此不作限定。
更具体地,所述根据目标层级上一层级的主观质量模型,从针对父对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为父对象的编码结果,可以包括:
根据目标层级上一层级的主观质量模型,从针对父对象的编码结果中,选择满足主观质量条件的编码结果;
判断所选择的编码结果是否为空;
如果否,从所选择的编码结果中选择最佳编码结果作为父对象的编码结果。
其中,可以首先根据目标层级上一层级设置的主观质量模型,从针对父对象的编码结果中,选出满足主观质量条件的编码结果,若所选择的编码结果非空,即父对象的编码结果中存在满足主观质量条件的结果,那么可以从中再进行二次筛选,得到最佳编码结果。需要说明的是,同样地,最佳可以为压缩率最高、最能满足主观质量条件,或压缩率与主观质量的评价结果综合最佳,即最佳编码结果可以为压缩率最高的结果,或主观质量的评价结果最优的结果,或满足主观质量条件中压缩率最高的编码结果。当然,最佳编码结果也可以由其他方法确定获得,具体不作限定。
需要说明的是,针对目标层级和目标层级上一层级中的所有对象,最佳的编码结果均可以设定为满足主观质量条件中压缩率最高的编码结果,这样,应用图3所示实施例提供的视频编码方法,便可以在至少两个层级上,获得即满足主观质量条件,压缩率又较高的编码结果,进而保证整个视频的编码结果即满足了人眼视觉特性又实现较高的压缩率。
此外,如果所选择的编码结果为空,可以从针对父对象的编码结果中选择最佳编码结果作为父对象的编码结果。此处,与图1所示实施例的S102中描述的目标编码结果为空时的情形类似,不再进行赘述。
S108,从第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将目标对象更新为所述父对象包含的第一个子对象,返回执行S101。
可以理解的是,若S106执行结果为否,即父对象对应的第二编码参数组合的取值未遍历完成,那么可以从第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将目标对象更新为所述父对象包含的第一个子对象,返回执行S101,直至完成父对象关于第二编码参数组合的编码。
举例而言,父对象为图像9,划分为6个条带层子对象,分别为条带1至条带6,目标编码参数为量化参数,共有5个取值,当前正在针对第3个取值进行编码,如果条带1至条带6关于第一编码参数组合的取值的编码都完成了,那么可以从图像9剩余的两个量化参数值中确定一个,然后针对所确定的值对应的第二编码参数组合的取值,将目标对象更新为条带1至条带6中确定的第一个子对象,返回执行针对目标层级中的目标对象,遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码的步骤,从而实现对第二编码参数组合取值的遍历。
此外,需要说明的是,针对图3所示实施例中的S102,所述根据预设的第一编码结果选择准则,将针对目标对象的编码结果中最佳的编码结果,确定为目标对象的编码结果,具体地,可以包括:
根据目标层级的主观质量模型,从针对目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为目标对象的编码结果。
需要说明的是,当想要获得满足人眼视觉特性的编码结果时,可以在目标层级设置主观质量模型,来对目标对象的编码结果进行评价,并从中选出最佳编码结果;实际应用中,目标层级的主观质量模型可以为以下模型中的至少一种:恰可失真模型、PSNR(PeakSignal to Noise Ratio,峰值信噪比)经验值模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型;当然,目标层级的主观质量模型也可以为除上述几种模型之外的其他主观质量模型,在此不作限定。
更具体地,所述根据目标层级的主观质量模型,从针对目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为目标对象的编码结果,可以包括:
根据目标层级的主观质量模型,从针对目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断目标编码结果是否为空;
如果否,从目标编码结果中选择最佳编码结果作为目标对象的编码结果。
其中,可以首先根据目标层级设置的主观质量模型,从针对目标对象的编码结果中,选出满足主观质量条件的目标编码结果,若目标编码结果非空,即目标对象的编码结果中存在满足主观质量条件的结果,那么可以从中再进行二次筛选,得到最佳编码结果。需要说明的是,最佳可以为压缩率最高、最能满足主观质量条件,或压缩率与主观质量的评价结果综合最佳,即最佳编码结果可以为压缩率最高的结果,或主观质量的评价结果最优的结果,或满足主观质量条件中压缩率最高的结果。当然,最佳编码结果也可以由其他方法确定获得,具体不作限定。
若目标编码结果为空,可以从针对目标对象的编码结果中选择最佳编码结果作为目标对象的编码结果;或直接执行S106,即,当目标对象的编码结果中没有满足主观质量条件的情况下,可以直接执行S106的步骤,判断目标对象父对象对应的第二编码参数组合的取值是否遍历完成,若没有就调整第二编码参数组合的取值,对目标层级的对象进行重新编码。
应用图3所示实施例,更进一步地,在目标层级中的目标对象完成了关于第一编码参数组合的编码的情况下,可以判断目标层级是否存在未编码的对象,若为是,将目标对象更新为目标对象的下一对象,返回执行遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码的步骤;若为否,根据目标层级中所有对象的编码结果,确定目标对象父对象的编码结果,判断父对象对应的第二编码参数组合的取值是否遍历完成,如果遍历完成,按照预设的第二编码结果选择准则,将针对父对象的编码结果中最佳的编码结果,确定为父对象的编码结果,进而完成父对象关于第二编码参数组合的编码,否则,从第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将目标对象更新为所述父对象包含的第一个子对象,返回执行遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码的步骤。应用图3所示实施例提供的视频编码方法,可以针对至少两个层级上的对象,遍历多组编码参数的取值来进行多次编码,然后根据预设的编码结果选择准则,从所得的多个编码结果中选取最佳的编码结果作为每一对象的编码结果,进而确保整个视频获得更好的编码结果。
针对图3所示实施例,下面将以一具体实施例进行说明,设定在编码单元层和图像层,应用图3所示实施例提供的视频编码方法;图像层的目标编码参数为量化参数和拉格朗日参数,其中,量化参数的初始值为30,迭代步长为-2,最小值为15,拉格朗日参数的取值共4个,分别为原始值的0.8、0.6、0.4、0.2倍;编码单元层的目标编码参数为量化参数,其初始值一般是动态的,为图像层量化参数的当前值,设定迭代步长为-1,迭代次数为4;针对编码结果结合压缩率和主观质量模型进行判断,具体地,在图像层设置PSNR经验值模型和最大4×4块像素均方差模型,其中,PSNR经验值设为41,最大4×4块像素均方差模型的经验值为7.5,即图像层对象编码结果的实际PSNR值大于41,且图像层对象编码结果与原始数据的最大4×4块像素均方差小于7.5时,方为满足主观质量条件;在编码单元层设置最大4×4块像素均方差模型,其中,最大4×4块像素均方差模型的经验值为7.5,即编码单元层对象编码结果与原始数据的最大4×4块像素均方差小于7.5时,方为满足主观质量条件。参见图4,可以包括:
S401,针对编码单元层中的目标对象,遍历目标对象在编码单元层中的第一编码参数组合的取值,对目标对象进行编码;
其中,可以按照设定的量化参数的迭代方式,遍历每一量化参数值对应的第一编码参数组合的取值,对目标对象进行编码。
S402,根据最大4×4块像素均方差模型和压缩率,将针对目标对象的编码结果中最佳的编码结果,确定为目标对象的编码结果,进而完成目标对象关于第一编码参数组合的编码;
具体地,根据最大4×4块像素均方差模型对目标对象的编码结果进行判断,选择出与目标对象的原始数据的最大4×4块像素均方差小于7.5的目标编码结果,然后,将目标编码结果中压缩率最高的结果确定为目标对象的编码结果。
S403,判断编码单元层是否存在未编码的对象,若存在,执行S404,若不存在,执行S405;
S404,将目标对象更新为目标对象的下一对象,执行S401;
S405,根据编码单元层中所有对象的编码结果,确定目标对象父对象的编码结果;
其中,如果编码单元层的对象关于第一编码参数组合的编码完成了,可以返回图像层,并根据编码单元层所有对象的编码结果,确定目标对象父对象关于第二编码参数组合的当前取值的编码结果。
S406,判断父对象对应的第二编码参数组合的取值是否遍历完成,如果遍历完成,执行S407,如果未遍历完成,执行S408;
其中,第二编码参数组合中的目标编码参数为量化参数和拉格朗日参数。
S407,根据PSNR经验值模型、最大4×4块像素均方差模型和压缩率,将针对父对象的编码结果中最佳的编码结果,确定为父对象的编码结果,进而完成父对象关于第二编码参数组合的编码;
具体地,根据PSNR经验值模型和最大4×4块像素均方差模型对父对象的编码结果进行判断,选择出PSNR实际值大于41,且与父对象的原始数据的最大4×4块像素均方差小于7.5的编码结果,然后,将所选择的编码结果中压缩率最高的结果确定为父对象的编码结果。
S408,从第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将目标对象更新为所述父对象包含的第一个子对象,返回执行S401。
其中,若第二编码参数组合的取值未遍历完,则按照预设的迭代方式,调整量化参数或拉格朗日参数值,从而确定出第二编码参数组合的一个未遍历的取值,然后将目标对象更新为父对象包含的第一个子对象,返回执行S401。
其中,在图4所示具体实施例中,针对编码单元层级的每一对象,须根据量化参数设定的迭代方式,遍历第一编码参数组合的取值,进行编码,选择出与该对象的原始数据的最大4×4块像素均方差小于7.5的目标编码结果,并将目标编码结果中压缩率最高的结果确定为该对象的编码结果;然后在编码单元层还存在未编码对象的情况下,重复上述流程,继续对下一编码单元层对象进行编码,如果编码单元层所有对象关于对应的编码参数组合的编码都已完成,那么就可以返回图像层,判断图像层父对象的第二编码参数组合的取值是否遍历完成,如果未遍历完成,从中取出一个未遍历的取值,对父对象继续进行编码,如果遍历完成,根据PSNR经验值模型和最大4×4块像素均方差模型对父对象的编码结果进行判断,选择出PSNR实际值大于41,且与父对象的原始数据的最大4×4块像素均方差小于7.5的编码结果,并将所选择的编码结果中压缩率最高的结果确定为父对象的编码结果,然后在图像层还存在未编码对象的情况下,继续对下一图像层对象进行编码。可以看出,采用图4所示具体实施例中的技术方案,针对编码单元层和图像层的对象,遍历多组编码参数的取值来进行多次编码,然后根据预设的编码结果选择准则,从所得的多个编码结果中选取了满足主观质量条件中压缩率最高的编码结果作为每一对象的编码结果,进而确保了整个视频的编码结果满足人眼视觉特性的同时,获得最高的压缩率。
需要强调的是,上述所举示例仅为一具体实例,不具限定作用。
实际应用中,还可以在视频层也应用本发明实施例提供的视频编码方法,例如,设定目标编码参数为码率,初始值为预先获取的源视频码率值的30%,按照依次减半的方式进行迭代,迭代次数为3;并在视频层设置PSNR经验值模型,经验值设为42,即视频层对象编码结果的实际PSNR值大于42,方为满足主观质量条件。在图4所举示例基础上,当图像层对象关于第二编码参数组合的编码完成后,便可以返回视频层,遍历视频层对象的参数组合的取值,进行编码,当然,实际应用中,还可以同时在其它多个层级上应用本发明实施例提供的视频编码方法,不仅限于编码单元层、图像层及视频层,其具体编码流程和原理与上述所举示例类似,这里不再赘述。
相应于上述方法实施例,本发明实施例提供了一种视频编码装置,如图5所示,所述装置包括:
编码模块501,用于针对目标层级中的目标对象,遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码,其中,所述第一编码参数组合的取值至少包括两个;
第一确定模块502,用于根据预设的第一编码结果选择准则,将针对所述目标对象的编码结果中最佳的编码结果,确定为所述目标对象的编码结果,进而完成所述目标对象关于所述第一编码参数组合的编码。
在图5所示实施例提供的视频编码方法中,针对目标层级中的目标对象,遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码,其中,第一编码参数组合的取值至少包括两个,然后,根据预设的第一编码结果选择准则,将针对目标对象的编码结果中最佳的编码结果,确定为目标对象的编码结果,进而完成目标对象关于第一编码参数组合的编码。本发明实施例提供的视频编码方法中,针对目标对象,会遍历至少两组编码参数的取值来进行多次编码,然后根据预设的编码结果选择准则,从所得的多个编码结果中选取最佳的编码结果作为该目标对象的编码结果,与现有技术中只基于一组固定的编码参数取值来进行单次编码相比,得到的编码结果更好。
具体地,所述第一确定模块502,具体可以用于:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果。
其中,所述主观质量模型可以为以下模型中的至少一种:
恰可失真模型、峰值信噪比模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数。
更具体地,所述第一确定模块502,可以包括:
第一选择子模块,用于根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断子模块,用于判断所述目标编码结果是否为空;
第二选择子模块,用于在所述判断子模块的结果为否的情况下,从所述目标编码结果中选择最佳编码结果作为所述目标对象的编码结果。
更具体地,所述第一确定模块502,还可以包括
第三选择子模块,用于在所述判断子模块的结果为是的情况下,从针对所述目标对象的编码结果中选择最佳编码结果作为所述目标对象的编码结果。
进一步地,在包含编码模块501及第一确定模块502的基础上,如图6所示,本发明实施例提供的视频编码装置,还可以包括:
第一判断模块503,用于在所述第一确定模块502完成所述目标对象关于所述第一编码参数组合的编码之后,判断所述目标层级是否存在未编码的对象;
第一更新模块504,用于在所述第一判断模块503的结果为存在的情况下,将所述目标对象更新为所述目标对象的下一对象,并触发所述编码模块501;
第二确定模块505,用于在所述第一判断模块503的结果为不存在的情况下,根据所述目标层级中所有对象的编码结果,确定所述目标对象父对象的编码结果;触发第二判断模块506;
所述第二判断模块506,用于判断所述父对象对应的第二编码参数组合的取值是否遍历完成;
第三确定模块507,用于在所述第二判断模块506的结果为遍历完成的情况下,按照预设的第二编码结果选择准则,将针对所述父对象的编码结果中最佳的编码结果,确定为所述父对象的编码结果,进而完成所述父对象关于所述第二编码参数组合的编码;
第二更新模块508,用于在所述第二判断模块506的结果为未遍历完成的情况下,从所述第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将所述目标对象更新为所述父对象包含的第一个子对象,触发所述编码模块501;
在图6所示实施例提供的视频编码方法中,更进一步地,在目标层级中的目标对象完成了关于第一编码参数组合的编码的情况下,可以判断目标层级是否存在未编码的对象,若为是,将目标对象更新为目标对象的下一对象,返回执行遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码的步骤;若为否,根据目标层级中所有对象的编码结果,确定目标对象父对象的编码结果,判断父对象对应的第二编码参数组合的取值是否遍历完成,如果遍历完成,按照预设的第二编码结果选择准则,将针对父对象的编码结果中最佳的编码结果,确定为父对象的编码结果,进而完成父对象关于第二编码参数组合的编码,否则,从第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将目标对象更新为所述父对象包含的第一个子对象,返回执行遍历目标对象在目标层级中的第一编码参数组合的取值,对目标对象进行编码的步骤。应用图6所示实施例提供的视频编码方法,可以针对多个层级上的对象,遍历至少两组编码参数的取值来进行多次编码,然后根据预设的编码结果选择准则,从所得的多个编码结果中选取最佳的编码结果作为该目标对象的编码结果,进而确保整个视频获得更好的编码结果。
具体地,所述第一确定模块502,具体可以用于:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果。
其中,所述主观质量模型可以为以下模型中的至少一种:
恰可失真模型、峰值信噪比模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数。
更具体地,所述第一确定模块502,可以包括:
第一选择子模块,用于根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断子模块,用于判断所述目标编码结果是否为空;
第二选择子模块,用于在所述判断子模块的结果为否的情况下,从所述目标编码结果中选择最佳编码结果作为所述目标对象的编码结果。
更具体地,所述第一确定模块502,还可以包括
第三选择子模块,用于在所述判断子模块的结果为是的情况下,从针对所述目标对象的编码结果中选择最佳编码结果作为所述目标对象的编码结果;或直接触发所述第二判断模块506。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种视频编码方法,其特征在于,所述方法包括:
针对目标层级中的目标对象,遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码,其中,所述第一编码参数组合的取值至少包括两个;
根据预设的第一编码结果选择准则,将针对所述目标对象的编码结果中最佳的编码结果,确定为所述目标对象的编码结果,进而完成所述目标对象关于所述第一编码参数组合的编码。
2.根据权利要求1所述的方法,其特征在于,在所述完成所述目标对象关于所述第一编码参数组合的编码之后,还包括:
判断所述目标层级是否存在未编码的对象;
若存在,将所述目标对象更新为所述目标对象的下一对象,并返回执行所述遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码的步骤;
若不存在,根据所述目标层级中所有对象的编码结果,确定所述目标对象父对象的编码结果;判断所述父对象对应的第二编码参数组合的取值是否遍历完成,如果未遍历完成,从所述第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将所述目标对象更新为所述父对象包含的第一个子对象,返回执行所述遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码的步骤;
如果遍历完成,按照预设的第二编码结果选择准则,将针对所述父对象的编码结果中最佳的编码结果,确定为所述父对象的编码结果,进而完成所述父对象关于所述第二编码参数组合的编码。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的第一编码结果选择准则,将针对所述目标对象的编码结果中最佳的编码结果,确定为所述目标对象的编码结果,包括:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果,包括:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断所述目标编码结果是否为空;
如果否,从所述目标编码结果中选择最佳编码结果作为所述目标对象的编码结果。
5.根据权利要求4所述的方法,其特征在于,还包括:
如果所述目标编码结果为空,从针对所述目标对象的编码结果中选择最佳编码结果作为所述目标对象的编码结果;或直接执行所述判断所述父对象对应的第二编码参数组合的取值是否遍历完成的步骤。
6.根据权利要求3所述的方法,其特征在于,所述主观质量模型为以下模型中的至少一种:
恰可失真模型、峰值信噪比模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数。
7.一种视频编码装置,其特征在于,所述装置包括:
编码模块,用于针对目标层级中的目标对象,遍历所述目标对象在所述目标层级中的第一编码参数组合的取值,对所述目标对象进行编码,其中,所述第一编码参数组合的取值至少包括两个;
第一确定模块,用于根据预设的第一编码结果选择准则,将针对所述目标对象的编码结果中最佳的编码结果,确定为所述目标对象的编码结果,进而完成所述目标对象关于所述第一编码参数组合的编码。
8.根据权利要求7所述的装置,其特征在于,还包括:
第一判断模块,用于在所述第一确定模块完成所述目标对象关于所述第一编码参数组合的编码之后,判断所述目标层级是否存在未编码的对象;
第一更新模块,用于在所述第一判断模块的结果为存在的情况下,将所述目标对象更新为所述目标对象的下一对象,并触发所述编码模块;
第二确定模块,用于在所述第一判断模块的结果为不存在的情况下,根据所述目标层级中所有对象的编码结果,确定所述目标对象父对象的编码结果;触发第二判断模块;
所述第二判断模块,用于判断所述父对象对应的第二编码参数组合的取值是否遍历完成;
第二更新模块,用于在所述第二判断模块的结果为未遍历完成的情况下,从所述第二编码参数组合的未遍历的取值中确定一组编码参数组合的取值,针对所确定的取值,将所述目标对象更新为所述父对象包含的第一个子对象,触发所述编码模块;
第三确定模块,用于在所述第二判断模块的结果为遍历完成的情况下,按照预设的第二编码结果选择准则,将针对所述父对象的编码结果中最佳的编码结果,确定为所述父对象的编码结果,进而完成所述父对象关于所述第二编码参数组合的编码。
9.根据权利要求8所述的装置,其特征在于,所述第一确定模块,具体用于:
根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中选取最佳编码结果,并将所选择的编码结果确定为所述目标对象的编码结果。
10.根据权利要求9所述的装置,其特征在于,所述第一确定模块,包括:
第一选择子模块,用于根据所述目标层级的主观质量模型,从针对所述目标对象的编码结果中,选择满足主观质量条件的目标编码结果;
判断子模块,用于判断所述目标编码结果是否为空;
第二选择子模块,用于在所述判断子模块的结果为否的情况下,从所述目标编码结果中选择最佳编码结果作为所述目标对象的编码结果。
11.根据权利要求10所述的装置,其特征在于,所述第一确定模块,还包括:
第三选择子模块,用于在所述判断子模块的结果为是的情况下,从针对所述目标对象的编码结果中选择最佳编码结果作为所述目标对象的编码结果;或直接触发所述第二判断模块。
12.根据权利要求9所述的装置,其特征在于,所述主观质量模型为以下模型中的至少一种:
恰可失真模型、峰值信噪比模型、协方差经验值模型、最大K×K块平均像素差经验值模型、最大K×K块像素均方差模型,其中,K为正整数。
CN201610966780.4A 2016-10-28 2016-10-28 一种视频编码方法及装置 Active CN108012154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610966780.4A CN108012154B (zh) 2016-10-28 2016-10-28 一种视频编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610966780.4A CN108012154B (zh) 2016-10-28 2016-10-28 一种视频编码方法及装置

Publications (2)

Publication Number Publication Date
CN108012154A true CN108012154A (zh) 2018-05-08
CN108012154B CN108012154B (zh) 2020-07-03

Family

ID=62047505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610966780.4A Active CN108012154B (zh) 2016-10-28 2016-10-28 一种视频编码方法及装置

Country Status (1)

Country Link
CN (1) CN108012154B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935545A (zh) * 2020-08-03 2020-11-13 腾讯音乐娱乐科技(深圳)有限公司 转码视频数据的方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08340532A (ja) * 1995-06-12 1996-12-24 Nippon Telegr & Teleph Corp <Ntt> 量子化/逆量子化演算器
CN101060629A (zh) * 2007-04-27 2007-10-24 华为技术有限公司 图像压缩/解压方法及图像编/解码器和解码电路
CN101272497A (zh) * 2008-05-07 2008-09-24 北京数码视讯科技股份有限公司 一种视频编码方法
US7990297B1 (en) * 2010-02-26 2011-08-02 Research In Motion Limited Encoding and decoding methods and devices employing dual codesets
CN102685472A (zh) * 2011-03-08 2012-09-19 华为技术有限公司 数据传输的方法、装置和系统
CN102790878A (zh) * 2011-12-07 2012-11-21 北京邮电大学 一种视频编码的编码模式选择方法及装置
CN104539954A (zh) * 2014-12-01 2015-04-22 上海交通大学 一种加速hevc编码速度的级联方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08340532A (ja) * 1995-06-12 1996-12-24 Nippon Telegr & Teleph Corp <Ntt> 量子化/逆量子化演算器
CN101060629A (zh) * 2007-04-27 2007-10-24 华为技术有限公司 图像压缩/解压方法及图像编/解码器和解码电路
CN101272497A (zh) * 2008-05-07 2008-09-24 北京数码视讯科技股份有限公司 一种视频编码方法
US7990297B1 (en) * 2010-02-26 2011-08-02 Research In Motion Limited Encoding and decoding methods and devices employing dual codesets
CN102685472A (zh) * 2011-03-08 2012-09-19 华为技术有限公司 数据传输的方法、装置和系统
CN102790878A (zh) * 2011-12-07 2012-11-21 北京邮电大学 一种视频编码的编码模式选择方法及装置
CN104539954A (zh) * 2014-12-01 2015-04-22 上海交通大学 一种加速hevc编码速度的级联方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935545A (zh) * 2020-08-03 2020-11-13 腾讯音乐娱乐科技(深圳)有限公司 转码视频数据的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108012154B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
Guarda et al. Adaptive deep learning-based point cloud geometry coding
CN107483920B (zh) 一种基于多层级质量因子的全景视频评估方法及系统
CN106162167B (zh) 基于学习的高效视频编码方法
CN106296669B (zh) 一种图像质量评价方法和装置
CN101771868B (zh) 对图像的量化处理方法及装置
CN102845060B (zh) 用于视频的数据压缩
Zadtootaghaj et al. A classification of video games based on game characteristics linked to video coding complexity
CN105744271B (zh) 一种视频编码方法和装置
CN101572806B (zh) 一种基于h.264的i帧码率控制方法
Pitrey et al. Influence of the source content and encoding configuration on the perceived quality for scalable video coding
CN103227923A (zh) 图像解码方法以及图像解码装置
JP2000224582A (ja) 漸進的な三次元メッシュ情報の符号化/復号化方法及びその装置
CN103024387A (zh) 一种基于感知的多视点视频码率控制方法
CN107222748B (zh) 图像数据码率的处理方法和装置
CN112995715B (zh) 视频插帧处理方法、装置、电子设备及存储介质
Guarda et al. Deep learning-based point cloud coding: A behavior and performance study
CN109983470A (zh) 具有无效区域的vr图像的视频编解码方法和装置
CN106791850A (zh) 视频编码方法及装置
CN107820095A (zh) 一种长期参考图像选择方法及装置
CN105898308A (zh) 变分辨率的编码模式预测方法及装置
US8391356B1 (en) Scalable video coding priority marking
CN108012154A (zh) 一种视频编码方法及装置
CN107948649A (zh) 一种基于主观质量模型的视频编码方法及装置
CN114866772A (zh) 一种编码方法、编码装置及电子设备
CN110381312A (zh) 一种基于hevc的预测深度划分范围的方法和装置

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