CN111510717B - 图像拼接方法和装置 - Google Patents

图像拼接方法和装置 Download PDF

Info

Publication number
CN111510717B
CN111510717B CN201910100751.3A CN201910100751A CN111510717B CN 111510717 B CN111510717 B CN 111510717B CN 201910100751 A CN201910100751 A CN 201910100751A CN 111510717 B CN111510717 B CN 111510717B
Authority
CN
China
Prior art keywords
sub
images
splicing
image
restart
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
CN201910100751.3A
Other languages
English (en)
Other versions
CN111510717A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910100751.3A priority Critical patent/CN111510717B/zh
Publication of CN111510717A publication Critical patent/CN111510717A/zh
Application granted granted Critical
Publication of CN111510717B publication Critical patent/CN111510717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04N19/172Methods 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 picture, frame or field
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

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

Abstract

本发明提供一种图像拼接方法和装置,其中的方法包括:确定所需拼接的N个子图像的目标重启动间隔;所述目标重启动间隔用于所述N个子图像进行图像拼接之前的编码,N为大于或等于2的正整数;根据所述目标重启动间隔,将所述N个子图像分别编码成对应的压缩码流;根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的全部压缩码流进行拼接,得到所述N个子图像的拼接图对应的目标码流;所述N个子图像至少沿图像宽度方向进行拼接。从而省略对多张子图像的子图像压缩码流进行解码、对解码后得到的所有空间域重建图像进行拼接、和对拼接得到的超大图像进行编码等步骤,有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率。

Description

