CN111968031A - 一种图像拼接方法、装置、存储介质及电子装置 - Google Patents
一种图像拼接方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN111968031A CN111968031A CN202010673880.4A CN202010673880A CN111968031A CN 111968031 A CN111968031 A CN 111968031A CN 202010673880 A CN202010673880 A CN 202010673880A CN 111968031 A CN111968031 A CN 111968031A
- Authority
- CN
- China
- Prior art keywords
- image
- spliced
- images
- splicing
- coding
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000002131 composite material Substances 0.000 claims abstract description 22
- 238000013139 quantization Methods 0.000 claims description 84
- 239000003550 marker Substances 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 17
- 230000001502 supplementing effect Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 101100041125 Arabidopsis thaliana RST1 gene Proteins 0.000 description 2
- 101100443250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) DIG1 gene Proteins 0.000 description 2
- 101100443251 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) DIG2 gene Proteins 0.000 description 2
- 101100041128 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rst2 gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 241001622623 Coeliadinae Species 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
Abstract
本申请公开了一种图像拼接方法、装置、存储介质及电子装置,该方法包括获取待拼接图像的图像参数信息;确定图像拼接方式;根据编码表信息与帧开始标记信息,确定是否需要对待拼接图像中最小编码单元对应的系数进行解析;若需要进行解析,则对至少一张待拼接图像的至少部分系数进行熵解码,得到最小编码单元对应的系数;利用图像参数信息确定是否需要对最小编码单元对应的系数重新进行熵编码;若需要重新进行熵编码,则对最小编码单元对应的系数重新进行熵编码,生成新的系数,并进行拼接,得到合成图像。通过上述方式,本申请能够对不同格式的图像进行拼接,且支持任意宽/高的图像进行拼接。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及一种图像拼接方法、装置、存储介质及电子装置。
背景技术
图像处理技术被广泛应用于各行各业,比如:全景相机、照片美颜、图像裁剪和电子警察等等,涉及到很多用户无法感知的图像转码与拼接过程,如何能够实现任意方式的拼接以及如何进行快速拼接,直接影响到用户体验,因此亟需一个支持各种图像任意拼接的实时系统;但目前的图像拼接方案存在一些问题,比如,有些方案仅支持相同配置的码流之间的拼接,不支持任意宽/高的图像进行拼接,且未根据实际图像配置进行区分,对于无损图像的拼接不能很好地支持;有些方案需解析所有MCU(Minimum Coding Unit,最小编码单元)的DC(Direct Current,直流)系数与AC(Alternating Current,交流)系数;有些方案不适应于多码流配置的情况。
发明内容
本申请提供一种图像拼接方法、装置、存储介质及电子装置,能够对不同格式的图像进行拼接,且支持任意宽/高的图像进行拼接。
为解决上述技术问题,本申请采用的技术方案是提供一种图像拼接方法,该方法包括:获取待拼接图像的图像参数信息,其中,图像参数信息包括帧开始标记信息与编码表信息;确定图像拼接方式;根据编码表信息与帧开始标记信息,确定是否需要对待拼接图像中最小编码单元对应的系数进行解析;若需要进行解析,则对至少一张待拼接图像的至少部分系数进行熵解码,得到最小编码单元对应的系数;利用图像参数信息确定是否需要对最小编码单元对应的系数重新进行熵编码;若需要重新进行熵编码,则生成新的系数,并进行拼接,得到合成图像。
为解决上述技术问题,本申请采用的另一技术方案是提供一种图像拼接装置,该图像拼接装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的图像拼接方法。
为解决上述技术问题,本申请采用的另一技术方案是提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的图像拼接方法。
为解决上述技术问题,本申请采用的另一技术方案是提供一种电子装置,该电子装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的图像拼接方法。
通过上述方案,本申请的有益效果是:可对获取到的多张待拼接图像进行解析,得到每张待拼接图像的图像参数信息;再确定图像拼接方式;然后根据编码表信息与帧开始标记信息,确定是否对待拼接图像中的MCU对应的系数进行解析;若需要进行解析,则可对至少一张待拼接图像的至少部分系数进行熵解码,得到相应的系数;然后可利用图像参数信息确定是否对最小编码单元对应的系数重新进行熵编码;若需要重新进行熵编码,则对系数进行熵编码以生成新的系数,并进行拼接,从而得到合成图像的编码数据,能够解决JPEG码流转换的问题,实现不同编码方式与编码模式的JPEG图像的拼接,可支持有损图像和无损图像的拼接,且支持任意宽/高的图像进行拼接,使得拼接更加多样性;此外,还不需要对码流进行全部解码再进行拼接,只是对码流中的部分数据进行修改,可减少数据的处理量,有助于减少拼接时间,能够提高拼接速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的图像拼接方法一实施例的流程示意图;
图2是本申请提供的图像拼接方法另一实施例的流程示意图;
图3是图2所示的实施例中步骤24的流程示意图;
图4是多张待拼接图像的宽度相同时的拼接示意图;
图5是图3所示的实施例中步骤32的流程示意图;
图6是图5所示的实施例中步骤53的流程示意图;
图7是图6所示的实施例中重启动标记的示意图;
图8是图5所示的实施例中步骤53的另一流程示意图;
图9是图8所示的实施例中重启动标记的示意图;
图10(a)是第一张待拼接图像的宽度小于第二张待拼接图像的宽度时的拼接示意图;
图10(b)是第一张待拼接图像的宽度大于第二张待拼接图像的宽度时的拼接示意图;
图11是图3所示的实施例中步骤33的流程示意图;
图12是图10(a)所示的实施例中多张待拼接图像与垂直背景图像的拼接示意图;
图13是图10(b)所示的实施例中多张待拼接图像与垂直背景图像的拼接示意图;
图14是图10(a)所示的实施例中多张待拼接图像与垂直背景图像的另一拼接示意图;
图15是图3所示的实施例中步骤33的另一流程示意图;
图16是图2所示的实施例中步骤25的流程示意图;
图17是多张待拼接图像的高度相同时的拼接示意图;
图18是图16所示的实施例中步骤162的流程示意图;
图19是图18所示的实施例中重启动标记的示意图;
图20是第一张待拼接图像的高度大于第二张待拼接图像的高度时的拼接示意图;
图21是图16所示的实施例中步骤163的流程示意图;
图22是图21所示的实施例中多张待拼接图像与水平背景图像的拼接示意图;
图23是图2所示的实施例中步骤26的流程示意图;
图24是图2所示的实施例中步骤27的流程示意图;
图25是多张待拼接图像进行拼接的数据结构示意图;
图26是本申请提供的图像拼接装置一实施例的结构示意图;
图27是本申请提供的计算机可读存储介质一实施例的结构示意图;
图28是本申请提供的电子装置一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1是本申请提供的图像拼接方法一实施例的流程示意图,该方法包括:
步骤11:获取待拼接图像的图像参数信息。
可先获取多张待拼接图像,然后对每张待拼接图像进行解析,从而得到每张待拼接图像的图像参数信息;该待拼接图像为需要进行拼接的图像,待拼接图像的数量至少为两张,每张待拼接图像的高度或宽度可不同,而且待拼接图像的编码模式也可不同,可为无损模式或有损模式,编码方式也可不同,可为霍夫曼编码、算术编码或其他编码方式。
可从图像数据库中获取待拼接图像或者利用摄像装置进行拍摄,从而得到待拼接图像,然后对各张待拼接图像的信息进行解析,该图像参数信息包括帧开始标记信息与编码表信息,该帧开始标记信息可记作SOFn(Start Of Frame markers),不同的n值可表示不同配置的JPEG(Joint Photographic Experts Group,联合图像专家组)图像,编码表信息与对待拼接图像的像素值进行编码得到的编码数据相关。
可以理解地,在对待拼接图像进行解析时,可进行并行解析,即同时对多张待拼接图像进行解析。
步骤12:确定图像拼接方式。
可根据解析的每张待拼接图像的信息,进行图像拼接方式的判决,该图像拼接方式包括水平拼接与垂直拼接;具体地,可根据多张待拼接图像的高度或宽度来确定图像拼接方式,如果多张待拼接图像的宽度相同,则可以将图像拼接方式确定为垂直拼接;如果多张待拼接图像的高度相同,则可以将图像拼接方式确定为水平拼接;如果多张待拼接图像的高度或宽度均不同,则可通过统计多张待拼接图像的高度与宽度的平方差,得到高度差异与宽度差异,然后比较高度差异与宽度差异的大小,如果高度差异较小,则可确定图像拼接方式为水平拼接;如果宽度差异较小,则可确定图像拼接方式为垂直拼接。
在其他实施例中,还可根据用户的实际需要来确定图像拼接方式,例如,如果获取到用户将图像拼接方式设置为水平拼接,则按照水平拼接方式对所有待拼接图像进行拼接。
步骤13:根据编码表信息与帧开始标记信息,确定是否需要对待拼接图像中最小编码单元对应的系数进行解析。
当编码表信息与帧开始标记信息不同时,可能需要重新进行编码,因而可根据图像参数信息中的编码表信息与帧开始标记信息来确定是否对MCU对应的系数进行解析,以便重新进行编码,MCU对应的系数为残差系数。
进一步地,MCU可以为至少一个8*8的图像块或一个像素,每个MCU对应一个系数,对于有损模式来说,MCU对应的系数可包括AC系数与DC系数;具体地,在对MCU的像素值进行变换后,可生成一个DC系数与63个AC系数,可对DC系数与AC系数分别进行量化,然后进行DC预测,再进行AC系数和DC系数的编码,最后进行熵编码形成码流,DC预测为计算DC系数量化值与前一个相邻MCU的DC系数量化值的残差,对于待拼接图像中的首个MCU来说,其对应的残差可为首个MCU的DC系数量化值与默认值的差值。
步骤14:对至少一张待拼接图像的至少部分系数进行熵解码,得到最小编码单元对应的系数。
若需要对待拼接图像中MCU对应的系数进行解析,则可对至少一张待拼接图像的至少部分系数进行熵解码,得到对应的系数;例如,待拼接图像的数量为2张,可仅对第一张待拼接图像中的所有MCU与第二张待拼接图像中的所有MCU对应的系数进行解析。
可以理解地,在进行熵解码时,可对多待拼接图像并行解码,即各张待拼接图像的解码互不影响,可同时进行解码。
步骤15:利用图像参数信息确定是否需要对最小编码单元对应的系数重新进行熵编码。
在对待拼接图像中的MCU进行解析得到对应的系数后,对于有损模式来说,由于当前MCU的DC系数与前一个MCU的DC系数相关,因而可能需要重新对DC进行熵编码,而AC系数由于和前一个MCU的AC系数没有联系,在满足某些条件时,可无需重新对AC系数进行熵编码,因而需要进一步判定是否需要对DC系数和/或AC系数重新进行编码。
步骤16:对最小编码单元对应的系数重新进行熵编码,生成新的系数,并进行拼接,得到合成图像。
如果需要对MCU对应的系数重新进行编码,则对解析出来的系数重新进行熵编码,实现对系数的更新,然后将多张待拼接图像对应的系数拼接起来,生成合成图像对应的码流。
本实施例提供了一种图像拼接方法,可先获取多张待拼接图像,然后对其进行解析得到每张待拼接图像的图像参数信息;再确定图像拼接方式,然后对至少一张待拼接图像的至少部分系数进行熵解码,得到相应的系数,并对该系数重新进行熵编码,生成新的系数,然后进行拼接以生成合成图像,能够解决JPEG码流转换的问题,实现不同编码方式与编码模式的JPEG图像的拼接,可支持有损图像和无损图像的拼接,且支持任意宽/高的图像进行拼接,使得拼接更加多样性;此外,还不需要对码流进行全部解码再进行拼接,只是对码流进行部分修改,数据直接拼接即可,可减少数据的处理量,有助于减少拼接时间。
请参阅图2,图2是本申请提供的图像拼接方法另一实施例的流程示意图,该方法包括:
步骤21:获取待拼接图像的图像参数信息。
该图像参数信息包括帧开始标记信息、编码表信息以及量化表信息,帧开始标记信息包括待拼接图像的宽度、待拼接图像的高度、像素精度以及颜色空间相关信息等,颜色空间相关信息包括颜色分量个数、水平采样因子和垂直采样因子,如果待拼接图像的颜色空间不同,则可以其中一个待拼接图像的颜色空间为基准,其他待拼接图像按照该基准进行调整,使得所有待拼接图像的颜色空间相同。
步骤22:确定图像拼接方式。
步骤21-步骤22与上述实施例中步骤11-步骤12相同,在此不再赘述。
步骤23:判断帧开始标记信息的类别、像素精度以及编码表信息是否相同。
判断帧开始标记信息的类别是否相同,即判断SOFn的n值是否相同,若相同,则表明待拼接图像对应的帧开始标记信息的类别相同,否则,确定帧开始标记信息的类别不同。
进一步地,如果每张待拼接图像的图像参数信息中的帧开始标记信息的类别、像素精度以及编码表信息相同,则在图像拼接方式为垂直拼接时,可执行步骤24;在图像拼接方式为水平拼接时,可执行步骤25;如果各张待拼接图像的帧开始标记信息的类别、像素精度或编码表信息不同,则可根据具体情况进行处理:在图像拼接方式为垂直拼接时,可执行步骤26;在图像拼接方式为水平拼接时,可执行步骤27。
步骤24:若帧开始标记信息的类别、像素精度以及编码表信息相同,则在图像拼接方式为垂直拼接时,根据多张待拼接图像的宽度判断是否设置垂直背景图像;若设置垂直背景图像,则对垂直背景图像与多张待拼接图像进行拼接;若不设置垂直背景图像,则对多张待拼接图像进行拼接。
在图像拼接方式为垂直拼接时,可执行如图3所示的步骤,具体如下所示:
步骤31:根据帧开始标记信息判断多张待拼接图像的宽度是否相同。
由于帧开始标记信息中包括待拼接图像的宽度,因而可从帧开始标记信息中解析出待拼接图像的宽度,然后判别每张待拼接图像的宽度是否相同。
步骤32:若多张待拼接图像的宽度相同,则根据量化表信息对多张待拼接图像进行拼接。
图像参数信息还包括重启动间隔,在所有待拼接图像的宽度相同时,拼接形成的合成图像可如图4所示,N为多张待拼接图像的数量,N大于或等于2;如果各张待拼接图像的帧开始标记信息的类别、像素精度、编码表信息以及图像宽度相同,可执行图5所示的步骤,具体包括:
步骤51:判断每张待拼接图像的量化表信息是否相同。
可先判断多张待拼接图像的量化表信息是否相同,在量化表信息相同时,可执行步骤52。
步骤52:若每张待拼接图像的量化表信息相同,则判断每张待拼接图像的编码模式是否为有损模式,且编码方式是否为霍夫曼编码。
编码模式包括有损模式与无损模式,编码方式包括霍夫曼编码与算术编码,在编码模式为有损模式时,MCU对应的系数包括AC系数与DC系数;如果待拼接图像的量化表信息相同,各待拼接图像的编码模式为有损模式,且编码方式为霍夫曼编码,可执行步骤53;若编码方式为算术编码或者编码模式为无损模式,可执行步骤54。
步骤53:若每张待拼接图像的编码模式为有损模式,且编码方式为霍夫曼编码,则根据待拼接图像的码流中是否包含重启动标志以及待拼接图像的数量,判定是否对待拼接图像进行解析;若对待拼接图像进行解析,则得到AC系数与DC系数,并对DC系数重新进行熵编码,以生成合成图像的码流。
可判断第一张待拼接图像的码流中是否包含重启动标志,如果第一张待拼接图像的码流中不具有重启动标志,可执行图6所示的步骤;否则,可执行图8所示的步骤。
步骤61:根据第一张待拼接图像中最小编码单元的数量设置重启动间隔,并在第一张待拼接图像的码流中的编码数据后添加重启动标志。
可以从多张待拼接图像中随机选择一张待拼接图像作为第一张待拼接图像,或者根据用户的需要来设置拼接顺序,此时可无需对第一张待拼接图像进行解析,并可根据第一张待拼接图像中所包含的MCU的数量,来设置重启动间隔;具体地,可将重启动间隔设置为MCU的数量,然后在第一张待拼接图像对应的编码数据后添加第一个重启动标志;例如,待拼接图像的大小为32*32,MCU的大小为8*8,则MCU的数量为16个,此时重启动间隔为16个MCU,即间隔16个MCU添加一个重启动标记。
进一步地,重启动标记可记作RSTm,m的取值范围为0≤m≤7,当RST7被使用后,再次使用RST0,循环往复,即m=(n+1)%8,n为前一个重启动标记中m的值;另外,本实施例由于设置了重启动间隔,可支持图像并行解码,在生成了合成图像,对该合成图像进行解码时,各个重启动间隔可同时解码,各个重启动间隔间的MCU的解码互不影响,有助于提高解码速度。
后续的待拼接图像可按照相同的重启动间隔来设置重启动标志,一般图像的起始熵编码参数需设置默认值,第二个重启动间隔从第二张待拼接图像的起始位置开始,因此不需要处理参数复位等问题。
步骤62:判断多张待拼接图像中最小编码单元的数量是否相同。
由于重启动间隔会影响编码数据,其他待拼接图像是否需要解析,可由其他待拼接图像中所包含的MCU的数量来决定,因而可判断其他待拼接图像中MCU的数量与重启动间隔之间的大小关系,即比较其他待拼接图像的尺寸与第一张待拼接图像的尺寸之间的大小关系。
在一具体的实施例中,可判断多张待拼接图像的数量是否等于预设数量,例如,预设数量为2,如果多张待拼接图像的数量等于2,则判断第二张待拼接图像中MCU的数量是否小于第一张待拼接图像中MCU的数量。
步骤63:若多张待拼接图像中最小编码单元的数量相同,则将所有张待拼接图像对应的编码数据进行拼接,得到合成图像的码流中的编码数据。
若其他待拼接图像中MCU的数量与第一张待拼接图像中MCU的数量相同,则重启动标记的位置不会影响系数,因而可不进行解析,直接按照待拼接图像的数据结构进行合成,并更新帧开始标记信息中的高度,使得高度为所有待拼接图像的高度之和,从而得到合成图像的码流。
进一步地,假设待拼接图像的数量为N,所有待拼接图像的大小相同,且高度和宽度分别为MCU的高度与宽度的整数倍,则可删除第二个到第N个重启动间隔中的SOI(Startof Image Marker,图像起始标记),在第一个至第N-1个重启动间隔结束时去除EOI(End ofImage Marker,图像结束标记),并添加重启动标记。
重启动间隔内第一个MCU重新作为起始块进行编码,具体地,在一个重启动间隔内,每个MCU均需要与前一个MCU的DC系数做差,然后再进行编码。
步骤64:若多张待拼接图像中最小编码单元的数量不同,则对其他待拼接图像的系数进行解析,直至累计的最小编码单元的数量达到重启动间隔;对每个重启动间隔内最小编码单元对应的DC系数重新进行熵编码,并添加重启动标记。
如果多张待拼接图像中MCU的数量不同,则可依次比较第二张待拼接图像中MCU的数量是否与重启动间隔相同;若第二张待拼接图像中MCU的数量与重启动间隔相同,则同样无需解析;如果第二张待拼接图像中MCU的数量与重启动间隔不同,由于不确定各个MCU对应的系数在码流中的位置,可对一个重启动间隔内的所有MCU对应的系数进行解析,即可对第二张待拼接图像中的所有MCU的系数进行解析。
进一步地,在第二待拼接图像中MCU的数量小于重启动间隔时,如果待拼接图像的数量为2,则无需对第二待拼接图像进行解析,可直接进行拼接;如果待拼接图像的数量大于2,则可对第三张待拼接图像的系数进行解析,直至累计的MCU的数量达到重启动间隔,然后对第三待拼接图像中的每个MCU对应的DC系数重新进行熵编码,而AC系数无需重新进行熵编码,直接拼接即可,并在编码后生成的编码数据后添加重启动标记。
可以理解地,在熵编码前,可将重启动起始参数设置为默认值。
步骤65:判断是否完成对所有待拼接图像的DC系数的拼接。
在当前正在拼接的待拼接图像不是最后一张待拼接图像时,可按照步骤64的方式进行处理,直至完成对所有待拼接图像的DC系数的拼接。
可以理解地,最后一个重启动间隔内MCU的数量可小于重启动间隔。
步骤66:在合成的编码数据的结尾添加图像结束标记。
若在最后一个重启动间隔内剩余的MCU的数量小于重启动间隔,则无需添加重启动标记,直接添加EOI即可。例如,如图7所示,多张待拼接图像包括图像1、图像2以及图像3,可在图像1对应的编码数据的结尾添加第一个重启动标记RST0,由于图像2中MCU的数量小于图像1中MCU的数量,因而对图像3进行解析,第2个重启动标记RST1设置在图像3中某一MCU对应的编码数据的结尾,第3个重启动标记RST2设置在图像3中另一MCU对应的编码数据的结尾,EOI设置在图像3中最后一个MCU对应的编码数据的结尾。
在第一个待拼接图像的码流中具有重启动标志时,可执行图8所示的步骤,具体如下所示:
步骤81:将重启动间隔设置为第一张待拼接图像对应的重启动间隔。
由于第一张待拼接图像的码流中包含重启动间隔,因而可按第一张待拼接图像的重启动间隔对后续待拼接图像进行处理,即后续待拼接图像采用相同的重启动间隔;例如,第一张待拼接图像的重启动间隔为16个MCU,第二张待拼接图像的重启动间隔为32个MCU,则可将所有待拼接图像对应的重启动间隔设置为16个MCU。
步骤82:对第一张待拼接图像中最后一个重启动间隔内的最小编码单元与其他待拼接图像中的每个最小编码单元进行系数解析,得到相应的AC系数与DC系数。
可对第一张待拼接图像中最后一个重启动间隔内的MCU进行解析,并对第二张待拼接图像到最后一张待拼接图像的MCU进行解析。
步骤83:从第一张待拼接图像中最后一个重启动间隔的起始位置开始,按照重启动间隔对其他待拼接图像中的最小编码单元进行分段,得到多个编码段,在除最后一个编码段的其他编码段的结尾添加重启动标志。
可按照重启动间隔对其他待拼接图像中的所有MCU进行分段,得到多个编码段,该编码段包括多个MCU,且对于不是最后一个编码段的编码段来说,每个编码段包括的MCU的数量等于重启动间隔,而最后一个编码段所包含的MCU的数量小于或等于重启动间隔,可以在第一个至倒数第二个编码段的结尾添加重启动标志。
步骤84:对每个编码段中最小编码单元对应的DC系数进行熵编码,并对最小编码单元对应的AC系数进行拼接,以生成合成图像的码流中的编码数据。
重新对各个重启动间隔内所有的DC系数进行熵编码处理,并将AC系数进行拼接,生成新的编码数据,然后可添加重启动标记;另外,由于拼接后图像分辨率相对较大,可支持快速解码。
例如,如图9所示,多张待拼接图像包括图像1、图像2以及图像3,可将第1个重启动标记RST0设置在图像1中某一MCU对应的编码数据的结尾,第2个重启动标记RST1设置在图像2中某一MCU对应的编码数据的结尾,第3个重启动标记RST2设置在图像3中某一MCU对应的编码数据的结尾,第4个重启动标记RST3设置在图像3中另一MCU对应的编码数据的结尾,EOI设置在图像3中最后一个MCU对应的编码数据的结尾。
可以理解地,在其他实施例中,也可对第一张待拼接图像到最后一张待拼接图像的系数进行解析,重新对全部DC系数进行熵编码,并将AC系数进行拼接,生成新的编码数据,然后可按照图像数据结构合成新的图像,即得到合成图像的码流。
步骤54:若待拼接图像的编码模式为无损模式,或编码方式为算术编码,则根据待拼接图像的码流中是否包含重启动标志以及待拼接图像的数量,判定是否对待拼接图像进行解析;若对待拼接图像进行解析,则得到最小编码单元对应的系数,并对最小编码单元对应的系数重新进行熵编码,以生成合成图像的码流。
在编码方式为算术编码或编码模式为无损模式时,如果第一张待拼接图像的码流中不包含重启动标志,则第一张待拼接图像无需进行解码,并可根据其包含的MCU的数量来设置重启动间隔,然后添加重启动标志。
第二个重启动间隔从第二张待拼接图像的起始位置开始,若第二张待拼接图像中MCU的数量小于第一张待拼接图像中MCU的数量,且仅包括两张待拼接图像,则无需对第二张待拼接图像进行解码,直接进行拼接;否则需解析第二待拼接图像与第三待拼接图像的系数,直至累计的MCU的数量达到重启动间隔,然后重新对第三待拼接图像的系数熵编码,并添加重启动标志。
然后继续解析第三待拼接图像中的剩余MCU以及后续待拼接图像中MCU对应的系数,直至累计的MCU的数量达到重启动间隔,然后重新对这些MCU的系数进行熵编码,并添加启动标志,直至将所有待拼接图像处理完,最后一个重启动间隔内MCU的数量可小于重启动间隔,最后可在编码数据的结尾添加EOI。
如果待拼接图像的码流中不包含重启动标志,可按照第一张待拼接图像的重启动间隔对后续待拼接图像进行处理;进一步地,需对第二张待拼接图像到最后一张待拼接图像中所有MCU对应的系数进行熵解码,而仅对第一张待拼接图像中最后一个重启动间隔内的MCU进行系数解析。
然后从第一张待拼接图像中的最后一个重启动间隔的起始位置开始,按重启动间隔对其他各个待拼接图像的所有MCU进行分段,重新对各个重启动间隔内的全部系数进行熵编码处理,生成新的编码数据。
可以理解地,在其他实施例中,也可对第一张待拼接图像到最后一张待拼接图像的系数进行熵解码,重新对全部系数进行熵编码,生成新的编码数据。
若多张待拼接图像的量化表信息不同,可采用与量化表相同时类似的拼接方式,只是如果编码模式为有损模式,在对系数进行熵解码后需进行反量化;如果编码模式是无损模式,可根据实际情况进行预测与量化等,然后重新对系数进行量化与熵编码处理,生成新的编码数据。
步骤33:若多张待拼接图像的宽度不同,则根据多张待拼接图像的宽度设置垂直背景图像的大小,对垂直背景图像与多张待拼接图像进行拼接。
多张待拼接图像的宽度不同,存在多种情况,下面以两张待拼接图像为例进行说明,图10为两张不同宽度的待拼接图像进行拼接的情况,图10(a)为第一张待拼接图像(即图像1)的宽度小于第二张待拼接图像(即图像2)的宽度,图10(b)为第一张待拼接图像的宽度大于第二张待拼接图像的宽度。
可判断第一张待拼接图像的宽度是否大于第二张待拼接图像的宽度,若第一张待拼接图像的宽度大于第二张待拼接图像的宽度,则执行如图11所示的步骤,具体如下:
步骤111:将垂直背景图像的宽度设置为第一张待拼接图像的宽度与第二张待拼接图像的宽度之间的差值,将垂直背景图像的高度设置为第二张待拼接图像的高度,并将垂直背景图像的所有像素值设置为预设像素值。
可以将第一待拼接图像与第二张待拼接图像进行左对齐或右对齐,图12以左对齐为例进行说明。
该预设像素值可以为一固定像素值,可根据实际需要进行设置;如图12与图13所示,由于图像1与图像2的宽度不同,因而在左对齐时,图像2的右侧无法与图像1的右侧对齐,可在空缺处设一垂直背景图像(即图像3),以使得图像1、图像2以及图像3合成一幅完整的图像。
步骤112:在第一张待拼接图像的编码模式为有损模式,且编码方式为霍夫曼编码时,若第一张待拼接图像的码流中不具有重启动标记,则在第一张待拼接图像的编码数据的结尾添加重启动标记。
在第一张待拼接图像的编码模式为有损模式,且编码方式为霍夫曼编码时,如果第一张待拼接图像的码流中不具有重启动标记,则根据第一张待拼接图像的大小判断是否在第一张待拼接图像中的最小编码单元对应的编码数据的结尾添加重启动标记。
进一步地,如果第一张待拼接图像的高度与宽度均为MCU的高度与宽度的整数倍,则无需对第一张待拼接图像进行处理,直接在第一张待拼接图像的编码数据的结尾添加第一个重启动标记即可;如果第一张待拼接图像的宽度为MCU的宽度的整数倍,而第一张待拼接图像的高度不为MCU的高度的整数倍,则对于第一张待拼接图像中最后几行(小于MCU的高度)像素来说,其与第二张待拼接图像以及垂直背景图像的前几行像素组成多个MCU,然后可对这些MCU进行DCT变换、量化以及熵编码。
例如,第一张待拼接图像的大小为30*24,第二张待拼接图像的大小为24*16,则垂直背景图像的大小为24*8,可将第一张待拼接图像的第1-24行像素分成9个8*8的MCU,对于第一张待拼接图像的第25-30行像素来说,可将其与第二张待拼接图像以及垂直背景图像的前2行像素组成3个MCU。
步骤113:对第二张待拼接图像进行熵解码,并对垂直背景图像进行处理,得到相应的系数,在第二张待拼接图像中每行最小编码单元对应的系数后添加垂直背景图像对应的系数。
如果第一张待拼接图像的量化表信息与第二张待拼接图像的量化表信息相同,则可对第二张待拼接图像的系数进行熵解码,垂直背景图像的像素值可按照与第一张待拼接图像以及第二张待拼接图像相同的编码方式与编码模式进行编码,从而得到垂直背景图像的系数;如果第一张待拼接图像的量化表信息与第二张待拼接图像的量化表信息不同,则可对第二张待拼接图像的系数进行熵解码与反量化,再进行量化;然后在第二张待拼接图像中每行MCU对应的系数后补充垂直背景图像中相应的MCU对应的系数。
可以理解地,如果第二张待拼接图像的宽度为MCU的宽度的整数倍,则可先执行对垂直背景图像进行DCT变换与量化,得到相应的系数;如果第二张待拼接图像的宽度不是MCU的宽度的整数倍,则第二张待拼接图像中不足一个MCU的像素与垂直背景图像的像素拼接成一个MCU,此时可在对第二张待拼接图像进行熵解码后,对垂直背景图像进行处理,生成相应的系数。
步骤114:对第二张待拼接图像与垂直背景图像中所有的DC系数进行熵编码,对相应的AC系数进行熵编码,对熵编码后的DC系数与熵编码后的AC系数进行拼接,生成合成图像的码流中的编码数据。
重新对第一张待拼接图像和第二张待拼接图像的全部DC系数进行量化(如果编码表信息不同)与熵编码处理,并对AC系数进行量化(如果编码表信息不同)与熵编码,在对DC系数与AC系数熵编码完成后,进行拼接,在处理完所有行后,可生成新的编码数据。
进一步地,如果第一张待拼接图像中MCU的数量小于第二张待拼接图像中MCU的数量,需进一步考虑第二张待拼接图像按第一张待拼接图像的重启动间隔进行处理,并添加重启动标记。
在第一张待拼接图像的编码模式为有损模式,且编码方式为霍夫曼编码时,如果第一张待拼接图像的码流中存在重启动标志,则第二张待拼接图像需按第一张待拼接图像的重启动间隔进行处理,与步骤32类似,在此不再赘述。
若第一张待拼接图像的编码方式为算术编码或编码模式为无损模式,则第二张待拼接图像与垂直背景图像需要考虑系数的熵解码、反量化和量化(若量化表信息不同)以及熵编码过程,其他与步骤32类似,在此不再赘述。
如果第一张待拼接图像的宽度小于第二张待拼接图像的宽度,拼接方式与上述实施例中第一张待拼接图像的宽度大于第二张待拼接图像的宽度时所采用的拼接方式类似,只是垂直背景图像的位置发生了变化,在此不再赘述。
在其他具体的实施例中,本实施例还支持任意位置的拼接,根据需要可在垂直拼接时,在指定位置拼接不同宽度的图像,下面以垂直背景图像为2张为例进行说明,即垂直背景图像包括第一垂直背景图像(即图像3)与第二垂直背景图像(即图像4),如图14所示,第一垂直背景图像和第二垂直背景图像的处理方式与图11所示的方案类似,需区分编码模式与编码方式,下面以编码模式为有损模式,且编码方式为霍夫曼编码为例进行说明,其他方案在此不再赘述。
如图15所示,任意位置的拼接具体包括以下步骤:
步骤151:接收预设拼接位置,并根据预设拼接位置,设置第一垂直背景图像的大小以及第二垂直背景图像的大小。
该预设拼接位置可为用户指定的位置或默认值,在获取到该预设拼接位置后,可根据该预设拼接位置,计算出垂直背景图像的大小与位置。
步骤152:在其他待拼接图像的量化表信息与第一张待拼接图像的量化表信息不同时,对其他待拼接图像的系数进行熵解码与反量化,对第一垂直背景图像与第二垂直背景图像进行处理,得到相应的系数,并将其他待拼接图像的系数与第一垂直背景图像的系数以及第二垂直背景图像的系数拼接。
如果待拼接图像的码流中不具有重启动标记,则无需对第一张待拼接图像进行处理,在第一张待拼接图像的编码数据的结尾添加重启动标记即可。
如果其他待拼接图像的量化表信息与第一张待拼接图像的量化表信息不同,可对第二张待拼接图像及后续待拼接图像中的系数进行熵解码与反量化,并对第一垂直背景图像与第二垂直背景图像的像素值进行设置后,可对像素值进行DCT变换与量化,生成相应的系数;然后在每行MCU的前面和后面补充垂直背景图像的系数,并按照该方式对每行MCU进行处理,直至处理完第二待拼接图像中的所有行。
步骤153:对多张待拼接图像、第一垂直背景图像以及第二垂直背景图像的DC系数进行量化与熵编码,并对相应的AC系数进行量化与熵编码,对熵编码后的DC系数与熵编码后的AC系数进行拼接。
重新对所有待拼接图像的全部DC系数进行量化与熵编码处理,并对相应的AC系数进行量化与熵编码,然后对熵编码后的系数进行拼接,从而得到新的编码数据。
可以理解地,如果其他待拼接图像的宽度为MCU的宽度的整数倍,则可先执行对第一垂直背景图像与第二垂直背景图像进行DCT变换与量化,得到相应的系数;如果第二张待拼接图像的宽度不是MCU的宽度的整数倍,则其他待拼接图像中不足一个MCU的像素与垂直背景图像的像素拼接成一个MCU,此时可在对其他待拼接图像进行熵解码后,对第一垂直背景图像与第二垂直背景图像进行处理,生成相应的系数。
在其他实施例中,也可以根据需要对第一张待拼接图像或第二张待拼接图像进行缩放,使得它们的宽度相同,而不需要再添加垂直背景图像,后续处理方法与待拼接图像的宽度相同时采用的方法类似,在此不再赘述。
步骤25:若帧开始标记信息的类别、像素精度以及编码表信息相同,则在图像拼接方式为水平拼接时,则根据多张待拼接图像的高度判断是否设置水平背景图像;若设置水平背景图像,则对水平背景图像与多张待拼接图像进行拼接;若不设置水平背景图像,则对多张待拼接图像进行拼接。
在图像拼接方式为水平拼接时,可执行如图16所示的步骤,具体如下所示:
步骤161:根据帧开始标记信息判断多张待拼接图像的高度是否相同。
由于帧开始标记信息中包括待拼接图像的高度,因而从帧开始标记信息中解析出待拼接图像的高度,然后判别每张待拼接图像的高度是否相同。
步骤162:若多张待拼接图像的高度相同,则根据多张待拼接图像的编码模式与编码方式对多张待拼接图像进行拼接。
在多张待拼接图像的高度相同时,拼接形成的合成图像可如图17所示,N为待拼接图像的数量,N大于2;在各张待拼接图像的帧开始标记信息的类别、像素精度、编码表信息以及图像高度相同时,若待拼接图像的编码模式为有损模式,且编码方式为霍夫曼编码,可执行图18所示的步骤,具体包括:
步骤181:判断第一张待拼接图像的码流中是否具有重启动标记。
步骤182:若第一张待拼接图像的码流中不具有重启动标记,则在最后一张待拼接图像中每行最小编码单元对应的编码数据的结尾添加重启动标记;对多张待拼接图像的系数进行解析,得到DC系数与AC系数;对每个DC系数进行熵解码,并在拼接后,重新进行熵编码,生成合成图像的码流中的编码数据。
如果第一张待拼接图像的码流中不具有重启动标记,为了解决大分辨率并行解码问题,对于第一张待拼接图像到最后一张待拼接图像的每行MCU,在新的每行MCU对应的编码数据的结尾添加重启动标记RSTm,m从0开始,当m达到7后再重新从0开始,直至最后一行MCU,如图19所示。
对所有待拼接图像的MCU进行系数解析,得到DC系数与AC系数;然后对各个待拼接图像的DC系数进行熵解码与反量化,再重新对DC系数进行量化与熵编码处理,并对AC系数进行反量化和量化后进行拼接,且无需对AC系数进行熵编码,在处理完所有MCU后,生成新的编码数据。
可以理解地,如果量化表信息相同,则无需进行量化与反量化,重启动间隔也可根据具体需要进行设置。
步骤183:若第一张待拼接图像的码流中具有重启动标记,则对多张待拼接图像的系数进行解析,得到DC系数与AC系数,将第一张待拼接图像中每行最小编码单元对应的编码数据的后面拼接其他待拼接图像的DC系数,对DC系数重新进行熵编码,生成合成图像的码流中的编码数据。
如果第一张待拼接图像的码流中具有重启动标记,可根据其对应的重启动间隔对后续待拼接图像进行处理,或者不设置重启动标记,也可自行设置重启动间隔的大小,下面以不添加重启动标记为例进行说明,具体如下:
对所有待拼接图像中的系数进行熵解码与反量化后,在第一张待拼接图像的每行MCU后拼接后续待拼接图像的DC系数,重新对DC系数进行预测、量化与熵编码处理;如果所有待拼接图像的量化表信息相同,则不需要对AC系数进行处理;如果所有待拼接图像的量化表信息不同,则对AC系数进行熵解码、反量化和量化,然后再进行拼接,按照此方式对所有MCU进行处理。
可以理解地,如果量化表信息相同,则无需进行量化与反量化。
如果所有待拼接图像的编码方式为算术编码或编码模式为无损模式,采用的方法与编码方式为霍夫曼编码且编码模式为有损模式时所采用的方案类似,下面以编码模式为有损模式且编码方式为算术编码为例进行说明,具体如下:
如果第一张待拼接图像的码流中无重启动标记,为了解决大分辨率并行解码问题,对于所有待拼接图像的每行MCU,可在新的每行MCU对应的编码数据的结尾添加重启动标记。
对所有待拼接图像的MCU进行系数解析,得到DC系数与AC系数;如果量化表信息相同,则对各个待拼接图像的系数进行熵解码,然后重新对系数进行熵编码处理,生成新的编码数据;如果量化表信息不同,则对各个待拼接图像的系数进行熵解码与反量化,然后重新对系数进行量化与熵编码处理,生成新的编码数据。
如果第一张待拼接图像的码流中具有重启动标记,可根据第一张待拼接图像对应的重启动间隔对后续待拼接图像进行处理,也可自行设置重启动间隔的大小,或者也可根据实际解码需要,采用不添加重启动标记的方式。
步骤163:若多张待拼接图像的高度不同,则根据多张待拼接图像的高度设置水平背景图像的大小,对水平背景图像与多张待拼接图像进行拼接。
当多张待拼接图像的高度不同时,存在多种情况,下面以两张待拼接图像为例进行说明,图20为两张不同高度的待拼接图像进行拼接的情况,以第一张待拼接图像(即图像1)的高度大于第二张待拼接图像(即图像2)的高度为例进行说明,图像3为水平背景图像,此时可执行图21所示的步骤,具体如下所示:
步骤211:将水平背景图像的高度设置为第一张待拼接图像的高度与第二张待拼接图像的高度之间的差值,将背景图像的宽度设置为第二张待拼接图像的宽度,并将水平背景图像的所有像素值设置为预设像素值。
可以将第一待拼接图像与第二张待拼接图像进行上对齐或下对齐,图20以上对齐为例进行说明;可根据实际需要设置预设像素值,如图20所示,由于图像1与图像2的高度不同,因而在上对齐时,图像2的下侧无法与图像1的下侧对齐,可在空缺处设一水平背景图像(即图像3),以使得图像1、图像2以及图像3合成一幅完整的图像,合成图像的宽度为图像1的宽度与图像2的宽度之和,合成图像的高度为图像1的高度。
步骤212:在待拼接图像的编码模式为有损模式,且编码方式为霍夫曼编码时,判断第一张待拼接图像的码流中是否具有重启动标记。
如果第一张待拼接图像的码流中具有重启动标记,可将第一张待拼接图像的重启动间隔作为所有待拼接图像的重启动间隔,以处理后续待拼接图像,其他方案与图18所示的方案类似,在此不再赘述,最终可生成新的编码数据。
可以理解地,也可根据实际需要设置重启动间隔,或者也可不设置重启动间隔。
步骤213:若第一张待拼接图像的码流中不具有重启动标记,则对多张待拼接图像进行解析,得到DC系数与AC系数;对DC系数进行熵解码,并将第二张待拼接图像中最小处理单元对应的系数与第一张待拼接图像中相应的最小处理单元对应的系数进行拼接,将水平背景图像中最小处理单元对应的系数与第一张待拼接图像中相应的最小处理单元对应的系数进行拼接;重新对每个最小处理单元对应的DC系数进行熵编码,生成合成图像的码流中的编码数据。
在多张待拼接图像中每行最小编码单元对应的编码数据的结尾添加重启动标记:
在第一张待拼接图像的码流中不具有重启动标记时,可根据多张待拼接图像的宽度判断是否在多张待拼接图像中每行MCU对应的编码数据的结尾添加重启动标记。
进一步地,如果第一张待拼接图像的宽度不为MCU的宽度的整数倍,对于第一张待拼接图像中最后几列(小于MCU的宽度)像素来说,其与第二张待拼接图像或水平背景图像的前几列像素组成多个MCU,然后可对这些MCU进行DCT变换、量化以及熵编码。
例如,第一张待拼接图像的大小为24*30,第二张待拼接图像的大小为16*24,则水平背景图像的大小为8*24,对于第一张待拼接图像的第25-30列、第1-16行像素来说,可将其与第二张待拼接图像的前2列、第1-16行像素组成2个MCU;对于第一张待拼接图像的第25-30列、第17-24行像素来说,可将其与水平背景图像背景图像的前2列、第1-8行像素组成1个MCU。
如果多张待拼接图像的宽度为MCU的宽度的整数倍,则在多张待拼接图像中每行MCU对应的编码数据的结尾添加重启动标记,即对于所有待拼接图像的每行MCU,在新的每行MCU对应的编码数据的结尾添加重启动标记,具体拼接方式与图19的拼接方式类似,在此不再赘述;下面为方便描述,以待拼接图像的数量为2为例进行说明。
解析第一张待拼接图像和第二张待拼接图像的系数,得到DC系数与AC系数;然后对DC系数进行熵解码与反量化,将第一张待拼接图像的MCU对应的DC系数与第二张待拼接图像的MCU对应的DC系数拼接,处理完第二张待拼接图像的所有行后,在第一张待拼接图像的每行MCU对应的编码数据后面补充水平背景图像的DC系数,重新对每个MCU的DC系数进行预测、量化以及熵编码处理;无需对第一张待拼接图像与第二张待拼接图像的AC系数重新进行编码,对所有AC系数进行量化与熵编码后拼接即可;按照该方式对所有MCU进行处理,最终可生成新的编码数据。
可以理解地,如果量化表信息相同,则无需进行量化与反量化。
在第一张待拼接图像和第二张待拼接图像的编码方式为算术编码或编码模式为无损模式时,可采用如下方式进行处理:
如果第一张待拼接图像的码流中不具有重启动标记,对于所有待拼接图像的每行MCU,在新的每行MCU对应的编码数据的结尾添加重启动标记,具体方式与图19的处理方式类似,在此不再赘述;解析所有待拼接图像的系数,处理完第二张待拼接图像的所有行后,在第一张待拼接图像的每行MCU对应的编码数据后面补充水平背景图像的系数;然后对全部系数进行熵解码与反量化后,重新对全部MCU对应的系数进行量化与熵编码处理,最终可生成新的编码数据。
可以理解地,如果量化表信息相同,则无需进行量化与反量化。
如果第一张待拼接图像的码流中不具有重启动标记,可将第一张待拼接图像的重启动间隔作为所有待拼接图像的重启动间隔(也可根据实际需要设置重启动间隔或者不设置重启动间隔),以处理后续待拼接图像,具体拼接方式与上述实施例的拼接方式类似,在此不再赘述,最终可生成新的编码数据。
在其他实施例中,还支持任意位置的拼接,下面以水平背景图像为2张为例进行说明,即水平背景图像包括第一水平背景图像(即图像3)与第二水平背景图像(即图像4),如图22所示,可按照与上述实施例的拼接方式类似的方法进行拼接,只是水平背景图像的位置不同,在此不再赘述。
步骤26:若帧开始标记信息的类别、像素精度或编码表信息不同,则在图像拼接方式为垂直拼接时,从多张待拼接图像中选取一张待拼接图像作为垂直基准图像,根据多张待拼接图像的宽度判断是否设置垂直背景图像;若设置垂直背景图像,则利用垂直基准图像的图像参数信息对垂直背景图像与其他待拼接图像进行处理,并进行拼接;若不设置垂直背景图像,则利用垂直基准图像的图像参数信息对其他待拼接图像进行处理,并进行拼接。
在帧开始标记信息的类别、像素精度或编码表信息不同时,可判断图像拼接方式是否为垂直拼接;若图像拼接方式为垂直拼接,则执行图23所示的步骤,具体包括:
步骤231:根据帧开始标记信息判断多张待拼接图像的宽度是否相同。
此步骤与步骤31相同,在此不再赘述。
步骤232:若多张待拼接图像的宽度相同,则从多张待拼接图像中选取一张待拼接图像作为垂直基准图像,利用垂直基准图像的图像参数信息对其他待拼接图像进行处理,并进行拼接。
可按照其中一个待拼接图像的配置作为基准,处理其他待拼接图像,具体如下:
如果垂直基准图像的码流中不具有重启动标记,可在垂直基准图像的编码数据的结尾添加重启动标志。
在垂直基准图像的码流中具有重启动标记时,解析垂直基准图像中最后一个重启动间隔内MCU的系数,并进行熵解码;对其他待拼接图像的系数进行熵解码,并按照垂直基准图像的图像参数信息对其他待拼接图像的系数进行熵编码,且设置相同的重启动间隔。
进一步地,如果垂直基准图像的码流中具有重启动标记,可解析垂直基准图像中最后一个重启动间隔内的系数,在编码模式为有损模式时,如果量化表信息相同,则进行熵解码;如果量化表信息不同,则进行熵解码与反量化;在编码模式为无损模式时,可根据实际情况进行预测等其他处理过程。
在量化表信息不同时,对其他待拼接图像的系数进行熵解码与反量化,然后按照对垂直基准图像的处理方式对其他待拼接图像的系数进行量化与熵编码,且可设置相同的重启动间隔,最终完成编码数据的拼接。
可以理解地,还可根据实际需要设置重启动间隔或不设置重启动间隔。
步骤233:若多张待拼接图像的宽度不同,则从多张待拼接图像中选取一张待拼接图像作为垂直基准图像,并根据多张待拼接图像的宽度设置垂直背景图像,利用垂直基准图像的图像参数信息对垂直背景图像与其他待拼接图像进行处理,并进行拼接。
在多张待拼接图像的宽度不同时,如果垂直基准图像的码流中具有重启动标记,则可解析垂直基准图像中最后一个重启动间隔内MCU的系数,并进行熵解码;对其他待拼接图像与垂直背景图像的系数进行熵解码,并按照垂直基准图像的图像参数信息对垂直背景图像以及其他待拼接图像的系数进行熵编码,且设置相同的重启动间隔;在垂直基准图像的码流中具有重启动标记时,处理方式与不具有重启动标记时的处理方式类似,在此不再赘述。
步骤27:若帧开始标记信息的类别、像素精度或编码表信息不同,则在图像拼接方式为垂直拼接时,从多张待拼接图像中选取一张待拼接图像作为水平基准图像,根据多张待拼接图像的高度判断是否设置水平背景图像;若设置水平背景图像,则利用水平基准图像的图像参数信息对水平背景图像与其他待拼接图像进行处理,并进行拼接;若不设置水平背景图像,则利用水平基准图像的图像参数信息对其他待拼接图像进行处理,并进行拼接。
在图像拼接方式为水平拼接时,可按照图24所示的步骤进行处理,具体包括:
步骤241:根据帧开始标记信息判断多张待拼接图像的高度是否相同。
此步骤与步骤161相同,在此不再赘述。
步骤242:若多张待拼接图像的高度相同,则从多张待拼接图像中选取一张待拼接图像作为水平基准图像,根据水平基准图像的图像参数信息对其他待拼接图像进行处理,并进行拼接。
对于图像的水平拼接,可选定一个待拼接图像的配置方式作为基准,按照该基准分别处理其他待拼接图像,若各待拼接图像的高度相同,则无需考虑设置水平背景图像的问题。
在水平基准图像的码流中无重启动标记时,对于所有待拼接图像的每行MCU,在新的每行MCU对应的编码数据的结尾添加重启动标记;对所有待拼接图像的系数进行熵解码与反量化,然后重新对全部系数进行量化与熵编码处理,生成新的编码数据。
可以理解地,如果量化表信息相同,则无需进行量化与反量化。
在水平基准图像的码流中具有重启动标记时,可根据水平基准图像的重启动间隔或实际需要设置重启动间隔,或不设置重启动间隔,并按照类似的方式进行处理,最终生成新的编码数据。
步骤243:若多张待拼接图像的高度不同,则从多张待拼接图像中选取一张待拼接图像作为水平基准图像,并根据多张待拼接图像的高度设置水平背景图像,利用水平基准图像的图像参数信息对水平背景图像与其他待拼接图像进行处理,并进行拼接。
在帧开始标记信息的类别、像素精度或编码表信息不同,且待拼接图像的高度不同时,可先选取一张水平基准图像,并设置水平背景图像的大小,然后对多张待拼接图像与水平背景图像进行拼接,具体的处理步骤与图20对应的处理方式类似,只是需要考虑水平背景图像的位置,在此不再赘述。
在一具体的实施例中,图像拼接的数据结构示意图可如图25所示,待拼接图像的数量为N,分别记作图像1-图像N,N大于或等于2,每个待拼接图像的码流包括SOI、图像参数信息、编码数据以及EOI。
本实施例可以根据图像拼接方式、图像的高度、图像的宽度、编码方式、编码模式或量化方式来确定拼接方法,能够实现任意格式的至少两张图像的拼接,支持水平拼接和垂直拼接两种方式,且能够对不同宽度或高度的图像进行拼接,支持有损图像和无损图像的拼接,并可根据具体情况采用不同的方案进行转码拼接,而现有方案一般仅支持相同宽度或高度的图像进行拼接,未根据有损模式、无损模式、熵编码方式或量化来设计拼接方案;而且,还可利用背景图像对多张待拼接图像进行补充,从而保证拼接后得到的合成图像为一个完整的图像;另外,利用较简单的方式实现了码流配置参数相同时的图像拼接,并可以在配置不同时利用重启动标记进行分区,实现对系数的最少解析,可实现快速拼接;对于码流配置参数相同的图像,可根据编码方式、编码模式以及量化的具体情况,添加重启动标记,实现解析部分MCU的系数,减少解析的数据量;对于码流配置参数不同的图像,可根据图像拼接方式、编码方式、编码模式以及量化的具体情况,决定具体解析的MCU的信息以及背景图像的位置,实现解析最少数量的MCU,能够提高拼接速度。
请参阅图26,图26是本申请提供的图像拼接装置一实施例的结构示意图,图像拼接装置260包括互相连接的存储器261和处理器262,存储器261用于存储计算机程序,计算机程序在被处理器262执行时,用于实现上述实施例中的图像拼接方法。
处理器262可包括依次连接的图像解析参数单元、图像拼接判决单元以及合成单元(图中未示出),图像解析参数单元可对各个待拼接图像进行解析,得到图像参数信息;图像拼接判决单元可根据解析的图像参数信息,确定图像拼接方式;合成单元可根据图像拼接方式与各个待拼接图像的编码数据进行数据合成,形成新的图像,即合成图像。
本实施例提供一种对JPEG格式的图像进行拼接的装置,支持待拼接图像为有损图像或无损图像,能够对不同编码格式、不同编码模式、不同高度或不同宽度的图像进行拼接,生成合成图像。
请参阅图27,图27是本申请提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质270用于存储计算机程序271,计算机程序271在被处理器执行时,用于实现上述实施例中的图像拼接方法。
计算机可读存储介质270可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
请参阅图28,图28是本申请提供的电子装置一实施例的结构示意图,电子装置280包括互相连接的存储器281和处理器282,存储器281用于存储计算机程序,计算机程序在被处理器282执行时,用于实现上述实施例中的图像拼接方法。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (16)
1.一种图像拼接方法,其特征在于,包括:
获取待拼接图像的图像参数信息,其中,所述图像参数信息包括帧开始标记信息与编码表信息;
确定图像拼接方式;
根据所述编码表信息与所述帧开始标记信息,确定是否需要对所述待拼接图像中最小编码单元对应的系数进行解析;
若需要进行解析,则对至少一张所述待拼接图像的至少部分系数进行熵解码,得到所述最小编码单元对应的系数;
利用所述图像参数信息确定是否需要对所述最小编码单元对应的系数重新进行熵编码;
若需要重新进行熵编码,则生成新的系数,并进行图像拼接。
2.根据权利要求1所述的图像拼接方法,其特征在于,所述帧开始标记信息包括所述待拼接图像的宽度、所述待拼接图像的高度以及像素精度,所述方法还包括:
判断所述帧开始标记信息的类别、所述像素精度以及所述编码表信息是否相同;
若所述帧开始标记信息的类别、所述像素精度以及所述编码表信息相同,则在所述图像拼接方式为所述垂直拼接时,根据所述多张待拼接图像的宽度判断是否设置垂直背景图像;若设置所述垂直背景图像,则对所述垂直背景图像与所述多张待拼接图像进行拼接;若不设置所述垂直背景图像,则对所述多张待拼接图像进行拼接;在所述图像拼接方式为所述水平拼接时,则根据所述多张待拼接图像的高度判断是否设置水平背景图像;若设置所述水平背景图像,则对所述水平背景图像与所述多张待拼接图像进行拼接;若不设置所述水平背景图像,则对所述多张待拼接图像进行拼接;
若所述帧开始标记信息的类别、所述像素精度或所述编码表信息不同,则在所述图像拼接方式为所述垂直拼接时,从所述多张待拼接图像中选取一张待拼接图像作为垂直基准图像,根据所述多张待拼接图像的宽度判断是否设置所述垂直背景图像;若设置所述垂直背景图像,则利用所述垂直基准图像的图像参数信息对所述垂直背景图像与其他待拼接图像进行处理,并进行拼接;若不设置所述垂直背景图像,则利用所述垂直基准图像的图像参数信息对所述其他待拼接图像进行处理,并进行拼接;在所述图像拼接方式为所述水平拼接时,从所述多张待拼接图像中选取一张待拼接图像作为水平基准图像,根据所述多张待拼接图像的高度判断是否设置所述水平背景图像;若设置所述水平背景图像,则利用所述水平基准图像的图像参数信息对所述水平背景图像与所述其他待拼接图像进行处理,并进行拼接;若不设置所述水平背景图像,则利用所述水平基准图像的图像参数信息对所述其他待拼接图像进行处理,并进行拼接。
3.根据权利要求2所述的图像拼接方法,其特征在于,所述图像参数信息还包括量化表信息,所述方法还包括:
在所述图像拼接方式为所述垂直拼接时,根据所述帧开始标记信息判断所述多张待拼接图像的宽度是否相同;若是,则根据所述量化表信息对所述多张待拼接图像进行拼接;若否,则根据所述多张待拼接图像的宽度设置所述垂直背景图像的大小,对所述垂直背景图像与所述多张待拼接图像进行拼接;
在所述图像拼接方式为所述水平拼接时,根据所述帧开始标记信息判断所述多张待拼接图像的高度是否相同;若是,则根据所述多张待拼接图像的编码模式与编码方式对所述多张待拼接图像进行拼接;若否,则根据所述多张待拼接图像的高度设置所述水平背景图像的大小,对所述水平背景图像与所述多张待拼接图像进行拼接;
其中,所述编码模式包括有损模式与无损模式,在所述编码模式为所述有损模式时,所述系数包括AC系数与DC系数,所述编码方式包括霍夫曼编码与算术编码。
4.根据权利要求3所述的图像拼接方法,其特征在于,所述图像参数信息还包括重启动间隔,所述根据所述量化表信息对所述多张待拼接图像进行拼接的步骤,包括:
判断每张所述待拼接图像的量化表信息是否相同;
若每张所述待拼接图像的量化表信息相同,则判断每张所述待拼接图像的编码模式是否为所述有损模式,且所述编码方式是否为所述霍夫曼编码;
若是,则根据所述待拼接图像的码流中是否包含重启动标志以及所述待拼接图像的数量,判定是否对所述待拼接图像进行解析;若对所述待拼接图像进行解析,则得到所述AC系数与所述DC系数,并对所述DC系数重新进行熵编码,以生成所述合成图像的码流;
若否,则根据所述待拼接图像的码流中是否包含所述重启动标志以及所述待拼接图像的数量,判定是否对所述待拼接图像进行解析;若对所述待拼接图像进行解析,则得到所述最小编码单元对应的系数,并对所述最小编码单元对应的系数重新进行熵编码,以生成所述合成图像的码流。
5.根据权利要求4所述的图像拼接方法,其特征在于,所述方法包括:
根据第一张待拼接图像中最小编码单元的数量设置所述重启动间隔,并在所述第一张待拼接图像的码流中的编码数据后添加重启动标志;
判断所述多张待拼接图像中最小编码单元的数量是否相同;若所述多张待拼接图像中最小编码单元的数量相同,则将所有所述待拼接图像对应的编码数据进行拼接,得到所述合成图像的码流中的编码数据;
若所述多张待拼接图像中最小编码单元的数量不同,则对所述其他待拼接图像的系数进行解析,直至累计的所述最小编码单元的数量达到所述重启动间隔;对每个所述重启动间隔内最小编码单元对应的DC系数重新进行熵编码,并添加重启动标记;返回所述对所述其他待拼接图像的系数进行解析的步骤,直至完成对所有所述待拼接图像的DC系数的拼接,并在合成的编码数据的结尾添加图像结束标记。
6.根据权利要求4所述的图像拼接方法,其特征在于,所述方法包括:
将所述重启动间隔设置为第一张待拼接图像对应的重启动间隔;
对所述第一张待拼接图像中最后一个重启动间隔内的最小编码单元与其他待拼接图像中的每个最小编码单元进行系数解析,得到相应的所述AC系数与所述DC系数;
从所述第一张待拼接图像中最后一个重启动间隔的起始位置开始,按照所述重启动间隔对所述其他待拼接图像中的最小编码单元进行分段,得到多个编码段,在除最后一个编码段的其他编码段的结尾添加重启动标志;
对每个所述编码段中所述最小编码单元对应的DC系数进行熵编码,并对所述最小编码单元对应的AC系数进行拼接,以生成所述合成图像的码流中的编码数据。
7.根据权利要求3所述的图像拼接方法,其特征在于,所述根据所述多张待拼接图像的宽度设置所述垂直背景图像的大小,对所述垂直背景图像与所述多张待拼接图像进行拼接的步骤,包括:
将所述垂直背景图像的宽度设置为所述第一张待拼接图像的宽度与第二张待拼接图像的宽度之间的差值,将所述垂直背景图像的高度设置为所述第二张待拼接图像的高度,并将所述垂直背景图像的所有像素值设置为预设像素值;
在所述第一张待拼接图像的编码模式为所述有损模式,且所述编码方式为所述霍夫曼编码时,若所述第一张待拼接图像的码流中不具有重启动标记,则根据所述第一张待拼接图像的大小判断是否在所述第一张待拼接图像中的最小编码单元对应的编码数据的结尾添加所述重启动标记;
对所述第二张待拼接图像进行熵解码,并对所述垂直背景图像进行处理,得到相应的系数,在所述第二张待拼接图像中每行最小编码单元对应的系数后添加所述垂直背景图像对应的系数;
对所述第二张待拼接图像与所述垂直背景图像中所有的所述DC系数进行熵编码,并对相应的AC系数进行熵编码,对熵编码后的DC系数与熵编码后的AC系数进行拼接,生成所述合成图像的码流中的编码数据。
8.根据权利要求3所述的图像拼接方法,其特征在于,所述垂直背景图像包括第一垂直背景图像与第二垂直背景图像,所述方法还包括:
接收预设拼接位置,并根据所述预设拼接位置,设置所述第一垂直背景图像的大小以及所述第二垂直背景图像的大小;
在所述其他待拼接图像的量化表信息与所述第一张待拼接图像的量化表信息不同时,对所述其他待拼接图像的系数进行熵解码与反量化,对所述第一垂直背景图像与所述第二垂直背景图像进行处理,得到相应的系数,并将所述其他待拼接图像的系数与所述第一垂直背景图像的系数以及所述第二垂直背景图像的系数拼接;
对所述多张待拼接图像、所述第一垂直背景图像以及所述第二垂直背景图像的DC系数进行量化与熵编码,并对相应的AC系数进行量化与熵编码,对熵编码后的DC系数与熵编码后的AC系数进行拼接。
9.根据权利要求3所述的图像拼接方法,其特征在于,所述根据所述多张待拼接图像的编码模式与编码方式对所述多张待拼接图像进行拼接的步骤,包括:
在所述待拼接图像的编码模式为所述有损模式,且所述编码方式为所述霍夫曼编码时,判断第一张待拼接图像的码流中是否具有重启动标记;
若所述第一张待拼接图像的码流中不具有所述重启动标记,则在最后一张待拼接图像中每行最小编码单元对应的编码数据的结尾添加所述重启动标记;对所述多张待拼接图像的系数进行解析,得到所述DC系数与所述AC系数;对每个所述DC系数进行熵解码,并在拼接后,重新进行熵编码,生成所述合成图像的码流中的编码数据;
若所述第一张待拼接图像的码流中具有所述重启动标记,则对所述多张待拼接图像的系数进行解析,得到所述DC系数与所述AC系数,将所述第一张待拼接图像中每行最小编码单元对应的编码数据的后面拼接所述其他待拼接图像的DC系数,对所述DC系数重新进行熵编码,生成所述合成图像的码流中的编码数据。
10.根据权利要求3所述的图像拼接方法,其特征在于,所述根据所述多张待拼接图像的高度设置所述水平背景图像的大小,对所述水平背景图像与所述多张待拼接图像进行拼接的步骤,包括:
将所述水平背景图像的高度设置为第一张待拼接图像的高度与第二张待拼接图像的高度之间的差值,将所述背景图像的宽度设置为所述第二张待拼接图像的宽度,并将所述水平背景图像的所有像素值设置为预设像素值;
在所述待拼接图像的编码模式为所述有损模式,且所述编码方式为所述霍夫曼编码时,判断所述第一张待拼接图像的码流中是否具有重启动标记;
若所述第一张待拼接图像的码流中不具有所述重启动标记,则对所述多张待拼接图像进行解析,得到所述DC系数与所述AC系数;对所述DC系数进行熵解码,并将所述第二张待拼接图像中最小处理单元对应的系数与所述第一张待拼接图像中相应的最小处理单元对应的系数进行拼接,将所述水平背景图像中最小处理单元对应的系数与所述第一张待拼接图像中相应的最小处理单元对应的系数进行拼接;重新对每个所述最小处理单元对应的DC系数进行熵编码,生成所述合成图像的码流中的编码数据。
11.根据权利要求2所述的图像拼接方法,其特征在于,所述方法还包括:
在所述帧开始标记信息的类别、所述像素精度或所述编码表信息不同时,判断所述图像拼接方式是否为所述垂直拼接;
若所述图像拼接方式为所述垂直拼接,则根据所述帧开始标记信息判断所述多张待拼接图像的宽度是否相同;若是,则从所述多张待拼接图像中选取一张待拼接图像作为所述垂直基准图像,利用所述垂直基准图像的图像参数信息对所述其他待拼接图像进行处理,并进行拼接;若否,则从所述多张待拼接图像中选取一张待拼接图像作为所述垂直基准图像,并根据所述多张待拼接图像的宽度设置所述垂直背景图像,利用所述垂直基准图像的图像参数信息对所述垂直背景图像与所述其他待拼接图像进行处理,并进行拼接;
若所述图像拼接方式为所述水平拼接,则根据所述帧开始标记信息判断所述多张待拼接图像的高度是否相同;若是,则从所述多张待拼接图像中选取一张待拼接图像作为所述水平基准图像,根据所述水平基准图像的图像参数信息对所述其他待拼接图像进行处理,并进行拼接;若否,则从所述多张待拼接图像中选取一张待拼接图像作为所述水平基准图像,并根据所述多张待拼接图像的高度设置所述水平背景图像,利用所述水平基准图像的图像参数信息对所述水平背景图像与所述其他待拼接图像进行处理,并进行拼接。
12.根据权利要求11所述的图像拼接方法,其特征在于,所述利用所述垂直基准图像的图像参数信息对所述其他待拼接图像进行处理的步骤,包括:
在所述垂直基准图像的码流中具有重启动标记时,解析所述垂直基准图像中最后一个重启动间隔内最小编码单元的系数,并进行熵解码;
对所述其他待拼接图像的系数进行熵解码,并按照所述垂直基准图像的图像参数信息对所述其他待拼接图像的系数进行熵编码。
13.根据权利要求11所述的图像拼接方法,其特征在于,所述利用所述垂直基准图像的图像参数信息对所述垂直背景图像与所述其他待拼接图像进行处理的步骤,包括:
在所述垂直基准图像的码流中具有重启动标记时,解析所述垂直基准图像中最后一个重启动间隔内最小编码单元的系数,并进行熵解码;
对所述其他待拼接图像与所述垂直背景图像的系数进行熵解码,并按照所述垂直基准图像的图像参数信息对所述垂直背景图像以及所述其他待拼接图像的系数进行熵编码。
14.一种图像拼接装置,其特征在于,包括互相连接的存储器和处理器,其中,所述存储器用于存储计算机程序,所述计算机程序在被所述处理器执行时,用于实现权利要求1-13中任一项所述的图像拼接方法。
15.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,用于实现权利要求1-13中任一项所述的图像拼接方法。
16.一种电子装置,其特征在于,包括互相连接的存储器和处理器,其中,所述存储器用于存储计算机程序,所述计算机程序在被所述处理器执行时,用于实现权利要求1-13中任一项所述的图像拼接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010673880.4A CN111968031A (zh) | 2020-07-14 | 2020-07-14 | 一种图像拼接方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010673880.4A CN111968031A (zh) | 2020-07-14 | 2020-07-14 | 一种图像拼接方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111968031A true CN111968031A (zh) | 2020-11-20 |
Family
ID=73361986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010673880.4A Pending CN111968031A (zh) | 2020-07-14 | 2020-07-14 | 一种图像拼接方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111968031A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608711A (zh) * | 2021-08-10 | 2021-11-05 | 湖北亿咖通科技有限公司 | 多显示屏控制方法、装置、设备及存储介质 |
CN113949827A (zh) * | 2021-09-30 | 2022-01-18 | 安徽尚趣玩网络科技有限公司 | 一种视频内容融合方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050152608A1 (en) * | 2003-11-18 | 2005-07-14 | Sami Niemi | Method for processing a digital image and image representation format |
CN102006475A (zh) * | 2010-11-18 | 2011-04-06 | 无锡中星微电子有限公司 | 一种视频编解码装置和方法 |
JP2011114770A (ja) * | 2009-11-30 | 2011-06-09 | Mitsubishi Electric Corp | 画像符号化装置、画像復号化装置、画像符号化・復号化システム及びその方法 |
CN103489170A (zh) * | 2013-09-05 | 2014-01-01 | 浙江宇视科技有限公司 | 一种jpeg图片合成、叠加osd信息方法及装置 |
CN104244000A (zh) * | 2014-09-19 | 2014-12-24 | 浙江宇视科技有限公司 | 一种jpeg图片快速拼接方法及装置 |
CN105578194A (zh) * | 2016-01-06 | 2016-05-11 | 珠海全志科技股份有限公司 | Jpeg图像解码方法和解码器 |
CN109783658A (zh) * | 2019-02-19 | 2019-05-21 | 苏州科达科技股份有限公司 | 图像处理方法、装置及存储介质 |
US10313575B1 (en) * | 2016-11-14 | 2019-06-04 | Talon Aerolytics, Inc. | Drone-based inspection of terrestrial assets and corresponding methods, systems, and apparatuses |
CN110246081A (zh) * | 2018-11-07 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种图像拼接方法、装置及可读存储介质 |
CN110399511A (zh) * | 2019-07-23 | 2019-11-01 | 中南民族大学 | 基于Redis的图片缓存方法、设备、存储介质及装置 |
-
2020
- 2020-07-14 CN CN202010673880.4A patent/CN111968031A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050152608A1 (en) * | 2003-11-18 | 2005-07-14 | Sami Niemi | Method for processing a digital image and image representation format |
JP2011114770A (ja) * | 2009-11-30 | 2011-06-09 | Mitsubishi Electric Corp | 画像符号化装置、画像復号化装置、画像符号化・復号化システム及びその方法 |
CN102006475A (zh) * | 2010-11-18 | 2011-04-06 | 无锡中星微电子有限公司 | 一种视频编解码装置和方法 |
CN103489170A (zh) * | 2013-09-05 | 2014-01-01 | 浙江宇视科技有限公司 | 一种jpeg图片合成、叠加osd信息方法及装置 |
CN104244000A (zh) * | 2014-09-19 | 2014-12-24 | 浙江宇视科技有限公司 | 一种jpeg图片快速拼接方法及装置 |
CN105578194A (zh) * | 2016-01-06 | 2016-05-11 | 珠海全志科技股份有限公司 | Jpeg图像解码方法和解码器 |
US10313575B1 (en) * | 2016-11-14 | 2019-06-04 | Talon Aerolytics, Inc. | Drone-based inspection of terrestrial assets and corresponding methods, systems, and apparatuses |
CN110246081A (zh) * | 2018-11-07 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种图像拼接方法、装置及可读存储介质 |
CN109783658A (zh) * | 2019-02-19 | 2019-05-21 | 苏州科达科技股份有限公司 | 图像处理方法、装置及存储介质 |
CN110399511A (zh) * | 2019-07-23 | 2019-11-01 | 中南民族大学 | 基于Redis的图片缓存方法、设备、存储介质及装置 |
Non-Patent Citations (1)
Title |
---|
沙莎;邓家先;易巧玲;李莎;: "一种易于硬件实现的图像有损压缩算法", 光学与光电技术, no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608711A (zh) * | 2021-08-10 | 2021-11-05 | 湖北亿咖通科技有限公司 | 多显示屏控制方法、装置、设备及存储介质 |
CN113949827A (zh) * | 2021-09-30 | 2022-01-18 | 安徽尚趣玩网络科技有限公司 | 一种视频内容融合方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI808365B (zh) | 視訊資料串流、視訊編碼器、用於假想參考解碼器(hrd)時序修復之設備與方法、及用於可擴展與可合併位元串流之另一附加物 | |
CN111226442B (zh) | 配置用于视频压缩的变换的方法及计算机可读存储介质 | |
US7480418B2 (en) | Method for processing a digital image and image representation format | |
US10313695B2 (en) | Parallel decode of a progressive JPEG bitstream | |
US8538180B2 (en) | Method and apparatus for generating JPEG files suitable for parallel decoding | |
CN105723709B (zh) | 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序 | |
HUE035084T2 (en) | Equipment for decoding the entropy coefficient of transformation coefficient | |
EP3675496A1 (en) | Method and device for determining motion vector of affine coding block | |
KR20140022797A (ko) | 화상 부호화장치, 화상 부호화방법, 화상복호장치, 화상복호방법 및 기억매체 | |
CN102474611A (zh) | 通过控制运动矢量的精度对图像编码/解码的方法和设备 | |
CN111968031A (zh) | 一种图像拼接方法、装置、存储介质及电子装置 | |
US8189687B2 (en) | Data embedding apparatus, data extracting apparatus, data embedding method, and data extracting method | |
CN103413287B (zh) | 一种jpeg图片合成方法及装置 | |
CN109862365B (zh) | 图像数据处理方法及装置 | |
CN102611885A (zh) | 一种编解码方法和装置 | |
CN111510731B (zh) | 交通图像的拼接系统及方法 | |
CN111510643B (zh) | 全景图和特写图的拼接系统及方法 | |
CN111510717B (zh) | 图像拼接方法和装置 | |
CN116368798A (zh) | 编码方法、解码方法、编码器、解码器以及存储介质 | |
WO2011088593A1 (en) | Method and device for encoding of an image block and method and device for decoding of an image block | |
CN103069798B (zh) | 用于在实施变换域估计过程中对至少一个图像进行编码和解码的方法和装置 | |
US20210021871A1 (en) | Method and apparatus for performing low-complexity operation of transform kernel for video compression | |
JP2002330279A (ja) | 画像へのデータ埋め込み方法及び当該データの抽出方法 | |
JP2010045589A (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN107911705B (zh) | 分析avs 2.0关键参数和查看解码后错误帧的方法 |
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 |