CN106791858B - 一种高采样率rgb视频数据无损压缩方法 - Google Patents

一种高采样率rgb视频数据无损压缩方法 Download PDF

Info

Publication number
CN106791858B
CN106791858B CN201710012355.6A CN201710012355A CN106791858B CN 106791858 B CN106791858 B CN 106791858B CN 201710012355 A CN201710012355 A CN 201710012355A CN 106791858 B CN106791858 B CN 106791858B
Authority
CN
China
Prior art keywords
data
bit data
component
8bit
low
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.)
Expired - Fee Related
Application number
CN201710012355.6A
Other languages
English (en)
Other versions
CN106791858A (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.)
State Press And Publication Administration Of Radio Film Digital Program Management Center
Beijing Dayang Technology Development Inc
Original Assignee
State Press And Publication Administration Of Radio Film Digital Program Management Center
Beijing Dayang Technology Development Inc
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 State Press And Publication Administration Of Radio Film Digital Program Management Center, Beijing Dayang Technology Development Inc filed Critical State Press And Publication Administration Of Radio Film Digital Program Management Center
Priority to CN201710012355.6A priority Critical patent/CN106791858B/zh
Publication of CN106791858A publication Critical patent/CN106791858A/zh
Application granted granted Critical
Publication of CN106791858B publication Critical patent/CN106791858B/zh
Expired - Fee Related 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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

本发明涉及一种高采样率RGB视频数据无损压缩方法,包括:提取原始数据;原始数据分割;高8 bit数据压缩;剩余低bit数据压缩;压缩数据排序编码;提取压缩编码数据;压缩编码数据分离;高8 bit数据解压缩;剩余低bit数据解压缩;解压缩数据合并。本发明通过在压缩编码过程中将高采样率RGB视频数据的每个颜色分量的高8bit数据与剩余低bit数据分别处理,其中高8bit数据采用H.264无损压缩编码的方式进行压缩编码,剩余低Bit数据采用数据压缩的方式进行压缩编码;在解码还原过程中分别解码后再组装为高采样率RGB视频数据的方式,实现了对高采样率RGB视频数据较好的无损压缩效率;同时该无损压缩编码方法本身具备较小的计算复杂度,利于实现和应用。

Description

