视频数据解码装置及解码方法

文档序号:9436455阅读:451来源:国知局
视频数据解码装置及解码方法
【技术领域】
[0001]本发明涉及视频数据编解码领域,具体地,是涉及视频数据的解码装置以及应用该解码装置实现的解码方法。
【背景技术】
[0002]随着视频编码、解码技术的发展,人们对视频图像的质量要求越来越高,不单对视频图像的清晰度提出了更高的要求,还对视频图像的编码、解码速度提出的很高的要求。当前主流的视频编解码协议虽然能够满足高清电视、视频监控、视频会议等场合的要求,但随着视频播放产业不断的发展、用户体验不断的提升,如4KX2K、8KX4K等要求高压缩、高码率、高保真等超高清视频的出现,原有的视频协议将越来越满足不了这些方面的要求。视频压缩协议标准HEVC (H.265协议)是新一代的视频编解码协议,其在保证图像质量的前提下,图像压缩率相对上一代的H.264协议提高了近50%,并且图像结构进行大量改动,扩大分块尺寸、加入并行处理方式,极大的满足了超高清视频图像处理的要求。
[0003]在H.265协议中,将视频划分成多个片段(slice),通常每一片段包含多个编码树单元(CTU,coding tree unit),视频解码就是对每一个编码树单元进行解析,获得需要输出的图像数据。H.265协议提出了 WPP (wavefront parallel processing)的概念,该方法主要针对视频片段中编码树单元的并行处理,提高图像编解码速度以及图像压缩率。
[0004]对于一个具有多行多列的视频片段,在WPP模式下,在当前的一行编码树单元行进行完两个编码树单元的解码时便启动下一编码树单元行的编码树单元的解码,以此类推,逐渐开始下一行编码树单元的解码,从而实现图像的并行编解码处理。例如,如图1所示,当第一行的编码树单元解码到CTU16时,第二行的编码树单元应该解码到CTU24,而第三行的编码树单元应该解码到CTU32,此时,第四行的编码树单元应该开始解码该行的第一个编码树单元CTU40。
[0005]H.265协议米用一种名为自适应二元算术编码(CABAC,Context-based AdaptiveBinary Arithmetic Coding)的算术编码方法。WPP模式下进行CABAC解码时,每一行图像解码的开始都要根据上一行第二个编码树单元(一行只有一个编码树单元的图像片段除外)的可用性以及是否遇到视频片段起始位置而进行对应的上下文变量等数据的获取,也就是重新初始化或直接复制,以便视频解码过程中所包含的算术解码可以正确的进行下去。
[0006]现有的视频解码芯片通常包括固化的程序,这包括用于对视频进行熵解码的熵解码单元,如图2所示,现有的熵解码单元包括该语法元素状态控制模块11、上下文变量索引计算模块12、算术解码模块13以及逆二进制化模块14。其中语法元素状态控制模块11通过接收外部控制信号以及上下文变量索引计算模块12、算术解码模块13、逆二进制化模块14反馈回来的信息,经过相关运算后给出语法元素解析的状态与跳变指示。上下文变量索引计算模块12在语法元素解析状态控制模块11的控制下,完成对上下文数据的初始化、更新工作,同时完成熵解码过程中语法元素上下文索引的计算。算术解码模块13主要完成原始码流至语法元素二进制码串的解析,以二进制bin值的方式将解析结果输送至逆二进制化模块14。逆二进制化模块14接收算术解码模块13给出的bin值,实现语法元素的二进制到十进制的解析。
[0007]由于解码过程中生成大量的上下文数据,这些数据通常存储在静态随机存储器(SRAM)中。由于现在的熵解码单元通常只将上下文数据存储在一个静态随机存储器中,静态随机存储器既需要存储更新的上下文数据,又需要将作为参考编码树单元的上下文数据复制以为后续的解码工作保存所需要的上下文数据。由于使用一个静态随机存储器进行数据的更新与缓存、数据复制时,需要在不同的地址空间进行,解码过程中不能保证数据更新、复制的同时进行,影响视频的解码速度,导致视频图像播放缓慢。

【发明内容】

