CN104837016B - 视频解码设备 - Google Patents

视频解码设备 Download PDF

Info

Publication number
CN104837016B
CN104837016B CN201510133860.7A CN201510133860A CN104837016B CN 104837016 B CN104837016 B CN 104837016B CN 201510133860 A CN201510133860 A CN 201510133860A CN 104837016 B CN104837016 B CN 104837016B
Authority
CN
China
Prior art keywords
block
sub
pixels
encoded
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510133860.7A
Other languages
English (en)
Other versions
CN104837016A (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.)
SK Telecom Co Ltd
Original Assignee
SK Telecom 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 SK Telecom Co Ltd filed Critical SK Telecom Co Ltd
Publication of CN104837016A publication Critical patent/CN104837016A/zh
Application granted granted Critical
Publication of CN104837016B publication Critical patent/CN104837016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/96Tree coding, e.g. quad-tree coding

Abstract

本发明涉及一种视频解码设备。根据本发明一个实施方式的视频解码设备包括:解码器,其通过利用CABAC和根据宏块和子块利用不同的上下文表对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;逆量化器和逆变换器,其通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化/逆变换来重构残留子块;预测器,其通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块;以及加法器,其通过将所述预测子块与所述残留子块相加来重构所述子块,其中,所述宏块基于所述子块来重构。

Description

视频解码设备
本申请是原案申请号为201180029771.8的发明专利申请(国际申请号:PCT/KR2011/002763,申请日:2011年4月18日,发明名称:视频编码/解码设备和方法)的分案申请。
技术领域
本发明涉及视频编码/解码设备和方法。更具体地说,本发明涉及一种用于通过将扩展宏块划分为各种大小和形状的子块并根据这些子块的大小和形状利用不同的预测单元和变换单元进行视频编码来提高视频压缩效率的设备和方法。此外,本发明涉及一种用于通过根据从这种视频编码设备接收到的比特流进行视频解码来提高视频重构效率的设备和方法。
背景技术
本部分的说明仅提供与本发明有关的背景信息,并不构成现有技术。
当前的视频数据压缩技术包括H.261、H.263、H.264、MPEG-2和MPEG-4。根据现有的视频压缩技术,在将各个图像分割为由亮度分量的矩形16×16像素区域和色度分量的矩形8×8像素区域组成的固定大小宏块之后,对各个图像进行编码。各个宏块的所有亮度分量和色度分量是空间或时间预测的,并且结果预测残留在最终压缩之前经受变换、量化和熵编码等。
根据H.264/AVC压缩标准的编码设备将各个宏块再次划分为较小大小16x16,8x8和4x4的块,以进入帧内预测编码,其中,按照四个预测模式中的一个来处理16x16像素块,并且按照四个预测模式中的一个来处理8x8像素块和4x4像素块。关于帧间预测编码,各个宏块可以首先划分为像素大小16x16,16x8,8x16,8x8,8x4,4x8和4x4的块。按照8x8或4x4像素块为单位进行变换,并且变换系数的量化采用标量量化。
然而,16x16宏块被认为是针对QCIF和CIF类型的小图像的合适大小,而不是适于诸如4Kx2K视频的高分辨率视频的大小。此外,由于通常的视频压缩技术在进行视频编码时采用固定大小的宏块(尽管H.264/AVC规定对宏块进行再次划分和编码,但是宏块的大小仍然是固定的),仍然要实现对高分辨率视频的有效编码。
此外,视频的编码和解码之间的统一操作使得难以从高分辨率视频编码的已经劣化的压缩效率实现高效率的视频解码。
发明内容
技术问题
因此,为了解决上述问题,本发明尝试通过以下处理来提高视频压缩效率和视频重构效率:将宏块扩展为各种大小,将扩展宏块划分为各种大小和形状的子块,以及利用根据这些子块的大小的不同的预测单元和变换单元来进行视频编码/解码。
采用的技术方案
本发明的实施方式提供了一种视频编码/解码设备,该视频编码/解码设备包括:视频编码器,其用于通过预测宏块划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,以及当使用上下文自适应二进制算术编码(CABAC)时利用根据所述宏块和所述子块的不同的上下文表来生成编码视频数据,以对所述量化变换系数进行编码;以及视频解码器,其用于通过利用CABAC并且利用根据宏块和子块的不同的上下文表对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换信息,通过利用有所述变换类型信息识别的变换来对所述量化变换系数进行逆量化和逆变换,通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测子块,通过将所述预测子块与所述残留子块相加来重构所述子块,并且基于所述子块重构所述宏块。
本发明的另一实施方式提供了一种视频编码设备,该视频编码设备包括:预测器,其用于通过预测宏块划分成的子块来生成预测子块;减法器,其用于通过从所述子块中减去所述预测子块来生成残留子块;变换器和量化器,其用于通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及编码器,其用于当使用上下文自适应二进制算术编码(CABAC)时利用根据所述宏块和所述子块的不同的上下文表来生成编码视频数据,以对所述量化变换系数进行编码。
这里,所述编码器可以根据相邻块的情况计算并改变要编码的当前块的二进制信号的出现概率。
所述编码器可以与要编码的当前块的二进制信号的出现概率对应地设置多个上下文表,并且根据相邻块和当前块的情况利用所述多个上下文表当中的不同的上下文表生成所述编码视频数据。
所述编码器可以通过基于图片类型、句法的类型和对所述句法进行编码时与所述相邻块对应的值中的至少一个选择上下文表来生成所述编码视频数据。
所述编码器可以根据要编码的当前块的上侧块和左侧块是否都是跳过模式或者所述上侧块和所述左侧块中的任一个是否是跳过模式来针对skipX_flag使用不同的上下文表。
所述编码器可以根据要编码的当前块的上侧块和左侧块是否是帧间模式还是帧内模式,或者所述上侧块和所述左侧块中的任一个是否是帧间模式来针对interX_flag使用不同的上下文表。
如果所述上侧块或所述左侧块大于16x16像素块,则编码器可以在帧内模式和帧间模式按照混合模式存在时以及仅存在帧间模式时针对interX_flag使用不同的上下文表。
所述编码器可以根据要编码的当前块的上侧块和左侧块是否都是直接模式或者所述上侧块和所述左侧块中的任一个是否是直接模式来针对directX_flag使用不同的上下文表。
所述编码器可以根据要编码的当前块的上侧块和左侧块是否都按照扩展宏块为单位进行编码或者所述上侧块和所述左侧块中的任一个是否按照扩展宏块为单位进行编码来针对extended_mb_flag使用不同的上下文表。
所述编码器可以根据要编码的当前块的上侧块和左侧块是否都被用作基准块或者所述上侧块和所述左侧块中的任一个是否被用作基准块来针对B_pdir使用不同的上下文表。
所述编码器可以根据要编码的所述当前块的所述上侧块或所述左侧块是否假设L0预测、L1预测或双向预测来针对B_pdir使用不同的上下文表。
针对MVD/ref_idx,a CBPX_flag和变换类型中的至少一个的不同的上下文表可以根据要编码的当前块的上侧块和下侧块来进行使用。
针对所述变换类型的所述上下文表可以根据要编码的所述当前块的可用变换类型而改变。
本发明的另一实施方式提供了一种视频解码设备,该视频解码设备包括:解码器,其用于通过利用CABAC和利用根据宏块和子块的不同的上下文表对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;逆量化器和逆变换器,其用于通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;预测器,其用于通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块;以及加法器,其用于通过将所述预测子块与所述残留子块相加来重构所述子块,其中,所述宏块基于所述子块来进行重构。
这里,所述解码器可以基于根据要解码的当前块的上侧块和左侧块而不同地设置了二进制信号的出现概率的上下文表来重构所述编码数据。
本发明的另一实施方式提供了一种视频编码/解码方法,该视频编码/解码方法包括以下步骤:通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,并且当使用上下文自适应二进制算术编码(CABAC)时利用根据所述宏块和所述子块的不同的上下文表来生成编码视频数据,以对所述量化变换系数进行编码;以及通过利用CABAC和利用根据宏块和子块的不同的上下文表对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数,通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块,通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块,通过将所述预测子块与所述残留子块相加来重构所述子块,并且基于所述子块重构所述宏块。
本发明的另一实施方式提供了一种视频编码方法,该视频编码方法包括以下步骤:通过预测宏块被划分成的子块来生成预测子块;通过从所述子块中减去所述预测子块来生成残留子块;通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及当使用上下文自适应二进制算术编码(CABAC)时利用根据所述宏块和所述子块的不同的上下文表来生成编码视频数据,以对所述量化变换系数进行编码。
这里,所述生成所述编码视频数据的处理可以根据相邻块的情况计算和改变要编码的当前块的二进制信号的出现概率。
所述生成所述编码视频数据的处理可以与要编码的当前块的二进制信号的出现概率对应地设置多个上下文表,并且利用根据相邻块和所述当前块的情况的所述多个上下文表当中的不同的上下文表来生成所述编码视频数据。
所述生成所述编码视频数据的处理可以通过基于图片类型、句法的类型和对所述句法进行编码时与所述相邻块对应的值中的至少一个选择上下文表来生成所述编码视频数据。
所述生成所述编码视频数据的处理可以根据要编码的当前块的上侧块和左侧块是否都是跳过模式或者所述上侧块和所述左侧块中的任一个是否是跳过模式来针对skipX_flag使用不同的上下文表。
所述生成所述编码视频数据的处理可以根据要编码的当前块的上侧块和左侧块是否是帧间模式还是帧内模式,或者所述上侧块和所述左侧块中的任一个是否是帧间模式来针对interX_flag使用不同的上下文表。
如果所述上侧块或所述左侧块大于16x16像素块,则所述生成所述编码视频数据的处理可以在帧内模式和帧间模式按照混合模式存在时以及仅存在帧间模式时针对interX_flag使用不同的上下文表。
所述生成所述编码视频数据的处理可以根据要编码的当前块的上侧块和左侧块是否都是直接模式或者所述上侧块和所述左侧块中的任一个是否是直接模式来针对directX_flag使用不同的上下文表。
所述生成所述编码视频数据的处理可以根据要编码的当前块的上侧块和左侧块是否都按照扩展宏块为单位进行编码或者所述上侧块和所述左侧块中的任一个是否按照扩展宏块为单位进行编码来针对extended_mb_flag使用不同的上下文表。
所述生成所述编码视频数据的处理可以根据要编码的当前块的上侧块和左侧块是否都被用作基准块或者所述上侧块和所述左侧块中的任一个是否被用作基准块来针对B_pdir使用不同的上下文表。
所述生成所述编码视频数据的处理可以根据要编码的所述当前块的所述上侧块或所述左侧块是否假设L0预测、L1预测或双向预测来针对B_pdir使用不同的上下文表。
针对MVD/ref_idx,a CBPX_flag和变换类型中的至少一个的不同的上下文表可以根据要编码的当前块的上侧块和下侧块来进行使用。
针对所述变换类型的所述上下文表可以根据要编码的所述当前块的可用变换类型而改变。
本发明的另一实施方式提供了一种视频解码方法,该视频解码方法包括以下步骤:通过利用CABAC和利用根据宏块和子块的不同的上下文表对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块;以及通过将所述预测子块与所述残留子块相加来重构所述子块,其中,所述宏块基于所述子块来进行重构。
这里,可以基于根据要解码的当前块的上侧块和左侧块而不同地设置了二进制信号的出现概率的上下文表来重构所述编码数据。
有益效果
根据上述本发明,通过以下处理来提高视频压缩效率和视频重构效率:将扩展宏块划分为各种大小和形状的子块,以及根据这些子块的大小利用不同的预测单元和变换单元来进行视频编码/解码。
附图说明
图1是例示根据本发明的实施方式的视频编码设备的示意性构造的框图;
图2是用于描述在根据本发明的实施方式填充(pad)输入图像的情况下进行编码和解码的图,该图是例示输入图像和当前要编码的扩展宏块的位置的图;
图3是图2中的当前要编码的扩展宏块的放大图;
图4是例示根据本发明的实施方式将宏块划分为针对帧内预测编码和帧间预测编码的各种大小的子块的处理的示例的图;
图5是例示根据本发明的另一实施方式将宏块划分为针对帧内预测编码和帧间预测编码的各种大小的子块的处理的示例的图;
图6是用于描述根据本发明的实施方式的帧内图片编码方法和要通过编码后数据发送的相关数据的例示图;
图7是例示根据本发明的实施方式的亮度分量的帧内预测模式中的九个预测方向和预测模式编号的例示图;
图8是例示根据本发明的实施方式的亮度分量的帧内预测模式中的四个预测方向和预测模式编号的例示图;
图9是例示根据本发明的实施方式的亮度分量的帧内预测模式中的三个预测方向和预测模式编号的例示图;
图10是例示根据本发明的实施方式的色度分量的帧内预测模式中的四个预测方向和预测模式编号的例示图;
图11是例示根据本发明的实施方式的64x64像素扩展宏块的各种子块类型的例示图;
图12是用于描述根据本发明的实施方式的帧间图片编码方法和要通过编码后数据发送的相关数据的例示图;
图13是用于描述根据本发明的实施方式确定预测运动向量的处理的例示图;
图14是用于描述根据本发明的实施方式确定8x16像素块和16x8像素块的预测运动向量的处理的例示图;
图15是例示根据本发明的实施方式的根据子块大小的可用变换类型和变换类型编码单元的例示图;
图16是例示根据本发明的实施方式要解块滤波的块的边界的例示图;
图17是例示根据本发明的实施方式的帧内图片的句法的例示图;
图18是例示根据本发明的实施方式的各个分割类型的编号的例示图;
图19是用于描述根据本发明的实施方式将扩展宏块划分为各种大小的子块的情况下的分割类型编号编码序列的图;
图20是顺序地例示根据本发明的实施方式逐个分隔层地划分宏块的处理的例示图;
图21是用于描述顺序地对宏块的逐层分割类型编号进行编码的处理的例示图;
图22是例示根据本发明的实施方式的帧内预测模式的编码序列的例示图;
图23是用于描述根据本发明的实施方式对宏块的帧内预测模式进行编码的处理的示例的例示图;
图24是用于描述根据本发明的实施方式针对帧内宏块对CBPX_flag和CBP进行编码的处理的例示图;
图25是例示根据本发明的实施方式的CBP的结构的例示图;
图26是例示根据本发明的实施方式对CBPX标记和CBP进行编码的序列的示例的例示图;
图27是例示根据本发明的实施方式针对帧内宏块对CBPX标记和CBP进行编码的序列的另一示例的例示图;
图28是例示根据本发明的实施方式的逐个分割类型量化的变换系数的编码序列的例示图;
图29是例示根据本发明的实施方式的编码后数据的句法结构的例示图;
图30是用于描述根据本发明的实施方式在P图片(或P片段段)中使用的句法的示例的图;
图31是用于描述根据本发明的实施方式在B图片(或B片段段)中使用的句法的示例的图;
图32是用于描述根据本发明的实施方式的SKIPX标记的编码处理的例示图;
图33和图34是用于描述根据本发明的实施方式针对帧间宏块对CBPX_flag、变换类型和CBP进行编码的处理的例示图;
图35是例示根据本发明的实施方式用于对skipX_flag进行编码/解码的ctx_inc的示例的图;
图36是例示根据本发明的实施方式用于对interX_flag进行编码/解码的ctx_inc的示例的图;
图37是例示根据本发明的实施方式用于对directX_flag进行编码/解码的ctx_inc的示例的图;
图38和图39是用于描述根据本发明的实施方式利用树结构对分割类型信息进行编码的处理的图;
图40是例示根据本发明的实施方式对分割类型进行编码的示例的图;
图41是例示根据本发明的实施方式对分割类型进行编码的另一示例的图;
图42是例示根据本发明的实施方式用于对B_pdir进行编码/解码的ctx_inc的示例的图;
图43是例示根据本发明的实施方式用于在两个可用变换类型的情况下对变换类型进行编码/解码的ctx_inc的示例的图;
图44是例示根据本发明的实施方式用于在三个可用变换类型的情况下对变换类型进行编码/解码的ctx_inc的示例的图;
图45是例示根据本发明的实施方式用于在三个可用变换类型的情况下对变换类型进行编码/解码的ctx_inc的示例的图;
图46是例示根据本发明的实施方式的视频解码设备的示意性构造的框图;
图47是例示视频边界或片边界处的帧内预测的例示图;
图48是例示平面模式的示例的图;
图49a-49b是例示根据本发明的实施方式对帧内图片的宏块和子块进行编码的流程图的例示图;
图50a-50b是例示根据本发明的实施方式对帧内图片的宏块和子块进行编码的流程图的另一例示图;
图51a-51b是例示根据本发明的实施方式对变换子块的变换系数进行编码的序列的例示图;
图52a-52c是例示根据本发明的实施方式对帧间宏块和帧间图片的子块进行编码的序列的例示图;
图53是针对批模式标记的ctx_inc的例示图;以及
图54是针对差运动向量的x分量的ctx_inc的例示图。
具体实施方式
根据本发明的实施方式的视频编码设备和视频解码设备可以是个人计算机(PC)、笔记本或膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、便携式游戏机(PSP)或无线通信终端、智能电话等,并且可以表示配备有例如诸如用于在各种装置或有线/无线通信网络之间进行通信的调制解调器的通信装置、用于存储用于对视频和相关数据进行编码或解码的各种程序的存储器以及用于执行这些程序以进行操作和控制的微处理器的各种设备。
此外,由视频编码设备编码为比特流的视频可以实时或非实时地发送给用于在经由有线/无线通信网络发送视频之后对该视频进行解码以将其重构和再现为视频的视频解码设备,其中,所述有线/无线通信网络包括互联网、短距离无线通信网络、无线LAN网络、也称为WiMax网络的WiBro(无线宽带)以及移动通信网络或诸如电缆或USB(通用串行总线)的通信接口。
图1是例示根据本发明的实施方式的视频编码设备的示意性构造的框图。
根据本发明的实施方式的视频编码设备100可以包括预测器110、减法器120、变换器/量化器130、编码器140、逆量化器和逆变换器150、加法器160、滤波器170和图片缓冲器180。
预测器110可以包括帧内预测器112和帧间预测器114。帧间预测器114可以包括运动估计器116和运动补偿器118。
输入视频可以按照帧或字段为单位输入到视频编码设备100,或者可以在被划分为具有NxN像素(N:大于或等于16的整数)的宏块之后输入到视频编码设备100。如果输入视频是诸如4Kx2K视频的高分辨率视频,则输入视频可以在被划分为具有NxN像素(N:大于16的整数)的扩展宏块之后被编码,从而实现视频压缩效率的提高。这里,具有NxN像素(N:大于16的整数)的宏块将被称作扩展宏块(EMB)。例如,扩展宏块可以包括诸如64x64和32x32的大小的正方形像素块。应当注意,下文描述的宏块可以包括扩展宏块和16x16像素块的普通宏块。
当利用具有NxN像素(N:大于16的整数)的扩展宏块进行视频压缩时,如果输入视频不是16像素的倍数,则可以在输入视频被填充为16像素的倍数之后进行视频压缩。
图2是用于描述在根据本发明的实施方式填充输入图像的情况下进行视频编码和解码的图。图3是图2中的当前要编码的扩展宏块的放大图。如果被填充为16像素的倍数的输入视频和当前要编码的扩展宏块定位为如图2所示,则可以仅利用属于被填充为16像素的倍数的输入视频的像素值对当前的扩展宏块进行编码。即,在图3中,在对当前扩展宏块进行编码时,可能不希望使用当前扩展宏块中的填充区域。此外,编码在比特流中的数据还可以仅使用属于被填充为16像素的倍数的输入视频的像素值。
如果输入视频是4:2:0格式的,则宏块包括具有NxN像素的亮度块和具有两个像素的色度块。通过这种扩展宏块对高分辨率视频的压缩效率的提高可以通过以下描述的特定实施方式来实现。
如图4所述,根据本发明的实施方式的扩展宏块可以在帧内预测编码或帧间预测编码之前被划分为子块。
即,如果具有NxN像素(N:大于或等于16的整数)被用于进行高分辨率视频编码,则扩展宏块可以在编码之前被划分为像素块,并且各个像素块可以在编码之前被划分为子块。此外,如图5所示,如果扩展宏块或者像素块的一边的长度大于16像素,则省略划分为具有诸如32x64,64x32,16x32或32x16的矩形形状的像素块,并且扩展宏块被划分为正方形像素块接着以16x16像素块为单位进行编码。图4和图5例示针对扩展宏块具有4x4的最小块大小的各个子块。例如,如图4所示,如果扩展宏块是64x64像素块,则64x64像素块、64x32像素块、32x64像素块和32x32像素块的子块可以属于宏块层0,并且32x32像素块、32x16像素块、16x32像素块和16x16像素块的子块可以属于宏块层1。此外,如图5所示,针对大于16x16像素块的子块,可以省略划分为诸如64x32像素块,32x64像素块,32x16像素块或16x32像素块的矩形子块。在该情况下,64x64像素块和32x32像素块的子块属于宏块层0,32x32像素块和16x16像素块的子块属于宏块层1。这里,宏块层K+1的子块仅在宏块层K(0≤K≤log2(N/4))的子块当中的最大子块被划分为四个块时才被使用。即,如同图5的情况,宏块层1的子块仅在宏块层0的64x64子块被划分为四个子块时才被使用,并且宏块层2的子块仅在宏块层1的32x32子块被划分为四个16x16子块时才被使用。
视频编码设备100在宏块在编码之前被划分为子块的情况下计算各个子块的编码效率,并且将具有最高编码效率的子块确定为最终的帧内预测块或帧间预测块。可以基于如式1所示的率失真优化(RDO)技术来测量编码效率。
RDcost=Distortion+λ·Bit 式1
在式1中,“Distortion”表示编码目标块与重构块之间的误差值,“λ”表示由量化参数确定的常数,并且“Bit”表示用于对编码目标块进行编码的比特的数量。
确定块模式可以包括针对所有类型的可用块确定各个块的最优预测模式(帧内预测模式和运动数据)的处理和确定块类型的另一处理。总体上,SAD(绝对差的和)或SATD(绝对变换差的和)用于减小(选择帧内预测模式或运动向量/基准图片时的)确定预测模式时的计算量,并且“Bit”中不考虑变换系数的比特。这可以总结并表述为式2。
RDcost=SATD(or SAD)+λ·Bit[block type,prediction info,CBP] 式2
在式2中,“SAD”表示原始视频与预测视频之间的差值的绝对值的和,“SATD”表示残留块的变换值的绝对值的和。
在确定块类型时,“RDcost”可以利用式3来严格计算。
RDcost=Distortion+λ·Bit[block type,prediction info,CBP,coeficient]式3
式3中的“Distortion”可以表示为式4。
式4
与式3比较,式2需要较小的计算量,但是在无运动区域或简单区域的情况下得到几乎类似的失真。因此,式2的使用造成难以确定最优模式。另一方面,与式2比较,式3可以计算更准确的编码效率,但是需要较大的计算量。因此,在本发明的实施方式中,式2或式3可以根据数据的优先(是否用作基准图片)或所希望的编码模式来选择性地使用。例如,式3可以用于确定帧内预测模式和确定块的运动向量/基准图片。然而,特殊的是,在确定B图片的16x16或更多像素块的预测方向(L0预测、L1预测和双向预测)和运动向量/基准图片的处理中,根据各个预测方向,可以利用式3确定运动向量和基准图片,并且可以利用式2确定预测方向。式3可以用于确定块类型。此外,如果子块的大小大于或等于预设的像素块的大小,则可以根据式3来确定编码成本,并且如果子块的大小小于预设的像素块的大小,则可以根据式2来确定编码成本。
例如,假设选择编码成本的标准被设置为16x16像素块。在该情况下,16x16像素块的可用编码模式可以包括使用16x16SKIP模式、16x16直接模式和L0预测模式(例如,运动信息和残留数据)的16x16块、使用L1预测模式(例如,运动信息和残留数据)的16x16块、使用L0和L1预测模式(例如,运动信息和残留数据)这两者的16x16块以及16x16帧内块。对于16x16或更多像素块可以使用精确的编码成本。此原因在于由于具有16x16或更多像素的大小的块类型主要对应于诸如背景的平坦区域,所以难以通过合适的方程式确定最优模式。因此,如果使用16x16或更多像素块,则可以在确定帧内宏块模式时根据块大小和模式来选择性使用编码成本。此外,在考虑编码成本计算式中所考虑的参数时,用于确定小块之间的模式的参数可以与用于确定大块之间的模式的参数不同。
根据作为最大可用层值的最大层值(MaxLayer)来确定最小块大小。例如,在NxN像素宏块的情况下,最小块大小被确定为N/(2MaxLayer)。
下文将参照相关附图来描述视频编码设备100的各个元件。
当进行视频编码时,视频编码设备100按照构成视频的图片为单位区分图片类型,并且根据图片类型不同地进行预测编码。例如,如果特定图片是帧内图片,则帧内图片中的宏块按照宏块类型全部是帧内宏块,并且针对各个宏块进行帧内预测编码。此外,如果特定图片是帧间图片,则帧间图片中的宏块按照宏块类型可以是帧间宏块或帧内宏块,并且可以根据宏块类型进行帧内预测编码或帧间预测编码。这种图片类型信息可以不经过编码或者在编码之后插入编码后数据的图片头或序列头中,并且稍后描述的视频解码设备可以从图片头或序列头中提取图片类型信息,以确定要解码的图片的图片类型。
下文中,将根据图片类型来描述根据本发明的实施方式的编码方法和通过该编码方法生成的编码数据。
图6是用于描述根据本发明的实施方式的帧内图片编码方法和要通过编码后数据发送的相关数据的例示图。
预测器110的帧内预测器112利用当前要编码的块(下文称作“当前块”)的相邻像素生成基准块,并且通过将该当前块与基准块相比较来确定帧内预测模式。这里,相邻像素是指与当前块相邻的块中的像素,并包括与当前块相邻的块中并且与当前块相邻的块中所包含的相邻像素。
假设扩展宏块针对亮度分量被划分为4x4像素的子块,以执行帧内预测。在该情况下,参照图7(例示根据亮度分量的帧内预测模式的九个预测方向和预测模式编号),从九个预测方向(根据预测模式0至8的预测方向)当中选择针对各个4x4像素当前块的最合适的预测方向,并且所选择的预测方向被用于对当前块进行帧内预测编码。预测模式2表示要从八个相邻像素计算的平均值,该八个相邻像素包括当前块的左侧块的四个相邻像素和当前块的上侧块的四个相邻像素,以预测当前块的所有4x4像素。
在位于图片的左侧边界的块和位于图片的上侧边界的块的情况下,左侧块和上侧块位于图片的外部。在该情况下,由于不能指代偏离图片边界的块,所以预测方向的使用被限制。例如,指代上级块的像素的预测模式0、3、4、5、6和7的预测方向不能用在图片的最上级块中。尤其是,在DC模式的情况下,仅参照没有偏离图片边界的像素来预测当前块。如果与当前块相邻的左侧块和上侧块不可用,则将值128用作DC值。
当前块的所选择的预测方向与当前块的左侧块和上侧块中的具有较小预测模式编号的一个的预测方向进行比较。如果该两个预测方向相同,则对指示从相邻块估计的当前块的预测方向与当前块的所选择的预测方向是否相同的预测模式标记(通过例如1比特来表示)进行编码,以指示所选择的预测方向与所估计的预测方向相同。
如果从相邻块估计的当前块的预测方向与当前块的所选择的预测方向不同,则预测模式标记被编码,以指示所选择的预测方向不同于所估计的预测方向。接着,对指示九个预测模式中除与当前块的所估计的预测方向相对应的预测模式以外的剩余八个预测模式中的哪一个是当前块的所选择的预测方向的预测模式信息(通过例如3比特来表示)进行编码。
假设扩展宏块针对亮度分量被划分为8x8像素的子块,以执行帧内预测。在该情况下,如同4x4像素为单位的帧内预测,针对亮度分量以8x8像素为单位的帧内预测使用如图7所示的九个预测方向。除了块大小的差异(4x4像素和8x8像素)以外,计算预测像素的方法与以4x4像素为单位的帧内预测编码的情况相同。
假设扩展宏块针对亮度分量被划分为16x16像素的子块,以执行帧内预测。在该情况下,在图8所示的四个预测方向当中,选择提供最高编码效率的预测方向。根据所选择的预测方向,根据包括16x16像素的当前块的上侧的16x16像素块中的16个相邻像素和16x16像素的当前块的左侧的16x16像素块中的16个相邻像素的32个相邻像素对16x16像素块进行预测编码。
参照图8,在与预测模式3对应的平面预测的情况下,在预测之前按对角方向对当前块的上侧块中的相邻像素和当前块的左侧块中的相邻像素进行插值。在与预测模式2对应的平均值预测的情况下,通过当前块的所有16x16像素来预测当前块的上侧块中的16个相邻像素和当前块的左侧块中的16个相邻像素的平均值。这里,如果当前块位于图片的最上位置,则当前块的左侧块中的16个相邻像素的平均值被用作预测值。如果当前块位于图片中的最左位置,则当前块的上侧块中的16个相邻像素的平均值被用作预测值。如果当前块的左侧块和上侧块不可用,则值128被用作预测值。16x16像素块的预测模式不被预测编码,并且选择的预测模式的编号被简单地编码为预测模式信息(通过例如2比特来表示)。
如果除上述4x4像素块、8x8像素块或16x16像素块以外,扩展宏块被划分为子块以执行帧内预测,则可以通过如图9所示的三个预测方向和预测模式编号来表示亮度分量的帧内预测模式。如果除4x4像素块、8x8像素块或16x16像素块以外,扩展宏块被划分为剩余子块以执行帧内预测,并且如果相关子块的大小是mxn,则根据从图9所示的三个预测方向当中选择的提供最高编码效率的预测方向,从当前块的上侧块中的m个相邻像素和当前块的左侧块中的n个相邻像素对mxn像素块进行帧内预测编码。
在与预测模式2对应的平均值预测的情况下,当前块的上侧块中的m个相邻像素和当前块的左侧块中的n个相邻像素的平均值被用来对当前块进行预测编码。这里,如果当前块位于图片中的最上位置,则当前块的左侧块中的n个相邻像素的平均值被用作当前块的预测值。如果当前块位于图片中的最左位置,则当前块的上侧块中的m个相邻像素的平均值被用作当前块的预测值。如果当前块的左侧块和上侧块是不可用的,则值128被用作当前块的预测值。
如果当前块的所选择的预测方向与当前块的左侧块和上侧块中的具有较小预测模式编码的一个的预测方向相同,则将指示从当前块的相邻块估计的当前块的预测方向与当前块的所选择的预测方向是否相同的预测模式标记(通过例如1比特来表示)编码为指示当前块的所选择的预测方向与当前块的所估计的预测方向相同的信息。由于mxn像素块的可用预测模式编号是0至2,所以如果利用当前块的左侧块和上侧块估计的当前块的预测模式编号大于或等于3,则当前块的预测方向可以使用预测模式编号2(DC模式)。例如,从相邻块估计的当前块的预测模式编号是4,当前块的预测模式编号被设置为2,以对指示当前块的所估计的预测方向是否与当前块的所选择的预测方向相同的预测模式标记(通过例如1比特来表示)进行编码。
这里,扩展宏块的帧内预测可以按照16x16或更小像素块为单位,即,按照4x4像素块、8x8像素块、16x16像素块或mxn像素块(这里,m≠n,并且m和n是小于16的数)。
可以按照N/2 x N/2像素块为单位执行色度分量的帧内预测。如图10所示,可以使用诸如平均值预测、水平预测、垂直预测和平面预测的四个预测方向。可以按照8x8像素块为单位执行色度分量的帧内预测。
图10例示根据本发明的实施方式与色度分量的四个帧内预测模式相对应的预测方向和预测模式编号。参照图10,除了块大小(16x16像素和8x8像素)的差异以外,针对与预测模式3相对应的平面预测的预测值计算方法和与预测模式0相对应的平均值预测与按照16x16像素为单位的亮度分量的帧内预测编码方法的情况相同。可以独立于亮度信号的预测模式来选择色度信号的预测模式。存在两种类型的色度信号,即,U和V,但是预测方法是相同的。色度信号的预测模式是针对U和V各一个。各个色度信号的一个预测模式不是预测编码的,并且选择的预测模式编号简单地利用2比特来表示。
再次参照图6,按照上文参照图7和图10所述的相同的方式,帧内预测器112利用通过针对4x4像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式、通过针对8x8像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式、通过针对16x16像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式和通过针对mⅹn像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式当中的由率失真优化确定的一个帧内预测模式,来确定当前块的帧内预测模式。这里使用的率失真优化方程可以表示为式3。当按照这种方法确定帧内预测模式时,还相应地确定了子块的大小。
根据如上所述确定的帧内预测模式,帧内预测器112通过预测当前块生成预测块。减法器120通过从当前块中减去预测块来生成残留块。变换器/量化器130通过对残留块进行变换和量化来生成量化变换系数。编码器140通过对所述量化变换系数进行熵编码来生成编码后数据。
变换器/量化器130可以对选择了以8x8,8x16或16x8像素为单位的帧内预测的当前块的残留块进行4x4变换,并且对选择了以8x8,8x16或16x8像素为单位的帧内预测的当前块的残留块进行8x8变换。此外,变换器/量化器130可以对选择了以16x16或更多像素为单位的帧内预测的当前块的残留块进行16x16变换。在该情况下,由于帧内预测的单位和子块的大小相同,所以可以根据子块的块大小来确定变换类型。
这里,进行了16x16变换的具有16x16像素的残留块(下文称为“16x16像素残留块”)被再次划分为十六个具有4x4像素的残留块(下文称为“4x4像素残留块”),并且可以对4x4像素残留块进行4x4变换。此后,具有4x4变换系数的变换块(下文称作“DC分量块”)仅由通过对各个4x4像素残留块进行4x4变换而生成的各个具有4x4像素的变换块(下文称为“4x4像素变换块”)的十六个DC分量构成,并且再次对DC分量块进行4x4变换。这里,用于对DC分量块进行变换的变换类型可以与用于对残留块进行变换的变换类型不同。即,可以对4x4像素残留块进行4x4离散余弦变换(DCT),并且可以对DC分量块进行4x4哈达玛变换。例如,选择了以16x32像素为单位的帧内预测的当前块的16x32像素残留块被划分为两个16x16像素残留块,并且各个16x16像素残留块以4x4像素为单位进行4x4变换。此后,DC分量块由16x16像素残留块中的各个4x4变换块的DC分量构成,并且对DC分量块再次进行4x4变换。
假设作为32x32像素块的扩展宏块位于整个被填充为16像素的倍数的图像和如图2所示填充的区域上,并且扩展宏块是帧内模式。在该情况下,如图3所示,仅针对实际图像区域(16x16像素块)确定编码模式,并且对相关区域的分割类型、帧内预测模式、CBP和变换系数进行编码。
图11是例示根据本发明的实施方式的64x64像素扩展宏块的子块的块类型的例示图。
假设扩展宏块是64x64像素块,并且在如图11所示的帧内预测之后确定最优块类型。在该情况下,对块0至7进行4x4变换,对块8至12进行8x8变换,对16x16像素块中的块13至18进行4x4变换,并且对由各个16x16像素块中的各个4x4变换块的DC分量构成的DC分量块再次进行变换。
在色度信号的情况下,如同以16x16或更多像素为单位的帧内预测的情况,进行4x4变换,接着再次对DC分量块进行4x4变换。然而,色度分量的宏块的残留块被划分为具有8x8像素的残留块(下文称为“8x8像素残留块”),并且对各个8x8像素残留块中的四个4x4像素残留块进行4x4变换。具有2x2变换系数的DC分量块由8x8像素残留块中的四个4x4像素残留块的DC分量构成,并且对DC分量块进行2x2变换。在该情况下,同样地,对8x8像素残留块的4x4变换类型与对DC分量块的2x2变换类型可以不同。
取代针对扩展块确定优化块类型并且接着根据上述变换类型进行变换,可以根据以16x16像素块为单位的帧内预测中使用的子块的大小来选择并使用高效率变换类型。即,变换器/量化器130可以按照16x16像素块为单位进行一个或更多个变换和量化,选择最高效率的变换类型,并且根据所选择的变换类型生成量化变换系数。在该情况下,编码器140可以通过生成用于识别针对各个块选择的变换的类型的变换类型并且对其进行编码来生成变换类型数据。变换类型数据可以被包括在编码数据中。然而,不同的变换不能用在16x16像素块中。
更具体地说,如果16x16像素块被划分为8x8像素块,并且如果四个8x8像素块中的一个或更多个被划分为小于8x8像素块的子块,则可以对16x16像素块仅进行4x4变换。在该情况下,不对变换类型进行编码。此外,如果16x16像素块被划分为四个8x8像素块,则可以对16x16像素块进行4x4变换和8x8变换,以选择要求最低编码成本的变换类型,并且可以对指示选择的变换的类型的变换类型(其可以通过例如1比特来表示)进行编码。此外,如果16x16像素块被划分为两个8x16像素子块,则可以对16x16像素子块的残留块进行4x4变换、8x8变换和8x16变换,以选择要求最低编码成本的变换类型,并且如果16x16像素块被划分为两个16x8像素子块,则可以对16x16像素子块的残留块进行4x4变换、8x8变换和16x8变换,以选择要求最低编码成本的变换类型,并且可以对指示选择的变换的类型的变换类型(其可以通过例如1比特或2比特来表示)进行编码。可以对16x16或更多的像素块的残留块进行4x4变换、8x8变换和16x16变换,以选择要求最低编码成本的变换类型,并且可以对指示选择的变换的类型的变换类型(其可以通过例如1比特或2比特来表示)进行编码。
图12是用于描述根据本发明的实施方式的帧间图片编码方法和要通过编码数据发送的相关数据的例示图。
在P图片或P片段段的情况下,图4中的所有块类型可以用于运动估计,并且可以按照16x16像素块为单位在扩展宏块中选择帧内模式或帧间模式。即,帧内模式和帧间模式这两者可以用在P图片或P片段段的扩展宏块中。
在B图片或B片段的情况下,可以选择多达两个基准图片,其分别称为L0预测和L1预测。两个基准图片执行不同的功能。总体上,L0预测(列表0预测,主要用作前向预测)用作前向预测,L1预测(列表1预测,主要用作反向预测)用作反向预测。稍后将详细描述P图片和B图片的帧间图片编码方法。
如果扩展宏块是32x32像素块,则可以通过扩展宏块标记(extended_mb_flag)指示是按照32x32像素块为单位还是按照16x16像素块为单位进行编码。例如,如果扩展宏块标记是1,则可以指示按照32x32像素块为单位进行编码,并且如果扩展宏块标记是0,则可以指示按照16x16像素块为单位进行编码。如果扩展宏块标记是0,则扩展宏块可以被划分为四个16x16像素块,使得可以按照16x16像素块为单位确定帧内模式或帧间模式。此外,各个16x16像素块可以在编码之前被划分为较小的子块。
再次参照图1,预测器110的帧间预测器114的运动估计器116检测与作为当前图片中的当前编码目标的当前块最类似的块,即,基准图片中的基准块,并且输出代表基准块相对于当前块的相对位置的运动向量(MV)。该处理被称为运动估计。运动估计通过将宏块中的子块与图片缓冲器180中的一个或更多个基准图片进行比较来生成运动向量。8x8像素块可以使用不同的基准图片,但是8x8像素块中的子块使用相同的基准图片。
运动向量通过编码器140进行编码,并被包括在编码后数据中。编码器140使用当前块的相邻块的运动向量的平均值作为预测运动向量(PMV)。编码器140通过仅对作为预测运动向量与当前块的运动向量之间的差向量的差运动向量(DMV)进行编码来生成运动信息。这里,除了差运动向量以外,编码器140还可以对基准图片索引进行编码。即,运动信息可以包括差运动向量和基准图片索引。编码器140可以通过对运动信息进行编码来生成运动信息数据,并且将运动信息数据包括在编码数据中。
图13是用于描述根据本发明的实施方式确定预测运动向量的处理的例示图。
图13A例示在当前块和相邻块全部是64x64像素块时用于确定当前块的运动向量和预测运动向量的相邻块的运动向量。如果当前块和相邻块全部具有相同的大小,则相邻块的运动向量的均值可以如同以上方法一样确定为预测运动向量。
图13B例示在当前块和相邻块具有不同大小时用于确定当前块的运动向量和预测运动向量的相邻块的运动向量。如果当前块和相邻块具有不同大小,则必须选择这些相邻块中的一个,使用它来确定预测运动向量。
在本发明的实施方式中,如图13B所示,如果位于当前块的左侧的相邻块被划分为多个块,则它们当中的位于最上位置和最右位置的块A的运动向量mvA被用于估计。如果位于当前块的上侧的相邻块被划分为多个块,则它们当中的位于最下位置和最左位置的块B的运动向量mvB被用于估计。如果位于当前块的右上侧的相邻块被划分为多个块,则它们当中的位于最下位置和最左位置的块C的运动向量mvC被用于估计。然而,作为例外情况,如果块B和块C都位于图片的边界外部,则由于不能利用块B和块C确定预测运动向量,所以仅利用块A确定预测运动向量。此外,如果块A、B和C中的仅一个具有与当前块相同的基准图片编号,则相关块的运动向量被用于确定预测运动向量。
图14是用于描述根据本发明的实施方式确定8x16像素块和16x8像素块的预测运动向量的处理的例示图。
此外,如果当前块是8x16像素块或16x8像素块,则不使用平均值。即,如果当前块是8x16像素块,则作为左侧相邻块的块A和作为右侧相邻块的块C被用来确定预测运动向量。如果当前块是16x8像素块,则作为上侧相邻块的块B和作为下侧相邻块的块A被用来确定预测运动向量。
此外,在本发明的实施方式中,针对作为16x16或更多像素块的扩展宏块使用跳过模式。如果作为16x16或更多像素块的扩展宏块是SKIP宏块,则预测运动向量被用来进行运动估计和补偿。然而,如果用来确定预测运动向量的一个或更多个运动向量是0,则预测运动向量被确定为0。例如,如果相邻块A、B和C的运动向量分别为mvA(0,10),mvB(1,10)和mvC(2,10),则当前块的预测运动向量是(0,10)。
假设作为32x32像素块的扩展宏块位于整个被填充为16像素的倍数的图像和如图2所示填充的区域上,并且扩展宏块是跳过模式。在该情况下,如图3所示,实际图像块(16x16像素块)的左侧块和上侧块用于获得预测运动向量,并且预测运动向量用于对实际图像块进行运动预测和补偿。如果作为当前编码目标的扩展宏块的最优编码模式是SKIP模式,则skip32_flag被编码,并且下一个扩展宏块被编码。
再次参照图1,减法器120通过从当前块中减去由在运动估计器116中估计的当前块运动向量指示的基准块来生成残留块。变换器/量化器130对由减法器120生成的残留块进行变换和量化。编码器140通过对量化变换系数进行熵编码来生成编码数据。这里,变换器/量化器130根据当前块的大小进行一个或更多个变换和量化,选择最高效率变换类型,并且根据所选择的变换类型生成量化变换系数。编码器140通过生成用于识别针对各个块选择的变换的类型的变换类型并对其进行编码来生成变换类型数据。变换类型数据可以被包括在编码数据中。然而,不同的变换不能用于16x16像素块。
如同帧内预测快中描述的变换方法,如果16x16像素子块被划分为8x8像素子块,并且如果四个8x8像素子块中的一个或更多个被划分为小于8x8像素块的子块,则对16x16像素子块的残留块仅进行4x4变换。在该情况下,不对变换类型进行编码。如果16x16像素子块被划分为四个8x8像素子块,则对16x16像素子块的残留块进行4x4变换和8x8变换,以选择要求低编码成本的变换类型,并且对指示选择的变换的类型的变换类型(其可以通过例如1比特来表示)进行编码。
如果16x16像素子块被划分为两个8x16像素子块,则对16x16像素子块的残留块进行4x4变换、8x8变换和8x16变换,以选择要求最低编码成本的变换类型,并且如果16x16像素子块被划分为两个16x8像素子块,则对16x16像素子块的残留块进行4x4变换、8x8变换和16x8变换,以选择要求最低编码成本的变换类型,并且对指示选择的变换的类型的变换类型(其可以通过例如1比特或2比特来表示)进行编码。对16x16或更多像素子块进行4x4变换、8x8变换和16x16变换,以选择要求最低编码成本的变换类型,并且对指示选择的变换的类型的变换类型(其可以通过例如1比特或2比特来表示)进行编码。
如果如同16x16像素块被划分为四个8x8像素块一样存在两个可选择的变换类型,则可以如表1所示构造用来进行变换类型编码的编码比特。
[表1]
变换类型 编码比特
4x4变换 0
8x8变换 1
此外,如果16x16像素块被划分为两个8x16像素块或者两个16x8像素块,或者如果如同16x16或更多像素子块的情况一样存在三个可选择的变换类型,则可以如表2所示构造用来进行变换类型编码的编码比特。
[表2]
变换类型 编码比特
4x4变换 0
8x8变换 10
8x16、16x8或16x16变换 11
图15是例示根据本发明的实施方式的根据子块大小的可用变换类型和变换类型编码单元的例示图。
图15例示了扩展宏块具有64x64像素并被划分为各种大小的子块的情况。如上所述,由于第一16x16像素块1510被划分为小于8x8像素块的4x4像素子块,所以可用变换仅为4x4变换,并且不对变换类型进行编码。由于第二16x16像素块1520被划分为四个8x8像素子块,所以从4x4变换和8x8变换当中选择需要较低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。由于第三16x16像素块1530被划分为两个8x16像素子块,所以从4x4变换、8x8变换和8x16变换当中选择需要最低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。由于第四16x16像素块1540被划分为两个16x8像素子块,所以从4x4变换、8x8变换和16x8变换当中选择需要最低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。由于第五16x32像素块1550、第六16x32像素块1560、第七32x32像素块1570和第八32x32像素块1580全部大于16x16像素块,所以从4x4变换、8x8变换和16x16变换当中选择需要最低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。针对大于16x16像素的块,可以按照16x16像素块为单位选择变换类型。在该情况下,针对包括在32x32像素块或大于16x16像素块的像素块中并具有非零编码块图案的16x16像素块,对多个变换类型进行编码。
再次参照图1,由变换器/量化器130变换/量化的残留块被逆变换器/逆量化器150逆变换/逆量化,以重构残留块。加法器160通过将所重构的残留块与由预测器110预测的预测块相加来重构当前块。
滤波器170利用解块滤波器对通过积累由加法器160重构的当前块生成的图片进行滤波。经滤波的图片被存储在图片缓冲器180中,并被用作针对下一图片的基准图片。
图16是例示根据本发明的实施方式要解块滤波的块的边界的例示图。
图16A至图16E分别例示使用4x4变换、8x8变换、8x16变换、16x8变换和16x16变换的16x16像素块中要进行解块滤波的块的边界。图16A所示的使用4x4变换的16x16像素块在各个4x4像素块的左侧块和上侧块边界处进行解块滤波。图16B所示的使用8x8变换的16x16像素块在各个8x8像素块的左侧块和上侧块边界处进行解块滤波。图16C所示的使用8x16变换的16x16像素块在各个8x16像素块的左侧块和上侧块边界处进行解块滤波。图16D所示的使用16x8变换的16x16像素块在各个16x8像素块的左侧块和上侧块边界处进行解块滤波。图16E所示的使用16x16变换的16x16像素块在16x16像素块的左侧块和上侧块边界处进行解块滤波。
图17是例示根据本发明的实施方式的帧内图片的句法的例示图。
如果扩展宏块的子块的类型包括如图4所示的矩形类型(例如,32x16像素块和16x32像素块),则视频编码设备100应当将子块类型信息发送到视频解码设备。因此,帧内图片的编码数据可以包括诸如分割类型、帧内预测模式、CBPX标记/CBP(编码块图案X-flag/编码块图案)和变换系数的字段。视频编码设备100的编码器140通过对分割类型信息、帧内预测模式信息、CBPX标记/CBP信息和变换系数信息进行编码并将其分配给各个字段来生成编码后数据。
然而,图17所示的针对帧内图片的编码数据的句法仅是示例性的,并且不必构造为如图17所示。即,应当注意的是,针对帧内图片的编码数据的全部或者一部分句法的序列可以与图17所示不同地改变,并且可以省略一部分句法。
另一方面,如果扩展宏块被划分为如图5所示的正方形类型的像素块,接着按照16x16像素块为单位进行帧内预测编码,则可以省略CBPX标记的编码,并且可以对量化参数的递增/递减信息(Δpq)进行编码。这里,可以按照扩展宏块为单位对量化参数的递增/递减信息进行编码,并且可以按照16x16像素块为单位对CBP信息进行编码。
在图17中,分割类型字段被分配有作为扩展宏块的分割类型信息的编码后数据的分割类型数据,其表示宏块的子块的类型。分割类型信息可以利用图18所示的各个分割类型的编号来生成。
参照图18,如果宏块层K的N/2K x N/2K像素块没有被再次划分,则分割类型编号0被分配给宏块层K的N/2K x N/2K像素块。如果宏块层K的N/2K x N/2K像素块被划分为两个N/2K x N/2K+1像素块,则分割类型编号1被分配给宏块层K的N/2K x N/2K像素块。如果宏块层K的N/2K x N/2K像素块被划分为两个N/2K+1x N/2K像素块,则分割类型编号2被分配给宏块层K的N/2K x N/2K像素块。如果宏块层K的N/2K x N/2K像素块被划分为四个N/2K+1x N/2K +1像素块,则分割类型编号3被分配给宏块层K的N/2K x N/2K像素块。标记在宏块层K的N/2Kx N/2K像素块中的各个子块上的编号0、1、2和3是用于识别各个子块的分割编号。
尽管图18例示了按照编号的升序分配分割类型编号,但是图18中的分割类型编号仅是示例性的,分割类型编号可以按照编号的降序分配。此外,各个分割类型编号可以根据各个分割类型的出现概率来分配,并且分割类型编号可以自适应地改变。此外,各个划分块可以被划分为较小的块。例如,如果32x32像素块按照分割类型编号3被划分为四个16x16像素块,则各个16x16像素块可以利用图18的分割类型编号划分为较小的子块。此外,如果16x16像素子块被划分为较小的块,则可以使用上级像素块的分割类型编号(即,与32x32像素块的分割类型编号不同的分割类型编号)。如果扩展宏块在编码之前按照16x16像素块为单位被划分,则可以免除对大于16x16像素块的子块(例如,64x32像素块、32x64像素块、16x32像素块或32x16像素块)的分割类型编号的编码。
图19是用于描述根据本发明的实施方式将扩展宏块划分为各种大小的子块的情况下的分割类型编号编码序列的图。
图19例示了扩展宏块是64x64像素块并且分割层的最大编号是4的情况。根据本发明的实施方式,当扩展宏块被划分为如图19所示时,各个分割层的分割类型编号可以根据分割类型编号编码序列来顺序地编码,以对宏块的分割类型信息进行编码。
图20是顺序地例示如图19所示的基于逐个分隔层划分宏块的处理的例示图。参照图20,在宏块层0(L0)中,64x64像素子块被划分为四个32x32像素块。在层1(L1)中,L1-P0(宏块层1的分割编号0)子块和L1-P3(宏块层1的分割编号3)子块被再次划分为四个16x16像素子块,L1-P1(宏块层1的分割编号1)子块和L1-P2(宏块层1的分割编号2)子块分别被再次划分为16x32像素子块和32x16像素子块。由于L1-P1和L1-P2子块在被划分为两个子块之后没有被再次划分,所以不例示逐层的分割编号。在层2(L2)中,L2-P0(宏块层2的分割编号0)子块被再次划分为四个8x8像素子块,L2-P3(宏块层2的分割编号3)子块被再次划分为两个16x8像素子块。在宏块层3(L3)中,L3-P0(宏块层3的分割编号0)子块和L3-P1(宏块层3的分割编号1)子块分别被再次划分为四个4x4像素子块。这里,如果扩展宏块按照16x16像素块为单位进行编码,则取代被分别划分为16x32像素子块和32x16像素子块,如同L1-P3,L1-P1块和L1-P2块按照四个16x16像素块为单位进行编码。
图21是用于描述顺序地对宏块的逐层分割类型编号进行编码的处理的例示图。
当图19所示的宏块的分割类型信息被编码时,可以如图21所示进行编码。在图19中,正方形“□”中的数字表示各个子块的分割类型编号编码的顺序。当扩展宏块的逐层分割类型编号根据分割类型编号编码序列顺序地编码时,逐层分割类型编号可以根据图21所示的序列顺序地编码。
首先,由于宏块层0的64x64像素子块L0-P0被划分为四个32x32像素子块,所以分割类型编号3被编码。由于64x64像素子块中的四个32x32像素子块当中的第一32x32像素子块L1-P0也被划分为四个16x16像素子块,所以分割类型编号3被编码。由于层1的第一32x32像素子块中的四个16x16像素子块当中的第一16x16像素子块L2-P0也被划分为四个8x8像素子块,所以分割类型编号3被编码。由于相关像素子块L2-P0中的四个8x8像素块L3-P0,L3-P1,L3-P2和L3-P3没有被再次划分为较小的子块,所以分割类型编号{3,3,0,0}分别被编码。由于层3的子块不能被划分为较小的子块,所以层3的子块的分割类型编号没有被编码。
由于宏块层3中的子块的全部分割类型编号都已经被编码,所以宏块层2的第二16x16像素子块L2-P1和第三16x16像素子块L2-P2的分割类型编号被编码。这里,由于它们没有被再次划分为较小的块,所以分割类型编号0被编码。由于第四16x16像素子块L2-P3被划分为16x8像素子块,但是分割类型编号不是3,所以仅分割类型编号1被编码。由于层2中的四个子块的所有分割类型编号都已经被编码,所以层1的第二32x32像素子块L1-P1的分割类型编号被编码。这里,由于层1的第二32x32像素子块L1-P1已经被划分为16x32像素子块,并且各个划分子块没有再被划分为较小的块,所以分割类型编号2被编码。这样,当对宏块层1的第三32x32像素子块L1-P2进行分割类型编号的编码时,宏块层1的第四32x32像素子块L1-P3和它们的下属的四个16x16像素子块L2-P0,L2-P1,L2-P2和L2-P3(顺序地,为{1,3,0,0,0,0})被编码。
当图19所示的宏块的分割类型信息根据上述编码方法被编码时,分割类型编号{3,3,3,3,3,0,0,0,0,1,2,1,3,0,0,0,0}如图21所示进行编码。这里,可以利用诸如二进制算术编码或哈夫曼编码的无损压缩编码将分割类型编号编码为二进制比特串。
例如,如果使用二进制算术编码,则各个分割类型编号可以根据当前要编码的分割类型编号的层编号来使用不同的二进制值。如果层编号小于或等于log2(n/16),则表3可以用于编码,并且如果层编号大于log2(n/16),则表4可以用于编码。例如,参照图3,由于图11的子块L1-P0的分割类型编号可以通过二进制数字“01”来表示,所以可以通过对二进制数字“0”和“1”进行算术编码来对分割类型编号3进行编码。参照图4,由于属于子块L2-P0的子块L3-P2的分割类型编号可以通过二进制数字“1”来表示,所以可以通过对二进制数字“1”进行算术编码来对分割类型编号3进行编码。
[表3]
[表4]
再次参照图17,当帧内图片的宏块的分割类型信息被编码并且分割类型数据被分配给分割类型字段时,通过对与帧内预测模式有关的信息进行编码而获得的帧内预测模式数据被分配给帧内预测模式字段。
图22是例示根据本发明的实施方式的帧内预测模式的编码序列的例示图。
类似于图19,图22例示了扩展宏块是64x64像素块并且分割层的最大编号是4的情况。当扩展宏块被划分为如图22所示时,扩展宏块的各个子块的帧内预测模式可以根据图22所示的帧内预测模式的编码序列顺序地编码,以生成帧内预测模式数据。即,各个子块中标记的数字表示用于进行帧内预测模式编码的帧内预测模式的编码序列。如果64x64像素扩展宏块按照16x16像素块为单位进行编码,则与第十五块和第十六块或者第十七块和第十八块对应的32x32像素块可以在编码之前按照与第十九到第二十二块类似的四个像素块为单位进行划分,而不是被划分为16x32像素块或32x16像素块。
如果扩展宏块的亮度分量的子块不是16x16像素块,则指示从相邻块估计的当前块的预测方向与选择的当前块的预测方向是否相同的预测模式标记被编码。如果预测模式标记指示作为当前编码目标的块的预测方向与从相邻块估计的当前块的预测方向不相同,则指示当前块的预测方向与从相邻块估计的当前块的预测方向不同的预测模式标记以及指示根据相关子块的大小的多个帧内预测方向当中除了从相邻块估计的当前块的预测方向以外的剩余预测方向中的哪一个对应于预测方向的预测模式的预测模式编号被编码为相关块的帧内预测模式,以生成帧内预测模式数据。这里,如果扩展宏块被划分为除了4x4像素块、8x8像素块或16x16像素块以外的子块以执行帧内预测,并且如果利用当前块的左侧块和上侧块估计的当前块的预测模式编号大于或等于3,则当前块的预测方向可以使用图9的预测模式编号2(DC模式)。
如果从相邻块估计的当前块的预测方向与当前块的预测方向相同,则指示从相邻块估计的当前块的预测方向与当前块的预测方向相同的预测模式标记被编码为帧内预测模式,以生成帧内预测模式数据。如果亮度分量的子块是16x16像素块,则色度分量的宏块的预测模式将相关块的预测模式编号本身编码为帧内预测模式,以生成帧内预测模式数据。按照这种方式,通过按照图22所示的序列进行编码生成的宏块的各个子块的帧内预测模式数据被分配给如图17所示的帧内预测模式字段。
图23是用于描述根据本发明的实施方式对宏块的帧内预测模式进行编码的处理的示例的例示图。
图23A例示当前要编码的当前宏块是64x64像素块并被划分为各种大小的子块并且形状如图所示的情况;当前宏块的左侧相邻块是按照64x64像素为单元帧内预测的,因而左侧相邻块的预测模式编号是0(垂直模式);并且当前宏块的上侧相邻块是按照64x64像素为单位帧内预测的,因而左侧相邻块的预测模式编号是1(水平模式)。当前扩展宏块的各个子块中标记的数字表示各个子块的预测模式编号。
当前扩展宏块的第一4x4像素子块的预测模式编号是2(DC模式),并且利用左侧相邻块和上侧相邻块估计的相关子块的预测模式编号是0。即,由于左侧相邻块的预测模式编号0小于上侧相邻块的预测模式编号1,所以第一4x4像素子块的预测模式编号被估计为0。由于第一4x4像素子块的预测模式不同于从相邻块估计的相关子块的预测模式,所以指示相关子块的预测方向与从相邻块估计的相关子块的预测模式不同的预测模式标记以及作为相关子块的预测模式编号的预测模式编号2被编码为帧内预测模式。第二4x4像素子块的预测模式编号是1,从相关块估计的相关子块的预测模式编号是1。因而,由于相关子块的预测方向与从相邻块估计的相关子块的预测方向相同,所以仅指示这些预测方向相同的预测模式标记被编码为相关子块的帧内预测模式。
接着,下一个子块的帧内预测模式根据图22所示的帧内预测模式的编码序列被编码。在该情况下,第三4x4像素子块的预测模式编号是0,并且从相邻块估计的相关子块的预测模式编号是0。因而,由于相关子块的预测方向与从相邻块估计的相关子块的预测方向相同,所以仅指示这些预测方向相同的预测模式标记被编码为相关子块的帧内预测模式。在第十七16x16像素子块的情况下,预测标记不被编码,并且相关子块的预测模式编号1被编码为相关子块的帧内预测模式。图23例示了第十五块和第十六块被划分为16x32像素块并被编码为帧内预测模式;并且第十七块和第十八块被划分为32x16像素块并被编码为帧内预测模式的情况。然而,如果按照16x16像素块为单元对扩展宏块进行帧内预测编码,则针对大于16x16像素块的子块省略诸如第十五块和第十六块或者第十七块和第十八块的矩形像素块的划分。
类似于图23A,图23B例示了在当前宏块的帧内预测模式被编码时被包括在帧内预测模式字段中的帧内预测模式数据。如这里所示,针对第一4x4子块对预测模式标记和预测模式编号进行编码,针对第二、第三和第四4x4子块,仅对预测模式标记进行编码。
当扩展宏块是帧内预测编码的时,如果其被划分为大于16x16像素块的矩形子块(例如,16x32和32x16)以进行帧内预测编码,则考虑子块的大小的编码块图案标记(CBPX_flag:编码块图案X_flag,下文称作“CBPX标记”)和编码块图案(CBP)可以被编码并分配给CBPX_flag/CBP字段。分配给CBPX_flag/CBP字段的CBP数据指示非零量化变换系数是否被包括在宏块的子块中。然而,如图5所示,如果扩展宏块按照16x16像素块为单元进行划分,以进行帧内预测编码,则可以省略块图案标记的编码,并且可以对量化参数的的递增/递减信息(Δpq)进行编码。这里,可以按照扩展宏块为单位对量化参数的递增/递减信息进行编码,并且可以按照16x16像素块为单元对CBP数据进行编码。
图24是用于描述根据本发明的实施方式针对帧内宏块对CBPX_flag和CBP进行编码的处理的例示图。
图24例示了在扩展宏块是64x64像素块的情况下对CBPX_flag和CBP进行编码的处理。视频编码设备100的编码器140确定扩展宏块的子块的大小是否为64x64,64x32和32x64中的一个(S2410)。如果扩展宏块的子块的大小不是64x64,64x32和32x64中的一个,则编码器140确定子块的大小是否是32x32,32x16和16x32中的一个(S2420)。这里,如果扩展宏块按照16x16像素为单元进行划分,以进行帧内预测编码,则编码器140可以在步骤S2410中确定子块的大小是否为64x64像素块,即,是否按照扩展宏块为单位进行帧内预测编码。如果子块的大小不是64x64像素块,则编码器140可以在步骤S2420中确定子块的大小是否为32x32像素块。如果在步骤S2420中确定子块的大小是32x32,32x16和16x32中的一个,或者是32x32像素块,则编码器140确定子块中是否存在非零变换系数(S2430)。如果子块中存在非零变换系数,则编码器140对指示子块中存在非零变换系数的CBP32标记(其可以通过例如诸如“1”的1比特来表示)进行编码(S2440),并且按照16x16像素块为单位对子块中的CBP进行编码(S2450)。如果子块中不存在非零变换系数,则编码器140对指示子块中不存在非零变换系数的CBP32标记(其可以通过例如诸如“0”的1比特来表示)进行编码(S2460)。
这里,CBP64标记指示64x64像素块中是否存在非零编码系数。类似地,CBP32标记指示32x32像素块中是否存在非零编码系数。如果亮度分量的残留块不具有非零变换系数,则由于不必发送变换类型,所以这种CBPX标记(X:32,64等)可以用来指示亮度分量是否具有非零变换系数。CBP按照16x16像素块为单位进行编码。在该情况下,每8x8像素块使用1比特,以指示16x16像素块中是否每8x8像素块存在非零变换系数。针对色度分量,1比特用来指示两个2x2色度分量DC块中是否存在非零变换系数,并且1比特用来指示两个8x8色度分量AC块中是否存在非零变换系数。
另一方面,如果在步骤S2420中确定子块的大小既不是32x32,32x16和16x32中的一个也不是32x32像素块,则编码器140进行到步骤S2450,并且对CBP进行编码。这里,如果子块的大小既不是32x32,32x16和16x32中的一个也不是16x32像素块,则编码器140可以确定子块的大小是否为16x16,16x8或8x16像素块。如果子块的大小是16x16,16x8或8x16像素块,并且如果相关子块中存在非零编码系数,则编码器140可以对CBP16标记进行编码(其可以通过例如诸如“1”的1比特来表示)。如果不是,则编码器140可以在不使用CBP标记的情况下按照16x16像素块为单位对CBP进行编码。
此外,如果在步骤S2410中确定子块的大小是64x64,64x32和32x64中的一个或者是64x64像素块,则编码器140确定子块中是否存在非零变换系数(S2470)。如果子块中存在非零变换系数,则编码器140对指示子块中存在非零变换系数的CBP64标记(其可以通过例如诸如“1”的1比特来表示)CBP64标记进行编码(S2480);并且如果子块中不存在非零变换系数,则编码器140对指示子块中不存在非零变换系数的CBP64标记(其可以通过例如诸如“0”的1比特来表示)CBP64标记进行编码(S2490)。这里,CBP64标记指示64x64像素块中是否存在非零量化变换系数。
如果按照16x16像素块为单位对64x64像素扩展宏块进行帧内预测编码,则可以省略CBP64标记和CBP32标记,并且可以如上所述对量化参数的递增/递减信息(Δpq)进行编码。这里,可以按照扩展宏块为单位对量化参数的递增/递减信息进行编码。
如果CBP标记被编码,并且如果CBP标记不是0,则变换类型被编码。尤其是,如果16x16像素块被划分为四个8x8像素块,并且如果编码后CBP不是0,则对按照16x16像素块为单位应用的变换类型进行编码。
在变换类型被编码之后,根据变换类型对CBP进行编码。如果使用16x16变换,则色度分量的仅两个CBP比特被编码;并且如果使用8x16变换或16x8变换,则指示16x16像素块中的两个8x16或16x8像素块是否具有非零变换系数的两个CBP比特被编码。然而,例外的是,如果两个分割块当中的第一分割块的CBP比特是0,则第二分割块的CBP比特不被编码。
图25是例示根据本发明的实施方式的CBP的结构的例示图。
图25例示了输入视频是4:2:0格式的情况下CBP的结构。如果亮度分量的第一8x8像素块Y0中不存在非零变换系数,则CBP的最低比特(LSB)是0;并且如果第二8x8像素块Y1中存在非零变换系数,则CBP的第二LSB是1。这样,CBP被分配给第三8x8像素块Y2和第四8x8像素块Y3。由于两个2x2色度分量DC块U-DC和V-DC中存在非零量化变换系数,所以针对色度DC(色度DC)的比特是1;并且由于两个8x8色度分量AC块U-AC和V-AC中不存在非零量化变换系数,所以针对色度DC(色度AC)的比特是0。
图26是例示根据本发明的实施方式对CBPX标记和CBP进行编码的序列的示例的例示图。
图26例示了在扩展宏块是64x64像素块并且作为当前编码目标的子块的大小是64x64,64x32或32x64的情况下CBP32标记和CBP的编码序列。在图26中,点虚线箭头指示CBPX标记为0的情况下的处理序列,虚线箭头指示CBPX标记为1的情况下的处理序列,并且实线箭头指示无条件地出现的处理序列。
如果作为扩展宏块的64x64像素块中的量化变换系数全部为0,则CBP64标记被编码为0;如果一个或更多个量化变换系数不是0,则CBP64标记被编码为1。如果CBP64标记为0,则由于没有更多要编码的CBP,下一个宏块的CBP32标记和CBP被编码。如果CBP64标记是1,则64x64像素块中的各个32x32像素子块的CBP32标记被编码;并且如果CBP32标记是1,则32x32像素子块中的四个16x16像素块的CBP被编码。
图27是例示根据本发明的实施方式针对帧内宏块对CBPX标记和CBP进行编码的序列的另一示例的例示图。
图27例示了在编码目标是32x32像素块并且作为当前编码目标的子块的大小是32x32,32x16或16x32的情况下CBP32标记和CBP的编码序列。在图27中,点虚线箭头指示在CBPX标记为0的情况下的处理序列,虚线箭头指示在CBPX标记为1的情况下的处理序列,并且实线箭头指示无条件地出现的处理序列。
再次参照图1,视频编码设备100的编码器140对CBPX标记(X:大于或等于32的整数)和CBP进行编码,接着仅针对具有非零量化变换系数的块对量化变换系数进行编码,从而生成编码后的视频数据。如果编码目标块的大小大于变换的大小,则编码器140按照光栅扫描顺序对块中的量化变换系数进行编码。
图28是例示根据本发明的实施方式的逐个分割类型量化的变换系数的编码序列的例示图。
图28例示了在编码目标块是32x32像素块的情况下量化变化系数的编码序列。由于对16x16或更多像素块进行16x16变换(当16x16块中的十六个4x4块是4x4变换的并且接着对十六个DC系数进行4x4变换时,可以说,对16x16像素单元进行了变换,为便于描述,其将被称作16x16变换),对32x32像素块进行四个16x16变换。对各个32x16像素块进行两个16x16变换,并且对各个16x32像素块进行两个16x16变换。对各个16x16像素块进行一个16x16变换。
图29是例示根据本发明的实施方式的针对帧内图片的编码数据的句法结构的例示图。
图29例示了当根据本发明的实施方式对作为帧间图片的输入视频进行编码时生成的编码数据的句法结构。如这里所示,根据本发明的实施方式的帧间图片的编码后数据可以包括SKIP_N标记字段、宏块类型字段和分割类型字段中的一个或更多个。在扩展宏块是帧内宏块的情况下,编码后数据还可以包括帧内预测模式字段、CBPX标记/CBP字段和变换系数字段中的一个或更多个。在扩展宏块是帧间宏块的情况下,编码后数据还可以包括帧内预测模式字段、SKIPX标记字段、差运动向量/基准图片索引字段、CBPX标记字段、变换类型字段、CBP字段和变换系数字段中的一个或更多个。
然而,如图29所示的针对帧间图片的编码数据的句法仅是示例性的,不必构造为如图29所示。即,应当注意的是,针对帧间图片的编码数据的句法中的全部或者一部分的序列可以与图29所示不同地改变,并且可以省略一部分句法。
再次参照图1,视频编码设备100的编码器140对指示作为当前编码目标的宏块是否为SKIP宏块的SKIPN标记进行编码。这里,“N”表示宏块的大小。例如,当宏块是64x64像素块时,指示64x64像素宏块是否为SKIP宏块的SKIP64标记被编码。当宏块是32x32像素块时,指示32x32像素宏块是否为SKIP宏块的SKIP64标记被编码。类似地,指示16x16像素宏块是否为SKIP宏块的SKIP16标记被编码。
如果宏块是SKIP宏块,则由于当前宏块没有要编码的数据,所以对下一个宏块进行编码。如果宏块不是SKIP宏块,则发送指示宏块是帧内宏块还是帧间宏块的宏块类型标记。例如,如果当前要编码的输入视频是P图片,则可用的宏块类型是I宏块和P宏块;并且如果当前要编码的输入视频是B图片,则可用的宏块类型是I宏块和B宏块。
由于已经参照图17描述了分割类型字段、针对帧内图片的帧内预测模式字段、CBPX标记/CBP字段和变换系数字段,所以下文将描述针对帧间图片的SKIPX标记字段、差运动向量/基准图片索引字段、CBPX标记字段、变换类型字段、CBP字段和变换系数字段。
在P图片或P片段的情况下,图4中的所有块类型可以用于运动估计,可以按照16x16像素块为单位在扩展宏块中选择帧内模式或帧间模式。即,帧内模式和帧间模式这两者可以用于P图片或P片段的扩展宏块。
如果编码目标是32x32像素块,则可以通过扩展宏块标记(extended_mb_flag)指示是按照32x32像素块为单位还是按照16x16像素块为单元进行编码。例如,如果扩展宏块标记是1,则可以指示按照32x32像素块为单位进行编码,并且如果扩展宏块标记是0,则可以指示按照16x16像素块为单位进行编码。如果扩展宏块标记是0,则扩展宏块可以被划分为四个16x16像素块,使得可以按照16x16像素块为单位确定帧内模式或帧间模式。此外,各个16x16像素块可以在编码之前被划分为较小的子块。
图30是用于描述根据本发明的实施方式在P图片(或P片段)中使用的句法的示例的图。为便于描述,假设扩展宏块是32x32像素块。
在熵编码的情况下,如果进行上下文自适应二进制数算术码(CABAC)编码,则skipX_flag和interX_flag可以具有根据X值不同的上下文表。例如,skip32_flag和skip16_flag可以具有不同的上下文表。稍后将对此进行详细描述。
skipX_flag指示要编码的当前块是SKIP模式(跳过模式),并且可以使用1比特来指示当前块是否为跳过模式,如图5所示。例如,skipX_flag的编码比特,其可以指示当前块是跳过模式。这里,“X”指示大于或等于16的数字,其在扩展宏块的范围内。
[表5]
skipX_flag 编码比特
非跳过模式 0
跳过模式 1
如果当前块不是跳过模式,则skipX_flag被编码。这里,skipX_flag指示当前块是帧内模式还是帧间模式,并且可以指示1比特或2比特扩展宏块中的像素块是帧内模式还是帧间模式,如图6所示。
[表6]
InterX_flag 编码比特
EMB中的所有块都是帧间模式 1
帧内块和帧间块在EMB中共存 01
EMB中的所有块都是帧内模式 00
例如,如果是interX_flag是“00”,则表示扩展宏块中的所有子块都是帧内模式。在该情况下,作为扩展宏块的32x32像素块被划分为四个16x16像素块,并且各个16x16像素块通过上述帧内预测编码方法进行编码。因而,如果扩展宏块中的所有子块都是帧内模式,则子块的块类型、亮度分量和色度分量的帧内预测模式、CBP、量化参数和变换系数可以被编码。
如图30所示,针对作为扩展宏块的32x32像素块,如果skip32_flag是0并且inter32_flag是1,则表示扩展宏块中的所有子块都是帧间模式,并且发送作为1比特标记的“extended_mb_flag”。这里,如果extended_mb_flag是1,则表示按照扩展宏块为单位进行运动补偿;并且由于存在一个运动向量,所以一个MVD/ref_idx被编码。这里,MVD/ref_idx表示包括在扩展宏块中的运动向量信息/基准索引。如果extended_mb_flag是0,则表示扩展宏块在编码之前已经被划分为16x16像素块,并且指示各个16x16像素块是否为跳过模式的skip16_flag被编码。在该情况下,仅针对不是跳过模式的16x16像素块对块类型和MVD/ref_idx进行编码。利用表5来对skip16_flag进行编码。这里,如果skip32_flag和skip16_flag是CABAC编码的,则各个句法可以具有如上所述不同的上下文表。
针对扩展宏块,如果skip32_flag是0并且inter32_flag是01,则表示帧间模式和帧内模式这两者被用于扩展宏块。在该情况下,“extended_mb_flag”不是必需的,并且由于其表示扩展宏块在编码之前已经被划分为16x16像素块,所以可以利用指示各个16x16像素块是帧内模式还是帧间模式的表7对其进行编码。
[表7]
Inter16_flag 编码比特
16x16块中的所有块都是帧间模式 1
16x16块中的所有块都是帧内模式 0
这里,如果帧内模式和帧间模式在扩展宏块中共存,则各个16x16像素块中的所有子块主要是帧间模式或者帧内模式,并且很少出现帧内模式子块和帧间模式子块在16x16像素块中共存的情况。因而,在各个16x16像素块的分割类型被编码之后,具有inter16_flag 0或者是帧内模式的16x16像素块中的子块的亮度分量和色度分量被编码为预测模式。此外,针对具有inter16_flag 1或者是帧间模式的16x16像素块,利用表5对inter16_flag进行编码。在进行分割类型编码之后对skip16_flag进行编码的原因在于,由于帧内模式和帧间模式在扩展宏块中的共存表示具有一些纹理的区域,所以存在与帧内模式相邻的帧间模式被划分为小块的较高概率,进而分割类型可以被首先更好地发送,接着可以仅针对16x16像素块对skip16_flag进行编码。然而,编码序列不限于此。例如,可以在对skip16_flag进行编码之后对分割类型进行编码。
CBPX_flag、变换类型、CBP/量化参数和变换系数的后续编码与如上所述相同,因而可以省略对其的描述。然而,在帧内图片/片或者帧内EMB的情况下,可以不对CBPX_flag进行编码。
如同扩展宏块是32x32像素块的情况,如果扩展宏块是64x64像素块,仅针对16x16或更多像素子块对当前块的分割类型信息接着对skipX_flag进行编码。这里,“X”表示诸如16或32的子块大小。例如,如果宏块是64x64像素块并且不是跳过模式,并且如果扩展宏块的子块的大小是64x32,32x64和32x32中的一个,则针对各个子块对skip32_flag进行编码。如果64x64像素扩展宏块的子块的大小是64x32或32x64,则对两个skip32_flag进行编码。如果子块的大小小于32x32,则不对skip32_flag进行编码。此外,如果子块的大小是32x16,16x32和16x16中的一个,则对各个子块的skip16_flag进行编码。
图31是用于描述根据本发明的实施方式在B图片(或B片段)中使用的句法的示例的图。
在B图片的情况下,可以选择多达两个基准图片,其分别被称作L0预测和L1预测。各个基准图片执行不同的功能。总体上,L0预测(列表0预测)被用作前向预测,L1预测被用作反向预测。即,B图片可以使用随后是当前编码目标图片的图片和跟随当前编码目标图片的图片作为基准图片,并且可以同时使用两个基准图片(双向预测)来进行运动估计和补偿。图2的所有块类型可以用作用于运动预测的块类型,并且如同P图片的情况,可以按照16x16像素块为单位在扩展宏块中选择帧内模式或帧间模式。在本发明的实施方式中,两个图片不限于随后是当前图片的图片和跟随当前图片的图片,两个随机图片可以独立于其序列被用作基准图片。这两个基准图片可以用来进行运动估计/补偿(双向预测)。
根据本发明的实施方式在B图片中可用的编码模式的示例包括帧内模式、跳过模式、直接模式、L0预测、L1预测和双向预测。
帧内模式可以利用与上述相同的帧内编码方法进行编码。帧内模式可以按照扩展宏块为单位或者按照包括在扩展宏块中的16x16像素块为单位进行选择。
跳过模式仅发送指示要编码的当前块是跳过模式的标记。这里,跳过模式可以用于诸如16x16像素块或32x32像素块的16x16或更多像素块。例如,预测B_pred_dir、预测运动向量MVD和预测ref_idx被用来进行运动补偿,通过运动补偿获得的基准块是重构块。这里,B_pred_dir是B图片的预测方向,其表示两个方向L0和L1。
直接模式仅对指示直接模式的标记以及与变换系数编码相关的数据(例如,CBPX_flag/CBP、量化参数、变换类型和变换系数)进行编码。即,直接模式是省略运动信息编码的编码模式,并且可以被用于诸如8x8,16x16和32x32的8x8或更多像素块。在NxN直接模式的情况下,按照N/2 x N/2像素块为单位进行运动估计和补偿。例如,在8x8直接模式的情况下,按照4x4像素块为单位进行运动估计和补偿。
L0预测是仅使用L0运动信息的单向预测,L1预测是仅使用L1运动信息的单向预测。双向预测是使用L0运动信息和L1运动信息的预测,并且使用两个图片的平均值作为基准图片。
针对B图片的运动估计方法的示例包括直接预测模式的运动估计/补偿方法、跳过模式的运动估计/补偿方法、单向预测(L0预测或L1预测)的运动估计/补偿方法和双向预测的运动估计/补偿方法。
首先,关于直接模式的运动估计/补偿方法,直接模式包括时间直接预测模式的运动估计/补偿方法和使用空间方向的运动信息相关(图片中的垂直/水平两维空间)的空间直接预测模式的运动估计/补偿方法。时间直接预测模式和空间直接预测模式中的一个按照片为单位而不是按照宏块或块为单位进行选择。在直接预测模式中,L1预测中具有最小标号的基准图片是重要的,其被称作“锚定图片”。按照显示顺序的目标图片的反向方向中的最近的基准图片是锚定图片,锚定图片中位于与目标块相同的空间位置的块被称作“锚定块”。
在时间直接预测模式中,检查锚定块的运动信息,并且mvCol(MV或共同位置块、相同块的运动向量)被用作锚定块的L0运动向量。如果不存在锚定块的L0运动向量并且存在L1运动向量,则L1运动向量被用作mvCol。时间直接预测模式的L0基准图片是mvCol的基准图片,并且时间直接预测模式的L1基准图片是锚定图片。如果锚定图片在图片中没有编码运动信息,则运动向量的幅度是0,并且时间直接预测模式的L0基准图片是基准图片编号0。此外,从运动向量mvCol获得L0运动向量mvL0和L1运动向量mvL1。如果基准图片、目标图片和锚定图片之间的运动速度是恒定的,则mvL0和mvL1的幅度与基准图片、目标图片和锚定图片之间的距离成比例,进而通过比例分布来进行计算。即,mvL0可以利用基准图片与目标图片之间的距离tb以及基准图片与锚定图片之间的距离td通过式5来进行计算。
式5
此外,由于mvL1与mvCol在相同的方向上,所以它们可以通过式6来计算。
式6
类似地,在空间直接预测模式中,作为在L1预测中具有最小标号的基准图片的锚定图片以及位于与锚定图片相同的空间位置的锚定块被用来计算运动向量。在空间直接预测模式中,根据编码在目标图片中的运动向量来预测目标块的运动向量。时间直接预测模式的一部分概念也被引入到空间直接预测模式中。当锚定块的运动信息满足以下全部条件时,L0运动向量mvL0和L1运动向量mvL1被设定为0:i)锚定块的运动向量的幅度在水平方向和垂直方向上小于或等于±1像素,ii)锚定块的基准图片的标号是0,和iii)L0中的最小标号的基准图片是短期基准图片。此外,L0预测中具有最小标号的图片被设定为L0预测图片,并且L1预测中具有最小标号的图片被设定为L1预测图片。当满足这些条件时,根据编码在目标图片中的运动向量来计算目标块以及基准图片L0和L1的运动向量mvL0和mvL1。
在L0预测中,位于左侧、上侧和左上侧的L0预测运动向量mvA、mvB和mvC被用来计算水平分量和垂直分量的均值,并且被设定为mvL0。类似地,在L1预测中,位于左侧、上侧和右上侧的L1预测运动向量mvA、mvB和mvC被用来计算水平分量和垂直分量的均值,并且被设定为mvL1。如果相邻块假设单向预测或者编码在图片中的L0预测,或者如果不存在L1预测的运动向量,则用0向量来代替。计算位于左侧、上侧和右上侧的运动向量mvA、mvB和mvC的标号的最小值,并将其设定为NxN块的标号。独立于L0预测和L1预测进行该标号计算。此外,如果相邻块假设单向预测,或者如果不存在图片中预测编码的L0或L1预测的运动向量,则在计算标号时排除该块。这里,应当注意的是,当进行NxN像素块的直接预测模式时,按照NxN像素块为单位进行计算mvL0、mvL1、L0基准图片和L1基准图片的处理,但是按照块为单位确定是使用0向量还是从相邻块计算的运动向量(mvL0,mvL1)。
下文将描述跳过模式的运动估计/补偿方法。
跳过模式与P图片的跳过模式的相同之处在于预测运动向量被用来进行运动预测和补偿。然而,用于B图片中的跳过模式的运动向量与基准图片的直接模式的预测运动向量对于基准图片是相同的。即,跳过模式的运动估计/补偿方法与上述的直接预测模式的运动估计/补偿方法相同。直接模式与跳过的不同之处在于跳过模式不具有运动信息和变换系数,而直接模式不是仅具有运动信息。
除了基准图片是L0和L1中的一个以外,单向预测(L0预测或L1预测)的运动估计/补偿方法与P图片的运动估计/补偿方法相同。因而,将省略对其的描述。
最后,下文将描述双向模式的运动估计/补偿方法。
针对B图片中具有运动信息的8x8或更多像素块,利用上述的P图片的运动估计/补偿方法,L0基准图片和mvL0被计算以进行L0预测,并且L1基准图片和mvL1被计算以进行L1预测。此外,通过L0预测处理计算的L0基准图片中的由mvL0指示的基准块和通过L0预测处理计算的L1基准图片中的由mvL1指示的基准块的平均块可以用作对mvL0和mvL1进行双向预测的基准块。此外,可以进行关于L0预测的运动信息的L1预测,以选择针对mvL0/0基准图片最优的mvL1、L1基准图片,并且所选择的L1基准图片中的由mvL1指示的基准块和通过L0预测处理计算的L0基准图片中的由mvL0指示的基准块的平均块可以用作进行双向预测的基准块。此外,可以进行关于L1预测的运动信息的L0预测,以选择针对mvL1/1基准图片最优的mvL0、L0基准图片,并且所选择的L0基准图片中的由mvL0指示的基准块和通过L1预测处理计算的L1基准图片中的由mvL1指示的基准块的平均块可以用作进行双向预测的基准块。可以对针对B图片中具有运动信息的8x8或更多像素块的双向预测的编码效率进行比较,并且可以选择提供较好编码效率的一个双向预测模式。针对16x16或更多像素块,当上述双向预测模式的运动信息被获得以确定最优编码模式时,可以进行变换、量化和熵变换系数编码,并且预测误差(失真)和相关模式中需要的实际编码比特可以用来确定双向预测模式。
针对L0预测、L1预测和双向预测,8x8或更多像素块可以使用不同的基准图片,但是8x8像素块中的子块使用相同的基准图片。
参照图1,减法器120通过从当前块中减去由运动估计器116估计的当前块的由运动向量指示的基准块来生成残留块。残留块被变换器/量化器130变换和量化,并且量化变化系数被编码器140编码,从而生成编码后数据。这里,B图片的变换方法与P图片的上述变换方法相同,因而省略对其的描述。
图31例示了基于扩展宏块是32x32像素块的假设要通过B图片(或B片段)的比特流发送的数据。总体上,B图片(或B片段)的发送句法类似于参照图30所述的P图片(或B片段)的发送句法。这里,将仅描述添加到P图片的句法的部分。
directX_flag是指示仅针对帧间块当中的扩展宏块、16x16或更多像素块和8x8或更多像素块的直接模式不是跳过模式的标记,其可以由表8所示的1比特构成。
[表8]
directX_flag 编码比特
非直接模式 0
直接模式 1
在直接模式的情况下,运动信息不被编码,并且与变换系数相关的信息被编码。此外,如果扩展宏块不是直接模式,则运动信息的数据(例如,B_pdir,MVD和ref_idx)被编码。这里,B_pdir是表示当前块的预测方向(L0预测、L1预测和双向预测)的信息。仅仅不是跳过模式或直接模式的帧间块被编码,并且存在表9所示的三个模式。
[表9]
InterX_flag 编码比特
L0预测 00
L1预测 01
双向预测 1
在双向预测的情况下,L0预测的运动信息(mvL0和ref_idx_L0)和L1预测的运动信息(mvL1和ref_idx_L1)都被编码。在L0预测的情况下,仅L0预测的运动信息(mvL0和ref_idx_L0)被编码。在L1预测的情况下,仅L1预测的运动信息(mvL1和ref_idx_L1)被编码。
图32是用于描述根据本发明的实施方式的SKIPX标记的编码处理的例示图。
图32例示了宏块是64x64像素块并且被划分为各种大小和形状的子块的情况下宏块的分割类型和各个子块的编码序列。如果宏块被划分为如图32所示,则十一16x16像素子块的SKIP16标记、十二16x16像素子块的SKIP16标记、十五16x32像素子块的SKIP16标记、十六16x32像素子块的SKIP16标记、十七32x32像素子块的SKIP32标记和十八32x32像素子块的SKIP32标记按照所列出的顺序被依次进行编码。
针对不是SKIP宏块的子块,包括作为相关子块的运动向量与利用相关子块的相邻块估计的预测运动向量之间的差向量的差运动向量(DMV)的运动信息被编码。
图33和图34是用于描述根据本发明的实施方式针对帧间宏块对CBPX_flag、变换类型和CBP进行编码的处理的例示图。
图33和图34例示了宏块是64x64像素块的情况下对CBPX_flag、变换类型和CBP进行编码的处理。视频编码设备100的编码器140确定扩展宏块的子块的大小是否为64x64,64x32和32x64中的一个(S3302)。如果扩展宏块的子块的大小不是64x64,64x32和32x64中的一个,则编码器140确定子块的大小是否为32x32,32x16和16x32中的一个(S3304)。
如果在步骤S3304中确定子块的大小是32x32,32x16和16x32中的一个,则编码器140确定子块中是否存在非零量化变换系数(S3306)。如果子块中存在非零量化变换系数,则编码器140对指示子块中存在非零量化变换系数的CBP32标记(其可以通过例如诸如“1”的1比特来表示)进行编码(S3308)。
在步骤S3308中对CBP32标记进行了编码之后,编码器140确定16x16像素块中是否存在非零量化变换系数(S3310)。如果16x16像素块中存在非零量化变换系数,则编码器140对指示16x16像素块中存在非零量化变换系数的CBP16标记进行编码(S3312)。
在如上对CBPX标记进行了编码之后,编码器140对仅针对具有非零量化变换系数的块的变换类型进行编码(S3316)。这里,如果子块的大小大于或等于16x16,则按照子块为单位进行变换类型编码;并且如果子块的大小小于16x16,则按照16x16为单位进行变换标记编码。这样做的原因在于变换是按照16x16像素为单位而选择的。例如,如果64x64像素宏块被划分为两个64x32像素子块并且CBP64标记不是0,则针对各个64x32像素子块中具有非零CBP32标记的两个64x32像素子块进行变换类型编码。
这里,如果子块的大小大于或等于16x16并且属于该子块的所有CBPX标记都不为0,则利用表3对各个子块的变换类型进行编码。
[表10]
此外,如果CBP16标记不是0并且16x16像素块被划分为两个8x16或16x8像素块,则利用表4按照16x16像素块为单位对变换类型进行编码。
[表11]
如果CBP16标记不是0;16x16像素块被划分为四个8x8像素块;并且选择了4x4变换;则0被编码为变换类型;并且如果选择了8x8变换,则1被编码为变换类型。在其它情况下,不对变换类型进行编码。
在步骤S3316中对变换类型进行编码之后,编码器140根据变换类型对CBP进行编码。为此,编码器140确定变换类型是否为16x16变换(S3318)。如果变换类型是16x16变换,则编码器140仅对色度分量的两个CBP比特进行编码(S3320)。如果变换类型不是16x16变换,则编码器140确定变换类型是否为8x16变换或16x8变换(S3322)。如果变换类型是8x16变换或16x8变换,则编码器140对亮度分量的两个CBP比特和色度分量的两个CBP比特进行编码(S3324)。如果变换类型不是8x16变换和16x8变换,则编码器140确定变换类型是否为8x8变换或4x4变换(S3326)。如果变换类型是8x8变换或4x4变换,则编码器140对亮度分量的四个CBP比特和色度分量的两个CBP比特进行编码(S3328)。在步骤S320、S3324和S3328中,给出在输入视频是4:2:0格式的情况下对亮度分量的CBP和色度分量的CBP进行编码的示例性方法的描述。因而,如果输入视频的格式改变,则亮度分量的CBP和色度分量的CBP的编码方法可以相应地改变。
另一方面,如果在步骤S3306中确定子块中不存在非零量化变换系数,则编码器140对指示子块中不存在非零量化变换系数的CBP32标记进行编码(S3330)。由于子块中不存在非零量化变换系数,所以变换类型和CBP不被编码。
此外,如果在步骤S3302中确定子块的大小是64x64,64x32和32x64中的一个,则编码器140确定子块中是否存在非零量化变换系数(S3330)。如果子块中存在非零量化变换系数,则编码器140对指示子块中存在非零量化变换系数的CBP64标记进行编码(S3334)。处理进行至步骤S3306。如果子块中不存在非零量化变换系数,则编码器140对指示子块中不存在非零量化变换系数的CBP64标记进行编码(S3336)。由于子块中不存在非零量化变换系数,所以变换类型和CBP不被编码。
这样,在对CBPX(X:大于或等于32的整数)和CBP进行编码之后,视频编码设备100的编码器140对仅针对具有非零量化变换系数的块的量化变换系数进行编码,以生成编码视频数据,并且将其分配给变换系数字段。对量化变换系数进行编码的方法与上述对帧内宏块的量化变换系数进行编码的方法相同。
在本发明的实施方式中,CABAC(基于上下文的自适应可变长度码)可以用作可变长度编码方法,并且CABAC编码包括二进制算术编码单元和上下文计算单元。
二进制算术编码单元是用于转换为二进制信号(0或1信号)的二进制化单元。上下文计算单元保留要编码的二进制信号的多个出现概率(上下文表),并且在根据当前的编码目标和周围情况改变二进制信号的出现概率的同时将二进制信号的出现概率传送到二进制算术编码单元。这里,上下文表在片编码/解码的开始进行初始化,并且在片中进行更新。各个句法具有根据ctxIdx(上下文编号)不同的表(出现概率),并且通过式7计算ctxIdx。
ctxIdx=ctxIdx_offset+ctx_inc 式7
这里,ctx_offset是通过图片类型和句法类型确定的。在该情况下,interX_flag可以更好的使用根据X值变化的表,或者可以使用相同的表。当对目标句法进行编码时,根据周围条件来确定ctx_inc,并且按照句法的ctx_inc的示例被例示在图35至图37中。例如,在skipX_flag的情况下,如图35所示,ctx_inc=0可以指示上侧相邻块和左侧相邻块全都不是跳过模式。ctx_inc=1可以指示上侧相邻块或左侧相邻块是跳过模式。ctx_inc=2可以指示上侧相邻块和左侧相邻块全都是跳过模式。上下文表可以根据各个ctx_inc来不同地使用。类似地,在interX_flag的情况下,如图36所示,ctx_inc 0至5指示针对作为32x32像素块的扩展宏块的上下文表的预测类型的示例,ctx_inc 7至9指示针对16x16像素块的上下文表的预测类型的示例,并且上下文表可以根据ctx_inc来不同地使用。类似地,图37中例示了针对对directX_flag进行编码/解码的ctx_inc的示例。如以上表8所示,可以通过1比特来表示directX_flag的编码比特,并且可以根据编码目标块的上侧块和左侧块不是直接模式的情况、上侧块和左侧块都是直接模式的情况以及上侧块和左侧块中仅一个是直接模式的情况来不同地确定上下文表。此外,类似图37所示,在针对对extended_flag进行编码/解码的ctx_inc的情况下,上下文表可以根据编码目标块的相邻块是已经按照扩展宏块为单位进行了编码(在该情况下,extended_mb_flag可以被设定为二进制比特1)还是已经按照像素块为单位进行了编码(在该情况下,extended_mb_flag可以被设定为二进制比特1)来不同地使用。这样,在interX_flag的情况下,不同的上下文表可以根据X值、图片类型、相邻块的数据以及是否将其用作基准图片来进行使用。在本发明的实施方式中,上下文表可以根据宏块中的划分子块当中的要编码的当前块的相邻块的上下文来选择性地使用。在该情况下,可以考虑要编码的当前块的相邻块是否为跳过模式、它们是否为按照宏块为单位的跳过模式以及它们是否为按照子块为单位的跳过模式,并且可以根据这些周围块的情况来选择性地使用要编码的块的skipX_flag,an interX_flag和extended_mb_flag的上下文表。
图38和图39是用于描述根据本发明的实施方式对分割类型信息进行编码的处理的例示图。
图38例示了用于利用树结构对分割类型信息进行编码的要编码的扩展宏块中的各个16x16像素块的分割类型值。
在图38A中,Mx(a,b)表示与要编码的扩展宏块中的位置(a,b)对应的16x16像素块的分割类型值。即,Mx(0,0)表示与要编码的扩展宏块中的位置(0,0)对应的16x16像素块(即,扩展宏块中的按照光栅扫描方向的第一16x16像素块)的分割类型值,并且Mx(0,1)表示与要编码的扩展宏块中的位置(0,1)对应的16x16像素块(即,扩展宏块中的按照光栅扫描方向的第二16x16像素块)的分割类型值。
图38A所示的16x16像素块的分割类型值按照预定区域为单位进行分组,例如,按照包括KxL分割类型值的区域为单位进行分组,并且分组区域中的分割类型值当中的最小值被选择并分配为针对分组区域的分割类型值。当分组区域中的分割类型值是Mx-1(c,d)时,c=a/K并且d=b/L。这里,Mx-1是Mx的上级节点,并且可以通过选择上级节点的值的方法来选择最大值。此外,其可以通过对选择上级节点的值的方法进行编码来自适应地进行使用。
图38B例示了按照包括2x2分割类型值的区域为单位对图38A所示的16x16像素块的分割类型值进行分组,接着将各个分组中的分割类型值当中的最小值分配作为分组区域的分割类型值的结果。包括图38A所示的16x16像素块(0,0),(0,1),(1,0)和(1,1)的像素块的分割类型值按照2x2区域为单位进行分组,并且16x16像素块的分割类型值MX(0,0),MX(0,1),MX(1,0)和MX(1,1)当中的最小值被选择并分配作为针对分组区域的分割类型值MX-1(0,0)。此外,包括16x16像素块(0,2),(0,3),(1,2)和(1,3)的像素块的分割类型值按照2x2区域为单位进行分组,并且16x16像素块的分割类型值MX(0,2),MX(0,3),MX(1,2)和MX(1,3)当中的最小值被选择并分配作为针对分组区域的分割类型值MX-1(0,1)。这样,对剩余的16x16像素块进行相同的处理。当直到层MX-2,MX-3…M1为止重复将图38A所示的16x16像素块的分割类型值分配作为图38B所示的分组区域的分割类型值的处理时,分组区域的分割类型值可以分配为如图38C所示。当直到层M0为止再次重复该处理时,进行分组以使得具有如图38D所示的一个分组区域的分割类型值。
尽管图38例示了按照2x2区域为单位对相邻16x16像素块的分割类型值进行分组,但是本发明不限于此。例如,针对相邻16x16像素块的分割类型值可以按照诸如4x2和2x4的各种大小的区域为单位进行分组,或者非相邻16x16像素块的分割类型值可以按照预定区域为单位进行分组,以分配分割类型值。
将要编码的16x16像素块的分割类型值分配作为如图38所示的分组区域的分割类型值可以按照如图39所示的树结构来表示。
图39例示了按照树结构的逐层分组区域的分割类型值。如果逐层分组区域的分割类型值是节点值,则可以通过对相对于上级节点的节点值的差进行编码来对按照图39中的树结构的节点值进行编码。
对节点值和上级节点的节点值之间的差值进行编码的方法对与该差值对应的二进制比特0进行编码并且对最后一个二进制比特1进行编码。如果上级节点的节点值与要编码的节点的节点值之间的差是0,则对二进制比特1进行编码。例如,算术编码方法可以用于对二进制比特0和1进行解码。在该情况下,在各个层中可以使用不同的上下文。
这样,当树结构用于对分割类型值(即,节点值)进行编码时,可以如上所述利用二进制比特0和1对0和最上级节点的节点值(下文称作“最上级节点值”)之间的差值进行编码。在参照图18所述分配分割类型编号时,如果按照出现频率的降序分配大分割类型编号,则可以利用二进制比特0和1对最上级节点值与最大分割类型编号之间的差值进行编码。另一方面,在参照图18所述分配分割类型编号时,如果按照出现频率的降序分配小分割类型编号,则可以利用二进制比特0和1对最上级节点值与最小分割类型编号之间的差值进行编码。
在除了最上级节点值的剩余节点值的情况下,可以利用二进制比特0和1对要编码的节点的节点值与该节点的上级节点的节点值之间的差值进行编码。即,可以通过对与差值一样多的二进制比特0进行编码并且对最后一个二进制比特1进行编码来对各个节点值进行编码。在该情况下,如果要编码的节点的节点值与该节点的上级节点的节点值之间的差值是0,则对二进制比特1进行编码。此外,相反,可以通过对与差值一样多的二进制比特1进行编码并且对最后一个二进制比特0进行编码来对各个节点值进行编码。在该情况下,如果要编码的节点的节点值与该节点的上级节点的节点值之间的差值是0,则对二进制比特0进行编码。
然而,当对各个节点值进行编码时,如果上级节点值是针对分割类型编号可用的最大值,则相关上级节点的下级节点的节点值不被编码。例如,如果节点M1(0,0)的节点值是3,则作为节点M1(0,0)的下级节点M2(0,0),M2(0,1),M2(1,0)和M2(1,1)的节点的节点值不被编码。即,由于M1(0,0)是M2(0,0),M2(0,1),M2(1,0)和M2(1,1)中的最小值,所以M2(0,0),M2(0,1),M2(1,0)和M2(1,1)全都具有大于或等于3的值。然而,在图18中,由于分割类型编号的最大值是3,所以M2(0,0),M2(0,1),M2(1,0)和M2(1,1)无需被编码,因为它们不能具有除3以外的值。
此外,当要编码的节点与该节点的上级节点之间的差值,如果要编码的当前节点的节点值是对于分割类型编号可用的最大值,则仅对与差值一样多的二进制比特0进行编码,并且不对最后一个二进制比特1进行编码。例如,如果要编码的当前节点的上级节点的节点值M1(0,0)和要编码的当前节点的节点值M2(0,0),M2(0,1),M2(1,0)和M2(1,1)分别是1,2,3,3和2时,节点值M2(0,0)和M2(1,1)对二进制比特01进行编码,并且节点值M2(0,1)和M2(1,0)对二进制比特00而不对二进制比特001进行编码。
此外,具有相同上级节点的节点当中的最后一个节点的节点值被编码时,如果除了最后一个节点的节点的节点值大于上级节点的节点值,则最后一个节点的节点值不被编码。例如,如果要编码的节点的上级节点的节点值M1(0,0)和要编码的节点的节点值M2(0,0),M2(0,1),M2(1,0)和M2(1,1)分别是1,2,3,3和1,则由于节点值M2(0,0),M2(0,1)和M2(1,0)全都大于节点值M1(0,0),所以最后一个节点的节点值M2(1,1)不被编码。
如上所述,可以通过利用二进制比特0和1对要编码的节点的节点值与该节点的上级节点的节点值之间的差值进行编码来对除了最上级节点的剩余节点的节点值进行编码。然而,与此不同,可以通过对各个节点的节点值与分割类型的出现频率最高的分割类型值之间的差值进行编码来对除了最上级节点的剩余节点的节点值进行编码。这里,分割类型的出现频率最高的分割类型值可以是固定值,也可以不是固定值。如果分割类型的出现频率最高的分割类型值不是固定值,则其可以在编码之后发送到相关解码器,也可以不发送到相关解码器。如果分割类型的出现频率最高的分割类型值不被发送到相关解码器,则在当前块之前编码的块的统计可以积累,并且可以使用直到现在为止出现频率最高的模式。在利用树结构对分割类型信息进行编码的另一实施方式中,当图38A所示的分割类型值被分组以确定图38B所示的分组区域的分割类型值时,如果按照出现频率的降序分配大分割类型编号,则分组区域的值当中的最大值可以用作分组区域的分割类型值。
在本发明的实施方式中,如果图18所示的分割类型值被用来将扩展宏块划分为16x16像素块(即,extended_mb_flag=0),则利用上述方法对分割类型进行编码/解码。在该情况下,最低节点的值可以是扩展宏块中的16x16像素块的分割类型值,并且下级节点的值中的最大值可以用作上级节点的代表性值。例如,如图40所示,如果32x32像素块的扩展宏块属于被填充为16的图像,并且被划分为16x16像素块,则由于最上级节点的代表性值是0,则通过表示代表性值“0”与分割类型的最大值“3”之间的差值“3”的二进制比特“000”来对最上级节点进行编码。作为另一示例,如图41所示,如果32x32像素块的扩展宏块属于被填充为16的图像;并且16x16像素块被划分为8x8或更少像素块接着被编码;并且一个16x16像素块被编码为16x16像素块,则由于最上级节点的代表性值是3,所以对表示最上级节点的代表性值“3”与分割类型的最大值“3”之间的差值的二进制比特“1”进行编码。这里,如果下级节点的值与上级节点的值之间的差值为0,则二进制比特“000”被编码。
如参照图6至图10所述,帧内预测模式的编码对指示亮度分量的4x4和8x8像素块的帧内预测模式是否与利用相邻块预测的预测帧内模式相同的1比特标记进行编码,并且如果帧内预测模式与预测的帧内模式不同,则使用3比特来指示帧内预测模式对应于九个预测模式当中除预测的预测方向以外的八个预测模式中的哪一个。此外,2比特被用来指示16x16像素块使用四个预测模式中的哪一个。此外,帧内预测模式的编码对指示除4x4像素块、8x8像素块和16x16像素块以外的剩余mxn像素块的帧内预测模式是否与利用相邻块预测的预测帧内模式相同的1比特标记进行编码,并且如果帧内预测模式与预测的帧内模式不同,则使用1比特来指示帧内预测模式对应于三个预测模式当中除预测的预测方向以外的两个预测模式中的哪一个。此外,2比特被用来指示色度分量的16x16像素块使用四个预测模式中的哪一个。这里,亮度分量和色度分量的4x4,8x8,16x16和mxn像素块可以使用不同的上下文表。
图42是例示用于对双向预测进行编码/解码的ctx_inc的示例的图。如上所述,根据当对目标句法进行编码时的周围情况来确定ctx_inc。表示双向预测的B_pdir的编码比特与表9所示相同。如果作为L0预测的相邻块是0;作为L1预测的相邻块是1;并且假设双向预测的相邻块是2,则可以根据如图42所示的周围情况来确定目标句法。在该情况下,如果左侧块和上侧块不可用,则L0预测(0)可以用作不可用预测方向。不同的上下文表可以用于图43所示的各个ctx_inc。
在用于对CBPX_flag进行编码/解码的ctx_inc的情况下,可以按照与图37的情况类似的方式确定上下文表。例如,如果扩展宏块或帧内图片是帧内模式,则不对CBPX_flag进行编码。如果要编码的当前块的上侧块或左侧块是帧内模式的情况被设定为0;并且上侧块或左侧块是帧间模式的情况被设定为1,则可以通过根据周围情况的上下文表来确定目标句法。
图43是例示用于对变换类型进行编码/解码的ctx_inc的示例的图。图43例示了在两个可用变换类型的情况下的示例。如表1所示,如果16x16像素块被划分为四个8x8像素子块,则存在诸如4x4变换和8x8变换的两个可用变换类型。因此,可以根据当前块的左侧块和上侧块这两者是4x4变换的情况、上侧块和左侧块这两者是8x8变换的情况以及上侧块和左侧块中的一个是4x4变换而另一个是8x8变换的情况来通过不同的上下文表确定目标句法。
图44和图45是例示用于在三个可用变换类型的情况下对变换类型进行编码/解码的ctx_inc的示例的图。图44例示了用于选择用于对第一比特进行编码的上下文表的ctx_inc的示例。图45例示了用于选择用于对第二比特进行编码的上下文表的ctx_inc的示例。
如上所述,如果当前块被划分为诸如4x4像素块、4x8像素块或8x4像素块的8x8或更少像素块,则对其进行4x4变换。此外,对8x8像素块进行4x4变换和8x8变换当中编码成本较低的变换;对8x16像素块进行4x4变换、8x8变换和8x16变换当中编码成本较低的变换;对16x8像素块进行4x4变换、8x8变换和16x8变换当中编码成本较低的变换;并且对16x16或更多像素块进行4x4变换、8x8变换和16x16变换当中编码成本较低的变换。因此,在对第一比特进行编码时,如图44所示,可以根据当前块的左侧块和上侧块这两者是否为4x4变换块、左侧块和上侧块中是否仅一个为4x4变换块或者左侧块和上侧块这两者是否都不是4x4变换块来不同地使用用于对变换类型进行编码/解码的ctx_inc。类似地,在对第二比特进行编码时,如图45所示,可以根据左侧块和上侧块中的任一个是否为8x8变换块来不同地使用用于对变换类型进行编码/解码的ctx_inc。
图46是例示根据本发明的实施方式的视频解码设备的示意性构造的框图。
根据本发明的实施方式的视频解码设备4600可以包括解码器4610、逆量化器/逆变换器4620、预测器4630、加法器4640、滤波器4650和图片缓冲器4660。
编码器4610使用诸如熵解码的各种编码/解码技术来对由视频编码设备100编码的编码数据进行解码。由解码器4610解码的数据根据要解码的图片的类型而变化。关于这种图片类型的信息可以从图片头或编码数据的序列头中提取,或者可以从其提取并解码以进行重构。这里,如果当前要解码的扩展宏块位于如图2所示的整个图像边界上(在序列参数中发送输入图像的实际大小),则找到属于扩展宏块中的图像的部分,并且通过熵解码获得相关区域的预测模式和文本数据,并且进行帧内预测或运动补偿以及逆变换/逆量化以对属于实际图像的部分进行解码。
如果要解码的图片是帧内图片,则视频编码数据中的要由解码器4610解码的数据的类型和序列与如图17所示相同。即,解码器4610通过对从输入比特流提取的分割类型数据进行解码来重构分割类型信息,利用由重构的分割类型信息识别的分割类型来划分宏块,通过对帧内预测模式数据进行解码来重构与宏块中划分的子块的数量一样多的帧内预测模式,并且通过根据各个子块的大小按照与图24所示的序列相同或相似的序列对分配给CBPX标记/CBP的CBP数据进行解码来重构CBPX标记或CBP。此后,解码器4610通过对仅针对由CBP指示的具有非零变换系数的子块的变换系数数据进行解码来重构变换系数。这里,如果视频编码设备100已经按照16x16像素块为单位对扩展宏块进行了帧内预测编码,则可以省略对CBPX标记的解码。在该情况下,可以按照扩展宏块为单位对编码的量化参数进行解码。
然而,图17所示的视频编码数据的句法结构仅是示例性的,并且根据本发明的实施方式的视频编码数据的句法结构不限于图17所示的结构。此外,图24所示的CBPX标记或CBP的编码序列仅是示例性的,并且根据本发明的实施方式的CBPX标记或CBP的重构序列不限于图24所示的序列。
这里,由解码器4610进行的帧内预测模式解码方法根据子块的大小而变化。即,如果子块的大小不是16x16而是4x4或8x8,则解码器4610通过对从比特流中提取的帧内预测模式数据当中的1比特进行解码来重构预测模式标记。如果预测模式标记指示与相关子块的帧内预测模式对应的预测方向和与从相邻块估计的相关子块的帧内预测模式对应的预测方向相同,则解码器4610将从相邻块估计的相关子块的帧内预测模式重构为当前块的帧内预测模式,并且对下一子块的帧内预测模式进行解码。如果预测模式标记指示与相关子块的帧内预测模式对应的预测方向和与从相邻块估计的相关子块的帧内预测模式对应的预测方向不同,则解码器4610将通过对帧内预测模式数据的下三个比特进行解码重构的帧内预测模式重构为当前块的帧内预测模式。此外,如果子块的大小是16x16,则解码器4610通过对从比特流中提取帧内预测模式数据当中的2比特进行解码来重构当前块的帧内预测模式。重构的帧内预测模式被输入到预测器4630的帧内预测器4632。
此外,如果作为32x32像素块的扩展宏块是帧内模式,则属于被填充为16像素的倍数的扩展宏块中的图像的块被确定并且接着该块的分割类型被熵解码。在图3的情况下,属于作为32x32像素块的扩展宏块中的填充图像的块仅对应于第一16x16像素块,并且第一16x16像素块的分割类型是熵解码的。如果相关16x16像素块被划分为两个16x8像素块,则两个帧内预测模式被熵解码,并且针对16x16像素块的CBP和16x16变换系数被解码。利用通过熵解码获得的子块类型、帧内预测模式和变换系数来对相关16x16像素块进行解码。
如果要解码的图片是帧间图片,则视频编码数据中要由解码器4610进行解码的数据的类型和序列与如图29所示相同。即,解码器4610通过对从比特流提取的SKIPN标记数据进行解码来重构指示当前要解码的宏块是SKIP宏块的SKIPN标记。如果由重构的SKIPN标记识别的宏块不是SKIP宏块,则解码器4610通过对从比特流提取的宏块类型标记数据和分割类型数据进行解码来重构宏块类型标记和分割类型信息。
此外,如果扩展宏块是32x32像素块,则属于被填充为16像素的倍数的扩展宏块中的图像的块被确定,并且接着skip32_flag被解码。如果当前要解码的扩展宏块是跳过模式,则左侧相邻块和上侧相邻块被用来寻找预测运动向量并进行运动补偿。在图3的情况下,属于作为32x32像素块的扩展宏块中的填充图像的块仅与第一16x16像素块对应,并且skip32_flag被解码。如果当前要解码的扩展宏块是跳过模式,则左侧相邻块和上侧相邻块被用来寻找预测运动向量并进行运动补偿。
如果由重构的宏块类型标记识别的宏块类型是帧内宏块,则其与如上所述相同。如果宏块类型是帧间宏块,则解码器4610通过仅针对16x16或更多像素子块对SKIPX标记进行解码来重构SKIPX标记,并且通过针对不作为由重构的SKIPX标记识别的跳过块的子块或者针对小于16x16像素子块的子块(指示非跳过)对MVD/ref_idx数据进行解码来重构作为运动信息的运动向量和基准图片索引。此外,解码器4610通过按照与图33所示的序列相同或相似的序列对非跳过块进行解码来重构CBPX标记、变换类型和CBP,并且仅针对由重构的CBP识别的具有非零系数的子块重构量化变换系数。重构的运动信息被输入到帧间预测器4634(其可以通过运动估计器来实现),并且重构的CBPX标记、CBP、变换类型和量化变换系数被输入到逆量化器/逆变换器4620,以便重构要解码的目标宏块或目标块的子块的残留块。
逆量化器/逆变换器4620通过对从解码器4610接收到的量化变换系数进行逆量化/逆变换来重构残留块。这里,逆量化器/逆变换器4620可以利用从解码器4610接收到的CBPX标记、CBP和变换类型对量化变换系数进行逆量化/逆变换。
预测器4630通过预测要解码的目标宏块或目标宏块的子块来生成预测块。为此,帧内预测器4632通过利用由解码器4610重构的帧内预测模式对要解码的目标宏块或目标宏块的子块进行帧内预测来生成目标宏块或目标宏块的子块的预测块。帧间预测器4634通过利用由解码器4610重构的运动信息对要解码的目标宏块或目标宏块的子块进行帧间预测来生成目标宏块或目标宏块的子块的预测块。
加法器4640通过将由预测器4630生成的预测块与由逆量化器/逆变换器4620重构的残留块相加来重构要解码的目标宏块。
由加法器4640重构的目标宏块由滤波器4640进行解块滤波,按照图片为单位积累接着输出作为重构的视频。所重构的视频存储在图片缓冲器4660中,使得其稍后可用于帧间预测器4634中的运动补偿预测。
帧内预测器4632、帧间预测器4634和逆量化器/逆变换器4620的操作与参照图1所述的视频编码设备100的帧内预测器223、帧间预测器114和逆量化器/逆变换器150的操作相同或相似,因而将省略对其的详细描述。
视频解码设备4600可以根据扩展宏块是帧间宏块还是帧内宏块来如下进行构造。
例如,如果宏块是帧内宏块,则解码器4610通过对编码数据进行解码来重构分割类型信息、帧内预测模式和量化变换系数;逆量化器/逆变换器4620通过利用根据由分割类型信息识别的子块的大小而选择的变换对量化变换系数进行逆量化/逆变换来重构残留子块;预测器4630通过利用帧内预测模式预测根据分割类型信息识别的子块来生成预测子块;并且加法器4640通过将预测子块与残留子块相加来重构子块。
作为另一示例,如果宏块是帧间宏块,则解码器4610通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;逆量化器/逆变换器4620通过利用由变换类型信息识别的变换对量化变换系数进行逆量化/逆变换来重构残留子块;预测器4630通过利用运动信息预测根据分割类型信息而识别的子块来生成预测子块;并且加法器4640通过将预测子块与残留子块相加来重构子块。
在根据本发明的实施方式的视频解码方法中,如果要解码的宏块是帧内宏块,则视频解码设备4600通过对编码后数据进行解码来重构分割类型信息、帧内预测模式和量化变换系数;通过利用根据由分割类型信息识别的子块的大小而选择的变换对量化变换系数进行逆量化/逆变换来重构残留子块;通过利用帧内预测模式预测根据分割类型信息而识别的子块来生成预测子块;并且通过将预测子块与残留子块相加来重构子块。
这里,如果子块的大小是4x4,4x8和8x4中的一个,则根据子块的大小选择的变换可以是4x4变换。如果子块的大小是8x8,8x16和16x8中的一个,则根据子块的大小选择的变换可以是8x8变换。如果子块的大小大于或等于16x16,则根据子块的大小选择的变换可以是16x16变换。
此外,在根据本发明的实施方式的视频解码方法中,如果要解码的宏块是帧间宏块,则视频解码设备4600通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;通过利用由变换类型信息识别的变换对量化变换系数进行逆量化/逆变换来重构残留子块;通过利用运动信息预测根据分割类型信息识别的子块来生成预测子块;并且通过将预测子块与残留子块相加来重构子块。
这里,由变换类型信息识别的变换可以是4x4变换、8x8变换、8x16变换、16x8变换和16x16变换中的一个。此外,视频解码设备4600可以对重构的子块进行滤波。例如,视频解码设备4600可以在重构的子块中根据选择的变换对块的左侧界和右侧界进行解块滤波。
此外,视频解码设备4600还可以通过对从编码后数据中提取的SKIP_N标记数据进行解码来重构指示宏块是否为SKIP宏块的SKIP_N标记。视频解码设备4600可以仅对由SKIP_N标记识别为不是SKIP宏块的宏块进行解码处理。
此外,视频解码设备4600还可以通过对从编码后数据中提取的宏块类型标记数据进行解码来重构指示宏块是帧内宏块还是帧间宏块的宏块类型标记。视频解码设备4600可以通过对从编码后数据中提取的宏块类型标记数据进行解码来从宏块类型比较中检测要解码的宏块是帧内宏块还是帧间宏块,并且确定是进行帧内预测解码还是帧间预测解码。
与宏块的类型无关,可以由逐分割层分割类型编号来识别分割类型编号。在该情况下,视频解码设备4600还可以通过对从编码后数据中提取的CBP数据进行解码来重构与子块的大小对应的CBPX标记和CBP。这里,CBPX标记可以是指示XxX像素块中是否存在非零量化变换系数的标记,CBP可以是指示16x16像素块中是否存在非零量化变换系数的标记。
第二实施方式:
下文将描述本发明的第二实施方式。具体地说,本发明的第二实施方式描述根据句法的CABAC编码、变换子块的句法结构和预测子块。
此外,当利用CABAC对相关编码信息进行编码时,根据宏块、子块、预测子块和变换子块利用不同的上下文表对其进行编码和解码。
在本发明的第二实施方式中,输入视频可以按照帧为单位或者按照字段为单位输入到视频编码设备100,或者可以在被划分为NxN像素宏块(N:大于或等于16的整数)之后输入到视频编码设备100。下文描述的宏块可以被划分为正方形子块。此外,各个宏块和字块可以针对预测的目的划分为预测子块。宏块和子块可以可变地划分为具有诸如MxM,(M/2)x(M/2),Mx(M/2),(M/2)xM,1xM和Mx1(M=N)的各种大小的预测子块。此外,可以根据变换子块来确定变换类型。这里,可以通过将宏块或宏块的子块可变地划分为类似的预测子块来获得变换子块。
如果不是N的倍数,则输入视频可以被填充为N的倍数,接着可以进行视频压缩。
视频编码设备100在宏块被划分为子块的情况下计算各个子块的编码效率,并且将提供最高编码效率的子块确定为最终的帧内块或帧间块。编码效率可以基于式1来测量。
块模式确定处理可以包括针对所有类型的可用块来确定各个预测子块的最优预测模式(帧内预测模式和运动数据),并且确定块类型。通常,在确定预测模式时(在选择帧内预测模式或运动向量/基准图片时),为了减小计算量,式2被用来确定最优预测模式。
在确定子块的类型时,式8可以用来严格地计算RDcost。
RDcost=Distortion+λ·Bit[block type,prediction infor,transform info,CBP,coefficient]
式8
式8中的“Distortion”可以表示为式4。
在确定子块的预测模式时,式9可以用来计算RDcost。
RDcost=Distortion+λ·Bit[prediction info] 式9
将参照图1所示的视频编码设备100来描述根据本实施方式的视频编码方法。然而,从以下描述可以容易地理解,视频编码设备100中的一些元件进行与第一实施方式不同的操作。
下文中,将根据图片类型描述来根据本发明的第二实施方式的视频编码方法和通过该视频编码方法生成的编码后数据。
预测器110的帧内预测器112利用要编码的块(下文称作“当前块”)的相邻像素生成基准块,并且通过将当前块与基准块相比较来确定帧内预测模式。这里,相邻像素包括与当前块相邻的像素,并且还包括包括在与当前块相邻的块中的像素。图47是例示视频边界或片段边界处的帧内预测的例示图。
参照图7,如果当前块是A,则由于基准像素仅是作为左侧块的块C的像素,所以预测模式被限制。因而,块C的像素被复制到块A的顶部。类似地,在块B的情况下,由于基准像素仅是作为上侧块的块C的像素,所以块C的像素被复制到块B的左侧。
并且,不具有值的像素可以假设为128,以供使用。
在帧内预测模式当中,利用平面标记对平面模式进行编码。例如,如果当前预测模式是平面模式,则利用1对平面标记进行编码。
图48是例示平面模式的示例的图。
参照图48,在平面模式的情况下,生成块48-1和48-2,并且两个块的平均值被用作预测像素。在块48-1的情况下,如这里所示,像素A被复制到其向下的方向,并且利用复制的值和与当前块的左侧相邻的像素在多个位置处生成剩余像素。例如,参照图8,当生成像素X时,由于像素X的位置是(2,4),所以通过式Ax(2/8)+Cx(6/8)来计算像素X的值。按照与块48-1相同的方式生成块48-2。
当对帧内预测模式进行编码时,指示当前块的预测模式是否与相邻帧内块的预测模式相同的标记被编码。这称作预测模式标记。如果预测模式标记是1,则指示相邻块的帧内预测模式与当前块的帧内预测模式相同。在该情况下,对预测模式指示索引进行编码。预测模式指示索引指示相邻块中的哪一个具有与当前块相同的帧内模式。
如果相邻块的帧内预测模式与当前块的帧内预测模式彼此不同,则利用0对预测模式标记进行编码,并且对剩余的预测模式当中的除预测模式当中的相邻块的预测模式以外的当前块的预测模式进行编码。另选地,对剩余的预测模式当中的仅除相邻块的预测模式当中的分配有小编号的预测模式以外的当前块的预测模式进行编码。
可以按照N/2 x N/2像素块为单位进行色度分量的帧内预测。预测方向可以使用独立于亮度分量的预测模式的平均值预测、水平预测、垂直预测、平面预测、根据亮度分量的帧内预测模式的模式以及诸如利用亮度分量的像素特性的预测模式的预测模式。
变换器/量化器130确定各个宏块或子块中的变换类型,并且根据变换类型进行变换/量化。变换类型是指子块的大小和变换模式。变换模式不仅是指传统的DCT,还指变型的DCT、DST(离散正弦变换)和KLT(Karhunen-Loeve变换)。变换模式可以每变换子块、每宏块、每子块或者根据帧内预测模式自适应地选择。并且,变换模式可以根据变换子块的大小自适应地选择。
这里,变换类型可以通过变换子块分割标记来表示。例如,如果TxT子块的变换子块分割标记是1,则变换子块的大小是(T/2)x(T/2)。在该情况下,DST可以用作水平变换,KLT可以用作垂直变换。
此外,CBP每宏块、子块或变换子块进行编码和解码。
在P图片或P片段的情况下,可以按照宏块或子块为单位选择帧内模式或帧间模式。即,帧内模式和帧间模式这两者可以用于P图片或P片段的扩展宏块。
在B图片或B片段的情况下,可以选择多达两个基准图片,其分别称为L0预测和L1预测。两个基准图片执行不同的功能。总体上,L0预测(列表0预测,主要用作前向预测)用作前向预测,L1预测(列表1预测,主要用作反向预测)用作反向预测。稍后将详细描述P图片和B图片的帧间图片编码方法。
再次参照图1,预测器110的帧间预测器114的运动估计器116检测与当前预测子块最类似的块,即,基准图片中的基准块,并且输出代表基准块相对于当前块的相对位置的运动向量(MV)。运动估计通过将宏块中的子块与图片缓冲器180中的一个或更多个基准图片进行比较来生成运动向量。
运动向量由编码器140进行编码,并被包括在编码后数据中。编码器140选择当前块的相邻块的运动向量和共同位置块(与当前块位于相同位置的基准图片块)的运动向量当中的预测运动向量。编码器140通过仅对作为预测运动向量与当前块的运动向量之间的差向量的差运动向量(DMV)进行编码来生成运动信息。这里,除了差运动向量以外,编码器140还可以对基准图片索引进行编码。
此外,在本发明的实施方式中,针对宏块、子块、预测子块使用批模式。批模式是使用相邻运动块或者共同位置块的运动信息(预测方向、运动向量和基准图片)作为当前块的运动信息的模式。因而,在批模式的情况下,可以对批模式标记和预测运动信息索引进行编码。
此外,在本发明的实施方式中,针对宏块或子块使用跳过模式。在跳过块的情况下,预测运动向量被用来进行运动估计和补偿。这里,编码器对跳过标记和预测运动向量索引进行编码。作为另一示例,不是预测运动向量,而是预测运动信息可以用来进行跳过模式的运动估计和补偿。在该情况下,可以对跳过标记和预测运动信息索引进行编码。
帧间预测块的变换方法与上述帧内预测块的变换方法相同。
图49a-49b是例示根据本发明的实施方式对帧内图片的宏块和子块进行编码的流程图的例示图。
图50a-50b是例示根据本发明的实施方式对帧内图片的宏块和子块进行编码的流程图的另一例示图。
参照图49a-49b和图50a-50b,帧内图片的子块和宏块包括分割标记、差量QP、预测模式标记、预测模式指示索引、预测模式、变换子块分割标记、亮度分量CBP标记、色度分量CBP标记和变换系数。然而,图49a-49b和图50a-50b所示的帧内图片的句法流程图仅是示例性的。即,帧内图片的句法的一部分或全部可以改变,并且可以省略一部分句法。
在本实施方式中,如同本发明的其它实施方式,CABAC被用来对各个句法进行编码和解码。将省略对CABAC的详细描述,以避免重复较早的说明。
图49a-49b和图50a-50b中的分割标记的ctx_inc、预测模式标记、预测模式指示索引、平面模式标记、变换子块分割标记和CBP标记可以按照与确定参照图35在第一实施方式中描述的确定skipX_flag的ctx_inc的方法相似的方式进行确定。因而,将省略对其的详细描述。
图51a-51b是例示根据本发明的实施方式对变换子块的变换系数进行编码的序列的例示图。
参照图51a-51b,包括了变换系数标记、最后的变换系数标记、Abs_value_greater1_flag、Abs_value_greater2_flag、Absolute(变换系数)-3和变换系数符号(+或-)。然而,图51a-51b所示的变换系数的句法流程图仅是示例性的。即,变换系数的句法的一部分或者全部可以被改变,并且可以省略一部分句法。
图52a-52c是例示根据本发明的实施方式对帧间宏块和帧间图片的子块进行编码的序列的例示图。
参照图52a-52c,包括了分割标记、跳过标记、批模式标记、预测运动信息索引、预测方向标记、差量QP、预测子块类型、基准图片索引、差运动向量、预测运动向量索引、变换子块分割标记和CBP标记。然而,图52a-52c所示的帧间图片的句法流程图仅是示例性的。即,帧间图片的句法的一部分或者全部可以被改变,并且可以省略一部分句法。
图52a-52c所示的预测子块类型表示子块或当前宏块中的预测子块的大小以及是帧间预测还是帧内预测。这里,例示了帧间预测。如果是帧内预测,则可以参照图49a-49b和图50a-50b类似地对预测子块类型之后的句法进行编码。
此外,可以参照图51a-51b类似地对帧间预测的变换系数编码进行编码。因而将省略对其的详细描述。
如同本发明的第一实施方式,各个句法可以参照式7使用CABAC编码。然而,针对各个句法的ctx_inc可以根据周围情况而变化。
图53是针对批模式标记的ctx_inc的例示图。
例如,批模式标记可以参照图37和图53进行CABAC编码。
并且,可以参照图54对差运动向量进行CABAC编码。
图54是针对差运动向量的x分量的ctx_inc的例示图。
差运动向量的x分量的ctx_inc是利用如图54所示的相邻块的阈值X标记来确定的。相邻块的阈值X标记的值是根据预定阈值和差运动向量的x分量的值来确定的。例如,假设阈值是9。在该情况下,如果差运动向量x分量的绝对值小于阈值“9”,则阈值X标记的值是“1”;并且如果该绝对值大于9,则阈值X标记的值是0。这里,可以由用户来选择阈值。在差运动向量的y分量的情况下,按照与差运动向量的x分量的情况相同的方式确定ctx_inc。
图54中的句法的ctx_inc可以与如第一实施方式所述类似地确定,因而将省略对其的详细描述。
尽管已经针对例示性目的描述了本发明的示例性实施方式,但是本领域技术人员将理解,无需脱离本发明的实质特性,可以进行各种修改、添加和替换。因此,本发明的示例性实施方式不是针对限制目的而描述的。因此,本发明的范围不由以上实施方式而由权利要求及其等同物限定。
工业实用性
如上所述,本发明的实施方式对于本领域的应用非常有用,因为它们可以通过以下处理来提高视频压缩效率和视频重构效率:将扩展宏块划分为各种大小和形状的子块,以及利用根据这些子块的大小来使用不同的预测单元和变换单元进行视频编码/解码。
相关申请的交叉引用
如果适用,本申请要求在韩国于2010年4月16提交的专利申请No.10-2010-0035450以及于2011年4月16日提交的专利申请No.10-2011-0035425在35 U.S.C§119(a)下的优先权,通过引用将其全部内容并入本文。此外,该非临时申请以基于韩国专利申请相同的原因要求在除美国以外的国家的优先权,并且通过引用将其全部内容并入本文。

