WO2013192400A1 - Method and systems for providing video data streams to multiple users - Google Patents

Method and systems for providing video data streams to multiple users Download PDF

Info

Publication number
WO2013192400A1
WO2013192400A1 PCT/US2013/046770 US2013046770W WO2013192400A1 WO 2013192400 A1 WO2013192400 A1 WO 2013192400A1 US 2013046770 W US2013046770 W US 2013046770W WO 2013192400 A1 WO2013192400 A1 WO 2013192400A1
Authority
WO
WIPO (PCT)
Prior art keywords
video data
data streams
sources
processor
computer readable
Prior art date
Application number
PCT/US2013/046770
Other languages
French (fr)
Inventor
Richard Pineau
Adam Pineau
Original Assignee
Oncam Global, Inc.
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
Priority claimed from US13/530,507 external-priority patent/US9065983B2/en
Application filed by Oncam Global, Inc. filed Critical Oncam Global, Inc.
Publication of WO2013192400A1 publication Critical patent/WO2013192400A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Definitions

  • One of the major ⁇ -ohlems associated with a users ability to remotely view a live camera stream is that the viewing of such stream is, for all practical purposes, limited to one user. This poses a significant problem when a camera is tasked for multiple purposes such as crowd control, inventory monitoring, traffic monitoring and security purposes- applications that will be referred to as "monitoring applications" .
  • monitoring applications In the
  • IP Video Camera will backlog the various commands submitted by each user and run though them in the order they are received, which will give the appearance of erratic camera behavior to all of the users.
  • IP Internet Protocol
  • IP Video Cameras that provide the capability to move around the image and focus on specific areas requiring the mechanical movement of the lens. Unless the lens is moved, which might contradict the desires of another user, it might not be possible or desirable to have a mechanical camera with a single
  • the method of these teachings includes receiving, at a server, one or more video data streams, and providing, from the server, the one or more video data streams to multiple users, each one of the multiple users being able to view and manipulate the one or more video data streams.
  • the method of these teachings includes receiving, from a server, one or more video data streams at one of multiple users, the one or more video data streams being received by other of the multiple users and having been initially received at the server from one or more sources of video data.
  • the system of these teachings includes one or more sources of video data, and a server receiving the one or more video data streams originating from the one or more sources of video data, the server also providing the one or more video data streams to multiple users; each one of the multiple users being able to view and process the one or more video data streams .
  • gateway subsystem receiving the at. least one video data stream from the at least one source of video data and providing the at least, video data stream to the server.
  • the gateway subsystem determines the gateway subsystem
  • the gateway can perform a network speed check and utilize the results network speed check to determine the appropriate video stream size that is sent to the server.
  • the gateway can serve to prevent direct connection to the source of video data (in one instance, the camera) since video data is provided to the server by the gateway.
  • the system of these teachings includes one or more sources of video data, a server receiving one or more video data streams originating from the one or more sources of video data, and a number of user subsystems, the.
  • server providing the one or more video data streams to the number of user subsystems, each one of the number of user subsystems having viewing/processing components for
  • Figux'e 1 is a block diagram representation of one
  • Figure 2 is a schematic block diagram representation of one component of the embodiment of the system of these teachings shown in Figure 1;
  • Figure 3 is a flowchart representation of one embodiment of the method of these teachings;
  • FIG. 4 is a block diagram representation of another embodiment of the system of these teachings.
  • Figure 5 is a schematic block diagram representation of one embodiment of the mobile communication device in the embodiment of the system of these teachings shown in Figure 4 ;
  • FIG. S is a flowchart representatio of another
  • the present teachings provide a solution to the problems associated with the current solutions as they incorporate a method, and system to address the problems associated with network speed, lag time and multiple user command, conflicts.
  • a "web browser, " as used herein, is a computer readable code (software application) for retrieving, presenting, and sending information over a network such as,, but not limited to, the World Wide Web .
  • a "web page,” as used here in, is a resource or document adapted for * a network such as, but not limited to, the World Wide Web and which can be accessed by a "web browser” and displayed on a display device.
  • Applet is a computer readable code that can be, included in a page of information sent over a network and, when the page is open in a web browser, the code is transferred to the system opening the page ana executed in the web browser
  • Applet includes code components such as, but not limited to, Java applets and ActiveX
  • a “mobile communication device,” as used herein, refers to a device capable of executing applications, and which is portable. In one instance, the mobile communication, device has one or more processors and memory capability. Examples of mobile communication devices, these teachings not being limited to only these examples, include mobile phones, smart mobile phones, digital personal assistants, tablets, etc.
  • the system of these teachings includes one or more sources of video data, and a server receiving the one or more video data streams originating from the one or more sources of video data, the server also providing the one or more video data streams to multiple users; each one of the multiple users being able to view and process the one or more video data, streams .
  • gateway subsystem receiving the at least one video data stream from the at least one source of video data and providing the at least one source of video data to the server, In another instance, the gateway subsystem determines the appropriate video stream size that is sent to the Server,
  • the system of these teachings includes one or more sources of video data, a server receiving one or more video data streams originating from the one or more sources of video data, and a number of user subsystems, the server providing the one or more video data streams to the number of user subsystems, In another instance, the server determines the appropriate video stream size that is sent to the user (for use with smaller screens example smartphones) , each one of the number of user subsystems having viewing/processing components for viewing/processing the one or more video data streams .
  • Figure 1 One embodiment of the system of these teachings is shown in Figure 1. As shown in Figure 1 , the present teachings
  • a source of video data 15 such as, but not limited to, one or more IP Video Cameras
  • a Gateway 20 such as, but not limited to, a mini personal
  • a computer or mini central processing unit 3) a network, such as but not limited to, the Internet, and/or Intranet 30; 4 ⁇ a Data Server 40; and 5 ⁇ the Clients 50 (also referred to as users) .
  • a network such as but not limited to, the Internet, and/or Intranet 30
  • 4 ⁇ a Data Server 40 and 5 ⁇ the Clients 50 (also referred to as users) .
  • the Gateway and the data server are one and. the same are also within the scope of these teachings.
  • the Gateway and/or the Server and/or at least one of the Clients includes, as shown in Figure 2 , one or more processors 120 and one or more computer usable media 130 that has computer readable code embodied therein, the computer readable code causing the one or more processors to execute at least a portion of the method of these teachings .
  • each IP Video Camera 15 will submit a single video stream to the Gateway 20, which could consist of any image size (e.g. narrow or wide field of view) and
  • the stream comprises a wide- angle image compressed according to standard compression
  • the Gateway 20 In addition to channeling the IP Video Camera stream to the Data Server 40 via the Internet and/or Intranet 30, in one instance, the Gateway 20 also determines the appropriate video stream size that will be sent to the Data Server 40. By having the Gateway regulate the video streams, it will alleviate the burden on the network, thereby addressing one of the problems associated with the conventional technology.
  • an analog camera is used instead of the IP Video Camera 15.
  • the Gateway 20 is used instead of the IP Video Camera 15.
  • IP video stream serves as input to the method described hereinabove ,
  • At least one of the one or more sources of video data is a wide-angle or 360° optical system.
  • the wide-angle optical system includes a fisheye lens. It should be noted that a variety of catadioptric subsystems can be utilised instead of the fisheye lens.
  • At least one client also referred to as a user subsystem 50 includes at least one processor and at ; least one computer usable medium having computer readable code embodied therein, the computer readable code causing the at . least one processor to view/process the one or more video data streams.
  • Processing of the one or more video data streams can include correcting the wide-angle image, selecting a privacy region in the image and tracking moving objects using methods such as, but. not limited to, those described in US patent
  • processing of the one or more video data streams can include correcting a wide-angle image from a wide-angle camera, selecting a region of interest in the image, determining the coordinates of one or more pixels and providing the coordinates to a PTZ camera (in one instance substantially collocated with the wide-angle camera) ,
  • the computer readable code in the at least one computer usable medium at the client also causes the at least one processor to select a region of interest from video data from the wide-angle optical subsystem and receive other video data, the other video data corresponding to the region of interest.
  • At least one of the one or more sources of video data comprises a wide-angle optical sub-system ana at least one narrow field of view optical sub-system.
  • the other video data is received from the at least one narrow field of view optical sub-system.
  • the at least one narrow field of view optical sub-system is a pan-tilt - 200m (PTZ) optical sub-system.
  • the. one or more clients receive a web page from the server 40 (in one instance, the operation is initiated by the user 50 requesting a webpage from the server 40) .
  • the viewing/processing, at the one or more clients 50, of the one or more video data streams occurs through the web page being viewed in a web browser and the necessary tools to perform manipulations and analyze the video data stream are provided to each client 5G through applets ⁇ the term "applet" is used herein according to the generalized definition provided hereinabove) , (See, for example, R. Orfali and D.
  • the method of these teachings includes receiving, at a server, one or more video data streams (step 210, Fig. 3) and providing, from the server, the one or more video data streams to one or more (“multiple") users (step 220, Fig. 3), each one of the multiple users being able to view and manipulate the one or more video data streams.
  • the one or more video data streams can be provided substantially simultaneously to the users (clients) so that, withi the limits of processing and retrieving times, the users perceive that they are receiving the information directly from the sources of video data .
  • the method of these teachings includes receiving, from a server, one or more video data streams at one of multiple users (step 230, Fig. 3), the one or more video data streams being capable of being received by other of the multiple users and having been initially received at the server from one or more sources of video data.
  • the one or more video data streams originate from one or more sources of video data. In one instance, the one or more video data streams originate from one or more sources of video data. In one
  • the one or more sources of video data include one or more wide-angle optical systems.
  • the one or more video data streams are received from the Gateway system, the Gateway system receiving the one or more video data streams from one or more sources of video data.
  • the Gateway system determines the appropriate video stream size to be sent to the server. It should be noted that this operation can be performed without removing any part of the image or adjusting the image,
  • the Data Server 40 will either store the data for later viewing or immediately push the data via an I? Video Camera 15
  • the Data Server 40 will also have the ability to reduce the size of the video data, stream to accommodate the system limitations and/or requirements of a Client 50. (In one instance, the reduction of the size of the video data stream is performed at the Gateway 40.) The reduced data stream, however, would not remove any part of the image or adjust the image in any manner, as the only reduction will be to the size and pixilation of the video stream being sent to the Client. This is useful if the Client is a small electronic device such as a Smartphone, which would most likely not be able to process the full video data stream.
  • the Client will have the ability to view and
  • each Client will be enabled with the necessary tools to perform manipulate and analyze the data stream on the Client system.
  • each Client will have the ability to perform image correction (e.g. de-warp) o the transmitted video data stream and once the necessary image correction is accomplished, the user of the Client would be able to manipulate the image (e.g. pan/til /'zoom) to the users desired view.
  • image correction e.g. de-warp
  • the user of the Client would be able to manipulate the image (e.g. pan/til /'zoom) to the users desired view.
  • each Client may also have the ability to perform
  • Data Server is simply sending out a single, data stream to each Client and because the single data stream contains all of the data
  • each Client is enabled to
  • At least one of the clients 50 includes a mobile communication device 250, as shown in Figure 4.
  • one or more video data streams are received, substantially simultaneously, from a server 40, at one or more mobile communication devices 250; each one of the one or more mobile communication devices being able to view and manipulate the one or more video data streams.
  • the one or more received video data streams are processed according to predetermined processing . requirements .
  • the one or more video data streams originate from one or more sources of video data.
  • the one or more sources of video data include a wide-angle optical system, for example, but not limited to, a fisheye lens.
  • the received one or more video data streams are processed, at the mobile communication device, in order to reduce distortion.
  • the processing includes de-warping .
  • the embodiment shown in Fig. 4 includes five main components
  • the instances and embodiments of the sources of video data 15, the Gateway 20, the network 30 and the data server 40 disclosed hereinabove also relate to the embodiment shown in Fig. 4,
  • FIG. 5 shows a block diagram of one exemplary embodiment of a mobile communication device. It. should be noted that other embodiments are also within the scope of these teachings.
  • the mobile communication device shown in Fig, 5 includes an antenna 304 configured to send receive signals over a network.
  • the antenna 304 is operatively connected to a communication module 308 that provides an interface between the antenna and the network and one or more processors 312, The one or more
  • processors 312 are. configured to execute machine readable code which is stored on computer readable med.ia 316 (such as a memory, as shown ⁇ , The one or more processors 312 are also configured to store computer readable code in the computer readable media 316.
  • the mobile communica ion device shown in Fig, 5 also has a display 334 configured to present information such as portions of the one or more video data streams, to a user,
  • a user interface 330 is configured to receive user input and provided to the one or more processors 312.
  • the user interface 330 is configured as part of the display 334, as, for example, in a touch screen display.
  • the mobile communication device also includes a microphone 320 and a speaker 329.
  • the computer readable media 316 in the mobile communica ion device has computer readable code that, causes the one or more processors 312 to vie / rocess the one or more video data, streams ,
  • the computer readable code causes the one or more processors 312 to dewarp images in the one or more video data streams.
  • the computer readable code causes the one or more processors 312 to select a region of interest from video data from the wide-angle optical system.
  • computer readable code in the mobile communication device implements image warping or
  • warping or de-warping using texture mapping can be used to correct distortion.
  • Transformation methods such as those disclosed in U.S. Pat. No. 6,323,862 by Ford Oxaal, which is herein incorporated by reference in its entirety and for all purposes, can also be used.
  • transformation methods such as those disclosed in U.S. Pat. No. 6,323,862 by Ford Oxaal, which is herein incorporated by reference in its entirety and for all purposes, can also be used.
  • the graphics API in the computer readable code is OpenGL
  • a number of the OpenGL functions can be used for texture mapping and warping/de-warping (see, for example,
  • teachings includes receiving, from a. server, one or more video data streams at one of multiple users (step 350, Fig. S) , the one or more video data streams being capable of being received by other of the one or more mobile communication devices or use and having been initially received at the server from one or more sources of video data,
  • the method also includes processing the received one or more video data streams according to predetermined processing requirements, the
  • the one or more video data streams are processing in order to reduce distortion.
  • the processing as described hereinabove, can include dewarping , The operation of the server, and, in some embodiments , of the Ga/teway, and characteristics of the video data stream disclosed hereinabove in reference to Fig. 3, also apply to Fig. 6.
  • Sach computer program may be implemented in any programming language, such as assembly language, machine language, a high- level procedural programming language, or an object-oriented programming language.
  • the programming language may be a
  • Each computer prograra may be implemented in a computer program product tangibly embodied in a computer-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a. computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output.
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CDROM, any other optical medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method for substantially simultaneously remote monitoring including receiving, at a server, one or more video data streams, and providing, from the server, the one or more video data streams to multiple users, each one of the multiple users being able to view and manipulate the one or more video data streams. Systems that implement the method are also disclosed.

Description

METHOD AND SYSTEMS FOR PROVIDING VIDEO DATA STREAMS TO MULTIPLE
USERS
BACKGROUND
These teachings relate generally to the field of remote camera video viewing and control, more particularly to enable multiple users the ability to remotely access and control, via the Internet and/or Intranet, a video camera without each users command conflicting or trumping other users,
One of the major ρχ-ohlems associated with a users ability to remotely view a live camera stream is that the viewing of such stream is, for all practical purposes, limited to one user. This poses a significant problem when a camera is tasked for multiple purposes such as crowd control, inventory monitoring, traffic monitoring and security purposes- applications that will be referred to as "monitoring applications" . In the
aforementioned scenarios, there might be multiple users each tasked with a different purpose for using and viewing the video stream from the IP Video Camera. Unfortunately, when more than one user attempts to view the same video stream from a single IP Video Camera, a universal method does not exist to ensure that all users are viewing the image they desire, let alone the ability to perform complex analytics on the image. In most instances, the commands from one user will trump commands from another user, which will severely limit, or even eliminate the other user's ability to perform their task. In another
scenario, the IP Video Camera will backlog the various commands submitted by each user and run though them in the order they are received, which will give the appearance of erratic camera behavior to all of the users. The end result is that most users will not. be able to view their desix~ed portion of the image, and, as such, their ability to accomplish their task is greatly diminished. Although some Internet Protocol ("IP") cameras distribute multiple video streams, which could allow eaoh viewer to control and manipulate his/her own stream, this is not a viable solution to the problem, At. best it is a severely limited solution to having multiple users simultaneously access a single camera as the streams will burden the network and greatly increases lag time between the users command and the IP Video Camera's response, which could mean the viewers -would miss some live information due to lag. Even assuming the network had the capacity to distribute various streams from a. single IP Video Camera, it is unlikely that the IP Video Camera will have the processing power to allow each user to efficiently
manipulate and perform analytics on his or her stream let alone the ability to allow each user to perform his or her own
analytics such as tracking different object, various alarm triggering events, and color correction. Moreover, many IP Video Cameras that provide the capability to move around the image and focus on specific areas requiring the mechanical movement of the lens. Unless the lens is moved, which might contradict the desires of another user, it might not be possible or desirable to have a mechanical camera with a single
mechanical lens view two different objects outside of its view.
There is therefore a need to provide a system that allows for multiple users to remotely access, control and view a single camera providing a single stream where each user's command and access will be as if they are in full control of the camera and are not conflicting with other user commands or overburdening the network.
There is therefore a need to provide a system and method that allow remote monitoring by multiple users where each user's command and access will be as if they are in full control of the camera and are no conflicting with other user commands or overburdening the network.
BRIEF SUMMARY
Systems and methods that allow for multiple users to remotely access, control and view a single camera providing a single stream where each users command and access will be as if they are in full control of the camera and are not conflicting with other user commands or overburdening the network (also referred to as "substantially simultaneously remote monitoring"} are disclosed hereinbelow.
In one embodiment, the method of these teachings includes receiving, at a server, one or more video data streams, and providing, from the server, the one or more video data streams to multiple users, each one of the multiple users being able to view and manipulate the one or more video data streams.
In another embodiment, the method of these teachings includes receiving, from a server, one or more video data streams at one of multiple users, the one or more video data streams being received by other of the multiple users and having been initially received at the server from one or more sources of video data.
In one embodiment, the system of these teachings includes one or more sources of video data, and a server receiving the one or more video data streams originating from the one or more sources of video data, the server also providing the one or more video data streams to multiple users; each one of the multiple users being able to view and process the one or more video data streams .
In one instance, the system of these teachings also
includes a gateway subsystem receiving the at. least one video data stream from the at least one source of video data and providing the at least, video data stream to the server. In another instance, the gateway subsystem determines the
appropriate video stream size that is sent to the Server. For example, these teachings not be limited only to that example, the gateway can perform a network speed check and utilize the results network speed check to determine the appropriate video stream size that is sent to the server. The gateway can serve to prevent direct connection to the source of video data (in one instance, the camera) since video data is provided to the server by the gateway.
In another embodiment, the system of these teachings includes one or more sources of video data, a server receiving one or more video data streams originating from the one or more sources of video data, and a number of user subsystems, the.
server providing the one or more video data streams to the number of user subsystems, each one of the number of user subsystems having viewing/processing components for
viewing/processing the one or more video data, streams.
A number of other embodiments of the method and system of these teachings are also disclosed.
For a better understanding of the present teachings, together with other and further objects thereof, reference is made to the accompanying drawings and detailed description and its scope will be pointed out in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
Figux'e 1 is a block diagram representation of one
embodiment of the system of these teachings;
Figure 2 is a schematic block diagram representation of one component of the embodiment of the system of these teachings shown in Figure 1; Figure 3 is a flowchart representation of one embodiment of the method of these teachings;
Figure 4 is a block diagram representation of another embodiment of the system of these teachings;
Figure 5 is a schematic block diagram representation of one embodiment of the mobile communication device in the embodiment of the system of these teachings shown in Figure 4 ; and
Figure S is a flowchart representatio of another
embodiment of the method of these teachings.
DETAILED DESCRIPTION
The following detailed description is of the best currently contemplated modes of carrying out these teachings , The
description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles of these teachings, since the scope of these teachings is best defined by the appended claims.
The present teachings provide a solution to the problems associated with the current solutions as they incorporate a method, and system to address the problems associated with network speed, lag time and multiple user command, conflicts.
A "web browser, " as used herein, is a computer readable code (software application) for retrieving, presenting, and sending information over a network such as,, but not limited to, the World Wide Web .
A "web page," as used here in, is a resource or document adapted for* a network such as, but not limited to, the World Wide Web and which can be accessed by a "web browser" and displayed on a display device.
An "applet," as used here in, is a computer readable code that can be, included in a page of information sent over a network and, when the page is open in a web browser, the code is transferred to the system opening the page ana executed in the web browser, "Applet," as used herein includes code components such as, but not limited to, Java applets and ActiveX
components .
A "mobile communication device," as used herein, refers to a device capable of executing applications, and which is portable. In one instance, the mobile communication, device has one or more processors and memory capability. Examples of mobile communication devices, these teachings not being limited to only these examples, include mobile phones, smart mobile phones, digital personal assistants, tablets, etc.
In one embodiment, the system of these teachings includes one or more sources of video data, and a server receiving the one or more video data streams originating from the one or more sources of video data, the server also providing the one or more video data streams to multiple users; each one of the multiple users being able to view and process the one or more video data, streams .
In one instance, the system of these teachings also
includes a gateway subsystem receiving the at least one video data stream from the at least one source of video data and providing the at least one source of video data to the server, In another instance, the gateway subsystem determines the appropriate video stream size that is sent to the Server,
In another embodiment, the system of these teachings includes one or more sources of video data, a server receiving one or more video data streams originating from the one or more sources of video data, and a number of user subsystems, the server providing the one or more video data streams to the number of user subsystems, In another instance, the server determines the appropriate video stream size that is sent to the user (for use with smaller screens example smartphones) , each one of the number of user subsystems having viewing/processing components for viewing/processing the one or more video data streams .
One embodiment of the system of these teachings is shown in Figure 1. As shown in Figure 1 , the present teachings
incorporate five main components: 1) a source of video data 15, such as, but not limited to, one or more IP Video Cameras; 2) a Gateway 20, such as, but not limited to, a mini personal
computer or mini central processing unit; 3) a network, such as but not limited to, the Internet, and/or Intranet 30; 4} a Data Server 40; and 5} the Clients 50 (also referred to as users) . It should be noted that embodiments in which the Gateway and the data server are one and. the same are also within the scope of these teachings.
It should be noted that in one instance, the Gateway and/or the Server and/or at least one of the Clients includes, as shown in Figure 2 , one or more processors 120 and one or more computer usable media 130 that has computer readable code embodied therein, the computer readable code causing the one or more processors to execute at least a portion of the method of these teachings .
In one instance, each IP Video Camera 15 will submit a single video stream to the Gateway 20, which could consist of any image size (e.g. narrow or wide field of view) and
configuration. In one instance, the stream comprises a wide- angle image compressed according to standard compression
formats. In addition to channeling the IP Video Camera stream to the Data Server 40 via the Internet and/or Intranet 30, in one instance, the Gateway 20 also determines the appropriate video stream size that will be sent to the Data Server 40. By having the Gateway regulate the video streams, it will alleviate the burden on the network, thereby addressing one of the problems associated with the conventional technology.
In another instance, an analog camera is used instead of the IP Video Camera 15. In that instance, the Gateway 20
includes a video server, a server that converts analog video signals into IP video streams. The. IP video stream serves as input to the method described hereinabove ,
In one instance, at least one of the one or more sources of video data is a wide-angle or 360° optical system. In one instance, the wide-angle optical system includes a fisheye lens. It should be noted that a variety of catadioptric subsystems can be utilised instead of the fisheye lens.
In one embodiment, at least one client (also referred to as a user subsystem) 50 includes at least one processor and at ; least one computer usable medium having computer readable code embodied therein, the computer readable code causing the at . least one processor to view/process the one or more video data streams. Processing of the one or more video data streams can include correcting the wide-angle image, selecting a privacy region in the image and tracking moving objects using methods such as, but. not limited to, those described in US patent
7523424, entitled "Correction of optical distortion by image processing , " US patent 7893985, entitled "Wide angle electronic, camera with improved peripheral vision , " US patent 7366359, entitled "Image processing of regions in a wide angle video camera," US patent 7450165, entitled "Multiple-view processing in wide-angle video camera," and US patent 7528881, entitled "Multiple object processing in wide-angle video camera," and in US Patent Application Publication 2003/0211903, entitled "Image processing of regions in a. wide angle video camera," all of which are Incorporated by reference herein in their entirety for all purposes. In another embodiment, processing of the one or more video data streams can include correcting a wide-angle image from a wide-angle camera, selecting a region of interest in the image, determining the coordinates of one or more pixels and providing the coordinates to a PTZ camera (in one instance substantially collocated with the wide-angle camera) ,
In one instance, the computer readable code in the at least one computer usable medium at the client also causes the at least one processor to select a region of interest from video data from the wide-angle optical subsystem and receive other video data, the other video data corresponding to the region of interest. (In one instance, the methods disclosed in US patents 7366359, 7450165, and 7528881 ana in US Patent Application
Publication 2008/0211903 can be utilized.)
In another instance, at least one of the one or more sources of video data comprises a wide-angle optical sub-system ana at least one narrow field of view optical sub-system. (See , for example, the system shown in US Patent 6,215,519,
incorporated by reference herein in its entirety for all purposes; it should be noted that, depth information is not always necessary in the present teachings.) In that instance, the other video data is received from the at least one narrow field of view optical sub-system. In one instance, the at least one narrow field of view optical sub-system is a pan-tilt - 200m (PTZ) optical sub-system.
In one embodiment, during operation, the. one or more clients (each also referred to as a user subsystem) 50 receive a web page from the server 40 (in one instance, the operation is initiated by the user 50 requesting a webpage from the server 40) . In this embodiment the viewing/processing, at the one or more clients 50, of the one or more video data streams occurs through the web page being viewed in a web browser and the necessary tools to perform manipulations and analyze the video data stream are provided to each client 5G through applets {the term "applet" is used herein according to the generalized definition provided hereinabove) , (See, for example, R. Orfali and D. Harkey, "Client/Server Programming with Java and CORBA" (ISBN 0-471-2457S-X, pp. 83-95 and pp. 231-236, Incorporated by reference herein in their entirety for all purposes,) The tools or applications can include any or all of the applications disclosed hereinabove.
In one embodiment, the method of these teachings includes receiving, at a server, one or more video data streams (step 210, Fig. 3) and providing, from the server, the one or more video data streams to one or more ("multiple") users (step 220, Fig. 3), each one of the multiple users being able to view and manipulate the one or more video data streams. In one instance, the one or more video data streams can be provided substantially simultaneously to the users (clients) so that, withi the limits of processing and retrieving times, the users perceive that they are receiving the information directly from the sources of video data .
In another embodiment, as operated at the client (user) site, the method of these teachings includes receiving, from a server, one or more video data streams at one of multiple users (step 230, Fig. 3), the one or more video data streams being capable of being received by other of the multiple users and having been initially received at the server from one or more sources of video data.
In one instance, the one or more video data streams originate from one or more sources of video data. In one
embodiment, the one or more sources of video data include one or more wide-angle optical systems. In one instance, the one or more video data streams are received from the Gateway system, the Gateway system receiving the one or more video data streams from one or more sources of video data. In another instance, the Gateway system determines the appropriate video stream size to be sent to the server. It should be noted that this operation can be performed without removing any part of the image or adjusting the image,
'The method of operation of one embodiment of these
teachings is disclosed herein below. It should be noted that the hereinbelow disclosure is not meant to be limiting. Once a single video data stream from an I? Video Camera 15 passes through the Gateway 20, the Data Server 40 will either store the data for later viewing or immediately push the data via an
Internet and/or Intranet connection to a Client 50. The Data Server 40 will also have the ability to reduce the size of the video data, stream to accommodate the system limitations and/or requirements of a Client 50. (In one instance, the reduction of the size of the video data stream is performed at the Gateway 40.) The reduced data stream, however, would not remove any part of the image or adjust the image in any manner, as the only reduction will be to the size and pixilation of the video stream being sent to the Client. This is useful if the Client is a small electronic device such as a Smartphone, which would most likely not be able to process the full video data stream.
Once a live or recorded video data stream is transmitted to a Client, the Client will have the ability to view and
manipulate the video data stream as each Client will be
receiving its own video data stream from the Data Server. To accomplish this task, each Client will be enabled with the necessary tools to perform manipulate and analyze the data stream on the Client system. As such, each Client will have the ability to perform image correction (e.g. de-warp) o the transmitted video data stream and once the necessary image correction is accomplished, the user of the Client would be able to manipulate the image (e.g. pan/til /'zoom) to the users desired view. In addition to being able to operate on the image, each Client may also have the ability to perform
independent, analytics associated with each Client's task (the term "manipulating," as used herein, includes both operating on the image and performing analytics) , Since Data Server is simply sending out a single, data stream to each Client and because the single data stream contains all of the data
transmitted from the camera, each Client is enabled to
independently manipulate and analyse its data stream without directly accessing the camera or interfering with other users. This process will allow each Client, to use different analytic tools and management settings without conflicting other Clients or reducing the flow of information to the Client . Examples of such task ana analytics include tracking object, various alarm triggering events, color correction, privacy zone etc.
In one instance, at least one of the clients 50 includes a mobile communication device 250, as shown in Figure 4. In order to substantially simultaneously remotely monitor one or more regions by at least one mobile communication device, one or more video data streams are received, substantially simultaneously, from a server 40, at one or more mobile communication devices 250; each one of the one or more mobile communication devices being able to view and manipulate the one or more video data streams. In one instance, the one or more received video data streams are processed according to predetermined processing . requirements .
In one instance, the one or more video data streams originate from one or more sources of video data. In one embodiment, the one or more sources of video data include a wide-angle optical system, for example, but not limited to, a fisheye lens. In one instance, the received one or more video data streams are processed, at the mobile communication device, in order to reduce distortion. The processing, in one instance, includes de-warping .
The embodiment shown in Fig. 4 includes five main
components: 1) a source of video data 15, such as, but not limited to, one or more IP Video Cameras; 2) a Gateway 20, such as, but not limited to, a mini personal computer or mini centra processing unit; 3} a network, such as but not limited to, the Internet and/or Intranet 30; 4} a Data Server 40; and 5} one or more users, such as clients 50, at least some of which are mobile communication devices 250, It should be noted that embodiments in which the Gateway and the data server are one an the same are also within, the scope of these teachings. The instances and embodiments of the sources of video data 15, the Gateway 20, the network 30 and the data server 40 disclosed hereinabove also relate to the embodiment shown in Fig. 4,
Figure 5 shows a block diagram of one exemplary embodiment of a mobile communication device. It. should be noted that other embodiments are also within the scope of these teachings. The mobile communication device shown in Fig, 5 includes an antenna 304 configured to send receive signals over a network. The antenna 304 is operatively connected to a communication module 308 that provides an interface between the antenna and the network and one or more processors 312, The one or more
processors 312 are. configured to execute machine readable code which is stored on computer readable med.ia 316 (such as a memory, as shown} , The one or more processors 312 are also configured to store computer readable code in the computer readable media 316. The mobile communica ion device shown in Fig, 5 also has a display 334 configured to present information such as portions of the one or more video data streams, to a user, A user interface 330 is configured to receive user input and provided to the one or more processors 312. In one instance, the user interface 330 is configured as part of the display 334, as, for example, in a touch screen display. In the exemplary embodiment shown in Fig. 5, the mobile communication device also includes a microphone 320 and a speaker 329.
In one embodiment, the computer readable media 316 in the mobile communica ion device has computer readable code that, causes the one or more processors 312 to vie / rocess the one or more video data, streams , In one instance where one or more of the sources of video data includes a wide-angle optical system, the computer readable code causes the one or more processors 312 to dewarp images in the one or more video data streams. In another instance where one or more of the sources of video data includes a wide-angle optical system, the computer readable code causes the one or more processors 312 to select a region of interest from video data from the wide-angle optical system.
In one exemplary embodiment, computer readable code in the mobile communication device implements image warping or
dewar ing using texture mapping between two meshes. The
implementation of warping or de-warping using texture mapping can be used to correct distortion. (Transformation methods such as those disclosed in U.S. Pat. No. 6,323,862 by Ford Oxaal, which is herein incorporated by reference in its entirety and for all purposes, can also be used.) In the exemplary
embodiments in which the graphics API in the computer readable code is OpenGL, a number of the OpenGL functions can be used for texture mapping and warping/de-warping (see, for example,
Programming with OpenGL: Advanced Techniques, SIGGRAPH ¾97
Course, which is Incorporated by reference herein in its
entirety and for all purposes} , in its entirety and for all purposes, can also be used.) In the exemplary embodiments in which the graphics API in the computer readable code is OpenGL, a number of other options, the size texture mapping, are
available for warping/de-warping , For example, these teachings not being limited only to those examples, the pixel zoom
operation in OpenGL can be used in dev/arping.
In embodiments of the method of these teachings operated at the mobile communication device, the method of these
teachings includes receiving, from a. server, one or more video data streams at one of multiple users (step 350, Fig. S) , the one or more video data streams being capable of being received by other of the one or more mobile communication devices or use and having been initially received at the server from one or more sources of video data, In one instance the method also includes processing the received one or more video data streams according to predetermined processing requirements, the
predetermined processing requirements being characteristic of the mobile communication device at. which the processing is occurring. In one instance, the one or more video data streams are processing in order to reduce distortion. The processing, as described hereinabove, can include dewarping , The operation of the server, and, in some embodiments , of the Ga/teway, and characteristics of the video data stream disclosed hereinabove in reference to Fig. 3, also apply to Fig. 6.
For the purposes of describing and defining the present teachings, it is noted that the term ^substantially" is utilised herein to represent the inherent degree of uncertainty that may be attributed to any quantitative comparison, value,
measurement, or other representation. The term "substantially" is also utilized herein to represent the degree by which a quantitative representation may vary from a stated reference without resulting in a change in the basic function of the subject matter at issue.
Elements and components described herein may be further divided, into additional components or joined together to form fewer components for performing the same functions.
Sach computer program may be implemented in any programming language, such as assembly language, machine language, a high- level procedural programming language, or an object-oriented programming language. The programming language may be a
compiled or interpreted programming language.
Each computer prograra may be implemented in a computer program product tangibly embodied in a computer-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a. computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output.
Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CDROM, any other optical medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or
cartridge, all of which are non-transitory. As stated in the IJSPTO 2005 Interim Guidelines for Examination of Patent.
Applications for Patent Subject Matter Eligibility, 1300 Off. Gas. Pat. Office 142 (Nov. 22, 2005), "On the other hand, from a technological standpoint, a signal encoded with functional descriptive material is similar to a computer-readable memory encoded with functional descriptive material, in that they both create a functional interrelationship with a computer. In other words, a computer is able to execute the encoded functions, regardless of whether the format is a disk or a signal . " Although the teachings have been described with respect to various embodiments , it should be realized these teachings are also capable of a wide variety of further and other embodiments within the spirit and scope of the appended claims.
What is claimed is: i

