CN113905233B - 基于音频视频编码标准的熵解码方法、可读介质及其电子设备 - Google Patents

基于音频视频编码标准的熵解码方法、可读介质及其电子设备 Download PDF

Info

Publication number
CN113905233B
CN113905233B CN202111162764.7A CN202111162764A CN113905233B CN 113905233 B CN113905233 B CN 113905233B CN 202111162764 A CN202111162764 A CN 202111162764A CN 113905233 B CN113905233 B CN 113905233B
Authority
CN
China
Prior art keywords
value
effective
offset value
decoding
range
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
CN202111162764.7A
Other languages
English (en)
Other versions
CN113905233A (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.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China 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 ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Priority to CN202111162764.7A priority Critical patent/CN113905233B/zh
Publication of CN113905233A publication Critical patent/CN113905233A/zh
Application granted granted Critical
Publication of CN113905233B publication Critical patent/CN113905233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请涉及数据处理技术领域,特别涉及一种基于音频视频编码标准的熵解码方法、可读介质及其电子设备。具体包括:电子设备通过在解码之前判断是否需要获取待解码的码流,并更新有效偏移值和有效范围值,然后通过判断有效偏移值是否不小于有效范围值与256之和,确定解码结果;从而使得熵编码模块的硬件设计更加简化,降低硬件寄存器的设计成本,改善硬件设计的时序;进而实现在相同性能的情况下,即电子设备输出正确的解码结果的情况下,节省硬件设计成本,可实现的硬件电路占用的面积更小。

Description

基于音频视频编码标准的熵解码方法、可读介质及其电子 设备
技术领域
本申请涉及数据处理技术领域,特别涉及一种基于音频视频编码标准的熵解码方法、可读介质及其电子设备。
背景技术
随着通信技术的发展,数字电视广播已经成熟并变得流行。除了通过电缆传输之外,数字电视信号还可以通过基站或人造卫星以无线信号的形式传播。但是,随着视频的图像质量越来越高,视频的数据量也越来越大,为了减少视频数据占用存储器的存储容量或在总线的传输带宽,可以在存储或者数据传输之前对视频进行编码,获得压缩的音频/视频数据,相应的,当使用视频数据时,可以对压缩的音频/视频数据进行解码,获得解压缩的音频/视频数据。
现有技术中,可以通过音频视频编码标准(Audio Video Standard,AVS)中的熵解码对压缩的音频/视频数据进行解码,获得解压缩的音频/视频数据。但是,AVS中的熵解码在运算过程中在对数域和通用值域之间进行近似计算,这使得硬件实现变得复杂,时序设计变差,并且还可能出现系统崩溃的情况。
发明内容
本申请的目的在于提供一种基于音频视频编码标准的熵解码方法、可读介质及其电子设备,通过本申请的基于音频视频编码标准的熵解码方法可以使得熵编码模块的硬件设计更加简化,降低硬件寄存器的设计成本,改善硬件设计的时序;进而实现在相同性能的情况下,即熵编码模块输出正确的解码结果的情况下,节省熵编码模块的硬件设计成本,可实现的硬件电路占用的面积更小。
本申请的第一方面提供了一种基于音频视频编码标准的熵解码方法,用于电子设备,该方法包括:获取上下文模型的参数,其中,参数包括大概率信号的概率在值域上的值和小概率信号的值;根据上下文模型的参数,更新有效范围值;在有效偏移值不小于更新后的有效范围值与预设值之和的情况下,确定解码结果为小概率信号的值。
在上述第一方面的一种可能的实现中,在有效偏移值不小于更新后的有效范围值与预设值之和的情况下,确定解码结果为小概率信号的值包括:在根据上下文模型的参数,更新有效范围值之前,判断有效偏移值的精度是否满足预设条件;在有效偏移值的精度不满足预设条件的情况下,获取待解码码流中的二进制数用于更新有效偏移值;在更新后的有效偏移值不小于更新后的有效范围值与预设值之和的情况下,确定解码结果为小概率信号的值。
在上述第一方面的一种可能的实现中,预设条件为有效范围值不小于大概率信号的概率在值域上的值。
在上述第一方面的一种可能的实现中,根据上下文模型的参数,更新有效范围值包括:
根据上下文模型的参数中的大概率信号的概率在值域上的值,减小有效范围值。
在上述第一方面的一种可能的实现中,在有效偏移值不小于更新后的有效范围值与预设值之和的情况下,确定解码结果为小概率信号的值包括:
有效偏移值为9位二进制数,有效范围值为8位二进制数,预设值为256。
在上述第一方面的一种可能的实现中,将获取的初始的待解码码流中的9位二进制数设置为有效偏移值的初始值。
在上述第一方面的一种可能的实现中,在确定解码结果为小概率信号的值的情况下,更新有效偏移值以及有效范围值。
在上述第一方面的一种可能的实现中,电子设备包括处理器,方法由处理器实现。
第二方面,本申请实施例提供了一种可读介质,可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行上述第一方面以及第一方面的各种可能实现中的任意一种基于音频视频编码标准的熵解码方法。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
处理器,是电子设备的处理器之一,用于执行上述第一方面以及第一方面的各种可能实现中的任意一种基于音频视频编码标准的熵解码方法。
附图说明
图1为根据本申请的实施例,示出了一种视频编解码场景图;
图2为根据本申请的实施例,示出了一种电子设备的熵解码模块的组成结构图;
图3A和图3B为根据本申请的实施例,示出了一种基于AVS的熵解码的流程图;
图4为根据本申请的实施例,示出了另一种基于AVS的熵解码的流程图;
图5为根据本申请的实施例,示出了一种电子设备的框图;
图6为根据本申请的实施例,示出了一种片上系统的框图。
具体实施方式
本申请的实施例包括但不限于一种基于音频视频编码标准的熵解码方法、可读介质及其电子设备。
本申请实施例涉及一种熵解码方法,可以通过在解码之前判断是否需要获取待解码的码流,并更新有效偏移值和有效范围值,然后通过判断有效偏移值是否不小于有效范围值与256之和,确定解码结果;避免熵编码模块在实现过程中设置多个参数,例如,偏移移位值,范围偏移值,有效标志位等参数,根据多个参数的比较结果确定解码结果,从而使得熵编码模块的硬件设计更加简化,降低了硬件寄存器的设计成本,改善了硬件设计的时序;进而实现在相同性能的情况下,即熵编码模块输出正确的解码结果的情况下,节省熵编码模块的硬件设计成本,可实现硬件电路占用的面积更小。为了更好的说明本申请的技术方案,现对涉及到的技术或技术术语进行说明,具体如下:
音视频编码标准(Audio Video coding Standard,AVS):AVS是《信息技术先进音视频编码》系列标准的简称,是我国具备自主知识产权的第二代信源编码标准,也是数字音视频产业的共性基础标准。AVS主要用于数字音视频海量数据(即初始数据、信源)的编码压缩,故也称数字音视频编解码技术。
熵编码:基于上下文的算术二进制编码(Context-Based Binary ArithmeticCoding,CBAC)的熵编码主要包括待编码语法元素二值化、上下文建模和二进制算术编码三个过程。
熵解码:基于CBAC的熵编码主要包括二进制算术解码、上下文建模和待编码语法元素二值化三个过程,可以理解,熵解码即为熵编码的逆过程。
本申请的基于音频视频编码标准的熵解码方法可以适用于需要进行音频和/或视频数据的编解码的场景,例如,本申请的方案可以应用于全景声电影、超高清电视、互联网宽带音视频业务、数字音视频广播无线宽带多媒体通信、虚拟现实和增强现实及视频监控等场景。下文以视频的编解码过程为例进行说明。
可以理解,需要进行视频编码的场景较多,除了常见的通过智能手机等进行视频拍摄和数据压缩存储外,在视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等场景下均需要进行视频编码。
图1为根据本申请的实施例,示出了一种视频编解码场景图。图1中的场景包括:电子设备10,电子设备30;电子设备10与电子设备30之间可以通过一种或多种网络连接。
在本申请的一些实施例中,电子设备30可以基于AVS对视频进行编码,获得压缩的视频数据;电子设备30可以将压缩的视频数据发送给电子设备10;电子设备10可以对压缩的视频数据进行解码,获得解压缩的视频数据。可以理解,电子设备30对视频进行编码,编码的视频数据的数据量较小,可以大大减少视频数据的在电子设备之间的传输时间。
在一些实施例中,电子设备10或电子设备30可以包括但不限于智能手机、车载装置、个人计算机、人工智能设备、平板电脑、个人数字助理、智能穿戴式设备(例如智能手表或手环、智能眼镜)、智能电视(或者称为智慧大屏、智慧屏、或大屏电视等)、虚拟现实/混合现实/增强显示设备、服务器等。
在本申请的一些实施例中,电子设备30可以基于AVS对视频进行编码,获得压缩的视频数据,其中,压缩的视频数据可以是码流,即多位二进制(0或1)码,例如,一帧图像可以被编码成几百个字节的二进制数。
例如,在AVS编码中,对于一帧图像的不同层级信息进行分别编码,编码信息的层级分别为:图像、条带、宏块、块。其中,图像的帧类型可以分为I帧、P帧、B帧、F帧4种,I帧采用帧内预测编码模式,其他采用帧间预测编码模式,其中P帧为前向预测帧,B帧为双向预测帧,F为前向假设帧。例如,AVS编码时可以以宏块为基本单元进行处理,宏块大小可以为64x64,宏块大小也可以为8x8,宏块大小还可以是16x16,可以理解的是,根据实际的应用需要,本申请对在AVS编码处理时,宏块的大小不做具体限定。
对一帧图像划分宏块后,电子设备30可以通过帧内预测、帧间预测、运动估计、运动补偿等处理提取宏块的信息,并将宏块的信息用语法元素的值来表示,其中,语法元素包括:运动矢量差值(MVD)、运动模式(帧内预测或者帧间预测)、宏块编码模版(cbp)块预测残差系数、图像单元模式、帧内预测模式。然后,电子设备30可以对语法元素的值进行熵编码,获得最终的压缩数据,即码流。
在一些实施例中,熵编码需经过语法元素二值化、上下文模型选择及更新和二进制算术编码计算这三个步骤。
具体的,语法元素的二值化主要是将非二进制的语法元素映射成相应的二进制字符串,若输入的语法元素为二进制语法元素,则省略语法元素的二值化过程。在一些实施例中,二进制语法元素方式可以包括一元码、截断码、定长码和k阶哥伦布指数编码。
例如,语法元素的二值化可以将语法元素的值转换为只有0、1表示的二值信号串,例如,当运动矢量的值为3时,进行的二值化转换处理得到的二值符号串为“1001”,其中,二值符号串为“1001”中的0或1称为语法元素的二进制的值。
在一些实施例中,语法元素二值化后,为语法元素选择合适的上下文模型对熵编码来说至关重要,例如,在AVS的标准中,可以包括36种语法元素,共定义了269种上下文模型。在实际的编码过程中,每个语法元素的参数都被唯一的上下文模型所标识,每个上下文模型之间相互独立,但同一上下文模型之间的语法元素的参数具有相关性。
在一些实施例中,熵编码的算术编码通过上下文模型的参数对每一个语法元素的二值符号串进行编码,生成码流。熵编码的算术编码主要由常规编码和旁路编码构成,常规编码根据输入的二值化后的bin与上下文模型中的参数进行编码,在编码后根据二进制化后的值反馈给上下文模型,完成对上下文模型的更新。上下文模型的参数可以包括:大概率信号(Most Probable Signal,MPS),LG_PMPS。例如,运动矢量的二值符号串为“1001”,对其进行算术编码生成的码流可以是“01”。
在AVS(一种信源编码标准)中,基于对数域的熵编码中,为了简化上下文模型的计算,可以将大概率信号(Most Probable Signal,MPS)的概率取对数,并扩大(1<<BitDepth)之后的绝对值即得到大概率信号的概率在值域上的值,大概率信号的概率在值域上的值用LG_PMPS表示;同样基于小概率信号(Least Probable Signal,LPS)的概率取对数,并扩大(1<<BitDepth)之后的绝对值即得到LG_PLPS。
可以理解的是,本申请的大概率信号MPS和小概率信号LPS为特指,具体的,在算术编码过程中,输入的语法元素的bin只有0和1两种取值,小概率信号指示0、1中信号概率的估计值较小的那一个,其出现的概率取值范围为(0,0.5],大概率信号MPS指示0、1中信号概率的估计值较大的那一个,其出现的概率取值范围为[0,1),用PLPS表示LPS的信号概率、PMPS表示MPS的信号概率时,PLPS+PMPS=1。也就是说,在对待编码语法元素的二值符号串进行编码之前,都要估计0和1的信号概率,如果为0的概率大,则MPS的值为0,LPS的值为1;否则MPS的值为1,LPS的值为0。
可以理解的是,熵编码是视频编码的最后一步操作,与码流的生成直接相关,主要为了去除视频信号中的统计冗余,是无损压缩的编码方法。AVS的熵编码采用基于上下文的算术二进制编码(Context-Based Binary Arithmetic Coding,CBAC)的编码方式。CBAC提供了对当前语法元素的条件概率的估计模型,根据当前编码的内容选择不同的上下文模型,并且通过这个上下文模型得到当前语法元素与相关内容的条件概率。最后利用这个概率减少视频编码的冗余,达到压缩的目的。
在一些实施例中,电子设备10接收到压缩的视频数据(即码流)后,可以对压缩的视频数据进行AVS解码,获得视频图像。可以理解,AVS解码即为AVS编码的逆过程。即在AVS解码的过程中,需要先对接收的码流进行熵解码,获得语法元素的值。
下面结合图2至图4详细说明本申请的电子设备10执行熵解码的过程。
图2为根据本申请的实施例,示出了一种电子设备10的熵解码模块20的组成结构图。如图2所示,熵解码模块20包括:存储模块201、二进制算术解码模块202、语法解析模块203、上下文模型模块205、控制模块204。
下面具体描述电子设备10的熵解码模块20的各部分。
存储模块201:用于存储从电子设备30接收的压缩的视频数据(即码流)。
二进制算术解码模块202:用于从存储模块201中获取码流,结合从上下文模型模块205中获取参数,对码流进行解码,获得语法元素的二值符号串。
上下文模型模块205:用于接收二进制算术解码模块202每次二进制算术解码更新的参数,还用于在每次二进制算术解码之前将参数上次二进制算术解码更新的参数发送给二进制算术解码模块202。
语法解析模块203:用于接收二进制算术解码模块202每次二进制算术解码过程输出的解码结果(即语法元素的bin)。语法解析模块203将接收的多位语法元素的bin进行语法解析,获得语法元素的值。
控制模块204:用于控制解码过程中语法元素的解析顺序,并根据当前的解码结果决定上下文模型模块205中参数的更新过程。
上述图2的熵解码模块20的组成结构中,用于存储从电子设备30接收的压缩的视频数据(即码流)的存储模块201可以是集成在熵解码模块20中的存储模块。在本申请的其他一些实施例中,用于存储从电子设备30接收的压缩的视频数据(即码流)的存储模块201,也可以是集成在电子设备10的片上系统的片上存储器,例如,静态随机存取存储器(SRAM)单元;还可以是集成在电子设备10上的片外存储器,例如,双倍速率同步动态随机存储器,非易失性存储器等。可以理解的是,根据实际的应用需要,本申请对用于存储从电子设备30接收的压缩的视频数据(即码流)的存储模块201在电子设备10中的位置不做具体限定。
在一些实施例中,熵解码模块20可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器无损视频压缩。
在一些实施例中,二进制算术解码模块202从存储模块201中获取码流,结合从上下文模型模块205中获取参数,对码流进行二进制算术解码,生成语法元素的二值符号串;在此过程中,可能涉及参数包括:MPS的值,LG_PMPS的值,有效范围值,有效偏移值,范围偏移值,偏移移位值,LPS的范围等。其中,范围偏移值、有效范围值、偏移移位值以及有效偏移值长度可以分别设置为8位、8位、32位、9位。
在一些实施例中,二进制算术解码模块202在每次编码过程中,可以通过比较多个参数的值确定编码的结果是MPS的值,还是LPS的值,并且,二进制算术解码模块202还需要执行归一化处理,即二进制算术解码模块202对有效范围值进行归一化处理,从而提高解码过程的范围精度,避免待解码的数据容量较大,或者,需要执行的二进制算术解码次数太高,出现范围精度不能满足解码要求的情况。
在一些实施例中,二进制算术解码模块202可以先比较多个参数的值确定编码的结果是MPS的值,还是LPS的值;在编码结果为LPS的值的情况下,二进制算术解码模块202执行归一化处理,更新范围精度。
下面根据上述图1所示场景为例,结合电子设备10的熵编码模块20的模块图,详细介绍本申请的一种基于AVS的熵解码方法的实现流程。
图3A和图3B为根据本申请的实施例,示出了一种基于AVS的熵解码的流程图,具体过程包括:
S301:二进制算术解码模块202从上下文模型模块205获取先前解码时更新的上下文模型,从而确定当前解码过程MPS的值以及LG_PMPS的值。
例如,二进制算术解码模块202需要解码运动矢量的二值符号串,则二进制算术解码模块202可以从上下文模型模块205获取上次解码时,运动矢量的上下文模型更新的MPS的值以及LG_PMPS的值。
S302:二进制算术解码模块202基于LG_PMPS的值以及有效范围值,更新LPS的范围,并确定有效标志位的值。
S303:二进制算术解码模块202判断范围偏移值是否大于偏移移位值,或者,范围偏移值是否等于偏移移位值且有效偏移值是否大于或等于有效范围值。
在一些实施例中,有效范围值、范围偏移值、偏移移位值可以是在初始化时,二进制算术解码模块202默认设置的值;有效范围值、范围偏移值、偏移移位值也可以是先前解码最后更新的值。
在一些实施例中,电子设备10接收到二进制数流后,将二进制数流暂存在存储模块201中,在熵编码模块20首次解码某个视频或图像对应的二进制数流时,设置初始的范围偏移值,偏移移位值,有效偏移值,有效范围值等。例如,首次编码时,有效偏移值可以是电子设备30发送的待解码的码流的前9位的值。
具体地,步骤303中有三个判断包括:(1)判断范围偏移值是否大于偏移移位值;(2)范围偏移值是否等于偏移移位值;(3)有效偏移值大于或等于有效范围值。当判断(1)的结果是肯定的,或者判断(2)和判断(3)的结果都是肯定时,解码结果为LPS的值。否则解码结果为MPS的值。当解码结果是MPS的值时,二进制算术编码模块202将参数发送给上下文模型模块205,更新上下文模型;当解码结果是LPS的值时,还需要对有效范围值进行拉伸,归一化等操作。
可以理解,在范围偏移值大于偏移移位值,或者,范围偏移值等于偏移移位值且有效偏移值大于或等于有效范围值的情况下,二进制算术解码模块202执行步骤S304,二进制算术解码模块202输出的解码结果为LPS的值;在其他情况下,二进制算术解码模块202执行步骤S391,二进制算术解码模块202输出的解码结果为MPS的值。
S391:二进制算术解码模块202解码的结果为MPS的值。
例如,若步骤S301中确定的MPS的值为1,LPS的值为0;二进制算术解码模块202解码的结果为MPS的值,即二进制算术解码模块202解码的结果为1。若步骤S301中确定的MPS的值为0,LPS的值为1,即二进制算术解码模块202解码的结果为0。
S392:上下文模型模块205更新上下文模型。
在一些实施例中,二进制算术解码模块202解码的结果为MPS的值时,二进制算术解码模块202输出解码结果,并将参数MPS的值以及LG_PMPS的值发送给上下文模型模块205,上下文模型模块205将参数更新到上下文模型中。
S304:二进制算术解码模块202输出的解码结果为LPS的值。
S305:二进制算术解码模块202判断有效标志位是否等于0;在二进制算术解码模块202判断有效标志位等于0的情况下,执行步骤S306;在二进制算术解码模块202判断有效标志位不等于0的情况下,执行步骤S307。
S306:二进制算术解码模块202设置LPS的范围等于LG_PMPS左移两位获得的值。
S307:二进制算术解码模块202设置LPS的范围等于LG_PMPS左移两位获得的值与有效范围值的和。
可以理解的是,步骤305至步骤307在二进制算术解码过程中主要用于确定LPS的范围。
S308:二进制算术解码模块202判断范围偏移值是否等于偏移移位值,在范围偏移值等于偏移移位值的情况下,执行步骤S309;在范围偏移值不等于偏移移位值的情况下,执行步骤S310。
S309:二进制算术解码模块202设置有效偏移值等于原始有效偏移值减去有效范围值。
S310:二进制算术解码模块202从存储模块201获取一位二进制数,有效偏移值为原始有效偏移值左移一位,并将获取的一位二进制数作为有效偏移值的最低位,并减去有效范围值。
在一些实施例中,在范围偏移值不等于偏移移位值的情况下,二进制算术解码模块202从存储模块201获取一位码流,更新有效偏移值。二进制算术解码模块202将原始有效偏移值左移一位,并将获取的一位二进制数作为有效偏移值的最低位,获得更新的有效偏移值。二进制算术解码模块202确定有效偏移值为更新的有效偏移值减去有效范围值。
例如,原始的有效偏移值为100010110,二进制算术解码模块202从存储模块201获取的一位二进制数为1,原始的有效偏移值左移一位并将获取的一位二进制数作为有效偏移值的最低位,则更新的有效偏移值为000101101。
可以理解,根据步骤S305至步骤S310,二进制算术解码模块202更新LPS的范围以及有效偏移值。
S311:二进制算术解码模块202判断LPS的范围是否小于256,在LPS的范围小于256的情况下,循环执行步骤S312,直至LPS的范围不小于256,跳出循环,执行步骤S313;在LPS的范围不小于256的情况下,执行步骤S313。
S312:二进制算术解码模块202设置LPS的范围左移一位,二进制算术解码模块202从存储模块201获取一位二进制数,有效偏移值为原始有效偏移值左移一位,并将左移一位的值作为有效偏移值的最低位。
在一些实施例中,在LPS的范围小于256的情况下,二进制算术解码模块202从存储模块201获取一位二进制数,更新有效偏移值以及LPS的范围。二进制算术解码模块202将原始有效偏移值左移一位,并将获取的一位二进制数作为有效偏移值的最低位,获得更新的有效偏移值。
S313:二进制算术解码模块202设置有效范围值为LPS的范围的后8位对应的二进制数。
S314:二进制算术解码模块202将范围偏移值设置为0。
S315:二进制算术解码模块202将偏移移位值设置为0。
可以理解的是,步骤S311至步骤S315在二进制算术解码的过程中主要用于执行范围归一化的过程,使得LPS不小于256。
S316:二进制算术解码模块202判断有效偏移值是否小于256,在有效偏移值小于256的情况下,循环执行步骤S317,直至有效偏移值大于256,跳出循环,执行步骤S318;
S317:二进制算术解码模块202设置偏移移位值加一,二进制算术解码模块202从存储模块201获取一位二进制数,有效偏移值为原始有效偏移值左移一位,并将获取的一位二进制数作为有效偏移值的最低位。
S318:二进制算术解码模块202确定有效偏移值等于有效偏移值的后8位的值。
可以理解的是,步骤316至步骤318通过判断有效偏移值是否小于256,对偏移移位值进行累加1,获得偏移移位值的累加结果,以及更新有效偏移值。更新有效偏移值以及偏移移位值可以用于下一个二进制算术解码过程。
S319:上下文模型模块205更新上下文模型;参考步骤S392,在此不做赘述。
由上述的二进制算术解码的过程中的步骤S316可知,在解码过程中,仅当有效偏移值不小于256时,即对于9位二进制数的有效偏移值,当有效偏移值的最高位为1时,才会执行后续步骤S318,完成当前次的解码;当有效偏移值小于256时,执行步骤S317,而在步骤317中,仅在二进制算术解码模块202从存储模块201中,按顺序获取的待解码的码流中的二进制为1时有效偏移值才会加1,而在获取的数据为二进制0时有效偏移值并不会改变,故需要重复循环步骤S317,直至有效偏移值不小于256为止(即只有有效偏移值的最高位1时为止)。
例如,假设有效偏移值的9位二进制数为000000000,则有效偏移值小于256,执行步骤S317,假设极端情况下二进制算术解码模块202每次都从码流中获取到二进制数0,直到第247次获取的是二进制数1,则需要循环执行步骤S317共256次才能满足步骤S316的条件,跳出步骤S316和S317的循环,进入步骤S318并之后完成当前次的解码。而在算术解码模块202从码流中获取二进制数时,通常不会出现上述极端情况,因此,将000000000的有效偏移值的增加至等于256时,需要循环执行步骤S317的次数可能要大于256次。如此,在有效偏移值为较小的数值时,需要循环执行步骤S317的次数较大,即影响解码效率。
此外,在执行S318之后,有效偏移值被更新,偏移移位值作为下次解码时使用。
但是,在上述情形下,偏移移位值为255,由于范围偏移值为8位二进制数,即范围偏移值最大为255,即偏移移位值和范围偏移值相等,故当下次解码执行步骤S303时,范围偏移值必然不大于偏移移位值,S303的判断结果必然是“否”,由图3A和图3B的流程图可知,则熵解码的结果输出的是MPS的值。后续每次的解码,偏移移位值和范围偏移值都是255,即会出现步骤303每次都没法满足判断条件的情况,在这种情况下,后续的解码过程不再消耗待解码的码流,从而导致解码流程崩溃,并输出错误的解码结果。
为了解决上述的在二进制算术解码过程中可能出现解码流程崩溃的问题,本申请还提出了另一种熵解码方法,通过在解码之前判断是否需要获取待解码的码流,并更新有效偏移值和有效范围值,然后通过判断有效偏移值是否不小于有效范围值与256之和,确定解码结果;因此,当有效偏移值的9位二进制数为000000000,并且存储模块201中的待解码的码流出现连续246位二进制的值均是0时,虽然每次解码的结果都是MPS的值,但是当获取的存储模块201中的待解码的码流的第247位为二进制数1时,二进制数1可以作为有效偏移值的最高位,则后续解码会出现有效偏移值大于256,即会出现有效偏移值不小于有效范围值与256之和的情况,此时解码的结果为LPS的值,从而跳出了连续解码为MPS的值,从而使得解码系统正常运行,不会出现图3A和图3B中的解码结果一直输出的解码结果为MPS的值导致解码系统崩溃的情况。
参考下面结合图2的电子设备10的熵解码模块20的结构图,详细描述本申请的另一种熵解码方法的过程。
图4为根据本申请的实施例,示出了另一种基于AVS的熵解码的流程图,具体过程包括:
S401:二进制算术解码模块202从上下文模型模块205获取先前解码时更新的上下文模型,从而确定当前解码过程MPS的值以及LG_PMPS的值。具体内容参考S301,在此不做赘述。
S402:二进制算术解码模块202基于LG_PMPS的值以及有效范围值,更新LPS的范围。
S403:二进制算术解码模块202判断有效范围值是否小于LG_PMPS的值,在有效范围值小于LG_PMPS的值的情况下,执行步骤S404;在有效范围值不小于LG_PMPS的值,则执行步骤S405。
在一些实施例中,二进制算术解码模块202通过判断有效范围值是否小于LG_PMPS的值,确定有效偏移值是否进行归一化处理并消耗存储模块201存储的待解码的码流。
例如,当二进制算术解码模块202判断有效范围值小于LG_PMPS时,执行步骤S404,即二进制算术解码模块202从存储模块201中获取一位二进制数,并更新有效范围值,即有效偏移值左移一位,并将获取的一位二进制数作为有效偏移值的最低位。
S404:二进制算术解码模块202从存储模块201获取一位二进制数,有效偏移值为原始有效偏移值左移一位,并将获取的一位二进制数作为有效偏移值的最低位。
S405:二进制算术解码模块202设置有效范围值等于原始的有效范围值与LG_PMPS的差值。
可以理解,在步骤S405中,二进制算术解码模块202通过设置当前的有效范围值等于原始的有效范围值与LG_PMPS的差值,即根据当前的上下文模型的参数调整有效范围值的区间,即针对在原始有效范围值小于LG_PMPS的情况下的一次有效范围值的调整。从而使得无论二进制算术解码模块202的解码结果是LPS的值还是MPS的值,在原始有效范围值小于LG_PMPS的情况下,都可以实现对二进制算术解码的有效范围值的更新。从而使得二进制算术解码时,不会出现图3A和图3B中的连续进行归一化处理或者连续解码输出解码结果的情况;从而使得归一化过程与解码过程更加均匀,即解码一次,有效范围值更新一次。
S406:二进制算术解码模块202判断有效偏移值是否不小于有效范围值与256之和,若有效偏移值小于有效范围值与256之和,则执行步骤S407,即解码的结果为MPS的值;有效偏移值不小于有效范围值与256之和,则执行步骤S408,即解码的结果为LPS的值。
在一些实施例中,解码结果的判断条件主要是比较有效偏移值是否小于有效范围值与预设值之和,其中,预设值可以是256,也可以是16,还可以是其他值,其中,预设值的大小与有效偏移值和有效范围值的长度有关,该预设值为有效范围值的长度个2的乘积。
可以理解,本文主要以有效偏移值以及有效范围值的长度分别为9位、8位为例说明本申请的熵解码过程的技术方案,在有效偏移值以及有效范围值的长度分别为9位、8位的情况下,解码结果的判断条件可以是比较有效偏移值是否不小于有效范围值与256之和;在本申请的其他实施例中,有效偏移值以及有效范围值的长度也可以是其他位数,例如,有效偏移值以及有效范围值的长度分别为5位、4位,则解码结果的判断条件可以是比较效偏移值是否不小于有效范围值与16之和,可以理解的是,根据实际应用时,有效偏移值和有效范围值的长度的大小,本申请对预设值的大小不做具体限定。
S407:二进制算术解码模块202输出的解码结果为MPS的值。
S408:二进制算术解码模块202输出的解码结果为LPS的值。
S409:二进制算术解码模块202设置有效偏移值等于有效偏移值与有效范围值以及256的差值。
S410:二进制算术解码模块202设置LPS的范围左移预设数量的位数并且获取左移的预设数量的位数的值,其中,预设数量小于LPS的范围的长度。
例如,LPS的范围的长度可以设置为9位;当LPS的范围为1时,则LPS的范围左移8位,若LPS的范围为3,则LPS的范围左移7位。可以理解的是,为了保证LPS的范围的最高位为1,二进制算术解码模块202基于原始LPS的范围,设置LPS的范围左移预设数量的位数,使得LPS的范围的最高位为1。
可以理解,二进制算术解码模块202通过判断LPS的范围的大小,对LPS左移预设数量的位数,使得LPS的范围的最高位为1,从而保证二进制算术解码模块202下次解码正常运行,并且使得下次解码二进制算术解码模块202输出正确的解码结果。
S411:二进制算术解码模块202设置有效范围值为LPS的范围的后八位的值。
S412:二进制算术解码模块202将解码结果发送给上下文模型模块205,上下文模型模块205更新上下文模型。
作为一示例,例如,基于上次熵解码或初始化程序中各参数的值分别为:有效范围值为1(即8位二进制数为00000001),LG_PMPS的值为8(即8位二进制数为00001000),有效偏移值为0(即9位二进制数为010000000)。待解码的码流为100010110000……000,MPS的值为1。在步骤S403中,有效范围值为1,LG_PMPS的值为8,有效范围值小于LG_PMPS的值,执行步骤S404,则有效偏移值左移一位,并且将获取的待解码的码流的最低位上的二进制值0作为有效偏移值左移1位后的最低位,则更新后的有效偏移值仍为0(即9位二进制数为000000000)。执行步骤S405后,有效范围值等于有效范围值为1与LG_PMPS的值为8之差,即为-7,则有效范围值更新为248(即8位二进制数为11111000)。则在步骤S406中,有效偏移值为0(即9位二进制数为000000000)小于有效范围值为248与256之和为504(即9位二进制数为111111000),则执行步骤S407,解码结果为MPS的值,即输出的解码结果为1。执行步骤S412,将本次编码的参数作为下次解码过程的值,更新上下文模型。则在下次编码中,过程如下,例如,LG_PMPS的值为为10(即8位二进制数为00001010),在步骤S403中,基于上次解码最终更新的有效范围值与LG_PMPS的值,有效范围值为248(即8位二进制数为11111000)不小于LG_PMPS的值为为10(即8位二进制数为00001010),执行步骤S405,则有效范围值等于有效范围值为248与LG_PMPS的值为12之差,即有效范围值更新为238(即8位二进制数为11101110);在步骤S406中,基于上次解码最终更新的有效偏移值,有效偏移值为0(即9位二进制数为000000000)小于有效范围值238与256之和为494(即9位二进制数为111101110)。则执行步骤S407,解码结果为MPS的值,即输出的解码结果为1。执行步骤S412,将本次编码的参数作为下次解码过程的值,更新上下文模型。
可以理解的是,图3A和图3B中在判断解码结果为LPS的值时,执行步骤S316时,当有效偏移值比较小时(例如有效偏移值为0时),有效偏移值可能一直小于256,则会循环执行步骤S316至步骤S317,即解码一次,多次获取待解码的码流,更新有效偏移值,直到有效偏移值不小于256时才跳出步骤S316至步骤S317的循环。这将使得系统中的其他模块(例如语法解析模块203)一直在等待二进制算术解码模块202的解码结果,从而使得系统解码的整体效率低。可以理解的是,图4的熵解码过程,将有效偏移值直接与有效范围值以及256之和进行比较,避免了有效偏移值单独与256进行比较,直到有效偏移值大于256才进行下次解码的情况。既避免长期等待熵编码模块20的解码结果,还可以使得熵编码模块20的硬件设计在状态机的控制变得更加容易,提高系统解码的效率。并且,基于上述两次连续的熵解码过程可知,由步骤S403至步骤S405可以看出,二进制算术解码模块202通过比较有效范围值与LG_PMPS的值,判断是否执行步骤S404,即在每次解码前确定是否更新有效偏移值,即消耗码流。并且,每次解码之前都会更新有效范围值,从而保证步骤S406中解码结果的准确性,保证编码系统稳定执行。
作为一示例,当待解码的码流为500位二进制数,即为100010110000……00,其中,待解码的码流的后247位全为二进制0,第256位至第248位为100110011,有效偏移值为0(即9位二进制数为010000000),则二进制算术解码模块202在多次解码过程中,执行第256次步骤S404后,有效偏移值左移一位,并且将获取的待解码的码流的最低位上的二进制值0作为有效偏移值左移1位后的最低位,则更新后的有效偏移值为283(即9位二进制数为100110011)。执行步骤S404后,再执行步骤S405,有效范围值可以更新为12(即8位二进制数为00001100)。在步骤S406中,有效偏移值为283(即9位二进制数为100110011)大于有效范围值12与256之和为268(即9位二进制数为100001100),则执行步骤S408,解码结果为LPS的值。
可以理解的是,由步骤S406可知,二进制算术解码模块202执行前255次步骤S404,有效偏移值一直是小于256的,则有效偏移值必然小于有效范围值与256之和,即步骤S406执行结果为“否”,解码结果为MPS的值。二进制算术解码模块202执行第256次步骤S404,有效偏移值更新为283(即9位二进制数为100110011),在执行步骤S406时,有效偏移值大于有效范围值与256之和,即步骤S406执行结果为“是”,解码结果为LPS的值。相较于图3A和图3B,在二进制算术解码模块202执行前255次步骤S316至步骤S317的情况下,有效偏移值大于256跳出了步骤S316至步骤S317的循环,但是,偏移移位值累加为256,则在下次解码执行步骤S303时,由于范围偏移值为8位二进制数,偏移移位值为256必然大于范围偏移值,步骤S303的执行结果必然为否,从而导致后续每次解码的结果均为MPS的值,导致解码系统崩溃的情况。可以理解,基于图4的熵解码方法,不仅可以使得解码系统正常运行,不会出现解码系统崩溃的情况,而且相较于图3A和图3B的熵解码过程,图4的熵解码过程避免熵编码模块20在实现过程中设置多个参数,例如,偏移移位值,范围偏移值,有效标志位等参数;从而使得熵编码模块20的硬件设计更加简化,降低硬件寄存器的设计成本,改善硬件设计的时序;进而实现在相同性能的情况下,即熵编码模块20输出正确的解码结果的情况下,节省熵编码模块20的硬件设计成本,可实现的硬件电路占用的面积更小。
图5所示为根据本申请的一个实施例的电子设备10的框图。图5示意性地示出了根据多个实施例的示例电子设备10。在一个实施例中,电子设备10可以包括一个或多个处理器1604,与处理器1604中的至少一个连接的系统控制逻辑1608,与系统控制逻辑1608连接的系统内存1612,与系统控制逻辑1608连接的非易失性存储器(NVM)1616,以及与系统控制逻辑1608连接的网络接口1620。
在一些实施例中,处理器1604可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1604可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在电子设备10采用eNB(Evolved Node B,增强型基站)或RAN(Radio Access Network,无线接入网)控制器的实施例中,处理器1604可以被配置为执行各种符合的实施例,例如,如图3A和图3B所示的多个实施例中的一个或多个。
在一些实施例中,系统控制逻辑1608可以包括任意合适的接口控制器,以向处理器1604中的至少一个和/或与系统控制逻辑1608通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑1608可以包括一个或多个存储器控制器,以提供连接到系统内存1612的接口。系统内存1612可以用于加载以及存储数据和/或指令。在一些实施例中系统1600的内存1612可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM 1616可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM 1616可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(CompactDisc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM 1616可以包括安装电子设备10的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1620通过网络访问NVM 1616。
特别地,系统内存1612和NVM 1616可以分别包括:指令1624的暂时副本和永久副本。指令1624可以包括:由处理器1604中的至少一个执行时导致电子设备10实施如图5所示的方法的指令。在一些实施例中,指令1624、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1608,网络接口1620和/或处理器1604中。
网络接口1620可以包括收发器,用于为电子设备10提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1620可以集成于电子设备10的其他组件。例如,网络接口1620可以集成于处理器1604的,系统内存1612,NVM 1616,和具有指令的固件设备(未示出)中的至少一种,当处理器1604中的至少一个执行所述指令时,电子设备10实现如图5所示的方法。
网络接口1620可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1620可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器1604中的至少一个可以与用于系统控制逻辑1608的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器1604中的至少一个可以与用于系统控制逻辑1608的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
电子设备10可以进一步包括:输入/输出(I/O)设备1632。
根据本申请的实施例,图6示出了一种SoC(System on Chip,片上系统)1700的框图。SOC1700设置在电子设备10中。在图6中,相似的部件具有同样的附图标记。在图6中,SoC1700包括:互连单元1750,其被耦合至应用处理器1710;系统代理单元1770;总线控制器单元1780;集成存储器控制器单元1740;视频处理器1720,视频处理器1720还包含熵解码模块20;静态随机存取存储器(SRAM)单元1730;直接存储器存取(DMA)单元1760。在一个实施例中,SoC 1700还可以包括诸如例如网络或通信处理器、压缩引擎、GPU、高吞吐量MIC处理器、或嵌入式处理器等等。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序,而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (8)

1.一种基于音频视频编码标准的熵解码方法,用于电子设备,其特征在于,包括:
获取上下文模型的参数,其中,所述参数包括大概率信号的概率在值域上的值和小概率信号的值;
根据所述上下文模型的参数,更新有效范围值;
在有效偏移值不小于更新后的所述有效范围值与预设值之和的情况下,确定解码结果为小概率信号的值;
其中,在所述有效偏移值不小于更新后的所述有效范围值与所述预设值之和的情况下,确定所述解码结果为所述小概率信号的值包括:
在根据所述上下文模型的参数,更新所述有效范围值之前,判断所述有效范围值是否满足预设条件;
在所述有效范围值不满足所述预设条件的情况下,获取待解码码流中的二进制数用于更新有效偏移值;
在更新后的所述有效偏移值不小于更新后的所述有效范围值与所述预设值之和的情况下,确定所述解码结果为所述小概率信号的值;
其中,所述预设条件为所述有效范围值不小于所述大概率信号的概率在值域上的值。
2.根据权利要求1所述的方法,其特征在于,根据所述上下文模型的参数,更新所述有效范围值包括:
根据所述上下文模型的参数中的大概率信号的概率在值域上的值,减小所述有效范围值。
3.根据权利要求1所述的方法,其特征在于,在有效偏移值不小于更新后的所述有效范围值与所述预设值之和的情况下,确定所述解码结果为所述小概率信号的值包括:
所述有效偏移值为9位二进制数,所述有效范围值为8位二进制数,所述预设值为256。
4.根据权利要求1所述的方法,其特征在于,将获取的初始的待解码码流中的9位二进制数设置为所述有效偏移值的初始值。
5.根据权利要求1所述的方法,其特征在于,还包括:
在确定解码结果为小概率信号的值的情况下,更新所述有效偏移值以及所述有效范围值。
6.根据权利要求1所述的方法,其特征在于,所述电子设备包括处理器,所述方法由所述处理器实现。
7.一种可读介质,其特征在于,所述电子设备的可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行权利要求1至6中任一项所述的基于音频视频编码标准的熵解码方法。
8.一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及多个处理器,用于运行存储器中的指令,以执行权利要求1至6中任一项所述的基于音频视频编码标准的熵解码方法。
CN202111162764.7A 2021-09-30 2021-09-30 基于音频视频编码标准的熵解码方法、可读介质及其电子设备 Active CN113905233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111162764.7A CN113905233B (zh) 2021-09-30 2021-09-30 基于音频视频编码标准的熵解码方法、可读介质及其电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111162764.7A CN113905233B (zh) 2021-09-30 2021-09-30 基于音频视频编码标准的熵解码方法、可读介质及其电子设备

Publications (2)

Publication Number Publication Date
CN113905233A CN113905233A (zh) 2022-01-07
CN113905233B true CN113905233B (zh) 2024-04-30

Family

ID=79190009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111162764.7A Active CN113905233B (zh) 2021-09-30 2021-09-30 基于音频视频编码标准的熵解码方法、可读介质及其电子设备

Country Status (1)

Country Link
CN (1) CN113905233B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983334A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种实现算术编解码的方法及装置
CN101167368A (zh) * 2005-12-05 2008-04-23 华为技术有限公司 一种实现算术编解码的方法及装置
CN101212676A (zh) * 2006-12-29 2008-07-02 北京展讯高科通信技术有限公司 高效并行cabac解码方法及其装置
CN104394418A (zh) * 2014-09-23 2015-03-04 清华大学 一种视频数据编码、解码的方法及装置
WO2019029373A1 (zh) * 2017-08-07 2019-02-14 浙江宇视科技有限公司 一种自适应模式选择的视频加扰方法、装置、网络摄像机及可读存储介质
CN111818335A (zh) * 2020-07-03 2020-10-23 Tcl华星光电技术有限公司 一种熵编码方法和装置、电子设备
KR20210018140A (ko) * 2019-08-06 2021-02-17 현대자동차주식회사 비디오 부호화 및 복호화를 위한 엔트로피 코딩
CN112449189A (zh) * 2019-08-27 2021-03-05 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置及视频编码器、存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542727B2 (en) * 2007-12-31 2013-09-24 Intel Corporation Systems and apparatuses for performing CABAC parallel encoding and decoding
US8638850B2 (en) * 2009-05-06 2014-01-28 Advanced Micro Devices, Inc. Execution units for context adaptive binary arithmetic coding (CABAC)
US11178399B2 (en) * 2019-03-12 2021-11-16 Qualcomm Incorporated Probability initialization for video coding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983334A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种实现算术编解码的方法及装置
CN101167368A (zh) * 2005-12-05 2008-04-23 华为技术有限公司 一种实现算术编解码的方法及装置
CN101212676A (zh) * 2006-12-29 2008-07-02 北京展讯高科通信技术有限公司 高效并行cabac解码方法及其装置
CN104394418A (zh) * 2014-09-23 2015-03-04 清华大学 一种视频数据编码、解码的方法及装置
WO2016045565A1 (zh) * 2014-09-23 2016-03-31 清华大学 一种视频数据编码、解码的方法及装置
WO2019029373A1 (zh) * 2017-08-07 2019-02-14 浙江宇视科技有限公司 一种自适应模式选择的视频加扰方法、装置、网络摄像机及可读存储介质
KR20210018140A (ko) * 2019-08-06 2021-02-17 현대자동차주식회사 비디오 부호화 및 복호화를 위한 엔트로피 코딩
CN112449189A (zh) * 2019-08-27 2021-03-05 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置及视频编码器、存储介质
CN111818335A (zh) * 2020-07-03 2020-10-23 Tcl华星光电技术有限公司 一种熵编码方法和装置、电子设备

Also Published As

Publication number Publication date
CN113905233A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
US11398833B2 (en) Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream
US11778188B2 (en) Scalar quantizer decision scheme for dependent scalar quantization
CN107079192B (zh) 使用压缩视频流的动态屏幕上显示
US11425410B2 (en) Video picture prediction method and apparatus
US20210274182A1 (en) Context-based binary arithmetic encoding and decoding
CN104685889A (zh) 视频序列图像的解码和编码
EP4246975A1 (en) Video decoding method and apparatus, video coding method and apparatus, and device
KR20150103044A (ko) 복잡도 균형 엔트로피 코딩을 제공하는 방법 및 장치
KR101289514B1 (ko) 인코딩 방법 및 인코더 장치
JP7162532B2 (ja) ビデオデータに関係する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法及び装置
CN111935500B (zh) 视频解码方法、装置及电子设备
CN113905233B (zh) 基于音频视频编码标准的熵解码方法、可读介质及其电子设备
US20220038719A1 (en) Residual coding with reduced usage of local neighborhood
EP3742730A1 (en) Scalar quantizer decision scheme for dependent scalar quantization
US9525890B2 (en) Method and apparatus for decoding for AVS system using fetching flag
CN101505424B (zh) 一种熵解码比特解析方法和一种熵解码器、视频解码芯片
US20090245350A1 (en) Image coding apparatus and image coding method
US20240146975A1 (en) Dynamic queuing of entropy-coded data for transmission in a bitstream
CN115118999A (zh) 熵上下文处理方法、片上系统及电子设备
KR20060127668A (ko) 영상 압축 방법
KR20220119643A (ko) 데이터 스트림의 압축
WO2020112453A1 (en) Entropy coding optimization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant