在shvc中有条件地调用再取样过程的制作方法_3

文档序号:9439591阅读:来源:国知局
估计单元42将所计算的运动向量发送到熵编码单元56及运动补偿单元44。
[0072]运动补偿单元44执行的运动补偿可以涉及基于运动估计单元42确定的运动向量来获取或产生预测性块。在一些实例中,运动估计单元42和运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44可即刻在参考图片列表中的一者中定位所述运动向量指向的预测性块。求和器50通过从经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。在一些实施例中,运动估计单元42可相对于明度分量执行运动估计,且运动补偿单元44可针对色度分量和明度分量两者使用基于明度分量计算的运动向量。模式选择单元40可产生与视频块和视频切片相关联的语法元素供视频解码器30在解码视频切片的视频块时使用。
[0073]作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测或计算。明确地说,帧内预测单元46可以确定用来编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可以例如在分开的编码编次期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元46 (或在一些实例中为模式选择单元40)可以从所述测试模式中选择适当帧内预测模式来使用。
[0074]举例来说,帧内预测单元46可以使用速率失真分析计算针对各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可根据用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率-失真值。
[0075]在选择用于块的帧内预测模式后,帧内预测单元46可将指示用于块的所选帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示所选帧内预测模式的信息。视频编码器20在发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表和多个修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,和对最可能帧内预测模式、帧内预测模式索引表和修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。
[0076]视频编码器20可包含层间预测单元66。层间预测单元66经配置以使用SVC中可用的一或多个不同层(例如,基础或参考层)来预测当前块(例如,EL中的当前块)。此预测可被称作层间预测。层间预测单元66利用预测方法以减少层间冗余,进而提高译码效率且降低计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用基础层中的位于同一地点的块的重构来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。当基础及增强层具有不同的空间分辨率时,层间预测单元66可执行使用时间按比例缩放功能的空间运动向量按比例缩放及/或层间位置映射,如下文更详细地描述。
[0077]视频编码器20通过从经译码的原始视频块减去来自模式选择单元40的预测数据形成残余视频块。求和器50表示可执行此减法运算的组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。举例来说,还可使用离散正弦变换(DST)、小波变换、整数变换、子带变换或其它类型的变换。
[0078]变换处理单元52可将变换应用于残余块,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可随后执行对包含经量化的变换系数的矩阵的扫描。替代性地,熵编码单元56可执行扫描。
[0079]在量化后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。在由熵编码单元56进行熵译码之后,可以将经编码位流发射到另一装置(例如,视频解码器30),或者将所述经编码位流存档以用于稍后发射或检索。
[0080]逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块(例如,以供稍后用作参考块)。运动补偿单元44可通过将残余块加到参考帧存储器64的帧中的一者的预测块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于所重构的残余块以计算子整数像素值用于运动估计。求和器62将经重构残余块相加到由运动补偿单元44产生的运动补偿预测块以产生经重构视频块用于存储在参考帧存储器64中。经重构的视频块可由运动估计单元42及运动补偿单元44用作参考块以帧间译码后续视频帧中的块。
[0081]多层视频编码器
[0082]图2B为说明可实施根据本发明中描述的方面的技术的多层视频编码器21的实例的框图。视频编码器21可经配置以处理多层视频帧,例如,用于SHVC及多视图译码。此外,视频编码器21可经配置以执行本发明的技术中的任一者或全部。
[0083]视频编码器21包含视频编码器20A及视频编码器20B,其中的每一者可经配置为图2A的视频编码器20且可执行上文相对于视频编码器20所描述的功能。此外,如再使用参考数字所指示,视频编码器20A和20B可包含系统及子系统中的至少一些作为视频编码器20。虽然将视频编码器21说明为包含两个视频编码器20A和20B,但视频编码器21不被如此限制且可包含任何数目的视频编码器20层。在一些实施例中,视频编码器21可包含用于存取单元中的每一图片或帧的视频编码器20。例如,包含五个图片的存取单元可由包含五个编码器层的视频编码器处理或编码。在一些实施例中视频编码器21可包含比存取单元中的帧更多的编码器层。在一些此类情况下,当处理一些存取单元时,一些视频编码器层可能不在作用中。
[0084]除了视频编码器20A及20B之外,视频编码器21可包含再取样单元90。在一些情况下,再取样单元90可对所接收的视频帧的基础层进行上取样以例如创建增强层。再取样单元90可对与帧的所接收的基础层相关联的特定信息进行上取样,但不对其它信息进行上取样。例如,再取样单元90可对基础层的空间大小或像素数目进行上取样,但切片的数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收的视频及/或可为任选的。例如,在一些情况下,模式选择单元40可执行上取样。在一些实施例中,再取样单元90经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则及/或光栅扫描规则。虽然主要描述为对基础层或存取单元中的较低层进行上取样,但在一些情况下,再取样单元90可对层进行下取样。例如,如果在视频的流式传输期间减小带宽,那么可对帧进行下取样而不是上取样。再取样单元90还可进一步经配置以执行裁剪及/或填补操作。
[0085]再取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片缓冲器114接收图片或帧(或与图片相关联的图片信息)且对所述图片(或所接收的图片信息)进行上取样。随后可将经上取样图片提供到较高层编码器(例如,视频编码器20B)的模式选择单元40,所述较高层编码器经配置以编码与较低层编码器相同的存取单元中的图片。在一些情况下,较高层编码器为从较低层编码器移除的一个层。在其它情况下,在图2B的层O编码器与层I编码器之间可存在一或多个较高层编码器。
[0086]在一些情况下,可省略或绕过再取样单元90。在此些情况下,来自视频编码器20A的经解码图片缓冲器64的图片可直接提供到视频编码器20B的模式选择单元40,或至少不提供到再取样单元90。例如,如果提供到视频编码器20B的视频数据及来自视频编码器20A的经解码图片缓冲器64的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频编码器20B而没有任何再取样。
[0087]在一些实施例中,视频编码器21使用下取样单元94对将提供到较低层编码器的视频数据进行下取样,之后将所述视频数据提供到视频编码器20A。替代地,下取样单元94可为能够对视频数据进行上取样或下取样的再取样单元90。在又其它实施例中,可省略下取样单元94。
[0088]如图2B中所说明,视频编码器21可进一步包含多路复用器98或mux。多路复用器98可输出来自视频编码器21的组合位流。通过从视频编码器20A和20B中的每一者取得位流且使在给定时间输出哪一位流进行交替可产生组合位流。虽然在一些情况下,可一次一个位地交替来自两个(或在两个以上视频编码器层的情况下两个以上)位流的位,但在许多情况下,不同地组合所述位流。举例来说,可通过一次一个块地交替选定位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1比率的块来产生输出位流。举例来说,针对从视频编码器20A输出的每一块可从视频编码器20B输出两个块。在一些实施例中,可预编程来自多路复用器98的输出流。在其它实施例中,多路复用器98可基于从视频编码器21外部的系统(例如从源装置12上的处理器)接收的控制信号而组合来自视频编码器20A、20B的位流。可基于来自视频源18的视频的分辨率或位速率、基于信道16的带宽、基于与用户相关联的预订(例如,付费预订对免费预订)或基于用于确定从视频编码器21所要的分辨率输出的任何其它因素而产生控制信号。
[0089]视频解码器
[0090]图3A是说明可实施本发明中描述的方面的技术的视频解码器的实例的框图。视频解码器30可经配置以处理视频位流的单层(例如针对HEVC)。此外,视频解码器30可经配置以执行本发明的技术中的任一者或全部,包含但不限于上文和下文相对于图4到6更详细地描述的有条件地调用再取样过程和相关过程的方法。作为一个实例,层间预测单元75可经配置以执行本发明中描述的技术中的任一者或全部。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。
[0091]出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。图3A的解码器30说明编解码器的单层。然而,如将关于图3B进一步描述,可复制视频编码器30中的一些或全部以用于根据多层编解码器进行处理。
[0092]在图3A的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、层间预测单元75、逆量化单元76、逆变换单元78、参考帧存储器82及求和器80。在一些实施例中,运动补偿单元72和/或帧内预测单元74可经配置以执行层间预测,在此情况下可省略层间预测单元75。在一些实例中,视频解码器30可执行总体上与关于视频编码器20 (图2A)描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符而产生预测数据。参考帧存储器82可包含经解码图片缓冲器。经解码图片缓冲器是具有其一般含义的广义术语,且在一些实施例中涉及视频编解码器管理的参考帧的数据结构。
[0093]在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频块的视频块及相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级及/或视频块层级接收语法元素。
[0094]当视频切片经译码为经帧内译码⑴切片时,帧内预测单元74可以基于经发信的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(例如,B、P或GPB)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生所述预测性块。视频解码器30可以基于存储在参考帧存储器82中的参考图片使用默认构造技术构造参考帧列表一列表O和列表I。运动补偿单元72通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码当前视频块的预测性块。举例来说,运动补偿单元72使用一些接收到的语法元素确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
[0095]运动补偿单元72还可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据所接收语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。
[0096]视频解码器30还可包含层间预测单元75。层间预测单元75经配置以使用SVC中可用的一或多个不同层(例如,基础或参考层)预测当前块(例如,EL中的当前块)。此预测可被称作层间预测。层间预测单元75利用预测方法以减少层间冗余,借此改进译码效率且降低计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用基础层中的位于同一地点的块的重构来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。当基础及增强层具有不同的空间分辨率时,可通过层间预测单元75使用时间按比例缩放功能执行空间运动向量按比例缩放及/或层间位置映射,如下文更详细地描述。
[0097]逆量化单元76对提供于位流中且由熵解码单元70解码的经量化变换系数进行逆量化,例如,解量化。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算以确定应应用的量化程度及同样的逆量化程度的量化参数QPY。
[0098]逆变换单元78对变换系数应用逆变换,例如逆DCT、逆DST、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残余块。
[0099]在运动补偿单元72基于运动向量及其它语法元素产生了当前视频块的预测性块之后,视频解码器30通过将来自逆变换单元78的残余块与由运动补偿单元72产生的相对应的预测性块求和来形成经解码视频块。求和器90表示执行此求和运算的组件。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块效应假象。其它环路滤波器(译码环路中或译码环路之后)也可用于使像素转变变平滑或以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考帧存储器82中,参考帧存储器82存储用于后续运动补偿的参考图片。参考帧存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。
[0100]多层解码器
[0101]图3B是说明可实施根据本发明中描述的方面的技术的多层视频解码器31的实例的框图。视频解码器31可经配置以处理多层视频帧,例如,用于SHVC及多视图译码。此外,视频解码器31可经配置以执行本发明的技术中的任一者或全部。
[0102]视频解码器31包含视频解码器30A及视频解码器30B,其中的每一者可经配置为图3A的视频解码器30且可执行上文相对于视频解码器30所描述的功能。此外,如再使用参考数字所指示,视频解码器30A和30B可包含系统及子系统中的至少一些作为视频解码器30。虽然将视频解码器31说明为包含两个视频解码器30A和30B,但视频解码器31不被如此限制且可包含任何数目的视频解码器30层。在一些实施例中,视频解码器31可包含用于存取单元中的每一图片或帧的视频解码器30。例如,可由包含五个解码器层的视频解码器处理或解码包含五个图片的存取单元。在一些实施例中,视频解码器31可包含比存取单元中的帧更多的解码器层。在一些此类情况下,当处理一些存取单元时,一些视频解码器层可能不在作用中。
[0103]除了视频解码器30A及30B之外,视频解码器31还可包含上取样单元92。在一些实施例中,上取样单元92可对所接收的视频帧的基础层进行上取样以产生将添加到用于帧或存取单元的参考图片列表的增强层。此增强层可存储在参考帧存储器82中(例如,其经解码图片缓冲器等中)。在一些实施例中,上取样单元92可包含相对于图2A的再取样单元90所描述的实施例中的一些或全部。在一些实施例中,上取样单元92经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则及/或光栅扫描规则。在一些情况下,上取样单元92可为经配置以对所接收的视频帧的层进行上取样及/或下取样的再取样单元。
[0104]上取样单元92可经配置以从较低层解码器(例如,视频解码器30A)的经解码图片缓冲器82接收图片或帧(或与图片相关联的图片信息)且对所述图片(或所接收的图片信息)进行上取样。随后可将此经上取样的图片提供到较高层解码器(例如,视频解码器30B)的模式选择单元71,所述较高层解码器经配置以解码与较低层解码器相同的存取单元中的图片。在一些情况下,较高层解码器为从较低层解码器移除的一个层。在其它情况下,在图3B的层O解码器与层I解码器之间可存在一或多个较高层解码器。
[0105]在一些情况下,可省略或绕过上取样单元92。在此些情况下,来自视频解码器30A的经解码图片缓冲器82的图片可直接提供到视频解码器30B的模式选择单元71,或至少不提供到上取样单元92。例如,如果提供到视频解码器30B的视频数据及来自视频解码器30A的经解码图片缓冲器82的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频解码器30B而不需要上取样
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1