Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COORDINATED UPLOAD OF CONTENT FROM DISTRIBUTED MULTIMEDIA CAPTURE DEVICES
Document Type and Number:
WIPO Patent Application WO/2008/011380
Kind Code:
A3
Abstract:
In one embodiment, a method includes receiving a local parameter value and/or a regional parameter value. The local parameter value is associated with a multimedia capture device within a network and the regional parameter value is associated with at least two entities of the network. A transmission rule having a local component and/or a regional component is received. The local component is associated with the multimedia capture device and the regional component is associated with the at least two entities of the network. A transmission indicator is defined based on the transmission rule and on the local parameter value and/or the regional parameter value. The transmission indicator is configured to cause the multimedia capture device to modify sending a media signal over the network.

Inventors:
ALLEN GEOFFREY BENJAMIN (US)
GEYER STEVEN LEE (US)
Application Number:
PCT/US2007/073608
Publication Date:
May 22, 2008
Filing Date:
July 16, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ANYSTREAM INC (US)
ALLEN GEOFFREY BENJAMIN (US)
GEYER STEVEN LEE (US)
International Classes:
G06F7/00
Foreign References:
US20050050577A12005-03-03
US20040225743A12004-11-11
Other References:
PARTRIDGE K. ET AL.: "Facile: a framework for attention-correlated local communication", MOBILE COMPUTING SYSTEMS AND APPLICATIONS, 2003. PROCEEDINGS. FIFTH IEEE WORKSHOP, 9 October 2003 (2003-10-09) - 10 October 2003 (2003-10-10), pages 139 - 147, XP010662882, Retrieved from the Internet DOI: doi:10.1109/MCSA.2003.1240775
PARTRDIGE K. ET AL.: "Facile: a framework for attention-correlated local communication", MOBILE COMPUTING SYSTEMS AND APPLICATIONS, 2003. PROCEEDINGS. FIFTH IEEE WORKSHOP, 9 October 2003 (2003-10-09) - 10 October 2003 (2003-10-10), pages 139 - 147, XP010662882, Retrieved from the Internet DOI: doi:10.1109/MCSA.2003.1240775
Attorney, Agent or Firm:
BENNETT, Daniel, M. et al. (Attn: PATENT GROUP11951 Freedom Driv, Reston Virginia, US)
Download PDF:
Claims:

What is claimed is:

1. A method, comprising: receiving an indicator of at least one of a local parameter value or a regional parameter value, the local parameter value being associated with a multimedia capture device within a network, the regional parameter value being associated with at least two entities of the network; receiving a transmission rule having at least one of a local component or a regional component, the local component being associated with the multimedia capture device, the regional component being associated with the at least two entities of the network; and defining a transmission indicator based on the transmission rule and the at least one of the local parameter value or the regional parameter value, the transmission indicator being configured to cause the multimedia capture device to modify sending a media signal over the network.

2. The method of claim 1 , wherein the receiving the transmission rule includes receiving the transmission rule at the multimedia capture device.

3. The method of claim 1 , wherein the receiving the indicator includes receiving the indicator at a control server.

4. The method of claim 1, further comprising: detecting a change in at least one of the regional parameter value or the local parameter value; and modifying at least one of the local component or the regional component in response to the change.

5. The method of claim 1 , wherein the transmission rule is based on at least one of boolean logic, a threshold condition, a look-up table, or a mathematical relationship.

6. The method of claim 1, further comprising: detecting a change in at least one of the local parameter value or the regional parameter value, the defining includes defining in response to the change.

7. The method of claim 1 , wherein the multimedia capture device is a first multimedia capture device, the transmission indicator is a first transmission indicator, the method, further comprising: receiving a local parameter value associated with a second multimedia capture device; and sending a second transmission indicator to the second multimedia capture device, the second transmission indicator being defined based on the transmission rule and the at least one of the local parameter value associated with the first multimedia capture device or the regional parameter value.

8. The method of claim 1 , wherein the local component is based on at least one of a network preference, a multimedia capture device parameter, a venue preference, a speaker preference, or a fixed attribute associated with the multimedia capture device.

9. The method of claim 1 , wherein the regional component is based on at least one of a network preference, a venue preference, a speaker preference, or a fixed attribute associated with a venue.

10. The method of claim 1 , wherein the transmission indicator indicates at least one of a transmission rate, a transmission start prompt, a transmission destination or a transmission stop prompt.

11. The method of claim 1 , wherein the local component is included in a plurality of local components, each local component from the plurality of local components is associated with at least one transmission rule, the regional component is defined based on the plurality of local components.

12. The method of claim 1 , wherein the multimedia capture device is at least one of a specific-purpose embedded appliance having an embedded environment or a general purpose computer system configured for media signal capture.

13. The method of claim 1 , wherein the regional parameter value is a first regional parameter value, the local component is defined based on the regional component and at least one of the first regional parameter value or a second regional parameter value.

14. A method, comprising: receiving a first transmission rule defined based on a second transmission rule, the second transmission rule being associated with a control server; and defining a transmission indicator based on the first transmission rule, the transmission indicator being configured to cause a multimedia capture device to modify sending a media signal over a network.

15. The method of claim 14, wherein the second transmission rule is defined at the control server, the method further comprising: sending the first transmission rule from the control server to the multimedia capture device.

16. The method of claim 14, further comprising receiving a regional parameter value associated with at least two entities of the network, the first transmission rule is defined based on the regional parameter value.

17. The method of claim 14, further comprising: receiving a regional parameter value associated with at least two entities of the network; and detecting a change in the regional parameter value, the first transmission is defined in response to the change.

18. The method of claim 14, wherein the first transmission rule is defined in response to a change in the second transmission rule.

19. The method of claim 14, wherein the multimedia capture device is a first multimedia capture device, the method, further comprising: defining a third transmission rule based on the first transmission rule; and sending the third transmission rule to a second multimedia capture device.

20. The method of claim 14, wherein the receiving includes receiving at the multimedia capture device, the first transmission rule is associated with the multimedia capture device.

21. The method of claim 14, wherein the defining includes defining at the multimedia capture device based on the first transmission rule and a local parameter value associated with the multimedia capture device.

22. The method of claim 14, wherein the first transmission rule is defined at a control server, the receiving the first transmission rule includes receiving the first transmission rule at the control server.

23. The method of claim 14, further comprising: receiving an indicator of a local parameter value associated with the multimedia capture device; and detecting a change in at least one of a local parameter value or the first transmission rule, the defining includes defining in response to the change.

24. The method of claim 14, wherein the multimedia capture device is a first multimedia capture device, the method further comprising: receiving an indicator of a first local parameter value associated with first multimedia capture device, the first transmission rule is defined based on a second local parameter value associated with a second multimedia capture device.

25. An apparatus, comprising: a memory configured to store a transmission rule having at least one of a local component or a regional component, the local component being associated with a multimedia capture device, the regional component being associated with the at least two entities of the network; and a processor configured to receive at least one of a local parameter value or a regional parameter value, the local parameter value being associated with the multimedia capture device, the regional parameter value being associated with the at least two entities of a network.

26. The apparatus of claim 25, wherein the processor is configured to send a transmission indicator to the multimedia capture device, the transmission indicator being based on the transmission rule and the at least one of the local parameter value or the regional parameter

value, the transmission indicator being configured to cause the multimedia capture device to modify a transmission of a media signal over the network.

27. The apparatus of claim 25, wherein the processor is configured to access the transmission rule stored in the memory and modify a transmission of a media signal over the network based on the transmission rule and the at least one of the local parameter value or the regional parameter value.

28. The apparatus of claim 25, wherein the processor is configured to define a transmission indicator in response to a change in the at least one of the local parameter value or the regional parameter value.

29. The apparatus of claim 25, wherein the memory and the processor are integrated into a control server.

30. The apparatus of claim 25, wherein the memory and the processor are integrated into the multimedia capture device, the multimedia capture device is at least one of a specific- purpose embedded appliance having an embedded environment or a general purpose computer system configured for media signal capture.

31. A computer program stored on a computer-readable medium, the computer program comprising: a first receiving instruction to receive at least one of a local parameter value or a regional parameter value, the local parameter value being associated with a multimedia capture device within a network, the regional parameter value being associated with at least two entities of the network; a second receiving instruction to receive a transmission rule having at least one of a local component or a regional component, the local component being associated with the multimedia capture device, the regional component being associated with the at least two entities of the network; and a defining instruction to define a transmission indicator based on the transmission rule and the at least one of the local parameter value or the regional parameter value, the transmission indicator being configured to cause the multimedia capture device to modify sending a media signal over the network.

Description:

COORDINATED UPLOAD OF CONTENT FROM DISTRIBUTED MULTIMEDIA

CAPTURE DEVICES

FIELD OF INVENTION

[1001] The invention relates generally to an apparatus and method for uploading media signals, and more particularly, to an apparatus and method for uploading media signals captured from a multimedia capture device.

BACKGROUND

