CN104602017B - 视频编码器、方法和装置及其帧间模式选择方法和装置 - Google Patents
视频编码器、方法和装置及其帧间模式选择方法和装置 Download PDFInfo
- Publication number
- CN104602017B CN104602017B CN201410256916.3A CN201410256916A CN104602017B CN 104602017 B CN104602017 B CN 104602017B CN 201410256916 A CN201410256916 A CN 201410256916A CN 104602017 B CN104602017 B CN 104602017B
- Authority
- CN
- China
- Prior art keywords
- coding
- depth
- unit
- mode
- coding unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频编码器、方法和装置及其帧间模式选择方法和装置。其中,当前深度Depth的初始值为1,帧间模式选择方法包括:S701若跳过对编码单元CUDepth进行编码的编码开销的计算,调用S703至S705,若不跳过,调用S702至S705;S702确定编码单元CUDepth的当前最优编码模式及编码开销;S703划分编码单元CUDepth为多个子编码单元,递归执行S701至S705,直至子编码单元的深度达到最大或满足终止划分条件,确定每个子编码单元的最优编码模式及编码开销;S704比较多个子编码单元的编码开销之和与编码单元CUDepth的当前编码开销的大小;S705确定S704中较小者对应的模式为最优编码模式。通过本发明,解决了现有技术中进行模式选择的计算复杂度偏高的问题,进而达到了降低复杂度、提高编码速度的效果。
Description
技术领域
本发明涉及计算机技术与互联网领域,具体而言,涉及一种视频编码器、方法和装置及其帧间模式选择方法和装置。
背景技术
H.264/AVC视频编码标准从2003年5月发布草案以来,以其相对于以往的视频压缩标准在压缩效率以及网络适应性方面的明显优势,迅速成为视频应用领域的主流标准。然而,随着终端设备形式的多样化以及人们对多媒体体验要求的不断提高,高清晰度、高帧率、3D、移动平台已经成为视频应用的主流趋势,另一方面,传输带宽和存储空间一直是视频应用中最为关键的资源,如何在有限的空间和传输通路中获得最佳的视频体验一直是用户不懈追求的目标,现有的H.264/AVC编码标准的压缩效率仍然不能满足这些日益增长的需求,因此,在2010年1月,ITU-T VCEG(Video Coding Experts Group)组织和ISO/IECMPEG(Moving Picture Experts Group)组织联合成立了JCT-VC(Joint CollaborativeTeam on Video Coding),统一制定下一代编码标准HEVC(High Efficiency VideoCoding),并于2013年1月正式发布了标准的最终版。HEVC沿用H.264/AVC的混合编码框架,同时又采用了大量的新技术,使得编码效率比现有的H.264/AVC提高一倍,即HEVC只用一半的码率就可达到与H.264/AVC相同的视频质量,因此HEVC在高清、超高清视频存储,流媒体和移动互联网视频等方面都具有极高的应用价值。
HEVC标准的其中一项最重要的新技术就是采用了更加灵活的四叉树编码结构,使用编码单元(Coding Unit,简称CU),预测单元(Prediction Unit,简称PU)和变换单元(Transform unit,简称TU))3个概念描述整个编码过程,以提高高清、超高清视频的压缩编码效率。
在HEVC中,一帧图像被分割成许多互不重叠的编码树单元(Coding Tree Units,简称CTU),CTU类似于H.264/AVC中的宏块,CTU均为2Nx2N(N=2C,C为大于1的整数)的正方形像素块,CTU最大允许尺寸为64x64。每个CTU都可以按照四叉树结构递归划分为正方形的编码单元,CU是HEVC编码的基本单元,允许的最小尺寸为8x8,最大尺寸为CTU的尺寸,图1是一个64x64的CTU四叉树结构划分示例。记尺寸等于CTU的CU的深度(Depth)为0,若一个深度为n的CU可继续划分为深度等于n+1的4个子CU,每个子CU尺寸是上一深度CU的1/4。CU的预测编码类型有帧内(Intra)预测模式和帧间(Inter)预测模式两种。所有CU都是帧内预测模式的帧称为帧内预测帧(即,I帧),包含帧内预测模式和帧间预测模式的CU的帧称为帧间预测帧(即,GPB帧或B帧)。
PU是预测的基本单元,一个CU可包含一个或多个PU,PU最大尺寸是CU的尺寸,允许正方形或者长方形的分块。对于帧间预测编码的CU,有如图2a至图2h所示的8种PU划分方式,其中,图2a至图2d示出了4种对称的划分方式,依次为2Nx2N,2NxN,Nx2N,N×N,图2e至图2h示出了4种非对称的划分方式,依次为2NxnU,2NxnD,nLx2N,nRx2N。
对于帧间预测2Nx2N的PU划分方式,若残差系数和运动矢量差都为零,则称该CU是以跳过模式(即,Skip模式)编码。与H.264/AVC的跳过模式不同,HEVC的跳过模式的运动矢量获取采用了运动融合技术(Merge),即当前PU的运动信息(包括运动矢量、参考帧索引、参考帧列表)都可以通过相邻PU的运动信息构造出一个融合运动矢量候选列表,编码时只需要传送融合标记(Merge Flag)以及最佳融合运动矢量对应的索引(Merge Index),无需传送其他运动信息。若当前PU的运动矢量采用运动融合技术获取,但包含非零的残差系数,则称该PU是以融合(Merge)模式编码。
对于其余帧间预测的情况,HEVC采用的是自适应运动矢量预测技术(AdaptiveMotion Vector Prediction,AMVP),即通过相邻PU的运动矢量信息构造出一个预测运动矢量候选列表,选择最佳的预测运动矢量,再通过运动估计选择最佳的运动矢量,编码时需要传输残差系数和包括运动矢量差在内的完整的运动信息。
对于帧内预测编码的CU,只有2Nx2N,NxN两种PU划分方式,且NxN的划分方式只用于对深度为允许的最大深度的CU进行。
TU是变换和量化的基本单元,一个CU可包含一个或多个TU,TU同样采用四叉树型的递归划分结构,其大小从4x4到32x32尺寸,可比PU大,但不超过CU的大小。图3为一个CU的TU划分方式的示意图。
在实际编码时,需要对每个CTU进行模式选择,选择最优的CU、PU、TU划分方式,以及预测编码类型,通常按照率失真最优的准则,对每种CU、PU划分方式,需要计算最多34个预测方向下采用不同TU划分方式的帧内预测编码开销,以及在每种运动矢量预测方式下进行运动估计选择最匹配的预测CU,再计算采用不同TU划分方式下的帧间预测编码开销,最后选择代价最小的CU、PU、TU划分方式,以及相应的预测编码类型作为当前CTU的最优编码模式。
HEVC标准采用了上述灵活CU、PU、TU划分方式,以及更多的帧内预测方向、帧间运动矢量预测方式,极大的提高了预测准确性,从而提高编码效率,但是由于在模式选择的运动估计和编码开销计算时涉及大量的绝对误差和(Sum of Absolute Difference,简称SAD)、经Hardmard变换后的绝对误差和(Sum of Absolute Transformed Difference,简称SATD)、差值的平方和(Sum of Squared Error,简称SSE)和码率估算等高复杂度的计算过程,HEVC这种更加灵活多样的划分方式和预测方式急剧增加了模式选择过程的计算复杂度。在目前HEVC参考软件实现中,模式选择的计算耗时占整个编码时间的90%以上,这种高复杂的模式选择直接导致HEVC的高编码复杂度,因此难以满足目前日益增多的视频实时通话(尤其是手持设备上的视频通话)、流媒体直播等高实时性要求的视频编码的应用,而对于点播视频的片源离线视频压缩,也需要投入大量的服务器计算资源和编码时间成本。又由于帧间预测帧的编码效率要远远高于帧内预测帧,因此在一般的视频编码中,为了保证传输的鲁棒性和码流的随机访问,通常只是1-2秒插入一个I帧,即若视频的帧率为15fps,每隔15-30帧里面只有一个I帧,其余都是帧间预测帧,而在高清视频存储或流媒体点播等应用中,为了保证高压缩效率,I帧间隔会更大,最高可达100-200帧,因此帧间预测帧在视频码流中所占的比例通常很高,其中帧间模式选择也是整个视频编码耗时的瓶颈模块。
图4是现有技术中一种对一个CU进行编码时的完整(不开启任何快速模式选择算法)模式选择的流程图,如图4所示,在此种方法中,进行模式选择主要包括如下步骤S41至S45:
S41:对当前CU,判断其深度(Depth)是否超过允许的最大深度,如果超过,则流程结束,否则继续执行步骤S42。
S42:依次计算按融合2Nx2N、帧间2Nx2N、帧间NxN、帧间Nx2N、帧间2NxN、帧内2Nx2N、帧内NxN模式进行编码的代价。在允许非对称PU划分方式下,还要再依次计算按帧间2NxnU、帧间2NxnD、帧间nLx2N、帧间nRx2N四种模式进行编码的代价。其中帧间NxN和帧内NxN模式的计算只在当前CU的深度等于允许的最大深度时进行,且若帧间_4x4_enabled_flag标志为0,当CU大小为8x8时,也不计算帧间NxN模式的代价。
S43:选择步骤S42计算的模式中代价最小的编码模式作为当前CU的最优编码模式,并记录该最小代价作为当前CU的编码开销。
S44:将当前CU划分为深度为Depth+1的4个子CU,对每个子CU递归调用本流程。
S45:将4个深度为Depth+1的子CU(如图5所示)的编码开销相加,与当前CU的编码开销比较,若当前CU的编码开销较大,则当前CU的最优编码模式为划分子CU下的最优编码模式,否则当前CU的最优编码模式为不划分子CU下的最优编码模式。
上述进行模式选择的方法中,由于对每个CTU的模式选择过程,都要遍历计算按每种CU、PU、TU划分方式,以及帧内、帧间预测方式进行编码的代价,从中选择代价最小的编码模式作为当前CTU的最优编码模式,虽然这种模式选择方法得到的最优编码模式较为准确,但是计算复杂度很高。一般的离线视频压缩应用难以承受如此长时间的压缩和巨大的服务器计算资源开销,更是无法满足视频通话、流媒体直播等需要实时视频编码的应用。
图6是现有技术中另一种模式选择方法的流程图,如图6所示,在此种方法中,进行模式选择主要包括如下步骤S61至S68:
S61:对当前CU,判断其深度(Depth)是否超过允许的最大深度,如果超过,则流程结束,否则继续执行步骤S62。
S62:依次计算按帧间2Nx2N和融合2Nx2N模式进行编码的代价。
S63:判断按帧间2Nx2N和融合2Nx2N模式中代价最小的模式编码时残差系数和运动矢量差是否都为零,若是,则将当前CU编码模式预判为跳过模式,流程结束,否则继续执行步骤S64。
S64:依次计算按帧间NxN、帧间Nx2N、帧间2NxN、帧内2Nx2N、帧内NxN模式进行编码的代价。在允许非对称PU划分方式下,还要再依次计算按帧间2NxnU、帧间2NxnD、帧间nLx2N、帧间nRx2N四种模式进行编码的代价。其中帧间NxN和帧内NxN模式的计算只在当前CU的深度等于允许的最大深度时进行,且若帧间_4x4_enabled_flag标志为0,当CU大小为8x8时,也不计算帧间NxN模式的代价。
S65:选择步骤S64计算的模式中代价最小的编码模式作为当前CU的最优编码模式。
S66:若当前CU的最优编码模式为跳过模式,流程结束,否则继续执行步骤S67。
S67:将当前CU划分为深度等于Depth+1的4个子CU,对每个子CU递归调用本流程。
S68:将4个深度为Depth+1的子CU编码开销相加,与当前CU的编码开销比较,若当前CU的编码开销较大,则当前CU的最优编码模式为划分子CU下的最优编码模式,否则当前CU的最优编码模式为不划分子CU下的最优编码模式。
上述步骤S61至步骤S68所描述的选择方法,相比上述步骤S41至步骤S45所描述的选择方法而言,前者提出了一种提前决策CU划分方式的快速模式选择算法,若当前CU的最优编码模式为跳过模式,则不再对当前CU继续划分子CU,终止CU模式选择过程。并且还提出了一种提前检测跳过模式的快速模式选择算法,若按照帧间2Nx2N和融合2Nx2N模式进行编码选择出的代价最小模式,其残差系数和运动矢量差都为零,则可提前判定当前CU的最优编码模式为跳过模式,终止CU模式选择过程。
不过,这种提前检测跳过模式和对跳过模式的CU提前中止子CU划分的快速模式选择方法,对跳过模式的CU比例较大的画面较静止的视频场景,可以节省一定的计算复杂度,但对于画面有一定运动的一般视频场景,由于计算按帧间2Nx2N模式编码的代价时,要涉及复杂度很高的运动估计和编码开销计算过程,因此计算复杂度仍然很大,与实际应用的编码复杂度要求仍有很大的差距。
针对相关技术中视频编码中进行模式选择的计算复杂度偏高的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例的主要目的在于提供一种视频编码器、方法和装置及其帧间模式选择方法和装置,以解决现有技术中视频编码中进行模式选择的计算复杂度偏高的问题。
根据本发明实施例的一个方面,提供了一种视频编码的帧间模式选择方法。
根据本发明实施例的视频编码的帧间模式选择方法包括:S701:在跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,调用步骤S703至步骤S705,在不跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,调用步骤S702至步骤S705;S702:在所述当前深度Depth深度下,确定所述编码单元CUDepth的当前最优编码模式及编码开销;S703:划分所述编码单元CUDepth为多个深度Depth+1的子编码单元,对每个所述子编码单元递归执行步骤S701至步骤S705,直至所述子编码单元的深度达到预设最大深度或者满足终止划分条件,确定每个子编码单元的最优编码模式及编码开销;S704:比较多个所述子编码单元的编码开销之和与所述编码单元CUDepth的当前编码开销的大小;以及S705:若所述编码单元CUDepth的当前编码开销大于多个所述子编码单元的编码开销之和,则确定所述编码单元CUDepth的最优编码模式为划分多个所述子编码单元下的最优编码模式,否则确定所述编码单元CUDepth的最优编码模式为未划分多个所述子编码单元下的最优编码模式。
根据本发明实施例的又一个方面,提供了一种视频编码方法。
根据本发明实施例的视频编码方法包括:接收待编码的视频源数据;确定所述视频源数据中每一帧的编码帧类型,得到帧间预测帧和帧内预测帧;确定所述帧内预测帧的编码模式,并采用预设方法确定所述帧间预测帧的编码模式,其中,所述预设方法为本发明实施例上述内容所提供的任一种帧间模式选择方法;以及采用第一模式编码所述帧内预测帧,并采用第二模式编码所述帧间预测帧,其中,所述第一模式为确定出的所述帧内预测帧的编码模式,所述第二模式为采用所述预设方法确定出的所述帧间预测帧的编码模式。
根据本发明实施例的又一个方面,提供了一种视频编码的帧间模式选择装置。
根据本发明实施例的视频编码的帧间模式选择装置包括:调用单元,用于在跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次调用处理单元、比较单元和第二确定单元,在不跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次调用第一确定单元、所述处理单元、所述比较单元和所述第二确定单元;所述第一确定单元,用于在所述当前深度Depth深度下,确定所述编码单元CUDepth的当前最优编码模式及编码开销;所述处理单元,用于划分所述编码单元CUDepth为多个深度Depth+1的子编码单元CUDepth+1,对每个所述子编码单元递归调用所述第一判断单元、所述第一确定单元、所述处理单元、所述比较单元和所述第二确定单元,直至所述子编码单元的深度达到预设最大深度或者满足终止划分条件,确定每个子编码单元的最优编码模式及编码开销;所述比较单元,用于比较多个所述子编码单元的编码开销之和与所述编码单元CUDepth的当前编码开销的大小;以及所述第二确定单元,用于在比较出所述编码单元CUDepth的编码开销大于多个所述子编码单元的编码开销之和的情况下,确定所述编码单元CUDepth的最优编码模式为划分多个所述子编码单元下的当前最优编码模式,否则确定所述编码单元CUDepth的最优编码模式为未划分多个所述子编码单元下的最优编码模式。
根据本发明实施例的又一个方面,提供了一种视频编码装置。
根据本发明实施例的视频编码装置包括:接收单元,接收待编码的视频源数据;帧类型选择单元,确定所述视频源数据中每一帧的编码帧类型,得到帧间预测帧和帧内预测帧;模式选择单元,确定所述帧内预测帧的编码模式,并采用预设方法确定所述帧间预测帧的编码模式,其中,所述预设方法为本发明实施例上述内容所提供的任一种帧间模式选择方法;以及编码单元,采用第一模式编码所述帧内预测帧,并采用第二模式编码所述帧间预测帧,其中,所述第一模式为确定出的所述帧内预测帧的编码模式,所述第二模式为采用所述预设方法确定出的所述帧间预测帧的编码模式。
根据本发明实施例的又一个方面,提供了一种视频编码器。
根据本发明实施例的视频编码器包括:本发明上述内容所提供的任一种视频编码的帧间模式选择装置。
在本发明实施例中,利用编码模式和编码开销在时域和空域上的相关性,采用跳过或提前终止编码单元划分方式,从而避免这些编码单元划分方式下的各种模式的编码和代价计算,有效降低模式选择过程的计算复杂度,提高编码速度,解决了现有技术中视频编码中进行模式选择的计算复杂度偏高的问题,进而达到了降低复杂度、提高编码速度的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的编码树单元的结构划分示例;
图2a至图2h是根据相关技术的对编码单元进行预测划分的划分方式示意图;
图3是根据相关技术的对编码单元进行变换划分的划分方式示意图;
图4是根据相关技术的一种编码单元进行模式选择的流程图;
图5是采用图4中的模式选择方法划分编码单元的示意图;
图6是根据相关技术的又一种编码单元进行模式选择的流程图;
图7是根据本发明实施例的视频编码的帧间模式选择方法的流程图;
图8a至8c是采用图7中的帧间模式选择方法获取到的相邻编码单元CU′的示意图;
图9是根据本发明优选实施例的视频编码的帧间模式选择方法的流程图;
图10是根据本发明实施例的视频编码方法的流程图;
图11是根据本发明实施例的视频编码的帧间模式选择装置的示意图;
图12是根据本发明实施例的视频编码装置的示意图;以及
图13是根据本发明实施例的视频编码器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,可以提供了一种可以用于实施本申请装置实施例的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种视频编码的帧间模式选择方法,以下对本发明实施例所提供的视频编码的帧间模式选择方法做具体介绍:
图7是根据本发明实施例的视频编码的帧间模式选择方法的流程图,如图7所示,该方法包括如下的步骤S701至步骤S705,其中,当前深度Depth的初始值为1:
S701:在跳过对当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次执行步骤S703至步骤S705,在不跳过对当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次执行步骤S702至步骤S705。
S702:在当前深度Depth下,确定编码单元CUDepth的当前最优编码模式及编码开销。
S703:划分编码单元CUDepth为多个深度Depth+1的子编码单元,对每个子编码单元递归执行步骤S701至步骤S705,直至子编码单元深度达到预设最大深度或者满足终止划分条件,确定每个子编码单元的最优编码模式及编码开销,即,如果判断出需要跳过对当前深度的编码单元CUDepth进行编码所需的编码开销的计算,则将当前深度的编码单元进一步划分为深度加1的子编码单元,并将新划分出的子编码单元作为目标编码单元递归调用本发明实施例所提供的视频编码的帧间模式选择方法,其中,当前深度Depth为变量,每进行一次编码单元的划分,当前深度的深度值加1。
S704:比较多个子编码单元的编码开销之和与编码单元CUDepth的当前编码开销的大小,其中,对于需要跳过对当前深度的编码单元CUDepth进行编码所需的编码开销的计算的情况,编码单元CUDepth的编码开销为MAX,MAX=2a-1,a为编码开销数值类型的比特位数,比如,编码开销的数值类型为32位无符号整型,则MAX=232-1。
S705:若编码单元CUDepth的编码开销大于多个子编码单元的编码开销之和,则确定编码单元CUDepth的最优编码模式为划分多个子编码单元下的当前最优编码模式,否则确定编码单元CUDepth的最优编码模式为未划分多个子编码单元下的最优编码模式。
本发明实施例所提供的视频编码的帧间模式选择方法,通过利用编码模式和编码开销在时域和空域上的相关性,采用跳过或提前终止编码单元划分方式,从而避免这些编码单元划分方式下的各种模式的编码和代价计算,有效降低模式选择过程的计算复杂度,提高编码速度,解决了现有技术中视频编码中进行模式选择的计算复杂度偏高的问题,进而达到了降低复杂度、提高编码速度的效果。
具体地,在本发明实施例中,主要通过以下方式一,来判断是否跳过对当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算。
方式一:
首先,获取在编码单元CUDepth之前进行编码并与编码单元CUDepth时域和/或空域相邻的编码单元CU′、以及编码单元CU′的深度,具体地,如图8a至8c所示,在编码单元CUDepth之前编码的编码单元一般包括:与编码单元CUDepth时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与编码单元CUDepth空域相邻并位于编码单元CUDepth左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;
其次,判断编码单元CU′中是否存在Nc个第一编码单元,其中,Nc为第一预设参数,第一编码单元的深度大于当前深度Depth,即,判断编码单元CU′中是否存在Nc个深度单元当前深度的编码单元。在判断出编码单元CU′中存在Nc个第一编码单元的情况下,确定跳过对编码单元CUDepth进行编码所需的编码开销的计算。
具体地,判断编码单元CU′中是否存在Nc个第一编码单元主要是判断C≥Nc是否成立,其中,即,C为集合[C0,C1,C2,C3,C4,C5]中任意n4(1≤n4≤6)个元素的和,Depthi为编码单元CU′中的编码单元CUi′的深度,Nc为第一预设参数,也即是判断与目标编码单元CU时域和/或空域相邻的编码单元CU′中,深度大于目标编码单元CU深度的编码单元CU′的个数是否达到Nc个,一般取Nc=6,n4=6,也可根据应用的计算复杂度需求,适当增大或减小Nc的取值,并且在组成C的元素有较多个的情况下,Nc相应地增大,反之,Nc相应地减小,其中,在判断出C≥Nc成立的情况下,其中,在判断出C≥Nc成立的情况下,确定编码单元CU′中存在Nc个第一编码单元。
图9是根据本发明实施例的视频编码的帧间模式选择方法的具体流程图,如图9所示,该实施例的视频编码的帧间模式选择方法主要包括如下步骤S901至步骤S917:
S901:在判断是否跳过对当前深度的编码单元进行编码所需的编码开销的计算之前,先以当前深度的编码单元作为目标编码单元CU,并判断目标编码单元CU的深度是否超过允许的最大深度,具体地,主要是获取到目标编码单元CU的深度,然后比较获取到的深度与允许的最大深度的大小,如果获取到的深度小于允许的最大深度,则确定目标编码单元CU的深度未超过允许的最大深度,继续执行步骤S902,反之,则流程结束。
S902:判断是否跳过处于当前深度(假设为Depth)的目标编码单元CUDepth进行编码所需的编码开销的计算(同上述步骤S701),如果判断出跳过的话,则确定目标编码单元CU的最小编码开销为MAX,并跳转至步骤S916,如果判断出不跳过的话,执行步骤S903。
S903:计算按照融合2Nx2N模式对目标编码单元CU编码的编码开销。
S904:判断是否跳过计算按照帧间2Nx2N模式对目标编码单元CU编码的编码开销。在判断出跳过计算按照帧间2Nx2N模式对目标编码单元CU编码的编码开销的情况下,跳转至步骤S906,反之,执行步骤S905。
S905:计算目标编码单元CU按照帧间2Nx2N模式编码的编码开销。
S906:从计算出的编码开销中选择最小编码开销,并确定最小编码开销对应的模式作为目标编码单元CU的最优模式。
S907:判断最优模式是否为跳过模式,具体地,主要是判断按照最小编码开销对应的模式对目标编码单元CU编码后的残差系数和运动矢量差是否均为零,如果均为零的话,确定最优模式为跳过模式,流程结束,反之,则不是,需执行步骤S908,以进一步对目标编码单元的帧间模式做选择。
S908:判断是否终止处于当前深度的目标编码单元CU模式的计算,如果判断结果为是的话,则跳转至步骤S915,反之,继续执行步骤S909。
S909:判断是否跳过计算按照帧间非2Nx2N模式对目标编码单元CU编码的编码开销。如果判断结果为是的话,则跳转至步骤S911,反之,继续执行步骤S910。
S910:计算按照帧间非2Nx2N模式对目标编码单元CU编码的编码开销,具体地,依次计算按帧间NxN、帧间Nx2N、帧间2NxN模式对目标编码单元CU进行编码的代价。并且,在允许非对称PU划分方式下,还要再依次计算按帧间2NxnU,帧间2NxnD,帧间nLx2N,帧间nRx2N四种模式进行编码的代价。其中,帧间NxN模式的计算只在目标编码单元CU的深度等于允许的最大深度的情况下进行,且若帧间_4x4_enabled_flag标志为0,当目标编码单元CU大小为8x8时,也不计算帧间NxN模式的代价。
S911:判断是否跳过计算按照帧内模式对目标编码单元CU编码的编码开销。如果判断结果为是的话,则跳转至步骤S913,反之,继续执行步骤S912。
S912:计算按照帧内模式对目标编码单元CU编码的编码开销,具体地,依次计算按帧内2Nx2N、帧内NxN模式对目标编码单元CU进行编码的代价。其中帧内NxN模式的编码只在目标编码单元CU的深度等于允许的最大深度的情况下进行。
S913:从计算出的编码开销中选择最小编码开销,并确定最小编码开销对应的模式作为目标编码单元CU的最优编码模式。
S914:判断最优编码模式是否为跳过模式,具体地,主要是判断按照最小编码开销对应的模式对目标编码单元CU编码后的残差系数和运动矢量差是否均为零,如果均为零的话,确定最优编码模式为跳过模式,流程结束,反之,则不是,需执行步骤S915,以进一步对目标编码单元的帧间模式做选择。
S915:判断目标编码单元CU是否满足终止划分的条件,其中,如果判断结果为是的话,则结束流程确定步骤S913中确定出的最优模式为目标编码单元CU的最优模式,并且,目标编码单元CU按照当前深度编码;反之,执行步骤S916。
S916:将目标编码单元CU划分为4个深度为Depth+1的编码单元,然后,以每个深度为Depth+1的编码单元CUDepth+1作为目标编码单元,递归调用上述流程,计算4个编码单元CUDepth+1的编码开销之和,并计算4个编码单元CUDepth+1的最优编码模式,即,如果判断出跳过对编码单元CUDepth进行编码所需的编码开销的计算,则将编码单元CUDepth划分为4个深度为Depth+1的子编码单元CUDepth+1,并确定每个子编码单元CUDepth+1均为目标编码单元递归调用上述流程,计算4个编码单元CUDepth+1的编码开销之和,并计算4个编码单元CUDepth+1的最优模式,对于将编码单元进行划分后,当前深度将加1,即,Depth=Depth+1。
S917:比较步骤S913中确定的最小编码开销和4个子编码单元的编码开销之和的大小,在比较出最小编码开销大于编码开销之和的情况下,确定目标编码单元的最优模式为划分后的多个子编码单元的最优编码模式;在比较出最小编码开销小于编码开销之和的情况下,确定目标编码单元的最优模式为最小编码开销对应的编码模式。
通过以上描述可以看出,在该优选实施例中,可以通过以下方式确定目标编码单元的最优编码模式,其中,目标编码单元为编码单元CUDepth或子编码单元:依次计算按照各种编码模式对目标编码单元进行编码所需的编码开销,并在计算出按照当前模式对目标编码单元进行编码的编码开销之后,判断是否跳过按照当前模式或当前模式及其以后几种对目标编码单元进行编码所需的编码开销的计算,在判断出跳过按照当前模式或当前模式及其以后几种对目标编码单元进行编码所需的编码开销的计算的情况下,跳过按照当前模式或当前模式及其以后几种对目标编码单元进行编码所需的编码开销的计算,并从第一编码开销中选择最小编码开销,其中,第一编码开销为计算出的按照在先模式对目标编码单元进行编码所需的编码开销,在先模式为当前模式之前的模式;然后判断采用最小编码开销对应的模式对目标编码单元进行编码的目标参数是否满足预设条件,其中,预设条件表示将目标编码单元的编码模式预判为跳过模式,即,判断按照最小编码开销对应的模式对目标编码单元CU编码后的残差系数和运动矢量差是否均为零,如果均为零的话,确定将目标编码单元的编码模式预判为跳过模式,也即确定目标参数满足预设条件。在判断出目标参数不满足预设条件的情况下,确定最小编码开销对应的模式为对目标编码单元进行编码所采用的模式。
其中,对目标编码单元进行编码所采用的编码模式主要包括:融合2Nx2N模式(即,Merge 2Nx2N模式)、帧间2Nx2N模式(即,Inter 2Nx2N模式)、帧间非2Nx2N模式、和帧内模式。
具体地,帧间非2Nx2N模式主要包括帧间NxN模式(即,Inter NxN模式)、帧间Nx2N模式(即,Inter Nx2N模式)、帧间2NxN模式(即,Inter 2NxN模式),在允许非对称预测单元PU划分方式下,帧间非2Nx2N模式还包括帧间nRx2N模式(即,Inter nRx2N模式)、帧间nLx2N模式(即,Inter nLx2N模式)、帧间2NxnD模式(即,Inter 2NxnD模式)、帧间2NxnU模式(即,Inter2NxnU模式),对于按照帧间非2Nx2N模式对目标编码单元CU编码的编码开销的计算,则是依次计算按照帧间NxN模式、帧间Nx2N模式和帧间2NxN模式对目标编码单元CU编码的编码开销,并且在允许非对称预测单元PU划分方式下,依次计算按照帧间nRx2N模式、帧间nLx2N模式、帧间2NxnD模式、帧间2NxnU模式对目标编码单元CU编码的编码开销。
帧内模式包括帧内2Nx2N模式(即,Intra 2Nx2N模式)和帧内NxN模式(即,IntraNxN模式),对于按照帧内模式对目标编码单元CU编码的编码开销的计算,则是依次计算按照帧内2Nx2N模式和帧内NxN模式对目标编码单元CU编码的编码开销。
对于计算起始阶段,在计算出按照融合2Nx2N模式对目标编码单元CU编码的编码开销之后,判断是否跳过计算按照帧间2Nx2N模式对目标编码单元编码的编码开销,对于计算过程中,在计算出按照X模式对目标编码单元CU编码的编码开销之后,判断是否跳过计算按照X模式后的一种或几种模式对目标编码单元CU编码的编码开销。如果在计算出按照融合2Nx2N模式对目标编码单元CU编码的编码开销之后,判断出跳过计算按照帧间2Nx2N模式对目标编码单元编码的编码开销,则当前最小编码开销为按照融合2Nx2N模式对目标编码单元CU编码的开销。
以下具体说明本发明优选实施例中判断是否跳过按照当前模式对目标编码单元进行编码所需的编码开销的计算的具体判断方式。
如果在先模式为融合2Nx2N模式,当前模式为帧间2Nx2N模式,可以采用以下方式二来判断是否跳过计算按照帧间2Nx2N模式对目标编码单元CU进行编码所需的编码开销,即,步骤S904可以具体为以下方式二。
方式二:
S201:获取目标编码单元CU的深度、按照融合2Nx2N模式对目标编码单元CU编码的编码开销、残差系数和运动矢量差,并获取编码单元CU′的深度、编码模式和编码开销,其中,编码单元CU′为在当前深度Depth的编码单元CUDepth之前编码并与编码单元CUDepth时域和/或空域相邻的编码单元;
S202:根据目标编码单元CU的深度、残差系数、运动矢量差和编码单元CU′编码的深度、编码模式、编码开销判断是否跳过计算按照当前模式对目标编码单元进行编码所需的编码开销。
具体地,根据目标编码单元CU的深度、残差系数、运动矢量差和编码单元CU′编码的深度、编码模式、编码开销判断是否跳过计算按照当前模式对目标编码单元进行编码所需的编码开销主要包括如下步骤S2021至步骤S2024:
S2021:根据目标编码单元CU的残差系数和运动矢量差计算第一变量的大小,具体地,首先,判断残差系数和运动矢量差是否均为零,然后,在判断出残差系数和运动矢量差均为零的情况下,确定第一变量bMergeDetectSkip=1,并确定Costx,Merge=MAX,或在判断出残差系数和运动矢量差不均为零的情况下,确定第一变量bMergeDetectSkip=0,并确定Costx,Merge为按照融合2Nx2N模式对编码单元CUDepth进行编码的编码开销,其中,MAX=2a-1,a为Costx,Merge数值类型的比特位数,比如,Costx,Merge的数值类型为32位无符号整型,则MAX=232-1。
S2022:根据目标编码单元CU的深度、编码单元CU′的深度、编码模式、编码开销计算第二变量和第三变量的大小,具体地,首先,判断目标编码单元的编码模式是否预判为融合2Nx2N模式或帧内模式,然后,在判断出目标编码单元的编码模式预判为融合2Nx2N模式的情况下,确定第二变量bFastDeciMerge=1,反之,确定第二变量bFastDeciMerge=0,或在判断出目标编码单元的编码模式可预判为帧内模式的情况下,确定第三变量bFastDeciIntra=1,反之,确定第三变量bFastDeciIntra=0。
S2023:根据按照融合2Nx2N模式对编码单元CUDepth进行编码的编码开销和编码单元CU′编码的编码开销计算第四变量的大小。
S2024:根据第一变量、第二变量、第三变量和第四变量的大小判断是否跳过按照帧间2Nx2N模式对目标编码单元进行编码所需的编码开销的计算,具体地,判断条件1和条件2是否成立,其中,条件1为bMergeDetectSkip=0且bFastDeciMerge=0且bFastDeciIntra=0,条件2为bMergeDetectSkip=1且bCheckFurther=1且bFastDeciIntra=0,在判断出条件1或条件2成立的情况下,确定跳过计算按照帧间2Nx2N模式对目标编码单元进行编码所需的编码开销的计算。
其中,在判断出条件1或条件2成立的情况下,确定跳过计算按照帧间2Nx2N模式对目标编码单元CU编码的编码开销,即,只要条件1和条件2中的任意一个条件成立,即可确定跳过计算按照帧间2Nx2N模式对目标编码单元CU编码的编码开销。
进一步地,本发明实施例的视频编码的帧间模式选择方法还包括获取编码单元CU′的编码模式,其中,判断目标编码单元的编码模式是否预判为融合2Nx2N模式或帧内模式包括:
判断M≥Nm且且是否成立,其中,在判断出M≥Nm且且成立的情况下,确定目标编码单元的编码模式预判为融合2Nx2N模式,即,M为集合[M0,M1,M2,M3,M4,M5]中任意n1(1≤n1≤6)个元素的和,如果编码单元CUi′的编码模式为融合2Nx2N模式,则Mi=1,如果编码单元CUi′的编码模式为非融合2Nx2N模式或编码单元CUi′不存在,则Mi=0,Depthj为编码单元CUj′的深度,Costj为编码单元CUj′的编码开销,j∈[0,1,2,3,4,5],Nm为第二预设参数,上述判断也即是判断与目标编码单元CU时域和/或空域相邻的编码单元CU′中,按照融合2Nx2N模式编码的编码单元CU′的数量是否达到Nm个,为平衡编码效率和编码速度,一般可取Nm=4,j=0,1,2,4。也可根据应用的计算复杂度需求,适当减小Nm的取值,并且在组成M的元素有较多个的情况下,Nm相应地增大,反之,Nm相应地减小。对于j的取值,也可在0~5中取任意多个来控制计算复杂度。
判断I≥NI是否成立,其中,在判断出I≥NI成立的情况下,确定目标编码单元的编码模式预判为帧内模式,即,I为集合[I0,I1,I2,I3,I4,I5]中任意n2(1≤n2≤6)个元素的和,如果编码单元CUi′的编码模式为帧内模式,则Ii=1,如果编码单元CUi′的编码模式为非帧内模式或编码单元CUi不存在,则Ii=0,NI为第三预设参数,即,判断与目标编码单元CU时域和/或空域相邻的编码单元CU′中,按照帧内模式编码的编码单元CU′的数量是否达到NI个,一般取NI=3,也可根据应用的计算复杂度需求,适当增大或减小NI的取值,并且在组成I的元素有较多个的情况下,NI相应地增大,反之,NI相应地减小。
根据按照融合2Nx2N模式对编码单元CUDepth进行编码的编码开销和编码单元CU′编码的编码开销计算第四变量的大小包括:
判断且时,是否成立,或判断或时,是否成立,其中,Costi,Merge为按照融合2Nx2N模式对编码单元CUi′编码的编码开销,Depthi为编码单元CUi′的深度,Costi为编码单元CUi′的编码开销,i∈[0,1,2,3,4,5],T1和T2均为预设倍数,并且T1≠T2,一般可取T1=1,T2=1.2,i=2,3,4,5,也可根据应用的计算复杂度需求,适当调整T2的取值。对于i的取值,也可在0~5中取任意多个来控制计算复杂度,复杂度越大,T值越大,反之,越小。其中,在判断出且时,成立的情况下,确定第四变量bCheckFurther=1,反之,确定第四变量bCheckFurther=0,或在判断出或时,成立的情况下,确定第四变量bCheckFurther=1,反之,确定第四变量bCheckFurther=0。
如果在先模式为融合2Nx2N模式或帧间2Nx2N模式,可以采用以下方式二来判断是否跳过计算按照帧间非2Nx2N模式对目标编码单元CU编码的编码开销,即,步骤S909可以具体为以下方式三。
方式三:
首先,获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′的编码模式。
其次,根据CU′的编码模式计算第三变量的大小,具体地,通过判断目标模式是否预判为帧内模式,在判断出目标模式预判为帧内模式的情况下,确定第三变量bFastDeciIntra=1,反之,确定第三变量bFastDeciIntra=0,其中,判断目标模式是否预判为帧内模式的具体判断方式与上述相同,此处不再赘述。
然后,根据第三变量的大小判断是否跳过按照当前模式对目标编码单元进行编码所需的编码开销的计算,具体地,判断bFastDeciIntra=1是否成立,其中,在判断出bFastDeciIntra=1成立的情况下,确定跳过按照当前模式对目标编码单元进行编码所需的编码开销的计算。
进一步地,上述方式三可以进一步细化为如下步骤S301至步骤S304:
S301:获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′、以及编码单元CU′的编码模式,具体地,在目标编码单元CU之前编码的编码单元一般包括:与目标编码单元CU时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与目标编码单元CU空域相邻并位于目标编码单元CU左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;
S302:判断I≥NI是否成立,其中,即,I为集合[I0,I1,I2,I3,I4,I5]中任意n2(1≤n2≤6)个元素的和,如果编码单元CUi′的编码模式为帧内模式,则Ii=1,如果编码单元CUi′的编码模式为非帧内模式或编码单元CUi′不存在,则Ii=0,NI为第三预设参数,一般取NI=3,也可根据应用的计算复杂度需求,适当增大或减小NI的取值,并且在组成I的元素有较多个的情况下,NI相应地增大,反之,NI相应地减小;
S303:在判断出I≥NI成立的情况下,记录bFastDeciIntra=1,在判断出I≥NI不成立的情况下,记录bFastDeciIntra=0;以及
S304:判断bFastDeciIntra=1是否成立,
其中,在判断出bFastDeciIntra=1成立的情况下,确定跳过计算按照帧间非2Nx2N模式对目标编码单元编码的编码开销。
进一步地,还可以判断目标编码单元CU按照融合2Nx2N模式或帧间2Nx2N模式计算后的最小编码开销是否小于阈值T8,如果判断出目标编码单元CU按照融合2Nx2N模式和帧间2Nx2N模式计算后的最小编码开销小于阈值T8,则确定跳过计算按照帧间非2Nx2N模式对目标编码单元编码的编码开销。
如果在先模式为融合2Nx2N模式或帧间非2Nx2N模式或帧间非2Nx2N模式,可以采用以下方式四来判断是否跳过计算按照帧内模式对目标编码单元CU编码的编码开销,即,步骤S911可以具体为以下方式四。
方式四:
S401:获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′、以及编码单元CU′的编码模式,具体地,在目标编码单元CU之前编码的编码单元一般包括:与目标编码单元CU时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与目标编码单元CU空域相邻并位于目标编码单元CU左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;以及
S402:判断获取到的编码单元CU′的编码模式是否存在帧内模式,
其中,在判断出获取到的编码单元CU′的编码模式不存在帧内模式的情况下,确定跳过计算按照帧内模式对目标编码单元编码的编码开销。
进一步地,还可以判断目标编码单元CU按照融合2Nx2N模式、帧间2Nx2N模式和帧间非2Nx2N模式计算后的最小编码开销是否小于阈值T10,如果判断出目标编码单元CU按照融合2Nx2N模式、帧间2Nx2N模式和帧间非2Nx2N模式计算后的最小编码开销小于阈值T10,则确定跳过计算按照帧内模式编对目标编码单元码的编码开销。
进一步地,步骤S915主要通过以下方式五来判断目标编码单元CU是否满足终止划分的条件。
方式五:
S501:获取目标编码单元的深度和按照融合2Nx2N模式对目标编码单元编码的编码开销;
S502:获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′、编码单元CU′的编码开销、编码单元CU′的编码模式、以及编码单元CU′的深度,具体地,在目标编码单元CU之前编码的编码单元一般包括:与目标编码单元CU时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与目标编码单元CU空域相邻并位于目标编码单元CU左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;
S503:判断S≥Ns且且是否成立,其中,Costx,Merge为按照融合2Nx2N模式对目标编码单元编码的编码开销,MAX=2a-1,a为Costx,Merge数值类型的比特位数,比如,Costx,Merge的数值类型为32位无符号整型,则MAX=232-1,即,S为集合[S0,S1,S2,S3,S4,S5]中任意n3(1≤n3≤6)个元素的和, Depth为目标编码单元的深度,Depthi为编码单元CUi′的深度,Depthj为编码单元CUj′的深度,Costj,Merge为按照融合2Nx2N模式对编码单元CUj′编码的编码开销,j∈[0,1,2,3,4,5],Ns为第四预设参数,一般地,取Ns=4,n3=4,j=0,1,2,3,4,5,也可根据应用的计算复杂度需求,适当增大或减小Ns的取值,并且在组成S的元素有较多个的情况下,Ns相应地增大,反之,Ns相应地减小;
S505:在判断出S≥Ns且且不成立的情况下,划分目标编码单元,得到多个目标编码子单元,反之,则终止划分目标编码单元CU。
步骤S908则主要通过判断bMergeDetectSkip=1或bFastDeciMerge=1是否成立,来判断是否终止处于当前深度的目标编码单元CU模式的计算,其中,在判断出bMergeDetectSkip=1或bFastDeciMerge=1成立的情况下,跳转至步骤S915,或在判断出bMergeDetectSkip=1或bFastDeciMerge=1不成立的情况下,执行步骤S909。
进一步地,还可以通过判断步骤S906中确定出的最小代价是否小于阈值T7,来判断是否终止处于当前深度的目标编码单元CU模式的计算,其中,如果判断出步骤S906中确定出的最小代价小于阈值T7,则跳转至步骤S915,反之,继续执行步骤S909。在本发明实施例中,T8>T7。
本发明优选实施例所提供的视频编码的帧间模式选择方法,采用在按照当前模式对目标编码单元进行编码之前,先判断是否跳过计算按照当前模式对目标编码单元进行编码所需的编码开销的计算,并在判断出跳过的情况下,从计算出的编码开销中选择最小编码开销,初步确定该最小编码开销对应的模式作为目标编码单元的当前最优编码模式,进一步判断采用该最小编码开销对应的模式对目标编码单元进行编码的目标参数是否满足预设条件,若满足预设条件,则确定目标编码单元的最优编码模式为上述最小编码开销对应模式,实现了在跳过或提前终止编码单元划分方式的编码和代价计算的基础上,还实现了跳过或提前终止可能性较小的编码模式编码和代价计算,达到了进一步降低模式选择过程的计算复杂度,提高编码速度。在HEVC参考软件上的实验表明,对HEVC标准测试序列采用本发明实施例所提供的帧间模式选择方法,可使编码速度平均提高50%左右,编码效率损失控制在1%以内。
实施例2
本发明实施例还提供了一种视频编码方法,以下对本发明实施例所提供的视频编码方法做具体介绍:
图10是根据本发明实施例的视频编码方法的流程图,如图10所示,该视频编码方法主要包括如下步骤S1002至步骤S1008:
S1002:接收待编码的视频源数据。
S1004:确定视频源数据中每一帧的编码帧类型,即区分出帧间预测帧和帧内预测帧。
S1006:确定帧内预测帧的编码模式,并采用预设方法确定帧间预测帧的编码模式,其中,预设方法为本发明实施例上述内容所提供的任一种帧间模式选择方法。
S1008:采用第一模式编码帧内预测帧,并采用第二模式编码帧间预测帧,其中,第一模式为确定出的帧内预测帧的编码模式,第二模式为采用预设方法确定出的帧间预测帧的编码模式。
本发明实施例所提供的视频编码方法,通过采用本发明实施例上述内容所提供的帧间模式选择方法,实现了有效降低视频编码过程中对模式选择进行计算的计算复杂度,进而达到了提高编码速度的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述视频编码的帧间模式选择方法的视频编码的帧间模式选择装置,该帧间模式选择装置主要用于执行本发明实施例上述内容所提供的帧间模式选择方法,以下对本发明实施例所提供的视频编码的帧间模式选择装置做具体介绍:
图11是根据本发明实施例的视频编码的帧间模式选择装置的示意图,如图11所示,本发明实施例所提供的视频编码的帧间模式选择装置主要包括调用单元10、第一确定单元20、处理单元30、比较单元40和第二确定单元50,其中,当前深度Depth的初始值为1:
调用单元10用于在跳过对当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次调用处理单元30、比较单元40和第二确定单元50,在不跳过对当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次调用第一确定单元20、处理单元30、比较单元40和第二确定单元50。
第一确定单元20用于在当前深度Depth深度下,确定编码单元CUDepth的当前最优编码模式及编码开销。
处理单元30用于划分编码单元CUDepth为多个深度Depth+1的子编码单元,对每个子编码单元递归调用调用单元10、第一确定单元20、处理单元30、比较单元40和第二确定单元50,直至子编码单元的深度达到预设最大深度或者满足终止划分条件,确定每个子编码单元的最优编码模式及编码开销,即,如果判断出需要跳过对当前深度的编码单元CUDepth进行编码所需的编码开销的计算,则将当前深度的编码单元进一步划分为深度加1的子编码单元,并将新划分出的子编码单元作为目标编码单元递归调用本发明实施例所提供的视频编码的帧间模式选择方法,其中,当前深度Depth为变量,每进行一次编码单元的划分,当前深度的深度值加1。
比较单元40用于比较多个子编码单元的编码开销之和与编码单元CUDepth的当前编码开销的大小,其中,对于需要跳过对当前深度的编码单元CUDepth进行编码所需的编码开销的计算的情况,编码单元CUDepth的编码开销等于MAX,MAX=2a-1,a为编码开销数值类型的比特位数,比如,编码开销的数值类型为32位无符号整型,则MAX=232-1。
第二确定单元50用于在比较出编码单元CUDepth的当前编码开销大于多个子编码单元的编码开销之和的情况下,确定编码单元CUDepth的最优编码模式为划分多个子编码单元下的最优编码模式,否则确定编码单元CUDepth的最优编码模式为未划分多个子编码单元下的当前最优编码模式
本发明实施例所提供的视频编码的帧间模式选择装置,通过利用编码模式和编码开销在时域和空域上的相关性,采用跳过或提前终止编码单元划分方式,从而避免这些编码单元划分方式下的各种模式的编码和代价计算,有效降低模式选择过程的计算复杂度,提高编码速度,解决了现有技术中视频编码中进行模式选择的计算复杂度偏高的问题,进而达到了降低复杂度、提高编码速度的效果。
具体地,在本发明实施例中,帧间模式选择装置还包括获取单元和判断单元,其中:
获取单元用于获取在编码单元CUDepth之前进行编码并与编码单元CUDepth时域和/或空域相邻的编码单元CU′、以及编码单元CU′的深度,具体地,在编码单元CUDepth之前编码的编码单元一般包括:与编码单元CUDepth时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与编码单元CUDepth空域相邻并位于编码单元CUDepth左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;
判断单元用于判断编码单元CU′中是否存在Nc个第一编码单元,其中,Nc为第一预设参数,第一编码单元的深度大于当前深度Depth,其中,Nc为第一预设参数,第一编码单元的深度大于当前深度Depth,即,判断编码单元CU′中是否存在Nc个深度单元当前深度的编码单元。在判断出编码单元CU′中存在Nc个第一编码单元的情况下,确定跳过对编码单元CUDepth进行编码所需的编码开销的计算。
具体地,判断单元主要用于判断C≥Nc是否成立,其中,即,C为集合[C0,C1,C2,C3,C4,C5]中任意n4(1≤n4≤6)个元素的和,Depthi为编码单元CU′中的编码单元CUi′的深度,Nc为第一预设参数,也即是判断与目标编码单元CU时域和/或空域相邻的编码单元CU′中,深度大于目标编码单元CU深度的编码单元CU′的个数是否达到Nc个,一般取Nc=6,n4=6,也可根据应用的计算复杂度需求,适当增大或减小Nc的取值,并且在组成C的元素有较多个的情况下,Nc相应地增大,反之,Nc相应地减小,其中,在判断出C≥Nc成立的情况下,其中,在判断出C≥Nc成立的情况下,确定编码单元CU′中存在Nc个第一编码单元。
优选地,在本发明实施例中可以通过以下模块确定目标编码单元的最优编码模式,即,第一确定单元20和处理单元30均可以包括以下模块,其中,目标编码单元可以是编码单元CUDepth,也可以是子编码单元:
第一判断模块,用于判断是否跳过按照当前模式或当前模式及其以后几种对目标编码单元进行编码所需的编码开销的计算。
其中,对目标编码单元进行编码所采用的编码模式主要包括:融合2Nx2N模式(即,Merge 2Nx2N模式)、帧间2Nx2N模式(即,Inter 2Nx2N模式)、帧间非2Nx2N模式、和帧内模式。
具体地,帧间非2Nx2N模式主要包括帧间NxN模式(即,Inter NxN模式)、帧间Nx2N模式(即,Inter Nx2N模式)、帧间2NxN模式(即,Inter 2NxN模式),在允许非对称预测单元PU划分方式下,帧间非2Nx2N模式还包括帧间nRx2N模式(即,Inter nRx2N模式)、帧间nLx2N模式(即,Inter nLx2N模式)、帧间2NxnD模式(即,Inter 2NxnD模式)、帧间2NxnU模式(即,Inter2NxnU模式),对于按照帧间非2Nx2N模式对目标编码单元CU编码的编码开销的计算,则是依次计算按照帧间NxN模式、帧间Nx2N模式和帧间2NxN模式对目标编码单元CU编码的编码开销,并且在允许非对称预测单元PU划分方式下,依次计算按照帧间nRx2N模式、帧间nLx2N模式、帧间2NxnD模式、帧间2NxnU模式对目标编码单元CU编码的编码开销。
帧内模式包括帧内2Nx2N模式(即,Intra 2Nx2N模式)和帧内NxN模式(即,IntraNxN模式),对于按照帧内模式对目标编码单元CU编码的编码开销的计算,则是依次计算按照帧内2Nx2N模式和帧内NxN模式对目标编码单元CU编码的编码开销。
对于计算起始阶段,在计算出按照融合2Nx2N模式对目标编码单元CU编码的编码开销之后,判断是否跳过计算按照帧间2Nx2N模式对目标编码单元编码的编码开销,对于计算过程中,在计算出按照X模式对目标编码单元CU编码的编码开销之后,判断是否跳过计算按照X模式后的一种或几种模式对目标编码单元CU编码的编码开销。
处理模块,用于在第一判断模块判断出跳过按照当前模式对目标编码单元进行编码所需的编码开销的计算的情况下,跳过按照当前模式对目标编码单元进行编码所需的编码开销的计算,并从第一编码开销中选择最小编码开销,其中,第一编码开销为计算出的按照在先模式对目标编码单元进行编码所需的编码开销,在先模式为当前模式之前的模式,其中,如果在计算出按照融合2Nx2N模式对目标编码单元CU编码的编码开销之后,判断出跳过计算按照帧间2Nx2N模式对目标编码单元编码的编码开销,则当前最小编码开销为按照融合2Nx2N模式对目标编码单元CU编码的开销。
第二判断模块,用于判断采用最小编码开销对应的模式对目标编码单元进行编码的目标参数是否满足预设条件,其中,预设条件表示将目标编码单元的编码模式预判为跳过模式,具体地,主要判断最小编码开销对应的模式是否为跳过模式(即,Skip模式),可以通过判断按照最小编码开销对应的模式对目标编码单元进行编码的残差系数和运动矢量差是否均为零,在二者均为零的情况下,即可确定是跳过模式。
确定模块用于在判断出目标参数不满足预设条件的情况下,确定最小编码开销对应的模式为对目标编码单元进行编码所采用的模式。
以下具体说明本发明优选实施例中第一判断模块执行判断过程的具体判断方式。
如果在先模式为融合2Nx2N模式,当前模式为帧间2Nx2N模式,第二判断模块主要通过执行以下方式的模块,来判断是否跳过计算按照帧间2Nx2N模式对目标编码单元CU进行编码所需的编码开销:
首先,获取目标编码单元深度、按照融合2Nx2N模式对目标编码单元CU编码的编码开销、残差系数和运动矢量差,并获取编码单元CU′编码的深度、编码模式和编码开销,其中,编码单元CU′为在当前深度Depth的编码单元CUDepth之前编码并与编码单元CUDepth时域和/或空域相邻的编码单元;
然后,根据目标编码单元CU的深度、残差系数、运动矢量差和编码单元CU′编码的深度、编码模式、编码开销判断是否跳过计算按照当前模式对目标编码单元进行编码所需的编码开销。其中,根据编码单元CU的深度、残差系数、运动矢量差和编码单元CU′编码的深度、编码模式、编码开销判断是否跳过计算按照当前模式对目标编码单元进行编码所需的编码开销主要包括如下步骤1.1至步骤1.4:
1.1、根据目标编码单元CU的残差系数和运动矢量差计算第一变量的大小,具体地,首先,判断残差系数和运动矢量差是否均为零,然后,在判断出残差系数和运动矢量差均为零的情况下,确定第一变量bMergeDetectSkip=1,并确定Costx,Merge=MAX,或在判断出残差系数和运动矢量差不均为零的情况下,确定第一变量bMergeDetectSkip=0,并确定Costx,Merge为按照融合2Nx2N模式对编码单元CUDepth进行编码的编码开销,其中,MAX=2a-1,a为Costx,Merge数值类型的比特位数,比如,Costx,Merge的数值类型为32位无符号整型,则MAX=232-1。
1.2、根据目标编码单元CU的深度、编码单元CU′的深度、编码模式、编码开销计算第二变量和第三变量的大小,具体地,首先,判断目标编码单元的编码模式是否预判为融合2Nx2N模式或帧内模式,然后,在判断出目标编码单元的编码模式预判为融合2Nx2N模式的情况下,确定第二变量bFastDeciMerge=1,反之,确定第二变量bFastDeciMerge=0,或在判断出目标编码单元的编码模式预判为帧内模式的情况下,确定第三变量bFastDeciIntra=1,反之,确定第三变量bFastDeciIntra=0。
1.3、根据按照融合2Nx2N模式对编码单元CUDepth进行编码的编码开销和编码单元CU′编码的编码开销计算第四变量的大小。
1.4、根据第一变量、第二变量、第三变量和第四变量的大小判断是否跳过按照帧间2Nx2N模式对目标编码单元进行编码所需的编码开销的计算,具体地,判断条件1和条件2是否成立,其中,条件1为bMergeDetectSkip=0且bFastDeciMerge=0且bFastDeciIntra=0,条件2为bMergeDetectSkip=1且bCheckFurther=1且bFastDeciIntra=0,在判断出条件1或条件2成立的情况下,确定跳过计算按照帧间2Nx2N模式对目标编码单元进行编码所需的编码开销的计算。
其中,在判断出条件1或条件2成立的情况下,确定跳过计算按照帧间2Nx2N模式对目标编码单元CU编码的编码开销,即,只要条件1和条件2中的任意一个条件成立,即可确定跳过计算按照帧间2Nx2N模式对目标编码单元CU编码的编码开销。
其中,判断目标模式是否预判为融合2Nx2N模式或帧内模式包括:判断M≥Nm且且是否成立,其中,在判断出M≥Nm且且成立的情况下,确定目标编码单元的编码模式预判为融合2Nx2N模式,即,M为集合[M0,M1,M2,M3,M4,M5]中任意n1(1≤n1≤6)个元素的和,如果编码单元CUi′的编码模式为融合2Nx2N模式,则Mi=1,如果编码单元CUi′的编码模式为非融合2Nx2N模式或编码单元CUi′不存在,则Mi=0,Depthj为编码单元CUj′的深度,Costj为编码单元CUj′的编码开销,j∈[0,1,2,3,4,5],Nm为第二预设参数,上述判断也即是判断与目标编码单元CU时域和/或空域相邻的编码单元CU′中,按照融合2Nx2N模式编码的编码单元CU′的数量是否达到Nm个,为平衡编码效率和编码速度,一般可取j=0,1,2,4。也可根据应用的计算复杂度需求,适当减小Nm的取值,并且在组成M的元素有较多个的情况下,Nm相应地增大,反之,Nm相应地减小。对于j的取值,也可在0~5中取任意多个来控制计算复杂度。
判断I≥NI是否成立,其中,在判断出I≥NI成立的情况下,确定目标编码单元的编码模式预判为帧内模式,即,I为集合[I0,I1,I2,I3,I4,I5]中任意n2(1≤n2≤6)个元素的和,如果编码单元CUi′的编码模式为帧内模式,则Ii=1,如果编码单元CUi′的编码模式为非帧内模式或编码单元CUi不存在,则Ii=0,NI为第三预设参数,即,判断与目标编码单元CU时域和/或空域相邻的编码单元CU′中,按照帧内模式编码的编码单元CU′的数量是否达到NI个,一般取NI=3,也可根据应用的计算复杂度需求,适当增大或减小NI的取值,并且在组成I的元素有较多个的情况下,NI相应地增大,反之,NI相应地减小。
根据按照融合2Nx2N模式对编码单元CUDepth进行编码的编码开销和编码单元CU′编码的编码开销计算第四变量的大小包括:
判断且时,是否成立,或判断或时,是否成立,其中,Costi,Merge为按照融合2Nx2N模式对编码单元CUi′编码的编码开销,Depthi为编码单元CUi′的深度,Costi为编码单元CUi′的编码开销,i∈[0,1,2,3,4,5],T1和T2均为预设倍数,并且T1≠T2,一般可取T1=1,T2=1.2,i=2,3,4,5,也可根据应用的计算复杂度需求,适当调整T2的取值。对于i的取值,也可在0~5中取任意多个来控制计算复杂度,复杂度越大,T值越大,反之,越小。其中,在判断出且时,成立的情况下,确定第四变量bCheckFurther=1,反之,确定第四变量bCheckFurther=0,或在判断出或时,成立的情况下,确定第四变量bCheckFurther=1,反之,确定第四变量bCheckFurther=0。
如果在先模式为融合2Nx2N模式或帧间2Nx2N模式,第二判断模块主要通过执行以下方式的模块,来判断是否跳过计算按照帧间非2Nx2N模式对目标编码单元CU编码的编码开销:
首先,获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′的编码模式。
其次,根据CU′的编码模式计算第三变量的大小,具体地,通过判断目标模式是否预判为帧内模式,在判断出目标模式预判为帧内模式的情况下,确定第三变量bFastDeciIntra=1,反之,确定第三变量bFastDeciIntra=0,其中,判断目标模式是否预判为帧内模式的具体判断方式与上述相同,此处不再赘述。
然后,根据第三变量的大小判断是否跳过按照当前模式对目标编码单元进行编码所需的编码开销的计算,具体地,判断bFastDeciIntra=1是否成立,其中,在判断出bFastDeciIntra=1成立的情况下,确定跳过按照当前模式对目标编码单元进行编码所需的编码开销的计算。
进一步地,上述步骤可以进一步细化为如下步骤2.1至步骤2.4:
2.1:获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′、以及编码单元CU′的编码模式,具体地,在目标编码单元CU之前编码的编码单元一般包括:与目标编码单元CU时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与目标编码单元CU空域相邻并位于目标编码单元CU左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;
2.2:判断I≥NI是否成立,其中,即,I为集合[I0,I1,I2,I3,I4,I5]中任意n2(1≤n2≤6)个元素的和,如果编码单元CUi′的编码模式为帧内模式,则Ii=1,如果编码单元CUi′的编码模式为非帧内模式或编码单元CUi′不存在,则Ii=0,NI为第三预设参数,一般取NI=3,也可根据应用的计算复杂度需求,适当增大或减小NI的取值,并且在组成I的元素有较多个的情况下,NI相应地增大,反之,NI相应地减小;
2.3:在判断出I≥NI成立的情况下,记录bFastDeciIntra=1,在判断出I≥NI不成立的情况下,记录bFastDeciIntra=0;以及
2.4:判断bFastDeciIntra=1是否成立,
其中,在判断出bFastDeciIntra=1成立的情况下,确定跳过计算按照帧间非2Nx2N模式对目标编码单元编码的编码开销。
进一步地,还可以判断目标编码单元CU按照融合2Nx2N模式或帧间2Nx2N模式计算后的最小编码开销是否小于阈值T8,如果判断出目标编码单元CU按照融合2Nx2N模式和帧间2Nx2N模式计算后的最小编码开销小于阈值T8,则确定跳过计算按照帧间非2Nx2N模式对目标编码单元编码的编码开销。
如果在先模式为融合2Nx2N模式或帧间非2Nx2N模式或帧间非2Nx2N模式,第二判断子单元主要通过执行以下方式的模块,来判断是否跳过计算按照帧内模式对目标编码单元CU编码的编码开销:
首先,获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′、以及编码单元CU′的编码模式,具体地,在目标编码单元CU之前编码的编码单元一般包括:与目标编码单元CU时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与目标编码单元CU空域相邻并位于目标编码单元CU左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;以及
其次,判断获取到的编码单元CU′的编码模式是否存在帧内模式,
其中,在判断出获取到的编码单元CU′的编码模式不存在帧内模式的情况下,确定跳过计算按照帧内模式对目标编码单元编码的编码开销。
进一步地,还可以判断目标编码单元CU按照融合2Nx2N模式、帧间2Nx2N模式和帧间非2Nx2N模式计算后的最小编码开销是否小于阈值T10,如果判断出目标编码单元CU按照融合2Nx2N模式、帧间2Nx2N模式和帧间非2Nx2N模式计算后的最小编码开销小于阈值T10,则确定跳过计算按照帧内模式编对目标编码单元码的编码开销。
进一步地,本发明实施例所提供的视频编码的帧间模式选择装置还包括执行以下方式的单元,以判断目标编码单元CU是否满足终止划分的条件:
首先,获取目标编码单元的深度和按照融合2Nx2N模式对目标编码单元编码的编码开销;
其次,获取在目标编码单元之前编码,并与目标编码单元时域和/或空域相邻的编码单元CU′、编码单元CU′的编码开销、编码单元CU′的编码模式、以及编码单元CU′的深度,具体地,在目标编码单元CU之前编码的编码单元一般包括:与目标编码单元CU时域相邻的两个编码单元,分别记为编码单元CU′0和编码单元CU1′,与目标编码单元CU空域相邻并位于目标编码单元CU左边位置、左上位置、上边位置和右上位置处的四个编码单元,分别记为编码单元CU′2、编码单元CU′3、编码单元CU′4和编码单元CU′5;
再者,判断S≥Ns且且是否成立,其中,Costx,Merge为按照融合2Nx2N模式对目标编码单元编码的编码开销,MAX=2a-1,a为Costx,Merge数值类型的比特位数,比如,Costx,Merge的数值类型为32位无符号整型,则MAX=232-1,即,S为集合[S0,S1,S2,S3,S4,S5]中任意n3(1≤n3≤6)个元素的和, Depth为目标编码单元的深度,Depthi为编码单元CUi′的深度,Depthj为编码单元CUj′的深度,Costj,Merge为按照融合2Nx2N模式对编码单元CUj′编码的编码开销,j∈[0,1,2,3,4,5],Ns为第四预设参数,一般地,取Ns=4,n3=4,j=0,1,2,3,4,5,也可根据应用的计算复杂度需求,适当增大或减小Ns的取值,并且在组成S的元素有较多个的情况下,Ns相应地增大,反之,Ns相应地减小,在判断出S≥Ns且且不成立的情况下,划分目标编码单元,得到多个目标编码子单元,反之,则终止划分目标编码单元CU。
相应地,通过判断bMergeDetectSkip=1或bFastDeciMerge=1是否成立,来判断是否终止处于当前深度的目标编码单元CU模式的计算,其中,在判断出bMergeDetectSkip=1或bFastDeciMerge=1成立的情况下,判断是否终止划分,或在判断出bMergeDetectSkip=1或bFastDeciMerge=1不成立的情况下,判断是否跳过按照帧间非2Nx2N模式对目标编码单元进行编码所需的编码开销的计算。
本发明优选实施例所提供的视频编码的帧间模式选择装置,采用在按照当前模式对目标编码单元进行编码之前,先判断是否跳过计算按照当前模式对目标编码单元进行编码所需的编码开销的计算,并在判断出跳过的情况下,从计算出的编码开销中选择最小编码开销,初步确定该最小编码开销对应的模式作为目标编码单元的当前最优编码模式,进一步判断采用该最小编码开销对应的模式对目标编码单元进行编码的目标参数是否满足预设条件,若满足预设条件,则确定目标编码单元的最优编码模式为上述最小编码开销对应模式,实现了在跳过或提前终止编码单元划分方式的编码和代价计算的基础上,还实现了跳过或提前终止可能性较小的编码模式编码和代价计算,达到了进一步降低模式选择过程的计算复杂度,提高编码速度。在HEVC参考软件上的实验表明,对HEVC标准测试序列采用本发明实施例所提供的帧间模式选择方法,可使编码速度平均提高50%左右,编码效率损失控制在1%以内。
实施例4
本发明实施例还提供了一种视频编码装置,该视频编码装置主要用于执行本发明实施例上述内容所提供的视频编码方法,以下对本发明实施例所提供的视频编码装置做具体介绍:
图12是根据本发明实施例的视频编码装置的示意图,如图12所示,该视频编码方法主要包括如下接收单元100、帧类型选择单元200、模式选择单元300和编码单元400,其中:
接收单元100用于接收待编码的视频源数据。
帧类型选择单元200用于确定视频源数据中每一帧的编码帧类型,即区分出帧间预测帧和帧内预测帧。
模式选择单元300用于确定帧内预测帧的编码模式,并采用预设方法确定帧间预测帧的编码模式,其中,预设方法为本发明实施例上述内容所提供的任一种帧间模式选择方法。
编码单元400用于采用第一模式编码帧内预测帧,并采用第二模式编码帧间预测帧,其中,第一模式为确定出的帧内预测帧的编码模式,第二模式为采用预设方法确定出的帧间预测帧的编码模式。
本发明实施例所提供的视频编码装置,通过采用本发明实施例上述内容所提供的帧间模式选择方法,实现了有效降低视频编码过程中对模式选择进行计算的计算复杂度,进而达到了提高编码速度的效果。
实施例5
本发明实施例还提供了一种视频编码器,以下对本发明实施例所提供的视频编码方法做具体介绍:
图13是根据本发明实施例的视频编码器的示意图,如图13所示,该视频编码器主要包括帧类型选择部、帧间模式选择计算部、帧内模式选择计算部、码流组织部和帧间模式选择装置,其中:
输入的待编码视频源数据通过帧类型选择部,如果被确定为I帧,则视频编码器通过帧内模式选择计算部对I帧进行帧内模式选择计算,并记录最优编码模式和相应的编码后数据,再经码流组织部写入码流数据并输出;如果被确定为GPB帧或B帧,则帧间模式选择装置和帧间模式选择计算部共同作用,对GPB帧或B帧进行帧间模式选择计算,并记录最优编码模式和相应的编码后数据,再经码流组织部写入码流数据并输出,其中,进行帧间模式选择计算的具体方法,已在本发明实施例上述内容中做了介绍,此处不再赘述。
本发明实施例所提供的视频编码器,通过采用本发明实施例上述内容所提供的帧间模式选择装置,实现了有效降低视频编码过程中对模式选择进行计算的计算复杂度,进而达到了提高编码速度的效果
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种视频编码的帧间模式选择方法,其特征在于,当前深度Depth的初始值为1,所述帧间模式选择方法包括:
S701:在跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,调用步骤S703至步骤S705,在不跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,调用步骤S702至步骤S705;
S702:在所述当前深度Depth深度下,确定所述编码单元CUDepth的当前最优编码模式及编码开销;
S703:划分所述编码单元CUDepth为多个深度Depth+1的子编码单元,对每个所述子编码单元递归执行步骤S701至步骤S705,直至所述子编码单元的深度达到预设最大深度或者满足终止划分条件,确定每个子编码单元的最优编码模式及编码开销;
S704:比较多个所述子编码单元的编码开销之和与所述编码单元CUDepth的当前编码开销的大小,其中,对于需要跳过对当前深度的编码单元CUDepth进行编码所需的编码开销的计算的情况,编码单元CUDepth的编码开销为MAX,MAX=2a-1,a为编码开销数值类型的比特位数;以及
S705:若所述编码单元CUDepth的当前编码开销大于多个所述子编码单元的编码开销之和,则确定所述编码单元CUDepth的最优编码模式为划分多个所述子编码单元下的最优编码模式,否则确定所述编码单元CUDepth的最优编码模式为未划分多个所述子编码单元下的最优编码模式。
2.根据权利要求1所述的帧间模式选择方法,其特征在于,所述帧间模式选择方法还包括通过以下方式判断是否跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算:
获取在所述编码单元CUDepth之前进行编码并与所述编码单元CUDepth时域和/或空域相邻的编码单元CU′、以及所述编码单元CU′的深度;以及
判断所述编码单元CU′中是否存在Nc个第一编码单元,其中,Nc为第一预设参数,所述第一编码单元的深度大于所述当前深度Depth,
其中,在判断出所述编码单元CU′中存在Nc个所述第一编码单元的情况下,确定跳过对所述编码单元CUDepth进行编码所需的编码开销的计算。
3.根据权利要求2所述的帧间模式选择方法,其特征在于,判断所述编码单元CU′中是否存在Nc个第一编码单元包括:
判断C≥Nc是否成立,其中, Depthi为所述编码单元CU′中的编码单元CUi′的深度,
其中,在判断出C≥Nc成立的情况下,确定所述编码单元CU′中存在Nc个所述第一编码单元。
4.根据权利要求1所述的帧间模式选择方法,其特征在于,所述帧间模式选择方法还包括通过以下方式确定目标编码单元的最优编码模式,其中,所述目标编码单元为所述编码单元CUDepth或所述子编码单元:
判断是否跳过按照当前模式对所述目标编码单元进行编码所需的编码开销的计算;
在判断出跳过按照所述当前模式对所述目标编码单元进行编码所需的编码开销的计算的情况下,跳过按照所述当前模式对所述目标编码单元进行编码所需的编码开销的计算,并从第一编码开销中选择最小编码开销,其中,所述第一编码开销为计算出的按照在先模式对所述目标编码单元进行编码所需的编码开销,所述在先模式为所述当前模式之前的模式;
判断采用所述最小编码开销对应的模式对所述目标编码单元进行编码的目标参数是否满足预设条件,其中,所述预设条件表示将所述目标编码单元的编码模式预判为跳过模式;以及
在判断出所述目标参数满足所述预设条件的情况下,确定所述目标编码单元的最优编码模式为所述最小编码开销对应的模式。
5.一种视频编码方法,其特征在于,包括:
接收待编码的视频源数据;
确定所述视频源数据中每一帧的编码帧类型,得到帧间预测帧和帧内预测帧;
确定所述帧内预测帧的编码模式,并采用预设方法确定所述帧间预测帧的编码模式,其中,所述预设方法为权利要求1至4中任一项所述的帧间模式选择方法;以及
采用第一模式编码所述帧内预测帧,并采用第二模式编码所述帧间预测帧,其中,所述第一模式为确定出的所述帧内预测帧的编码模式,所述第二模式为采用所述预设方法确定出的所述帧间预测帧的编码模式。
6.一种视频编码的帧间模式选择装置,其特征在于,当前深度Depth的初始值为1,所述帧间模式选择装置包括:
调用单元,用于在跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次调用处理单元、比较单元和第二确定单元,在不跳过对所述当前深度Depth的编码单元CUDepth进行编码所需的编码开销的计算的情况下,依次调用第一确定单元、所述处理单元、所述比较单元和所述第二确定单元;
所述第一确定单元,用于在所述当前深度Depth深度下,确定所述编码单元CUDepth的当前最优编码模式及编码开销;
所述处理单元,用于划分所述编码单元CUDepth为多个深度Depth+1的子编码单元,对每个所述子编码单元递归调用所述调用单元、所述第一确定单元、所述处理单元、所述比较单元和所述第二确定单元,直至所述子编码单元的深度达到预设最大深度或者满足终止划分条件,确定每个子编码单元的最优编码模式及编码开销;
所述比较单元,用于比较多个所述子编码单元的编码开销之和与所述编码单元CUDepth的当前编码开销的大小,其中,对于需要跳过对当前深度的编码单元CUDepth进行编码所需的编码开销的计算的情况,编码单元CUDepth的编码开销等于MAX,MAX=2a-1,a为编码开销数值类型的比特位数;以及
所述第二确定单元,用于在比较出所述编码单元CUDepth的当前编码开销大于多个所述子编码单元的编码开销之和的情况下,确定所述编码单元CUDepth的最优编码模式为划分多个所述子编码单元下的最优编码模式,否则确定所述编码单元CUDepth的最优编码模式为未划分多个所述子编码单元下的最优编码模式。
7.根据权利要求6所述的帧间模式选择装置,其特征在于,所述帧间模式选择装置还包括:
获取单元,用于获取在所述编码单元CUDepth之前进行编码并与所述编码单元CUDepth时域和/或空域相邻的编码单元CU′、以及所述编码单元CU′的深度;以及
判断单元,用于判断所述编码单元CU′中是否存在Nc个第一编码单元,其中,Nc为第一预设参数,所述第一编码单元的深度大于所述当前深度Depth,
其中,在判断出所述编码单元CU′中存在Nc个所述第一编码单元的情况下,确定跳过对所述编码单元CUDepth进行编码所需的编码开销的计算。
8.根据权利要求7所述的帧间模式选择装置,其特征在于,所述判断单元用于判断C≥Nc是否成立,其中, Depthi为所述编码单元CU′中的编码单元CUi′的深度,其中,在判断出C≥Nc成立的情况下,确定所述编码单元CU′中存在Nc个所述第一编码单元。
9.根据权利要求6所述的帧间模式选择装置,其特征在于,通过以下模块确定目标编码单元的最优编码模式,其中,所述目标编码单元为所述编码单元CUDepth或所述子编码单元:
第一判断模块,用于判断是否跳过按照当前模式对所述目标编码单元进行编码所需的编码开销的计算;
处理模块,用于在所述第一判断模块判断出跳过按照所述当前模式对所述目标编码单元进行编码所需的编码开销的计算的情况下,跳过按照所述当前模式对所述目标编码单元进行编码所需的编码开销的计算,并从第一编码开销中选择最小编码开销,其中,所述第一编码开销为计算出的按照在先模式对所述目标编码单元进行编码所需的编码开销,所述在先模式为所述当前模式之前的模式;
第二判断模块,用于判断采用所述最小编码开销对应的模式对所述目标编码单元进行编码的目标参数是否满足预设条件,其中,所述预设条件表示将所述目标编码单元的编码模式预判为跳过模式;以及
确定模块,用于在判断出所述目标参数满足所述预设条件的情况下,确定所述最小编码开销对应的模式为对所述目标编码单元进行编码所采用的模式。
10.一种视频编码装置,其特征在于,包括:
接收单元,接收待编码的视频源数据;
帧类型选择单元,确定所述视频源数据中每一帧的编码帧类型,得到帧间预测帧和帧内预测帧;
模式选择单元,确定所述帧内预测帧的编码模式,并采用预设方法确定所述帧间预测帧的编码模式,其中,所述预设方法为权利要求1至4中任一项所述的帧间模式选择方法;以及
编码单元,采用第一模式编码所述帧内预测帧,并采用第二模式编码所述帧间预测帧,其中,所述第一模式为确定出的所述帧内预测帧的编码模式,所述第二模式为采用所述预设方法确定出的所述帧间预测帧的编码模式。
11.一种视频编码器,其特征在于,包括:权利要求6至9中任一项所述的视频编码的帧间模式选择装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256916.3A CN104602017B (zh) | 2014-06-10 | 2014-06-10 | 视频编码器、方法和装置及其帧间模式选择方法和装置 |
PCT/CN2015/081191 WO2015188754A1 (en) | 2014-06-10 | 2015-06-10 | Video coding device, method, and apparatus and inter-frame mode selection method and apparatus therefor |
US15/373,244 US10230960B2 (en) | 2014-06-10 | 2016-12-08 | Video coding device, method, and apparatus and inter-frame mode selection method and apparatus therefor |
US16/251,284 US10798388B2 (en) | 2014-06-10 | 2019-01-18 | Video coding device, method, and apparatus and inter-frame mode selection method and apparatus therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256916.3A CN104602017B (zh) | 2014-06-10 | 2014-06-10 | 视频编码器、方法和装置及其帧间模式选择方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104602017A CN104602017A (zh) | 2015-05-06 |
CN104602017B true CN104602017B (zh) | 2017-12-26 |
Family
ID=53127456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410256916.3A Active CN104602017B (zh) | 2014-06-10 | 2014-06-10 | 视频编码器、方法和装置及其帧间模式选择方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10230960B2 (zh) |
CN (1) | CN104602017B (zh) |
WO (1) | WO2015188754A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602017B (zh) | 2014-06-10 | 2017-12-26 | 腾讯科技(北京)有限公司 | 视频编码器、方法和装置及其帧间模式选择方法和装置 |
CN109429064B (zh) * | 2017-08-22 | 2021-03-30 | 华为技术有限公司 | 一种视频数据的编解码方法、装置和介质 |
CN107371022B (zh) * | 2017-08-26 | 2020-02-14 | 同济大学 | 应用于hevc医学影像无损编码的帧间编码单元快速划分方法 |
CN109788287B (zh) * | 2017-11-10 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
SG11202005658VA (en) | 2017-12-14 | 2020-07-29 | Beijing Kingsoft Cloud Network Technology Co Ltd | Coding unit division decision method and device, encoder, and storage medium |
US10798382B2 (en) * | 2018-04-26 | 2020-10-06 | Tencent America LLC | Sub-block transform |
CN110198443B (zh) * | 2018-05-10 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 视频帧的编码单元划分方法、装置、存储介质及电子装置 |
WO2020038357A1 (zh) * | 2018-08-20 | 2020-02-27 | 华为技术有限公司 | 融合候选者列表构建方法、装置及的编/解方法及装置 |
CN110855998B (zh) * | 2018-08-20 | 2023-04-11 | 华为技术有限公司 | 融合候选者列表构建方法、装置及的编/解方法及装置 |
CN108924551B (zh) * | 2018-08-29 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 视频图像编码模式的预测方法及相关设备 |
CN109286816A (zh) * | 2018-09-12 | 2019-01-29 | 天津大学 | 一种hevc优化帧内预测分块的方法 |
CN109788283B (zh) * | 2019-01-08 | 2023-01-06 | 中南大学 | 一种编码单元分割方法及其系统、装置、存储介质 |
CN110139099B (zh) * | 2019-04-08 | 2023-01-06 | 中南大学 | 基于预编码和编码satd值加权的帧间预测模式选择方法 |
CN110087087B (zh) * | 2019-04-09 | 2023-05-12 | 同济大学 | Vvc帧间编码单元预测模式提前决策及块划分提前终止方法 |
CN112087624A (zh) * | 2019-06-13 | 2020-12-15 | 深圳市中兴微电子技术有限公司 | 基于高效率视频编码的编码管理方法 |
CN112714312B (zh) * | 2019-10-24 | 2023-07-18 | 腾讯科技(深圳)有限公司 | 编码模式选择方法、装置以及可读存储介质 |
CN112866691B (zh) * | 2019-11-27 | 2022-09-27 | 北京大学 | 一种针对视频编码的帧间快速模式决策方法 |
CN111901591B (zh) * | 2020-07-28 | 2023-07-18 | 有半岛(北京)信息科技有限公司 | 一种编码模式的确定方法、装置、服务器和存储介质 |
CN111901602B (zh) * | 2020-08-07 | 2022-09-30 | 北京奇艺世纪科技有限公司 | 视频数据编码方法、装置、计算机设备和存储介质 |
CN112437305B (zh) * | 2020-08-19 | 2022-07-22 | 珠海市杰理科技股份有限公司 | 宏块类型的判定方法、装置、图像处理芯片和电子设备 |
CN112383774B (zh) * | 2020-10-30 | 2023-10-03 | 网宿科技股份有限公司 | 编码方法、编码器以及服务器 |
CN113992967B (zh) | 2021-10-25 | 2022-11-01 | 北京字节跳动网络技术有限公司 | 一种投屏数据传输方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984521A (zh) * | 2012-12-12 | 2013-03-20 | 四川大学 | 基于时域相关性的高性能视频编码帧间模式判决方法 |
CN103051896A (zh) * | 2012-12-14 | 2013-04-17 | 华中科技大学 | 一种基于模式跳过的视频编码方法和系统 |
CN103596003A (zh) * | 2013-11-11 | 2014-02-19 | 中国科学技术大学 | 高性能视频编码的帧间预测快速模式选择方法 |
CN103813178A (zh) * | 2014-01-28 | 2014-05-21 | 浙江大学 | 一种基于编码单元深度时空相关性的快速hevc编码方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9479786B2 (en) * | 2008-09-26 | 2016-10-25 | Dolby Laboratories Licensing Corporation | Complexity allocation for video and image coding applications |
KR101675118B1 (ko) * | 2010-01-14 | 2016-11-10 | 삼성전자 주식회사 | 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
GB2491391B (en) * | 2011-06-02 | 2014-09-03 | Canon Kk | Encoding mode values representing prediction modes |
CN103067704B (zh) * | 2012-12-12 | 2015-12-09 | 华中科技大学 | 一种基于编码单元层次提前跳过的视频编码方法和系统 |
KR102179383B1 (ko) * | 2013-08-09 | 2020-11-16 | 삼성전자주식회사 | 병합 모드 결정 방법 및 장치 |
CN104602017B (zh) * | 2014-06-10 | 2017-12-26 | 腾讯科技(北京)有限公司 | 视频编码器、方法和装置及其帧间模式选择方法和装置 |
-
2014
- 2014-06-10 CN CN201410256916.3A patent/CN104602017B/zh active Active
-
2015
- 2015-06-10 WO PCT/CN2015/081191 patent/WO2015188754A1/en active Application Filing
-
2016
- 2016-12-08 US US15/373,244 patent/US10230960B2/en active Active
-
2019
- 2019-01-18 US US16/251,284 patent/US10798388B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984521A (zh) * | 2012-12-12 | 2013-03-20 | 四川大学 | 基于时域相关性的高性能视频编码帧间模式判决方法 |
CN103051896A (zh) * | 2012-12-14 | 2013-04-17 | 华中科技大学 | 一种基于模式跳过的视频编码方法和系统 |
CN103596003A (zh) * | 2013-11-11 | 2014-02-19 | 中国科学技术大学 | 高性能视频编码的帧间预测快速模式选择方法 |
CN103813178A (zh) * | 2014-01-28 | 2014-05-21 | 浙江大学 | 一种基于编码单元深度时空相关性的快速hevc编码方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190158850A1 (en) | 2019-05-23 |
US20170094286A1 (en) | 2017-03-30 |
US10798388B2 (en) | 2020-10-06 |
US10230960B2 (en) | 2019-03-12 |
WO2015188754A1 (en) | 2015-12-17 |
CN104602017A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104602017B (zh) | 视频编码器、方法和装置及其帧间模式选择方法和装置 | |
CN104601988B (zh) | 视频编码器、方法和装置及其帧间模式选择方法和装置 | |
CN106537915B (zh) | 用于视频编码的运动向量导出的方法 | |
EP2625855B1 (en) | Picture coding supporting block partitioning and block merging | |
CN113454990B (zh) | 帧间预测编解码方法及装置 | |
CN108781284A (zh) | 具有仿射运动补偿的视频编解码的方法及装置 | |
CN104704832B (zh) | 用于预测运动矢量和视差矢量的图像处理方法和设备 | |
CN108605137A (zh) | 利用仿射运动补偿的视频编码方法与装置 | |
CN106105191A (zh) | 用于处理多视图视频信号的方法和装置 | |
CN104995916B (zh) | 视频数据解码方法和视频数据解码设备 | |
CN110198447A (zh) | 用于共享候选者列表的方法和装置 | |
CN103907346A (zh) | 用于三维视频编码与高效率视频编码的运动矢量及视差矢量导出方法及其装置 | |
CN104584549A (zh) | 用于视频编码的方法和装置 | |
CN104811696B (zh) | 一种视频数据的编码方法和装置 | |
EP3806472A1 (en) | Merge mode-based inter-prediction method and apparatus | |
CN105933717A (zh) | 一种编码单元的模式决策方法和装置 | |
CN110366850A (zh) | 基于帧内预测模式处理图像的方法和用于该方法的设备 | |
CN110677678B (zh) | 依赖形状的帧间编码 | |
CN109889827A (zh) | 帧内预测编码方法、装置、电子设备及计算机存储介质 | |
CN111742553A (zh) | 用于视频压缩的基于深度学习的图像分区 | |
CN104811729B (zh) | 一种视频多参考帧编码方法 | |
CN108777794A (zh) | 图像的编码方法和装置、存储介质、电子装置 | |
CN109963151A (zh) | 编码单元划分确定方法及装置、终端设备及可读存储介质 | |
CN102420990A (zh) | 一种面向多视点视频的快速编码方法 | |
CN111246220B (zh) | 一种基于vvc帧内编码的深度预测方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |