CN116980604A - 视频编码方法、视频解码方法及相关设备 - Google Patents

视频编码方法、视频解码方法及相关设备 Download PDF

Info

Publication number
CN116980604A
CN116980604A CN202310030279.7A CN202310030279A CN116980604A CN 116980604 A CN116980604 A CN 116980604A CN 202310030279 A CN202310030279 A CN 202310030279A CN 116980604 A CN116980604 A CN 116980604A
Authority
CN
China
Prior art keywords
coding
coding unit
current
region
salient region
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.)
Pending
Application number
CN202310030279.7A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310030279.7A priority Critical patent/CN116980604A/zh
Publication of CN116980604A publication Critical patent/CN116980604A/zh
Pending legal-status Critical Current

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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了一种视频编码方法、视频解码方法及相关设备,其中,视频编码方法包括:确定视频的当前帧中的显著区域,显著区域是指当前帧中被关注的区域;根据当前帧中的当前编码单元与显著区域之间的位置关系,位置关系用于指示当前编码单元的关注信息;确定当前编码单元的编码调整策略;按照所确定的编码调整策略调整当前编码单元的编码参数;基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流;其中,当前帧中位于显著区域之内的编码单元经编码处理得到的编码质量优于位于显著区域之外的编码单元经编码处理得到的编码质量。通过本申请实施例,可提升视频的编解码质量,优化视频播放效果。

Description

