用于编码视频数据的设备和方法与流程

文档序号:32751472发布日期:2022-12-31 01:06阅读:38来源:国知局
用于编码视频数据的设备和方法相关申请的交叉引用1.本公开主张于2021年6月29日提交的名称为“proposedblendingindexderivationofdecodersideintrapredictionmodederivation”(在下文称为“‘191临时案”)的序列号为63/216191的临时美国专利申请的权益和优先权。‘191临时案的公开内容特此以引用方式完全并入本公开中。
技术领域
:2.本公开总体上涉及视频编码,尤其涉及在基于模板的帧内模式推导(timd:template-basedintramodederivation)中使用模板预测的技术。
背景技术
::3.基于模板的帧内模式推导(timd)是用于视频编码的编码工具。在常规视频编码方法中,编码器和解码器可使用与目标块相邻的先前重建的样本来生成用于预测目标块的多个帧内默认模式中的一者。4.然而,针对目标块的timd预测仅基于通过使用模板预测而选择的一个预测模式来确定,因此当timd被用于预测目标块时,编码效率可能不够高。因此,编码器和解码器可能需要新的timd以更精确地预测或重建目标块。技术实现要素:5.本公开涉及一种用于通过使用timd中的模板预测来预测图像帧中的块单元的设备和方法。6.在本公开的第一方面中,提供了一种用于对比特流进行解码的方法和用于执行所述方法的电子设备。所述方法包括:接收所述比特流;根据所述比特流从图像帧确定块单元;从用于所述块单元的多个帧内默认模式中选择多个帧内候选模式;针对所述多个帧内候选模式中的每一个生成模板预测;基于所述模板预测从所述多个帧内候选模式中选择多个预测模式;以及基于所述多个预测模式来重建所述块单元。7.第一方面的实施方式进一步包括:确定与所述块单元相邻的多个模板块;确定与所述多个模板块相邻的多个模板参考;以及通过使用所述多个帧内候选模式,基于所述多个模板参考来预测所述多个模板块,以生成所述模板预测。8.第一方面的实施方式进一步包括:通过将所述多个模板块分别与所述模板预测中的每一个进行比较来确定多个代价值;以及基于所述多个代价值选择所述多个预测模式。9.在第一方面的另一实施方式中,由代价函数确定的所述多个代价值中的每一个对应于所述模板预测中的一个。10.在第一方面的另一实施方式中,所述多个模板块包括顶部相邻块和左相邻块,且每一个与所述块单元相邻。11.第一方面的实施方式进一步包括:基于所述多个预测模式来预测所述块单元以生成多个预测块,每个预测块对应于所述多个预测模式中的一个;加权地组合所述多个预测块以生成具有多个加权参数的预测块;以及基于所述预测块来重建所述块单元。12.在第一方面的另一实施方式中,所述多个预测模式基于多个模板块来选择;以及所述多个加权参数基于所述多个模板块来确定。13.在第一方面的另一实施方式中,所述多个模板块被预测以基于所述多个模板块的所述模板预测来生成用于选择所述多个预测模式的所述模板预测;所述多个加权参数基于多个代价值来确定;以及所述多个代价值通过分别将所述多个模板块与所述模板预测中的每个模板预测进行比较来确定。14.在第一方面的另一实施方式中,所述多个帧内候选模式是从所述多个帧内默认模式中选择的多个最可能模式(mpm)。15.第一方面的实施方式进一步包括:确定与所述块单元相邻的多个模板区域;通过使用梯度滤波器对所述多个模板区域进行滤波,以用于生成多个模板角度和多个模板幅度,其中所述多个模板角度中的每一个对应于所述多个模板幅度中的一个;以及基于所述多个模板角度和所述多个模板幅度来生成梯度直方图hog,以用于选择所述多个帧内候选模式。16.第一方面的实施方式进一步包括:基于预定义的关系将所述多个模板角度中的每一个模板角度映射到所述多个帧内默认模式中的一个帧内默认模式,以生成至少一个映射模式;以及通过基于所述至少一个映射模式累计所述多个模板幅度来生成所述hog,其中,基于所述hog中累计的幅度,从所述多个帧内默认模式中选择所述多个帧内候选模式。17.在本公开的第二方面中,提供了一种用于对比特流进行解码的方法和用于执行所述方法的电子设备。所述方法包括:接收所述比特流;根据所述比特流从图像帧确定块单元和与所述块单元相邻的多个相邻区域;基于所述相邻区域从用多个帧内默认模式中选择多个帧内候选模式;针对所述多个帧内候选模式中的每一个生成模板预测;基于所述模板预测从所述多个帧内候选模式中选择多个预测模式;以及基于所述多个预测模式来重建所述块单元。18.第二方面的实施方式进一步包括:确定与所述块单元相邻的多个模板块;确定与所述多个模板块相邻的多个模板参考;以及通过使用所述多个帧内候选模式,基于所述多个模板参考来预测所述多个模板块,以生成所述模板预测。19.第二方面的实施方式进一步包括:通过将所述多个模板块分别与所述模板预测中的每一个进行比较来确定多个代价值;以及基于所述多个代价值选择所述多个预测模式。20.在第二方面的另一实施方式中,由代价函数确定的所述多个代价值中的每一个对应于所述模板预测中的一个。21.在第二方面的另一实施方式中,所述多个模板块包括顶部相邻块和左相邻块,且每一个与所述块单元相邻。22.第二方面的实施方式进一步包括:基于所述多个预测模式来预测所述块单元以生成多个预测块,每个预测块对应于所述多个预测模式中的一个;加权地组合所述多个预测块以生成具有多个加权参数的预测块;以及基于所述预测块来重建所述块单元。23.在第二方面的另一实施方式中,所述多个预测模式基于多个模板块来选择;以及所述多个加权参数基于所述多个模板块来确定。24.在第二方面的另一实施方式中,所述多个模板块被预测以基于所述多个模板块的所述模板预测来生成用于选择所述多个预测模式的所述模板预测;所述多个加权参数基于多个代价值来确定;以及所述多个代价值通过分别将所述多个模板块与所述模板预测中的每个模板预测进行比较来确定。25.在第二方面的另一实施方式中,所述多个相邻区域是与所述块单元相邻的多个重建块;在重建所述块单元之前,基于至少一个重建模式来重建所述多个重建块;以及所述多个帧内候选模式是基于所述至少一个重建模式从所述多个帧内默认模式中选择的多个最可能模式(mpm)。26.第二方面的实施方式进一步包括:通过使用梯度滤波器对所述多个相邻区域进行滤波,以生成多个模板角度和多个模板幅度,其中所述多个模板角度中的每一个对应于所述多个模板幅度中的一个;以及基于所述多个模板角度和所述多个模板幅度来生成梯度直方图hog,以用于选择所述多个帧内候选模式。27.第二方面的实施方式进一步包括:基于预定义的关系将所述多个模板角度中的每一个模板角度映射到所述多个帧内默认模式中的一个帧内默认模式,以生成至少一个映射模式;以及通过基于所述至少一个映射模式累计所述多个模板幅度来生成所述hog,其中,基于所述hog中累计的幅度,从所述多个帧内默认模式中选择所述多个帧内候选模式。附图说明28.从以下详细公开和对应的附图可最好地理解本公开的各方面。不同特征不是按比例绘制的,并且为了讨论清楚起见,可任意增大或减小各种特征的大小。29.图1示出了根据本公开的实施方式的配置为对视频数据进行编码和解码的系统的框图。30.图2示出了根据本公开的实施方式的在图1中示出的第二电子设备的解码器模块的框图。31.图3示出了根据本公开的实施方式的用于通过电子设备来解码视频数据的方法的流程图。32.图4a和图4b是块单元的相邻区域的示例性实施方式的示意图。33.图5a和图5b是块单元、多个模板块以及参考区域的示例性实施方式的示意图。34.图6示出了根据本公开的实施方式的在图1中示出的第一电子设备的编码器模块的框图。具体实施方式35.以下公开包括与本公开中的实施方式相关的具体信息。附图和相应的详细公开针对示例性实施方式。然而,本公开并不仅限于这些示例性实施方式。本领域技术人员将想到本公开的其他变形和实施方式。36.除非另有说明,否则附图中相同或相应的元件可由相同或相应的参考指示符来表示。附图和说明通常未按比例绘制,并且不旨在对应于实际相对尺寸。37.出于一致性和易于理解的目的,相似的特征在示例性附图中由参考指示符标识(但在一些示例中未示出)。然而,不同实施方式中的特征可在其他方面有所不同,并且不应狭窄地局限于附图中所示的内容。38.本公开使用的短语“在一个实施方式中,”或“在一些实施方式中,”可各自指代相同或不同实施方式中的一者或多者。术语“耦合”被定义为连接,不论是直接连接还是通过中间部件间接连接,并且不一定限于物理连接。术语“包括”意指“包括但不一定限于”;其具体指示在如此描述的组合、组、系列和等效物中的开放式包括或成员身份。39.出于解释和非限制的目的,阐述了诸如功能实体、技术、协议和标准等具体细节以提供对所公开技术的理解。省略了对公知的方法、技术、系统和架构的详细公开,以免不必要的细节使公开不清楚。40.本领域技术人员将认识到在本公开描述的任何编码功能或算法可由硬件、软件或软件和硬件的组合来实施。所描述的功能可对应于模块,这些模块是软件、硬件、固件或其任何组合。41.软件实施方式可包括程序,该程序具有存储在诸如存储器或其他类型的存储设备的计算机可读介质上的计算机可执行指令。例如,具有通信处理能力的一个或多个微处理器或通用计算机可使用可执行指令予以编程,并执行所描述的功能或算法。42.这些微处理器或通用计算机可由专用集成电路(asic:applicationsspecificintegratedcircuitry)、可编程逻辑阵列和/或使用一个或多个数字信号处理器(dsp:digitalsignalprocessor)形成。虽然公开的若干实施方式是面向在计算机硬件上安装和执行的软件,但是作为固件或硬件或硬件与软件的组合实施的替代实施方式也完全在本公开的范围内。计算机可读介质包括但不限于随机存取存储器(ram:randomaccessmemory)、只读存储器(rom:readonlymemory)、可擦除可编程只读存储器(eprom:erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom:electricallyerasableprogrammableread-onlymemory)、闪存、光盘只读存储器(cd-rom:compactdiscread-onlymemory)、盒式磁带、磁带、磁盘存储器或能够存储计算机可读指令的任何其他等效介质。43.图1示出了根据本公开的实施方式的配置为对视频数据进行编码和解码的系统100的框图。系统100包括第一电子设备110、第二电子设备120和通信介质130。44.第一电子设备110可为源设备,其包括配置为编码视频数据且将经编码的视频数据传输到通信介质130的任何设备。第二电子设备120可为目的地设备,其包括配置为经由通信介质130接收经编码的视频数据且解码经编码的视频数据的任何设备。45.第一电子设备110可经由通信介质130与第二电子设备120有线或无线地通信。第一电子设备110可包括源模块112、编码器模块114和第一接口116。第二电子设备120可包括显示模块122、解码器模块124和第二接口126。第一电子设备110可以是视频编码器,并且第二电子设备120可以是视频解码器。46.第一电子设备110和/或第二电子设备120可为移动电话、平板计算机、桌上型计算机、笔记本或其他电子设备。图1示出了第一电子设备110和第二电子设备120的一个示例。第一电子设备110和第二电子设备120可包括比图示更多或更少的组件,或具有各种图示的组件的不同配置。47.源模块112可包括用以捕捉新视频的视频捕捉设备、用以存储先前捕捉到的视频的视频存档和/或用以从视频内容提供者接收视频的视频馈送接口。源模块112可生成基于计算机图形的数据作为源视频,或生成实时视频、存档视频和计算机生成的视频的组合作为源视频。视频捕捉设备可为电荷耦合设备(ccd:charge-coupleddevice)图像传感器、互补金属氧化物半导体(cmos:complementarymetal-oxide-semiconductor)图像传感器或相机。48.编码器模块114和解码器模块124可以各自被实现为各种合适的编码器/解码器电路中的任何一种,诸如一个或多个微处理器、中央处理单元(cpu:centralprocessingunit)、图形处理单元(gpu:graphicprocessingunit)、片上系统(soc:systemonchip)、数字信号处理器(dsp:digitalsignalprocessor)、专用集成电路(asic:applicationspecificintegratedcircuit)、现场可编程门阵列(fpga:fieldprogrammablegatearray)、离散逻辑、软件、硬件、固件或其任意组合。当部分地以软件实施时,设备可将具有用于软件的指令的程序存储在合适的非暂时性计算机可读介质中,且使用一或多个处理器执行硬件中的指令以执行所公开的方法。编码器模块114和解码器模块124的每一者可被包括于一个或多个编码器或解码器中,编码器或解码器中的任一者可被集成为设备中的组合编码器/解码器(codec)的一部分。49.第一接口116和第二接口126可以利用定制的协议或遵循现有标准或实际标准,包括但不限于以太网、ieee802.11或ieee802.15系列、无线usb或电信标准,包括但不限于全球移动通信系统(gsm:globalsystemformobilecommunication)、码分多址2000(cdma:codedivisionmultipleaccess2000)、时分同步码分多址(td-scdma:timedivisionsynchronouscodedivisionmultipleaccess)、全球微波互联接入(wimax:worldwideinteroperabilityformicrowaveaccess)、第三代合作伙伴计划长期演进(3gpp-lte:thirdgenerationpartnershipprojectlong-termevolution)或时分lte(td-lte:time-divisionlte)。第一接口116和第二接口126可各自包括配置为经由通信介质130传输和/或存储兼容视频比特流和经由通信介质130接收兼容视频比特流的任何设备。50.第一接口116和第二接口126可以包括计算机系统接口,该计算机系统接口使得兼容视频比特流能够被存储在存储设备上或者从存储设备接收。例如,第一接口116和第二接口126可包括支持外围组件互连(pci:peripheralcomponentinterconnect)和高速外围组件互连(pcie:peripheralcomponentinterconnectexpress)总线协议、专有总线协议、通用串行总线(usb:universalserialbus)协议、集成电路(i2c:inter-integratedcircuit)协议或可用于互连对等设备的任何其他逻辑和物理结构的芯片组。51.显示模块122可包括使用液晶显示器(lcd:liquidcrystaldisplay)技术、等离子体显示技术、有机发光二极管(oled:organiclightemittingdiode)显示技术或发光聚合物显示器(lpd:lightemittingpolymerdisplay)技术的显示器,以及在其他实施方式中使用的其他显示技术。显示模块122可包括高清晰度显示器或超高清晰度显示器。52.图2示出了根据本公开的实施方式的在图1中示出的第二电子设备120的解码器模块124的框图。解码器模块124包括熵解码器(例如,熵解码单元2241)、预测处理器(例如,预测处理单元2242)、逆量化/逆变换处理器(例如,逆量化/逆变换单元2243)、求和器(例如,求和器2244)、滤波器(例如,滤波单元2245)和经解码图片缓冲器(例如,经解码图片缓冲器2246)。预测处理单元2242进一步包括帧内预测处理器(例如,帧内预测单元22421)和帧间预测处理器(例如,帧间预测单元22422)。解码器模块124接收比特流并对该比特流进行解码以输出解码的视频。53.熵解码单元2241可以从图1中的第二接口126接收包括多个语法元素的比特流,并且对比特流执行解析操作以从比特流提取语法元素。作为解析操作的一部分,熵解码单元2241可以对比特流进行熵解码以生成经量化的变换系数、量化参数、变换数据、运动矢量、帧内模式、分割信息以及其他语法信息。54.熵解码单元2241可执行上下文自适应可变长度编码(cavlc:contextadaptivevariablelengthcoding)、上下文自适应二进制算术编码(cabac:contextadaptivevinaryarithmeticcoding)、基于语法的上下文自适应二进制算术编码(sbac:syntax-basedcontext-adaptivebinaryarithmeticcoding)、概率区间分割熵(pipe:probabilityintervalpartitioningentropy)编码或另一熵编码技术以生成量化的变换系数。熵解码单元2241可以将经量化的变换系数、量化参数和变换数据提供给逆量化/逆变换单元2243,并且将运动矢量、帧内模式、分割信息和其他语法信息提供给预测处理单元2242。55.预测处理单元2242可从熵解码单元2241接收语法元素,例如运动矢量、帧内模式、分割信息和其他语法信息。预测处理单元2242可接收包括分割信息的语法元素,并且根据分割信息划分图像帧。56.根据分割信息,每个图像帧可以被划分成至少一个图像块。该至少一个图像块可包括用于重建多个亮度样本的亮度块以及用于重建多个色度样本的至少一个色度块。该亮度块和至少一个色度块可以被进一步划分以生成宏块、编码树单元(ctu:codingtreeunit)、编码块(cb:codingblock)、其子分割和/或另一等效的编码单元。57.在解码处理期间,预测处理单元2242可以接收所预测的数据,该数据包括图像帧中的特定一个图像帧的当前图像块的帧内模式或运动矢量。当前图像块可以是特定图像帧中的亮度块或色度块之一。58.帧内预测单元22421可基于与帧内模式相关的语法元素,针对与当前块单元相同的帧中的一个或多个相邻块执行当前块单元的帧内预测编码,以便生成预测块。帧内模式可指定选自当前帧内的相邻块的参考样本的位置。当色度分量由预测处理单元2242重建时,帧内预测单元22421可以基于当前块单元的多个亮度分量来重建当前块单元的多个色度分量。59.在当前块的亮度分量由预测处理单元2242重建时,帧内预测单元22421可以基于当前块单元的多个亮度分量来重建当前块单元的多个色度分量。60.帧间预测单元22422可基于与运动矢量相关的语法元素对一个或多个参考图像块中的一个或多个块执行当前块单元的帧间预测编码,以便生成预测块。运动矢量可指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。参考块单元是被确定为与当前块单元紧密匹配的块。帧间预测单元22422可以接收存储在经解码图片缓冲器2246中的参考图像块,并且基于接收到的参考图像块重建当前块单元。61.逆量化/逆变换单元2243可应用逆量化和逆变换以在像素域中重建残余块。逆量化/逆变换单元2243可将逆量化应用于残余经量化的变换系数以生成残余变换系数,且接着将逆变换应用于残余变换系数以生成像素域中的残余块。62.逆变换可通过变换过程(例如,离散余弦变换(dct:discretecosinetransform)、离散正弦变换(dst:discretesinetransform)、自适应多重变换(amt:adaptivemultipletransform)、模式相关的不可分离二次变换(mdnsst:mode-dependentnon-separablesecondarytransform)、超立方体归根变换(hygt:hypercube-givenstransform)、信号相关变换、卡洛南-洛维变换(klt:karhunen-loévetransform)、小波变换、整数变换、子带变换或概念上类似的变换)来反向应用。逆变换可将残余信息从变换域(例如,频域)转换回到像素域。逆量化的程度可通过调整量化参数来修改。63.求和器2244将重建的残余块添加到从预测处理单元2242提供的预测块中,以生成重建块。64.滤波单元2245可以包括解块滤波器、样本自适应偏移(sao:sampleadaptiveoffset)滤波器、双边滤波器和/或自适应环路滤波器(alf:adaptiveloopfilter),以将块效应从重建块中去除。除了解块滤波器、sao滤波器、双边滤波器和alf之外,还可使用额外滤波器(环路内或环路后)。为了简洁起见,这些滤波器未明确说明,但可对求和器2244的输出进行滤波。滤波单元2245可以在滤波单元2245对特定图像帧的重建块进行滤波处理之后,将解码后的视频输出到显示模块122或其他视频接收单元。65.经解码图片缓冲器2246可以是参照图片存储器,其存储供预测处理单元2242用于对比特流(以帧间编码模式)进行解码的参考块。经解码图片缓冲器2246可由多种存储器设备中的任一者形成,例如动态随机存取存储器(dram:dynamicrandom-accessmemory),包括同步dram(sdram))、磁阻ram(mram)、电阻ram(rram),或其他类型的存储器设备。经解码图片缓冲器2246可与解码器模块124的其他组件一起在芯片上,或相对于那些组件在芯片外。66.图3示出了根据本公开的实施方式的用于通过电子设备来解码视频数据的方法300的流程图。方法300仅是示例,因为存在执行视频数据的解码的各种方式。67.方法300可以使用在图1和图2中示出的配置来执行,并且关于方法300参考这些图的各种元件。在图3中示出的每个框可以表示执行的一个或多个处理、方法、或者子例程。68.图3中的框的顺序仅是说明性的并且可以改变。在不脱离本公开的情况下,可以添加额外的框或者可以使用更少的框。69.在框310,解码器模块124接收视频数据。通过解码器模块124接收到的视频数据可以是比特流。70.参照图1和图2,第二电子设备120可以经由第二接口126从诸如第一电子设备110的编码器或者其他视频提供者接收比特流。第二接口126可以向解码器模块124提供比特流。71.熵解码单元2241可以解码比特流以确定用于多个图像帧的多个预测指示和多个分割指示。然后,解码器模块124可以进一步基于预测指示和分割指示来重建多个图像帧。预测指示和分割指示可以包括多个标志和多个索引。72.在框320,解码器模块124根据视频数据从图像帧确定块单元。73.参照图1和图2,解码器模块124可以基于比特流确定图像帧并且根据比特流中的分割指示来划分图像帧以确定块单元。例如,解码器模块124可分割图像帧以生成多个ctu(codingtreeunits:编码树单元),且可进一步划分ctu中的一个以基于任意视频编码标准根据分割指示来确定块单元。74.在框330,解码器模块124从用于块单元的多个帧内默认模式中选择多个帧内候选模式。75.参照图1和图2,解码器模块124可以确定用于通过帧内预测来预测块单元的帧内默认模式。帧内默认模式可包括多个非角度模式和多个角度模式。非角度模式可包括平面模式和dc模式。此外,当解码器模块222在高效视频编码(hevc:highefficiencyvideocoding)中解码块单元时,对于方法300,角度模式的数量可等于32。当解码器模块124在通用视频编码(vvc:versatilevideocoding)或vvc测试模型(vtm:vvctestmodel)中解码块单元时,对于方法300,角度模式的数量可等于65。此外,当解码器模块124在增强压缩模型(ecm:enhancedcompressionmodel)中解码块单元时,对于方法300,角度模式的数量可等于129。由此,对于hevc中的方法300,帧内默认模式的数量可等于34,对于vvc或vtm中的方法300,帧内默认模式的数量可等于67,且对于ecm中的方法300,帧内默认模式的数量可等于130。76.图4a和图4b是块单元的多个相邻区域的示例性实施方式的示意图。图4a是块单元4100和多个相邻区域4110和4120的示例性实施方式的示意图。相邻区域4110-4120可以是相邻块单元4100的多个重建块。在重建块单元4100之前,重建块可以基于至少一个重建模式来重建。与块单元4100相邻的相邻区域4110和相邻区域4120是在重建块单元4100之前重建的两个不同的重建块。解码器模块124基于多个相邻位置4111和4121来选择相邻区域4110和相邻区域4120。相邻位置4111可位于块单元4100的左下角的左侧,相邻位置4121可位于块单元4100的右上角的上方。当与块单元4100相邻的重建块覆盖相邻位置4111时,重建块可以被视为相邻区域4110。当与块单元4100相邻的重建块覆盖相邻位置4121时,重建块可以被视为相邻区域4120。相邻区域4110和4120的至少一个重建模式可被用于确定帧内候选模式。当相邻区域4110的重建模式与相邻区域4120的重建模式相同时,相邻区域4110和4120的至少一个重建模式的数量等于1。当相邻区域4110的重建模式与相邻区域4120的重建模式不同时,相邻区域4110和4120的至少一个重建模式的数量等于2。帧内候选模式可以是基于相邻区域4110和4120的至少一个重建模式,从帧内默认模式中选择的多个最可能模式(mpm:mostprobablemode)。可根据任何视频编码标准(诸如vvc、hevc和高级视频编码(avc:advancedvideocoding)的选择方案或视频编码标准的任何参考软件(诸如vcm和ecm),通过使用至少一个重建模式从帧内默认模式中来选择该mpm。77.图4b是块单元4200和与该块单元4200相邻的多个相邻区域4210的示例性实施方式的示意图。解码器模块124确定与块单元4200相邻的相邻区域4210。相邻区域4210可以是与块单元4200相邻的多个相邻区域。包括在相邻区域中的顶部相邻区域可位于块单元4200上方,并且包括在相邻区域中的左相邻区域可位于块单元4200的左侧。此外,可存在位于块单元4200的左上角的左上侧的左上相邻区域。相邻区域4210可包含多个重建样本。顶部相邻区域的高度可等于沿垂直方向的重建样本的数量nrt,并且顶部相邻区域的宽度可等于块单元4200的宽度。左相邻区域的高度可以等于块单元4200的高度,并且左相邻区域的宽度可以等于沿水平方向的重建样本的数量nrl。此外,左上相邻区域的高度可以等于沿垂直方向的重建样本的数量nrt,并且左上相邻区域的宽度可以等于沿水平方向的重建样本的数量nrl。在一个实施方式中,数量nrt和nrl可以是正整数。此外,数量nrt和nrl可以彼此相等。进一步地,数量nrt和nrl可以大于或等于3。78.相邻区域4210中的所有重建样本可以被设置为包括在多个模板区域中。通过使用梯度滤波器对模板区域进行滤波以生成多个模板梯度。换言之,相邻区域可以被滤波。在一个实施方式中,梯度滤波器可以是索贝尔(soble)滤波器。模板梯度通过基于以下滤波等式对相邻区域4210中的重建样本进行滤波来生成:或或或其中,运算符*表示二维信号处理卷积运算,矩阵a表示相邻区域中多个经滤波块4211中的一个。换言之,每个模板梯度基于经滤波块中的一个来生成。每个经滤波块包括nf个重建样本。数量nf可以是正整数。例如,当经滤波块的尺寸为3×3时,数量nf等于9。79.经滤波块的模板梯度可进一步计算,以生成多个模板幅度和多个模板角度。由此,模板区域可以通过使用用于生成模板角度和模板幅度的梯度滤波器来滤波。每个模板幅度可通过导出模板梯度中的对应一个的总和的绝对值来生成。此外,可基于两个分数梯度gx和gy的划分结果来导出模板角度中的每一个。模板幅度和模板角度可通过以下等式来导出:amp=abs(gx)+abs(gy)80.模板角度与帧内默认模式之间的预定义关系可在第一电子设备110和第二电子设备120中被预定义。例如,该关系可以以查找表(lut:look-uptable)、等式或其组合的形式来存储。由此,当模板角度被确定时,解码器模块124可以通过基于预定义关系将多个模板角度中的每个模板角度映射到多个帧内默认模式中的一个帧内默认模式来生成至少一个映射模式。换言之,该至少一个映射模式可以通过将多个模板角度中的每个模板角度映射到多个帧内默认模式来生成。例如,当块单元4200的模板角度中的每个模板角度对应于相同的帧内默认模式时,该至少一个映射模式的数量可等于1。另外,当块单元4200的模板角度中的一些模板角度对应于不同的帧内默认模式时,该至少一个映射模式的数量可大于1。在一个实施方式中,360度可以被划分成多个部分,并且每个部分表示帧内预测索引。由此,如果模板角度落入一个分段中,则可以根据映射规则导出对应于该分段的帧内预测索引。81.经滤波块中的特定块的模板梯度可被计算,以生成模板幅度中的特定模板幅度和模板角度中的特定模板角度。由此,特定模板幅度可对应于特定模板角度。换言之,经滤波块的模板角度中的每一个可对应于模板幅度中的对应一个。由此,当至少一个映射模式被确定时,解码器模块124可以通过基于至少一个映射模式累计模板幅度来生成梯度直方图(hog:histogramofgradient)。例如,当两个彼此不同的模板角度对应于相同的帧内默认模式时,可针对与该两个模板角度对应的一个映射模式来累计两个模板角度的两个模板幅度。由此,hog可通过基于至少一个映射模式累计模板幅度来生成。hog的水平轴可表示帧内预测模式索引,并且hog的垂直轴可表示累计的强度(例如,幅度)。在该实施方式中,基于模板角度和模板幅度来生成hog,以用于选择多个候选内模式。82.一些帧内默认模式可基于hog中的累计幅度被选择为帧内候选模式。当帧内候选模式的数量等于6时,可基于前6个幅度来选择6个帧内预测索引。当帧内候选模式的数量等于3时,可基于前3个幅度来选择3个帧内预测索引。由此,当帧内候选模式的数量等于x时,可基于前x个幅度来选择x个帧内预测索引。数量x可以是正整数。在一个实施方式中,可将帧内默认模式中的非角度模式直接添加到帧内候选模式中。例如,非角度模式可以是平面模式。在另一实施方式中,非角度模式可为dc模式。83.继续参照图3,在框340,解码器模块124针对多个帧内候选模式中的每一个生成模板预测。84.参照图1和图2,解码器模块124可以确定与块单元相邻的多个模板块。图5a和图5b是块单元、多个模板块以及参考区域的示例性实施方式的示意图。图5a是块单元5100、与块单元5100相邻的多个模板块5101-5103以及与模板块5101-5103相邻的参考区域5130的示例性实施方式的示意图。在该实施方式中,参照图4b和图5a,相邻区域4210可与多个模板块5101-5103相同。模板块5101中的第一模板块可以是位于块单元5100的左侧的左相邻块,模板块5102中的第二模板块可以是位于块单元5100上方的顶部相邻块,并且模板块5103中的第三模板块可以是位于块单元5100的左上侧的左上相邻块。顶部相邻块的高度可以等于沿垂直方向的顶部相邻块的重建样本的数量nbt,并且顶部相邻块的宽度可以等于块单元4200的宽度。左相邻块的高度可以等于块单元4200的高度,并且左相邻块的宽度可以等于沿水平方向的左相邻块的重建样本的数量nbl。另外,左上相邻块的高度可以等于顶部相邻块沿垂直方向的重建样本的数量nbt,并且左上相邻块的宽度可以等于左相邻块沿水平方向的重建样本的数量nbl。在一个实施方式中,数量nbt和nbl可为正整数。另外,数量nbt和nbl可以彼此相同或不同。此外,数量nbt和nbl可以大于或等于2。例如,数量nbt可以等于2、3或4,并且数量nbt可以等于2、3或4。85.在一些实施方式中,解码器模块124可将模板块5101-5102确定为模板单元5110以生成模板预测。在另一实施方式中,解码器模块124可以将模板块5101-5103确定为模板单元5120以生成模板预测。解码器模块124确定参考区域5130中的与多个模板块相邻的多个模板参考。模板参考可以是在重建块单元5100之前重建的多个参考样本。此外,模板单元可以包括在重建块单元5100之前重建的多个模板样本。86.块单元5100可具有块宽度w0和块高度h0。第一模板块5101可具有第一模板宽度w1和第一模板高度h0,第二模板块5102可具有第二模板宽度w0和第二模板高度h2,并且第三模板块5103可具有第三模板宽度w1和第三模板高度h2。参考区域5130可具有参考宽度m和参考高度n。此外,参考宽度m可以等于2×(w0+w1)+1,并且参考高度n可以等于2×(h0+h2)+1。在实施方式中,数值w0、h0、w1、h2、m和n可以为正整数。在一个实施方式中,数值w1可等于数值h2。在另一个实施方式中,数值w1可以不同于数值h2。87.图5b是块单元5200、与块单元5200相邻的多个模板块5201-5203以及与模板块5201-5203相邻的参考区域5230的示例性实施方式的示意图。模板块5201中的第一模板块可以是位于块单元5200的左侧的左相邻块,模板块5202中的第二模板块可以是位于块单元5200上方的顶部相邻块,并且模板块5203中的第三模板块可以是位于块单元5200的左上侧的左上相邻块。在一些实施方式中,解码器模块124可将模板块5201-5202确定为模板单元5210以生成模板预测。在另一实施方式中,解码器模块124可以将模板块5201-5203确定为模板单元5220以生成模板预测。解码器模块124确定参考区域5230中的与多个模板块相邻的多个模板参考。模板参考可以是在重建块单元5200之前重建的多个参考样本。此外,模板单元可以包括在重建块单元5200之前重建的多个模板样本。88.块单元5200可具有块宽度w0和块高度h0。第一模板块5201可具有第一模板宽度w1和大于块高度h0的第一模板高度h1,第二模板块5202可具有大于块宽度w0的第二模板宽度w2和第二模板高度h2,并且第三模板块5203可具有第三模板宽度w1和第三模板高度h2。参考区域5230可具有参考宽度m和参考高度n。此外,参考宽度m可以等于2×(w1+w2)+1,并且参考高度n可以等于2×(h1+h2)+1。实施中,数值w0、h0、w1、h1、w2、h2、m、n可以为正整数。在一个实施方式中,数值w1可等于数值h2。在另一个实施方式中,数值w1可以不同于数值h2。89.解码器模块124可通过使用帧内候选模式基于具有模板参考的参考区域来预测模板单元中的模板块以生成模板预测。解码器模块124可通过使用帧内候选模式中的一个基于模板参考来预测模板单元中的模板块以生成模板预测中的一个。由此,帧内候选模式的数量可等于模板预测的数量。例如,当帧内候选模式的数量等于6时,模板预测的数量也可等于6。90.继续参照图3,在框350,解码器模块124基于模板预测从多个帧内候选模式中选择多个预测模式。91.预测模式基于模板块来选择。参照图1和图2,解码器模块124可以将模板预测与模板单元中的模板样本进行比较。由于模板单元中的模板样本是在重建块单元之前被重建,因此模板样本也在生成模板预测之前被重建。由此,当模板预测被生成时,解码器模块124可以被允许将模板预测与模板单元中的重建模板样本进行比较。92.解码器模块124可通过使用代价函数(costfunction)从帧内候选模式中选择预测模式来将模板块的模板预测与模板单元进行比较。由此,模板块被预测以基于模板块的模板预测来生成用于选择预测模式的模板预测。解码器模块124可以通过将重建的模板块与模板预测进行比较来确定多个代价值。例如,解码器模块124可以将重建的模板块与通过使用帧内候选模式中的一个生成的模板预测中的一个进行比较,以生成代价值中的一个。由此,由代价函数确定的每个代价值对应于通过使用帧内候选模式中的一个生成的模板预测中的一个。93.代价函数可以包括但不限于绝对差和(sad:sumofabsolutedifference)、绝对变换差和(satd:sumofabsolutetransformeddifference)、平均绝对差(mad:meanabsolutedifference)、均方差(msd:meansquareddifference)和结构相似性(ssim:structuralsimilarity)。应注意,在不脱离本发明的情况下,可使用任何代价函数。94.解码器模块124可基于模板预测的代价值从帧内候选模式中选择预测模式,该模板预测的代价值是基于模板块而生成的。当预测模式的数量等于2时,可以基于2个最低代价值选择2个帧内预测索引。当帧内候选模式的数量等于3时,可基于3个最低代价值选择3个帧内预测索引。由此,当预测模式的数量等于y时,可以基于y个最低代价值选择y个帧内预测索引。数量y可以是正整数。95.当选择预测模式时,解码器模块124可以根据基于模板块生成的模板预测的代价值来确定多个加权参数。由此,加权参数基于模板块来确定。模板块可被预测以基于模板块的模板预测来生成用于选择预测模式的模板预测。加权参数可以基于代价值来确定,并且代价值是通过分别将模板块与模板预测中的每一个进行比较来确定的。96.解码器模块124可比较预测模式的代价值以确定加权参数。例如,当预测模式的数量等于2时,可以基于以下函数确定两个预测模式的加权参数:其中,w1、w2、c1和c2为预测模式的加权参数和代价值。97.解码器模块124可以通过使用预测模式和加权参数,基于块单元的参考线来预测块单元。解码器模块124可以基于预测模式来预测块单元以生成多个预测块。预测块中的每一个对应于预测模式中的一个,因此预测块中的每一个还对应于加权参数中的一个。解码器模块124可以通过预测块和加权参数加权地组合预测块以生成块单元的预测块。98.参照图1和图2,解码器模块124可以通过多个加权参数直接加权组合模板预测。加权参数可基于hog来确定。例如,加权参数可基于hog中模板块的累计幅度来确定。由此,多个加权参数基于多个模板块来确定。例如,当组合的模板预测的数量等于3时,可基于以下函数来确定三个帧内候选模式的加权参数:其中,数值w1、w2、w3、a1、a2和a3是基于模板块选择的帧内候选模式的加权参数和累计幅度。在实施方式中,该加权参数wi可以等于并且数值p可以等于组合的模板预测的数量。99.当候选内模式的数量等于3时,解码器模块124可基于3个候选内模式生成块单元的多个中间预测。可存在3个中间预测,每个中间预测通过使用帧内候选模式中的2个来生成。另外,1个中间预测可通过使用3个帧内候选模式来生成。当帧内候选模式的数量等于y时,中间预测的数量ni可以小于或等于例如,当数量y等于2时,数量ni等于1。当数量y等于3时,数量ni可以小于或等于4。此外,当数量y等于4时,数量ni可以小于或等于11。例如,当y的数量等于3并且解码器模块124选择两个帧内候选模式来生成每个中间预测时,数量ni可等于3。在一个实施方式中,函数表示y个元素的m个组合的数量,数量ni是大于或等于1的正整数,并且数量m是大于或等于2的正整数。100.当中间预测通过使用y个帧内候选模式中的m个来生成时,加权参数可基于m个帧内候选模式的累计幅度来确定。例如,数量y等于4,并且数量m等于2。然后,两个加权参数可仅基于用于生成中间预测中的一个的两个帧内候选模式的两个累计幅度来确定。例如,两个加权参数可以等于a1/(a1+a2)和a2/(a1+a2)。101.解码器模块124可以通过使用代价函数将中间预测与模板单元进行比较以从中间预测中选择预测块。解码器模块124可以通过将重建模板块与中间预测进行比较来确定多个代价值。例如,解码器模块124可以将重建模板块与中间预测中的一个进行比较,以生成代价值中的一个。由此,由代价函数确定的代价值中的每一个对应于通过使用帧内候选模式中的至少2个生成的中间预测中的一个。102.代价函数可以包括但不限于绝对差和(sad:sumofabsolutedifference)、绝对变换差和(satd:sumofabsolutetransformeddifference)、平均绝对差(mad:meanabsolutedifference)、均方差(msd:meansquareddifference)和结构相似性(ssim:structuralsimilarity)。应注意,在不脱离本发明的情况下,可使用任何代价函数。103.解码器模块124可以根据基于模板块生成的中间预测的代价值来从中间预测中选择预测块。解码器模块124可以选择具有最低代价值的中间预测中的特定一个作为预测块。由此,用于生成特定中间预测的帧内候选模式可被视为预测模式。104.返回至图3,在框360,解码器模块124基于多个预测模式重建块单元。105.进一步参照图1和图2,解码器模块124可以从块单元的比特流确定多个残余分量,并且将残余分量添加到预测块中以重建块单元。解码器模块124可以重建图像帧中的所有其他块单元,以便重建图像帧和视频。106.图6示出了根据本公开的示例性实施方式的在图1中示出的第一电子设备110的编码器模块114的框图。编码器模块114可包括预测处理器(例如,预测处理单元6141)、至少第一求和器(例如,第一求和器6142)和第二求和器(例如,第二求和器6145)、变换/量化处理器(例如,变换/量化单元6143)、逆量化/逆变换处理器(例如,逆量化/逆变换单元6144)、滤波器(例如,滤波单元6146)、经解码图片缓冲器(例如,经解码图片缓冲器6147)和熵编码器(例如,熵编码单元6148)。编码器模块114的预测处理单元6141可以进一步包括分割处理器(例如,分割单元61411)、帧内预测处理器(例如,帧内预测单元61412)、以及帧间预测处理器(例如,帧间预测单元61413)。107.编码器模块114可以接收源视频并且对源视频进行编码以输出比特流。编码器模块114可以接收包括多个图像帧的源视频,然后根据编码结构来划分图像帧。每个图像帧可以被划分成至少一个图像块。108.至少一个图像块可包括具有多个亮度样本的亮度块和具有多个色度样本的至少一个色度块。该亮度块和至少一个色度块可以被进一步划分以生成宏块、编码树单元(ctu:codingtreeunit)、编码块(cb:codingblock)、其子分割和/或另一等效的编码单元。109.编码器模块114可以执行源视频的额外子分割。应注意,所公开的实施方式总体上可应用于视频编码,而不管在编码之前和/或期间源视频是如何分割的。110.在编码过程期间,预测处理单元6141可接收图像帧中的特定一个图像帧的当前图像块。当前图像块可以是特定图像帧中的亮度块或色度块之一。111.分割单元61411可将当前图像块划分为多个块单元。帧内预测单元61412可相对于与当前块单元相同的帧中的一个或多个相邻块执行当前块单元的帧内预测编码,以便提供空间预测。帧间预测单元61413可相对于一个或多个参考图像块中的一个或多个块执行当前块单元的帧间预测编码,以提供时间预测。112.预测处理单元6141可基于模式选择方法(例如,代价函数)选择由帧内预测单元61412和帧间预测单元61413生成的编码结果中的一个。模式选择方法可以是率失真优化(rdo:rate-distortionoptimization)过程。113.预测处理单元6141可确定选择的编码结果且将对应于选择的编码结果的预测块提供到第一求和器6142以用于生成残余块,且提供到第二求和器6145以用于重建经编码的块单元。预测处理单元6141可进一步将诸如运动矢量、帧内模式指示符、分割信息和其他语法信息的语法元素提供到熵编码单元6148。114.帧内预测单元61412可对当前块单元进行帧内预测。帧内预测单元61412可以确定针对与当前块单元相邻的重建样本的帧内预测模式,以便对当前块单元进行编码。115.帧内预测单元61412可使用各种帧内预测模式对当前块单元进行编码。预测处理单元6141的帧内预测单元61412可从所选择的模式中选择适当的帧内预测模式。帧内预测单元61412可使用跨分量预测模式对当前块单元进行编码,以基于当前块单元的亮度分量来预测当前块单元的两个色度分量中的一个。帧内预测单元61412可基于当前块单元的两个色度分量中的第二个来预测当前块单元的两个色度分量中的第一个。116.作为由帧内预测单元61412执行的帧内预测的替代方案,帧间预测单元61413可对当前块单元进行帧间预测。帧间预测单元61413可执行运动估计以估计用于生成运动矢量的当前块单元的运动。117.运动矢量可指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。帧间预测单元61413可接收存储在经解码图片缓冲器6147中的至少一个参考图像块,且基于接收到的参考图像块来估计运动以生成运动矢量。118.第一求和器6142可通过从原始当前块单元减去由预测处理单元6141确定的预测块来生成残余块。第一求和器6142可表示执行该减法的一个或多个组件。119.变换/量化单元6143可将变换应用于残余块以便生成残余变换系数,且接着量化该残余变换系数以进一步减小比特率。变换可以是dct、dst、amt、mdnsst、hygt、信号相关变换、klt、小波变换、整数变换、子带变换或概念上类似的变换中的一种。120.该变换可将残余信息从像素值域转换到变换域,例如频域。可通过调整量化参数来修改量化程度。121.变换/量化单元6143可执行包括经量化的变换系数的矩阵的扫描。可替代地,熵编码单元6148可执行扫描。122.熵编码单元6148可从预测处理单元6141和变换/量化单元6143接收包括量化参数、变换数据、运动矢量、帧内模式、分割信息和其他语法信息的多个语法元素。熵编码单元6148可将语法元素编码成比特流。123.熵编码单元6148可通过执行cavlc、cabac、sbac、pipe编码或另一熵编码技术来对经量化变换系数进行熵编码以生成经编码的比特流。经编码的比特流可以被传输到另一个设备(即,图1中的第二电子设备120)或者被存档以用于之后的传输或者检索。124.逆量化/逆变换单元6144可应用逆量化和逆变换来重建像素域中的残余块以供之后用作参考块。第二求和器6145可将重建的残余块添加到从预测处理单元6141提供的预测块,以便生成用于存储在经解码图片缓冲器6147中的重建的块。125.滤波单元6146可包括解块滤波器、sao滤波器、双边滤波器和/或alf,以从重建块移除块假影。除了解块滤波器、sao滤波器、双边滤波器和alf之外,可使用额外滤波器(环路内或环路后)。为了简洁起见,未说明这些滤波器,且可对第二求和器6145的输出进行滤波。126.经解码图片缓冲器6147可以是参考图片存储器,其存储供编码器模块614用于以诸如帧内或帧间编码模式来编码视频的参考块。经解码图片缓冲器6147可包括多种存储器设备,诸如dram(例如包括sdram、mram、rram)或其他类型的存储器设备。经解码图片缓冲器6147可与编码器模块114的其他组件一起在芯片上,或相对于那些组件在芯片外。127.编码器模块114可以接收视频数据,并且通过使用方法300使用多个帧内默认模式来预测视频数据中的多个图像帧。视频数据可以是待编码的视频。编码器模块114可以根据视频数据从图像帧中的一个来确定块单元。128.编码器模块114可从用于块单元的帧内默认模式中选择多个帧内候选模式。帧内候选模式可以是基于用于块单元的多个相邻区域的至少一个重建模式而被确定的多个最可能模式(mpm)。帧内候选模式可基于通过多个模板角度和根据多个相邻区域推导出的多个模板幅度生成的梯度直方图(hog)来选择。129.编码器模块114可生成针对每个帧内候选模式的模板预测。可通过使用每个帧内候选模式,基于参考区域来预测与块单元相邻的模板单元。模板预测的数量可等于帧内候选模式的数量。130.编码器模块114可基于模板预测从帧内候选模式中选择多个预测模式。模板预测可通过用于选择预测模式的代价函数与模板单元中的多个重建样本相比较。在另一实施方式中,模板预测可被直接加权组合以生成多个组合的模板预测。组合的模板预测可以通过用于选择预测模式的代价函数与模板单元中的重建样本相比较。131.编码器模块114可以基于预测模式确定预测块,并且将块单元中的多个像素元素与预测块进行比较以确定多个残余值。编码器模块114可以将残余值编码成比特流,用于发送给第二电子设备120。此外,为了进一步对图像帧中的其他块和其他图像帧进行编码,编码器模块114可以基于预测块和残余值进一步重建块单元。由此,编码器模块114还可以使用帧内默认模式来通过使用方法300来预测视频数据中的图像帧。132.所公开的实施方式在所有方面都应被认为是说明性的而非限制性的。还应当理解的是,虽然本公开不限于具体公开的实施方式,但在不脱离本公开的范围的情况下,许多重排、修改和替换是可能的。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1