[1002] The ability to capture live media recordings of, for example, meetings and/or classroom instruction for time-shifted viewing and on-demand availability has become valuable to institutions such as universities and businesses. Accordingly, to accommodate the demand for time-shifted viewing and on-demand availability, capture devices can be distributed across a network to capture/process media content and upload/send the media content to a central location for later distribution. Coordinating the capturing and uploading of media content from a few capture devices in a small network can be straightforward in many environments. But, in large networks (e.g., multi-purpose networks) that include numerous distributed capture devices, the uploading of sizeable quantities of captured media content to one or more centralized locations can cause a significant degradation of network functionality. Thus, a need exists for an apparatus and method for coordinating the uploading of captured media content over a network.

SUMMARY OF THE INVENTION

[1003] In one embodiment, a method includes receiving a local parameter value and/or a regional parameter value. The local parameter value is associated with a multimedia capture device within a network and the regional parameter value is associated with at least two entities of the network. A transmission rule having a local component and/or a regional component is received. The local component is associated with the multimedia capture device and the regional component is associated with the at least two entities of the network. A transmission indicator is defined based on the transmission rule and on the local parameter value and/or the regional parameter value. The transmission indicator is configured to cause the multimedia capture device to modify sending a media signal over the network.

BRIEF DESCRIPTION OF THE DRAWINGS

[1004] FIG. 1 is a system block diagram that illustrates multimedia capture devices connected to a control server over a network, according to an embodiment of the invention.

[1005] FIG. 2 shows a table that illustrates a transmission rule that can be used to define a transmission rate for several multimedia capture devices, according to an embodiment of the invention.

[1006] FIG. 3 shows a flowchart that illustrates a method for using a transmission rule to trigger the uploading of a media signal from a multimedia capture device, according to an embodiment of the invention.

[1007] FIG. 4 is a schematic system block diagram that illustrates multimedia capture devices connected with a control server over a network, according to another embodiment of the invention.

[1008] FIG. 5 shows a flowchart that illustrates a method for using a first transmission rule to define a second transmission rule, according to an embodiment of the invention.

[1009] FIG. 6 is a system block diagram that illustrates an embedded appliance that has input ports, a processor system, a memory, and an alarm module, according to an embodiment of the invention.

[1010] FIG. 7 is a block diagram that illustrates the flow of media signals from an embedded appliance through modules in a control server, according to an embodiment of the invention.

[1011] FIG. 8 is a block diagram that illustrates multimedia capture devices distributed across a network and coupled to a control server, according to an embodiment of the invention.

[1012] FIG. 9 shows a flowchart that illustrates a method for associating a dynamic capture parameter(s) and a fixed attribute(s) with a capture record from a capture schedule to define a capture instruction, according to an embodiment of the invention.

[1013] FIG. 10 shows an example priority table that can be used in defining a capture instruction, according to an embodiment of the invention.

[1014] FIG. 11 illustrates an example of a speaker preference being associated with a capture record via an identifier before a capture instruction is defined, according to an embodiment of the invention.

DETAILED DESCRIPTION

[1015] A multimedia capture device (MCD) is a device configured to capture, process, store and/or send real-time media signals (e.g., audio signal, video signal, visual-capture signal, and/or digital-image signal) of, for example, an in-progress classroom presentation. The multimedia capture device can be, for example, an embedded appliance dedicated to realtime media signal capture or a general purpose computer system configured for real-time media signal capture. A real-time media signal represents an image and/or a sound of an event that is being acquired by a sensor (i.e., media sensor) at substantially the same time as the event is occurring and that is transmitted without a perceptible delay between the sensor when acquired and the multimedia capture device when received. Real-time media signals are also referred to herein as media signals for convenience.

[1016] After real-time media signals are captured, processed and/or stored by multimedia capture devices, the multimedia capture devices are configured to upload (e.g., send, transfer) one or more portions of media signals to an entity, such as a network device or a control server(s), within a network. The sending of one or more portions of a media signal from a multimedia capture device over the network is triggered (e.g., modified) by a transmission indicator that indicates, for example, a start transmission time and/or a transmission rate.

[1017] The transmission indicator can be defined by a transmission rule or set of transmission rules that use one or more local parameter values and/or one or more regional parameter values. Local parameter values are parameter values associated with a single multimedia capture device (e.g., disk space available on a multimedia capture device) and regional parameter values are parameter values that are associated with more than one entity in a network (e.g., total bandwidth available within a portion of a network). A local component(s) of the transmission rule(s) can be populated with the local parameter value(s), and a regional component(s) of the transmission rule(s) can be populated with the regional parameter value(s).

[1018] The uploading of media signals from one or more multimedia capture devices can be synchronously or asynchronously coordinated based on one or more transmission rules.

The transmission of media signals from a multimedia capture device(s) can be dynamically coordinated by one or more transmission rules. Transmission indicators can be periodically (e.g., at specified times), dynamically, and/or asynchronously defined to trigger the uploading of media signals in response to changes in parameter values (e.g., local parameter values and/or regional parameter values) and/or transmission rules.

[1019] A transmission rule(s) can be used at the multimedia capture device or at the control server to define a transmission indicator(s) based on a parameter value(s) that is received at the control server and/or the multimedia capture device. A control server, for example, can receive one or more parameter values and can use the parameter value(s) in a transmission rule to define one or more transmission indicators. The control server can then send the transmission indicator to a multimedia capture device(s) to modify sending a media signal from the multimedia capture device to an entity within a network. In some embodiments for example, a multimedia capture device can receive one or more transmission rules and one or more parameter values. The multimedia capture device can use the parameter value(s) in the transmission rule(s) to define one or more transmission indicators that can be used at the multimedia capture device to trigger (e.g., modify) the sending of a media signal to an entity within a network.

[1020] FIG. 1 is a block diagram that illustrates multimedia capture devices 102, 104, and 106 distributed across a network 110 and in communication with a control server 120. After a media signal(s) is captured, processed and/or stored by one or more of the multimedia capture devices 102, 104, and 106, the multimedia capture devices 102, 104, and 106 are configured to send (e.g., upload, transfer) one or more portions of the media signal(s) to an entity connected to the network 110 such as the control server 120. Several network devices 152, 154, 156, and 158 such as, for example, personal computers and/or servers are also in communication with and are configured to send and/or receive signals over the network 110. The network 110 can be any type of network including a local area network (LAN) or wide area network (WAN), implemented as a wired or wireless network in a variety of environments such as, for example, a university campus or an office complex.

[1021] In some embodiments, the multimedia capture devices 102, 104, and 106 can be dedicated (i.e., specific-purpose) devices having embedded environments (referred to as an embedded appliance or as an embedded appliance for multimedia capture). The multimedia capture devices 102, 104, and 106 can be configured to use a hardened operating system (OS)

and a processor (e.g., processor system) to capture, process, store and/or send one or more real-time media signals. The hardware and software within each of the multimedia capture devices 102, 104, and 106 can be integrated into and designed specifically for capturing, processing, storing and/or sending real-time media signals. More details regarding multimedia capture devices and multimedia capture devices having embedded environments are discussed in connection with FIGS. 6 and 7. In some embodiments, one or more of the multimedia capture devices 102, 104, and 106 can be a general purpose computer system (e.g., personal computer (PC) based multimedia capture device) that is configured to capture a media signal in response to a capture instruction.

[1022] The multimedia capture devices 102, 104, and 106 are configured to modify (e.g., increase, decrease) the sending/uploading of one or more portions of real-time media signals to an entity of the network 110 in response to one or more transmission indicators (e.g., start and/or stop indicators) defined at, for example, the control server 120 and/or the multimedia capture devices 102, 104, and 106. The transmission indicator can include instructions for sending one or more real-time media signals from multimedia capture device 102, for example, at a specified rate, at a specified time, over a particular network path, and to one or more specified destination entities such as one of the network devices 152, 154, 156, and 158 and/or the control server 120. The transmission indicator can include instructions that either start a transmission or modify (e.g., stop for a period of time) an existing transmission already in progress. In some embodiments, the multimedia capture devices 102, 104, and 106 can be configured to immediately or periodically upload captured content unless otherwise prompted by a transmission indicator.

[1023] The multimedia capture devices 102, 104, and 106 can be prompted by a transmission indicator to send media signals after any stage of processing. For example, a multimedia capture device 102, 104, and 106 can be prompted to send to the control server 120 unsynchronized and unformatted portions of audio and digital-images signals after the signals have been compressed. The control server 120 can be configured to synchronize and format the audio and digital-image signals received from the multimedia capture device 102, 104, and 106.

[1024] The multimedia capture devices 102, 104, and 106 can be configured to upload a portion of a media signal, in response to a transmission indicator, while capturing, processing, and/or storing another portion of the same media signal. The multimedia capture

devices 102, 104, and 106 can also be configured, in response to a transmission indicator, to capture, process and/or store a media signal while uploading a separate media signal captured at a different time. The multimedia capture devices 102, 104, and 106 can also be triggered to upload data associated with captured content such data as, for example, capture time, capture location, and/or speaker's name.

