CN102948149A - 视频编码/解码设备和方法 - Google Patents

视频编码/解码设备和方法 Download PDF

Info

Publication number
CN102948149A
CN102948149A CN2011800298782A CN201180029878A CN102948149A CN 102948149 A CN102948149 A CN 102948149A CN 2011800298782 A CN2011800298782 A CN 2011800298782A CN 201180029878 A CN201180029878 A CN 201180029878A CN 102948149 A CN102948149 A CN 102948149A
Authority
CN
China
Prior art keywords
block
sub
pixels
prediction
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800298782A
Other languages
English (en)
Other versions
CN102948149B (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
Priority to CN201510212743.XA priority Critical patent/CN104853217A/zh
Priority to CN201610028034.0A priority patent/CN105430404B/zh
Priority claimed from PCT/KR2011/002762 external-priority patent/WO2011129672A2/ko
Publication of CN102948149A publication Critical patent/CN102948149A/zh
Application granted granted Critical
Publication of CN102948149B publication Critical patent/CN102948149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • 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

Abstract

本发明涉及视频编码/解码设备和方法。根据本发明一个实施方式的视频编码/解码设备包括:视频编码器,其通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换方案对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码后视频数据,以及在针对所划分的子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及视频解码器,其恢复与分割类型、运动和变换类型信息以及量化变换系数有关的信息,通过利用按照由所恢复的变换类型信息识别的变换方案对所述量化变换系数进行逆量化和逆变换来恢复残留子块,通过利用所恢复运动信息预测根据所恢复分割类型信息而识别的子块来生成预测子块,以及通过将所述预测子块与所述残留子块相加来恢复所述子块。

Description

视频编码/解码设备和方法
技术领域
本发明涉及视频编码/解码设备和方法。更具体地说,本发明涉及一种用于通过将扩展宏块划分为各种大小和形状的子块并根据这些子块的大小和形状利用不同的预测单元和变换单元进行视频编码来提高视频压缩效率的设备和方法。此外,本发明涉及一种用于通过根据从这种视频编码设备接收到的比特流进行视频解码来提高视频重构效率的设备和方法。
背景技术
当前的视频数据压缩技术包括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规定对宏块进行再次划分和编码,但是宏块的大小仍然是固定的),仍然要实现对高分辨率视频的有效编码。
此外,视频的编码和解码之间的统一操作使得难以从高分辨率视频编码的已经劣化的压缩效率实现高效率的视频解码。
发明内容
技术问题
因此,为了解决上述问题,本发明尝试通过以下处理来提高视频压缩效率和视频重构效率:将宏块扩展为各种大小,将扩展宏块划分为各种大小和形状的子块,以及利用根据这些子块的大小的不同的预测单元和变换单元来进行视频编码/解码。
采用的技术方案
本发明的实施方式提供了一种视频编码/解码设备,该视频编码/解码设备包括:视频编码器,其用于通过预测宏块划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码视频数据,以及在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及视频解码器,其用于通过对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换信息,通过利用有所述变换类型信息识别的变换来对所述量化变换系数进行逆量化和逆变换,通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测子块,以及通过将所述预测子块与所述残留子块相加来重构所述子块。
本发明的另一实施方式提供了一种视频编码设备,该视频编码设备包括:预测器,其用于通过预测宏块划分成的子块来生成预测子块;减法器,其用于通过从所述子块中减去所述预测子块来生成残留子块;变换器/量化器,其用于通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及编码器,其用于通过对所述量化变换系数进行编码来生成编码视频数据,其中,所述视频编码设备在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。
这里,所述编码成本可以根据所述子块的所述大小是否大于预定像素块的大小来不同地选择和计算。
此外,当所述子块的所述大小等于或小于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。
RDcost=SATD(or SAD)+λ·Bit[block type,prediction info,CBP]
这里,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值的和,“SATD”表示变换残留块的绝对值的和,“λ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
此外,当所述子块的所述大小等于或大于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。
RDcost=Distortion+λ·Bit[block type,prediction info,CBP,coefficient]
这里,“RDcost”表示基于比特率失真优化技术的编码成本,“λ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
此外,所述编码成本可以根据预定图片是否被用作基准图片来不同地选择。
本发明的另一实施方式提供了一种视频解码设备,该视频解码设备包括:解码器,其用于通过对选择性地确定了编码成本的编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;逆量化器和逆变换器,其用于通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;预测器,其用于通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块;以及加法器,其用于通过将所述预测子块与所述残留子块相加来重构所述子块。
本发明的另一实施方式提供了一种视频编码/解码方法,该视频编码/解码方法包括以下步骤:通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码并且在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本来生成编码视频数据;以及通过对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数,通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块,通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块,并且通过将所述预测子块与所述残留子块相加来重构所述子块。
本发明的另一实施方式提供了一种视频编码方法,该视频编码方法包括以下步骤:通过预测宏块被划分成的子块来生成预测子块;通过从所述子块中减去所述预测子块来生成残留子块;通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及通过对所述量化变换系数进行编码来生成编码视频数据,其中,在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。
这里,所述编码成本可以根据所述子块的所述大小是否大于预定像素块的大小来不同地选择和计算。
此外,当所述子块的所述大小等于或小于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。
RDcost=SATD(or SAD)+λ·Bit[block type,prediction info,CBP]
这里,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值的和,“SATD”表示变换残留块的绝对值的和,“λ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
此外,当所述子块的所述大小等于或大于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。
RDcost=Distortion+λ·Bit[block type,prediction info,CBP,coefficient]
这里,“RDcost”表示基于比特率失真优化技术的编码成本,“λ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
此外,所述编码成本可以根据预定图片是否被用作基准图片来不同地选择。
本发明的另一实施方式提供了一种视频解码方法,该视频解码方法包括以下步骤:通过对选择性地确定了编码成本的编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块;以及通过将所述预测子块与所述残留子块相加来重构所述子块。
有益效果
根据上述本发明,通过以下处理来提高视频压缩效率和视频重构效率:将扩展宏块划分为各种大小和形状的子块,以及根据这些子块的大小利用不同的预测单元和变换单元来进行视频编码/解码。
附图说明
图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是例示根据帧内预测模式的变换类型的示例的图;
图49是例示基于根据当前块的帧内预测模式的水平变换类型和垂直变换类型的变换类型的示例的图;
图50是用于描述根据本发明的第二实施方式确定预测运动向量的处理的例示图;
图51是例示用于对各个块分组的代表性运动向量进行编码的分配码的示例的图;
图52是例示当前块、相邻块和共同位置块的图;
图53是例示用于对各个块的运动信息进行编码的分配码的示例的图;
图54是例示根据块层的子块形状的示例的图;
图55是例示根据本发明的实施方式的帧内图片的宏块、子块和预测子块的句法的例示图;
图56是例示根据本发明的实施方式的帧间图片的编码后数据的句法结构的例示图;
图57是例示对宏块中的CBP标记和变换信息进行编码的处理的示例的图。
具体实施方式
根据本发明的实施方式的视频编码设备和视频解码设备可以是个人计算机(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
这里,“Distortion”表示编码目标块与重构块之间的误差值,“λ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所必需的比特数。在该情况下,在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时,可以选择性地计算和确定编码成本。所述编码成本可以根据所述子块的所述大小是否大于预定像素块的大小(例如,16x16像素块)来不同地选择和计算。
确定块模式可以包括针对所有类型的可用块确定各个块的最优预测模式(帧内预测模式和运动数据)的处理和确定块类型的另一处理。总体上,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。 Distortion = Σ l = 1 N Σ k = 1 M | B ( k , l ) - B * ( k , l ) | 2 式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/2xN/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和类似方法确定的帧内预测模式和通过针对mxn像素的单位按照九个预测方向对当前块进行预测和预测编码来按照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/2KxN/2K像素块没有被再次划分,则分割类型编号0被分配给宏块层K的N/2KxN/2K像素块。如果宏块层K的N/2KxN/2K像素块被划分为两个N/2KxN/2K+1像素块,则分割类型编号1被分配给宏块层K的N/2KxN/2K像素块。如果宏块层K的N/2KxN/2K像素块被划分为两个N/2K+1xN/2K像素块,则分割类型编号2被分配给宏块层K的N/2KxN/2K像素块。如果宏块层K的N/2KxN/2K像素块被划分为四个N/2K+1xN/2K+1像素块,则分割类型编号3被分配给宏块层K的N/2KxN/2K像素块。标记在宏块层K的N/2KxN/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]
Figure BDA00002601677200241
[表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/2xN/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来进行计算。 mvL 0 = mvCol × tb td 式5
此外,由于mvL1与mvCol在相同的方向上,所以它们可以通过式6来计算。 mvL 1 = - mvCol × td - tb td = mvL 0 - mvCol 式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]
Figure BDA00002601677200391
此外,如果CBP16标记不是0并且16x16像素块被划分为两个8x16或16x8像素块,则利用表4按照16x16像素块为单位对变换类型进行编码。
[表11]
Figure BDA00002601677200392
如果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所示的分组区域的分割类型值的处理时,分组区域的分割类型值可以分配为如图36C所示。当直到层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像素块中是否存在非零量化变换系数的标记。
下文将描述本发明的第二实施方式。具体地说,在本发明的第二实施方式中,将详细描述根据预测子块和变换子块而改变的句法结构以及预测子块的预测模式。
根据第二实施方式,输入视频可以按照帧为单位或者按照字段为单位输入到视频编码设备100,或者可以在被划分为NxN像素宏块(N:大于或等于16的整数)之后输入到视频编码设备100。下文描述的宏块可以被划分为正方形子块。此外,各个宏块和子块可以出于帧内预测或帧间预测的目的划分为预测子块。为了预测的目的,宏块和子块可以划分为具有诸如MxM,(M/2)x(M/2),Mx(M/2),(M/2)xM,1xM和Mx1(M=N)的可变大小的子块。此外,可以根据变换子块来确定变换类型,并且可以通过按照与预测子块中相似的方式划分宏块和子块来获得变换子块。另一方面,如果输入视频的大小不是N的倍数,则输入视频可以按照随机方式被填充为N的倍数,接着可以进行视频压缩。在该情况下,视频编码设备和视频解码设备可以根据视频大小来同样地执行填充方法。
例如,如果没有进行填充,则可以利用视频边界或片段边界上不具有NxN像素但具有SxT像素(S<N和/或T<N)的宏块或子块进行编码。
宏块的大小可以不同于预测子块的大小。例如,如果帧内预测宏块的大小是32x32,则预测子块可以被编码并解码为诸如32x32,16x16,16x4,4x16,8x8,8x2,2x8,4x4,4x1和1x4的可变大小。在该情况下,视频编码设备可以对预测子块的编码大小信息和各个划分的预测子块的帧内预测模式进行编码,并且视频解码设备可以对预测子块的解码大小信息和各个划分的预测子块的帧内预测模式进行解码。作为另一示例,如果帧间预测宏块的大小是32x32,则预测子块可以被编码并解码为诸如32x32,32x16,16x32,16x16,16x8,8x8,8x4,4x8和4x4的可变大小。
此外,在宏块被划分为子块之后,子块可以被再次划分为预测子块。例如,在64x64宏块被划分为四个32x32子块之后,可以进行对诸如32x32,16x16,16x4,4x16,8x8,8x2,2x8,4x4,4x1和1x4的随机预测子块大小进行编码和解码。
如果宏块或划分的子块的一边的长度大于8像素,则可以省略对正方形预测子块的划分,并且可以进行编码。例如,如果宏块是64x64像素块,则64x64预测子块、64x32预测子块和32x64预测子块可以属于宏块层0,并且32x32预测子块、32x16预测子块和16x32预测子块可以属于宏块层1。16x16预测子块、16x8预测子块和8x16预测子块可以属于宏块层2。8x8预测子块、8x4预测子块、4x8预测子块和4x4预测子块可以属于宏块层3。
视频编码设备100在宏块被划分为子块的情况下计算各个子块的编码效率,并且将提供最高编码效率的子块确定为最终的帧内预测子块或帧间预测子块。编码效率可以基于式1所示的率失真优化(RDO)技术来进行测量。
在确定块类型时,可以利用式8来严格地计算“RDcost”。
RDcost=Distortion+λ·Bit[block type,prediction infor,transform info,CBP,coefficient]
                                                                            式8