视频编码方法、视频解码方法及相关设备
技术领域
本申请涉及视频编解码技术领域,尤其涉及一种视频编码方法、一种视频解码方法、一种视频编码装置、一种视频解码装置、一种计算机可读存储介质及一种计算机程序产品。
背景技术
随着互联网时代的发展,在各种互联网场景下产生了海量的视频,例如直播场景下(如带货直播、游戏直播、秀场直播等)的直播视频、内容交互场景下不同对象在内容平台发布的视频作品等等。对于互联网中的各种视频,通常需要在发送端进行编码压缩,形成码流并通过网络传输给接收端,接收端对接收到的码流进行成功解码之后,得以播放视频。目前,在视频编解码过程中,通常采用固定的编码参数进行编解码,经实践表明,目前的方式下视频的编解码质量不佳,从而影响视频的播放效果。
发明内容
本申请实施例提供一种视频编码方法、一种视频解码方法及相关设备,能够提升视频的编解码质量。
一方面,本申请实施例提供了一种视频编码方法,包括:
确定视频的当前帧中的显著区域,显著区域是指当前帧中被关注的区域;显著区域包括当前帧中的一个或多个编码单元;
根据当前帧中的当前编码单元与显著区域之间的位置关系,确定当前编码单元的编码调整策略;位置关系用于指示当前编码单元的关注信息;
按照所确定的编码调整策略调整当前编码单元的编码参数;
基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流;其中,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量。
另一方面,本申请实施例提供了一种视频解码方法,包括:
接收视频的码流,码流包括视频的当前帧中的当前编码单元的编码调整策略的指示;编码调整策略是基于当前编码单元与当前帧中的显著区域之间的位置关系确定的,位置关系用于指示当前编码单元的关注信息;显著区域是指当前帧中被关注的区域,且显著区域包括当前帧中的一个或多个编码单元;当前帧中位于显著区域之内的编码单元经编码处理得到的编码质量优于位于显著区域之外的编码单元经编码处理得到的编码质量;
解析视频的码流,得到编码调整策略的指示;
按照编码调整策略的指示调整当前编码单元的编码参数;
基于调整后的编码参数对当前编码单元进行解码处理。
一方面,本申请实施例提供了一种视频编码装置,包括:
确定模块,用于确定视频的当前帧中的显著区域,显著区域是指当前帧中被关注的区域;显著区域包括当前帧中的一个或多个编码单元;
确定模块,还用于根据当前帧中的当前编码单元与显著区域之间的位置关系,确定当前编码单元的编码调整策略;位置关系用于指示当前编码单元的关注信息;
调整模块,用于按照所确定的编码调整策略调整当前编码单元的编码参数;
编码模块,用于基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流;其中,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量。
另一方面,本申请实施例提供了一种视频解码装置,包括:
收发模块,用于接收视频的码流,码流包括视频的当前帧中的当前编码单元的编码调整策略的指示;编码调整策略是基于当前编码单元与当前帧中的显著区域之间的位置关系确定的,位置关系用于指示当前编码单元的关注信息;显著区域是指当前帧中被关注的区域,且显著区域包括当前帧中的一个或多个编码单元,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量;
解析模块,用于解析视频的码流,得到编码调整策略的指示;
调整模块,用于按照编码调整策略的指示调整当前编码单元的编码参数;
解码模块,用于基于调整后的编码参数对当前编码单元进行解码处理。
相应地,本申请实施例提供了一种计算机设备,包括:
处理器,适用于执行计算机程序;
计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,执行本申请实施例的视频编码方法或视频解码方法。
相应地,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,执行本申请实施例的视频编码方法或视频解码方法。
相应地,本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现本申请实施例的视频编码方法或视频解码方法。
在本申请实施例的视频编码过程中,可确定视频的当前帧中的显著区域,该显著区域是指当前帧中被关注的区域,且该显著区域可以包括当前帧中的一个或多个编码单元;根据当前帧中的当前编码单元和显著区域之间的位置关系,确定出当前编码单元的编码调整策略;此处的位置关系用于指示当前编码单元的关注信息。按照该编码调整策略对当前编码单元的编码参数进行调整,并基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流。经过上述的视频编码处理后,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量;由上述的视频编码过程可知,由于当前编码单元的编码调整策略是按照位置关系所指示的当前编码单元的关注信息来确定的,因此该编码调整策略能够较为准确地适配当前编码单元的关注特性,这使得视频编码过程能够与视觉系统的特性相适配;此外,基于该编码调整策略对当前编码单元的编码参数进行动态调整,这使得视频编码过程不再局限于固定的编码参数,而是针对显著区域内和显著区域外的编码单元有区别性地给予不同的编码质量,提高视频的主观感受质量,从而提升视频的播放效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的一种视频编解码系统的架构图;
图2是本申请一个示例性实施例提供的一种视频编码方法的流程示意图;
图3a是本申请一个示例性实施例提供的一种当前编码单元和当前帧的关系示意图;
图3b是本申请一个示例性实施例提供的一种显著区域和编码单元之间的位置关系的示意图;
图3c是本申请一个示例性实施例提供的一种对当前帧中当前编码单元的坐标表示的示意图;
图3d是本申请一个示例性实施例提供的一种当前编码单元与显著区域中的参考位置之间的相对距离的示意图;
图4是本申请一个示例性实施例提供的另一种视频编码方法的流程示意图;
图5a是本申请一个示例性实施例提供的一种提取时域显著性图的流程图;
图5b是本申请一个示例性实施例提供的一种时域显著性图的生成示意图;
图6a是本申请一个示例性实施例提供的一种局部图像区域的示意图;
图6b是本申请一个示例性实施例提供的一种关联图像块与当前处理的图像块之间的关系示意图;
图6c是本申请一个示例性实施例提供的一种提取空域显著性图的流程图;
图7a是本申请一个示例性实施例提供的又一种视频编码方法的流程图;
图7b是本申请一个示例性实施例提供的一种编码效果对比图;
图7c是本申请一个示例性实施例提供的一种视频帧的前景质量对比图;
图8是本申请一个示例性实施例提供的一种视频解码方法的流程示意图;
图9a是本申请一个示例性实施例提供的一种视频编码装置的结构示意图;
图9b是本申请一个示例性实施例提供的一种视频解码装置的结构示意图;
图10是本申请一个示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上。“至少两个”的含义是指两个或两个以上。
下面对本申请实施例所涉及到的技术术语进行相关阐述。
一、视觉系统的特性
视觉系统可以指人类视觉系统(Human Visual System,HVS)。基于视觉系统的特性可使注意力集中在图像的某个区域。视觉系统的特性可包括但不限于:亮度特性、颜色特性和图像类型特性。亮度特性体现了人眼对于亮度变化的敏感性;一般地,亮度越高,人眼对其越敏感;即图像中高亮度的区域更容易引起注意。颜色特性体现了人眼对于颜色饱和度的敏感性;通常,人眼对于颜色饱和度较高的区域的敏感性较高;即图像中颜色饱和度越高的区域越容易引起注意。图像类型特性体现人眼对于图像纹理的敏感性,一般地,纹理平坦的区域相比于纹理复杂的区域,人眼对其更加敏感;即纹理越平坦的区域更容易引起注意。此外,图像类型特性还体现在人眼对于图像的前景和背景的敏感性,一般地,相比于图像背景,人眼对图像前景会更加敏感;即图像前景更容易引起注意。
二、视频
视频泛指将一系列静态图像以电信号的方式加以捕捉、记录、处理、储存、传送与重现的各种技术。本申请实施例涉及的视频,可以包括直播视频,例如秀场直播(一种关于唱歌、跳舞等文艺活动的直播)视频、游戏直播视频、电商直播视频、教育直播视频、演唱会直播视频等等。或者可以包括预先制作好的视频,例如各种视频播放平台中的视频。或者可以包括流式视频,例如电视TS流视频,各种短视频平台中的短视频(即短片视频,是一种互联网内容传播方式);等等。
视频中包含至少一个视频帧(简称为帧;又称为帧图像),该至少一个视频帧按序排列形成视频,换句话说,视频是由至少一个视频帧按序排列形成的帧序列(或称图像序列)。视频在传输之前通常需要进行编码,本申请实施例的视频编码遵循各种编码协议,例如H.264、H.265、H.266等编码协议。在视频的编码过程中,一个视频帧通常需要被划分成更小的单位来进行编码处理,该单位称为编码单元。在基于H.264编码协议的编码过程中,编码单元为宏块。在基于其他编码协议(例如H.265)的编码过程中,编码单元可以是编码树单元CTU、CU等等。
三、编码参数
编码参数是指视频编码所需的相关参数,通过编码参数可对视频编码的速度、质量等进行约束,从而使得编码得到的码流能够满足相应的业务场景需求。编码参数可包括但不限于:码率、量化参数、比特数等。其中,量化参数(Quantizer Parameter,QP)可反映对图像压缩细节。码率又称为比特率(BitRate),是指单位之间内传输的比特数,例如每秒传输的比特(bit)数。不同类型的编码参数之间是相互影响的,例如一个视频帧的码率越大,单位时间内传输的比特数越多,所需的量化参数越小。一般情况下,编码单元的编码参数可以由编码器确定。
按照与编码质量之间的关系,本申请实施例中的编码参数可包括第一编码参数和/或第二编码参数,该第一编码参数与编码质量呈负相关关系;该第一编码参数例如可以是量化参数;该第二编码参数与编码质量呈正相关关系。所谓负相关关系是指:第一编码参数越大,则编码质量越劣;第一编码参数越小,则编码质量越优。所述正相关关系是指:第二编码参数越大,则编码质量越优;第二编码参数越小,则编码质量越劣。示意性的,第一编码参数可以是量化参数(QP)。第二编码参数可以是比特数或码率。对于比特数或者码率来说,编码器可预先为每个编码单元随机分配相同的比特数或码率,例如在帧级码率一定的情况下,为编码单元分配的比特数可以是平均比特数。
本申请后续实施例中主要以基于H.264编码协议的编解码过程为例进行阐述。需说明的是,本申请后续实施例中涉及视频的当前帧,当前帧是指视频中正在被处理的一个视频帧,也可称为当前帧图像、当前视频帧等;例如在视频编码过程中,当前帧是指视频中正在被编码的视频帧;在视频解码过程中,当前帧是指视频中正在被解码的视频帧。此外还涉及当前帧中的当前编码单元,是指当前帧中正在被处理的一个编码单元;例如在视频编码过程中,当前帧中的当前编码单元是指当前帧中正在被编码的编码单元;在视频解码过程中,当前帧中的当前编码单元是指当前帧中正在被解码的编码单元。
本申请实施例提出了一种视频编解码方案,该方案包括依据视觉系统的特性来对编码单元的编码参数进行动态调整,这使得视频的编码过程不再局限于固定的编码参数,而是针对显著区域(如基于视觉系统的特性而受关注的区域)内的编码单元和显著区域外的编码单元有区别性地给予不同的编码质量,从而使得视频的编码过程能够与视觉系统的特性相适配,提高视频的主观感受质量,从而提升视频的播放效果。
下面对本申请实施例提供的视频编解码系统的架构进行介绍。
请参见图1,图1是本申请一个示例性实施例提供的一种视频编解码系统的架构图。如图1所示,该视频编解码系统包括至少两个终端设备(如图示意的终端设备101a和终端设备101b)和服务器102;终端设备可以和服务器102之间通过有线或无线的方式建立通信连接。
其中,终端设备包括但不限于:智能手机、平板电脑、智能可穿戴设备、智能语音交互设备、智能家电、个人电脑、车载终端、智能摄像头等等设备,本申请对此不作限制。对于终端设备的数量,本申请不做限制。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。对于服务器的数量,本申请不做限制。
任一终端设备(例如终端设备101a)可作为编码侧,编码侧所执行的视频编码处理流程大致包括:
①在各种场景中采集视频,该视频包括各种直播对应的直播视频,或者包括发布在内容交互应用程序中的各种视频作品,如短视频(即视频时长在时长阈值内的视频,如15秒之内的视频、1分钟之内的视频)等等。②对任一视频进行编码实现对视频的压缩,进而通过网络传输压缩后的视频。在视频编码过程中,可以对一帧中不同图像区域(例如被关注的图像区域或不被关注的图像区域)所需的比特数进行合理且灵活的分配,以提升视频的整体编码质量。示意性的,终端设备101a可先确定视频的当前帧中的显著区域(即当前帧中被关注的区域);然后,基于显著区域与当前帧中的当前编码单元之间的位置关系,确定出当前编码单元的编码调整策略,继而按照该编码调整策略调整当前编码单元的编码参数,并依据调整后的编码参数对当前编码单元进行编码处理,得到视频的码流。该视频的码流中包括关于当前编码单元的编码调整策略的指示。
任一终端设备(例如终端设备101b)可作为解码侧,解码侧所执行的视频解码处理流程大致包括:
①接收编码侧传输的视频的码流并解析,得到视频的当前帧中的当前编码单元的编码调整策略的指示。②依据编码调整策略的指示对当前编码单元的编码参数进行调整,此处的调整与编码侧的调整相对应,以保证当前编码单元能够被正确重建。③基于调整后的编码参数对当前编码单元进行解码处理,得到视频并进行播放。
服务器102可用于接收作为编码侧的终端设备(例如终端设备101a)发送的视频的码流,并可提供存储服务来存储该视频的码流。示意性的,若该视频要求实时性,服务器可将接收到的码流通过网络实时地发送给作为解码侧的其他终端设备(例如终端设备101b);若该视频并不要求实时性,则可在其他终端设备请求获取该视频时再发送码流。
本申请实施例提供的视频编解码系统以及视频编码方法可应用于多种互联网场景,包括但不限于直播场景、其他视频播放场景等等,其中,直播场景诸如是:秀场直播(一种关于唱歌、跳舞等文艺活动的直播)、游戏直播、带货直播、教育直播、演唱会直播等等,其他视频播放场景例如是通过应用程序观看视频等。在上述场景下,通过本申请实施例的视频编码方案可使得经编码处理后的视频帧中位于显著区域内的编码单元的编码质量优于其他区域(如非显著区域)中的编码单元的编码质量,实现对特定区域(如显著区域)的编码质量的提升。尤其是在码率受限的场景下(例如直播场景要求低码率),采用本申请实施例的视频编码方案可使得显著区域(被关注的区域)能够获得更高的码率,实现对码率的灵活控制以及合理分配,且本申请提供的视频编码方法计算复杂度较低,能够较好地满足直播场景下低时延的需求,还能够提高视频的整体编码质量。此外,本申请实施例能够实现对编码参数的动态调整,不再局限于固定的编码参数,能够应用在各种视频的处理中,具备较好的通用性。
本申请实施例涉及云技术,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。云计算(cloudcomputing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(GridComputing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。本申请实施例中对视频中各帧的编码处理可基于云计算实现,例如针对采集到的海量视频,可采用本申请提供的技术方案进行并行压缩并存储至云端。
此外,本申请实施例中还涉及人工智能技术下的计算机视觉技术,其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。本申请实施例中,对视频的每个视频帧中的显著区域进行提取的技术内容,涉及图像处理、图像识别、图像语义理解等方面的计算机视觉技术。
本申请实施例中编码参数可以是量化参数、比特数或码率中的任一种,采用本申请实施例提供的视频编码方案可实现依据的视觉系统的特性进行编码单元级的码率控制,符合视觉系统的特性,且可提升视频主观感受质量。对于一些视频,根据纹理复杂度高低可能并不能准确地判断出一帧图像中所需关注的区域,例如纹理复杂度较高的图像前景可作为被关注的区域,而本申请依据视觉系统的特性,则能够较为准确地判断出一帧图像中视觉所需关注的显著区域(例如视频前景),再基于编码参数的调整给其分配更多的比特数,给其他区域(例如视频背景)分配更少的比特数,提升关注的显著区域的编码质量,从而提升视频的播放效果。
接下来对本申请实施例提供的视频编码方法进行介绍。
请参见图2,是本申请一个示例性实施例提供的一种视频编码方法的流程示意图。该视频编码方法可以由计算机设备(例如图1中终端设备101a)来执行,该视频编码方法可以包括以下内容。
S201,确定视频的当前帧中的显著区域。
显著区域是指当前帧中被关注的区域。在一个实施例中,所谓被关注的区域是指基于视觉系统的特性而使得注意力集中的区域。基于视觉系统的不同特性,当前帧中受关注的区域也是不同的。例如:基于视觉系统的亮度特性,当前帧中较高亮度(例如亮度值大于亮度阈值)的区域是被关注的区域。再如:基于视觉系统的图像类型特性,当前帧中纹理复杂度相对较高的前景区域是被关注的区域。再如:基于视觉系统的特性,当前帧中静态区域的变化相对于动态区域的变化更容易引起注意,因此静态区域是被关注的区域。
在一种实施方式中,可基于视觉系统的特性将当前帧中被关注的区域提取出来,示意性的,基于视觉系统的不同特性,提取到的当前帧中被关注的区域可以包括但不限于:静态区域、前景区域等,该被关注的区域作为显著区域。需理解的是,对于当前处理的视频中的每一个视频帧,均可基于视觉系统的特性提取得到显著区域,作为一种实现,各个视频帧可以基于视觉系统的相同特性提取显著区域,例如:各个视频帧均可基于视觉系统的亮度特性提取显著区域。作为另一种实现,各个视频帧可以分别基于视觉系统的不同特性提取显著区域,例如:视频帧1基于视觉系统的亮度特性提取显著区域,视频帧2基于视觉系统的图像类型特性提取显著区域。
S202,根据当前帧中的当前编码单元与显著区域之间的位置关系,确定当前编码单元的编码调整策略。
在不同视频编解码标准下编码单元是不同的,举例来说:在H.264中,编码单元被称为宏块,其尺寸大小为16×16;而在HEVC中,编码单元可以是树形编码单元CTU(CodeTree Unit),CTU的尺寸可由编码器指定,可大于宏块尺寸;在HEVC中,编码单元也可以是基于CTU划分的CU(Code Unit),CU的尺寸可大于H.264中的宏块的尺寸,也可小于H.264中的宏块的尺寸;HEVC中一个视频帧所包含的编码单元的尺寸可以是不同的,且HEVC中依据编码单元所构成的编码结构可综合不同的图片内容、图片大小、应用需求等方面进行较大程度的优化。当前编码单元可以是宏块、CTU或者CU。本申请实施例以宏块为例进行阐述。对于当前编码单元和当前帧的关系可参见图3a,视频中包括N个视频帧,当前帧可以是视频中的任一个视频帧;示意性的,图3a示出的当前帧是视频中的视频帧1,即第一个视频帧;当前编码单元可以是当前帧中的任一个编码单元,示意性的,图3a示出的当前编码单元是当前帧中的第一个编码单元,且编码单元的大小为4×4。
当前编码单元的编码调整策略用于对当前编码单元的编码参数进行调整,如前述,编码参数通常是由编码器确定的,则本申请实施例的当前编码单元的编码调整策略用于对编码器确定出的当前编码单元的编码参数进行调整。显著区域和编码单元是对当前帧不同维度的描述内容,显著区域包括当前帧中的一个或多个编码单元;请参见图3b,显著区域的范围是由该显著区域所包含的一个或多个编码单元对应的图像区域共同确定的,对应当前帧中的部分区域(例如图3b中人物所在的区域)。显著区域可以是不规则的图像区域,也可以是规则的图像区域。依据显著区域的范围,可以确定当前编码单元与显著区域之间的位置关系,该位置关系可用于指示当前编码单元的关注信息。
在本申请的一个可行的实施例中,当前编码单元与显著区域之间的位置关系包括当前编码单元与显著区域之间的相对位置,该相对位置包括:当前编码单元位于显著区域之内,或者当前编码单元位于显著区域之外。示例性地,请参见图3b,显著区域是人物在当前帧中所占的区域,该显著区域包括多个编码单元;当前编码单元为该视频帧的第一个编码单元,位于显著区域之外,那么当前编码单元和显著区域之间的位置关系则用于指示当前编码单元位于显著区域之外。在本可行的实施例中,当前编码单元的关注信息包括是否被关注;也就是说,相对位置可用于指示当前编码单元是否被关注;如果当前编码单元位于显著区域内,则该当前编码单元被关注,即当前编码单元对应的图像区域是被关注的区域;如果当前编码单元位于显著区域之外,则该当前编码单元未被关注,即当前编码单元对应的图像区域是未被关注的区域。
其中,相对位置的确定方法包括以下(1)-(3)中的任一种:
(1)将当前编码单元的显著性值与显著区域的显著性范围进行比较,若当前编码单元的显著性值位于显著区域的显著性范围内,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外。
显著区域的显著性范围可以是一个预设数值区间,该预设数值区间包括最大值和最小值。示意性的,当前编码单元的显著性值和显著区域的显著性范围进行比较可以是:当前编码单元的显著性值和显著区域的显著性范围中的最小值之间的比较。该最小值可视为一个显著性阈值,可根据经验进行指定或者基于视频特性进行指定,例如画面简单的场景,对静态区域的失真可能会比较敏感,显著性阈值可以设置为0.5。相应的,当前编码单元位于显著区域之内是指当前编码单元的显著性值大于或等于显著区域的显著性范围中的最小值,且小于或等于该显著性范围中的最大值。当前编码单元位于显著性范围之外是指当前编码单元的显著性值大于显著区域的显著性范围的最大值,或者小于显著区域的显著性范围的最小值。举例来说,显著区域的显著性范围为[0.5,1],当前编码单元的显著性值为0.2,当前编码单元的显著性值小于该显著性范围的最小值(0.5),那么可认为当前编码单元位于显著区域之外。
(2)将当前编码单元对应的像素值集合与显著区域对应的像素值集合进行比较,若当前编码单元对应的像素值集合属于显著区域对应的像素值集合的子集,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外。
每个编码单元是由多个像素点构成的,例如编码单元的尺寸大小为16×16,该编码单元包括256个像素点,且每个像素点具备像素值。因此,当前编码单元对应的像素值集合是指当前编码单元对应的图像区域内各个像素点的像素值的集合。显著区域包括一个或多个编码单元,那么显著区域对应的像素值集合是指显著区域包括的所有编码单元对应的图像区域中各个像素点对应的像素值的集合。
基于显著区域与编码单元之间的关系,显著区域对应的像素值集合中包含的像素值的数量大于或等于当前编码单元对应的像素值集合中包含的像素值的数量,两个像素值集合之间可能是包含关系或者是完全独立而互不相关的。当前编码单元对应的像素值集合和显著区域对应的像素值集合之间的比较是对包含关系的确认,即确认显著区域对应的像素值集合是否包含当前编码单元的像素值集合。
若当前编码单元对应的像素值集合属于显著区域对应的像素值集合的子集,表明显著区域对应的像素值集合包含当前编码单元对应的像素值集合,当前编码单元对应的像素值集合中所包含的像素值是显著区域对应的像素值集合中所包含的部分或全部像素值,那么,可确定当前编码单元位于显著区域之内。反之,若当前编码单元对应的像素值集合不属于显著区域对应的像素值集合的子集,例如当前编码单元对应的像素值集合与显著区域对应的像素值集合之间相互独立,即两者不存在包含与被包含的关系,那么可认为当前编码单元位于显著区域之外。示意性地,显著区域包括3个编码单元中的各个像素点的像素值的集合,每个编码单元的尺寸为4×4,那么,显著区域对应的像素值集合包括3×4×4=48个像素值,当前编码单元对应的像素值集合包括16个像素值,且这16个像素值在显著区域对应的48个像素值中也存在,那么可认为当前编码单元是显著区域之内的编码单元,即当前编码单元位于显著区域之内。
(3)将当前编码单元在当前帧中的坐标范围与显著区域在当前帧中的坐标范围进行比较,若当前编码单元的坐标范围位于显著区域的坐标范围内,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外。
当前帧中每个编码单元的位置可使用坐标表示,例如可使用笛卡尔直角坐标、平面极坐标系等中的坐标表示编码单元在当前帧中的相对位置。示意性地,请参见图3c所示的对当前帧中当前编码单元的坐标表示的示意图,该坐标为直角坐标,当前帧中的行表示x轴,列表示y轴,当前编码单元的坐标为(1,1),表示位于当前帧中的第一行以及第一列。当前编码单元在当前帧中的坐标范围可通过横坐标和纵坐标表示,显著区域在当前帧中的坐标范围可包括显著区域内的横坐标范围以及纵坐标范围,横坐标范围可由显著区域内的编码单元的最大横坐标和最小横坐标划定,纵坐标范围可由显著区域内的编码单元的最大纵坐标和最小纵坐标划定,通过坐标范围可指示显著区域所包含的各个编码单元的坐标。将当前编码单元的坐标范围和显著区域的坐标范围之间进行比较可确定当前编码单元的坐标是否为显著区域的坐标范围内的坐标,进而确定当前编码单元与显著区域的相对位置。
若当前编码单元的坐标范围位于显著区域的坐标范围内,表明当前编码单元的坐标是显著区域的坐标范围内的坐标,例如当前编码单元的横坐标位于显著区域的横坐标范围内,且当前编码单元的纵坐标也位于显著区域的纵坐标范围之内,当前编码单元是显著区域之内的编码单元,那么,可确定当前编码单元位于显著区域之内。反之,若任一当前编码单元的坐标范围未处于显著区域的坐标范围之内,表明当前编码单元不是显著区域的坐标范围内的坐标,那么当前编码单元是显著区域之外的编码单元,即确定当前编码单元位于显著区域之外。
在本可行的实施例中,位置关系包括当前编码单元与显著区域之间的相对位置;那么根据位置关系确定出的当前编码单元的编码调整策略可包括如下①-④中的任一种:①若当前编码单元位于显著区域之内,且编码参数包括第一编码参数,则当前编码单元的编码调整策略为减小第一编码参数;②若当前编码单元位于显著区域之内,且编码参数包括第二编码参数,则当前编码单元的编码调整策略为增大第二编码参数;③若当前编码单元位于显著区域之外,且编码参数包括第一编码参数,则当前编码单元的编码调整策略为增大第一编码参数;④若当前编码单元位于显著区域之外,且编码参数包括第二编码参数,则当前编码单元的编码调整策略为减小第二编码参数。
可见,当前编码单元位于显著区域之内的情况下,基于编码参数的不同可确定不同的编码调整策略,具体可依据是否处于显著区域之内确定相应编码参数的调整方向(即增大或减小),这也是由不同编码参数与编码质量之间所呈现的相关关系决定的。
在一种可行的实施方式中,对于以上编码调整策略的内容还可进一步基于当前编码单元的显著性值确定编码参数的调整幅度。若当前编码单元在显著区域之内,当前编码单元的显著性值越高,为当前编码单元的编码参数确定的调整幅度越大,例如编码参数包括第一编码参数(如量化参数),当前编码单元的显著性值越高,量化参数的减小幅度可越大,再例如,编码参数包括第二编码参数(如比特数),当前编码单元的显著性值越高,第二编码参数的增大幅度可越大,反之,当前编码单元的显著性值越低,调整幅度可设置得越小。若当前编码单元在显著区域之外,当前编码单元的显著性值越高,为当前编码单元的编码参数确定的调整幅度越小,例如编码参数包括第一编码参数(如量化参数),那么当前编码单元的显著性值越高,第一编码参数的增大幅度可越小,再例如编码参数包括第二编码参数(如比特数),那么当前编码单元的显著性值越高,第二编码参数的减小幅度可越小。这样,对于当前帧来说,在显著区域之内的编码单元的显著性值和调整幅度成正相关关系,在显著区域之外的编码单元的显著性值和调整幅度成负相关关系,基于编码单元的显著性值所表示的受关注度灵活地控制码率,位于显著区域内的编码单元基于调整后的编码参数(例如减小后的量化参数)进行编码,可分配到更多比特数,进而更加清晰地呈现显著区域内的画面内容。
在本申请另一种可行的实施例,当前编码单元与显著区域之间的位置关系还可进一步包括当前编码单元与显著区域中的参考位置之间的相对距离;在此实施方式中,当前编码单元的关注信息还包括对显著区域的显著性的影响度;也就是说,相对距离可用于指示当前编码单元对显著区域的显著性的影响程度。作为一种实现,显著区域的参考位置可以是对显著区域的显著性有明显影响的位置,也可以理解为是显著区域内更容易受到关注的位置,或者可理解为对显著区域所呈现的显著性贡献较大的位置。示意性的,参考位置可包括但不限于以下任一种或多种:显著区域内的中心像素点位置,显著区域内显著性值最大的编码单元的任一像素点位置,显著区域内的像素值最大的像素点位置等等。其中,显著区域内的中心像素点位置是指显著区域所包含的所有像素点中位于显著区域中心位置的像素点所在的位置。显著区域内可包括多个编码单元,显著性值最大的编码单元的任一像素点位置可以是该编码单元中的中心像素点位置,或者是该编码单元中的任一边缘像素点位置,或者是该编码单元中除中心像素点位置和边缘像素点位置之外的其他像素点位置。此外,显著区域内包括多个像素点对应的像素值,可将像素值最大的像素点位置作为参考位置。针对显著区域内的编码单元,越靠近显著区域的参考位置的编码单元越容易受到关注,对显著区域的显著性的影响越大。针对显著区域之外的编码单元,越靠近显著区域的编码单元(即距离显著区域的参考位置越近的编码单元)越容易影响显著区域的显著性。由此可见,相对距离越小(即当前编码单元距离参考位置越近),则当前编码单元对所述显著区域的影响程度越高。
其中,相对距离的确定方法包括以下(4)-(6)中的任一种:
(4)将当前编码单元的显著性值与参考位置的显著性值之间的显著差值,确定为当前编码单元与所述显著区域中的参考位置之间的相对距离。
当前编码单元的显著性值可反映当前编码单元在当前帧中的受关注度,或者说,可表示当前编码单元在当前帧中的显著性。参考位置的显著性值可以为参考位置所属编码单元的显著性值,例如显著区域的中心像素点、显著性值最大的编码单元的任一像素点、显著区域中像素值最大的边缘像素点中任一者所属编码单元的显著性值。当前编码单元的显著性值和参考位置的显著性值之间的显著差值可表示当前帧中不同位置的显著性差异,因此,可将该显著差异确定为相对距离,以表示当前编码单元的显著性对显著区域的显著性的影响度。
(5)将当前编码单元中的目标像素点的像素值与参考位置对应的像素值之间的像素差值,确定为当前编码单元与显著区域中的参考位置之间的相对距离。
对于同一视频帧中相邻像素之间的像素值差别并不大,即同一编码单元内的像素值差异以及相邻编码单元的像素值差异比较小,但相邻较远的不同编码单元可能是不同图像内容,不同编码单元之间的像素值差异是比较大的。因此,基于当前编码单元中的目标像素点的像素值和参考位置对应的像素值之间的像素差值可表示当前编码单元和参考位置之间是否相隔较远,从而将像素差异作为两者之间的相对距离,来表示当前编码单元是否靠近或远离显著区域而对显著区域的显著性存在相应的影响程度。举例来说,当前编码单元中的目标像素点为当前编码单元中的中心像素点(像素值为100),参考位置为显著区域的中心像素点(像素值为255),那么当前编码单元与参考位置的像素差异为155,即相对距离为155。
(6)将当前编码单元中的目标像素点在当前帧中的坐标与参考位置在当前帧中的坐标之间的欧式距离,确定为当前编码单元与显著区域中的参考位置之间的相对距离。
当前编码单元中的目标像素点在当前帧中的坐标以及参考位置在当前帧中的坐标之间的欧式距离(即欧几里得距离),是当前编码单元与参考位置在当前帧中的平面直线距离的度量,将其作为相对距离可表示当前编码单元与显著区域之间距离远近,以反映当前编码单元对显著区域的显著性的影响度。示意性地,请参见图3d所示的相对距离的示意图,当前编码单元的目标像素点在当前帧中的坐标为(x1,y1),参考位置为显著区域内的中心像素点(x2,y2),那么根据欧式距离的计算方式,相对距离
上述(4)-(6)中,当前编码单元中的目标像素点可包括但不限于以下任一种:当前编码单元中的中心像素点,当前编码单元内的任一像素点,当前编码单元的任一边缘像素点,当前编码单元中像素值最大的像素点。当前编码单元由多个像素点构成,每个像素点对应有像素值,像素值最大的像素点可作为目标像素点,任一像素点也可以作为目标像素点,当前编码单元的上边缘、下边缘、左边缘、右边缘中任一边缘的像素点也可作为目标像素点。
在本可行的实施例中,位置关系包括相对位置和相对距离;那么根据位置关系确定出的当前编码单元的编码调整策略进一步包括如下①-④中的任一种:①若当前编码单元位于显著区域之内,且当前编码单元的编码调整策略为减小第一编码参数,则当前编码单元与参考位置之间的相对距离越小,第一编码参数的减小幅度越大;②若当前编码单元位于显著区域之内,且当前编码单元的编码调整策略为增大第二编码参数,则当前编码单元与参考位置之间的相对距离越小,第二编码参数的增大幅度越大;③若当前编码单元位于显著区域之外,且当前编码单元的编码调整策略为增大第一编码参数,则当前编码单元与参考位置之间的相对距离越小,第一编码参数的增大幅度越大;④若当前编码单元位于显著区域之外,且当前编码单元的编码调整策略为减小第二编码参数,则当前编码单元与参考位置之间的相对距离越小,第二编码参数的减小幅度越大。
若当前编码单元位于显著区域之内,那么当前编码单元与参考位置之间的相对距离越小,调整幅度可设置得越大,这样编码参数沿着相应调整方向的调整幅度可越大,包括第一编码参数(量化参数)的减小幅度越大或者第二编码参数(如比特数)的增加幅度越大,从而使得当前编码单元分配到更多的比特数,反之,当前编码单元与参考位置之间的相对距离越大,调整幅度可设置得越小,进而可使得当前编码单元分配到更少的比特数。可见,相对距离与编码参数的调整幅度是呈负相关关系的。
需要说明的是,上述实施例中的参考位置选取的是对显著区域的显著性的影响程度较大的位置,也即对显著区域的显著性存在较大贡献的位置。具体实现中,参考位置也可以为其他情况,例如选取对显著区域的显著性无明显影响或者影响程度较小的位置作为参考位置,例如显著区域的边缘位置(例如处于显著区域边缘的编码单元中的任一像素点位置),本申请并不对此进行限定。在此情况下,由于选取的参考位置与上述实施例中选取的参考位置对显著区域的显著性的影响性刚好相反,那么此情况下的相对距离对编码调整策略的影响与上述实施例中的相对距离对编码调整策略的影响也应当是相反的;例如:参考位置为显著区域的边缘位置,可采用上述任一方式确定出的相对距离作为当前编码单元与该参考位置之间的初始距离,然后将该初始距离其归一化,再用1减去归一化后的初始距离得到最终的相对距离,以使得相对距离与调整幅度之间还是呈负相关关系,即相对距离越大,表示当前编码单元越靠近边缘位置,调整幅度可设置得越小,相对距离越小,表示当前编码单元越远离边缘位置,调整幅度可设置得越大。
另外,若当前编码单元位于显著区域之外,当前编码单元与参考位置之间的相对距离越小,说明越靠近显著区域,调整幅度可设置得越小,从而使得编码参数沿相应调整方向调整得越少,包括第一编码参数(如量化参数)的增大幅度越小或者第二编码参数(如比特数)的减小幅度越小,反之,当前编码单元与参考位置之间的相对距离越大,说明当前编码单元越远离显著区域,那么调整幅度可设置得越大,从而对当前编码单元的编码参数沿相应调整方向调整得越多,包括第一编码参数(如量化参数)的增大幅度越大或者第二编码参数(如比特数)的减小幅度越大。通过当前编码单元是否位于显著区域内确定编码参数的调整方向以及基于当前编码单元与显著区域中的参考位置之间的距离远近来确定编码参数的调整幅度,能够依据编码单元在显著区域内外的显著性分布特点来合理地控制编码单元级别的码率,予以显著区域更好的编码质量以及更佳的视觉体验。
可见,对于编码参数的调整幅度,除了当前编码单元的显著性值可作为一种影响因素,当前编码单元与显著区域中的参考位置之间的相对距离也作为一种影响因素,综合显著性值和相对距离可更加准确地制定调整幅度,从而使得编码调整策略与编码单元的关注信息更加适配。
S203,按照所确定的编码调整策略调整当前编码单元的编码参数。
所确定的编码调整策略是针对当前编码单元的编码参数的调整策略,该编码调整策略与当前编码单元的关注信息(如位于显著区域之内或位于显著区域之外,进一步如对显著区域的显著性的影响程度较高或较低)相适配。该编码调整策略可指示针对当前编码单元的编码参数的调整方向和调整幅度,调整方向例如是增大的方向或者减小的方向,按照该调整方向可增大或减小编码参数,调整幅度是指对编码参数的具体调整数值(可称为偏移值),例如增大10,或者减小2,其中10、2便是调整幅度。按照与当前编码单元所匹配的编码调整策略,对编码参数在调整方向和调整幅度上执行相应的调整,可得到调整后的编码参数,调整后的编码参数是一个新的编码参数,可能是增大后的第一编码参数或者减小后的第二编码的参数,也可能是减小后的第一编码参数或者增大后第二编码参数。根据确定出的编码策略对编码参数(如量化参数、比特数以及码率中的任一者)进行一定的调整,可匹配编码单元的显著性。
S204,基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流。
基于与当前编码单元的特性匹配的编码参数,使用调整后的编码参数对当前编码单元的编码处理,可得到视频的码流,该码流中将包含当前编码单元的编码信息,例如编码调整策略的指示。对当前编码单元的编码参数进行调整,其目的就在于基于调整后的编码参数对当前编码单元进行编码处理后得到的编码质量,能够与当前编码单元的关注信息(表示关注特性)相匹配,例如:显著区域之内的编码单元经编码处理后的编码质量优于显著区域之外的编码单元经编码处理后的编码质量;再如:对显著区域的显著性的影响程度较高的编码单元经编码处理后的编码质量优于对显著区域的显著性的影响程度较低的编码单元经编码处理后的编码质量。以编码参数为量化参数为例,若当前编码单元位于显著区域内,则编码调整策略为减小编码参数,那么基于该减小后的量化参数对当前编码单元进行编码处理,可使得该当前编码单元在编码过程中获得较多的比特数,从而使得码流中该当前编码单元的码率较高,编码质量相对较高。进一步,量化参数的减小幅度与当前编码单元与显著区域内的参考位置之间的相对距离成反比,即若当前编码单元对显著区域的显著性的影响程度更高,其量化参数的减小幅度更大,那么当前编码单元在编码过程中获得比特数更多,从而使得码流中该当前编码单元的码率较高,编码质量相对更高。由此可见,本申请实施例在视频编码处理过程中,既可以依据位置关系中的相对位置对显著区域之内的编码单元和显著区域之外的编码单元区别性的给予不同的编码质量,还可以依据位置关系中的相对距离针对对显著区域的显著性具备不同影响程度的各个编码单元给予不同的编码质量,这使得视频编码处理的过程更为灵活、智能,提升视频的整体编码质量,提升视频的播放效果。
在一个实施例中,编码质量可表示对视频编码处理结果的优劣,对视频中各帧进行编码处理得到的编码质量可通过以下质量指标进行衡量:峰值信噪比(Peak Signal toNoise Ratio,PSNR)、均方误差(Mean Squared Error,MSE)、结构相似性(StructuralSimilarity,SSIM)、BD-rate(两种算法对应的两条率失真曲线的差值的均值)等等,例如结构相似度越大表示失真越小,编码质量越好,均方误差越高表明编码质量越好。
当前帧中包括多个编码单元,任一编码单元在被处理时均可作为当前编码单元,这样,当前帧中各个编码单元均可依据如S202-S204所描述的流程对编码参数进行调整,各个编码单元基于调整后的编码参数进行编码,可使得显著区域内外的编码单元的编码质量存在差异。此外,对于同一视频中的其他任一帧,在被处理时也可作为当前编码帧,因此视频中各帧均可按照如S201-204所描述的内容对编码单元的编码参数进行调整,得到调整后的编码参数,并将调整后的编码参数用于对编码单元的编码处理中。
对于当前帧中所有处于显著区域之内的编码单元和所有处于显著区域之外的编码单元,可基于不同的编码调整策略进行调整,对于同一显著区域之内的编码单元,编码调整策略的具体细节也可基于编码单元的显著性值所反映的受关注度的高低进行更加合理制定。此外,对于当前帧中各个编码单元,还可基于编码单元与显著区域中的参考位置之间的相对距离,对编码调整策略中对编码参数的调整幅度进行指示,综合显著性值和相对距离,或者采用其中的任一种,均可将有限的比特数分配更多给显著区域,从而提升显著区域内编码单元的编码质量,更加突出一帧中受关注的显著区域。
基于一帧中显著区域和其他区域(即显著区域之外的区域)对相应编码参数所执行的编码调整策略的不同,不同区域内的编码单元经编码处理后所具备的编码质量也存在相应的差异。根据上述方案对各个编码单元的编码参数执行相应的编码处理之后,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量。基于此,显著区域整体的编码质量优于显著区域之外的区域的整体编码质量,进而使得显著区域所呈现的清晰度也会优于其他区域所呈现的清晰度。由于显著区域是基于视觉系统的特性提取出来的,一帧中所关注的区域的编码质量提升,可使得视频的整体主观质量得到提升。当应用在码率受限的场景,例如直播等要求低时延场景下,能够较好地平衡直播视频的流畅度和清晰度,增加对特定区域的清晰度,将观众比较关注的区域呈现得更加清晰,从而带来良好的观看体验。
可见,本申请实施例提供的编码方法,可依据视觉系统的特性来对编码单元的编码参数进行动态调整,这使得视频的编码过程不再局限于固定的编码参数,而是针对显著区域内和显著区域外的编码单元有区别性地给予不同的编码质量,从而使得视频的编码过程能够与视觉系统的特性相适配,提高视频的主观感受质量,从而提升视频的播放效果。
请参见图4,是本申请一个示例性实施例提供的一种视频编码方法的流程示意图。该视频编码方法可以由计算机设备(如图1中终端设备)来执行,该视频编码方法可以包括以下内容。
S401,确定视频的当前帧中的显著区域。
在一个实施例中,显著区域采用显著性图表示,对于视频中的任一帧图像可对应提取出相应的显著性图,通过显著性图可表示一帧图像中受关注的区域,或者说,基于显著性图可确定出显著区域。在一种实现方式中,显著性图包括显著性值,基于各个显著性值和显著性阈值之间的大小比较确定一帧中的显著区域,例如前景区域作为显著区域时,该前景区域中的显著性值均大于或等于显著性阈值;再例如,视频中视觉敏感的静态区域作为显著区域,该静态区域中的显著性值均大于或等于显著性阈值。此处,显著性阈值可以根据经验或实际需求进行设定。可以理解的是,一帧图像对应的显著性图可包括一种或多种关注维度提取出来的显著性图,基于不同显著性图可从不同关注维度来表示当前帧中的显著区域,从而更加全面地表示当前帧中被关注的区域,以便于更加准确地确定编码调整策略,实现对编码参数进行更加优异的调整。
本申请中的显著性图可以是像素级别的显著性图,此时显著性图的尺寸和当前帧的尺寸可相同,显著性图也可以是编码单元级别的显著性图,显著性图中的显著性值可以是基于当前帧中的像素值确定的。举例来说,一副尺寸为H×W的图像中可提取出显著性图,且显著性图的尺寸也为H×W,其中H代表图的高度,W代表图的宽度,对于H×W尺寸的显著性图,其中所包含的显著性值可以是,根据H.264编码协议规定的宏块(即编码单元)大小为16×16,在此可将H×W尺寸的显著性图分割成N个互不重叠的16×16大小的区域,每个16×16大小的区域内都通过某种融合方法,将当前区域内的16×16个显著性值映射为1个显著性值(例如取平均),作为宏块的显著性值,此即尺寸为(H/16)×(W/16)的宏块级显著性图。
在一种实施方式中,显著性图包括时域显著性图,时域显著性图用于反映不同帧间的时域显著性,时域显著性是指时域维度的显著性,可通过时域维度上前后两帧或者相邻多帧(如与当前帧相邻的前两帧)之间的变化来表示。时域显著性图可表示当前帧的静态区域,基于视觉系统对静态区域更加敏感的特性,对于两帧之间在时域维度上变化越小,静态区域的可能性越大,显著性也越大,即越容易被关注。确定当前帧中的显著区域包括确定当前帧的时域显著性图,具体可包括以下步骤:①获取关联帧;②计算当前帧和关联帧之间的残差;③根据残差生成当前帧的时域显著性图。
视频中包括多帧,关联帧与当前帧属于视频中的相邻帧,且关联帧的显示顺序先于当前帧的显示顺序。此处的相邻可以是相邻一帧或相邻预设数量帧,例如关联帧是指视频中显示顺序位于当前帧的前一帧,通过分析相邻两帧或多帧之间的残差,可对时域显著性图进行更加准确地提取。基于关联帧和当前帧在显示顺序上的关系,关联帧的编码处理顺序或解码处理顺序也是在当前帧之前。需要说明的是,对于没有关联帧的当前帧,例如视频中的第一帧,那么可通过提取空域显著性图来表示当前帧中被关注的区域。
在获取到关联帧之后,可计算两帧图像(即关联帧和当前帧)之间的残差,此处的残差是指关联帧和当前帧在相同像素点位置的两个像素值之间的差值,例如关联帧中第一个像素点的像素值和当前帧中第二个像素点的像素值之间的差值即可作为残差,此处的残差可用于反映该像素点是否处于静态区域,残差越小(例如越接近于0),说明两帧之间的变化越平缓,那么该像素点所处的区域为静态区域的可能性越大,残差越大,说明两帧之间的变化剧烈,那么该像素点所处的区域为静态区域的可能性越大。基于各个残差可构建残差图(或可理解为残差矩阵),该残差图可直接作为时域显著性图,或者经过相应的处理后作为时域显著性图。在一种实现方式中,为减小计算量,提升处理效率,可对计算出的残差进行归一化处理,将残差图中包括的各个残差映射到0-1范围之内,得到归一化后的残差图,并将归一化后的残差图处理之后直接作为时域显著性图,假设归一化后的残差图为残差矩阵K,那么此处的处理是指1-K,表示一个新的残差矩阵,从而可将其直接作为时域显著性图,残差矩阵中包括归一化后的残差值ki(i取值1至m,其中m=H×W),时域显著性图中包括的显著性值则为(1-ki),显著性值越大,受关注度则越大。在另一种实现方式中,编码单元可覆盖一帧中的多个图像块,每个图像块可视为一个像素点,且存在相应的像素值进行表示,为了更好地评估编码单元和显著区域之间的位置关系,可生成编码单元级别的显著性图,具体可在计算出残差,得到残差图之后,进一步计算编码单元范围内的残差均值,或者是在得到归一化的残差图之后,基于归一化后的残差图计算编码单元范围内的残差均值,根据计算得到的残差均值可确定最终的时域显著性值,进而得到编码单元级别的时域显著性图。举例来说,编码单元为宏块,那么便可得到宏块级别的时域显著性图,由于宏块的尺寸大小为16×16,因此,宏块范围内的残差均值即为256个残差的平均值。对于以上内容,具体可参见图5a所示的提取时域显著性图的流程图,为进一步便于理解,还可参见图5b所示的时域显著图的生成示意图。
通过时域显著性图的提取,可将当前帧中的静态区域和动态区域区分出来,例如大于显著性阈值的显著性值所构成的区域为显著区域,该显著区域为静态区域。由于静态区域的质量损失相对于动态区域来说更为敏感,因此可通过时域显著性图确定出静态区域,并将该静态区域作为显著区域,再采用相应编码调整策略可调整编码参数,例如调整量化参数QP(可反映对图像的压缩细节),进而为当前帧的显著区域分配更多比特数,使当前帧的显著区域获得更高的编码质量。
在另一种实施方式中,显著性图包括空域显著性图,空域显著性图可用于反映当前帧内的空域显著性,此处的空域显著性是指像素域的显著性,对于显著性的大小可通过空域显著性图中包括的空域显著性值指示,在空域显著性图中,显著性值越大,则表明显著性越大,即更容易被关注,通过空域显著性图可反映当前帧中受关注的区域。由此,基于空域显著性图也可确定出观看当前帧时主要关注的区域,例如视频前景区域,进而可将其作为显著区域。
确定当前帧中的显著区域具体是指确定当前帧的空域显著性图,可包括以下内容:从全局维度对当前帧进行显著性分析,得到当前帧的全局空域显著性图;以及,从局部维度对当前帧进行显著性分析,得到当前帧的局部空域显著性图;对全局空域显著性图和局部空域显著性图进行融合,得到当前帧的空域显著性图。
具体地,全局维度和局部维度是相对的,全局维度的显著性分析是基于当前帧对应的各个像素值实现的,而局部维度的显著性分析可通过将当前帧拆分为多个较小尺寸的区域实现。对当前帧进行全局维度的显著性分析,得到的显著性图可称为全局空域显著性图,全局空域显著性图可用于从全局角度表示当前帧中的显著区域,对当前帧进行局部角度的显著性分析,得到的显著性图被称为局部显著性图,局部显著性图可用于从局部角度表示当前帧中的显著区域。
全局空域显著性图和局部空域显著性图是尺寸相同的显著性图,而这两个显著性图中包括的显著性值是基于不同角度采用不同分析方式确定出的。将全局空域显著性图和局部空域显著性融合具体可以是将两个显著性图中相同位置的相应显著性值进行加权求和,得到融合显著性值,可直接将其作为构建最终的空域显著性图所需的空域显著性值。进一步地,全局空域显著性图和局部空域显著性图是像素级别的显著性图,为便于后续对各个编码单元的处理,可将全局空域显著性图和局部空域显著性图融合后,再将融合的显著性图在编码单元范围内的各个融合显著性值求取均值。例如,在宏块的尺寸16×16范围内的融合显著性值求平均,即将256个融合显著性值映射为一个显著性值,而平均得到的显著性值便可视为对应宏块在空域显著性图中对应的显著性值。在另一实施方式中,也可先将全局空域显著性图和局部空域显著性图按照类似的方式变换为编码单元级别的显著性图,然后再编码单元级别的全局空域显著性图和编码单元级别的局部空域显著性图进行融合,得到空域显著性图。
通过从全局维度和局部维度进行显著性分析,并将不同维度的显著性分析得到的显著性图进行融合,能够综合全局维度对当前帧整体结构的把握以及局部维度对当前帧中细节内容的把握,从而实现全局维度和局部维度的显著性分析的互补,提升对当前帧中在空域维度的显著区域的提取准确度,通过融合最终得到的空域显著性图也能够更加准确地表示当前帧中受关注的区域,从而实现对显著区域的准确确定。
在一种实现方式中,从全局维度对当前帧进行显著性分析,得到当前帧的全局空域显著性图,包括:对当前帧进行降采样处理,得到降采样后的当前帧;对降采样后的当前帧进行区域识别处理,得到当前帧的图像矩阵;图像矩阵用于反映当前帧中的不同图像区域;基于图像矩阵构建全局空域显著性图。
此处的降采样可以是按照当前帧对应移动窗口的大小,对该移动窗口内的像素值求平均实现,降采样后的当前帧可称为采样帧,采样帧的尺寸大小相比于当前帧得到减小,采样帧中包括的像素值为当前帧对应的像素均值。举例来说,若当前帧尺寸为M×N,移动窗口大小为S×S,那么对其进行S倍下采样,可得到(M/S)×(N/S)尺寸的采样帧。通过对当前帧进行降采样处理,可缩小当前帧的尺寸,减小对一帧的数据处理量,进而提升处理速度。之后,可对采样帧进行区域识别处理,识别出采样帧中各个图像区域,不同的图像区域中所反映的图像信息(例如纹理复杂度、颜色饱和度、亮度等)不同,此处的区域识别处理可包括以下处理内容:先对降采样后的当前帧进行变换处理,例如进行离散余弦变换DCT处理,得到系数矩阵,通过将空域信号转换到频域中进行表示,可较好地反映一帧图像中关键的位置信息;然后再利用符号函数对变换得到的系数矩阵进行处理,得到处理后的系数矩阵;接着再对处理后的系数矩阵进行反变换处理,例如进行离散余弦反变换iDCT,得到用于表示当前帧中的不同图像区域的图像矩阵。得到当前帧的图像矩阵之后,便可基于图像矩阵构建全局空域显著性图。
由于图像矩阵所表示的不同图像区域受关注度可能不同,对于一些图像区域(例如纹理复杂度较高,或者颜色饱和度更高,或者亮度更高的区域)可能容易被关注到,而另外一些图像区域(例如纹理复杂度较低,或者颜色饱和度较低,或者亮度较低的区域)则不容易被注意到,但图像矩阵是初步处理得到的,不同区域之间的差别可能不够明显,因此,还可以对图像矩阵执行进一步的处理,以使得最终得到的空域显著性图能够较为准确地表示显著区域。基于图像矩阵构建全局空域显著性图,包括:对图像矩阵进行区域增强处理,得到增强图像矩阵;对增强图像矩阵进行上采样处理,得到目标图像矩阵;基于目标图像矩阵得到全局空域显著性图。
此处的区域增强处理包括对图像矩阵所指示的当前帧中被关注的可能性较高的图像区域进行增强处理,而对于被关注的可能性较低的图像区域进行弱化的处理。在一种实施方式中,区域增强处理具体可以包括:对图像矩阵进行哈达玛积计算,具体是计算图像矩阵自身的哈达玛积,即使用两个相同的图像矩阵进行逐项相乘,得到第一图像矩阵,之后,可进一步对第一图像矩阵进行高斯模糊处理,具体可应用高斯核函数进行模糊处理,从而更加突出容易被关注到的区域,淡化其他不容易被关注到的区域,例如可淡出图像背景而突出图像前景,高斯模糊处理后的第一图像矩阵即可作为增强图像矩阵。由此,通过区域增强处理,可使得受关注度较高的区域更加明显,而弱化受关注度较低的区域。
由于上述处理均是在降采样的基础上进行的,增强图像矩阵的尺寸也是小于当前帧的尺寸,为便于后续处理,可利用上采样处理将增强图像矩阵采样到合适的尺寸,例如采样到与当前帧的尺寸相同。采样得到的目标图像矩阵即是上采样后的增强图像矩阵,该目标图像矩阵的尺寸大于增强图像矩阵的尺寸。基于得到的目标图像矩阵便可确定全局空域显著性图,在一种实施方式中,可直接将目标图像矩阵作为全局空域显著性图。在另一种实施方式中,为了进一步减小计算量,提升处理效率,可对目标图像矩阵进行归一化处理,得到归一化后的第一图像矩阵,并将该归一化后的第一图像矩阵作为全局空域显著性图,该全局空域显著性图中包括的全局空域显著性值是归一化之后的数值,限定在0到1的数值范围内,从而节省计算所需的资源。
在一种实现方式中,从局部维度对当前帧进行显著性分析,得到当前帧的局部空域显著性图,包括:对当前帧进行区域划分处理,得到多个局部图像区域;每个局部图像区域包括多个图像块;确定各个图像块在所属局部图像区域中的图像差异信息;根据各个图像块对应的图像差异信息生成局部空域显著性图。
可按照预设区域尺寸对当前帧进行区域划分处理,该预设区域尺寸小于编码单元的尺寸,例如可按照4×4的大小对当前帧进行划分,得到多个局部图像区域。对于可均分的当前帧,每个局部图像区域的尺寸大小均是相同的,本申请中每个局部图像区域包括的图像块可视为当前帧中的像素点,编码单元也包括多个图像块,即多个像素点,由于局部划分的处理,划分得到的局部图像区域中包含的图像块的数量是小于编码单元所包含的图像块的数量的。例如在宏块中尺寸为16×16,其包括的图像块的数量即为256,局部图像区域为4×4大小,包括的图像块的数量为16。通过区域划分处理,既可区别全局维度的显著性分析,也有利于局部信息的提取。
每个图像块在当前帧中对应有一个数值表示。该数值可以是空间域的像素值,也可以是频域的其他信息。对于任一图像块,均可在其所属的局部图像区域中,确定该任一图像块与相邻图像块之间的图像差异信息,相邻可以包括:左相邻、右相邻、上相邻、下相邻、左上相邻、右上相邻、左下相邻、右下相邻中的任一种或多种。示例性地,请参见图6a所示的局部图像区域的示意图,该局部图像区域为4×4大小的区域,第一个图像块A1的相邻图像块包括右相邻的图像块、下相邻的图像块以及右下相邻图像块。通过图像差异信息可反映局部图像信息,图像差异信息可以是该任一图像块与相邻图像块之间的差值之和,或者差值的平均,或者差异加权后的数值,或者以上任一方式归一化之后的值。对于划分得到的各个局部图像区域,按照上述方式均可得到各个局部图像区域中每个图像块对应的图像差异信息,进而直接将每个图像块对应的图像差异信息作为显著性值,生成局部空域显著性图,或者,先根据每个图像块对应的图像差异信息映射编码单元范围内的差异均值,再将该差异均值作为局部空域显著性图中的显著性值。在此方式下,通过将当前帧划分为各个局部图像区域,将对当前帧中各个图像块的分析限定在局部图像区域范围内,从局部对当前帧进行信息提取,能够更加细致地分析当前帧中具备显著性的显著区域,提升分析精确度,有利于对全局角度分析得到的信息进行进一步补充和完善。
进一步地,确定各个图像块在所属的局部图像区域中的图像差异信息,包括:对局部图像区域中每个图像块进行变换处理,得到各个图像块的低频信息;针对任一图像块,确定任一图像块的低频信息与各个关联图像块分别对应的低频信息之间低频差异;基于各个低频差异进行均值计算,得到低频差异均值;低频差异均值用于确定任一图像块对应的图像差异信息。
对于图像差异信息的确定,以任一图像块为例进行阐述。为更加准确地提取局部信息,首先可将局部图像区域中的各个图像块进行变换处理,例如对4×4的局部图像区域进行离散余弦变换,从空域变换为频域,对于各个图像块在频域的信息,频域的信息包括高频信息和低频信息,考虑到高频信息带来的干扰,可舍弃高频信息,获取各个图像块在频域中的低频信息,进而通过低频信息来表征局部图像区域的主要特征属性,此处的低频信息可以是直流分量系数。对于划分当前帧得到的各个局部图像区域均可进行变换处理,从而提取出低频信息。在得到图像块的低频信息之后,可依据图像块的低频信息在其所属的局部图像区域内确定出低频差异,任一图像块是当前处理的一个图像块,任一图像块与关联图像块之间的低频信息的差值,例如直流分量系数的差值,可作为低频差异。关联图像块是在所属局部图像区域中与任一图像块位置相邻的图像块,即任一图像块周围的图像块,任一图像块和关联图像块属于同一局部图像区域,位置相邻可包括:左相邻、右相邻、上相邻、下相邻、左上相邻、右上相邻、左下相邻、右下相邻中的一种或多种。关联图像块可包括多个(至少两个),低频差异也可对应有多个。进一步,可基于多个低频差异计算出平均值,得到低频差异均值,该低频差异均值可直接作为当前处理的图像块对应的图像差异信息,为进一步提高后续的处理速度,后续再进行归一化处理,或者,也可在确定出该低频差异均值之后,对该低频差异均值进行归一化处理,将归一化后的低频差异均值作为图像差异信息。
示例性地,请参见图6b所示的关联图像块与当前处理的图像块之间的关系示意图,局部图像区域为4×4大小,当前处理的图像块为图像块P1,该图像块P1周围包括8个图像块,也可称为8连通区域,可计算图像块P1与周围8连通的图像块之间的直流分量系数的平均差异,该平均差异即图像差异信息。可以理解的是,对于局部图像区域边缘的图像块,例如第一行、第一列、最后一行以及最后一列,周围的图像块的数量并未达到8个,那么可按照实际数量进行计算。
此种方式下,通过将局部图像区域变换至频域进行低频信息的提取分析,而非直接在空域进行像素信息的分析,能够更好地提取当前帧中的主要特征属性,通过每个图像块的低频信息差异的平均,构建出更佳的局部空域显著性图,对当前帧中受关注的区域进行更为准确地描述。
结合以上所介绍空域显著性图的提取,为便于更加直观地理解,可通过图6c所示的流程图进行示例性表示。其中,分别包括全局空域显著性图和局部空域显著性图的提取流程,以及最终加权融合得到空域显著性图。
在一个实施例中,基于视觉系统的特性,可从当前帧中提取出受关注的区域作为显著区域,显著区域可覆盖当前帧中的一个或多个编码单元。由此,当前帧中各个编码单元与当前帧所具备的显著区域之间存在位置关系,此处的位置关系可包括当前编码单元与显著区域之间的相对位置,该相对位置是指当前编码单元位于显著区域之内,或者,当前编码单元位于显著区域之外。进一步地,位置关系还可包括当前编码单元与显著区域中的参考位置之间的相对距离,相对距离可反映当前编码单元对显著区域的显著性的影响度。
显著性图中的显著性值可指示显著区域,因此,编码单元和显著区域之间的位置关系可基于显著性图中的显著性值来评估,编码单元对应有显著性值。在一个实施例中,可通过当前编码单元的显著性值确定当前编码单元是否位于显著区域之内,基于此,当前编码单元位于显著区域之内包括:当前编码单元的显著性值位于显著区域的显著性范围之内;当前编码单元位于显著区域之外包括:当前编码单元的显著性值位于显著区域的显著性范围之外。通过显著性范围和显著性值之间的关系,可有效地判断当前编码单元是否处于显著区域之内。
在一个实施方式中,编码参数包括第一编码参数或第二编码参数,第一编码参数与编码质量呈负相关关系;第二编码参数与编码质量呈正相关关系。具体地,第一编码参数与编码质量呈负相关关系是指:第一编码参数越小,编码质量越高,第一编码参数越大,编码质量越低。示意性的,第一编码参数可以是量化参数。第二编码参数与编码质量呈正相关关系是指:第二编码参数越大,编码质量越高,第二编码参数越小,编码质量越低。示意性的,第二编码参数可以是比特数或者码率。
对于不同位置关系和不同编码参数可制定不同的编码调整策略,如S402-S403所描述的内容,基于与该位置关系匹配的编码调整策略,有利于依据位置关系所指示的特性(即当前编码单元是否被关注、受关注度的高低以及对显著区域的显著性的影响程度)对当前编码单元的编码参数进行合理调整。
S402,若当前编码单元位于显著区域之内,则将当前编码单元的编码调整策略设置为减小第一编码参数或者增大第二编码参数。
如果当前编码单元位于显著区域之内,说明当前编码单元容易被关注,那么对该当前编码单元可要求更加高质量的编码,以得到更加清晰的视觉体验,为实现此目的,结合不同编码参数与编码质量之间的相关关系,可将当前编码单元的编码调整策略设置为减小第一编码参数或者增大第二编码参数的策略,通过减小第一编码参数或增大第二编码参数可调高当前编码单元的编码质量。即,对于呈负相关关系的第一编码参数,通过减小第一编码参数调高编码质量;对于呈正相关关系的第二编码参数,则通过增大第二编码参数调高编码质量。
位置关系包括当前编码单元与显著区域之间的相对位置,那么基于以上设置,基于不同的编码参数,当前编码单元的编码调整策略具体可包括以下任一种:①减小第一编码参数;②增大第一编码参数。进一步地,位置关系还包括当前编码单元与显著区域中的参考位置之间的相对距离,那么,基于不同的编码参数,当前编码单元的编码调整策略具体可包括以下以一种:①减小第一编码参数,且当前编码单元与参考位置之间的相对距离越小,第一编码参数的减小幅度越大。②增大第二编码参数,且当前编码单元与参考位置之间的相对距离越小,第一编码参数的增大幅度越大。
可见,针对不同编码参数,当前编码单元的编码调整策略有所不同,其一是调整方向上的不同,其二是调整幅度与相对距离之间的相关关系之间的不同。但不管何种编码策略,通过与编码参数匹配的编码调整策略的设置,均能够给予显著区域的编码单元更多的比特数,实现更加清晰地画面呈现。
S403,若当前编码单元位于显著区域之外,则将当前编码单元的编码调整策略设置为增大第一编码参数或者减小第二编码参数。
如果当前编码单元位于显著区域之外,说明视觉系统对当前编码单元并不会很敏感,即该当前编码单元不容易被关注到,那么对该当前编码单元不必要求特别高质量的编码,在可接受的失真范围内保证不影响观看即可,为此,可将当前编码单元的编码调整策略设置为增大第一编码参数或者减小第二编码参数,通过增大第一编码参数或者减小第二编码参数可相对调低当前编码单元的编码质量。
位置关系包括当前编码单元与显著区域之间的相对位置,那么当前编码单元的编码调整策略可包括以下任一种:①增大第一编码参数;②减小第二编码参数。进一步地,位置关系还包括当前编码单元与显著区域中的参考位置之间的相对距离,那么当前编码单元的编码调整策略具体可包括以下任一种:①增大第一编码参数,且当前编码单元与参考位置之间的相对距离越小,第一编码参数的增大幅度越大。②减小第二编码参数,且当前编码单元与参考位置之间的相对距离越小,第二编码参数的减小幅度越大。
可见,当前编码单元位于显著区域之外的情况下,基于不同编码参数与编码质量之间所呈现的相关关系,编码调整策略也是不同的,对于呈负相关关系的第一编码参数,通过增大第一编码参数可调低编码质量,对于呈正相关关系的第二编码参数,则通过减小第二编码参数来调低编码质量。
不论编码参数包括第一编码参数还是第二编码参数,均可结合当前编码单元是否位于显著区域内、相应编码参数、编码参数与编码质量之间的相关关系,以及相对距离的指示,来确定针对相应编码参数的编码调整策略,从而灵活地控制当前编码单元的比特数,实现编码单元级别的码率控制。
S404,按照所确定的编码调整策略调整当前编码单元的编码参数。
若当前编码单元的编码参数包括第一编码参数,所确定的编码调整策略可以是针对第一编码参数的调整策略,基于当前编码单元是否在显著性内,可包括增大第一编码参数的策略或者减小第一编码参数的策略,若当前编码单元的编码参数包括第二编码参数,所确定的编码策略可以是针对第二编码参数的调整策略,基于当前编码单元是否在显著性内,可包括减小第二编码参数的策略或者增大第二编码参数的策略。其中,第一编码参数包括量化参数,那么采用针对第一编码参数的调整策略,可减小量化参数或者增大量化参数,第二编码参数包括比特数或者码率,那么采用针对第二编码参数的调整策略,可增大比特数/码率,或者是减小比特数/码率。
在一个实施例中,按照所确定的编码调整策略调整当前编码单元的编码参数,可包括以下内容:获取当前编码单元的编码参数;按照预设映射规则将当前编码单元的显著性值映射为编码参数的偏移值;采用偏移值对编码参数进行调整。
编码参数可包括第一编码参数或者第二编码参数,第一编码参数包括量化参数,该量化参数(Quality Parameter,QP)可用于反映对图像的压缩细节,量化参数和比特率成反比,量化参数越大,分配的比特数越少,码率越低,编码质量也就越低,传输实时性更高,量化参数越小,分配的比特数越多,码率越高,编码质量也就越高,而传输实时性越低。在编码参数包括量化参数时,所确定的编码调整策略是针对量化参数的调整策略。在编码参数包括比特数或者码率,所确定的编码调整策略为针对比特数或者码率的调整策略,即基于第二编码参数的偏移值可对比特数或者码率进行调整而直接达到减小或增大比特数的目的。获取到的当前编码单元的编码参数可以是编码器确定的,在一实施方式中,编码参数包括第一编码参数,该第一编码参数包括量化参数,量化参数可以是编码器按照原始方法确定出的QP值,举例来说,当前编码单元为宏块,若当前帧为I帧,那么可直接将帧级QP作为宏块的QP,若当前帧为P帧,那么可将slice级的QP作为宏块的QP。在另一实施方式中,编码参数包括第二编码参数,第二编码参数包括比特数或者码率,该比特数或者码率可以是编码器随机确定的一个数值。与此,可按照预设映射规则将显著性值映射为调整编码参数所需的偏移值(也可称为调整值),预设映射规则的具体使用可由所确定的编码调整策略进行指示。在一种可行的实现方式中,基于所确定的编码调整策略的指示,预设映射规则包括:若编码调整策略为减小第一编码参数或者减小第二编码参数,则偏移值为负值;若编码调整策略为增大第一编码参数或者增大第二编码参数,则偏移值为正值。具体地,在编码调整策略指示减小第一编码参数时,具体是减小量化参数,基于预设映射规则可将当前编码单元的显著性值映射为一个负值,进而通过偏移值减小当前编码单元的量化参数,在编码调整策略指示增大第一编码参数时,具体是增大量化参数,基于预设映射规则可将当前编码单元的显著性值映射为一个正值,进而通过偏移值增大当前编码单元的量化参数。对于编码调整策略指示减小第二编码参数或者增大第二编码参数,即减小比特数/码率,或者增大比特数/码率,同上述可将第二编码参数的偏移值设置为负值或正值。确定出的偏移值可决定编码参数的调整幅度,具体是偏移值的绝对值决定该调整幅度,而偏移值的正负可决定对编码参数的调整方向。
在一个实施例中,当前编码单元的显著性值用于反映当前编码单元在当前帧中的受关注度。在不同属性的显著区域中,通过显著性值反映的受关注度呈现不同的关系,例如在时域显著性图中,显著性值是由两帧之间的残差确定的,时域显著性图所表示的显著区域为静态区域,显著性值越大,表明处于静态区域的可能性越大,那么受关注度越高,而在空域显著性图所表示的显著区域多为视频前景区域,显著性值越大,表明越可能是能够被关注的前景区域,那么受关注度越高。通过显著性值所反映的受关注度,可对编码调整策略进行更加精细的制定,从而更加合理地调整编码参数。在一种实现方式中,基于显著性值所反映当前编码单元的显著性程度,映射得到的偏移值还可进一步包括以下特点:偏移值的绝对值的大小与当前编码单元在当前帧中的受关注度成正比。这也可以作为预设映射规则所包含的内容。当前编码单元的显著性值越大,当前编码单元在当前帧中受关注度越高,基于显著性值映射的偏移值的绝对值越大,采用偏移值对量化参数调整的幅度越大,反之,当前编码单元的显著性值越小,当前编码单元在当前帧中受关注度越低,基于显著性值映射的偏移值的绝对值越小,采用偏移值对量化参数调整的幅度越小。
在另一个实施例中,除了显著性值对偏移值的绝对值大小的影响,还可将当前编码单元与显著区域的参考位置之间的相对距离,纳入对偏移值的绝对值的影响中,即根据显著性值和相对距离共同确定偏移值,从而使得偏移值能够更加符合当前编码单元的关注特性。在一种可行的实现方式中,确定出的偏移值的绝对值的大小与该相对距离可以具备以下(1)和(2)所描述的相关关系。
(1)若当前编码单元在显著区域之外,相对距离与偏移值的绝对值大小呈正相关关系:相对距离越大,表示当前编码单元距离显著区域越远,偏移值的绝对值越大,反之,相对距离越小,表示当前编码单元距离显著区域越近,偏移值的绝对值越小。
(2)若当前编码单元位于显著区域之内,相对距离与偏移值的绝对值的大小可呈负相关关系:相对距离越大,说明当前编码单元越靠近显著区域的边缘,偏移值的绝对值越小。反之,相对距离越小,说明当前编码单元越靠近显著区域中更显著的区域,即远离显著区域的边缘,偏移值的绝对值越大。
基于上述相对距离与偏移量的绝对值的大小之间的相关关系,可为当前编码单元直接或间接分配合理的比特数,这样,当前帧中各个编码单元可根据与显著区域的参考位置之间不同的相对距离来梯度化地设置相应的偏移值,从而让显著区域外越靠近显著区域的内容越加清晰,显著区域内的内容相比于显著区域外更清晰,提高观看视频的主观质量感受。
若偏移值为正值,偏移值的绝对值越大,则偏移值越大,编码参数(例如量化参数)可调整为更高的参数值,基于调整后的量化参数编码可分配到更多的比特数,若偏移值为负值,偏移值的绝对值越大,则偏移值越小,编码参数(例如量化参数)可调整为更低的参数值,基于调整后的量化参数编码可分配到相对较少的比特数。
若编码参数包括第二编码参数,第二编码参数包括比特数或者码率,按照预设映射规则可将显著性值映射为第二编码参数的偏移值,若编码调整策略为减小第二编码参数,那么所映射得到的第二编码参数的偏移值为负值,且显著性值越小,该偏移值越小,对第二编码参数(例如比特数)的减小幅度越大,从而可使得当前编码单元分配到更少的比特数,反之,若编码调整策略为增大第二编码参数,那么所映射得到的第二编码参数的偏移值为正值,且显著性值越大,该偏移值越大,对第二编码参数(例如比特数)的增大幅度也越大,从而可使得当前编码单元分配到更多的比特数。对于编码参数包括的不同内容,当前编码单元的同一显著性值可能映射为不同的编码参数的偏移值,例如,当前编码单元的显著性值为225,若编码参数为量化参数QP,基于显著性映射得到的偏移值为-7,表示将量化参数减小7,若编码参数为比特数,基于显著性值225映射得到的偏移值为+2bit,即表示将比特数增加2。
可以理解的是,调整后的第二编码参数,例如调整后的比特数是一个期望的编码参数,后续可利用第二编码参数和第一编码参数之间的关系,具体可以是比特数(或者码率)与量化参数之间的关系,基于调整后的比特数计算出一个目标量化参数,并将当前编码单元的量化参数设置为该目标量化参数,最终按照该目标量化参数执行编码,从而实现对当前编码单元的比特数的调整。也就是说,在此方式下,对于每个编码单元的比特数或者码率可预先确定,而后再基于确定好的比特数或者码率计算出目标量化参数,本质上还是通过量化参数的设置来达到对比特数或者码率的调整。而对于直接确定量化参数的偏移值的方式,编码单元分配到的比特数并不是预先确定的,而是可视为量化参数调整后执行编码处理的结果。
在上述方式下,对于当前帧中的各个编码单元,均可依据匹配的编码调整策略,采用相应的预设映射规则来将显著值映射为正值或负值的偏移值,进而基于映射得到的偏移值能够合理地调整编码参数(例如量化参数),基于对编码参数(例如量化参数)的调整,能够实现编码单元级的码率控制,使得比特数得到合理地分配。在一些码率受限的情况下,能够将更多的比特数分配给更加关注的重要视频帧区域,即显著区域,实现基于视觉系统的特性进行编码单元级(例如宏块级)的码率控制。
显著区域采用显著性图表示,在一个实施例中,显著性图包括空域显著性图或者时域显著性图,空域显著性图用于表示第一属性的显著区域,时域显著性图用于表示第二属性的显著区域。第一属性的显著区域可以是受关注的图像区域,例如视频前景区域,第二属性的显著区域可以是视觉敏感的静态区域。对于空域显著性图和时域显著性图有关的内容可参见前述实施例介绍的内容,在此不做赘述。在此实施方式下,可从单个关注维度提取出在当前帧中受关注的区域,然后将当前编码单元在显著性图中的显著性值(如空域显著性值或者时域显著性值)映射为相应维度的偏移值,继而基于映射得到的偏移值调整编码参数,例如,显著性图包括时域显著性图,则将当前编码单元在时域显著性图中的时域显著性值映射为时域偏移值,进而基于时域偏移值调整当前编码单元的编码参数,又例如,显著性图包括空域显著性图,则将当前编码单元在空域显著性图中的空域显著性值映射为空域偏移值,进而基于空域偏移值调整当前编码单元的编码参数。最后,采用调整后的编码参数进行编码处理,得到码流。此处调整后的编码参数可能是基于时域偏移值调整的编码参数,或者,基于空域偏移值调整的编码参数,此方式下的编码参数可以是量化参数。
在另一种实施例中,显著性图包括空域显著性图和时域显著性图,即可基于视觉系统的不同特性,从不同关注维度提取当前帧中受关注的区域,对于第一属性的显著区域和第二属性的显著区域可以同时存在,甚至存在重叠部分,在此实施方式下,当前编码单元的显著性值可包括在不同关注维度提取到的显著性图中各自对应的显著性值,具体包括当前编码单元在空域显著性图中对应的空域显著性值和当前编码单元在时域显著性图中对应的时域显著性值,进而基于预设映射规则可得到不同维度的偏移值。
在一个可行实施方式中,编码参数包括量化参数,按照预设映射规则将当前编码单元的显著性值映射为编码参数的偏移值,具体是映射为量化参数的偏移值,可包括以下内容:按照预设映射规则将当前编码单元在空域显著性图中对应的空域显著性值映射为量化参数的空域偏移值;以及,将当前编码单元在时域显著性图中对应的时域显著性值映射为量化参数的时域偏移值。
当前编码单元可能位于第一属性的显著区域内,也可能位于第二属性的显著区域内,还可能同时位于第一属性的显著区域和第二属性的显著区域内。基于此,当前编码单元的空域显著性值映射得到的空域偏移值可以为正值或负值,当前编码单元的时域显著性值映射得到的时域偏移值也可以为正值或负值,例如空域偏移值为正值,时域偏移值为负值,表明当前编码单元位于第一属性的显著区域之内,但位于第二属性的显著区域之外。通过确定两个维度的偏移值,综合时域偏移值和空域偏移值有利于更加全面地对量化参数进行调整,实现合理地比特分配和码率控制。
在一个实施方式中,基于预设映射规则映射得到的偏移值可被编码至视频的码流中,该码流在解码端可被解析,进而得到其中包含的偏移值(例如时域偏移值,或者空域偏移值,或者时域偏移值和空域偏移值之间加权求和之后的偏移值),并应用于对视频的解码,具体地,在对当前编码单元进行解码时,可依据该偏移值对所确定的编码参数(例如量化参数)进行调整,采用调整后的编码参数(例如量化参数)进行解码处理,从而还原视频画面。
在此基础上,采用偏移值对量化参数进行调整,包括:为时域偏移值分配第一权重,以及为空域偏移值分配第二权重;采用第一权重和第二权重,对时域偏移值、空域偏移值以及当前编码单元的量化参数进行加权求和,得到调整后的量化参数。
具体地,对于时域偏移值的第一权重和空域偏移值的第二权重,可基于对视频的场景特性进行设置或者基于当前编码单元在当前帧中受关注度的高低进行设置。其中,当前编码单元的时域显著性值所反映的受关注度越高,那么第一权重可设置得越大,当前编码单元的时域显著性值所反映的受关注度越低,那么第一权重可设置得越小,对于第二权重的设置同理。若视频的场景特性反映的是运动幅度较小的场景,可为时域显著性值分配更低的第一权重,为空域显著性值分配更高的第二权重,第二权重可大于第一权重,从而使得当前编码单元的量化参数的调整符合业务需求。
对于当前编码单元的量化参数,对应的权重可默认设置为1,基于确定出的第一权重W1和第二权重W2,可对空域偏移值offset_spatial、时域偏移值offset_temporal以及量化参数QP进行加权求和,加权求和后的值即为调整后的量化参数QP_offset,即:QP_offset=W1×offset_temporal+W2×offset_spatial+QP。
通过为不同维度的偏移值分配相应的权重,并基于权重将偏移值与量化参数加权融合,得到调整后的量化参数,从而可保证更容易受关注的区域的画面质量,提升视频整体的主观质量。
可以理解的是,当前帧中每个编码单元在空域显著性图中均对应有空域显著性值,对于任一编码单元而言,存在该编码单元相应的空域偏移值(offset_spatial,也可称为空域调整值)以及时域偏移值(offset_temporal,也可称为时域调整值),进而可基于这两个偏移值对量化参数进行更加准确地调整。
S405,基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流。
在一个实施中,编码参数包括第一编码参数或者第二编码参数,第一编码参数包括量化参数,第二编码参数包括比特数和码率。若调整后的编码参数包括调整后的量化参数,那么可基于调整后的量化参数对当前编码单元进行编码处理。对于当前帧中各个编码单元,均可按照相同的流程对各自的量化参数进行调整,从而使得各个编码单元的量化参数与编码单元的受关注度匹配,通过量化参数的调整,可为当前帧中显著区域相对于其他区域(即显著区域之外的区域)分配更多的比特数,基于显著性实现对编码单元级的码率控制。
在一种实现方式中,显著性区域由显著性图表示,若显著性图包括空域显著性图和时域显著性图,且空域显著性图和时域显著性图均为编码单元级的显著性图,那么按照上述流程编码一帧YUV的流程可参照如图7a所示的流程图进行示例性说明,其中,编码单元为宏块,编码参数为量化参数。当启动对一帧的编码流程之后,编码器可先使用原有方法确定帧内各宏块的QP值,然后提取当前帧的空域显著性图,并基于空域显著性图得到每个宏块的空域偏移值,还可提取当前帧的时域显著性图,并基于时域显著性图得到每个宏块的时域偏移值,之后,再加权融合确定出的QP值、空域偏移值以及时域偏移值,得到新QP值,每个宏块都对应有一个新QP值,最后,再使用新QP值对帧内各个宏块进行编码,最终结束一帧的编码。
经实验,在低码率直播场景下启用如图7a所示的视频编码方法,当应用在支持H.264编码场景下,该视频编码方法是一种基于显著性的宏块级码率控制方法。对于不同测试序列在编码后的一些评估指标可如下表1所示。
表1各个测试序列的评价指标对应的BD-rate提升情况
/>
由上表1可知,测试序列包括9个秀场直播下的视频,各个视频的帧数存在相应的差异,且各个视频采用本申请实施例提供的视频编码方法,基于时域偏移值和空域偏移值对量化参数进行调整,并基于调整后的量化参数进行编码得到的各种指标如表1所示,包括峰值信噪比(Peak Signal to Noise Ratio,PSNR)、基于峰值信噪比的均方误差(PeakSignal to Noise Ratio_Mean Squared Error,PSNR_MSE)、结构相似性(StructuralSimilarity,SSIM)以及视频质量评价VMAF(可反映多种场景、多种特征的视频情况)等评价指标下的BD-rate(用于评价视频编码算法性能的参数,是两种算法(对应本申请提供的编码方法和原本的H.264编码方法)对应的两条RD(率失真)曲线的差值的均值),可反映经编码处理得到的编码质量。可以发现,测试序列(包括视频1-视频9)经H.264编码后的PSNR,SSIM和VMAF对应的BD-rate收益均值分别为-1.59%,-0.28%,-1.69%。这表示相同评价指标(例如PSNR)下,本申请实施例提供的编码方法性能更好。
另外,从编码结果上看,可参见图7b所示的编码效果对比图,这两幅图分别是应用本申请提供的视频编码方法前后的宏块模式分布图,对视频帧的编码均是在H.264的编码协议下实现的,如图7b所示,应用本申请提供的视频编码方法处理视频帧,其对应的背景区域存在更多的宏块采用了SKIP模式(一种帧间预测模式,所需的比特数较少),而视频帧的比特数是确定的,背景区域的宏块所使用的比特数越少,表明在当前视频帧中更多比特数被分配到了视频帧的前景区域。另外,还可进一步参见图7c所示的视频帧的前景质量对比图。相比于图7c中的(a)应用H.264视频编码方法,图7c中的(b)在应用本申请提供的视频编码方法后,对象的脸部特征更加清晰,表明视频帧中的前景质量得到了增强。
可见,通过对视频帧内的空域显著性和/或前后帧间的时域显著性进行分析,可提取出所关注的重要区域。基于空域显著性和时域显著性可更加准确地确定出当前帧中的显著区域,从而自动调整当前帧中的各个编码单元的量化参数,进行编码单元级别的码率控制,提升视频的主观感受质量,提高视频序列按照相应编码协议(如H.264编码协议)编码后的PSNR,SSIM,VMAF等的BD-rate指标。此外,本申请实施例提供的视频编码方法通过提取显著区域,并基于编码单元是否位于显著区域内的位置关系,便可确定调整量化参数的偏移值,整体计算复杂度较低,能够满足低延时的需求,也适用于使用H.264编码协议进行视频压缩的各种直播场景,例如在秀场直播场景中,可满足其所要求的低码率、低延时以及特定区域(即被关注的区域)较为清晰的需求。
基于以上视频编码方法的介绍,对应地,可提供如图8所示的视频解码方法。该视频解码方法可由计算机设备执行(如图1中所示的终端设备101b),包括以下内容。
S801,接收视频的码流。
其中,码流包括视频的当前帧中的当前编码单元的编码调整策略的指示;编码调整策略是基于当前编码单元与当前帧中的显著区域之间的位置关系确定的;位置关系用于指示所述当前编码单元的关注信息。显著区域是指当前帧中被关注的区域,可基于视觉系统的特性从当前帧中提取,且显著区域包括当前帧中的一个或多个编码单元,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量。对于以上码流的生成具体可参见图2或图4对应实施例所描述的内容。
S802,解析视频的码流,得到编码调整策略的指示。
在一个实施例中,若编码调整策略为减小编码参数,则编码调整策略的指示包括减小当前编码单元的编码参数所需的偏移值;若编码调整策略为增大编码参数,则编码调整策略的指示包括增大当前编码单元的编码参数所需的偏移值。此处的偏移值可用于决定编码参数的调整幅度,在任一编码调整策略指示下,偏移值可包括时域偏移值,或者空域偏移值,或者时域偏移值和空域偏移值两者加权求和得到的偏移值。
S803,按照编码调整策略的指示调整当前编码单元的编码参数。
按照编码调整策略的指示,可基于偏移值对编码参数的调整,具体调整方式可参照编码端所执行的内容。在一个实施例中,当前编码单元的编码参数包括第一编码参数,该第一编码参数例如是量化参数,若编码调整策略指示的偏移值包括时域偏移值和空域偏移值两者加权求和得到的偏移值,那么在解码端可使用编码调整策略指示的时域偏移值和空域偏移值两者加权求和得到的偏移值对量化参数进行调整,得到调整后的量化参数。
S804,基于调整后的编码参数对当前编码单元进行解码处理。
在一个实施例中,编码参数包括第一编码参数或者第二编码参数,第一编码参数包括量化参数,第二编码参数包括比特数或者码率。基于相应的编码调整策略,调整后的编码参数可以是调整后的第一编码参数或者调整后的第二编码参数,例如基于调整后的量化参数对当前编码单元进行解码处理,可得到当前编码单元在视频中的画面内容。对于当前帧中所有编码单元均可按照上述方式进行解码处理,得到当前帧的视频画面数据并显示当前帧对应的视频画面,在视频所包含的所有帧依次解码成功之后,可在解码端将该视频播放出来。
由于编码端对于显著区域之内的编码单元相比于显著区域之外的编码单元提供了比特数较多的码流,在解码端解码出来的一帧视频画面中显著区域的质量相对较高,显著区域相比于其他区域也可进行更加清晰的呈现,视频的整体解码质量得以提升,从而能够提高视频的主观感受质量。
接下来对本申请实施例所提供的视频编码装置和视频解码装置进行相关阐述。
请参见图9a,图9a是本申请一个示例性实施例提供的一种视频编码装置的结构示意图。上述视频编码装置可以是运行于计算机设备(如视频编码系统中的任一终端设备)的一个计算机程序(包括程序代码),例如该视频编码装置为一个应用软件;该视频编码装置可以用于执行本申请实施例提供的视频编码方法中的相应步骤。如图9a所示,该视频编码装置900包括:确定模块901、调整模块902以及编码模块903。
确定模块901,用于确定视频的当前帧中的显著区域,显著区域是指当前帧中被关注的区域;显著区域包括当前帧中的一个或多个编码单元;
确定模块901,用于根据当前帧中的当前编码单元与显著区域之间的位置关系,确定当前编码单元的编码调整策略;位置关系用于指示当前编码单元的关注信息;
调整模块902,用于按照所确定的编码调整策略调整当前编码单元的编码参数;
编码模块903,用于基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流;其中,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量。
在一个实施例中,显著区域采用显著性图表示,显著性图包括空域显著性图;确定模块901,具体用于:从全局维度对当前帧进行显著性分析,得到当前帧的全局空域显著性图;以及,从局部维度对当前帧进行显著性分析,得到当前帧的局部空域显著性图;对全局空域显著性图和局部空域显著性图进行融合,得到当前帧的空域显著性图。
在一个实施例中,显著区域采用显著性图表示,显著性图包括时域显著性图;确定模块901,具体用于:获取关联帧,关联帧与当前帧属于视频中的相邻帧,且关联帧的显示顺序先于当前帧的显示顺序;计算当前帧和关联帧之间的残差;根据残差生成当前帧的时域显著性图。
在一个实施例中,位置关系包括当前编码单元与显著区域之间的相对位置,相对位置包括当前编码单元位于显著区域之内,或当前编码单元位于显著区域之外;当前编码单元的关注信息包括是否被关注;若当前编码单元位于显著区域之内,则指示当前编码单元被关注;若当前编码单元位于显著区域之外,则指示当前编码单元未被关注;其中,相对位置的确定方法包括以下任一种:将当前编码单元的显著性值与显著区域的显著性范围进行比较,若当前编码单元的显著性值位于显著区域的显著性范围内,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外;或者,将当前编码单元对应的像素值集合与显著区域对应的像素值集合进行比较,若当前编码单元对应的像素值集合属于显著区域对应的像素值集合的子集,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外;或者,将当前编码单元在当前帧中的坐标范围与显著区域在当前帧中的坐标范围进行比较,若当前编码单元的坐标范围位于显著区域的坐标范围内,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外。
在一个实施例中,位置关系还包括当前编码单元与显著区域中的参考位置之间的相对距离;当前编码单元的关注信息还包括对显著区域的显著性的影响度;相对距离用于指示当前编码单元对显著区域的显著性的影响程度;相对距离越小,则当前编码单元对显著区域的影响程度越高;其中,相对距离的确定方法包括以下任一种:将当前编码单元的显著性值与参考位置的显著性值之间的显著差值,确定为当前编码单元与显著区域中的参考位置之间的相对距离;或者,将当前编码单元中的目标像素点的像素值与参考位置对应的像素值之间的像素差值,确定为当前编码单元与显著区域中的参考位置之间的相对距离;或者,将当前编码单元中的目标像素点在当前帧中的坐标与参考位置在当前帧中的坐标之间的欧式距离,确定为当前编码单元与显著区域中的参考位置之间的相对距离;其中,参考位置包括以下任一种或多种:显著区域内的中心像素点位置,显著区域内显著性值最大的编码单元的任一像素点位置,显著区域内的像素值最大的像素点位置;当前编码单元中的目标像素点包括以下任一种:当前编码单元中的中心像素点,当前编码单元内的任一像素点,当前编码单元的任一边缘像素点,当前编码单元中像素值最大的像素点。
在一个实施例中,位置关系包括当前编码单元与显著区域之间的相对位置,编码参数包括第一编码参数或第二编码参数,第一编码参数与编码质量呈负相关关系;第二编码参数与编码质量呈正相关关系;若当前编码单元位于显著区域之内,且编码参数包括第一编码参数,则将当前编码单元的编码调整策略为减小第一编码参数;若当前编码单元位于显著区域之内,且编码参数包括第一编码参数,则当前编码单元的编码调整策略为增大第一编码参数;若当前编码单元位于显著区域之外,且编码参数包括第二编码参数,则将当前编码单元的编码调整策略为增大第二编码参数;若当前编码单元位于显著区域之外,且编码参数包括第二编码参数,则当前编码单元的编码调整策略为减小第二编码参数。
在一个实施例中,位置关系还包括当前编码单元与显著区域中的参考位置之间的相对距离;若当前编码单元位于显著区域之内,且当前编码单元的编码调整策略为减小第一编码参数,则当前编码单元与参考位置之间的相对距离越小,第一编码参数的减小幅度越大;若当前编码单元位于显著区域之内,且当前编码单元的编码调整策略为增大第二编码参数,则当前编码单元与参考位置之间的相对距离越小,第二编码参数的增大幅度越大;若当前编码单元位于显著区域之外,且当前编码单元的编码调整策略为增大第一编码参数,则当前编码单元与参考位置之间的相对距离越小,第一编码参数的增大幅度越大;若当前编码单元位于显著区域之外,且当前编码单元的编码调整策略为减小第二编码参数,则当前编码单元与参考位置之间的相对距离越小,第二编码参数的减小幅度越大。
在一个实施例中,调整模块902,具体用于:获取当前编码单元的编码参数;按照预设映射规则将当前编码单元的显著性值映射为编码参数的偏移值;采用偏移值对编码参数进行调整;其中,当前编码单元的显著性值用于反映所述当前编码单元在所述当前帧中的受关注度,所述偏移值用于决定所述编码参数的调整幅度。
在一个实施例中,编码参数包括第一编码参数或第二编码参数,第一编码参数包括量化参数,第二编码参数包括比特数或码率;预设映射规则包括:若编码调整策略为减小第一编码参数或者减小第二编码参数,则偏移值为负值;若编码调整策略为增大第一编码参数或者增大第二编码参数,则偏移值为正值。
在一个实施例中,显著区域采用显著性图表示,显著性图包括空域显著性图和时域显著性图,空域显著性图用于表示第一属性的显著区域,时域显著性图用于表示第二属性的显著区域;编码参数包括量化参数,调整模块902,具体用于:按照预设映射规则将当前编码单元在空域显著性图中对应的空域显著性值映射为量化参数的空域偏移值;以及,将当前编码单元在时域显著性图中对应的时域显著性值映射为量化参数的时域偏移值。
在一个实施例中,调整模块902,具体用于:为时域偏移值分配第一权重,以及为空域偏移值分配第二权重;采用第一权重和第二权重,对时域偏移值、空域偏移值以及当前编码单元的量化参数进行加权求和,得到调整后的量化参数。
在一个实施例中,确定模块901,具体还用于:对当前帧进行降采样处理,得到降采样后的当前帧;对降采样后的当前帧进行区域识别处理,得到当前帧的图像矩阵;图像矩阵用于反映当前帧中的不同图像区域;基于图像矩阵构建全局空域显著性图。
在一个实施例中,确定模块901,具体还用于:对图像矩阵进行区域增强处理,得到增强图像矩阵;对增强图像矩阵进行上采样处理,得到目标图像矩阵;基于目标图像矩阵得到全局空域显著性图。
在一个实施例中,确定模块901,具体还用于:对当前帧进行区域划分处理,得到多个局部图像区域;每个局部图像区域包括多个图像块;确定各个图像块在所属局部图像区域中的图像差异信息;根据各个图像块对应的图像差异信息生成局部空域显著性图。
在一个实施例中,确定模块901,具体还用于:对局部图像区域中每个图像块进行变换处理,得到各个图像块的低频信息;针对任一图像块,确定任一图像块的低频信息与各个关联图像块分别对应的低频信息之间低频差异;关联图像块是在所属局部图像区域中与任一图像块位置相邻的图像块;基于各个低频差异进行均值计算,得到低频差异均值;低频差异均值用于确定任一图像块对应的图像差异信息。
可以理解的是,本申请实施例所描述的视频编码装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
请参见图9b,图9b是本申请一个示例性实施例提供的一种视频解码装置的结构示意图。上述视频解码装置可以是运行于计算机设备(如视频解码系统中的任一终端设备)的一个计算机程序(包括程序代码),例如该视频解码装置为一个应用软件;该视频解码装置可以用于执行本申请实施例提供的视频解码方法中的相应步骤。如图9b所示,该视频解码装置910包括:收发模块911、解析模块912、调整模块913以及解码模块914。
收发模块911,用于接收视频的码流,码流包括视频的当前帧中的当前编码单著区元的编码调整策略的指示;编码调整策略是基于当前编码单元与当前帧中的显域之间的位置关系确定的,位置关系用于指示当前编码单元的关注信息;显著区域是指当前帧中被关注的区域,且显著区域包括当前帧中的一个或多个编码单元;当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量;
解析模块912,用于解析视频的码流,得到编码调整策略的指示;
调整模块913,用于按照编码调整策略的指示调整当前编码单元的编码参数;
解码模块914,用于基于调整后的编码参数对当前编码单元进行解码处理。
在一个实施例中,若编码调整策略为减小编码参数,则编码调整策略的指示包括减小当前编码单元的编码参数所需的偏移值;若编码调整策略为增大编码参数,则编码调整策略的指示包括增大当前编码单元的编码参数所需的偏移值;其中,偏移值用于决定编码参数的调整幅度。
可以理解的是,本申请实施例所描述的视频解码装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
接下来对本申请实施例所提供的计算机设备进行相关阐述。
在一个实施例中,该计算机设备可以是图1所示的视频编解码系统中用于编码视频的码流的终端设备(例如终端设备101a)。在另一个实施例中,可以是图1所示的视频编解码系统中用于解码视频的码流的终端设备(例如终端设备101b)。
请参见图10,图10是本申请实施例提供的一种计算机设备的结构示意图。如图10所示,该计算机设备1000具体可以包括输入设备1001、输出设备1002、处理器1003、存储器1004、网络接口1005和至少一个通信总线1006。其中:处理器1003可以是中央处理器(Central Processing Unit,CPU)。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC),可编程逻辑器件(Programmable Logic Device,PLD)等。上述PLD可以是现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)等。
存储器1004可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random-Access Memory,RAM);存储器1004也可以包括非易失性存储器(Non-VolatileMemory),例如快闪存储器(Flash Memory),固态硬盘(Solid-State Drive,SSD)等;存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(Non-Volatile Memory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1003的存储装置。存储器1004还可以包括上述种类的存储器的组合。如图10所示,作为一种计算机可读存储介质的存储器1004中可以包括操作系统、网络通信模块、接口模块以及设备控制应用程序。
网络接口1005可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口作为通信接口,可用于提供数据通信功能;通信总线1006负责连接各个通信元件;输入设备1001接收对象输入的指令,以产生与计算机设备的对象设置以及功能控制有关的信号输入,在一个实施例中,输入设备1001包括但不限于触控面板、物理键盘或虚拟键盘(Keyboard)、功能键、鼠标等中的一种或多种;输出设备1002用于输出数据信息,在本申请实施例中输出设备1002可用于播放视频等,输出设备1002可以包括显示屏(Display)或其他显示设备;处理器1003是计算机设备的控制中心,由各种接口和线路连接整个计算机设备的各个部分,通过调度运行存储在存储器1004中的计算机程序,执行各种功能。
其中,处理器1003可以用于调用存储器1004中的计算机程序,以执行如下操作:确定视频的当前帧中的显著区域,显著区域是指当前帧中被关注的区域;显著区域包括当前帧中的一个或多个编码单元;根据当前帧中的当前编码单元与显著区域之间的位置关系,确定当前编码单元的编码调整策略;位置关系用于指示当前编码单元的关注信息;按照所确定的编码调整策略调整当前编码单元的编码参数;基于调整后的编码参数对当前编码单元进行编码处理,得到视频的码流;其中,当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量。
在一个实施例中,显著区域采用显著性图表示,显著性图包括空域显著性图;处理器1003,用于:从全局维度对当前帧进行显著性分析,得到当前帧的全局空域显著性图;以及,从局部维度对当前帧进行显著性分析,得到当前帧的局部空域显著性图;对全局空域显著性图和局部空域显著性图进行融合,得到当前帧的空域显著性图。
在一个实施例中,显著区域采用显著性图表示,显著性图包括时域显著性图;处理器1003,用于:获取关联帧,关联帧与当前帧属于视频中的相邻帧,且关联帧的显示顺序先于当前帧的显示顺序;计算当前帧和关联帧之间的残差;根据残差生成当前帧的时域显著性图。
在一个实施例中,位置关系包括当前编码单元与显著区域之间的相对位置,相对位置包括当前编码单元位于显著区域之内,或当前编码单元位于显著区域之外;当前编码单元的关注信息包括是否被关注;若当前编码单元位于显著区域之内,则指示当前编码单元被关注;若当前编码单元位于显著区域之外,则指示当前编码单元未被关注;其中,相对位置的确定方法包括以下任一种:将当前编码单元的显著性值与显著区域的显著性范围进行比较,若当前编码单元的显著性值位于显著区域的显著性范围内,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外;或者,将当前编码单元对应的像素值集合与显著区域对应的像素值集合进行比较,若当前编码单元对应的像素值集合属于显著区域对应的像素值集合的子集,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外;或者,将当前编码单元在当前帧中的坐标范围与显著区域在当前帧中的坐标范围进行比较,若当前编码单元的坐标范围位于显著区域的坐标范围内,则确定当前编码单元位于显著区域之内;否则,确定当前编码单元位于显著区域之外。
在一个实施例中,位置关系还包括当前编码单元与显著区域中的参考位置之间的相对距离;当前编码单元的关注信息还包括对显著区域的显著性的影响度;相对距离用于指示当前编码单元对显著区域的显著性的影响程度;相对距离越小,则当前编码单元对显著区域的影响程度越高;其中,相对距离的确定方法包括以下任一种:将当前编码单元的显著性值与参考位置的显著性值之间的显著差值,确定为当前编码单元与显著区域中的参考位置之间的相对距离;或者,将当前编码单元中的目标像素点的像素值与参考位置对应的像素值之间的像素差值,确定为当前编码单元与显著区域中的参考位置之间的相对距离;或者,将当前编码单元中的目标像素点在当前帧中的坐标与参考位置在当前帧中的坐标之间的欧式距离,确定为当前编码单元与显著区域中的参考位置之间的相对距离;其中,参考位置包括以下任一种或多种:显著区域内的中心像素点位置,显著区域内显著性值最大的编码单元的任一像素点位置,显著区域内的像素值最大的像素点位置;当前编码单元中的目标像素点包括以下任一种:当前编码单元中的中心像素点,当前编码单元内的任一像素点,当前编码单元的任一边缘像素点,当前编码单元中像素值最大的像素点。
在一个实施例中,位置关系包括当前编码单元与显著区域之间的相对位置,编码参数包括第一编码参数或第二编码参数,第一编码参数与编码质量呈负相关关系;第二编码参数与编码质量呈正相关关系;若当前编码单元位于显著区域之内,且编码参数包括第一编码参数,则将当前编码单元的编码调整策略为减小第一编码参数;若当前编码单元位于显著区域之内,且编码参数包括第二编码参数,则当前编码单元的编码调整策略为增大第二编码参数;若当前编码单元位于显著区域之外,且编码参数包括第一编码参数,则将当前编码单元的编码调整策略为增大第一编码参数;若当前编码单元位于显著区域之外,且编码参数包括第二编码参数,则当前编码单元的编码调整策略为减小第二编码参数。
在一个实施例中,位置关系还包括当前编码单元与显著区域中的参考位置之间的相对距离;若当前编码单元位于显著区域之内,且当前编码单元的编码调整策略为减小第一编码参数,则当前编码单元与参考位置之间的相对距离越小,第一编码参数的减小幅度越大;若当前编码单元位于显著区域之内,且当前编码单元的编码调整策略为增大第二编码参数,则当前编码单元与参考位置之间的相对距离越小,第二编码参数的增大幅度越大;若当前编码单元位于显著区域之外,且当前编码单元的编码调整策略为增大第一编码参数,则当前编码单元与参考位置之间的相对距离越小,第一编码参数的增大幅度越大;若当前编码单元位于显著区域之外,且当前编码单元的编码调整策略为减小第二编码参数,则当前编码单元与参考位置之间的相对距离越小,第二编码参数的减小幅度越大。
在一个实施例中,处理器1003,用于:获取当前编码单元的编码参数;按照预设映射规则将当前编码单元的显著性值映射为编码参数的偏移值;采用偏移值对量化参数进行调整;其中,当前编码单元的显著性值用于反映当前编码单元在当前帧中的受关注度,偏移值用于决定编码参数的调整幅度。
在一个实施例中,编码参数包括第一编码参数或第二编码参数,第一编码参数包括量化参数,第二编码参数包括比特数或码率;预设映射规则包括:若编码调整策略为减小第一编码参数或者减小第二编码参数,则偏移值为负值;若编码调整策略为增大第一编码参数或者增大第二编码参数,则偏移值为正值。
在一个实施例中,显著区域采用显著性图表示,显著性图包括空域显著性图和时域显著性图,空域显著性图用于表示第一属性的显著区域,时域显著性图用于表示第二属性的显著区域;编码参数包括量化参数,处理器1003,用于:按照预设映射规则将当前编码单元在空域显著性图中对应的空域显著性值映射为量化参数的空域偏移值;以及,将当前编码单元在时域显著性图中对应的时域显著性值映射为量化参数的时域偏移值。
在一个实施例中,处理器1003,用于:为时域偏移值分配第一权重,以及为空域偏移值分配第二权重;采用第一权重和第二权重,对时域偏移值、空域偏移值以及当前编码单元的量化参数进行加权求和,得到调整后的量化参数。
在一个实施例中,处理器1003,用于:显著性分析,得到当前帧的全局空域显著性图,包括:对当前帧进行降采样处理,得到降采样后的当前帧;对降采样后的当前帧进行区域识别处理,得到当前帧的图像矩阵;图像矩阵用于反映当前帧中的不同图像区域;基于图像矩阵构建全局空域显著性图。
在一个实施例中,处理器1003,用于:对图像矩阵进行区域增强处理,得到增强图像矩阵;对增强图像矩阵进行上采样处理,得到目标图像矩阵;基于目标图像矩阵得到全局空域显著性图。
在一个实施例中,处理器1003,用于:对当前帧进行区域划分处理,得到多个局部图像区域;每个局部图像区域包括多个图像块;确定各个图像块在所属局部图像区域中的图像差异信息;根据各个图像块对应的图像差异信息生成局部空域显著性图。
在一个实施例中,处理器1003,用于:对局部图像区域中每个图像块进行变换处理,得到各个图像块的低频信息;针对任一图像块,确定任一图像块的低频信息与各个关联图像块分别对应的低频信息之间低频差异;关联图像块是在所属局部图像区域中与任一图像块位置相邻的图像块;基于各个低频差异进行均值计算,得到低频差异均值;低频差异均值用于确定任一图像块对应的图像差异信息。
在另一实施例中,处理器1003可以用于调用存储器1004中的计算机程序,以执行如下操作:接收视频的码流,码流包括视频的当前帧中的当前编码单元的编码调整策略的指示;编码调整策略是基于当前编码单元与当前帧中的显著区域之间的位置关系确定的,位置关系用于指示当前编码单元的关注信息;显著区域是指当前帧中被关注的区域,且显著区域包括当前帧中的一个或多个编码单元;当前帧中位于显著区域之内的编码单元经编码处理后得到的编码质量优于位于显著区域之外的编码单元经编码处理后得到的编码质量;解析视频的码流,得到编码调整策略的指示;按照编码调整策略的指示调整当前编码单元的编码参数;基于调整后的编码参数对当前编码单元进行解码处理。
在一个实施例中,处理器1003,用于:若编码调整策略为减小编码参数,则编码调整策略的指示包括减小当前编码单元的编码参数所需的偏移值;若编码调整策略为增大编码参数,则编码调整策略的指示包括增大当前编码单元的编码参数所需的偏移值;其中,偏移值用于决定编码参数的调整幅度。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文所对应实施例中对该数据处理方法的描述,也可执行前文图9a所对应实施例中对视频编码装置900或执行前文图9b所对应实施例中对视频解码装置910描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,还应指出,本申请一个示例性实施例还提供了一种存储介质,该存储介质中存储了前述数据处理方法的计算机程序,该计算机程序包括程序指令,当一个或多个处理器加载并执行该程序指令,可以实现实施例中对视频编码方法或视频解码方法的描述,这里不再赘述,对采用相同方法的有益效果描述,也在此不再赘述。可以理解的是,程序指令可以被部署在一个或能够互相通信的多个计算机设备上执行。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (20)

1.一种视频编码方法,其特征在于,包括:
确定视频的当前帧中的显著区域,所述显著区域是指所述当前帧中被关注的区域;所述显著区域包括所述当前帧中的一个或多个编码单元;
根据所述当前帧中的当前编码单元与所述显著区域之间的位置关系,确定所述当前编码单元的编码调整策略;所述位置关系用于指示所述当前编码单元的关注信息;
按照所确定的编码调整策略调整所述当前编码单元的编码参数;
基于调整后的编码参数对所述当前编码单元进行编码处理,得到所述视频的码流;其中,所述当前帧中位于所述显著区域之内的编码单元经编码处理后得到的编码质量优于位于所述显著区域之外的编码单元经编码处理后得到的编码质量。
2.如权利要求1所述的方法,其特征在于,所述显著区域采用显著性图表示,所述显著性图包括空域显著性图;所述确定当前帧中的显著区域,包括:
从全局维度对当前帧进行显著性分析,得到所述当前帧的全局空域显著性图;以及,从局部维度对所述当前帧进行显著性分析,得到所述当前帧的局部空域显著性图;
对所述全局空域显著性图和所述局部空域显著性图进行融合,得到所述当前帧的空域显著性图。
3.如权利要求1所述的方法,其特征在于,所述显著区域采用显著性图表示,所述显著性图包括时域显著性图;所述确定当前帧中的显著区域,包括:
获取关联帧,所述关联帧与所述当前帧属于所述视频中的相邻帧,且所述关联帧的显示顺序先于所述当前帧的显示顺序;
计算所述当前帧和所述关联帧之间的残差;
根据所述残差生成所述当前帧的时域显著性图。
4.如权利要求1所述的方法,其特征在于,所述位置关系包括所述当前编码单元与所述显著区域之间的相对位置,所述相对位置包括所述当前编码单元位于所述显著区域之内,或所述当前编码单元位于所述显著区域之外;所述当前编码单元的关注信息包括是否被关注;
若所述当前编码单元位于所述显著区域之内,则指示所述当前编码单元被关注;若所述当前编码单元位于所述显著区域之外,则指示所述当前编码单元未被关注;
其中,所述相对位置的确定方法包括以下任一种:
将所述当前编码单元的显著性值与所述显著区域的显著性范围进行比较,若所述当前编码单元的显著性值位于所述显著区域的显著性范围内,则确定所述当前编码单元位于所述显著区域之内;否则,确定所述当前编码单元位于所述显著区域之外;或者,
将所述当前编码单元对应的像素值集合与所述显著区域对应的像素值集合进行比较,若所述当前编码单元对应的像素值集合属于所述显著区域对应的像素值集合的子集,则确定所述当前编码单元位于所述显著区域之内;否则,确定所述当前编码单元位于所述显著区域之外;或者,
将所述当前编码单元在所述当前帧中的坐标范围与所述显著区域在所述当前帧中的坐标范围进行比较,若所述当前编码单元的坐标范围位于所述显著区域的坐标范围内,则确定所述当前编码单元位于所述显著区域之内;否则,确定所述当前编码单元位于所述显著区域之外。
5.如权利要求4所述的方法,其特征在于,所述位置关系还包括所述当前编码单元与所述显著区域中的参考位置之间的相对距离;所述当前编码单元的关注信息还包括对所述显著区域的显著性的影响度;所述相对距离用于指示所述当前编码单元对所述显著区域的显著性的影响程度;所述相对距离越小,则所述当前编码单元对所述显著区域的影响程度越高;
其中,所述相对距离的确定方法包括以下任一种:
将所述当前编码单元的显著性值与所述参考位置的显著性值之间的显著差值,确定为所述当前编码单元与所述显著区域中的参考位置之间的相对距离;或者,
将所述当前编码单元中的目标像素点的像素值与所述参考位置对应的像素值之间的像素差值,确定为所述当前编码单元与所述显著区域中的参考位置之间的相对距离;或者,
将所述当前编码单元中的目标像素点在所述当前帧中的坐标与所述参考位置在所述当前帧中的坐标之间的欧式距离,确定为所述当前编码单元与所述显著区域中的参考位置之间的相对距离;
其中,所述参考位置包括以下任一种或多种:所述显著区域内的中心像素点位置,所述显著区域内显著性值最大的编码单元的任一像素点位置,所述显著区域内的像素值最大的像素点位置;所述当前编码单元中的目标像素点包括以下任一种:所述当前编码单元中的中心像素点,所述当前编码单元内的任一像素点,所述当前编码单元的任一边缘像素点,当前编码单元中像素值最大的像素点。
6.如权利要求1所述的方法,其特征在于,所述位置关系包括所述当前编码单元与所述显著区域之间的相对位置;所述编码参数包括第一编码参数或第二编码参数,所述第一编码参数与所述编码质量呈负相关关系;所述第二编码参数与所述编码质量呈正相关关系;
若所述当前编码单元位于所述显著区域之内,且所述编码参数包括所述第一编码参数,则所述当前编码单元的编码调整策略为减小所述第一编码参数;
若所述当前编码单元位于所述显著区域之内,且所述编码参数包括所述第二编码参数,则所述当前编码单元的编码调整策略为增大所述第二编码参数;
若所述当前编码单元位于所述显著区域之外,且所述编码参数包括所述第一编码参数,则所述当前编码单元的编码调整策略为增大所述第一编码参数;
若所述当前编码单元位于所述显著区域之外,且所述编码参数包括所述第二编码参数,则所述当前编码单元的编码调整策略为减小所述第二编码参数。
7.如权利要求6所述的方法,其特征在于,所述位置关系还包括所述当前编码单元与所述显著区域中的参考位置之间的相对距离;
若所述当前编码单元位于所述显著区域之内,且所述当前编码单元的编码调整策略为减小所述第一编码参数,则所述当前编码单元与所述参考位置之间的相对距离越小,所述第一编码参数的减小幅度越大;
若所述当前编码单元位于所述显著区域之内,且所述当前编码单元的编码调整策略为增大所述第二编码参数,则所述当前编码单元与所述参考位置之间的相对距离越小,所述第二编码参数的增大幅度越大;
若所述当前编码单元位于所述显著区域之外,且所述当前编码单元的编码调整策略为增大所述第一编码参数,则所述当前编码单元与所述参考位置之间的相对距离越小,所述第一编码参数的增大幅度越大;
若所述当前编码单元位于所述显著区域之外,且所述当前编码单元的编码调整策略为减小所述第二编码参数,则所述当前编码单元与所述参考位置之间的相对距离越小,所述第二编码参数的减小幅度越大。
8.如权利要求1所述的方法,其特征在于,所述按照所确定的编码调整策略调整所述当前编码单元的编码参数,包括:
获取所述当前编码单元的编码参数;
按照预设映射规则将所述当前编码单元的显著性值映射为所述编码参数的偏移值;所述当前编码单元的显著性值用于反映所述当前编码单元在所述当前帧中的受关注度,所述偏移值用于决定所述编码参数的调整幅度;
采用所述偏移值对所述编码参数进行调整;
其中,所述编码参数包括第一编码参数或第二编码参数;所述第一编码参数包括量化参数,所述第二编码参数包括比特数或码率;所述预设映射规则包括:若所述编码调整策略为减小所述第一编码参数或者减小所述第二编码参数,则所述偏移值为负值;若所述编码调整策略为增大所述第一编码参数或者增大所述第二编码参数,则所述偏移值为正值。
9.如权利要求8所述的方法,其特征在于,所述显著区域采用显著性图表示,所述显著性图包括空域显著性图和时域显著性图,所述空域显著性图用于表示第一属性的显著区域,所述时域显著性图用于表示第二属性的显著区域;所述编码参数包括第一编码参数,所述第一编码参数包括量化参数;
所述按照预设映射规则将所述当前编码单元的显著性值映射为所述编码参数的偏移值,包括:
按照预设映射规则将所述当前编码单元在所述空域显著性图中对应的空域显著性值映射为所述量化参数的空域偏移值;以及,
将所述当前编码单元在所述时域显著性图中对应的时域显著性值映射为所述量化参数的时域偏移值。
10.如权利要求9所述的方法,其特征在于,所述采用所述偏移值对所述编码参数进行调整,包括:
为所述时域偏移值分配第一权重,以及为所述空域偏移值分配第二权重;
采用所述第一权重和所述第二权重,对所述时域偏移值、所述空域偏移值以及所述当前编码单元的量化参数进行加权求和,得到调整后的量化参数。
11.如权利要求2所述的方法,其特征在于,所述从全局维度对当前帧进行显著性分析,得到所述当前帧的全局空域显著性图,包括:
对所述当前帧进行降采样处理,得到降采样后的当前帧;
对所述降采样后的当前帧进行区域识别处理,得到所述当前帧的图像矩阵;所述图像矩阵用于反映所述当前帧中的不同图像区域;
基于所述图像矩阵构建全局空域显著性图。
12.如权利要求11所述的方法,其特征在于,所述基于所述图像矩阵构建全局空域显著性图,包括:
对所述图像矩阵进行区域增强处理,得到增强图像矩阵;
对所述增强图像矩阵进行上采样处理,得到目标图像矩阵;
基于所述目标图像矩阵得到全局空域显著性图。
13.如权利要求2所述的方法,其特征在于,所述从局部维度对所述当前帧进行显著性分析,得到所述当前帧的局部空域显著性图,包括:
对所述当前帧进行区域划分处理,得到多个局部图像区域;每个局部图像区域包括多个图像块;
确定各个图像块在所属局部图像区域中的图像差异信息;
根据所述各个图像块对应的图像差异信息生成所述局部空域显著性图。
14.如权利要求13所述的方法,其特征在于,所述确定各个图像块在所属的局部图像区域中的图像差异信息,包括:
对局部图像区域中每个图像块进行变换处理,得到各个图像块的低频信息;
针对任一图像块,确定所述任一图像块的低频信息与各个关联图像块分别对应的低频信息之间低频差异;所述关联图像块是在所属局部图像区域中与所述任一图像块位置相邻的图像块;
基于各个低频差异进行均值计算,得到低频差异均值;所述低频差异均值用于确定所述任一图像块对应的图像差异信息。
15.一种视频解码方法,其特征在于,包括:
接收视频的码流,所述码流包括所述视频的当前帧中的当前编码单元的编码调整策略的指示;所述编码调整策略是基于所述当前编码单元与所述当前帧中的显著区域之间的位置关系确定的,所述位置关系用于指示所述当前编码单元的关注信息;所述显著区域是指所述当前帧中被关注的区域,且所述显著区域包括所述当前帧中的一个或多个编码单元;所述当前帧中位于所述显著区域之内的编码单元经编码处理后得到的编码质量优于位于所述显著区域之外的编码单元经编码处理后得到的编码质量;
解析所述视频的码流,得到所述编码调整策略的指示;
按照所述编码调整策略的指示调整所述当前编码单元的编码参数;
基于调整后的编码参数对所述当前编码单元进行解码处理。
16.如权利要求15所述的方法,其特征在于,
若所述编码调整策略为减小编码参数,则所述编码调整策略的指示包括减小所述当前编码单元的编码参数所需的偏移值;
若所述编码调整策略为增大编码参数,则所述编码调整策略的指示包括增大所述当前编码单元的编码参数所需的偏移值;
其中,所述偏移值用于决定所述编码参数的调整幅度。
17.一种视频编码装置,其特征在于,包括:
确定模块,用于确定视频的当前帧中的显著区域,所述显著区域是指所述当前帧中被关注的区域;所述显著区域包括所述当前帧中的一个或多个编码单元;
所述确定模块,还用于根据所述当前帧中的当前编码单元与所述显著区域之间的位置关系,确定所述当前编码单元的编码调整策略;所述位置关系用于指示所述当前编码单元的关注信息;
调整模块,用于按照所确定的编码调整策略调整所述当前编码单元的编码参数;
编码模块,用于基于调整后的编码参数对所述当前编码单元进行编码处理,得到所述视频的码流;其中,所述当前帧中位于所述显著区域之内的编码单元经编码处理后得到的编码质量优于位于所述显著区域之外的编码单元经编码处理后得到的编码质量。
18.一种视频解码装置,其特征在于,包括:
收发模块,用于接收视频的码流,所述码流包括所述视频的当前帧中的当前编码单著区元的编码调整策略的指示;所述编码调整策略是基于所述当前编码单元与所述当前帧中的显域之间的位置关系确定的,所述位置关系用于指示所述当前编码单元的关注信息;所述显著区域是指所述当前帧中被关注的区域,且所述显著区域包括所述当前帧中的一个或多个编码单元;所述当前帧中位于所述显著区域之内的编码单元经编码处理后得到的编码质量优于位于所述显著区域之外的编码单元经编码处理后得到的编码质量;
解析模块,用于解析所述视频的码流,得到所述编码调整策略的指示;
调整模块,用于按照所述编码调整策略的指示调整所述当前编码单元的编码参数;
解码模块,用于基于调整后的编码参数对所述当前编码单元进行解码处理。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,执行如权利要求1-14任一项所述的视频编码方法或执行如权利要求15-16任一项所述的视频解码方法。
20.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令被处理器执行如权利要求1-14任一项所述的视频编码方法或执行如权利要求15-16任一项所述的视频解码方法。
CN202310030279.7A 2023-01-09 2023-01-09 视频编码方法、视频解码方法及相关设备 Pending CN116980604A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310030279.7A CN116980604A (zh) 2023-01-09 2023-01-09 视频编码方法、视频解码方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310030279.7A CN116980604A (zh) 2023-01-09 2023-01-09 视频编码方法、视频解码方法及相关设备

Publications (1)

Publication Number Publication Date
CN116980604A true CN116980604A (zh) 2023-10-31

Family

ID=88475466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310030279.7A Pending CN116980604A (zh) 2023-01-09 2023-01-09 视频编码方法、视频解码方法及相关设备

Country Status (1)

Country Link
CN (1) CN116980604A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117201790A (zh) * 2023-11-07 2023-12-08 河北省天然气有限责任公司 一种天然气管道监控视频优化编码方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117201790A (zh) * 2023-11-07 2023-12-08 河北省天然气有限责任公司 一种天然气管道监控视频优化编码方法及系统
CN117201790B (zh) * 2023-11-07 2024-01-09 河北省天然气有限责任公司 一种天然气管道监控视频优化编码方法及系统

Similar Documents

Publication Publication Date Title
Moorthy et al. Visual quality assessment algorithms: what does the future hold?
CN111918066B (zh) 视频编码方法、装置、设备及存储介质
Bovik Automatic prediction of perceptual image and video quality
CN112102212B (zh) 一种视频修复方法、装置、设备及存储介质
CN110944200B (zh) 一种评估沉浸式视频转码方案的方法
Ma et al. Reduced-reference video quality assessment of compressed video sequences
Wang et al. Quaternion representation based visual saliency for stereoscopic image quality assessment
Zhang et al. Fine-grained quality assessment for compressed images
CN111182303A (zh) 共享屏幕的编码方法、装置、计算机可读介质及电子设备
CN110620924B (zh) 编码数据的处理方法、装置、计算机设备及存储介质
Shao et al. No-reference view synthesis quality prediction for 3-D videos based on color–depth interactions
Wu et al. An overview of perceptual processing for digital pictures
CN114900692A (zh) 视频流帧率调整方法及其装置、设备、介质、产品
CN114554211A (zh) 内容自适应视频编码方法、装置、设备和存储介质
Fu et al. Efficient depth intra frame coding in 3D-HEVC by corner points
US11854164B2 (en) Method for denoising omnidirectional videos and rectified videos
CN116980604A (zh) 视频编码方法、视频解码方法及相关设备
Yuan et al. Object shape approximation and contour adaptive depth image coding for virtual view synthesis
Xian et al. A content-oriented no-reference perceptual video quality assessment method for computer graphics animation videos
Saha et al. Perceptual video quality assessment: The journey continues!
Nur Yilmaz A no reference depth perception assessment metric for 3D video
WO2023142715A1 (zh) 视频编码方法、实时通信方法、装置、设备及存储介质
CN111954034A (zh) 一种基于终端设备参数的视频编码方法及系统
Topiwala et al. Deep learning techniques in video coding and quality analysis
CN116193197A (zh) 一种数据处理方法、装置、设备以及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication