CN105578190B - 应用于视频硬解码的无损压缩方法及系统 - Google Patents

应用于视频硬解码的无损压缩方法及系统 Download PDF

Info

Publication number
CN105578190B
CN105578190B CN201610077393.5A CN201610077393A CN105578190B CN 105578190 B CN105578190 B CN 105578190B CN 201610077393 A CN201610077393 A CN 201610077393A CN 105578190 B CN105578190 B CN 105578190B
Authority
CN
China
Prior art keywords
module
compression
prediction
video
data
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
CN201610077393.5A
Other languages
English (en)
Other versions
CN105578190A (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.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology 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 Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN201610077393.5A priority Critical patent/CN105578190B/zh
Publication of CN105578190A publication Critical patent/CN105578190A/zh
Priority to US16/070,028 priority patent/US10681363B2/en
Priority to PCT/CN2016/108969 priority patent/WO2017133315A1/zh
Priority to EP16889122.4A priority patent/EP3386199B8/en
Application granted granted Critical
Publication of CN105578190B publication Critical patent/CN105578190B/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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/182Methods 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 a pixel
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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

本发明提供的应用于视频硬解码的无损压缩方法及系统,该方法依次包括视频解码步骤、压缩步骤、存储步骤和解压缩步骤,其中,压缩步骤将16X4的亮度块和对应的8X2的U色度块和V色度块作为一个压缩单元进行无损压缩;存储步骤采用对整帧图像以四个像素行为单位进行紧凑压缩存放,并且每四个像素行的起始地址固定;解码步骤包括参考帧读取步骤,参考帧读取步骤采用二级Cache结构。本发明的系统是应用上述方法的系统。本发明能够实现了参考帧数据读取带宽的降低,从而降低解码过程中的带宽消耗。

Description

应用于视频硬解码的无损压缩方法及系统
技术领域
本发明属于视频解码领域,具体涉及一种应用于视频硬解码的无损压缩方法及无损压缩系统。
背景技术
随着视频分辨率越来越大,从以前的D1、720P向1080P、4K迈进,随之而来的视频解码所占用的带宽越来越大,而且随着4K面板的流行普及,显示设备所消耗的带宽也同步增加,以解码4K@30FPS码流和显示4K YUV数据为例,视频解码设备和显示设备占用的带宽评估如下:
视频解码设备:4Kx2Kx1.5x3.5x30=1260M byte
显示设备:4Kx2Kx1.5x60=720M byte
二者相加已经达到了1.98G byte,接近2G,如果解码8K视频,以及Display面板也为8K,则需求的带宽还需翻倍,接近4G,如此大的带宽需求对目前非常有限的DDR带宽来说是一个非常沉重的负担,已经成为超高清视频解码显示的一大瓶颈,迫切需要在视频解码过程中加入无损压缩算法以达到节省带宽的目的。
目前在视频硬解码领域,对于4K、8K大分辨率视频,由于解码带宽非常大,如果不采用无损压缩,上文已分析即使解码4K分辨率视频码流,带宽已达到1.98G,带宽太大,在一般的视频播放设备如平板上,由于性价比因素的考量,DDR的运行频率一般都不高,这就导致达不到解码30帧流畅播放的要求,画面出现跳跃等现象,而一般的无损压缩算法类似JPEG-LS算法,由于算法实现的复杂度,压缩、解压缩各像素相互依赖而导致压缩、解压缩速度很慢,进而影响到视频解码的性能,以及压缩算法压缩率低,节省带宽有限等问题。
发明内容
本发明针对现有视频硬解码模块带宽需求大的问题,设计了一种VD-LFRC(VideoDecoder Lossless Frame Compression)无损压缩算法,能和视频硬解码模块完美配合。同时由于在视频解码模块解码过程中,参考帧数据的读取消耗的带宽占总带宽的70%左右,为了减少参考帧数据读取的带宽消耗,在实现上,本发明采用了和VD-LFRC无损压缩算法相配合的二级Cache设计架构,通过二级Cache的设计架构,实现了参考帧数据读取带宽的降低,从而降低了视频解码模块解码过程中的带宽消耗。
本发明的主要目的是提供应用于视频硬解码的无损压缩方法。
本发明的另一目的是提供应用于视频硬解码的无损压缩系统。
为实现上述主要目的,本发明提供的应用于视频硬解码的无损压缩方法,依次包括视频解码步骤、压缩步骤、存储步骤和解压缩步骤;视频解码步骤包括解码视频码流,输出解码后的YUV数据的步骤;压缩步骤包括对视频解码步骤输出的YUV数据进行无损压缩的步骤;存储步骤包括存放无损压缩数据的步骤;解压缩步骤包括对所述无损压缩数据进行解压缩以及恢复原始YUV数据的步骤;其中,压缩步骤将16X4的Y亮度块和对应的8X2的U色度块和8X2的V色度块作为一个压缩单元进行无损压缩;存储步骤采用对整帧图像以四个像素行为单位进行紧凑压缩存放,并且每四个像素行的起始地址固定;解码步骤包括参考帧读取步骤,参考帧读取步骤采用二级Cache结构,二级Cache结构中一级为Compress-Cache,缓存压缩后的数据,另一级为2D-Cache,缓存解压缩后的原始YUV数据。
由上述方案可见,在视频解码模块解码过程中,参考帧数据的读取消耗的带宽占总带宽的70%左右,为了减少参考帧数据读取的带宽消耗,本发明采用了和VD-LFRC(VideoDecoder Lossless Frame Compression)无损压缩相配合的二级Cache设计架构,通过二级Cache的设计架构,实现了参考帧数据读取带宽的极大降低,从而降低了视频解码模块解码的带宽消耗。
一个优选的方案是,压缩步骤包括预测步骤、分组步骤和熵编码步骤;预测步骤包括通过预测模式对Y亮度块、U色度块和V色度块分别进行预测的步骤和计算预测值的步骤;分组步骤包括根据预测值和原始值计算残差的步骤以及对残差进行分组的步骤;熵编码步骤包括对分组步骤分组后的残差的值进行熵编码的步骤。
由上可见,对亮度块和色度块进行预测得到各像素点的预测值,然后通过预测值得到各像素点的残差,对残差进行熵编码后可以计算得到色度块和亮度块编码后的总比特数。
一个优选的方案是,预测模式包括水平预测、垂直预测以及均值预测。
由上可见,在对色度块和亮度块的压缩中用到了水平预测,垂直预测和均值预测算法,通过多种预测方法,以及随后的分组和熵编码,可以得到压缩率最高即所需要的比特数最小的预测模式。
一个优选的方案是,熵编码步骤包括根据预测模式和残差计算各预测模式下Y亮度块、U色度块或者V色度块的比特数的步骤以及找出预测后使Y亮度块、U色度块或者V色度块的比特数最小的预测模式,并判断最小的比特数是否超过Y亮度块、U色度块和V色度块的原始比特数的步骤。
由上可见,找出在不同的预测模式下,预测编码后亮度块或色度块所需的最小比特数,然后判断最小比特数和亮度块或色度块的原始比特数的大小,从而决定亮度块或色度块的比特数。
为了实现本发明的另一个目的,本发明提供的应用于视频硬解码的无损压缩系统,包括视频解码模块、压缩模块、存储模块和解压缩模块,视频解码模块用于解码视频码流,并将解码后的YUV数据输出至压缩模块,压缩模块对解码后的YUV数据进行无损压缩并输出至存储模块,存储模块将压缩后的数据存放到外部存储器中,解压缩模块将存放到外部存储器中的数据进行解压缩,恢复为原始YUV数据并输出至视频解码模块;其中,压缩模块将16X4的亮度块和对应的8X2的U分量色度块和8X2的V分量色度块作为一个压缩单元进行无损压缩;存储模块采用对整帧图像以四个像素行为单位进行紧凑压缩存放,并且每四个像素行的起始地址固定;视频解码模块包括参考帧读取模块,所述参考帧读取模块用于读取参考帧,参考帧的读取采用二级Cache结构,二级Cache结构中一级为Compress-Cache,用于缓存压缩后的视频数据,另一级为2D-Cache,用于缓存解压缩后的视频数据。
由上述方案可见,在本发明的系统中,采用了以16x4 亮度块和对应的8x2 色度块作为一个压缩单元进行压缩,每个压缩单元以byte进行紧凑排列,从而可以保证视频解码模块解码输出的块数据能够及时的压缩,不需要额外开辟buffer来缓存数据。
附图说明
图1是本发明应用于视频硬解码的无损压缩方法的流程图。
图2是本发明应用于视频硬解码的无损压缩方法的流程图中对压缩步骤的步骤流程图。
图3是本发明应用于视频硬解码的无损压缩方法实施例的亮度预测图。
图4是本发明应用于视频硬解码的无损压缩方法实施例的亮度预测的残差分组表。
图5是本发明应用于视频硬解码的无损压缩方法实施例的Bit Length Header范围对应表。
图6是本发明应用于视频硬解码的无损压缩方法实施例的压缩数据存储格式图。
图7是本发明应用于视频硬解码的无损压缩方法实施例的压缩数据头信息overhead数据存储格式图。
图8是本发明的应用于视频硬解码的无损压缩系统的结构框图。
图9是本发明的应用于视频硬解码的无损压缩系统中视频解码模块的结构框图。
图10是本发明的应用于视频硬解码的无损压缩系统中压缩模块的结构框图。
图11是本发明的应用于视频硬解码的无损压缩系统中解压缩模块的结构框图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
参见图1,图1是本发明应用于视频硬解码的无损压缩方法的流程图。首先执行视频解码步骤S1,解码视频码流,输出解码后的YUV数据,然后执行步骤压缩步骤S2,视频解码步骤S1输出的YUV数据进行无损压缩,接着执行存储步骤S3,存放无损压缩数据,然后执行解压缩步骤S4,对无损压缩数据进行解压缩以及恢复原始YUV数据。
下面结合图2对上述压缩步骤S2进行详细说明,压缩步骤S2首先执行预测步骤S21,通过预测模式对Y亮度块、U色度块和V色度块分别进行预测的步骤和计算预测值,然后执行分组步骤S22,根据预测值和原始值计算残差的步骤以及对残差进行分组,最后执行熵编码步骤S23,对分组步骤S22分组后的残差的值进行熵编码。
上述预测模式包括水平预测、垂直预测以及均值预测,熵编码步骤包括根据预测模式和残差计算各预测模式下Y亮度块、U色度块或者V色度块的比特数以及找出预测后使Y亮度块、U色度块和V色度块的比特数最小的预测模式,并判断最小的比特数是否超过Y亮度块、U色度块和V色度块的原始比特数。
本发明的无损压缩方法采用设计的VD-LFRC无损压缩算法,此无损压缩算法采用大小为16x4的Y亮度块和对应的大小为8x2的U色度块和V色度块作为一个压缩单元进行无损压缩,压缩步骤主要包括预测步骤,分组步骤以及熵编码步骤。
参见图3,图3为本发明应用于视频硬解码的无损压缩方法实施例的亮度预测图,对于一个压缩单元,预测步骤将16x4的Y亮度块分成2个大小为8x4块分别压缩,8x2的U色度块和8x2的V色度块分别压缩。对每个8x4的Y亮度块或8x2的U或V色度块,首先进行预测,预测模式可使用水平预测,垂直预测和均值预测算法,如图3所示,表示水平预测,采用左边的值进行预测;表示垂直预测,采用上边的值进行预测;表示水平均值预测,采用水平方向左边和右边的值进行二值平均进行预测; 表示垂直均值预测,采用垂直方向上边和下边的值二值平均进行预测。
经过上面的预测步骤,已经得到每个点对应的预测值,然后用原始数据减去所对应的预测值数据,得到每个点经过预测后的残差值,分组步骤根据不同的预测模式对残差值进行分组,参见图4,根据预测顺序以及依赖关系,将残差值分为五组。
熵编码步骤对分组后的残差值进行熵编码,为了描述方便,设为n组,每组m[i]个残差,i=0~n-1。首先找到每组内残差的最大值和最小值,然后根据图5所示的Bit LengthHeader范围对应表,算出此组数表示此范围残差所需要的比特数,记为head_length[i],i=0~n,此值固定3个比特编码,然后组内的每个残差数据根据head_length[i]进行定长熵编码,此外,编码整组残差数据还需要加上DC值,固定8比特,预测模式所需要的比特数,如采用四种预测模式进行编码,则固定2比特表示预测模式,如采用八种预测模式进行编码,则需固定3比特表示预测模式,故亮度熵编码后总的bit数计算如下:
Total_bit_mode1 = 8 + 预测模式比特数
算出亮度预测模式进行预测编码后所需要的bit数,选取bit数最小的预测模式作为此亮度8x4压缩的最佳模式。此外,在熵编码阶段,会判断最佳的总的bit数是否超过当前块的原始数据,原始数据块大小为8x4即为32byte,也就是256bit,如果超过,直接用原始数据代替。
8x2的U色度块和8x2的V色度块的压缩算法和8x4亮度块的压缩算法类似,只是色度U分量和色度V分量的大小只有亮度的一半,而且只有两行,在预测上,可以减少色度分量的预测模式,其它和亮度一样。
在经过上面的无损压缩步骤后,得到经过压缩后的数据,为了和视频解码模块配合,在压缩数据的存放上采用了如图6所示的压缩数据存储格式,即对整帧图像以四个像素行为单位进行紧凑压缩存放,并且每四个像素行的起始地址固定,每四行压缩后存放的起始地址偏移为:
((Picture Width + 15)>> 4) * 16* 4 * 1.5
除了压缩数据外,为了方便读取参考帧数据时进行随机访问,还需要存放表示压缩数据长度的头信息overhead数据,此部分数据的存放格式如下:每四个压缩单元占用56bit,前面16bit为offset偏移信息,表示当前四个压缩单元存放地址相比其所在行起始地址的偏移。后面的40bit存放四个压缩单元占用的byte数及是否压缩信息,每个压缩单元10bit,前两个bit分别表示两个8x4的Y亮度块是否需要压缩,第三个bit表示两个8x2的U色度块和8x2的V色度块是否压缩,为了节省比特数,U色度块和V色度块作为一个整体来是否需要压缩,后面的七个比特表示当前压缩单元经过压缩后的总长度-1,以byte为单位。。
在视频解码模块解码过程中,当解码到非INTRA块时,需要到DDR读取参考帧数据进行插值运算,此部分参考帧数据读取消耗的带宽占视频解码模块解码总带宽的70%左右,为了进一步节省参考帧数据读取的带宽消耗,在采用VD-LFRC无损压缩算法后,对参考帧数据的读取采用了二级Cache架构。一级Cache为2D-Cache,用来缓存VD-LFRC解压缩后的原始YUV数据,此2D-Cache的存在避免了同样的YUV数据从DDR反复读取的情况,由于数据已经缓存到了2D-Cache,下次读取时,直接从2D-Cache读取。具体设计上,此Cache采用的是多way的直接映射,亮度Luma大小为W1 x H1 x N1,W1为宽度,考虑到DDR的属性,W1可定为32,H1为高度,可设计为8,16,32,64等,N1表示way数,可设计为2,4,8,16等;色度Chroma大小为W2x H2 x N2,W2为宽度,同样考虑到DDR的属性W2可定为32,H2为高度,可设计为8,16,32等,N2表示way数,可设计为2,4,8,16等。在替换策略上,亮度和色度都可采用整帧数据的直接地址映射,多way的替换可采用FIFO先进先出策略,方便硬件实现。另外一级Cache为Compress-Cache,Compress-Cache用来存放压缩后数据,当从DDR中读取的压缩数据在进行解压缩时,有很大概率在解压缩的过程中,只用掉了部分读取到的压缩数据,还有部分压缩数据未被解压缩,但极大的概率在下一个块的参考帧读取中需要用到,为了节省带宽,所以加入了Compress-Cache来缓存压缩数据,此Cache的大小为:W3 x H3 x N3,W3同样考虑DDR属性可定为32,H3为高度,可设计为8,16,32,64等,N3表示way数,可设计为2,4,8,16等。由于在VD-LFRC压缩算法中将亮度和色度是作为一个压缩单元一起来压缩的,所以Compress-Cache不需要区分亮度和色度。在替换策略上,采用和VD-LFRC压缩算法相结合的直接地址映射,由于VD-LFRC压缩算法采用的是整帧图像以四个像素行为单位进行紧凑排列,故在地址映射上,每四行映射到一条Cache Line,多way的替换同样采用的是FIFO先进先出策略。
本发明的无损压缩方法是和视频解码模块配合实现的,结合图8,图8是本发明的应用于视频硬解码的无损压缩系统的结构框图,可知本发明的无损压缩系统包括一个视频解码模块1,用于解码视频码流数据。压缩模块2,用于对视频解码模块1输出的YUV数据采用VD-LFRC压缩算法进行无损压缩。存储模块3对压缩后的数据会按照一定的存储格式进行输出,存放到DDR中。视频解压缩模块4,用于在视频解码模块1在解码非INTRA块时,需要读取参考帧数据时,对压缩过的参考帧数据进行解压缩。在视频解码模块1开始工作后,会输出块大小为W_YxH_Y的Y亮度块和W_UVxH_UV的U色度块和V色度块的YUV数据,为了配合压缩模块2工作,压缩模块2以一个压缩单元为单位进行压缩,压缩单元的大小为16x4的 Y亮度块和对应的8x2的U色度块和8x2的V色度块,为此,输出的块大小会尽量满足W_Y为16的倍数,W_UV为8的倍数,H_Y为4的倍数,H_UV为2的倍数,且色度块的大小在水平方向和垂直方向上均为亮度块大小的1/2,如果条件不满足,如视频解码模块1在解码Tile边界块时,不一定能满足上面的条件,此时,视频解码模块1会通知压缩模块2,当前块数据直接采用非压缩的方式输出,不需要进行压缩。压缩模块2在收到W_YxH_Y的Y亮度块和W_UVxH_UV的U色度块和V色度块后,如果当前块需要进行压缩,则采用VD-LFRC的压缩算法对YUV数据进行压缩,如果当前块不需要压缩,则直接输出原始的YUV数据。存储模块3在接收到压缩模块2输出的数据后,按照图6所示的存储格式:对整帧图像以四个像素行为单位进行紧凑压缩存放,并且每四个像素行的起始地址固定,进行输出。此外,对头信息overhead数据按照图7所示的压缩数据头信息overhead数据存储格式进行输出,存放到DDR。在视频解码模块1解码到非INTRA块时,需要读取参考帧数据来进行插值运算,解压缩模块4会读取存放在DDR中的压缩数据以及相应的overhead数据,进行解压缩运算得到原始的YUV数据,并将此数据输出到视频解码模块1。一直循环处理,直到一帧或一场所有MB或CU解码完成。
结合图9可知视频解码模块1的内部结构,流程控制模块201主要用于将通过熵解码/反扫描/反量化模块202进行熵解码得到的MB(宏块)或CU(编码单元)的信息分发给其他模块,控制各个模块按照各个标准的视频解码流程依次执行,其中MB或CU的信息主要包括宏块类型、INTRA(帧内)预测模式、运动向量残差、转换块大小等信息以及寄存器信息。同时,流程控制模块201接收其它各模块向DDR发出的读写请求,在内部进行仲裁处理后,向外部DDR发送读写操作的请求。
熵解码/反扫描/反量化模块202主要用于对输入的码流进行CABAC或CAVLC熵解码,将熵解码得到的MB或CU的控制信息反馈给流程控制模块201,同时对熵解码得到的系数残差信息进行反扫描和反量化,输出反量化后的残差数据。
反变换模块203用于对熵解码/反扫描/反量化模块202输出的反量化后的残差数据进行反变换,根据流程控制模块201发送的MB或CU信息决定进行4x4、8x8、16x16或32x32的反变换,反变换模块203输出经过反变换后的残差数据。
MVD模块206根据相邻MV(运动矢量)信息或后向对应位置宏块MV信息得到预测MVP,再加上从熵解码/反扫描/反量化模块202解码得到的MV残差信息,得出当前MB或CU各个PU(预测单元)的最终MV信息。
参考帧读取模块11包括2D-Cache模块207和Compress-Cache模块208,2D-Cache模块207主要用于缓存原始的参考帧数据,以减少带宽需求,在帧内预测/插值/运动补偿模块204发出参考帧数据读取请求后,2D-Cache模块207与缓存在其内部的参考帧地址信息以及参考索引等进行匹配,如果命中,则直接从2D-Cache模块207中读取相应的参考帧数据,并输出给帧内预测/插值/运动补偿模块204,如果不命中,则到Compress-Cache模块208进行参考帧地址信息匹配查找,如果命中,从Compress-Cache模块208读取压缩后的参考帧数据,然后送到解压缩模块4进行解压缩,并将解压缩后得到的原始参考帧数据写入2D-Cache模块207,如果在Compress-Cache模块208也没有命中,则需要通过流程控制模块201向DDR发送读数请求,当DDR将压缩的参考帧数据送来后,一方面要将压缩的参考帧数据写入Compress-Cache模块208进行缓存,同时,还需要将压缩的参考帧数据写入解压缩模块4进行解压缩,解压缩后得到的原始参考帧数据也要写入到2D-Cache模块207。
帧内预测/插值/运动补偿模块204主要用于对INTRA块执行帧内预测和对INTER(帧间)块执行帧间插值,再加上从反变换模块203传过来的残差数据,可以得到环内滤波前的YUV视频数据。
去块滤波/采样自适应滤波模块205主要对帧内预测/插值模块/运动补偿模块204输出的YUV视频数据进行环路滤波操作和自适应样点补偿操作,输出最终重建值。
WriteBack模块209用于向流程控制模块201发送写请求,将去块滤波/采样自适应滤波模块205输出的重建YUV视频数据输出到流程控制模块2,由流程控制模块在内部仲裁后将此重建YUV视频数据进行输出,从而完成整个解码过程。
结合图10可知压缩模块2的内部结构,压缩模块包括预测模块21和熵编码模块22,预测模块21包括不同预测模式下的Y亮度块的预测单元以及U色度块和V色度块的水平预测单元以及垂直预测单元;熵编码模块22包括色度熵编码单元以及亮度熵编码单元。
数据读取单元301读取视频解码模块1内部结构中流程控制模块201输出的重建YUV视频数据,将读取的亮度数据分别输入到Mode0预测单元306、Mode1预测单元307、Mode2预测单元308以及Mode3预测单元309,来进行相应预测模式下的预测,并计算得到相应预测模式下的残差,然后将相应的残差进行亮度熵编码,计算得到当前预测模式下编码的总比特数,在Y亮度块选择单元320中选择总比特数最小的预测模式作为Y亮度块最优预测模式,同时,将读取的U色度块数据分别送入到U水平预测单元302和U垂直预测单元303,将V色度块数据分别送入到V水平预测单元304和V垂直预测单元305,对U色度块数据和V色度块数据分别同时进行水平预测和垂直预测,得到相应的U色度块和V色度块水平预测和垂直预测的残差数据,然后进行色度熵编码,计算得到当前预测模式下的总比特数,在U色度块选择单元318选取总比特数最小的预测模式作为U色度块最优预测模式,在V色度块选择单元319选取总比特数最小的预测模式作为V色度块最优预测模式,在压缩打包单元321将选取的Y亮度块、U色度块以及V色度块最优预测模式下得到的编码数据进行打包,此时,如果Y亮度块、U色度块以及V色度块最优预测模式下的总比特数超过原始的YUV视频数据的长度或是当前块标识为非压缩块,则当前块数据直接用原始YUV视频数据,数据的压缩打包按照上述方法实施例中图6的格式进行存放,头信息overhead数据按照图7的格式进行存放,打包完后的压缩数据输出至存储模块3进行输出存放。
结合图11可知解压缩模块4的内部结构,视频解码模块1内部结构中的2D-Cache模块207在参考帧数据没有命中的情况下,会向流程控制模块201发出读取参考帧数据的请求,返回的经过压缩后的数据以及头信息overhead数据会输出至压缩数据读取单元400,熵解码单元401会根据每个压缩单元的控制信息对压缩的参考帧数据进行熵解码并得到残差信息,其中控制信息来源于控制信息单元413。
同时,熵解码单元401会根据控制信息单元413来选择将U色度块残差信息送入U水平预测解码单元402或U垂直预测解码单元403进行解码,将V色度块残差信息送入V水平预测解码单元304或V垂直预测解码单元305进行解码,以及将Y残差信息送入Mode0预测解码单元406、Mode1预测解码单元407、Mode2预测解码单元408以及Mode3预测解码单元409进行解码,在YUV视频数据完成不同预测模式下的预测解码后,将不同预测模式下解码后的U色度块分别输出至U色度块解压缩输出单元410,将不同预测模式下解码后的V色度块分别输出至V色度块解压缩输出单元411以及将不同预测模式下解码后的Y亮度块分别输出至Y亮度块解压缩输出单元412,将输出的解压缩后的YUV视频数据送到视频解码模块1内部结构中帧内预测/插值模块/运动补偿模块204进行INTER插值计算。
由上可见,本发明采用了和视频解码模块1配合的二级Cache设计架构,通过二级Cache的设计架构,实现了参考帧数据读取带宽的降低,从而降低了视频解码模块1解码的带宽消耗。
最后需要强调的是,上述实施例仅是本发明的优选的方案,实际应用时还可以有更多的变化,例如使用不同的预测模式,或者预测模式的数量的改变 ,这样的改变也能实现本发明的目的,也应该包括在本发明权利要求的保护范围内。

Claims (8)

1.应用于视频硬解码的无损压缩方法,依次包括视频解码步骤、压缩步骤、存储步骤和解压缩步骤;
所述视频解码步骤包括解码视频码流,输出解码后的YUV数据的步骤;
所述压缩步骤包括对所述视频解码步骤输出的所述YUV数据进行无损压缩的步骤;
所述存储步骤包括存放无损压缩数据的步骤;
所述解压缩步骤包括对所述无损压缩数据进行解压缩以及恢复原始YUV数据的步骤;
其特征在于:
所述压缩步骤将16X4的Y亮度块和对应的8X2的U色度块和8X2的V色度块作为一个压缩单元进行所述无损压缩;
所述存储步骤采用对整帧图像以四个像素行为单位进行紧凑压缩存放,并且每四个像素行的起始地址固定;
所述解码步骤包括参考帧读取步骤,所述参考帧读取步骤采用二级Cache结构,所述二级Cache结构中一级为Compress-Cache,缓存压缩后的数据,另一级为2D-Cache,缓存解压缩后的所述原始YUV数据。
2.根据权利要求1所述的应用于视频硬解码的无损压缩方法,其特征在于:
所述压缩步骤包括预测步骤、分组步骤和熵编码步骤;
所述预测步骤包括通过预测模式对所述Y亮度块、所述U色度块和所述V色度块分别进行预测的步骤和计算预测值的步骤;
所述分组步骤包括根据所述预测值和原始值计算残差的步骤以及对所述残差进行分组的步骤;
所述熵编码步骤包括对所述分组步骤分组后的所述残差的值进行熵编码的步骤。
3.根据权利要求2所述的应用于视频硬解码的无损压缩方法,其特征在于:
所述预测模式包括水平预测、垂直预测以及均值预测。
4.根据权利要求2所述的应用于视频硬解码的无损压缩方法,其特征在于:
所述熵编码步骤包括根据所述预测模式和所述残差计算各所述预测模式下所述Y亮度块、所述U色度块以及所述V色度块的比特数的步骤以及找出预测后使所述Y亮度块、所述U色度块和所述V色度块的所述比特数最小的所述预测模式,并判断最小的所述比特数是否超过所述Y亮度块、所述U色度块和所述V色度块的原始比特数的步骤。
5.应用于视频硬解码的无损压缩系统,包括视频解码模块、压缩模块、存储模块和解压缩模块,所述视频解码模块用于解码视频码流,并将解码后的YUV数据输出至所述压缩模块,所述压缩模块对解码后的YUV数据进行无损压缩并输出至所述存储模块,所述存储模块将压缩后的数据存放到外部存储器中,所述解压缩模块将存放到外部存储器中的数据进行解压缩,恢复为原始YUV数据并输出至视频解码模块;
其特征在于:
所述压缩模块将16X4的亮度块和对应的8X2的U分量色度块和8X2的V分量色度块作为一个压缩单元进行无损压缩;
所述存储模块采用对整帧图像以四个像素行为单位进行紧凑压缩存放,并且每四个像素行的起始地址固定;
所述视频解码模块包括参考帧读取模块,所述参考帧读取模块用于读取参考帧,所述参考帧的读取采用二级Cache结构,所述二级Cache结构中一级为Compress-Cache,用于缓存压缩后的视频数据,另一级为2D-Cache,用于缓存解压缩后的所述视频数据。
6.根据权利要求5所述的应用于视频硬解码的无损压缩系统,其特征在于:
所述压缩模块包括预测模块、分组模块和熵编码模块;
所述预测模块通过预测模式对Y亮度块、U色度块和V色度块分别进行预测和计算预测值;
所述分组模块根据所述预测值和原始值计算残差以及对所述残差进行分组;
所述熵编码模块用于对所述分组模块分组后的所述残差的值进行熵编码。
7.根据权利要求6所述的应用于视频硬解码的无损压缩系统,其特征在于:
所述预测模式包括水平预测、垂直预测以及均值预测。
8.根据权利要求6所述的应用于视频硬解码的无损压缩系统,其特征在于:
所述熵编码模块用于根据所述预测模式和所述残差计算各所述预测模式下所述Y亮度块、所述U色度块以及所述V色度块的比特数;以及找出预测后使所述Y亮度块、所述U色度块以及所述V色度块的所述比特数最小的所述预测模式,并判断最小的所述比特数是否超过所述Y亮度块、所述U色度块和所述V色度块的原始比特数。
CN201610077393.5A 2016-02-03 2016-02-03 应用于视频硬解码的无损压缩方法及系统 Active CN105578190B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610077393.5A CN105578190B (zh) 2016-02-03 2016-02-03 应用于视频硬解码的无损压缩方法及系统
US16/070,028 US10681363B2 (en) 2016-02-03 2016-12-08 Lossless compression method and system applied to hardware video decoding
PCT/CN2016/108969 WO2017133315A1 (zh) 2016-02-03 2016-12-08 应用于视频硬解码的无损压缩方法及系统
EP16889122.4A EP3386199B8 (en) 2016-02-03 2016-12-08 Lossless compression method and system applied to video hard decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610077393.5A CN105578190B (zh) 2016-02-03 2016-02-03 应用于视频硬解码的无损压缩方法及系统

Publications (2)

Publication Number Publication Date
CN105578190A CN105578190A (zh) 2016-05-11
CN105578190B true CN105578190B (zh) 2018-05-04

Family

ID=55887787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610077393.5A Active CN105578190B (zh) 2016-02-03 2016-02-03 应用于视频硬解码的无损压缩方法及系统

Country Status (4)

Country Link
US (1) US10681363B2 (zh)
EP (1) EP3386199B8 (zh)
CN (1) CN105578190B (zh)
WO (1) WO2017133315A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578190B (zh) * 2016-02-03 2018-05-04 珠海全志科技股份有限公司 应用于视频硬解码的无损压缩方法及系统
CN107864379B (zh) * 2017-09-28 2021-07-02 珠海亿智电子科技有限公司 一种应用于视频编解码的压缩方法
CN107995494B (zh) * 2017-12-12 2019-11-22 珠海全志科技股份有限公司 视频图像数据的压缩方法与解压方法、计算机装置、计算机可读存储介质
CN108171662B (zh) * 2017-12-18 2020-08-07 珠海全志科技股份有限公司 读取图像压缩数据的方法及包含该方法的反畸变方法
CN108109181B (zh) * 2017-12-18 2021-06-01 珠海全志科技股份有限公司 读取图像压缩数据的电路及包含该电路的反畸变电路
CN108377394B (zh) * 2018-03-06 2020-10-23 珠海全志科技股份有限公司 视频编码器的图像数据读取方法、计算机装置及计算机可读存储介质
JP7082529B2 (ja) * 2018-06-06 2022-06-08 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置による処理方法
WO2020262988A1 (ko) * 2019-06-25 2020-12-30 엘지전자 주식회사 영상 코딩 시스템에서 무손실 코딩을 적용하는 영상 디코딩 방법 및 그 장치
CN112422986B (zh) * 2020-10-26 2023-12-22 眸芯科技(上海)有限公司 硬件解码器流水线优化方法及应用
US12002246B2 (en) * 2021-01-14 2024-06-04 Adobe Inc. Systems for digital image compression using context-based pixel predictor selection
CN115278264B (zh) * 2022-09-26 2023-02-28 杭州雄迈集成电路技术股份有限公司 一种图像放大和osd叠加编码方法和系统
CN116112694B (zh) * 2022-12-09 2023-12-15 无锡天宸嘉航科技有限公司 一种应用于模型训练的视频数据编码方法及系统
CN116600129B (zh) * 2023-07-17 2023-10-20 芯动微电子科技(珠海)有限公司 一种优化视频解码带宽的方法、系统及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506793A (zh) * 2015-01-16 2015-04-08 东北大学 一种基于互联网的安全视频会议系统及方法
CN104780374A (zh) * 2015-03-23 2015-07-15 中国科学技术大学先进技术研究院 一种基于亮度编码的帧缓存有损压缩方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7868898B2 (en) * 2005-08-23 2011-01-11 Seiko Epson Corporation Methods and apparatus for efficiently accessing reduced color-resolution image data
CN100579225C (zh) 2007-03-28 2010-01-06 华为技术有限公司 图像数据的存取和解码方法及解码装置
US20100223237A1 (en) * 2007-11-05 2010-09-02 University Of Florida Research Foundation, Inc. Lossless data compression and real-time decompression
US8401071B2 (en) * 2007-12-19 2013-03-19 Sony Corporation Virtually lossless video data compression
CN101252694B (zh) * 2008-03-31 2011-08-17 清华大学 基于块的视频解码的帧存储压缩和地址映射系统
US8577165B2 (en) * 2008-06-30 2013-11-05 Samsung Electronics Co., Ltd. Method and apparatus for bandwidth-reduced image encoding and decoding
KR101611408B1 (ko) 2008-06-30 2016-04-12 삼성전자주식회사 점유 대역폭의 감소를 위한 영상 부호화 방법 및 장치, 그리고 영상 복호화 방법 및 장치
GB2492333B (en) * 2011-06-27 2018-12-12 British Broadcasting Corp Video encoding and decoding using transforms
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
CN102740075B (zh) 2012-06-05 2015-02-11 沙基昌 一种视频数据的压缩/解压缩方法及系统
US9661340B2 (en) * 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
CN103152571B (zh) 2013-03-06 2016-02-24 福州瑞芯微电子股份有限公司 减少数据带宽的视频处理方法及电路
CN103729449B (zh) 2013-12-31 2017-02-15 上海富瀚微电子股份有限公司 一种参考数据访问管理方法及装置
CN105578190B (zh) 2016-02-03 2018-05-04 珠海全志科技股份有限公司 应用于视频硬解码的无损压缩方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506793A (zh) * 2015-01-16 2015-04-08 东北大学 一种基于互联网的安全视频会议系统及方法
CN104780374A (zh) * 2015-03-23 2015-07-15 中国科学技术大学先进技术研究院 一种基于亮度编码的帧缓存有损压缩方法及装置

Also Published As

Publication number Publication date
CN105578190A (zh) 2016-05-11
EP3386199A1 (en) 2018-10-10
WO2017133315A1 (zh) 2017-08-10
US10681363B2 (en) 2020-06-09
EP3386199B8 (en) 2021-08-11
EP3386199B1 (en) 2021-06-30
EP3386199A4 (en) 2019-05-15
US20190037226A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
CN105578190B (zh) 应用于视频硬解码的无损压缩方法及系统
CN101924945B (zh) 具有可变压缩比和用于存储及检索参考帧数据的缓冲器的视频解码器
KR101227667B1 (ko) 오버랩 평활화 및 인-루프 디블록킹의 구분적 프로세싱
CN102547283B (zh) 动态视频数据压缩的设备和方法
KR100695141B1 (ko) 영상처리시스템에 있어서 메모리 억세스장치 및 방법, 데이터 기록장치 및 방법과 데이터 독출장치 및 방법
US9813711B2 (en) Hybrid transform-based compression
US20060165164A1 (en) Scratch pad for storing intermediate loop filter data
US9509992B2 (en) Video image compression/decompression device
US20070071099A1 (en) External memory device, method of storing image data for the same, and image processor using the method
EP1719346A1 (en) Method of video decoding
US20060133512A1 (en) Video decoder and associated methods of operation
CN103618898B (zh) 一种支持随机访问的复杂度图像无损压缩方法
US20160050431A1 (en) Method and system for organizing pixel information in memory
EP1940175A1 (en) Image encoding apparatus and memory access method
TW202349950A (zh) 圖像編解碼方法及裝置
JPH07226917A (ja) 画像再生方式及び装置
TWI418219B (zh) 用於動態補償系統之資料映像方法及快取記憶體系統
CN104113759A (zh) 视频系统、视频帧缓存再压缩/解压缩方法与装置
US5666115A (en) Shifter stage for variable-length digital code decoder
CN114339263A (zh) 一种针对视频数据的无损处理方法
KR20100027612A (ko) 이미지 무손실 및 손실 압축 장치
CN113115041A (zh) 支持alpha通道的无损图片压缩方法、装置及介质
Yang et al. An effective dictionary-based display frame compressor
Nguyen et al. 71% Reducing the memory bandwidth requirement for a multi-standard video codec by lossless compression of video using a combination of 2D-DPCM and Variable Length Coding
CN102625093B (zh) 一种基于avs的帧间预测方法

Legal Events

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