Claims (36)
1. Устройство для обработки цифровых аудиовизуальных данных, имеющее по меньшей мере одну соответствующую аппаратную операционную систему, ассоциированную с одним или более аппаратными устройствами для передачи и приема данных, и дополнительно содержащее систему обработки данных, включающую в себя многопоточную виртуальную машину, выполненную с возможностью, среди прочего, приема сообщений о событиях, посылаемых аппаратной операционной системой, и назначения соответствующих объектов сообщений одному или более потокам, и в котором поток может быть приостановлен во время выполнения, чтобы сделать возможным выполнение другого потока.1. A device for processing digital audio-visual data, having at least one corresponding hardware operating system associated with one or more hardware devices for transmitting and receiving data, and further comprising a data processing system including a multi-threaded virtual machine, configured to, inter alia, receiving messages about events sent by the hardware operating system and assigning corresponding message objects to one or more streams, and in which c may be suspended at runtime to allow execution of another thread.
2. Устройство по п. 1, в котором виртуальная машина имеет многопоточную архитектуру с вытеснением, в которой поток приостанавливается во время его выполнения при создании потока с более высоким приоритетом. 2. The device according to claim 1, in which the virtual machine has a multi-threaded architecture with extrusion, in which the stream is suspended during its execution when creating a stream with a higher priority.
3. Устройство по п. 1 или 2, в котором виртуальная машина содержит менеджер событий, выполненный с возможностью, в ответ на посылаемое аппаратной операционной системой сообщение о событии, сохранения объекта события в одном или более потоках в упорядоченной по приоритетам очереди потоков. 3. The device according to claim 1 or 2, in which the virtual machine contains an event manager, configured to, in response to the event message sent by the hardware operating system, save the event object in one or more streams in a priority queue of flows.
4. Устройство по п. 3, в котором сообщения о событиях, посылаемые аппаратной операционной системой в менеджер событий, сначала обрабатываются одним или более менеджерами устройств в системе обработки данных. 4. The device according to claim 3, in which event messages sent by the hardware operating system to the event manager are first processed by one or more device managers in the data processing system.
5. Устройство по п. 3 или 4, причем менеджер событий выполнен с дополнительной возможностью реагирования на сообщения о событиях, генерируемые внутри виртуальной машины или получаемые от высокоуровневых приложений внутри или вне системы обработки данных. 5. The device according to claim 3 or 4, wherein the event manager is configured to respond to event messages generated within the virtual machine or received from high-level applications inside or outside the data processing system.
6. Устройство по любому из пп. 3-5, в котором менеджер событий ранжирует объекты событий внутри потока в соответствии с приоритетом сообщения о событии и/или временем поступления сообщения о событии. 6. The device according to any one of paragraphs. 3-5, in which the event manager ranks the event objects within the stream according to the priority of the event message and / or the time the event message arrived.
7. Устройство по любому из пп. 3-6, в котором виртуальная машина дополнительно содержит таблицу маршрутизации, содержащую информацию по возможным сообщениям о событиях, к которой обращается менеджер событий, с тем чтобы менеджер событий мог определять соответствие тому или иному потоку полученного сообщения о событии. 7. The device according to any one of paragraphs. 3-6, in which the virtual machine further comprises a routing table containing information on possible event messages accessed by the event manager, so that the event manager can determine whether a received message about the event corresponds to a thread.
8. Устройство по п. 7, в котором таблица маршрутизации содержит информацию, позволяющую менеджеру событий определять приоритет объекта события в потоке. 8. The device according to claim 7, in which the routing table contains information that allows the event manager to determine the priority of the event object in the stream.
9. Устройство по любому из пп. 3-8, в котором виртуальная машина дополнительно содержит планировщик, выполненный с возможностью анализа потоков, входящих в упорядоченную по приоритетам очередь потоков, и инициирования выполнения потока, имеющего наивысший приоритет в данное время. 9. The device according to any one of paragraphs. 3-8, in which the virtual machine further comprises a scheduler configured to analyze the threads included in the priority queue of the threads and initiate the execution of the thread that has the highest priority at this time.
10. Устройство по п. 9, в котором менеджер событий выполнен с возможностью сигнализирования о поступлении сообщения о событии и вызова планировщика для проверки нового состояния потоков, содержащихся в очереди потоков. 10. The device according to claim 9, in which the event manager is configured to signal the receipt of an event message and call the scheduler to check the new state of the streams contained in the stream queue.
11. Устройство для обработки цифровых аудиовизуальных данных, содержащее одно или более аппаратных устройств для передачи и приема данных, внешних по отношению к названному устройству, причем названное устройство дополнительно содержит систему обработки данных, содержащую первую виртуальную машину, выполненную с возможностью, среди прочего, приема кода, написанного на интерпретируемом языке, загружаемого через одно или более из упомянутых аппаратных устройств, причем упомянутая виртуальная машина выполнена с возможностью различения кода, написанного на по крайней мере двух интерпретируемых языках, в зависимости от структуры принимаемого кода, и передачи такого кода на соответствующее интерпретирующее средство для интерпретации и выполнения. 11. A device for processing digital audio-visual data, containing one or more hardware devices for transmitting and receiving data external to the named device, and the said device further comprises a data processing system containing the first virtual machine, configured to, among other things, receive code written in an interpreted language downloaded through one or more of the aforementioned hardware devices, said virtual machine being distinguishable ode written in at least two interpreted languages, depending on the structure of the received code and the transmission of such a code corresponding to interpretative means for interpretation and execution.
12. Устройство по п. 11, в котором виртуальная машина различает интерпретируемый код на по меньшей мере двух интерпретируемых языках, исходя из параметров сообщения-заголовка, относящегося к модулю кода на одном из таких языков. 12. The device according to claim 11, in which the virtual machine distinguishes the interpreted code in at least two interpreted languages, based on the parameters of the header message relating to the code module in one of these languages.
13. Устройство по п. 11 или 12, в котором виртуальная машина различает интерпретируемый код исходя из наличия или отсутствия сообщения-заголовка, относящегося к модулю кода, для одного из языков. 13. The device according to p. 11 or 12, in which the virtual machine distinguishes the interpreted code based on the presence or absence of the header message related to the code module for one of the languages.
14. Устройство по любому из пп. 11-13, в котором по меньшей мере один из языков является объектно-ориентированным языком. 14. The device according to any one of paragraphs. 11-13, in which at least one of the languages is an object-oriented language.
15. Устройство по любому из пп. 11-14, в котором виртуальная машина идентифицирует код, написанный на объектно-ориентированном языке, по наличию сообщения-заголовка, относящегося к файлу класса этого языка. 15. The device according to any one of paragraphs. 11-14, in which the virtual machine identifies code written in an object-oriented language by the presence of a header message related to the class file of that language.
16. Устройство по любому из пп. 11-15, в котором каждое интерпретирующее средство выполняет код с обращением к одной или более библиотекам функций. 16. The device according to any one of paragraphs. 11-15, in which each interpreter means executes code with access to one or more function libraries.
17. Устройство по п. 16, в котором общая библиотека функций совместно используется несколькими интерпретирующими средствами. 17. The device according to p. 16, in which a common library of functions is shared by several interpretive means.
18. Устройство по п. 16 или 17, в котором одно или более из упомянутых интерпретирующих средств выполняют код с обращением к библиотеке функций исключительно данного интерпретирующего средства. 18. The device according to p. 16 or 17, in which one or more of the aforementioned interpretive tools execute code with access to the library of functions exclusively for this interpretive tool.
19. Устройство для обработки цифровых аудиовизуальных данных, содержащее систему обработки данных, включающую в себя память и менеджер памяти, для размещения и хранения объектов в памяти, и в котором первое множество объектов размещается менеджером памяти с использованием множества дескрипторов, при этом каждый дескриптор содержит указатель на адрес в памяти соответствующего объекта, и в котором второе множество объектов размещается и сохраняется в памяти непосредственно, без использования дескрипторов. 19. A device for processing digital audio-visual data, comprising a data processing system including a memory and a memory manager, for storing and storing objects in memory, and in which the first plurality of objects are placed by the memory manager using a plurality of descriptors, each descriptor comprising a pointer to the memory address of the corresponding object, and in which the second set of objects is located and stored in memory directly, without the use of descriptors.
20. Устройство по п. 19, в котором объекты второго множества размещаются и сохраняются в памяти менеджером памяти, но могут извлекаться непосредственно другими элементами системы обработки данных. 20. The device according to claim 19, in which the objects of the second set are located and stored in memory by the memory manager, but can be retrieved directly by other elements of the data processing system.
21. Устройство по п. 19 или 20, в котором множество дескрипторов также хранится в памяти. 21. The device according to p. 19 or 20, in which many descriptors are also stored in memory.
22. Устройство по любому из пп. 19-21, в котором менеджер памяти выполнен с возможностью перемещения объектов первого множества в памяти и соответствующего изменения адресного указателя, хранящегося в соответствующем дескрипторе. 22. The device according to any one of paragraphs. 19-21, in which the memory manager is configured to move objects of the first set in memory and correspondingly change the address pointer stored in the corresponding descriptor.
23. Устройство по п. 22, в котором объекты первого множества перемещаются в памяти менеджером памяти когда дальнейшее сохранение новых объектов в памяти невозможно без перемещения существующих сохраненных объектов. 23. The device according to p. 22, in which the objects of the first set are moved in memory by the memory manager when further storage of new objects in memory is impossible without moving the existing stored objects.
24. Устройство по п. 22 или 23, в котором объекты первого множества перемещаются в соответствии с некоторым алгоритмом уплотнения для того, чтобы объединить максимальный объем свободной памяти, вычисляемый алгоритмом уплотнения. 24. The device according to p. 22 or 23, in which the objects of the first set are moved in accordance with some compression algorithm in order to combine the maximum amount of free memory calculated by the compression algorithm.
25. Устройство по любому из пп. 19-24, в котором объекты второго множества являются неперемещаемыми в памяти. 25. The device according to any one of paragraphs. 19-24, in which the objects of the second set are not movable in memory.
26. Устройство по любому из пп. 19-25, в котором система обработки данных содержит виртуальную машину, причем менеджер памяти образует часть виртуальной машины. 26. The device according to any one of paragraphs. 19-25, in which the data processing system comprises a virtual machine, wherein the memory manager forms part of the virtual machine.
27. Устройство по п. 26, в котором виртуальная машина имеет многопоточную архитектуру, при которой поток может временно приостанавливаться во время его выполнения, чтобы сделать возможным выполнение другого потока. 27. The device according to p. 26, in which the virtual machine has a multi-threaded architecture, in which the thread can be temporarily suspended during its execution to make it possible to execute another thread.
28. Устройство по п. 27, в котором многопоточная виртуальная машина содержит внутренне генерируемый поток "сборщика мусора", причем виртуальная машина при выполнении этого потока удаляет из памяти объекты, на которые нет ссылок в данное время. 28. The apparatus of claim 27, wherein the multi-threaded virtual machine contains an internally generated “garbage collector” stream, the virtual machine deleting objects that are not currently referenced from memory when this stream is executed.
29. Устройство по п. 28, в котором выполнение потока "сборки мусора" также инициирует выполнение виртуальной машины перемещения объектов первого множества в соответствии с алгоритмом уплотнения для объединения максимального количества свободной памяти. 29. The device according to p. 28, in which the execution of the stream "garbage collection" also initiates the execution of a virtual machine moving objects of the first set in accordance with the compression algorithm to combine the maximum amount of free memory.
30. Устройство по любому из пп. 19-29, в котором память определяется одним или более компонентами ОЗУ. 30. The device according to any one of paragraphs. 19-29, in which the memory is determined by one or more components of RAM.
31. Устройство по любому из предыдущих пунктов, в котором устройство является декодером для системы цифровой трансляции, такой, как система цифрового телевидения. 31. The device according to any one of the preceding paragraphs, in which the device is a decoder for a digital broadcast system, such as a digital television system.
32. Устройство по любому из пп. 1-18, в котором одно из упомянутых аппаратных устройств содержит MPEG-демультиплексор. 32. The device according to any one of paragraphs. 1-18, wherein one of said hardware devices comprises an MPEG demultiplexer.
33. Устройство по любому из пп. 1-18, в котором упомянутые аппаратные устройства могут содержать по меньшей мере одно из следующего: тюнер, последовательный интерфейс, параллельный интерфейс, модем и одно или более устройств считывания смарт-карт. 33. The device according to any one of paragraphs. 1-18, wherein said hardware devices may include at least one of the following: a tuner, a serial interface, a parallel interface, a modem, and one or more smart card readers.
34. Устройство для обработки цифровых аудиовизуальных данных, содержащее средство аппаратной операционной системы, ассоциированное с одним или более аппаратными устройствами для передачи и приема данных, и многопоточную виртуальную машину, содержащую средство для приема сообщений о событиях, посылаемых средством аппаратной операционной системой, средство для назначения соответствующих объектов сообщений одному или более потокам, и средство для приостановки потока во время его выполнения, чтобы сделать возможным выполнение другого потока. 34. A device for processing digital audio-visual data, comprising means of a hardware operating system associated with one or more hardware devices for transmitting and receiving data, and a multi-threaded virtual machine containing means for receiving messages about events sent by means of a hardware operating system, means for assigning corresponding message objects to one or more streams, and means for pausing the stream during execution to make it possible to execute another current.
35. Устройство для обработки цифровых аудиовизуальных данных, содержащее одно или более аппаратных устройств для передачи и приема данных, внешних по отношению к устройству, и виртуальную машину, содержащую средство для приема кода, написанного на интерпретируемом языке, загружаемого через одно или более из упомянутых аппаратных устройств, средство для различения кода, написанного на по крайней мере двух интерпретируемых языках, исходя из структуры принимаемого кода, и средство для передачи такого кода на соответствующее интерпретирующее средство для интерпретации и выполнения. 35. A device for processing digital audio-visual data containing one or more hardware devices for transmitting and receiving data external to the device, and a virtual machine containing means for receiving code written in an interpreted language, loaded through one or more of the mentioned hardware devices, a means for distinguishing between code written in at least two interpreted languages based on the structure of the received code, and means for transmitting such code to the corresponding interpreting its means for interpretation and execution.
36. Устройство для обработки цифровых аудиовизуальных данных, содержащее память и менеджер памяти, включающий в себя средство для размещения первого множества объектов с использованием множества дескрипторов, причем каждый дескриптор содержит указатель на адрес соответствующего объекта в памяти, и средство для размещения и хранения второго множества объектов непосредственно в памяти без использования дескрипторов. 36. A device for processing digital audio-visual data, comprising a memory and a memory manager, including means for placing the first plurality of objects using a plurality of descriptors, each descriptor containing a pointer to the address of the corresponding object in memory, and means for storing and storing the second plurality directly in memory without the use of descriptors.