Claims

A method for substantially simultaneously remote monitoring by at least one mobile communication device, the method comprising the steps of;
receiving at one or more mobile communication devices, substantially simultaneously, from a server, one or more video data streams; each one of the one or more mobile communication devices being able to view and manipulate the one or more video data streams .
The method of claim 1 further comprising the step of processing the received one or more video data streams according to predetermined processing requirements the predetermined processing requirements being characteristic of the one of the one or more mobile communica ion devices,
The method of claim I wherein the one or more video data streams originate from one or more sources of video data.
The method of claim 3 wherein at least one of the one or more sources of video data comprises a wide-angle optical sys em.
The method of claim 4 wherein the wide-angle optical system comprises a fisheye lens.
The method of claim 1 wherein the one or more video data streams are received from a gateway system, the gateway system receiving the one or- more video data streams from one or more sources of video data. The method of claim 4 further comprising of processing the received one or more video data streams in order to reduce distortion .
The method of claim 7 wherein the processing comprises dewarping .
A system fox- substantially remote monitoring by multiple users, the system comprising:
a server receiving one or more video data streams originating from, one or more sources of video data; one or more mobile communication devices; said server providing, substantially simultaneously, said one or more video data streams to said one or more mobile communication devices; each one of the one or more mobile communication devices comprising viewing/processing components for viewing/processing said one or more video data, streams .
The system of claim 9 wherein said server comprises;
at least one processor; and
at least one computer usable medium having computer
readable code embodied therein, said computer readable code causing said at least one processor to:
receive said one or more video data streams originating from said one or more sources of video data; and
provide, substantially simultaneously, one or more video data streams to said one or mere mobile communication devices .
11. The system of claim 10 wherein the computer- readable cede also causes said at least one processor to adjust one video data stream in order to meet requirements of one of said one or more mobile communication devices.
12. The system of claim 9 further comprising a gateway
subsystem receiving said one or more video data streams from said one or more sources of video data and providing said one or more sources of video data to said server,
13. The system of claim 12 wherein said gateway subsystem
comprises :
at least one processor; and
at least one computer usable medium having computer readable code embodied therein, said computer readable cede causing said at least one processor to:
receive said one or more video data streams
origina ing from said one or more sources of video data; and provide said one or more video data streams to said se ve ,
14. The system of claim 9 wherein at least one of the one or more sources of video data comprises a wide-angle optical system.
15. The system of claim 14 wherein the wide-angle optical
system comprises a fisheye lens. 16, The system of claim 9 wherein at least one mobile comtrsunica ion device from said one or mobile communication devices comprises:
at least one processor; and
at least one computer usable medium having computer readable code embodied therein, said computer readable code causing said a least one processor to:
view/process said one or more video data streams. 17. The system of clai 16 wherein at least one of the one or more sources of video data comprises a wide-angle optical system; and wherein the computer readable code causing said at least one processor to view/process said one or more video data streams causes said at least one processor to dewarp images in said one or more video data streams.
18. A mobile device comprising:
at least one processor; and
at least one computer usable medium having computer readable code embodied therein, said computer readable code causing said at least one processor to:
receive one or more video data streams from a server; said one or more video data streams originating from one or more sources of video data; and
view/process said one or more video data streams,
19. The mobile device of claim 18 wherein at least one of the one or more sources of video data comprises a wide-angle optical system; and wherein the computer readable code causing said at least one processor to view/process said one or more video data streams causes said at least one processor to dewarp images in said one or more video data streams .
The mobile device of claim 18 wherein at least one of the one or more sources of video data comprises a wide-angle optical system; and wherein the computer readable code also causes said at least one processor to:
select, a region of interest from video data from said wide-angle optical system.
PCT/US2013/046770 2012-06-22 2013-06-20 Method and systems for providing video data streams to multiple users WO2013192400A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/530,507 US9065983B2 (en) 2011-06-27 2012-06-22 Method and systems for providing video data streams to multiple users
US13/530,507 2012-06-22