[1025] One or more local parameter values and/or one or more regional parameter values can be used in a transmission rule to define the transmission indicator. A portion of the transmission rule is associated with (e.g., has one or more variables that are populated by) one or more local parameter values can be referred to as a local component. Likewise a portion of the transmission rule that are associated with one or more regional parameter values can be referred to as a regional component. The local parameter value(s) can be used in the local component of the transmission rule and the regional parameter value(s) can be used in the regional component of the transmission rule to calculate or determine a result that can be used to define one or more transmission indicators.

[1026] Although FIG. 1 shows a single control server 120 connected with multimedia capture devices 102, 104, and 106, in some embodiments, more than one control server 120 can be connected with any combination of multimedia capture devices 102, 104, and 106. For example, more than one control server 120 can be configured to coordinate the uploading of media signals captured by multimedia capture devices 102, 104, and 106. The multimedia capture devices 102, 104, and 106 can be programmed to recognize multiple control servers 120 and can be programmed to, for example, upload one or more portions of a processed media signal to one or more control servers 120. In some embodiments, one or more functions performed by the control server 120 can be performed on one or more devices (not shown) connected to the network 110.

[1027] FIG. 2 shows a table 290 that illustrates an example of a transmission rule 210 that can be used to define a transmission rate 240 in megabytes per second (MB/s) for several multimedia capture devices 200. The values of the transmission rate 240 can be used to define one or more transmission indicators that can trigger the uploading of captured media content from the multimedia capture devices 200. The example in FIG. 2 can also be used to illustrate the dynamic and asynchronous coordination of the uploading by the multimedia capture devices based on the transmission rule 210. The table 290 includes a local parameter value 285 that includes local storage usage (used / capacity) 230 for each of the multimedia

capture devices A, B, and C. The local storage usage 230 is an indicator of the amount of memory capacity being used by each of the multimedia capture devices 200 to store captured media signals.

[1028] The table 290 also includes regional parameter values 280 that include regional bandwidth available (MB/s) 220 and regional storage usage 225. The regional bandwidth available 220 is an overall bandwidth available for transferring captured and/or processed media signals from the multimedia capture devices A, B, or C. The regional storage usage 225 is the sum of the values of local storage usage 230 of the multimedia capture devices 200 that are associated with and are coordinated by the transmission rule 210. The regional storage usage 225 is a regional parameter value 280 that is dependent on the local storage usage 230 from local parameter values 285. In this example embodiment, each of the regional parameter values 280 is a value that corresponds with all of the multimedia capture devices 200 that are associated with transmission rule 210. In other embodiments, these regional parameter values 280 can differ among the various multimedia capture devices 200. In some embodiments, one or more regional parameter values and/or one or more local parameter values can be calculated independently of one another. In some embodiments, one or more regional parameter values can be calculated based on any combination of regional and/or local parameter values (e.g., regional parameter value based on a local parameter value from a single multimedia capture device). In some embodiments, a transmission rule can be based on a local parameter value associated with a single multimedia capture device (and disregard a regional parameter value) if, for example, no other multimedia capture device is transferring a stored media signal.

[1029] The values of the regional bandwidth available 220, the regional storage usage 225, and the local storage usage 230 that correspond with the multimedia capture devices 200 are used in the transmission rule 210 to calculate the transmission rates 240. For example, the transmission rate 240 for multimedia capture device A is calculated as 2.83 MB/s based on the regional bandwidth available 220 of 9 MB/s, the regional storage usage 225 as 1.59, and a local storage usage 230 value of 0.5.

[1030] In this embodiment, the regional bandwidth available 220 is allocated to the multimedia capture devices 200 for use in transferring stored media signals. In some embodiments, one or more of the multimedia capture devices 200 can be configured to use only a portion of the bandwidth that has been allocated for the transmission of captured

and/or stored media signals. Also, in some embodiments, the transmission rule 210 can be configured so that not all of the regional bandwidth available 220 is allocated for use by the multimedia capture devices 200.

[1031] The transmission rule 210 shown in table 290 has a regional component and a local component. The regional component of the transmission rule 210 includes the variables that are associated with the regional parameters 280 (i.e., the regional bandwidth available 220 and the regional storage usage 225). The local component of the transmission rule 210 includes the variables that are associated with the local parameter 285 (i.e., the local storage usage capacity 230 for a multimedia capture device). The usage capacity 230 can be an indicator of the capacity used and can be expressed in various units of measure MBs used, percentage used, etc.) The first term of transmission rule 210 (local storage usage / regional storage usage) can be regarded as a normalized storage usage value. The second term of the transmission rule 210 includes only a regional parameter (regional bandwidth available 220). The first term of the transmission rule 210 is multiplied by the second term of the transmission rule 210 to calculate the transmission rate 240.

[1032] The transmission rate 240 values can be used to define one or more transmission indicators that can cause one or more of the multimedia capture devices 200 to modify the transmission of stored media signals to an entity within a network. In some embodiments, transmission rates 240 can be used to modify directly the transfer of media signals from a multimedia capture device. In some embodiments, transmission rates 240 can be stored and used at a later to time to define a transmission indicator that modifies the transfer of a media signal(s) from one or more of the multimedia capture devices 200. The transfer of a media signal(s) is modified in the sense that its transfer rate is changed to another transfer rate — from a zero transfer rate to a non-zero transfer rate, from a non-zero transfer rate to a zero transfer rate, or from a non-zero transfer rate to a different non-zero transfer rate.

[1033] As the regional parameter values 280 and/or the local parameter values 285 change (e.g., modified, updated), the transmission rates 240 calculated using the transmission rule 210 change. The relationship in the transmission rule 210 is defined so that if and when the regional storage usage 225 increases when a local storage usage 230 value increases, the transmission rates 240 corresponding to the multimedia capture devices 200 will increase and vice versa. When the regional bandwidth available 220 and/or local storage usage 230 increases, the calculated transmission rates 240 increase and vice versa. In some

embodiments, an increase in local storage usage 230 can be caused by, for example, multimedia capture device B capturing and storing media signals of a presentation. A decrease in local storage usage 230 can be caused by, for example, multimedia capture device B uploading signals (and subsequently deleting the signals at multimedia capture device B) to an entity in a network. In some embodiments, a decrease in regional bandwidth available 220 can be caused by a failure of a portion of a network such as a network device.

[1034] The transmission rates 240 for each of the multimedia capture devices 200 can be calculated in a coordinated and/or synchronous fashion because the transmission rates 240 are calculated using a common transmission rule 210 with a regional component that is associated with all of the multimedia capture devices 200. The transmission rate 240 that corresponds with an individual multimedia capture device 200, however, can also be asynchronously calculated because the transmission rule 210 also includes a local component that can be associated with a single multimedia capture device 200.

[1035] A change in a single local parameter value 285, for example, can cause a change in transmission rate 240 for a single multimedia capture device 200 according to the transmission rule 210. As a specific example, if the local storage usage 230 of multimedia capture device B is increased from 0.2 to 0.3 because multimedia capture device B has captured more media signals than it has uploaded, the transmission rate 240 based on the increased value will be changed from 1.13 MB/s to 1.60 MB/s. In this example, the transmission rate 240 for multimedia capture device B was changed by the local change in storage usage 230 and was calculated using the transmission rule 210.

[1036] In some embodiments, a change in one of the regional parameter values 280 can cause a synchronous (and coordinated) change to the transmission rates 240 for all of the multimedia capture devices 200. For example, a decrease in the regional bandwidth available 220 can cause a decrease in the transmission rates 240 for multimedia capture devices A, B, and C. The decrease in regional bandwidth available 220 can be caused by, for example, failure of a portion of a network (e.g., network device) or increased bandwidth usage by a network device other than the multimedia capture devices 200. The regional bandwidth available 220 can be, for example, increased based on a bandwidth limit increase that can be defined by network administrator.

[1037] In some embodiments, a change in a value of local storage usage 230 for a single device can cause one or more asynchronous and/or synchronous changes at different (e.g., staggered) times. For example, a change in the value of local storage usage 230 of multimedia capture device C can be detected/measured and can cause an asynchronous change in the transmission rate 240 of multimedia capture device C calculated at a first time using the transmission rule 210. In this embodiment, the change is asynchronous in the sense that the transmission rate 240 for only multimedia capture device C is recalculated. In some embodiments, the detection/measurement and calculation times can be performed at different times. At a second and later time, the change in the local storage usage 230 for multimedia capture device C can cause the value of the regional storage usage 225 to be recalculated. The transmission rates 240 for all of the multimedia capture devices 200 can then be synchronously recalculated (e.g., at a third time) based on the new value for the regional storage usage 230. In some embodiments, the transmission rates 240 for all of the multimedia capture devices 200 can then be asynchronously recalculated based on the new value for the regional storage usage 230. In some embodiments, the detection and calculation can be performed at a processor of a control server based on, for example, a user-defined, periodic interval.