一种高采样率RGB视频数据无损压缩方法
技术领域
本发明涉及一种高采样率RGB视频数据无损压缩方法,是一种计算机数据处理及存储的方法,是一种视频图像处理及存储的方法,是一种RGB视频图像编码和解码的方法。
背景技术
出于对电影画面高质量还原的要求,以数字化形式保存的电影文件有大量的RGB格式,还有大量高采样率(大于8bit)的数据需要无损保存。这样需要一种合理的无损压缩方式,能够支持YUV/RGB格式,并且能够支持10bit/12bit/16bit等常见的高采样率数据的压缩方式。目前,比较常用的压缩编码格式有H.264等。
H.264的无损压缩过程不进行变换处理和量化处理,这样可以保证编码过程是没有信息损失的。但是对于整个编码过程,变换和量化处理是降低码率的主要步骤,所以无损压缩的压缩率比较低,生成文件的码率会比较大。
H.264标准对于高采样率RGB视频数据,在实际编码过程中,将每个颜色分量9bits~16 bits的数据统一放在16 bits的空间中,在帧内预测、运动分析、运动补偿、熵编码的过程中实际均采用16bit数据进行操作。
从H.264标准无损压缩编码实际的测试来看,对于压缩亮度和两个色度格式压缩效果较好,压缩率较高;而对于红绿蓝格式(GBR or RGB)高采样率视频,尤其是12bit RGB数据压缩效果不好,压缩率较低,通常压缩率在1.2~1.4之间,部分视频甚至压缩编码后的视频数据比原始视频数据的数据量还大,完全不能满足实际使用要求。
本发明主要针对高采样率 RGB视频数据无损压缩压缩率低的问题,想办法去解决这个问题。
发明内容
为解决现有技术的问题,本发明提出一种高采样率RGB视频数据无损压缩编码方法。所述的方法对该采样率RGB视频数据各颜色分量的高8bit采用H.264无损压缩编码的方式进行压缩编码,各颜色分量剩余低bit数据采用普通的数据压缩方式进行压缩编码,以此提高了高采样率BGR 视频数据的压缩编码率,使得高采样率RGB视频数据的无损压缩编码达到可实际应用的效果。
需要指出的是,高采样率RGB视频数据包括多种采样率,通常在每通道(颜色分量)9bit~16bit之间,常用的是每通道(颜色分量)10bit、12bit和16bit。实际上用本发明提供的方法对这些采样率进行处理的基本流程完全相同,以下如果没有特殊指明的话,在各实施例中都以每通道(颜色分量)12bit采样率为例,说明本发明的具体实施方法,其它采样率的处理过程基本相同。
本发明的目的是这样实现的:一种高采样率RGB视频数据无损压缩方法,所述方法的步骤如下:
所述的方法包括:编码过程和解码过程:
编码过程:
提取原始数据的步骤:用于提取一帧图像的高采样率RGB原始数据;
原始数据分割的步骤:用于将一帧图像的高采样率RGB原始数据分割为两部分,高8 bit数据和剩余低bit数据;
高8 bit数据压缩的步骤:用于将高8 bit数据进行H.264无损压缩编码,形成压缩后的高8 bit数据;
剩余低bit数据压缩的步骤:用于在高8 bit数据进行H.264无损压缩编码的同时,将剩余低bit数据按照普通的数据压缩方式进行压缩编码,形成压缩后的剩余低bit数据;
压缩数据排序编码的步骤:用于将压缩后的高8 bit数据和压缩后的剩余低bit数据及数据标识顺序排列,形成一帧图像的压缩编码数据;
解码的过程:
提取压缩编码数据的步骤:用于提取一帧图像的压缩编码数据;
压缩编码数据分离的步骤:用于将一帧图像的压缩编码数据分为压缩后的高8bit数据和压缩后的剩余低 bit数据;
高8 bit数据解压缩的步骤:用于将压缩后的高8 bit数据进行H.264解压缩,形成高8 bit数据;
剩余低bit数据解压缩的步骤:用于在压缩后的高8 bit数据进行H.264解压缩的同时,将压缩后的剩余低bit数据按照普通的数据压缩方式进行解压缩,形成剩余低 bit数据;
解压缩数据合并的步骤:用于将解压缩出来的高8 bit数据和解压缩出来的剩余低bit数据合并为高采样率数据,形成一帧完整的高采样率RGB图像数据。
进一步的,上述的原始数据分割的方法为:
将输入的一帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出,组成一帧高采样率RGB图像的高8bit数据块 ;同时,将一帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,组成一帧高采样率RGB图像的剩余低bit数据块。
进一步的,上述的原始数据分割的方法为先转换到16bit数据空间再分割,具体步骤如下:
首先判断待分割原始数据是否是16bit采样,如果不是则将输入的一帧高采样率RGB原始数据变换到16bit数据空间,转换过程中对每个像素各颜色分量的数据不足16bit的位数末位补0;
接下来,将已经转换到16bit数据空间的每个像素点的R、G、B各分量的高 8 bit数据取出,组成一帧高采样率RGB图像的高8bit数据块 ;
最后,将该帧高采样率RGB原始数据的已经转换到16bit数据空间的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,组成一帧高采样率RGB图像的剩余低bit数据块。
进一步的,上述的原始数据分割的方法还可以是直接操作原始数据,具体步骤如下:
将输入的一帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出,组成一帧高采样率RGB图像的高8bit数据块;
然后,对该帧原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,如果不足8bit的话,则将每个像素点R、G、B各分量剩余数据不足8bit的位数补0,将补0后的剩余数据组成剩余低bit数据块。
进一步的,上述的高8bit数据块的组织方式为:
将一帧图像上所有像素点的R分量高8bit数据依次排列,然后放置所有像素点的G分量高8bit数据依次排列 最后放置所有像素点的B分量高8bit数据依次排列,直到该帧图像的所有像素点的高8bit 数据全部排列完成,具体步骤如下:
首先将输入的一帧高采样率RGB原始数据的每个像素点的R分量的高 8 bit数据取出并依次排列,组成该帧图像的R分量高8bit数据块;
接下来将原始数据的每个像素点的G分量的高 8 bit数据取出并依次排列,组成该帧图像的G分量高8bit数据块;
接下来将原始数据的每个像素点的B分量的高 8 bit数据取出并依次排列,组成该帧图像的B分量高8bit数据块;
进一步的,上述的剩余低bit数据块的组织方式为:
将一帧图像上第一个像素点的R分量去除高8bit的剩余数据、G 分量去除高8bit的剩余数据、B分量去除高8bit的剩余数据依次排列,然后放置下一个像素点的R分量去除高8bit的剩余数据、G 分量去除高8bit的剩余数据、B分量去除高8bit的剩余数据依次排列,直到该帧图像的所有像素点的剩余低bit数据全部排列完成。
进一步的,放置各像素R、G、B各分量的剩余低bit数据时,每个分量的剩余低bit数据在前,不足8bit的话,末尾用0填充。
进一步的,上述的解码过程中解压缩数据合并的步骤,数据合并的方法为:
将解压缩后的高8bit数据和解压缩后的剩余低bit数据分为两个数据区,一个是平面格式的解压缩后的高8bitRGB数据,另一部分是解压缩后的剩余低bit的数据;
解压缩后的高8bit数据分为R分量、G分量、B分量三个部分,取W=原始视频图像的宽度,H=原始视频图像的高度,其中,每一部分都是W*H的8bit数据块:Rhigh8(W*H) Ghigh8(W*H) B high8(W*H);
解压缩后的剩余低bit数据,将每个像素的 R low G low B low数据相邻排列,依次放置其后每一个像素点的R low G low B low数据,其中low为该颜色分量剩余低bit数据;
然后将解压缩后的高8bit数据和解压缩后的剩余低 bit数据两部分数据逐像素合成为三个分量的压缩格式RGB数据:
RGB R high8 R low G high8 G low B high8 B low。
本发明产生的有益效果是:本发明通过在压缩编码过程中将高采样率RGB视频数据的每个颜色分量的高8bit数据与剩余低bit数据分别处理,其中高8bit数据采用H.264无损压缩编码的方式进行压缩编码,剩余低Bit数据采用数据压缩的方式进行压缩编码;在解码还原过程中分别解码后再组装为高采样率RGB视频数据的方式,实现了对高采样率RGB视频数据较好的无损压缩效率;同时该无损压缩编码方法本身具备较小的计算复杂度,利于实现和应用。本发明对于画幅为2K(2048*1556)大小,BGR 12bit采样率这种颜色格式的视频数据进行无损压缩编码,其压缩率大概在1.5~2.1之间,具体的压缩率和素材内容密切相关;本发明对于画幅为2K(2048*1556)/4K(4096*2048)大小, BGR 10bit这种颜色格式的视频数据进行无损压缩编码,其压缩率大概在2.6~2.9之间,具体的压缩率和素材内容密切相关。由此可见,有效提高了高采样率视频图像无损编码压缩率。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是普通H.264编码流程;
图2是变换略过的H.264无损编码流程图;
图3是本发明实施例一所述方法的编码过程原理图;
图4是本发明实施例一所述方法的解码过程原理图。
具体实施方式
实施例一:
本实施例是一种12bit RGB视频数据无损压缩方法。本实施例的基本原理是:编码的时候将12bit数据分解为高8位和低4位数据。将高8位用普通H.264无损压缩编码方式压缩,剩余低4位用普通数据压缩方式进行压缩,将压缩数据合成后存储。解码的时候,分别将两部分压缩数据送入不同的解码器,解码后再组装为12bit数据值。
普通H.264编码流程如图1所示:
: Motion Estimate(运动估计)
: Motion Compensate(运动补偿)
: Transform/ Inverse Transform(变换/反变换)
: Quantization/Inverse Quantization(量化/反量化)
: Current Frame(当前压缩帧)
: Reference Frame(参考帧)
: Reconstruct Frame(重构帧)
整个H.264的压缩过程是:压缩宏块采用帧内预测(intra prediction)或帧间预测(inter prediction)的方式,求出宏块的残差值(residual),然后通过变换(transform)和量化(quantization),接着又进行数据重排序(reorder)和熵编码(Entropy encode),最后产生压缩码流(NAL)。另外一路是在量化后通过反量化和反变换,再通过滤波,生成重建帧。
在H.264标准中,帧内(Intra)宏块有一种特殊的模式,即I_PCM 模式。当一个宏块为I_PCM 模式时,该宏块将跳过预测、变换、量化的过程,直接对原始像素值进行PCM 编码。I_PCM 模式的存在主要有两个目的:第一,在图像的保真度非常高的情况下(即量化参数非常小的情况下),有时可能在预测、变换、量化后的图像数据反而大于对图像直接编码时产生的数据。因此,有必要为宏块压缩后的数据量大小设置一个上限,当超过这个上限时, 便采用I_PCM 模式。第二,假如人们对图像的某块区域特别感兴趣,便可以用I_PCM 模式保证压缩后的图像质量没有损失。
然而,如果采用PCM 进行无损压缩,压缩效率太低。后来,在H.264 FRExt(Fidelity Range Extensions)中,除了支持PCM 压缩外,又引入了一种叫变换略过(Transform—Bypass)的无损压缩模式。在序列参数集(SPS)中,有个标志位为"qpprime_y_zero_transform_bypass_flag",如果它等于1,表示可以使用变换略过的无损压缩模式。同时,FRExt对量化参数的最小值进行了修正,修正后的亮度QP用Q表示,当Q等于O且上述标志位为1时,表示该宏块采用了变化略过的编码模式,要特别地采用相应的解码方法。
目前,H.264无损编码采用的就是变换略过的编码方式,其编码流程如图2所示:
: Motion Estimate(运动估计)
: Motion Compensate(运动补偿)
: Current Frame(当前压缩帧)
: Reference Frame(参考帧)
: Reconstruct Frame(重构帧)
整个无损编码过程是:压缩宏块采取帧内预测(intra prediction)或帧间预测(inter prediction)的方式,求出宏块的残差值(residual),然后进行数据重排序(reorder)和熵编码(Entropy encode),最后产生压缩码流(NAL)。
本实施例将利用上述过程。
本实施例所述方法的具体步骤如下,所述的方法包括编码过程和解码过程:
编码过程,如图3所示:
提取原始数据的步骤:用于提取一帧图像的12bit RGB原始数据;
原始数据分割的步骤:用于将一帧图像的12bit RGB原始数据分割为两部分,高8bit数据和低4 bit数据;
高8 bit数据压缩的步骤:用于将高8 bit数据进行H.264无损压缩编码,形成压缩后的高8 bit数据;
低4 bit数据压缩的步骤:用于在高8 bit数据进行H.264无损压缩编码的同时,将低4 bit数据按照普通的数据压缩方式进行压缩编码,形成压缩后的低4 bit数据;
压缩数据排序编码的步骤:用于将压缩后的高8 bit数据和压缩后的低4 bit数据按照顺序进行排列,形成一帧图像数据的压缩编码;
在上述排序编码的步骤,实际压缩后的12bit RGB编码数据结构为:
Structure
Item FourCC FrameNum EncSize HighBuffer FourCC FrameNum EncSize OriSize LowBuffer
Size 4 4 4 n 4 4 4 4 n
在实际存储数据时,本实施例采用了将一帧图像数据压缩后的高8位数据和压缩后的低4位数据按照顺序排列在每帧的压缩数据内。下表为帧结构:
Item Content Size(bytes) 备注
FourCC DYH8 4 高8bit数据存储区指示位
FrameNum 4 高8bit数据视频帧序号
EncSize 4 高8bit数据编码后大小
HighBuffer n 高8bit数据压缩编码存储区
FourCC DYL4 4 低4bit数据存储区指示位
FrameNum 4 低4bit数据视频帧序号
EncSize 4 低4bit数据编码后数据大小
OriSize 4 低4bit数据编码前原始数据大小
LowBuffer n 低4bit数据压缩编码存储区
编码前分割12bit数据的拆分过程:
输入的每帧12bit RGB数据用函数分割为两个数据区,首先是高8bit数据区,分为三个部分,每一部分都是原始视频图像W*H的8bit数据块:
Rhigh8(W*H);G high8(W*H);B high8(W*H)
然后是低4bit的数据区:
Rlow Glow Blow(W*H),
再分别传给H.264无损压缩编码器和数据压缩编码器进行压缩编码处理。
实际上,为方便计算机处理,也可以将低4bit的数据区内的数据全部按照8bit存储:
Rlow8 Glow8 Blow8(W*H),其中low8为4bit有效数据在高4bit,低4bit为0;添加的后4bit 0由于在低4bit数据区大量简单重复,并不会对数据的压缩效率造成太大影响。
需要指出的是,如果编码前分割数据的过程中,对低bit数据进行了末位补0的处理,那么对应的编码过程就要按照补0后的数据实际占位长度处理解压缩后的数据。
在对压缩效率要求苛刻的情况下,可以将剩余低bit数据进行拼接,然后进行数据压缩处理,可以获得更高的压缩编码效率。
解码的过程,如图4所示:
提取压缩编码数据的步骤:用于提取一帧图像数据的压缩编码;
压缩编码数据分离的步骤:用于按照上述表中帧结构的指示,将一帧图像数据的压缩编码数据分为压缩后的高8 bit数据和压缩后的低4 bit数据;
高8 bit数据解压缩的步骤:用于将压缩后的高8 bit数据进行H.264解压缩,形成高8 bit数据;
低4 bit数据解压缩的步骤:用于在压缩后的高8 bit数据进行H.264解压缩的同时,将压缩后的低4 bit数据按照普通的数据压缩方式进行解压缩,形成低4 bit数据;
解压缩数据合并的步骤:用于将高8 bit数据和低4 bit数据合并为12bit数据,形成一帧完整的12bit RGB图像数据。
需要指出的是,在实际编码过程中,为了便于计算机操作,通常会将高采样率的9bit~15bit采样率数据,统一转换到16bit数据空间进行运算和操作,解压缩后的高采样率视频数据,通常也会以16bit数据空间的形式进行暂存使用,只有在还原后的视频数据被送入外部存储介质存储时,才会将其转换到其原始采样的数据空间以压缩最终的存储容量。
解码后还原为12bit数据的合并过程
按照数据排列方式将解压缩后的高8bit数据和解压缩后的低4bit数据分为两个数据区,一个是平面格式的高8bitRGB数据,另一部分是低4bit的数据。
高8bit数据(每一部分都是W*H的8bit数据块):
Rhigh8(W*H);G high8(W*H);B high8(W*H)
低4bit的数据:Rlow Glow Blow(W*H),
通过转换公式将上面两个数据合成为一个每通道(颜色分量)12bit的紧缩格式RGB数据:R high8Rlow Ghigh8Glow Bhigh8Blow(W*H)。
如前所述,为便于计算机处理,通常会将剩余4bit数据通过加末位0方式转换到8bit整字节数据处理,这种情况下低4bit的数据的实际存储形式为:
Rlow8 Glow8 Blow8(W*H),其中low8为4bit有效数据在高4bit,低4bit为0;
通过转换公式将上面两个数据合成为一个每通道(颜色分量)12bit(占位16bit)的紧缩格式RGB数据:
R high8Rlow8 Ghigh8Glow8 Bhigh8Blow8(W*H),其中每个颜色分量的low8为4bit有效数据在高4bit,低4bit为0;
对于每个像素点,其12bitRGB数据的实际占位为3个16bit,其具体形态为:
R high8 R low8 G high8 G low8 B high8 B low8
本实施例的测试数据:
对于画幅为2K(2048*1556)大小,BGR 12bit采样率这种颜色格式的视频数据,用本实施例提供的方法进行无损压缩编码,其压缩率大概在.5~2.1之间,具体的压缩率和素材内容密切相关。
实际上,基于几乎完全相同的处理流程,我们也做了10bit采样率RGB视频的无损压缩测试。对于画幅为2K(2048*1556)/4K(4096*2048)大小, BGR 10bit这种颜色格式的视频数据,用本实施例提供的方法进行无损压缩编码,其压缩率大概在2.6~2.9之间,具体的压缩率和素材内容密切相关。
上述测试结果表明,本发明提供的无损压缩方法能够提供更高的压缩编码效率,从而使高采样率(9bit~16bit)的RGB视频数据的无损压缩编码达到实用化。
实施例二:
本实施例是实施例一的改进,是实施例一关于拆分方法的细化,所述的原始数据分割的方法为:
将输入的一帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出,组成该帧高采样率RGB图像的高8bit数据块 ;同时,将该帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,组成该帧高采样率RGB图像的剩余低bit数据块。
具体为:
将输入的一帧12bit RGB数据:
R high8 R low G high8 G low B high8 B low;
用函数分割为两个数据区:
高8位数据:
R high8 G high8 B high8;
低4位数据:
R low G low B low;
实施例三:
本实施例是实施例二的改进,是实施例二关于数据分割方法的细化,所述的原始数据分割的方法为先转换到16bit数据空间再分割,具体步骤如下:
首先判断待分割原始数据是否是16bit采样,如果不是则将输入的一帧高采样率RGB原始数据变换到16bit数据空间,转换过程中对每个像素各颜色分量的数据不足16bit的位数末位补0;
接下来,将已经转换到16bit数据空间的每个像素点的R、G、B各分量的高 8 bit数据取出,组成一帧高采样率RGB图像的高8bit数据块 ;
最后,将该帧高采样率RGB原始数据的已经转换到16bit数据空间的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,组成一帧高采样率RGB图像的剩余低bit数据块。
实际上为了便于计算机操作,数据的处理通常都是以字节对齐的,也就是8bit的整数倍才方便操作和运算。但是这个转换的步骤可以根据需要设置在不同的环节完成。本实施例是在编码过程的最开始就将原始数据统一转换到16bit数据空间进行运算和操作。
这样实际上在每次取一个像素的高8bit,实际上只要把双字节16bit的高字节取出就行;同样,转换到16bit数据空间后,取剩余的低bit数据,实际上就是把双字节16bit的低字节取出就行。
本实施例将12bit采样的原始数据统一转换到16bit数据空间后,高8bit数据和低4bit数据的分割的实现变得非常简单。
实施例四:
本实施例是实施例二的改进,是实施例二关于数据分割方法的细化,所述的原始数据分割的方法为直接操作原始数据,具体步骤如下:
将输入的一帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出,组成一帧高采样率RGB图像的高8bit数据块;
然后,对该帧原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,如果不足8bit的话,则将每个像素点R、G、B各分量剩余数据不足8bit的位数补0,将补0后的剩余数据组成剩余低bit数据块。
本实施例分割原始数据时直接操作原始12bit数据,取出每个像素的每个颜色分量的高8bit数据组成高8bit数据块,然后对每个像素每个颜色分量剩余的低4bit数据重新组织,形成剩余低bit数据块。
实施例五:
本实施例是实施例二的改进,是实施例二关于高8bit数据块的组织方式的细化,所述高8bit数据块的组织方式为:
将一帧图像上所有像素点的R分量高8bit数据依次排列,然后放置所有像素点的G分量高8bit数据依次排列最后放置所有像素点的B分量高8bit数据依次排列,直到该帧图像的所有像素点的高8bit 数据全部排列完成。具体步骤如下:
首先将输入的一帧高采样率RGB原始数据的每个像素点的R分量的高 8 bit数据取出并依次排列,组成该帧图像的R分量高8bit数据块;
接下来将原始数据的每个像素点的G分量的高 8 bit数据取出并依次排列,组成该帧图像的G分量高8bit数据块;
接下来将原始数据的每个像素点的B分量的高 8 bit数据取出并依次排列,组成该帧图像的B分量高8bit数据块;
这种排列方式便于数据被编码器直接处理。
所述高8bit数据块的组织方式还可以是其它多种方式,比如常用的还有将各像素的几个颜色分量的数据紧密排列,然后再放置下一个像素的各颜色分量的数据的方式。也就是将一帧图像上第一个像素点的R分量高8bit数据、G分量高8bit数据、B分量高8bit数据依次排列,然后放置下一个像素点的R分量高8bit数据、G分量高8bit数据、B分量高8bit数据依次排列,直到该帧图像的所有像素点的高8bit数据全部排列完成.
实施例六:
本实施例是实施例二的改进,是实施例二关于剩余低bit数据块的组织方式的细化,所述剩余低bit数据块的组织方式为:
将一帧图像上第一个像素点的R分量去除高8bit的剩余数据、G 分量去除高8bit的剩余数据、B分量去除高8bit的剩余数据依次排列,然后放置下一个像素点的R分量去除高8bit的剩余数据、G 分量去除高8bit的剩余数据、B分量去除高8bit的剩余数据依次排列,直到该帧图像的所有像素点的剩余低bit数据全部排列完成。
实际上,剩余低bit数据的排列方式可以是多种多样的,类似高8bit数据,将各分量的数据集中排列也是可行的。
实施例七:
本实施例是实施例六的改进,是实施例六关于剩余低bit数据块的组织方式的细化,所述剩余低bit数据块的组织方式为:
放置各像素R、G、B各分量的剩余低bit数据时,每个分量的剩余低bit数据在前,不足8bit的话,末尾用0填充。
如果原始视频数据是12bit采样,那么剩余低bit数据就是每个像素每个颜色分量4bit有效数据在前,后面跟4bit 0。
实施例八:
本实施例是实施例一的改进,是实施例一关于数据合并方式的细化,所述解码过程中解压缩数据合并的步骤,数据合并的方法为:
将解压缩后的高8bit数据和解压缩后的剩余低4bit数据分为两个数据区,一个是平面格式的解压缩后的高8bitRGB数据,另一部分是解压缩后的剩余低bit的数据;
解压缩后的高8bit数据分为R分量、G分量、B分量三个部分,取W=原始视频图像的宽度,H=原始视频图像的高度,其中,每一部分都是W*H的8bit数据块:Rhigh8(W*H)G high8(W*H)B high8(W*H);
解压缩后的剩余低bit数据,将每个像素的 R low G low B low数据相邻排列,依次放置其后每一个像素点的R low G low B low数据,其中low为该颜色分量剩余低bit数据。
然后将解压缩后的高8bit数据和解压缩后的剩余低 bit数据两部分数据逐像素合成为压缩格式RGB数据:
RGB
R high8 R low G high8 G low B high8 B low。
本实施例以原始数据12bit采样率为例,那么剩余低bit有效数据就是4bit,解压缩后的低4 bit数据:
Rlow4 Glow4 Blow4(W*H),
通过转换公式将上面两个数据合成为一个每通道(颜色分量)12bit的紧缩格式RGB数据:R high8Rlow4 Ghigh8Glow4 Bhigh8Blow4(W*H)。
如前所述,为便于计算机处理,通常会将剩余4bit数据通过加末位0方式转换到8bit整字节数据处理,这种情况下低4bit的数据的实际存储形式为:
Rlow8 Glow8 Blow8(W*H),其中low8为4bit有效数据在高4bit,低4bit为0;
通过转换公式将上面两个数据合成为一个每通道(颜色分量)12bit(占位16bit)的紧缩格式RGB数据:
R high8Rlow8 Ghigh8Glow8 Bhigh8Blow8(W*H),其中每个颜色分量的low8为4bit有效数据在高4bit,低4bit为0;
对于每个像素点,其12bitRGB数据的实际占位为3个16bit,其具体形态为:
R high8 R low8 G high8 G low8 B high8 B low8
需要注意,在解压缩出剩余低bit数据后,需要考虑在压缩编码前组织低bit剩余数据时,是否对数据进行了末位加0以补齐整字节的处理。对解压缩后的低bit数据的解释和使用要与压缩前对剩余低bit数据的处理方式相一致。
最后应说明的是,以上仅用以说明本发明的技术方案而非限制,尽管参照较佳布置方案对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案(比如数据结构、步骤的先后顺序等)进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。本发明所述的方法可编制为应用于计算机系统的程序,并运行于本发明所述的计算机网络系统中。

Claims (8)

1.一种高采样率 RGB视频数据无损压缩方法,其特征在于, 所述方法的步骤如下:
所述的方法包括:编码过程和解码过程:
编码过程:
提取原始数据的步骤:用于提取一帧图像的高采样率RGB原始数据;
原始数据分割的步骤:用于将一帧图像的高采样率RGB原始数据各像素各颜色分量的数据分割为两部分,高8 bit数据和剩余低bit数据;
高8 bit数据压缩的步骤:用于将高8 bit数据进行H.264无损压缩编码,形成压缩后的高8 bit数据;
低bit数据压缩的步骤:用于在高8 bit数据进行H.264无损压缩编码的同时,将剩余低bit数据按照普通的数据压缩方式进行压缩编码,形成压缩后的剩余低bit数据;
压缩结果排序编码的步骤:用于将压缩后的高8 bit数据和压缩后的剩余低bit数据及数据标识顺序排列,形成一帧图像的压缩编码数据;
解码的过程:
提取压缩编码数据的步骤:用于提取一帧图像的压缩编码数据;
压缩编码数据分离的步骤:用于将一帧图像的压缩编码数据分为压缩后的高8 bit数据和压缩后的剩余低 bit数据;
高8 bit数据解压缩的步骤:用于将压缩后的高8 bit数据进行H.264解压缩,形成高8bit数据;
剩余低bit数据解压缩的步骤:用于在压缩后的高8 bit数据进行H.264解压缩的同时,将压缩后的剩余低bit数据按照普通的数据压缩方式进行解压缩,形成剩余低 bit数据;
解压缩数据合并的步骤:用于将解压缩出来的高8 bit数据和解压缩出来的剩余低bit数据合并为高采样率数据,形成一帧完整的高采样率RGB图像数据。
2.根据权利要求1所述的方法,其特征在于,所述的原始数据分割的步骤中的原始数据分割的方法为:
将输入的一帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出,组成该帧高采样率RGB图像的高8bit数据块 ;同时,将该帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,组成该帧高采样率RGB图像的剩余低bit数据块。
3.根据权利要求2所述的方法,其特征在于,所述的原始数据分割的步骤中的原始数据分割的方法为:
判断待分割原始数据是否是16bit采样,如果不是则将输入的一帧高采样率RGB原始数据变换到16bit数据空间,转换过程中对每个像素各颜色分量的数据不足16bit的位数末位补0;
将已经转换到16bit数据空间的每个像素点的R、G、B各分量的高 8 bit数据取出,组成一帧高采样率RGB图像的高8bit数据块 ;
将该帧高采样率RGB原始数据的已经转换到16bit数据空间的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,组成一帧高采样率RGB图像的剩余低bit数据块。
4.根据权利要求2所述的方法,其特征在于,所述的原始数据分割的步骤中的原始数据分割的方法为:
将输入的一帧高采样率RGB原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出,组成一帧高采样率RGB图像的高8bit数据块;
对该帧原始数据的每个像素点的R、G、B各分量的高 8 bit数据取出后剩余的低bit数据,如果不足8bit的话,则将每个像素点R、G、B各分量剩余数据不足8bit的位数补0;
将补0后的剩余数据组成剩余低bit数据块。
5.根据权利要求2所述的方法,其特征在于,所述的高8bit数据的数据块的组织方式为:
将一帧图像上所有像素点的R分量高8bit数据依次排列,然后放置所有像素点的G 分量高8bit数据依次排列最后放置所有像素点的B分量高8bit数据依次排列,直到该帧图像的所有像素点的高8bit 数据全部排列完成,具体步骤如下:
首先将输入的一帧高采样率RGB原始数据的每个像素点的R分量的高 8 bit数据取出并依次排列,组成该帧图像的R分量高8bit数据块;
接下来将原始数据的每个像素点的G分量的高 8 bit数据取出并依次排列,组成该帧图像的G分量高8bit数据块;
接下来将原始数据的每个像素点的B分量的高 8 bit数据取出并依次排列,组成该帧图像的B分量高8bit数据块。
6.根据权利要求2所述的方法,其特征在于,所述的剩余低bit数据的数据块的组织方式为:
将一帧图像上第一个像素点的R分量去除高8bit的剩余数据、G 分量去除高8bit的剩余数据、B分量去除高8bit的剩余数据依次排列;
放置下一个像素点的R分量去除高8bit的剩余数据、G 分量去除高8bit的剩余数据、B分量去除高8bit的剩余数据依次排列,直到该帧图像的所有像素点的剩余低bit数据全部排列完成。
7.根据权利要求6所述的方法,其特征在于,所述的剩余低bit数据的数据块的组织方式为:
放置各像素R、G、B各分量的剩余低bit数据时,每个分量的剩余低bit数据在前,不足8bit的话,末尾用0填充。
8.根据权利要求1所述的方法,其特征在于,所述的解压缩数据合并的步骤中的数据合并的方法为:
将解压缩后的高8bit数据和解压缩后的剩余低bit数据分为两个数据区,一个是平面格式的解压缩后的高8bitRGB数据,另一部分是解压缩后的剩余低bit的数据;
解压缩后的高8bit数据分为R分量、G分量、B分量三个部分,取W=原始视频图像的宽度,H=原始视频图像的高度,其中,每一部分都是W*H的8bit数据块:
R high8(W*H)
G high8(W*H)
B high8(W*H);
解压缩后的剩余低bit数据,将每个像素的 R low G low B low数据相邻排列,依次放置其后每一个像素点的R low G low B low数据,其中low为该颜色分量剩余低bit数据;
然后将解压缩后的高8bit数据和解压缩后的剩余低 bit数据两部分数据逐像素合成为三个分量的压缩格式RGB数据:
RGB
R high8 R low G high8 G low B high8 B low。
CN201710012355.6A 2017-01-09 2017-01-09 一种高采样率rgb视频数据无损压缩方法 Expired - Fee Related CN106791858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710012355.6A CN106791858B (zh) 2017-01-09 2017-01-09 一种高采样率rgb视频数据无损压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710012355.6A CN106791858B (zh) 2017-01-09 2017-01-09 一种高采样率rgb视频数据无损压缩方法

