CN102843556A - 视频编码方法和系统 - Google Patents
视频编码方法和系统 Download PDFInfo
- Publication number
- CN102843556A CN102843556A CN201110175318XA CN201110175318A CN102843556A CN 102843556 A CN102843556 A CN 102843556A CN 201110175318X A CN201110175318X A CN 201110175318XA CN 201110175318 A CN201110175318 A CN 201110175318A CN 102843556 A CN102843556 A CN 102843556A
- Authority
- CN
- China
- Prior art keywords
- boundary intensity
- macro block
- video coding
- horizontal
- threshold value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了一种视频编码方法和系统。该视频编码方法包括:将需要编码的宏块划分为16个4×4块,并计算任意两个4×4块之间的边界强度;根据计算出的边界强度确定用于宏块的宏块分割模式;以及根据所确定的宏块分割模式对宏块进行分割,并对分割出的子块进行编码。
Description
技术领域
本发明涉及图像处理领域,更具体地涉及一种视频编码方法和系统。
背景技术
当前,基本上所有的视频编码标准都是以宏块为基本单元来实现对视频帧的处理。在诸如H.264和AVS之类的当前广泛使用的视频编码标准中,一般通过将宏块分割为多个子块并分别对多个子块进行编码来实现对整个宏块的编码处理。一个16×16的宏块(MB)可以划分为若干个子块。如图1所示,宏块分割模式包括16×16、16×8、8×16、以及8×8模式;并且对于8×8块,可以进一步划分成8×4、4×8、以及4×4块。即,8×8块的子分割模式包括8×8、8×4、4×8、以及4×4模式。大多数视频编码标准都支持对于各种大小的块的帧内编码和帧间编码,并且对于各种大小的块都存在多种编码模式。
在视频编码中,率失真(Rate Distortion,RD)优化技术被用在选择宏块分割模式和相应编码模式的过程中,以实现编码效率。如果使用率失真优化技术,编码器必须通过遍历所有可能的宏块分割模式和相应编码模式才能找出最佳的宏块分割模式和相应编码模式进而完成对宏块的编码。这种编码过程的计算复杂度非常高,难以实时地实现视频编码。
发明内容
鉴于以上一个或多个问题,本发明提供了一种新颖的宏块编码方法和系统。
根据本发明实施例的视频编码方法包括:将需要编码的宏块划分为16个4×4块,并计算任意两个4×4块之间的边界强度;根据计算出的边界强度确定用于宏块的宏块分割模式;以及根据所确定的宏块分割模式对宏块进行分割,并对分割出的子块进行编码。
根据本发明实施例的视频编码系统包括:宏块划分单元,用于将需要编码的宏块划分为16个4×4块,并计算任意两个4×4块之间的边界强度;模式确定单元,用于根据计算出的边界强度确定用于宏块的宏块分割模式;以及编码执行单元,用于根据所确定的宏块分割模式对宏块进行分割,并对分割出的子块进行编码。
本发明根据图像编解码块划分的基本原则,通过计算块与块之间的边界强度,来判断块与块之间图像内容的关联性,以此进行块大小划分。并在块大小划分确定了的基础上,再对每个划分块进行最优编码模式选择。由此可见本发明相比于现在广泛采用的率失真优化技术,大大降低了视频编码的计算量以及计算难度,有利于视频编码的实时实现。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明,其中:
图1是示出用在视频编码中的宏块分割模式以及子块分割模式的示意图;
图2是示出根据本发明实施例的视频编码方法的流程图;
图3是示出根据本发明实施例的视频编码系统的框图;
图4是示出宏块被划分为16个4×4块的情形的示意图;
图5是示出计算在水平方向相邻的两个4×4块之间的垂直边界强度的处理的示意图;以及
图6是示出计算在垂直方向相邻的两个4×4块之间的水平边界强度的处理的示意图。
具体实施方式
下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。
在目前使用的大多数视频编码标准中,一个宏块最多可以被划分为16个4×4块。在对任意一个宏块进行编码的过程中,需要首先确定用于该宏块的宏块分割模式,然后才能通过分别对按照所确定的宏块分割模式分割出的各块进行编码来完成对整个宏块的编码。通常情况下,将平滑(即,图像细节不多)的宏块分割为尺寸比较大的多个块,而将复杂(即,图像细节较多)的宏块分割为尺寸比较小的多个块。
为了满足实时编码的要求,必须降低确定宏块分割模式和相应编码模式的计算复杂度,从而减少确定宏块分割模式和相应编码模式所需要的时间。本发明提出了一种新颖的视频编码方法和系统。在根据本发明的视频编码方法和系统中,在选择宏块分割模式时不再需要遍历所有可能的宏块分割模式,而是计算从宏块划分出的16个4×4块中任意两个相邻的4×4块之间的边界强度,并根据计算出来的边界强度来选择宏块分割模式。
下面参考图2和图3,描述根据本发明的一个实施例的视频编码方法和系统。图2是示出根据本发明的一个实施例的视频编码方法的流程图。图3是示出根据本发明的一个实施例的视频编码系统的框图。
如图3所示,根据本发明的一个实施例的视频编码系统包括宏块划分单元302、模式确定单元304、以及编码执行单元306。其中,模式确定单元304进一步包括强度计算模块3042、强度比较模块3044、以及模式确定模块3046。
上述各功能单元的具体功能如下:宏块划分单元302用于将需要编码的宏块划分为16个4×4块,并计算任意两个4×4块之间的边界强度(即,执行步骤S202);模式确定单元304用于根据计算出的边界强度确定用于宏块的宏块分割模式(即,执行步骤S204);以及编码执行单元306用于根据所确定的宏块分割模式对宏块进行分割,并对分割出的子块进行编码(即,执行步骤S206)。
为了说明方便,将当前需要编码的宏块中包括的四个8×8块记为Block0~Block3,将这些8×8块中的任意一个记为8×8块Block(i),并将8×8块Block(i)中包括的四个4×4块记为4×4块block0~block3,其中i为整数且0≤i≤3。
具体地,宏块划分单元302首先将当前需要编码的宏块划分为16个4
×4块。图4示出了宏块被划分为16个4×4块的情形。如图4所示,当前需要编码的宏块包括4个8×8块Block0~Block3,Block0包括4个4×4块block0~block3,Block1包括4个4×4块block4~block7,Block2包括4个4×4块block8~block11,Block3包括4个4×4块block12~block15。
下面以Block0为例,来说明根据本发明一个实施例的视频编码方法和系统对任意一个对于8×8块Block(i)的处理。
具体地,宏块划分单元302将Block0划分为4个4×4块block0~block3,计算在水平方向相邻的4×4块block0和block1之间的垂直边界强度VS0以及block2和block3之间的垂直边界强度VS1,并计算在垂直方向相邻的4×4块block0和block2之间的水平边界强度HS0以及block1和block3之间的水平边界强度HS1。
当垂直边界强度VS0和VS1均大于第一阈值且水平边界强度HS0和HS1均不大于第二阈值时,模式确定单元304确定当前需要编码的宏块的宏块分割模式为8×8模式。
当垂直边界强度VS0和VS1均不大于第一阈值且水平边界强度HS0和HS1均大于第二阈值时,模式确定单元304确定当前需要编码的宏块的宏块分割模式为8×8模式。
具体地,在模式确定单元304中,强度比较模块3044用于将8×8块Block(i)中的在水平方向相邻的4×4块block0和block1之间的垂直边界强度VS0以及block2和block3之间的垂直边界强度VS1与第一阈值比较,并将8×8块Block(i)中的在垂直方向相邻的4×4块block0和block2之间的水平边界强度HS0以及block1和block3之间的水平边界强度HS 1与第二阈值比较,模式确定模块3046用于在垂直边界强度VS0和VS1均大于第一阈值且水平边界强度HS0和HS1均大于第二阈值时,确定当前需要编码的宏块的宏块分割模式为8×8模式,或者在垂直边界强度VS0和VS1均不大于第一阈值且水平边界强度HS0和HS1均大于第二阈值时,确定当前需要编码的宏块的宏块分割模式为8×8模式。
当垂直边界强度VS0和VS 1中的至少一个不大于第一阈值且水平边界强度HS0和HS1中的至少一个不大于第二阈值时,模式确定单元304将4×4块合并为一个8×8块。当每个8×8块Block0~Block3中的4×4块都被合并为一个8×8块时,模式确定单元304计算在水平方向相邻的8×8块Block0和Block1之间的垂直边界强度BVS0以及8×8块Block2和Block3之间的垂直边界强度BVS1,并计算在垂直方向相邻的8×8块Block0和Block2之间的水平边界强度BHS0以及8×8块Block1和Block3之间的水平边界强度BHS1。
具体地,在模式确定单元304中,强度计算模块3042用于计算在水平方向相邻的8×8块Block0和Block1之间的垂直边界强度BVS0以及8×8块Block2和Block3之间的垂直边界强度BVS1,并计算在垂直方向相邻的8×8块Block0和Block2之间的水平边界强度BHS0以及8×8块Block1和Block3之间的水平边界强度BHS1;强度比较模块3044用于将垂直边界强度BVS0和BVS1与第三阈值比较,并将水平边界强度BHS0和BHS1与第四阈值比较;模式确定模块3046用于根据比较结果,确定当前需要编码的宏块的宏块分割模式。
当垂直边界强度BVS0和BVS1均大于第三阈值且水平边界强度BHS0和BHS1均大于第四阈值时,模式确定单元304(或者模式确定模块3046)还用于确定所述宏块的宏块分割模式为8×8模式。
当垂直边界强度BVS0和BVS1均大于第三阈值且水平边界强度BHS0和BHS1均不大于第四阈值时,模式确定单元304(或者模式确定模块3046)确定当前需要编码的宏块的宏块分割模式为8×16模式。
当垂直边界强度BVS0和BVS1均不大于第三阈值且水平边界强度BHS0和BHS1均大于第四阈值时,模式确定单元304(或者模式确定模块3046)确定当前需要编码的宏块的宏块分割模式为16×8模式。
当垂直边界强度BVS0和BVS1中的至少一个不大于第三阈值且水平边界强度BHS0和BHS1中的至少一个不大于第四阈值时,模式确定单元304(或者模式确定模块3046)确定当前需要编码的的宏块分割模式为16×16模式。
图5示出了计算在水平方向相邻的两个4×4块之间的垂直边界强度的处理。下面参考图5,以block0和block1之间的垂直边界V0的垂直边界强度VS0为例,说明计算两个相邻4×4块之间的垂直边界强度的过程。需要说明的是在图6中,为了便于描述,将block0中的像素记为00至13、10至13、20至23、以及30至33,并且将block1中的像素记为04至07、14至17、24至27、以及34至37。可以根据以下等式计算block0和block1之间的垂直边界V0处的垂直边界强度VS0(其中,P[ij]表示像素“ij”的像素值,i和j均为整数,且0≤i≤3,0≤j≤7):
Vertical_boundary_strengths=
abs(P[03]-P[04])+abs(P[13]-P[14])+abs(P[23]-P[24])+abs(P[33]-P[34])
+abs(P[02]-P[04])+abs(P[12]-P[14])+abs(P[22]-P[24])+abs(P[32]-P[44])
+abs(P[03]-P[05])+abs(P[13]-P[15])+abs(P[23]-P[25])+abs(P[33]-P[35])
图6示出了计算在垂直方向相邻的两个4×4块之间的水平边界强度的处理。下面参考图6,以block0和block2之间的水平边界H0的水平边界强度HS0为例,说明计算两个相邻4×4块之间的水平边界强度的过程。需要说明的是在图6中,为了便于描述,将block0中的像素记为00至13、10至13、20至23、以及30至33,并且将block2中的像素记为40至43、50至53、60至63、以及70至73。可以根据以下等式计算block0和block2之间的水平边界H0处的水平边界强度(其中,P[mn]表示像素“mn”的像素值,m和n均为整数,且0≤m≤7,0≤n≤3):
horizontal_boundary_strengths=
abs(P[30]-P[40])+abs(P[31]-P[41])+abs(P[32]-P[42])+abs(P[33]-P[43])
+abs(P[20]-P[40])+abs(P[21]-P[41])+abs(P[22]-P[42])+abs(P[23]-P[44])
+abs(P[30]-P[50])+abs(P[31]-P[51])+abs(P[32]-P[52])+abs(P[33]-P[53])
返回参考图4,在通过上述处理得出V0至V11处的垂直边界强度VS0至VS11、以及H0至H11处的水平边界强度HS0至HS 11后,进行以下处理(下面以block0至block3为例进行说明):
对于处于左上侧8×8块中的block0至block3,判断VS0和VS1是否大于第一阈值TH1,并判断HS0和HS1是否大于第二阈值TH2;
如果VS0和VS1均大于TH1且HS0和HS1均大于TH2,则保持block0至block3分别为4×4块不变;
如果VS0和VS 1之一大于TH1且HS0和HS1之一大于TH2,或者VS0和VS1均不大于TH1且HS0和HS 1均不大于TH2,则将block0至block3合并为一个8×8块;
如果VS0和VS 1均大于TH1且HS0和HS1均不大于TH2,则将block0和block2合并为一个4×8块,并将block1和block3合并为另一个4×8块;
如果VS0和VS1均不大于TH1且HS0和HS1均大于TH2,则将block0和block1合并为一个8×4块,并将block2和block3合并为另一个8×4块。
对于block4至block7、block8至block11、以及block12至block15,可以类似地进行以上处理。在block0至block3、block4至block7、block8至block11、以及block12至block15组成了四个相邻的8×8块BLOCK0至BLOCK3时,
BLOCK0和BLOCK1之间的垂直边界强度BVS0=VS4+VS5
BLOCK2和BLOCK3之间的垂直边界强度BVS1=VS6+VS7
BLOCK0和BLOCK2之间的水平边界强度BHS0=HS4+HS5
BLOCK1和BLOCK3之间的水平边界强度BHS1=HS6+HS7。
在得出BVS0、BVS1、BHS0、以及BHS1之后,利用第三阈值TH3和第四阈值TH4来判断是否对BLOCK0至BLOCK3进行合并(具体过程类似于以上所述的对于block0至block3的过程)。
以上已经参考本发明的具体实施例来描述了本发明,但是本领域技术人员均了解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或其等同物限定的本发明的精神和范围。
本发明根据图像编解码块划分的基本原则,通过计算块与块之间的边界强度,来判断块与块之间图像内容的关联性,以此进行块大小划分。并在块大小划分确定了的基础上,再对每个划分块进行最优编码模式选择。由此可见本发明相比于现在广泛采用的率失真优化技术,大大降低了视频编码的计算量以及计算难度,有利于视频编码的实时实现。
根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来说,流程图只是用来指示用于实现功能的基本操作的一种可能的序列。
本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任何其他手段。
还将意识到,根据特定应用的需要,附图中示出的要素中的一个或多个可以按更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范围之内。
此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除非另有具体指示。当术语被预见为使分离或组合的能力不清楚时,组件或者步骤的组合也将被认为是已经记载了。
关于包括以上实施例的实施方式,还公开下述附记:
附记1.一种视频编码方法,包括:
将需要编码的宏块划分为16个4×4块,并计算任意两个4×4块之间的边界强度;
根据计算出的边界强度确定用于所述宏块的宏块分割模式;以及
根据所确定的宏块分割模式对所述宏块进行分割,并对分割出的子块进行编码。
附记2.根据附记1所述的视频编码方法,其特征在于,对于在垂直方向或水平方向相邻的任意两个4×4块,利用所述两个4×4块中邻近所述两个4×4块之间的边界的两行或两列像素的像素值来计算所述两个4×4块之间的垂直或水平边界强度。
附记3.根据附记1或2所述的视频编码方法,其特征在于,通过将在水平方向相邻的任意两个4×4块之间的垂直边界强度与第一阈值比较,并将在垂直方向相邻的任意两个4×4块之间的水平边界强度与第二阈值比较,来确定用于所述宏块的宏块分割模式。
附记4.根据附记1或2所述的视频编码方法,其特征在于,确定用于所述宏块的宏块分割模式的处理包括:
对于所述宏块中的任意一个8×8块Block(i),将所述8×8块Block(i)中的在水平方向相邻的4×4块block0和block1之间的垂直边界强度VS0以及block2和block3之间的垂直边界强度VS1与第一阈值比较,并将所述8×8块Block(i)中的在垂直方向相邻的4×4块block0和block2之间的水平边界强度HS0以及block1和block3之间的水平边界强度HS 1与第二阈值比较,其中,所述宏块包括四个8×8块Block0~Block3,i为整数且0≤i≤3;
当所述垂直边界强度VS0和VS1均大于所述第一阈值且所述水平边界强度HS0和HS1均大于所述第二阈值时,确定所述宏块的宏块分割模式为8×8模式。
附记5.根据附记4所述的视频编码方法,其特征在于,当所述垂直边界强度VS0和VS 1均大于所述第一阈值且所述水平边界强度HS0和HS 1均不大于所述第二阈值时,确定所述宏块的宏块分割模式为8×8模式。
附记6.根据附记4所述的视频编码方法,其特征在于,当所述垂直边界强度VS0和VS 1均不大于所述第一阈值且所述水平边界强度HS0和HS1均大于所述第二阈值时,确定所述宏块的宏块分割模式为8×8模式。
附记7.根据附记4所述的视频编码方法,其特征在于,
当所述垂直边界强度VS0和VS1中的至少一个不大于所述第一阈值且所述水平边界强度HS0和HS1中的至少一个不大于所述第二阈值时,将所述4×4块合并为一个8×8块,并且
当所述宏块中的每个8×8块中的4×4块都被合并为一个8×8块时,确定所述宏块的宏块分割模式的处理还包括:
计算所述宏块中的在水平方向相邻的8×8块Block0和Block1之间的垂直边界强度BVS0以及8×8块Block2和Block3之间的垂直边界强度BVS1,并计算所述宏块中的在垂直方向相邻的8×8块Block0和Block2之间的水平边界强度BHS0以及8×8块Block1和Block3之间的水平边界强度BHS1;
将所述垂直边界强度BVS0和BVS1与第三阈值比较,并将所述水平边界强度BHS0和BHS1与第四阈值比较;
当所述垂直边界强度BVS0和BVS1均大于所述第三阈值且所述水平边界强度BHS0和BHS1均大于所述第四阈值时,确定所述宏块的宏块分割模式为8×8模式。
附记8.根据附记7所述的视频编码方法,其特征在于,当所述垂直边界强度BVS0和BVS1均大于所述第三阈值且所述水平边界强度BHS0和BHS1均不大于所述第四阈值时,确定所述宏块的宏块分割模式为8×16模式。
附记9.根据附记7所述的视频编码方法,其特征在于,当所述垂直边界强度BVS0和BVS 1均不大于所述第三阈值且所述水平边界强度BHS0和BHS1均大于所述第四阈值时,确定所述宏块的宏块分割模式为16×8模式。
附记10.根据附记7所述的视频编码方法,其特征在于,当所述垂直边界强度BVS0和BVS1中的至少一个不大于所述第三阈值且所述水平边界强度BHS0和BHS1中的至少一个不大于所述第四阈值时,确定所述宏块的宏块分割模式为16×16模式。
附记11.一种视频编码系统,包括:
宏块划分单元,用于将需要编码的宏块划分为16个4×4块,并计算任意两个4×4块之间的边界强度;
模式确定单元,用于根据计算出的边界强度确定用于所述宏块的宏块分割模式;以及
编码执行单元,用于根据所确定的宏块分割模式对所述宏块进行分割,并对分割出的子块进行编码。
附记12.根据附记11所述的视频编码系统,其特征在于,对于在垂直方向或水平方向相邻的任意两个4×4块,所述宏块划分单元利用所述两个4×4块中邻近所述两个4×4块之间的边界的两行或两列像素的像素值来计算所述两个4×4块之间的垂直或水平边界强度。
附记13.根据附记11或12所述的视频编码系统,其特征在于,所述模式确定单元通过将在水平方向相邻的任意两个4×4块之间的垂直边界强度与第一阈值比较,并将在垂直方向相邻的任意两个4×4块之间的水平边界强度与第二阈值比较,来确定用于所述宏块的宏块分割模式。
附记14.根据附记11或12所述的视频编码系统,其特征在于,所述模式确定单元包括:
强度比较模块,用于对于所述宏块中的任意一个8×8块Block(i),将所述8×8块Block(i)中的在水平方向相邻的4×4块block0和block1之间的垂直边界强度VS0以及block2和block3之间的垂直边界强度VS1与第一阈值比较,并将所述8×8块Block(i)中的在垂直方向相邻的4×4块block0和block2之间的水平边界强度HS0以及block1和block3之间的水平边界强度HS1与第二阈值比较,其中,所述宏块包括四个8×8块Block0~Block3,i为整数且0≤i≤3;
模式确定模块,用于当所述垂直边界强度VS0和VS1均大于所述第一阈值且所述水平边界强度HS0和HS1均大于所述第二阈值时,确定所述宏块的宏块分割模式为8×8模式。
附记15.根据附记14所述的视频编码系统,其特征在于,当所述垂直边界强度VS0和VS1均大于所述第一阈值且所述水平边界强度HS0和HS1均不大于所述第二阈值时,所述模式确定单元确定所述宏块的宏块分割模式为8×8模式。
附记16.根据附记14所述的视频编码系统,其特征在于,当所述垂直边界强度VS0和VS1均不大于所述第一阈值且所述水平边界强度HS0和HS1均大于所述第二阈值时,所述模式确定单元确定所述宏块的宏块分割模式为8×8模式。
附记17.根据附记14所述的视频编码系统,其特征在于,
当所述垂直边界强度VS0和VS1中的至少一个不大于所述第一阈值且所述水平边界强度HS0和HS1中的至少一个不大于所述第二阈值时,所述模式确定单元将所述4×4块合并为一个8×8块,并且
所述模式确定单元还包括:强度计算模块,用于当所述宏块中的每个8×8块中的4×4块都被合并为一个8×8块时,计算所述宏块中的在水平方向相邻的8×8块Block0和Block1之间的垂直边界强度BVS0以及8×8块Block2和Block3之间的垂直边界强度BVS1,并计算所述宏块中的在垂直方向相邻的8×8块Block0和Block2之间的水平边界强度BHS0以及8×8块Block1和Block3之间的水平边界强度BHS1;
所述强度比较模块还用于将所述垂直边界强度BVS0和BVS 1与第三阈值比较,并将所述水平边界强度BHS0和BHS1与第四阈值比较;
所述模式确定模块还用于当所述垂直边界强度BVS0和BVS1均大于所述第三阈值且所述水平边界强度BHS0和BHS1均大于所述第四阈值时,确定所述宏块的宏块分割模式为8×8模式。
附记18.根据附记17所述的视频编码系统,其特征在于,当所述垂直边界强度BVS0和BVS1均大于所述第三阈值且所述水平边界强度BHS0和BHS1均不大于所述第四阈值时,所述模式确定单元确定所述宏块的宏块分割模式为8×16模式。
附记19.根据附记17所述的视频编码系统,其特征在于,当所述垂直边界强度BVS0和BVS1均不大于所述第三阈值且所述水平边界强度BHS0和BHS1均大于所述第四阈值时,所述模式确定单元确定所述宏块的宏块分割模式为16×8模式。
附记20.根据附记17所述的视频编码方法,其特征在于,当所述垂直边界强度BVS0和BVS1中的至少一个不大于所述第三阈值且所述水平边界强度BHS0和BHS1中的至少一个不大于所述第四阈值时,确定所述宏块的宏块分割模式为16×16模式。
Claims (10)
1.一种视频编码方法,包括:
将需要编码的宏块划分为16个4×4块,并计算任意两个4×4块之间的边界强度;
根据计算出的边界强度确定用于所述宏块的宏块分割模式;以及
根据所确定的宏块分割模式对所述宏块进行分割,并对分割出的子块进行编码。
2.根据权利要求1所述的视频编码方法,其特征在于,对于在垂直方向或水平方向相邻的任意两个4×4块,利用所述两个4×4块中邻近所述两个4×4块之间的边界的两行或两列像素的像素值来计算所述两个4×4块之间的垂直或水平边界强度。
3.根据权利要求1或2所述的视频编码方法,其特征在于,通过将在水平方向相邻的任意两个4×4块之间的垂直边界强度与第一阈值比较,并将在垂直方向相邻的任意两个4×4块之间的水平边界强度与第二阈值比较,来确定用于所述宏块的宏块分割模式。
4.根据权利要求1或2所述的视频编码方法,其特征在于,确定用于所述宏块的宏块分割模式的处理包括:
对于所述宏块中的任意一个8×8块Block(i),将所述8×8块Block(i)中的在水平方向相邻的4×4块block0和block1之间的垂直边界强度VS0以及block2和block3之间的垂直边界强度VS1与第一阈值比较,并将所述8×8块Block(i)中的在垂直方向相邻的4×4块block0和block2之间的水平边界强度HS0以及block1和block3之间的水平边界强度HS1与第二阈值比较,其中,所述宏块包括四个8×8块Block0~Block3,i为整数且0≤i≤3;
当所述垂直边界强度VS0和VS1均大于所述第一阈值且所述水平边界强度HS0和HS1均大于所述第二阈值时,确定所述宏块的宏块分割模式为8×8模式。
5.根据权利要求4所述的视频编码方法,其特征在于,当所述垂直边界强度VS0和VS1均大于所述第一阈值且所述水平边界强度HS0和HS1均不大于所述第二阈值时,确定所述宏块的宏块分割模式为8×8模式。
6.根据权利要求4所述的视频编码方法,其特征在于,当所述垂直边界强度VS0和VS1均不大于所述第一阈值且所述水平边界强度HS0和HS1均大于所述第二阈值时,确定所述宏块的宏块分割模式为8×8模式。
7.根据权利要求4所述的视频编码方法,其特征在于,
当所述垂直边界强度VS0和VS1中的至少一个不大于所述第一阈值且所述水平边界强度HS0和HS1中的至少一个不大于所述第二阈值时,将所述4×4块合并为一个8×8块,并且
当所述宏块中的每个8×8块中的4×4块都被合并为一个8×8块时,确定所述宏块的宏块分割模式的处理还包括:
计算所述宏块中的在水平方向相邻的8×8块Block0和Block1之间的垂直边界强度BVS0以及8×8块Block2和Block3之间的垂直边界强度BVS1,并计算所述宏块中的在垂直方向相邻的8×8块Block0和Block2之间的水平边界强度BHS0以及8×8块Block1和Block3之间的水平边界强度BHS1;
将所述垂直边界强度BVS0和BVS1与第三阈值比较,并将所述水平边界强度BHS0和BHS1与第四阈值比较;
当所述垂直边界强度BVS0和BVS1均大于所述第三阈值且所述水平边界强度BHS0和BHS1均大于所述第四阈值时,确定所述宏块的宏块分割模式为8×8模式。
8.根据权利要求7所述的视频编码方法,其特征在于,当所述垂直边界强度BVS0和BVS1均大于所述第三阈值且所述水平边界强度BHS0和BHS1均不大于所述第四阈值时,确定所述宏块的宏块分割模式为8×16模式。
9.根据权利要求7所述的视频编码方法,其特征在于,当所述垂直边界强度BVS0和BVS1均不大于所述第三阈值且所述水平边界强度BHS0和BHS1均大于所述第四阈值时,确定所述宏块的宏块分割模式为16×8模式。
10.根据权利要求7所述的视频编码方法,其特征在于,当所述垂直边界强度BVS0和BVS1中的至少一个不大于所述第三阈值且所述水平边界强度BHS0和BHS1中的至少一个不大于所述第四阈值时,确定所述宏块的宏块分割模式为16×16模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110175318.XA CN102843556B (zh) | 2011-06-20 | 2011-06-20 | 视频编码方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110175318.XA CN102843556B (zh) | 2011-06-20 | 2011-06-20 | 视频编码方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102843556A true CN102843556A (zh) | 2012-12-26 |
CN102843556B CN102843556B (zh) | 2015-04-15 |
Family
ID=47370573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110175318.XA Expired - Fee Related CN102843556B (zh) | 2011-06-20 | 2011-06-20 | 视频编码方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102843556B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442235A (zh) * | 2013-09-06 | 2013-12-11 | 深圳市融创天下科技股份有限公司 | 一种图像处理方法以及装置 |
CN108353172A (zh) * | 2015-09-30 | 2018-07-31 | 凯迪迪爱通信技术有限公司 | 动图的处理装置、处理方法以及计算机可读存储介质 |
WO2020164632A1 (en) * | 2019-02-15 | 2020-08-20 | Beijing Bytedance Network Technology Co., Ltd. | Non-power-two-partition tree in video compression |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1197250A (zh) * | 1997-04-24 | 1998-10-28 | 三菱电机株式会社 | 动画图像编码方法、动画图像编码装置及解码装置 |
CN1753501A (zh) * | 2005-10-31 | 2006-03-29 | 连展科技(天津)有限公司 | 一种h.264/avc的帧间运动估计的模式选择方法 |
US20070036215A1 (en) * | 2003-03-03 | 2007-02-15 | Feng Pan | Fast mode decision algorithm for intra prediction for advanced video coding |
CN101009833A (zh) * | 2006-01-23 | 2007-08-01 | 三星电子株式会社 | 为可变块尺寸的运动估计确定编码模式的方法和设备 |
CN101207810A (zh) * | 2006-12-21 | 2008-06-25 | 联想(北京)有限公司 | 一种h264视频编码快速模式选择方法和装置 |
CN101309421A (zh) * | 2008-06-23 | 2008-11-19 | 北京工业大学 | 帧内预测模式选择方法 |
CN101404774A (zh) * | 2008-11-13 | 2009-04-08 | 四川虹微技术有限公司 | 运动搜索中宏块划分模式的选择方法 |
-
2011
- 2011-06-20 CN CN201110175318.XA patent/CN102843556B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1197250A (zh) * | 1997-04-24 | 1998-10-28 | 三菱电机株式会社 | 动画图像编码方法、动画图像编码装置及解码装置 |
US20070036215A1 (en) * | 2003-03-03 | 2007-02-15 | Feng Pan | Fast mode decision algorithm for intra prediction for advanced video coding |
CN1753501A (zh) * | 2005-10-31 | 2006-03-29 | 连展科技(天津)有限公司 | 一种h.264/avc的帧间运动估计的模式选择方法 |
CN101009833A (zh) * | 2006-01-23 | 2007-08-01 | 三星电子株式会社 | 为可变块尺寸的运动估计确定编码模式的方法和设备 |
CN101207810A (zh) * | 2006-12-21 | 2008-06-25 | 联想(北京)有限公司 | 一种h264视频编码快速模式选择方法和装置 |
CN101309421A (zh) * | 2008-06-23 | 2008-11-19 | 北京工业大学 | 帧内预测模式选择方法 |
CN101404774A (zh) * | 2008-11-13 | 2009-04-08 | 四川虹微技术有限公司 | 运动搜索中宏块划分模式的选择方法 |
Non-Patent Citations (1)
Title |
---|
傅彦等: "基于宏块内部特征的H.264快速预测模式决策算法", 《计算机应用研究》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442235A (zh) * | 2013-09-06 | 2013-12-11 | 深圳市融创天下科技股份有限公司 | 一种图像处理方法以及装置 |
CN103442235B (zh) * | 2013-09-06 | 2017-01-25 | 融创天下(上海)科技发展有限公司 | 一种图像处理方法以及装置 |
CN108353172A (zh) * | 2015-09-30 | 2018-07-31 | 凯迪迪爱通信技术有限公司 | 动图的处理装置、处理方法以及计算机可读存储介质 |
CN108353172B (zh) * | 2015-09-30 | 2021-01-15 | 凯迪迪爱通信技术有限公司 | 动图的处理装置、处理方法以及计算机可读存储介质 |
WO2020164632A1 (en) * | 2019-02-15 | 2020-08-20 | Beijing Bytedance Network Technology Co., Ltd. | Non-power-two-partition tree in video compression |
US11805252B2 (en) | 2019-02-15 | 2023-10-31 | Beijing Bytedance Network Technology Co., Ltd | Non-power-two-partition tree in video compression |
US11930173B2 (en) | 2019-02-15 | 2024-03-12 | Beijing Bytedance Network Technology Co., Ltd | Transform parameter derivation based on block partition |
US11930172B2 (en) | 2019-02-15 | 2024-03-12 | Beijing Bytedance Network Technology Co., Ltd | Restrictions of usage of non-power-two-partition tree in video compression |
Also Published As
Publication number | Publication date |
---|---|
CN102843556B (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970526B (zh) | 一种获得变换块尺寸的方法和模块 | |
CN102870414B (zh) | 处理视频信号的方法和设备 | |
CN102648631B (zh) | 用于编码/解码高分辨率图像的方法和设备 | |
CN107071437B (zh) | 用于帧内预测的解码图像的方法 | |
CN109068142B (zh) | 360度视频帧内预测快速决策方法、装置、编解码器和介质 | |
KR101579472B1 (ko) | 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체 | |
CN103297781A (zh) | 一种基于纹理方向的hevc帧内编码方法、装置和系统 | |
JP2006246431A (ja) | 画像符号化装置および画像符号化方法 | |
CN111295881B (zh) | 用于图像和视频编解码的画面内预测融合的方法和装置 | |
CN104853192A (zh) | 预测模式选择方法及装置 | |
CN102811346B (zh) | 编码模式选择方法和系统 | |
CN104539949B (zh) | Hevc屏幕编码中基于边缘方向的快速分块的方法及装置 | |
CN102215395B (zh) | 一种视频编解码方法和装置 | |
CN111492655A (zh) | 用于视频压缩的基于纹理的分区决定 | |
CN109963151B (zh) | 编码单元划分确定方法及装置、终端设备及可读存储介质 | |
CN107623848B (zh) | 一种视频编码方法及装置 | |
CN104883566B (zh) | 一种适用于hevc标准的帧内预测块大小划分的快速算法 | |
CN103533355A (zh) | 一种hevc快速编码方法 | |
CN105812797A (zh) | 一种编码单元选择方法及装置 | |
CN102843556A (zh) | 视频编码方法和系统 | |
US20190124355A1 (en) | Devices and methods for video coding using segmentation based partitioning of video coding blocks | |
CN1819657A (zh) | 图像编码装置和图像编码方法 | |
CN111432212A (zh) | 基于纹理特征的帧内划分方法、系统及存储介质 | |
CN103634607B (zh) | 进行影像编码预测的方法及采用该方法的影像编码装置 | |
CN103096060A (zh) | 帧内图像预测编解码的自适应环路滤波方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150415 Termination date: 20180620 |
|
CF01 | Termination of patent right due to non-payment of annual fee |