[1038] In some embodiments, the transmission rates 240 can be dynamically calculated as changes in local parameter values 285 and/or regional parameter values 280 are detected. An indicator of the change can trigger a calculation (e.g., recalculation) of one or more of the transmission rates 240. The change can be caused by, for example, an input value specified by a network administrator or a change based on a measurement of a parameter value. For example, the transmission rule 210 can be used to calculate (e.g., update, modify) a transmission rate 240 for one or more of the multimedia capture devices 200 when any change to the local parameter value 285 and/or regional parameter values 280 is detected.

[1039] The calculation of transmission rates 240 can also be triggered, in some embodiments, when a change to one or more of the local parameter values 285 and/or one or more of the regional parameter values 280 satisfies a threshold value. For example, a transmission rate 240 for multimedia capture device B can be calculated only when local storage usage 230 exceeds 0.40. In some embodiments, one or more different threshold values can be used to trigger the calculations of the transmission rates 240 of each of the multimedia capture devices 200. For example, the calculation of the transmission rate 240

for multimedia capture device A can be triggered based on a different threshold value than a threshold value that is used to trigger the calculation of the transmission rate 240 of multimedia capture device B.

[1040] In some embodiments, the transmission rates 240 corresponding to the multimedia capture devices 200 can be periodically calculated/updated in response to a periodic event. For example, the transmission rates 240 can be calculated when the regional bandwidth available 220 is periodically (e.g., at a specified time or time interval) measured. As another example, the transmission rates 240 can be calculated when the regional storage usage 225 changes.

[1041] In some embodiments, the transmission rates 240 for the multimedia capture devices 200 can be calculated (e.g., modified, updated) at different times depending on any combination of threshold values and/or periodic measurements. For example, a transmission rate 240 corresponding to multimedia capture device A can be updated every five minutes while the transmission rate 240 for multimedia capture device B can be updated when a change in any of the regional parameter values 280 and/or local parameter values 285 is detected. The updated transmission rates 240 can be used to define transmission indicators that correspond with and can be sent to multimedia capture devices A and B.

[1042] The transmission rule 210 can also be modified at any time (e.g., dynamically and/or at specified times). A change in a transmission rule 210 can trigger the calculation of one or more transmission rates 240 for the multimedia capture devices. For example, if a multiplication factor is included in the transmission rule 210, the transmission rates 240 can be updated based on the modification to the transmission rule 210.

[1043] Transmission indicators that are defined based on the transmission rates 240 can also be defined at specified times (e.g., periodically) and/or dynamically. For example in some embodiments, transmission rates 240 can be calculated and updated continuously while transmission indicators can be defined only when a significant change in a transmission rate 240 is detected.

[1044] Although the example in FIG. 2 illustrated a transmission rule 210 based on the regional bandwidth available 220, the regional storage usage 225, and the local storage usage 230, transmission rules can be based on any combination of local and/or regional parameters that can be measured and/or specified by, for example, a network administrator and/or user.

For example, a transmission rule can be based on a local component associated with a single multimedia capture device. In some embodiments, a transmission rule(s) can be based on any combination of algorithms (e.g., algorithm based on a ticket or token), look-up tables, mathematical equations/relationships, threshold conditions (e.g., threshold limit values), specific values, boolean logic, or random values. A transmission rule can include any combination of local and/or regional components (e.g., transmission rule based on a local component associated with a single multimedia capture device). In some embodiments, one or more portions of a transmission rule can be modified based on a change in a parameter value such as a regional parameter value. The method for modifying the transmission rule triggered by a change in a parameter value can be included in the transmission rule itself or a separate rule (e.g., second transmission rule).

[1045] Also, in some embodiments, more than one transmission rule (e.g., a library of transmission rules) can be used to calculate one or more values that can be used as or used to define a transmission indicator. In some embodiments, a specific transmission rule can be selected from a library of transmission rules to define a transmission indicator based on, for example, a change in a local parameter value.

[1046] In some embodiments, a transmission rule can be used to generate one or more values that are used as guidelines in defining a transmission rule. For example, a multimedia capture device such as multimedia capture device A can be configured to transmit media signals at a rate that is different than the transmission rate 240 calculated based on the transmission rule 210. In some embodiments for example, the transmission rate 240 calculated based on the transmission rule 210 can be used as, for example, a maximum transmission rate value by multimedia capture device A. Multimedia capture device A can use a different local rule stored at multimedia capture device A to trigger, within the maximum transmission rate value, the transmission of media signals to an entity within a network.

[1047] FIG. 3 shows a flowchart that illustrates a method for using a transmission rule to modify the uploading of a media signal from a multimedia capture device. As shown in FIG. 3, a transmission rule that has a local component and regional component is received at 310. The transmission rule can be received at, for example, a multimedia capture device or a control server. The transmission rule can be based on any combination of regional and local parameters and based on logic, mathematical equations, and/or algorithms. The local

component of the transmission rule is associated with one or more local parameter values and the regional component of the rule is associated with one or more regional parameter values.

[1048] As shown in FIG. 3, a local parameter value and/or a regional parameter value is received at 320. The parameter value(s) at 320 can be, as an illustrative example(s), a fixed attribute value(s) 21, a multimedia-capture-device parameter value(s) 22, a speaker preference value(s) 23, and/or a network preference value(s) 24. These example parameter value(s) can be regional parameter values that are associated with, for example, more than one device within a network and/or a local parameter value that is associated with, for example, only a single multimedia capture device.

[1049] The fixed attribute value(s) 21 is, for example, a physical limitation of a device or a network. A fixed attribute value(s) 21 can be a local fixed attribute value such as a maximum amount of storage available on a multimedia capture device or a regional fixed attribute value such as a maximum amount of bandwidth available on a network. A local storage capacity of a multimedia capture device measured at a given time is an example of the multimedia-capture-device parameter value 22. The speaker preference value 23 can be, for example, a local preference value defined by a professor that indicates when a captured classroom presentation should be made available to students. The speaker preference value 23 can influence the time or rate at which captured media signals are uploaded by a multimedia capture device. The network preference value 24 (e.g., network black-out dates, or information technology (IT) locks and limits) can be a regional preference value defined by, for example, an administrator that is related to, for example, a portion of a network. The network preference value 24 can be a general policy set by an administrator that, for example, requires that all media signals being uploaded by multimedia capture devices not exceed a specified transfer rate or disallows the uploading of all media signals on a particular day and/or time.

[1050] A transmission indicator is defined based on the transmission rule and the local parameter value and/or regional parameter value at 330. The local parameter value(s) can be used in the local component of the transmission rule and the regional parameter value(s) can be used in the regional component of the transmission rule to calculate a result that can be used to define a transmission indicator. The result from the transmission rule can be used as the transmission indicator or can be used to define a transmission indicator, for example, at a later time.

[1051] The transmission indicator can include, for example, a transmission rate (e.g., transmission rate in kilobytes per second), a transmission start prompt (e.g., a delayed transmission start time), a transmission destination (e.g., internet protocol address of a destination entity or network device 450) or a transmission stop prompt (e.g., an immediate stop upload indicator). The transmission indicator can be defined, for example, to cause a multimedia capture device to send/upload one or more captured/stored media signals to a control server or another entity (e.g., network device) connected to a network. The transmission indicator can be defined to modify an existing transmission by a multimedia capture device. For example, the transmission indicator can be defined to decrease the transmission rate of a multimedia capture device that is already transmitting media signals over a portion of a network.

[1052] After the transmission indicator has been defined at 330, the transmission indicator is received at a multimedia capture device and causes the multimedia capture device to upload a media signal over the network at 340. The multimedia capture device can use the transmission indicator to schedule an upload that can occur, for example, at a later time according to a local schedule stored on the multimedia capture device.

[1053] Although the embodiment illustrated in FIG. 3 includes a particular order for blocks 310-340, the order illustrated in the flowchart is by way of example only and the blocks and/or steps within blocks do not have be executed in that particular order. For example, the parameter value(s) received at 320 can be received before the transmission rule 310 has been received at 310. In some embodiments, the transmission indicator can be initially defined based on only a fixed attribute value(s) 21 at a first time and the transmission indicator can be modified at a second a later time after a network preference value(s) 24 has been received.

[1054] In some embodiments, the flowchart shown in FIG. 3 can be modified so that the transmission indicator can be defined when a change in a local parameter value(s) and/or regional parameter value(s) has been detected. The defining of the transmission indicator can be triggered by an indicator of a change. In some embodiments, a transmission indicator can be defined when a transmission rule has been modified.

[1055] FIG. 4 is a schematic system block diagram that illustrates multimedia capture devices 400 and 410 with a control server 420 in communication over a network 440. The

control server 420 includes a memory 424 and a processor 426. Several network devices 450 such as, for example, computers and servers are also in communication with and configured to send and/or receive signals over the network 440.

