CN110113600B - 视频编码方法、装置、计算机可读存储介质和计算机设备 - Google Patents

视频编码方法、装置、计算机可读存储介质和计算机设备 Download PDF

Info

Publication number
CN110113600B
CN110113600B CN201810102997.XA CN201810102997A CN110113600B CN 110113600 B CN110113600 B CN 110113600B CN 201810102997 A CN201810102997 A CN 201810102997A CN 110113600 B CN110113600 B CN 110113600B
Authority
CN
China
Prior art keywords
coding unit
current coding
intra
frame prediction
prediction mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810102997.XA
Other languages
English (en)
Other versions
CN110113600A (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.)
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 CN201810102997.XA priority Critical patent/CN110113600B/zh
Priority to PCT/CN2018/112097 priority patent/WO2019148906A1/zh
Priority to JP2020540613A priority patent/JP7024098B2/ja
Priority to EP18903744.3A priority patent/EP3748966B1/en
Publication of CN110113600A publication Critical patent/CN110113600A/zh
Priority to US16/890,882 priority patent/US11070817B2/en
Application granted granted Critical
Publication of CN110113600B publication Critical patent/CN110113600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/102Methods 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/103Selection of coding mode or of prediction mode
    • 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/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/102Methods 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/124Quantisation
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

本申请涉及一种视频编码方法、装置、计算机可读存储介质和计算机设备,所述方法包括:对获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。通过对当前编码单元进行预设划分后的子单元之间的差异度确定帧内预测模式的跳过状态,减少帧内预测模式的选择次数,从而提高编码效率。

Description

