Abstract:
Method for producing an interactive virtual movie, which simulates the walking of a user within a real site and exploring the same, comprising the steps of: (a) Defining first minimal conditions for the creation of a new node; (b) Defining second minimal conditions for linking between nodes; (c) Moving a scanning apparatus along routes within the site, measuring the x,y, displacement coordinates, and angular orientation of the scanning apparatus at any given time, and creating a new node at least whenever such first minimal conditions are met; (d) Obtaining an image data at each node location reflecting a camera unit field of view, and associating the said image data and its orientation with the x,y, location coordinates of the present node; (e) Finding and registering neighborhood links between pairs of nodes to generally create chains of nodes, each link assignment connecting between any two nodes satisfies at least said second minimal conditions required for linking between nodes, wherein more than one link may be assigned to a node (f) Further associating and registering with each created link an exit angular orientation from a first node in the pair and entry angular orientation to the second node in the pair.

Description:
FIELD OF THE INVENTION  
       [0001]     The field of the invention relates to systems and methods for the preparation of interactive movies. More particularly, the invention relates to a method and system for producing an interactive movie, which is made particularly for the purpose of enabling a user to virtually travel within a physical site, such as a building, office, etc.  
       BACKGROUND OF THE INVENTION  
       [0002]     Virtual movies are widely used for a variety of purposes, such as exhibitions, remote guidance and touring of places, education, training, electronic games, etc. Some of such movies are animated, and some others are real, in the sense of involving real frames that are photographed within a real, physical site. The present invention relates to the latter case, i.e., to the case where the preparation of a virtual and interactive movie enables a user to explore a real site.  
         [0003]     For example, there are some cases in which it is desired to allow a user to watch a movie of a site, and navigate interactively within the site. More particularly, it is desired to have an interactive movie enabling the user to navigate within the site while walking to any possible direction he selects, while continuously watching actual images of the site, that may be optionally combined with computer generated interactive or non interactive events or objects.  
         [0004]     In another, more particular example, it is desired to provide a virtual interactive movie for training individuals and to familiarize them with a specific site, while providing them with essential and comprehensive information about the site such as its layout, its appearance, location of rooms and equipment therein. Moreover, it could be beneficial to combine in the movie some simulations, for example, a fire when training them how to deal with some emergency procedures.  
         [0005]     Such virtual interactive movies that enable people to navigate within a real site can also be used for marketing purposes, for example, allowing viewers to interactively explore sites such as real estate properties, hotels, etc.  
         [0006]     Currently, the preparation of a virtual, interactive movie which enables navigation within a site is a very complicated task, and it involves a substantial effort, requiring professional and lengthy filming and editing.  
         [0007]     Also, the results are generally not so satisfactory, being far from providing to the user a real feeling.  
         [0008]     It is one object of the present invention to provide a method and system which significantly simplify the preparation of such virtual and interactive movies which comprise images of a real site.  
         [0009]     It is another object of the present invention to enable automation of at least a significant part of the preparation of such virtual and interactive movies.  
         [0010]     It is still another object of the present invention to enable production of such a film by freely moving a scanning apparatus within the site, without accuracy limitations which require the providing of accurate marks within the site.  
         [0011]     It is still another object of the present invention to provide a linked, diagram based representation of the virtual-interactive movie.  
         [0012]     Other objects and advantages of the invention will become apparent as the description proceeds.  
       SUMMARY OF THE INVENTION  
       [0013]     The present invention relates to method for producing an interactive virtual movie, which simulates the walking of a user within a real site and exploring the same, comprising the steps of (a) Defining first minimal conditions for the creation of a new node; (b) Defining second minimal conditions for linking between nodes; (c) Moving a scanning apparatus along routes within the site, measuring the x,y, displacement coordinates, and angular orientation of the scanning apparatus at any given time, and creating a new node at least whenever such first minimal conditions are met; (d) Obtaining an image data at each node location reflecting a camera unit field of view, and associating the said image data and its orientation with the x,y, location coordinates of the present node; (e) Finding and registering neighborhood links between pairs of nodes to generally create chains of nodes, each link assignment connecting between any two nodes satisfies at least said second minimal conditions required for linking between nodes, wherein more than one link may be assigned to a node; (f) Further associating and registering with each created link an exit angular orientation from a first node in the pair and entry angular orientation to the second node in the pair.  
         [0014]     Preferably, the satisfying any one of the conditions included in said first minimal conditions will result in the creation of a new node.  
         [0015]     Preferably, one of said first minimal conditions is a maximal predefined displacement D between two nodes sampled by the apparatus.  
         [0016]     Preferably, one of said first minimal conditions is a maximal predefined allowed angular change δ° in the orientation of the apparatus after leaving a node.  
         [0017]     Preferably, the method further comprises the elimination or merging of nodes when some third conditions are met;  
         [0018]     Preferably, said third conditions comprise closeness of nodes below a predefined distance d, and a 360° in at least one of the nodes.  
         [0019]     Preferably, each image data comprises a plurality of frames, and wherein each frame angular orientation is also registered.  
         [0020]     Preferably, the interactive virtual movie comprises: (a) A plurality of nodes;  
         [0021]     (b) Links connecting between nodes, wherein with each link between two nodes is associated with an exit angular indication from one node, and an entry angular indication to the other node, plurality of links may be associated with one node; (c) Image data reflecting a camera unit field of view for each node, and orientation indications for said image data;  
         [0022]     Preferably, the display of the movie comprises the steps of: (a) Providing to the user with means for selecting, turning, and advancing; (b) Displaying to the user a selected user field of view within the image data of a node; (c) When the user turns to a specific direction, displaying to the user the user the field of view portion of the image data which corresponds to said specific direction; (d) When the user directs to one of the exit directions of the present node, and chooses to advance: displaying to the user a portion of the image data of the next node linked to said present node by said exit direction, said displayed portion of the image data corresponds to the entry direction associated with said link. (e) When the user selecting a node other than the present node, displaying to him a user field of view portion of the image data of said other node.  
         [0023]     The present invention also relates to an apparatus for producing an interactive virtual movie, which simulates the walking of a user within a real site, said apparatus comprises: (a) A movable platform; (b) Position and orientation unit for obtaining at any given time position and orientation of the platform, and providing the same to an imaging unit; (c) Imaging units for creating a node any time when some first minimal conditions are met, obtaining image data, and associating said image data and its orientation with the node location, thereby forming a node package; (d) Data unit for: (1) receiving node packages from the imaging unit; (2) calculating neighborhood between nodes; (3) registering links between found neighboring nodes, including registering for each link entry and exit directions to and from nodes; (4) calculating possible merging and/or eliminating of nodes; (5) saving in a database within the data unit a linked graph which is the result of steps 1-4; (6) importing linked graph/s from removable media or network device to the database; and (7) exporting linked graph/s from the database to a removable media or a network device. (e) A control unit for: (1) Activation and deactivation of the device; (2) Defining parameters necessary for the operation of the apparatus; (3) Providing control over the import and export operations.  
         [0024]     Preferably, the data unit is located on the movable platform;  
         [0025]     Alternatively, the data unit may be located away from the platform; 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]     In the drawings:  
         [0027]      FIG. 1  shows a scheme of an exemplary office having two corridors and two rooms, exploration of which has to be provided by means of an interactive movie;  
         [0028]      FIG. 2  shows an example for a partial scheme with routes and nodes marked on it;  
         [0029]      FIGS. 3   a,    3   b,    3   c,  and  3   d  show examples for camera unit field of views of nodes at different locations of the office;  
         [0030]      FIG. 4  shows a 60° user field of view (UFOV) which is positioned between 30° to 90° of a node having a camera unit field of view of (−45° to 225°);  
         [0031]      FIG. 5  illustrates in block diagram form the general structure of the scanning apparatus according to an embodiment of the invention;  
         [0032]      FIG. 6  shows an example for handling a moving between nodes in an area proximate to a junction;  
         [0033]      FIG. 7  is a block diagram illustrating in more detail the structure of the scanning apparatus according to an embodiment of the invention;  
         [0034]      FIG. 8  is a flow diagram illustrating how the nodes are analyzed for neighborhood according to one embodiment of the invention;  
         [0035]      FIG. 9  is a more detailed flow diagram illustrating how the nodes are analyzed for neighborhood according to another embodiment of the invention; and  
         [0036]      FIGS. 10 and 11  are two examples illustrating the analysis of nodes in proximity of a junction. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0037]     The filming of the virtual movie according to the present invention is preferably made by means of a scanning apparatus. The scanning apparatus includes a camera unit which may comprise one or more individual cameras, each may be a video digital or analog camera, or digital stills camera. The camera unit can automatically scan and obtain an image data (hereinafter frames) in up to 360° of a field of view. The camera unit field of view may be obtained by combining one or more individual frames.  
         [0038]     As said, it is an object of the invention to enable the user viewing the movie to explore the scanned site, and to let him choose his way in real time, meaning that, for example, when approaching a junction, letting him decide which path to choose. According to the present invention video or still frames are captured along routes in the real site. The captured frames are then processed in a generally automated manner to produce an interactive movie. Then, when the movie is activated, the user can virtually explore the site while moving along said virtual routes. The filming, and the preparation process of the virtual movie is very simple, as it does not require the performing of complicated preparations in the site, such as the accurate marking of filming spots on the site&#39;s floor or the marking of accurate lines along which the scanning apparatus must be directed. The prior art does require such markings (in the form of spots, or wires), that are not allowed to appear in the filmed frames or will make the filming process unwieldy or expensive.  
         [0039]      FIG. 1  shows a scheme of an example of an office  10  having two corridors (C 1 , C 2 ) and two rooms (A, B). An object of the present invention is to produce a virtual movie enabling a user to navigate, i.e., to “walk” around the office. As seen, while beginning at point  11 , the user walks up to junction J 1 , in which he may either turn right into room B or continue straight ahead. Similarly, when arriving at junction J 2 , the user may either turn right into room A or go straight ahead along corridor C 1 . When arriving at junction J 3 , the user may either turn to the right or to the left within corridor C 2 . Moreover, while walking along the corridor the user generally needs to have a relatively limited field of view. In junctions J 1 , J 2 , and J 3  the user needs a wider field of view, and in rooms A and B he generally needs a field of view of 360°. For example, in junction J 1  the user may select to continue along the corridor and view up to the end of the corridor, or he may select turning into room B and see the view of room B, or he may even in some cases decide to turn back and return along the corridor C 1 .  
         [0040]     According to the present invention the office is filmed by means of a scanning apparatus which can take frames in up to a 360° field of view. The scanning apparatus is moved forward along the route, while capturing photographs in a relevant field of view, from filming spots. For example, the scanning apparatus may capture images every distance of 10 cm. and scan a predefined field of view, by capturing frames.  
         [0041]     The plurality of points along the route in which the scanning (filming) is performed are indicated in  FIG. 2  as nodes  13 . The nodes  13 , schematically indicate in each specific node location the manner of scanning at that point, and provide other parameters that are specific to this node.  
         [0042]     Before the filming stage, a plan is made regarding the routes along which the filming will be made. Along the planed routes, the nodes are created when the scanning apparatus pass a predefined distance D, which may be, for example, every 5-50 cm, or change its angular orientation by a predefined angle Δ° (for example 5°). For each node, a specific camera unit field of view is created. The term “camera unit field of view” defines herein the angular for each node, a cumulative field of views that are captured by the individual camera forming the camera unit. Several examples of nodes with their corresponding camera unit field of views are indicated in  FIGS. 3   a - 3   d.  The shaded areas indicate the camera unit field of view. For example, as shown in  FIG. 3   a,  the camera unit field of view in node  15  (and similarly also in nodes  16 ,  17 , and  21 ) may span 90°, i.e., between −45° to +45° (while the 0° is defined as the North direction). The camera unit field of view of same nodes may alternatively be as shown in  FIG. 3   b,  i.e., it may span two sectors, a first one between −45° to +45°, and a second one between 225° to 135° for enabling the user to “walk” both forward and backward. Such double field of view may be obtained in one filming session by mounting two separate cameras within the camera unit, one facing forward and a second facing backward on a same platform.  FIG. 3   c  shows a preferable field of view for node  18  located at junction J 1 . In said node, the field of view spans a sector of 270°, i.e., between −45° to 225°. The field of view of node  22  may be 360°, as shown in  FIG. 3   d,  in order to enable viewing of all directions.  
         [0043]     Furthermore, the parameter of maximal user field of view (UFOV) is predefined. The user field of view is the angular size of a sector that the user is allowed to view while navigating. In any node, the user field of view must be smaller than the camera unit field of view, or if there are more than one sector within the node camera unit field of view, the user field of view must be smaller than any one of said camera unit field of view sectors. For example, the user field of view may be defined as a sector of 60°. Therefore, and as shown in  FIG. 4 , while located at node  18 , the user, for example, may position his 60° user field of view at any range between −45° to 225°, for example between +30° to 90°. The user viewing direction always lies at the center of the UFOV, i.e., in this case the viewing direction is 60°.  
         [0044]     After planning the routes, a distance D between nodes, a change in angular orientation Δ, a user field of view (which, as said, is a constant parameter), and a camera unit field of view for each node, the scanning apparatus is actually ready for carrying out recording of images.  
         [0045]     The scanning apparatus  203  according to a preferred embodiment present invention is shown in  FIG. 5 , and comprises:  
         [0046]     a. A imaging unit  201 ;  
         [0047]     b. A moveable platform  202 ;  
         [0048]     c. Position and orientation sensors  204 ;  
         [0049]     d. Control unit  210 ; and  
         [0050]     e. Data unit  275 .  
         [0051]     The movable platform  202  is used for supporting the imaging unit  201 , the control unit  210 , and preferably the data unit  275  (the data unit  275  may in some embodiments be mounted away from the platform). The Position and orientation sensors  204  continuously provide to the imaging unit  201  the x,y absolute displacement of the platform, and its angular orientation ∝. The imaging unit  201  is also provided with the parameters, D, Δ, camera unit field of view, and activation signal A from the control unit.  
         [0052]     The operator now has to ensure that at least the parameters D, and Δ, are stored in the apparatus. Then he has locate the scanning apparatus  203  at a reference (0,0) location, and start moving the platform and film along the routes. It should be noted herein that high accuracy is not a requirement in moving the platform along the planned routes, as while collecting the data by the apparatus, each specific node location and orientation is set, image data is associated, and the camera unit field of view is registered. More particularly, as said, new nodes are created when the apparatus passes a distance longer than D, or change its angular orientation by an angle larger than Δ. The said D, Δ, and other control parameters are supplied from the control unit  210  to the imaging unit  201  via control line  260 . The other control parameters may include, activation/deactivation signal A, and a camera unit field of view necessary. The control unit  210  controls the imaging unit  201  at each node location.  
         [0053]     The imaging unit  201  creates the nodes, associates with them all their related data including the visual data, and provides to the data unit  275  all the data related to each node.  
         [0054]     The data unit  275  receives the data related with each specific node from the imaging unit, and processes the plurality of nodes in order to determine neighborhood and links between nodes, and save the resulted links in a database within the data unit  275 . At any given time, the saved data in the database represents a virtual interactive movie based on all the nodes processed until that time. Furthermore, the said data stored in the database can be exported to another media, or such data may be similarly imported into the database, for example for updating purposes, through cannel  273 . The import and export operations are controlled by signals  272  that are provided by the control unit  210 .  
         [0055]     A more detailed block diagram of the scanning apparatus is shown in  FIG. 7 . The camera unit  214  comprises one or more cameras (for example two cameras  223  and  224  as shown in  FIG. 5 ). During the filming process, the orientation of the camera unit  214  with respect to the platform  202  may be kept fixed, or may be adjustable by means of the camera position control unit  280  (which mechanically cause rotation  290  of the camera unit  214 ). In case of a camera that can obtain images in 360°, no such rotation of the camera unit  214  is needed (and in such a case, the unit  280  is not necessary). The angular orientation of the camera unit  214  with respect to the platform is given to the selector  291  from the camera position control unit  280  (signal  269  indicating the angle ∝ 2 ). The camera unit  214  provides images to the selector  291  continuously or upon request by the selector, as indicated by trigger  300 . The selector  291  creates new nodes based on signals  260 ,  270 , and  270   a.  There may be two modes of operation for the selector  291 , as follows: 
        a. During a static platform  202  position and orientation and rotating the camera unit  214  with respect to the platform  202 .: In such a case the x,y coordinates and orientation ∝ of the platform  202  are fixed, and while the camera unit  214  is rotated with respect to the platform  202  (∝ 2  changes). The selector  291  creates a new node index based on the present coordinates. Then, the selector  291  captures an image or a part thereof every Δ 2 ° within the CFOVn. For example, if the CFOVn (the camera field of view for the node) is between 90° to 270°, and Δ 2 ° is 6°, we are using only one camera  223  of the camera unit, and the center of the field of view of this camera  223  is directed to 0°, the camera unit  214  will start rotating clockwise, and the selector  291  will ignore all image data coming from camera  223 , until the left border of the camera  223  field of view is directed to 90°. Only thereafter the selector  291  will select an image data coming from camera  223  every 6° until the right border of the camera  223  field of view will direct to the 270° direction. The selector  291  associates the selected image data coming from camera  223  with the same node index as created. The selector  291  further associates with the node index and the image data the corresponding coordinates x,y, orientation ∝ of the platform  202 , and the camera (for example, camera  223 ) field of view. The selector  291  finally transfers on channel  247  the data to temporary database  244 .     b. The platform  202  moves, while the camera unit  214  orientation with respect to the platform  202  is fixed (∝ 2  is constant): The selector  291  creates a new node every (i) displacement D from the coordinates of the previous node; or (ii) Orientation change Δ of platform  202  with respect to the orientation of the platform  202  while selecting the previous node. The selector associates the current image data with the node index as created. The selector  291  further associates with the node index and the image data the corresponding coordinates x,y, orientation ∝ of the platform  202 , and the camera unit field of view. The apparatus may operate in two different processing modes, as described hereinafter in  FIGS. 8 and 9 . For operating in the mode of  FIG. 8 , the selector  291  must associate with each node also a chain number indication C#, which arrives from the control unit  210 . The selector  291  finally transfers on channel  247  the data to temporary database  244 .        
 
         [0058]     In items a and b above, the selector  291  may either select images from a continuous flow of images as obtained by the camera unit  214 , or initiate an image request using trigger  300 .  
         [0059]     The positioning unit  204  senses at any time the coordinates x,y of the platform  202 , and its angular orientation ∝.  
         [0060]     The temporary database  244  forms as a temporary storage of the nodes data, and is used for storing such data, for example when the processing by the data unit  275  is performed off-line, or not in real-time.  
         [0061]     The processing unit  301  retrieves data from the temporary database  244 . Upon each retrieved node data, the processing unit  301  calculates neighborhood with respect to other nodes stored in database  302 , and upon detection of neighborhood, it forms a link. The processing unit uses the parameter of maximal distance D 1 , the parameter of minimum distance d and the parameter of maximal allowed orientation change δ°, and the maximal allowed user field of view (UFOVmax) (signal  261 ) for the calculation. The neighborhood calculation will be described in detail hereinafter. Upon completion of the neighborhood calculation, the node data and its associated links are stored via channel  249  in database  302 . The import and export unit  304  is used for exporting linked data stored in the database  302  via channels  261  and  310 , or importing such linked data via channels  262  and  310 .  
         [0062]     The control unit  210  comprises a user interface (not shown) which enables inputting of various parameters (such as D, D 1  δ, CFOVn, Δ, d, Δ 2 , C#, etc.) and providing the same to the respective other units, displaying to the operator various data concerning the status of the scanning apparatus  203 , and performing any general control of the apparatus  203 . Among others, the control unit  210  enables control via line  272  of importing and exporting of linked data, selecting between two scan modes (fixed camera unit  214  or rotated) via line  214 .  
         [0063]     In order to assure the user a smooth view while progressing in the interactive movie, the following conditions should be maintained: 
        a. The distance between nodes should not exceed a predefined distance D;     b. While progressing by the user from one node to a next one while viewing the movie, assuring that the direction of the user field of view will not be forced to change by an amount larger than a maximal, predefined angle δ; and     c. While assuring a change of field of view smaller than δ in progressing from one node to another (as indicated in item b), a full user field of view UFOV (as defined) will be available to the user.        
 
         [0067]     In  FIG. 2 , the nodes within a junction have been drawn as forming a 90° junction. In order to better simulate a real case, the junction may be separated into two or more routes, as described in  FIG. 6 . More particularly, while reaching junction J 1  in order to turn right to room B ( FIG. 2 ), it is more close to real that the user may start turning to the right at node  27 , in an angle of about 45°. Therefore, if for example, the camera field of view of node  27  is 165° as shown, and the user maximal field of view is defined as 60°, it is logical that after moving from node  26  to node  27  the user will first turn his looking to the 45° direction with user field of view set between 15° to 75°. In entering node  28 , it is then logical that the user will turn his looking direction further to the right, i.e., to about the 60° direction, i.e., his field of view will span angles of between 30° to 90° as shown in  FIG. 6 . The exit direction (i.e., the view direction to which the user looks while leaving a node to a next one) from a node to a next one is also registered in the database  302 , and the entrance direction to the next node (i.e., the view direction to which the user looks while entering a node from a previous one) is also registered in the database  302 . Of course, there may be more than one exit from a node and more than one entry into a node. In the example of  FIG. 6 , node  32  has two entries, one from node  31  pointing to about the −30° direction, and a second entry from node  35 , pointing to about the 0° direction. According to an embodiment of the present invention the entry and exit directions to or from nodes respectively may be those as determined by the orientation of the platform  202  while entering or exiting the node. More particularly, as said the positioning unit  204  of apparatus  203  is provided with direction means (such as gimbals) that measure at any given time the orientation of platform  202 . Alternatively, the direction may be calculated from the displacement vector as also obtained from positioning unit  204 . As said before, it should be noted, that in order to assure a smooth viewing of the interactive movie the difference between an exit direction from a first node and an entry direction to a next node should not exceed a predefined value δ°. Furthermore, while maintaining the said difference less than δ°, and while positioning the user field of view at the said next node, the system should ensure the providing of a full span of the maximal user field of view as defined. For example in the case of  FIG. 6 , if the entry direction to node  28  is 60°, i.e., a user field of view spans an angle between 30° to 90°, the camera field of view of node  28  should span at least the sector between 30° to 90°, and generally much more than that in order to enable the user varying his field of view direction.  
         [0068]     While accumulating the data of the nodes (i.e., all the data associated with the node) the connections (links) between nodes have to be established. More particularly, the valid paths between nodes have to be determined, together with the entry and exit directions. For example, in  FIG. 6  it is clear that node  26  is connected to node  27 , as a “jump” from node  26  to node  27  can be made, while such a jump cannot be made, for example, from node  26  to node  28 . Nodes  26  and  27  are therefore defined as “neighbors”. Likewise, nodes  28  and  35  are neighbors of node  27 . The processing unit  301  establishes the neighborhood of nodes. Neighborhood of nodes according to the invention involves saving the direction to the other neighboring node (entry or exit), and the identification of the said other neighboring node.  
         [0069]      FIG. 9  describes in detail a process for determining neighborhood of nodes. In step  500  a new node N is obtained into storage N, for example this may be a new node just recorded by the camera. For other nodes in the data base that are sequentially brought to storage (T) in step  510 , their coordinates are verified in step  520  to check whether they are close enough (below predefined upper limit distance D 1 ). If the answer is Yes, and the new node in N has a 360° field of view (step  530 ) and the distance between N and T is smaller than another defined, lower distance limit d (No in step  570 ), the nodes in N and T can be merged into one node of 360°. If, however, the field of view of N is not 360° (step  530 ), then the camera fields of view of N and T are checked whether the following two conditions are met: (a) a step from N into T requires a change in user field of view (UFOV) direction smaller than δ°; and (b) whether in that case a full maximal user field of view (UFOVmax) as defined can be provided (in our example 60°). If the answer is Yes to both said conditions, the nodes of N and T can be linked (step  550 ), and their entry and exit directions are also associated (step  560 ). If, however, in step  540  the answer is No, the two nodes cannot be linked. If in step  570  the answer is Yes, the two nodes can be linked (step  550 ).  
         [0070]     Another way of constructing the scheme is to track the linear route of apparatus  203  while collecting the data. Tracking the linear route of the apparatus  203  can provide a way to determine when two routes of the apparatus  203  cross. The recognition of a cross can be used to define the node as a junction node and to expand its neighboring list.  
         [0071]      FIG. 10  describes two chains of nodes, each having a different route. Nodes N 1  to N 4  are the nodes recorded while the apparatus  203  has traveled to the “East” and N 11  to N 13  are the nodes recorded while apparatus has traveled to the “North”. In this example the N 1  to N 4  route was recorded first, it already exists in the data base and the procedure has just finished connecting N 11  to N 10  as neighbors. Receiving N 12  into the procedure will connect N 12  to N 11  as neighbors too. Yet, the neighborhood test will indicate that there is a crossover that should receive a special treatment, as follows: 
        1. Can N 2  &amp; N 3  be connected as N 11  neighbors?    2. In case the field of view is 360°, and the distance between them is below distance D 1 , but above d, they are defined as neighbors (see steps  520 ,  530 ,  570  in  FIG. 9 )     3. In case the field of view is smaller than 360°, for example, 180°, the two transfer conditions are checked (step  540 ) and if met, a link is established (step  550 );          
         [0075]      FIG. 11  describes two chains of nodes, each chain belongs to a different route. N 21  to N 24  are the nodes recorded while the apparatus  203  traveled to “East” and N 31  to N 34  are the nodes recorded while the apparatus  203  traveled to “North”. In this example the N 21  to N 24  route was recorded first, already exists in the scheme, and the procedure has just finished connecting N 31  to N 30  (not shown) as neighbors. Receiving N 32  into the procedure will connect N 32  to N 31  as neighbors too. Yet, the neighborhood test will indicate that there is a crossover that should receive a special treatment, as follows: 
        1. Should N 21  &amp; N 22  be connected as N 31  neighbors?;     2. In this example, N 21  is located at a distance above the maximal range D 1  from N 31 , and therefore it is not a neighbor of N 31 ;     3. In case the field of view of both nodes is 360°, and N 33  and N 22  are within the minimal range, i.e., less than d, then they are merged to one node, having a camera field of view of 360°, and the link directions are united; More particularly, deleting N 33  and making N 23  and N 34  as N 22  neighbors (Yes in steps  520 , and  530 , No for step  570 ).          
         [0079]     As said, the invention assumes that the virtual movie is a collection of image data that are captured along routes within the physical site. This is translated in the present invention to a linked graph of nodes in which every node comprises an image data that represents a camera unit field of view. The connection from one node to another (i.e., from a selected user field of view UFOV in a first node to another UFOV in another node) is maintained smooth. The links between nodes allow movement from one node to another in a smooth manner. The filming, as well as the forming of nodes and their links can be established in real time, and in that case, at the end of the filming and processing, the movie is essentially ready for use. Thereafter, when the movie is activated, the user may “move” from a first node, viewing a selected view sector, to a second node viewing another view sector, however in closeness enough to maintain smoothness of view. The “moving” of the user from one node to a next node is performed by directing the center of the user field of view to an exit direction of the present node, and advancing to the node linked to said present node by said exit. The entry of the user to said next node is made by showing to the user the user field of view (portion of the next node image data) when the center of the user field of view points to the entry direction of said next node.  
         [0080]     Furthermore, some animation may be added to selected image data that is then displayed to the user. Also, elements existing within the image data displayed to the user (including animation elements) may be made interactive, and may cause events. On the other hand, there may be some events that will initiate animation or other events. Therefore, the interactive movie of the present invention is an ideal for simulation.  
         [0081]     The procedures as described above in  FIGS. 10, 11 , and  12  can generally handle all the situations.  FIG. 8  provides an alternative procedure in which fewer calculations are made, however some possible links between nodes may not be recognized, but from the user point of view, the effect may not be significant. According to this procedure, the apparatus obtains along routes a collection of nodes that are linked like a chain, wherein only the first node and last node of said chain a checked for possible linking with the existing linked graph in the database. Nodes that are considered to belong to a same chain have a same C#. In step  310 , a first node of a chain is selected. In step  320 , verification with respect to the linked graph is made in order to find whether neighborhood can be established. If the conditions for linking with another node in the graph are met, in step  330  a link is established. In step  340  a check is made to find whether the present node is the last in the chain. If the answer is Yes, the procedure ends. If, however, the answer is now, in step  360  the first node is put in a “previous” storage (P), and in step  370  a next node is obtained and a link is made in step  380  between the nodes N and node P. In step  390 , verification is made whether the node N is the last node in the chain. If the answer is Yes, we again search within the linked graph to find neighbors, and if found, a link is made in step  410 , and the procedure ends ( 350 ). If, however, the answer in step  390  is No, the procedure returns to step  360 .  
         [0082]     While some embodiments of the invention have been described by way of illustration, it will be apparent that the invention can be put into practice with many modifications, variations and adaptations, and with the use of numerous equivalents or alternative solutions that are within the scope of persons skilled in the art, without departing from the spirit of the invention or exceeding the scope of the claims.