式8中的“Distortion”可以表示为式4。
与式2比较,式8可以计算更准确的编码效率但是需要更大的计算量。因此,在本发明的实施方式中,可以根据数据的优先级(是否用作基准图片)或编码模式选择性地使用式2或式8。
下文中,将根据图片类型描述根据本发明的第二实施方式的视频编码方法和通过该视频编码方法生成的编码数据。将参照图1所示的视频编码设备100来描述根据本实施方式的视频编码方法。然而,从以下描述可以容易地理解,视频编码设备100中的一些元件进行与第一实施方式不同的操作。
预测器110的帧内预测器112利用要编码的块(下文称作“当前块”)的相邻像素生成基准块,并且通过将当前块与基准块相比较来确定帧内预测模式。这里,相邻像素包括与当前块相邻的像素,并且还包括包括在与当前块相邻的块中的像素。此外,相邻像素还可以包括利用相邻像素计算的像素。
帧内预测器112针对各个划分的帧内预测子块选择一个帧内预测模式,并且利用选择的预测方向对当前块进行帧内预测编码。用于帧内预测的预测模式的数量可以根据预测子块的大小改变,并且可以根据相邻像素的存在/不存在而改变。在本实施方式中,九个预测模式可以用于4x4预测子块和8x8预测子块,并且四个预测模式用于16x16预测子块。
对当前块的所选择的预测方向与当前块的左侧块和上侧块当中具有较小预测模式编号的块的预测方向进行比较。较小的预测模式编号被用作预测模式,并且指示当前块的预测模式和预测方向是否相同的预测模式标记(其可以通过例如1比特来表示)被编码。例如,如果左侧块模式和上侧块模式被用作预测模式并且这两个模式中的任一个与当前块的预测模式相同,则利用预测模式标记对与预测模式的相同进行编码,并且指示预测模式是否与左侧块的预测模式或者上侧块的预测模式相同的预测模式索引被编码。
如果两个预测模式(上侧块的预测模式和左侧块的预测模式)被使用,并且两个预测模式与当前预测模式不同,则指示除了该两个预测模式以外的剩余预测模式的预测模式信息(即,预测模式索引)被编码。此外,作为指示两个预测模式当中除使用较小预测模式编号的预测模式编号以外的剩余预测模式中的哪一个与当前块的预测模式相同的信息的预测模式编号被编码。根据本发明的视频编码设备和视频解码设备按照相同的方式执行以上操作。
色度分量的帧内预测可以使用独立于亮度分量的预测模式、水平预测模式、垂直预测模式、根据亮度分量的帧内预测模式的模式和使用亮度分量的像素特性的预测模式的诸如平均值预测模式的预测模式。色度分量的帧内预测可以按照(N/2)x(N/2)像素块为单位进行,即,按照亮度分量的宏块大小NxN的水平/垂直一半为单位进行。存在两种类型的色度信号,即,U和V,但是预测方向相同。类似于亮度信号的预测模式,可以利用左侧块的预测模式和右边块的预测模式来对色度分量的预测模式进行预测和编码。另选地,无需预测,可以通过根据预测模式的概率确定的表来对预测模式进行编码。
图47例示根据本发明的实施方式的色度分量的预测模式表。
根据如上所述确定的帧内预测模式,帧内预测器112通过预测当前块来生成预测子块。减法器120通过从当前块中减去预测块来生成残留块。变换器/量化器130通过对残留块进行变换和量化来生成量化变换系数。编码器140通过对量化变换系数进行熵编码来生成编码后数据。
图48是例示根据帧内预测模式的变换类型的示例的图。
变换器/量化器130可以根据当前块的帧内预测模式选择变换类型。例如,参照图48,如果当前块是垂直预测模式,则可以进行DCT,并且如果当前块是水平预测模式,则可以进行DST。
图49是例示基于根据当前块的帧内预测模式的水平变换类型和垂直变换类型的变换类型的示例的图。
另选地,可以根据当前块的帧内预测模式选择水平变换类型和垂直变换类型。例如,参照图49,如果当前块是垂直预测模式,则水平变换可以是DST,垂直变换可以是DCT。
并且,色度分量可以独立于亮度分量根据色度分量的帧内预测模式来选择变换类型,并且可以遵循亮度分量的变换类型。
在P图片或P片段的情况下,可以通过运动估计对所有块进行编码。另选地,根据块类型和块位置,可以不进行运动估计。例如,如果32x32宏块被编码为16x32预测子块,则第一块可以不进行运动估计,并且已编码块(即,相邻块或共同位置块(处于与最近基准图片中的当前块相同的位置))的运动信息(预测方向、运动向量和基准图片)可以完好地使用。在该情况下,确定了相邻块的运动信息的候选,并且对关于使用哪个候选的信息被编码。
在B图片或B片段的情况下,在各个块中可以选择多达两个基准图片,其分别称为L0预测和L1预测。两个基准图片执行不同的功能。总体上,L0预测(列表0预测,主要用作前向预测)用作前向预测,L1预测(列表1预测,主要用作反向预测)用作反向预测。此外,B图片可以按照与上述的P图片相同的方式进行编码。
运动向量由编码器140进行编码,并被包括在编码后数据中。编码器140使用当前块的相邻块的运动向量和共同位置块的运动向量作为预测运动向量(PMV)。编码器140通过对作为预测运动向量与当前块的运动向量之间的差向量的差运动向量(DMV)以及PMV信息进行编码来生成运动信息。这里,除了差运动向量以外,编码器140还可以对基准图片索引进行编码。即,运动信息可以包括差运动向量、基准图片索引和PMV信息。编码器140可以通过对运动信息进行编码来生成运动信息数据,并且将运动信息数据包括在编码后数据中。
图50是用于描述根据本发明的第二实施方式确定预测运动向量的处理的例示图。
图50例示在当前块被编码为64x64预测子块的时候用来确定当前块的预测运动向量(PMV)的相邻块和共同位置块。在图50中,“T”表示包括当前块的图片的序列,“T-1”表示在当前图片之前编码的图片。相邻块被划分为组A、组B和组C,确定了各个组的代表性运动向量,并且确定了三个代表性运动向量当中的当前块的预测运动向量。在该情况下,可以按照随机方式确定代表性运动向量。例如,在从A0到Aj的组A的情况下,可以将具有与当前块的预测方向上相同基准图片的块的运动向量确定为代表性运动向量。如果不存在具有与当前块的预测方向上相同基准图片的运动向量,则(0,0)可以确定为代表性运动向量。
另选地,在各个组中可以不同地设置代表性运动向量。例如,在组C的情况下,没有从C0找到代表性运动向量,但是具有与当前块的预测方向上相同基准图片的运动向量可以按照从共同位置块的中心的上左侧开始的顺时针或逆时针方向确定为代表性运动向量。
另选地,各个组中的特定位置处的运动向量可以被设置为代表性运动向量。例如,组B的位置B0处的运动向量可以是代表性运动向量,组A的位置Aj处的运动向量可以是代表性运动向量,并且组C的位置Ck处的运动向量可以是代表性运动向量。
这里,可以由根据本发明的编码器和解码器按照相同的方式执行设置代表性运动向量的随机方法。
图51是例示用于对各个块分组的代表性运动向量进行编码的分配码的示例的图。
此外,在确定了代表性运动向量之后,按照随机方式确定各个代表性运动向量的优先级,并且对选作当前块的预测运动向量的多个代表性运动向量进行编码。例如,如果因为不存在具有与当前块的预测方向相同基准图片的运动向量,A组的代表性运动向量被设置为(0,0),如果组B的代表性运动向量被设置为与当前预测向量的预测方向相同的基准图片的运动向量B0,并且如果组C的代表性运动向量被设置为位置Ck处的代表性运动向量,则各个代表性运动向量的优先级如下。按照在具有与当前块的预测方向相同的基准图片的块中确定的代表性运动向量的组B、具有固定位置的代表性运动向量的组C和具有确定为(0,0)的代表性运动向量的组A的顺序参照图51对多个各个代表性运动向量进行编码。
在各个代表性运动向量当中,仅剩余相同运动向量中的一个。例如,组B和组C的代表性运动向量相同,对组B和组A的代表性运动向量当中选作当前块的预测运动向量的代表性运动向量信息进行编码。在该情况下,视频编码设备和视频解码设备按照相同的方式操作。
并且,在本发明的实施方式中,相邻块或共同位置块的零向量或运动信息可以用作当前块的运动信息(即,诸如预测方向、运动向量和基准图片(其被称作预测运动信息候选组)),其被称为批模式。这里,零向量是指具有运动向量(0,0)、预测向量列表0和索引0的基本运动信息。在批模式的情况下,视频编码设备不进行运动估计处理。并且,预测运动信息候选组可以与预测运动向量候选组相同或不同。例如,参照图52,可以从相邻块A、B和D、共同位置块C和零向量当中选择当前块的运动信息。这里,在零向量的情况下,预测方向不仅可以固定为列表0,而且可以是列表1或者双向预测。并且,基准图片可以固定为最靠近当前图片的图片。此外,从预测运动信息候选组当中选择的预测运动信息候选组参照图53进行编码。如果所有运动信息相同,则仅一个可以留在预测运动信息候选组中。
此外,根据当前块的大小和位置,可以使用或者不使用批模式。例如,在图54中的N/2xN/4块的情况下,第一块可以使用相邻块的运动信息,并且第二块可以通过运动估计来确定运动信息。另选地,如果利用相邻运动信息和通过运动估计获得的运动信息来进行编码,则两个当中具有最小成本的运动信息最终通过式1来选择。在该情况下,指示是否使用了相邻运动信息或运动信息的批模式标记被编码。如果使用了相邻运动信息,则预测运动信息候选组当中的预测运动信息被编码。这里,由于第一块总是使用批模式,所以批模式标记不被编码,并且预测运动信息索引被编码。并且,在第二块的情况下,指示是否使用批模式的批模式标记被编码,并且运动信息(例如,预测方向、差运动向量和基准图片索引)被编码。另选地,在4x4块的情况下,位于右下方的块可以仅通过运动估计而无需使用批模式来确定运动信息。在该情况下,视频编码设备和视频解码设备按照相同的方式操作。
并且,在本发明的实施方式中,SKIP模式(跳过模式)被用于宏块或子块。如果宏块或子块是跳过模式,则可以通过随机指定运动信息来进行运动估计和补偿。
例如,预测方向和基准图片被固定为双向预测和各个预测方向的第一基准图片,并且运动向量通过预测运动向量进行运动估计和补偿。预测运动向量参照图50和图51对各个预测方向的预测运动向量信息进行编码。
另选地,参照图52和图53,当前跳过块的运动信息可以利用预测运动信息来编码。在该情况下,可以使用预测运动信息的基准图片和预测方向,或者它们可以被固定为随机基准图片和随机预测方向。
再次参照图1,编码器140通过生成用于识别针对各个块选择的变换的类型的变换子块分割标记并对其进行编码来生成变换类型数据。变换类型数据被包括在编码后数据中。此外,可用变换类型可以编码在头中,并且变换类型可以独立于预测子块的大小根据宏块或子块来确定,或者可以根据预测子块的预测模式(帧间预测、帧内预测)来确定。
例如,如果当前宏块的大小是64x64并且其未被划分为子块,并且如果帧间预测子块的大小是64x32,则当前可用变换类型是32x32,16x16和8x8变换。另选地,如果当前宏块的大小是64x64并且其未被划分为16x16子块,并且如果帧间预测子块的大小是4x4,则当前可用变换类型是16x16,8x8和4x4变换。在该情况下,按照宏块或子块为单位对变换子块分割标记进行编码。即,不仅能够进行帧间预测编码而且能够进行帧内预测编码。
图55是例示根据本发明的实施方式的帧内图片的宏块、子块和预测子块的句法的例示图。
这里“差量QP”是用于将按照当前编码的宏块或子块为单位应用的QP告知视频解码设备的信息。具体地说,“差量QP”表示按照当前编码的宏块或子块为单位应用的QP与头(例如,片段头、图片头和序列头)中编码的QP之间的差。因而,视频解码设备可以通过将差量QP与头(例如,片头、图片头和序列头)中编码的QP相加来获得按照当前编码的宏块或子块应用的QP。此外,差量QP的使用可以编码在头中。即,如果头信息指示差量QP的使用,则差量QP编码在宏块或子块中。
帧内图片的编码后数据可以包括诸如分割类型、帧内预测模式、变换类型、CBPX_flg/CBP(编码块图案X-标记/编码块图案)和编码系数的多个字段。视频编码设备100的编码器140通过对分割类型、帧内预测模式、变换类型、CBPX_flg/CBP和编码系数进行编码并将其分配给各个字段来生成编码数据。
然而,图55所示的帧内图片的编码数据的句法仅是示例性的,并且不必如图55所示构造。即,应当注意,帧内图片的编码数据的句法的全部或一部分的序列可以与图55所示不同地改变,并且可以省略句法的一部分。
在图55中,分割类型字段可以分配有表示与将宏块划分为子块相关的信息并且表示各个宏块和子块是否被划分的分割标记。
根据本发明的实施方式,当宏块被划分为如图19所示时,各个分隔层的分割类型可以根据分割类型编码序列来顺序地编码,以对宏块的分割类型信息进行编码。
图20顺序地例示了逐个分隔层(其例示在图19中)来划分宏块的处理。参照图20,在宏块层0(L0)中,64x64像素子块被划分为四个32x32像素子块,并且利用1对分割标记进行编码。在层1(L1)中,L1-P0(宏块层1的分割编号0)子块和L1-P3(宏块层1的分割编号3)子块被再次划分为四个16x16像素子块,利用1对分割标记L1-P0和L1-P3进行编码,并且L1-P1(宏块层1的分割编号1)子块和L1-P2(宏块层1的分割编号2)子块分别被再次划分为16x32像素子块和32x16像素子块。由于L1-P1和L1-P2子块没有被再次划分,所以利用0对分割标记进行编码。在层2(L2)中,L2-P0(宏块层2的分割编号0)子块被再次划分为四个8x8像素子块,并且利用1对分割标记进行编码。L2-P3(宏块层2的分割编号3)子块被再次划分为两个16x8像素子块,并且利用1对分割标记进行编码。在宏块层3(L3)中,L3-P0(宏块层3的分割编号0)子块和L3-P1(宏块层3的分割编号1)子块分别被再次划分为四个4x4像素子块,并且利用0对分割标记进行编码。
当如图22所示划分宏块时,在宏块的各个子块的编码序列中参照图55对各个子块的句法进行编码。
在帧内预测的情况下,指示从相邻块估计出的预测模式当中是否存在与当前块的预测模式相同的预测模式的预测模式标记被编码。如果估计出的预测模式与当前块的预测模式相同,则预测模式标记的值变为1,并且指示哪一个估计出的预测模式与当前块的预测模式相同的信息被编码。此外,如果预测模式标记指示当前编码目标块的预测模式与从相邻块估计出的当前块的预测模式不同,则指示当前块的预测模式与从相邻块估计的当前块的预测模式不同的预测模式标记以及指示根据相关子块的大小的各个帧内预测方向当中除从相邻块估计的当前块的预测模式以外的剩余预测模式中的任一个的预测模式编号被编码为当前块的帧内预测模式,以生成帧内预测模式数据。
在帧内预测编码中,考虑变换类型的编码块图案标记(CBP_flag)可以被编码,并且其可以分配给CBP标记。分配给CBP字段和CBP标记的CBP数据指示根据变换子块大小的各个变换块中是否包括非零量化变换系数。
图56是例示根据本发明的实施方式的帧间图片的编码数据的句法结构的例示图。
这里,块类型指示相关宏块或子块是否为帧间块或帧内块。
图56例示了在作为帧间图片的输入视频根据本发明的实施方式进行编码时生成的编码数据的句法结构。如图56所示,根据本发明的实施方式的帧间图片的编码数据可以包括分割标记、跳过标记、差量QP和块类型中的一个或更多个字段。如果宏块或子块是帧内宏块,则编码后数据还可以包括帧内预测模式、变换信息/CBP标记和变换系数当中的一个或更多个字段。如果宏块或子块是帧间宏块,则编码后数据还可以包括预测运动信息标记、预测运动信息、运动信息(预测方向、预测运动向量、差运动向量和基准图片索引)、变换信息/CBP标记和变换系数当中的一个或更多个字段。
然而,图56所示的帧内图片的编码后数据的句法仅是示例性的,并且不必如图56所示进行构造。即,应当注意,帧间图片的编码数据的句法的全部或一部分的序列可以与图56所示不同地改变,并且可以省略句法的一部分。
再次参照图1,视频编码设备100的编码器140对指示作为当前编码目标的宏块或子块是否为跳过块的SKIPN标记进行编码。例如,如果宏块是64x64像素块,则指示64x64像素宏块是否为跳过块的跳过标记被编码,并且如果宏块是划分为子块的32x32像素块,则指示32x32像素宏块是否为跳过块的跳过标记被编码。如果宏块或子块是跳过块,则由于当前宏块或子块没有要编码的数据,所以下一个宏块或子块被编码。如果宏块或子块不是跳过块,则指示宏块或子块是帧内宏块还是帧间宏块的宏块类型标记被发送。例如,如果当前要编码的输入视频是P图片,则可用宏块类型是I-宏块和P-宏块;如果当前要编码的输入视频是B图片,则可用宏块类型是I-宏块和B-宏块。诸如分割类型、帧内图片的帧内预测模式、分割信息/CBP标记和变换系数的字段已经参照图22进行了描述。因而,诸如帧间图片的跳过标记、预测运动信息标记、预测运动信息、运动信息(预测方向、预测运动向量、差运动向量和基准图片索引)和变换系数的字段将在下文描述。
在P图片或P片段的情况下,图54中的所有块类型可以用于运动估计,并且可以按照宏块或子块为单位选择帧内模式或帧间模式。即,帧内模式和帧间模式这两者可以用于P图片或P片段的宏块。如果编码目标是32x32像素块,则可以通过分割标记来指示是按照32x32像素块为单位还是按照16x16像素块为单位进行编码。例如,如果分割标记是1,则指示32x32宏块在编码之前被划分为16x16子块;并且如果分割标记是0,则指示按照32x32宏块为单位进行编码。如果分割标记是1,则宏块可以被划分为四个16x16像素块,使得可以按照16x16像素块为单位确定其为帧内模式还是帧间模式。此外,各个16x16像素块可以在编码之前被划分为较小的子块。
根据本发明的实施方式在B图片中可用的编码模式的示例包括帧内模式、跳过模式、L0预测、L1预测、双向预测和批模式。
帧内模式可以利用与上述相同的帧内编码方法进行编码。可以按照宏块为单位选择帧内模式,或者可以按照子块为单位来选择。
跳过模式发送指示要编码的当前块是跳过模式的标记以及预测运动向量标记。这里,跳过模式可以用于宏块或子块,利用预测B_pred_dir、预测运动向量MVD、预测ref_idx等来进行运动补偿,并且通过运动补偿获得的基准块是重构块。这里,B_pred_dir是B图片的预测方向,其表示两个方向L0和L1。
L0预测是仅使用L0运动信息的单向预测,L1预测是仅使用L1运动信息的单向预测。双向预测是使用L0运动信息和L1运动信息并且使用两个图片的平均值作为基准图片的预测。B图片的运动估计方法的示例包括直接预测模式的运动估计/补偿方法、跳过模式的运动估计/补偿方法、单向预测(L0预测和L1预测)的运动估计/补偿方法和双向预测的运动估计/补偿方法。
针对L0预测、L1预测和双向预测,块可以使用不同的基准视频。
在批模式的情况下,不进行运动估计,并且已经编码块或者相邻块的运动信息(例如,预测方向、运动向量和基准图片)可以用作当前块的运动信息。这与参照图52和图53所述相同,因而将省略对其详细描述。
根据本发明的实施方式的B图片的跳过标记的编码处理类似于P图片的跳过标记的编码处理,因而省略对其的详细描述。然而,在B图片的情况下,跳过标记、L0预测运动向量标记和L1预测运动向量标记被编码。
针对不是跳过块的宏块的子块,包括作为相关子块的预测子块的运动向量与利用相关预测子块的相邻块估计的预测运动向量之间的差向量的差运动向量(DMV)、基准图片索引、预测方向和预测运动向量的运动信息被编码。
根据子块或宏块的变换子块来确定变换类型。变换子块表示宏块或子块中的变换子块的大小。例如,如果当前子块的大小是32x32,并且变换类型可以是32x32,16x16,8x8或4x4,则变换类型可以通过变换子块分割标记来进行编码和解码。如果当前子块的变换类型是16x16,则当利用1对子块分割标记进行编码时,表示16x16变换子块。
图57例示对宏块中的CBP标记和变换信息进行编码的处理的示例的图。
参照图7,宏块中的亮度信号和色度信号被组合,确定是否存在非零量化变换系数(S5701)。如果不存在非零量化变换系数,则亮度分量和色度分量的CBP标记(指示不存在非零量化变换系数的标记)被编码(S5702)。如果存在非零量化变换系数,则指示变换子块是否被划分的变换子块分割标记被编码(S5703)。如果变换子块被划分,则确定各个变换子块是否被再次划分(S5704)。如果变换子块被再次划分,则指示变换子块是否被再次划分的变换子块分割标记被编码(S5703)。如果变换子块没有被再次划分,则确定变换子块中的亮度信号中是否存在非零量化变换系数(S5705),并且指示当前变换子块中的亮度分量中是否存在非零量化变换系数的CBP标记被编码(S5706和S5705)。此后,确定色度分量中是否存在非零量化变换系数(S5708),并且指示色度分量中是否存在非零量化变换系数的CBP标记被编码(S5709和S5701)。这里,色度分量的CBP标记可以在编码之前划分为Cb和Cr。
根据本发明的实施方式的可用长度编码方法与第一实施方式中所述的相同,因而将省略对其详细描述。
再次参照图35至图37,即使在用于进行分割标记编码的ctx_inc的情况下,各个句法的ctx_inc的示例也可以根据是否按照宏块被划分为的子块为单位对编码目标块的相邻块进行编码来使用不同的上下文表(在该情况下,分割标记可以被设置为二进制比特“1”)。这样,可以根据图片类型、相邻块的数据以及是否被用作基准图片来使用不同的上下文表。
下文中,将描述根据本发明的第二实施方式的视频解码方法和设备。将参照图46所示的视频解码设备4600来描述根据本实施方式的视频解码方法和设备。然而,将清楚地理解,从下文将描述和上文已描述的根据本发明的第二实施方式的编码方法和设备的操作可见,图46的视频解码设备的各个元件中的一些进行与根据第一实施方式的视频解码设备的对应元件不同的操作。
这里,将侧重于与第一实施方式的差别来描述根据本发明的第二实施方式的视频解码方法和设备。
参照图55,可以按照宏块或子块为单位来对编码量化参数进行解码。
然而,图55所示的视频编码数据的句法结构仅是示例性的,根据本发明的实施方式的视频编码数据的句法结构不限于图55所述的结构。
这里,重构帧内预测模式的方法如下。解码器4610通过对从各个预测子块的比特流中提取的帧内预测模式数据当中的1比特进行解码来重构预测模式标记。如果所重构的预测模式标记指示根据相关预测子块的帧内预测模式的预测方向与根据从相邻块估计的相关预测子块的帧内预测模式的预测方向相同,则解码器4610将从相邻块估计的相关预测子块的帧内预测模式重构为当前块的帧内预测模式,并且对下一个预测子块的帧内预测模式进行解码。如果所重构的预测模式标记指示根据相关预测子块的帧内预测模式的预测方向与根据从相邻块估计的相关预测子块的帧内预测模式的预测方向不同,则解码器4610对帧内预测模式数据的后续三个比特进行解码,并将所重构的帧内预测模式重构为当前块的帧内预测模式。所重构的帧内预测模式被输入到预测器4630的帧内预测器4632。
如果要解码的图片是帧间图片,则要由解码器4610在视频编码数据中解码的数据的类型和序列与图56所示相同。即,解码器4610通过对从比特流提取的分割标记数据进行解码来重构指示当前要解码的宏块是否被划分为子块的分割标记。接着,解码器4610对差量QP进行解码,并重构当前要解码的宏块或子块的QP。下文中,解码器4610对跳过标记数据进行解码,并且重构指示当前要解码的宏块或子块是否为跳过块的跳过标记。如果由所重构的跳过标记识别的当前块不是跳过块,则解码器4610对从比特流提取的预测运动信息标记和块类型数据进行解码,并且重构关于当前要解码的块是否为帧间块和批模式的信息。如果当前块是批模式,则解码器4610解码并重构预测运动信息,并且如果当前块不是批模式,则解码器4610解码并重构运动信息。此后,解码器4610根据变换信息解码并重构变换信息和CBP。
如果由重构的宏块类型标记识别的宏块类型是帧内宏块,则与上述相同。如果宏块类型是帧间宏块,则解码器4610通过对仅针对块的跳过标记进行解码来重构跳过标记,并且通过对针对不是由重构的跳过标记识别的跳过块的预测子块的MVD/ref_idx数据进行解码来重构作为运动信息的运动向量和基准图片索引。另选地,如果当前块是批模式,则解码器4610重构预测的运动信息。重构的运动信息被输入到帧间预测器4634(其可通过运动补偿器来实现),并且所重构的CBP标记、变换类型和量化变换系数被输入到逆量化器/逆变换器4620,以便重构要解码的目标宏块或者目标宏块的子块的残留块。
视频解码设备4600可以根据宏块是帧间宏块或帧内宏块来如下构造。
例如,如果宏块是帧内宏块,则解码器4610通过对编码后数据进行解码来重构分割类型信息、帧内预测模式、变换信息、CBP标记和量化变换系数。逆量化器/逆变换器4620通过利用根据由分割类型信息识别的子块的大小选择的变换对量化变换系数进行逆量化/逆变换来重构残留子块。预测器4630通过利用帧内预测模式预测由分割类型信息识别的子块来生成预测子块。加法器通过将预测子块与残留子块相加来重构子块。
尽管已经针对例示性目的描述了本发明的示例性实施方式,但是本领域技术人员将理解,无需脱离本发明的实质特性,可以进行各种修改、添加和替换。因此,本发明的示例性实施方式不是针对限制目的而描述的。因此,本发明的范围不由以上实施方式而由权利要求及其等同物限定。
工业实用性
如上所述,本发明的实施方式对于通过视频编码/解码进行视频压缩的领域的应用非常有用,因为它们通过以下处理来改进视频压缩效率:将宏块划分为各种大小和形状的子块,以及利用根据这些子块的大小的不同的预测单元和变换单元来进行视频编码。
相关申请的交叉引用
如果适用,本申请要求在韩国于2010年4月16提交的专利申请No.10-2010-0035310以及于2011年4月16日提交的专利申请No.10-2011-0035426在35U.S.C§119(a)下的优先权,通过引用将其全部内容并入本文。此外,该非临时申请以基于韩国专利申请相同的原因要求在除美国以外的国家的优先权,并且通过引用将其全部内容并入本文。

