CN116600129A - 一种优化视频解码带宽的方法、系统及装置 - Google Patents

一种优化视频解码带宽的方法、系统及装置 Download PDF

Info

Publication number
CN116600129A
CN116600129A CN202310873084.9A CN202310873084A CN116600129A CN 116600129 A CN116600129 A CN 116600129A CN 202310873084 A CN202310873084 A CN 202310873084A CN 116600129 A CN116600129 A CN 116600129A
Authority
CN
China
Prior art keywords
data
compression
compressed data
reference frame
address
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.)
Granted
Application number
CN202310873084.9A
Other languages
English (en)
Other versions
CN116600129B (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.)
Core Microelectronics Technology Zhuhai Co ltd
Original Assignee
Core Microelectronics Technology Zhuhai 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 Core Microelectronics Technology Zhuhai Co ltd filed Critical Core Microelectronics Technology Zhuhai Co ltd
Priority to CN202310873084.9A priority Critical patent/CN116600129B/zh
Publication of CN116600129A publication Critical patent/CN116600129A/zh
Application granted granted Critical
Publication of CN116600129B publication Critical patent/CN116600129B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开一种优化视频解码带宽的方法、系统及装置,方法包括:将参考帧写入DPB时,分别对y、u/v的宏块进行无损压缩,生成压缩数据后压缩头信息;在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据;对提取的压缩数据进行解压缩,以还原成真实的参考帧宏块残差数据,进行后续的残差数据处理,即可得到解码后的输出图像。本发明实现了对参考帧的无损压缩和解压缩,显著降低了解码器对SDRAM的访问带宽,同时不会降低参考帧和解码质量;另外,实现简单,不再需要内部SRAM缓存,通过地址就很容易索引到需要的宏块。

Description

一种优化视频解码带宽的方法、系统及装置
技术领域
本发明属于视频编解码技术领域,更具体地,涉及一种优化视频解码带宽的方法、系统及装置。
背景技术
随着互联网技术的发展,移动终端的普及,视频应用越来越广泛。而视频编解码技术,是视频业务的基础。视频编码的本质是将数据压缩,主要是去除冗余信息,包括空间上的冗余信息和时间上的冗余信息,从而实现视频数据的压缩。目前主流的视频编码格式是h.264/AVC、h.265/HEVC、VP9、AV1,其中h.264/AVC应用最为广泛。
在视频编码中会定义3种帧:I帧,为关键帧,采用帧内压缩技术压缩;P帧,为前向参考帧,参考其前面的I帧或P帧进行压缩;B帧,为双向参考帧,同时参考其前面和后面的I帧或者P帧进行压缩。值得说明的是,P帧和B帧可以采取混合的帧内/帧间方式来对帧进行编码:帧的某些部分以帧内进行编码,其它部分参考相应参考帧进行编码。
相应的,在解码时会对这些帧进行解压缩。某1帧图像解码完成后,如果它是后面某些图像的参考帧,则它会被放入DPB(Decoder Picture Buffer,解码图像缓存)中保存。I帧不需要参考帧,直接解压缩;P帧需要1个参考帧进行解压缩;B帧需要2个参考帧进行解压缩。
而DPB一般是放在外部SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)中,如果直接对DPB进行访问,那就需要非常高的访问带宽。例如对一个1920*1080p60Hz 4:2:0的压缩视频进行解码,可能需要高达3.5GB/s的访问带宽。另外,在读和写参考帧到DPB时,都是以宏块为单位进行操作的,Y的宏块为16*16,每行16个像素,16行,Cb/Cr的宏块为8*8,每行8个像素,8行,读写第一行16/8像素,再读写第二行的16/8像素,每次地址操作不是连续的,这样无法使用突发传输,对于SDRAM访问的效率非常低。
鉴于此,如何克服上述现有技术所存在的技术问题是本技术领域亟待解决的难题。
发明内容
本发明的目的之一在于克服上述现有技术中存在的技术问题,为了解决SDRAM访问效率低、使用有损压缩算法导致参考帧图像精度损失、使用无损压缩算法导致增加面积、处理复杂的技术难题,提供一种优化视频解码带宽的方法、系统及装置,使解码器在参考帧写入DPB时,进行无损压缩,分别对y、Cb/Cr(也可称为u/v)的宏块进行压缩,生成压缩数据后压缩头信息,压缩数据也是以块作为单元,在DPB中分配的空间大小与原始宏块大小相等,但是在写压缩数据时只写入有效数据;多个宏块的压缩头累计到一定数量后,一起写入DPB相应位置;解码器在经运动补偿后,提取参考帧对应位置的宏块时,根据此位置,先提取对应的压缩头,再提取对应的压缩数据,经过解压缩模块,得到正确的宏块预测数据,加上残差,再经过滤波,就可以得到解码后的输出图像。
为实现上述目的,按照本发明的第一方面,提供了一种优化视频解码带宽的方法,包括:
将参考帧写入DPB时,分别对y、u、v中一种或多种的宏块进行无损压缩,生成压缩数据后压缩头信息以得到对应的压缩头;
在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据;
对提取的压缩数据进行解压缩,以还原成真实的参考帧宏块残差数据,进行后续的残差数据处理,即可得到解码后的输出图像。
进一步的,所述无损压缩基于小波变换和熵编码,生成可变长的压缩数据,具体的:
小波变换先对输入数据做一次列小波变换,再做一次行小波变换,以使复杂数据集中在一点,简单数据呈辐射状扩散;
进一步对这些数据做熵编码,使复杂数据压缩成较多的码字,简单数据压缩成较少的码字,最终生成可变长的压缩数据。
进一步的,所述y的宏块大小为16*16,总共256Byte,压缩后的数据为1-256Byte,同时生成4bit的压缩头,其第1个宏块的有效压缩数据写入base_address,第2个宏块的有效压缩数据写入base_address+256,第n个宏块的有效压缩数据写入base_address+256*(n-1)。
进一步的,所述u/v的宏块大小为8*8,总共64Byte,压缩后的数据为1-64Byte,同时生成2bit的压缩头,其第1个宏块的有效压缩数据写入base_address,第2个宏块的有效压缩数据写入base_address+64,第n个宏块的有效压缩数据写入base_address+64*(n-1)。
进一步的,所述压缩头先按顺序缓存在压缩模块内部,多个连续的压缩头可组成1个128bit数据,累积到到4个128bit时再一次性写到DPB中;若是压缩到了参考帧最后1个宏块,则压缩头不必累积到4个128bit数据,直接写入DPB 。
进一步的,所述在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据具体包括:
依据解码器发送过来的宏块索引值,先从DPB中读出压缩头数据;
得取到压缩头数据后,解析出来其中的有效长度信息,同时计算出要读的压缩块基地址,只读取有效长度的压缩数据进入解码器;
在提取参考帧对应位置的宏块时,若现有缓存已占用超过预设值,则待累积一定参考帧后再进行统一的宏块提取。
进一步的,所述对提取的压缩数据进行解压缩具体包括:
接收到提取的压缩数据后,对其进行压损压缩的逆过程,先做熵解码,把数据全部恢复出来,然后通过重映射把数据恢复成8bit,最后做逆小波变换,解压生成无损压缩数据,以得到原始参考帧宏块数据做后续的残差处理。
进一步的,所述压缩头为1Byte或1/2Byte。
第二方面,本发明提供一种优化视频解码带宽的系统,应用如第一方面所述的优化视频解码带宽的方法,包括无损压缩模块、参考帧索引模块以及解压缩模块,其中:
所述无损压缩模块用于将参考帧写入DPB时,分别对y、u/v的宏块进行无损压缩,生成压缩数据后压缩头信息;
所述参考帧索引模块用于在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据;
所述解压缩模块用于对提取的压缩数据进行解压缩,以还原成真实的参考帧宏块残差数据,进行后续的残差数据处理,即可得到解码后的输出图像。
第三方面,本发明提供一种优化视频解码带宽的装置,装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器设置为执行如第一方面所述的优化视频解码带宽的方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明的解码器在将参考帧写入DPB时,进行无损压缩,压缩算法为小波变换加熵编码,分别对y、u/v的宏块进行压缩,生成压缩数据后压缩头信息。压缩数据也是以块作为单元,在DPB中分配的空间大小与原始宏块大小相等,但是在写压缩数据时只写入有效数据。压缩头为1Byte或1/2Byte,多个宏块的压缩头累计到一定数量后,一起写入DPB相应位置。解码器在经运动补偿后,提取参考帧对应位置的宏块时,根据此位置,先提取对应的压缩头,再提取对应的压缩数据,经过解压缩模块,得到正确的宏块预测数据,加上残差,再经过滤波,就可以得到解码后的输出图像。
通过这种方式,虽然会占用比原始参考帧稍微大一点的SDRAM空间(原始参考帧空间+压缩头空间),但是实现了对参考帧的无损压缩和解压缩,显著降低了解码器对SDRAM的访问带宽,同时不会降低参考帧和解码质量。另外,该方式实现简单,不再需要内部SRAM缓存,通过地址就很容易索引到需要的宏块。在外部SDRAM中使用更多的空间,比起解码器内部增加SRAM,所花费的面积和成本小得多。
附图说明
图1为本发明提供的典型解码器框图的示意图;
图2为本发明提供的典型视频解码播放系统框图的示意图;
图3为本发明实施例提供的一种优化视频解码带宽的方法流程图;
图4为本发明实施例提供的无损压缩扩展流程图;
图5为本发明实施例提供的步骤200扩展流程图;
图6为本发明实施例提供的一种优化视频解码带宽的系统框图;
图7为本发明实施例提供的y的宏块压缩示意图;
图8为本发明实施例提供的整帧压缩对应示意图;
图9为本发明实施例提供的一种优化视频解码带宽的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请中,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或成一体;可以是直接相连,也可以通过中间媒介间接相连。此外,术语“耦接”可以是实现信号传输的电性连接的方式。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
现在的解决方案中,一种方法是在宏块单元对DPB读写时,先使用FIFO(First InFirst Out,先进先出)缓存到一定数据量后,再采用突发传输进行访问,这种方法会额外使用FIFO,增加面积,整体上还是会使用很大的带宽。另一种方法是对参考帧和宏块进行整体缩小滤波,在内部再通过插值放大进行后续处理,这种方法会损失图像精度,并且内部也需要使用FIFO缓存,增加面积。再有一种方法是对参考帧和宏块进行有损压缩,确保每帧都有2:1或者更大的压缩率,它可以使用固定压缩比,这种方法同样会损失图像精度。还有一种方法是对参考帧进行无损压缩,无损压缩的问题在于压缩完后数据不定长,统计学上压缩比大于2:1,会出现压缩后1%的情况,也会出现压缩后99%的情况,解码读取参考帧宏块时,内部需要增加SRAM(Static Random Access Memory,静态随机存储器)缓存,因为经过运动评估后对应的宏块位置可能出现在参考帧任意位置上,这就需要提取大量宏块读入解码器内部进行缓存,再经过处理后来正确索引到需要的宏块,增加面积,处理复杂。
一种典型的解码器框图如图1所示,NAL(Network Abstract Layer,网络抽象层)压缩数据码流经过熵解码和重排序之后生成一组量化系数X,再经过反量化,反变换得到残差;同时从压缩数据码流中提取宏块帧内帧间解码选择信号,运动评估信息,要么从帧内提取宏块预测值,要么从参考帧中,经运动补偿后,提取对应位置的宏块预测值;残差加上预测值后,再经过滤波,就可以得到解码后的输出图像。该图像也可能被作为参考帧写入DPB中。
图2给出了一种典型的视频解码播放系统。外设存储器是硬盘、软盘、光盘、U盘等。经编码的视频文件存储在外设存储器中,或者直接缓存放入SDRAM中。如果视频文件放在外设存储器中,CPU(Central Processing Unit,中央处理器)会控制DMA(Direct MemoryAccess,直接内存访问)把视频文件拷贝到SDRAM中。CPU也会控制解码器,对视频文件进行一帧一帧的解码。解码后的帧经过重拍后,显示控制器对这些帧进行逐帧显示,最终形成完整的视频播放功能。
如图3所示,本发明提供了一种优化视频解码带宽的方法,包括如下步骤。
步骤100:将参考帧写入DPB时,分别对y、u、v中一种或多种的宏块进行无损压缩,生成压缩数据后压缩头信息以得到对应的压缩头。
步骤200:在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据。
步骤300:对提取的压缩数据进行解压缩,以还原成真实的参考帧宏块残差数据,进行后续的残差数据处理,即可得到解码后的输出图像。
在本优选实施例中,步骤100中所述无损压缩基于小波变换和熵编码,生成可变长的压缩数据,具体的如图4所示,本实施例的步骤100中的无损压缩可包括如下步骤。
步骤101:小波变换先对输入数据做一次列小波变换,再做一次行小波变换,以使复杂数据集中在一点,简单数据呈辐射状扩散。
步骤102:进一步对这些数据做熵编码,使复杂数据压缩成较多的码字,简单数据压缩成较少的码字,最终生成可变长的压缩数据。
在一些实施方式中,y的宏块大小为16*16,总共256Byte,压缩后的数据为1-256Byte,同时生成4bit的压缩头,其第1个宏块的有效压缩数据写入base_address,第2个宏块的有效压缩数据写入base_address+256,第n个宏块的有效压缩数据写入base_address+256*(n-1)。
在一些实施方式中,u/v的宏块大小为8*8,总共64Byte,压缩后的数据为1-64Byte,同时生成2bit的压缩头,其第1个宏块的有效压缩数据写入base_address,第2个宏块的有效压缩数据写入base_address+64,第n个宏块的有效压缩数据写入base_address+64*(n-1)。
在一些实施方式中,所述压缩头先按顺序缓存在压缩模块内部,多个连续的压缩头可组成1个128bit数据,累积到到4个128bit时再一次性写到DPB中;若是压缩到了参考帧最后1个宏块,则压缩头不必累积到4个128bit数据,直接写入DPB。
在一些实施方式中,步骤200为索引过程,参考图5,步骤200具体可扩展为如下步骤。
步骤201:依据解码器发送过来的宏块索引值,先从DPB中读出压缩头数据。
步骤202:得取到压缩头数据后,解析出来其中的有效长度信息,同时计算出要读的压缩块基地址,只读取有效长度的压缩数据进入解码器。
需要说明,在提取参考帧对应位置的宏块时,若现有缓存已占用超过预设值,例如超过八成,则待累积一定参考帧后再进行统一的宏块提取。这是为了避免缓存不足时,一个一个对参考帧进行提取分析会影响缓存的使用,降低效率,而将参考帧先获取累积,等到缓存充足时再统一进行分析,可以有效的避开缓存占用的高峰期,提高工作效率。
在一些实施方式中,所述对提取的压缩数据进行解压缩具体包括:接收到提取的压缩数据后,对其进行压损压缩的逆过程,先做熵解码,把数据全部恢复出来,然后通过重映射把数据恢复成8bit,最后做逆小波变换,解压生成无损压缩数据,以得到原始参考帧宏块数据做后续的残差处理。
在一些实施方式中,所述压缩头为1Byte或1/2Byte。可以理解的是,上述各具体数值仅为示例性的给出,其可根据实际需求和场景进行设置,本发明对此不做限制。
综上所述,本发明提出了一种优化视频解码带宽的方法,该方法包括:解码器在参考帧写入DPB时,进行无损压缩,压缩算法为小波变换加熵编码,分别对y、u/v的宏块进行压缩,生成压缩数据后压缩头信息。压缩数据也是以块作为单元,在DPB中分配的空间大小与原始宏块大小相等,但是在写压缩数据时只写入有效数据。压缩头为1Byte或1/2Byte,多个宏块的压缩头累计到一定数量后,一起写入DPB相应位置。解码器在经运动补偿后,提取参考帧对应位置的宏块时,根据此位置,先提取对应的压缩头,再提取对应的压缩数据,经过解压缩模块,得到正确的宏块预测数据,加上残差,再经过滤波,就可以得到解码后的输出图像。
通过这种方式,虽然会占用比原始参考帧稍微大一点的SDRAM空间(原始参考帧空间+压缩头空间),但是实现了对参考帧的无损压缩和解压缩,显著降低了解码器对SDRAM的访问带宽,同时不会降低参考帧和解码质量。另外,实现简单,不再需要内部SRAM缓存,通过地址就很容易索引到需要的宏块。在外部SDRAM中使用更多的空间,比起解码器内部增加SRAM,所花费的面积和成本小得多。
本发明实施例还提供一种优化视频解码带宽的系统,应用如上实施例提供的优化视频解码带宽的方法,如图6所示,为本实施例提供的一种优化视频解码带宽的系统框图,参考图6,本实施例的系统主要新增了无损压缩模块、参考帧索引模块以及解压缩模块,其中:所述无损压缩模块用于将参考帧写入DPB时,分别对y、u/v的宏块进行无损压缩,生成压缩数据后压缩头信息;所述参考帧索引模块用于在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据;所述解压缩模块用于对提取的压缩数据进行解压缩,以还原成真实的参考帧宏块残差数据,进行后续的残差数据处理,即可得到解码后的输出图像。
具体的,解码器将参考帧写入DPB时,分别对y/u/v做基于宏块的无损压缩,再写入DPB中。解码器在处理参考帧残差的流程中,在经过运动补偿,提取相应地址的宏块时,通过该地址进行索引分析,从DPB中取出相应宏块的压缩数据,在经过解压缩模块,还原成真实的参考帧宏块残差数据,进行后续的残差数据处理。
在一些实施方式中,压缩模块使用无损压缩算法,基于小波变换和熵编码,生成可变长的压缩数据。小波变换先对输入数据做一次列小波变换,再做一次行小波变换,这样就可以让高能量(复杂数据)集中在一点,低能量(简单数据)呈辐射状扩散,从而就很方便的对这些数据做熵编码,复杂数据压缩成较多的码字,简单数据压缩成较少的码字,最终生成可变长的压缩数据。压缩模块对y的宏块、u/v的宏块采用不同的块压缩方式进行压缩。
参考图7为本发明实施例中y的宏块压缩示意图,y的宏块大小为16*16,总共256Byte,压缩后的数据是可变长数据,为1-256Byte,同时生成4bit的压缩头,压缩头记录了压缩数据的有效长度。压缩前的宏块每行y在DPB空间都是地址不连续的数据,分16次才能写入SDRAM,效率低;压缩后则变成了地址连续的数据,并且只需要往DPB中写入有效数据,通过一次突发操作即可传输完成,极大的降低了SDRAM访问带宽。压缩块申请的空间固定是256Byte,假设存放压缩数据的起始地址为base_address,则第1个宏块的有效压缩数据写入base_address,第2个宏块的有效压缩数据写入base_address+256,第n个宏块的有效压缩数据写入base_address+256*(n-1),非常方便。
在一些实施方式中,压缩头则是先按顺序缓存在压缩模块内部,每32个连续的压缩头可以组成1个128bit(16Byte)数据,一般是累积到到4个128bit再一次性写到DPB中,这样可以提高效率。如果是压缩到了参考帧最后1个宏块,则压缩头不必累积到4个128bit数据,直接写入DPB。最终,压缩头在DPB中按照顺序连续存放。
在一些实施方式中,u/v的宏块和y的宏块的处理方法类似,区别是u/v的宏块大小为8*8,总共64Byte,压缩后的数据为1-64Byte,同时生成2bit的压缩头。相应的,u/v的宏块的有效压缩数据写入base_address+64*(n-1)。
在一些实施方式中,由于压缩流程简单,所以解压缩流程实现也很简单。假设在DPB中保存的压缩参考帧数据部分起始地址为payload_address,压缩头部分起始地址为header_address。在参考帧索引模块中,依据解码器发送过来的宏块索引值n(从0开始),先去从DPB中读出压缩头数据。y的压缩头是4bit,u/v的压缩头是2bit,y压缩头对应的128bit(16Byte)数据的地址为header_address+(n/(128/4))*16,u/v压缩头对应的128bit(16Byte)数据的地址为header_address+(n/(128/2))*16,其中n/(128/2), n/(128/4)是取整运算;并且,具体宏块在128bit数据中的位置是第n个4bit和2bit。帧索引模块取到压缩头数据后,解析出来其中的有效长度信息,同时计算出要读的压缩块基地址base_address+256*n和base_address+64*n,只读取有效长度的压缩数据进入解码器。
在一些实施方式中,解压缩模块接收到压缩数据后,对其进行无损压缩的逆过程。先做熵解码,把数据全部恢复出来,然后通过重映射把数据恢复成8bit,最后做逆小波变换,解压生成无损压缩数据。如此就可以取到原始参考帧宏块数据做后续的残差处理。
在一些实施方式中,一种典型的整帧压缩示意图如图8所示。
以y的宏块为例,其处理方式如下所述:参考帧在横向上分割成n份,在纵向上分割成m块,总计n*m块,它们的索引值为0、1、2、…、n*m-1。块0压缩数据映射到payload_address地址空间,块1压缩数据映射到payload_address+256*1地址空间,块n*m-1压缩数据映射到payload_address+256*(n*m-1)地址空间。块0-块31压缩头映射到header_address地址空间,块32-块63压缩头映射到header_address+16*1地址空间,块32*X-块n*m-1压缩头映射到header_address+16*X地址空间,其中X为(n*m-1)/32。
以u/v的宏块为例,其处理方式如下所述:参考帧在横向上分割成n份,再纵向上分割成m块,总计n*m块,它们的索引值为0、1、2、…、n*m-1。块0压缩数据映射到payload_address地址空间,块1压缩数据映射到payload_address+64*1地址空间,块n*m-1压缩数据映射到payload_address+64*(n*m-1)地址空间。块0-块63压缩头映射到header_address地址空间,块64-块127压缩头映射到header_address+16*1地址空间,块64*X-块n*m-1压缩头映射到header_address+16*X地址空间,其中X为(n*m-1)/64。
综上所述,本发明提出了一种优化视频解码带宽的系统,该系统的解码器在参考帧写入DPB时,进行无损压缩,压缩算法为小波变换加熵编码,分别对y、u/v的宏块进行压缩,生成压缩数据后压缩头信息。压缩数据也是以块作为单元,在DPB中分配的空间大小与原始宏块大小相等,但是在写压缩数据时只写入有效数据。压缩头为1Byte或1/2Byte,多个宏块的压缩头累计到一定数量后,一起写入DPB相应位置。解码器在经运动补偿后,提取参考帧对应位置的宏块时,根据此位置,先提取对应的压缩头,再提取对应的压缩数据,经过解压缩模块,得到正确的宏块预测数据,加上残差,再经过滤波,就可以得到解码后的输出图像。
通过这种方式,虽然会占用比原始参考帧稍微大一点的SDRAM空间(原始参考帧空间+压缩头空间),但是实现了对参考帧的无损压缩和解压缩,显著降低了解码器对SDRAM的访问带宽,同时不会降低参考帧和解码质量。另外,实现简单,不再需要内部SRAM缓存,通过地址就很容易索引到需要的宏块。本发明实施例在外部SDRAM中使用更多的空间,比起解码器内部增加SRAM,所花费的面积和成本小得多。
在上述实施例提供的优化视频解码带宽的方法的基础上,本发明还提供了一种可用于实现上述方法的优化视频解码带宽的装置,如图9所示,是本发明实施例的装置架构示意图。本实施例的优化视频解码带宽的装置包括一个或多个处理器21以及存储器22。其中,图9中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例2中的优化视频解码带宽的方法。处理器21通过运行存储在存储器22中的非易失性软件程序、指令以及模块,从而执行优化视频解码带宽的装置的各种功能应用以及数据处理,即实现本发明实施例的优化视频解码带宽的方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
程序指令/模块存储在存储器22中,当被一个或者多个处理器21执行时,执行上述实施例2中的优化视频解码带宽的方法,例如,执行以上描述的图3-图5所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ReadOnlyMemory,简写为:ROM)、随机存取存储器(RandomAccessMemory,简写为:RAM)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种优化视频解码带宽的方法,其特征在于,包括:
将参考帧写入DPB时,分别对y、u、v中一种或多种的宏块进行无损压缩,生成压缩数据后压缩头信息以得到对应的压缩头;
在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据;
对提取的压缩数据进行解压缩,以还原成真实的参考帧宏块残差数据,进行后续的残差数据处理,即可得到解码后的输出图像。
2.根据权利要求1所述的优化视频解码带宽的方法,其特征在于,所述无损压缩基于小波变换和熵编码,生成可变长的压缩数据,其中:
小波变换先对输入数据做一次列小波变换,再做一次行小波变换,以使复杂数据集中在一点,简单数据呈辐射状扩散;
进一步对这些数据做熵编码,使复杂数据压缩成较多的码字,简单数据压缩成较少的码字,最终生成可变长的压缩数据。
3.根据权利要求2所述的优化视频解码带宽的方法,其特征在于,y的宏块大小为16*16,总共256Byte,压缩后的数据为1-256Byte,同时生成4bit的压缩头,其第1个宏块的有效压缩数据写入base_address,第2个宏块的有效压缩数据写入base_address+256,第n个宏块的有效压缩数据写入base_address+256*(n-1)。
4.根据权利要求2所述的优化视频解码带宽的方法,其特征在于,u、v的宏块大小为8*8,总共64Byte,压缩后的数据为1-64Byte,同时生成2bit的压缩头,其第1个宏块的有效压缩数据写入base_address,第2个宏块的有效压缩数据写入base_address+64,第n个宏块的有效压缩数据写入base_address+64*(n-1)。
5.根据权利要求3或4所述的优化视频解码带宽的方法,其特征在于,所述压缩头先按顺序缓存在压缩模块内部,多个连续的压缩头可组成1个128bit数据,累积到到4个128bit时再一次性写到DPB中;若是压缩到了参考帧最后1个宏块,则压缩头不必累积到4个128bit数据,直接写入DPB 。
6.根据权利要求5所述的优化视频解码带宽的方法,其特征在于,所述在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据包括:
依据解码器发送过来的宏块索引值,先从DPB中读出压缩头数据;
待获取压缩头数据后,解析出来其中的有效长度信息,同时计算出要读的压缩块基地址,只读取有效长度的压缩数据进入解码器;
在提取参考帧对应位置的宏块时,若现有缓存已占用超过预设值,则待累积一定参考帧后再进行统一的宏块提取。
7.根据权利要求6所述的优化视频解码带宽的方法,其特征在于,所述对提取的压缩数据进行解压缩包括:
接收到提取的压缩数据后,对其进行压损压缩的逆过程,先做熵解码,把数据全部恢复出来,然后通过重映射把数据恢复成8bit,最后做逆小波变换,解压生成无损压缩数据,以得到原始参考帧宏块数据做后续的残差处理。
8.根据权利要求1至4中任一项所述的优化视频解码带宽的方法,其特征在于,所述压缩头为1Byte或1/2Byte。
9.一种优化视频解码带宽的系统,应用如权利要求1至8中任一项所述的优化视频解码带宽的方法,其特征在于,包括无损压缩模块、参考帧索引模块以及解压缩模块,其中:
所述无损压缩模块用于将参考帧写入DPB时,分别对y、u/v的宏块进行无损压缩,生成压缩数据后压缩头信息;
所述参考帧索引模块用于在经运动补偿后提取参考帧对应位置的宏块时,通过对应地址进行索引分析,先提取对应的压缩头,再提取对应的压缩数据;
所述解压缩模块用于对提取的压缩数据进行解压缩,以还原成真实的参考帧宏块残差数据,进行后续的残差数据处理,即可得到解码后的输出图像。
10.一种优化视频解码带宽的装置,其特征在于,装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器设置为执行权利要求1至8中任一项所述的优化视频解码带宽的方法。
CN202310873084.9A 2023-07-17 2023-07-17 一种优化视频解码带宽的方法、系统及装置 Active CN116600129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310873084.9A CN116600129B (zh) 2023-07-17 2023-07-17 一种优化视频解码带宽的方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310873084.9A CN116600129B (zh) 2023-07-17 2023-07-17 一种优化视频解码带宽的方法、系统及装置

