CN114125463B - 一种视频压缩的方法、系统、存储介质及设备 - Google Patents

一种视频压缩的方法、系统、存储介质及设备 Download PDF

Info

Publication number
CN114125463B
CN114125463B CN202111343922.9A CN202111343922A CN114125463B CN 114125463 B CN114125463 B CN 114125463B CN 202111343922 A CN202111343922 A CN 202111343922A CN 114125463 B CN114125463 B CN 114125463B
Authority
CN
China
Prior art keywords
data
storage area
image data
memory
frame
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
CN202111343922.9A
Other languages
English (en)
Other versions
CN114125463A (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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202111343922.9A priority Critical patent/CN114125463B/zh
Publication of CN114125463A publication Critical patent/CN114125463A/zh
Application granted granted Critical
Publication of CN114125463B publication Critical patent/CN114125463B/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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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

Landscapes

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

Abstract

本发明提供了一种视频压缩的方法、系统、存储介质及设备,方法包括:在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区;视频图形阵列组件交替向两个该存储区写入图像数据;视频读取组件从两个该存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件;在该帧差处理组件中以像素为单位对两个该图像数据做帧差处理得到帧差值;帧差处理组件将该帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置。该方法能够去除视频帧间的冗余信息,减少了图像压缩后的数据,在网络打包时减少了打包时间,减少了图像传输的延时,也减少了网络带宽的占用。

Description

一种视频压缩的方法、系统、存储介质及设备
技术领域
本发明涉及数据处理技术领域,尤其涉及图像数据处理领域,具体涉及一种视频压缩的方法、系统、存储介质及设备。
背景技术
近年来,随着信息时代和大数据时代的到来,数据传输所面临的挑战伴随着数据量的不断增大而越发显著。这其中,图像数据、尤其是视频数据由于其明显高于其他数据类型的“数据密度”而使其传输时的各方面成本与效率的矛盾尤为突出。
为了缓解上述矛盾,现有的解决方案主要在于对图像数据、尤其视频数据的压缩。现有的视频压缩技术,在服务器领域中,通常是基于BMC上的KVM模块实现的。
BMC(Baseboard Management Controller)基板管理控制器可在本地和远程对服务器的运行状态进行管理,支持可视化控制台界面,对服务器进行硬件管理和故障排除。
KVM(Keyboard,Video,Mouse)是BMC中的一个模块。其中,主机通过PCIe(Peripheral Component Interconnect express,一种高速串行计算机扩展总线标准)总线把图像数据传输给PCIe控制器。PCIe控制器分离出视频数据传输给VGA(Video GraphicsArray,视频图形阵列)模块,VGA模块传输给本地模块显示,并把数字图像存储到DDR(Double DataRate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器)中。视频压缩模块根据视频帧率(一秒钟有多少幅图像)在DDR中把图像数据读出来后进行JPEG压缩,并把压缩后的数据再存储到DDR中,以太网控制器在DDR中读取到压缩后的图像数据,打包后通过以太网传输到远程终端,远程终端通过JPEG解压缩后显示图像数据。
如图1所示,现有的视频压缩技术中,视频读取模块通过DDR控制器在DDR中指定的位置读取数据,把读取到的视频数据直接传给JPEG视频压缩控制模块进行图像压缩,压缩后的数据再通过DDR控制器写到DDR中的指定位置。JPEG视频压缩控制模块压缩的数据是视频的每帧图像,压缩的过程消除了帧内的冗余信息。
然而,在大多数视频需求中,尤其对于计算机显示而言,图像变化的频率并没有非常高。通常情况是可能很多帧图像、甚至若干秒的图像都没有变化。此时,这些没有发生变化的图像从一定意义上来说形成了一种信息的冗余。
而正如前面所述的,现有的视频压缩模块压缩的冗余信息只针对帧内的数据,对于帧间的冗余信息没有处理的功能。这样压缩后的数据依然较大,并且包含了不必要的冗余信息,不仅在网络打包的过程中会增加打包时间,而且在网络传输时会占用大量网络带宽,导致远程显示延时加大。
因此,需要提出一种尤其视频数据的压缩方法,针对现有技术中的上述缺点、问题,进一步提高网络传输的效率,减少远程视频传输的网络带宽需求,加快网络打包的时间。
发明内容
有鉴于此,本发明的目的在于提出一种数据压缩、尤其针对视频数据压缩的方法、系统、存储介质及设备,从而解决现有技术中打包时间较长、网络带宽占用过多、远程显示延迟过大等问题。
基于上述目的,一方面,本发明提供了一种视频压缩的方法,其中该方法包括以下步骤:
在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区;
视频图形阵列组件交替向两个该存储区写入图像数据;
视频读取组件从两个该存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件;
在该帧差处理组件中以像素为单位对两个该图像数据做帧差处理得到帧差值;
帧差处理组件将该帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置。
在根据本发明的视频压缩的方法的一些实施例中,该在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区进一步包括:
在该存储器中将该图像存储区域分成第一存储区和第二存储区,其中该第一存储区和第二存储区分别对应于一帧的图像数据;
该第二存储区的全部字节写为0;并且
该第一存储区的起始地址为X,第二存储区的起始地址为Y。
在根据本发明的视频压缩的方法的一些实施例中,该视频图形阵列组件交替向两个该存储区写入图像数据进一步包括:
将第2k-1帧的图像数据写入该第一存储区,将第2k帧的图像数据写入该第二存储区,其中k为正整数。
在根据本发明的视频压缩的方法的一些实施例中,该视频读取组件从两个该存储区中读取两个该图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:
通过交替突发的方式从该第一存储区和该第二存储区中读取特定大小的数据,并将读取到的数据分别写入到两个FIFO(First Input First Output,先进先出存储器)中,直到交替读取完该第一存储区中和该第二存储区中的所有数据,以得到当前帧数据和前一帧数据,从而完成一次读取图像数据。
在根据本发明的视频压缩的方法的一些实施例中,该通过交替突发的方式从该第一存储区和该第二存储区中读取指定大小的数据,并将读取到的数据分别写入到两个FIFO中进一步包括:
从该第一存储区中读取指定大小的数据并写入第一FIFO;
从该第二存储区中读取指定大小的数据并写入第二FIFO。
在根据本发明的视频压缩的方法的一些实施例中,该视频读取组件从两个该存储区中读取两个该图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:
第2k-1次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是Y,当前帧数据对应的图像数据的存储器起始地址是X,
第2k次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是X,当前帧数据对应的图像数据的存储器起始地址是Y。
在根据本发明的视频压缩的方法的一些实施例中,该在该帧差处理组件中以像素为单位对两个该图像数据做帧差处理得到帧差值进一步包括:
针对相同像素点,在当前帧数据中的像素值减去在前一帧数据中的像素值。
本发明的另一方面,还提供了一种视频压缩的系统,其中包括:
存储初始化模块,该存储初始化模块配置为在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区;
数据写入模块,该数据写入模块配置为视频图形阵列组件交替向两个该存储区写入图像数据;
帧读取模块,该帧读取模块配置为视频读取组件从两个该存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件;
帧差处理模块,该帧差处理模块配置为在该帧差处理组件中以像素为单位对两个该图像数据做帧差处理得到帧差值;
视频压缩模块,该视频压缩模块配置为帧差处理组件将该帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置。
本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的视频压缩的方法。
本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的视频压缩的方法。
本发明至少具有以下有益技术效果:基于本发明的方法,对存储区中的存储区进行新的划分,基于新划分的区域提取相邻两帧图像的帧差,对该帧差进行JPEG压缩,从而能够去除视频帧间的冗余信息,减少了图像压缩后的数据,在网络打包时减少了打包时间,减少了图像传输的延时,由于压缩后数据减少,也减少了网络带宽的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
在图中:
图1示出了现有技术中的视频压缩的方法的实施例的流程示意图;
图2示出了根据本发明的视频压缩的方法的实施例的流程示意图;
图3示出了根据本发明的视频压缩的方法的实施例的示意性框图;
图4示出了根据本发明的视频压缩的系统的实施例的示意性框图;
图5示出了根据本发明的实现视频压缩的方法的计算机可读存储介质的实施例的示意图;
图6示出了根据本发明的实现视频压缩的方法的计算机设备的实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
基于上述目的,本发明创造性地提出了。图2示出了根据本发明的视频压缩的方法的实施例的流程示意图。总的来说,该方法的整体构思主要在于一下几点。对比现有技术,整个BMC系统在初始化时,采用新的存储初始化策略,在DDR图像存储区域中划分出两个存储位置用于存储两帧视频数据,把这两个存储位置其中一存储位置全部写0,随后VGA组件交替向这两个位置写入帧数据,即第1帧数据从另外一存储位置开始写,第2帧则写在初始化全部是0的位置,第3帧再写到第1帧所存储的位置,后续视频图像按照这个规则依次写入。此外,对比现有技术,在视频数据压缩的过程中增加一个图像帧差处理组件,把在DDR读出来的前后两帧数据做帧差处理,再把帧差数据传输给JPEG视频压缩控制模块进行图像压缩。再者,对比现有技术,DDR视频读取组件中也做出一定的改变,由原来的一帧一帧的逐帧地从DDR读取数据改变成同时读取前后两帧的视频数据。也就是说,对存储区中的存储区进行新的划分,基于新划分的区域提取相邻两帧图像的帧差,对该帧差进行JPEG压缩,从而去除视频帧间的冗余信息,以减少图像压缩后的数据,从而在网络打包时减少打包时间,降低图像传输的延时,并且由于压缩后数据减少,也同时减少对网络带宽的占用。
为此,本发明的第一方面,提供了一种视频压缩的方法100。图3示出了根据本发明的视频压缩的方法的实施例的示意性框图。在如图1所示的实施例中,该方法包括:
步骤S110:在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区;
步骤S120:视频图形阵列组件交替向两个该存储区写入图像数据;
步骤S130:视频读取组件从两个该存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件;
步骤S140:在该帧差处理组件中以像素为单位对两个该图像数据做帧差处理得到帧差值;
步骤S150:帧差处理组件将该帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置。
总的来说,根据本发明的方法的主要包括基于新的策略初始化DDR中的图像存储区域;VGA组件交替向DDR的两个存储区写图像数据;DDR视频读取组件通过DDR控制器从DDR中读取图像数据;在DDR视频读取组件中把存储的前后两帧的数据读取出来,按照相同位置像素对应的方式传输给帧差处理组件;帧差处理组件中以像素为单位对图像做帧差处理;帧差处理组件得到的帧差值传输到JPEG视频压缩控制组件进行图像压缩,压缩好的数据再通过DDR数据写组件把数据写到DDR存储视频压缩数据的位置。以上若干方面可以以前述步骤S110至步骤S150的方法执行。
具体地说,首先在整个BMC系统初始化时,采用新的存储初始化策略,执行步骤S110在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区,更具体地是在DDR图像存储区域中划分出两个存储区以用于存储视频的两帧图像数据。步骤可以通过verilog硬件语言来控制DDR控制器来初始化,或者通过CPU的软件代码来初始化。
在接收数据流的过程中,遵循步骤S120视频图形阵列组件交替向两个该存储区写入图像数据,更具体地是VGA组件交替向DDR中在步骤S11中划分的两个存储区逐帧地写入图像数据。随后在步骤S130中视频读取组件从两个该存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件,更具体地DDR视频读取组件通过DDR控制器从DDR的上述两个该存储区中读取存储在其中的图像数据,从DDR视频读取组件中把存储的前后两帧的数据读取出来后,按照相同位置像素对应的方式传输给帧差处理组件。
进一步地,在视频数据压缩的过程中增加一个图像帧差处理组件,计算相邻两帧的帧差值,以消除视频帧间的冗余信息、减小图像压缩的数据量。在帧差处理组件接收到步骤S130传输来的两个(即两帧)图像数据后,步骤S140在该帧差处理组件中以像素为单位对这两个图像数据做帧差处理得到帧差值。在这种计算中,当相邻的前后两帧的图像没有变化时,该帧差值也相应地为零,并且消除了相同的图像数据构成的冗余。即使相邻的前后两帧的图像已经发生改变,但是基于视频图像的连续性,通常情况下,像素值变化的数据量相对整帧图像的数据量来讲也显著较小,而帧差的计算也相应地消除了相似的图像数据中相同的图像数据构成的冗余。因此,帧差处理的过程不仅极大程度上消除了视频帧间的冗余信息,而且减小了图像压缩的数据量。
最后,步骤S150中帧差处理组件将步骤S140中计算得到的帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置。换句话说,帧差处理组件将从前述步骤中得到的帧差值传输到JPEG视频压缩控制组件进行图像压缩,压缩好的数据再通过DDR数据写组件把数据写到DDR存储视频压缩数据的位置。
通过基于本发明的方法的以上步骤,对存储区中的存储区进行新的划分,基于新划分的区域提取相邻两帧图像的帧差,对该帧差进行JPEG压缩,从而去除了视频帧间的冗余信息,减少了图像压缩后的数据,在网络打包时减少了打包时间,减少了图像传输的延时,由于压缩后数据减少,也减少了网络带宽的占用。
此外,根据本发明的视频压缩的方法能够但不限于应用于FPGA(FieldProgrammable Gate Array,现场可编程门阵列)实现的KVM控制系统,或者芯片设计的KVM系统,或者包含KVM系统的所有芯片设计的视频压缩组件等。
在根据本发明的视频压缩的方法100的一些实施例中,步骤S110在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区进一步包括:
步骤S111:在该存储器中将该图像存储区域分成第一存储区和第二存储区,其中该第一存储区和第二存储区分别对应于一帧的图像数据;
步骤S112:该第二存储区的全部字节写为0;并且
步骤S113:该第一存储区的起始地址为X,第二存储区的起始地址为Y。
具体地说,在整个BMC系统初始化时,执行步骤S110在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区,更进一步地,步骤S111在该存储器中将该图像存储区域分成第一存储区和第二存储区,其中该第一存储区和第二存储区分别对应于一帧的图像数据,步骤S112第二存储区的全部字节写为0,并且步骤S113第一存储区的起始地址为X,第二存储区的起始地址为Y。更具体地是在DDR图像存储区域中划分出两个存储区以用于存储视频的两帧图像数据。步骤可以通过verilog硬件语言来控制DDR控制器来初始化,或者通过CPU的软件代码来初始化。第二存储区的全部字节写为0,用于初始化后的第一次帧差计算。并且第一存储区的起始地址设为X,第二存储区的起始地址设为Y,以便后续对这两个存储区的访问使用。
在根据本发明的视频压缩的方法100的一些实施例中,步骤S120视频图形阵列组件交替向两个该存储区写入图像数据进一步包括:将第2k-1帧的图像数据写入该第一存储区,将第2k帧的图像数据写入该第二存储区,其中k为正整数。具体地说,VGA模块交替向DDR的两个存储区写图像数据。其中将第2k-1帧的图像数据写入该第一存储区,将第2k帧的图像数据写入该第二存储区,其中k为正整数。例如,第1帧的图像数据存储到第一存储区,第2帧的图像数据存储到第二存储区,第3帧的图像数据再次存储到第一存储区,第4帧的图像数据存储到第二存储区,以此类推。换句话说,奇数帧的图像数据依次写入第一存储区,而偶数帧的图像数据依次写入第二存储区,并且按帧顺序交替地写入第一存储区或第二存储区。
在根据本发明的视频压缩的方法100的一些实施例中,步骤S130视频读取组件从两个该存储区中读取两个该图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:步骤S131:通过交替突发的方式从该第一存储区和该第二存储区中读取特定大小的数据,并将读取到的数据分别写入到两个FIFO中,直到交替读取完该第一存储区中和该第二存储区中的所有数据,以得到当前帧数据和前一帧数据,从而完成一次读取图像数据。在根据本发明的视频压缩的方法100的一些实施例中,步骤S131中的通过交替突发的方式从该第一存储区和该第二存储区中读取指定大小的数据,并将读取到的数据分别写入到两个FIFO中优选地包括:步骤S131A:从该第一存储区中读取指定大小的数据并写入第一FIFO;步骤S131B从该第二存储区中读取指定大小的数据并写入第二FIFO。
具体地说,DDR视频读取组件通过DDR控制器从DDR中读取图像数据,具体方式是通过交替突发的方式在DDR的第一存储区和第二存储区中按照固定大小或指定大小读数据,第1次突发读取(第一存储区或第二存储区中的)前一帧的数据,第2次突发读取(第二存储区或第一存储区中的)当前帧的数据。把数据分别写入到两个FIFO中,以此交替读取,直到交替读取完这两帧的所有数据再进行新的两帧的数据读取。优选从第一存储区中读取的指定大小的数据写入第一FIFO,而从第二存储区中读取的指定大小的数据写入第二FIFO。
在根据本发明的视频压缩的方法100的一些实施例中,步骤S130:视频读取组件从两个该存储区中读取两个该图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:
步骤S132:第2k-1次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是Y,当前帧数据对应的图像数据的存储器起始地址是X,
步骤S133:第2k次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是X,当前帧数据对应的图像数据的存储器起始地址是Y。
例如,初始化完的第1次读取图像数据时,前一帧图像数据的DDR起始地址是Y,此时由于初始化对应的字节全部为0,当前帧图像数据的DDR起始地址是X,此时由于之前步骤的图像数据的写入对应的字节为第1帧的图像数据。随后,第2次读取图像数据,前一帧图像数据的DDR起始地址时X,即对应的字节为前述第1帧的图像数据,当前帧图像数据的DDR起始地址是Y,此时由于之前步骤的图像数据的再次写入对应的字节为第2帧的图像数据。之后的第3次读取图像数据,起始地址同第1次时一样,而对应的字节则分别是第3帧的图像数据和第2帧的图像数据。按照这个方式依次交替起始地址读取。换句话说,第奇数次读取向起始地址X读取当前帧图像数据,并向起始地址Y读取前一帧图像数据。而相对地,第偶数次读取则起始地址Y读取当前帧图像数据,并向起始地址X读取前一帧图像数据。
进一步地,在根据本发明的视频压缩的方法100的一些实施例中,步骤S140在该帧差处理组件中以像素为单位对两个该图像数据做帧差处理得到帧差值进一步包括:针对相同像素点,在当前帧数据中的像素值减去在前一帧数据中的像素值。具体地说,帧差处理组件中以像素为单位对两个该图像数据做帧差处理意味着当前帧像素的值减去前一帧像素的值。以8bit为例,相同像素点在当前帧数据中的像素值为5,在上一帧数据中的像素值为251,则这个像素点的帧差值为5-251=10(9`b1 0000 1010,舍掉第9位)。再如,相同像素点在当前帧数据中的像素值为251,在上一帧数据中的像素值为5,则这个像素点的帧差值为251-5=246(9`b0 1111 0110,舍掉第9位)。
本发明的第二方面,还提供了一种视频压缩的系统200。图4示出了根据本发明的视频压缩的系统200的实施例的示意性框图。如图4所示,该系统包括:
存储初始化模块210,该存储初始化模块210配置为在存储器中初始化图像存储区域使得在该图像存储区域中分出两个存储区;
数据写入模块220,该数据写入模块220配置为视频图形阵列组件交替向两个该存储区写入图像数据;
帧读取模块230,该帧读取模块230配置为视频读取组件从两个该存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件;
帧差处理模块240,该帧差处理模块240配置为在该帧差处理组件中以像素为单位对两个该图像数据做帧差处理得到帧差值;
视频压缩模块250,该视频压缩模块250配置为帧差处理组件将该帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图5示出了根据本发明实施例提供的视频压缩的方法的计算机可读存储介质的示意图。如图5所示,计算机可读存储介质300存储有计算机程序指令310,该计算机程序指令310可以被处理器执行。该计算机程序指令310被执行时实现上述任意一项实施例的方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的视频压缩的方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的视频压缩的系统和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备400,包括存储器420和处理器410,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例的方法。
如图6所示,为本发明提供的执行视频压缩的方法的计算机设备的一个实施例的硬件结构示意图。以如图6所示的计算机设备400为例,在该计算机设备中包括一个处理器410以及一个存储器420,并还可以包括:输入装置430和输出装置440。处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图6中以通过总线连接为例。输入装置430可接收输入的数字或字符信息,以及产生与视频压缩有关的信号输入。输出装置440可包括显示屏等显示设备。
存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的资源监控方法对应的程序指令/模块。存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储资源监控方法的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的资源监控方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (4)

1.一种视频压缩的方法,其特征在于,包括以下步骤:
在存储器中初始化图像存储区域使得在所述图像存储区域中分出两个存储区;
视频图形阵列组件交替向两个所述存储区写入图像数据;
视频读取组件从两个所述存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件;
在所述帧差处理组件中以像素为单位对两个所述图像数据做帧差处理得到帧差值;
帧差处理组件将所述帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置,
其中:
所述在存储器中初始化图像存储区域使得在所述图像存储区域中分出两个存储区进一步包括:
在所述存储器中将所述图像存储区域分成第一存储区和第二存储区,其中所述第一存储区和第二存储区分别对应于一帧的图像数据;
所述第二存储区的全部字节写为0;并且
所述第一存储区的起始地址为X,第二存储区的起始地址为Y;
所述视频图形阵列组件交替向两个所述存储区写入图像数据进一步包括:
将第2k-1帧的图像数据写入所述第一存储区,将第2k帧的图像数据写入所述第二存储区,其中k为正整数;
所述视频读取组件从两个所述存储区中读取两个所述图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:
通过交替突发的方式从所述第一存储区和所述第二存储区中读取特定大小的数据,并将读取到的数据分别写入到两个FIFO中,直到交替读取完所述第一存储区中和所述第二存储区中的所有数据,以得到当前帧数据和前一帧数据,从而完成一次读取图像数据;
所述通过交替突发的方式从所述第一存储区和所述第二存储区中读取指定大小的数据,并将读取到的数据分别写入到两个FIFO中进一步包括:
从所述第一存储区中读取指定大小的数据并写入第一FIFO;并且
从所述第二存储区中读取指定大小的数据并写入第二FIFO;
所述视频读取组件从两个所述存储区中读取两个所述图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:
第2k-1次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是Y,当前帧数据对应的图像数据的存储器起始地址是X,
第2k次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是X,当前帧数据对应的图像数据的存储器起始地址是Y;
所述在所述帧差处理组件中以像素为单位对两个所述图像数据做帧差处理得到帧差值进一步包括:
针对相同像素点,在当前帧数据中的像素值减去在前一帧数据中的像素值。
2.一种视频压缩的系统,其特征在于,包括:
存储初始化模块,所述存储初始化模块配置为在存储器中初始化图像存储区域使得在所述图像存储区域中分出两个存储区;
数据写入模块,所述数据写入模块配置为视频图形阵列组件交替向两个所述存储区写入图像数据;
帧读取模块,所述帧读取模块配置为视频读取组件从两个所述存储区中读取两个图像数据,并按照相同位置像素对应的方式传输给帧差处理组件;
帧差处理模块,所述帧差处理模块配置为在所述帧差处理组件中以像素为单位对两个所述图像数据做帧差处理得到帧差值;
视频压缩模块,所述视频压缩模块配置为帧差处理组件将所述帧差值传输到视频压缩控制组件进行图像压缩,并将压缩好的数据写入到存储器中存储视频压缩数据的位置,
其中:
所述在存储器中初始化图像存储区域使得在所述图像存储区域中分出两个存储区进一步包括:
在所述存储器中将所述图像存储区域分成第一存储区和第二存储区,其中所述第一存储区和第二存储区分别对应于一帧的图像数据;
所述第二存储区的全部字节写为0;并且
所述第一存储区的起始地址为X,第二存储区的起始地址为Y;
所述视频图形阵列组件交替向两个所述存储区写入图像数据进一步包括:
将第2k-1帧的图像数据写入所述第一存储区,将第2k帧的图像数据写入所述第二存储区,其中k为正整数;
所述视频读取组件从两个所述存储区中读取两个所述图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:
通过交替突发的方式从所述第一存储区和所述第二存储区中读取特定大小的数据,并将读取到的数据分别写入到两个FIFO中,直到交替读取完所述第一存储区中和所述第二存储区中的所有数据,以得到当前帧数据和前一帧数据,从而完成一次读取图像数据;
所述通过交替突发的方式从所述第一存储区和所述第二存储区中读取指定大小的数据,并将读取到的数据分别写入到两个FIFO中进一步包括:
从所述第一存储区中读取指定大小的数据并写入第一FIFO;并且
从所述第二存储区中读取指定大小的数据并写入第二FIFO;
所述视频读取组件从两个所述存储区中读取两个所述图像数据,并按照相同位置像素对应的方式传输给帧差处理组件进一步包括:
第2k-1次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是Y,当前帧数据对应的图像数据的存储器起始地址是X,
第2k次读取图像数据时,前一帧数据对应的图像数据的存储器起始地址是X,当前帧数据对应的图像数据的存储器起始地址是Y;
所述在所述帧差处理组件中以像素为单位对两个所述图像数据做帧差处理得到帧差值进一步包括:
针对相同像素点,在当前帧数据中的像素值减去在前一帧数据中的像素值。
3.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被执行时实现如权利要求1所述的视频压缩的方法。
4.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1所述的视频压缩的方法。
CN202111343922.9A 2021-11-14 2021-11-14 一种视频压缩的方法、系统、存储介质及设备 Active CN114125463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111343922.9A CN114125463B (zh) 2021-11-14 2021-11-14 一种视频压缩的方法、系统、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111343922.9A CN114125463B (zh) 2021-11-14 2021-11-14 一种视频压缩的方法、系统、存储介质及设备

Publications (2)

Publication Number Publication Date
CN114125463A CN114125463A (zh) 2022-03-01
CN114125463B true CN114125463B (zh) 2024-04-26

Family

ID=80379632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111343922.9A Active CN114125463B (zh) 2021-11-14 2021-11-14 一种视频压缩的方法、系统、存储介质及设备

Country Status (1)

Country Link
CN (1) CN114125463B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396674B (zh) * 2022-10-31 2023-03-31 摩尔线程智能科技(北京)有限责任公司 用于处理至少一个图像帧的方法、装置、介质及计算装置
CN116055743B (zh) * 2023-03-29 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 一种图像压缩方法、系统、电子设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2015394A1 (en) * 1989-04-28 1990-10-28 Keith Lucas Scan converter for a high definition television system
US5450130A (en) * 1994-03-30 1995-09-12 Radius Inc. Method and system for cell based image data compression
JPH11136686A (ja) * 1997-10-31 1999-05-21 Oki Electric Ind Co Ltd 復号画像変換回路および復号画像変換装置
CN1244327A (zh) * 1997-01-22 2000-02-09 动力数字深度研究有限公司 产生立体图像的方法和装置
US6181354B1 (en) * 1997-02-06 2001-01-30 Ati Technologies, Inc. Image generator using display memory
CN1964495A (zh) * 2006-12-08 2007-05-16 北京中星微电子有限公司 对实时数码视频影流进行缓存控制的方法和装置
CN100998918A (zh) * 2006-11-01 2007-07-18 梁伟 防滑护手乒乓球拍
CN102047612A (zh) * 2008-03-24 2011-05-04 惠普开发有限公司 基于图像的远程访问系统
CN106791844A (zh) * 2016-12-19 2017-05-31 中国科学院半导体研究所 一种图像无损压缩装置及方法
CN106960412A (zh) * 2016-01-12 2017-07-18 三星电子株式会社 包括多个缓冲区的存储器设备和驱动存储器的方法
CN111314640A (zh) * 2020-02-23 2020-06-19 苏州浪潮智能科技有限公司 一种视频压缩方法、设备以及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7423642B2 (en) * 2005-12-14 2008-09-09 Winbond Electronics Corporation Efficient video frame capturing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2015394A1 (en) * 1989-04-28 1990-10-28 Keith Lucas Scan converter for a high definition television system
US5450130A (en) * 1994-03-30 1995-09-12 Radius Inc. Method and system for cell based image data compression
CN1244327A (zh) * 1997-01-22 2000-02-09 动力数字深度研究有限公司 产生立体图像的方法和装置
US6181354B1 (en) * 1997-02-06 2001-01-30 Ati Technologies, Inc. Image generator using display memory
JPH11136686A (ja) * 1997-10-31 1999-05-21 Oki Electric Ind Co Ltd 復号画像変換回路および復号画像変換装置
CN100998918A (zh) * 2006-11-01 2007-07-18 梁伟 防滑护手乒乓球拍
CN1964495A (zh) * 2006-12-08 2007-05-16 北京中星微电子有限公司 对实时数码视频影流进行缓存控制的方法和装置
CN102047612A (zh) * 2008-03-24 2011-05-04 惠普开发有限公司 基于图像的远程访问系统
CN106960412A (zh) * 2016-01-12 2017-07-18 三星电子株式会社 包括多个缓冲区的存储器设备和驱动存储器的方法
CN106791844A (zh) * 2016-12-19 2017-05-31 中国科学院半导体研究所 一种图像无损压缩装置及方法
CN111314640A (zh) * 2020-02-23 2020-06-19 苏州浪潮智能科技有限公司 一种视频压缩方法、设备以及介质

Also Published As

Publication number Publication date
CN114125463A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN114125463B (zh) 一种视频压缩的方法、系统、存储介质及设备
JP3127853B2 (ja) メモリ集積回路並びにこれを用いた主記憶システム及びグラフィクスメモリシステム
US20160314557A1 (en) Method of and apparatus for displaying an output surface in data processing systems
US20070268298A1 (en) Delayed frame buffer merging with compression
US10374628B2 (en) In-place data compression with small working memory
CN110363831B (zh) 图层合成方法、装置、电子设备及存储介质
JP5196239B2 (ja) 情報処理装置及び方法
TWI753063B (zh) 資料傳送裝置及資料傳送方法
CN108377394B (zh) 视频编码器的图像数据读取方法、计算机装置及计算机可读存储介质
CN104952088B (zh) 一种对显示数据进行压缩和解压缩的方法
CN112511839A (zh) 一种视频传输控制方法、装置、设备及可读存储介质
US9026697B2 (en) Data processing apparatus
US10276125B2 (en) Method of and apparatus for controlling overrun when writing data from a display controller to memory
US20130251025A1 (en) Memory bandwidth reduction during video capture
CN108024116B (zh) 一种数据缓存方法及装置
CN107241608B (zh) 一种用于帧缓存解压的硬件容错方法和装置
JP2000066948A (ja) 圧縮データ入出力機能付メモリlsi
WO2021237510A1 (zh) 数据解压缩的方法、系统、处理器及计算机存储介质
JP2008193263A (ja) 画像処理方法、画像処理装置、画像処理プログラム、および、記録媒体
CN112565778B (zh) 一种基于时间片管理的数据存取方法
US11205243B2 (en) Data processing systems
CN113971626A (zh) 数据处理系统
JP2000232587A (ja) 画像処理装置および画像処理方法
US10332489B2 (en) Data processing system for display underrun recovery
CN117762329A (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