CN103379331B - 一种视频码流编解码方法和装置 - Google Patents

一种视频码流编解码方法和装置 Download PDF

Info

Publication number
CN103379331B
CN103379331B CN201210133025.XA CN201210133025A CN103379331B CN 103379331 B CN103379331 B CN 103379331B CN 201210133025 A CN201210133025 A CN 201210133025A CN 103379331 B CN103379331 B CN 103379331B
Authority
CN
China
Prior art keywords
unit
coding
entropy
information
entropy decoding
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.)
Active
Application number
CN201210133025.XA
Other languages
English (en)
Other versions
CN103379331A (zh
Inventor
梁立伟
刘强
李明
林聚财
杨巨前
王宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
Nanjing ZTE New Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201210133025.XA priority Critical patent/CN103379331B/zh
Publication of CN103379331A publication Critical patent/CN103379331A/zh
Application granted granted Critical
Publication of CN103379331B publication Critical patent/CN103379331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频码流编解码方法和装置,能提高编码器的性能,降低其硬件的开销。所述编码方法包括:熵编码功能模块按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码,在进行熵编码的过程中,每熵编码完成一个编码单元的信息后,判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,重置本熵编码功能模块。所述编码器包括熵编码功能模块,所述熵编码功能模块包括第一熵编码单元、判断单元、第二熵编码单元、重置单元。采用本发明实施例提出的视频流编码方法和装置,有利于提高编码器的性能,降低硬件的开销。

Description

一种视频码流编解码方法和装置
技术领域
本发明涉及视频编解码领域,具体涉及一种视频码流的编解码方法和装置。
背景技术
语法结构是由若干个语法元素按照视频编解码标准所描述的顺序进行组织,生成指定的视频码流(syntax structure:Zero or more syntax elements present togetherin the bitstream in a specified order),其中语法元素表示码流中的各种编码信息(syntax element:An element of data represented in the bitstream)。片(Slice)是编码图像的一种划分,它包含了按编码单元(该编码单元可以是H.264等标准中的MB(MacroBlock)或者HEVC(High efficiency video coding,高效率视频编码)标准中的CU(Coding Unit)或LCU(Large Coding Unit))扫描顺序的若干个编码单元。片的语法结构是视频编解码标准中最基本的语法结构,分为两大部分,分别为片头(Slice Header)和片数据(Slice Data)。片头的语法结构规定了片内所有编码单元编解码过程中所需使用的公共信息,如标志位(flags)、片类型、片地址等语法元素的位置和解析方法。片数据的语法结构规定了片中所有的编码单元编码信息的组织与解析方法。
编码单元的语法结构规定视频编解码标准中各个功能模块所产生的编码信息的组织与编码的方法。同时,编码单元的语法结构也影响到视频算法专用集成电路(ASIC,Application Specific Integrated Circuit)的设计,从而对视频算法ASIC的性能产生很大的影响。
专用集成电路(ASIC)实现视频编码器,一般都是编码器中不同的功能模块对多个编码单元进行并行的流水线操作,按编码单元进行实时编解码。功能模块划分到哪一级的流水线中,一般与功能模块之间的依赖关系以及复杂度相关,一般情况下各级流水线处理编码单元数据的时间相当。如图1所示一个H.264编码器的结构图,该编码器由4个功能模块组成被划分为3级(stage)流水线结构。图中包括预测(Prediction)模块、残差重建模块(包括残差计算Diff、变换、量化和重建(Recon))、滤波模块(如去块效应滤波(DF,DeblockFilter))、熵编码模块(CABAC)、残差重建模块将残差信息(mb infos)输入熵编码模块,将重建信息(rcn)输入去块效应滤波模块。
传统熵编码功能模块处于编码器的最后一级流水线中,接收前面功能模块传递过来的待编码的编码单元的信息(例如图1中的mb infos),并进行编码。在有的标准里面,由于某个功能模块与熵编码功能模块没有数据依赖关系(例如H.264中的DF模块),所以可以与熵编码模块同处流水线最后一级,两者可以并行的进行。但是在有的视频标准中,熵编码功能模块的输入不仅有从其前一级功能模块传递下来待编码的信息,同时也有从与其同级的流水线功能模块传递过来待编码的信息,这时熵编码模块的处理顺序决定了这个功能模块能否与熵编码功能模块处在流水线的同一级。
当有多级滤波处理时,例如滤波模块包括:DF子模块、SAO(Sample AdaptiveOffset,样本点自适应滤波)子模块和ALF(Adaptive loop filter,自适应环路滤波)子模块,如图2所示,在HEVC标准的熵编码功能模块CABAC需要编码几个功能模块的信息,包括变换量化后的coding_tree infos、SAO滤波后的sao info,可能还包括ALF滤波后的alf info等。假如熵编码功能模块需要首先编码滤波后的信息,那么熵编码功能模块与滤波模块就只能是串行的,熵编码功能模块需要等待滤波模块处理完成后,熵编码功能模块才能工作。此时只能将熵编码功能模块单独的放在最后一级,熵编码功能模块之前就要增加相应的缓冲,以缓冲前一级需要编码的编码单元信息,如图3所示。因此在这种情况下,如何设计一种合理的语法结构,以提高编码器的性能,并降低其片上内存的开销就是要解决的问题。
发明内容
本发明所要解决的技术问题是提供一种视频码流编解码方法和装置,能提高编解码器的性能。
为解决上述技术问题,本发明提供了一种视频码流编码方法,包括:
熵编码功能模块按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码,在进行熵编码的过程中,每熵编码完成一个编码单元的信息后,判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,重置本熵编码功能模块。
进一步地,所述方法还包括,每熵编码完成一个编码单元的信息后,判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息,继续熵编码下一编码单元的信息。
进一步地,所述判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,重置本熵编码功能模块,包括:
判断当前编码单元如果为预设单位中的最后一个,则在码流中写入第一状态标记,对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,基于所述状态标记重置熵编码功能模块。
进一步地,所述判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息,继续熵编码下一编码单元的信息,包括:
判断当前编码单元如果不为预设单位中的最后一个,则判断当前编码单元所在最大编码单元是否熵编码完毕,如果熵编码完毕,则对所述最大编码单元对应的滤波信息进行熵编码后,进行下一最大编码单元内各编码单元的信息的熵编码,如果熵编码未完毕,则继续熵编码当前最大编码单元中其他编码单元的信息。
进一步地,采用以下方式判断是否达到预设单位的限制:判断已经熵编码的编码单元数量或尺寸是否达到一个预设单位。
进一步地,所述预设单位为片。
为解决上述技术问题,本发明还提供了一种视频码流解码方法,包括:
在进行熵解码的过程中,每熵解码完成一个编码单元的信息后,判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置本熵解码功能模块。
进一步地,所述方法还包括,每熵解码完成一个编码单元的信息后,判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息,继续熵解码下一编码单元的信息。
进一步地,所述判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置本熵解码功能模块,包括:
根据码流中的第一状态标记判断当前编码单元为预设单位中的最后一个,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,基于所述状态标记重置熵解码功能模块。
进一步地,所述判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息,继续熵解码下一编码单元的信息,包括:
根据码流中的第一状态标记判断当前编码单元如果不为预设单位中的最后一个,则判断当前编码单元所在最大编码单元是否熵解码完毕,如果熵解码完毕,则对所述最大编码单元对应的滤波信息进行熵解码后,进行下一最大编码单元内各编码单元的信息的熵解码,如果熵解码未完毕,则继续熵解码当前最大编码单元中其他编码单元的信息。
进一步地,所述预设单位为片。
为解决上述技术问题,本发明还提供了一种视频码流编码器,包括熵编码功能模块,其特征在于,所述熵编码功能模块包括第一熵编码单元、判断单元、第二熵编码单元、重置单元,其中:
所述第一熵编码单元,用于按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码;
所述判断单元,用于在所述第一熵编码单元进行熵编码的过程中,在第一熵编码单元每熵编码完成一个编码单元的信息后,判断是否达到预设单位的限制;
所述第二熵编码单元,用于在所述判断单元判断达到预设单元的限制时,对当前编码单元所在最大编码单元对应的滤波信息进行熵编码;
所述重置单元,用于在所述第二熵编码单元对所述滤波信息进行熵编码后,重置所述熵编码功能模块。
进一步地,所述第二熵编码单元还用于在所述判断单元判断未达到预设单位的限制时,根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息。
进一步地,所述判断单元是用于采用以下方式判断是否达到预设单位的限制:判断当前编码单元是否为预设单位中的最后一个,如果是,则在码流中写入第一状态标记;
所述重置单元是用于基于所述第一状态标记重置熵编码功能模块。
进一步地,所述第二熵编码单元是用于采用以下方式根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息:所述第二熵编码单元在当前编码单元所在最大编码单元熵编码完毕后,对所述最大编码单元对应的滤波信息进行熵编码。
进一步地,所述判断单元是用于采用以下方式判断是否达到预设单位的限制:判断已经熵编码的编码单元数量或尺寸是否达到一个预设单位。
进一步地,所述预设单位为片。
为解决上述技术问题,本发明还提供了一种视频码流熵解码器,包括熵解码功能模块,其特征在于,所述熵解码功能模块包括第一熵解码单元、判断单元、第二熵解码单元和重置单元,其中:
所述第一熵解码单元,用于熵解码编码单元的信息;
所述判断单元,用于在所述第一熵解码单元每熵解码完一个编码单元的信息后,判断是否达到预设单位的限制;
所述第二熵解码单元,用于在所述判断单元判断达到预设单位的限制时,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码;
所述重置单元,用于对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置本熵解码功能模块。
进一步地,所述第二熵解码单元还用于在所述判断单元判断未达到预设单位的限制时,根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息。
进一步地,所述判断单元是用于采用以下方式判断是否达到预设单位的限制:根据码流中的第一状态标记判断当前编码单元是否为预设单位中的最后一个;
所述第二熵解码单元用于,在所述判断单元判断当前编码单元为预设单位中的最后一个时,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码;
所述重置单元是用于基于所述第一状态标记重置熵解码功能模块。
进一步地,所述第二熵解码单元是用于采用以下方式根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息:
所述第二熵解码单元在当前编码单元所在最大编码单元熵解码完毕后,对所述最大编码单元对应的滤波信息进行熵解码。
采用本发明实施例提出的视频流编解码方法和装置,通过先熵编码残差信息再编码滤波信息,有利于编码器功能模块并行,减少流水线级数,减少缓冲,从而减少芯片面积,另外还可以降低延时,提高编解码器的性能,降低硬件的开销。
附图说明
图1是一种H.264编码器功能模块划分的示意图;
图2是一种HEVC编码器功能模块划分的示意图;
图3是先编码滤波信息引起流水线级数及缓冲增加的示意图;
图4是本发明实施例3编码装置结构示意图;
图5是本发明实施例4解码装置结构示意图;
图6是应用示例1中编码方法流程图;
图7是应用示例2中解码方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例1
本实施例说明一种编码方法,包括:
熵编码功能模块按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码,在进行熵编码的过程中,每熵编码完成一个编码单元的信息后,判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,重置本熵编码功能模块。
在每熵编码完成一个编码单元的信息后,判断如果未达到预设单位的限制时,则根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息,继续熵编码下一编码单元的信息。
具体地,在判断达到预设单位的限制时上述流程可采用以下方式实现:判断当前编码单元如果为预设单位中的最后一个,则在码流中写入第一状态标记,对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,基于该状态标记重置熵编码功能模块。基于该状态标记重置熵编码功能单元是指,如果判断该第一状态标记表示当前编码单元为预设单位中的最后一个,则重置熵编码功能模块。
具体地,在判断未达到预设单位的限制时上述流程可采用以下方式实现:根据码流中的第一状态标记判断当前编码单元如果不为预设单位中的最后一个,则进一步判断当前编码单元所在最大编码单元是否熵编码完毕,如果熵编码完毕,则对所述最大编码单元对应的滤波信息进行熵编码后,进行下一最大编码单元内各编码单元的信息的熵编码,如果熵编码未完毕,则继续熵编码当前最大编码单元中其他编码单元的信息。
是否达到预设单位的限制设置:已经熵编码的编码单元数量或尺寸是否达到一个预设单位。优选地,该预设单位为片。
实施例2
本实施例说明一种解码方法,包括:
在进行熵解码的过程中,每熵解码完成一个编码单元的信息后,判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置本熵解码功能模块。
在每熵解码完成一个编码单元的信息后,判断如果未达到预设单位的限制时,则根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息,然后继续熵解码下一编码单元的信息。
具体地,在判断达到预设单位的限制时上述流程可采用以下方式实现:根据码流中的第一状态标记判断当前编码单元为预设单位中的最后一个,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,基于所述状态标记重置熵解码功能模块。
具体地,在判断没有达到预设单位的限制时上述流程可采用以下方式实现:根据码流中的第一状态标记判断当前编码单元如果不为预设单位中的最后一个,则判断当前编码单元所在最大编码单元是否熵解码完毕,如果熵解码完毕,则对所述最大编码单元对应的滤波信息进行熵解码后,进行下一最大编码单元内各编码单元的信息的熵解码,如果熵解码未完毕,则继续熵解码当前最大编码单元中其他编码单元的信息。
实施例3
本实施例介绍实现实施例1编码方法的编码装置,该编码装置包括熵编码功能模块,如图4所示,熵编码功能模块包括第一熵编码单元、第一判断单元、第二熵编码单元、第一重置单元,其中:
该第一熵编码单元,用于按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码;
该第一判断单元,用于在所述第一熵编码单元进行熵编码的过程中,在第一熵编码单元每熵编码完成一个编码单元的信息后,判断是否达到预设单位的限制;
该第二熵编码单元,用于在所述第一判断单元判断达到预设单元的限制时,对当前编码单元所在最大编码单元对应的滤波信息进行熵编码;
该第一重置单元,用于在所述第二熵编码单元对所述滤波信息进行熵编码后,重置所述熵编码功能模块。
优选地,该第二熵编码单元还用于在所述第一判断单元判断未达到预设单位的限制时,根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息。具体地,第二熵编码单元在当前编码单元所在最大编码单元熵编码完毕后,才对所述最大编码单元对应的滤波信息进行熵编码。
具体地,该第一判断单元是用于采用以下方式判断是否达到预设单位的限制:判断当前编码单元是否为预设单位中的最后一个,如果是,则在码流中写入第一状态标记;该第一重置单元基于该第一状态标记重置熵编码功能模块。
实施例4
本实施例介绍实现实施例2解码方法的解码装置,该解码装置包括熵解码功能模块,如图5所示,熵解码功能模块包括第一熵解码单元、第二判断单元、第二熵解码单元和第二重置单元,其中:
该第一熵解码单元,用于熵解码编码单元的信息;
该第二判断单元,用于在所述第一熵解码单元每熵解码完一个编码单元的信息后,判断是否达到预设单位的限制;
该第二熵解码单元,用于在所述第二判断单元判断达到预设单位的限制时,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码;
该第二重置单元,用于对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置本熵解码功能模块。
优选地,第二熵解码单元还用于在所述第二判断单元判断未达到预设单位的限制时,根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息。具体地,第二熵解码单元在当前编码单元所在最大编码单元熵解码完毕后,才对所述最大编码单元对应的滤波信息进行熵解码。
具体地,上述第二判断单元是用于采用以下方式判断是否达到预设单位的限制:根据码流中的第一状态标记判断当前编码单元是否为预设单位中的最后一个;所述第二熵解码单元用于,在所述判断单元判断当前编码单元为预设单位中的最后一个时,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码;该第二重置单元是用于基于所述第一状态标记重置熵解码功能模块。
下面结合附图给出应用示例,对上述实施例作进一步的详细描述。
图2是一种HEVC(High efficiency video coding)高级视频编解码标准编码器结构示意图,其中预测模块(Prediction)包括帧内预测、帧间预测等功能模块,残差重建模块(Diff/Recon)包括残差计算、变换量化及重建等功能模块,CABAC是熵编码功能模块,DF(Deblock Filter)、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)分别是去块效应滤波、样本点自适应滤波和自适应环内滤波功能模块。
应用示例1
编码端的处理过程如图6所示,包括:
步骤一:编码器各功能模块按照HEVC视频编解码标准对编码单元依次进行处理,其中,熵编码功能模块按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码;
步骤二:判断当前编码单元是否达到一个片(以预设单位为一个片为例)的限制时,如果是,执行步骤三,否则,执行步骤五;
步骤三,在码流中写入编码单元结束标志(last_CU_in_slice_flag)的使能状态(例如为1),表示当前片中包含的编码单元已经熵编码结束,当前编码单元为最后一个,执行步骤四;
步骤四,熵编码当前编码单元所在最大编码单元对应的滤波信息,如表1中的SAO和/或ALF信息,重置熵编码功能模块,结束;
具体地,在熵编码完滤波信息后,根据编码单元结束标志的值直接或间接得到片数据结束标志(end_of_slice_flag)的值,如表1所示,该(end_of_slice_flag)标志表示当前片数据结束,此时可以重置熵编码模块;
步骤五,写入编码单元结束标志(last_CU_in_slice_flag)的不使能状态(例如为0),表示当前片中包含的编码单元尚未结束;
步骤六,判断当前编码单元所在的最大编码单元是否熵编码完毕,如果完毕,执行步骤七,否则执行步骤八;
步骤七,对当前编码单元所在最大编码单元对应的滤波信息(如表1中的SAO和/或ALF信息)进行熵编码,熵编码功能模块进行下一最大编码单元中各编码单元的信息的熵编码;
步骤八,熵编码功能模块继续熵编码当前最大编码单元中其他编码单元的信息;
编码器的片数据语法结构如表1所示。
在本示例中,编码单元结束标志即状态标记在当前编码单元达到片限制时和未达到片限制时都被标记,在其他实施例中,也可仅在达到片限制时进行标记。
应用示例2
解码端处理过程如图7所示,包括:
第一步:解码器各功能模块按照HEVC视频编解码标准对编码单元依次进行解码处理;
第二步:按照表1所示的片数据语法结构进行熵解码,先熵解码当前编码单元信息coding_tree;
第三步:解码得到编码单元结束标志(last_CU_in_slice_flag);
第四步:根据结束状态的使能状态判断当前编码单元是否达到一个片,如果是执行第五步,否则执行第六步;
第五步:编码单元结束标志为使能状态(例如为1),表示当前片中包含的编码单元已经结束,当前编码单元为最后一个,则熵解码当前编码单元所在最大编码单元对应的滤波信息,如表1中的SAO和/或ALF信息,重置熵解码功能模块;
根据步骤三中解码得到的编码单元结束标志last_CU_in_slice_flag的值直接或间接得到当前片数据结束标志end_of_slice_flag的值,该end_of_slice_flag标志表示当前片数据结束,可以重置熵解码模块,之后再解码下一个编码单元或进行图像输出。
第六步,编码单元结束标志为不使能标志(例如为0),表示当前片中包含的编码单元尚未结束,如表2所示,判断当前编码单元所在的最大编码单元是否熵解码完毕,如果是执行第七步,否则执行第八步;
第七步:对当前编码单元所在最大编码单元对应的滤波信息进行熵解码,熵解码功能模块进行下一最大编码单元中各编码单元的信息的熵解码;
第八步:熵解码功能模块继续熵解码当前最大编码单元中其他编码单元的信息。
解码器中其余的语法结构按照HEVC视频编解码标准生成。
表1 片数据(Slice Data)的语法结构
表2 CU层(Coding_tree)的语法结构
本发明利用了ASIC设计中编码器内部功能模块并行处理的特点,提出了一种新的视频码流编码及解码方法,该方法能够在不影响视频编码压缩率的情况下,提高了编码器的并行度,并降低ASIC上编码器对于缓存的需求,从而提升了编码器的效率和性能。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (14)

