CA2304439A1 - Panoramic viewing system with offset virtual optical centers - Google Patents
Panoramic viewing system with offset virtual optical centers Download PDFInfo
- Publication number
- CA2304439A1 CA2304439A1 CA002304439A CA2304439A CA2304439A1 CA 2304439 A1 CA2304439 A1 CA 2304439A1 CA 002304439 A CA002304439 A CA 002304439A CA 2304439 A CA2304439 A CA 2304439A CA 2304439 A1 CA2304439 A1 CA 2304439A1
- Authority
- CA
- Canada
- Prior art keywords
- view
- image processing
- base
- camera
- panoramic viewing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 description 60
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- RLQWHDODQVOVKU-UHFFFAOYSA-N tetrapotassium;silicate Chemical compound [K+].[K+].[K+].[K+].[O-][Si]([O-])([O-])[O-] RLQWHDODQVOVKU-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 101150085091 lat-2 gene Proteins 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
- Stereoscopic And Panoramic Photography (AREA)
Abstract
The present invention relates to a panoramic viewing apparatus. The apparatus is comprised of a plurality of image processing devices, each having a first optical center and a first field of view. A pyramid shaped element is provided having a plurality of reflective side facets facing in different directions. Each of the plurality of reflective side facets redirects a field of view associated with one of the plurality of image processing devices to create a plurality of virtual optical centers within the pyramid shaped element. Each of the virtual optical centers is offset from each other to create a blind region that encompasses an edge of the reflective side facet associated with the image processing device. A shade is positioned in at least one of the blind regions and extends in an outward direction.
Description
PANORAMIC VIEWING SYSTEM WITH OFFSET
VIRTUAL OPTICAL CENTERS
This is a division of co-pending Canadian Patent Application Serial No.
VIRTUAL OPTICAL CENTERS
This is a division of co-pending Canadian Patent Application Serial No.
2,247,612, which was filed on September 17, 1996.
Backgrround of the Invention Field of the Invention:
The present invention relates to a viewing system; more particularly, a spherical viewing system.
Description of the Related Art:
In an effort to operate more efficiently, it is desirable to perform some tasks using telepresence. Telepresence refers to providing visual or other types of sensory information from a device at a remote site to a user that make the user feel as if he/she is present at the remote site.
For example, many businesses now hold meetings using telepresence.
Telepresence is also useful for distance learning and remote viewing of events such as concerts and sporting events. A more.
realistic telepresence is provided to a user by providing the user with the capability to switch between views, and thereby mimic, for example, looking around a meeting room.
In the past, when several views were made available to a user, several cameras with different optical centers were used. Such a situation is illustrated in Fig.
1. Fig. 1 illustrates cameras 2, 4, 6 and 8 with optical centers 10,12,14, and 16, respectively.
When the user decided to change views, he or she simply switched between cameras. In more sophisticated systems, when a user decided to change views, he or she was able to obtain a view from optical centers 10,12,14, or 16 as well as from additional optical centers 18, 20, 22, 24 or 26. Views associated with optical centers such as 18, 20, 22, 24 and 26 were obtained by using views from the two cameras nearest to the selected optical center. For example, a view from optical center 18 was obtained by using the views from cameras 2 and 4 and interpolating between the two views so as to simulate a view from optical center 18. Such procedures introduced irregularities into views. In addition, forming these interpolated views required a large amount of computational power and time, and thereby made this technique expensive and slow to respond to a user's commands. This computational overhead also limited the number of users that can simultaneously use the system.
Summary of the Invention:
One embodiment of the present invention provides an omnidirectional or panoramic viewer where several cameras have a common effective optical center.
The cameras are positioned so that they each view a different reflective surface of a 1o polyhedron such as a pyramid. This results in each camera having a virtual optical center positioned within the pyramid. The field of view of each of the cameras is arranged to form a continuous 3b0 degree view of as area when taken as a whole. The user can sweep through 360 degroes of viewing, where each view has the same or nearly the same optical center, by simply using the output of one camera or the combination of two 1s cameras without requiring the computational overhead of interpolation used in the prior art. Such as arrangement may be used to enhance use of virtual meeting moms by allowing a viewer to see the meeting room in a more natural format. This format corresponds closely to a person sitting in the actual meeting who simply turns his or her head to change the view at a particular time.
2o In another embodiment of the present invention, a nearly spherical view is provided to a user by placing a camera with its optical center at the common virtual optical center of the viewer. Ia order to enhance the spherical view, the camera at the common virtual optical center may use a wide angle lens.
In still another embodiment of the invention, the cameras are positioned so that 25 their effective optical centers are offset from each other. The oflproduce narrow blind regions that remove image distortions received from the edges of the pyramid's reflective surface..
In yet another embodiment of the present invention, the viewing device may include any type of image processing device. If the image processing device is a camera 30 or other type of image capture device, a panoramic or spherical image is captured for the user, and if the image processing device is a projector or other type of image producing device, a panoramic or spherical image is produced for the user.
In accordance with one aspect of the present invention there is provided a panoramic viewing apparatus, comprising: a plurality of image processing devices, each having a first optical center and a first field of view; a pyramid shaped element having a plurality of reflective side facets facing in different directions, each of the plurality of reflective side facets redirecting a field of view associated with one of the plurality of image processing devices to create a plurality of virtual optical centers within the pyramid shaped element, each of the virtual optical centers being offset from each other to create a blind region that encompasses an edge of the reflective side facet associated with the image processing device; and a shade positioned in at least one of the blind regions extending in an outward direction.
Brief Description of the Drawings:
The present invention, taken in conjunction with the invention disclosed in co-pending Canadian Patent Application Serial No. 2,247,612, which was filed on September 17,1996, will be described in detail hereinbelow, with the aid of the accompanying drawings, in which:
Fig. 1 illustrates a prior art multiple camera viewing system;
Fig. 2 illustrates a four camera omnidirectional or panoramic viewing system using a four-sided pyramid with reflective surfaces;
Fig. 3 illustrates how a reflective surface of the pyramid is used to provide each camera with a common optical center;
Fig. 4 illustrates the top view of the pyramid illustrating the camera positions;
Fig. 5 illustrates an eight-sided pyramid with reflective side surfaces;
Fig. 6 is a top view of the pyramid of Fig. 5;
Fig. 7 is a block diagram of a system to control data produced by the cameras;
2 5 Fig. 8 illustrates the association between the data received from the cameras and the view presented to a user;
Fig. 9 illustrates an addressing scheme for the memory of Fig. 7;
Fig. 10 is a block diagram of the controller of Fig. 7;
Fig. 11 illustrates using a telecommunications network to provide a selection of views to a plurality of users;
Backgrround of the Invention Field of the Invention:
The present invention relates to a viewing system; more particularly, a spherical viewing system.
Description of the Related Art:
In an effort to operate more efficiently, it is desirable to perform some tasks using telepresence. Telepresence refers to providing visual or other types of sensory information from a device at a remote site to a user that make the user feel as if he/she is present at the remote site.
For example, many businesses now hold meetings using telepresence.
Telepresence is also useful for distance learning and remote viewing of events such as concerts and sporting events. A more.
realistic telepresence is provided to a user by providing the user with the capability to switch between views, and thereby mimic, for example, looking around a meeting room.
In the past, when several views were made available to a user, several cameras with different optical centers were used. Such a situation is illustrated in Fig.
1. Fig. 1 illustrates cameras 2, 4, 6 and 8 with optical centers 10,12,14, and 16, respectively.
When the user decided to change views, he or she simply switched between cameras. In more sophisticated systems, when a user decided to change views, he or she was able to obtain a view from optical centers 10,12,14, or 16 as well as from additional optical centers 18, 20, 22, 24 or 26. Views associated with optical centers such as 18, 20, 22, 24 and 26 were obtained by using views from the two cameras nearest to the selected optical center. For example, a view from optical center 18 was obtained by using the views from cameras 2 and 4 and interpolating between the two views so as to simulate a view from optical center 18. Such procedures introduced irregularities into views. In addition, forming these interpolated views required a large amount of computational power and time, and thereby made this technique expensive and slow to respond to a user's commands. This computational overhead also limited the number of users that can simultaneously use the system.
Summary of the Invention:
One embodiment of the present invention provides an omnidirectional or panoramic viewer where several cameras have a common effective optical center.
The cameras are positioned so that they each view a different reflective surface of a 1o polyhedron such as a pyramid. This results in each camera having a virtual optical center positioned within the pyramid. The field of view of each of the cameras is arranged to form a continuous 3b0 degree view of as area when taken as a whole. The user can sweep through 360 degroes of viewing, where each view has the same or nearly the same optical center, by simply using the output of one camera or the combination of two 1s cameras without requiring the computational overhead of interpolation used in the prior art. Such as arrangement may be used to enhance use of virtual meeting moms by allowing a viewer to see the meeting room in a more natural format. This format corresponds closely to a person sitting in the actual meeting who simply turns his or her head to change the view at a particular time.
2o In another embodiment of the present invention, a nearly spherical view is provided to a user by placing a camera with its optical center at the common virtual optical center of the viewer. Ia order to enhance the spherical view, the camera at the common virtual optical center may use a wide angle lens.
In still another embodiment of the invention, the cameras are positioned so that 25 their effective optical centers are offset from each other. The oflproduce narrow blind regions that remove image distortions received from the edges of the pyramid's reflective surface..
In yet another embodiment of the present invention, the viewing device may include any type of image processing device. If the image processing device is a camera 30 or other type of image capture device, a panoramic or spherical image is captured for the user, and if the image processing device is a projector or other type of image producing device, a panoramic or spherical image is produced for the user.
In accordance with one aspect of the present invention there is provided a panoramic viewing apparatus, comprising: a plurality of image processing devices, each having a first optical center and a first field of view; a pyramid shaped element having a plurality of reflective side facets facing in different directions, each of the plurality of reflective side facets redirecting a field of view associated with one of the plurality of image processing devices to create a plurality of virtual optical centers within the pyramid shaped element, each of the virtual optical centers being offset from each other to create a blind region that encompasses an edge of the reflective side facet associated with the image processing device; and a shade positioned in at least one of the blind regions extending in an outward direction.
Brief Description of the Drawings:
The present invention, taken in conjunction with the invention disclosed in co-pending Canadian Patent Application Serial No. 2,247,612, which was filed on September 17,1996, will be described in detail hereinbelow, with the aid of the accompanying drawings, in which:
Fig. 1 illustrates a prior art multiple camera viewing system;
Fig. 2 illustrates a four camera omnidirectional or panoramic viewing system using a four-sided pyramid with reflective surfaces;
Fig. 3 illustrates how a reflective surface of the pyramid is used to provide each camera with a common optical center;
Fig. 4 illustrates the top view of the pyramid illustrating the camera positions;
Fig. 5 illustrates an eight-sided pyramid with reflective side surfaces;
Fig. 6 is a top view of the pyramid of Fig. 5;
Fig. 7 is a block diagram of a system to control data produced by the cameras;
2 5 Fig. 8 illustrates the association between the data received from the cameras and the view presented to a user;
Fig. 9 illustrates an addressing scheme for the memory of Fig. 7;
Fig. 10 is a block diagram of the controller of Fig. 7;
Fig. 11 illustrates using a telecommunications network to provide a selection of views to a plurality of users;
Fig. 12 illustrates a second embodiment for providing a selection of views to multiple users over a telecommunications network;
Fig. 13 illustrates the viewing system of Fig. 2 with a fifth camera;
Fig. 14 illustrates a top view of the pyramid of Fig. 2 with displaced virtual optical centers; and Fig. 15 illustrates the pyramid of Fig. 14 with shades positioned in blind regions.
Description of the Preferred Embodiments:
Fig. 2 illustrates a four camera system for providing a 360 degree view to a user, where the cameras each have a common virtual optical center within the pyramid. .
Pyramid 40 has reflective sides 42, 44, 46 and 48 and may be a hollow or solid structure. In a preferred embodiment, each of the reflective sides forms a 45 degree angle with a plane parallel to base 50 and passing through the vertex of pyramid 40. Cameras 52, 54, 56 and 58 are associated with pyramid reflective surfaces 48, 42, 44 and 46, respectively. The cameras may be image gathering devices such as an optical scanner. As a result, camera 52 views a reflection from surface 48 to enable it to view objects in the direction -3a-of arrow 60. Camera 54 views a reflection from surface 42 to view objects in the direction of arrow 62. Camera 56 views a reflection from surface 44 to view objects in the direction of arrow 64, and camera 58 views a reflection from surface 46 to view objects in the direction of arrow 66. Each camera has a 90 degree field of view. The combination of the four cameras viewing reflections from their associated reflective surfaces on pyramid 40, produce a 360 degree view of the area surrounding pyramid 40.
It is desirable to locate the optical center of each camera on a plane that is parallel to base 50 and intersects vertex 70 of pyramid 40. Each camera's optical center should also be located on a line that passes through vertex 70 and is perpendicular to the base line of the to camera's associated reflective surface. For Example, the optical center of camera 54 is located on line 72. Line 72 is perpendicular to base line 74 of reflective surface 42. Line 72 is in a plane that passes through vertex 70 and is parallel to base 50..
Likewise, the optical center of camera 56 is positioned on lip 76 which is perpendicular to baseline ?8, the optical center of camera 58 is positioned on line 80 which is perpendicular to base line 82, and the optical center of camera 52 is positioned on base line 84 which is perpendicular to base line 86.
Each camera optical center is positioned on one of the above described lines at a distance X from vertex 70 and each camera has its optical axes or direction of view pointing perpendicular to base 50. ('The distance X should be such that tlx reflective 2o suttee reflects as much of the camera's field of view as desired; however, the _defects is the reflective surface become more visible when the camera is moved closer to the reflective surface.) This positioning of optical centers results in the cameras sharing a virtual optical center located at position 90. Virtual optical center 90 is located a distance X from the vertex 70 on a line that passes through vertex 70 and is perpendicular to base 50.
Fig. 3 illustrates another view of pyramid 40 where only camera 54 is shown for the sake of simplicity. Camera 54 is positioned on line 72 so ws to have a virtual optical center at position 90 within pyramid 40. If camera 54 has a 90 degree field of view is the direction perpendicular to base 50; and if the optical center of camera 54 is at a distance of X from vertex 70 along line 72, camera 54 has a 90 degree view in the direction of arrow 62. In similar fashion, cameras 56, 58, and 52 have 90 degree views in the direction of arrows 64, 66, and 60, respectively. 'Ibis arrangement inexpensively produces a 360 degree field of view of as area because cameras with a 90 degree field of view have relatively inexpensive optics.
Fig. 4 is a top view of pyramid 40. Fig. 4 illustrates the placement of the optical center of camera 54 along line 72. Line 72 should be in a plane that passing through ~, _ ____ __, __ _.
vertex 70 and is parallel to base 50. The line should also be perpendicular to base line 74 of pyramid 40. The camera's optical center should be positioned a distance X
from vertex 70 along line 72. The distance X should be such that the reflective surface reflects as much of the camera's field of view as desired. Point 100 is located on base 50 at a position where a line from vertex 70 perpendicularly intersects base 50. In a similar fashiup, the optical centers of cameras 56, 58 and 52 are positioned the distance X along lines 76, 80 and 84, respectively.
Fig. 5 illustrates an eight-sided pyramid 120. Pyramid 120 has reflective surfaces 122 where each of surfaces 122 forms a 45 degree angle with a plane that passes through to vertex 130 and is parallel to base 124. As with the four-sided pyramid of Fig. 2, each reflective surface of Fig. 5 may have a camera associated with it. Each camera's optical center is positioned on a line that is in a plane that passes through vertex 130 and is' parallel to base 124. The line is perpendicular to base line 132 of the reflective surface associated with the camera to be positioned. Using an eight-sided pyramid offers the t5 advantage of using cameras with only a 45 degree field of view to obtain a 360 degree view. Cameras with only a 45 degree field of view have inexpensive optics and enable a 360 degree view to be constructed using relatively inexpensive components.
Fig. 6 is a top view of pyramid 120. As discussed with regard to Fig. 5, each camera's optical center is positioned along a line 134 which is in a plane that passes 20 through. vertex 130 and is parallel to base 124. The optical centers are positioned a distance X along line 134 which is perpendicular to the appropriate base line 132. .Point 14~ is on base 124 at the point of intersection beh~en base 124 and a line that passes through vertex 130 and is perpendicular to base 124.
Pyramids having more or less reflective sides may be used. The advantage of 25 using pyramids having a large number of sides is that cameras with moderate to small fields of view may be used. Cameras with moderates fields of view have relatively inexpensive optics. The number of sides used in a pyramid is somewhat limited by the cost of providing a large number of cameras. A 360 degree view of a scene may be .
provided using a pyramid having three reflective sides. It may be expensive to use only a 30 three-sided pyramid in order to provide a 360 degree field of view. This embodiment of the invention uses three cameras each with a 120 degree field of view, and cameras with such a wide field of view use relatively expensive optical components.
In applications where. a fiill 360 degree view is not desired, it is possible to build a viewer that does not have a camera associated with each reflective surface of the pyramid.
35 Fig. 7 illustrates a block diagram of a system for controlling data produced by the cameras of a viewing device such as the viewing device described in figs. 2 through 4.
Cameras 52, 54, 56 and 58 obtain a 360 degree view of an area via their associated reflective surfaces of pyramid 40. The image signal or output signal of cameras 52, 54, 56 and 58 are passed through analog to digital converters (A/D) 160, 162, 164, and 166, respectively. The output of the cameras can be thought of as a stream of pixels and the output of the A/Ds can be thought of as data representative of the pixels from the cameras. The output of the A/Ds are passed through roux 170. Mux 170 allows the pixel data from each of the A/Ds to reach memory 172. Controller 174 cycles the select lines of roux 170 so that the outputs of all of the A/Ds are stored in memory 172.
Mux 170 is switched at a rate that is four times the pixel rate of the cameras. If more or less cameras ~ o are used, the rate at which roux 170 is switched will be increased or slowed accordingly.
It is also possible to eliminate roux 170 and to store the output of each A/D
in a separate memory. Controller 174 is implemented using a microprocessor which provides control signals to counters that control the switching of roux 170 and counters used to provide addressing to memory 172. The control signals to the counters include reset, enable and a starting offset.
As a result of the pixel information being passed to memory 172, memory 172 contains a 360 degree view of a scene. Pixel information stored in.memory 172 is passed through digital to analog converter (D/A) 176 and to video display 178. The actual portion of memory 172 that is passed to video display 178 via D/A 176 is coatinlled via user input device 180: User itrput device 1;$0 may be a common deuce such as a mouse;
joystick, or keyboard. The user may simply lean a joystick to the-right to shift his view to the right, lean the joystick to the left to shift the view to the left, or leave the joystick in the center to keep the view unchanged. Based on the input from user device 180, controller 174 varies offsets and starting addresses that are used to provide addressing to memory 172.
Fig. 8 illustrates the relationship between the data provided by the cameras and the view available to the user: Sincx the cameras share a virtual optical center, the view can be thought of as a cylindrical view. Sector 200 can be thought of as representing the information provided by camera 52, sector 202. can be thought of as representing the information provided by camera 54, sector 204 can be thought of as representing the information provided by camera 56, and sector 206 can be thought of as representing the information provided by camera 58. The surface of the cylinder in each sector can be thought of as a collection of columns, where each column is composed of pixels. For example, sector 200 can be thought of as a collection of columns including columns 210, 212, 214 and 216. Likewise, the output produced by camera 54 can be thought of as a collection of columns which include column 218 in sector 202 and the output of camera 58 can include columns such as column 220 in sector 206. The column of pixels near the sector boundaries are closer together then the columns near the center of a sector. This occurs because the cameras capture the image on a plane while Fig. 8 shows the columns projected onto a cylindrical surface.
s Fig. 9 illustrates how memory 172 is divided to provide easy access to different views based on signals from user input device 180. Sections 230, 232, 234 and correspond to sectors 206, 200, 202 and 204, respectively. Each of sections 230, 232, 234 and 236 can be thought of as a block within memory 172. The blocks in memory 172 are broken into columns of sequential addresses. The first column of memory 1o segment 230 corresponds to the first column of pixels of sector 206. The number of memory positions associated with a column should be at least sufficient to have one location for each pixel in a particular column. For exaadple, if a column of pixels from Fig. 8 includes 1000 pixels, each column associated with the memory segments of Fig. 9 should have at least 1000 locations. The number of columns associated with a particular 15 memory segment should be at least equal to the number of columns associated with a particular section of the cylinder of Fig. 8.
If a camera scans in a horizontal direction, sequential pixels are written in adjacent columns; but possibly different rows, of a particular memory segment by simply changing an offset to a counter generated address. The overall write address is generated 20 by adding the offset to the counter's output. This offset is changed at the rate in which the horizontally scanned pixels are received. After a horizontal scan is completed, the counter is iric;emented and once again the offsets are changed at the horizontal scan rate:
As a result, when addressing a particular segment of memory during a write cycle; the columns are addressed by changing the offset at the horizontal pixel scan rate, and 25 incrementing the counter at the vertical scan rate. This type of addressing scheme is used for accessing columns within each memory segment. When addressing different memory segments during a write cycle, a write segment offset is added to the sum of the counter output and the column offset. The write segment offset permits addressing memory segments 230, 232, 234, and 236. The segment offset is changed at the same rate as mux 30 170 is switched.
_7_ Pixel data is read from memory 172 in a similar fashion. The sum of a counter output and two sets of offsets are used to generate a read address. Once an initial starting column has been picked, the read address is generated by switching a read column offset at a rate that is equal to the horizontal scan rate of a video display. After reading one s horizontal scans worth of data, the read counter is incremented and the read column offsets are changed at a rate equal to the horizontal scan rate of the display. As a result, the offset addresses are changing at the display's horizontal display rate and the counter is incremented at a rate equal to the vertical scan rate of a display. It is possible to read data out at a rate faster or slower than 'required by the video display; however, if read out to faster, a buffer memory should be used, if read out slower the video display may appear choppy to the viewer.
It should be noted that the cylindrical arrangement of pixels of Fig. 8 is typically displayed on a flat or nearly flat display. As a result, the image is displayed by compensating for converting between a cylindrical surface and a flat surface.
This may i s be carried out using a simple conversion algorithm within a common digital signal processing integrafied circuit. lt~tethods for these types of conversions are well known in the art and can be found in "A Guided Tour of Computer Vision; Vishvjit S.
Nalwa, Addison-Wesley Publishing Co., Reading; Massachusetts, 1993". It is also possible to carry out the conversion using a very high resolution display. _ 2o It should be noted that if the view selected by a user corresponds exactly to the view of a particular camera, such as camera 52, columns 240-248 are read from memory 170. Column 240 is the first column in segment 232 and column 248 is the last column in segment 232. If the user decides to move the view in a counter-clockwise direction, the start column will shit to the right so that the read operation begins at column 246 and 25 ends at column 250. It should be noted that column 246 is the second column associated with memory segment 232 which has the pixel data from camera 52, aad that column 250 is the first column of pixel data associated with camera 56. As the user shifts the view, the starting column shifts in relationship to the user's commands. For example, if the user indicates that the view should shift in a counter-clockwise direction, the start column 30 of Fig. 9 moves to the right, similarly, if the viewer indicates that the view should shift in _g_ a clockwise direction, the start column shif3s to the left. As before, columns are addressed by using offsets, if the offsets involve moving between memory segments, a read segment offset is added to the sum of the column offset and counter output.
It should be recalled that the columns near the sector boundaries of Fig. 8 are closer together. As a result, when the user commands a change in a view and when the border of that view is near a sector boundary, the start column changes by a larger nwnber of columns for a given angular rotation of the view. Conversely, when the border of the view is near the center of the sector, the start column changes by a smaller number . of columns for a given angular rotation.
to Fig. 10 illustrates a block diagram of controller 174. Controller 174 includes microprocessor 270 and memory 272. Memory 272 includes RAM and ROM. Processor 270 receive commands on line 274 from user input device 180. Microprocessor controls start, stop and reset of counter 276. Counter 276 controls the select lines of roux 170. Counter 276 counts at a rate that is four times the hori~ntal scan rate of the . cameras. Write address generator 278 provides write addressing for memory 172. Write address generator 278 includes a counter, register for storing offsets and adder for adding the o~aad counter output: Microprocessor 270 controls the offset. selection and the counters used by write address generator 278. The write addresses are foamed as described with regard to Fig: 9. Read address generator 280 provides read addresses to _:__ _..__ 20 __ memory 1?2. Read address generator 280 includes a counter,.~ster for storing__-_____-___ and adder for adding the offsets and counter output. As with write addrass generator 278, microprocessor 270 controls the offset selection and the counters of read address generator 280. Microprocessor 270 also controls the starting column used by the counters based on inputs provided on line 274 from user input I $0.
The write and read addresses are provided to memory 172 separately if memory 172 is implemented using a two port memory. If memory 172 is implemented with a single port memory, the write and read addresses are multiplexed to memory 172.
Fig. 11 illustrates an embodiment where a panoramic viewer is used to provide views to several users over a communications network. In this embodiment, all of the 3o columns of pixel data are read from memory 172 and placed on bus 300.
Buffer memories 302, 304, 306 and 308 receive the data from bus 300. The buffer memories are enabled only when desired columns are available on bus 300. The buffer memories then pass their information to modems 310, 312, 314 sari 316, which then provide the pixel data to telecommunications network 318. Telecommunications network 318 then s delivers the information from the modems to the users. In one example, a user receives information from modem 316 using modem 320. Modem 320 then provides the pixel information that was in memory 308 to a local video memory 322. Video memory provides the pixel information to display 324 for viewing. The user at this location controls the view using user input device 326 which may be a device such as a mouse, 1o keyboard or joystick. Modem 320 transmits the user input device signals over telecommunications network 318 to modem 316 which then provides the signals to enable controller 330. Enable controller 330 receives a signal from controller 174 that indicates which column is being read from memory 172. When the appropriate column is available, the enable controller 330 enables the buffer memory 308 to receive the 15 columns of data specified by the user input device signals received over the communication network. As discussed with regard to Fig. 9, enable controller 330 simply moves the start column based on signals from the user input device. In this embodimentx enable controller 330 enables the input to the buffer memory.when the pixel data fmtrt the start column is on bus 300. Enable controller 330 disables the input to the buffer memory 2o when the total number of columns of pixels to be viewed ate provided to the buffer memory. Figure 11 illustrates a system where four users can individually control their viewing; however, more users may be accommodated by simply increasing the number of buffer memories, modems, and ports on enable controller 330.
Fig. 12 illustrates another embodiment in which multiple viewers can use the 25 panoramic viewer. As the pixel data is read from memory 172, all of the data is passed over telecommunications network 318 to telecommunications bridge 350. The information from memory 172 is provided to bridge 350 via modem 344; however, the data may be passed to bridge 350 without use of modem 344 if a digital connection is made between memory 172 and bridge 350. Bridge 350 then distributes all of the data 3o received from memory 172 to each user in communication with bridge 350. If bridge 350 _T _ _ . __. _ _ _ _ provides analog link to users, a modem should be used at each user port. If the bridge has a digital link to the user ports, a modem is not required. In the case of an analog link, the data from memory 172 passes from modem 344 via bridge 350 to modem 360 at a user port. Modem 360 passes the pixel data to video memory 362. Video memory 362 then passes the pixel infon~nation to video display 364 under control of a user via user input device 366. User input device may be a mouse, joystick or computer keyboard.
In this embodiment, the entire contents of memory 172 is fed to video memory 362. The data read from memory 362 aad passed to video display 364 is controlled using user input device 366 in a fashion similar to that which was described with regard to Fig. 9.
1o Fig. 13 illustrates the viewing system of Fig. 2 with a fifth camera.
Camera or image gathering device 400 is located in pyramid 40 with the optical center of camera 400 located at virtual optical center 90. Camera 400 views objects in the direction of arrow 410. It is desirable to provide camera 400 with a wide eagle lens. T'he resulting wide angle view coupled with the views of the remaining four caaneras, provides a nearly spherical view. If the cameras of Fig. 13 are replaced with image producing devices, the nearly spherical viewing system becomes a nearly spherical projection system.
It should be noted; that a camera or projection device, may be placed at the virtual optical center of viewing/projextion devices having pyramids with three, four or more sides. It should also be noted that base edges 420 of the reflective surfaces should be beveled to avoid - undesirable obstruction of camera 400's field of view. It is also possible to avoid undesirable image artifacts from base edges 420 by moving camera or image processing device 400. Device 400 should be moved so that device 400's optical center is positioned away firm virtual optical center 90 is the direction of arrow 410. Device 400's optical center should be. positioned so that the device's field of view does not include edges 420.
Fig. 14 illustrates a top view of the pyramid of Fig. 2. In reference to Fig.
2, camera 52, 54, 56 and 58 have been moved upward in the direction of base 50.
As a result, virtual optical centers 500; 502, 504 and 506, which correspond to cameras 52, 54, 56 and 58, respectively, are moved away from virtuat optical center 90. It is desirable to move the virtual optical centers so that camera 52 captures an image between lines 508 3o and 510, camera 54 captures an image between lines S l2 and 514, camera 56 captures an image between lines 516 and 518, and camera 58 captures an image between lines and 522. This results in the cameras not capturing useful images from narrow planar shaped regions. In particular, planar regions 524, 526, S28 and 530 are not used by the cameras aad form blind regions. This offers the advantage of removing portions of the cameras' fields of view that are received from the edges of the reflective pyramid Eliminating these portions of the fields of view alleviates the need to pmvide image processing that compensates for image artifacts at the edges. It is desirable to keep virtual optical centers 500, 502, 504 and 506 closely clustered so that planes 524, 526, S28 and S30 are only as thin as necessary to avoid edge artifacts. By maintaining such to thin planes, the need to process the images at their common boundaries is removed while minimizing the noticeable effect seen by a user.
Fig. 1 S illustrates the pyramid of Fig 14 with shade.$ 560, 562, 564 and 566 positioned in planar regions 524, 526, 528, and 530, respectively. The shades reduce the amount of unwanted light that enters the cameras. Similar shades may be placed in blind regions between device 400's field of view and one or more of the other image processing devices' field of view. For example, if we recall that moving image device 400 in the dircction of arrow 410 removes base edges 420 from the device's field of view, a shade may be placed in one or more of the planar blind regions that extend out from a base edge 420.
_.-~__ _ _ _ . __.
Fig. 13 illustrates the viewing system of Fig. 2 with a fifth camera;
Fig. 14 illustrates a top view of the pyramid of Fig. 2 with displaced virtual optical centers; and Fig. 15 illustrates the pyramid of Fig. 14 with shades positioned in blind regions.
Description of the Preferred Embodiments:
Fig. 2 illustrates a four camera system for providing a 360 degree view to a user, where the cameras each have a common virtual optical center within the pyramid. .
Pyramid 40 has reflective sides 42, 44, 46 and 48 and may be a hollow or solid structure. In a preferred embodiment, each of the reflective sides forms a 45 degree angle with a plane parallel to base 50 and passing through the vertex of pyramid 40. Cameras 52, 54, 56 and 58 are associated with pyramid reflective surfaces 48, 42, 44 and 46, respectively. The cameras may be image gathering devices such as an optical scanner. As a result, camera 52 views a reflection from surface 48 to enable it to view objects in the direction -3a-of arrow 60. Camera 54 views a reflection from surface 42 to view objects in the direction of arrow 62. Camera 56 views a reflection from surface 44 to view objects in the direction of arrow 64, and camera 58 views a reflection from surface 46 to view objects in the direction of arrow 66. Each camera has a 90 degree field of view. The combination of the four cameras viewing reflections from their associated reflective surfaces on pyramid 40, produce a 360 degree view of the area surrounding pyramid 40.
It is desirable to locate the optical center of each camera on a plane that is parallel to base 50 and intersects vertex 70 of pyramid 40. Each camera's optical center should also be located on a line that passes through vertex 70 and is perpendicular to the base line of the to camera's associated reflective surface. For Example, the optical center of camera 54 is located on line 72. Line 72 is perpendicular to base line 74 of reflective surface 42. Line 72 is in a plane that passes through vertex 70 and is parallel to base 50..
Likewise, the optical center of camera 56 is positioned on lip 76 which is perpendicular to baseline ?8, the optical center of camera 58 is positioned on line 80 which is perpendicular to base line 82, and the optical center of camera 52 is positioned on base line 84 which is perpendicular to base line 86.
Each camera optical center is positioned on one of the above described lines at a distance X from vertex 70 and each camera has its optical axes or direction of view pointing perpendicular to base 50. ('The distance X should be such that tlx reflective 2o suttee reflects as much of the camera's field of view as desired; however, the _defects is the reflective surface become more visible when the camera is moved closer to the reflective surface.) This positioning of optical centers results in the cameras sharing a virtual optical center located at position 90. Virtual optical center 90 is located a distance X from the vertex 70 on a line that passes through vertex 70 and is perpendicular to base 50.
Fig. 3 illustrates another view of pyramid 40 where only camera 54 is shown for the sake of simplicity. Camera 54 is positioned on line 72 so ws to have a virtual optical center at position 90 within pyramid 40. If camera 54 has a 90 degree field of view is the direction perpendicular to base 50; and if the optical center of camera 54 is at a distance of X from vertex 70 along line 72, camera 54 has a 90 degree view in the direction of arrow 62. In similar fashion, cameras 56, 58, and 52 have 90 degree views in the direction of arrows 64, 66, and 60, respectively. 'Ibis arrangement inexpensively produces a 360 degree field of view of as area because cameras with a 90 degree field of view have relatively inexpensive optics.
Fig. 4 is a top view of pyramid 40. Fig. 4 illustrates the placement of the optical center of camera 54 along line 72. Line 72 should be in a plane that passing through ~, _ ____ __, __ _.
vertex 70 and is parallel to base 50. The line should also be perpendicular to base line 74 of pyramid 40. The camera's optical center should be positioned a distance X
from vertex 70 along line 72. The distance X should be such that the reflective surface reflects as much of the camera's field of view as desired. Point 100 is located on base 50 at a position where a line from vertex 70 perpendicularly intersects base 50. In a similar fashiup, the optical centers of cameras 56, 58 and 52 are positioned the distance X along lines 76, 80 and 84, respectively.
Fig. 5 illustrates an eight-sided pyramid 120. Pyramid 120 has reflective surfaces 122 where each of surfaces 122 forms a 45 degree angle with a plane that passes through to vertex 130 and is parallel to base 124. As with the four-sided pyramid of Fig. 2, each reflective surface of Fig. 5 may have a camera associated with it. Each camera's optical center is positioned on a line that is in a plane that passes through vertex 130 and is' parallel to base 124. The line is perpendicular to base line 132 of the reflective surface associated with the camera to be positioned. Using an eight-sided pyramid offers the t5 advantage of using cameras with only a 45 degree field of view to obtain a 360 degree view. Cameras with only a 45 degree field of view have inexpensive optics and enable a 360 degree view to be constructed using relatively inexpensive components.
Fig. 6 is a top view of pyramid 120. As discussed with regard to Fig. 5, each camera's optical center is positioned along a line 134 which is in a plane that passes 20 through. vertex 130 and is parallel to base 124. The optical centers are positioned a distance X along line 134 which is perpendicular to the appropriate base line 132. .Point 14~ is on base 124 at the point of intersection beh~en base 124 and a line that passes through vertex 130 and is perpendicular to base 124.
Pyramids having more or less reflective sides may be used. The advantage of 25 using pyramids having a large number of sides is that cameras with moderate to small fields of view may be used. Cameras with moderates fields of view have relatively inexpensive optics. The number of sides used in a pyramid is somewhat limited by the cost of providing a large number of cameras. A 360 degree view of a scene may be .
provided using a pyramid having three reflective sides. It may be expensive to use only a 30 three-sided pyramid in order to provide a 360 degree field of view. This embodiment of the invention uses three cameras each with a 120 degree field of view, and cameras with such a wide field of view use relatively expensive optical components.
In applications where. a fiill 360 degree view is not desired, it is possible to build a viewer that does not have a camera associated with each reflective surface of the pyramid.
35 Fig. 7 illustrates a block diagram of a system for controlling data produced by the cameras of a viewing device such as the viewing device described in figs. 2 through 4.
Cameras 52, 54, 56 and 58 obtain a 360 degree view of an area via their associated reflective surfaces of pyramid 40. The image signal or output signal of cameras 52, 54, 56 and 58 are passed through analog to digital converters (A/D) 160, 162, 164, and 166, respectively. The output of the cameras can be thought of as a stream of pixels and the output of the A/Ds can be thought of as data representative of the pixels from the cameras. The output of the A/Ds are passed through roux 170. Mux 170 allows the pixel data from each of the A/Ds to reach memory 172. Controller 174 cycles the select lines of roux 170 so that the outputs of all of the A/Ds are stored in memory 172.
Mux 170 is switched at a rate that is four times the pixel rate of the cameras. If more or less cameras ~ o are used, the rate at which roux 170 is switched will be increased or slowed accordingly.
It is also possible to eliminate roux 170 and to store the output of each A/D
in a separate memory. Controller 174 is implemented using a microprocessor which provides control signals to counters that control the switching of roux 170 and counters used to provide addressing to memory 172. The control signals to the counters include reset, enable and a starting offset.
As a result of the pixel information being passed to memory 172, memory 172 contains a 360 degree view of a scene. Pixel information stored in.memory 172 is passed through digital to analog converter (D/A) 176 and to video display 178. The actual portion of memory 172 that is passed to video display 178 via D/A 176 is coatinlled via user input device 180: User itrput device 1;$0 may be a common deuce such as a mouse;
joystick, or keyboard. The user may simply lean a joystick to the-right to shift his view to the right, lean the joystick to the left to shift the view to the left, or leave the joystick in the center to keep the view unchanged. Based on the input from user device 180, controller 174 varies offsets and starting addresses that are used to provide addressing to memory 172.
Fig. 8 illustrates the relationship between the data provided by the cameras and the view available to the user: Sincx the cameras share a virtual optical center, the view can be thought of as a cylindrical view. Sector 200 can be thought of as representing the information provided by camera 52, sector 202. can be thought of as representing the information provided by camera 54, sector 204 can be thought of as representing the information provided by camera 56, and sector 206 can be thought of as representing the information provided by camera 58. The surface of the cylinder in each sector can be thought of as a collection of columns, where each column is composed of pixels. For example, sector 200 can be thought of as a collection of columns including columns 210, 212, 214 and 216. Likewise, the output produced by camera 54 can be thought of as a collection of columns which include column 218 in sector 202 and the output of camera 58 can include columns such as column 220 in sector 206. The column of pixels near the sector boundaries are closer together then the columns near the center of a sector. This occurs because the cameras capture the image on a plane while Fig. 8 shows the columns projected onto a cylindrical surface.
s Fig. 9 illustrates how memory 172 is divided to provide easy access to different views based on signals from user input device 180. Sections 230, 232, 234 and correspond to sectors 206, 200, 202 and 204, respectively. Each of sections 230, 232, 234 and 236 can be thought of as a block within memory 172. The blocks in memory 172 are broken into columns of sequential addresses. The first column of memory 1o segment 230 corresponds to the first column of pixels of sector 206. The number of memory positions associated with a column should be at least sufficient to have one location for each pixel in a particular column. For exaadple, if a column of pixels from Fig. 8 includes 1000 pixels, each column associated with the memory segments of Fig. 9 should have at least 1000 locations. The number of columns associated with a particular 15 memory segment should be at least equal to the number of columns associated with a particular section of the cylinder of Fig. 8.
If a camera scans in a horizontal direction, sequential pixels are written in adjacent columns; but possibly different rows, of a particular memory segment by simply changing an offset to a counter generated address. The overall write address is generated 20 by adding the offset to the counter's output. This offset is changed at the rate in which the horizontally scanned pixels are received. After a horizontal scan is completed, the counter is iric;emented and once again the offsets are changed at the horizontal scan rate:
As a result, when addressing a particular segment of memory during a write cycle; the columns are addressed by changing the offset at the horizontal pixel scan rate, and 25 incrementing the counter at the vertical scan rate. This type of addressing scheme is used for accessing columns within each memory segment. When addressing different memory segments during a write cycle, a write segment offset is added to the sum of the counter output and the column offset. The write segment offset permits addressing memory segments 230, 232, 234, and 236. The segment offset is changed at the same rate as mux 30 170 is switched.
_7_ Pixel data is read from memory 172 in a similar fashion. The sum of a counter output and two sets of offsets are used to generate a read address. Once an initial starting column has been picked, the read address is generated by switching a read column offset at a rate that is equal to the horizontal scan rate of a video display. After reading one s horizontal scans worth of data, the read counter is incremented and the read column offsets are changed at a rate equal to the horizontal scan rate of the display. As a result, the offset addresses are changing at the display's horizontal display rate and the counter is incremented at a rate equal to the vertical scan rate of a display. It is possible to read data out at a rate faster or slower than 'required by the video display; however, if read out to faster, a buffer memory should be used, if read out slower the video display may appear choppy to the viewer.
It should be noted that the cylindrical arrangement of pixels of Fig. 8 is typically displayed on a flat or nearly flat display. As a result, the image is displayed by compensating for converting between a cylindrical surface and a flat surface.
This may i s be carried out using a simple conversion algorithm within a common digital signal processing integrafied circuit. lt~tethods for these types of conversions are well known in the art and can be found in "A Guided Tour of Computer Vision; Vishvjit S.
Nalwa, Addison-Wesley Publishing Co., Reading; Massachusetts, 1993". It is also possible to carry out the conversion using a very high resolution display. _ 2o It should be noted that if the view selected by a user corresponds exactly to the view of a particular camera, such as camera 52, columns 240-248 are read from memory 170. Column 240 is the first column in segment 232 and column 248 is the last column in segment 232. If the user decides to move the view in a counter-clockwise direction, the start column will shit to the right so that the read operation begins at column 246 and 25 ends at column 250. It should be noted that column 246 is the second column associated with memory segment 232 which has the pixel data from camera 52, aad that column 250 is the first column of pixel data associated with camera 56. As the user shifts the view, the starting column shifts in relationship to the user's commands. For example, if the user indicates that the view should shift in a counter-clockwise direction, the start column 30 of Fig. 9 moves to the right, similarly, if the viewer indicates that the view should shift in _g_ a clockwise direction, the start column shif3s to the left. As before, columns are addressed by using offsets, if the offsets involve moving between memory segments, a read segment offset is added to the sum of the column offset and counter output.
It should be recalled that the columns near the sector boundaries of Fig. 8 are closer together. As a result, when the user commands a change in a view and when the border of that view is near a sector boundary, the start column changes by a larger nwnber of columns for a given angular rotation of the view. Conversely, when the border of the view is near the center of the sector, the start column changes by a smaller number . of columns for a given angular rotation.
to Fig. 10 illustrates a block diagram of controller 174. Controller 174 includes microprocessor 270 and memory 272. Memory 272 includes RAM and ROM. Processor 270 receive commands on line 274 from user input device 180. Microprocessor controls start, stop and reset of counter 276. Counter 276 controls the select lines of roux 170. Counter 276 counts at a rate that is four times the hori~ntal scan rate of the . cameras. Write address generator 278 provides write addressing for memory 172. Write address generator 278 includes a counter, register for storing offsets and adder for adding the o~aad counter output: Microprocessor 270 controls the offset. selection and the counters used by write address generator 278. The write addresses are foamed as described with regard to Fig: 9. Read address generator 280 provides read addresses to _:__ _..__ 20 __ memory 1?2. Read address generator 280 includes a counter,.~ster for storing__-_____-___ and adder for adding the offsets and counter output. As with write addrass generator 278, microprocessor 270 controls the offset selection and the counters of read address generator 280. Microprocessor 270 also controls the starting column used by the counters based on inputs provided on line 274 from user input I $0.
The write and read addresses are provided to memory 172 separately if memory 172 is implemented using a two port memory. If memory 172 is implemented with a single port memory, the write and read addresses are multiplexed to memory 172.
Fig. 11 illustrates an embodiment where a panoramic viewer is used to provide views to several users over a communications network. In this embodiment, all of the 3o columns of pixel data are read from memory 172 and placed on bus 300.
Buffer memories 302, 304, 306 and 308 receive the data from bus 300. The buffer memories are enabled only when desired columns are available on bus 300. The buffer memories then pass their information to modems 310, 312, 314 sari 316, which then provide the pixel data to telecommunications network 318. Telecommunications network 318 then s delivers the information from the modems to the users. In one example, a user receives information from modem 316 using modem 320. Modem 320 then provides the pixel information that was in memory 308 to a local video memory 322. Video memory provides the pixel information to display 324 for viewing. The user at this location controls the view using user input device 326 which may be a device such as a mouse, 1o keyboard or joystick. Modem 320 transmits the user input device signals over telecommunications network 318 to modem 316 which then provides the signals to enable controller 330. Enable controller 330 receives a signal from controller 174 that indicates which column is being read from memory 172. When the appropriate column is available, the enable controller 330 enables the buffer memory 308 to receive the 15 columns of data specified by the user input device signals received over the communication network. As discussed with regard to Fig. 9, enable controller 330 simply moves the start column based on signals from the user input device. In this embodimentx enable controller 330 enables the input to the buffer memory.when the pixel data fmtrt the start column is on bus 300. Enable controller 330 disables the input to the buffer memory 2o when the total number of columns of pixels to be viewed ate provided to the buffer memory. Figure 11 illustrates a system where four users can individually control their viewing; however, more users may be accommodated by simply increasing the number of buffer memories, modems, and ports on enable controller 330.
Fig. 12 illustrates another embodiment in which multiple viewers can use the 25 panoramic viewer. As the pixel data is read from memory 172, all of the data is passed over telecommunications network 318 to telecommunications bridge 350. The information from memory 172 is provided to bridge 350 via modem 344; however, the data may be passed to bridge 350 without use of modem 344 if a digital connection is made between memory 172 and bridge 350. Bridge 350 then distributes all of the data 3o received from memory 172 to each user in communication with bridge 350. If bridge 350 _T _ _ . __. _ _ _ _ provides analog link to users, a modem should be used at each user port. If the bridge has a digital link to the user ports, a modem is not required. In the case of an analog link, the data from memory 172 passes from modem 344 via bridge 350 to modem 360 at a user port. Modem 360 passes the pixel data to video memory 362. Video memory 362 then passes the pixel infon~nation to video display 364 under control of a user via user input device 366. User input device may be a mouse, joystick or computer keyboard.
In this embodiment, the entire contents of memory 172 is fed to video memory 362. The data read from memory 362 aad passed to video display 364 is controlled using user input device 366 in a fashion similar to that which was described with regard to Fig. 9.
1o Fig. 13 illustrates the viewing system of Fig. 2 with a fifth camera.
Camera or image gathering device 400 is located in pyramid 40 with the optical center of camera 400 located at virtual optical center 90. Camera 400 views objects in the direction of arrow 410. It is desirable to provide camera 400 with a wide eagle lens. T'he resulting wide angle view coupled with the views of the remaining four caaneras, provides a nearly spherical view. If the cameras of Fig. 13 are replaced with image producing devices, the nearly spherical viewing system becomes a nearly spherical projection system.
It should be noted; that a camera or projection device, may be placed at the virtual optical center of viewing/projextion devices having pyramids with three, four or more sides. It should also be noted that base edges 420 of the reflective surfaces should be beveled to avoid - undesirable obstruction of camera 400's field of view. It is also possible to avoid undesirable image artifacts from base edges 420 by moving camera or image processing device 400. Device 400 should be moved so that device 400's optical center is positioned away firm virtual optical center 90 is the direction of arrow 410. Device 400's optical center should be. positioned so that the device's field of view does not include edges 420.
Fig. 14 illustrates a top view of the pyramid of Fig. 2. In reference to Fig.
2, camera 52, 54, 56 and 58 have been moved upward in the direction of base 50.
As a result, virtual optical centers 500; 502, 504 and 506, which correspond to cameras 52, 54, 56 and 58, respectively, are moved away from virtuat optical center 90. It is desirable to move the virtual optical centers so that camera 52 captures an image between lines 508 3o and 510, camera 54 captures an image between lines S l2 and 514, camera 56 captures an image between lines 516 and 518, and camera 58 captures an image between lines and 522. This results in the cameras not capturing useful images from narrow planar shaped regions. In particular, planar regions 524, 526, S28 and 530 are not used by the cameras aad form blind regions. This offers the advantage of removing portions of the cameras' fields of view that are received from the edges of the reflective pyramid Eliminating these portions of the fields of view alleviates the need to pmvide image processing that compensates for image artifacts at the edges. It is desirable to keep virtual optical centers 500, 502, 504 and 506 closely clustered so that planes 524, 526, S28 and S30 are only as thin as necessary to avoid edge artifacts. By maintaining such to thin planes, the need to process the images at their common boundaries is removed while minimizing the noticeable effect seen by a user.
Fig. 1 S illustrates the pyramid of Fig 14 with shade.$ 560, 562, 564 and 566 positioned in planar regions 524, 526, 528, and 530, respectively. The shades reduce the amount of unwanted light that enters the cameras. Similar shades may be placed in blind regions between device 400's field of view and one or more of the other image processing devices' field of view. For example, if we recall that moving image device 400 in the dircction of arrow 410 removes base edges 420 from the device's field of view, a shade may be placed in one or more of the planar blind regions that extend out from a base edge 420.
_.-~__ _ _ _ . __.
Claims (10)
1. A panoramic viewing apparatus, comprising:
a plurality of image processing devices, each having a first optical center and a first field of view;
a pyramid shaped element having a plurality of reflective side facets facing in different directions, each of the plurality of reflective side facets redirecting a field of view associated with one of the plurality of image processing devices to create a plurality of virtual optical centers within the pyramid shaped element, each of the virtual optical centers being offset from each other to create a blind region that encompasses an edge of the reflective side facet associated with the image processing device; and a shade positioned in at least one of the blind regions extending in an outward direction.
a plurality of image processing devices, each having a first optical center and a first field of view;
a pyramid shaped element having a plurality of reflective side facets facing in different directions, each of the plurality of reflective side facets redirecting a field of view associated with one of the plurality of image processing devices to create a plurality of virtual optical centers within the pyramid shaped element, each of the virtual optical centers being offset from each other to create a blind region that encompasses an edge of the reflective side facet associated with the image processing device; and a shade positioned in at least one of the blind regions extending in an outward direction.
2. The panoramic viewing apparatus of claim 1, wherein each of the first optical centers are offset in a direction toward a base of the pyramid shaped element from a position located in a plane, the plane being parallel to the base and containing a vertex of the pyramid shaped element.
3. The panoramic viewing apparatus of claim 2, wherein the image processing devices are image capture devices.
4. The panoramic viewing apparatus of claim 2, wherein the image processing devices are image producing devices.
5. The panoramic viewing apparatus of claim 1, further comprising a second image processing device having a second optical center located on a line that passes through a vertex of the pyramid shaped element and is perpendicular to a base of the pyramid shaped element, the second image processing device having a second field of view toward the base.
6. The panoramic viewing apparatus of claim 5, wherein the second optical center is positioned along the line such that the second field of view does not encompass at least one base edge of the plurality of reflective side facets.
7. The panoramic viewing apparatus of claim 6, further comprising a base shade extending from at least one base edge of the plurality of reflective side facets.
8. The panoramic viewing apparatus of claim 5, wherein each of the first optical centers are offset in a direction toward the base from a position located in a plane, the plane being parallel to the base and containing the vertex.
9. The panoramic viewing apparatus of claim 8, wherein the image processing devices are image capture devices.
10. The panoramic viewing apparatus of claim 8, wherein the image processing devices are image producing devices.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/946,443 | 1997-10-07 | ||
US08/946,443 US6111702A (en) | 1995-11-30 | 1997-10-07 | Panoramic viewing system with offset virtual optical centers |
CA002247612A CA2247612C (en) | 1997-10-07 | 1998-09-17 | Panoramic viewing system with offset virtual optical centers |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002247612A Division CA2247612C (en) | 1997-10-07 | 1998-09-17 | Panoramic viewing system with offset virtual optical centers |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2304439A1 true CA2304439A1 (en) | 1999-04-07 |
Family
ID=25680496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002304439A Abandoned CA2304439A1 (en) | 1997-10-07 | 1998-09-17 | Panoramic viewing system with offset virtual optical centers |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2304439A1 (en) |
-
1998
- 1998-09-17 CA CA002304439A patent/CA2304439A1/en not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2247612C (en) | Panoramic viewing system with offset virtual optical centers | |
US6115176A (en) | Spherical viewing/projection apparatus | |
US5539483A (en) | Panoramic projection apparatus | |
CA2174574C (en) | Method and system for panoramic viewing | |
US5745305A (en) | Panoramic viewing apparatus | |
CA2277712C (en) | Stereo panoramic viewing system | |
EP0982946B1 (en) | Compact high resolution panoramic viewing system | |
US6128143A (en) | Panoramic viewing system with support stand | |
EP0757273A1 (en) | Combination of several viewing devices with common point of vision | |
CA2308028C (en) | Spherical viewing/projection apparatus | |
CA2304439A1 (en) | Panoramic viewing system with offset virtual optical centers | |
CA2310956A1 (en) | Compact high resolution panoramic viewing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Dead |