US5487167A - Personal computer with generalized data streaming apparatus for multimedia devices - Google Patents
Personal computer with generalized data streaming apparatus for multimedia devices Download PDFInfo
- Publication number
- US5487167A US5487167A US08/288,650 US28865094A US5487167A US 5487167 A US5487167 A US 5487167A US 28865094 A US28865094 A US 28865094A US 5487167 A US5487167 A US 5487167A
- Authority
- US
- United States
- Prior art keywords
- stream
- data
- step
- buffer
- buffers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Abstract
Description
This is a continuation of application Ser. No. 07/816,517 filed on Dec. 31, 1991, now abandoned.
This invention relates to the field of data processing, and, more particularly, to a personal computer based multimedia system in which data streaming occurs in a continuous, real-time fashion under the control of a multitasking operating system.
The present application is related to application Ser. No. 07/815,652, now U.S. Pat. No. 5,333,299, filed on even date herewith, for "SYNCHRONIZATION TECHNIQUES FOR MULTIMEDIA DATA STREAMS" M. Koval et. al, and assigned to the assignee of the present application.
A multimedia system is designed to present various multimedia materials in various combinations of text, graphics, video, image, animation, sound, etc. Such a system is a combination of hardware and software. The hardware includes a personal computer to which various multimedia devices can be attached. The hardware runs under the control of an operating system and multimedia application programs.
Multimedia applications impose heavy demands on the operating system to move large amounts of data from device to device, from system memory to a device, or vice-versa, in a continuous, real-time manner. Multimedia systems must support a flexible yet consistent means for transporting these large data objects, and control this activity accurately in real time. Adding new multimedia devices and data types should require minimal, if any, new system extension code. The total real memory requirements at run time must be minimized, so that system performance is not degraded. Also, support for complex data types and devices that manipulate interleaved data objects, must be provided. Finally, it must be possible to implement each multimedia data transport control means at the most appropriate system privilege level.
Operating system extensions that support multimedia data types and devices must provide the ability to control the many different multimedia I/O devices and to transport, or stream, large multimedia data objects within real-time constraints.
Multimedia applications control the input and output of large amounts of data, including the continual display of bitmaps, output of digitized audio waveforms or MIDI audio sequences, input of digitized audio from an analog microphone or line source, etc. The application controls all this data flow in the context of a real-time clock: certain events under program control must occur at explicitly defined points in time, and these times are defined very accurately (e.g., in milliseconds).
Given only the OS/2 control program services (DOS calls, or similar services in other operating systems such as AIX or UNIX), controlling this level of function at the application programming interface would require highly complex, device-specific, data transport control modules. Even if such modules were created, there would be no guarantee that the threads controlling each I/O operation would execute within its required time interval. To address this problem, the application would need to add sophisticated semaphore logic and make the I/O control threads time critical. The nature of multitasking operating systems, combined with the high data throughput load common to multimedia applications, will at times prevent data being delivered to the destination device within the allotted time interval. Failing to meet these real-time requirements will result in visible or audible defects in the multimedia presentation.
The real-time, continuous, high-volume data transport requirements present a set of interdependent problems that a generalized transport mechanism must solve:
1. Throughput-intensive Applications With Very Heavy Data I/O Demands
Uncompressed, digital motion video at 640×480×16 resolution requires approximately 3 Mb/sec. Even highly compressed, a digital motion video data stream can require transferring 60 Kb/sec. Adding 8 or 16-bit digital audio waveform data transfer into the scenario can increase the throughput load to 80 Kb/sec or greater. Supporting this throughput load continually while the multitasking system also performs other application functions such as file I/O and keyboard/mouse device control is the most important requirement for a generalized data streaming mechanism. But because the multimedia data presentations at the user interface (auditory and visual) are real-time dependant, these data transfers must occur within very tight real-time constraints.
2. Control of Multiple Different Hardware I/O Devices
Multimedia applications typically control a variety of I/O devices to manage presentations in the audio and video domains of the user interface. Audio devices that support waveform capture and playback, digital audio compact disc playback, Musical Instrument Digital Interface (MIDI) I/O, and voice-generation may be involved. Similarly, video devices that support NTSC (or PAL) video digitization, compression/decompression, and capture are routinely involved in multimedia presentation and/or authoring scenarios. The generalized data streaming mechanism must support these and future multimedia devices in a flexible manner, without requiring major modifications of the multimedia system extensions.
3. Provide Consistent Control Services Across Devices and Data Types
The data streaming mechanism must be controlled through services that are consistent across the different devices and data types involved in multimedia authoring and presentation scenarios. When new data types are introduced, as multimedia data standards evolve, this generalized streaming mechanism must not be substantially impacted. The control services must provide for easily incorporating new data types into existing applications. Likewise, these services must allow for seamlessly adding new I/O device types and capabilities, without impacting existing applications or requiring major revisions of the multimedia extensions.
4. Provide Identical Control Services at Multiple System Privilege Levels
Multimedia data objects may originate (or terminate) at a hardware I/O device, or in system (or application) memory. Where data streaming originates or terminates with a hardware device, the transport mechanism must be able to control behavior of the hardware device indirectly, rather than taking on direct control of the device, and thereby becoming device-specific itself. However, the nature of operating systems that support multiple privilege (or protection) levels--a common practice in modern operating systems--requires that for optimal performance the transport mechanism ("stream handler") should be attached to the device's native physical device driver at the highest system privilege level. This is the execution level where hardware device drivers typically run. Although it is desirable, for performance reasons, to create device driver level stream handlers, the stream handler device driver must not become hardware dependent itself. All hardware-specific code must be encapsulated in the device's native physical device driver. Alternatively, where no physical device is involved as the source or destination of the data stream, the stream handler may be implemented at a lower privilege level and still achieve optimal performance. Because the data transport mechanism is thus distributed across multiple privilege layers, identical stream control services must be provided at any level where the stream handlers execute. Multiple entry points at different privilege levels should be provided without incorporating redundant code.
5. Ability to Extend to New Devices/Data Types With Minimal Impact
New multimedia data standards and device types are being created almost continually. As this situation will persist for the indefinite future, the data transport mechanism must be able to easily and seamlessly adapt to support the new devices and data types.
6. Requirements for Physical Memory During Streaming Must be Kept to a Minimum
Despite the heavy throughput load imposed by multimedia applications, there should be conservation of memory resources at all times when data streaming is underway. Buffer management services should be provided so that applications do not need to become physical memory managers. However, since some applications create multimedia data objects in memory, these applications may need to have direct control over the memory buffers. This capability should be seamlessly supported by the data streaming mechanism and its control services.
7. CPU Loading Must be Kept to a Minimum During Streaming
Just as memory is a scarce resource that must be carefully managed, CPU cycles are another critical resource that cannot be squandered during multimedia application execution. The data streaming mechanism must keep CPU loads to a minimum by exploiting any direct hardware-to-hardware data transport capabilities (e.g., bus master data transfers). In addition, interrupt-driven device I/O should be exploited wherever possible to reduce CPU load, rather than allowing the data transport mechanism to control devices using device-polling techniques.
The following definitions are provided to establish a framework within which the present invention can be described:
Data Stream--A software means for data transfer through a data channel, in a continuous manner, from a source device (or memory address) to a target device (or memory address).
Dynamic Link Library (DLL)--In the OS/2 architecture, a 16-bit or 32-bit executable module that executes at privilege levels 2 or 3, and is loaded into memory in order to resolve the external references of another executable (e.g., .EXE) module. A DLL can execute only in a task context.
Physical Device Driver (PDD)--In the OS/2 architecture, a 16-bit executable module which executes at privilege level 0 (ring 0) and typically controls the operations of an I/O device. A PDD can execute in either a task context or a hardware interrupt context.
Stream--To continuously transfer data from a source to a destination (or target).
The invention provides an improved, generalized, data streaming, multimedia data transport mechanism between various I/O devices, application memory, and system memory that is designed to solve the problems and satisfy the requirements noted above. The transport mechanism is embodied within extensions to a multitasking operating system which incorporates multiple execution privilege levels. The mechanism supports continuous, real-time, data transfer referred to as data streaming.
Other objects and advantages of the invention will be apparent from the following description taken in connection with the accompanying drawings wherein:
FIG. 1 is a block diagram of a data processing system embodying the invention;
FIG. 2 is a block diagram of sync/stream subsystem architecture embodied in the system shown in FIG. 1;
FIG. 3 is a block diagram illustrating a generalized model of data streaming;
FIG. 4 is a flow chart of source stream handler operations:
FIG. 5 is a flow chart of one type of target stream handling operations;
FIG. 6 is a flow chart of another type of target stream handling operations;
FIG. 7 is a diagram illustrating unified and split data buffering;
FIG. 8 is a diagram of buffering data structures;
FIGS. 9-19 are flow charts of interlocking sync/stream buffer management operations;
FIG. 20 is a flow chart of sync/stream manager create stream operations;
FIG. 21 is a flow chart of sync/stream manager start stream operations;
FIG. 22 is a diagram of event data structures;
FIG. 23 is a flow chart of event enabling operations;
FIG. 24 is a flow chart how operations proceed from an application program to the sync/stream manager; and
FIG. 25 is a flow chart of an example of event detection operations.
Multimedia System
Referring now to the drawings, and first to FIG. 1, there is shown an exemplary data processing system comprising a personal computer 10 operable under a multitasking operating system such as OS/2 Version 2.0, to execute application programs. Computer 10 comprises a microprocessor 12 connected to a local bus 14 which, in turn, is connected to a bus interface controller (BIC) 16, a math coprocessor 18, and a small computer system interface (SCSI) adapter 20. Microprocessor 12 is preferably one of the family of 80xxx microprocessors, such as an 80386 or a 80486 microprocessor, and local bus 14 includes conventional data, address, and control lines conforming to the architecture of such processor. Adapter 20 is also connected to a SCSI bus 22 which is connected to a SCSI hard drive (HD) 24 designated as the C:drive, the bus also being connectable to other SCSI devices (not shown). Adapter 20 is also connected to a NVRAM 30 and to a read only memory (ROM) 32.
BIC 16 performs two primary functions, one being that of a memory controller for accessing a main memory 36 and a ROM 38. Main memory 16 is a dynamic random access memory (RAM) that comprises stores data and programs for execution by microprocessor 12 and math coprocessor 18. ROM 38 stores a POST program 40 and a BIOS 42. POST program 40 performs a standard power-on, self-test of the system when computer 10 is started by turning the power on or by a keyboard reset. An address and control bus 37 connects BIC 16 with memory 36 and ROM 38. A data bus 39 connects memory 36 and ROM 38 with a data buffer 41 that is further connected to data bus 14D of bus 14. Control lines 45 interconnect BIC 16 and data buffer 41.
The other primary function of BIC 16 is to interface between bus 14 and an I/O bus 44 designed in conformance with Micro Channel (MC) architecture. Bus 44 is further connected to an input/output controller (IOC) 46, a video signal processor (VSP) 48, a digital signal processor (DSP) 49, and a plurality of expansion connectors (EC) or slots 50. VSP 48 is further connected to a video RAM (VRAM) 60 and a multiplexor (MUX) 62. VRAM 60 stores text and graphic information for controlling what appears on the screen of a monitor 68. MUX 62 is further connected to a digital to analog converter (DAC) 68 and to a connector or terminal 70 that is connectable to a video feature bus (VFB). DAC 66 is connected to monitor 68 that provides a conventional output screen or display for viewing by a user.
IOC 46 controls operation of plurality of I/O devices including a floppy disc drive 72 designated as the A:drive, a printer 74, and a keyboard 76. Drive 72 comprises a controller (not shown) and a removable floppy disc or diskette 73. IOC 46 also is connected to a mouse connector 78, a serial port connector 80, and a speaker connector 82 which allow various optional devices to be connected into the system.
DSP 49 is further connected to an instruction RAM 84, a data RAM 96, an analog interface controller (AIC) 88, and an audio controller (90). RAMS 84 and 86 respectively hold instructions and data used by DSP 49 for processing signals. Audio controller 90 controls various audio inputs and outputs and is connected to a plurality of connectors 92 by which various devices can be connected to the system. Such devices include a headphone, a microphone, a speaker, a musical instrument digitizing interface (MIDI), and devices requiring an audio line-in and line-out functions. Various other multimedia devices (MMD) 96 can be also attached to the system through an EC 50 and adapter card 94.
Memory 36 stores various programs for execution in the system, which programs include application programs 100, including multimedia application programs (MMAP) 102, and an operating system 98 having extensions thereto including a sync/stream sub-system (S/SS) 104. It is to be noted that while FIG. 1 illustrates an exemplary multimedia system, the operating system is general purpose and is designed to run or control data processing systems having configurations that are different from the one shown in FIG. 1. The invention is embodied primarily in S/SS 104 and its interaction with operating system 100, which will now be described.
Sync/Stream Sub-System
Referring to FIG. 2, multimedia application programs 102 execute at a layer above operating system 98 and communicate through multimedia control interface (MCI) by sending MCI commands for controlling devices in the multimedia environment. Some of the basic commands are pause, play, record, resume, seek, save, set, stop, etc. Such commands are routed by the operating system 98 to a media device manager (MDM) 106. The application programming model for MMAPs is a logical extension of the OS/2 Presentation Manager programming model, incorporating both object oriented messaging constructs and procedural (call and return) programming interfaces. The MCI provides a view to application developers and users similar to that of a video and audio home entertainment system. Operations are performed by controlling the processors of media information known as media devices. Media devices can be internal or external hardware devices, or they can be software libraries that perform a defined set of operations by manipulating lower-level hardware components and system software functions. Multiple media devices may be included in a scenario, and they can be allocated and controlled as a group for the purpose of synchronized playback.
Multimedia applications must control two aspects of real time system behavior, the transfer of large amounts of data from one device to another and the synchronization of events that are related. Events under the control of the program must be perceived to be under the direct control of the user, and the underlying system functions facilitate and ensure that these events occur in a predictable, real-time manner. Multimedia application authors should write programs that operate on a real-time clock basis, rather than an approximate clock that could allow events to occur within windows of probability.
The MCI has two levels of dynamic link libraries (DLLs) comprising MDM 106 and media drivers including an audio media driver 108 and a MIDI media driver 110. MDM 106 provides resource management for media devices. It resolves contention for access to media devices and provides the application developer a view of resources that is independent of hardware. The media drivers are dynamic link libraries that implement the functionality of media devices. Media drivers invoke the services of hardware devices or software to implement their functionality. The media drivers do not directly control the hardware devices. Instead, they pass commands to S/SS 104 through a stream programming interface (SPI) 112 to a sync/stream manager (SSM) 114 which controls synchronization and streaming activities. SSM 114 performs two primary functions, the first being to control data streaming to provide continuous, real-time data streaming the inventive aspects of which are the subject of this present application. The second primary function involves synchronizing data streams and details of such function are covered by the above-identified related application.
Stream handlers are required at both the system kernel level and the application level. Some data streams are best controlled by a direct connection between a stream handler and the physical device driver at the Ring 0 priority level Such stream handler communicates with the PDD using a common interface based on OS/2 Interdevice Driver Communication (IDC). Other data streams are not associated with a data source or target that can be mapped to a specific physical device and can be controlled at the Ring 3 priority level by a DLL. Dotted line 113 generally indicates which items operate at the different priority levels. Within SSM 114, some routines operate at one level and other routines operate at the other level, as appropriate to the task at hand.
Each stream handler is programmable and is capable of streaming according to stream protocols. From the perspective of SSM 114, all stream handlers have similar responsibilities. Each handler is designed to be the source or target for one or more data streams where each data stream moves data independently, Manager 114 is responsible for connecting a stream source to an appropriate stream target, for maintaining data flow, and cleaning up the various resources when the stream has ended. Further, the stream handlers are not device dependent modules. Although each stream handler supports streaming data of specific predefined types, data is passed form one handler to the next without any knowledge of hardware behavior. Also, audio stream handler 134 can communicate with any compatible audio device PDD in a completely hardware independent manner. To be compatible, the PDD must conform to the IDC interface as well as to the standard audio device driver interface IOCTL. Thus as shown, stream manager 114 interacts with a plurality of stream handler dynamic link libraries (DLL) 116-126 which respectively are MIDI mapper, CD/DA, memory, split stream, CD-ROM/XA, and file system, stream handlers. File system stream handler DLL 128 calls a multimedia I/O (MMIO) manager for accessing a file system 130.
Stream manager 114 also interacts through stream manager helpers 133 with an audio stream handler physical device driver (PDD) 134 that selectively accesses physical devices through a stream handler/PDD interface 136 and a plurality of PDDs 138-144. Stream manager 114 can also interact with interface 136 through inter-device communication (IDC) interfaces 146.
FIG. 3 is a generalized model of data streaming operations the details of which are discussed relative to the flow charts and data structures in the remaining figures. FIG. 3 shows generally a single data stream 151 and how data flows or is transported under the control of stream manager 114, and source and target stream handlers 152 and 154. A plurality of stream buffers 156 are allocated in memory for use in streaming. Buffers 156 are filled with stream data from a source device 158 and are emptied of stream data by transmitting the data to a target device 160. Data stream 151 comprises two portions, source stream data 153 and target stream data 155. The data path for the source stream data is from source 16, through source PDD 162, and through stream handler 152 to buffers 156. The data path for the target stream data 155 is from buffers 156, through target stream handler 154, through target PDD 164, and to target device 160. Source stream handler 152 actuates a source PDD 162 which in turn controls operation of the source device. Target stream handler 154 actuates a target PDD 164 which controls target device 160. The general objective is for the source stream handler 152 to fill at least two of stream buffers 156 before the target device is started, and, once the target device has started, to thereafter keep ahead of the target device by filling buffers, until the complete source data has been transferred. After the buffers ar filled, the target stream handler can then obtain target data therefrom and transfer it to the target device.
Media driver 108 interacts with SPI interface 112 by sending SPI functions or calls and receiving stream event notifications. Manager 114 interprets the SPI calls and in response thereto performs the desired functions by interacting with the stream handlers by sending system helper commands SHCs to the handlers and receiving stream manager helpers SMH calls from the handlers. Media driver 108 can also directly control PDD 164 by issuing control functions defined by standard IOCTL commands. The principal SPI calls related to the invention are SpiCreateSream and SpiStartStream which respectively setup up the desired stream(s) and then start the data streaming, as discussed in more detail below with reference to FIGS. 20 and 21. Should there be plural streams that must be synchronized, a SpiEnableSync call is made, as more fully discussed in the related application.
FIG. 4 illustrates what happens when a stream handler command SHC.CREATE is executed. However, before describing that, it might be useful to understand how that point is reached relative to an application program. First the MMAP issues an MCI call to create a data stream. Such call is analyzed by the OS in 98 which sends information to media device manager 106. This manager then selects the appropriate media driver that sends an SpiCreateStream call to sync/stream manager 114 which then issues the SHC.CREATE command to the appropriate stream handler.
FIG. 4 illustrates what happens when the SHC.CREATE command is executed by a DLL source stream handler 152. First, step 201 creates a thread under the OS which will be controlled by the multitasking features of the OS. Step 202 assigns a priority level to the thread as appropriate to the task to be performed, and then the thread is blocked on a semaphore in step 203 and goes to "sleep". The priority level may be used to control the rate at which the OS dispatches and executes the thread. If discontinuities arise, priority levels may be adjusted.
It is to be noted that in accordance with the standard operation of OS/2, the threads are treated as individual tasks, and control returns to the OS when the threads are blocked, when calls are made, when returns are made, etc. This allows the operating system to execute other tasks in the system and to return to the streaming threads, on a multitasking basis. It should also be noted that several connectors appear in the drawings, the connectors including a circled numeral along with arrows indicating the direction of program flow. For example, connector 1 appears in both FIG. 4 and FIG. 20. In FIG. 20 the connector includes both call and return arrows, whereas the connector 1 in FIG. 4 includes only a call arrow indicating the routine is being called elsewhere. The other connectors can be interpreted in the same manner.
In response to the start command being made in the application program, manager 114 sends a SHC.START command first to the source thread handler in 206 (FIG. 4) and then to the target stream handler. The source stream handler needs to be started first to fill stream buffers before the target handler can use the data being transferred thereto. In response to such command, the source stream handler in step 208 unblocks the source thread. In response to being unblocked or awakened, source thread then requests, in step 216, an empty buffer from manager 114. If a buffer is not available, as determined in step 218, step 220 then blocks the thread again. If an empty buffer is available, then step 222 reads data from the source device and fills the buffer. Step 224 then returns the filled buffer to manager 114. Step 226 decides if any more buffers need filling. If so, a branch is made back to step 216 and a loop is formed from steps 216-226 which loop is broken when step 226 decides no more buffers need filling. Then, the thread is blocked. Once the streaming operation has been started, buffer filling process repeats until the end of the source file is reached at which point the source thread quiesces. Event detection can be inserted in the sequence of operation at any of the points indicated with an asterisk in FIG. 4, e.g., using cue point detection to keep track of time where time is determined by the rate of data transferred. Event detection can also be used in many of the routines that follow.
FIG. 5 illustrates operating the a DLL target stream handler at ring 3 priority level. Target stream handler receives from manager 114 an SHC.CREATE to also create a target data stream and it first creates a target stream thread in step 230, assigns a priority to the thread in step 232, and blocks the target thread on a semaphore in step 234. When the target thread is awakened by manager 114 issuing a SHC.START command in step 236, the target thread is unblocked in step 238 to awaken the thread in step 240. Step 242 attempts to get a full buffer from the data stream. Step 244 checks to see if a buffer is obtained, and, if not, step 246 blocks the target thread. If a full buffer was obtained, step 248 writes the data in the buffer to the target device and then returns an empty buffer in step 250 to manager 114. Step 252 checks to see if the buffer is the last buffer in the data stream i.e. has the EOS been reached. If not, a branch is made back to step 242 to repeat the process of getting a full buffer. The loop repeats until the end of stream is detected, whereupon step 244 ends the thread.
FIG. 6, to which reference is now directed, shows a target stream handler implemented in a physical device driver at a ring 0 priority level. When an SHC.CREATE command is received in step 256, step 258 sets up the stream data structures and step 260 initializes the target device. A return is made in step 261. When the stream is started in step 262, a request for a full buffer is made in step 264 to manager 114. Step 266 determines if a buffer was given. If so, step 268 initiates a Write I/O and a return is made by step 270. If no buffer was returned as a result of step 272 determining there was an error underrun, step 274 reports the error and then a return is made.
When the I/O operation is completed by writing and emptying the buffer, step 272 then make an interrupt which is handled by an interrupt handler in step 274. If the I/O operation was done without error, step 278 then returns the empty buffer to manager 114, and a branch is made to step 264 to repeat the process. If an error occurred during the I/O operation, step 280 reports the error and a return is made in step 282. A source stream handler operating a Ring 0 priority level performs operations the same as shown in FIG. 6 except that it gets an empty buffer and returns a full buffer.
There are two types of data files and streams which can be used, a unified or non-interleaved stream and a split or interleaved stream. A unified data stream and file contains data of only one type, e.g., only audio data. A split stream contains data of more than one type, e.g, both audio data and video data. An example is the type of file commonly created for CD-ROM devices. FIG. 7 shows examples illustrating the different types. File 286 represents a unified file containing only audio data of a given type. Such file is read into a plurality of buffers B1-B3, by filling buffer B1 with a first section of the audio data, then B2 is filled with the next section of audio data, etc. File 288 is a split or interleaved file having a plurality of sections of interleaved audio and video data. The sections are paired so that the audio corresponds to the video being presented. When such data is transferred into associated buffers B4-B6, it is done so as records. Thus, the first audio section A1 becomes audio record AR1 in B4, the first video section V1 becomes video record VR1, in B4, and the second audio section A@ becomes AR2 in B4. Next, sections V2, A3, and V3 are transferred to buffer B5 as records VR2, AR3, and VR3. Buffer B6 is similarly filled with AR4 and VR4. Quite obviously, in this example, the buffers B4-B6 are each of a size to hold three records.
When streams are created by manager 114, a plurality of buffers are allocated to each stream and, data structures are formed containing data used to manage the streams. Referring to FIG. 8, for each stream, a buffer directory structure BDS is created which is added to a linked list of BDSs of other streams. A chain of buffer control blocks is created for each stream, there being one BCB for each buffer allocated to the stream. As shown, BDS1 is created for stream #1 is chained to three RCBs RCB1-RCB3 which respectively are associated with and point to three buffers B1-B3 allocated to stream #1.
Each BDS contains a plurality of fields for storing information on the number of buffers allocated to the stream, the state of the stream, the number of records in a buffer (for split streams), a pointer 200 to the RCB of the first full buffer, a pointer 202 to the RCB of an empty buffer, and a pointer 204 to the next BDS in the list. The different states of a stream include, running, stopped, paused, and prerolled or primed. The latter is an option which allows for quick starts by filling all of the buffers from the source prior to starting the target device. Each BCB stores information including the number of bytes in the buffer, the number of records in a split stream buffer, a pointer 206 to the buffer, and pointer 208 to the next BCB in the chain, and pointers to the head and tail of the RCB chain.
Streams #3 and #4 illustrate buffering data structures for split streams using the example in FIG. 7. A BDS is set up for each data type in the split stream. BDS3 is setup for audio data and BDS4 is set up for the video data. As buffer B4 is filled with the three records, two record control blocks RCB1 and RCB2 are created and filled to indicate the offsets into B1 of audio records AR1 and AR2, and the lengths thereof. BCB4 is set to indicated there are two records in buffer B1. Concurrently, RCB3 is also created to indicated the offset into buffer B1 of video record VR1 and the length thereof. The number of records field in BCB7 is set to one corresponding to only one video record being stored therein. Additional BCBs and RCBs are similarly created and filled for the remaining buffers allocated to the split stream. Also for a split stream, one BDS is designated owner and any remaining BDS is considered a user. The linked lists contains pointers 210 from each user BDS to the associated owner BDS. Further there are the following pointers: a pointer 212 from a user BCB to the owner BCB; and pointers 214 from a BCB to RCBs chained thereto.
SSM 114 is called from the stream handlers using stream manager helpers (SMHs). Referring to FIG. 9, when manager 114 receives a SMH.NOTIFY call at 220 to get or return a buffer or a record, the call parameters are verified in step 222, and step 224 determines whether the caller is a source stream handler or a target stream handler. If it is a source system handler, step 226 determines if the user or application is supplying buffers. If so, step 228 calls the GiveBuf routine and upon being returned to in step 228, step 230 returns to the caller. If step 226 results in a negative determination, step 232 decides if the a full buffer is being returned. If so, step 234 then calls ReturnFull routine and upon its return, a return is made through step 230 when a full buffer is returned or step 236 is executed to determine if the request is for an empty buffer. Step 236 is also executed when step 232 determines the request is not for a full buffer. If 236 makes a positive determination, step 238 then calls the GetEmpty routine and returns via 230
If step 224 indicates the caller is not a source stream handler, meaning it must be a target one, step 240 determines if an empty buffer is being returned. If so, step 242 the calls ReturnEmpty routine and step 244 determines if the request is for a full buffer. If not, a return is made via 230. If so, step 246 calls the GetFull routine before returning via 230. If step 240 results in a negative determination, step 248 checks to see if the end of the stream has been reached. If not, step 244 proceeds as before. If so, step 250 resets the buffers, and step 252 reports an end of stream event to the application before passing to step 244.
FIG. 10 shows the GiveBuf routine 228 in which step 554 checks to see if there is any remaining buffer to give. If not, a return is made in step 256. If there is such a buffer, step 257 checks to see if an empty pointer points to an empty BCB. If one is pointed to, step 258 calls MapUserBuffer routine 258. Afterward, step 260 checks for errors. If none occurred, step 262 saves buffer attributes and step 264 checks to see if the end of the stream has been reached. If not, step 266 checks to see if a Target.is.waiting flag is set. If not, a loop is made back to step 254. If step 256 produces a "no" answer, step 268 sets Source.is.waiting flag on and step 270 calls a CheckPreroll routine. Step 272 checks for error. If none, control passes to step 254. If an error is noted in 272, step 274 sets error flag indicating too many buffers and a return is made by 256. If step 264 answers positive, step 276 calls check-preroll routine and then goes to step 254. If step 266 is positive, step 278 sends a helper command to start the target stream handler.
Referring to FIG. 11, when the ReturnFull routine is called to obtain a full buffer, step 280 first checks to see if there are any full buffers available. If none is, a return 282 is made. Is there is a full buffer, step 284 searches the chain of BCBs for the full buffer address and step 286 checks if a full buffer is found and if the source owns it. If not, step 288 sets error flag to indicate invalid buffer returned, and then return 282 is made. If step 286 is positive, step 290 determines if a buffer or a record is being returned. If it is a buffer, step 292 saves the buffer attributes and step 294 checks to see if there is a pending discard stop. If so, step 300 calls the CheckStopPending routine. Step 296 follows 300 or 294 and determines if the end of stream has been reached. If so, step 302 calls the CheckPreroll routine. If the end of stream is reached, step 298 checks to see if the target stream handler is waiting to be started. If so, step 299 calls the SHC.START routine to start target. If step 298 is negative, a loop to step 280 is made.
If step 290 determines a record is to be returned, step 304 validates that the record is in the buffer. Step 306 determines if the record pointer is ok. If not, step 308 sets an error flag indicating an invalid record has been returned, and step 282 then returns. If step 306 is positive, step 310 saves record attributes, allocates an RCB and adds it to BCB list. Then, step 312 checks for end of stream and last record for the buffer conditions, and step 294 follows.
At the start of the GetEmpty routine shown in FIG. 12, step 314 determines if there are more buffers to get. If not, a return is made in 316. If so, step 318 checks if an empty pointer points to an empty BCB. If so, step 320 gets the buffer attributes and the loops back to 314. If step 318 is negative, step 322 turns on a Source.is.waiting flag indicating no buffer is available. Step 324 then calls the CheckPreroll routine. Step 326 checks for error. If none, a loop to step 314 is made. If there is an error, an error flag is set to indicate no buffer is available and a return is made by 316.
Referring to FIG. 13, ReturnEmpty routine begins with step 330 which checks to see if there are more buffers to return. If not, step 332 returns. If there are buffers, step 334 searches the chain of buffer BCBs for buffer address. Step 336 sees if buffer is found and if the target stream handler owns it. If not, step sets an error flag indicating an invalid buffer is returned. If step 336 is positive, step 340 determines if a record or a buffer is being returned. If it is a buffer, step 342 marks the buffer as empty, and step 346 sees if the source stream handler is waiting. If not, step 348 is skipped. If so, step 348 calls the source SHC.START routine. If step 344 is positive, step 350 then calls the CheckStopPending routine. Step 330 then follows either step 348 or 350. If a record is returned as determined in 340, step 352 removes the associated RCB from the RCB list and check 354 determines if all records have been returned empty. If so, step 356 marks the buffer as empty and step 344 then follows either step 354 or 356.
In the GetFull routine (FIG. 14), step 358 determines if there are more buffers to get. If not, return 360 occurs. If so, step 362 sees if the full pointer points to a full buffer. If not, no buffer is available, and step 370 sets the Target.waiting flag on and returns via 3360. If 362 is positive, step 364 determines the type of stream, normal (unified) or interleaved. If unified, step 366 gets the buffer attributes, step 368 sets the end of stream condition (EOS) when it is last buffer, and then returns via 360. For an interleaved or split stream, step 372 searches for a full record in the buffer. If one is found, as checked by 374, step 376 gets the record attributes and step 378 checks for last record in buffer before returning via 360.
Referring to FIG. 15, the CheckStopPending routine checks in step 380 to see if all buffers have been returned. If not, a return is made by step 384. If so, step 386 calls the routine SMH.ReportEvent to report "Stream Stopped", and then returns by 384.
FIG. 16 shows the operation of the CHECK.PREROLL routine in which step 388 determines if the stream has been prerolled or primed and it is not in a sync group. If it is not, step 390 checks if the stream a master and all slaves have been prerolled. If not, a return is made via 392. If the results of steps 388 and 390 are positive, step 394 calls SMH.ReportEvent routine to report the "Stream Prerolled" before returning via 392.
FIG. 17 shows the SMH.ReportEvent routine which is a call available at Ring 0 and Ring 3. Step 396 checks an event queue to see if it has overflowed. If it has, step 397 reports an error event and that "Event Queue Overflow" and then continues with step 398. Also, if there is no event queue overflow, step 398 adds the event to the event queue for the specific process, step 400 unblocks the event thread at ring 3, and step 402 returns.
The operations in the MapUserBuffer routine are shown in FIG. 18 in which step 404 searches to see if buffer is already locked, i.e, buffer already in own list. If the buffer is locked, step 406 goes to step 416 which copies the BCB for the buffer to a new BCB list and then returns by 418. If the buffer is not locked, step 408 tries to lock the buffer. Step 410 determines if latter step was successful. If so, step 420 adds field information to the BCB and adds BCB to tail of buffer queue before returning at 418. If 410 is not successful, step 412 allocates a new locked buffer, and step 414 copies buffer data to new buffer, before passing on to steps 420 and 418.
As shown in FIG. 19, event checking is obtained be adding to the routine at the desired point, a step 422 which blocks the thread. When the thread becomes unblocked, the EventRouter routine is called in step 424 which first checks in step 426, the event queue for an event and then dequeues the event in step 428. Step 430 calls the Application Event routine which handles the event. Step 432 then sees if there are any more events to process and if so, returns to step 428. When all events are processed, step 434 then blocks the thread.
As shown in FIG. 20, when an application program creates a stream, an SpiCreateStream API call is made to pass control to sync/stream manager 114 which in step 436 calls the source stream handler using the command SHC.CREATE. Then, the target stream handler is created using SHC.CREATE in step 438. Step 440 obtains the streaming parameters which are listed in a streaming protocol control block (not shown) and includes buffer numbers and size, data stream type, maximum number of records per buffer, minimum number of buffer needed to maintain constant data stream, number of empty buffers needed to start source stream handler, number of full buffers needed to start target stream handler, etc. Then, step 442 informs the source stream handler of the stream parameters, step 444 informs the target stream handler of the stream parameters, step 446 sets up the stream and allocates the stream buffers, and step 448 returns to the application.
Referring to FIG. 21, when an application program issues a start streaming call, manager 114 receives an SpiStartStream API call, and step 450 executes the SpiStartStream routine which first checks in step 452 to see if the stream is paused. If not, step 454 determines if the stream is prerolled. If not, step 456 calls the source stream handler with the command SHC.START to unblock the source thread. Then step 458 checks to see if the stream is a slave stream in a sync group. If not, step 460 returns to the application program. If so, step 462 branches back to step 452 to repeat process for each slave stream. If step 452 answers "yes", step 464 calls the source stream handler with a SHC.START command to unblock the thread and then makes a call in step 466 to unblock the target stream handler. Step 466 also follows a "yes" result from 454. Step 458 then follows step 466.
FIG. 22 illustrates the event data structures. For each process, a process control block PCB is created which points to an event queue. As illustrated, there are two PCBs, PCB1 and PCB2 respectively set up for processes #1 and #2. Each PCB contains a field for the process ID, a field for an Event Thread ID, and a pointer 472 to the head of the associated event queue. The event queue contains a chain of headers 474 each of which contains a flag and a pointer to a users event control block EVCB 478. Such block, as shown in the enlargement, specifies the event type, event flag, stream handler ID, its status, and user parameters. The information in the event data structure is used by the event router routine (FIG. 19).
FIG. 23 illustrates operations of an SpiEnable routine 480 in which step 482 determines the stream handler to call, and step 484 calls the source or target handler identified in step 484. Step 484 is followed by a return 486.
FIG. 24 illustrates what happens with the first Spi API call made at DLL initialize time, from an application. Step 488 creates and event thread by calling the EventRouter routine. Step 490 sets the priority of the event thread (ring 3 or 0), step 492 calls the sync/stream manager, and step 494 returns.
FIG. 25 provides an example of an event called a time cue point event, which can be placed in a stream handler, most likely a target stream handler. Step 496 determines the current time. Step 498 then searches the event queues or list for any events which are to occur at such time. Step 500 checks for any time matches. If there are none, step 504 returns. For each match, step 502 reports the event by call SMH.REPORTEVENT.
The invention incorporates several unique features that are believed novel and have not previously been integrated for multimedia data transport in any application or operating system software, the unique features including the following characteristics: Central Buffer Management with Application Buffering Option; Supports Bi-Level Data Stream Handlers; Support for Interleaved Data Streams; and Data Stream Event Detection and Notification. These unique features are implemented in a fully device-independent manner (beyond any existing physical device drivers). This solution further imposes no data type dependence on modules within the multimedia system extensions.
The generalized data streaming mechanism of the invention provides for device-independent multimedia data transport and is designed as multimedia extensions to IBM Operating System/2 (OS/2) Version 2.0. The mechanism provides system services that support the continuous movement of data for storage and/or retrieval, within real time constraints. For example, large digitized audio data files must be read from a hardfile and "played" by continuously transferring the data to a Digital-to-Analog Converter (DAC) device equipped with analog audio amplification circuitry.
The following four major features of the preferred embodiment of data streaming are central to this invention. Taken together, they represent a significant contribution to multimedia computing systems, and address all of the problems described in preceding sections.
Central Buffer Management with Application Buffering Option
Data stream resource management controls buffer allocation to and from a central buffer pool, sharing buffers among multiple stream handlers, and dynamic buffer locking/unlocking. In addition, data streams may use buffers allocated and managed by applications, particularly where the application is controlling the real-time creation of data to be transferred via the stream.
A set of buffer management routines provide the ability to get and return buffers from a pool of buffers allocated when the data stream is created. The memory for these buffers is allocated and also locked down at this time. The need to lock down the buffers ensures the system will not swap out the memory containing the buffers while the data is streaming.
To ensure the data being processed will stream in a continuous manner, a stream protocol control block associated with the stream is set up to contain information used to allocate the buffers. (i.e., the number of buffers, the buffer size, and values indicating when to start the stream handlers). This information is important because dependent on the type of data being streamed, the amount and size of buffers must be optimum to ensure that continuous streaming of data will occur, and at the same time, ensure that the system resources are not over used. (i.e., allocate more memory than is actually needed). Along with the allocation of memory, the values used to start the stream handlers ensures that enough buffers are filled by the source stream handler that the target stream handler can be started and assured that there is enough data buffered up to allow real-time data streaming to occur.
The Central Buffer Management routines allows for the source stream handler to get an empty buffer from the buffer pool, fill it with data from the input device (e.g., data from a file on the hard disk), and return the full buffer back to the buffer pool. The target stream handler will get a full buffer from the buffer pool, send this buffer to the output device (e.g., data sent to the audio device to be played to the speakers), and then return the empty buffer back to the buffer pool.
One unique feature of the buffer management routines is the ability to handle records within a buffer. This ability allows interleaved data to be processed with the minimum amount of data movement. The data is moved only once to the buffers, and subsequent access is via records within the buffer that contains the individual data (i.e., audio and video data etc.).
Another unique feature of the buffer management routines is the ability to allow a source stream handler to supply its own buffers to be added to the buffer pool and subsequently given to the target stream handler on request. As the buffers are given, they are locked down in memory at that time assuring they won't get swapped out and at the same time not consuming all the system memory resources for the entire duration of the data stream.
The following is a typical scenario that a typical stream handler would use to read data from a file and stream to a audio output device:
1. Application creates the data stream. The buffers will be allocated and locked down at this time.
2. Application will start the data streaming.
3. Source stream handler will:
Get an empty buffer.
Fill the buffer from the input device.
Return the full buffer.
Loop on the above three steps until the end of the data is encountered.
4. Target stream handler will:
Get a full buffer.
Drain the buffer to an output device.
Return the empty buffer.
Loop on the above three steps until the end of the data is encountered.
This set of buffer management routines, provides the capability to ensure a continuous flow of data can occurred from the source stream handler to a target stream handler.
Supports Bi-Level Data Stream Handlers
Provides identical system services for data stream handlers at different protection levels, allowing stream handlers to be developed as either OS/2 Physical Device Drivers (Protection Ring 0) or OS/2 Dynamic Link Libraries (Protection Ring 3).
The OS/2 architecture supports the Intel family of processors based on the 80286, including the 80386DX, 80386SX, and 80486, among others. These processors share a protection mechanism based on providing a series of privilege levels, or rings, numbered 0 to 3. At each level, different operations are permitted according to the relative risk that operation might pose to the integrity of the system. At privilege level 0, or "ring 0", all operations are permitted This level is typically reserved for system code execution. Applications run at ring 3, where attempts to execute privileged instructions will generate a trap, handled by the operating system at ring 0, and typically resulting in the termination of the application.
Developing software at ring 0 is more difficult and more risky than at ring 3, due to the relative absence of system protection mechanisms active at ring 0. Special tools are required, including a Kernel debugger, in order to develop, test, and remove errors from ring 0 code modules. As a result, any function that does not require the special characteristics of ring 0 code, for instance the ability to execute in a hardware interrupt context, is typically written as a ring 3 executable. Debugging at ring 3 is much easier, and any runtime errors generated by ring 3 code will generally have no impact on other processes due to the greater protection afforded all ring 3 executables.
Usually, developers prefer to develop all code as ring 3 executables, except in cases where the special characteristics of ring 0 privilege provide the desired function. However, in developing OS/2 ring 0 modules the number and flexibility of available system services is quite limited. The only type of module that can be loaded for ring 0 execution is a Physical Device Driver (PDD). The only system services available for PDDs are the Device Help (DevHlp) functions provided by the OS/2 Kernel. These same DevHlp interfaces are not available to ring 3 modules, which must be programmed using a totally different set of system service interfaces.
The problem may arise, then, whenever an extension of the operating system is introduced. If the new services are provided only at ring 3, then a wide range of device control capabilities are impeded because modules which invoke the new services cannot also execute privilege level 0 instructions or execute in a hardware interrupt context. If the new services are provided only at ring 0, then all developers will suffer from the difficulty of creating ring 0 modules, whether they need to access privilege level 0 instructions or not.
The preferred embodiment is an OS/2 extension which provides data stream control services. These services are exported by the Sync/Stream Manager which is comprised of an OS/2 DLL and PDD pair. A data stream is controlled by one or more Stream Handlers that invoke the services exported by the Sync/Stream Manager.
In order to provide the greatest flexibility to stream handler developers, and to prevent rapid growth of ring 0 code, identical services are exported by the Sync/Stream Manager at both ring 0 and ring 3. This means that only those stream handlers that absolutely require ring 0 privilege will be written as OS/2 PDDs, while all others may be written as OS/2 DLLs, running at ring 3. Because the same interfaces are available at both privilege levels, the stream handler developer can create code using only one set of interfaces for controlling data streams.
The Sync/Stream Manager exports the same services to both ring 0 and ring 3 modules without creating duplicate service routines. Two entry points are exported for each function, one at ring 3 (in the Sync/Stream Manager DLL) and the other at ring 0 (in the Sync/Stream Manager PDD). Each of these entry points then vectors into a common subroutine. The common code may execute in either ring 0 or ring 3, whichever is most appropriate to the specific function being invoked.
Support for Interleaved Data Streams
This mechanism allows a single data stream source to stream data to multiple targets. This is called a split stream. For example, a device might interleave audio, image, and text data types within a single, formatted data track. A split stream handler is then used to extract each data type from the single interleaved data buffer, stream each data type independently, and deliver each stream to the appropriate target device. For example, CD-ROM XA can interleave waveaudio, video data and text data within the same data buffer. The Split stream handler is used to "split" the data into multiple streams for CD-ROM XA devices. It is more efficient for the Split stream handler to read this combined data into one buffer and then insert the video data into a video stream and the waveaudio data into an waveaudio stream without copying the data. The waveaudio data stream would then be consumed by an waveaudio stream handler and the video stream by a video stream handler. The waveaudio stream handler would "see" only the audio portions of the data stream and the video stream handler would "see" only the video portions of the stream.
A data stream can be "split" into multiple Split streams. The number is limited only by the resources of the system. Each separate "split" of the stream is a separate stream. The work of parsing and determining the different data is the job of the source stream handler, which actually fills an empty buffer with data from the source device. The source stream handler must determine which data goes in which stream. It must then return to the pointers to the individual "records" of the buffer. Each record is a portion of the buffer filled with data specific to one of the "split" streams. These records are returned to the sync stream manager indicating which stream they should go to. The sync stream manager will then queue these records in the respective buffer/record queue for one of the split streams sharing the buffer.
This type of split streams can be set up as follows. Multiple streams must be created, each with an SpiCreateStream api call to the sync stream manager. The first of these api calls is a normal stream creation call with a hstreamBuf parameter set to NULL. Every other subsequent SpiCreateStream call that needs to share the buffers of the first stream must pass that streams handle in the hstreamBuf parameter. This is the mechanism used by the sync stream manager to allow these split streams to share the buffers of the first stream. The source stream handler will also receive this parameter on an SHC-- CREATE call and need to support this kind of streaming. A SPCBBUF-- INTERLEAVED flag in the SPCB is set by the source stream handler to indicate whether it can do split streaming. If it can not, any SpiCreateStream attempting to use its buffers will be rejected. The split stream mechanism only works for one source and multiple targets.
Data Stream Event Detection and Notification
Stream events identify a specific change of state in a data stream. The data stream handler detects the specific event, and may either ignore the event or post a notification that the event occurred. The notification may be received by another stream handler or an application program.
The application has the ability to tell data streaming routines (via Enable/Disable events) which events should be detected. These events typically are error detection notification, stream cue time events and data cue events etc. Also stream handlers may need to be informed of conditions of the data stream that may warrant certain actions to be preformed to keep the data stream running in a real time manner. To accomplish this, these events need to be routed to application or stream handler event routine in a timely (real time) manner so that the appropriate action can be preformed before a minimum amount of time has elapsed. To complicate this event reporting is the fact that the stream handlers can be running at ring 0 or ring 3.
To report events from a ring 3 stream handler to a ring 3 stream handler or application is straight forward in that the registered event routine can be called in the context of the thread reporting the event. But when a ring 0 stream handler needs to report an event to a ring 3 stream handler or application, the problem arises in that the event can be detected by stream handler during interrupt time at ring 0 and there is no way to directly call the ring 3 event routine during this time. To solve this problem, a new time critical thread was created that has minimum task switching overhead and can be dispatched fast enough to allow an event to be reported in a real time environment. Time critical threads are non-interruptable during execution. For each application process, this new time critical thread is created to monitor the events being reported. The sequence of events to report an event are as follows:
1. The event is detected at interrupt time by the ring 0 stream handler.
2. The event is put on a queue of events and the new time critical thread is unblocked to allow it to run. It will run in the context of the ring 3 application.
3. The time critical thread gets control in the context of the application, dequeues the event from the event queue and calls the applications event routine.
This sequence of events is preformed in a minimum amount of time allowing the application to perform actions in real time thus making for a more robust and eye pleasing application.
It should be apparent to those skilled in the art that many changes can be made in the details and arrangements of steps and parts without departing from the scope of the invention as defined in the appended claims.
Claims (7)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81651791A true | 1991-12-31 | 1991-12-31 | |
US08/288,650 US5487167A (en) | 1991-12-31 | 1994-08-09 | Personal computer with generalized data streaming apparatus for multimedia devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/288,650 US5487167A (en) | 1991-12-31 | 1994-08-09 | Personal computer with generalized data streaming apparatus for multimedia devices |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date | |
---|---|---|---|---|
US81651791A Continuation | 1991-12-31 | 1991-12-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5487167A true US5487167A (en) | 1996-01-23 |
Family
ID=25220858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/288,650 Expired - Fee Related US5487167A (en) | 1991-12-31 | 1994-08-09 | Personal computer with generalized data streaming apparatus for multimedia devices |
Country Status (4)
Country | Link |
---|---|
US (1) | US5487167A (en) |
EP (1) | EP0550196A3 (en) |
JP (1) | JP2521016B2 (en) |
CA (1) | CA2084575C (en) |
Cited By (239)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530859A (en) * | 1993-05-10 | 1996-06-25 | Taligent, Inc. | System for synchronizing a midi presentation with presentations generated by other multimedia streams by means of clock objects |
US5581706A (en) * | 1994-06-30 | 1996-12-03 | Rca Thomson Licensing Corporation | Method forming an audio/video interactive data signal |
US5594924A (en) * | 1994-01-21 | 1997-01-14 | International Business Machines Corporation | Multiple user multimedia data server with switch to load time interval interleaved data to plurality of time interval assigned buffers |
US5603016A (en) * | 1994-08-03 | 1997-02-11 | Intel Corporation | Method for synchronizing playback of an audio track to a video track |
US5613109A (en) * | 1993-09-20 | 1997-03-18 | Mataushita Electric Industrial Co., Ltd. | System for outputting reproduction data by judging whether a second data group is outputted after first data group is outputted by reproduction point data |
US5615401A (en) * | 1994-03-30 | 1997-03-25 | Sigma Designs, Inc. | Video and audio data presentation interface |
US5623696A (en) * | 1995-05-30 | 1997-04-22 | International Business Machines Corporation | System for formatting a request into a packet which can be read by plurality of operating systems for providing a driver for a storage device |
WO1997030551A1 (en) * | 1996-02-14 | 1997-08-21 | Olivr Corporation Ltd. | Method and systems for progressive asynchronous transmission of multimedia data |
US5664164A (en) * | 1995-02-24 | 1997-09-02 | Apple Computer, Inc. | Synchronization of one or more data streams |
US5682484A (en) * | 1995-11-20 | 1997-10-28 | Advanced Micro Devices, Inc. | System and method for transferring data streams simultaneously on multiple buses in a computer system |
US5692211A (en) * | 1995-09-11 | 1997-11-25 | Advanced Micro Devices, Inc. | Computer system and method having a dedicated multimedia engine and including separate command and data paths |
US5712976A (en) * | 1994-09-08 | 1998-01-27 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
US5740387A (en) * | 1995-11-20 | 1998-04-14 | Advanced Micro Devices, Inc. | Computer system having an expansion bus which includes normal and real time modes |
US5748921A (en) * | 1995-12-11 | 1998-05-05 | Advanced Micro Devices, Inc. | Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory |
US5748468A (en) * | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
US5748956A (en) * | 1995-01-13 | 1998-05-05 | U.S. West Technologies, Inc. | Method and system for managing multimedia assets for proper deployment on interactive networks |
US5748983A (en) * | 1995-06-07 | 1998-05-05 | Advanced Micro Devices, Inc. | Computer system having a dedicated multimedia engine and multimedia memory having arbitration logic which grants main memory access to either the CPU or multimedia engine |
US5754801A (en) * | 1995-11-20 | 1998-05-19 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent data transfers |
US5761417A (en) * | 1994-09-08 | 1998-06-02 | International Business Machines Corporation | Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node |
US5781737A (en) * | 1996-04-30 | 1998-07-14 | International Business Machines Corporation | System for processing requests for notice of events |
US5784592A (en) * | 1995-09-11 | 1998-07-21 | Advanced Micro Devices, Inc. | Computer system which includes a local expansion bus and a dedicated real-time bus for increased multimedia performance |
US5797043A (en) * | 1996-03-13 | 1998-08-18 | Diamond Multimedia Systems, Inc. | System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs |
US5802358A (en) * | 1994-12-16 | 1998-09-01 | Matsushita Electric Industrial Co., Ltd. | Digital audio data phase shifting apparatus |
US5828866A (en) * | 1996-07-08 | 1998-10-27 | Hewlett-Packard Company | Real-time synchronization of concurrent views among a plurality of existing applications |
US5832309A (en) * | 1994-11-10 | 1998-11-03 | International Business Machines Corporation | System for synchronization with nonstreaming device controller and a streaming data handler each supplying current location for synchronizing slave data and master data flow |
WO1998049628A2 (en) * | 1997-04-28 | 1998-11-05 | Ab Initio Software Corporation | Method for preventing buffer deadlock in dataflow computations |
US5898892A (en) * | 1996-05-17 | 1999-04-27 | Advanced Micro Devices, Inc. | Computer system with a data cache for providing real-time multimedia data to a multimedia engine |
US5905879A (en) * | 1995-11-20 | 1999-05-18 | Advanced Micro Devices, Inc. | System and method for transferring periodic data streams on a multimedia bus |
US5909595A (en) * | 1995-05-15 | 1999-06-01 | Nvidia Corporation | Method of controlling I/O routing by setting connecting context for utilizing I/O processing elements within a computer system to produce multimedia effects |
US5913038A (en) * | 1996-12-13 | 1999-06-15 | Microsoft Corporation | System and method for processing multimedia data streams using filter graphs |
US5918002A (en) * | 1997-03-14 | 1999-06-29 | Microsoft Corporation | Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network |
US5924110A (en) * | 1996-12-06 | 1999-07-13 | Ncr Corporation | Multischeme memory management system for computer |
US5925102A (en) * | 1997-03-28 | 1999-07-20 | International Business Machines Corporation | Managing processor resources in a multisystem environment in order to provide smooth real-time data streams, while enabling other types of applications to be processed concurrently |
US5928330A (en) * | 1996-09-06 | 1999-07-27 | Motorola, Inc. | System, device, and method for streaming a multimedia file |
US5928322A (en) * | 1996-11-20 | 1999-07-27 | Silicon Graphics, Inc. | Low-latency real-time dispatching in general purpose multiprocessor systems |
US5933632A (en) * | 1995-12-21 | 1999-08-03 | Intel Corporation | Ring transitions for data chunks |
US5946318A (en) * | 1997-03-21 | 1999-08-31 | International Business Machines Corporation | Method and apparatus for processing and packetizing data from a data stream |
US5948065A (en) * | 1997-03-28 | 1999-09-07 | International Business Machines Corporation | System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently |
US5956729A (en) * | 1996-09-06 | 1999-09-21 | Motorola, Inc. | Multimedia file, supporting multiple instances of media types, and method for forming same |
US5968120A (en) * | 1997-05-02 | 1999-10-19 | Olivr Corporation Ltd. | Method and system for providing on-line interactivity over a server-client network |
US5987527A (en) * | 1995-12-21 | 1999-11-16 | Intel Corporation | Binding data sinks and sources across ring levels |
US6006241A (en) * | 1997-03-14 | 1999-12-21 | Microsoft Corporation | Production of a video stream with synchronized annotations over a computer network |
WO2000005637A2 (en) * | 1998-07-22 | 2000-02-03 | Appstream Ltd. | Streaming modules |
US6044225A (en) * | 1996-03-13 | 2000-03-28 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller |
US6047350A (en) * | 1995-11-20 | 2000-04-04 | Advanced Micro Devices, Inc. | Computer system which performs intelligent byte slicing on a multi-byte wide bus |
US6061756A (en) * | 1995-11-20 | 2000-05-09 | Advanced Micro Devices, Inc. | Computer system which performs intelligent byte slicing/data packing on a multi-byte wide bus |
US6111567A (en) * | 1997-04-03 | 2000-08-29 | Microsoft Corporation | Seamless multimedia branching |
US6126332A (en) * | 1994-09-12 | 2000-10-03 | Packard Bell Nec | Apparatus and method for automatically disconnecting address and data buses in a multimedia system when docking with a portable personal computer |
US6151632A (en) * | 1997-03-14 | 2000-11-21 | Microsoft Corporation | Method and apparatus for distributed transmission of real-time multimedia information |
US6173317B1 (en) | 1997-03-14 | 2001-01-09 | Microsoft Corporation | Streaming and displaying a video stream with synchronized annotations over a computer network |
US6189069B1 (en) * | 1998-02-17 | 2001-02-13 | Microsoft Corporation | Optimized logging of data elements to a data storage device |
US6230163B1 (en) * | 1997-08-20 | 2001-05-08 | U.S. Philips Corporation | Transient datastream-processing buffer memory organization with software management adapted for multilevel housekeeping |
US6233017B1 (en) | 1996-09-16 | 2001-05-15 | Microsoft Corporation | Multimedia compression system with adaptive block sizes |
US6253232B1 (en) * | 1996-03-29 | 2001-06-26 | Sony Corporation | Data processing control device and method of same |
US6269403B1 (en) | 1997-06-30 | 2001-07-31 | Microsoft Corporation | Browser and publisher for multimedia object storage, retrieval and transfer |
US6282560B1 (en) * | 1997-03-28 | 2001-08-28 | International Business Machines Corporation | Managing processor resources in a non-dedicated computer system |
US6289389B1 (en) * | 1997-06-03 | 2001-09-11 | Lextron Systems, Inc. | Enhanced integrated data delivery system |
US6292834B1 (en) | 1997-03-14 | 2001-09-18 | Microsoft Corporation | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network |
US6295608B1 (en) * | 1998-02-17 | 2001-09-25 | Microsoft Corporation | Optimized allocation of data elements among cache lines |
US6311265B1 (en) | 1996-03-25 | 2001-10-30 | Torrent Systems, Inc. | Apparatuses and methods for programming parallel computers |
US20010037399A1 (en) * | 1998-07-22 | 2001-11-01 | Dan Eylon | Method and system for streaming software applications to a client |
US6317123B1 (en) * | 1996-09-20 | 2001-11-13 | Laboratory Technologies Corp. | Progressively generating an output stream with realtime properties from a representation of the output stream which is not monotonic with regard to time |
US6330008B1 (en) | 1997-02-24 | 2001-12-11 | Torrent Systems, Inc. | Apparatuses and methods for monitoring performance of parallel computing |
US6343263B1 (en) * | 1994-08-02 | 2002-01-29 | Apple Computer, Inc. | Real-time signal processing system for serially transmitted data |
US20020031756A1 (en) * | 2000-04-12 | 2002-03-14 | Alex Holtz | Interactive tutorial method, system, and computer program product for real time media production |
US20020053078A1 (en) * | 2000-01-14 | 2002-05-02 | Alex Holtz | Method, system and computer program product for producing and distributing enhanced media downstreams |
US6408344B1 (en) * | 1998-03-04 | 2002-06-18 | Sharp Kabushiki Kaisha | Method and apparatus for file transfer and computer readable recording medium recording a file transfer program |
US6412004B1 (en) | 1997-03-27 | 2002-06-25 | Microsoft Corporation | Metaserver for a multimedia distribution network |
US20020087717A1 (en) * | 2000-09-26 | 2002-07-04 | Itzik Artzi | Network streaming of multi-application program code |
US6421694B1 (en) * | 1996-12-06 | 2002-07-16 | Microsoft Corporation | System and method for displaying data items in a ticker display pane on a client computer |
US6430652B1 (en) | 1997-12-30 | 2002-08-06 | Lsi Logic Corporation | Method and apparatus for streaming data in a data processing system |
US20020108037A1 (en) * | 1999-11-09 | 2002-08-08 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream |
US20020107594A1 (en) * | 2000-09-23 | 2002-08-08 | Taylor Jeffrey Eames | Systems and methods for running priority-based application threads on a realtime component |
US20020109710A1 (en) * | 1998-12-18 | 2002-08-15 | Parkervision, Inc. | Real time video production system and method |
US6449653B2 (en) | 1997-03-25 | 2002-09-10 | Microsoft Corporation | Interleaved multiple multimedia stream for synchronized transmission over a computer network |
US6460108B1 (en) * | 1999-03-31 | 2002-10-01 | Intel Corporation | Low cost data streaming mechanism |
US6489969B1 (en) * | 1992-04-10 | 2002-12-03 | Avid Technology, Inc. | Media composition system with media consolidation |
US6496826B1 (en) * | 1999-10-12 | 2002-12-17 | International Business Machines Corporation | File list processing |
US20030001880A1 (en) * | 2001-04-18 | 2003-01-02 | Parkervision, Inc. | Method, system, and computer program product for producing and distributing enhanced media |
US6535878B1 (en) | 1997-05-02 | 2003-03-18 | Roxio, Inc. | Method and system for providing on-line interactivity over a server-client network |
US6536043B1 (en) | 1996-02-14 | 2003-03-18 | Roxio, Inc. | Method and systems for scalable representation of multimedia data for progressive asynchronous transmission |
US20030070167A1 (en) * | 2001-04-18 | 2003-04-10 | Alex Holtz | Advertisement management method, system, and computer program product |
US6560240B1 (en) | 1998-09-04 | 2003-05-06 | Advanced Micro Devices, Inc. | System-on-a-chip with variable clock rate |
US20030101447A1 (en) * | 1995-07-11 | 2003-05-29 | Guy Nathan | Intelligent digital audiovisual play back system |
US6574618B2 (en) | 1998-07-22 | 2003-06-03 | Appstream, Inc. | Method and system for executing network streamed application |
US20030125089A1 (en) * | 2001-10-11 | 2003-07-03 | Erling Pedersen | Broadband communication platform and methods of network operation |
US20030140160A1 (en) * | 1998-07-22 | 2003-07-24 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US6604144B1 (en) | 1997-06-30 | 2003-08-05 | Microsoft Corporation | Data format for multimedia object storage, retrieval and transfer |
US6633918B2 (en) * | 1998-10-06 | 2003-10-14 | Realnetworks, Inc. | System and method for providing random access to a multimedia object over a network |
US20030214605A1 (en) * | 1998-12-18 | 2003-11-20 | Snyder Robert J. | Autokeying method, system, and computer program product |
US6654780B1 (en) * | 1997-03-28 | 2003-11-25 | International Business Machines Corporation | System of managing processor resources in a non-dedicated computer system |
US20030221161A1 (en) * | 2001-12-17 | 2003-11-27 | Edward Balassanian | Method and system for synchronization of content rendering |
US20040008220A1 (en) * | 1998-12-18 | 2004-01-15 | Parkervision, Inc. | Director interface for production automation control |
US20040027368A1 (en) * | 2002-05-09 | 2004-02-12 | Parkervision, Inc. | Time sheet for real time video production system and method |
US20040044742A1 (en) * | 2002-08-29 | 2004-03-04 | Roni Evron | Multi-media system and method |
US6708334B1 (en) * | 1998-01-28 | 2004-03-16 | Oak Technology, Inc. | DVD navigation system with multiple threads |
US6721952B1 (en) | 1996-08-06 | 2004-04-13 | Roxio, Inc. | Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing |
US6724772B1 (en) | 1998-09-04 | 2004-04-20 | Advanced Micro Devices, Inc. | System-on-a-chip with variable bandwidth |
US6728775B1 (en) | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US20040098365A1 (en) * | 2000-09-14 | 2004-05-20 | Christophe Comps | Method for synchronizing a multimedia file |
US6757894B2 (en) | 2000-09-26 | 2004-06-29 | Appstream, Inc. | Preprocessed applications suitable for network streaming applications and method for producing same |
US20040193570A1 (en) * | 2003-03-28 | 2004-09-30 | Yaeger Frank L. | Method, apparatus, and system for improved duplicate record processing in a sort utility |
US20050021889A1 (en) * | 1999-02-26 | 2005-01-27 | Arroyo Keith M. | Streaming method and system for fibre channel network devices |
US20050060405A1 (en) * | 2002-09-16 | 2005-03-17 | Guy Nathan | Digital downloading jukebox system with central and local music servers |
US20050058124A1 (en) * | 1999-03-29 | 2005-03-17 | Richard J. Helferich And Thompson Investment Group, L.L.C. | System and method for integrating audio and visual messaging |
US20050100023A1 (en) * | 2003-11-07 | 2005-05-12 | Buckwalter Paul B. | Isochronous audio network software interface |
US20050120125A1 (en) * | 2002-03-29 | 2005-06-02 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream to a virtual smart card client system |
US20050123283A1 (en) * | 2003-12-08 | 2005-06-09 | Li Adam H. | File format for multiple track digital data |
US20050125833A1 (en) * | 1994-10-12 | 2005-06-09 | Touchtunes Music Corp. | System for distributing and selecting audio and video information and method implemented by said system |
FR2866729A1 (en) * | 2004-02-25 | 2005-08-26 | Opencube | Multi-track audiovisual flow processing device, has administration module that synchronizes successive use of synchronized buffers by different active processes according to usage sequence determined by switching process |
US20050198448A1 (en) * | 2004-02-25 | 2005-09-08 | Benoit Fevrier | Self-administered shared virtual memory device, suitable for managing at least one multitrack data flow |
US6952221B1 (en) | 1998-12-18 | 2005-10-04 | Thomson Licensing S.A. | System and method for real time video production and distribution |
US20050223381A1 (en) * | 2004-04-02 | 2005-10-06 | Damien Le M | Data processing apparatus and method thereof |
US6983315B1 (en) | 2000-01-18 | 2006-01-03 | Wrq, Inc. | Applet embedded cross-platform caching |
US20060018208A1 (en) * | 2002-09-16 | 2006-01-26 | Guy Nathan | Digital downloading jukebox system with central and local music servers |
US20060062094A1 (en) * | 2002-09-16 | 2006-03-23 | Guy Nathan | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US20060069649A1 (en) * | 2004-09-24 | 2006-03-30 | Widevine Technologies, Inc. | Method and system for providing secure CODECS |
US20060069662A1 (en) * | 2004-09-30 | 2006-03-30 | Citrix Systems, Inc. | Method and apparatus for remapping accesses to virtual system resources |
US7024677B1 (en) | 1998-12-18 | 2006-04-04 | Thomson Licensing | System and method for real time video production and multicasting |
US20060101287A1 (en) * | 2003-03-18 | 2006-05-11 | Widevine Technologies, Inc. | System, method, and apparatus for securely providing content viewable on a secure device |
US7058720B1 (en) | 1997-06-30 | 2006-06-06 | Microsoft Corporation | Geographical client distribution methods, systems and computer program products |
US20060129909A1 (en) * | 2003-12-08 | 2006-06-15 | Butt Abou U A | Multimedia distribution system |
US20060174223A1 (en) * | 2004-09-30 | 2006-08-03 | Muir Jeffrey D | Method and environment for associating an application with an isolation environment |
US20060200744A1 (en) * | 2003-12-08 | 2006-09-07 | Adrian Bourke | Distributing and displaying still photos in a multimedia distribution system |
US20060239131A1 (en) * | 2002-09-16 | 2006-10-26 | Guy Nathan | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US20060277191A1 (en) * | 2005-06-04 | 2006-12-07 | Badovinatz Peter R | Based on repeated experience, system for modification of express and negating overload from media and optimizing referential efficiency |
US20070067643A1 (en) * | 2005-09-21 | 2007-03-22 | Widevine Technologies, Inc. | System and method for software tamper detection |
US20070083655A1 (en) * | 2005-10-07 | 2007-04-12 | Pedersen Bradley J | Methods for selecting between a predetermined number of execution methods for an application program |
US20070083610A1 (en) * | 2005-10-07 | 2007-04-12 | Treder Terry N | Method and a system for accessing a plurality of files comprising an application program |
US20070117541A1 (en) * | 1997-09-19 | 2007-05-24 | Richard Helferich | Wireless messaging system |
US20070155437A1 (en) * | 1997-09-19 | 2007-07-05 | Richard Helferich | Paging transceivers and methods for selectively retrieving messages |
US20070160224A1 (en) * | 1997-09-26 | 2007-07-12 | Touchtunes Music Corporation | Wireless digital transmission system for loudspeakers |
US20070178887A1 (en) * | 1997-12-12 | 2007-08-02 | Richard Helferich | Systems and methods for downloading information to a mobile device |
US20070204263A1 (en) * | 1998-07-21 | 2007-08-30 | Guy Nathan | System for remote loading of objects or files in order to update software |
US20070229520A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Buffered Paint Systems |
US20080069545A1 (en) * | 1994-10-12 | 2008-03-20 | Touchtunes Music Corporation | Home digital audiovisual information recording and playback system |
US20080077962A1 (en) * | 1999-07-21 | 2008-03-27 | Touchtunes Music Corporation | Remote control unit for intelligent digital audiovisual reproduction systems |
US20080091851A1 (en) * | 2006-10-10 | 2008-04-17 | Palm, Inc. | System and method for dynamic audio buffer management |
US20080123896A1 (en) * | 2006-11-29 | 2008-05-29 | Siemens Medical Solutions Usa, Inc. | Method and Apparatus for Real-Time Digital Image Acquisition, Storage, and Retrieval |
US20080151386A1 (en) * | 2006-11-14 | 2008-06-26 | Asml Holding N.V. | Compensation Techniques for Fluid and Magnetic Bearings |
US20080171594A1 (en) * | 2007-01-17 | 2008-07-17 | White Rabbit Game Studio, Llc | Coin operated game terminal |
CN100405340C (en) | 2002-08-30 | 2008-07-23 | 松下电器产业株式会社 | Flow data processing device |
US20080239887A1 (en) * | 2007-03-26 | 2008-10-02 | Touch Tunes Music Corporation | Jukebox with associated video server |
US20080256511A1 (en) * | 2005-09-19 | 2008-10-16 | Silicon Software Gmbh | Hardware Programming and Layout Design |
US20080293385A1 (en) * | 1997-09-19 | 2008-11-27 | Helferich Richard J | System and method for delivering information to a transmitting and receiving device |
US20090003247A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090003600A1 (en) * | 2007-06-29 | 2009-01-01 | Widevine Technologies, Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
US20090037969A1 (en) * | 1998-07-22 | 2009-02-05 | Touchtunes Music Corporation | Audiovisual reproduction system |
US20090070341A1 (en) * | 2000-05-10 | 2009-03-12 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US20090103521A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090104894A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Method and system for real-time synchronization across a distributed services communication network |
US20090103523A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103695A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103560A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103529A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103476A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Graceful degradation for voice communication services over wired and wireless networks |
US20090103549A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103522A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103531A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Method and system for real-time synchronization across a distributed services communication network |
US20090103477A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox Llc | Graceful degradation for voice communication services over wired and wireless networks |
US20090103528A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103689A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Method and apparatus for near real-time synchronization of voice communications |
US20090106780A1 (en) * | 2007-10-20 | 2009-04-23 | Nord Joseph | Method and system for communicating between isolation environments |
US20090103527A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090138111A1 (en) * | 1996-09-25 | 2009-05-28 | Tony Mastronardi | Process for selecting a recording on a digital audiovisual reproduction system, and system for implementing the process |
US20090168759A1 (en) * | 2007-10-19 | 2009-07-02 | Rebelvox, Llc | Method and apparatus for near real-time synchronization of voice communications |
US20090168760A1 (en) * | 2007-10-19 | 2009-07-02 | Rebelvox, Llc | Method and system for real-time synchronization across a distributed services communication network |
US20090258608A1 (en) * | 2008-04-11 | 2009-10-15 | Rebelvox, Llc | Time-shifting for push to talk voice communication systems |
US20090282491A1 (en) * | 1999-02-22 | 2009-11-12 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
US20090277226A1 (en) * | 2007-10-16 | 2009-11-12 | Santangelo Salvatore R | Modular melter |
US20090327422A1 (en) * | 2008-02-08 | 2009-12-31 | Rebelvox Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US20090327698A1 (en) * | 1999-11-09 | 2009-12-31 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream with bandwidth based variation |
US20100023871A1 (en) * | 2008-07-25 | 2010-01-28 | Zumobi, Inc. | Methods and Systems Providing an Interactive Social Ticker |
US20100042505A1 (en) * | 2008-08-15 | 2010-02-18 | National Broadcast Media Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US20100069060A1 (en) * | 2008-09-17 | 2010-03-18 | Rebelvox Llc | Apparatus and method for enabling communication when network connectivity is reduced or lost during a conversation and for resuming the conversation when connectivity improves |
US7735057B2 (en) | 2003-05-16 | 2010-06-08 | Symantec Corporation | Method and apparatus for packaging and streaming installation software |
US20100144321A1 (en) * | 2008-12-05 | 2010-06-10 | Rebelvox, Llc | Mobile communication device and method for reducing exposure to radio frequency energy during transmissions |
US20100199133A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication |
US20100198925A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Email client capable of supporting near real-time communication |
US20100198922A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication |
US20100269066A1 (en) * | 2000-02-23 | 2010-10-21 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US20100279775A1 (en) * | 2000-06-29 | 2010-11-04 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US20100299232A1 (en) * | 1994-10-12 | 2010-11-25 | Touchtunes Music Corporation | Method of communications for an intelligent digital audiovisual playback system |
US20100312914A1 (en) * | 2007-06-28 | 2010-12-09 | Rebelvox Llc. | System and method for operating a server for real-time communication of time-based media |
US20100312845A1 (en) * | 2007-06-28 | 2010-12-09 | Rebelvox Llc | Late binding communication system and method for real-time communication of time-based media |
US20100312844A1 (en) * | 2009-01-30 | 2010-12-09 | Rebelvox Llc | Email communication system and method for supporting real-time communication of time-based media |
US20110019662A1 (en) * | 2007-06-28 | 2011-01-27 | Rebelvox Llc | Method for downloading and using a communication application through a web browser |
US20110029968A1 (en) * | 2009-08-03 | 2011-02-03 | James Sanders | Streaming An Application Install Package Into A Virtual Environment |
US20110035687A1 (en) * | 2009-08-10 | 2011-02-10 | Rebelvox, Llc | Browser enabled communication device for conducting conversations in either a real-time mode, a time-shifted mode, and with the ability to seamlessly shift the conversation between the two modes |
US7992178B1 (en) | 2000-02-16 | 2011-08-02 | Touchtunes Music Corporation | Downloading file reception process |
US7996873B1 (en) | 1999-07-16 | 2011-08-09 | Touchtunes Music Corporation | Remote management system for at least one audiovisual information reproduction device |
US8081621B1 (en) | 2003-07-22 | 2011-12-20 | Google Inc. | Speaker-buffer management for voice-over-internet-protocol (VoIP) triggered by microphone-buffer arrival |
US8090744B1 (en) | 2009-08-26 | 2012-01-03 | Symantec Operating Corporation | Method and apparatus for determining compatibility between a virtualized application and a base environment |
US8145780B2 (en) | 2007-10-19 | 2012-03-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8189819B2 (en) | 1998-07-22 | 2012-05-29 | Touchtunes Music Corporation | Sound control circuit for a digital audiovisual reproduction system |
US8214874B2 (en) | 2000-06-29 | 2012-07-03 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US8290912B1 (en) | 2010-01-29 | 2012-10-16 | Symantec Corporation | Endpoint virtualization aware backup |
US8321581B2 (en) | 2007-10-19 | 2012-11-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8326943B2 (en) | 2009-05-02 | 2012-12-04 | Citrix Systems, Inc. | Methods and systems for launching applications into existing isolation environments |
US8332887B2 (en) | 2008-01-10 | 2012-12-11 | Touchtunes Music Corporation | System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US8387047B1 (en) | 2009-08-03 | 2013-02-26 | Symantec Corporation | Method of virtualizing file extensions in a computer system by determining an association between applications in virtual environment and a file extension |
US8438555B1 (en) | 2009-08-31 | 2013-05-07 | Symantec Corporation | Method of using an encapsulated data signature for virtualization layer activation |
US8458310B1 (en) | 2009-09-14 | 2013-06-04 | Symantec Corporation | Low bandwidth streaming of application upgrades |
USRE44306E1 (en) | 1995-02-24 | 2013-06-18 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
US8473444B1 (en) | 2009-08-28 | 2013-06-25 | Symantec Corporation | Management of actions in multiple virtual and non-virtual environments |
US8473416B2 (en) | 2002-09-16 | 2013-06-25 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US8495625B1 (en) | 2010-07-27 | 2013-07-23 | Symantec Corporation | Method and system for creation of streamed files on-demand |
US8542804B2 (en) | 2008-02-08 | 2013-09-24 | Voxer Ip Llc | Voice and text mail application for communication devices |
US8560951B1 (en) | 1998-12-18 | 2013-10-15 | Thomson Licensing | System and method for real time video production and distribution |
US8566297B1 (en) | 2010-01-14 | 2013-10-22 | Symantec Corporation | Method to spoof data formats from image backups |
US8584175B2 (en) | 2002-09-16 | 2013-11-12 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US20140047135A1 (en) * | 2012-08-09 | 2014-02-13 | Allan VOSS | Systems and methods for enhancing multimedia experience |
US8682336B2 (en) | 2007-10-19 | 2014-03-25 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8689016B2 (en) | 2005-12-02 | 2014-04-01 | Google Inc. | Tamper prevention and detection for video provided over a network to a client |
US8751800B1 (en) | 2011-12-12 | 2014-06-10 | Google Inc. | DRM provider interoperability |
US8868464B2 (en) | 2008-02-07 | 2014-10-21 | Google Inc. | Preventing unauthorized modification or skipping of viewing of advertisements within content |
US8925034B1 (en) | 2009-06-30 | 2014-12-30 | Symantec Corporation | Data protection requirements specification and migration |
US8988418B1 (en) | 2007-01-05 | 2015-03-24 | Florelle, Inc. | System and method for parametric display of modular aesthetic designs |
US9025659B2 (en) | 2011-01-05 | 2015-05-05 | Sonic Ip, Inc. | Systems and methods for encoding media including subtitles for adaptive bitrate streaming |
US9041784B2 (en) | 2007-09-24 | 2015-05-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US9054912B2 (en) | 2008-02-08 | 2015-06-09 | Voxer Ip Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US9076155B2 (en) | 2009-03-18 | 2015-07-07 | Touchtunes Music Corporation | Jukebox with connection to external social networking services and associated systems and methods |
US9123380B2 (en) | 1998-12-18 | 2015-09-01 | Gvbb Holdings S.A.R.L. | Systems, methods, and computer program products for automated real-time execution of live inserts of repurposed stored content distribution, and multiple aspect ratio automated simulcast production |
US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US9361130B2 (en) | 2010-05-03 | 2016-06-07 | Apple Inc. | Systems, methods, and computer program products providing an integrated user interface for reading content |
US9521375B2 (en) | 2010-01-26 | 2016-12-13 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US9545578B2 (en) | 2000-09-15 | 2017-01-17 | Touchtunes Music Corporation | Jukebox entertainment system having multiple choice games relating to music |
US9608583B2 (en) | 2000-02-16 | 2017-03-28 | Touchtunes Music Corporation | Process for adjusting the sound volume of a digital sound recording |
US9621522B2 (en) | 2011-09-01 | 2017-04-11 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US9712890B2 (en) | 2013-05-30 | 2017-07-18 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US9880776B1 (en) | 2013-02-22 | 2018-01-30 | Veritas Technologies Llc | Content-driven data protection method for multiple storage devices |
US9923985B2 (en) | 2015-09-17 | 2018-03-20 | International Business Machines Corporation | Facilitating an efficient exchange of streaming data constructs between origin and target systems while making remote procedure calls |
US9921717B2 (en) | 2013-11-07 | 2018-03-20 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US10141024B2 (en) | 2007-11-16 | 2018-11-27 | Divx, Llc | Hierarchical and reduced index structures for multimedia files |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10169773B2 (en) | 2008-07-09 | 2019-01-01 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613161A (en) * | 1994-05-06 | 1997-03-18 | Sun Microsystems, Inc. | Method and apparatus for preemptable multiplexing of connections to input/out devices |
US6405255B1 (en) * | 1996-07-01 | 2002-06-11 | Sun Microsystems, Inc. | Mixing and splitting multiple independent audio data streams in kernel space |
US6209041B1 (en) * | 1997-04-04 | 2001-03-27 | Microsoft Corporation | Method and computer program product for reducing inter-buffer data transfers between separate processing components |
US6205492B1 (en) | 1997-04-04 | 2001-03-20 | Microsoft Corporation | Method and computer program product for interconnecting software drivers in kernel mode |
JP2000099349A (en) * | 1998-08-12 | 2000-04-07 | Texas Instr Inc <Ti> | Inter-processing task application control data flow |
WO2000054249A1 (en) * | 1999-03-08 | 2000-09-14 | Faith, Inc. | Data reproducing device, data reproducing method, and information terminal |
US6658477B1 (en) | 1999-05-12 | 2003-12-02 | Microsoft Corporation | Improving the control of streaming data through multiple processing modules |
US7007096B1 (en) | 1999-05-12 | 2006-02-28 | Microsoft Corporation | Efficient splitting and mixing of streaming-data frames for processing through multiple processing modules |
AT243865T (en) * | 1999-05-12 | 2003-07-15 | Microsoft Corp | Splintering and mix of streaming data frame |
US6748440B1 (en) | 1999-05-12 | 2004-06-08 | Microsoft Corporation | Flow of streaming data through multiple processing modules |
US6594773B1 (en) * | 1999-11-12 | 2003-07-15 | Microsoft Corporation | Adaptive control of streaming data in a graph |
AUPQ732400A0 (en) * | 2000-05-05 | 2000-06-01 | Bullant Technology Pty Ltd | Resource consumer structure |
JP4714202B2 (en) * | 2007-10-25 | 2011-06-29 | 日本電信電話株式会社 | Filtration device, a filter processing method and a filtering program |
KR20130010911A (en) * | 2008-12-05 | 2013-01-29 | 소우셜 커뮤니케이션즈 컴퍼니 | Realtime kernel |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170252A (en) * | 1990-04-09 | 1992-12-08 | Interactive Media Technologies, Inc. | System and method for interconnecting and mixing multiple audio and video data streams associated with multiple media devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63186336A (en) * | 1987-01-28 | 1988-08-01 | Nec Corp | Message extracting/switching system |
-
1992
- 1992-12-04 JP JP4325628A patent/JP2521016B2/en not_active Expired - Lifetime
- 1992-12-04 CA CA 2084575 patent/CA2084575C/en not_active Expired - Fee Related
- 1992-12-14 EP EP19920311403 patent/EP0550196A3/xx not_active Withdrawn
-
1994
- 1994-08-09 US US08/288,650 patent/US5487167A/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170252A (en) * | 1990-04-09 | 1992-12-08 | Interactive Media Technologies, Inc. | System and method for interconnecting and mixing multiple audio and video data streams associated with multiple media devices |
Non-Patent Citations (17)
Title |
---|
"Abstractions For Continuous Media In A Network Window System", D. P. Anderson, et al, Report UCB/CSD 90/596, Sep. 1990, pp. 1-20. |
"Implementation Issues For a Network Continuous Media I/O Server", D. P. Anderson, etal, Report UCB/CSD 90/997, Sep., 1990, pp. 1-21. |
"Meta-Scheduling For Distributed Continous Media", D. P. Anderson, Report UCB/CSD 90/599, Oct., 1990, pp. 1-32. |
Abstractions For Continuous Media In A Network Window System , D. P. Anderson, et al, Report UCB/CSD 90/596, Sep. 1990, pp. 1 20. * |
Iacobucci, E., "OS/2 Programmer's Guide", McGraw-Hill, 1988, pp. 103-109. |
Iacobucci, E., OS/2 Programmer s Guide , McGraw Hill, 1988, pp. 103 109. * |
Implementation Issues For a Network Continuous Media I/O Server , D. P. Anderson, etal, Report UCB/CSD 90/997, Sep., 1990, pp. 1 21. * |
Krantz et al., "OS/2 Features, Functions, and Applications", Standard Edition 1.0, John Wiley & Sons, Inc., 1988, pp. 62-65. |
Krantz et al., OS/2 Features, Functions, and Applications , Standard Edition 1.0, John Wiley & Sons, Inc., 1988, pp. 62 65. * |
Mapping New Applications onto New Technologies, International Zurich Seminar on Digital Communications, Zurich, Mar. 8 10, 1988, pp. B4.1 B4.6. * |
Mapping New Applications onto New Technologies, International Zurich Seminar on Digital Communications, Zurich, Mar. 8-10, 1988, pp. B4.1-B4.6. |
Meta Scheduling For Distributed Continous Media , D. P. Anderson, Report UCB/CSD 90/599, Oct., 1990, pp. 1 32. * |
Network and Operating System Support For Digital Audio & Video R. G. Herrtwich (Ed.), Second International Workshop, Heidelberg, Germany, Nov. 1991. * |
On the Synchronization and Display of Multiple Full Motion Video Streams, H. P. Kutseff and R. D. Gaglianello, AT&T Bell Laboratories, Holmdel, N.J. 07733 pp. 3 9. * |
On the Synchronization and Display of Multiple Full-Motion Video Streams, H. P. Kutseff and R. D. Gaglianello, AT&T Bell Laboratories, Holmdel, N.J. 07733 pp. 3-9. |
Scheduling and IPC Mechanisms for Continuous Media, R. Govindan and D. P. Anderson, Computer Science Division, Dept. of Electrical Engineering and Computer Science, University of California, Berkeley, Calif. 94720, pp. 68 80. * |
Scheduling and IPC Mechanisms for Continuous Media, R. Govindan and D. P. Anderson, Computer Science Division, Dept. of Electrical Engineering and Computer Science, University of California, Berkeley, Calif. 94720, pp. 68-80. |
Cited By (550)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6489969B1 (en) * | 1992-04-10 | 2002-12-03 | Avid Technology, Inc. | Media composition system with media consolidation |
US5530859A (en) * | 1993-05-10 | 1996-06-25 | Taligent, Inc. | System for synchronizing a midi presentation with presentations generated by other multimedia streams by means of clock objects |
US5613109A (en) * | 1993-09-20 | 1997-03-18 | Mataushita Electric Industrial Co., Ltd. | System for outputting reproduction data by judging whether a second data group is outputted after first data group is outputted by reproduction point data |
US5630104A (en) * | 1994-01-21 | 1997-05-13 | International Business Machines Corporation | Apparatus and method for providing multimedia data |
US5594924A (en) * | 1994-01-21 | 1997-01-14 | International Business Machines Corporation | Multiple user multimedia data server with switch to load time interval interleaved data to plurality of time interval assigned buffers |
US5615401A (en) * | 1994-03-30 | 1997-03-25 | Sigma Designs, Inc. | Video and audio data presentation interface |
US5581706A (en) * | 1994-06-30 | 1996-12-03 | Rca Thomson Licensing Corporation | Method forming an audio/video interactive data signal |
US6343263B1 (en) * | 1994-08-02 | 2002-01-29 | Apple Computer, Inc. | Real-time signal processing system for serially transmitted data |
US5603016A (en) * | 1994-08-03 | 1997-02-11 | Intel Corporation | Method for synchronizing playback of an audio track to a video track |
US5712976A (en) * | 1994-09-08 | 1998-01-27 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
US5761417A (en) * | 1994-09-08 | 1998-06-02 | International Business Machines Corporation | Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node |
US6126332A (en) * | 1994-09-12 | 2000-10-03 | Packard Bell Nec | Apparatus and method for automatically disconnecting address and data buses in a multimedia system when docking with a portable personal computer |
US20050125833A1 (en) * | 1994-10-12 | 2005-06-09 | Touchtunes Music Corp. | System for distributing and selecting audio and video information and method implemented by said system |
US8184508B2 (en) | 1994-10-12 | 2012-05-22 | Touchtunes Music Corporation | Intelligent digital audiovisual reproduction system |
US8781926B2 (en) | 1994-10-12 | 2014-07-15 | Touchtunes Music Corporation | Communications techniques for an intelligent digital audiovisual reproduction system |
US7987282B2 (en) | 1994-10-12 | 2011-07-26 | Touchtunes Music Corporation | Audiovisual distribution system for playing an audiovisual piece among a plurality of audiovisual devices connected to a central server through a network |
US8225369B2 (en) | 1994-10-12 | 2012-07-17 | Touchtunes Music Corporation | Home digital audiovisual information recording and playback system |
US20100299232A1 (en) * | 1994-10-12 | 2010-11-25 | Touchtunes Music Corporation | Method of communications for an intelligent digital audiovisual playback system |
US8621350B2 (en) | 1994-10-12 | 2013-12-31 | Touchtunes Music Corporation | Pay-per-play audiovisual system with touch screen interface |
US8145547B2 (en) | 1994-10-12 | 2012-03-27 | Touchtunes Music Corporation | Method of communications for an intelligent digital audiovisual playback system |
US8438085B2 (en) | 1994-10-12 | 2013-05-07 | Touchtunes Music Corporation | Communications techniques for an intelligent digital audiovisual reproduction system |
US20070121430A1 (en) * | 1994-10-12 | 2007-05-31 | Touchtunes Music Corporation | Intelligent digital audiovisual reproduction system |
US8724436B2 (en) | 1994-10-12 | 2014-05-13 | Touchtunes Music Corporation | Audiovisual distribution system for playing an audiovisual piece among a plurality of audiovisual devices connected to a central server through a network |
US8249959B2 (en) | 1994-10-12 | 2012-08-21 | Touchtunes Music Corporation | Communications techniques for an intelligent digital audiovisual reproduction system |
US20110208335A1 (en) * | 1994-10-12 | 2011-08-25 | Guy Nathan | Audiovisual distribution system for playing an audiovisual piece among a plurality of audiovisual devices connected to a central server through a network |
US8593925B2 (en) | 1994-10-12 | 2013-11-26 | Touchtunes Music Corporation | Intelligent digital audiovisual reproduction system |
US20080069545A1 (en) * | 1994-10-12 | 2008-03-20 | Touchtunes Music Corporation | Home digital audiovisual information recording and playback system |
US8037412B2 (en) | 1994-10-12 | 2011-10-11 | Touchtunes Music Corporation | Pay-per-play audiovisual system with touch screen interface |
US8661477B2 (en) | 1994-10-12 | 2014-02-25 | Touchtunes Music Corporation | System for distributing and selecting audio and video information and method implemented by said system |
US5832309A (en) * | 1994-11-10 | 1998-11-03 | International Business Machines Corporation | System for synchronization with nonstreaming device controller and a streaming data handler each supplying current location for synchronizing slave data and master data flow |
US5802358A (en) * | 1994-12-16 | 1998-09-01 | Matsushita Electric Industrial Co., Ltd. | Digital audio data phase shifting apparatus |
US5748956A (en) * | 1995-01-13 | 1998-05-05 | U.S. West Technologies, Inc. | Method and system for managing multimedia assets for proper deployment on interactive networks |
USRE44306E1 (en) | 1995-02-24 | 2013-06-18 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
US5664164A (en) * | 1995-02-24 | 1997-09-02 | Apple Computer, Inc. | Synchronization of one or more data streams |
USRE44395E1 (en) | 1995-02-24 | 2013-07-23 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
US5748468A (en) * | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
US5909595A (en) * | 1995-05-15 | 1999-06-01 | Nvidia Corporation | Method of controlling I/O routing by setting connecting context for utilizing I/O processing elements within a computer system to produce multimedia effects |
US5623696A (en) * | 1995-05-30 | 1997-04-22 | International Business Machines Corporation | System for formatting a request into a packet which can be read by plurality of operating systems for providing a driver for a storage device |
US5748983A (en) * | 1995-06-07 | 1998-05-05 | Advanced Micro Devices, Inc. | Computer system having a dedicated multimedia engine and multimedia memory having arbitration logic which grants main memory access to either the CPU or multimedia engine |
US20030101447A1 (en) * | 1995-07-11 | 2003-05-29 | Guy Nathan | Intelligent digital audiovisual play back system |
US7188352B2 (en) * | 1995-07-11 | 2007-03-06 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
US5692211A (en) * | 1995-09-11 | 1997-11-25 | Advanced Micro Devices, Inc. | Computer system and method having a dedicated multimedia engine and including separate command and data paths |
US5784592A (en) * | 1995-09-11 | 1998-07-21 | Advanced Micro Devices, Inc. | Computer system which includes a local expansion bus and a dedicated real-time bus for increased multimedia performance |
US6061756A (en) * | 1995-11-20 | 2000-05-09 | Advanced Micro Devices, Inc. | Computer system which performs intelligent byte slicing/data packing on a multi-byte wide bus |
US5951664A (en) * | 1995-11-20 | 1999-09-14 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and including improved time slotting and bus allocation |
US5740387A (en) * | 1995-11-20 | 1998-04-14 | Advanced Micro Devices, Inc. | Computer system having an expansion bus which includes normal and real time modes |
US5790815A (en) * | 1995-11-20 | 1998-08-04 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent byte slicing |
US5682484A (en) * | 1995-11-20 | 1997-10-28 | Advanced Micro Devices, Inc. | System and method for transferring data streams simultaneously on multiple buses in a computer system |
US5905879A (en) * | 1995-11-20 | 1999-05-18 | Advanced Micro Devices, Inc. | System and method for transferring periodic data streams on a multimedia bus |
US6035364A (en) * | 1995-11-20 | 2000-03-07 | Advanced Micro Devices, Inc. | Independent use of bits on an on-chip bus |
US5872942A (en) * | 1995-11-20 | 1999-02-16 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent byte slicing |
US5754801A (en) * | 1995-11-20 | 1998-05-19 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent data transfers |
US6047350A (en) * | 1995-11-20 | 2000-04-04 | Advanced Micro Devices, Inc. | Computer system which performs intelligent byte slicing on a multi-byte wide bus |
US5748921A (en) * | 1995-12-11 | 1998-05-05 | Advanced Micro Devices, Inc. | Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory |
US5933632A (en) * | 1995-12-21 | 1999-08-03 | Intel Corporation | Ring transitions for data chunks |
US5987527A (en) * | 1995-12-21 | 1999-11-16 | Intel Corporation | Binding data sinks and sources across ring levels |
US6536043B1 (en) | 1996-02-14 | 2003-03-18 | Roxio, Inc. | Method and systems for scalable representation of multimedia data for progressive asynchronous transmission |
US20030135867A1 (en) * | 1996-02-14 | 2003-07-17 | Guedalia Jacob Leon | System for transmitting digital data over a limited bandwidth link in plural blocks |
US7739714B2 (en) | 1996-02-14 | 2010-06-15 | Jacob Leon Guedalia | System for transmitting digital data over a limited bandwidth link in plural blocks |
US7814520B2 (en) | 1996-02-14 | 2010-10-12 | Jacob Leon Guedalia | System for providing on-line virtual reality movies by transmitting partial resolution frames through a subtraction process |
WO1997030551A1 (en) * | 1996-02-14 | 1997-08-21 | Olivr Corporation Ltd. | Method and systems for progressive asynchronous transmission of multimedia data |
US8056108B2 (en) | 1996-02-14 | 2011-11-08 | Intellectual Ventures I Llc | Method and systems for scalable representation of multimedia data for progressive asynchronous transmission |
US6044225A (en) * | 1996-03-13 | 2000-03-28 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller |
US5797043A (en) * | 1996-03-13 | 1998-08-18 | Diamond Multimedia Systems, Inc. | System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs |
US6311265B1 (en) | 1996-03-25 | 2001-10-30 | Torrent Systems, Inc. | Apparatuses and methods for programming parallel computers |
US6253232B1 (en) * | 1996-03-29 | 2001-06-26 | Sony Corporation | Data processing control device and method of same |
US5781737A (en) * | 1996-04-30 | 1998-07-14 | International Business Machines Corporation | System for processing requests for notice of events |
US5898892A (en) * | 1996-05-17 | 1999-04-27 | Advanced Micro Devices, Inc. | Computer system with a data cache for providing real-time multimedia data to a multimedia engine |
US5828866A (en) * | 1996-07-08 | 1998-10-27 | Hewlett-Packard Company | Real-time synchronization of concurrent views among a plurality of existing applications |
US6721952B1 (en) | 1996-08-06 | 2004-04-13 | Roxio, Inc. | Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing |
US5956729A (en) * | 1996-09-06 | 1999-09-21 | Motorola, Inc. | Multimedia file, supporting multiple instances of media types, and method for forming same |
US5928330A (en) * | 1996-09-06 | 1999-07-27 | Motorola, Inc. | System, device, and method for streaming a multimedia file |
US6337881B1 (en) | 1996-09-16 | 2002-01-08 | Microsoft Corporation | Multimedia compression system with adaptive block sizes |
US6233017B1 (en) | 1996-09-16 | 2001-05-15 | Microsoft Corporation | Multimedia compression system with adaptive block sizes |
US6317123B1 (en) * | 1996-09-20 | 2001-11-13 | Laboratory Technologies Corp. | Progressively generating an output stream with realtime properties from a representation of the output stream which is not monotonic with regard to time |
US10127759B2 (en) | 1996-09-25 | 2018-11-13 | Touchtunes Music Corporation | Process for selecting a recording on a digital audiovisual reproduction system, and system for implementing the process |
US20090138111A1 (en) * | 1996-09-25 | 2009-05-28 | Tony Mastronardi | Process for selecting a recording on a digital audiovisual reproduction system, and system for implementing the process |
US5928322A (en) * | 1996-11-20 | 1999-07-27 | Silicon Graphics, Inc. | Low-latency real-time dispatching in general purpose multiprocessor systems |
US5924110A (en) * | 1996-12-06 | 1999-07-13 | Ncr Corporation | Multischeme memory management system for computer |
US6421694B1 (en) * | 1996-12-06 | 2002-07-16 | Microsoft Corporation | System and method for displaying data items in a ticker display pane on a client computer |
US5913038A (en) * | 1996-12-13 | 1999-06-15 | Microsoft Corporation | System and method for processing multimedia data streams using filter graphs |
US6230172B1 (en) | 1997-01-30 | 2001-05-08 | Microsoft Corporation | Production of a video stream with synchronized annotations over a computer network |
US20020080181A1 (en) * | 1997-02-24 | 2002-06-27 | Razdow Allen M. | Apparatuses and methods for monitoring performance of parallel computing |
US6330008B1 (en) | 1997-02-24 | 2001-12-11 | Torrent Systems, Inc. | Apparatuses and methods for monitoring performance of parallel computing |
US6292834B1 (en) | 1997-03-14 | 2001-09-18 | Microsoft Corporation | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network |
US5918002A (en) * | 1997-03-14 | 1999-06-29 | Microsoft Corporation | Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network |
US6151632A (en) * | 1997-03-14 | 2000-11-21 | Microsoft Corporation | Method and apparatus for distributed transmission of real-time multimedia information |
US6173317B1 (en) | 1997-03-14 | 2001-01-09 | Microsoft Corporation | Streaming and displaying a video stream with synchronized annotations over a computer network |
US6006241A (en) * | 1997-03-14 | 1999-12-21 | Microsoft Corporation | Production of a video stream with synchronized annotations over a computer network |
US7082164B2 (en) | 1997-03-17 | 2006-07-25 | Microsoft Corporation | Multimedia compression system with additive temporal layers |
US6728775B1 (en) | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US5946318A (en) * | 1997-03-21 | 1999-08-31 | International Business Machines Corporation | Method and apparatus for processing and packetizing data from a data stream |
US6449653B2 (en) | 1997-03-25 | 2002-09-10 | Microsoft Corporation | Interleaved multiple multimedia stream for synchronized transmission over a computer network |
US6412004B1 (en) | 1997-03-27 | 2002-06-25 | Microsoft Corporation | Metaserver for a multimedia distribution network |
US5948065A (en) * | 1997-03-28 | 1999-09-07 | International Business Machines Corporation | System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently |
US6654780B1 (en) * | 1997-03-28 | 2003-11-25 | International Business Machines Corporation | System of managing processor resources in a non-dedicated computer system |
US6282560B1 (en) * | 1997-03-28 | 2001-08-28 | International Business Machines Corporation | Managing processor resources in a non-dedicated computer system |
US5925102A (en) * | 1997-03-28 | 1999-07-20 | International Business Machines Corporation | Managing processor resources in a multisystem environment in order to provide smooth real-time data streams, while enabling other types of applications to be processed concurrently |
US6343298B1 (en) | 1997-04-03 | 2002-01-29 | Microsoft Corporation | Seamless multimedia branching |
US6111567A (en) * | 1997-04-03 | 2000-08-29 | Microsoft Corporation | Seamless multimedia branching |
WO1998049628A3 (en) * | 1997-04-28 | 1999-03-11 | Initio Software Corp Ab | Method for preventing buffer deadlock in dataflow computations |
WO1998049628A2 (en) * | 1997-04-28 | 1998-11-05 | Ab Initio Software Corporation | Method for preventing buffer deadlock in dataflow computations |
US6088716A (en) * | 1997-04-28 | 2000-07-11 | Ab Initio Software Corporation | Method for preventing buffer deadlock in dataflow computations |
US7925689B2 (en) | 1997-05-02 | 2011-04-12 | Kwok, Chu & Shindler Llc | Method and system for providing on-line interactivity over a server-client network |
US20030088609A1 (en) * | 1997-05-02 | 2003-05-08 | Mgi Software Corporation | Method and system for providing on-line interactivity over a server-client network |
US7970818B2 (en) * | 1997-05-02 | 2011-06-28 | Kwok, Chu & Shindler Llc | Method and system for providing on-line interactivity over a server-client network |
US5968120A (en) * | 1997-05-02 | 1999-10-19 | Olivr Corporation Ltd. | Method and system for providing on-line interactivity over a server-client network |
US8073900B2 (en) | 1997-05-02 | 2011-12-06 | Intellectual Ventures I Llc | Method and system for providing on-line interactivity over a server-client network |
US20070112857A1 (en) * | 1997-05-02 | 2007-05-17 | Guedalia Jacob L | Method and system for providing on-line interactivity over a server-client network |
US20070136374A1 (en) * | 1997-05-02 | 2007-06-14 | Guedalia Jacob L | Method and system for providing on-line interactivity over a server-client network |
US6535878B1 (en) | 1997-05-02 | 2003-03-18 | Roxio, Inc. | Method and system for providing on-line interactivity over a server-client network |
US6289389B1 (en) * | 1997-06-03 | 2001-09-11 | Lextron Systems, Inc. | Enhanced integrated data delivery system |
US7058720B1 (en) | 1997-06-30 | 2006-06-06 | Microsoft Corporation | Geographical client distribution methods, systems and computer program products |
US6604144B1 (en) | 1997-06-30 | 2003-08-05 | Microsoft Corporation | Data format for multimedia object storage, retrieval and transfer |
US6269403B1 (en) | 1997-06-30 | 2001-07-31 | Microsoft Corporation | Browser and publisher for multimedia object storage, retrieval and transfer |
US6230163B1 (en) * | 1997-08-20 | 2001-05-08 | U.S. Philips Corporation | Transient datastream-processing buffer memory organization with software management adapted for multilevel housekeeping |
US9167401B2 (en) | 1997-09-19 | 2015-10-20 | Wireless Science, Llc | Wireless messaging and content provision systems and methods |
US8560006B2 (en) | 1997-09-19 | 2013-10-15 | Wireless Science, Llc | System and method for delivering information to a transmitting and receiving device |
US20090163190A1 (en) * | 1997-09-19 | 2009-06-25 | Helferich Richard J | Content provision to subscribers via wireless transmission |
US8134450B2 (en) | 1997-09-19 | 2012-03-13 | Wireless Science, Llc | Content provision to subscribers via wireless transmission |
US8295450B2 (en) | 1997-09-19 | 2012-10-23 | Wireless Science, Llc | Wireless messaging system |
US20100041331A1 (en) * | 1997-09-19 | 2010-02-18 | Helferich Richard J | System and method for delivering information to a transmitting and receiving device |
US20110092189A1 (en) * | 1997-09-19 | 2011-04-21 | Wireless Science, Llc | Wireless messaging systems and methods |
US20070155437A1 (en) * | 1997-09-19 | 2007-07-05 | Richard Helferich | Paging transceivers and methods for selectively retrieving messages |
US8355702B2 (en) | 1997-09-19 | 2013-01-15 | Wireless Science, Llc | System and method for delivering information to a transmitting and receiving device |
US7843314B2 (en) | 1997-09-19 | 2010-11-30 | Wireless Science, Llc | Paging transceivers and methods for selectively retrieving messages |
US20110230170A1 (en) * | 1997-09-19 | 2011-09-22 | Helferich Richard J | System and method for delivering information to a transmitting and receiving device |
US8498387B2 (en) | 1997-09-19 | 2013-07-30 | Wireless Science, Llc | Wireless messaging systems and methods |
US8374585B2 (en) | 1997-09-19 | 2013-02-12 | Wireless Science, Llc | System and method for delivering information to a transmitting and receiving device |
US8224294B2 (en) | 1997-09-19 | 2012-07-17 | Wireless Science, Llc | System and method for delivering information to a transmitting and receiving device |
US9560502B2 (en) | 1997-09-19 | 2017-01-31 | Wireless Science, Llc | Methods of performing actions in a cell phone based on message parameters |
US8116741B2 (en) | 1997-09-19 | 2012-02-14 | Wireless Science, Llc | System and method for delivering information to a transmitting and receiving device |
US20070117541A1 (en) * | 1997-09-19 | 2007-05-24 | Richard Helferich | Wireless messaging system |
US20080293385A1 (en) * | 1997-09-19 | 2008-11-27 | Helferich Richard J | System and method for delivering information to a transmitting and receiving device |
US8107601B2 (en) | 1997-09-19 | 2012-01-31 | Wireless Science, Llc | Wireless messaging system |
US9071953B2 (en) | 1997-09-19 | 2015-06-30 | Wireless Science, Llc | Systems and methods providing advertisements to a cell phone based on location and external temperature |
US7835757B2 (en) | 1997-09-19 | 2010-11-16 | Wireless Science, Llc | System and method for delivering information to a transmitting and receiving device |
US20110217955A1 (en) * | 1997-09-19 | 2011-09-08 | Helferich Richard J | System and method for delivering information to a transmitting and receiving device |
US20070160224A1 (en) * | 1997-09-26 | 2007-07-12 | Touchtunes Music Corporation | Wireless digital transmission system for loudspeakers |
US8428273B2 (en) | 1997-09-26 | 2013-04-23 | Touchtunes Music Corporation | Wireless digital transmission system for loudspeakers |
US9313574B2 (en) | 1997-09-26 | 2016-04-12 | Touchtunes Music Corporation | Wireless digital transmission system for loudspeakers |
US8116743B2 (en) | 1997-12-12 | 2012-02-14 | Wireless Science, Llc | Systems and methods for downloading information to a mobile device |
US20070178887A1 (en) * | 1997-12-12 | 2007-08-02 | Richard Helferich | Systems and methods for downloading information to a mobile device |
US6430652B1 (en) | 1997-12-30 | 2002-08-06 | Lsi Logic Corporation | Method and apparatus for streaming data in a data processing system |
US6708334B1 (en) * | 1998-01-28 | 2004-03-16 | Oak Technology, Inc. | DVD navigation system with multiple threads |
US6189069B1 (en) * | 1998-02-17 | 2001-02-13 | Microsoft Corporation | Optimized logging of data elements to a data storage device |
US6295608B1 (en) * | 1998-02-17 | 2001-09-25 | Microsoft Corporation | Optimized allocation of data elements among cache lines |
US6408344B1 (en) * | 1998-03-04 | 2002-06-18 | Sharp Kabushiki Kaisha | Method and apparatus for file transfer and computer readable recording medium recording a file transfer program |
US8032879B2 (en) | 1998-07-21 | 2011-10-04 | Touchtunes Music Corporation | System for remote loading of objects or files in order to update software |
US20070204263A1 (en) * | 1998-07-21 | 2007-08-30 | Guy Nathan | System for remote loading of objects or files in order to update software |
US9922547B2 (en) | 1998-07-22 | 2018-03-20 | Touchtunes Music Corporation | Remote control unit for activating and deactivating means for payment and for displaying payment status |
WO2000005637A3 (en) * | 1998-07-22 | 2000-10-12 | Appstream Ltd | Streaming modules |
US20090037969A1 (en) * | 1998-07-22 | 2009-02-05 | Touchtunes Music Corporation | Audiovisual reproduction system |
US9769566B2 (en) | 1998-07-22 | 2017-09-19 | Touchtunes Music Corporation | Sound control circuit for a digital audiovisual reproduction system |
US10104410B2 (en) | 1998-07-22 | 2018-10-16 | Touchtunes Music Corporation | Audiovisual reproduction system |
US8074253B1 (en) | 1998-07-22 | 2011-12-06 | Touchtunes Music Corporation | Audiovisual reproduction system |
US9148681B2 (en) | 1998-07-22 | 2015-09-29 | Touchtunes Music Corporation | Audiovisual reproduction system |
US7197570B2 (en) | 1998-07-22 | 2007-03-27 | Appstream Inc. | System and method to send predicted application streamlets to a client device |
WO2000005637A2 (en) * | 1998-07-22 | 2000-02-03 | Appstream Ltd. | Streaming modules |
US6574618B2 (en) | 1998-07-22 | 2003-06-03 | Appstream, Inc. | Method and system for executing network streamed application |
US9100676B2 (en) | 1998-07-22 | 2015-08-04 | Touchtunes Music Corporation | Audiovisual reproduction system |
US20030140160A1 (en) * | 1998-07-22 | 2003-07-24 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US8843991B2 (en) | 1998-07-22 | 2014-09-23 | Touchtunes Music Corporation | Audiovisual reproduction system |
US8683541B2 (en) | 1998-07-22 | 2014-03-25 | Touchtunes Music Corporation | Audiovisual reproduction system |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US8904449B2 (en) | 1998-07-22 | 2014-12-02 | Touchtunes Music Corporation | Remote control unit for activating and deactivating means for payment and for displaying payment status |
US8127324B2 (en) | 1998-07-22 | 2012-02-28 | Touchtunes Music Corporation | Audiovisual reproduction system |
US8677424B2 (en) | 1998-07-22 | 2014-03-18 | Touchtunes Music Corporation | Remote control unit for intelligent digital audiovisual reproduction systems |
US20010037399A1 (en) * | 1998-07-22 | 2001-11-01 | Dan Eylon | Method and system for streaming software applications to a client |
US7606924B2 (en) | 1998-07-22 | 2009-10-20 | Symantec Corporation | Method and apparatus for determining the order of streaming modules |
US8189819B2 (en) | 1998-07-22 | 2012-05-29 | Touchtunes Music Corporation | Sound control circuit for a digital audiovisual reproduction system |
US6724772B1 (en) | 1998-09-04 | 2004-04-20 | Advanced Micro Devices, Inc. | System-on-a-chip with variable bandwidth |
US6560240B1 (en) | 1998-09-04 | 2003-05-06 | Advanced Micro Devices, Inc. | System-on-a-chip with variable clock rate |
US20040046790A1 (en) * | 1998-10-06 | 2004-03-11 | Rahul Agarwal | System and method for providing random access to a multimedia object over a network |
US20080215746A1 (en) * | 1998-10-06 | 2008-09-04 | Realnetworks, Inc. | System and method for providing random access to a multimedia object over a network |
US7284065B2 (en) | 1998-10-06 | 2007-10-16 | Realnetworks, Inc. | System and method for providing random access to a multimedia object over a network |
US6633918B2 (en) * | 1998-10-06 | 2003-10-14 | Realnetworks, Inc. | System and method for providing random access to a multimedia object over a network |
US8812717B2 (en) | 1998-10-06 | 2014-08-19 | Intel Corporation | System and method for providing random access to a multimedia object over a network |
US8356108B2 (en) | 1998-10-06 | 2013-01-15 | Intel Corporation | System and method for providing random access to a multimedia object over a network |
US20040008220A1 (en) * | 1998-12-18 | 2004-01-15 | Parkervision, Inc. | Director interface for production automation control |
US7024677B1 (en) | 1998-12-18 | 2006-04-04 | Thomson Licensing | System and method for real time video production and multicasting |
US20020109710A1 (en) * | 1998-12-18 | 2002-08-15 | Parkervision, Inc. | Real time video production system and method |
US9711180B2 (en) | 1998-12-18 | 2017-07-18 | Gvbb Holdings S.A.R.L. | Systems, methods, and computer program products for automated real-time execution of live inserts of repurposed stored content distribution |
US6452612B1 (en) | 1998-12-18 | 2002-09-17 | Parkervision, Inc. | Real time video production system and method |
US20030214605A1 (en) * | 1998-12-18 | 2003-11-20 | Snyder Robert J. | Autokeying method, system, and computer program product |
US10056111B2 (en) | 1998-12-18 | 2018-08-21 | Gvbb Holdings S.A.R.L. | Systems, methods, and computer program products for multiple aspect ratio automated simulcast production |
US6952221B1 (en) | 1998-12-18 | 2005-10-04 | Thomson Licensing S.A. | System and method for real time video production and distribution |
US9123380B2 (en) | 1998-12-18 | 2015-09-01 | Gvbb Holdings S.A.R.L. | Systems, methods, and computer program products for automated real-time execution of live inserts of repurposed stored content distribution, and multiple aspect ratio automated simulcast production |
US7835920B2 (en) | 1998-12-18 | 2010-11-16 | Thomson Licensing | Director interface for production automation control |
US7302644B2 (en) | 1998-12-18 | 2007-11-27 | Thomson Licensing | Real time production system and method |
US20020175931A1 (en) * | 1998-12-18 | 2002-11-28 | Alex Holtz | Playlist for real time video production |
US9558786B2 (en) | 1998-12-18 | 2017-01-31 | Gvbb Holdings S.A.R.L. | Systems, methods, and computer program products for multiple aspect ratio automated simulcast production |
US8560951B1 (en) | 1998-12-18 | 2013-10-15 | Thomson Licensing | System and method for real time video production and distribution |
US20020186233A1 (en) * | 1998-12-18 | 2002-12-12 | Alex Holtz | Real time video production system and method |
US8006184B2 (en) | 1998-12-18 | 2011-08-23 | Thomson Licensing | Playlist for real time video production |
US8726330B2 (en) | 1999-02-22 | 2014-05-13 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
US20090282491A1 (en) * | 1999-02-22 | 2009-11-12 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
US8904023B2 (en) | 1999-02-26 | 2014-12-02 | Kip Cr P1 Lp | Streaming method and system for fibre channel network devices |
US8271673B2 (en) * | 1999-02-26 | 2012-09-18 | Crossroads Systems, Inc. | Streaming method and system for fibre channel network devices |
US20050021889A1 (en) * | 1999-02-26 | 2005-01-27 | Arroyo Keith M. | Streaming method and system for fibre channel network devices |
US9455938B2 (en) | 1999-02-26 | 2016-09-27 | Kip Cr P1 Lp | Streaming methods and systems for network devices |
US7957695B2 (en) | 1999-03-29 | 2011-06-07 | Wireless Science, Llc | Method for integrating audio and visual messaging |
US20100075640A1 (en) * | 1999-03-29 | 2010-03-25 | Helferich Richard J | System and method for integrating audio and visual messaging |
US8099046B2 (en) | 1999-03-29 | 2012-01-17 | Wireless Science, Llc | Method for integrating audio and visual messaging |
US20050176451A1 (en) * | 1999-03-29 | 2005-08-11 | Thompson Investment Group, L.L.C. | Systems and methods for adding information to a directory stored in a mobile device |
US20050058124A1 (en) * | 1999-03-29 | 2005-03-17 | Richard J. Helferich And Thompson Investment Group, L.L.C. | System and method for integrating audio and visual messaging |
US6460108B1 (en) * | 1999-03-31 | 2002-10-01 | Intel Corporation | Low cost data streaming mechanism |
US9288529B2 (en) | 1999-07-16 | 2016-03-15 | Touchtunes Music Corporation | Remote management system for at least one audiovisual information reproduction device |
US8931020B2 (en) | 1999-07-16 | 2015-01-06 | Touchtunes Music Corporation | Remote management system for at least one audiovisual information reproduction device |
US7996873B1 (en) | 1999-07-16 | 2011-08-09 | Touchtunes Music Corporation | Remote management system for at least one audiovisual information reproduction device |
US8479240B2 (en) | 1999-07-16 | 2013-07-02 | Touchtunes Music Corporation | Remote management system for at least one audiovisual information reproduction device |
US8028318B2 (en) | 1999-07-21 | 2011-09-27 | Touchtunes Music Corporation | Remote control unit for activating and deactivating means for payment and for displaying payment status |
US20080077962A1 (en) * | 1999-07-21 | 2008-03-27 | Touchtunes Music Corporation | Remote control unit for intelligent digital audiovisual reproduction systems |
US6496826B1 (en) * | 1999-10-12 | 2002-12-17 | International Business Machines Corporation | File list processing |
US8055894B2 (en) | 1999-11-09 | 2011-11-08 | Google Inc. | Process and streaming server for encrypting a data stream with bandwidth based variation |
US7380117B2 (en) | 1999-11-09 | 2008-05-27 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream |
US8386771B2 (en) | 1999-11-09 | 2013-02-26 | Google Inc. | Process and streaming server for encrypting a data stream with bandwidth based variation |
US20060059563A1 (en) * | 1999-11-09 | 2006-03-16 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream |
US20020108037A1 (en) * | 1999-11-09 | 2002-08-08 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream |
US6965993B2 (en) * | 1999-11-09 | 2005-11-15 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream |
US20090327698A1 (en) * | 1999-11-09 | 2009-12-31 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream with bandwidth based variation |
US20020053078A1 (en) * | 2000-01-14 | 2002-05-02 | Alex Holtz | Method, system and computer program product for producing and distributing enhanced media downstreams |
US20060047772A1 (en) * | 2000-01-18 | 2006-03-02 | Wrq, Inc. | Applet embedded cross-platform caching |
US8918487B2 (en) | 2000-01-18 | 2014-12-23 | Novell, Inc. | Applet embedded cross-platform caching |
US8332489B2 (en) | 2000-01-18 | 2012-12-11 | Attachmate Corporation | Applet embedded cross-platform caching |
US6983315B1 (en) | 2000-01-18 | 2006-01-03 | Wrq, Inc. | Applet embedded cross-platform caching |
US9451203B2 (en) | 2000-02-16 | 2016-09-20 | Touchtunes Music Corporation | Downloading file reception process |
US7992178B1 (en) | 2000-02-16 | 2011-08-02 | Touchtunes Music Corporation | Downloading file reception process |
US9608583B2 (en) | 2000-02-16 | 2017-03-28 | Touchtunes Music Corporation | Process for adjusting the sound volume of a digital sound recording |
US8495109B2 (en) | 2000-02-16 | 2013-07-23 | Touch Tunes Music Corporation | Downloading file reception process |
US20100269066A1 (en) * | 2000-02-23 | 2010-10-21 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US10068279B2 (en) | 2000-02-23 | 2018-09-04 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US9129328B2 (en) | 2000-02-23 | 2015-09-08 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US8275668B2 (en) | 2000-02-23 | 2012-09-25 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US6909874B2 (en) | 2000-04-12 | 2005-06-21 | Thomson Licensing Sa. | Interactive tutorial method, system, and computer program product for real time media production |
US20020031756A1 (en) * | 2000-04-12 | 2002-03-14 | Alex Holtz | Interactive tutorial method, system, and computer program product for real time media production |
US8275807B2 (en) | 2000-05-10 | 2012-09-25 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US7996438B2 (en) | 2000-05-10 | 2011-08-09 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US20090070341A1 (en) * | 2000-05-10 | 2009-03-12 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US9536257B2 (en) | 2000-05-10 | 2017-01-03 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US10007687B2 (en) | 2000-05-10 | 2018-06-26 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproductions systems |
US8655922B2 (en) | 2000-05-10 | 2014-02-18 | Touch Tunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US9152633B2 (en) | 2000-05-10 | 2015-10-06 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US9197914B2 (en) | 2000-06-20 | 2015-11-24 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US20100279775A1 (en) * | 2000-06-29 | 2010-11-04 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US9149727B2 (en) | 2000-06-29 | 2015-10-06 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US9539515B2 (en) | 2000-06-29 | 2017-01-10 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US9591340B2 (en) | 2000-06-29 | 2017-03-07 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US8863161B2 (en) | 2000-06-29 | 2014-10-14 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US8214874B2 (en) | 2000-06-29 | 2012-07-03 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US9292999B2 (en) | 2000-06-29 | 2016-03-22 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US8522303B2 (en) | 2000-06-29 | 2013-08-27 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US8840479B2 (en) | 2000-06-29 | 2014-09-23 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US8469820B2 (en) | 2000-06-29 | 2013-06-25 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US7386782B2 (en) * | 2000-09-14 | 2008-06-10 | Alcatel | Method for synchronizing a multimedia file |
US20040098365A1 (en) * | 2000-09-14 | 2004-05-20 | Christophe Comps | Method for synchronizing a multimedia file |
US9545578B2 (en) | 2000-09-15 | 2017-01-17 | Touchtunes Music Corporation | Jukebox entertainment system having multiple choice games relating to music |
US20020107594A1 (en) * | 2000-09-23 | 2002-08-08 | Taylor Jeffrey Eames | Systems and methods for running priority-based application threads on a realtime component |
US7599753B2 (en) * | 2000-09-23 | 2009-10-06 | Microsoft Corporation | Systems and methods for running priority-based application threads on a realtime component |
US20080046893A1 (en) * | 2000-09-23 | 2008-02-21 | Microsoft Corporation | Methods For Running Priority-Based Application Threads On A Realtime Component |
US7051315B2 (en) | 2000-09-26 | 2006-05-23 | Appstream, Inc. | Network streaming of multi-application program code |
US20020087717A1 (en) * | 2000-09-26 | 2002-07-04 | Itzik Artzi | Network streaming of multi-application program code |
US6757894B2 (en) | 2000-09-26 | 2004-06-29 | Appstream, Inc. | Preprocessed applications suitable for network streaming applications and method for producing same |
US20030001880A1 (en) * | 2001-04-18 | 2003-01-02 | Parkervision, Inc. | Method, system, and computer program product for producing and distributing enhanced media |
US20030070167A1 (en) * | 2001-04-18 | 2003-04-10 | Alex Holtz | Advertisement management method, system, and computer program product |
US20030125089A1 (en) * | 2001-10-11 | 2003-07-03 | Erling Pedersen | Broadband communication platform and methods of network operation |
US7181206B2 (en) | 2001-10-11 | 2007-02-20 | Lyndale Trading Company Ltd. | Broadband communication platform and methods of network operation |
US8942252B2 (en) | 2001-12-17 | 2015-01-27 | Implicit, Llc | Method and system synchronization of content rendering |
US20030221161A1 (en) * | 2001-12-17 | 2003-11-27 | Edward Balassanian | Method and system for synchronization of content rendering |
US7391791B2 (en) * | 2001-12-17 | 2008-06-24 | Implicit Networks, Inc. | Method and system for synchronization of content rendering |
US7299292B2 (en) | 2002-03-29 | 2007-11-20 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream to a virtual smart card client system |
US20050120125A1 (en) * | 2002-03-29 | 2005-06-02 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream to a virtual smart card client system |
US20040027368A1 (en) * | 2002-05-09 | 2004-02-12 | Parkervision, Inc. | Time sheet for real time video production system and method |
US20040044742A1 (en) * | 2002-08-29 | 2004-03-04 | Roni Evron | Multi-media system and method |
US7373414B2 (en) * | 2002-08-29 | 2008-05-13 | Amx Llc | Multi-media system and method for simultaneously delivering multi-media data to multiple destinations |
CN100405340C (en) | 2002-08-30 | 2008-07-23 | 松下电器产业株式会社 | Flow data processing device |
US8584175B2 (en) | 2002-09-16 | 2013-11-12 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8719873B2 (en) | 2002-09-16 | 2014-05-06 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9015287B2 (en) | 2002-09-16 | 2015-04-21 | Touch Tunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8332895B2 (en) | 2002-09-16 | 2012-12-11 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9015286B2 (en) | 2002-09-16 | 2015-04-21 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US20080195443A1 (en) * | 2002-09-16 | 2008-08-14 | Guy Nathan | Digital downloading jukebox system with central and local music servers |
US8751611B2 (en) | 2002-09-16 | 2014-06-10 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8930504B2 (en) | 2002-09-16 | 2015-01-06 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9164661B2 (en) | 2002-09-16 | 2015-10-20 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9430797B2 (en) | 2002-09-16 | 2016-08-30 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US20060239131A1 (en) * | 2002-09-16 | 2006-10-26 | Guy Nathan | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8151304B2 (en) | 2002-09-16 | 2012-04-03 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9513774B2 (en) | 2002-09-16 | 2016-12-06 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9202209B2 (en) | 2002-09-16 | 2015-12-01 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US10089613B2 (en) | 2002-09-16 | 2018-10-02 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US9165322B2 (en) | 2002-09-16 | 2015-10-20 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US20050060405A1 (en) * | 2002-09-16 | 2005-03-17 | Guy Nathan | Digital downloading jukebox system with central and local music servers |
US9436356B2 (en) | 2002-09-16 | 2016-09-06 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8473416B2 (en) | 2002-09-16 | 2013-06-25 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US20060062094A1 (en) * | 2002-09-16 | 2006-03-23 | Guy Nathan | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9646339B2 (en) | 2002-09-16 | 2017-05-09 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US20060018208A1 (en) * | 2002-09-16 | 2006-01-26 | Guy Nathan | Digital downloading jukebox system with central and local music servers |
US8103589B2 (en) | 2002-09-16 | 2012-01-24 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US8918485B2 (en) | 2002-09-16 | 2014-12-23 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US7640435B2 (en) | 2003-03-18 | 2009-12-29 | Widevine Technologies, Inc. | System, method, and apparatus for securely providing content viewable on a secure device |
US20060101287A1 (en) * | 2003-03-18 | 2006-05-11 | Widevine Technologies, Inc. | System, method, and apparatus for securely providing content viewable on a secure device |
US20040193570A1 (en) * | 2003-03-28 | 2004-09-30 | Yaeger Frank L. | Method, apparatus, and system for improved duplicate record processing in a sort utility |
US7735057B2 (en) | 2003-05-16 | 2010-06-08 | Symantec Corporation | Method and apparatus for packaging and streaming installation software |
US8081621B1 (en) | 2003-07-22 | 2011-12-20 | Google Inc. | Speaker-buffer management for voice-over-internet-protocol (VoIP) triggered by microphone-buffer arrival |
US8583269B2 (en) * | 2003-11-07 | 2013-11-12 | Harman International Industries, Incorporated | Isochronous audio network software interface |
US7917642B2 (en) | 2003-11-07 | 2011-03-29 | Harman International Industries, Incorporated | Isochronous audio network software interface |
US20110153049A1 (en) * | 2003-11-07 | 2011-06-23 | Harman International Industries, Incorporated | Isochronous audio network software interface |
US20050100023A1 (en) * | 2003-11-07 | 2005-05-12 | Buckwalter Paul B. | Isochronous audio network software interface |
US20070220432A1 (en) * | 2003-11-07 | 2007-09-20 | Buckwalter Paul B | Isochronous Audio Network Software Interface |
US9369687B2 (en) | 2003-12-08 | 2016-06-14 | Sonic Ip, Inc. | Multimedia distribution system for multimedia files with interleaved media chunks of varying types |
US20060129909A1 (en) * | 2003-12-08 | 2006-06-15 | Butt Abou U A | Multimedia distribution system |
US20050207442A1 (en) * | 2003-12-08 | 2005-09-22 | Zoest Alexander T V | Multimedia distribution system |
US20060200744A1 (en) * | 2003-12-08 | 2006-09-07 | Adrian Bourke | Distributing and displaying still photos in a multimedia distribution system |
US8731369B2 (en) | 2003-12-08 | 2014-05-20 | Sonic Ip, Inc. | Multimedia distribution system for multimedia files having subtitle information |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
USRE45052E1 (en) | 2003-12-08 | 2014-07-29 | Sonic Ip, Inc. | File format for multiple track digital data |
US10032485B2 (en) | 2003-12-08 | 2018-07-24 | Divx, Llc | Multimedia distribution system |
US9420287B2 (en) | 2003-12-08 | 2016-08-16 | Sonic Ip, Inc. | Multimedia distribution system |
US20050123283A1 (en) * | 2003-12-08 | 2005-06-09 | Li Adam H. | File format for multiple track digital data |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
WO2005093570A1 (en) * | 2004-02-25 | 2005-10-06 | Opencube Technologies | Virtual self-administrated shared memory device for managing at least one multi-track data stream |
FR2866729A1 (en) * | 2004-02-25 | 2005-08-26 | Opencube | Multi-track audiovisual flow processing device, has administration module that synchronizes successive use of synchronized buffers by different active processes according to usage sequence determined by switching process |
US20050198448A1 (en) * | 2004-02-25 | 2005-09-08 | Benoit Fevrier | Self-administered shared virtual memory device, suitable for managing at least one multitrack data flow |
US20050223381A1 (en) * | 2004-04-02 | 2005-10-06 | Damien Le M | Data processing apparatus and method thereof |
US7987299B2 (en) | 2004-04-02 | 2011-07-26 | Hitachi, Ltd. | Data processing apparatus and method thereof |
US9609279B2 (en) | 2004-09-24 | 2017-03-28 | Google Inc. | Method and system for providing secure CODECS |
US20060069649A1 (en) * | 2004-09-24 | 2006-03-30 | Widevine Technologies, Inc. | Method and system for providing secure CODECS |
US8132176B2 (en) | 2004-09-30 | 2012-03-06 | Citrix Systems, Inc. | Method for accessing, by application programs, resources residing inside an application isolation scope |
US8302101B2 (en) | 2004-09-30 | 2012-10-30 | Citrix Systems, Inc. | Methods and systems for accessing, by application programs, resources provided by an operating system |
US20060069662A1 (en) * | 2004-09-30 | 2006-03-30 | Citrix Systems, Inc. | Method and apparatus for remapping accesses to virtual system resources |
US20070094667A1 (en) * | 2004-09-30 | 2007-04-26 | Bissett Nicholas A | Method for accessing, by application programs, resources residing inside an application isolation environment |
US8352964B2 (en) | 2004-09-30 | 2013-01-08 | Citrix Systems, Inc. | Method and apparatus for moving processes between isolation environments |
US20060174223A1 (en) * | 2004-09-30 | 2006-08-03 | Muir Jeffrey D | Method and environment for associating an application with an isolation environment |
US7865478B2 (en) * | 2005-06-04 | 2011-01-04 | International Business Machines Corporation | Based on repeated experience, system for modification of expression and negating overload from media and optimizing referential efficiency |
US20060277191A1 (en) * | 2005-06-04 | 2006-12-07 | Badovinatz Peter R | Based on repeated experience, system for modification of express and negating overload from media and optimizing referential efficiency |
US20080256511A1 (en) * | 2005-09-19 | 2008-10-16 | Silicon Software Gmbh | Hardware Programming and Layout Design |
US8397213B2 (en) * | 2005-09-19 | 2013-03-12 | Silicon Software Gmbh | Hardware programming and layout design |
US20070067643A1 (en) * | 2005-09-21 | 2007-03-22 | Widevine Technologies, Inc. | System and method for software tamper detection |
US20070083610A1 (en) * | 2005-10-07 | 2007-04-12 | Treder Terry N | Method and a system for accessing a plurality of files comprising an application program |
US20070083655A1 (en) * | 2005-10-07 | 2007-04-12 | Pedersen Bradley J | Methods for selecting between a predetermined number of execution methods for an application program |
US8689016B2 (en) | 2005-12-02 | 2014-04-01 | Google Inc. | Tamper prevention and detection for video provided over a network to a client |
US20070229520A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Buffered Paint Systems |
US9135951B2 (en) * | 2006-10-10 | 2015-09-15 | Qualcomm Incorporated | System and method for dynamic audio buffer management |
US20080091851A1 (en) * | 2006-10-10 | 2008-04-17 | Palm, Inc. | System and method for dynamic audio buffer management |
US20080151386A1 (en) * | 2006-11-14 | 2008-06-26 | Asml Holding N.V. | Compensation Techniques for Fluid and Magnetic Bearings |
US8120613B2 (en) * | 2006-11-29 | 2012-02-21 | Siemens Medical Solutions Usa, Inc. | Method and apparatus for real-time digital image acquisition, storage, and retrieval |
US20080123896A1 (en) * | 2006-11-29 | 2008-05-29 | Siemens Medical Solutions Usa, Inc. | Method and Apparatus for Real-Time Digital Image Acquisition, Storage, and Retrieval |
US8988418B1 (en) | 2007-01-05 | 2015-03-24 | Florelle, Inc. | System and method for parametric display of modular aesthetic designs |
US20080171594A1 (en) * | 2007-01-17 | 2008-07-17 | White Rabbit Game Studio, Llc | Coin operated game terminal |
US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
US9330529B2 (en) | 2007-01-17 | 2016-05-03 | Touchtunes Music Corporation | Game terminal configured for interaction with jukebox device systems including same, and/or associated methods |
US20080239887A1 (en) * | 2007-03-26 | 2008-10-02 | Touch Tunes Music Corporation | Jukebox with associated video server |
US9953481B2 (en) | 2007-03-26 | 2018-04-24 | Touchtunes Music Corporation | Jukebox with associated video server |
US10129191B2 (en) | 2007-06-28 | 2018-11-13 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20110019662A1 (en) * | 2007-06-28 | 2011-01-27 | Rebelvox Llc | Method for downloading and using a communication application through a web browser |
US20100312845A1 (en) * | 2007-06-28 | 2010-12-09 | Rebelvox Llc | Late binding communication system and method for real-time communication of time-based media |
US20100312914A1 (en) * | 2007-06-28 | 2010-12-09 | Rebelvox Llc. | System and method for operating a server for real-time communication of time-based media |
US20100217822A1 (en) * | 2007-06-28 | 2010-08-26 | Rebelvox Llc | Telecommunication and multimedia management method and apparatus |
US20100215158A1 (en) * | 2007-06-28 | 2010-08-26 | Rebelvox Llc | Telecommunication and multimedia management method and apparatus |
US20090003537A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US9456087B2 (en) | 2007-06-28 | 2016-09-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US9608947B2 (en) | 2007-06-28 | 2017-03-28 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US9621491B2 (en) | 2007-06-28 | 2017-04-11 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US9634969B2 (en) | 2007-06-28 | 2017-04-25 | Voxer Ip Llc | Real-time messaging method and apparatus |
US8902749B2 (en) | 2007-06-28 | 2014-12-02 | Voxer Ip Llc | Multi-media messaging method, apparatus and application for conducting real-time and time-shifted communications |
US9674122B2 (en) | 2007-06-28 | 2017-06-06 | Vover IP LLC | Telecommunication and multimedia management method and apparatus |
US9742712B2 (en) | 2007-06-28 | 2017-08-22 | Voxer Ip Llc | Real-time messaging method and apparatus |
US9800528B2 (en) | 2007-06-28 | 2017-10-24 | Voxer Ip Llc | Real-time messaging method and apparatus |
US9338113B2 (en) | 2007-06-28 | 2016-05-10 | Voxer Ip Llc | Real-time messaging method and apparatus |
US20090103475A1 (en) * | 2007-06-28 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8744050B2 (en) | 2007-06-28 | 2014-06-03 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US10142270B2 (en) | 2007-06-28 | 2018-11-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090003536A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090003563A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090003339A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8526456B2 (en) | 2007-06-28 | 2013-09-03 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8532270B2 (en) | 2007-06-28 | 2013-09-10 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090003553A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090003557A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090003547A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8825772B2 (en) | 2007-06-28 | 2014-09-02 | Voxer Ip Llc | System and method for operating a server for real-time communication of time-based media |
US20090003559A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090003545A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8565149B2 (en) | 2007-06-28 | 2013-10-22 | Voxer Ip Llc | Multi-media messaging method, apparatus and applications for conducting real-time and time-shifted communications |
US20090003554A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US10158591B2 (en) | 2007-06-28 | 2018-12-18 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090003544A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090003247A1 (en) * | 2007-06-28 | 2009-01-01 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8107604B2 (en) | 2007-06-28 | 2012-01-31 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8948354B2 (en) | 2007-06-28 | 2015-02-03 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8121270B2 (en) | 2007-06-28 | 2012-02-21 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8121271B2 (en) | 2007-06-28 | 2012-02-21 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8130921B2 (en) | 2007-06-28 | 2012-03-06 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8670531B2 (en) | 2007-06-28 | 2014-03-11 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8762566B2 (en) | 2007-06-28 | 2014-06-24 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8175234B2 (en) | 2007-06-28 | 2012-05-08 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8180030B2 (en) | 2007-06-28 | 2012-05-15 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8180029B2 (en) | 2007-06-28 | 2012-05-15 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US9178916B2 (en) | 2007-06-28 | 2015-11-03 | Voxer Ip Llc | Real-time messaging method and apparatus |
US8243894B2 (en) | 2007-06-28 | 2012-08-14 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8687779B2 (en) | 2007-06-28 | 2014-04-01 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8693647B2 (en) | 2007-06-28 | 2014-04-08 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US9154628B2 (en) | 2007-06-28 | 2015-10-06 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8718244B2 (en) | 2007-06-28 | 2014-05-06 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8705714B2 (en) | 2007-06-28 | 2014-04-22 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8311050B2 (en) | 2007-06-28 | 2012-11-13 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8345836B2 (en) | 2007-06-28 | 2013-01-01 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8752194B2 (en) | 2007-06-29 | 2014-06-10 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
US9038147B2 (en) | 2007-06-29 | 2015-05-19 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
US20090003600A1 (en) * | 2007-06-29 | 2009-01-01 | Widevine Technologies, Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
US8243924B2 (en) | 2007-06-29 | 2012-08-14 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
US10057613B2 (en) | 2007-09-24 | 2018-08-21 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US9041784B2 (en) | 2007-09-24 | 2015-05-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US9324064B2 (en) | 2007-09-24 | 2016-04-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US9990615B2 (en) | 2007-09-24 | 2018-06-05 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US10032149B2 (en) | 2007-09-24 | 2018-07-24 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US20090277226A1 (en) * | 2007-10-16 | 2009-11-12 | Santangelo Salvatore R | Modular melter |
US20090168760A1 (en) * | 2007-10-19 | 2009-07-02 | Rebelvox, Llc | Method and system for real-time synchronization across a distributed services communication network |
US8782274B2 (en) | 2007-10-19 | 2014-07-15 | Voxer Ip Llc | Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network |
US20090103695A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103560A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8559319B2 (en) | 2007-10-19 | 2013-10-15 | Voxer Ip Llc | Method and system for real-time synchronization across a distributed services communication network |
US20090103529A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20090103476A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Graceful degradation for voice communication services over wired and wireless networks |
US8706907B2 (en) | 2007-10-19 | 2014-04-22 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8001261B2 (en) | 2007-10-19 | 2011-08-16 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103523A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8855276B2 (en) | 2007-10-19 | 2014-10-07 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103549A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8145780B2 (en) | 2007-10-19 | 2012-03-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103522A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20100211692A1 (en) * | 2007-10-19 | 2010-08-19 | Rebelvox Llc | Graceful degradation for communication services over wired and wireless networks |
US8090867B2 (en) | 2007-10-19 | 2012-01-03 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103531A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Method and system for real-time synchronization across a distributed services communication network |
US8682336B2 (en) | 2007-10-19 | 2014-03-25 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103527A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8233598B2 (en) | 2007-10-19 | 2012-07-31 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103477A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox Llc | Graceful degradation for voice communication services over wired and wireless networks |
US8422388B2 (en) | 2007-10-19 | 2013-04-16 | Voxer Ip Llc | Graceful degradation for communication services over wired and wireless networks |
US20090104894A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Method and system for real-time synchronization across a distributed services communication network |
US8250181B2 (en) | 2007-10-19 | 2012-08-21 | Voxer Ip Llc | Method and apparatus for near real-time synchronization of voice communications |
US20090103528A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US20100205320A1 (en) * | 2007-10-19 | 2010-08-12 | Rebelvox Llc | Graceful degradation for communication services over wired and wireless networks |
US8111713B2 (en) | 2007-10-19 | 2012-02-07 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103689A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Method and apparatus for near real-time synchronization of voice communications |
US7751361B2 (en) | 2007-10-19 | 2010-07-06 | Rebelvox Llc | Graceful degradation for voice communication services over wired and wireless networks |
US8321581B2 (en) | 2007-10-19 | 2012-11-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8391213B2 (en) | 2007-10-19 | 2013-03-05 | Voxer Ip Llc | Graceful degradation for communication services over wired and wireless networks |
US8391312B2 (en) | 2007-10-19 | 2013-03-05 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US7751362B2 (en) | 2007-10-19 | 2010-07-06 | Rebelvox Llc | Graceful degradation for voice communication services over wired and wireless networks |
US20090103693A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8699383B2 (en) | 2007-10-19 | 2014-04-15 | Voxer Ip Llc | Method and apparatus for real-time synchronization of voice communications |
US8989098B2 (en) | 2007-10-19 | 2015-03-24 | Voxer Ip Llc | Graceful degradation for communication services over wired and wireless networks |
US20090103521A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8699678B2 (en) | 2007-10-19 | 2014-04-15 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090168759A1 (en) * | 2007-10-19 | 2009-07-02 | Rebelvox, Llc | Method and apparatus for near real-time synchronization of voice communications |
US8380874B2 (en) | 2007-10-19 | 2013-02-19 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8099512B2 (en) | 2007-10-19 | 2012-01-17 | Voxer Ip Llc | Method and system for real-time synchronization across a distributed services communication network |
US9021494B2 (en) | 2007-10-20 | 2015-04-28 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
US9009721B2 (en) | 2007-10-20 | 2015-04-14 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
US20090106780A1 (en) * | 2007-10-20 | 2009-04-23 | Nord Joseph | Method and system for communicating between isolation environments |
US9009720B2 (en) | 2007-10-20 | 2015-04-14 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
US8171483B2 (en) | 2007-10-20 | 2012-05-01 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
US10141024B2 (en) | 2007-11-16 | 2018-11-27 | Divx, Llc | Hierarchical and reduced index structures for multimedia files |
US8332887B2 (en) | 2008-01-10 | 2012-12-11 | Touchtunes Music Corporation | System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US9953341B2 (en) | 2008-01-10 | 2018-04-24 | Touchtunes Music Corporation | Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US8739206B2 (en) | 2008-01-10 | 2014-05-27 | Touchtunes Music Corporation | Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US8868464B2 (en) | 2008-02-07 | 2014-10-21 | Google Inc. | Preventing unauthorized modification or skipping of viewing of advertisements within content |
US9054912B2 (en) | 2008-02-08 | 2015-06-09 | Voxer Ip Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US20090327422A1 (en) * | 2008-02-08 | 2009-12-31 | Rebelvox Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US8412845B2 (en) | 2008-02-08 | 2013-04-02 | Voxer Ip Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US8321582B2 (en) | 2008-02-08 | 2012-11-27 | Voxer Ip Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US8509123B2 (en) | 2008-02-08 | 2013-08-13 | Voxer Ip Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US8542804B2 (en) | 2008-02-08 | 2013-09-24 | Voxer Ip Llc | Voice and text mail application for communication devices |
US20090258608A1 (en) * | 2008-04-11 | 2009-10-15 | Rebelvox, Llc | Time-shifting for push to talk voice communication systems |
US8538471B2 (en) | 2008-04-11 | 2013-09-17 | Voxer Ip Llc | Time-shifting for push to talk voice communication systems |
US8401582B2 (en) | 2008-04-11 | 2013-03-19 | Voxer Ip Llc | Time-shifting for push to talk voice communication systems |
US8401583B2 (en) | 2008-04-11 | 2013-03-19 | Voxer Ip Llc | Time-shifting for push to talk voice communication systems |
US20090259776A1 (en) * | 2008-04-11 | 2009-10-15 | Rebelvox, Llc | Time-shifting for push to talk voice communication systems |
US8670792B2 (en) | 2008-04-11 | 2014-03-11 | Voxer Ip Llc | Time-shifting for push to talk voice communication systems |
US10169773B2 (en) | 2008-07-09 | 2019-01-01 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
US20100023871A1 (en) * | 2008-07-25 | 2010-01-28 | Zumobi, Inc. | Methods and Systems Providing an Interactive Social Ticker |
US20100042505A1 (en) * | 2008-08-15 | 2010-02-18 | National Broadcast Media Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US20100069060A1 (en) * | 2008-09-17 | 2010-03-18 | Rebelvox Llc | Apparatus and method for enabling communication when network connectivity is reduced or lost during a conversation and for resuming the conversation when connectivity improves |
US8325662B2 (en) | 2008-09-17 | 2012-12-04 | Voxer Ip Llc | Apparatus and method for enabling communication when network connectivity is reduced or lost during a conversation and for resuming the conversation when connectivity improves |
US20100144320A1 (en) * | 2008-12-05 | 2010-06-10 | Rebelvox, Llc | Mobile communication device and method for reducing exposure to radio frequency energy during transmissions |
US8447287B2 (en) | 2008-12-05 | 2013-05-21 | Voxer Ip Llc | System and method for reducing RF radiation exposure for a user of a mobile communication device by saving transmission containing non time-sensitive media until the user of the mobile communication device is a safe distance away from the user |
US8270950B2 (en) | 2008-12-05 | 2012-09-18 | Voxer Ip Llc | Mobile communication device, method, and system for reducing exposure to radio frequency energy during transmissions by transmitting media in/out while the mobile communication device is safe distance away from user |
US20100144321A1 (en) * | 2008-12-05 | 2010-06-10 | Rebelvox, Llc | Mobile communication device and method for reducing exposure to radio frequency energy during transmissions |
US20100312844A1 (en) * | 2009-01-30 | 2010-12-09 | Rebelvox Llc | Email communication system and method for supporting real-time communication of time-based media |
US8849927B2 (en) | 2009-01-30 | 2014-09-30 | Voxer Ip Llc | Method for implementing real-time voice messaging on a server node |
US8645477B2 (en) | 2009-01-30 | 2014-02-04 | Voxer Ip Llc | Progressive messaging apparatus and method capable of supporting near real-time communication |
US20100198922A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication |
US20100198925A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Email client capable of supporting near real-time communication |
US20100199133A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication |
US8832299B2 (en) | 2009-01-30 | 2014-09-09 | Voxer Ip Llc | Using the addressing, protocols and the infrastructure of email to support real-time communication |
US8688789B2 (en) | 2009-01-30 | 2014-04-01 | Voxer Ip Llc | Progressive messaging apparatus and method capable of supporting near real-time communication |
US20100198988A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication |
US9774906B2 (en) | 2009-03-18 | 2017-09-26 | Touchtunes Music Corporation | Entertainment server and associated social networking services |
US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US9076155B2 (en) | 2009-03-18 | 2015-07-07 | Touchtunes Music Corporation | Jukebox with connection to external social networking services and associated systems and methods |
US9959012B2 (en) | 2009-03-18 | 2018-05-01 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US8326943B2 (en) | 2009-05-02 | 2012-12-04 | Citrix Systems, Inc. | Methods and systems for launching applications into existing isolation environments |
US8925034B1 (en) | 2009-06-30 | 2014-12-30 | Symantec Corporation | Data protection requirements specification and migration |
US8387047B1 (en) | 2009-08-03 | 2013-02-26 | Symantec Corporation | Method of virtualizing file extensions in a computer system by determining an association between applications in virtual environment and a file extension |
US20110029968A1 (en) * | 2009-08-03 | 2011-02-03 | James Sanders | Streaming An Application Install Package Into A Virtual Environment |
US8352937B2 (en) | 2009-08-03 | 2013-01-08 | Symantec Corporation | Streaming an application install package into a virtual environment |
US8533611B2 (en) | 2009-08-10 | 2013-09-10 | Voxer Ip Llc | Browser enabled communication device for conducting conversations in either a real-time mode, a time-shifted mode, and with the ability to seamlessly shift the conversation between the two modes |
US20110035687A1 (en) * | 2009-08-10 | 2011-02-10 | Rebelvox, Llc | Browser enabled communication device for conducting conversations in either a real-time mode, a time-shifted mode, and with the ability to seamlessly shift the conversation between the two modes |
US8090744B1 (en) | 2009-08-26 | 2012-01-03 | Symantec Operating Corporation | Method and apparatus for determining compatibility between a virtualized application and a base environment |
US8473444B1 (en) | 2009-08-28 | 2013-06-25 | Symantec Corporation | Management of actions in multiple virtual and non-virtual environments |
US8825582B2 (en) | 2009-08-28 | 2014-09-02 | Symantec Corporation | Rule-based virtualization |
US8438555B1 (en) | 2009-08-31 | 2013-05-07 | Symantec Corporation | Method of using an encapsulated data signature for virtualization layer activation |
US8458310B1 (en) | 2009-09-14 | 2013-06-04 | Symantec Corporation | Low bandwidth streaming of application upgrades |
US8566297B1 (en) | 2010-01-14 | 2013-10-22 | Symantec Corporation | Method to spoof data formats from image backups |
US9521375B2 (en) | 2010-01-26 | 2016-12-13 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US8290912B1 (en) | 2010-01-29 | 2012-10-16 | Symantec Corporation | Endpoint virtualization aware backup |
US9361130B2 (en) | 2010-05-03 | 2016-06-07 | Apple Inc. | Systems, methods, and computer program products providing an integrated user interface for reading content |
US8495625B1 (en) | 2010-07-27 | 2013-07-23 | Symantec Corporation | Method and system for creation of streamed files on-demand |
US9025659B2 (en) | 2011-01-05 | 2015-05-05 | Sonic Ip, Inc. | Systems and methods for encoding media including subtitles for adaptive bitrate streaming |
US9883204B2 (en) | 2011-01-05 | 2018-01-30 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
US9621522B2 (en) | 2011-09-01 | 2017-04-11 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US9326012B1 (en) | 2011-12-12 | 2016-04-26 | Google Inc. | Dynamically changing stream quality when user is unlikely to notice to conserve resources |
US9311459B2 (en) | 2011-12-12 | 2016-04-12 | Google Inc. | Application-driven playback of offline encrypted content with unaware DRM module |
US8751800B1 (en) | 2011-12-12 | 2014-06-10 | Google Inc. | DRM provider interoperability |
US8984285B1 (en) | 2011-12-12 | 2015-03-17 | Google Inc. | Use of generic (browser) encryption API to do key exchange (for media files and player) |
US9875363B2 (en) | 2011-12-12 | 2018-01-23 | Google Llc | Use of generic (browser) encryption API to do key exchange (for media files and player) |
US9239912B1 (en) | 2011-12-12 | 2016-01-19 | Google Inc. | Method, manufacture, and apparatus for content protection using authentication data |
US9110902B1 (en) | 2011-12-12 | 2015-08-18 | Google Inc. | Application-driven playback of offline encrypted content with unaware DRM module |
US9003558B1 (en) | 2011-12-12 | 2015-04-07 | Google Inc. | Allowing degraded play of protected content using scalable codecs when key/license is not obtained |
US9129092B1 (en) | 2011-12-12 | 2015-09-08 | Google Inc. | Detecting supported digital rights management configurations on a client device |
US9785759B1 (en) | 2011-12-12 | 2017-10-10 | Google Inc. | Method, manufacture, and apparatus for configuring multiple content protection systems |
US10102648B1 (en) | 2011-12-12 | 2018-10-16 | Google Llc | Browser/web apps access to secure surface |
US9542368B1 (en) | 2011-12-12 | 2017-01-10 | Google Inc. | Method, manufacture, and apparatus for instantiating plugin from within browser |
US9686234B1 (en) | 2011-12-12 | 2017-06-20 | Google Inc. | Dynamically changing stream quality of protected content based on a determined change in a platform trust |
US8891765B1 (en) | 2011-12-12 | 2014-11-18 | Google Inc. | Method, manufacture, and apparatus for content decryption module |
US9183405B1 (en) | 2011-12-12 | 2015-11-10 | Google Inc. | Method, manufacture, and apparatus for content protection for HTML media elements |
US9697185B1 (en) | 2011-12-12 | 2017-07-04 | Google Inc. | Method, manufacture, and apparatus for protection of media objects from the web application environment |
US9697363B1 (en) | 2011-12-12 | 2017-07-04 | Google Inc. | Reducing time to first encrypted frame in a content stream |
US9223988B1 (en) | 2011-12-12 | 2015-12-29 | Google Inc. | Extending browser functionality with dynamic on-the-fly downloading of untrusted browser components |
US20140047135A1 (en) * | 2012-08-09 | 2014-02-13 | Allan VOSS | Systems and methods for enhancing multimedia experience |
US9131023B2 (en) * | 2012-08-09 | 2015-09-08 | Allan VOSS | Systems and methods for enhancing multimedia experience |
US9880776B1 (en) | 2013-02-22 | 2018-01-30 | Veritas Technologies Llc | Content-driven data protection method for multiple storage devices |
US9712890B2 (en) | 2013-05-30 | 2017-07-18 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US9921717B2 (en) | 2013-11-07 | 2018-03-20 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US9923985B2 (en) | 2015-09-17 | 2018-03-20 | International Business Machines Corporation | Facilitating an efficient exchange of streaming data constructs between origin and target systems while making remote procedure calls |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
Also Published As
Publication number | Publication date |
---|---|
CA2084575C (en) | 1996-12-03 |
JP2521016B2 (en) | 1996-07-31 |
CA2084575A1 (en) | 1993-07-01 |
EP0550196A3 (en) | 1994-01-19 |
JPH05265781A (en) | 1993-10-15 |
EP0550196A2 (en) | 1993-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5016162A (en) | Contention revolution in a digital computer system | |
US7196710B1 (en) | Method and apparatus for buffering graphics data in a graphics system | |
US6006020A (en) | Video peripheral circuitry exercising bus master control over a bus of a host computer | |
US6405255B1 (en) | Mixing and splitting multiple independent audio data streams in kernel space | |
US5632032A (en) | Cross address space thread control in a multithreaded environment | |
US6272499B1 (en) | Linked lists of transfer descriptors scheduled at intervals | |
US6370606B1 (en) | System and method for simulating hardware interrupts in a multiprocessor computer system | |
US20040267940A1 (en) | Media plug-in registration and dynamic loading | |
US6948172B1 (en) | Preemptive multi-tasking with cooperative groups of tasks | |
US20050086237A1 (en) | Shared queues in shared object space | |
US5655083A (en) | Programmable rset system and method for computer network | |
US20050204289A1 (en) | Media processing methods, systems and application program interfaces | |
US5664095A (en) | Dynamic scaling of CPU cycle consumption in a computer system | |
US20060184931A1 (en) | System Including Run-Time Software To Enable A Software Application To Execute On An Incompatible Computer Platform | |
US5852472A (en) | Method and apparatus for connecting video sources and video sinks | |
US7788665B2 (en) | Migrating a virtual machine that owns a resource such as a hardware device | |
US6332180B1 (en) | Method and apparatus for communication in a multi-processor computer system | |
US5392396A (en) | Method and apparatus for gradually degrading video data | |
US5877764A (en) | Graphical user interface for managing text i/o between a user and a parallel program | |
US6701460B1 (en) | Method and apparatus for testing a computer system through software fault injection | |
US20070288941A1 (en) | Sharing kernel services among kernels | |
Schmidt et al. | Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects | |
US20030236816A1 (en) | Spin-yielding in multi-threaded systems | |
US6249803B1 (en) | Method and apparatus for executing code during method invocation | |
US4369494A (en) | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: LENOVO (SINGAPORE) PTE LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:016891/0507 Effective date: 20050520 Owner name: LENOVO (SINGAPORE) PTE LTD.,SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:016891/0507 Effective date: 20050520 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
FP | Expired due to failure to pay maintenance fee |
Effective date: 20080123 |