Method for handling video streams and surveillance camera - Patent Application 20070123633
By dividing moving objects into sub-objects and performing hard handovers between video streams in surveillance cameras, the method addresses the issue of discontinuities in overlapping regions, improving object recognition and video stream stitching.
Patent Information
- Application Number
- JP2022016871
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-15
- Filing Date
- 2022-02-07
- Publication Date
- 2025-04-23
- Estimated Expiration
- 2042-02-07
AI Technical Summary
In surveillance cameras with multiple image sensors, moving objects often experience discontinuities as they cross overlapping regions, leading to misalignment and difficulties in recognizing and identifying moving objects.
The method involves dividing moving objects into sub-objects and performing a hard handover of these sub-objects from one video stream to another when they are completely within the overlapping region and their points pass through the boundary, ensuring seamless transition and accurate recognition.
This approach improves the processing of multiple video streams by enabling accurate identification and recognition of sub-objects, enhancing the reliability of object recognition and improving the stitching of video streams.
Smart Images

Figure 0007667753000001 
Figure 0007667753000002 
Figure 0007667753000003
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE The present disclosure relates generally to surveillance cameras and methods performed by surveillance cameras, and more particularly, to handling a first video stream and a second video stream. [Background technology]
[0002] Panoramic images, panoramic video streams and panoramic cameras are being used in more and more applications, and therefore this field is currently developing. Video surveillance is an example of an application of panoramic images, panoramic video streams and panoramic cameras. A panoramic camera can comprise one or more adjacent image sensors configured to capture images or video streams of a scene and have overlapping fields of view. The images from the different image sensors are then stitched together to form one image, i.e., a panoramic image. Such a panoramic image may be called a stitched panoramic image. There is a seam, e.g., a stitch line, between the overlapping images.
[0003] The process of image stitching consists of several steps, and image blending is one of them. There are several types of image blending, such as alpha blending, multiband blending, etc. Image blending, or simply blending, is performed at the overlap region or regions of adjacent images. In a camera with two image sensors, the image sensors on either side of the seam contribute to different degrees. For example, going from left to right at the overlap region, the image sensor on the left side of the seam may be blended in a linearly decreasing manner from 100% to 0%, and the image sensor on the right side of the seam may be blended in a linearly increasing manner from 0% to 100%.
[0004] In cameras that include multiple image sensors, the misalignment is typically optimized at a fairly large distance from the camera, corresponding to the background in the scene, so that the misalignment is noticeable. Moving objects in the scene will typically be closer to the camera, which can result in discontinuities as the moving objects cross the overlap region. This can be annoying to the viewer and make it difficult to properly perceive and identify the moving objects.
[0005] Therefore, there is a need to at least mitigate or resolve this problem. Summary of the Invention [Problem to be solved by the invention]
[0006] It is therefore an object of the present disclosure to avoid at least one of the above drawbacks and to improve the processing of the first and second video streams. [Means for solving the problem]
[0007] According to a first aspect, the object is achieved by a method performed by a surveillance camera for handling a first video stream and a second video stream. The surveillance camera comprises a first image sensor and a second image sensor. The surveillance camera acquires a first video stream from the first image sensor and acquires a second video stream from the second image sensor. A field of view of the first video stream partially overlaps a field of view of the second video stream in an overlap region. The surveillance camera identifies a moving object in the overlap region and divides the moving object into a plurality of sub-objects. The surveillance camera performs a hard handover of each sub-object from the first video stream to the second video stream when each sub-object is entirely within the overlap region and when a point of each sub-object passes a boundary in the overlap region.
[0008] According to a second aspect, the object is achieved by a surveillance camera configured to handle a first video stream and a second video stream. The surveillance camera comprises a first image sensor and a second image sensor. The surveillance camera is adapted to obtain a first video stream from the first image sensor and a second video stream from the second image sensor. A field of view of the first video stream partially overlaps a field of view of the second video stream in an overlap region. The surveillance camera is adapted to identify a moving object in the overlap region and to segment the moving object into a plurality of sub-objects. The surveillance camera is adapted to perform a hard handover of each sub-object from the first video stream to the second video stream when each sub-object is entirely within the overlap region and a point of each sub-object passes through a boundary within the overlap region. Effect of the Invention
[0009] By dividing the moving object into multiple sub-objects and performing hard handover for each of the sub-objects, it is possible to identify and recognize the sub-objects that are considered to be relevant parts of the moving object, thus improving the handling of the first and second video streams.
[0010] The disclosure herein provides many advantages, a non-exhaustive list of examples of which follows:
[0011] An advantage of the present disclosure herein is that it is easier to correctly identify sub-objects, increasing the reliability of sub-object recognition.
[0012] Another advantage of the present disclosure is that the stitching of multiple video streams is improved. The resulting video stream, the stitched video stream, contains sub-objects in a format that is more useful for scenarios where it is the only sub-object of interest and the rest of the moving object is not of interest. This improves the recognition of sub-objects in the video stream.
[0013] The disclosure herein is not limited to the above-mentioned features and advantages, and those skilled in the art will recognize additional features and advantages upon reading the following detailed description. [Brief description of the drawings]
[0014] The present disclosure will now be described in further detail, by way of example only, in the following detailed description with reference to the accompanying drawings, in which: [Figure 1] 1 is a schematic block diagram showing a surveillance camera according to the present invention; [Figure 2a] FIG. 2 is a schematic diagram showing two video streams according to the present invention; [Figure 2b] FIG. 2 is a schematic diagram showing two video streams according to the present invention; [Figure 2c] FIG. 2 is a schematic diagram illustrating a video stream before handover according to the present invention; [Figure 2d] FIG. 2 is a schematic diagram illustrating an example of a first video stream 201a and a second video stream 201b captured by a first image sensor 103a and a second image sensor 103b, respectively, according to the present invention. [Diagram 3] 1 is a schematic diagram of a video stream after handover according to the present invention and a flow chart illustrating the method. [Figure 4] FIG. 1 is a schematic block diagram showing a surveillance camera according to the present invention;
[0015] The drawings are not necessarily to scale, and dimensions of certain features may be exaggerated for clarity, emphasis instead being placed upon illustrating the principles of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] 1 shows an example of a surveillance camera 100. The surveillance camera 100 may be a camera adapted to monitor its surroundings, for example a scene.
[0017] Surveillance camera 100 may be any suitable camera adapted to monitor its surroundings, e.g., capture and record images, video streams, etc. Surveillance camera 100 may be referred to as a video camera, digital camera, digital surveillance camera, digital video camera, surveillance camera, security camera, image capture device, video stream capture device, etc. When referring to surveillance camera 100, the term camera may be used for simplicity.
[0018] The surveillance camera 100 includes multiple image sensors 103, e.g., a first image sensor 103a and a second image sensor 103b. It should be noted that two image sensors 103 are used as an example in FIG. 1, and the surveillance camera 100 may include any number n of image sensors, where n is a positive integer. Herein, the reference number 103 is used when referring to either the first imaging element 103a or the second imaging element 103b. The first image sensor 103a and the second image sensor 103b may be of the same or different image sensor types.
[0019] Each image sensor 103 is adapted to sense its surroundings, i.e. sense light, and convert it into a video stream, i.e. capture a video stream of a scene, which may be described as a number of images, a set of image recordings, etc.
[0020] The image sensors 103 configured within the surveillance camera 100 may be configured to communicate with each other using any suitable wired or wireless communication technique.
[0021] The first image sensor 103a and the second image sensor 103b are positioned within the surveillance camera 100 to have overlapping fields of view. Also, the first image sensor 103a and the second image sensor 103b may be positioned horizontally with respect to the ground, vertically, or in any other suitable manner. The first image sensor 103a and the second image sensor 103b may be adjacent to each other, i.e., they may be adjacent to each other.
[0022] 2a and 2b are schematic diagrams showing an example of a video stream captured by a first image sensor 103a and a second image sensor 103b. Fig. 2a shows a bus and Fig. 2b shows a license plate on a bus. The scene in which the video stream is captured by the first image sensor 103a and the second image sensor 103b may be a street with buses and cars driving, a street with people walking, etc. The first image sensor 103a captures a first video.
[0023] The video stream 201a and the second image sensor 103b capture the second video stream 201b. In the example shown in the figures 2a and 2b, the first image sensor 103a is located to the left of the second image sensor 103b, and the two image sensors 103a, 103b are arranged horizontally with respect to the ground. As a result, the first video stream 201a is located to the left of the second video stream 201b. Even though the figures 2a and 2b show an example with two video streams 201, the present disclosure is equally applicable to any m video streams, where m is an integer greater than 1.
[0024] There is an overlap region 203 between the first video stream 201a and the second video stream 201b. The overlap region 203 may be referred to as an overlay region, a joint region or an intersection region. The overlap region 203 is a region where the fields of view of the first image sensor 103a and the second image sensor 103b overlap. In other words, the first video stream 201 and the second video stream 201beach have image data that represent or show the same, e.g., the same license plate, the same part of a scene, etc., but maybe from slightly different angles, e.g., due to parallax. The first video stream 201a and the second video stream 201beach comprise a region outside or in addition to the overlap region 203. That is, the first image sensor 103a and the second image sensor 103b have a non-overlapping field of view in addition to the overlap region 203.
[0025] A moving object 205 is identified within the overlap region 203 and may be exemplified by a bus traveling on a road or a person walking on a sidewalk. In Fig. 2a, the moving object 205 is exemplified by a bus moving in the direction indicated by the arrow. The moving object 205 may extend outside the overlap region 203 in at least one direction, i.e., it may not fit within the overlap region. The moving object 205 may extend outside the overlap region 203 in two directions, both to the right and to the left of the overlap region 203. For example, a bus may be too wide to fit within the overlap region 203.
[0026] First, the bus is captured by the first image sensor 103a, which generates the first video stream 201a. After the bus moves a certain distance from left to right, it enters the field of view of the second image sensor 103b, which generates the second video stream 201b. If the bus is in the overlap area 203, it is captured by both the first image sensor 103a and the second image sensor 103b. If the license plate 205 is completely outside the overlap area 203, it is captured by only one image sensor 103, i.e., either the first image sensor 103a or the second image sensor 203b.
[0027] If the moving object 205 does not fit within the overlap region 203, e.g., a bus is identified, the moving object 205 is split into multiple sub-objects 210. Using the example of FIG. 2a, the license plate may be one sub-object 210 and the driver's face may be another sub-object 210. The sub-objects 210 may be referred to as blobs, sub-objects, etc. The sub-objects 210 may have any suitable shape, such as a circle, a square, a triangle, an irregular shape, the same shape as the license plate or the driver's face, etc.
[0028] Depending on how large the interesting sub-object 210 is in the overlap region 203, the sub-object 210 may have to be further subdivided. If the sub-object 210 is exemplified by a license plate, and the entire license plate does not fit within the overlap region 203, as illustrated in Fig. 2b, each letter or number on the plate, or a group of letters or numbers, may need to be treated as an individual sub-object 210. This means that both the moving object 205 and the sub-object 210 may extend outside the overlap region. The interesting sub-object 210 may be one that should be further processed or analyzed, for example for surveillance purposes such as license plate recognition, face recognition, etc.
[0029] When a bus moves from left to right as shown by the arrow in Fig. 2b, the license plate also moves in the same direction since it is attached to the bus. First, the license plate is captured by the first image sensor 103a which generates the first video stream 201a. After the bus moves a certain distance from left to right, it comes into the field of view of the second image sensor 103b which generates the second video stream 201b. If the license plate is in the overlap area 203, it is captured by both the first image sensor 103a and the second image sensor 103b. If the license plate is completely outside the overlap area 203, it is captured only by one image sensor 103, i.e. either the first image sensor 103a or the second image sensor 103b.
[0030] When the first video stream 201a and the second video stream 201b are obtained, the two video streams are stitched together to form a resultant video stream, i.e., a panoramic video stream. The first video stream 201a and the second video stream 201b can be source video streams, and the panoramic video stream can be a target video stream. The stitching of the video streams can be described as combining, splicing, etc. of the video streams.
[0031] When the bus and, consequently, the license plate, move in a direction from left to right, as indicated by the arrows in Fig. 2a and 2b, the sub-objects 210 also move in the same direction. When the two video streams 201 are stitched together, and each sub-object 210 moves through the overlap region 203 towards and across a boundary 208 in the overlap region 203, each sub-object 210 is initially represented by image data from only one of the image sensors 101, e.g., the first image sensor 103a. When a point of the respective sub-object 210 reaches the boundary 208, it starts to be represented by image data only from the other image sensor 103, e.g., the second image sensor 103b. This can be described as performing a hard handover of each of the sub-objects 210 from the first video stream 201a to the second video stream 201b. The term "hard" may refer to each sub-object 210 being represented initially by image data from the first video stream 201a at one instance and at the next by image data from the second video stream 201b, in other words there is no gradual or soft handover from the first video stream 201a to the second video stream 201b, where image data from both the first video stream 201a and the second video stream 201b are used to represent the sub-object 210. A hard handover is between two frames, e.g., two adjacent frames. A sub-object 210 is represented by image data from the first video stream 201a or image data from the second video stream 201b.
[0032] When the sub-object 210 moves, for example, in the direction indicated by the arrows in the figures 2a and 2b, the sub-object 210 will first be on one side of the boundary 208, for example the left side, and then will gradually pass the boundary 208 until it is completely on the other side of the boundary 208, for example the right side. When the sub-object 210 is on one side of the boundary 208, for example the left side, and before it passes the boundary 208, it may be represented by image data from the first video stream 201a. When a point configured within the sub-object 210 passes the boundary 208, the sub-object 210 may be handed over to be completely represented by image data from the second video stream 201b. This point may be located at any suitable location within the sub-object 210, for example it may be located at the center of the sub-object 210, it may be located at a certain distance from one or both ends of the sub-object 210, it may be located at one end of the sub-object 210, etc. Thus, the sub-object 210 may pass completely through the boundary 208 before being handed over and represented by the image data included in the second video stream 201b, or only a portion of the sub-object 210 may pass through the boundary 208 before being handed over and represented by the image data included in the second video stream 201b. The boundary 208 may extend through a portion or the entire overlap region 203, or may be a point within the overlap region 203. The boundary 208 may be located in a region of the overlap region 203 corresponding to the position of the sub-object 210, or may be located both in a region corresponding to the position of the sub-object 210 and in a region where the sub-object 210 is not located. The boundary 208 may extend in any direction through the overlap region 203, e.g. horizontally, vertically, diagonally, etc., and the direction may correspond to the direction in which the first image sensor 103a and the second image sensor 103b are arranged relative to each other.
[0033] Further details regarding the handover of image data from the first video stream 201a to the second video stream 201b are now described with reference to Figs. 2c and 2d. Fig. 2c is a schematic diagram showing an example of a first video stream 201a and a second video stream 201b captured by the first image sensor 103a and the second image sensor 103b, respectively. Fig. 2c shows the video stream 201 obtained at times t and t+1. Fig. 2d shows the video stream 201 obtained at times t+2. Fig. 2c shows an example where the sub-object 210 is a license plate on a bus moving from left to right, as seen by the arrow in the figure. It should be noted that the horizontal positions of the first camera sensor 103a and the second camera sensor 103b are used only as an example to illustrate the principle, and the first camera sensor 103a and the second camera sensor 103b may be arranged in any other suitable manner, for example vertically, diagonally, etc.
[0034] In Fig. 2c, the overlap area 203 is indicated by a dotted area. As the sub-object 210 moves in the illustrated direction from left to right, referring to the arrow in Fig. 2c, the sub-object 210 is initially represented in the image data of the first video stream 201a. After a certain distance, the sub-object 210 starts to pass the boundary 208, which is indicated in the figure by a thick vertical line. 2c. The top drawing of the figure. 2c shows the position at time t where the sub-object 210 starts to pass the boundary 208. The bottom drawing of the figure. 2c shows the position of the sub-object 210 at time instance t+1. Thus, the top and bottom drawings in the figure. 2c illustrate the sub-object 210 at different time instances. The drawing in the figure 2d shows the position of the sub-object 210 at time instance t+2, which is a later time instance than the bottom drawing in the figure (Fig. 2c).
[0035] The seam 213 is shown in the figure by a thick dotted line. 2c, in the parts of the overlap area 203 where the sub-object 210 is not located, it passes through the overlap area 203 with a line that substantially corresponds to the boundary 208. In the parts of the overlap area 203 that constitute the sub-object 210, the seam 213 then adaptively follows the sub-object 210 as it moves. The seam 213 can follow a first edge, exemplified by the right edge in the figure. Figure 2c is when the sub-object 210 moves. If one compares the top and bottom views of Figure 2c, it can be seen that the seam 213 adapts to the movement of the sub-object 210. The seam 213 moves closer to the edge of the overlap area 203 due to the movement of the sub-object 210 in the same direction.
[0036] Both the first video stream 201a and the second video stream 201b have the same seam 213 in the top view, which represents the time t. Thus, the seam 213 is the same when the first video stream 201a and the second video stream 201b represent the same frame in time. In the bottom view of the figure. In 2c, which represents the time instance t+1, the first video stream 201a and the second video stream 201b also have the same seam 213, but it is a different seam from the one in the top view. The seam 213 differs in that it adapts to the movement of the sub-object 210.
[0037] Before the handover, at times t and t+1, the sub-object 210 is represented by image data from the first video stream 210a, which is on one side of the seam 213, illustrated by the left side in the figure. The image data on the other side of the seam 213, illustrated on the right side of Fig. 2c, is not used in the resulting panoramic image as they are redundant.
[0038] Sub-object 210 is represented by image data from the first video stream 201a on one side of seam 213, e.g., the left side, until a point within sub-object 210 passes through boundary 208. As mentioned above, the point may be located at any suitable location within sub-object 210, for example, it may be located at the center of sub-object 210, it may be a fixed distance from one or both ends of sub-object 210, it may be located at one end of sub-object 210, etc.
[0039] When a point of the sub-object 210 passes the boundary 208, the sub-object is handed over from the first video stream 201a to the second video stream 201b. This is the case, for example, when the sub-object 210 is in a position as illustrated in the bottom view of the figure. After the handover in FIG. 2c, at time t+2, as illustrated in FIG. 2d, the seam 213 is adapted or moved to adaptively follow the second edge, e.g. the left edge, as the sub-object 210 moves in the arrow direction. The other parts of the seam 213 still substantially correspond to the boundary 208, as before the handover. After the handover, for example at time t+2 as illustrated in FIG. 2d, the sub-object 210 is represented by image data from the second video stream 201b on the second side, e.g. the right side, of the seam 213.
[0040] In the first video stream 201a, there may be a distance between the seam 213 that adaptively surrounds a first edge of the sub-object 210 and the corresponding edge of the overlap region 203. Similarly, for the second video stream 201b, there may be a distance between the seam 213 that adaptively surrounds a second edge of the sub-object 210 and the corresponding edge of the overlap region 203.
[0041] In the process of stitching together the video streams 201a, 201b, the image data, i.e. pixels, from the first video stream 201a and the second video stream 201b may or may not be blended in the overlapping regions 203. Image data in the first video stream 201a and the second video stream 201b that do not represent the sub-object 210 may be blended. It may be an area that corresponds to or surrounds the outer boundary 208 of the sub-object 210 that may be blended, as illustrated by the diagonally shaded area in Fig. 2c and Fig. 2d. When the image data from the first video stream 201a is blended with the image data from the second video stream 201, the image data are combined together, for example, with a percentage of the image data from both video streams 201, 201b. In the resulting panoramic video stream, the areas where the blending has been performed may appear sharp or may appear to have some sharp and some blurry parts. The blurry parts may be due to parallax or lining errors. The portion of overlap region 203 where no blending has occurred, i.e., sub-object 210, may not be blurred, but may appear to be flicking from one video stream to the other. In other words, sub-object 210 may appear clear in the resulting panoramic video stream, while the areas above and below sub-object 210 around boundary 208 may be blurred.
[0042] The blending can be performed using a blending algorithm. The use of a blending algorithm on the image data excluding the sub-objects 210 can be a default setting, i.e., turned on when the stitching procedure is performed, or the use of a blending algorithm can be determined when the method is performed or can be determined for each sub-object 210. Any suitable type of blending algorithm can be used, e.g., alpha blending, multi-band blending, etc.
[0043] In another example, the face of a bus driver may be a moving object 205 of interest. Different moving objects 205 may be classified as belonging to a particular object class. The moving objects 205 may be prioritized or non-prioritized objects. For example, if a bus has several moving objects 205 such as a license plate and a driver's face, the license plate may be a prioritized object and the driver's face may be a non-prioritized object. Thus, the license plate may be a moving object that is subject to division into sub-objects and hard handover. The driver's face may not be subject to division into sub-objects and hard handover or may be subject to division into sub-objects and hard handover at a later time, i.e. after the license plate is subject to division into sub-objects and hard handover. The prioritization may be pre-determined by a user.
[0044] We will now describe the above method from the perspective of the surveillance camera 100. Figure 3 is a flow chart illustrating the method as follows.
[0045] A surveillance camera 100 for handling a first video stream 201a and a second video stream 201b. The surveillance camera 100 comprises a first image sensor 103a and a second image sensor 103b. The steps indicated in the dotted boxes in Fig. 3 are optional steps. The method comprises at least one of the following steps performed by the surveillance camera 100, which steps may be performed in any suitable order than those described below:
[0046] Step 301 The surveillance camera 100 acquires a first video stream 201a from a first image sensor 103a and a second video stream 201b from a second image sensor 103b. The field of view of the first video stream 201a partially overlaps with the field of view of the second video stream 201b in an overlap region 203. The first video stream 201a and the second video stream 201b can be obtained directly from the respective image sensors 103 or via some other entity, e.g. a local memory configured in the surveillance camera 100, a cloud memory.
[0047] Step 302 The surveillance camera 100 identifies a moving object 205 within the overlap region 203. The moving object may be, for example, a bus traveling down a street or a person walking. The moving object 205 may extend outside the overlap region 203 in at least one direction.
[0048] Step 303 The surveillance camera 100 can obtain information indicating prioritized and non-prioritized sub-objects.
[0049] The moving object 205 may belong to an object class. An object class may be associated with prioritized and non-prioritized sub-objects. The sub-objects into which the moving object 205 is divided in step 308 and for which a hard handover is performed in step 309 may be prioritized sub-objects. In an example where a bus is the moving object 205, the license plate may be a prioritized sub-object and the driver's face may be a non-prioritized sub-object. In another example, the license plate may be a prioritized sub-object and the headlights next to the license plate may be a non-prioritized sub-object.
[0050] Information indicating prioritized and non-prioritized sub-objects can be obtained from a local memory configured locally within the surveillance camera 100, or from the cloud. A memory, a central memory storage device, or other suitable memory. The information may be, for example, predefined by an operator of the surveillance camera 100, provided to the surveillance camera 100 during its operation, obtained by the surveillance camera 100 on demand, or in any other suitable manner.
[0051] Step 304 The surveillance camera 100 divides the moving object 205 into multiple sub-objects. 210. A sub-object 210 may be a license plate on a bus or a person's face.
[0052] Step 305 The surveillance camera 100 can determine that at least one of the sub-objects 210 extends outside the overlap region 203 .
[0053] Step 306 The surveillance camera 100 may subdivide at least one sub-object 210 that extends outside the overlap region 203 into further sub-objects 210, and a hard handover in step 309 below may be performed for the further sub-objects 210. For example, if the moving object 203 is a bus and the sub-objects are license plates, the further sub-objects may be the respective letters and / or digits on the license plate.
[0054] Step 307 The surveillance camera 100 performs a hard handover of each sub-object 210 from the first video stream 201a to the second video stream 201b when each sub-object 210 is completely within the overlap region 203 and when a point of each sub-object 210 passes the boundary 208 within the overlap region 203. The hard handover is from the first video stream 201a taken at one instance to the second video stream 201b taken at the next instance, i.e. the hard handover is between two frames taken at different time instances.
[0055] Each sub-object 210 may be represented by image data from the first video stream 201a before the hard handover, and each sub-object 210 may be represented by image data from the second video stream 201b after the hard handover.
[0056] Before the hard handover, the seam 213 extends through the overlap region 203 and can adaptively surround a first end of each sub-object 210 as each sub-object 210 moves through the overlap region 203. After the hard handover, the seam 213
[0057] As each sub-object 210 moves through the overlap region 203, the first end may be moved to extend through the overlap region 203 and adaptively surround a second end of each sub-object 210. The first end may be an end opposite the second end. Each sub-object 210 may be represented by image data from the first video stream 201a on a first side of the seam 213 before the hard handover. Each sub-object 210 may be represented by image data from the second video stream 201b on a second side of the seam 213 after the hard handover.
[0058] Step 308 The surveillance camera 100 can use a blending algorithm to seamlessly blend image data from the first video stream 201a and image data from the second video stream 201 with image data of the sub-object 210 in the overlap region 203.
[0059] In other words, the surveillance camera 100 can blend image data in regions of the first 201a and second 201b video streams where the blending algorithm is enabled, i.e. where the blending algorithm is not disabled. Regions where the blending algorithm is enabled, i.e. not disabled, are regions that contain image data that does not represent or comprise a sub-object 210. Blending can be considered an optional step.
[0060] Step 309 The surveillance camera 100 can disable the blending algorithm for each of the sub-objects 210. In other words, the surveillance camera 100 can disable the blending algorithm in the regions of the first video stream 201a and the second video stream 201b that represent the sub-objects 210, i.e., the regions that contain the image data contained within the sub-objects 210. Thus, no blending process needs to be performed on the sub-objects 210.
[0061] The blending algorithm may be disabled for each of the sub-objects 210 as a default and enabled for the remaining image data, or may be determined each time the method is performed for each sub-object 210 or as determined.
[0062] After at least some of the steps in FIG. 3 have been performed, the first video stream 201a and the second video stream 201b together can provide a panoramic video stream.
[0063] To perform the method steps shown in Fig. 3 for handling the first video stream 201a and the second video stream 201b, the surveillance camera 100 may include an arrangement as shown in Fig. 4. In addition to the arrangement shown in Fig. 4, the surveillance camera 100 includes a first image sensor 103a and a second image sensor 103b as shown in Fig. 1.
[0064] The surveillance camera 100 is adapted to acquire a first video stream 201a from a first image sensor 103a and acquire a second video stream 201b from a second image sensor 103b, for example, by an acquisition module 401. The field of view of the first video stream 201a partially overlaps with the field of view of the second video stream 201b in an overlap region 203. The first video stream 201a and the second video stream 201b can be obtained directly from the respective image sensors 103 or via some other entity, for example a local memory, a cloud memory, configured in the surveillance camera 100. The acquisition module 401 can also be referred to as an acquisition unit, an acquisition means, an acquisition circuit, an acquisition means, etc. The acquisition module 401 may be the processor 403 of the surveillance camera 100 or may be configured by the processor 403 of the surveillance camera 100.
[0065] The surveillance camera 100 may be adapted to blend image data from the first video stream 201a and the second video stream 201b other than the sub-object 210 in the overlap region 203 using a blending algorithm, for example by the blending module 405. A default setting may be that the blending algorithm is enabled for image data other than the sub-object 210 and disabled for image data representing the sub-object 210. The blending module 405 may also be referred to as a blending unit, blending means, blending circuit, blending means, etc. The blending module 405 may be the processor 403 of the surveillance camera 100 or may be configured in the processor 403 of the surveillance camera 100.
[0066] The surveillance camera 100 is adapted to identify a moving object 205 in the overlap region 203, for example by means of an identification module 406. The moving object may be, for example, a bus traveling on a street or a person walking. The moving object 205 may extend outside the overlap region 203 in at least one direction. The identification module 406 may also be referred to as an identification unit, an identification means, an identification circuit, an identification means, etc. The identification module 406 may be a processor 403 that:
[0067] It is included in the surveillance camera 100 or in the processor 403 of the surveillance camera 100 .
[0068] The surveillance camera 100 may be adapted to obtain, for example by the acquisition module 401, information indicative of prioritized and non-prioritized sub-objects.
[0069] The moving object 205 may belong to an object class. An object class may be associated with prioritized and non-prioritized sub-objects. Note that the sub-objects to which the moving object 205 is hard handed over may be prioritized sub-objects. In the example where a bus is the moving object 205, the license plate may be a prioritized sub-object and the driver's face may be a non-prioritized sub-object.
[0070] The surveillance camera 100 is configured to divide the moving object 205 into a plurality of sub-objects 210, for example, by a division module 408. The sub-objects 210 may be a license plate on a bus or a person's face. The division module 408 may also be called a division unit, a division means, a division circuit, a division means, etc. The division module 408 may be the processor 403 of the surveillance camera 100, or may be configured by the processor 403 of the surveillance camera 100.
[0071] The surveillance camera 100 may be adapted, for example by the determination module 410, to determine that at least one of the sub-objects 210 extends outside the overlap region. 203. The decision module 410 may also be referred to as a decision unit, a decision means, a decision circuit, a decision means, etc. The decision module 410 may be the processor 403 of the surveillance camera 100 or may be configured by the processor 403 of the surveillance camera 100.
[0072] The surveillance camera 100 may be configured to subdivide, for example by the segmentation module 408, at least one sub-object 210 extending outside the overlap region 203 into further sub-objects 210, and a hard handover in step 309 below may be performed for the further sub-objects 210. For example, if the moving object 203 is a bus and the sub-objects are license plates, the further sub-objects may be the respective letters and / or numbers on the license plate. The surveillance camera 100 may be adapted, for example by the disabling module 413, to disable the blending algorithm for the image data representing each of the sub-objects.
[0073] 210. The disable module 413 is also called a disable unit, a disable means, a disable circuit, a disable means, etc. The disable module 413 may be the processor 403 of the surveillance camera 100, or may be configured by the processor 403 of the surveillance camera 100.
[0074] The surveillance camera 100 is adapted to execute, for example, by the execution module 415, each hard handover of the sub-objects 210 from the first video stream 201a to the second video stream 201b when each sub-object 210 is completely within the overlap region 203 and when a point of each sub-object passes the boundary 208 within the overlap region 203. The hard handover is from the first video stream 201a taken at one instance to the second video stream 201b taken at the next instance, i.e., the hard handover is between two frames taken at different time instances. The execution module 415 may also be referred to as an execution unit, an execution means, an execution circuit, an execution means, etc. The execution module 415 may be the processor 403 of the surveillance camera 100 or may be configured by the processor 403 of the surveillance camera 100.
[0075] Each sub-object 210 may be represented by image data from the first video stream 201a before the hard handover, and each sub-object 210 may be represented by image data from the second video stream 201b after the hard handover.
[0076] Before the hard handover, the seam 213 may extend through the overlap region 203 and adaptively surround a first end of each sub-object 210 as each sub-object 210 moves through the overlap region 203. After the hard handover, the seam 213 may extend through the overlap region 203 and move to adaptively surround a second end of each sub-object 210 as each sub-object 210 moves through the overlap region 203. The first end may be an end opposite the second end. Each sub-object 210 may be represented by image data from a first video stream 201a on a first side of the seam 213 before the hard handover, and each sub-object 210 may be represented by image data from a second video stream 201b on a second side of the seam 213 after the hard handover.
[0077] The first video stream 201a and the second video stream 201b can together provide a panoramic video stream.
[0078] The surveillance camera 100 includes a processor 403 and a memory 418. The memory 418 includes instructions executable by the processor 403.
[0079] The mechanism for handling the first video stream 201a and the second video stream 201b can be implemented via one or more processors, such as the processor 403 in the arrangement depicted in FIG. 4, together with computer program code for carrying out the functions of the present embodiment. The processor may be, for example, a digital signal processor (DSP), an application specific integrated circuit (ASIC) processor, a field programmable gate array (FPGA) processor or a microprocessor. The above program code can also be provided as a computer program product, for example in the form of a data carrier which, when loaded into the surveillance camera 100, carries computer program code for carrying out the embodiments of the present description. One such carrier may be in the form of a CD ROM disk. However, other data carriers, such as a memory stick, are feasible. The computer program code can also be provided as pure program code on a server and downloaded to the surveillance camera 100.
[0080] The computer program may include instructions that, when executed on at least one processor, cause the at least one processor to perform the method steps of Figure 3. A carrier wave may include the computer program, where the carrier wave is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium.
[0081] The term "at least one of A and B" should be understood to mean "A only, B only, or both A and B," where A and Bere refer to any parameters, numbers, indications, etc. used herein.
[0082] It should be emphasized that the term "comprises / comprising" as used herein is taken to specify the presence of stated features, integers, steps or components, but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof. It should also be noted that the word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements.
[0083] The term "configured" as used herein may also be referred to as the terms "disposed," "adapted," "capable," or "operable."
[0084] It should also be emphasized that the steps of the methods defined in the appended claims may be performed in another order than the order in which they appear in the claims without departing from the disclosure herein.
Claims
1. 1. A method performed by a surveillance camera for processing a first video stream and a second video stream, the surveillance camera comprising a first image sensor and a second image sensor, the method comprising: acquiring a first video stream from a first image sensor and a second video stream from a second image sensor, a field of view of the first image sensor partially overlapping a field of view of the second image sensor in an overlap region; identifying a moving object within the overlap region; Dividing the moving object into a plurality of sub-objects; performing a hard handover of each of the plurality of sub-objects from the first video stream to the second video stream based on each of the plurality of sub-objects being entirely within the overlap region and based on a point of each of the plurality of sub-objects passing through a boundary within the overlap region, each respective sub-object of the plurality of sub-objects being represented by image data from the first video stream before the hard handover and each respective sub-object of the plurality of sub-objects being represented by image data from the second video stream after the hard handover; blending image data from the first video stream and image data from the second video stream other than image data for each of the plurality of sub-objects from the second video stream in overlap regions using a blending algorithm; disabling the blending algorithm for image data representing each of the plurality of sub-objects; determining that at least one of the plurality of sub-objects extends outside the overlap region; subdividing at least one of the plurality of sub-objects that extends outside the overlap region into a further sub-object, a hard handover is performed to said further sub-object.
2. adaptively surrounding a first end of each of the plurality of sub-objects based on a seam extending through the overlap region and each of the sub-objects from the first video stream moving through the overlap region prior to the hard handover; after the hard handover, the seam extends through the overlap region and is adaptively moved to surround a second end of each of the plurality of sub-objects based on each of the plurality of sub-objects moving through the overlap region; the first end is an end opposite the second end; each of the plurality of sub-objects is represented by image data from the first video stream on a first side of the seam before the hard handover; The method of claim 1 , wherein each of the plurality of sub-objects is represented by image data from the second video stream on a second side of the seam after the hard handover.
3. The moving object belongs to an object class; the object class is associated with a priority sub-object and a non-priority sub-object; The method according to claim 1 , wherein the sub-object among the plurality of sub-objects, into which the moving object is divided and into which a hard handover is performed, is the priority sub-object.
4. The method of claim 3 , further comprising obtaining information indicative of the prioritized sub-objects and the non-prioritized sub-objects.
5. The method of claim 1 , wherein the blending algorithm is enabled as a default setting.
6. The method of claim 1 , wherein the moving object extends outside the overlap region in at least one direction.
7. The method of claim 1 , wherein the first video stream and the second video stream together provide a panoramic video stream.
8. A surveillance camera, A first image sensor; A second image sensor; and and a circuit, the circuit comprising: acquiring a first video stream from a first image sensor and a second video stream from a second image sensor; a field of view of the first image sensor partially overlaps a field of view of the second image sensor in an overlap region; the object is a moving object, identifying the moving object within the overlap region; Dividing the moving object into a plurality of sub-objects; performing a hard handover of each of the plurality of sub-objects from the first video stream to the second video stream based on each of the plurality of sub-objects being entirely within the overlap region and based on a point of each of the plurality of sub-objects passing through a boundary within the overlap region; each respective sub-object of the plurality of sub-objects is represented by image data from the first video stream before the hard handover, and each respective sub-object of the plurality of sub-objects is represented by image data from the second video stream after the hard handover; blending image data from the first video stream and image data from the second video stream other than image data for each of the plurality of sub-objects from the second video stream in overlap regions using a blending algorithm; Disabling the blending algorithm for image data representing each of the plurality of sub-objects; determining that at least one of the plurality of sub-objects extends outside the overlap region; subdividing at least one of the plurality of sub-objects that extends outside the overlap region into a further sub-object; The surveillance camera is configured such that a hard handover is performed to said further sub-object.
9. adaptively surrounding a first end of each of the plurality of sub-objects based on a seam extending through the overlap region and each of the sub-objects from the first video stream moving through the overlap region prior to the hard handover; after the hard handover, the seam extends through the overlap region and is adaptively moved to surround a second end of each of the plurality of sub-objects based on each of the plurality of sub-objects moving through the overlap region; the first end is an end opposite the second end; each of the plurality of sub-objects is represented by image data from the first video stream on a first side of the seam before the hard handover; The surveillance camera of claim 8 , wherein each of the plurality of sub-objects is represented by image data from the second video stream on a second side of the seam after the hard handover.
10. The moving object belongs to an object class; the object class is associated with a priority sub-object and a non-priority sub-object; The surveillance camera according to claim 8 , wherein among the plurality of sub-objects, a sub-object into which the moving object is divided and a hard handover is executed is the priority sub-object.
11. The surveillance camera of claim 10 , wherein the circuitry is further configured to obtain information indicative of the prioritized sub-objects and the non-prioritized sub-objects.
12. The surveillance camera of claim 8 , wherein the blending algorithm is enabled as a default setting.
13. The surveillance camera of claim 8 , wherein the moving object extends outside the overlap region in at least one direction.
14. The surveillance camera of claim 8 , wherein the first video stream and the second video stream together provide a panoramic video stream.
15. 1. A non-transitory computer-readable storage medium comprising computer-readable instructions that, when executed on at least one processor, cause the at least one processor to perform a method, the method comprising: acquiring a first video stream from a first image sensor and a second video stream from a second image sensor, a field of view of the first image sensor partially overlapping a field of view of the second image sensor in an overlap region; identifying a moving object within the overlap region; Dividing the moving object into a plurality of sub-objects; performing a hard handover of each of the plurality of sub-objects from the first video stream to the second video stream based on each of the plurality of sub-objects being entirely within the overlap region and based on a point of each of the plurality of sub-objects passing through a boundary within the overlap region, each respective sub-object of the plurality of sub-objects being represented by image data from the first video stream before the hard handover and each respective sub-object of the plurality of sub-objects being represented by image data from the second video stream after the hard handover; blending image data from the first video stream and image data from the second video stream other than image data for each of the plurality of sub-objects from the second video stream in overlap regions using a blending algorithm; disabling the blending algorithm for image data representing each of the plurality of sub-objects; determining that at least one of the plurality of sub-objects extends outside the overlap region; subdividing at least one of the plurality of sub-objects that extends outside the overlap region into a further sub-object, a hard handover is performed for the further sub-object.
Citation Information
Patent Citations
Image processing device, image processing method and image processing program
JP2017103672A
Imaging apparatus, control method of the same, and program
JP2019201325A
Video processing device, video processing method, and video processing program
JP2020178237A
Multiple camera video image stitching by placing seams for scene objects
US20170140791A1