1.一种视频码流编码方法,包括:
熵编码功能模块按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码,在进行熵编码的过程中,每熵编码完成一个编码单元的信息后,判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,重置本熵编码功能模块;
所述方法还包括,每熵编码完成一个编码单元的信息后,判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息,继续熵编码下一编码单元的信息;
所述判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,重置本熵编码功能模块,包括:
判断当前编码单元如果为预设单位中的最后一个,则在码流中写入第一状态标记,对当前编码单元所在最大编码单元对应的滤波信息进行熵编码后,基于所述第一状态标记重置熵编码功能模块。
2.如权利要求1所述的方法,其特征在于,
所述判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息,继续熵编码下一编码单元的信息,包括:
判断当前编码单元如果不为预设单位中的最后一个,则判断当前编码单元所在最大编码单元是否熵编码完毕,如果熵编码完毕,则对所述最大编码单元对应的滤波信息进行熵编码后,进行下一最大编码单元内各编码单元的信息的熵编码,如果熵编码未完毕,则继续熵编码当前最大编码单元中其他编码单元的信息。
3.如权利要求1-2中任一权利要求所述的方法,其特征在于,
采用以下方式判断是否达到预设单位的限制:判断已经熵编码的编码单元数量或尺寸是否达到一个预设单位。
4.如权利要求3所述的方法,其特征在于,
所述预设单位为片。
5.一种视频码流解码方法,包括:
在进行熵解码的过程中,每熵解码完成一个编码单元的信息后,判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置熵解码功能模块;
所述方法还包括,每熵解码完成一个编码单元的信息后,判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息,继续熵解码下一编码单元的信息;
所述判断如果达到预设单位的限制,则对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置本熵解码功能模块,包括:
根据码流中的第一状态标记判断当前编码单元为预设单位中的最后一个,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,基于所述第一状态标记重置熵解码功能模块。
6.如权利要求5所述的方法,其特征在于,
所述判断如果未达到预设单位的限制,则根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息,继续熵解码下一编码单元的信息,包括:
根据码流中的第一状态标记判断当前编码单元如果不为预设单位中的最后一个,则判断当前编码单元所在最大编码单元是否熵解码完毕,如果熵解码完毕,则对所述最大编码单元对应的滤波信息进行熵解码后,进行下一最大编码单元内各编码单元的信息的熵解码,如果熵解码未完毕,则继续熵解码当前最大编码单元中其他编码单元的信息。
7.如权利要求5-6中任一权利要求所述的方法,其特征在于,
所述预设单位为片。
8.一种视频码流编码器,包括熵编码功能模块,其特征在于,所述熵编码功能模块包括第一熵编码单元、判断单元、第二熵编码单元、重置单元,其中:
所述第一熵编码单元,用于按照编码器中其他功能模块处理编码单元的先后顺序,对其他功能模块处理编码单元产生的需要熵编码的信息进行熵编码;
所述判断单元,用于在所述第一熵编码单元进行熵编码的过程中,在第一熵编码单元每熵编码完成一个编码单元的信息后,判断是否达到预设单位的限制;
所述第二熵编码单元,用于在所述判断单元判断达到预设单元的限制时,对当前编码单元所在最大编码单元对应的滤波信息进行熵编码;
所述重置单元,用于在所述第二熵编码单元对所述滤波信息进行熵编码后,重置所述熵编码功能模块;
所述第二熵编码单元还用于在所述判断单元判断未达到预设单位的限制时,根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息;
所述判断单元是用于采用以下方式判断是否达到预设单位的限制:判断当前编码单元是否为预设单位中的最后一个,如果是,则在码流中写入第一状态标记;
所述重置单元是用于基于所述第一状态标记重置熵编码功能模块。
9.如权利要求8所述的编码器,其特征在于,
所述第二熵编码单元是用于采用以下方式根据当前编码单元所在最大编码单元是否熵编码完毕确定是否熵编码所述最大编码单元对应的滤波信息:所述第二熵编码单元在当前编码单元所在最大编码单元熵编码完毕后,对所述最大编码单元对应的滤波信息进行熵编码。
10.如权利要求8-9中任一权利要求所述的编码器,其特征在于,
所述判断单元是用于采用以下方式判断是否达到预设单位的限制:判断已经熵编码的编码单元数量或尺寸是否达到一个预设单位。
11.如权利要求10所述的编码器,其特征在于,
所述预设单位为片。
12.一种视频码流解码器,包括熵解码功能模块,其特征在于,所述熵解码功能模块包括第一熵解码单元、判断单元、第二熵解码单元和重置单元,其中:
所述第一熵解码单元,用于熵解码编码单元的信息;
所述判断单元,用于在所述第一熵解码单元每熵解码完一个编码单元的信息后,判断是否达到预设单位的限制;
所述第二熵解码单元,用于在所述判断单元判断达到预设单位的限制时,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码;
所述重置单元,用于对当前编码单元所在最大编码单元对应的滤波信息进行熵解码后,重置本熵解码功能模块;
所述第二熵解码单元还用于在所述判断单元判断未达到预设单位的限制时,根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息;
所述判断单元是用于采用以下方式判断是否达到预设单位的限制:根据码流中的第一状态标记判断当前编码单元是否为预设单位中的最后一个;
所述第二熵解码单元用于,在所述判断单元判断当前编码单元为预设单位中的最后一个时,对当前编码单元所在最大编码单元对应的滤波信息进行熵解码;
所述重置单元是用于基于所述第一状态标记重置熵解码功能模块。
13.如权利要求12所述的解码器,其特征在于,
所述第二熵解码单元是用于采用以下方式根据当前编码单元所在最大编码单元是否熵解码完毕确定是否熵解码所述最大编码单元对应的滤波信息:
所述第二熵解码单元在当前编码单元所在最大编码单元熵解码完毕后,对所述最大编码单元对应的滤波信息进行熵解码。
14.如权利要求12-13中任一权利要求所述的解码器,其特征在于,
所述预设单位为片。
CN201210133025.XA 2012-04-28 2012-04-28 一种视频码流编解码方法和装置 Active CN103379331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210133025.XA CN103379331B (zh) 2012-04-28 2012-04-28 一种视频码流编解码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210133025.XA CN103379331B (zh) 2012-04-28 2012-04-28 一种视频码流编解码方法和装置

