CN113438476A - 视频编码方法、系统及存储介质 - Google Patents

视频编码方法、系统及存储介质 Download PDF

Info

Publication number
CN113438476A
CN113438476A CN202110984794.XA CN202110984794A CN113438476A CN 113438476 A CN113438476 A CN 113438476A CN 202110984794 A CN202110984794 A CN 202110984794A CN 113438476 A CN113438476 A CN 113438476A
Authority
CN
China
Prior art keywords
motion estimation
sub
pixel motion
mode
ctu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110984794.XA
Other languages
English (en)
Other versions
CN113438476B (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.)
Hangzhou Boya Hongtu Video Technology Co ltd
Original Assignee
Hangzhou Boya Hongtu Video Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Boya Hongtu Video Technology Co ltd filed Critical Hangzhou Boya Hongtu Video Technology Co ltd
Priority to CN202110984794.XA priority Critical patent/CN113438476B/zh
Publication of CN113438476A publication Critical patent/CN113438476A/zh
Application granted granted Critical
Publication of CN113438476B publication Critical patent/CN113438476B/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/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/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

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

Abstract

本申请提供了一种视频编码方法、系统及存储介质,通过第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果;第二编码流水级:根据整像素运动估计结果判断当前CTU运动强度;根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;其中,第二编码流水级的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。本申请将传统的流水级分像素运动估计FME和模式决策MD合并为一个单独CTU级处理流水级,减少了编码过程中不必要的编码时间,通过灵活调整整体编码空间以及时间,大大提升了编码性能。

Description

