WO2010039193A2 - Multi-display handheld device and supporting system - Google Patents

Multi-display handheld device and supporting system Download PDF

Info

Publication number
WO2010039193A2
WO2010039193A2 PCT/US2009/005300 US2009005300W WO2010039193A2 WO 2010039193 A2 WO2010039193 A2 WO 2010039193A2 US 2009005300 W US2009005300 W US 2009005300W WO 2010039193 A2 WO2010039193 A2 WO 2010039193A2
Authority
WO
WIPO (PCT)
Prior art keywords
display
displays
user
refresh
controller
Prior art date
Application number
PCT/US2009/005300
Other languages
French (fr)
Other versions
WO2010039193A3 (en
WO2010039193A8 (en
Inventor
Douglas A. Atkinson
John T. Burch
Darren J. Dowker
David M. Foelber
Michael J. Giovannoni
David C. Johnson
Joseph D. Kralowetz
Brendan M. Mannix
Asghar D. Mostafa
Douglas F. Ortega
Stephen J. Potell
Joseph C. Roesch
Jeffrey A. Rosenwald
Nabeel Zafar
Original Assignee
Entourage Systems, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Entourage Systems, Inc. filed Critical Entourage Systems, Inc.
Publication of WO2010039193A2 publication Critical patent/WO2010039193A2/en
Publication of WO2010039193A8 publication Critical patent/WO2010039193A8/en
Publication of WO2010039193A3 publication Critical patent/WO2010039193A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1615Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function
    • G06F1/1616Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with folding flat displays, e.g. laptop computers or notebooks having a clamshell configuration, with body parts pivoting to an open position around an axis parallel to the plane they define in closed position
    • G06F1/1618Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with folding flat displays, e.g. laptop computers or notebooks having a clamshell configuration, with body parts pivoting to an open position around an axis parallel to the plane they define in closed position the display being foldable up to the back of the other housing with a single degree of freedom, e.g. by 360° rotation over the axis defined by the rear edge of the base enclosure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1615Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function
    • G06F1/1622Constructional details or arrangements for portable computers with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function with enclosures rotating around an axis perpendicular to the plane they define or with ball-joint coupling, e.g. PDA with display enclosure orientation changeable between portrait and landscape by rotation with respect to a coplanar body enclosure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1643Details related to the display arrangement, including those related to the mounting of the display in the housing the display being associated to a digitizer, e.g. laptops that can be used as penpads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1647Details related to the display arrangement, including those related to the mounting of the display in the housing including at least an additional display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1662Details related to the integrated keyboard
    • G06F1/1669Detachable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1675Miscellaneous details related to the relative movement between the different enclosures or enclosure parts
    • G06F1/1677Miscellaneous details related to the relative movement between the different enclosures or enclosure parts for detecting open or closed state or particular intermediate positions assumed by movable parts of the enclosure, e.g. detection of display lid position with respect to main body in a laptop, detection of opening of the cover of battery compartment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1675Miscellaneous details related to the relative movement between the different enclosures or enclosure parts
    • G06F1/1681Details related solely to hinges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1675Miscellaneous details related to the relative movement between the different enclosures or enclosure parts
    • G06F1/1683Miscellaneous details related to the relative movement between the different enclosures or enclosure parts for the transmission of signal or power between the different housings, e.g. details of wired or wireless communication, passage of cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/34Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by using a single transducer with sound reflecting, diffracting, directing or guiding means
    • H04R1/342Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by using a single transducer with sound reflecting, diffracting, directing or guiding means for microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/40Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
    • H04R1/403Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers loud-speakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/161Indexing scheme relating to constructional details of the monitor
    • G06F2200/1614Image rotation following screen orientation, e.g. switching from landscape to portrait mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1632Pen holder integrated in the computer
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/04Structural and physical details of display devices
    • G09G2300/0469Details of the physics of pixel operation
    • G09G2300/0473Use of light emitting or modulating elements having two or more stable states when no power is applied
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/11Transducers incorporated or for use in hand-held devices, e.g. mobile phones, PDA's, camera's
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • Electronic computing devices such as desktop computers provide users access to vast amounts of information. Such electronic computing devices allow users to create and modify content. Users of electronic devices access multimedia, such as video, audio, and rich content (e.g., color pictures), used for business, personal, or educational purposes.
  • multimedia such as video, audio, and rich content (e.g., color pictures), used for business, personal, or educational purposes.
  • PCs personal computers
  • PDAs personal digital assistants
  • cell phones notebook computers
  • tablet PCs tablet PCs
  • Many of these devices allow users to gain access to information, content, and multimedia from any location having wired or wireless access to a wide area network, such as the Internet.
  • Methods, systems, apparatuses, and computer readable mediums with program codes embodied thereon relate to displaying content to a user or enabling a user to manipulate or annotate the content.
  • system is used in various portions of the description and may represent some or all forms of embodiments and implementations of the present invention, such as systems, methods, apparatuses, devices, computer readable media, network nodes, and networks.
  • a system includes a bistable display and a refresh display.
  • the bi-stable display may be a grey-scale or color display that has pixels that change states in a bi-stable mode, meaning the pixels change states from one color to a different color, such as from black to white or white to black or red to green or green to red, at low power levels, such as consuming energy as a function of logic gate capacitance.
  • the term "bi-stable” is a general term that may include future developed state- based displays, such as tri-stable displays (e.g., red, yellow, green) or quad stable displays (e.g., cyan, magenta, yellow, black).
  • the bi-stable display generally has a low refresh rate (e.g., 1 second) but consumes extremely low power in a given state (e.g., microwatts, nanowatts, or femtowatts).
  • the refresh display may be a liquid crystal display (LCD), plasma display panel (PDP), or light emitting diode (LED) display that requires continuous refreshing, which consumes power at milliwatt or multi-watt levels, but provides high rates, such as hundreds of hertz or kilohertz, making refresh displays suitable for video display (e.g., 30 frames/second) and network browsing (e.g., display of content-rich websites).
  • LCD liquid crystal display
  • PDP plasma display panel
  • LED light emitting diode
  • refresh display is included in a category of non-bistable displays that have higher refresh rates than bi-stable displays.
  • display refers to multiple components, including electronics and image generating components, used to render an image to be viewed by a user or may refer only to an external surface (i.e., screen) via which an electronically generated picture or image is formed.
  • a controller may be operationally coupled to the displays and configured to select the bi-stable display or the refresh display via which to render an image representing content as a function of the user interaction with at least one of the displays and criteria defined by operational characteristics of the displays.
  • the controller may include a bi-stable display controller and a refresh display controller, each controller being configured to determine whether user interaction with its respective display is within the operational characteristics of its respective display, and, if within, to render an image responsive to the user interaction thereby, and, if not within, to cause, notify, or request the other controller to render an image on its respective display responsive to the user interaction.
  • the controller(s) may be further configured to render an image responsive to the user interaction via one of the displays that is more suited to render the image than the other display based on the comparison of the criteria of the display specific to the user interaction.
  • the criteria may include at least one of the following criteria: power, refresh rate, color, image motion (e.g., video), speed, page refresh, resolution, content format, and media type.
  • the bi-stable controller may be configured to cause the refresh display controller to render an image via the refresh display based on the user interaction via the bi-stable display.
  • the refresh display controller may be configured to cause the bi-stable controller to render an image via the bi-stable display based on user interaction via the refresh display.
  • the bi-stable display controller may also be configured to pass messages to the refresh display controller via an operating system to cause the refresh display controller to render images via the refresh display.
  • the refresh display controller may also be configured to pass messages to the bi-stable display controller via the operating system to cause the bi-stable display controller to render images via the bi-stable display.
  • the controllers may be configured to pass the messages to each other responsive to user interaction, and the messages may include pointer(s) to object(s) stored in a memory accessible to each controller.
  • the controllers are configured to access the object(s) in the memory using the pointer(s) and to render at least a portion of the object(s) via the respective displays.
  • the messages that the controllers are configured to pass to each other responsive to user interaction may include content to be rendered via the other controller's display.
  • the controllers may be further configured to render at least a portion of the content via their respective displays.
  • the controller(s) may be further configured to receive an indication of a user's interaction with a representation of a respective image rendered via the bistable display or the refresh display.
  • the controller(s) may further be configured to receive the user interaction via a human-to-machine interface other than through interaction with the representation of the respective image, such as via physical or virtual buttons that enable the user to respond to a query or enter information to cause a state change of an image or device.
  • the controller(s) may also be configured to render images in an orientation selectable manner via either or both displays, wherein orientation of the rendered images may be selected by the user or determined by an orientation of the display with respect to the viewing angle of the user.
  • the controller(s) may be configured to configure at least one of the displays with multiple virtual displays with different angular viewing orientations.
  • the controller(s) may also be configured to render an image simultaneously on each of the virtual displays.
  • the controller(s) may also be configured to accept user interaction simultaneously from each virtual display. Further the controller(s) may be configured to render the image on the multiple virtual displays in a synchronous manner or in an asynchronous manner.
  • An interface module may be operationally coupled to the controller(s) and configured to communicate with another system, such as a server or other system with bi-stable and refresh displays, optionally via wired, radio-frequency (RF) wireless, or optical signaling.
  • the controller(s) may be further configurable to have access, via the interface module, limited to (i) data from a specified source, or (ii) functions specified by the other system.
  • the system may further comprise a master/slave module operationally coupled to the controlled s), in which case the master/slave module may be configured to act in a master mode or a slave mode. While acting in the master mode, the master/slave module may control a controller of another system that employs a master/slave module acting in a slave mode.
  • the master/slave module While acting in a slave mode, the master/slave module may accept commands from a controller of another system that employs a master/slave module acting in a master mode.
  • the master/slave module may further be configured to operate in a peer-to-peer network arrangement with a master/slave module of the other system.
  • the interface module may be configured to communicate with a central server and be operationally coupled to the controller(s) and master/slave module.
  • the master/slave module, acting in a master mode is configured to control other system(s) via communications with the central server
  • the master/slave module, acting in a slave mode is configured to accept commands from (a) the other system acting in a master mode responsive to communications via a central server or (b) the central server itself acting in a master mode.
  • Another example embodiment of the present invention includes a system to display content to a user.
  • This embodiment of the system includes a display having an upper edge and a lower edge.
  • a controller may be operationally coupled to the display and configured to split the display into multiple virtual displays with different orientations relative to the lower edge.
  • the controller may further be configured to render an image representing content simultaneously in multiple respective orientations via the multiple virtual displays. Further, the controller may enable interaction with the image by user(s) via the multiple virtual displays.
  • the multiple virtual displays may include a rightside-up virtual display and an upside-down virtual display relative to the lower edge.
  • the display may further include a left edge and a right edge, and the controller may further be configured to reorient at least one of the virtual displays relative to the display in a manner in which at least one of the virtual displays is rightside-up or upside-down relative to the left edge or the right edge.
  • the controller may be further configured to render the image on multiple virtual displays in a synchronous manner or an asynchronous manner.
  • Another example embodiment of the present invention includes system to store annotations applied by a user, who may be an individual or other entity, to a primary source (e.g., contents of a book).
  • Information may be associated with a representation of an annotation.
  • the information may include many forms of data, such as a unique user device indicator associated with a device via which the annotation was applied relative to the primary source by a user, an identifier of the primary source to which annotation was applied, and a positional indicator to where the annotation was applied relative to the primary source.
  • the representation may be stored with the associated information on a storage device to store the annotation applied to the primary source in a manner enabling retrieval and later display of the annotation and its associated information with respect to the primary source substantially the same as authored by the user.
  • Annotations may be bundled by the user according to an identifier (ID) associated with the user or an ID associated with the device.
  • ID an identifier
  • the annotations may be advertised by the user to other users, and a representation of the annotations with its associated information may be transferred to a device of a user requesting the annotations.
  • a fee may be collected from the other users for the transferring of the representation with its associated information to their devices. At least a portion of the fee may be transferred as value, monetary or otherwise (e.g., credit toward service provider service plan fees), to the user who generated the annotations.
  • the annotations may include at least one of the following: handwriting, typed text, links, attachments, highlights, tags, sound, video, binary data, multimedia, reference, or content external from the primary source.
  • the representation of the annotation with its associated information may be transferred to another storage device.
  • the representation may be managed with its associated information.
  • a user may be able to manage which information is stored. Further, the user may be able to manage what happens with the representation once stored.
  • the annotations may include first and second annotations made by first and second users, respectively.
  • the first and second users may create the first and second annotations in a collaborative working environment, such as in a classroom or tutorial session.
  • Representations of the first and second annotations may include a collaborations-indication code.
  • the collaborations-indication code may include indications of multiple users annotating the primary source at the same time via the device.
  • the representation may also include an indication representing a viewing angle as to a direction with respect to the edge of the device from which the user made the annotation.
  • the annotations may also include a unique annotations ID. Users may be enabled to edit the annotations and create child annotations.
  • the child annotations may also be assigned unique annotation IDs that may be encoded to incorporate an associated parent annotation ID.
  • each edited annotation may be assigned a unique annotation version ID.
  • the system may comprise a bi-stable display controller and a refresh display controller.
  • the bi-stable display controller may be (i) configured to accept user interaction with content rendered in a bi-stable display format on a bi-stable display and (ii) configured to cause the bistable display to render, in a bi-stable format on the bi-stable display selection of the content rendered on refresh display responsive to communications from the refresh display controller, where the selection represents user interaction with content via the refresh display.
  • the refresh display controller may be (i) configured to accept user interaction with content rendered in a refresh display format on the refresh display and (ii) configured to cause the refresh display to render, in a refresh display format on the refresh display, a selection of the content rendered on the bi-stable display responsive to communications from the bi-stable display controller where the selection represents user interaction with content via the bi-stable display.
  • the bi-stable display controller and the refresh display controller may further be configured to accept user interaction with content rendered on the bi-stable display or the refresh display, respectively, by enabling the controllers to allow a user to define the selection of the content to be, for example, within an area of a geometric shape having a property specified by the user.
  • the bi-stable display controller and the refresh display controller may also enable the user to define the property as a size or shape of the geometric shape by indication of at least two points used to define the geometric shape via interaction with a given display.
  • the interaction with the given display may be via continuous motion of contact within the given display between the at least two points or via discrete contact with the given display at the at least two points.
  • the bi-stable display controller may enable the user to view the selection on the refresh display by signaling the refresh display controller to render the selection on the refresh display.
  • the refresh display may enable the user to view the selection on the bi-stable display by signaling the bi-stable display controller to render the selection on the bi-stable display.
  • the controllers may communicate selections to each other in a manner involving memory.
  • the displays may be touch-screen enabled displays, in which case the controllers are operationally coupled to the touch-screen enabled displays to accept the user interaction.
  • Another example embodiment according to the present invention includes an electronic computing device and corresponding method to capture sound.
  • a chassis defining an opening may be configured to pass sound waves from an exterior of the chassis to an interior of the chassis.
  • a diaphragm of a microphone in an interior of the chassis in acoustical arrangement with the opening and in parallel arrangement with a structural member at a distance to form a pressure zone sensitive to sound waves, vibrates or is displaced in a controlled manner as a function of sound waves in the pressure zone.
  • the distance is known to mitigate interference caused by a phase difference between a direct sound wave and a reflected sound wave each emanating from a common source and each entering the pressure zone via the opening; the reflected wave is substantially the same as the directed sound wave but reflected off a surface external from the chassis.
  • the microphone may be configured to produce electrical signals representative of at least the direct and reflective sound waves based on their combined effect on the diaphragm.
  • the chassis may include a base and a vertical surface extending therefrom, in which case the chassis may define the opening through a vertical surface of chassis.
  • the chassis may define two openings through different surfaces to enable sound waves to be sensed by respective microphones, each including a diaphragm and structural member defining a pressure zone.
  • the chassis may include a base and opposing vertical surface extending therefrom, with the different surfaces being opposing vertical surfaces of the chassis.
  • a noise reduction module may process first and second electrical signals produced by the microphones as a function of sound waves entering the respective pressure zones.
  • the noise reduction module may further be configured to output a noise reduced signal by subtracting the first electrical signal from the second electrical signal.
  • the noise reduction module may be configured to produce a noise reduced signal as a function of any combination of the signals.
  • the opening(s) may enable the sound waves to pass without attenuating the sound waves.
  • the chassis may include two displays coupled by a rotational hinge.
  • the displays may include a bi-stable display and a refresh display.
  • Software may be configured to record sound waves via the microphone(s) and to enable a user to annotate content, presented on at least one of the displays, with recorded sound in a selectable manner.
  • a state of the device may be associated with the recorded sound waves.
  • Another example embodiment of the present invention includes a computing device and corresponding method to display content to a user. Images may be rendered on a bi-stable display and on a refresh display of the computing device. A controller may control activity of the bi-stable display and the refresh display in a power conserving manner.
  • the computing device may include a battery, and the controller may include a power savings module configured to extend battery operating life between recharges compared to battery operation absent the power savings module. The power savings module may enable the battery operating life to be available for at least eight hours.
  • the power savings module may include a display monitoring module configured to detect use of the displays.
  • the power savings module may further be configured to power down, dim backlighting, or hibernate the displays based on position or use of the displays.
  • the power savings module may further comprise an internal/external peripheral monitoring module configured to detect use of internal/external peripheral devices, and the power savings module may power down or hibernate the internal/external peripheral devices based on use of the internal/external peripheral devices.
  • the power savings module may further include a wireless on/off module configured to turn on or turn off wireless capabilities for increased power savings on a continuous-until-changed basis or a temporary basis.
  • the wireless on/off module may be configured to monitor periodically for pending incoming/outgoing messages by automatically activating and deactivating wireless capabilities.
  • the messages may include email, Short Message Service (SMS) text messages, or multi-media messaging service (MMS) text messages, for example.
  • SMS Short Message Service
  • MMS multi-media messaging service
  • a hinge mechanism may couple the bi-stable display and refresh display. The hinge mechanism may be configured for multidirectional movement of the displays relative to each other.
  • the hinge mechanism may allow at least a subset of the following: the displays to be in an orientation in which the displays are adjacent to each other to allow the images rendered on the displays to be simultaneously viewable; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are not simultaneously viewable based on the orientation; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are simultaneously viewable based on the orientation; and the displays to be in an orientation in which the displays substantially overlay each other and images rendered on only one of the displays are viewable based on the orientation.
  • a display device sensor may sense orientation of the displays relative to each other or relative to the hinge mechanism.
  • the display device sensor may send multi- power mode sensor signals to a processor configured to control an operating state of at least one of the displays.
  • the computing device may include an attachable keyboard.
  • the attachable keyboard may be configured to operate with the computing device via an electrical or wireless connection.
  • a first interface element may be configured to attach to a first display
  • a second interface element may be configured to attach to a second display.
  • a hinge may be coupled to the first and second interface elements and configured to enable the first and second interface elements to move multi-directionally relative to each other.
  • the hinge may further enable the first display to overlay a substantial portion of the second display.
  • the hinge may be configured to move in at least one of the following ways: fold at an angle greater than ninety degrees in at least one dimension to enable a user to arrange the displays in a folded-open or a folded- closed orientation; and rotate greater than ninety degrees to enable a user to arrange the displays to be in a rotated-open or rotated-closed orientation.
  • the first and second interface elements may pivot multi-directionally.
  • the hinge may conduct power and informational signals between the displays.
  • the hinge may form a cavity configured to support a wiring harness.
  • a sensor may sense an orientation of the hinge. Further, the sensor may sense orientations of the first and second interface elements.
  • Information may be associated with a representation of an audio recording.
  • the information may include a unique user device indicator associated with a device via which at least a portion of the audio recording was captured.
  • the information may also include a collaboration-indication code identifying other devices active during a session in which the device captured the audio recording.
  • the information may also include an identifier of a session during which the device captured at least a portion of the audio recording.
  • the representation of the audio recording may be stored with its associated information on a storage device in a manner enabling retrieval and playback of the audio recording and identification of other devices active during the session.
  • Metrics of captured audio recordings may be calculated based on a set of criteria.
  • An audio recording may be selected based on the metrics, and the audio recording may be stored at a central server or at at least one of the plurality of devices.
  • the set of criteria may include at least one of the following example criteria: signal-to-noise ration (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, and distortion.
  • Calculating metrics may include partitioning each audio recording into multiple sequential segments and calculating a metric for each segment in each audio recording.
  • selecting an audio recording based on the metrics may include comparing the metrics associated with each corresponding segment of each audio recording and selecting segments based on results of the comparing.
  • the selected segments may be arranged to form a sequential composite audio recording. Voice quality enhancement may be applied to the sequential composite audio recording. Transition between segments associated with different audio recordings of the composite audio recording may be smoothed.
  • a method for processing audio recording may include recording audio signals at a device. User interaction with the device during the recording of audio signals may be monitored. The audio recording may be associated with the user interaction in a manner enabling synchronized playback of the audio signals and the user interaction.
  • FIG. 1 is a diagram of an electronic device ("device") having one or two displays, in accordance with an example embodiment of the present invention, being used in a classroom setting;
  • FIG. 2 is a schematic diagram of a device having a bi-stable display and a refresh display operationally coupled to controller(s) and memory in accordance with an example embodiment of the present invention;
  • FIG. 3 is an architectural diagram of a software in the device and of a system with which a device may be associated;
  • FIG. 4A is a graphical diagram of content of a primary source (e.g., a book ) annotated by a user of a device in accordance with an example embodiment of the present invention;
  • a primary source e.g., a book
  • FIG. 4B is a network diagram that illustrates storage and retrieval of annotations
  • FIG. 5 is flow diagram indicating working environments in which a device may be employed
  • FIG. 6A is a schematic diagram of a display device having a bi-stable display and a refresh display with associated controllers and messages passing therebetween in accordance with an example embodiment of the present invention
  • FIG. 6B is a schematic diagram of a bi-stable display device and a handset device with associated controllers and messages passing therebetween via local wireless or wired communications or via base transceiver station ("base station") communications in accordance with an example embodiment of the present invention
  • base station base transceiver station
  • FIG. 7 is a schematic diagram of a device and its controller operating in connection with another device and a server in accordance with an example embodiment of the present invention.
  • FIG. 8 is network diagram that illustrates a device requesting and receiving images via wireless communications
  • FIG. 9 is a block diagram that illustrates inputs and a display engine used to render images on a display of a device
  • FIG. 10 is a schematic diagram of a device that accepts user input via an attachable user-input peripheral or touch screen
  • FIG. 11 is a block diagram illustrating high level peripheral data flow of a device
  • FIG. 12 is a block diagram of a device accepting user input via different types of user input peripheral
  • FIG. 13 is a flow diagram of an example method for rendering images on either a bi-stable display or a refresh display of a device
  • FIGS. 14A-D are a schematic diagrams illustrating orientations of a device with respect to a viewing angle of a user
  • FIG. 15 is a flow diagram of a method for changing the orientation of a rendered image on a device
  • FIG. 16A is a schematic diagram that illustrates synchronous rendering of images rendered on virtual displays of a device allowing multiple simultaneous user interaction
  • FIG. 16B is a schematic diagram that illustrates asynchronous rendering of images rendered on virtual displays of a device allowing multiple simultaneous user interaction
  • FIG. 17 is a schematic diagram that illustrates rendering of images on a device with respect to an edge of the device;
  • FIG. 18 is a schematic diagram of a device having restricted access to content;
  • FIG. 19 is a flow diagram of a method of limiting access to content or functions of a device in accordance with an example embodiment of the present invention
  • FIG. 20 is a schematic diagram of a device acting in a master mode used to control rendering of images on another device acting in a slave mode;
  • FIG. 21 A is a timing diagram illustrating time division multiplexing (TDM) communications of a wireless network having communications with a plurality of devices each acting in a master or slave mode using;
  • FIG. 21 B is a network diagram illustrating wireless communications of a wireless network having communications with a plurality of devices each acting in a master or slave mode;
  • FIG. 22 is a diagram illustrating an example communications packet optionally used to communicate between a server and a device or a device with another device in accordance with an example embodiment of the present invention
  • FIG. 23 A-C are flow diagrams of methods of operating a plurality of devices each acting in a master or slave mode in accordance with an example embodiment of the present invention
  • FIG. 24A-C are flow diagrams of methods of operating a plurality of devices each acting in a master or slave mode using an intermediate server in accordance with an example embodiment of the present invention
  • FIG. 25 A-B are flow diagrams of methods of operating devices acting in a slave mode in combination with a central server acting in a master mode in accordance with an example embodiment of the present invention
  • FIG. 26A is a graphical diagram of content of a primary source (e.g., a book ) annotated by a user of a device;
  • a primary source e.g., a book
  • FIG 26B is a block diagram of an annotations module used to annotate content of a primary source
  • FIG. 26C is a flow diagram of a method of annotating content of a primary source by a user of a device
  • FIG. 26D is a block diagram illustrating storage and acquisition of annotations or notes by a device
  • Fig. 26E is a block diagram illustrating storage and retrieval to and from a content management server of multiple versions of a single annotation or note, optionally by multiple devices;
  • Fig. 26F is a block diagram illustrating relationships among different versions of annotations or notes;
  • FIG. 27 is a diagram of an image rendered on a bi-stable display of a device to be rendered on a refresh display of the device;
  • FIG. 28 is a diagram of an image rendered on a bi-stable display of a device that is rendered on a refresh display of the device according to user selection;
  • FIG. 29A is a diagram illustrating a "swept" selection area of an image rendered on a bi-stable display of a device and responsively rendered on a refresh display of the device;
  • FIG. 29B is a block diagram of controllers passing messages from a bi-stable display to a refresh display indicating a selection of an image to be rendered on the refresh display;
  • FIG. 29C is a flow diagram of a method of rendering at least a selection image on a second display rendered on a first display based on user interaction
  • FIG. 30 is another block diagram of controllers passing messages from a bistable display to a refresh display indicating a selection of an image to be rendered on the refresh display;
  • FIG. 31 A is a schematic diagram of location(s) of a microphone on a device
  • FIG. 3 IB is a schematic diagram illustrating example operational components of a microphone of FIG 31 A;
  • FIG. 31C is a schematic diagram illustrating conversion of sound waves into electrical signals by the microphone of FIG 31 A;
  • FIG. 32A is a schematic diagram of a noise reduction module operationally coupled to a plurality of microphones associated with a device
  • FIG. 32B is a schematic diagram illustrating a microphone capturing direct and reflected sound waves from a common source
  • FIG. 32C is a schematic diagram illustrating a position of a diaphragm of a microphone that facilitates mechanical filtering of sound waves
  • FIG. 32D is a schematic diagram of a device capturing sound via microphones each positioned on a different edge of the device
  • FIG. 33 is a block diagram illustrating recording sound waves into a content database and accessing the recorded sound from the database
  • FIG. 34A-B are flow diagrams of a method of mitigating sound interference received by a microphone and producing a noise-reduced signal in accordance with an example embodiment of the present invention
  • Fig. 34C is a block diagram of a metric calculation unit and an audio selection unit used to process audio recordings
  • Fig. 34D is a block diagram of a partitioning module, metric calculation unit, and audio selection unit used to process audio recordings;
  • FIG. 35 is a schematic diagram that illustrates a device in an open position state in which displays are adjacent to each other;
  • FIG. 36 illustrates an internal structure of a hinge mechanism configured to couple a bi-stable display and refresh display of a device.
  • FIG. 37 is a schematic diagram that illustrates a device in a folded, closed position state in which fronts of displays of the device face inward toward each other;
  • FIG. 38 is a schematic diagram that illustrates a device in a folded, open position state in which fronts of displays of the device face outward away from each other;
  • FIG. 39 is a schematic diagram of a device in which a bi-stable display and a refresh display of the device substantially overlay each other allowing only the bistable display to be viewable;
  • FIG. 40 is a schematic diagram of a device in which a bi-stable display and a refresh display of the device substantially overlay each other allowing only the refresh display to be viewable;
  • FIG. 41 is a schematic diagram of a device that has an attachable input peripheral.
  • FIG. 42 illustrates a computing device 4205 including a bi-stable display 4206a and a refresh display 4206b.
  • example embodiments of the invention follows.
  • example embodiments of single or dual display devices, elements employed therein, systems, network servers, networks and corresponding methods are described in reference to a classroom environment and textbooks used by students in a class.
  • classroom environment is just a convenient example in which the example embodiments may be employed.
  • Other example environments are mentioned interspersed hereinbelow. Environments in which the example embodiments may be employed are as diverse as environments in which computers and hand-held computing devices are employed.
  • An embodiment of the present invention serves to replace the weight of textbooks and reduce cost of the textbooks by enabling students to access textbooks, work, and notes (e.g., digital annotations or self-contained notes files) in an electronic environment.
  • Current approaches to paperless textbooks and notebooks use single screen laptop computers. Laptop computers consume too much power and cannot be used without recharging or charging its battery for extended periods of time, such as an entire school day. Many classrooms are not equipped with sufficient power outlets for all student to plug-in their laptops.
  • An electronic device that consumes less power than a laptop computer may be employed.
  • An example of such a power-savings electronic device is an Electronic Paper Display (EPD).
  • EPD is a form of a bistable display, meaning it toggles display pixels using very little energy, and display pixels maintain their respective states using no or negligible energy.
  • the states include black or white, or different states of spectral color, and the density of pixels enables the display pixels to be coordinated in groups to form black and white or grey-scale (or color) images. Pixel state stability allows for very low power consumption.
  • EPD devices are limited in functionality due to their slow refresh rate and grey-scale only images. Because textbooks (and other forms of publications) use many colors and pictures, an electronic textbook replacement should be able to display colors in a manner in which refresh displays (e.g., light emitting diode (LED) displays) do. Further, computers and handheld devices allow for video, and users have come to expect electronic devices to provide that level of functionality, too, not to mention audio and other electronic device functionality that has become ubiquitous in the electronic and wireless device age.
  • refresh displays e.g., light emitting diode (LED) displays
  • An embodiment of the present invention integrates bi-stable display technology and refresh display technology into a single device and manages the use of these technologies to achieve power savings functionality while providing a rich set of display functionality in a synergistic manner.
  • the power savings functionality enables the device to have a battery operating life between charges of many hours of operation, such as eight hours or more.
  • an embodiment of the present invention integrates today's two best technologies for reading text and displaying images — still or in motion — in a manner that is greater than the sum of its parts. This integration is well-suited for textbook replacement.
  • Figs. 1-5 provide an overview of the device, an example user environment in which the device may be employed, various embodiments and operating modes of the device, and network configurations and operations within which the device may operate. Thereafter, the figures illustrate details and other examples of the device network, operations, and so forth.
  • Fig. 1 is a diagram of an electronic device having two displays (“device") 105, in accordance with an example embodiment of the present invention, being used in a classroom setting 100.
  • a teacher 160 is providing classroom instructions to a group of students 170. The students 170 are following classroom instructions using respective devices 105.
  • Each device 105 includes a bi-stable display 106a and a refresh display 106b, coupled together by a hinge 107.
  • the bi-stable display 106a renders images 108 in a bi-stable display format, while the refresh display 106b renders images 109 in a refresh display format.
  • the teacher 160 may provide students 170 with classroom materials through data messages 130 via an electronic device 140 to student devices 105.
  • the teacher's electronic device 140 may be a laptop computer, desktop computer, personal digital assistant (PDA), or device 105 that the students are using.
  • the students 170 may receive classroom materials from the electronic device 140 via a wireless router 150, which may pass the data messages containing the classroom materials through a wireless connection 126a or through a physical link 126b.
  • classroom materials may include handouts, homework assignments, textbooks, articles, notes, annotations or any other material that the teacher 160 may deem as educational for the students 170.
  • students 170 may pass classroom materials to each other through device-to-device communications 120a, 120b.
  • students 170 may obtain access to content through a central server 11 Oa or a remote content server 1 1 Ob accessible through a network 115, such as a Wide Area Network (e.g., the Internet) or a local area network (LAN).
  • the students 170 may send requests 125a for classroom content or other information to either the central server 1 10a or remote content server 1 10b.
  • the central server 1 10a or remote content server 110b may respond with messages 125b acknowledge the request and containing the requested content or information relating to same.
  • the content may include handouts, homework assignments, textbooks, articles, notes, annotations or any other material.
  • FIG. 2 is a schematic diagram of a device 205 having a bi-stable display 206a and a refresh display 206b operationally coupled to controller(s) 212 and memory 214 in accordance with an example embodiment of the present invention.
  • the bi-stable display 206a may be mechanically and electrically coupled to the refresh display 206b via a hinge 207.
  • the device 205 may include several user control buttons 240a- «, microphone(s) 230a-b, and battery(s) 216.
  • the controller(s) 212 and memory 214 are internal to the device 205, but also may be externally connected to the device 205 in alternative embodiments.
  • the bi-stable display 206a renders images in grey-scale similar to or the same as an electronic paper display (EPD).
  • the bi-stable display 206a is designed to mimic the appearance of ordinary ink on paper. Unlike a conventional flat panel display, which uses a backlight to illuminate its pixels, an electronic paper display reflects light like ordinary paper and is capable of holding text and images indefinitely or effectively indefinitely without drawing electricity, while allowing the image to be changed. Therefore, the bi-stable display 206a is an extremely low power device that retains an image in a zero or very low power state. Bi-stable displays are considered more comfortable to read than conventional displays. This is due to a stable image, which does not need to be refreshed constantly, wider viewing angle, and reflection of ambient light rather than emission of light.
  • the bi-stable display 206a can be read in direct sunlight without images becoming difficult to see due to glare or overexposure from the sunlight.
  • the bi-stable display 206a has a slow refresh rate, similar to other EPD devices, as compared to Liquid Crystal Display (LCD) technologies.
  • This slow refresh rate discourages device manufacturers and software developers from implementing sophisticated interactive applications (e.g., using fast moving menus, mouse pointers, or scrolling) like those which are possible on handheld computers.
  • Examples of functions negatively impacted by a slow refresh rate include zooming in or out of images, scrolling images, and replacing images with other images, where the images may be text or graphics, for example.
  • An example in which the slow refresh rate is particularly noticeable is in navigating webpages or other on-line content-rich images provided by network servers.
  • the bi-stable display 206a in this example embodiment is coupled to the refresh display 206b.
  • the refresh display 206b can be any display useful for rendering graphics, video, or images that are not easily rendered on the bi-stable display 206a, such as due to lack of color or slow refresh rate reasons.
  • Examples of the refresh display 206b may be a display, such as a Liquid Crystal Display (LCD), Plasma Display Panel (PDP), or Light Emitting Diode (LED) display.
  • LCD Liquid Crystal Display
  • PDP Plasma Display Panel
  • LED Light Emitting Diode
  • an image 209 may be a video, activated by a mechanical button 24Od or virtual button 241, that is better displayed at a high refresh rate, and the video is, therefore, displayed on the refresh display 206b rather than the bi-stable display 206a, albeit at a higher rate of power consumption than were it displayed on the bi-stable display 206a.
  • Selection of whether to render an image on the bi-stable display 206a or the refresh display 206b may be controlled by the controller(s) 212.
  • the controller(s) 212 may select a display on which to render an image as a function of operational characteristics of the displays 206a, 206b and user interaction with the device, display(s), or image(s).
  • the memory 214 may store content to be rendered by either the bi-stable display 206a or refresh display 206b, operational characteristics of either display, and information relating to user interaction with either display.
  • the controller(s) 212 may communicate with the memory 214 via messages 222. The communication may include a request from the controller(s) 212 to the memory 214 for information related to content to be rendered via either of the displays, operational characteristics of either display, and information related to user interaction with either of the displays.
  • the memory 214 supplies the controller(s) 212 with the requested information, thereby enabling the controlled s) 212 to render an image on either display based on the received information from the memory 214.
  • the microphone(s) 230a-b may be mechanically coupled to either of the displays or hinge 207 and operationally coupled to the controller(s) 212.
  • the microphone(s) 230a-b may be positioned on the device 205 in a manner enabling mitigation of interference caused by a phase difference between a direct sound wave and a reflected sound wave from a common source.
  • the microphone(s) 230a-b may be positioned on the device 205 in a manner facilitating reduction of unwanted ambient sound detected by the microphone(s) 230a-b.
  • the sound recorded by the microphone(s) 230a-b may be related to the image(s) 208 or 209, and stored and retrieved with relation thereto, using memory 214, by the controller(s) 212.
  • FIG. 3 is an architectural diagram of software in the device 305 and of a system 300 with which the device 305 may be associated.
  • the device 305 includes a bi-stable display 306a and a refresh display 306b.
  • a content database 341 (also referred to herein as a library) is a repository for a student's class content, including, for example: books and handouts, images, video, audio, or combinations thereof. Records in the content database 341 may describe a single piece of content and may also or alternatively describe the properties of the content and where the referenced content is located in the content storage 342.
  • Content may be added to the content database 341 via a network, such as the Internet, or from local storage e.g., Secure Digital (SD) card or browser application 330.
  • Content may be stored in internal or external storage (e.g., a plug-in (SD card)).
  • the content database 341 may reside in internal flash memory.
  • the content database 341 may be managed by a content provider 340.
  • the content provider 340 in some embodiments allows access to the content using content Uniform Resource Identifiers (URIs).
  • URIs Uniform Resource Identifiers
  • books may be added to the database indirectly by first passing through a reader application 335 by way of a reader service 335. This may be done in order to extract a common set of information about the book, such as author and title or for other traditional or non- traditional reason.
  • a reader/journal application 336 decode downloaded raw book content, allowing conversion and rendering of document formats, such as documents in a format selected from a group consisting of: mobi, epub, html, txt, pdf, docbook, cnxml, and esi-edb.
  • document formats such as documents in a format selected from a group consisting of: mobi, epub, html, txt, pdf, docbook, cnxml, and esi-edb.
  • books may be converted from one of the foregoing formats into a common format using a decoding plug-in appropriate for the book format type.
  • the reader/journal application 336 may allow free-form data entry at the device 305 using a keyboard or stylus via a touch screen element of a display.
  • the application 336 may display using a number of display layers.
  • Display layers may include background layer which can include a bitmapped image.
  • the background layer may be a bit-map representation of notebook paper or a pdf image converted to a bit-map. Text or graphics may be overlaid over the background. This methodology allows, for example, annotation of pdf/ppt files and also allows for free-form note taking, journaling and scribbling.
  • the layers may be represented in a package representation including the bit-map images and xml-based drawing instructions. It should be understood that other existing and later developed format may also be supported.
  • a library browser 345 allows database content to be selected for viewing.
  • the library browser 345 supports viewing of content by types, such as books, audio, and video.
  • the library browser 345 invokes an application/activity to display the content on either the bi-stable display or refresh display.
  • the library browser 345 can be used to invoke the reader/journal application 336 via a reader service 335.
  • the library browser 345 invokes an appropriate view/application 350a-n.
  • the library browser 345 allows flexible views of the database content based on tags or labels that can be applied to the content stored in a content database 341. Tags/labels can be derived from the downloaded content (when added to the content database 341) or can be added by the user.
  • Viewers/applications 350a-n allow the system to access content within the content database 341 and render images based on user intent and criteria of either the bi-stable display or refresh display. Criteria may be defined by the operational characteristics of the displays. For example, criteria may include power, refresh rate, color, motion of images (e.g., video), speed, page refresh, resolution, content format, and media type.
  • the applications/viewers 350a-n may include a book browser, image viewer, video player, or audio player.
  • the book browser allows the user to navigate quickly through content, by providing a hierarchical view of a book's content. For example, the book browser may allow the highlighting of a particular section of a book and viewing of figures/notes that are associated with that section.
  • the image viewer can be configured to allow images to be rendered on either the bi-stable display in a bi-stable format (e.g., grey-scale) or the refresh display in a refresh display format (e.g., color).
  • the video viewer and audio viewer allow basic or advanced multimedia operations.
  • Each viewer/application 350a-n can be configured to allow at least two methods of invocation.
  • One example method of invocation may use an absolute path to a record in the content database, and the other may use the URI of a record in the content database.
  • Another viewer/application 350a-n may include a sound recorder.
  • the sound recorder application may use the built-in microphone(s) of the system 300. Recordings may be stored as sound files that can be accessed like any other audio content for playback.
  • the reader service 335 provides an interface between the bi-stable display 306a and refresh display 306b applications. Information may be exchanged between applications using a data exchange protocol, such as custom or generic interchange protocol.
  • the reader service 335 may implement the use of a virtual clipboard 360 to allow data to be passed between viewers/applications 350a- n.
  • FIGS. 4A and 4B are a screen view and network diagram, respectively, of annotations applied to content as enabled by devices 405a, 405b, and storage/retrieval by the devices.
  • FIG. 4A is a graphical diagram of content of a primary source (e.g., a book) annotated by users of devices 405a, 405b in accordance with an example embodiment of the present invention.
  • the devices 405a and 405b include a bi-stable display 406a and refresh display 406b.
  • Content of a primary source may be rendered on the bi-stable display 406a as an image 408.
  • a user may then annotate the primary source, such as by using a stylus and touch screen aspect of the display(s) 406a and 406b, to include notes to supplement the content.
  • the user may include annotations 430a-c that provide additional notes/information that are associated with the primary source.
  • the user may include handwritten annotations 430a-b, or textual annotations 430c.
  • Selections of the primary source may be rendered on the refresh display 406b as an image 409.
  • the image 409 displayed on the refresh display 406b may or may not include the annotations provided by the user.
  • the devices 405a, 405b include memory (not shown) from which display controlled s) can access data representations of the content to display on the bi-stable and refresh displays 406a, 406b and store or retrieve the annotations.
  • the memory may be dual access memory to enable the controller(s) to access the data and update the images simultaneously on both displays 406a and 406b.
  • FIG. 4B is a network diagram that illustrates storage and retrieval of annotations via wired or wireless, upstream and downstream, network communications paths 425a, 425b, respectively.
  • a user of a first device 405a may request content from a primary source server 410a.
  • the content may be, for example, a book, image, or news article.
  • the user may then annotate the primary source as described in relation to Fig. 4A.
  • Representations of an annotation may be associated with information to identify the primary source, user, and device that are associated with the annotation.
  • the representations of the annotations may be submitted to an annotations server 410b for storage via the upstream network communications path 425a between the first device 405a and annotations server 410b.
  • a second device 405b may request the same primary source from the primary source server 410a.
  • the primary source server 41 Oa provides primary source data 425b to the second device 405b.
  • the user of the second device may also request annotations that are associated with the primary source and the user of the first device 405 a, or annotations from any other device that are associated with the primary source.
  • FIG. 5 is flow diagram of a method 500 indicating example working states within a classroom environment in which devices may be set. At 505, the method 500 begins. At 510, the state of operations of a device within a work environment is determined, where the states of operations may be a student independence state 511, tutorial session state 512, or examination state 513.
  • Student independence state 51 1 refers to a student's ability to use a device to access another device or server for content.
  • a central server or instructor's device may be used by the instructor to issue a corresponding command wirelessly to the device(s) to enable the device(s) to access local or remote servers for data representative of content.
  • the instructor or other person(s) such as a parent or school administrator, may place certain restrictions on access to servers by the device(s), but, as used herein, the student independence state 511 covers a restricted version thereof.
  • Device operation in the student independence state is further described below in reference to FIGS. 13A-B, 15, and 26B.
  • tutorial session state 512 refers to a student's restricted ability to use a device for activities other than in conjunction with an instructor's guidance through a document or other lesson content. Restriction may be minimal or complete, but, generally a student's device is controlled in some manner to force the student to follow along with a lesson.
  • a central server, instructor device, or student device may be used to issue a corresponding command wirelessly to other device(s), to enable the other device(s) to track instructor or student tutorial session, by rendering images on the other device(s) that are rendered on the instructor or student device conducting the tutorial session.
  • the command may enable or disable access to local or remote servers by the device(s).
  • tutorial sessions may include, for example, classroom instructions, study groups, or online classes/seminars.
  • Device operation in the tutorial session state 512 is further described below in reference to FIGS. 20-2 IB, 23 A-C, 24 A-C, and 25 A-B.
  • Examination state 513 refers to a student's restricted ability to use a device to access content, stored thereon or remotely accessible, while taking an examination. Restriction may be minimal or complete, but, generally a student's device is controlled in some manner while taking the examination thereon or extemal therefrom.
  • a central server or instructor's device may be used by the instructor to issue a corresponding command wirelessly to the device(s), to enable the device(s) to access an examination via a local or remote server and, contemporaneously, disable the device(s) from having access to remote and/or local servers for other content or memory locations within the device(s).
  • Device operations in the examination state 513 is further described below in reference to FIG. 19.
  • classroom setting and corresponding device states 51 1, 512, 513 are merely examples of both environment and states.
  • Other device states for a classroom environment may be provided, and other environments with other device states are also within the scope of the present invention.
  • embodiments of the present invention enable users or administrators to customize device states for their typical or unique environments.
  • FIGS. 6-25B illustrate system level embodiments of a device.
  • FIGS. 26A-26D illustrate annotation capabilities of the device and network
  • FIGS. 27-30 illustrate a device capability of user-selectable rendering of an image from one display to the other.
  • FIGS. 31A-34B illustrate a microphone aspect of the device with associated noise reduction processing.
  • FIGS. 35-42 illustrate mechanical user-selectable or equations of the displays relative to each other.
  • Fig. 6A is a schematic diagram of a display device 600 having a bi-stable display 606a and a refresh display 606b electrically and logically connected by associated bi-stable display and refresh display controllers 612a, 612b respectively, and messages 622a, 622b passing therebetween in accordance with an example embodiment of the present invention.
  • the bi-stable display 606a is operationally and mechanically coupled to the refresh display 606b via a hinge 607, where the hinge may include electrical paths for the messages.
  • each controller 612a, 612b is configured to download or upload content and annotations.
  • Each controller is further configured to determine whether user interaction with its respective display 606a, 606b is within the operational characteristics of its respective display, and, if within, the controllers 612a, 612b are still further configured to render an image responsive to the user interaction via its respective display 606a, 606b. If user interaction is not within the operational characteristics of the controller's respective display, the controller causes, notifies, or requests the other controller, via messages 622a or 622b to render an image via its respective display responsive to the user interaction.
  • "user interaction" with respect to user interaction with a display 606a, 606b means any logical or physical interaction the user performs with respect to the display, its operating state, or a state of an image or other human or animal-perceptible indication capable of being made by either display.
  • a logical or physical interaction with respect to a display may include changing a state of a soft switch (e.g., graphical button on a display screen) or hard switch (e.g., mechanical button on either side of a display screen).
  • a logical or physical interaction with respect to an operating state of a display may include selection of a low or normal power state of the refresh display (e.g., low or high brightness) or slow or fast update rate of the bi-stable display.
  • a logical or physical interaction with respect to an image may include selection of a user resource locator (URL) within text of a book or periodical on the bi-stable display to access a webpage or data corresponding to the URL; request to present a color version of an image, represented in a bi-stable display format on the bi-stable display, on the refresh display; request to view a video referenced in a book; or request to search a term of a book via a network.
  • URL user resource locator
  • action(s) associated with regard the logical or physical interaction are typically better executed by the refresh display rather than the bi-stable display due to the refresh display's higher update rate, even though the action requires more energy than if performed by the bi-stable display.
  • the bi-stable and refresh display controllers communicate with each other to coordinate a response to the request.
  • the bi-stable display controller 612a may determine that loading and presenting a webpage is outside the operating characteristics of the bi-stable display and, in turn, send messages622b with instructions or a request to the refresh display controller 612b to access, load and display the corresponding website.
  • the webpage may be outside the operating characteristics of the bi-stable display 606a include lack of color or slow (e.g., 1 second) update rate on the part of the bi-stable display 606a.
  • the bi-stable controller 612a monitors user interaction with bi-stable display 606a. If the user interaction with bi-stable display 606a is within the operational characteristics of the bi-stable display 606a (e.g., the user requests an electronic turn-to-the-next-page of a book), the bi-stable controller 612a renders an image 625 (e.g., the next page of the electronic book) via the bi-stable display 606a.
  • an image 625 e.g., the next page of the electronic book
  • the refresh controller 612b monitors user interaction with the refresh display 606b (e.g., display an embedded video on a webpage) and renders an image 630 (e.g., the webpage with embedded video playing) via the refresh display 606b if the user interaction is within the operational characteristics of refresh display 606b.
  • the refresh display 606b e.g., display an embedded video on a webpage
  • an image 630 e.g., the webpage with embedded video playing
  • the bi-stable display controller 612a determines that the user interaction with the bi-stable display 606a is not within operational characteristics of the bi-stable display 606a (e.g., color required)
  • the bi-stable display controller 612a notifies the refresh display controller 612b via an instruction/request message 622b to render an image 630 via the refresh display 606b.
  • the refresh display controller 612b determines that the user interaction is not within the operational characteristics of the refresh display 606b (e.g., low energy display required, allowable, or preferred)
  • the refresh display controller 612b notifies or requests, via messages 622b, the bi-stable display controller 612a to render an image via the bi-stable display 606a.
  • the bi-stable display controller 612a may pass a message 622a to the refresh display controller 612b, in which the message may include a pointer to an object stored in memory (not shown) or the content to be rendered.
  • the instructions and request 622b, as well as content or pointer 622a, may be passed logically via an operating system 620.
  • both displays 606a, 606b may download the same content and annotations and share current states of the content and annotations via messages 622a or 622b
  • the messages 622a or 622b, used to cause the "other" display 606a, 606b to render an image can refer to the content or annotations in a number of ways, such as by memory location, content relative information, or other way(s) known in the art.
  • the bi-stable display controller 612a may further or alternatively be able to determine whether the user interaction results in an image that, if within operational characteristics of the bi-stable display 606a, is better suited to be rendered on the refresh display 606b. If better suited to be rendered on the refresh display 606b, the bi-stable display controller 612a sends an instruction/request 622b to the refresh display controller 612b to render an image via the refresh display 606b.
  • the refresh display controller 612b determines whether user interaction with the refresh display 606b results in an image that is better suited to be rendered via bi-stable display 606a, then the refresh display controller 612b sends a message 622a with content of pointers (or other information) to cause the bi-stable display controller 606a to render the image on the bi-stable display 605a.
  • the determination of which display on which to render an image may be based on a comparison of the operational characteristics of the displays specific to the user interaction. Criteria of operational characteristics may include power, refresh rate, color, motion, speed, page refresh, resolution, content format, and media type.
  • FIG. 6B is a schematic diagram of a bi-stable display device 606a and a handset device 655 operatively and logically connected by associated bi-stable display and refresh display controllers 612a, 612b, respectively, and local inter- display messages 622a, or remote access inter-display messages 622b passing therebetween.
  • the local access inter-display messages 622a may be communicated using a local wireless (or wired) protocol, such as Bluetooth®
  • the remote access inter-display messages 622b may be communicated using a remote access protocol, such as a Wide Fidelity (WiFi) protocol using IEEE 802.1 1, via a base transceiver station 650 in accordance with an example embodiment of the present invention.
  • the handset device 655 may be any wireless transmit/receive unit (WTRU), such as a cell phone or PDA.
  • WTRU wireless transmit/receive unit
  • a user of the bi-stable display 606a may require the use of a display device having a refresh rate suitable for rendering rich content.
  • the user may then initialize communications between the bi-stable display 606a and handset 655, having a refresh display 606b suitable for rendering the desired rich content, via local inter- display messages 622a, or remote access inter-display messages 622b.
  • the bi-stable display 606a and handset 655 may apply the same inter-device methodologies described in reference to FIG. 6A.
  • this alternative embodiment illustrates a device having a bi-stable display 606a operating in connection with a refresh display 606b provided by a standard or specially- equipped handset 655 (e.g., cell phone or PDA), depending upon implementation of the inter-display messages 622a, 622b, and other aspects understood in the art.
  • a standard or specially- equipped handset 655 e.g., cell phone or PDA
  • Fig. 7 is a schematic diagram of the device 705a and its controller 711 operating in connection with another device 705b and a server 710 in accordance with an example embodiment of the present invention.
  • the device 705a includes a bi-stable display 706a and a refresh display 706b operationally coupled to the controller 711.
  • the controller 711 includes a bi-stable display controller 712a, refresh display controller 712b, and master/save module 750.
  • the bi-stable display controller 712a receives user interaction data 726 via the bi-stable display 706a.
  • the refresh display controller receives user interaction data 731 via the refresh display 706b.
  • Each controller 712a, 712b controls rendering via its respective display or causes the other controller to render the image via its display in a manner described in reference to Fig. 6.
  • the controllers 712a, 712b include respective image rendering exchange modules 747a, 747b that use display characteristics 745a, 745b stored in respective memories 714a, 714b.
  • the image rendering exchange modules 747a, 747b may be hardware, firmware, or software construction configured to perform in a manner as described above with respect to rendering images as a user interaction and operational characteristics of the respective displays. It should be understood that image rendering exchange data or information 740 may employ forms of exchange protocols, representations of data or information, or referencing of memory and span any type of data exchange path or interface consistent with exchanging information as disclosed herein by way of examples or otherwise understood in the art.
  • the device 705a may interact with the server 710.
  • the device 705a may request content from the server 710 via a request 725a and, in response, receive content 725b from the server 710.
  • the device 705a may interact with another device 705b.
  • Messaging data 720a, 720b may be exchanged between the two devices.
  • the devices 705a, 705b may interact for several reasons, one of which being a tutorial session, where one device is acting in a master mode and another device is acting in a slave mode.
  • the master/slave module 750 controls such operations in this example embodiment. For example, the device 705a, while acting in a master mode, controls rendering on the other device 705b.
  • Fig. 8 is a network diagram that illustrates a device 805 requesting and receiving images via wireless communications.
  • the device 805 includes a bi-stable display 806a and a refresh display 806b.
  • the bi-stable display 806a renders static images 808 while the refresh display 806b renders dynamic images 809.
  • the device 805 may send a request 825a upstream for content, which may either be static or dynamic images, from a content server 810.
  • the request 825a is sent through a wireless tower 830 to a network 815, and, in turn, to the content server 810.
  • the content server 810 locates the requested content, the requested content in this example being either static images 820a or dynamic images 820b.
  • the content server 810 then sends representations of the content via the network 815 through the wireless tower 830 to the device 805.
  • Static images 820a are rendered via the bi-stable display 806a, while dynamic images are rendered via the refresh display 806b, and should be understood that the simplified network example can be more complete in other example networks, such as one in which the device 805 enables a user to browse multiple network nodes in search for content to download.
  • Fig. 9 is a block diagram that illustrates a display engine that is used to render images on a display 906 of a device 900.
  • raw content 940 may be received by the device 900, such as via a wired or wireless interface (not shown).
  • the raw content 940 may be in many formats 941a-n, such as a PDF file or word document.
  • Multiple decoding plug-ins 945 may be included in the device 900 or optionally downloadable from a server (not shown), where the decoding plug-ins 945 are used to decode one or more of the formats of the formats 941a-n of the raw content 940.
  • the decoding plug-ins 946a-n may be used to convert the raw content into a common format for the device 900, the display 906, or a limited set of formats. For example, if the device 900 receives several books having different raw content format, a book model 930, using decoding plug-ins corresponding to the book format type, converts the raw content to a format compatible with the device 900 or display 906.
  • the book model 930 may utilize a small set of simple data structures in order to represent the book data. At the lowest level are entries. Entries contain actual text content, image pointers, attribute data (e.g., bold, italic, etc.) or control information (e.g., skip a line, end page, etc.). Entries may be grouped into paragraphs.
  • Sections provide for document structure. Sections may include other sections or may contain paragraphs. Therefore, from top-down, the book model may be as simply as a hierarchy of sections, where each lead section includes lists of paragraphs, and each paragraph contains a list of one or more entries. This format is well-suited for storage and retrieval from a database. Storage of book content and database form allows for easy, efficient retrieval of subsets of book content, for efficient search for a wide variety of indexing optimization.
  • the book modes 930 may also allow for easy association of note data (e.g., text/audio/graphical/hyperlink).
  • Model settings 935 may be employed to provide customized or default display formatting.
  • the display engine 912 renders content via the display 906.
  • the display engine 912 receives information via the book model 930, model settings 935, and images 908 in order to render content via the display 906.
  • portions or all of the elements other than the display 906 may be in the device 900 or external from the device 900.
  • other elements such as a display driver (not shown), interface (not shown), or other elements configured to carry out portions of processing raw, party processed, or fully processed data to be rendered may also or alternatively be employed by the device 900 depending on how much processing is performed in the device 900 and how much is performed in, for example, a network made prior to reaching the device 900.
  • An example reason for having some or all processing external from the device 900 is to save on processing power, which, in turn, extends battery operating life between recharges.
  • Fig. 10 is a schematic diagram of a device 1005 that accepts user input via an attachable user input peripheral or touch screen.
  • the device 1005 includes a bistable display 1006a and a refresh display 1006b mechanically coupled together via a hinge 1007.
  • the displays are operationally coupled to a controller 1012 that controls rendering via each display.
  • the device 1005 includes an interface 1030.
  • the interface 1030 allows attachment of peripheral devices, such as keyboard 1035 and mouse 1040, to enable a user to enter data, retrieve data, alter a state of the device 1005, or alter a state of an image rendered via one of the displays 1006a, 1006b.
  • each display 1006a, 1006b may be configured to accept user input in relation to a rendered image on one or both displays using touch screen technology.
  • the device 1005 may also accept such user input via a touch screen through a stylus 1045 or by human physical contact with either of the displays 1006a, 1006b.
  • the device 1005 may accept user interaction via the interface 1030 from either the keyboard 1035 or the mouse 1040, or other known human-to-machine interface peripheral, such as voice activated command receiver module (e.g., a microphone) with voice recognition system.
  • voice activated command receiver module e.g., a microphone
  • Fig. 1 1 is a block diagram illustrating high level data flow from peripherals to a device 1105.
  • the device 1105 includes a bi-stable display 1106a and a refresh display 1206b.
  • the bi-stable display 1106a is operated by a bi-stable system 1107a.
  • the refresh display 1106b is operated by a refresh system 1107b.
  • the bi-stable system 1107a and the refresh system 1107b may employ core software that runs on dual-display hardware, one being hardware associated with the bi-stable display 1 106a and the other being hardware associated with the refresh display 1 106b.
  • the bi-stable system 1107a and refresh system 1107b utilize two separate graphics stacks.
  • the bi-stable display 1 106a may use a graphic stack that includes GTK+, which is an example of a cross-platform widget tool kit for creating graphical user interfaces and a direct frame buffer space (direct FB space), which is a software library operating system that provides hardware graphics acceleration, input device handling and abstraction, and integrated windowing system with support for translucent windows and multiple display layers.
  • the refresh display 1 106b utilizes the refresh system 1107b, which includes a graphics stack that may be an android/open GL space graphic stack.
  • the device 1105 may accept user interaction via the bi-stable display 1106a or the refresh display 1106b through a touch input screen 1146 or a keyboard 1135. If user interaction includes interaction via the touch input screen 1146 overlayed or incorporated into one or both of the displays 1106a, 1106b, a touch/stylus driver 1170b determines whether the user is implementing the use of a stylus touch input or a human-to-machine touch interface. The touch/stylus driver 1170b then interprets the touch input 1146 and sends messages to an EVDEV module 1160 that determines whether the user interaction occurred via the bi-stable display 1106a or the refresh display 1106b, in an embodiment supporting input via both displays.
  • a touch/stylus driver 1170b determines whether the user is implementing the use of a stylus touch input or a human-to-machine touch interface.
  • the touch/stylus driver 1170b interprets the touch input 1146 and sends messages to an EVDEV
  • the EVDEV module 1160 sends messages to the bi-stable system 1107a to render an image.
  • the bi-stable graphics stack comprising GTK+ 1109 and direct FB 1 110 then processes in the input, passes the input messages to bi-stable driver 1170c, and, in turn, the bi- stable display 1106 renders the image.
  • a keyboard driver 1 170c interprets the interaction and sends messages to the EVDEV module 1 160.
  • the EVDEV module 1160 determines whether interaction occurred via the refresh display 1106b or the bi-stable display 1 106a. At this point, the EVDEV module 1160 sends interaction messages to the appropriate graphics stack of either the refresh system 1107b or the bi-stable system 1107a. In turn, rendering information is sent to either the bi-stable FB driver 1170a or the refresh FB driver 1 170b. Each driver then sends corresponding rendering data to either (or both) the bi-stable display 1106a or the refresh display 1106b via which an image is rendered.
  • the device 1205 in this example embodiment includes an operating system kernel 1280 which includes peripheral drivers 1270a-n, which accepts multiple keyboard input devices which may include keys dedicated to bi-stable display applications 1207a that operate with a bi-stable display. Similarly, the multiple keyboard input devices may include keys specifically dedicated to refresh display applications 1207b that operate with a refresh display. In addition, the multiple keyboard devices may include keys that can be shared by the bi-stable display applications 1207a and the refresh display applications 1207b. For example, a Bluetooth® or a Universal System Bus (USB) keyboard may be shared by the bistable display applications 1207a and the refresh display applications 1207b.
  • an operating system kernel 1280 which includes peripheral drivers 1270a-n, which accepts multiple keyboard input devices which may include keys dedicated to bi-stable display applications 1207a that operate with a bi-stable display.
  • the multiple keyboard input devices may include keys specifically dedicated to refresh display applications 1207b that operate with a refresh display.
  • the multiple keyboard devices may include keys that can be shared by the bi-
  • the device 1205 may accept input from a keyboard 1235 via a digital driver 1170a, Electronic System Interface (ESI) virtual keyboard driver 1270b, a General Purpose Input/Output (GPIO) keys driver 1270c, USB keyboard driver 127Od, or touch screen driver 127On.
  • the digital driver 1270a, GPIO keys driver 1270c, USB keyboard driver 127Od and touch screen driver 127On may be configured to accept direct physical input.
  • the physical input may be from the keyboard 1235 or touch input 1246.
  • the ESI virtual keyboard driver 1270b accepts virtual input because it does not directly receive physical input.
  • Input events 1260a-n are passed to the corresponding display applications, which may be either the bi-stable display applications 1207a or the refresh display applications 1207b for rendering images representing content on the device 1205.
  • Fig. 13 is a flow diagram of an example method 1300 for rendering images on either a bi-stable display 1306a or refresh display 1306b.
  • the bi-stable display 1306a is operationally coupled to a controller 1312a that controls rendering of the images on the bi-stable display 1306b
  • the refresh display 1306b is operationally coupled to a controller 1312b that controls rendering on the refresh display 1306b.
  • the method begins at 1301a, 1301b.
  • the bi-stable display 1306a determines whether it has received user interaction 1304a or a message 1316b from the refresh display controller 1312b.
  • the method 1300a proceeds at 1315a, at which the bi-stable display controller 1312a determines whether the user interaction 1304a is within the operational characteristics or criteria 1313a of the bi-stable display 1306a. If the user interaction 1304a is within the operational characteristics or criteria 1313a of the bi-stable display 1306a, the bi-stable controller 1312a, at 1320a, renders an image via the bi-stable display 1306a. Subsequently, at 1321, the method 1300a begins again.
  • a message 1316a is sent to the refresh display controller 1312b to cause, notify, or request it to render an image via the refresh display 1306b.
  • operations characteristics may be manufacturer-defined as a function of limits of the display
  • criteria may be manufacturer-defined as a function of limits of the display within the content of the device.
  • the determination 1315a may alternatively be a determination of whether the bi-stable display 1306a is better suited than the refresh display 1306b on which to render the image.
  • the refresh display controller 1312b may receive the message from the bi-stable display controller 1312a.
  • the refresh display controller 1312b determines whether the user interaction 1304a is within operational characteristics of the refresh display 1306b (or which display is better suited for rendering of the image), which is determined using the refresh display operational characteristics or criteria 1312b. Assuming the request to render an image via the refresh display is within the operational characteristics or criteria of the refresh display 1306b, at 1320b, the refresh controller 1312b renders the image via the refresh display 1306b. Then, at 1322, the method for the refresh display begins again.
  • the refresh display 1306b may receive user interaction 1304b.
  • the refresh display controller 1312b determines whether the user interaction 1304b is within the operational characteristics or criteria 1313b of the refresh display. If the user interaction 1304b is not within its operational characteristics or criteria 1313b, the refresh display controller 1312b sends a message 1316b to cause, notify, or request the bi-stable display controller 1312a to render an image via the bi-stable display 1306a.
  • the bi-stable display controller 1312a receives this message as mentioned above.
  • the refresh display controller 1312b causes the refresh display 1306b to render the image.
  • Figs. 14A-D are schematic diagrams illustrating physical orientations of a device 1405 with respect to a viewing angle 1400 of a user.
  • the device 1405 includes a bi-stable display 1406a, refresh display 1406b, and hinge connecting the displays 1406a, 1406b together in a user-selective arrangement.
  • the bi-stable display 1406a renders an image 1408 in a bi-stable display format
  • the refresh display 1406b renders an image 1409 in a refresh display format.
  • Each display also includes several user input buttons, one of which being an orientation selection button 1410.
  • the device 1405 or a component of the device such as one of the displays 1406a, 1406b, or the hinge connecting the displays 1406a and 1406b may include therein a position or orientation sensor to sense automatically an orientation of the device with respect to a user or with respect to vertical or horizontal angles relative to up or down of an edge of a display 1406a, 1406b as a function of gravity.
  • Fig. 14A illustrates an orientation that may be better suited for right-handed users, where the device 1405 is an orientation in which the bi-stable display 1406a is to the left of the viewing angle 1400 of the user and the refresh display 1406b is to the right of the viewing angle 1400 of the user.
  • Fig. 14A illustrates an orientation that may be better suited for right-handed users, where the device 1405 is an orientation in which the bi-stable display 1406a is to the left of the viewing angle 1400 of the user and the refresh display 1406b is to the right of the viewing angle 1400 of the user.
  • FIG. 14B illustrates an orientation of the device 1405 which may be better suited for a left-handed user, where the refresh display to the left of the viewing angle 1400 of the user and the bi-stable display 1406a is located to the right of the viewing angle 1400 of the user.
  • Figs. 14C-D illustrate alternative orientations of the device 1405, where either the bi-stable display 1406a is above the refresh display or, alternatively, the refresh display 1406b is above the bi-stable display 1406a with respect to the viewing angle 1400 of the user.
  • the user can effectively change which display 1406a, 1406b is on the left or right in the vertically held orientations (Figs. 14A and 14C), or upper or lower (Figs. 14B and 14D) through use of the orientation selection button 1410 or as automated by an internal sensor.
  • Changing orientations may be more comfortable for a user in annotating documents via the bi-stable display 1406a or navigating webpages via the refresh display 1406b, as two examples.
  • Orientation issues are different for this device 1405 embodiment with two displays 1406a, 1406b in an open-clamshell configuration, as compared to a stacked configuration or a device embodiment employing a single display, due to the users having to reach across the dominant hand to interact with a second display, thereby potentially obstructing viewing of the first display.
  • changing images on the display(s) 1406a, 1406b via the orientation selection button 1410 or other mechanism may include rotation of rendered images, changes of states of hard or virtual buttons or other physical or virtual elements on the display, activation/deactivation microphone(s) and other possible state changes of the device 1405 or peripherals associated therewith.
  • Fig. 15 is a flow diagram of a method 1500 for changing orientations of an image rendered on a device.
  • the method begins.
  • the method monitors a position/orientation of the device with respect to a viewing angle of the user monitored.
  • the method determines whether the orientation of the device with respect to the viewing angle of a user has changed. If the orientation has not changed, the method determines whether the user has requested to change the orientation of the images rendered on the displays of the device, and, if not, the method repeats beginning at 1501. If the orientation has changed, then, at 1515, the method 1500 changes the orientation of the images rendered on the device. Alternatively, at 1510, if the device has detected a change in orientation, the orientation and the images rendered on the displays of the device are changed at 1515, and the method begins again at 1501.
  • Fig. 16A is a schematic diagram that illustrates synchronous rendering of images rendered on virtual displays of a device allowing multiple, simultaneous, user interactions such as by allowing two or more users to interact with the device 1605 or images rendered therein while viewing the same or different images rendered with respective orientations enabling each user to view right-side-up images.
  • the device includes a bi-stable display 1606a and a refresh display 1606b, each having an upper edge 1601a and lower edge 1601b.
  • the bi-stable display 1606a is illustrated as having two virtual displays 1610a and 1610b, each rendering the same image 1620a with respect to a rightside- up viewing angle of a first user 1615a and a second user 1615b respectively.
  • the refresh display 1606b may be split into virtual displays 1610c and 161Od, each rendering the same image 1620b in an orientation with respect to a rightside-up viewing angle of the respective user 1615a and a first display with hand 1615b.
  • the device 1605 allows two users to interact simultaneously with content rendered on the display(s) 1606a, 1606b of the device 1605.
  • Each user 1615a, 1615b is able to interact with the same (or different) image rendered on each of the virtual displays.
  • the rendering of images on the virtual displays facilitates peer study sessions or tutorial sessions.
  • the device 1605 i.e., the controller(s)) (not shown) rendering the images on the display(s) 1606a, 1606b may cause the rendered images to scroll vertically or horizontally, zoom in or out, or otherwise change states in a synchronous manner as a function of interaction with a display 1606a, 1606b or image 1610a, 1610b rendered thereon.
  • Fig. 16B is a schematic diagram that illustrates asynchronous rendering of images rendered on virtual displays of a device, also allowing multiple user interaction.
  • the device 1605 includes a bi-stable display 1606a and a refresh display 1606b.
  • Each of the displays is split into multiple virtual displays, each in an orientation with respect to a first user 1615a or a second user 1615b.
  • Each virtual display 1610a-1610d may be configured to render images from a primary source.
  • each user 1615a or 1615b may be able to access content from the primary source in an asynchronous manner.
  • user 1615a may be viewing page 1 of one primary source while user 1615b may be viewing page 10 of the same primary source.
  • each virtual display may be configured to accept user interaction from the user 1615a and user 1615b simultaneously or as a function of controlled access.
  • interactions that include, for example, the first user's 1615a annotating a representation of the primary source may be immediately reflected as corresponding annotations on the representation of the primary source to the second user 1615b.
  • annotations may be represented in different colors, line styles, or other manner to enable the users to distinguish their edits from each other's.
  • timecodes or a "collaboration annotation" code may be associated with particular annotations to provide traceability such that the users, administrators of annotations, or other persons can identify annotations made while collaborating with another user and those made while not collaborating with another user.
  • a collaborative environment may be in the form of a single virtual display, but two style users recognizable from each other (e.g., different thickness, capacities, or radio frequencies) by the displays may enable different collaboration-annotation codes to be associated with the different annotations.
  • the collaboration-annotations may include more than simply single user identifiers — they may include indications of multiple users making annotations at the same time and which user made the respective particular annotation and, optionally, in which viewing orientation (e.g., left, right, up or down with respect to the bottom edge of the device).
  • the displays of the device may include multiple virtual displays meant for a single user.
  • a user may be reading a book on a first virtual display, using a viewing application, while simultaneously taking notes using a note taking application or journal application on a second virtual display on the same (physical) display.
  • Fig. 17 is a schematic diagram that illustrates rendering of images on a device 1705 with respect to an edge of the device.
  • the device includes an upper edge 1701a and lower edge 1701b.
  • the device includes a display 1706 that is split into virtual displays 1710a, 1710b, in which the virtual displays have different viewing orientations relative to the lower edge 1701b.
  • the display 1706 is split into two virtual displays, one of which (1710a) having a viewing orientation which is right-side up with respect to the lower edge and another (1710b) which is upside down with respect to the lower edge.
  • the device 1705 also includes a left edge 1701c and right edge 170 Id.
  • the display 1706 may be related 1703 and split into virtual displays 1710a', 1710b' in which the orientations of the virtual displays are defined relative to the left edge or the right edge. For example, as illustrated, one of the virtual displays 1710a' is right-side up with respect to the right edge, and the other virtual display 1710b' is in orientation upside down with respect to the right edge.
  • the change of orientation of the virtual displays may occur automatically due to a repositioning or reorientation of the display relative to a user, as illustrated, or due to a user request via a human-to-machine interface.
  • Fig. 18 is a schematic diagram of a device 1805 having restricted access to content via a wired or wireless network connection or even from within its own memory.
  • the device 1805 includes a bi-stable display 1806a and a refresh display 1806b. As illustrated, an examination 1810 is being rendered on bi-stable display 1806a. On the refresh display 1806b, user access to content and functions is illustrated.
  • a user may have access to a notepad application 1815a, but the user's access to a web application 1815b and email application 1815a is disabled. Therefore, the user of device 1805, while taking an examination 1810, may be able to take the examination in a similar manner as annotations can be applied or scribble notes while taking the examination via a notepad application 1815a.
  • the user of device 1805 is restricted from accessing a web application 1815b to access content via a network, such as the Internet.
  • the user of device 1805 is restricted from accessing an email application 1815c in order to communicate with other users. This functionality allows the device 1805 to be used in different settings, where access to certain content needs to be restricted for purposes of an examination. Further, interaction with a representation of the examination may be direct
  • Fig. 19 is a flow diagram of an example method 1900 that may be employed to limit access to content of functions of a device with an example embodiment of the present invention.
  • a device 1905a which is system A that is being used by an examination taker, for example, may be in communications with system B, which may be another device 1905b or a server 1906 controlled by an examination giver in this example.
  • the method begins at 1910a and 1910b.
  • the method determines if the user is requesting access to content or functions of the system 1905a. If not, the method continues to monitor user request.
  • the method determines, at 1935, whether access to such content or functions has been or is being limited by another system B, either the server 1906 or another system 1905b.
  • system B at 1915, sets access restriction to data and/or functions of system A.
  • system B determines whether to enable access restrictions. If access restrictions are not enabled, a user of system A is able to acquire content or functions requested at 1940a. However, if access restrictions are enabled, at 1925, system B generates a signal to limit access of data from a specified source or limits execution of functions of system A. The signal sent may be a disable signal 1926 that enables access restrictions of system A. Therefore, at 1935, the method determines that access to certain functions or content is limited.
  • a user requesting access to such content or functions of system A receives an error stating that the content or functions are blocked.
  • system A is able to determine whether such limitations have exceeded a disable time. If not, at 1930, the user may begin to request access to content or functions. If the disable time has been exceeded, then the system A, at 1946, can make a request for continued instruction from system B.
  • the devices may be configured to support master and/or slave modes, where master mode enables a device to control device(s) acting in slave mode, and vice-versa.
  • Fig. 20 is a schematic diagram of a device 2005a acting in a master mode used to control rendering of images on another device 2005b acting in a slave mode or to control functions at the slave mode devices or functions supporting slave mode devices to communicate with other devices or servers.
  • the device 2005a includes a bi-stable display 2006a which renders images 2008a in a bi-stable display format, and a refresh display 2006b which displays images in a refresh display format.
  • the device 2005a is acting in a master mode. In such a state, the device 2005a controls rendering of slave device(s), such as device 2005b.
  • the user of device 2005a is reviewing an image 2008a of page 1 of "A Tale of Two Cities” and a color illustration 2009a related to page 1.
  • the device 2005a can send a control signal 2010a via a wireless connection to the device 2005b, acting in a slave mode, to render an image 2008a of page 1 of "A Tale of Two
  • the device 2005a still acting in a master mode, has rendered page 2 of "A Tale of Two Cities” 2008b on the bi-stable display 2006a and color illustrations 2009b related to page 2 of "A Tale of Two Cities” on the refresh display 2006b. Because the device 2005a is still acting in the master mode, the device 2005a sends another control signal 2010b to the device 2005b, still acting in a slave mode, to render another image 2008b of page 2 of "A Tale of Two Cities” on the bi-stable display 2006a and the color illustrations 2009b related to page 2 on the refresh display 2006b.
  • master and slave modes facilitate the use of classroom instructions such that the user of a slave device is forced to follow along or guided through, depending on one's perspective, a tutorial session given by a professor using a device (or server or computer) acting in a master mode.
  • master and slave modes can be used to make certain that every user in a classroom setting is following along at the same pace.
  • Fig. 21 A is a timing diagram illustrating time division multiplexing (TDM) communications of a wireless network having communications with a plurality of devices, where the devices may be communicating for master or slave mode purposes or other purposes.
  • TDM time division multiplexing
  • a plurality of systems 2105a- «, or devices are assigned time slots 21 10a-n to transmit frames of messages.
  • a system A 2105a is assigned time slot 1 2110a for messaging
  • system B 2105b is assigned a second time slot B 2110b for messaging
  • system C 2105c and system D 2105d are assigned time slots 3 211 Oc and 4 211 Od, respectively.
  • This use of TDM allows a plurality of systems 2105a- « to communicate via one communications channel.
  • the devices 2105a- « may be acting in different master/slave states.
  • device A 2105a is acting in a slave mode
  • device B 2105b is acting in a master mode
  • device C 2105c is acting in a slave mode
  • device D 2105d is acting in a slave mode.
  • the devices are configured to be in different master/slave states, as well.
  • Fig. 21 A illustrates messaging using time division multiplexing, code division multiplexing access (CDMA) or other multiple access protocols may be used.
  • CDMA code division multiplexing access
  • Fig. 21 B is a network diagram illustrating wireless communications of a wireless network having communications with a plurality of devices, each acting in a master or slave mode.
  • the network includes a teacher device 2105a in communication with several student devices 2105b-d. Communications occur via a server 21 10 that coordinates master/slave states of the devices. Communications between the teacher device 2105a and student devices 2105b-d may occur wirelessly through a LAN antenna 2150.
  • the teacher device 2105a sends communication messages 2130 via the server 2110 to create a master/slave relationship with the student devices 2105b-d. Messages sent downstream from the server 2110 to the student devices may occur through multiplexing, as described in reference to Fig.
  • each of the devices, the teacher device 2105a and student devices 2105b-d, are assigned time slots for transmitting messages.
  • the teacher device 2105a sends communication messages 2130 via the server 2110 to coordinate master/slave states between the teacher device 2105a and the student devices 2105b-d.
  • student devices Upon receiving master/slave communications from the teacher device via the server 2130, student devices send confirmations upstream via the server 2110 to the teacher device 2105a.
  • master/slave states have been determined, messaging between the devices may occur.
  • a teacher using the teacher device 2105a can control classroom instructions once master/slave states of the devices have been coordinated via the server 2110.
  • the teacher device 2105a may be instructing students regarding math problems related to algebraic parabolas.
  • the teacher is able to ensure that students operating student devices 2105b-d are following along with the teacher device 2105a.
  • the teacher using teacher device 2105a may request one of the students operating one of the student devices 2105b-d to take over instructions and provide examples of solving a math problem.
  • the master/slave states of the devices may be renegotiated via the server 2110, allowing the student device 2105b to temporarily act in a master mode, thereby controlling other student devices and the teacher device while the student presents the math problem.
  • TDM states and timings are presented for illustration purposes only. To implement TDM or other multiplexing methodology to enable master/slave coordination and messaging exchanges, one would follow standards associated with the respective methodology, as well as understood in the art. The importance of the illustrations is with respect to the master/slave modes between the devices and optionally server(s), not with respect to a chosen communication protocol used to implement the modes. Fig.
  • the communications packet 2200 may include various message fields including a source address field 2201, destination address field 2205, and payload field 2210.
  • the source address field may hold information such as a hardware address of the device sending the packet 2200, an IP address of the device sending the packet 2200 or any other form of address identification of the device sending the packet 2200.
  • the destination address field 2205 may hold the hardware address, IP address, or any other type of address information relating to a destination device of the packet 2200.
  • the payload field 2210 holds data being sent between the two devices or with a server.
  • Figs. 23 A-C are flow diagrams of methods of operating a plurality of devices, each acting in the master or slave mode in accordance with an example embodiment of the present invention.
  • Fig. 23 A illustrates a method 2300a of initializing and negotiating master/slave modes between two devices 2305a, 2305b, referred to for the sake of description as the left device 2305a and the right device 2305b, based on their relative positions on FIG. 23 A.
  • the method begins at 2301a, 2301b for devices 2305a and 2305b, respectively.
  • the left device 2305a awaits to receive an initialization request for communication with another device from either its user or another device, such as another device or a server, via wireless communications.
  • the right device 2301b awaits an initialization request for communication with another device from its user or another device.
  • the left device 2305a receives an initialization request from its user 2303a
  • the left device 2305a at 2310a
  • the left device 2305a sends an initialization request 2312a to the right device 2305b.
  • the right device 2305b Upon receiving this initialization request, the right device 2305b, at 2310b, responds with initialization communications by sending an initialization request or response 2312b.
  • the left device 2305a negotiates with the right device 2305b for a master/slave mode. In doing so, the devices 2305a, 2305b send negotiation messages 2318 to each other..
  • the devices 2305a, 2305b determine whether they are acting in a master or slave mode. If the left device 2305a is acting in a master mode, at 2325a, the left device 2305a provides instructions to the right, now slave device 2305b, based on user interaction with the left, now master device 2305a. Then, at 2326a or 2326c, the method continues.
  • the left, now slave device 2305a at 2325b, awaits instructions from a master device, the left, now master device 2305b. Then, at 2326b and 2326d, the method continues.
  • the right device 2305b determines whether it is to be acting in a master or slave mode. At 2325c, the right device 2305b, if acting in a master mode, provides instructions to slave devices based on user interaction with the right, now master device 2305b. Alternatively, if the right device 2305b is acting in slave mode, at 2325d, the right, now slave device 2305b awaits instructions from a master device.
  • Fig. 23B is a flow diagram of a method 2300b of operating a plurality of devices acting in a master or slave mode.
  • the flow diagram illustrates the left device 2305a, acting in a master mode, communicating with the right device 2305b, acting in a slave mode.
  • the method begins for each device at 2326a and 2326b.
  • the left device 2305a, acting in a master mode awaits to receive user interaction. Until it receives user interaction, the left device 2305a continues to await user interaction, but, if it has, at 2355a, the left device 2305a renders an image based on the user interaction.
  • the left device 2305a sends instructions to the right device 2305b, acting in a slave mode, to render images according to the received user interaction with the left device 2305a (i.e., the left, master device 2305a causes the right, slave device 2305b to perform actions it is performing, in this example master/slave mode embodiment).
  • the right, slave device 2305b awaits to receive commands from the left, master device 2305a. If it has not, the right, slave device 2305b continues to await commands from the left, master device 2305a. If it has, at 2350, the right, slave device 2305b renders an image according to the commands. The method continues for each device at 2326a-d.
  • Fig. 23C is a flow diagram of a method 2300c of exchanging master/slave states between the left, master device 2305a and right, slave device 2305b.
  • the method for each device begins at 2326c and 2326d.
  • the right, slave device 2305b, at 2355b may send the right, master device 2305a request for renegotiation of master/slave modes. If the user of the right, slave device 2305b does not send such a request, the right, slave device 2305b, at 2360d, continues to act in a slave mode.
  • the right, slave device 2305b sends the request for renegotiation 2361 and awaits the response from the left, master device 2305a.
  • the left, master device 2305a monitors whether it has received a request from the right, slave device 2305b to renegotiate master/slave modes. If the left, master device 2305a does not receive such a request, at 2360a, the left, master device 2305a continues to act in a master mode. If, however, the left, master device 2305a does receive such a request, at 2365a, the user of the left, master device 2305a decides whether to allow such a renegotiation of master/slave modes. If the user of device 2305a does not wish to renegotiate, the left, master device 2305a responds with a rejection of the request.
  • the right, slave device 2305b receives the rejection, and, at 2360b, the right, slave device 2305b continues to act in a slave mode. If, however, the user of the left, master device 2305a does wish to allow such a renegotiation, at 2370, the left, master device 2305a sends an acknowledgment 2371 for the renegotiation of master and slave modes.
  • the right, slave device 2305b determines that it has received the acknowledgment to renegotiate master/slave modes. Then, at 2375a and 2375b, the devices 2305a, 2305b renegotiate master/slave modes via renegotiation messages 2376.
  • the left, master device 2305a switches to a slave mode
  • the right, slave device 2305b switches to a master mode.
  • the method, at 2326b continues for the right, now master device 2305b and the method, at 2326a, continues for the left, now slave device at 2305a. It should be understood that the methods 2300b, 2300c can be reversed in a case in which the left device 2305a is acting in a slave mode and the right device 2305b is acting in a master mode.
  • Figs. 24 A-C are flow diagrams of methods of operating a plurality of devices, each acting in a master/slave mode using intermediate server, in accordance with an example embodiment of the present invention.
  • Fig. 24A is a flow diagram of a method of initializing and negotiating master/slave modes via an intermediate server between two devices, 2405a, 2405b, referred to for the sake of description as the left device 2405a and the right device 2405b, based on their relative positions on FIG. 24A.
  • the method begins for each device at 2401a-c.
  • the left device 2405a awaits to receive an initialization request for a communications session with another device.
  • the right device 2405b awaits to receive an initialization request for a communications session with another device.
  • an intermediate server 2410 awaits to receive communications to pass to a specified device.
  • the left device 2405a or the right device 2405b may receive an initialization request from either user 2402a or 2402b, respectively. Alternatively, each device may receive initialization requests from the other device.
  • the left device 2405a receives an initialization request 2402a from its user 2402a.
  • the left device 2405 a determines it has received an initialization request.
  • the left device 2405a begins initialization communications with the right device 2405b.
  • the left device 2405a begins its initialization by sending an initialization request 2413 via intermediate server 2410.
  • the intermediate server 2410 receives the request 2413 to pass to a specified device, being the right device 2405b.
  • the intermediate server 2410 passes the communications to the right device 2405b.
  • the right device 2405b receives the initialization request from the left device 2405a.
  • the right device 2405b initializes communications with the left device 2405a by sending an initialization acceptance 2414b via the intermediate server 2410.
  • the intermediate server 2410 receives the initialization request.
  • the intermediate server 2410 passes the communications to the specified device, being the left device 2405a.
  • the left device 2405a receives the initialization communication.
  • the left device 2405a then sends a negotiation communication 2421a via server 2410.
  • the intermediate server 2410 passes the negotiation communications to the right device 2405b.
  • right device 2405b responds with negotiation communications 2421b.
  • each device determines whether it is to be acting in a master or slave mode.
  • the left device 2405a if acting in a master mode, at 2435a, provides instructions to slave devices, such as right, now slave device 2405b, based on received user interaction. If, however, the left device 2405 a is acting in a slave mode, at 2435b, the left, now slave device 2405a awaits instructions from a master device, such as the right, now master device 2405b.
  • the right device 2405b determines that it is acting in a master mode, at 2435a
  • the right, now master device 2405b provides instructions to slave devices, such as left, now slave device 2405a, based on received user interaction.
  • the right device 2405b determines that it is acting in a slave mode, at 2425d, the right, now slave device 2405b awaits instructions from a master device, such as the left, now master device 2405a. The method for each device continues at 2436a-d.
  • Fig. 24B is a flow diagram of a method 2400b operating a plurality of devices each acting in a master/slave mode using intermediate server.
  • the devices include the left device 2405a, acting in a master mode, intermediate server 2410, and right device 2405b, acting in a slave mode.
  • the method begins for each device at 2436a-c.
  • the left, master device 2405a awaits to receive user interaction. If it has not, the left , master device 2405a continues to await user interaction. If the left, master device 2405a receives user interaction, at 2442a, the left, master device 2405a renders an image on the appropriate display. Subsequently, at 2445, the left, master device 2405a sends commands to the right, slave device 2405b via intermediate server 2410 to render an image.
  • Intermediate server 2410 awaits to receive the communications to pass to a specified device. If the intermediate server 2410 has not received communications, it continues to monitor for received communications. If the intermediate server 2410 does receive communications from the left, master device 2405a, at 2440b, the intermediate server 2410, at 2450, passes the commands to the specified device, being the right, slave 2405b.
  • the right, slave device 2405b awaits to receive commands from the left, master device 2405a via intermediate server 2410. If the right, slave device 2405b has not received commands, it continues to monitor for received commands via the intermediate server 2410. If the right, slave device 2405b does receive commands from the left, master device 2405a via intermediate server 2410, at
  • the right, slave device 2405b renders an image on the appropriate display of the right, slave device 2405b, according to the received commands from the left, master device 2405 a.
  • the method continues, for each device, at 2436a-f.
  • Fig. 24C is a flow diagram of a method 2400c of operating a plurality of devices each acting in master or slave mode using an intermediate server to renegotiate master and slave modes.
  • the left, master device 2405a is in communication with the right, slave device 2405b via the intermediate server 2410.
  • the method begins for each device at 2436d-f.
  • the right, slave device 2405b monitors whether its user wishes to request to renegotiate master and slave modes with the left, master device 2405 a. If such a request is not detected, the right, slave device 2405b, at 2456b, continues to act in a slave mode.
  • intermediate server 2410 monitors for communications to be passed to a specific device. If the intermediate server 2410 has not received communications to pass to another device, at 2455, the server 2410 continues to monitor for communication messages. If the intermediate server 2410 does receive a communication that needs to be passed to another device, at 2460c, the intermediate server 2410 passes the received communications to the specified device.
  • the left, master device 2405a monitors for received requests from a slave device, such as the right, slave device 2405b to renegotiate master and slave modes. If, at 2455a, the left, master device 2405a has not received such a request, at 2456a, the left, master device 2405a continues acting in a master mode and, at 2436a, the method continues. If, on the other hand, the left, master device 2405a does receive such a request from the right, slave device 2405b to renegotiate master and slave modes, at 2460b, the left, master device 2405a determines whether its user wishes allow a renegotiation of master and slave modes.
  • a slave device such as the right, slave device 2405b to renegotiate master and slave modes.
  • the left, master device 2405a sends a rejection 2461b to the right, slave device 2405b via intermediate server 2410.
  • the right, slave device 2405b receives the rejection, and, at 2456b, the right, slave device 2405b continues acting in a slave mode.
  • the method, at 2436c, continues.
  • the left, master device 2405a sends an acknowledgment for the renegotiation of master and slave modes.
  • the acknowledgment 2466a is sent via intermediate server 2410.
  • the right, slave device 2405b receives the acknowledgment.
  • the right, slave device 2405b begins renegotiations with the left, master device 2405a for a switch of master/salve modes.
  • the right, slave device 2405b then sends a renegotiation communication 2476a via intermediate server 2410.
  • the left, master device 2405a receives the renegotiation communication, and responds with renegotiation communications 2481a.
  • the left, master device 2405a switches to a slave mode, and contemporaneously the right, slave device 2405b, at 2490b, switches to a master mode.
  • the method for the left, now slave device 2405a continues at 2436a, while the method for the right, now master device 2405b continues at 2436a.
  • Figs. 25 A-B are flow diagrams of a method 2500a of operating devices acting in a slave mode in combination with a central server acting in a master mode.
  • Fig. 25 A is a flow diagram of a method of initializing and negotiating master/slave modes between an intermediate server2510 and two devices, 2405a, 2405b, referred to for the sake of description as the left device 2405a and the right device 2405b, based on their relative positions on FIG. 25 A.
  • the server 2510 is in communication with devices 2505a and 2505b. The method begins for each device at 2501a-c.
  • the server 2510 initializes Communications with devices 2505a and 2505b by sending an initialization communication 2507a to the left device 2505a and sending an initialization communication 2507b to the right device 2505b.
  • the left device 2505a monitors for received initialization requests.
  • the left device 2505a If the left device 2505a has not received an initialization request, the left device 2505a continues to monitor for such an initialization request. Similarly, at 2508b, device 2505b awaits for an initialization request. If the right device 2505b has not received a communication request, the right device 2505b continues to monitor for an initialization request. On the other hand, if the left device 2505a receives an initialization communication 2507a, at 2520a, the left device 2505a negotiates with server 2510 for a server mode as master in a communication session. Similarly, the right device 2505b, at 2520b, upon receiving an initialization request from intermediate server 2510 at 2508b, negotiates with the server 2510 for the server mode as master in a communication session.
  • the server 2510 negotiates with the left device 2505a and right device 2505b for a master mode in the communication session by sending a negotiation command 2513a to the left device 2505a, and a negotiation command 2513b to the right device 2505b.
  • the intermediate server now acting in a master mode provides instructions to the devices for rendering images.
  • the server 2510 sends instruction 2526a to the left device 2505a.
  • server 2510 sends instruction 2526b to the right device 2505b.
  • device 2505a awaits instructions from the server 2510.
  • the right device 2505b awaits instructions from server.
  • the method continues for the left device 2505a at 2531 a, the method continues for server 2510 at 253 Ib, and the method continues for the right device 2505b at 253 Ic.
  • Fig. 25B is a flow diagram of a method 2500b of operating devices acting in a slave mode in combination with a server acting in a master mode.
  • the method begins for server 2510, at 2531b, for the left device 2505a, at 2531a, and the right device 2505b, at 2531c.
  • the server 2510 monitors for user interaction. If the server 2510 has not received user interaction, it continues monitoring for such user interaction. If, however, the server 2510 receives user interaction, at 2540, the server 2510 passes commands to the left device 2505a and right device 2505b, each acting in a slave mode, to render images according to the user interaction.
  • the server 2510 passes instructions 2541a to the left device 2505a and instructions 2541b to the right device 2505b.
  • the left device 2505a monitors for received commands from server
  • the left device 2505a Upon receiving a command from the server 2510, at 2550a, the left device 2505a renders images according to the commands. Similarly, at 2545b, the right device 2505b monitors for received commands from server 2510. Upon receiving such commands, at 2550b, the right device 2505b renders images according to the commands. The method continues, at 253 Ia, for the left device 2505a, at 253 Ib ,for server 2510, and, at 2531c , for the right device 2505b.
  • FIGS. 26A-D illustrate an example application of the device, namely annotating a source reference, storing the annotations with coding to enable later retrieval with accurate presentation with respect to the source reference, and sharing the annotations with users of other devices.
  • Fig. 26A is a graphical diagram of content of a primary source (e.g., pages of a text book) annotated by a user of a device 2605.
  • the device 2605 includes a bistable display 2606a and a refresh display 2606b.
  • Content of the primary source may be rendered on the bi-stable display 2606a as an image 2608.
  • an image of the primary source may be rendered on the refresh display 2606b.
  • the difference between the rendered images is that, with today's bi-stable displays, the image rendered on the bi-stable display 2606a is grey-scale and us updated slowly, such as when flipping to a next page of an electronic book, while the image rendered on the refresh display 2606b may be full color and updates very quickly, such as faster than video rates of 30 frames per second or more.
  • the advantage of the bistable display 2606a is in its very low power consumption, but at an expense of color and refresh rate.
  • a user may annotate the primary source via either display 2606a or 2606b to include information used to supplement the content. For example, the user may include annotations 2630a-h that provide some additional information to be associated with the primary source for optional future reference.
  • the user may include hand-written annotations 2630a-b, textual annotations 2630c, link annotations 263Od, multi-media annotations such as video annotation 263Oe, sound annotations 2630f, attachment annotations 263Og, or highlighted annotations 263Oh.
  • Other example annotations may include graphical annotations or formatting annotations.
  • annotations may be associated with the primary source (or representation thereof) in a number of ways, including: graphical overlay in a separate layer; inline or embedded association in a form of in-line text, modified text, and so forth in a same graphical layer as the primary source; softbutton or icon located in the same or different layer as the primary source; and so forth, as understood in the art.
  • Fig. 26B is a block diagram of an annotations module used to annotate content of a primary source.
  • the annotations module 2640 includes a device indicator module 2645, primary source identifier module 2650, annotations indicator 2655, and positional indicator 2660.
  • the annotations module 2640 associates information with the representation of the annotation.
  • the annotations module 2640 may associate a unique user device indicator (i.e., identifier) via the device indicator module 2645 to a representation of the annotation that identifies the specific device used to apply the annotations to the primary source.
  • the device indicator module 2640 may also associate a unique user indicator that identifies a person that was using the device.
  • the device may have a biometric sign-in (e.g., fingerprint reader, iris reader, or voice identifier) that allows the device indicator module 2640 to determine that a given person made a particular annotation based on the sign-in information.
  • a user may provide annotations using a stylus pen (not shown) having a unique code, recognizable by the device, that identifies the person who owns the pen.
  • a unique code that rides on or modulates the RF signal and identity of the person who owns the stylus pen may be registered with a central registry (not shown).
  • annotations uploaded to an annotations server may include or otherwise be associated with the code, and the annotations server may access the central registry and associate with the annotations an identity of the person associated with the unique code.
  • the device indicator module 2640 may associate a specific person with the annotation.
  • annotations module 2640 may provide a primary source identifier using the primary source identifier module 2650 that identifies the primary source upon which the annotation is applied.
  • the annotations module 2640 may use an annotations indicator 2655 that monitors where the annotation is applied relative to the primary source in conjunction with positional indicator 2660 that indicates a position of the primary source to which the annotation was applied.
  • the annotations with associated information may be referred to herein as coded annotations.
  • FIG. 26C is a flow diagram of a method of annotating content of a primary source by a user of a device.
  • the method begins.
  • the device, at 2612 monitors whether it has received user interaction with an image rendered via at least one of the device's displays. If the device has not received such a user interaction, the device, at 2612, continues monitoring for user interaction. If the device has received user interaction with an image rendered via at least one of the device's displays, at 2615, the device determines if the user interaction includes the annotation of a primary source by a user. If the user interaction does not include an annotation with a primary source, the device, at 2620, processes the user interaction, accordingly. The method, at 2611, continues.
  • the device If, however, the user interaction does include an annotation to a primary source, the device, at 2625, associates information such as a unique user device indicator, primary source indicator, and annotation positional indicator, to a representation of the annotation.
  • the device stores the representation of the annotation in storage.
  • the device or any other device may optionally retrieve the annotation from storage. The method, at 261 1 , continues.
  • information may be associated with a representation of an annotation. This information may be useful to identify a device used to create the annotation, primary source upon which the annotation was applied, and position with respect to the primary source of the applied annotation.
  • a collaboration-indication code and time code may be associated with the representation of the annotation.
  • the collaboration-indication code may be used to identify users annotating a primary source via a single device, or users annotating a primary reference during a single session, such as a tutorial session, classroom instruction, or boardroom meeting. As illustrated in the Table above, the collaboration-indication code identifies users applying annotations to a primary source and the user that applied a specific annotation.
  • the collaboration- indication code may be useful for forensic purposes, such as identifying users applying annotations collaboratively, and metrics to identify benefits of collaborative work.
  • Fig. 26D is a block diagram illustrating storage and acquisition of annotations or notes by the device 2605. It should be understood that acquisition of the annotations may also be performed by other devices.
  • the device 2605 may include a bi-stable display 2606a and a refresh display 2606b or a single display of either type.
  • the user of the device has applied a note in the form of an annotation, which may be referred to herein as "dirty" before coding or other processing has been applied.
  • the user may include more than one note 261 la-n.
  • the user of device 2605 may wish to store the notes in a storage device. The user may then upload the note to a content management store 2610.
  • the content management store may store 2610 notes from a professor 2607a or various other notes associated with a primary source, such as from a profession notes service 2607b.
  • a global user ID (GUID) 2613 may be associated with each note. The GUID may be used to identify the user who created the note or what device was used to create the note. Many other forms of IDs may also be applied.
  • many different codes such as those described above in terms of identifying a particular book, version, page number, line number, spatial position, orientation, collaboration may also be stored with the note at the web store 2662 and later retrieved with the note.
  • a user who purchases an annotation or a note may access a link, associated with the annotation or provided in the note, pointing to a uniform resource locator (URL) of a webstore from which to purchase content associated with the note.
  • the codes may be considered an annotation code or as type of metadata, depending on ones point of view.
  • These notes may be transferred to other users via a web store 2662, accessible via a standard or customized dashboard.
  • the web store 2662 may be accessible by customers via an interface 2663.
  • other users may purchase or otherwise obtain notes, new books, or products 2665a.
  • the web store 2662 may be in communications with an enterprise resource platform 2675 via a communication link 2670.
  • the enterprise resource platform 2675 may provide an accounting warehouse, employee information, vendor information, inventory management capabilities, and business intelligence capabilities.
  • Fig. 26E is a block diagram illustrating storage and retrieval of multiple versions of a single note (or annotation or other user-generated content such as audio or video content).
  • a user of a first device 2605a may create a note 2691a associated with content the user of the first device 2605a may be accessing.
  • the note 2691a as stated in reference to Fig. 26D, may have information (e.g., metadata) associated with it.
  • the user may then decide to upload the note 2691a to the content management server 2610 for storage, later retrieval, or distribution to other users.
  • a user of a second device 2605b may then wish to download the note 2691a.
  • the user of the second device 2605b may have found the note 2691a through a search of the content management server or otherwise have been notified of its existence and availability. Upon retrieving the note 2691a, the user of the second device 2605b may wish to edit the note 2691 a. The user may wish to edit the first note 2961 a for a multitude of reasons, such as for correcting an error or adding additional information. Following editing of the first note 2691a, the user of the second device 2605b, has created a second version 2691b of the first note 2691a. This second version 2691a may then be uploaded to the content management server 2610. The editing process may continue through an n ⁇ user of an rP device 2605n.
  • Different versions of notes may be illustrated in the content management server 2610 numerically or through the use of color differentiation or other technique.
  • the figure illustrates users editing a note to create several versions 2691a- « of the single note, any type of media content (e.g., audio, video, etc.) may be amended to have several versions.
  • Fig. 26F is a block diagram illustrating the relationship between different versions of annotations.
  • each note may be assigned a Global User ID (GUID).
  • the GUID of an original annotation (or note), or the first version of the annotation may be referred to as a root parent annotation, and the GUID is considered a root parent ID.
  • Each subsequent version of the annotation may be referred to as a child annotation, and the GUID may then be referred to as a child ID.
  • Each child annotation may be the parent annotation of a subsequent version.
  • a child annotation may include metadata that refers to its parent annotation. This reference allows a user who acquires an annotation to track the progression of edits made to the most current version of the annotation all the way back to the original or root parent annotation.
  • a user Sally may create a root parent annotation 2680a. Subsequently, n versions of the root parent annotation 2680a may be created.
  • Each version of an annotation may include embedded data, such as metadata, that refers to its parent annotation.
  • Kim and Mark have created the most recent child annotations 268Oh and 268Oj (versions) of Sally's root parent annotation 2680a.
  • Kim's annotation 268Oh includes metadata that refers to its parent annotation, which is child annotation 'G,' created by Jim.
  • Mark's annotation 268Oj includes metadata that refers to its parent annotation, which is child annotation 'I,' created by Nikhil.
  • Each child annotation, as illustrated refers to its parent annotation, leading back to the original, or root parent annotation 'A,' created by Sally.
  • an annotation may be the child of more than one parent annotation.
  • annotation ⁇ G,' created by Jim may be the child annotation of both annotation 'D,' created by John, and annotation 'E,' created by Thomas. Jim may have originally edited one of the annotations, and then copied content from the other annotation. Upon copying, the copied text may contain embedded data, referencing its source.
  • referencing of parent annotations allows an author of an annotation to maintain rights to versions of the author's annotation.
  • referencing of parent annotation(s) may prevent, be used to prevent, or be used to identify plagiarism of annotations .
  • a centralized annotation versions database (not shown) at an annotations server (not shown) may store all of the relationships among the annotations. In that way, deletion of a child annotation from a middle portion of a chain of annotations versions does not prevent future determination of an annotation's lineage all the way back to the root parent annotation.
  • annotations are illustrated as having metadata indications of itself and its immediate predecessor annotation(s) (parent annotation(s))
  • the metadata may include any number of metadata indications, including metadata indications all the way back to the parent annotation. However, keeping the number of metadata indications to a small number allows for better scalability.
  • FIGS. 27-30 illustrate an embodiment of the invention in which a device includes two displays, such as a bi-stable and refresh display or other different display types, in which a user may view content on one display, having a set of characteristics, such as grey-scale in the case of a bi-stable display, but have a preference or need to see the content via the other display, having a different set of characteristics, such as color or higher refresh rate in the case of a refresh display (e.g., color LCD display).
  • a refresh display e.g., color LCD display
  • Fig. 27 is a diagram of an image 2708 rendered on a bi-stable display 2706a of a device2705 that may be selectively rendered, in part or in whole, on a refresh display of the device 2705.
  • an image 2708 is rendered on the bistable display 2706a.
  • the image 2708 to be displayed via the bi-stable display 2706a may be first rendered by software using an image buffer in a color RGB (red green blue) pixel image format.
  • the data in the buffer may be passed to a graphical display library, which renders the image as a grey scale image via the bi-stable display 2706a.
  • the original image buffer may be retained for use by a snapshot tool, which may be implemented via hardware, firmware, or hardware configured by software. If and when a user chooses to display a portion of the current image rendered on the bi-stable display 2706a on the refresh display 2706b, the user may invoke a snapshot tool (e.g., accessed by "clicking" on a camera icon (not shown)) on the bi-stable display 2706a. A single click on the camera icon may activate the snapshot tool. If the user selects the camera icon a second time, a controller (not shown) inside the device 2705 transfers the complete image 2708 rendered on the bi-stable display 2706a to be rendered via the refresh display 2706b.
  • a snapshot tool e.g., accessed by "clicking" on a camera icon (not shown)
  • the user may select the camera icon one time and choose to select a portion of the image 2708 by dragging a stylus (e.g., cursor controlled b y a computer mouse) over a region of the image 2708.
  • a stylus e.g., cursor controlled b y a computer mouse
  • the point at which the user first contacts the stylus to the display 2706a is considered the start point and, when the user raises the stylus from the display 2706a, that point is considered the end point.
  • the two points may be translated by the controller to minimum and maximum values (or other values) in x and y directions to determine the region of the image buffer to transfer to the refresh display 2706b.
  • BMP bitmap
  • JPEG joint photographic experts group
  • TEZ tagged image file
  • PNG portable network graphic
  • IP Internet Protocol
  • Fig. 28 is a diagram of an image 2808 rendered on a bi-stable display 2806a of the device 2805, a portion 2807a of which is illustrated as being selectively rendered on a refresh display 2806b of the device 2805 according to user selection.
  • An image 2808 is rendered on the bi-stable display 2806a.
  • a user has defined a user-selected portion 2807a of the image 2808 through marking thereon two points, such as an upper left and lower right pair of points 2807-UL and 2807-LR, respectively, defining a size and shape of a rectangle, via a human-to-machine interface, such as a touch screen.
  • the selection 2807a is then rendered as an image 2809, 2807b via the refresh display 2806b according to the methods described in reference to Fig. 27, among others.
  • Fig. 29A is a diagram illustrating a "swept" selection area 2907a of an image
  • the sweep region 2807a specifies a portion of a primary source to be rendered in full content view via the refresh display 2906b (e.g., color, animation).
  • a user may sweep a region 2907 of an image 2909 rendered on the refresh display 2906b to be rendered via the bi-stable display 2906a to enable users to annotate representations of content within the region or simply to view the representations of content on a low power, bi-stable display.
  • swept in reference to a selection of the portion of the image is a reference to placing a cursor at a first position of the image, dragging the cursor across the image, and lifting the cursor at a second position of the image, a technique well understood in the art of user interaction with a graphical user interface.
  • Alternative techniques to sweeping may include pre- specifying a shape and size of a geometric shape, such as a square, circle, rectangle, hexagon, and so forth, and pre-specifying a position of user-selection point (e.g., center) relative to the geometric shape that the user specifies to define an image area to render from one display to the other.
  • Fig. 29B is a block diagram of controllers passing messages from a bi-stable display to a refresh display 2906b indicating that a selection of an image should be rendered on the refresh display 2906b, or vice-versa.
  • a bi-stable display controller 2912a receives a user selection input 2920.
  • the bi- stable display controller 2912a sends a message 2925 with (or referencing) location parameter(s) (e.g., upper left, lower right) of the user selection input 2920 to an IP socket 2926 of the refresh display controller 2912b.
  • Other example parameters may include center/radius, for a circle, column/line/character for text, major axis length/minor axis length for an ellipse, and so forth.
  • Fig. 29C is a flow diagram of a method of rendering at least a portion of an image rendered on a first display onto a second display based on user interaction with a display or image thereon. The method begins at 2901.
  • the method 2900 determines whether a user has entered a selection of content (e.g., interacted with the content) rendered on a bi-stable (or refresh) display of the device. If so, at 2935, the bi-stable display causes the refresh display to render the selection of the content. The method 2900 then continues at 2931. Otherwise, if, at 2930, user interaction with content rendered on the bi-stable (or refresh) display was not received, at 2940, the method 2900 determines whether the device has accepted user interaction with content rendered on a refresh display. If so, the refresh display, at 2945, causes the bi-stable display to render a selection of the content. The method 2900 then continues at 2931. Similarly, if the refresh display has not accepted user interaction, the method continues at 2931.
  • the bi-stable display causes the refresh display to render the selection of the content.
  • Fig. 30 is another block diagram of controllers passing messages from a bistable display to a refresh display indicating a selection of an image to be rendered on the refresh display.
  • the device 3005 includes a bi-stable display 3006a including a touch screen 2008a and a refresh display 3006b including a touch screen 3008b.
  • the bi-stable display 3006a is operationally coupled to a bi-stable display controller 3012a; similarly, the refresh display 3006b is operationally coupled to a refresh display controller 3012b.
  • the bi-stable display controller 3012b may also include an image buffer 3012, and a refresh display controller 3012b may include a view manager 3012c.
  • the device 3005 utilizes content storage 3010, which stores content (e.g., books), as well as a microprocessor 3015 in order to transfer images from one display to another.
  • the bi-stable display controller 3012a receives, from the microprocessor 3015, a display image 3016 in which the bi-stable display controller renders the image 3014 in a bi-stable display format via the bi-stable display 3006a.
  • the bi-stable display 3006a may then receive user input 3016 via the touch screen 3000a with an image rendered via the bi-stable display 3006a.
  • the user may select a region of the image 3020, and the bi-stable display controller 3012a, in response, writes the portion of the image parameters 3025 to content storage 3010. Contemporaneously, the bi-stable display controller 3012a sends the image portion parameters 3030 to the refresh display controller 3012b.
  • the refresh display controller 3012b then sends an intention message 3031 to a view manager 3012c, which may, optionally, be within the refresh display controller, signaling that the selection of the image is to be rendered via refresh display 2006b.
  • the view manager 3012c reads a bitmap (BMP) or other formatted file 3033 from the content storage 3010, which was written by the bi-stable display controller 3012a. Once the view manager 3012c reads the file, it displays the image with full content via the refresh display in a refresh display format.
  • BMP bitmap
  • example block diagram may be modified or repeated to enable user selection of a portion of an image rendered on the refresh display for rendering on the bi-stable display.
  • Other components, modules, communications, storage elements and formats that enable selective image rendering may also be employed.
  • capturing and storing sound within the environment may be useful to users, such as in a classroom setting to enable a student to annotate classroom notes or a source reference with a sound recording.
  • Standard directional microphone(s) may be employed or specially configured microphone(s) may be employed to reduce echo due to multipath of sound within the environment, such as an instructor's voice traveling directly to the microphone(s) and reflected by a wall to the microphone(s).
  • Noise reduction techniques specific to a configuration of the microphone(s) may be employed, such as to reduce common mode noise at a pair of microphones, such as due to ventilation noise.
  • the examples of microphone configurations, and optional noise reduction are described below in reference to Figs. 31A-34B.
  • Fig. 31 A is a schematic diagram of a device 3105 with indications of location(s) of microphone(s).
  • the device 3105 includes two displays 3106a and 3106b coupled by a rotational hinge in this example embodiment. In alternative embodiments, the device may be a single display with microphone(s) configured therewith
  • the device 3105 includes a chassis 3102 with a base surface 3103b and vertical surface 3103a.
  • the chassis 3102 defines an opening 311 Oa through a vertical surface 3103 a of the chassis 3102.
  • the chassis 3102 may also include an opening 311 Ob through an opposing vertical surface 3109c.
  • the openings 311 Oa and 3110b may be slots or other geometric shapes configured to pass sound waves from an exterior of the chassis to an interior of the chassis, optionally with or without filtering characteristics.
  • Fig. 3 IB is a schematic diagram illustrating example operational components of a microphone of Fig. 31 A.
  • an opening 311 Oa is defined on a vertical surface 3103a of a chassis 3102.
  • a microphone 3112 within the chassis 3102 includes a diaphragm 3115, structural member 3125, and pressure zone 3120 defined therebetween.
  • the diaphragm 3125 is arranged in an acoustical arrangement with the opening 311 Oa and in parallel arrangement with the structural member 3125 at a distance from the structural member 3125 to form the pressure zone 3120.
  • the distance, or pressure zone 3120 is known to mitigate interference caused by a phase difference between a direct sound wave and a reflected sound wave, each emanating from a common source and each entering the pressure zone via the opening 3110a.
  • the reflected sound wave is substantially the same as the direct sound wave, but is reflected off a surface external from the chassis 3102.
  • the microphone 3112 is configured to produce electrical signals representative of at least the direct and reflected sound waves based on a combined effect on the diaphragm 3115.
  • Fig. 31C is a schematic diagram of an open-frame microphone 3112 illustrating conversion of sound waves into electrical signals of Fig. 3 IA.
  • the microphone 3112 is configured to produce electrical signals 3135 representative of sound waves 3130, including at least direct and reflected sound waves 3130 emanating from a common source (e.g., an instructor in a classroom).
  • a common source e.g., an instructor in a classroom.
  • the sound waves 3130 enter a pressure zone 3120, in part defined by a height above the structural member 3125 and below the diaphragm 31 15.
  • the diaphragm 31 15 is vibrationally sensitive to the sound waves, and, as a result, produces the electrical signal 3135 as a function of the sound waves 3130 acting upon it from within the pressure zone 3120.
  • Fig. 32 A is a schematic diagram of a noise reduction module 3220 operationally coupled to a plurality of microphones (i.e., at least two) 3210a, 3210b associated with an electronic device, such as the device 3105 of Fig. 3 IA.
  • the microphones 3210a, 3210b are configured to produce electrical signals representative of sound waves, as described immediately above.
  • a first of two microphones 3210a, 3210b as illustrated detect sound waves from a fan 3206 as well as teacher sound waves 3227 generated by a first person, such as a teacher lecturing in a classroom setting.
  • a second of the two microphones 3210b detects fan sound waves 3206 from the same fan as detected by the first of two microphones 3210a as well as sound waves 3226 generated by a second of the two persons, such as a student.
  • the microphones 3210a, 3210b produce electrical signals as a function of their respectively sensed sound waves and pass their respectively produced electrical signals 3235a, 3235b to the noise reduction module 3220.
  • the noise reduction module 3220 is configured to process the electrical signals 3235a, 3235b and output a noise-reduced electrical signal 3230 by subtracting the first electrical 3235a signal from the second electrical signal 3235. Subtracting (or otherwise combining) the electrical signals 3235a, 3235b produces the output electrical signal 3230, in this case, with teacher and student sound waves (e.g., voices) with minimal fan noise 3230 because the fan sound waves 3206 are substantially the same as received by both microphones 3210a, 3210b (i.e., are observed as common mode noise), so subtracting (or otherwise combining) their counter buttons within two electrical signals 3235a significantly reduces the amount of fan sound waves 3206 represented in the output electrical signal 3230.
  • teacher and student sound waves e.g., voices
  • the noise reduction module 3220 is configured for the electrical filtering of sound waves through the elimination of common mode sound waves.
  • the noise reduction module is able to minimize ambient noise detected by microphones 3210a and 3210b and produce an output electrical signal 3230 principally representing desired sound.
  • Fig. 32B is a schematic diagram illustrating a microphone capturing direct and reflected sound waves from a common source. Sound waves can travel in a straight line, bend, or travel in multiple directions due to reflections off surfaces; therefore, sound waves from a common source may be reflected off several surfaces and travel to the microphone via different angles. As illustrated in Fig.
  • sound waves from a common source 3227 enter a pressure zone 3220 of microphone 3212 via an opening 3210a.
  • the sound waves may travel directly from the source to the microphone 3212 or travel indirectly to the microphone 3212 by traveling from the source to the microphone by reflecting off a surface 3211.
  • the diaphragm 3215 in parallel arrangement with structural member 3225, is at a distance known to be a pressure zone 3220 that mitigates interference caused by a phase difference between the direct sound wave and the reflected sound wave to provide a high quality frequency sound recorded by a device in the form of numerical representations, for example, to a computer readable memory in an electrical representation to be sampled.
  • 32C is a schematic diagram illustrating a position of a diaphragm of a microphone that facilitates mechanical filtering of sound waves.
  • the diaphragm 3215 is arranged in an acoustical arrangement with the opening 3210 and in parallel arrangement with the structural member 3225 at a distance from the structural member 3225 to form the pressure zone 3220.
  • the placement of the diaphragm 3215 in relation to the opening 3110 and structural member 3225 allows only sound waves from certain angles to be detected by the diaphragm 3215.
  • the diaphragm 3215 is most sensitive to sound waves coming from within a conical direction 3240.
  • Fig. 32D is a schematic diagram of the device 3205 capturing sound via microphones each positioned on a different edge or surface of the device.
  • the device 3205 captures sounds via two openings 3210a and 3210b acoustically coupled to microphones within the device 3205.
  • An on-axis opening 3210a is positioned on an on-axis side of the device 3205
  • an off-axis opening 3210b is positioned on an off-axis side of the device 3205, where on-axis and off-axis sides can refer to teacher side and student side, or other designations, respectively.
  • the positioning of the microphones within the device 3205 allows the microphones to capture sound waves useful to a user of device 3205 while enabling significant noise reduction through as little as subtraction of electrical signals produced by the microphones.
  • Fig. 33 is a block diagram illustrating an example apparatus that can be employed to record sound waves into a content database and to access the recorded sounds from the database.
  • Captured sounds 3320 received from a microphone of a device is received by a sound recorder 3317.
  • the sound recorder 3317 may allow a user to preview and potentially re-record a recording then (or before) store the captured sound 3320 to memory, which may be a form of a content database 3310.
  • the second recorder 3317 may also allow a user to enter a title and description for the recording.
  • the sound recorder 3317 may then pass recorded sound to a media player 3315, which may create a sound file 3330 in which the sound record 3317 may insert a content record 3335 into the content database 3310. Later, a user can retrieve the sound recorded file from the content database 3310 using a Uniform Resource Indicator (URI) 3340.
  • URI Uniform Resource Indicator
  • Figs. 34A-B are flow diagrams of a method 3400 of mitigating sound interference received by a microphone and producing a noise reduced signal in accordance with an example embodiment of the present invention.
  • the method 3400 begins for a first microphone 3401, at 3405a, and a second microphone 3402, at 3405b.
  • the first microphone 3401 awaits to receive sound waves.
  • the second microphone 3402 awaits to receive sound waves.
  • each microphone automatically mitigates as a function of pressure zone, sound interference due to phase differences between direct and reflected sound waves from a common source.
  • the example method 3400 illustrated an embodiment by which an arming technique may be employed and a triggering event, such as a threshold volume of captured sound by at least one of the microphones, enables capturing of further sound via the microphone pre-recording (not shown) may be employed to ensure clipping at a leading edge of sound capture does not occur.
  • a triggering event such as a threshold volume of captured sound by at least one of the microphones
  • the first microphone produces a first electrical signal representative of the sound waves received.
  • the second microphone 3402 produces a second electrical signal representative of the sound waves received.
  • the first microphone passes the first electrical signal to a noise reduction module.
  • the second microphone 3402 passes the second electrical signal to the noise reduction module.
  • Fig. 34B begins at 3430a and 3430b.
  • the noise reduction module subtracts a received first electrical signal from a received second electrical signal and produces a noise reduced signal.
  • the noise reduced signal is primarily a common mode noise reduced signal (e.g., the same amplitude and phase sound is received at both microphones subtracts to be essentially zero). More sophisticated noise reduction techniques known in the art may also be employed.
  • the noise reduced signal may be stored.
  • content displayed on a display of a device may be annotated by a user with the recorded signal.
  • the recorded signal may be annotated with states of the device (e.g., content being displayed during the recording), such that during playback of the recorded signal, the device may render the content displayed during the recording of the recorded signal. Likewise, returning the device to a previous state may enable the device to produce the recorded signal while the device is in that state.
  • the method ends.
  • Fig. 34C is a block diagram of a device, system, network node, server, or other electronic device that employs a metric calculation unit and an audio selection unit to process audio recordings.
  • a metric calculation unit 3465 receives a plurality of audio recording 3460 from a plurality of devices, such as the devices 105 (FIG. 1) used by students in a classroom.
  • the audio recordings may have associated information or metadata associated therewith, where the information or metadata may be, for example, a unique user device indicator identifying a device via which at least a portion of the audio recording was captured, collaboration-indication code identifying other devices active during a session in which the device captured the audio recording, or an identifier of the session during which the device captured at least a portion of the audio recording.
  • the metadata may be used for forensic purposes, such as identifying active participants during a session, such as a tutorial session, classroom instruction, or boardroom meeting.
  • the metadata may be used for the collection and processing of statistical data. Active participants may be identified because their devices communicated with other devices or a central sewer during a session, such as in the form of communicating as a master or slave with the other devices or server or in some other way interacted with the other devices or server. It should be understood that a log of the devices active during the session may be kept by one or multiple devices or servers, and the data log may be accessed when determining the information or metadata to associate with the audio recording (or annotations or other media generated by the device(s) or a server or computer) for use in later forensic information retrieval.
  • the metric calculation ⁇ nit 3465 calculates metrics associated with the audio recordings.
  • the metrics may include signal-to-noise ratio (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, distortion, or other metrics associated with audio signals.
  • the metrics may include multiple metrics (e.g., an array of metrics) for each audio recording 3460.
  • the metric calculation unit 3465 then passes metrics 3467 calculated as a function of respective audio recordings 3460 to an audio selection unit 3470. Contemporaneously, the audio selection unit 3470 also receives the audio recordings 3460.
  • the audio selection unit 3470 may associate the metrics 3467 received with the corresponding audio recording through an identification tag.
  • the audio selection unit 3470 selects audio recording(s) based on the metrics. For example, the audio selection unit 3470 may select the audio recording having metric(s) that indicate it is best suited to be heard by the human ear.
  • the audio selection unit 3470 Upon selecting the audio recording, the audio selection unit 3470, sends the selected audio recording 3475 to a server or device 3430.
  • the selected audio recording 3475 may automatically replace all captured audio recordings on the devices active during the session, such that all users have the "best" audio recording.
  • the selected audio recording 3475 may be archived at a server for optional download by devices at a later date.
  • Fig. 34D is a block diagram of a system (e.g., a device 105) with a partitioning module, metric calculation unit, and audio selection unit used to process audio recordings.
  • a partitioning module 3480 receives a plurality of audio recordings 3460 from a plurality of devices.
  • the audio recordings may have associated therewith information or metadata, such as a unique user device indicator identifying a device via which at least a portion of an audio recording was captured, collaboration-indication code identifying other devices active during a session in which the devices captured the audio recordings, or an identifier of the session during which the devices captured at least a portion of the audio recordings.
  • the metadata may be used for forensic purposes, such as identifying active participants during a session, such as a tutorial session, classroom instruction, or boardroom meeting.
  • the metadata may be used for the collection and processing of statistical data.
  • the partitioning module 3480 aligns each recording according to a start or end indicator, or other form(s) of indicators that enable alignment, including content of the recordings.
  • the alignment of each recording may alternatively be enabled by use of a master clock used to synchronize internal clocks of each device.
  • the partitioning module 3480 may monitor each device's clock and align each recording based on knowledge of offsets among the clocks. The partitioning module 3480 then partitions each audio recording into multiple sequential segments.
  • the partitioning module 3480 may partition each audio recording based on a predetermined time period (such as milliseconds or seconds) or determine a partitioning rate depending on the length of the audio recording. As the audio recordings are partitioned, the partitioning module 3480 may assign an identifier to each segment containing segment identification used to identify the segment and audio recording identification used to identify to which audio recording the segment belongs. The partitioning module 3480 then sends the segments to the metric calculation unit 3465.
  • a predetermined time period such as milliseconds or seconds
  • the metric calculation unit 3465 calculates metrics associated with the segments.
  • the metrics may include a subset or all of the following example metrics: signal-to-noise ratio (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, and distortion.
  • SNR signal-to-noise ratio
  • SPL Sound Pressure Level
  • the metric calculation unit 3465 then passes metrics associated with each segment 3467 to an audio selection unit 3470.
  • the audio selection unit 3470 selects the segments having metric value(s) according to a given criterion or criteria, such as value(s) indicating a given segment is most optimal for playback for a user of a device that captured the audio recording.
  • the audio selection unit 3470 may select the segment of an audio recording having metric(s) that are best suited to be heard by the human ear. For example, an audio recording captured by a first device in close proximity to a professor who raises a question to a class may contain a segment of recording of the question that is clearer than an audio recording captured from a second device at a greater distance from the professor or that is positioned behind another student in the class. However, the second device may contain a segment of an audio recording of a student's response to the professor's questions that is clearer than the corresponding segment from the first device in close proximity to the professor.
  • the audio selection unit 3470 arranges the selected segments sequentially in time to form a sequential composite audio recording 3485.
  • the audio selection unit 3470 may contain a voice quality enhancer used to enhance the voice quality of the composite audio recording 3485.
  • the audio selection unit 3470 may contain a smoothing unit 3472 used to smooth the transition between selected segments associated with different audio recordings. For example, smoothing may include fading volume of a first segment (e.g., recording of the professor's question) and raising volume of a second segment (e.g., recording of a student's answer), or applying any other form of manipulation of the composite recording, to remove or reduce detection of transition between segments by the human ear.
  • the audio selection unit 3470 then sends the sequential composite audio recording 3485 to a server or device 3430.
  • the selected audio recording 3475 may automatically replace all captured audio recordings during a session, such that all users have the "best" audio recording.
  • the audio recording may be archived at a server for optional download by devices at a later date.
  • FIGS. 34C and 34D may be applied to video recordings in an event multiple devices equipped with video capabilities record video with post-processing being used to select a best video recording or to generate a sequential composite video recording.
  • Figs. 35-42 are schematic diagrams of an example device and hinge assembly according to embodiments of the present invention that enable a user to use the device to view content in many different ways based on various selectable orientations of two displays of the device.
  • the various orientations include: folded- open, folded-closed, the displays substantially overlay each other such that the screens of the displays are simultaneously viewable or only one screen of one of the displays is viewable.
  • Fig. 35 illustrates an example embodiment of the present invention in a "folded open" orientation in which both a bi-stable display 3506a and a refresh display 3506b are incorporated into a computing device 3505. In the folded-open orientation, the displays 3506a, 3506b are simultaneously viewable to a user.
  • the bi-stable display 3506a is an extremely low power device that retains an image in a zero or very low power state but has a low refresh rate and presents in grey-scale.
  • the refresh display 3506b can be any display useful for rendering graphics, video, or images that are not easily presented on the bi-stable display 3506a. Use of the bi-stable display 3506a allows the device 3503 to provide long battery operation with optional access to graphical images via the refresh display 3506b at the expense of some of the duration of the battery operation.
  • the example computing device 3505 incorporates a bi-stable display 3506a, pen stylus input system 3502, plurality of user control buttons 3503, 3529, refresh display 3506b, touch input system 3504, removable small keyboard 3507, stylus holding location 3508, plurality of Universal System Bus (USB) interfaces 3509, plurality of FLASH memory slots 3510, female power input 3511, female line - level/headphone output 3512, integrated microphone input 3513, hinge mechanism 3514, battery and battery charging circuitry 3515, alternative input from a track ball style 'mouse' 3516, sensor 3521a, 3521b, control switch for wireless interface 3526, and volume control switch 3527. It should be understood that other devices may include more or fewer peripherals.
  • USB Universal System Bus
  • the computing device 3505 further includes a processor 3530.
  • the processor 3530 is configured to control activity of the bi-stable display 3506a and the refresh display 3506b in a power conserving manner.
  • the processor 3530 may further include a power savings module (not shown), which is executed by or associated with the processor 3530, and configured to extend battery operating life by intelligently controlling power levels of the display(s), such as, on, off, high power, low power.
  • the power savings module may be configured to enable the battery operating life of the computing device 3505 to be available for at least eight hours.
  • the power savings module employs a display-use module (not shown) that is configured to detect the use of the display devices. In a further embodiment, the power savings module is configured to power down, dim backlighting, or hibernate display devices based on orientation or use of the displays. In another embodiment, the power saving module may employ an internal/external peripheral use module (not shown) that is configured to detect the use of internal/external peripheral devices. In a further embodiment, the power savings module is configured to power down, or hibernate internal/external peripheral devices based on use of the internal/external peripheral devices, such as a wireless mouse or keyboard.
  • the power savings module may further comprise a wireless on/off module (not shown) configured to turn on or turn off wireless capabilities.
  • the wireless on/off module may be configured to periodically monitor for pending incoming/outgoing messages and temporarily turn off wireless capabilities to receive or send the messages.
  • the messages may include email, short messaging service (SMS) text messages, or multimedia messaging service (MMS) text messages, for example.
  • SMS short messaging service
  • MMS multimedia messaging service
  • the sensor 3521 may be a camera input. In another embodiment, the sensor 3521 or a different sensor (not shown) may alternatively be configured to sense orientation of the display devices relative to each other or the hinge mechanism 3514. The sensor 3521 (or other sensor) may further be configured to send multi- power mode sensor signals to the processor 3530 configured to control an operating state of at least one of the display devices. It should be understood that a sensor 3521b positioned in the hinge mechanism 3514 may be useful in determining various orientations of the display devices 3506a and 3506b. The sensors may be as simple as a potentiometer or much more complex position or orientation sensors known in the art.
  • the battery and battery charging circuitry 3515 allows the device to operate without being connected to a power outlet and the battery to be recharged when drained.
  • the battery 3515 may be recharged using a battery re-charger (not shown) connected to a power source (e.g., wall power outlet) via a female power input 3511.
  • the battery re-charger may be configured to connect to: a two or three pronged wall outlet, vehicle power supply, other forms of power outlets, such as airplane power outlets.
  • the battery and battery charging circuitry 3515 may also be configured to detect when the battery contains a full charge and, optionally, when the device 3505 is connected to an external power supply.
  • the battery and battery charging circuitry 3515 allows the device 3505 to be powered via the external power supply, thereby conserving battery power for use of the device 3505 while disconnected from the external power supply.
  • a second, rechargeable or non-rechargeable, battery may also be employed to maintain memory states, such as may be required for non-volatile RAM (NVRAM), while the device 3505 is turned off.
  • NVRAM non-volatile RAM
  • the hinge mechanism 3514 couples the bi-stable display 3506a and refresh display 3506b.
  • the hinge mechanism 3514 may be configured for multidirectional movement of the displays relative to each other.
  • Fig. 36 illustrates an internal structure of an example hinge mechanism 3614 configured to couple a bi-stable display and refresh display of a device both mechanically and electrically.
  • the hinge mechanism 3614 may include a first interface element 3630a, second interface element 3630b, and a hinge 3630c. Serving as an adjustable linkage therebetween.
  • Each interface element 3630a, 3630b may include mechanical interfaces (e.g., screws) to affix the elements 3630a, 3630b are the displays, electrical interfaces 3615, and orientations sensor(s) (e.g., potentiometers) 3621a-b.
  • the interface elements connected to each other via the hinge 3630c.
  • the hinge 3630c includes power bus(es) 3650, return power bus(es) 3660, and data bus(es) 3655.
  • the power and data buses enable power and date to be shred between the devices.
  • the orientation sensors 3621a-b are configured to detect an orientation of a display with respect to the hinge 3630c. Further, the orientation sensors 3621a-b may communicate the orientation of the displays to a processor (not shown) via the data-bus(es) 3655 or its own bus (not shown).
  • orientation sensors may be included in the hinge 3630c, interface elements 3630a, b, or the devices themselves to determine orientations of the devices relative to each other (e.g., folded-open, folded-closed, rotated-open, rotated-closed orientations) or to the hinge.
  • the power bus(es) 3650 and return power bus(es) support configurations in which one or both displays include batteries or other energy sources to share energy or energy states.
  • the data bus(es) 3655 support communication messages between the displays in any manner disclosed herein or otherwise known in the art. It should be understood that various techniques for enabling power and signals to traverse between the devices via the hinge mechanism 3614 (or external therefrom) may be employed, where the techniques support user-selectable orientations.
  • FIG. 37 illustrates multidirectional movement of the computing device 3705 in which the display devices substantially overlay each other, and screens 3701, 3704 of the display devices are simultaneously not viewable because the screens 3701, 3704 face inward toward each other.
  • Fig. 38 illustrates multidirectional movement of the hinge mechanism 3814 in which the displays substantially overlay each other, and the screens 3801 , 3804 of the displays are simultaneously viewable because the screens 3801, 3804 face outward from each other.
  • Figs. 39 and 40 illustrate multidirectional movement of the hinge mechanism 3914 in which the displays 3906a, 3906b can substantially overlay each other such that only one screen 3901 of the displays is viewable at a time by a user.
  • the hinge mechanism 3914 may further include a power and signal bus (not shown) configured to conduct power and signals between the two displays 3906a, 3906b and provide electrical isolation from the bus to prevent a user or object from contacting voltage or current on the power bus.
  • Fig. 41 illustrates an embodiment of the present invention wherein the computing device 4105 employs a removable keyboard 4107.
  • the removable keyboard 4107 may be connected to the computing device via a cable, or it may be configured for wireless operations.
  • the removable keyboard 4107 may further include a cursor control device, such as a mouse 4116 or directional pad (D-pad).
  • Fig. 42 illustrates a computing device 4205 including a bi-stable display
  • the displays 4206a, 4206b may be physically connected to each other using mechanical, magnetic, or other typical securing mechanisms 4210a-h and operationally coupled to each other via wireless interface elements 421 lal/bl, a2/b2.
  • Multiple wireless communications paths allows for high-speed bi-directional data transfer. Any form of data transfer may be employed, including handshaking and non-handshaking forms.
  • Pairs of mechanical interfaces 4210a-h include a "male” and "female" interface. In the case of magnetic elements, magnetic norths and souths are oriented to enable the displays to adhere (rather than repel) to each other.
  • Each display is able to communicate with the other display via wireless communications using the wireless interfaces 421 IaI /bl, 421 Ia2/b2 such that a user may render images on either display.
  • the wireless interfaces may be any form of wireless interface, such as optical (e.g., infrared), or radio frequency (RF) (e.g., Bluetooth®, or IEEE 802.1 1) protocols, acoustical, or other form of wireless communication within a wide range of the electromagnetic spectrum.
  • RF radio frequency
  • a simple or complex wired or fiber optic interconnection may be employed.
  • the methods may be implemented in the form of hardware, firmware, or software.
  • the software may be any language capable of performing the example embodiments disclosed herein or equivalent thereof or example embodiments understood in the art at the present time or later developed, or equivalents thereof, as understood from the teachings herein.
  • the software may be stored in any form of computer-readable medium, such as Random Access Memory (RAM), Read-only Memory (ROM), Compact-Disk ROM (CD-ROM), optical or magnetic medium, as so forth.
  • the software may be stored thereon as sequences of instructions and loaded and executed by processor(s), including general purpose or application specific processor(s) capable of executing the software in manner(s) disclosed herein or understood from the disclosed embodiments or equivalents thereof.

Abstract

Current approaches to paperless books use single screen laptop computers or electronic paper display (EPD)-based book readers. Laptop computers consume too much power and cannot be used for extended periods of time, such as an entire school day, without recharging its battery. EPD devices are limited in functionality due to their slow refresh rate and grey-scale only images. An embodiment of the present invention integrates bi-stable display technology and refresh display technology into a single device and manages the use of these technologies to achieve power savings while providing a rich set of display functionalities to support user interaction with content in a synergistic manner. The power savings functionality enables the device to have a battery operating life between charges of many hours of operation, such as eight hours or more, while the display functionality enables users to access, display, and interact with content in ways users have become accustomed and in ways not before possible.

Description

MULTI-DISPLAY HANDHELD DEVICE AND SUPPORTING SYSTEM
This application claims the benefit of U.S. Provisional Application Nos. 61/233,473 filed on August 12, 2009, entitled "Multi-Display Handheld Device and Supporting System;" 61/214,550 filed on April 24, 2009, entitled "Method and Apparatus For Transferring Content Between Displays Of Different Types;" and 61/194,887 filed on October 1, 2008, entitled "Dual Screen, Multi-Orientation Computing Device."
The entire teachings of the above applications are incorporated herein by reference.
BACKGROUND OF THE INVENTION
Electronic computing devices such as desktop computers provide users access to vast amounts of information. Such electronic computing devices allow users to create and modify content. Users of electronic devices access multimedia, such as video, audio, and rich content (e.g., color pictures), used for business, personal, or educational purposes.
Demand for access to and creation of content has grown in an ever increasing mobile society. In response, mobile computing devices, such as laptop personal computers (PCs), personal digital assistants (PDAs), cell phones, notebook computers, tablet PCs, and other devices have created and configured to handle a wide variety of access to and creation of content. Many of these devices allow users to gain access to information, content, and multimedia from any location having wired or wireless access to a wide area network, such as the Internet.
As mobile device capabilities increase, power required to operate the devices has also increased. However, such devices have an amount of power depending on a battery capacity within the device, in combination with functions provided by the device, such as display brightness, wireless access including voice calls and content uploads and downloads, and content viewing or creation. When power is drained, from the battery the battery needs to be re-charged or the device needs to run off a different power source, such as a wall power converter, also used to recharge the battery. SUMMARY OF THE INVENTION
Methods, systems, apparatuses, and computer readable mediums with program codes embodied thereon relate to displaying content to a user or enabling a user to manipulate or annotate the content. For ease of reading, the term "system" is used in various portions of the description and may represent some or all forms of embodiments and implementations of the present invention, such as systems, methods, apparatuses, devices, computer readable media, network nodes, and networks.
A system according to an embodiment of the present invention includes a bistable display and a refresh display. The bi-stable display may be a grey-scale or color display that has pixels that change states in a bi-stable mode, meaning the pixels change states from one color to a different color, such as from black to white or white to black or red to green or green to red, at low power levels, such as consuming energy as a function of logic gate capacitance. It should be understood that the term "bi-stable" is a general term that may include future developed state- based displays, such as tri-stable displays (e.g., red, yellow, green) or quad stable displays (e.g., cyan, magenta, yellow, black). The bi-stable display generally has a low refresh rate (e.g., 1 second) but consumes extremely low power in a given state (e.g., microwatts, nanowatts, or femtowatts). The refresh display may be a liquid crystal display (LCD), plasma display panel (PDP), or light emitting diode (LED) display that requires continuous refreshing, which consumes power at milliwatt or multi-watt levels, but provides high rates, such as hundreds of hertz or kilohertz, making refresh displays suitable for video display (e.g., 30 frames/second) and network browsing (e.g., display of content-rich websites). It should be understood that the term "refresh display" is included in a category of non-bistable displays that have higher refresh rates than bi-stable displays. As used herein and unless otherwise specified, the term "display" refers to multiple components, including electronics and image generating components, used to render an image to be viewed by a user or may refer only to an external surface (i.e., screen) via which an electronically generated picture or image is formed.
A controller may be operationally coupled to the displays and configured to select the bi-stable display or the refresh display via which to render an image representing content as a function of the user interaction with at least one of the displays and criteria defined by operational characteristics of the displays. The controller may include a bi-stable display controller and a refresh display controller, each controller being configured to determine whether user interaction with its respective display is within the operational characteristics of its respective display, and, if within, to render an image responsive to the user interaction thereby, and, if not within, to cause, notify, or request the other controller to render an image on its respective display responsive to the user interaction. Alternatively, the controller(s) may be further configured to render an image responsive to the user interaction via one of the displays that is more suited to render the image than the other display based on the comparison of the criteria of the display specific to the user interaction. The criteria may include at least one of the following criteria: power, refresh rate, color, image motion (e.g., video), speed, page refresh, resolution, content format, and media type.
In the case in which the controller includes a bi-stable display controller and a refresh display controller, the bi-stable controller may be configured to cause the refresh display controller to render an image via the refresh display based on the user interaction via the bi-stable display. Further, the refresh display controller may be configured to cause the bi-stable controller to render an image via the bi-stable display based on user interaction via the refresh display.
The bi-stable display controller may also be configured to pass messages to the refresh display controller via an operating system to cause the refresh display controller to render images via the refresh display. In addition, the refresh display controller may also be configured to pass messages to the bi-stable display controller via the operating system to cause the bi-stable display controller to render images via the bi-stable display.
The controllers may be configured to pass the messages to each other responsive to user interaction, and the messages may include pointer(s) to object(s) stored in a memory accessible to each controller. In this example embodiment, the controllers are configured to access the object(s) in the memory using the pointer(s) and to render at least a portion of the object(s) via the respective displays. Alternatively, the messages that the controllers are configured to pass to each other responsive to user interaction may include content to be rendered via the other controller's display. The controllers may be further configured to render at least a portion of the content via their respective displays.
The controller(s) may be further configured to receive an indication of a user's interaction with a representation of a respective image rendered via the bistable display or the refresh display. The controller(s) may further be configured to receive the user interaction via a human-to-machine interface other than through interaction with the representation of the respective image, such as via physical or virtual buttons that enable the user to respond to a query or enter information to cause a state change of an image or device.
The controller(s) may also be configured to render images in an orientation selectable manner via either or both displays, wherein orientation of the rendered images may be selected by the user or determined by an orientation of the display with respect to the viewing angle of the user.
The controller(s) may be configured to configure at least one of the displays with multiple virtual displays with different angular viewing orientations. The controller(s) may also be configured to render an image simultaneously on each of the virtual displays. The controller(s) may also be configured to accept user interaction simultaneously from each virtual display. Further the controller(s) may be configured to render the image on the multiple virtual displays in a synchronous manner or in an asynchronous manner.
An interface module may be operationally coupled to the controller(s) and configured to communicate with another system, such as a server or other system with bi-stable and refresh displays, optionally via wired, radio-frequency (RF) wireless, or optical signaling. In such an embodiment, the controller(s) may be further configurable to have access, via the interface module, limited to (i) data from a specified source, or (ii) functions specified by the other system. The system may further comprise a master/slave module operationally coupled to the controlled s), in which case the master/slave module may be configured to act in a master mode or a slave mode. While acting in the master mode, the master/slave module may control a controller of another system that employs a master/slave module acting in a slave mode. While acting in a slave mode, the master/slave module may accept commands from a controller of another system that employs a master/slave module acting in a master mode. The master/slave module may further be configured to operate in a peer-to-peer network arrangement with a master/slave module of the other system.
In an embodiment including an interface module and master/slave module, the interface module may be configured to communicate with a central server and be operationally coupled to the controller(s) and master/slave module. In some embodiments, the master/slave module, acting in a master mode, is configured to control other system(s) via communications with the central server, and the master/slave module, acting in a slave mode is configured to accept commands from (a) the other system acting in a master mode responsive to communications via a central server or (b) the central server itself acting in a master mode. Another example embodiment of the present invention includes a system to display content to a user.
This embodiment of the system includes a display having an upper edge and a lower edge. A controller may be operationally coupled to the display and configured to split the display into multiple virtual displays with different orientations relative to the lower edge. The controller may further be configured to render an image representing content simultaneously in multiple respective orientations via the multiple virtual displays. Further, the controller may enable interaction with the image by user(s) via the multiple virtual displays.
The multiple virtual displays may include a rightside-up virtual display and an upside-down virtual display relative to the lower edge. The display may further include a left edge and a right edge, and the controller may further be configured to reorient at least one of the virtual displays relative to the display in a manner in which at least one of the virtual displays is rightside-up or upside-down relative to the left edge or the right edge. The controller may be further configured to render the image on multiple virtual displays in a synchronous manner or an asynchronous manner.
Another example embodiment of the present invention includes system to store annotations applied by a user, who may be an individual or other entity, to a primary source (e.g., contents of a book). Information may be associated with a representation of an annotation. The information may include many forms of data, such as a unique user device indicator associated with a device via which the annotation was applied relative to the primary source by a user, an identifier of the primary source to which annotation was applied, and a positional indicator to where the annotation was applied relative to the primary source. Further, the representation may be stored with the associated information on a storage device to store the annotation applied to the primary source in a manner enabling retrieval and later display of the annotation and its associated information with respect to the primary source substantially the same as authored by the user.
Annotations may be bundled by the user according to an identifier (ID) associated with the user or an ID associated with the device. The annotations may be advertised by the user to other users, and a representation of the annotations with its associated information may be transferred to a device of a user requesting the annotations.
A fee may be collected from the other users for the transferring of the representation with its associated information to their devices. At least a portion of the fee may be transferred as value, monetary or otherwise (e.g., credit toward service provider service plan fees), to the user who generated the annotations.
The annotations may include at least one of the following: handwriting, typed text, links, attachments, highlights, tags, sound, video, binary data, multimedia, reference, or content external from the primary source.
The representation of the annotation with its associated information may be transferred to another storage device. The representation may be managed with its associated information. A user may be able to manage which information is stored. Further, the user may be able to manage what happens with the representation once stored.
The annotations may include first and second annotations made by first and second users, respectively. The first and second users may create the first and second annotations in a collaborative working environment, such as in a classroom or tutorial session. Representations of the first and second annotations may include a collaborations-indication code. The collaborations-indication code may include indications of multiple users annotating the primary source at the same time via the device. The representation may also include an indication representing a viewing angle as to a direction with respect to the edge of the device from which the user made the annotation.
The annotations may also include a unique annotations ID. Users may be enabled to edit the annotations and create child annotations. The child annotations may also be assigned unique annotation IDs that may be encoded to incorporate an associated parent annotation ID. In addition, each edited annotation may be assigned a unique annotation version ID.
Yet another example embodiment of the present invention includes a system to transfer content between displays of different types. The system may comprise a bi-stable display controller and a refresh display controller. The bi-stable display controller may be (i) configured to accept user interaction with content rendered in a bi-stable display format on a bi-stable display and (ii) configured to cause the bistable display to render, in a bi-stable format on the bi-stable display selection of the content rendered on refresh display responsive to communications from the refresh display controller, where the selection represents user interaction with content via the refresh display. The refresh display controller may be (i) configured to accept user interaction with content rendered in a refresh display format on the refresh display and (ii) configured to cause the refresh display to render, in a refresh display format on the refresh display, a selection of the content rendered on the bi-stable display responsive to communications from the bi-stable display controller where the selection represents user interaction with content via the bi-stable display. The bi-stable display controller and the refresh display controller may further be configured to accept user interaction with content rendered on the bi-stable display or the refresh display, respectively, by enabling the controllers to allow a user to define the selection of the content to be, for example, within an area of a geometric shape having a property specified by the user. The bi-stable display controller and the refresh display controller may also enable the user to define the property as a size or shape of the geometric shape by indication of at least two points used to define the geometric shape via interaction with a given display. The interaction with the given display may be via continuous motion of contact within the given display between the at least two points or via discrete contact with the given display at the at least two points. The bi-stable display controller may enable the user to view the selection on the refresh display by signaling the refresh display controller to render the selection on the refresh display. Similarly, the refresh display may enable the user to view the selection on the bi-stable display by signaling the bi-stable display controller to render the selection on the bi-stable display. The controllers may communicate selections to each other in a manner involving memory.
The displays may be touch-screen enabled displays, in which case the controllers are operationally coupled to the touch-screen enabled displays to accept the user interaction. Another example embodiment according to the present invention includes an electronic computing device and corresponding method to capture sound. A chassis defining an opening may be configured to pass sound waves from an exterior of the chassis to an interior of the chassis. A diaphragm of a microphone, in an interior of the chassis in acoustical arrangement with the opening and in parallel arrangement with a structural member at a distance to form a pressure zone sensitive to sound waves, vibrates or is displaced in a controlled manner as a function of sound waves in the pressure zone. The distance is known to mitigate interference caused by a phase difference between a direct sound wave and a reflected sound wave each emanating from a common source and each entering the pressure zone via the opening; the reflected wave is substantially the same as the directed sound wave but reflected off a surface external from the chassis. The microphone may be configured to produce electrical signals representative of at least the direct and reflective sound waves based on their combined effect on the diaphragm.
The chassis may include a base and a vertical surface extending therefrom, in which case the chassis may define the opening through a vertical surface of chassis.
Alternatively, the chassis may define two openings through different surfaces to enable sound waves to be sensed by respective microphones, each including a diaphragm and structural member defining a pressure zone. The chassis may include a base and opposing vertical surface extending therefrom, with the different surfaces being opposing vertical surfaces of the chassis. In this dual microphone example embodiment, a noise reduction module may process first and second electrical signals produced by the microphones as a function of sound waves entering the respective pressure zones. The noise reduction module may further be configured to output a noise reduced signal by subtracting the first electrical signal from the second electrical signal.
It should be understood that more than two microphones may also be employed, and the noise reduction module may be configured to produce a noise reduced signal as a function of any combination of the signals.
The opening(s) may enable the sound waves to pass without attenuating the sound waves.
The chassis may include two displays coupled by a rotational hinge. The displays may include a bi-stable display and a refresh display.
Software may be configured to record sound waves via the microphone(s) and to enable a user to annotate content, presented on at least one of the displays, with recorded sound in a selectable manner. In addition, a state of the device may be associated with the recorded sound waves. Another example embodiment of the present invention includes a computing device and corresponding method to display content to a user. Images may be rendered on a bi-stable display and on a refresh display of the computing device. A controller may control activity of the bi-stable display and the refresh display in a power conserving manner. The computing device may include a battery, and the controller may include a power savings module configured to extend battery operating life between recharges compared to battery operation absent the power savings module. The power savings module may enable the battery operating life to be available for at least eight hours. Further, the power savings module may include a display monitoring module configured to detect use of the displays. The power savings module may further be configured to power down, dim backlighting, or hibernate the displays based on position or use of the displays. The power savings module may further comprise an internal/external peripheral monitoring module configured to detect use of internal/external peripheral devices, and the power savings module may power down or hibernate the internal/external peripheral devices based on use of the internal/external peripheral devices.
In addition, the power savings module may further include a wireless on/off module configured to turn on or turn off wireless capabilities for increased power savings on a continuous-until-changed basis or a temporary basis. Further, the wireless on/off module may be configured to monitor periodically for pending incoming/outgoing messages by automatically activating and deactivating wireless capabilities. The messages may include email, Short Message Service (SMS) text messages, or multi-media messaging service (MMS) text messages, for example. A hinge mechanism may couple the bi-stable display and refresh display. The hinge mechanism may be configured for multidirectional movement of the displays relative to each other.
The hinge mechanism may allow at least a subset of the following: the displays to be in an orientation in which the displays are adjacent to each other to allow the images rendered on the displays to be simultaneously viewable; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are not simultaneously viewable based on the orientation; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are simultaneously viewable based on the orientation; and the displays to be in an orientation in which the displays substantially overlay each other and images rendered on only one of the displays are viewable based on the orientation.
A display device sensor may sense orientation of the displays relative to each other or relative to the hinge mechanism. The display device sensor may send multi- power mode sensor signals to a processor configured to control an operating state of at least one of the displays. The computing device may include an attachable keyboard. The attachable keyboard may be configured to operate with the computing device via an electrical or wireless connection.
Another example embodiment of the present invention includes an apparatus and corresponding method to couple displays of a computing device mechanically. A first interface element may be configured to attach to a first display, and a second interface element may be configured to attach to a second display. A hinge may be coupled to the first and second interface elements and configured to enable the first and second interface elements to move multi-directionally relative to each other.
The hinge may further enable the first display to overlay a substantial portion of the second display. The hinge may be configured to move in at least one of the following ways: fold at an angle greater than ninety degrees in at least one dimension to enable a user to arrange the displays in a folded-open or a folded- closed orientation; and rotate greater than ninety degrees to enable a user to arrange the displays to be in a rotated-open or rotated-closed orientation.
The first and second interface elements may pivot multi-directionally. The hinge may conduct power and informational signals between the displays. In addition, the hinge may form a cavity configured to support a wiring harness. A sensor may sense an orientation of the hinge. Further, the sensor may sense orientations of the first and second interface elements.
Another example embodiment of the present invention includes a method of processing audio recordings. Information may be associated with a representation of an audio recording. The information may include a unique user device indicator associated with a device via which at least a portion of the audio recording was captured. The information may also include a collaboration-indication code identifying other devices active during a session in which the device captured the audio recording. The information may also include an identifier of a session during which the device captured at least a portion of the audio recording. The representation of the audio recording may be stored with its associated information on a storage device in a manner enabling retrieval and playback of the audio recording and identification of other devices active during the session.
Metrics of captured audio recordings may be calculated based on a set of criteria. An audio recording may be selected based on the metrics, and the audio recording may be stored at a central server or at at least one of the plurality of devices. The set of criteria may include at least one of the following example criteria: signal-to-noise ration (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, and distortion. Calculating metrics may include partitioning each audio recording into multiple sequential segments and calculating a metric for each segment in each audio recording. Further, selecting an audio recording based on the metrics may include comparing the metrics associated with each corresponding segment of each audio recording and selecting segments based on results of the comparing. The selected segments may be arranged to form a sequential composite audio recording. Voice quality enhancement may be applied to the sequential composite audio recording. Transition between segments associated with different audio recordings of the composite audio recording may be smoothed.
In yet another embodiment, a method for processing audio recording may include recording audio signals at a device. User interaction with the device during the recording of audio signals may be monitored. The audio recording may be associated with the user interaction in a manner enabling synchronized playback of the audio signals and the user interaction.
It should be understood that the foregoing example embodiments, or aspects thereof, may be combined in systems, devices, methods, etc. to form various combinations of same.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
FIG. 1 is a diagram of an electronic device ("device") having one or two displays, in accordance with an example embodiment of the present invention, being used in a classroom setting; FIG. 2 is a schematic diagram of a device having a bi-stable display and a refresh display operationally coupled to controller(s) and memory in accordance with an example embodiment of the present invention; FIG. 3 is an architectural diagram of a software in the device and of a system with which a device may be associated; FIG. 4A is a graphical diagram of content of a primary source (e.g., a book ) annotated by a user of a device in accordance with an example embodiment of the present invention;
FIG. 4B is a network diagram that illustrates storage and retrieval of annotations; FIG. 5 is flow diagram indicating working environments in which a device may be employed;
FIG. 6A is a schematic diagram of a display device having a bi-stable display and a refresh display with associated controllers and messages passing therebetween in accordance with an example embodiment of the present invention; FIG. 6B is a schematic diagram of a bi-stable display device and a handset device with associated controllers and messages passing therebetween via local wireless or wired communications or via base transceiver station ("base station") communications in accordance with an example embodiment of the present invention; FIG. 7 is a schematic diagram of a device and its controller operating in connection with another device and a server in accordance with an example embodiment of the present invention;
FIG. 8 is network diagram that illustrates a device requesting and receiving images via wireless communications; FIG. 9 is a block diagram that illustrates inputs and a display engine used to render images on a display of a device;
FIG. 10 is a schematic diagram of a device that accepts user input via an attachable user-input peripheral or touch screen;
FIG. 11 is a block diagram illustrating high level peripheral data flow of a device;
FIG. 12 is a block diagram of a device accepting user input via different types of user input peripheral;
FIG. 13 is a flow diagram of an example method for rendering images on either a bi-stable display or a refresh display of a device; FIGS. 14A-D are a schematic diagrams illustrating orientations of a device with respect to a viewing angle of a user; FIG. 15 is a flow diagram of a method for changing the orientation of a rendered image on a device;
FIG. 16A is a schematic diagram that illustrates synchronous rendering of images rendered on virtual displays of a device allowing multiple simultaneous user interaction; FIG. 16B is a schematic diagram that illustrates asynchronous rendering of images rendered on virtual displays of a device allowing multiple simultaneous user interaction;
FIG. 17 is a schematic diagram that illustrates rendering of images on a device with respect to an edge of the device; FIG. 18 is a schematic diagram of a device having restricted access to content;
FIG. 19 is a flow diagram of a method of limiting access to content or functions of a device in accordance with an example embodiment of the present invention; FIG. 20 is a schematic diagram of a device acting in a master mode used to control rendering of images on another device acting in a slave mode;
FIG. 21 A is a timing diagram illustrating time division multiplexing (TDM) communications of a wireless network having communications with a plurality of devices each acting in a master or slave mode using; FIG. 21 B is a network diagram illustrating wireless communications of a wireless network having communications with a plurality of devices each acting in a master or slave mode;
FIG. 22 is a diagram illustrating an example communications packet optionally used to communicate between a server and a device or a device with another device in accordance with an example embodiment of the present invention;
FIG. 23 A-C are flow diagrams of methods of operating a plurality of devices each acting in a master or slave mode in accordance with an example embodiment of the present invention; FIG. 24A-C are flow diagrams of methods of operating a plurality of devices each acting in a master or slave mode using an intermediate server in accordance with an example embodiment of the present invention;
FIG. 25 A-B are flow diagrams of methods of operating devices acting in a slave mode in combination with a central server acting in a master mode in accordance with an example embodiment of the present invention;
FIG. 26A is a graphical diagram of content of a primary source (e.g., a book ) annotated by a user of a device;
FIG 26B is a block diagram of an annotations module used to annotate content of a primary source;
FIG. 26C is a flow diagram of a method of annotating content of a primary source by a user of a device; FIG. 26D is a block diagram illustrating storage and acquisition of annotations or notes by a device;
Fig. 26E is a block diagram illustrating storage and retrieval to and from a content management server of multiple versions of a single annotation or note, optionally by multiple devices; Fig. 26F is a block diagram illustrating relationships among different versions of annotations or notes;
FIG. 27 is a diagram of an image rendered on a bi-stable display of a device to be rendered on a refresh display of the device;
FIG. 28 is a diagram of an image rendered on a bi-stable display of a device that is rendered on a refresh display of the device according to user selection;
FIG. 29A is a diagram illustrating a "swept" selection area of an image rendered on a bi-stable display of a device and responsively rendered on a refresh display of the device;
FIG. 29B is a block diagram of controllers passing messages from a bi-stable display to a refresh display indicating a selection of an image to be rendered on the refresh display;
FIG. 29C is a flow diagram of a method of rendering at least a selection image on a second display rendered on a first display based on user interaction; FIG. 30 is another block diagram of controllers passing messages from a bistable display to a refresh display indicating a selection of an image to be rendered on the refresh display;
FIG. 31 A is a schematic diagram of location(s) of a microphone on a device;
FIG. 3 IB is a schematic diagram illustrating example operational components of a microphone of FIG 31 A;
FIG. 31C is a schematic diagram illustrating conversion of sound waves into electrical signals by the microphone of FIG 31 A;
FIG. 32A is a schematic diagram of a noise reduction module operationally coupled to a plurality of microphones associated with a device;
FIG. 32B is a schematic diagram illustrating a microphone capturing direct and reflected sound waves from a common source; FIG. 32C is a schematic diagram illustrating a position of a diaphragm of a microphone that facilitates mechanical filtering of sound waves;
FIG. 32D is a schematic diagram of a device capturing sound via microphones each positioned on a different edge of the device;
FIG. 33 is a block diagram illustrating recording sound waves into a content database and accessing the recorded sound from the database;
FIG. 34A-B are flow diagrams of a method of mitigating sound interference received by a microphone and producing a noise-reduced signal in accordance with an example embodiment of the present invention;
Fig. 34C is a block diagram of a metric calculation unit and an audio selection unit used to process audio recordings;
Fig. 34D is a block diagram of a partitioning module, metric calculation unit, and audio selection unit used to process audio recordings;
FIG. 35 is a schematic diagram that illustrates a device in an open position state in which displays are adjacent to each other; FIG. 36 illustrates an internal structure of a hinge mechanism configured to couple a bi-stable display and refresh display of a device.
FIG. 37 is a schematic diagram that illustrates a device in a folded, closed position state in which fronts of displays of the device face inward toward each other; FIG. 38 is a schematic diagram that illustrates a device in a folded, open position state in which fronts of displays of the device face outward away from each other;
FIG. 39 is a schematic diagram of a device in which a bi-stable display and a refresh display of the device substantially overlay each other allowing only the bistable display to be viewable;
FIG. 40 is a schematic diagram of a device in which a bi-stable display and a refresh display of the device substantially overlay each other allowing only the refresh display to be viewable;
FIG. 41 is a schematic diagram of a device that has an attachable input peripheral; and
FIG. 42 illustrates a computing device 4205 including a bi-stable display 4206a and a refresh display 4206b.
DETAILED DESCRIPTION OF THE INVENTION
A description of example embodiments of the invention follows. In many instances throughout the following description, example embodiments of single or dual display devices, elements employed therein, systems, network servers, networks and corresponding methods are described in reference to a classroom environment and textbooks used by students in a class. However, the classroom environment is just a convenient example in which the example embodiments may be employed. Other example environments are mentioned interspersed hereinbelow. Environments in which the example embodiments may be employed are as diverse as environments in which computers and hand-held computing devices are employed.
The cost of paper, and consequently textbooks, is increasing; the number of textbooks carried by students is increasing. An embodiment of the present invention serves to replace the weight of textbooks and reduce cost of the textbooks by enabling students to access textbooks, work, and notes (e.g., digital annotations or self-contained notes files) in an electronic environment. Current approaches to paperless textbooks and notebooks use single screen laptop computers. Laptop computers consume too much power and cannot be used without recharging or charging its battery for extended periods of time, such as an entire school day. Many classrooms are not equipped with sufficient power outlets for all student to plug-in their laptops. Additionally, laptop power cords may not have sufficient reach to have access to a power outlet, and, if each student requires access to a power outlet, the classroom becomes cluttered with laptop power cords. To address the power issue, an electronic device that consumes less power than a laptop computer may be employed. An example of such a power-savings electronic device is an Electronic Paper Display (EPD). An EPD is a form of a bistable display, meaning it toggles display pixels using very little energy, and display pixels maintain their respective states using no or negligible energy. The states include black or white, or different states of spectral color, and the density of pixels enables the display pixels to be coordinated in groups to form black and white or grey-scale (or color) images. Pixel state stability allows for very low power consumption.
Current electronic book devices based on EPD technology have single display screens. EPD devices are limited in functionality due to their slow refresh rate and grey-scale only images. Because textbooks (and other forms of publications) use many colors and pictures, an electronic textbook replacement should be able to display colors in a manner in which refresh displays (e.g., light emitting diode (LED) displays) do. Further, computers and handheld devices allow for video, and users have come to expect electronic devices to provide that level of functionality, too, not to mention audio and other electronic device functionality that has become ubiquitous in the electronic and wireless device age.
An embodiment of the present invention integrates bi-stable display technology and refresh display technology into a single device and manages the use of these technologies to achieve power savings functionality while providing a rich set of display functionality in a synergistic manner. The power savings functionality enables the device to have a battery operating life between charges of many hours of operation, such as eight hours or more. Thus, an embodiment of the present invention integrates today's two best technologies for reading text and displaying images — still or in motion — in a manner that is greater than the sum of its parts. This integration is well-suited for textbook replacement.
Figs. 1-5 provide an overview of the device, an example user environment in which the device may be employed, various embodiments and operating modes of the device, and network configurations and operations within which the device may operate. Thereafter, the figures illustrate details and other examples of the device network, operations, and so forth.
Fig. 1 is a diagram of an electronic device having two displays ("device") 105, in accordance with an example embodiment of the present invention, being used in a classroom setting 100. A teacher 160 is providing classroom instructions to a group of students 170. The students 170 are following classroom instructions using respective devices 105. Each device 105 includes a bi-stable display 106a and a refresh display 106b, coupled together by a hinge 107. The bi-stable display 106a renders images 108 in a bi-stable display format, while the refresh display 106b renders images 109 in a refresh display format. The teacher 160 may provide students 170 with classroom materials through data messages 130 via an electronic device 140 to student devices 105. The teacher's electronic device 140 may be a laptop computer, desktop computer, personal digital assistant (PDA), or device 105 that the students are using. The students 170 may receive classroom materials from the electronic device 140 via a wireless router 150, which may pass the data messages containing the classroom materials through a wireless connection 126a or through a physical link 126b. Classroom materials may include handouts, homework assignments, textbooks, articles, notes, annotations or any other material that the teacher 160 may deem as educational for the students 170. In addition, students 170 may pass classroom materials to each other through device-to-device communications 120a, 120b. Further, students 170 may obtain access to content through a central server 11 Oa or a remote content server 1 1 Ob accessible through a network 115, such as a Wide Area Network (e.g., the Internet) or a local area network (LAN). The students 170 may send requests 125a for classroom content or other information to either the central server 1 10a or remote content server 1 10b. The central server 1 10a or remote content server 110b may respond with messages 125b acknowledge the request and containing the requested content or information relating to same. The content may include handouts, homework assignments, textbooks, articles, notes, annotations or any other material.
The device 105 enables display of images of any type in format(s) students have come to expect, yet, optionally or controlled, in a power efficient manner. The device 105 may be selectively configured in various and mechanical orientations by the students, and the visual display and access to information to be displayed may be controlled by the students 170 or overridden individually or collectively by the teacher 160. These and many other features are described in further detail below. FIG. 2 is a schematic diagram of a device 205 having a bi-stable display 206a and a refresh display 206b operationally coupled to controller(s) 212 and memory 214 in accordance with an example embodiment of the present invention. The bi-stable display 206a may be mechanically and electrically coupled to the refresh display 206b via a hinge 207. The device 205 may include several user control buttons 240a-«, microphone(s) 230a-b, and battery(s) 216. The controller(s) 212 and memory 214 are internal to the device 205, but also may be externally connected to the device 205 in alternative embodiments.
The bi-stable display 206a renders images in grey-scale similar to or the same as an electronic paper display (EPD). The bi-stable display 206a is designed to mimic the appearance of ordinary ink on paper. Unlike a conventional flat panel display, which uses a backlight to illuminate its pixels, an electronic paper display reflects light like ordinary paper and is capable of holding text and images indefinitely or effectively indefinitely without drawing electricity, while allowing the image to be changed. Therefore, the bi-stable display 206a is an extremely low power device that retains an image in a zero or very low power state. Bi-stable displays are considered more comfortable to read than conventional displays. This is due to a stable image, which does not need to be refreshed constantly, wider viewing angle, and reflection of ambient light rather than emission of light. The bi-stable display 206a can be read in direct sunlight without images becoming difficult to see due to glare or overexposure from the sunlight. However, the bi-stable display 206a has a slow refresh rate, similar to other EPD devices, as compared to Liquid Crystal Display (LCD) technologies. This slow refresh rate discourages device manufacturers and software developers from implementing sophisticated interactive applications (e.g., using fast moving menus, mouse pointers, or scrolling) like those which are possible on handheld computers. Examples of functions negatively impacted by a slow refresh rate include zooming in or out of images, scrolling images, and replacing images with other images, where the images may be text or graphics, for example. An example in which the slow refresh rate is particularly noticeable is in navigating webpages or other on-line content-rich images provided by network servers.
Continuing to refer to Fig. 2, as stated above, the bi-stable display 206a in this example embodiment is coupled to the refresh display 206b. The refresh display 206b can be any display useful for rendering graphics, video, or images that are not easily rendered on the bi-stable display 206a, such as due to lack of color or slow refresh rate reasons. Examples of the refresh display 206b may be a display, such as a Liquid Crystal Display (LCD), Plasma Display Panel (PDP), or Light Emitting Diode (LED) display. User interaction that may require a higher refresh rate than that which is supported by the bi-stable display 206a may be supported by the refresh display 206b. For example, an image 209 may be a video, activated by a mechanical button 24Od or virtual button 241, that is better displayed at a high refresh rate, and the video is, therefore, displayed on the refresh display 206b rather than the bi-stable display 206a, albeit at a higher rate of power consumption than were it displayed on the bi-stable display 206a.
Selection of whether to render an image on the bi-stable display 206a or the refresh display 206b may be controlled by the controller(s) 212. The controller(s) 212 may select a display on which to render an image as a function of operational characteristics of the displays 206a, 206b and user interaction with the device, display(s), or image(s).
The memory 214 may store content to be rendered by either the bi-stable display 206a or refresh display 206b, operational characteristics of either display, and information relating to user interaction with either display. The controller(s) 212 may communicate with the memory 214 via messages 222. The communication may include a request from the controller(s) 212 to the memory 214 for information related to content to be rendered via either of the displays, operational characteristics of either display, and information related to user interaction with either of the displays. Upon receiving such a request, the memory 214 supplies the controller(s) 212 with the requested information, thereby enabling the controlled s) 212 to render an image on either display based on the received information from the memory 214. The microphone(s) 230a-b may be mechanically coupled to either of the displays or hinge 207 and operationally coupled to the controller(s) 212. The microphone(s) 230a-b may be positioned on the device 205 in a manner enabling mitigation of interference caused by a phase difference between a direct sound wave and a reflected sound wave from a common source. In addition, the microphone(s) 230a-b may be positioned on the device 205 in a manner facilitating reduction of unwanted ambient sound detected by the microphone(s) 230a-b. In addition, the sound recorded by the microphone(s) 230a-b may be related to the image(s) 208 or 209, and stored and retrieved with relation thereto, using memory 214, by the controller(s) 212. FIG. 3 is an architectural diagram of software in the device 305 and of a system 300 with which the device 305 may be associated. In this example, the device 305 includes a bi-stable display 306a and a refresh display 306b. A content database 341 (also referred to herein as a library) is a repository for a student's class content, including, for example: books and handouts, images, video, audio, or combinations thereof. Records in the content database 341 may describe a single piece of content and may also or alternatively describe the properties of the content and where the referenced content is located in the content storage 342.
Content may be added to the content database 341 via a network, such as the Internet, or from local storage e.g., Secure Digital (SD) card or browser application 330. Content may be stored in internal or external storage (e.g., a plug-in (SD card)). Alternatively, the content database 341 may reside in internal flash memory. The content database 341 may be managed by a content provider 340. The content provider 340 in some embodiments allows access to the content using content Uniform Resource Identifiers (URIs). For example, books may be added to the database indirectly by first passing through a reader application 335 by way of a reader service 335. This may be done in order to extract a common set of information about the book, such as author and title or for other traditional or non- traditional reason.
A reader/journal application 336 decode downloaded raw book content, allowing conversion and rendering of document formats, such as documents in a format selected from a group consisting of: mobi, epub, html, txt, pdf, docbook, cnxml, and esi-edb. For example, books may be converted from one of the foregoing formats into a common format using a decoding plug-in appropriate for the book format type. In addition, the reader/journal application 336 may allow free-form data entry at the device 305 using a keyboard or stylus via a touch screen element of a display. The application 336 may display using a number of display layers.
Display layers may include background layer which can include a bitmapped image. For example, the background layer may be a bit-map representation of notebook paper or a pdf image converted to a bit-map. Text or graphics may be overlaid over the background. This methodology allows, for example, annotation of pdf/ppt files and also allows for free-form note taking, journaling and scribbling. The layers may be represented in a package representation including the bit-map images and xml-based drawing instructions. It should be understood that other existing and later developed format may also be supported.
A library browser 345 allows database content to be selected for viewing. The library browser 345 supports viewing of content by types, such as books, audio, and video. Depending on the content type, the library browser 345 invokes an application/activity to display the content on either the bi-stable display or refresh display. For example, the library browser 345 can be used to invoke the reader/journal application 336 via a reader service 335. For other data types, the library browser 345 invokes an appropriate view/application 350a-n. In addition to browsing by type, the library browser 345 allows flexible views of the database content based on tags or labels that can be applied to the content stored in a content database 341. Tags/labels can be derived from the downloaded content (when added to the content database 341) or can be added by the user. Viewers/applications 350a-n allow the system to access content within the content database 341 and render images based on user intent and criteria of either the bi-stable display or refresh display. Criteria may be defined by the operational characteristics of the displays. For example, criteria may include power, refresh rate, color, motion of images (e.g., video), speed, page refresh, resolution, content format, and media type. The applications/viewers 350a-n may include a book browser, image viewer, video player, or audio player. The book browser allows the user to navigate quickly through content, by providing a hierarchical view of a book's content. For example, the book browser may allow the highlighting of a particular section of a book and viewing of figures/notes that are associated with that section. The image viewer can be configured to allow images to be rendered on either the bi-stable display in a bi-stable format (e.g., grey-scale) or the refresh display in a refresh display format (e.g., color). The video viewer and audio viewer allow basic or advanced multimedia operations. Each viewer/application 350a-n can be configured to allow at least two methods of invocation. One example method of invocation may use an absolute path to a record in the content database, and the other may use the URI of a record in the content database. Another viewer/application 350a-n may include a sound recorder. The sound recorder application may use the built-in microphone(s) of the system 300. Recordings may be stored as sound files that can be accessed like any other audio content for playback.
In some embodiments, the reader service 335 provides an interface between the bi-stable display 306a and refresh display 306b applications. Information may be exchanged between applications using a data exchange protocol, such as custom or generic interchange protocol. The reader service 335 may implement the use of a virtual clipboard 360 to allow data to be passed between viewers/applications 350a- n. FIGS. 4A and 4B are a screen view and network diagram, respectively, of annotations applied to content as enabled by devices 405a, 405b, and storage/retrieval by the devices.
FIG. 4A is a graphical diagram of content of a primary source (e.g., a book) annotated by users of devices 405a, 405b in accordance with an example embodiment of the present invention. The devices 405a and 405b include a bi-stable display 406a and refresh display 406b. Content of a primary source may be rendered on the bi-stable display 406a as an image 408. A user may then annotate the primary source, such as by using a stylus and touch screen aspect of the display(s) 406a and 406b, to include notes to supplement the content. For example, the user may include annotations 430a-c that provide additional notes/information that are associated with the primary source. The user may include handwritten annotations 430a-b, or textual annotations 430c. Selections of the primary source may be rendered on the refresh display 406b as an image 409. The image 409 displayed on the refresh display 406b may or may not include the annotations provided by the user.
The devices 405a, 405b include memory (not shown) from which display controlled s) can access data representations of the content to display on the bi-stable and refresh displays 406a, 406b and store or retrieve the annotations. The memory may be dual access memory to enable the controller(s) to access the data and update the images simultaneously on both displays 406a and 406b.
FIG. 4B is a network diagram that illustrates storage and retrieval of annotations via wired or wireless, upstream and downstream, network communications paths 425a, 425b, respectively. A user of a first device 405a may request content from a primary source server 410a. The content may be, for example, a book, image, or news article. The user may then annotate the primary source as described in relation to Fig. 4A. Representations of an annotation may be associated with information to identify the primary source, user, and device that are associated with the annotation. The representations of the annotations may be submitted to an annotations server 410b for storage via the upstream network communications path 425a between the first device 405a and annotations server 410b. A second device 405b may request the same primary source from the primary source server 410a. The primary source server 41 Oa provides primary source data 425b to the second device 405b. The user of the second device may also request annotations that are associated with the primary source and the user of the first device 405 a, or annotations from any other device that are associated with the primary source. FIG. 5 is flow diagram of a method 500 indicating example working states within a classroom environment in which devices may be set. At 505, the method 500 begins. At 510, the state of operations of a device within a work environment is determined, where the states of operations may be a student independence state 511, tutorial session state 512, or examination state 513.
Student independence state 51 1 as used herein refers to a student's ability to use a device to access another device or server for content. In the student independence state 511, a central server or instructor's device may be used by the instructor to issue a corresponding command wirelessly to the device(s) to enable the device(s) to access local or remote servers for data representative of content. Optionally, the instructor or other person(s), such as a parent or school administrator, may place certain restrictions on access to servers by the device(s), but, as used herein, the student independence state 511 covers a restricted version thereof. Device operation in the student independence state is further described below in reference to FIGS. 13A-B, 15, and 26B.
Tutorial session state 512 as used herein refers to a student's restricted ability to use a device for activities other than in conjunction with an instructor's guidance through a document or other lesson content. Restriction may be minimal or complete, but, generally a student's device is controlled in some manner to force the student to follow along with a lesson. In the tutorial session state 512, a central server, instructor device, or student device may be used to issue a corresponding command wirelessly to other device(s), to enable the other device(s) to track instructor or student tutorial session, by rendering images on the other device(s) that are rendered on the instructor or student device conducting the tutorial session. The command may enable or disable access to local or remote servers by the device(s). Tutorial sessions may include, for example, classroom instructions, study groups, or online classes/seminars. Device operation in the tutorial session state 512 is further described below in reference to FIGS. 20-2 IB, 23 A-C, 24 A-C, and 25 A-B.
Examination state 513 as used herein refers to a student's restricted ability to use a device to access content, stored thereon or remotely accessible, while taking an examination. Restriction may be minimal or complete, but, generally a student's device is controlled in some manner while taking the examination thereon or extemal therefrom. In the examination state 513, a central server or instructor's device may be used by the instructor to issue a corresponding command wirelessly to the device(s), to enable the device(s) to access an examination via a local or remote server and, contemporaneously, disable the device(s) from having access to remote and/or local servers for other content or memory locations within the device(s). Device operations in the examination state 513 is further described below in reference to FIG. 19. It should be understood that the classroom setting and corresponding device states 51 1, 512, 513 are merely examples of both environment and states. Other device states for a classroom environment may be provided, and other environments with other device states are also within the scope of the present invention. Further, embodiments of the present invention enable users or administrators to customize device states for their typical or unique environments.
Now that an overview of an example user environment, embodiments and aspects of the device, and network configurations and operations have been presented in reference to FIGS. 1-5, details of the foregoing and additional description is provided in reference to FIGS. 6-42. FIGS. 6-25B illustrate system level embodiments of a device. FIGS. 26A-26D illustrate annotation capabilities of the device and network, FIGS. 27-30 illustrate a device capability of user-selectable rendering of an image from one display to the other. FIGS. 31A-34B illustrate a microphone aspect of the device with associated noise reduction processing. FIGS. 35-42 illustrate mechanical user-selectable or equations of the displays relative to each other.
Fig. 6A is a schematic diagram of a display device 600 having a bi-stable display 606a and a refresh display 606b electrically and logically connected by associated bi-stable display and refresh display controllers 612a, 612b respectively, and messages 622a, 622b passing therebetween in accordance with an example embodiment of the present invention. In this embodiment, the bi-stable display 606a is operationally and mechanically coupled to the refresh display 606b via a hinge 607, where the hinge may include electrical paths for the messages.
In operation of this example embodiment, each controller 612a, 612b is configured to download or upload content and annotations. Each controller is further configured to determine whether user interaction with its respective display 606a, 606b is within the operational characteristics of its respective display, and, if within, the controllers 612a, 612b are still further configured to render an image responsive to the user interaction via its respective display 606a, 606b. If user interaction is not within the operational characteristics of the controller's respective display, the controller causes, notifies, or requests the other controller, via messages 622a or 622b to render an image via its respective display responsive to the user interaction.
For purposes of illustration, "user interaction" with respect to user interaction with a display 606a, 606b means any logical or physical interaction the user performs with respect to the display, its operating state, or a state of an image or other human or animal-perceptible indication capable of being made by either display. For example, a logical or physical interaction with respect to a display may include changing a state of a soft switch (e.g., graphical button on a display screen) or hard switch (e.g., mechanical button on either side of a display screen). A logical or physical interaction with respect to an operating state of a display may include selection of a low or normal power state of the refresh display (e.g., low or high brightness) or slow or fast update rate of the bi-stable display.
A logical or physical interaction with respect to an image may include selection of a user resource locator (URL) within text of a book or periodical on the bi-stable display to access a webpage or data corresponding to the URL; request to present a color version of an image, represented in a bi-stable display format on the bi-stable display, on the refresh display; request to view a video referenced in a book; or request to search a term of a book via a network. In each of these examples, action(s) associated with regard the logical or physical interaction are typically better executed by the refresh display rather than the bi-stable display due to the refresh display's higher update rate, even though the action requires more energy than if performed by the bi-stable display. Similarly, user interaction with the refresh display, such as downloading and viewing content of an electronic book or periodical (e.g., newspaper) or other static publication, may be more suitably performed by the bi-stable display for battery energy conservation reasons. In any of the foregoing cases, the bi-stable and refresh display controllers communicate with each other to coordinate a response to the request. For example, in the case of a user's selection of a URL, the bi-stable display controller 612a may determine that loading and presenting a webpage is outside the operating characteristics of the bi-stable display and, in turn, send messages622b with instructions or a request to the refresh display controller 612b to access, load and display the corresponding website. Example reasons the webpage may be outside the operating characteristics of the bi-stable display 606a include lack of color or slow (e.g., 1 second) update rate on the part of the bi-stable display 606a.
Continuing to refer to FIG. 6A and with the foregoing example interactions and operational characteristics kept in mind, the bi-stable controller 612a monitors user interaction with bi-stable display 606a. If the user interaction with bi-stable display 606a is within the operational characteristics of the bi-stable display 606a (e.g., the user requests an electronic turn-to-the-next-page of a book), the bi-stable controller 612a renders an image 625 (e.g., the next page of the electronic book) via the bi-stable display 606a. Similarly, the refresh controller 612b monitors user interaction with the refresh display 606b (e.g., display an embedded video on a webpage) and renders an image 630 (e.g., the webpage with embedded video playing) via the refresh display 606b if the user interaction is within the operational characteristics of refresh display 606b.
Alternatively, if the bi-stable display controller 612a determines that the user interaction with the bi-stable display 606a is not within operational characteristics of the bi-stable display 606a (e.g., color required), the bi-stable display controller 612a notifies the refresh display controller 612b via an instruction/request message 622b to render an image 630 via the refresh display 606b. Similarly, if the refresh display controller 612b determines that the user interaction is not within the operational characteristics of the refresh display 606b (e.g., low energy display required, allowable, or preferred), then the refresh display controller 612b notifies or requests, via messages 622b, the bi-stable display controller 612a to render an image via the bi-stable display 606a. In notifying the refresh display controller 612b to render an image, the bi-stable display controller 612a may pass a message 622a to the refresh display controller 612b, in which the message may include a pointer to an object stored in memory (not shown) or the content to be rendered. The instructions and request 622b, as well as content or pointer 622a, may be passed logically via an operating system 620. Because both displays 606a, 606b may download the same content and annotations and share current states of the content and annotations via messages 622a or 622b, the messages 622a or 622b, used to cause the "other" display 606a, 606b to render an image , can refer to the content or annotations in a number of ways, such as by memory location, content relative information, or other way(s) known in the art.
Further, when monitoring user interaction with the bi-stable display 606a, the bi-stable display controller 612a may further or alternatively be able to determine whether the user interaction results in an image that, if within operational characteristics of the bi-stable display 606a, is better suited to be rendered on the refresh display 606b. If better suited to be rendered on the refresh display 606b, the bi-stable display controller 612a sends an instruction/request 622b to the refresh display controller 612b to render an image via the refresh display 606b. Similarly, if the refresh display controller 612b is able to determine whether user interaction with the refresh display 606b results in an image that is better suited to be rendered via bi-stable display 606a, then the refresh display controller 612b sends a message 622a with content of pointers (or other information) to cause the bi-stable display controller 606a to render the image on the bi-stable display 605a. The determination of which display on which to render an image may be based on a comparison of the operational characteristics of the displays specific to the user interaction. Criteria of operational characteristics may include power, refresh rate, color, motion, speed, page refresh, resolution, content format, and media type.
FIG. 6B is a schematic diagram of a bi-stable display device 606a and a handset device 655 operatively and logically connected by associated bi-stable display and refresh display controllers 612a, 612b, respectively, and local inter- display messages 622a, or remote access inter-display messages 622b passing therebetween. The local access inter-display messages 622a may be communicated using a local wireless (or wired) protocol, such as Bluetooth®, and the remote access inter-display messages 622b may be communicated using a remote access protocol, such as a Wide Fidelity (WiFi) protocol using IEEE 802.1 1, via a base transceiver station 650 in accordance with an example embodiment of the present invention. The handset device 655 may be any wireless transmit/receive unit (WTRU), such as a cell phone or PDA.
A user of the bi-stable display 606a may require the use of a display device having a refresh rate suitable for rendering rich content. The user may then initialize communications between the bi-stable display 606a and handset 655, having a refresh display 606b suitable for rendering the desired rich content, via local inter- display messages 622a, or remote access inter-display messages 622b. Once a communication session is initialized, the bi-stable display 606a and handset 655 may apply the same inter-device methodologies described in reference to FIG. 6A. However, this alternative embodiment illustrates a device having a bi-stable display 606a operating in connection with a refresh display 606b provided by a standard or specially- equipped handset 655 (e.g., cell phone or PDA), depending upon implementation of the inter-display messages 622a, 622b, and other aspects understood in the art.
Fig. 7 is a schematic diagram of the device 705a and its controller 711 operating in connection with another device 705b and a server 710 in accordance with an example embodiment of the present invention. The device 705a includes a bi-stable display 706a and a refresh display 706b operationally coupled to the controller 711. The controller 711 includes a bi-stable display controller 712a, refresh display controller 712b, and master/save module 750. The bi-stable display controller 712a receives user interaction data 726 via the bi-stable display 706a. Similarly, the refresh display controller receives user interaction data 731 via the refresh display 706b.
Each controller 712a, 712b controls rendering via its respective display or causes the other controller to render the image via its display in a manner described in reference to Fig. 6. In this example embodiment, the controllers 712a, 712b include respective image rendering exchange modules 747a, 747b that use display characteristics 745a, 745b stored in respective memories 714a, 714b. The image rendering exchange modules 747a, 747b may be hardware, firmware, or software construction configured to perform in a manner as described above with respect to rendering images as a user interaction and operational characteristics of the respective displays. It should be understood that image rendering exchange data or information 740 may employ forms of exchange protocols, representations of data or information, or referencing of memory and span any type of data exchange path or interface consistent with exchanging information as disclosed herein by way of examples or otherwise understood in the art.
In addition, the device 705a may interact with the server 710. The device 705a may request content from the server 710 via a request 725a and, in response, receive content 725b from the server 710. Similarly, the device 705a may interact with another device 705b. Messaging data 720a, 720b may be exchanged between the two devices. The devices 705a, 705b may interact for several reasons, one of which being a tutorial session, where one device is acting in a master mode and another device is acting in a slave mode. The master/slave module 750 controls such operations in this example embodiment. For example, the device 705a, while acting in a master mode, controls rendering on the other device 705b. Alternatively, the device 705a, while acting in a slave mode, accepts commands from the other device 705b to control rendering on its displays. More details about master and slave modes are presented below at least in reference to Figs. 21 A through 25B. Fig. 8 is a network diagram that illustrates a device 805 requesting and receiving images via wireless communications. The device 805 includes a bi-stable display 806a and a refresh display 806b. The bi-stable display 806a renders static images 808 while the refresh display 806b renders dynamic images 809. The device 805 may send a request 825a upstream for content, which may either be static or dynamic images, from a content server 810. The request 825a is sent through a wireless tower 830 to a network 815, and, in turn, to the content server 810. In response, the content server 810 locates the requested content, the requested content in this example being either static images 820a or dynamic images 820b. The content server 810 then sends representations of the content via the network 815 through the wireless tower 830 to the device 805. Static images 820a are rendered via the bi-stable display 806a, while dynamic images are rendered via the refresh display 806b, and should be understood that the simplified network example can be more complete in other example networks, such as one in which the device 805 enables a user to browse multiple network nodes in search for content to download. Also, the device 805 may support typical encryption, security, virtual private network (VPN) protocols, other communications protocols, and so forth. Fig. 9 is a block diagram that illustrates a display engine that is used to render images on a display 906 of a device 900. As depicted in the diagram, raw content 940 may be received by the device 900, such as via a wired or wireless interface (not shown). The raw content 940 may be in many formats 941a-n, such as a PDF file or word document. Multiple decoding plug-ins 945 may be included in the device 900 or optionally downloadable from a server (not shown), where the decoding plug-ins 945 are used to decode one or more of the formats of the formats 941a-n of the raw content 940. The decoding plug-ins 946a-n may be used to convert the raw content into a common format for the device 900, the display 906, or a limited set of formats. For example, if the device 900 receives several books having different raw content format, a book model 930, using decoding plug-ins corresponding to the book format type, converts the raw content to a format compatible with the device 900 or display 906. The book model 930 may utilize a small set of simple data structures in order to represent the book data. At the lowest level are entries. Entries contain actual text content, image pointers, attribute data (e.g., bold, italic, etc.) or control information (e.g., skip a line, end page, etc.). Entries may be grouped into paragraphs. Sections provide for document structure. Sections may include other sections or may contain paragraphs. Therefore, from top-down, the book model may be as simply as a hierarchy of sections, where each lead section includes lists of paragraphs, and each paragraph contains a list of one or more entries. This format is well-suited for storage and retrieval from a database. Storage of book content and database form allows for easy, efficient retrieval of subsets of book content, for efficient search for a wide variety of indexing optimization. The book modes 930 may also allow for easy association of note data (e.g., text/audio/graphical/hyperlink). Model settings 935 may be employed to provide customized or default display formatting. The display engine 912 renders content via the display 906. In operation, the display engine 912 receives information via the book model 930, model settings 935, and images 908 in order to render content via the display 906. It should be understood that portions or all of the elements other than the display 906 may be in the device 900 or external from the device 900. In some embodiments, other elements, such as a display driver (not shown), interface (not shown), or other elements configured to carry out portions of processing raw, party processed, or fully processed data to be rendered may also or alternatively be employed by the device 900 depending on how much processing is performed in the device 900 and how much is performed in, for example, a network made prior to reaching the device 900. An example reason for having some or all processing external from the device 900 is to save on processing power, which, in turn, extends battery operating life between recharges.
Fig. 10 is a schematic diagram of a device 1005 that accepts user input via an attachable user input peripheral or touch screen. The device 1005 includes a bistable display 1006a and a refresh display 1006b mechanically coupled together via a hinge 1007. In this example embodiment, the displays are operationally coupled to a controller 1012 that controls rendering via each display. Further, the device 1005 includes an interface 1030. The interface 1030 allows attachment of peripheral devices, such as keyboard 1035 and mouse 1040, to enable a user to enter data, retrieve data, alter a state of the device 1005, or alter a state of an image rendered via one of the displays 1006a, 1006b. In addition, each display 1006a, 1006b may be configured to accept user input in relation to a rendered image on one or both displays using touch screen technology. The device 1005 may also accept such user input via a touch screen through a stylus 1045 or by human physical contact with either of the displays 1006a, 1006b. Similarly, the device 1005 may accept user interaction via the interface 1030 from either the keyboard 1035 or the mouse 1040, or other known human-to-machine interface peripheral, such as voice activated command receiver module (e.g., a microphone) with voice recognition system.
Fig. 1 1 is a block diagram illustrating high level data flow from peripherals to a device 1105. The device 1105 includes a bi-stable display 1106a and a refresh display 1206b. The bi-stable display 1106a is operated by a bi-stable system 1107a. The refresh display 1106b is operated by a refresh system 1107b. The bi-stable system 1107a and the refresh system 1107b may employ core software that runs on dual-display hardware, one being hardware associated with the bi-stable display 1 106a and the other being hardware associated with the refresh display 1 106b. In this example embodiment, the bi-stable system 1107a and refresh system 1107b utilize two separate graphics stacks. The bi-stable display 1 106a may use a graphic stack that includes GTK+, which is an example of a cross-platform widget tool kit for creating graphical user interfaces and a direct frame buffer space (direct FB space), which is a software library operating system that provides hardware graphics acceleration, input device handling and abstraction, and integrated windowing system with support for translucent windows and multiple display layers. The refresh display 1 106b utilizes the refresh system 1107b, which includes a graphics stack that may be an android/open GL space graphic stack.
In operation, the device 1105 may accept user interaction via the bi-stable display 1106a or the refresh display 1106b through a touch input screen 1146 or a keyboard 1135. If user interaction includes interaction via the touch input screen 1146 overlayed or incorporated into one or both of the displays 1106a, 1106b, a touch/stylus driver 1170b determines whether the user is implementing the use of a stylus touch input or a human-to-machine touch interface. The touch/stylus driver 1170b then interprets the touch input 1146 and sends messages to an EVDEV module 1160 that determines whether the user interaction occurred via the bi-stable display 1106a or the refresh display 1106b, in an embodiment supporting input via both displays. If the input occurred via the bi-stable display 1 106a, the EVDEV module 1160 sends messages to the bi-stable system 1107a to render an image. The bi-stable graphics stack comprising GTK+ 1109 and direct FB 1 110 then processes in the input, passes the input messages to bi-stable driver 1170c, and, in turn, the bi- stable display 1106 renders the image.
Alternatively, user interaction may be via a keyboard 1135. In this case, a keyboard driver 1 170c interprets the interaction and sends messages to the EVDEV module 1 160. The EVDEV module 1160 determines whether interaction occurred via the refresh display 1106b or the bi-stable display 1 106a. At this point, the EVDEV module 1160 sends interaction messages to the appropriate graphics stack of either the refresh system 1107b or the bi-stable system 1107a. In turn, rendering information is sent to either the bi-stable FB driver 1170a or the refresh FB driver 1 170b. Each driver then sends corresponding rendering data to either (or both) the bi-stable display 1106a or the refresh display 1106b via which an image is rendered. Fig. 12 is a block diagram of a device 1205 accepting user input via different types of user input peripherals. The device 1205 in this example embodiment includes an operating system kernel 1280 which includes peripheral drivers 1270a-n, which accepts multiple keyboard input devices which may include keys dedicated to bi-stable display applications 1207a that operate with a bi-stable display. Similarly, the multiple keyboard input devices may include keys specifically dedicated to refresh display applications 1207b that operate with a refresh display. In addition, the multiple keyboard devices may include keys that can be shared by the bi-stable display applications 1207a and the refresh display applications 1207b. For example, a Bluetooth® or a Universal System Bus (USB) keyboard may be shared by the bistable display applications 1207a and the refresh display applications 1207b.
The device 1205 may accept input from a keyboard 1235 via a digital driver 1170a, Electronic System Interface (ESI) virtual keyboard driver 1270b, a General Purpose Input/Output (GPIO) keys driver 1270c, USB keyboard driver 127Od, or touch screen driver 127On. The digital driver 1270a, GPIO keys driver 1270c, USB keyboard driver 127Od and touch screen driver 127On may be configured to accept direct physical input. The physical input may be from the keyboard 1235 or touch input 1246. The ESI virtual keyboard driver 1270b accepts virtual input because it does not directly receive physical input. Instead, input is passed from other drivers, such as the GPIO keys driver 1270c (which receives all of the key switch events from the device 1205 unit buttons (not shown) and from a USB Bluetooth® keyboard driver). Input events 1260a-n are passed to the corresponding display applications, which may be either the bi-stable display applications 1207a or the refresh display applications 1207b for rendering images representing content on the device 1205.
Fig. 13 is a flow diagram of an example method 1300 for rendering images on either a bi-stable display 1306a or refresh display 1306b. For purposes of this example, the bi-stable display 1306a is operationally coupled to a controller 1312a that controls rendering of the images on the bi-stable display 1306b, and, similarly, the refresh display 1306b is operationally coupled to a controller 1312b that controls rendering on the refresh display 1306b. The method begins at 1301a, 1301b. Referring to the bi-stable display portion (left) of the example method 1300, at 1310a, the bi-stable display 1306a determines whether it has received user interaction 1304a or a message 1316b from the refresh display controller 1312b. Assuming that the bi-stable display controller 1312a has received user interaction 1304a, the method 1300a proceeds at 1315a, at which the bi-stable display controller 1312a determines whether the user interaction 1304a is within the operational characteristics or criteria 1313a of the bi-stable display 1306a. If the user interaction 1304a is within the operational characteristics or criteria 1313a of the bi-stable display 1306a, the bi-stable controller 1312a, at 1320a, renders an image via the bi-stable display 1306a. Subsequently, at 1321, the method 1300a begins again. In an event the user interaction 1304a is not within the operational characteristics or criteria 1304a of the bi-stable display 1306a, a message 1316a is sent to the refresh display controller 1312b to cause, notify, or request it to render an image via the refresh display 1306b. It should be understood that operations characteristics may be manufacturer-defined as a function of limits of the display, whereas criteria may be manufacturer-defined as a function of limits of the display within the content of the device. In the case of criteria, the determination 1315a may alternatively be a determination of whether the bi-stable display 1306a is better suited than the refresh display 1306b on which to render the image.
Referring now to the refresh display portion (right) of the example method 1300b at 1310b, the refresh display controller 1312b may receive the message from the bi-stable display controller 1312a. At 1315b, the refresh display controller 1312b determines whether the user interaction 1304a is within operational characteristics of the refresh display 1306b (or which display is better suited for rendering of the image), which is determined using the refresh display operational characteristics or criteria 1312b. Assuming the request to render an image via the refresh display is within the operational characteristics or criteria of the refresh display 1306b, at 1320b, the refresh controller 1312b renders the image via the refresh display 1306b. Then, at 1322, the method for the refresh display begins again.
Alternatively, at 1310b, the refresh display 1306b may receive user interaction 1304b. At this point, the refresh display controller 1312b determines whether the user interaction 1304b is within the operational characteristics or criteria 1313b of the refresh display. If the user interaction 1304b is not within its operational characteristics or criteria 1313b, the refresh display controller 1312b sends a message 1316b to cause, notify, or request the bi-stable display controller 1312a to render an image via the bi-stable display 1306a. At 1310a, the bi-stable display controller 1312a receives this message as mentioned above. However, if the user interaction 1305b is within the operational characteristics or criteria 1313b of the refresh display 1306b, then, at 1320b, the refresh display controller 1312b causes the refresh display 1306b to render the image.
Figs. 14A-D are schematic diagrams illustrating physical orientations of a device 1405 with respect to a viewing angle 1400 of a user. The device 1405 includes a bi-stable display 1406a, refresh display 1406b, and hinge connecting the displays 1406a, 1406b together in a user-selective arrangement. The bi-stable display 1406a renders an image 1408 in a bi-stable display format, and the refresh display 1406b renders an image 1409 in a refresh display format. Each display also includes several user input buttons, one of which being an orientation selection button 1410. Alternatively, the device 1405 or a component of the device, such as one of the displays 1406a, 1406b, or the hinge connecting the displays 1406a and 1406b may include therein a position or orientation sensor to sense automatically an orientation of the device with respect to a user or with respect to vertical or horizontal angles relative to up or down of an edge of a display 1406a, 1406b as a function of gravity. Fig. 14A illustrates an orientation that may be better suited for right-handed users, where the device 1405 is an orientation in which the bi-stable display 1406a is to the left of the viewing angle 1400 of the user and the refresh display 1406b is to the right of the viewing angle 1400 of the user. Fig. 14B illustrates an orientation of the device 1405 which may be better suited for a left-handed user, where the refresh display to the left of the viewing angle 1400 of the user and the bi-stable display 1406a is located to the right of the viewing angle 1400 of the user.
Figs. 14C-D illustrate alternative orientations of the device 1405, where either the bi-stable display 1406a is above the refresh display or, alternatively, the refresh display 1406b is above the bi-stable display 1406a with respect to the viewing angle 1400 of the user. For any of the viewing orientations, the user can effectively change which display 1406a, 1406b is on the left or right in the vertically held orientations (Figs. 14A and 14C), or upper or lower (Figs. 14B and 14D) through use of the orientation selection button 1410 or as automated by an internal sensor. Changing orientations may be more comfortable for a user in annotating documents via the bi-stable display 1406a or navigating webpages via the refresh display 1406b, as two examples. Orientation issues are different for this device 1405 embodiment with two displays 1406a, 1406b in an open-clamshell configuration, as compared to a stacked configuration or a device embodiment employing a single display, due to the users having to reach across the dominant hand to interact with a second display, thereby potentially obstructing viewing of the first display.
It should be understood that changing images on the display(s) 1406a, 1406b via the orientation selection button 1410 or other mechanism may include rotation of rendered images, changes of states of hard or virtual buttons or other physical or virtual elements on the display, activation/deactivation microphone(s) and other possible state changes of the device 1405 or peripherals associated therewith.
Fig. 15 is a flow diagram of a method 1500 for changing orientations of an image rendered on a device. At 1501, the method begins. At 1505, the method monitors a position/orientation of the device with respect to a viewing angle of the user monitored. At 1510, the method determines whether the orientation of the device with respect to the viewing angle of a user has changed. If the orientation has not changed, the method determines whether the user has requested to change the orientation of the images rendered on the displays of the device, and, if not, the method repeats beginning at 1501. If the orientation has changed, then, at 1515, the method 1500 changes the orientation of the images rendered on the device. Alternatively, at 1510, if the device has detected a change in orientation, the orientation and the images rendered on the displays of the device are changed at 1515, and the method begins again at 1501.
Fig. 16A is a schematic diagram that illustrates synchronous rendering of images rendered on virtual displays of a device allowing multiple, simultaneous, user interactions such as by allowing two or more users to interact with the device 1605 or images rendered therein while viewing the same or different images rendered with respective orientations enabling each user to view right-side-up images. In this example embodiment, the device includes a bi-stable display 1606a and a refresh display 1606b, each having an upper edge 1601a and lower edge 1601b. The bi-stable display 1606a is illustrated as having two virtual displays 1610a and 1610b, each rendering the same image 1620a with respect to a rightside- up viewing angle of a first user 1615a and a second user 1615b respectively.
Similarly, the refresh display 1606b may be split into virtual displays 1610c and 161Od, each rendering the same image 1620b in an orientation with respect to a rightside-up viewing angle of the respective user 1615a and a first display with hand 1615b. In operation, the device 1605 allows two users to interact simultaneously with content rendered on the display(s) 1606a, 1606b of the device 1605. Each user 1615a, 1615b is able to interact with the same (or different) image rendered on each of the virtual displays. The rendering of images on the virtual displays facilitates peer study sessions or tutorial sessions. Further in the case of viewing the same images, the device 1605 (i.e., the controller(s)) (not shown) rendering the images on the display(s) 1606a, 1606b may cause the rendered images to scroll vertically or horizontally, zoom in or out, or otherwise change states in a synchronous manner as a function of interaction with a display 1606a, 1606b or image 1610a, 1610b rendered thereon. Fig. 16B is a schematic diagram that illustrates asynchronous rendering of images rendered on virtual displays of a device, also allowing multiple user interaction. As stated above, the device 1605 includes a bi-stable display 1606a and a refresh display 1606b. Each of the displays is split into multiple virtual displays, each in an orientation with respect to a first user 1615a or a second user 1615b. Each virtual display 1610a-1610d may be configured to render images from a primary source. In this example embodiment of synchronous viewing and interaction, each user 1615a or 1615b may be able to access content from the primary source in an asynchronous manner. For example, user 1615a may be viewing page 1 of one primary source while user 1615b may be viewing page 10 of the same primary source. Further, each virtual display may be configured to accept user interaction from the user 1615a and user 1615b simultaneously or as a function of controlled access.
In either of the foregoing examples of Figs. 16A and 16B, interactions that include, for example, the first user's 1615a annotating a representation of the primary source may be immediately reflected as corresponding annotations on the representation of the primary source to the second user 1615b. Further, the annotations may be represented in different colors, line styles, or other manner to enable the users to distinguish their edits from each other's. Further, timecodes or a "collaboration annotation" code may be associated with particular annotations to provide traceability such that the users, administrators of annotations, or other persons can identify annotations made while collaborating with another user and those made while not collaborating with another user. In another embodiment, a collaborative environment may be in the form of a single virtual display, but two style users recognizable from each other (e.g., different thickness, capacities, or radio frequencies) by the displays may enable different collaboration-annotation codes to be associated with the different annotations. It should be understood that in some embodiment, the collaboration-annotations may include more than simply single user identifiers — they may include indications of multiple users making annotations at the same time and which user made the respective particular annotation and, optionally, in which viewing orientation (e.g., left, right, up or down with respect to the bottom edge of the device). In addition, the displays of the device may include multiple virtual displays meant for a single user. For example, a user may be reading a book on a first virtual display, using a viewing application, while simultaneously taking notes using a note taking application or journal application on a second virtual display on the same (physical) display. Fig. 17 is a schematic diagram that illustrates rendering of images on a device 1705 with respect to an edge of the device. The device includes an upper edge 1701a and lower edge 1701b. Further, the device includes a display 1706 that is split into virtual displays 1710a, 1710b, in which the virtual displays have different viewing orientations relative to the lower edge 1701b. For example, as illustrated, the display 1706 is split into two virtual displays, one of which (1710a) having a viewing orientation which is right-side up with respect to the lower edge and another (1710b) which is upside down with respect to the lower edge.
In addition, the device 1705 also includes a left edge 1701c and right edge 170 Id. The display 1706 may be related 1703 and split into virtual displays 1710a', 1710b' in which the orientations of the virtual displays are defined relative to the left edge or the right edge. For example, as illustrated, one of the virtual displays 1710a' is right-side up with respect to the right edge, and the other virtual display 1710b' is in orientation upside down with respect to the right edge. The change of orientation of the virtual displays may occur automatically due to a repositioning or reorientation of the display relative to a user, as illustrated, or due to a user request via a human-to-machine interface. Further, the virtual displays 1710a, 1710b, 1710a' , 1710b' may render images in a synchronous or an asynchronous manner, meaning that multiple users may interact with the same image or different images of a primary source, respectively, optionally with interactions being sensed by the device 1705 and optionally, via the virtual displays simultaneously or individually controllable manner. Fig. 18 is a schematic diagram of a device 1805 having restricted access to content via a wired or wireless network connection or even from within its own memory. The device 1805 includes a bi-stable display 1806a and a refresh display 1806b. As illustrated, an examination 1810 is being rendered on bi-stable display 1806a. On the refresh display 1806b, user access to content and functions is illustrated. For example, a user may have access to a notepad application 1815a, but the user's access to a web application 1815b and email application 1815a is disabled. Therefore, the user of device 1805, while taking an examination 1810, may be able to take the examination in a similar manner as annotations can be applied or scribble notes while taking the examination via a notepad application 1815a. However, the user of device 1805 is restricted from accessing a web application 1815b to access content via a network, such as the Internet. Similarly, the user of device 1805 is restricted from accessing an email application 1815c in order to communicate with other users. This functionality allows the device 1805 to be used in different settings, where access to certain content needs to be restricted for purposes of an examination. Further, interaction with a representation of the examination may be direct
(e.g., an application enables the user to select an answer via checkbox or freeform text) or indirect (e.g., annotations that are recorded as independent images from the representation of the examination and later processed in some manner based on spatial positioning of the annotations to provide automated examination scoring or printing to allow for manual examination scoring). Additionally, codes may be applied to enable later determination of the examination taker and device on which the examination was taken. Encoding or encrypting in a standard or customized manner may be employed for transferring examination annotations or markings by the user to a server via wired or wireless connection. Fig. 19 is a flow diagram of an example method 1900 that may be employed to limit access to content of functions of a device with an example embodiment of the present invention. An example of why such a method may be employed was presented above in reference to Fig. 18 with respect to an examination to be given and taken via a device. Referring to Fig. 19, a device 1905a, which is system A that is being used by an examination taker, for example, may be in communications with system B, which may be another device 1905b or a server 1906 controlled by an examination giver in this example. The method begins at 1910a and 1910b. At 1930, the method determines if the user is requesting access to content or functions of the system 1905a. If not, the method continues to monitor user request. If the user is requesting access to content or functions, the method determines, at 1935, whether access to such content or functions has been or is being limited by another system B, either the server 1906 or another system 1905b. Contemporaneously, system B, at 1915, sets access restriction to data and/or functions of system A. At 1920, system B determines whether to enable access restrictions. If access restrictions are not enabled, a user of system A is able to acquire content or functions requested at 1940a. However, if access restrictions are enabled, at 1925, system B generates a signal to limit access of data from a specified source or limits execution of functions of system A. The signal sent may be a disable signal 1926 that enables access restrictions of system A. Therefore, at 1935, the method determines that access to certain functions or content is limited. Next, at 1940b, a user requesting access to such content or functions of system A, receives an error stating that the content or functions are blocked. Optionally, at 1945, system A is able to determine whether such limitations have exceeded a disable time. If not, at 1930, the user may begin to request access to content or functions. If the disable time has been exceeded, then the system A, at 1946, can make a request for continued instruction from system B. To allow control of a device by another device or a server, the devices may be configured to support master and/or slave modes, where master mode enables a device to control device(s) acting in slave mode, and vice-versa.
Fig. 20 is a schematic diagram of a device 2005a acting in a master mode used to control rendering of images on another device 2005b acting in a slave mode or to control functions at the slave mode devices or functions supporting slave mode devices to communicate with other devices or servers. The device 2005a includes a bi-stable display 2006a which renders images 2008a in a bi-stable display format, and a refresh display 2006b which displays images in a refresh display format. Continuing to refer to Fig. 20, in an example scenario, at time T=O, the device 2005a is acting in a master mode. In such a state, the device 2005a controls rendering of slave device(s), such as device 2005b. For example, the user of device 2005a is reviewing an image 2008a of page 1 of "A Tale of Two Cities" and a color illustration 2009a related to page 1. While acting in a master mode, the device 2005a can send a control signal 2010a via a wireless connection to the device 2005b, acting in a slave mode, to render an image 2008a of page 1 of "A Tale of Two
Cities" on the bi-stable display 2006a and the color illustration 2009a related to page 1 on the refresh display 2006b. At time T=I, the device 2005a, still acting in a master mode, has rendered page 2 of "A Tale of Two Cities" 2008b on the bi-stable display 2006a and color illustrations 2009b related to page 2 of "A Tale of Two Cities" on the refresh display 2006b. Because the device 2005a is still acting in the master mode, the device 2005a sends another control signal 2010b to the device 2005b, still acting in a slave mode, to render another image 2008b of page 2 of "A Tale of Two Cities" on the bi-stable display 2006a and the color illustrations 2009b related to page 2 on the refresh display 2006b. Such master and slave modes facilitate the use of classroom instructions such that the user of a slave device is forced to follow along or guided through, depending on one's perspective, a tutorial session given by a professor using a device (or server or computer) acting in a master mode. In addition, master and slave modes can be used to make certain that every user in a classroom setting is following along at the same pace.
Fig. 21 A is a timing diagram illustrating time division multiplexing (TDM) communications of a wireless network having communications with a plurality of devices, where the devices may be communicating for master or slave mode purposes or other purposes. As illustrated, a plurality of systems 2105a-«, or devices, are assigned time slots 21 10a-n to transmit frames of messages. For example, a system A 2105a is assigned time slot 1 2110a for messaging, system B 2105b is assigned a second time slot B 2110b for messaging, similarly system C 2105c and system D 2105d are assigned time slots 3 211 Oc and 4 211 Od, respectively. This use of TDM allows a plurality of systems 2105a-« to communicate via one communications channel. As illustrated, at several time periods 2132, the devices 2105a-« may be acting in different master/slave states. For example, at time T=O, device A 2105a is acting in a slave mode, device B 2105b is acting in a master mode, device C 2105c is acting in a slave mode, and device D 2105d is acting in a slave mode. The devices may request to change master and slave states; for example, at time T=IO device A 2105a was granted permission (either by its peers or a master controller or scheduler, such as a network server or other mode, to act in a master mode while devices B-D are configured to act in slave modes and take instructions from device A. Similarly, at time T=30, the devices are configured to be in different master/slave states, as well. Although Fig. 21 A illustrates messaging using time division multiplexing, code division multiplexing access (CDMA) or other multiple access protocols may be used.
Fig. 21 B is a network diagram illustrating wireless communications of a wireless network having communications with a plurality of devices, each acting in a master or slave mode. The network includes a teacher device 2105a in communication with several student devices 2105b-d. Communications occur via a server 21 10 that coordinates master/slave states of the devices. Communications between the teacher device 2105a and student devices 2105b-d may occur wirelessly through a LAN antenna 2150. The teacher device 2105a sends communication messages 2130 via the server 2110 to create a master/slave relationship with the student devices 2105b-d. Messages sent downstream from the server 2110 to the student devices may occur through multiplexing, as described in reference to Fig. 21 A, wherein each of the devices, the teacher device 2105a and student devices 2105b-d, are assigned time slots for transmitting messages. For example, at time T=O, the teacher device 2105a sends communication messages 2130 via the server 2110 to coordinate master/slave states between the teacher device 2105a and the student devices 2105b-d. Upon receiving master/slave communications from the teacher device via the server 2130, student devices send confirmations upstream via the server 2110 to the teacher device 2105a. Once master/slave states have been determined, messaging between the devices may occur. In operation, a teacher using the teacher device 2105a can control classroom instructions once master/slave states of the devices have been coordinated via the server 2110. For example, the teacher device 2105a may be instructing students regarding math problems related to algebraic parabolas. By configuring a master/slave relationship between the devices, the teacher is able to ensure that students operating student devices 2105b-d are following along with the teacher device 2105a. The teacher using teacher device 2105a may request one of the students operating one of the student devices 2105b-d to take over instructions and provide examples of solving a math problem. For example, at time T=O, the master/slave states of the devices may be renegotiated via the server 2110, allowing the student device 2105b to temporarily act in a master mode, thereby controlling other student devices and the teacher device while the student presents the math problem. Once this instructional session has ended, the devices may renegotiate master/slave states, and, at time T=30, the teacher device 2105a may re-assume master mode and continue lecturing while controlling student devices 2105b-d. The example TDM states and timings are presented for illustration purposes only. To implement TDM or other multiplexing methodology to enable master/slave coordination and messaging exchanges, one would follow standards associated with the respective methodology, as well as understood in the art. The importance of the illustrations is with respect to the master/slave modes between the devices and optionally server(s), not with respect to a chosen communication protocol used to implement the modes. Fig. 22 is a diagram illustrating an example communications packet 2200 optionally used to communicate information between a server and a device or a device with another device in accordance with an example embodiment of the present invention. The communications packet 2200 may include various message fields including a source address field 2201, destination address field 2205, and payload field 2210. The source address field may hold information such as a hardware address of the device sending the packet 2200, an IP address of the device sending the packet 2200 or any other form of address identification of the device sending the packet 2200. Similarly, the destination address field 2205 may hold the hardware address, IP address, or any other type of address information relating to a destination device of the packet 2200. The payload field 2210 holds data being sent between the two devices or with a server.
Figs. 23 A-C are flow diagrams of methods of operating a plurality of devices, each acting in the master or slave mode in accordance with an example embodiment of the present invention. Fig. 23 A illustrates a method 2300a of initializing and negotiating master/slave modes between two devices 2305a, 2305b, referred to for the sake of description as the left device 2305a and the right device 2305b, based on their relative positions on FIG. 23 A. The method begins at 2301a, 2301b for devices 2305a and 2305b, respectively. At 2306a, the left device 2305a awaits to receive an initialization request for communication with another device from either its user or another device, such as another device or a server, via wireless communications. Contemporaneously, the right device 2301b awaits an initialization request for communication with another device from its user or another device. Assuming, at 2306a, the left device 2305a receives an initialization request from its user 2303a, the left device 2305a, at 2310a, initializes communications with another device, such as the right device 2305b. In initialing communications with the right device 2305b, the left device 2305a sends an initialization request 2312a to the right device 2305b. Upon receiving this initialization request, the right device 2305b, at 2310b, responds with initialization communications by sending an initialization request or response 2312b. Once initialization has completed, at 2312a and 2312b, the left device 2305a negotiates with the right device 2305b for a master/slave mode. In doing so, the devices 2305a, 2305b send negotiation messages 2318 to each other.. At 2320a and 2320b, the devices 2305a, 2305b determine whether they are acting in a master or slave mode. If the left device 2305a is acting in a master mode, at 2325a, the left device 2305a provides instructions to the right, now slave device 2305b, based on user interaction with the left, now master device 2305a. Then, at 2326a or 2326c, the method continues. Alternatively, if the left device 2305a is acting in a slave mode, the left, now slave device 2305a, at 2325b, awaits instructions from a master device, the left, now master device 2305b. Then, at 2326b and 2326d, the method continues.
Contemporaneously, the right device 2305b determines whether it is to be acting in a master or slave mode. At 2325c, the right device 2305b, if acting in a master mode, provides instructions to slave devices based on user interaction with the right, now master device 2305b. Alternatively, if the right device 2305b is acting in slave mode, at 2325d, the right, now slave device 2305b awaits instructions from a master device.
Fig. 23B is a flow diagram of a method 2300b of operating a plurality of devices acting in a master or slave mode. The flow diagram illustrates the left device 2305a, acting in a master mode, communicating with the right device 2305b, acting in a slave mode. The method begins for each device at 2326a and 2326b. At 2330, the left device 2305a, acting in a master mode, awaits to receive user interaction. Until it receives user interaction, the left device 2305a continues to await user interaction, but, if it has, at 2355a, the left device 2305a renders an image based on the user interaction. Then, at 2340, the left device 2305a sends instructions to the right device 2305b, acting in a slave mode, to render images according to the received user interaction with the left device 2305a (i.e., the left, master device 2305a causes the right, slave device 2305b to perform actions it is performing, in this example master/slave mode embodiment). At 2345, the right, slave device 2305b awaits to receive commands from the left, master device 2305a. If it has not, the right, slave device 2305b continues to await commands from the left, master device 2305a. If it has, at 2350, the right, slave device 2305b renders an image according to the commands. The method continues for each device at 2326a-d.
Fig. 23C is a flow diagram of a method 2300c of exchanging master/slave states between the left, master device 2305a and right, slave device 2305b. The method for each device begins at 2326c and 2326d. The right, slave device 2305b, at 2355b may send the right, master device 2305a request for renegotiation of master/slave modes. If the user of the right, slave device 2305b does not send such a request, the right, slave device 2305b, at 2360d, continues to act in a slave mode. However, if, at 2355b, the user of the right, slave device 2305b wished to send a request for renegotiation 2361 of master/slave modes, at 2360, the right, slave device 2305b sends the request for renegotiation 2361 and awaits the response from the left, master device 2305a.
At 2355a, the left, master device 2305a monitors whether it has received a request from the right, slave device 2305b to renegotiate master/slave modes. If the left, master device 2305a does not receive such a request, at 2360a, the left, master device 2305a continues to act in a master mode. If, however, the left, master device 2305a does receive such a request, at 2365a, the user of the left, master device 2305a decides whether to allow such a renegotiation of master/slave modes. If the user of device 2305a does not wish to renegotiate, the left, master device 2305a responds with a rejection of the request. At 2365b, the right, slave device 2305b receives the rejection, and, at 2360b, the right, slave device 2305b continues to act in a slave mode. If, however, the user of the left, master device 2305a does wish to allow such a renegotiation, at 2370, the left, master device 2305a sends an acknowledgment 2371 for the renegotiation of master and slave modes.
At 2365b, the right, slave device 2305b determines that it has received the acknowledgment to renegotiate master/slave modes. Then, at 2375a and 2375b, the devices 2305a, 2305b renegotiate master/slave modes via renegotiation messages 2376. At 2380a, the left, master device 2305a switches to a slave mode, while, at 2380b the right, slave device 2305b switches to a master mode. The method, at 2326b, continues for the right, now master device 2305b and the method, at 2326a, continues for the left, now slave device at 2305a. It should be understood that the methods 2300b, 2300c can be reversed in a case in which the left device 2305a is acting in a slave mode and the right device 2305b is acting in a master mode.
Figs. 24 A-C are flow diagrams of methods of operating a plurality of devices, each acting in a master/slave mode using intermediate server, in accordance with an example embodiment of the present invention.
Fig. 24A is a flow diagram of a method of initializing and negotiating master/slave modes via an intermediate server between two devices, 2405a, 2405b, referred to for the sake of description as the left device 2405a and the right device 2405b, based on their relative positions on FIG. 24A. The method begins for each device at 2401a-c. At 2406a, the left device 2405a awaits to receive an initialization request for a communications session with another device. Contemporaneously, at 2406c, the right device 2405b awaits to receive an initialization request for a communications session with another device. At 2406b, an intermediate server 2410, awaits to receive communications to pass to a specified device. The left device 2405a or the right device 2405b may receive an initialization request from either user 2402a or 2402b, respectively. Alternatively, each device may receive initialization requests from the other device.
In this example, assume that the left device 2405a receives an initialization request 2402a from its user 2402a. At 2406a, the left device 2405 a determines it has received an initialization request. Then, at 2412a, the left device 2405a begins initialization communications with the right device 2405b. The left device 2405a begins its initialization by sending an initialization request 2413 via intermediate server 2410. At 2406b, the intermediate server 2410 receives the request 2413 to pass to a specified device, being the right device 2405b. Then, at 2412b, the intermediate server 2410 passes the communications to the right device 2405b. At 2406c, the right device 2405b receives the initialization request from the left device 2405a. At 2412b, the right device 2405b initializes communications with the left device 2405a by sending an initialization acceptance 2414b via the intermediate server 2410. The intermediate server 2410, at 2406b, receives the initialization request. Then, at 2412b, the intermediate server 2410 passes the communications to the specified device, being the left device 2405a. The left device 2405a, at 2412a, receives the initialization communication. Once the left device 2405a receives the initialization communications, at 2420a, it negotiates with the right device 2405b for a master/slave mode. The left device 2405a then sends a negotiation communication 2421a via server 2410. The intermediate server 2410 passes the negotiation communications to the right device 2405b. At 2420b, right device 2405b responds with negotiation communications 2421b.
At 2430a-b, each device determines whether it is to be acting in a master or slave mode. The left device 2405a, if acting in a master mode, at 2435a, provides instructions to slave devices, such as right, now slave device 2405b, based on received user interaction. If, however, the left device 2405 a is acting in a slave mode, at 2435b, the left, now slave device 2405a awaits instructions from a master device, such as the right, now master device 2405b. Similarly, if the right device 2405b determines that it is acting in a master mode, at 2435a, the right, now master device 2405b provides instructions to slave devices, such as left, now slave device 2405a, based on received user interaction. If, however, the right device 2405b determines that it is acting in a slave mode, at 2425d, the right, now slave device 2405b awaits instructions from a master device, such as the left, now master device 2405a. The method for each device continues at 2436a-d.
Fig. 24B is a flow diagram of a method 2400b operating a plurality of devices each acting in a master/slave mode using intermediate server. The devices include the left device 2405a, acting in a master mode, intermediate server 2410, and right device 2405b, acting in a slave mode. The method begins for each device at 2436a-c. At 2440a, the left, master device 2405a awaits to receive user interaction. If it has not, the left , master device 2405a continues to await user interaction. If the left, master device 2405a receives user interaction, at 2442a, the left, master device 2405a renders an image on the appropriate display. Subsequently, at 2445, the left, master device 2405a sends commands to the right, slave device 2405b via intermediate server 2410 to render an image.
Intermediate server 2410, at 2440b, awaits to receive the communications to pass to a specified device. If the intermediate server 2410 has not received communications, it continues to monitor for received communications. If the intermediate server 2410 does receive communications from the left, master device 2405a, at 2440b, the intermediate server 2410, at 2450, passes the commands to the specified device, being the right, slave 2405b.
At 2440c, the right, slave device 2405b awaits to receive commands from the left, master device 2405a via intermediate server 2410. If the right, slave device 2405b has not received commands, it continues to monitor for received commands via the intermediate server 2410. If the right, slave device 2405b does receive commands from the left, master device 2405a via intermediate server 2410, at
2442b, the right, slave device 2405b renders an image on the appropriate display of the right, slave device 2405b, according to the received commands from the left, master device 2405 a. The method continues, for each device, at 2436a-f.
Fig. 24C is a flow diagram of a method 2400c of operating a plurality of devices each acting in master or slave mode using an intermediate server to renegotiate master and slave modes. The left, master device 2405a is in communication with the right, slave device 2405b via the intermediate server 2410. The method begins for each device at 2436d-f. At 2455c, the right, slave device 2405b monitors whether its user wishes to request to renegotiate master and slave modes with the left, master device 2405 a. If such a request is not detected, the right, slave device 2405b, at 2456b, continues to act in a slave mode. On the other hand, if the right, slave device 2406b does detect such a request, at 2460a, the right, slave device 2405b sends a request to the left, master device 2405a and awaits a response. The request to renegotiate master/slave mode 2461 a is sent via intermediate server 2410. At 2455b, intermediate server 2410 monitors for communications to be passed to a specific device. If the intermediate server 2410 has not received communications to pass to another device, at 2455, the server 2410 continues to monitor for communication messages. If the intermediate server 2410 does receive a communication that needs to be passed to another device, at 2460c, the intermediate server 2410 passes the received communications to the specified device.
At 2455a, the left, master device 2405a monitors for received requests from a slave device, such as the right, slave device 2405b to renegotiate master and slave modes. If, at 2455a, the left, master device 2405a has not received such a request, at 2456a, the left, master device 2405a continues acting in a master mode and, at 2436a, the method continues. If, on the other hand, the left, master device 2405a does receive such a request from the right, slave device 2405b to renegotiate master and slave modes, at 2460b, the left, master device 2405a determines whether its user wishes allow a renegotiation of master and slave modes. If, at 2460b, the user of left, master device 2405a does not wish to renegotiate master and slave modes, the left, master device 2405a sends a rejection 2461b to the right, slave device 2405b via intermediate server 2410. At 2470, the right, slave device 2405b receives the rejection, and, at 2456b, the right, slave device 2405b continues acting in a slave mode. The method, at 2436c, continues.
However, if the user of the left, master device 2505a wishes to allow such a renegotiation, at 2465a, the left, master device 2405a sends an acknowledgment for the renegotiation of master and slave modes. The acknowledgment 2466a, is sent via intermediate server 2410. The right, slave device 2405b, at 2470, receives the acknowledgment. Upon determining that the renegotiation request has been acknowledged, at 2475, the right, slave device 2405b begins renegotiations with the left, master device 2405a for a switch of master/salve modes. The right, slave device 2405b then sends a renegotiation communication 2476a via intermediate server 2410. At 2480, the left, master device 2405a receives the renegotiation communication, and responds with renegotiation communications 2481a. At 2490a, the left, master device 2405a switches to a slave mode, and contemporaneously the right, slave device 2405b, at 2490b, switches to a master mode. The method for the left, now slave device 2405a continues at 2436a, while the method for the right, now master device 2405b continues at 2436a.
It should be understood that the methods 2400b, 2400c can be reversed in a case in which the left device 2405a is acting in a slave mode and the right device 2405b is acting in a master mode. Figs. 25 A-B are flow diagrams of a method 2500a of operating devices acting in a slave mode in combination with a central server acting in a master mode.
Fig. 25 A is a flow diagram of a method of initializing and negotiating master/slave modes between an intermediate server2510 and two devices, 2405a, 2405b, referred to for the sake of description as the left device 2405a and the right device 2405b, based on their relative positions on FIG. 25 A. The server 2510 is in communication with devices 2505a and 2505b. The method begins for each device at 2501a-c. At 2506a, the server 2510 initializes Communications with devices 2505a and 2505b by sending an initialization communication 2507a to the left device 2505a and sending an initialization communication 2507b to the right device 2505b. At 2508a, the left device 2505a monitors for received initialization requests. If the left device 2505a has not received an initialization request, the left device 2505a continues to monitor for such an initialization request. Similarly, at 2508b, device 2505b awaits for an initialization request. If the right device 2505b has not received a communication request, the right device 2505b continues to monitor for an initialization request. On the other hand, if the left device 2505a receives an initialization communication 2507a, at 2520a, the left device 2505a negotiates with server 2510 for a server mode as master in a communication session. Similarly, the right device 2505b, at 2520b, upon receiving an initialization request from intermediate server 2510 at 2508b, negotiates with the server 2510 for the server mode as master in a communication session.
At 2512, the server 2510 negotiates with the left device 2505a and right device 2505b for a master mode in the communication session by sending a negotiation command 2513a to the left device 2505a, and a negotiation command 2513b to the right device 2505b. At 2525, the intermediate server now acting in a master mode provides instructions to the devices for rendering images. The server 2510 sends instruction 2526a to the left device 2505a. Similarly, server 2510 sends instruction 2526b to the right device 2505b.
At 2530a, device 2505a awaits instructions from the server 2510. Similarly, at 2530b, the right device 2505b awaits instructions from server. The method continues for the left device 2505a at 2531 a, the method continues for server 2510 at 253 Ib, and the method continues for the right device 2505b at 253 Ic.
Fig. 25B is a flow diagram of a method 2500b of operating devices acting in a slave mode in combination with a server acting in a master mode. The method begins for server 2510, at 2531b, for the left device 2505a, at 2531a, and the right device 2505b, at 2531c. At 2535, the server 2510 monitors for user interaction. If the server 2510 has not received user interaction, it continues monitoring for such user interaction. If, however, the server 2510 receives user interaction, at 2540, the server 2510 passes commands to the left device 2505a and right device 2505b, each acting in a slave mode, to render images according to the user interaction. The server 2510 passes instructions 2541a to the left device 2505a and instructions 2541b to the right device 2505b. At 2545a, the left device 2505a monitors for received commands from server
2510. Upon receiving a command from the server 2510, at 2550a, the left device 2505a renders images according to the commands. Similarly, at 2545b, the right device 2505b monitors for received commands from server 2510. Upon receiving such commands, at 2550b, the right device 2505b renders images according to the commands. The method continues, at 253 Ia, for the left device 2505a, at 253 Ib ,for server 2510, and, at 2531c , for the right device 2505b.
Operations of a device within a context of a system were described above in reference to FIGS. 6-25B. FIGS. 26A-D illustrate an example application of the device, namely annotating a source reference, storing the annotations with coding to enable later retrieval with accurate presentation with respect to the source reference, and sharing the annotations with users of other devices.
Fig. 26A is a graphical diagram of content of a primary source (e.g., pages of a text book) annotated by a user of a device 2605. The device 2605 includes a bistable display 2606a and a refresh display 2606b. Content of the primary source may be rendered on the bi-stable display 2606a as an image 2608. Similarly, an image of the primary source may be rendered on the refresh display 2606b. The difference between the rendered images is that, with today's bi-stable displays, the image rendered on the bi-stable display 2606a is grey-scale and us updated slowly, such as when flipping to a next page of an electronic book, while the image rendered on the refresh display 2606b may be full color and updates very quickly, such as faster than video rates of 30 frames per second or more. The advantage of the bistable display 2606a is in its very low power consumption, but at an expense of color and refresh rate. A user may annotate the primary source via either display 2606a or 2606b to include information used to supplement the content. For example, the user may include annotations 2630a-h that provide some additional information to be associated with the primary source for optional future reference. For example, the user may include hand-written annotations 2630a-b, textual annotations 2630c, link annotations 263Od, multi-media annotations such as video annotation 263Oe, sound annotations 2630f, attachment annotations 263Og, or highlighted annotations 263Oh. Other example annotations may include graphical annotations or formatting annotations.
The annotations may be associated with the primary source (or representation thereof) in a number of ways, including: graphical overlay in a separate layer; inline or embedded association in a form of in-line text, modified text, and so forth in a same graphical layer as the primary source; softbutton or icon located in the same or different layer as the primary source; and so forth, as understood in the art.
Fig. 26B is a block diagram of an annotations module used to annotate content of a primary source. The annotations module 2640 includes a device indicator module 2645, primary source identifier module 2650, annotations indicator 2655, and positional indicator 2660. When a user of the device 2605 applies annotations to a primary source via the device 2605, the annotations module 2640 associates information with the representation of the annotation. For example, the annotations module 2640 may associate a unique user device indicator (i.e., identifier) via the device indicator module 2645 to a representation of the annotation that identifies the specific device used to apply the annotations to the primary source.
Further, the device indicator module 2640 may also associate a unique user indicator that identifies a person that was using the device. For example, the device may have a biometric sign-in (e.g., fingerprint reader, iris reader, or voice identifier) that allows the device indicator module 2640 to determine that a given person made a particular annotation based on the sign-in information. Similarly, a user may provide annotations using a stylus pen (not shown) having a unique code, recognizable by the device, that identifies the person who owns the pen. In this example, in the case of an RF-emitting stylus pen, a unique code that rides on or modulates the RF signal and identity of the person who owns the stylus pen may be registered with a central registry (not shown). The annotations uploaded to an annotations server may include or otherwise be associated with the code, and the annotations server may access the central registry and associate with the annotations an identity of the person associated with the unique code. In a similar or the same way, the device indicator module 2640 may associate a specific person with the annotation.
In addition, the annotations module 2640 may provide a primary source identifier using the primary source identifier module 2650 that identifies the primary source upon which the annotation is applied. The annotations module 2640 may use an annotations indicator 2655 that monitors where the annotation is applied relative to the primary source in conjunction with positional indicator 2660 that indicates a position of the primary source to which the annotation was applied. The annotations with associated information may be referred to herein as coded annotations.
FIG. 26C is a flow diagram of a method of annotating content of a primary source by a user of a device. At 2601, the method begins. The device, at 2612, monitors whether it has received user interaction with an image rendered via at least one of the device's displays. If the device has not received such a user interaction, the device, at 2612, continues monitoring for user interaction. If the device has received user interaction with an image rendered via at least one of the device's displays, at 2615, the device determines if the user interaction includes the annotation of a primary source by a user. If the user interaction does not include an annotation with a primary source, the device, at 2620, processes the user interaction, accordingly. The method, at 2611, continues. If, however, the user interaction does include an annotation to a primary source, the device, at 2625, associates information such as a unique user device indicator, primary source indicator, and annotation positional indicator, to a representation of the annotation. The device, at 2630, stores the representation of the annotation in storage. At 2635, the device or any other device may optionally retrieve the annotation from storage. The method, at 261 1 , continues.
Figure imgf000059_0001
Table
As discussed above in reference to Figs. 26A-C, information may be associated with a representation of an annotation. This information may be useful to identify a device used to create the annotation, primary source upon which the annotation was applied, and position with respect to the primary source of the applied annotation. In addition, a collaboration-indication code and time code may be associated with the representation of the annotation. The collaboration-indication code may be used to identify users annotating a primary source via a single device, or users annotating a primary reference during a single session, such as a tutorial session, classroom instruction, or boardroom meeting. As illustrated in the Table above, the collaboration-indication code identifies users applying annotations to a primary source and the user that applied a specific annotation. The collaboration- indication code may be useful for forensic purposes, such as identifying users applying annotations collaboratively, and metrics to identify benefits of collaborative work.
Fig. 26D is a block diagram illustrating storage and acquisition of annotations or notes by the device 2605. It should be understood that acquisition of the annotations may also be performed by other devices. The device 2605 may include a bi-stable display 2606a and a refresh display 2606b or a single display of either type. As illustrated, the user of the device has applied a note in the form of an annotation, which may be referred to herein as "dirty" before coding or other processing has been applied. The user may include more than one note 261 la-n. Upon providing notes associated with a primary source, the user of device 2605 may wish to store the notes in a storage device. The user may then upload the note to a content management store 2610. Similarly, the content management store may store 2610 notes from a professor 2607a or various other notes associated with a primary source, such as from a profession notes service 2607b. A global user ID (GUID) 2613 may be associated with each note. The GUID may be used to identify the user who created the note or what device was used to create the note. Many other forms of IDs may also be applied. In addition, many different codes, such as those described above in terms of identifying a particular book, version, page number, line number, spatial position, orientation, collaboration may also be stored with the note at the web store 2662 and later retrieved with the note. For example, a user who purchases an annotation or a note may access a link, associated with the annotation or provided in the note, pointing to a uniform resource locator (URL) of a webstore from which to purchase content associated with the note. The codes may be considered an annotation code or as type of metadata, depending on ones point of view.
These notes may be transferred to other users via a web store 2662, accessible via a standard or customized dashboard. The web store 2662 may be accessible by customers via an interface 2663. Using the web store 2662, other users may purchase or otherwise obtain notes, new books, or products 2665a.
The web store 2662 may be in communications with an enterprise resource platform 2675 via a communication link 2670. The enterprise resource platform 2675 may provide an accounting warehouse, employee information, vendor information, inventory management capabilities, and business intelligence capabilities.
Fig. 26E is a block diagram illustrating storage and retrieval of multiple versions of a single note (or annotation or other user-generated content such as audio or video content). A user of a first device 2605a may create a note 2691a associated with content the user of the first device 2605a may be accessing. The note 2691a, as stated in reference to Fig. 26D, may have information (e.g., metadata) associated with it. The user may then decide to upload the note 2691a to the content management server 2610 for storage, later retrieval, or distribution to other users. A user of a second device 2605b may then wish to download the note 2691a. The user of the second device 2605b may have found the note 2691a through a search of the content management server or otherwise have been notified of its existence and availability. Upon retrieving the note 2691a, the user of the second device 2605b may wish to edit the note 2691 a. The user may wish to edit the first note 2961 a for a multitude of reasons, such as for correcting an error or adding additional information. Following editing of the first note 2691a, the user of the second device 2605b, has created a second version 2691b of the first note 2691a. This second version 2691a may then be uploaded to the content management server 2610. The editing process may continue through an n^ user of an rP device 2605n. Different versions of notes may be illustrated in the content management server 2610 numerically or through the use of color differentiation or other technique. Although the figure illustrates users editing a note to create several versions 2691a-« of the single note, any type of media content (e.g., audio, video, etc.) may be amended to have several versions.
Fig. 26F is a block diagram illustrating the relationship between different versions of annotations. As stated above in reference to Fig. 26D, each note may be assigned a Global User ID (GUID). The GUID of an original annotation (or note), or the first version of the annotation, may be referred to as a root parent annotation, and the GUID is considered a root parent ID. Each subsequent version of the annotation may be referred to as a child annotation, and the GUID may then be referred to as a child ID. Each child annotation may be the parent annotation of a subsequent version. A child annotation may include metadata that refers to its parent annotation. This reference allows a user who acquires an annotation to track the progression of edits made to the most current version of the annotation all the way back to the original or root parent annotation.
For example, a user Sally may create a root parent annotation 2680a. Subsequently, n versions of the root parent annotation 2680a may be created. Each version of an annotation may include embedded data, such as metadata, that refers to its parent annotation. As illustrated, users Kim and Mark have created the most recent child annotations 268Oh and 268Oj (versions) of Sally's root parent annotation 2680a. Kim's annotation 268Oh includes metadata that refers to its parent annotation, which is child annotation 'G,' created by Jim. Similarly, Mark's annotation 268Oj includes metadata that refers to its parent annotation, which is child annotation 'I,' created by Nikhil. Each child annotation, as illustrated, refers to its parent annotation, leading back to the original, or root parent annotation 'A,' created by Sally.
In some circumstances, an annotation may be the child of more than one parent annotation. As illustrated, annotation ςG,' created by Jim, may be the child annotation of both annotation 'D,' created by John, and annotation 'E,' created by Thomas. Jim may have originally edited one of the annotations, and then copied content from the other annotation. Upon copying, the copied text may contain embedded data, referencing its source.
The referencing of parent annotations allows an author of an annotation to maintain rights to versions of the author's annotation. Similarly, referencing of parent annotation(s) may prevent, be used to prevent, or be used to identify plagiarism of annotations .
In addition, a centralized annotation versions database (not shown) at an annotations server (not shown) may store all of the relationships among the annotations. In that way, deletion of a child annotation from a middle portion of a chain of annotations versions does not prevent future determination of an annotation's lineage all the way back to the root parent annotation. Moreover, although annotations are illustrated as having metadata indications of itself and its immediate predecessor annotation(s) (parent annotation(s)), the metadata may include any number of metadata indications, including metadata indications all the way back to the parent annotation. However, keeping the number of metadata indications to a small number allows for better scalability.
FIGS. 27-30 illustrate an embodiment of the invention in which a device includes two displays, such as a bi-stable and refresh display or other different display types, in which a user may view content on one display, having a set of characteristics, such as grey-scale in the case of a bi-stable display, but have a preference or need to see the content via the other display, having a different set of characteristics, such as color or higher refresh rate in the case of a refresh display (e.g., color LCD display).
Fig. 27 is a diagram of an image 2708 rendered on a bi-stable display 2706a of a device2705 that may be selectively rendered, in part or in whole, on a refresh display of the device 2705. As illustrated, an image 2708 is rendered on the bistable display 2706a. The image 2708 to be displayed via the bi-stable display 2706a may be first rendered by software using an image buffer in a color RGB (red green blue) pixel image format. The data in the buffer may be passed to a graphical display library, which renders the image as a grey scale image via the bi-stable display 2706a.
The original image buffer may be retained for use by a snapshot tool, which may be implemented via hardware, firmware, or hardware configured by software. If and when a user chooses to display a portion of the current image rendered on the bi-stable display 2706a on the refresh display 2706b, the user may invoke a snapshot tool (e.g., accessed by "clicking" on a camera icon (not shown)) on the bi-stable display 2706a. A single click on the camera icon may activate the snapshot tool. If the user selects the camera icon a second time, a controller (not shown) inside the device 2705 transfers the complete image 2708 rendered on the bi-stable display 2706a to be rendered via the refresh display 2706b. Alternatively, the user may select the camera icon one time and choose to select a portion of the image 2708 by dragging a stylus (e.g., cursor controlled b y a computer mouse) over a region of the image 2708. The point at which the user first contacts the stylus to the display 2706a is considered the start point and, when the user raises the stylus from the display 2706a, that point is considered the end point. The two points may be translated by the controller to minimum and maximum values (or other values) in x and y directions to determine the region of the image buffer to transfer to the refresh display 2706b. After transfer is done by writing the relevant chosen portion of the image 2708 into a bitmap (BMP) formatted image file (not shown), joint photographic experts group (JPEG), tagged image file (TIF), portable network graphic (PNG), or any other file type, the location for a path to the image file is sent in a message (not shown) via an Internet Protocol (IP) socket (or other mechanism) to the refresh display 2706b. When the refresh display 2706b receives the message, the refresh display 2706b or associated controller raises an intent (i.e., software request instantiated for a particular purpose) to view a BMP image, which is handled by a refresh display viewer (not shown), which may be capable of scaling and panning the image 2709 on the refresh display 2706b, and, optionally, performing other graphical functions. Fig. 28 is a diagram of an image 2808 rendered on a bi-stable display 2806a of the device 2805, a portion 2807a of which is illustrated as being selectively rendered on a refresh display 2806b of the device 2805 according to user selection. An image 2808 is rendered on the bi-stable display 2806a. In this example embodiment, a user has defined a user-selected portion 2807a of the image 2808 through marking thereon two points, such as an upper left and lower right pair of points 2807-UL and 2807-LR, respectively, defining a size and shape of a rectangle, via a human-to-machine interface, such as a touch screen. The selection 2807a is then rendered as an image 2809, 2807b via the refresh display 2806b according to the methods described in reference to Fig. 27, among others. Fig. 29A is a diagram illustrating a "swept" selection area 2907a of an image
2908 rendered on a bi-stable display 2906a of a device 2905 in grey-scale and responsively rendered on the refresh display 2906b of the device 2905 in color, or full content. The sweep region 2807a specifies a portion of a primary source to be rendered in full content view via the refresh display 2906b (e.g., color, animation). Similarly, a user may sweep a region 2907 of an image 2909 rendered on the refresh display 2906b to be rendered via the bi-stable display 2906a to enable users to annotate representations of content within the region or simply to view the representations of content on a low power, bi-stable display.
It should be understood that the term "swept" in reference to a selection of the portion of the image is a reference to placing a cursor at a first position of the image, dragging the cursor across the image, and lifting the cursor at a second position of the image, a technique well understood in the art of user interaction with a graphical user interface. Alternative techniques to sweeping may include pre- specifying a shape and size of a geometric shape, such as a square, circle, rectangle, hexagon, and so forth, and pre-specifying a position of user-selection point (e.g., center) relative to the geometric shape that the user specifies to define an image area to render from one display to the other.
Fig. 29B is a block diagram of controllers passing messages from a bi-stable display to a refresh display 2906b indicating that a selection of an image should be rendered on the refresh display 2906b, or vice-versa. For example, a bi-stable display controller 2912a receives a user selection input 2920. In response, the bi- stable display controller 2912a sends a message 2925 with (or referencing) location parameter(s) (e.g., upper left, lower right) of the user selection input 2920 to an IP socket 2926 of the refresh display controller 2912b. Other example parameters may include center/radius, for a circle, column/line/character for text, major axis length/minor axis length for an ellipse, and so forth. The refresh display controller 2912b then sends the location parameters of the user selection input 2920 to a full content image storage 2910, which retrieves full content data 2926b from on-board (or remote) memory 2911 (e.g., RAM or non- volatile memory) in order to display a portion of an image according to the user selection 2920 via the refresh display 2906b in full content. Fig. 29C is a flow diagram of a method of rendering at least a portion of an image rendered on a first display onto a second display based on user interaction with a display or image thereon. The method begins at 2901. At 2930, the method 2900 determines whether a user has entered a selection of content (e.g., interacted with the content) rendered on a bi-stable (or refresh) display of the device. If so, at 2935, the bi-stable display causes the refresh display to render the selection of the content. The method 2900 then continues at 2931. Otherwise, if, at 2930, user interaction with content rendered on the bi-stable (or refresh) display was not received, at 2940, the method 2900 determines whether the device has accepted user interaction with content rendered on a refresh display. If so, the refresh display, at 2945, causes the bi-stable display to render a selection of the content. The method 2900 then continues at 2931. Similarly, if the refresh display has not accepted user interaction, the method continues at 2931.
Fig. 30 is another block diagram of controllers passing messages from a bistable display to a refresh display indicating a selection of an image to be rendered on the refresh display. The device 3005 includes a bi-stable display 3006a including a touch screen 2008a and a refresh display 3006b including a touch screen 3008b. The bi-stable display 3006a is operationally coupled to a bi-stable display controller 3012a; similarly, the refresh display 3006b is operationally coupled to a refresh display controller 3012b. The bi-stable display controller 3012b may also include an image buffer 3012, and a refresh display controller 3012b may include a view manager 3012c. The device 3005 utilizes content storage 3010, which stores content (e.g., books), as well as a microprocessor 3015 in order to transfer images from one display to another. The bi-stable display controller 3012a receives, from the microprocessor 3015, a display image 3016 in which the bi-stable display controller renders the image 3014 in a bi-stable display format via the bi-stable display 3006a. The bi-stable display 3006a may then receive user input 3016 via the touch screen 3000a with an image rendered via the bi-stable display 3006a.
The user may select a region of the image 3020, and the bi-stable display controller 3012a, in response, writes the portion of the image parameters 3025 to content storage 3010. Contemporaneously, the bi-stable display controller 3012a sends the image portion parameters 3030 to the refresh display controller 3012b.
The refresh display controller 3012b then sends an intention message 3031 to a view manager 3012c, which may, optionally, be within the refresh display controller, signaling that the selection of the image is to be rendered via refresh display 2006b. In response, the view manager 3012c reads a bitmap (BMP) or other formatted file 3033 from the content storage 3010, which was written by the bi-stable display controller 3012a. Once the view manager 3012c reads the file, it displays the image with full content via the refresh display in a refresh display format.
It should be understood that the example block diagram may be modified or repeated to enable user selection of a portion of an image rendered on the refresh display for rendering on the bi-stable display. Other components, modules, communications, storage elements and formats that enable selective image rendering may also be employed.
Examples of devices, systems, networks and applications have been described above. In some environments, capturing and storing sound within the environment may be useful to users, such as in a classroom setting to enable a student to annotate classroom notes or a source reference with a sound recording. Standard directional microphone(s) may be employed or specially configured microphone(s) may be employed to reduce echo due to multipath of sound within the environment, such as an instructor's voice traveling directly to the microphone(s) and reflected by a wall to the microphone(s). Noise reduction techniques specific to a configuration of the microphone(s) may be employed, such as to reduce common mode noise at a pair of microphones, such as due to ventilation noise. The examples of microphone configurations, and optional noise reduction are described below in reference to Figs. 31A-34B.
Fig. 31 A is a schematic diagram of a device 3105 with indications of location(s) of microphone(s). The device 3105 includes two displays 3106a and 3106b coupled by a rotational hinge in this example embodiment. In alternative embodiments, the device may be a single display with microphone(s) configured therewith The device 3105 includes a chassis 3102 with a base surface 3103b and vertical surface 3103a. The chassis 3102 defines an opening 311 Oa through a vertical surface 3103 a of the chassis 3102. The chassis 3102 may also include an opening 311 Ob through an opposing vertical surface 3109c. The openings 311 Oa and 3110b may be slots or other geometric shapes configured to pass sound waves from an exterior of the chassis to an interior of the chassis, optionally with or without filtering characteristics.
Fig. 3 IB is a schematic diagram illustrating example operational components of a microphone of Fig. 31 A. As illustrated, an opening 311 Oa is defined on a vertical surface 3103a of a chassis 3102. A microphone 3112 within the chassis 3102 includes a diaphragm 3115, structural member 3125, and pressure zone 3120 defined therebetween. The diaphragm 3125 is arranged in an acoustical arrangement with the opening 311 Oa and in parallel arrangement with the structural member 3125 at a distance from the structural member 3125 to form the pressure zone 3120. The distance, or pressure zone 3120, is known to mitigate interference caused by a phase difference between a direct sound wave and a reflected sound wave, each emanating from a common source and each entering the pressure zone via the opening 3110a. The reflected sound wave is substantially the same as the direct sound wave, but is reflected off a surface external from the chassis 3102. The microphone 3112 is configured to produce electrical signals representative of at least the direct and reflected sound waves based on a combined effect on the diaphragm 3115. Fig. 31C is a schematic diagram of an open-frame microphone 3112 illustrating conversion of sound waves into electrical signals of Fig. 3 IA. As stated above, the microphone 3112 is configured to produce electrical signals 3135 representative of sound waves 3130, including at least direct and reflected sound waves 3130 emanating from a common source (e.g., an instructor in a classroom). As illustrated in FIG. 31C, the sound waves 3130 enter a pressure zone 3120, in part defined by a height above the structural member 3125 and below the diaphragm 31 15. The diaphragm 31 15 is vibrationally sensitive to the sound waves, and, as a result, produces the electrical signal 3135 as a function of the sound waves 3130 acting upon it from within the pressure zone 3120.
Fig. 32 A is a schematic diagram of a noise reduction module 3220 operationally coupled to a plurality of microphones (i.e., at least two) 3210a, 3210b associated with an electronic device, such as the device 3105 of Fig. 3 IA. The microphones 3210a, 3210b are configured to produce electrical signals representative of sound waves, as described immediately above. In the example scenario of Fig. 32A, a first of two microphones 3210a, 3210b as illustrated, detect sound waves from a fan 3206 as well as teacher sound waves 3227 generated by a first person, such as a teacher lecturing in a classroom setting. Similarly, a second of the two microphones 3210b detects fan sound waves 3206 from the same fan as detected by the first of two microphones 3210a as well as sound waves 3226 generated by a second of the two persons, such as a student. The microphones 3210a, 3210b produce electrical signals as a function of their respectively sensed sound waves and pass their respectively produced electrical signals 3235a, 3235b to the noise reduction module 3220.
The noise reduction module 3220 is configured to process the electrical signals 3235a, 3235b and output a noise-reduced electrical signal 3230 by subtracting the first electrical 3235a signal from the second electrical signal 3235. Subtracting (or otherwise combining) the electrical signals 3235a, 3235b produces the output electrical signal 3230, in this case, with teacher and student sound waves (e.g., voices) with minimal fan noise 3230 because the fan sound waves 3206 are substantially the same as received by both microphones 3210a, 3210b (i.e., are observed as common mode noise), so subtracting (or otherwise combining) their counter buttons within two electrical signals 3235a significantly reduces the amount of fan sound waves 3206 represented in the output electrical signal 3230. In other words, the noise reduction module 3220 is configured for the electrical filtering of sound waves through the elimination of common mode sound waves. In operation, the noise reduction module is able to minimize ambient noise detected by microphones 3210a and 3210b and produce an output electrical signal 3230 principally representing desired sound. Fig. 32B is a schematic diagram illustrating a microphone capturing direct and reflected sound waves from a common source. Sound waves can travel in a straight line, bend, or travel in multiple directions due to reflections off surfaces; therefore, sound waves from a common source may be reflected off several surfaces and travel to the microphone via different angles. As illustrated in Fig. 32B, sound waves from a common source 3227 (e.g., mouth of an instructor) enter a pressure zone 3220 of microphone 3212 via an opening 3210a. The sound waves may travel directly from the source to the microphone 3212 or travel indirectly to the microphone 3212 by traveling from the source to the microphone by reflecting off a surface 3211. The diaphragm 3215, in parallel arrangement with structural member 3225, is at a distance known to be a pressure zone 3220 that mitigates interference caused by a phase difference between the direct sound wave and the reflected sound wave to provide a high quality frequency sound recorded by a device in the form of numerical representations, for example, to a computer readable memory in an electrical representation to be sampled. FIG. 32C is a schematic diagram illustrating a position of a diaphragm of a microphone that facilitates mechanical filtering of sound waves. As stated above, the diaphragm 3215 is arranged in an acoustical arrangement with the opening 3210 and in parallel arrangement with the structural member 3225 at a distance from the structural member 3225 to form the pressure zone 3220. The placement of the diaphragm 3215 in relation to the opening 3110 and structural member 3225 allows only sound waves from certain angles to be detected by the diaphragm 3215. As illustrated, the diaphragm 3215 is most sensitive to sound waves coming from within a conical direction 3240. This is due to the fact that sound waves coming from within this conical direction 3240 enter the pressure zone 3220, allowing the diaphragm 3215 to detect the sound waves. Sound waves not within this conical direction 3240 either do not enter the opening 3210 or enter the opening 3210 but do not enter the pressure zone 3220. Thus, one can understand that the microphone has a highest sensitivity to sound waved from a low angular direction relative to the opening 3210, which may be parallel to a table top, and lowest sensitivity from a high angular direction 3250 relative to the opening 3210, closer to being perpendicular to the table top. Fig. 32D is a schematic diagram of the device 3205 capturing sound via microphones each positioned on a different edge or surface of the device. The device 3205 captures sounds via two openings 3210a and 3210b acoustically coupled to microphones within the device 3205. An on-axis opening 3210a is positioned on an on-axis side of the device 3205, and an off-axis opening 3210b is positioned on an off-axis side of the device 3205, where on-axis and off-axis sides can refer to teacher side and student side, or other designations, respectively. The positioning of the microphones within the device 3205 allows the microphones to capture sound waves useful to a user of device 3205 while enabling significant noise reduction through as little as subtraction of electrical signals produced by the microphones.
Fig. 33 is a block diagram illustrating an example apparatus that can be employed to record sound waves into a content database and to access the recorded sounds from the database. Captured sounds 3320 received from a microphone of a device, is received by a sound recorder 3317. The sound recorder 3317 may allow a user to preview and potentially re-record a recording then (or before) store the captured sound 3320 to memory, which may be a form of a content database 3310. The second recorder 3317 may also allow a user to enter a title and description for the recording. The sound recorder 3317 may then pass recorded sound to a media player 3315, which may create a sound file 3330 in which the sound record 3317 may insert a content record 3335 into the content database 3310. Later, a user can retrieve the sound recorded file from the content database 3310 using a Uniform Resource Indicator (URI) 3340.
Figs. 34A-B are flow diagrams of a method 3400 of mitigating sound interference received by a microphone and producing a noise reduced signal in accordance with an example embodiment of the present invention. The method 3400 begins for a first microphone 3401, at 3405a, and a second microphone 3402, at 3405b. At 3410a, the first microphone 3401 awaits to receive sound waves. Similarly, at 3410b, the second microphone 3402 awaits to receive sound waves. Once at least one of the microphones has received a sound wave at 3415a-b, each microphone automatically mitigates as a function of pressure zone, sound interference due to phase differences between direct and reflected sound waves from a common source. Although the microphones may simply transduce sound waves to electrical signals, the example method 3400 illustrated an embodiment by which an arming technique may be employed and a triggering event, such as a threshold volume of captured sound by at least one of the microphones, enables capturing of further sound via the microphone pre-recording (not shown) may be employed to ensure clipping at a leading edge of sound capture does not occur.
Continuing to refer to Fig. 34 A, at 3420a, the first microphone produces a first electrical signal representative of the sound waves received. Similarly, at 3420b, the second microphone 3402 produces a second electrical signal representative of the sound waves received. At 3425a, the first microphone passes the first electrical signal to a noise reduction module. At 3425b, the second microphone 3402 passes the second electrical signal to the noise reduction module.' The example method that may be employed with the first microphone continues at 3430a and with the second microphone continues at 3430b.
Fig. 34B begins at 3430a and 3430b. At 3435, the noise reduction module subtracts a received first electrical signal from a received second electrical signal and produces a noise reduced signal. Using simple subtraction, the noise reduced signal is primarily a common mode noise reduced signal (e.g., the same amplitude and phase sound is received at both microphones subtracts to be essentially zero). More sophisticated noise reduction techniques known in the art may also be employed. Optionally, at 3440, the noise reduced signal may be stored. Similarly, at 3450, optionally, content displayed on a display of a device may be annotated by a user with the recorded signal. Optionally, at 3452, the recorded signal may be annotated with states of the device (e.g., content being displayed during the recording), such that during playback of the recorded signal, the device may render the content displayed during the recording of the recorded signal. Likewise, returning the device to a previous state may enable the device to produce the recorded signal while the device is in that state. At 3455, the method ends.
Fig. 34C is a block diagram of a device, system, network node, server, or other electronic device that employs a metric calculation unit and an audio selection unit to process audio recordings. A metric calculation unit 3465 receives a plurality of audio recording 3460 from a plurality of devices, such as the devices 105 (FIG. 1) used by students in a classroom. The audio recordings may have associated information or metadata associated therewith, where the information or metadata may be, for example, a unique user device indicator identifying a device via which at least a portion of the audio recording was captured, collaboration-indication code identifying other devices active during a session in which the device captured the audio recording, or an identifier of the session during which the device captured at least a portion of the audio recording.
The metadata may be used for forensic purposes, such as identifying active participants during a session, such as a tutorial session, classroom instruction, or boardroom meeting. In addition, the metadata may be used for the collection and processing of statistical data. Active participants may be identified because their devices communicated with other devices or a central sewer during a session, such as in the form of communicating as a master or slave with the other devices or server or in some other way interacted with the other devices or server. It should be understood that a log of the devices active during the session may be kept by one or multiple devices or servers, and the data log may be accessed when determining the information or metadata to associate with the audio recording (or annotations or other media generated by the device(s) or a server or computer) for use in later forensic information retrieval.
Upon receiving the audio recording 3460, the metric calculation μnit 3465 calculates metrics associated with the audio recordings. The metrics may include signal-to-noise ratio (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, distortion, or other metrics associated with audio signals. The metrics may include multiple metrics (e.g., an array of metrics) for each audio recording 3460. The metric calculation unit 3465 then passes metrics 3467 calculated as a function of respective audio recordings 3460 to an audio selection unit 3470. Contemporaneously, the audio selection unit 3470 also receives the audio recordings 3460. The audio selection unit 3470 may associate the metrics 3467 received with the corresponding audio recording through an identification tag. After receiving the metrics 3467 and audio recordings 3460, the audio selection unit 3470 selects audio recording(s) based on the metrics. For example, the audio selection unit 3470 may select the audio recording having metric(s) that indicate it is best suited to be heard by the human ear.
Upon selecting the audio recording, the audio selection unit 3470, sends the selected audio recording 3475 to a server or device 3430. The selected audio recording 3475 may automatically replace all captured audio recordings on the devices active during the session, such that all users have the "best" audio recording. Alternatively, the selected audio recording 3475 may be archived at a server for optional download by devices at a later date.
Fig. 34D is a block diagram of a system (e.g., a device 105) with a partitioning module, metric calculation unit, and audio selection unit used to process audio recordings. A partitioning module 3480 receives a plurality of audio recordings 3460 from a plurality of devices. The audio recordings may have associated therewith information or metadata, such as a unique user device indicator identifying a device via which at least a portion of an audio recording was captured, collaboration-indication code identifying other devices active during a session in which the devices captured the audio recordings, or an identifier of the session during which the devices captured at least a portion of the audio recordings.
The metadata may be used for forensic purposes, such as identifying active participants during a session, such as a tutorial session, classroom instruction, or boardroom meeting. In addition, the metadata may be used for the collection and processing of statistical data. Following receipt of the audio recording 3460, the partitioning module 3480 aligns each recording according to a start or end indicator, or other form(s) of indicators that enable alignment, including content of the recordings. The alignment of each recording may alternatively be enabled by use of a master clock used to synchronize internal clocks of each device. Alternatively, the partitioning module 3480 may monitor each device's clock and align each recording based on knowledge of offsets among the clocks. The partitioning module 3480 then partitions each audio recording into multiple sequential segments. The partitioning module 3480 may partition each audio recording based on a predetermined time period (such as milliseconds or seconds) or determine a partitioning rate depending on the length of the audio recording. As the audio recordings are partitioned, the partitioning module 3480 may assign an identifier to each segment containing segment identification used to identify the segment and audio recording identification used to identify to which audio recording the segment belongs. The partitioning module 3480 then sends the segments to the metric calculation unit 3465.
Following receipt of the multiple sequential segments 3466 of the audio recordings 3460, the metric calculation unit 3465 calculates metrics associated with the segments. The metrics may include a subset or all of the following example metrics: signal-to-noise ratio (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, and distortion. The metric calculation unit 3465 then passes metrics associated with each segment 3467 to an audio selection unit 3470. Following receipt of the metrics 3467 and audio recording segments 3466, the audio selection unit 3470 selects the segments having metric value(s) according to a given criterion or criteria, such as value(s) indicating a given segment is most optimal for playback for a user of a device that captured the audio recording. In one embodiment, the audio selection unit 3470 may select the segment of an audio recording having metric(s) that are best suited to be heard by the human ear. For example, an audio recording captured by a first device in close proximity to a professor who raises a question to a class may contain a segment of recording of the question that is clearer than an audio recording captured from a second device at a greater distance from the professor or that is positioned behind another student in the class. However, the second device may contain a segment of an audio recording of a student's response to the professor's questions that is clearer than the corresponding segment from the first device in close proximity to the professor.
Following selection of the audio recording segments, the audio selection unit 3470 arranges the selected segments sequentially in time to form a sequential composite audio recording 3485. Optionally, the audio selection unit 3470 may contain a voice quality enhancer used to enhance the voice quality of the composite audio recording 3485. Similarly, the audio selection unit 3470 may contain a smoothing unit 3472 used to smooth the transition between selected segments associated with different audio recordings. For example, smoothing may include fading volume of a first segment (e.g., recording of the professor's question) and raising volume of a second segment (e.g., recording of a student's answer), or applying any other form of manipulation of the composite recording, to remove or reduce detection of transition between segments by the human ear. It should be understood that different devices record at different levels, such as due to variations in audio capture gain between the devices, or have different levels of background noise, such as due to positioning beneath a ceiling or floor vent, so applying smoothing between transitions or applying other forms of filtering or voice quality enhancement can improve the overall quality of the sequential composite audio recording 3485.
The audio selection unit 3470 then sends the sequential composite audio recording 3485 to a server or device 3430. The selected audio recording 3475 may automatically replace all captured audio recordings during a session, such that all users have the "best" audio recording. Alternatively or in addition, the audio recording may be archived at a server for optional download by devices at a later date.
It should be understood that the same principles applied to audio recordings as illustrated in FIGS. 34C and 34D may be applied to video recordings in an event multiple devices equipped with video capabilities record video with post-processing being used to select a best video recording or to generate a sequential composite video recording.
Figs. 35-42 are schematic diagrams of an example device and hinge assembly according to embodiments of the present invention that enable a user to use the device to view content in many different ways based on various selectable orientations of two displays of the device. The various orientations include: folded- open, folded-closed, the displays substantially overlay each other such that the screens of the displays are simultaneously viewable or only one screen of one of the displays is viewable. Fig. 35 illustrates an example embodiment of the present invention in a "folded open" orientation in which both a bi-stable display 3506a and a refresh display 3506b are incorporated into a computing device 3505. In the folded-open orientation, the displays 3506a, 3506b are simultaneously viewable to a user. As described above, the bi-stable display 3506a is an extremely low power device that retains an image in a zero or very low power state but has a low refresh rate and presents in grey-scale. The refresh display 3506b can be any display useful for rendering graphics, video, or images that are not easily presented on the bi-stable display 3506a. Use of the bi-stable display 3506a allows the device 3503 to provide long battery operation with optional access to graphical images via the refresh display 3506b at the expense of some of the duration of the battery operation. The example computing device 3505 incorporates a bi-stable display 3506a, pen stylus input system 3502, plurality of user control buttons 3503, 3529, refresh display 3506b, touch input system 3504, removable small keyboard 3507, stylus holding location 3508, plurality of Universal System Bus (USB) interfaces 3509, plurality of FLASH memory slots 3510, female power input 3511, female line - level/headphone output 3512, integrated microphone input 3513, hinge mechanism 3514, battery and battery charging circuitry 3515, alternative input from a track ball style 'mouse' 3516, sensor 3521a, 3521b, control switch for wireless interface 3526, and volume control switch 3527. It should be understood that other devices may include more or fewer peripherals.
The computing device 3505 further includes a processor 3530. In one example embodiment of the present invention, the processor 3530 is configured to control activity of the bi-stable display 3506a and the refresh display 3506b in a power conserving manner. The processor 3530 may further include a power savings module (not shown), which is executed by or associated with the processor 3530, and configured to extend battery operating life by intelligently controlling power levels of the display(s), such as, on, off, high power, low power. For example, the power savings module may be configured to enable the battery operating life of the computing device 3505 to be available for at least eight hours.
In a further embodiment, the power savings module employs a display-use module (not shown) that is configured to detect the use of the display devices. In a further embodiment, the power savings module is configured to power down, dim backlighting, or hibernate display devices based on orientation or use of the displays. In another embodiment, the power saving module may employ an internal/external peripheral use module (not shown) that is configured to detect the use of internal/external peripheral devices. In a further embodiment, the power savings module is configured to power down, or hibernate internal/external peripheral devices based on use of the internal/external peripheral devices, such as a wireless mouse or keyboard.
In another embodiment, the power savings module may further comprise a wireless on/off module (not shown) configured to turn on or turn off wireless capabilities. Further, the wireless on/off module may be configured to periodically monitor for pending incoming/outgoing messages and temporarily turn off wireless capabilities to receive or send the messages. The messages may include email, short messaging service (SMS) text messages, or multimedia messaging service (MMS) text messages, for example.
The sensor 3521 may be a camera input. In another embodiment, the sensor 3521 or a different sensor (not shown) may alternatively be configured to sense orientation of the display devices relative to each other or the hinge mechanism 3514. The sensor 3521 (or other sensor) may further be configured to send multi- power mode sensor signals to the processor 3530 configured to control an operating state of at least one of the display devices. It should be understood that a sensor 3521b positioned in the hinge mechanism 3514 may be useful in determining various orientations of the display devices 3506a and 3506b. The sensors may be as simple as a potentiometer or much more complex position or orientation sensors known in the art.
The battery and battery charging circuitry 3515 allows the device to operate without being connected to a power outlet and the battery to be recharged when drained. The battery 3515 may be recharged using a battery re-charger (not shown) connected to a power source (e.g., wall power outlet) via a female power input 3511. The battery re-charger may be configured to connect to: a two or three pronged wall outlet, vehicle power supply, other forms of power outlets, such as airplane power outlets. The battery and battery charging circuitry 3515 may also be configured to detect when the battery contains a full charge and, optionally, when the device 3505 is connected to an external power supply. In such a state, the battery and battery charging circuitry 3515 allows the device 3505 to be powered via the external power supply, thereby conserving battery power for use of the device 3505 while disconnected from the external power supply. It should be understood that a second, rechargeable or non-rechargeable, battery (not shown) may also be employed to maintain memory states, such as may be required for non-volatile RAM (NVRAM), while the device 3505 is turned off.
The hinge mechanism 3514 couples the bi-stable display 3506a and refresh display 3506b. The hinge mechanism 3514 may be configured for multidirectional movement of the displays relative to each other.
Fig. 36 illustrates an internal structure of an example hinge mechanism 3614 configured to couple a bi-stable display and refresh display of a device both mechanically and electrically. The hinge mechanism 3614 may include a first interface element 3630a, second interface element 3630b, and a hinge 3630c. Serving as an adjustable linkage therebetween. Each interface element 3630a, 3630b may include mechanical interfaces (e.g., screws) to affix the elements 3630a, 3630b are the displays, electrical interfaces 3615, and orientations sensor(s) (e.g., potentiometers) 3621a-b. The interface elements connected to each other via the hinge 3630c.
Internally, in this embodiment, the hinge 3630c includes power bus(es) 3650, return power bus(es) 3660, and data bus(es) 3655. The power and data buses enable power and date to be shred between the devices. The orientation sensors 3621a-b are configured to detect an orientation of a display with respect to the hinge 3630c. Further, the orientation sensors 3621a-b may communicate the orientation of the displays to a processor (not shown) via the data-bus(es) 3655 or its own bus (not shown). Other orientation sensors may be included in the hinge 3630c, interface elements 3630a, b, or the devices themselves to determine orientations of the devices relative to each other (e.g., folded-open, folded-closed, rotated-open, rotated-closed orientations) or to the hinge. The power bus(es) 3650 and return power bus(es) support configurations in which one or both displays include batteries or other energy sources to share energy or energy states. The data bus(es) 3655 support communication messages between the displays in any manner disclosed herein or otherwise known in the art. It should be understood that various techniques for enabling power and signals to traverse between the devices via the hinge mechanism 3614 (or external therefrom) may be employed, where the techniques support user-selectable orientations. For example, hard or flex circuit board technology may be employed, slip ring technology may be employed, or wiring harnesses may be employed. Fig. 37 illustrates multidirectional movement of the computing device 3705 in which the display devices substantially overlay each other, and screens 3701, 3704 of the display devices are simultaneously not viewable because the screens 3701, 3704 face inward toward each other.
Fig. 38 illustrates multidirectional movement of the hinge mechanism 3814 in which the displays substantially overlay each other, and the screens 3801 , 3804 of the displays are simultaneously viewable because the screens 3801, 3804 face outward from each other.
Figs. 39 and 40 illustrate multidirectional movement of the hinge mechanism 3914 in which the displays 3906a, 3906b can substantially overlay each other such that only one screen 3901 of the displays is viewable at a time by a user. The hinge mechanism 3914 may further include a power and signal bus (not shown) configured to conduct power and signals between the two displays 3906a, 3906b and provide electrical isolation from the bus to prevent a user or object from contacting voltage or current on the power bus. Fig. 41 illustrates an embodiment of the present invention wherein the computing device 4105 employs a removable keyboard 4107. The removable keyboard 4107 may be connected to the computing device via a cable, or it may be configured for wireless operations. The removable keyboard 4107 may further include a cursor control device, such as a mouse 4116 or directional pad (D-pad). Fig. 42 illustrates a computing device 4205 including a bi-stable display
4206a and a refresh display 4206b. The displays 4206a, 4206b may be physically connected to each other using mechanical, magnetic, or other typical securing mechanisms 4210a-h and operationally coupled to each other via wireless interface elements 421 lal/bl, a2/b2. Multiple wireless communications paths allows for high-speed bi-directional data transfer. Any form of data transfer may be employed, including handshaking and non-handshaking forms. Pairs of mechanical interfaces 4210a-h include a "male" and "female" interface. In the case of magnetic elements, magnetic norths and souths are oriented to enable the displays to adhere (rather than repel) to each other. Each display is able to communicate with the other display via wireless communications using the wireless interfaces 421 IaI /bl, 421 Ia2/b2 such that a user may render images on either display. The wireless interfaces may be any form of wireless interface, such as optical (e.g., infrared), or radio frequency (RF) (e.g., Bluetooth®, or IEEE 802.1 1) protocols, acoustical, or other form of wireless communication within a wide range of the electromagnetic spectrum. Alternatively, a simple or complex wired or fiber optic interconnection may be employed.
It should be understood that the methods, as illustrated by the flow diagrams or as described in reference to or understood with respect to the mechanical, electrical, schematic, or network diagrams, may be implemented in the form of hardware, firmware, or software. In the case of software, the software may be any language capable of performing the example embodiments disclosed herein or equivalent thereof or example embodiments understood in the art at the present time or later developed, or equivalents thereof, as understood from the teachings herein. Moreover, it should be understood that the software may be stored in any form of computer-readable medium, such as Random Access Memory (RAM), Read-only Memory (ROM), Compact-Disk ROM (CD-ROM), optical or magnetic medium, as so forth. The software may be stored thereon as sequences of instructions and loaded and executed by processor(s), including general purpose or application specific processor(s) capable of executing the software in manner(s) disclosed herein or understood from the disclosed embodiments or equivalents thereof.
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.

Claims

What is claimed is: 1. A system for displaying content to a user, the system comprising: a bi-stable display; a refresh display; and a controller operationally coupled to the displays and configured to select the bi-stable display or the refresh display via which to render an image representing content as a function of user interaction with at least one of the displays and criteria defined by operational characteristics of the displays.
2. The system of claim 1 wherein the controller includes a bi-stable display controller and a refresh display controller and wherein each controller is configured to determine whether user interaction with its respective display is within the operational characteristics of its respective display, and, if within, to render an image responsive to the user interaction thereby, and, if not within, to cause, notify, or request the other controller to render an image on its respective display responsive to the user interaction.
3. The system of claim 1 wherein the controller is further configured to render an image responsive to the user interaction via one of the displays that is more suited to render the image than the other display based on a comparison of the criteria of the displays specific to the user interaction.
4. The system of claim 3 wherein the criteria includes at least one of the following criteria: power, refresh rate, color, image motion, speed, page refresh, resolution, content format, and media type.
5. The system of claim 1 wherein the controller includes a bi-stable display controller and a refresh display controller and wherein each controller is configured to render an image responsive to the user interaction based on whether its respective display is more suited to render the image than the other controller's respective display based on a comparison of the criteria of the displays specific to the user interaction.
6. The system of claim 5 wherein the criteria includes at least one of the following criteria: power, refresh rate, color, motion, speed, page refresh, resolution, content format, and media type.
7. The system of claim 1 wherein the controller includes: a bi-stable display controller and a refresh display controller, wherein the bi-stable display controller is configured to cause the refresh display controller to render an image via the refresh display based on user interaction via the bi-stable display; and wherein the refresh display controller is configured to cause the bistable controller to render an image via the bi-stable display based on user interaction via the refresh display.
8. The system of claim 7 wherein: the bi-stable display controller is further configured to pass messages to the refresh display controller via an operating system to cause the refresh display controller to render images via the refresh display; and the refresh display controller is configured to pass messages to the bi- stable display controller via an operating system to cause the bi-stable display controller to render images via the bi-stable display.
9. The system of claim 7 wherein the controllers are configured to pass messages to each other responsive to user interaction, the messages including pointers to an object stored in a memory accessible to each controller, the controllers further configured to access the object in the memory using the pointers and to render at least a portion of the object via their respective displays.
10. The system of claim 7 wherein the controllers are configured to pass messages to each other responsive to user interaction, the messages including content to be rendered via the other controller's display, the controllers further configured to render at least a portion of the content via their respective displays.
11. The system of claim 1 wherein the controller is further configured to receive an indication of a user's interaction with a representation of a respective image rendered via the bi-stable display or the refresh display and wherein the controller is still further configured to receive the user interaction via a human-to-machine interface other than through interaction with the representation of the respective image.
12. The system of claim 1 wherein the controller is further configured to render images in an orientation-selectable manner via either or both displays, wherein orientation of the rendered images is selected by the user or determined by an orientation of at least one of the displays with respect to a viewing angle of the user.
13. The system of claim 1 wherein the controller is further configured to configure at least one of the displays with multiple virtual displays with different angular viewing orientations, the controller still further configured to render an image simultaneously on each of the multiple virtual displays.
14. The system of claim 13 wherein the controller is further configured to accept user interaction simultaneously from each virtual display.
15. The system of claim 13 wherein the controller is further configured to render the image on the multiple virtual displays in a synchronous manner.
16. The system of claim 13 wherein the controller is further configured to render the image on the multiple virtual displays in an asynchronous manner.
17. The system of claim 1 further comprising an interface module operationally coupled to the controller and configured to communicate with another system, wherein the controller is further configurable to have its access, via the interface module, limited to (i) data from a specified source, or (ii) functions specified by the other system.
18. The system of claim 1 wherein the system further comprises a master/slave module operationally coupled to the controller, the master/slave module configured to act in a master mode or a slave mode, and further configured to: while acting in a master mode, control a controller of another system including a master/slave module acting in a slave mode; and while acting in a slave mode, accept commands from a controller of another system including a master/slave module acting in a master mode.
19. The systems of claim 18 wherein the master/slave module is further configured to operate in a peer-to-peer network arrangement with a master/slave module of the other system.
20. The system of claim 18 further comprising an interface module configured to communicate with a central server and operationally coupled to the controller and master/slave module, wherein i) the master/slave module, acting in a master mode, is configured to control the other system via communications with the central server, and ii) the master/slave module, acting in a slave mode, is configured to accept commands from (a) the other system acting in a master mode responsive to communications via the central server or (b) the central server itself acting in a master mode.
21. A method for displaying content to a user, the method comprising: selecting a bi-stable display or a refresh display via which to render an image representing content as a function of user interaction with at least one of the displays and criteria defined by operational characteristics of the displays; and rendering the image on the display selected.
22. The method of claim 21 wherein selecting the bi-stable display or the refresh display includes determining whether user interaction with a given display is within the operational characteristics of the given display, and, if within, rendering an image responsive to the user interaction thereby and, if not within, causing, notifying, or requesting the other display to render an image on its respective display responsive to the user interaction thereby.
23. The method of claim 21 wherein further comprising rendering an image responsive to the user interaction via one of the displays that is more suited to render the image than the other display based on a comparison of the criteria of the displays specific to the user interaction.
24. The method of claim 23 wherein the criteria includes at least one of the following criteria: power, refresh rate, color, image motion, speed, page refresh, resolution, content format, and media type.
25. The method of claim 21 further comprising: rendering an image via the refresh display based on user interaction via the bi-stable display; and rendering an image via the bi-stable display based on user interaction via the refresh display.
26. The method of claim 25 further comprising: passing messages from the bi-stable display to the refresh display via an operating system to cause the refresh display to render images via the refresh display; and passing messages from the " ; bi-stable display via an operating system to cause the bi-stable display to render images via the bistable display.
27. The method of claim 25 further comprising (i) passing messages from one display to the other display responsive to user interaction, the messages including pointers to an object stored in a memory, (ii) accessing the object in memory using the pointers, and (iii) rendering at least a portion of the object via the other display.
28. The method of claim 25 further comprising (i) passing messages from one display to the other display responsive to user interaction, the messages including content to be rendered on the other display, and (ii) rendering at least a portion of the content via the other display.
29. The method of claim 21 further comprising receiving an indication of a user's interaction with a representation of a respective image rendered via the bi-stable display or the refresh display, and further comprising receiving the user interaction via a human-to-machine interface other than through interaction with the representation of the respective image.
30. The method of claim 21 further comprising: rendering images in an orientation-selectable manner via either or both displays, wherein the orientation of the rendered images is selected by the user or determined by an orientation of at least one of the displays with respect to a viewing angle of the user.
31. The method of claim 21 further comprising (i) configuring at least one of the displays with multiple virtual displays with different angular viewing orientations, and (ii) rendering an image simultaneously on each of the multiple virtual displays.
32. The method of claim 31 further comprising accepting user interaction simultaneously from each of the multiple virtual displays.
33. The method of claim 31 wherein rendering the image on the multiple virtual displays is performed in a synchronous manner.
34. The method of claim 31 wherein rendering the image on the multiple virtual displays is performed in an asynchronous manner.
35. The method of claim 21 wherein the bi-stable display and refresh display compose a system and further comprising enabling: (i) access to data to be limited to data from a specified source or (ii) executions of functions to be limited to functions specified by another system.
36. The method of claim 21 wherein the bi-stable display and refresh display compose a system, and further including (i) in a master mode, controlling another system acting in a slave mode, and (ii) in a slave mode, accepting commands from another system acting in a master mode.
37. The method of claim 36 further comprising operating in master or slave modes in a peer-to-peer network arrangement with the other system.
38. The method of claim 36 wherein i) controlling another system includes sending communications to the other system via communications with a central server, and ii) (a) accepting commands from another system, acting in a master mode via communications with a central server or (b) accepting commands from the central server itself acting in a master mode.
39. A computer readable medium having computer readable program codes embodied therein for displaying content to a user, the computer readable medium program codes including instructions that, when executed by a processor, cause the processor to: select a bi-stable display or a refresh display via which to render an image representing content as a function of user interaction with at least one of the displays and criteria defined by operational characteristics of the displays; and render the image on the display selected.
40. An apparatus for displaying content to a user, the apparatus comprising: means for selecting a bi-stable display or a refresh display via which to render an image representing content as a function of user interaction with at least one of the displays and criteria defined by operational characteristics of the displays; and means for rendering the image on the display selected.
41. A system for displaying content to a user, the system comprising: a display having an upper edge and lower edge; and a controller operationally coupled to the display and configured to split the display into multiple virtual displays with different orientations relative to the lower edge, the controller further configured to render an image representing content simultaneously in multiple respective orientations via the multiple virtual displays.
42. The system of claim 41 wherein the controller is further configured to enable interaction with the image by a user via the multiple virtual displays.
43. The system of claim 41 wherein the multiple virtual displays include a rightside-up virtual display and an upside-down virtual display relative to the lower edge.
44. The system of claim 41 wherein the display further includes a left edge and a right edge, and wherein the controller is further configured to reposition at least one of the virtual displays relative to the display in a manner in which the at least one of the virtual displays is rightside-up or upside-down relative to the left edge or right edge.
45. The system of claim 41 wherein the controller is further configured to render the image on the multiple virtual displays in a synchronous manner.
46. The system of claim 41 wherein the controller is further configured to render the image on the multiple virtual displays in an asynchronous manner.
47. A method for displaying content to a user, the method comprising: splitting a display having an upper edge and lower edge into multiple virtual displays with different orientations relative to the lower edge; and rendering an image simultaneously in multiple respective orientations via the multiple virtual displays.
48. The method of claim 47 further comprising enabling interaction with the image by a user via the multiple virtual displays.
49. The method of claim 47 wherein splitting the display includes forming a rightside-up virtual display and an upside-down virtual display relative to the lower edge.
50. The method of claim 49 wherein the display includes a left edge and a right edge, and wherein splitting the display includes repositioning at least one of the virtual displays relative to the display in a manner in which the at least one of the virtual displays is rightside-up or upside-down relative to the left edge or right edge.
51. The method of claim 47 further comprising rendering the image on the multiple virtual displays in a synchronous manner.
52. The method of claim 47 wherein further comprising rendering the image on the multiple virtual displays in an asynchronous manner.
53. A computer readable medium having computer readable program codes embodied therein for displaying content to a user, the computer readable program codes including instructions that, when executed by a processor, cause the processor to: split a display having an upper edge and lower edge into multiple virtual displays with different orientations relative to the lower edge; and render an image simultaneously in multiple orientations via the multiple virtual displays.
54. An apparatus for displaying content to a user, the apparatus comprising: means for splitting a display having an upper edge and lower edge into multiple virtual displays with different orientations relative to the lower edge; and means for rendering an image simultaneously in multiple orientations via the multiple virtual displays.
55. A method of storing annotations applied to a primary source, the method comprising: associating information with a representation of an annotation, the information including a unique user device indicator associated with a device via which the annotation was applied relative to a primary source by a user, an identifier of the primary source to which the annotation was applied, and a positional indicator to where the annotation was applied relative to the primary source; and storing the representation with its associated information on a storage device to store the annotation applied to the primary source in a manner enabling retrieval and later display of the annotation and its associated information with respect to the primary source substantially the same as authored by the user.
56. The method of claim 55 further comprising bundling annotations by the user according to an ID associated with the user or an ID associated with the device.
57. The method of claim 55 further comprising advertising the annotations by the user to other users and transferring the representation with its associated information to a requesting other user.
58. The method of claim 57 further comprising collecting a fee from the other user for transferring the representation with its associated information to the other user.
59. The method of claim 58 further comprising transferring at least a portion of the fee as value to the user who generated the annotations.
60. The method of claim 55 wherein the annotations include at least one of the following: handwriting, typed text, links, attachments, highlights, tags, sound, video, binary data, multimedia, reference, or content external from the primary source.
61. The method of claim 55 further comprising transferring the representation with its associated information to another storage device and managing the representation with its associated information.
62. The method of claim 55 further comprising enabling the user to manage which annotations are stored.
63. The method of claim 55 further comprising enabling the user to manage what happens with the representations once stored.
64. The method of claim 55 wherein the annotations includes first and second annotations made by first and second users, respectively, in a collaborative working environment on the device, and wherein associating information with representations of the annotations includes associating a collaboration- indication code with the first and second annotations.
65. The method of claim 64 wherein the collaborations-indication code includes indications of multiple users annotating the primary source at the same time via the device, and optionally, which user made the particular annotations, and further optionally, an indication representing a viewing angle as to a direction with respect to an edge of the device from which the user made the annotation.
66. The method of claim 55 further comprising: assigning each annotation a unique annotation ID; enabling users to edit the annotations to create child annotations; and assigning unique annotation IDs to the child annotation, the child annotation IDs encoded to incorporate associated parent annotation IDs.
67. The method of claim 55 further comprising: assigning each annotation a unique annotation ID; enabling users to amend the annotations; and assigning each amended annotation a unique annotation version ID.
68. A system for transferring content between displays of different types, the system comprising: a bi-stable display controller; a refresh display controller; the bi-stable display controller configured to accept user interaction with content rendered in a bi-stable display format on a bi-stable display and configured to cause the bi-stable display to render in a bi-stable format on the bi-stable display a selection of content rendered on a refresh display responsive to a communication from the refresh display controller representing user interaction with the refresh display; and the refresh display controller configured to accept user interaction with content rendered in a refresh display format on the refresh display and configured to cause the refresh display to render in a refresh display format on the refresh display a selection of the content rendered on the bi-stable display responsive to a communication from the bi-stable display controller representing user interaction with the bi-stable display.
69. The system of claim 68 wherein the bi-stable display controller and refresh display controller are further configured to accept user interaction with content rendered on the bi-stable display or refresh display, respectively, by enabling the controllers to allow a user to define the selection of the content to be within an area of a geometric shape having a property specified by the user.
70. The system of claim 69 wherein the bi-stable display controller and refresh display controller are further configured to enable the user to define the property as a size or shape of the geometric shape by indication of at least two points used to define the geometric shape via interaction with a given display, wherein the interaction with the given display is via a continuous motion of contact with the given display between the at least two points or via discrete contact with the given display at the at least two points.
71. The system of claim 68 wherein: the bi-stable display controller is further configured to enable the user to view the selection on the refresh display by signaling the refresh display controller to render the selection on the refresh display; and the refresh display controller is further configured to enable the user to view the selection on the bi-stable display by signaling the bi-stable display controller to render the selection on the bi-stable display.
72. The system of claim 68 further including memory and wherein the controllers communicate selections to each other in a manner involving the memory.
73. The system of claim 68 wherein the displays are touch-screen enabled displays and the controllers are operationally coupled to the touch-screen enabled displays to accept the user interaction.
74. A method for transferring content between displays of different types, the method comprising:
. accepting user interaction with content rendered in a bi-stable display format on a bi-stable display and causing the bi-stable display to render in a bi-stable display format on the bi-stable display a selection of the content rendered on a refresh display based on user interaction with the refresh display; and accepting user interaction with content rendered in a refresh display format on a refresh display and causing the refresh display to render in a refresh display format on the refresh display a selection of the content rendered on the bi-stable display based on user interaction with the bi-stable display.
75. The method of claim 74 wherein accepting user interaction includes enabling a user to define the selection of the content to be within an area of a geometric shape having a property specified by the user.
76. The method of claim 75 further comprising enabling the user to define the property as a size or shape of the geometric shape by indication of at least two points used to define the geometric shape by observing user interaction with a given display, the user interaction being a continuous motion of contact with the given display between the at least two points or being discrete contact with the given display at the at least two points.
77. The method of claim 74 further comprising: enabling the user to view the selection of content rendered on the bi- stable display via the refresh display by signaling from a bi-stable display controller to a refresh display controller information representing the selection; and enabling the user to view the selection of content rendered on the refresh display via the bi-stable display by signaling information representing the selection from the refresh display controller to the bi-stable display controller.
78. The method of claim 74 wherein causing rendering on the bi-stable display or refresh display includes employing communications involving memory.
79. The method of claim 77 wherein accepting user interaction includes reading stimulation of touch-screens of the displays.
80. A system for transferring content between displays of different types, the system comprising: a bi-stable display controller; and non-bistable display controller; the non-bistable display controller configured to accept user interaction with content rendered in a non-bi-stable display format on the non-bi-stable display and configured to cause the non-bi-stable display to render in a non-bi-stable display format on the non-bi-stable display a selection of the content rendered on the bi-stable display in a bi-stable display format responsive to a communication from the bi-stable display controller representing user interaction with the bi-stable display.
81. A method for transferring content between displays of different types, the method comprising: accepting user interaction with content rendered in a non-bi-stable display format on a non-bi-stable display and causing the non-bistable display to render in a non-bi-stable display format on the non-bi-stable display a selection of the content rendered on the bi-stable display in a bi- stable display format based on user interaction with the bi-stable display.
82. An electronic computing device, comprising: a chassis defining an opening configured to pass sound waves from an exterior of the chassis to an interior of the chassis; and a diaphragm of a microphone in an interior of the chassis, in acoustical arrangement with the opening and in parallel arrangement with a structural member at a distance to form a pressure zone sensitive to sound waves, the distance known to mitigate interference caused by a phase difference between a direct sound wave and a reflected sound wave each emanating from a common source and each entering the pressure zone via the opening, the reflected wave being substantially the same as the direct sound wave but reflected off a surface external from the chassis, the microphone configured to produce electrical signals representative of at least the direct and reflected sound waves based on their combined effect on the diaphragm.
83. The electronic computing device of claim 82 wherein the chassis includes a base and a vertical surface extending therefrom, and wherein the chassis defines the opening through a vertical surface of the chassis.
84. The electronic computing device of claim 82 wherein the chassis defines two openings through different surfaces to enable sound waves to be sensed by respective microphones, each including a diaphragm and structural member defining a pressure zone.
85. The electronic computing device of claim 84 wherein the chassis includes a base and opposing vertical surfaces extending therefrom, and wherein the different surfaces are opposing vertical surfaces of the chassis.
86. The electronic computing device of claim 84 further comprising a noise reduction module configured to process first and second electrical signals produced by the microphones as a function of sound waves entering the respective pressure zones, the noise reduction module further configured to output a noise reduced signal by subtracting the first electrical signal from the second electrical signal.
87. The electronic computing device of claim 82 wherein the opening is further configured to enable the sound waves to pass without attenuating the sound waves.
88. The electronic computing device of claim 82 wherein the chassis includes two displays coupled by a rotational hinge.
89. The electronic computing device of claim 88 wherein the displays include a bi-stable display and a refresh display.
90. The electronic computing device of claim 88 further comprising software configured to record sound waves via the microphone and to enable a user to annotate content, presented on at least one of the displays, with recorded sound in a selectable manner.
91. The electronic computing device of claim 90 further comprising a audio state module configured to associate states of the device with the recorded sound and to enable: playback of the audio with coordinated playback of the states of the device or playback of the audio during later matching states of the device.
92. A method for capturing sound, the method comprising: enabling sound waves to pass from an exterior of a chassis of a device to an interior of the chassis of the device into a pressure zone sensitive to sound waves; in a mechanical manner in the interior of the chassis, mitigating sound interference caused by a phase difference between a direct sound wave and a reflected sound wave each emanating from a common source and entering the pressure zone as a function of a physical characteristic of the pressure zone; and producing electrical signals representative of the sound waves.
93. The method of claim 92 wherein enabling the sound waves to pass includes passing the sound waves via an opening defined by the chassis on a vertical surface of the chassis relative to a base of the chassis.
94. The method of claim 92 further comprising sensing the sound waves by two pressure zones via each of two respective openings defined by the chassis and producing first and second electrical signals as a function of the sensing.
95. The method of claim 94 further comprising processing the first and second electrical signals and outputting a noise reduced signal by subtracting the first electrical signal from the second electrical signal.
96. The method of claim 92 wherein enabling the sound waves to pass includes enabling the sound waves to pass without attenuating the sound waves.
97. The method of claim 92 further comprising storing the electrical signals as recorded sound and enabling a user to annotate content on a display with the recorded sound.
98. The method of claim 97 further comprising associating states of the device with the recorded sound and enabling: playback of the audio with coordinated playback of the states of the device or playback of the audio during later matching states of the device.
99. The method of claim 97 further comprising enabling a user to retrieve the recorded sound via at least one of two displays composing the chassis.
100. The method of claim 99 further comprising enabling the displays to rotate relative to one another.
101. The method of claim 99 further including conserving energy through use of a bi-stable display being one of the two displays.
102. A computing device, comprising: a bi-stable display; and a refresh display.
103. The computing device according to claim 102 further comprising a controller configured to control activity of the bi-stable display and the refresh display in a power conserving manner.
104. The computing device according to claim 103 further including a battery, wherein the controller includes a power savings module configured to extend battery operating life compared to battery operation absent the power savings module.
105. The computing device according to claim 104 wherein the power savings module is configured to enable the battery operating life to be available for at least 8 hours.
106. The computing device according to claim 104 wherein the power savings module further includes a display monitoring module configured to detect use of at least one of the displays, and wherein the power savings module is further configured to power down, dim backlighting, or hibernate at least one of the displays based on position, orientation, or use of at least one of the displays.
107. The computing device according to claim 104 wherein the power savings module further comprises an internal/external peripheral monitoring module configured to detect use of at least one internal/external peripheral device, and wherein the power savings module is further configured to power down or hibernate at least one of the internal/external peripheral devices based on use of at least one of the internal/external peripheral devices.
108. The computing device according to claim 102 wherein the bi-stable display includes a grey-scale display.
109. The computing device according to claim 102 wherein the refresh display device includes a display selected from a group consisting of: a Liquid Crystal Display (LCD), Plasma Display Panel (PDP), and Light Emitting
Diode (LED) Display.
110. The computing device according to claim 102 further comprising a hinge mechanism coupling the displays.
111. The computing device according to claim 110 wherein the hinge mechanism is configured for multidirectional movement of the displays relative to each other.
112. The computing device according to claim 111 wherein the hinge mechanism allows at least a subset of the following: the displays to be in an orientation in which the displays are adjacent to each other and the images rendered on the displays are simultaneously viewable; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are not simultaneously viewable based on the orientation; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are simultaneously viewable based on the orientation; and the displays to be in an orientation in which the displays substantially overlay each other and images rendered on only one of the displays are viewable based on the orientation.
113. The computing device according to claim 110 further comprising a display device sensor configured to sense orientation of the displays relative to each other or relative to the hinge mechanism.
114. The computing device according to claim 113 wherein the display device sensor is configured to send multi-power mode sensor signals to a processor configured to control an operating state of at least one of the displays.
115. The computing device according to claim 102 further comprising an attachable keyboard, and wherein the attachable keyboard is configured to operate with the computing device via an electrical or wireless connection.
116. A method for displaying content on a computing device, the method comprising: rendering images on a bi-stable display; and rendering images on a refresh display.
117. The method according to claim 116 further comprising enabling a controller to render images on the bi-stable display and refresh display in a power conserving manner.
118. The method of claim 116 further including enabling the controller to operate the computing device to have a battery operating life of at least 8 hours.
119. The method of claim 116 further comprising monitoring position and orientation and use of the displays, and based on the position or orientation and use of at least one of the displays power down, dim backlighting, or hibernate at least one of the displays.
120. The method of claim 116 further comprising monitoring and detecting use of at least one internal/external peripheral device, and, based on use of at least one of the internal/external peripheral devices, powering down or hibernating at least one of the internal/external peripheral devices.
121. The method of claim 116 wherein rendering images on the bi-stable display includes rendering images in grey-scale.
122. The method of claim 116 wherein rendering images on the refresh display includes rendering images on a display selected from a group consisting of: a Liquid Crystal Display (LCD), Plasma Display Panel (PDP), and Light Emitting Diode (LED) Display.
123. The method of claim 116 further comprising coupling the bi-stable display and the refresh display via a hinge mechanism.
124. The method of claim 123 further including enabling the hinge mechanism for multidirectional movement of the displays relative to each other.
125. The method of claim 124 further including enabling the hinge mechanism to allow at least a subset of the following: the displays to be in an orientation in which the displays are adjacent to each other and the images rendered on the displays are simultaneously viewable; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are not simultaneously viewable based on the orientation; the displays to be in an orientation in which the displays substantially overlay each other and images rendered on the displays are simultaneously viewable based on the orientation; and the displays to be in an orientation in which the displays substantially overlay each other and images rendered on only one the displays are viewable based on the orientation.
126. The method of claim 123 further comprising sensing an orientation of the displays relative to each other or relative to the hinge mechanism.
127. The method of claim 126 further comprising controlling an operational state of at least one of the displays based on the orientation of the displays relative to each other or relative to the hinge mechanism.
128. An apparatus for coupling displays of a computing device, comprising: a first interface element configured to attach to a first display; a second interface element configured to attach to a second display; and a hinge coupled to the first and second interface elements and configured to enable the first and second interface elements to move multidirectionally relative to each other.
129. The apparatus of claim 128 wherein the hinge is further configured to enable the first display to overlay a substantial portion of the second display.
130. The apparatus of claim 128 where the hinge is configured to move in at least one of the following ways: fold at an angle greater than 90 degrees in at least one dimension to enable a user to arrange the displays to be in a folded-open or a folded-closed orientation; and rotate greater that 90 degrees to enable a user to arrange the displays to be in a rotated-open or rotated-closed orientation.
131. An apparatus of claim 128 wherein the first and second interface elements are configured to pivot multidirectionally.
132. The apparatus of claim 128 wherein the hinge is configured to conduct power and information signals between the displays.
133. The apparatus of claim 128 wherein the hinge forms a cavity configured to support a wiring harness.
134. The apparatus of claim 128 further comprising a sensor configured to sense an orientation of the hinge.
135. The apparatus of claim 128 further comprising a sensor configured to sense orientations of the first and second interface elements.
136. A method for coupling displays of a computing device, the method comprising: enabling first interface element to attach to a first display; enabling a second interface element to attach to a second device; and enabling a hinge coupled to the first and second interface elements to allow the first and second interface elements to move multidirectionally relative to each other.
137. The method of claim 136 further enabling the hinge to allow the first display to overlay a substantial portion of the second display.
138. The method of claim 136 further enabling the hinge to move in at least one of the following ways: fold at an angle greater than 90 degrees in at least one dimension to allow a user to arrange the displays to be in a folded-open or a folded-closed orientation; and rotate greater that 90 degrees to allow a user to arrange the displays to be in a rotated-open or rotated-closed orientation.
139. The method of claim 136 further enabling the first and second interface elements to pivot multidirectionally.
140. The method of claim 136 further enabling the hinge to conduct power and information signals between the displays.
141. The method of claim 136 further enabling the hinge to form a cavity configured to support a wiring harness.
142. The method of claim 136 further comprising enabling a sensor to sense an orientation of the hinge.
143. The method of claim 136 further comprising enabling a sensor to sense orientations of the first and second interface elements.
144. A method of processing audio recordings, the method comprising: associating information with a representation of an audio recording, the information including a unique user device indicator associated with a device via which at least a portion of the audio recording was captured and a collaboration-indication code identifying other devices active during a session in which the device captured the audio recording; and storing the representation of the audio recording with its associated information on a storage device to store the audio recording in a manner enabling retrieval and playback of the audio recording and identification of other devices active during the session.
145. The method of claim 144 further comprising: calculating metrics of respective audio recordings captured from a plurality of devices during the session based on a set of criteria; selecting an audio recording based on the metrics; and archiving the audio recording at a central server or at least one of the plurality of devices.
146. The method of claim 145 wherein the set of criteria includes at least one of the following criteria: signal-to-noise ratio (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, and distortion.
147. The method of claim 145 wherein: calculating the metrics includes partitioning each audio recording into multiple sequential segments and calculating a metric for each segment in each audio recording; selecting an audio recording based on the metrics includes comparing the metrics associated with each corresponding segment of each audio recording and selecting segments based on results of the comparing; and arranging selected segments to form a sequential composite audio recording.
148. The method of claim 147 wherein arranging the selected segments to form a composite audio recording includes applying voice quality enhancement to the composite recording.
149. The method of claim 147 wherein arranging the selected segments to form a composite audio recording includes smoothing transition between the selected segments associated with different audio recordings.
150. The method of claim 144 wherein the information associated with a representation of an audio recording further includes an identifier of a session during which the device captured at least the portion of the audio recording.
151. A method for processing audio recordings, the method comprising: partitioning audio recordings into multiple sequential segments and calculating a metric for each segment in each audio recording; comparing the metrics associated with each corresponding segment of each audio recording; and selecting and arranging segments to form a sequential composite audio recording.
152. The method of claim 151 wherein selecting the segments is based on at least one of the following criteria: signal-to-noise ratio (SNR), Sound Pressure Level (SPL), echo, signal power, audio range, and distortion.
153. The method of claim 151 wherein partitioning audio recordings into multiple sequential segments includes associating an indication of a device associated with the audio recording at each segment.
154. The method of claim 151 wherein arranging the selected segments to form a composite audio recording includes applying voice quality enhancement to the composite recording.
155. The method of claim 151 wherein arranging the selected segments to form a composite audio recording includes smoothing transition between the selected segments associated with different audio recordings.
156. A method of processing audio recordings, the method comprising: recording audio signals at a device; monitoring for user interaction with the device during the recording of the audio signals; and associating the audio recording with the user interaction in a manner enabling synchronized playback of the audio signals and the user interaction.
PCT/US2009/005300 2008-10-01 2009-09-24 Multi-display handheld device and supporting system WO2010039193A2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US19488708P 2008-10-01 2008-10-01
US61/194,887 2008-10-01
US21455009P 2009-04-24 2009-04-24
US61/214,550 2009-04-24
US23347309P 2009-08-12 2009-08-12
US61/233,473 2009-08-12

Publications (3)

Publication Number Publication Date
WO2010039193A2 true WO2010039193A2 (en) 2010-04-08
WO2010039193A8 WO2010039193A8 (en) 2010-06-17
WO2010039193A3 WO2010039193A3 (en) 2010-08-26

Family

ID=41666605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/005300 WO2010039193A2 (en) 2008-10-01 2009-09-24 Multi-display handheld device and supporting system

Country Status (1)

Country Link
WO (1) WO2010039193A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2469503A1 (en) 2010-12-21 2012-06-27 Thomson Licensing Computer device comprising a first and a second display screen, method of operating the computer device and computer readable storage medium.
WO2014107302A1 (en) * 2013-01-04 2014-07-10 Qualcomm Mems Technologies, Inc. Device and method for rendering content to multiple displays
EP2883155A4 (en) * 2012-08-08 2016-05-11 Microsoft Technology Licensing Llc E-reader systems

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146552A (en) * 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
US5724530A (en) * 1994-07-25 1998-03-03 Apple Computer, Inc. Supervisory control system for networked multimedia workstations that provides remote launching of files
US6043798A (en) * 1996-06-26 2000-03-28 Canon Kabushiki Kaisha Display apparatus and data transfer apparatus for display device
US20040196210A1 (en) * 2003-03-20 2004-10-07 Fuji Xerox Co., Ltd. Display system, display method, and display program
US20040207568A1 (en) * 2003-03-31 2004-10-21 Hitachi, Ltd. Portable information processing apparatus and method for displaying image
US20040226041A1 (en) * 2000-02-18 2004-11-11 Xsides Corporation System and method for parallel data display of multiple executing environments
US20040224638A1 (en) * 2003-04-25 2004-11-11 Apple Computer, Inc. Media player system
US20050210038A1 (en) * 2004-03-18 2005-09-22 International Business Machines Corporation Method for providing workflow functionality and tracking in an annotation subsystem
US20050249080A1 (en) * 2004-05-07 2005-11-10 Fuji Xerox Co., Ltd. Method and system for harvesting a media stream
US20050257145A1 (en) * 2004-05-11 2005-11-17 Gage Cynthia J Multiple document viewing apparatus and user interface
WO2005107365A2 (en) * 2004-05-12 2005-11-17 Light Book Ltd Display device
US20060050090A1 (en) * 2000-03-16 2006-03-09 Kamran Ahmed User selectable hardware zoom in a video display system
US20060187142A1 (en) * 2005-02-22 2006-08-24 Lesniak John M Computer display apparatus
US7111009B1 (en) * 1997-03-14 2006-09-19 Microsoft Corporation Interactive playlist generation using annotations
US20070103385A1 (en) * 2005-11-10 2007-05-10 Hon Hai Precision Industry Co., Ltd. Display apparatus and method used in a hand-held device
US20070176847A1 (en) * 2005-12-30 2007-08-02 Shah Kamalesh R Method and system to reduce display power consumption
WO2007091927A1 (en) * 2006-02-06 2007-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Variable frame offset coding
US20080068292A1 (en) * 2006-09-14 2008-03-20 Springs Design, Inc. Electronic devices having complementary dual displays
WO2008033876A2 (en) * 2006-09-14 2008-03-20 Springs Design, Inc. Methods for controlling complementary bistable and refresh-based displays
US20080134083A1 (en) * 2006-11-30 2008-06-05 Microsoft Corporation Rendering document views with supplemental information content
US20080177536A1 (en) * 2007-01-24 2008-07-24 Microsoft Corporation A/v content editing
US7418656B1 (en) * 2003-10-03 2008-08-26 Adobe Systems Incorporated Dynamic annotations for electronics documents
EP1962202A2 (en) * 2007-02-16 2008-08-27 Palo Alto Research Center Incorporated System and method for annotating documents

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146552A (en) * 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
US5724530A (en) * 1994-07-25 1998-03-03 Apple Computer, Inc. Supervisory control system for networked multimedia workstations that provides remote launching of files
US6043798A (en) * 1996-06-26 2000-03-28 Canon Kabushiki Kaisha Display apparatus and data transfer apparatus for display device
US7111009B1 (en) * 1997-03-14 2006-09-19 Microsoft Corporation Interactive playlist generation using annotations
US20040226041A1 (en) * 2000-02-18 2004-11-11 Xsides Corporation System and method for parallel data display of multiple executing environments
US20060050090A1 (en) * 2000-03-16 2006-03-09 Kamran Ahmed User selectable hardware zoom in a video display system
US20040196210A1 (en) * 2003-03-20 2004-10-07 Fuji Xerox Co., Ltd. Display system, display method, and display program
US20040207568A1 (en) * 2003-03-31 2004-10-21 Hitachi, Ltd. Portable information processing apparatus and method for displaying image
US20040224638A1 (en) * 2003-04-25 2004-11-11 Apple Computer, Inc. Media player system
US7418656B1 (en) * 2003-10-03 2008-08-26 Adobe Systems Incorporated Dynamic annotations for electronics documents
US20050210038A1 (en) * 2004-03-18 2005-09-22 International Business Machines Corporation Method for providing workflow functionality and tracking in an annotation subsystem
US20050249080A1 (en) * 2004-05-07 2005-11-10 Fuji Xerox Co., Ltd. Method and system for harvesting a media stream
US20050257145A1 (en) * 2004-05-11 2005-11-17 Gage Cynthia J Multiple document viewing apparatus and user interface
WO2005107365A2 (en) * 2004-05-12 2005-11-17 Light Book Ltd Display device
US20060187142A1 (en) * 2005-02-22 2006-08-24 Lesniak John M Computer display apparatus
US20070103385A1 (en) * 2005-11-10 2007-05-10 Hon Hai Precision Industry Co., Ltd. Display apparatus and method used in a hand-held device
US20070176847A1 (en) * 2005-12-30 2007-08-02 Shah Kamalesh R Method and system to reduce display power consumption
WO2007091927A1 (en) * 2006-02-06 2007-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Variable frame offset coding
US20080068292A1 (en) * 2006-09-14 2008-03-20 Springs Design, Inc. Electronic devices having complementary dual displays
WO2008033876A2 (en) * 2006-09-14 2008-03-20 Springs Design, Inc. Methods for controlling complementary bistable and refresh-based displays
US20080134083A1 (en) * 2006-11-30 2008-06-05 Microsoft Corporation Rendering document views with supplemental information content
US20080177536A1 (en) * 2007-01-24 2008-07-24 Microsoft Corporation A/v content editing
EP1962202A2 (en) * 2007-02-16 2008-08-27 Palo Alto Research Center Incorporated System and method for annotating documents

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2469503A1 (en) 2010-12-21 2012-06-27 Thomson Licensing Computer device comprising a first and a second display screen, method of operating the computer device and computer readable storage medium.
EP2883155A4 (en) * 2012-08-08 2016-05-11 Microsoft Technology Licensing Llc E-reader systems
WO2014107302A1 (en) * 2013-01-04 2014-07-10 Qualcomm Mems Technologies, Inc. Device and method for rendering content to multiple displays

Also Published As

Publication number Publication date
WO2010039193A3 (en) 2010-08-26
WO2010039193A8 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
US8866698B2 (en) Multi-display handheld device and supporting system
US11029942B1 (en) System, method, and computer program product for device coordination
US9135599B2 (en) Smart notebook
Milne Entering the interaction age: Implementing a future vision for campus learning spaces
JP5380752B2 (en) Mobile presentation system and method for use in mobile presentation system
US10620898B2 (en) Method to exchange visual elements and populate individual associated displays with interactive content
CN103729108B (en) The method of multi-display equipment and its offer tool
MX2013008811A (en) Cover attachment with flexible display.
Mackay et al. Designing interactive paper: lessons from three augmented reality projects
CN103729055A (en) Multi display apparatus, input pen, multi display apparatus controlling method, and multi display system
MX2013003247A (en) Method and system for viewing stacked screen displays using gestures.
US10067731B2 (en) Method and system for representing a shared digital virtual “absolute” canvas
CA2929908A1 (en) System and method of communicating between interactive systems
US20190332762A1 (en) Method for recording stroke data made on a touch sensitive interactive device
TW201732535A (en) Method and apparatus that mimics the use of a flipchart using digital markers, touch input, and a low power reflective display
TWI628636B (en) Method and system to port multi device workspace data
WO2010039193A2 (en) Multi-display handheld device and supporting system
US20180074775A1 (en) Method and system for restoring an action between multiple devices
Hart-Davis Deploying Chromebooks in the classroom: Planning, installing, and managing Chromebooks in schools and colleges
Brudy Designing for Cross-Device Interactions
Apted et al. A study of elder users in a face-to-face collaborative multi-touch digital photograph sharing scenario
Tungare et al. Embodied data objects: tangible interfaces to information appliances
Hart-Davis Deploying Chromebooks in the Classroom
Mathews Absolute beginner's guide to Tablet PCs
Chen The use of multiple slate devices to support active reading activities

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09795576

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09795576

Country of ref document: EP

Kind code of ref document: A2