[1056] Multimedia capture device 400 includes a media input port(s) 402, a processor 404 and a memory 406. The multimedia capture device 400 captures real-time media signals acquired by various electronic devices (e.g., video camera) via the media input port(s) 402 in response to start capture and stop capture indicators generated by, for example, a scheduler module within the processor 404 based on a capture schedule. In some embodiments, the scheduler module (not shown) can be included in the multimedia capture device 400 as a separate component. The processor 404 can capture and/or process (e.g., encode, compress, etc.) the media signals and can subsequently store them in the memory 406. Multimedia capture device 410 also includes a media input port(s) 412, a processor 414, and a memory 416. Although the remainder of the description in connection with FIG. 4 focuses on the functions associated with multimedia capture device 400, these functions can be equivalently performed using multimedia capture device 400 and/or 410.

[1057] Although only a single media input port 402 is included in the diagram of the multimedia capture device 400, the media input port 402 is representative of the many types of media input ports 402 that can be included in the multimedia capture device 400. For example, the media input port 402 can include an audio input port(s), a visual-capture input port(s), a video input port(s) or a digital-image input port(s). The audio input port(s) can be, for example, an RCA stereo audio input port(s), a 1/4" jack stereo audio input port(s), XLR input port(s) and/or a universal serial bus (USB) port(s). The visual-capture input port(s) receives a digital or analog video-graphics-array (VGA) signal through, for example, a VGA input port(s), digital visual interface (DVI) input port(s), extended graphics array (XGA) input port(s), HD-15 input port(s) and/or BNC connector port(s). The video input port(s) can receive motion video signals from devices such as video cameras via an input port(s) that includes, but is not limited to, an s-video input port(s), composite video input port(s) and/or component video input port(s). The digital-image input port(s) can capture digital-images via an input port(s) such as an Ethernet port(s) and/or a USB port(s). The digital-images can be acquired using, for example, a digital camera or a web camera.

[1058] The media signals captured by the media input port 402 can be received as one or more analog signals and/or one or more digital signals. Also, more than one media input port

402 can be included in the multimedia capture device 400 and connected to the processor 404 and/or the memory 406. Although not shown, when more than one media input port 402 is included in the multimedia capture device 400, each media input port 402 can be controlled and/or operated independently or in tandem with other media input port(s) 402. Similarly, media input port 412 is representative of the many types of media input ports 412 that can be included in multimedia capture device 410.

[1059] The multimedia capture devices 400 and 410 are configured to send/upload one or more captured/stored media signals to the control server 420 or another entity (e.g., network device 450) within the network 440 in response to a transmission indicator. If sent to the control server 420, the control server 420 can store the media signal(s) in the memory 424 and later distribute the media signal(s) to, for example, a user (not shown). In some embodiments, the control server 420 sends the media signals to, for example, a course management system (not shown) where the media signals are distributed to, for example, a user (not shown).

[1060] The control server 420 can be configured to define one or more transmission indicators at the control server 420 according to one or more transmission rules and local and/or regional parameter values. Specifically, the transmission indicators can be defined at the processor 426 of the control server 420. For example, a transmission rule can be stored in the memory 424 of the control server 420 and accessed by the processor 426 when defining a transmission indicator. Local and/or regional parameter values can also be received by the processor 426 and/or stored in the memory 424. If stored in the memory 424, the processor 426 can be configured to access the parameter values from the memory 424. One or more regional parameter values can be, for example, measured and/or received at the control server 420 and/or one or more local parameter value can be received from, for example, multimedia capture device 400.

[1061] The control server 420 can be configured to store and use one or more transmission rules that correspond to one or more of the multimedia capture devices 400 and 410. For example, the control server 420 can be configured to define a transmission indicator for multimedia capture device 410 based on combination of a first transmission rule that is associated with both multimedia capture devices 400 and 410 (also referred to as a regional transmission rule) and a second transmission rule that is configured specifically for

multimedia capture device 410 (also referred to as a local transmission rule). The first and/or second transmission rules can be configured with local and/or regional components.

[1062] Conflicts, if they arise, between the first transmission rule and the second transmission rule can be resolved at the control server 420. The conflicts can be resolved based on rules included in the transmission rule(s) and/or a separate rules-based algorithm at the control server 420 that is defined by, for example, a network administrator or a user. For example, a conflict can be resolved by a rules-based algorithm included in the control server 420 that, for example, automatically gives a first transmission rule precedent over a second transmission rule. In some embodiments, a conflict can be resolved by calculating and using an average value from two or more conflicting transmission rules. In some embodiments, multimedia capture device 400 and/or 410 can also be configured to store, use, and/or resolve conflicts between one or more transmission rules.

[1063] One or more transmission indicators can also be defined at either of the multimedia capture devices 400 or 410 according to one or more transmission rules and local and/or regional parameter values. For example, a transmission rule can be stored in the memory 406 of the multimedia capture device 400 and accessed by the processor 404. Local and/or regional parameter values can be received by the processor 404 and/or stored in the memory 406. If stored in the memory 406, the processor 404 can be configured to access the parameter values from the memory 406. One or more local parameter values can be, for example, measured at the multimedia capture device 400 and/or one or more regional parameter values can be measure at and received from, for example, control server 420. Multimedia capture device 400 can be configured to access and process the parameter value(s) and transmission rule(s) when defining one or more transmission indicators for multimedia capture device 400.

[1064] In some embodiments, a transmission indicator can be defined at the control server 420 based on, for example, a first transmission rule (e.g., regional transmission rule) and sent to, for example, multimedia capture device 400. Multimedia capture device 400 can modify the transmission indicator based on a second transmission rule (e.g., local transmission rule) that is stored at multimedia capture device 400. The second transmission rule can be, for example, loaded directly onto the multimedia capture device 400 or sent from, for example, the control server 420. The second transmission rule can be, for example,

a regional transmission rule that is associated with one or more multimedia capture devices or a local transmission rule that is associated with only multimedia capture device 400.

[1065] One or more regional parameter value(s) can be measured and/or received at the control server 420 periodically based on, for example, a schedule or a timer. For example, network preferences can be periodically retrieved by the control server 420 or available network bandwidth can be periodically measured by the control server 420. The regional parameter values and/or indicators of the regional parameter values can be, for example, stored and used only at the control server 420 or broadcast to the multimedia capture devices 400 and 410 for use. In some embodiments, control server 420 can be configured to send one or more regional parameter values to, for example, multimedia capture device 400 in response to a request from multimedia capture device 400. In some embodiments, one or more regional parameter value(s) and/or indicator(s) of regional parameter value(s) can be measured and/or sent only when a change in a regional parameter value(s) is detected.

[1066] One or more local parameter value(s) can be measured and/or received at, for example, multimedia capture device 400 periodically based on, for example, a schedule or a timer. Multimedia capture device 400 can periodically, for example, measure its disk capacity and/or receive an update to a speaker preference value that is associated with a media signal(s) being captured by the multimedia capture device 400. In some embodiments, the speaker preference value can be associated with, for example, a capture instruction that is configured to prompt the multimedia capture device 400 to capture a media signal. The multimedia capture device 400 can be configured to, for example, retrieve the speaker preference value when the multimedia capture device 400 will define a transmission indicator. More details regarding capture instructions are discussed in connection with FIGS. 8 through 11.

[1067] Multimedia capture device 400 can be configured, in some embodiments, to send one or more local parameter value(s) to the control server 420. In some embodiments, multimedia capture device 400 can be configured to send one or more local parameter values to the control server 420 in response to a request from the control server 420. In some embodiments, one or more local parameter value(s) can be measured and/or sent only when a change in a local parameter value is detected at, for example, multimedia capture device 400.

[1068] The defining of one or more transmission indicators at multimedia capture devices 400, multimedia capture devices 410, and/or the control server 420 can be triggered by, for example, a change in a local parameter value and/or a regional parameter value. The defining can be triggered, for example, only when a threshold condition or combination of threshold conditions are satisfied. The threshold conditions can be based on, for example, a network preference that can be defined by, for example, a network administrator. The threshold condition(s) can be stored in, for example, the memory 406 of multimedia capture device 400 and/or the memory 424 of control server 420. In some embodiments, the defining of one or more transmission indicators at multimedia capture device 400, multimedia capture device 410, and/or the control server 420 can be triggered by, for example, a schedule or a timer.

[1069] In some embodiments, the control server 420, for example, can store and use a first transmission rule that can be used in defining a second transmission rule that can be, for example, used at multimedia capture device 400. For example, control server 420 can store a first transmission rule with a local and/or a regional component that is used to calculate, for example, a transmission rate maximum value. The first transmission rule can be stored in the memory 424 of the control server 420 and the transmission rate maximum value can be calculated at the processor 426. The first transmission rule can use local and/or regional parameter values to calculate the transmission rate maximum value. The transmission rate maximum value can be sent from the control server 420 to the multimedia capture device 400.

[1070] The transmission rate maximum value can be used at the multimedia capture device 400 as a second transmission rule to limit the rate of transmission of media signals over the network 440 from multimedia capture device 400. In some embodiments, the multimedia capture device 400 can be configured to transmit any captured and/or stored media signals to the control server 420 at a rate that is below the transmission rate maximum value. The multimedia capture device 400 can transmit media signals based on a transmission indicator defined at the multimedia capture device 400 and based on the transmission rate maximum value.

