United States Patent6930709
Creamer , ; et al.August 16, 2005

Title

Integrated internet/intranet camera

Abstract

An integrated Internet camera includes, as embedded components contained within the camera body and controlled by a microcontroller, at least a network interface device for connecting to the Internet, a transport control device for packetizing according to Internet protocols, a file transfer device for communicating with a destination user directory on the Internet, and a transmission initiating device for initiating the connection and transfer operations of the file transfer device and transport control device. The network interface device may be a modem, network adapter, or adapter for connection to the Internet. Upon capturing the digital image, the camera initiates a connection to the Internet, connects to the destination user directory, and uploads the digital images. Thereafter, the digital images are available to authorized (or any) user having access to the Internet.


Inventors:Creamer; Rob (Boulder, CO), Knapp; Walter  (Boulder, CO), Koch; Mark  (Broomfield, CO), Araki; Yoshiyuki  (Saitama-ken, JP), Helton; Richard  (Boulder, CO)
Assignee:PENTAX of America, Inc. (Montvale, NJ)
Appl. No.:204289
Filed:December 3, 1998

Current U.S. Class:348/211.3 348/552 348/207.1 
Field of Search:348/207.1,211.3,211.1,211.8,211.12,552,231.2,231.6,14.01-14.16,36,211.6,154,155,158 358/403 704/203

U.S. Patent Documents
20010024232September 2001Suzuki
20030025803February 2003Nakamura et al.
20030208567November 2003Gross
20040012811January 2004Nakayama
5185667February 1993Zimmermann
5283655February 1994Maeno
5477264December 1995Sarbadhikari et al.
5479206December 1995Ueno et al.
5612732March 1997Yuyama et al.
5633678May 1997Parulski et al.
5635983June 1997Ohmori
5646684July 1997Nishizawa et al.
5724155March 1998Saito
5734425March 1998Takizawa et al.
5796426August 1998Gullichsen et al.
5818537October 1998Enokida et al.
5870135February 1999Glatt et al.
5887140March 1999Itsumi et al.
5911044June 1999Lo et al.
5990941November 1999Jackson et al.
6005611December 1999Gullichsen et al.
6034716March 2000Whiting et al.
6038296March 2000Brunson et al.
6043837March 2000Driscoll, Jr. et al.
6047264April 2000Fisher et al.
6061502May 2000Ho et al.
6065062May 2000Periasamy et al.
6067571May 2000Igarashi et al.
6094221July 2000Andersion
6134606October 2000Anderson et al.
6147598November 2000Murphy et al.
6167469December 2000Safai et al.
6188431February 2001Oie
6195511February 2001Harada
6204877March 2001Kiyokawa
6208426March 2001Saito et al.
6226449May 2001Inoue et al.
6256059July 2001Fichtner
6278481August 2001Schmidt
6300976October 2001Fukuoka
6331869December 2001Furlan et al.
6360362March 2002Fichtner et al.
6389464May 2002Krishnamurthy et al.
6407752June 2002Harnett
6438587August 2002Kitamura
6441924August 2002Matsui
6452629September 2002Aizawa et al.
6525761February 2003Sato et al.
6539547March 2003Driscoll, Jr. et al.
6567122May 2003Anderson et al.
6571271May 2003Savitzky et al.
6591279July 2003Emens et al.
6594032July 2003Hiroki et al.
6603502August 2003Martin et al.
6624846September 2003Lassiter
6636259October 2003Anderson et al.
6720987April 2004Koyanagi et al.
Foreign Patent Documents
08102837Apr., 1996JP
08171691Jul., 1996JP
Other References
33 Connectionless Transport: UDP, Ross and Kurose; http://www-net.cs.umass.edu/kurose/transport/UDP.html; 1996-2000. .
P.M. Corcoran et al., "Internet Enabled Digital Photography," IEEE, pp. 84-84. .
"NEC Picona digital camera, Instruction Manual for PC-DC200 and PC-DC200K", dated Feb. 1997. .
A verified English language translation of "NEC Picona digital camera, Instruction Manual for PC-DC200 and PC-DC200K", dated Feb. 1997..~
Primary Examiner: Garber; Wendy R.
Assistant Examiner: Villecco; John M.
Attorney, Agent or Firm:Greenblum & Bernstein, P.L.C.

Parent Case Text



The present application claims the benefit of U.S. Provisional Application No. 60/067,310, filed Dec. 4, 1997, and U.S. Provisional Application No. 60/085,585, filed May 15, 1998, which are expressly incorporated herein by reference in their entireties.

Claims


What is claimed is:
1. An integrated Internet camera for transmitting digital images to an Internet address, comprising: an image pickup; an optical system for forming an image on the image pickup; an image capturing circuit, for capturing digital images from the image pickup; a network interface device connectible to the Internet for transmission of the digital image files to the Internet; a file transfer device for communicating, via the network interface device, with a destination shell account at a predetermined Internet address and for transferring the digital image files to the destination shell account according to a predetermined file transfer protocol, the digital image files in the destination shell account then being available to users accessing the Internet; a transport control device for packetizing the digital image files according to a predetermined Internet transport control protocol and for controlling addressing of the packetized digital image files to the predetermined Internet address; a self-initiating transmission initiating device for self-initiating a connection with the Internet via said transport control device and said network interface device; a first scheduling device, including at least one timer, for scheduling transfer of the digital image files to the destination shell account by said transport control device and said file transfer device; a microcontroller that controls the operations and communication between each of said optical system, said image capturing circuit, said network interface device, said file transfer device, transport control device, said transmission initiating device, and said first scheduling device; and a camera body, within which are housed all of said image pickup device, said optical system, said image capturing circuit, said network interface device, said file transfer device, transport control device, said self-initiating transmission initiating device, said first scheduling device, and said microcontroller.

2. The integrated Internet camera according to claim 1, wherein said network interface device includes a modem for connecting to a telephone system connected to the Internet, and said self-initiating transmission initiating device including a telephone protocol communication device for self-initiating a telephone connection with the Internet via said modem, according to a predetermined telephone transmission protocol, and for accommodating both of said predetermined telephone transmission protocol and said predetermined Internet transport control protocol.

3. The integrated Internet camera according to claim 1, further comprising: a configuration device, including a configuration information retrieving device for retrieving configuration information from said destination shell account and a configuration setting device that sets operational parameters of at least one of said image capturing circuit, said network interface device, said file transfer device, transport control device, said self-initiating transmission initiating device, and said first scheduling device according to said configuration information.

4. The integrated Internet camera according to claim 1, further comprising: a serial interface adapted to connect to a setup device, said serial interface receiving commands for controlling said integrated Internet camera from said connected setup device.

5. The integrated Internet camera according to claim 1, at least one of said transport control device and file transfer device further comprising a network authentication device for providing network login authentication for connecting to said predetermined Internet address via the network interface device.

6. The integrated Internet camera according to claim 1, said file transfer device further comprising a directory selecting device for setting and transmitting a destination directory and filename for transferring said digital image files to said destination shell account.

7. The integrated Internet camera according to claim 1, further comprising a second scheduling device, including at least one timer, for scheduling image captures by said image capturing circuit.

8. The integrated Internet camera according to claim 7, wherein said digital image files include information representing a status of said at least one timer.

9. The integrated Internet camera according to claim 7, further comprising a character generator for generating textual information in said captured digital images, wherein said character generator generates textual information in said captured digital images.

10. The integrated Internet camera according to claim 9, wherein said generated textual information represents a status of said at least one timer.

11. The integrated Internet camera according to claim 1, said image pickup including a color component system for forming a color image, and said integrated Internet camera further comprising a color adjusting circuit for adjusting color properties of said captured digital images.

12. The integrated Internet camera according to claim 1, further comprising: an image compression circuit for generating compressed digital image files from the captured digital images, so that the file transfer device transfers the compressed digital image files to the destination shell account and the transport control device packetizes the compressed digital image files according to the predetermined Internet transport control protocol.

13. The integrated Internet camera according to claim 1, wherein said predetermined Internet transport control protocol does not detect errors or retransmit erroneous data, thereby increasing a rate of image transfer by said file transfer device.

14. The integrated Internet camera according to claim 1, further including an E-mail transmission device and E-mail message assembler, wherein said E-mail message assembler assembles E-mail messages representing a status of said camera and said E-mail transmission device transmits said E-mail messages to a predetermined E-mail address via said transport control device and said self-initiating transmission initiating device.

15. The integrated Internet camera according to claim 14, wherein said E-mail message assembler assembles E-mail messages including the digital image files, and wherein said E-mail transmission device transmits said E-mail messages including the digital image files to a predetermined E-mail address via said transport control device and said self-initiating transmission initiating device.

16. The integrated Internet camera according to claim 1, further comprising a trigger device linked to said microcontroller, wherein said microcontroller initiates an image capture and transfer of the digital image files to the destination shell account via said file transfer device, said transport control device, and said self-initiating transmission initiating device in response to triggering of said trigger device.

17. The integrated Internet camera according to claim 1, further comprising a video input for receiving a standard video signal, wherein the image capturing circuit captures the digital images from the video input instead of from the image pickup.

18. The integrated Internet camera according to claim 1, further comprising a video output for sending a standard video signal, wherein the digital image files are transmitted as video images to the video output.

19. An Internet camera system for transmitting digital images via the Internet, comprising: a destination shell account having a user directory at a predetermined Internet address; an accessing device for accessing the user directory of the destination shell account via the Internet; and an integrated Internet camera having a camera body, said camera body containing: an image capturing system, for capturing digital images; a network interface device connectible to the Internet for transmission of the digital image files to the Internet; a file transfer device for communicating, via the network interface device, with the destination shell account and for transferring the digital image files to the user directory of the destination shell account according to a predetermined file transfer protocol, the digital image files in the user directory of the destination shell account then being available to the accessing device accessing the Internet; a transport control device for packetizing the digital image files according to a predetermined Internet transport control protocol and for controlling addressing of the packetized digital image files to the predetermined Internet address; a self-initiating transmission initiating device for self-initiating a connection with the Internet via said transport control device and said network interface device; and an E-mail transmission device and E-mail message assembler, wherein said E-mail message assembler assembles E-mail messages representing a status of said camera and said E-mail transmission device transmits said E-mail messages to a predetermined E-mail address via said transport control device and said self-initiating transmission initiating device.