图像拼接方法和装置
技术领域
本发明涉及图像处理技术领域,特别涉及图像拼接方法和装置。
背景技术
随着图像处理技术的发展及用户对图像清晰度越来越高的需求,目前的图像传感器所采集的图像的分辨率也越来越高。但由于图像所占用的存储空间和传输时所需的传输量与图像的分辨率正相关,故为降低存储成本和传输成本,有必要对图像数据进行压缩,即进行编码处理,以减少图像的存储量和传输量。相应地,在需要查看图像时,要对图像编码后的数据(即压缩码流)进行解码,才能显示图像画面。
其中,会出现需要将一幅超大图像分割成多张图像进行存储,并在存储后需要再次呈现所述超大图像的画面的情况;也会出现将不同时刻拍摄的多张图像分别存储,并在存储后需要将多张图像拼接成一幅超大图像的情况。在上述两种情况下,都是分别对多张图像进行编码存储,并在需要显示所述超大图像时,对多张图像进行拼接,其中的编码和拼接过程可以参见图1。如图2和图3所示,目前,将多张JPEG图像进行拼接的方法一般包括:首先,通过JPEG解码器对多张图像的压缩码流进行解码,解码出各图像在空间域的重建图像;然后,通过空间域图像拼接装置将所有重建图像进行拼接,得到一幅超大图像;最后,通过JPEG编码器对所述超大图像进行编码,以生成所述超大图像对应的压缩码流。从而实现在后续需再次查看所述超大图像时,不需要再经过拼接处理,而是直接通过JPEG解码器对所述超大图像对应的压缩码流进行解码。
发明人在实施上述拼接方案时,发现了上述拼接方案所存在的以下缺陷:
必须先对多张图像的压缩码流一一解码,转换成空间域的YUV或RGB等重建图像后,才能将所有重建图像拼接成超大图像。其中,为了方便对所述超大图像的查看或存储,还需要对拼接生成的所述超大图像进行编码形成对应的压缩码流。因此,在目前的多张JPEG图像的拼接过程中,无论是解码、编码,还是空间域图像的拼接,都需要消耗硬件设备较多的内存和运算资源,并增大硬件设备的功耗和运算时间,给硬件设备带来较大负担。而且,所述负担会随着图像的分辨率的提高而增加。
发明内容
有鉴于此,本发明提供一种图像拼接方法和装置。
本发明的第一方面提供一种图像拼接方法,所述方法包括:
确定所需拼接的N个子图像的目标重启动间隔;所述目标重启动间隔用于所述N个子图像进行图像拼接之前的编码,N为大于或等于2的正整数;
根据所述目标重启动间隔,将所述N个子图像分别编码成对应的压缩码流;
根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的全部压缩码流进行拼接,得到所述N个子图像的拼接图对应的目标码流;其中,所述N个子图像至少沿图像宽度方向进行拼接。
由此,本发明实施例通过直接对多张子图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张子图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的超大图像进行编码等步骤;从而实现对压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求。
可选的,所述根据所述目标重启动间隔,将所述N个子图像分别编码成对应的压缩码流,包括:
针对任意一个子图像,根据所述目标重启动间隔,确定所述子图像的熵编码段;根据所述熵编码段对所述子图像进行编码,得到所述子图像对应的压缩码流;
根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的全部压缩码流进行拼接,得到所述N个子图像的拼接图对应的目标码流,包括:
根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的所有压缩码流中的所有熵编码段进行重排序;
根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流。
由此,本发明通过一个重新确定出的目标重启动间隔,对各个子图像进行熵编码,然后根据各个子图像被指定的拼接位置和各个拼接位置的编码顺序对各个子图像压缩码流中对应的码流数据依序进行拼接得到目标码流,可实现子图像沿宽度方向能够进行拼接,还可以降低不同分辨率图像进行图像拼接时的复杂度和难度。
可选的,根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流,包括:
在重新排序后的所有熵编码段中,依序修改每相邻两个熵编码段之间的重启动标记,以使得到的所述目标码流中的重启动标记依序排列。
可选的,根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流,还包括:
根据所述N个子图像在拼接图中的预定拼接位置,确定所述拼接图的实际宽度和实际高度;
将所述目标码流的帧头信息中用于表示图像宽度和图像高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。
由此,本发明通过修改目标码流中每相邻两个熵编码段之间的重启动标记和目标码流的帧头信息,以使所述目标码流被解码后得到的图像和所有子图像拼接后所对应的拼接图相同,有利于进一步提高所获得的目标码流的准确性。
可选的,确定所需拼接的N个子图像的目标重启动间隔,包括:
针对任一子图像,根据所述子图像沿水平方向的最大水平采样因子和所述子图像的编码块划分信息,确定所述子图像的原始重启动间隔;
计算所述N个子图像的原始重启动间隔的公约数;
从所述公约数中选取大于1的公约数或最大公约数作为所述目标重启动间隔。
由此,按照多个子图像的原始重启动间隔的公约数,如最大公约数确定目标重启动间隔比较简单有效,有利于避免因目标重启动间隔的计算流程过于冗杂而增加硬件设备运算负担的问题发生,并提高目标重启动间隔的计算效率和图像编码效率。
可选的,所述N个子图像的分辨率相同,或者所述N个子图像中的至少两个子图像的分辨率不同。
本发明的第二方面提供一种图像拼接装置,所述装置包括:
确定模块,用于确定所需拼接的N个子图像的目标重启动间隔;所述目标重启动间隔用于所述N个子图像进行图像拼接之前的编码,N为大于或等于2的正整数;
编码器,用于根据所述目标重启动间隔,将所述N个子图像分别编码成对应的压缩码流;
拼接模块,用于根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的全部压缩码流进行拼接,得到所述N个子图像的拼接图对应的目标码流;其中,所述N个子图像至少沿图像宽度方向进行拼接。
由于本发明实施例所提供的装置与本发明所提供的图像拼接方法相对应,故本发明所提供的装置包括所述图像拼接方法的有益技术效果,在此不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
图1是现有技术中多张JPEG图像的编码和拼接方法的流程图;
图2是现有技术中对多张JPEG图像进行拼接的方法的流程图;
图3是现有技术所提供的空间域图像拼接装置拼接多张图像的过程示意图;
图4是本发明根据一示例性实施例示出的一种由若干最小编码单元组成的JPEG图像的结构示意图;
图5是本发明根据一示例性实施例示出的图像编码过程中,若干MCU的编码顺序的示意图;
图6是本发明根据一示例性实施例示出的一种JPEG编码器的结构框图;
图7是本发明根据一示例性实施例示出的一种JPEG解码器的结构框图;
图8是本发明根据一示例性实施例示出的JPEG压缩码流的结构示意图;
图9是一种重启动间隔定义标记段的语法结构示意图;
图10是本发明根据一示例性实施例示出的一种图像拼接方法的流程图;
图11是本发明根据一示例性实施例示出的一种重启动间隔计算过程的流程图;
图12是本发明根据一示例性实施例示出的一种子图像压缩码流拼接过程的流程图;
图13是本发明根据一示例性实施例示出在电子警察抓拍闯红灯对象的应用场景下,各照片在拼接前的示意图;
图14是通过本发明实施例所提供的图像拼接方法对图13所示的多张照片进行拼接后,所生成的完整照片的示意图;
图15是本发明根据一示例性实施例示出在全景图和特写图的应用场景下,各图片在拼接前的示意图;
图16是通过本发明实施例所提供的图像拼接方法对图15所示的多张图片进行拼接后,所得到的图片的示意图;
图17是本发明根据一示例性实施例示出的一种图像拼接装置的结构框图;
图18是本发明根据一示例性实施例示出的图像拼接装置所在电子设备的一种硬件结构图。
具体实施方式
这里将详细对示例性实施例进行说明,其示例表示在附图中,下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。并且,以下示例性实施例中所描述的实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应该限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释为“在……时”或“当……时”或“响应于确定”。
为了使本发明更清楚简洁,以下对本发明所提及的一些技术术语进行解释:
MCU,全称Minimum Coded Unit,即图像编码中的最小编码单元,其包含了被编码的最小数据单元组。一帧图像可以由若干MCU组成,如图4所示,图像J由若干MCU单元,如MCU0,MCU1,……,MCUn组成。在图像编码过程中,所述若干MCU按照从左到右,从上到下的顺序依次被编码,如图5所示。
MCU行,表示图像中,从左往右的完整的一行中的所有MCU。
JPEG编码器,用于对JPEG图像进行编码,一般包括离散余弦变换模块、量化模块和熵编码模块。如图6所示,JPEG编码器对原始图像进行编码时,通过离散余弦变换模块,量化模块和熵编码模块对原始图像进行处理,最终编码得到原始图像的压缩码流。由此可知,对图像进行存储时,存储的是原始图像的压缩码流。
JPEG解码器,用于对JPEG图像的压缩码流进行解码,一般包括熵解码模块、反量化模块和反变换模块。如图7所示,JPEG解码器对JPEG图像的压缩码流进行解码时,通过熵解码模块、反量化模块和反变换模块对压缩码流进行处理,最终解码得到重建后的重建图像。由此可知,当需要展示已经存储的图像时,可以通过JPEG解码器对已被存储的图像对应的压缩码流进行解码,而重建得到对应的图像。
JPEG的压缩码流结构,如图8所示,从图8所示的压缩码流结构的第一层可知,JPEG压缩码流以标记SOI开始,包含一帧的压缩码流数据,且最后以标记EOI结束。从图8所示的压缩码流结构的第二层可知,所述第二层指定了帧以帧头开始,且帧应包含一次或多次扫描。帧头前面可以包含作为前缀的一个或多个表说明或其他标记段。在第一次扫描后,可以选择性地出现DNL标记段,以通过DNL标记段标记本帧图像的高度。从图8所示的压缩码流结构的第三层可知,第三层指定了扫描以扫描头开始,且应包含一个或多个熵编码段。每个扫描头前面可以包含作为前缀的一个或多个表说明或其他标记段。如果不允许扫描重启动,则此时仅包含一个熵编码段,并且不能出现重启动标记,即不应出现所述第三层所示的RST0,…,RSTlast-1等重启动标记。所以,图8所示的压缩码流结构的第三层是允许扫描重启动的,此时包含多个熵编码段,且熵编码段的数目由图像大小和事先定义的重启动间隔决定;在这种情形下,除了最后一个熵编码段外,其他熵编码段后面都应该存在一个重启动标记。其中,由重启动间隔的定义语法决定是否允许扫描重启动。从图8所示的压缩码流的结构的第四层可知,所述第四层指定了每个熵编码段由一个熵编码MCU序列组成,即包括多个MCU。如果允许重启动,且重启动间隔为Ri时,除了最后一个熵编码段外,其他的每个熵编码段都应该包含Ri个MCU。而最后一个熵编码段包含本次扫描所剩下的所有MCU。
SOI,全称Start of Image,用于标记图像开始的一种标记代码,其十六进制的标记代码被赋值为0xFFD8,其中,最高有效位MSB(Most Significant Bit)应该出现在压缩数据的有序字节序列的前面。
EOI,全称End of Image,用于标记图像结束的一种标记代码,其十六进制的标记代码被赋值为0xFFD9,其中,最高有效位MSB应该出现在压缩数据的有序字节序列的前面。
重启动间隔定义标记段,决定了是否允许本次扫描重启动,以及重启动的间隔Ri。所述重启动间隔定义标记段的语法(即前述的重启动间隔的定义语法)的结构如图9所示,图9中所示的DRI、Lr和Ri的含义请见下述说明:
DRI,全称Define Restart Interval,是重启动间隔定义标记段的起始码,用于标识重启动间隔定义段的开始,其十六进制的标记代码被赋值为0xFFDD,其中,最高有效位MSB应该出现在压缩数据的有序字节序列的前面。
Lr,用于指定重启动间隔定义标记段的长度,其值恒等于十六进制数0x0004,其中,最高有效位MSB应该出现在压缩数据的有序字节序列的前面。
Ri,重启动间隔。举一个例子,如果Ri的值为0,则表示接下来的这次扫描不允许重启动;如果Ri的值不为0,则表示接下来的这次扫描允许重启动。另外,当存在多个熵编码段时,除了最后的一个熵编码段外,其他的每个熵编码段都应该包含Ri个MCU。而最后一个熵编码段包含本次扫描所剩下的所有MCU。其中,Ri的取值范围为[0,65535]。
RSTm,重启动标记,这是一个条件标记,仅当重启动编码工具使能时,该标记才放在熵编码段之间。其中,重启动标记RSTm共有8个各不相同的值,即,m=0,1,2,3,4,5,6,7,对应的十六进制标记代码依次为0xFFD0、0xFFD1、0xFFD2、0xFFD3、0xFFD4、0xFFD5、0xFFD6和0xFFD7。对于重启动标记RSTm的各十六进制标记代码,最高有效位MSB应该出现在压缩数据的有序字节序列的前面。在熵编码段的数量达到一定值时,所述重启动标记将循环重复出现,并最终以RSTlast-1结束,即,RST0、RST1、…RST7、RST0、RST1、…RST7、…、RSTlast-1。
以下,对本发明实施例的图像拼接方法进行更具体的描述,但不应以此为限。
本发明实施例提供了一种图像拼接方法,用于对多张JPEG图像的压缩码流直接进行拼接,不需要将多张JPEG图像的压缩码流解码得到空间域的多张重建图像之后,才能进行图像拼接。也就是说,本发明实施例的所述图像拼接方法不需要将多张图像转换成空间域中的YUV或RGB等重建图像,才能完成图像拼接;而是直接基于多张图像的压缩码流进行拼接,就可以得到所述多张图像拼接后的图像的压缩码流,实现图像拼接。具体的,本发明通过根据统一的目标重启动间隔对各子图像进行编码形成对应的压缩码流,并对具有相同的重启动间隔的压缩码流进行熵编码段的拼接,以实现多张子图像的拼接,由此相对于现有技术,省略了对多张子图像的压缩码流进行解码、对解码后得到的所有空间域重建图像进行拼接、和对拼接得到的超大图像进行编码等步骤;从而实现对压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,还可以适用于分辨率不同的多张图像的拼接,具有非常灵活的拼接方式——既可以实现多张子图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求。
所述图像拼接方法可以应用于终端,如图像设备、移动设备、个人助理、平板设备、计算机设备、服务器或与监控场景相关的设备上,可以适用于任意图像的拼接,例如多张JPEG图像的拼接,但不限于JPEG图像。
以下,本发明实施例以JPEG图像的拼接标准为例对所述图像拼接方法进行说明,如图10所示,本发明实施例提供的图像拼接方法包括以下步骤:
S101,确定所需拼接的N个子图像的目标重启动间隔;所述目标重启动间隔用于所述N个子图像进行图像拼接之前的编码,N为大于或等于2的正整数;
S102,根据所述目标重启动间隔,将所述N个子图像分别编码成对应的压缩码流;
S103,根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的全部压缩码流进行拼接,得到所述N个子图像的拼接图对应的目标码流;其中,所述N个子图像至少沿图像宽度方向进行拼接。
在一个例子中,所述N个子图像可以是在连续时间段内或不同时间段内通过摄像模块摄取得到的编码前的多张图像,也可以是以不同的编码方式得到的多个压缩码流被解码后所得的图像。其中,所述N个子图像的分辨率可以都相同,也可以存在至少两个子图像的分辨率不同。
为降低图像拼接的难度和简化图像拼接的运算步骤,本发明实施例中,在存储所述N个子图像之前,先通过事先约定好的编码方式对所述N个子图像进行编码,以使全部子图像对应的压缩码流中的重启动间隔都相同,从而方便后续拼接操作。所述事前约定好的编码方式的步骤请见所述步骤S101和S102。
由此,在获得所需拼接的N个子图像之后,为使得所有子图像被编码后得到的压缩码流具有相同的重启动间隔,可以先确定所述N个子图像的目标重启动间隔。在一实施例中,为简化所述目标重启动间隔的计算流程,以避免因目标重启动间隔的计算流程过于复杂而增加设备运算负担的问题发生,并提高目标重启动间隔的计算效率和图像编码效率,确定所需拼接的N个子图像的目标重启动间隔可以包括:
S1011,针对任一子图像,根据所述子图像沿水平方向的最大水平采样因子和所述子图像的编码块划分信息,确定所述子图像的原始重启动间隔;
S1012,计算所述N个子图像的原始重启动间隔的公约数;
S1013,从所述公约数中选取大于1的公约数或最大公约数作为所述目标重启动间隔。
其中,所述编码块划分信息是指在编码过程中,将图像划分成若干图像块以实现编码时,每个图像块的像素信息;例如,所述图像块可以视为一个最小编码单元MCU,相应地,所述编码块划分信息可以指所述MCU的像素单位。需要说明的是,本发明中的图像块不限于最小编码单元,也可以是其他规模的块。基于上述例子,对所述步骤S1011的理解可以为:针对任一子图像,根据所述最大水平采样因子和所述子图像的分辨率,确定所述子图像中任一行的最小编码单元MCU的数量,并将所述MCU的数量作为该子图像的原始重启动间隔;其中,由于同一子图像中不同MCU行的MCU总数相同,所以只需确定其中一MCU行的MCU的数量即可。对所述步骤S1012的理解可以为:计算所述N个子图像的MCU行的MCU总数的公约数。
以下,举一例子说明一下所述目标重启动间隔的计算过程:
如图11所示,假设共有(n+1)张子图像,这些图像的宽度分别为Wi,高度分别为Hi,其中,i=0,1,2,…,n;Wi和Hi的单位都为像素。在对这(n+1)张子图像进行编码之前,先获取子图像的颜色空间不同分量(包括代表亮度信息的Y分量和代表色差信息的UV分量)的采样因子,并确定水平采样因子的最大值和垂直采样因子的最大值,也即,可以得到最大水平采样因子Hmax和最大垂直采样因子Vmax;Hmax和Vmax的单位都为像素。其中,各子图像所采用的采样因子都相同。
由于JPEG图像进行量化时是以8×8的矩阵进行的,所以得到的每一子图像的最小编码单元MCU的宽为8×Hmax,高为8×Vmax。并由于同一子图像中不同行的MCU的数量都相同,那么根据计算所得的最小编码单元MCU的宽,可以进一步计算得到每一子图像的水平方向上的任一行所包含的MCU个数RI,即,RI=Wi/(8×Hmax),其中,I=0,1,2,…,n。
上述中,除了拼接位置处于最右侧的子图像外,其他子图像都满足以下条件:Wi/(8×Hmax)的值为整数。这么一来,除了拼接位置处于最右侧的子图像以外的其他子图像每行所包含的MCU的个数RI=Wi/(8×Hmax)的值也为整数。对于拼接位置处于最右侧的子图像,如果Wi/(8×Hmax)的值为整数,则其水平方向上每行所包含的MCU的个数RI=Wi/(8×Hmax)的值也为整数;如果Wi/(8×Hmax)的值为非整数,则其水平方向上每行所包含的MCU的个数Ri等于Wi/(8×Hmax)的值取整后加1;其中的取整是指取Wi/(8×Hmax)的值的整数部分。
由此便可计算得到各子图像任一行所包含的MCU的数量,接下来可以根据计算所得的各子图像的任一行的MCU的数量,计算得到所有子图像一行中MCU的数量的公约数,例如,假设3张子图像一行中MCU的数量分别是2、4、8,则这3张子图像一行中的MCU的数量的公约数为1和2。随后就可以将计算所得的公约数1或2作为用于所述N个子图像进行图像拼接之前的编码的目标重启动间隔。
为提高编码效率,在一实施例中,可以将最大公约数作为所述目标重启动间隔。另外,为方便后续描述,将值等于最大公约数的目标重启动间隔标记为Rc。
得到所述目标重启动间隔之后,即可根据所述目标重启动间隔对所述N个子图像进行编码,以生成每个子图像对应的压缩码流。在一实施例中,所述步骤S102,根据所述目标重启动间隔,将所述N个子图像分别编码成对应的压缩码流,包括:
S1021,针对任意一个子图像,根据所述目标重启动间隔,确定所述子图像的熵编码段;
S1022,根据所述熵编码段对所述子图像进行编码,得到所述子图像对应的压缩码流。
由上述可知,由于所述N个子图像的宽度像素可能不同,那么依据相同的目标重启动间隔对所述N个子图像进行编码的过程中,对于宽度像素最小的子图像,其一行所对应的熵编码段的数量为1;对于宽度像素较大的子图像,其一行所对应的熵编码段的数量可以大于1,但为1的整数倍。并且,每个子图像一行所对应的熵编码段的数量会随着所述目标重启动间隔的大小而变化,例如,对于一行有8个MCU的图像,如果所述目标重启动间隔为1,则该图像一行所对应的熵编码段有8个,如果所述目标重启动间隔为8,则该图像一行所对应的熵编码段只有1个。
上述对每个子图像进行编码的过程中,先在扫描头配置重启动间隔定义标记段,以使所述重启动间隔定义标记段的重启动间隔Ri被置为所述目标重启动间隔,从而使能JPEG编码的重启动间隔。假设所述目标重启动间隔的值为R0,则将每个子图像的重启动间隔Ri置为所述目标重启动间隔后,每一子图像在编码时的每个熵编码段都包含R0个MCU。在每相邻两熵编码段之间,都标识有重启动标记RSTm;所述重启动标记RSTm将循环出现,即,RST0、RST1、…RST7、RST0、RST1、…RST7、…、RSTlast-1。其中,除了拼接位置位于最下方的子图像外,其他子图像的高度Hi都为MCU的高度的整数倍。由此,可以得到各子图像的压缩码流。在这一过程中,各子图像的编码过程是相对独立的,且得到的各压缩码流也是相对独立的,互不混淆。
得到各个子图像对应的压缩码流之后,即可根据各个子图像被指定的拼接位置对全部子图像的压缩码流进行拼接得到所述N个子图像的拼接图对应的目标码流。在一实施例中,为保证编码得到的所有压缩码流具有相同的编码结构,以为后续码流拼接提供基础,提高拼接效率,并提高所获得的目标码流的准确性,所述步骤S103,根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的全部压缩码流进行拼接,得到所述N个子图像的拼接图对应的目标码流,包括:
S1031,根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的所有压缩码流中的所有熵编码段进行重排序;
S1032,根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流。
上述中,各个子图像在拼接图中的预定拼接位置可以由用户指定,也可以由系统自行根据默认模板确定。其中,用户可以通过采用终端设备自带的拼接模板指定各子图像的拼接位置,也可以通过自定义的组合拼接方式指定各子图像的拼接位置。例如,在获取各子图像之前,用户可以从设备所保存的拼接模板中选取所需模板,这样在后续拼接中,设备可以根据被选中的模板确定各子图像的预定拼接位置;或者,在获取各子图像之后,用户可以通过一一指定各子图像的拼接顺序,这样在后续拼接中,设备可以根据默认的模板按所述拼接顺序确定各子图像的预定拼接位置。
确定各子图像在拼接图中的预定拼接位置之后,即可根据各子图像的预定拼接位置确定拼接图每一行所对应的熵编码段,并根据从上到下,从左往右的顺序从对应的子图像的压缩码流中依序获取对应的熵编码段,以实现对所有子图像的所有压缩码流中的所有熵编码段的重新排序。
对所有子图像的所有压缩码流中的所有熵编码段进行重新排序后,即可根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流。在一实施例中,为进一步提高所获得的目标码流的准确性,所述步骤S1032,根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流,包括:
S10321,在重新排序后的所有熵编码段中,依序修改每相邻两个熵编码段之间的重启动标记,以使得到的所述目标码流中的重启动标记依序排列;
S10322,根据所述N个子图像在拼接图中的预定拼接位置,确定所述拼接图的实际宽度和实际高度;
S10323,将所述目标码流的帧头信息中用于表示图像宽度和图像高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。
如图12所示,以下简单概括一下基于所述N个子图像对应的全部压缩码流,生成所述N个子图像的拼接图对应的目标码流的过程:
1)首先,对所有熵编码段重新排序:根据每一子图像在所需拼接形成的拼接图中的预定拼接位置,对所有子图像的压缩码流的所有熵编码段依序排序,从而获得所有子图像的所有压缩码流的所有熵编码段的拼接顺序。
2)其次,对所有熵编码段进行拼接:取出对应于所需拼接形成的拼接图中左上角位置的子图像(后文简称第一子图像)对应的压缩码流(后文简称第一压缩码流)。由于所述第一子图像位于所述拼接图中的左上角位置,所以所述第一子图像的第一行上的MCU在所述第一压缩码流中对应的熵编码段,必然是所述拼接图对应的目标码流中排在最前面的熵编码段。由此,可以根据上述1)中所得到的拼接排序,依序从各子图像的压缩码流中获取对应的熵编码段的码流数据,并依序对获得的码流数据进行拼接,直至拼接完所有熵编码段,以得到目标码流。
3)接着,更新/修改所有重启动标记:通过上述2)得到目标码流后,对所述目标码流中每相邻两个熵编码段之间的重启动标记进行更新操作,也即,依照所述目标码流中所有熵编码段排列的先后顺序,将每相邻两个熵编码段之间的重启动标记依序更新为,RST0、RST1、…RST7、RST0、RST1、…RST7、…、RSTlast-1,即8个重启动标记依次出现并循环重复,但最后一个重启动标记必须要以RSTlast-1标记,以表示结束。由此得到重启动标记修改后的目标码流。
4)最后,修改帧头信息:对所述目标码流的重启动标记进行修改后,进一步修改所述重启动标记修改后的目标码流的帧头信息。具体地,根据所有子图像的实际宽度、实际高度和拼接位置,可以计算得到所述拼接图的实际宽度和实际高度。这样一来,就可以根据所述拼接图的实际宽度和实际高度,将所述重启动标记修改后的目标码流的帧头信息中用于表示图像宽度和高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。从而得到所述拼接图的JPEG压缩码流。
这么一来,在后续需要显示所有子图像拼接形成的拼接图时,只需对所述JPEG压缩码流进行解码操作,并展示解码后的图像即可。基于此,对于同时具备解码功能和编码功能的设备来说,本发明实施例所提供的所述方法还可以包括:
S104,收到用于触发所述拼接图显示的指令时,对所述目标码流进行解码,并展示解码后的拼接图。
对于只具备编码功能的设备来说,要实现对拼接图的展示,可以通过物理接线或网络通信的方式将所述目标码流发送到具有解码功能的设备。基于此,本发明实施例所提供的所述方法可以包括:S105,向解码端发送所述目标码流,以使所述解码端对所述目标码流进行解码得到所述目标码流对应的拼接图。
以下,举例说明一下本发明实施例所提供的图像拼接方法的实际应用场景,但本发明实施例所提供的图像拼接方法并不限于以下应用场景:
在一个例子中,本发明实施例所提供的图像拼接方法可以应用于电子警察抓拍闯红灯对象的场景,如下:
在交通行业的视频监控应用领域中,一般需要借助电子警察所拍下的其中四张照片才能判断车辆是否发生闯红灯行为。所述四张照片中,第一张照片一般显示车辆驶过停止线的场景,第二张照片一般显示车辆行驶在路口中央的场景,第三张照片一般显示车辆到达路口对面的场景,第四张照片一般是清晰记录车辆车牌信息的特写放大照片。由于这四张照片是不同时刻生成的,那么需要依次在不同时刻对这四张照进行编码,而无法先拼接好这四张图像再进行编码。但是,在后续的照片存档中,一般需要将这四张照片进行拼接以合并为一个拼接图的JPEG压缩码流文件,从而方便后期查档时的查看。在这种情况下,一般需要以“田字形”的拼接方式对这四张照片进行拼接。
为便于说明,在本例中,假设所述四张照片的分辨率都为1920×1088,MCU的大小为16×16,由此可知,每张照片一行共有120(即1920÷16)个MCU。这么一来,可以通过所述步骤S1011~S1013,计算得到所有照片任一行的MCU的数量的最大公约数为120,此时,每张照片的一个重启动间隔(即一个熵编码段)都是由一行MCU组成,也即,每张照片的每一行对应的熵编码段的总数为1。因此对每张照片进行编码后得到的每张照片的压缩码流都有68(即1088÷16)个熵编码段,如图13所示,此时,每张照片的压缩码流都是相互独立的。在获得每张照片的压缩码流后,对所有压缩码流的熵编码段进行重新排序、依序更新所述目标码流中每相邻两个熵编码段之间的重启动标记和修改所述目标码流的帧头信息,以得到最终拼接完成的目标码流,与现有技术相比,本发明实施例将4张图像在拼接编码时的重启动间隔调整为相同,可以统一进行编码,能同时实现宽度方向和高度方向的拼接。如图14所示,此时,所述四张照片的熵编码段被组合在一起,拼接形成一个拼接图。
在另一个例子中,本发明实施例所提供的图像拼接方法还可以应用于全景+特写的场景,如下:
目前,在视频监控、无人机等领域出现了越来越多的全景摄像机。这些全景摄像机往往具有变焦、变倍的功能,所述全景摄像机可以对场景进行全景拍摄,也可以对跟踪的目标进行特写,也即,可以以多种视角、多种分辨率呈现监控场景。
例如,摄像机在全景抓拍时采用4K分辨率,假设所获取的全景图的分辨率为3840×2176;另外,摄像机还以1920×1088分辨率对5个特定跟踪目标进行特写抓拍,从而获得得到分辨率都为1920×1088的5张特写图。此时,对这6张图片进行的拼接可参见图15和图16,其中,通过本发明实施例所提供的图像拼接方法,计算得到用于图像编码的目标重启动间隔可以为120。基于此,全景图每行对应的熵编码段的总数为2(即3840÷16÷120),一张全景图对应的熵编码段共有272(即2176÷16×2)个。每一特写图每行对应的熵编码段的总数为1,每一特写图对应的熵编码段共有68个。由此,全景图和5张特写图对应的熵编码段一共有612个,这些熵编码段在图像拼接时,按照拼接位置和编码顺序进行重排序后进行编码,生成拼接图对应的目标码流,与现有技术相比,本发明实施例将全景图和特写图的重启动间隔调整为相同,可以统一进行编码,能同时实现宽度方向和高度方向的拼接。经过本发明实施例所提供的方法对全景图和5张特写图进行图像拼接后,所述612个熵编码段被组合在一起,形成一个拼接图,如图16所示。
由上述可知,本发明不仅可以适用于分辨率不同的多张图像的拼接,而且对多张子图像的拼接方式灵活,既可以实现多张子图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接。
需要说明的是,在上述两个应用示例中,为了提高编码效率,都将所述目标重启动间隔设置为所有子图像一行的MUC数量的最大公约数,但在其他实施例中,可以不选取最大公约数作为所述目标重启动间隔,基于此,每个图像一行所对应的熵编码段的数量也会发生变化。
与前述图像拼接方法的实施例相对应,本发明实施例还提供一种图像拼接装置。所述装置可以应用在图像设备、移动设备、个人助理、平板设备、计算机设备、服务器或与监控场景相关的设备上。
如图17所示,图17是本发明根据一示例性实施例示出的一种图像拼接装置的结构框图,本发明实施例的图像拼接装置100包括:
确定模块101,用于确定所需拼接的N个子图像的目标重启动间隔;所述目标重启动间隔用于所述N个子图像进行图像拼接之前的编码,N为大于或等于2的正整数;
编码器102,用于根据所述目标重启动间隔,将所述N个子图像分别编码成对应的压缩码流;
拼接模块103,用于根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的全部压缩码流进行拼接,得到所述N个子图像的拼接图对应的目标码流;其中,所述N个子图像至少沿图像宽度方向进行拼接。
在一实施例中,所述编码器102包括:
编码单元,用于针对任意一个子图像,根据所述目标重启动间隔,确定所述子图像的熵编码段;根据所述熵编码段对所述子图像进行编码,得到所述子图像对应的压缩码流;
所述拼接模块包括:
排序单元,用于根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的所有压缩码流中的所有熵编码段进行重排序;
拼接单元,用于根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流。
在一实施例中,所述拼接单元包括:
第一修改子单元,用于在重新排序后的所有熵编码段中,依序修改每相邻两个熵编码段之间的重启动标记,以使得到的所述目标码流中的重启动标记依序排列。
在一实施例中,所述拼接单元还包括:
确定子单元,用于根据所述N个子图像在拼接图中的预定拼接位置,确定所述拼接图的实际宽度和实际高度;
第二修改子单元,将经过第一修改子单元处理后得到的目标码流的帧头信息中用于表示图像宽度和图像高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。
在一实施例中,所述确定模块101包括:
确定单元,用于针对任一子图像,根据所述子图像沿水平方向的最大水平采样因子和所述子图像的编码块划分信息,确定所述子图像的原始重启动间隔;
计算单元,用于计算所述N个子图像的原始重启动间隔的公约数;
选取单元,用于从所述公约数中选取大于1的公约数或最大公约数作为所述目标重启动间隔。
在一实施例中,所述N个子图像的分辨率相同,或者所述N个子图像中的至少两个子图像的分辨率不同。
在一实施例中,所述装置还可以包括:
解码器,用于在收到用于触发所述拼接图显示的指令时,对所述目标码流进行解码,并展示解码后的拼接图。
在另一实施例中,所述装置还可以包括:
发送模块,用于向解码端发送所述目标码流,以使所述解码端对所述目标码流进行解码得到所述目标码流对应的拼接图。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
上述各个实施例中所提供的图像拼接装置至少包括以下有益技术效果:
本发明实施例的图像拼接装置通过直接对多张子图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张子图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的超大图像进行编码等步骤;从而实现对压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张子图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求。
与前述图像拼接方法的实施例相对应,本发明实施例还提供了一种电子设备,所述电子设备包括:
处理器;
存储器,用于存储可由所述处理器执行的计算机程序;
其中,所述处理器执行所述程序时实现前述任一方法实施例中的所述图像拼接方法的步骤。
本发明所提供的图像拼接装置的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图18所示,图18是本发明根据一示例性实施例示出的图像拼接装置所在电子设备的一种硬件结构图,除了图18所示的处理器510、内存530、接口520、以及非易失性存储器540之外,本实施例中图像拼接装置100所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
由于本发明实施例所提供的上述电子设备与前述任一实施例中的图像拼接方法对应,因此,本发明实施例的电子设备也至少包括以下有益技术效果:
本发明实施例的电子设备通过直接对多张子图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张子图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的超大图像进行编码等步骤;从而实现对压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求。
与前述图像拼接方法的实施例相对应,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一方法实施例中的图像拼接方法的步骤。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
由于本发明实施例所提供的上述计算机可读存储介质与前述任一实施例中的图像拼接方法对应,因此,本发明实施例的计算机可读存储介质也至少包括以下有益技术效果:
本发明实施例的计算机可读存储介质通过直接对多张子图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张子图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的超大图像进行编码等步骤;从而实现对压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种图像拼接方法,其特征在于,该方法包括:
针对任一子图像,根据所述子图像沿水平方向的最大水平采样因子和所述子图像的编码块划分信息,确定所述子图像的原始重启动间隔;
计算N个子图像的原始重启动间隔的公约数;从所述公约数中选取大于1的公约数或最大公约数作为目标重启动间隔;所述N为大于或等于2的正整数;
针对任意一个子图像,根据所述目标重启动间隔,确定所述子图像的熵编码段;根据所述熵编码段对所述子图像进行编码,得到所述子图像对应的压缩码流;
根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的所有压缩码流中的所有熵编码段进行重排序;
根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流;其中,所述N个子图像至少沿图像宽度方向进行拼接。
2.根据权利要求1所述的方法,其特征在于,根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流,包括:
在重新排序后的所有熵编码段中,依序修改每相邻两个熵编码段之间的重启动标记,以使得到的所述目标码流中的重启动标记依序排列。
3.根据权利要求2所述的方法,其特征在于,根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流,还包括:
根据所述N个子图像在拼接图中的预定拼接位置,确定所述拼接图的实际宽度和实际高度;
将所述目标码流的帧头信息中用于表示图像宽度和图像高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。
4.根据权利要求1所述的方法,其特征在于,所述N个子图像的分辨率相同,或者所述N个子图像中的至少两个子图像的分辨率不同。
5.一种图像拼接装置,其特征在于,该装置包括:
确定模块,用于针对任一子图像,根据所述子图像沿水平方向的最大水平采样因子和所述子图像的编码块划分信息,确定所述子图像的原始重启动间隔;计算N个子图像的原始重启动间隔的公约数;从所述公约数中选取大于1的公约数或最大公约数作为目标重启动间隔;所述N为大于或等于2的正整数;
编码器,用于针对任意一个子图像,根据所述目标重启动间隔,确定所述子图像的熵编码段;根据所述熵编码段对所述子图像进行编码,得到所述子图像对应的压缩码流;
拼接模块,包括排序单元和拼接单元,所述排序单元用于根据所述N个子图像在拼接图中的预定拼接位置,对所述N个子图像对应的所有压缩码流中的所有熵编码段进行重排序;所述拼接单元用于根据重新排序后的所有熵编码段,得到所述N个子图像的拼接图对应的目标码流;其中,所述N个子图像至少沿图像宽度方向进行拼接。
6.根据权利要求5所述的装置,其特征在于,所述拼接单元包括:
第一修改子单元,用于在重新排序后的所有熵编码段中,依序修改每相邻两个熵编码段之间的重启动标记,以使得到的所述目标码流中的重启动标记依序排列。
7.根据权利要求6所述的装置,其特征在于,所述拼接单元还包括:
确定子单元,用于根据所述N个子图像在拼接图中的预定拼接位置,确定所述拼接图的实际宽度和实际高度;
第二修改子单元,将经过第一修改子单元处理后得到的目标码流的帧头信息中用于表示图像宽度和图像高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。
8.根据权利要求5所述的装置,其特征在于,所述N个子图像的分辨率相同,或者所述N个子图像中的至少两个子图像的分辨率不同。
CN201910100751.3A 2019-01-31 2019-01-31 图像拼接方法和装置 Active CN111510717B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910100751.3A CN111510717B (zh) 2019-01-31 2019-01-31 图像拼接方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910100751.3A CN111510717B (zh) 2019-01-31 2019-01-31 图像拼接方法和装置