[1071] In some embodiments, the first transmission rule can be an algorithm that can be used to define a second transmission rule that includes, for example, a regional component and/or a local component. One or more portions of the algorithm can be included as regional and/or local components that use regional and/or local parameter values to define the second

transmission rule. The second transmission rule can be used to define for example a transmission indicator. In some embodiments, the first transmission rule can be used at the multimedia capture device 400 to define a second transmission rule that can be used at the control server 420 to define, for example, a transmission indicator for one or more multimedia capture devices.

[1072] FIG. 5 shows a flowchart that illustrates a method for defining a second transmission rule based on first transmission rule. The second transmission rule and/or first transmission rule can include a local component and/or a regional component. In this embodiment, the first transmission rule is used to define a second transmission rule at a control server at 500. The first transmission rule can be, for example, a transmission rule with a regional component and a local component. Local and/or regional parameter values can be used in the first transmission rule to define the second transmission rule. The second transmission rule can include, for example, a threshold value that can be used by, for example, a multimedia capture device to define a transmission indicator or can be used as an upload limiting value (e.g., maximum transmission rate). In some embodiments, the second transmission rule can be, for example, a complex transmission rule that includes local and/or regional components.

[1073] The second transmission rule is received at a multimedia capture device at 510 and a parameter value is received at the multimedia capture device at 520. The parameter value is a value that can be used in the second transmission rule to define a transmission indicator at 530. The parameter value can be, for example, a local parameter value and/or a regional parameter value that is associated with the second transmission rule. As shown in FIG. 5, the multimedia capture devices uses the transmission indicator to modify the sending of a media signal(s) in response to the transmission indicator at 540. Although in FIG. 5, the second transmission rule was defined at the control server and sent to the multimedia capture device, in some embodiments, the a transmission rule can be defined at a multimedia capture device using a different transmission rule.

[1074] FIG. 6 is a system block diagram that illustrates an embedded appliance 600 that has input ports 610, a processor system 650, a memory 660 and an alarm module 680. The embedded applicant 600 is in communication with a control server 620. The embedded appliance 600 can capture real-time media signal(s) that can include digital-image signals, visual-capture signals, audio signals and/or video signals of, for example, an in-progress

classroom presentation. After the media signal(s) have been captured, the embedded appliance 600, the control server 620 and/or another processing device (not shown) can process the real-time signal(s) by, for example, compressing, indexing, encoding, decoding, synchronizing and/or formatting the content before the content of the media signals is made available for distribution.

[1075] The embedded appliance(s) 600 can be, for example, distributed throughout a network and coordinated according to a schedule to capture, process, store and send the realtime media signals for eventual retrieval by a user from, for example, the control server 620 and/or a server(s) (not shown) configured as, for example, a course management system (e.g., a server running Blackboard™ or WebCT). Media streams being captured on the embedded appliance 600 optionally can also be monitored (e.g., confidence monitoring signal) and/or further processed by the control server 620 before distribution.

[1076] As a dedicated (i.e., specific-purpose) device having an embedded environment, the embedded appliance 620 uses a hardened operating system (OS) and the processor system 650 (e.g., application specific integrated circuits (ASICs), central processing units (CPUs), modules, digital signal processors (DSPs), processors, field programmable gate arrays (FPGAs), and/or co-processors) to capture, process, store and/or send real-time media signals. The hardened OS is configured to resist security attacks (e.g., prevent access by an unauthorized user or program) and facilitate functions related only to the capturing, processing, storing and/or sending of real-time media signals. In other words, the hardware and software within the embedded appliance 600 are integrated into and designed specifically for capturing, processing, storing and/or sending real-time media signals. Because the hardware and software for capturing, processing, storing and/or sending real-time media signals are integrated into the embedded environment of the embedded appliance 600, the costs and complexity associated with installation, scaling, design, deployment and technical support can be different than that for capture devices based on a general purpose system computer system.

[1077] The embedded appliance 600 captures real-time media signals from various electronic devices via the input ports 610 in response to start and stop indicators generated by a scheduler 658 in the processor system 650. The processor system 650 receives and compresses the media signals using a compression module 654. The processor system 650 can use the memory 660 (e.g., a tape, digital-video-disk (DVD), digital-video-cassette

(DVC), random-access-memory (RAM), flash memory, hard disk drive) to perform any function related to the embedded appliance 600 such as storing compressed media signals. The embedded appliance 600 can capture and transmit compressed media signals to the control server 620 when prompted by the scheduler 658. The captured media signals can be sent to the control server 620 as, for example, a multiplexed signal over a network connection via an output port (not shown) of embedded appliance 600.

[1078] The input ports 610 include an audio input port(s) 602, a visual-capture input port(s) 604, a video input port(s) 606 and a digital-image input port(s) 608. Each of the input ports 610 are integrated as part of the embedded environment of the embedded appliance 600. The media signals captured by the inputs ports 610 can be received as an analog signal or as a digital signal and the processor system 650 can convert the analog signal into a digital signal and vice versa.