Publications (1)

Publication Number Publication Date
WO2013192400A1 true WO2013192400A1 (en) 2013-12-27

Family

ID=48793530

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/046770 WO2013192400A1 (en) 2012-06-22 2013-06-20 Method and systems for providing video data streams to multiple users

Country Status (1)

Country Link
WO (1) WO2013192400A1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215519B1 (en) 1998-03-04 2001-04-10 The Trustees Of Columbia University In The City Of New York Combined wide angle and narrow angle imaging system and method for surveillance and monitoring
WO2001084839A1 (en) * 2000-05-03 2001-11-08 Perceptual Robotics, Inc. Camera network management system
US6323862B1 (en) 1992-12-14 2001-11-27 Ford Oxaal Apparatus for generating and interactively viewing spherical image data and memory thereof
WO2007060497A2 (en) * 2005-11-23 2007-05-31 Grandeye, Ltd. Interactive wide-angle video server
US7366359B1 (en) 2004-07-08 2008-04-29 Grandeye, Ltd. Image processing of regions in a wide angle video camera
US7450165B2 (en) 2003-05-02 2008-11-11 Grandeye, Ltd. Multiple-view processing in wide-angle video camera
US7529424B2 (en) 2003-05-02 2009-05-05 Grandeye, Ltd. Correction of optical distortion by image processing
US7528881B2 (en) 2003-05-02 2009-05-05 Grandeye, Ltd. Multiple object processing in wide-angle video camera
US7893985B1 (en) 2004-03-15 2011-02-22 Grandeye Ltd. Wide angle electronic camera with improved peripheral vision
US20120327244A1 (en) * 2011-06-27 2012-12-27 Oncam Global, Inc. Method and systems for providing video data streams to multiple users
US20120327226A1 (en) * 2011-06-27 2012-12-27 Oncam Global, Inc. Method and systems for providing video data streams to multiple users

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6323862B1 (en) 1992-12-14 2001-11-27 Ford Oxaal Apparatus for generating and interactively viewing spherical image data and memory thereof
US6215519B1 (en) 1998-03-04 2001-04-10 The Trustees Of Columbia University In The City Of New York Combined wide angle and narrow angle imaging system and method for surveillance and monitoring
WO2001084839A1 (en) * 2000-05-03 2001-11-08 Perceptual Robotics, Inc. Camera network management system
US7450165B2 (en) 2003-05-02 2008-11-11 Grandeye, Ltd. Multiple-view processing in wide-angle video camera
US7529424B2 (en) 2003-05-02 2009-05-05 Grandeye, Ltd. Correction of optical distortion by image processing
US7528881B2 (en) 2003-05-02 2009-05-05 Grandeye, Ltd. Multiple object processing in wide-angle video camera
US7893985B1 (en) 2004-03-15 2011-02-22 Grandeye Ltd. Wide angle electronic camera with improved peripheral vision
US7366359B1 (en) 2004-07-08 2008-04-29 Grandeye, Ltd. Image processing of regions in a wide angle video camera
US20080211903A1 (en) 2004-07-08 2008-09-04 Grandeye, Ltd. Image processing of regions in a wide angle video camera
WO2007060497A2 (en) * 2005-11-23 2007-05-31 Grandeye, Ltd. Interactive wide-angle video server
US20120327244A1 (en) * 2011-06-27 2012-12-27 Oncam Global, Inc. Method and systems for providing video data streams to multiple users
US20120327226A1 (en) * 2011-06-27 2012-12-27 Oncam Global, Inc. Method and systems for providing video data streams to multiple users

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R. ORFALL; D. HARKEY, CLIENT/SERVER PROGRAMMING WITH JAVA AND CORBA, pages 83 - 95,231-236

