具体实施方式
本发明涉及用于视频编码器和解码器的隐式和半隐式帧内模式信令的方法和装置。
本说明书解释了本发明的原理。虽然在本说明书中并未描述,但本领域普通技术人员在本发明的原理和范围之内能够设想出各种实施方式。
本说明书中所采用的示例性和条件性的语言的目的在于帮助阅读者理解由发明人对现有技术进行改进的本发明的原理和概念,本发明并不局限于这种特定的实例和条件。
并且,对于本发明原理、方面和实施方式以及特定实例的所有陈述都意在包括等同的结构和功能。另外,这种等同结构和功能包括当前已知和以后开发出来的结构和功能、即不论结构如何而用来执行相同功能的任何元件。
因此,例如,本领域普通技术人员可以理解,说明书中的框图表示根据本发明原理的实施方式的示例性电路的概念性图示。类似地,可以理解,任何流程图、操作程序图、状态转换图、伪代码等都表示能够有计算机可读介质表示并因而由计算机或处理器执行的各种过程步骤,这种计算机或处理器是否明确示出并无关系。
附图中所示各种元件的功能可以与适当的软件联合通过使用专用硬件以及能够执行软件的硬件来提供。当通过处理器提供时,该功能可以通过单个专用处理器、单个共享处理器或者多个处理器(某些可以共享)来提供。并且,术语“处理器”或者“控制器”的明确使用不应当被理解为专指能够执行软件的硬件,还可以非限制性地包括数字信号处理器(DSP)、用于存储软件的只读存储器(ROM)、随机访问存储器(RAM)以及非易失性存储器。
其他普通和/或定制硬件也可以包括进来。类似地,图中所示的任何开关都是概念性的。其功能可以通过程序逻辑、专用逻辑、程序控制和专用逻辑的相互作用甚至手动操作来执行,实施者可以根据应用环境选择特定的技术。
在权利要求中,任何被表达为用于执行特定功能的元件都包括执行该功能的任何方式,例如:a)执行该功能的电路元件的组合;b)任何形式的软件,包括固件、微代码等,与适当的电路结合以执行该软件从而执行该功能。这些权利要求限定的本发明的原理基于的事实是,各个引用的装置所提供的功能型以权利要求要求的方式结合在一起。因此可以认为任何能够提供这些功能性的装置都等同于所述装置。
说明书中所提到的本发明原理的“一个实施方式”或“实施方式”表示特定结合该实施方式描述的特征、结构、要素包括在本发明原理的至少一个实施方式中。因此,说明书各个地方出现的表述“在一个实施方式中”或“在实施方式中”不一定指同一实施方式。
可以理解,用法“/”、“和/或”以及“至少其中之一”,例如“A/B”“A和/或B”和“A和B至少其中之一”,目的是包括选择列出的第一选项(A)、列出的第二选项(B)或者选择两个选项(A和B)。作为进一步的例子,在“A、B和/或C”和“A、B和C至少其中之一”的情况下,这种措辞目的是包括选择列出的第一选项(A)、列出的第二选项(B)、列出的第三选项(C)、第一和第二选项(A和B)、第一和第三选项(A和C)、第二和第三选项(B和C)、或者选择全部三个选项(A和B和C)。对于列举的许多项目,本领域和相关领域普通技术人员可以清楚地理解。
并且,虽然结合MPEG-4AVC标准对本发明一个或多个实施方式进行了说明,但是本发明并不局限于此标准,而是在本发明原理范围内能够应用于其他视频编码标准、推荐性标准及其扩展,包括MPEG-4AVC的扩展。
在说明书中,“高级语法(high level syntax)”指位于在层次结构中宏块层之上的比特流中的语法。例如,说明书中所用的高级语法可能但不局限于指的是在条标题(slice header)级、补充增强信息(SEI)级、图像参数集级、序列参数集级和NAL(网络抽象层)单元标题级的语法。
另外,本说明书中“相邻块”指最接近特定图像中当前块的块。
并且,在本说明书中,“相邻模板”指图像中由一个或多个相邻像素形成或者对应于所述一个或多个相邻像素的区域。换言之,“相邻模板”例如是指相邻像素的设置和/或选择,从中可以推导出用于当前块的信息(例如相邻模板数据)。
另外,在本说明书中,“相邻模板数据”指基于所述相邻模板推导出和/或获得的数据。例如,该数据可以是与形成相邻模板的一个或多个相邻像素相关的数据。另一个例子是,该数据可以包括但不局限于与相乘相邻模板的一个或多个相邻像素相关的帧内模式信息。
请参看图6,附图标记600总体上表示根据本发明的示例性视频编码器。
视频编码器600包括帧排序缓存器610,帧排序缓存器610的输出与合成器685的同相输入信号通信。合成器685的输入与转换器和量化器625的第一输入相连接以进行信号通信。转换器和量化器625的输出与熵编码器645的第一输入和逆转换器和逆量化器650的第一输入相连接以进行信号通信。熵编码器645的输出与合成器690的第一同相输入相连接以进行信号通信。合成器690的输出与输出缓存器635的第一输入相连接以进行信号通信。
编码器控制器605的第一输出与帧排序缓存器610的第二输入、逆转换器和逆量化器650的第二输入、图像类型判断模块615的输入、宏块类型(MB-type)判断模块620的第一输入、帧内预测模块660的第一输入、解块滤波器665的第二输入、运动补偿器670的第一输入、运动估计器675的第一输入和参考图像缓存器680的第二输入相连接以进行信号通信。
编码器控制器605的第二输出与附加增强信息(SEI)插入器630的第一输入、转换器和量化器625的第二输入、上编码器645的第二输入、输出缓存器635的第二输入以及序列参数集(SPS)和图像参数集(PPS)插入器640的输入相连接以进行信号通信。
SEI插入器630的输出与合成器690的第二同相输入相连接以进行信号通信。
图像类型判断模块615的第一输出与帧排序缓存器610的第三输入相连接以进行信号通信。图像类型判断模块615的第二输出与帧排序缓存器610的第三输入相连接以进行信号通信。
序列参数集(SPS)和图像参数集(PPS)插入器640的输出与合成器690的第三同相输入相连接以进行信号通信。
逆转换器和逆量化器650的输出与合成器619的第一同相输入相连接以进行信号通信。合成器619的输出与帧内预测模块660的第一输入和解块滤波器665的第一输入相连接以进行信号通信。解块滤波器665的输出与参考图像缓存器680的第一输入相连接以进行信号通信。参考图像缓存器680的输出与运动估计器675的第二输入和运动补偿器670的第三输入相连接以进行信号通信。运动估计器675的第一输出与运动补偿器670的第二输入相连接以进行信号通信。运动估计器675的第二输出与熵编码器645的第三输入相连接以进行信号通信。
运动补偿器670的输出与开关697的第一输入相连接以进行信号通信。帧内预测模块660的输出与开关697的第二输入相连接以进行信号通信。宏块类型判断模块620的输出与开关697的第三输入相连接以进行信号通信。开关697的第三输入判断开关的“数据”输入(与控制输入、即第三输入相比较而言)应由运动补偿器670还是帧内预测模块660来提供。开关697的输出与合成器619的第二同相输入和合成器685的倒相输入相连接以进行信号通信。
帧排序缓存器610的第一输入和编码器控制器605的输入可以作为编码器600的输入,用于接收输入图像。并且,附加增强信息(SEI)插入器630的第二输入可以作为编码器600的输入,用于接收输入图像。输出缓存器635的输出可以作为编码器600的输出,用于输出比特流。
请参看图7,附图标记700总体上表示可以应用本发明的示例性视频解码器。
视频编码器700包括输入缓存器710,输入缓存器710的输出与熵解码器745的第一输入相连接以进行信号通信。熵解码器745的第一输出与逆转换器和逆量化器750的第一输入相连接以进行信号通信。逆转换器和逆量化器650的输出与合成器725的第二同相输入第一输入相连接以进行信号通信。合成器725的输出与解块滤波器765的第二输入和帧内预测模块765的第一输入相连接以进行信号通信。解块滤波器765的第二输出与参考图像缓存器780的第一输入相连接以进行信号通信。参考图像缓存器780的输出与运动补偿器770的第二输入相连接以进行信号通信。
熵解码器745的第二输出与运动补偿器770的第三输入和解块滤波器765的第一输入相连接以进行信号通信。熵解码器745的第三输出与解码器控制器705的输入相连接以进行信号通信。解码器控制器705的第一输出与熵解码器745的第二输入相连接以进行信号通信。解码器控制器705的第二输出与逆转换器和逆量化器750的第二输入相连接以进行信号通信。解码器控制器705的第三输出与解块滤波器765的第三输入相连接以进行信号通信。解码器控制器705的第四输出与帧内预测模块760的第二输入、运动补偿器670的第一输入以及参考图像缓存器780的第二输入相连接以进行信号通信。
运动补偿器770的输出与开关797的第一输入相连接以进行信号通信。帧内预测模块760的输出与开关797的第二输入相连接以进行信号通信。开关797的输出与合成器725的第一同相输入相连接以进行信号通信。
输入缓存器710的输入可以作为解码器700的输入,用于接收输入比特流。解块滤波器765的第一输出可以作为解码器700的输出,用于输出比输出图像。
如上所述,本发明涉及用于视频编码器和解码器的隐式和半隐式帧内模式信令的方法和装置。在一个实施方式中,本发明基于模板匹配。
有利地,隐式帧内模式推导节省用于指示所选帧内模式的比特传输。另外,说明书中还描述了显式推导与隐式推导的结合。此种模式被称为半隐式模式。
另外,如上所述,虽然现有技术所采用的最可能模式易于计算并降低了用于编码预测模式所需比特数量,但在获得块特征的局部变化方面不是最理想的。因此,根据本发明,将块特征的局部变化考虑在内提供了最可能模式的改善预测,因此降低了信号化所选帧内模式所需比特数量。
用于信号化帧内预测模式的方法对于用于帧内编码的当前视频编码器是至关重要。现有技术并未充分利用相邻数据来确定最佳预测和预测模型。根据本发明,提出了一种新的途径来推导帧内模式。在各个实施方式中,对用于隐式和半隐式信令以及其结合的多个方法进行了描述。隐式信令不需要发送比特以传达应使用何种预测模式。半隐式推导有助于获得将要使用的帧内模式的更佳的预测(例如相对于速率失真)。并且,隐式和显式信令的结合可以将先前方法的优势结合起来。
因此,根据本发明,提议使用隐式和半隐式帧内模式信令。在一个实施方式中,提出的方案基于由相邻样本构成的样本预测帧内模式。对于将要预测的帧的区域或块的模式,检测已经解码的当前块的相邻模板。将用于相邻补丁的最佳模式预测为当前块的帧内模式。说明书将描述帧内模式的隐式信令的实施例和该模式的半隐式推导的实施例,以及隐式和半隐式结合的实施例。虽然本说明书在MPEG-4AVC标准的背景下对本发明的现有技术进行说明,并且将本发明与MPEG-4AVC标准进行优点和益处的对比,但是本发明总体上能够应用于视频编码和解码,而非局限于(并且实际上并非符合)现有标准或推荐性标准。
在一个实施方式中,解码器例如可以利用隐式或半隐式模式信令选择是否发送模式预测误差。由于当前像素的邻居在编码器侧和解码器侧是已知的,不需要传输额外的辅助信息,并且在两侧(编码器侧和解码器侧)能够获得相同的预测。
请参看图8,附图标记800总体上表示视频编码器中隐式帧内模式信令的方法。所述方法800包括起始框805,其将控制传递至功能框810。功能框810将帧内模式预测为最可能模式mp,并将控制传递至功能框815。功能框815利用最可能模式mp编码当前块并将控制传递至结束框899。
请参看图9,附图标记900总体上表示视频解码器中隐式帧内模式信令的方法。所述方法900包括起始框905,其将控制传递至功能框910。功能框910将帧内模式预测为最可能模式mp,并将控制传递至功能框915。功能框915利用最可能模式mp解码当前块并将控制传递至结束框999。
请参看图10,附图标记1000总体上表示视频编码器中半隐式帧内模式信令的方法。所述方法1000包括起始框1005,其将控制传递至功能框1010。功能框1010将帧内模式预测为最可能模式mL,并将控制传递至功能框1015和判断框1020。功能框1015将帧内模式推导为最佳率失真基础模式mRD(也称为“best_mode RD based”),并将控制传递至判断框1020。判断框判断是否mL=mRD。如果是,则控制传递至功能块1025。否则控制传递至功能框1035。
功能框1025设置most_probable_mode=1,并将控制传递至功能框1030。功能框1030利用mRD编码当前块并将控制传递至结束框1099。
功能框1035设置most_probable_mode=0,并将控制传递至功能框1040。功能框1040信号化帧内预测模式并将控制传递至功能框1030。
请参看图11,附图标记1100总体上表示视频解码器中半隐式帧内模式信令的方法。所述方法1100包括起始框1105,其将控制传递至功能框1110。功能框1110解析所述比特流,并将控制传递至功能框1115。功能框1115将当前块的帧内模式预测为最可能模式,并将控制传递至判断框1120。判断框1120读取most_probable_mode并判断most_probable_mode是否被设置为1或0。如果most_probable_mode=1,将控制传递至功能框1125。否则将控制传递至功能框1135。
功能框1125输出帧内模式,并将控制传递至功能框1130。功能框1130利用mRD解码当前块并将控制传递至结束框1199。
功能框1135读取帧内预测模式并将控制传递至功能框1125。
在下面参照附图12和13说明的第一实施方式中,为了判断当前块的帧内模式,首先搜索其相邻补丁的最佳帧内模式。该编码器利用用于帧内_4x4和帧内_8x8的9种模式或者用于帧内_16x16的4中模式计算其相邻补丁的预测。然后,编码器选择能使预测和解码的相邻补丁之间的差异(SAD、MSE和/或其他等等)最小化的模式。将采用模式mode_p来编码当前块。可以在解码器进行相同操作并且产生相同预测模式。
请参看图12,附图标记1200总体上表示能够支持MPEG-4AVC标准的视频编码器中隐式帧内模式信令的方法。所述方法1200包括起始框1205,其将控制传递至循环限制框1210。循环限制框1210从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至循环限制框1215。循环限制框1215从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至功能框1220。功能框1220以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1225。循环限制框1225结束循环j,并将控制传递至功能框1230。功能框1230设置mode_p=具有最小SAD的模式j并将控制传递至功能框1235。功能框1235利用mode_p编码当前块,并将控制传递至循环限制框1240。循环限制框1240结束循环i,并将控制传递至结束框1299。
请参看图13,附图标记1300总体上表示能够支持MPEG-4AVC标准的视频解码器中隐式帧内模式信令的方法。所述方法1300包括起始框1305,其将控制传递至循环限制框1310。循环限制框1310从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至循环限制框1315。循环限制框1315从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至功能框1320。功能框1320以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1325。循环限制框1325结束循环j,并将控制传递至功能框1330。功能框1330设置mode_p=具有最小SAD的模式j并将控制传递至功能框1335。功能框1235利用mode_p解码当前块,并将控制传递至循环限制框1340。循环限制框1340结束循环i,并将控制传递至结束框1399。
在下面参照附图14和15说明的第二实施方式中,考虑MPEG-4AVC标准的最可能模式并通过只在有限范围内搜索来降低计算复杂性。图14和15分别说明视频编码器和解码器中包括的隐式帧内模式信令。在编码当前块之前,如下设置最可能模式:
mode_a=f(mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n)
其中mode_neighbor_i是各个相邻块的帧内模式,f(.)是相邻块模式的函数。为了判断当前块的帧内模式,只以与mode_a相关的模式集检测其相邻补丁。换言之,在集合M=ψ(mode_a)中对每个模式计算预测和SAD,然后从M中选择最佳模式mode_p。ψ是输入模式并输出模式范围的函数。将使用模式mode_p协助编码当前块。可以在解码器进行相同操作并且产生相同预测模式。
请参看图14,附图标记1400总体上表示能够支持MPEG-4AVC标准的视频编码器中隐式帧内模式信令的方法。所述方法1400包括起始框1405,其将控制传递至循环限制框1410。循环限制框1410从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至功能框1415。功能框1415设置mode_a=f(mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n),并将控制传递至循环限制框1420。循环限制框1420从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至判断框1425。判断框1425判断是否(mode_a)。如果是,则将控制传递至功能框1430。否则将控制传递至循环限制框1435。
功能框1430以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1435。
循环限制框1435结束循环j,并将控制传递至功能框1440。功能框1440设置mode_p=具有最小SAD的模式j并将控制传递至功能框1445。功能框1445利用mode_p编码当前块,并将控制传递至循环限制框1450。循环限制框1450结束循环i,并将控制传递至结束框1499。
请参看图15,附图标记1500总体上表示能够支持MPEG-4AVC标准的视频解码器中隐式帧内模式信令的方法。所述方法1500包括起始框1505,其将控制传递至循环限制框1510。循环限制框1510从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至功能框1515。功能框1515设置mode_a=f(mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n),并将控制传递至循环限制框1520。循环限制框1520从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至判断框1525。判断框1525判断是否
(mode_a)。如果是,则将控制传递至功能框1530。否则将控制传递至循环限制框1535。
循环限制框1530以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1535。
循环限制框1535结束循环j,并将控制传递至功能框1540。功能框1540设置mode_p=具有最小SAD的模式j并将控制传递至功能框1545。功能框1545利用mode_p解码当前块,并将控制传递至循环限制框1550。循环限制框1550结束循环i,并将控制传递至结束框1599。
在下面参照附图16和17说明的第三实施方式中,利用MPEG-4AVC标准的最可能模式来降低帧内预测残差并提高编码效率。图16和17分别说明视频编码器和解码器中包括的隐式帧内模式信令。在编码器选择用于相邻补丁的最佳帧内模式mode_b之后,将当前块的帧内模式预测为
(mode_b,mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n)。利用该模式编码当前块。可以在解码器进行相同操作并且产生相同预测模式。
请参看图16,附图标记1600总体上表示能够支持MPEG-4AVC标准的视频编码器中隐式帧内模式信令的方法。所述方法1600包括起始框1605,其将控制传递至循环限制框1610。循环限制框1610从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至循环限制框1615。循环限制框1615从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至功能框1620。功能框1620以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1625。循环限制框1625结束循环j,并将控制传递至功能框1630。功能框1630设置mode_b=具有最小SAD的模式j并将控制传递至功能框1635。功能框1635设置模式预测器
(mode_b_,mode_neighboring_1,...,mode_neighbor_n),并将控制传递至功能框1640。功能框1640利用mode_p编码当前块,并将控制传递至循环限制框1645。循环限制框1645结束循环i,并将控制传递至结束框1699。
请参看图17,附图标记1700总体上表示能够支持MPEG-4AVC标准的视频解码器中隐式帧内模式信令的方法。所述方法1700包括起始框1705,其将控制传递至循环限制框1710。循环限制框1710从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至循环限制框1715。循环限制框1715从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至功能框1720。功能框1720以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1725。循环限制框1725结束循环j,并将控制传递至功能框1730。功能框1730设置mode_b=具有最小SAD的模式j并将控制传递至功能框1735。功能框1735设置模式预测器
(mode_b_,mode_neighboring_1,...,mode_neighbor_n),并将控制传递至功能框1740。功能框1740利用mode_p解码当前块,并将控制传递至循环限制框1745。循环限制框1745结束循环i,并将控制传递至结束框1799。
在下面参照附图18和19说明的第四实施方式中,编码器可以向解码器发送模式预测误差。图18和19分别说明视频编码器和解码器中包括的半隐式帧内模式信令。在编码当前块之前,将最可能模式设置为mode_a=f(mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n),其中mode_neighbor_i是相邻块的帧内模式,f(.)是相邻块模式的函数。作为具体实施方式,可以设置mode_a=min(mode_up,mode_left),与MPEG-4AVC标准最可能模式类似。为了判断当前块的帧内模式,只以与mode_a相关的模式集检测其相邻补丁。在集合M=ψ(mode_a)中对每个模式计算预测和SAD,然后从M中选择最佳模式mode_p。具体而言,如果像MPEG-4AVC标准那样排序帧内模式,可以将ψ(mode_a)设置在mode_max是最大模式系数的区域[max{0,mode_a-2},min{mode_a+1,mode_max}]。然后,将当前块的帧内模式预测为
(mode_b,mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n)。函数
的一个可能实施方式是mode_p=median{mode_b,mode_up,mode_left}。此后,对当前块进行率失真(RD)最优化模式判断。最佳模式mode_rd是提供最小RD成本的模式,这需要考虑相对于mode_p编码模式所需速率。最后,像MPEG-4AVC标准那样向解码器信号化mode_rd与mode_p之间的差异,可以在解码器进行相同操作并且产生相同预测模式。
请参看图18,附图标记1800总体上表示视频编码器中半隐式帧内模式信令的方法。所述方法1800包括起始框1805,其将控制传递至循环限制框1810。循环限制框1810从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至功能框1815。功能框1815设置mode_a=f(mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n),并将控制传递至循环限制框1820。循环限制框1820从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至判断框1825。判断框1825判断是否
(mode_a)。如果是,则将控制传递至功能框1830。否则将控制传递至循环限制框1835。
功能框1830以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1835。
循环限制框1835结束循环j,并将控制传递至功能框1840。功能框1840设置mode_p=具有最小SAD的模式j并将控制传递至功能框1845。功能框1845设置模式预测器
(mode_b_,mode_neighboring_1,...,mode_neighbor_n),并将控制传递至功能框1850。功能框1850将对当前块进行模式判断为mode_rd,并将控制传递至功能框1855。功能框1855相对于mode_p熵编码mode_rd,并将控制传递至循环限制框1860。循环限制框1860结束循环i,并将控制传递至结束框1899。
请参看图19,附图标记1900总体上表示视频解码器中半隐式帧内模式信令的方法。所述方法1900包括起始框1905,其将控制传递至循环限制框1910。循环限制框1910从0至num_MBs_minus1在当前图像(字段或帧)或图像的一部分的每一个宏块上开始循环i,并将控制传递至功能框1915。功能框1915设置mode_a=f(mode_neighbor_1,mode_neighbor_2,...,mode_neighbor_n),并将控制传递至循环限制框1920。循环限制框1920从1至num_Intra_Modes在每个帧内模式上开始循环j,并将控制传递至判断框1925。判断框1925判断是否
(mode_a)。如果是,则将控制传递至功能框1930。否则将控制传递至循环限制框1935。
功能框1930以模式j计算预测和块i的相邻区域的绝对差值和(SAD),并将控制传递至循环限制框1935。
循环限制框1935结束循环j,并将控制传递至功能框1940。功能框1940设置mode_p=具有最小SAD的模式j并将控制传递至功能框1945。功能框1945设置模式预测器
(mode_b_,mode_neighboring_1,...,mode_neighbor_n),并将控制传递至功能框1950。功能框1950基于mode_p解码mode_rd,并将控制传递至功能框1955。功能框1955利用mode_rd解码当前块,并将控制传递至循环限制框1960。循环限制框1960结束循环i,并将控制传递至结束框1999。
在第五实施方式中,对于某些块使用隐式模式,对于其他块使用显式模式。这种模式的隐式-显式结合对于全部显式块提供了率失真(RD)方面的最佳选择,这对于隐式块是满意的锚图像(anchor)。同时,对于“隐式块”不需要像对于“显式块”那样发送辅助信息,但是“隐式块”利用“显式块”作为良好参考来推导最可能模式。利用此块的结合,可以同时获得隐式和显式信令的优势。
本发明的启用(enabling)或禁用(disabling)可以用高级语法来信号化。如果所述,高级语法可能包括但不局限于在条标题(slice header)级、补充增强信息(SEI)级、图像参数集级、序列参数集级和NAL(网络抽象层)单元标题级的语法。
下面将对本发明带来的许多优势/特征进行说明,其中一些已经在上文中提及。例如,一个优势/特征是一种装置,所述装置包括用于编码用于图像的至少一部分的图像数据的编码器。所述编码器从相邻模板数据推导应用于该部分的帧内模式并且放弃显式信号化用于该部分的帧内模式。所述相邻模板数据对应于从该部分的相邻像素形成的相邻模板。
另一个优势/特征是如上所述具有编码器的装置,其中利用所述相邻模板数据试验可用帧内模式集的子集来隐式推导出所述部分的帧内模式,并且基于最小失真测量选择所述子集内的特定帧内模式作为所述部分的帧内模式。
另一个优势/特征是如上所述具有编码器的装置,其中利用所述相邻模板数据试验可用帧内模式集的子集来隐式推导出所述部分的帧内模式,并且基于最小失真测量选择所述子集内的特定帧内模式作为所述部分的帧内模式,其中基于绝对差值的和或者均方差确定所述最小失真测量。
另一个优势/特征是如上所述具有编码器的装置,其中利用所述相邻模板数据试验可用帧内模式集的子集来隐式推导出所述部分的帧内模式,并且基于最小失真测量选择所述子集内的特定帧内模式作为所述部分的帧内模式,其中基于用于相邻块的帧内模式的函数确定所述子集。
另一个优势/特征是如上所述具有编码器的装置,其中利用所述相邻模板数据试验可用帧内模式集的子集来隐式推导出所述部分的帧内模式,并且基于最小失真测量选择所述子集内的特定帧内模式作为所述部分的帧内模式,其中按照相邻块的帧内模式和相邻模板的最佳模式的函数进一步隐式推导用于所述部分的帧内模式。
另一个优势/特征是如上所述具有编码器的装置,其中按照相邻块的帧内模式和相邻模板的最佳模式的函数进一步隐式推导用于所述部分的帧内模式,其中通过试验用于相邻模板的数个或全部帧内模式并且从用于相邻模板的数个或全部帧内模式中选择提供最小失真测量的给定帧内模式作为用于所述相邻模板的最佳模式来确定所述用于相邻模板的最佳模式。
另一个优势/特征是如上所述具有编码器的装置,其中按照相邻块的帧内模式和相邻模板的最佳模式的函数进一步隐式推导用于所述部分的帧内模式,其中所述函数是中值函数。
另一个优势/特征是如上所述具有编码器的装置,其中对于图像中块子集进行隐式帧内模式推导,而对于所述图像中的其他块进行显式帧内模式信令,所述块的子集是所述部分。
基于上述说明,本领域普通技术人员可以理解本发明的其他特征和优势。可以理解,本发明的原理可以通过各种形式的硬件、软件、固件、专用处理器及其组合来实现。
最优选地,本发明的原理可以作为硬件和软件的组合来实现。并且,软件可以作为嵌入在程序存储单元上地应用程序来实现。应用程序可以被上载至包含任何适当集结构的机器并由其执行。优选地,该机器在具有硬件的计算极平台上执行,所述硬件例如是一个或多个中央处理器(CPU)、随机访问存储器(RAM)、输入输出(I/O)接口。计算机平台还可以包括操作系统和微指令代码。本文所述各种处理和功能可以是能够由CPU处理的微指令代码的一部分或应用程序的一部分,或者它们的组合。另外,各种外围设备可以连接至计算机平台,例如附加数据存储单元和打印单元。
可以进一步理解的是,因为附图中描述的某些系统构成部件和方法优选由软件实现,系统元件或者处理功能框之间的实际连接根据本发明的原理被编程的方式可能存在不同之处。基于本发明的原理,本领域普通技术人员可以设想到用来实现本发明原理的上述和其他方式或结构。
虽然结合目前优选实施例对本发明进行了说明,但是可以理解本发明并不局限于公开的实施例。而且,在本发明的原理和范围之内,可以对本发明进行修改以引入本说明书未说明的任何变化、改变、替换或者等同设置。因此,本发明不应被视为由上述说明来限制,而是由所附权利要求的范围来限定。