Media processor for organising multimedia data
FIELD: information technology.
SUBSTANCE: method involves determining the location of one or more multimedia components, outputs of which are connected to the input of a receiver; scanning multimedia components for sampling availability by checking inputs of multimedia components, if sampling is unavailable; if sampling is unavailable at inputs, checking the media source providing the multimedia components for sampling; if sampling is unavailable at the media source, executing a file ending function or declaring an error status; if sampling is available, transmitting the sampling to the next multimedia component from the multimedia components.
EFFECT: broader functional capabilities.
3 cl, 6 dwg
The technical field
This invention relates generally to computing and, in particular, to the processing of multimedia data in the computing environment.
Background of the invention
As computers spread on entertainment genres that require a separate electronic components, it is desirable to improve the efficiency and user-friendliness. One solution is DirectShow® from Microsoft®, which provides playback of multimedia streams from local files or Internet servers, capture media streams from devices and conversion of formats of multimedia streams. DirectShow® allows you to play video and audio content of such file types such as Windows Media Audio, Windows Media Video, MPEG, QuickTime® from Apple®, Audio-Video Interleaved (AVI), and WAV. DirectShow® includes a system plug-in filter components. Filters are objects that support interfaces DirectShow® and can perform against the data streams read, copy, modify, and write data to a file. The main types of filters include a source filter, which receives data from a source, such as a file on disk, satellite antenna, Internet server or VCR, and introduce them to the graph of filters, which is a combination of filters. Graph Phil the TRS provides transformative filter, which converts the data format, the synchronization filter and a source that receives the data and transmits the data, and the conversion filter (visualization), which converts the data, for example, for display on a display device. Data also can be converted to any device that accepts media. Other types of filters that are included with DirectShow®, include filters, effects that add effects without changing the data type, and filters parsers that understand the format of the source data and know how to read the correct bytes to create timestamps and search.
Therefore, all data passes from the filter to the filter together with a significant amount of control information. When the filters are connected with the use of taps, created a graph (diagram) filters. To control data flow and connections in the column filters DirectShow® contains the administrator graph filters. Administrator graph filters helps ensure the correct join order filters, but the data and most of the control signals do not pass through the administrator of the graph filters. Filters must be connected properly. For example, the administrator of the graph filters should seek the configuration of the visualization, to determine the available types of filters to associate filters in a proper manner DL is this type of data and to provide the appropriate filter rendering.
Although the filters allow a large amount of reuse programs, the use of filters also creates some unexpected problems. One of the problems created by the filters, is the emergence of a large number of APIs (application programming interface) for filters. Essentially, each filter has a separate API. Therefore, this filter must be able to interact with the API for each filter, to which it may be attached. In addition, the use of filters creates the problem of how to disable this filter. When the filter graph is disconnected, any filter that communicates with a disabled filter requires another related interface. In General, programming the filter to gracefully handle the loss of the interface, it is difficult, because the state of the filter at the time of the loss of the interface may be unknown. Therefore, the loss of interfaces usually leads to unpredictable behavior of the filters and, finally, to disruption of the programs. In addition, General management in DirectShow® distributed between the two blocks. The interface between filters controls the flow of data, and the administrator of the filter controls the establishment and removal of filters. This kind of distribution management makes configuration software cumbersome due to the inevitable nalitch is I some management functions, crossing the border between the blocks. Another problem with DirectShow®, is that the filters take responsibility for the coordination of media formats and control functions are buffered. To perform this task, the filters associated with other filters. Dependence on filters leads to building applications based on DirectShow prone to errors and inefficiencies, which can be programmed in the filter. Thus, poorly written filter can easily lead to incorrect operation count filters and application associated with the count filters.
It is necessary to solve the problems associated with the architecture of DirectShow®. In particular, it is necessary to improve management of multimedia data and decide based on filters for communication between media components.
Accordingly, systems and methods for processing multimedia data share management functions and form data processing functions, thereby ensuring efficient processing of multimedia streams. The method involves creating a topology of connections between one or more media components in the element generating the topology, and the topology describes the group of input media streams, one or more of the LCO input media streams, the sequence of operations performed on the media data, and a group of output multimedia streams. The method further provides for the transfer of topology to the media processor and the data transfer according to the topology, and transmission controls a media processor. Work element generating the topology, which can represent the topology loader or the application is outside the scope of control of the media processor. A media processor controls the execution sequence of multimedia operations on multimedia data to create groups of output multimedia streams. According to one variant of implementation, the multimedia components are software objects.
Another option exercise provides a way to change the first topology used by the media processor, when a media processor is active. According to the method of a media processor saves the current state of the media processor receives a command for converting a first topology to a second topology and updates the first topology to a second topology in accordance with the commands. Commands can contain the difference between the first topology and the second topology. After you upgrade the first topology to a second topology media processor resumes the interface after you upgrade the first topo is Ogii to the second topology, sends the message to the application. To change the topology of the media processor can be configured to allow calls messages. Commands to convert the first topology can be taken by a message from an external source to initiate the process of changing the first topology.
Another variant of implementation relates to a method for determining the order of the group use multimedia components to run a series of multimedia operations on one or more streams of multimedia data. The method is recursive, i.e. the use of multimedia components is determined by querying the previous components for data sampling. The method involves positioning one or more multimedia components whose outputs are connected to the input of the receiving device, a survey of multimedia components to determine the availability of sampling, and the survey may include verification of inputs multimedia components, in case of unavailability of the sample. In the absence of selection inputs, check the media source, outstanding multimedia components, on the subject of sampling. In case of unavailability of the sample on the media source, the method involves performing the function of a complete file or Declaration error state When the distance sampling method involves moving the sample on the following media component of the multimedia components.
Another variant of implementation relates to a method for extracting a portion of the media stream, the so-called "thinning". The method involves the fragment cache buffer parameters. The cached fragment of the media stream may include the point of view of the media stream. Then the method involves receiving a request from an external source to a media processor to retrieve a cached portion of the media stream and the search to find out cached whether the fragment buffer parameters. If a fragment of the cached media stream, the method provides for the transfer of the requested cached fragment. Caching can be performed according to the user settings in the application, which may include the selection or rejection of caching, the number of frames and the number of samples that must be contained in the cached fragment. According to one variant of implementation of the cached fragment is a continuous video data.
Brief description of drawings
Although in the accompanying claims detailed features of the present invention, the invention, together with its objectives and advantages, may best be understood from the following detailed descriptions in conjunction with the accompanying drawings, in which:
figure 1 is a generalized block diagram of an illustrative distributed calc the tion system, in which you can implement the present invention;
figure 2 - block diagram of the system organization of the media according to the options of implementing the present invention;
figure 3 - block diagram of the algorithm for the example data in megamachine required for DVD playback, according to the modalities for the implementation of the present invention;
4 is a block diagram of the implementation of the data in the media processor according to the options of implementing the present invention;
5 is a block diagram of the algorithm of dynamic topology changes in the media processor according to the options of implementing the present invention;
6 is a block diagram of an algorithm illustrating the thinning process according to the options of implementing the present invention.
Detailed description of the invention
Figure 1 shows an illustrative computing device 100 that can implement the invention. Computing device 100 is merely an example of a suitable computing device and is not intended to limit the scope of use or functionality of the invention. For example, an illustrative computing device 100 is not equivalent to any of the computing devices 10-17, shown in figure 1. Illustrative computing device 100 may implement one or more of computing the devices 10-17, for example, by segmenting memory, virtual machines, or similar programming techniques, allowing physical computing structure to carry out the following actions attributed to multiple structures.
The invention can be described in the General context of computer-executable commands, such as program modules, executed by the computer. Generally, program modules include procedures, programs, objects, components, data structures, etc. that perform particular tasks or implement certain abstract data types. In distributed computing environments where tasks can be executed by remote processing devices linked through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media.
The components of computing device 100 typically includes, but not limited to, a processor 120, system memory 130, and a system bus 121 that connects various system components including the system memory 130, the processor 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus and a local bus using a variety of tire architect is R. By way of example, but not limitation, such architectures include the bus industry standard architecture (ISA)bus, a microchannel architecture (MCA)bus, enhanced ISA (EISA), local bus Association standards in the field of video electronics (VESA) and the bus connection of peripheral components (PCI), also called the expansion bus.
Computing device 100 typically includes a variety of machine-readable media. Machine-readable media can be any available media that may access the computing device 100 and includes both volatile and nonvolatile media, removable and fixed media. By way of example, but not limitation, machine-readable medium may be a computer storage device or medium of communication. Computer storage media include volatile and nonvolatile, removable and fixed media implemented in any method or technology for storage of information such as machine-readable commands, data structures, program modules or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (VD) or other optical disk storage media, magnetic cassettes, magnetic tape, magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to store useful information and which can be accessed by computing device 100. Environment data exchange typically embody computer-readable commands, data structures, program modules or other data in a modulated data signal such as a carrier signal, or other transport mechanism. Environment data exchange also include any medium of information delivery. The term "modulated data signal" means a signal, one or more characteristics which is modified so as to encode information in the signal. By way of example, but not limitation, the medium of communication contain a wired medium, such as a wired network or direct-wired connection, and wireless environments, such as acoustic, RF, infrared and other wireless environments. Among the machine-readable media also comprises a combination of any of the above positions.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as persistent memory (ROM) 131 and random access memory (RAM) 132. The system basic input/output system (BIOS) 133 containing the OS is ESD procedures that help to transfer information between elements of the computer 110, such as during startup, is stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to the processor 120 and/or the currently processed. By way of example, but not limitation, figure 1 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.
Computing device 100 may also include other removable/fixed, volatile/nonvolatile computer storage media. By way of example, figure 1 shows a hard disk drive 141 that reads from a fixed non-volatile magnetic media and write on it, the drive magnetic disk 151 that reads from a removable nonvolatile magnetic disk 152, and write on it, and drive 155 optical drive that reads from a removable nonvolatile optical disk 156 such as a CD-ROM or other optical media, and write on it. Other removable/fixed, volatile/nonvolatile computer storage media that can be used in an illustrative computing environment include, but are not limited to, tapes, magnetic tape, flash memory cards, digital versatile disks, into for digital video, semiconductor RAM, solid state ROM, etc. the Hard disk drive 141 is typically connected to the system bus 121 via an interface fixed memory, such as interface 140, and the actuator 151 a magnetic disk and an actuator 155 of the optical disk drive is typically connected to the system bus 121 via an interface, a removable memory, such as interface 150.
The drives and associated computer storage media discussed above and shown in figure 1, provide storage of computer-readable commands, data structures, program modules and other data for the computing device 100. For example, figure 1 shows that the hard disk drive 141 is stored the operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components may be identical to the operating system 134, application programs 135, other program modules 136 and program data 137 or different from them. Operating system 144, application programs 145, other program modules 146, and program data 147 are different positions to show that they, at least, are different copies. The user can enter commands and information into the computing device 100 through input devices, such as a keyboard 162 and pointing device 161, " which are the mouse, W is the world of the pointing device or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, etc. These and other input devices are often connected to the processor 120 via the interface 160 user input, which is connected to the system bus, but may be connected by other interface structures and bus, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or the display device of another type can also be connected to the system bus 121 via an interface, such as a video interface 190. In addition to the monitor, computers may include other peripheral output devices such as speakers 197 and printer 196, which may be connected through the interface 195 peripheral output devices.
Computing device 100 operates in a network environment, for example, shown in figure 1, using logical connections to one or more remote computers. Figure 1 shows the General network connection 171 to the remote computing device 180. General network connection 171 may be any of various types of network connections, including local area network (LAN), wide area network (WAN), network, consistent with the Ethernet Protocol, Protocol, Token-Ring, or other logical or physical network such as the Internet or the world wide web.
When implemented in a network environment computing device 100 is connected to the General network connection 171 through a network interface or adapter 170, which may be a network interface card, modem, or similar network device. In a networked environment, program modules specified in relation to the computing device 100, or part of them can be stored in a remote storage device. Specialists in this field it is obvious that illustrated network connections are of an illustrative character and that you can use other means of establishing lines of communication between computers.
In the following description, the invention will be described with reference to acts and symbolic representations of operations that are performed by one or more computing devices, unless otherwise specified. It should be understood that such acts and operations, which are sometimes referred to as performed by the computer include the manipulation executed by the processor of the computing device over the electrical signals representing data in a structured form. These manipulations are reduced to the conversion of data or keep them in the cells of the system memory of a computing device, resulting in a reconfiguration or other modification of the computing condition the device so as is well known to specialists in this field. Data structures that support data are in physical memory locations that have particular properties defined by the data format. However, although the invention is described in the above context, this does not mean, and this is obvious to experts in this field that some of the following operations can also be performed by the hardware.
Figure 2 shows a block diagram of a system 200 (transmission medium). Level 201 kernel contains the media source 210, a converters 208 and mediaprint 230. It is shown that the system 200 of the organization of the transmission medium connected to the application 202 for receiving and transmitting media streams. Level 201 includes megamachine 260, the media session 240, a media processor 220 and the loader 250 topology. Organization environment 200 provides for the transfer of data from the media source 210 in the media session 240, and then in a media processor 220. From the media processor 220, the data comes in converters 208 and back to a media processor 220 one or more times. Then, the data comes from the media processor 220 in the media session 240, and then the receivers 212 flows. Megamachine 260 provides the management application interface 202 and provides overall management 201 management and the loader 250 topology Gar is ntinue the occurrence of the events prescribed in the topology. The system 200 environment provides interfaces and wiring diagram of streaming media objects.
The kernel includes a component media source 210 and the component 320 mediapresence. Also included are the sources 214 threads that operate under the control of the media source 210 and receiver 212 of threads that are under the control of mediaprint 230. Sources 214 flows transmit multimedia data from the storage devices or capture at level 201 management and receivers 212 flows transmit multimedia data from megamachine 260 on the visualization device or storage (not shown). Component media source 230 implements state machines that control the sources 214 flows. Component 230 mediapresence implements state machines that control receivers 212 flows. In each case, the processing conditions and data separate.
The media source 210, mediaprint 230 and converters 208, together with the sources 214 flows and receivers 212 flows include objects that form part of the level 211 engine. These components are software objects that implement a specific function. The media source 210 and the source 214 streams provide either capture or retrieval of multimedia data and feeds these data in a media session 240. Data sources include, but are not limited to, a disk, such as hard disk, CD or DVD, Internet, random access memory (RAM), memory, video cameras, scanners, cameras and microphones. Mediaprint 230 includes objects that manage the transmission of data receivers 212 flows. Receivers 212 flows consist of objects that accept data from level 201 management for storage or visualization. The data receivers include, but are not limited to, a disk, such as hard disk, recordable CD or DVD recordable media, broadcasting in a computer network, such as Internet access, printers, display devices such as monitors and speakers. The data media source 210 and mediaprint 230 may be implemented in many environments, including, but not limited to, Ethernet, wireless networks, analog cables to digitize, USB, IEEE 1384, parallel port, serial port and disk interfaces.
Converters 208 include objects, manipulating data. These converters may include encoders, decoders, splitters, multiplexers, the processing units of the audio signal, such as regulators low and high frequencies to add effects such as reverb, blocks of video processing, such as mask color settings, regulators sharpness, contrast or brightness is I. Encoders and decoders handle audio, video and image data. Types of video data may include MPEG, Apple Quicktime®, AVI and n and Windows Media Video (WMV). Note that many video standards are a true multimedia standards in the sense that these standards provide for the transmission of both audio and video. The data formats of the images include JPEG, GIF, Fax and TIFF. The audio standards can include MP3, PCM, ADPCM, as well as the standards for CD playback and Windows Media Audio (WMA). Converters 208 can be used to convert data from one format to another. For example, the Converter 208 may convert the JPEG image into a format suitable for display on the monitor.
Figure 3 shows the block diagram of the sequence of operations of a typical multimedia processing. Suppose the user wants to watch a DVD. The application is launched, allowing the user to watch the DVD. The application has a graphical user interface (GUI)that allows the user to perform functions such as playback, stop, pause, fast forward and rewind. At step 302, the user selects the "play"button, and the app sends a message to component megamachine in media (transmission medium). The message contains information that the application wants), the DVD. At step 304 megamachine sends to the media session and the topology loader messages requiring these units to start DVD playback. At step 306, the topology loader sets the topology. The topology provides a way data flows through the media sources and flows, converters and receivers of media and streams. At step 308, the topology loader sends the topology to the media processor. A media processor establishes and implements the topology. At step 310, the media processor sends messages to kernel-mode components to implement the objects, caused by the topology loader. In addition to the call object kernel in the correct order and transfer of data between objects, the data transmission rate is adjusted in order to synchronize audio and video playback at the desired speed. The data rate may be determined in the media session. At step 312, the media session queries each object to determine that the desired speed can be maintained, and transmits the message to a media processor in conjunction with the information speed. At step 314, the media processor determines the clock speed of the object determine the speed at the kernel level, usually mediaprint, and sets this clock frequency. At step 316 a media processor causes the kernel level and transmits data between objects according to the requirements of the m topology. Finally, media receivers reproduce data on the speakers and the monitor.
A media processor is an object that carries out the transfer (flow) data, described by the topology. A media processor is initialized by the topology describing the flow of data, and presents itself to the user interface of the media source. The configured media processor actually looks to the user as the media source. A media processor displays the number of media streams in accordance with the topology. For each output node in the topology, there is one media stream.
Figure 4 shows the topology. The data flow initiated by the user, requires extraction of the sample for one of the media streams of the media processor. Consider the upper path in figure 4. The data flow begins with the output object in the topology (object receiver 412) and goes recursively through the list of objects that generate data. The process on the upper path of figure 4 starts with an object 412 receiver. The only output node connected to the input 416 is output 418 connected to the object 408 conversion. If sampling at the facility 408 converting a media processor 220 reads the sample and records the sample object 412 receiver. If the object 408 conversion is not available samples, media processor 220 PR is verae input object 408 conversion, indicated by the position 420, which is connected to the output 422 of the object 404 conversion. Then the object 404 conversion is polled for sampling. If a sample is available, a media processor 220 reads the sample and records it in the object 408 conversion. If a sample is not available, a media processor 220 again moves from one node to the left and queries the object 403 the media stream on the subject of availability sampling. Loading the object 403 the media stream via the object 402 source. With the availability of samples on the object 403 the media stream, the sample is extracted from the object 403 the media stream in the object 404 conversion. If the sample is not found, the media processor requests this object 403 the media stream to read the source. Whenever finding a reliable sample and transfer it into the next block, the process resumes. The process ends with the manipulation of objects, once the data is detected. The object 404 conversion operates the data and transmits the converted data object 408 conversion to operate on the data, which are then fed to the object receiver 412 to complete the process of generating a sample output. In one embodiment, media processor supports the objects of the list with the input data for other objects. Using this list, a media processor can view the output about the project and to determine from what object the media processor to extract media.
In one embodiment, the list of monitored node type that supports objects and other information about the objects. Objects of different types in different ways generate data on request the media processor. The conversion nodes contain objects transformations that have a set of calls used to feed the output mediafabric and generating output mediavision. T-joint (T-shaped) nodes transmit the media processor instructions to copy the selection as needed. Before starting refer to the branch nodes, it is necessary to describe them. The source nodes have the media stream, which provides an asynchronous call, by which a media processor requests a thread on the subject of data, after which the stream provides the data if any.
Options for implementation include the data stream using the media processor 220. According to a variant implementation of the flow (transfer) of data is asynchronous. This means that the user makes a call, to generate the data for this media stream, after which a media processor 220 generates data and notify the user when data is available. In one embodiment, components that are referenced by the topology, not call each other. Instead, all communication about the responsible media processor 220. The centralized way communication ensures the integrity of data flow and increased interoperability between components.
In one embodiment, media processor 220 controls every aspect of the data stream. For example, in one embodiment, media processor 220 does not manage medialibrary.
With respect to overall architecture media (environment), a media processor is typically used in the context of megamachine. Megamachine 260 is a component that is directly used by the application 202 using architecture media, shown in figure 2. The application 202 may be configured megamachine 260, setting the data source (usually a file name, a URL, or device, or a complex configuration that defines a few simple sources) and the destination data (for example, the output media file or a visualization device, such as a video card). Then during megamachine 260 is operated by commands such as "start", "stop", etc. So megamachine 260 uses to implement these functions, the other components of the organization's media sphere is the main object that the application 202 uses to perform multimedia operations. A media processor 220 can operate under the direct control of the session processing the TCI media and used in conjunction with the loader 250 topology. The session processing media - this is the object that megamachine 260 uses to operate the media source 210, a media processor 220, a media receivers 230 and the loader 250 topology.
In one embodiment, media processor 220 supports ground objects and the objects transformation with more than one entrance or exit. For example, the transition is typically implemented in the form of the transform, and the transform will have two inputs and one output.
In the case when a node has more than one entrance, media processor 220 performs the following way: when trying to generate input data to transform the media processor 220 selects only one of the inputs based on the timestamp of the previous mediafabric and generates the data for this entry. Whenever a media processor 220 delivers the input sample into the transform, media processor 220 attempts to generate output data for the Converter. If the Converter does not generate any data, media processor 220 delivers the input sample into the transform, possibly the same input, which has already been used.
In the case when the node has more than one output, the media processor 220 need more information about the outputs. The topology loader will specify the properties of the output, which can be either primary (main), or cancel.
An important feature of multimedia systems is the ability to change the properties of a multimedia session in progress. For example, the playback application can switch playback from windowed mode to full-screen mode. Or the application coding can switch the encoding from one camera to another camera. An open system organization media sphere manipulate these features by changing the topology.
However, according to a variant implementation of a media processor 220 is never itself does not change the topology; topology changes are always made by another component and then transmitted to the media processor. If a media processor 220 operates under the control of the media session 240, the media session 240 is responsible for the use of the topology loader to create a complete topologies for the media processor 220 and the subsequent transfer of these full topologies of the media processor. However, in a var the ante exercise any direct user of the media processor may also execute topology changes in relation to the media processor.
In one embodiment, topology changes can be static or dynamic. Static topology change occurs when a media processor 220 does not process the data and presents a complete replacement of the old topology to a new topology. Dynamic change of topology occurs when a media processor works and also can change only the part of the topology, leaving other parts of the topology intact.
There are several mechanisms for generating dynamic topology changes. The first consists in generating a media source. In this case one of the media, internal to the media processor 220 detects a change in its format, change the media stream, the end of the media stream or the creation of a new media stream. The media source informs a media processor 220 about the change; a media processor 220 sends this notification to the user to handle and stops processing data. The user is responsible for creating a new topology and sends it to a media processor. The second consists in generating the topology. In this case, the topology itself contains information that will change at some point; or one or more objects topology has a shelf life (expiry date)specified as properties. When a media processor 220 detects the t expires, he shall notify the user and stop processing data. The last type consists in generating a user. In this case, the user simply defines a new topology on the media processor 220, when a media processor 220 operates. In all cases, media processor 220 is equally reacts to topology changes.
Figure 5 shows the block diagram of the sequence of operation of the dynamic topology changes. At step 502 a media processor receives the request for a change in the topology. At step 504, the media processor 220 first makes any notification to the user that requested, for example, changing the formats of the media source. At step 506, the media processing unit 220 stops processing and maintains its state so that it can resume processing on any of the nodes that remain in the new topology. A media processor 220 also moves in such a condition that any attempt by a user to continue working will just wait until the topology changes. At step 508, the media processor 220 receives the new topology. New topology may come from the topology loader or application. At step 510, the media processing unit 220 updates its internal topology to reflect the new topology. At step 512 media processor 220 informs the application that the new topology, and resumes processing.
IU is uprocessor 220 capable of supporting at arbitrary speeds. The media source interface is the interface extraction; that is, the user can retrieve the sample as quickly as possible. For this reason, media processor 220 automatically supports arbitrary speed. However, in many cases, the media or the converters also have optimization or improved behavior when they know the speed. Thus, when the user explicitly instructs the media processor 220 to operate at this speed, media processor 220 queries any media and converters in the topology, to determine their capacity for speed. If this speed is supported by all media and converters, media processor 220 sets the speed of all objects of a media source and object conversion so that the media and transforms could make the appropriate changes in their behavior. The launch of the multimedia stream in the reverse direction is a special case of speed changes.
Thinning is defined as the ability to quickly search in the multimedia representation and retrieval of a small number of mediavision in this position. Due to the complexity of decoding multimedia data decimation harder than searching a multimedia presentation and just takes too much time. This is especially with reventive for compressed video data, which often have a large time delay between independently decoded key frames.
To optimize the thinning of the media processor 220 has logic to cache a certain amount of pre-decoded samples, usually near the current position of the view that the search for one of these pre-decoded samples allowed the media processor 220 in a timely manner to generate the desired sample. This caching behavior is configured by the application to provide a compromise between memory usage and good performance thinning.
Figure 6 shows the block diagram of the process flow used to optimize thinning. Step 602 provides that a media processor 220 applies a logical means to each sample, generated on the site in respect of cached samples. Step 604 decision provides that, in deciding whether to cache the data sample, a media processor first determines whether the data is cached in the sample. If Yes, then step 606 involves no action. If not, then step 608 provides that a media processor 220 determines the caching settings set by the user. Cache settings may include the identification of sites for which it is desirable caching, frequency Kashir the tion, the maximum amount of memory used for caching, etc. Step 610 involves the application settings, cache sample or not, and caching as needed.
Step 612 provides that a media processor 220 receives search data issued by the application 202. Search data can represent, for example, request the next data frame to provide frame-by-frame advancement of the video stream. Receiving a search, media processor 220 for each node checks at step 614 deciding whether the requested data in the cache memory. If Yes, then step 616 includes sending data back to the application 202 instead of re-generating the sample data. If no, then step 618 provides for the use of the associated inverter, source or other appropriate component for generating sampling data.
Some videodecoder support mode in which the pre-decoded samples can be used to initialize the state of the decoder. In this case, you can cache only a part of the pre-decoded samples and, nevertheless, to maintain good performance thinning. For example, if cached every four pre-decoded sample, and a user searches for one of the samples is not present is in the cache memory, then to generate the desired output sampling need to decode a maximum of three samples.
Since the principles of the present invention can be applied in many variants of implementation, it should be understood that an implementation option, described here with reference to the figures in the drawings is only illustrative and not intended to limit the scope of the invention. For example, professionals in this field can understand that the elements illustrated variant implementation, shown in the form of software, you can implement the hardware and Vice versa or that the illustrated version of the implementation can be modified in the configuration and details, not departing from the essence of the invention. Therefore, this invention covers all embodiments of which correspond to the volume of the following claims and its equivalents.
1. The way to run a series of multimedia operations on one or more streams of media data in the media processor, comprising stages, which
determine the location of one or more multimedia components whose outputs are connected to the input of the receiver,
poll multimedia components for availability sampling, and the survey validates the inputs of the player is inih components, if a sample is not available,
in the absence of available selections on the inputs check the media source, outstanding multimedia components, on the subject of sampling
in the absence of available selections on the media source function complete file or declare a state of error,
in case of availability of sample transfer sample to the next multimedia component of the multimedia components.
2. Machine-readable media on which are stored commands to perform operations on the media data in the media processor, and include
positioning one or more multimedia components that directly shape the media sample to the receiver,
a survey of multimedia components for availability sampling, and the survey includes checking of input object, if a sample is not available,
in case of unavailability of the sample at the inputs of the check source, the feed media components for sampling
in case of unavailability of the sample at the source, the function execution file is finished or ad status error
in case of availability of sample transfer sample to the second object.
3. Machine-readable media according to claim 2, characterized in that the multimedia components specified in topo is Ogii.
FIELD: information technology.
SUBSTANCE: method includes the following steps: a first client sends to a relay server and a P2P sever a request to set up a first connection; a second client sends to the relay server and the P2P server a request to set up a second connection; after successful setup of the first relay connection between the first client and the relay sever and the second relay connection between the second client and the relay server, the first and second clients transmit video data through the relay server; after successful setup of the first P2P connection between the first client and the P2P server and the second P2P connection between the second client and the P2P server, the first and second clients temporarily stop transmitting video data through the relay server; the first and second clients transmit video data in P2P mode.
EFFECT: solving such problems as low speed of entering a system, low connection speed and even connection failure, which arise when a client is using a P2P mode, and improving user perception.
15 cl, 4 dwg
FIELD: radio engineering, communication.
SUBSTANCE: method includes steps of: connecting to the device manufacturer through a network communication channel to place an order; downloading an application from a server; launching the application on a local device, where the application is intended to automatically collect settings; adding a unique identifier to the collected data and saving the collected data in a file on a local storage, where the file on the local storage is encrypted and sent to the device manufacturer for use in assembling and configuring a pre-configured device ordered by the user, wherein the application displays on the device request screens which collect user data which include at least a profile and user passwords, agreement with terms of the end user license agreement (EULA), installed applications, update settings, device graphic user interface (GUI) appearance preferences.
EFFECT: customising a user device when ordering a new device from a manufacturer.
18 cl, 5 dwg
FIELD: information technology.
SUBSTANCE: system for scheduling data selection for transmission in a data network includes a plurality of daughter elements as well as a credit allocator and a transmission selector. The transmission selector is communicatively connected to the credit allocator, wherein each credit can be used to transmit data. The credit allocator operates to provide credits to one of allowable daughter elements and daughter elements having a negative credit counter. The credit allocator also operates to maintain a credit balance which represents the available total volume of unallocated credits, and subtracts the provided credits from the credit balance. The transmission selector operates to select one allowable and operable daughter element for extraction from a queue and add credits to the credit balance in accordance with the amount of data selected for extraction from the queue.
EFFECT: improved queuing using weight coefficients based on reverse management of credits which can be used in case of traffic with controlled exchange rate.
19 cl, 13 dwg
FIELD: information technology.
SUBSTANCE: system and method are disclosed, according to which a media processor determines functions for creating and supporting a topology from data processing functions through the topology. The system has a control level which includes a topology generating element for generating a topology that describes a set of input multimedia streams, one or more input multimedia stream sources, a sequence of operations performed over multimedia data, and a set of output multimedia streams, and a media processor for controlling transmission of multimedia data as described in the topology, and controlling execution of the sequence of multimedia operations over the multimedia data to create a set of output multimedia streams. A core level includes input multimedia streams, input multimedia stream sources, one or more converters for handling multimedia data, stream receivers and media receivers for providing a set of output multimedia streams.
EFFECT: efficient processing of multimedia streams.
12 cl, 6 dwg
FIELD: radio engineering, communication.
SUBSTANCE: system includes a master radio object (RO) which transmits radio signals with given individual attributes, and ordered, numbered slave RO receiving said signals. The slave RO record the time of receiving radio signals from the master RO and are configured to transmit radio signals with individual attributes, set separately for each slave RO, in a set order through given time delays read from the time of receiving the radio signals. The receiving RO is configured to receive radio signals of the master and slave RO and determine coordinates of the phase centre of its antenna from given coordinates of phase centres of antennae of the master and slave RO and time of receiving radio signals taking into account total delay time. The system does not require overall synchronisation of the plurality of RO transmitting and receiving radio signals, enables high-speed determination of coordinates with a large number of objects and can be implemented using modern hardware components and microprocessor technology.
EFFECT: high efficiency and simplification of corresponding radio systems.
FIELD: information technology.
SUBSTANCE: when an HDMI source 71 performs bidirectional IP communication with an HDMI sink 72 using a consumer electronics control (CEC) line 84 and a signal line 141, a switching control unit 121 controls a switch 133 so that, when data is transmitted, the switch selects a constituent signal forming a differential signal from a converting unit 133 and, when data is transmitted, the switch selects a constituent signal forming a differential signal from a receiver 82. When bidirectional communication is performed using only the CEC line 84, the switching control unit 121 controls the switch 133 so that the CEC signal from the HDMI source 71 or the receiver 82 is selected using the switch 133.
EFFECT: unidirectional high-speed transmission of pixel data of an uncompressed image, such as High Definition Multimedia Interface (HDMI), to provide high-speed bidirectional communication while supporting compatibility.
18 cl, 40 dwg
FIELD: radio engineering, communication.
SUBSTANCE: wireless communication device, access terminal and access point perform administration of allocation of a transmission resource associated with a forward and return link, which is allocated to a transmitting object for a certain period of time and each time the transmitting object does not transmit real data packets and needs to store allocation of the selected resource, a pause indication is provided.
EFFECT: providing such a pause indication that an access point and an access terminal do not interpret said pause in transmission as an indication that allocated resources are not needed, or as an indication that allocated resources are no longer available.
9 cl, 5 dwg
FIELD: radio engineering, communication.
SUBSTANCE: method involves: determining whether a type of a current procedure allows a serving gateway (SGW) to change a tunnel endpoint identifier (TEID) and/or an internet protocol (IP) address (S110); and sending a modify bearer request message to the SGW, wherein the modify bearer request message is used for notifying the SGW on whether the SGW is allowed to change the TEID and/or the IP address (S120).
EFFECT: preventing loss of service data packets of a user or service interruption caused by that the SGW modifies the TEID or the IP address.
22 cl, 12 dwg
FIELD: information technology.
SUBSTANCE: chip components can share data using a bus system or a fixed connection system. Said technical result is achieved due to that a control unit for traffic from a source node can be used on an input line on a high-speed virtual channel of packet switched network. The control unit for traffic transmitted over a high-speed virtual channel can be transmitted to a recipient node through an output line. The control unit for traffic transmitted over a high-speed virtual channel can also be directly directed into the output line by a distribution switch.
EFFECT: providing more efficient utilisation of space on a chip and reducing the number of fixed connections between two components of a single-chip microprocessor, such as a processor, cache memory, data register etc.
20 cl, 14 dwg
FIELD: information technology.
SUBSTANCE: text data of the electronic mail message to be filtered are obtained and it is determined if the text data contain a key word from a line contained in a line database used to filter messages. If so, it is further determined if the text data contain a line which corresponds to the key word contained in the line database. The electronic mail message is then identified as spam depending on the result of further determination and in accordance with predetermined identification rules, and the electronic mail message is blocked if it is spam.
EFFECT: high rate and efficiency of scanning, filtering electronic mail messages in real time even with a relatively large line database.
10 cl, 2 tbl, 2 dwg
SUBSTANCE: data transfer device meant for realization of data transfer method contains at least one transferring device and one receiving device, block for determining characteristics of one or several data transfer channels for several methods for transferring data and/or several parameters of data transfer of one or several methods for data transfer and block for selecting method for data transfer with certain parameters of data transfer according to result of said determination, while determination block is made with possible determination of speed of change of data transfer channel, and selection block is made in such a way, that dependently on said speed of change it selects mode with suppression of interference in receiver or transmitter.
EFFECT: higher quality.
2 cl, 5 dwg
FIELD: communications engineering.
SUBSTANCE: this invention relates to system and method for transferring data entity to user, including generation of data entity designed for display on first communication device upon occurrence of flip-flop communication event. Data entity provides information related to second communication device user.
EFFECT: enhanced effectiveness of combining voice communications with additional data services.
16 cl, 18 dwg
FIELD: method for associating unique identifier with information object.
SUBSTANCE: connection of unique identifier such as phone number or Internet address, for example, IPv6 and specific information object, named a phone page, makes it possible for A-side to receive direct access to information, which Beginning-side or client device of Beginning-side user require to be shown to connected side. Phone page is positioned in memory of telecommunication network or data transfer network. Phone page phone page may look like Internet web page, but also is capable of taking other appearances. Process of processing or demonstration of phone page can be made dependent on capabilities of A-side user device.
EFFECT: possible navigation between series of information objects by using new connection between communication data transfer network and telecommunication network.
2 cl, 12 dwg
FIELD: computer networks engineering.
SUBSTANCE: access point device is made with possible receipt of data packets from one or more client devices and possible transmission of these along network of undefined localization level. Access point device contains a protection device, made with possible configuration of client data packets, to direct them only to one or several allowed devices of network of undefined localization level regardless of original destination of data packets.
EFFECT: improved control and monitoring of access to and usage of network.
8 cl, 2 dwg
FIELD: system for distributing resources of frequencies band between various mobile stations, which realize radio communications with base station.
SUBSTANCE: in accordance to method, length of data queue is determined at each mobile station and information, connected to this length, is positioned in field, present in outbound data packet. On receipt of data packet in base station this field input deposited, and information about length of queue is used for distributing resources of frequencies band between connections to mobiles stations.
EFFECT: provision of fast dispensing of answers, connected to lengths of data queues.
8 cl, 5 dwg
FIELD: information processing system, which is protected from destruction by a virus or hacker.
SUBSTANCE: information processing system consists of rewritable storage device, first and second input/output channels, connected to storage device, first computer connected to first input/output channel, and second computer connected to second input/output channel. First computer is connected to external network, like Internet. First input/output channel is implemented as channel exclusively for reading from the storage device, or exclusively for writing to the empty area of storage device depending on information processing system usage. First and second input/output channels are working independently.
EFFECT: protected information processing system from destruction by a virus or hacker.
24 cl, 11 dwg
FIELD: computing stages based on communication lines, in particular, methods and systems for synchronization of characteristics of communication line width between clients, connected by means of communication line.
SUBSTANCE: in accordance to method, two clients of communication line, ports of which are connected in system with usage of two-point interconnection, exchange characteristics of their capabilities related to support of width of communication line, and width of communication line, which allows mutual synchronization, is synchronized. Interconnection between each pair of clients includes a pair of one-directional communication lines, containing a set of electric wires or tracks, while one track is used by first client for transferring data to second client, and second client uses second track for transferring data to first client.
EFFECT: creation of efficient method and system for synchronization of communication line width characteristics between clients, connected by means of communication line.
6 cl, 8 dwg
FIELD: computer telephony, possible use for connecting a regular telephone to personal computer and for telephone conversations using packet telephony.
SUBSTANCE: to ensure uninterrupted connection of a telephone to personal computer, additional electric power is supplied through socket of device for connecting to data transfer network, and also serviceability of telephone connection is ensured independently from condition of operation system of personal computer responsible for operation of office applications.
EFFECT: possible connection of a regular telephone to a personal computer and possible telephone conversations using packet telephony.
FIELD: inserting control information about transmission window at radio link control level.
SUBSTANCE: in order to eliminate such drawback as transfer of control information about transmission window only once when determining need for its transfer according to initialization protocol, RLS receiving end periodically finds out if control information about transmission window should be inserted, then it transmits SUFI information about window size once every definite interval, transfers same SUFI information about window size many definite times, and restarts new process upon completion of transfer. Novelty is that sending RLC end can frequently receive SUFI information about window size by periodically inserting SUFI information about window size on RLC receiving end to enhance reliability of transferring SUFI information about window size and to eliminate drawbacks in method for transmitting SUFI information about window size inherent to state of the art. Transmission window size can be adjusted in due time and reduction in effectiveness of using bandwidth for RLC protocol can be eliminated.
EFFECT: provision for eliminating information loss and data transfer control failure.
4 cl, 3 dwg
FIELD: computer networks.
SUBSTANCE: invention claims access point device, engineered with possible receipt of data packets from one or more client devices and transmission thereof through network of arbitrary degree of localization, where access point device is made with possible response from the name of network device.
EFFECT: improved control and monitoring of access and network usage.
6 cl, 2 dwg