视频编码方法、系统及存储介质
技术领域
本申请属于数字信号处理技术领域,具体地,涉及一种视频编码方法、系统及存储介质。
背景技术
视频压缩,也称视频编码,其目的是消除视频信号间存在的冗余信息。不断优化的视频编码标准有助于进一步提升视频图像的压缩效率,减少视频图像存储和网络传输成本代价,包括最新的AVS3、AV1、H.266等视频编码标准。但是,这些新的视频编码标准采用了更大的处理单元、更多的候选模式以及更高的数据依赖。这意味着新视频编码标准具有更高的处理复杂度,视频压缩时间更长,所需要的资源更多以及产生更高的并行设计难度,这些都对高性能硬件视频编码器设计提出了更高的挑战。
特别的,在硬件视频编码器设计中,包含运动估计模块和模式决策模块。其中,运动估计模块用于获取视频图像时域上最好的预测像素和运动矢量,模式决策模块用于在诸多帧内预测模式和帧间预测模式决策中决策出最优的模式,以达到要求的编码性能。比如,在AVS3视频编码标准中,帧间预测模式包括SKIP模式、Merge模式以及运动估计模式,而帧内预测模式包括33~67种不同方向预测模式等。
通常视频编码时,因为受限于运算资源和结构设计,只能采用有限的模式数量,进而不可避免的损失编码性能。
因此,针对同时支持帧内预测模式和帧间预测模式的硬件编码器,需要充分考虑运动估计和模式决策之间的硬件结构设计和算法性能关系,成为优化硬件视频编码器在帧间压缩性能方面的重要因素。
发明内容
本发明提出了一种视频编码方法、系统及存储介质,旨在解决现有技术中视频压缩编码中无法保证帧间压缩性能的问题。
根据本申请实施例的第一个方面,提供了一种视频压缩方法,包括以下步骤:
第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果;
第二编码流水级:根据整像素运动估计结果判断当前CTU运动强度;
根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;
其中,第二编码流水级的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。
在本申请一些实施方式中,第二编码流水级中,分像素运动估计包括两条并行编码支路,具体为第一分像素运动估计支路以及第二分像素运动估计支路,第一分像素运动估计支路以及第二分像素运动估计支路同时根据整像素运动估计结果进行分像素运动估计;
模式决策包括两条并行编码支路,具体为第一模式决策支路以及第二模式决策支路,第一模式决策以及第二模式决策同时进行模式决策。
在本申请一些实施方式中,根据整像素运动估计结果判断当前CTU运动强度之后,确定当前CTU处于静止区域、极小运动区域或者其它区域。
在本申请一些实施方式中,根据整像素运动估计结果判断当前CTU运动强度之后,确定当前CTU处于静止区域、极小运动区域或者其它区域,具体包括:
当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均为零时,当前CTU处于静止区域;
当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均小于极小值阈值时,当前CTU处于极小运动区域;
除以上两种状态之外,当前CTU处于其它区域。
在本申请一些实施方式中,当前CTU处于静止区域时,不进行分像素运动估计的任务,直接进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;
帧间模式只选择SKIP模式;增加帧内模式数量。
在本申请一些实施方式中,当前CTU处于极小运动区域时,不进行分像素运动估计的分像素搜索任务,进行分像素运动估计的像素插值任务,以及进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素搜索任务的任务时间,与每个模式的平均任务时间的比值得到;
增加至少一个SKIP模式和/或MERGE模式;帧内模式数量为初始数量。
在本申请一些实施方式中,确定当前CTU处于其他区域时,根据相邻CTU编码结果确定分像素运动估计的具体任务,以及进行模式决策。
在本申请一些实施方式中,根据相邻CTU编码结果确定分像素运动估计的具体任务,以及进行模式决策,具体包括:
相邻CTU为四个当前空域相邻CTU以及一个时域对应位置CTU;
当相邻CTU编码结果均为SKIP模式时,不进行分像素运动估计的任务,直接进行模式决策,具体为:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;帧间模式只选择SKIP模式;增加帧内模式数量。
当时域对应位置CTU编码结果为SKIP模式或FME模式,且有两个或两个以上的当前空域相邻CTU编码结果为SKIP或FME模式时,进行分像素运动估计的分像素搜索任务以及像素插值任务,模式决策具体为:增加一个MERGE模式,并减少一个帧内模式;
当相邻CTU编码结果均为INTRA模式时,进行分像素运动估计的任务,进行模式决策,具体为:
减少分像素运动估计时的分像素搜索和插值点数量;模式决策的模式总数量增加一定数量;其中,一定数量根据分像素搜索任务减少的任务时间,与每个模式的平均任务时间的比值得到;减少一个SKIP模式,增加帧内模式数量;
当相邻CTU编码结果除以上状态之外,根据当前空域相邻CTU的编码结果,确定当前CTU的分像素运动估计的具体任务,以及进行模式决策。
根据本申请实施例的第二个方面,提供了一种视频编码系统,具体包括:
第一编码流水级模块:用于对当前CTU进行整像素运动估计,得到整像素运动估计结果;
第二编码流水级模块:用于根据整像素运动估计结果判断当前CTU运动强度;
并用于根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;
其中,第二编码流水级模块的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。
根据本申请实施例的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现视频编码方法。
采用本申请实施例中的视频编码方法、系统及存储介质,通过第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果;第二编码流水级:根据整像素运动估计结果判断当前CTU运动强度;根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;其中,第二编码流水级的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。本申请将传统的流水级分像素运动估计FME和模式决策MD合并为一个单独CTU级处理流水级,减少了编码过程中不必要的编码时间,通过灵活调整整体编码空间以及时间,大大提升了编码性能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1中示出了现有技术中硬件视频编码帧间CTU的流水级编码流程图;
图2中示出了本申请实施例视频编码方法中硬件视频编码帧间CTU的流水编码级流程图;
图3中示出了根据本申请实施例的一种视频编码方法的步骤流程图;
图4中示出了根据本申请实施例的视频编码方法中当前CTU与相邻CTU空域/时域位置关系示意图;
图5示出了根据本申请实施例的一种视频编码系统的结构示意图。
图6中示出了根据本申请实施例的视频编码设备的结构示意图。
具体实施方式
在实现本申请的过程中,发明人发现针对硬件视频编码器产品,目前主流的传统的硬件编码器设计方法主要采用编码树单元CTU(Coding Tree Unit)级流水结构设计,包括AVS2/AVS3等硬件编码器,其中与帧间视频编码相关的模块包括整像素运动估计IME(Integer pixel motion estimation)模块、分像素运动估计FME(Fractional pixelmotion estimation)模块以及模式决策MD(Mode Decision)模块,其中IME模块和FME模块构成完整的帧间运动估计功能,MD模块完成对帧间和帧内模式决策功能。
图1中示出了现有技术中硬件视频编码帧间CTU的流水级编码流程图。
如图1所示,图1中IMV代表整像素运动估计产生的运动矢量MV(Motion Vector),IRefWin代表整参考像素窗, FMV代表分像素运动估计产生的运动矢量MV,FRefWin代表分像素参考像素窗。
通常情况下,这些流水级编码功能基于编码器标准较大或最大的尺寸进行处理,比如64x64或128x128等尺寸。以尺寸为64x64大小的CTU为例,依次完成每个流水级功能后,可以得到对该尺寸最优的编码结果。但是,由于图1中IME、FME和MD模块是采用流水结构,即同一时间会有3个CTU处于不同的功能状态。在这个结构中,要求每个流水级功能所需的流水级时间片相等且固定,即IME/FME/MD处理时间保持均衡一致,不能出现过快或过慢。比如,对满足300M下,一般要求的处理能力下,通常要求它们每个处理时间都不能超过9800cycle(时钟周期)。
因此,现有硬件视频编码时,为了每个模块能够达到硬实时处理,进而满足硬件编码器整体速度要求,视频编码的每个CTU都会严格按照图1的流水级编码流程处理。然而,这种结构没有充分考虑到CTU的内容特性,在一些场景中难以灵活的得到硬件编码器帧间最好的处理性能。
比如,在一些监控等静止或运动比较缓慢的场景中,IME和FME事实上可以不需要处理与复杂运动相同的处理时间得到的运动估计结果给MD。事实上,这些场景的运动矢量大概率极小。这意味着可以节省一些IME或FME处理时间。
但在图1的结构中,由于是要求每个模块硬实时,即使IME或FME节省了时间,因为MD模块还没有完成当前状态,即FME也必须空转9800cycle才能将数据传给MD。显然,这造成了许多运算资源的浪费,也限制了硬件编码器帧间编码性能的提升。
针对上述问题,本申请提供了一种优化的硬件编码器帧间编码方法。该设计方法充分考虑了帧间预测的特殊性、CTU的帧间内容特性以及对处理速度和调整灵活性的需求,大大优化了编码过程,提升了编码性能。
图2中示出了本申请实施例视频编码方法中硬件视频编码帧间CTU的流水编码级流程图。
如图2所示,本申请将传统硬件中独立的两个编码流水级FME和MD合并一级编码流水级进行处理,同时,在流水级内部采用串并行处理方式,具体技术方案包括以下方面。
第一,以大小为64x64的编码单位为例,如图2所示,本申请将之前的三级编码流水级合并为两级编码流水级。其中,将FME和MD模块合并的新模块命名为FME_MD模块。
第二,相比图1中各模块处理速度以每个模块9800个cycle为例,为保障图2的整体处理速度不变,需要IME和FME_MD模块分别的处理速度同样为9800个cycle,需要将FME_MD内部的FME和MD功能分别拆分为并行的处理结构,即FME1/FME2和MD1和MD2,其中FME1/FME2以及MD1和MD2合并的初始处理速度分别均为4900个cycle。即初始状态可以提高FME和MD两倍并行度,保障两者串联后的处理速度与其他IME等模块处理速度一致。
基于以上,本申请根据视频CTU内容特性、周边编码状态等调整FME_MD模块策略,使视频编码满足速度要求同时,达到更好的编码性能。
具体的,
本申请的视频编码方案中,通过第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果;第二编码流水级:根据整像素运动估计结果判断当前CTU运动强度;根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;其中,第二编码流水级的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。本申请将传统的流水级分像素运动估计FME和模式决策MD合并为一个单独CTU级处理流水级,减少了编码过程中不必要的编码时间,通过灵活调整整体编码空间以及时间,大大提升了编码性能。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
图1中示出了根据本申请实施例的一种视频编码方法的步骤流程图。
如图1所示,本实施例的视频编码方法,具体包括以下步骤:
S101:第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果。
S102:第二编码流水级:根据整像素运动估计结果判断当前CTU运动强度;根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;
其中,第二编码流水级的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。
具体的,参照图2,第二编码流水级中,分像素运动估计FME包括两条并行编码支路,具体为第一分像素运动估计支路FME1以及第二分像素运动估计支路FME2,第一分像素运动估计支路FME1以及第二分像素运动估计支路FME2同时根据整像素运动估计结果进行分像素运动估计。
具体的,模式决策MD包括两条并行编码支路,具体为第一模式决策支路MD1以及第二模式决策支路MD2,第一模式决策MD1以及第二模式决策MD2同时进行帧间模式和/或帧内模式决策。
步骤S102具体包括步骤一,根据整像素运动估计结果判断当前CTU运动强度,之后,确定当前CTU处于静止区域、极小运动区域或者其它区域。
具体的,当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均为零时,当前CTU处于静止区域;
当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均小于极小值阈值时,当前CTU处于极小运动区域;
除以上两种状态之外,当前CTU处于其它区域。
进一步的,当前CTU处于静止区域时,不进行分像素运动估计的任务,直接进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;帧间模式只选择SKIP模式;增加帧内模式数量。
进一步的,当前CTU处于极小运动区域时,不进行分像素运动估计的分像素搜索任务,进行分像素运动估计的像素插值任务,以及进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素搜索任务的任务时间,与每个模式的平均任务时间的比值得到;增加至少一个SKIP模式和/或MERGE模式;帧内模式数量为初始数量。
步骤S102还包括步骤二,确定当前CTU处于其他区域时,根据相邻CTU编码结果确定分像素运动估计的具体任务,以及进行模式决策。
根据根据相邻CTU编码结果进行模式策略调整时,具体包括:
首先,相邻CTU为四个当前空域相邻CTU以及一个时域对应位置CTU;
其次,当相邻CTU编码结果均为SKIP模式时,不进行分像素运动估计的任务,直接进行模式决策,具体为:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;帧间模式只选择SKIP模式;增加帧内模式数量。
其次,当时域对应位置CTU编码结果为SKIP模式或FME模式,且有两个或两个以上的当前空域相邻CTU编码结果为SKIP或FME模式时,进行分像素运动估计的分像素搜索任务以及像素插值任务,模式决策具体为:增加一个MERGE模式,并减少一个帧内模式;
再次,当相邻CTU编码结果均为INTRA模式时,进行分像素运动估计的任务,进行模式决策,具体为:
减少分像素运动估计时的分像素搜索和插值点数量;模式决策的模式总数量增加一定数量;其中,一定数量根据分像素搜索任务减少的任务时间,与每个模式的平均任务时间的比值得到;减少一个SKIP模式,增加帧内模式数量;
最后,当相邻CTU编码结果除以上状态之外,根据当前空域相邻CTU的编码结果,确定当前CTU的分像素运动估计的具体任务,以及进行模式决策。此时,还需要进一步进行FME_MD调整策略。
为了更清楚的描述本实施例的视频编码方法,以下以具体实施过程进行说明。
在具体介绍本申请方案之前,首先提出以下两点:
第一,在运动估计FME处理过程,其处理复杂度,即处理时间直接与需要进行分像素搜索的像素点以及对应的插值像素点数量相关。本申请中定义FME搜索和插值点数量N_FME,初始为49。即在硬件CTU处理中,不论CTU内容如何,需要在给定的时间内完成这些操作。
第二, MD模块需要完成多种帧内和帧间预测模式的决策过程,为方便说明,本发明方案中定义初始状态时,每个CTU在MD阶段处理的SKIP模式、Merge模式、运动估计模式以及帧内模式分别为N_SKIP,N_Merge,N_FME(不超过1)以及N_INTRA。
同时,考虑硬件处理资源速度约束,对于尺寸为64x64的编码单元的任意编码形状为例,通常受限于处理速度,因为它们累计数量有限,因此定义模式数量总数约束为N_SUM。
距离如:初始模式数量总数N_SUM不超过7,则N_SKIP=1,N_Merge=1,N_FME=1,N_INTRA=4。
在IME阶段,通常可以获取当前CTU的整像素运动估计结果MV。如果能够判断当前CTU是静止或者运动极小单元,那么后续FME1/FME2过程大多可以直接采用IME的结果,不需要单独进行分像素搜索。这样可以节省FME1/FME2处理时间,用于增加MD1/MD2处理更多模式。
基于此,本申请给出CTU运动强度判断方法如公式(1)所示:
;公式(1)
其中,MVXCTU为当前CTU的X方向整像素运动估计,MVXCTU为当前CTU的Y方向整像素运动估计,Var(MVX8×8)为8×8分单元的像素在X方向运动估计的方差,Var(MVX8×8)为8×8分单元的像素在Y方向运动估计的方差。
根据公式(1)中不同的区域,调整MD的策略具体如下三方面:
一、对于静止区域,通常编码器中SKIP模式概率最高,因此直接选择帧间对应位置SKIP模式,而不必采用其他帧间模式。
因此,一方面可以将FME1/FME2节省的时间增加N_SUM总数,增加的数量等于节省的时间除以MD1/MD2平均每个模式处理时间;另一方面可以增加帧内模式,即N_SKIP=1,N_Merge=0,N_FME=0,以及N_INTRA=N_SUM-1;
二、对于极小运动区域,由于FME1/FME2阶段不需要进行搜索,仅需要处理在IME输出MV整像素附近的几个点插值操作,此时FME1/FME2处理时间大大减少,这部分时间可以用来增加其他MD中的候选模式。
此时,一方面可以将FME1/FME2节省的时间增加N_SUM总数,增加的数量等于节省的时间除以MD1/MD2平均每个模式处理时间;另一方面考虑到帧间运动极小,因此可以适当优先增加N_SKIP和N_MERGE模式数量,并设置N_FME=1,剩余的模式,即为N_INTRA=2。
三、对于其他区域,需要根据其他信息判断MD模式数量调整策略。本申请采用根据相邻CTU编码结果调整FME_MD处理策略。
图4中示出了根据本申请实施例的视频编码方法中当前CTU与相邻CTU空域/时域位置关系示意图。
如图4所示,在视频编码中每个CTU编码结果需要当前空域相邻CTU以及时域对应位置CTU编码结果。当前CTU0的最终结果与CTU1、CTU2、CTU3以及CTU4的编码结果相关。因此,可以利用这些信息对步骤1)中其他区域进行进一步判断FME_MD模块调整策略。
此时,根据相邻CTU编码结果调整FME_MD处理策略具体包括以下四种情况:
情况一、如果CTU1~CTU5均为SKIP模式,则FME1/FME2直接不需要处理。
所以,一方面可以将FME1/FME2节省的时间增加N_SUM总数,增加的数量等于节省的时间除以MD1/MD2平均每个模式处理时间;另一方面在MD1/MD2阶段中当前CTU0中N_SKIP=5(时域1个,空域4个),N_MERGE=0,N_FME=0,M_INTRA为剩余数量。
情况二、如果CTU5为SKIP或FME模式,且CTU1~CTU4中2个或两个以上为为SKIP或FME模式,意味着当前CTU0具有较高的帧间相关性概率,则FME1/FME2正常进行分像素搜索和插值,在MD阶段中模式调整为N_SKIP=1,N_MERGE=2,N_FME=1,N_INTRA为剩余模式数量。
情况三、如果CTU1~CTU5均为INTRA模式,则当前CTU0帧内相关性概率较高,则FME1/FME2进行小范围分像素搜索和插值,比如25个点,可大量节省FME1/FME2处理时间,进而增加N_SUM总数,增加的数量等于节省的时间除以MD1/MD2平均每个模式处理时间。在MD阶段中模式调整为N_SKIP=0,N_MERGE=1,N_FME=1,M_INTRA为剩余模式数量。
情况四、如果CTU1~CTU5的模式多样且无规律,则根据CTU1~CTU4的FME搜索结果判断当前CTU0的可能运动趋势,可能情况包括以下方面:
1)如果CTU1~CTU4的FME在x、y两个方向上的运动估计MVX和MVY均相同,则CTU0的FME1/FME2直接在CTU1的FME结果对应的整像素附近进行搜索和插值;
2)如果CTU1~CTU4的FME在x、y两个方向上的运动估计MVX或MVY分别相同,则CTU0的FME1/FME2直接在以上的相同的MVX或MVY方向对应的整像素附近进行搜索和插值,另外一个方向在IME结果基础上进行25个点1/2和1/4插值和搜索。
3)如果CTU1~CTU4的FME在x、y两个方向上的运动估计MVX和MVY没有以上规律,则CTU0的FME1/FME2直接在IME结果对应的整像素、49点1/2和1/4插值和搜索。
然后,基于FME1/FME2处理节省的时间,调整MD1和MD2的处理模式数量,增加的数量等于节省的时间除以MD1/MD2平均每个模式处理时间。在MD阶段中模式调整为N_SKIP=0,N_MERGE=3,N_FME=1,M_INTRA为剩余模式数量。
最后,如果均不满足以上情况,可以保持初始状态正常处理FME_MD模块即可。
需要注意的是,以上图示中FME1/FME2以及MD1和MD2仅代表并行处理,不意味着等分处理。根据速度和需要处理的数据要求,两个电路也可能内部处理速度并不一致,比如MD1处理4种模式决策,MD2处理3种模式决策等。
本方案中根据IME结果、CTU相邻编码单元结果调整FME_MD策略仅是可能的若干实施案例,其他可以利用CTU内容信息、编码信息等策略均可以用来调整FME_MD模块中计算资源和算法模式分配策略,达到不同的编码性能。
本申请实施例中的视频编码方法,通过第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果;第二编码流水级:根据整像素运动估计结果判断当前CTU运动强度;根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;其中,第二编码流水级的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。本申请将传统的流水级分像素运动估计FME和模式决策MD合并为一个单独CTU级处理流水级,减少了编码过程中不必要的编码时间,通过灵活调整整体编码空间以及时间,大大提升了编码性能。
其他的,本申请通过采用将FME和MD串行为一个单独CTU级处理单元,并在内部通过串并行处理,保持处理速度同时,提升了FME_MD整体编码性能以及算法灵活调整空间。本申请还通过利用IME结果、CTU相邻编码单元结果,给出多种可能性的灵活调整案例,能够打破传统MD模式数量限制,提升编码器编码性能。
实施例2
本实施例提供了一种视频编码系统,对于本实施例的视频编码系统中未披露的细节,请参照其它实施例中的视频编码方法的具体实施内容。
图5示出了根据本申请实施例的一种视频编码系统的结构示意图。
如图5所示,本实施例提供的一种视频编码系统,具体包括第一编码流水级模块10以及第二编码流水级模块20。
具体的,
第一编码流水级模块10:用于对当前CTU进行整像素运动估计,得到整像素运动估计结果。
第二编码流水级模块20:用于根据整像素运动估计结果判断当前CTU运动强度;并用于根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策。
其中,第二编码流水级模块的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。
具体的,参照图2,第二编码流水级中,分像素运动估计FME包括两条并行编码支路,具体为第一分像素运动估计支路FME1以及第二分像素运动估计支路FME2,第一分像素运动估计支路FME1以及第二分像素运动估计支路FME2同时根据整像素运动估计结果进行分像素运动估计。
具体的,模式决策MD包括两条并行编码支路,具体为第一模式决策支路MD1以及第二模式决策支路MD2,第一模式决策MD1以及第二模式决策MD2同时进行帧间模式和/或帧内模式决策。
第二编码流水级模块20具体包括步骤一,根据整像素运动估计结果判断当前CTU运动强度,之后,确定当前CTU处于静止区域、极小运动区域或者其它区域。
具体的,当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均为零时,当前CTU处于静止区域;
当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均小于极小值阈值时,当前CTU处于极小运动区域;
除以上两种状态之外,当前CTU处于其它区域。
进一步的,当前CTU处于静止区域时,不进行分像素运动估计的任务,直接进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;帧间模式只选择SKIP模式;增加帧内模式数量。
进一步的,当前CTU处于极小运动区域时,不进行分像素运动估计的分像素搜索任务,进行分像素运动估计的像素插值任务,以及进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素搜索任务的任务时间,与每个模式的平均任务时间的比值得到;增加至少一个SKIP模式和/或MERGE模式;帧内模式数量为初始数量。
第二编码流水级模块20还包括步骤二,确定当前CTU处于其他区域时,根据相邻CTU编码结果确定分像素运动估计的具体任务,以及进行模式决策。
根据根据相邻CTU编码结果进行模式策略调整时,具体包括:
首先,相邻CTU为四个当前空域相邻CTU以及一个时域对应位置CTU;
其次,当相邻CTU编码结果均为SKIP模式时,不进行分像素运动估计的任务,直接进行模式决策,具体为:
将模式决策的模式总数量增加一定数量;其中,一定数量根据分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;帧间模式只选择SKIP模式;增加帧内模式数量。
其次,当时域对应位置CTU编码结果为SKIP模式或FME模式,且有两个或两个以上的当前空域相邻CTU编码结果为SKIP或FME模式时,进行分像素运动估计的分像素搜索任务以及像素插值任务,模式决策具体为:增加一个MERGE模式,并减少一个帧内模式;
再次,当相邻CTU编码结果均为INTRA模式时,进行分像素运动估计的任务,进行模式决策,具体为:
减少分像素运动估计时的分像素搜索和插值点数量;模式决策的模式总数量增加一定数量;其中,一定数量根据分像素搜索任务减少的任务时间,与每个模式的平均任务时间的比值得到;减少一个SKIP模式,增加帧内模式数量;
最后,当相邻CTU编码结果除以上状态之外,根据当前空域相邻CTU的编码结果,确定当前CTU的分像素运动估计的具体任务,以及进行模式决策。此时,还需要进一步进行FME_MD调整策略。
实施例3
本实施例提供了一种视频编码设备,对于本实施例的视频编码设备中未披露的细节,请参照其它实施例中的视频编码方法或系统具体的实施内容。
图6中示出了根据本申请实施例的视频编码设备400的结构示意图。
如图6所示,视频编码设备400,包括:
存储器402:用于存储可执行指令;以及
处理器401:用于与存储器402连接以执行可执行指令从而完成运动矢量预测方法。
本领域技术人员可以理解,示意图6仅仅是视频编码设备400的示例,并不构成对视频编码设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如视频编码设备400还可以包括输入输出设备、网络接入设备、总线等。
所称处理器401(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器401也可以是任何常规的处理器等,处理器401是视频编码设备400的控制中心,利用各种接口和线路连接整个视频编码设备400的各个部分。
存储器402可用于存储计算机可读指令,处理器401通过运行或执行存储在存储器402内的计算机可读指令或模块,以及调用存储在存储器402内的数据,实现视频编码设备400的各种功能。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据视频编码设备400使用所创建的数据等。此外,存储器402可以包括硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)或其他非易失性/易失性存储器件。
视频编码设备400集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现其他实施例中的视频编码方法。
本申请实施例中的视频编码系统、设备及计算机存储介质,通过第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果;第二编码流水级:根据整像素运动估计结果判断当前CTU运动强度;根据当前CTU运动强度确定分像素运动估计的具体任务,以及根据当前CTU运动强度进行模式决策;其中,第二编码流水级的流水时间片固定,分像素运动估计所需的时间片减少时,模式决策的时间片增加。本申请将传统的流水级分像素运动估计FME和模式决策MD合并为一个单独CTU级处理流水级,减少了编码过程中不必要的编码时间,通过灵活调整整体编码空间以及时间,大大提升了编码性能。
其他的,本申请通过采用将FME和MD串行为一个单独CTU级处理单元,并在内部通过串并行处理,保持处理速度同时,提升了FME_MD整体编码性能以及算法灵活调整空间。本申请还通过利用IME结果、CTU相邻编码单元结果,给出多种可能性的灵活调整案例,能够打破传统MD模式数量限制,提升编码器编码性能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种视频编码方法,其特征在于,包括以下步骤:
第一编码流水级:对当前CTU进行整像素运动估计,得到整像素运动估计结果;
第二编码流水级:根据所述整像素运动估计结果判断当前CTU运动强度;
根据所述当前CTU运动强度确定分像素运动估计的具体任务,以及根据所述当前CTU运动强度进行模式决策;
其中,所述第二编码流水级的流水时间片固定,所述分像素运动估计所需的时间片减少时,所述模式决策所需的时间片增加。
2.根据权利要求1所述的视频编码方法,其特征在于,所述第二编码流水级中,所述分像素运动估计包括两条并行编码支路,具体为第一分像素运动估计支路以及第二分像素运动估计支路,所述第一分像素运动估计支路以及第二分像素运动估计支路同时根据所述整像素运动估计结果进行分像素运动估计;
所述模式决策包括两条并行编码支路,具体为第一模式决策支路以及第二模式决策支路,所述第一模式决策以及第二模式决策同时进行模式决策。
3.根据权利要求1所述的视频编码方法,其特征在于,所述根据所述整像素运动估计结果判断当前CTU运动强度之后,确定当前CTU处于静止区域、极小运动区域或者其它区域。
4.根据权利要求3所述的视频编码方法,其特征在于,所述根据所述整像素运动估计结果判断当前CTU运动强度之后,确定当前CTU处于静止区域、极小运动区域或者其它区域,具体包括:
当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均为零时,当前CTU处于静止区域;
当前CTU的整像素运动估计X方向以及Y方向为零,且,当前CTU的分单元的像素运动估计在X方向以及Y方向的方差均小于极小值阈值时,当前CTU处于极小运动区域;
除以上两种状态之外,当前CTU处于其它区域。
5.根据权利要求3或4所述的视频编码方法,其特征在于,所述当前CTU处于静止区域时,不进行分像素运动估计的任务,直接进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,所述一定数量根据所述分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;
帧间模式只选择SKIP模式;增加帧内模式数量。
6.根据权利要求3或4所述的视频编码方法,其特征在于,所述当前CTU处于静止区域时,不进行分像素运动估计的任务,直接进行模式决策,具体的:
将模式决策的模式总数量增加一定数量;其中,所述一定数量根据所述分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;
帧间模式只选择SKIP模式;增加帧内模式数量。
7.根据权利要求3或4所述的视频编码方法,其特征在于,所述确定当前CTU处于其他区域时,根据相邻CTU编码结果确定分像素运动估计的具体任务,以及进行模式决策。
8.根据权利要求7所述的视频编码方法,其特征在于,所述根据相邻CTU编码结果确定分像素运动估计的具体任务,以及进行模式决策,具体包括:
所述相邻CTU为四个当前空域相邻CTU以及一个时域对应位置CTU;
当所述相邻CTU编码结果均为SKIP模式时,不进行分像素运动估计的任务,直接进行模式决策,具体为:
将模式决策的模式总数量增加一定数量;其中,所述一定数量根据所述分像素运动估计的任务时间,与每个模式的平均任务时间的比值得到;帧间模式只选择SKIP模式;增加帧内模式数量;
当所述时域对应位置CTU编码结果为SKIP模式或FME模式,且有两个或两个以上的当前空域相邻CTU编码结果为SKIP或FME模式时,进行分像素运动估计的分像素搜索任务以及像素插值任务,模式决策具体为:增加一个MERGE模式,并减少一个帧内模式;
当所述相邻CTU编码结果均为INTRA模式时,进行分像素运动估计的任务,进行模式决策,具体为:
减少所述分像素运动估计时的分像素搜索和插值点数量;模式决策的模式总数量增加一定数量;其中,所述一定数量根据所述分像素搜索任务减少的任务时间,与每个模式的平均任务时间的比值得到;减少一个SKIP模式,增加帧内模式数量;
当所述相邻CTU编码结果除以上状态之外,根据所述当前空域相邻CTU的编码结果,确定当前CTU的分像素运动估计的具体任务,以及进行模式决策。
9.一种视频编码系统,其特征在于,具体包括:
第一编码流水级模块:用于对当前CTU进行整像素运动估计,得到整像素运动估计结果;
第二编码流水级模块:用于根据所述整像素运动估计结果判断当前CTU运动强度;
并用于根据所述当前CTU运动强度确定分像素运动估计的具体任务,以及根据所述当前CTU运动强度进行模式决策;
其中,所述第二编码流水级模块的流水时间片固定,所述分像素运动估计所需的时间片减少时,所述模式决策所需的时间片增加。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序;所述计算机程序被处理器执行以实现如权利要求1-8任一项所述的视频编码方法。
CN202110984794.XA 2021-08-26 2021-08-26 视频编码方法、系统及存储介质 Active CN113438476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110984794.XA CN113438476B (zh) 2021-08-26 2021-08-26 视频编码方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110984794.XA CN113438476B (zh) 2021-08-26 2021-08-26 视频编码方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113438476A true CN113438476A (zh) 2021-09-24
CN113438476B CN113438476B (zh) 2022-01-25