Publications (2)

Publication Number Publication Date
CN106791858A CN106791858A (zh) 2017-05-31
CN106791858B true CN106791858B (zh) 2019-06-04

Family

ID=58951231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710012355.6A Expired - Fee Related CN106791858B (zh) 2017-01-09 2017-01-09 一种高采样率rgb视频数据无损压缩方法

Country Status (1)

Country Link
CN (1) CN106791858B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108933944A (zh) * 2018-06-08 2018-12-04 玖芯半导体有限公司 一种对图像数据进行处理的图像压缩方法
CN111193901B (zh) * 2018-11-15 2021-11-23 北京图森智途科技有限公司 一种图像的传输方法、成像设备、系统及车辆
CN109600618B (zh) * 2018-12-19 2021-12-24 上海数迹智能科技有限公司 视频压缩方法、解压缩方法、装置、终端和介质
CN110555802B (zh) * 2019-08-02 2021-04-20 华中科技大学 为图像并行运算电路提供数据的多像素拼接方法和系统
CN111918062B (zh) * 2020-07-24 2022-08-05 上海定九康科技股份有限公司 一种高压缩率高还原性的本帧数据压缩解压缩方法
CN112087637A (zh) * 2020-09-09 2020-12-15 中国电子科技集团公司第五十八研究所 一种高像素位深视频图像数据编解码处理方法
CN114173189B (zh) * 2021-10-29 2023-02-07 荣耀终端有限公司 视频编辑方法、电子设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687702B2 (en) * 2008-10-27 2014-04-01 Advanced Micro Devices, Inc. Remote transmission and display of video data using standard H.264-based video codecs
CN106210731B (zh) * 2016-07-01 2018-11-02 兰州理工大学 基于双三次插值扩展的彩色图像可逆数据隐藏方法

