/[gzz]/gzz/Documentation/Manuscripts/Paper/paper.tex
ViewVC logotype

Diff of /gzz/Documentation/Manuscripts/Paper/paper.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.58 by tjl, Fri Nov 22 12:33:38 2002 UTC revision 1.59 by jvk, Fri Nov 22 12:35:55 2002 UTC
# Line 8  Line 8 
8  \def\censor#1{{\sffamily\tiny ${}^{\left<\hbox{censored}\,\right>}$}}  \def\censor#1{{\sffamily\tiny ${}^{\left<\hbox{censored}\,\right>}$}}
9    
10  \begin{document}  \begin{document}
11  \title{Representing Identity in Focus+Context Views through  \title{Representing Identity
12  Hardware-Accelerated Unique Backgrounds}  %in Focus+Context Views
13    %Hardware-Accelerated
14    by Unique Backgrounds}
15    
16  \def\aw{8cm}  \def\aw{8cm}
17  \author{  \author{
# Line 39  node identity, Line 41  node identity,
41  for assisting user orientation  for assisting user orientation
42  in navigating hyperstructures using Focus+Context views.  in navigating hyperstructures using Focus+Context views.
43  %  %
44  We can rapidly generate a texture for any document the user visits,  %We can rapidly generate a texture for any document the user visits,
45  and the user will be able to learn the textures of the  %and the user will be able to learn the textures of the
46  most often visited  %most often visited
47  documents, as per Zipf's law.  %documents, as per Zipf's law.
48  %  %
49  In Focus+Context views, the textures can act as visual cues in the context  %In Focus+Context views, the textures can act as visual cues in the context
50  (information foraging).  %(information foraging).
51    
52  We motivate general rules about designing such textures through  We motivate general rules about designing reconizable backgrounds through
53  a rough, qualitative model of visual perception: to be recognizable,  a rough, qualitative model of visual perception: to be reconizable,
54  the texture should produce a random feature vector on the cortex  the texture should produce a random feature vector on the cortex
55  {\bf after} visual feature extraction.  {\bf after} visual feature extraction.
56    
57  We have designed a hardware-accelerated implementation on the NV10 and NV20  We have designed a hardware-accelerated implementation on the NV10 and NV20
58  of unique textures.  of unique backgrounds.
59  The implementation works by combining a small set of basis textures  The implementation works by combining a small set of basis textures
60  and perceptually chosen colors  and perceptually chosen colors
61  on the GPU.  on the GPU.
62    % XXX: perceptually?
63    
64  We show an example user interface for browsing linked PDF documents  We show an example user interface for browsing linked PDF documents
65  in a focus+context view using unique textures.  in a focus+context view using unique backgrounds.
66    
67  % READABILITY  % READABILITY
68    
# Line 106  This use is seen for example in \cite{ma Line 109  This use is seen for example in \cite{ma
109  \end{enumerate}  \end{enumerate}
110    
111  In this article, we focus on the latter application, and on  In this article, we focus on the latter application, and on
112  giving the user navigational cues in the form of textures which  giving the user navigational cues in the form of backgrounds which
113  give all nodes their own, unique appearance.  give all nodes their own, unique appearance.
114    
115  % XXX f+c refs, write  % XXX f+c refs, write
# Line 204  of unique textures for distinguishing vi Line 207  of unique textures for distinguishing vi
207  %     other textures as a starting point (see e.g. \cite{heeger95pyramid})  %     other textures as a starting point (see e.g. \cite{heeger95pyramid})
208    
209    
210  \section{Unique Textures}  \section{Unique Backgrounds}
211    
212  Features orthogonal to human perception (e.g.~color, direction of fastest luminance change)  Features orthogonal to human perception (e.g.~color, direction of fastest luminance change)
213  should be independently random, and features not orthogonal (... and ...)...  should be independently random, and features not orthogonal (... and ...)...
# Line 218  all PDF files look visually similar. Line 221  all PDF files look visually similar.
221    
222  It is easier to navigate if different textures are used  It is easier to navigate if different textures are used
223  as the backgrounds of different documents.  as the backgrounds of different documents.
224  Unique textures provide instant cues on the  Unique backgrounds provide instant cues on the
225  identity of the focused and connected documents and  identity of the focused and connected documents and
226  a more prominent target for tracking movement between views.  a more prominent target for tracking movement between views.
227    
228    % XXX:
229    Additionally, black text should have good contrast with the background.
230    
231  The identity is used as a seed for randomly choosing  The identity is used as a seed for randomly choosing
232  an easily distinguishable unique texture from a  an easily distinguishable unique background from a
233  distribution based on a qualitative model of visual perception.  distribution based on a qualitative model of visual perception.
234  Additionally, black text should have good contrast with the background.  %providing an infinite source of unique backgrounds.
 %providing an infinite source of unique textures.  
235  %generating textures based on seed numbers [identity]  %generating textures based on seed numbers [identity]
236  The basic assumption of the model is that an image  The basic assumption of the model is that an image
237  is perceived as a set of features.  is perceived as a set of features.
# Line 251  We simply assume that the intensities of Line 256  We simply assume that the intensities of
256  such as local and global shapes and colors, form a \emph{feature vector},  such as local and global shapes and colors, form a \emph{feature vector},
257  which facilitates recognition and memorization of images.  which facilitates recognition and memorization of images.
258    
259  For the textures to be distinguishable, they should produce  For the backgrounds to be distinguishable, they should produce
260  distinct, random feature vectors in brain.  distinct, random feature vectors in brain.
261  In a sense, the perception model should invert the  In a sense, the perception model should invert the
262  visual processing to produce a unique texture from  visual processing to produce a unique background from
263  a random vector seeded by the identity (see Fig.~\ref{fig-perceptual}).  a random vector seeded by the identity (see Fig.~\ref{fig-perceptual}).
264  %We call this the principle of saving bits.  %We call this the principle of saving bits.
265    
# Line 284  if all circles were green and all square Line 289  if all circles were green and all square
289  bits would be wasted.  bits would be wasted.
290    
291  To understand why it is possible to learn to discriminate particular  To understand why it is possible to learn to discriminate particular
292  textures easily, consider the task of learning {\em one} texture.  backgrounds easily, consider the task of learning {\em one} background texture.
293  This is a two-class problem.  This is a two-class problem.
294  Extensive literature...  Extensive literature...
295  Here,  Here,
# Line 310  relatively small basis size, not to have Line 315  relatively small basis size, not to have
315  \fbox{\vbox{\vskip 5in}}  \fbox{\vbox{\vskip 5in}}
316  \caption{  \caption{
317  \label{fig-examples}  \label{fig-examples}
318  A number of unique textures generated by our system.  A number of unique backgrounds generated by our system.
319  This view can be rendered, without pre-rendering the textures,  This view can be rendered, without pre-rendering the textures,
320  in XXX ms on a GeForce4 ...  in XXX ms on a GeForce4 ...
321  }  }
# Line 318  in XXX ms on a GeForce4 ... Line 323  in XXX ms on a GeForce4 ...
323    
324  \section{Hardware-accelerated implementation}  \section{Hardware-accelerated implementation}
325    
326  It is important that the texture can be zoomed to different resolutions.  It is important that the background can be zoomed to different resolutions.
327  However, we are currently  However, we are currently
328  not trying to attain infinite zoomability\cite{furnas00infinity},  not trying to attain infinite zoomability\cite{furnas00infinity},
329  only the range of zooming that would be reasonable for a single PDF document.  only the range of zooming that would be reasonable for a single PDF document.
# Line 400  chroma changes in colors. Line 405  chroma changes in colors.
405  %% Doesn't really need to be said here; it's what people  %% Doesn't really need to be said here; it's what people
406  %% will naturally assume.  %% will naturally assume.
407    
408  To have compatible colors, we choose the hues from a distribution  To produce compatible colors, we choose the hues from a distribution
409  % To have: huonoa englantia  % To have: huonoa englantia
410  concentrated on one random hue with a random variance and  concentrated on one random hue with a random variance and
411  saturations chosen from an ad hoc distribution.  saturations chosen from an ad hoc distribution.
# Line 480  The complete set of 2D basis textures us Line 485  The complete set of 2D basis textures us
485    
486  \subsection{Texture coordinates}  \subsection{Texture coordinates}
487    
488  Texture coordinates define the mapping of the basis textures to the paper.  Texture coordinates define the mapping of the basis textures to the background.
489  Each basis texture is repeating, but by choosing the texture coordinates  Each basis texture is repeating, but by choosing the texture coordinates
490  appropriately we can make the final paper repeating or not.  appropriately we can make the final background repeating or not.
491  If the paper will be used only at relatively few magnifications, it is  If the paper will be used only at relatively few magnifications, it is
492  useful to use a repeating paper because of saving bits.  useful to use a repeating paper because of saving bits.
493  On the other hand, for user interfaces where zooming at widely different  On the other hand, for user interfaces where zooming at widely different
494  scales is desirable, a non-repeating paper can be better.  scales is desirable, a non-repeating paper can be better.
495    
496  In order to create more interesting textures, it can also be useful  In order to create more interesting backgrounds, it can also be useful
497  to use repeating units for non-repeating papers --- but use more than one,  to use repeating units for non-repeating backgrounds --- but use more than one,
498  which are not rationally related.  which are not rationally related.
499    
500  The choice of the repeating unit fixes an absolute scale to the paper.  The choice of the repeating unit fixes an absolute scale to the paper.
# Line 498  the degeneration of textures to diagonal Line 503  the degeneration of textures to diagonal
503    
504  After a repeating unit is fixed, there is still  After a repeating unit is fixed, there is still
505  freedom in choosing  freedom in choosing
506  textures coordinates for each texture  texture coordinates for each texture
507  unit: any mapping of the texture is fine, as long as it repeats  unit: any mapping of the texture is fine, as long as it repeats
508  with the selected repeating unit.  with the selected repeating unit.
509    
# Line 506  with the selected repeating unit. Line 511  with the selected repeating unit.
511    
512  Register combiners are used for fusing together the values read  Register combiners are used for fusing together the values read
513  from the basis textures and computing the fragment output color  from the basis textures and computing the fragment output color
514  using the palette chosen for the texture.  using the palette chosen for the background.
515    
516  NVIDIA register combiners subsume the standard OpenGL  NVIDIA register combiners subsume the standard OpenGL
517  texture environment, color sum, and fog application with a  texture environment, color sum, and fog application with a
518  more general programmable model.  more general programmable model.
519  % Is this sentence directly copied from somewhere?  % Is this sentence directly copied from somewhere?
520  The possible computations are designed for the  The possible computations are designed for the
521  needs of ordinary operations such as bump map lighting and color blending.  needs of common operations such as bump map lighting and color blending.
 % ordinary --> common  
522  The primitive operations are dot product ($A \cdot B$), componentwise  The primitive operations are dot product ($A \cdot B$), componentwise
523  multiplication ($AB$), and ``blending'' ($AB + CD$).  multiplication ($AB$), and ``blending'' ($AB + CD$).
524  There is also a small set of simple input and output mappings  There is also a small set of simple input and output mappings
# Line 539  by squaring the value, scaling up, and t Line 543  by squaring the value, scaling up, and t
543  This produces nice band-like shapes.  This produces nice band-like shapes.
544    
545  Finally, the computed real values are used for interpolating between  Finally, the computed real values are used for interpolating between
546  the colors chosed for the texture. Typically, because of the scaling  the colors chosen for the backround. Typically, because of the scaling
547  and clamping, the interpolation values have modes at $0$ and $1$  and clamping, the interpolation values have modes at $0$ and $1$
548  and a transition band between the modes.  and a transition band between the modes.
549    
# Line 561  How register combiners can be used to ge Line 565  How register combiners can be used to ge
565  \subsection{Multi-pass}  \subsection{Multi-pass}
566    
567  A simple way of increasing the visual features of the  A simple way of increasing the visual features of the
568  textures is to use multiple passes.  backrounds is to use multiple passes.
569  The register combiners can be used to compute an alpha  The register combiners can be used to compute an alpha
570  value in the same way as the color interpolation values  value in the same way as the color interpolation values
571  and use it for blending shapes over the texture drawn in the first pass.  and use it for blending shapes over the background drawn in the first pass.
572  This allows using features of different register combiner codes  This allows using features of different register combiner codes
573  in one texture.  in one background.
574    
575  All the passes are assigned the same set of colors and  All the passes are assigned the same set of colors and
576  the same base repeating unit to make them blend into a  the same base repeating unit to make them blend into a
# Line 591  XXX Line 595  XXX
595  \label{fig-identity-via-textures}  \label{fig-identity-via-textures}
596  a) different documents with similar appearance and a focus+context view  a) different documents with similar appearance and a focus+context view
597  showing relations,  showing relations,
598  b) the same documents and the same view with identity visualized with unique textures  b) the same documents and the same view with identity visualized with unique backgrounds
599  }  }
600  \end{figure*}  \end{figure*}
601    
602  \section{Software availability}  \section{Software availability}
603    
604  An implementation of the unique textures is available at  An implementation of the unique backgrounds is available at
605  \censor{\url{http://gzz.info} as part of  \censor{\url{http://gzz.info} as part of
606  the Gzz-prototype%  the Gzz-prototype%
607  }, under the GPL license.  }, under the GPL license.
608    
609  \section{Conclusions}  \section{Conclusions}
610    
611  We have introduced procedurally generated unique textures  We have introduced procedurally generated unique backgrounds
612  as a way of visualizing the identity of data.  as a way of visualizing the identity of data.
613  While the method is general and  While the method is general and
614  applicable whenever data has identity,  applicable whenever data has identity,
# Line 613  several ways, and fragments of nodes are Line 617  several ways, and fragments of nodes are
617  it can enhance user's orientation and sense of location.  it can enhance user's orientation and sense of location.
618    
619  Of course it can be argued, for example, that  Of course it can be argued, for example, that
620  the textures clutter the display  the backgrounds clutter the display
621  visually, making the user interface more confusing,  visually, making the user interface more confusing,
622  and reduce text readability..  and reduce text readability..
623  However, we have found that by tuning the color selection and the gamma  However, we have found that by tuning the color selection and the gamma

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.59

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26