20. The Internet camera system according to claim 19, wherein said network interface device includes a modem for connecting to a telephone system connected to the Internet, and said transmission initiating device including a telephone protocol communication device for self-initiating a telephone connection with the Internet via said modem, according to a predetermined telephone transmission protocol, and for accommodating both of said predetermined telephone transmission protocol and said predetermined Internet transport control protocol.

21. The Internet camera system according to claim 19, said integrated Internet camera further comprising: a first scheduling device, including at least one timer, for scheduling transfer of the digital image files to the destination shell account by said transport control device and said file transfer device.

22. The Internet camera system according to claim 21, said integrated Internet camera further comprising a character generator for generating textual information in said captured digital images, wherein said character generator generates textual information in said captured digital images.

23. The Internet camera system according to claim 22, wherein said generated textual information represents a status of said at least one timer.

24. The Internet camera system according to claim 19, said integrated Internet camera further comprising a second scheduling device, including at least one timer, for scheduling image captures by said image capturing circuit.

25. The Internet camera system according to claim 24, wherein said digital image files include information representing a status of said at least one timer.

26. The Internet camera system according to claim 19, said integrated Internet camera further comprising: a serial interface adapted to connect to a setup device, said serial interface receiving commands for controlling said integrated Internet camera from said connected setup device.

27. The Internet camera system according to claim 19, at least one of said transport control device and file transfer device further comprising a network authentication device for providing network login authentication for connecting to said predetermined Internet address via the network interface device.

28. The Internet camera system according to claim 19, said Internet camera system further comprising: an image compression system for generating compressed digital image files from the captured digital images, so that the file transfer device transfers the compressed digital image files to the destination shell account and the transport control device packetizes the compressed digital image files according to the predetermined Internet transport control protocol.

29. The Internet camera system according to claim 19, wherein said predetermined Internet transport control protocol does not detect errors or retransmit erroneous data, thereby increasing a rate of image transfer by said file transfer device.

30. The Internet camera system according to claim 19, wherein said E-mail message assembler assembles E-mail messages including the digital image files, and wherein said E-mail transmission device transmits said E-mail messages including the digital image files to a predetermined E-mail address via said transport control device and said self-initiating transmission initiating device.

31. The Internet camera system according to claim 19, said integrated Internet camera further comprising a trigger device linked to said integrated Internet camera, wherein said integrated Internet camera initiates an image capture and transfer of the digital image files to the destination shell account via said file transfer device, said transport control device, and said self-initiating transmission initiating device in response to triggering of said trigger device.

32. The Internet camera system according to claim 19, said integrated Internet camera further comprising: a configuration device, including a configuration information retrieving device for retrieving configuration information from the user directory of said destination shell account and a configuration setting device that sets operational parameters of at least one of said image capturing circuit, said network interface device, said file transfer device, transport control device, said self-initiating transmission initiating device, and said first scheduling device according to said configuration information.

33. The Internet camera system according to claim 19, further comprising a standard video source, the integrated Internet camera further comprising a video input for receiving a standard video signal from the standard video source, wherein the image capturing circuit captures the digital images from the video input instead of from the image pickup.

34. The Internet camera system according to claim 19, further comprising a standard video display, the Internet camera system further comprising a video output for sending a standard video signal to the standard video display, wherein the digital image files are transmitted as video images to the video output.

35. An integrated network-capable camera, comprising: an image pickup; an optical system for forming an image on the image pickup; an image capturing circuit, for capturing digital images from the image pickup; a network interface device connectible to a computer network for transmission of the digital images as digital image files across the computer network; a file transfer device for communicating, via the network interface device, with a destination computer at a selected network address on the computer network and for transferring the digital image files to the destination computer according to a predetermined file transfer protocol; a transport control device for controlling addressing of the digital image files to the selected network address; a self-initiating transmission initiating device for self-initiating a connection with the computer network via said transport control device and said network interface device; a first scheduling device, including at least one timer, for scheduling transfer of the digital image files to the destination computer at the selected network address by said transport control device and said file transfer device; a microcontroller that controls the operations and communication between each of said optical system, said image capturing circuit, said network interface device, said file transfer device, transport control device, said transmission initiating device, and said first scheduling device; and a camera body, within which are housed all of said image pickup device, said optical system, said image capturing circuit, said network interface device, said file transfer device, transport control device, said transmission initiating device, said first scheduling device, and said microcontroller.

36. The integrated network-capable camera according to claim 35, wherein the computer network includes a local area network.

37. The integrated network-capable camera according to claim 36, wherein the local area network includes an intranet operating under internet communication protocols.

38. The integrated network-capable camera according to claim 35, wherein the computer network operates under internet communication protocols and is connected to the Internet.

39. The integrated network-capable camera according to claim 35, further comprising: a configuration device, including a configuration information retrieving device for retrieving configuration information from said destination computer and a configuration setting device that sets operational parameters of at least one of said image capturing circuit, said network interface device, said file transfer device, transport control device, said self-initiating transmission initiating device, and said first scheduling device, according to said configuration information.

40. The integrated network-capable camera according to claim 35, further including an E-mail transmission device and E-mail message assembler, wherein said E-mail message assembler assembles E-mail messages representing a status of said camera and said E-mail transmission device transmits said E-mail messages to a predetermined E-mail address via said transport control device and said self-initiating transmission initiating device.

41. The integrated network-capable camera according to claim 40, further including an E-mail transmission device and E-mail message assembler, wherein said E-mail message assembler assembles E-mail messages having the digital image files appended thereto, and wherein said E-mail transmission device transmits said E-mail messages, including the digital image files appended thereto, to a predetermined E-mail address via said transport control device and said self-initiating transmission initiating device.

42. The integrated network-capable camera according to claim 35, further comprising a trigger device linked to said microcontroller, wherein said microcontroller initiates an image capture and transfer of the digital image files to the destination computer via said file transfer device, said transport control device, and said self-initiating transmission initiating device, in response to triggering of said trigger device.

43. The integrated network-capable camera according to claim 35, wherein the self-initiating transmission initiating device disconnects from the computer network upon the completion of a successful transfer of the digital image files to the destination device at the selected network address, and re-initiates subsequent new connections with the computer network according to a schedule of digital image file transfers scheduled by said first scheduling device.

44. The integrated network-capable camera according to claim 43, wherein the self-initiating transmission initiating device connects and disconnects to a wireless network.

45. The integrated network-capable camera according to claim 44, wherein the self-initiating transmission initiating device connects and disconnects to a satellite network.

46. The integrated network-capable camera according to claim 35, further comprising a memory including a plurality of image slots for respectively storing the digital images as digital image files.

47. The integrated network-capable camera according to claim 46, wherein each of said image slots includes a corresponding parameter storage area, each parameter storage area storing parameters for only a corresponding digital image file to be stored in the corresponding image slot.

48. The integrated network-capable camera according to claim 47, wherein each parameter storage area includes a camera position parameter for positioning the camera according to a corresponding image composition for each image slot.

49. The integrated network-capable camera according to claim 35, said self-initiating transmission initiating device further comprising: a connection failure detection and alternative connection system, that detects a failure of said self-initiating transmission initiating device to self-initiate a connection with the computer network via said transport control device and said network interface device, and that directs said self-initiating transmission initiating device to self-initiate an alternative connection with the computer network when said failure is detected.

50. The integrated network-capable camera according to claim 49, wherein said alternative connection is an alternative public telephone connection.

51. The integrated network-capable camera according to claim 35, wherein said transport control device obtains a numerical network address corresponding to the selected network address from a selected network directory, and said self-initiating transmission initiating device further comprises a connection failure detection and alternative connection system that detects a failure of said transport control device to obtain said numerical network address from said selected network directory and directs said transport control device to obtain said network address from an alternative network directory.

52. The integrated network-capable camera according to claim 35, further comprising: a connection quality adaptation device that detects changes in a connection quality of said network connection and that modifies at least one operating parameter of said integrated network-capable camera in response to said connection quality of said network connection crossing a selected threshold connection quality.

53. The integrated network-capable camera according to claim 52, further comprising: an image compression circuit for generating compressed digital image files from the captured digital images, so that the file transfer device will be able to transfer compressed digital image files, wherein said connection quality adaptation device changes a compression ratio of compressed digital image file generation by said image compression circuit in response to the connection quality of said network connection crossing a selected threshold connection quality.

54. The integrated network-capable camera according to claim 52, wherein said connection quality adaptation device changes a selected connection pathway and directs said self-initiating transmission initiating device to self-initiate an alternative connection with the computer network in response to the connection quality of said network connection crossing a selected threshold connection quality.

55. The integrated network-capable camera according to claim 35, further comprising an event log transmission device and event log assembler, wherein said event log assembler assembles an event log representing a history of recorded events in said camera and said event log transmission device transmits said event log to a predetermined network address via said transport control device and said self-initiating transmission initiating device.

56. The integrated network-capable camera according to claim 55, wherein said predetermined network address includes a predetermined E-mail address, and said event log is transmitted as a part of an E-mail message.

57. The integrated network-capable camera according to claim 55, wherein said event log assembler includes an error logging portion, and wherein said event log assembles an event log including a history of recorded errors in said camera.

58. The integrated Internet camera according to claim 35, further comprising a video output for sending a standard video signal, wherein a current digital image from the image pickup is transmitted as a video image to the video output.

59. The integrated Internet camera according to claim 35, further comprising a video output for sending a standard video signal, wherein a stored digital image file is transmitted as a video image to the video output.

