Abstract:
Described are a system and method for monitoring a location. The system may include a scanner having a digital imager, a processor and a communication device. The scanner is situated at the location. The system also may include a computing arrangement for accessing the scanner. The processor detects when the scanner is in a scanning mode in which information encoded on a scanned item is decoded. When the scanner is detected not to be in the scanning mode, the processor controls the digital imager to operate in a monitoring mode in which images of the location are generated for output to the computing arrangement via the communication device.

Description:
PRIORITY CLAIM  
       [0001]    This application claims the benefit of U.S. Provisional Patent Application Serial No. 60/411,843 filed on Sep. 19, 2002 and entitled “Scanner/Webcam Interface.” This application is expressly incorporated herein, in its entirety, by reference. 
     
    
     
       BACKGROUND  
         [0002]    A growing number of scanning devices (i.e., barcode scanners) bear some similarities to cameras since both devices acquire images. However, scanners only capture images (e.g., scan barcodes) at a short distance, while conventional camera are more effective at longer ranges. Unlike conventional cameras, which are mostly analog, barcode scanners produce digital images, which allow a barcode scanner to easily communicate with another digital device (e.g., computer).  
           [0003]    Some imaging code scanners have a dual functionality of both decoding barcodes and taking general pictures. The scanner employs the two funcitonalities by switching between them through mechanical means. One embodiment of such a scanner is shown in U.S. Pat. No. 6,336,587.  
         SUMMARY OF THE INVENTION  
         [0004]    Described are a system and method for monitoring a location. The system may include a scanner having a digital imager, a processor and a communication device. The scanner is situated at the location. The system also may include a computing arrangement for accessing the scanner. The processor detects when the scanner is in a scanning mode in which information encoded on a scanned item is decoded. When the scanner is detected not to be in the scanning mode, the processor controls the digital imager to operate in a monitoring mode in which images of the location are generated for output to the computing arrangement via the communication device. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0005]    The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute part of the specification, illustrate several embodiments of the invention and, together with the description, serve to explain examples of the present invention. In the drawings:  
         [0006]    [0006]FIG. 1 shows an exemplary embodiment of a system according to the present invention;  
         [0007]    [0007]FIG. 2 shows a flow chart illustrating an exemplary embodiment of a method for the communications between an Image Capturing Arrangement and other devices according to the present invention;  
         [0008]    [0008]FIG. 3 shows another exemplary embodiment of a system according to the present invention including a video server;  
         [0009]    [0009]FIG. 4 shows yet another exemplary embodiment of a system according to the present invention including an observer server; and  
         [0010]    [0010]FIG. 5 shows a further exemplary embodiment of a system according to the present invention including a remote operation server. 
     
    
     DETAILED DESCRIPTION  
       [0011]    The present invention is directed to a system and method for integrating an Image Capturing Arrangement into a digital network.  
         [0012]    [0012]FIG. 1 shows an exemplary embodiment of a system  1  according to the present invention in which an Image Capturing Arrangement (“ICA”)  2  (e.g., a scanner with image capturing capabilities) communicates with a server  4  and any number of clients  6  connected through a communication network  50 . The ICA  2  includes an image capturing device that is capable of capturing images, such as images of barcodes and images of objects as is done with a standard camera. The ICA  2  may preferably include lenses in a bifocal arrangement so that images of objects at varying distances (e.g., near or far) may be clearly captured. Therefore, the ICA  2  may capture images of barcodes which are relatively close as well as capture images of objects that are further away (e.g., acting as a security camera). After capturing images, the ICA  2  transmits them to the server  4 .  
         [0013]    The server  4  communicates with the ICA  2 . The server  4  may be any computer (e.g., PC, laptop, workstation, etc.) that is capable of running a variety of server software required to communicate with the client  6  and the ICA  2 . If the ICA  2  is a “stand-alone” device, the ICA  2  may be connected to the server  4  using any plurality of conventional digital communication standards (e.g., USB, IEEE-1394, serial connection, etc.) Alternatively, the ICA  2  and the server  4  may be physically integrated into one housing to form a single physical device, in which case the USB or serial connection between the server  4  and the ICA  2  may be replaced by a direct electronic connection. The server  4  is connected to the network  50  using, for example, the Transfer Communications Protocol (TCP). TCP is a widely used protocol primarily found in local area networks (LAN).  
         [0014]    The network  50  allows any number of servers  4  or clients  6  to be simultaneously connected. Those skilled in the art will recognize that this arrangement provides for a number of alternative in which the clients  6  and the servers  4  may be connected to each other. For instance, if there are a number of servers  4  connected to the network  50 , any client  6  may view the data captured by all the servers  4 . Alternatively, if there are a number of clients  6  connected to the network  50 , all of those clients  6  may view the images transmitted by the servers  4 .  
         [0015]    The client  6  may also be connected to the network  50  using the same protocol, such as TCP. Similar to the server  4 , the client  6  may be a computer (e.g., PC, laptop, handheld, etc.) capable of communicating with the server  4  and analyzing and/or displaying the data captured by the ICA  2 . The client  6  may run any client software that may be used in communicating with the server  4 , displaying the data captured by the ICA  2 , as well as any other client software that the system  1  according to the present invention requires.  
         [0016]    [0016]FIG. 2 shows a general method according to the present invention for transmission and display of the data captured by the ICA  2  to the client  6 . In step  42 , the ICA  2  captures an image which may be a barcode or other data or an image (e.g., a photograph). The capturing process may be initiated in a number of ways. For instance, the ICA  2  maybe operated locally (e.g., an employee may use the ICA  2  to capture barcode labels or take pictures), remotely (e.g., an employee may use the client  6  to operate the ICA  2  to scan the labels or pictures), or automatically (e.g., the ICA  2  may be stationary and after a period of inactivity may begin taking pictures).  
         [0017]    In step  43 , the ICA  2  transmits the image or the barcode to the server  4 . The server  4  communicates with the ICA  2  using specialized software located therein. In step  44 , the server  4  analyzes the data captured by the ICA  2  in order to determine if it is a barcode or an image. Determining whether the data is of one type or another depends on the preferences of the client  6 . The client  6  may be only interested in viewing, for example, the images and not barcodes. Therefore, the server  4  would be used to filter the unwanted data and transmit only the desired data.  
         [0018]    In step  46 , the server  4  transmits the desired data to the client  6  through the network  50 . Both the client  6  and the server  4  have specialized software that is used in communicating with each other. In step  48 , the client  6  displays the images transmitted by the server  4  using specialized client software.  
         [0019]    The ICA  2 , the server  4  and the client  6  may have a variety of roles and functions. Each of the embodiments discussed below and illustrated in FIGS.  3 - 5  vary based on the amount of access that the client  6  has to the ICA  2 . In the first exemplary embodiment, shown in FIG. 3, the client  6  observes the images that the ICA  2  captures. In the second exemplary embodiment, shown in FIG. 4, the client  6  observes all the data captured by the ICA  2 , including decoded text from barcodes and captured images of objects. In the third exemplary embodiment, shown in FIG. 5, the client  6  observes all the data captured by the ICA  2  as well as controls the ICA  2  from a remote location.  
         [0020]    The client  6  may receive images from a plurality of the ICAs  2 . These images may be displayed on a single display of the client  6 . In order to control bandwidth and a response time, the subsampled images that are reduced in size may be first provided to client  6 . For example, the ICAs  2  may provide only every fifth images and this is only a quarter of the regular sized image. If client  6  is interested in a particular image, then upon making the selection, the corresponding ICA  2  provides ether a single full sized image, or a sequence of higher-resolution images at the highest possible repetition rate. This allows lower the bandwidth necessary ro deliver images and expedite the response time for selecting and providing the images to the client  6 .  
         [0021]    [0021]FIG. 3 shows the first exemplary embodiment of the present invention. The server  4  contains two server programs, a web server  8  and a video server  10 . The client  6  contains two client programs: a web client  12  (e.g., Microsoft Internet Explorer) and a video client  14  (e.g., in the form of a Java applet which is embedded in the web client  12 ).  
         [0022]    The web client  12  is preferably capable of running some sophisticated user program (e.g., written in Java) so that it is capable of displaying the video client  14  and other content (e.g., time and location of the picture being shown by the video client  14 ) based on the information transmitted from the web server  8 . The video client  14  displays the images directly received from the video server  10 .  
         [0023]    The web server  8  provides the client  6  with the video client  14 . The web server  8  specifies the position of the video client  14 , as well as its shape, size and other attributes. The web server  8  also provides the web client  12  with other content. For instance, the web server  8  may provide normal web pages unrelated ti the video images being served, a camera location description or other information related to the video/images being served.  
         [0024]    The Java language may preferably be used to write the video client  14  since the Java language provides the highest level of cross-platform compatibility (e.g., a PC server and a MAC client can still communicate). While programs written using the Java language provide a high level of cross-platform compatibility, they are relatively slow when compared to similar programs written in high-level languages (e.g., C, C++, etc.). Therefore, traditional high-level languages may be used to write the web server  8  so that the web server  8  is sufficiently fast and powerful.  
         [0025]    The video server  10  has a dual purpose. First, the video server  10  communicates with the ICA  2  to obtain captured images. Second, the video server  10  then communicates with the video client  14  to transmit the captured video images thereto.  
         [0026]    The video server  10  is operational only during periods when the ICA  2  is not being used to capture barcodes, and is instead acting as a camera. It is preferred that the activation or deactivation of the video server  10  may be contingent on whether the ICA  2  is being used as a camera. It may be beneficial for the ICA  2  to switch between its dual functions (e.g., scanner and camera) automatically. For instance, when the ICA  2  is not being utilized to capture barcodes and is in standby mode, it may automatically switch into camera mode. The camera mode may then continue running until the ICA  2  is reactivated for decoding barcodes. Simultaneous performance of the ICA&#39;s  2  dual functions is impractical. First, it is cumbersome to transmit scanned barcodes and captured photographic images simultaneously because data transmission rates would be significantly decreased. Second, there is little utility in viewing the text of decoded barcodes and the related images simultaneously. Third, the transmission of images would reduce the processing power of the barcode scanning and, thus, making it less responsive when it is decoding barcodes.  
         [0027]    [0027]FIG. 4 shows a second exemplary embodiment of the present invention. The second embodiment is substantially similar to the first one shown in FIG. 3 except for the server and client software contained within the server  4  and the client  6 . The server  4  according to the second exemplary embodiment includes an observer server  20  which is always active. In contrast, in the first embodiment, the server  4  of the second embodiment includes a video server  10  which is activated when a client is connected to the server and requests images or video stream. Since the observer server  20  is constantly active, the observer server  20  transmits all the data captured by the ICA  2 , including scanned barcodes and captured photographic images to an observer client  22  which is included in the client  6 .  
         [0028]    The client  6  contains the observer client  22  which is software designed to communicate with the observer server  20  and to display the transmitted data. Since the observer server  20  transmits all the data it acquires from the ICA  2  to the client  6  including textual data (e.g., representing decoded barcode), the client  6  may either display all the images received or it may include filter software that displays only the desired output transmitted by the server  4 . The observer server  20  and the observer client  22  may preferably be written in a high-level language in order to insure that the software is sufficiently fast and powerful.  
         [0029]    [0029]FIG. 5 shows a third exemplary embodiment of the present invention which provides remote access to the ICA  2  controls. The ICA  2 , the server  4  and the client  6  according to this embodiment may preferably be set up in substantially same manner as the first and second embodiments shown in FIGS. 1 and 2. The server  4  contains a remote-operation server  30  and the client  6  contains a remote-operation client  32 . The remote-op server  30  may have two functions. First, the remote-op server  30  communicates with the ICA  2  in a manner substantially similar to that described above in regard to the previous embodiments of the present invention. Second, the remote-op server  30  communicates with the remote-op client  32 , thus, allowing the remote-op client  32  to obtain the data captured by the ICA  2  and to display the data in order to insure that the software is sufficiently fast and powerful.  
         [0030]    In contrast to the previous embodiments, the information flows in both directions in this embodiment (i.e., from the client  6  to the ICA  2  and from the ICA  2  to the client  6 ). The remote-op client  32  accepts user input and communicates this data to the remote-op server  30 . The remote-op server  30  then transmits the user input to the ICA  2 . Hence, the user may control the operation of the ICA  2  from a remote location. The remote-op server  30  and the remote-op client  32  may preferably be written in a high-level language.  
         [0031]    The first embodiment of the present invention shown in FIG. 3 may be implemented in an environment where there is an existing infrastructure of ICAs  2  and there is a risk of security failure. One such possible environment is a supermarket. A modern supermarket may contain the ICA  2 , for example, at each check-out lane. Supermarkets are also very susceptible to shoplifting because of the multitude of items that may easily be concealed by shoplifters. Thus, unmanned check-out lanes present a security risk in an already lax theft prevention system. By utilizing the present invention, the ICA  2  located in an unmanned check-out lane may automatically switch to a camera mode and record the surroundings when it is not being used to captures barcode labels. A supermarket employee may be monitoring the video feeds from the ICAs  2  positioned in all unmanned check-out lanes through the client  6  which would display a web client  12 . The video stream generally may be subsampled for speedy transmission and to lessen network bandwidth requirement. When one video stream from one ICA  2 , among several video streams being displayed in the web client  12 , shows interesting activity, the employee could click a pointing device (e.g., a mouse) in the video area, which in turn sends a command to the video server  10  to request a zoomed-in, or full resolution, image from the ICA  2 .  
         [0032]    The second embodiment of the present invention shown in FIG. 4 may be utilized in a working environment where an employee requires remote access to another terminal. For instance, if a piece of electronic equipment (e.g., a cash register) at a supermarket check-out lane is no longer operational, all the customers waiting to check-out with their groceries may need to be relocated to another lane. As described above, in the embodiment shown in FIG. 4, the server  4  may transmit barcodes as well as images which allows the employee to transmit barcodes to a remote client  6 . To avoid inconvenience, the employee may use the ICA  2 , located in the check-out lane with a broken client  6 , to scan barcode labels, and then transmit the barcodes to another client  6 , located in another lane where another client  6  is functioning properly. Hence, the remote client  6  may serve as a quick substitute for the broken client  6 .  
         [0033]    The third embodiment of the present invention, which is shown in FIG. 5, may be utilized in a situation where there is no user available to control the ICA  2 . For instance, in an automated factory assembly line where the ICAs  2  are used to keep track of the inventory utilized in the manufacturing process (i.e., so that the production process may be adjusted automatically) usually there are no users of ICAs  2 . Instead, there is only a remote operator. In some cases, the remote operator may need to input specific information or assist certain ICAs  2 . The present invention provides the remote operator with the ability to remotely communicate with the ICAs  2  via the client  6 . Thus, a single remote operator may keep track of a substantial portion of an assembly line, minimizing the amount of personnel needed to perform this task.  
         [0034]    Furthermore, the present invention may be utilized by a law enforcement agency. For example, a central police station may monitor several scanners mounted on patrol cars or on police officers in the field. Since a number of police officers are already equipped with barcode scanners and many other devices, the present invention would assist in reducing the number of devices they need to carry. Their scanners would have the functionality of the ICA  2  and capable of transmitting video which is very valuable to the law enforcement agency. For example, the video may be used as evidence in criminal trials, allows an operator of the central station to summon additional backup, etc.  
         [0035]    It will be apparent to those skilled in the art that various modifications and variations can be made in the structure and the methodology of the present invention, without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.