Publications (2)

Publication Number Publication Date
CN116600129A true CN116600129A (zh) 2023-08-15
CN116600129B CN116600129B (zh) 2023-10-20

Family

ID=87601294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310873084.9A Active CN116600129B (zh) 2023-07-17 2023-07-17 一种优化视频解码带宽的方法、系统及装置

Country Status (1)

Country Link
CN (1) CN116600129B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088983A2 (en) * 2004-03-08 2005-09-22 Koninklijke Philips Electronics N.V. Video decoder with scalable compression and buffer for storing and retrieving reference frame data
KR20070027781A (ko) * 2005-08-29 2007-03-12 엘지전자 주식회사 멀티 포맷 비디오 디코더 및 디블로킹 필터링 방법
US20080267295A1 (en) * 2007-04-26 2008-10-30 Chih-Ta Star Sung Video decompression, de-interlacing and frame rate conversion with frame buffer compression
CN105491377A (zh) * 2015-12-15 2016-04-13 华中科技大学 一种计算复杂度感知的视频解码宏块级并行调度方法
CN105578190A (zh) * 2016-02-03 2016-05-11 珠海全志科技股份有限公司 应用于视频硬解码的无损压缩方法及系统
CN110945870A (zh) * 2018-08-01 2020-03-31 深圳市大疆创新科技有限公司 视频处理设备和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088983A2 (en) * 2004-03-08 2005-09-22 Koninklijke Philips Electronics N.V. Video decoder with scalable compression and buffer for storing and retrieving reference frame data
KR20070027781A (ko) * 2005-08-29 2007-03-12 엘지전자 주식회사 멀티 포맷 비디오 디코더 및 디블로킹 필터링 방법
US20080267295A1 (en) * 2007-04-26 2008-10-30 Chih-Ta Star Sung Video decompression, de-interlacing and frame rate conversion with frame buffer compression
CN105491377A (zh) * 2015-12-15 2016-04-13 华中科技大学 一种计算复杂度感知的视频解码宏块级并行调度方法
CN105578190A (zh) * 2016-02-03 2016-05-11 珠海全志科技股份有限公司 应用于视频硬解码的无损压缩方法及系统
CN110945870A (zh) * 2018-08-01 2020-03-31 深圳市大疆创新科技有限公司 视频处理设备和方法

