CN111131831A - 数据传输方法及装置 - Google Patents
数据传输方法及装置 Download PDFInfo
- Publication number
- CN111131831A CN111131831A CN201911327192.6A CN201911327192A CN111131831A CN 111131831 A CN111131831 A CN 111131831A CN 201911327192 A CN201911327192 A CN 201911327192A CN 111131831 A CN111131831 A CN 111131831A
- Authority
- CN
- China
- Prior art keywords
- transmitted
- current
- image
- frame image
- matrix
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开提供一种数据传输方法及装置,涉及计算机数据传输技术领域,所述方法包括:获取当前帧图像;其中,所述当前帧图像划分为N个宏块,每个宏块包括M个像素点;根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像;获取前一帧图像的已传输层数矩阵,其中,所述已传输层数和所述N个宏块对应;将当前帧图像与前一帧图像进行宏块比对,获取帧间变化矩阵;其中,所述帧间变化矩阵用于指示当前帧图像与前一帧图像对应位置上的宏块是否变化;根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵;根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输。
Description
技术领域
本公开涉及计算机数据传输技术领域,尤其涉及数据传输方法及装置。
背景技术
随着信息技术的发展,人们对通信业务的要求不断增长,图像通信和和通信网容量的矛盾也日益突出。尤其是对于视频图像通信来说,由于其庞大的数据量,如果不进行图像压缩,将难以进行数据的传输和存储。因此,图像压缩能力对于视频图像来说,显得尤为重要。
通过jpeg进行视频编码时,在进行场景切换时大量的画面发生变化,此时需要编码的宏块数量将增大,同时使编码的码流增大。在网络传输中如果在广域网低带宽的模式下,某一瞬间的带宽增加会造成网络阻塞,导致传输受阻,使视频画面出现卡顿。
发明内容
本公开实施例提供一种数据传输方法及装置,能够通过对图像进行分层编码,使得当前帧编码后的码流降低,并且将编码码流控制在带宽附近,这大大降低了网络带宽,并保证了视频画面的顺畅播放。所述技术方案如下:
根据本公开实施例的第一方面,提供一种数据传输方法,该方法包括:
获取当前帧图像;其中,所述当前帧图像划分为N个宏块,每个宏块包括M个像素点;
根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像;
获取前一帧图像的已传输层数矩阵,其中,所述已传输层数和所述N个宏块对应;
将当前帧图像与前一帧图像进行宏块比对,获取帧间变化矩阵;其中,所述帧间变化矩阵用于指示当前帧图像与前一帧图像对应位置上的宏块是否变化;
根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵;
根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输。
在一个实施例中,根据所述N个宏块对所述当前帧图像进行分层处理之前,所述方法还包括:
对所述当前帧图像进行离散余弦DCT变换,使得变化后的当前图像帧宏块包括直流DC分量部分和交流AC分量部分,其中,所述DC分量部分和 AC分量部分和像素点对应。
在一个实施例中,根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像包括:
根据所述N个宏块按照预设分层规则对所述当前帧图像进行分层处理,得到当前分层图像,其中,所述预设分层规则包括每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
在一个实施例中,根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,将所述前一帧图像的已传输层数矩阵对应宏块位置的已传输层数设置为第一标识。
在一个实施例中,根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输包括:
确定当前已传输层数矩阵中的最小已传输层数;
根据最小已传输层数对当前图像帧进行编码并传输。
在一个实施例中,确定当前已传输层数矩阵中的最小已传输层数包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,则将最小已传输层数设置为0;
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块未发生变化时,将当前已传输层数矩阵中的所有数值进行排序,将最小的数值确定为最小已传输层数。
在一个实施例中,根据最小已传输层数进行当前帧数据传输包括:
从所述已传输层数的下一层传输层对应的像素进行数据传输。
在一个实施例中,从所述已传输层数的下一层传输层对应的像素进行传输之前,上述方法还包括:
获取数据传输的码流;
判断所述数据传输的码流是否大于第一预设阈值;
从所述已传输层数的下一层传输层对应的像素进行传输包括:当所述数据传输的码流不大于第一预设阈值时,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
在一个实施例中,从所述已传输层数的下一层传输层对应的像素进行传输之前,所述方法还包括:
判断所述已传输层数的下一层是否大于第二预设阈值;
从所述已传输层数的下一层传输层对应的像素进行编码并传输包括:
所述已传输层数的下一层是不大于第二预设阈值,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
根据本公开实施例的第二方面,提供一种数据传输装置,该装置包括:
第一获取模块,用于获取当前帧图像;其中,所述当前帧图像划分为N 个宏块,每个宏块包括M个像素点;
分层模块,用于根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像;
第二获取模块用于获取前一帧图像的已传输层数矩阵,其中,所述已传输层数和所述N个宏块对应;
对比模块,用于将当前帧图像与前一帧图像进行宏块比对,获取帧间变化矩阵;其中,所述帧间变化矩阵用于指示当前帧图像与前一帧图像对应位置上的宏块是否变化;
更新模块,用于根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵;
传输模块,用于根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输。
在一个实施例中,上述装置还包括:预处理模块,用于根据所述N个宏块对所述当前帧图像进行分层处理之前,
对所述当前帧图像进行离散余弦DCT变换,使得变化后的当前图像帧宏块包括直流DC分量部分和交流AC分量部分,其中,所述DC分量部分和 AC分量部分和像素点对应。
在一个实施例中,分层模块具体用于:
根据所述N个宏块按照预设分层规则对所述当前帧图像进行分层处理,得到当前分层图像,其中,所述预设分层规则包括每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
在一个实施例中,更新模块具体用于当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,将所述前一帧图像的已传输层数矩阵对应宏块位置的已传输层数设置为第一标识。
在一个实施例中,传输模块包括:
确定子模块,用于确定当前已传输层数矩阵中的最小已传输层数;
传输子模块,用于根据最小已传输层数对当前图像帧进行编码并传输。
在一个实施例中,确定子模块具体用于:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,则将最小已传输层数设置为0;
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块未发生变化时,将当前已传输层数矩阵中的所有数值进行排序,将最小的数值确定为最小已传输层数。
在一个实施例中,传输子模块具体用于:
从所述已传输层数的下一层传输层对应的像素进行编码并传输。
在一个实施例中,传输模块还包括:
获取子模块,用于从所述已传输层数的下一层传输层对应的像素进行编码并传输之前,获取数据传输的码流;
第一判断子模块,用于判断所述数据传输的码流是否大于第一预设阈值;
传输子模块具体用于:当所述数据传输的码流不大于第一预设阈值时,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
在一个实施例中,传输模块还包括:
第二判断子模块,用于从所述已传输层数的下一层传输层对应的像素进行传输之前,判断所述已传输层数的下一层是否大于第二预设阈值;
传输子模块具体用于所述已传输层数的下一层是不大于第二预设阈值,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
本发明实施例所提供的数据传输方法,通过对图像进行分层,使得当前帧编码后的码流降低,并且将编码码流控制在带宽附近,这大大降低了网络带宽,并保证了视频画面的顺畅播放;另外,在分层发送时,根据了人眼对画面的感知特性,优先对画面的轮廓部分进行发送之后,再不断增加画面的细节,这种方式虽然牺牲了一部分画面的清晰度,但是能够保证画面的流畅性,且在视觉上对用户观感的影响不大。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种数据传输方法流程图;
图2是本公开实施例提供的一种对图像帧宏块分层示意图;
图3是本公开实施例提供的一种数据传输方法示意图;
图4是本公开实施例提供的一种数据传输原理示意图;
图5是本公开实施例提供的一种数据传输装置结构图;
图6是本公开实施例提供的一种数据传输装置结构图;
图7是本公开实施例提供的一种数据传输装置结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开提供了一种数据传输方法及装置,通过对图像进行分层编码,使得当前帧编码后的码流降低,并且将编码码流控制在带宽附近,这大大降低了网络带宽,并保证了视频画面的顺畅播放。
本公开实施例提供一种数据传输方法,如图1所示,该数据传输方法包括以下步骤:
步骤101、获取当前帧图像;其中,所述当前帧图像划分为N个宏块,每个宏块包括M个像素点;
步骤102、根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像;
具体的,根据所述N个宏块按照预设分层规则对所述当前帧图像进行分层处理,得到当前分层图像,其中,所述预设分层规则包括每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
这里的分层仍然是以宏块为单位进行的,具体的针对每个宏块按照预设设置的分层规则进行分层。所述预先设置的分层规则中规定了每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
根据所述N个宏块对所述当前帧图像进行分层处理之前,所述方法还包括:
对所述当前帧图像进行离散余弦DCT变换,使得变化后的当前图像帧宏块包括直流DC分量部分和交流AC分量部分,其中,所述DC分量部分和AC分量部分和像素点对应。
具体的,根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像包括:
根据所述N个宏块按照预设分层规则对所述当前帧图像进行分层处理,得到当前分层图像,其中,所述预设分层规则包括每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
图2是一个示例性的8×8宏块的分层规则示意图,参照图2,属于同一层的像素点以相同的颜色标注,比如,DC、AC60、AC61、AC62和AC63 属于第一层,AC1、AC2、AC16、AC17、AC18、AC19、AC20、AC29、AC30、 AC31、AC50、AC51、AC52、AC53、AC54及AC55属于第二层,AC3和AC4属于第三层,等等,以此类推。
上述只是一个示例性的分层规则示意图,实际应用中,可以根据实际需要对分层规则进行设置和调整,一旦确定了分层规则之后,则根据分层规则对当前帧图像中的所有宏块进行分层,从而确定出每一层所包含的像素点。
分层规则的设置依据主要是预处理后的数据,预处理后的数据通常包括 DC分量部分和AC分量部分,其基本原理是利用人眼对画面的感知程度和视频的连续性,在连续多帧画面编码传输过程中,先传输DC分量,之后,根据AC分量的重要程度进行分层,重要程度高的层优先编码传输。基于以上分层处理,先对整个画面中的轮廓部分进行传输显示,之后再逐步增加细节信息,对于观众来说看到的画面逐步变得清晰,这一方案,能够降低传输码率保证用户观看连续性,并且在视觉效果上基本满足用户的观看体验。
步骤103、获取前一帧图像的已传输层数矩阵,其中,所述已传输层数和所述N个宏块对应;
已传输层数矩阵会在编码过程中不断更新,这里所获取的已传输层数矩阵是编码前一帧图像后得到的已传输层数矩阵。已传输层数矩阵用于记录前一帧中各个宏块传输的层数,比如,假设一帧图像有16个宏块,每个宏块分为16层,则已传输层数矩阵可以示意如下,参照表1,第一行第一列宏块的已传输层数为10,第一行第二列宏块的已传输层数为10,以此类推。
10 | 10 | 12 | 11 |
4 | 3 | 3 | 5 |
11 | 7 | 4 | 6 |
12 | 12 | 12 | 12 |
表1
步骤104、将当前帧图像与前一帧图像进行宏块比对,获取帧间变化矩阵;其中,所述帧间变化矩阵用于指示当前帧图像与前一帧图像对应位置上的宏块是否变化;
具体的,帧间变化矩阵用于记录当前帧图像与其前一帧图像对应位置上的宏块变化情况,如果宏块发生变化则标记为1,如果宏块未变化则标记为0。一个示例性的帧间变化矩阵表2所示:
1 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
表2
具体的,宏块比对的方式是:将对应位置上的两个宏块中对应位置上的像素点进行比对,如果所有像素点都相同则认为宏块没有发生变化,否则,认为宏块发生了变化。实际应用时,为了提高比对速度,可以只对像素点的Y分量进行比较。
步骤105、根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵;
一个实施例中,根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,将所述前一帧图像的已传输层数矩阵对应宏块位置的已传输层数设置为第一标识。
具体的,将发生变化的宏块的已传输层数置为0,其它未发生变化的宏块的已传输层数不变。
更新后的已传输层数矩阵将替换掉原先的已传输层数矩阵。
以表1和表2举例来说,根据表2可以看出有四个宏块发生了的变化,相应的将表1中对应位置上的宏块的已传输层数置为0,则表1的已传输矩阵变成表3中的已传输矩阵:
0 | 0 | 12 | 11 |
4 | 3 | 0 | 5 |
0 | 7 | 4 | 6 |
12 | 12 | 12 | 12 |
表3
已传输层数矩阵用于标记相应位置上的宏块当前传输到的层数,之所以在宏块发生变化时对当前传输层数置0,是因为:当宏块发生变化时,则需要对当前宏块重新进行传输,而不能接着上一帧图像中相应位置上的宏块的已传输层数继续进行传输,因此,将当前宏块的已传输层数置为0也表示当前宏块还没有进行传输。
步骤106、根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输。
具体的,根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输包括:
确定当前已传输层数矩阵中的最小已传输层数;
确定当前已传输层数矩阵中的最小已传输层数包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,则将最小已传输层数设置为0;
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块未发生变化时,将当前已传输层数矩阵中的所有数值进行排序,将最小的数值确定为最小已传输层数。
根据最小已传输层数对当前图像帧进行编码并传输。
具体的,如图3所示,根据最小已传输层数对当前图像帧进行编码并传输,包括:
步骤1、将当前传输层数j设置为最小已传输层数(i)+1;
步骤2、对当前已传输层数为i的所有宏块中的下一层(也就是第j层,其中,j=i+1)像素进行huffman编码,并统计编码后的码流;
步骤3、将当前编码的所有宏块(当前已传输层数为i的所有宏块)的已传输层数加1,同时当前传输层数j++(也就是,将当前传输层数j+1);
步骤4、判断编码后的码流是否大于预设阈值a(a=当前带宽-k,其中, k为固定值),如果是,则转至步骤5;如果否,则转至步骤6;
为了降低码流,并且避免造成视频卡顿,因此,需要保证编码后的总码流小于带宽,但是,在编码后的总码流小于带宽的情况下,为了给下一帧编码留出一部分余量,因此,可以规定编码后码流小于等于预设阈值,预设阈值=当前带宽-k,其中,k的取值可以根据需要进行设定,其取值区间一般为 [0,带宽/5)。
需要说明的是,这里的带宽可以为固定值,比如,可以设定为一段时间内的平均带宽值,或者,人为设定的一个合理带宽值;
优选的,带宽值也可以取当前实际带宽,为此,在对每一帧进行编码之前,都需要获取当前网络实际带宽,之后,再进行后续的编码。
步骤5、结束对当前帧的编码,并对当前编码码流进行传输;
具体的,所传输的码流中除了包括编码数据之外,还包括当前的已传输层数矩阵。
步骤6、判断j是否小于等于总层数,如果是,则转至步骤7;如果否,则转至步骤5;
步骤7、对所有已传输层数为j-1的宏块的第j层像素进行huffman编码,并统计当前编码总码流。
步骤7之后继续转至步骤3进行处理。
上述编码的主要思想是:在进行编码时对每一层进行编码并计算当前帧的编码码流大小,与当前可用带宽进行比较,直至逼近当前带宽的大小。当码流到达当前带宽后,未处理的层数,如果在下一帧中没有发生变化,接着上一帧已编码的层数继续编码直到编码到最高层或者其发生变化。其整体原理图可参照图4,图4中数据处理部分和现有技术相同,在此不再赘述。
在一个实施例中,根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像包括:
根据所述N个宏块按照预设分层规则对所述当前帧图像进行分层处理,得到当前分层图像,其中,所述预设分层规则包括每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
在一个实施例中,根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,将所述前一帧图像的已传输层数矩阵对应宏块位置的已传输层数设置为第一标识。
在一个实施例中,根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输包括:
确定当前已传输层数矩阵中的最小已传输层数;
根据最小已传输层数对当前图像帧进行编码并传输。
在一个实施例中,确定当前已传输层数矩阵中的最小已传输层数包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,则将最小已传输层数设置为0;
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块未发生变化时,将当前已传输层数矩阵中的所有数值进行排序,将最小的数值确定为最小已传输层数。
在一个实施例中,根据最小已传输层数对当前图像帧进行编码并传输包括:
从所述已传输层数的下一层传输层对应的像素进行编码并传输。
在一个实施例中,从所述已传输层数的下一层传输层对应的像素编码并传输之前,上述方法还包括:
获取数据传输的码流;
判断所述数据传输的码流是否大于第一预设阈值;
其中,第一预设阈值为预先设置的码流阈值。
从所述已传输层数的下一层传输层对应的像素进行编码并传输包括:当所述数据传输的码流不大于第一预设阈值时,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
在一个实施例中,从所述已传输层数的下一层传输层对应的像素进行编码并传输之前,所述方法还包括:
判断所述已传输层数的下一层是否大于第二预设阈值;
从所述已传输层数的下一层传输层对应的像素进行编码并传输包括:
所述已传输层数的下一层是不大于第二预设阈值,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
其中,第二预设阈值为宏块的总层数。
下面举一个具体示例对本发明所提供的数据传输方法做以下详细介绍。
假设总传输层数为12,表1为当前接收到的已传输层数矩阵,表2是根据宏块比对结果所得到的帧间变化矩阵,则根据帧间变化矩阵调整当前已传输层数矩阵为表3。
此时,根据更新后的已传输层数矩阵进行当前帧(图像1)的编码。
步骤201、由于最小已传输层数i=0,将当前传输层数设置为i+1,也就是1,也就是,当前对第一层进行传输;
步骤202、找出当前所有已传输层数为0的宏块,对其第1层数据进行编码,并统计编码后的码流;
步骤203、假设对第1层编码后的码流小于预设阈值a,则将所有当前编码的宏块的已传输层数+1,此时,已传输层数矩阵更新为表4:
1 | 1 | 12 | 11 |
4 | 3 | 1 | 5 |
1 | 7 | 4 | 6 |
12 | 12 | 12 | 12 |
表4
步骤204、将当前传输层数+1,也就是将当前传输层数j设置为i+2=2;
步骤205、由于当前传输层数2小于总传输层数,则继续对所有当前传输层数为1的四个宏块的第2层数据进行编码,并统计编码后的总码流(包括第1层编码的码流和第2层编码的码流);
步骤206、假设编码后的总码流小于预设阈值,则将所有当前编码的宏块的已传输层数+1,此时,已传输层数矩阵更新为表5:
2 | 2 | 12 | 11 |
4 | 3 | 2 | 5 |
2 | 7 | 4 | 6 |
12 | 12 | 12 | 12 |
表5
步骤207、将当前传输层数+1,也就是将当前传输层数j设置为i+3=3;
步骤208、由于当前传输层数3小于总传输层数,则继续对所有当前传输层数为3的四个宏块的第3层数据进行编码,并统计编码后的总码流(包括第1层编码的码流、第2层编码的码流和第3层编码的码流);
步骤209、假设编码后的总码流小于预设阈值,则将所有当前编码的宏块的已传输层数+1,此时,已传输层数矩阵更新为表6:
3 | 3 | 12 | 11 |
4 | 3 | 3 | 5 |
3 | 7 | 4 | 6 |
12 | 12 | 12 | 12 |
表6
步骤210、将当前传输层数+1,也就是将当前传输层数j设置为i+4=4;
步骤211、由于当前传输层数4小于总传输层数,则继续对所有当前传输层数为3的五个宏块的第4层数据进行编码,并统计编码后的总码流(包括第1层编码的码流、第2层编码的码流、第3层编码的码流和第4层的码流);
步骤212、假设编码后的总码流小于预设阈值,则将所有当前编码的宏块的已传输层数+1,此时,已传输层数矩阵更新为表7:
4 | 4 | 12 | 11 |
4 | 4 | 4 | 5 |
4 | 7 | 4 | 6 |
12 | 12 | 12 | 12 |
表7
步骤213、将当前传输层数+1,也就是将当前传输层数j设置为i+5=5;
步骤214、由于当前传输层数5小于总传输层数,则继续对所有当前传输层数为4的七个宏块的第5层数据进行编码,并统计编码后的总码流(包括第1层编码的码流、第2层编码的码流、第3层编码的码流、第4层的码流和第5层的码流);
步骤215、假设编码后的总码流小于预设阈值,则将所有当前编码的宏块的已传输层数+1,此时,已传输层数矩阵更新为表8:
5 | 5 | 12 | 11 |
5 | 5 | 5 | 5 |
5 | 7 | 5 | 6 |
12 | 12 | 12 | 12 |
表8
步骤216、将当前传输层数+1,也就是将当前传输层数j设置为i+6=6;
步骤217、由于当前传输层数6小于总传输层数,则继续对所有当前传输层数为5的八个宏块的第6层数据进行编码,并统计编码后的总码流(包括第1层编码的码流、第2层编码的码流、第3层编码的码流、第4层的码流、第5层的码流和第6层的码流);
步骤218、假设当前总码流大于预设阈值,则结束对当前帧的编码,并对编码数据进行传输,同时,将所有当前编码的宏块的已传输层数+1,此时,已传输层数矩阵更新为表9:
6 | 6 | 12 | 11 |
6 | 6 | 6 | 6 |
6 | 7 | 6 | 6 |
12 | 12 | 12 | 12 |
表9
步骤219、接收下一帧图像(图像2),并获取当前的传输层数矩阵,也就是表9所示的矩阵;
步骤220、将当前帧(图像2)与前一帧(图像1)进行宏块比对,得到帧间变化矩阵,假设图像2和图像1完全相同,则得到的帧间变化矩阵如下表10:
0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 |
表10
步骤221、根据帧间变化矩阵可知,不需要对当前的已传输层数矩阵进行调整,因此,直接根据当前的已传输层数矩阵(表9)开始进行编码;
步骤222、从当前已传输层数矩阵中确定出最小已传输层数为6,进一步确定当前传输层数为6+1=7,因此,先对当前帧中已传输层数为6的9个宏块的第7层进行传输,并统计编码后的总码流(第7层的码流);
步骤223、假设编码后的总码流小于预设阈值,则将所有当前编码的宏块的已传输层数+1,此时,已传输层数矩阵更新为表11:
7 | 7 | 12 | 11 |
7 | 7 | 7 | 7 |
7 | 7 | 7 | 7 |
12 | 12 | 12 | 12 |
表11
步骤224、继续按照上述方式进行编码,假设一直编码到第11层时,所得到的总码流大于预设阈值,则停止对当前帧编码;所得到的的已传输层数矩阵如表12所示下:
11 | 11 | 12 | 11 |
11 | 11 | 11 | 11 |
11 | 11 | 11 | 11 |
12 | 12 | 12 | 12 |
表12
步骤225、获取新一帧图像(图像3),假设图像3与图像2相比没有发生变化,则已传输层数矩阵不变,如表12所示。此时从表12中确定出最小的已传输层数11,由于11小于总层数12,因此,将当前传输层数设置为 11+1=12,因此,在当前帧(图像3)中,对所有已传输层数为11的宏块的第12层进行编码,并统计编码后的码流。假设码流小于预设阈值,则对当前传输层数+1(得到13),由于13大于总层数,因此,停止对当前帧编码,并对已编码的码流进行传输。
图5是本公开实施例提供的一种数据传输装置结构图,如图5所示的数据传输装置50包括:第一获取模块501、分层模块502、第二获取模块503、对比模块504、更新模块505和传输模块506;
第一获取模块501,用于获取当前帧图像;其中,所述当前帧图像划分为N个宏块,每个宏块包括M个像素点;
分层模块502,用于根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像;
第二获取模块503,用于获取前一帧图像的已传输层数矩阵,其中,所述已传输层数和所述N个宏块对应;
对比模块504,用于将当前帧图像与前一帧图像进行宏块比对,获取帧间变化矩阵;其中,所述帧间变化矩阵用于指示当前帧图像与前一帧图像对应位置上的宏块是否变化;
更新模块505,用于根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵;
传输模块506,用于根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输。
在一个实施例中,分层模块502具体用于:
根据所述N个宏块按照预设分层规则对所述当前帧图像进行分层处理,得到当前分层图像,其中,所述预设分层规则包括每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
在一个实施例中,更新模块505具体用于当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,将所述前一帧图像的已传输层数矩阵对应宏块位置的已传输层数设置为第一标识。
图6是本公开实施例提供的一种数据传输装置结构图,如图6所示的数据传输装置60包括:第一获取模块601、分层模块602、第二获取模块603、对比模块604、更新模块605、传输模块606和预处理模块607;
预处理模块607,用于根据所述N个宏块对所述当前帧图像进行分层处理之前,
对所述当前帧图像进行离散余弦DCT变换,使得变化后的当前图像帧宏块包括DC分量部分和AC分量部分,其中,所述DC分量部分和AC分量部分和像素点对应。
图7是本公开实施例提供的一种数据传输装置结构图,如图7所示的数据传输装置70包括:第一获取模块701、分层模块702、第二获取模块703、对比模块704、更新模块705和传输模块706;传输模块706包括:
确定子模块7061,用于确定当前已传输层数矩阵中的最小已传输层数;
传输子模块7062,用于根据最小已传输层数对当前图像帧进行编码并传输。
在一个实施例中,确定子模块7061具体用于:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,则将最小已传输层数设置为0;
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块未发生变化时,将当前已传输层数矩阵中的所有数值进行排序,将最小的数值确定为最小已传输层数。
在一个实施例中,传输子模块7062具体用于:
从所述已传输层数的下一层传输层对应的像素进行编码并传输。
在一个实施例中,传输模块706还包括:
获取子模块,用于从所述已传输层数的下一层传输层对应的像素进行编码并传输之前,获取数据传输的码流;
第一判断子模块,用于判断所述数据传输的码流是否大于第一预设阈值;
传输子模块具体用于:当所述数据传输的码流不大于第一预设阈值时,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
在一个实施例中,传输模块706还包括:
第二判断子模块,用于从所述已传输层数的下一层传输层对应的像素进行传输之前,判断所述已传输层数的下一层是否大于第二预设阈值;
传输子模块具体用于所述已传输层数的下一层是不大于第二预设阈值,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
基于上述图1对应的实施例中所描述的数据传输方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文: Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的数据传输方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法包括:
获取当前帧图像;其中,所述当前帧图像划分为N个宏块,每个宏块包括M个像素点;
根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像;
获取前一帧图像的已传输层数矩阵,其中,所述已传输层数和所述N个宏块对应;
将当前帧图像与前一帧图像进行宏块比对,获取帧间变化矩阵;其中,所述帧间变化矩阵用于指示当前帧图像与前一帧图像对应位置上的宏块是否变化;
根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵;
根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输。
2.根据权利要求1所述的图像传输方法,其特征在于,所述根据所述N个宏块对所述当前帧图像进行分层处理之前,所述方法还包括:
对所述当前帧图像进行离散余弦DCT变换,使得变化后的当前图像帧宏块包括直流DC分量部分和交流AC分量部分,其中,所述DC分量部分和AC分量部分和像素点对应。
3.根据权利要求2所述的图像传输方法,其特征在于,所述根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像包括:
根据所述N个宏块按照预设分层规则对所述当前帧图像进行分层处理,得到当前分层图像,其中,所述预设分层规则包括每一个宏块划分的层数,及宏块中各个层所包含的像素点的位置。
4.根据权利要求1所述的图像传输方法,其特征在于,所述根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,将所述前一帧图像的已传输层数矩阵对应宏块位置的已传输层数设置为第一标识。
5.根据权利要求4所述的图像传输方法,其特征在于,所述根据所述更新后的已传输层数矩阵按照预设传输规则对当前图像帧进行编码并传输包括:
确定当前已传输层数矩阵中的最小已传输层数;
根据最小已传输层数对当前图像帧进行编码并传输。
6.根据权利要求5所述的图像传输方法,其特征在于,所述确定当前已传输层数矩阵中的最小已传输层数包括:
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块发生变化时,则将最小已传输层数设置为0;
当所述帧间变化矩阵指示当前帧图像与前一帧图像对应位置上的宏块未发生变化时,将当前已传输层数矩阵中的所有数值进行排序,将最小的数值确定为最小已传输层数。
7.根据权利要求6所述的图像传输方法,其特征在于,所述根据最小已传输层数对当前图像帧进行编码并传输包括:
从所述已传输层数的下一层传输层对应的像素进行编码并传输。
8.根据权利要求7所述的图像传输方法,其特征在于,所述从所述已传输层数的下一层传输层对应的像素进行编码并传输之前,所述方法还包括:
获取数据传输的码流;
判断所述数据传输的码流是否大于第一预设阈值;
从所述已传输层数的下一层传输层对应的像素进行编码并传输包括:当所述数据传输的码流不大于第一预设阈值时,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
9.根据权利要求7所述的图像传输方法,其特征在于,所述从所述已传输层数的下一层传输层对应的像素进行编码并传输之前,所述方法还包括:
判断所述已传输层数的下一层是否大于第二预设阈值;
从所述已传输层数的下一层传输层对应的像素进行编码并传输包括:
所述已传输层数的下一层是不大于第二预设阈值,从所述已传输层数的下一层传输层对应的像素进行编码并传输。
10.一种数据传输装置,其特征在于,所述装置包括:
第一获取模块,用于获取当前帧图像;其中,所述当前帧图像划分为N个宏块,每个宏块包括M个像素点;
分层模块,用于根据所述N个宏块对所述当前帧图像进行分层处理,得到当前分层图像;
第二获取模块用于获取前一帧图像的已传输层数矩阵,其中,所述已传输层数和所述N个宏块对应;
对比模块,用于将当前帧图像与前一帧图像进行宏块比对,获取帧间变化矩阵;其中,所述帧间变化矩阵用于指示当前帧图像与前一帧图像对应位置上的宏块是否变化;
更新模块,用于根据所述帧间变化矩阵对所述前一帧图像的已传输层数矩阵进行更新,得到更新后的已传输层数矩阵;
传输模块,用于根据所述更新后的已传输层数矩阵按照预设传输规则进行当前图像帧的数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911327192.6A CN111131831B (zh) | 2019-12-20 | 2019-12-20 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911327192.6A CN111131831B (zh) | 2019-12-20 | 2019-12-20 | 数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131831A true CN111131831A (zh) | 2020-05-08 |
CN111131831B CN111131831B (zh) | 2022-11-15 |
Family
ID=70500725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911327192.6A Active CN111131831B (zh) | 2019-12-20 | 2019-12-20 | 数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131831B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654699A (zh) * | 2020-05-29 | 2020-09-11 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
CN111953975A (zh) * | 2020-07-03 | 2020-11-17 | 西安万像电子科技有限公司 | 一种渐进式解编码方法及装置 |
CN112087587A (zh) * | 2020-08-31 | 2020-12-15 | 西安万像电子科技有限公司 | 一种投屏设备控制方法及系统 |
CN112422964A (zh) * | 2020-10-30 | 2021-02-26 | 西安万像电子科技有限公司 | 一种渐进式编码方法及装置 |
CN112422962A (zh) * | 2020-10-30 | 2021-02-26 | 西安万像电子科技有限公司 | 一种控制视频编码层的方法及装置 |
CN113422960A (zh) * | 2021-06-15 | 2021-09-21 | 上海辰珅信息科技有限公司 | 图像的传输方法及装置 |
CN115831042A (zh) * | 2023-02-10 | 2023-03-21 | 南京芯视元电子有限公司 | 图像显示方法和系统、显示驱动装置、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115420A (en) * | 1997-03-14 | 2000-09-05 | Microsoft Corporation | Digital video signal encoder and encoding method |
CN1984327A (zh) * | 2006-05-16 | 2007-06-20 | 华为技术有限公司 | 一种视频压缩方法 |
GB201311672D0 (en) * | 2013-06-28 | 2013-08-14 | Displaylink Uk Ltd | Efficient encoding of display data |
WO2014092515A1 (ko) * | 2012-12-14 | 2014-06-19 | 엘지전자 주식회사 | 비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치 |
WO2017041551A1 (zh) * | 2015-09-11 | 2017-03-16 | 中兴通讯股份有限公司 | 基于spice协议的图像传输方法及装置 |
-
2019
- 2019-12-20 CN CN201911327192.6A patent/CN111131831B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115420A (en) * | 1997-03-14 | 2000-09-05 | Microsoft Corporation | Digital video signal encoder and encoding method |
CN1984327A (zh) * | 2006-05-16 | 2007-06-20 | 华为技术有限公司 | 一种视频压缩方法 |
WO2014092515A1 (ko) * | 2012-12-14 | 2014-06-19 | 엘지전자 주식회사 | 비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치 |
GB201311672D0 (en) * | 2013-06-28 | 2013-08-14 | Displaylink Uk Ltd | Efficient encoding of display data |
WO2017041551A1 (zh) * | 2015-09-11 | 2017-03-16 | 中兴通讯股份有限公司 | 基于spice协议的图像传输方法及装置 |
Non-Patent Citations (2)
Title |
---|
HUISHENG WANG;等: "Scalable predictive coding by nested quantization with layered side information", 《2004 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》 * |
张方等: "一种基于MPEG-4的感兴趣区域视频编码新方法", 《电子学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654699A (zh) * | 2020-05-29 | 2020-09-11 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
CN111654699B (zh) * | 2020-05-29 | 2024-05-17 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
CN111953975A (zh) * | 2020-07-03 | 2020-11-17 | 西安万像电子科技有限公司 | 一种渐进式解编码方法及装置 |
CN111953975B (zh) * | 2020-07-03 | 2024-05-17 | 西安万像电子科技有限公司 | 一种渐进式解编码方法及装置 |
CN112087587A (zh) * | 2020-08-31 | 2020-12-15 | 西安万像电子科技有限公司 | 一种投屏设备控制方法及系统 |
CN112422964A (zh) * | 2020-10-30 | 2021-02-26 | 西安万像电子科技有限公司 | 一种渐进式编码方法及装置 |
CN112422962A (zh) * | 2020-10-30 | 2021-02-26 | 西安万像电子科技有限公司 | 一种控制视频编码层的方法及装置 |
CN112422964B (zh) * | 2020-10-30 | 2024-05-17 | 西安万像电子科技有限公司 | 一种渐进式编码方法及装置 |
CN112422962B (zh) * | 2020-10-30 | 2024-07-23 | 西安万像电子科技有限公司 | 一种控制视频编码层的方法及装置 |
CN113422960A (zh) * | 2021-06-15 | 2021-09-21 | 上海辰珅信息科技有限公司 | 图像的传输方法及装置 |
CN115831042A (zh) * | 2023-02-10 | 2023-03-21 | 南京芯视元电子有限公司 | 图像显示方法和系统、显示驱动装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111131831B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131831B (zh) | 数据传输方法及装置 | |
US7697783B2 (en) | Coding device, coding method, decoding device, decoding method, and programs of same | |
CN109379594B (zh) | 视频编码压缩方法、装置、设备和介质 | |
US9510010B2 (en) | Method for decoding images based upon partition information determinations and apparatus for decoding using same | |
US20230082561A1 (en) | Image encoding/decoding method and device for performing feature quantization/de-quantization, and recording medium for storing bitstream | |
CN105472205B (zh) | 编码过程中的实时视频降噪方法和装置 | |
CN110401833B (zh) | 图像传输方法及装置 | |
CN114466189B (zh) | 码率控制方法、电子设备及存储介质 | |
US11917143B2 (en) | Adaptive loop filter-based video or image coding | |
DE102019218316A1 (de) | 3d-renderer-zu-videocodierer-pipeline für verbesserte visuelle qualität und geringe latenz | |
CN111556318B (zh) | 数据传输方法及装置 | |
CN114302139B (zh) | 视频编码方法、视频解码方法及装置 | |
CN104378636A (zh) | 一种视频图像编码方法及装置 | |
CN111556315A (zh) | 数据传输方法及装置 | |
CN111953983B (zh) | 视频编码方法及装置 | |
KR102631517B1 (ko) | 픽처 분할 방법 및 장치 | |
CN104168482B (zh) | 一种视频编解码方法及装置 | |
CN116320446A (zh) | 视频编码方法及装置、电子设备和计算机介质 | |
CN111464805B (zh) | 一种基于全景显著性的立体全景视频快速编码方法 | |
CN109302605B (zh) | 基于多核处理器的图像编码方法及设备 | |
JPH0217777A (ja) | 画像伝送方式 | |
CN112104875A (zh) | 视频编码方法、装置及存储介质 | |
CN107547895B (zh) | 一种图像处理方法及其装置 | |
CN111447445B (zh) | 数据传输方法及装置 | |
JPH06169452A (ja) | 画面に重み付けを持たせた画像圧縮方式 |
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 |