Motion JPEG编码系统的利记博彩app
【专利说明】
【技术领域】
[0001]本实用新型涉及视频编码领域,特别涉及一种Mot1n JPEG编码系统。
【【背景技术】】
[0002]在视频信号的形成过程中,对传入图像的再处理具有很重要的意义。由于原始图像的数据量较大,为了降低传输带宽,图像的压缩和解压缩成为视频编码过程中十分重要的环节,采用合适、高效的编码方法,可以有效降低数据占用的存储空间,提高传输数据的码率。
[0003]Mot1n JPEG是一种基于帧内压缩的视频编码标准,由于其具有计算复杂度较低、对系统内存要求不高、易于后期编辑等优点,被广泛应用于消费类电子产品或影视媒体编辑领域。Huffman编码是一种可变字长的编码方法,能够将出现频率较高的符号赋予较短的码字,出现频率较低的符号赋予较长的码字,从而实现压缩效果,因此JPEG常采用Huffman编码作为其主要的编码方法。与Huffman编码相比,范式Huffman编码不需要建立Huffman树,而只需要模拟Huffman树的建立,最终加快了编码的速度,同时提高了系统内存的利用率,因此被广泛应用于实际的编码之中。现有的基于范式Huffman编码的Mot1n JPEG编码技术主要采用两种方式进行编码,一种是每一帧都采用相同的Huffman说明表(通常为标准Huffman说明表)进行编码,这并没有利用到相邻帧间的相关性,所以压缩效果并不理想;另一种是在同一帧内进行两次扫描以获得当前帧的Huffman说明表,并基于该Huffman说明表进行编码,但由于需要进行两次扫描,系统开销巨大,不利于实际应用。
【【实用新型内容】】
[0004]基于此,针对上述现有技术中存在的问题,本实用新型提供了一种Mot1n JPEG编码系统,该编码系统可以减少视频帧之间的冗余信息,降低系统内存占用,提高压缩速度和编码效率,从而提供一种可行的编码方式。
[0005]为实现上述目的,本实用新型实施例包括如下内容:
[0006]一种Mot1n JPEG编码系统,包括获取视频序列的输入设备、对视频序列中各个视频帧进行JPEG编码的JPEG编码器、统计每一视频帧的各个编码符号的出现频率的Huffman符号统计设备、控制器以及存储设备;
[0007]所述JPEG编码器的输入端分别与所述输入设备的输出端、所述控制器的输出端连接,所述JPEG编码器的输出端与所述Huffman符号统计设备的输入端连接;
[0008]所述Huffman符号统计设备的输出端与所述控制器的输入端连接;
[0009]所述存储设备分别与所述JPEG编码器、所述Huffman符号统计设备、所述控制器连接。
[0010]本实用新型的有益效果在于:本实用新型通过Huffman符号统计设备统计JPEG编码器输出的编码符号的频率,控制器根据该频率生成基于当前编码的视频帧的Huffman说明表,用于下一视频帧的JPEG编码过程,从而实现Huffman说明表在视频帧之间的动态变化,因而能够有效减少视频帧之间的冗余信息,提高压缩效率,降低系统开销。本实用新型利用硬件专有模块统计每帧图像中编码符号的出现频率,通过存储设备进行交换,再通过控制器构造Huffman说明表。在实际应用中,硬件专有模块可以很方便的集成、复用JPEG编码器原有的硬件逻辑,在提高压缩率的同时,兼顾软件运算量和硬件成本,节约资源。
【【附图说明】】
[0011]图1为本实用新型实施例中Mot1n JPEG编码系统的一种结构示意图;
[0012]图2为本实用新型实施例中根据当前视频帧的编码符号的出现频率获取相应的编码位长的过程示意图;
[0013]图3为本实用新型实施例中范式Huffman编码的过程示意图;
[0014]图4为本实用新型实施例中码值表的更新过程示意图;
[0015]图5为本实用新型实施例中码长表的更新过程示意图;
[0016]图6为本实用新型实施例中对编码位长进行限制的过程示意图;
[0017]图7为本实用新型实施例中Mot1n JPEG编码系统的另一结构示意图。
【【具体实施方式】】
[0018]下面将结合较佳实施方式对本实用新型的技术方案进行详细描述。
[0019]图1所示为本实用新型提出的Mot1n JPEG编码系统的其中一个实施例的结构示意图,本实施例中的编码系统包括输入设备100、JPEG编码器110、Huffman符号统计设备120、控制器130以及存储设备140。
[0020]JPEG编码器110的输入端分别与输入设备100的输出端、控制器130的输出端连接,JPEG编码器110的输出端与Huffman符号统计设备120的输入端连接。
[0021]Huffman符号统计设备120的输出端与控制器130的输入端连接。
[0022]存储设备140分别与JPEG编码器110、Huffman符号统计设备120、控制器130连接。存储设备140用于Mot1n JPEG编码过程中JPEG编码器110、Huffman符号统计设备120和控制器130产生的数据的存储、交换或者中转。
[0023]其中,输入设备100用于提供稳定的视频序列JPEG编码器110获取输入设备100传输的视频序列,根据Huffman说明表对视频序列的各个视频帧进行JPEG编码,生成各视频帧的编码符号,并将视频序列编码成为符合Mot1n JPEG压缩标准的视频压缩流,该JPEG编码器110通常但不限为硬件逻辑单元。在本实施例中,JPEG编码器110可以集成、复用控制Huffman符号统计设备!Huffman符号统计设备120用于统计JPEG编码器110产生的各个编码符号的出现频率,并将统计结果写入存储设备140 ;控制器130提供设备控制及部分运算功能,在本实施例中,控制器130从存储设备140中获取当前视频帧的各个编码符号的出现频率,并依据范式Huffman编码方法更新Huffman说明表。
[0024]在本实施例中,Mot1n JPEG编码系统的工作原理如下:
[0025]输入设备100输入视频序列并将视频序列的当前视频帧输出至JPEG编码器110,JPEG编码器110接收当前视频帧并根据Huffman说明表对当前视频帧进行编码,生成当前视频帧的编码符号,同时Huffman符号统计设备120统计当前视频帧的各个编码符号的出现频率,将统计结果输出至存储设备140,控制器130从存储设备140中获取数据,根据编码符号出现频率的统计结果和范式Huffman编码方法更新Huffman说明表,JPEG编码器110将根据更新后的Huffman说明表对当前视频帧的相邻下一视频帧进行编码,输出相邻下一视频帧的编码符号,此时Huffman符号统计设备120统计相邻下一视频帧的编码符号的出现频率并将其统计结果输出至存储设备140,控制器130根据统计结果再次更新Huffman说明表。JPEG编码器110对之后的每一个视频帧进行JPEG编码时,使用的Huffman说明表均为它的相邻上一视频帧编码后得到的更新后的Huffman说明表,之后每一视频帧的具体编码方法与当前视频帧的编码方法相同,此处不再赘述。特别地,当输入设备100所获取的当前视频帧为所述视频序列的初始帧时,JPEG编码器110可采用预设Huffman说明表(通常为标准Huffman说明表)对初始帧进行JPEG编码。
[0026]本实用新型所提出的Mot1n JPEG编码系统通过各个组成设备之间的协调配合实现了基于帧间动态Huffman说明表的编码功能,充分利用相邻视频帧之间的相关性,从而能够有效减少视频帧之间的冗余信息,在进一步提高压缩效率的同时,降低系统开销,节约成本和资源。同时,Mot1n JPEG编码系统进行编码时每一帧图像的编码符号的出现频率均可以利用硬件专有模块进行统计,而基于编码符号出现频率统计结果的Huffman说明表则可以利用软件进行构造,通过这种软硬结合的方式可以更进一步地提高编码效率。
[0027]在一种【具体实施方式】中,Mot1n JPEG编码系统对每一个视频帧进行JPEG编码时,JPEG编码器110都会生成相应的编码符号,所述编码符号具体包括DC中间符号和AC中间符号,而控制器130根据范式Huffman编码方法生成的Huffman说明表又与上述两种中间符号的出现频率密切相关,因此,这里结合一个实际的Mot1n JPEG编码案例对上述中间符号和Huffman说明表给出相应的解释。在JPEG编码过程中,一个8x8的数据块经过离散余弦变换和量化后,位于8x8数据块左上角的数据便是DC系数,DC系数是图像在频域中频率为零的系数值,除DC系数以外的63个系数值便是AC系数,AC系数是图像在频域中频率不为零的系数值。由于DC系数是一块图像像素的平均值,相邻8x8数据块的DC系数有很大的相关性,所以通常对相邻块的DC系数的差值进行编码。JPEG编码前要将DC系数的差值转化为DC中间符号,将AC系数转化为AC中间符号。对于一个8x8的数据块而言,DC中间符号可以有12种取值,AC中间符号可以有162种取值,关于DC中间符号和AC中间符号取值的表即是码值表,关于DC中间符号和AC中间符号编码位长的取值的表即是码长表,而所述码值表和码长表共同组成Huffman说明表,用于编码过程中模拟Huffman树的建立。
[0028]在另一种【具体实施方式】中,控制器130根据当前视频帧的各个编码符号的出现频率和范式Huffman编码方法更新Huffman说明表这一过程具体包括根据当前视频帧各个编码符号的编码位长对码值表和码长表分别进行更新的过程。
[0029]作为控制器130对码值表进行更新的一种具体实现方式,控制器130将当前视频帧的编码符号的码值按照其对应的编码位长的大小顺序(例如编码位长从小到大的顺序)进行排列后,得到更新后的码值表。
[0030]作为控制器130对码长表进行更新的一种具体实现方式,控制器130根据预设码长阈值对各个编码符号的编码位长进行限制,根据限制后的各个编码符号的编码位长得到更新后的码长表。
[0031 ] 作为一种范式Huffman编码方法的优选实施方式,预设码长阈值具体可取为16。
[0032]为更详细地阐明Mot1