Similar Documents

Publication Publication Date Title
US11086594B2 (en) Method and apparatus for controlling surveillance system with gesture and/or audio commands
EP3391639B1 (en) Generating output video from video streams
JP6402228B2 (en) Method and system for providing video data streams to multiple users
EP2926552B1 (en) Window blanking for pan/tilt/zoom camera
US20140244858A1 (en) Communication system and relaying device
WO2015142971A1 (en) Receiver-controlled panoramic view video share
US9065983B2 (en) Method and systems for providing video data streams to multiple users
US20140002645A1 (en) Server and video surveillance method of target place
US9065975B2 (en) Method and apparatus for hands-free control of a far end camera
US20180213185A1 (en) Method and system for monitoring a scene based on a panoramic view
US20120268605A1 (en) Image display device
US10764535B1 (en) Facial tracking during video calls using remote control input
US9826136B2 (en) Control apparatus and method of controlling
CN103475808A (en) Method, system and device for displaying image to operator of image capturing device
KR20190129592A (en) Method and apparatus for providing video in potable device
EP2942945B1 (en) System and method of precision remote ptz control of ip cameras
JP6261191B2 (en) Display control apparatus, display control method, and program
US10555012B2 (en) Method and systems for providing video data streams to multiple users
US10033968B2 (en) Method and systems for providing video data streams to multiple users
WO2013192400A1 (en) Method and systems for providing video data streams to multiple users
US20210110830A1 (en) Voice activity detection using audio and visual analysis
US20230188682A1 (en) System and method for tracking a region of interest
CA2826723C (en) Method and apparatus for controlling surveillance system with gesture and/or audio commands
KR20150021349A (en) Network Camera Dashboard Apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13737471

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13737471

Country of ref document: EP

Kind code of ref document: A1