60. A network-capable self-controlled camera, comprising: a camera body, said camera body housing: an image pickup; an optical system for forming an image on the image pickup; an image capturing circuit, for capturing digital images from the image pickup; a network interface device connectible to a computer network for transmission of the digital images, as digital image files, across the computer network; a file transfer device for communicating, via the network interface device, with a destination computer at a selected network address on the computer network, and for transferring the digital image files to the destination computer according to a predetermined file transfer protocol; a transport control device for controlling addressing of the digital image files to the selected network address according to a transport control protocol that does not retransmit erroneous data, thereby increasing a rate of image transfer by said file transfer device; a self-initiating transmission initiating device for self-initiating a connection with the computer network and for self-initiating a connection with the destination computer at the selected network address via said transport control device and said network interface device; a self-initiating transfer initiating device for self-initiating transfer of the digital image files to the destination computer after said self-initiating transmission initiating device self-initiates said connection with said destination computer, such that said self-controlled camera connects and transfers the digital image files to the destination computer without receiving commands from an external device.

61. A network-capable self-controlled camera, comprising: a camera body, said camera body housing: an image pickup; an optical system for forming an image on the image pickup; an image capturing circuit, for capturing digital images from the image pickup; a network interface device connectible to a computer network for transmission of the digital images, as digital image files, across the computer network; a file transfer device for communicating, via the network interface device, with a destination computer at a selected network address on the computer network, and for transferring the digital image files to the destination computer according to a predetermined file transfer protocol; a transport control device for controlling addressing of the digital image files to the selected network address; a set of transfer-initiating devices for self-initiating transfer of the digital image files to the destination computer, including: a transfer-initiating trigger device that self-initiates an image capture and transfer of the digital image files to the destination computer at the selected network address via said file transfer device, and said transport control device in response to triggering of said transfer-initiating trigger device; and a transfer-initiating scheduling device, including at least one timer, that self-initiates an image capture and transfer of the digital image files to the destination computer at the selected network address via said file transfer device and said transport control device in response to a schedule established by said transfer-initiating scheduling device, wherein said self-controlled camera transfers the digital image files to the destination computer according to said transfer-initiating trigger device and said transfer-initiating scheduling device.

62. The network-capable self-controlled camera according to claim 61, further comprising: a self-initiating transmission initiating device for self-initiating a connection with the computer network and for self-initiating a connection with the destination computer at the selected network address via said transport control device and said network interface device when a transfer is required, wherein said self-controlled camera initiates a connection and transfers the digital image files to the destination computer according to both said transfer-initiating trigger device and said transfer-initiating scheduling device.

63. The network-capable self-controlled camera according to claim 61, wherein said transfer-initiating trigger device is connected to an external trigger that generates a trigger signal, and said transfer-initiating trigger device self-initiates an image capture and transfer of the digital image files to the destination computer upon receiving the trigger signal.

64. An integrated network-capable camera, comprising: an optical system for forming an image; an image pickup upon which the image is formed; an analog video input capable of receiving standard video signals from an external video source; an image capturing circuit, for capturing digital images from both the image pickup and from the analog video input as digital image files; a network interface device connectible to a computer network for transmission of the digital image files across the computer network; a file transfer device for communicating, via the network interface device, with a destination computer at a selected network address on the computer network and for transferring the digital image files to the destination computer, wherein said file transfer device transfers both digital image files based on the standard video signals and digital image files from the image pickup; a transport control device for controlling addressing of the digital image files to the selected network address; an E-mail transmission device that assembles E-mail messages having the digital image files associated therewith, and wherein said E-mail transmission device transmits the E-mail messages, including the digital image files associated therewith, to a predetermined E-mail address, wherein said E-mail transmission device transmits the E-mail messages according to a predetermined schedule stored in a memory associated with said microcontroller; a microcontroller that controls operations and communication among said image pickup, said optical system, said image capturing circuit, said network interface device, said file transfer device, said transport control device, and said video input; and a camera body, within which are housed all of said image pickup, said optical system, said image capturing circuit, said network interface device, said file transfer device, said transport control device, said video input, and said microcontroller.

65. The integrated network-capable camera according to claim 64, further comprising an analog video output, and wherein said video output selectively outputs standard video signals containing images from said image pickup or images based on the standard video signals received by said video input.

66. The integrated network-capable camera according to claim 64, wherein a plurality of video inputs is provided, each of said plurality of video inputs being connectible to a CCTV network.

67. The integrated network-capable camera according to claim 64, wherein the local area network includes an intranet operating under internet communication protocols.

68. The integrated network-capable camera according to claim 64, wherein the computer network operates under internet communication protocols and is connected to the Internet.

69. The integrated network-capable camera according to claim 64, wherein said E-mail transmission device transmits the E-mail messages in response to a signal received from a trigger device linked to said microcontroller.

70. The integrated network-capable camera according to claim 69, wherein said trigger device is connected to an external trigger via a trigger input.

71. The integrated network-capable camera according to claim 69, wherein said trigger device is associated with one of a motion sensor or trip switch.

72. The integrated network-capable camera according to claim 64, further comprising a trigger device linked to said microcontroller, wherein said microcontroller initiates an image capture and transfer of the digital image files to the destination computer, in response to triggering of said trigger device.

73. The integrated network-capable camera according to claim 72, wherein said trigger device is connected to an external trigger via a trigger input.

74. The integrated network-capable camera according to claim 72, wherein said trigger device is associated with one of a motion sensor or trip switch.

75. The integrated network-capable camera according to claim 64, further comprising a configuration device that retrieves a configuration information from the destination computer, and a configuration setting device that sets operational parameters of at least one of said image capturing circuit, said network interface device, said file transfer device, and said transport control device, according to the retrieved configuration information.

76. The integrated network-capable camera according to claim 64, wherein said camera receives information containing pan, tilt and zoom parameters from the destination computer, and said microcontroller initiates panning, tilting and zooming functions of the camera according to the received parameters.

77. The integrated network-capable camera according to claim 64, wherein said network interface device is configured for ethernet connection.

78. The integrated network-capable camera according to claim 64, further including an image compression circuit for generating compressed digital image files from the captured digital images using wavelet compression.

79. The integrated network-capable camera according to claim 64, wherein at least one of said file transfer device and said transport control device further comprises a network authentication device for providing network login authentication for connecting to the selected network address on the computer network via the network interface device.

80. An integrated network-capable camera, comprising: an image pickup; an optical system for forming an image on the image pickup; an image capturing circuit, for capturing digital images from the image pickup as digital image files; a network interface device for connecting to a network for transmission of digital image files to the network, said network interface device wirelessly connecting to the network for wireless transmission of digital image files; a file transfer device for transferring the digital image files to a destination computer at a selected address on the network via the network interface device; an E-mail transmission device that assembles E-mail messages having the digital image files associated therewith, wherein said E-mail transmission device transmits the E-mail messages, including the associated digital image files associated therewith, to an E-mail address via the network interface device, and said E-mail transmission device transmits the E-mail messages according to a predetermined schedule stored in a memory associated with said microcontroller; a microcontroller that controls the operations and communication among each of said image pickup, said optical system, said image capturing circuit, said network interface device, said file transfer device, and said E-mail transmission device; and a camera body, within which are housed all of said image pickup, said optical system, said image capturing circuit, said file transfer device, said E-mail transmission device, said transport control device, and said microcontroller.

81. The integrated network-capable camera according to claim 80, wherein the network operates under internet communication protocols and is connected to the Internet.

82. The integrated network-capable camera according to claim 80, wherein the camera selectively incorporates textual information into the digital image files prior to their transfer.

83. The integrated network-capable camera according to claim 80, further comprising an IrDA port.

84. The integrated network-capable camera according to claim 80, wherein said file transfer device further comprises a network authentication device for providing network login authentication for connecting to the selected network address on the network via the network interface device.

85. The integrated network-capable camera according to claim 80, further comprising a transmission initiating device for self-initiating a connection with the computer network via said network interface device, said network interface device wirelessly connecting to the network.

86. The integrated network-capable camera according to claim 80, further comprising a configuration device that retrieves a configuration information from the destination computer, and a configuration setting device that sets operational parameters of at least one of said image capturing circuit, said network interface device, and said file transfer device according to the retrieved configuration information.

87. An Internet camera system for transmitting digital images via the Internet, comprising: a destination shell account having a user directory at a predetermined Internet address; an accessing device for accessing the user directory of the destination shell account via the Internet; and an integrated Internet camera having a camera body, said camera body containing: an image capturing system, for capturing digital images; a network interface device connectible to the Internet for transmission of the digital image files to the Internet; a file transfer device for communicating, via the network interface device, with the destination shell account and for transferring the digital image files to the user directory of the destination shell account according to a predetermined file transfer protocol, the digital image files in the user directory of the destination shell account then being available to the accessing device accessing the Internet; a transport control device for packetizing the digital image files according to a predetermined Internet transport control protocol and for controlling addressing of the packetized digital image files to the predetermined Internet address; a first scheduling device, including at least one timer, for scheduling transfer of the digital image files to the destination shell account by said transport control device and said file transfer device; and a self-initiating transmission initiating device for self-initiating a connection with the Internet via said transport control device and said network interface device.

88. The Internet camera system according to claim 87, said integrated Internet camera further comprising a character generator for generating textual information in said captured digital images, wherein said character generator generates textual information in said captured digital images.

89. The Internet camera system according to claim 88, wherein said generated textual information represents a status of said at least one timer.

90. An integrated network-capable camera, comprising: an optical system for forming an image; an image pickup upon which the image is formed; an analog video input capable of receiving standard video signals from an external video source; an image capturing circuit, for capturing digital images from both the image pickup and from the analog video input as digital image files; a network interface device connectible to a computer network for transmission of the digital image files across the computer network; a file transfer device for communicating, via the network interface device, with a destination computer at a selected network address on the computer network and for transferring the digital image files to the destination computer, wherein said file transfer device transfers both digital image files based on the standard video signals and digital image files from the image pickup; a transport control device for controlling addressing of the digital image files to the selected network address; an E-mail transmission device that assembles E-mail messages representing a status of said camera and transmits said E-mail messages to a predetermined E-mail address via said transport control device; a microcontroller that controls operations and communication among said image pickup, said optical system, said image capturing circuit, said network interface device, said file transfer device, said transport control device, said E-mail transmission device and said video input; and a camera body, within which are housed all of said image pickup, said optical system, said image capturing circuit, said network interface device, said file transfer device, said transport control device, said E-mail transmission device, said video input, and said microcontroller.