Also Published As

Publication number Publication date
CN106791858A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106791858B (zh) 一种高采样率rgb视频数据无损压缩方法
US9326000B2 (en) Method and system for still image encoding and random access decoding
US6757438B2 (en) Method and apparatus for video compression using microwavelets
US20190208225A1 (en) Sign prediction in video coding
US6031937A (en) Method and apparatus for video compression using block and wavelet techniques
TWI471013B (zh) 轉換式數位媒體編解碼器之計算複雜度及精確性控制
TWI431948B (zh) 轉換區塊之效率編碼和解碼
US8532192B2 (en) Video processing apparatus and a method of processing video data
US9992497B2 (en) High throughput significance map processing for CABAC in HEVC
TWI750624B (zh) 編解碼變換係數的方法及裝置
US9230341B2 (en) Compressed domain system and method for compression gains in encoded data
KR101313952B1 (ko) 부호화된 데이터의 압축 이득을 위한 피압축 도메인 시스템 및 방법
CN101971633A (zh) 压缩参考帧的视频编码系统
CN104853211A (zh) 使用多种形式的参考像素存储空间的图像压缩方法和装置
CN101742317A (zh) 一种带阿尔法透明通道的视频压缩编码方法
CN104041035A (zh) 用于复合视频的无损编码及相关信号表示方法
WO2023020560A1 (zh) 视频编解码的方法、装置、电子设备及存储介质
WO2023040600A1 (zh) 图像编码方法、图像解码方法、装置、电子设备及介质
CN107645662A (zh) 一种彩色图像压缩方法
US9479792B2 (en) Apparatus and method for compression of image data assembled into groups
CN104935945B (zh) 扩展参考像素样值集的图像编码或解码方法
KR101277712B1 (ko) 영상 처리 방법 및 장치
CN111385555A (zh) 原始和/或残差数据用分量间预测的数据压缩方法和装置
CN104104897B (zh) 一种移动终端的视频编辑方法和装置
CN108282654A (zh) 一种数字视频压缩与解压缩方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190604

Termination date: 20200109

CF01 Termination of patent right due to non-payment of annual fee