Abstract:
Extensible reconfigurable media appliance for security and entertainment captures images digitally for storage. Digital effects and filters are applied to incoming video stream on-the-fly or to video data stored in memory. Digital effects and filters are dynamically stored, modified, updated or deleted, providing extensible reconfigurable effects studio. Digital media appliance communicates wirelessly with other media appliances, computers, security systems, video storage, email, chat, cellular services or PDAs to provide seamless integration of captured video stream.

Description:
CROSS REFERENCE TO RELATED APPLICATION  
       [0001]     This Application is a divisional application of U.S. patent application Ser. No. 10/448,202 filed on May 28, 2003. 
     
    
     BACKGROUND  
       [0002]     1. Field  
         [0003]     Invention relates to electronic media devices and processing methods, particularly to networked reconfigurable media appliance.  
         [0004]     2. Related Art  
         [0005]     Conventional digital video media appliances rely on external computing resources for post-processing of recorded audio or video signals, since limited on-appliance editing and filtering capabilities may render such tasks impractical. Furthermore, limited on-appliance software extensibility and limited communication with external resources leave conventional digital media appliances as standalone audio or video recording tools limited by factory-loaded on-appliance processing capacity.  
         [0006]     Accordingly, there is need for network-extensible and easily reconfigurable media appliance capable of communicating over networks and allowing for extension of on-appliance audio or video processing software and tagging of recorded audio or video signals.  
       SUMMARY  
       [0007]     Network-extensible reconfigurable media appliance senses incoming audio and/or video, and encodes and stores in media appliance memory or alternatively relays over network to recipient. On-appliance digital audio and/or video effects and filters process audio and/or video data stored in memory, as well as incoming audio and/or video stream on-the-fly. Media appliance dynamically stores, modifies, updates and deletes on-appliance set of digital effects and filters, providing mobile extensible reconfigurable effects studio. Media appliance communicates wirelessly and/or over-wire with other media appliances, computers, security systems, video storage, Global Positioning System (GPS) services, Internet, cellular services and/or personal digital assistants (PDA) providing seamless integration of captured audio and/or video stream with off-appliance resources and/or services. Audio and/or video, wireless, biometric and GPS input and/or output as well as on-appliance acceleration detector render media appliance suitable for security applications. Extensible reconfigurable on-appliance effects and filters studio render media appliance for entertainment and video production or editing applications.  
     
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0008]      FIG. 1   a  is an architectural diagram illustrating network-extensible reconfigurable media appliance according to an embodiment of the present invention.  
         [0009]      FIG. 1   b  is an architectural diagram illustrating network-extensible reconfigurable media appliance according to an embodiment of the present invention.  
         [0010]      FIG. 2  is a diagram illustrating memory element of network-extensible reconfigurable media appliance according to an embodiment of the present invention.  
         [0011]      FIG. 3   a  is a diagram illustrating network-extensible reconfigurable media appliance communicating with other networked services and devices, according to an embodiment of the present invention.  
         [0012]      FIG. 3   b  is a diagram illustrating network-extensible reconfigurable media appliances communicating over a network with a server, according to an embodiment of the present invention.  
         [0013]      FIG. 4  is a flow diagram illustrating a method for sensing according to an embodiment of the present invention.  
         [0014]      FIG. 5  is a flow diagram illustrating a method for filling in a template according to an embodiment of the present invention.  
         [0015]      FIG. 6  is a flow diagram illustrating a method for tagging audio and/or video representation with location and/or direction information.  
         [0016]      FIG. 7  is a flow diagram illustrating a method for transferring data and/or instructions from off-appliance source to on-appliance memory.  
     
    
     DETAILED DESCRIPTION  
       [0017]      FIG. 1   a  is an architectural diagram illustrating network-extensible reconfigurable media appliance  100  according to an embodiment of the present invention. Media appliance  100  comprises media unit  101 , controller  108 , communication unit  103 , and power module  116 .  
         [0018]     Media unit  101  comprises audio and/or video (A/V) sensor  120  for sensing incoming audio and/or video. Sensed video is stored in memory  110  using video format such as Digital Video Disc (DVD), PAL Digital Video Cassette (PAL DVC), PAL or NTSC Laserdisc, 24P HD, ¾-inch, MPEG-2, MPEG-4 (DV-25, DV-50, IMIX, ISMA, etc.), H.264, AVI, DV, DVCAM, DVCPRO, DVCPRO-25/50/100, VHS, D-VHS, W-VHS, Digital-8, Digital-S, D1, D2, D5 HD, Betacam SX, Digital Betacam, other digital ENG format, Motion JPEG, any other HDTV format, NTSC, PAL, HDD/RAID/Disk Arrays, and/or other format for encoding video (specifications for describing these formats are herein incorporated by reference).  
         [0019]     Media unit  101  optionally comprises biometric module  106 . Biometric module  106  comprises finger-print scanner, retinal scanner, and/or other element for collecting a biometric sample, and stores scanned biometric data and/or result of biometric identification process in memory  110 . For example, a data structure is stored comprising a digital representation of collected biometric sample for authorization based on comparison with previously-stored biometric identifier. Biometric module  106  optionally couples with a micro-array chip for genetically-based identification.  
         [0020]     Media unit  106  optionally comprises reconfigurable logic and/or software  122  for performing programmable audio and/or video sensing, or for conversion to or from audio and/or video formats.  
         [0021]     Controller  108  comprises microprocessor  123  (such as one from the Intel Centrino processor family, the specification of which is herein incorporated by reference), and optionally comprises co-processor  124 , Digital Signal Processing (DSP) unit  125 , array processor  126 , and/or reconfigurable logic  127 . Controller  108  performs audio and/or video processing on audio and/or video data residing in memory  110 . Optionally in real-time manner, controller  108  performs on-the-fly audio processing and/or on-the-fly video processing on incoming encoded audio data and/or incoming encoded video data prior to storage of resulting processed audio data and/or resulting processed video data in memory  110 .  
         [0022]     Controller  108  is implemented in Application Specific Integrated Circuit (ASIC) blocks, synthesizable intellectual-property cores, cell processors, reconfigurable logic blocks, Field Programmable Gate Arrays (FPGAs), Tensilica&#39;s XTensa chip architecture and/or instruction set, Single or Multiple Instruction Single or Multiple Data (S/MIS/MD) architecture signal processing chips, Sony “Cell” chip, and/or other architecture for performing audio and/or video processing.  
         [0023]     Controller  108  and/or A/V sensor  120  may perform color-space conversion, brightness, white-balance, backlight compensation, gain control, activity detection, motion detection, motion tracking, gamma correction, sharpening, multi-frame noise reduction, depth estimation, 2-D bad-pixel correction, video compression, video stabilization, digital pan, digital tilt, digital zoom, and/or mosaicing for building panoramic images from successive frames.  
         [0024]     Communication unit  103  comprises radio-frequency (RF) transceiver  128  for communicating via radio waves (e.g. over cellular or other wireless network), and/or network controller  129  for communicating via a wired and/or wireless network (e.g. local area network (LAN), wide area network (WAN), wireless fidelity (WiFi) network, etc.).  
         [0025]     Communication unit  103  optionally comprises subscriber information module (SIM) unit  130  and/or smart card unit for storage and/or retrieval of information about a user (such as user preference, subscribed service, permission, account information, etc.), and/or for allowing usage of media appliance  100  by one or more users.  
         [0026]     Communication unit  103  optionally comprises GPS module  112  for receiving GPS data over satellite. Optionally, GPS module  112  is a micro GPS transponder implemented in single chip or chipset.  
         [0027]     Communication unit  103  optionally comprises acceleration detector  113  (such as a gyroscope, a single-chip accelerometer or other element for detecting acceleration) for determining orientation and/or acceleration of media appliance  100 .  
         [0028]     Communication unit  103  optionally comprises reconfigurable logic or software  131  for performing programmable protocol translation, format conversion, network packet processing, network packet compression and/or decompression, communication encryption and/or decryption, and/or other communication processing.  
         [0029]     Power module  116  provides power for media appliance  100 , and comprises AC and/or DC source, portable rechargeable battery, fuel cell (e.g. direct methanol fuel cell, etc.), and/or other source for providing electrical power. Optionally, media appliance  100  employs MICA microsensor platform for low-power wireless sensor networks, herein incorporated by reference.  
         [0030]     Optionally, media appliance  100  architecture conforms to Advanced Telecommunication Computing Architecture (AdvancedTCA), herein incorporated by reference.  
         [0031]      FIG. 1   b  is a diagram illustrating network-extensible reconfigurable media appliance  100  according to one embodiment of the present invention. Light or video sensor  102  senses incoming image stream and stores digital representation in memory  110 . Preferably, sensor  102  is a complementary metal oxide semiconductor (CMOS) image sensor. Optionally, sensor  102  is integrated with an image preprocessor. Optionally, sensor  102  comprises integrated two-chip set such as Pixim D1000 or D2000 Video Imaging System chip sets. Sensor  102  optionally comprises a partition for post image processing steps. Alternatively, sensor  102  is a charge-coupled device (CCD) or an Active Pixel Sensor (APS) imager. Audio sensor  104  senses incoming sound and stores digital representation of incoming sound in memory  110  using audio format such as Audio Interchange File Format (AIFF), MPEG Layer 3 (MP3), and/or other format for encoding audio information.  
         [0032]     I/O module  111  preferably has audio and video outputs. I/O module  111  preferably communicates with on-appliance display or screen unit  114  and on-appliance speaker  115  for displaying video and generating audio. Optionally, display unit  114  comprises a teleprompter for displaying visual prompts (such as text and/or pictures).  
         [0033]     Optionally, I/O module  111  communicates wirelessly, wired, over cellular network, over LAN and/or over WAN (such as Internet), to send and/or receive GPS data, Digital Rights Management (DRM) meta-data, audio and/or video plugins, and/or other instructions and/or data for processing and/or tagging of audio and/or video data. Optionally, I/O module  111  has video and audio inputs for receiving audio and video signals from external audio and/or video source such as a camera, a PDA, a media repository, a satellite, a security service, a DRM service, a biometric service, a GPS service, a PC or workstation, a cellular service or cellular device, or other device or service communicating with media appliance  100 . Media appliance  100  optionally has network controller  117  for communicating with other devices and/or services over a network.  
         [0034]      FIG. 2  shows memory  110  according to a preferred embodiment of the present invention. Memory  110  comprises Dynamic Random-Access Memory (DRAM), Static Random-Access Memory (SRAM), high-speed Flash memory, and/or removable memory (e.g. removable flash memory card such as MultiMediaCard). Memory  110  stores audio and video data  201 .  
         [0035]     Optionally, memory  110  stores software instructions and data implementing billing  202  and/or business methods, such as a time-based pay-per-view and/or micro-billing feature. For example, memory  110  stores a data structure comprising a field describing a viewing (such as a home-viewing of a video clip of video stream) and/or a field indicating an amount to be charged for the viewing and/or a field identifying a party to be charged.  
         [0036]     Optionally, memory  110  stores meta-data and/or instructions for implementing DRM  203  (e.g. Disney Media Asset Management (MAM) format), Resource Definition Framework (RDF) implementation such as Adobe&#39;s XMP (eXtensible Metadata Framework), or other scheme for managing meta-data. For example, an XMP packet data structure comprising a header, an XML meta-data, a trailer, and a padding field is employed. Optionally, memory  110  stores data and/or instructions for implementing DRM according to a Right Expression Language Data Model, for example employing Extensible Rights Markup Language (XrML). Optionally, memory  110  stores meta-data and/or instructions for implementing proposed Global Release Identifier Syntax (GRID), for example employing a data structure having an Identifier Scheme, an Issuer Code, a Release Number, and a Checksum.  
         [0037]     Optionally, memory  110  stores instructions and/or data  204  for performing digital authentication, encryption, decryption, key generation, digital signing, digital watermarking, and/or other instructions for performing security and/or privacy related computation on audio and/or video data, DRM data, billing data and/or conditions, sensitive personal data, or other data residing in media appliance  100  and/or communicated to of from media appliance  100 . For example, memory  110  stores a data structure comprising a field describing an encryption (and/or decryption) key, and further stores instructions for encrypting a video stream using the encryption (and/or decryption) key.  
         [0038]     Optionally, memory  110  stores instructions and/or data  205  for performing identity recognition (such as facial recognition, emotion recognition, voice recognition, and/or other pattern or identity recognition) on video data  201  and/or on incoming video signal. For example, memory  110  stores a data structure comprising an identifier for a database against which image recognition is to be performed, for example a database of faces for recognizing faces in a crowd. The database may be stored (partially or completely) internally on media appliance  100  or reside externally on a server. As another example, memory  110  stores a data structure comprising a feature extracted from a video stream and/or video clip (using image extraction instructions stored in memory  110 ), and the extracted feature is used for a data base query or is sent to a server for further handling.  
         [0039]     Optionally, memory  110  stores instructions and/or data for performing authoring  206  and/or digital video editing (e.g. linear or non-linear editing), compositing, and/or special effects, such as Apple&#39;s Final Cut Pro software. For example, memory  110  stores a data structure comprising a bit rate associated with the encoding of a video clip and/or video stream. As another example, memory  110  stores a data structure comprising author information, genre information, title, characters, actors, genre, story, activities, viewer demographics, locations, scenes, backgrounds, props, objects, set pieces, or other information pertaining to a video clip and/or video stream.  
         [0040]     Optionally, memory  110  stores instructions and/or data for tagging  207  the digital representation of a sensed scene (video stream and/or video clip) with meta-data. For example, memory  110  stores a data structure comprising time, media appliance location (such as provided by GPS module  112 ), media appliance orientation and/or media appliance acceleration (such as provided by acceleration detector  113 ), multi-lingual features (allowing for translation, subtitles, voice-over, etc.), cues to a theater automation system (such as instructions for house lights to go up, half-way up, or down, or instructions to open or close curtains, etc.), instructions for allowing or disallowing content (such as trailers or promotional clips) to play next to other similar content, information indicating suitability of content for different audiences such as children, information indicating any promotional offers, products and/or services (such as advertisements, product catalogs and/or coupons for products and/or services), information allowing for organizing and/or managing meta-data available to advertisers and/or service providers, and/or other information describing, identifying and/or relating to content.  
         [0041]     DRM meta-data and/or instructions optionally comprise flags for implementing rights and/or limitations of reproduction, rights and/or limitations of public performance, rights and/or limitations of display, rights and/or limitations of distribution, rights and/or limitations of importation, rights and/or limitations of transmission or access, rights and/or provisions under Digital Millennium Copyright Act (DMCA), rights and/or limitations of caching, rights and/or limitations of browsing, rights and/or limitations of storage, rights and/or limitations of transfer such as burning to Compact Disk (CD) or DVD, rights and/or limitations of referring or linking or framing, rights and/or limitations of streaming or downloading, rights and/or limitations of advertising, or other rights and/or limitations and/or provisions. For example, memory  110  stores a data structure comprising a field identifying a video clip or video stream, and a field for indicating whether a reproduction right is granted for the identified video clip of video stream. In another example, memory  110  stores a data structure comprising a field identifying a video clip or video stream, and a field for indicating whether a public performance (and/or display) right is granted for the identified video clip of video stream. Other digital rights can be implemented analogously. DRM meta-data and/or instructions optionally support secure promotion, sale, delivery, distribution, and/or usage tracking of digital content. Optionally, execution environment is partitioned into kernel versus user space and/or into standard versus trusted partitions according to Microsoft&#39;s Next-Generation Secure Computing Base (NGSCB).  
         [0042]     Media appliance  100  optionally inserts, deletes, and/or modifies a label in an RDF (e.g. XMP) tag describing a media segment.  
         [0043]     Media appliance  100  optionally implements content authenticity, device authentication, and/or user authentication. Content authenticity comprises digital watermarking, digital fingerprinting, and/or other technique for content authentication. For example, memory  110  stores instructions for reading an identifier describing a source of a video clip and/or video stream, wherein the identifier is embedded in a digital watermark within the video clip and/or video stream. As another example, memory  110  stores a data structure comprising a field identifying one or more authorized sources for downloading video clips and/or video streams. Device authentication comprises smartcards, public key certificates, and/or device for performing authentication. User authentication comprises biometrics using biometric module  106 , passwords, and/or other technique for performing user authentication.  
         [0044]     Media appliance  100  optionally implements, in software (e.g. residing in memory  110 ) and/or hardware, an abstraction layer between application and display, such as DVB (Digital Video Broadcast) and/or MHP (Multimedia Home Platform) abstraction layers. Specifications for incorporating the DVB and MHP formats are herein incorporated by reference.  
         [0045]      FIG. 3   a  shows networked media appliance  100  communicating with other device and/or service, according to a preferred embodiment of the present invention. Communication with other device and/or service proceeds via direct network connection, Internet, WiFi, IEEE 802.11, IEEE 802.16, IEEE 802.15.4, ZigBee specification, cellular, Bluetooth, Universal Serial Bus (USB), Apple&#39;s FireWire, and/or other communication channel or protocol. Communication is optionally encrypted, authenticated and/or digitally signed, preferably with encryption engine  204  implemented in memory  110 , or alternatively with encryption engine  204  implemented in controller  108 .  
         [0046]     Media appliance  100  optionally communicates with media repository  307  for downloading and/or uploading video and/or audio clips, video and/or audio meta-data such as author information, genre information, title, characters, actors, genre, story, activities, demographics, locations, scenes, backgrounds, props, objects, set pieces, etc.  
         [0047]     Media appliance  100  optionally communicates with DRM service  308  for downloading and/or uploading DRM meta-data. Optionally, media appliance  100  generates a message indicating an infringement and/or other violation of digital rights, according to a set of DRM rules, such as copying without permission, broadcasting without permission, etc. For example, memory stores a data structure comprising a field identifying a video clip and/or video stream, and an indicator of a violation of a DRM rule, such as an act of broadcasting the video clip and/or video stream without permission.  
         [0048]     Media appliance  100  optionally communicates with security service  309  to upload security information such as video and/or audio record of scene, identity recognition data as computed by identity recognition instructions  203 , GPS data as provided by GPS module  112 , directional data as provided by acceleration detector  113 , and/or to download security information such as location to watch, identity data to store for matching against images, and/or voice audio signature to store for matching against audio clips. For example, media appliance  100  sends a data structure to security service  309 , wherein the data structure comprises a field identifying a person, and a field identifying the location of the media appliance  100  at the time the person is sensed by media appliance  100 . Optionally, media appliance  100  couples to police authority for providing live and/or recorded footage and/or triggering alarm and calling police according to built-in media appliance intelligence for identifying potential dangerous and/or suspicious conditions.  
         [0049]     Media appliance  100  optionally communicates with biometric service  301  to upload biometric information obtained by biometric module  106 , and/or to download biometric signature for matching against incoming biometric data.  
         [0050]     Media appliance  100  optionally communicates with GPS service  302 , such as GPS satellites, to receive GPS information. For example, if media appliance  100  moves into a restricted area, as indicated by GPS service  302  and/or by information residing on media appliance  100  and/or obtained remotely, GPS unit  112  activates an alert. For example, memory  110  stores a data structure comprising a field identifying a restricted geographical area, and media appliance  100  generates an alarm when location of media appliance  100 , as indicated by GPS service  302 , falls within the restricted geographic area.  
         [0051]     Media appliance  100  optionally communicates with news service  310  and/or other objective information service. In one embodiment, media appliance  100  receives a data structure from news service  310 , the data structure representing a digital template and comprising a field identifying a location, and one or more fields identifying elements to be covered by reporter (such as a person to interview, a particular place to point out to viewers, other news reporters covering the same news story, etc.).  
         [0052]     Media appliance  100  optionally communicates with sports broadcasting network, game-show broadcasting network, and/or other gaming or competition-related network  311 . In one embodiment, media appliance  100  receives a data structure from sports broadcasting network  310 , the data structure comprising a field identifying one or more competing parties, a field identifying a location of the competition, and a field indicating the competition schedule.  
         [0053]     Media appliance  100  optionally communicates with private service  312 . In one embodiment, media appliance  100  receives a data structure from movie production source or network  310 , the data structure comprising a field identifying one or more movie or media production, a field identifying a location of the production, a field indicating the production schedule, a field indicating one or more scenes, and a field indicating one or more cast or staff members.  
         [0054]     Media appliance  100  optionally communicates with renderer  313  to display video data. Renderer  313  comprises a cinema or movie theater, television receiver, computer display, IMAX display, a Digital Audio Broadcast (DAB) broadcaster, a satellite broadcaster, a digital TV, a High Definition TV (HDTV), a PDA and/or cellular phone (or other mobile device display).  
         [0055]     Media appliance  100  optionally communicates with a personal computer (PC) and/or workstation  303  and/or other computing device for synchronization of data residing on media appliance  100  with computer  303  (optionally interfacing with media repository manager and/or program manager residing on computer  303 ). For example, memory  110  stores a data structure comprising a field indicating the time of last synchronization of media appliance  100  with computer  303  (or media repository manager or program manager residing on computer  303 ). Communication proceeds wirelessly and/or via a cradle (coupled to computer  303 ) into which media appliance  100  is placed for synchronization. In one embodiment, media appliance  100  comprises a user interface offering a synchronization button (hard button on media appliance  100  and/or soft button displayed in media appliance&#39;s  100  graphical display), activation of which causes described data synchronization.  
         [0056]     Media appliance  100  optionally communicates with PDA  304 , cellular service and/or device  305 , and/or other mobile service and/or device for displaying video and/or audio data.  
         [0057]     Media appliance  100  optionally communicates with other networked media appliance  306  for exchanging video and/or audio clips and/or for collaborating in the production of a media project, wherein a media appliance is assigned a token (number, string, etc.), statically or dynamically, for identifying the media appliance. Media appliance  100  optionally communicates with other networked media appliance  306  to enable video-conferencing and/or multi-way collaboration, for example, in business meetings, real estate transactions, distance learning, sports, fashion shows, surveillance, training, games, tourism, etc. For example, memory  110  stores a data structure comprising a field for describing a group of collaborating media appliances  100 , and a field identifying media appliance  100  itself among the group of collaborating media appliances.  
         [0058]      FIG. 3   b  is a diagram illustrating network-extensible reconfigurable media appliances communicating over a network with a server, according to an embodiment of the present invention. One or more client media appliances  330  communicate over a network  331  with server  332 . Network  331  is a combination of one or more wired and/or wireless networks such as the Internet, a LAN, a WAN, a satellite network, or other network for communication. In one embodiment, server  332  is a news server, having a script or digital template for producing a news program. Server  332  delegates the recording or streaming of various predetermined pieces of audio and/or video footage to the various media appliance clients  330 , wherein the recorded or streamed pieces will serve to fill-in the server  332  script or digital template for producing the news program.  
         [0059]     In another embodiment, server  332  is a server for sports or other competition, having a script or digital template for producing a sports program or a program for other competitive activity. Server  332  delegates the recording or streaming of various predetermined pieces of audio and/or video footage to the various media appliance clients  330 , wherein the recorded or streamed pieces serve to fill-in the server  332  script or digital template for producing the sports (or other competition) program.  
         [0060]     In one embodiment, I/O module  111  presents a user interface (UI), comprising a combination of hard (physical) buttons and/or soft (graphical) buttons for accessing and using billing functions, DRM functions, authentication, identity recognition, digital editing of media, and/or other services as shown in  FIG. 3   a  and described above. For example, a view (for example comprising a button) is presented via display  114  to allow approval of a billing associated with the viewing of video data. As another example, a view is presented via display  114 , allowing selection of one or more audio and/or video data for submission or transmission to a server  332 , such as a news server or a sports server, as described above. Selection of a presented audio and/or video data designates the selected data for submission or transmission to the server. Optionally, interfaces and media appliances are physically separate, wherein through an interface a user can tap into a pool or one or more media appliances to view available audio and/or video data, and/or select one or more available audio and/or video for submission or transmission to a server  332 , as described above. As another example, a view is presented at server  332  for approving the inclusion of a submitted or transmitted audio and/or video data into a script or a digital template for a news or sports program, wherein the audio and/or video data is submitted by a media appliance client  330  to server  332 , as described above.  
         [0061]      FIG. 4  is a flow diagram illustrating a method for sensing according to one embodiment of the present invention. The method begins with pre-production  401 . Pre-production comprises employing  402  a script and/or storyboard flowchart, or employing  403  a digital template  403 . A portion of this front-end may be implemented automatically or manually in software, comprising analysis, design, development, production, implementation or evaluation of script, storyboard, and/or digital template. Optionally, frames and/or scenes are labeled (via meta-data) according to script, storyboard, or digital template in use.  
         [0062]     A script or storyboard is downloaded over a wired and/or wireless network, made available via removable storage (e.g. memory card and/or disk), or is alternatively created on media appliance. A digital template describes how to construct a video and/or multimedia document by sensing (i.e. “shooting” or recording) and assembling individual scenes and/or segments in particular order, and is downloaded over a wired and/or wireless network or created on media appliance. Alternatively, user of media appliance  100  may decide not to consult a script, storyboard, or digital template, and proceed directly to sensing  404 .  
         [0063]     One example of a template is a template for insurance inspection of vehicle accidents, wherein the template indicates “slots” for video clips, taken from various angles, of the vehicles involved in the accident, as prescribed by an insurance company.  
         [0064]     Optionally, media appliance  100  adaptively guides media appliance operator in making discretionary decisions to take alternate script paths and/or alter flow of script (or storyboard or digital template) or generally deviate from the script, for example when dealing with emergency conditions and/or events which do not occur according to script. Such guidance may employ non-deterministic scripts, according to logic specified using Bayesian modeling, neural networks, fuzzy logic, and/or other technique for making decisions under complex conditions and/or under incomplete information. For example, in one embodiment a cast member in a script is described by fuzzy attributes, such as “a female actor with at least five years drama experience” in leading role (instead of or in addition of identifying the lead role actor by name). Then, in case the lead actor canceling her engagement, instructions employing fuzzy logic perform a search for actors matching the fuzzy attributes to dynamically recommend one or more candidates to fill the role.  
         [0065]     Optionally, digital template or script is non-linear, allowing for one or more branching points. A branching point allows the script and/or template to flow in more than one path. For example, scene (or clip or stream) A can be followed by scene B or scene C, depending on which branch of the branching point following A is taken. For a viewer, a media presentation prepared according to such non-linear template or script allows for a multiplicity of presentations comprising different scene (or clip or stream) orderings. For a viewer, the decision of which of the alternate paths to follow in a branching point can be viewer selected, randomly chosen, based on external variable (such as a combination of one or more of: weather, temperature, stock quotes, time of day or year, viewing location, amount of money left in viewer&#39;s account, or any other external variables), based on biometric sensing of viewer, based on the result of an identity or emotion recognition procedure on viewer (such as distinguishing between happiness, sadness, excitement, apathy, interest in a particular aspect of the presentation and/or other emotions or indications of interest exhibited by viewer), based on real-time input from viewer or from larger audience (such as deliberate viewer decision of which script or template path to take next, provided via an input device or detected by the presentation module), or based on other variables. Such non-linear template or script allows for example for the production and presentation of a PG-rated, R-rated, or X-rated version of a given movie depending on the audience (for example a parent may elect to view the R-rated version of the movie while electing a PG-rated presentation for the children). As another example, a wedding template or script may allow for different presentations based on whether the bride&#39;s family or the groom&#39;s family is viewing. As another example, a mystery presentation may offer alternate endings, based on viewer input or external variables as described above.  
         [0066]     Media appliance  100  senses  404  video and/or audio and stores a digital representation in memory  110 . Optionally, multiple audio and/or video streams are sensed, either by the same media appliance or by collaborating media appliances, wherein synchronization is provided for the multiple streams, in the form of meta-data tags describing related scenes and/or streams and/or frames, and/or in the form of meta-data describing time stamps relating different scenes and/or streams. For example, memory  110  stores a data structure comprising one or more fields identifying one or more related video scenes and/or streams and/or frames, and a field indicating the nature of the relation (for example indicating that the video scenes and/or streams and/or frames represented different viewing angles of the same sensed object).  
         [0067]     Media appliance  100  then post-produces the stored digital representation, using controller  108  and/or audio or video plugin stored in memory  110 .  
         [0068]     The post-produced digital representation is then stored 406 in memory  110  (or in other storage medium such as optional on-appliance hard-disk or storage tape for storing data), displayed  407  on on-appliance display unit  114 , and/or sent for off-appliance display and/or exhibition (e.g. for IMAX display according to IMAX 15/70 format, or for Texas Instruments DLP (Digital Light Processing) format), or for digital remastering according to IMAX&#39;s DMR (Digital Remastering) format, or for satellite distribution (e.g. to Digital Audio Broadcast (DAB) distribution scheme to DAB enabled devices such as PDAs, cellular phones, personal audio and/or video players, or other devices for presenting audio and/or video). Optionally, communication of media appliance  100  with other devices and/or services complies with ATSC DASE (Advanced Television Systems Committee Digital TV Application Software Environment) architecture, incorporated herein by reference.  
         [0069]      FIG. 5  is a flow diagram illustrating a method for optionally filling-in a template according to a preferred embodiment of the present invention. Starting  501  with a template, sense  502  a first scene according to the template, and fill-in  503  sensed scene in template. If no additional scene is desired  505 , finish  506 , else  504  proceed to step  502  and repeat until done. Template is stored in memory  110  comprising suitable format such as the Advanced Authoring Format (AAF).  
         [0070]      FIG. 6  is a flow diagram illustrating a method for optionally tagging audio and/or video representation with information contained in a meta-data structure. Upon sensing  601  a scene, the digital representation of the sensed scene is tagged  602  with meta-data. Meta-data comprises time, media appliance location (such as provided by GPS module  112 ), media appliance orientation and/or media appliance acceleration (such as provided by acceleration detector  113 ), multi-lingual features (allowing for translation, subtitles, voice-over, etc.), cues to a theater automation system (such as instructions for house lights to go up, half-way up, or down, or instructions to open or close curtains, etc.), instructions for allowing or disallowing content (such as trailers or promotional clips) to play next to other similar content, information indicating suitability of content for different audiences such as children, information indicating any promotional offers, products and/or services (such as advertisements, product catalogs and/or coupons for products and/or services), information allowing for organizing and/or managing meta-data available to advertisers and/or service providers, and/or other information describing, identifying and/or relating to content. Tagging may be done per scene, per frame, per audio and/or video stream (e.g. when multiple streams are present), or per other defined segment of audio and/or video. For example, a video scene is tagged with meta-data comprising a field identifying the language used in the video scene. As another example, a video stream is tagged with meta-data comprising a field indicating a warning against viewing by children.  
         [0071]      FIG. 7  is a flow diagram illustrating a method for transferring data and/or instructions from off-appliance source to on-appliance memory. After determining  701  off-appliance source, such as external repository (for templates, plugins, DRM data, encryption keys, media clips, security data, biometric data, GPS data, etc.), proceed by transferring  702  data and/or instructions from determined off-appliance source to on-appliance memory  110 .  
         [0072]     In one embodiment, media appliance  100  is a member of a distributed group of media appliances  100 , for example in a distributed network of media appliances  100  and/or in a peer-to-peer configuration of media appliances  100 . A media appliance  100  dynamically joins and/or leaves a distributed group of media appliances  100 , in parallel and/or serially with other media appliances  100 . Alternatively, media appliance  100  initiates a distributed group of media appliances  100 , allowing for other media appliance&#39;s  100  to dynamically join and/or leave the group. In one embodiment, the group of media appliances  100  collaborates to cover an event, such as a sporting event, a public political event (e.g. a rally), a family event (e.g. a wedding), or other event. Media appliances  100  tag sensed audio and/or video data as described above (e.g. with GPS information, time stamps, DRM meta-data, or other information previously described), allowing reconstruction of covered event from the audio and/or video data collected by distributed media appliances  100 . Memory  110  stores instructions and/or data for initiating, joining, leaving and/or querying the status of or information about such a distributed group of media appliances  100 .  
         [0073]     Foregoing described embodiments of the invention are provided as illustrations and descriptions. They are not intended to limit the invention to precise form described. In particular, it is contemplated that functional implementation of invention described herein may be implemented equivalently in hardware, software, firmware, and/or other available functional components or building blocks, and that networks may be wired, wireless, or a combination of wired and wireless. Other variations and embodiments are possible in light of above teachings, and it is thus intended that the scope of invention not be limited by this Detailed Description, but rather by claims following.