91. The integrated network-capable camera according to claim 90, wherein said E-mail transmission device assembles E-mail messages having the digital image files associated therewith, and wherein said E-mail transmission device transmits the E-mail messages, including the digital image files associated therewith, to a predetermined E-mail address.

Description

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an integrated camera for connecting to the Internet and transmitting images over the Internet.

2. Description of Background Information

As the Internet (i.e., the worldwide inter-network, currently operated under TCP/IP: Transmission Control Protocol/Internet Protocol) gains more participants and becomes more consumer-oriented, the demand for simplified ways of providing access to various media increases. A large portion of the new participants seek access to the "World Wide Web" (i.e., a hypertext-driven global multimedia system, hereinafter the "Web"). Archives of digital images (photographs and motion video) are now ubiquitous. The demand for real-time or live video, whether motion video or still video, has different requirements, but has also become strong. Needs in entertainment, advertising, education, security, traffic monitoring, weather monitoring, child care monitoring, and surveillance, as well as general consumer usage, have driven the creation of an initial wave of systems able to place a real-time image, or series of images, on the Internet and on the Web.

However, the prior systems are complex and expensive, requiring the use of a general purpose personal computer and a host of peripheral devices to place an image on the Internet or Web, as well as attendance by a qualified operator. The systems are typically large and lack portability.

An example of such a prior system is shown in FIG. 1. A video camera 110 connects to a "frame grabber" peripheral card 112, hosted by the parallel bus 114 of a personal computer 122. The frame grabber card 112 decodes a frame of an analog video signal from the video camera 110 into a digital image, and makes the digital image available to purpose-designed software running on the computer 122. Typically, the purpose-designed software eventually compresses the digital image into main memory using the main microprocessor of the personal computer 122. In order to upload the image to the Internet, the computer 122 requires a serial port 118 and attached modem 120, which are hooked to the public telephone system 124. The personal computer 122
uses further software programs running in main memory, which include at least a modem driver, network transmission protocol (e.g., TCP/IP) driver, a telephone transmission protocol (e.g., PPP: Point-to-Point Protocol) driver, and an file transfer protocol (e.g., FTP: File Transfer Protocol) application, to connect to the modem 120, through the telephone system 124, and to an ISP (Internet Service Provider) 128. Thereafter, the personal computer 122 may upload the compressed image to a shell account available at the ISP 128.

Costs for such a system may run to several thousand dollars. The computer 122 must be on-site, i.e., relatively close to the camera 110, and is large and relatively immobile. Since the system is an assembly of general-purpose components, and the computer 122 is usually dedicated to serving the camera 110, the system has numerous redundant functions and excess capabilities. In particular, multiple microprocessors/controllers, power supplies, and communication lines are necessary to operate the separate parts of the system. Moreover, such systems include many opportunities for error because of the many interfaces and communication links between discrete devices. Such error may occur as difficulties in setup and configuration and incompatibility between devices in operation.

3. Acronyms

The following acronyms and abbreviations are used throughout the specification. For brevity, the definitions are summarized as follows: xDSL--(generic) Digital Subscriber Line ATM--Asynchronous Transfer Mode CCD--Charge Coupled Device CCTV--Closed Circuit Television DNS--Domain Naming System, Domain Name Server ExCA--Exchangeable Card Architecture FTP--File Transfer Protocol HTML--Hypertext Markup Language IrDA--Infrared Data Association ISA--Industry Standard Architecture ISDN--Integrated Services Digital Network ISP--Internet Service Provider JPEG--Joint Photographic Experts Group MIME--Multipurpose Internet Mail Extension NTSC--National Television System Committee PAL--Phase Alternating Line PCMCIA--Personal Computer Memory Card International Association POTS--Plain Old Telephone Service PPP--Point-to-Point Protocol SLIP--Serial Link Interface Protocol SMTP--Simple Mail Transfer Protocol TCP/IP--Transmission Control Protocol/Internet Protocol UDP/IP--User Datagram Protocol/Internet Protocol URL--Uniform Resource Locator USB--Universal Serial Bus

SUMMARY OF THE INVENTION

Accordingly, it is an object of the invention to provide an inexpensive and efficient camera having all necessary functionality for transmission of real-time and stored digital images to the Internet in a single, portable standalone apparatus (i.e., an embedded system), without requiring the use of an external controlling apparatus such as a personal computer.

It is a further object of the invention to provide a portable, standalone camera that may initiate and independently control scheduled transmission of digital images to the Internet, where the images become available to any authorized user on the Internet.

The above objects are attained by providing an integrated Internet camera for transmitting digital images to an Internet address, including an image pickup, an optical system for forming an image on the image pickup, and an image capturing circuit for capturing digital images from the image pickup. A network interface device connects to the Internet for transmission of the digital image files to the Internet, and a file transfer device communicates via the network interface device, with a destination shell account at a predetermined Internet address and transfers the digital image files to the destination shell account according to a predetermined file transfer protocol. The digital image files in the destination shell account are then available to users accessing the Internet. A transport control device packetizes the digital image files according to a predetermined Internet transport control protocol, and controls addressing of the packetized digital image files to the predetermined Internet address, while a transmission initiating device initiates a connection with the Internet via the transport control device and the network interface device. A first scheduling device, including timers, schedules transfer of the digital image files to the destination shell account by the transport control device and the file transfer device. A microcontroller controls operations and communication between each of the recited devices, and a camera body houses therein all of the recited devices and the microcontroller.

In another aspect of the invention, an Internet camera system for transmitting digital images via the Internet includes a destination shell account having a user directory at a predetermined Internet address and an accessing device for accessing the user directory of the destination shell account via the Internet. As part of the system, an integrated Internet camera is housed in a camera body. The camera body contains an image capturing system, a network interface device, a file transfer device, a transport control device, and a transmission initiating device. The image capturing system captures digital images, and the network interface device is connectible to the Internet for transmission of the digital image files to the Internet. The file transfer device communicates, via the network interface device, with the destination shell account and transfers the digital image files to the user directory of the destination shell account according to a predetermined file transfer protocol. The digital image files in the user directory of the destination shell account are then available to the accessing device accessing the Internet. A transport control device packetizes the digital image files according to a predetermined Internet transport control protocol, and controls addressing of the packetized digital image files to the predetermined Internet address. The transmission initiating device initiates a connection with the Internet via the transport control device and the network interface device.

In this manner, the portable, standalone integrated Internet camera may initiate and independently control scheduled connections to the Internet and transmission of real-time digital images to the Internet, without requiring the use of an external controlling apparatus such as a personal computer or server, and the images become available to any authorized user on the Internet. As part of a system, the portable, standalone integrated Internet camera may initiate and independently control scheduled connections to a destination shell account having a user directory at a predetermined Internet address and transmission of real-time digital images to the user directory, without requiring the use of an external controlling apparatus such as a personal computer or server, and the images become available to any authorized user on the Internet via the accessing device.

The network interface device may include a modem for connecting to a telephone system connected to the Internet. In this case, the transmission initiating device includes a telephone conversion device that initiates a telephone connection with the Internet via the modem according to a predetermined telephone transmission protocol, and that converts between the predetermined telephone transmission protocol and the predetermined Internet transport control protocol. Accordingly, the integrated Internet camera may perform the recited functions over a public or private telephone network, or any network or connection using telephone transmission protocols or analog data transmission.

The integrated Internet camera may include a second scheduling device, including timers, for scheduling image captures by the image capturing circuit. Accordingly, image captures and image transmission may be scheduled at different times. In this case, the digital image files may include information representing a status of one or more timers.

The integrated Internet camera may further include a character generator for generating textual information in the captured digital images, wherein the character generator generates textual information in the captured digital images. In this case, the generated textual information may represent a status of one or more timers.

The integrated Internet camera may include a serial interface adapted to connect to a setup device, the serial interface receiving commands for controlling the integrated Internet camera from the connected setup device. In this manner, the integrated Internet camera may by controlled or configured by another device.

Optionally, one or more of the transport control device and file transfer device further includes a network authentication device for providing network login authentication for connecting to the predetermined Internet address via the network interface device. In this manner, the integrated Internet camera may access and transmit files to networks having security and authorization provisions.

The integrated Internet camera may further include a configuration device, which includes a configuration information retrieving device and a configuration setting device. The configuration information retrieving device retrieves configuration information from the destination shell account, while the configuration setting device sets operational parameters of one or more of the image capturing circuit, the network interface device, the file transfer device, transport control device, the transmission initiating device, and the first scheduling device, according to the configuration information.

Further, the file transfer device may further include a directory selecting device for setting and transmitting a destination directory and filename for transferring digital image files to the destination shell account, allowing the transmission of digital image files to one or more specific directories of a destination shell account.

The image pickup may include a color component system for forming a color image, in which case the integrated Internet camera may further include a color adjusting circuit for adjusting color properties of the captured digital images.

The integrated Internet camera may include an image compression circuit that generates compressed digital image files from the captured digital images, so that the file transfer device transfers the compressed digital image files to the destination shell account and the transport control device packetizes the compressed digital image files according to the predetermined Internet transport control protocol.

In one modification of the system, the predetermined Internet transport control protocol does not detect errors or retransmit erroneous data, thereby increasing a rate of image transfer by the file transfer device.

In another modification the integrated Internet camera further includes an E-mail transmission device and E-mail message assembler. The E-mail message assembler assembles E-mail messages representing a status of the camera and the E-mail transmission device transmits the E-mail messages to a predetermined E-mail address via the transport control device and the transmission initiating device.