Family

ID=77797884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110984794.XA Active CN113438476B (zh) 2021-08-26 2021-08-26 视频编码方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113438476B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070098073A1 (en) * 2003-12-22 2007-05-03 Canon Kabushiki Kaisha Motion image coding apparatus, and control method and program of the apparatus
CN101765008A (zh) * 2009-12-28 2010-06-30 北京工业大学 视频编解码方法、装置和系统
CN105376586A (zh) * 2015-11-17 2016-03-02 复旦大学 一种适用于hevc标准中整数运动估计的三级流水线硬件架构
CN109302616A (zh) * 2018-10-09 2019-02-01 北京佳讯飞鸿电气股份有限公司 一种基于rc预测的hevc帧间预测快速算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070098073A1 (en) * 2003-12-22 2007-05-03 Canon Kabushiki Kaisha Motion image coding apparatus, and control method and program of the apparatus
CN101765008A (zh) * 2009-12-28 2010-06-30 北京工业大学 视频编解码方法、装置和系统
CN105376586A (zh) * 2015-11-17 2016-03-02 复旦大学 一种适用于hevc标准中整数运动估计的三级流水线硬件架构
CN109302616A (zh) * 2018-10-09 2019-02-01 北京佳讯飞鸿电气股份有限公司 一种基于rc预测的hevc帧间预测快速算法