[0008]本发明的主要目的是提供一种提高视频图像解码速度的视频解码装置。
[0009]本发明的另一目的是提供一种提高视频解码效率的视频解码方法。
[0010]为了实现上述的主要目的,本发明提供的视频解码装置包括熵解码单元,该熵解码单元包括语接收外部信号并输出语法元素解析的状态与跳变信息的法元素状态控制模块、接收语法元素状态控制模块输出的信息的上下文变量索引计算模块,上下文变量索引计算模块还初始化以及更新上下文数据,计算上下文数据的索引信息,熵解码单元还包括算术解码模块,将原始视频码流数据解析成语法元素二进制码串数据,以及逆二进制化模块,将算术解码模块输出的二进制码串数据转换成十进制数据,其中,视频数据解码装置还包括WPP状态控制模块,根据当前解码的编码树单元的语法结构选择工作状态,还包括存储器选择模块,根据WPP状态控制模块输出的信息控制存储器的工作状态,存储器至少包括一个缓冲存储器以及二个更新存储器,在当前解码的一行编码树单元的列数为三列以上时,将当前解码的编码树单元的上下文数据写入缓冲存储器以及一个更新存储器中,在下一行编码树单元开始解析时判断下一行编码树单元的第一个编码树单元所参考的编码树单元的上下文数据可用时,将缓冲存储器的数据复制到另一更新存储器中。
[0011]由上述方案可见,视频解码装置使用三个存储器来存储解码过程中产生的数据,其中一个为缓冲存储器,两个为更新存储器,在解码过程中将更新的数据写入一个更新存储器以及缓冲存储器中,并将缓冲存储器的数据复制至另一个更新存储器,这样相当于两个更新存储器分别接收更新的上下文数据以及接收复制的数据,避免同一存储器既需要接收更新的上下文数据,又需要接收复制的数据,进而提高解码的效率,确保视频播放的流畅性。
[0012]—个优选的方案是,存储器选择模块还用于在下一行编码树单元开始解析时判断下一行编码树单元的第一个编码树单元所参考的编码树单元的上下文数据不可用时,继续使用原先的更新存储器更新编码树单元的上下文数据。
[0013]由此可见,在参考的编码树单元的上下文数据不用时继续使用原先的更新存储器更新编码树单元的上下文数据,可以避免数据的复制操作以及静态随机存储器使用的切换,降低了视频解码装置的功耗并提高硬件的使用效率。
[0014]进一步的方案是,存储器选择模块还用于将当前解码的编码树单元的上下文数据写入缓冲存储器以及一个更新存储器的同时,还将上下文数据写入另一更新存储器。
[0015]可见,在视频初始解码阶段,使用三个缓冲器同时写入更新的上下文数据,可以减小数据复制的操作,提高视频解码的效率。
[0016]更进一步的方案是,存储器选择模块还用于在当前解码的一行编码树单元的列数小于三列时,使用一个更新存储器存储当前解码的编码树单元的上下文数据。
[0017]由此可见,在当前编码树单元所在行的数量小于三个时,当前更新存储器所存储的上下文数据直接可以作为下一行编码树单元使用,因此无需进行上下文数据的复制,只需要使用一个更新存储器存储更新的上下文数据即可。
[0018]进一步的方案是,WPP状态控制模块记录至少三种工作状态,存储器选择模块根据WPP状态控制模块输出的工作状态的信息控制缓冲存储器及更新存储器的工作状态切换。
[0019]可见,由WPP状态控制模块记录多种不同的工作状态,多种工作状态下缓冲存储器以及更新存储器分别工作在不同状态下,通过切换多种工作状态可以方便地实现对三个存储器的工作状态的控制,满足存储器工作状态快速切换的要求,提高视频解码的速度。
[0020]为实现上述的另一目的,本发明提供的视频解码方法包括熵解码步骤:接收外部信号并输出语法元素解析的状态与跳变信息,同时初始化并更新需要解码的编码树单元的上下文数据,计算上下文数据的索引信息,将原始视频码流数据解析成语法元素二进制码串数据,将算术解码模块输出的二进制码串数据转换成十进制数据,还包括存储器选择步骤:在执行熵解码步骤时,使用至少一个缓冲存储器以及二个更新存储器存储上下文数据,在当前解码的一行编码树单元的列数为三列以上时,将当前解码的编码树单元的上下文数据写入缓冲存储器以及一个更新存储器中,在下一行编码树单元开始解析时判断下一行编码树单元的第一个编码树单元所参考的编码树单元的上下文数据可用时,将缓冲存储器的数据复制到另一更新存储器中。
[0021]由上
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1