In this case, the E-mail message assembler may assemble E-mail messages including the digital image files. Accordingly, the E-mail transmission device may transmits the E-mail message including the digital image files to a predetermined E-mail address via the transport control device and the transmission initiating device.

The integrated Internet camera may further include a trigger device linked to the camera and/or the microcontroller. In response to triggering of the trigger device, the camera initiates an image capture and transfer of the digital image files to the destination shell account via the file transfer device, the transport control device, and the transmission initiating device.

Optionally, the integrated Internet camera further includes a video input for receiving a standard video signal, and the image capturing circuit captures the digital images from the video input instead of from the image pickup. In this manner, a camcorder or other video source (tuner, CCTV network) may be used to supply the digital images to be transmitted over the Internet or otherwise.

In another modification, the integrated Internet camera further includes a video output for sending a standard video signal, wherein the digital image files are transmitted as video images to the video output. In this manner, any images transmitted over the Internet or otherwise may also be supplied to, e.g., a local monitor, recording device, or CCTV network.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is further explained in the description which follows with reference to the drawings, illustrating, by way of non-limiting examples, various embodiments of the invention, with like reference numerals representing similar parts throughout the several views, and wherein:

FIG. 1 is a block diagram of a prior art system capable of transmitting digital images to the Internet;

FIG. 2 is a perspective view of an integrated Internet camera according to a first embodiment of the invention;

FIG. 3 is a block diagram of the integrated Internet camera shown in FIG. 2;

FIGS. 4A and 4B are schematic diagrams of the integrated Internet camera of FIG. 2 connected to the Internet;

FIG. 5 is a block diagram showing a menu and parameter storage structure of FIG. 2;

FIG. 6 is a flow chart of an initialization routine of the integrated Internet camera shown in FIG. 2;

FIG. 7 is a flow chart of a main routine of the integrated Internet camera shown in FIG. 2;

FIG. 8 is a flow chart of an image capture routine of the integrated Internet camera shown in FIG. 2;

FIG. 9 is a flow chart of an image transmit routine of the integrated Internet camera shown in FIG. 2;

FIG. 10 is a flow chart of a disconnect routine of the integrated Internet camera shown in FIG. 2;

FIG. 11 is a flow chart of an file transfer connect routine of the integrated Internet camera shown in FIG. 2;

FIG. 12 is a flow chart of a telephone connect routine of the integrated Internet camera shown in FIG. 2;

FIG. 13 is a flow chart of a write file routine of the integrated Internet camera shown in FIG. 2;

FIG. 14 is a flow chart of a batch upload routine of the integrated Internet camera shown in FIG. 2;

FIG. 15 is a flow chart of a reporting routine of the integrated Internet camera shown in FIG. 2;

FIG. 16A is a flow chart of a setup routine of the integrated Internet camera shown in FIG. 2;

FIG. 16B is a flow chart of a command routine of the integrated Internet camera shown in FIG. 2;

FIG. 17 is a block diagram of a second embodiment of an integrated Internet camera according to the invention;

FIG. 18 is a block diagram of an addendum to the menu and parameter storage structure of FIG. 2 for the second embodiment of FIG. 17;

FIG. 19 is a flowchart addendum to image capture routine of FIG. 8 for the second embodiment shown in FIG. 17;

FIG. 20 is a block diagram of a third embodiment of an integrated Internet camera according to the invention

FIG. 21 is a block diagram of a fourth embodiment of an integrated Internet camera according to the invention; and

FIG. 22 is a block diagram of a fifth embodiment of an integrated Internet camera according to the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 2 shows a first embodiment of the present invention. All of the electronic, mechanical and optical components of the integrated Internet camera 1 are housed within a camera body 201. Accordingly, in the context of this specification, "integrated" is equivalent to "self-contained", such that all the noted components are supported on or situated within the body or casing. As shown in FIG. 2, the camera 1 may be connected to the Internet via a network interface device 236 (comprising, e.g., a modem or network card) and a connection cable 237 (which may be a telephone wire connected to the public network or a network cable connected to a local or wide area network). Preferably, the camera body includes a threaded camera mount, and is sized and shaped to fit industry standard environmental housings for outdoor use.

A viewfinder 244 allows the operator to view a scene corresponding to, or identical to, an image formed on an image pickup (shown in FIG. 3) of the camera 1 via an image-forming optical system (shown in FIG. 3). A display (e.g., an LCD) 218, preferably an inexpensive multi-line text display, displays the results of user interaction, automatic reporting, and status reporting to the user. The user may input appropriate directions to the camera 1 via at least a button/switch input 214. In the first embodiment, the button/switch input 214 preferably includes up and down buttons 214a and 214b, a "menu" button 214d for switching between and activating interaction menus, an "item" button 214c for indicating a selection in an active interaction menu, and a release button 214e for initiating the capture of an image in an event-based mode (including manual operation) and other specific functions (described later).

FIG. 3 is a block diagram of the first embodiment of the integrated Internet camera 1. The camera 1 is preferably operated in an "always-on" state, i.e., although it may appear to an operator that the camera is unpowered when the camera is "turned off" by, e.g., an "on-off" switch, the camera 1 remains responsive to control signals and inputs even when "turned off". As shown in FIG. 3, the camera 1 is preferably controlled by an integrated microcontroller 200, which includes: a main processor or microprocessor 201; a parallel (e.g., 16 bit ISA) bus 234 (which connects to components outside the microcontroller 200); a slot controller 202 (e.g., a PCMCIA slot controller) for controlling a slot interface 232 (e.g., a PCMCIA interface) on the parallel bus 234, a memory (DRAM) controller 204 for controlling a general purpose (GP) memory (DRAM) 228 on the parallel bus 234, a display (e.g., LCD) controller 206 for controlling display functions of the display 218 connected thereto, a real-time clock (clock/timer) 208 against which timing and interval functions are measured, a serial/IrDA port 210 (e.g., serial interface) for connecting an external peripheral or computer (as a setup device or otherwise) with the microcontroller 200, interrupt controllers 213, and a keyboard controller 212 for scanning the button/switch input 214.

The microcontroller 200 also integrates a plurality of general-purpose input/outputs 219 (GPIO pins) and trigger inputs 211, each communicating with the main processor 201. As shown in FIG. 3, the GPIO pins 219 may be connected to various inputs and outputs, for example, an audio input 221 (MIC). Furthermore, the trigger inputs 211 may be connected to external triggering devices 215 (e.g., motion sensors or trip switches) which send an event signal--a "manual" release signal--to the microcontroller 200 (as described below). It should be noted that the GPIO pins 219, since they may receive input signals, are capable of acting in the same manner as the trigger inputs 211. One integrated microcontroller suitable for use in the camera
1 is the Vadem VG330, an x86 compatible single-chip microcontroller having the above-described components, available from Vadem, Inc., 1960 Zanker Rd., San Jose, Calif. The Vadem microcontroller may run under an operating system incorporating the transport control protocol (e.g., TCP/IP) stack discussed herewithin. It should be noted that a microcontroller having a lower level of integration may be utilized, with any of the above-noted integrated components provided off-chip. One suitable microcontroller with a lower level of integration is the H8/3437 (available from Hitachi Semiconductor (America), Inc., 6431 Longhorn Dr., Irving, Tex., 75063), used, for example, in combination with a Fuji MD8501 PCMCIA controller (with direct memory access), available from Fujifilm Microdevices Co., Ltd., 1-6, Matsusakadaira, Taiwa-cho, Kurokawa-gun, Miyashi, Japan 981.

The slot (PCMCIA) controller 202 and interface 232, in combination, may be configured to handle at least PCMCIA 2.1 and ExCA standard cards, supporting a network interface device 236, as described below, as well as hot swapping and memory cards.

As noted, the display 218 is an inexpensive multi-line display capable of displaying character or text information, and of responding to the control of the display controller 206. The real-time clock 208 has both clock and timer functions, maintaining the current date and time, as well as responding to queries by returning the date and/or time, starting and stopping one or more interval timers, or returning the status of a given timer. The real time clock 208 may be set or reset automatically or manually. If the user so desires, the camera 1 may connect to a server (e.g., via user port 13 of TCP/IP) to retrieve the current date/time string, or alternatively to port 37 to retreive the number of seconds since midnight, Jan. 1,
1900, coordinated universal time). Based upon these values and upon a time zone setting in the variable groups, the current time may be automatically set.

The serial/IrDA port 210 is provided with one or both of an infrared transceiver operating under the IrDA standard, or a serial interface (e.g., an RS-232C interface with a DB9 connector). The serial/IrDA port 210 is connectible to a portable computer 216 or setup device via cable or infrared transceiver. The interrupt controllers 213 process interrupts from, e.g., the keyboard controller 212, memory controller 204, slot controller 202, serial/IrDA port 210, GPIO pins 219, trigger inputs
211, or the parallel bus 234.

The parallel bus 234 connects to: the microcontroller 200 for transferring control instructions and data; to a compression engine 224 for compressing captured images (further connected to an image memory 220); the general purpose (GP) memory (DRAM) 228 used by the microcontroller 200 as storage and application space; a boot ROM 230 for booting the microcontroller 200 (i.e., self-test and O/S retrieval); a color adjusting circuit 256 for performing image processing on a stored digital image; a character generator 254 for superimposing text information on a stored digital image; and the slot interface 232. The GP memory 228 is preferably at least 2 MB, and the image memory is preferably at least 512K.

The compression engine 224 implements image compression in hardware, freeing the main processor 201 to perform other tasks. Preferably, the compression engine 224 performs image compression under a JPEG standard, but may be alternatively arranged to output other image formats (e.g., TIFF, GIF) and/or other compression schemes (e.g., Huffman, wavelet, fractal). When JPEG is used as the standard, the compression engine 224 is able to encode, decode, and recode JPEG image files with any suitable JPEG compression level at 8-bit greyscale or 24-bit color (8 bit*3 color planes). Preferably, the compression engine 224 handles variable compression levels on a continuous basis, e.g., 0-100%, but also may be set, for simpler operation, to compress in at least four JPEG compression levels include low, medium, high, and maximum image quality levels.