[1079] The audio input port(s) 602 (e.g., an RCA stereo audio input port(s), a 1/4" jack stereo audio input port(s), XLR input port(s) and/or a universal serial bus (USB) port(s)) is used to capture an audio signal. The visual-capture input port(s) 604 receives a digital or analog video-graphics-array (VGA) signal through, for example, a VGA input port(s), a digital visual interface (DVI) an input port(s), an extended graphics array (XGA) input port(s), an HD- 15 input port(s) and/or a BNC connector port(s). The video input port(s) 606 receives motion video signals from devices such as video cameras via an input port(s) that includes, but is not limited to, an s-video input port(s), composite video input port(s) and/or component video input port(s). The digital-image input port(s) 608 captures digital-images via an input port(s) such as an Ethernet port(s) and/or a USB port(s). Each of the media signals, although collected via different input ports 610, are synchronously acquired by the embedded appliance 600.

[1080] The processor system 650, using the compression module 654, can compress the media signals as they are received. The compression module 654 can compress, for example, an audio signal and a synchronously received digital VGA signal into a number of compression formats (e.g., motion pictures experts group (MPEG) layer 2 format, MPEG-4, etc.). The compression module 654 can be configured to adjust a multiplicity of variables including the frame rates, bit rates, frequency, resolution, color and stabilization of the input signals using any combination of lossy or lossless formats using one or more codecs.

[1081] After the processor system 654 compresses media signals, the compressed media signals are stored in the memory 660 for later sending to, for example, the control server 620 for further processing. The size of the memory 660 can also be increased if an embedded appliance 600 is intended to, for example, capture media signals over relatively long periods of time (e.g., during network down time) without uploading captured media signals to, for example, the control server 620. The memory 660 can be used to prevent the loss of captured media signals that cannot be sent to, for example, a control server because of a network outage. In some embodiments, the processor system 650 can, if necessary, use the memory 660 to buffer information received via the input ports 610 before compression.

[1082] The processor system 650 also includes a scheduler 658 that can generate start and stop indicators to prompt the embedded appliance 600 to, for example, start and stop capturing and/or start and stop sending media signals. In some embodiments, the scheduler 658 can be used to start and stop not only the capturing and/or sending of media signals by the embedded appliance 600, but also the processing and/or storing of media signals. The scheduler 658 can access a schedule that is either stored locally at the embedded appliance 600 or on the control server 620. In some embodiments, the scheduler 658 can access and execute a schedule that is, for example, sent from the control server 620 and stored in the memory 660 of the embedded appliance 600. In some embodiments, the scheduler 658 is included as a hardware and/or software module that is separate from the processor system 650.

[1083] In some alternative embodiments, the functions of the scheduler 658 in the embedded appliance 600 can be performed at the control server 620. In such embodiments, if all of the functions of the scheduler 658 are performed at the control server 620, the embedded appliance 600 can be designed without the scheduler 658. For example, the control server 620 can store schedules associated with each embedded appliance 600 distributed throughout a network and can send start and stop indicators to one or more embedded appliances 600 to capture and/or send media signals.

[1084] As FIG. 6 shows, the embedded appliance 600 can include an alarm module 680 that is a hardware and/or software module. The alarm module 680 can include both an output port (not shown) for sending a signal and an input port for receiving a signal. The alarm module 680 can be used to send a signal to the control server 620, for example, in the event of a physical security breach. For example, if the position of the embedded appliance 600 is

changed from its fixed position in, for example, a conference room in a building, the alarm module 680 can send a signal indicating that a physical breach has occurred. The alarm module 680 can send, for example, an identifier associated with the embedded appliance 600 so that the breached embedded appliance 600 can be identified by, for example, the control server 620. In addition to alternatively, the control server 620 can send, for example, a ping signal to the alarm module 680 to determine whether the embedded appliance 600 is functioning properly and/or has been physically breached (e.g., removed).

[1085] The processor system 650 and/or other processors (not shown) that are not included in the processor system 650 can be configured to perform additional functions for the embedded appliance 600. For example, the processor system 650 can be configured to support splitting of captured media signals. In such a case, the processor system 650 can be configured to include hardware and/or software modules such as, for example, a visual- capture distribution-amplifier (e.g., an on-board VGA distribution amplifier), a visual-capture signal splitter, and/or a visual-capture sync stabilizer. Some combinations of these hardware and/or software modules can enable the embedded appliance 600 to capture, for example, a VGA signal via the visual-capture input port(s) 604 and return a copy of the signal (also referred to as a split signal) to an electronic device (not shown) via a visual-capture output port (not shown). Using these hardware and/or software modules, the processor system 650 can also be configured to synchronize and stabilize a split media signal before the signal is transmitted to an electronic device.

[1086] FIG. 6 also illustrates that the embedded appliance 600 can be controlled using a direct control signal 630 from, for example, a user. The embedded appliance 600 can include an interface such as a graphical user interface (GUI) (not shown), physical display (not shown) or buttons (not shown) to produce the direct control signal 630 to control some or all of the functions that can be performed by the embedded appliance 600.

[1087] FIG. 7 is a block diagram that illustrates the flow of media signals from an embedded appliance through modules in a control server 790. The control server 790 receives separate compressed real-time media signals 705 including a compressed audio signal 700, compressed visual-capture signal 710, compressed video signal 720 and compressed digital-image signal 730. Although this figure shows that each of the media signals 705 are received separately, the media signals 705 can be received by the control server 790 over, for example, an internet protocol (IP) network connection as a multiplexed

signal that can be de-multiplexed by the control server 790 when received. In some embodiments, the media signals 705 can be combined into one or more signals encoded into one or more formats by the embedded appliance that can be decoded and separated by the control server 790 when received. For example, audio and video signals can be combined into a single MPEG-2 signal before being sent by an embedded appliance to the control server 790. Also, the control server 790 can receive media signals 705 from more than one embedded appliance and can process each of the media signals 705 in parallel using, for example, multi-threaded processing or operating as part of a cluster of multiple servers (e.g., operating with one or more servers) (not shown). The control server 790 also includes an alarm module 780.

[1088] Each of the compressed media signals 705 that are received by the control server 790 are similarly processed. Each of the signals 705 can be processed by one of the decode modules 715, index modules 725 and encode modules 735. After each of the media signals 705 has been processed (e.g., individually processed, processed as a group), the signals are synchronized and/or formatted by the synchronizer/formatter 750.

[1089] Although FIG. 7 shows that separate modules perform decoding, indexing, encoding, synchronizing and formatting, the functions of each of the modules can be further subdivided and/or combined into one or more processors or modules. These functions can also be subdivided and/or combined onto more than one control servers (not shown). Also, the control server 790 can include a memory (not shown) or a separate database (not shown) for storing information and/or buffering information that is received from one or more embedded appliances.

[1090] Any combination of the functions performed by any of the modules and/or other component of the control server 790 can alternatively be performed at an embedded appliance. For example, the indexing can be performed at an embedded appliance before the media signals are compressed and transmitted to the control server 790. The control server 790 can also receive an input signal from a user via the user interface 740. The user interface 740 can be, for example, a remote computer that is interfacing with the control server 790 via a network connection and/or can be an interface that is integrated into the control server 790.

[1091] The synchronizer/formatter 750 can receive collateral material 770 and can combine collateral material 770 with the media signals 705 that have been processed by the

modules. The collateral material 770 can be, for example, additional marking information that can be combined with the processed media signals to aid in the synchronizing process. In some embodiments, the collateral material can be additional media signals captured by other multimedia capture devices (not shown) that are to be combined with the media signals 705 already shown. Although not shown in FIG. 7, the control server 790 can include separate modules that decode, index (e.g., scene/segment detect or optical character recognition) and/or encode the collateral material 770 received by the control server 790.

[1092] FIG. 8 is a block diagram that illustrates multimedia capture devices 802-808 distributed across a network 810 and coupled to a control server 820. Each of the multimedia capture devices 802-808 are associated with one of the venues A, B or C (also referred to as locations). Multimedia capture devices 802 and 804 are associated with venue A; multimedia capture devices 806 and 808 are associated with venues B and C, respectively. Each of the venues can be, for example, a classroom within a university or a conference room within an office.

[1093] The multimedia capture devices 802-808 are configured to capture one or more media signals via a media sensor(s) (e.g., microphone, video camera) located within their respective venues A, B or C according to one or more capture instructions. For example, a capture instruction can be defined to cause/trigger, for example, multimedia capture device 808 to capture one or more media signals representing images and/or sound acquired via one or more specified media sensors during a specific time period from a specified venue (e.g., venue C). The capture instruction can be defined to trigger directly the capturing of a media signal(s) at multimedia capture device 808 when the capture instruction is received or the capture instruction can be defined so that multimedia capture device 808 can use the capture instruction to schedule the capturing of a media signal(s) at a different time (e.g., a time specified by the capture instruction). In some embodiments, the capture instruction can also include parameters to cause a multimedia capture device to, for example, process a captured media signal (e.g., compress the media signal in a specified format).

[1094] The capture instruction(s) is defined based on a capture schedule that includes start time indicators, stop time indicators, and venue indicators that can collectively be used as indicators of times and venues for capturing media signal(s) by the multimedia capture devices 802-808. The start time indicators, stop time indicators, and venue indicators are included in one or more capture records within the capture schedule. The capture schedule

can be configured so that the start time indicators and/or stop time indicators can specify not only a time of day, but also, for example, a day of a week and/or a specific date. The stop time indicator can be derived based on a time period (e.g., duration) that starts at the start time indicator and is included in, for example, a capture record within the capture schedule

[1095] The start/stop time indicators within the capture schedule are used to define start capture indicators and/or stop capture indicators within the capture instruction(s). The venue indicators within the capture schedule are used to associate the capture instruction with one or more of the multimedia capture devices 802-808. Because the multimedia captures devices 802-808 are associated with at least one of the venues A, B or C, capture instructions are produced based on capture records that specify a venue can be associated with one or more of the multimedia capture devices 802-808. In some embodiments, a capture record and/or a capture instruction can be associated with one of the multimedia capture devices 802-808 using a table that associates each of the multimedia capture devices 802-808 with at least one of the venues A, B or C.

[1096] Because dynamic capture parameters and/or fixed attributes can be received, modified and/or stored at the multimedia capture devices 802-808 and/or the control server 820, a capture instruction(s) can be defined at the multimedia capture devices 802-808 and/or the control server 820. Capture instructions can be dynamically modified at the multimedia capture devices 802-808 and/or the control servers 820 based on additional and/or modified dynamic capture parameters, capture records, and/or fixed attributes.

[1097] For example, the capture instruction can be initially defined at the control server 820 and further defined/modified at any of the multimedia capture devices 802-808 and vice versa. The modification can be based on, for example, an updated dynamic capture parameter. Any portion of capture instruction related information (e.g., dynamic capture parameter(s), fixed attribute(s), capture record(s) from capture schedule(s), rules-based algorithm(s)) can be transmitted between the control server 820 and the multimedia capture devices 802-808 to facilitate the defining and/or modifying of the capture instruction at the multimedia capture devices 802-808 and/or at the control server 820. In some embodiments, capture instruction related information can be stored in a component such as, for example, a server (not shown) that can be accessed by the control server 820 and/or the multimedia capture devices 802-808.

[1098] One or more parameters within the capture instruction can be dynamically modified at the multimedia capture devices 802-808 and/or the control server 820 up until and even after the multimedia capture devices 802-808 begin capturing media signals based on the capture instruction. The dynamic modification can be triggered by a change to any portion of capture instruction related information.

[1099] As shown in FIG. 8, the control server 820 is coupled to a scheduler 830. The scheduler 830 is configured to transmit the capture schedule with one or more capture records to the control server 820. The capture schedule can correspond to or can be derived from, for example, a class schedule at a university that specifies class times, class durations, and locations. Each of the records within the class schedule that specifies a class time (e.g., start time indicator), duration (e.g., used to derive a stop time indicator), and location (e.g., venue) can be used and/or identified by the control server 820 and/or the scheduler 830 as a capture record.

[1100] The control server 820 can be configured to receive and/or request one or more portions of the capture schedule from the external scheduler 830, for example, periodically or when the capture schedule is modified. Likewise, the external scheduler 830 can be configured to send portions of the capture schedule to the control server 820 when, for example, the capture schedule is modified (e.g., updated). The scheduler 830 can be, for example, a server (not shown) or a remote computer (not shown) that contains the capture schedule.

[1101] Although FIG. 8 shows that the scheduler 830 is coupled to the control server 820, in some embodiments, the scheduler 830 can be configured to send one or more portions of a capture schedule(s) to each of the multimedia capture devices 802-808. In some embodiments, the scheduler 830 can be configured to send only relevant portions of a capture schedule (e.g., specific capture record(s)) to one or more of the multimedia capture devices 802-808. In many embodiments, the functionality of the scheduler 830 can be integrated into the control server 820. In some embodiments, the control server 820, scheduler 830, and/or multimedia capture devices 802-808 can be accessed by a user 840.

[1102] The capture instruction(s) can also be associated with and defined based on one or more dynamic capture parameters. The dynamic capture parameters are defined and/or modified dynamically by a user/administrator without a significant reconfiguration of

hardware and/or software in, for example, a device. The dynamic capture parameters can also be based on a measurement (e.g., measured dynamically without a significant reconfiguration of hardware and/or software). The dynamic capture parameters can be used, in addition to, or in place of, a portion of the capture record when defining one or more parameters within a capture instruction.

[1103] The capture instruction(s) can also be associated with and defined based on one or more fixed attributes that cannot be dynamically modified (i.e., cannot be modified without a reconfiguration of hardware and/or software). A fixed attribute can, for example, include a capture device hardware configuration or a venue set-up (e.g., camera placement). Because a fixed attribute can be associated with or can be an indicator of a physical limitation of, for example, a multimedia capture device, the fixed attribute can have priority over a dynamic capture parameter when defining a capture instruction.

[1104] Each of the multimedia capture devices 802-808, although associated with a specific venue in this embodiment, can include a unique identifier (e.g., internet protocol (IP) address) that can be used to distinguish one multimedia capture device from another, even if physically and/or virtually included in the same venue (e.g., two devices included in a single virtual venue even though the devices are physically in separate locations).

[1105] More than one capture instruction can be defined in a coordinated fashion if, for example, the capture instructions are defined for more than one multimedia capture device in, for example, a single venue. If, for example, a capture record within the capture schedule specifies that a business meeting will be held at a specified time at venue A, the control server 820 can be configured to define and/or send a first capture instruction to multimedia capture device 802 and a second capture instruction to multimedia capture device 804. The first and second capture instructions can be sent at the same time or at different times. The first capture instruction can be defined, for example, to trigger multimedia capture device 802 to capture aspects of the business meeting that are different than the aspects that are to be captured by multimedia capture device 804 as defined in the second capture instruction. The first and second capture instructions can be defined, in some embodiments, to include redundant parameters (e.g., both can trigger the capturing of sound). A single capture instruction can also be defined and sent to both multimedia capture devices 802 and 804 in venue A to trigger simultaneous execution of the single capture instruction. For example, a

single capture instruction can be defined to trigger both multimedia capture devices 802 and 804 to, for example, stop capturing media signals.

[1106] FIG. 9 shows a flowchart that illustrates a method for associating a dynamic capture parameter(s) and a fixed attribute(s) with a capture record from a capture schedule to define a capture instruction. As shown in FIG. 9, a capture record from a capture schedule is received at 900. The capture schedule can be any kind of capture schedule that includes capture records with start time indicators, stop time indicators, and venue indicators that indicate times and venues for capturing one or more media signals by one or more multimedia capture devices.

[1107] Although in many embodiments only one start time indicator, one stop time indicator, and one venue indicator correspond with a single capture record, in some embodiments, a capture record can include, for example, recurring start/stop times that are associated with one or more venues (i.e., recurring capture record). For example, a recurring capture record from a university class schedule can specify that a particular class starts/stops at a specified times on, for example, a certain day of the week, every week, for several months. The recurring capture record can be divided into individual capture records for each occurrence (e.g., a single capture record that corresponds to a particular start/stop time and venue) at, for example, a control server before association with a dynamic capture parameter. In some embodiments, a recurring capture record is used to generate one or more capture instructions without dividing the recurring capture record into individual capture records for each occurrence.

[1108] As shown in FIG. 9, a dynamic capture parameter(s) is received at 910. The dynamic capture parameter(s) at 910 can be, as an illustrative example, a multimedia-capture- device parameter(s) 11 (e.g., storage capacity), a network preference(s) 12 (e.g., administrator preference), an optimization preference(s) 13 (e.g., preference used to optimize, improve, and/or modify a parameter value), a speaker preference(s) 14 (e.g., professor preference), and/or a venue preference(s) 15 (e.g., preference associated with venue).

[1109] The optimization preference(s) 13 is a preference that can be defined by, for example, a user or a network administrator and can be used to optimize, improve, and/or modify a parameter value (e.g., capture settings) within a capture instruction. Optimization preference(s) 13 can be used, for example, to optimize, improve, and/or modify values (e.g.,

bit rate settings) defined in dynamic capture parameters 910 and/or resolve conflicts between dynamic capture parameters 910. Optimization preference(s) 13 can be defined for and/or associated with, for example, a course genre (e.g., mathematics department), a group of speakers, or a content type.

[1110] In some embodiments, more than one dynamic capture parameter can be associated with the capture record based on a single identifier or included in the capture record. For example, a network preference(s) 12 and a multimedia-capture-device parameter(s) 11 can be associated with the capture record based on a single identifier or based on a specified combination of identifiers.

[1111] In this embodiment, a fixed attribute(s) is received and associated with the capture record at 930. As shown in FIG. 9, a capture instruction can be defined based on the dynamic capture parameter(s), the fixed attribute(s), and/or the capture record at 940. Defining the capture instruction includes identifying and resolving any conflicts between the dynamic capture parameter(s), the fixed attribute(s), and the capture record so that a unique value for a particular parameter will be included in the capture instruction.

[1112] In some embodiments, the capture instruction can be defined to trigger one or more of the multimedia capture devices to, for example, capture only certain portions of media signals (e.g., capture and store sounds received via a microphone while ignoring static and/or silence), capture a video signal or a digital-image signal only when movement or a substantial change in a scene is detected, or capture one or more media signals at variable rates. The capture instruction can include, for example, start and stop capture times that are specific to various input ports that can be included within, for example, a multimedia capture device.

[1113] The capture instruction can be defined using, for example, a rules-based algorithm that is implemented as a hardware and/or software module. The rules-based algorithm can be used to, for example, recognize conflicts between values. The rules-based algorithm can also be used to define and/or select one or more values that will be included in a capture instruction.

[1114] The rules-based algorithm can also be configured to optimize (e.g., improve or modify) parameters/parameter values that are to be included in a capture instruction (e.g.,

maximize quality, maximize efficiency, minimize file size, etc.). Optimizing includes improving or modifying to a point that is not necessarily the best/optimal point.

[1115] When a conflict between parameters/parameter values is detected (e.g., a dynamic capture parameter conflict with a fixed attribute), a notification that details the conflict and/or the resolution of the conflict can be sent to, for example, a network administrator and/or other interested party (e.g., user). In some embodiments, the rules-based algorithm can be based on priorities assigned to, for example, dynamic capture parameters, fixed attributes, and/or capture records. In some embodiments, a rules-based algorithm can be used to modify and/or define parameters within a capture instruction even if no conflicts occur between values within the dynamic capture parameter(s), the fixed attribute(s), and/or the capture record.

[1116] After the capture instruction has been defined at 940, the capture instruction can be used by a multimedia capture device to capture one or more media signals based on the capture instruction at 950. In some embodiments, the capture instruction can be modified based on, for example, an updated/modified value within a dynamic capture parameter, fixed attribute, and/or capture record even after the multimedia capture device has commenced capturing one or more media signals. Although the embodiment illustrated in FIG. 9 includes a particular order for blocks 900-950, the order illustrated in the flowchart is by way of example only and the blocks and/or steps can be executed in a different order.

[1117] FIG. 10 shows an example priority table that can be used in defining a capture instruction. The priority table includes a variety of fixed attributes (e.g., fixed attribute of a venue 1010) and dynamic capture parameters (e.g., network preference 1040) that are ordered based on a priority to be used when defining a capture instruction. Specifically, the priority table includes a fixed attribute of a multimedia capture device 1000, a fixed attribute of a venue 1010, a capture record 1020, a venue preference 1030, a network preference 1040, a multimedia-capture device parameter 1050, and a speaker preference 1050. The priority increases from the bottom of the table to the top. The table shows that fixed attributes of a multimedia capture device 1000 have the highest priority in defining the capture instruction and that speaker preferences 1060 have the lowest priority in defining the capture instruction.

[1118] FIG. 11 illustrates an example of a speaker preference 1120 being associated with a capture record 1100 via an identifier before a capture instruction 1130 is defined. In the example shown in FIG. 11, the capture record 1100 was associated with the speaker

preference 1120 based on the identity of the speaker as Q. After the association, the figure shows that the parameters/parameter values in the capture record 1100 and the parameters/parameter values of the speaker preference 1120 are combined to define capture instruction 1130. Many combinations of dynamic capture parameters and/or fixed attributes can be associated with, for example, the capture record 1100 to define a capture instruction 1130.

[1119] In conclusion, among other things, an apparatus and method for uploading media signals captured on a multimedia capture device is described. While various embodiments of the invention have been described above, it should be understood that they have been presented by way of example only and various changes in form and details may be made. For example, one or more transmission rules can be stored in a remote memory location (or multiple memory locations) such as a server. The transmission rules can be accessed by a multimedia capture device and/or a control server when needed to define a transmission indicator.