System for enabling omnidirectional navigation of hierarchical networks with spatial continuity
First Claim
Patent Images
1. A method of enabling navigation of hierarchical network information, comprising:
- decoding for a region of a first level of said hierarchical network information, said first level comprising first map information associated with a first area of a higher level of said hierarchical network information, said higher level further comprising a second area associated with second map information of said first level, receiving a user signal which directs one of lateral navigation, scaling, or level jumping, joining said first map information with said second map information to produce joined map information, such that the vector difference between a reference point for said first map information and a reference point for said second map information is expanded relative to said higher level, and decoding for a region of said joined map information.
0 Assignments
0 Petitions
Accused Products
Abstract
The invention enables rapid omnidirectional navigation of hierarchical networks that contain compressed image information. A user agent advantageously joins units of map information using expanded higher-level map information, responsively to or in anticipation of user navigational actions such as downward level-jumping, lateral navigation, and scaling. The user agent positions lower-level units of map information using reference points which are expanded relative to corresponding higher-level points, reflecting an expansion of available area between levels.
-
Citations
158 Claims
-
1. A method of enabling navigation of hierarchical network information, comprising:
-
decoding for a region of a first level of said hierarchical network information, said first level comprising first map information associated with a first area of a higher level of said hierarchical network information, said higher level further comprising a second area associated with second map information of said first level, receiving a user signal which directs one of lateral navigation, scaling, or level jumping, joining said first map information with said second map information to produce joined map information, such that the vector difference between a reference point for said first map information and a reference point for said second map information is expanded relative to said higher level, and decoding for a region of said joined map information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158)
-
2. A method according to claim 1 further comprising joining said first map information with said second map information responsively to said user signal.
-
3. A method according to claim 1 further comprising joining said first map information with said second map information in anticipation of said user signal.
-
4. A method according to claim 1 further comprising adding a first offset to position information of a component of said first map information, and adding a second offset to position information of a component of said second map information.
-
5. A method according to claim 1 comprising reading a first parent component, and later reading child map information of said first parent component thereby reading said first map information, and comprising reading a second parent component, and later reading child map information of said second parent component thereby reading said second map information.
-
6. A method according to claims 4 and 5 wherein said first offset equals scaled position information of said first parent component, and wherein said second offset equals scaled position information of said second parent component.
-
7. A method according to claim 6 wherein said first offset equals the scaled top left coordinates of said first parent component, and wherein said second offset equals the scaled top left coordinates of said second parent component.
-
8. A method according to claim 1 wherein said vector difference is expanded by a power of two in each of width and height.
-
9. A method according to claim 1 wherein said first map information and said second map information each comprise a plurality of components, and wherein each of said components comprises position, width, and height information.
-
10. A method according to claim 1 wherein said first map information and said second map information each comprise a plurality of components, and wherein each of said components comprises a file path of image information.
-
11. A method according to claim 10 wherein each of said components comprises a relative URL.
-
12. A method according to claim 1 wherein said first map information and said second map information each comprise a plurality of components, and wherein each of said components comprises a file path of child map information.
-
13. A method according to claim 12 wherein each of said components comprises a relative URL.
-
14. A method according to claim 1 wherein a component of said first map information or said second map information comprises a plurality of file paths each corresponding to a distinct scale value.
-
15. A method according to claim 1 wherein said displaying of said region of said joined map information comprises rendering by web browser software code.
-
16. A method according to claim 1 wherein said displaying of said region of said joined map information comprises displaying interactive content, and wherein said method further comprises receiving and processing user input related to said interactive content.
-
17. A method according to claim 1 wherein a component of map information may be content-wise associated with both image information suitable for rendering by web browser software code and image information not suitable for rendering by web browser software code, further comprising user means for assigning priority to image information suitable for rendering by web browser software code.
-
18. A method according to claim 1 wherein a component of map information may be content-wise associated with both image information suitable for rendering by web browser software code and image information not suitable for rendering by web browser software code, further comprising user means for assigning priority to image information not suitable for rendering by web browser software code.
-
19. A method according to claim 1 further comprising decompressing compressed image information to provide said decompressed image information, said compressed image information comprising information in an MPEG Intraframe coding format.
-
20. A method according to claim 1 wherein said displaying of said region of said first level comprises displaying default image information, wherein a file path for said default image information differs by only a file extension from a file path in a component of said first map information.
-
21. A method according to claim 1 wherein said displaying of said region of said higher level comprises displaying reduced-size decompressed image information which is reduced in size relative to, and is otherwise similar to, image information contained in a region of said joined map information.
-
22. A method according to claim 21 wherein said reduced-size decompressed image information comprises decompressed image information representing a decimated concatenation of a plurality of images each corresponding to a component of said first map information.
-
23. A method according to claim 1 further comprising reading said first map information and said second map information responsively to said user signal.
-
24. A method according to claim 1 further comprising reading said first map information and said second map information in anticipation of said user signal.
-
25. A method according to claim 1 further comprising reading said first map information from local disk and reading said second map information from local disk.
-
26. A method according to claim 1 further comprising reading said first map information over a network and reading said second map information over a network.
-
27. A method according to claim 1 further comprising reading root map information, wherein said first map information and said second map information are progeny map information of said root map information.
-
28. A method according to claim 27 further comprising identifying said root map information by following upward links for a specified number of levels.
-
29. A method according to claim 28 wherein said following comprises reading parent map information whose file path is said upward link, and wherein said file path is identified without prior reference to said parent map information.
-
30. A method according to claim 27 wherein reading said first map information and reading said second map information each result from applying a top-down algorithm to successively lower levels of said hierarchical network information.
-
31. A method according to claim 1 further comprising deciding whether to read child map information associated with a component of map information according to a perimeter-based criterion.
-
32. A method according to claim 31 wherein said perimeter-based criterion is programmable and varies with level.
-
33. A method according to claim 31 wherein said perimeter-based criterion is rectangular with programmable width or height.
-
34. A method according to claim 1 further comprising deciding whether to read image information content-wise associated with a component of map information according to a perimeter-based criterion.
-
35. A method according to claim 34 further comprising calling a web browser software code interface with URL information as a parameter, thereby causing said web browser software code to read said image information content-wise associated with said component.
-
36. A method according to claim 34 wherein said component is a component of child map information of a component of said first map information or said second map information.
-
37. A method according to claim 1 further comprising decompressing first compressed image information content-wise associated with said first area responsively to said user signal, and decompressing second compressed image information content-wise associated with said second area responsively to said user signal.
-
38. A method according to claim 1 further comprising decompressing first compressed image information content-wise associated with said first area in anticipation of said user signal, and decompressing second compressed image information content-wise associated with said second area in anticipation of said user signal.
-
39. A method according to claim 38 wherein decompressing said first compressed image information and decompressing said second compressed image information each result from applying a bottom-up algorithm to successively higher levels of said hierarchical network information.
-
40. A method according to claim 1 further comprising deciding whether to decompress compressed image information content-wise associated with a component of map information according to a perimeter-based criterion.
-
41. A method according to claim 40 wherein said perimeter-based criterion is programmable and varies with level.
-
42. A method according to claim 40 wherein said perimeter-based criterion is rectangular with programmable width or height.
-
43. A method according to claim 40 further comprising calling a web browser software code interface with URL information as a parameter, thereby causing said web browser software code to decompress said compressed image information.
-
44. A method according to claim 40 wherein said component is a component of said first map information or said second map information.
-
45. A method according to claim 1 wherein said receiving of said user signal comprises receiving information about individual pointing device motions in at least an x dimension and a y dimension.
-
46. A method according to claim 45 further comprising receiving a button-down signal which indicates that input from said pointing device has been switched to a down state, initiating said navigational shifting responsively to said button-down signal, later receiving a button-up signal which indicates that input from said pointing device has been switched to an up state, and ceasing said navigational shifting responsively to said up signal.
-
47. A method according to claim 46 wherein a screen location of said pointing device coincides with a screen location of displayed content upon receipt of said button-down signal.
-
48. A method according to claim 46 further comprising displaying both a vertical region of content newly within view and a horizontal region of content newly within view prior to said button-up signal, and displaying both said vertical region of content newly within view and said horizontal region of content newly within view subsequent to said button-down signal.
-
49. A method according to claim 1 further comprising keyboard means for directing said navigational shifting in a+x direction and keyboard means for directing said navigational shifting in a−
- x direction.
-
50. A method according to claim 1 further comprising keyboard means for directing said navigational shifting in a+y direction and keyboard means for directing said navigational shifting in a−
- y direction.
-
51. A method according to claim 1 further comprising user means for directing second navigational shifting such that an x coordinate value is reinitialized and a y coordinate value is reinitialized.
-
52. A method according to claim 51 further comprising toolbar means for directing navigation comprising said second navigational shifting.
-
53. A method according to claim 1 further comprising receiving a button-down signal which indicates that input from a pointing device has been switched to a down state, initiating said navigational scaling responsively to said button-down signal, later receiving a button-up signal which indicates that input from said pointing device has been switched to an up state, and ceasing said navigational scaling responsively to said up signal.
-
54. A method according to claim 53 wherein the screen location of said pointing device coincides with a scrollbar area upon receipt of said button-down signal.
-
55. A method according to claim 53 further comprising displaying both a vertical region of content newly within view and a horizontal region of content newly within view prior to said button-up signal, and displaying both said vertical region of content newly within view and said horizontal region of content newly within view subsequent to said button-down signal.
-
56. A method according to claim 1 further comprising keyboard means for directing said navigational scaling in a scale-decreasing direction.
-
57. A method according to claim 1 further comprising keyboard means for directing said navigational scaling in a scale-increasing direction.
-
58. A method according to claim 1 further comprising user means for controlling a center point with respect to which said navigational scaling is centered.
-
59. A method according to claim 1 further comprising scaling decompressed image information by a scaling ratio N/M, where N is integer and fixed, for a series of values of integer M including M equal to N.
-
60. A method according to claim 59 wherein said series includes both values of M greater than N and values of M less than N.
-
61. A method according to claim 59 wherein N is equal to 16.
-
62. A method according to claim 1 comprising buffering scaled decompressed image information in a data structure referenced by a component information data structure.
-
63. A method according to claim 1 further comprising toolbar means for directing said navigational scaling in a scale-decreasing direction by a predefined amount.
-
64. A method according to claim 1 further comprising toolbar means for directing said navigational scaling in a scale-increasing direction by a predefined amount.
-
65. A method according to claim 1 further comprising user means for directing second navigational scaling such that a scale value is reinitialized.
-
66. A method according to claim 65 further comprising toolbar means for directing navigation comprising said second navigational scaling.
-
67. A method according to claim 1 further comprising keyboard means for directing said downward navigation to said first level.
-
68. A method according to claim 1 further comprising keyboard means for directing said upward navigation to said first level.
-
69. A method according to claim 1 further comprising toolbar means for directing said downward navigation to said first level.
-
70. A method according to claim 1 further comprising toolbar means for directing said upward navigation to said first level.
-
71. A method according to claim 1 wherein said user signal which directs said downward navigation is furthermore a user signal which directs navigational scaling in a scale-decreasing direction, such that a scaling ratio crosses a scaling ratio threshold.
-
72. A method according to claim 71 wherein said scaling ratio threshold is programmable and potentially unequal to a downward level-to-level scaling ratio.
-
73. A method according to claims 72 and 59 wherein said scaling ratio threshold is defined by a threshold value of said integer M.
-
74. A method according to claim 1 wherein said user signal which directs said upward navigation is furthermore a user signal which directs navigational scaling in a scale-increasing direction, such that a scaling ratio crosses a scaling ratio threshold.
-
75. A method according to claim 74 wherein said scaling ratio threshold is programmable and potentially unequal to an upward level-to-level scaling ratio.
-
76. A method according to claims 75 and 59 wherein said scaling ratio threshold is defined by a threshold value of said integer M.
-
77. A method according to claim 1 further comprising maintaining a selection range of one or more selected regions each comprising image information associated content-wise with a selected component of map information.
-
78. A method according to claim 77 further comprising indicating the selection state of a selected region by hiliting said selected region.
-
79. A method according to claim 77 further comprising receiving user input from a pointing device, and switching the selection range to a region which coincides with a screen location of said pointing device responsively to said user input.
-
80. A method according to claim 77 further comprising receiving a first button-down signal which indicates a first change in a state machine for maintaining selection ranges, receiving a first pointing-device button-down signal which indicates that input from a pointing device has been switched to a down state, identifying a selectable region which coincides with a screen location of said pointing device, and switching the selection range state of said region responsively to said first pointing-device button-down signal.
-
81. A method according to claim 80 further comprising receiving a second button-down signal which indicates a second change in said state machine for maintaining selection ranges, receiving a second pointing-device button-down signal which indicates that input from said pointing device has been switched to a down state, and omitting said switching of said selection range state responsively to said second change in said state machine.
-
82. A method according to claim 1 further enabling adding a selected unit of information to shopping cart information.
-
83. A method according to claim 82 further comprising displaying a region of said shopping cart information which contains decompressed image information.
-
84. A method according to claim 83 wherein said adding comprises duplicating a selected unit of map information already in said shopping cart information.
-
85. A method according to claims 82 and 77 wherein said adding comprises creating a shopping-cart component of shopping-cart map information, and wherein said creating comprises copying information from a selected component of map information.
-
86. A method according to claim 82 further comprising keyboard means for directing said adding.
-
87. A method according to claim 82 further comprising providing audio feedback responsively to user input directing said adding.
-
88. A method according to claim 87 wherein said audio feedback has a first pitch characteristic for a first addition of a selected unit of information to said shopping cart information, and wherein said audio feedback has a different pitch characteristic for one or more subsequent additions of said selected unit of information to said shopping cart information.
-
89. A method according to claim 1 further enabling deleting a selected unit of information from shopping cart information.
-
90. A method according to claim 89 further comprising keyboard means for directing said deleting.
-
91. A method according to claim 89 further comprising providing audio feedback responsively to user input directing said deleting.
-
92. A method according to claim 91 wherein said audio feedback has a final pitch characteristic for a final deletion of a selected unit of information from said shopping cart information, and wherein said audio feedback has a different pitch characteristic for one or more previous deletions of said selected unit of information from said shopping cart information.
-
93. A method according to claim 89 further comprising searching through shopping cart information to find a unit of shopping cart information which matches a selected unit of information.
-
94. A method according to claim 77 further comprising displaying information that is descriptive of said selection range.
-
95. A method according to claim 94 further comprising displaying information that is descriptive of monetary amounts associated with said selection range.
-
96. A method according to claims 94 and 82 further comprising displaying information that is descriptive of monetary amounts associated with one or more units of shopping cart information which match said selection range.
-
97. A method according to claim 82 further comprising displaying information that is descriptive of monetary amounts associated with said shopping cart information in toto.
-
98. A method according to claim 1 further comprising determining map information by positioning a plurality of components according to a packing algorithm.
-
99. A method according to claim 98 wherein the width and height of each component in said plurality is predetermined.
-
100. A method according to claim 98 wherein said packing algorithm preferably groups like components in proximity to one another.
-
101. A method according to claim 98 wherein said packing algorithm optimizes a measure of area usage.
-
102. A method according to claim 98 wherein said packing algorithm is recursive.
-
103. A method according to claims 98 and 83 further comprising toolbar means for toggling to or from displaying shopping cart information.
-
104. A method according to claim 98 further comprising toolbar means for directing repacking according to said packing algorithm.
-
105. A method according to claim 1 further comprising branching from displaying said region of said joined map information to displaying a region of map information arbitrarily distant from said joined map information.
-
106. A method according to claim 105 further comprising text-edit means for directing said branching.
-
107. A method according to claim 105 further comprising pulldown menu means for directing said branching.
-
108. A method according to claim 1 further comprising branching from displaying said region of said joined map information to displaying information suitable for rendering by web browser software code, wherein the dimensions of said information suitable for rendering by web browser software code are not determined by map information.
-
109. A method according to claim 1 further comprising branching from displaying information suitable for rendering by web browser software code to displaying said region of said joined map information, wherein the dimensions of said information suitable for rendering by web browser software code are not determined by map information.
-
110. A method according to claim 109 further comprising cancelling a pending navigation of said web browser software object.
-
111. A method according to claim 1 further comprising branching from displaying said region of said joined map information to displaying a region of map information determined by positioning a plurality of components according to a packing algorithm.
-
112. A method according to claim 1 further comprising displaying leaf content in a mall configuration, and further comprising branching from said displaying of said leaf content.
-
113. A method according to claims 112 and 108 wherein said branching from said displaying of said leaf content is branching to said displaying of said information suitable for rendering by web browser software code.
-
114. A method according to claim 1 further comprising storing history information about branching navigations.
-
115. A method according to claim 114 further comprising user means for directing backward branching according to said history information.
-
116. A method according to claim 115 further comprising toolbar means for directing said backward branching.
-
117. A method according to claim 114 further comprising user means for directing forward branching according to said history information.
-
118. A method according to claim 117 further comprising toolbar means for directing said forward branching.
-
119. A method according to claim 114 further comprising storing a history x coordinate value and a history y coordinate value in an entry of said history information, and later initializing an x coordinate value to said history x coordinate value and initializing a y coordinate value to said history y coordinate value.
-
120. A method according to claim 114 further comprising storing a history scale value in an entry of said history information, and later initializing a scale value to said history scale value.
-
121. A method according to claim 1 further comprising buffering a margined region of said first level comprising vertical and horizontal margins with respect to the source region of a destination view area.
-
122. A method according to claim 121 wherein said source region is larger than said destination view area.
-
123. A method according to claim 1 further comprising buffering a region of said first level using modulo addressing in the x dimension.
-
124. A method according to claim 1 further comprising buffering a region of said first level using modulo addressing in the y dimension.
-
125. A method according to claims 123 and 124 further comprising organizing image transformations by quadrant.
-
126. A method according to claim 1 further comprising buffering a block-width region of said first level, wherein the width of said block-width region is an integral number of block widths, when a navigational shifting increment in the x direction is not an integral number of block widths.
-
127. A method according to claim 126 wherein said block width is the block width of an image compression standard.
-
128. A method according to claim 127 wherein said image compression standard is an MPEG Intraframe coding standard.
-
129. A method according to claim 1 further comprising buffering a block-height region of said first level, wherein the height of said block-height region is an integral number of block heights, when a navigational shifting increment in the y direction is not an integral number of block heights.
-
130. A method according to claim 129 wherein said block height is the block height of an image compression standard.
-
131. A method according to claim 130 wherein said image compression standard is an MPEG Intraframe coding standard.
-
132. A method according to claims 1 and 78 further comprising buffering a region of said first level, wherein said buffering comprises buffering a hilited region.
-
133. A method according to claim 1 further comprising buffering a region of said first level, wherein said buffering comprises buffering into a YUV-format buffer.
-
134. A method according to claim 133 wherein said YUV-format buffer is a YUV-format offscreen buffer.
-
135. A method according to claim 1 further comprising buffering a region of said first level, wherein said buffering comprises buffering into an RGB-format buffer.
-
136. A method according to claim 135 wherein said RGB-format buffer is an RGB-format offscreen buffer.
-
137. A method according to claim 1 further comprising determining whether a YUV-format offscreen buffer format is available, and attempting to allocate a YUV-format offscreen buffer when said YUV-format offscreen buffer format is available.
-
138. A method according to claim 1 further comprising attempting to allocate an RGB-format offscreen buffer having a number of bits per pixel equal to the number of bits per pixel in an RGB-format screen buffer.
-
139. A method according to claim 1 further comprising buffering a region of said first level, wherein said buffering comprises buffering into a plurality of buffers, wherein a majority of the contents of a first buffer is not duplicated within the contents of a second buffer.
-
140. A method according to claim 139 further comprising copying source data for a scaling transformation into a straddle buffer.
-
141. A method according to claim 123 further comprising copying source data for a scaling transformation into a straddle buffer.
-
142. A method according to claim 124 further comprising copying source data for a scaling transformation into a straddle buffer.
-
143. A method according to claim 1 further comprising determining destination coordinates for a scaling transformation according to a tiling of destination space.
-
144. A method according to claim 143 wherein an origin of said tiling remains unchanged despite a user input directing navigational shifting.
-
145. A method according to claims 143 and 59 wherein a period of said tiling is a multiple of N.
-
146. A method according to claim 1 wherein a screen buffer comprises at least part of the destination of a scaling transformation.
-
147. A method according to claim 146 wherein said scaling transformation further comprises colorspace conversion.
-
148. A method according to claim 147 wherein said colorspace conversion is a YUV-to-RGB colorspace conversion.
-
149. A method according to claim 1 wherein an offscreen buffer comprises the destination of a scaling transformation.
-
150. A method according to claim 149 further comprising copying scale-output data from said offscreen buffer into a screen buffer, wherein a padded unit of said scale-output data is larger than the fraction of said padded unit that is copied into said screen buffer.
-
151. A method according to claims 143 and 150 wherein said padded unit is larger than a tile of said tiling by a predefined padding amount in the x dimension.
-
152. A method according to claims 143 and 150 wherein said padded unit is larger than a tile of said tiling by a predefined padding amount in the y dimension.
-
153. A method according to claim 150 further comprising determining coordinates of said padded unit using modulo arithmetic.
-
154. A method according to claim 1 further comprising initiating a DirectDraw blit.
-
155. A method according to claim 1 further comprising computing a destination coordinate as a linear transformation of a source coordinate.
-
156. A method according to claim 155 further comprising redefining said linear tranformation responsively to user input directing navigational scaling.
-
157. A method according to claim 1 further comprising computing a source coordinate as a linear transformation of a destination coordinate.
-
158. A method according to claim 157 further comprising redefining said linear tranformation responsively to user input directing navigational scaling.
-
2. A method according to claim 1 further comprising joining said first map information with said second map information responsively to said user signal.
-
Specification
- Resources
Thank you for your request. You will receive a custom alert email when the Litigation Campaign Assessment is available.
×
-
Current AssigneeAlan Gardner Jr. Goodridge
-
Original AssigneeAlan Gardner Jr. Goodridge
-
InventorsGoodridge, Alan Gardner Jr.
-
Application NumberUS10/106,766Publication NumberTime in Patent OfficeDaysField of SearchUS Class Current705/26CPC Class CodesG06F 16/54 Browsing; Visualisation the...G06F 3/0481 based on specific propertie...G06Q 30/0601 Electronic shopping [e-shop...