The color adjusting circuit 256 is preferably a dedicated circuit for performing image data manipulation of an image stored in the image memory 220. The color adjusting circuit preferably includes: a color adjusting (gamma) module for performing a color correction on the stored image, e.g., to compensate for the color spectral characteristics (linearity) of the image pickup (CCD); a brightness module for increasing or decreasing the overall brightness of the stored image; a contrast module for increasing or decreasing the overall contrast to the stored image; a scaling module for interpolating or resampling the stored image to increase or decrease the size of the stored image, including adjustment of an aspect ratio of the image and cropping of any portion of the image; a hue/saturation/luminance module for increasing or decreasing hue, saturation, and luminance of the stored image. Each of these modules may use a conventional algorithm to perform the desired correction or function.

Although the color adjusting calculations are performed by the color adjusting circuit 256, the color adjusting calculations may alternatively be performed by the compression engine 224, or by the microcontroller 200 in combination with appropriate color adjusting applications, e.g., loadable from the NVRAM 242 into the GP memory 228.

The character generator 254, upon receiving a character string (e.g., a date and/or time and/or annotation string), generates bitmap characters according to an internally stored font, and changes values of memory positions in the image memory 220
(corresponding to colors of image coordinates within a stored image) to superimpose the text information on a stored digital image. The character generator may be set to invert all the pixels corresponding to the bitmap character in the stored image (to ensure the characters are visible), or to change all the pixels corresponding to the bitmap characters in the stored image to the same value (providing characters of a uniform color).

The microcontroller 200 is further connected to a serial controller 238 (e.g., an EEPROM controller) having a serial bus. A rewritable non-volatile memory (NVRAM) 242 (e.g., an EEPROM), preferably at least 64K, is provided on the serial bus. The NVRAM stores system firmware, parameters, and applications for the camera 242, and is accessed by the microcontroller 200 at least according to the boot ROM 230, e.g., when the microcontroller 200 is initialized. Alternatively, the NVRAM 242 is a persistent flash memory, which may be rewritten with a flash memory controller that replaces the EEPROM controller discussed above. Preferably, the NVRAM 242 stores at least: a user interface/operating system application for controlling the microcontroller 200; an exposure control application with automatic gain control (AGC) for controlling an exposure taken by an image pickup circuit 250; a transport control protocol stack for Internet access (e.g., a TCP/IP stack); a file transfer application (e.g., FTP application); and at least one driver (e.g., modem driver, network adapter driver) for the network interface device 236 connected to the slot interface 232. One example of a suitable NVRAM 242 is a serial EEPROM of the NM24cxx series, available from National Semiconductor, Inc., 2900 Semiconductor Dr., Santa Clara, Calif., 95051. Further alternatively, the NVRAM 242 only stores parameters as described, while, e.g., the remaining software/firmware is stored in and executed from a separate ROM, which may also be an flash memory (that can be updated with new software/firmware).

The transport control protocol stack, as controlled by the microcontroller 200, packetizes all data transmitted under the transport control protocol (e.g., TCP/IP) connection, and inserts header information (including addressing information) into each packet. Accordingly, when the camera 1 is connected to the Internet via the network interface device 236 under the transport control protocol, all transmissions, including those of image files, are packetized and addressed according to the transport control protocol.

As previously discussed, one example of a standard protocol which may be provided in the transport control protocol stack is TCP/IP, a connection-oriented protocol that offers error reporting, prioritizing of data, and retransmission of lost or erroneous packets. In this model, the TCP layer accepts and segments data streams and passes the segments to the IP layer for routing, accepts segmented data from the IP layer, resolves error conditions, and resequences segments as necessary. The IP layer routes segmented data, resolves error conditions, and presents data to the TCP layer for resequencing. This kind of protocol is more useful for reliable transmission of data that must be correct, e.g., transmission of specific still images, or for retrieval or reception of a configuration file (described below).

Alternatively or in addition, a low-overhead protocol that provides no retransmission or error correction features may be used, e.g., packets containing image data or other data that fail an error check, e.g., a checksum or CRC (cyclic redundancy check), are discarded, and are not retransmitted. One candidate protocol is UDP/IP, which may be provided as part of the transport control protocol stack instead of or in addition to the protocol responsive to transmission errors (e.g., TCP/IP). This kind of protocol significantly reduces the overhead (e.g, a packet header contains less data) of the error-responsive protocols, and is useful for streaming images at the fastest possible rate. Accordingly, as described below, when the camera is set to stream images at the fastest possible rate, the camera may switch to a lower-overhead protocol (e.g., UDP/IP) provided as part of the transport control protocol stack. Present models allow for a streaming transmission of still images of approximately 15
frames per minute under a low-overhead protocol like UDP/IP.

Hereinafter, in all instances where error-responsive TCP/IP is used as an exemplary transport control protocol, TCP/IP may be replaced with a lower-overhead protocol such as UDP/IP, especially on a connection where loss of packets or data is acceptable (e.g., to reduce data overhead and increase image streaming rate). Either of error-responsive TCP/IP or lower-overhead UDP/IP may be replaced by a successor protocol (i.e., an Internet protocol that succeeds error-responsive TCP/IP or low-overhead UDP/IP as a standard).

The network interface device 236 is installed in the slot interface 232. The network interface device 236 is a card (e.g., PCMCIA) such as, but not limited to: an analog or digital (V.34, 56K, V.90, etc.) modem for use on POTS lines; an Ethernet adapter for connecting to a standard Ethernet LAN (e.g., 10 Base T) using the transport control protocol (e.g., TCP/IP); an ISDN modem connectible to an ISDN terminal adapter; an xDSL adapter; a cable modem; an ATM adapter; a T carrier terminal adapter connection; an adapter for satellite connection; an adapter for microwave connection; an adapter for wireless connection; an adapter for serial transmission over a high speed external serial bus, e.g., USB or IEEE 1394; or an adapter for data transmission over public power lines. If a telephone-type modem (e.g., analog, digital, ISDN) is used as the network interface device 236, a "telephone transmission protocol" (e.g., Point-to-Point Protocol: PPP) application is provided in the NVRAM 242
and may be appropriately loaded and executed by the microcontroller 200 (e.g., together forming a "telephone conversion device") when necessary.

The camera 1 includes an image-forming optical system 245, which forms an image of a particular scene on an image pickup (e.g., CCD or CMOS) 248. A viewfinder optical system 244 allows the user to view the scene passing through the image-forming optical system 245. Although FIG. 3 depicts a viewfinder optical system 244 and image-forming optical system 245 that share an objective lens, and in which a half-mirror is used to distribute light between the systems 244, 245, each of the systems 244,
245 alternatively may be formed with dedicated lenses, i.e., the view finder optical system 244 and image-forming optical system 245 could be two separate optical systems having separate optical axes.