Also Published As

Publication number Publication date
CN116600129B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN102104764B (zh) 一种图像序列的压缩存储处理方法
JP5969914B2 (ja) 動画像圧縮伸張装置
KR100772379B1 (ko) 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
JP2009260977A (ja) 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮
US9510008B2 (en) Video decoder memory bandwidth compression
US20060133512A1 (en) Video decoder and associated methods of operation
KR100192696B1 (ko) 화상 재생 방식 및 장치
JP4209631B2 (ja) 符号化装置、復号化装置、及び、圧縮伸長システム
US20120147023A1 (en) Caching apparatus and method for video motion estimation and compensation
CN105472442A (zh) 一种用于超高清帧率上变换的片外缓存压缩系统
CN103109535A (zh) 图像再生方法、图像再生装置、图像再生程序、摄像系统及再生系统
GB2480747A (en) Different memory addressing modes, featuring Golomb coding, dependant on whether data originates from a video decoder or an encoder
CN116600129B (zh) 一种优化视频解码带宽的方法、系统及装置
CN116233453B (zh) 一种视频编码方法及装置
US6928115B2 (en) Compression-encoded data decoding apparatus cross-reference to related applications
TWI382766B (zh) 一種用於超高解析度之顯示框壓縮系統及方法
KR20020026189A (ko) 고정된 비율 압축을 이용하는 효율적인 비디오 데이터엑세스
CN111757126A (zh) 面向vr的实时图像压缩方法、系统和存储介质
JP2950367B2 (ja) 逆離散余弦変換器におけるデータ出力順序変換方法及び回路
CN114727116A (zh) 编码方法及装置
JP2003230148A (ja) 画像データ符号化装置
JP7359653B2 (ja) 動画像符号化装置
CN116527903B (zh) 图像浅压缩方法及解码方法
CN101583042A (zh) 在视频解码中降低储存装置读写频宽的系统及方法
Jang et al. A Bus-aware Interface Design of One-dimensional Frame Memory Compression for a Video Encoder

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