Publications (2)

Publication Number Publication Date
CN103379331A CN103379331A (zh) 2013-10-30
CN103379331B true CN103379331B (zh) 2018-10-23

Family

ID=49463826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210133025.XA Active CN103379331B (zh) 2012-04-28 2012-04-28 一种视频码流编解码方法和装置

Country Status (1)

Country Link
CN (1) CN103379331B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309405A (zh) * 2007-05-14 2008-11-19 华为技术有限公司 参考数据载入的方法及装置
CN101309420A (zh) * 2007-05-17 2008-11-19 索尼株式会社 信息处理设备和方法以及信息处理***
WO2011140211A2 (en) * 2010-05-04 2011-11-10 Texas Instruments Incorporated Coding unit quantization parameters in video coding
CN102388610A (zh) * 2009-02-09 2012-03-21 三星电子株式会社 使用低复杂度频率变换的视频编码方法和设备以及视频解码方法和设备
CN102577383A (zh) * 2009-10-23 2012-07-11 三星电子株式会社 基于编码单元的分层结构用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101198051B (zh) * 2006-12-07 2011-10-05 深圳艾科创新微电子有限公司 基于h.264的熵解码器的实现方法及装置
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8611435B2 (en) * 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
CN101707716B (zh) * 2009-11-19 2011-05-11 清华大学 视频编码器和编码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309405A (zh) * 2007-05-14 2008-11-19 华为技术有限公司 参考数据载入的方法及装置
CN101309420A (zh) * 2007-05-17 2008-11-19 索尼株式会社 信息处理设备和方法以及信息处理***
CN102388610A (zh) * 2009-02-09 2012-03-21 三星电子株式会社 使用低复杂度频率变换的视频编码方法和设备以及视频解码方法和设备
CN102577383A (zh) * 2009-10-23 2012-07-11 三星电子株式会社 基于编码单元的分层结构用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
WO2011140211A2 (en) * 2010-05-04 2011-11-10 Texas Instruments Incorporated Coding unit quantization parameters in video coding