Claims (18)

1.一种视频编码/解码设备,该视频编码/解码设备包括:
视频编码器,其通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码后视频数据,以及在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及
视频解码器,其通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数,通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块,通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块,以及通过将所述预测子块与所述残留子块相加来重构所述子块。
2.一种视频编码设备,该视频编码设备包括:
预测器,其通过预测宏块被划分成的子块来生成预测子块;
减法器,其通过从所述子块中减去所述预测子块来生成残留子块;
变换器/量化器,其通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及
编码器,其通过对所述量化变换系数进行编码来生成编码后视频数据,
其中,所述视频编码设备在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。
3.根据权利要求2所述的视频编码设备,其中,
所述编码成本是根据所述子块的大小是否大于预定像素块的大小来不同地选择和计算的。
4.根据权利要求2所述的视频编码设备,其中,
当所述子块的大小等于或小于所述预定像素块的大小时,所述编码成本根据下式来计算:
RDcost=SATD(or SAD)+λ·Bit[block type,prediction info,CBP]
其中,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值之和,“SATD”表示变换残留块的绝对值之和,“λ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
5.根据权利要求2所述的视频编码设备,其中,
当所述子块的大小等于或大于所述预定像素块的大小时,所述编码成本根据下式来计算:
RDcost=Distortion+λ·Bit[block type,prediction info,CBP,coefficient]
其中,“RDcost”表示基于比特率失真优化技术的编码成本,“λ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
6.根据权利要求2所述的视频编码设备,其中,
所述编码成本是根据预定图片是否被用作基准图片来不同地选择的。
7.根据权利要求2所述的视频编码设备,其中,
在针对各个子块计算编码效率时,所述视频编码设备根据下式计算所述编码成本并确定所述块类型:
RDcost=Distortion+λ·Bit[block type,prediction info,transform info,CBP,coefficient]
其中,“Distortion”表示编码目标块与重构块之间的误差值,“λ”表示由量化参数确定的常数,并且“Bit”表示对所述编码目标块进行编码所必需的比特数。
8.根据权利要求2所述的视频编码设备,其中,
所述视频编码设备利用批模式对当前块的运动信息进行编码,所述批模式包括相邻块的运动信息、共同位置块的运动信息和零向量作为预测运动信息候选组。
9.一种视频解码设备,该视频解码设备包括:
解码器,其通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;
逆量化器和逆变换器,其通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;
预测器,其通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块;以及
加法器,其通过将所述预测子块与所述残留子块相加来重构所述子块。
10.根据权利要求9所述的视频解码设备,其中,
所述视频解码设备从编码后数据中解码出预测运动信息标记以重构与当前要解码的当前块是否为批模式有关的信息,当所述当前块是所述批模式时重构预测运动信息,并且当所述当前块不是所述批模式时重构运动信息。
11.根据权利要求10所述的视频解码设备,其中,
所述批模式通过包括相邻块的运动信息、共同位置块的运动信息和零向量作为预测运动信息候选组来对所述当前块的运动信息进行编码。
12.一种视频编码/解码方法,该视频编码/解码方法包括以下步骤:
通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码后视频数据,并且在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及
通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数,通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块,通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块,并且通过将所述预测子块与所述残留子块相加来重构所述子块。
13.一种视频编码方法,该视频编码方法包括以下步骤:
通过预测宏块被划分成的子块来生成预测子块;
通过从所述子块中减去所述预测子块来生成残留子块;
通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及
通过对所述量化变换系数进行编码来生成编码后视频数据,
其中,在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。
14.根据权利要求13所述的视频编码方法,其中,
根据所述子块的大小是否大于预定像素块的大小来不同地选择和计算所述编码成本。
15.根据权利要求13所述的视频编码方法,其中,
当所述子块的大小等于或小于所述预定像素块的大小时,根据下式来计算所述编码成本:
RDcost=SATD(or SAD)+λ·Bit[block type,prediction info,CBP]
其中,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值之和,“SATD”表示变换残留块的绝对值之和,“λ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
16.根据权利要求13所述的视频编码方法,其中,
当所述子块的大小等于或大于所述预定像素块的大小时,根据下式来计算所述编码成本:
RDcost=Distortion+λ·Bit[block type,prediction info,CBP,coefficient]
其中,“RDcost”表示基于比特率失真优化技术的编码成本,“λ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
17.根据权利要求13所述的视频编码方法,其中,
根据预定图片是否被用作基准图片来不同地选择所述编码成本。
18.一种视频解码方法,该视频解码方法包括以下步骤:
通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;
通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;
通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块;以及
通过将所述预测子块与所述残留子块相加来重构所述子块。
CN201180029878.2A 2010-04-16 2011-04-18 视频编码/解码设备和方法 Active CN102948149B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510212743.XA CN104853217A (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法
CN201610028034.0A CN105430404B (zh) 2010-04-16 2011-04-18 视频解码设备

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20100035310 2010-04-16
KR10-2010-0035310 2010-04-16
KR1020110035426A KR101791078B1 (ko) 2010-04-16 2011-04-16 영상 부호화/복호화 장치 및 방법
KR10-2011-0035426 2011-04-16
PCT/KR2011/002762 WO2011129672A2 (ko) 2010-04-16 2011-04-18 영상 부호화/복호화 장치 및 방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN201610028034.0A Division CN105430404B (zh) 2010-04-16 2011-04-18 视频解码设备
CN201510212743.XA Division CN104853217A (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法

Publications (2)

Publication Number Publication Date
CN102948149A true CN102948149A (zh) 2013-02-27
CN102948149B CN102948149B (zh) 2017-09-26

Family

ID=45030488

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201610028034.0A Active CN105430404B (zh) 2010-04-16 2011-04-18 视频解码设备
CN201180029878.2A Active CN102948149B (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法
CN201510212743.XA Pending CN104853217A (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201610028034.0A Active CN105430404B (zh) 2010-04-16 2011-04-18 视频解码设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201510212743.XA Pending CN104853217A (zh) 2010-04-16 2011-04-18 视频编码/解码设备和方法

Country Status (3)

Country Link
US (3) US9686555B2 (zh)
KR (2) KR101791078B1 (zh)
CN (3) CN105430404B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104427335A (zh) * 2013-08-20 2015-03-18 联发科技股份有限公司 视频编码的变换方法及装置
CN104519366A (zh) * 2014-12-04 2015-04-15 广东中星电子有限公司 一种视频编码变换量化方法和装置
CN104581172A (zh) * 2014-12-08 2015-04-29 北京中星微电子有限公司 一种实现svc宏块级算法的硬件结构
CN105027565A (zh) * 2013-04-02 2015-11-04 明达半导体股份有限公司 视频处理方法及视频处理装置
CN105960803A (zh) * 2013-12-30 2016-09-21 谷歌公司 递归块分区
CN111263156A (zh) * 2019-02-20 2020-06-09 北京达佳互联信息技术有限公司 视频解码方法、视频编码方法及装置
CN112204968A (zh) * 2018-03-29 2021-01-08 弗劳恩霍夫应用研究促进协会 使用图片边界处理对图片进行编码和解码的装置和方法
CN113728631A (zh) * 2019-04-27 2021-11-30 北京字节跳动网络技术有限公司 帧内子块分割和多变换选择

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619972B1 (ko) * 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
US9549190B2 (en) * 2009-10-01 2017-01-17 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding image using variable-size macroblocks
US9172963B2 (en) * 2010-11-01 2015-10-27 Qualcomm Incorporated Joint coding of syntax elements for video coding
CA2853002C (en) * 2011-10-18 2017-07-25 Kt Corporation Method for encoding image, method for decoding image, image encoder, and image decoder
GB2495990A (en) * 2011-10-28 2013-05-01 Canon Kk Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set.
WO2013061549A1 (ja) 2011-10-28 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
PL2773111T3 (pl) 2011-10-28 2020-06-29 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów i urządzenie do dekodowania obrazów
KR20130050404A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
US9900615B2 (en) 2011-12-28 2018-02-20 Microsoft Technology Licensing, Llc Representative motion information for temporal motion prediction in video encoding and decoding
KR20130086004A (ko) * 2012-01-20 2013-07-30 삼성전자주식회사 병렬 처리가 가능한 엔트로피 부호화 방법 및 장치, 병렬 처리가 가능한 엔트로피 복호화 방법 및 장치
CN115052157A (zh) * 2012-07-02 2022-09-13 韩国电子通信研究院 图像编码/解码方法和非暂时性计算机可读记录介质
CN104604225B (zh) 2012-09-10 2018-01-26 太阳专利托管公司 图像编码方法、图像解码方法、图像编码装置、图像解码装置及图像编码解码装置
US20140079135A1 (en) * 2012-09-14 2014-03-20 Qualcomm Incoporated Performing quantization to facilitate deblocking filtering
KR101436949B1 (ko) * 2013-01-18 2014-09-03 연세대학교 산학협력단 영상 인코딩 방법 및 장치, 그리고 영상 처리 장치
US10110895B2 (en) * 2013-12-13 2018-10-23 Qualcomm Incorporated Signaling of simplified depth coding (SDC) for depth intra- and inter-prediction modes in 3D video coding
KR101737861B1 (ko) * 2014-01-20 2017-05-19 한국전자통신연구원 변환 깊이 기반 dct 사이즈 결정 장치 및 방법
WO2016123001A1 (en) * 2015-01-27 2016-08-04 Dolby International Ab Predictive image encoding and decoding with pixel group based quantization
MX2018002209A (es) * 2015-09-01 2018-03-23 Ericsson Telefon Ab L M Mejora espacial de bloques de transformacion.
KR20170058838A (ko) 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
WO2017086738A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
WO2017195608A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 動画像復号装置
EP3264768A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
CN117221573A (zh) * 2016-10-04 2023-12-12 英迪股份有限公司 图像解码方法、图像编码方法以及发送比特流的方法
EP3349454A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and device for coding a block of video data, method and device for decoding a block of video data
CN116193110A (zh) * 2017-01-16 2023-05-30 世宗大学校产学协力团 影像编码/解码方法
EP3383043A1 (en) * 2017-03-27 2018-10-03 Thomson Licensing Methods and apparatus for picture encoding and decoding
CN110786011B (zh) 2017-06-26 2021-09-24 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
JP2019041165A (ja) 2017-08-23 2019-03-14 富士通株式会社 画像符号化装置、画像復号装置、画像処理方法、及び画像処理プログラム
JP7147145B2 (ja) * 2017-09-26 2022-10-05 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
WO2019076138A1 (en) 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR ENCODING
WO2019164660A1 (en) 2018-02-23 2019-08-29 Futurewei Technologies, Inc. Position dependent spatial varying transform for video coding
PT3782361T (pt) 2018-05-31 2023-11-17 Huawei Tech Co Ltd Transformada que varia espacialmente com um tipo de transformada adaptativa
EP3809702B1 (en) 2018-06-15 2023-04-19 LG Electronics, Inc. Method and apparatus for cabac-based entropy coding
US10531124B1 (en) * 2018-06-25 2020-01-07 Google Llc Multi-stage coding block partition search
CN111277840B (zh) * 2018-12-04 2022-02-08 华为技术有限公司 变换方法、反变换方法以及视频编码器和视频解码器
CN111669592B (zh) * 2019-03-05 2022-11-25 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
SG11202109026SA (en) 2019-03-21 2021-09-29 Beijing Bytedance Network Technology Co Ltd Improved weighting processing of combined intra-inter prediction
CN117241024A (zh) * 2019-07-05 2023-12-15 Lg电子株式会社 解码设备和编码设备、存储介质及发送图像的数据的设备
WO2021132404A1 (ja) * 2019-12-26 2021-07-01 日本放送協会 符号化装置、復号装置、及びプログラム
US11785219B2 (en) * 2020-04-13 2023-10-10 Qualcomm Incorporated Coefficient coding for support of different color formats in video coding
CN112218071B (zh) * 2020-09-30 2024-01-30 北京达佳互联信息技术有限公司 视频编码方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1736103A (zh) * 2003-01-10 2006-02-15 汤姆森许可贸易公司 帧间编码的快速模式判定
CN1810037A (zh) * 2003-06-25 2006-07-26 汤姆森许可贸易公司 帧间的快速模式确定编码
CN101099394A (zh) * 2004-11-04 2008-01-02 汤姆森特许公司 用于视频编码器中b帧的快速模式决策的方法和装置
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
CN101682769A (zh) * 2007-04-12 2010-03-24 汤姆森特许公司 用于视频编码和解码的跳过-直接模式的取决于环境的合并的方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100587561B1 (ko) * 2004-04-08 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 구현하는 방법 및 장치
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
KR100636229B1 (ko) * 2005-01-14 2006-10-19 학교법인 성균관대학 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
JP4542107B2 (ja) 2005-07-22 2010-09-08 三菱電機株式会社 画像復号装置及び画像復号方法
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
EP2091257B1 (en) * 2006-11-30 2017-12-27 Panasonic Corporation Coder
US8351513B2 (en) * 2006-12-19 2013-01-08 Allot Communications Ltd. Intelligent video signal encoding utilizing regions of interest information
RU2426267C2 (ru) * 2007-01-08 2011-08-10 Нокиа Корпорейшн Усовершенствованное межуровневое предсказание для расширенной пространственной масштабируемости при кодировании видеосигнала
CN100548049C (zh) * 2007-01-09 2009-10-07 浙江大学 一种基于多参考帧的h.264快速运动估计的方法
EP2105025B1 (en) * 2007-01-11 2021-04-07 InterDigital VC Holdings, Inc. Methods and apparatus for using syntax for the coded_block_flag syntax element and the coded_block_pattern syntax element for the cavlc 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in mpeg-4 avc high level coding
US8428133B2 (en) * 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
CN103124354B (zh) * 2007-09-28 2016-01-20 杜比实验室特许公司 处理视频信息
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101359496B1 (ko) 2008-08-06 2014-02-11 에스케이 텔레콤주식회사 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8483285B2 (en) * 2008-10-03 2013-07-09 Qualcomm Incorporated Video coding using transforms bigger than 4×4 and 8×8
CN102415097B (zh) * 2009-04-28 2015-01-07 瑞典爱立信有限公司 失真加权
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
WO2011127963A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sample region merging
DK2559246T3 (en) * 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
US10171813B2 (en) * 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1736103A (zh) * 2003-01-10 2006-02-15 汤姆森许可贸易公司 帧间编码的快速模式判定
CN1810037A (zh) * 2003-06-25 2006-07-26 汤姆森许可贸易公司 帧间的快速模式确定编码
CN101099394A (zh) * 2004-11-04 2008-01-02 汤姆森特许公司 用于视频编码器中b帧的快速模式决策的方法和装置
CN101682769A (zh) * 2007-04-12 2010-03-24 汤姆森特许公司 用于视频编码和解码的跳过-直接模式的取决于环境的合并的方法和装置
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027565B (zh) * 2013-04-02 2019-10-18 明达半导体股份有限公司 视频处理方法及视频处理装置
US10158870B2 (en) 2013-04-02 2018-12-18 Chips & Media, Inc Method and apparatus for processing motion compensation of a plurality of frames
US10129554B2 (en) 2013-04-02 2018-11-13 Chips & Media, Inc Method and apparatus for processing video
CN105027565A (zh) * 2013-04-02 2015-11-04 明达半导体股份有限公司 视频处理方法及视频处理装置
US10038910B2 (en) 2013-04-02 2018-07-31 Chips & Media, Inc. Method and apparatus for video processing
US10123029B2 (en) 2013-04-02 2018-11-06 Chips & Media, Inc Method and apparatus for processing video
US10165293B2 (en) 2013-04-02 2018-12-25 Chips & Media, Inc Method and apparatus for processing video
CN104427335A (zh) * 2013-08-20 2015-03-18 联发科技股份有限公司 视频编码的变换方法及装置
CN104427335B (zh) * 2013-08-20 2017-10-24 联发科技股份有限公司 视频编码的变换方法及装置
CN105960803A (zh) * 2013-12-30 2016-09-21 谷歌公司 递归块分区
CN104519366B (zh) * 2014-12-04 2019-05-14 广东中星微电子有限公司 一种视频编码变换量化方法和装置
CN104519366A (zh) * 2014-12-04 2015-04-15 广东中星电子有限公司 一种视频编码变换量化方法和装置
CN104581172A (zh) * 2014-12-08 2015-04-29 北京中星微电子有限公司 一种实现svc宏块级算法的硬件结构
CN112204968B (zh) * 2018-03-29 2024-03-15 弗劳恩霍夫应用研究促进协会 使用图片边界处理对图片进行编码和解码的装置和方法
CN112204968A (zh) * 2018-03-29 2021-01-08 弗劳恩霍夫应用研究促进协会 使用图片边界处理对图片进行编码和解码的装置和方法
CN111263156A (zh) * 2019-02-20 2020-06-09 北京达佳互联信息技术有限公司 视频解码方法、视频编码方法及装置
CN111263156B (zh) * 2019-02-20 2022-03-25 北京达佳互联信息技术有限公司 视频解码方法、视频编码方法及装置
CN113728631A (zh) * 2019-04-27 2021-11-30 北京字节跳动网络技术有限公司 帧内子块分割和多变换选择
CN113728631B (zh) * 2019-04-27 2024-04-02 北京字节跳动网络技术有限公司 帧内子块分割和多变换选择

Also Published As

Publication number Publication date
CN102948149B (zh) 2017-09-26
KR20170119664A (ko) 2017-10-27
CN105430404B (zh) 2019-04-05
US9686555B2 (en) 2017-06-20
US20150288969A1 (en) 2015-10-08
US20130034154A1 (en) 2013-02-07
CN104853217A (zh) 2015-08-19
CN105430404A (zh) 2016-03-23
US20180115775A1 (en) 2018-04-26
KR101868290B1 (ko) 2018-06-15
US9912955B2 (en) 2018-03-06
US9955167B1 (en) 2018-04-24
KR101791078B1 (ko) 2017-10-30
KR20110115987A (ko) 2011-10-24

Similar Documents

Publication Publication Date Title
CN102939756B (zh) 视频编码/解码设备和方法
CN102948149A (zh) 视频编码/解码设备和方法
CN102986213B (zh) 视频编码/解码设备和方法
CN103004194B (zh) 图像编码/解码设备和方法
CN103329537B (zh) 一种视频解码的设备和方法
KR20180059482A (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
US20130028328A1 (en) Image encoding method and image decoding method
CN102893604A (zh) 用于视频的数据压缩
CN103141100A (zh) 用于视频译码的帧内平滑滤波器
CN108141588A (zh) 图像编码系统中的帧间预测方法和装置
KR20180019092A (ko) 영상 코딩 시스템에서 조도 보상에 기반한 블록 예측 방법 및 장치
CN103444182A (zh) 存储运动信息的方法和使用该方法导出时间运动矢量预测值的方法
CN103931182A (zh) 帧内预测视频译码中的非正方形变换
CN103250417A (zh) 编码和解码图像的方法及使用该方法的设备
CN103181169A (zh) 使用联合上下文模型对系数进行熵译码
CN103563389A (zh) 具有方向性分区的帧内预测模式译码
CN104995919A (zh) 用于最末重要系数位置编码中的上下文减少的设备和方法
CN105704490B (zh) 视频编码设备
CN104956674A (zh) 用于最末重要系数位置编码中的上下文减少的设备和方法
CN103947205A (zh) 帧内模式译码中的参考模式选择
CN104718757A (zh) 用于可缩放视频译码的预测模式信息上取样
CN104255027A (zh) 用于视频译码的层间纹理预测
CN110495175A (zh) 用于对用于并行处理的运动信息进行处理的图像处理方法、用于使用该图像处理方法进行解码和编码的方法、以及用于该方法的设备
CN102804775A (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
GR01 Patent grant
GR01 Patent grant