视频编码方法、装置、计算机可读存储介质和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种视频编码方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术的发展,出现了视频编码技术,HEVC(High Efficient ViodeCodeing)是由国际电联ITU-T和国际标准化组织ISO共同制定的新一代高效视频编码标准。相比原有的H.264/AVC标准,HEVC采用了更多、更新、更灵活的编码技术,在相同视频质量条件下,HEVC可进一步降低码率,但代价是HEVC的计算复杂度远高于H.264/AVC,极大的增加了实时通信的难度。
目前,HEVC编码时,对编码单元的编码模式进行选择主要是通过对帧内编码模式下的所有编码单元都进行帧内预测模式选择,对于帧间编码模式下的编码单元先进行帧间预测模式选择,根据选择的最优帧间预测模式的变换量化系数的结果确定是否进行帧内预测模式选择。上述编码方式不能灵活地进行帧内预测选择,计算复杂度高,视频编码效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种通过当前编码单元对应的子单元的差异度决定帧内预测模式的跳过状态,能根据图像内容灵活选择帧内预测模式的视频编码方法、装置、计算机可读存储介质和计算机设备,降低了视频编码的复杂度,提高了视频编码效率。
一种视频编码方法,包括:
获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;
根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;
当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。
一种视频编码装置,包括:
子单元获取模块,用于获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;
跳过状态确定模块,用于根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;
编码模块,用于当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;
根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;
当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤。
获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;
根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;
当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。
上述视频编码方法、装置、计算机可读存储介质和计算机设备,通过获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。通过当前编码单元对应的各个子单元之间的差异度确定帧内预测模式的跳过状态,当帧内预测模式的跳过状态为是时,当前编码单元跳过执行帧内预测模式,能根据图像内容灵活选择帧内预测模式,降低了视频编码的复杂度,提高了视频编码效率。
附图说明
图1为一个实施例中视频编码方法的应用环境图;
图2为一个实施例中视频编码方法的框架图;
图3为一个实施例中视频编码方法的流程示意图;
图4为一个实施例中当前编码单元预设划分的示意图;
图5为一个实施例中相邻子单元差异度确定跳过状态的步骤的流程示意图;
图6为一个实施例中计算相邻子单元差异度的步骤的流程示意图;
图7为另一个实施例中视频编码方法的流程示意图;
图8为一个实施例中帧内预测模式编码的步骤的流程示意图;
图9为再一个实施例中视频编码方法的流程示意图;
图10为一个实施例中编码划分的示意图;
图11为一个具体实施例中视频编码方法的流程示意图;
图12为一个具体实施例中计算相邻子单元差异度的步骤的流程示意图;
图13为一个实施例中视频编码装置的结构框图;
图14为一个实施例中跳过状态确定模块的结构框图;
图15为一个实施例中子单元差异计算单元的结构框图;
图16为另一个实施例中视频编码装置的结构框图;
图17为另一个实施例中编码模块的结构框图;
图18为在一个实施例中视频编码装置的结构框图;
图19为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中视频编码方法的应用环境图。在该应用环境中,包括终端110以及服务器120。终端110通过对视频图像进行编码,具体编码步骤包括:获取当前编码单元对应的子单元集合,子单元集合由对当前编码单元进行预设划分得到的各个子单元组成;根据子单元集合中各个子单元的差异度确定当前编码单元对应的帧内预测模式的跳过状态;当帧内预测模式的跳过状态为是时,对当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对当前编码单元进行编码,终端110可以将编码后的视频通过网络发送给服务器120。也可以将终端110获取到的视频图像发送到服务器120中,在服务器120中对视频图像通过上述方法进行编码。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、专业相机等,但并不局限于此。服务器120以及终端110可以网络等通讯连接方式进行连接,本发明在此不做限制。
图2为一个实施例中视频编码方法的框架图。参照图2,进行视频编码时,将视频图像分成多个编码单元,编码控制模块根据视频帧中不同编码单元的局部特性,选择该编码单元所采用的编码预测模式,预测模式可以包括帧内或帧间预测编码。对帧内预测编码的编码单元进行空域预测,对帧间预测编码的编码单元进行运动估计后进行运动补偿预测,得到预测值后将编码单元的实际值与预测值相减得到预测残差,再通过变换和量化处理形成残差系数,最后通过熵编码器生成最终的码流。其中,在进行帧间预测时,需要参考其他已经预测编码的编码单元进行运动估计,因此,需要将已经编码的编码单元进行反量化和反变换、去块滤波、参考帧后进行运动估计。由于编码单元的预测模式有多种,且计算过程复杂,若对每一种预测模式度进行计算,将会导致编码效率下降,故可以根据编码单元的一些特性对部分编码单元跳过帧内预测编码,以减少计算量,提高编码效率。
如图3所示,在一个实施例中,提供了一种视频编码方法,该视频编码方法以应用于图1的终端或服务器进行举例说明,该视频编码方法具体包括如下步骤:
步骤S202,获取当前编码单元对应的子单元集合,子单元集合由对当前编码单元进行预设划分得到的各个子单元组成。
具体地,当前编码单元(Coding Uint,CU)是对图像进行编码划分之后得到的多个编码块中的其中一个编码块。如在HEVC中采用了树状CU结构,可以灵活选择64x64、32x32、16x16、8x8四种编码单元。预设划分不等同于编码划分,编码划分是根据编码标准进行划分,而预设划分不受编码标准的限制,仅仅是用于将图像划分成多个区域,其中,每个区域之间可以重叠也可以不重叠。将当前编码单元按照预设的规则进行划分得到多个子单元,各个子单元之间可以重叠,可以不重叠,子单元之间的大小可以一直也可以不一致。如,以HEVC中例,将当前编码单元划分成四个尺寸相同的子单元,将该四个子单元组成的集合称之为子单元集合。如图4所示,以尺寸为64×64像素作为当前编码单元,将当前编码单元划分成4个不重叠的32×32的子单元组成的子单元集合,或划分成4个部分重叠的32×32的子单元。
步骤S204,根据子单元集合中各个子单元的差异度确定当前编码单元对应的帧内预测模式的跳过状态。
其中,差异度是根据子单元间的图像内容确定的,子单元之间的差异度越大,子单元之间越不相似,反之,子单元之间的差异度越小,子单元之间越相似。当前编码单元对应的帧内预测模式的跳过状态用于表示当前编码单元是否跳过帧内预测模式,其中,跳过状态包括是和否两种状态。当跳过状态为是时,表示对当前编码单元进行编码时,跳过帧内预测模式,选择帧间预测模式,当跳过状态为否时,表示对当前编码单元进行编码时,需要执行帧内预测模式。根据当前编码单元对应的子单元之间的差异度确定当前编码单元是否跳过帧内预测模式。
在一个实施例中,根据子单元集合中各个子单元的差异度确定当前编码单元对应的帧内预测模式的跳过状态为否时,可以通过其它条件进一步确定当前编码单元的预测模式。
在一个实施例中,差异度是根据子单元之间的像素差确定的。图像的像素是用于描述图像内容的,根据像素的差异性确定当前编码单元对应的帧内预测模式的跳过状态,相当于是根据图像本身的内容的差异性确定当前编码单元对应的帧内预测模式的跳过状态。根据图像本身的内容的差异性能够更为准确的确定子单元之间的相似性,从而根据该相似性确定的跳过状态的准确性更高。
在另一个实施例中,差异度是根据子单元的之间的像素差进行变换处理得到的。如,对子单元之间的像素差进行变换或量化得到差异度。对像素差进行变换能够得到不同空间的信息,采用多维信息能够更为准确的反映子单元之间的相似性。
步骤S206,当帧内预测模式的跳过状态为是时,对当前编码单元跳过执行帧内预测模式,根据帧间预测模式对当前编码单元进行编码。
具体地,根据子单元之间的差异度确定当前编码单元的帧内预测模式的跳过状态为是时,表示当前编码单元更适合选择帧间预测模式,对当前编码单元进行编码时跳过帧内预测模式,直接进入计算帧间预测模式下的帧间编码代价的步骤,根据帧间编码代价确定目标编码模式,根据目标编码模式对当前编码单元进行编码。
进一步的,如果当前编码单元还能进行编码划分,对当前编码单元进行划分得到子编码单元,进行一次划分后得到的各个子编码单元组成子编码单元集合,将子编码单元集合中的各个子编码单元作为当前编码单元采用上述编码方法进行编码。
上述视频编码方法,通过获取当前编码单元对应的子单元集合,子单元集合由对当前编码单元进行预设划分得到的各个子单元组成;根据子单元集合中各个子单元的差异度确定当前编码单元对应的帧内预测模式的跳过状态;当帧内预测模式的跳过状态为是时,对当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对当前编码单元进行编码。通过计算当前编码单元对应的子单元之间的差异度,确定当前编码单元对应的帧内预测模式的跳过状态,减少编码过程中帧内预测模式的选择,从而降低视频编码的复杂度,提高视频编码效率。通过子单元之间的差异度确定当前编码单元对应的帧内预测模式的跳过状态,子单元之间的差异度反映了图像内容的差异度,根据图像内容的差异度确定当前编码单元对应的帧内预测模式,能够减少编码损失,保证编码质量。
如图5所示,在一个实施例中,步骤S204,包括:
步骤S2042,计算各个相邻子单元的差异度组成差异度集合。
具体地,各个相邻子单元的差异度是用于表示各个相邻子单元的差异程度或相似程度。各个相邻子单元的差异度越大表示相邻子单元之间越不相似,反之,越小表示相邻子单元之间越相似。通过计算子单元集合中各个相邻的子单元的差异度,由各个相邻子单元的差异度组成差异度集合。
在一个实施例中,各个相邻子单元的差异度包括但不限于用绝对误差和、哈达玛变换的差异和、经过变换的绝对误差和或平均绝对差值参数进行衡量。
步骤S2044,对各个相邻子单元的差异度进行统计得到总差异度。
具体地,对差异度进行统计得到总差异度,该总差异度用于判断四个子单元的总相似度,差异度越大,表明各个子单元之间越不相似,反之,差异度越小,表明各个子单元之间越相似。
步骤S2046,当总差异度小于预设差异度阈值时,从差异度集合中获取最大值差异度和最小值差异度。
具体地,预设差异度阈值是用于判断图像是否相似的一个临界值,当总差异度小于预设差异度时,表示子单元比较相似,从上述子单元的差异度集合中选取最大值差异度和最小值差异度。最大值差异度表示两个相邻子单元最不相似,最小值差异度表示两个相邻子单元是最相似的。
在一个实施例中,预设差异度阈值是根据经验设定的。
在另一个实施例中,预设差异度阈值是根据已编码的编码单元的模式和/或已编码的编码单元的的差异度和/或差异度阈值确定的。
在又一个实施例中,预设差异度阈值是一个与当前编码单元的尺寸大小成正相关的值。
步骤S2048,根据最大值差异度和最小值差异度确定当前编码单元对应的子单元相似度。
具体地,最大值差异度表示子单元集合中差异最大的两个子单元对应的差异度,最小值差异度表示子单元集合中差异最小的两个子单元对应的差异度,通过比较最大值差异度和最小值差异度的差异确定当前编码单元对应的子单元的相似度。其中,最大值差异度和最小值差异度的差异可以通过自定义算法确定。如,可以根据两者的比值和/或两者的差值进行确定。
步骤S2049,根据子单元相似度确定当前编码单元对应的帧内预测模式的跳过状态。
具体地,根据子单元相似度确定当前编码单元对应的帧内预测模式的跳过状态,当子单元相似度满足预设的相似度阈值时,将当前编码单元对应的帧内预测模式的跳过状态设置为否,反之,当前编码单元对应的帧内预测模式的跳过状态设置为是。通过计算各个相邻子单元的差异度确定各个相邻子单元的相似度,通过各个相邻子单元的相似度确定当前编码单元对应的帧内预测模式的跳过状态,从而减少当前编码单元对应的帧内预测模式的选择次数,提高编码效率。
在一个实施例中,参考图4,当前编码单元划分的子单元包括子单元A、B、C和D。其中,子单元A和子单元B、C相邻,子单元D和子单元B、C相邻,计算子单元A和子单元B、C,子单元D和子单元B、C的差异度,得到差异度分别用AB、AC、BD和CD表示,由上述四个差异度组成差异度集合。对上述四个差异度AB、AC、BD和CD进行统计得到对应的总差异度Sum_ABCD。当该总差异度Sum_ABCD小于预设差异度阈值T_ABCD时,从差异度AB、AC、BD和CD中找出最小值和最小值差异度,设最大值差异度为AB,最小值差异度为CD,通过AB和CD的差异确定子单元A、B、C和D的相似度。根据子单元A、B、C和D的相似度确定当前编码单元对应的帧内预测模式的跳过状态。
如图6所示,在一个实施例中,步骤S2042,包括:
步骤S2042A,计算各个相邻子单元的像素残差得到对应的像素残差矩阵组成残差矩阵集合。
具体地,残差矩阵用于表示两个矩阵之间的差异,通过计算各个相邻子单元的像素的像素残差得到像素残差矩阵,由各个相邻子单元的像素残差矩阵组成的集合为残差矩阵集合。
步骤S2042B,对残差矩阵集合中的各个残差矩阵进行特征变换,得到对应的变换矩阵组成变换矩阵集合。
具体地,特征变换是用于把数据从一个空间投影到另一个空间,数据在不同空间中会表现不同的数据特性。通过特征变换对残差矩阵集合中的各个矩阵进行变换,得到对应的变换矩阵,由各个变换矩阵组成变换矩阵集合。
在一个实施例中,特征变换可以采用哈达玛变换。哈达玛变换是利用哈达玛矩阵作为变换矩阵对矩阵进行变换,对各个像素残差矩阵进行变换得到变换矩阵,由各个变换矩阵组成的集合为变换矩阵集合。其中,哈达玛矩阵是一个对称的正交矩阵。2阶的哈达玛变换矩阵为H2,具体的表达式如式(1)所示:
Figure BDA0001566955810000091
用N阶的哈达玛变换矩阵HN表示2N阶的哈达玛矩阵H2N如式(2)所示:
Figure BDA0001566955810000092
在一个实施例中,对像素残差矩阵AB进行哈达玛变换得到变换矩阵,即TAB=H·AB,其中H为哈达玛变换矩阵。
步骤S2042C,对变换矩阵集合中各个变换矩阵的矩阵元素的绝对值进行求和,得到对应的统计差异度组成差异度集合。
具体地,对变换矩阵中的矩阵元素求绝对值,对矩阵中各个矩阵元素绝对值进行统计,得到对应的统计差异度,由各个变换矩阵统计后的差异度组成差异度集合。
在一个实施例中,可以通过对残差矩阵进行哈达玛变换,在计算变换后的绝对值之后得到的差异度相比直接计算两个子单元的残差矩阵的像素和更为准确,更能够体现两个相邻子单元的相似度或差异度。
在一个实施例中,设对像素残差变换之后的变换矩阵如式(3)所示:
Figure BDA0001566955810000101
则相邻子对于A、B的差异度为HAD1=1+2+3+1=7。
在一个实施例中,步骤S2044之后,包括:
步骤S2045,当总差异度大于预设差异度阈值时,当前编码单元对应的帧内预测模式的跳过状态为是。
具体地,将总差异度与根据经验设置的预设差异度阈值或者根据已编码的编码单元确定的预设差异度阈值进行比较,当总差异度大于预设差异度阈值时,表示该当前编码单元对应的各个子单元的差异相对比较大,当前编码单元对应的帧内预测模式的跳过状态设置为是,说明在对当前编码单元进行编码时,采用帧间预测模式更为合理。通过总差异度确定当前编码单元的差异度,是从整体上考虑各个子单元的相似性能够更好体现编码单元的整体性。
在一个实施例中,当总差异度小于等于预设差异度阈值时,从各个子单元之间的差异度自定义选取部分子单元的差异度,采用自定义的算法对部分子单元的差异度进行计算,对计算得到的结果确定当前编码单元对应的帧内预测模式的跳过状态。
在一个实施例中,从各个子单元之间的差异度中选取最大的差异度和最小的差异度分别作为最大值差异度和最小值差异度。根据自定义算法对最大值差异度和最小值差异度进行计算,得到对应的计算结果。
在一个实施例中,步骤S2048,包括:计算最大值差异度和最小值差异度的比值。
具体地,获得最大值差异度和最小值差异度后,计算最大值差异度和最小值差异度的比值。通过计算最大值差异度和最小值差异的比值来体现最大值和最小值之间的差异,上述最大值差异度和最小值差异度的差异能够体现子单元之间的最大差异。
在一个实施例中,步骤S2049,包括
当比值小于预设阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
具体地,若比值比预设阈值小时,表示差异度小,也就是当前编码单元的子单元相似性较好,当前编码单元对应的帧内预测模式的跳过状态设置为否,当前编码单元适合选择帧内预测模式。其中,预设阈值可以是根据经验设定的,也可以是根据已编码的编码单元的模式和已编码的编码单元的哈达玛变换差异和计算得到的。如,根据已编码的采用帧间预测的编码单元的哈达玛变换差异和或平均值确定。
在总的差异度基础上,参考最大值差异度和最小值差异度的比值,能够从整体差异性和局部差异性进行综合考量,更为准确的确定当前编码单元对应的帧内预测模式的跳过状态。
在一个实施例中,在计算最大值差异度和最小值差异度的比值的步骤之后,包括:
步骤S2053,当比值大于预设阈值,当前编码单元能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为是。
具体地,编码划分是指对图像或编码单元按照编码标准进行划分,不同的编码标准对应不同的编码划分方式。当前编码单元能否进行编码划分是根据当前编码单元是否为最小编码单元确定的,若当前编码单元为最小编码单元,表示当前编码单元不能进行编码划分,若当前编码单元不是最小编码单元,表示当前编码单元可以进行编码划分。在确定最大值与最小值差异度的比值大于预设阈值时,表示当前编码单元的子单元的相似性相对较差,根据当前编码单元的编码划分情况确定当前编码单元对应的帧内预测模式的跳过状态。若当前编码单元的编码能够进行编码划分,将当前编码单元对应的帧内预测模式的跳过状态设置为是,当前编码单元跳过帧内预测模式,减少帧内预测模式的选择,提高视频编码效率。
在一个实施例中,在计算最大值差异度和最小值差异度的比值的步骤之后,包括:
当比值大于预设阈值,当前编码单元不能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为否。
具体地,在确定最大值与最小值差异度的比值大于预设阈值时,表示当前编码单元的子单元的相似性相对较差,根据当前编码单元的编码划分情况确定当前编码单元对应的帧内预测模式的跳过状态。若当前编码单元的编码不能够进行下一步的划分,将当前编码单元对应的帧内预测模式的跳过状态设置为否,表示当前编码单元适合进行帧内预测模式选择。
在本实施例中,通过当前编码单元的编码划分状态确定当前编码单元对应的帧内预测模式的跳过状态,通过当前编码单元的编码划分,减少帧内预测模式的选择,从而提高视频编码的效率。
如图7所示,在一个实施例中,步骤S202之前,包括:
步骤S208,获取当前编码单元在帧间预测模式下的目标帧间预测残差。
具体地,对当前编码单元进行帧间预测,得到帧间预测模式下的一个或多个编码方式,选择其中最优的编码方式作为对应的预测残差作为目标帧间预测残差。其中,最优的编码方式可以是根据帧间预测残差确定的,也可以是根据帧间预测编码代价确定的。如,选取其中帧间预测残差最小的作为目标帧间预测残差。
步骤S210,当检测到目标帧间预测残差大于预设残差阈值时,获取当前编码单元的相邻编码单元的编码方式。
具体地,预测残差阈值可以是根据经验值设定的,也可以是根据已编码单元的残差确定的。如,根据相邻已编码单元确定的残差。当步骤S202中获得的目标预测残差大于预设残差时,说明帧间预测模式不一定是最优的预测模式。根据当前编码单元的目标预测残差无法确定是否选择帧内预测模式。可以进一步获取当前编码单元的相邻编码单元的编码方式。通过相邻编码单元的编码方式进一步确定是否选择帧内预测模式。
步骤S212,当相邻编码单元的编码方式为帧间编码方式时,获取当前编码单元的量化参数。
具体地,若当前编码单元的相邻编码单元的编码方式没有帧内编码方式时,表示无法单独根据相邻单元的编码方式确定是否选择帧内预测模式,进一步获取当前编码单元的量化参数。其中,量化参数反映了空间细节压缩情况,如,量化参数小,大部分的细节都会被保留;随着量化参数的增大,图像的部分细节丢失,码率降低,图像失真加强,质量下降。量化参数能够衡量编码质量,故根据量化参数确定当前编码的跳过状态,能够有效保证视频编码的质量。
步骤S214,当当前编码单元的量化参数小于等于预设量化参数阈值时,则进入获取当前编码单元对应的子单元集合的步骤。
具体地,若当前编码单元的量化参数小于等于预设的量化参数阈值,说明图像保留了较多的细节,进入步骤S202,获取当前编码单元对应的子单元集合。
在本实施例中,通过当前编码单元的相邻编码单元的编码方式和/或当前编码单元的量化参数能够更准确的确定当前编码单元对应的帧内预测模式的跳过状态,从而提高编码效率,减少编码损失。
在一个实施例中,步骤S210之后,还包括:
步骤S216,当相邻编码单元的编码方式为帧内编码方式时,当前编码单元对应的帧内预测模式的跳过状态为否。
具体地,若当前编码单元的相邻编码单元中存在帧内编码方式时,当前编码单元对应的帧内预测模式的跳过状态设置为否,当前编码单元适合进行帧内预测选择。相邻编码单元存在帧内编码方式,说明相邻编码单元的图像内容比较相似,与相邻编码单元比较靠近的编码单元图像内容比较相似的概率较大,故可以选择帧内预测模式。
在一个实施例中,步骤S214之后,包括:
步骤S218,当当前编码单元量化参数大于预设量化参数阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
具体地,量化参数表示编码的编码步长,步长越长表示图像损失的细节越多。若当前编码单元量化参数大于预设量化参数阈值时,表示当前编码单元的编码步长越大,说明编码的失真度比较大,需要进行帧内预测模式的选择,将当前编码单元对应的帧内预测模式的跳过状态设置为否。
在本实施例中,通过当前编码单元的量化参数的大小确定的当前编码单元对应的帧内预测模式的跳过状态。量化参数体现了视频编码质量,最优的编码方式是保证一定编码质量的同时将图像压缩到最小,通过量化参数确定的当前编码单元对应的帧内预测模式的跳过状态更为准确,且能够在一定程度上保证视频编码的质量。
如图8所示,在一个实施例中,上述视频编码方法还包括:
步骤S402,获取当前编码单元在帧间预测模式下的目标帧间预测残差。
其中,视频编码中,图像的冗余信息包括时间冗余信息,帧间预测可以减少时间冗余信息。当视频图像输入编码器时,可以将视频图像分成一个或多个编码单元,然后选择与编码单元对应的目标预测模式,预测模式可以根据不同的视频编码标准进行设置。
具体地,对视频图像进行编码划分得到编码单元,选取其中一个编码单元作为当前编码单元,对当前编码单元进行帧间预测,得到帧间预测模式下的一个或多个编码方式,选择其中最优的编码方式作为对应的预测残差作为目标帧间预测残差。
步骤S404,当帧内预测模式的跳过状态为否时,计算当前编码单元在帧内预测模式下的目标帧内预测残差。
其中,目标帧内预测残差是当前编码单元进行帧内预测模式各个帧内编码方式对应的编码代价中的最小编码代价,其中,当前编码单元的编码代价可以通过计算当前编码单元的量化参数和/或对应的残差得到的。对当前编码单元进行编码时,跳过帧内预测模式,计算当前编码单元在帧内预测模式下的目标帧内预测残差。
在一个实施例中,由于需要计算多编码模式对应的编码代价,故,可以采用复杂度较小的编码代价计算方法计算得到较为粗略的编码代价,从这些粗略的编码代价中选择一个最小值的编码代价作为当前编码单元帧内编码模式,将该帧内编码模式对应的帧内预测残差作为目标帧内预测残差。
步骤S406,当目标帧内预测残差小于目标帧间预测残差时,根据目标帧内预测残差计算当前编码单元的帧内编码代价。
具体地,目标帧内预测残差目标帧间预测残差进行比较,当目标帧内预测残差小于目标帧间预测残差时,表示帧内的预测残差更小,也就是说在当前层选择帧内预测模式进行编码会更佳,故根据目标帧内预测残差计算当前编码单元的帧内编码代价。
在一个实施例中,可以采用编码复杂度较高算法等到一个更为精确的帧内编码代价。
步骤S408,当帧内预测残差大于目标帧间预测残差时,根据目标帧间预测残差计算当前编码单元对应的帧间编码代价。
具体地,当目标帧内预测残差大于目标帧间预测残差时,表示帧间的预测残差更小,根据目标帧内预测残差计算当前编码单元的帧间编码代价。
在一个实施例中,由于仅仅是计算目标帧间预测残差对应的编码方式的编码代价,故可以采用编码复杂度较高算法等到一个更为精确的帧间编码代价。
步骤S410,根据帧内编码代价和帧间编码代价确定目标编码模式。
具体地,根据帧内编码代价和/或或者帧间编码代价确定目标编码模式。其中,目标编码模式时根据帧内编码代价和帧间编码代价中的最小值编码代价确定。
步骤S412,根据目标编码模式对当前编码单元进行编码。
具体的,在确定了目标编码模式后,根据对应编码方式对当前编码单元进行编码。
在一个实施例中,以HEVC为例,设编码代价为COST,则COST=D+λR,其中,D表示当前编码单元对应的图像编码块的失真程度,D可以采用绝对差值和SAD运算计算得到,λ为拉格朗日常数,R表示编码单元对应的图像编码块占用的比特数目。根据该编码代价计算方法计算得到帧内编码代价和帧间编码代价,根据帧内编码代价和帧间编码代价确定编码目标编码模式。最好的编码就是在允许一定的失真下,把视频压缩到最小。故根据失真率和比特数确定的编码代价能够在压缩率和失真率中找到平衡。
如图9所示,在一个实施例中,视频编码方法还包括:
步骤S220,对当前编码单元进行编码划分得到各个子编码单元组成对应的子编码单元集合。
具体地,通过编码划分将一个编码单元进行划分得到更小的编码单元,编码划分的方式和次数可根据编码标准的不同进行定义。
如图10所示,以HEVC为例,最大的编码单元为64×64像素,对该最大编码单元进行编码划分得到4个32×32像素的子编码单元,对4个32×32像素的子编码单元进行编码划分得到16个16×16像素的子编码单元,在对16个16×16像素的子编码单元进行编码划分得到64个8×8像素的子编码单元。
步骤S222,将子编码单元集合中的各个子编码单元作为当前编码单元,返回获取当前编码单元对应的子单元集合步骤。
具体地,将子编码单元集合中的各个子编码单元作为当前编码单元,返回步骤S202,确定各个子编码单元对应的帧内预测模式的跳过状态,当子编码单元对应的帧内预测模式的跳过状态为是时,对子编码单元跳过执行帧内预测模式,根据帧间预测模式对子编码单元进行编码,从而实现各个子编码单元的快速编码。
如图11所示,在一个具体的实施例中,视频编码方法,包括:
步骤S601,获取当前编码单元帧间编码预测模式先的目标帧间预测残差。首先对当前编码单元进行帧间预测编码。根据预测残差选择最优帧间预测模式。最优帧间预测模式对应的预测残差为目标帧间预测残差。
步骤S602,判断目标预测残差是否大于预设残差阈值。根据目标帧间预测残差判断是否需要进行帧内预测模式选择,如果目标帧间预测残差不大于预设残差阈值,则不需要进行帧内预测模式选择,直接进入步骤S610;否则,如果目标帧间预测残差大于预设残差阈值时,则进入步骤S603。
步骤S603,如果当前编码单元的已编码相邻编码单元含有帧内预测编码单元,则当前编码单元需要进行帧内预测模式选择,进入步骤S607;否则进入步骤S604进行进一步判断。
步骤S604,判断当前编码单元的量化参数是否大于预设量化参数阈值,当量化参数大于预设量化参数阈值时进入步骤S605,当量化参数小于预设量化参数阈值时进入步骤S607。
步骤S605,计算当前编码单元进行预设划分得到对应的4个子单元的差异度。
步骤S606,根据四个子单元的差异度确定是否选择帧内预测模式。若差异度小则选择帧内预测模式进入步骤S607,若是差异大则进行入步骤S610。如图12所示,具体的判定步骤包括:
步骤S6061,判断总差异度是否大于预设差异度阈值。其中,总差异度是通过对四个子单元的各个相邻单元的差异度得到四个差异度,对四个差异度进行统计得到的。若总差异度大于预设差异度阈值,则进入步骤S6066,反之,若总差异度小于等于预设差异度阈值时,进入步骤S6062。
步骤S6062,计算四个子相邻单元中的最大值差异度和最小值差异度的比值。
步骤S6063,判断步骤S6063中得到的比值是否大于预设阈值,若大于该预设阈值,则进入步骤S6064,反之,则进如步骤S6065。
步骤S6064,判断当前编码单元是否可以进行下一层编码划分,若当前编码单元可以进行下一层编码划分,则进入步骤S6066,反之,则进如步骤S6065。
步骤S6064,当前编码单元需要进行帧内预测模式选择,进入步骤S607。
步骤S6064,当前编码单元不需要进行帧内预测模式选择,进入步骤S610。
步骤S607,选择帧内预测模式并计算帧内预测残差。对当前编码单元进行帧内预测模式选择,并多个编码方式中选取最小的预测残差作为帧内预测残差。
步骤S608,判断帧内预测残差是否小于帧间目标预测残差,若帧内预测残差小于帧间目标预测残差,进入步骤S609,反之,进入步骤S610。
步骤S609,计算当前编码单元的帧内预测模式下的帧内编码代价。
步骤S610,计算当前编码单元在帧内预测模式下的帧内编码代价。
步骤S611,通过帧内编码代价和帧间编码代价确定目标编码模式。其中,目标编码模式是帧内编码代价和帧间编码代价中最小的编码代价对应的编码模式。
步骤S612,根据目标编码模式对当前编码单元进行编码。
如图13所示,在一个实施例中,提供了一种视频编码装置,装置包括:
子单元获取模块202,用于获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成。
跳过状态确定模块204,用于根据子单元集合中各个子单元的差异度确定当前编码单元对应的帧内预测模式的跳过状态。
编码模块206,用于当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。
如图14所示,在一个实施例中,跳过状态确定模块204,包括:
子单元差异度计算单元2042,用于计算各个相邻子单元的差异度组成差异度集合。
总差异度计算单元2044,用于对各个相邻子单元的差异度进行统计得到总差异度。
差异度极值获取单元2046,用于当总差异度小于预设差异度阈值时,从差异度集合中获取最大值差异度和最小值差异度。
相似度确定单元2048,用于根据最大值差异度和最小值差异度确定当前编码单元对应的子单元相似度。
跳过状态确定单元2049,用于根据子单元相似度确定当前编码单元对应的帧内预测模式的跳过状态。
如图15所示,在一个实施例中,子单元差异度计算单元2042,包括:
残差矩阵集合计算子单元2042A,用于计算各个相邻子单元的像素残差得到对应的像素残差矩阵组成残差矩阵集合。
变换子单元2042B,用于对残差矩阵集合中的各个残差矩阵进行特征变换,得到对应的变换矩阵组成变换矩阵集合。
矩阵求和子单元2042C,用于对变换矩阵集合中各个变换矩阵的矩阵元素的绝对值进行求和,得到对应的统计差异度组成差异度集合。
在一个实施例中,跳过状态确定单元2049,还用于当总差异度大于预设差异度阈值时,当前编码单元对应的帧内预测模式的跳过状态为是。
在一个实施例中,相似度确定单元2048,还用于计算最大值差异度和最小值差异度的比值。
跳过状态确定单元2049,还用于当比值小于预设阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,跳过状态确定单元2049,还用于当比值大于预设阈值,当前编码单元能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为是。
在一个实施例中,跳过状态确定单元2049,还用于当比值大于预设阈值,当前编码单元不能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为否。
如图16所示,在一个实施例中,视频编码装置200,包括:
帧间预测残差获取模块208,用于获取当前编码单元在帧间预测模式下的目标帧间预测残差。
相邻编码方式获取模块210,用于当检测到目标预测残差大于预设残差阈值时,获取当前编码单元的相邻编码单元的编码方式。
量化参数获取模块212,用于当相邻编码单元的编码方式为帧间编码方式时,获取当前编码单元的量化参数。
处理模块214,用于当当前编码单元的量化参数小于等于预设量化参数阈值时,则进入子单元获取模块202。
在一个实施例中,跳过状态确定模块216,还用于当相邻编码单元的编码方式为帧内编码方式时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,跳过状态确定模块206,还用于当当前编码单元量化参数大于预设量化参数阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
如图17所示,在一个实施例中,编码模块206包括:
帧间预测残差获取单元2061,用于获取当前编码单元在帧间预测模式下的目标帧间预测残差。
帧内残差计算单元2062,用于当帧内预测模式的跳过状态为否时,计算当前编码单元在帧内预测模式下的目标帧内预测残差。
帧内编码代价计算单元2063,用于当目标帧内预测残差小于目标帧间预测残差时,根据目标帧内预测残差计算当前编码单元的帧内编码代价。
帧间编码代价计算单元2064,用于当帧内预测残差大于目标帧间预测残差时,根据目标帧间预测残差计算当前编码单元对应的帧间编码代价。
目标编码模式确定单元2065,用于根据帧内编码代价和帧间编码代价确定目标编码模式。
编码单元2066,用于根据目标编码模式对当前编码单元进行编码。
如图18所示,在一个实施例中,视频编码装置200,还包括:
子编码单元划分模块216,用于对当前编码单元进行编码划分得到各个子编码单元组成对应的子编码单元集合。
递归模块218,用于将子编码单元集合中的各个子编码单元作为当前编码单元,返回子单元获取模块202。
图19示出了一个实施例中计算机设备的内部结构图。该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频编码方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频编码方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图19中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频编码装置可以实现为一种计算机程序的形式,计算机程序可在如图19所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频编码装置的各个程序模块,比如,图13所示的子单元获取模块、跳过状态确定模块和编码模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频编码方法中的步骤。
在一个实施例中,提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:获取当前编码单元对应的子单元集合,子单元集合由对当前编码单元进行预设划分得到的各个子单元组成;根据子单元集合中各个子单元的差异度确定当前编码单元对应的帧内预测模式的跳过状态;当帧内预测模式的跳过状态为是时,对当前编码单元跳过执行帧内预测模式,根据帧间预测模式对当前编码单元进行编码。
在一个实施例中,所述根据子单元集合中各个子单元的差异度确定当前编码单元进行帧内预测模式的跳过状态,包括:计算各个相邻子单元的差异度组成差异度集合,对各个相邻子单元的差异度进行统计得到总差异度,当总差异度小于预设差异度阈值时,从差异度集合中获取最大值差异度和最小值差异度,根据最大值差异度和最小值差异度确定当前编码单元对应的子单元相似度,根据子单元相似度确定当前编码单元对应的帧内预测模式的跳过状态。
在一个实施例中,所述计算各个相邻子单元的差异度组成差异度集合,包括:计算各个相邻子单元的像素残差得到对应的像素残差矩阵组成残差矩阵集合,对残差矩阵集合中的各个残差矩阵进行特征变换,得到对应的变换矩阵组成变换矩阵集合,对变换矩阵集合中各个变换矩阵的矩阵元素的绝对值进行求和,得到对应的统计差异度组成差异度集合。
在一个实施例中,对各个相邻子单元的差异度进行统计得到总差异度的步骤之后,所述计算机程序还使得所述处理器执行如下步骤:当总差异度大于预设差异度阈值时,当前编码单元对应的帧内预测模式的跳过状态为是。
在一个实施例中,所述根据最大值差异度和最小值差异度确定当前编码单元对应的子单元相似度,根据子单元相似度确定当前编码单元对应的帧内预测模式的跳过状态,包括:计算最大值差异度和最小值差异度的比值,当比值小于预设阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,所述计算最大值差异度和最小值差异度的比值之后,所述计算机程序还使得所述处理器执行如下步骤:当比值大于预设阈值,当前编码单元能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为是。
在一个实施例中,所述计算最大值差异度和最小值差异度的比值之后,所述计算机程序还使得所述处理器执行如下步骤:当比值大于预设阈值,当前编码单元不能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,获取当前编码单元对应的子单元集合,子单元集合由对当前编码单元进行预设划分得到的各个子单元组成之前,所述计算机程序还使得所述处理器执行如下步骤:获取当前编码单元在帧间预测模式下的目标帧间预测残差;当检测到目标帧间预测残差大于预设残差阈值时,获取当前编码单元的相邻编码单元的编码方式,当相邻编码单元的编码方式为帧间编码方式时,获取当前编码单元的量化参数,当当前编码单元的量化参数小于等于预设量化参数阈值时,则进入获取当前编码单元对应的子单元集合的步骤。
在一个实施例中,获取当前编码单元的相邻编码单元的编码方式之后,所述计算机程序还使得所述处理器执行如下步骤:当相邻编码单元的编码方式为帧内编码方式时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,获取当前编码单元的量化参数之后,所述计算机程序还使得所述处理器执行如下步骤:当当前编码单元量化参数大于预设量化参数阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:获取当前编码单元在帧间预测模式下的目标帧间预测残差,当帧内预测模式的跳过状态为否时,计算当前编码单元在帧内预测模式下的目标帧内预测残差,当目标帧内预测残差小于目标帧间预测残差时,根据目标帧内预测残差计算当前编码单元的帧内编码代价,当帧内预测残差大于目标帧间预测残差时,根据目标帧间预测残差计算当前编码单元对应的帧间编码代价,根据帧内编码代价和帧间编码代价确定目标编码模式,根据目标编码模式对当前编码单元进行编码。
在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:对当前编码单元进行编码划分得到各个子编码单元组成对应的子编码单元集合,将子编码单元集合中的各个子编码单元作为当前编码单元,返回获取当前编码单元对应的子单元集合的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行:获取当前编码单元对应的子单元集合,子单元集合由对当前编码单元进行预设划分得到的各个子单元组成;根据子单元集合中各个子单元的差异度确定当前编码单元对应的帧内预测模式的跳过状态;当帧内预测模式的跳过状态为是时,对当前编码单元跳过执行帧内预测模式,根据帧间预测模式对当前编码单元进行编码。
在一个实施例中,所述根据子单元集合中各个子单元的差异度确定当前编码单元进行帧内预测模式的跳过状态,包括:计算各个相邻子单元的差异度组成差异度集合,对各个相邻子单元的差异度进行统计得到总差异度,当总差异度小于预设差异度阈值时,从差异度集合中获取最大值差异度和最小值差异度,根据最大值差异度和最小值差异度确定当前编码单元对应的子单元相似度,根据子单元相似度确定当前编码单元对应的帧内预测模式的跳过状态。
在一个实施例中,所述计算各个相邻子单元的差异度组成差异度集合,包括:计算各个相邻子单元的像素残差得到对应的像素残差矩阵组成残差矩阵集合,对残差矩阵集合中的各个残差矩阵进行特征变换,得到对应的变换矩阵组成变换矩阵集合,对变换矩阵集合中各个变换矩阵的矩阵元素的绝对值进行求和,得到对应的统计差异度组成差异度集合。
在一个实施例中,所述对各个相邻子单元的差异度进行统计得到总差异度之后,所述计算机程序还使得所述处理器执行如下步骤:当总差异度大于预设差异度阈值时,当前编码单元对应的帧内预测模式的跳过状态为是。
在一个实施例中,所述根据最大值差异度和最小值差异度确定当前编码单元对应的子单元相似度,根据子单元相似度确定当前编码单元对应的帧内预测模式的跳过状态,包括:计算最大值差异度和最小值差异度的比值,当比值小于预设阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,所述计算最大值差异度和最小值差异度的比值之后,所述计算机程序还使得所述处理器执行如下步骤:当比值大于预设阈值,当前编码单元能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为是。
在一个实施例中,所述计算最大值差异度和最小值差异度的比值之后,所述计算机程序还使得所述处理器执行如下步骤:当比值大于预设阈值,当前编码单元不能进行编码划分时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,所述获取当前编码单元对应的子单元集合,子单元集合由对当前编码单元进行预设划分得到的各个子单元组成之前,所述计算机程序还使得所述处理器执行如下步骤:获取当前编码单元在帧间预测模式下的目标帧间预测残差;当检测到目标帧间预测残差大于预设残差阈值时,获取当前编码单元的相邻编码单元的编码方式,当相邻编码单元的编码方式为帧间编码方式时,获取当前编码单元的量化参数,当当前编码单元的量化参数小于等于预设量化参数阈值时,则进入获取当前编码单元对应的子单元集合的步骤。
在一个实施例中,所述获取当前编码单元的相邻编码单元的编码方式之后,所述计算机程序还使得所述处理器执行如下步骤:当相邻编码单元的编码方式为帧内编码方式时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,获取当前编码单元的量化参数之后,所述计算机程序还使得所述处理器执行如下步骤:当当前编码单元量化参数大于预设量化参数阈值时,当前编码单元对应的帧内预测模式的跳过状态为否。
在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:获取当前编码单元在帧间预测模式下的目标帧间预测残差,当帧内预测模式的跳过状态为否时,计算当前编码单元在帧内预测模式下的目标帧内预测残差,当目标帧内预测残差小于目标帧间预测残差时,根据目标帧内预测残差计算当前编码单元的帧内编码代价,当帧内预测残差大于目标帧间预测残差时,根据目标帧间预测残差计算当前编码单元对应的帧间编码代价,根据帧内编码代价和帧间编码代价确定目标编码模式,根据目标编码模式对当前编码单元进行编码。
在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:对当前编码单元进行编码划分得到各个子编码单元组成对应的子编码单元集合,将子编码单元集合中的各个子编码单元作为当前编码单元,返回获取当前编码单元对应的子单元集合的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种视频编码方法,所述方法包括:
获取当前编码单元在帧间预测模式下的目标帧间预测残差;
当检测到所述目标帧间预测残差大于预设残差阈值时,获取所述当前编码单元的相邻编码单元的编码方式;
当所述相邻编码单元的编码方式为帧间编码方式时,获取所述当前编码单元的量化参数;
当所述当前编码单元的量化参数小于或等于预设量化参数阈值时,获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;
根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;
当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述子单元集合中各个子单元的差异度确定所述当前编码单元进行帧内预测模式的跳过状态的步骤,包括:
计算各个相邻子单元的差异度组成差异度集合;
对所述各个相邻子单元的差异度进行统计得到总差异度;
当所述总差异度小于预设差异度阈值时,从所述差异度集合中获取最大值差异度和最小值差异度;
根据所述最大值差异度和最小值差异度确定所述当前编码单元对应的子单元相似度;
根据所述子单元相似度确定所述当前编码单元对应的帧内预测模式的跳过状态。
3.根据权利要求2所述的方法,其特征在于,所述计算各个相邻子单元的差异度组成差异度集合的步骤,包括:
计算所述各个相邻子单元的像素残差得到对应的像素残差矩阵组成残差矩阵集合;
对所述残差矩阵集合中的各个残差矩阵进行特征变换,得到对应的变换矩阵组成变换矩阵集合;
对所述变换矩阵集合中各个变换矩阵的矩阵元素的绝对值进行求和,得到对应的统计差异度组成所述差异度集合。
4.根据权利要求2所述的方法,其特征在于,所述对所述各个相邻子单元的差异度进行统计得到总差异度的步骤之后,包括:
当所述总差异度大于预设差异度阈值时,所述当前编码单元对应的帧内预测模式的跳过状态为是。
5.根据权利要求2所述的方法,其特征在于,所述根据所述最大值差异度和最小值差异度确定所述当前编码单元对应的子单元相似度,根据所述子单元相似度确定所述当前编码单元对应的帧内预测模式的跳过状态的步骤,包括:
计算所述最大值差异度和所述最小值差异度的比值;
当所述比值小于预设阈值时,所述当前编码单元对应的帧内预测模式的跳过状态为否。
6.根据权利要求5所述的方法,其特征在于,所述计算所述最大值差异度和所述最小值差异度的比值的步骤之后,还包括:
当所述比值大于预设阈值,所述当前编码单元能进行编码划分时,所述当前编码单元对应的帧内预测模式的跳过状态为是。
7.根据权利要求5所述的方法,其特征在于,所述计算所述最大值差异度和所述最小值差异度的比值的步骤之后,还包括:
当所述比值大于预设阈值,所述当前编码单元不能进行编码划分时,所述当前编码单元对应的帧内预测模式的跳过状态为否。
8.根据权利要求1所述的方法,其特征在于,所述预测残差阈值根据经验值设定或根据已编码单元的残差确定。
9.根据权利要求8所述的方法,其特征在于,所述获取所述当前编码单元的相邻编码单元的编码方式的步骤之后,还包括:
当所述相邻编码单元的编码方式为帧内编码方式时,所述当前编码单元对应的帧内预测模式的跳过状态为否。
10.根据权利要求8所述的方法,其特征在于,所述获取所述当前编码单元的量化参数的步骤之后,包括:
当所述当前编码单元量化参数大于所述预设量化参数阈值时,所述当前编码单元对应的帧内预测模式的跳过状态为否。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述当前编码单元在帧间预测模式下的目标帧间预测残差;
当所述帧内预测模式的跳过状态为否时,计算所述当前编码单元在帧内预测模式下的目标帧内预测残差;
当所述目标帧内预测残差小于所述目标帧间预测残差时,根据所述目标帧内预测残差计算所述当前编码单元的帧内编码代价;
当所述帧内预测残差大于所述目标帧间预测残差时,根据所述目标帧间预测残差计算所述当前编码单元对应的帧间编码代价;
根据所述帧内编码代价和所述帧间编码代价确定目标编码模式;
根据所述目标编码模式对所述当前编码单元进行编码。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述方法还包括:
对所述当前编码单元进行编码划分得到各个子编码单元组成对应的子编码单元集合;
将所述子编码单元集合中的各个子编码单元作为所述当前编码单元,返回获取当前编码单元对应的子单元集合的步骤。
13.一种视频编码装置,其特征在于,所述装置包括:
帧间预测残差获取模块,用于获取当前编码单元在帧间预测模式下的目标帧间预测残差;
相邻编码方式获取模块,用于当检测到目标预测残差大于预设残差阈值时,获取当前编码单元的相邻编码单元的编码方式;
量化参数获取模块,用于当相邻编码单元的编码方式为帧间编码方式时,获取当前编码单元的量化参数;
处理模块,用于当当前编码单元的量化参数小于或等于预设量化参数阈值时,则进入子单元获取模块;
子单元获取模块,用于获取当前编码单元对应的子单元集合,所述子单元集合由对所述当前编码单元进行预设划分得到的各个子单元组成;
跳过状态确定模块,用于根据所述子单元集合中各个子单元的差异度确定所述当前编码单元对应的帧内预测模式的跳过状态;
编码模块,用于当所述帧内预测模式的跳过状态为是时,对所述当前编码单元跳过执行所述帧内预测模式,根据帧间预测模式对所述当前编码单元进行编码。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
CN201810102997.XA 2018-02-01 2018-02-01 视频编码方法、装置、计算机可读存储介质和计算机设备 Active CN110113600B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201810102997.XA CN110113600B (zh) 2018-02-01 2018-02-01 视频编码方法、装置、计算机可读存储介质和计算机设备
PCT/CN2018/112097 WO2019148906A1 (zh) 2018-02-01 2018-10-26 视频编码方法、计算机设备和存储介质
JP2020540613A JP7024098B2 (ja) 2018-02-01 2018-10-26 ビデオ符号化方法、コンピュータ機器、及び記憶媒体
EP18903744.3A EP3748966B1 (en) 2018-02-01 2018-10-26 Video coding method, computer device, and storage medium
US16/890,882 US11070817B2 (en) 2018-02-01 2020-06-02 Video encoding method, computer device, and storage medium for determining skip status

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810102997.XA CN110113600B (zh) 2018-02-01 2018-02-01 视频编码方法、装置、计算机可读存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN110113600A CN110113600A (zh) 2019-08-09
CN110113600B true CN110113600B (zh) 2022-08-26

