CN111510643A - 全景图和特写图的拼接系统及方法 - Google Patents

全景图和特写图的拼接系统及方法 Download PDF

Info

Publication number
CN111510643A
CN111510643A CN201910100817.9A CN201910100817A CN111510643A CN 111510643 A CN111510643 A CN 111510643A CN 201910100817 A CN201910100817 A CN 201910100817A CN 111510643 A CN111510643 A CN 111510643A
Authority
CN
China
Prior art keywords
image
close
splicing
panoramic
compressed code
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
Application number
CN201910100817.9A
Other languages
English (en)
Other versions
CN111510643B (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 CN201910100817.9A priority Critical patent/CN111510643B/zh
Publication of CN111510643A publication Critical patent/CN111510643A/zh
Application granted granted Critical
Publication of CN111510643B publication Critical patent/CN111510643B/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/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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/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
    • 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/2624Studio 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 for obtaining an image which is composed of whole input images, e.g. splitscreen

Abstract

本发明提供一种全景图和特写图的拼接系统及方法,其中的系统包括:拼接装置,用于对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿图像宽度方向进行拼接所得的拼接图的目标码流;并向显示装置传输所述目标码流;显示装置,用于接收所述拼接装置传输的所述目标码流,根据所述目标码流显示所述拼接图。从而省略对多张图像的压缩码流进行解码、对解码后得到的所有空间域重建图像进行拼接、和对拼接得到的拼接图进行编码等步骤,有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率。

Description

全景图和特写图的拼接系统及方法
技术领域
本发明涉及图像处理技术领域,特别涉及一种全景图和特写图的拼接系统及方法。
背景技术
随着图像处理技术的发展及用户对图像清晰度越来越高的需求,目前的图像传感器所采集的图像的分辨率也越来越高。但由于图像所占用的存储空间和传输时所需的传输量与图像的分辨率正相关,故为降低存储成本和传输成本,有必要对图像数据进行压缩,即进行编码处理,以减少图像的存储量和传输量。相应地,在需要查看图像时,要对图像编码后的数据(即压缩码流)进行解码,才能显示图像画面。
其中,会出现将多张图像分别存储,并在存储后需要将多张图像拼接成一幅超大图像的情况,例如,将一个全景图和多个特写图进行拼接得到一幅超大图像。对于此,都是分别对多张图像进行编码存储,并在需要显示所述超大图像时,再对多张图像进行拼接,其中的编码和拼接过程可以参见图1。如图2和图3所示,目前,将多张JPEG图像进行拼接的方法一般包括:首先,通过JPEG解码器对多张图像的压缩码流进行解码,解码出各图像在空间域的重建图像;然后,通过空间域图像拼接装置将所有重建图像进行拼接,得到一幅超大图像;最后,通过JPEG编码器对所述超大图像进行编码,以生成所述超大图像对应的压缩码流。从而实现在后续需再次查看所述超大图像时,不需要再经过拼接处理,而是直接通过JPEG解码器对所述超大图像对应的压缩码流进行解码。
发明人在实施上述拼接方案时,发现了上述拼接方案所存在的以下缺陷:
必须先对多张图像的压缩码流一一解码,转换成空间域的YUV或RGB等重建图像后,才能将所有重建图像拼接成超大图像。其中,为了方便对所述超大图像的查看或存储,还需要对拼接生成的所述超大图像进行编码形成对应的压缩码流。因此,在目前的多张JPEG图像的拼接过程中,无论是解码、编码,还是空间域图像的拼接,都需要消耗硬件设备较多的内存和运算资源,并增大硬件设备的功耗和运算时间,给硬件设备带来较大负担。而且,所述负担会随着图像的分辨率的提高而增加。
发明内容
有鉴于此,本发明提供一种全景图和特写图的拼接系统及方法。
本发明的第一方面提供一种全景图和特写图的拼接系统,所述系统包括:
拼接装置,用于对所需拼接的至少一个全景图对应的压缩码流和至少一个特写图的压缩码流进行拼接,以得到至少沿图像宽度方向进行拼接所得的拼接图的目标压缩码流;并向显示装置传输所述目标码流;所述全景图和所述特写图各自的压缩码流按照相同的重启动间隔编码得到;
所述显示装置,用于接收所述拼接装置传输的所述目标码流,根据所述目标码流显示所述拼接图。
由此,本发明实施例通过直接对具有相同的重启动间隔的多张图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的拼接图进行编码等步骤;从而实现对多个压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,相对于现有技术只能沿图像高度方向对分辨率相同的多张图像进行拼接的方式,本发明实施例还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求。
可选的,所述拼接图中,所述全景图和所述特写图的相对位置包括以下任一:
所述全景图和所述特写图沿拼接图宽度方向排列;
所述全景图和所述特写图沿拼接图高度方向排列;
所述全景图被所述特写图包围;
所述全景图位于所述拼接图的角落区域,所述特写图位于所述拼接图中除所述角落区域以外的其它区域;所述角落区域用于指示以下至少之一:拼接图中的左上角区域、右上角区域、左下角区域、右下角区域。
由此可知,本发明实施例可以实现全景图和拼接图的多种位置的拼接,可以满足多种拼接需求。
可选的,所述系统还包括第一图像采集装置,所述第一图像采集装置包括图像采集单元和所述拼接装置;
所述图像采集单元,用于根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并向所述拼接装置传输编码前的全景图和特写图;
所述拼接装置,用于接收所述图像采集单元传输的所述编码前的全景图和特写图,并按照相同的重启动间隔对所述编码前的全景图和特写图进行编码,将编码得到的全部压缩码流进行拼接,以得到所述目标码流。
由此,本发明实施例通过预先以相同的重启动间隔对全景图和特写图进行编码,保证全景图和特写图的压缩码流都具备相同的重启动间隔,有利于方便拼接操作和提高拼接效率。
可选的,所述系统还包括第二图像采集装置,所述第二图像采集装置不包括所述拼接装置;所述第二图像采集装置,用于根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并向所述拼接装置传输所述全景图和所述特写图的初始压缩码流;和/或
所述系统还包括第一图像获取装置;所述第一图像获取装置,用于根据用户输入的图像获取指令从本地存储装置中获取所需拼接的至少一个全景图和至少一个特写图,并向所述拼接装置传输所述全景图和所述特写图的初始压缩码流;和/或
所述系统还包括第二图像获取装置;所述第二图像获取装置,用于根据用户输入的图像获取指令通过通信网络获取所需拼接的至少一个全景图和至少一个特写图,并向所述拼接装置传输所述全景图和所述特写图的初始压缩码流。
由此,本发明实施例通过提供第二图像采集装置、第一图像获取装置、和/或第二图像获取装置,实现用户可以通过多种途径获取所需拼接的图像,方便用户获取图像的操作。
可选的,所述拼接装置,还用于接收由所述第一图像获取装置或所述第二图像获取装置或所述第二图像采集装置传输的所述全景图和所述特写图的初始压缩码流,并在所述全景图和所述特写图的初始压缩码流的重启动间隔相同的前提下,对收到的全部初始压缩码流进行拼接,以得到所述目标码流。
可选的,所述拼接装置,还用于接收由所述第一图像获取装置或所述第二图像获取装置或所述第二图像采集装置传输的所述全景图和所述特写图的初始压缩码流,并在所述全景图和所述特写图的初始压缩码流的重启动间隔不相同的前提下,对收到的全部初始压缩码流进行解码,以得到解码后的全景图和特写图,并按照相同的重启动间隔对所述解码后的全景图和特写图进行编码,将编码后得到的全部压缩码流进行拼接,以得到所述目标码流。
由此,在所需拼接的压缩码流中存在重启动间隔不同的压缩码流时,本发明实施例通过所述拼接装置将所有压缩码流都调整为具有重启动间隔相同的压缩码流,可以解决重启动间隔不同的压缩码流的拼接问题,从而实现重启动间隔不同的压缩码流被调整后也可以进行拼接,保证拼接操作的正常进行。
可选的,所述拼接装置,用于根据全景图和所述特写图在拼接图中的预定拼接位置,对所述全景图和所述特写图对应的所有压缩码流中的所有熵编码段进行重排序;根据重新排序后的所有熵编码段,得到所述全景图和所述特写图的拼接图对应的目标码流。
由此,本发明实施例通过所述拼接装置根据各个图像被指定的拼接位置确定的编码顺序对各个图像压缩码流中对应的码流数据依序进行拼接得到目标码流,可实现全景图和特写图沿宽度方向进行拼接,还可以降低不同分辨率图像进行图像拼接时的复杂度和难度,并有利于降低拼接装置的实现难度。
可选的,所述显示装置,还用于在所述拼接装置对所述全景图和所述特写图进行拼接之前,显示拼接设定区域,以使用户通过所述拼接设定区域预定所述全景图和所述特写图的拼接位置;
所述拼接装置,还用于检测所述拼接设定区域的输入信息,并根据所述输入信息确定所述全景图和所述特写图的拼接位置。
由此,本发明实施例通过为用户提供拼接设定区域,方便用户可以依需设定全景图和特写图的拼接位置,满足用户更多的拼接需求,并通过所述拼接装置根据拼接设定区域的输入信息来确定所述全景图和所述特写图的拼接位置,可以提高拼接装置对预定拼接位置的获取效率。
本发明的第二方面提供一种全景图和特写图的拼接方法,所述方法包括:
对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿图像宽度方向进行拼接所得的拼接图的目标码流;所述全景图和所述特写图各自的压缩码流按照相同的重启动间隔编码得到;
根据所述目标码流显示所述拼接图。
由于本发明实施例所提供的全景图和特写图的拼接方法与本发明所提供的全景图和特写图的拼接系统相对应,故本发明所提供的方法包括所述全景图和特写图的拼接系统的有益技术效果,在此不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
图1是现有技术中多张JPEG图像的编码和拼接方法的流程图;
图2是现有技术中对多张JPEG图像进行拼接的方法的流程图;
图3是现有技术所提供的空间域图像拼接装置拼接多张图像的过程示意图;
图4是本发明根据一示例性实施例示出的一种由若干最小编码单元组成的JPEG图像的结构示意图;
图5是本发明根据一示例性实施例示出的图像编码过程中,若干MCU的编码顺序的示意图;
图6是本发明根据一示例性实施例示出的一种JPEG编码器的结构框图;
图7是本发明根据一示例性实施例示出的一种JPEG解码器的结构框图;
图8是本发明根据一示例性实施例示出的JPEG压缩码流的结构示意图;
图9是一种重启动间隔定义标记段的语法结构示意图;
图10是本发明根据一示例性实施例示出的一种全景图和特写图的拼接系统的结构框图;
图11是本发明根据一示例性实施例示出的一种全景图和特写图的拼接系统的结构框图;
图12是本发明根据一示例性实施例示出的另一种全景图和特写图的拼接系统的结构框图;
图13是本发明根据一示例性实施例示出的一种重启动间隔计算过程的流程图;
图14是本发明根据一示例性实施例示出的多个压缩码流的拼接过程的流程图;
图15是本发明根据一示例性实施例示出的在全景图和特写图的应用场景下,各图片在拼接前所对应的熵编码段的结构示意图;
图16是通过本发明实施例所提供的全景图和特写图的拼接系统对图15所示的多个图片的所有熵编码段进行拼接后,得到的拼接图所对应的熵编码段的结构示意图;
图17是本发明根据一示例性实施例示出的将一个全景图和多个特写图进行拼接之后,得到的拼接图的效果图。
图18是本发明根据一示例性实施例示出的一种全景图和特写图的拼接方法的流程图;
图19是本发明根据一示例性实施例示出的电子设备的一种硬件结构图。
具体实施方式
这里将详细对示例性实施例进行说明,其示例表示在附图中,下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。并且,以下示例性实施例中所描述的实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应该限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释为“在……时”或“当……时”或“响应于确定”。
为了使本发明更清楚简洁,以下对本发明所提及的一些技术术语进行解释:
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所示,本发明实施例提供的全景图和特写图的拼接系统100包括拼接装置101和显示装置102。
所述拼接装置101,用于对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿图像宽度方向进行拼接所得的拼接图的目标码流;并向所述显示装置102传输所述目标码流;所述全景图和所述特写图各自的压缩码流按照相同的重启动间隔编码得到。
所述显示装置102,用于接收所述拼接装置101传输的所述目标码流,根据所述目标码流显示所述拼接图。
当用户需要对全景图和特写图进行拼接时,可以将实时抓拍或所述系统的本地存储装置存储的或通过网络下载的全景图和特写图传输到所述拼接装置101,以使所述拼接装置101对收到的全景图和特写图的压缩码流进行拼接,以得到全景图和特写图的拼接图的目标码流。其中,所述全景图和特写图中的所有图像的分辨率可以都相同,也可以存在至少两个图像的分辨率不同。
本发明中的特写图可以是对全景图中某个局部区域进行放大之后的图像,也可以是针对全景图像中某个区域采集的局部高清图像,也可以是其他需求的特写图像。
在一方面,为实现对所述全景图和所述特写图的实时抓拍,可以在采集图像之后直接以相同的重启动间隔对图像进行编码,以方便拼接操作和提高拼接效率,基于此,在一实施例中,如图11所示,所述系统还可以包括第一图像采集装置,所述第一图像采集装置可以包括图像采集单元111和所述拼接装置101。
所述图像采集单元111,用于根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并向所述拼接装置101传输编码前的全景图和特写图。
基于此,所述拼接装置101,还用于接收所述图像采集单元111传输的所述编码前的全景图和特写图,并按照相同的重启动间隔对所述编码前的全景图和特写图进行编码,将编码得到的全部压缩码流进行拼接,以得到所述目标码流。
由上述可知,所述图像采集单元111不具备编码功能,所述拼接装置101具备编码功能,因此,所述图像采集单元111可以将采集到的全景图和特写图传输给所述拼接装置101,由拼接装置101按照相同的重启动间隔对所述全景图和所述特写图进行编码,并对编码后得到的压缩码流进行拼接。
在另一方面,所述拼接装置101可以不属于图像采集装置的一部分,例如,在另一实施例中,如图12所示,所述系统还可以包括第二图像采集装置121,所述第二图像采集装置121不包括所述拼接装置101。所述第二图像采集装置121,用于根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并向所述拼接装置101传输所述全景图和所述特写图的初始压缩码流。对此可以理解为:第二图像采集装置121具有图像采集和图像编码的功能,其不包含所述拼接装置101,但其可以将采集到的图像被编码后得到的初始压缩码流传输给所述拼接装置101,以由所述拼接装置101基于收到的全部初始压缩码流拼接得到所述目标码流。
为实现从所述本地存储装置获取所述全景图和所述特写图,在一实施例中,所述系统还可以包括第一图像获取装置;所述第一图像获取装置,用于根据用户输入的图像获取指令从本地存储装置中获取所需拼接的至少一个全景图和至少一个特写图,并向所述拼接装置101传输所述全景图和所述特写图的初始压缩码流。其中,所述本地存储装置用于存储系统所保存的各种图像的初始压缩码流。对此可以理解为:通过第一图像采集装置或第二图像采集装置121采集所需拼接的图像之后,先不对采集后的图像进行拼接,而是在保存图像之后,用户可以通过浏览相册或磁盘对图像进行筛选,例如,选取拍摄质量较高的图像或所需的特定场景的图像,并向所述拼接装置101传输,以由所述拼接装置101对用户从本地存储装置中选定的图像进行拼接。
为实现通过网络下载得到全景图和特写图,为用户提供更多的图像获取途径,在一实施例中,所述系统还可以包括第二图像获取装置;所述第二图像获取装置,用于根据用户输入的图像获取指令通过通信网络获取所需拼接的至少一个全景图和至少一个特写图,并向所述拼接装置101传输所述全景图和所述特写图的初始压缩码流。对此可以理解为:用户可以通过以上网的方式,从网络获取所需拼接的图像,并将从网络获得的图像向所述拼接装置101传输,以由所述拼接装置101完成图像拼接操作。
需要说明的是,上述各个实施例中,所述系统可以同时包括所述第一图像采集装置、所述第二图像采集装置121、所述第一图像获取装置和所述第二图像获取装置,也可以只包括其中的一个、或其中的两个或三个。但在一实施例中,为简化图像采集装置的结构和进一步提高图像拼接的效率,所述系统在包括所述第一图像采集装置时,不包括所述第二图像采集装置121。
由于通过所述第二图像采集装置121、所述第一图像获取装置或所述第二图像获取装置得到的全景图和特写图中所有图像的重启动间隔不一定相同,故可能会对拼接装置101的拼接操作造成一定的难度,基于此,有必要解决对重启动间隔不同的压缩码流的拼接问题,以保证拼接操作的正常进行,在一实施例中,所述拼接装置101,还用于接收由所述第一图像获取装置或所述第二图像获取装置或所述第二图像采集装置121传输的所述全景图和所述特写图的初始压缩码流,并在所述全景图和所述特写图的初始压缩码流的重启动间隔不相同的前提下,对收到的全部初始压缩码流进行解码,以得到解码后的全景图和特写图;并按照相同的重启动间隔对所述解码后的全景图和特写图进行编码,将编码后得到的全部压缩码流进行拼接,以得到所述目标码流。
由此,在所述全景图和所述特写图中存在至少两个图像的初始压缩码流的重启动间隔不同的情况下,所述拼接装置101通过对所述全景图和所述特写图中的全部图像进行重新编码,可以理解为,将全部图像的初始压缩码流进行解码之后,再按照相同的重启动间隔对所述解码后的全部图像进行编码,以得到重启动间隔都相同的全部压缩码流。随后,所述拼接装置101可以对所述重启动间隔都相同的全部压缩码流进行拼接得到所述目标码流。由此,拼接装置101将所有压缩码流都调整为重启动间隔都相同的压缩码流,实现了重启动间隔不同的压缩码流被调整后也可以进行拼接,保证了拼接操作的正常进行。其中,每个初始压缩码流的重启动间隔都可由初始压缩码流中的重启动间隔定义标记段中Ri所记录的数据得知,基于此,所述拼接装置101可以通过比较初始压缩码流中的Ri是否相同来判断重启动间隔是否相同。其中,为提高判断效率,所述拼接装置101只要判断得到其中的两个初始压缩码流的重启动间隔不同,即可停止判断操作,并可以得到所述初始压缩码流的重启动间隔不同的判断结果。
与此相应,在所述全景图和所述特写图的全部初始压缩码流的重启动间隔都相同的前提下,为提高拼接效率,所述拼接装置101可以不用对所述全景图和所述特写图进行重新编码的操作。基于此,所述拼接装置101,还可以用于接收由所述第一图像获取装置或所述第二图像获取装置或所述第二图像采集装置121传输的所述全景图和所述特写图的初始压缩码流,并在所述全景图和所述特写图的初始压缩码流的重启动间隔相同的前提下,对收到的全部初始压缩码流进行拼接,以得到所述目标码流。
以下,具体说明一下所述拼接装置101的部分工作的工作过程:
所述拼接装置101按照相同的重启动间隔对所述解码后的全景图和特写图进行编码的过程可以包括:
确定所述全景图和所述特写图的目标重启动间隔;所述目标重启动间隔用于所述全景图和所述特写图进行图像拼接之前的编码;
根据所述目标重启动间隔,将所述全景图和所述特写图分别编码成对应的压缩码流。
在一实施例中,所述拼接装置101确定所述全景图和所述特写图中的任一图像的目标重启动间隔的过程可以包括:
针对所述全景图和所述特写图中的任一图像,根据所述图像沿水平方向的最大水平采样因子和所述图像的编码块划分信息,确定所述图像的原始重启动间隔;
计算所需拼接的所有全景图和所有特写图的原始重启动间隔的公约数;
从所述公约数中选取大于1的公约数或最大公约数作为所述目标重启动间隔。
其中,所述编码块划分信息是指在编码过程中,将图像划分成若干图像块以实现编码时,每个图像块的像素信息;例如,所述图像块可以视为一个最小编码单元MCU,相应地,所述编码块划分信息可以指所述MCU的像素单位。需要说明的是,本发明中的图像块不限于最小编码单元,也可以是其他规模的块。
基于上述例子,对所述针对所述全景图和所述特写图中的任一图像,根据所述图像沿水平方向的最大水平采样因子和所述图像的编码块划分信息,确定所述图像的原始重启动间隔的理解可以为:针对任一图像,根据所述最大水平采样因子和所述图像的分辨率,确定所述图像中任一行的最小编码单元MCU的数量,并将所述MCU的数量作为该图像的原始重启动间隔;其中,由于同一图像中不同MCU行的MCU总数相同,所以只需确定其中一MCU行的MCU的数量即可。对所述计算所需拼接的所有全景图和所有特写图的原始重启动间隔的公约数的理解可以为:计算所述各个全景图和各个特写图的MCU行的MCU总数的公约数。
以下,举一例子说明一下所述拼接装置101计算所述目标重启动间隔的过程:
如图13所示,假设全景图和特写图共有(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)的值的整数部分。
由此所述拼接装置101便可计算得到各图像任一行所包含的MCU的数量,接下来可以根据计算所得的各图像的任一行的MCU的数量,计算得到所有图像一行中MCU的数量的公约数,例如,假设3张图像一行中MCU的数量分别是2、4、8,则这3张图像一行中的MCU的数量的公约数为1和2。随后就可以将计算所得的公约数1或2作为用于所述全景图和特写图进行图像拼接之前的编码的目标重启动间隔。
为提高编码效率,在一实施例中,可以将最大公约数作为所述目标重启动间隔。
所述拼接装置101得到所述目标重启动间隔之后,即可根据所述目标重启动间隔对所述全景图和特写图进行编码,以生成每个图像对应的压缩码流。其中,所述拼接装置101根据所述目标重启动间隔,对所述全景图和所述特写图进行编码的过程可以包括:
针对所述全景图和所述特写图中的任一图像,根据所述目标重启动间隔确定所述图像的熵编码段;
根据所述熵编码段对所述图像进行编码,得到所述图像对应的压缩码流。
由上述可知,由于所述全景图和特写图的宽度像素可能不同,那么所述拼接装置101依据相同的目标重启动间隔对所述全景图和特写图进行编码的过程中,对于宽度像素最小的图像,其一行所对应的熵编码段的数量可能为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的高度的整数倍。由此,可以得到各图像的压缩码流。在这一过程中,各图像的编码过程是相对独立的,且得到的各压缩码流也是相对独立的,互不混淆。
在按照相同的重启动间隔对所述全景图和所述特写图进行编码之后,所述拼接装置101对编码后得到的全部压缩码流的拼接过程可以包括:
根据所述全景图和所述特写图在拼接图中的预定拼接位置,对所述全景图和所述特写图对应的所有压缩码流中的所有熵编码段进行重排序;
根据重新排序后的所有熵编码段,得到所述全景图和所述特写图的拼接图对应的目标码流。
上述中,全景图和特写图在拼接图中的预定拼接位置可以由用户指定,也可以由所述拼接系统自行根据默认模板确定。其中,用户可以通过采用所述拼接系统自带的拼接模板指定各图像的拼接位置,也可以通过自定义的组合拼接方式指定各图像的拼接位置。例如,在对各图像进行拼接之前,用户可以从所述拼接系统所保存的拼接模板中选取所需模板,这样在后续拼接中,所述拼接系统可以根据被选中的模板确定各图像的预定拼接位置;或者,用户可以通过一一指定各图像的拼接顺序,这样在后续拼接中,所述拼接系统可以根据默认的模板按所述拼接顺序确定各图像的预定拼接位置。
在所述预定拼接位置由用户指定的情况下,在一实施例中,所述显示装置102,还可以用于在所述拼接装置101对所述全景图和所述特写图进行拼接之前,显示拼接设定区域,以使用户通过所述拼接设定区域预定所述全景图和所述特写图的拼接位置。相应地,所述拼接装置101,还可以用于检测所述拼接设定区域的输入信息,并根据输入信息确定所述全景图和所述特写图的拼接位置。
确定各图像在拼接图中的预定拼接位置之后,所述拼接装置101即可根据各图像的预定拼接位置确定拼接图每一行所对应的熵编码段,并根据从上到下,从左往右的顺序从对应的图像的压缩码流中依序获取对应的熵编码段,以实现对所有图像的所有压缩码流中的所有熵编码段的重新排序。
所述拼接装置101对所有图像的所有压缩码流中的所有熵编码段进行重新排序后,即可根据重新排序后的所有熵编码段,得到所述全景图和特写图的拼接图对应的目标码流。在一实施例中,为进一步提高所获得的目标码流的准确性,所述拼接装置101根据重新排序后的所有熵编码段,得到所述全景图和所述特写图的拼接图对应的目标码流的过程可以包括:
在重新排序后的所有熵编码段中,依序修改每相邻两个熵编码段之间的重启动标记,以使得到的目标码流中的重启动标记依序排列;
根据所述全景图和所述特写图在拼接图中的预定拼接位置,确定所述拼接图的实际宽度和实际高度;
将重启动标记依序排序后的目标码流中用于表示图像宽度和图像高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。
如图14所示,以下简单概括一下所述拼接装置101基于所述全景图和特写图对应的全部压缩码流,生成所述全景图和特写图的拼接图对应的目标码流的过程:
1)首先,对所有熵编码段重新排序:根据每一图像在所需拼接形成的拼接图中的预定拼接位置,对所有图像的压缩码流的所有熵编码段依序排序,从而获得所有图像的所有压缩码流的所有熵编码段的拼接顺序。
2)其次,对所有熵编码段进行拼接:取出对应于所需拼接形成的拼接图中左上角位置的图像(后文简称第一图像)对应的压缩码流(后文简称第一压缩码流)。由于所述第一图像位于所述拼接图中的左上角位置,所以所述第一图像的第一行上的MCU在所述第一压缩码流中对应的熵编码段,必然是所述拼接图对应的目标码流中排在最前面的熵编码段。由此,可以根据上述1)中所得到的拼接排序,依序从各图像的压缩码流中获取对应的熵编码段的码流数据,并依序对获得的码流数据进行拼接,直至拼接完所有熵编码段,以得到目标码流。
3)接着,更新/修改所有重启动标记:通过上述2)得到目标码流后,对所述目标码流中每相邻两个熵编码段之间的重启动标记进行更新操作,也即,依照所述目标码流中所有熵编码段排列的先后顺序,将每相邻两个熵编码段之间的重启动标记依序更新为,RST0、RST1、…RST7、RST0、RST1、…RST7、…、RSTlast-1,即8个重启动标记依次出现并循环重复,但最后一个重启动标记必须要以RSTlast-1标记,以表示结束。由此得到重启动标记修改后的目标码流。
4)最后,修改帧头信息:对所述目标码流的重启动标记进行修改后,进一步修改所述重启动标记修改后的目标码流的帧头信息。具体地,根据所有图像的实际宽度、实际高度和拼接位置,可以计算得到所述拼接图的实际宽度和实际高度。这样一来,就可以根据所述拼接图的实际宽度和实际高度,将所述重启动标记修改后的目标码流的帧头信息中用于表示图像宽度和高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。从而得到所述拼接图的JPEG压缩码流。
这么一来,在需要显示所有全景图和特写图拼接形成的拼接图时,可以通过所述显示装置102或所述拼接装置101先对所述JPEG压缩码流进行解码操作,以重建在空间域的拼接图,随后由所述显示装置102展示所述拼接图即可。
需要说明的是,上述对拼接图的解码和显示是基于具有解码功能的系统来说的,对于不具有解码功能的系统,要实现对拼接图的展示,可以通过物理接线或网络通信的方式将所述目标码流发送到具有解码功能的装置,以通过具有解码功能的装置对所述目标码流进行解码后,显示解码得到的拼接图。
需要说明的是,本发明上述实施例虽然将解码功能、编码功能、拼接功能、以及对拼接设定区域的输入信息的检测功能一同集成于所述拼接装置101,但是,在其他实施例中,所述拼接装置101可以仅具有拼接功能,相应的,所述解码功能、编码功能和检测功能可以由所述拼接装置101以外的其它装置实现。
在另一实施例中,对应于所述拼接装置101的解码功能、编码功能、拼接功能和检测功能,所述拼接装置101可以包括用于实现对压缩码流进行解码的功能的解码模块(如解码器)、用于实现对图像进行编码的功能的编码模块(如编码器)、用于实现对图像的压缩码流进行拼接的功能的拼接模块、以及用于实现对所述拼接设定区域的输入信息的检测的功能的检测模块。
以下,举例说明一下本发明实施例所提供的全景图和特写图的拼接系统的实际应用场景,但本发明实施例所提供的全景图和特写图的拼接系统并不限于以下应用场景:
在一个例子中,本发明实施例所提供的全景图和特写图的拼接系统可以应用于全景+特写的场景,如下:
目前,在视频监控、无人机等领域出现了越来越多的全景摄像机。这些全景摄像机往往具有变焦、变倍的功能,所述全景摄像机可以对场景进行全景拍摄,也可以对跟踪的目标进行特写,也即,可以以多种视角、多种分辨率呈现监控场景。
例如,摄像机在全景抓拍时采用4K分辨率,假设所获取的全景图的分辨率为3840×2176;另外,摄像机还以1920×1088分辨率对5个特定跟踪目标进行特写抓拍,从而获得得到分辨率都为1920×1088的5张特写图。此时,对这6张图片进行的拼接可参见图15和图16。其中,如果这6张图片对应的压缩码流的重启动间隔不同,则通过所述拼接装置101可以将这6张图片对应的压缩码流调整为具有相同的重启动间隔的压缩码流。在进行重启动间隔的调整过程中,通过所述拼接装置101可以计算得到用于图像编码的目标重启动间隔,所述目标重启动间隔可以为120。基于此,全景图每行对应的熵编码段的总数为2(即3840÷16÷120),则一张全景图对应的熵编码段共有272(即2176÷16×2)个。每一特写图每行对应的熵编码段的总数为1,则每一特写图对应的熵编码段共有68个。由此,全景图和5张特写图对应的熵编码段一共有612个,这些熵编码段在图像拼接时,被所述拼接装置101按照拼接位置和编码顺序进行重排序,以生成拼接图对应的目标码流,与现有技术相比,本发明实施例将全景图和特写图的重启动间隔调整为相同,可以统一进行编码和拼接,能同时实现宽度方向和高度方向的拼接。经过本发明实施例所提供的系统对全景图和5张特写图进行图像拼接后,所述612个熵编码段被组合在一起,形成一个拼接图对应的熵编码段,如图16所示,图16所示的熵编码段对应的拼接图的效果可参见图17,图17所示的一个拼接图中,标号A0所示的图片为全景图,标号A1~A5所示的图片为所述5张特写图。
由上述可知,本发明实施例不仅可以适用于分辨率不同的多张图像的拼接,而且对多张图像的拼接方式灵活,既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,尤其是满足了全景和局部细节图能任意拼接的需求。可以理解为:所述拼接图中,所述全景图和所述特写图的相对位置包括以下任一:
所述全景图和所述特写图沿拼接图宽度方向排列;
所述全景图和所述特写图沿拼接图高度方向排列;
所述全景图被所述特写图包围;
所述全景图位于所述拼接图的角落区域,所述特写图位于所述拼接图中除所述角落区域以外的其它区域;所述角落区域用于指示以下至少之一:拼接图中的左上角区域、右上角区域、左下角区域、右下角区域。
需要说明的是,在上述应用示例中,为了提高编码效率,将所述目标重启动间隔设置为所有图像一行的MUC数量的最大公约数,但在其他实施例中,可以不选取最大公约数作为所述目标重启动间隔,基于此,每个图像一行所对应的熵编码段的数量也会发生变化。
对于系统实施例而言,以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的装置可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
与前述全景图和特写图的拼接系统的实施例相对应,本发明实施例还提供了一种全景图和特写图的拼接方法,所述全景图和特写图的拼接方法可以应用于终端,如图像设备、移动设备、个人助理、平板设备、计算机设备、服务器或与监控场景相关的设备上,可以适用于任意图像的拼接,例如多张JPEG图像的拼接,但不限于JPEG图像。
以下,本发明实施例以JPEG图像的拼接标准为例对所述全景图和特写图的拼接方法进行说明,如图18所示,本发明实施例提供的全景图和特写图的拼接方法包括:
S161,对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿图像宽度方向进行拼接所得的拼接图的目标码流;所述全景图和所述特写图各自的压缩码流按照相同的重启动间隔编码得到;
S162,根据所述目标码流显示所述拼接图。
通过上述方法得到的拼接图中,所述全景图和所述特写图的相对位置包括以下任一:
所述全景图和所述特写图沿拼接图宽度方向排列;
所述全景图和所述特写图沿拼接图高度方向排列;
所述全景图被所述特写图包围;
所述全景图位于所述拼接图的角落区域,所述特写图位于所述拼接图中除所述角落区域以外的其它区域;所述角落区域用于指示以下至少之一:拼接图中的左上角区域、右上角区域、左下角区域、右下角区域。
在一实施例中,所述方法还可以包括:
S1601,根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图;采集得到的全景图和特写图为编码前的全景图和特写图;
基于所述步骤S1601,所述步骤S161包括:
S1611,按照相同的重启动间隔对所述编码前的全景图和特写图进行编码,将编码得到的全部压缩码流进行拼接,以得到所述目标码流。
在一实施例中,所述方法还可以包括:
S1602,获取所需拼接的至少一个全景图和至少一个特写图的初始压缩码流;所述初始压缩码流的获取方式包括以下任一:
根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并对采集到的全景图和特写图分别进行编码后得到;
根据用户输入的图像获取指令从本地存储装置中获得;
根据用户输入的图像获取指令通过通信网络获得。
由此,可以通过所述步骤S1601或所述步骤S1602中所记载的方案得到全景图和特写图。
在一实施例中,由于通过所述步骤S1602所获得的全部初始压缩码流的重启动间隔不一定都相同,从而可能会增大拼接难度,故为解决重启动间隔不同的压缩码流的拼接问题,实现重启动间隔不同的压缩码流被调整后也可以进行拼接,保证拼接操作的正常进行,基于所述步骤S1602所示的实施例,所述步骤S161可以适应性地包括:
S1611,在所述全景图和所述特写图的初始压缩码流的重启动间隔不相同的前提下,对全部初始压缩码流进行解码,以得到解码后的全景图和特写图;
S1612,按照相同的重启动间隔对所述解码后的全景图和特写图进行编码,将编码后得到的全部压缩码流进行拼接,以得到所述目标码流。
与上一实施例相应,在所述全景图和所述特写图的全部初始压缩码流的重启动间隔都相同的前提下,为提高拼接效率,可以不用对所述全景图和所述特写图进行重新编码的操作,基于此,在一实施例中,所述步骤S161还可以适应性地包括:
S1613,在所述全景图和所述特写图的初始压缩码流的重启动间隔相同的前提下,对全部初始压缩码流进行拼接,以得到所述目标码流。
在一实施例中,所述步骤S1612可以包括:
S16121,确定所述全景图和所述特写图的目标重启动间隔;所述目标重启动间隔用于所述全景图和所述特写图进行图像拼接之前的编码;
S16122,根据所述目标重启动间隔,将所述全景图和所述特写图分别编码成对应的压缩码流。
在一实施例中,所述步骤S16121可以包括:
S161211,针对所述全景图和所述特写图中的任一图像,根据所述图像沿水平方向的最大水平采样因子和所述图像的编码块划分信息,确定所述图像的原始重启动间隔;
S161212,计算所需拼接的所有全景图和所有特写图的原始重启动间隔的公约数;
S161213,从所述公约数中选取大于1的公约数或最大公约数作为所述目标重启动间隔。
在一实施例中,所述步骤S16122可以包括:
S161221,针对所述全景图和所述特写图中的任一图像,根据所述目标重启动间隔确定所述图像的熵编码段;
S161222,根据所述熵编码段对所述图像进行编码,得到所述图像对应的压缩码流。
在一实施例中,按照相同的重启动间隔对所述全景图和所述特写图进行编码之后,对编码后得到的全部压缩码流的拼接过程可以包括:
S16141,根据所述全景图和所述特写图在拼接图中的预定拼接位置,对所述全景图和所述特写图对应的所有压缩码流中的所有熵编码段进行重排序;
S16142,根据重新排序后的所有熵编码段,得到所述全景图和所述特写图的拼接图对应的目标码流。
在一实施例中,所述步骤S16142可以包括:
S161421,在重新排序后的所有熵编码段中,依序修改每相邻两个熵编码段之间的重启动标记,以使得到的目标码流中的重启动标记依序排列;
S161422,根据所述全景图和所述特写图在拼接图中的预定拼接位置,确定所述拼接图的实际宽度和实际高度;
S161423,将重启动标记依序排序后的目标码流中用于表示图像宽度和图像高度的字节分别修改为所述拼接图的实际宽度和实际高度所对应的字节。
在一实施例中,所述预定拼接位置的确定过程包括:
在对所述全景图和所述特写图进行拼接之前,显示拼接设定区域,以使用户通过所述拼接设定区域预定所述全景图和所述特写图的拼接位置;
检测所述拼接设定区域的输入信息,并根据所述输入信息确定所述全景图和所述特写图的拼接位置。
上述方法中各个步骤的实现过程具体参见上述系统中对应装置的实现过程,在此不再赘述。
上述各个实施例中所提供的全景图和特写图的拼接方法至少包括以下有益技术效果:
本发明实施例的方法通过直接对具有相同的重启动间隔的多张图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的拼接图进行编码等步骤;从而实现对多个压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,相对于现有技术只能沿图像高度方向对分辨率相同的多张图像进行拼接的方式,本发明实施例还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求,尤其是满足了全景和局部细节图能任意拼接的需求。
与前述全景图和特写图的拼接方法的实施例相对应,本发明实施例还提供了一种电子设备,所述电子设备包括:
处理器;
存储器,用于存储可由所述处理器执行的计算机程序;
其中,所述处理器执行所述程序时实现前述任一方法实施例中的所述全景图和特写图的拼接方法的步骤。
本发明所提供的全景图和特写图的拼接系统的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的系统,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图19所示,图19是本发明根据一示例性实施例示出的电子设备的一种硬件结构图,除了图19所示的处理器510、内存530、接口520、以及非易失性存储器540之外,本实施例中电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
由于本发明实施例所提供的上述电子设备与前述任一实施例中的全景图和特写图的拼接方法对应,因此,本发明实施例的电子设备也至少包括以下有益技术效果:
本发明实施例的电子设备通过直接对具有相同的重启动间隔的多张图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的拼接图进行编码等步骤;从而实现对多个压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,相对于现有技术只能沿图像高度方向对分辨率相同的多张图像进行拼接的方式,本发明实施例还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求,尤其是满足了全景和局部细节图能任意拼接的需求。
与前述全景图和特写图的拼接方法的实施例相对应,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一方法实施例中的全景图和特写图的拼接方法的步骤。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
由于本发明实施例所提供的上述计算机可读存储介质与前述任一实施例中的全景图和特写图的拼接方法对应,因此,本发明实施例的计算机可读存储介质也至少包括以下有益技术效果:
本发明实施例的计算机可读存储介质通过直接对具有相同的重启动间隔的多张图像的压缩码流进行拼接得到拼接图对应的目标码流,相对于现有技术,省略了对多张图像的压缩码流进行解码、对解码得到的所有空间域重建图像进行拼接、和对拼接得到的拼接图进行编码等步骤;从而实现对多个压缩码流的快速拼接,并有利于节省硬件设备的内存和运算资源,提高硬件设备运算效率,降低硬件设备功耗和减轻CPU的运算负担;另外,相对于现有技术只能沿图像高度方向对分辨率相同的多张图像进行拼接的方式,本发明实施例还可以适用于分辨率不同的多张图像的拼接,且具有非常灵活的拼接方式——既可以实现多张图像的横向拼接,也可以实现多张图像的纵向拼接,还可以实现多张图像的横向和纵向的组合拼接,更能满足对图像进行任意拼接的使用需求,尤其是满足了全景和局部细节图能任意拼接的需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1.一种全景图和特写图的拼接系统,其特征在于,所述系统包括:
拼接装置,用于对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿图像宽度方向进行拼接所得的拼接图的目标码流;并向显示装置传输所述目标码流;所述全景图和所述特写图各自的压缩码流按照相同的重启动间隔编码得到;
所述显示装置,用于接收所述拼接装置传输的所述目标码流,根据所述目标码流显示所述拼接图。
2.根据权利要求1所述的系统,其特征在于,所述拼接图中,所述全景图和所述特写图的相对位置包括以下任一:
所述全景图和所述特写图沿拼接图宽度方向排列;
所述全景图和所述特写图沿拼接图高度方向排列;
所述全景图被所述特写图包围;
所述全景图位于所述拼接图的角落区域,所述特写图位于所述拼接图中除所述角落区域以外的其它区域;所述角落区域用于指示以下至少之一:拼接图中的左上角区域、右上角区域、左下角区域、右下角区域。
3.根据权利要求1所述的系统,其特征在于,所述系统还包括第一图像采集装置,所述第一图像采集装置包括图像采集单元和所述拼接装置;
所述图像采集单元,用于根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并向所述拼接装置传输编码前的全景图和特写图;
所述拼接装置,用于接收所述图像采集单元传输的所述编码前的全景图和特写图,并按照相同的重启动间隔对所述编码前的全景图和特写图进行编码,将编码得到的全部压缩码流进行拼接,以得到所述目标码流。
4.根据权利要求1所述的系统,其特征在于,
所述系统还包括第二图像采集装置,所述第二图像采集装置不包括所述拼接装置;所述第二图像采集装置,用于根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并向所述拼接装置传输所述全景图和所述特写图的初始压缩码流;和/或
所述系统还包括第一图像获取装置;所述第一图像获取装置,用于根据用户输入的图像获取指令从本地存储装置中获取所需拼接的至少一个全景图和至少一个特写图,并向所述拼接装置传输所述全景图和所述特写图的初始压缩码流;和/或
所述系统还包括第二图像获取装置;所述第二图像获取装置,用于根据用户输入的图像获取指令通过通信网络获取所需拼接的至少一个全景图和至少一个特写图,并向所述拼接装置传输所述全景图和所述特写图的初始压缩码流。
5.根据权利要求4所述的系统,其特征在于,所述拼接装置,还用于接收由所述第一图像获取装置或所述第二图像获取装置或所述第二图像采集装置传输的所述全景图和所述特写图的初始压缩码流,并在所述全景图和所述特写图的初始压缩码流的重启动间隔相同的前提下,对收到的全部初始压缩码流进行拼接,以得到所述目标码流。
6.根据权利要求4所述的系统,其特征在于,所述拼接装置,还用于接收由所述第一图像获取装置或所述第二图像获取装置或所述第二图像采集装置传输的所述全景图和所述特写图的初始压缩码流,并在所述全景图和所特写图的初始压缩码流的重启动间隔不相同的前提下,对收到的全部初始压缩码流进行解码,以得到解码后的全景图和特写图,并按照相同的重启动间隔对所述解码后的全景图和特写图进行编码,将编码后得到的全部压缩码流进行拼接,以得到所述目标码流。
7.根据权利要求1~6任一项所述的系统,其特征在于,
所述拼接装置,用于根据所述全景图和所述特写图在拼接图中的预定拼接位置,对所述全景图和所述特写图对应的所有压缩码流中的所有熵编码段进行重排序;根据重新排序后的所有熵编码段,得到所述全景图和所述特写图的拼接图对应的目标码流。
8.根据权利要求7所述的系统,其特征在于,
所述显示装置,还用于在所述拼接装置对所述全景图和所述特写图进行拼接之前,显示拼接设定区域,以使用户通过所述拼接设定区域预定所述全景图和所述特写图的拼接位置;
所述拼接装置,还用于检测所述拼接设定区域的输入信息,并根据所述输入信息确定所述全景图和所述特写图的拼接位置。
9.一种全景图和特写图的拼接方法,其特征在于,所述方法包括:
对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿图像宽度方向进行拼接所得的拼接图的目标码流;所述全景图和所述特写图各自的压缩码流按照相同的重启动间隔编码得到;
根据所述目标码流显示所述拼接图。
10.根据权利要求9所述的方法,其特征在于,所述拼接图中,所述全景图和所述特写图的相对位置包括以下任一:
所述全景图和所述特写图沿拼接图宽度方向排列;
所述全景图和所述特写图沿拼接图高度方向排列;
所述全景图被所述特写图包围;
所述全景图位于所述拼接图的角落区域,所述特写图位于所述拼接图中除所述角落区域以外的其它区域;所述角落区域用于指示以下至少之一:拼接图中的左上角区域、右上角区域、左下角区域、右下角区域。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图;采集得到的全景图和特写图为编码前的全景图和特写图;
所述对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿宽度方向进行拼接所得的拼接图的目标码流,包括:
按照相同的重启动间隔对所述编码前的全景图和特写图进行编码,将编码得到的全部压缩码流进行拼接,以得到所述目标码流。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取所需拼接的至少一个全景图和至少一个特写图的初始压缩码流;所述初始压缩码流的获取方式包括以下任一:
根据抓拍指令采集所需拍摄的场景的全景图和所述场景中指定部分的特写图,并对采集到的全景图和特写图分别进行编码后得到;
根据用户输入的图像获取指令从本地存储装置中获得;
根据用户输入的图像获取指令通过通信网络获得。
13.根据权利要求12所述的方法,其特征在于,所述对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿宽度方向进行拼接所得的拼接图的目标码流,包括:
在所述全景图和所述特写图的初始压缩码流的重启动间隔相同的前提下,对全部初始压缩码流进行拼接,以得到所述目标码流。
14.根据权利要求12所述的方法,其特征在于,所述对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿宽度方向进行拼接所得的拼接图的目标码流,包括:
在所述全景图和所述特写图的初始压缩码流的重启动间隔不相同的前提下,对全部初始压缩码流进行解码,以得到解码后的全景图和特写图;
按照相同的重启动间隔对所述解码后的全景图和特写图进行编码,将编码后得到的全部压缩码流进行拼接,以得到所述目标码流。
15.根据权利要求9~14任一项所述的方法,其特征在于,所述对所需拼接的至少一个全景图和至少一个特写图的压缩码流进行拼接,以得到至少沿宽度方向进行拼接所得的拼接图的目标码流,包括:
根据所述全景图和所述特写图在拼接图中的预定拼接位置,对所述全景图和所述特写图对应的所有压缩码流中的所有熵编码段进行重排序;
根据重新排序后的所有熵编码段,得到所述全景图和所述特写图的拼接图对应的目标码流。
16.根据权利要求15所述的方法,其特征在于,所述预定拼接位置的确定过程包括:
在对所述全景图和所述特写图进行拼接之前,显示拼接设定区域,以使用户通过所述拼接设定区域预定所述全景图和所述特写图的拼接位置;
检测所述拼接设定区域的输入信息,并根据所述输入信息确定所述全景图和所述特写图的拼接位置。
CN201910100817.9A 2019-01-31 2019-01-31 全景图和特写图的拼接系统及方法 Active CN111510643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910100817.9A CN111510643B (zh) 2019-01-31 2019-01-31 全景图和特写图的拼接系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910100817.9A CN111510643B (zh) 2019-01-31 2019-01-31 全景图和特写图的拼接系统及方法

Publications (2)

Publication Number Publication Date
CN111510643A true CN111510643A (zh) 2020-08-07
CN111510643B CN111510643B (zh) 2022-09-30

Family

ID=71863848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910100817.9A Active CN111510643B (zh) 2019-01-31 2019-01-31 全景图和特写图的拼接系统及方法

Country Status (1)

Country Link
CN (1) CN111510643B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422962A (zh) * 2020-12-30 2021-09-21 北京所思信息科技有限责任公司 视频编码方法及编码器
CN113422963A (zh) * 2020-12-30 2021-09-21 北京所思信息科技有限责任公司 视频解码方法及解码器
CN114255670A (zh) * 2021-12-17 2022-03-29 杭州海康威视数字技术股份有限公司 Led显示屏及拼接显示屏

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621870B1 (en) * 1999-04-15 2003-09-16 Diva Systems Corporation Method and apparatus for compressing video sequences
US20070269120A1 (en) * 2006-05-17 2007-11-22 Motorola, Inc. Video image compression using model plus difference image
CN201418137Y (zh) * 2008-11-21 2010-03-03 中国科学院空间科学与应用研究中心 一种星载图像无损压缩处理系统
CN104159063A (zh) * 2013-05-14 2014-11-19 杭州海康威视数字技术股份有限公司 实时转码、解码方法及其装置
CN105223767A (zh) * 2015-09-25 2016-01-06 凌云光技术集团有限责任公司 一种5目全景成像系统及方法
US20160274338A1 (en) * 2015-03-18 2016-09-22 Gopro, Inc. UniBody Dual-Lens Mount for a Spherical Camera
CN107426491A (zh) * 2017-05-17 2017-12-01 西安邮电大学 一种360度全景视频的实现方法
US20170366812A1 (en) * 2016-06-20 2017-12-21 Gopro, Inc. Systems and methods for spatially selective video coding

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621870B1 (en) * 1999-04-15 2003-09-16 Diva Systems Corporation Method and apparatus for compressing video sequences
US20070269120A1 (en) * 2006-05-17 2007-11-22 Motorola, Inc. Video image compression using model plus difference image
CN201418137Y (zh) * 2008-11-21 2010-03-03 中国科学院空间科学与应用研究中心 一种星载图像无损压缩处理系统
CN104159063A (zh) * 2013-05-14 2014-11-19 杭州海康威视数字技术股份有限公司 实时转码、解码方法及其装置
US20160274338A1 (en) * 2015-03-18 2016-09-22 Gopro, Inc. UniBody Dual-Lens Mount for a Spherical Camera
CN105223767A (zh) * 2015-09-25 2016-01-06 凌云光技术集团有限责任公司 一种5目全景成像系统及方法
US20170366812A1 (en) * 2016-06-20 2017-12-21 Gopro, Inc. Systems and methods for spatially selective video coding
CN107426491A (zh) * 2017-05-17 2017-12-01 西安邮电大学 一种360度全景视频的实现方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422962A (zh) * 2020-12-30 2021-09-21 北京所思信息科技有限责任公司 视频编码方法及编码器
CN113422963A (zh) * 2020-12-30 2021-09-21 北京所思信息科技有限责任公司 视频解码方法及解码器
CN113422963B (zh) * 2020-12-30 2022-07-19 北京所思信息科技有限责任公司 视频解码方法及解码器
CN113422962B (zh) * 2020-12-30 2022-07-19 北京所思信息科技有限责任公司 视频编码方法及编码器
CN114255670A (zh) * 2021-12-17 2022-03-29 杭州海康威视数字技术股份有限公司 Led显示屏及拼接显示屏
CN114255670B (zh) * 2021-12-17 2024-01-02 杭州海康威视数字技术股份有限公司 Led显示屏及拼接显示屏

Also Published As

Publication number Publication date
CN111510643B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
JP6630891B2 (ja) 明視野画像ファイルを符号化および復号するためのシステムおよび方法
CN110115037B (zh) 球面投影运动估计/补偿和模式决策
WO2017071480A1 (zh) 参考帧编解码的方法与装置
JP5238891B2 (ja) ディジタル画像を処理するための方法および画像表現形式
CN102484712B (zh) 用于数字视频记录器的视频格式
KR102243120B1 (ko) 인코딩 방법 및 장치 및 디코딩 방법 및 장치
US8107754B2 (en) Systems and methods for randomly accessing compressed images
US8098959B2 (en) Method and system for frame rotation within a JPEG compressed pipeline
CN111510643B (zh) 全景图和特写图的拼接系统及方法
CN110121065B (zh) 空间排序视频编码应用中的多向图像处理
EP3817385A1 (en) Method and apparatus for encoding image, method and apparatus for decoding image, electronic device, and system
WO2019137313A1 (zh) 一种媒体信息的处理方法及装置
KR20120016078A (ko) 이미지를 회전시키기 위한 장치 및 방법
US10848771B2 (en) Encoding and decoding a video signal
CN111510717B (zh) 图像拼接方法和装置
CN111787398A (zh) 视频压缩方法、装置、设备及存储装置
CN111510731B (zh) 交通图像的拼接系统及方法
CN112261417B (zh) 视频推送方法及系统、设备及可读存储介质
CN116250238A (zh) 用于对场景的一幅或多幅视图进行编码和解码的方法和装置
US11330268B2 (en) Apparatus and methods for encoding and decoding a video signal
TWI454150B (zh) 影像檔案的處理方法
CN100535940C (zh) 处理数字图像的方法以及图像表示格式
US20090317007A1 (en) Method and apparatus for processing a digital image
CN105828080B (zh) 图像编解码方法及装置
KR100487330B1 (ko) 디지털 비디오의 썸네일 영상 생성 장치

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