Also Published As

Publication number Publication date
CN103379331A (zh) 2013-10-30

Similar Documents

Publication Publication Date Title
CN103098468B (zh) 使用基于块的混合分辨率数据修剪的视频编码
CN106027065B (zh) 解码装置和解码方法
CN104509112B (zh) 视频解码方法和使用其的装置
CN105850121B (zh) 用于基于块的自适应环路滤波的滤波器控制的方法
RU2019137625A (ru) Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения
CN103262534B (zh) 改进熵编码和解码的方法及装置
CN103997650B (zh) 一种视频解码的方法和视频解码器
CN103227917B (zh) 解码方法和装置
CN104683805B (zh) 图像编码、解码方法及装置
CN110225354A (zh) 用于高性能视频编码中的无损编码模式的环内滤波的装置
TW200841609A (en) CABAC decoding method
CN101031086A (zh) 视频信息编码方法和视频信息解码方法
CN107071485A (zh) 具有样本自适应偏移处理的视频编码方法及装置
CN103051892B (zh) 内嵌式回路滤波方法以及内嵌式回路滤波装置
CN109743574B (zh) Hevc中的系数编码调谐
CN107105266A (zh) 一种png图像的解码方法、装置及***
CN103379319B (zh) 一种滤波方法、滤波器及包含该滤波器的编码器和解码器
CN108449602A (zh) 编码块旗标的编码及视频比特流的解码方法与装置
CN105163126B (zh) 一种基于hevc协议的硬件解码方法和装置
CN101398807A (zh) 解压移动终端压缩包的方法和装置
CN104521234A (zh) 合并去区块处理和取样自适应偏移处理的视频处理方法和装置
CN101350928A (zh) 一种运动估计方法及装置
CN102118615A (zh) 采用可变块大小略过模式的视频编/解码方法和装置
CN102801981B (zh) 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法
CN103379331B (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
TA01 Transfer of patent application right

Effective date of registration: 20180718

Address after: 210012 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing

Applicant after: Nanjing Zhongxing New Software Co., Ltd.

Address before: 518057 Nanshan District high tech Industrial Park, Shenzhen, Guangdong, Ministry of justice, Zhongxing Road, South China road.

Applicant before: ZTE Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191112

Address after: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Patentee after: ZTE Communications Co., Ltd.

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee before: Nanjing Zhongxing New Software Co., Ltd.

TR01 Transfer of patent right