Family

ID=67479561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810102997.XA Active CN110113600B (zh) 2018-02-01 2018-02-01 视频编码方法、装置、计算机可读存储介质和计算机设备

Country Status (5)

Country Link
US (1) US11070817B2 (zh)
EP (1) EP3748966B1 (zh)
JP (1) JP7024098B2 (zh)
CN (1) CN110113600B (zh)
WO (1) WO2019148906A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383774B (zh) * 2020-10-30 2023-10-03 网宿科技股份有限公司 编码方法、编码器以及服务器
CN112637591A (zh) * 2020-12-11 2021-04-09 百果园技术(新加坡)有限公司 一种视频预测编码的方法及装置
CN113099224A (zh) * 2021-04-02 2021-07-09 江苏允博信息科技有限公司 一种基于图像主纹理强度的单元划分和预测模型选择的视频编码方法
CN115052160B (zh) * 2022-04-22 2023-07-07 江西中烟工业有限责任公司 基于云数据自动下载的图像编码方法、装置及电子设备
CN115190295B (zh) * 2022-06-30 2023-06-23 北京百度网讯科技有限公司 视频帧处理方法、装置、设备及存储介质
CN115811610B (zh) * 2023-01-13 2023-05-05 安徽医科大学 一种适用于无线内窥镜的图传方法及系统
CN116600123B (zh) * 2023-07-17 2023-11-07 北京中星微人工智能芯片技术有限公司 视频编码方法及装置、视频解码方法及装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010014759A2 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intelligent frame skipping in video coding based on similarity metric in compressed domain
CN103957414A (zh) * 2014-04-16 2014-07-30 安科智慧城市技术(中国)有限公司 一种hevc帧内预测编码方法和系统
CN104104947A (zh) * 2013-04-02 2014-10-15 腾讯科技(深圳)有限公司 一种视频编码方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006020217A (ja) 2004-07-05 2006-01-19 Sharp Corp 画像符号化装置
JP4921239B2 (ja) 2007-05-09 2012-04-25 キヤノン株式会社 画像処理装置およびその方法
JP5219089B2 (ja) 2009-04-30 2013-06-26 株式会社メガチップス 画像データの生成方法
CN101572817B (zh) * 2009-05-26 2011-01-05 北京邮电大学 一种用于空间可分级视频编码的编码模式选择方法
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
WO2014072571A1 (en) * 2012-10-01 2014-05-15 Nokia Corporation Method and apparatus for scalable video coding
WO2015074047A1 (en) * 2013-11-18 2015-05-21 Arris Enterprises, Inc. Intra block copy for intra slices in high efficiency video coding (hevc)
KR101516347B1 (ko) * 2013-11-21 2015-05-04 한밭대학교 산학협력단 Hevc 화면내 부호화 방법 및 장치
CN104853191B (zh) * 2015-05-06 2017-09-05 宁波大学 一种hevc的快速编码方法
US10368107B2 (en) * 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010014759A2 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intelligent frame skipping in video coding based on similarity metric in compressed domain
CN104104947A (zh) * 2013-04-02 2014-10-15 腾讯科技(深圳)有限公司 一种视频编码方法和装置
CN103957414A (zh) * 2014-04-16 2014-07-30 安科智慧城市技术(中国)有限公司 一种hevc帧内预测编码方法和系统