Scanning of the image pickup 248 is driven by an image pickup driver 252 (e.g., CCD, CMOS, or infrared pickup driver) connected to the microcontroller 200 (e.g., via a GPIO pin or otherwise), which drives the image pickup 248 to scan and transfer accumulated image data to an image pickup circuit 250. The image pickup 248 is, in this embodiment, provided with a complementary color filter (e.g., a filter covering each group of four pixels on the image pickup 248 with a two-by-two matrix of Mg, Ye, Cy, G filter elements) allowing the capture of a color image (e.g., a 1/4" color CCD). Alternatively, the image pickup 248 may be provided with a mechanical field sequential color filter switcher having a plurality of color filters successively movable in front of the image pickup 248, and a circuit to assemble successive image captures taken through the different color filters into a full color signal.

Further, as noted above, the image pickup 248 may be an infrared sensor suitable for generating a thermograph by known techniques. In such a case, the lenses discussed herein may be formed from infrared transmitting material, e.g., chalcogenide glass, flouride glass, zinc selenide, germanium, or silicon, and image processing circuitry discussed below preferably includes color translation routines to differentiate infrared frequency gradients into hotter and cooler color areas in a resulting thermograph.

The image pickup circuit 250 may includes conventional circuitry necessary to assemble an analog image signal from the image pickup 248, including image processing circuitry to convert the image pickup signal to a luminance (Y) signal and two color difference signals (Cb--blue, Cr--red). As is well known in the art, a full color signal may be synthesized from the YCbCr signal group (e.g., 4:2:2).

The analog image signal is converted to a digital signal by an A/D convertor 246, and passed to the image memory 220 (e.g., a RAM capable of storing at least one high resolution color image) via the compression engine 224. The compression engine
224 preferably integrates a memory (DRAM) controller 226 for controlling the image memory 220. One suitable image compression engine 224 integrating a memory controller 226 is the Fuji MD2205B, available from Fujifilm Microdevices. A suitable image compression engine that requires a separate memory controller is the Fuji MD36050X, for example, in conjunction with the Fuji MD0204 memory controller, both also available from Fujifilm Microdevices.

The microcontroller 200 controls the compression engine 224 to compress an image or images held in the image memory, according to attributes assigned to that particular image (as described later), including compression to a desired (e.g., JPEG) compression level. When a particular image is compressed, the compressed image is stored, along with (e.g., JPEG control and time/date/message stamping) header information, in a general purpose (GP) memory (DRAM) 228 available on the parallel bus 234 of the microcontroller 200. The microcontroller 200 also is capable of adjusting the resolution of images stored in the image memory on a continuous scale with preferred preservation of aspect ratio (although aspect ratio may be altered if necessary), either before or after storage therein (e.g., 640*480, 320*240, 160* 120; 80*60, although any resolution may be set).

The camera 1 is further provided with an integrated DC power supply 217 (e.g., 12 V), which provides power to all of the components of the camera 1. The DC power supply may incorporate an AC adapter, but the AC adapter is preferably provided outside the camera 1 in order to reduce the size of the camera. In this case, the AC adapter plugs into a conventional AC outlet, and may be a "Universal" AC adapter connectible to various worldwide AC supplies.

As shown in FIGS. 4A and 4B, the integrated Internet camera is connectible to the Internet via a telephone system 302 or local network 316, depending on the network interface device 236.

FIG. 4A shows an arrangement for connection of the camera 1 to the Internet in combination with a modem as a network interface device 236. The camera 1 is connected, using, e.g., PPP (telephone transmission) and TCP/IP (transport control), to a local or remote ISP via a telephone system (or cable network) 302. A user ID and password (i.e., network authentication) supplied by the camera 1 (via the initial login, as described below) gives the camera access to a local shell account 306 (shell #1) provided by a local ISP 304. In the context of this specification, "local shell account" indicates a shell account accessed by the camera 1 via a "direct" connection and initial login. The local shell account 306 provides access to a user directory, in which the user may store HTML files, the compressed image files, user scripts, controls, and other files necessary to create and allow access to a Web page.

Notably, the user directory stores compressed image files referenced by, or linked to, the Web page and viewable by any remote user using an accessing device, e.g., a personal computer 310 equipped with a Web browser linked to the Internet 308. Once the camera 1 is logged in to the local shell account 306, the camera 1 may upload (e.g., JPEG) image files from the GP memory 228, according to controlling file attributes and destination information (described below) to the local user directory via the provided file transfer (e.g., FTP) application. Any Internet 308 user may then access and view the uploaded (e.g., JPEG) images from the user directory of the shell account via an accessing device, e.g., a personal computer 310 and browser. In the context of this specification, the personal computer 310 may alternatively be, e.g., an integrated television set or telephone including a Web browser, a network computer or server, a "dumb" terminal with a mainframe or minicomputer, a smart terminal with a mainframe or minicomputer, or any configuration that may act as an accessing device.

Furthermore, once the camera 1 is connected to the local ISP 304, access to the Internet 308 at large is provided, and the camera 1 may also access a remote shell account 314 (shell #2) provided by a remote ISP 312 and accessible via FTP (with an appropriate FTP user ID and password). JPEG image files may be stored and linked at the remote shell account 314 identically to that described above with the local shell account 306. Accordingly, the camera 1 is connected locally to the Internet at a first location, but may store images at a second location anywhere in the world, allowing administration of a Web page provided with images from the integrated Internet camera 1 perhaps thousands of miles away.

FIG. 4B is similar to FIG. 4A in that the camera 1 has access to a local shell account 306, the Internet, and a remote shell account 314 via similar mechanisms. However, in FIG. 3B, the arrangement for connection of the camera 1 to the Internet is in combination with a network adapter as a network interface device 236. The camera 1 is connected, using the transport control protocol (e.g., TCP/IP), to a local intranet or LAN 316, which is further connected to the Internet. Once the transport control protocol (e.g., TCP/IP) connection is established between the camera 1 and the local intranet or LAN 316, the camera 1 may upload pictures as described above with respect to FIG. 4A.

FIG. 5 shows an example of a menu and parameter storage structure in the NVRAM 242 (or shadowed in the GP memory 228 when the camera 1 is operating) readable and writable by the user via the button/switch input 214 in combination with the display
218, via the serial/IrDA port 210 in combination with a personal computer, or updatable by the camera 1 itself according to automatic setup/configuration procedures. As shown in FIG. 5, the camera 1 stores numerous variables and parameters (e.g., in the NVRAM 242) that control the operation thereof, and which may be adjusted by the user via the menu structure or via direct commands received by the microcontroller 200, e.g., via the serial/IrDA port 210. The menu structure may be made accessible via a tabular or line-mode text interface, a graphical user interface, or any other user interface responsive to the button/switch input 214 or serial/IrDA port 210 that allows the parameters to be set and stored. The menu and parameter storage structure stores parameters in at least four categories: IMAGE FILES, MISC (miscellaneous) OPTION, COMMUNICATIONS, AND REPORTING.

The IMAGE FILES menu/storage area allows the setting of flags, attributes and parameters for a plurality of images to be captured, adjusted, and uploaded by the camera. In this embodiment, a plurality of image slots (e.g., FILE 1 . . . FILE 9) are available for individual control, and each of the IMAGE FILES variable groups is provided for each image slot. Nine image slots are merely exemplary, and the camera 1 may store different image files and accompanying parameters to the capacity of provided memory. A FILE DEFINITION variable group stores several parameters defining a file name, a destination directory, whether a file of the same name should be overwritten, and the number of retries and interval therebetween should the camera 1
fail to upload the image. The filename may also be set automatically by the camera 1 according to an alphanumeric definition string, e.g., if "vcam###" is entered as a filename, the camera may increment every recorded image name (e.g., "vcam001", then "vcam002", etc. The FILE DEFINITION variable group also stores a start and stop memory address and image file size when memory for the image slots is dynamically allocated, as well as a parameter defining whether the image slot is a thumbnail image (a smaller image used for browsing images) of another slot and the number of the thumbnail's parent image slot. When an image slot is designated as a thumbnail slot, the filename of the thumbnail slot is preferably automatically set to a derivative of the parent image slot, e.g., a thumbnail slot corresponding to a parent slot with a filename of "vcam001" would be automatically named "vcam001". An UPLOAD variable group stores a parameter defining whether the file should be uploaded immediately (e.g., immediately after a release signal is acted upon and the image file stored), or at the next batch upload operation. A STAMPING variable group stores several parameters defining whether stamping is appended to file header information and/or superimposed on the image, stamping of a date and/or time and/or user-defined annotation or message, and the annotation itself. An IMAGE ADJUST variable group stores several color property parameters defining increase or decrease of gamma, brightness, contrast, hue, saturation, and luminance, as well as settings for (e.g., JPEG) compression level, resolution, whether an image is stored as a greyscale or a color image, as well as any cropping of the image specified, e.g., coordinates of opposite comers of the region to be cropped. The parameters stored in each of the IMAGE ADJUST variable groups, corresponding to each color property of the image (e.g., contrast, hue, etc.), quantify an increase, decrease, or no change in a particular property for a particular image slot. A TIMER variable group stores several parameters defining capture at weekly, daily, hourly, and by-minute intervals, streaming (i.e., continuous capture and transmission as fast as the camera 1 can manage), capture at a set date and/or time, or whether the image slot is one available for event-based capture, including "manual" capture (e.g., by a depression of the release button 214e, or a release signal received from a trigger input 211 or GPIO pin 219).

Optionally, instead of designating one image slot for each thumbnail, according to the variable groups, any image slot may be designated as one to be accompanied by a thumbnail image file. In such a case, the microcontroller, when writing the parent image file, dynamically creates a smaller thumbnail image by scaling the parent image, and sends the thumbnail image using a file name derived from the parent file name (e.g., using the parent file name as a base, but having a predetermined prefix or suffix denoting that the image is a thumbnail). Further alternatively, an image slot may be designated as a thumbnail grid "collage" slot, and, e.g., smaller (e.g., 80*60) thumbnail images of each recorded slot stored in predetermined X, Y positions in the thumbnail grid "collage" slot as a master "collage" image. That is, a master grid "collage" image would be made up of smaller thumbnail images of the remaining, regular image slots, assembled into a single, larger grid "collage" in rows and columns. In such a case, when a thumbnail is to be sent accompanying any image slot, the microcontroller 200 may read the corresponding thumbnail image from the predetermined position in the master grid "collage" image and transmit the thumbnail image with an automatically assigned thumbnail file name. E.g., if image slot 2, having a filename "vcam002" is designated as a slot accompanied by a 80*60 thumbnail, the microcontroller 200 reads an image portion of the thumbnail slot from a position derived from the second regular image slot (e.g., (81, 0) to (160, 60)) and sends the thumbnail image as, e.g., "vcam002t". In such a case, the entire thumbnail grid "collage" image in the thumbnail grid "collage" slot may be separately sent as any other image, which provides an easy way to preview or check all the images currently stored in the camera 1.

The COMMUNICATIONS menu/storage area allows the setting of communication parameters. A TELEPHONE variable group stores a primary ISP telephone number and return string, a secondary ISP telephone number and return string, the number of retries and interval therebetween should the camera 1 fail to succeed in making a telephone transmission protocol (e.g., PPP) connection, a "good" connection speed, and options for telephone connections. The options include which telephone transmission protocol will be used (e.g., PPP or SLIP), and parameters for the use of the chosen telephone transmission protocol (e.g., type of authorization, or whether the "client" or "server" initiates communication). The return strings are communications from the called ISP connection that the camera 1 uses as prompts for sending, e.g., user identification and password information. A CAMERA ADDRESS variable group stores whether a local (e.g., IP) address of the camera 1 is set dynamically (provided by the Internet server) or is static (a predetermined address for the camera 1), the local (e.g., IP) address if static, and a mail (e.g., SMTP) server address for outgoing E-mail, as well as an SMTP user identification and password as necessary. A TRANSMISSION variable group stores a primary and secondary name server (e.g., DNS) address that stores URL information allowing the camera 1 to access remote (e.g., IP) addresses as directed by a name (e.g., DNS) server, a flag that indicates whether network authentication is necessary, a user ID and password information for network authentication, a variable that indicates whether the camera 1 should maintain continuous communication (e.g., TCP/IP) or dialup/connect only when an upload is indicated, the number of retries and interval therebetween should the camera 1 fail to make a transport control protocol connection, a timeout should the camera 1, e.g., make a connection but receive no further communications or return strings, and return strings (as previously noted, as prompts for camera action) associated with the ISP connection. A MODEM/LAN variable group stores a setup control string for a modem provided as the network interface device, a flag denoting whether the modem or network interface device should self-test, e.g., upon startup, and LAN options. The LAN options include information necessary or useful in establishing local network communications, e.g., a gateway address, subnet mask, and LAN address for the camera 1. A FILE TRANSFER variable group stores an file transfer protocol (e.g., FTP) host address (a predetermined Internet address such as, e.g., an IP address or URL), user ID and password for accessing the shell account on the Internet in which images will be stored, and the number of retries and interval therebetween should the camera 1 fail to make a file transfer protocol login.

The MISC OPTIONS menu/storage area stores "hardware" settings and setting for special features of the camera 1.

A HARDWARE SETTINGS variable group stores the current time and date, which triggers are active and how the camera responds thereto, and an image source for the camera 1 to perform operations on. For example, trigger settings may include (for, e.g., as in the fifth embodiment, 2 input triggers and 1 output trigger) settings that indicate image capture on a HIGH signal at either or both input triggers, a HIGH output on the output trigger on any input trigger activity, or image capture on a press of button 214e, and combinations of these settings. Image source setting may include settings that indicate that the image source is defined by a switch set on the camera (e.g., switch 214g of the fifth embodiment), that an external composite video signal is used for transmission, that the internal video signal is used for transmission, or that, e.g., only the internal luma ("Y" of YCrCb) is used for transmission (i.e., a black and white signal requiring less bandwidth). A MANUFACTURER variable group stores settings that are set by or available primarily to the manufacturer, e.g., the version number and identifier for the firmware in the NVRAM 242 as most recently updated, a serial number for the camera itself (which may be used as a unique camera identifier to allow Internet access) or debug settings that prompt the camera to respond with appropriate debugging information and actions when the camera 1 is tested by the manufacturer or a repair/maintenance facility. The hardware settings may be of limited access, e.g., accessible only via commands received via the serial/setup port, and invisible to the user (e.g., not available via any menu operations), or available only via the entry of an access code or predetermined button combinations defining an access code. A RESETS variable group defines circumstances under which a "soft reset" is performed (e.g., a re-initialization as in step S10 described below), including whether a soft reset is interval-based and an accompanying interval, whether a soft reset is event-based and a list of corresponding event codes (e.g., generated errors and repeats thereof), and a reset list defining which (all or some) applications/drivers/memory spaces are reset, initialized, or cleared. An ADAPTIVE variable group activates adaptive functions, such as changing the (e.g., JPEG) compression ratio of the image depending on the upload data transmission rate, changing to the secondary telephone number for telephone transmission protocol (e.g., PPP) access if no connection is made, or changing to the secondary DNS address if no connection is made. A BATCH variable group stores intervals and/or dates at which batch uploads of files will be executed. An AUTOCONFIGURE variable group stores flags that determine if (Y/N) and when (next Batch, next File) the camera 1 will retrieve a setup/configuration file containing a set of new parameters when making an FTP connection to upload an image, and a parameter defining the setup file directory.

It should be noted that the configuration/setup file is preferably encrypted, and preferably recoverable via an additional password key (not shown) stored in the MISC OPTIONS menu/storage area. Any appropriate encryption method may be used, with encryption and decryption upon writing and reading performed by the microcontroller 200.

The REPORTING menu/storage area allows the setting of error and status reporting parameters. An ADDRESS variable group stores a destination (E-mail) address to which error, attachments (image files) and status reports (with or without attachments) are sent, and a flag that sets the level of detail of the reports. A REPORTS variable group defines what is reported, including whether errors are reported, whether each (e.g., interval or timed) upload is reported, whether changes in the parameters or settings are reported, whether an image file attachment will be sent as a report and which slot(s) will be sent (including the possibility of an entire batch list), and the number of retries and interval therebetween should the camera 1
fail to report. An ERROR REPORTING variable group defines which types of errors are reported, including errors such as login failure, data rate too slow, general I/O error, FTP error, modem failure, reset, and pan/tilt error (if applicable--primarily for the second embodiment).

Each of the variable groups is accessible as required according to the control procedures described hereinafter, or according to control procedures readily ascertainable to one skilled in the art in view of the functions described in association with each variable. Where an interval or specified date and time are given, the microcontroller 200, in combination with the real time clock 208, maintains individual timers (e.g., T1, T2 . . . Tn as shown in FIG. 3) for each of the intervals or specified date and time. That is, at least one timer for each image slot and at least one batch timer are maintained. Each timer may count intervals from a given start time, or be set to count down to one or more specific dates and times, in combination with the real time clock 208 and microcontroller 200 forming one or more scheduling devices.

FIG. 6 describes a control procedure initiated when the camera 1 is "turned on". The camera 1 may be, as previously described, actually powered at all times when connected to the appropriate power supply. However, when an "on-off" button is operated, or the power supply is connected, the camera 1 may perform the initialization and main steps detailed in FIG. 6. As shown in FIG. 6, after the camera 1 is "turned on", the microcontroller 200 is first "booted" and initialized at step S10. In step S10, the necessary routines for basic operation of the microcontroller 200 are loaded, according to the boot ROM 230, from the NVRAM 242 into the memory 228. These routines/applications/drivers include at least the transport control (e.g., TCP/IP) stack, a driver that recognizes the network interface device 236, and the user interface and operating system (including boot messages for display). Subsequently, data and applications may be called from or loaded to the NVRAM 242, the compression engine 224, and the GP memory 228 as needed to carry out the various functions of the system. The initialization procedure may use values and parameters stored in the COMMUNICATIONS: MODEM/LAN variable group to initialize the network interface device
236. At step S12, the program begins a main routine, as shown in FIG. 7.

FIG. 7 shows an exemplary logic flow of the main routine of the camera 1. As shown in FIG. 7, the main routine enables "user" intervention, including intervention via the interrupt controllers 213, GPIO pins 219, or trigger inputs 211 at step S14. At this point, initialization is completed, and the microcontroller 200 may recognize commands from the button/switch input 214, from the GPIO pins 219, from the trigger inputs 211, from the serial/IrDA port 210, or "automatic" commands from the various timers or other interrupts (described later).

The microcontroller 200 is preferably responsive, via the serial/IrDA port or internal issuance (e.g., button, timer, trigger, event), to a command set having a robust syntax, and controls the camera according to commands in the command set. In the present embodiment, an "escape code" command set is preferred for simplicity and stability. For example, a command to which the camera responds may be arranged to have a three field header preceding any data accompanying the command--a one byte escape code (conventionally 0.times.1B hexadecimal), a one byte command code (permitting 256 different commands in the set), and a one byte command data length (permitting up to 256 bytes of command-specific data to be exchanged). The length field is always included, even if no data accompanies the command. Commands fall into two primary categories: parameter setting, and task execution. The camera also follows a response syntax similar to the command syntax, i.e., an escape code, an echo of the command code, and a command data length, followed by any data to be returned by the camera. Since the camera returns large amounts of data, including images, upon request, the command data length in the response syntax is preferably three bytes, permitting up to 16 Mb of command-specific data to be returned by the camera.

The following routines and functions are described without specific reference to a particular command set, although the operations described are preferably initiated, performed, and/or terminated using a command set as described above. FIG. 16B, described below, shows a routine for handling commands received as part of, e.g., a command set.

At step S16, the microcontroller 200 waits for one of: a command (e.g., received via the serial/IrDA port 210, or generated by one or more button presses, a timer, or internal processes or events); a setup signal (i.e., a button press of one of buttons 214c-d or a setup signal received from the serial Ir/DA port 210); a batch upload signal (i.e., a depression of button 214e when in setup mode, a batch upload signal received from the serial Ir/DA port 210, or the batch timer expiring); or a release signal (i.e., a button press of button 214e when in main operation mode, a release signal received from the serial Ir/DA port 210, any image slot timer expiring, or a signal received from a GPIO pin 219 or trigger input 211). If a command signal is detected at step S16, the microcontroller 200 proceeds to a command routine at step S19 (described later with reference to FIG. 16B), and when the command routine is completed, proceeds to step S24. If a setup signal is detected at step S16, the microcontroller 200 proceeds to a setup routine at step S118 (described later with reference to FIG. 16A), and when the setup routine is completed, proceeds to step S24. If a batch upload signal is detected at step S16, the microcontroller 200 proceeds to a batch upload routine at step S20 (described with reference to FIG. 14), and when the batch upload routine is completed, proceeds to step S24. If a release signal is detected at step S16, the microcontroller 200 proceeds to a capture routine at step S22 and a transmit routine at step S23 (described with reference to FIGS. 8 and 9), and when the capture and transmit routines are completed, proceeds to step S24 (a reporting routine described below with respect to FIG. 15). Upon the completion of step S24, control proceeds to step S27.

The setup signal, batch upload signal, or release signal may be considered "commands" handled by the routine of FIG. 16B, but in this embodiment, are handled independently of received "commands", although the called routines may also be entered via the receipt of an appropriate command.

In step S27, the camera 1 may perform a "soft reset" according to the values stored in the RESETS variable group. That is, depending on the RESETS variable group, the camera 1 may perform a interval-based "soft reset" (e.g., once a day, once a week), or an event-based "soft reset" (e.g., after a certain number of failures to connect or other generated errors). In either case, all or some of the applications/drivers/memory spaces are reset, initialized, or cleared depending on the RESETS variable group. Step S27 may return the camera to step S10 of FIG. 6 if the entire camera 1 is to be reset or re-initialized, again depending on the contents of the RESETS variable group. This feature allows the camera 1, e.g., to restart occasionally to clear out old data, or to reset if unable to get a connection, without the user being required to visit a remote site.

If the camera is not "turned off" (e.g., via a switch on the button/switch input 214) at step S25, then the microcontroller 200 returns to step S16 to cycle through the main routine again. If it is determined that the camera 1 is "turned off" at step S25, then control returns to the main routine, where the camera 1 shuts down (e.g., enters an idle state).

FIG. 8 shows a capture routine for capturing, compressing, and storing an image. As shown in FIG. 8, the capture routine first checks at step S26 whether the indicated image capture is event based, i.e., according to user or trigger intervention, or whether the indicated image capture is according to a timer (for example, according to a flag set in step S16 to indicate which signal was rec