Also Published As

Publication number Publication date
CN113438476B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN110087087B (zh) Vvc帧间编码单元预测模式提前决策及块划分提前终止方法
US20150208094A1 (en) Apparatus and method for determining dct size based on transform depth
Mori et al. Fast template matching based on normalized cross correlation using adaptive block partitioning and initial threshold estimation
CN112312133B (zh) 一种视频编码方法、装置、电子设备及可读存储介质
EP4262203A1 (en) Method and apparatus for video predictive coding
US9445089B2 (en) Video encoding device, video encoding method and video encoding program
CN112203091B (zh) 基于二次多项式的运动矢量预测方法、系统及计算机介质
US20190246119A1 (en) Interframe predictive coding method and device
CN113438476B (zh) 视频编码方法、系统及存储介质
CN103067711A (zh) 一种基于h264协议的整像素运动估计方法
JP2001145109A (ja) 動きベクトル検出装置
CN110971896B (zh) 一种h.265编码方法和装置
CN112203094B (zh) 编码方法、装置、电子设备及存储介质
CN113347417B (zh) 提高率失真优化计算效率的方法、装置、设备及存储介质
CN114040209A (zh) 运动估计方法、装置、电子设备及存储介质
CN115002453A (zh) 一种基于帧内预测决策模式选取的编码方法与装置
CN113821270A (zh) 任务卸载顺序预测方法、决策方法、电子设备及存储介质
CN115474060B (zh) 一种hevc并行加速编码方法、系统、设备及存储介质
CN112437308A (zh) 一种WebP编码方法及装置
CN113259685B (zh) 一种分像素运动估计方法及装置
CN112235576B (zh) 编码方法、装置、电子设备及存储介质
CN112911310B (zh) 多层整像素运动估计搜索方法、装置、设备及存储介质
CN110933410B (zh) Hevc视频帧间预测方法和装置
US20080056367A1 (en) Multi-step directional-line motion estimation
CN113489996B (zh) 一种基于快速帧间编码单元尺寸决策模型的编码方法

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