Publications (2)

Publication Number Publication Date
CN111510717A CN111510717A (zh) 2020-08-07
CN111510717B true CN111510717B (zh) 2022-04-26

Family

ID=71877308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910100751.3A Active CN111510717B (zh) 2019-01-31 2019-01-31 图像拼接方法和装置

Country Status (1)

Country Link
CN (1) CN111510717B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014964B (zh) * 2021-03-04 2023-04-28 深圳市东微智能科技股份有限公司 拼接墙回显码流的生成方法、装置、系统及可读存储介质
CN113659993B (zh) * 2021-08-17 2022-06-17 深圳市康立生物医疗有限公司 免疫批次数据处理方法、装置、终端及可读存储介质
CN117333492B (zh) * 2023-12-01 2024-03-15 深圳菲尔泰光电有限公司 基于图像处理的光学薄膜质量检测方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562706A (zh) * 2009-05-22 2009-10-21 杭州华三通信技术有限公司 一种图像拼接方法和设备
CN103067712A (zh) * 2012-12-31 2013-04-24 北京石竹科技股份有限公司 一种jpeg2000图像的非解码拼接方法
CN103179401A (zh) * 2013-03-19 2013-06-26 燕山大学 多智能体协同视频采集与图像信息拼接处理方法及装置
CN104159063A (zh) * 2013-05-14 2014-11-19 杭州海康威视数字技术股份有限公司 实时转码、解码方法及其装置
CN104243920A (zh) * 2014-09-04 2014-12-24 浙江宇视科技有限公司 一种基于基本流视频数据封装的图像拼接方法及装置
CN105190688A (zh) * 2013-02-14 2015-12-23 快图有限公司 用于查看图像的方法和装置
CN105223767A (zh) * 2015-09-25 2016-01-06 凌云光技术集团有限责任公司 一种5目全景成像系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007104519A (ja) * 2005-10-07 2007-04-19 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号化装置、画像符号化方法および画像復号化方法
US7602974B2 (en) * 2005-10-21 2009-10-13 Mobilic Technology (Cayman) Corp. Universal fixed-pixel-size ISP scheme
KR101196409B1 (ko) * 2010-12-20 2012-11-05 삼성전자주식회사 제이펙 파일 생성 방법 및 장치
US20120300020A1 (en) * 2011-05-27 2012-11-29 Qualcomm Incorporated Real-time self-localization from panoramic images
CN103489170B (zh) * 2013-09-05 2017-01-11 浙江宇视科技有限公司 一种jpeg图片合成、叠加osd信息方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562706A (zh) * 2009-05-22 2009-10-21 杭州华三通信技术有限公司 一种图像拼接方法和设备
CN103067712A (zh) * 2012-12-31 2013-04-24 北京石竹科技股份有限公司 一种jpeg2000图像的非解码拼接方法
CN105190688A (zh) * 2013-02-14 2015-12-23 快图有限公司 用于查看图像的方法和装置
CN103179401A (zh) * 2013-03-19 2013-06-26 燕山大学 多智能体协同视频采集与图像信息拼接处理方法及装置
CN104159063A (zh) * 2013-05-14 2014-11-19 杭州海康威视数字技术股份有限公司 实时转码、解码方法及其装置
CN104243920A (zh) * 2014-09-04 2014-12-24 浙江宇视科技有限公司 一种基于基本流视频数据封装的图像拼接方法及装置
CN105223767A (zh) * 2015-09-25 2016-01-06 凌云光技术集团有限责任公司 一种5目全景成像系统及方法

Also Published As

Publication number Publication date
CN111510717A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US7742644B2 (en) Processing of images in imaging systems
CN110677672A (zh) 用于对具有叠加的视频进行编码的方法和系统
CN111510717B (zh) 图像拼接方法和装置
KR102243120B1 (ko) 인코딩 방법 및 장치 및 디코딩 방법 및 장치
CN111510731B (zh) 交通图像的拼接系统及方法
JP4895400B2 (ja) 画像フレームの非フレームエッジブロックの表現における改良された圧縮
CN104581177B (zh) 一种结合块匹配和串匹配的图像压缩方法和装置
CN110121065B (zh) 空间排序视频编码应用中的多向图像处理
US10848771B2 (en) Encoding and decoding a video signal
KR20120016078A (ko) 이미지를 회전시키기 위한 장치 및 방법
US8514254B2 (en) Apparatus and method for processing digital images
CN111510643B (zh) 全景图和特写图的拼接系统及方法
US8306346B2 (en) Static image compression method and non-transitory computer readable medium having a file with a data structure
CN116250238A (zh) 用于对场景的一幅或多幅视图进行编码和解码的方法和装置
US20210105488A1 (en) Encoding and decoding a video
CN113037947B (zh) 一种连续动态图像中空间信息的编码方法
CN112313958A (zh) 用于编码和解码视频信号的装置和方法
TWI454150B (zh) 影像檔案的處理方法
US8428355B2 (en) Image file processing method
CN105828080B (zh) 图像编解码方法及装置
JP4594163B2 (ja) 画像符号化方法、及び画像符号化装置
JP2006333299A (ja) 符号化装置および符号化方法並びに画像形成装置
RU2628198C1 (ru) Способ межканального предсказания и межканальной реконструкции для многоканального видео, снятого устройствами с различными углами зрения
KR100808501B1 (ko) 제이펙 파일을 분할 디코딩하는 이미지 처리 장치, 프로세서 및 이의 제어 방법과 그 방법을 수행하는 프로그램이 기록된 기록매체
CN111034199A (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