Claims (2)

1.一种视频解码设备,该视频解码设备包括:
解码器,其通过利用CABAC和根据宏块和子块利用不同的上下文表对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;
逆量化器和逆变换器,其通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化/逆变换来重构残留子块;
预测器,其通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块;以及
加法器,其通过将所述预测子块与所述残留子块相加来重构所述子块,
其中,所述宏块基于所述子块来重构,
其中,所述解码器基于上下文表来重构所述编码后数据,在所述上下文表中,根据要解码的当前块的上侧块和左侧块不同地设置了二进制信号的出现概率,并且其中,
在skipX_flag的情况下,ctx_inc=2指示上侧相邻块和左侧相邻块全都是SKIP模式,ctx_inc=1指示所述上侧相邻块或所述左侧相邻块是所述SKIP模式,
其中,根据每个ctx_inc来不同地使用所述上下文表。
2.根据权利要求1所述的视频解码设备,其中,
在skipX_flag的情况下,ctx_inc=0指示所述上侧相邻块和所述左侧相邻块全都不是SKIP模式。
CN201510133860.7A 2010-04-16 2011-04-18 视频解码设备 Active CN104837016B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2010-0035450 2010-04-16
KR20100035450 2010-04-16
KR10-2011-0035425 2011-04-16
KR1020110035425A KR101791242B1 (ko) 2010-04-16 2011-04-16 영상 부호화/복호화 장치 및 방법
CN201180029771.8A CN102939756B (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180029771.8A Division CN102939756B (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法

Publications (2)

Publication Number Publication Date
CN104837016A CN104837016A (zh) 2015-08-12
CN104837016B true CN104837016B (zh) 2018-10-09

Family

ID=45030487

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201510633174.6A Active CN105306943B (zh) 2010-04-16 2011-04-18 视频编码方法
CN201510633175.0A Active CN105187827B (zh) 2010-04-16 2011-04-18 视频解码方法
CN201510133860.7A Active CN104837016B (zh) 2010-04-16 2011-04-18 视频解码设备
CN201180029771.8A Active CN102939756B (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201510633174.6A Active CN105306943B (zh) 2010-04-16 2011-04-18 视频编码方法
CN201510633175.0A Active CN105187827B (zh) 2010-04-16 2011-04-18 视频解码方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201180029771.8A Active CN102939756B (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法

Country Status (3)

Country Link
US (3) US10250881B2 (zh)
KR (1) KR101791242B1 (zh)
CN (4) CN105306943B (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619972B1 (ko) * 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
KR101418101B1 (ko) 2009-09-23 2014-07-16 에스케이 텔레콤주식회사 저주파수 성분을 고려한 영상 부호화/복호화 방법 및 장치
WO2012115420A2 (ko) 2011-02-23 2012-08-30 엘지전자 주식회사 필터링을 이용한 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
KR20120140181A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
US9807401B2 (en) * 2011-11-01 2017-10-31 Qualcomm Incorporated Transform unit partitioning for chroma components in video coding
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
JP2013168867A (ja) * 2012-02-16 2013-08-29 Canon Inc 画像処理装置、その制御方法およびプログラム
JP2013168866A (ja) * 2012-02-16 2013-08-29 Canon Inc 画像処理装置、その制御方法およびプログラム
ES2961654T3 (es) 2012-06-29 2024-03-13 Electronics & Telecommunications Res Inst Método y dispositivo para codificar/decodificar imágenes
US20140079135A1 (en) * 2012-09-14 2014-03-20 Qualcomm Incoporated Performing quantization to facilitate deblocking filtering
KR20230131286A (ko) * 2013-04-08 2023-09-12 지이 비디오 컴프레션, 엘엘씨 성분-간 예측
JP6614472B2 (ja) 2013-09-30 2019-12-04 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
KR101506723B1 (ko) * 2013-10-02 2015-03-30 인하대학교 산학협력단 Hevc 압축을 위한 계층적 상관관계를 갖는 예측 방향의 초기 결정 방법
KR102467057B1 (ko) 2013-10-18 2022-11-14 지이 비디오 컴프레션, 엘엘씨 다-성분 화상 또는 비디오 코딩 개념
KR101994599B1 (ko) * 2013-10-25 2019-06-28 미디어텍 인크. 전송 동기화 이벤트에 따라 압축된 픽처의 전송을 제어하는 방법 및 장치
JP2015095733A (ja) * 2013-11-11 2015-05-18 キヤノン株式会社 画像伝送装置、画像伝送方法、及びプログラム
WO2016043417A1 (ko) * 2014-09-19 2016-03-24 엘지전자(주) 분리 가능한 변환에 기초하여 적응적으로 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
CN108605130B (zh) * 2015-11-27 2021-05-11 联发科技股份有限公司 一种用于对与区块相关的符号进行熵编解码的方法和装置
CN110572649B (zh) * 2016-04-29 2023-04-07 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
WO2017222334A1 (ko) * 2016-06-24 2017-12-28 한국전자통신연구원 변환 기반의 영상 부호화/복호화 방법 및 장치
CN115914625A (zh) * 2016-08-01 2023-04-04 韩国电子通信研究院 图像编码/解码方法
KR20180021942A (ko) * 2016-08-22 2018-03-06 광운대학교 산학협력단 보안 카메라용 영상 코덱에서 블록 분할 정보 전송 방법 및 장치
CN113873242A (zh) * 2016-08-31 2021-12-31 株式会社Kt 用于对视频进行解码的方法和用于对视频进行编码的方法
KR20180039323A (ko) * 2016-10-10 2018-04-18 디지털인사이트 주식회사 다양한 블록 분할 구조를 결합하여 사용하는 비디오 코딩 방법 및 장치
CN116915981A (zh) * 2016-11-29 2023-10-20 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
CN116170585A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
EP3383043A1 (en) * 2017-03-27 2018-10-03 Thomson Licensing Methods and apparatus for picture encoding and decoding
CN113784144B (zh) * 2017-06-26 2023-11-28 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法、解码方法和非暂时性存储介质
US10523968B2 (en) * 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
US10721469B2 (en) * 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
CA3210247A1 (en) * 2017-12-15 2019-06-20 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
US10694205B2 (en) * 2017-12-18 2020-06-23 Google Llc Entropy coding of motion vectors using categories of transform blocks
US11483555B2 (en) * 2018-01-11 2022-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Multiple boundary filtering
CN117834917A (zh) * 2018-01-17 2024-04-05 英迪股份有限公司 对视频进行解码或编码的方法和用于发送比特流的方法
CN108322742B (zh) * 2018-02-11 2019-08-16 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN108335335B (zh) * 2018-02-11 2019-06-21 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
US10999604B2 (en) 2018-04-13 2021-05-04 Mediatek Inc. Adaptive implicit transform setting
US11297348B2 (en) * 2018-04-13 2022-04-05 Mediatek Inc. Implicit transform settings for coding a block of pixels
EP3788783A1 (en) * 2018-04-30 2021-03-10 InterDigital VC Holdings, Inc. Flexible implementations of multiple transforms
CN108769690A (zh) * 2018-05-28 2018-11-06 思百达物联网科技(北京)有限公司 基于视频压缩的连续图片管理方法、装置、设备和介质
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
US11115652B2 (en) * 2018-12-07 2021-09-07 Tencent America LLC Method and apparatus for further improved context design for prediction mode and coded block flag (CBF)
WO2020141598A1 (en) * 2019-01-02 2020-07-09 Sharp Kabushiki Kaisha Systems and methods for performing intra prediction coding
WO2021054799A1 (ko) * 2019-09-21 2021-03-25 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
EP3968635A1 (en) * 2020-09-11 2022-03-16 Axis AB A method for providing prunable video
CN112969067B (zh) * 2021-05-18 2021-08-03 浙江华创视讯科技有限公司 一种视频编码方法、装置、设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1589023A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种基于上下文的多码表变长编解码方法及编解码装置
KR20090129939A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
CN101621692A (zh) * 2009-07-27 2010-01-06 宁波大学 一种基于预测模式的h.264/avc视频信息隐藏方法
CN101841700A (zh) * 2010-05-18 2010-09-22 宁波大学 一种面向h.264压缩比特流的视频水印方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304607B1 (en) * 1997-03-18 2001-10-16 Texas Instruments Incorporated Error resilient video coding using reversible variable length codes (RVLCS)
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
KR100763181B1 (ko) * 2005-04-19 2007-10-05 삼성전자주식회사 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
BRPI0611672A2 (pt) 2005-07-22 2009-01-13 Mitsubishi Electric Corp codificador e decodificador de imagem, mÉtodo de codificaÇço de imagem, programa de codificaÇço de imagem, meio de gravaÇço legÍvel por computador, mÉtodo de decodificaÇço de imagem, programa de decodificaÇço de imagem, e, corrente de bits codificada por imagem
US8509551B2 (en) 2005-07-22 2013-08-13 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program
KR100750165B1 (ko) * 2006-02-22 2007-08-17 삼성전자주식회사 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
KR101365569B1 (ko) * 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
KR101359496B1 (ko) 2008-08-06 2014-02-11 에스케이 텔레콤주식회사 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
US20110249754A1 (en) * 2010-04-12 2011-10-13 Qualcomm Incorporated Variable length coding of coded block pattern (cbp) in video compression
DK2559246T3 (en) * 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
WO2011127963A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sample region merging

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1589023A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种基于上下文的多码表变长编解码方法及编解码装置
KR20090129939A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
CN101621692A (zh) * 2009-07-27 2010-01-06 宁波大学 一种基于预测模式的h.264/avc视频信息隐藏方法
CN101841700A (zh) * 2010-05-18 2010-09-22 宁波大学 一种面向h.264压缩比特流的视频水印方法

Also Published As

Publication number Publication date
US20130034153A1 (en) 2013-02-07
CN104837016A (zh) 2015-08-12
CN102939756A (zh) 2013-02-20
CN105187827A (zh) 2015-12-23
CN105306943B (zh) 2018-07-31
CN105306943A (zh) 2016-02-03
US20160353104A1 (en) 2016-12-01
US20150256836A1 (en) 2015-09-10
CN102939756B (zh) 2016-03-02
KR101791242B1 (ko) 2017-10-30
KR20110115986A (ko) 2011-10-24
US9743085B2 (en) 2017-08-22
US9451270B2 (en) 2016-09-20
CN105187827B (zh) 2019-01-11
US10250881B2 (en) 2019-04-02

Similar Documents

Publication Publication Date Title
CN104837016B (zh) 视频解码设备
CN105430404B (zh) 视频解码设备
CN106067973B (zh) 视频解码设备
CN102986213B (zh) 视频编码/解码设备和方法
CN105704490B (zh) 视频编码设备
CN101385347B (zh) 视频帧内预测编码/解码的装置与方法
KR102127401B1 (ko) 비디오 신호의 처리 방법 및 장치
CN103262541B (zh) 使用四叉树来编码/解码块信息的方法、和使用该方法的装置
CN103329523B (zh) 使用经映射变换和扫描模式的视频译码
KR20160003593A (ko) 영상 부호화/복호화 방법 및 장치
CN103975597A (zh) 纹理及深度视图分量当中的内部视图运动预测
CN103444182A (zh) 存储运动信息的方法和使用该方法导出时间运动矢量预测值的方法
CN104956674A (zh) 用于最末重要系数位置编码中的上下文减少的设备和方法
CN113454990A (zh) 帧间预测编解码方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant