一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于全景图像的视频分流方法、装置、设备及存储介质与流程

2022-12-19 23:02:35 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种基于全景图像的视频分流方法、装置、设备及存储介质。


背景技术:

2.现有的安防系统,是采用多台监控设备监控同一区域的不同方向,从而实现对同一监控区域的覆盖。但是多台设备需要配备相应的处理设备,对每台设备的图像进行处理,造成系统布设成本提高;所以现有安防系统逐渐开始采用全景摄像设备覆盖监控区域。
3.但是全景摄像设备输出的全景图像分辨率较大,对大分辨率图像的加载和输出需要强大的数据处理能力,现有监控设备一般是通过对全景图像分段拷贝,再对拷贝出来的部分图像进行编码,图像数据处理量大,全景图像的分流输出效率低下。因此,如何解决现有全景图像的分流输出效率低下成为了目前亟待解决的技术问题。


技术实现要素:

4.本发明的主要目的在于提供一种基于全景图像的视频分流方法、装置、设备及存储介质,旨在解决现有全景图像的分流输出效率低下的技术问题。
5.为实现上述目的,本发明提供一种基于全景图像的视频分流方法,所述基于全景图像的视频分流方法包括:根据全景图像的有效分辨率,设置分流图像尺寸;根据所述分流图像尺寸、预设重叠区域尺寸以及所述分流图像在所述全景图像的预设坐标位置,设置各分流图像的起始坐标;将所述分流图像尺寸、所述全景图像的行像素值以及所述各分流图像的起始坐标输入到行stride编码器,以输出所述分流图像。
6.此外,为实现上述目的,本发明还提供一种基于全景图像的视频分流装置,所述基于全景图像的视频分流装置包括:分流图像尺寸设置模块,用于根据全景图像的有效分辨率,设置分流图像尺寸;起始坐标设置模块,用于根据所述分流图像尺寸、预设重叠区域尺寸以及所述分流图像在所述全景图像的预设坐标位置,设置各分流图像的起始坐标;分流图像输出模块,用于将所述分流图像尺寸、所述全景图像的行像素值以及所述各分流图像的起始坐标输入到行stride编码器,以输出所述分流图像。
7.此外,为实现上述目的,本发明还提供一种基于全景图像的视频分流设备,所述基于全景图像的视频分流设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于全景图像的视频分流程序,其中所述基于全景图像的视频分流程序被所述处理器执行时,实现如上述的基于全景图像的视频分流的步骤。
8.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于全景图像的视频分流程序,其中所述基于全景图像的视频分流程序被处理器执行时,实现如上述的基于全景图像的视频分流方法的步骤。
9.本发明提供一种基于全景图像的视频分流方法,所述方法根据全景图像的有效分辨率,设置分流图像尺寸;根据所述分流图像尺寸、预设重叠区域尺寸以及所述分流图像在
所述全景图像的预设坐标位置,设置各分流图像的起始坐标;将所述分流图像尺寸、所述全景图像的行像素值以及所述各分流图像的起始坐标输入到行stride编码器,以输出所述分流图像。通过上述方式,本发明根据全景图像的分辨率大小,确定分流图像的尺寸大小,并且设置分流图像在全景图像中的起始坐标,再根据预设重叠图像,可以依次确定所有分流图像在全景图像中的起始坐标;通过行stride编码器读取全景图像的图像数据,并且根据分流图像的起始坐标以及分流图像大小,可以直接从全景图像数据中输出分流图像数据,从而输出分流图像,不需要将全景图像进行拷贝、裁剪再拼接,减少了数据处理量,提高了全景图像的分流输出效率,解决了现有全景图像的分流输出效率低下的技术问题。
附图说明
10.图1为本发明实施例方案中涉及的基于全景图像的视频分流设备的硬件结构示意图;
11.图2为本发明基于全景图像的视频分流方法第一实施例的流程示意图;
12.图3为本发明基于全景图像的视频分流方法第二实施例的流程示意图;
13.图4为本发明基于全景图像的视频分流方法的图像分流示意图;
14.图5为本发明基于全景图像的视频分流方法第三实施例的流程示意图;
15.图6为本发明基于全景图像的视频分流方法第四实施例的流程示意图;
16.图7为本发明基于全景图像的视频分流装置第一实施例的功能模块示意图。
17.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
18.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
19.本发明实施例涉及的基于全景图像的视频分流方法主要应用于基于全景图像的视频分流设备,该基于全景图像的视频分流设备可以是pc、便携计算机、移动终端等具有显示和处理功能的设备。
20.参照图1,图1为本发明实施例方案中涉及的基于全景图像的视频分流设备的硬件结构示意图。本发明实施例中,基于全景图像的视频分流设备可以包括处理器1001(例如cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
21.本领域技术人员可以理解,图1中示出的硬件结构并不构成对基于全景图像的视频分流设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
22.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及基于全景图像的视频分流程序。
23.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的基于全景图像的视频分流程序,并执行本发明实施例提
供的基于全景图像的视频分流方法。
24.本发明实施例提供了一种基于全景图像的视频分流方法。
25.参照图2,图2为本发明基于全景图像的视频分流方法第一实施例的流程示意图。
26.本实施例中,所述基于全景图像的视频分流方法包括以下步骤:
27.步骤s10,根据全景图像的有效分辨率,设置分流图像尺寸;
28.本实施例中,全景图像是通过全景相机拍摄所得,全景相机是通过至少两个鱼眼镜头采集画面,拼接成一个360度的全景视频流。但是因为鱼眼镜头的广角特性,拍摄画面的顶部和底部的内容存在较大的畸变,没有参考价值,所以需要在全景图像中裁剪畸变量小的部分作为有效图像,比如全景图像的分辨率为7680
×
3840,经过裁剪的有效分辨率为7680
×
1440,顶部和底部总共裁剪了2000行的像素值。
29.具体地,根据鱼眼镜头的特点,全景图像只在上下端存在畸变,而中间行像素并不会产生畸变,当裁剪完全景图像上下端的畸变像素之后,全景图像的像素行值减小,而列值并没有改变,所以全景图像的有效分辨率即为全景图像原列值和裁剪之后的行值的乘积。
30.可以理解地,全景图像的有效行像素值是指有效分辨率的列值,即有效分辨率的一行具有多少像素点,表示有效分辨率有多少列;有效列像素值是指有效分辨率的行值,即有效分辨率的一列具有多少像素点,表示有效分辨率有多少行。
31.进一步地,所述步骤s10具体包括:
32.根据所述全景图像的有效分辨率,确定所述分流图像分辨率的所述行值;
33.根据预设分流角度,计算所述分流图像在所述全景图像中的占比,确定所述分流图像分辨率的所述列值。
34.本实施例中,全景图像的有效分辨率中,因为在确定有效分辨率之前已经将全景图像中畸变量较大的像素排除,分流图像要想覆盖有效分辨率,则以有效分辨率中的行值(即宽度)作为分流图像的分辨率行值。
35.可以理解地,如果全景图像的有效分辨率的行值(即宽度)过大,也可以对行值进行切分,设置多张分流图像对全景图像有效分辨率进行覆盖;比如有效分辨率行值为1000,可以设置分流图像分辨率行值为100,两张分流图像之间存在一定重叠区域,以保证能够完全覆盖全景图像,避免出现图像缺失。
36.本实施例中,根据预设的分流视频数量,以360度全景图像为依据,设置预设分流角度,此处需要考虑重叠覆盖区域,根据预设分流角度与360度的占比,计算该预设分流角度能够覆盖的全景图像的区域,覆盖区域所包含的全景图像分辨率列值(即长度)即为分流图像分辨率的列值。
37.进一步地,结合行值和列值,即可确定分流分辨率的大小。
38.可以理解地是,分流就是从全景360度的画面中截取对应角度的画面送给接收端。
39.具体实施例中,角度是后台(或者监控)配置的,每路流都可以设置任意角度。比如,把一个全景视频流切分成4路普通视频流(非全景),操作端可以同时拉取4路视频流,每路视频流的横向fov是120度,为保证完全覆盖全景图像,相邻两路视频流有30度的重叠,以全景图像7680
×
1440为例,横向切成4路流之后,每路流的图像分辨率为2560
×
1440,相邻两路流的重叠部分为640
×
1440。
40.可以理解地,拉取的4路流视频,每一路流的角度是可以单独设置的,可以通过操
作端调用相机端的接口配置给相机,相机根据该配置从全景流中截取对应角度的流送给监控。
41.步骤s20,根据所述分流图像尺寸、预设重叠区域尺寸以及所述分流图像在所述全景图像的预设坐标位置,设置各分流图像的起始坐标;
42.本实施例中,当确定分流图像尺寸后,需要给编码器一个编码起始坐标,编码器才能在全景图像中读取分流图像;为了能够覆盖全景图像所有有效区域,避免出现画面缺失的问题,分流图像之间需要具有一定范围的预设重叠区域,可以根据分流图像尺寸和分流数量,设置合理的重叠区域尺寸。
43.具体地,可以将全景图像的第一列像素作为第一个分流图像的起始列坐标,以全景图像有效分辨率第一行像素在全景图像的坐标,作为第一个分流图像的起始行坐标,从而确定第一个分流图像在全景图像的起始坐标,进而根据重叠区域推导其他分流图像在全景图像的起始坐标;也可以根据用户实际需求,人为设定每一个分流图像的起始坐标。
44.可以理解地,预设重叠区域大小不能过大,否则容易导致画面重复过多,数据冗余,浪费计算能力;也不能过小,否则达不到覆盖效果,如果显示设备边缘区域显示不完整,容易导致显示图像的边缘区域缺漏。
45.具体的,可以根据合理的规则设置重叠区域大小,比如设置重叠区域在分流图像中占比为百分之十五,或者设置分流图像的角度时,规定一定的角度范围为重叠区域等。
46.进一步地,所述步骤s20具体包括:
47.根据所述全景图像的有效分辨率,确定所述行stride编码器在所述全景图像的可读区域;
48.根据所述可读区域和所述分流图像尺寸,设置所述分流图像在所述全景图像中的所述起始坐标;
49.根据所述预设重叠图像尺寸和所述起始坐标,确定所述分流图像的相邻分流图像的所述起始坐标。
50.本实施例中,首先确定全景图像分辨率的行值(宽度),然后确定有效分辨率在全景图像分辨率的位置,因为有效分辨率的列值(长度)与全景图像分辨率的列值相等,所以只需要确定有效分辨率的第一行像素位于全景图像分辨率的行坐标即可,以有效图像分辨率第一行像素的行坐标作为第一分流图像的起始行坐标。
51.具体地,首先确定有效分辨率第一行像素在全景图像分辨率中的行坐标,然后可以根据有效分辨率的行值(宽度),确定有效分辨率最后一行在全景图像分辨率的行坐标;结合有效分辨率大小,即可确定行stride编码器在全景图像的可读区域的坐标。
52.可选地,根据分流图像分辨率,在可读区域内设置分流图像分辨率的起始行坐标;比如可以将有效分辨率的起始行坐标作为第一分流图像分辨率的起始行坐标。
53.具体地,可以通过操作端设置分流图像分辨率的起始列坐标,可以默认有效图像分辨率第一列,作为第一分流图像分辨率的起始列坐标,也可以设置有效图像分辨率的任一列,作为第一分流图像分辨率的起始列坐标。
54.具体地,根据第一分流图像分辨率的起始行坐标和起始列坐标,即可确定第一分流图像在全景图像中的分辨率坐标;然后根据预设重叠分辨率,即可依次确定每一个分流图像在全景图像中的分辨率坐标。
55.步骤s30,根将所述分流图像尺寸、所述全景图像的行像素值以及所述分流图像的起始坐标输入到行stride编码器,以输出所述分流图像;
56.一般地,从一个大的画面中截取一个小画面,通常需要向系统申请一块内存,然后把小画面的像素拷贝到这块内存中,再把这块内存交给编码器去编码生成视频流;由于全景视频比较大,这样做需要消耗比较多的cpu和内存资源,在嵌入式系统上很影响性能。
57.本实施例中,本技术利用编码器的行stride(内存图像行跨度),直接把大的画面送给编码器。比如,设置编码的区域为2560
×
1440,stride为7680,去掉了内存拷贝的部分,使性能达到要求。编码器按照大的全景图像的分辨率进行数据读取,并且按照全景图像分辨率的行顺序依次读取全景图像的像素数据;为了便于理解,将全景图像分辨率的每一行像素作为一个组数据,假设全景图像的7680
×
1440,即表示stride编码器会读取1440组像素数据;若第一分流图像在全景图像的的起始坐标为(0,0),那么stride编码器在每一组像素数据中,实际需要编码的是第1个数据到第2560个数据,而每一行的第2561个数据到第7680个数据的数据段则不需要进行处理,或者直接删除;也即当stride编码器完成前一行像素数据中第1个数据到第2560个数据的编码之后,前一行的后续数据不再进行编码,而从后一行的第1个数据继续编码,到该行像素数据的第2560个数据结束,并对每一行像素数据依次进行相同处理;最后按顺序输出经过编码的像素数据,从而输出第一分流图像。
58.为便于本领域技术人员理解,本实施例中通过例举第一个分流图像的生成过程,对本实施例进行解释。
59.具体地,基于全景图像的第一个分流图像的生成过程如下:
60.具体实施例中,将具有行像素值的全景图像、分流图像分辨率大小(即分流图像尺寸)以及要截取的第一个分流图像的起始坐标输入到编码器中,编码器调用内存图像行跨度(行stride)插件对全景图像进行处理。
61.可选地,编码器按行顺序依次读取全景图像的行像素数据,根据分流图像的起始坐标以及分流图像分辨率大小中的行值,在读取的全景图像数据中,确定需要编码的分流图像数据,通过调用行stride插件对分流图像数据进行处理,直接输出分流图像。
62.本实施例中,可以根据预设分流角度,计算重叠区域所覆盖的分辨率大小,根据第一路分流图像的边缘像素列进行计算,即可确定第二路分流图像在全景图像中的起始列坐标。
63.具体地,每一路分流图像的分辨率是相同的,在确定第二路分流图像的起始列时,即可确定第二分流图像的结束列;依次类推,即可确定每一路分流图像在全景图像中的起始列和结束列,即可确定每一路分流图像在全景图像中的分辨率坐标。
64.具体地,将要截取的每一路分流图像的分辨率坐标依次输入到编码器中,确定每一路分流图像的编码起始坐标,结合分流图像尺寸,即可依次输出每一路分流图像的视频流。
65.本实施例中,根据预设重叠区域大小和第一分流图像的起始坐标,即可以确定每一路的分辨率坐标,通过行stride编码器在全景图像中读取对应的图像数据,再输出为分流图像数据,即可依次生成多路视频。
66.本实施例中,通过行stride编码器读取全景图像的数据,再根据分流图像在全景图像中的坐标,直接输出分流图像对应的图像数据,而对非分流图像数据的无效数据不做
处理或者直接删除,减少了内存压力,也减少了数据处理量,从而提高分流图像的输出效率。
67.本发明提供一种基于全景图像的视频分流方法,所述方法根据全景图像的有效分辨率,设置分流图像尺寸;根据所述分流图像尺寸和预设重叠图像尺寸,设置所述分流图像的起始坐标;将所述分流图像尺寸、所述全景图像的行像素值以及所述分流图像的起始坐标输入到行stride编码器,以输出所述分流图像。通过上述方式,本发明根据全景图像的分辨率大小,确定分流图像的尺寸大小,并且设置分流图像在全景图像中的起始坐标,再根据预设重叠图像,可以依次确定所有分流图像在全景图像中的起始坐标;通过行stride编码器读取全景图像的图像数据,并且根据分流图像的起始坐标以及分流图像大小,可以直接从全景图像数据中输出分流图像数据,从而输出分流图像,不需要将全景图像进行拷贝、裁剪再拼接,减少了数据处理量,提高了全景图像的分流输出效率,解决了现有全景图像的分流输出效率低下的技术问题。
68.参照图3,图3为本发明基于全景图像的视频分流方法第二实施例的流程示意图。
69.基于上述图2所示实施例,本实施例中,所述步骤s30,包括:
70.步骤s31,根据所述分流图像的起始坐标,运行所述行stride编码器,读取全景图像的图像数据;
71.步骤s32,根据所述分流图像尺寸和所述全景图像的行像素值,确定所述行stride编码器读取的所述图像数据中的有效数据;
72.本实施例中,利用stride的行对齐特点,可以让编码器输出stride中每个数据循环中前面1/4编码区域(2560
×
1440)的数据,作为分流图像的数据,而后面3/4的数据,作为无效数据删除,即可直接输出分流图像,而避免对多余数据的处理。
73.进一步地,所述步骤s32具体包括:
74.通过所述行stride编码器依次读取全景图像行像素,获得全景图像编码数据;
75.根据所述分流图像的起始坐标和所述分流图像尺寸,确定分流图像每一行在所述全景图像对应行的有效行像素;
76.根据所述有效行像素,在所述全景图像编码数据中确定对应分流图像的有效数据。
77.本实施例中,经过畸变筛选之后,虽然确定了全景图像的有效图像分辨率,但是并没有对无效像素进行裁剪,所以需要确定有效分辨率在全景图像中的位置,即有效分辨率的第一行像素和最后一行像素在全景图像中的坐标。
78.具体地,编码器是对整个全景图像进行操作的,而行stride编码器是从全景图像数据中直接“筛选”出分流图像数据,所以要正确且完整地读取分流图像,则需要确定分流图像在全景图像中所处的位置,即分流图像的起始坐标。
79.具体地,可以根据畸变筛选操作确定有效分辨率起始行位于全景图像的行坐标,第一路分流图像的起始列可以是有效分辨率的任一列,可以从第一列开始,也可以是从其他列开始。
80.可以理解地,行stride编码器在编码过程中,是按照全景图像的行依次进行数据读取的,比如编码器读取完全景图像的第一行像素的数据之后,才会读取第二行像素的数据,而每一行像素的数据长度相同,分流图像的坐标和分流图像分辨率大小即“告诉”行
stride编码器如何“分辨”有效数据和无效数据。
81.具体地,假设全景图像的有效分辨率为10000
×
5000,分流图像的起始截取坐标为(1000,1000),而分流图像的分辨率为3000
×
1000;那么行stride编码器会读取全景图像所有的有效分辨率数据,该数据按照全景图像有效分辨率的行顺序排列,即5000行数据,每行数据具有10000个像素点的数据;假设对这些数据进行编号,以10000个像素数据为一个循环数据;在需要输出分流图像数据时,行stride编码器即会从第1000个循环数据开始,以每一行数据中第1000个像素数据开始往后,读取3000个像素数据,总共读取1000个循环数据中的对应像素数据,作为有效数据,即分流图像数据,将该有效数据输出,再转换成分流图像;而其他的全景图像数据作为无效数据,直接删除即可。
82.具体地,参照图4,图4为本发明基于全景图像的视频分流方法的图像分流示意图。在stride编码器中输入每一个分流图像的起始坐标、分流图像分辨率(宽度值和高度值)以及全景图像的宽度值,将全景图像划分为多个分流图像对应的分流区域;并且相邻分流图像之间存在重叠区域,保证输出的分流图像能够将全景图像全覆盖。
83.具体实施例中,stride编码器会按照全景图像的行顺序,依次读取全景图像的每一行像素数据。在分流图像在全景图像的行坐标对应的行中,根据每个分流图像的起始坐标,在对应行像素数据中截取对应分流图像宽度值的分流图像行,然后跳过其余的行像素数据,继续在全景图像的下一行中读取对应的分流图像行,直至完成分流图像所有行像素数据的读取。
84.其中,当分流图像存在跨行时,由于stride编码器是按照行顺序依次读取像素数据的,所以跨行的边缘分流图像在此处存在一行像素的错位,此时可以选择在分流之前对全景图像进行预处理,将全景图像中存在跨行的部分图片截取并拼接到全景图像的另一侧,从而获得一个更大分辨率的全景图像,避免stride编码器对边缘分流图像的跨行读取。
85.步骤s33,通过所述行stride编码器输出所述有效数据,作为分流图像数据,获得所述分流图像。
86.本实施例中,通过上述实施方式,不需要对全景图像进行预处理(如分割、拼接等),只需要通过行stride编码器从全景图像中直接读取对应的像素数据,作为分流图像的数据,从而直接输出分流图像,其中需要处理的数据也只有分流图像对应的数据,减少了数据处理量,从而提高分流图像的输出效率。
87.参照图5,图5为本发明基于全景图像的视频分流方法第三实施例的流程示意图。
88.基于上述图2所示实施例,本实施例中,所述步骤s10之前,还包括:
89.步骤s01,根据预设畸变阈值,对所述全景图像的所有像素进行筛选,将所述像素的畸变量在所述畸变阈值内的区域判定为有效区域;
90.步骤s02,根据所述有效区域内包含的像素值,确定所述全景图像的有效分辨率。
91.本实施例中,设置畸变阈值参数,通过对全景图像所有像素点进行畸变测量,计算每个像素点的畸变量,对于存在一半以上像素畸变量大于畸变阈值的像素行,判定为无效像素行;对于存在一半以上像素畸变量小于畸变阈值的像素行,判定为有效像素行,并进行畸变校正。
92.具体的,畸变,也称为失真,它是一种可以把直线变成曲线的像差,广角镜头、变焦镜头,远距镜头容易造成严重的畸变。在图像的边缘切线尤其明显,但对于沿半径的放射线
是看不到畸变的。由于光学透镜的固有特性,对拍摄的图片造成失真现象(畸变),这对成像质量是不利的。
93.进一步地,经过畸变校正之后,将判定为有效像素行的像素区域作为有效区域,该区域内所包含的所有像素即为有效像素,由此,即可确定全景图像的有效分辨率。
94.参照图6,图6为本发明基于全景图像的视频分流方法第四实施例的流程示意图。
95.基于上述图2所示实施例,本实施例中,所述步骤s30之前,还包括:
96.步骤s031,根据所述分流图像尺寸、所述预设重叠图像尺寸以及所述分流图像的起始坐标,确定边缘分流图像的缺失图像尺寸;
97.步骤s032,根据所述缺失图像尺寸,以所述全景图像另一侧第一列为始,截取与所述缺失图像尺寸大小相同的补足图像;
98.步骤s033,将所述补足图像对齐拼接到所述全景图像的所述边缘位置,并更新所述全景图像,以使得所述边缘分流图像读取完整。
99.本实施例中,因为相邻两路分流图像存在重叠区域,位于全景图像一侧的边缘分流图像与位于全景图像另一侧的分流图像存在重复,而编码器是按照图像像素行依次读取的,在完成读取一行像素数据之后,即会跳转到下一行像素的第一个像素继续向后读取;当边缘分流图像与另一侧分流图像存在重复时,编码器在读取数据时,边缘分流图像的每一行像素数据前段数据与后段数据对应的是全景图像的两行像素数据,所以边缘分流图像的每一行像素数据是存在一行的错位的。因此,为了使得边缘分流图像读取完整,且像素数据按行顺序排列,在读取分流图像之前,需要对全景图像进行预处理;即截取补足图像进行拼接,并且更新全景图像,获得分辨率更大且两端画面相同的全景图像。
100.可选地,以4路分流图像为例:第4路分流图像中,有一部分在全景图像的左边,另外一部分在全景图像的右边,刚好全景图像的最左边跟最右边是可以连起来了,图像数据在编码器内存中也是连续的(一行的第一个像素是紧跟着上一行的最后一个像素)。
101.可选的,可以用设置stride的方法来对第4路流进行编码,只是会存在一行的错位(第一行的左边接着第二行的右边),一行的错位在画面中是不明显的。
102.可选的,如不考虑资源消耗,由于第四个视频流画面全景画面的右侧跨到了全景画面的左侧,因此可能会产生行像素点的偏移,因此如产生跨越全景画面边界的平面画面,在对全景图像分流之前,可提前将全景画面的左边画面直接拼接到右边画面,以保证平面画面没有跨越拼接后的全景画面。可以根据边缘分流图像在全景图像中的位置,确定缺失区域的大小,然后根据缺失区域的尺寸,在全景图像另一侧截取相同大小的图像区域,拼接到全景图像边缘处,形成一个更大的全景图像,比如将全景画面由360度变成390度;随后再重新设定修改后的全景图像的图像参数值中的image stride值(图像格式和目标图像的长宽尺寸并不需要修正)。
103.参照图6,图6为本发明基于全景图像的视频分流装置第一实施例的功能模块示意图。
104.本实施例中,所述基于全景图像的视频分流装置包括:
105.分流图像尺寸设置模块10,用于根据全景图像的有效分辨率,设置分流图像尺寸;
106.起始坐标设置模块20,用于根据所述分流图像尺寸、预设重叠区域尺寸以及所述分流图像在所述全景图像的预设坐标位置,设置各分流图像的起始坐标;
107.分流图像输出模块30,用于将所述分流图像尺寸、所述全景图像的行像素值以及所述各分流图像的起始坐标输入到行stride编码器,以输出所述分流图像。
108.进一步地,所述分流图像输出模块30具体包括:
109.图像数据读取单元,用于根据所述分流图像的起始坐标,运行所述行stride编码器,读取全景图像的图像数据;
110.有效数据确定单元,用于根据所述分流图像尺寸和所述全景图像的行像素值,确定所述行stride编码器读取的所述图像数据中的有效数据;
111.分流图像获得单元,用于通过所述行stride编码器输出所述有效数据,作为分流图像数据,获得所述分流图像。
112.进一步地,所述有效数据确定单元具体包括:
113.编码数据获得子单元,用于通过所述行stride编码器依次读取全景图像行像素,获得全景图像编码数据;
114.有效行像素确定子单元,用于根据所述分流图像的起始坐标和所述分流图像尺寸,确定分流图像每一行在所述全景图像对应行的有效行像素;
115.有效数据确定子单元,用于根据所述有效行像素,在所述全景图像编码数据中确定对应分流图像的有效数据。
116.进一步地,所述基于全景图像的视频分流装置还包括有效分辨率确定模块,所述有效分辨率确定模块具体包括:
117.有效区域确定单元,用于根据预设畸变阈值,对所述全景图像的所有像素进行筛选,将所述像素的畸变量在所述畸变阈值内的区域判定为有效区域;
118.有效分辨率确定单元,用于根据所述有效区域内包含的像素值,确定所述全景图像的有效分辨率。
119.进一步地,所述分流图像尺寸设置模块10具体包括:
120.行值确定单元,用于根据所述全景图像的所述有效分辨率,确定所述分流图像分辨率的所述行值;
121.列值确定单元,用于根据预设分流角度,计算所述分流图像在所述全景图像中的占比,确定所述分流图像分辨率的所述列值。
122.进一步地,所述起始坐标设置模块20具体包括:
123.可读区域确定单元,用于根据所述全景图像的所述有效分辨率,确定所述行stride编码器在所述全景图像的可读区域;
124.起始坐标设置单元,用于根据所述可读区域和所述分流图像尺寸,设置所述分流图像在所述全景图像中的所述起始坐标;
125.相邻起始坐标确定单元,用于根据所述预设重叠图像尺寸和所述起始坐标,确定所述分流图像的相邻分流图像的所述起始坐标。
126.进一步地,所述基于全景图像的视频分流装置还包括全景图像拼接模块,所述全景图像拼接模块具体包括:
127.缺失图像尺寸确定单元,用于根据所述分流图像尺寸、所述预设重叠图像尺寸以及所述分流图像的起始坐标,确定边缘分流图像的缺失图像尺寸;
128.补足图像截取单元,用于根据所述缺失图像尺寸,以所述全景图像另一侧第一列
为始,截取与所述缺失图像尺寸大小相同的补足图像;
129.图像拼接单元,用于将所述补足图像对齐拼接到所述全景图像的所述边缘位置,并更新所述全景图像,以使得所述边缘分流图像读取完整。
130.其中,上述基于全景图像的视频分流装置中各个模块与上述基于全景图像的视频分流方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
131.此外,本发明实施例还提供一种计算机可读存储介质。
132.本发明计算机可读存储介质上存储有基于全景图像的视频分流程序,其中所述基于全景图像的视频分流程序被处理器执行时,实现如上述的基于全景图像的视频分流方法的步骤。
133.其中,基于全景图像的视频分流程序被执行时所实现的方法可参照本发明基于全景图像的视频分流方法的各个实施例,此处不再赘述。
134.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
135.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
136.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
137.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
138.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献