Also Published As

Publication number Publication date
EP3748966B1 (en) 2024-02-21
EP3748966A1 (en) 2020-12-09
CN110113600A (zh) 2019-08-09
US11070817B2 (en) 2021-07-20
US20200296387A1 (en) 2020-09-17
JP7024098B2 (ja) 2022-02-22
JP2021513234A (ja) 2021-05-20
WO2019148906A1 (zh) 2019-08-08
EP3748966A4 (en) 2021-01-13

Similar Documents

Publication Publication Date Title
CN110113600B (zh) 视频编码方法、装置、计算机可读存储介质和计算机设备
CN109997361B (zh) 用于视频译码的低复杂度符号预测
US10841583B2 (en) Coding unit depth determining method and apparatus
RU2699258C2 (ru) Способ прогнозирования изображения и устройство прогнозирования изображения
US20220417504A1 (en) Video decoding method and apparatus, video coding method and apparatus, device, and storage medium
BR112013016961A2 (pt) dispositivos de codificação e de decodificação de imagem, métodos de codificação e de decodificação de imagem e dispositivo de previsão de imagem
WO2022104498A1 (zh) 帧内预测方法、编码器、解码器以及计算机存储介质
CN111193924B (zh) 视频码率的确定方法、装置、计算机设备及存储介质
CN111314698A (zh) 一种图像编码处理方法及装置
CN108777794B (zh) 图像的编码方法和装置、存储介质、电子装置
CN112702603A (zh) 视频编码方法、装置、计算机设备和存储介质
Tohidypour et al. Online-learning-based complexity reduction scheme for 3D-HEVC
CN110365988B (zh) 一种h.265编码方法和装置
CN114339218A (zh) 图像编码方法、图像编码装置、电子设备和可读存储介质
WO2020078211A1 (zh) 视频编码、视频解码方法、装置、计算机设备和存储介质
Tariq RD-cost as statistical inference for early intra mode decision in HEVC
CN110166770B (zh) 视频编码方法、装置、计算机设备和存储介质
CN117280691A (zh) 增强的运动向量预测
WO2020063599A1 (zh) 图像预测方法、装置以及相应的编码器和解码器
CN109688411B (zh) 一种视频编码率失真代价估计方法和装置
CN108156458A (zh) 一种确定编码模式方法及装置
JP4719650B2 (ja) 画像符号化装置
CN113347438B (zh) 帧内预测方法及装置、视频编码设备、存储介质
WO2020258053A1 (zh) 图像分量预测方法、装置及计算机存储介质
WO2023086330A9 (en) Sign prediction for block-based video coding

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