CN103931193A - 编码/解码图像的方法和装置 - Google Patents
编码/解码图像的方法和装置 Download PDFInfo
- Publication number
- CN103931193A CN103931193A CN201280055873.1A CN201280055873A CN103931193A CN 103931193 A CN103931193 A CN 103931193A CN 201280055873 A CN201280055873 A CN 201280055873A CN 103931193 A CN103931193 A CN 103931193A
- Authority
- CN
- China
- Prior art keywords
- prediction
- boundary
- pixel
- target
- boundary pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种用于基于邻近于预测目标块的多个外围像素预测在预测目标块内的像素值的帧内预测方法。根据本发明的帧内预测方法包括步骤:接收和解码编码的图像信息;通过基于解码的图像信息确定在预测目标块内表示目标边界的多个边界像素来确定目标边界;确定基于在预测目标块内的目标边界分割的多个预测目标区;和基于从多个外围像素中选择的相互不同的外围像素,对于多个预测目标区的每个执行预测。
Description
技术领域
本发明涉及视频处理,尤其是,涉及用于帧内预测深度图像的方法和设备。
背景技术
作为下一代广播服务,使用3D视频的数字广播服务已经引起注意。3D视频能够使用多个视点信道提供真实感和沉浸感。提供三维效果的3D视频的示例包括双目3D视频、多视图3D视频和全息图。
在3D视频中,与现有的2D视频不同,深度图像以及纹理图像能够被编码和/或解码。与在相关技术中作为视频压缩标准目标的纹理图像不同,深度图像可以包括屏幕中的对象的深度信息。3D视频的三维效果能够由深度信息表达。
发明内容
技术问题
本发明的一个目的是提供视频编码方法和设备,其能够提高视频的编码/解码效率。
本发明的另一个目的是提供视频解码方法和设备,其能够提高视频的编码/解码效率。
本发明的再一个目的是提供帧内预测方法和设备,其能够提高视频的编码/解码效率。
本发明的再一个目的是提供视频信息发送方法和设备,其能够提高视频的编码/解码效率。
问题的解决方案
根据本发明的一个方面,提供了一种基于邻近于预测目标块的多个相邻像素,预测在预测目标块中的像素值的帧内预测方法。该帧内预测方法包括:接收和解码编码的视频信息;通过基于解码的视频信息确定在预测目标块中表示目标边界的多个边界像素来确定目标边界;确定预测目标块由目标边界划分为的多个预测目标区;和基于在多个相邻像素之中的不同的相邻像素对多个预测目标区执行预测处理。
预测目标块可以是构成3D视频的深度图像的多个块的一个块。
多个边界像素可以包括N个边界像素{p0,p1,…,pn,…,pN-1},N可以是正整数,并且n可以是0至N-1的整数,并且边界像素pn可以被沿着从边界像素pn-1开始的前进方向连续地确定。
接收的视频信息可以包括表示在多个边界像素之中被首先确定的开始边界像素p0的位置的位置信息,并且确定目标边界的步骤可以包括基于位置信息确定开始边界像素p0。
开始边界像素p0可以是在预测目标块中位于最左位置或者最上面位置的像素。
视频信息可以包括有关与边界像素pn相对应的链码的信息,链码可以表示在从边界像素pn-1到边界像素pn的第一前进方向和从边界像素pn到边界像素pn+1的第二前进方向之间的角度,并且确定目标边界的步骤可以包括基于第一前进方向和第二前进方向确定在目标边界中与邻近边界像素pn的部分相对应的部分边界。
角度可以是0度、45度、-45度、90度、-90度、135度和-135度的一个。
确定目标边界的步骤可以包括基于第一前进方向和第二前进方向确定边界像素pn+1的位置。
边界像素pn可以对应于开始边界像素p0。在这种情况下,当边界像素pn是在预测目标块中位于最左位置的像素的时候,第一前进方向可以被设置为向右水平方向,并且当边界像素pn是在预测目标块中位于最上面位置的像素的时候,第一前进方向可以被设置为向下垂直方向。
边界像素pN-1可以是在多个边界像素之中最终确定的终止边界像素,并且确定目标边界的步骤可以包括基于从边界像素pN-2到终止边界像素pN-1的前进方向确定在目标边界中与邻近于终止边界像素pN-1的部分相对应的部分边界。
多个预测目标区可以包括M个预测目标区R0、R1、…、Rm、…,和RM-1,M是正整数,并且m是0至M-1的整数,并且执行预测处理的步骤可以包括基于在多个相邻像素之中邻近于预测目标区Rm的相邻像素对预测目标区Rm执行预测处理。
执行预测处理的步骤可以包括将邻近于预测目标区Rm的相邻像素的平均像素值确定为属于预测目标区Rm的像素的预测值。
根据本发明的另一个方面,提供了一种视频解码器。该视频解码器包括:接收机模块,该接收机模块接收视频信息;预测模块,该预测模块通过基于邻近于预测目标块的多个相邻像素预测在预测目标块中的像素值,来构建与预测目标块相对应的预测块;和重建块构建模块,该重建块构建模块基于预测块构建重建块,其中预测模块通过基于解码的视频信息确定在预测目标块中表示目标边界的多个边界像素来确定目标边界,并且基于在多个相邻像素之中不同的相邻像素对预测目标块由目标边界划分为的多个预测目标区执行预测处理。
根据本发明的再一个方面,提供了一种视频解码方法。该视频解码方法包括步骤:接收和解码编码的视频信息;通过基于解码的视频信息确定在预测目标块中表示目标边界的多个边界像素来确定目标边界;确定预测目标块由目标边界划分为的多个预测目标区;通过基于在邻近于预测目标块的多个相邻像素之中不同的相邻像素对多个预测目标区执行预测处理,来构建对应于预测目标块的预测块;和基于预测的块构建重建块。
预测目标块可以是构成3D视频的深度图像的多个块的一个块。
多个边界像素可以包括N个边界像素{p0,p1,…,pn,…,pN-1},N可以是正整数,并且n可以是0至N-1的整数,并且边界像素pn可以被沿着从边界像素pn-1开始的前进方向连续地确定。
接收的视频信息可以包括表示在多个边界像素之中被首先确定的开始边界像素p0的位置的位置信息,并且确定目标边界的步骤可以包括基于位置信息确定开始边界像素p0。
视频信息可以包括有关与边界像素pn相对应的链码的信息,链码可以表示在从边界像素pn-1到边界像素pn的第一前进方向和从边界像素pn到边界像素pn+1的第二前进方向之间的角度,并且确定目标边界的步骤可以包括基于第一前进方向和第二前进方向确定在目标边界中与邻近边界像素pn的部分相对应的部分边界。
多个预测目标区可以包括M个预测目标区R0、R1、…、Rm、…,和RM-1,M可以是正整数,并且m可以是0至M-1的整数,并且构建预测块的步骤可以包括基于在多个相邻像素之中邻近于预测目标区Rm的相邻像素对预测目标区Rm执行预测处理。
构建预测块的步骤可以包括将邻近于预测目标区Rm的相邻像素的平均像素值确定为属于预测目标区Rm的像素的预测值。
有益效果
通过采用根据本发明的视频编码方法,能够提高视频的编码/解码效率。
通过采用根据本发明的视频解码方法,能够提高视频的编码/解码效率。
通过采用根据本发明的帧内预测方法,能够提高视频的编码/解码效率。
通过采用根据本发明的视频信息发送方法,能够提高视频的编码/解码效率。
附图说明
图1是示意地图示根据本发明的一个实施例的视频编码器的方框图。
图2是示意地图示根据本发明一个实施例的预测模块的示意图。
图3是示意地图示根据本发明的一个实施例的视频解码器的方框图。
图4是示意地图示根据本发明的实施例的视频解码器的预测模块的示意图。
图5是图示基于MPM和剩余模式的帧内预测模式推导方法的示意图。
图6是示意地图示3D视频的深度图像特征的示意图。
图7是示意地图示编码有关构成边界像素链的边界像素信息的方法示例的示意图。
图8是示意地图示当与当前要编码的信息相对应的边界像素是开始边界像素的时候推导链码的方法示例的示意图。
图9是示意地图示基于边界像素的链码确定像素边界的方法的示例的示意图。
图10是示意地图示基于边界像素的链码确定像素边界的方法的另一个示例的示意图。
图11是图示确定终止边界像素的像素边界的方法的示例的示意图。
图12是示意地图示在预测目标块中的区域上执行帧内预测处理的方法的示例的示意图。
图13是示意地图示在预测目标块中的区域上执行帧内预测处理的方法的另一个示例的示意图。
图14是示意地图示在预测目标块中的区域上执行帧内预测处理的方法的示例的示意图。
图15是示意地图示当使用边界帧内预测模式的时候由编码器执行的处理的示例的流程图。
图16是示意地图示当使用边界帧内预测模式的时候由解码器执行的帧内预测方法的示例的流程图。
图17是示意地图示根据本发明的一个实施例的视频解码器的示例的方框图。
图18a至18c是示意地图示根据本发明使用边界帧内预测模式的帧内预测处理的示例的示意图。
具体实施方式
本发明可以以各种形式不同地修改,并且可以具有各种实施例,并且其特定的实施例将在附图中图示和详细描述。但是,这些实施例不意欲限制本发明。在以下的描述中使用的术语仅仅用于描述特定的实施例,但是,不意欲用于限制本发明的技术精神。单数的表达包括复数表达,只要其清楚不同地解读。在本说明书中,诸如“包括”和“具有”的术语意欲用于表示在后面描述中使用的特点、数目、步骤、操作、元件、部件,或者其组合的存在,并且因此,应该理解,不排除存在或者增加一个或多个不同的特点、数目、步骤、操作、元件、部件,或者其组合的可能性。
另一方面,在本发明描述的附图中的元件在图像编码器和图像解码器中为解释不同的特定功能的便利目的而独立地绘制,并且不意味元件由单独的硬件或者单独的软件实施。例如,在元件之中的两个或更多个元件可以组合以形成单个元件,或者一个元件可以分成多个元件。不脱离本发明的概念,元件被组合和/或分解的实施例属于本发明的范围。
某些元件可以不是用于执行本发明的基本功能的必要元件,而是,可以是仅仅用于改善性能的选择性的元件。本发明可以仅仅通过除了仅用于改善性能的单元以外实施本发明必要的元件来实施,并且仅包括除了仅用于改善性能的选择性的元件以外的必要元件的结构属于本发明的范围。
在下文中,将参考附图详细描述本发明示例性实施例。在附图中相同的元件将由相同的附图标记引用,并且相同元件的描述不会被重复。
图1是示意地图示根据本发明的一个实施例的视频编码器的方框图。
在3D视频中,与现有的2D视频不同,深度图像以及纹理图像可以被编码和/或解码。与在相关技术中作为视频压缩标准目标的纹理图像不同,深度图像可以包括屏幕中的对象的深度信息。3D视频的三维效果能够由深度信息表达。在图1中图示的视频编码器能够适用于纹理图像和深度图像。
参考图1,视频编码器100包括图片划分模块105、预测模块110、变换模块115、量化模块120、重新排序模块125、熵编码模块130、去量化模块135、反变换模块140、滤波模块145,和存储器150。
图片划分模块105可以将输入图片划分为至少一个处理单元。输入图片可以是纹理图像的纹理图片或者深度图像的深度图片。在这里,处理单元可以是预测单元(PU)、变换单元(TU),或者编码单元(CU)。将在下面基于通过划分编码/解码目标图片(或者当前图片)创建的处理单元来描述实施例,并且单元有时候可以称为块。在以下的描述中,通过划分纹理图片获得的块称为纹理块,并且通过划分深度图片获得的块称为深度块。
如稍后将描述的,预测模块110可以包括执行帧间预测处理的帧间预测模块,和执行帧内预测处理的帧内预测模块。预测模块110可以对从图片划分模块105提供的预测单元执行预测处理以构建预测块。在预测模块110中图片的处理单元可以是编码单元、变换单元或者预测单元。可以确定对处理单元执行的预测处理是帧间预测还是帧内预测,并且可以确定所确定的预测方法的具体细节(例如,预测模式)。在这里,在其上执行预测处理的处理单元可以不同于确定特定的细节的处理单元。例如,预测方法和预测模式可以通过预测单元确定,并且预测处理可以通过变换单元执行。在构建的预测块和原始块之间的残留值(残留块)可以输入给变换模块115。用于预测的预测模式信息、运动矢量信息等等可以与残留值一起被熵编码模块130编码,并且发送给解码器。
变换模块115可以通过变换单元变换残留块,并且可以构建变换系数。在变换模块115中的变换单元可以是变换单元,并且可以具有四树结构。此时,变换单元的大小可以在包括预先确定的最大大小和预先确定的最小大小的范围内确定。变换模块115可以使用DCT(离散余弦变换)和/或DST(离散正弦变换)来变换残留块。
量化模块120可以量化由变换模块115变换的残留值,并且可以创建量化系数。由量化模块120计算的值可以被提供给去量化模块135和重新排序模块125。
重新排序模块125可以重新排序从量化模块120提供的量化系数。通过重新排序量化系数,能够提高在熵编码模块130中的编码效率。重新排序模块125可以通过使用系数扫描方法以二维块的形式到一维矢量的形式重新排序量化系数。重新排序模块125可以基于从量化模块发送的系数的随机统计,通过改变系数扫描的顺序来提高在熵编码模块130中的熵编码效率。
熵编码模块130可以对通过重新排序模块125重新排序的量化系数执行熵编码处理。熵编码模块130可以编码各种信息,诸如从重新排序模块125和预测模块110发送的编译单元的量化系数信息、块类型信息、预测模式信息、分割单元信息、预测单元信息、传送单元信息、运动矢量信息、参考帧信息、块内插信息,和滤波信息。
熵编码方法,诸如指数golomb方法、CAVLC(上下文自适应可变长度编译)方法,和/或CABAC(上下文自适应二进制算数编译)方法可以用于熵编码。例如,用于执行熵编码处理的表,诸如可变长度编译(在下文中,称为“VLC”)表可以存储在熵编码模块130中。熵编码模块130可以使用存储的VLC表执行熵编码处理。例如,在CABAC熵编码方法中,熵编码模块130可以二值化符号,将二值化的符号变换为二进制数(bins),然后取决于二进制数的发生概率对二进制数执行算术编码处理以创建比特流。
当使用熵编码的时候,低的索引和与其对应的短码字可以分配给具有高发生概率的符号,并且高的索引和与其对应的长码字可以分配给具有低发生概率的符号。因此,能够降低要编码的符号的比特速率,并且改善通过熵编码的视频压缩性能。
去量化模块135去量化由量化模块120量化的值。反变换模块140反向地变换由去量化模块135去量化的值。由去量化模块135和反变换模块140创建的残留值可以与通过预测模块110预测的预测块合并以构建重建块。
滤波器模块145可以将环内滤波应用于重建块和/或图片。环内滤波器可以包括解块滤波器、采样自适应的偏移(SAO),和/或自适应循环滤波器(ALF)。
解块滤波器可以除去在重建的图片中的块之间的边界处产生的块失真。SAO可以将适当的偏移值应用于像素值以便补偿编译错误。ALF可以基于将原始图片与其块已经由解块滤波器滤波的重建的图片比较的结果值执行滤波处理。
另一方面,滤波模块145可以不对用于帧内预测的重建块执行滤波处理。
存储器150可以存储重建块或者由滤波模块145计算的图片。存储在存储器150中的重建块或者图片可以被提供给执行帧间预测的预测模块110。
图2是示意地图示根据本发明的一个实施例的预测模块的示意图。参考图2,预测模块200包括帧间预测模块210和帧内预测模块220。
帧间预测模块210可以基于在当前图片的先前图片和后续图片之中的至少一个图片的信息执行预测处理,并且可以构建预测块。帧内预测模块220可以基于在当前图片中的像素信息执行预测处理,并且可以构建预测块。
帧内预测可以取决于预测目标块的帧内预测模式执行。预测目标块的可能的帧内预测模式的数目可以是预先确定的固定值。取决于用于预测当前块的像素值的参考像素的位置和预测方法,帧内预测模式的示例包括垂直模式、水平模式、DC模式、平面模式和角度模式。在垂直模式中,预测处理可以在垂直方向上使用相邻块的像素值执行。在水平模式中,预测处理可以在水平方向上使用相邻块的像素值执行。在DC模式中,预测块可以通过平均参考像素的像素值来构建。在平面模式中,在当前块中的预先确定的位置的像素值可以被首先预测,然后在当前块中的其他位置的像素值可以在其基础上预测。在角度模式中,预测处理可以取决于对于每个模式预先确定的角度和/或方向执行。
当预测目标块对应于深度块的时候,稍后将描述的边界帧内预测模式可以用于预测目标块的帧内预测。当使用边界帧内预测模式的时候,例如,有关边界帧内预测模式的信息可以由在图1中图示的熵编码模块130编码,并且可以发送给解码器。例如,有关边界帧内预测模式的信息可以由除在图1中图示的熵编码模块130之外的特定设备编码,并且可以被发送。此时,有关边界帧内预测模式的信息可以在除了包括有关其他帧内预测模式,诸如垂直模式、水平模式、DC模式、平面模式和角度模式的信息的报头之外的报头中限定,并且可以通过使用特定的处理来处理。
图3是示意地图示根据本发明的一个实施例的视频解码器的方框图。参考图3,视频解码器300包括熵解码模块310、重新排序模块315、去量化模块320、反变换模块325、预测模块330、滤波模块335,和存储器340。在图3中图示的视频解码器可以类似于视频编码器被应用于纹理图像和深度图像。
当视频比特流被输入给视频解码器的时候,输入的比特流可以基于视频信息由视频编码器处理的顺序被解码。此时,输入的比特流可以是对应于纹理图像的比特流,或者对应于深度图像的比特流。
熵解码模块310可以对输入的比特流执行熵解码处理,并且熵解码方法类似于以上提及的熵编码方法。例如,当应用熵解码的时候,低的索引和与其对应的短码字可以分配给高发生概率的符号,并且高的索引和与其对应的长码字可以分配给低发生概率的符号。因此,能够降低要编码的符号的比特速率,并且改善通过熵编译的视频压缩性能。
在由熵解码模块310解码的信息之中用于构建预测块的信息可以提供给预测模块330,并且由熵解码模块熵解码的残留值可以输入给重新排序模块315。
重新排序模块315可以基于在视频编码器中使用的重新排序方法重新排序由熵解码模块310熵解码的比特流。重新排序模块315可以将以一维矢量的形式表达的系数重建和重新排序为二维块形式的系数。重新排序模块315可以提供有与由视频编码器执行的系数扫描有关的信息,并且可以基于由熵编码模块执行的扫描的扫描顺序使用反向地扫描系数的方法执行重新排序。
去量化模块320可以基于从视频编码器提供的量化参数和重新排序的块的系数值执行去量化。
反变换模块325可以对来自视频编码器的量化结果执行已经由视频编码器的变换模块执行的DCT和/或DST的反DCT和/或反DST。反变换可以基于由视频编码器确定的传送单元或者图片的划分单元执行。视频编码器的变换模块可以取决于多条信息,诸如预测方法、当前块的大小,和预测方向,有选择地执行DCT和/或DST,并且视频解码器的反变换模块325可以基于有关由视频编码器的变换模块执行的变换的变换信息执行反变换。
预测模块330可以基于从熵解码模块310提供的预测块构建信息,和从存储器340提供的预先解码的块和/或图片信息来构建预测块。重建块可以使用由预测模块330构建的预测块和从反变换模块325提供的残留块来构建。
重建块和/或图片可以提供给滤波模块335。滤波模块335可以将环内滤波应用于重建块和/或图片。环内滤波器可以包括解块滤波器、采样自适应偏移(SAO),和/或自适应循环滤波器(ALF)。
存储器340可以存储用作参考图片或者参考块的重建图片或者块,并且可以将重建图片提供给输出模块。
图4是根据本发明的实施例示意地图示视频解码器的预测模块的示意图。参考图4,该预测模块400可以包括帧内预测模块410和帧间预测模块420。
当预测单元的预测模式是帧内预测模式的时候,该帧内预测模块410可以基于在当前图片中的像素信息构成预测块。
如上所述,帧内预测可以取决于预测目标块的帧内预测模式执行。预测目标块的可能的帧内预测模式的数目可以是预先确定的固定值。帧内预测模式的示例包括垂直模式、水平模式、DC模式、平面模式和角度模式。当预测目标块对应于深度块的时候,稍后将描述的边界帧内预测模式可以应用于预测目标块的帧内预测。此时,帧内预测模块410可以基于有关从视频编码器接收的边界帧内预测模式的信息对预测目标块执行帧内预测。例如,来自视频编码器的有关边界帧内预测模式的信息可以是由在图1中图示的熵编码模块130编码的信息。此时,有关边界帧内预测模式的编码信息可以由熵解码模块310解码,并且可以用于帧内预测。例如,有关边界帧内预测模式的信息可以由除在图3中图示的熵解码模块330以外的特定的设备解码,并且可以被输入给帧内预测模块410。此时,有关边界帧内预测模式的信息可以在除包括有关其他帧内预测模式,诸如垂直模式、水平模式、DC模式、平面模式和角度模式的信息的报头以外的报头中限定,并且可以通过使用特定的处理来处理。
当对应的预测单元的预测模式是帧间预测模式的时候,帧间预测模块420可以使用从视频编码器提供的对于当前预测单元的帧间预测所必需的信息,例如,有关运动矢量和参考图片索引的信息,基于在包括当前预测单元的当前图片的先前图片或者后续图片之中的至少一个图片中包括的信息对当前预测单元执行帧间预测处理。
在下文中,当在本发明的某些配置或者表达中“视频”或者“屏幕”具有与“图片”相同的含义的时候,“图片”可以被描述为“视频”或者“屏幕”。
如上参考图2和4所述,视频编码器的帧内预测模块220和视频解码器的帧内预测模块420可以取决于预测目标块的帧内预测模式执行帧内预测。此时,视频编码器可以将用于预测的帧内预测模式信息发送给视频解码器,并且视频解码器可以基于发送的信息确定帧内预测模式。帧内预测模式信息可以被作为本身表示预测模式的值发送,但是,使用帧内预测模式的预测模式值发送帧内预测模式信息的方法可用于提高传输效率。在下文中,当前帧内预测模式的预测模式称为最可能模式(MPM)。
图5是图示基于MPM和剩余模式的帧内预测模式推导方法的示意图。
在图5图示的示例中,预测目标块可以指的是在其上当前执行预测处理的块。在下文中,在图5图示的示例中的预测目标块的预测模式称为当前预测模式,并且当前预测模式的模式值称为当前模式值。
在图5中,A表示邻近于预测目标块顶端的上相邻块,并且B表示邻近于预测目标块左侧的左相邻块。上相邻块A、左相邻块B,和预测目标块可以具有与在图5中图示的相同的大小,或者可以具有不同的大小。
参考图5,帧内预测模块可以基于上相邻块A的预测模式(模式A)和左相邻块B的预测模式(模式B)构建MPM候选列表。在这里,构成MPM候选列表的MPM候选的数目可以是固定值。例如,固定值可以是3。例如,当假设在图5图示的示例中始终使用三个MPM候选,并且模式A和模式B彼此相同的时候,推导出的MPM候选的数目可以是1,并且因此,其它的MPM候选可以被设置为DC模式、平面模式,或者其他预先确定的预测模式。
预测目标块的帧内预测模式可以是与MPM候选的一个相同的预测模式。有关具有与预测目标块相同的预测模式的候选是否存在于MPM候选中的信息可以经由表示该信息的MPM标记从视频编码器发送给视频解码器。MPM标记例如可以是prev_intra_luma_pred_flag。当该标记是1的时候,具有与预测目标块块相同的预测模式的候选可以存在于MPM候选中。
当该标记是1,并且MPM候选的数目是2个以上的时候,视频编码器可以发送表示预测目标块的预测模式是否等于MPM候选的预测模式的MPM索引。解码器可以基于MPM索引确定预测目标块的预测模式。例如,MPM索引可以由mpm_idx表示。
当MPM候选的所有预测模式不同于预测目标块的预测模式的时候,例如,当表示具有与预测目标块相同的预测模式的候选是否存在于MPM候选中的标记的值是0的时候,视频编码器可以使用剩余模式将预测目标块的帧内预测模式信息发送给解码器。
当MPM候选的所有预测模式不同于当前预测模式的时候,该视频编码器可以将有关在除了MPM候选以外的预测模式之中的当前预测模式的信息发送给视频解码器。在这里,当所有MPM候选的模式值大于当前模式值的时候,视频编码器可以使用当前模式值发送预测模式信息,并且当具有小于当前模式值的模式值的MPM候选存在的时候,可以使用通过从当前模式值中减去具有小于当前模式值的模式值的MPM候选的数目所获得的值发送预测模式信息。在这里,具有通过从当前模式值中减去具有小于当前模式值的模式值的MPM候选的数目所获得的模式值的预测模式可以称为剩余模式。例如,剩余模式可以由rem_intra_luma_pred_mode来表达。
视频解码器可以通过使用标记信息,诸如prev_intra_luma_pred_flag,知道具有与预测目标块相同的预测模式的候选不存在于MPM候选中。
在这里,解码器可以使用剩余模式和MPM计算当前预测单元的实际的预测模式值。例如,假设MPM的数目是N,并且MPM的模式值是模式1、模式2、…、模式N。在这里,假设X值模式X越小,分配的模式值越小。当X范围从1到N-1,并且剩余模式的模式值大于或等于模式X-(X-1)并且小于模式(X+1)-X的时候,通过将X添加到剩余模式的模式值获得的值可以是当前预测模式。当X是N,并且剩余模式的模式值大于或等于模式N-(N-1)的时候,通过将N添加到剩余模式的模式值获得的值可以是当前预测模式。
当使用剩余模式的时候,能够降低为发送预测目标块的帧内预测模式所必需的比特速率,并且因此提高编译效率。
在以上提及的实施例中,有关对于每个预测单元从视频编码器发送给视频解码器的帧内预测模式的信息可以由在表1中示出的语法元素表达。
表1
在这里,prev_intra_luma_pred_flag表示MPM标记,并且NumMPMCand表示在MPM列表中的MPM候选的数目。此外,mpm_idx表示MPM索引,并且rem_intra_luma_pred_mode表示剩余模式。IntraPredMode表示帧内预测模式,并且planar_flag_luma是表示当前预测单元的帧内预测模式是否是平面模式的标记。
参考表1,帧内预测模式信息可以定义为在语法coding_unit()中包括的prediction_unit()中的相关语法。如上所述,在MPM列表中的MPM候选的数目可以是预先确定的固定值。当固定数目的MPM候选是2以上的时候,MPM候选的数目始终大于1,并且因此,在表1示出的示例中的“if(NumMPMCand>1)”可以被跳过。在表1示出的示例中的“if(IntraPredMode[x0][y0])==2)”和“planar_flag_luma[x0][y0]”可以取决于由每个模式值表示的帧内预测模式的设置而被跳过。
图6是示意地图示3D视频的深度图像特征的示意图。
如上所述,在3D视频中,深度图像以及纹理图像可以被编码和/或解码。深度图像、深度图片,和/或深度块可以称为深度图,在于它们表示在屏幕中对象的深度信息。在以下的描述中,在深度图像、深度图片,和深度块和/或深度图中的像素值可以称为深度像素值或者深度值。
通常,在深度图像中相同的对象的像素具有类似的深度值,并且在深度值中的不连续可能发生在不同的对象之间,并且强的边缘和/或边界可能存在在其间。也就是说,深度图像具有以下的特征,即,在由对象的边界划分的区域之间的像素值中的差异不大,并且相对于对象的边界属于不同的区域的像素之间在像素值上的差异大。因此,在深度图像中,具有复杂形状的对象的边界通常可以表示为陡边缘。在下文中,在以下的描述中存在于图片和/或块之中的对象的边界可以称为边缘。
参考图6中的610,一个深度块613可以包括对应于屏幕中的对象边界(对象边界)的边缘616。在这里,深度块613可以是对应于一个预测单元的预测目标块。
在图6的610中,深度块613可以基于对象边界616被划分为两个区域。在这里,两个区域可以表示不同的对象。在每个区域中表示相同对象的像素可以具有类似的深度值。在深度值中的不连续发生在两个区域之间,并且强的边缘616可能存在。在深度图像中,由于在屏幕中的对象边界附近的精度对深度图像的图像质量具有大的影响,所以重要的是执行编译处理以便较好地保护边界。
另一方面,帧内预测可以基于预测目标块的帧内预测模式执行。如上所述,应用于帧内预测的帧内预测模式的示例包括DC模式、平面模式,和单向模式(垂直、水平和角度)。借助于这些帧内预测模式,能够有效地压缩包括亮度分量和色度分量的纹理图像。但是,可能难以对具有类似图6的610的任意形状边界的深度块执行有效预测。
因此,当块包括强的边缘的时候,使用边缘位置和形状信息的帧内预测方法可以被应用来较好地保护边缘信息。特别地,由于以上提及的特征,深度图像可以通过能够支持任意边界形状的区域预测处理,而不是DC模式预测、平面模式预测,和单向模式预测,来被有效地压缩。
特别地,帧内预测模块可以确定在预测目标块中的像素边界。在这里,边界可以由邻近于边界的边界像素表示和/或确定。
在图6中,620表示在预测目标块613中表示边界616的边界像素的示例。如在图6中图示的,边界像素可以是邻近于边界616的像素。例如,位于边界616的角落的像素(例如,像素A、像素B和像素C)可以另外被认为是边界像素。在图6的620中,假设除像素A、像素B和像素C以外仅仅邻近于边界616的像素对应于边界像素。
参考图6的620,邻近于对象的边界616的多个边界像素可以沿着边界616的前进方向连续地排列。此时,位于边界的起点的边界像素可以称为开始边界像素,并且位于边界的终点的边界像素可以称为终止边界像素。开始边界像素可以是在预测目标块613中位于最左位置的像素,或者在预测目标块613中位于最上面位置的像素。图6的620表示开始边界像素是在预测目标块613中位于最左位置像素的示例。
在以下的描述中,当N个边界像素(这里N是正整数)存在于预测目标块中的时候,从开始边界像素到终止边界像素的边界像素由p0、p1、…、pn、…,和pN-1(这里n是0至N-1的整数)来标注。在这里,p0表示开始边界像素,并且pN-1表示终止边界像素。p0至pN-1可以对应于沿着边界的前进方向连续地排列的边界像素。在图6的620中,20个边界像素存在于预测目标块613中,并且边界像素由连续地沿着边界616的前进方向的p0至p19来标注。
边界像素可以基于边界的前进方向位于边界的左侧,或者可以位于边界的右侧。图6的620表示基于前进方向所有边界像素位于边界616的左侧的示例。在下文中,在以下的描述中,为了解释便利的目的,假设在预测目标块中的所有边界像素相对于在预测目标块之中存在的边界的前进方向位于左侧。
另一方面,在图6的620中,沿着边界616连续地排列的边界像素可以被认为构成一个链(和/或线路)。在以下的描述中,由在预测目标块中的边界像素以这种方法形成的链称为边界像素链。在图6的620中,边界像素p0至p19能够被认为形成一个边界像素链。
当视频编码器确定在预测目标块中的像素边界的时候,视频编码器可以编码有关对应于确定的边界的边界像素的信息,并将其发送给视频解码器。此时,视频解码器的帧内预测模块可以通过基于发送的信息确定搜索或者确定边界像素来确定在预测目标块中的边界。稍后将描述编码有关边界像素信息的方法,和基于边界像素确定边界的方法的具体示例。
当确定在预测目标块中的边界的时候,预测目标块可以基于确定的边界被划分为多个区域。此时,帧内预测模块可以对多个区域逐区域执行预测处理。例如,当位于邻近于预测目标块的多个相邻像素用于帧内预测的时候,帧内预测模块可以基于在相邻像素之中不同的相邻像素对多个区域执行预测处理。稍后将描述对在预测目标块中的多个区域执行预测处理方法的具体示例。
如上所述,帧内预测模块可以对由在预测目标块中的边界划分的多个区域逐区域执行预测处理。在以下的描述中,执行这种类型的预测处理的帧内预测模式称为边界帧内预测模式。
图7是示意地图示编码有关形成边界像素链的边界像素信息的方法示例的示意图。
图7的710至770分别表示存在于预测目标块之中具有3×3大小的像素块,并且在每个3×3块中标记的箭头表示边界像素链的前进方向。在图7中,位于每个3×3块的中心的像素表示对应于在边界像素链中当前被编码的信息的边界像素pn。在图7图示的示例中,边界像素pn称为“当前边界像素”。在图7图示的示例中,在边界像素链中仅仅位于当前边界像素以前的边界像素pn-1称为“先前边界像素”。在图7图示的示例中,在边界像素链中仅仅位于当前边界像素之后的边界像素pn+1称为“后续边界像素”。
对应于当前边界像素pn的边界像素信息可以基于先前边界像素pn-1、当前边界像素pn,和后续边界像素pn+1被编码。此时,对应于当前边界像素pn的边界像素信息可以是表示在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间角度(和/或角度差)的信息。
该信息可以由包括取决于角度(和/或角度差)的二进制数的线条的码(和/或码字)表示。在以下的描述中,表示在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)的码称为链码。
图7的710至770表示先前边界像素pn-1是位于邻近于当前边界像素pn的左侧的像素的示例。但是,本发明不局限于这些示例,并且甚至当先前边界像素pn-1存在于与当前边界像素pn的另一个相对位置时,如下所述的示例将同等地或者类似地适用。
参考图7的710,后续边界像素pn+1可以位于邻近于当前边界像素pn的右侧。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是0度。
参考图7的720,后续边界像素pn+1可以位于邻近于与当前边界像素pn的右侧邻近的像素的上端。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是45度。
参考图7的730,后续边界像素pn+1可以位于邻近于与当前边界像素pn的右侧邻近的像素的最下端。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是-45度。
参考图7的740,后续边界像素pn+1可以位于邻近于当前边界像素pn的上端。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是90度。
参考图7的750,后续边界像素pn+1可以位于邻近于当前边界像素pn的最下端。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是-90度。
参考图7的760,后续边界像素pn+1可以位于邻近于与当前边界像素pn的上端邻近的像素的左侧。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是135度。
参考图7的770,后续边界像素pn+1可以位于邻近于与当前边界像素pn的最下端邻近的像素的左侧。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是-135度。
在以上提及的示例中,在从先前边界像素pn-1到当前边界像素pn的前进方向一从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以表示为七个角度的一个角度。七个角度的每个可以由链码指定。例如,0度对应于链码“0”,45度对应于链码“10”,并且-45度对应于链码“110”。90度对应于链码“1110”,-90度对应于链码“11110”,135度对应于链码“111110”,以及-135度对应于链码“111111”。
可以对于在预测目标块中形成边界像素链的每个边界像素推导出链码。因此,可以取决于在一个预测目标块中包括的边界像素链的数目推导出多个链码。在这里,在当前边界像素pn对应于最终位于边界像素链中的终止边界像素的时候,后续边界像素pn+1不存在,并且因此,可以不必推导出用于当前边界像素pn的链码。
当推导出用于预测目标块中的边界像素的链码的时候,该链码可以包括在比特流中,并且可以从视频编码器发送给视频解码器。然后,视频解码器的帧内预测模块可以基于发送的链码通过搜索或者确定在预测目标块中的边界像素来确定预测目标块的边界。
图8是示意地图示当对应于当前要编码的信息的边界像素是开始边界像素的时候推导链码的方法示例的示意图。
图8的810表示在预测目标块中邻近于最左位置的、具有2×3大小的像素块,并且图8的813表示预测目标块的左侧边界。图8的820表示在预测目标块中邻近于上端的、具有3×2大小的像素块,并且图8的823表示预测目标块的上边界。在图8的810和820中标记的箭头表示边界像素链的前进方向。
在图8图示的示例中,在边界像素链中对应于当前要编码的信息的边界像素pn称为“当前边界像素”。在图8图示的示例中,在边界像素链中仅仅位于当前边界像素之前的边界像素pn-1称为“先前边界像素”,并且在边界像素链中仅仅位于当前边界像素之后的边界像素pn+1称为“后续边界像素”。
如上所述,链码可以表示在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)。但是,在当前边界像素pn是在预测目标块中邻近于最左位置或者邻近于上侧的开始边界像素p0的时候,先前边界像素pn-1可能不存在。
图8的810表示当前边界像素pn是在预测目标块中位于最左位置的开始边界像素的示例。在这种情况下,边界像素链可以被认为是从预测目标块中的左侧开始。
在图8的810中,由于当前边界像素pn是在预测目标块中位于最左位置的开始边界像素,所以先前边界像素pn-1可能不存在。在这种情况下,如在图8的815中图示的,邻近于开始边界像素的左侧的像素可以被认为是先前边界像素,并且从先前边界像素到当前边界像素的前进方向可以被认为是或者被设置为向右水平方向。
在这里,例如,后续边界像素可以是位于邻近于当前边界像素右侧的像素,如在图8的810中所示。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是0度。因此,从图8的810推导出的链码例如可以是“0”。
图8的820表示当前边界像素pn是在预测目标块中位于最上面位置的开始边界像素的示例。在这种情况下,边界像素链可以被认为是从预测目标块中的最上面的位置开始。
在图8的820中,由于当前边界像素pn是在预测目标块中位于最上面位置的开始边界像素,所以先前边界像素pn-1可能不存在。在这种情况下,如在图8的825中图示的,邻近于开始边界像素的最上面位置的像素可以被认为是先前边界像素,并且从先前边界像素到当前边界像素的前进方向可以被认为是或者设置为向下垂直方向。
在这里,例如,后续边界像素可以是位于邻近于当前边界像素的最下位置的像素,如在图8的820中所示。在这种情况下,在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)可以是0度。因此,从图8的810推导出的链码例如可以是“0”。
图9是示意地图示基于边界像素的链码确定像素边界的方法示例的示意图。
图9的910至970表示存在于预测目标块之中的3×3大小的块,并且在该块中图示的箭头表示边界像素链的前进方向。位于在图9中图示的每个3×3块的中心的像素表示当前对其应用链码的边界像素pn。在图9图示的示例中,当前对其应用链码的边界像素pn称为“当前边界像素”,并且被应用于当前边界像素pn的链码称为“当前链码”。在图9图示的示例中,在边界像素链中仅仅位于当前边界像素之前的边界像素pn-1称为“先前边界像素”,并且在边界像素链中仅仅位于当前边界像素之后的边界像素pn+1称为“后续边界像素”。
如上所述,由视频编码器生成的链码可以包括在比特流中,并且可以发送给视频解码器。在这里,如上所述,链码可以表示在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)。此时,视频解码器可以基于发送的链码搜索或者确定在预测目标块中的边界像素,并且可以确定在预测目标块中的边界。
具体地,在确定先前边界像素和当前边界像素之后,视频解码器可以基于对应于当前边界像素的当前链码确定邻近于当前边界像素的部分边界。在这里,部分边界可以指的是在存在于预测目标块之中的边界中邻近于当前边界像素的部分。
邻近于当前边界像素的部分边界可以基于从先前边界像素pn-1到当前边界像素pn的第一前进方向,和从当前边界像素pn到后续边界像素pn+1的第二前进方向来确定。也就是说,对应于当前的边界像素的部分边界可以基于边界像素链的前进方向确定。
例如,如参考图6描述的,形成边界像素链的所有边界像素可以沿着边界的前进方向位于左侧。此时,视频解码器可以仅仅将相对于第一前进方向和第二前进方向两者位于右侧的边界(当前边界像素的边界)确定为部分边界。例如,形成边界像素链的所有边界像素可以沿着边界的前进方向位于右侧。此时,视频解码器可以仅仅将相对于第一前进方向和第二前进方向两者位于左侧的边界(当前边界像素的边界)确定为部分边界。在图9图示的示例中,假设相对于第一前进方向和第二前进方向两者仅仅位于右侧的边界被确定为是对应于当前边界像素的部分边界。
当链码被应用于当前边界像素pn的时候,视频编码器知道从先前边界像素pn-1到当前边界像素pn的前进方向,并且因此,可以基于由链码表示的角度确定沿着相对于当前边界像素pn所表示的前进方向的后续边界像素pn+1的位置。也就是说,边界像素pn+1可以基于链码沿着相对于边界像素pn表示的前进方向被确定。类似地,当前边界像素pn可以是基于先前边界像素pn-1的链码沿着相对于先前边界像素pn-1表示的前进方向被确定的边界像素。当确定后续边界像素pn+1的时候,链码可以被应用于确定的后续边界像素pn+1,并且以上提及的边界确定处理可以以同样的方法执行。
如上所述,视频解码器可以基于链码通过连续地搜索和确定沿着从开始边界像素的前进方向的边界像素并且确定对应于所确定的边界像素的部分边界,来确定在预测目标块中的整个边界。由于链码可以应用于多个边界像素的每个,所以从视频编码器发送给视频解码器的链码的数目可以是两个或更多个。此时,索引值可以分配给多个链码的每个。链码可以以分配的索引值变得更大的顺序被应用于边界像素。也就是说,具有较低索引值的链码可以被应用于沿着边界像素链的前进方向先前确定的边界像素。
图9的910至970表示先前边界像素pn-1是位于邻近于当前边界像素pn的左侧像素的示例。在这种情况下,从先前边界像素pn-1到当前边界像素pn的前进方向可以是向右水平方向。
参考图9的910,链码可以表示0度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是向右水平方向。因此,后续边界像素pn+1可以确定为是位于邻近于当前的边界像素pn右侧的像素。
在图9的910中,在当前的边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界913。因此,当前边界像素pn的下边界913可以被确定为是对应于当前边界像素pn的部分边界。
参考图9的920,链码可以表示45度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕向右水平方向45度的方向。因此,后续边界像素pn+1可以被确定为是位于当前边界像素pn的右上位置的像素。
在图9的920中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界923和右边界926。因此,当前边界像素pn的下边界923和右边界926可以被确定为是对应于当前边界像素pn的部分边界。
参考图9的930,链码可以表示-45度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕向右水平方向-45度的方向。因此,后续边界像素pn+1可以被确定为是位于当前边界像素pn的右下位置的像素。
在图9的930中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界933。因此,当前边界像素pn的下边界933可以被确定为是对应于当前边界像素pn的部分边界。
参考图9的940,链码可以表示90度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是向上垂直方向。因此,后续边界像素pn+1可以被确定为是位于邻近于当前边界像素pn上端的像素。
在图9的940中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界943和右边界946。因此,当前边界像素pn的下边界943和右边界946可以被确定为是对应于当前边界像素pn的部分边界。
参考图9的950,链码可以表示-90度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是向下垂直方向。因此,后续边界像素pn+1可以被确定为是位于邻近于当前边界像素pn下端的像素。
在图9的950中,相对于边界像素链的前进方向位于左侧的边界可能不存在于当前边界像素pn的边界中。因此,对应于当前边界像素pn的部分边界可能不被确定为存在于图9的950中。
参考图9的960,链码可以表示135度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是相对于向右水平方向135度的方向。因此,后续边界像素pn+1可以被确定为是位于当前边界像素pn的左上位置的像素。
在图9的960中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界963、右边界966,和上边界969。因此,当前边界像素pn的下边界963、右边界966和上边界969可以被确定为是对应于当前边界像素pn的部分边界。
参考图9的970,链码可以表示-135度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是相对于向右水平方向-135度的方向。因此,后续边界像素pn+1可以被确定为是位于当前边界像素pn的左下位置的像素。
在图9的970中,相对于边界像素链的前进方向位于左侧的边界可能不存在于当前边界像素pn的边界中。因此,对应于当前边界像素pn的部分边界可能不被确定为存在于图9的970中。
在以上提及的示例中假设先前边界像素pn-1是位于邻近于当前边界像素pn左侧的像素,但是,本发明不局限于这些示例。例如,甚至当先前边界像素pn-1位于邻近于当前边界像素pn的上端、下端和/或右侧时,在该示例中的边界确定方法也可以同等地或者类似地应用。
图10是示意地图示基于用于边界像素的链码确定像素边界的方法的另一个示例的示意图。
图10的1010至1070表示存在于预测目标块之中的3×3大小的块,并且在该块中图示的箭头表示边界像素链的前进方向。位于在图10中图示的每个3×3块的中心的像素表示当前对其应用链码的边界像素pn。在图10图示的示例中,当前对其应用链码的边界像素pn称为“当前边界像素”,并且被应用于当前边界像素pn的链码称为“当前链码”。在图10图示的示例中,在边界像素链中仅仅位于当前边界像素之前的边界像素pn-1称为“先前边界像素”,并且在边界像素链中仅仅位于当前边界像素之后的边界像素pn+1称为“后续边界像素”。
在图10图示的示例中,视频解码器可以基于对应于当前边界像素的当前链码确定邻近于当前边界像素的部分边界。视频解码器可以基于由链码表示的角度确定后续边界像素的位置。具体的边界确定处理如上参考图9所述,并且将不重复。
图10的1010至1070表示先前边界像素pn-1是位于邻近于与当前边界像素pn的左侧邻近的像素下端的像素的示例。在这种情况下,从先前边界像素pn-1到当前边界像素pn的前进方向可以是相对于向右水平方向45度的方向。在下文中,围绕向右水平方向45度的方向称为右上方向。
参考图10的1010,链码可以表示0度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕右上方向0度的方向。因此,后续边界像素pn+1可以被确定为是位于当前边界像素pn的右上位置的像素。
在图10的1010中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界1013和右边界1016。因此,当前边界像素pn的下边界1013和右边界1016可以被确定为是对应于当前边界像素pn的部分边界。
参考图10的1020,链码可以表示45度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕右上方向45度的方向。因此,后续边界像素pn+1可以被确定为是位于邻近于当前边界像素pn最上面位置的像素。
在图10的1020中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界1023和右边界1026。因此,当前边界像素pn的下边界1023和右边界1026可以被确定为是对应于当前边界像素pn的部分边界。
参考图10的1030,链码可以表示-45度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕右上方向-45度的方向。因此,后续边界像素pn+1可以被确定为是位于邻近于当前边界像素pn右侧的像素。
在图10的1030中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界1033。因此,当前边界像素pn的下边界1033可以被确定为是对应于当前边界像素pn的部分边界。
参考图10的1040,链码可以表示90度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕右上方向90度的方向。因此,后续边界像素pn+1可以被确定为是位于当前边界像素pn的左上位置的像素。
在图10的1040中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界1043、右边界1046和上边界1049。因此,当前边界像素pn的下边界1043、右边界1046和上边界1049可以被确定为是对应于当前边界像素pn的部分边界。
参考图10的1050,链码可以表示-90度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕右上方向-90度的方向。因此,后续边界像素pn+1可以被确定为是位于当前边界像素pn的左下位置的像素。
在图10的1050中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界1053。因此,当前边界像素pn的下边界1053可以被确定为是对应于当前边界像素pn的部分边界。
参考图10的1060,链码可以表示135度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕右上方向135度的方向。因此,后续边界像素pn+1可以被确定为是位于邻近于当前边界像素pn左侧的像素。
在图10的1060中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界是当前边界像素pn的下边界1063、右边界1066和上边界1069。因此,当前边界像素pn的下边界1063、右边界1066和上边界1069可以被确定为是对应于当前边界像素pn的部分边界。
参考图10的1070,链码可以表示-135度的角度。此时,从当前边界像素pn到后续边界像素pn+1的前进方向可以是围绕右上方向-135度的方向。因此,后续边界像素pn+1可以被确定为是位于邻近于当前边界像素pn下端的像素。
在图10的1070中,在当前边界像素pn的边界中相对于边界像素链的前进方向位于左侧的边界可能不存在。因此,在图10的1070中,可以确定没有对应于当前边界像素pn的部分边界。
在以上提及的示例中假设先前边界像素pn-1是位于邻近于与当前边界像素pn的左侧邻近的像素的下端的像素,但是,本发明不局限于这些示例。例如,甚至当先前边界像素pn-1是位于当前边界像素pn的左上位置的像素、位于当前边界像素pn的右上位置的像素,和/或位于当前边界像素pn的右下位置的像素时,在该示例中的边界确定方法也可以同等地或者类似地应用。
图11是图示确定在终止边界像素处的像素边界的方法示例的示意图。
图11的1110至1170表示在预测目标块中邻近于最右侧的2×3大小的块。在图11的1110至1170中标记的箭头表示边界像素链的前进方向。在图11图示的示例中,在边界像素链中仅仅位于终止边界像素pn之前的边界像素pn-1称为“先前边界像素”。
如参考图7详细描述的,对应于终止边界像素的链码可能不存在。此时,视频解码器可以基于先前边界像素的链码确定邻近于终止边界像素的部分边界。
如上所述,链码可以表示在从先前边界像素pn-1到当前边界像素pn的前进方向与从当前边界像素pn到后续边界像素pn+1的前进方向之间的角度(和/或角度差)。因此,在推导在图11中对应于先前边界像素的部分边界的过程中,可以确定从先前边界像素到终止边界像素的前进方向。此时,对应于终止边界像素的部分边界可以基于所确定的前进方向来确定。
例如,如参考图6详细描述的,形成边界像素链的所有边界像素可以位于相对于边界的前进方向的左侧。此时,视频解码器可以仅仅将位于相对于从先前边界像素到终止边界像素的前进方向的右侧的边界(终止边界像素的边界)确定为部分边界。例如,形成边界像素链的所有边界像素可以沿着边界的前进方向位于右侧。此时,视频解码器可以仅仅将位于相对于从先前边界像素到终止边界像素的前进方向的左侧的边界(终止边界像素的边界)确定为部分边界。在图11图示的示例中,假设相对于从先前边界像素到终止边界像素的前进方向仅仅位于右侧的边界被确定为是对应于终止边界像素的部分边界。
图11的1110至1140表示终止边界像素是在2×3像素块中位于右中心的像素的示例。在这种情况下,终止边界像素可以是在终止边界像素所属的预测目标块中位于最右位置的像素。
参考图11的1110,从先前边界像素pn-1到终止边界像素pn的前进方向可以是向右水平方向。此时,先前边界像素可以是位于邻近于终止边界像素左侧的像素。在图11的1110中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的下边界1113。因此,终止边界像素的下边界1113可以被确定为是对应于终止边界像素的部分边界。
参考图11的1120,从先前边界像素pn-1到终止边界像素pn的前进方向可以是向下垂直方向。此时,先前边界像素可以是位于邻近于终止边界像素上端的像素。在图11的1120中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的下边界1123和左边界1126。因此,终止边界像素的下边界1123和左边界1126可以被确定为是对应于终止边界像素的部分边界。
参考图11的1130,从先前边界像素pn-1到终止边界像素pn的前进方向可以是右上方向。此时,先前边界像素可以是位于终止边界像素的左下端的像素。在图11的1130中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的下边界1133。因此,终止边界像素的下边界1133可以被确定为是对应于终止边界像素的部分边界。
参考图11的1140,从先前边界像素pn-1到终止边界像素pn的前进方向可以是右下方向。此时,先前边界像素可以是位于终止边界像素的左上侧的像素。在图11的1140中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的下边界1143和左边界1146。因此,终止边界像素的下边界1143和左边界1146可以被确定为是对应于终止边界像素的部分边界。
图11的1150和1160表示终止边界像素是在2×3像素块中位于右上侧的像素的示例。在这种情况下,终止边界像素可以是在终止边界像素所属的预测目标块中位于最右位置的像素。
参考图11的1150,从先前边界像素pn-1到终止边界像素pn的前进方向可以是向右水平方向。此时,先前边界像素可以是位于邻近于终止边界像素左侧的像素。在图11的1150中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的下边界1153。因此,终止边界像素的下边界1153可以被确定为是对应于终止边界像素的部分边界。
参考图11的1160,从先前边界像素pn-1到终止边界像素pn的前进方向可以是右上方向。此时,先前边界像素可以是位于终止边界像素的左下侧的像素。在图11的1160中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的下边界1163。因此,终止边界像素的下边界1163可以被确定为是对应于终止边界像素的部分边界。
图11的1170和1180表示终止边界像素是在2×3像素块中位于右下侧的像素的示例。在这种情况下,终止边界像素可以是在终止边界像素所属的预测目标块中位于最右位置的像素。
参考图11的1170,从先前边界像素pn-1到终止边界像素pn的前进方向可以是向下垂直方向。此时,先前边界像素可以是位于邻近于终止边界像素上侧的像素。在图11的1170中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的左边界1173。因此,终止边界像素的左边界1173可以被确定为是对应于终止边界像素的部分边界。
参考图11的1180,从先前边界像素pn-1到终止边界像素pn的前进方向可以是右下方向。此时,先前边界像素可以是位于邻近于终止边界像素左上侧的像素。在图11的1180中,在终止边界像素的边界中相对于前进方向位于左侧的边界是终止边界像素的左边界1183。因此,终止边界像素的左边界1183可以被确定为是对应于终止边界像素的部分边界。
在以上提及的示例中假设终止边界像素是在预测目标块中位于最左位置的像素,但是,本发明不局限于这些示例。例如,甚至当终止边界像素是在预测目标块中位于最左位置的像素、在预测目标块中位于最上面位置的像素,和/或在预测目标块中位于最下位置的像素时,在该示例中的边界确定方法也可以同等地或者类似地应用。
当如上所述确定在预测目标块中的边界的时候,预测目标块可以基于确定的边界划分为多个区域。也就是说,帧内预测模块可以基于确定的边界来确定在预测目标块中的至少两个区域。此时,帧内预测模块可以对多个区域的每个对多个区域逐区域执行预测处理。
例如,当位于围绕预测目标块的多个相邻像素用于帧内预测的时候,帧内预测模块可以基于在多个相邻像素之中不同的相邻像素对多个区域的每个执行预测处理。在这里,多个相邻像素可以包括邻近于预测目标块上侧的多个上相邻像素,和邻近于预测目标块的左侧的多个左相邻像素。此时,当假设在预测目标块中N个区域分别定义为R0、R1、…、Rn和RN-1(这里N是正整数,并且n是0至N-1的整数)的时候,在区域Rn中像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中位于邻近于区域Rn的像素来确定。
在以下的描述中,在预测目标块中在其上执行预测处理的每个区域称为预测目标区。
图12是示意地图示在预测目标块中的每个区域上执行帧内预测处理的方法示例的示意图。
图12的1212表示预测目标块,并且图12的1214表示存在于预测目标块之中的边界。在图12中,在预测目标块1212中位于左上角的像素的坐标定义为(0,0)。
参考图12的1210,当在预测目标块1212中的像素边界1214被重建的时候,预测目标块1212基于边界1214被划分为两个预测目标区。在图12图示的示例中,在二个预测目标区之中包括像素(0,0)的区域称为第一预测目标区,并且不包括像素(0,0)的区域称为第二预测目标区。
在图12图示的示例中,在每个预测目标区中像素的预测值可以基于位于邻近于预测目标块1212的上侧的多个上相邻像素,和位于邻近于预测目标块1212的左侧的多个左相邻像素来确定。此时,在每个预测目标区中的像素的预测值可以基于位于邻近于对应的预测目标区的相邻像素来确定。
在图12的1210中,在第一预测目标区中像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中位于邻近于第一预测目标区的相邻像素1216来确定。此时,在第一预测目标区中像素的预测值可以被确定为是位于邻近于第一预测目标区的相邻像素1216的像素值的平均值。
在第二预测目标区中的像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中位于邻近于第二预测目标区的相邻像素1218来确定。此时,在第二预测目标区中的像素的预测值可以被确定为是位于邻近于第二预测目标区的相邻像素1218的像素值的平均值。
图12的1220表示在以上提及的示例中推导出的、在第一预测目标区中的预测像素值和在第二预测目标区中的预测像素值。
用于预测第一预测目标区的相邻像素1216的平均像素值可以由表达式1计算。
表达式1
(50+53+51+54+53+52+55+50+58+55+51+58+57+55)/14=53
用于预测第二预测目标区的相邻像素1218的平均像素值可以由表达式2计算。
表达式2
(20+24)/2=22
因此,在图12的1220中,在第一预测目标区中的像素的预测值可以被确定为是53,并且在第二预测目标区中的像素的预测值可以被确定为是22。
如上所述,使用对应于每个预测目标区的相邻像素的平均像素值推导像素的预测值的帧内预测方法可以称为区域平均方法。在以上提及的示例中已经假设预测目标块被划分为两个预测目标区,但是,本发明不局限于这些示例。例如,甚至当预测目标块被划分为三个以上预测目标区时,使用区域平均方法的帧内预测方法也将同等地或者类似地应用。
图13是示意地图示在预测目标块中的每个区域上执行帧内预测处理的方法的另一个示例的示意图。
图13的1312表示预测目标块,并且图13的1314表示存在于预测目标块之中的边界。在图13中,在预测目标块1312中位于左上角的像素的坐标定义为(0,0)。
参考图13的1310,当在预测目标块1312中的像素边界1314被重建的时候,预测目标块1312基于边界1314被划分为两个预测目标区。在图13图示的示例中,在两个预测目标区之中包括像素(0,0)的区域称为第一预测目标区,并且不包括像素(0,0)的区域称为第二预测目标区。
在图13图示的示例中,在每个预测目标区中的像素的预测值可以基于位于邻近于预测目标块1312上侧的多个上相邻像素,和位于邻近于预测目标块1312左侧的多个左相邻像素来确定。此时,在每个预测目标区中的像素的预测值可以基于位于邻近于对应的预测目标区的相邻像素来确定。
在图13的1310中,在第一预测目标区中像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中位于邻近于第一预测目标区的相邻像素1316确定。此时,在第一预测目标区中的任意预测目标像素的预测值可以被确定为是在相邻像素1316之中具有到预测目标像素最短的曼哈顿(Manhattan)距离的像素的像素值。在这里,曼哈顿距离可以是通过将水平距离(在x坐标值之间的差值)与垂直距离(在y坐标值之间的差值)相加而推导出的值。
例如,在邻近于第一预测目标区的相邻像素1316之中,在第一预测目标区中具有到像素1325最短的曼哈顿距离的相邻像素可以是相邻像素1326。在这种情况下,由于相邻像素1326的像素值是50,所以在第一预测目标区中的像素1325的预测值可以被确定为是50。
在图13的1310中,在第二预测目标区中的像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中位于邻近于第二预测目标区的相邻像素1318来确定。此时,在第二预测目标区中的任意预测目标像素的预测值可以被确定为是在相邻像素1318之中具有到预测目标像素最短的曼哈顿距离的像素的像素值。
例如,在邻近于第二预测目标区的相邻像素1318之中,在第二预测目标区中具有到像素1321最短的曼哈顿距离的相邻像素可以是相邻像素1322。在这种情况下,由于相邻像素1322的像素值是20,所以在第二预测目标区中的像素1321的预测值可以被确定为是20。另一方面,在邻近于第二预测目标区的相邻像素1318之中,在第二预测目标区中具有到像素1323最短的曼哈顿距离的相邻像素可以是相邻像素1324。在这种情况下,由于相邻像素1324的像素值是24,所以在第二预测目标区中的像素1323的预测值可以被确定为是24。
图13的1330表示在以上提及的示例中推导出的、在第一预测目标区中的预测像素值和在第二预测目标区中的预测像素值。
在图13图示的预测目标块中的预测值基于曼哈顿距离推导出。在推导曼哈顿距离的过程中,具有到一个预测目标像素相同的曼哈顿距离的两个或更多个相邻像素可能存在。例如,一个邻近于预测目标块上侧的上相邻像素,和一个邻近于预测目标块左侧的左相邻像素可以具有到一个预测目标像素相同的曼哈顿距离。在这种情况下,帧内预测模块可以仅仅将上相邻像素的像素值确定为预测目标像素的预测值,或者可以仅仅将左侧相邻像素的像素值确定为预测目标像素的预测值。图13的1330图示在具有相同的曼哈顿距离(到预测目标像素的曼哈顿距离)的上相邻像素和左相邻像素之中的上相邻像素的像素值用作预测目标像素的预测值的示例。
如上所述,基于在预测目标像素和相邻像素之间的曼哈顿距离推导预测目标像素的预测值的帧内预测方法可以称为最近相邻方法。在以上提及的示例中已经假设预测目标块被划分为两个预测目标区,但是,本发明不局限于这些示例。例如,甚至当预测目标块被划分为三个以上预测目标区时,使用最近相邻方法的帧内预测方法也将同等地或者类似地应用。
图14是示意地图示在预测目标块中的每个区域上执行帧内预测处理的方法的另一个示例的示意图。
图14的1412表示预测目标块,并且图14的1414表示存在于预测目标块之中的边界。在图14中,在预测目标块1412中位于左上角的像素的坐标定义为(0,0)。
参考图14的1410,当在预测目标块1412中的像素边界1414被重建的时候,预测目标块1412可以基于边界1414被划分为两个预测目标区。在图14图示的示例中,在两个预测目标区之中包括像素(0,0)的区域称为第一预测目标区,并且不包括像素(0,0)的区域称为第二预测目标区。在图14中,在每个预测目标区的像素中标记的数字表示在对应的预测目标区中的像素值被预测的顺序。
在图14图示的示例中,在每个预测目标区中像素的预测值可以基于位于邻近于预测目标块1412上侧的多个上相邻像素和位于邻近于预测目标块1412左侧的多个左相邻像素来确定。此时,在每个预测目标区中的像素的预测值可以基于位于邻近于对应的预测目标区的相邻像素来确定。
在图14的1410中,在第一预测目标区中像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中位于邻近于第一预测目标区的相邻像素1416来确定。
在这里,当在第一预测目标区中的预测目标像素是位于邻近于相邻像素1416的至少一个的像素的时候,预测目标像素的预测值可以被确定为是邻近于预测目标像素的相邻像素的像素值。另一方面,预测目标像素可以位于邻近于相邻像素1416之中的两个相邻像素。例如,预测目标像素可以位于邻近于一个上相邻像素和一个左相邻像素。在这种情况下,帧内预测模块可以仅仅将邻近于预测目标像素的上相邻像素的像素值用作预测目标像素的预测值,或者可以仅仅将邻近于预测目标像素的左相邻像素的像素值用作预测目标像素的预测值。
当预测目标像素是不邻近于相邻像素1416的任何一个的像素的时候,预测目标像素的预测值可以被确定为第一预测目标区中先前预测的像素值。在这里,先前预测的像素可以是位于邻近于预测目标像素的像素。
根据以上提及的示例,在图14的1410中,在预测了第一预测目标区中的任意像素之后,可以预测在第一预测目标区中位于邻近于该任意像素的另一个像素的像素值。因此,在图14的1410中,在第一预测目标区中的像素的像素值可以从邻近于相邻像素1416的至少一个的像素开始以如在图14中图示的顺序连续地预测。
在第二预测目标区中的像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中位于邻近于第二预测目标区的相邻像素1418来确定。
在这里,当在第二预测目标区中的预测目标像素是位于邻近于相邻像素1418的至少一个的像素的时候,预测目标像素的预测值可以被确定为是邻近于预测目标像素的相邻像素的像素值。另一方面,预测目标像素可以位于邻近于在相邻像素1418之中的两个相邻像素。例如,预测目标像素可以位于邻近于一个上相邻像素和一个左相邻像素。在这种情况下,帧内预测模块可以仅仅将邻近于预测目标像素的上相邻像素的像素值用作预测目标像素的预测值,或者可以仅仅将邻近于预测目标像素的左相邻像素的像素值用作预测目标像素的预测值。
当预测目标像素是不邻近于相邻像素1418的任何一个的像素的时候,预测目标像素的预测值可以被确定为是在第二预测目标区中先前预测的像素值。在这里,先前预测的像素可以是位于邻近于预测目标像素的像素。
根据以上提及的示例,在图14的1410中,在预测了在第二预测目标区中的任意像素之后,可以预测在第二预测目标区中位于邻近于该任意像素的另一个像素的像素值。因此,在图14的1410中,在第二预测目标区中的像素的像素值可以从邻近于相邻像素1418的至少一个的像素开始以如在图14中图示的顺序连续地预测。
图14的1420图示在以上提及的示例中推导出的、在第一预测目标区中的预测像素值和在第二预测目标区中的预测像素值。
如上所述,基于位于邻近于预测目标像素的相邻像素,和/或位于邻近于预测目标像素的先前预测的像素推导预测目标像素的预测值的帧内预测方法可以称为邻近像素方法。在以上提及的示例中已经假设预测目标块被划分为两个预测目标区,但是,本发明不局限于这些示例。例如,甚至当预测目标块被划分为三个以上预测目标区时,使用邻近像素方法的帧内预测方法也将同等地或者类似地应用。
另一方面,如上参考图5所述,视频编码器可以将帧内预测模式信息发送给视频解码器。从视频编码器发送到视频解码器的用于每个预测单元的帧内预测模式信息的示例在上面参考表1描述。当如在图6至14中图示的示例应用边界帧内预测模式的时候,视频编码器需要另外将边界帧内预测模式信息发送给视频解码器。
此时,边界帧内预测模式可以作为新的模式增加给现有的帧内预测模式。边界帧内预测模式可以由边缘索引表示。例如,边缘索引可以由EDGE_IDX表示。例如,当除边界帧内预测模式之外的现有的帧内预测模式具有0至33的模式值的时候,边界帧内预测模式可以由34的模式值表示。例如,当除边界帧内预测模式之外的现有的帧内预测模式具有0至34的模式值的时候,边界帧内预测模式可以由35的模式值表示。
根据在图6至14中图示的示例,在边界帧内预测模式中,视频解码器可以基于链码确定在预测目标块中的像素边界,并且可以对预测目标块基于边界划分为的多个区域逐区域执行预测处理。此时,视频解码器可以基于多个链码通过在预测目标块中连续地搜索或者确定形成边界像素链的多个边界来确定像素边界。因此,视频编码器可以将有关位于边界像素链开始的点的开始边界像素的位置、链码的数目,和用于每个预测单元的多个链码的信息发送给视频解码器。
有关开始边界像素位置的信息例如可以由两个语法元素edge_start_left和edge_start_pos来表达。
在这里,edge_start_left可以表示开始边界像素是位于预测目标块中最左的位置还是位于预测目标块中最上面的位置。也就是说,edge_start_left可以表示边界像素链是从预测目标块的左边界开始还是从预测目标块的上边界开始。例如,当边界像素链从预测目标块的左边界开始的时候,edge_start_left可以被设置为1。当边界像素链从预测目标块的上边界开始的时候,edge_start_left可以被设置为0。
edge_start_pos可以表示开始边界像素位于预测目标块中的左侧或者上侧的哪个位置。例如,假设开始边界像素位于预测目标块中的最左的位置。此时,edge_start_pos可以被设置为表示开始边界像素位于预测目标块中从最上面的位置向下方向的哪个位置的值。例如,假设开始边界像素位于预测目标块中的最上面的位置。此时,edge_start_pos可以被设置为表示开始边界像素位于预测目标块中从最左的位置向右方向的哪个位置的值。
另一方面,有关链码数目的信息例如可以由edge_count_minus_1表达。在边界帧内预测模式中,由于至少一个链码可以从视频编码器发送给视频解码器,所以edge_count_minus_1可以被设置为通过从链码的实际数量中减去1获得的值。因此,要从视频编码器发送给视频解码器的链码的数目可以是通过对edge_count_minus_1加1获得的值。例如,多个链码可以由edge_code[i]指定。在这里,i可以对应于用于标识多个链码的索引值。
在以上提及的示例中,要从视频编码器发送给视频解码器的有关每个预测单元的边界帧内预测模式的信息可以由在语法coding_unit()中包括的prediction_unit()中的相关语法定义。因此,有关边界帧内预测模式的信息可以被如表2所示被添加给在表1中示出的示例。
表2
在这里,intra_luma_pred_mode[x0][y0]可以表示当前的预测单元的帧内预测模式。参考表2,在当前预测单元的帧内预测模式是边界帧内预测模式的时候,有关开始边界像素位置的信息、有关链码数目的信息,和有关链码的信息可以从视频编码器发送给视频解码器。
如上参考图5所述,构成MPM列表的MPM候选的数目可以是固定值。当固定数是2个或者更大的时候,MPM候选的数目始终大于1,并且因此,在表2示出的示例中的“如果(NumMPMCand>1)”可以被跳过。在表2示出的示例中的“if(IntraPredMode[x0][y0])==2)”和“planar_flag_luma[x0][y0]”可以取决于由每个模式值表示的帧内预测模式的设置而被跳过。
另一方面,表示边界帧内预测模式的信息可以基于MPM或者剩余模式被发送。剩余模式例如可以由rem_intra_luma_pred_mode指定,如在表2示出的示例。
如上所述,一个预测单元的可能的帧内预测模式的数目可以是预先确定的固定值。用作MPM候选的帧内预测模式的数目也可以是预先确定的值。在这里,对应于剩余模式的码(和/或码字)必须表达对应于一个预测单元的可能的帧内预测模式的数目中通过用作MPM候选的帧内预测模式的数目所获得的数目的帧内预测模式。在这里,码(和/或码字)可以对应于二进制数序列(每个二进制数的值是0或者1)。
当边界帧内预测模式被作为新的模式增加给现有的帧内预测模式的时候,用于表达剩余模式的附加比特可能是必需的。因此,在当增加边界帧内预测模式的时候的剩余模式中,其中一比特被添加给表示现有帧内预测模式的剩余模式的码转义码可以被添加给现有的码。也就是说,在当使用边界帧内预测模式的时候的剩余模式中,可以另外使用转义码,其中一比特被添加给仅用于表达除边界帧内预测模式之外的帧内预测模式的剩余模式的码。
例如,假设一个预测单元的可能的帧内预测模式的数目基于预测单元的大小确定。例如,当不使用边界帧内预测模式的时候,具有4×4大小的预测单元的可能的帧内预测模式的数目可以是17,具有8×8、16×16和32×32大小的预测单元的可能的帧内预测模式的数目可以是34,并且具有64×64大小的预测单元的可能的帧内预测模式的数目可以是3。此时,当边界帧内预测模式被作为新的模式增加给现有的帧内预测模式的时候,一个预测单元的可能的帧内预测模式的数目可以取决于预测单元的大小如在表3中表达。在表3示出的示例中,假设用作MPM候选的帧内预测模式的数目是1。
表3
预测单元的大小 | 帧内预测模式的数目 |
4×4 | 18(=17+1) |
8×8,16×16,32×32 | 35(=34+1) |
64×64 | 4(=3+1) |
在表3示出的示例中,当预测单元具有4×4大小的时候,预测单元的可能的帧内预测模式的数目是18。在这里,除了用作MPM候选的一个帧内预测模式之外,对应于剩余模式的码(和/或码字)必须表达17个模式(模式0至16)。
当仅仅16个模式(模式0至15)由剩余模式的码表达的时候,模式15例如可以由“1111”表达。但是,当使用边界帧内预测模式的时候,剩余模式必须表达模式16。因此,模式15可以由码“11110”必须,并且模式16可以由码“11111”必须。在这种情况下,当剩余模式的码表示“1111”的时候,视频解码器可以额外的读取一比特,并且可以使用附加比特识别由该码表示的模式。另一方面,模式0至14可以由与现有的码相同的码表示(当不使用边界帧内预测模式的时候)。
在表3示出的示例中,当预测单元具有4×4、16×16或者32×32大小的时候,预测单元的可能的帧内预测模式的数目是35。在这里,除了用作MPM候选的一个帧内预测模式之外,对应于剩余模式的码(和/或码字)必须表示表达34个模式(模式0至33)。
当仅仅33个模式(模式0至32)由剩余模式的码表达的时候,模式32例如可以由“111111”表达。但是,当使用边界帧内预测模式的时候,剩余模式必须表达模式33。因此,模式32可以由码“1111110”表达,并且模式33可以由码“1111111”表达。在这种情况下,当剩余模式的码表示“111111”的时候,视频解码器可以额外的读取一比特,并且可以使用附加比特识别由码表示的模式。另一方面,模式0至31可以由与现有的码相同的码表示(当不使用边界帧内预测模式的时候)。
在表3示出的示例中,当预测单元具有64×64大小的时候,预测单元的可能的帧内预测模式的数目是4。在这里,除了用作MPM候选的一个帧内预测模式之外,对应于剩余模式的码(和/或码字)必须表达3个模式(模式0至2)。
当仅仅2个模式(模式0和1)由剩余模式的码表达的时候,模式15例如可以由“1”表达。但是,当使用边界帧内预测模式的时候,剩余模式必须表达模式2。因此,模式1可以由码“10”表达,并且模式2可以由码“11”表达。在这种情况下,当剩余模式的码表示“1”的时候,视频解码器可以额外的读取一比特,并且可以使用附加比特识别由码表示的模式。另一方面,模式0可以由与现有的码相同的码表达(当不使用边界帧内预测模式的时候)。
例如,一个预测单元的可能的帧内预测模式的数目可以是预先确定的固定值,无论预测单元如何。例如,当不使用边界帧内预测模式的时候,预测单元的可能的帧内预测模式的数目可以是35。在这里,当边界帧内预测模式被作为新的模式增加给现有的帧内预测模式的时候,一个预测单元的可能的帧内预测模式的数目可以是36。在这里,假设用作MPM候选的帧内预测模式的数目是3。然后,除了用作MPM候选的三个帧内预测模式之外,对应于剩余模式的码(和/或码字)必须表达33个模式(模式0至32)。
当仅仅32个模式(模式0至31)由剩余模式的码表达的时候,模式31例如可以由“11111”表达。但是,当使用边界帧内预测模式的时候,剩余模式必须表达模式32。因此,模式31可以由码“111110”表达,并且模式32可以由码“111111”表达。在这种情况下,当剩余模式的代码表示“11111”的时候,视频解码器可以额外的读取一比特,并且可以使用附加比特识别由码表示的模式。另一方面,模式0至30可以由与现有的码相同的码表示(当不使用边界帧内预测模式的时候)。
图15是示意地图示当使用边界帧内预测模式的时候在视频编码器中的处理示例的流程图。
参考图15,视频编码器可以确定在预测目标块中的像素边界(S1510)。边界可以对应于存在于预测目标块所属的图片中的对象的边界。如上所述,边界可以由位于邻近于边界的至少一个边界像素指定,并且边界像素可以形成边界像素链。
再次参考图15,视频编码器可以基于确定的边界对预测目标块执行帧内预测处理(S1520)。
如上所述,当确定在预测目标块中的边界的时候,预测目标块可以基于确定的边界被划分为多个区域。然后,视频编码器可以对多个区域逐区域执行预测处理。例如,当位于围绕预测目标块的多个相邻像素用于帧内预测的时候,帧内预测模块可以基于在相邻像素之中不同的相邻像素对多个区域执行预测处理。对在预测目标块中的多个区域执行预测处理的方法的具体示例与如上参考图12至13所述的相同,并且因此,在此处将不重复。
再次参考图15,视频编码器可以创建边界帧内预测模式信息,并且可以将创建的信息编码并发送给解码器(S1530)。
当对应于预测目标块的帧内预测模式是边界帧内预测模式的时候,视频编码器可以基于MPM和/或剩余模式将表示边界帧内预测模式的信息发送给视频解码器。在这里,边界帧内预测模式可以由边缘索引表示,并且例如可以由EDGE_IDX指定。
当确定预测目标块中的像素边界的时候,视频编码器可以编码有关对应于所确定的边界的边界像素的信息并且将其发送给视频解码器。从这里,有关边界像素的信息可以包括有关位于边界像素链从其开始的点的开始边界像素位置、有关链码数目的信息,和有关链码的信息。创建和/或编码有关边界像素信息的方法的具体示例与如上所述的相同,并且因此,将在此处不重复。
图16是示意地图示当使用边界帧内预测模式的时候在视频解码器中的帧内预测方法示例的流程图。
如上所述,视频编码器可以编码边界帧内预测模式信息并将其发送给视频解码器。当发送的帧内预测模式信息包括表示边界帧内预测模式的信息的时候,视频解码器可以根据稍后将描述的示例执行边界确定处理和预测处理。
参考图16,视频解码器可以确定在预测目标块中的像素边界(S1610)。
如上所述,从视频编码器发送的边界帧内预测模式信息可以包括有关边界像素的信息(例如,有关开始边界像素位置、链码的数目和链码的信息)。视频解码器可以基于有关边界像素的信息通过搜索或者确定在预测目标块中的边界像素来确定在预测目标块中的边界。边界确定处理的具体示例与如上参考图9至11所述的相同,并且因此,在此处将不重复。
再次参考图16,视频解码器可以基于确定的边界对预测目标块执行帧内预测(S1620)。
当如上所述确定在预测目标块中的边界的时候,预测目标块可以基于确定的边界被划分为多个区域。然后,视频解码器可以对多个区域逐区域执行预测处理。例如,当位于围绕预测目标块的多个相邻像素用于帧内预测的时候,帧内预测模块可以基于在相邻像素之中不同的相邻像素对多个区域执行预测处理。对在预测目标块中的多个区域执行预测处理的方法的具体示例与如上参考图12至13所述的相同,并且因此,在此处将不重复。
图17是示意地图示根据本发明的一个实施例的视频解码器的示例的方框图。在图17中图示的视频解码器1700包括预测模块1710和重建块构建模块1720。
当对应于预测目标块的预测模式是边界帧内预测模式的时候,预测模块1710可以确定在预测目标块中的像素边界。此时,预测模块1710可以基于从视频编码器接收的边界帧内预测模式信息确定边界。在这里,边界帧内预测模式信息可以包括有关开始边界像素位置的信息、有关链码数目的信息,和有关链码的信息。边界确定处理的具体示例与如上所述的相同,并且因此,在此处将不重复。
当确定在预测目标块中的边界的时候,预测目标块可以基于确定的边界被划分为多个区域。此时,预测模块1710可以通过对多个区域逐区域执行预测处理,来构建对应于预测目标块的预测块。在这里,预测块可以是包括具有预测的像素值的预测像素的块。对在预测目标块中的多个区域执行预测处理方法的具体示例与如上参考图12至14所述的相同,并且因此,在此处将不重复。
重建块构建模块1720可以基于构建预测块来构建重建块。此时,重建块构建模块1720可以执行处理,诸如熵解码、去量化、反变换和滤波,以构建重建块。重建块构建处理的具体示例与如上参考图3所述的相同,并且因此,在此处将不重复。
图18a至18c是示意地图示根据本发明以边界帧内预测模式的帧内预测处理示例的示意图。
图18a图示预测目标块1813和用于推导出预测目标块的MPM候选的相邻块1816和1819。在图18a图示的示例中,假设预测目标块1813具有4×4的大小。
如上参考图5所述,帧内预测模块可以基于邻近于预测目标块的左侧的左相邻块1816的预测模式,和邻近于预测目标块的上侧的上相邻块1819的预测模式来构建MPM候选列表。当预测目标块1813的帧内预测模式等于MPM候选的任何一个的时候,视频编码器可以将MPM标记信息发送给视频解码器。但是,当MPM候选的所有预测模式不同于预测目标块的预测模式的时候,视频编码器可以基于剩余模式发送预测目标块的帧内预测模式。
在图18a图示的示例中,假设左相邻块1816和上相邻块1819的帧内预测模式是DC模式。在这里,DC模式的模式值例如可以是2或者1。此时,基于左相邻块1816和上相邻块1819的预测模式构建的MPM候选列表可能不包括作为MPM候选的边界帧内预测模式。因此,当预测目标块1813的预测模式是边界帧内预测模式的时候,视频编码器可以基于剩余模式将预测目标块1813的帧内预测模式信息发送给视频解码器。在这里,剩余模式可以如上所述由rem_intra_luma_pred_mode指定。
例如,假设具有4×4大小的预测目标块的可能的帧内预测模式的数目是18(模式0至17),并且用作MPM候选的帧内预测模式的数目是1。还假设边界帧内预测模式的模式值是17。
此时,对应于边界帧内预测模式的剩余模式可以对应于模式16。在这种情况下,剩余模式的模式16可以例如由“11111”表达。因此,视频编码器可以将码发送给视频解码器,并且视频解码器可以基于发送的码知道预测目标块的帧内预测模式是边界帧内预测模式。在这里,当预测目标块的实际的帧内预测模式是IntraPredMode的时候,IntraPredMode可以被设置为模式值17,这可以指的是预测目标块的帧内预测模式是边界帧内预测模式。边界帧内预测模式可以由边缘索引表示,并且例如可以由EDGE_IDX表达。
例如,假设具有4×4大小的预测目标块的可能的帧内预测模式的数目是36(模式0至35),并且用作MPM候选的帧内预测模式的数目是3。还假设边界帧内预测模式的模式值是35。
此时,对应于边界帧内预测模式的剩余模式可以对应于模式32。在这种情况下,剩余模式的模式32可以例如由“111111”表达。因此,视频编码器可以将码发送给视频解码器,并且视频解码器可以基于发送的码知道预测目标块的帧内预测模式是边界帧内预测模式。在这里,当预测目标块的实际的帧内预测模式是IntraPredMode的时候,IntraPredMode可以被设置为模式值34,这可以指的是预测目标块的帧内预测模式是边界帧内预测模式。边界帧内预测模式可以由边缘索引表示,并且例如可以由EDGE_IDX表达。
另一方面,视频编码器可以如上所述将有关位于边界像素链开始的点的开始边界像素位置、链码的数目,和用于对应于边界帧内预测模式的预测目标块的链码的信息发送给视频解码器。
如上所述,有关开始边界像素位置的信息例如可以由edge_start_left和edge_start_pos表达。在这里,例如,edge_start_left可以被设置为1。此时,edge_start_left可以表示开始边界像素位于预测目标块1813中的最左的位置。例如,edge_start_pos也可以被设置为1。此时,edge_start_pos可以表示开始边界像素对应于在预测目标块1813中从最上面的位置向下方向的第二像素A。
另一方面,有关链码数目的信息例如可以由edge_count_minus_1表达。在这种情况下,edge_count_minus_1可以被设置为通过从实际的链码的数目中减去1获得的值。例如,当链码的数目是3的时候,edge_count_minus_1可以被设置为2。此时,2可以由码字“10”表达。
当链码的数目是3的时候,三个链码可以以链码被应用于预测目标块的顺序由edge_code[0]、edge_code[1]和edge_code[2]表达。例如,edge_code[0]可以被设置为“0”,其表示0度的角度。edge_code[1]可以被设置为“10”,其表示45度的角度。edge_code[2]可以被设置为“110”,其表示-45度的角度。
在图18a和18b图示的示例中,假设三个链码被发送。在图18a和18b图示的示例中,三个链码以链码被应用于预测目标块的顺序被称为第一链码、第二链码和第三链码。
图18b是图示基于链码确定在预测目标块1813中的像素边界的方法示例的示意图。在图18b的1820至1850中标记的箭头表示边界像素链的前进方向。在图18b图示的示例中,假设使用根据在图7和8中图示的示例的链码,和根据在图9至11中图示的示例的边界确定处理。
参考图18b的1820,帧内预测模块可以确定开始边界像素的位置。如上参考图18a所述,当edge_start_left被设置为1,并且edge_start_pos被设置为1的时候,开始边界像素A可以是在预测目标块1813中位于最左位置的像素,并且可以对应于从其中最上面的位置向下方向中的第二像素。
参考图18b的1830,第一链码可以被应用于开始边界像素A。此时,由于仅仅位于开始边界像素A以前的边界像素不存在,所以从先前边界像素到开始边界像素A的前进方向可以如上在图8图示的示例中所述被认为是或者被设置为向右水平方向。由于第一链码表示0度的角度,所以开始边界像素A的下边界1833可以被确定为是对应于开始边界像素A的部分边界。在边界像素链的前进方向中仅仅位于开始边界像素A之后的边界像素可以被确定为是位于邻近于开始边界像素A右侧的边界像素B。
参考图18b的1840,第二链码可以被应用于边界像素B。由于第二链码表示45度的角度,所以边界像素B的下边界1843和右边界1846可以被确定为是对应于边界像素B的部分边界。在边界像素链的前进方向中仅仅位于边界像素B之后的边界像素可以被确定为是位于边界像素B的右上位置的边界像素C。
参考图18b的1850,第三链码可以应用于边界像素C。由于第三链码表示45度的角度,所以边界像素C的下边界1853可以被确定为是对应于边界像素C的部分边界。在边界像素链的前进方向中仅仅位于边界像素C之后的边界像素可以被确定为是位于邻近于边界像素C的右侧的边界像素D。在这里,边界像素D可以对应于终止边界像素。
参考图18b的1860,帧内预测模块可以确定对应于终止边界像素D的部分边界。如上参考图11所述,对应于终止边界像素D的部分边界可以基于从边界像素C(在边界像素链中仅仅位于终止边界像素D以前的像素)到终止边界像素D的前进方向来确定。在图18b的1860中,由于从边界像素C到终止边界像素D的前进方向是向右水平方向,终止边界像素D的下边界可以被确定为是对应于终止边界像素D的部分边界。
在图18b图示的示例中,帧内预测模块可以通过沿着从开始边界像素开始的边界的前进方向连续地确定多个边界像素和对应于多个边界像素的部分边界,来确定在预测目标块1813中的整个边界。
图18c是示意地图示在预测目标块中的区域上执行帧内预测处理的方法示例的示意图。在图18c图示的示例中,假设基于区域平均方法执行帧内预测处理。
图18c的1870表示预测目标块1813和确定用于预测目标块的边界1873。在图18c中,假设在预测目标块1813中位于左上角的像素的坐标是(0,0)。
参考图18c的1870,当在预测目标块1813中的像素边界1873被重建的时候,预测目标块1813可以基于边界1873被划分为两个预测目标区。在图18c图示的示例中,在两个预测目标区之中包括像素(0,0)的区域被定义为第一预测目标区,并且不包括像素(0,0)的区域被定义为第二预测目标区。
在图18c图示的示例中,在预测目标区中像素的预测值可以基于邻近于预测目标块1813上侧的多个上相邻像素,和邻近于预测目标块1813左侧的多个左相邻像素来确定。
在图18c的1870中,在第一预测目标区中的像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中邻近于第一预测目标区的相邻像素1876来确定。此时,预测模块可以将邻近于第一预测目标区的相邻像素1876的像素值的平均值确定为在第一预测目标区中像素的预测值。
在第二预测目标区中的像素的预测值可以基于在多个上相邻像素和多个左相邻像素之中邻近于第二预测目标区的相邻像素1879来确定。此时,预测模块可以将邻近于第二预测目标区的相邻像素1879的像素值的平均值确定为在第二预测目标区中像素的预测值。
图18c的1880表示在以上提及的示例中推导出的、在第一预测目标区中和在第二预测目标区中的预测像素值。在图18c的1880中,块1883表示通过对预测目标块1813执行预测处理构建的预测块。
用于预测第一预测目标区的相邻像素1876的平均像素值可以由表达式3计算。
表达式3
(50+55+53+56+48+50)/6=52
用于预测第二预测目标区的相邻像素1879的平均像素值可以由表达式4计算。
表达式4
(24+22)/2=23
因此,在图18c的1880中,在第一预测目标区中像素的预测值可以被确定为是52,并且在第二预测目标区中像素的预测值可以被确定为是23。
虽然在以上提及的示例中的方法已经基于流程图通过一系列的步骤或者块被描述,但是本发明不局限于步骤的顺序,并且某个步骤可以以除如上所述的顺序或者与如上所述同时地执行。本领域技术人员应该理解,包括在流程图中的步骤不是排它的,并且增加别的步骤,或者删除在流程图中的一个或多个步骤而不影响本发明的范围。
以上提及的实施例包括各种示例。用于实现上述各种示例的所有可能的组合无法在此处描述,但是,本领域技术人员应该理解,其它的组合是可允许的。因此,本发明包括属于所附权利要求的所有的替换、修正和改进。
Claims (20)
1.一种基于邻近于预测目标块的多个相邻像素来预测在所述预测目标块中的像素值的帧内预测方法,包括步骤:
接收和解码编码的视频信息;
通过基于解码的视频信息确定在所述预测目标块中指示目标边界的多个边界像素来确定所述目标边界;
确定所述预测目标块由所述目标边界划分为的多个预测目标区;以及
基于在多个相邻像素之中的不同的相邻像素对所述多个预测目标区执行预测。
2.根据权利要求1所述的帧内预测方法,其中,所述预测目标块是在构成3D视频的深度图像的多个块之中的一个块。
3.根据权利要求1所述的帧内预测方法,其中,所述多个边界像素包括N个边界像素{p0,p1,…,pn,…,pN-1},N是正整数,并且n是0至N-1的整数,以及
其中,所述边界像素pn被沿着基于所述边界像素pn-1指示的前进方向而连续地确定。
4.根据权利要求所述3的帧内预测方法,其中,接收的视频信息包括指示开始边界像素p0的位置的位置信息,所述开始边界像素p0在所述多个边界像素之中被首先确定,以及
其中,确定所述目标边界的步骤包括基于所述位置信息确定所述开始边界像素p0。
5.根据权利要求4所述的帧内预测方法,其中,所述开始边界像素p0是在所述预测目标块中位于最左位置或者最上面位置的像素。
6.根据权利要求所述5的帧内预测方法,其中,所述视频信息包括有关与所述边界像素pn相对应的链码的信息,
其中,所述链码指示在从所述边界像素pn-1到所述边界像素pn的第一前进方向和从所述边界像素pn到所述边界像素pn+1的第二前进方向之间的角度,以及
其中,确定所述目标边界的步骤包括基于所述第一前进方向和所述第二前进方向确定在所述目标边界中与邻近于所述边界像素pn的部分相对应的部分边界。
7.根据权利要求6所述的帧内预测方法,其中,所述角度是0度、45度、-45度、90度、-90度、135度和-135度中的一个。
8.根据权利要求6所述的帧内预测方法,其中,确定所述目标边界的步骤包括基于所述第一前进方向和所述第二前进方向确定所述边界像素pn+1的位置。
9.根据权利要求6所述的帧内预测方法,其中,所述边界像素pn对应于所述开始边界像素p0,
其中,当所述边界像素pn是在所述预测目标块中位于最左位置的像素的时候,所述第一前进方向被设置为向右水平方向,以及
其中,当所述边界像素pn是在所述预测目标块中位于最上面位置的像素的时候,所述第一前进方向被设置为向下垂直方向。
10.根据权利要求3所述的帧内预测方法,其中,所述边界像素pN-1是在所述多个边界像素之中最终确定的终止边界像素,以及
其中,确定所述目标边界的步骤包括基于从所述边界像素pN-2到所述终止边界像素pN-1的前进方向确定在所述目标边界中与邻近于所述终止边界像素pN-1的部分相对应的部分边界。
11.根据权利要求1所述的帧内预测方法,其中,所述多个预测目标区包括M个预测目标区R0、R1、…、Rm、…,和RM-1,M是正整数,并且m是0至M-1的整数,以及
其中,执行所述预测处理的步骤包括基于在所述多个相邻像素之中邻近于所述预测目标区Rm的相邻像素对所述预测目标区Rm执行预测处理。
12.根据权利要求11所述的帧内预测方法,其中,执行所述预测处理的步骤包括将邻近于所述预测目标区Rm的相邻像素的平均像素值确定为属于所述预测目标区Rm的像素的预测值。
13.一种视频解码器,包括:
接收机模块,所述接收机模块接收视频信息;
预测模块,所述预测模块基于邻近于预测目标块的多个相邻像素,通过预测在所述预测目标块中的像素值来构建与所述预测目标块相对应的预测块;和
重建块构建模块,所述重建块构建模块基于所述预测块构建重建块,
其中,所述预测模块
通过基于解码的视频信息确定在所述预测目标块中指示目标边界的多个边界像素,来确定所述目标边界,以及
基于在所述多个相邻像素之中不同的相邻像素对所述预测目标块由所述目标边界划分为的多个预测目标区执行预测。
14.一种视频解码方法,包括步骤:
接收和解码编码的视频信息;
通过基于解码的视频信息确定在预测目标块中指示目标边界的多个边界像素来确定所述目标边界;
确定所述预测目标块由所述目标边界划分为的多个预测目标区;
通过基于在邻近于所述预测目标块的多个相邻像素之中不同的相邻像素对所述多个预测目标区执行预测,来构建与所述预测目标块相对应的预测块;以及
基于所述预测块来构建重建块。
15.根据权利要求14所述的视频解码方法,其中,所述预测目标块是在构成3D视频的深度图像的多个块之中的一个块。
16.根据权利要求14所述的视频解码方法,其中,所述多个边界像素包括N个边界像素{p0,p1,…,pn,…,pN-1},N是正整数,并且n是0至N-1的整数,以及
其中,所述边界像素pn被沿着基于所述边界像素pn-1指示的前进方向而连续地确定。
17.根据权利要求16所述的视频解码方法,其中,接收的视频信息包括指示开始边界像素p0的位置的位置信息,所述开始边界像素p0在所述多个边界像素之中被首先确定,以及
其中,确定所述目标边界的步骤包括基于所述位置信息确定所述开始边界像素p0。
18.根据权利要求17所述的视频解码方法,其中,所述视频信息包括有关与所述边界像素pn相对应的链码的信息,
其中,所述链码指示在从所述边界像素pn-1到所述边界像素pn的第一前进方向和从所述边界像素pn到所述边界像素pn+1的第二前进方向之间的角度,以及
其中,确定所述目标边界的步骤包括基于所述第一前进方向和所述第二前进方向确定在所述目标边界中与邻近于所述边界像素pn的部分相对应的部分边界。
19.根据权利要求14所述的视频解码方法,其中,所述多个预测目标区包括M个预测目标区R0、R1、…、Rm、…,和RM-1,M是正整数,并且m是0至M-1的整数,以及
其中,构建所述预测块的步骤包括基于在所述多个相邻像素之中邻近于所述预测目标区Rm的相邻像素对所述预测目标区Rm执行预测处理。
20.根据权利要求19所述的视频解码方法,其中,构建所述预测块的步骤包括将邻近于所述预测目标区Rm的相邻像素的平均像素值确定为属于所述预测目标区Rm的像素的预测值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161537541P | 2011-09-21 | 2011-09-21 | |
US61/537,541 | 2011-09-21 | ||
PCT/KR2012/007442 WO2013042912A2 (ko) | 2011-09-21 | 2012-09-18 | 영상 부호화/복호화 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103931193A true CN103931193A (zh) | 2014-07-16 |
CN103931193B CN103931193B (zh) | 2017-11-21 |
Family
ID=47914998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280055873.1A Expired - Fee Related CN103931193B (zh) | 2011-09-21 | 2012-09-18 | 编码/解码图像的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9756332B2 (zh) |
EP (1) | EP2750384B1 (zh) |
CN (1) | CN103931193B (zh) |
WO (1) | WO2013042912A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623848A (zh) * | 2017-09-04 | 2018-01-23 | 浙江大华技术股份有限公司 | 一种视频编码方法及装置 |
CN109063574A (zh) * | 2018-07-05 | 2018-12-21 | 顺丰科技有限公司 | 一种基于深度神经网络检测的包络框的预测方法、系统及设备 |
CN112004090A (zh) * | 2020-07-14 | 2020-11-27 | 浙江大华技术股份有限公司 | 目标边界确定方法、计算机设备及存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150229957A1 (en) * | 2012-09-24 | 2015-08-13 | Qualcomm Incorporated | Depth map coding |
KR101783617B1 (ko) * | 2013-04-11 | 2017-10-10 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
US20170164004A1 (en) * | 2014-07-04 | 2017-06-08 | Kt Corporation | Method and device for processing multi-view video signal |
US10448015B2 (en) * | 2015-06-16 | 2019-10-15 | Lg Electronics Inc. | Method and device for performing adaptive filtering according to block boundary |
JP6902861B2 (ja) * | 2016-12-12 | 2021-07-14 | キヤノン株式会社 | 符号化装置、符号化方法、復号装置、復号方法および生成方法 |
US11284076B2 (en) * | 2017-03-22 | 2022-03-22 | Electronics And Telecommunications Research Institute | Block form-based prediction method and device |
EP3844966A4 (en) * | 2018-09-27 | 2021-09-29 | Huawei Technologies Co., Ltd. | CODING METHODS, DECODING METHODS, CODERS AND DECODERS |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11220735A (ja) * | 1997-10-23 | 1999-08-10 | Matsushita Electric Ind Co Ltd | 画像符号化方法および画像復号化方法 |
CN100373791C (zh) * | 2001-07-11 | 2008-03-05 | 杜比实验室认证公司 | 视频压缩帧的插值 |
WO2010087589A2 (ko) * | 2009-01-29 | 2010-08-05 | 엘지전자 주식회사 | 경계 인트라 코딩을 이용한 비디오 신호 처리 방법 및 장치 |
CN101969569A (zh) * | 2002-06-28 | 2011-02-09 | 杜比实验室认证公司 | 改进的视频压缩帧插值 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8116581B2 (en) * | 2007-06-28 | 2012-02-14 | Microsoft Corporation | Efficient image representation by edges and low-resolution signal |
US20100034268A1 (en) | 2007-09-21 | 2010-02-11 | Toshihiko Kusakabe | Image coding device and image decoding device |
JP2009111691A (ja) * | 2007-10-30 | 2009-05-21 | Hitachi Ltd | 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法 |
KR20090095316A (ko) | 2008-03-05 | 2009-09-09 | 삼성전자주식회사 | 영상 인트라 예측 방법 및 장치 |
US9445121B2 (en) * | 2008-08-04 | 2016-09-13 | Dolby Laboratories Licensing Corporation | Overlapped block disparity estimation and compensation architecture |
TWI386068B (zh) * | 2008-10-22 | 2013-02-11 | Nippon Telegraph & Telephone | 解塊處理方法、解塊處理裝置、解塊處理程式及記錄該程式之可由電腦讀取之記錄媒體 |
TWI442777B (zh) * | 2009-06-23 | 2014-06-21 | Acer Inc | 空間性錯誤隱藏方法 |
KR101700358B1 (ko) * | 2009-12-09 | 2017-01-26 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US8619857B2 (en) * | 2010-04-09 | 2013-12-31 | Sharp Laboratories Of America, Inc. | Methods and systems for intra prediction |
US9172968B2 (en) * | 2010-07-09 | 2015-10-27 | Qualcomm Incorporated | Video coding using directional transforms |
-
2012
- 2012-09-18 EP EP12833227.7A patent/EP2750384B1/en active Active
- 2012-09-18 CN CN201280055873.1A patent/CN103931193B/zh not_active Expired - Fee Related
- 2012-09-18 US US14/346,389 patent/US9756332B2/en active Active
- 2012-09-18 WO PCT/KR2012/007442 patent/WO2013042912A2/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11220735A (ja) * | 1997-10-23 | 1999-08-10 | Matsushita Electric Ind Co Ltd | 画像符号化方法および画像復号化方法 |
CN100373791C (zh) * | 2001-07-11 | 2008-03-05 | 杜比实验室认证公司 | 视频压缩帧的插值 |
CN101969569A (zh) * | 2002-06-28 | 2011-02-09 | 杜比实验室认证公司 | 改进的视频压缩帧插值 |
WO2010087589A2 (ko) * | 2009-01-29 | 2010-08-05 | 엘지전자 주식회사 | 경계 인트라 코딩을 이용한 비디오 신호 처리 방법 및 장치 |
US20110274166A1 (en) * | 2009-01-29 | 2011-11-10 | Lg Electronics Inc. | Method And Apparatus For Processing Video Signals Using Boundary Intra Coding |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623848A (zh) * | 2017-09-04 | 2018-01-23 | 浙江大华技术股份有限公司 | 一种视频编码方法及装置 |
CN107623848B (zh) * | 2017-09-04 | 2019-11-19 | 浙江大华技术股份有限公司 | 一种视频编码方法及装置 |
CN109063574A (zh) * | 2018-07-05 | 2018-12-21 | 顺丰科技有限公司 | 一种基于深度神经网络检测的包络框的预测方法、系统及设备 |
CN109063574B (zh) * | 2018-07-05 | 2021-04-23 | 顺丰科技有限公司 | 一种基于深度神经网络检测的包络框的预测方法、系统及设备 |
CN112004090A (zh) * | 2020-07-14 | 2020-11-27 | 浙江大华技术股份有限公司 | 目标边界确定方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2013042912A2 (ko) | 2013-03-28 |
WO2013042912A3 (ko) | 2013-05-23 |
US20140205011A1 (en) | 2014-07-24 |
US9756332B2 (en) | 2017-09-05 |
EP2750384A4 (en) | 2015-05-27 |
CN103931193B (zh) | 2017-11-21 |
EP2750384A2 (en) | 2014-07-02 |
EP2750384B1 (en) | 2020-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108141585B (zh) | 视频编码系统中的帧内预测方法和装置 | |
CN103931193A (zh) | 编码/解码图像的方法和装置 | |
CN104685883B (zh) | 用于3d视频的经视图间预测运动向量 | |
CN104185990B (zh) | 视频译码中的系数的译码 | |
CN103141105B (zh) | 用于分割块的方法和解码设备 | |
CN104247434B (zh) | 在视频译码中在切片边界或平铺块边界周围的环路滤波 | |
CN103891283B (zh) | 帧内预测的方法和设备 | |
EP2781097B1 (en) | Scanning of prediction residuals in high efficiency video coding | |
CN103891281B (zh) | 检测用于视频译码的相邻视频单元的可用性 | |
CN103703776B (zh) | 在视频译码中的系数扫描 | |
CN107197300B (zh) | 编码和解码图像的方法及使用该方法的设备 | |
CN103339943A (zh) | 内预测方法及使用该方法的编码装置和解码装置 | |
CN112042198B (zh) | 基于仿射运动预测的图像编码方法及其装置 | |
CN104170379A (zh) | 用于图像解码的方法和装置 | |
CN105027561A (zh) | 用于上下文自适应、多层级有效性译码的上下文导出 | |
CN104704833A (zh) | 多视图或3维视频译码中的高级视图间残差预测 | |
CN103636220A (zh) | 帧内编码编码的方法及装置 | |
CN104247421A (zh) | 用于系数扫描的系数群及系数译码 | |
CN103096069A (zh) | 推导帧内预测模式的方法和设备 | |
CN104471942A (zh) | 重新使用参数集用于视频译码 | |
CN104221380A (zh) | 用于并行运动估计的共同空间候选块 | |
CN104025602A (zh) | 三维视频译码中用信号通知视图合成预测支持 | |
CN103069800A (zh) | 用于编码视频的方法和设备、以及解码方法和设备 | |
US10778985B2 (en) | Method and apparatus for intra prediction in video coding system | |
CN104081778B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171121 Termination date: 20210918 |